{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;;;;;;;;AA0BM,SAAS,0CAAgB,KAAmC;IACjE,IAAI,cACF,UAAU,QACV,IAAI,EACL,GAAG;IACJ,IAAI,OAAC,GAAG,EAAC,GAAG;IAEZ,IAAI,MAAM,CAAA,GAAA,mBAAK,EAAE;IACjB,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,sCAAQ;IAC1B,IAAI,QAAQ,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,yCAAc;IACrC,MAAM,aAAa,MAAM,WAAW,KAAK;IACzC,MAAM,cAAc,MAAM,WAAW,CAAC;IACtC,MAAM,iBAAiB,cAAc,MAAM,YAAY,CAAC,GAAG,CAAC;IAC5D,IAAI,aAAC,SAAS,kBAAE,cAAc,EAAC,GAAG,CAAA,GAAA,8DAAc,EAAE;QAAC,GAAG,KAAK;aAAE;IAAG,GAAG,OAAO;IAE1E,IAAI,cAAC,UAAU,aAAE,SAAS,EAAC,GAAG,CAAA,GAAA,iCAAO,EAAE;QAAC,GAAG,KAAK;QAAE,YAAY,kBAAkB,cAAc,MAAM,UAAU;IAAA;IAG9G,IAAI,gBAAgB;IACpB,MAAM,kBAAkB,CAAA,GAAA,uEAA0B,EAAE,CAAA,GAAA,mDAAW,GAAG;IAClE,MAAM,kBAAkB,CAAA,GAAA,qDAAiB;IAEzC,IAAI,YACF,gBAAgB,gBAAgB,MAAM,CAAC;SAClC,IAAI,aACT,gBAAgB,gBAAgB,MAAM,CAAC;SAEvC,gBAAgB,gBAAgB,MAAM,CAAC;IAGzC,IAAI,WAAW,CAAA,GAAA,2BAAI;IACnB,IAAI,UAAU,CAAA,GAAA,2BAAI;IAElB,qBACE,0DAAC;QACC,WACE,CAAA,GAAA,oCAAS,EACP,CAAA,GAAA,mDAAK,GACL;qBAGJ,0DAAC,CAAA,GAAA,mCAAQ;QAAE,QAAA;QAAO,gBAAgB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;qBACnD,0DAAC;QACE,GAAG,CAAA,GAAA,qCAAS,EAAE,YAAY,UAAU;QACrC,mBAAiB,GAAG,SAAS,CAAC,EAAE,SAAS;QACzC,KAAK;QACL,WAAW,CAAA,GAAA,oCAAS,EAClB,CAAA,GAAA,mDAAK,GACL,0BACA;YACE,eAAe,cAAc,CAAC;YAC9B,eAAe;YACf,cAAc;YACd,gBAAgB;YAChB,iBAAiB,MAAM,YAAY,CAAC,QAAQ,CAAC;QAC/C;qBAEF,0DAAC,CAAA,GAAA,6CAAa,GAAM,gBAAiB,8BACrC,0DAAC;QAAI,IAAI;QAAS,eAAY;QAAO,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAChE,KAAK,QAAQ,iBAEhB,0DAAC;QACC,WAAW,CAAA,GAAA,oCAAS,EAClB,CAAA,GAAA,mDAAK,GACL,6BAA6B;YAC3B,gBAAgB;QAClB;qBACF,0DAAC;QAAI,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;QAAkC,OAAM;QAA6B,QAAO;QAAO,SAAQ;QAAU,qBAAoB;qBAC1J,0DAAC;QAAK,IAAG;QAAI,IAAG;QAAI,IAAG;QAAI,IAAG;QAAI,cAAa;uBAEjD,0DAAC,CAAA,GAAA,kEAAiB;QAChB,kBAAkB,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG,6BAA6B;YAChE,eAAe,cAAc;QAC/B;uBAEJ,0DAAC;QAAI,eAAY;QAAO,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;qBACpD,0DAAC;QAAI,IAAI;QAAW,WAAW,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,mDAAK,GAAG;OAA8B,gBAAgB,MAAM,CAAC,AAAC,CAAA,KAAK,KAAK,IAAI,CAAA,IAAK;AAMvI","sources":["packages/@adobe/react-spectrum/src/steplist/StepListItem.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 */\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames} from '../utils/classNames';\nimport {FocusRing} from 'react-aria/FocusRing';\n// @ts-ignore\nimport intlMessages from '../../intl/steplist/*.json';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport {Node} from '@react-types/shared';\nimport React, {ReactNode, useContext, useRef} from 'react';\nimport {StepListContext} from './StepListContext';\nimport styles from '@adobe/spectrum-css-temp/components/steplist/vars.css';\nimport {useHover} from 'react-aria/useHover';\nimport {useId} from 'react-aria/useId';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useNumberFormatter} from 'react-aria/useNumberFormatter';\nimport {useStepListItem} from 'react-aria/private/steplist/useStepListItem';\nimport {VisuallyHidden} from 'react-aria/VisuallyHidden';\n\ninterface SpectrumStepListItemProps<T> {\n  item: Node<T>,\n  isDisabled?: boolean,\n  isEmphasized?: boolean,\n  isReadOnly?: boolean\n}\n\nexport function StepListItem<T>(props: SpectrumStepListItemProps<T>): ReactNode {\n  let {\n    isDisabled,\n    item\n  } = props;\n  let {key} = item;\n\n  let ref = useRef(null);\n  let {direction} = useLocale();\n  let state = useContext(StepListContext)!;\n  const isSelected = state.selectedKey === key;\n  const isCompleted = state.isCompleted(key);\n  const isItemDisabled = isDisabled || state.disabledKeys.has(key);\n  let {stepProps, stepStateProps} = useStepListItem({...props, key}, state, ref);\n\n  let {hoverProps, isHovered} = useHover({...props, isDisabled: isItemDisabled || isSelected || props.isReadOnly});\n\n\n  let stepStateText = '';\n  const stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/steplist');\n  const numberFormatter = useNumberFormatter();\n\n  if (isSelected) {\n    stepStateText = stringFormatter.format('current');\n  } else if (isCompleted) {\n    stepStateText = stringFormatter.format('completed');\n  } else {\n    stepStateText = stringFormatter.format('notCompleted');\n  }\n\n  let markerId = useId();\n  let labelId = useId();\n\n  return (\n    <li\n      className={\n        classNames(\n          styles,\n          'spectrum-Steplist-item'\n        )\n      }>\n      <FocusRing within focusRingClass={classNames(styles, 'focus-ring')}>\n        <a\n          {...mergeProps(hoverProps, stepProps)}\n          aria-labelledby={`${markerId} ${labelId}`}\n          ref={ref}\n          className={classNames(\n            styles,\n            'spectrum-Steplist-link',\n            {\n              'is-selected': isSelected && !isItemDisabled,\n              'is-disabled': isItemDisabled,\n              'is-hovered': isHovered,\n              'is-completed': isCompleted,\n              'is-selectable': state.isSelectable(key) && !isSelected\n            }\n          )}>\n          <VisuallyHidden {...stepStateProps}>{stepStateText}</VisuallyHidden>\n          <div id={labelId} aria-hidden=\"true\" className={classNames(styles, 'spectrum-Steplist-label')}>\n            {item.rendered}\n          </div>\n          <div\n            className={classNames(\n              styles,\n              'spectrum-Steplist-segment', {\n                'is-completed': isCompleted\n              })} >\n            <svg className={classNames(styles, 'spectrum-Steplist-segmentLine')} xmlns=\"http://www.w3.org/2000/svg\" height=\"100%\" viewBox=\"0 0 2 8\" preserveAspectRatio=\"none\">\n              <line x1=\"1\" y1=\"0\" x2=\"1\" y2=\"8\" vectorEffect=\"non-scaling-stroke\" />\n            </svg>\n            <ChevronRightMedium\n              UNSAFE_className={classNames(styles, 'spectrum-Steplist-chevron', {\n                'is-reversed': direction === 'rtl'\n              })} />\n          </div>\n          <div aria-hidden=\"true\" className={classNames(styles, 'spectrum-Steplist-markerWrapper')}>\n            <div id={markerId}  className={classNames(styles, 'spectrum-Steplist-marker')}>{numberFormatter.format((item.index || 0) + 1)}</div>\n          </div>\n        </a>\n      </FocusRing>\n    </li>\n  );\n}\n"],"names":[],"version":3,"file":"StepListItem.cjs.map"}