{"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC;AAoBM,SAAS,0CAAmB,KAA4B,EAAE,KAAuB,EAAE,GAAkC;IAC1H,MAAM,OAAC,GAAG,EAAC,GAAG;IACd,IAAI,EAAC,kBAAkB,OAAO,eAAE,WAAW,EAAC,GAAG;IAE/C,IAAI,aAAa,CAAC,MAAM,YAAY,CAAC;IAErC,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,2CAAgB,EAAE;oBAClC;aACA;aACA;QACA,kBAAkB;IACpB;IAEA,MAAM,aAAa,gBAAgB;IAEnC,IAAI,YAAY,CAAC;QACf,MAAM,EAAC,KAAK,QAAQ,EAAC,GAAG;QAExB,IAAI,aAAa,eAAe,aAAa,WAAW;YACtD,MAAM,cAAc;YACpB,MAAM,eAAe;QACvB;QAEA,UAAU,SAAS,GAAG;IACxB;IAEA,OAAO;QACL,WAAW;YACT,GAAG,SAAS;uBACZ;YACA,MAAM;YACN,gBAAgB,aAAa,SAAS;YACtC,iBAAiB,aAAa,OAAO;YACrC,UAAU,CAAC,aAAa,IAAI;QAC9B;IACF;AACF","sources":["packages/react-aria/src/steplist/useStepListItem.ts"],"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 */\n\nimport {HTMLAttributes} from 'react';\nimport {Key, RefObject} from '@react-types/shared';\nimport {StepListState} from 'react-stately/private/steplist/useStepListState';\nimport {useSelectableItem} from '../selection/useSelectableItem';\n\nexport interface AriaStepListItemProps {\n  key: Key\n}\n\nexport interface StepListItemAria {\n  /** Props for the step link element. */\n  stepProps: HTMLAttributes<HTMLElement>,\n  /** Props for the visually hidden element indicating the step state. */\n  stepStateProps?: HTMLAttributes<HTMLElement>,\n  /** Text content for the visually hidden message indicating the status of the step state. */\n  stepStateText?: String\n}\n\nexport function useStepListItem<T>(props: AriaStepListItemProps, state: StepListState<T>, ref: RefObject<HTMLElement | null>): StepListItemAria {\n  const {key} = props;\n  let {selectionManager: manager, selectedKey} = state;\n\n  let isDisabled = !state.isSelectable(key);\n\n  let {itemProps} = useSelectableItem({\n    isDisabled,\n    key,\n    ref,\n    selectionManager: manager\n  });\n\n  const isSelected = selectedKey === key;\n\n  let onKeyDown = (event) => {\n    const {key: eventKey} = event;\n\n    if (eventKey === 'ArrowDown' || eventKey === 'ArrowUp') {\n      event.preventDefault();\n      event.stopPropagation();\n    }\n\n    itemProps.onKeyDown?.(event);\n  };\n\n  return {\n    stepProps: {\n      ...itemProps,\n      onKeyDown,\n      role: 'link',\n      'aria-current': isSelected ? 'step' : undefined,\n      'aria-disabled': isDisabled ? true : undefined,\n      tabIndex: !isDisabled ? 0 : undefined\n    }\n  };\n}\n"],"names":[],"version":3,"file":"useStepListItem.cjs.map"}