{"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AAmBM,SAAS,0CAAkB,WAAC,OAAO,SAAE,KAAK,EAAE,GAAG,YAAmC;IACvF,OAAQ,QAAQ,IAAI;QAClB,gCAAgC;QAChC,KAAK;YACH,qBAAO,0DAAC;gBAAe,SAAS;;QAElC,mBAAmB;QACnB;YACE,qBAAO,0DAAC;gBAAgB,SAAS;gBAAS,OAAO;gBAAQ,GAAG,UAAU;;IAC1E;AACF;AAEA,SAAS,qCAAe,WAAC,OAAO,EAAsB;IACpD,qBACE,0DAAC;QACC,eAAY;QACZ,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAC9B,eAAa,QAAQ,IAAI,KAAK,YAAY,YAAY,QAAQ,IAAI;OACjE,QAAQ,IAAI;AAGnB;AAEA,SAAS,sCAAgB,WAAC,OAAO,SAAE,KAAK,EAAyB;IAC/D,IAAI,MAAM,CAAA,GAAA,mBAAK,EAAyB;IACxC,IAAI,gBAAC,YAAY,EAAC,GAAG,CAAA,GAAA,2CAAa,EAAE,SAAS,OAAO;IAEpD,qBACE,0DAAC;QACE,GAAG,YAAY;QAChB,KAAK;QACL,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,kCAAkC;YAC9D,kBAAkB,QAAQ,aAAa;YACvC,gBAAgB,CAAC,QAAQ,UAAU;QACrC;QACA,OAAO,aAAa,KAAK;QACzB,eAAa,QAAQ,IAAI;OACxB,QAAQ,aAAa,iBAAG,0DAAC;QAAK,eAAY;QAAO,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAA2C,QAAQ,WAAW,IAAW,QAAQ,IAAI;AAG3K","sources":["packages/@adobe/react-spectrum/src/datepicker/DatePickerSegment.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaDatePickerProps} from 'react-aria/useDatePicker';\n\nimport {classNames} from '../utils/classNames';\nimport {DateFieldState, DateSegment} from 'react-stately/useDateFieldState';\nimport React, {JSX, useRef} from 'react';\nimport styles from './styles.css';\nimport {useDateSegment} from 'react-aria/useDateField';\n\ninterface DatePickerSegmentProps extends AriaDatePickerProps<any> {\n  segment: DateSegment,\n  state: DateFieldState\n}\n\ninterface LiteralSegmentProps {\n  segment: DateSegment\n}\n\nexport function DatePickerSegment({segment, state, ...otherProps}: DatePickerSegmentProps): JSX.Element {\n  switch (segment.type) {\n    // A separator, e.g. punctuation\n    case 'literal':\n      return <LiteralSegment segment={segment} />;\n\n    // Editable segment\n    default:\n      return <EditableSegment segment={segment} state={state} {...otherProps} />;\n  }\n}\n\nfunction LiteralSegment({segment}: LiteralSegmentProps) {\n  return (\n    <span\n      aria-hidden=\"true\"\n      className={classNames(styles, 'react-spectrum-Datepicker-literal')}\n      data-testid={segment.type === 'literal' ? undefined : segment.type}>\n      {segment.text}\n    </span>\n  );\n}\n\nfunction EditableSegment({segment, state}: DatePickerSegmentProps) {\n  let ref = useRef<HTMLDivElement | null>(null);\n  let {segmentProps} = useDateSegment(segment, state, ref);\n\n  return (\n    <span\n      {...segmentProps}\n      ref={ref}\n      className={classNames(styles, 'react-spectrum-DatePicker-cell', {\n        'is-placeholder': segment.isPlaceholder,\n        'is-read-only': !segment.isEditable\n      })}\n      style={segmentProps.style}\n      data-testid={segment.type}>\n      {segment.isPlaceholder ? <span aria-hidden=\"true\" className={classNames(styles, 'react-spectrum-DatePicker-placeholder')}>{segment.placeholder}</span> : segment.text}\n    </span>\n  );\n}\n"],"names":[],"version":3,"file":"DatePickerSegment.cjs.map"}