@vibe/core 3.70.2-alpha-23478.0 → 3.70.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/dist/components/AlertBanner/AlertBannerButton/AlertBannerButton.d.ts +1 -1
  2. package/dist/components/AttentionBox/AttentionBox.d.ts +3 -3
  3. package/dist/components/AttentionBox/AttentionBoxConstants.d.ts +8 -0
  4. package/dist/components/Avatar/Avatar.d.ts +2 -1
  5. package/dist/components/Avatar/AvatarBadge.d.ts +2 -1
  6. package/dist/components/Avatar/AvatarContent.d.ts +2 -1
  7. package/dist/components/BaseListItem/BaseListItem.types.d.ts +2 -1
  8. package/dist/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.d.ts +2 -1
  9. package/dist/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.d.ts +2 -1
  10. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  11. package/dist/components/ButtonGroup/ButtonGroupConstants.d.ts +8 -0
  12. package/dist/components/ButtonGroup/ButtonWrapper.d.ts +1 -1
  13. package/dist/components/Chips/Chips.d.ts +2 -1
  14. package/dist/components/ColorPicker/ColorPicker.d.ts +2 -1
  15. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.d.ts +2 -1
  16. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.d.ts +2 -1
  17. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +2 -1
  18. package/dist/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +2 -1
  19. package/dist/components/Combobox/Combobox.d.ts +2 -1
  20. package/dist/components/Combobox/components/ComboboxConstants.d.ts +1 -1
  21. package/dist/components/EmptyState/EmptyState.types.d.ts +1 -1
  22. package/dist/components/IconButton/IconButton.d.ts +5 -4
  23. package/dist/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.d.ts +2 -1
  24. package/dist/components/Link/Link.d.ts +2 -1
  25. package/dist/components/ListItemIcon/ListItemIcon.d.ts +2 -1
  26. package/dist/components/Menu/MenuItem/MenuItem.d.ts +3 -3
  27. package/dist/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.types.d.ts +1 -2
  28. package/dist/components/Menu/MenuItemButton/MenuItemButton.d.ts +4 -3
  29. package/dist/components/Modal/ModalHeader/ModalHeader.types.d.ts +2 -1
  30. package/dist/components/Modal/ModalTopActions/ModalTopActions.types.d.ts +1 -1
  31. package/dist/components/Modal/footers/ModalFooterBase/ModalFooterBase.types.d.ts +1 -1
  32. package/dist/components/Modal/footers/utils/getPropsForButton.d.ts +6 -6
  33. package/dist/components/MultiStepIndicator/MultiStepIndicator.d.ts +2 -1
  34. package/dist/components/MultiStepIndicator/components/StepIndicator/StepIndicator.d.ts +2 -1
  35. package/dist/components/NumberField/NumberField.types.d.ts +1 -1
  36. package/dist/components/Search/Search.types.d.ts +2 -1
  37. package/dist/components/Slider/Slider.d.ts +1 -1
  38. package/dist/components/Slider/SliderConstants.d.ts +1 -1
  39. package/dist/components/Slider/SliderContext.d.ts +1 -1
  40. package/dist/components/SplitButton/SplitButton.d.ts +4 -4
  41. package/dist/components/Steps/Steps.d.ts +1 -1
  42. package/dist/components/Steps/StepsCommand.d.ts +1 -1
  43. package/dist/components/Steps/StepsHeader.d.ts +1 -1
  44. package/dist/components/Table/Table/Table.d.ts +2 -1
  45. package/dist/components/Table/TableHeaderCell/TableHeaderCell.d.ts +2 -1
  46. package/dist/components/Tabs/Tab/Tab.d.ts +1 -2
  47. package/dist/components/Tipseen/TipseenContent.d.ts +1 -1
  48. package/dist/components/Toast/Toast.d.ts +1 -1
  49. package/dist/components/Toast/ToastButton/ToastButton.d.ts +1 -1
  50. package/dist/components/Toast/ToastHelpers.d.ts +1 -1
  51. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  52. package/dist/components/button/dist/Button/Button.js +2 -0
  53. package/dist/components/button/dist/Button/Button.js.map +1 -0
  54. package/dist/components/button/dist/Button/Button.module.scss.js +2 -0
  55. package/dist/components/button/dist/Button/ButtonConstants.js +2 -0
  56. package/dist/components/button/dist/Button/ButtonConstants.js.map +1 -0
  57. package/dist/components/button/dist/Button/helper/dom-helpers.js.map +1 -0
  58. package/dist/components/button/dist/Button/helper/useButtonLoading.js +2 -0
  59. package/dist/components/button/dist/Button/helper/useButtonLoading.js.map +1 -0
  60. package/dist/components/icon/dist/Icon/CustomSvgIcon/CustomSvgIcon.js +2 -0
  61. package/dist/components/icon/dist/Icon/CustomSvgIcon/CustomSvgIcon.js.map +1 -0
  62. package/dist/components/icon/dist/Icon/FontIcon/FontIcon.js +2 -0
  63. package/dist/components/icon/dist/Icon/FontIcon/FontIcon.js.map +1 -0
  64. package/dist/components/icon/dist/Icon/Icon.js +2 -0
  65. package/dist/components/icon/dist/Icon/Icon.js.map +1 -0
  66. package/dist/components/icon/dist/Icon/Icon.module.scss.js +2 -0
  67. package/dist/components/icon/dist/Icon/constants.js +2 -0
  68. package/dist/components/icon/dist/Icon/constants.js.map +1 -0
  69. package/dist/components/icon/dist/Icon/hooks/useIconProps.js +2 -0
  70. package/dist/components/icon/dist/Icon/hooks/useIconProps.js.map +1 -0
  71. package/dist/components/icon/dist/Icon/hooks/useIconScreenReaderAccessProps.js +2 -0
  72. package/dist/components/icon/dist/Icon/hooks/useIconScreenReaderAccessProps.js.map +1 -0
  73. package/dist/components/index.d.ts +3 -3
  74. package/dist/components/loader/dist/Loader/Loader.js +2 -0
  75. package/dist/components/loader/dist/Loader/Loader.js.map +1 -0
  76. package/dist/components/loader/dist/Loader/Loader.module.scss.js +2 -0
  77. package/dist/components/loader/dist/Loader/LoaderConstants.js.map +1 -0
  78. package/dist/components/next/AttentionBox/AttentionBox.types.d.ts +2 -2
  79. package/dist/components/next/AttentionBox/components/AttentionBoxButton/AttentionBoxButton.d.ts +1 -1
  80. package/dist/components/next/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.d.ts +1 -2
  81. package/dist/components/next/AttentionBox/consts/icons.d.ts +1 -1
  82. package/dist/components/next/AttentionBox/utils/iconUtils.d.ts +1 -1
  83. package/dist/metadata.json +136 -1020
  84. package/dist/mocked_classnames/components/AlertBanner/AlertBannerButton/AlertBannerButton.d.ts +1 -1
  85. package/dist/mocked_classnames/components/AttentionBox/AttentionBox.d.ts +3 -3
  86. package/dist/mocked_classnames/components/AttentionBox/AttentionBoxConstants.d.ts +8 -0
  87. package/dist/mocked_classnames/components/Avatar/Avatar.d.ts +2 -1
  88. package/dist/mocked_classnames/components/Avatar/AvatarBadge.d.ts +2 -1
  89. package/dist/mocked_classnames/components/Avatar/AvatarContent.d.ts +2 -1
  90. package/dist/mocked_classnames/components/BaseListItem/BaseListItem.types.d.ts +2 -1
  91. package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.d.ts +2 -1
  92. package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.d.ts +2 -1
  93. package/dist/mocked_classnames/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  94. package/dist/mocked_classnames/components/ButtonGroup/ButtonGroupConstants.d.ts +8 -0
  95. package/dist/mocked_classnames/components/ButtonGroup/ButtonWrapper.d.ts +1 -1
  96. package/dist/mocked_classnames/components/Chips/Chips.d.ts +2 -1
  97. package/dist/mocked_classnames/components/ColorPicker/ColorPicker.d.ts +2 -1
  98. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.d.ts +2 -1
  99. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.d.ts +2 -1
  100. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +2 -1
  101. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +2 -1
  102. package/dist/mocked_classnames/components/Combobox/Combobox.d.ts +2 -1
  103. package/dist/mocked_classnames/components/Combobox/components/ComboboxConstants.d.ts +1 -1
  104. package/dist/mocked_classnames/components/EmptyState/EmptyState.types.d.ts +1 -1
  105. package/dist/mocked_classnames/components/IconButton/IconButton.d.ts +5 -4
  106. package/dist/mocked_classnames/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.d.ts +2 -1
  107. package/dist/mocked_classnames/components/Link/Link.d.ts +2 -1
  108. package/dist/mocked_classnames/components/ListItemIcon/ListItemIcon.d.ts +2 -1
  109. package/dist/mocked_classnames/components/Menu/MenuItem/MenuItem.d.ts +3 -3
  110. package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.types.d.ts +1 -2
  111. package/dist/mocked_classnames/components/Menu/MenuItemButton/MenuItemButton.d.ts +4 -3
  112. package/dist/mocked_classnames/components/Modal/ModalHeader/ModalHeader.types.d.ts +2 -1
  113. package/dist/mocked_classnames/components/Modal/ModalTopActions/ModalTopActions.types.d.ts +1 -1
  114. package/dist/mocked_classnames/components/Modal/footers/ModalFooterBase/ModalFooterBase.types.d.ts +1 -1
  115. package/dist/mocked_classnames/components/Modal/footers/utils/getPropsForButton.d.ts +6 -6
  116. package/dist/mocked_classnames/components/MultiStepIndicator/MultiStepIndicator.d.ts +2 -1
  117. package/dist/mocked_classnames/components/MultiStepIndicator/components/StepIndicator/StepIndicator.d.ts +2 -1
  118. package/dist/mocked_classnames/components/NumberField/NumberField.types.d.ts +1 -1
  119. package/dist/mocked_classnames/components/Search/Search.types.d.ts +2 -1
  120. package/dist/mocked_classnames/components/Slider/Slider.d.ts +1 -1
  121. package/dist/mocked_classnames/components/Slider/SliderConstants.d.ts +1 -1
  122. package/dist/mocked_classnames/components/Slider/SliderContext.d.ts +1 -1
  123. package/dist/mocked_classnames/components/SplitButton/SplitButton.d.ts +4 -4
  124. package/dist/mocked_classnames/components/Steps/Steps.d.ts +1 -1
  125. package/dist/mocked_classnames/components/Steps/StepsCommand.d.ts +1 -1
  126. package/dist/mocked_classnames/components/Steps/StepsHeader.d.ts +1 -1
  127. package/dist/mocked_classnames/components/Table/Table/Table.d.ts +2 -1
  128. package/dist/mocked_classnames/components/Table/TableHeaderCell/TableHeaderCell.d.ts +2 -1
  129. package/dist/mocked_classnames/components/Tabs/Tab/Tab.d.ts +1 -2
  130. package/dist/mocked_classnames/components/Tipseen/TipseenContent.d.ts +1 -1
  131. package/dist/mocked_classnames/components/Toast/Toast.d.ts +1 -1
  132. package/dist/mocked_classnames/components/Toast/ToastButton/ToastButton.d.ts +1 -1
  133. package/dist/mocked_classnames/components/Toast/ToastHelpers.d.ts +1 -1
  134. package/dist/mocked_classnames/components/Tooltip/Tooltip.d.ts +1 -1
  135. package/dist/mocked_classnames/components/button/dist/Button/Button.js +2 -0
  136. package/dist/mocked_classnames/components/button/dist/Button/Button.js.map +1 -0
  137. package/dist/mocked_classnames/components/button/dist/Button/Button.module.scss.js +2 -0
  138. package/dist/mocked_classnames/components/button/dist/Button/ButtonConstants.js +2 -0
  139. package/dist/mocked_classnames/components/button/dist/Button/ButtonConstants.js.map +1 -0
  140. package/dist/mocked_classnames/components/button/dist/Button/helper/dom-helpers.js.map +1 -0
  141. package/dist/mocked_classnames/components/button/dist/Button/helper/useButtonLoading.js +2 -0
  142. package/dist/mocked_classnames/components/button/dist/Button/helper/useButtonLoading.js.map +1 -0
  143. package/dist/mocked_classnames/components/icon/dist/Icon/CustomSvgIcon/CustomSvgIcon.js +2 -0
  144. package/dist/mocked_classnames/components/icon/dist/Icon/CustomSvgIcon/CustomSvgIcon.js.map +1 -0
  145. package/dist/mocked_classnames/components/icon/dist/Icon/FontIcon/FontIcon.js +2 -0
  146. package/dist/mocked_classnames/components/icon/dist/Icon/FontIcon/FontIcon.js.map +1 -0
  147. package/dist/mocked_classnames/components/icon/dist/Icon/Icon.js +2 -0
  148. package/dist/mocked_classnames/components/icon/dist/Icon/Icon.js.map +1 -0
  149. package/dist/mocked_classnames/components/icon/dist/Icon/Icon.module.scss.js +2 -0
  150. package/dist/mocked_classnames/components/icon/dist/Icon/constants.js +2 -0
  151. package/dist/mocked_classnames/components/icon/dist/Icon/constants.js.map +1 -0
  152. package/dist/mocked_classnames/components/icon/dist/Icon/hooks/useIconProps.js +2 -0
  153. package/dist/mocked_classnames/components/icon/dist/Icon/hooks/useIconProps.js.map +1 -0
  154. package/dist/mocked_classnames/components/icon/dist/Icon/hooks/useIconScreenReaderAccessProps.js +2 -0
  155. package/dist/mocked_classnames/components/icon/dist/Icon/hooks/useIconScreenReaderAccessProps.js.map +1 -0
  156. package/dist/mocked_classnames/components/index.d.ts +3 -3
  157. package/dist/mocked_classnames/components/loader/dist/Loader/Loader.js +2 -0
  158. package/dist/mocked_classnames/components/loader/dist/Loader/Loader.js.map +1 -0
  159. package/dist/mocked_classnames/components/loader/dist/Loader/Loader.module.scss.js +2 -0
  160. package/dist/mocked_classnames/components/loader/dist/Loader/LoaderConstants.js.map +1 -0
  161. package/dist/mocked_classnames/components/next/AttentionBox/AttentionBox.types.d.ts +2 -2
  162. package/dist/mocked_classnames/components/next/AttentionBox/components/AttentionBoxButton/AttentionBoxButton.d.ts +1 -1
  163. package/dist/mocked_classnames/components/next/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.d.ts +1 -2
  164. package/dist/mocked_classnames/components/next/AttentionBox/consts/icons.d.ts +1 -1
  165. package/dist/mocked_classnames/components/next/AttentionBox/utils/iconUtils.d.ts +1 -1
  166. package/dist/mocked_classnames/packages/icons/dist/_virtual/_tslib.js.map +1 -0
  167. package/dist/mocked_classnames/packages/icons/dist/react/AddSmall.js.map +1 -0
  168. package/dist/mocked_classnames/packages/icons/dist/react/Alert.js.map +1 -0
  169. package/dist/mocked_classnames/packages/icons/dist/react/Check.js.map +1 -0
  170. package/dist/mocked_classnames/packages/icons/dist/react/CloseMedium.js.map +1 -0
  171. package/dist/mocked_classnames/packages/icons/dist/react/CloseSmall.js.map +1 -0
  172. package/dist/mocked_classnames/packages/icons/dist/react/DropdownChevronDown.js.map +1 -0
  173. package/dist/mocked_classnames/packages/icons/dist/react/DropdownChevronRight.js.map +1 -0
  174. package/dist/mocked_classnames/packages/icons/dist/react/DropdownChevronUp.js.map +1 -0
  175. package/dist/mocked_classnames/packages/icons/dist/react/Favorite.js.map +1 -0
  176. package/dist/mocked_classnames/packages/icons/dist/react/Info.js.map +1 -0
  177. package/dist/mocked_classnames/packages/icons/dist/react/Menu.js.map +1 -0
  178. package/dist/mocked_classnames/packages/icons/dist/react/MoveArrowLeft.js.map +1 -0
  179. package/dist/mocked_classnames/packages/icons/dist/react/MoveArrowRight.js.map +1 -0
  180. package/dist/mocked_classnames/packages/icons/dist/react/NavigationChevronLeft.js.map +1 -0
  181. package/dist/mocked_classnames/packages/icons/dist/react/NavigationChevronRight.js.map +1 -0
  182. package/dist/mocked_classnames/packages/icons/dist/react/NoColor.js.map +1 -0
  183. package/dist/mocked_classnames/packages/icons/dist/react/Remove.js.map +1 -0
  184. package/dist/mocked_classnames/packages/icons/dist/react/Search.js.map +1 -0
  185. package/dist/mocked_classnames/packages/icons/dist/react/Sort.js.map +1 -0
  186. package/dist/mocked_classnames/packages/icons/dist/react/SortAscending.js.map +1 -0
  187. package/dist/mocked_classnames/packages/icons/dist/react/SortDescending.js.map +1 -0
  188. package/dist/mocked_classnames/packages/icons/dist/react/Warning.js.map +1 -0
  189. package/dist/mocked_classnames/packages/shared/dist/constants/keyCodes.js +2 -0
  190. package/dist/mocked_classnames/packages/shared/dist/constants/keyCodes.js.map +1 -0
  191. package/dist/mocked_classnames/packages/shared/dist/constants/sizes.js +2 -0
  192. package/dist/mocked_classnames/packages/shared/dist/constants/sizes.js.map +1 -0
  193. package/dist/mocked_classnames/packages/shared/dist/hooks/ssr/useIsMounted.js +2 -0
  194. package/dist/mocked_classnames/packages/shared/dist/hooks/ssr/useIsMounted.js.map +1 -0
  195. package/dist/mocked_classnames/packages/shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js +2 -0
  196. package/dist/mocked_classnames/packages/shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js.map +1 -0
  197. package/dist/mocked_classnames/packages/shared/dist/hooks/useEventListener.js +2 -0
  198. package/dist/mocked_classnames/packages/shared/dist/hooks/useEventListener.js.map +1 -0
  199. package/dist/mocked_classnames/packages/shared/dist/hooks/useKeyEvent.js +2 -0
  200. package/dist/mocked_classnames/packages/shared/dist/hooks/useKeyEvent.js.map +1 -0
  201. package/dist/mocked_classnames/packages/shared/dist/hooks/useMergeRef.js +2 -0
  202. package/dist/mocked_classnames/packages/shared/dist/hooks/useMergeRef.js.map +1 -0
  203. package/dist/mocked_classnames/packages/shared/dist/tests/constants.js +2 -0
  204. package/dist/mocked_classnames/packages/shared/dist/tests/constants.js.map +1 -0
  205. package/dist/mocked_classnames/packages/shared/dist/tests/test-ids-utils.js +2 -0
  206. package/dist/mocked_classnames/packages/shared/dist/tests/test-ids-utils.js.map +1 -0
  207. package/dist/mocked_classnames/packages/shared/dist/types/withStaticProps.js +2 -0
  208. package/dist/mocked_classnames/packages/shared/dist/types/withStaticProps.js.map +1 -0
  209. package/dist/mocked_classnames/packages/shared/dist/utils/function-utils.js +2 -0
  210. package/dist/mocked_classnames/packages/shared/dist/utils/function-utils.js.map +1 -0
  211. package/dist/mocked_classnames/packages/shared/dist/utils/screenReaderAccessHelper.js +2 -0
  212. package/dist/mocked_classnames/packages/shared/dist/utils/screenReaderAccessHelper.js.map +1 -0
  213. package/dist/mocked_classnames/packages/shared/dist/utils/ssr-utils.js +2 -0
  214. package/dist/mocked_classnames/packages/shared/dist/utils/ssr-utils.js.map +1 -0
  215. package/dist/mocked_classnames/packages/shared/dist/utils/typesciptCssModulesHelper.js +2 -0
  216. package/dist/mocked_classnames/packages/shared/dist/utils/typesciptCssModulesHelper.js.map +1 -0
  217. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js +1 -1
  218. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js.map +1 -1
  219. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js +1 -1
  220. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js.map +1 -1
  221. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js +1 -1
  222. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js.map +1 -1
  223. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBoxConstants.js +1 -1
  224. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBoxConstants.js.map +1 -1
  225. package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
  226. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js +1 -1
  227. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
  228. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js +1 -1
  229. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
  230. package/dist/mocked_classnames/src/components/BaseListItem/utils.js +1 -1
  231. package/dist/mocked_classnames/src/components/BaseListItem/utils.js.map +1 -1
  232. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.js.map +1 -1
  233. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  234. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js +1 -1
  235. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
  236. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js +1 -1
  237. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
  238. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonWrapper.js +1 -1
  239. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonWrapper.js.map +1 -1
  240. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js +1 -1
  241. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js.map +1 -1
  242. package/dist/mocked_classnames/src/components/Chips/Chips.js +1 -1
  243. package/dist/mocked_classnames/src/components/Chips/Chips.js.map +1 -1
  244. package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js +1 -1
  245. package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js.map +1 -1
  246. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js +1 -1
  247. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
  248. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
  249. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js +1 -1
  250. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
  251. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js +1 -1
  252. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
  253. package/dist/mocked_classnames/src/components/Combobox/Combobox.js +1 -1
  254. package/dist/mocked_classnames/src/components/Combobox/Combobox.js.map +1 -1
  255. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxConstants.js.map +1 -1
  256. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js +1 -1
  257. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
  258. package/dist/mocked_classnames/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js +1 -1
  259. package/dist/mocked_classnames/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js.map +1 -1
  260. package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js +1 -1
  261. package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js.map +1 -1
  262. package/dist/mocked_classnames/src/components/DatePicker/YearPicker/YearsList.js +1 -1
  263. package/dist/mocked_classnames/src/components/DatePicker/YearPicker/YearsList.js.map +1 -1
  264. package/dist/mocked_classnames/src/components/Dropdown/components/ChildrenContent/ChildrenContent.js +1 -1
  265. package/dist/mocked_classnames/src/components/Dropdown/components/ChildrenContent/ChildrenContent.js.map +1 -1
  266. package/dist/mocked_classnames/src/components/Dropdown/components/ClearIndicator/ClearIndicator.js +1 -1
  267. package/dist/mocked_classnames/src/components/Dropdown/components/ClearIndicator/ClearIndicator.js.map +1 -1
  268. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownIndicator/DropdownIndicator.js +1 -1
  269. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownIndicator/DropdownIndicator.js.map +1 -1
  270. package/dist/mocked_classnames/src/components/EmptyState/EmptyState.js +1 -1
  271. package/dist/mocked_classnames/src/components/EmptyState/EmptyState.js.map +1 -1
  272. package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js +1 -1
  273. package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  274. package/dist/mocked_classnames/src/components/FieldLabel/FieldLabel.js +1 -1
  275. package/dist/mocked_classnames/src/components/FieldLabel/FieldLabel.js.map +1 -1
  276. package/dist/mocked_classnames/src/components/IconButton/IconButton.js +1 -1
  277. package/dist/mocked_classnames/src/components/IconButton/IconButton.js.map +1 -1
  278. package/dist/mocked_classnames/src/components/Info/Info.js +1 -1
  279. package/dist/mocked_classnames/src/components/Info/Info.js.map +1 -1
  280. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModalFooter/LegacyModalFooterButtons/LegacyModalFooterButtons.js +1 -1
  281. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModalFooter/LegacyModalFooterButtons/LegacyModalFooterButtons.js.map +1 -1
  282. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js +1 -1
  283. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js.map +1 -1
  284. package/dist/mocked_classnames/src/components/Link/Link.js +1 -1
  285. package/dist/mocked_classnames/src/components/Link/Link.js.map +1 -1
  286. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js +1 -1
  287. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
  288. package/dist/mocked_classnames/src/components/Menu/MenuItem/MenuItem.js +1 -1
  289. package/dist/mocked_classnames/src/components/Menu/MenuItem/MenuItem.js.map +1 -1
  290. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.js +1 -1
  291. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.js.map +1 -1
  292. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.js +1 -1
  293. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.js.map +1 -1
  294. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
  295. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  296. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js +1 -1
  297. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js.map +1 -1
  298. package/dist/mocked_classnames/src/components/Modal/ModalHeader/ModalHeader.js +1 -1
  299. package/dist/mocked_classnames/src/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  300. package/dist/mocked_classnames/src/components/Modal/ModalTopActions/ModalTopActions.js +1 -1
  301. package/dist/mocked_classnames/src/components/Modal/ModalTopActions/ModalTopActions.js.map +1 -1
  302. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.js +1 -1
  303. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.js.map +1 -1
  304. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js +1 -1
  305. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
  306. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js +1 -1
  307. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
  308. package/dist/mocked_classnames/src/components/NumberField/NumberField.js +1 -1
  309. package/dist/mocked_classnames/src/components/NumberField/NumberField.js.map +1 -1
  310. package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js +1 -1
  311. package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js.map +1 -1
  312. package/dist/mocked_classnames/src/components/Search/Search.js +1 -1
  313. package/dist/mocked_classnames/src/components/Search/Search.js.map +1 -1
  314. package/dist/mocked_classnames/src/components/Slider/Slider.js.map +1 -1
  315. package/dist/mocked_classnames/src/components/Slider/SliderConstants.js.map +1 -1
  316. package/dist/mocked_classnames/src/components/Slider/SliderContext.js.map +1 -1
  317. package/dist/mocked_classnames/src/components/Slider/SliderInfixHooks.js +1 -1
  318. package/dist/mocked_classnames/src/components/Slider/SliderInfixHooks.js.map +1 -1
  319. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js +1 -1
  320. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
  321. package/dist/mocked_classnames/src/components/Steps/Steps.js.map +1 -1
  322. package/dist/mocked_classnames/src/components/Steps/StepsCommand.js +1 -1
  323. package/dist/mocked_classnames/src/components/Steps/StepsCommand.js.map +1 -1
  324. package/dist/mocked_classnames/src/components/Steps/StepsHeader.js +1 -1
  325. package/dist/mocked_classnames/src/components/Steps/StepsHeader.js.map +1 -1
  326. package/dist/mocked_classnames/src/components/Table/Table/Table.js.map +1 -1
  327. package/dist/mocked_classnames/src/components/Table/Table/tableHelpers.js +1 -1
  328. package/dist/mocked_classnames/src/components/Table/Table/tableHelpers.js.map +1 -1
  329. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js +1 -1
  330. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
  331. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js +1 -1
  332. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js.map +1 -1
  333. package/dist/mocked_classnames/src/components/TextField/TextField.js +1 -1
  334. package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
  335. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js +1 -1
  336. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js.map +1 -1
  337. package/dist/mocked_classnames/src/components/Tipseen/TipseenContent.js +1 -1
  338. package/dist/mocked_classnames/src/components/Tipseen/TipseenContent.js.map +1 -1
  339. package/dist/mocked_classnames/src/components/Tipseen/TipseenWizard.js.map +1 -1
  340. package/dist/mocked_classnames/src/components/Toast/Toast.js +1 -1
  341. package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
  342. package/dist/mocked_classnames/src/components/Toast/ToastButton/ToastButton.js +1 -1
  343. package/dist/mocked_classnames/src/components/Toast/ToastButton/ToastButton.js.map +1 -1
  344. package/dist/mocked_classnames/src/components/Toast/ToastConstants.js +1 -1
  345. package/dist/mocked_classnames/src/components/Toast/ToastConstants.js.map +1 -1
  346. package/dist/mocked_classnames/src/components/Toast/ToastHelpers.js +1 -1
  347. package/dist/mocked_classnames/src/components/Toast/ToastHelpers.js.map +1 -1
  348. package/dist/mocked_classnames/src/components/Tooltip/Tooltip.js +1 -1
  349. package/dist/mocked_classnames/src/components/Tooltip/Tooltip.js.map +1 -1
  350. package/dist/mocked_classnames/src/components/next/AttentionBox/components/AttentionBoxButton/AttentionBoxButton.js +1 -1
  351. package/dist/mocked_classnames/src/components/next/AttentionBox/components/AttentionBoxButton/AttentionBoxButton.js.map +1 -1
  352. package/dist/mocked_classnames/src/components/next/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.js +1 -1
  353. package/dist/mocked_classnames/src/components/next/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.js.map +1 -1
  354. package/dist/mocked_classnames/src/components/next/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.js +1 -1
  355. package/dist/mocked_classnames/src/components/next/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.js.map +1 -1
  356. package/dist/mocked_classnames/src/components/next/AttentionBox/consts/icons.js +1 -1
  357. package/dist/mocked_classnames/src/components/next/AttentionBox/consts/icons.js.map +1 -1
  358. package/dist/mocked_classnames/src/components/next/AttentionBox/utils/iconUtils.js.map +1 -1
  359. package/dist/mocked_classnames/src/components/next/Dropdown/components/Trigger/TriggerActions.js +1 -1
  360. package/dist/mocked_classnames/src/components/next/Dropdown/components/Trigger/TriggerActions.js.map +1 -1
  361. package/dist/mocked_classnames/src/index.js +1 -1
  362. package/dist/mocked_classnames/types/index.d.ts +0 -1
  363. package/dist/packages/shared/dist/constants/keyCodes.js +2 -0
  364. package/dist/packages/shared/dist/constants/keyCodes.js.map +1 -0
  365. package/dist/packages/shared/dist/constants/sizes.js +2 -0
  366. package/dist/packages/shared/dist/constants/sizes.js.map +1 -0
  367. package/dist/packages/shared/dist/hooks/ssr/useIsMounted.js +2 -0
  368. package/dist/packages/shared/dist/hooks/ssr/useIsMounted.js.map +1 -0
  369. package/dist/packages/shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js +2 -0
  370. package/dist/packages/shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js.map +1 -0
  371. package/dist/packages/shared/dist/hooks/useEventListener.js +2 -0
  372. package/dist/packages/shared/dist/hooks/useEventListener.js.map +1 -0
  373. package/dist/packages/shared/dist/hooks/useKeyEvent.js +2 -0
  374. package/dist/packages/shared/dist/hooks/useKeyEvent.js.map +1 -0
  375. package/dist/packages/shared/dist/hooks/useMergeRef.js +2 -0
  376. package/dist/packages/shared/dist/hooks/useMergeRef.js.map +1 -0
  377. package/dist/packages/shared/dist/tests/constants.js +2 -0
  378. package/dist/packages/shared/dist/tests/constants.js.map +1 -0
  379. package/dist/packages/shared/dist/tests/test-ids-utils.js +2 -0
  380. package/dist/packages/shared/dist/tests/test-ids-utils.js.map +1 -0
  381. package/dist/packages/shared/dist/types/withStaticProps.js +2 -0
  382. package/dist/packages/shared/dist/types/withStaticProps.js.map +1 -0
  383. package/dist/packages/shared/dist/utils/function-utils.js +2 -0
  384. package/dist/packages/shared/dist/utils/function-utils.js.map +1 -0
  385. package/dist/packages/shared/dist/utils/screenReaderAccessHelper.js +2 -0
  386. package/dist/packages/shared/dist/utils/screenReaderAccessHelper.js.map +1 -0
  387. package/dist/packages/shared/dist/utils/ssr-utils.js +2 -0
  388. package/dist/packages/shared/dist/utils/ssr-utils.js.map +1 -0
  389. package/dist/packages/shared/dist/utils/typesciptCssModulesHelper.js +2 -0
  390. package/dist/packages/shared/dist/utils/typesciptCssModulesHelper.js.map +1 -0
  391. package/dist/src/components/AlertBanner/AlertBanner.js +1 -1
  392. package/dist/src/components/AlertBanner/AlertBanner.js.map +1 -1
  393. package/dist/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js +1 -1
  394. package/dist/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js.map +1 -1
  395. package/dist/src/components/AttentionBox/AttentionBox.js +1 -1
  396. package/dist/src/components/AttentionBox/AttentionBox.js.map +1 -1
  397. package/dist/src/components/AttentionBox/AttentionBoxConstants.js +1 -1
  398. package/dist/src/components/AttentionBox/AttentionBoxConstants.js.map +1 -1
  399. package/dist/src/components/Avatar/Avatar.js.map +1 -1
  400. package/dist/src/components/Avatar/AvatarBadge.js +1 -1
  401. package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
  402. package/dist/src/components/Avatar/AvatarContent.js +1 -1
  403. package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
  404. package/dist/src/components/BaseListItem/utils.js +1 -1
  405. package/dist/src/components/BaseListItem/utils.js.map +1 -1
  406. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.js.map +1 -1
  407. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  408. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js +1 -1
  409. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
  410. package/dist/src/components/ButtonGroup/ButtonGroup.js +1 -1
  411. package/dist/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
  412. package/dist/src/components/ButtonGroup/ButtonWrapper.js +1 -1
  413. package/dist/src/components/ButtonGroup/ButtonWrapper.js.map +1 -1
  414. package/dist/src/components/Checkbox/Checkbox.js +1 -1
  415. package/dist/src/components/Checkbox/Checkbox.js.map +1 -1
  416. package/dist/src/components/Chips/Chips.js +1 -1
  417. package/dist/src/components/Chips/Chips.js.map +1 -1
  418. package/dist/src/components/ColorPicker/ColorPicker.js +1 -1
  419. package/dist/src/components/ColorPicker/ColorPicker.js.map +1 -1
  420. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js +1 -1
  421. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
  422. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
  423. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js +1 -1
  424. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
  425. package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js +1 -1
  426. package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
  427. package/dist/src/components/Combobox/Combobox.js +1 -1
  428. package/dist/src/components/Combobox/Combobox.js.map +1 -1
  429. package/dist/src/components/Combobox/components/ComboboxConstants.js.map +1 -1
  430. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js +1 -1
  431. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
  432. package/dist/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js +1 -1
  433. package/dist/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js.map +1 -1
  434. package/dist/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js +1 -1
  435. package/dist/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js.map +1 -1
  436. package/dist/src/components/DatePicker/YearPicker/YearsList.js +1 -1
  437. package/dist/src/components/DatePicker/YearPicker/YearsList.js.map +1 -1
  438. package/dist/src/components/Dropdown/components/ChildrenContent/ChildrenContent.js +1 -1
  439. package/dist/src/components/Dropdown/components/ChildrenContent/ChildrenContent.js.map +1 -1
  440. package/dist/src/components/Dropdown/components/ClearIndicator/ClearIndicator.js +1 -1
  441. package/dist/src/components/Dropdown/components/ClearIndicator/ClearIndicator.js.map +1 -1
  442. package/dist/src/components/Dropdown/components/DropdownIndicator/DropdownIndicator.js +1 -1
  443. package/dist/src/components/Dropdown/components/DropdownIndicator/DropdownIndicator.js.map +1 -1
  444. package/dist/src/components/EmptyState/EmptyState.js +1 -1
  445. package/dist/src/components/EmptyState/EmptyState.js.map +1 -1
  446. package/dist/src/components/ExpandCollapse/ExpandCollapse.js +1 -1
  447. package/dist/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  448. package/dist/src/components/FieldLabel/FieldLabel.js +1 -1
  449. package/dist/src/components/FieldLabel/FieldLabel.js.map +1 -1
  450. package/dist/src/components/IconButton/IconButton.js +1 -1
  451. package/dist/src/components/IconButton/IconButton.js.map +1 -1
  452. package/dist/src/components/Info/Info.js +1 -1
  453. package/dist/src/components/Info/Info.js.map +1 -1
  454. package/dist/src/components/LegacyModal/LegacyModalFooter/LegacyModalFooterButtons/LegacyModalFooterButtons.js +1 -1
  455. package/dist/src/components/LegacyModal/LegacyModalFooter/LegacyModalFooterButtons/LegacyModalFooterButtons.js.map +1 -1
  456. package/dist/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js +1 -1
  457. package/dist/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js.map +1 -1
  458. package/dist/src/components/Link/Link.js +1 -1
  459. package/dist/src/components/Link/Link.js.map +1 -1
  460. package/dist/src/components/ListItemIcon/ListItemIcon.js +1 -1
  461. package/dist/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
  462. package/dist/src/components/Menu/MenuItem/MenuItem.js +1 -1
  463. package/dist/src/components/Menu/MenuItem/MenuItem.js.map +1 -1
  464. package/dist/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.js +1 -1
  465. package/dist/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.js.map +1 -1
  466. package/dist/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.js +1 -1
  467. package/dist/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.js.map +1 -1
  468. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
  469. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  470. package/dist/src/components/MenuButton/MenuButton.js +1 -1
  471. package/dist/src/components/MenuButton/MenuButton.js.map +1 -1
  472. package/dist/src/components/Modal/ModalHeader/ModalHeader.js +1 -1
  473. package/dist/src/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  474. package/dist/src/components/Modal/ModalTopActions/ModalTopActions.js +1 -1
  475. package/dist/src/components/Modal/ModalTopActions/ModalTopActions.js.map +1 -1
  476. package/dist/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.js +1 -1
  477. package/dist/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.js.map +1 -1
  478. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js +1 -1
  479. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
  480. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js +1 -1
  481. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
  482. package/dist/src/components/NumberField/NumberField.js +1 -1
  483. package/dist/src/components/NumberField/NumberField.js.map +1 -1
  484. package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js +1 -1
  485. package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js.map +1 -1
  486. package/dist/src/components/Search/Search.js +1 -1
  487. package/dist/src/components/Search/Search.js.map +1 -1
  488. package/dist/src/components/Slider/Slider.js.map +1 -1
  489. package/dist/src/components/Slider/SliderConstants.js.map +1 -1
  490. package/dist/src/components/Slider/SliderContext.js.map +1 -1
  491. package/dist/src/components/Slider/SliderInfixHooks.js +1 -1
  492. package/dist/src/components/Slider/SliderInfixHooks.js.map +1 -1
  493. package/dist/src/components/SplitButton/SplitButton.js +1 -1
  494. package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
  495. package/dist/src/components/Steps/Steps.js.map +1 -1
  496. package/dist/src/components/Steps/StepsCommand.js +1 -1
  497. package/dist/src/components/Steps/StepsCommand.js.map +1 -1
  498. package/dist/src/components/Steps/StepsHeader.js +1 -1
  499. package/dist/src/components/Steps/StepsHeader.js.map +1 -1
  500. package/dist/src/components/Table/Table/Table.js.map +1 -1
  501. package/dist/src/components/Table/Table/tableHelpers.js +1 -1
  502. package/dist/src/components/Table/Table/tableHelpers.js.map +1 -1
  503. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js +1 -1
  504. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
  505. package/dist/src/components/Tabs/Tab/Tab.js +1 -1
  506. package/dist/src/components/Tabs/Tab/Tab.js.map +1 -1
  507. package/dist/src/components/TextField/TextField.js +1 -1
  508. package/dist/src/components/TextField/TextField.js.map +1 -1
  509. package/dist/src/components/Tipseen/Tipseen.js +1 -1
  510. package/dist/src/components/Tipseen/Tipseen.js.map +1 -1
  511. package/dist/src/components/Tipseen/TipseenContent.js +1 -1
  512. package/dist/src/components/Tipseen/TipseenContent.js.map +1 -1
  513. package/dist/src/components/Tipseen/TipseenWizard.js.map +1 -1
  514. package/dist/src/components/Toast/Toast.js +1 -1
  515. package/dist/src/components/Toast/Toast.js.map +1 -1
  516. package/dist/src/components/Toast/ToastButton/ToastButton.js +1 -1
  517. package/dist/src/components/Toast/ToastButton/ToastButton.js.map +1 -1
  518. package/dist/src/components/Toast/ToastConstants.js +1 -1
  519. package/dist/src/components/Toast/ToastConstants.js.map +1 -1
  520. package/dist/src/components/Toast/ToastHelpers.js +1 -1
  521. package/dist/src/components/Toast/ToastHelpers.js.map +1 -1
  522. package/dist/src/components/Tooltip/Tooltip.js +1 -1
  523. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  524. package/dist/src/components/next/AttentionBox/components/AttentionBoxButton/AttentionBoxButton.js +1 -1
  525. package/dist/src/components/next/AttentionBox/components/AttentionBoxButton/AttentionBoxButton.js.map +1 -1
  526. package/dist/src/components/next/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.js +1 -1
  527. package/dist/src/components/next/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.js.map +1 -1
  528. package/dist/src/components/next/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.js +1 -1
  529. package/dist/src/components/next/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.js.map +1 -1
  530. package/dist/src/components/next/AttentionBox/consts/icons.js +1 -1
  531. package/dist/src/components/next/AttentionBox/consts/icons.js.map +1 -1
  532. package/dist/src/components/next/AttentionBox/utils/iconUtils.js.map +1 -1
  533. package/dist/src/components/next/Dropdown/components/Trigger/TriggerActions.js +1 -1
  534. package/dist/src/components/next/Dropdown/components/Trigger/TriggerActions.js.map +1 -1
  535. package/dist/src/index.js +1 -1
  536. package/dist/types/index.d.ts +0 -1
  537. package/package.json +8 -4
  538. package/dist/components/Button/Button.d.ts +0 -98
  539. package/dist/components/Button/Button.types.d.ts +0 -4
  540. package/dist/components/Button/ButtonConstants.d.ts +0 -37
  541. package/dist/components/Button/helper/useButtonLoading.d.ts +0 -5
  542. package/dist/components/Button/index.d.ts +0 -2
  543. package/dist/components/Icon/CustomSvgIcon/CustomSvgIcon.d.ts +0 -46
  544. package/dist/components/Icon/FontIcon/FontIcon.d.ts +0 -30
  545. package/dist/components/Icon/Icon.d.ts +0 -76
  546. package/dist/components/Icon/Icon.types.d.ts +0 -1
  547. package/dist/components/Icon/IconConstants.d.ts +0 -8
  548. package/dist/components/Icon/hooks/useIconProps.d.ts +0 -21
  549. package/dist/components/Icon/index.d.ts +0 -3
  550. package/dist/components/Loader/Loader.d.ts +0 -27
  551. package/dist/components/Loader/Loader.types.d.ts +0 -3
  552. package/dist/components/Loader/LoaderConstants.d.ts +0 -18
  553. package/dist/components/Loader/index.d.ts +0 -2
  554. package/dist/hooks/useIconScreenReaderAccessProps.d.ts +0 -10
  555. package/dist/icons/dist/_virtual/_tslib.js.map +0 -1
  556. package/dist/icons/dist/react/AddSmall.js.map +0 -1
  557. package/dist/icons/dist/react/Alert.js.map +0 -1
  558. package/dist/icons/dist/react/Check.js.map +0 -1
  559. package/dist/icons/dist/react/CloseMedium.js.map +0 -1
  560. package/dist/icons/dist/react/CloseSmall.js.map +0 -1
  561. package/dist/icons/dist/react/DropdownChevronDown.js.map +0 -1
  562. package/dist/icons/dist/react/DropdownChevronRight.js.map +0 -1
  563. package/dist/icons/dist/react/DropdownChevronUp.js.map +0 -1
  564. package/dist/icons/dist/react/Favorite.js.map +0 -1
  565. package/dist/icons/dist/react/Info.js.map +0 -1
  566. package/dist/icons/dist/react/Menu.js.map +0 -1
  567. package/dist/icons/dist/react/MoveArrowLeft.js.map +0 -1
  568. package/dist/icons/dist/react/MoveArrowRight.js.map +0 -1
  569. package/dist/icons/dist/react/NavigationChevronLeft.js.map +0 -1
  570. package/dist/icons/dist/react/NavigationChevronRight.js.map +0 -1
  571. package/dist/icons/dist/react/NoColor.js.map +0 -1
  572. package/dist/icons/dist/react/Remove.js.map +0 -1
  573. package/dist/icons/dist/react/Search.js.map +0 -1
  574. package/dist/icons/dist/react/Sort.js.map +0 -1
  575. package/dist/icons/dist/react/SortAscending.js.map +0 -1
  576. package/dist/icons/dist/react/SortDescending.js.map +0 -1
  577. package/dist/icons/dist/react/Warning.js.map +0 -1
  578. package/dist/mocked_classnames/components/Button/Button.d.ts +0 -98
  579. package/dist/mocked_classnames/components/Button/Button.types.d.ts +0 -4
  580. package/dist/mocked_classnames/components/Button/ButtonConstants.d.ts +0 -37
  581. package/dist/mocked_classnames/components/Button/helper/useButtonLoading.d.ts +0 -5
  582. package/dist/mocked_classnames/components/Button/index.d.ts +0 -2
  583. package/dist/mocked_classnames/components/Icon/CustomSvgIcon/CustomSvgIcon.d.ts +0 -46
  584. package/dist/mocked_classnames/components/Icon/FontIcon/FontIcon.d.ts +0 -30
  585. package/dist/mocked_classnames/components/Icon/Icon.d.ts +0 -76
  586. package/dist/mocked_classnames/components/Icon/Icon.types.d.ts +0 -1
  587. package/dist/mocked_classnames/components/Icon/IconConstants.d.ts +0 -8
  588. package/dist/mocked_classnames/components/Icon/hooks/useIconProps.d.ts +0 -21
  589. package/dist/mocked_classnames/components/Icon/index.d.ts +0 -3
  590. package/dist/mocked_classnames/components/Loader/Loader.d.ts +0 -27
  591. package/dist/mocked_classnames/components/Loader/Loader.types.d.ts +0 -3
  592. package/dist/mocked_classnames/components/Loader/LoaderConstants.d.ts +0 -18
  593. package/dist/mocked_classnames/components/Loader/index.d.ts +0 -2
  594. package/dist/mocked_classnames/hooks/useIconScreenReaderAccessProps.d.ts +0 -10
  595. package/dist/mocked_classnames/src/components/Button/Button.js +0 -2
  596. package/dist/mocked_classnames/src/components/Button/Button.js.map +0 -1
  597. package/dist/mocked_classnames/src/components/Button/Button.module.scss.js +0 -2
  598. package/dist/mocked_classnames/src/components/Button/ButtonConstants.js +0 -2
  599. package/dist/mocked_classnames/src/components/Button/ButtonConstants.js.map +0 -1
  600. package/dist/mocked_classnames/src/components/Button/helper/dom-helpers.js.map +0 -1
  601. package/dist/mocked_classnames/src/components/Button/helper/useButtonLoading.js +0 -2
  602. package/dist/mocked_classnames/src/components/Button/helper/useButtonLoading.js.map +0 -1
  603. package/dist/mocked_classnames/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js +0 -2
  604. package/dist/mocked_classnames/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js.map +0 -1
  605. package/dist/mocked_classnames/src/components/Icon/FontIcon/FontIcon.js +0 -2
  606. package/dist/mocked_classnames/src/components/Icon/FontIcon/FontIcon.js.map +0 -1
  607. package/dist/mocked_classnames/src/components/Icon/Icon.js +0 -2
  608. package/dist/mocked_classnames/src/components/Icon/Icon.js.map +0 -1
  609. package/dist/mocked_classnames/src/components/Icon/Icon.module.scss.js +0 -2
  610. package/dist/mocked_classnames/src/components/Icon/IconConstants.js +0 -2
  611. package/dist/mocked_classnames/src/components/Icon/IconConstants.js.map +0 -1
  612. package/dist/mocked_classnames/src/components/Icon/hooks/useIconProps.js +0 -2
  613. package/dist/mocked_classnames/src/components/Icon/hooks/useIconProps.js.map +0 -1
  614. package/dist/mocked_classnames/src/components/Loader/Loader.js +0 -2
  615. package/dist/mocked_classnames/src/components/Loader/Loader.js.map +0 -1
  616. package/dist/mocked_classnames/src/components/Loader/Loader.module.scss.js +0 -2
  617. package/dist/mocked_classnames/src/components/Loader/LoaderConstants.js.map +0 -1
  618. package/dist/mocked_classnames/src/helpers/screenReaderAccessHelper.js +0 -2
  619. package/dist/mocked_classnames/src/helpers/screenReaderAccessHelper.js.map +0 -1
  620. package/dist/mocked_classnames/src/hooks/ssr/useIsMounted.js +0 -2
  621. package/dist/mocked_classnames/src/hooks/ssr/useIsMounted.js.map +0 -1
  622. package/dist/mocked_classnames/src/hooks/useIconScreenReaderAccessProps.js +0 -2
  623. package/dist/mocked_classnames/src/hooks/useIconScreenReaderAccessProps.js.map +0 -1
  624. package/dist/mocked_classnames/types/SubIcon.d.ts +0 -3
  625. package/dist/src/components/Button/Button.js +0 -2
  626. package/dist/src/components/Button/Button.js.map +0 -1
  627. package/dist/src/components/Button/Button.module.scss.js +0 -2
  628. package/dist/src/components/Button/ButtonConstants.js +0 -2
  629. package/dist/src/components/Button/ButtonConstants.js.map +0 -1
  630. package/dist/src/components/Button/helper/dom-helpers.js.map +0 -1
  631. package/dist/src/components/Button/helper/useButtonLoading.js +0 -2
  632. package/dist/src/components/Button/helper/useButtonLoading.js.map +0 -1
  633. package/dist/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js +0 -2
  634. package/dist/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js.map +0 -1
  635. package/dist/src/components/Icon/FontIcon/FontIcon.js +0 -2
  636. package/dist/src/components/Icon/FontIcon/FontIcon.js.map +0 -1
  637. package/dist/src/components/Icon/Icon.js +0 -2
  638. package/dist/src/components/Icon/Icon.js.map +0 -1
  639. package/dist/src/components/Icon/Icon.module.scss.js +0 -2
  640. package/dist/src/components/Icon/IconConstants.js +0 -2
  641. package/dist/src/components/Icon/IconConstants.js.map +0 -1
  642. package/dist/src/components/Icon/hooks/useIconProps.js +0 -2
  643. package/dist/src/components/Icon/hooks/useIconProps.js.map +0 -1
  644. package/dist/src/components/Loader/Loader.js +0 -2
  645. package/dist/src/components/Loader/Loader.js.map +0 -1
  646. package/dist/src/components/Loader/Loader.module.scss.js +0 -2
  647. package/dist/src/components/Loader/LoaderConstants.js.map +0 -1
  648. package/dist/src/helpers/screenReaderAccessHelper.js +0 -2
  649. package/dist/src/helpers/screenReaderAccessHelper.js.map +0 -1
  650. package/dist/src/hooks/ssr/useIsMounted.js +0 -2
  651. package/dist/src/hooks/ssr/useIsMounted.js.map +0 -1
  652. package/dist/src/hooks/useIconScreenReaderAccessProps.js +0 -2
  653. package/dist/src/hooks/useIconScreenReaderAccessProps.js.map +0 -1
  654. package/dist/types/SubIcon.d.ts +0 -3
  655. /package/dist/{mocked_classnames/src/components → components/button/dist}/Button/Button.module.scss.js.map +0 -0
  656. /package/dist/{mocked_classnames/src/components → components/button/dist}/Button/helper/dom-helpers.js +0 -0
  657. /package/dist/{mocked_classnames/src/components → components/icon/dist}/Icon/Icon.module.scss.js.map +0 -0
  658. /package/dist/{mocked_classnames/src/components → components/loader/dist}/Loader/Loader.module.scss.js.map +0 -0
  659. /package/dist/{mocked_classnames/src/components → components/loader/dist}/Loader/LoaderConstants.js +0 -0
  660. /package/dist/{src/components → mocked_classnames/components/button/dist}/Button/Button.module.scss.js.map +0 -0
  661. /package/dist/{src/components → mocked_classnames/components/button/dist}/Button/helper/dom-helpers.js +0 -0
  662. /package/dist/{src/components → mocked_classnames/components/icon/dist}/Icon/Icon.module.scss.js.map +0 -0
  663. /package/dist/{src/components → mocked_classnames/components/loader/dist}/Loader/Loader.module.scss.js.map +0 -0
  664. /package/dist/{src/components → mocked_classnames/components/loader/dist}/Loader/LoaderConstants.js +0 -0
  665. /package/dist/{icons → mocked_classnames/packages/icons}/dist/_virtual/_tslib.js +0 -0
  666. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/AddSmall.js +0 -0
  667. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Alert.js +0 -0
  668. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Check.js +0 -0
  669. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/CloseMedium.js +0 -0
  670. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/CloseSmall.js +0 -0
  671. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/DropdownChevronDown.js +0 -0
  672. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/DropdownChevronRight.js +0 -0
  673. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/DropdownChevronUp.js +0 -0
  674. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Favorite.js +0 -0
  675. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Info.js +0 -0
  676. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Menu.js +0 -0
  677. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/MoveArrowLeft.js +0 -0
  678. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/MoveArrowRight.js +0 -0
  679. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/NavigationChevronLeft.js +0 -0
  680. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/NavigationChevronRight.js +0 -0
  681. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/NoColor.js +0 -0
  682. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Remove.js +0 -0
  683. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Search.js +0 -0
  684. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Sort.js +0 -0
  685. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/SortAscending.js +0 -0
  686. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/SortDescending.js +0 -0
  687. /package/dist/{icons → mocked_classnames/packages/icons}/dist/react/Warning.js +0 -0
  688. /package/dist/mocked_classnames/{style → packages/style}/dist/index.min.css.js +0 -0
  689. /package/dist/mocked_classnames/{style → packages/style}/dist/index.min.css.js.map +0 -0
  690. /package/dist/{mocked_classnames → packages}/icons/dist/_virtual/_tslib.js +0 -0
  691. /package/dist/{mocked_classnames → packages}/icons/dist/_virtual/_tslib.js.map +0 -0
  692. /package/dist/{mocked_classnames → packages}/icons/dist/react/AddSmall.js +0 -0
  693. /package/dist/{mocked_classnames → packages}/icons/dist/react/AddSmall.js.map +0 -0
  694. /package/dist/{mocked_classnames → packages}/icons/dist/react/Alert.js +0 -0
  695. /package/dist/{mocked_classnames → packages}/icons/dist/react/Alert.js.map +0 -0
  696. /package/dist/{mocked_classnames → packages}/icons/dist/react/Check.js +0 -0
  697. /package/dist/{mocked_classnames → packages}/icons/dist/react/Check.js.map +0 -0
  698. /package/dist/{mocked_classnames → packages}/icons/dist/react/CloseMedium.js +0 -0
  699. /package/dist/{mocked_classnames → packages}/icons/dist/react/CloseMedium.js.map +0 -0
  700. /package/dist/{mocked_classnames → packages}/icons/dist/react/CloseSmall.js +0 -0
  701. /package/dist/{mocked_classnames → packages}/icons/dist/react/CloseSmall.js.map +0 -0
  702. /package/dist/{mocked_classnames → packages}/icons/dist/react/DropdownChevronDown.js +0 -0
  703. /package/dist/{mocked_classnames → packages}/icons/dist/react/DropdownChevronDown.js.map +0 -0
  704. /package/dist/{mocked_classnames → packages}/icons/dist/react/DropdownChevronRight.js +0 -0
  705. /package/dist/{mocked_classnames → packages}/icons/dist/react/DropdownChevronRight.js.map +0 -0
  706. /package/dist/{mocked_classnames → packages}/icons/dist/react/DropdownChevronUp.js +0 -0
  707. /package/dist/{mocked_classnames → packages}/icons/dist/react/DropdownChevronUp.js.map +0 -0
  708. /package/dist/{mocked_classnames → packages}/icons/dist/react/Favorite.js +0 -0
  709. /package/dist/{mocked_classnames → packages}/icons/dist/react/Favorite.js.map +0 -0
  710. /package/dist/{mocked_classnames → packages}/icons/dist/react/Info.js +0 -0
  711. /package/dist/{mocked_classnames → packages}/icons/dist/react/Info.js.map +0 -0
  712. /package/dist/{mocked_classnames → packages}/icons/dist/react/Menu.js +0 -0
  713. /package/dist/{mocked_classnames → packages}/icons/dist/react/Menu.js.map +0 -0
  714. /package/dist/{mocked_classnames → packages}/icons/dist/react/MoveArrowLeft.js +0 -0
  715. /package/dist/{mocked_classnames → packages}/icons/dist/react/MoveArrowLeft.js.map +0 -0
  716. /package/dist/{mocked_classnames → packages}/icons/dist/react/MoveArrowRight.js +0 -0
  717. /package/dist/{mocked_classnames → packages}/icons/dist/react/MoveArrowRight.js.map +0 -0
  718. /package/dist/{mocked_classnames → packages}/icons/dist/react/NavigationChevronLeft.js +0 -0
  719. /package/dist/{mocked_classnames → packages}/icons/dist/react/NavigationChevronLeft.js.map +0 -0
  720. /package/dist/{mocked_classnames → packages}/icons/dist/react/NavigationChevronRight.js +0 -0
  721. /package/dist/{mocked_classnames → packages}/icons/dist/react/NavigationChevronRight.js.map +0 -0
  722. /package/dist/{mocked_classnames → packages}/icons/dist/react/NoColor.js +0 -0
  723. /package/dist/{mocked_classnames → packages}/icons/dist/react/NoColor.js.map +0 -0
  724. /package/dist/{mocked_classnames → packages}/icons/dist/react/Remove.js +0 -0
  725. /package/dist/{mocked_classnames → packages}/icons/dist/react/Remove.js.map +0 -0
  726. /package/dist/{mocked_classnames → packages}/icons/dist/react/Search.js +0 -0
  727. /package/dist/{mocked_classnames → packages}/icons/dist/react/Search.js.map +0 -0
  728. /package/dist/{mocked_classnames → packages}/icons/dist/react/Sort.js +0 -0
  729. /package/dist/{mocked_classnames → packages}/icons/dist/react/Sort.js.map +0 -0
  730. /package/dist/{mocked_classnames → packages}/icons/dist/react/SortAscending.js +0 -0
  731. /package/dist/{mocked_classnames → packages}/icons/dist/react/SortAscending.js.map +0 -0
  732. /package/dist/{mocked_classnames → packages}/icons/dist/react/SortDescending.js +0 -0
  733. /package/dist/{mocked_classnames → packages}/icons/dist/react/SortDescending.js.map +0 -0
  734. /package/dist/{mocked_classnames → packages}/icons/dist/react/Warning.js +0 -0
  735. /package/dist/{mocked_classnames → packages}/icons/dist/react/Warning.js.map +0 -0
  736. /package/dist/{style → packages/style}/dist/index.min.css.js +0 -0
  737. /package/dist/{style → packages/style}/dist/index.min.css.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemButton.js","sources":["../../../../../../src/components/Menu/MenuItemButton/MenuItemButton.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useRef } from \"react\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\nimport Button from \"../../Button/Button\";\nimport Tooltip from \"../../Tooltip/Tooltip\";\nimport { type ButtonType } from \"../../Button\";\nimport useMergeRef from \"../../../hooks/useMergeRef\";\nimport useMenuItemMouseEvents from \"../MenuItem/hooks/useMenuItemMouseEvents\";\nimport useMenuItemKeyboardEvents from \"../MenuItem/hooks/useMenuItemKeyboardEvents\";\nimport {\n type SubIcon,\n type VibeComponentProps,\n type ElementContent,\n withStaticPropsWithoutForwardRef\n} from \"../../../types\";\nimport Text from \"../../Text/Text\";\nimport styles from \"./MenuItemButton.module.scss\";\nimport { type TooltipPositions } from \"../../Tooltip\";\nimport { TooltipPositions as TooltipPositionsEnum } from \"../../Tooltip/TooltipConstants\";\n\nexport interface MenuItemButtonProps extends VibeComponentProps {\n /**\n * The style variant of the button.\n */\n kind?: ButtonType;\n /**\n * Icon displayed on the left side of the button.\n */\n leftIcon?: SubIcon;\n /**\n * Icon displayed on the right side of the button.\n */\n rightIcon?: SubIcon;\n /**\n * The index of the menu item in the menu.\n */\n index?: number;\n /**\n * The index of the currently active menu item.\n */\n activeItemIndex?: number;\n /**\n * If true, the button is disabled.\n */\n disabled?: boolean;\n /**\n * The reason why the button is disabled, displayed as a tooltip.\n */\n disableReason?: string;\n /**\n * Callback fired when the button is clicked.\n */\n onClick?: (event: React.MouseEvent | React.KeyboardEvent) => void;\n /**\n * The position of the tooltip.\n */\n tooltipPosition?: TooltipPositions;\n /**\n * The delay in milliseconds before the tooltip appears.\n */\n tooltipShowDelay?: number;\n /**\n * Callback to reset the open submenu index.\n */\n resetOpenSubMenuIndex?: () => void;\n /**\n * Callback to open or close a submenu by index.\n */\n setSubMenuIsOpenByIndex?: (index: number, isOpen: boolean) => void;\n /**\n * Callback to set the active item index.\n */\n setActiveItemIndex?: (index: number) => void;\n /**\n * Reference to the menu container.\n */\n menuRef?: React.RefObject<HTMLElement>;\n /**\n * Function to close the menu.\n */\n closeMenu?: () => void;\n /**\n * If true, event listeners are added at the document level.\n */\n useDocumentEventListeners?: boolean;\n /**\n * The content of the button.\n */\n children?: ElementContent | ElementContent[];\n}\n\nconst MenuItemButton = ({\n className,\n kind = \"primary\",\n leftIcon = null,\n rightIcon = null,\n disabled = false,\n disableReason,\n index,\n activeItemIndex = -1,\n onClick,\n tooltipPosition = \"right\",\n tooltipShowDelay = 300,\n children,\n resetOpenSubMenuIndex,\n setSubMenuIsOpenByIndex,\n setActiveItemIndex,\n menuRef,\n closeMenu,\n useDocumentEventListeners,\n id,\n \"data-testid\": dataTestId\n}: MenuItemButtonProps) => {\n const ref = useRef(null);\n const referenceElementRef = useRef(null);\n const mergedRef = useMergeRef(ref, referenceElementRef);\n\n const shouldShowTooltip = disabled && disableReason;\n const tooltipContent = disableReason;\n\n const isActive = activeItemIndex === index;\n\n const isMouseEnter = useMenuItemMouseEvents({\n ref,\n resetOpenSubMenuIndex,\n setSubMenuIsOpenByIndex,\n isActive,\n setActiveItemIndex,\n index,\n hasChildren: false\n });\n\n const { onClickCallback } = useMenuItemKeyboardEvents({\n onClick,\n disabled,\n isActive,\n index,\n setActiveItemIndex,\n hasChildren: false,\n shouldShowSubMenu: false,\n setSubMenuIsOpenByIndex,\n menuRef,\n isMouseEnter,\n closeMenu,\n useDocumentEventListeners\n });\n\n return (\n <Tooltip\n content={shouldShowTooltip ? tooltipContent : null}\n position={tooltipPosition}\n showDelay={tooltipShowDelay}\n >\n <Text\n type=\"text2\"\n element=\"li\"\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU_ITEM_BUTTON, id)}\n id={id}\n className={cx(styles.itemButton, className)}\n ref={mergedRef}\n role=\"menuitem\"\n aria-current={isActive}\n >\n <Button\n className={styles.buttonComponent}\n active={isActive}\n disabled={disabled}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n onClick={onClickCallback}\n kind={kind}\n size=\"small\"\n blurOnMouseUp={false}\n >\n <div className={styles.content}>{children}</div>\n </Button>\n </Text>\n </Tooltip>\n );\n};\n\nObject.assign(MenuItemButton, {\n isSelectable: true,\n isMenuChild: true\n});\n\ninterface MenuItemButtonStaticProps {\n kinds: typeof Button.kinds;\n tooltipPositions: typeof TooltipPositionsEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<MenuItemButtonProps, MenuItemButtonStaticProps>(MenuItemButton, {\n kinds: Button.kinds,\n tooltipPositions: TooltipPositionsEnum\n});\n"],"names":["MenuItemButton","_ref","className","_ref$kind","kind","_ref$leftIcon","leftIcon","_ref$rightIcon","rightIcon","_ref$disabled","disabled","disableReason","index","_ref$activeItemIndex","activeItemIndex","onClick","_ref$tooltipPosition","tooltipPosition","_ref$tooltipShowDelay","tooltipShowDelay","children","resetOpenSubMenuIndex","setSubMenuIsOpenByIndex","setActiveItemIndex","menuRef","closeMenu","useDocumentEventListeners","id","dataTestId","ref","useRef","referenceElementRef","mergedRef","useMergeRef","shouldShowTooltip","tooltipContent","isActive","isMouseEnter","useMenuItemMouseEvents","hasChildren","onClickCallback","useMenuItemKeyboardEvents","shouldShowSubMenu","React","Tooltip","content","position","showDelay","createElement","Text","type","element","getTestId","ComponentDefaultTestId","MENU_ITEM_BUTTON","cx","styles","itemButton","role","Button","buttonComponent","active","size","blurOnMouseUp","Object","assign","isSelectable","isMenuChild","withStaticPropsWithoutForwardRef","kinds","tooltipPositions","TooltipPositionsEnum"],"mappings":"upBA2FA,IAAMA,EAAiB,SAAHC,GAqBM,IApBxBC,EAASD,EAATC,UAASC,EAAAF,EACTG,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAAAE,EAAAJ,EAChBK,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EAAAE,EAAAN,EACfO,UAAAA,OAAY,IAAHD,EAAG,KAAIA,EAAAE,EAAAR,EAChBS,SAAAA,OAAW,IAAHD,GAAQA,EAChBE,EAAaV,EAAbU,cACAC,EAAKX,EAALW,MAAKC,EAAAZ,EACLa,gBAAAA,OAAe,IAAAD,GAAI,EAACA,EACpBE,EAAOd,EAAPc,QAAOC,EAAAf,EACPgB,gBAAAA,OAAkB,IAAHD,EAAG,QAAOA,EAAAE,EAAAjB,EACzBkB,iBAAAA,OAAmB,IAAHD,EAAG,IAAGA,EACtBE,EAAQnB,EAARmB,SACAC,EAAqBpB,EAArBoB,sBACAC,EAAuBrB,EAAvBqB,wBACAC,EAAkBtB,EAAlBsB,mBACAC,EAAOvB,EAAPuB,QACAC,EAASxB,EAATwB,UACAC,EAAyBzB,EAAzByB,0BACAC,EAAE1B,EAAF0B,GACeC,EAAU3B,EAAzB,eAEM4B,EAAMC,EAAO,MACbC,EAAsBD,EAAO,MAC7BE,EAAYC,EAAYJ,EAAKE,GAE7BG,EAAoBxB,GAAYC,EAChCwB,EAAiBxB,EAEjByB,EAAWtB,IAAoBF,EAE/ByB,EAAeC,EAAuB,CAC1CT,IAAAA,EACAR,sBAAAA,EACAC,wBAAAA,EACAc,SAAAA,EACAb,mBAAAA,EACAX,MAAAA,EACA2B,aAAa,IAGPC,EAAoBC,EAA0B,CACpD1B,QAAAA,EACAL,SAAAA,EACA0B,SAAAA,EACAxB,MAAAA,EACAW,mBAAAA,EACAgB,aAAa,EACbG,mBAAmB,EACnBpB,wBAAAA,EACAE,QAAAA,EACAa,aAAAA,EACAZ,UAAAA,EACAC,0BAAAA,IAZMc,gBAeR,OACEG,gBAACC,EAAO,CACNC,QAASX,EAAoBC,EAAiB,KAC9CW,SAAU7B,EACV8B,UAAW5B,GAEXwB,EAACK,cAAAC,GACCC,KAAK,QACLC,QAAQ,KAAI,cACCvB,GAAcwB,EAAUC,EAAuBC,iBAAkB3B,GAC9EA,GAAIA,EACJzB,UAAWqD,EAAGC,EAAOC,WAAYvD,GACjC2B,IAAKG,EACL0B,KAAK,0BACStB,GAEdO,EAAAK,cAACW,EACC,CAAAzD,UAAWsD,EAAOI,gBAClBC,OAAQzB,EACR1B,SAAUA,EACVJ,SAAUA,EACVE,UAAWA,EACXO,QAASyB,EACTpC,KAAMA,EACN0D,KAAK,QACLC,eAAe,GAEfpB,EAAAK,cAAA,MAAA,CAAK9C,UAAWsD,EAAOX,SAAUzB,KAK3C,EAEA4C,OAAOC,OAAOjE,EAAgB,CAC5BkE,cAAc,EACdC,aAAa,IAQf,IAAeC,EAAAA,EAAiFpE,EAAgB,CAC9GqE,MAAOV,EAAOU,MACdC,iBAAkBC"}
1
+ {"version":3,"file":"MenuItemButton.js","sources":["../../../../../../src/components/Menu/MenuItemButton/MenuItemButton.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useRef } from \"react\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\nimport { Button, type ButtonType } from \"@vibe/button\";\nimport Tooltip from \"../../Tooltip/Tooltip\";\nimport useMergeRef from \"../../../hooks/useMergeRef\";\nimport useMenuItemMouseEvents from \"../MenuItem/hooks/useMenuItemMouseEvents\";\nimport useMenuItemKeyboardEvents from \"../MenuItem/hooks/useMenuItemKeyboardEvents\";\nimport { type VibeComponentProps, type ElementContent, withStaticPropsWithoutForwardRef } from \"../../../types\";\nimport { type SubIcon } from \"@vibe/icon\";\nimport Text from \"../../Text/Text\";\nimport styles from \"./MenuItemButton.module.scss\";\nimport { type TooltipPositions } from \"../../Tooltip\";\nimport { TooltipPositions as TooltipPositionsEnum } from \"../../Tooltip/TooltipConstants\";\n\nexport interface MenuItemButtonProps extends VibeComponentProps {\n /**\n * The style variant of the button.\n */\n kind?: ButtonType;\n /**\n * Icon displayed on the left side of the button.\n */\n leftIcon?: SubIcon;\n /**\n * Icon displayed on the right side of the button.\n */\n rightIcon?: SubIcon;\n /**\n * The index of the menu item in the menu.\n */\n index?: number;\n /**\n * The index of the currently active menu item.\n */\n activeItemIndex?: number;\n /**\n * If true, the button is disabled.\n */\n disabled?: boolean;\n /**\n * The reason why the button is disabled, displayed as a tooltip.\n */\n disableReason?: string;\n /**\n * Callback fired when the button is clicked.\n */\n onClick?: (event: React.MouseEvent | React.KeyboardEvent) => void;\n /**\n * The position of the tooltip.\n */\n tooltipPosition?: TooltipPositions;\n /**\n * The delay in milliseconds before the tooltip appears.\n */\n tooltipShowDelay?: number;\n /**\n * Callback to reset the open submenu index.\n */\n resetOpenSubMenuIndex?: () => void;\n /**\n * Callback to open or close a submenu by index.\n */\n setSubMenuIsOpenByIndex?: (index: number, isOpen: boolean) => void;\n /**\n * Callback to set the active item index.\n */\n setActiveItemIndex?: (index: number) => void;\n /**\n * Reference to the menu container.\n */\n menuRef?: React.RefObject<HTMLElement>;\n /**\n * Function to close the menu.\n */\n closeMenu?: () => void;\n /**\n * If true, event listeners are added at the document level.\n */\n useDocumentEventListeners?: boolean;\n /**\n * The content of the button.\n */\n children?: ElementContent | ElementContent[];\n}\n\nconst MenuItemButton = ({\n className,\n kind = \"primary\",\n leftIcon = null,\n rightIcon = null,\n disabled = false,\n disableReason,\n index,\n activeItemIndex = -1,\n onClick,\n tooltipPosition = \"right\",\n tooltipShowDelay = 300,\n children,\n resetOpenSubMenuIndex,\n setSubMenuIsOpenByIndex,\n setActiveItemIndex,\n menuRef,\n closeMenu,\n useDocumentEventListeners,\n id,\n \"data-testid\": dataTestId\n}: MenuItemButtonProps) => {\n const ref = useRef(null);\n const referenceElementRef = useRef(null);\n const mergedRef = useMergeRef(ref, referenceElementRef);\n\n const shouldShowTooltip = disabled && disableReason;\n const tooltipContent = disableReason;\n\n const isActive = activeItemIndex === index;\n\n const isMouseEnter = useMenuItemMouseEvents({\n ref,\n resetOpenSubMenuIndex,\n setSubMenuIsOpenByIndex,\n isActive,\n setActiveItemIndex,\n index,\n hasChildren: false\n });\n\n const { onClickCallback } = useMenuItemKeyboardEvents({\n onClick,\n disabled,\n isActive,\n index,\n setActiveItemIndex,\n hasChildren: false,\n shouldShowSubMenu: false,\n setSubMenuIsOpenByIndex,\n menuRef,\n isMouseEnter,\n closeMenu,\n useDocumentEventListeners\n });\n\n return (\n <Tooltip\n content={shouldShowTooltip ? tooltipContent : null}\n position={tooltipPosition}\n showDelay={tooltipShowDelay}\n >\n <Text\n type=\"text2\"\n element=\"li\"\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU_ITEM_BUTTON, id)}\n id={id}\n className={cx(styles.itemButton, className)}\n ref={mergedRef}\n role=\"menuitem\"\n aria-current={isActive}\n >\n <Button\n className={styles.buttonComponent}\n active={isActive}\n disabled={disabled}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n onClick={onClickCallback}\n kind={kind}\n size=\"small\"\n blurOnMouseUp={false}\n >\n <div className={styles.content}>{children}</div>\n </Button>\n </Text>\n </Tooltip>\n );\n};\n\nObject.assign(MenuItemButton, {\n isSelectable: true,\n isMenuChild: true\n});\n\ninterface MenuItemButtonStaticProps {\n kinds: typeof Button.kinds;\n tooltipPositions: typeof TooltipPositionsEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<MenuItemButtonProps, MenuItemButtonStaticProps>(MenuItemButton, {\n kinds: Button.kinds,\n tooltipPositions: TooltipPositionsEnum\n});\n"],"names":["MenuItemButton","_ref","className","_ref$kind","kind","_ref$leftIcon","leftIcon","_ref$rightIcon","rightIcon","_ref$disabled","disabled","disableReason","index","_ref$activeItemIndex","activeItemIndex","onClick","_ref$tooltipPosition","tooltipPosition","_ref$tooltipShowDelay","tooltipShowDelay","children","resetOpenSubMenuIndex","setSubMenuIsOpenByIndex","setActiveItemIndex","menuRef","closeMenu","useDocumentEventListeners","id","dataTestId","ref","useRef","referenceElementRef","mergedRef","useMergeRef","shouldShowTooltip","tooltipContent","isActive","isMouseEnter","useMenuItemMouseEvents","hasChildren","onClickCallback","useMenuItemKeyboardEvents","shouldShowSubMenu","React","Tooltip","content","position","showDelay","createElement","Text","type","element","getTestId","ComponentDefaultTestId","MENU_ITEM_BUTTON","cx","styles","itemButton","role","Button","buttonComponent","active","size","blurOnMouseUp","Object","assign","isSelectable","isMenuChild","withStaticPropsWithoutForwardRef","kinds","tooltipPositions","TooltipPositionsEnum"],"mappings":"orBAsFA,IAAMA,EAAiB,SAAHC,GAqBM,IApBxBC,EAASD,EAATC,UAASC,EAAAF,EACTG,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAAAE,EAAAJ,EAChBK,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EAAAE,EAAAN,EACfO,UAAAA,OAAY,IAAHD,EAAG,KAAIA,EAAAE,EAAAR,EAChBS,SAAAA,OAAW,IAAHD,GAAQA,EAChBE,EAAaV,EAAbU,cACAC,EAAKX,EAALW,MAAKC,EAAAZ,EACLa,gBAAAA,OAAe,IAAAD,GAAI,EAACA,EACpBE,EAAOd,EAAPc,QAAOC,EAAAf,EACPgB,gBAAAA,OAAkB,IAAHD,EAAG,QAAOA,EAAAE,EAAAjB,EACzBkB,iBAAAA,OAAmB,IAAHD,EAAG,IAAGA,EACtBE,EAAQnB,EAARmB,SACAC,EAAqBpB,EAArBoB,sBACAC,EAAuBrB,EAAvBqB,wBACAC,EAAkBtB,EAAlBsB,mBACAC,EAAOvB,EAAPuB,QACAC,EAASxB,EAATwB,UACAC,EAAyBzB,EAAzByB,0BACAC,EAAE1B,EAAF0B,GACeC,EAAU3B,EAAzB,eAEM4B,EAAMC,EAAO,MACbC,EAAsBD,EAAO,MAC7BE,EAAYC,EAAYJ,EAAKE,GAE7BG,EAAoBxB,GAAYC,EAChCwB,EAAiBxB,EAEjByB,EAAWtB,IAAoBF,EAE/ByB,EAAeC,EAAuB,CAC1CT,IAAAA,EACAR,sBAAAA,EACAC,wBAAAA,EACAc,SAAAA,EACAb,mBAAAA,EACAX,MAAAA,EACA2B,aAAa,IAGPC,EAAoBC,EAA0B,CACpD1B,QAAAA,EACAL,SAAAA,EACA0B,SAAAA,EACAxB,MAAAA,EACAW,mBAAAA,EACAgB,aAAa,EACbG,mBAAmB,EACnBpB,wBAAAA,EACAE,QAAAA,EACAa,aAAAA,EACAZ,UAAAA,EACAC,0BAAAA,IAZMc,gBAeR,OACEG,gBAACC,EAAO,CACNC,QAASX,EAAoBC,EAAiB,KAC9CW,SAAU7B,EACV8B,UAAW5B,GAEXwB,EAACK,cAAAC,GACCC,KAAK,QACLC,QAAQ,KAAI,cACCvB,GAAcwB,EAAUC,EAAuBC,iBAAkB3B,GAC9EA,GAAIA,EACJzB,UAAWqD,EAAGC,EAAOC,WAAYvD,GACjC2B,IAAKG,EACL0B,KAAK,0BACStB,GAEdO,EAAAK,cAACW,EACC,CAAAzD,UAAWsD,EAAOI,gBAClBC,OAAQzB,EACR1B,SAAUA,EACVJ,SAAUA,EACVE,UAAWA,EACXO,QAASyB,EACTpC,KAAMA,EACN0D,KAAK,QACLC,eAAe,GAEfpB,EAAAK,cAAA,MAAA,CAAK9C,UAAWsD,EAAOX,SAAUzB,KAK3C,EAEA4C,OAAOC,OAAOjE,EAAgB,CAC5BkE,cAAc,EACdC,aAAa,IAQf,IAAeC,EAAAA,EAAiFpE,EAAgB,CAC9GqE,MAAOV,EAAOU,MACdC,iBAAkBC"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,defineProperty as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import i,{forwardRef as t,useRef as r,useState as n,useCallback as s,useMemo as a}from"react";import l from"classnames";import{camelCase as d}from"es-toolkit";import{isForwardRef as m}from"react-is";import c from"../Dialog/Dialog.js";import g from"../DialogContentContainer/DialogContentContainer.js";import u from"../Tooltip/Tooltip.js";import p from"../../hooks/ssr/useIsomorphicLayoutEffect.js";import f from"../../hooks/useMergeRef.js";import{BUTTON_ICON_SIZE as h,SMALL_BUTTON_ICON_SIZE as T}from"../Button/ButtonConstants.js";import{withStaticProps as v}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import{MenuButtonSize as C,MenuButtonComponentPosition as E}from"./MenuButtonConstants.js";import{DialogSize as S,DialogPosition as w,HideShowEvent as j}from"../Dialog/DialogConstants.js";import{NOOP as O}from"../../utils/function-utils.js";import{getStyle as y}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as b,ComponentDefaultTestId as M}from"../../tests/testIds.js";import P from"./MenuButton.module.scss.js";import{ComponentVibeId as N}from"../../tests/constants.js";import D from"../../../icons/dist/react/Menu.js";var _={main:8,secondary:0},A=[c.hideShowTriggers.ESCAPE_KEY,c.hideShowTriggers.TAB_KEY],B=v(t((function(t,v){var C=t.id,E=t.className,S=t.openDialogComponentClassName,w=t.children,j=t.component,B=void 0===j?D:j,I=t.componentPosition,x=void 0===I?"start":I,z=t.size,k=void 0===z?"small":z,H=t.open,K=void 0!==H&&H,R=t.onClick,L=void 0===R?O:R,U=t.zIndex,Y=void 0===U?null:U,W=t.ariaLabel,F=void 0===W?"Menu":W,V=t.closeMenuOnItemClick,q=t.dialogOffset,G=void 0===q?_:q,J=t.dialogPosition,Q=void 0===J?c.positions.BOTTOM_START:J,X=t.dialogClassName,Z=t.dialogPaddingSize,$=void 0===Z?g.sizes.SMALL:Z,ee=t.dialogShowTriggerIgnoreClass,oe=t.dialogHideTriggerIgnoreClass,ie=t.onMenuHide,te=void 0===ie?O:ie,re=t.onMenuShow,ne=void 0===re?O:re,se=t.disabled,ae=void 0!==se&&se,le=t.text,de=t.tooltipContent,me=t.tooltipProps,ce=t.tooltipTriggers,ge=void 0===ce?["mouseleave"]:ce,ue=t.tooltipPosition,pe=void 0===ue?"right":ue,fe=t.startingEdge,he=void 0===fe?"bottom":fe,Te=t.removeTabCloseTrigger,ve=void 0!==Te&&Te,Ce=t.tooltipReferenceClassName,Ee=t.hideWhenReferenceHidden,Se=void 0===Ee||Ee,we=t.dialogContainerSelector,je=t.active,Oe=t.triggerElement,ye=void 0===Oe?"button":Oe,be=t.showTooltipOnlyOnTriggerElement,Me=t["data-testid"],Pe=t.closeDialogOnContentClick,Ne=void 0!==Pe&&Pe,De=t.ariaControls,_e=r(null),Ae=f(v,_e),Be=n(K),Ie=e(Be,2),xe=Ie[0],ze=Ie[1],ke=null!=je?je:xe,He=s((function(e){te(),ze(!1);var o=_e.current;o&&e&&window.requestAnimationFrame((function(){o.focus()}))}),[te]),Ke=s((function(e){var o=A.includes(e.key);(o||V)&&e.propagate&&He(o)}),[V,He]),Re=s((function(e,o){He(xe&&A.includes(o))}),[He,xe]),Le=s((function(){ze(!0),ne()}),[ze,ne]),Ue=a((function(){var e=new Set([c.hideShowTriggers.CLICK_OUTSIDE,c.hideShowTriggers.TAB_KEY,c.hideShowTriggers.ESCAPE_KEY]);return Ne&&(e.add(c.hideShowTriggers.CONTENT_CLICK),e.add(c.hideShowTriggers.ENTER)),ve&&e.delete(c.hideShowTriggers.TAB_KEY),[i.Children.toArray(w).map((function(o){if(!i.isValidElement(o))return null;var t={};return o.type&&o.type.supportFocusOnMount&&(t.focusOnMount=!0,e.delete(c.hideShowTriggers.ESCAPE_KEY)),o.type&&o.type.isMenu&&(t.onClose=Ke),i.cloneElement(o,t)})),Array.from(e)]}),[w,Ke,Ne,ve]),Ye=e(Ue,2),We=Ye[0],Fe=Ye[1],Ve=a((function(){return 0===We.length?null:i.createElement(g,{size:$,type:g.types.POPOVER,role:null},We)}),[We,$]),qe=a((function(){return Object.assign(Object.assign({},_),G)}),[G]),Ge=B,Je=a((function(){switch(k){case"xxs":case"xs":return T;case"small":case"medium":case"large":return h;default:return 24}}),[k]),Qe=Ge?i.createElement(Ge,{size:""+Je,role:"img","aria-hidden":"true"}):null;p((function(){ze(K)}),[K,ze]);var Xe="button"===ye?{ref:Ae}:{active:ke,disabled:ae,ref:m(ye)?Ae:void 0},Ze=i.createElement(ye,Object.assign({id:C,"data-testid":Me||b(M.MENU_BUTTON,C),"data-vibe":N.MENU_BUTTON,type:"button",className:l(P.wrapper,E,y(P,d("size-".concat(k))),o(o(o(o({},P.active,ke),y(P,S),xe&&S),P.disabled,ae),P.text,le)),"aria-haspopup":"true","aria-expanded":xe,"aria-controls":De,"aria-label":!le&&F,onMouseUp:function(e){ae?e.currentTarget.blur():L(e)},"aria-disabled":ae},Xe),"start"===x&&Qe,le&&i.createElement("span",{className:P.innerText},le),"end"===x&&Qe),$e=function(e){return i.createElement(c,{wrapperClassName:X,position:Q,containerSelector:we,startingEdge:he,animationType:"expand",content:Ve,moveBy:qe,showTrigger:ae?[]:["click","enter"],hideTrigger:Fe,showTriggerIgnoreClass:ee,hideTriggerIgnoreClass:oe,useDerivedStateFromProps:!0,onDialogDidShow:Le,onDialogDidHide:Re,zIndex:Y,isOpen:xe,hideWhenReferenceHidden:Se},e)},eo=function(e){return i.createElement(u,Object.assign({content:de,position:pe,showTrigger:"mouseenter",hideTrigger:ge,referenceWrapperClassName:Ce,hideWhenReferenceHidden:Se},me),e)};return be?$e(eo(Ze)):eo($e(Ze))})),{sizes:C,paddingSizes:S,dialogPositions:w,hideTriggers:j,componentPositions:E});export{B as default};
1
+ import{slicedToArray as e,defineProperty as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import i,{forwardRef as t,useRef as r,useState as n,useCallback as s,useMemo as a}from"react";import l from"classnames";import{camelCase as d}from"es-toolkit";import{isForwardRef as c}from"react-is";import g from"../Dialog/Dialog.js";import m from"../DialogContentContainer/DialogContentContainer.js";import p from"../Tooltip/Tooltip.js";import u from"../../hooks/ssr/useIsomorphicLayoutEffect.js";import f from"../../hooks/useMergeRef.js";import{withStaticProps as h}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import{MenuButtonSize as T,MenuButtonComponentPosition as v}from"./MenuButtonConstants.js";import{DialogSize as C,DialogPosition as E,HideShowEvent as S}from"../Dialog/DialogConstants.js";import{NOOP as w}from"../../utils/function-utils.js";import{getStyle as j}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as O,ComponentDefaultTestId as y}from"../../tests/testIds.js";import b from"./MenuButton.module.scss.js";import{ComponentVibeId as M}from"../../tests/constants.js";import P from"../../../packages/icons/dist/react/Menu.js";var N={main:8,secondary:0},D=[g.hideShowTriggers.ESCAPE_KEY,g.hideShowTriggers.TAB_KEY],_=h(t((function(t,h){var T=t.id,v=t.className,C=t.openDialogComponentClassName,E=t.children,S=t.component,_=void 0===S?P:S,A=t.componentPosition,I=void 0===A?"start":A,x=t.size,z=void 0===x?"small":x,B=t.open,k=void 0!==B&&B,H=t.onClick,K=void 0===H?w:H,R=t.zIndex,L=void 0===R?null:R,U=t.ariaLabel,Y=void 0===U?"Menu":U,W=t.closeMenuOnItemClick,F=t.dialogOffset,V=void 0===F?N:F,q=t.dialogPosition,G=void 0===q?g.positions.BOTTOM_START:q,J=t.dialogClassName,Q=t.dialogPaddingSize,X=void 0===Q?m.sizes.SMALL:Q,Z=t.dialogShowTriggerIgnoreClass,$=t.dialogHideTriggerIgnoreClass,ee=t.onMenuHide,oe=void 0===ee?w:ee,ie=t.onMenuShow,te=void 0===ie?w:ie,re=t.disabled,ne=void 0!==re&&re,se=t.text,ae=t.tooltipContent,le=t.tooltipProps,de=t.tooltipTriggers,ce=void 0===de?["mouseleave"]:de,ge=t.tooltipPosition,me=void 0===ge?"right":ge,pe=t.startingEdge,ue=void 0===pe?"bottom":pe,fe=t.removeTabCloseTrigger,he=void 0!==fe&&fe,Te=t.tooltipReferenceClassName,ve=t.hideWhenReferenceHidden,Ce=void 0===ve||ve,Ee=t.dialogContainerSelector,Se=t.active,we=t.triggerElement,je=void 0===we?"button":we,Oe=t.showTooltipOnlyOnTriggerElement,ye=t["data-testid"],be=t.closeDialogOnContentClick,Me=void 0!==be&&be,Pe=t.ariaControls,Ne=r(null),De=f(h,Ne),_e=n(k),Ae=e(_e,2),Ie=Ae[0],xe=Ae[1],ze=null!=Se?Se:Ie,Be=s((function(e){oe(),xe(!1);var o=Ne.current;o&&e&&window.requestAnimationFrame((function(){o.focus()}))}),[oe]),ke=s((function(e){var o=D.includes(e.key);(o||W)&&e.propagate&&Be(o)}),[W,Be]),He=s((function(e,o){Be(Ie&&D.includes(o))}),[Be,Ie]),Ke=s((function(){xe(!0),te()}),[xe,te]),Re=a((function(){var e=new Set([g.hideShowTriggers.CLICK_OUTSIDE,g.hideShowTriggers.TAB_KEY,g.hideShowTriggers.ESCAPE_KEY]);return Me&&(e.add(g.hideShowTriggers.CONTENT_CLICK),e.add(g.hideShowTriggers.ENTER)),he&&e.delete(g.hideShowTriggers.TAB_KEY),[i.Children.toArray(E).map((function(o){if(!i.isValidElement(o))return null;var t={};return o.type&&o.type.supportFocusOnMount&&(t.focusOnMount=!0,e.delete(g.hideShowTriggers.ESCAPE_KEY)),o.type&&o.type.isMenu&&(t.onClose=ke),i.cloneElement(o,t)})),Array.from(e)]}),[E,ke,Me,he]),Le=e(Re,2),Ue=Le[0],Ye=Le[1],We=a((function(){return 0===Ue.length?null:i.createElement(m,{size:X,type:m.types.POPOVER,role:null},Ue)}),[Ue,X]),Fe=a((function(){return Object.assign(Object.assign({},N),V)}),[V]),Ve=_,qe=a((function(){switch(z){case"xxs":case"xs":return 16;case"small":case"medium":case"large":return 20;default:return 24}}),[z]),Ge=Ve?i.createElement(Ve,{size:""+qe,role:"img","aria-hidden":"true"}):null;u((function(){xe(k)}),[k,xe]);var Je="button"===je?{ref:De}:{active:ze,disabled:ne,ref:c(je)?De:void 0},Qe=i.createElement(je,Object.assign({id:T,"data-testid":ye||O(y.MENU_BUTTON,T),"data-vibe":M.MENU_BUTTON,type:"button",className:l(b.wrapper,v,j(b,d("size-".concat(z))),o(o(o(o({},b.active,ze),j(b,C),Ie&&C),b.disabled,ne),b.text,se)),"aria-haspopup":"true","aria-expanded":Ie,"aria-controls":Pe,"aria-label":!se&&Y,onMouseUp:function(e){ne?e.currentTarget.blur():K(e)},"aria-disabled":ne},Je),"start"===I&&Ge,se&&i.createElement("span",{className:b.innerText},se),"end"===I&&Ge),Xe=function(e){return i.createElement(g,{wrapperClassName:J,position:G,containerSelector:Ee,startingEdge:ue,animationType:"expand",content:We,moveBy:Fe,showTrigger:ne?[]:["click","enter"],hideTrigger:Ye,showTriggerIgnoreClass:Z,hideTriggerIgnoreClass:$,useDerivedStateFromProps:!0,onDialogDidShow:Ke,onDialogDidHide:He,zIndex:L,isOpen:Ie,hideWhenReferenceHidden:Ce},e)},Ze=function(e){return i.createElement(p,Object.assign({content:ae,position:me,showTrigger:"mouseenter",hideTrigger:ce,referenceWrapperClassName:Te,hideWhenReferenceHidden:Ce},le),e)};return Oe?Xe(Ze(Qe)):Ze(Xe(Qe))})),{sizes:T,paddingSizes:C,dialogPositions:E,hideTriggers:S,componentPositions:v});export{_ as default};
2
2
  //# sourceMappingURL=MenuButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sources":["../../../../../src/components/MenuButton/MenuButton.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { camelCase } from \"es-toolkit\";\nimport { isForwardRef } from \"react-is\";\nimport Dialog, { type DialogEvent } from \"../Dialog/Dialog\";\nimport DialogContentContainer from \"../DialogContentContainer/DialogContentContainer\";\nimport Tooltip, { type TooltipProps } from \"../Tooltip/Tooltip\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { BUTTON_ICON_SIZE, SMALL_BUTTON_ICON_SIZE } from \"../Button/ButtonConstants\";\nimport { type ElementContent, type VibeComponentProps, withStaticProps } from \"../../types\";\nimport {\n MenuButtonComponentPosition as MenuButtonComponentPositionEnum,\n MenuButtonSize as MenuButtonSizeEnum\n} from \"./MenuButtonConstants\";\nimport {\n DialogPosition as DialogPositionEnum,\n HideShowEvent as DialogTriggerEventEnum,\n DialogSize as DialogSizeEnum\n} from \"../Dialog/DialogConstants\";\nimport { type MenuButtonComponentPosition, type MenuButtonSize } from \"./MenuButton.types\";\nimport {\n type DialogOffset,\n type DialogPosition,\n type DialogSize,\n type DialogTriggerEvent\n} from \"../Dialog/Dialog.types\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { Menu } from \"@vibe/icons\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { type MenuChild } from \"../Menu/Menu/MenuConstants\";\nimport styles from \"./MenuButton.module.scss\";\nimport { type TooltipPositions } from \"../Tooltip\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst MOVE_BY = { main: 8, secondary: 0 };\nconst CLOSE_KEYS: DialogTriggerEventEnum[] = [Dialog.hideShowTriggers.ESCAPE_KEY, Dialog.hideShowTriggers.TAB_KEY];\n\nexport interface MenuButtonProps extends VibeComponentProps {\n /**\n * If true, the button is in an active state.\n */\n active?: boolean;\n /**\n * Class name applied to the button when the dialog is open.\n */\n openDialogComponentClassName?: string;\n /**\n * The component used as the button icon.\n */\n component?: (() => JSX.Element) | React.ElementType;\n /**\n * The size of the button.\n */\n size?: MenuButtonSize;\n /**\n * If true, the menu is open.\n */\n open?: boolean;\n /**\n * Callback fired when the button is clicked.\n */\n onClick?: (event: React.MouseEvent) => void;\n /**\n * The z-index of the menu.\n */\n zIndex?: number;\n /**\n * The label of the button for accessibility.\n */\n ariaLabel?: string;\n /**\n * Class name applied to the menu dialog wrapper.\n */\n dialogClassName?: string;\n /**\n * The offset of the menu relative to the button.\n */\n dialogOffset?: DialogOffset;\n /**\n * The padding size inside the menu dialog.\n */\n dialogPaddingSize?: DialogSize;\n /**\n * The position of the menu dialog relative to the button.\n */\n dialogPosition?: DialogPosition;\n /**\n * Classes that prevent showing the dialog when present.\n */\n dialogShowTriggerIgnoreClass?: string | Array<string>;\n /**\n * Classes that prevent hiding the dialog when present.\n */\n dialogHideTriggerIgnoreClass?: string | Array<string>;\n /**\n * The container selector in which to append the dialog.\n */\n dialogContainerSelector?: string;\n /**\n * The starting edge alignment of the menu.\n */\n startingEdge?: string;\n /**\n * Callback fired when the menu is shown.\n */\n onMenuShow?: () => void;\n /**\n * Callback fired when the menu is hidden.\n */\n onMenuHide?: () => void;\n /**\n * The text displayed inside the button.\n */\n text?: string;\n /**\n * If true, the button is disabled.\n */\n disabled?: boolean;\n /**\n * The tooltip content displayed when hovering over the button.\n */\n tooltipContent?: string;\n /**\n * If true, removes the tab key from the hide trigger.\n */\n removeTabCloseTrigger?: boolean;\n /**\n * The triggers that cause the tooltip to show or hide.\n */\n tooltipTriggers?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * The position of the tooltip.\n */\n tooltipPosition?: TooltipPositions;\n /**\n * Class name applied to the tooltip reference wrapper.\n */\n tooltipReferenceClassName?: string;\n /**\n * Additional props for customizing the tooltip.\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * If true, hides the menu and tooltip when the button is not visible.\n */\n hideWhenReferenceHidden?: boolean;\n /**\n * The content inside the menu button.\n */\n children?: ElementContent;\n /**\n * The position of the component relative to the text.\n */\n componentPosition?: MenuButtonComponentPosition;\n /**\n * The element used as the trigger for the menu.\n */\n triggerElement?: React.ElementType;\n /**\n * If true, closes the menu when a menu item is clicked.\n */\n closeMenuOnItemClick?: boolean;\n /**\n * If true, the tooltip appears only when hovering over the trigger element, not the menu dialog.\n */\n showTooltipOnlyOnTriggerElement?: boolean;\n /**\n * If true, closes the menu when clicking inside the dialog.\n */\n closeDialogOnContentClick?: boolean;\n /**\n * The ARIA control of the menu button for accessibility.\n */\n ariaControls?: string;\n}\n\nconst MenuButton = forwardRef(\n (\n {\n id,\n className,\n openDialogComponentClassName,\n children,\n component = Menu,\n componentPosition = \"start\",\n size = \"small\",\n open = false,\n onClick = NOOP,\n zIndex = null,\n ariaLabel = \"Menu\",\n closeMenuOnItemClick,\n dialogOffset = MOVE_BY,\n dialogPosition = Dialog.positions.BOTTOM_START,\n dialogClassName,\n dialogPaddingSize = DialogContentContainer.sizes.SMALL,\n dialogShowTriggerIgnoreClass,\n dialogHideTriggerIgnoreClass,\n onMenuHide = NOOP,\n onMenuShow = NOOP,\n disabled = false,\n text,\n tooltipContent,\n tooltipProps,\n tooltipTriggers = [\"mouseleave\"],\n tooltipPosition = \"right\",\n startingEdge = \"bottom\",\n removeTabCloseTrigger = false,\n tooltipReferenceClassName,\n hideWhenReferenceHidden = true,\n dialogContainerSelector,\n active,\n triggerElement: TriggerElement = \"button\",\n showTooltipOnlyOnTriggerElement,\n \"data-testid\": dataTestId,\n closeDialogOnContentClick = false,\n ariaControls\n }: MenuButtonProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const [isOpen, setIsOpen] = useState(open);\n const isActive = active ?? isOpen;\n\n const handleMenuClose = useCallback(\n (focusOnMenuButtonAfterClose: boolean) => {\n onMenuHide();\n setIsOpen(false);\n const button = componentRef.current;\n if (!button || !focusOnMenuButtonAfterClose) {\n return;\n }\n window.requestAnimationFrame(() => {\n button.focus();\n });\n },\n [onMenuHide]\n );\n\n const onMenuDidClose = useCallback(\n (event: React.KeyboardEvent) => {\n // TODO: check the functionality of the isEscapeKey since the event is not an actual KeyboardEVent but an object with propagate property only\n const isCloseKey = CLOSE_KEYS.includes(event.key as DialogTriggerEventEnum);\n if (isCloseKey || closeMenuOnItemClick) {\n // @ts-ignore\n if (event.propagate) {\n handleMenuClose(isCloseKey);\n }\n }\n },\n [closeMenuOnItemClick, handleMenuClose]\n );\n\n const onDialogDidHide = useCallback(\n (event: DialogEvent, hideEvent: string) => {\n handleMenuClose(isOpen && CLOSE_KEYS.includes(hideEvent as DialogTriggerEventEnum));\n },\n [handleMenuClose, isOpen]\n );\n\n const onDialogDidShow = useCallback(() => {\n setIsOpen(true);\n onMenuShow();\n }, [setIsOpen, onMenuShow]);\n\n const [clonedChildren, hideTrigger] = useMemo(() => {\n const triggers = new Set([\n Dialog.hideShowTriggers.CLICK_OUTSIDE,\n Dialog.hideShowTriggers.TAB_KEY,\n Dialog.hideShowTriggers.ESCAPE_KEY\n ]);\n\n if (closeDialogOnContentClick) {\n triggers.add(Dialog.hideShowTriggers.CONTENT_CLICK);\n triggers.add(Dialog.hideShowTriggers.ENTER);\n }\n\n if (removeTabCloseTrigger) {\n triggers.delete(Dialog.hideShowTriggers.TAB_KEY);\n }\n const childrenArr = React.Children.toArray(children) as MenuChild[];\n const cloned = childrenArr.map(child => {\n if (!React.isValidElement(child)) return null;\n\n const newProps: { focusOnMount?: boolean; onClose?: (event: React.KeyboardEvent) => void } = {};\n if (child.type && child.type.supportFocusOnMount) {\n newProps.focusOnMount = true;\n triggers.delete(Dialog.hideShowTriggers.ESCAPE_KEY);\n }\n\n if (child.type && child.type.isMenu) {\n newProps.onClose = onMenuDidClose;\n }\n\n return React.cloneElement(child, newProps);\n });\n return [cloned, Array.from(triggers)];\n }, [children, onMenuDidClose, closeDialogOnContentClick, removeTabCloseTrigger]);\n\n const content = useMemo(() => {\n if (clonedChildren.length === 0) return null;\n return (\n <DialogContentContainer size={dialogPaddingSize} type={DialogContentContainer.types.POPOVER} role={null}>\n {clonedChildren}\n </DialogContentContainer>\n );\n }, [clonedChildren, dialogPaddingSize]);\n\n const computedDialogOffset = useMemo(\n () => ({\n ...MOVE_BY,\n ...dialogOffset\n }),\n [dialogOffset]\n );\n\n const onMouseUp = (event: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n event.currentTarget.blur();\n return;\n }\n onClick(event);\n };\n\n const Icon = component;\n const iconSize = useMemo(() => {\n switch (size) {\n case \"xxs\":\n case \"xs\":\n return SMALL_BUTTON_ICON_SIZE;\n case \"small\":\n case \"medium\":\n case \"large\":\n return BUTTON_ICON_SIZE;\n default:\n return 24;\n }\n }, [size]);\n const icon = Icon ? <Icon size={iconSize.toString()} role=\"img\" aria-hidden=\"true\" /> : null;\n\n useIsomorphicLayoutEffect(() => {\n setIsOpen(open);\n }, [open, setIsOpen]);\n\n // Trigger element props, which are only relevant for \"button\" element, but might be needed for other elements e.g. Button\n const triggerElementProps =\n TriggerElement === \"button\"\n ? {\n ref: mergedRef\n }\n : {\n active: isActive,\n disabled: disabled,\n ref: isForwardRef(TriggerElement) ? mergedRef : undefined\n };\n\n const triggerElementNode = (\n <TriggerElement\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU_BUTTON, id)}\n data-vibe={ComponentVibeId.MENU_BUTTON}\n type=\"button\"\n className={cx(styles.wrapper, className, getStyle(styles, camelCase(`size-${size}`)), {\n [styles.active]: isActive,\n [getStyle(styles, openDialogComponentClassName)]: isOpen && openDialogComponentClassName,\n [styles.disabled]: disabled,\n [styles.text]: text\n })}\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n aria-controls={ariaControls}\n aria-label={!text && ariaLabel}\n onMouseUp={onMouseUp}\n aria-disabled={disabled}\n {...triggerElementProps}\n >\n {componentPosition === \"start\" && icon}\n {text && <span className={styles.innerText}>{text}</span>}\n {componentPosition === \"end\" && icon}\n </TriggerElement>\n );\n\n const dialogNode = (dialogChildren: React.ReactElement) => (\n <Dialog\n wrapperClassName={dialogClassName}\n position={dialogPosition}\n containerSelector={dialogContainerSelector}\n startingEdge={startingEdge}\n animationType=\"expand\"\n content={content}\n moveBy={computedDialogOffset}\n showTrigger={disabled ? [] : [\"click\", \"enter\"]}\n hideTrigger={hideTrigger}\n showTriggerIgnoreClass={dialogShowTriggerIgnoreClass}\n hideTriggerIgnoreClass={dialogHideTriggerIgnoreClass}\n useDerivedStateFromProps={true}\n onDialogDidShow={onDialogDidShow}\n onDialogDidHide={onDialogDidHide}\n zIndex={zIndex}\n isOpen={isOpen}\n hideWhenReferenceHidden={hideWhenReferenceHidden}\n >\n {dialogChildren}\n </Dialog>\n );\n\n const tooltipNode = (tooltipChildren: React.ReactElement) => (\n <Tooltip\n content={tooltipContent}\n position={tooltipPosition}\n showTrigger=\"mouseenter\"\n hideTrigger={tooltipTriggers}\n referenceWrapperClassName={tooltipReferenceClassName}\n hideWhenReferenceHidden={hideWhenReferenceHidden}\n {...tooltipProps}\n >\n {tooltipChildren}\n </Tooltip>\n );\n\n if (showTooltipOnlyOnTriggerElement) {\n return dialogNode(tooltipNode(triggerElementNode));\n }\n return tooltipNode(dialogNode(triggerElementNode));\n }\n);\n\ninterface MenuButtonStaticProps {\n sizes: typeof MenuButtonSizeEnum;\n paddingSizes: typeof DialogContentContainer.sizes;\n dialogPositions: typeof DialogPositionEnum;\n hideTriggers: typeof Dialog.hideShowTriggers;\n componentPositions: typeof MenuButtonComponentPositionEnum;\n}\n\nexport default withStaticProps<MenuButtonProps, MenuButtonStaticProps>(MenuButton, {\n sizes: MenuButtonSizeEnum,\n paddingSizes: DialogSizeEnum,\n dialogPositions: DialogPositionEnum,\n hideTriggers: DialogTriggerEventEnum,\n componentPositions: MenuButtonComponentPositionEnum\n});\n"],"names":["MOVE_BY","main","secondary","CLOSE_KEYS","Dialog","hideShowTriggers","ESCAPE_KEY","TAB_KEY","withStaticProps","forwardRef","_ref","ref","id","className","openDialogComponentClassName","children","_ref$component","component","Menu","_ref$componentPositio","componentPosition","_ref$size","size","_ref$open","open","_ref$onClick","onClick","NOOP","_ref$zIndex","zIndex","_ref$ariaLabel","ariaLabel","closeMenuOnItemClick","_ref$dialogOffset","dialogOffset","_ref$dialogPosition","dialogPosition","positions","BOTTOM_START","dialogClassName","_ref$dialogPaddingSiz","dialogPaddingSize","DialogContentContainer","sizes","SMALL","dialogShowTriggerIgnoreClass","dialogHideTriggerIgnoreClass","_ref$onMenuHide","onMenuHide","_ref$onMenuShow","onMenuShow","_ref$disabled","disabled","text","tooltipContent","tooltipProps","_ref$tooltipTriggers","tooltipTriggers","_ref$tooltipPosition","tooltipPosition","_ref$startingEdge","startingEdge","_ref$removeTabCloseTr","removeTabCloseTrigger","tooltipReferenceClassName","_ref$hideWhenReferenc","hideWhenReferenceHidden","dialogContainerSelector","active","_ref$triggerElement","triggerElement","TriggerElement","showTooltipOnlyOnTriggerElement","dataTestId","_ref$closeDialogOnCon","closeDialogOnContentClick","ariaControls","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","isActive","handleMenuClose","useCallback","focusOnMenuButtonAfterClose","button","current","window","requestAnimationFrame","focus","onMenuDidClose","event","isCloseKey","includes","key","propagate","onDialogDidHide","hideEvent","onDialogDidShow","_useMemo","useMemo","triggers","Set","CLICK_OUTSIDE","add","CONTENT_CLICK","ENTER","delete","React","Children","toArray","map","child","isValidElement","newProps","type","supportFocusOnMount","focusOnMount","isMenu","onClose","cloneElement","Array","from","_useMemo2","clonedChildren","hideTrigger","content","length","types","POPOVER","role","computedDialogOffset","Object","assign","Icon","iconSize","SMALL_BUTTON_ICON_SIZE","BUTTON_ICON_SIZE","icon","createElement","useIsomorphicLayoutEffect","triggerElementProps","isForwardRef","undefined","triggerElementNode","getTestId","ComponentDefaultTestId","MENU_BUTTON","ComponentVibeId","cx","styles","wrapper","getStyle","camelCase","concat","_defineProperty","onMouseUp","currentTarget","blur","innerText","dialogNode","dialogChildren","wrapperClassName","position","containerSelector","animationType","moveBy","showTrigger","showTriggerIgnoreClass","hideTriggerIgnoreClass","useDerivedStateFromProps","tooltipNode","tooltipChildren","Tooltip","referenceWrapperClassName","MenuButtonSizeEnum","paddingSizes","DialogSizeEnum","dialogPositions","DialogPositionEnum","hideTriggers","DialogTriggerEventEnum","componentPositions","MenuButtonComponentPositionEnum"],"mappings":"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"}
1
+ {"version":3,"file":"MenuButton.js","sources":["../../../../../src/components/MenuButton/MenuButton.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { camelCase } from \"es-toolkit\";\nimport { isForwardRef } from \"react-is\";\nimport Dialog, { type DialogEvent } from \"../Dialog/Dialog\";\nimport DialogContentContainer from \"../DialogContentContainer/DialogContentContainer\";\nimport Tooltip, { type TooltipProps } from \"../Tooltip/Tooltip\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { type ElementContent, type VibeComponentProps, withStaticProps } from \"../../types\";\nimport {\n MenuButtonComponentPosition as MenuButtonComponentPositionEnum,\n MenuButtonSize as MenuButtonSizeEnum\n} from \"./MenuButtonConstants\";\nimport {\n DialogPosition as DialogPositionEnum,\n HideShowEvent as DialogTriggerEventEnum,\n DialogSize as DialogSizeEnum\n} from \"../Dialog/DialogConstants\";\nimport { type MenuButtonComponentPosition, type MenuButtonSize } from \"./MenuButton.types\";\nimport {\n type DialogOffset,\n type DialogPosition,\n type DialogSize,\n type DialogTriggerEvent\n} from \"../Dialog/Dialog.types\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { Menu } from \"@vibe/icons\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { type MenuChild } from \"../Menu/Menu/MenuConstants\";\nimport styles from \"./MenuButton.module.scss\";\nimport { type TooltipPositions } from \"../Tooltip\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst MOVE_BY = { main: 8, secondary: 0 };\nconst CLOSE_KEYS: DialogTriggerEventEnum[] = [Dialog.hideShowTriggers.ESCAPE_KEY, Dialog.hideShowTriggers.TAB_KEY];\n\nexport interface MenuButtonProps extends VibeComponentProps {\n /**\n * If true, the button is in an active state.\n */\n active?: boolean;\n /**\n * Class name applied to the button when the dialog is open.\n */\n openDialogComponentClassName?: string;\n /**\n * The component used as the button icon.\n */\n component?: (() => JSX.Element) | React.ElementType;\n /**\n * The size of the button.\n */\n size?: MenuButtonSize;\n /**\n * If true, the menu is open.\n */\n open?: boolean;\n /**\n * Callback fired when the button is clicked.\n */\n onClick?: (event: React.MouseEvent) => void;\n /**\n * The z-index of the menu.\n */\n zIndex?: number;\n /**\n * The label of the button for accessibility.\n */\n ariaLabel?: string;\n /**\n * Class name applied to the menu dialog wrapper.\n */\n dialogClassName?: string;\n /**\n * The offset of the menu relative to the button.\n */\n dialogOffset?: DialogOffset;\n /**\n * The padding size inside the menu dialog.\n */\n dialogPaddingSize?: DialogSize;\n /**\n * The position of the menu dialog relative to the button.\n */\n dialogPosition?: DialogPosition;\n /**\n * Classes that prevent showing the dialog when present.\n */\n dialogShowTriggerIgnoreClass?: string | Array<string>;\n /**\n * Classes that prevent hiding the dialog when present.\n */\n dialogHideTriggerIgnoreClass?: string | Array<string>;\n /**\n * The container selector in which to append the dialog.\n */\n dialogContainerSelector?: string;\n /**\n * The starting edge alignment of the menu.\n */\n startingEdge?: string;\n /**\n * Callback fired when the menu is shown.\n */\n onMenuShow?: () => void;\n /**\n * Callback fired when the menu is hidden.\n */\n onMenuHide?: () => void;\n /**\n * The text displayed inside the button.\n */\n text?: string;\n /**\n * If true, the button is disabled.\n */\n disabled?: boolean;\n /**\n * The tooltip content displayed when hovering over the button.\n */\n tooltipContent?: string;\n /**\n * If true, removes the tab key from the hide trigger.\n */\n removeTabCloseTrigger?: boolean;\n /**\n * The triggers that cause the tooltip to show or hide.\n */\n tooltipTriggers?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * The position of the tooltip.\n */\n tooltipPosition?: TooltipPositions;\n /**\n * Class name applied to the tooltip reference wrapper.\n */\n tooltipReferenceClassName?: string;\n /**\n * Additional props for customizing the tooltip.\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * If true, hides the menu and tooltip when the button is not visible.\n */\n hideWhenReferenceHidden?: boolean;\n /**\n * The content inside the menu button.\n */\n children?: ElementContent;\n /**\n * The position of the component relative to the text.\n */\n componentPosition?: MenuButtonComponentPosition;\n /**\n * The element used as the trigger for the menu.\n */\n triggerElement?: React.ElementType;\n /**\n * If true, closes the menu when a menu item is clicked.\n */\n closeMenuOnItemClick?: boolean;\n /**\n * If true, the tooltip appears only when hovering over the trigger element, not the menu dialog.\n */\n showTooltipOnlyOnTriggerElement?: boolean;\n /**\n * If true, closes the menu when clicking inside the dialog.\n */\n closeDialogOnContentClick?: boolean;\n /**\n * The ARIA control of the menu button for accessibility.\n */\n ariaControls?: string;\n}\n\nconst MenuButton = forwardRef(\n (\n {\n id,\n className,\n openDialogComponentClassName,\n children,\n component = Menu,\n componentPosition = \"start\",\n size = \"small\",\n open = false,\n onClick = NOOP,\n zIndex = null,\n ariaLabel = \"Menu\",\n closeMenuOnItemClick,\n dialogOffset = MOVE_BY,\n dialogPosition = Dialog.positions.BOTTOM_START,\n dialogClassName,\n dialogPaddingSize = DialogContentContainer.sizes.SMALL,\n dialogShowTriggerIgnoreClass,\n dialogHideTriggerIgnoreClass,\n onMenuHide = NOOP,\n onMenuShow = NOOP,\n disabled = false,\n text,\n tooltipContent,\n tooltipProps,\n tooltipTriggers = [\"mouseleave\"],\n tooltipPosition = \"right\",\n startingEdge = \"bottom\",\n removeTabCloseTrigger = false,\n tooltipReferenceClassName,\n hideWhenReferenceHidden = true,\n dialogContainerSelector,\n active,\n triggerElement: TriggerElement = \"button\",\n showTooltipOnlyOnTriggerElement,\n \"data-testid\": dataTestId,\n closeDialogOnContentClick = false,\n ariaControls\n }: MenuButtonProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const [isOpen, setIsOpen] = useState(open);\n const isActive = active ?? isOpen;\n\n const handleMenuClose = useCallback(\n (focusOnMenuButtonAfterClose: boolean) => {\n onMenuHide();\n setIsOpen(false);\n const button = componentRef.current;\n if (!button || !focusOnMenuButtonAfterClose) {\n return;\n }\n window.requestAnimationFrame(() => {\n button.focus();\n });\n },\n [onMenuHide]\n );\n\n const onMenuDidClose = useCallback(\n (event: React.KeyboardEvent) => {\n // TODO: check the functionality of the isEscapeKey since the event is not an actual KeyboardEVent but an object with propagate property only\n const isCloseKey = CLOSE_KEYS.includes(event.key as DialogTriggerEventEnum);\n if (isCloseKey || closeMenuOnItemClick) {\n // @ts-ignore\n if (event.propagate) {\n handleMenuClose(isCloseKey);\n }\n }\n },\n [closeMenuOnItemClick, handleMenuClose]\n );\n\n const onDialogDidHide = useCallback(\n (event: DialogEvent, hideEvent: string) => {\n handleMenuClose(isOpen && CLOSE_KEYS.includes(hideEvent as DialogTriggerEventEnum));\n },\n [handleMenuClose, isOpen]\n );\n\n const onDialogDidShow = useCallback(() => {\n setIsOpen(true);\n onMenuShow();\n }, [setIsOpen, onMenuShow]);\n\n const [clonedChildren, hideTrigger] = useMemo(() => {\n const triggers = new Set([\n Dialog.hideShowTriggers.CLICK_OUTSIDE,\n Dialog.hideShowTriggers.TAB_KEY,\n Dialog.hideShowTriggers.ESCAPE_KEY\n ]);\n\n if (closeDialogOnContentClick) {\n triggers.add(Dialog.hideShowTriggers.CONTENT_CLICK);\n triggers.add(Dialog.hideShowTriggers.ENTER);\n }\n\n if (removeTabCloseTrigger) {\n triggers.delete(Dialog.hideShowTriggers.TAB_KEY);\n }\n const childrenArr = React.Children.toArray(children) as MenuChild[];\n const cloned = childrenArr.map(child => {\n if (!React.isValidElement(child)) return null;\n\n const newProps: { focusOnMount?: boolean; onClose?: (event: React.KeyboardEvent) => void } = {};\n if (child.type && child.type.supportFocusOnMount) {\n newProps.focusOnMount = true;\n triggers.delete(Dialog.hideShowTriggers.ESCAPE_KEY);\n }\n\n if (child.type && child.type.isMenu) {\n newProps.onClose = onMenuDidClose;\n }\n\n return React.cloneElement(child, newProps);\n });\n return [cloned, Array.from(triggers)];\n }, [children, onMenuDidClose, closeDialogOnContentClick, removeTabCloseTrigger]);\n\n const content = useMemo(() => {\n if (clonedChildren.length === 0) return null;\n return (\n <DialogContentContainer size={dialogPaddingSize} type={DialogContentContainer.types.POPOVER} role={null}>\n {clonedChildren}\n </DialogContentContainer>\n );\n }, [clonedChildren, dialogPaddingSize]);\n\n const computedDialogOffset = useMemo(\n () => ({\n ...MOVE_BY,\n ...dialogOffset\n }),\n [dialogOffset]\n );\n\n const onMouseUp = (event: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n event.currentTarget.blur();\n return;\n }\n onClick(event);\n };\n\n const Icon = component;\n const iconSize = useMemo(() => {\n switch (size) {\n case \"xxs\":\n case \"xs\":\n return 16;\n case \"small\":\n case \"medium\":\n case \"large\":\n return 20;\n default:\n return 24;\n }\n }, [size]);\n const icon = Icon ? <Icon size={iconSize.toString()} role=\"img\" aria-hidden=\"true\" /> : null;\n\n useIsomorphicLayoutEffect(() => {\n setIsOpen(open);\n }, [open, setIsOpen]);\n\n // Trigger element props, which are only relevant for \"button\" element, but might be needed for other elements e.g. Button\n const triggerElementProps =\n TriggerElement === \"button\"\n ? {\n ref: mergedRef\n }\n : {\n active: isActive,\n disabled: disabled,\n ref: isForwardRef(TriggerElement) ? mergedRef : undefined\n };\n\n const triggerElementNode = (\n <TriggerElement\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU_BUTTON, id)}\n data-vibe={ComponentVibeId.MENU_BUTTON}\n type=\"button\"\n className={cx(styles.wrapper, className, getStyle(styles, camelCase(`size-${size}`)), {\n [styles.active]: isActive,\n [getStyle(styles, openDialogComponentClassName)]: isOpen && openDialogComponentClassName,\n [styles.disabled]: disabled,\n [styles.text]: text\n })}\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n aria-controls={ariaControls}\n aria-label={!text && ariaLabel}\n onMouseUp={onMouseUp}\n aria-disabled={disabled}\n {...triggerElementProps}\n >\n {componentPosition === \"start\" && icon}\n {text && <span className={styles.innerText}>{text}</span>}\n {componentPosition === \"end\" && icon}\n </TriggerElement>\n );\n\n const dialogNode = (dialogChildren: React.ReactElement) => (\n <Dialog\n wrapperClassName={dialogClassName}\n position={dialogPosition}\n containerSelector={dialogContainerSelector}\n startingEdge={startingEdge}\n animationType=\"expand\"\n content={content}\n moveBy={computedDialogOffset}\n showTrigger={disabled ? [] : [\"click\", \"enter\"]}\n hideTrigger={hideTrigger}\n showTriggerIgnoreClass={dialogShowTriggerIgnoreClass}\n hideTriggerIgnoreClass={dialogHideTriggerIgnoreClass}\n useDerivedStateFromProps={true}\n onDialogDidShow={onDialogDidShow}\n onDialogDidHide={onDialogDidHide}\n zIndex={zIndex}\n isOpen={isOpen}\n hideWhenReferenceHidden={hideWhenReferenceHidden}\n >\n {dialogChildren}\n </Dialog>\n );\n\n const tooltipNode = (tooltipChildren: React.ReactElement) => (\n <Tooltip\n content={tooltipContent}\n position={tooltipPosition}\n showTrigger=\"mouseenter\"\n hideTrigger={tooltipTriggers}\n referenceWrapperClassName={tooltipReferenceClassName}\n hideWhenReferenceHidden={hideWhenReferenceHidden}\n {...tooltipProps}\n >\n {tooltipChildren}\n </Tooltip>\n );\n\n if (showTooltipOnlyOnTriggerElement) {\n return dialogNode(tooltipNode(triggerElementNode));\n }\n return tooltipNode(dialogNode(triggerElementNode));\n }\n);\n\ninterface MenuButtonStaticProps {\n sizes: typeof MenuButtonSizeEnum;\n paddingSizes: typeof DialogContentContainer.sizes;\n dialogPositions: typeof DialogPositionEnum;\n hideTriggers: typeof Dialog.hideShowTriggers;\n componentPositions: typeof MenuButtonComponentPositionEnum;\n}\n\nexport default withStaticProps<MenuButtonProps, MenuButtonStaticProps>(MenuButton, {\n sizes: MenuButtonSizeEnum,\n paddingSizes: DialogSizeEnum,\n dialogPositions: DialogPositionEnum,\n hideTriggers: DialogTriggerEventEnum,\n componentPositions: MenuButtonComponentPositionEnum\n});\n"],"names":["MOVE_BY","main","secondary","CLOSE_KEYS","Dialog","hideShowTriggers","ESCAPE_KEY","TAB_KEY","withStaticProps","forwardRef","_ref","ref","id","className","openDialogComponentClassName","children","_ref$component","component","Menu","_ref$componentPositio","componentPosition","_ref$size","size","_ref$open","open","_ref$onClick","onClick","NOOP","_ref$zIndex","zIndex","_ref$ariaLabel","ariaLabel","closeMenuOnItemClick","_ref$dialogOffset","dialogOffset","_ref$dialogPosition","dialogPosition","positions","BOTTOM_START","dialogClassName","_ref$dialogPaddingSiz","dialogPaddingSize","DialogContentContainer","sizes","SMALL","dialogShowTriggerIgnoreClass","dialogHideTriggerIgnoreClass","_ref$onMenuHide","onMenuHide","_ref$onMenuShow","onMenuShow","_ref$disabled","disabled","text","tooltipContent","tooltipProps","_ref$tooltipTriggers","tooltipTriggers","_ref$tooltipPosition","tooltipPosition","_ref$startingEdge","startingEdge","_ref$removeTabCloseTr","removeTabCloseTrigger","tooltipReferenceClassName","_ref$hideWhenReferenc","hideWhenReferenceHidden","dialogContainerSelector","active","_ref$triggerElement","triggerElement","TriggerElement","showTooltipOnlyOnTriggerElement","dataTestId","_ref$closeDialogOnCon","closeDialogOnContentClick","ariaControls","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","isActive","handleMenuClose","useCallback","focusOnMenuButtonAfterClose","button","current","window","requestAnimationFrame","focus","onMenuDidClose","event","isCloseKey","includes","key","propagate","onDialogDidHide","hideEvent","onDialogDidShow","_useMemo","useMemo","triggers","Set","CLICK_OUTSIDE","add","CONTENT_CLICK","ENTER","delete","React","Children","toArray","map","child","isValidElement","newProps","type","supportFocusOnMount","focusOnMount","isMenu","onClose","cloneElement","Array","from","_useMemo2","clonedChildren","hideTrigger","content","length","types","POPOVER","role","computedDialogOffset","Object","assign","Icon","iconSize","icon","createElement","useIsomorphicLayoutEffect","triggerElementProps","isForwardRef","undefined","triggerElementNode","getTestId","ComponentDefaultTestId","MENU_BUTTON","ComponentVibeId","cx","styles","wrapper","getStyle","camelCase","concat","_defineProperty","onMouseUp","currentTarget","blur","innerText","dialogNode","dialogChildren","wrapperClassName","position","containerSelector","animationType","moveBy","showTrigger","showTriggerIgnoreClass","hideTriggerIgnoreClass","useDerivedStateFromProps","tooltipNode","tooltipChildren","Tooltip","referenceWrapperClassName","MenuButtonSizeEnum","paddingSizes","DialogSizeEnum","dialogPositions","DialogPositionEnum","hideTriggers","DialogTriggerEventEnum","componentPositions","MenuButtonComponentPositionEnum"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{typeof as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as o,useEffect as a}from"react";import s from"classnames";import{getTestId as i}from"../../../tests/testIds.js";import{ComponentDefaultTestId as r}from"../../../tests/constants.js";import n from"./ModalHeader.module.scss.js";import c from"../../Flex/Flex.js";import m from"../../Heading/Heading.js";import l from"../../Text/Text.js";import d from"../../Icon/Icon.js";import{useModal as p}from"../context/ModalContext.js";var f=o((function(o,f){var j=o.title,g=o.description,u=o.descriptionIcon,x=o.className,_=o.id,E=o["data-testid"],I=p(),N=I.modalId,b=I.setDescriptionId,h=I.setTitleId,y=_?"".concat(N,"_").concat(_,"_label"):"".concat(N,"_label"),H=_?"".concat(N,"_").concat(_,"_desc"):"".concat(N,"_desc");return a((function(){N&&(h(y),g&&b(H))}),[N,h,y,g,b,H]),t.createElement(c,{gap:"xs",direction:"column",align:"start",ref:f,className:s(n.header,x),id:_,"data-testid":E||i(r.MODAL_NEXT_HEADER,_)},"string"==typeof j?t.createElement(m,{id:y,align:"inherit",type:"h2",weight:"medium",maxLines:2,className:n.title},j):j,g&&t.createElement(c,{id:H},u&&t.createElement(d,{icon:"object"===e(u)?u.name:u,className:s(n.descriptionIcon,"object"===e(u)&&u.className)}),"string"==typeof g?t.createElement(l,{element:"span",align:"inherit",type:"text1"},g):g))}));export{f as default};
1
+ import{typeof as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import e,{forwardRef as o,useEffect as s}from"react";import a from"classnames";import{getTestId as i}from"../../../tests/testIds.js";import{ComponentDefaultTestId as n}from"../../../tests/constants.js";import r from"./ModalHeader.module.scss.js";import c from"../../Flex/Flex.js";import m from"../../Heading/Heading.js";import l from"../../Text/Text.js";import{useModal as d}from"../context/ModalContext.js";import p from"../../../../components/icon/dist/Icon/Icon.js";var f=o((function(o,f){var j=o.title,g=o.description,u=o.descriptionIcon,x=o.className,_=o.id,E=o["data-testid"],I=d(),N=I.modalId,b=I.setDescriptionId,h=I.setTitleId,y=_?"".concat(N,"_").concat(_,"_label"):"".concat(N,"_label"),H=_?"".concat(N,"_").concat(_,"_desc"):"".concat(N,"_desc");return s((function(){N&&(h(y),g&&b(H))}),[N,h,y,g,b,H]),e.createElement(c,{gap:"xs",direction:"column",align:"start",ref:f,className:a(r.header,x),id:_,"data-testid":E||i(n.MODAL_NEXT_HEADER,_)},"string"==typeof j?e.createElement(m,{id:y,align:"inherit",type:"h2",weight:"medium",maxLines:2,className:r.title},j):j,g&&e.createElement(c,{id:H},u&&e.createElement(p,{icon:"object"===t(u)?u.name:u,className:a(r.descriptionIcon,"object"===t(u)&&u.className)}),"string"==typeof g?e.createElement(l,{element:"span",align:"inherit",type:"text1"},g):g))}));export{f as default};
2
2
  //# sourceMappingURL=ModalHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","sources":["../../../../../../src/components/Modal/ModalHeader/ModalHeader.tsx"],"sourcesContent":["import React, { forwardRef, useEffect } from \"react\";\nimport cx from \"classnames\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\nimport styles from \"./ModalHeader.module.scss\";\nimport { type ModalHeaderProps } from \"./ModalHeader.types\";\nimport Flex from \"../../Flex/Flex\";\nimport Heading from \"../../Heading/Heading\";\nimport Text from \"../../Text/Text\";\nimport Icon from \"../../Icon/Icon\";\nimport { useModal } from \"../context/ModalContext\";\n\nconst ModalHeader = forwardRef(\n (\n { title, description, descriptionIcon, className, id, \"data-testid\": dataTestId }: ModalHeaderProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const { modalId, setDescriptionId, setTitleId } = useModal();\n const titleId = id ? `${modalId}_${id}_label` : `${modalId}_label`;\n const descriptionId = id ? `${modalId}_${id}_desc` : `${modalId}_desc`;\n\n useEffect(() => {\n if (!modalId) return;\n setTitleId(titleId);\n if (!description) return;\n setDescriptionId(descriptionId);\n }, [modalId, setTitleId, titleId, description, setDescriptionId, descriptionId]);\n\n return (\n <Flex\n gap=\"xs\"\n direction=\"column\"\n align=\"start\"\n ref={ref}\n className={cx(styles.header, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MODAL_NEXT_HEADER, id)}\n >\n {typeof title === \"string\" ? (\n <Heading id={titleId} align=\"inherit\" type=\"h2\" weight=\"medium\" maxLines={2} className={styles.title}>\n {title}\n </Heading>\n ) : (\n title\n )}\n\n {description && (\n <Flex id={descriptionId}>\n {descriptionIcon && (\n <Icon\n icon={typeof descriptionIcon === \"object\" ? descriptionIcon.name : descriptionIcon}\n className={cx(styles.descriptionIcon, typeof descriptionIcon === \"object\" && descriptionIcon.className)}\n />\n )}\n {typeof description === \"string\" ? (\n <Text element=\"span\" align=\"inherit\" type=\"text1\">\n {description}\n </Text>\n ) : (\n description\n )}\n </Flex>\n )}\n </Flex>\n );\n }\n);\n\nexport default ModalHeader;\n"],"names":["ModalHeader","forwardRef","_ref","ref","title","description","descriptionIcon","className","id","dataTestId","_useModal","useModal","modalId","setDescriptionId","setTitleId","titleId","concat","descriptionId","useEffect","React","Flex","gap","direction","align","cx","styles","header","getTestId","ComponentDefaultTestId","MODAL_NEXT_HEADER","Heading","type","weight","maxLines","createElement","Icon","icon","_typeof","name","Text","element"],"mappings":"qgBAYMA,IAAAA,EAAcC,GAClB,SAAAC,EAEEC,GACE,IAFAC,EAAKF,EAALE,MAAOC,EAAWH,EAAXG,YAAaC,EAAeJ,EAAfI,gBAAiBC,EAASL,EAATK,UAAWC,EAAEN,EAAFM,GAAmBC,EAAUP,EAAzB,eAGtDQ,EAAkDC,IAA1CC,EAAOF,EAAPE,QAASC,EAAgBH,EAAhBG,iBAAkBC,EAAUJ,EAAVI,WAC7BC,EAAUP,EAAE,GAAAQ,OAAMJ,EAAOI,KAAAA,OAAIR,EAAE,UAAA,GAAAQ,OAAcJ,EAAe,UAC5DK,EAAgBT,EAAE,GAAAQ,OAAMJ,EAAOI,KAAAA,OAAIR,EAAE,SAAA,GAAAQ,OAAaJ,EAAc,SAStE,OAPAM,GAAU,WACHN,IACLE,EAAWC,GACNV,GACLQ,EAAiBI,GACnB,GAAG,CAACL,EAASE,EAAYC,EAASV,EAAaQ,EAAkBI,IAG/DE,gBAACC,EAAI,CACHC,IAAI,KACJC,UAAU,SACVC,MAAM,QACNpB,IAAKA,EACLI,UAAWiB,EAAGC,EAAOC,OAAQnB,GAC7BC,GAAIA,gBACSC,GAAckB,EAAUC,EAAuBC,kBAAmBrB,IAE7D,iBAAVJ,EACNe,gBAACW,EAAO,CAACtB,GAAIO,EAASQ,MAAM,UAAUQ,KAAK,KAAKC,OAAO,SAASC,SAAU,EAAG1B,UAAWkB,EAAOrB,OAC5FA,GAGHA,EAGDC,GACCc,EAAAe,cAACd,EAAK,CAAAZ,GAAIS,GACPX,GACCa,EAAAe,cAACC,EACC,CAAAC,KAAiC,WAA3BC,EAAO/B,GAA+BA,EAAgBgC,KAAOhC,EACnEC,UAAWiB,EAAGC,EAAOnB,gBAA4C,WAA3B+B,EAAO/B,IAAgCA,EAAgBC,aAGzE,iBAAhBF,EACNc,EAACe,cAAAK,GAAKC,QAAQ,OAAOjB,MAAM,UAAUQ,KAAK,SACvC1B,GAGHA,GAMZ"}
1
+ {"version":3,"file":"ModalHeader.js","sources":["../../../../../../src/components/Modal/ModalHeader/ModalHeader.tsx"],"sourcesContent":["import React, { forwardRef, useEffect } from \"react\";\nimport cx from \"classnames\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\nimport styles from \"./ModalHeader.module.scss\";\nimport { type ModalHeaderProps } from \"./ModalHeader.types\";\nimport Flex from \"../../Flex/Flex\";\nimport Heading from \"../../Heading/Heading\";\nimport Text from \"../../Text/Text\";\nimport { Icon } from \"@vibe/icon\";\nimport { useModal } from \"../context/ModalContext\";\n\nconst ModalHeader = forwardRef(\n (\n { title, description, descriptionIcon, className, id, \"data-testid\": dataTestId }: ModalHeaderProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const { modalId, setDescriptionId, setTitleId } = useModal();\n const titleId = id ? `${modalId}_${id}_label` : `${modalId}_label`;\n const descriptionId = id ? `${modalId}_${id}_desc` : `${modalId}_desc`;\n\n useEffect(() => {\n if (!modalId) return;\n setTitleId(titleId);\n if (!description) return;\n setDescriptionId(descriptionId);\n }, [modalId, setTitleId, titleId, description, setDescriptionId, descriptionId]);\n\n return (\n <Flex\n gap=\"xs\"\n direction=\"column\"\n align=\"start\"\n ref={ref}\n className={cx(styles.header, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MODAL_NEXT_HEADER, id)}\n >\n {typeof title === \"string\" ? (\n <Heading id={titleId} align=\"inherit\" type=\"h2\" weight=\"medium\" maxLines={2} className={styles.title}>\n {title}\n </Heading>\n ) : (\n title\n )}\n\n {description && (\n <Flex id={descriptionId}>\n {descriptionIcon && (\n <Icon\n icon={typeof descriptionIcon === \"object\" ? descriptionIcon.name : descriptionIcon}\n className={cx(styles.descriptionIcon, typeof descriptionIcon === \"object\" && descriptionIcon.className)}\n />\n )}\n {typeof description === \"string\" ? (\n <Text element=\"span\" align=\"inherit\" type=\"text1\">\n {description}\n </Text>\n ) : (\n description\n )}\n </Flex>\n )}\n </Flex>\n );\n }\n);\n\nexport default ModalHeader;\n"],"names":["ModalHeader","forwardRef","_ref","ref","title","description","descriptionIcon","className","id","dataTestId","_useModal","useModal","modalId","setDescriptionId","setTitleId","titleId","concat","descriptionId","useEffect","React","Flex","gap","direction","align","cx","styles","header","getTestId","ComponentDefaultTestId","MODAL_NEXT_HEADER","Heading","type","weight","maxLines","createElement","Icon","icon","_typeof","name","Text","element"],"mappings":"giBAYMA,IAAAA,EAAcC,GAClB,SAAAC,EAEEC,GACE,IAFAC,EAAKF,EAALE,MAAOC,EAAWH,EAAXG,YAAaC,EAAeJ,EAAfI,gBAAiBC,EAASL,EAATK,UAAWC,EAAEN,EAAFM,GAAmBC,EAAUP,EAAzB,eAGtDQ,EAAkDC,IAA1CC,EAAOF,EAAPE,QAASC,EAAgBH,EAAhBG,iBAAkBC,EAAUJ,EAAVI,WAC7BC,EAAUP,EAAE,GAAAQ,OAAMJ,EAAOI,KAAAA,OAAIR,EAAE,UAAA,GAAAQ,OAAcJ,EAAe,UAC5DK,EAAgBT,EAAE,GAAAQ,OAAMJ,EAAOI,KAAAA,OAAIR,EAAE,SAAA,GAAAQ,OAAaJ,EAAc,SAStE,OAPAM,GAAU,WACHN,IACLE,EAAWC,GACNV,GACLQ,EAAiBI,GACnB,GAAG,CAACL,EAASE,EAAYC,EAASV,EAAaQ,EAAkBI,IAG/DE,gBAACC,EAAI,CACHC,IAAI,KACJC,UAAU,SACVC,MAAM,QACNpB,IAAKA,EACLI,UAAWiB,EAAGC,EAAOC,OAAQnB,GAC7BC,GAAIA,gBACSC,GAAckB,EAAUC,EAAuBC,kBAAmBrB,IAE7D,iBAAVJ,EACNe,gBAACW,EAAO,CAACtB,GAAIO,EAASQ,MAAM,UAAUQ,KAAK,KAAKC,OAAO,SAASC,SAAU,EAAG1B,UAAWkB,EAAOrB,OAC5FA,GAGHA,EAGDC,GACCc,EAAAe,cAACd,EAAK,CAAAZ,GAAIS,GACPX,GACCa,EAAAe,cAACC,EACC,CAAAC,KAAiC,WAA3BC,EAAO/B,GAA+BA,EAAgBgC,KAAOhC,EACnEC,UAAWiB,EAAGC,EAAOnB,gBAA4C,WAA3B+B,EAAO/B,IAAgCA,EAAgBC,aAGzE,iBAAhBF,EACNc,EAACe,cAAAK,GAAKC,QAAQ,OAAOjB,MAAM,UAAUQ,KAAK,SACvC1B,GAGHA,GAMZ"}
@@ -1,2 +1,2 @@
1
- import t from"react";import o from"./ModalTopActions.module.scss.js";import e from"../../IconButton/IconButton.js";import{ComponentDefaultTestId as r}from"../../../tests/constants.js";import a from"../../../../icons/dist/react/CloseMedium.js";var i={dark:"fixed-dark",light:"fixed-light"},s=function(s){var n=s.renderAction,c=s.closeButtonAriaLabel,m=s.onClose,l=i[s.theme]||"primary";return t.createElement("div",{className:o.actions,"data-no-autofocus":!0},"function"==typeof n?n(l):n,t.createElement(e,{"data-testid":r.MODAL_NEXT_CLOSE_BUTTON,icon:a,onClick:m,size:"small",kind:"tertiary",color:l,ariaLabel:c}))};export{s as default};
1
+ import t from"react";import o from"./ModalTopActions.module.scss.js";import e from"../../IconButton/IconButton.js";import{ComponentDefaultTestId as a}from"../../../tests/constants.js";import r from"../../../../packages/icons/dist/react/CloseMedium.js";var i={dark:"fixed-dark",light:"fixed-light"},s=function(s){var n=s.renderAction,c=s.closeButtonAriaLabel,m=s.onClose,l=i[s.theme]||"primary";return t.createElement("div",{className:o.actions,"data-no-autofocus":!0},"function"==typeof n?n(l):n,t.createElement(e,{"data-testid":a.MODAL_NEXT_CLOSE_BUTTON,icon:r,onClick:m,size:"small",kind:"tertiary",color:l,ariaLabel:c}))};export{s as default};
2
2
  //# sourceMappingURL=ModalTopActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalTopActions.js","sources":["../../../../../../src/components/Modal/ModalTopActions/ModalTopActions.tsx"],"sourcesContent":["import React from \"react\";\nimport styles from \"./ModalTopActions.module.scss\";\nimport {\n type ModalTopActionsButtonColor,\n type ModalTopActionsTheme,\n type ModalTopActionsProps\n} from \"./ModalTopActions.types\";\nimport IconButton from \"../../IconButton/IconButton\";\nimport { CloseMedium } from \"@vibe/icons\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\n\nconst colorToButtonColor: Record<ModalTopActionsTheme, ModalTopActionsButtonColor> = {\n dark: \"fixed-dark\",\n light: \"fixed-light\"\n};\n\nconst ModalTopActions = ({ renderAction, theme, closeButtonAriaLabel, onClose }: ModalTopActionsProps) => {\n const buttonColor = colorToButtonColor[theme] || \"primary\";\n\n return (\n <div className={styles.actions} data-no-autofocus={true}>\n {typeof renderAction === \"function\" ? renderAction(buttonColor) : renderAction}\n <IconButton\n data-testid={ComponentDefaultTestId.MODAL_NEXT_CLOSE_BUTTON}\n icon={CloseMedium}\n onClick={onClose}\n size=\"small\"\n kind=\"tertiary\"\n color={buttonColor}\n ariaLabel={closeButtonAriaLabel}\n />\n </div>\n );\n};\n\nexport default ModalTopActions;\n"],"names":["colorToButtonColor","dark","light","ModalTopActions","_ref","renderAction","closeButtonAriaLabel","onClose","buttonColor","theme","React","className","styles","actions","createElement","IconButton","ComponentDefaultTestId","MODAL_NEXT_CLOSE_BUTTON","icon","CloseMedium","onClick","size","kind","color","ariaLabel"],"mappings":"mPAWA,IAAMA,EAA+E,CACnFC,KAAM,aACNC,MAAO,eAGHC,EAAkB,SAAHC,GAAoF,IAA9EC,EAAYD,EAAZC,aAAqBC,EAAoBF,EAApBE,qBAAsBC,EAAOH,EAAPG,QAC9DC,EAAcR,EADwBI,EAALK,QACU,UAEjD,OACEC,uBAAKC,UAAWC,EAAOC,6BAA4B,GACxB,mBAAjBR,EAA8BA,EAAaG,GAAeH,EAClEK,EAAAI,cAACC,EAAU,CAAA,cACIC,EAAuBC,wBACpCC,KAAMC,EACNC,QAASb,EACTc,KAAK,QACLC,KAAK,WACLC,MAAOf,EACPgB,UAAWlB,IAInB"}
1
+ {"version":3,"file":"ModalTopActions.js","sources":["../../../../../../src/components/Modal/ModalTopActions/ModalTopActions.tsx"],"sourcesContent":["import React from \"react\";\nimport styles from \"./ModalTopActions.module.scss\";\nimport {\n type ModalTopActionsButtonColor,\n type ModalTopActionsTheme,\n type ModalTopActionsProps\n} from \"./ModalTopActions.types\";\nimport IconButton from \"../../IconButton/IconButton\";\nimport { CloseMedium } from \"@vibe/icons\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\n\nconst colorToButtonColor: Record<ModalTopActionsTheme, ModalTopActionsButtonColor> = {\n dark: \"fixed-dark\",\n light: \"fixed-light\"\n};\n\nconst ModalTopActions = ({ renderAction, theme, closeButtonAriaLabel, onClose }: ModalTopActionsProps) => {\n const buttonColor = colorToButtonColor[theme] || \"primary\";\n\n return (\n <div className={styles.actions} data-no-autofocus={true}>\n {typeof renderAction === \"function\" ? renderAction(buttonColor) : renderAction}\n <IconButton\n data-testid={ComponentDefaultTestId.MODAL_NEXT_CLOSE_BUTTON}\n icon={CloseMedium}\n onClick={onClose}\n size=\"small\"\n kind=\"tertiary\"\n color={buttonColor}\n ariaLabel={closeButtonAriaLabel}\n />\n </div>\n );\n};\n\nexport default ModalTopActions;\n"],"names":["colorToButtonColor","dark","light","ModalTopActions","_ref","renderAction","closeButtonAriaLabel","onClose","buttonColor","theme","React","className","styles","actions","createElement","IconButton","ComponentDefaultTestId","MODAL_NEXT_CLOSE_BUTTON","icon","CloseMedium","onClick","size","kind","color","ariaLabel"],"mappings":"4PAWA,IAAMA,EAA+E,CACnFC,KAAM,aACNC,MAAO,eAGHC,EAAkB,SAAHC,GAAoF,IAA9EC,EAAYD,EAAZC,aAAqBC,EAAoBF,EAApBE,qBAAsBC,EAAOH,EAAPG,QAC9DC,EAAcR,EADwBI,EAALK,QACU,UAEjD,OACEC,uBAAKC,UAAWC,EAAOC,6BAA4B,GACxB,mBAAjBR,EAA8BA,EAAaG,GAAeH,EAClEK,EAAAI,cAACC,EAAU,CAAA,cACIC,EAAuBC,wBACpCC,KAAMC,EACNC,QAASb,EACTc,KAAK,QACLC,KAAK,WACLC,MAAOf,EACPgB,UAAWlB,IAInB"}
@@ -1,2 +1,2 @@
1
- import{__rest as t}from"../../../../../_virtual/_tslib.js";import e,{forwardRef as o}from"react";import r from"./ModalFooterBase.module.scss.js";import s from"../../../Button/Button.js";import a from"../../../Flex/Flex.js";import i from"classnames";import n from"../../../Tooltip/Tooltip.js";var m=o((function(o,m){var l=o.primaryButton,c=o.secondaryButton,p=o.renderAction,d=o.id,f=o.className,j=o["data-testid"],u=l.text,x=l.tooltipProps,b=void 0===x?{}:x,g=t(l,["text","tooltipProps"]),v=c||{},B=v.text,E=v.tooltipProps,y=void 0===E?{}:E,O=t(v,["text","tooltipProps"]);return e.createElement(a,{ref:m,id:d,justify:"space-between",gap:"small",className:i(r.footer,f),"data-testid":j},e.createElement(n,Object.assign({},b,{content:b.content}),e.createElement(s,Object.assign({},g),u)),c&&e.createElement(n,Object.assign({},y,{content:y.content}),e.createElement(s,Object.assign({},O,{kind:"tertiary"}),B)),p)}));export{m as default};
1
+ import{__rest as t}from"../../../../../_virtual/_tslib.js";import e,{forwardRef as o}from"react";import r from"./ModalFooterBase.module.scss.js";import s from"../../../Flex/Flex.js";import a from"classnames";import n from"../../../Tooltip/Tooltip.js";import i from"../../../../../components/button/dist/Button/Button.js";var m=o((function(o,m){var c=o.primaryButton,l=o.secondaryButton,p=o.renderAction,d=o.id,f=o.className,u=o["data-testid"],j=c.text,b=c.tooltipProps,x=void 0===b?{}:b,g=t(c,["text","tooltipProps"]),v=l||{},B=v.text,E=v.tooltipProps,y=void 0===E?{}:E,O=t(v,["text","tooltipProps"]);return e.createElement(s,{ref:m,id:d,justify:"space-between",gap:"small",className:a(r.footer,f),"data-testid":u},e.createElement(n,Object.assign({},x,{content:x.content}),e.createElement(i,Object.assign({},g),j)),l&&e.createElement(n,Object.assign({},y,{content:y.content}),e.createElement(i,Object.assign({},O,{kind:"tertiary"}),B)),p)}));export{m as default};
2
2
  //# sourceMappingURL=ModalFooterBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFooterBase.js","sources":["../../../../../../../src/components/Modal/footers/ModalFooterBase/ModalFooterBase.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport styles from \"./ModalFooterBase.module.scss\";\nimport Button from \"../../../Button/Button\";\nimport Flex from \"../../../Flex/Flex\";\nimport { type ModalFooterBaseProps } from \"./ModalFooterBase.types\";\nimport cx from \"classnames\";\nimport { Tooltip } from \"../../../Tooltip\";\n\nconst ModalFooterBase = forwardRef(\n (\n { primaryButton, secondaryButton, renderAction, id, className, \"data-testid\": dataTestId }: ModalFooterBaseProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const {\n text: primaryButtonText,\n tooltipProps: primaryButtonTooltipProps = {},\n ...primaryButtonProps\n } = primaryButton;\n const {\n text: secondaryButtonText,\n tooltipProps: secondaryButtonTooltipProps = {},\n ...secondaryButtonProps\n } = secondaryButton || {};\n\n return (\n <Flex\n ref={ref}\n id={id}\n justify=\"space-between\"\n gap=\"small\"\n className={cx(styles.footer, className)}\n data-testid={dataTestId}\n >\n <Tooltip {...primaryButtonTooltipProps} content={primaryButtonTooltipProps.content}>\n <Button {...primaryButtonProps}>{primaryButtonText}</Button>\n </Tooltip>\n {secondaryButton && (\n <Tooltip {...secondaryButtonTooltipProps} content={secondaryButtonTooltipProps.content}>\n <Button {...secondaryButtonProps} kind=\"tertiary\">\n {secondaryButtonText}\n </Button>\n </Tooltip>\n )}\n {renderAction}\n </Flex>\n );\n }\n);\n\nexport default ModalFooterBase;\n"],"names":["ModalFooterBase","forwardRef","_ref","ref","primaryButton","secondaryButton","renderAction","id","className","dataTestId","primaryButtonText","text","_primaryButton$toolti","tooltipProps","primaryButtonTooltipProps","primaryButtonProps","__rest","_a","secondaryButtonText","_a$tooltipProps","secondaryButtonTooltipProps","secondaryButtonProps","React","createElement","Flex","justify","gap","cx","styles","footer","Tooltip","content","Button","Object","assign","kind"],"mappings":"oSAQMA,IAAAA,EAAkBC,GACtB,SAAAC,EAEEC,GACE,IAFAC,EAAaF,EAAbE,cAAeC,EAAeH,EAAfG,gBAAiBC,EAAYJ,EAAZI,aAAcC,EAAEL,EAAFK,GAAIC,EAASN,EAATM,UAA0BC,EAAUP,EAAzB,eAIvDQ,EAGJN,EAHFO,KAAIC,EAGFR,EAFFS,aAAcC,OAAyB,IAAAF,EAAG,CAAE,EAAAA,EACzCG,EAAkBC,EACnBZ,EAJE,CAAA,OAAA,iBAKAa,EAIFZ,GAAmB,CAAE,EAHjBa,EACwCD,EAD9CN,KAAIQ,EAC0CF,EAA9CJ,aAAcO,OAA2B,IAAAD,EAAG,CAAE,EAAAA,EAC3CE,EAAoBL,EAAAC,EAHnB,CAIL,OAAA,iBAED,OACEK,EAAAC,cAACC,EAAI,CACHrB,IAAKA,EACLI,GAAIA,EACJkB,QAAQ,gBACRC,IAAI,QACJlB,UAAWmB,EAAGC,EAAOC,OAAQrB,iBAChBC,GAEba,EAACC,cAAAO,mBAAYhB,EAAyB,CAAEiB,QAASjB,EAA0BiB,UACzET,EAAAC,cAACS,EAAWC,OAAAC,OAAA,CAAA,EAAAnB,GAAqBL,IAElCL,GACCiB,EAAAC,cAACO,EAAOG,OAAAC,OAAA,CAAA,EAAKd,EAA2B,CAAEW,QAASX,EAA4BW,UAC7ET,EAACC,cAAAS,EAAWC,OAAAC,OAAA,CAAA,EAAAb,EAAsB,CAAAc,KAAK,aACpCjB,IAINZ,EAGP"}
1
+ {"version":3,"file":"ModalFooterBase.js","sources":["../../../../../../../src/components/Modal/footers/ModalFooterBase/ModalFooterBase.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport styles from \"./ModalFooterBase.module.scss\";\nimport { Button } from \"@vibe/button\";\nimport Flex from \"../../../Flex/Flex\";\nimport { type ModalFooterBaseProps } from \"./ModalFooterBase.types\";\nimport cx from \"classnames\";\nimport { Tooltip } from \"../../../Tooltip\";\n\nconst ModalFooterBase = forwardRef(\n (\n { primaryButton, secondaryButton, renderAction, id, className, \"data-testid\": dataTestId }: ModalFooterBaseProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const {\n text: primaryButtonText,\n tooltipProps: primaryButtonTooltipProps = {},\n ...primaryButtonProps\n } = primaryButton;\n const {\n text: secondaryButtonText,\n tooltipProps: secondaryButtonTooltipProps = {},\n ...secondaryButtonProps\n } = secondaryButton || {};\n\n return (\n <Flex\n ref={ref}\n id={id}\n justify=\"space-between\"\n gap=\"small\"\n className={cx(styles.footer, className)}\n data-testid={dataTestId}\n >\n <Tooltip {...primaryButtonTooltipProps} content={primaryButtonTooltipProps.content}>\n <Button {...primaryButtonProps}>{primaryButtonText}</Button>\n </Tooltip>\n {secondaryButton && (\n <Tooltip {...secondaryButtonTooltipProps} content={secondaryButtonTooltipProps.content}>\n <Button {...secondaryButtonProps} kind=\"tertiary\">\n {secondaryButtonText}\n </Button>\n </Tooltip>\n )}\n {renderAction}\n </Flex>\n );\n }\n);\n\nexport default ModalFooterBase;\n"],"names":["ModalFooterBase","forwardRef","_ref","ref","primaryButton","secondaryButton","renderAction","id","className","dataTestId","primaryButtonText","text","_primaryButton$toolti","tooltipProps","primaryButtonTooltipProps","primaryButtonProps","__rest","_a","secondaryButtonText","_a$tooltipProps","secondaryButtonTooltipProps","secondaryButtonProps","React","createElement","Flex","justify","gap","cx","styles","footer","Tooltip","content","Button","Object","assign","kind"],"mappings":"iUAQMA,IAAAA,EAAkBC,GACtB,SAAAC,EAEEC,GACE,IAFAC,EAAaF,EAAbE,cAAeC,EAAeH,EAAfG,gBAAiBC,EAAYJ,EAAZI,aAAcC,EAAEL,EAAFK,GAAIC,EAASN,EAATM,UAA0BC,EAAUP,EAAzB,eAIvDQ,EAGJN,EAHFO,KAAIC,EAGFR,EAFFS,aAAcC,OAAyB,IAAAF,EAAG,CAAE,EAAAA,EACzCG,EAAkBC,EACnBZ,EAJE,CAAA,OAAA,iBAKAa,EAIFZ,GAAmB,CAAE,EAHjBa,EACwCD,EAD9CN,KAAIQ,EAC0CF,EAA9CJ,aAAcO,OAA2B,IAAAD,EAAG,CAAE,EAAAA,EAC3CE,EAAoBL,EAAAC,EAHnB,CAIL,OAAA,iBAED,OACEK,EAAAC,cAACC,EAAI,CACHrB,IAAKA,EACLI,GAAIA,EACJkB,QAAQ,gBACRC,IAAI,QACJlB,UAAWmB,EAAGC,EAAOC,OAAQrB,iBAChBC,GAEba,EAACC,cAAAO,mBAAYhB,EAAyB,CAAEiB,QAASjB,EAA0BiB,UACzET,EAAAC,cAACS,EAAWC,OAAAC,OAAA,CAAA,EAAAnB,GAAqBL,IAElCL,GACCiB,EAAAC,cAACO,EAAOG,OAAAC,OAAA,CAAA,EAAKd,EAA2B,CAAEW,QAASX,EAA4BW,UAC7ET,EAACC,cAAAS,EAAWC,OAAAC,OAAA,CAAA,EAAAb,EAAsB,CAAAc,KAAK,aACpCjB,IAINZ,EAGP"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import t from"classnames";import i,{forwardRef as s,useCallback as o,useMemo as r}from"react";import l from"../Divider/Divider.js";import{NOOP as a}from"../../utils/function-utils.js";import n from"./components/StepIndicator/StepIndicator.js";import{MultiStepType as p,StepStatus as m,TextPlacement as c,Size as d}from"./MultiStepConstants.js";import{getTestId as f}from"../../tests/testIds.js";import{ComponentDefaultTestId as u}from"../../tests/constants.js";import{withStaticProps as v}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import y from"./MultiStepIndicator.module.scss.js";import S from"../../../icons/dist/react/Check.js";var C=v(s((function(s,p){var m=s.className,c=s.steps,d=void 0===c?[]:c,v=s.type,C=void 0===v?"primary":v,N=s.stepComponentClassName,j=s.dividerComponentClassName,I=s.fulfilledStepIcon,g=void 0===I?S:I,b=s.fulfilledStepIconType,D=void 0===b?"svg":b,T=s.isFulfilledStepDisplayNumber,h=void 0!==T&&T,k=s.onClick,E=void 0===k?a:k,P=s.textPlacement,_=void 0===P?"horizontal":P,x=s.id,F=s["data-testid"],z="vertical"===_?"regular":s.size,w=o((function(s,o){return i.createElement(i.Fragment,{key:"".concat(s.titleText,"_").concat(o)},i.createElement(n,Object.assign({},s,{stepNumber:o+1,type:C,stepComponentClassName:N,fulfilledStepIcon:g,fulfilledStepIconType:D,onClick:E,isFulfilledStepDisplayNumber:h,size:z})),o!==d.length-1&&i.createElement(l,{className:t(y.divider,j,e({},y.compact,"compact"===z))}))}),[E,h,C,N,g,D,j,d.length,z]),M=o((function(e,s){return i.createElement(n,Object.assign({},e,{key:"".concat(e.titleText,"_").concat(s),stepNumber:s+1,type:C,stepComponentClassName:N,fulfilledStepIcon:g,fulfilledStepIconType:D,onClick:E,isFollowedByDivider:s!==d.length-1,stepDividerClassName:t(y.divider,j),isVertical:!0,isFulfilledStepDisplayNumber:h}))}),[E,h,C,N,g,D,j,d.length]),O=r((function(){return"vertical"===_?M:w}),[_,M,w]);return i.createElement("ol",{ref:p,id:x,"data-testid":F||f(u.MULTI_STEP_INDICATOR,x),className:t(y.wrapper,m)},d.map(O))})),{types:p,stepStatuses:m,textPlacements:c,sizes:d});export{C as default};
1
+ import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import t from"classnames";import i,{forwardRef as s,useCallback as o,useMemo as r}from"react";import l from"../Divider/Divider.js";import{NOOP as a}from"../../utils/function-utils.js";import n from"./components/StepIndicator/StepIndicator.js";import{MultiStepType as p,StepStatus as m,TextPlacement as c,Size as d}from"./MultiStepConstants.js";import{getTestId as f}from"../../tests/testIds.js";import{ComponentDefaultTestId as u}from"../../tests/constants.js";import{withStaticProps as v}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import y from"./MultiStepIndicator.module.scss.js";import S from"../../../packages/icons/dist/react/Check.js";var C=v(s((function(s,p){var m=s.className,c=s.steps,d=void 0===c?[]:c,v=s.type,C=void 0===v?"primary":v,N=s.stepComponentClassName,j=s.dividerComponentClassName,I=s.fulfilledStepIcon,g=void 0===I?S:I,b=s.fulfilledStepIconType,D=void 0===b?"svg":b,T=s.isFulfilledStepDisplayNumber,h=void 0!==T&&T,k=s.onClick,E=void 0===k?a:k,P=s.textPlacement,_=void 0===P?"horizontal":P,x=s.id,F=s["data-testid"],z="vertical"===_?"regular":s.size,w=o((function(s,o){return i.createElement(i.Fragment,{key:"".concat(s.titleText,"_").concat(o)},i.createElement(n,Object.assign({},s,{stepNumber:o+1,type:C,stepComponentClassName:N,fulfilledStepIcon:g,fulfilledStepIconType:D,onClick:E,isFulfilledStepDisplayNumber:h,size:z})),o!==d.length-1&&i.createElement(l,{className:t(y.divider,j,e({},y.compact,"compact"===z))}))}),[E,h,C,N,g,D,j,d.length,z]),M=o((function(e,s){return i.createElement(n,Object.assign({},e,{key:"".concat(e.titleText,"_").concat(s),stepNumber:s+1,type:C,stepComponentClassName:N,fulfilledStepIcon:g,fulfilledStepIconType:D,onClick:E,isFollowedByDivider:s!==d.length-1,stepDividerClassName:t(y.divider,j),isVertical:!0,isFulfilledStepDisplayNumber:h}))}),[E,h,C,N,g,D,j,d.length]),O=r((function(){return"vertical"===_?M:w}),[_,M,w]);return i.createElement("ol",{ref:p,id:x,"data-testid":F||f(u.MULTI_STEP_INDICATOR,x),className:t(y.wrapper,m)},d.map(O))})),{types:p,stepStatuses:m,textPlacements:c,sizes:d});export{C as default};
2
2
  //# sourceMappingURL=MultiStepIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiStepIndicator.js","sources":["../../../../../src/components/MultiStepIndicator/MultiStepIndicator.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useCallback, useMemo } from \"react\";\nimport { Check } from \"@vibe/icons\";\nimport Divider from \"../../components/Divider/Divider\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport StepIndicator from \"./components/StepIndicator/StepIndicator\";\nimport {\n MultiStepType as MultiStepTypeEnum,\n Size as SizeEnum,\n StepStatus as StepStatusEnum,\n TextPlacement as TextPlacementEnum\n} from \"./MultiStepConstants\";\nimport { type MultiStepType, type MultiStepSize, type TextPlacement, type Step } from \"./MultiStep.types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { type SubIcon, type VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./MultiStepIndicator.module.scss\";\n\nexport interface MultiStepIndicatorProps extends VibeComponentProps {\n /**\n * The list of steps in the multi-step indicator.\n */\n steps?: Step[];\n /**\n * The visual style of the multi-step indicator.\n */\n type?: MultiStepType;\n /**\n * Class name applied to each step component.\n */\n stepComponentClassName?: string;\n /**\n * Class name applied to the divider between steps.\n */\n dividerComponentClassName?: string;\n /**\n * The icon used for fulfilled steps.\n */\n fulfilledStepIcon?: SubIcon;\n /**\n * The type of the fulfilled step icon.\n */\n fulfilledStepIconType?: \"svg\" | \"font\";\n /**\n * If true, displays the step number instead of the fulfilled step icon.\n */\n isFulfilledStepDisplayNumber?: boolean;\n /**\n * Callback fired when a step is clicked.\n */\n onClick?: (stepNumber: number) => void;\n /**\n * The placement of the step text.\n */\n textPlacement?: TextPlacement;\n /**\n * The size of the multi-step indicator.\n */\n size?: MultiStepSize;\n}\n\nconst MultiStepIndicator = forwardRef(\n (\n {\n className,\n steps = [],\n type = \"primary\",\n stepComponentClassName,\n dividerComponentClassName,\n fulfilledStepIcon = Check,\n fulfilledStepIconType = \"svg\",\n isFulfilledStepDisplayNumber = false,\n onClick = NOOP,\n textPlacement = \"horizontal\",\n id,\n size,\n \"data-testid\": dataTestId\n }: MultiStepIndicatorProps,\n ref: React.ForwardedRef<HTMLOListElement>\n ) => {\n const finalSize = textPlacement === \"vertical\" ? \"regular\" : size;\n\n const renderHorizontalStepIndicator = useCallback(\n (step: Step, index: number) => {\n return (\n <React.Fragment key={`${step.titleText}_${index}`}>\n <StepIndicator\n {...step}\n stepNumber={index + 1}\n type={type}\n stepComponentClassName={stepComponentClassName}\n fulfilledStepIcon={fulfilledStepIcon}\n fulfilledStepIconType={fulfilledStepIconType}\n onClick={onClick}\n isFulfilledStepDisplayNumber={isFulfilledStepDisplayNumber}\n size={finalSize}\n />\n {index !== steps.length - 1 && (\n <Divider\n className={cx(styles.divider, dividerComponentClassName, {\n [styles.compact]: finalSize === \"compact\"\n })}\n />\n )}\n </React.Fragment>\n );\n },\n [\n onClick,\n isFulfilledStepDisplayNumber,\n type,\n stepComponentClassName,\n fulfilledStepIcon,\n fulfilledStepIconType,\n dividerComponentClassName,\n steps.length,\n finalSize\n ]\n );\n\n const renderVerticalStepIndicator = useCallback(\n (step: Step, index: number) => {\n return (\n <StepIndicator\n {...step}\n key={`${step.titleText}_${index}`}\n stepNumber={index + 1}\n type={type}\n stepComponentClassName={stepComponentClassName}\n fulfilledStepIcon={fulfilledStepIcon}\n fulfilledStepIconType={fulfilledStepIconType}\n onClick={onClick}\n isFollowedByDivider={index !== steps.length - 1}\n stepDividerClassName={cx(styles.divider, dividerComponentClassName)}\n isVertical\n isFulfilledStepDisplayNumber={isFulfilledStepDisplayNumber}\n />\n );\n },\n [\n onClick,\n isFulfilledStepDisplayNumber,\n type,\n stepComponentClassName,\n fulfilledStepIcon,\n fulfilledStepIconType,\n dividerComponentClassName,\n steps.length\n ]\n );\n\n const stepRenderer = useMemo(\n () => (textPlacement === \"vertical\" ? renderVerticalStepIndicator : renderHorizontalStepIndicator),\n [textPlacement, renderVerticalStepIndicator, renderHorizontalStepIndicator]\n );\n\n return (\n <ol\n ref={ref}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MULTI_STEP_INDICATOR, id)}\n className={cx(styles.wrapper, className)}\n >\n {steps.map(stepRenderer)}\n </ol>\n );\n }\n);\n\ninterface MultiStepIndicatorStaticProps {\n types: typeof MultiStepTypeEnum;\n stepStatuses: typeof StepStatusEnum;\n textPlacements: typeof TextPlacementEnum;\n sizes: typeof SizeEnum;\n}\n\nexport default withStaticProps<MultiStepIndicatorProps, MultiStepIndicatorStaticProps>(MultiStepIndicator, {\n types: MultiStepTypeEnum,\n stepStatuses: StepStatusEnum,\n textPlacements: TextPlacementEnum,\n sizes: SizeEnum\n});\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","_ref$steps","steps","_ref$type","type","stepComponentClassName","dividerComponentClassName","_ref$fulfilledStepIco","fulfilledStepIcon","Check","_ref$fulfilledStepIco2","fulfilledStepIconType","_ref$isFulfilledStepD","isFulfilledStepDisplayNumber","_ref$onClick","onClick","NOOP","_ref$textPlacement","textPlacement","id","dataTestId","finalSize","size","renderHorizontalStepIndicator","useCallback","step","index","React","createElement","Fragment","key","concat","titleText","StepIndicator","Object","assign","stepNumber","length","Divider","cx","styles","divider","_defineProperty","compact","renderVerticalStepIndicator","isFollowedByDivider","stepDividerClassName","isVertical","stepRenderer","useMemo","getTestId","ComponentDefaultTestId","MULTI_STEP_INDICATOR","wrapper","map","types","MultiStepTypeEnum","stepStatuses","StepStatusEnum","textPlacements","TextPlacementEnum","sizes","SizeEnum"],"mappings":"0uBA6DA,IAmHeA,EAAAA,EAnHYC,GACzB,SAAAC,EAgBEC,GACE,IAfAC,EAASF,EAATE,UAASC,EAAAH,EACTI,MAAAA,OAAQ,IAAHD,EAAG,GAAEA,EAAAE,EAAAL,EACVM,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAChBE,EAAsBP,EAAtBO,uBACAC,EAAyBR,EAAzBQ,0BAAyBC,EAAAT,EACzBU,kBAAAA,OAAoBC,IAAHF,EAAGE,EAAKF,EAAAG,EAAAZ,EACzBa,sBAAAA,OAAwB,IAAHD,EAAG,MAAKA,EAAAE,EAAAd,EAC7Be,6BAAAA,OAA+B,IAAHD,GAAQA,EAAAE,EAAAhB,EACpCiB,QAAAA,OAAUC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAnB,EACdoB,cAAAA,OAAgB,IAAHD,EAAG,aAAYA,EAC5BE,EAAErB,EAAFqB,GAEeC,EAAUtB,EAAzB,eAIIuB,EAA8B,aAAlBH,EAA+B,UAL3CpB,EAAJwB,KAOIC,EAAgCC,GACpC,SAACC,EAAYC,GACX,OACEC,EAAAC,cAACD,EAAME,SAAS,CAAAC,IAAG,GAAAC,OAAKN,EAAKO,UAAS,KAAAD,OAAIL,IACxCC,EAAAC,cAACK,EACKC,OAAAC,OAAA,CAAA,EAAAV,EACJ,CAAAW,WAAYV,EAAQ,EACpBtB,KAAMA,EACNC,uBAAwBA,EACxBG,kBAAmBA,EACnBG,sBAAuBA,EACvBI,QAASA,EACTF,6BAA8BA,EAC9BS,KAAMD,KAEPK,IAAUxB,EAAMmC,OAAS,GACxBV,EAACC,cAAAU,GACCtC,UAAWuC,EAAGC,EAAOC,QAASnC,EAAyBoC,EAAA,CAAA,EACpDF,EAAOG,QAAwB,YAAdtB,MAM7B,GACD,CACEN,EACAF,EACAT,EACAC,EACAG,EACAG,EACAL,EACAJ,EAAMmC,OACNhB,IAIEuB,EAA8BpB,GAClC,SAACC,EAAYC,GACX,OACEC,EAAAC,cAACK,EAAaC,OAAAC,OAAA,CAAA,EACRV,EACJ,CAAAK,IAAG,GAAAC,OAAKN,EAAKO,UAASD,KAAAA,OAAIL,GAC1BU,WAAYV,EAAQ,EACpBtB,KAAMA,EACNC,uBAAwBA,EACxBG,kBAAmBA,EACnBG,sBAAuBA,EACvBI,QAASA,EACT8B,oBAAqBnB,IAAUxB,EAAMmC,OAAS,EAC9CS,qBAAsBP,EAAGC,EAAOC,QAASnC,GACzCyC,cACAlC,6BAA8BA,IAGnC,GACD,CACEE,EACAF,EACAT,EACAC,EACAG,EACAG,EACAL,EACAJ,EAAMmC,SAIJW,EAAeC,GACnB,WAAA,MAAyB,aAAlB/B,EAA+B0B,EAA8BrB,CAA8B,GAClG,CAACL,EAAe0B,EAA6BrB,IAG/C,OACEI,EACEC,cAAA,KAAA,CAAA7B,IAAKA,EACLoB,GAAIA,EACS,cAAAC,GAAc8B,EAAUC,EAAuBC,qBAAsBjC,GAClFnB,UAAWuC,EAAGC,EAAOa,QAASrD,IAE7BE,EAAMoD,IAAIN,GAGjB,IAUyG,CACzGO,MAAOC,EACPC,aAAcC,EACdC,eAAgBC,EAChBC,MAAOC"}
1
+ {"version":3,"file":"MultiStepIndicator.js","sources":["../../../../../src/components/MultiStepIndicator/MultiStepIndicator.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useCallback, useMemo } from \"react\";\nimport { Check } from \"@vibe/icons\";\nimport { type SubIcon } from \"@vibe/icon\";\nimport Divider from \"../../components/Divider/Divider\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport StepIndicator from \"./components/StepIndicator/StepIndicator\";\nimport {\n MultiStepType as MultiStepTypeEnum,\n Size as SizeEnum,\n StepStatus as StepStatusEnum,\n TextPlacement as TextPlacementEnum\n} from \"./MultiStepConstants\";\nimport { type MultiStepType, type MultiStepSize, type TextPlacement, type Step } from \"./MultiStep.types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { type VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./MultiStepIndicator.module.scss\";\n\nexport interface MultiStepIndicatorProps extends VibeComponentProps {\n /**\n * The list of steps in the multi-step indicator.\n */\n steps?: Step[];\n /**\n * The visual style of the multi-step indicator.\n */\n type?: MultiStepType;\n /**\n * Class name applied to each step component.\n */\n stepComponentClassName?: string;\n /**\n * Class name applied to the divider between steps.\n */\n dividerComponentClassName?: string;\n /**\n * The icon used for fulfilled steps.\n */\n fulfilledStepIcon?: SubIcon;\n /**\n * The type of the fulfilled step icon.\n */\n fulfilledStepIconType?: \"svg\" | \"font\";\n /**\n * If true, displays the step number instead of the fulfilled step icon.\n */\n isFulfilledStepDisplayNumber?: boolean;\n /**\n * Callback fired when a step is clicked.\n */\n onClick?: (stepNumber: number) => void;\n /**\n * The placement of the step text.\n */\n textPlacement?: TextPlacement;\n /**\n * The size of the multi-step indicator.\n */\n size?: MultiStepSize;\n}\n\nconst MultiStepIndicator = forwardRef(\n (\n {\n className,\n steps = [],\n type = \"primary\",\n stepComponentClassName,\n dividerComponentClassName,\n fulfilledStepIcon = Check,\n fulfilledStepIconType = \"svg\",\n isFulfilledStepDisplayNumber = false,\n onClick = NOOP,\n textPlacement = \"horizontal\",\n id,\n size,\n \"data-testid\": dataTestId\n }: MultiStepIndicatorProps,\n ref: React.ForwardedRef<HTMLOListElement>\n ) => {\n const finalSize = textPlacement === \"vertical\" ? \"regular\" : size;\n\n const renderHorizontalStepIndicator = useCallback(\n (step: Step, index: number) => {\n return (\n <React.Fragment key={`${step.titleText}_${index}`}>\n <StepIndicator\n {...step}\n stepNumber={index + 1}\n type={type}\n stepComponentClassName={stepComponentClassName}\n fulfilledStepIcon={fulfilledStepIcon}\n fulfilledStepIconType={fulfilledStepIconType}\n onClick={onClick}\n isFulfilledStepDisplayNumber={isFulfilledStepDisplayNumber}\n size={finalSize}\n />\n {index !== steps.length - 1 && (\n <Divider\n className={cx(styles.divider, dividerComponentClassName, {\n [styles.compact]: finalSize === \"compact\"\n })}\n />\n )}\n </React.Fragment>\n );\n },\n [\n onClick,\n isFulfilledStepDisplayNumber,\n type,\n stepComponentClassName,\n fulfilledStepIcon,\n fulfilledStepIconType,\n dividerComponentClassName,\n steps.length,\n finalSize\n ]\n );\n\n const renderVerticalStepIndicator = useCallback(\n (step: Step, index: number) => {\n return (\n <StepIndicator\n {...step}\n key={`${step.titleText}_${index}`}\n stepNumber={index + 1}\n type={type}\n stepComponentClassName={stepComponentClassName}\n fulfilledStepIcon={fulfilledStepIcon}\n fulfilledStepIconType={fulfilledStepIconType}\n onClick={onClick}\n isFollowedByDivider={index !== steps.length - 1}\n stepDividerClassName={cx(styles.divider, dividerComponentClassName)}\n isVertical\n isFulfilledStepDisplayNumber={isFulfilledStepDisplayNumber}\n />\n );\n },\n [\n onClick,\n isFulfilledStepDisplayNumber,\n type,\n stepComponentClassName,\n fulfilledStepIcon,\n fulfilledStepIconType,\n dividerComponentClassName,\n steps.length\n ]\n );\n\n const stepRenderer = useMemo(\n () => (textPlacement === \"vertical\" ? renderVerticalStepIndicator : renderHorizontalStepIndicator),\n [textPlacement, renderVerticalStepIndicator, renderHorizontalStepIndicator]\n );\n\n return (\n <ol\n ref={ref}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MULTI_STEP_INDICATOR, id)}\n className={cx(styles.wrapper, className)}\n >\n {steps.map(stepRenderer)}\n </ol>\n );\n }\n);\n\ninterface MultiStepIndicatorStaticProps {\n types: typeof MultiStepTypeEnum;\n stepStatuses: typeof StepStatusEnum;\n textPlacements: typeof TextPlacementEnum;\n sizes: typeof SizeEnum;\n}\n\nexport default withStaticProps<MultiStepIndicatorProps, MultiStepIndicatorStaticProps>(MultiStepIndicator, {\n types: MultiStepTypeEnum,\n stepStatuses: StepStatusEnum,\n textPlacements: TextPlacementEnum,\n sizes: SizeEnum\n});\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","_ref$steps","steps","_ref$type","type","stepComponentClassName","dividerComponentClassName","_ref$fulfilledStepIco","fulfilledStepIcon","Check","_ref$fulfilledStepIco2","fulfilledStepIconType","_ref$isFulfilledStepD","isFulfilledStepDisplayNumber","_ref$onClick","onClick","NOOP","_ref$textPlacement","textPlacement","id","dataTestId","finalSize","size","renderHorizontalStepIndicator","useCallback","step","index","React","createElement","Fragment","key","concat","titleText","StepIndicator","Object","assign","stepNumber","length","Divider","cx","styles","divider","_defineProperty","compact","renderVerticalStepIndicator","isFollowedByDivider","stepDividerClassName","isVertical","stepRenderer","useMemo","getTestId","ComponentDefaultTestId","MULTI_STEP_INDICATOR","wrapper","map","types","MultiStepTypeEnum","stepStatuses","StepStatusEnum","textPlacements","TextPlacementEnum","sizes","SizeEnum"],"mappings":"mvBA8DA,IAmHeA,EAAAA,EAnHYC,GACzB,SAAAC,EAgBEC,GACE,IAfAC,EAASF,EAATE,UAASC,EAAAH,EACTI,MAAAA,OAAQ,IAAHD,EAAG,GAAEA,EAAAE,EAAAL,EACVM,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAChBE,EAAsBP,EAAtBO,uBACAC,EAAyBR,EAAzBQ,0BAAyBC,EAAAT,EACzBU,kBAAAA,OAAoBC,IAAHF,EAAGE,EAAKF,EAAAG,EAAAZ,EACzBa,sBAAAA,OAAwB,IAAHD,EAAG,MAAKA,EAAAE,EAAAd,EAC7Be,6BAAAA,OAA+B,IAAHD,GAAQA,EAAAE,EAAAhB,EACpCiB,QAAAA,OAAUC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAnB,EACdoB,cAAAA,OAAgB,IAAHD,EAAG,aAAYA,EAC5BE,EAAErB,EAAFqB,GAEeC,EAAUtB,EAAzB,eAIIuB,EAA8B,aAAlBH,EAA+B,UAL3CpB,EAAJwB,KAOIC,EAAgCC,GACpC,SAACC,EAAYC,GACX,OACEC,EAAAC,cAACD,EAAME,SAAS,CAAAC,IAAG,GAAAC,OAAKN,EAAKO,UAAS,KAAAD,OAAIL,IACxCC,EAAAC,cAACK,EACKC,OAAAC,OAAA,CAAA,EAAAV,EACJ,CAAAW,WAAYV,EAAQ,EACpBtB,KAAMA,EACNC,uBAAwBA,EACxBG,kBAAmBA,EACnBG,sBAAuBA,EACvBI,QAASA,EACTF,6BAA8BA,EAC9BS,KAAMD,KAEPK,IAAUxB,EAAMmC,OAAS,GACxBV,EAACC,cAAAU,GACCtC,UAAWuC,EAAGC,EAAOC,QAASnC,EAAyBoC,EAAA,CAAA,EACpDF,EAAOG,QAAwB,YAAdtB,MAM7B,GACD,CACEN,EACAF,EACAT,EACAC,EACAG,EACAG,EACAL,EACAJ,EAAMmC,OACNhB,IAIEuB,EAA8BpB,GAClC,SAACC,EAAYC,GACX,OACEC,EAAAC,cAACK,EAAaC,OAAAC,OAAA,CAAA,EACRV,EACJ,CAAAK,IAAG,GAAAC,OAAKN,EAAKO,UAASD,KAAAA,OAAIL,GAC1BU,WAAYV,EAAQ,EACpBtB,KAAMA,EACNC,uBAAwBA,EACxBG,kBAAmBA,EACnBG,sBAAuBA,EACvBI,QAASA,EACT8B,oBAAqBnB,IAAUxB,EAAMmC,OAAS,EAC9CS,qBAAsBP,EAAGC,EAAOC,QAASnC,GACzCyC,cACAlC,6BAA8BA,IAGnC,GACD,CACEE,EACAF,EACAT,EACAC,EACAG,EACAG,EACAL,EACAJ,EAAMmC,SAIJW,EAAeC,GACnB,WAAA,MAAyB,aAAlB/B,EAA+B0B,EAA8BrB,CAA8B,GAClG,CAACL,EAAe0B,EAA6BrB,IAG/C,OACEI,EACEC,cAAA,KAAA,CAAA7B,IAAKA,EACLoB,GAAIA,EACS,cAAAC,GAAc8B,EAAUC,EAAuBC,qBAAsBjC,GAClFnB,UAAWuC,EAAGC,EAAOa,QAASrD,IAE7BE,EAAMoD,IAAIN,GAGjB,IAUyG,CACzGO,MAAOC,EACPC,aAAcC,EACdC,eAAgBC,EAChBC,MAAOC"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,toConsumableArray as t,defineProperty as i}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{camelCase as n}from"es-toolkit";import{getStyle as a}from"../../../../helpers/typesciptCssModulesHelper.js";import{getTestId as o,ComponentDefaultTestId as r}from"../../../../tests/testIds.js";import l from"classnames";import{keyCodes as s}from"../../../../constants/keyCodes.js";import c,{useState as m,useRef as p,useCallback as d,useEffect as u,useMemo as f}from"react";import{SwitchTransition as v,CSSTransition as y}from"react-transition-group";import _ from"../../../../hooks/useEventListener/index.js";import E from"../../../../hooks/useKeyEvent/index.js";import x from"../../../Icon/Icon.js";import b from"../../../Divider/Divider.js";import{NOOP as N}from"../../../../utils/function-utils.js";import k from"../../../HiddenText/HiddenText.js";import C from"../../../Clickable/Clickable.js";import I from"./StepIndicator.module.scss.js";import S from"../../../../../icons/dist/react/Check.js";var T=[s.ENTER,s.SPACE],j=function(e){var t=e.fulfilledStepIcon,i=e.fulfilledStepIconType;return"fulfilled"!==e.status||e.isFulfilledStepDisplayNumber?c.createElement(c.Fragment,null,e.stepNumber):c.createElement(x,{icon:t,className:l(I.numberContainerTextCheckIcon),iconType:i,ignoreFocusStyle:!0,ariaHidden:!0})},A=function(s){var x=s.stepComponentClassName,A=s.stepNumber,g=void 0===A?1:A,D=s.status,h=void 0===D?"pending":D,w=s.titleText,F=void 0===w?"Heading text":w,H=s.subtitleText,P=void 0===H?"Subtitle text":H,L=s.type,z=void 0===L?"primary":L,B=s.fulfilledStepIcon,R=void 0===B?S:B,V=s.fulfilledStepIconType,K=void 0===V?"svg":V,M=s.isFulfilledStepDisplayNumber,O=void 0!==M&&M,q=s.onClick,G=void 0===q?N:q,J=s.isFollowedByDivider,Q=void 0!==J&&J,U=s.stepDividerClassName,W=s.isVertical,X=void 0!==W&&W,Y=s.id,Z=s.size,$=void 0===Z?"regular":Z,ee=s["data-testid"],te=m(!1),ie=e(te,2),ne=ie[0],ae=ie[1],oe=p(null),re=p(h),le=d((function(){ae(!0)}),[ae]),se=d((function(){ae(!1)}),[ae]),ce=d((function(){return re.current!==h}),[re,h]),me=d((function(){G&&G(g)}),[G,g]);_({eventName:"animationend",callback:se,ref:oe}),E({keys:T,callback:me,ref:oe}),u((function(){ce()&&le()}),[h,ce,le]),u((function(){re.current=h}),[h]);var pe=f((function(){return"Step ".concat(g,": ").concat(F," - ").concat(P,", status: ").concat(h)}),[h,F,g,P]),de=function(e){return[a(I,n(e||"indicator")),a(I,n("type-".concat(z).concat(e))),a(I,n("status-".concat(h).concat(e))),a(I,n("size-".concat($).concat(e)))]};return c.createElement(C,{tabIndex:"-1",elementType:"li",className:l.apply(void 0,t(de("")).concat([x,i(i(i({},I.withAnimation,ne),I.clickable,G),I.textPlacementVertical,X)])),"aria-label":pe,onClick:me,"data-testid":ee||o(r.STEP_INDICATOR,Y)},c.createElement("div",{className:l.apply(void 0,t(de("__number-divider-container")))},c.createElement("div",{className:l.apply(void 0,t(de("__number-container"))),ref:oe,tabIndex:0,role:"button"},c.createElement(v,{mode:"out-in"},c.createElement(y,{classNames:{enter:I.swapEnter,enterActive:I.swapEnterActive,exit:I.swapExit,exitActive:I.swapExitActive},addEndListener:function(e,t){e.addEventListener("transitionend",t,!1)},key:h},c.createElement("span",{className:l.apply(void 0,t(de("__number-container__text")))},c.createElement(j,{fulfilledStepIcon:R,fulfilledStepIconType:K,isFulfilledStepDisplayNumber:O,stepNumber:g,status:h}))))),Q&&X&&c.createElement(b,{className:l(I.divider,U)})),c.createElement("div",{className:l.apply(void 0,t(de("__text-container")))},c.createElement("div",{className:l.apply(void 0,t(de("__text-container__title")))},c.createElement(k,{text:h})," ",c.createElement("span",{className:l.apply(void 0,t(de("__text-container__title__text")))},F)),"compact"!==$?c.createElement("span",{className:l.apply(void 0,t(de("__text-container__subtitle__text")))},P):null))};export{A as default};
1
+ import{slicedToArray as e,toConsumableArray as t,defineProperty as i}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{camelCase as n}from"es-toolkit";import{getStyle as a}from"../../../../helpers/typesciptCssModulesHelper.js";import{getTestId as o,ComponentDefaultTestId as r}from"../../../../tests/testIds.js";import l from"classnames";import{keyCodes as s}from"../../../../constants/keyCodes.js";import c,{useState as m,useRef as p,useCallback as d,useEffect as u,useMemo as f}from"react";import{SwitchTransition as v,CSSTransition as y}from"react-transition-group";import _ from"../../../../hooks/useEventListener/index.js";import E from"../../../../hooks/useKeyEvent/index.js";import x from"../../../Divider/Divider.js";import{NOOP as b}from"../../../../utils/function-utils.js";import N from"../../../HiddenText/HiddenText.js";import k from"../../../Clickable/Clickable.js";import C from"./StepIndicator.module.scss.js";import I from"../../../../../components/icon/dist/Icon/Icon.js";import S from"../../../../../packages/icons/dist/react/Check.js";var T=[s.ENTER,s.SPACE],j=function(e){var t=e.fulfilledStepIcon,i=e.fulfilledStepIconType;return"fulfilled"!==e.status||e.isFulfilledStepDisplayNumber?c.createElement(c.Fragment,null,e.stepNumber):c.createElement(I,{icon:t,className:l(C.numberContainerTextCheckIcon),iconType:i,ignoreFocusStyle:!0,ariaHidden:!0})},g=function(s){var I=s.stepComponentClassName,g=s.stepNumber,A=void 0===g?1:g,D=s.status,h=void 0===D?"pending":D,w=s.titleText,F=void 0===w?"Heading text":w,H=s.subtitleText,P=void 0===H?"Subtitle text":H,L=s.type,z=void 0===L?"primary":L,B=s.fulfilledStepIcon,R=void 0===B?S:B,V=s.fulfilledStepIconType,K=void 0===V?"svg":V,M=s.isFulfilledStepDisplayNumber,O=void 0!==M&&M,q=s.onClick,G=void 0===q?b:q,J=s.isFollowedByDivider,Q=void 0!==J&&J,U=s.stepDividerClassName,W=s.isVertical,X=void 0!==W&&W,Y=s.id,Z=s.size,$=void 0===Z?"regular":Z,ee=s["data-testid"],te=m(!1),ie=e(te,2),ne=ie[0],ae=ie[1],oe=p(null),re=p(h),le=d((function(){ae(!0)}),[ae]),se=d((function(){ae(!1)}),[ae]),ce=d((function(){return re.current!==h}),[re,h]),me=d((function(){G&&G(A)}),[G,A]);_({eventName:"animationend",callback:se,ref:oe}),E({keys:T,callback:me,ref:oe}),u((function(){ce()&&le()}),[h,ce,le]),u((function(){re.current=h}),[h]);var pe=f((function(){return"Step ".concat(A,": ").concat(F," - ").concat(P,", status: ").concat(h)}),[h,F,A,P]),de=function(e){return[a(C,n(e||"indicator")),a(C,n("type-".concat(z).concat(e))),a(C,n("status-".concat(h).concat(e))),a(C,n("size-".concat($).concat(e)))]};return c.createElement(k,{tabIndex:"-1",elementType:"li",className:l.apply(void 0,t(de("")).concat([I,i(i(i({},C.withAnimation,ne),C.clickable,G),C.textPlacementVertical,X)])),"aria-label":pe,onClick:me,"data-testid":ee||o(r.STEP_INDICATOR,Y)},c.createElement("div",{className:l.apply(void 0,t(de("__number-divider-container")))},c.createElement("div",{className:l.apply(void 0,t(de("__number-container"))),ref:oe,tabIndex:0,role:"button"},c.createElement(v,{mode:"out-in"},c.createElement(y,{classNames:{enter:C.swapEnter,enterActive:C.swapEnterActive,exit:C.swapExit,exitActive:C.swapExitActive},addEndListener:function(e,t){e.addEventListener("transitionend",t,!1)},key:h},c.createElement("span",{className:l.apply(void 0,t(de("__number-container__text")))},c.createElement(j,{fulfilledStepIcon:R,fulfilledStepIconType:K,isFulfilledStepDisplayNumber:O,stepNumber:A,status:h}))))),Q&&X&&c.createElement(x,{className:l(C.divider,U)})),c.createElement("div",{className:l.apply(void 0,t(de("__text-container")))},c.createElement("div",{className:l.apply(void 0,t(de("__text-container__title")))},c.createElement(N,{text:h})," ",c.createElement("span",{className:l.apply(void 0,t(de("__text-container__title__text")))},F)),"compact"!==$?c.createElement("span",{className:l.apply(void 0,t(de("__text-container__subtitle__text")))},P):null))};export{g as default};
2
2
  //# sourceMappingURL=StepIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepIndicator.js","sources":["../../../../../../../src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.tsx"],"sourcesContent":["import { camelCase } from \"es-toolkit\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { keyCodes } from \"../../../../constants/keyCodes\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { CSSTransition, SwitchTransition } from \"react-transition-group\";\nimport useEventListener from \"../../../../hooks/useEventListener\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\nimport Icon from \"../../../../components/Icon/Icon\";\nimport { Check } from \"@vibe/icons\";\nimport Divider from \"../../../../components/Divider/Divider\";\nimport { NOOP } from \"../../../../utils/function-utils\";\nimport HiddenText from \"../../../../components/HiddenText/HiddenText\";\nimport Clickable from \"../../../../components/Clickable/Clickable\";\nimport { type MultiStepSize, type MultiStepType, type StepStatus } from \"../../MultiStep.types\";\nimport styles from \"./StepIndicator.module.scss\";\nimport classNames from \"classnames\";\nimport { type SubIcon, type VibeComponentProps } from \"../../../../types\";\n\nconst KEYS = [keyCodes.ENTER, keyCodes.SPACE];\n\nexport interface StepCircleDisplayProps {\n /**\n * The status of the step.\n */\n status: StepStatus;\n /**\n * If true, displays the step number instead of the fulfilled step icon.\n */\n isFulfilledStepDisplayNumber: boolean;\n /**\n * The icon displayed when the step is fulfilled.\n */\n fulfilledStepIcon: SubIcon;\n /**\n * The type of icon used.\n */\n fulfilledStepIconType: \"svg\" | \"font\";\n /**\n * The step number in the sequence.\n */\n stepNumber: number;\n}\n\nconst StepCircleDisplay: React.FC<StepCircleDisplayProps> = ({\n status,\n isFulfilledStepDisplayNumber,\n fulfilledStepIcon,\n fulfilledStepIconType,\n stepNumber\n}) => {\n return status === \"fulfilled\" && !isFulfilledStepDisplayNumber ? (\n <Icon\n icon={fulfilledStepIcon}\n className={classNames(styles.numberContainerTextCheckIcon)}\n iconType={fulfilledStepIconType}\n ignoreFocusStyle\n ariaHidden={true}\n />\n ) : (\n <>{stepNumber}</>\n );\n};\n\nexport interface StepIndicatorProps extends VibeComponentProps {\n /**\n * The status of the step.\n */\n status: StepStatus;\n /**\n * The main title text for the step.\n */\n titleText: string;\n /**\n * The subtitle text for the step.\n */\n subtitleText?: string;\n /**\n * The number of the step in the sequence.\n */\n stepNumber?: number;\n /**\n * Class name applied to the step component.\n */\n stepComponentClassName?: string;\n /**\n * The visual style of the step indicator.\n */\n type?: MultiStepType;\n /**\n * The icon used for a fulfilled step.\n */\n fulfilledStepIcon?: SubIcon;\n /**\n * The type of icon used.\n */\n fulfilledStepIconType?: \"svg\" | \"font\";\n /**\n * If true, displays the step number instead of the fulfilled step icon.\n */\n isFulfilledStepDisplayNumber?: boolean;\n /**\n * Callback fired when the step is clicked.\n */\n onClick?: (stepNumber: number) => void;\n /**\n * If true, adds a divider after the step.\n */\n isFollowedByDivider?: boolean;\n /**\n * Class name applied to the step divider.\n */\n stepDividerClassName?: string;\n /**\n * If true, the step indicator is displayed vertically.\n */\n isVertical?: boolean;\n /**\n * The size of the step indicator.\n */\n size?: MultiStepSize;\n}\n\nconst StepIndicator: React.FC<StepIndicatorProps> = ({\n stepComponentClassName,\n stepNumber = 1,\n status = \"pending\",\n titleText = \"Heading text\",\n subtitleText = \"Subtitle text\",\n type = \"primary\",\n fulfilledStepIcon = Check,\n fulfilledStepIconType = \"svg\",\n isFulfilledStepDisplayNumber = false,\n onClick = NOOP,\n isFollowedByDivider = false,\n stepDividerClassName,\n isVertical = false,\n id,\n size = \"regular\",\n \"data-testid\": dataTestId\n}: StepIndicatorProps) => {\n // Animations state\n const [statusChangeAnimationState, setStatusChangeAnimationState] = useState(false);\n\n // Refs\n const componentRef = useRef(null);\n const prevStatusRef = useRef(status);\n\n // Callbacks for modifying animation state\n const enableStatusChangeAnimation = useCallback(() => {\n setStatusChangeAnimationState(true);\n }, [setStatusChangeAnimationState]);\n\n const disableStatusChangeAnimation = useCallback(() => {\n setStatusChangeAnimationState(false);\n }, [setStatusChangeAnimationState]);\n\n const isStatusTransition = useCallback(() => prevStatusRef.current !== status, [prevStatusRef, status]);\n\n const handleClick = useCallback(() => {\n if (onClick) onClick(stepNumber);\n }, [onClick, stepNumber]);\n\n // Event listeners for removing animation.\n useEventListener({\n eventName: \"animationend\",\n callback: disableStatusChangeAnimation,\n ref: componentRef\n });\n\n useKeyEvent({\n keys: KEYS,\n callback: handleClick,\n ref: componentRef\n });\n\n // Effect - triggering animation when necessary.\n useEffect(() => {\n if (isStatusTransition()) {\n enableStatusChangeAnimation();\n }\n }, [status, isStatusTransition, enableStatusChangeAnimation]);\n\n // Effect - updating previous status ref value (for animation) after component update.\n useEffect(() => {\n prevStatusRef.current = status;\n }, [status]);\n\n const ariaLabel = useMemo(() => {\n return `Step ${stepNumber}: ${titleText} - ${subtitleText}, status: ${status}`;\n }, [status, titleText, stepNumber, subtitleText]);\n\n const getClassNamesWithSuffix = (suffix: string) => {\n return [\n getStyle(styles, camelCase(suffix || \"indicator\")),\n getStyle(styles, camelCase(`type-${type}${suffix}`)),\n getStyle(styles, camelCase(`status-${status}${suffix}`)),\n getStyle(styles, camelCase(`size-${size}${suffix}`))\n ];\n };\n\n return (\n <Clickable\n tabIndex=\"-1\"\n elementType=\"li\"\n className={cx(...getClassNamesWithSuffix(\"\"), stepComponentClassName, {\n [styles.withAnimation]: statusChangeAnimationState,\n [styles.clickable]: onClick,\n [styles.textPlacementVertical]: isVertical\n })}\n aria-label={ariaLabel}\n onClick={handleClick}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.STEP_INDICATOR, id)}\n >\n <div className={cx(...getClassNamesWithSuffix(\"__number-divider-container\"))}>\n <div\n className={cx(...getClassNamesWithSuffix(\"__number-container\"))}\n ref={componentRef}\n tabIndex={0}\n role=\"button\"\n >\n <SwitchTransition mode=\"out-in\">\n <CSSTransition<undefined>\n // CSSTransition needs to be specified with the generic parameter to decide type for addEndListener's callback\n // otherwise, addEndListener cb has only `done` param (ts error)\n classNames={{\n enter: styles.swapEnter,\n enterActive: styles.swapEnterActive,\n exit: styles.swapExit,\n exitActive: styles.swapExitActive\n }}\n addEndListener={(node: HTMLElement, done: () => void) => {\n node.addEventListener(\"transitionend\", done, false);\n }}\n key={status}\n >\n <span className={cx(...getClassNamesWithSuffix(\"__number-container__text\"))}>\n <StepCircleDisplay\n fulfilledStepIcon={fulfilledStepIcon}\n fulfilledStepIconType={fulfilledStepIconType}\n isFulfilledStepDisplayNumber={isFulfilledStepDisplayNumber}\n stepNumber={stepNumber}\n status={status}\n />\n </span>\n </CSSTransition>\n </SwitchTransition>\n </div>\n {isFollowedByDivider && isVertical && <Divider className={cx(styles.divider, stepDividerClassName)} />}\n </div>\n <div className={cx(...getClassNamesWithSuffix(\"__text-container\"))}>\n <div className={cx(...getClassNamesWithSuffix(\"__text-container__title\"))}>\n <HiddenText text={status} /> {/* for accessibility */}\n <span className={cx(...getClassNamesWithSuffix(\"__text-container__title__text\"))}>{titleText}</span>\n </div>\n {size !== \"compact\" ? (\n <span className={cx(...getClassNamesWithSuffix(\"__text-container__subtitle__text\"))}>{subtitleText}</span>\n ) : null}\n </div>\n </Clickable>\n );\n};\n\nexport default StepIndicator;\n"],"names":["KEYS","keyCodes","ENTER","SPACE","StepCircleDisplay","_ref","fulfilledStepIcon","fulfilledStepIconType","status","isFulfilledStepDisplayNumber","React","createElement","Fragment","stepNumber","Icon","icon","className","classNames","styles","numberContainerTextCheckIcon","iconType","ignoreFocusStyle","ariaHidden","StepIndicator","_ref2","stepComponentClassName","_ref2$stepNumber","_ref2$status","_ref2$titleText","titleText","_ref2$subtitleText","subtitleText","_ref2$type","type","_ref2$fulfilledStepIc","Check","_ref2$fulfilledStepIc2","_ref2$isFulfilledStep","_ref2$onClick","onClick","NOOP","_ref2$isFollowedByDiv","isFollowedByDivider","stepDividerClassName","_ref2$isVertical","isVertical","id","_ref2$size","size","dataTestId","_useState","useState","_useState2","_slicedToArray","statusChangeAnimationState","setStatusChangeAnimationState","componentRef","useRef","prevStatusRef","enableStatusChangeAnimation","useCallback","disableStatusChangeAnimation","isStatusTransition","current","handleClick","useEventListener","eventName","callback","ref","useKeyEvent","keys","useEffect","ariaLabel","useMemo","concat","getClassNamesWithSuffix","suffix","getStyle","camelCase","Clickable","tabIndex","elementType","cx","apply","_toConsumableArray","_defineProperty","withAnimation","clickable","textPlacementVertical","getTestId","ComponentDefaultTestId","STEP_INDICATOR","role","SwitchTransition","mode","CSSTransition","enter","swapEnter","enterActive","swapEnterActive","exit","swapExit","exitActive","swapExitActive","addEndListener","node","done","addEventListener","key","Divider","divider","HiddenText","text"],"mappings":"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"}
1
+ {"version":3,"file":"StepIndicator.js","sources":["../../../../../../../src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.tsx"],"sourcesContent":["import { camelCase } from \"es-toolkit\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { keyCodes } from \"../../../../constants/keyCodes\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { CSSTransition, SwitchTransition } from \"react-transition-group\";\nimport useEventListener from \"../../../../hooks/useEventListener\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\nimport { Icon } from \"@vibe/icon\";\nimport { Check } from \"@vibe/icons\";\nimport Divider from \"../../../../components/Divider/Divider\";\nimport { NOOP } from \"../../../../utils/function-utils\";\nimport HiddenText from \"../../../../components/HiddenText/HiddenText\";\nimport Clickable from \"../../../../components/Clickable/Clickable\";\nimport { type MultiStepSize, type MultiStepType, type StepStatus } from \"../../MultiStep.types\";\nimport styles from \"./StepIndicator.module.scss\";\nimport classNames from \"classnames\";\nimport { type VibeComponentProps } from \"../../../../types\";\nimport { type SubIcon } from \"@vibe/icon\";\n\nconst KEYS = [keyCodes.ENTER, keyCodes.SPACE];\n\nexport interface StepCircleDisplayProps {\n /**\n * The status of the step.\n */\n status: StepStatus;\n /**\n * If true, displays the step number instead of the fulfilled step icon.\n */\n isFulfilledStepDisplayNumber: boolean;\n /**\n * The icon displayed when the step is fulfilled.\n */\n fulfilledStepIcon: SubIcon;\n /**\n * The type of icon used.\n */\n fulfilledStepIconType: \"svg\" | \"font\";\n /**\n * The step number in the sequence.\n */\n stepNumber: number;\n}\n\nconst StepCircleDisplay: React.FC<StepCircleDisplayProps> = ({\n status,\n isFulfilledStepDisplayNumber,\n fulfilledStepIcon,\n fulfilledStepIconType,\n stepNumber\n}) => {\n return status === \"fulfilled\" && !isFulfilledStepDisplayNumber ? (\n <Icon\n icon={fulfilledStepIcon}\n className={classNames(styles.numberContainerTextCheckIcon)}\n iconType={fulfilledStepIconType}\n ignoreFocusStyle\n ariaHidden={true}\n />\n ) : (\n <>{stepNumber}</>\n );\n};\n\nexport interface StepIndicatorProps extends VibeComponentProps {\n /**\n * The status of the step.\n */\n status: StepStatus;\n /**\n * The main title text for the step.\n */\n titleText: string;\n /**\n * The subtitle text for the step.\n */\n subtitleText?: string;\n /**\n * The number of the step in the sequence.\n */\n stepNumber?: number;\n /**\n * Class name applied to the step component.\n */\n stepComponentClassName?: string;\n /**\n * The visual style of the step indicator.\n */\n type?: MultiStepType;\n /**\n * The icon used for a fulfilled step.\n */\n fulfilledStepIcon?: SubIcon;\n /**\n * The type of icon used.\n */\n fulfilledStepIconType?: \"svg\" | \"font\";\n /**\n * If true, displays the step number instead of the fulfilled step icon.\n */\n isFulfilledStepDisplayNumber?: boolean;\n /**\n * Callback fired when the step is clicked.\n */\n onClick?: (stepNumber: number) => void;\n /**\n * If true, adds a divider after the step.\n */\n isFollowedByDivider?: boolean;\n /**\n * Class name applied to the step divider.\n */\n stepDividerClassName?: string;\n /**\n * If true, the step indicator is displayed vertically.\n */\n isVertical?: boolean;\n /**\n * The size of the step indicator.\n */\n size?: MultiStepSize;\n}\n\nconst StepIndicator: React.FC<StepIndicatorProps> = ({\n stepComponentClassName,\n stepNumber = 1,\n status = \"pending\",\n titleText = \"Heading text\",\n subtitleText = \"Subtitle text\",\n type = \"primary\",\n fulfilledStepIcon = Check,\n fulfilledStepIconType = \"svg\",\n isFulfilledStepDisplayNumber = false,\n onClick = NOOP,\n isFollowedByDivider = false,\n stepDividerClassName,\n isVertical = false,\n id,\n size = \"regular\",\n \"data-testid\": dataTestId\n}: StepIndicatorProps) => {\n // Animations state\n const [statusChangeAnimationState, setStatusChangeAnimationState] = useState(false);\n\n // Refs\n const componentRef = useRef(null);\n const prevStatusRef = useRef(status);\n\n // Callbacks for modifying animation state\n const enableStatusChangeAnimation = useCallback(() => {\n setStatusChangeAnimationState(true);\n }, [setStatusChangeAnimationState]);\n\n const disableStatusChangeAnimation = useCallback(() => {\n setStatusChangeAnimationState(false);\n }, [setStatusChangeAnimationState]);\n\n const isStatusTransition = useCallback(() => prevStatusRef.current !== status, [prevStatusRef, status]);\n\n const handleClick = useCallback(() => {\n if (onClick) onClick(stepNumber);\n }, [onClick, stepNumber]);\n\n // Event listeners for removing animation.\n useEventListener({\n eventName: \"animationend\",\n callback: disableStatusChangeAnimation,\n ref: componentRef\n });\n\n useKeyEvent({\n keys: KEYS,\n callback: handleClick,\n ref: componentRef\n });\n\n // Effect - triggering animation when necessary.\n useEffect(() => {\n if (isStatusTransition()) {\n enableStatusChangeAnimation();\n }\n }, [status, isStatusTransition, enableStatusChangeAnimation]);\n\n // Effect - updating previous status ref value (for animation) after component update.\n useEffect(() => {\n prevStatusRef.current = status;\n }, [status]);\n\n const ariaLabel = useMemo(() => {\n return `Step ${stepNumber}: ${titleText} - ${subtitleText}, status: ${status}`;\n }, [status, titleText, stepNumber, subtitleText]);\n\n const getClassNamesWithSuffix = (suffix: string) => {\n return [\n getStyle(styles, camelCase(suffix || \"indicator\")),\n getStyle(styles, camelCase(`type-${type}${suffix}`)),\n getStyle(styles, camelCase(`status-${status}${suffix}`)),\n getStyle(styles, camelCase(`size-${size}${suffix}`))\n ];\n };\n\n return (\n <Clickable\n tabIndex=\"-1\"\n elementType=\"li\"\n className={cx(...getClassNamesWithSuffix(\"\"), stepComponentClassName, {\n [styles.withAnimation]: statusChangeAnimationState,\n [styles.clickable]: onClick,\n [styles.textPlacementVertical]: isVertical\n })}\n aria-label={ariaLabel}\n onClick={handleClick}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.STEP_INDICATOR, id)}\n >\n <div className={cx(...getClassNamesWithSuffix(\"__number-divider-container\"))}>\n <div\n className={cx(...getClassNamesWithSuffix(\"__number-container\"))}\n ref={componentRef}\n tabIndex={0}\n role=\"button\"\n >\n <SwitchTransition mode=\"out-in\">\n <CSSTransition<undefined>\n // CSSTransition needs to be specified with the generic parameter to decide type for addEndListener's callback\n // otherwise, addEndListener cb has only `done` param (ts error)\n classNames={{\n enter: styles.swapEnter,\n enterActive: styles.swapEnterActive,\n exit: styles.swapExit,\n exitActive: styles.swapExitActive\n }}\n addEndListener={(node: HTMLElement, done: () => void) => {\n node.addEventListener(\"transitionend\", done, false);\n }}\n key={status}\n >\n <span className={cx(...getClassNamesWithSuffix(\"__number-container__text\"))}>\n <StepCircleDisplay\n fulfilledStepIcon={fulfilledStepIcon}\n fulfilledStepIconType={fulfilledStepIconType}\n isFulfilledStepDisplayNumber={isFulfilledStepDisplayNumber}\n stepNumber={stepNumber}\n status={status}\n />\n </span>\n </CSSTransition>\n </SwitchTransition>\n </div>\n {isFollowedByDivider && isVertical && <Divider className={cx(styles.divider, stepDividerClassName)} />}\n </div>\n <div className={cx(...getClassNamesWithSuffix(\"__text-container\"))}>\n <div className={cx(...getClassNamesWithSuffix(\"__text-container__title\"))}>\n <HiddenText text={status} /> {/* for accessibility */}\n <span className={cx(...getClassNamesWithSuffix(\"__text-container__title__text\"))}>{titleText}</span>\n </div>\n {size !== \"compact\" ? (\n <span className={cx(...getClassNamesWithSuffix(\"__text-container__subtitle__text\"))}>{subtitleText}</span>\n ) : null}\n </div>\n </Clickable>\n );\n};\n\nexport default StepIndicator;\n"],"names":["KEYS","keyCodes","ENTER","SPACE","StepCircleDisplay","_ref","fulfilledStepIcon","fulfilledStepIconType","status","isFulfilledStepDisplayNumber","React","createElement","Fragment","stepNumber","Icon","icon","className","classNames","styles","numberContainerTextCheckIcon","iconType","ignoreFocusStyle","ariaHidden","StepIndicator","_ref2","stepComponentClassName","_ref2$stepNumber","_ref2$status","_ref2$titleText","titleText","_ref2$subtitleText","subtitleText","_ref2$type","type","_ref2$fulfilledStepIc","Check","_ref2$fulfilledStepIc2","_ref2$isFulfilledStep","_ref2$onClick","onClick","NOOP","_ref2$isFollowedByDiv","isFollowedByDivider","stepDividerClassName","_ref2$isVertical","isVertical","id","_ref2$size","size","dataTestId","_useState","useState","_useState2","_slicedToArray","statusChangeAnimationState","setStatusChangeAnimationState","componentRef","useRef","prevStatusRef","enableStatusChangeAnimation","useCallback","disableStatusChangeAnimation","isStatusTransition","current","handleClick","useEventListener","eventName","callback","ref","useKeyEvent","keys","useEffect","ariaLabel","useMemo","concat","getClassNamesWithSuffix","suffix","getStyle","camelCase","Clickable","tabIndex","elementType","cx","apply","_toConsumableArray","_defineProperty","withAnimation","clickable","textPlacementVertical","getTestId","ComponentDefaultTestId","STEP_INDICATOR","role","SwitchTransition","mode","CSSTransition","enter","swapEnter","enterActive","swapEnterActive","exit","swapExit","exitActive","swapExitActive","addEndListener","node","done","addEventListener","key","Divider","divider","HiddenText","text"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"../../../_virtual/_tslib.js";import a,{forwardRef as n,useRef as t,useMemo as r}from"react";import i from"classnames";import o from"./hooks/useNumberFieldState.js";import l from"./hooks/useSpinButtonHandlers.js";import s from"../BaseInput/BaseInput.js";import d from"../FieldLabel/FieldLabel.js";import m from"../InfoText/InfoText.js";import u from"../Icon/Icon.js";import c from"./components/NumberFieldSpinButton/NumberFieldSpinButton.js";import f from"./NumberField.module.scss.js";import p from"../Flex/Flex.js";import b from"../../hooks/useMergeRef.js";import{ComponentVibeId as x}from"../../tests/constants.js";var h=n((function(n,h){var v=n.className,O=n.value,g=n.onChange,y=n.label,j=n.required,I=n.placeholder,F=n.infoText,B=n.error,N=n.success,C=n.disabled,E=n.readOnly,w=n.min,M=n.max,D=n.step,R=void 0===D?1:D,T=n.size,V=void 0===T?"medium":T,q=n.leftIcon,z=n["aria-label"],A=n.id,L=n["data-testid"],S=n.allowOutOfBounds,k=n.onValidityChange,_=e(n,["className","value","onChange","label","required","placeholder","infoText","error","success","disabled","readOnly","min","max","step","size","leftIcon","aria-label","id","data-testid","allowOutOfBounds","onValidityChange"]),K=t(null),H=b(h,K),U=o({value:O,onChange:g,min:w,max:M,step:R,disabled:C,readOnly:E,allowOutOfBounds:S,onValidityChange:k}),G=U.inputValue,J=U.numericValue,P=U.onChange,Q=U.onKeyDown,W=U.isAtMin,X=U.isAtMax,Y=l({onChange:g,value:J,step:R,min:w,max:M,allowOutOfBounds:S,readOnly:E,inputRef:K}),Z=Y.onIncrement,$=Y.onDecrement,ee=r((function(){return q?a.createElement(u,{icon:q,className:f.leftIcon}):null}),[q]),ae=r((function(){return a.createElement(c,{inputId:A,onIncrement:Z,onDecrement:$,disabled:C||E,size:V,isAtMin:W,isAtMax:X})}),[A,Z,$,C,E,V,W,X]),ne=r((function(){return F&&A?"".concat(A,"-info-text"):void 0}),[F,A]),te=r((function(){return y&&A?"".concat(A,"-label"):void 0}),[y,A]);return a.createElement(p,{direction:"column",align:"stretch",gap:"xs",className:i(f.numberField,v),"data-vibe":x.NUMBER_FIELD},a.createElement(d,{id:te,className:f.label,labelText:y,required:j,labelFor:A}),a.createElement(s,Object.assign({},_,{"data-testid":L,ref:H,id:A,value:G,onChange:P,onKeyDown:Q,placeholder:I,type:"text",inputMode:"numeric",inputRole:"spinbutton","aria-valuenow":J,"aria-valuemin":w,"aria-valuemax":M,"aria-required":j,"aria-label":z||y,"aria-labelledby":te,"aria-describedby":ne,disabled:C,readOnly:E,size:V,error:B,success:N,renderLeft:ee,renderRight:ae})),a.createElement(m,{id:ne,text:F,error:B,success:N,disabled:C,readOnly:E}))}));export{h as default};
1
+ import{__rest as e}from"../../../_virtual/_tslib.js";import a,{forwardRef as n,useRef as t,useMemo as r}from"react";import o from"classnames";import i from"./hooks/useNumberFieldState.js";import l from"./hooks/useSpinButtonHandlers.js";import s from"../BaseInput/BaseInput.js";import d from"../FieldLabel/FieldLabel.js";import m from"../InfoText/InfoText.js";import u from"./components/NumberFieldSpinButton/NumberFieldSpinButton.js";import c from"./NumberField.module.scss.js";import p from"../Flex/Flex.js";import f from"../../hooks/useMergeRef.js";import{ComponentVibeId as b}from"../../tests/constants.js";import x from"../../../components/icon/dist/Icon/Icon.js";var h=n((function(n,h){var v=n.className,O=n.value,g=n.onChange,y=n.label,j=n.required,I=n.placeholder,F=n.infoText,B=n.error,N=n.success,C=n.disabled,E=n.readOnly,w=n.min,M=n.max,D=n.step,R=void 0===D?1:D,T=n.size,V=void 0===T?"medium":T,q=n.leftIcon,z=n["aria-label"],A=n.id,L=n["data-testid"],S=n.allowOutOfBounds,k=n.onValidityChange,_=e(n,["className","value","onChange","label","required","placeholder","infoText","error","success","disabled","readOnly","min","max","step","size","leftIcon","aria-label","id","data-testid","allowOutOfBounds","onValidityChange"]),K=t(null),H=f(h,K),U=i({value:O,onChange:g,min:w,max:M,step:R,disabled:C,readOnly:E,allowOutOfBounds:S,onValidityChange:k}),G=U.inputValue,J=U.numericValue,P=U.onChange,Q=U.onKeyDown,W=U.isAtMin,X=U.isAtMax,Y=l({onChange:g,value:J,step:R,min:w,max:M,allowOutOfBounds:S,readOnly:E,inputRef:K}),Z=Y.onIncrement,$=Y.onDecrement,ee=r((function(){return q?a.createElement(x,{icon:q,className:c.leftIcon}):null}),[q]),ae=r((function(){return a.createElement(u,{inputId:A,onIncrement:Z,onDecrement:$,disabled:C||E,size:V,isAtMin:W,isAtMax:X})}),[A,Z,$,C,E,V,W,X]),ne=r((function(){return F&&A?"".concat(A,"-info-text"):void 0}),[F,A]),te=r((function(){return y&&A?"".concat(A,"-label"):void 0}),[y,A]);return a.createElement(p,{direction:"column",align:"stretch",gap:"xs",className:o(c.numberField,v),"data-vibe":b.NUMBER_FIELD},a.createElement(d,{id:te,className:c.label,labelText:y,required:j,labelFor:A}),a.createElement(s,Object.assign({},_,{"data-testid":L,ref:H,id:A,value:G,onChange:P,onKeyDown:Q,placeholder:I,type:"text",inputMode:"numeric",inputRole:"spinbutton","aria-valuenow":J,"aria-valuemin":w,"aria-valuemax":M,"aria-required":j,"aria-label":z||y,"aria-labelledby":te,"aria-describedby":ne,disabled:C,readOnly:E,size:V,error:B,success:N,renderLeft:ee,renderRight:ae})),a.createElement(m,{id:ne,text:F,error:B,success:N,disabled:C,readOnly:E}))}));export{h as default};
2
2
  //# sourceMappingURL=NumberField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.js","sources":["../../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { type NumberFieldProps } from \"./NumberField.types\";\nimport useNumberFieldState from \"./hooks/useNumberFieldState\";\nimport useSpinButtonHandlers from \"./hooks/useSpinButtonHandlers\";\nimport BaseInput from \"../BaseInput/BaseInput\";\nimport FieldLabel from \"../FieldLabel/FieldLabel\";\nimport InfoText from \"../InfoText/InfoText\";\nimport Icon from \"../Icon/Icon\";\nimport NumberFieldSpinButton from \"./components/NumberFieldSpinButton/NumberFieldSpinButton\";\nimport styles from \"./NumberField.module.scss\";\nimport Flex from \"../Flex/Flex\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst NumberField = forwardRef(\n (\n {\n className,\n value,\n onChange,\n label,\n required,\n placeholder,\n infoText,\n error,\n success,\n disabled,\n readOnly,\n min,\n max,\n step = 1,\n size = \"medium\",\n leftIcon,\n \"aria-label\": ariaLabel,\n id,\n \"data-testid\": dataTestId,\n allowOutOfBounds,\n onValidityChange,\n ...inputProps\n }: NumberFieldProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const mergedRef = useMergeRef<HTMLInputElement>(ref, inputRef);\n\n const {\n inputValue,\n numericValue,\n onChange: handleChange,\n onKeyDown,\n isAtMin,\n isAtMax\n } = useNumberFieldState({\n value,\n onChange,\n min,\n max,\n step,\n disabled,\n readOnly,\n allowOutOfBounds,\n onValidityChange\n });\n\n const { onIncrement, onDecrement } = useSpinButtonHandlers({\n onChange,\n value: numericValue,\n step,\n min,\n max,\n allowOutOfBounds,\n readOnly,\n inputRef\n });\n\n const renderedLeftIcon = useMemo(() => {\n if (!leftIcon) return null;\n return <Icon icon={leftIcon} className={styles.leftIcon} />;\n }, [leftIcon]);\n\n const renderedRightIcon = useMemo(() => {\n return (\n <NumberFieldSpinButton\n inputId={id}\n onIncrement={onIncrement}\n onDecrement={onDecrement}\n disabled={disabled || readOnly}\n size={size}\n isAtMin={isAtMin}\n isAtMax={isAtMax}\n />\n );\n }, [id, onIncrement, onDecrement, disabled, readOnly, size, isAtMin, isAtMax]);\n\n const infoTextId = useMemo(() => {\n return infoText && id ? `${id}-info-text` : undefined;\n }, [infoText, id]);\n\n const labelId = useMemo(() => {\n return label && id ? `${id}-label` : undefined;\n }, [label, id]);\n\n return (\n <Flex\n direction=\"column\"\n align=\"stretch\"\n gap=\"xs\"\n className={cx(styles.numberField, className)}\n data-vibe={ComponentVibeId.NUMBER_FIELD}\n >\n <FieldLabel id={labelId} className={styles.label} labelText={label} required={required} labelFor={id} />\n <BaseInput\n {...inputProps}\n data-testid={dataTestId}\n ref={mergedRef}\n id={id}\n value={inputValue}\n onChange={handleChange}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n type=\"text\"\n inputMode=\"numeric\"\n inputRole=\"spinbutton\"\n aria-valuenow={numericValue}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-required={required}\n aria-label={ariaLabel || label}\n aria-labelledby={labelId}\n aria-describedby={infoTextId}\n disabled={disabled}\n readOnly={readOnly}\n size={size}\n error={error}\n success={success}\n renderLeft={renderedLeftIcon}\n renderRight={renderedRightIcon}\n />\n <InfoText\n id={infoTextId}\n text={infoText}\n error={error}\n success={success}\n disabled={disabled}\n readOnly={readOnly}\n />\n </Flex>\n );\n }\n);\n\nexport default NumberField;\n"],"names":["NumberField","forwardRef","_a","ref","className","value","onChange","label","required","placeholder","infoText","error","success","disabled","readOnly","min","max","_a$step","step","_a$size","size","leftIcon","ariaLabel","id","dataTestId","allowOutOfBounds","onValidityChange","inputProps","__rest","inputRef","useRef","mergedRef","useMergeRef","_useNumberFieldState","useNumberFieldState","inputValue","numericValue","handleChange","onKeyDown","isAtMin","isAtMax","_useSpinButtonHandler","useSpinButtonHandlers","onIncrement","onDecrement","renderedLeftIcon","useMemo","React","createElement","Icon","icon","styles","renderedRightIcon","NumberFieldSpinButton","inputId","infoTextId","concat","undefined","labelId","Flex","direction","align","gap","cx","numberField","ComponentVibeId","NUMBER_FIELD","FieldLabel","labelText","labelFor","BaseInput","Object","assign","type","inputMode","inputRole","renderLeft","renderRight","InfoText","text"],"mappings":"ioBAeMA,IAAAA,EAAcC,GAClB,SACEC,EAwBAC,OAvBEC,EAoBgBF,EApBhBE,UACAC,EAmBgBH,EAnBhBG,MACAC,EAkBgBJ,EAlBhBI,SACAC,EAiBgBL,EAjBhBK,MACAC,EAgBgBN,EAhBhBM,SACAC,EAegBP,EAfhBO,YACAC,EAcgBR,EAdhBQ,SACAC,EAagBT,EAbhBS,MACAC,EAYgBV,EAZhBU,QACAC,EAWgBX,EAXhBW,SACAC,EAUgBZ,EAVhBY,SACAC,EASgBb,EAThBa,IACAC,EAQgBd,EARhBc,IAAGC,EAQaf,EAPhBgB,KAAAA,OAAO,IAAHD,EAAG,EAACA,EAAAE,EAOQjB,EANhBkB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EACfE,EAKgBnB,EALhBmB,SACcC,EAIEpB,EAJhB,cACAqB,EAGgBrB,EAHhBqB,GACeC,EAECtB,EAFhB,eACAuB,EACgBvB,EADhBuB,iBACAC,EAAgBxB,EAAhBwB,iBACGC,EAtBLC,EAAA1B,EAAA,CAAA,YAAA,QAAA,WAAA,QAAA,WAAA,cAAA,WAAA,QAAA,UAAA,WAAA,WAAA,MAAA,MAAA,OAAA,OAAA,WAAA,aAAA,KAAA,cAAA,mBAAA,qBA0BM2B,EAAWC,EAAyB,MACpCC,EAAYC,EAA8B7B,EAAK0B,GAErDI,EAOIC,EAAoB,CACtB7B,MAAAA,EACAC,SAAAA,EACAS,IAAAA,EACAC,IAAAA,EACAE,KAAAA,EACAL,SAAAA,EACAC,SAAAA,EACAW,iBAAAA,EACAC,iBAAAA,IAfAS,EAAUF,EAAVE,WACAC,EAAYH,EAAZG,aACUC,EAAYJ,EAAtB3B,SACAgC,EAASL,EAATK,UACAC,EAAON,EAAPM,QACAC,EAAOP,EAAPO,QAaFC,EAAqCC,EAAsB,CACzDpC,SAAAA,EACAD,MAAO+B,EACPlB,KAAAA,EACAH,IAAAA,EACAC,IAAAA,EACAS,iBAAAA,EACAX,SAAAA,EACAe,SAAAA,IARMc,EAAWF,EAAXE,YAAaC,EAAWH,EAAXG,YAWfC,GAAmBC,GAAQ,WAC/B,OAAKzB,EACE0B,EAACC,cAAAC,EAAK,CAAAC,KAAM7B,EAAUjB,UAAW+C,EAAO9B,WADzB,IAExB,GAAG,CAACA,IAEE+B,GAAoBN,GAAQ,WAChC,OACEC,EAAAC,cAACK,EAAqB,CACpBC,QAAS/B,EACToB,YAAaA,EACbC,YAAaA,EACb/B,SAAUA,GAAYC,EACtBM,KAAMA,EACNmB,QAASA,EACTC,QAASA,GAGf,GAAG,CAACjB,EAAIoB,EAAaC,EAAa/B,EAAUC,EAAUM,EAAMmB,EAASC,IAE/De,GAAaT,GAAQ,WACzB,OAAOpC,GAAYa,EAAE,GAAAiC,OAAMjC,qBAAiBkC,CAC9C,GAAG,CAAC/C,EAAUa,IAERmC,GAAUZ,GAAQ,WACtB,OAAOvC,GAASgB,EAAE,GAAAiC,OAAMjC,iBAAakC,CACvC,GAAG,CAAClD,EAAOgB,IAEX,OACEwB,EAAAC,cAACW,EAAI,CACHC,UAAU,SACVC,MAAM,UACNC,IAAI,KACJ1D,UAAW2D,EAAGZ,EAAOa,YAAa5D,GACvB,YAAA6D,EAAgBC,cAE3BnB,EAACC,cAAAmB,GAAW5C,GAAImC,GAAStD,UAAW+C,EAAO5C,MAAO6D,UAAW7D,EAAOC,SAAUA,EAAU6D,SAAU9C,IAClGwB,EAAAC,cAACsB,EACKC,OAAAC,OAAA,CAAA,EAAA7C,iBACSH,EACbrB,IAAK4B,EACLR,GAAIA,EACJlB,MAAO8B,EACP7B,SAAU+B,EACVC,UAAWA,EACX7B,YAAaA,EACbgE,KAAK,OACLC,UAAU,UACVC,UAAU,aAAY,gBACPvC,EAAY,gBACZrB,EACA,gBAAAC,kBACAR,EAAQ,aACXc,GAAaf,EACR,kBAAAmD,sBACCH,GAClB1C,SAAUA,EACVC,SAAUA,EACVM,KAAMA,EACNT,MAAOA,EACPC,QAASA,EACTgE,WAAY/B,GACZgC,YAAazB,MAEfL,EAAAC,cAAC8B,EAAQ,CACPvD,GAAIgC,GACJwB,KAAMrE,EACNC,MAAOA,EACPC,QAASA,EACTC,SAAUA,EACVC,SAAUA,IAIlB"}
1
+ {"version":3,"file":"NumberField.js","sources":["../../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { type NumberFieldProps } from \"./NumberField.types\";\nimport useNumberFieldState from \"./hooks/useNumberFieldState\";\nimport useSpinButtonHandlers from \"./hooks/useSpinButtonHandlers\";\nimport BaseInput from \"../BaseInput/BaseInput\";\nimport FieldLabel from \"../FieldLabel/FieldLabel\";\nimport InfoText from \"../InfoText/InfoText\";\nimport { Icon } from \"@vibe/icon\";\nimport NumberFieldSpinButton from \"./components/NumberFieldSpinButton/NumberFieldSpinButton\";\nimport styles from \"./NumberField.module.scss\";\nimport Flex from \"../Flex/Flex\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst NumberField = forwardRef(\n (\n {\n className,\n value,\n onChange,\n label,\n required,\n placeholder,\n infoText,\n error,\n success,\n disabled,\n readOnly,\n min,\n max,\n step = 1,\n size = \"medium\",\n leftIcon,\n \"aria-label\": ariaLabel,\n id,\n \"data-testid\": dataTestId,\n allowOutOfBounds,\n onValidityChange,\n ...inputProps\n }: NumberFieldProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const mergedRef = useMergeRef<HTMLInputElement>(ref, inputRef);\n\n const {\n inputValue,\n numericValue,\n onChange: handleChange,\n onKeyDown,\n isAtMin,\n isAtMax\n } = useNumberFieldState({\n value,\n onChange,\n min,\n max,\n step,\n disabled,\n readOnly,\n allowOutOfBounds,\n onValidityChange\n });\n\n const { onIncrement, onDecrement } = useSpinButtonHandlers({\n onChange,\n value: numericValue,\n step,\n min,\n max,\n allowOutOfBounds,\n readOnly,\n inputRef\n });\n\n const renderedLeftIcon = useMemo(() => {\n if (!leftIcon) return null;\n return <Icon icon={leftIcon} className={styles.leftIcon} />;\n }, [leftIcon]);\n\n const renderedRightIcon = useMemo(() => {\n return (\n <NumberFieldSpinButton\n inputId={id}\n onIncrement={onIncrement}\n onDecrement={onDecrement}\n disabled={disabled || readOnly}\n size={size}\n isAtMin={isAtMin}\n isAtMax={isAtMax}\n />\n );\n }, [id, onIncrement, onDecrement, disabled, readOnly, size, isAtMin, isAtMax]);\n\n const infoTextId = useMemo(() => {\n return infoText && id ? `${id}-info-text` : undefined;\n }, [infoText, id]);\n\n const labelId = useMemo(() => {\n return label && id ? `${id}-label` : undefined;\n }, [label, id]);\n\n return (\n <Flex\n direction=\"column\"\n align=\"stretch\"\n gap=\"xs\"\n className={cx(styles.numberField, className)}\n data-vibe={ComponentVibeId.NUMBER_FIELD}\n >\n <FieldLabel id={labelId} className={styles.label} labelText={label} required={required} labelFor={id} />\n <BaseInput\n {...inputProps}\n data-testid={dataTestId}\n ref={mergedRef}\n id={id}\n value={inputValue}\n onChange={handleChange}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n type=\"text\"\n inputMode=\"numeric\"\n inputRole=\"spinbutton\"\n aria-valuenow={numericValue}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-required={required}\n aria-label={ariaLabel || label}\n aria-labelledby={labelId}\n aria-describedby={infoTextId}\n disabled={disabled}\n readOnly={readOnly}\n size={size}\n error={error}\n success={success}\n renderLeft={renderedLeftIcon}\n renderRight={renderedRightIcon}\n />\n <InfoText\n id={infoTextId}\n text={infoText}\n error={error}\n success={success}\n disabled={disabled}\n readOnly={readOnly}\n />\n </Flex>\n );\n }\n);\n\nexport default NumberField;\n"],"names":["NumberField","forwardRef","_a","ref","className","value","onChange","label","required","placeholder","infoText","error","success","disabled","readOnly","min","max","_a$step","step","_a$size","size","leftIcon","ariaLabel","id","dataTestId","allowOutOfBounds","onValidityChange","inputProps","__rest","inputRef","useRef","mergedRef","useMergeRef","_useNumberFieldState","useNumberFieldState","inputValue","numericValue","handleChange","onKeyDown","isAtMin","isAtMax","_useSpinButtonHandler","useSpinButtonHandlers","onIncrement","onDecrement","renderedLeftIcon","useMemo","React","createElement","Icon","icon","styles","renderedRightIcon","NumberFieldSpinButton","inputId","infoTextId","concat","undefined","labelId","Flex","direction","align","gap","cx","numberField","ComponentVibeId","NUMBER_FIELD","FieldLabel","labelText","labelFor","BaseInput","Object","assign","type","inputMode","inputRole","renderLeft","renderRight","InfoText","text"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from"react";import o from"classnames";import n from"../../../IconButton/IconButton.js";import t from"../../../Flex/Flex.js";import{getStyle as r}from"../../../../helpers/typesciptCssModulesHelper.js";import i from"./NumberFieldSpinButton.module.scss.js";import s from"../../../../../icons/dist/react/DropdownChevronUp.js";import a from"../../../../../icons/dist/react/DropdownChevronDown.js";var l=function(l){var c=l.inputId,m=l.onIncrement,p=l.onDecrement,d=l.disabled,u=l.isAtMin,f=l.isAtMax,C=o(i.spinButton,r(i,l.size)),b=i.icon;return e.createElement(t,{direction:"column",align:"stretch",justify:"center",onMouseDown:function(e){e.preventDefault()}},e.createElement(n,{ariaLabel:"Increase",hideTooltip:!0,ariaControls:c,tabIndex:-1,onClick:m,disabled:d||f,size:null,className:C,iconClassName:b,icon:s}),e.createElement(n,{ariaLabel:"Decrease",hideTooltip:!0,ariaControls:c,tabIndex:-1,onClick:p,disabled:d||u,size:null,className:C,iconClassName:b,icon:a}))};export{l as default};
1
+ import e from"react";import o from"classnames";import n from"../../../IconButton/IconButton.js";import t from"../../../Flex/Flex.js";import{getStyle as r}from"../../../../helpers/typesciptCssModulesHelper.js";import s from"./NumberFieldSpinButton.module.scss.js";import i from"../../../../../packages/icons/dist/react/DropdownChevronUp.js";import a from"../../../../../packages/icons/dist/react/DropdownChevronDown.js";var c=function(c){var l=c.inputId,m=c.onIncrement,p=c.onDecrement,d=c.disabled,u=c.isAtMin,f=c.isAtMax,C=o(s.spinButton,r(s,c.size)),b=s.icon;return e.createElement(t,{direction:"column",align:"stretch",justify:"center",onMouseDown:function(e){e.preventDefault()}},e.createElement(n,{ariaLabel:"Increase",hideTooltip:!0,ariaControls:l,tabIndex:-1,onClick:m,disabled:d||f,size:null,className:C,iconClassName:b,icon:i}),e.createElement(n,{ariaLabel:"Decrease",hideTooltip:!0,ariaControls:l,tabIndex:-1,onClick:p,disabled:d||u,size:null,className:C,iconClassName:b,icon:a}))};export{c as default};
2
2
  //# sourceMappingURL=NumberFieldSpinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFieldSpinButton.js","sources":["../../../../../../../src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { type NumberFieldSpinButtonProps } from \"./NumberFieldSpinButton.types\";\nimport IconButton from \"../../../IconButton/IconButton\";\nimport { DropdownChevronUp, DropdownChevronDown } from \"@vibe/icons\";\nimport Flex from \"../../../Flex/Flex\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\nimport styles from \"./NumberFieldSpinButton.module.scss\";\n\nconst NumberFieldSpinButton = ({\n inputId,\n onIncrement,\n onDecrement,\n disabled,\n size,\n isAtMin,\n isAtMax\n}: NumberFieldSpinButtonProps) => {\n const iconButtonClassName = cx(styles.spinButton, getStyle(styles, size));\n const iconClassName = styles.icon;\n\n const handleMouseDown = (event: React.MouseEvent) => {\n // to prevent `IconButton`s from stealing focus\n event.preventDefault();\n };\n\n return (\n <Flex direction=\"column\" align=\"stretch\" justify=\"center\" onMouseDown={handleMouseDown}>\n <IconButton\n ariaLabel=\"Increase\"\n hideTooltip\n ariaControls={inputId}\n tabIndex={-1}\n onClick={onIncrement}\n disabled={disabled || isAtMax}\n size={null}\n className={iconButtonClassName}\n iconClassName={iconClassName}\n icon={DropdownChevronUp}\n />\n <IconButton\n ariaLabel=\"Decrease\"\n hideTooltip\n ariaControls={inputId}\n tabIndex={-1}\n onClick={onDecrement}\n disabled={disabled || isAtMin}\n size={null}\n className={iconButtonClassName}\n iconClassName={iconClassName}\n icon={DropdownChevronDown}\n />\n </Flex>\n );\n};\n\nexport default NumberFieldSpinButton;\n"],"names":["NumberFieldSpinButton","_ref","inputId","onIncrement","onDecrement","disabled","isAtMin","isAtMax","iconButtonClassName","cx","styles","spinButton","getStyle","size","iconClassName","icon","React","createElement","Flex","direction","align","justify","onMouseDown","event","preventDefault","IconButton","ariaLabel","hideTooltip","ariaControls","tabIndex","onClick","className","DropdownChevronUp","DropdownChevronDown"],"mappings":"iZASA,IAAMA,EAAwB,SAAHC,GAQM,IAP/BC,EAAOD,EAAPC,QACAC,EAAWF,EAAXE,YACAC,EAAWH,EAAXG,YACAC,EAAQJ,EAARI,SAEAC,EAAOL,EAAPK,QACAC,EAAON,EAAPM,QAEMC,EAAsBC,EAAGC,EAAOC,WAAYC,EAASF,EAJvDT,EAAJY,OAKMC,EAAgBJ,EAAOK,KAO7B,OACEC,EAACC,cAAAC,GAAKC,UAAU,SAASC,MAAM,UAAUC,QAAQ,SAASC,YANpC,SAACC,GAEvBA,EAAMC,mBAKJR,EAAAC,cAACQ,EACC,CAAAC,UAAU,WACVC,aACA,EAAAC,aAAc1B,EACd2B,UAAW,EACXC,QAAS3B,EACTE,SAAUA,GAAYE,EACtBM,KAAM,KACNkB,UAAWvB,EACXM,cAAeA,EACfC,KAAMiB,IAERhB,EAACC,cAAAQ,GACCC,UAAU,WACVC,eACAC,aAAc1B,EACd2B,UAAW,EACXC,QAAS1B,EACTC,SAAUA,GAAYC,EACtBO,KAAM,KACNkB,UAAWvB,EACXM,cAAeA,EACfC,KAAMkB,IAId"}
1
+ {"version":3,"file":"NumberFieldSpinButton.js","sources":["../../../../../../../src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { type NumberFieldSpinButtonProps } from \"./NumberFieldSpinButton.types\";\nimport IconButton from \"../../../IconButton/IconButton\";\nimport { DropdownChevronUp, DropdownChevronDown } from \"@vibe/icons\";\nimport Flex from \"../../../Flex/Flex\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\nimport styles from \"./NumberFieldSpinButton.module.scss\";\n\nconst NumberFieldSpinButton = ({\n inputId,\n onIncrement,\n onDecrement,\n disabled,\n size,\n isAtMin,\n isAtMax\n}: NumberFieldSpinButtonProps) => {\n const iconButtonClassName = cx(styles.spinButton, getStyle(styles, size));\n const iconClassName = styles.icon;\n\n const handleMouseDown = (event: React.MouseEvent) => {\n // to prevent `IconButton`s from stealing focus\n event.preventDefault();\n };\n\n return (\n <Flex direction=\"column\" align=\"stretch\" justify=\"center\" onMouseDown={handleMouseDown}>\n <IconButton\n ariaLabel=\"Increase\"\n hideTooltip\n ariaControls={inputId}\n tabIndex={-1}\n onClick={onIncrement}\n disabled={disabled || isAtMax}\n size={null}\n className={iconButtonClassName}\n iconClassName={iconClassName}\n icon={DropdownChevronUp}\n />\n <IconButton\n ariaLabel=\"Decrease\"\n hideTooltip\n ariaControls={inputId}\n tabIndex={-1}\n onClick={onDecrement}\n disabled={disabled || isAtMin}\n size={null}\n className={iconButtonClassName}\n iconClassName={iconClassName}\n icon={DropdownChevronDown}\n />\n </Flex>\n );\n};\n\nexport default NumberFieldSpinButton;\n"],"names":["NumberFieldSpinButton","_ref","inputId","onIncrement","onDecrement","disabled","isAtMin","isAtMax","iconButtonClassName","cx","styles","spinButton","getStyle","size","iconClassName","icon","React","createElement","Flex","direction","align","justify","onMouseDown","event","preventDefault","IconButton","ariaLabel","hideTooltip","ariaControls","tabIndex","onClick","className","DropdownChevronUp","DropdownChevronDown"],"mappings":"maASA,IAAMA,EAAwB,SAAHC,GAQM,IAP/BC,EAAOD,EAAPC,QACAC,EAAWF,EAAXE,YACAC,EAAWH,EAAXG,YACAC,EAAQJ,EAARI,SAEAC,EAAOL,EAAPK,QACAC,EAAON,EAAPM,QAEMC,EAAsBC,EAAGC,EAAOC,WAAYC,EAASF,EAJvDT,EAAJY,OAKMC,EAAgBJ,EAAOK,KAO7B,OACEC,EAACC,cAAAC,GAAKC,UAAU,SAASC,MAAM,UAAUC,QAAQ,SAASC,YANpC,SAACC,GAEvBA,EAAMC,mBAKJR,EAAAC,cAACQ,EACC,CAAAC,UAAU,WACVC,aACA,EAAAC,aAAc1B,EACd2B,UAAW,EACXC,QAAS3B,EACTE,SAAUA,GAAYE,EACtBM,KAAM,KACNkB,UAAWvB,EACXM,cAAeA,EACfC,KAAMiB,IAERhB,EAACC,cAAAQ,GACCC,UAAU,WACVC,eACAC,aAAc1B,EACd2B,UAAW,EACXC,QAAS1B,EACTC,SAAUA,GAAYC,EACtBO,KAAM,KACNkB,UAAWvB,EACXM,cAAeA,EACfC,KAAMkB,IAId"}