@vibe/core 4.0.0 → 4.0.1-alpha-649fd.0

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 (550) hide show
  1. package/dist/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +4 -0
  2. package/dist/hooks/useEventListener/index.d.ts +2 -8
  3. package/dist/hooks/useKeyEvent/index.d.ts +2 -56
  4. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +4 -0
  5. package/dist/mocked_classnames/hooks/useEventListener/index.d.ts +2 -8
  6. package/dist/mocked_classnames/hooks/useKeyEvent/index.d.ts +2 -56
  7. package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.js +1 -1
  8. package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.js.map +1 -1
  9. package/dist/mocked_classnames/src/components/Accordion/AccordionItem/AccordionItem.js +1 -1
  10. package/dist/mocked_classnames/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  11. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js +1 -1
  12. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js.map +1 -1
  13. package/dist/mocked_classnames/src/components/Avatar/Avatar.js +1 -1
  14. package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
  15. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js +1 -1
  16. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
  17. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js +1 -1
  18. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
  19. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js +1 -1
  20. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
  21. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js +1 -1
  22. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +1 -1
  23. package/dist/mocked_classnames/src/components/Badge/Badge.js +1 -1
  24. package/dist/mocked_classnames/src/components/Badge/Badge.js.map +1 -1
  25. package/dist/mocked_classnames/src/components/BaseItem/BaseItem.js +1 -1
  26. package/dist/mocked_classnames/src/components/BaseItem/BaseItem.js.map +1 -1
  27. package/dist/mocked_classnames/src/components/BaseList/BaseList.js +1 -1
  28. package/dist/mocked_classnames/src/components/BaseList/BaseList.js.map +1 -1
  29. package/dist/mocked_classnames/src/components/BaseList/context/BaseListContext.js +1 -1
  30. package/dist/mocked_classnames/src/components/BaseList/context/BaseListContext.js.map +1 -1
  31. package/dist/mocked_classnames/src/components/BaseList/hooks/useBaseListKeyboard.js +1 -1
  32. package/dist/mocked_classnames/src/components/BaseList/hooks/useBaseListKeyboard.js.map +1 -1
  33. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js +1 -1
  34. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
  35. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js +1 -1
  36. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js.map +1 -1
  37. package/dist/mocked_classnames/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js +1 -1
  38. package/dist/mocked_classnames/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +1 -1
  39. package/dist/mocked_classnames/src/components/Chips/Chips.js +1 -1
  40. package/dist/mocked_classnames/src/components/Chips/Chips.js.map +1 -1
  41. package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js +1 -1
  42. package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js.map +1 -1
  43. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js +1 -1
  44. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
  45. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js +1 -1
  46. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
  47. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js +1 -1
  48. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
  49. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js +1 -1
  50. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
  51. package/dist/mocked_classnames/src/components/Combobox/Combobox.js +1 -1
  52. package/dist/mocked_classnames/src/components/Combobox/Combobox.js.map +1 -1
  53. package/dist/mocked_classnames/src/components/Counter/Counter.js +1 -1
  54. package/dist/mocked_classnames/src/components/Counter/Counter.js.map +1 -1
  55. package/dist/mocked_classnames/src/components/Divider/Divider.js +1 -1
  56. package/dist/mocked_classnames/src/components/Divider/Divider.js.map +1 -1
  57. package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js +1 -1
  58. package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js.map +1 -1
  59. package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js +1 -1
  60. package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js.map +1 -1
  61. package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js +1 -1
  62. package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js.map +1 -1
  63. package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.js +1 -1
  64. package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.js.map +1 -1
  65. package/dist/mocked_classnames/src/components/EditableText/EditableText.js +1 -1
  66. package/dist/mocked_classnames/src/components/EditableText/EditableText.js.map +1 -1
  67. package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.js +1 -1
  68. package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.js.map +1 -1
  69. package/dist/mocked_classnames/src/components/EmptyState/EmptyState.js +1 -1
  70. package/dist/mocked_classnames/src/components/EmptyState/EmptyState.js.map +1 -1
  71. package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js +1 -1
  72. package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  73. package/dist/mocked_classnames/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js +1 -1
  74. package/dist/mocked_classnames/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js.map +1 -1
  75. package/dist/mocked_classnames/src/components/HiddenText/HiddenText.js +1 -1
  76. package/dist/mocked_classnames/src/components/HiddenText/HiddenText.js.map +1 -1
  77. package/dist/mocked_classnames/src/components/Info/Info.js +1 -1
  78. package/dist/mocked_classnames/src/components/Info/Info.js.map +1 -1
  79. package/dist/mocked_classnames/src/components/Label/Label.js +1 -1
  80. package/dist/mocked_classnames/src/components/Label/Label.js.map +1 -1
  81. package/dist/mocked_classnames/src/components/Link/Link.js +1 -1
  82. package/dist/mocked_classnames/src/components/Link/Link.js.map +1 -1
  83. package/dist/mocked_classnames/src/components/List/List.js +1 -1
  84. package/dist/mocked_classnames/src/components/List/List.js.map +1 -1
  85. package/dist/mocked_classnames/src/components/List/utils/ListContext.js +1 -1
  86. package/dist/mocked_classnames/src/components/List/utils/ListContext.js.map +1 -1
  87. package/dist/mocked_classnames/src/components/List/utils/ListUtils.js +1 -1
  88. package/dist/mocked_classnames/src/components/List/utils/ListUtils.js.map +1 -1
  89. package/dist/mocked_classnames/src/components/ListItem/ListItem.js +1 -1
  90. package/dist/mocked_classnames/src/components/ListItem/ListItem.js.map +1 -1
  91. package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.js +1 -1
  92. package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
  93. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js +1 -1
  94. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
  95. package/dist/mocked_classnames/src/components/ListTitle/ListTitle.js +1 -1
  96. package/dist/mocked_classnames/src/components/ListTitle/ListTitle.js.map +1 -1
  97. package/dist/mocked_classnames/src/components/Menu/Menu/Menu.js +1 -1
  98. package/dist/mocked_classnames/src/components/Menu/Menu/Menu.js.map +1 -1
  99. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js +1 -1
  100. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js.map +1 -1
  101. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useLastNavigationDirection.js +1 -1
  102. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useLastNavigationDirection.js.map +1 -1
  103. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuId.js +1 -1
  104. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuId.js.map +1 -1
  105. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js +1 -1
  106. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js.map +1 -1
  107. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMouseLeave.js +1 -1
  108. package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMouseLeave.js.map +1 -1
  109. package/dist/mocked_classnames/src/components/Menu/MenuGridItem/MenuGridItem.js +1 -1
  110. package/dist/mocked_classnames/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
  111. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js +1 -1
  112. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js.map +1 -1
  113. package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js +1 -1
  114. package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js.map +1 -1
  115. package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js +1 -1
  116. package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js.map +1 -1
  117. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
  118. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  119. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
  120. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
  121. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js +1 -1
  122. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js.map +1 -1
  123. package/dist/mocked_classnames/src/components/Modal/Modal/Modal.js +1 -1
  124. package/dist/mocked_classnames/src/components/Modal/Modal/Modal.js.map +1 -1
  125. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js +1 -1
  126. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
  127. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js +1 -1
  128. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
  129. package/dist/mocked_classnames/src/components/NumberField/NumberField.js +1 -1
  130. package/dist/mocked_classnames/src/components/NumberField/NumberField.js.map +1 -1
  131. package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js +1 -1
  132. package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js.map +1 -1
  133. package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/Bar/Bar.js +1 -1
  134. package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/Bar/Bar.js.map +1 -1
  135. package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/ProgressBar.js +1 -1
  136. package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/ProgressBar.js.map +1 -1
  137. package/dist/mocked_classnames/src/components/RadioButton/RadioButton.js +1 -1
  138. package/dist/mocked_classnames/src/components/RadioButton/RadioButton.js.map +1 -1
  139. package/dist/mocked_classnames/src/components/Search/Search.js +1 -1
  140. package/dist/mocked_classnames/src/components/Search/Search.js.map +1 -1
  141. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js +1 -1
  142. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +1 -1
  143. package/dist/mocked_classnames/src/components/Slider/Slider.js +1 -1
  144. package/dist/mocked_classnames/src/components/Slider/Slider.js.map +1 -1
  145. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderBase.js +1 -1
  146. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderBase.js.map +1 -1
  147. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.js +1 -1
  148. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
  149. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.js +1 -1
  150. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
  151. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.js +1 -1
  152. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
  153. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.js +1 -1
  154. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
  155. package/dist/mocked_classnames/src/components/Slider/SliderContext.js +1 -1
  156. package/dist/mocked_classnames/src/components/Slider/SliderContext.js.map +1 -1
  157. package/dist/mocked_classnames/src/components/Slider/SliderHooks.js +1 -1
  158. package/dist/mocked_classnames/src/components/Slider/SliderHooks.js.map +1 -1
  159. package/dist/mocked_classnames/src/components/Slider/SliderInfix.js +1 -1
  160. package/dist/mocked_classnames/src/components/Slider/SliderInfix.js.map +1 -1
  161. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js +1 -1
  162. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
  163. package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js +1 -1
  164. package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +1 -1
  165. package/dist/mocked_classnames/src/components/Steps/Steps.js +1 -1
  166. package/dist/mocked_classnames/src/components/Steps/Steps.js.map +1 -1
  167. package/dist/mocked_classnames/src/components/Steps/StepsCommand.js +1 -1
  168. package/dist/mocked_classnames/src/components/Steps/StepsCommand.js.map +1 -1
  169. package/dist/mocked_classnames/src/components/Steps/StepsDot.js +1 -1
  170. package/dist/mocked_classnames/src/components/Steps/StepsDot.js.map +1 -1
  171. package/dist/mocked_classnames/src/components/Table/Table/Table.js +1 -1
  172. package/dist/mocked_classnames/src/components/Table/Table/Table.js.map +1 -1
  173. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js +1 -1
  174. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
  175. package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.js +1 -1
  176. package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.js.map +1 -1
  177. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js +1 -1
  178. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
  179. package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.js +1 -1
  180. package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.js.map +1 -1
  181. package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.js +1 -1
  182. package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.js.map +1 -1
  183. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js +1 -1
  184. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js.map +1 -1
  185. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js +1 -1
  186. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js.map +1 -1
  187. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js +1 -1
  188. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
  189. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js +1 -1
  190. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
  191. package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js +1 -1
  192. package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  193. package/dist/mocked_classnames/src/components/TextField/TextField.js +1 -1
  194. package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
  195. package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.js +1 -1
  196. package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
  197. package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js +1 -1
  198. package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
  199. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js +1 -1
  200. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js.map +1 -1
  201. package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.js +1 -1
  202. package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
  203. package/dist/mocked_classnames/src/components/Toast/Toast.js +1 -1
  204. package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
  205. package/dist/mocked_classnames/src/components/Toggle/MockToggle.js +1 -1
  206. package/dist/mocked_classnames/src/components/Toggle/MockToggle.js.map +1 -1
  207. package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.js +1 -1
  208. package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
  209. package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.js +1 -1
  210. package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
  211. package/dist/mocked_classnames/src/helpers/textManipulations.js +1 -1
  212. package/dist/mocked_classnames/src/helpers/textManipulations.js.map +1 -1
  213. package/dist/mocked_classnames/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js +1 -1
  214. package/dist/mocked_classnames/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js.map +1 -1
  215. package/dist/mocked_classnames/src/hooks/useFullKeyboardListeners.js +1 -1
  216. package/dist/mocked_classnames/src/hooks/useFullKeyboardListeners.js.map +1 -1
  217. package/dist/mocked_classnames/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js +1 -1
  218. package/dist/mocked_classnames/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js.map +1 -1
  219. package/dist/mocked_classnames/src/hooks/useIsMouseEnter.js +1 -1
  220. package/dist/mocked_classnames/src/hooks/useIsMouseEnter.js.map +1 -1
  221. package/dist/mocked_classnames/src/hooks/useIsMouseOver.js +1 -1
  222. package/dist/mocked_classnames/src/hooks/useIsMouseOver.js.map +1 -1
  223. package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js +1 -1
  224. package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -1
  225. package/dist/mocked_classnames/src/hooks/useListenFocusTriggers/index.js +1 -1
  226. package/dist/mocked_classnames/src/hooks/useListenFocusTriggers/index.js.map +1 -1
  227. package/dist/mocked_classnames/src/hooks/useMediaQuery/index.js +1 -1
  228. package/dist/mocked_classnames/src/hooks/useMediaQuery/index.js.map +1 -1
  229. package/dist/mocked_classnames/src/hooks/usePrevious/index.js +1 -1
  230. package/dist/mocked_classnames/src/hooks/usePrevious/index.js.map +1 -1
  231. package/dist/mocked_classnames/src/hooks/useSetFocus/index.js +1 -1
  232. package/dist/mocked_classnames/src/hooks/useSetFocus/index.js.map +1 -1
  233. package/dist/mocked_classnames/src/hooks/useVibeMediaQuery/index.js +1 -1
  234. package/dist/mocked_classnames/src/hooks/useVibeMediaQuery/index.js.map +1 -1
  235. package/dist/mocked_classnames/src/index.js +1 -1
  236. package/dist/shared/dist/utils/dom-event-utils.js.map +1 -0
  237. package/dist/shared/dist/utils/media-query-utils.js +2 -0
  238. package/dist/shared/dist/utils/media-query-utils.js.map +1 -0
  239. package/dist/shared/dist/utils/testid-helper.js.map +1 -0
  240. package/dist/shared/dist/utils/user-agent-utils.js.map +1 -0
  241. package/dist/shared/dist/utils/warn-deprecated.js.map +1 -0
  242. package/dist/src/components/Accordion/Accordion/Accordion.js +1 -1
  243. package/dist/src/components/Accordion/Accordion/Accordion.js.map +1 -1
  244. package/dist/src/components/Accordion/AccordionItem/AccordionItem.js +1 -1
  245. package/dist/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  246. package/dist/src/components/AlertBanner/AlertBanner.js +1 -1
  247. package/dist/src/components/AlertBanner/AlertBanner.js.map +1 -1
  248. package/dist/src/components/Avatar/Avatar.js +1 -1
  249. package/dist/src/components/Avatar/Avatar.js.map +1 -1
  250. package/dist/src/components/Avatar/AvatarBadge.js +1 -1
  251. package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
  252. package/dist/src/components/Avatar/AvatarContent.js +1 -1
  253. package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
  254. package/dist/src/components/AvatarGroup/AvatarGroupCounter.js +1 -1
  255. package/dist/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
  256. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js +1 -1
  257. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +1 -1
  258. package/dist/src/components/Badge/Badge.js +1 -1
  259. package/dist/src/components/Badge/Badge.js.map +1 -1
  260. package/dist/src/components/BaseItem/BaseItem.js +1 -1
  261. package/dist/src/components/BaseItem/BaseItem.js.map +1 -1
  262. package/dist/src/components/BaseList/BaseList.js +1 -1
  263. package/dist/src/components/BaseList/BaseList.js.map +1 -1
  264. package/dist/src/components/BaseList/context/BaseListContext.js +1 -1
  265. package/dist/src/components/BaseList/context/BaseListContext.js.map +1 -1
  266. package/dist/src/components/BaseList/hooks/useBaseListKeyboard.js +1 -1
  267. package/dist/src/components/BaseList/hooks/useBaseListKeyboard.js.map +1 -1
  268. package/dist/src/components/ButtonGroup/ButtonGroup.js +1 -1
  269. package/dist/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
  270. package/dist/src/components/Checkbox/Checkbox.js +1 -1
  271. package/dist/src/components/Checkbox/Checkbox.js.map +1 -1
  272. package/dist/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js +1 -1
  273. package/dist/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +1 -1
  274. package/dist/src/components/Chips/Chips.js +1 -1
  275. package/dist/src/components/Chips/Chips.js.map +1 -1
  276. package/dist/src/components/ColorPicker/ColorPicker.js +1 -1
  277. package/dist/src/components/ColorPicker/ColorPicker.js.map +1 -1
  278. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js +1 -1
  279. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
  280. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js +1 -1
  281. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
  282. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js +1 -1
  283. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
  284. package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js +1 -1
  285. package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
  286. package/dist/src/components/Combobox/Combobox.js +1 -1
  287. package/dist/src/components/Combobox/Combobox.js.map +1 -1
  288. package/dist/src/components/Counter/Counter.js +1 -1
  289. package/dist/src/components/Counter/Counter.js.map +1 -1
  290. package/dist/src/components/Divider/Divider.js +1 -1
  291. package/dist/src/components/Divider/Divider.js.map +1 -1
  292. package/dist/src/components/Dropdown/Dropdown.js +1 -1
  293. package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
  294. package/dist/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js +1 -1
  295. package/dist/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js.map +1 -1
  296. package/dist/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js +1 -1
  297. package/dist/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js.map +1 -1
  298. package/dist/src/components/EditableHeading/EditableHeading.js +1 -1
  299. package/dist/src/components/EditableHeading/EditableHeading.js.map +1 -1
  300. package/dist/src/components/EditableText/EditableText.js +1 -1
  301. package/dist/src/components/EditableText/EditableText.js.map +1 -1
  302. package/dist/src/components/EditableTypography/EditableTypography.js +1 -1
  303. package/dist/src/components/EditableTypography/EditableTypography.js.map +1 -1
  304. package/dist/src/components/EmptyState/EmptyState.js +1 -1
  305. package/dist/src/components/EmptyState/EmptyState.js.map +1 -1
  306. package/dist/src/components/ExpandCollapse/ExpandCollapse.js +1 -1
  307. package/dist/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  308. package/dist/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js +1 -1
  309. package/dist/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js.map +1 -1
  310. package/dist/src/components/HiddenText/HiddenText.js +1 -1
  311. package/dist/src/components/HiddenText/HiddenText.js.map +1 -1
  312. package/dist/src/components/Info/Info.js +1 -1
  313. package/dist/src/components/Info/Info.js.map +1 -1
  314. package/dist/src/components/Label/Label.js +1 -1
  315. package/dist/src/components/Label/Label.js.map +1 -1
  316. package/dist/src/components/Link/Link.js +1 -1
  317. package/dist/src/components/Link/Link.js.map +1 -1
  318. package/dist/src/components/List/List.js +1 -1
  319. package/dist/src/components/List/List.js.map +1 -1
  320. package/dist/src/components/List/utils/ListContext.js +1 -1
  321. package/dist/src/components/List/utils/ListContext.js.map +1 -1
  322. package/dist/src/components/List/utils/ListUtils.js +1 -1
  323. package/dist/src/components/List/utils/ListUtils.js.map +1 -1
  324. package/dist/src/components/ListItem/ListItem.js +1 -1
  325. package/dist/src/components/ListItem/ListItem.js.map +1 -1
  326. package/dist/src/components/ListItemAvatar/ListItemAvatar.js +1 -1
  327. package/dist/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
  328. package/dist/src/components/ListItemIcon/ListItemIcon.js +1 -1
  329. package/dist/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
  330. package/dist/src/components/ListTitle/ListTitle.js +1 -1
  331. package/dist/src/components/ListTitle/ListTitle.js.map +1 -1
  332. package/dist/src/components/Menu/Menu/Menu.js +1 -1
  333. package/dist/src/components/Menu/Menu/Menu.js.map +1 -1
  334. package/dist/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js +1 -1
  335. package/dist/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js.map +1 -1
  336. package/dist/src/components/Menu/Menu/hooks/useLastNavigationDirection.js +1 -1
  337. package/dist/src/components/Menu/Menu/hooks/useLastNavigationDirection.js.map +1 -1
  338. package/dist/src/components/Menu/Menu/hooks/useMenuId.js +1 -1
  339. package/dist/src/components/Menu/Menu/hooks/useMenuId.js.map +1 -1
  340. package/dist/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js +1 -1
  341. package/dist/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js.map +1 -1
  342. package/dist/src/components/Menu/Menu/hooks/useMouseLeave.js +1 -1
  343. package/dist/src/components/Menu/Menu/hooks/useMouseLeave.js.map +1 -1
  344. package/dist/src/components/Menu/MenuGridItem/MenuGridItem.js +1 -1
  345. package/dist/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
  346. package/dist/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js +1 -1
  347. package/dist/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js.map +1 -1
  348. package/dist/src/components/Menu/MenuItem/components/MenuItemSubMenu/MenuItemSubMenu.js +1 -1
  349. package/dist/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js +1 -1
  350. package/dist/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js.map +1 -1
  351. package/dist/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js +1 -1
  352. package/dist/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js.map +1 -1
  353. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
  354. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  355. package/dist/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
  356. package/dist/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
  357. package/dist/src/components/MenuButton/MenuButton.js +1 -1
  358. package/dist/src/components/MenuButton/MenuButton.js.map +1 -1
  359. package/dist/src/components/Modal/Modal/Modal.js +1 -1
  360. package/dist/src/components/Modal/Modal/Modal.js.map +1 -1
  361. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js +1 -1
  362. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
  363. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js +1 -1
  364. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
  365. package/dist/src/components/NumberField/NumberField.js +1 -1
  366. package/dist/src/components/NumberField/NumberField.js.map +1 -1
  367. package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js +1 -1
  368. package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js.map +1 -1
  369. package/dist/src/components/ProgressBars/ProgressBar/Bar/Bar.js +1 -1
  370. package/dist/src/components/ProgressBars/ProgressBar/Bar/Bar.js.map +1 -1
  371. package/dist/src/components/ProgressBars/ProgressBar/ProgressBar.js +1 -1
  372. package/dist/src/components/ProgressBars/ProgressBar/ProgressBar.js.map +1 -1
  373. package/dist/src/components/RadioButton/RadioButton.js +1 -1
  374. package/dist/src/components/RadioButton/RadioButton.js.map +1 -1
  375. package/dist/src/components/Search/Search.js +1 -1
  376. package/dist/src/components/Search/Search.js.map +1 -1
  377. package/dist/src/components/Skeleton/Skeleton.js +1 -1
  378. package/dist/src/components/Skeleton/Skeleton.js.map +1 -1
  379. package/dist/src/components/Slider/Slider.js +1 -1
  380. package/dist/src/components/Slider/Slider.js.map +1 -1
  381. package/dist/src/components/Slider/SliderBase/SliderBase.js +1 -1
  382. package/dist/src/components/Slider/SliderBase/SliderBase.js.map +1 -1
  383. package/dist/src/components/Slider/SliderBase/SliderFilledTrack.js +1 -1
  384. package/dist/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
  385. package/dist/src/components/Slider/SliderBase/SliderRail.js +1 -1
  386. package/dist/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
  387. package/dist/src/components/Slider/SliderBase/SliderThumb.js +1 -1
  388. package/dist/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
  389. package/dist/src/components/Slider/SliderBase/SliderTrack.js +1 -1
  390. package/dist/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
  391. package/dist/src/components/Slider/SliderContext.js +1 -1
  392. package/dist/src/components/Slider/SliderContext.js.map +1 -1
  393. package/dist/src/components/Slider/SliderHooks.js +1 -1
  394. package/dist/src/components/Slider/SliderHooks.js.map +1 -1
  395. package/dist/src/components/Slider/SliderInfix.js +1 -1
  396. package/dist/src/components/Slider/SliderInfix.js.map +1 -1
  397. package/dist/src/components/SplitButton/SplitButton.js +1 -1
  398. package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
  399. package/dist/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js +1 -1
  400. package/dist/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +1 -1
  401. package/dist/src/components/Steps/Steps.js +1 -1
  402. package/dist/src/components/Steps/Steps.js.map +1 -1
  403. package/dist/src/components/Steps/StepsCommand.js +1 -1
  404. package/dist/src/components/Steps/StepsCommand.js.map +1 -1
  405. package/dist/src/components/Steps/StepsDot.js +1 -1
  406. package/dist/src/components/Steps/StepsDot.js.map +1 -1
  407. package/dist/src/components/Table/Table/Table.js +1 -1
  408. package/dist/src/components/Table/Table/Table.js.map +1 -1
  409. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js +1 -1
  410. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
  411. package/dist/src/components/Table/TableHeader/TableHeader.js +1 -1
  412. package/dist/src/components/Table/TableHeader/TableHeader.js.map +1 -1
  413. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js +1 -1
  414. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
  415. package/dist/src/components/Table/TableRow/TableRow.js +1 -1
  416. package/dist/src/components/Table/TableRow/TableRow.js.map +1 -1
  417. package/dist/src/components/Table/TableRowMenu/TableRowMenu.js +1 -1
  418. package/dist/src/components/Table/TableRowMenu/TableRowMenu.js.map +1 -1
  419. package/dist/src/components/Tabs/Tab/Tab.js +1 -1
  420. package/dist/src/components/Tabs/Tab/Tab.js.map +1 -1
  421. package/dist/src/components/Tabs/TabList/TabList.js +1 -1
  422. package/dist/src/components/Tabs/TabList/TabList.js.map +1 -1
  423. package/dist/src/components/Tabs/TabPanel/TabPanel.js +1 -1
  424. package/dist/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
  425. package/dist/src/components/Tabs/TabPanels/TabPanels.js +1 -1
  426. package/dist/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
  427. package/dist/src/components/Tabs/TabsContext/TabsContext.js +1 -1
  428. package/dist/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  429. package/dist/src/components/TextField/TextField.js +1 -1
  430. package/dist/src/components/TextField/TextField.js.map +1 -1
  431. package/dist/src/components/TextWithHighlight/TextWithHighlight.js +1 -1
  432. package/dist/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
  433. package/dist/src/components/ThemeProvider/ThemeProvider.js +1 -1
  434. package/dist/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
  435. package/dist/src/components/Tipseen/Tipseen.js +1 -1
  436. package/dist/src/components/Tipseen/Tipseen.js.map +1 -1
  437. package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.js +1 -1
  438. package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
  439. package/dist/src/components/Toast/Toast.js +1 -1
  440. package/dist/src/components/Toast/Toast.js.map +1 -1
  441. package/dist/src/components/Toggle/MockToggle.js +1 -1
  442. package/dist/src/components/Toggle/MockToggle.js.map +1 -1
  443. package/dist/src/components/VirtualizedGrid/VirtualizedGrid.js +1 -1
  444. package/dist/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
  445. package/dist/src/components/VirtualizedList/VirtualizedList.js +1 -1
  446. package/dist/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
  447. package/dist/src/helpers/textManipulations.js +1 -1
  448. package/dist/src/helpers/textManipulations.js.map +1 -1
  449. package/dist/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js +1 -1
  450. package/dist/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js.map +1 -1
  451. package/dist/src/hooks/useFullKeyboardListeners.js +1 -1
  452. package/dist/src/hooks/useFullKeyboardListeners.js.map +1 -1
  453. package/dist/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js +1 -1
  454. package/dist/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js.map +1 -1
  455. package/dist/src/hooks/useIsMouseEnter.js +1 -1
  456. package/dist/src/hooks/useIsMouseEnter.js.map +1 -1
  457. package/dist/src/hooks/useIsMouseOver.js +1 -1
  458. package/dist/src/hooks/useIsMouseOver.js.map +1 -1
  459. package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js +1 -1
  460. package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -1
  461. package/dist/src/hooks/useListenFocusTriggers/index.js +1 -1
  462. package/dist/src/hooks/useListenFocusTriggers/index.js.map +1 -1
  463. package/dist/src/hooks/useMediaQuery/index.js +1 -1
  464. package/dist/src/hooks/useMediaQuery/index.js.map +1 -1
  465. package/dist/src/hooks/usePrevious/index.js +1 -1
  466. package/dist/src/hooks/usePrevious/index.js.map +1 -1
  467. package/dist/src/hooks/useSetFocus/index.js +1 -1
  468. package/dist/src/hooks/useSetFocus/index.js.map +1 -1
  469. package/dist/src/hooks/useVibeMediaQuery/index.js +1 -1
  470. package/dist/src/hooks/useVibeMediaQuery/index.js.map +1 -1
  471. package/dist/src/index.js +1 -1
  472. package/package.json +15 -15
  473. package/dist/helpers/screenReaderAccessHelper.d.ts +0 -31
  474. package/dist/helpers/testid-helper.d.ts +0 -1
  475. package/dist/helpers/typesciptCssModulesHelper.d.ts +0 -6
  476. package/dist/hooks/ssr/useIsMounted.d.ts +0 -1
  477. package/dist/hooks/ssr/useIsomorphicLayoutEffect.d.ts +0 -3
  478. package/dist/hooks/useMergeRef.d.ts +0 -7
  479. package/dist/mocked_classnames/helpers/screenReaderAccessHelper.d.ts +0 -31
  480. package/dist/mocked_classnames/helpers/testid-helper.d.ts +0 -1
  481. package/dist/mocked_classnames/helpers/typesciptCssModulesHelper.d.ts +0 -6
  482. package/dist/mocked_classnames/hooks/ssr/useIsMounted.d.ts +0 -1
  483. package/dist/mocked_classnames/hooks/ssr/useIsomorphicLayoutEffect.d.ts +0 -3
  484. package/dist/mocked_classnames/hooks/useMergeRef.d.ts +0 -7
  485. package/dist/mocked_classnames/src/helpers/testid-helper.js.map +0 -1
  486. package/dist/mocked_classnames/src/helpers/typesciptCssModulesHelper.js +0 -2
  487. package/dist/mocked_classnames/src/helpers/typesciptCssModulesHelper.js.map +0 -1
  488. package/dist/mocked_classnames/src/hooks/ssr/useIsomorphicLayoutEffect.js +0 -2
  489. package/dist/mocked_classnames/src/hooks/ssr/useIsomorphicLayoutEffect.js.map +0 -1
  490. package/dist/mocked_classnames/src/hooks/useEventListener/index.js +0 -2
  491. package/dist/mocked_classnames/src/hooks/useEventListener/index.js.map +0 -1
  492. package/dist/mocked_classnames/src/hooks/useKeyEvent/index.js +0 -2
  493. package/dist/mocked_classnames/src/hooks/useKeyEvent/index.js.map +0 -1
  494. package/dist/mocked_classnames/src/hooks/useMergeRef.js +0 -2
  495. package/dist/mocked_classnames/src/hooks/useMergeRef.js.map +0 -1
  496. package/dist/mocked_classnames/src/utils/dom-event-utils.js.map +0 -1
  497. package/dist/mocked_classnames/src/utils/dom-utils.js +0 -2
  498. package/dist/mocked_classnames/src/utils/dom-utils.js.map +0 -1
  499. package/dist/mocked_classnames/src/utils/function-utils.js +0 -2
  500. package/dist/mocked_classnames/src/utils/function-utils.js.map +0 -1
  501. package/dist/mocked_classnames/src/utils/media-query-utils.js +0 -2
  502. package/dist/mocked_classnames/src/utils/media-query-utils.js.map +0 -1
  503. package/dist/mocked_classnames/src/utils/ssr-utils.js +0 -2
  504. package/dist/mocked_classnames/src/utils/ssr-utils.js.map +0 -1
  505. package/dist/mocked_classnames/src/utils/user-agent-utils.js.map +0 -1
  506. package/dist/mocked_classnames/src/utils/warn-deprecated.js.map +0 -1
  507. package/dist/mocked_classnames/utils/dom-event-utils.d.ts +0 -16
  508. package/dist/mocked_classnames/utils/dom-utils.d.ts +0 -2
  509. package/dist/mocked_classnames/utils/function-utils.d.ts +0 -5
  510. package/dist/mocked_classnames/utils/media-query-utils.d.ts +0 -23
  511. package/dist/mocked_classnames/utils/ssr-utils.d.ts +0 -2
  512. package/dist/mocked_classnames/utils/user-agent-utils.d.ts +0 -2
  513. package/dist/mocked_classnames/utils/warn-deprecated.d.ts +0 -10
  514. package/dist/src/helpers/testid-helper.js +0 -2
  515. package/dist/src/helpers/testid-helper.js.map +0 -1
  516. package/dist/src/helpers/typesciptCssModulesHelper.js +0 -2
  517. package/dist/src/helpers/typesciptCssModulesHelper.js.map +0 -1
  518. package/dist/src/hooks/ssr/useIsomorphicLayoutEffect.js +0 -2
  519. package/dist/src/hooks/ssr/useIsomorphicLayoutEffect.js.map +0 -1
  520. package/dist/src/hooks/useEventListener/index.js +0 -2
  521. package/dist/src/hooks/useEventListener/index.js.map +0 -1
  522. package/dist/src/hooks/useKeyEvent/index.js +0 -2
  523. package/dist/src/hooks/useKeyEvent/index.js.map +0 -1
  524. package/dist/src/hooks/useMergeRef.js +0 -2
  525. package/dist/src/hooks/useMergeRef.js.map +0 -1
  526. package/dist/src/utils/dom-event-utils.js +0 -2
  527. package/dist/src/utils/dom-event-utils.js.map +0 -1
  528. package/dist/src/utils/dom-utils.js +0 -2
  529. package/dist/src/utils/dom-utils.js.map +0 -1
  530. package/dist/src/utils/function-utils.js +0 -2
  531. package/dist/src/utils/function-utils.js.map +0 -1
  532. package/dist/src/utils/media-query-utils.js +0 -2
  533. package/dist/src/utils/media-query-utils.js.map +0 -1
  534. package/dist/src/utils/ssr-utils.js +0 -2
  535. package/dist/src/utils/ssr-utils.js.map +0 -1
  536. package/dist/src/utils/user-agent-utils.js +0 -2
  537. package/dist/src/utils/user-agent-utils.js.map +0 -1
  538. package/dist/src/utils/warn-deprecated.js +0 -2
  539. package/dist/src/utils/warn-deprecated.js.map +0 -1
  540. package/dist/utils/dom-event-utils.d.ts +0 -16
  541. package/dist/utils/dom-utils.d.ts +0 -2
  542. package/dist/utils/function-utils.d.ts +0 -5
  543. package/dist/utils/media-query-utils.d.ts +0 -23
  544. package/dist/utils/ssr-utils.d.ts +0 -2
  545. package/dist/utils/user-agent-utils.d.ts +0 -2
  546. package/dist/utils/warn-deprecated.d.ts +0 -10
  547. /package/dist/{mocked_classnames/src → shared/dist}/utils/dom-event-utils.js +0 -0
  548. /package/dist/{mocked_classnames/src/helpers → shared/dist/utils}/testid-helper.js +0 -0
  549. /package/dist/{mocked_classnames/src → shared/dist}/utils/user-agent-utils.js +0 -0
  550. /package/dist/{mocked_classnames/src → shared/dist}/utils/warn-deprecated.js +0 -0
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,defineProperty as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{forwardRef as r,useRef as a,useState as s,useCallback as i,useMemo as n}from"react";import l from"classnames";import{RemoveScroll as c}from"react-remove-scroll";import m from"react-focus-lock";import{CSSTransition as d}from"react-transition-group";import{getTestId as u}from"../../../tests/testIds.js";import{ComponentDefaultTestId as f,ComponentVibeId as p}from"../../../tests/constants.js";import v from"./Modal.module.scss.js";import E from"../ModalTopActions/ModalTopActions.js";import{getStyle as y}from"../../../helpers/typesciptCssModulesHelper.js";import{camelCase as A}from"es-toolkit";import{ModalProvider as b}from"../context/ModalContext.js";import{keyCodes as h}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";import{createPortal as j}from"react-dom";import g from"../hooks/usePortalTarget/usePortalTarget.js";import x from"../hooks/useFocusEscapeTargets/useFocusEscapeTargets.js";import{LayerProvider as M}from"@vibe/layer/mockedClassNames";import T from"../../../hooks/useMergeRef.js";var k=m.default||m,w=r((function(r,m){var w,C=r.id,F=r.show,L=r.size,P=void 0===L?"medium":L,O=r.renderHeaderAction,I=r.closeButtonTheme,N=r.closeButtonAriaLabel,R=r.onClose,z=void 0===R?function(){}:R,B=r.autoFocus,D=void 0===B||B,H=r.allowFocusEscapeTo,_=r.onFocusAttempt,V=r.anchorElementRef,K=r.alertModal,S=r.container,Y=void 0===S?document.body:S,q=r.children,G=r.style,J=r.zIndex,Q=r.className,U=r["data-testid"],W=r["aria-labelledby"],X=r["aria-describedby"],Z=g(Y),$=a(null),ee=T(m,$),te=a(null),oe=s(),re=e(oe,2),ae=re[0],se=re[1],ie=s(),ne=e(ie,2),le=ne[0],ce=ne[1],me=i((function(e){W||se(e)}),[W]),de=i((function(e){X||ce(e)}),[X]),ue=n((function(){return{modalId:C,setTitleId:me,setDescriptionId:de,autoFocus:D}}),[C,me,de,D]),fe=i((function(e){F&&!K&&z(e)}),[F,K,z]),pe=i((function(e){e.key===h.ESCAPE&&F&&!K&&z(e)}),[K,z,F]),ve="full-view"===P?"fullView":(null==V?void 0:V.current)?"anchorPop":"centerPop",Ee=null===(w=null==V?void 0:V.current)||void 0===w?void 0:w.getBoundingClientRect(),ye=Ee?{"--modal-start-x":"".concat(Ee.left+Ee.width/2,"px"),"--modal-start-y":"".concat(Ee.top+Ee.height/2,"px")}:{},Ae=J?{"--monday-modal-z-index":J}:{},be=x(H),he=i((function(e){if(_){var t=_(e);return!0===t||t instanceof HTMLElement&&(t.focus(),!1)}return!be(e)}),[_,be]);return o.createElement(d,{in:F,nodeRef:te,timeout:{enter:250,exit:150},unmountOnExit:!0,classNames:{enter:v.containerEnter,enterActive:v.containerEnterActive,exitActive:v.containerExitActive}},o.createElement(M,{layerRef:te},o.createElement(b,{value:ue},j(o.createElement(k,{returnFocus:!0,autoFocus:D,whiteList:he},o.createElement("div",{ref:te,className:v.container,style:Ae,onKeyDown:pe},o.createElement("div",{"data-testid":u(f.MODAL_OVERLAY,C),className:v.overlay,onClick:fe,"aria-hidden":!0}),o.createElement(c,{forwardProps:!0,ref:ee},o.createElement("div",{className:l(v.modal,v[ve],y(v,A("size-"+P)),t({},v.withHeaderAction,!!O),Q),id:C,"data-testid":U||u(f.MODAL,C),"data-vibe":p.MODAL,role:"dialog","aria-modal":!0,"aria-labelledby":W||ae,"aria-describedby":X||le,style:Object.assign(Object.assign({},G),ye),tabIndex:-1},q,o.createElement(E,{renderAction:O,theme:I,closeButtonAriaLabel:N,onClose:z}))))),Z))))}));export{w as default};
1
+ import{slicedToArray as e,defineProperty as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{forwardRef as r,useRef as a,useState as i,useCallback as n,useMemo as s}from"react";import l from"classnames";import{RemoveScroll as c}from"react-remove-scroll";import m from"react-focus-lock";import{CSSTransition as d}from"react-transition-group";import{getTestId as u}from"../../../tests/testIds.js";import{ComponentDefaultTestId as f,ComponentVibeId as p}from"../../../tests/constants.js";import v from"./Modal.module.scss.js";import E from"../ModalTopActions/ModalTopActions.js";import{useMergeRef as b,getStyle as y}from"@vibe/shared";import{camelCase as A}from"es-toolkit";import{ModalProvider as h}from"../context/ModalContext.js";import{keyCodes as x}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";import{createPortal as g}from"react-dom";import j from"../hooks/usePortalTarget/usePortalTarget.js";import T from"../hooks/useFocusEscapeTargets/useFocusEscapeTargets.js";import{LayerProvider as w}from"@vibe/layer/mockedClassNames";var M=m.default||m,k=r((function(r,m){var k,C=r.id,F=r.show,L=r.size,P=void 0===L?"medium":L,O=r.renderHeaderAction,I=r.closeButtonTheme,N=r.closeButtonAriaLabel,z=r.onClose,B=void 0===z?function(){}:z,D=r.autoFocus,R=void 0===D||D,H=r.allowFocusEscapeTo,_=r.onFocusAttempt,V=r.anchorElementRef,K=r.alertModal,S=r.container,Y=void 0===S?document.body:S,q=r.children,G=r.style,J=r.zIndex,Q=r.className,U=r["data-testid"],W=r["aria-labelledby"],X=r["aria-describedby"],Z=j(Y),$=a(null),ee=b(m,$),te=a(null),oe=i(),re=e(oe,2),ae=re[0],ie=re[1],ne=i(),se=e(ne,2),le=se[0],ce=se[1],me=n((function(e){W||ie(e)}),[W]),de=n((function(e){X||ce(e)}),[X]),ue=s((function(){return{modalId:C,setTitleId:me,setDescriptionId:de,autoFocus:R}}),[C,me,de,R]),fe=n((function(e){F&&!K&&B(e)}),[F,K,B]),pe=n((function(e){e.key===x.ESCAPE&&F&&!K&&B(e)}),[K,B,F]),ve="full-view"===P?"fullView":(null==V?void 0:V.current)?"anchorPop":"centerPop",Ee=null===(k=null==V?void 0:V.current)||void 0===k?void 0:k.getBoundingClientRect(),be=Ee?{"--modal-start-x":"".concat(Ee.left+Ee.width/2,"px"),"--modal-start-y":"".concat(Ee.top+Ee.height/2,"px")}:{},ye=J?{"--monday-modal-z-index":J}:{},Ae=T(H),he=n((function(e){if(_){var t=_(e);return!0===t||t instanceof HTMLElement&&(t.focus(),!1)}return!Ae(e)}),[_,Ae]);return o.createElement(d,{in:F,nodeRef:te,timeout:{enter:250,exit:150},unmountOnExit:!0,classNames:{enter:v.containerEnter,enterActive:v.containerEnterActive,exitActive:v.containerExitActive}},o.createElement(w,{layerRef:te},o.createElement(h,{value:ue},g(o.createElement(M,{returnFocus:!0,autoFocus:R,whiteList:he},o.createElement("div",{ref:te,className:v.container,style:ye,onKeyDown:pe},o.createElement("div",{"data-testid":u(f.MODAL_OVERLAY,C),className:v.overlay,onClick:fe,"aria-hidden":!0}),o.createElement(c,{forwardProps:!0,ref:ee},o.createElement("div",{className:l(v.modal,v[ve],y(v,A("size-"+P)),t({},v.withHeaderAction,!!O),Q),id:C,"data-testid":U||u(f.MODAL,C),"data-vibe":p.MODAL,role:"dialog","aria-modal":!0,"aria-labelledby":W||ae,"aria-describedby":X||le,style:Object.assign(Object.assign({},G),be),tabIndex:-1},q,o.createElement(E,{renderAction:O,theme:I,closeButtonAriaLabel:N,onClose:B}))))),Z))))}));export{k as default};
2
2
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../../../src/components/Modal/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport FocusLock from \"react-focus-lock\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../../tests/constants\";\nimport styles from \"./Modal.module.scss\";\nimport { type ModalProps } from \"./Modal.types\";\nimport ModalTopActions from \"../ModalTopActions/ModalTopActions\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"es-toolkit\";\nimport { ModalProvider } from \"../context/ModalContext\";\nimport { type ModalProviderValue } from \"../context/ModalContext.types\";\nimport { keyCodes } from \"../../../constants\";\nimport { createPortal } from \"react-dom\";\nimport usePortalTarget from \"../hooks/usePortalTarget/usePortalTarget\";\nimport useFocusEscapeTargets from \"../hooks/useFocusEscapeTargets/useFocusEscapeTargets\";\nimport { LayerProvider } from \"@vibe/layer\";\nimport useMergeRef from \"../../../hooks/useMergeRef\";\n\n// @ts-expect-error This is a precaution to support all possible module systems (ESM/CJS)\nconst FocusLockComponent = (FocusLock.default || FocusLock) as typeof FocusLock;\n\nconst Modal = forwardRef(\n (\n {\n id,\n show,\n size = \"medium\",\n renderHeaderAction,\n closeButtonTheme,\n closeButtonAriaLabel,\n onClose = () => {},\n autoFocus = true,\n allowFocusEscapeTo,\n onFocusAttempt,\n anchorElementRef,\n alertModal,\n container = document.body,\n children,\n style,\n zIndex,\n className,\n \"data-testid\": dataTestId,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby\n }: ModalProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const portalTargetElement = usePortalTarget(container);\n\n const modalRef = useRef<HTMLDivElement>(null);\n const modalMergedRef = useMergeRef<HTMLDivElement>(ref, modalRef);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [titleId, setTitleId] = useState<string>();\n const [descriptionId, setDescriptionId] = useState<string>();\n\n const setTitleIdCallback = useCallback(\n (newId: string) => {\n if (ariaLabelledby) return;\n setTitleId(newId);\n },\n [ariaLabelledby]\n );\n const setDescriptionIdCallback = useCallback(\n (newId: string) => {\n if (ariaDescribedby) return;\n setDescriptionId(newId);\n },\n [ariaDescribedby]\n );\n\n const contextValue = useMemo<ModalProviderValue>(\n () => ({\n modalId: id,\n setTitleId: setTitleIdCallback,\n setDescriptionId: setDescriptionIdCallback,\n autoFocus\n }),\n [id, setTitleIdCallback, setDescriptionIdCallback, autoFocus]\n );\n\n const onBackdropClick = useCallback<React.MouseEventHandler<HTMLDivElement>>(\n e => {\n if (!show || alertModal) return;\n onClose(e);\n },\n [show, alertModal, onClose]\n );\n\n const onModalKeyDown = useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n e => {\n if (e.key !== keyCodes.ESCAPE || !show || alertModal) return;\n onClose(e);\n },\n [alertModal, onClose, show]\n );\n\n const animationType = size === \"full-view\" ? \"fullView\" : anchorElementRef?.current ? \"anchorPop\" : \"centerPop\";\n\n const anchorRect = anchorElementRef?.current?.getBoundingClientRect();\n const anchorVars = anchorRect\n ? ({\n \"--modal-start-x\": `${anchorRect.left + anchorRect.width / 2}px`,\n \"--modal-start-y\": `${anchorRect.top + anchorRect.height / 2}px`\n } as React.CSSProperties)\n : {};\n\n const zIndexStyle = zIndex ? ({ \"--monday-modal-z-index\": zIndex } as React.CSSProperties) : {};\n\n const shouldAllowFocusEscape = useFocusEscapeTargets(allowFocusEscapeTo);\n\n /**\n * Returning true means that the focus-lock is allowed to manage the element.\n * Returning false means that the focus-lock would surrender control to the element.\n */\n const handleFocusLockWhiteList = useCallback(\n (nextFocusedElement?: HTMLElement) => {\n if (onFocusAttempt) {\n const outcome = onFocusAttempt(nextFocusedElement);\n\n if (outcome === true) return true;\n\n if (outcome instanceof HTMLElement) {\n outcome.focus();\n return false;\n }\n\n return false;\n }\n\n return !shouldAllowFocusEscape(nextFocusedElement);\n },\n [onFocusAttempt, shouldAllowFocusEscape]\n );\n\n return (\n <CSSTransition\n in={show}\n nodeRef={containerRef}\n timeout={{ enter: 250, exit: 150 }}\n unmountOnExit\n classNames={{\n enter: styles.containerEnter,\n enterActive: styles.containerEnterActive,\n exitActive: styles.containerExitActive\n }}\n >\n <LayerProvider layerRef={containerRef}>\n <ModalProvider value={contextValue}>\n {createPortal(\n <FocusLockComponent returnFocus autoFocus={autoFocus} whiteList={handleFocusLockWhiteList}>\n <div ref={containerRef} className={styles.container} style={zIndexStyle} onKeyDown={onModalKeyDown}>\n <div\n data-testid={getTestId(ComponentDefaultTestId.MODAL_OVERLAY, id)}\n className={styles.overlay}\n onClick={onBackdropClick}\n aria-hidden\n />\n <RemoveScroll forwardProps ref={modalMergedRef}>\n <div\n className={cx(\n styles.modal,\n styles[animationType],\n getStyle(styles, camelCase(\"size-\" + size)),\n { [styles.withHeaderAction]: !!renderHeaderAction },\n className\n )}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MODAL, id)}\n data-vibe={ComponentVibeId.MODAL}\n role=\"dialog\"\n aria-modal\n aria-labelledby={ariaLabelledby || titleId}\n aria-describedby={ariaDescribedby || descriptionId}\n style={{ ...style, ...anchorVars }}\n tabIndex={-1}\n >\n {children}\n <ModalTopActions\n renderAction={renderHeaderAction}\n theme={closeButtonTheme}\n closeButtonAriaLabel={closeButtonAriaLabel}\n onClose={onClose}\n />\n </div>\n </RemoveScroll>\n </div>\n </FocusLockComponent>,\n portalTargetElement\n )}\n </ModalProvider>\n </LayerProvider>\n </CSSTransition>\n );\n }\n);\n\nexport default Modal;\n"],"names":["FocusLockComponent","FocusLock","default","Modal","forwardRef","_ref","ref","id","show","_ref$size","size","renderHeaderAction","closeButtonTheme","closeButtonAriaLabel","_ref$onClose","onClose","_ref$autoFocus","autoFocus","allowFocusEscapeTo","onFocusAttempt","anchorElementRef","alertModal","_ref$container","container","document","body","children","style","zIndex","className","dataTestId","ariaLabelledby","ariaDescribedby","portalTargetElement","usePortalTarget","modalRef","useRef","modalMergedRef","useMergeRef","containerRef","_useState","useState","_useState2","_slicedToArray","titleId","setTitleId","_useState3","_useState4","descriptionId","setDescriptionId","setTitleIdCallback","useCallback","newId","setDescriptionIdCallback","contextValue","useMemo","modalId","onBackdropClick","e","onModalKeyDown","key","keyCodes","ESCAPE","animationType","current","anchorRect","_a","getBoundingClientRect","anchorVars","concat","left","width","top","height","zIndexStyle","shouldAllowFocusEscape","useFocusEscapeTargets","handleFocusLockWhiteList","nextFocusedElement","outcome","HTMLElement","focus","React","createElement","CSSTransition","in","nodeRef","timeout","enter","exit","unmountOnExit","classNames","styles","containerEnter","enterActive","containerEnterActive","exitActive","containerExitActive","LayerProvider","layerRef","ModalProvider","value","createPortal","returnFocus","whiteList","onKeyDown","getTestId","ComponentDefaultTestId","MODAL_OVERLAY","overlay","onClick","RemoveScroll","forwardProps","cx","modal","getStyle","camelCase","_defineProperty","withHeaderAction","MODAL","ComponentVibeId","role","Object","assign","tabIndex","ModalTopActions","renderAction","theme"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../../../src/components/Modal/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport FocusLock from \"react-focus-lock\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../../tests/constants\";\nimport styles from \"./Modal.module.scss\";\nimport { type ModalProps } from \"./Modal.types\";\nimport ModalTopActions from \"../ModalTopActions/ModalTopActions\";\nimport { getStyle, useMergeRef } from \"@vibe/shared\";\nimport { camelCase } from \"es-toolkit\";\nimport { ModalProvider } from \"../context/ModalContext\";\nimport { type ModalProviderValue } from \"../context/ModalContext.types\";\nimport { keyCodes } from \"../../../constants\";\nimport { createPortal } from \"react-dom\";\nimport usePortalTarget from \"../hooks/usePortalTarget/usePortalTarget\";\nimport useFocusEscapeTargets from \"../hooks/useFocusEscapeTargets/useFocusEscapeTargets\";\nimport { LayerProvider } from \"@vibe/layer\";\n\n// @ts-expect-error This is a precaution to support all possible module systems (ESM/CJS)\nconst FocusLockComponent = (FocusLock.default || FocusLock) as typeof FocusLock;\n\nconst Modal = forwardRef(\n (\n {\n id,\n show,\n size = \"medium\",\n renderHeaderAction,\n closeButtonTheme,\n closeButtonAriaLabel,\n onClose = () => {},\n autoFocus = true,\n allowFocusEscapeTo,\n onFocusAttempt,\n anchorElementRef,\n alertModal,\n container = document.body,\n children,\n style,\n zIndex,\n className,\n \"data-testid\": dataTestId,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby\n }: ModalProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const portalTargetElement = usePortalTarget(container);\n\n const modalRef = useRef<HTMLDivElement>(null);\n const modalMergedRef = useMergeRef<HTMLDivElement>(ref, modalRef);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [titleId, setTitleId] = useState<string>();\n const [descriptionId, setDescriptionId] = useState<string>();\n\n const setTitleIdCallback = useCallback(\n (newId: string) => {\n if (ariaLabelledby) return;\n setTitleId(newId);\n },\n [ariaLabelledby]\n );\n const setDescriptionIdCallback = useCallback(\n (newId: string) => {\n if (ariaDescribedby) return;\n setDescriptionId(newId);\n },\n [ariaDescribedby]\n );\n\n const contextValue = useMemo<ModalProviderValue>(\n () => ({\n modalId: id,\n setTitleId: setTitleIdCallback,\n setDescriptionId: setDescriptionIdCallback,\n autoFocus\n }),\n [id, setTitleIdCallback, setDescriptionIdCallback, autoFocus]\n );\n\n const onBackdropClick = useCallback<React.MouseEventHandler<HTMLDivElement>>(\n e => {\n if (!show || alertModal) return;\n onClose(e);\n },\n [show, alertModal, onClose]\n );\n\n const onModalKeyDown = useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n e => {\n if (e.key !== keyCodes.ESCAPE || !show || alertModal) return;\n onClose(e);\n },\n [alertModal, onClose, show]\n );\n\n const animationType = size === \"full-view\" ? \"fullView\" : anchorElementRef?.current ? \"anchorPop\" : \"centerPop\";\n\n const anchorRect = anchorElementRef?.current?.getBoundingClientRect();\n const anchorVars = anchorRect\n ? ({\n \"--modal-start-x\": `${anchorRect.left + anchorRect.width / 2}px`,\n \"--modal-start-y\": `${anchorRect.top + anchorRect.height / 2}px`\n } as React.CSSProperties)\n : {};\n\n const zIndexStyle = zIndex ? ({ \"--monday-modal-z-index\": zIndex } as React.CSSProperties) : {};\n\n const shouldAllowFocusEscape = useFocusEscapeTargets(allowFocusEscapeTo);\n\n /**\n * Returning true means that the focus-lock is allowed to manage the element.\n * Returning false means that the focus-lock would surrender control to the element.\n */\n const handleFocusLockWhiteList = useCallback(\n (nextFocusedElement?: HTMLElement) => {\n if (onFocusAttempt) {\n const outcome = onFocusAttempt(nextFocusedElement);\n\n if (outcome === true) return true;\n\n if (outcome instanceof HTMLElement) {\n outcome.focus();\n return false;\n }\n\n return false;\n }\n\n return !shouldAllowFocusEscape(nextFocusedElement);\n },\n [onFocusAttempt, shouldAllowFocusEscape]\n );\n\n return (\n <CSSTransition\n in={show}\n nodeRef={containerRef}\n timeout={{ enter: 250, exit: 150 }}\n unmountOnExit\n classNames={{\n enter: styles.containerEnter,\n enterActive: styles.containerEnterActive,\n exitActive: styles.containerExitActive\n }}\n >\n <LayerProvider layerRef={containerRef}>\n <ModalProvider value={contextValue}>\n {createPortal(\n <FocusLockComponent returnFocus autoFocus={autoFocus} whiteList={handleFocusLockWhiteList}>\n <div ref={containerRef} className={styles.container} style={zIndexStyle} onKeyDown={onModalKeyDown}>\n <div\n data-testid={getTestId(ComponentDefaultTestId.MODAL_OVERLAY, id)}\n className={styles.overlay}\n onClick={onBackdropClick}\n aria-hidden\n />\n <RemoveScroll forwardProps ref={modalMergedRef}>\n <div\n className={cx(\n styles.modal,\n styles[animationType],\n getStyle(styles, camelCase(\"size-\" + size)),\n { [styles.withHeaderAction]: !!renderHeaderAction },\n className\n )}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MODAL, id)}\n data-vibe={ComponentVibeId.MODAL}\n role=\"dialog\"\n aria-modal\n aria-labelledby={ariaLabelledby || titleId}\n aria-describedby={ariaDescribedby || descriptionId}\n style={{ ...style, ...anchorVars }}\n tabIndex={-1}\n >\n {children}\n <ModalTopActions\n renderAction={renderHeaderAction}\n theme={closeButtonTheme}\n closeButtonAriaLabel={closeButtonAriaLabel}\n onClose={onClose}\n />\n </div>\n </RemoveScroll>\n </div>\n </FocusLockComponent>,\n portalTargetElement\n )}\n </ModalProvider>\n </LayerProvider>\n </CSSTransition>\n );\n }\n);\n\nexport default Modal;\n"],"names":["FocusLockComponent","FocusLock","default","Modal","forwardRef","_ref","ref","id","show","_ref$size","size","renderHeaderAction","closeButtonTheme","closeButtonAriaLabel","_ref$onClose","onClose","_ref$autoFocus","autoFocus","allowFocusEscapeTo","onFocusAttempt","anchorElementRef","alertModal","_ref$container","container","document","body","children","style","zIndex","className","dataTestId","ariaLabelledby","ariaDescribedby","portalTargetElement","usePortalTarget","modalRef","useRef","modalMergedRef","useMergeRef","containerRef","_useState","useState","_useState2","_slicedToArray","titleId","setTitleId","_useState3","_useState4","descriptionId","setDescriptionId","setTitleIdCallback","useCallback","newId","setDescriptionIdCallback","contextValue","useMemo","modalId","onBackdropClick","e","onModalKeyDown","key","keyCodes","ESCAPE","animationType","current","anchorRect","_a","getBoundingClientRect","anchorVars","concat","left","width","top","height","zIndexStyle","shouldAllowFocusEscape","useFocusEscapeTargets","handleFocusLockWhiteList","nextFocusedElement","outcome","HTMLElement","focus","React","createElement","CSSTransition","in","nodeRef","timeout","enter","exit","unmountOnExit","classNames","styles","containerEnter","enterActive","containerEnterActive","exitActive","containerExitActive","LayerProvider","layerRef","ModalProvider","value","createPortal","returnFocus","whiteList","onKeyDown","getTestId","ComponentDefaultTestId","MODAL_OVERLAY","overlay","onClick","RemoveScroll","forwardProps","cx","modal","getStyle","camelCase","_defineProperty","withHeaderAction","MODAL","ComponentVibeId","role","Object","assign","tabIndex","ModalTopActions","renderAction","theme"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import t from"classnames";import i,{forwardRef as l,useCallback as o,useMemo as r}from"react";import{Check as s}from"@vibe/icons";import a from"../Divider/Divider.js";import{NOOP as n}from"../../utils/function-utils.js";import p from"./components/StepIndicator/StepIndicator.js";import{getTestId as m}from"../../tests/testIds.js";import{ComponentDefaultTestId as c}from"../../tests/constants.js";import d from"./MultiStepIndicator.module.scss.js";var f=l((function(l,f){var u=l.className,v=l.steps,y=void 0===v?[]:v,N=l.type,C=void 0===N?"primary":N,I=l.stepComponentClassName,S=l.dividerComponentClassName,g=l.fulfilledStepIcon,b=void 0===g?s:g,j=l.fulfilledStepIconType,D=void 0===j?"svg":j,T=l.isFulfilledStepDisplayNumber,E=void 0!==T&&T,_=l.onClick,h=void 0===_?n:_,k=l.textPlacement,F=void 0===k?"horizontal":k,x=l.id,P=l["data-testid"],z="vertical"===F?"regular":l.size,O=o((function(l,o){return i.createElement(i.Fragment,{key:"".concat(l.titleText,"_").concat(o)},i.createElement(p,Object.assign({},l,{stepNumber:o+1,type:C,stepComponentClassName:I,fulfilledStepIcon:b,fulfilledStepIconType:D,onClick:h,isFulfilledStepDisplayNumber:E,size:z})),o!==y.length-1&&i.createElement(a,{className:t(d.divider,S,e({},d.compact,"compact"===z))}))}),[h,E,C,I,b,D,S,y.length,z]),w=o((function(e,l){return i.createElement(p,Object.assign({},e,{key:"".concat(e.titleText,"_").concat(l),stepNumber:l+1,type:C,stepComponentClassName:I,fulfilledStepIcon:b,fulfilledStepIconType:D,onClick:h,isFollowedByDivider:l!==y.length-1,stepDividerClassName:t(d.divider,S),isVertical:!0,isFulfilledStepDisplayNumber:E}))}),[h,E,C,I,b,D,S,y.length]),B=r((function(){return"vertical"===F?w:O}),[F,w,O]);return i.createElement("ol",{ref:f,id:x,"data-testid":P||m(c.MULTI_STEP_INDICATOR,x),className:t(d.wrapper,u)},y.map(B))}));export{f as default};
1
+ import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import t from"classnames";import i,{forwardRef as l,useCallback as o,useMemo as r}from"react";import{Check as s}from"@vibe/icons";import a from"../Divider/Divider.js";import{NOOP as n}from"@vibe/shared";import p from"./components/StepIndicator/StepIndicator.js";import{getTestId as m}from"../../tests/testIds.js";import{ComponentDefaultTestId as c}from"../../tests/constants.js";import d from"./MultiStepIndicator.module.scss.js";var f=l((function(l,f){var u=l.className,v=l.steps,y=void 0===v?[]:v,N=l.type,C=void 0===N?"primary":N,I=l.stepComponentClassName,S=l.dividerComponentClassName,b=l.fulfilledStepIcon,g=void 0===b?s:b,j=l.fulfilledStepIconType,D=void 0===j?"svg":j,T=l.isFulfilledStepDisplayNumber,h=void 0!==T&&T,E=l.onClick,_=void 0===E?n:E,k=l.textPlacement,F=void 0===k?"horizontal":k,x=l.id,P=l["data-testid"],z="vertical"===F?"regular":l.size,O=o((function(l,o){return i.createElement(i.Fragment,{key:"".concat(l.titleText,"_").concat(o)},i.createElement(p,Object.assign({},l,{stepNumber:o+1,type:C,stepComponentClassName:I,fulfilledStepIcon:g,fulfilledStepIconType:D,onClick:_,isFulfilledStepDisplayNumber:h,size:z})),o!==y.length-1&&i.createElement(a,{className:t(d.divider,S,e({},d.compact,"compact"===z))}))}),[_,h,C,I,g,D,S,y.length,z]),w=o((function(e,l){return i.createElement(p,Object.assign({},e,{key:"".concat(e.titleText,"_").concat(l),stepNumber:l+1,type:C,stepComponentClassName:I,fulfilledStepIcon:g,fulfilledStepIconType:D,onClick:_,isFollowedByDivider:l!==y.length-1,stepDividerClassName:t(d.divider,S),isVertical:!0,isFulfilledStepDisplayNumber:h}))}),[_,h,C,I,g,D,S,y.length]),B=r((function(){return"vertical"===F?w:O}),[F,w,O]);return i.createElement("ol",{ref:f,id:x,"data-testid":P||m(c.MULTI_STEP_INDICATOR,x),className:t(d.wrapper,u)},y.map(B))}));export{f 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 { type SubIcon } from \"@vibe/icon\";\nimport Divider from \"../../components/Divider/Divider\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport StepIndicator from \"./components/StepIndicator/StepIndicator\";\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 } 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\nexport default MultiStepIndicator;\n"],"names":["MultiStepIndicator","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"],"mappings":"+gBAwDMA,IAAAA,EAAqBC,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"}
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 \"@vibe/shared\";\nimport StepIndicator from \"./components/StepIndicator/StepIndicator\";\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 } 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\nexport default MultiStepIndicator;\n"],"names":["MultiStepIndicator","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"],"mappings":"8fAwDMA,IAAAA,EAAqBC,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"}
@@ -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 d,useCallback as p,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{Icon as b}from"@vibe/icon/mockedClassNames";import{Check as x}from"@vibe/icons";import N from"../../../Divider/Divider.js";import{NOOP as k}from"../../../../utils/function-utils.js";import S from"../../../HiddenText/HiddenText.js";import{Clickable as C}from"@vibe/clickable/mockedClassNames";import I from"./StepIndicator.module.scss.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(b,{icon:t,className:l(I.numberContainerTextCheckIcon),type:i,ignoreFocusStyle:!0,"aria-hidden":!0})},A=function(s){var b=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,R=void 0===L?"primary":L,z=s.fulfilledStepIcon,B=void 0===z?x:z,V=s.fulfilledStepIconType,K=void 0===V?"svg":V,M=s.isFulfilledStepDisplayNumber,O=void 0!==M&&M,q=s.onClick,G=void 0===q?k: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=d(null),re=d(null),le=d(h),se=p((function(){ae(!0)}),[ae]),ce=p((function(){ae(!1)}),[ae]),me=p((function(){return le.current!==h}),[le,h]),de=p((function(){G&&G(g)}),[G,g]);_({eventName:"animationend",callback:ce,ref:oe}),E({keys:T,callback:de,ref:oe}),u((function(){me()&&se()}),[h,me,se]),u((function(){le.current=h}),[h]);var pe=f((function(){return"Step ".concat(g,": ").concat(F," - ").concat(P,", status: ").concat(h)}),[h,F,g,P]),ue=function(e){return[a(I,n(e||"indicator")),a(I,n("type-".concat(R).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(ue("")).concat([b,i(i(i({},I.withAnimation,ne),I.clickable,G),I.textPlacementVertical,X)])),"aria-label":pe,onClick:de,"data-testid":ee||o(r.STEP_INDICATOR,Y)},c.createElement("div",{className:l.apply(void 0,t(ue("__number-divider-container")))},c.createElement("div",{className:l.apply(void 0,t(ue("__number-container"))),ref:oe,tabIndex:0,role:"button"},c.createElement(v,{mode:"out-in"},c.createElement(y,{key:h,nodeRef:re,classNames:{enter:I.swapEnter,enterActive:I.swapEnterActive,exit:I.swapExit,exitActive:I.swapExitActive},addEndListener:function(e){var t;null===(t=re.current)||void 0===t||t.addEventListener("transitionend",e,!1)}},c.createElement("span",{ref:re,className:l.apply(void 0,t(ue("__number-container__text")))},c.createElement(j,{fulfilledStepIcon:B,fulfilledStepIconType:K,isFulfilledStepDisplayNumber:O,stepNumber:g,status:h}))))),Q&&X&&c.createElement(N,{className:l(I.divider,U)})),c.createElement("div",{className:l.apply(void 0,t(ue("__text-container")))},c.createElement("div",{className:l.apply(void 0,t(ue("__text-container__title")))},c.createElement(S,{text:h})," ",c.createElement("span",{className:l.apply(void 0,t(ue("__text-container__title__text")))},F)),"compact"!==$?c.createElement("span",{className:l.apply(void 0,t(ue("__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 a}from"es-toolkit";import{useEventListener as n,useKeyEvent as r,NOOP as o,getStyle as l}from"@vibe/shared";import{getTestId as c,ComponentDefaultTestId as s}from"../../../../tests/testIds.js";import m from"classnames";import{keyCodes as d}from"../../../../constants/keyCodes.js";import p,{useState as u,useRef as f,useCallback as v,useEffect as _,useMemo as b}from"react";import{SwitchTransition as y,CSSTransition as E}from"react-transition-group";import{Icon as N}from"@vibe/icon/mockedClassNames";import{Check as x}from"@vibe/icons";import S from"../../../Divider/Divider.js";import k from"../../../HiddenText/HiddenText.js";import{Clickable as C}from"@vibe/clickable/mockedClassNames";import I from"./StepIndicator.module.scss.js";var T=[d.ENTER,d.SPACE],A=function(e){var t=e.fulfilledStepIcon,i=e.fulfilledStepIconType;return"fulfilled"!==e.status||e.isFulfilledStepDisplayNumber?p.createElement(p.Fragment,null,e.stepNumber):p.createElement(N,{icon:t,className:m(I.numberContainerTextCheckIcon),type:i,ignoreFocusStyle:!0,"aria-hidden":!0})},g=function(d){var N=d.stepComponentClassName,g=d.stepNumber,D=void 0===g?1:g,j=d.status,w=void 0===j?"pending":j,F=d.titleText,P=void 0===F?"Heading text":F,h=d.subtitleText,H=void 0===h?"Subtitle text":h,R=d.type,z=void 0===R?"primary":R,B=d.fulfilledStepIcon,L=void 0===B?x:B,V=d.fulfilledStepIconType,O=void 0===V?"svg":V,q=d.isFulfilledStepDisplayNumber,G=void 0!==q&&q,J=d.onClick,K=void 0===J?o:J,M=d.isFollowedByDivider,Q=void 0!==M&&M,U=d.stepDividerClassName,W=d.isVertical,X=void 0!==W&&W,Y=d.id,Z=d.size,$=void 0===Z?"regular":Z,ee=d["data-testid"],te=u(!1),ie=e(te,2),ae=ie[0],ne=ie[1],re=f(null),oe=f(null),le=f(w),ce=v((function(){ne(!0)}),[ne]),se=v((function(){ne(!1)}),[ne]),me=v((function(){return le.current!==w}),[le,w]),de=v((function(){K&&K(D)}),[K,D]);n({eventName:"animationend",callback:se,ref:re}),r({keys:T,callback:de,ref:re}),_((function(){me()&&ce()}),[w,me,ce]),_((function(){le.current=w}),[w]);var pe=b((function(){return"Step ".concat(D,": ").concat(P," - ").concat(H,", status: ").concat(w)}),[w,P,D,H]),ue=function(e){return[l(I,a(e||"indicator")),l(I,a("type-".concat(z).concat(e))),l(I,a("status-".concat(w).concat(e))),l(I,a("size-".concat($).concat(e)))]};return p.createElement(C,{tabIndex:-1,elementType:"li",className:m.apply(void 0,t(ue("")).concat([N,i(i(i({},I.withAnimation,ae),I.clickable,K),I.textPlacementVertical,X)])),"aria-label":pe,onClick:de,"data-testid":ee||c(s.STEP_INDICATOR,Y)},p.createElement("div",{className:m.apply(void 0,t(ue("__number-divider-container")))},p.createElement("div",{className:m.apply(void 0,t(ue("__number-container"))),ref:re,tabIndex:0,role:"button"},p.createElement(y,{mode:"out-in"},p.createElement(E,{key:w,nodeRef:oe,classNames:{enter:I.swapEnter,enterActive:I.swapEnterActive,exit:I.swapExit,exitActive:I.swapExitActive},addEndListener:function(e){var t;null===(t=oe.current)||void 0===t||t.addEventListener("transitionend",e,!1)}},p.createElement("span",{ref:oe,className:m.apply(void 0,t(ue("__number-container__text")))},p.createElement(A,{fulfilledStepIcon:L,fulfilledStepIconType:O,isFulfilledStepDisplayNumber:G,stepNumber:D,status:w}))))),Q&&X&&p.createElement(S,{className:m(I.divider,U)})),p.createElement("div",{className:m.apply(void 0,t(ue("__text-container")))},p.createElement("div",{className:m.apply(void 0,t(ue("__text-container__title")))},p.createElement(k,{text:w})," ",p.createElement("span",{className:m.apply(void 0,t(ue("__text-container__title__text")))},P)),"compact"!==$?p.createElement("span",{className:m.apply(void 0,t(ue("__text-container__subtitle__text")))},H):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 \"@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 \"@vibe/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 type={fulfilledStepIconType}\n ignoreFocusStyle\n aria-hidden={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 nodeRef = useRef<HTMLSpanElement>(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\n key={status}\n nodeRef={nodeRef}\n classNames={{\n enter: styles.swapEnter,\n enterActive: styles.swapEnterActive,\n exit: styles.swapExit,\n exitActive: styles.swapExitActive\n }}\n addEndListener={done => {\n nodeRef.current?.addEventListener(\"transitionend\", done, false);\n }}\n >\n <span ref={nodeRef} 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","stepNumber","createElement","Icon","icon","className","classNames","styles","numberContainerTextCheckIcon","type","ignoreFocusStyle","StepIndicator","_ref2","stepComponentClassName","_ref2$stepNumber","_ref2$status","_ref2$titleText","titleText","_ref2$subtitleText","subtitleText","_ref2$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","nodeRef","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","key","enter","swapEnter","enterActive","swapEnterActive","exit","swapExit","exitActive","swapExitActive","addEndListener","done","_a","addEventListener","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, NOOP } from \"@vibe/shared\";\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\";\n\nimport HiddenText from \"../../../../components/HiddenText/HiddenText\";\nimport { Clickable } from \"@vibe/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 type={fulfilledStepIconType}\n ignoreFocusStyle\n aria-hidden={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 nodeRef = useRef<HTMLSpanElement>(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\n key={status}\n nodeRef={nodeRef}\n classNames={{\n enter: styles.swapEnter,\n enterActive: styles.swapEnterActive,\n exit: styles.swapExit,\n exitActive: styles.swapExitActive\n }}\n addEndListener={done => {\n nodeRef.current?.addEventListener(\"transitionend\", done, false);\n }}\n >\n <span ref={nodeRef} 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","stepNumber","createElement","Icon","icon","className","classNames","styles","numberContainerTextCheckIcon","type","ignoreFocusStyle","StepIndicator","_ref2","stepComponentClassName","_ref2$stepNumber","_ref2$status","_ref2$titleText","titleText","_ref2$subtitleText","subtitleText","_ref2$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","nodeRef","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","key","enter","swapEnter","enterActive","swapEnterActive","exit","swapExit","exitActive","swapExitActive","addEndListener","done","_a","addEventListener","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 t,useRef as n,useMemo as r}from"react";import i from"classnames";import o from"./hooks/useNumberFieldState.js";import l from"./hooks/useSpinButtonHandlers.js";import{BaseInput as s}from"@vibe/base/mockedClassNames";import m from"../FieldLabel/FieldLabel.js";import d from"../InfoText/InfoText.js";import{Icon as u}from"@vibe/icon/mockedClassNames";import c from"./components/NumberFieldSpinButton/NumberFieldSpinButton.js";import f from"./NumberField.module.scss.js";import{Flex as b}from"@vibe/layout/mockedClassNames";import p from"../../hooks/useMergeRef.js";import{ComponentVibeId as v}from"../../tests/constants.js";var h=t((function(t,h){var x=t.className,y=t.value,O=t.onChange,g=t.label,N=t.required,C=t.placeholder,j=t.infoText,F=t.error,I=t.success,B=t.disabled,E=t.readOnly,w=t.min,M=t.max,k=t.step,D=void 0===k?1:k,R=t.size,T=void 0===R?"medium":R,V=t.leftIcon,q=t["aria-label"],z=t.id,A=t["data-testid"],L=t.allowOutOfBounds,S=t.onValidityChange,_=e(t,["className","value","onChange","label","required","placeholder","infoText","error","success","disabled","readOnly","min","max","step","size","leftIcon","aria-label","id","data-testid","allowOutOfBounds","onValidityChange"]),K=n(null),H=p(h,K),U=o({value:y,onChange:O,min:w,max:M,step:D,disabled:B,readOnly:E,allowOutOfBounds:L,onValidityChange:S}),G=U.inputValue,J=U.numericValue,P=U.onChange,Q=U.onKeyDown,W=U.isAtMin,X=U.isAtMax,Y=l({onChange:O,value:J,step:D,min:w,max:M,allowOutOfBounds:L,readOnly:E,inputRef:K}),Z=Y.onIncrement,$=Y.onDecrement,ee=r((function(){return V?a.createElement(u,{icon:V,className:f.leftIcon}):null}),[V]),ae=r((function(){return a.createElement(c,{inputId:z,onIncrement:Z,onDecrement:$,disabled:B||E,size:T,isAtMin:W,isAtMax:X})}),[z,Z,$,B,E,T,W,X]),te=r((function(){return j&&z?"".concat(z,"-info-text"):void 0}),[j,z]),ne=r((function(){return g&&z?"".concat(z,"-label"):void 0}),[g,z]);return a.createElement(b,{direction:"column",align:"stretch",gap:"xs",className:i(f.numberField,x),"data-vibe":v.NUMBER_FIELD},a.createElement(m,{id:ne,className:f.label,labelText:g,required:N,labelFor:z}),a.createElement(s,Object.assign({},_,{"data-testid":A,ref:H,id:z,value:G,onChange:P,onKeyDown:Q,placeholder:C,type:"text",inputMode:"numeric",inputRole:"spinbutton","aria-valuenow":J,"aria-valuemin":w,"aria-valuemax":M,"aria-required":N,"aria-label":q||g,"aria-labelledby":ne,"aria-describedby":te,disabled:B,readOnly:E,size:T,error:F,success:I,renderLeft:ee,renderRight:ae})),a.createElement(d,{id:te,text:j,error:F,success:I,disabled:B,readOnly:E}))}));export{h as default};
1
+ import{__rest as e}from"../../../_virtual/_tslib.js";import a,{forwardRef as t,useRef as n,useMemo as r}from"react";import i from"classnames";import o from"./hooks/useNumberFieldState.js";import l from"./hooks/useSpinButtonHandlers.js";import{BaseInput as s}from"@vibe/base/mockedClassNames";import m from"../FieldLabel/FieldLabel.js";import d from"../InfoText/InfoText.js";import{Icon as u}from"@vibe/icon/mockedClassNames";import c from"./components/NumberFieldSpinButton/NumberFieldSpinButton.js";import b from"./NumberField.module.scss.js";import{Flex as f}from"@vibe/layout/mockedClassNames";import{useMergeRef as p}from"@vibe/shared";import{ComponentVibeId as v}from"../../tests/constants.js";var h=t((function(t,h){var x=t.className,y=t.value,O=t.onChange,g=t.label,N=t.required,C=t.placeholder,j=t.infoText,F=t.error,I=t.success,B=t.disabled,E=t.readOnly,w=t.min,M=t.max,k=t.step,D=void 0===k?1:k,T=t.size,V=void 0===T?"medium":T,q=t.leftIcon,z=t["aria-label"],A=t.id,L=t["data-testid"],R=t.allowOutOfBounds,S=t.onValidityChange,_=e(t,["className","value","onChange","label","required","placeholder","infoText","error","success","disabled","readOnly","min","max","step","size","leftIcon","aria-label","id","data-testid","allowOutOfBounds","onValidityChange"]),K=n(null),H=p(h,K),U=o({value:y,onChange:O,min:w,max:M,step:D,disabled:B,readOnly:E,allowOutOfBounds:R,onValidityChange:S}),G=U.inputValue,J=U.numericValue,P=U.onChange,Q=U.onKeyDown,W=U.isAtMin,X=U.isAtMax,Y=l({onChange:O,value:J,step:D,min:w,max:M,allowOutOfBounds:R,readOnly:E,inputRef:K}),Z=Y.onIncrement,$=Y.onDecrement,ee=r((function(){return q?a.createElement(u,{icon:q,className:b.leftIcon}):null}),[q]),ae=r((function(){return a.createElement(c,{inputId:A,onIncrement:Z,onDecrement:$,disabled:B||E,size:V,isAtMin:W,isAtMax:X})}),[A,Z,$,B,E,V,W,X]),te=r((function(){return j&&A?"".concat(A,"-info-text"):void 0}),[j,A]),ne=r((function(){return g&&A?"".concat(A,"-label"):void 0}),[g,A]);return a.createElement(f,{direction:"column",align:"stretch",gap:"xs",className:i(b.numberField,x),"data-vibe":v.NUMBER_FIELD},a.createElement(m,{id:ne,className:b.label,labelText:g,required:N,labelFor:A}),a.createElement(s,Object.assign({},_,{"data-testid":L,ref:H,id:A,value:G,onChange:P,onKeyDown:Q,placeholder:C,type:"text",inputMode:"numeric",inputRole:"spinbutton","aria-valuenow":J,"aria-valuemin":w,"aria-valuemax":M,"aria-required":N,"aria-label":z||g,"aria-labelledby":ne,"aria-describedby":te,disabled:B,readOnly:E,size:V,error:F,success:I,renderLeft:ee,renderRight:ae})),a.createElement(d,{id:te,text:j,error:F,success:I,disabled:B,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 \"@vibe/base\";\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 \"@vibe/layout\";\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
+ {"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 \"@vibe/base\";\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 \"@vibe/layout\";\nimport { useMergeRef } from \"@vibe/shared\";\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{IconButton as i}from"@vibe/icon-button/mockedClassNames";import{DropdownChevronUp as t,DropdownChevronDown as s}from"@vibe/icons";import{Flex as n}from"@vibe/layout/mockedClassNames";import{getStyle as a}from"../../../../helpers/typesciptCssModulesHelper.js";import r from"./NumberFieldSpinButton.module.scss.js";var l=function(l){var c=l.inputId,m=l.onIncrement,d=l.onDecrement,p=l.disabled,u=l.isAtMin,b=l.isAtMax,f=o(r.spinButton,a(r,l.size)),C=r.icon;return e.createElement(n,{direction:"column",align:"stretch",justify:"center",onMouseDown:function(e){e.preventDefault()}},e.createElement(i,{"aria-label":"Increase",hideTooltip:!0,"aria-controls":c,tabIndex:-1,onClick:m,disabled:p||b,size:null,className:f,iconClassName:C,icon:t}),e.createElement(i,{"aria-label":"Decrease",hideTooltip:!0,"aria-controls":c,tabIndex:-1,onClick:d,disabled:p||u,size:null,className:f,iconClassName:C,icon:s}))};export{l as default};
1
+ import e from"react";import o from"classnames";import{IconButton as i}from"@vibe/icon-button/mockedClassNames";import{DropdownChevronUp as a,DropdownChevronDown as n}from"@vibe/icons";import{Flex as t}from"@vibe/layout/mockedClassNames";import{getStyle as s}from"@vibe/shared";import r from"./NumberFieldSpinButton.module.scss.js";var l=function(l){var c=l.inputId,m=l.onIncrement,d=l.onDecrement,u=l.disabled,p=l.isAtMin,b=l.isAtMax,f=o(r.spinButton,s(r,l.size)),v=r.icon;return e.createElement(t,{direction:"column",align:"stretch",justify:"center",onMouseDown:function(e){e.preventDefault()}},e.createElement(i,{"aria-label":"Increase",hideTooltip:!0,"aria-controls":c,tabIndex:-1,onClick:m,disabled:u||b,size:null,className:f,iconClassName:v,icon:a}),e.createElement(i,{"aria-label":"Decrease",hideTooltip:!0,"aria-controls":c,tabIndex:-1,onClick:d,disabled:u||p,size:null,className:f,iconClassName:v,icon:n}))};export{l 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 \"@vibe/icon-button\";\nimport { DropdownChevronUp, DropdownChevronDown } from \"@vibe/icons\";\nimport { Flex } from \"@vibe/layout\";\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 aria-label=\"Increase\"\n hideTooltip\n aria-controls={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 aria-label=\"Decrease\"\n hideTooltip\n aria-controls={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","hideTooltip","tabIndex","onClick","className","DropdownChevronUp","DropdownChevronDown"],"mappings":"+WASA,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,EACY,CAAA,aAAA,WACXC,+BACexB,EACfyB,UAAW,EACXC,QAASzB,EACTE,SAAUA,GAAYE,EACtBM,KAAM,KACNgB,UAAWrB,EACXM,cAAeA,EACfC,KAAMe,IAERd,EAAAC,cAACQ,EACY,CAAA,aAAA,WACXC,aAAW,EAAA,gBACIxB,EACfyB,UAAW,EACXC,QAASxB,EACTC,SAAUA,GAAYC,EACtBO,KAAM,KACNgB,UAAWrB,EACXM,cAAeA,EACfC,KAAMgB,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 \"@vibe/icon-button\";\nimport { DropdownChevronUp, DropdownChevronDown } from \"@vibe/icons\";\nimport { Flex } from \"@vibe/layout\";\nimport { getStyle } from \"@vibe/shared\";\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 aria-label=\"Increase\"\n hideTooltip\n aria-controls={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 aria-label=\"Decrease\"\n hideTooltip\n aria-controls={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","hideTooltip","tabIndex","onClick","className","DropdownChevronUp","DropdownChevronDown"],"mappings":"2UASA,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,EACY,CAAA,aAAA,WACXC,+BACexB,EACfyB,UAAW,EACXC,QAASzB,EACTE,SAAUA,GAAYE,EACtBM,KAAM,KACNgB,UAAWrB,EACXM,cAAeA,EACfC,KAAMe,IAERd,EAAAC,cAACQ,EACY,CAAA,aAAA,WACXC,aAAW,EAAA,gBACIxB,EACfyB,UAAW,EACXC,QAASxB,EACTC,SAAUA,GAAYC,EACtBO,KAAM,KACNgB,UAAWrB,EACXM,cAAeA,EACfC,KAAMgB,IAId"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as r}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import a,{useMemo as e}from"react";import{camelCase as t}from"es-toolkit";import{getStyle as o}from"../../../../helpers/typesciptCssModulesHelper.js";import{getTestId as s,ComponentDefaultTestId as i}from"../../../../tests/testIds.js";import l from"classnames";import{calculatePercentage as n}from"../ProgressBarHelpers.js";import m from"./Bar.module.scss.js";var u=function(u){var p=u.value,c=u.type,d=u.barStyle,f=u.animated,b=u.min,v=u.max,g=u.color,j=u.barLabelName,x=u.id,y=u["data-testid"],h=u.className,B=u.allowExceedingMax,M=void 0!==B&&B,_=e((function(){return l(m.bar,o(m,t("type__"+c+"--"+d)),h,r({},m.animate,f))}),[c,d,f,h]),w=e((function(){return null==p?0:n(p,b,v,M)}),[p,b,v,M]),H=e((function(){return Math.min(w,100)}),[w]),N=e((function(){return M&&w>100?Math.max(w,100):100}),[M,w]);return p?a.createElement("div",{role:"progressbar","aria-label":j,"aria-valuenow":w,"aria-valuemin":0,"aria-valuemax":N,className:_,style:Object.assign({width:"".concat(H,"%")},g&&{backgroundColor:g}),id:x,"data-testid":y||s(i.BAR,x)}):null};export{u as default};
1
+ import{defineProperty as r}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import a,{useMemo as e}from"react";import{camelCase as t}from"es-toolkit";import{getStyle as o}from"@vibe/shared";import{getTestId as i,ComponentDefaultTestId as s}from"../../../../tests/testIds.js";import l from"classnames";import{calculatePercentage as n}from"../ProgressBarHelpers.js";import m from"./Bar.module.scss.js";var u=function(u){var c=u.value,d=u.type,p=u.barStyle,f=u.animated,b=u.min,v=u.max,g=u.color,x=u.barLabelName,j=u.id,y=u["data-testid"],h=u.className,B=u.allowExceedingMax,_=void 0!==B&&B,w=e((function(){return l(m.bar,o(m,t("type__"+d+"--"+p)),h,r({},m.animate,f))}),[d,p,f,h]),M=e((function(){return null==c?0:n(c,b,v,_)}),[c,b,v,_]),N=e((function(){return Math.min(M,100)}),[M]),P=e((function(){return _&&M>100?Math.max(M,100):100}),[_,M]);return c?a.createElement("div",{role:"progressbar","aria-label":x,"aria-valuenow":M,"aria-valuemin":0,"aria-valuemax":P,className:w,style:Object.assign({width:"".concat(N,"%")},g&&{backgroundColor:g}),id:j,"data-testid":y||i(s.BAR,j)}):null};export{u as default};
2
2
  //# sourceMappingURL=Bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Bar.js","sources":["../../../../../../../src/components/ProgressBars/ProgressBar/Bar/Bar.tsx"],"sourcesContent":["import React, { type FC, useMemo } from \"react\";\nimport { camelCase } from \"es-toolkit\";\nimport { getStyle } from \"../../../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { calculatePercentage } from \"../ProgressBarHelpers\";\nimport { type VibeComponentProps } from \"../../../../types\";\nimport { type ProgressBarStyle } from \"../ProgressBar.types\";\nimport styles from \"./Bar.module.scss\";\n\nexport type BarType = \"primary\" | \"secondary\";\n\nexport interface BarProps extends VibeComponentProps {\n /**\n * Determines the visual style of the progress bar.\n */\n barStyle?: ProgressBarStyle;\n /**\n * The minimum value of the progress bar.\n */\n min?: number;\n /**\n * The maximum value of the progress bar.\n */\n max?: number;\n /**\n * The current progress value.\n */\n value?: number;\n /**\n * If true, enables animation effects.\n */\n animated?: boolean;\n /**\n * Base class name for the bar.\n */\n baseClass?: string;\n /**\n * The ARIA label describing the progress bar.\n */\n barLabelName?: string;\n /**\n * Custom color for the progress bar.\n */\n color?: string;\n /**\n * The type of the bar.\n */\n type?: BarType;\n /**\n * If true, allows displaying percentage values higher than 100% when value exceeds max.\n */\n allowExceedingMax?: boolean;\n}\n\nconst Bar: FC<BarProps> = ({\n value,\n type,\n barStyle,\n animated,\n min,\n max,\n color,\n barLabelName,\n id,\n \"data-testid\": dataTestId,\n className,\n allowExceedingMax = false\n}) => {\n const classNames = useMemo(() => {\n return cx(styles.bar, getStyle(styles, camelCase(\"type__\" + type + \"--\" + barStyle)), className, {\n [styles.animate]: animated\n });\n }, [type, barStyle, animated, className]);\n\n const valuePercentage = useMemo(() => {\n if (value === null || value === undefined) return 0;\n return calculatePercentage(value, min, max, allowExceedingMax);\n }, [value, min, max, allowExceedingMax]);\n\n const visualWidthPercentage = useMemo(() => {\n // For visual purposes, cap the width at 100% to prevent overflow\n return Math.min(valuePercentage, 100);\n }, [valuePercentage]);\n\n const ariaValueMax = useMemo(() => {\n // When allowExceedingMax is true and value exceeds max,\n // set aria-valuemax to the actual value percentage to maintain consistency\n if (allowExceedingMax && valuePercentage > 100) {\n return Math.max(valuePercentage, 100);\n }\n return 100;\n }, [allowExceedingMax, valuePercentage]);\n\n if (!value) return null;\n\n return (\n <div\n role=\"progressbar\"\n aria-label={barLabelName}\n aria-valuenow={valuePercentage}\n aria-valuemin={0}\n aria-valuemax={ariaValueMax}\n className={classNames}\n style={{\n width: `${visualWidthPercentage}%`,\n ...(color && { backgroundColor: color })\n }}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.BAR, id)}\n />\n );\n};\n\nexport default Bar;\n"],"names":["Bar","_ref","value","type","barStyle","animated","min","max","color","barLabelName","id","dataTestId","className","_ref$allowExceedingMa","allowExceedingMax","classNames","useMemo","cx","styles","bar","getStyle","camelCase","_defineProperty","animate","valuePercentage","calculatePercentage","visualWidthPercentage","Math","ariaValueMax","React","createElement","role","style","width","concat","backgroundColor","getTestId","ComponentDefaultTestId","BAR"],"mappings":"8bAuDA,IAAMA,EAAoB,SAAjBC,GAaJ,IAZHC,EAAKD,EAALC,MACAC,EAAIF,EAAJE,KACAC,EAAQH,EAARG,SACAC,EAAQJ,EAARI,SACAC,EAAGL,EAAHK,IACAC,EAAGN,EAAHM,IACAC,EAAKP,EAALO,MACAC,EAAYR,EAAZQ,aACAC,EAAET,EAAFS,GACeC,EAAUV,EAAzB,eACAW,EAASX,EAATW,UAASC,EAAAZ,EACTa,kBAAAA,OAAoB,IAAHD,GAAQA,EAEnBE,EAAaC,GAAQ,WACzB,OAAOC,EAAGC,EAAOC,IAAKC,EAASF,EAAQG,EAAU,SAAWlB,EAAO,KAAOC,IAAYQ,EAASU,EAC5FJ,CAAAA,EAAAA,EAAOK,QAAUlB,GAErB,GAAE,CAACF,EAAMC,EAAUC,EAAUO,IAExBY,EAAkBR,GAAQ,WAC9B,OAAId,QAA8C,EAC3CuB,EAAoBvB,EAAOI,EAAKC,EAAKO,EAC7C,GAAE,CAACZ,EAAOI,EAAKC,EAAKO,IAEfY,EAAwBV,GAAQ,WAEpC,OAAOW,KAAKrB,IAAIkB,EAAiB,IACnC,GAAG,CAACA,IAEEI,EAAeZ,GAAQ,WAG3B,OAAIF,GAAqBU,EAAkB,IAClCG,KAAKpB,IAAIiB,EAAiB,KAE5B,GACT,GAAG,CAACV,EAAmBU,IAEvB,OAAKtB,EAGH2B,EACEC,cAAA,MAAA,CAAAC,KAAK,2BACOtB,EAAY,gBACTe,EAAe,gBACf,EAAC,gBACDI,EACfhB,UAAWG,EACXiB,qBACEC,MAAK,GAAAC,OAAKR,EAAqB,MAC3BlB,GAAS,CAAE2B,gBAAiB3B,IAElCE,GAAIA,EAAE,cACOC,GAAcyB,EAAUC,EAAuBC,IAAK5B,KAflD,IAkBrB"}
1
+ {"version":3,"file":"Bar.js","sources":["../../../../../../../src/components/ProgressBars/ProgressBar/Bar/Bar.tsx"],"sourcesContent":["import React, { type FC, useMemo } from \"react\";\nimport { camelCase } from \"es-toolkit\";\nimport { getStyle } from \"@vibe/shared\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { calculatePercentage } from \"../ProgressBarHelpers\";\nimport { type VibeComponentProps } from \"../../../../types\";\nimport { type ProgressBarStyle } from \"../ProgressBar.types\";\nimport styles from \"./Bar.module.scss\";\n\nexport type BarType = \"primary\" | \"secondary\";\n\nexport interface BarProps extends VibeComponentProps {\n /**\n * Determines the visual style of the progress bar.\n */\n barStyle?: ProgressBarStyle;\n /**\n * The minimum value of the progress bar.\n */\n min?: number;\n /**\n * The maximum value of the progress bar.\n */\n max?: number;\n /**\n * The current progress value.\n */\n value?: number;\n /**\n * If true, enables animation effects.\n */\n animated?: boolean;\n /**\n * Base class name for the bar.\n */\n baseClass?: string;\n /**\n * The ARIA label describing the progress bar.\n */\n barLabelName?: string;\n /**\n * Custom color for the progress bar.\n */\n color?: string;\n /**\n * The type of the bar.\n */\n type?: BarType;\n /**\n * If true, allows displaying percentage values higher than 100% when value exceeds max.\n */\n allowExceedingMax?: boolean;\n}\n\nconst Bar: FC<BarProps> = ({\n value,\n type,\n barStyle,\n animated,\n min,\n max,\n color,\n barLabelName,\n id,\n \"data-testid\": dataTestId,\n className,\n allowExceedingMax = false\n}) => {\n const classNames = useMemo(() => {\n return cx(styles.bar, getStyle(styles, camelCase(\"type__\" + type + \"--\" + barStyle)), className, {\n [styles.animate]: animated\n });\n }, [type, barStyle, animated, className]);\n\n const valuePercentage = useMemo(() => {\n if (value === null || value === undefined) return 0;\n return calculatePercentage(value, min, max, allowExceedingMax);\n }, [value, min, max, allowExceedingMax]);\n\n const visualWidthPercentage = useMemo(() => {\n // For visual purposes, cap the width at 100% to prevent overflow\n return Math.min(valuePercentage, 100);\n }, [valuePercentage]);\n\n const ariaValueMax = useMemo(() => {\n // When allowExceedingMax is true and value exceeds max,\n // set aria-valuemax to the actual value percentage to maintain consistency\n if (allowExceedingMax && valuePercentage > 100) {\n return Math.max(valuePercentage, 100);\n }\n return 100;\n }, [allowExceedingMax, valuePercentage]);\n\n if (!value) return null;\n\n return (\n <div\n role=\"progressbar\"\n aria-label={barLabelName}\n aria-valuenow={valuePercentage}\n aria-valuemin={0}\n aria-valuemax={ariaValueMax}\n className={classNames}\n style={{\n width: `${visualWidthPercentage}%`,\n ...(color && { backgroundColor: color })\n }}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.BAR, id)}\n />\n );\n};\n\nexport default Bar;\n"],"names":["Bar","_ref","value","type","barStyle","animated","min","max","color","barLabelName","id","dataTestId","className","_ref$allowExceedingMa","allowExceedingMax","classNames","useMemo","cx","styles","bar","getStyle","camelCase","_defineProperty","animate","valuePercentage","calculatePercentage","visualWidthPercentage","Math","ariaValueMax","React","createElement","role","style","width","concat","backgroundColor","getTestId","ComponentDefaultTestId","BAR"],"mappings":"0ZAuDA,IAAMA,EAAoB,SAAjBC,GAaJ,IAZHC,EAAKD,EAALC,MACAC,EAAIF,EAAJE,KACAC,EAAQH,EAARG,SACAC,EAAQJ,EAARI,SACAC,EAAGL,EAAHK,IACAC,EAAGN,EAAHM,IACAC,EAAKP,EAALO,MACAC,EAAYR,EAAZQ,aACAC,EAAET,EAAFS,GACeC,EAAUV,EAAzB,eACAW,EAASX,EAATW,UAASC,EAAAZ,EACTa,kBAAAA,OAAoB,IAAHD,GAAQA,EAEnBE,EAAaC,GAAQ,WACzB,OAAOC,EAAGC,EAAOC,IAAKC,EAASF,EAAQG,EAAU,SAAWlB,EAAO,KAAOC,IAAYQ,EAASU,EAC5FJ,CAAAA,EAAAA,EAAOK,QAAUlB,GAErB,GAAE,CAACF,EAAMC,EAAUC,EAAUO,IAExBY,EAAkBR,GAAQ,WAC9B,OAAId,QAA8C,EAC3CuB,EAAoBvB,EAAOI,EAAKC,EAAKO,EAC7C,GAAE,CAACZ,EAAOI,EAAKC,EAAKO,IAEfY,EAAwBV,GAAQ,WAEpC,OAAOW,KAAKrB,IAAIkB,EAAiB,IACnC,GAAG,CAACA,IAEEI,EAAeZ,GAAQ,WAG3B,OAAIF,GAAqBU,EAAkB,IAClCG,KAAKpB,IAAIiB,EAAiB,KAE5B,GACT,GAAG,CAACV,EAAmBU,IAEvB,OAAKtB,EAGH2B,EACEC,cAAA,MAAA,CAAAC,KAAK,2BACOtB,EAAY,gBACTe,EAAe,gBACf,EAAC,gBACDI,EACfhB,UAAWG,EACXiB,qBACEC,MAAK,GAAAC,OAAKR,EAAqB,MAC3BlB,GAAS,CAAE2B,gBAAiB3B,IAElCE,GAAIA,EAAE,cACOC,GAAcyB,EAAUC,EAAuBC,IAAK5B,KAflD,IAkBrB"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e,toConsumableArray as a}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import r,{forwardRef as t,useMemo as l}from"react";import i from"classnames";import{getStyle as n}from"../../../helpers/typesciptCssModulesHelper.js";import o from"../PercentageLabel/PercentageLabel.js";import{calculatePercentage as s,getProgressBarClassNames as m}from"./ProgressBarHelpers.js";import d from"./Bar/Bar.js";import{ComponentDefaultTestId as c,ComponentVibeId as u}from"../../../tests/constants.js";import{getTestId as v}from"../../../tests/testIds.js";import p from"./ProgressBar.module.scss.js";var f=t((function(t,f){var y=t.min,E=void 0===y?0:y,b=t.max,g=void 0===b?100:b,x=t.value,R=void 0===x?0:x,P=t.valueSecondary,S=void 0===P?0:P,_=t.animated,B=void 0===_||_,j=t.barStyle,N=void 0===j?"primary":j,A=t.className,M=t.size,w=void 0===M?"small":M,h=t.indicateProgress,C=void 0!==h&&h,H=t.multi,L=void 0!==H&&H,O=t.multiValues,F=void 0===O?[]:O,G=t["aria-label"],I=void 0===G?"":G,W=t.id,Y=t.fullWidth,k=void 0!==Y&&Y,z=t.allowExceedingMax,D=void 0!==z&&z,V=t["data-testid"],q=l((function(){return i(p.wrapper,e(e({},n(p,""+w),w),p.fullWidth,k),A)}),[w,k,A]),J=l((function(){if(L){var e=F&&F.length&&F[0].value;return null==e?0:s(e,E,g,D)}return null==R?0:s(R,E,g,D)}),[R,E,g,L,F,D]),K=l((function(){return L?r.createElement(r.Fragment,null,a(F).reverse().map((function(e,a){var t=e.value,l=e.color;return r.createElement(d,{className:m(t),barStyle:"none",value:t,animated:B,type:"primary",color:l,min:E,max:g,allowExceedingMax:D,id:"bar_".concat(l,"_").concat(a),key:"bar_".concat(l,"_").concat(a)})}))):null}),[E,g,B,F,L,D]),Q=C?r.createElement(o,{forElement:"linear-progress-bar",value:J}):null,T=L?null:r.createElement(r.Fragment,null,r.createElement(d,{className:m(R),barLabelName:I,barStyle:N,value:S,animated:B,type:"secondary",min:E,max:g,allowExceedingMax:D,"data-testid":c.BAR_SECONDARY}),r.createElement(d,{className:m(R),barStyle:N,value:R,animated:B,type:"primary",min:E,max:g,allowExceedingMax:D,"data-testid":c.BAR_PRIMARY}));return r.createElement("div",{className:q,ref:f,id:W,"data-testid":V||v(c.PROGRESS_BAR,W),"data-vibe":u.PROGRESS_BAR},r.createElement("div",{className:p.container},T,K),Q)}));export{f as default};
1
+ import{defineProperty as e,toConsumableArray as a}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import r,{forwardRef as t,useMemo as l}from"react";import i from"classnames";import{getStyle as n}from"@vibe/shared";import o from"../PercentageLabel/PercentageLabel.js";import{calculatePercentage as m,getProgressBarClassNames as s}from"./ProgressBarHelpers.js";import d from"./Bar/Bar.js";import{ComponentDefaultTestId as c,ComponentVibeId as u}from"../../../tests/constants.js";import{getTestId as v}from"../../../tests/testIds.js";import p from"./ProgressBar.module.scss.js";var f=t((function(t,f){var b=t.min,E=void 0===b?0:b,y=t.max,g=void 0===y?100:y,x=t.value,R=void 0===x?0:x,P=t.valueSecondary,S=void 0===P?0:P,_=t.animated,B=void 0===_||_,N=t.barStyle,j=void 0===N?"primary":N,A=t.className,w=t.size,M=void 0===w?"small":w,h=t.indicateProgress,L=void 0!==h&&h,O=t.multi,C=void 0!==O&&O,F=t.multiValues,G=void 0===F?[]:F,H=t["aria-label"],I=void 0===H?"":H,W=t.id,Y=t.fullWidth,k=void 0!==Y&&Y,z=t.allowExceedingMax,D=void 0!==z&&z,V=t["data-testid"],q=l((function(){return i(p.wrapper,e(e({},n(p,""+M),M),p.fullWidth,k),A)}),[M,k,A]),J=l((function(){if(C){var e=G&&G.length&&G[0].value;return null==e?0:m(e,E,g,D)}return null==R?0:m(R,E,g,D)}),[R,E,g,C,G,D]),K=l((function(){return C?r.createElement(r.Fragment,null,a(G).reverse().map((function(e,a){var t=e.value,l=e.color;return r.createElement(d,{className:s(t),barStyle:"none",value:t,animated:B,type:"primary",color:l,min:E,max:g,allowExceedingMax:D,id:"bar_".concat(l,"_").concat(a),key:"bar_".concat(l,"_").concat(a)})}))):null}),[E,g,B,G,C,D]),Q=L?r.createElement(o,{forElement:"linear-progress-bar",value:J}):null,T=C?null:r.createElement(r.Fragment,null,r.createElement(d,{className:s(R),barLabelName:I,barStyle:j,value:S,animated:B,type:"secondary",min:E,max:g,allowExceedingMax:D,"data-testid":c.BAR_SECONDARY}),r.createElement(d,{className:s(R),barStyle:j,value:R,animated:B,type:"primary",min:E,max:g,allowExceedingMax:D,"data-testid":c.BAR_PRIMARY}));return r.createElement("div",{className:q,ref:f,id:W,"data-testid":V||v(c.PROGRESS_BAR,W),"data-vibe":u.PROGRESS_BAR},r.createElement("div",{className:p.container},T,K),Q)}));export{f as default};
2
2
  //# sourceMappingURL=ProgressBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sources":["../../../../../../src/components/ProgressBars/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport PercentageLabel from \"../PercentageLabel/PercentageLabel\";\nimport { type ProgressBarSize, type ProgressBarStyle } from \"./ProgressBar.types\";\nimport { calculatePercentage, getProgressBarClassNames } from \"./ProgressBarHelpers\";\nimport Bar from \"./Bar/Bar\";\nimport { type VibeComponentProps } from \"../../../types\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../../tests/constants\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport styles from \"./ProgressBar.module.scss\";\n\nexport interface ProgressBarProps extends VibeComponentProps {\n /**\n * Determines the visual style of the progress bar.\n */\n barStyle?: ProgressBarStyle;\n /**\n * The minimum value of the progress bar.\n */\n min?: number;\n /**\n * The maximum value of the progress bar.\n */\n max?: number;\n /**\n * The current progress value.\n */\n value?: number;\n /**\n * The secondary progress value.\n */\n valueSecondary?: number;\n /**\n * If true, enables animation effects.\n */\n animated?: boolean;\n /**\n * The size of the progress bar.\n */\n size?: ProgressBarSize;\n /**\n * If true, displays the progress percentage.\n */\n indicateProgress?: boolean;\n /**\n * If true, enables multiple progress bars.\n * **Note:** `value`, `valueSecondary`, and `barStyle` will not be used.\n */\n multi?: boolean;\n /**\n * An array of bar values and colors for multi-bar mode.\n */\n multiValues?: {\n /**\n * The progress value for a bar.\n */\n value?: number;\n /**\n * The bar color in hex format (`#000000` - `#ffffff`).\n */\n color?: string;\n }[];\n /**\n * The ARIA label for the progress bar.\n */\n \"aria-label\"?: string;\n /**\n * If true, makes the progress bar span the full container width.\n */\n fullWidth?: boolean;\n /**\n * If true, allows displaying percentage values higher than 100% when value exceeds max.\n */\n allowExceedingMax?: boolean;\n}\n\nconst ProgressBar = forwardRef(\n (\n {\n min = 0,\n max = 100,\n value = 0,\n valueSecondary = 0,\n animated = true,\n barStyle = \"primary\",\n className,\n size = \"small\",\n indicateProgress = false,\n multi = false,\n multiValues = [],\n \"aria-label\": ariaLabel = \"\",\n id,\n fullWidth = false,\n allowExceedingMax = false,\n \"data-testid\": dataTestId\n }: ProgressBarProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const wrapperClassName = useMemo(() => {\n return cx(\n styles.wrapper,\n {\n [getStyle(styles, size.toString())]: size,\n [styles.fullWidth]: fullWidth\n },\n className\n );\n }, [size, fullWidth, className]);\n\n const valuePercentage = useMemo(() => {\n if (multi) {\n const firstValue = multiValues && multiValues.length && multiValues[0].value;\n if (firstValue === null || firstValue === undefined) return 0;\n return calculatePercentage(firstValue, min, max, allowExceedingMax);\n }\n if (value === null || value === undefined) return 0;\n return calculatePercentage(value, min, max, allowExceedingMax);\n }, [value, min, max, multi, multiValues, allowExceedingMax]);\n\n const renderMultiBars = useMemo(() => {\n if (!multi) return null;\n return (\n <>\n {[...multiValues].reverse().map(({ value: baseValue, color }, i) => (\n <Bar\n className={getProgressBarClassNames(baseValue)}\n barStyle=\"none\"\n value={baseValue}\n animated={animated}\n type=\"primary\"\n color={color}\n min={min}\n max={max}\n allowExceedingMax={allowExceedingMax}\n id={`bar_${color}_${i}`}\n key={`bar_${color}_${i}`}\n />\n ))}\n </>\n );\n }, [min, max, animated, multiValues, multi, allowExceedingMax]);\n\n const renderPercentage = indicateProgress ? (\n <PercentageLabel forElement=\"linear-progress-bar\" value={valuePercentage} />\n ) : null;\n\n const renderBaseBars = !multi ? (\n <>\n <Bar\n className={getProgressBarClassNames(value)}\n barLabelName={ariaLabel}\n barStyle={barStyle}\n value={valueSecondary}\n animated={animated}\n type=\"secondary\"\n min={min}\n max={max}\n allowExceedingMax={allowExceedingMax}\n data-testid={ComponentDefaultTestId.BAR_SECONDARY}\n />\n <Bar\n className={getProgressBarClassNames(value)}\n barStyle={barStyle}\n value={value}\n animated={animated}\n type=\"primary\"\n min={min}\n max={max}\n allowExceedingMax={allowExceedingMax}\n data-testid={ComponentDefaultTestId.BAR_PRIMARY}\n />\n </>\n ) : null;\n\n return (\n <div\n className={wrapperClassName}\n ref={ref}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.PROGRESS_BAR, id)}\n data-vibe={ComponentVibeId.PROGRESS_BAR}\n >\n <div className={styles.container}>\n {renderBaseBars}\n {renderMultiBars}\n </div>\n {renderPercentage}\n </div>\n );\n }\n);\n\nexport default ProgressBar;\n"],"names":["ProgressBar","forwardRef","_ref","ref","_ref$min","min","_ref$max","max","_ref$value","value","_ref$valueSecondary","valueSecondary","_ref$animated","animated","_ref$barStyle","barStyle","className","_ref$size","size","_ref$indicateProgress","indicateProgress","_ref$multi","multi","_ref$multiValues","multiValues","_ref$ariaLabel","ariaLabel","id","_ref$fullWidth","fullWidth","_ref$allowExceedingMa","allowExceedingMax","dataTestId","wrapperClassName","useMemo","cx","styles","wrapper","_defineProperty","getStyle","valuePercentage","firstValue","length","calculatePercentage","renderMultiBars","React","createElement","Fragment","_toConsumableArray","reverse","map","_ref2","i","baseValue","color","Bar","getProgressBarClassNames","type","concat","key","renderPercentage","PercentageLabel","forElement","renderBaseBars","barLabelName","ComponentDefaultTestId","BAR_SECONDARY","BAR_PRIMARY","getTestId","PROGRESS_BAR","ComponentVibeId","container"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressBar.js","sources":["../../../../../../src/components/ProgressBars/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport { getStyle } from \"@vibe/shared\";\nimport PercentageLabel from \"../PercentageLabel/PercentageLabel\";\nimport { type ProgressBarSize, type ProgressBarStyle } from \"./ProgressBar.types\";\nimport { calculatePercentage, getProgressBarClassNames } from \"./ProgressBarHelpers\";\nimport Bar from \"./Bar/Bar\";\nimport { type VibeComponentProps } from \"../../../types\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../../tests/constants\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport styles from \"./ProgressBar.module.scss\";\n\nexport interface ProgressBarProps extends VibeComponentProps {\n /**\n * Determines the visual style of the progress bar.\n */\n barStyle?: ProgressBarStyle;\n /**\n * The minimum value of the progress bar.\n */\n min?: number;\n /**\n * The maximum value of the progress bar.\n */\n max?: number;\n /**\n * The current progress value.\n */\n value?: number;\n /**\n * The secondary progress value.\n */\n valueSecondary?: number;\n /**\n * If true, enables animation effects.\n */\n animated?: boolean;\n /**\n * The size of the progress bar.\n */\n size?: ProgressBarSize;\n /**\n * If true, displays the progress percentage.\n */\n indicateProgress?: boolean;\n /**\n * If true, enables multiple progress bars.\n * **Note:** `value`, `valueSecondary`, and `barStyle` will not be used.\n */\n multi?: boolean;\n /**\n * An array of bar values and colors for multi-bar mode.\n */\n multiValues?: {\n /**\n * The progress value for a bar.\n */\n value?: number;\n /**\n * The bar color in hex format (`#000000` - `#ffffff`).\n */\n color?: string;\n }[];\n /**\n * The ARIA label for the progress bar.\n */\n \"aria-label\"?: string;\n /**\n * If true, makes the progress bar span the full container width.\n */\n fullWidth?: boolean;\n /**\n * If true, allows displaying percentage values higher than 100% when value exceeds max.\n */\n allowExceedingMax?: boolean;\n}\n\nconst ProgressBar = forwardRef(\n (\n {\n min = 0,\n max = 100,\n value = 0,\n valueSecondary = 0,\n animated = true,\n barStyle = \"primary\",\n className,\n size = \"small\",\n indicateProgress = false,\n multi = false,\n multiValues = [],\n \"aria-label\": ariaLabel = \"\",\n id,\n fullWidth = false,\n allowExceedingMax = false,\n \"data-testid\": dataTestId\n }: ProgressBarProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const wrapperClassName = useMemo(() => {\n return cx(\n styles.wrapper,\n {\n [getStyle(styles, size.toString())]: size,\n [styles.fullWidth]: fullWidth\n },\n className\n );\n }, [size, fullWidth, className]);\n\n const valuePercentage = useMemo(() => {\n if (multi) {\n const firstValue = multiValues && multiValues.length && multiValues[0].value;\n if (firstValue === null || firstValue === undefined) return 0;\n return calculatePercentage(firstValue, min, max, allowExceedingMax);\n }\n if (value === null || value === undefined) return 0;\n return calculatePercentage(value, min, max, allowExceedingMax);\n }, [value, min, max, multi, multiValues, allowExceedingMax]);\n\n const renderMultiBars = useMemo(() => {\n if (!multi) return null;\n return (\n <>\n {[...multiValues].reverse().map(({ value: baseValue, color }, i) => (\n <Bar\n className={getProgressBarClassNames(baseValue)}\n barStyle=\"none\"\n value={baseValue}\n animated={animated}\n type=\"primary\"\n color={color}\n min={min}\n max={max}\n allowExceedingMax={allowExceedingMax}\n id={`bar_${color}_${i}`}\n key={`bar_${color}_${i}`}\n />\n ))}\n </>\n );\n }, [min, max, animated, multiValues, multi, allowExceedingMax]);\n\n const renderPercentage = indicateProgress ? (\n <PercentageLabel forElement=\"linear-progress-bar\" value={valuePercentage} />\n ) : null;\n\n const renderBaseBars = !multi ? (\n <>\n <Bar\n className={getProgressBarClassNames(value)}\n barLabelName={ariaLabel}\n barStyle={barStyle}\n value={valueSecondary}\n animated={animated}\n type=\"secondary\"\n min={min}\n max={max}\n allowExceedingMax={allowExceedingMax}\n data-testid={ComponentDefaultTestId.BAR_SECONDARY}\n />\n <Bar\n className={getProgressBarClassNames(value)}\n barStyle={barStyle}\n value={value}\n animated={animated}\n type=\"primary\"\n min={min}\n max={max}\n allowExceedingMax={allowExceedingMax}\n data-testid={ComponentDefaultTestId.BAR_PRIMARY}\n />\n </>\n ) : null;\n\n return (\n <div\n className={wrapperClassName}\n ref={ref}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.PROGRESS_BAR, id)}\n data-vibe={ComponentVibeId.PROGRESS_BAR}\n >\n <div className={styles.container}>\n {renderBaseBars}\n {renderMultiBars}\n </div>\n {renderPercentage}\n </div>\n );\n }\n);\n\nexport default ProgressBar;\n"],"names":["ProgressBar","forwardRef","_ref","ref","_ref$min","min","_ref$max","max","_ref$value","value","_ref$valueSecondary","valueSecondary","_ref$animated","animated","_ref$barStyle","barStyle","className","_ref$size","size","_ref$indicateProgress","indicateProgress","_ref$multi","multi","_ref$multiValues","multiValues","_ref$ariaLabel","ariaLabel","id","_ref$fullWidth","fullWidth","_ref$allowExceedingMa","allowExceedingMax","dataTestId","wrapperClassName","useMemo","cx","styles","wrapper","_defineProperty","getStyle","valuePercentage","firstValue","length","calculatePercentage","renderMultiBars","React","createElement","Fragment","_toConsumableArray","reverse","map","_ref2","i","baseValue","color","Bar","getProgressBarClassNames","type","concat","key","renderPercentage","PercentageLabel","forElement","renderBaseBars","barLabelName","ComponentDefaultTestId","BAR_SECONDARY","BAR_PRIMARY","getTestId","PROGRESS_BAR","ComponentVibeId","container"],"mappings":"wkBA6EMA,IAAAA,EAAcC,GAClB,SAAAC,EAmBEC,GACE,IAAAC,EAAAF,EAlBAG,IAAAA,OAAM,IAAHD,EAAG,EAACA,EAAAE,EAAAJ,EACPK,IAAAA,OAAM,IAAHD,EAAG,IAAGA,EAAAE,EAAAN,EACTO,MAAAA,OAAQ,IAAHD,EAAG,EAACA,EAAAE,EAAAR,EACTS,eAAAA,OAAiB,IAAHD,EAAG,EAACA,EAAAE,EAAAV,EAClBW,SAAAA,OAAW,IAAHD,GAAOA,EAAAE,EAAAZ,EACfa,SAAAA,OAAW,IAAHD,EAAG,UAASA,EACpBE,EAASd,EAATc,UAASC,EAAAf,EACTgB,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EAAAE,EAAAjB,EACdkB,iBAAAA,OAAmB,IAAHD,GAAQA,EAAAE,EAAAnB,EACxBoB,MAAAA,OAAQ,IAAHD,GAAQA,EAAAE,EAAArB,EACbsB,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAAAE,EAAAvB,EAChB,cAAcwB,OAAY,IAAHD,EAAG,GAAEA,EAC5BE,EAAEzB,EAAFyB,GAAEC,EAAA1B,EACF2B,UAAAA,OAAY,IAAHD,GAAQA,EAAAE,EAAA5B,EACjB6B,kBAAAA,OAAoB,IAAHD,GAAQA,EACVE,EAAU9B,EAAzB,eAII+B,EAAmBC,GAAQ,WAC/B,OAAOC,EACLC,EAAOC,QAAOC,EAAAA,EAAA,CAAA,EAEXC,EAASH,EAAQlB,MAAmBA,GACpCkB,EAAOP,UAAYA,GAEtBb,EAEH,GAAE,CAACE,EAAMW,EAAWb,IAEfwB,EAAkBN,GAAQ,WAC9B,GAAIZ,EAAO,CACT,IAAMmB,EAAajB,GAAeA,EAAYkB,QAAUlB,EAAY,GAAGf,MACvE,OAAIgC,QAAwD,EACrDE,EAAoBF,EAAYpC,EAAKE,EAAKwB,EACnD,CACA,OAAItB,QAA8C,EAC3CkC,EAAoBlC,EAAOJ,EAAKE,EAAKwB,EAC9C,GAAG,CAACtB,EAAOJ,EAAKE,EAAKe,EAAOE,EAAaO,IAEnCa,EAAkBV,GAAQ,WAC9B,OAAKZ,EAEHuB,EACGC,cAAAD,EAAAE,SAAA,KAAAC,EAAIxB,GAAayB,UAAUC,KAAI,SAAAC,EAA8BC,GAAC,IAArBC,EAASF,EAAhB1C,MAAkB6C,EAAKH,EAALG,MAAK,OACxDT,gBAACU,EAAG,CACFvC,UAAWwC,EAAyBH,GACpCtC,SAAS,OACTN,MAAO4C,EACPxC,SAAUA,EACV4C,KAAK,UACLH,MAAOA,EACPjD,IAAKA,EACLE,IAAKA,EACLwB,kBAAmBA,EACnBJ,GAAE,OAAA+B,OAASJ,OAAKI,OAAIN,GACpBO,WAAGD,OAASJ,EAAKI,KAAAA,OAAIN,IAExB,KAjBc,IAoBrB,GAAG,CAAC/C,EAAKE,EAAKM,EAAUW,EAAaF,EAAOS,IAEtC6B,EAAmBxC,EACvByB,EAACC,cAAAe,EAAgB,CAAAC,WAAW,sBAAsBrD,MAAO+B,IACvD,KAEEuB,EAAkBzC,EA0BpB,KAzBFuB,EAAAC,cAAAD,EAAAE,SAAA,KACEF,EAACC,cAAAS,GACCvC,UAAWwC,EAAyB/C,GACpCuD,aAActC,EACdX,SAAUA,EACVN,MAAOE,EACPE,SAAUA,EACV4C,KAAK,YACLpD,IAAKA,EACLE,IAAKA,EACLwB,kBAAmBA,gBACNkC,EAAuBC,gBAEtCrB,EAACC,cAAAS,GACCvC,UAAWwC,EAAyB/C,GACpCM,SAAUA,EACVN,MAAOA,EACPI,SAAUA,EACV4C,KAAK,UACLpD,IAAKA,EACLE,IAAKA,EACLwB,kBAAmBA,gBACNkC,EAAuBE,eAK1C,OACEtB,EACEC,cAAA,MAAA,CAAA9B,UAAWiB,EACX9B,IAAKA,EACLwB,GAAIA,EACS,cAAAK,GAAcoC,EAAUH,EAAuBI,aAAc1C,GAAG,YAClE2C,EAAgBD,cAE3BxB,EAAAC,cAAA,MAAA,CAAK9B,UAAWoB,EAAOmC,WACpBR,EACAnB,GAEFgB,EAGP"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import a from"classnames";import t,{forwardRef as s,useRef as o,useCallback as i,useMemo as l}from"react";import r from"../../hooks/useMergeRef.js";import{Clickable as n}from"@vibe/clickable/mockedClassNames";import{Text as d}from"@vibe/typography/mockedClassNames";import{Tooltip as m}from"@vibe/tooltip/mockedClassNames";import{getTestId as c,ComponentDefaultTestId as u}from"../../tests/testIds.js";import p from"./RadioButton.module.scss.js";import{ComponentVibeId as b}from"../../tests/constants.js";var f=s((function(s,f){var v=s.className,N=s.text,C=void 0===N?"":N,k=s.value,h=void 0===k?"":k,O=s.name,T=void 0===O?"":O,B=s.labelClassName,E=s.radioButtonClassName,R=s.disabled,_=void 0!==R&&R,y=s.autoFocus,A=s.disabledReason,I=s.defaultChecked,j=void 0!==I&&I,g=s.children,x=s.onSelect,D=s.checked,L=s.retainChildClick,U=void 0===L||L,F=s.childrenTabIndex,P=void 0===F?0:F,H=s.noLabelAnimation,M=void 0!==H&&H,S=s["aria-label"],q=s["aria-describedby"],w=s.id,z=s["data-testid"],G=o(),J=r(f,G),K=i((function(){!_&&U&&(G.current&&(G.current.checked=!0),x&&x(null))}),[x,G,_,U]),Q=l((function(){return void 0!==D?{checked:D}:{defaultChecked:j}}),[D,j]);return t.createElement(m,{content:_?A:null},t.createElement("label",{"data-testid":z||c(u.RADIO_BUTTON,w),"data-vibe":b.RADIO_BUTTON,className:a(p.radioButton,v,e(e({},p.disabled,_),"disabled",_))},t.createElement("span",{className:a(p.inputContainer)},t.createElement("input",Object.assign({className:a(p.input),type:"radio",value:h,name:T,autoFocus:y,disabled:_},Q,{"aria-label":S,"aria-describedby":q,onChange:x,ref:J})),t.createElement("span",{"data-testid":c(u.RADIO_BUTTON_CONTROL,w),className:a(p.control,E,e({},p.labelAnimation,!M))})),C&&t.createElement(d,{element:"span",type:"text2",className:B,"data-testid":c(u.RADIO_BUTTON_LABEL,w)},C),g&&t.createElement(n,{onClick:K,tabIndex:P},g)))}));export{f as default};
1
+ import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import a from"classnames";import t,{forwardRef as i,useRef as s,useCallback as o,useMemo as l}from"react";import{useMergeRef as r}from"@vibe/shared";import{Clickable as d}from"@vibe/clickable/mockedClassNames";import{Text as n}from"@vibe/typography/mockedClassNames";import{Tooltip as m}from"@vibe/tooltip/mockedClassNames";import{getTestId as c,ComponentDefaultTestId as u}from"../../tests/testIds.js";import b from"./RadioButton.module.scss.js";import{ComponentVibeId as p}from"../../tests/constants.js";var v=i((function(i,v){var f=i.className,N=i.text,C=void 0===N?"":N,h=i.value,k=void 0===h?"":h,O=i.name,T=void 0===O?"":O,B=i.labelClassName,E=i.radioButtonClassName,_=i.disabled,y=void 0!==_&&_,A=i.autoFocus,I=i.disabledReason,R=i.defaultChecked,j=void 0!==R&&R,x=i.children,g=i.onSelect,D=i.checked,L=i.retainChildClick,U=void 0===L||L,F=i.childrenTabIndex,P=void 0===F?0:F,H=i.noLabelAnimation,S=void 0!==H&&H,q=i["aria-label"],w=i["aria-describedby"],z=i.id,G=i["data-testid"],J=s(),K=r(v,J),M=o((function(){!y&&U&&(J.current&&(J.current.checked=!0),g&&g(null))}),[g,J,y,U]),Q=l((function(){return void 0!==D?{checked:D}:{defaultChecked:j}}),[D,j]);return t.createElement(m,{content:y?I:null},t.createElement("label",{"data-testid":G||c(u.RADIO_BUTTON,z),"data-vibe":p.RADIO_BUTTON,className:a(b.radioButton,f,e(e({},b.disabled,y),"disabled",y))},t.createElement("span",{className:a(b.inputContainer)},t.createElement("input",Object.assign({className:a(b.input),type:"radio",value:k,name:T,autoFocus:A,disabled:y},Q,{"aria-label":q,"aria-describedby":w,onChange:g,ref:K})),t.createElement("span",{"data-testid":c(u.RADIO_BUTTON_CONTROL,z),className:a(b.control,E,e({},b.labelAnimation,!S))})),C&&t.createElement(n,{element:"span",type:"text2",className:B,"data-testid":c(u.RADIO_BUTTON_LABEL,z)},C),x&&t.createElement(d,{onClick:M,tabIndex:P},x)))}));export{v as default};
2
2
  //# sourceMappingURL=RadioButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.js","sources":["../../../../../src/components/RadioButton/RadioButton.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useCallback, useMemo, useRef } from \"react\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { Clickable } from \"@vibe/clickable\";\nimport { Text } from \"@vibe/typography\";\nimport { type VibeComponentProps } from \"../../types\";\nimport { Tooltip } from \"@vibe/tooltip\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./RadioButton.module.scss\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nexport interface RadioButtonProps extends VibeComponentProps {\n /**\n * Class name applied to the label text.\n */\n labelClassName?: string;\n /**\n * Class name applied to the radio button element.\n */\n radioButtonClassName?: string;\n /**\n * The label text displayed next to the radio button.\n */\n text?: string;\n /**\n * The value associated with the radio button.\n */\n value?: string;\n /**\n * The name of the radio button group.\n */\n name?: string;\n /**\n * If true, the radio button automatically receives focus on mount.\n */\n autoFocus?: boolean;\n /**\n * If true, the radio button is disabled.\n */\n disabled?: boolean;\n /**\n * The reason why the radio button is disabled, displayed in a tooltip.\n */\n disabledReason?: string;\n /**\n * If true, the radio button is checked by default.\n */\n defaultChecked?: boolean;\n /**\n * The child elements inside the radio button.\n */\n children?: React.ReactNode;\n /**\n * Callback fired when the radio button selection changes.\n */\n onSelect?: (event: React.ChangeEvent<HTMLInputElement | null>) => void;\n /**\n * If provided, controls the checked state of the radio button.\n */\n checked?: boolean;\n /**\n * If true, clicking on children will trigger selection.\n */\n retainChildClick?: boolean;\n /**\n * The tab index applied to the children.\n */\n childrenTabIndex?: number;\n /**\n * If true, disables the label animation.\n */\n noLabelAnimation?: boolean;\n /**\n * ARIA label for accessibility when no text is provided.\n */\n \"aria-label\"?: string;\n /**\n * ID of element that describe this radio button.\n */\n \"aria-describedby\"?: string;\n}\n\nconst RadioButton = forwardRef(\n (\n {\n className,\n text = \"\",\n value = \"\",\n name = \"\",\n labelClassName,\n radioButtonClassName,\n disabled = false,\n autoFocus,\n disabledReason,\n defaultChecked = false,\n children,\n onSelect,\n checked,\n retainChildClick = true,\n childrenTabIndex = 0,\n noLabelAnimation = false,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedby,\n id,\n \"data-testid\": dataTestId\n }: RadioButtonProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement | null>();\n const mergedRef = useMergeRef(ref, inputRef);\n\n const onChildClick = useCallback(() => {\n if (disabled || !retainChildClick) return;\n if (inputRef.current) {\n inputRef.current.checked = true;\n }\n if (onSelect) {\n onSelect(null);\n }\n }, [onSelect, inputRef, disabled, retainChildClick]);\n\n const checkedProps = useMemo(() => {\n if (checked !== undefined) {\n return { checked };\n }\n return { defaultChecked };\n }, [checked, defaultChecked]);\n\n const tooltipContent = disabled ? disabledReason : null;\n\n return (\n <Tooltip content={tooltipContent}>\n <label\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.RADIO_BUTTON, id)}\n data-vibe={ComponentVibeId.RADIO_BUTTON}\n className={cx(styles.radioButton, className, {\n [styles.disabled]: disabled,\n disabled: disabled\n })}\n >\n <span className={cx(styles.inputContainer)}>\n <input\n className={cx(styles.input)}\n type=\"radio\"\n value={value}\n name={name}\n autoFocus={autoFocus}\n disabled={disabled}\n {...checkedProps}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n onChange={onSelect}\n ref={mergedRef}\n />\n <span\n data-testid={getTestId(ComponentDefaultTestId.RADIO_BUTTON_CONTROL, id)}\n className={cx(styles.control, radioButtonClassName, {\n [styles.labelAnimation]: !noLabelAnimation\n })}\n />\n </span>\n {text && (\n <Text\n element=\"span\"\n type=\"text2\"\n className={labelClassName}\n data-testid={getTestId(ComponentDefaultTestId.RADIO_BUTTON_LABEL, id)}\n >\n {text}\n </Text>\n )}\n {children && (\n <Clickable onClick={onChildClick} tabIndex={childrenTabIndex}>\n {children}\n </Clickable>\n )}\n </label>\n </Tooltip>\n );\n }\n);\n\nexport default RadioButton;\n"],"names":["RadioButton","forwardRef","_ref","ref","className","_ref$text","text","_ref$value","value","_ref$name","name","labelClassName","radioButtonClassName","_ref$disabled","disabled","autoFocus","disabledReason","_ref$defaultChecked","defaultChecked","children","onSelect","checked","_ref$retainChildClick","retainChildClick","_ref$childrenTabIndex","childrenTabIndex","_ref$noLabelAnimation","noLabelAnimation","ariaLabel","ariaDescribedby","id","dataTestId","inputRef","useRef","mergedRef","useMergeRef","onChildClick","useCallback","current","checkedProps","useMemo","undefined","React","createElement","Tooltip","content","getTestId","ComponentDefaultTestId","RADIO_BUTTON","ComponentVibeId","cx","styles","radioButton","_defineProperty","inputContainer","Object","assign","input","type","onChange","RADIO_BUTTON_CONTROL","control","labelAnimation","Text","element","RADIO_BUTTON_LABEL","Clickable","onClick","tabIndex"],"mappings":"ykBAkFMA,IAAAA,EAAcC,GAClB,SAAAC,EAuBEC,GACE,IAtBAC,EAASF,EAATE,UAASC,EAAAH,EACTI,KAAAA,OAAO,IAAHD,EAAG,GAAEA,EAAAE,EAAAL,EACTM,MAAAA,OAAQ,IAAHD,EAAG,GAAEA,EAAAE,EAAAP,EACVQ,KAAAA,OAAO,IAAHD,EAAG,GAAEA,EACTE,EAAcT,EAAdS,eACAC,EAAoBV,EAApBU,qBAAoBC,EAAAX,EACpBY,SAAAA,OAAW,IAAHD,GAAQA,EAChBE,EAASb,EAATa,UACAC,EAAcd,EAAdc,eAAcC,EAAAf,EACdgB,eAAAA,OAAiB,IAAHD,GAAQA,EACtBE,EAAQjB,EAARiB,SACAC,EAAQlB,EAARkB,SACAC,EAAOnB,EAAPmB,QAAOC,EAAApB,EACPqB,iBAAAA,OAAmB,IAAHD,GAAOA,EAAAE,EAAAtB,EACvBuB,iBAAAA,OAAmB,IAAHD,EAAG,EAACA,EAAAE,EAAAxB,EACpByB,iBAAAA,OAAmB,IAAHD,GAAQA,EACVE,EAAS1B,EAAvB,cACoB2B,EAAe3B,EAAnC,oBACA4B,EAAE5B,EAAF4B,GACeC,EAAU7B,EAAzB,eAII8B,EAAWC,IACXC,EAAYC,EAAYhC,EAAK6B,GAE7BI,EAAeC,GAAY,YAC3BvB,GAAaS,IACbS,EAASM,UACXN,EAASM,QAAQjB,SAAU,GAEzBD,GACFA,EAAS,MAEZ,GAAE,CAACA,EAAUY,EAAUlB,EAAUS,IAE5BgB,EAAeC,GAAQ,WAC3B,YAAgBC,IAAZpB,EACK,CAAEA,QAAAA,GAEJ,CAAEH,eAAAA,EACX,GAAG,CAACG,EAASH,IAIb,OACEwB,EAACC,cAAAC,EAAQ,CAAAC,QAHY/B,EAAWE,EAAiB,MAI/C0B,EACeC,cAAA,QAAA,CAAA,cAAAZ,GAAce,EAAUC,EAAuBC,aAAclB,GAC/D,YAAAmB,EAAgBD,aAC3B5C,UAAW8C,EAAGC,EAAOC,YAAahD,EAASiD,EAAAA,EAAA,CAAA,EACxCF,EAAOrC,SAAWA,GAAQ,WACjBA,KAGZ4B,EAAAC,cAAA,OAAA,CAAMvC,UAAW8C,EAAGC,EAAOG,iBACzBZ,EAAAC,cAAA,QAAAY,OAAAC,OAAA,CACEpD,UAAW8C,EAAGC,EAAOM,OACrBC,KAAK,QACLlD,MAAOA,EACPE,KAAMA,EACNK,UAAWA,EACXD,SAAUA,GACNyB,EACQ,CAAA,aAAAX,qBACMC,EAClB8B,SAAUvC,EACVjB,IAAK+B,KAEPQ,EAAAC,cAAA,OAAA,CAAA,cACeG,EAAUC,EAAuBa,qBAAsB9B,GACpE1B,UAAW8C,EAAGC,EAAOU,QAASjD,EAAoByC,KAC/CF,EAAOW,gBAAkBnC,OAI/BrB,GACCoC,EAACC,cAAAoB,EACC,CAAAC,QAAQ,OACRN,KAAK,QACLtD,UAAWO,EACE,cAAAmC,EAAUC,EAAuBkB,mBAAoBnC,IAEjExB,GAGJa,GACCuB,EAAAC,cAACuB,EAAU,CAAAC,QAAS/B,EAAcgC,SAAU3C,GACzCN,IAMb"}
1
+ {"version":3,"file":"RadioButton.js","sources":["../../../../../src/components/RadioButton/RadioButton.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useCallback, useMemo, useRef } from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { Clickable } from \"@vibe/clickable\";\nimport { Text } from \"@vibe/typography\";\nimport { type VibeComponentProps } from \"../../types\";\nimport { Tooltip } from \"@vibe/tooltip\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./RadioButton.module.scss\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nexport interface RadioButtonProps extends VibeComponentProps {\n /**\n * Class name applied to the label text.\n */\n labelClassName?: string;\n /**\n * Class name applied to the radio button element.\n */\n radioButtonClassName?: string;\n /**\n * The label text displayed next to the radio button.\n */\n text?: string;\n /**\n * The value associated with the radio button.\n */\n value?: string;\n /**\n * The name of the radio button group.\n */\n name?: string;\n /**\n * If true, the radio button automatically receives focus on mount.\n */\n autoFocus?: boolean;\n /**\n * If true, the radio button is disabled.\n */\n disabled?: boolean;\n /**\n * The reason why the radio button is disabled, displayed in a tooltip.\n */\n disabledReason?: string;\n /**\n * If true, the radio button is checked by default.\n */\n defaultChecked?: boolean;\n /**\n * The child elements inside the radio button.\n */\n children?: React.ReactNode;\n /**\n * Callback fired when the radio button selection changes.\n */\n onSelect?: (event: React.ChangeEvent<HTMLInputElement | null>) => void;\n /**\n * If provided, controls the checked state of the radio button.\n */\n checked?: boolean;\n /**\n * If true, clicking on children will trigger selection.\n */\n retainChildClick?: boolean;\n /**\n * The tab index applied to the children.\n */\n childrenTabIndex?: number;\n /**\n * If true, disables the label animation.\n */\n noLabelAnimation?: boolean;\n /**\n * ARIA label for accessibility when no text is provided.\n */\n \"aria-label\"?: string;\n /**\n * ID of element that describe this radio button.\n */\n \"aria-describedby\"?: string;\n}\n\nconst RadioButton = forwardRef(\n (\n {\n className,\n text = \"\",\n value = \"\",\n name = \"\",\n labelClassName,\n radioButtonClassName,\n disabled = false,\n autoFocus,\n disabledReason,\n defaultChecked = false,\n children,\n onSelect,\n checked,\n retainChildClick = true,\n childrenTabIndex = 0,\n noLabelAnimation = false,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedby,\n id,\n \"data-testid\": dataTestId\n }: RadioButtonProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement | null>();\n const mergedRef = useMergeRef(ref, inputRef);\n\n const onChildClick = useCallback(() => {\n if (disabled || !retainChildClick) return;\n if (inputRef.current) {\n inputRef.current.checked = true;\n }\n if (onSelect) {\n onSelect(null);\n }\n }, [onSelect, inputRef, disabled, retainChildClick]);\n\n const checkedProps = useMemo(() => {\n if (checked !== undefined) {\n return { checked };\n }\n return { defaultChecked };\n }, [checked, defaultChecked]);\n\n const tooltipContent = disabled ? disabledReason : null;\n\n return (\n <Tooltip content={tooltipContent}>\n <label\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.RADIO_BUTTON, id)}\n data-vibe={ComponentVibeId.RADIO_BUTTON}\n className={cx(styles.radioButton, className, {\n [styles.disabled]: disabled,\n disabled: disabled\n })}\n >\n <span className={cx(styles.inputContainer)}>\n <input\n className={cx(styles.input)}\n type=\"radio\"\n value={value}\n name={name}\n autoFocus={autoFocus}\n disabled={disabled}\n {...checkedProps}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n onChange={onSelect}\n ref={mergedRef}\n />\n <span\n data-testid={getTestId(ComponentDefaultTestId.RADIO_BUTTON_CONTROL, id)}\n className={cx(styles.control, radioButtonClassName, {\n [styles.labelAnimation]: !noLabelAnimation\n })}\n />\n </span>\n {text && (\n <Text\n element=\"span\"\n type=\"text2\"\n className={labelClassName}\n data-testid={getTestId(ComponentDefaultTestId.RADIO_BUTTON_LABEL, id)}\n >\n {text}\n </Text>\n )}\n {children && (\n <Clickable onClick={onChildClick} tabIndex={childrenTabIndex}>\n {children}\n </Clickable>\n )}\n </label>\n </Tooltip>\n );\n }\n);\n\nexport default RadioButton;\n"],"names":["RadioButton","forwardRef","_ref","ref","className","_ref$text","text","_ref$value","value","_ref$name","name","labelClassName","radioButtonClassName","_ref$disabled","disabled","autoFocus","disabledReason","_ref$defaultChecked","defaultChecked","children","onSelect","checked","_ref$retainChildClick","retainChildClick","_ref$childrenTabIndex","childrenTabIndex","_ref$noLabelAnimation","noLabelAnimation","ariaLabel","ariaDescribedby","id","dataTestId","inputRef","useRef","mergedRef","useMergeRef","onChildClick","useCallback","current","checkedProps","useMemo","undefined","React","createElement","Tooltip","content","getTestId","ComponentDefaultTestId","RADIO_BUTTON","ComponentVibeId","cx","styles","radioButton","_defineProperty","inputContainer","Object","assign","input","type","onChange","RADIO_BUTTON_CONTROL","control","labelAnimation","Text","element","RADIO_BUTTON_LABEL","Clickable","onClick","tabIndex"],"mappings":"0kBAkFMA,IAAAA,EAAcC,GAClB,SAAAC,EAuBEC,GACE,IAtBAC,EAASF,EAATE,UAASC,EAAAH,EACTI,KAAAA,OAAO,IAAHD,EAAG,GAAEA,EAAAE,EAAAL,EACTM,MAAAA,OAAQ,IAAHD,EAAG,GAAEA,EAAAE,EAAAP,EACVQ,KAAAA,OAAO,IAAHD,EAAG,GAAEA,EACTE,EAAcT,EAAdS,eACAC,EAAoBV,EAApBU,qBAAoBC,EAAAX,EACpBY,SAAAA,OAAW,IAAHD,GAAQA,EAChBE,EAASb,EAATa,UACAC,EAAcd,EAAdc,eAAcC,EAAAf,EACdgB,eAAAA,OAAiB,IAAHD,GAAQA,EACtBE,EAAQjB,EAARiB,SACAC,EAAQlB,EAARkB,SACAC,EAAOnB,EAAPmB,QAAOC,EAAApB,EACPqB,iBAAAA,OAAmB,IAAHD,GAAOA,EAAAE,EAAAtB,EACvBuB,iBAAAA,OAAmB,IAAHD,EAAG,EAACA,EAAAE,EAAAxB,EACpByB,iBAAAA,OAAmB,IAAHD,GAAQA,EACVE,EAAS1B,EAAvB,cACoB2B,EAAe3B,EAAnC,oBACA4B,EAAE5B,EAAF4B,GACeC,EAAU7B,EAAzB,eAII8B,EAAWC,IACXC,EAAYC,EAAYhC,EAAK6B,GAE7BI,EAAeC,GAAY,YAC3BvB,GAAaS,IACbS,EAASM,UACXN,EAASM,QAAQjB,SAAU,GAEzBD,GACFA,EAAS,MAEZ,GAAE,CAACA,EAAUY,EAAUlB,EAAUS,IAE5BgB,EAAeC,GAAQ,WAC3B,YAAgBC,IAAZpB,EACK,CAAEA,QAAAA,GAEJ,CAAEH,eAAAA,EACX,GAAG,CAACG,EAASH,IAIb,OACEwB,EAACC,cAAAC,EAAQ,CAAAC,QAHY/B,EAAWE,EAAiB,MAI/C0B,EACeC,cAAA,QAAA,CAAA,cAAAZ,GAAce,EAAUC,EAAuBC,aAAclB,GAC/D,YAAAmB,EAAgBD,aAC3B5C,UAAW8C,EAAGC,EAAOC,YAAahD,EAASiD,EAAAA,EAAA,CAAA,EACxCF,EAAOrC,SAAWA,GAAQ,WACjBA,KAGZ4B,EAAAC,cAAA,OAAA,CAAMvC,UAAW8C,EAAGC,EAAOG,iBACzBZ,EAAAC,cAAA,QAAAY,OAAAC,OAAA,CACEpD,UAAW8C,EAAGC,EAAOM,OACrBC,KAAK,QACLlD,MAAOA,EACPE,KAAMA,EACNK,UAAWA,EACXD,SAAUA,GACNyB,EACQ,CAAA,aAAAX,qBACMC,EAClB8B,SAAUvC,EACVjB,IAAK+B,KAEPQ,EAAAC,cAAA,OAAA,CAAA,cACeG,EAAUC,EAAuBa,qBAAsB9B,GACpE1B,UAAW8C,EAAGC,EAAOU,QAASjD,EAAoByC,KAC/CF,EAAOW,gBAAkBnC,OAI/BrB,GACCoC,EAACC,cAAAoB,EACC,CAAAC,QAAQ,OACRN,KAAK,QACLtD,UAAWO,EACE,cAAAmC,EAAUC,EAAuBkB,mBAAoBnC,IAEjExB,GAGJa,GACCuB,EAAAC,cAACuB,EAAU,CAAAC,QAAS/B,EAAcgC,SAAU3C,GACzCN,IAMb"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import a from"classnames";import o,{forwardRef as r,useRef as s,useCallback as t}from"react";import i from"../../hooks/useMergeRef.js";import{CloseSmall as l,Search as n}from"@vibe/icons";import{getTestId as c,ComponentDefaultTestId as m}from"../../tests/testIds.js";import d from"./Search.module.scss.js";import{BaseInput as u}from"@vibe/base/mockedClassNames";import p from"../../hooks/useDebounceEvent/index.js";import{IconButton as v}from"@vibe/icon-button/mockedClassNames";import{Icon as f}from"@vibe/icon/mockedClassNames";import{Loader as h}from"@vibe/loader/mockedClassNames";import{ComponentVibeId as C}from"../../tests/constants.js";var b=r((function(r,b){var N,E,R,g,x,y,A,I,k,j,S=r.searchIconName,w=void 0===S?n:S,z=r.clearIconName,F=void 0===z?l:z,B=r.clearIconLabel,H=void 0===B?"Clear":B,L=r.renderAction,_=r.hideRenderActionOnInput,D=r.value,V=r.placeholder,K=r.size,O=void 0===K?"medium":K,P=r.disabled,T=r.loading,M=r.autoFocus,U=r.autoComplete,W=void 0===U?"off":U,q=r.inputAriaLabel,G=r.debounceRate,J=void 0===G?400:G,Q=r.searchResultsContainerId,X=r.currentAriaResultId,Y=r.onChange,Z=r.onFocus,$=r.onBlur,ee=r.onClear,ae=r.onKeyDown,oe=r.className,re=r["aria-expanded"],se=r["aria-haspopup"],te=r.showClearIcon,ie=void 0===te||te,le=r.id,ne=r["data-testid"];return N=s(null),E=i(b,N),R=p({delay:J,onChange:Y,initialStateValue:D}),g=R.inputValue,x=R.onEventChanged,A=t((function(){var e,a;P||(null===(a=null===(e=N.current)||void 0===e?void 0:e.focus)||void 0===a||a.call(e),y(),null==ee||ee())}),[P,y=R.clearValue,ee]),I=o.createElement(f,{icon:w,className:d.icon,type:"font",size:"small"===O?"16px":"20px"}),k=o.createElement(v,{className:a(d.icon,e({},d.empty,!g)),icon:F,"aria-label":H,onClick:A,size:"small"===O?"xs":"small","data-testid":c(m.CLEAN_SEARCH_BUTTON,le)}),j=o.createElement(o.Fragment,null,T&&o.createElement(h,{size:"small"===O?"xs":20,color:"secondary",wrapperClassName:a(e({},d.loader,!g&&!L))}),ie&&g&&!P&&k,!(_&&g)&&L),o.createElement(u,{ref:E,id:le,type:"search","data-testid":ne||c(m.SEARCH,le),"data-vibe":C.SEARCH,className:a(d.searchWrapper,oe),inputClassName:d.search,value:g,renderLeft:I,renderRight:j,autoFocus:M,placeholder:V,disabled:P,onChange:x,onBlur:$,onFocus:Z,onKeyDown:ae,autoComplete:W,size:O,wrapperRole:"search",inputRole:Q?"combobox":void 0,"aria-label":q,"aria-busy":T,"aria-controls":re?Q:void 0,"aria-activedescendant":X,"aria-haspopup":se,"aria-expanded":re})}));export{b as default};
1
+ import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import a from"classnames";import o,{forwardRef as r,useRef as s,useCallback as t}from"react";import{useMergeRef as i}from"@vibe/shared";import{CloseSmall as l,Search as n}from"@vibe/icons";import{getTestId as c,ComponentDefaultTestId as m}from"../../tests/testIds.js";import d from"./Search.module.scss.js";import{BaseInput as u}from"@vibe/base/mockedClassNames";import p from"../../hooks/useDebounceEvent/index.js";import{IconButton as v}from"@vibe/icon-button/mockedClassNames";import{Icon as f}from"@vibe/icon/mockedClassNames";import{Loader as b}from"@vibe/loader/mockedClassNames";import{ComponentVibeId as h}from"../../tests/constants.js";var C=r((function(r,C){var N,E,R,x,y,g,A,I,k,S,j=r.searchIconName,w=void 0===j?n:j,z=r.clearIconName,F=void 0===z?l:z,B=r.clearIconLabel,H=void 0===B?"Clear":B,L=r.renderAction,_=r.hideRenderActionOnInput,D=r.value,V=r.placeholder,K=r.size,O=void 0===K?"medium":K,P=r.disabled,T=r.loading,U=r.autoFocus,W=r.autoComplete,q=void 0===W?"off":W,G=r.inputAriaLabel,J=r.debounceRate,M=void 0===J?400:J,Q=r.searchResultsContainerId,X=r.currentAriaResultId,Y=r.onChange,Z=r.onFocus,$=r.onBlur,ee=r.onClear,ae=r.onKeyDown,oe=r.className,re=r["aria-expanded"],se=r["aria-haspopup"],te=r.showClearIcon,ie=void 0===te||te,le=r.id,ne=r["data-testid"];return N=s(null),E=i(C,N),R=p({delay:M,onChange:Y,initialStateValue:D}),x=R.inputValue,y=R.onEventChanged,A=t((function(){var e,a;P||(null===(a=null===(e=N.current)||void 0===e?void 0:e.focus)||void 0===a||a.call(e),g(),null==ee||ee())}),[P,g=R.clearValue,ee]),I=o.createElement(f,{icon:w,className:d.icon,type:"font",size:"small"===O?"16px":"20px"}),k=o.createElement(v,{className:a(d.icon,e({},d.empty,!x)),icon:F,"aria-label":H,onClick:A,size:"small"===O?"xs":"small","data-testid":c(m.CLEAN_SEARCH_BUTTON,le)}),S=o.createElement(o.Fragment,null,T&&o.createElement(b,{size:"small"===O?"xs":20,color:"secondary",wrapperClassName:a(e({},d.loader,!x&&!L))}),ie&&x&&!P&&k,!(_&&x)&&L),o.createElement(u,{ref:E,id:le,type:"search","data-testid":ne||c(m.SEARCH,le),"data-vibe":h.SEARCH,className:a(d.searchWrapper,oe),inputClassName:d.search,value:x,renderLeft:I,renderRight:S,autoFocus:U,placeholder:V,disabled:P,onChange:y,onBlur:$,onFocus:Z,onKeyDown:ae,autoComplete:q,size:O,wrapperRole:"search",inputRole:Q?"combobox":void 0,"aria-label":G,"aria-busy":T,"aria-controls":re?Q:void 0,"aria-activedescendant":X,"aria-haspopup":se,"aria-expanded":re})}));export{C as default};
2
2
  //# sourceMappingURL=Search.js.map