@vibe/core 3.36.0-alpha-94da6.0 → 3.36.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 (617) hide show
  1. package/dist/components/Accordion/Accordion/Accordion.d.ts +3 -15
  2. package/dist/components/Accordion/AccordionItem/AccordionItem.d.ts +9 -17
  3. package/dist/components/AlertBanner/AlertBanner.d.ts +16 -3
  4. package/dist/components/AlertBanner/AlertBannerButton/AlertBannerButton.d.ts +3 -0
  5. package/dist/components/AlertBanner/AlertBannerLink/AlertBannerLink.d.ts +3 -0
  6. package/dist/components/AlertBanner/AlertBannerText/AlertBannerText.d.ts +6 -0
  7. package/dist/components/AttentionBox/AttentionBox.d.ts +36 -4
  8. package/dist/components/Avatar/Avatar.d.ts +70 -3
  9. package/dist/components/Avatar/AvatarBadge.d.ts +10 -2
  10. package/dist/components/Avatar/AvatarContent.d.ts +24 -1
  11. package/dist/components/AvatarGroup/AvatarGroup.d.ts +17 -5
  12. package/dist/components/AvatarGroup/AvatarGroupCounter.d.ts +20 -2
  13. package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContainer.d.ts +20 -3
  14. package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContent.d.ts +10 -2
  15. package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.d.ts +13 -1
  16. package/dist/components/Badge/Badge.d.ts +15 -0
  17. package/dist/components/Badge/Indicator/Indicator.d.ts +3 -0
  18. package/dist/components/BaseInput/BaseInput.types.d.ts +8 -15
  19. package/dist/components/BaseListItem/BaseListItem.types.d.ts +2 -2
  20. package/dist/components/Box/Box.d.ts +75 -0
  21. package/dist/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.d.ts +24 -0
  22. package/dist/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.d.ts +24 -7
  23. package/dist/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +6 -1
  24. package/dist/components/ButtonGroup/ButtonGroup.d.ts +46 -1
  25. package/dist/components/ButtonGroup/ButtonWrapper.d.ts +16 -1
  26. package/dist/components/Checkbox/Checkbox.d.ts +42 -18
  27. package/dist/components/Chips/Chips.d.ts +54 -20
  28. package/dist/components/Clickable/Clickable.d.ts +41 -5
  29. package/dist/components/Clickable/ClickableWrapper.d.ts +9 -0
  30. package/dist/components/ColorPicker/ColorPicker.d.ts +43 -1
  31. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.d.ts +9 -0
  32. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.d.ts +39 -0
  33. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +48 -0
  34. package/dist/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +33 -1
  35. package/dist/components/Combobox/Combobox.d.ts +78 -25
  36. package/dist/components/Combobox/components/ComboboxCategory/ComboboxCategory.d.ts +6 -0
  37. package/dist/components/Combobox/components/ComboboxConstants.d.ts +156 -0
  38. package/dist/components/Combobox/components/ComboboxItems/ComboboxItems.d.ts +45 -0
  39. package/dist/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +30 -0
  40. package/dist/components/Counter/Counter.d.ts +33 -14
  41. package/dist/components/DatePicker/DateNavigationItem/DateNavigationItem.d.ts +6 -0
  42. package/dist/components/DatePicker/DatePicker.d.ts +39 -13
  43. package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +18 -0
  44. package/dist/components/DatePicker/YearPicker/YearPicker.d.ts +12 -0
  45. package/dist/components/DatePicker/YearPicker/YearsList.d.ts +12 -0
  46. package/dist/components/DatePicker/types.d.ts +6 -0
  47. package/dist/components/Dialog/Dialog.d.ts +59 -36
  48. package/dist/components/Dialog/DialogContent/DialogContent.d.ts +52 -3
  49. package/dist/components/DialogContentContainer/DialogContentContainer.d.ts +18 -0
  50. package/dist/components/Divider/Divider.d.ts +2 -2
  51. package/dist/components/Dropdown/Dropdown.types.d.ts +97 -63
  52. package/dist/components/EditableHeading/EditableHeading.d.ts +4 -3
  53. package/dist/components/EditableText/EditableText.d.ts +6 -4
  54. package/dist/components/EditableTypography/EditableTypography.d.ts +48 -16
  55. package/dist/components/ExpandCollapse/ExpandCollapse.d.ts +20 -8
  56. package/dist/components/FieldLabel/FieldLabel.d.ts +18 -0
  57. package/dist/components/Flex/Flex.d.ts +36 -2
  58. package/dist/components/FormattedNumber/FormattedNumber.d.ts +8 -8
  59. package/dist/components/GridKeyboardNavigationContext/GridKeyboardNavigationContextConstants.d.ts +3 -0
  60. package/dist/components/Heading/Heading.d.ts +15 -0
  61. package/dist/components/HiddenText/HiddenText.d.ts +3 -0
  62. package/dist/components/Icon/CustomSvgIcon/CustomSvgIcon.d.ts +30 -0
  63. package/dist/components/Icon/FontIcon/FontIcon.d.ts +18 -0
  64. package/dist/components/Icon/Icon.d.ts +32 -8
  65. package/dist/components/IconButton/IconButton.d.ts +37 -27
  66. package/dist/components/Label/Label.d.ts +22 -1
  67. package/dist/components/Label/LabelCelebrationAnimation.d.ts +6 -0
  68. package/dist/components/LayerProvider/LayerContext.d.ts +3 -0
  69. package/dist/components/LayerProvider/LayerProvider.d.ts +7 -1
  70. package/dist/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.d.ts +0 -8
  71. package/dist/components/Link/Link.d.ts +40 -14
  72. package/dist/components/List/List.d.ts +14 -5
  73. package/dist/components/List/VirtualizedListItems/VirtualizedListItems.d.ts +3 -0
  74. package/dist/components/ListItem/ListItem.d.ts +12 -25
  75. package/dist/components/ListItemAvatar/ListItemAvatar.d.ts +7 -1
  76. package/dist/components/ListItemIcon/ListItemIcon.d.ts +5 -2
  77. package/dist/components/ListTitle/ListTitle.d.ts +6 -0
  78. package/dist/components/Loader/Loader.d.ts +12 -2
  79. package/dist/components/Menu/Menu/Menu.d.ts +42 -0
  80. package/dist/components/Menu/MenuGridItem/MenuGridItem.d.ts +33 -5
  81. package/dist/components/Menu/MenuItem/AvatarMenuItem.d.ts +6 -0
  82. package/dist/components/Menu/MenuItem/MenuItem.d.ts +97 -7
  83. package/dist/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.types.d.ts +7 -0
  84. package/dist/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.types.d.ts +7 -6
  85. package/dist/components/Menu/MenuItem/components/MenuItemSubMenu/MenuItemSubMenu.types.d.ts +7 -3
  86. package/dist/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.types.d.ts +5 -1
  87. package/dist/components/Menu/MenuItemButton/MenuItemButton.d.ts +51 -0
  88. package/dist/components/Menu/MenuTitle/MenuTitle.d.ts +6 -0
  89. package/dist/components/MenuButton/MenuButton.d.ts +67 -19
  90. package/dist/components/Modal/ModalContent/ModalContent.types.d.ts +1 -1
  91. package/dist/components/Modal/ModalMedia/ModalMedia.types.d.ts +1 -1
  92. package/dist/components/Modal/ModalTopActions/ModalTopActions.types.d.ts +5 -5
  93. package/dist/components/Modal/context/ModalContext.types.d.ts +5 -5
  94. package/dist/components/Modal/footers/ModalFooter/ModalFooter.types.d.ts +1 -1
  95. package/dist/components/Modal/footers/ModalFooterBase/ModalFooterBase.types.d.ts +3 -3
  96. package/dist/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.types.d.ts +4 -4
  97. package/dist/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.types.d.ts +1 -1
  98. package/dist/components/Modal/layouts/ModalFooterShadow.types.d.ts +1 -1
  99. package/dist/components/Modal/layouts/ModalLayoutScrollableContent.types.d.ts +2 -2
  100. package/dist/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.types.d.ts +1 -1
  101. package/dist/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.types.d.ts +1 -1
  102. package/dist/components/MultiStepIndicator/MultiStepIndicator.d.ts +30 -0
  103. package/dist/components/MultiStepIndicator/components/StepIndicator/StepIndicator.d.ts +57 -0
  104. package/dist/components/ProgressBars/LinearProgressBar/Bar/Bar.d.ts +17 -6
  105. package/dist/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +19 -22
  106. package/dist/components/ProgressBars/PercentageLabel/PercentageLabel.d.ts +2 -2
  107. package/dist/components/RadioButton/RadioButton.d.ts +45 -16
  108. package/dist/components/Search/Search.types.d.ts +24 -24
  109. package/dist/components/Skeleton/Skeleton.d.ts +16 -1
  110. package/dist/components/SlideTransition/SlideTransition.types.d.ts +12 -0
  111. package/dist/components/Slider/SelectionIndicator.d.ts +6 -0
  112. package/dist/components/Slider/SliderBase/SliderFilledTrack.d.ts +6 -8
  113. package/dist/components/Slider/SliderBase/SliderRail.d.ts +6 -4
  114. package/dist/components/Slider/SliderBase/SliderThumb.d.ts +9 -7
  115. package/dist/components/Slider/SliderBase/SliderTrack.d.ts +1 -2
  116. package/dist/components/Slider/SliderContext.d.ts +13 -8
  117. package/dist/components/Slider/SliderInfix.d.ts +1 -2
  118. package/dist/components/SplitButton/SplitButton.d.ts +25 -2
  119. package/dist/components/Steps/Steps.d.ts +32 -2
  120. package/dist/components/Steps/StepsCommand.d.ts +21 -0
  121. package/dist/components/Steps/StepsDot.d.ts +15 -0
  122. package/dist/components/Steps/StepsGalleryHeader.d.ts +15 -0
  123. package/dist/components/Steps/StepsHeader.d.ts +33 -0
  124. package/dist/components/Steps/StepsNumbersHeader.d.ts +9 -0
  125. package/dist/components/Switch/Switch.d.ts +39 -0
  126. package/dist/components/Table/Table/Table.d.ts +42 -0
  127. package/dist/components/Table/TableBody/TableBody.d.ts +3 -0
  128. package/dist/components/Table/TableCell/TableCell.d.ts +6 -0
  129. package/dist/components/Table/TableCellSkeleton/TableCellSkeleton.d.ts +6 -0
  130. package/dist/components/Table/TableContainer/TableContainer.types.d.ts +6 -0
  131. package/dist/components/Table/TableHeader/TableHeader.d.ts +3 -0
  132. package/dist/components/Table/TableHeaderCell/TableHeaderCell.d.ts +21 -0
  133. package/dist/components/Table/TableRow/TableRow.d.ts +7 -1
  134. package/dist/components/Table/TableRowMenu/TableRowMenu.types.d.ts +6 -0
  135. package/dist/components/Table/TableVirtualizedBody/TableVirtualizedBody.d.ts +15 -0
  136. package/dist/components/Tabs/Tab/Tab.d.ts +27 -3
  137. package/dist/components/Tabs/TabList/TabList.d.ts +15 -0
  138. package/dist/components/Tabs/TabPanel/TabPanel.d.ts +6 -0
  139. package/dist/components/Tabs/TabPanels/TabPanels.d.ts +9 -0
  140. package/dist/components/Tabs/TabsContext/TabsContext.d.ts +6 -0
  141. package/dist/components/Text/Text.d.ts +9 -0
  142. package/dist/components/TextArea/TextArea.types.d.ts +13 -16
  143. package/dist/components/TextField/TextField.d.ts +127 -9
  144. package/dist/components/TextWithHighlight/TextWithHighlight.d.ts +33 -6
  145. package/dist/components/ThemeProvider/ThemeProvider.d.ts +8 -5
  146. package/dist/components/Tipseen/Tipseen.d.ts +64 -6
  147. package/dist/components/Tipseen/TipseenBasicContent.d.ts +9 -0
  148. package/dist/components/Tipseen/TipseenContent.d.ts +25 -1
  149. package/dist/components/Tipseen/TipseenImage.d.ts +12 -0
  150. package/dist/components/Tipseen/TipseenMedia/TipseenMedia.d.ts +3 -0
  151. package/dist/components/Tipseen/TipseenTitle.d.ts +3 -0
  152. package/dist/components/Tipseen/TipseenWizard.d.ts +7 -1
  153. package/dist/components/Toast/Toast.d.ts +37 -8
  154. package/dist/components/Toggle/MockToggle.d.ts +21 -0
  155. package/dist/components/Toggle/Toggle.d.ts +37 -1
  156. package/dist/components/Toggle/ToggleText.d.ts +6 -0
  157. package/dist/components/Tooltip/Tooltip.d.ts +64 -27
  158. package/dist/components/TransitionView/TransitionView.types.d.ts +9 -0
  159. package/dist/components/Typography/Typography.d.ts +12 -6
  160. package/dist/components/VirtualizedGrid/VirtualizedGrid.d.ts +19 -19
  161. package/dist/components/VirtualizedList/VirtualizedList.d.ts +33 -27
  162. package/dist/hooks/useKeyEvent/index.d.ts +30 -0
  163. package/dist/hooks/useSwitch/index.d.ts +12 -0
  164. package/dist/hooks/useWizard/useWizard.types.d.ts +33 -0
  165. package/dist/mocked_classnames/components/Accordion/Accordion/Accordion.d.ts +3 -15
  166. package/dist/mocked_classnames/components/Accordion/AccordionItem/AccordionItem.d.ts +9 -17
  167. package/dist/mocked_classnames/components/AlertBanner/AlertBanner.d.ts +16 -3
  168. package/dist/mocked_classnames/components/AlertBanner/AlertBannerButton/AlertBannerButton.d.ts +3 -0
  169. package/dist/mocked_classnames/components/AlertBanner/AlertBannerLink/AlertBannerLink.d.ts +3 -0
  170. package/dist/mocked_classnames/components/AlertBanner/AlertBannerText/AlertBannerText.d.ts +6 -0
  171. package/dist/mocked_classnames/components/AttentionBox/AttentionBox.d.ts +36 -4
  172. package/dist/mocked_classnames/components/Avatar/Avatar.d.ts +70 -3
  173. package/dist/mocked_classnames/components/Avatar/AvatarBadge.d.ts +10 -2
  174. package/dist/mocked_classnames/components/Avatar/AvatarContent.d.ts +24 -1
  175. package/dist/mocked_classnames/components/AvatarGroup/AvatarGroup.d.ts +17 -5
  176. package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounter.d.ts +20 -2
  177. package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContainer.d.ts +20 -3
  178. package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContent.d.ts +10 -2
  179. package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.d.ts +13 -1
  180. package/dist/mocked_classnames/components/Badge/Badge.d.ts +15 -0
  181. package/dist/mocked_classnames/components/Badge/Indicator/Indicator.d.ts +3 -0
  182. package/dist/mocked_classnames/components/BaseInput/BaseInput.types.d.ts +8 -15
  183. package/dist/mocked_classnames/components/BaseListItem/BaseListItem.types.d.ts +2 -2
  184. package/dist/mocked_classnames/components/Box/Box.d.ts +75 -0
  185. package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.d.ts +24 -0
  186. package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.d.ts +24 -7
  187. package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +6 -1
  188. package/dist/mocked_classnames/components/ButtonGroup/ButtonGroup.d.ts +46 -1
  189. package/dist/mocked_classnames/components/ButtonGroup/ButtonWrapper.d.ts +16 -1
  190. package/dist/mocked_classnames/components/Checkbox/Checkbox.d.ts +42 -18
  191. package/dist/mocked_classnames/components/Chips/Chips.d.ts +54 -20
  192. package/dist/mocked_classnames/components/Clickable/Clickable.d.ts +41 -5
  193. package/dist/mocked_classnames/components/Clickable/ClickableWrapper.d.ts +9 -0
  194. package/dist/mocked_classnames/components/ColorPicker/ColorPicker.d.ts +43 -1
  195. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.d.ts +9 -0
  196. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.d.ts +39 -0
  197. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +48 -0
  198. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +33 -1
  199. package/dist/mocked_classnames/components/Combobox/Combobox.d.ts +78 -25
  200. package/dist/mocked_classnames/components/Combobox/components/ComboboxCategory/ComboboxCategory.d.ts +6 -0
  201. package/dist/mocked_classnames/components/Combobox/components/ComboboxConstants.d.ts +156 -0
  202. package/dist/mocked_classnames/components/Combobox/components/ComboboxItems/ComboboxItems.d.ts +45 -0
  203. package/dist/mocked_classnames/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +30 -0
  204. package/dist/mocked_classnames/components/Counter/Counter.d.ts +33 -14
  205. package/dist/mocked_classnames/components/DatePicker/DateNavigationItem/DateNavigationItem.d.ts +6 -0
  206. package/dist/mocked_classnames/components/DatePicker/DatePicker.d.ts +39 -13
  207. package/dist/mocked_classnames/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +18 -0
  208. package/dist/mocked_classnames/components/DatePicker/YearPicker/YearPicker.d.ts +12 -0
  209. package/dist/mocked_classnames/components/DatePicker/YearPicker/YearsList.d.ts +12 -0
  210. package/dist/mocked_classnames/components/DatePicker/types.d.ts +6 -0
  211. package/dist/mocked_classnames/components/Dialog/Dialog.d.ts +59 -36
  212. package/dist/mocked_classnames/components/Dialog/DialogContent/DialogContent.d.ts +52 -3
  213. package/dist/mocked_classnames/components/DialogContentContainer/DialogContentContainer.d.ts +18 -0
  214. package/dist/mocked_classnames/components/Divider/Divider.d.ts +2 -2
  215. package/dist/mocked_classnames/components/Dropdown/Dropdown.types.d.ts +97 -63
  216. package/dist/mocked_classnames/components/EditableHeading/EditableHeading.d.ts +4 -3
  217. package/dist/mocked_classnames/components/EditableText/EditableText.d.ts +6 -4
  218. package/dist/mocked_classnames/components/EditableTypography/EditableTypography.d.ts +48 -16
  219. package/dist/mocked_classnames/components/ExpandCollapse/ExpandCollapse.d.ts +20 -8
  220. package/dist/mocked_classnames/components/FieldLabel/FieldLabel.d.ts +18 -0
  221. package/dist/mocked_classnames/components/Flex/Flex.d.ts +36 -2
  222. package/dist/mocked_classnames/components/FormattedNumber/FormattedNumber.d.ts +8 -8
  223. package/dist/mocked_classnames/components/GridKeyboardNavigationContext/GridKeyboardNavigationContextConstants.d.ts +3 -0
  224. package/dist/mocked_classnames/components/Heading/Heading.d.ts +15 -0
  225. package/dist/mocked_classnames/components/HiddenText/HiddenText.d.ts +3 -0
  226. package/dist/mocked_classnames/components/Icon/CustomSvgIcon/CustomSvgIcon.d.ts +30 -0
  227. package/dist/mocked_classnames/components/Icon/FontIcon/FontIcon.d.ts +18 -0
  228. package/dist/mocked_classnames/components/Icon/Icon.d.ts +32 -8
  229. package/dist/mocked_classnames/components/IconButton/IconButton.d.ts +37 -27
  230. package/dist/mocked_classnames/components/Label/Label.d.ts +22 -1
  231. package/dist/mocked_classnames/components/Label/LabelCelebrationAnimation.d.ts +6 -0
  232. package/dist/mocked_classnames/components/LayerProvider/LayerContext.d.ts +3 -0
  233. package/dist/mocked_classnames/components/LayerProvider/LayerProvider.d.ts +7 -1
  234. package/dist/mocked_classnames/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.d.ts +0 -8
  235. package/dist/mocked_classnames/components/Link/Link.d.ts +40 -14
  236. package/dist/mocked_classnames/components/List/List.d.ts +14 -5
  237. package/dist/mocked_classnames/components/List/VirtualizedListItems/VirtualizedListItems.d.ts +3 -0
  238. package/dist/mocked_classnames/components/ListItem/ListItem.d.ts +12 -25
  239. package/dist/mocked_classnames/components/ListItemAvatar/ListItemAvatar.d.ts +7 -1
  240. package/dist/mocked_classnames/components/ListItemIcon/ListItemIcon.d.ts +5 -2
  241. package/dist/mocked_classnames/components/ListTitle/ListTitle.d.ts +6 -0
  242. package/dist/mocked_classnames/components/Loader/Loader.d.ts +12 -2
  243. package/dist/mocked_classnames/components/Menu/Menu/Menu.d.ts +42 -0
  244. package/dist/mocked_classnames/components/Menu/MenuGridItem/MenuGridItem.d.ts +33 -5
  245. package/dist/mocked_classnames/components/Menu/MenuItem/AvatarMenuItem.d.ts +6 -0
  246. package/dist/mocked_classnames/components/Menu/MenuItem/MenuItem.d.ts +97 -7
  247. package/dist/mocked_classnames/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.types.d.ts +7 -0
  248. package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.types.d.ts +7 -6
  249. package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemSubMenu/MenuItemSubMenu.types.d.ts +7 -3
  250. package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.types.d.ts +5 -1
  251. package/dist/mocked_classnames/components/Menu/MenuItemButton/MenuItemButton.d.ts +51 -0
  252. package/dist/mocked_classnames/components/Menu/MenuTitle/MenuTitle.d.ts +6 -0
  253. package/dist/mocked_classnames/components/MenuButton/MenuButton.d.ts +67 -19
  254. package/dist/mocked_classnames/components/Modal/ModalContent/ModalContent.types.d.ts +1 -1
  255. package/dist/mocked_classnames/components/Modal/ModalMedia/ModalMedia.types.d.ts +1 -1
  256. package/dist/mocked_classnames/components/Modal/ModalTopActions/ModalTopActions.types.d.ts +5 -5
  257. package/dist/mocked_classnames/components/Modal/context/ModalContext.types.d.ts +5 -5
  258. package/dist/mocked_classnames/components/Modal/footers/ModalFooter/ModalFooter.types.d.ts +1 -1
  259. package/dist/mocked_classnames/components/Modal/footers/ModalFooterBase/ModalFooterBase.types.d.ts +3 -3
  260. package/dist/mocked_classnames/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.types.d.ts +4 -4
  261. package/dist/mocked_classnames/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.types.d.ts +1 -1
  262. package/dist/mocked_classnames/components/Modal/layouts/ModalFooterShadow.types.d.ts +1 -1
  263. package/dist/mocked_classnames/components/Modal/layouts/ModalLayoutScrollableContent.types.d.ts +2 -2
  264. package/dist/mocked_classnames/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.types.d.ts +1 -1
  265. package/dist/mocked_classnames/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.types.d.ts +1 -1
  266. package/dist/mocked_classnames/components/MultiStepIndicator/MultiStepIndicator.d.ts +30 -0
  267. package/dist/mocked_classnames/components/MultiStepIndicator/components/StepIndicator/StepIndicator.d.ts +57 -0
  268. package/dist/mocked_classnames/components/ProgressBars/LinearProgressBar/Bar/Bar.d.ts +17 -6
  269. package/dist/mocked_classnames/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +19 -22
  270. package/dist/mocked_classnames/components/ProgressBars/PercentageLabel/PercentageLabel.d.ts +2 -2
  271. package/dist/mocked_classnames/components/RadioButton/RadioButton.d.ts +45 -16
  272. package/dist/mocked_classnames/components/Search/Search.types.d.ts +24 -24
  273. package/dist/mocked_classnames/components/Skeleton/Skeleton.d.ts +16 -1
  274. package/dist/mocked_classnames/components/SlideTransition/SlideTransition.types.d.ts +12 -0
  275. package/dist/mocked_classnames/components/Slider/SelectionIndicator.d.ts +6 -0
  276. package/dist/mocked_classnames/components/Slider/SliderBase/SliderFilledTrack.d.ts +6 -8
  277. package/dist/mocked_classnames/components/Slider/SliderBase/SliderRail.d.ts +6 -4
  278. package/dist/mocked_classnames/components/Slider/SliderBase/SliderThumb.d.ts +9 -7
  279. package/dist/mocked_classnames/components/Slider/SliderBase/SliderTrack.d.ts +1 -2
  280. package/dist/mocked_classnames/components/Slider/SliderContext.d.ts +13 -8
  281. package/dist/mocked_classnames/components/Slider/SliderInfix.d.ts +1 -2
  282. package/dist/mocked_classnames/components/SplitButton/SplitButton.d.ts +25 -2
  283. package/dist/mocked_classnames/components/Steps/Steps.d.ts +32 -2
  284. package/dist/mocked_classnames/components/Steps/StepsCommand.d.ts +21 -0
  285. package/dist/mocked_classnames/components/Steps/StepsDot.d.ts +15 -0
  286. package/dist/mocked_classnames/components/Steps/StepsGalleryHeader.d.ts +15 -0
  287. package/dist/mocked_classnames/components/Steps/StepsHeader.d.ts +33 -0
  288. package/dist/mocked_classnames/components/Steps/StepsNumbersHeader.d.ts +9 -0
  289. package/dist/mocked_classnames/components/Switch/Switch.d.ts +39 -0
  290. package/dist/mocked_classnames/components/Table/Table/Table.d.ts +42 -0
  291. package/dist/mocked_classnames/components/Table/TableBody/TableBody.d.ts +3 -0
  292. package/dist/mocked_classnames/components/Table/TableCell/TableCell.d.ts +6 -0
  293. package/dist/mocked_classnames/components/Table/TableCellSkeleton/TableCellSkeleton.d.ts +6 -0
  294. package/dist/mocked_classnames/components/Table/TableContainer/TableContainer.types.d.ts +6 -0
  295. package/dist/mocked_classnames/components/Table/TableHeader/TableHeader.d.ts +3 -0
  296. package/dist/mocked_classnames/components/Table/TableHeaderCell/TableHeaderCell.d.ts +21 -0
  297. package/dist/mocked_classnames/components/Table/TableRow/TableRow.d.ts +7 -1
  298. package/dist/mocked_classnames/components/Table/TableRowMenu/TableRowMenu.types.d.ts +6 -0
  299. package/dist/mocked_classnames/components/Table/TableVirtualizedBody/TableVirtualizedBody.d.ts +15 -0
  300. package/dist/mocked_classnames/components/Tabs/Tab/Tab.d.ts +27 -3
  301. package/dist/mocked_classnames/components/Tabs/TabList/TabList.d.ts +15 -0
  302. package/dist/mocked_classnames/components/Tabs/TabPanel/TabPanel.d.ts +6 -0
  303. package/dist/mocked_classnames/components/Tabs/TabPanels/TabPanels.d.ts +9 -0
  304. package/dist/mocked_classnames/components/Tabs/TabsContext/TabsContext.d.ts +6 -0
  305. package/dist/mocked_classnames/components/Text/Text.d.ts +9 -0
  306. package/dist/mocked_classnames/components/TextArea/TextArea.types.d.ts +13 -16
  307. package/dist/mocked_classnames/components/TextField/TextField.d.ts +127 -9
  308. package/dist/mocked_classnames/components/TextWithHighlight/TextWithHighlight.d.ts +33 -6
  309. package/dist/mocked_classnames/components/ThemeProvider/ThemeProvider.d.ts +8 -5
  310. package/dist/mocked_classnames/components/Tipseen/Tipseen.d.ts +64 -6
  311. package/dist/mocked_classnames/components/Tipseen/TipseenBasicContent.d.ts +9 -0
  312. package/dist/mocked_classnames/components/Tipseen/TipseenContent.d.ts +25 -1
  313. package/dist/mocked_classnames/components/Tipseen/TipseenImage.d.ts +12 -0
  314. package/dist/mocked_classnames/components/Tipseen/TipseenMedia/TipseenMedia.d.ts +3 -0
  315. package/dist/mocked_classnames/components/Tipseen/TipseenTitle.d.ts +3 -0
  316. package/dist/mocked_classnames/components/Tipseen/TipseenWizard.d.ts +7 -1
  317. package/dist/mocked_classnames/components/Toast/Toast.d.ts +37 -8
  318. package/dist/mocked_classnames/components/Toggle/MockToggle.d.ts +21 -0
  319. package/dist/mocked_classnames/components/Toggle/Toggle.d.ts +37 -1
  320. package/dist/mocked_classnames/components/Toggle/ToggleText.d.ts +6 -0
  321. package/dist/mocked_classnames/components/Tooltip/Tooltip.d.ts +64 -27
  322. package/dist/mocked_classnames/components/TransitionView/TransitionView.types.d.ts +9 -0
  323. package/dist/mocked_classnames/components/Typography/Typography.d.ts +12 -6
  324. package/dist/mocked_classnames/components/VirtualizedGrid/VirtualizedGrid.d.ts +19 -19
  325. package/dist/mocked_classnames/components/VirtualizedList/VirtualizedList.d.ts +33 -27
  326. package/dist/mocked_classnames/hooks/useKeyEvent/index.d.ts +30 -0
  327. package/dist/mocked_classnames/hooks/useSwitch/index.d.ts +12 -0
  328. package/dist/mocked_classnames/hooks/useWizard/useWizard.types.d.ts +33 -0
  329. package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.js.map +1 -1
  330. package/dist/mocked_classnames/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  331. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js.map +1 -1
  332. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js.map +1 -1
  333. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.js.map +1 -1
  334. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerText/AlertBannerText.js.map +1 -1
  335. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js.map +1 -1
  336. package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
  337. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
  338. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
  339. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.js.map +1 -1
  340. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
  341. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +1 -1
  342. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +1 -1
  343. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +1 -1
  344. package/dist/mocked_classnames/src/components/Badge/Badge.js.map +1 -1
  345. package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.js.map +1 -1
  346. package/dist/mocked_classnames/src/components/Box/Box.js.map +1 -1
  347. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.js.map +1 -1
  348. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  349. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
  350. package/dist/mocked_classnames/src/components/Button/Button.js +1 -1
  351. package/dist/mocked_classnames/src/components/Button/Button.js.map +1 -1
  352. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
  353. package/dist/mocked_classnames/src/components/ButtonGroup/ButtonWrapper.js.map +1 -1
  354. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js.map +1 -1
  355. package/dist/mocked_classnames/src/components/Chips/Chips.js.map +1 -1
  356. package/dist/mocked_classnames/src/components/Clickable/Clickable.js.map +1 -1
  357. package/dist/mocked_classnames/src/components/Clickable/ClickableWrapper.js.map +1 -1
  358. package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js.map +1 -1
  359. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
  360. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
  361. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
  362. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
  363. package/dist/mocked_classnames/src/components/Combobox/Combobox.js.map +1 -1
  364. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.js.map +1 -1
  365. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxConstants.js.map +1 -1
  366. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxItems/ComboboxItems.js.map +1 -1
  367. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
  368. package/dist/mocked_classnames/src/components/Counter/Counter.js.map +1 -1
  369. package/dist/mocked_classnames/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js.map +1 -1
  370. package/dist/mocked_classnames/src/components/DatePicker/DatePicker.js.map +1 -1
  371. package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js.map +1 -1
  372. package/dist/mocked_classnames/src/components/DatePicker/YearPicker/YearPicker.js.map +1 -1
  373. package/dist/mocked_classnames/src/components/DatePicker/YearPicker/YearsList.js.map +1 -1
  374. package/dist/mocked_classnames/src/components/DatePicker/types.js.map +1 -1
  375. package/dist/mocked_classnames/src/components/Dialog/Dialog.js.map +1 -1
  376. package/dist/mocked_classnames/src/components/Dialog/DialogContent/DialogContent.js.map +1 -1
  377. package/dist/mocked_classnames/src/components/DialogContentContainer/DialogContentContainer.js.map +1 -1
  378. package/dist/mocked_classnames/src/components/Divider/Divider.js.map +1 -1
  379. package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js +1 -1
  380. package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js.map +1 -1
  381. package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.js.map +1 -1
  382. package/dist/mocked_classnames/src/components/EditableText/EditableText.js.map +1 -1
  383. package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.js.map +1 -1
  384. package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  385. package/dist/mocked_classnames/src/components/FieldLabel/FieldLabel.js.map +1 -1
  386. package/dist/mocked_classnames/src/components/Flex/Flex.js.map +1 -1
  387. package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumber.js.map +1 -1
  388. package/dist/mocked_classnames/src/components/Heading/Heading.js.map +1 -1
  389. package/dist/mocked_classnames/src/components/HiddenText/HiddenText.js.map +1 -1
  390. package/dist/mocked_classnames/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js.map +1 -1
  391. package/dist/mocked_classnames/src/components/Icon/FontIcon/FontIcon.js.map +1 -1
  392. package/dist/mocked_classnames/src/components/Icon/Icon.js.map +1 -1
  393. package/dist/mocked_classnames/src/components/IconButton/IconButton.js.map +1 -1
  394. package/dist/mocked_classnames/src/components/Label/Label.js.map +1 -1
  395. package/dist/mocked_classnames/src/components/Label/LabelCelebrationAnimation.js.map +1 -1
  396. package/dist/mocked_classnames/src/components/LayerProvider/LayerContext.js.map +1 -1
  397. package/dist/mocked_classnames/src/components/LayerProvider/LayerProvider.js.map +1 -1
  398. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js.map +1 -1
  399. package/dist/mocked_classnames/src/components/Link/Link.js.map +1 -1
  400. package/dist/mocked_classnames/src/components/List/List.js.map +1 -1
  401. package/dist/mocked_classnames/src/components/List/VirtualizedListItems/VirtualizedListItems.js.map +1 -1
  402. package/dist/mocked_classnames/src/components/ListItem/ListItem.js.map +1 -1
  403. package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
  404. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
  405. package/dist/mocked_classnames/src/components/ListTitle/ListTitle.js.map +1 -1
  406. package/dist/mocked_classnames/src/components/Loader/Loader.js.map +1 -1
  407. package/dist/mocked_classnames/src/components/Menu/Menu/Menu.js.map +1 -1
  408. package/dist/mocked_classnames/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
  409. package/dist/mocked_classnames/src/components/Menu/MenuItem/AvatarMenuItem.js.map +1 -1
  410. package/dist/mocked_classnames/src/components/Menu/MenuItem/MenuItem.js.map +1 -1
  411. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  412. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
  413. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js.map +1 -1
  414. package/dist/mocked_classnames/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js +1 -1
  415. package/dist/mocked_classnames/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js.map +1 -1
  416. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
  417. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
  418. package/dist/mocked_classnames/src/components/ProgressBars/LinearProgressBar/Bar/Bar.js.map +1 -1
  419. package/dist/mocked_classnames/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.js.map +1 -1
  420. package/dist/mocked_classnames/src/components/ProgressBars/PercentageLabel/PercentageLabel.js.map +1 -1
  421. package/dist/mocked_classnames/src/components/RadioButton/RadioButton.js.map +1 -1
  422. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +1 -1
  423. package/dist/mocked_classnames/src/components/Slider/SelectionIndicator.js.map +1 -1
  424. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
  425. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
  426. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
  427. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
  428. package/dist/mocked_classnames/src/components/Slider/SliderContext.js.map +1 -1
  429. package/dist/mocked_classnames/src/components/Slider/SliderInfix.js.map +1 -1
  430. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
  431. package/dist/mocked_classnames/src/components/Steps/Steps.js.map +1 -1
  432. package/dist/mocked_classnames/src/components/Steps/StepsCommand.js.map +1 -1
  433. package/dist/mocked_classnames/src/components/Steps/StepsDot.js.map +1 -1
  434. package/dist/mocked_classnames/src/components/Steps/StepsGalleryHeader.js.map +1 -1
  435. package/dist/mocked_classnames/src/components/Steps/StepsHeader.js.map +1 -1
  436. package/dist/mocked_classnames/src/components/Steps/StepsNumbersHeader.js.map +1 -1
  437. package/dist/mocked_classnames/src/components/Switch/Switch.js.map +1 -1
  438. package/dist/mocked_classnames/src/components/Table/Table/Table.js.map +1 -1
  439. package/dist/mocked_classnames/src/components/Table/TableBody/TableBody.js.map +1 -1
  440. package/dist/mocked_classnames/src/components/Table/TableCell/TableCell.js.map +1 -1
  441. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
  442. package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.js.map +1 -1
  443. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
  444. package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.js.map +1 -1
  445. package/dist/mocked_classnames/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.js.map +1 -1
  446. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js.map +1 -1
  447. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js.map +1 -1
  448. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
  449. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
  450. package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  451. package/dist/mocked_classnames/src/components/Text/Text.js.map +1 -1
  452. package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
  453. package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
  454. package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
  455. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js.map +1 -1
  456. package/dist/mocked_classnames/src/components/Tipseen/TipseenBasicContent.js.map +1 -1
  457. package/dist/mocked_classnames/src/components/Tipseen/TipseenContent.js.map +1 -1
  458. package/dist/mocked_classnames/src/components/Tipseen/TipseenImage.js.map +1 -1
  459. package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
  460. package/dist/mocked_classnames/src/components/Tipseen/TipseenTitle.js.map +1 -1
  461. package/dist/mocked_classnames/src/components/Tipseen/TipseenWizard.js.map +1 -1
  462. package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
  463. package/dist/mocked_classnames/src/components/Toggle/MockToggle.js.map +1 -1
  464. package/dist/mocked_classnames/src/components/Toggle/Toggle.js.map +1 -1
  465. package/dist/mocked_classnames/src/components/Toggle/ToggleText.js.map +1 -1
  466. package/dist/mocked_classnames/src/components/Tooltip/Tooltip.js.map +1 -1
  467. package/dist/mocked_classnames/src/components/Typography/Typography.js.map +1 -1
  468. package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
  469. package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
  470. package/dist/mocked_classnames/src/hooks/useKeyEvent/index.js.map +1 -1
  471. package/dist/mocked_classnames/src/hooks/useSwitch/index.js.map +1 -1
  472. package/dist/mocked_classnames/types/VibeComponentProps.d.ts +9 -0
  473. package/dist/src/components/Accordion/Accordion/Accordion.js.map +1 -1
  474. package/dist/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  475. package/dist/src/components/AlertBanner/AlertBanner.js.map +1 -1
  476. package/dist/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js.map +1 -1
  477. package/dist/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.js.map +1 -1
  478. package/dist/src/components/AlertBanner/AlertBannerText/AlertBannerText.js.map +1 -1
  479. package/dist/src/components/AttentionBox/AttentionBox.js.map +1 -1
  480. package/dist/src/components/Avatar/Avatar.js.map +1 -1
  481. package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
  482. package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
  483. package/dist/src/components/AvatarGroup/AvatarGroup.js.map +1 -1
  484. package/dist/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
  485. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +1 -1
  486. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +1 -1
  487. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +1 -1
  488. package/dist/src/components/Badge/Badge.js.map +1 -1
  489. package/dist/src/components/Badge/Indicator/Indicator.js.map +1 -1
  490. package/dist/src/components/Box/Box.js.map +1 -1
  491. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.js.map +1 -1
  492. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  493. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
  494. package/dist/src/components/Button/Button.js +1 -1
  495. package/dist/src/components/Button/Button.js.map +1 -1
  496. package/dist/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
  497. package/dist/src/components/ButtonGroup/ButtonWrapper.js.map +1 -1
  498. package/dist/src/components/Checkbox/Checkbox.js.map +1 -1
  499. package/dist/src/components/Chips/Chips.js.map +1 -1
  500. package/dist/src/components/Clickable/Clickable.js.map +1 -1
  501. package/dist/src/components/Clickable/ClickableWrapper.js.map +1 -1
  502. package/dist/src/components/ColorPicker/ColorPicker.js.map +1 -1
  503. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
  504. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
  505. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
  506. package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
  507. package/dist/src/components/Combobox/Combobox.js.map +1 -1
  508. package/dist/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.js.map +1 -1
  509. package/dist/src/components/Combobox/components/ComboboxConstants.js.map +1 -1
  510. package/dist/src/components/Combobox/components/ComboboxItems/ComboboxItems.js.map +1 -1
  511. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
  512. package/dist/src/components/Counter/Counter.js.map +1 -1
  513. package/dist/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js.map +1 -1
  514. package/dist/src/components/DatePicker/DatePicker.js.map +1 -1
  515. package/dist/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js.map +1 -1
  516. package/dist/src/components/DatePicker/YearPicker/YearPicker.js.map +1 -1
  517. package/dist/src/components/DatePicker/YearPicker/YearsList.js.map +1 -1
  518. package/dist/src/components/DatePicker/types.js.map +1 -1
  519. package/dist/src/components/Dialog/Dialog.js.map +1 -1
  520. package/dist/src/components/Dialog/DialogContent/DialogContent.js.map +1 -1
  521. package/dist/src/components/DialogContentContainer/DialogContentContainer.js.map +1 -1
  522. package/dist/src/components/Divider/Divider.js.map +1 -1
  523. package/dist/src/components/Dropdown/Dropdown.js +1 -1
  524. package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
  525. package/dist/src/components/EditableHeading/EditableHeading.js.map +1 -1
  526. package/dist/src/components/EditableText/EditableText.js.map +1 -1
  527. package/dist/src/components/EditableTypography/EditableTypography.js.map +1 -1
  528. package/dist/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  529. package/dist/src/components/FieldLabel/FieldLabel.js.map +1 -1
  530. package/dist/src/components/Flex/Flex.js.map +1 -1
  531. package/dist/src/components/FormattedNumber/FormattedNumber.js.map +1 -1
  532. package/dist/src/components/Heading/Heading.js.map +1 -1
  533. package/dist/src/components/HiddenText/HiddenText.js.map +1 -1
  534. package/dist/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js.map +1 -1
  535. package/dist/src/components/Icon/FontIcon/FontIcon.js.map +1 -1
  536. package/dist/src/components/Icon/Icon.js.map +1 -1
  537. package/dist/src/components/IconButton/IconButton.js.map +1 -1
  538. package/dist/src/components/Label/Label.js.map +1 -1
  539. package/dist/src/components/Label/LabelCelebrationAnimation.js.map +1 -1
  540. package/dist/src/components/LayerProvider/LayerContext.js.map +1 -1
  541. package/dist/src/components/LayerProvider/LayerProvider.js.map +1 -1
  542. package/dist/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js.map +1 -1
  543. package/dist/src/components/Link/Link.js.map +1 -1
  544. package/dist/src/components/List/List.js.map +1 -1
  545. package/dist/src/components/List/VirtualizedListItems/VirtualizedListItems.js.map +1 -1
  546. package/dist/src/components/ListItem/ListItem.js.map +1 -1
  547. package/dist/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
  548. package/dist/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
  549. package/dist/src/components/ListTitle/ListTitle.js.map +1 -1
  550. package/dist/src/components/Loader/Loader.js.map +1 -1
  551. package/dist/src/components/Menu/Menu/Menu.js.map +1 -1
  552. package/dist/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
  553. package/dist/src/components/Menu/MenuItem/AvatarMenuItem.js.map +1 -1
  554. package/dist/src/components/Menu/MenuItem/MenuItem.js.map +1 -1
  555. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  556. package/dist/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
  557. package/dist/src/components/MenuButton/MenuButton.js.map +1 -1
  558. package/dist/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js +1 -1
  559. package/dist/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js.map +1 -1
  560. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
  561. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
  562. package/dist/src/components/ProgressBars/LinearProgressBar/Bar/Bar.js.map +1 -1
  563. package/dist/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.js.map +1 -1
  564. package/dist/src/components/ProgressBars/PercentageLabel/PercentageLabel.js.map +1 -1
  565. package/dist/src/components/RadioButton/RadioButton.js.map +1 -1
  566. package/dist/src/components/Skeleton/Skeleton.js.map +1 -1
  567. package/dist/src/components/Slider/SelectionIndicator.js.map +1 -1
  568. package/dist/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
  569. package/dist/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
  570. package/dist/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
  571. package/dist/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
  572. package/dist/src/components/Slider/SliderContext.js.map +1 -1
  573. package/dist/src/components/Slider/SliderInfix.js.map +1 -1
  574. package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
  575. package/dist/src/components/Steps/Steps.js.map +1 -1
  576. package/dist/src/components/Steps/StepsCommand.js.map +1 -1
  577. package/dist/src/components/Steps/StepsDot.js.map +1 -1
  578. package/dist/src/components/Steps/StepsGalleryHeader.js.map +1 -1
  579. package/dist/src/components/Steps/StepsHeader.js.map +1 -1
  580. package/dist/src/components/Steps/StepsNumbersHeader.js.map +1 -1
  581. package/dist/src/components/Switch/Switch.js.map +1 -1
  582. package/dist/src/components/Table/Table/Table.js.map +1 -1
  583. package/dist/src/components/Table/TableBody/TableBody.js.map +1 -1
  584. package/dist/src/components/Table/TableCell/TableCell.js.map +1 -1
  585. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
  586. package/dist/src/components/Table/TableHeader/TableHeader.js.map +1 -1
  587. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
  588. package/dist/src/components/Table/TableRow/TableRow.js.map +1 -1
  589. package/dist/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.js.map +1 -1
  590. package/dist/src/components/Tabs/Tab/Tab.js.map +1 -1
  591. package/dist/src/components/Tabs/TabList/TabList.js.map +1 -1
  592. package/dist/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
  593. package/dist/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
  594. package/dist/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  595. package/dist/src/components/Text/Text.js.map +1 -1
  596. package/dist/src/components/TextField/TextField.js.map +1 -1
  597. package/dist/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
  598. package/dist/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
  599. package/dist/src/components/Tipseen/Tipseen.js.map +1 -1
  600. package/dist/src/components/Tipseen/TipseenBasicContent.js.map +1 -1
  601. package/dist/src/components/Tipseen/TipseenContent.js.map +1 -1
  602. package/dist/src/components/Tipseen/TipseenImage.js.map +1 -1
  603. package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
  604. package/dist/src/components/Tipseen/TipseenTitle.js.map +1 -1
  605. package/dist/src/components/Tipseen/TipseenWizard.js.map +1 -1
  606. package/dist/src/components/Toast/Toast.js.map +1 -1
  607. package/dist/src/components/Toggle/MockToggle.js.map +1 -1
  608. package/dist/src/components/Toggle/Toggle.js.map +1 -1
  609. package/dist/src/components/Toggle/ToggleText.js.map +1 -1
  610. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  611. package/dist/src/components/Typography/Typography.js.map +1 -1
  612. package/dist/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
  613. package/dist/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
  614. package/dist/src/hooks/useKeyEvent/index.js.map +1 -1
  615. package/dist/src/hooks/useSwitch/index.js.map +1 -1
  616. package/dist/types/VibeComponentProps.d.ts +9 -0
  617. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sources":["../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, {\n ChangeEvent,\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\nimport useDebounceEvent from \"../../hooks/useDebounceEvent\";\nimport Icon from \"../Icon/Icon\";\nimport Loader from \"../Loader/Loader\";\nimport Text from \"../Text/Text\";\nimport FieldLabel from \"../FieldLabel/FieldLabel\";\nimport {\n FEEDBACK_CLASSES,\n SIZE_MAPPER,\n TextFieldAriaLabel,\n TextFieldFeedbackState as TextFieldFeedbackStateEnum,\n TextFieldTextType as TextFieldTextTypeEnum\n} from \"./TextFieldConstants\";\nimport { TextFieldType, TextFieldSize } from \"./TextField.types\";\nimport { BASE_SIZES } from \"../../constants/sizes\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport Clickable from \"../../components/Clickable/Clickable\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../tests/constants\";\nimport { VibeComponentProps, VibeComponent, withStaticProps } from \"../../types\";\nimport styles from \"./TextField.module.scss\";\nimport { Tooltip } from \"../Tooltip\";\nimport { HiddenText } from \"../HiddenText\";\n\nconst EMPTY_OBJECT = { primary: \"\", secondary: \"\" };\n\nexport interface TextFieldProps extends VibeComponentProps {\n placeholder?: string;\n /** See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete for all of the available options */\n autoComplete?: string;\n value?: string;\n onChange?: (\n value: string,\n event: React.ChangeEvent<HTMLInputElement> | Pick<React.ChangeEvent<HTMLInputElement>, \"target\">\n ) => void;\n onBlur?: (event: React.FocusEvent) => void;\n onFocus?: (event: React.FocusEvent) => void;\n onKeyDown?: (event: React.KeyboardEvent) => void;\n onWheel?: (event: React.WheelEvent) => void;\n debounceRate?: number;\n autoFocus?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n setRef?: (node: HTMLElement) => void;\n iconName?: string | React.FunctionComponent | null;\n secondaryIconName?: string | React.FunctionComponent | null;\n title?: string;\n /** SIZES is exposed on the component itself */\n size?: TextFieldSize;\n /** Don't provide status for plain assistant text */\n validation?: { status?: \"error\" | \"success\"; text?: string }; // TODO make common validation class?\n wrapperClassName?: string;\n onIconClick?: (icon: string | React.FunctionComponent | null) => void;\n clearOnIconClick?: boolean;\n labelIconName?: string | React.FunctionComponent | null;\n showCharCount?: boolean;\n inputAriaLabel?: string;\n searchResultsContainerId?: string;\n activeDescendant?: string;\n /** Icon names labels for a11y */\n iconsNames?: {\n primary: string;\n secondary: string;\n };\n /** TEXT_TYPES is exposed on the component itself */\n type?: TextFieldType;\n maxLength?: number;\n allowExceedingMaxLength?: boolean;\n trim?: boolean;\n /** ARIA role for container landmark */\n role?: string;\n /** adds required to the input element */\n required?: boolean;\n requiredErrorText?: string;\n /** shows loading animation */\n loading?: boolean;\n secondaryDataTestId?: string;\n tabIndex?: number;\n name?: string;\n underline?: boolean;\n /**\n * When true, component is controlled by an external state\n */\n controlled?: boolean;\n iconTooltipContent?: string;\n secondaryTooltipContent?: string;\n dir?: \"ltr\" | \"rtl\" | \"auto\";\n}\n\nconst TextField: VibeComponent<TextFieldProps, unknown> & {\n sizes?: typeof BASE_SIZES;\n types?: typeof TextFieldTextTypeEnum;\n feedbacks?: typeof TextFieldFeedbackStateEnum;\n} = forwardRef(\n (\n {\n className = \"\",\n placeholder = \"\",\n autoComplete = \"off\",\n value,\n onChange = NOOP,\n onBlur = NOOP,\n onFocus = NOOP,\n onKeyDown = NOOP,\n onWheel = NOOP,\n debounceRate = 0,\n autoFocus = false,\n disabled = false,\n readonly = false,\n setRef = NOOP,\n iconName,\n secondaryIconName,\n id = \"input\",\n title = \"\",\n size = \"small\",\n validation = null,\n wrapperClassName = \"\",\n onIconClick = NOOP,\n clearOnIconClick = false,\n labelIconName,\n showCharCount = false,\n inputAriaLabel,\n searchResultsContainerId = \"\",\n activeDescendant = \"\",\n iconsNames = EMPTY_OBJECT,\n type = \"text\",\n maxLength = null,\n allowExceedingMaxLength = false,\n trim = false,\n role = \"\",\n required = false,\n requiredErrorText = \"\",\n loading = false,\n \"data-testid\": dataTestId,\n secondaryDataTestId,\n tabIndex,\n underline = false,\n name,\n controlled = false,\n iconTooltipContent,\n secondaryTooltipContent,\n dir\n }: TextFieldProps,\n ref\n ) => {\n const [isRequiredAndEmpty, setIsRequiredAndEmpty] = useState(false);\n\n const inputRef = useRef(null);\n const mergedRef = useMergeRef(ref, inputRef, setRef);\n\n const onBlurCallback = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (required && !e.target.value) {\n setIsRequiredAndEmpty(true);\n }\n onBlur(e);\n },\n [onBlur, required]\n );\n\n const onChangeCallback = useCallback(\n (value: string, e?: React.ChangeEvent<HTMLInputElement>) => {\n if (isRequiredAndEmpty && value) {\n setIsRequiredAndEmpty(false);\n }\n const event = e || { target: inputRef.current };\n onChange(value, event);\n },\n [onChange, isRequiredAndEmpty]\n );\n\n const {\n inputValue: uncontrolledInput,\n onEventChanged,\n clearValue\n } = useDebounceEvent({\n delay: debounceRate,\n onChange: onChangeCallback,\n initialStateValue: value,\n trim\n });\n\n const inputValue = useMemo(() => {\n return controlled ? value : uncontrolledInput;\n }, [controlled, value, uncontrolledInput]);\n\n const handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n event => {\n controlled ? onChangeCallback(event.target.value, event) : onEventChanged(event);\n },\n [controlled, onChangeCallback, onEventChanged]\n );\n\n const currentStateIconName = useMemo(() => {\n if (secondaryIconName) {\n return inputValue ? secondaryIconName : iconName;\n }\n return iconName;\n }, [iconName, secondaryIconName, inputValue]);\n\n const onIconClickCallback = useCallback(() => {\n if (disabled) {\n return;\n }\n\n if (clearOnIconClick) {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n // Do it cause otherwise the value is not cleared in target object\n inputRef.current.value = \"\";\n controlled ? onChangeCallback(\"\") : clearValue();\n }\n onIconClick(currentStateIconName);\n }, [disabled, clearOnIconClick, onIconClick, currentStateIconName, controlled, onChangeCallback, clearValue]);\n\n const validationClass = useMemo(() => {\n if (typeof maxLength === \"number\" && inputValue && inputValue.length > maxLength) {\n return FEEDBACK_CLASSES.error;\n }\n\n if ((!validation || !validation.status) && !isRequiredAndEmpty) {\n return \"\";\n }\n const status = isRequiredAndEmpty ? \"error\" : validation.status;\n return FEEDBACK_CLASSES[status];\n }, [maxLength, validation, isRequiredAndEmpty, inputValue]);\n\n const hasIcon = iconName || secondaryIconName;\n const shouldShowExtraText = showCharCount || (validation && validation.text) || isRequiredAndEmpty;\n const isSecondary = secondaryIconName === currentStateIconName;\n const isPrimary = iconName === currentStateIconName;\n const shouldFocusOnPrimaryIcon =\n (onIconClick !== NOOP || iconsNames.primary || iconTooltipContent) && inputValue && iconName.length && isPrimary;\n const shouldFocusOnSecondaryIcon = (secondaryIconName || secondaryTooltipContent) && isSecondary && !!inputValue;\n const allowExceedingMaxLengthTextId = allowExceedingMaxLength ? `${id}-allow-exceeding-max-length-text` : undefined;\n\n useEffect(() => {\n if (!inputRef?.current || !autoFocus) {\n return;\n }\n\n const animationFrame = requestAnimationFrame(() => inputRef.current.focus());\n return () => cancelAnimationFrame(animationFrame);\n }, [inputRef, autoFocus]);\n\n const isIconContainerClickable = onIconClick !== NOOP || clearOnIconClick;\n\n const primaryIconLabel = iconsNames.primary || iconTooltipContent;\n const secondaryIconLabel = iconsNames.secondary || secondaryTooltipContent;\n\n return (\n <div\n className={cx(styles.textField, wrapperClassName, {\n [styles.disabled]: disabled,\n [styles.onlyUnderline]: underline\n })}\n role={role}\n aria-busy={loading}\n >\n <div className={cx(styles.labelWrapper)}>\n <FieldLabel labelText={title} icon={labelIconName} labelFor={id} required={required} />\n <div className={cx(styles.inputWrapper, SIZE_MAPPER[size], validationClass)}>\n {/*Programatical input (tabIndex={-1}) is working fine with aria-activedescendant attribute despite the rule*/}\n {/*eslint-disable-next-line jsx-a11y/aria-activedescendant-has-tabindex*/}\n <input\n className={cx(className, styles.input, {\n [styles.inputHasIcon]: !!hasIcon,\n [styles.readOnly]: readonly\n })}\n placeholder={placeholder}\n autoComplete={autoComplete}\n value={inputValue}\n onChange={handleChange}\n disabled={disabled}\n readOnly={readonly}\n ref={mergedRef}\n type={type}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TEXT_FIELD, id)}\n data-vibe={ComponentVibeId.TEXT_FIELD}\n name={name}\n onBlur={onBlurCallback}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n onWheel={onWheel}\n maxLength={typeof maxLength === \"number\" && !allowExceedingMaxLength ? maxLength : undefined}\n role={searchResultsContainerId && \"combobox\"} // For voice reader\n aria-label={inputAriaLabel || placeholder}\n aria-invalid={(validation && validation.status === \"error\") || isRequiredAndEmpty}\n aria-owns={searchResultsContainerId}\n aria-activedescendant={activeDescendant}\n aria-required={required}\n aria-describedby={allowExceedingMaxLengthTextId}\n required={required}\n tabIndex={tabIndex}\n dir={dir}\n />\n {loading && (\n <div\n className={cx(styles.loaderContainer, {\n [styles.loaderContainerHasIcon]: hasIcon\n })}\n >\n <div className={cx(styles.loader)}>\n <Loader className={cx(styles.loaderSvg)} />\n </div>\n </div>\n )}\n <Tooltip\n content={isPrimary ? iconTooltipContent : undefined}\n referenceWrapperClassName={styles.tooltipContainer}\n >\n <Clickable\n className={cx(styles.iconContainer, {\n [styles.iconContainerHasIcon]: hasIcon,\n [styles.iconContainerActive]: isPrimary,\n [styles.iconContainerClickable]: isIconContainerClickable\n })}\n onClick={onIconClickCallback}\n tabIndex={shouldFocusOnPrimaryIcon ? \"0\" : \"-1\"}\n ariaLabel={primaryIconLabel}\n >\n <Icon\n icon={iconName}\n className={cx(styles.icon)}\n iconType=\"font\"\n iconSize={size === \"small\" ? \"16px\" : \"18px\"}\n />\n </Clickable>\n </Tooltip>\n <Tooltip\n content={isSecondary ? secondaryTooltipContent : undefined}\n addKeyboardHideShowTriggersByDefault\n referenceWrapperClassName={styles.tooltipContainer}\n >\n <Clickable\n className={cx(styles.iconContainer, {\n [styles.iconContainerHasIcon]: hasIcon,\n [styles.iconContainerActive]: isSecondary,\n [styles.iconContainerClickable]: isIconContainerClickable\n })}\n onClick={onIconClickCallback}\n tabIndex={shouldFocusOnSecondaryIcon ? \"0\" : \"-1\"}\n data-testid={secondaryDataTestId || getTestId(ComponentDefaultTestId.TEXT_FIELD_SECONDARY_BUTTON, id)}\n ariaLabel={secondaryIconLabel}\n >\n <Icon\n icon={secondaryIconName}\n className={cx(styles.icon)}\n iconType=\"font\"\n iconSize={size === \"small\" ? \"16px\" : \"18px\"}\n />\n </Clickable>\n </Tooltip>\n </div>\n {shouldShowExtraText && (\n <Text type=\"text2\" color=\"secondary\" className={cx(styles.subTextContainer)}>\n {validation && validation.text && (\n <span className={cx(styles.subTextContainerStatus)}>\n {isRequiredAndEmpty ? requiredErrorText : validation.text}\n </span>\n )}\n {showCharCount && (\n <span className={cx(styles.counter)} aria-label={TextFieldAriaLabel.CHAR}>\n {(inputValue && inputValue.length) || 0}\n {typeof maxLength === \"number\" && `/${maxLength}`}\n <HiddenText id={allowExceedingMaxLengthTextId} text={`Maximum of ${maxLength} characters`} />\n </span>\n )}\n </Text>\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default withStaticProps(TextField, {\n sizes: BASE_SIZES,\n feedbacks: TextFieldFeedbackStateEnum,\n types: TextFieldTextTypeEnum\n});\n"],"names":["EMPTY_OBJECT","primary","secondary","withStaticProps","forwardRef","_ref","ref","_ref$className","className","_ref$placeholder","placeholder","_ref$autoComplete","autoComplete","value","_ref$onChange","onChange","NOOP","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onKeyDown","onKeyDown","_ref$onWheel","onWheel","_ref$debounceRate","debounceRate","_ref$autoFocus","autoFocus","_ref$disabled","disabled","_ref$readonly","readonly","_ref$setRef","setRef","iconName","secondaryIconName","_ref$id","id","_ref$title","title","_ref$size","size","_ref$validation","validation","_ref$wrapperClassName","wrapperClassName","_ref$onIconClick","onIconClick","_ref$clearOnIconClick","clearOnIconClick","labelIconName","_ref$showCharCount","showCharCount","inputAriaLabel","_ref$searchResultsCon","searchResultsContainerId","_ref$activeDescendant","activeDescendant","_ref$iconsNames","iconsNames","_ref$type","type","_ref$maxLength","maxLength","_ref$allowExceedingMa","allowExceedingMaxLength","_ref$trim","trim","_ref$role","role","_ref$required","required","_ref$requiredErrorTex","requiredErrorText","_ref$loading","loading","dataTestId","secondaryDataTestId","tabIndex","_ref$underline","underline","name","_ref$controlled","controlled","iconTooltipContent","secondaryTooltipContent","dir","_useState","useState","_useState2","_slicedToArray","isRequiredAndEmpty","setIsRequiredAndEmpty","inputRef","useRef","mergedRef","useMergeRef","onBlurCallback","useCallback","e","target","onChangeCallback","current","_useDebounceEvent","useDebounceEvent","delay","initialStateValue","uncontrolledInput","inputValue","onEventChanged","clearValue","useMemo","handleChange","event","currentStateIconName","onIconClickCallback","focus","validationClass","length","FEEDBACK_CLASSES","error","status","hasIcon","shouldShowExtraText","text","isSecondary","isPrimary","shouldFocusOnPrimaryIcon","shouldFocusOnSecondaryIcon","allowExceedingMaxLengthTextId","concat","undefined","useEffect","animationFrame","requestAnimationFrame","cancelAnimationFrame","isIconContainerClickable","primaryIconLabel","secondaryIconLabel","React","createElement","cx","styles","textField","_defineProperty","onlyUnderline","labelWrapper","FieldLabel","labelText","icon","labelFor","inputWrapper","SIZE_MAPPER","input","inputHasIcon","readOnly","getTestId","ComponentDefaultTestId","TEXT_FIELD","ComponentVibeId","loaderContainer","loaderContainerHasIcon","loader","Loader","loaderSvg","Tooltip","content","referenceWrapperClassName","tooltipContainer","Clickable","iconContainer","iconContainerHasIcon","iconContainerActive","iconContainerClickable","onClick","ariaLabel","Icon","iconType","iconSize","addKeyboardHideShowTriggersByDefault","TEXT_FIELD_SECONDARY_BUTTON","Text","color","subTextContainer","subTextContainerStatus","counter","TextFieldAriaLabel","CHAR","HiddenText","sizes","BASE_SIZES","feedbacks","TextFieldFeedbackStateEnum","types","TextFieldTextTypeEnum"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","sources":["../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, {\n ChangeEvent,\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\nimport useDebounceEvent from \"../../hooks/useDebounceEvent\";\nimport Icon from \"../Icon/Icon\";\nimport Loader from \"../Loader/Loader\";\nimport Text from \"../Text/Text\";\nimport FieldLabel from \"../FieldLabel/FieldLabel\";\nimport {\n FEEDBACK_CLASSES,\n SIZE_MAPPER,\n TextFieldAriaLabel,\n TextFieldFeedbackState as TextFieldFeedbackStateEnum,\n TextFieldTextType as TextFieldTextTypeEnum\n} from \"./TextFieldConstants\";\nimport { TextFieldType, TextFieldSize } from \"./TextField.types\";\nimport { BASE_SIZES } from \"../../constants/sizes\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport Clickable from \"../../components/Clickable/Clickable\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../tests/constants\";\nimport { VibeComponentProps, VibeComponent, withStaticProps } from \"../../types\";\nimport styles from \"./TextField.module.scss\";\nimport { Tooltip } from \"../Tooltip\";\nimport { HiddenText } from \"../HiddenText\";\n\nconst EMPTY_OBJECT = { primary: \"\", secondary: \"\" };\n\nexport interface TextFieldProps extends VibeComponentProps {\n /**\n * The placeholder text displayed when the input is empty.\n */\n placeholder?: string;\n /**\n * Configures the browser's autocomplete behavior.\n */\n autoComplete?: string;\n /**\n * The current value of the text field.\n */\n value?: string;\n /**\n * Callback fired when the text field value changes.\n */\n onChange?: (\n value: string,\n event: React.ChangeEvent<HTMLInputElement> | Pick<React.ChangeEvent<HTMLInputElement>, \"target\">\n ) => void;\n /**\n * Callback fired when the text field loses focus.\n */\n onBlur?: (event: React.FocusEvent) => void;\n /**\n * Callback fired when the text field gains focus.\n */\n onFocus?: (event: React.FocusEvent) => void;\n /**\n * Callback fired when a key is pressed inside the text field.\n */\n onKeyDown?: (event: React.KeyboardEvent) => void;\n /**\n * Callback fired when the mouse wheel is used inside the text field.\n */\n onWheel?: (event: React.WheelEvent) => void;\n /**\n * The debounce rate for input value changes.\n */\n debounceRate?: number;\n /**\n * If true, the input is automatically focused on mount.\n */\n autoFocus?: boolean;\n /**\n * If true, disables the text field.\n */\n disabled?: boolean;\n /**\n * If true, makes the text field read-only.\n */\n readonly?: boolean;\n /**\n * A function to set a reference to the input element.\n */\n setRef?: (node: HTMLElement) => void;\n /**\n * The primary icon displayed inside the text field.\n */\n iconName?: string | React.FunctionComponent | null;\n /**\n * The secondary icon displayed inside the text field.\n */\n secondaryIconName?: string | React.FunctionComponent | null;\n /**\n * The label displayed above the text field.\n */\n title?: string;\n /**\n * The size of the text field.\n */\n size?: TextFieldSize;\n /**\n * Validation state for the text field.\n */\n validation?: { status?: \"error\" | \"success\"; text?: string };\n /**\n * Class name applied to the text field wrapper.\n */\n wrapperClassName?: string;\n /**\n * Callback fired when the icon inside the text field is clicked.\n */\n onIconClick?: (icon: string | React.FunctionComponent | null) => void;\n /**\n * If true, clears the input when the icon is clicked.\n */\n clearOnIconClick?: boolean;\n /**\n * The icon displayed inside the label.\n */\n labelIconName?: string | React.FunctionComponent | null;\n /**\n * If true, displays the character count.\n */\n showCharCount?: boolean;\n /**\n * The ARIA label for the input field.\n */\n inputAriaLabel?: string;\n /**\n * The ID of the container where search results are displayed.\n */\n searchResultsContainerId?: string;\n /**\n * The ID of the currently active search result.\n */\n activeDescendant?: string;\n /**\n * Icon labels for accessibility.\n */\n iconsNames?: {\n primary: string;\n secondary: string;\n };\n /**\n * The type of the text field.\n */\n type?: TextFieldType;\n /**\n * The maximum number of characters allowed.\n */\n maxLength?: number;\n /**\n * If true, allows the user to exceed the character limit set by `maxLength`.\n */\n allowExceedingMaxLength?: boolean;\n /**\n * If true, trims whitespace from the input value.\n */\n trim?: boolean;\n /**\n * The ARIA role of the text field.\n */\n role?: string;\n /**\n * If true, marks the input as required.\n */\n required?: boolean;\n /**\n * The error message displayed when a required field is left empty.\n */\n requiredErrorText?: string;\n /**\n * If true, displays a loading indicator inside the text field.\n */\n loading?: boolean;\n /**\n * Test ID for the secondary icon.\n */\n secondaryDataTestId?: string;\n /**\n * The tab order of the input field.\n */\n tabIndex?: number;\n /**\n * The name attribute for the input field.\n */\n name?: string;\n /**\n * If true, renders only an underline style for the text field.\n */\n underline?: boolean;\n /**\n * If true, the component is controlled by an external state.\n */\n controlled?: boolean;\n /**\n * Tooltip content for the primary icon.\n */\n iconTooltipContent?: string;\n /**\n * Tooltip content for the secondary icon.\n */\n secondaryTooltipContent?: string;\n /**\n * The text direction of the input.\n */\n dir?: \"ltr\" | \"rtl\" | \"auto\";\n}\n\nconst TextField: VibeComponent<TextFieldProps, unknown> & {\n sizes?: typeof BASE_SIZES;\n types?: typeof TextFieldTextTypeEnum;\n feedbacks?: typeof TextFieldFeedbackStateEnum;\n} = forwardRef(\n (\n {\n className = \"\",\n placeholder = \"\",\n autoComplete = \"off\",\n value,\n onChange = NOOP,\n onBlur = NOOP,\n onFocus = NOOP,\n onKeyDown = NOOP,\n onWheel = NOOP,\n debounceRate = 0,\n autoFocus = false,\n disabled = false,\n readonly = false,\n setRef = NOOP,\n iconName,\n secondaryIconName,\n id = \"input\",\n title = \"\",\n size = \"small\",\n validation = null,\n wrapperClassName = \"\",\n onIconClick = NOOP,\n clearOnIconClick = false,\n labelIconName,\n showCharCount = false,\n inputAriaLabel,\n searchResultsContainerId = \"\",\n activeDescendant = \"\",\n iconsNames = EMPTY_OBJECT,\n type = \"text\",\n maxLength = null,\n allowExceedingMaxLength = false,\n trim = false,\n role = \"\",\n required = false,\n requiredErrorText = \"\",\n loading = false,\n \"data-testid\": dataTestId,\n secondaryDataTestId,\n tabIndex,\n underline = false,\n name,\n controlled = false,\n iconTooltipContent,\n secondaryTooltipContent,\n dir\n }: TextFieldProps,\n ref\n ) => {\n const [isRequiredAndEmpty, setIsRequiredAndEmpty] = useState(false);\n\n const inputRef = useRef(null);\n const mergedRef = useMergeRef(ref, inputRef, setRef);\n\n const onBlurCallback = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (required && !e.target.value) {\n setIsRequiredAndEmpty(true);\n }\n onBlur(e);\n },\n [onBlur, required]\n );\n\n const onChangeCallback = useCallback(\n (value: string, e?: React.ChangeEvent<HTMLInputElement>) => {\n if (isRequiredAndEmpty && value) {\n setIsRequiredAndEmpty(false);\n }\n const event = e || { target: inputRef.current };\n onChange(value, event);\n },\n [onChange, isRequiredAndEmpty]\n );\n\n const {\n inputValue: uncontrolledInput,\n onEventChanged,\n clearValue\n } = useDebounceEvent({\n delay: debounceRate,\n onChange: onChangeCallback,\n initialStateValue: value,\n trim\n });\n\n const inputValue = useMemo(() => {\n return controlled ? value : uncontrolledInput;\n }, [controlled, value, uncontrolledInput]);\n\n const handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n event => {\n controlled ? onChangeCallback(event.target.value, event) : onEventChanged(event);\n },\n [controlled, onChangeCallback, onEventChanged]\n );\n\n const currentStateIconName = useMemo(() => {\n if (secondaryIconName) {\n return inputValue ? secondaryIconName : iconName;\n }\n return iconName;\n }, [iconName, secondaryIconName, inputValue]);\n\n const onIconClickCallback = useCallback(() => {\n if (disabled) {\n return;\n }\n\n if (clearOnIconClick) {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n // Do it cause otherwise the value is not cleared in target object\n inputRef.current.value = \"\";\n controlled ? onChangeCallback(\"\") : clearValue();\n }\n onIconClick(currentStateIconName);\n }, [disabled, clearOnIconClick, onIconClick, currentStateIconName, controlled, onChangeCallback, clearValue]);\n\n const validationClass = useMemo(() => {\n if (typeof maxLength === \"number\" && inputValue && inputValue.length > maxLength) {\n return FEEDBACK_CLASSES.error;\n }\n\n if ((!validation || !validation.status) && !isRequiredAndEmpty) {\n return \"\";\n }\n const status = isRequiredAndEmpty ? \"error\" : validation.status;\n return FEEDBACK_CLASSES[status];\n }, [maxLength, validation, isRequiredAndEmpty, inputValue]);\n\n const hasIcon = iconName || secondaryIconName;\n const shouldShowExtraText = showCharCount || (validation && validation.text) || isRequiredAndEmpty;\n const isSecondary = secondaryIconName === currentStateIconName;\n const isPrimary = iconName === currentStateIconName;\n const shouldFocusOnPrimaryIcon =\n (onIconClick !== NOOP || iconsNames.primary || iconTooltipContent) && inputValue && iconName.length && isPrimary;\n const shouldFocusOnSecondaryIcon = (secondaryIconName || secondaryTooltipContent) && isSecondary && !!inputValue;\n const allowExceedingMaxLengthTextId = allowExceedingMaxLength ? `${id}-allow-exceeding-max-length-text` : undefined;\n\n useEffect(() => {\n if (!inputRef?.current || !autoFocus) {\n return;\n }\n\n const animationFrame = requestAnimationFrame(() => inputRef.current.focus());\n return () => cancelAnimationFrame(animationFrame);\n }, [inputRef, autoFocus]);\n\n const isIconContainerClickable = onIconClick !== NOOP || clearOnIconClick;\n\n const primaryIconLabel = iconsNames.primary || iconTooltipContent;\n const secondaryIconLabel = iconsNames.secondary || secondaryTooltipContent;\n\n return (\n <div\n className={cx(styles.textField, wrapperClassName, {\n [styles.disabled]: disabled,\n [styles.onlyUnderline]: underline\n })}\n role={role}\n aria-busy={loading}\n >\n <div className={cx(styles.labelWrapper)}>\n <FieldLabel labelText={title} icon={labelIconName} labelFor={id} required={required} />\n <div className={cx(styles.inputWrapper, SIZE_MAPPER[size], validationClass)}>\n {/*Programatical input (tabIndex={-1}) is working fine with aria-activedescendant attribute despite the rule*/}\n {/*eslint-disable-next-line jsx-a11y/aria-activedescendant-has-tabindex*/}\n <input\n className={cx(className, styles.input, {\n [styles.inputHasIcon]: !!hasIcon,\n [styles.readOnly]: readonly\n })}\n placeholder={placeholder}\n autoComplete={autoComplete}\n value={inputValue}\n onChange={handleChange}\n disabled={disabled}\n readOnly={readonly}\n ref={mergedRef}\n type={type}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TEXT_FIELD, id)}\n data-vibe={ComponentVibeId.TEXT_FIELD}\n name={name}\n onBlur={onBlurCallback}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n onWheel={onWheel}\n maxLength={typeof maxLength === \"number\" && !allowExceedingMaxLength ? maxLength : undefined}\n role={searchResultsContainerId && \"combobox\"} // For voice reader\n aria-label={inputAriaLabel || placeholder}\n aria-invalid={(validation && validation.status === \"error\") || isRequiredAndEmpty}\n aria-owns={searchResultsContainerId}\n aria-activedescendant={activeDescendant}\n aria-required={required}\n aria-describedby={allowExceedingMaxLengthTextId}\n required={required}\n tabIndex={tabIndex}\n dir={dir}\n />\n {loading && (\n <div\n className={cx(styles.loaderContainer, {\n [styles.loaderContainerHasIcon]: hasIcon\n })}\n >\n <div className={cx(styles.loader)}>\n <Loader className={cx(styles.loaderSvg)} />\n </div>\n </div>\n )}\n <Tooltip\n content={isPrimary ? iconTooltipContent : undefined}\n referenceWrapperClassName={styles.tooltipContainer}\n >\n <Clickable\n className={cx(styles.iconContainer, {\n [styles.iconContainerHasIcon]: hasIcon,\n [styles.iconContainerActive]: isPrimary,\n [styles.iconContainerClickable]: isIconContainerClickable\n })}\n onClick={onIconClickCallback}\n tabIndex={shouldFocusOnPrimaryIcon ? \"0\" : \"-1\"}\n ariaLabel={primaryIconLabel}\n >\n <Icon\n icon={iconName}\n className={cx(styles.icon)}\n iconType=\"font\"\n iconSize={size === \"small\" ? \"16px\" : \"18px\"}\n />\n </Clickable>\n </Tooltip>\n <Tooltip\n content={isSecondary ? secondaryTooltipContent : undefined}\n addKeyboardHideShowTriggersByDefault\n referenceWrapperClassName={styles.tooltipContainer}\n >\n <Clickable\n className={cx(styles.iconContainer, {\n [styles.iconContainerHasIcon]: hasIcon,\n [styles.iconContainerActive]: isSecondary,\n [styles.iconContainerClickable]: isIconContainerClickable\n })}\n onClick={onIconClickCallback}\n tabIndex={shouldFocusOnSecondaryIcon ? \"0\" : \"-1\"}\n data-testid={secondaryDataTestId || getTestId(ComponentDefaultTestId.TEXT_FIELD_SECONDARY_BUTTON, id)}\n ariaLabel={secondaryIconLabel}\n >\n <Icon\n icon={secondaryIconName}\n className={cx(styles.icon)}\n iconType=\"font\"\n iconSize={size === \"small\" ? \"16px\" : \"18px\"}\n />\n </Clickable>\n </Tooltip>\n </div>\n {shouldShowExtraText && (\n <Text type=\"text2\" color=\"secondary\" className={cx(styles.subTextContainer)}>\n {validation && validation.text && (\n <span className={cx(styles.subTextContainerStatus)}>\n {isRequiredAndEmpty ? requiredErrorText : validation.text}\n </span>\n )}\n {showCharCount && (\n <span className={cx(styles.counter)} aria-label={TextFieldAriaLabel.CHAR}>\n {(inputValue && inputValue.length) || 0}\n {typeof maxLength === \"number\" && `/${maxLength}`}\n <HiddenText id={allowExceedingMaxLengthTextId} text={`Maximum of ${maxLength} characters`} />\n </span>\n )}\n </Text>\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default withStaticProps(TextField, {\n sizes: BASE_SIZES,\n feedbacks: TextFieldFeedbackStateEnum,\n types: TextFieldTextTypeEnum\n});\n"],"names":["EMPTY_OBJECT","primary","secondary","withStaticProps","forwardRef","_ref","ref","_ref$className","className","_ref$placeholder","placeholder","_ref$autoComplete","autoComplete","value","_ref$onChange","onChange","NOOP","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onKeyDown","onKeyDown","_ref$onWheel","onWheel","_ref$debounceRate","debounceRate","_ref$autoFocus","autoFocus","_ref$disabled","disabled","_ref$readonly","readonly","_ref$setRef","setRef","iconName","secondaryIconName","_ref$id","id","_ref$title","title","_ref$size","size","_ref$validation","validation","_ref$wrapperClassName","wrapperClassName","_ref$onIconClick","onIconClick","_ref$clearOnIconClick","clearOnIconClick","labelIconName","_ref$showCharCount","showCharCount","inputAriaLabel","_ref$searchResultsCon","searchResultsContainerId","_ref$activeDescendant","activeDescendant","_ref$iconsNames","iconsNames","_ref$type","type","_ref$maxLength","maxLength","_ref$allowExceedingMa","allowExceedingMaxLength","_ref$trim","trim","_ref$role","role","_ref$required","required","_ref$requiredErrorTex","requiredErrorText","_ref$loading","loading","dataTestId","secondaryDataTestId","tabIndex","_ref$underline","underline","name","_ref$controlled","controlled","iconTooltipContent","secondaryTooltipContent","dir","_useState","useState","_useState2","_slicedToArray","isRequiredAndEmpty","setIsRequiredAndEmpty","inputRef","useRef","mergedRef","useMergeRef","onBlurCallback","useCallback","e","target","onChangeCallback","current","_useDebounceEvent","useDebounceEvent","delay","initialStateValue","uncontrolledInput","inputValue","onEventChanged","clearValue","useMemo","handleChange","event","currentStateIconName","onIconClickCallback","focus","validationClass","length","FEEDBACK_CLASSES","error","status","hasIcon","shouldShowExtraText","text","isSecondary","isPrimary","shouldFocusOnPrimaryIcon","shouldFocusOnSecondaryIcon","allowExceedingMaxLengthTextId","concat","undefined","useEffect","animationFrame","requestAnimationFrame","cancelAnimationFrame","isIconContainerClickable","primaryIconLabel","secondaryIconLabel","React","createElement","cx","styles","textField","_defineProperty","onlyUnderline","labelWrapper","FieldLabel","labelText","icon","labelFor","inputWrapper","SIZE_MAPPER","input","inputHasIcon","readOnly","getTestId","ComponentDefaultTestId","TEXT_FIELD","ComponentVibeId","loaderContainer","loaderContainerHasIcon","loader","Loader","loaderSvg","Tooltip","content","referenceWrapperClassName","tooltipContainer","Clickable","iconContainer","iconContainerHasIcon","iconContainerActive","iconContainerClickable","onClick","ariaLabel","Icon","iconType","iconSize","addKeyboardHideShowTriggersByDefault","TEXT_FIELD_SECONDARY_BUTTON","Text","color","subTextContainer","subTextContainerStatus","counter","TextFieldAriaLabel","CHAR","HiddenText","sizes","BASE_SIZES","feedbacks","TextFieldFeedbackStateEnum","types","TextFieldTextTypeEnum"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextWithHighlight.js","sources":["../../../../src/components/TextWithHighlight/TextWithHighlight.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { forwardRef, useMemo, useRef } from \"react\";\nimport Tooltip from \"../../components/Tooltip/Tooltip\";\nimport useIsOverflowing from \"../../hooks/useIsOverflowing/useIsOverflowing\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./TextWithHighlight.module.scss\";\nimport { TooltipPositions } from \"../Tooltip/Tooltip.types\";\n\nconst getTextPart = (\n text: string,\n key: number,\n shouldHighlight: boolean,\n wrappingTextTag: keyof JSX.IntrinsicElements = \"em\",\n wrappingElementClassName: string\n) => {\n const WrappingElement = wrappingTextTag;\n if (shouldHighlight) {\n return (\n <WrappingElement className={cx(styles.highlightText, wrappingElementClassName)} key={key}>\n {text}\n </WrappingElement>\n );\n }\n return <span key={key}>{text}</span>;\n};\n\nexport interface TextWithHighlightProps extends VibeComponentProps {\n /** Text to wrap */\n text?: string;\n highlightTerm?: string;\n /** Number of highlighted parts */\n limit?: number;\n ignoreCase?: boolean;\n /** Should use ellipsis */\n useEllipsis?: boolean;\n /** Allow highlight every word as a separate term */\n allowTermSplit?: boolean;\n linesToClamp?: number;\n /** Tooltip to show when there is no overflow */\n nonEllipsisTooltip?: string;\n /** HTML tag to wrap the selected text */\n wrappingTextTag?: keyof JSX.IntrinsicElements;\n wrappingElementClassName?: string;\n tooltipPosition?: TooltipPositions;\n}\n\nconst TextWithHighlight: React.FC<TextWithHighlightProps> = forwardRef(\n (\n {\n className,\n id,\n text = \"\",\n highlightTerm,\n limit,\n useEllipsis = true,\n linesToClamp = 3,\n ignoreCase = true,\n allowTermSplit = true,\n nonEllipsisTooltip,\n tooltipPosition,\n wrappingTextTag = \"em\",\n wrappingElementClassName,\n \"data-testid\": dataTestId\n }: TextWithHighlightProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const textWithHighlights = useMemo(() => {\n if (!text || !highlightTerm || limit === 0) return text;\n let finalTerm = escapeRegExp(highlightTerm);\n if (allowTermSplit) {\n finalTerm = finalTerm.split(\" \").join(\"|\");\n }\n const regex = new RegExp(`(${finalTerm})`, ignoreCase ? \"i\" : \"\");\n const tokens = text.split(regex);\n const parts = [];\n // Tokens include the term search (in odd indices)\n let highlightTermsCount = 0;\n let key = 0;\n for (let i = 0; i < tokens.length; i++) {\n // skip empty tokens\n if (tokens[i]) {\n // adding highlight part\n const isTermPart = i % 2 === 1;\n const shouldHighlight = isTermPart && (!limit || limit < 0 || highlightTermsCount < limit);\n parts.push(getTextPart(tokens[i], key++, shouldHighlight, wrappingTextTag, wrappingElementClassName));\n if (isTermPart) highlightTermsCount++;\n }\n }\n\n return parts;\n }, [text, highlightTerm, limit, ignoreCase, allowTermSplit, wrappingTextTag, wrappingElementClassName]);\n\n const isOverflowing = useIsOverflowing({ ref: useEllipsis && componentRef });\n\n useIsomorphicLayoutEffect(() => {\n if (componentRef.current) {\n componentRef.current.style.setProperty(\"--heading-clamp-lines\", linesToClamp.toString());\n }\n }, [componentRef, linesToClamp, isOverflowing]);\n\n const Element = (\n <div\n ref={mergedRef}\n className={cx(styles.textWithHighlightWrapper, className, {\n [styles.withEllipsis]: useEllipsis\n })}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TEXT_WITH_HIGHLIGHT, id)}\n >\n {textWithHighlights}\n </div>\n );\n\n if (isOverflowing || nonEllipsisTooltip) {\n const tooltipContent = isOverflowing ? text : nonEllipsisTooltip;\n return (\n <Tooltip content={tooltipContent} position={tooltipPosition}>\n {Element}\n </Tooltip>\n );\n }\n return Element;\n }\n);\n\nexport default TextWithHighlight;\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n"],"names":["getTextPart","text","key","shouldHighlight","React","arguments","length","undefined","className","cx","styles","highlightText","TextWithHighlight","forwardRef","_ref","ref","id","_ref$text","highlightTerm","limit","_ref$useEllipsis","useEllipsis","_ref$linesToClamp","linesToClamp","_ref$ignoreCase","ignoreCase","_ref$allowTermSplit","allowTermSplit","nonEllipsisTooltip","tooltipPosition","_ref$wrappingTextTag","wrappingTextTag","wrappingElementClassName","dataTestId","componentRef","useRef","mergedRef","useMergeRef","textWithHighlights","useMemo","finalTerm","replace","split","join","regex","RegExp","concat","tokens","parts","highlightTermsCount","i","isTermPart","push","isOverflowing","useIsOverflowing","useIsomorphicLayoutEffect","current","style","setProperty","Element","createElement","textWithHighlightWrapper","_defineProperty","withEllipsis","getTestId","ComponentDefaultTestId","TEXT_WITH_HIGHLIGHT","Tooltip","content","position"],"mappings":"qfAWA,IAAMA,EAAc,SAClBC,EACAC,EACAC,GAKA,OAAIA,EAEAC,gBAN2CC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,KAM3B,CAACG,UAAWC,EAAGC,EAAOC,cALVN,UAAAC,OAAAD,EAAAA,kBAAAE,GAKoDL,IAAKA,GAClFD,GAIAG,wBAAMF,IAAKA,GAAMD,EAC1B,EAsBMW,EAAsDC,GAC1D,SAAAC,EAiBEC,GACE,IAhBAP,EAASM,EAATN,UACAQ,EAAEF,EAAFE,GAAEC,EAAAH,EACFb,KAAAA,OAAO,IAAHgB,EAAG,GAAEA,EACTC,EAAaJ,EAAbI,cACAC,EAAKL,EAALK,MAAKC,EAAAN,EACLO,YAAAA,OAAc,IAAHD,GAAOA,EAAAE,EAAAR,EAClBS,aAAAA,OAAe,IAAHD,EAAG,EAACA,EAAAE,EAAAV,EAChBW,WAAAA,OAAa,IAAHD,GAAOA,EAAAE,EAAAZ,EACjBa,eAAAA,OAAiB,IAAHD,GAAOA,EACrBE,EAAkBd,EAAlBc,mBACAC,EAAef,EAAfe,gBAAeC,EAAAhB,EACfiB,gBAAAA,OAAkB,IAAHD,EAAG,KAAIA,EACtBE,EAAwBlB,EAAxBkB,yBACeC,EAAUnB,EAAzB,eAIIoB,EAAeC,EAAO,MACtBC,EAAYC,EAAYtB,EAAKmB,GAE7BI,EAAqBC,GAAQ,WACjC,IAAKtC,IAASiB,GAA2B,IAAVC,EAAa,OAAOlB,EACnD,IAAIuC,EAAyBtB,EA4DnBuB,QAAQ,sBAAuB,QA3DrCd,IACFa,EAAYA,EAAUE,MAAM,KAAKC,KAAK,MAQxC,IANA,IAAMC,EAAYC,WAAMC,OAAKN,EAAS,KAAKf,EAAa,IAAM,IACxDsB,EAAS9C,EAAKyC,MAAME,GACpBI,EAAQ,GAEVC,EAAsB,EACtB/C,EAAM,EACDgD,EAAI,EAAOH,EAAOzC,OAAX4C,EAAmBA,IAEjC,GAAIH,EAAOG,GAAI,CAEb,IAAMC,EAAaD,EAAI,GAAM,EAE7BF,EAAMI,KAAKpD,EAAY+C,EAAOG,GAAIhD,IADViD,KAAgBhC,GAAiB,EAARA,GAAmCA,EAAtB8B,GACJlB,EAAiBC,IACvEmB,GAAYF,GACjB,CAGH,OAAOD,CACT,GAAG,CAAC/C,EAAMiB,EAAeC,EAAOM,EAAYE,EAAgBI,EAAiBC,IAEvEqB,EAAgBC,EAAiB,CAAEvC,IAAKM,GAAea,IAE7DqB,GAA0B,WACpBrB,EAAasB,SACftB,EAAasB,QAAQC,MAAMC,YAAY,wBAAyBnC,KAEnE,GAAE,CAACW,EAAcX,EAAc8B,IAEhC,IAAMM,EACJvD,EACEwD,cAAA,MAAA,CAAA7C,IAAKqB,EACL5B,UAAWC,EAAGC,EAAOmD,yBAA0BrD,EAASsD,KACrDpD,EAAOqD,aAAe1C,IAEzBL,GAAIA,EACS,cAAAiB,GAAc+B,EAAUC,EAAuBC,oBAAqBlD,IAEhFsB,GAIL,OAAIe,GAAiBzB,EAGjBxB,EAAAwD,cAACO,EAAO,CAACC,QAFYf,EAAgBpD,EAAO2B,EAEVyC,SAAUxC,GACzC8B,GAIAA,CACT"}
1
+ {"version":3,"file":"TextWithHighlight.js","sources":["../../../../src/components/TextWithHighlight/TextWithHighlight.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { forwardRef, useMemo, useRef } from \"react\";\nimport Tooltip from \"../../components/Tooltip/Tooltip\";\nimport useIsOverflowing from \"../../hooks/useIsOverflowing/useIsOverflowing\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./TextWithHighlight.module.scss\";\nimport { TooltipPositions } from \"../Tooltip/Tooltip.types\";\n\nconst getTextPart = (\n text: string,\n key: number,\n shouldHighlight: boolean,\n wrappingTextTag: keyof JSX.IntrinsicElements = \"em\",\n wrappingElementClassName: string\n) => {\n const WrappingElement = wrappingTextTag;\n if (shouldHighlight) {\n return (\n <WrappingElement className={cx(styles.highlightText, wrappingElementClassName)} key={key}>\n {text}\n </WrappingElement>\n );\n }\n return <span key={key}>{text}</span>;\n};\n\nexport interface TextWithHighlightProps extends VibeComponentProps {\n /**\n * The text content to display.\n */\n text?: string;\n /**\n * The term to highlight within the text.\n */\n highlightTerm?: string;\n /**\n * The maximum number of highlighted terms allowed.\n */\n limit?: number;\n /**\n * If true, the highlight search is case-insensitive.\n */\n ignoreCase?: boolean;\n /**\n * If true, truncates overflowing text with an ellipsis.\n */\n useEllipsis?: boolean;\n /**\n * If true, allows splitting the highlight term into separate words.\n */\n allowTermSplit?: boolean;\n /**\n * The number of lines to display before truncating with an ellipsis.\n */\n linesToClamp?: number;\n /**\n * Tooltip content displayed when there is no overflow.\n */\n nonEllipsisTooltip?: string;\n /**\n * The HTML tag used to wrap highlighted text.\n */\n wrappingTextTag?: keyof JSX.IntrinsicElements;\n /**\n * Class name applied to the wrapping element of highlighted text.\n */\n wrappingElementClassName?: string;\n /**\n * The position of the tooltip when displayed.\n */\n tooltipPosition?: TooltipPositions;\n}\n\nconst TextWithHighlight: React.FC<TextWithHighlightProps> = forwardRef(\n (\n {\n className,\n id,\n text = \"\",\n highlightTerm,\n limit,\n useEllipsis = true,\n linesToClamp = 3,\n ignoreCase = true,\n allowTermSplit = true,\n nonEllipsisTooltip,\n tooltipPosition,\n wrappingTextTag = \"em\",\n wrappingElementClassName,\n \"data-testid\": dataTestId\n }: TextWithHighlightProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const textWithHighlights = useMemo(() => {\n if (!text || !highlightTerm || limit === 0) return text;\n let finalTerm = escapeRegExp(highlightTerm);\n if (allowTermSplit) {\n finalTerm = finalTerm.split(\" \").join(\"|\");\n }\n const regex = new RegExp(`(${finalTerm})`, ignoreCase ? \"i\" : \"\");\n const tokens = text.split(regex);\n const parts = [];\n // Tokens include the term search (in odd indices)\n let highlightTermsCount = 0;\n let key = 0;\n for (let i = 0; i < tokens.length; i++) {\n // skip empty tokens\n if (tokens[i]) {\n // adding highlight part\n const isTermPart = i % 2 === 1;\n const shouldHighlight = isTermPart && (!limit || limit < 0 || highlightTermsCount < limit);\n parts.push(getTextPart(tokens[i], key++, shouldHighlight, wrappingTextTag, wrappingElementClassName));\n if (isTermPart) highlightTermsCount++;\n }\n }\n\n return parts;\n }, [text, highlightTerm, limit, ignoreCase, allowTermSplit, wrappingTextTag, wrappingElementClassName]);\n\n const isOverflowing = useIsOverflowing({ ref: useEllipsis && componentRef });\n\n useIsomorphicLayoutEffect(() => {\n if (componentRef.current) {\n componentRef.current.style.setProperty(\"--heading-clamp-lines\", linesToClamp.toString());\n }\n }, [componentRef, linesToClamp, isOverflowing]);\n\n const Element = (\n <div\n ref={mergedRef}\n className={cx(styles.textWithHighlightWrapper, className, {\n [styles.withEllipsis]: useEllipsis\n })}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TEXT_WITH_HIGHLIGHT, id)}\n >\n {textWithHighlights}\n </div>\n );\n\n if (isOverflowing || nonEllipsisTooltip) {\n const tooltipContent = isOverflowing ? text : nonEllipsisTooltip;\n return (\n <Tooltip content={tooltipContent} position={tooltipPosition}>\n {Element}\n </Tooltip>\n );\n }\n return Element;\n }\n);\n\nexport default TextWithHighlight;\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n"],"names":["getTextPart","text","key","shouldHighlight","React","arguments","length","undefined","className","cx","styles","highlightText","TextWithHighlight","forwardRef","_ref","ref","id","_ref$text","highlightTerm","limit","_ref$useEllipsis","useEllipsis","_ref$linesToClamp","linesToClamp","_ref$ignoreCase","ignoreCase","_ref$allowTermSplit","allowTermSplit","nonEllipsisTooltip","tooltipPosition","_ref$wrappingTextTag","wrappingTextTag","wrappingElementClassName","dataTestId","componentRef","useRef","mergedRef","useMergeRef","textWithHighlights","useMemo","finalTerm","replace","split","join","regex","RegExp","concat","tokens","parts","highlightTermsCount","i","isTermPart","push","isOverflowing","useIsOverflowing","useIsomorphicLayoutEffect","current","style","setProperty","Element","createElement","textWithHighlightWrapper","_defineProperty","withEllipsis","getTestId","ComponentDefaultTestId","TEXT_WITH_HIGHLIGHT","Tooltip","content","position"],"mappings":"qfAWA,IAAMA,EAAc,SAClBC,EACAC,EACAC,GAKA,OAAIA,EAEAC,gBAN2CC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,KAM3B,CAACG,UAAWC,EAAGC,EAAOC,cALVN,UAAAC,OAAAD,EAAAA,kBAAAE,GAKoDL,IAAKA,GAClFD,GAIAG,wBAAMF,IAAKA,GAAMD,EAC1B,EAiDMW,EAAsDC,GAC1D,SAAAC,EAiBEC,GACE,IAhBAP,EAASM,EAATN,UACAQ,EAAEF,EAAFE,GAAEC,EAAAH,EACFb,KAAAA,OAAO,IAAHgB,EAAG,GAAEA,EACTC,EAAaJ,EAAbI,cACAC,EAAKL,EAALK,MAAKC,EAAAN,EACLO,YAAAA,OAAc,IAAHD,GAAOA,EAAAE,EAAAR,EAClBS,aAAAA,OAAe,IAAHD,EAAG,EAACA,EAAAE,EAAAV,EAChBW,WAAAA,OAAa,IAAHD,GAAOA,EAAAE,EAAAZ,EACjBa,eAAAA,OAAiB,IAAHD,GAAOA,EACrBE,EAAkBd,EAAlBc,mBACAC,EAAef,EAAfe,gBAAeC,EAAAhB,EACfiB,gBAAAA,OAAkB,IAAHD,EAAG,KAAIA,EACtBE,EAAwBlB,EAAxBkB,yBACeC,EAAUnB,EAAzB,eAIIoB,EAAeC,EAAO,MACtBC,EAAYC,EAAYtB,EAAKmB,GAE7BI,EAAqBC,GAAQ,WACjC,IAAKtC,IAASiB,GAA2B,IAAVC,EAAa,OAAOlB,EACnD,IAAIuC,EAAyBtB,EA4DnBuB,QAAQ,sBAAuB,QA3DrCd,IACFa,EAAYA,EAAUE,MAAM,KAAKC,KAAK,MAQxC,IANA,IAAMC,EAAYC,WAAMC,OAAKN,EAAS,KAAKf,EAAa,IAAM,IACxDsB,EAAS9C,EAAKyC,MAAME,GACpBI,EAAQ,GAEVC,EAAsB,EACtB/C,EAAM,EACDgD,EAAI,EAAOH,EAAOzC,OAAX4C,EAAmBA,IAEjC,GAAIH,EAAOG,GAAI,CAEb,IAAMC,EAAaD,EAAI,GAAM,EAE7BF,EAAMI,KAAKpD,EAAY+C,EAAOG,GAAIhD,IADViD,KAAgBhC,GAAiB,EAARA,GAAmCA,EAAtB8B,GACJlB,EAAiBC,IACvEmB,GAAYF,GACjB,CAGH,OAAOD,CACT,GAAG,CAAC/C,EAAMiB,EAAeC,EAAOM,EAAYE,EAAgBI,EAAiBC,IAEvEqB,EAAgBC,EAAiB,CAAEvC,IAAKM,GAAea,IAE7DqB,GAA0B,WACpBrB,EAAasB,SACftB,EAAasB,QAAQC,MAAMC,YAAY,wBAAyBnC,KAEnE,GAAE,CAACW,EAAcX,EAAc8B,IAEhC,IAAMM,EACJvD,EACEwD,cAAA,MAAA,CAAA7C,IAAKqB,EACL5B,UAAWC,EAAGC,EAAOmD,yBAA0BrD,EAASsD,KACrDpD,EAAOqD,aAAe1C,IAEzBL,GAAIA,EACS,cAAAiB,GAAc+B,EAAUC,EAAuBC,oBAAqBlD,IAEhFsB,GAIL,OAAIe,GAAiBzB,EAGjBxB,EAAAwD,cAACO,EAAO,CAACC,QAFYf,EAAgBpD,EAAO2B,EAEVyC,SAAUxC,GACzC8B,GAIAA,CACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sources":["../../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { FC, ReactElement, useEffect, useMemo, useState } from \"react\";\nimport { SystemTheme as SystemThemeEnum, Theme, ThemeColor as ThemeColorEnum } from \"./ThemeProviderConstants\";\nimport { SystemTheme } from \"./ThemeProvider.types\";\nimport {\n addSystemThemeClassNameToBody,\n generateRandomAlphaString,\n generateThemeCssOverride,\n isAnySystemThemeClassNameOnBody,\n removeSystemThemeClassNameFromBody,\n shouldGenerateTheme\n} from \"./ThemeProviderUtils\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport { withStaticProps } from \"../../types\";\n\nexport interface ThemeProviderProps {\n /**\n * The theme config to apply, consists of a \"name\" - the name of css class that will be added to the children, which should be unique, and the object of colors overrides for each system theme.\n */\n themeConfig?: Theme;\n /**\n * The children to render with the theme\n */\n children: ReactElement;\n /**\n * String which adds up to theme name selector to make it more specific (in case if themeConfig.name is colliding with some other class name)\n */\n themeClassSpecifier?: string;\n /**\n * The system theme to apply to the body element on mount, if there is no theme class name on the body element already\n */\n systemTheme?: SystemTheme;\n /**\n * ClassName to add to the wrapping div\n */\n className?: string;\n}\n\nconst ThemeProvider: FC<ThemeProviderProps> & {\n systemThemes?: typeof SystemThemeEnum;\n colors?: typeof ThemeColorEnum;\n} = ({ themeConfig, children, themeClassSpecifier: customThemeClassSpecifier, systemTheme, className }) => {\n const [stylesLoaded, setStylesLoaded] = useState(false);\n const themeClassSpecifier = useMemo(\n () => customThemeClassSpecifier || generateRandomAlphaString(),\n [customThemeClassSpecifier]\n );\n\n // Add the systemTheme class name to the body on mount\n useIsomorphicLayoutEffect(() => {\n if (!systemTheme) {\n return;\n }\n\n if (isAnySystemThemeClassNameOnBody()) {\n // If there is already a systemTheme class name on the body, we don't want to override it\n return;\n }\n\n addSystemThemeClassNameToBody(systemTheme);\n\n return () => {\n // Cleanup the systemTheme class name from the body on ThemeProvider unmount\n removeSystemThemeClassNameFromBody(systemTheme);\n };\n }, [systemTheme]);\n\n useEffect(() => {\n if (!shouldGenerateTheme(themeConfig)) {\n return;\n }\n if (document.getElementById(themeConfig.name)) {\n setStylesLoaded(true);\n return;\n }\n\n const styleElement = document.createElement(\"style\");\n styleElement.type = \"text/css\";\n styleElement.id = themeConfig.name;\n const themeCssOverride = generateThemeCssOverride(themeConfig, themeClassSpecifier);\n\n try {\n styleElement.appendChild(document.createTextNode(themeCssOverride));\n document.head.appendChild(styleElement);\n setStylesLoaded(true);\n } catch (error) {\n console.error(\"vibe ThemeProvider: error inserting theme-generated css - \", error);\n }\n\n return () => {\n document.head.removeChild(styleElement);\n };\n }, [themeClassSpecifier, themeConfig]);\n\n if (!stylesLoaded && shouldGenerateTheme(themeConfig)) {\n // Waiting for styles to load before children render\n return null;\n }\n\n // Pass the theme name as a class to the div wrapping children - to scope the effect of the theme\n return <div className={cx(themeConfig?.name, themeClassSpecifier, className)}>{children}</div>;\n};\n\nexport default withStaticProps(ThemeProvider, {\n systemThemes: SystemThemeEnum,\n colors: ThemeColorEnum\n});\n"],"names":["withStaticProps","_ref","themeConfig","children","customThemeClassSpecifier","themeClassSpecifier","systemTheme","className","_useState","useState","_useState2","_slicedToArray","stylesLoaded","setStylesLoaded","useMemo","generateRandomAlphaString","useIsomorphicLayoutEffect","isAnySystemThemeClassNameOnBody","addSystemThemeClassNameToBody","removeSystemThemeClassNameFromBody","useEffect","shouldGenerateTheme","document","getElementById","name","styleElement","createElement","type","id","themeCssOverride","generateThemeCssOverride","appendChild","createTextNode","head","error","console","removeChild","React","cx","systemThemes","SystemThemeEnum","colors","ThemeColorEnum"],"mappings":"koBAsCA,IAiEeA,EAAAA,GA9DX,SAHeC,GAGuF,IAAnGC,EAAWD,EAAXC,YAAaC,EAAQF,EAARE,SAA+BC,EAAyBH,EAA9CI,oBAAgDC,EAAWL,EAAXK,YAAaC,EAASN,EAATM,UACzFC,EAAwCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAhDI,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GAC9BL,EAAsBS,GAC1B,WAAA,OAAMV,GAA6BW,MACnC,CAACX,IAiDH,OA7CAY,GAA0B,WACxB,GAAKV,IAIDW,IAOJ,OAFAC,EAA8BZ,GAEvB,WAELa,EAAmCb,GAEvC,GAAG,CAACA,IAEJc,GAAU,WACR,GAAKC,EAAoBnB,GAAzB,CAGA,IAAIoB,SAASC,eAAerB,EAAYsB,MAAxC,CAKA,IAAMC,EAAeH,SAASI,cAAc,SAC5CD,EAAaE,KAAO,WACpBF,EAAaG,GAAK1B,EAAYsB,KAC9B,IAAMK,EAAmBC,EAAyB5B,EAAaG,GAE/D,IACEoB,EAAaM,YAAYT,SAASU,eAAeH,IACjDP,SAASW,KAAKF,YAAYN,GAC1BZ,GAAgB,EACjB,CAAC,MAAOqB,GACPC,QAAQD,MAAM,6DAA8DA,EAC7E,CAED,OAAO,WACLZ,SAASW,KAAKG,YAAYX,GAhB3B,CAFCZ,GAAgB,EAFjB,CAsBH,GAAG,CAACR,EAAqBH,KAEpBU,GAAgBS,EAAoBnB,GAEhC,KAIFmC,EAAAX,cAAA,MAAA,CAAKnB,UAAW+B,EAAGpC,aAAA,EAAAA,EAAasB,KAAMnB,EAAqBE,IAAaJ,EACjF,GAE8C,CAC5CoC,aAAcC,EACdC,OAAQC"}
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { FC, ReactElement, useEffect, useMemo, useState } from \"react\";\nimport { SystemTheme as SystemThemeEnum, Theme, ThemeColor as ThemeColorEnum } from \"./ThemeProviderConstants\";\nimport { SystemTheme } from \"./ThemeProvider.types\";\nimport {\n addSystemThemeClassNameToBody,\n generateRandomAlphaString,\n generateThemeCssOverride,\n isAnySystemThemeClassNameOnBody,\n removeSystemThemeClassNameFromBody,\n shouldGenerateTheme\n} from \"./ThemeProviderUtils\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport { withStaticProps } from \"../../types\";\n\nexport interface ThemeProviderProps {\n /**\n * The theme configuration to apply. It consists of a `name` (a unique CSS class name added to the children)\n * and an object of color overrides for each system theme.\n */\n themeConfig?: Theme;\n /**\n * The children to be rendered with the applied theme.\n */\n children: ReactElement;\n /**\n * A string added to the theme name selector to make it more specific, in case `themeConfig.name`\n * collides with another class name.\n */\n themeClassSpecifier?: string;\n /**\n * The system theme to apply to the `body` element on mount,\n * if there is no system theme class name on the body already.\n */\n systemTheme?: SystemTheme;\n /**\n * Class name applied to the wrapping `div`.\n */\n className?: string;\n}\n\nconst ThemeProvider: FC<ThemeProviderProps> & {\n systemThemes?: typeof SystemThemeEnum;\n colors?: typeof ThemeColorEnum;\n} = ({ themeConfig, children, themeClassSpecifier: customThemeClassSpecifier, systemTheme, className }) => {\n const [stylesLoaded, setStylesLoaded] = useState(false);\n const themeClassSpecifier = useMemo(\n () => customThemeClassSpecifier || generateRandomAlphaString(),\n [customThemeClassSpecifier]\n );\n\n // Add the systemTheme class name to the body on mount\n useIsomorphicLayoutEffect(() => {\n if (!systemTheme) {\n return;\n }\n\n if (isAnySystemThemeClassNameOnBody()) {\n // If there is already a systemTheme class name on the body, we don't want to override it\n return;\n }\n\n addSystemThemeClassNameToBody(systemTheme);\n\n return () => {\n // Cleanup the systemTheme class name from the body on ThemeProvider unmount\n removeSystemThemeClassNameFromBody(systemTheme);\n };\n }, [systemTheme]);\n\n useEffect(() => {\n if (!shouldGenerateTheme(themeConfig)) {\n return;\n }\n if (document.getElementById(themeConfig.name)) {\n setStylesLoaded(true);\n return;\n }\n\n const styleElement = document.createElement(\"style\");\n styleElement.type = \"text/css\";\n styleElement.id = themeConfig.name;\n const themeCssOverride = generateThemeCssOverride(themeConfig, themeClassSpecifier);\n\n try {\n styleElement.appendChild(document.createTextNode(themeCssOverride));\n document.head.appendChild(styleElement);\n setStylesLoaded(true);\n } catch (error) {\n console.error(\"vibe ThemeProvider: error inserting theme-generated css - \", error);\n }\n\n return () => {\n document.head.removeChild(styleElement);\n };\n }, [themeClassSpecifier, themeConfig]);\n\n if (!stylesLoaded && shouldGenerateTheme(themeConfig)) {\n // Waiting for styles to load before children render\n return null;\n }\n\n // Pass the theme name as a class to the div wrapping children - to scope the effect of the theme\n return <div className={cx(themeConfig?.name, themeClassSpecifier, className)}>{children}</div>;\n};\n\nexport default withStaticProps(ThemeProvider, {\n systemThemes: SystemThemeEnum,\n colors: ThemeColorEnum\n});\n"],"names":["withStaticProps","_ref","themeConfig","children","customThemeClassSpecifier","themeClassSpecifier","systemTheme","className","_useState","useState","_useState2","_slicedToArray","stylesLoaded","setStylesLoaded","useMemo","generateRandomAlphaString","useIsomorphicLayoutEffect","isAnySystemThemeClassNameOnBody","addSystemThemeClassNameToBody","removeSystemThemeClassNameFromBody","useEffect","shouldGenerateTheme","document","getElementById","name","styleElement","createElement","type","id","themeCssOverride","generateThemeCssOverride","appendChild","createTextNode","head","error","console","removeChild","React","cx","systemThemes","SystemThemeEnum","colors","ThemeColorEnum"],"mappings":"koBAyCA,IAiEeA,EAAAA,GA9DX,SAHeC,GAGuF,IAAnGC,EAAWD,EAAXC,YAAaC,EAAQF,EAARE,SAA+BC,EAAyBH,EAA9CI,oBAAgDC,EAAWL,EAAXK,YAAaC,EAASN,EAATM,UACzFC,EAAwCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAhDI,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GAC9BL,EAAsBS,GAC1B,WAAA,OAAMV,GAA6BW,MACnC,CAACX,IAiDH,OA7CAY,GAA0B,WACxB,GAAKV,IAIDW,IAOJ,OAFAC,EAA8BZ,GAEvB,WAELa,EAAmCb,GAEvC,GAAG,CAACA,IAEJc,GAAU,WACR,GAAKC,EAAoBnB,GAAzB,CAGA,IAAIoB,SAASC,eAAerB,EAAYsB,MAAxC,CAKA,IAAMC,EAAeH,SAASI,cAAc,SAC5CD,EAAaE,KAAO,WACpBF,EAAaG,GAAK1B,EAAYsB,KAC9B,IAAMK,EAAmBC,EAAyB5B,EAAaG,GAE/D,IACEoB,EAAaM,YAAYT,SAASU,eAAeH,IACjDP,SAASW,KAAKF,YAAYN,GAC1BZ,GAAgB,EACjB,CAAC,MAAOqB,GACPC,QAAQD,MAAM,6DAA8DA,EAC7E,CAED,OAAO,WACLZ,SAASW,KAAKG,YAAYX,GAhB3B,CAFCZ,GAAgB,EAFjB,CAsBH,GAAG,CAACR,EAAqBH,KAEpBU,GAAgBS,EAAoBnB,GAEhC,KAIFmC,EAAAX,cAAA,MAAA,CAAKnB,UAAW+B,EAAGpC,aAAA,EAAAA,EAAasB,KAAMnB,EAAqBE,IAAaJ,EACjF,GAE8C,CAC5CoC,aAAcC,EACdC,OAAQC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tipseen.js","sources":["../../../../src/components/Tipseen/Tipseen.tsx"],"sourcesContent":["import { forwardRef, Fragment, ReactElement, useEffect, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { AnimationType as AnimationTypeEnum, HideShowEvent as HideShowEventEnum } from \"../Dialog/DialogConstants\";\nimport { DialogAnimationType, DialogTriggerEvent } from \"../Dialog/Dialog.types\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport Tooltip from \"../../components/Tooltip/Tooltip\";\nimport IconButton from \"../../components/IconButton/IconButton\";\nimport { CloseSmall } from \"@vibe/icons\";\nimport TipseenTitle from \"./TipseenTitle\";\nimport {\n TIPSEEN_CLOSE_BUTTON_ARIA_LABEL,\n TipseenCloseButtonTheme as TipseenCloseButtonThemeEnum,\n TipseenColor as TipseenColorEnum\n} from \"./TipseenConstants\";\nimport { TipseenCloseButtonTheme, TipseenColor } from \"./Tipseen.types\";\nimport { ElementContent, VibeComponent, VibeComponentProps, withStaticProps } from \"../../types\";\nimport { MoveBy } from \"../../types/MoveBy\";\nimport { Modifier } from \"react-popper\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport Text from \"../Text/Text\";\nimport styles from \"./Tipseen.module.scss\";\nimport { ButtonColor } from \"../Button/ButtonConstants\";\nimport React from \"react\";\nimport { TooltipPositions } from \"../Tooltip/Tooltip.types\";\nimport { TooltipPositions as TooltipPositionsEnum } from \"../Tooltip/TooltipConstants\";\n\nexport interface TipseenProps extends VibeComponentProps {\n /**\n * Classname for overriding TipseenTitle styles\n */\n titleClassName?: string;\n position?: TooltipPositions;\n animationType?: DialogAnimationType;\n hideDelay?: number;\n showDelay?: number;\n title?: string;\n hideCloseButton?: boolean;\n children?: ReactElement;\n containerSelector?: string;\n hideTrigger?: DialogTriggerEvent | Array<DialogTriggerEvent>;\n showTrigger?: DialogTriggerEvent | Array<DialogTriggerEvent>;\n width?: number;\n moveBy?: MoveBy;\n hideWhenReferenceHidden?: boolean;\n referenceWrapperClassName?: string;\n /**\n * when false, the arrow of the tooltip is hidden\n */\n tip?: boolean;\n /** Class name for a tooltip's arrow */\n tooltipArrowClassName?: string;\n /**\n * PopperJS Modifiers type\n * https://popper.js.org/docs/v2/modifiers/\n */\n modifiers?: Array<Modifier<unknown>>;\n closeAriaLabel?: string;\n onClose?: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n content: ElementContent;\n /**\n * Control the color of the Tipseen close button. Dark theme can be useful while presenting bright images under the tipseen image\n */\n closeButtonTheme?: TipseenCloseButtonTheme;\n floating?: boolean;\n /** The color of the Tipseen */\n color?: TipseenColor;\n}\n\nexport const TipseenContext = React.createContext<TipseenColor>(\"primary\");\n\nconst Tipseen: VibeComponent<TipseenProps> & {\n closeButtonThemes?: typeof TipseenCloseButtonThemeEnum;\n animationTypes?: typeof AnimationTypeEnum;\n hideShowTriggers?: typeof HideShowEventEnum;\n colors?: typeof TipseenColorEnum;\n positions?: typeof TooltipPositionsEnum;\n} = forwardRef(\n (\n {\n className,\n id,\n position = \"bottom\",\n animationType = \"expand\",\n hideDelay = 0,\n showDelay = 100,\n title,\n titleClassName,\n hideCloseButton,\n closeButtonTheme = \"light\",\n onClose,\n closeAriaLabel,\n children = null,\n content,\n containerSelector,\n hideTrigger = [],\n showTrigger = [],\n width,\n moveBy,\n hideWhenReferenceHidden = false,\n referenceWrapperClassName,\n tip = true,\n tooltipArrowClassName,\n modifiers = [],\n floating = false,\n color: colorProp,\n \"data-testid\": dataTestId\n }: TipseenProps,\n ref\n ) => {\n const color = colorProp ?? \"inverted\";\n\n const defaultDelayOpen =\n Array.isArray(showTrigger) && Array.isArray(hideTrigger) && showTrigger.length === 0 && showDelay > 0;\n\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const [delayedOpen, setDelayOpen] = useState(!defaultDelayOpen);\n const overrideCloseAriaLabel = closeAriaLabel || TIPSEEN_CLOSE_BUTTON_ARIA_LABEL;\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n if (showDelay) {\n timeout = setTimeout(() => {\n setDelayOpen(true);\n }, showDelay);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [showDelay, setDelayOpen]);\n\n const textColor = useMemo(() => {\n return color === \"inverted\" ? \"onInverted\" : \"onPrimary\";\n }, [color]);\n const closeButtonColor = useMemo(() => {\n if (closeButtonTheme === \"light\") {\n return color === \"inverted\" ? ButtonColor.ON_INVERTED_BACKGROUND : ButtonColor.ON_PRIMARY_COLOR;\n } else {\n return closeButtonTheme;\n }\n }, [color, closeButtonTheme]);\n\n const TipseenWrapper = ref || id ? \"div\" : Fragment;\n const tooltipContent = (\n <div>\n <div className={cx(styles.tipseenHeader)}>\n {hideCloseButton ? null : (\n <IconButton\n hideTooltip\n className={cx(styles.tipseenCloseButton, {\n [styles.dark]: closeButtonTheme === \"dark\" || closeButtonTheme === \"fixed-dark\"\n })}\n onClick={onClose}\n size=\"xs\"\n kind=\"tertiary\"\n // @ts-ignore\n color={closeButtonColor}\n ariaLabel={overrideCloseAriaLabel}\n icon={CloseSmall}\n />\n )}\n <TipseenTitle text={title} className={cx(styles.tipseenTitle, titleClassName)} />\n </div>\n <Text color={textColor} type=\"text2\" element=\"p\" className={cx(styles.tipseenContent)}>\n <TipseenContext.Provider value={color}>{content}</TipseenContext.Provider>\n </Text>\n </div>\n );\n\n return (\n <TipseenWrapper ref={mergedRef} id={id} data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN, id)}>\n <Tooltip\n className={cx(styles.tipseenWrapper, className, {\n [styles.tipseenWrapperWithoutCustomWidth]: !width,\n [styles.floating]: floating\n })}\n maxWidth={width}\n arrowClassName={tooltipArrowClassName}\n style={width ? { width } : undefined}\n shouldShowOnMount={!defaultDelayOpen}\n position={position}\n animationType={animationType}\n hideDelay={hideDelay}\n showDelay={showDelay}\n hideTrigger={hideTrigger}\n showTrigger={showTrigger}\n showOnDialogEnter={false}\n content={tooltipContent}\n theme={color === \"inverted\" ? \"dark\" : \"primary\"}\n containerSelector={containerSelector}\n disableDialogSlide={false}\n moveBy={moveBy}\n hideWhenReferenceHidden={hideWhenReferenceHidden}\n referenceWrapperClassName={referenceWrapperClassName}\n tip={tip && !floating}\n modifiers={modifiers}\n open={defaultDelayOpen ? delayedOpen : undefined}\n forceRenderWithoutChildren={floating}\n >\n {children}\n </Tooltip>\n </TipseenWrapper>\n );\n }\n);\n\nexport default withStaticProps(Tipseen, {\n closeButtonThemes: TipseenCloseButtonThemeEnum,\n animationTypes: AnimationTypeEnum,\n hideShowTriggers: HideShowEventEnum,\n colors: TipseenColorEnum,\n positions: TooltipPositionsEnum\n});\n"],"names":["TipseenContext","React","createContext","withStaticProps","forwardRef","_ref","ref","className","id","_ref$position","position","_ref$animationType","animationType","_ref$hideDelay","hideDelay","_ref$showDelay","showDelay","title","titleClassName","hideCloseButton","_ref$closeButtonTheme","closeButtonTheme","onClose","closeAriaLabel","_ref$children","children","content","containerSelector","_ref$hideTrigger","hideTrigger","_ref$showTrigger","showTrigger","width","moveBy","_ref$hideWhenReferenc","hideWhenReferenceHidden","referenceWrapperClassName","_ref$tip","tip","tooltipArrowClassName","_ref$modifiers","modifiers","_ref$floating","floating","colorProp","color","dataTestId","defaultDelayOpen","Array","isArray","length","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","delayedOpen","setDelayOpen","overrideCloseAriaLabel","TIPSEEN_CLOSE_BUTTON_ARIA_LABEL","useEffect","timeout","setTimeout","clearTimeout","textColor","useMemo","closeButtonColor","ButtonColor","ON_INVERTED_BACKGROUND","ON_PRIMARY_COLOR","TipseenWrapper","Fragment","tooltipContent","createElement","cx","styles","tipseenHeader","IconButton","hideTooltip","tipseenCloseButton","_defineProperty","dark","onClick","size","kind","ariaLabel","icon","CloseSmall","TipseenTitle","text","tipseenTitle","Text","type","element","tipseenContent","Provider","value","getTestId","ComponentDefaultTestId","TIPSEEN","Tooltip","tipseenWrapper","tipseenWrapperWithoutCustomWidth","maxWidth","arrowClassName","style","undefined","shouldShowOnMount","showOnDialogEnter","theme","disableDialogSlide","open","forceRenderWithoutChildren","closeButtonThemes","TipseenCloseButtonThemeEnum","animationTypes","AnimationTypeEnum","hideShowTriggers","HideShowEventEnum","colors","TipseenColorEnum","positions","TooltipPositionsEnum"],"mappings":"iiCAqEO,IAAMA,EAAiBC,EAAMC,cAA4B,WA0IjDC,EAAAA,EAlIXC,GACF,SAAAC,EA8BEC,GACE,IA7BAC,EAASF,EAATE,UACAC,EAAEH,EAAFG,GAAEC,EAAAJ,EACFK,SAAAA,OAAW,IAAHD,EAAG,SAAQA,EAAAE,EAAAN,EACnBO,cAAAA,OAAgB,IAAHD,EAAG,SAAQA,EAAAE,EAAAR,EACxBS,UAAAA,OAAY,IAAHD,EAAG,EAACA,EAAAE,EAAAV,EACbW,UAAAA,OAAY,IAAHD,EAAG,IAAGA,EACfE,EAAKZ,EAALY,MACAC,EAAcb,EAAda,eACAC,EAAed,EAAfc,gBAAeC,EAAAf,EACfgB,iBAAAA,OAAmB,IAAHD,EAAG,QAAOA,EAC1BE,EAAOjB,EAAPiB,QACAC,EAAclB,EAAdkB,eAAcC,EAAAnB,EACdoB,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EACfE,EAAOrB,EAAPqB,QACAC,EAAiBtB,EAAjBsB,kBAAiBC,EAAAvB,EACjBwB,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAAAE,EAAAzB,EAChB0B,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAChBE,EAAK3B,EAAL2B,MACAC,EAAM5B,EAAN4B,OAAMC,EAAA7B,EACN8B,wBAAAA,OAA0B,IAAHD,GAAQA,EAC/BE,EAAyB/B,EAAzB+B,0BAAyBC,EAAAhC,EACzBiC,IAAAA,QAAM,IAAHD,GAAOA,EACVE,GAAqBlC,EAArBkC,sBAAqBC,GAAAnC,EACrBoC,UAAAA,QAAY,IAAHD,GAAG,GAAEA,GAAAE,GAAArC,EACdsC,SAAAA,QAAW,IAAHD,IAAQA,GACTE,GAASvC,EAAhBwC,MACeC,GAAUzC,EAAzB,eAIIwC,GAAQD,SAAAA,GAAa,WAErBG,GACJC,MAAMC,QAAQlB,IAAgBiB,MAAMC,QAAQpB,IAAuC,IAAvBE,EAAYmB,QAAgBlC,EAAY,EAEhGmC,GAAeC,EAAO,MACtBC,GAAYC,EAAYhD,EAAK6C,IACnCI,GAAoCC,GAAUT,IAAiBU,GAAAC,EAAAH,GAAA,GAAxDI,GAAWF,GAAA,GAAEG,GAAYH,GAAA,GAC1BI,GAAyBtC,GAAkBuC,EAEjDC,GAAU,WACR,IAAIC,EAMJ,OALIhD,IACFgD,EAAUC,YAAW,WACnBL,IAAa,EACd,GAAE5C,IAEE,WACLkD,aAAaF,GAEjB,GAAG,CAAChD,EAAW4C,KAEf,IAAMO,GAAYC,GAAQ,WACxB,MAAiB,aAAVvB,GAAuB,aAAe,WAC/C,GAAG,CAACA,KACEwB,GAAmBD,GAAQ,WAC/B,MAAyB,UAArB/C,EACe,aAAVwB,GAAuByB,EAAYC,uBAAyBD,EAAYE,iBAExEnD,CAEX,GAAG,CAACwB,GAAOxB,IAELoD,GAAiBnE,GAAOE,EAAK,MAAQkE,EACrCC,GACJ1E,EAAA2E,cAAA,MAAA,KACE3E,EAAA2E,cAAA,MAAA,CAAKrE,UAAWsE,EAAGC,EAAOC,gBACvB5D,EAAkB,KACjBlB,EAAC2E,cAAAI,GACCC,aAAW,EACX1E,UAAWsE,EAAGC,EAAOI,mBAAkBC,EACpCL,CAAAA,EAAAA,EAAOM,KAA4B,SAArB/D,GAAoD,eAArBA,IAEhDgE,QAAS/D,EACTgE,KAAK,KACLC,KAAK,WAEL1C,MAAOwB,GACPmB,UAAW3B,GACX4B,KAAMC,IAGVzF,EAAA2E,cAACe,EAAa,CAAAC,KAAM3E,EAAOV,UAAWsE,EAAGC,EAAOe,aAAc3E,MAEhEjB,EAAC2E,cAAAkB,GAAKjD,MAAOsB,GAAW4B,KAAK,QAAQC,QAAQ,IAAIzF,UAAWsE,EAAGC,EAAOmB,iBACpEhG,EAAA2E,cAAC5E,EAAekG,SAAQ,CAACC,MAAOtD,IAAQnB,KAK9C,OACEzB,gBAACwE,GAAc,CAACnE,IAAK+C,GAAW7C,GAAIA,EAAiB,cAAAsC,IAAcsD,EAAUC,EAAuBC,QAAS9F,IAC3GP,EAAC2E,cAAA2B,EACC,CAAAhG,UAAWsE,EAAGC,EAAO0B,eAAgBjG,EAAS4E,EAAAA,EAAA,CAAA,EAC3CL,EAAO2B,kCAAoCzE,GAC3C8C,EAAOnC,SAAWA,KAErB+D,SAAU1E,EACV2E,eAAgBpE,GAChBqE,MAAO5E,EAAQ,CAAEA,MAAAA,QAAU6E,EAC3BC,mBAAoB/D,GACpBrC,SAAUA,EACVE,cAAeA,EACfE,UAAWA,EACXE,UAAWA,EACXa,YAAaA,EACbE,YAAaA,EACbgF,mBAAmB,EACnBrF,QAASiD,GACTqC,MAAiB,aAAVnE,GAAuB,OAAS,UACvClB,kBAAmBA,EACnBsF,oBAAoB,EACpBhF,OAAQA,EACRE,wBAAyBA,EACzBC,0BAA2BA,EAC3BE,IAAKA,KAAQK,GACbF,UAAWA,GACXyE,KAAMnE,GAAmBY,QAAckD,EACvCM,2BAA4BxE,IAE3BlB,GAIT,IAGsC,CACtC2F,kBAAmBC,EACnBC,eAAgBC,EAChBC,iBAAkBC,EAClBC,OAAQC,EACRC,UAAWC"}
1
+ {"version":3,"file":"Tipseen.js","sources":["../../../../src/components/Tipseen/Tipseen.tsx"],"sourcesContent":["import { forwardRef, Fragment, ReactElement, useEffect, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { AnimationType as AnimationTypeEnum, HideShowEvent as HideShowEventEnum } from \"../Dialog/DialogConstants\";\nimport { DialogAnimationType, DialogTriggerEvent } from \"../Dialog/Dialog.types\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport Tooltip from \"../../components/Tooltip/Tooltip\";\nimport IconButton from \"../../components/IconButton/IconButton\";\nimport { CloseSmall } from \"@vibe/icons\";\nimport TipseenTitle from \"./TipseenTitle\";\nimport {\n TIPSEEN_CLOSE_BUTTON_ARIA_LABEL,\n TipseenCloseButtonTheme as TipseenCloseButtonThemeEnum,\n TipseenColor as TipseenColorEnum\n} from \"./TipseenConstants\";\nimport { TipseenCloseButtonTheme, TipseenColor } from \"./Tipseen.types\";\nimport { ElementContent, VibeComponent, VibeComponentProps, withStaticProps } from \"../../types\";\nimport { MoveBy } from \"../../types/MoveBy\";\nimport { Modifier } from \"react-popper\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport Text from \"../Text/Text\";\nimport styles from \"./Tipseen.module.scss\";\nimport { ButtonColor } from \"../Button/ButtonConstants\";\nimport React from \"react\";\nimport { TooltipPositions } from \"../Tooltip/Tooltip.types\";\nimport { TooltipPositions as TooltipPositionsEnum } from \"../Tooltip/TooltipConstants\";\n\nexport interface TipseenProps extends VibeComponentProps {\n /**\n * Class name applied to the Tipseen title.\n */\n titleClassName?: string;\n /**\n * The position of the Tipseen relative to the target element.\n */\n position?: TooltipPositions;\n /**\n * The animation type used for showing/hiding the Tipseen.\n */\n animationType?: DialogAnimationType;\n /**\n * The delay in milliseconds before hiding the Tipseen.\n */\n hideDelay?: number;\n /**\n * The delay in milliseconds before showing the Tipseen.\n */\n showDelay?: number;\n /**\n * The title text of the Tipseen.\n */\n title?: string;\n /**\n * If true, hides the close button.\n */\n hideCloseButton?: boolean;\n /**\n * The child element that triggers the Tipseen.\n */\n children?: ReactElement;\n /**\n * The CSS selector of the container where the Tipseen should be rendered.\n */\n containerSelector?: string;\n /**\n * Events that trigger hiding the Tipseen.\n */\n hideTrigger?: DialogTriggerEvent | Array<DialogTriggerEvent>;\n /**\n * Events that trigger showing the Tipseen.\n */\n showTrigger?: DialogTriggerEvent | Array<DialogTriggerEvent>;\n /**\n * The width of the Tipseen.\n */\n width?: number;\n /**\n * Offset values for positioning adjustments.\n */\n moveBy?: MoveBy;\n /**\n * If true, hides the Tipseen when the reference element is hidden.\n */\n hideWhenReferenceHidden?: boolean;\n /**\n * Class name applied to the reference wrapper element.\n */\n referenceWrapperClassName?: string;\n /**\n * If false, hides the arrow of the Tipseen.\n */\n tip?: boolean;\n /**\n * Class name applied to the Tipseen arrow.\n */\n tooltipArrowClassName?: string;\n /**\n * Custom Popper.js modifiers.\n * https://popper.js.org/docs/v2/modifiers/\n */\n modifiers?: Array<Modifier<unknown>>;\n /**\n * The aria-label for the close button.\n */\n closeAriaLabel?: string;\n /**\n * Callback fired when the Tipseen is closed.\n */\n onClose?: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n /**\n * The content displayed inside the Tipseen.\n */\n content: ElementContent;\n /**\n * The theme of the Tipseen close button.\n */\n closeButtonTheme?: TipseenCloseButtonTheme;\n /**\n * If true, renders the Tipseen as a floating element without a reference.\n */\n floating?: boolean;\n /**\n * The color theme of the Tipseen.\n */\n color?: TipseenColor;\n}\n\nexport const TipseenContext = React.createContext<TipseenColor>(\"primary\");\n\nconst Tipseen: VibeComponent<TipseenProps> & {\n closeButtonThemes?: typeof TipseenCloseButtonThemeEnum;\n animationTypes?: typeof AnimationTypeEnum;\n hideShowTriggers?: typeof HideShowEventEnum;\n colors?: typeof TipseenColorEnum;\n positions?: typeof TooltipPositionsEnum;\n} = forwardRef(\n (\n {\n className,\n id,\n position = \"bottom\",\n animationType = \"expand\",\n hideDelay = 0,\n showDelay = 100,\n title,\n titleClassName,\n hideCloseButton,\n closeButtonTheme = \"light\",\n onClose,\n closeAriaLabel,\n children = null,\n content,\n containerSelector,\n hideTrigger = [],\n showTrigger = [],\n width,\n moveBy,\n hideWhenReferenceHidden = false,\n referenceWrapperClassName,\n tip = true,\n tooltipArrowClassName,\n modifiers = [],\n floating = false,\n color: colorProp,\n \"data-testid\": dataTestId\n }: TipseenProps,\n ref\n ) => {\n const color = colorProp ?? \"inverted\";\n\n const defaultDelayOpen =\n Array.isArray(showTrigger) && Array.isArray(hideTrigger) && showTrigger.length === 0 && showDelay > 0;\n\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const [delayedOpen, setDelayOpen] = useState(!defaultDelayOpen);\n const overrideCloseAriaLabel = closeAriaLabel || TIPSEEN_CLOSE_BUTTON_ARIA_LABEL;\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n if (showDelay) {\n timeout = setTimeout(() => {\n setDelayOpen(true);\n }, showDelay);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [showDelay, setDelayOpen]);\n\n const textColor = useMemo(() => {\n return color === \"inverted\" ? \"onInverted\" : \"onPrimary\";\n }, [color]);\n const closeButtonColor = useMemo(() => {\n if (closeButtonTheme === \"light\") {\n return color === \"inverted\" ? ButtonColor.ON_INVERTED_BACKGROUND : ButtonColor.ON_PRIMARY_COLOR;\n } else {\n return closeButtonTheme;\n }\n }, [color, closeButtonTheme]);\n\n const TipseenWrapper = ref || id ? \"div\" : Fragment;\n const tooltipContent = (\n <div>\n <div className={cx(styles.tipseenHeader)}>\n {hideCloseButton ? null : (\n <IconButton\n hideTooltip\n className={cx(styles.tipseenCloseButton, {\n [styles.dark]: closeButtonTheme === \"dark\" || closeButtonTheme === \"fixed-dark\"\n })}\n onClick={onClose}\n size=\"xs\"\n kind=\"tertiary\"\n // @ts-ignore\n color={closeButtonColor}\n ariaLabel={overrideCloseAriaLabel}\n icon={CloseSmall}\n />\n )}\n <TipseenTitle text={title} className={cx(styles.tipseenTitle, titleClassName)} />\n </div>\n <Text color={textColor} type=\"text2\" element=\"p\" className={cx(styles.tipseenContent)}>\n <TipseenContext.Provider value={color}>{content}</TipseenContext.Provider>\n </Text>\n </div>\n );\n\n return (\n <TipseenWrapper ref={mergedRef} id={id} data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN, id)}>\n <Tooltip\n className={cx(styles.tipseenWrapper, className, {\n [styles.tipseenWrapperWithoutCustomWidth]: !width,\n [styles.floating]: floating\n })}\n maxWidth={width}\n arrowClassName={tooltipArrowClassName}\n style={width ? { width } : undefined}\n shouldShowOnMount={!defaultDelayOpen}\n position={position}\n animationType={animationType}\n hideDelay={hideDelay}\n showDelay={showDelay}\n hideTrigger={hideTrigger}\n showTrigger={showTrigger}\n showOnDialogEnter={false}\n content={tooltipContent}\n theme={color === \"inverted\" ? \"dark\" : \"primary\"}\n containerSelector={containerSelector}\n disableDialogSlide={false}\n moveBy={moveBy}\n hideWhenReferenceHidden={hideWhenReferenceHidden}\n referenceWrapperClassName={referenceWrapperClassName}\n tip={tip && !floating}\n modifiers={modifiers}\n open={defaultDelayOpen ? delayedOpen : undefined}\n forceRenderWithoutChildren={floating}\n >\n {children}\n </Tooltip>\n </TipseenWrapper>\n );\n }\n);\n\nexport default withStaticProps(Tipseen, {\n closeButtonThemes: TipseenCloseButtonThemeEnum,\n animationTypes: AnimationTypeEnum,\n hideShowTriggers: HideShowEventEnum,\n colors: TipseenColorEnum,\n positions: TooltipPositionsEnum\n});\n"],"names":["TipseenContext","React","createContext","withStaticProps","forwardRef","_ref","ref","className","id","_ref$position","position","_ref$animationType","animationType","_ref$hideDelay","hideDelay","_ref$showDelay","showDelay","title","titleClassName","hideCloseButton","_ref$closeButtonTheme","closeButtonTheme","onClose","closeAriaLabel","_ref$children","children","content","containerSelector","_ref$hideTrigger","hideTrigger","_ref$showTrigger","showTrigger","width","moveBy","_ref$hideWhenReferenc","hideWhenReferenceHidden","referenceWrapperClassName","_ref$tip","tip","tooltipArrowClassName","_ref$modifiers","modifiers","_ref$floating","floating","colorProp","color","dataTestId","defaultDelayOpen","Array","isArray","length","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","delayedOpen","setDelayOpen","overrideCloseAriaLabel","TIPSEEN_CLOSE_BUTTON_ARIA_LABEL","useEffect","timeout","setTimeout","clearTimeout","textColor","useMemo","closeButtonColor","ButtonColor","ON_INVERTED_BACKGROUND","ON_PRIMARY_COLOR","TipseenWrapper","Fragment","tooltipContent","createElement","cx","styles","tipseenHeader","IconButton","hideTooltip","tipseenCloseButton","_defineProperty","dark","onClick","size","kind","ariaLabel","icon","CloseSmall","TipseenTitle","text","tipseenTitle","Text","type","element","tipseenContent","Provider","value","getTestId","ComponentDefaultTestId","TIPSEEN","Tooltip","tipseenWrapper","tipseenWrapperWithoutCustomWidth","maxWidth","arrowClassName","style","undefined","shouldShowOnMount","showOnDialogEnter","theme","disableDialogSlide","open","forceRenderWithoutChildren","closeButtonThemes","TipseenCloseButtonThemeEnum","animationTypes","AnimationTypeEnum","hideShowTriggers","HideShowEventEnum","colors","TipseenColorEnum","positions","TooltipPositionsEnum"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TipseenBasicContent.js","sources":["../../../../src/components/Tipseen/TipseenBasicContent.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport TipseenTitle from \"./TipseenTitle\";\nimport { VibeComponentProps } from \"../../types\";\nimport { ElementContent } from \"../../types/ElementContent\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./TipseenBasicContent.module.scss\";\n\nexport interface TipseenBasicContentProps extends VibeComponentProps {\n title?: string;\n titleClassName?: string;\n children?: ElementContent | ElementContent[];\n}\n\nconst TipseenBasicContent: React.FC<TipseenBasicContentProps> = ({\n title,\n children = null,\n titleClassName,\n className,\n id,\n \"data-testid\": dataTestId\n}) => {\n return (\n <div\n className={cx(styles.tipseenBasicContent, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN_CONTENT, id)}\n >\n <TipseenTitle text={title} className={titleClassName} />\n {children}\n </div>\n );\n};\n\nexport default TipseenBasicContent;\n"],"names":["TipseenBasicContent","_ref","title","_ref$children","children","titleClassName","id","dataTestId","React","createElement","className","cx","styles","tipseenBasicContent","getTestId","ComponentDefaultTestId","TIPSEEN_CONTENT","TipseenTitle","text"],"mappings":"yPAeA,IAAMA,EAA0D,SAAvCC,GAOpB,IANHC,EAAKD,EAALC,MAAKC,EAAAF,EACLG,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EACfE,EAAcJ,EAAdI,eAEAC,EAAEL,EAAFK,GACeC,EAAUN,EAAzB,eAEA,OACEO,EACEC,cAAA,MAAA,CAAAC,UAAWC,EAAGC,EAAOC,oBANhBZ,EAATS,WAOIJ,GAAIA,EACS,cAAAC,GAAcO,EAAUC,EAAuBC,gBAAiBV,IAE7EE,EAACC,cAAAQ,GAAaC,KAAMhB,EAAOQ,UAAWL,IACrCD,EAGP"}
1
+ {"version":3,"file":"TipseenBasicContent.js","sources":["../../../../src/components/Tipseen/TipseenBasicContent.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport TipseenTitle from \"./TipseenTitle\";\nimport { VibeComponentProps } from \"../../types\";\nimport { ElementContent } from \"../../types/ElementContent\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./TipseenBasicContent.module.scss\";\n\nexport interface TipseenBasicContentProps extends VibeComponentProps {\n /**\n * The title text displayed in the Tipseen content.\n */\n title?: string;\n /**\n * Class name applied to the title.\n */\n titleClassName?: string;\n /**\n * The content inside the Tipseen.\n */\n children?: ElementContent | ElementContent[];\n}\n\nconst TipseenBasicContent: React.FC<TipseenBasicContentProps> = ({\n title,\n children = null,\n titleClassName,\n className,\n id,\n \"data-testid\": dataTestId\n}) => {\n return (\n <div\n className={cx(styles.tipseenBasicContent, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN_CONTENT, id)}\n >\n <TipseenTitle text={title} className={titleClassName} />\n {children}\n </div>\n );\n};\n\nexport default TipseenBasicContent;\n"],"names":["TipseenBasicContent","_ref","title","_ref$children","children","titleClassName","id","dataTestId","React","createElement","className","cx","styles","tipseenBasicContent","getTestId","ComponentDefaultTestId","TIPSEEN_CONTENT","TipseenTitle","text"],"mappings":"yPAwBA,IAAMA,EAA0D,SAAvCC,GAOpB,IANHC,EAAKD,EAALC,MAAKC,EAAAF,EACLG,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EACfE,EAAcJ,EAAdI,eAEAC,EAAEL,EAAFK,GACeC,EAAUN,EAAzB,eAEA,OACEO,EACEC,cAAA,MAAA,CAAAC,UAAWC,EAAGC,EAAOC,oBANhBZ,EAATS,WAOIJ,GAAIA,EACS,cAAAC,GAAcO,EAAUC,EAAuBC,gBAAiBV,IAE7EE,EAACC,cAAAQ,GAAaC,KAAMhB,EAAOQ,UAAWL,IACrCD,EAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"TipseenContent.js","sources":["../../../../src/components/Tipseen/TipseenContent.tsx"],"sourcesContent":["import React, { FC, useContext, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport Button from \"../../components/Button/Button\";\nimport { DISMISS_BUTTON_TEXT, SUBMIT_BUTTON_TEXT, TipseenColor } from \"./TipseenConstants\";\nimport TipseenBasicContent from \"./TipseenBasicContent\";\nimport { VibeComponentProps } from \"../../types\";\nimport { ElementContent } from \"../../types/ElementContent\";\nimport styles from \"./TipseenContent.module.scss\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { TipseenContext } from \"./Tipseen\";\nimport { ButtonColor } from \"../Button/ButtonConstants\";\nimport { SubIcon } from \"../../types\";\n\nexport interface TipseenContentProps extends VibeComponentProps {\n title?: string;\n /**\n * Classname for overriding TipseenTitle styles\n */\n titleClassName?: string;\n hideDismiss?: boolean;\n children?: ElementContent;\n hideSubmit?: boolean;\n submitButtonText?: string;\n /**\n * Icon to display in the submit button\n */\n submitButtonIcon?: SubIcon;\n onSubmit?: (event: React.MouseEvent) => void;\n dismissButtonText?: string;\n onDismiss?: (event: React.MouseEvent) => void;\n}\n\nconst TipseenContent: FC<TipseenContentProps> = ({\n id,\n title,\n titleClassName,\n children = null,\n hideDismiss = true,\n hideSubmit,\n submitButtonText = SUBMIT_BUTTON_TEXT,\n submitButtonIcon,\n onSubmit,\n dismissButtonText = DISMISS_BUTTON_TEXT,\n onDismiss\n}) => {\n const color = useContext(TipseenContext);\n const buttonColor = useMemo(() => {\n return color === TipseenColor.INVERTED ? ButtonColor.ON_INVERTED_BACKGROUND : ButtonColor.ON_PRIMARY_COLOR;\n }, [color]);\n\n return (\n <TipseenBasicContent title={title} titleClassName={titleClassName} id={id}>\n {children ? <span>{children}</span> : null}\n <div className={cx(styles.buttons)}>\n {hideDismiss ? null : (\n <Button\n kind=\"tertiary\"\n color={buttonColor}\n className={styles.dismiss}\n size=\"small\"\n onClick={onDismiss}\n data-testid={getTestId(ComponentDefaultTestId.TIPSEEN_CONTENT_DISMISS)}\n >\n {dismissButtonText}\n </Button>\n )}\n {hideSubmit ? null : (\n <Button\n kind=\"primary\"\n color={buttonColor}\n size=\"small\"\n onClick={onSubmit}\n data-testid={getTestId(ComponentDefaultTestId.TIPSEEN_CONTENT_SUBMIT)}\n leftIcon={submitButtonIcon}\n >\n {submitButtonText}\n </Button>\n )}\n </div>\n </TipseenBasicContent>\n );\n};\n\nexport default TipseenContent;\n"],"names":["TipseenContent","_ref","id","title","titleClassName","_ref$children","children","_ref$hideDismiss","hideDismiss","hideSubmit","_ref$submitButtonText","submitButtonText","SUBMIT_BUTTON_TEXT","submitButtonIcon","onSubmit","_ref$dismissButtonTex","dismissButtonText","DISMISS_BUTTON_TEXT","onDismiss","color","useContext","TipseenContext","buttonColor","useMemo","TipseenColor","INVERTED","ButtonColor","ON_INVERTED_BACKGROUND","ON_PRIMARY_COLOR","React","createElement","TipseenBasicContent","className","cx","styles","buttons","Button","kind","dismiss","size","onClick","getTestId","ComponentDefaultTestId","TIPSEEN_CONTENT_DISMISS","TIPSEEN_CONTENT_SUBMIT","leftIcon"],"mappings":"2gBAiCA,IAAMA,EAA0C,SAA5BC,GAYf,IAXHC,EAAED,EAAFC,GACAC,EAAKF,EAALE,MACAC,EAAcH,EAAdG,eAAcC,EAAAJ,EACdK,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EAAAE,EAAAN,EACfO,YAAAA,OAAc,IAAHD,GAAOA,EAClBE,EAAUR,EAAVQ,WAAUC,EAAAT,EACVU,iBAAAA,OAAmBC,IAAHF,EAAGE,EAAkBF,EACrCG,EAAgBZ,EAAhBY,iBACAC,EAAQb,EAARa,SAAQC,EAAAd,EACRe,kBAAAA,OAAoBC,IAAHF,EAAGE,EAAmBF,EACvCG,EAASjB,EAATiB,UAEMC,EAAQC,EAAWC,GACnBC,EAAcC,GAAQ,WAC1B,OAAOJ,IAAUK,EAAaC,SAAWC,EAAYC,uBAAyBD,EAAYE,gBAC5F,GAAG,CAACT,IAEJ,OACEU,EAAAC,cAACC,EAAmB,CAAC5B,MAAOA,EAAOC,eAAgBA,EAAgBF,GAAIA,GACpEI,EAAWuB,EAAAC,cAAA,OAAA,KAAOxB,GAAmB,KACtCuB,EAAAC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOC,UACvB3B,EAAc,KACbqB,EAAAC,cAACM,EACC,CAAAC,KAAK,WACLlB,MAAOG,EACPU,UAAWE,EAAOI,QAClBC,KAAK,QACLC,QAAStB,gBACIuB,EAAUC,EAAuBC,0BAE7C3B,GAGJP,EAAa,KACZoB,EAACC,cAAAM,GACCC,KAAK,UACLlB,MAAOG,EACPiB,KAAK,QACLC,QAAS1B,EACI,cAAA2B,EAAUC,EAAuBE,wBAC9CC,SAAUhC,GAETF,IAMb"}
1
+ {"version":3,"file":"TipseenContent.js","sources":["../../../../src/components/Tipseen/TipseenContent.tsx"],"sourcesContent":["import React, { FC, useContext, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport Button from \"../../components/Button/Button\";\nimport { DISMISS_BUTTON_TEXT, SUBMIT_BUTTON_TEXT, TipseenColor } from \"./TipseenConstants\";\nimport TipseenBasicContent from \"./TipseenBasicContent\";\nimport { VibeComponentProps } from \"../../types\";\nimport { ElementContent } from \"../../types/ElementContent\";\nimport styles from \"./TipseenContent.module.scss\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { TipseenContext } from \"./Tipseen\";\nimport { ButtonColor } from \"../Button/ButtonConstants\";\nimport { SubIcon } from \"../../types\";\n\nexport interface TipseenContentProps extends VibeComponentProps {\n /**\n * The title text displayed in the Tipseen content.\n */\n title?: string;\n /**\n * Class name applied to the Tipseen title.\n */\n titleClassName?: string;\n /**\n * If true, hides the dismiss button.\n */\n hideDismiss?: boolean;\n /**\n * The content inside the Tipseen.\n */\n children?: ElementContent;\n /**\n * If true, hides the submit button.\n */\n hideSubmit?: boolean;\n /**\n * The text displayed on the submit button.\n */\n submitButtonText?: string;\n /**\n * Icon to display in the submit button\n */\n submitButtonIcon?: SubIcon;\n /**\n * Callback fired when the submit button is clicked.\n */\n onSubmit?: (event: React.MouseEvent) => void;\n /**\n * The text displayed on the dismiss button.\n */\n dismissButtonText?: string;\n /**\n * Callback fired when the dismiss button is clicked.\n */\n onDismiss?: (event: React.MouseEvent) => void;\n}\n\nconst TipseenContent: FC<TipseenContentProps> = ({\n id,\n title,\n titleClassName,\n children = null,\n hideDismiss = true,\n hideSubmit,\n submitButtonText = SUBMIT_BUTTON_TEXT,\n submitButtonIcon,\n onSubmit,\n dismissButtonText = DISMISS_BUTTON_TEXT,\n onDismiss\n}) => {\n const color = useContext(TipseenContext);\n const buttonColor = useMemo(() => {\n return color === TipseenColor.INVERTED ? ButtonColor.ON_INVERTED_BACKGROUND : ButtonColor.ON_PRIMARY_COLOR;\n }, [color]);\n\n return (\n <TipseenBasicContent title={title} titleClassName={titleClassName} id={id}>\n {children ? <span>{children}</span> : null}\n <div className={cx(styles.buttons)}>\n {hideDismiss ? null : (\n <Button\n kind=\"tertiary\"\n color={buttonColor}\n className={styles.dismiss}\n size=\"small\"\n onClick={onDismiss}\n data-testid={getTestId(ComponentDefaultTestId.TIPSEEN_CONTENT_DISMISS)}\n >\n {dismissButtonText}\n </Button>\n )}\n {hideSubmit ? null : (\n <Button\n kind=\"primary\"\n color={buttonColor}\n size=\"small\"\n onClick={onSubmit}\n data-testid={getTestId(ComponentDefaultTestId.TIPSEEN_CONTENT_SUBMIT)}\n leftIcon={submitButtonIcon}\n >\n {submitButtonText}\n </Button>\n )}\n </div>\n </TipseenBasicContent>\n );\n};\n\nexport default TipseenContent;\n"],"names":["TipseenContent","_ref","id","title","titleClassName","_ref$children","children","_ref$hideDismiss","hideDismiss","hideSubmit","_ref$submitButtonText","submitButtonText","SUBMIT_BUTTON_TEXT","submitButtonIcon","onSubmit","_ref$dismissButtonTex","dismissButtonText","DISMISS_BUTTON_TEXT","onDismiss","color","useContext","TipseenContext","buttonColor","useMemo","TipseenColor","INVERTED","ButtonColor","ON_INVERTED_BACKGROUND","ON_PRIMARY_COLOR","React","createElement","TipseenBasicContent","className","cx","styles","buttons","Button","kind","dismiss","size","onClick","getTestId","ComponentDefaultTestId","TIPSEEN_CONTENT_DISMISS","TIPSEEN_CONTENT_SUBMIT","leftIcon"],"mappings":"2gBAyDA,IAAMA,EAA0C,SAA5BC,GAYf,IAXHC,EAAED,EAAFC,GACAC,EAAKF,EAALE,MACAC,EAAcH,EAAdG,eAAcC,EAAAJ,EACdK,SAAAA,OAAW,IAAHD,EAAG,KAAIA,EAAAE,EAAAN,EACfO,YAAAA,OAAc,IAAHD,GAAOA,EAClBE,EAAUR,EAAVQ,WAAUC,EAAAT,EACVU,iBAAAA,OAAmBC,IAAHF,EAAGE,EAAkBF,EACrCG,EAAgBZ,EAAhBY,iBACAC,EAAQb,EAARa,SAAQC,EAAAd,EACRe,kBAAAA,OAAoBC,IAAHF,EAAGE,EAAmBF,EACvCG,EAASjB,EAATiB,UAEMC,EAAQC,EAAWC,GACnBC,EAAcC,GAAQ,WAC1B,OAAOJ,IAAUK,EAAaC,SAAWC,EAAYC,uBAAyBD,EAAYE,gBAC5F,GAAG,CAACT,IAEJ,OACEU,EAAAC,cAACC,EAAmB,CAAC5B,MAAOA,EAAOC,eAAgBA,EAAgBF,GAAIA,GACpEI,EAAWuB,EAAAC,cAAA,OAAA,KAAOxB,GAAmB,KACtCuB,EAAAC,cAAA,MAAA,CAAKE,UAAWC,EAAGC,EAAOC,UACvB3B,EAAc,KACbqB,EAAAC,cAACM,EACC,CAAAC,KAAK,WACLlB,MAAOG,EACPU,UAAWE,EAAOI,QAClBC,KAAK,QACLC,QAAStB,gBACIuB,EAAUC,EAAuBC,0BAE7C3B,GAGJP,EAAa,KACZoB,EAACC,cAAAM,GACCC,KAAK,UACLlB,MAAOG,EACPiB,KAAK,QACLC,QAAS1B,EACI,cAAA2B,EAAUC,EAAuBE,wBAC9CC,SAAUhC,GAETF,IAMb"}
@@ -1 +1 @@
1
- {"version":3,"file":"TipseenImage.js","sources":["../../../../src/components/Tipseen/TipseenImage.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React from \"react\";\nimport styles from \"./TipseenImage.module.scss\";\nimport TipseenMedia from \"./TipseenMedia/TipseenMedia\";\n\nexport interface TipseenImageProps {\n // Better be required, but it might be a breaking change\n src?: string | undefined;\n // Better be required, but it might be a breaking change\n alt?: string;\n className?: string;\n tipseenMediaClassName?: string;\n}\n\nconst TipseenImage: React.FC<TipseenImageProps> = ({ src, alt, className, tipseenMediaClassName }) => {\n return (\n // TODO future breaking change where we remove the TipseenMedia component and we remove TipseenImage?\n <TipseenMedia className={tipseenMediaClassName}>\n <img src={src} alt={alt} className={cx(styles.tipseenImage, className)} />\n </TipseenMedia>\n );\n};\n\nexport default TipseenImage;\n"],"names":["TipseenImage","_ref","React","createElement","TipseenMedia","className","tipseenMediaClassName","src","alt","cx","styles","tipseenImage"],"mappings":"0IAcA,IAAMA,EAA4C,SAAhCC,GAChB,OAEEC,EAAAC,cAACC,EAAY,CAACC,UAH6EJ,EAArBK,uBAIpEJ,EAAKC,cAAA,MAAA,CAAAI,IAJ6CN,EAAHM,IAIhCC,IAJwCP,EAAHO,IAI3BH,UAAWI,EAAGC,EAAOC,aAJoBV,EAATI,aAO/D"}
1
+ {"version":3,"file":"TipseenImage.js","sources":["../../../../src/components/Tipseen/TipseenImage.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React from \"react\";\nimport styles from \"./TipseenImage.module.scss\";\nimport TipseenMedia from \"./TipseenMedia/TipseenMedia\";\n\nexport interface TipseenImageProps {\n /**\n * The source URL of the image.\n */\n src?: string | undefined;\n /**\n * The alternative text for the image, used for accessibility.\n */\n alt?: string;\n /**\n * Class name applied to the image element.\n */\n className?: string;\n /**\n * Class name applied to the TipseenMedia container.\n */\n tipseenMediaClassName?: string;\n}\n\nconst TipseenImage: React.FC<TipseenImageProps> = ({ src, alt, className, tipseenMediaClassName }) => {\n return (\n // TODO future breaking change where we remove the TipseenMedia component and we remove TipseenImage?\n <TipseenMedia className={tipseenMediaClassName}>\n <img src={src} alt={alt} className={cx(styles.tipseenImage, className)} />\n </TipseenMedia>\n );\n};\n\nexport default TipseenImage;\n"],"names":["TipseenImage","_ref","React","createElement","TipseenMedia","className","tipseenMediaClassName","src","alt","cx","styles","tipseenImage"],"mappings":"0IAwBA,IAAMA,EAA4C,SAAhCC,GAChB,OAEEC,EAAAC,cAACC,EAAY,CAACC,UAH6EJ,EAArBK,uBAIpEJ,EAAKC,cAAA,MAAA,CAAAI,IAJ6CN,EAAHM,IAIhCC,IAJwCP,EAAHO,IAI3BH,UAAWI,EAAGC,EAAOC,aAJoBV,EAATI,aAO/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"TipseenMedia.js","sources":["../../../../../src/components/Tipseen/TipseenMedia/TipseenMedia.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren, ReactNode, useContext, useMemo, useRef } from \"react\";\nimport cx from \"classnames\";\nimport useMergeRef from \"../../../hooks/useMergeRef\";\nimport VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport VibeComponent from \"../../../types/VibeComponent\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\nimport styles from \"./TipseenMedia.module.scss\";\nimport { TipseenContext } from \"../Tipseen\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"lodash-es\";\n\nexport interface TipseenMediaProps extends PropsWithChildren<VibeComponentProps> {\n children: ReactNode;\n}\n\nconst TipseenMedia: VibeComponent<TipseenMediaProps, HTMLElement> = forwardRef(\n ({ className, id, \"data-testid\": dataTestId, children }: TipseenMediaProps, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const color = useContext(TipseenContext);\n\n const classNames = useMemo(() => {\n return cx(styles.tipseenMedia, getStyle(styles, camelCase(\"color-\" + color)), className);\n }, [color, className]);\n\n return (\n <div\n ref={mergedRef}\n className={classNames}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN_MEDIA, id)}\n >\n {children}\n </div>\n );\n }\n);\n\nexport default TipseenMedia;\n"],"names":["TipseenMedia","forwardRef","_ref","ref","className","id","dataTestId","children","componentRef","useRef","mergedRef","useMergeRef","color","useContext","TipseenContext","classNames","useMemo","cx","styles","tipseenMedia","getStyle","camelCase","React","createElement","getTestId","ComponentDefaultTestId","TIPSEEN_MEDIA"],"mappings":"4dAgBMA,IAAAA,EAA8DC,GAClE,SAAAC,EAA4EC,GAAO,IAAhFC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAmBC,EAAUJ,EAAzB,eAA2BK,EAAQL,EAARK,SACrCC,EAAeC,EAAO,MACtBC,EAAYC,EAAYR,EAAKK,GAC7BI,EAAQC,EAAWC,GAEnBC,EAAaC,GAAQ,WACzB,OAAOC,EAAGC,EAAOC,aAAcC,EAASF,EAAQG,EAAU,SAAWT,IAASR,EAChF,GAAG,CAACQ,EAAOR,IAEX,OACEkB,EAAAC,cAAA,MAAA,CACEpB,IAAKO,EACLN,UAAWW,EACXV,GAAIA,EAAE,cACOC,GAAckB,EAAUC,EAAuBC,cAAerB,IAE1EE,EAGP"}
1
+ {"version":3,"file":"TipseenMedia.js","sources":["../../../../../src/components/Tipseen/TipseenMedia/TipseenMedia.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren, ReactNode, useContext, useMemo, useRef } from \"react\";\nimport cx from \"classnames\";\nimport useMergeRef from \"../../../hooks/useMergeRef\";\nimport VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport VibeComponent from \"../../../types/VibeComponent\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\nimport styles from \"./TipseenMedia.module.scss\";\nimport { TipseenContext } from \"../Tipseen\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"lodash-es\";\n\nexport interface TipseenMediaProps extends PropsWithChildren<VibeComponentProps> {\n /**\n * The media content displayed inside the Tipseen.\n */\n children: ReactNode;\n}\n\nconst TipseenMedia: VibeComponent<TipseenMediaProps, HTMLElement> = forwardRef(\n ({ className, id, \"data-testid\": dataTestId, children }: TipseenMediaProps, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const color = useContext(TipseenContext);\n\n const classNames = useMemo(() => {\n return cx(styles.tipseenMedia, getStyle(styles, camelCase(\"color-\" + color)), className);\n }, [color, className]);\n\n return (\n <div\n ref={mergedRef}\n className={classNames}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN_MEDIA, id)}\n >\n {children}\n </div>\n );\n }\n);\n\nexport default TipseenMedia;\n"],"names":["TipseenMedia","forwardRef","_ref","ref","className","id","dataTestId","children","componentRef","useRef","mergedRef","useMergeRef","color","useContext","TipseenContext","classNames","useMemo","cx","styles","tipseenMedia","getStyle","camelCase","React","createElement","getTestId","ComponentDefaultTestId","TIPSEEN_MEDIA"],"mappings":"4dAmBMA,IAAAA,EAA8DC,GAClE,SAAAC,EAA4EC,GAAO,IAAhFC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAmBC,EAAUJ,EAAzB,eAA2BK,EAAQL,EAARK,SACrCC,EAAeC,EAAO,MACtBC,EAAYC,EAAYR,EAAKK,GAC7BI,EAAQC,EAAWC,GAEnBC,EAAaC,GAAQ,WACzB,OAAOC,EAAGC,EAAOC,aAAcC,EAASF,EAAQG,EAAU,SAAWT,IAASR,EAChF,GAAG,CAACQ,EAAOR,IAEX,OACEkB,EAAAC,cAAA,MAAA,CACEpB,IAAKO,EACLN,UAAWW,EACXV,GAAIA,EAAE,cACOC,GAAckB,EAAUC,EAAuBC,cAAerB,IAE1EE,EAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"TipseenTitle.js","sources":["../../../../src/components/Tipseen/TipseenTitle.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { VibeComponentProps } from \"../../types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport Text from \"../Text/Text\";\nimport cx from \"classnames\";\nimport styles from \"./TipseenTitle.module.scss\";\n\nexport interface TipseenTitleProps extends VibeComponentProps {\n text?: string;\n}\n\nconst TipseenTitle: FC<TipseenTitleProps> = ({ text, className, id, \"data-testid\": dataTestId }) => {\n return text ? (\n <Text\n type=\"text1\"\n weight=\"bold\"\n role=\"heading\"\n color=\"inherit\"\n aria-level={3}\n maxLines={2}\n className={cx(styles.title, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN_TITLE, id)}\n >\n {text}\n </Text>\n ) : null;\n};\n\nexport default TipseenTitle;\n"],"names":["TipseenTitle","_ref","text","id","dataTestId","React","createElement","Text","type","weight","role","color","maxLines","className","cx","styles","title","getTestId","ComponentDefaultTestId","TIPSEEN_TITLE"],"mappings":"gPAYA,IAAMA,EAAsC,SAA1BC,GAAiF,IAApDC,EAAID,EAAJC,KAAiBC,EAAEF,EAAFE,GAAmBC,EAAUH,EAAzB,eAClE,OAAOC,EACLG,EAAAC,cAACC,EAAI,CACHC,KAAK,QACLC,OAAO,OACPC,KAAK,UACLC,MAAM,UAAS,aACH,EACZC,SAAU,EACVC,UAAWC,EAAGC,EAAOC,MATmCf,EAATY,WAU/CV,GAAIA,EAAE,cACOC,GAAca,EAAUC,EAAuBC,cAAehB,IAE1ED,GAED,IACN"}
1
+ {"version":3,"file":"TipseenTitle.js","sources":["../../../../src/components/Tipseen/TipseenTitle.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { VibeComponentProps } from \"../../types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport Text from \"../Text/Text\";\nimport cx from \"classnames\";\nimport styles from \"./TipseenTitle.module.scss\";\n\nexport interface TipseenTitleProps extends VibeComponentProps {\n /**\n * The title text displayed in the Tipseen.\n */\n text?: string;\n}\n\nconst TipseenTitle: FC<TipseenTitleProps> = ({ text, className, id, \"data-testid\": dataTestId }) => {\n return text ? (\n <Text\n type=\"text1\"\n weight=\"bold\"\n role=\"heading\"\n color=\"inherit\"\n aria-level={3}\n maxLines={2}\n className={cx(styles.title, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TIPSEEN_TITLE, id)}\n >\n {text}\n </Text>\n ) : null;\n};\n\nexport default TipseenTitle;\n"],"names":["TipseenTitle","_ref","text","id","dataTestId","React","createElement","Text","type","weight","role","color","maxLines","className","cx","styles","title","getTestId","ComponentDefaultTestId","TIPSEEN_TITLE"],"mappings":"gPAeA,IAAMA,EAAsC,SAA1BC,GAAiF,IAApDC,EAAID,EAAJC,KAAiBC,EAAEF,EAAFE,GAAmBC,EAAUH,EAAzB,eAClE,OAAOC,EACLG,EAAAC,cAACC,EAAI,CACHC,KAAK,QACLC,OAAO,OACPC,KAAK,UACLC,MAAM,UAAS,aACH,EACZC,SAAU,EACVC,UAAWC,EAAGC,EAAOC,MATmCf,EAATY,WAU/CV,GAAIA,EAAE,cACOC,GAAca,EAAUC,EAAuBC,cAAehB,IAE1ED,GAED,IACN"}
@@ -1 +1 @@
1
- {"version":3,"file":"TipseenWizard.js","sources":["../../../../src/components/Tipseen/TipseenWizard.tsx"],"sourcesContent":["import React, { FC, useContext, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport Steps, { StepsProps } from \"../Steps/Steps\";\nimport TipseenBasicContent from \"./TipseenBasicContent\";\nimport styles from \"./TipseenWizard.module.scss\";\nimport { TipseenContext } from \"./Tipseen\";\nimport { TipseenColor } from \"./TipseenConstants\";\nimport { ButtonSize, ButtonType } from \"../Button\";\n\nconst FINISH_TEXT = \"Got it\";\n\nexport interface TipseenWizardProps extends StepsProps {\n title?: string;\n /**\n * Classname for overriding TipseenTitle styles\n */\n titleClassName?: string;\n onFinish?: (e: React.MouseEvent | React.KeyboardEvent) => void;\n}\n\nconst TipseenWizard: FC<TipseenWizardProps> = ({ id, title, onFinish, titleClassName, className, ...stepsProps }) => {\n const overrideStepsProps = stepsProps as StepsProps;\n const color = useContext(TipseenContext);\n const buttonColor = useMemo(() => {\n return color === TipseenColor.INVERTED ? \"on-inverted-background\" : \"on-primary-color\";\n }, [color]);\n\n const nextButtonProps = useMemo(\n () => ({\n kind: \"primary\" as ButtonType,\n size: \"small\" as ButtonSize\n }),\n []\n );\n const backButtonProps = useMemo(\n () => ({\n size: \"small\" as ButtonSize\n }),\n []\n );\n const finishButtonProps = useMemo(\n () => ({\n kind: \"primary\" as ButtonType,\n size: \"small\" as ButtonSize,\n children: FINISH_TEXT\n }),\n []\n );\n return (\n <TipseenBasicContent\n title={title}\n className={cx(styles.tipseenWizard, className)}\n titleClassName={titleClassName}\n id={id || \"wizard\"}\n >\n <Steps\n className={cx(styles.tipseenWizardWizard)}\n color={buttonColor}\n isContentOnTop\n areButtonsIconsHidden\n backButtonProps={backButtonProps}\n nextButtonProps={nextButtonProps}\n finishButtonProps={finishButtonProps}\n onFinish={onFinish}\n {...overrideStepsProps}\n />\n </TipseenBasicContent>\n );\n};\nexport default TipseenWizard;\n"],"names":["TipseenWizard","_a","id","title","onFinish","titleClassName","className","overrideStepsProps","__rest","color","useContext","TipseenContext","buttonColor","useMemo","TipseenColor","INVERTED","nextButtonProps","kind","size","backButtonProps","finishButtonProps","children","React","createElement","TipseenBasicContent","cx","styles","tipseenWizard","Steps","Object","assign","tipseenWizardWizard","isContentOnTop","areButtonsIconsHidden"],"mappings":"4VASA,IAWMA,EAAwC,SAACC,GAAA,IAAEC,EAA+DD,EAA/DC,GAAIC,EAA2DF,EAA3DE,MAAOC,EAAoDH,EAApDG,SAAUC,EAA0CJ,EAA1CI,eAAgBC,EAA0BL,EAA1BK,UAC9EC,EADsGC,EAAAP,EAA/D,wDAEvCQ,EAAQC,EAAWC,GACnBC,EAAcC,GAAQ,WAC1B,OAAOJ,IAAUK,EAAaC,SAAW,yBAA2B,kBACtE,GAAG,CAACN,IAEEO,EAAkBH,GACtB,WAAA,MAAO,CACLI,KAAM,UACNC,KAAM,QACN,GACF,IAEIC,EAAkBN,GACtB,WAAA,MAAO,CACLK,KAAM,QACN,GACF,IAEIE,EAAoBP,GACxB,WAAA,MAAO,CACLI,KAAM,UACNC,KAAM,QACNG,SAnCc,SAoCd,GACF,IAEF,OACEC,EAACC,cAAAC,EACC,CAAArB,MAAOA,EACPG,UAAWmB,EAAGC,EAAOC,cAAerB,GACpCD,eAAgBA,EAChBH,GAAIA,GAAM,UAEVoB,EAAAC,cAACK,EACCC,OAAAC,OAAA,CAAAxB,UAAWmB,EAAGC,EAAOK,qBACrBtB,MAAOG,EACPoB,kBACAC,uBAAqB,EACrBd,gBAAiBA,EACjBH,gBAAiBA,EACjBI,kBAAmBA,EACnBhB,SAAUA,GACNG,IAIZ"}
1
+ {"version":3,"file":"TipseenWizard.js","sources":["../../../../src/components/Tipseen/TipseenWizard.tsx"],"sourcesContent":["import React, { FC, useContext, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport Steps, { StepsProps } from \"../Steps/Steps\";\nimport TipseenBasicContent from \"./TipseenBasicContent\";\nimport styles from \"./TipseenWizard.module.scss\";\nimport { TipseenContext } from \"./Tipseen\";\nimport { TipseenColor } from \"./TipseenConstants\";\nimport { ButtonSize, ButtonType } from \"../Button\";\n\nconst FINISH_TEXT = \"Got it\";\n\nexport interface TipseenWizardProps extends StepsProps {\n /**\n * The title text displayed in the Tipseen Wizard.\n */\n title?: string;\n /**\n * Class name applied to the Tipseen title.\n */\n titleClassName?: string;\n /**\n * Callback fired when the wizard is completed.\n */\n onFinish?: (e: React.MouseEvent | React.KeyboardEvent) => void;\n}\n\nconst TipseenWizard: FC<TipseenWizardProps> = ({ id, title, onFinish, titleClassName, className, ...stepsProps }) => {\n const overrideStepsProps = stepsProps as StepsProps;\n const color = useContext(TipseenContext);\n const buttonColor = useMemo(() => {\n return color === TipseenColor.INVERTED ? \"on-inverted-background\" : \"on-primary-color\";\n }, [color]);\n\n const nextButtonProps = useMemo(\n () => ({\n kind: \"primary\" as ButtonType,\n size: \"small\" as ButtonSize\n }),\n []\n );\n const backButtonProps = useMemo(\n () => ({\n size: \"small\" as ButtonSize\n }),\n []\n );\n const finishButtonProps = useMemo(\n () => ({\n kind: \"primary\" as ButtonType,\n size: \"small\" as ButtonSize,\n children: FINISH_TEXT\n }),\n []\n );\n return (\n <TipseenBasicContent\n title={title}\n className={cx(styles.tipseenWizard, className)}\n titleClassName={titleClassName}\n id={id || \"wizard\"}\n >\n <Steps\n className={cx(styles.tipseenWizardWizard)}\n color={buttonColor}\n isContentOnTop\n areButtonsIconsHidden\n backButtonProps={backButtonProps}\n nextButtonProps={nextButtonProps}\n finishButtonProps={finishButtonProps}\n onFinish={onFinish}\n {...overrideStepsProps}\n />\n </TipseenBasicContent>\n );\n};\nexport default TipseenWizard;\n"],"names":["TipseenWizard","_a","id","title","onFinish","titleClassName","className","overrideStepsProps","__rest","color","useContext","TipseenContext","buttonColor","useMemo","TipseenColor","INVERTED","nextButtonProps","kind","size","backButtonProps","finishButtonProps","children","React","createElement","TipseenBasicContent","cx","styles","tipseenWizard","Steps","Object","assign","tipseenWizardWizard","isContentOnTop","areButtonsIconsHidden"],"mappings":"4VASA,IAiBMA,EAAwC,SAACC,GAAA,IAAEC,EAA+DD,EAA/DC,GAAIC,EAA2DF,EAA3DE,MAAOC,EAAoDH,EAApDG,SAAUC,EAA0CJ,EAA1CI,eAAgBC,EAA0BL,EAA1BK,UAC9EC,EADsGC,EAAAP,EAA/D,wDAEvCQ,EAAQC,EAAWC,GACnBC,EAAcC,GAAQ,WAC1B,OAAOJ,IAAUK,EAAaC,SAAW,yBAA2B,kBACtE,GAAG,CAACN,IAEEO,EAAkBH,GACtB,WAAA,MAAO,CACLI,KAAM,UACNC,KAAM,QACN,GACF,IAEIC,EAAkBN,GACtB,WAAA,MAAO,CACLK,KAAM,QACN,GACF,IAEIE,EAAoBP,GACxB,WAAA,MAAO,CACLI,KAAM,UACNC,KAAM,QACNG,SAzCc,SA0Cd,GACF,IAEF,OACEC,EAACC,cAAAC,EACC,CAAArB,MAAOA,EACPG,UAAWmB,EAAGC,EAAOC,cAAerB,GACpCD,eAAgBA,EAChBH,GAAIA,GAAM,UAEVoB,EAAAC,cAACK,EACCC,OAAAC,OAAA,CAAAxB,UAAWmB,EAAGC,EAAOK,qBACrBtB,MAAOG,EACPoB,kBACAC,uBAAqB,EACrBd,gBAAiBA,EACjBH,gBAAiBA,EACjBI,kBAAmBA,EACnBhB,SAAUA,GACNG,IAIZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { FC, ReactElement, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { IconSubComponentProps } from \"../Icon/Icon\";\nimport Text from \"../Text/Text\";\nimport Loader from \"../Loader/Loader\";\nimport Flex from \"../Flex/Flex\";\nimport { CloseSmall } from \"@vibe/icons\";\nimport ToastLink from \"./ToastLink/ToastLink\";\nimport ToastButton from \"./ToastButton/ToastButton\";\nimport { ToastActionType as ToastActionTypeEnum, ToastType as ToastTypeEnum } from \"./ToastConstants\";\nimport { ToastType, ToastAction } from \"./Toast.types\";\nimport { getIcon } from \"./ToastHelpers\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { withStaticProps, VibeComponentProps } from \"../../types\";\nimport styles from \"./Toast.module.scss\";\nimport IconButton from \"../IconButton/IconButton\";\nimport usePrevious from \"../../hooks/usePrevious\";\n\nexport interface ToastProps extends VibeComponentProps {\n actions?: ToastAction[];\n /** If true, Toast is open (visible) */\n open?: boolean;\n loading?: boolean;\n type?: ToastType;\n /** Possible to override the default icon */\n icon?: string | React.FC<IconSubComponentProps> | null;\n /** If true, won't show the icon */\n hideIcon?: boolean;\n /** The action to display */\n action?: JSX.Element;\n /** If false, won't show the close button */\n closeable?: boolean;\n onClose?: () => void;\n /** The number of milliseconds to wait before\n * automatically closing the Toast\n * (0 or null cancels this behaviour) */\n autoHideDuration?: number;\n children?: ReactElement | ReactElement[] | string;\n closeButtonAriaLabel?: string;\n}\n\nconst Toast: FC<ToastProps> & { types?: typeof ToastTypeEnum; actionTypes?: typeof ToastActionTypeEnum } = ({\n open = false,\n loading = false,\n autoHideDuration = null,\n type = \"normal\",\n icon,\n hideIcon = false,\n action: deprecatedAction,\n actions,\n children,\n closeable = true,\n onClose = NOOP,\n className,\n id,\n closeButtonAriaLabel = \"Close\",\n \"data-testid\": dataTestId\n}: ToastProps) => {\n const ref = useRef(null);\n const prevActions = usePrevious(actions?.length);\n const toastLinks = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"link\")\n .map(({ type: _type, ...otherProps }) => (\n <ToastLink key={otherProps.href} className={styles.actionLink} {...otherProps} />\n ))\n : null;\n }, [actions]);\n\n const shouldShowButtonTransition = useMemo(() => {\n return prevActions !== undefined && actions?.length !== prevActions;\n }, [actions, prevActions]);\n\n const toastButtons: JSX.Element[] | null = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"button\")\n .map(({ type: _type, content, ...otherProps }, index) => (\n <ToastButton\n key={`alert-button-${index}`}\n className={cx(styles.actionButton, { [styles.withTransition]: shouldShowButtonTransition })}\n {...otherProps}\n >\n {content}\n </ToastButton>\n ))\n : null;\n }, [actions, shouldShowButtonTransition]);\n\n const classNames = useMemo(\n () => cx(styles.toast, getStyle(styles, camelCase(\"type-\" + type)), className),\n [type, className]\n );\n\n const handleClose = useCallback(() => {\n if (onClose) {\n onClose();\n }\n }, [onClose]);\n\n /* Timer */\n const timerAutoHide = useRef<NodeJS.Timeout>();\n const setAutoHideTimer = useCallback(\n (duration: number) => {\n if (!onClose || duration == null) {\n return;\n }\n\n clearTimeout(timerAutoHide.current);\n timerAutoHide.current = setTimeout(() => {\n handleClose();\n }, duration);\n },\n [handleClose, onClose]\n );\n\n useEffect(() => {\n if (open && autoHideDuration > 0) {\n setAutoHideTimer(autoHideDuration);\n }\n\n return () => {\n clearTimeout(timerAutoHide.current);\n };\n }, [open, autoHideDuration, setAutoHideTimer]);\n\n const iconElement = !hideIcon && getIcon(type, icon);\n\n // https://n12v.com/css-transition-to-from-auto/\n const recalculateElementWidth = useCallback((element: HTMLElement) => {\n const prevWidth = element.style.width;\n element.style.width = \"auto\";\n const endWidth = getComputedStyle(element).width;\n element.style.width = prevWidth;\n element.offsetWidth; // force repaint\n element.style.width = endWidth;\n }, []);\n\n useEffect(() => {\n if (ref.current) {\n recalculateElementWidth(ref.current);\n }\n }, [children, recalculateElementWidth]);\n\n return (\n <CSSTransition\n in={open}\n classNames={{ enterActive: styles.enterActive, exitActive: styles.exitActive }}\n timeout={400}\n unmountOnExit\n >\n <Text\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TOAST, id)}\n type=\"text2\"\n element=\"div\"\n color=\"fixedLight\"\n className={classNames}\n role=\"alert\"\n aria-live=\"polite\"\n ref={ref}\n >\n {iconElement && <div className={cx(styles.icon)}>{iconElement}</div>}\n <Flex align=\"center\" gap=\"large\" className={styles.content}>\n <Flex\n gap=\"medium\"\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CONTENT)}\n className={styles.textContent}\n >\n <span>{children}</span>\n {toastLinks}\n </Flex>\n {(toastButtons || deprecatedAction) && (toastButtons || deprecatedAction)}\n {loading && <Loader size=\"xs\" />}\n </Flex>\n {closeable && (\n <IconButton\n className={cx(styles.closeButton)}\n onClick={handleClose}\n size=\"small\"\n kind=\"tertiary\"\n color=\"fixed-light\"\n ariaLabel={closeButtonAriaLabel}\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CLOSE_BUTTON)}\n icon={CloseSmall}\n hideTooltip\n />\n )}\n </Text>\n </CSSTransition>\n );\n};\n\nexport default withStaticProps(Toast, {\n types: ToastTypeEnum,\n actionTypes: ToastActionTypeEnum\n});\n"],"names":["withStaticProps","_ref","_ref$open","open","_ref$loading","loading","_ref$autoHideDuration","autoHideDuration","_ref$type","type","icon","_ref$hideIcon","hideIcon","deprecatedAction","action","actions","children","_ref$closeable","closeable","_ref$onClose","onClose","NOOP","className","id","_ref$closeButtonAriaL","closeButtonAriaLabel","dataTestId","ref","useRef","prevActions","usePrevious","length","toastLinks","useMemo","filter","map","_a","otherProps","__rest","React","createElement","ToastLink","key","href","styles","actionLink","shouldShowButtonTransition","undefined","toastButtons","index","content","ToastButton","Object","assign","concat","cx","actionButton","_defineProperty","withTransition","classNames","toast","getStyle","camelCase","handleClose","useCallback","timerAutoHide","setAutoHideTimer","duration","clearTimeout","current","setTimeout","useEffect","iconElement","getIcon","recalculateElementWidth","element","prevWidth","style","width","endWidth","getComputedStyle","CSSTransition","in","enterActive","exitActive","timeout","unmountOnExit","Text","getTestId","ComponentDefaultTestId","TOAST","color","role","Flex","align","gap","TOAST_CONTENT","textContent","Loader","size","IconButton","closeButton","onClick","kind","ariaLabel","TOAST_CLOSE_BUTTON","CloseSmall","hideTooltip","types","ToastTypeEnum","actionTypes","ToastActionTypeEnum"],"mappings":"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"}
1
+ {"version":3,"file":"Toast.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { FC, ReactElement, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { IconSubComponentProps } from \"../Icon/Icon\";\nimport Text from \"../Text/Text\";\nimport Loader from \"../Loader/Loader\";\nimport Flex from \"../Flex/Flex\";\nimport { CloseSmall } from \"@vibe/icons\";\nimport ToastLink from \"./ToastLink/ToastLink\";\nimport ToastButton from \"./ToastButton/ToastButton\";\nimport { ToastActionType as ToastActionTypeEnum, ToastType as ToastTypeEnum } from \"./ToastConstants\";\nimport { ToastType, ToastAction } from \"./Toast.types\";\nimport { getIcon } from \"./ToastHelpers\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { withStaticProps, VibeComponentProps } from \"../../types\";\nimport styles from \"./Toast.module.scss\";\nimport IconButton from \"../IconButton/IconButton\";\nimport usePrevious from \"../../hooks/usePrevious\";\n\nexport interface ToastProps extends VibeComponentProps {\n /**\n * The actions available in the toast.\n */\n actions?: ToastAction[];\n /**\n * If true, the toast is open (visible).\n */\n open?: boolean;\n /**\n * If true, displays a loading indicator inside the toast.\n */\n loading?: boolean;\n /**\n * The type of toast.\n */\n type?: ToastType;\n /**\n * The icon displayed in the toast.\n */\n icon?: string | React.FC<IconSubComponentProps> | null;\n /**\n * If true, hides the toast icon.\n */\n hideIcon?: boolean;\n /**\n * The action element displayed in the toast.\n */\n action?: JSX.Element;\n /**\n * If false, hides the close button.\n */\n closeable?: boolean;\n /**\n * Callback fired when the toast is closed.\n */\n onClose?: () => void;\n /**\n * The number of milliseconds before the toast automatically closes.\n * (0 or null disables auto-close behavior).\n */\n autoHideDuration?: number;\n /**\n * The content displayed inside the toast.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * The aria-label for the close button.\n */\n closeButtonAriaLabel?: string;\n}\n\nconst Toast: FC<ToastProps> & { types?: typeof ToastTypeEnum; actionTypes?: typeof ToastActionTypeEnum } = ({\n open = false,\n loading = false,\n autoHideDuration = null,\n type = \"normal\",\n icon,\n hideIcon = false,\n action: deprecatedAction,\n actions,\n children,\n closeable = true,\n onClose = NOOP,\n className,\n id,\n closeButtonAriaLabel = \"Close\",\n \"data-testid\": dataTestId\n}: ToastProps) => {\n const ref = useRef(null);\n const prevActions = usePrevious(actions?.length);\n const toastLinks = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"link\")\n .map(({ type: _type, ...otherProps }) => (\n <ToastLink key={otherProps.href} className={styles.actionLink} {...otherProps} />\n ))\n : null;\n }, [actions]);\n\n const shouldShowButtonTransition = useMemo(() => {\n return prevActions !== undefined && actions?.length !== prevActions;\n }, [actions, prevActions]);\n\n const toastButtons: JSX.Element[] | null = useMemo(() => {\n return actions\n ? actions\n .filter(action => action.type === \"button\")\n .map(({ type: _type, content, ...otherProps }, index) => (\n <ToastButton\n key={`alert-button-${index}`}\n className={cx(styles.actionButton, { [styles.withTransition]: shouldShowButtonTransition })}\n {...otherProps}\n >\n {content}\n </ToastButton>\n ))\n : null;\n }, [actions, shouldShowButtonTransition]);\n\n const classNames = useMemo(\n () => cx(styles.toast, getStyle(styles, camelCase(\"type-\" + type)), className),\n [type, className]\n );\n\n const handleClose = useCallback(() => {\n if (onClose) {\n onClose();\n }\n }, [onClose]);\n\n /* Timer */\n const timerAutoHide = useRef<NodeJS.Timeout>();\n const setAutoHideTimer = useCallback(\n (duration: number) => {\n if (!onClose || duration == null) {\n return;\n }\n\n clearTimeout(timerAutoHide.current);\n timerAutoHide.current = setTimeout(() => {\n handleClose();\n }, duration);\n },\n [handleClose, onClose]\n );\n\n useEffect(() => {\n if (open && autoHideDuration > 0) {\n setAutoHideTimer(autoHideDuration);\n }\n\n return () => {\n clearTimeout(timerAutoHide.current);\n };\n }, [open, autoHideDuration, setAutoHideTimer]);\n\n const iconElement = !hideIcon && getIcon(type, icon);\n\n // https://n12v.com/css-transition-to-from-auto/\n const recalculateElementWidth = useCallback((element: HTMLElement) => {\n const prevWidth = element.style.width;\n element.style.width = \"auto\";\n const endWidth = getComputedStyle(element).width;\n element.style.width = prevWidth;\n element.offsetWidth; // force repaint\n element.style.width = endWidth;\n }, []);\n\n useEffect(() => {\n if (ref.current) {\n recalculateElementWidth(ref.current);\n }\n }, [children, recalculateElementWidth]);\n\n return (\n <CSSTransition\n in={open}\n classNames={{ enterActive: styles.enterActive, exitActive: styles.exitActive }}\n timeout={400}\n unmountOnExit\n >\n <Text\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TOAST, id)}\n type=\"text2\"\n element=\"div\"\n color=\"fixedLight\"\n className={classNames}\n role=\"alert\"\n aria-live=\"polite\"\n ref={ref}\n >\n {iconElement && <div className={cx(styles.icon)}>{iconElement}</div>}\n <Flex align=\"center\" gap=\"large\" className={styles.content}>\n <Flex\n gap=\"medium\"\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CONTENT)}\n className={styles.textContent}\n >\n <span>{children}</span>\n {toastLinks}\n </Flex>\n {(toastButtons || deprecatedAction) && (toastButtons || deprecatedAction)}\n {loading && <Loader size=\"xs\" />}\n </Flex>\n {closeable && (\n <IconButton\n className={cx(styles.closeButton)}\n onClick={handleClose}\n size=\"small\"\n kind=\"tertiary\"\n color=\"fixed-light\"\n ariaLabel={closeButtonAriaLabel}\n data-testid={getTestId(ComponentDefaultTestId.TOAST_CLOSE_BUTTON)}\n icon={CloseSmall}\n hideTooltip\n />\n )}\n </Text>\n </CSSTransition>\n );\n};\n\nexport default withStaticProps(Toast, {\n types: ToastTypeEnum,\n actionTypes: ToastActionTypeEnum\n});\n"],"names":["withStaticProps","_ref","_ref$open","open","_ref$loading","loading","_ref$autoHideDuration","autoHideDuration","_ref$type","type","icon","_ref$hideIcon","hideIcon","deprecatedAction","action","actions","children","_ref$closeable","closeable","_ref$onClose","onClose","NOOP","className","id","_ref$closeButtonAriaL","closeButtonAriaLabel","dataTestId","ref","useRef","prevActions","usePrevious","length","toastLinks","useMemo","filter","map","_a","otherProps","__rest","React","createElement","ToastLink","key","href","styles","actionLink","shouldShowButtonTransition","undefined","toastButtons","index","content","ToastButton","Object","assign","concat","cx","actionButton","_defineProperty","withTransition","classNames","toast","getStyle","camelCase","handleClose","useCallback","timerAutoHide","setAutoHideTimer","duration","clearTimeout","current","setTimeout","useEffect","iconElement","getIcon","recalculateElementWidth","element","prevWidth","style","width","endWidth","getComputedStyle","CSSTransition","in","enterActive","exitActive","timeout","unmountOnExit","Text","getTestId","ComponentDefaultTestId","TOAST","color","role","Flex","align","gap","TOAST_CONTENT","textContent","Loader","size","IconButton","closeButton","onClick","kind","ariaLabel","TOAST_CLOSE_BUTTON","CloseSmall","hideTooltip","types","ToastTypeEnum","actionTypes","ToastActionTypeEnum"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MockToggle.js","sources":["../../../../src/components/Toggle/MockToggle.tsx"],"sourcesContent":["import ToggleText from \"./ToggleText\";\nimport cx from \"classnames\";\nimport React, { FC } from \"react\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./MockToggle.module.scss\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { ToggleSize } from \"./Toggle.types\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\n\nexport interface MockToggleProps extends VibeComponentProps {\n areLabelsHidden?: boolean;\n checked?: boolean;\n offOverrideText?: string;\n onOverrideText?: string;\n selectedClassName?: string;\n disabled: boolean;\n size?: ToggleSize;\n}\n\nexport const MockToggle: FC<MockToggleProps> = ({\n areLabelsHidden,\n checked,\n offOverrideText,\n onOverrideText,\n className,\n selectedClassName,\n disabled,\n size = \"medium\"\n}) => (\n <>\n {areLabelsHidden ? null : <ToggleText disabled={disabled}>{offOverrideText}</ToggleText>}\n <div\n className={cx(styles.toggle, getStyle(styles, size), className, {\n [cx(styles.selected, selectedClassName)]: checked,\n [styles.notSelected]: !checked,\n [styles.disabled]: disabled\n })}\n aria-hidden=\"true\"\n data-testid={getTestId(ComponentDefaultTestId.TOGGLE)}\n />\n {areLabelsHidden ? null : <ToggleText disabled={disabled}>{onOverrideText}</ToggleText>}\n </>\n);\n"],"names":["MockToggle","_ref","areLabelsHidden","checked","onOverrideText","className","selectedClassName","disabled","_ref$size","size","React","createElement","Fragment","ToggleText","offOverrideText","cx","styles","toggle","getStyle","_defineProperty","selected","notSelected","getTestId","ComponentDefaultTestId","TOGGLE"],"mappings":"wYAoBaA,EAAkC,SAAxBC,GAAA,IACrBC,EAAeD,EAAfC,gBACAC,EAAOF,EAAPE,QAEAC,EAAcH,EAAdG,eACAC,EAASJ,EAATI,UACAC,EAAiBL,EAAjBK,kBACAC,EAAQN,EAARM,SAAQC,EAAAP,EACRQ,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAAA,OAEfE,EAAAC,cAAAD,EAAAE,SAAA,KACGV,EAAkB,KAAOQ,EAACC,cAAAE,GAAWN,SAAUA,GARnCN,EAAfa,iBASEJ,EAAAC,cAAA,MAAA,CACEN,UAAWU,EAAGC,EAAOC,OAAQC,EAASF,EAAQP,GAAOJ,EAASc,EAAAA,EAAAA,EAC3DJ,CAAAA,EAAAA,EAAGC,EAAOI,SAAUd,GAAqBH,GACzCa,EAAOK,aAAelB,GACtBa,EAAOT,SAAWA,IACnB,cACU,OACC,cAAAe,EAAUC,EAAuBC,UAE/CtB,EAAkB,KAAOQ,EAACC,cAAAE,EAAW,CAAAN,SAAUA,GAAWH,GAC1D"}
1
+ {"version":3,"file":"MockToggle.js","sources":["../../../../src/components/Toggle/MockToggle.tsx"],"sourcesContent":["import ToggleText from \"./ToggleText\";\nimport cx from \"classnames\";\nimport React, { FC } from \"react\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./MockToggle.module.scss\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport { ToggleSize } from \"./Toggle.types\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\n\nexport interface MockToggleProps extends VibeComponentProps {\n /**\n * If true, hides the on/off labels.\n */\n areLabelsHidden?: boolean;\n /**\n * If true, the toggle is in the \"on\" state.\n */\n checked?: boolean;\n /**\n * The text displayed when the toggle is in the \"off\" state.\n */\n offOverrideText?: string;\n /**\n * The text displayed when the toggle is in the \"on\" state.\n */\n onOverrideText?: string;\n /**\n * Class name applied when the toggle is selected.\n */\n selectedClassName?: string;\n /**\n * If true, disables the toggle.\n */\n disabled: boolean;\n /**\n * The size of the toggle.\n */\n size?: ToggleSize;\n}\n\nexport const MockToggle: FC<MockToggleProps> = ({\n areLabelsHidden,\n checked,\n offOverrideText,\n onOverrideText,\n className,\n selectedClassName,\n disabled,\n size = \"medium\"\n}) => (\n <>\n {areLabelsHidden ? null : <ToggleText disabled={disabled}>{offOverrideText}</ToggleText>}\n <div\n className={cx(styles.toggle, getStyle(styles, size), className, {\n [cx(styles.selected, selectedClassName)]: checked,\n [styles.notSelected]: !checked,\n [styles.disabled]: disabled\n })}\n aria-hidden=\"true\"\n data-testid={getTestId(ComponentDefaultTestId.TOGGLE)}\n />\n {areLabelsHidden ? null : <ToggleText disabled={disabled}>{onOverrideText}</ToggleText>}\n </>\n);\n"],"names":["MockToggle","_ref","areLabelsHidden","checked","onOverrideText","className","selectedClassName","disabled","_ref$size","size","React","createElement","Fragment","ToggleText","offOverrideText","cx","styles","toggle","getStyle","_defineProperty","selected","notSelected","getTestId","ComponentDefaultTestId","TOGGLE"],"mappings":"wYAyCaA,EAAkC,SAAxBC,GAAA,IACrBC,EAAeD,EAAfC,gBACAC,EAAOF,EAAPE,QAEAC,EAAcH,EAAdG,eACAC,EAASJ,EAATI,UACAC,EAAiBL,EAAjBK,kBACAC,EAAQN,EAARM,SAAQC,EAAAP,EACRQ,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAAA,OAEfE,EAAAC,cAAAD,EAAAE,SAAA,KACGV,EAAkB,KAAOQ,EAACC,cAAAE,GAAWN,SAAUA,GARnCN,EAAfa,iBASEJ,EAAAC,cAAA,MAAA,CACEN,UAAWU,EAAGC,EAAOC,OAAQC,EAASF,EAAQP,GAAOJ,EAASc,EAAAA,EAAAA,EAC3DJ,CAAAA,EAAAA,EAAGC,EAAOI,SAAUd,GAAqBH,GACzCa,EAAOK,aAAelB,GACtBa,EAAOT,SAAWA,IACnB,cACU,OACC,cAAAe,EAAUC,EAAuBC,UAE/CtB,EAAkB,KAAOQ,EAACC,cAAAE,EAAW,CAAAN,SAAUA,GAAWH,GAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","sources":["../../../../src/components/Toggle/Toggle.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef } from \"react\";\nimport cx from \"classnames\";\nimport { noop as NOOP } from \"lodash-es\";\nimport { Switch } from \"../Switch/Switch\";\nimport { MockToggle } from \"./MockToggle\";\nimport { VibeComponent, VibeComponentProps } from \"../../types\";\nimport styles from \"./Toggle.module.scss\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { ToggleSize } from \"./Toggle.types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nexport interface ToggleProps extends VibeComponentProps {\n /**\n * ClassName to override styles of selected toggle\n */\n toggleSelectedClassName?: string;\n isDefaultSelected?: boolean;\n isSelected?: boolean;\n onChange?: (value: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n name?: string;\n disabled?: boolean;\n areLabelsHidden?: boolean;\n onOverrideText?: string;\n offOverrideText?: string;\n ariaLabel?: string;\n ariaControls?: string;\n size?: ToggleSize;\n}\n\nconst Toggle: VibeComponent<ToggleProps, HTMLInputElement> = forwardRef(\n (\n {\n id,\n className,\n toggleSelectedClassName,\n isDefaultSelected = true,\n isSelected,\n onChange = NOOP,\n value,\n name,\n disabled,\n ariaLabel,\n ariaControls,\n areLabelsHidden = false,\n onOverrideText = \"On\",\n offOverrideText = \"Off\",\n size = \"medium\",\n \"data-testid\": dataTestId\n }: ToggleProps,\n ref\n ) => {\n const wrapperClassName = cx(styles.wrapper);\n const inputClassName = cx(styles.toggleInput);\n\n return (\n <Switch\n defaultChecked={isDefaultSelected}\n checked={isSelected}\n id={id}\n wrapperClassName={wrapperClassName}\n onChange={onChange}\n value={value}\n name={name}\n disabled={disabled}\n ariaLabel={ariaLabel}\n ariaControls={ariaControls}\n inputClassName={inputClassName}\n ref={ref}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TOGGLE)}\n data-vibe={ComponentVibeId.TOGGLE}\n >\n <MockToggle\n areLabelsHidden={areLabelsHidden}\n offOverrideText={offOverrideText}\n onOverrideText={onOverrideText}\n disabled={disabled}\n className={className}\n selectedClassName={toggleSelectedClassName}\n size={size}\n />\n </Switch>\n );\n }\n);\n\nexport default Toggle;\n"],"names":["Toggle","forwardRef","_ref","ref","id","className","toggleSelectedClassName","_ref$isDefaultSelecte","isDefaultSelected","isSelected","_ref$onChange","onChange","NOOP","value","name","disabled","ariaLabel","ariaControls","_ref$areLabelsHidden","areLabelsHidden","_ref$onOverrideText","onOverrideText","_ref$offOverrideText","offOverrideText","_ref$size","size","dataTestId","wrapperClassName","cx","styles","wrapper","inputClassName","toggleInput","React","createElement","Switch","defaultChecked","checked","getTestId","ComponentDefaultTestId","TOGGLE","ComponentVibeId","MockToggle","selectedClassName"],"mappings":"4WA8BMA,IAAAA,EAAuDC,GAC3D,SAAAC,EAmBEC,GACE,IAlBAC,EAAEF,EAAFE,GACAC,EAASH,EAATG,UACAC,EAAuBJ,EAAvBI,wBAAuBC,EAAAL,EACvBM,kBAAAA,OAAoB,IAAHD,GAAOA,EACxBE,EAAUP,EAAVO,WAAUC,EAAAR,EACVS,SAAAA,OAAWC,IAAHF,EAAGE,EAAIF,EACfG,EAAKX,EAALW,MACAC,EAAIZ,EAAJY,KACAC,EAAQb,EAARa,SACAC,EAASd,EAATc,UACAC,EAAYf,EAAZe,aAAYC,EAAAhB,EACZiB,gBAAAA,OAAkB,IAAHD,GAAQA,EAAAE,EAAAlB,EACvBmB,eAAAA,OAAiB,IAAHD,EAAG,KAAIA,EAAAE,EAAApB,EACrBqB,gBAAAA,OAAkB,IAAHD,EAAG,MAAKA,EAAAE,EAAAtB,EACvBuB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EACAE,EAAUxB,EAAzB,eAIIyB,EAAmBC,EAAGC,EAAOC,SAC7BC,EAAiBH,EAAGC,EAAOG,aAEjC,OACEC,EAAAC,cAACC,EAAM,CACLC,eAAgB5B,EAChB6B,QAAS5B,EACTL,GAAIA,EACJuB,iBAAkBA,EAClBhB,SAAUA,EACVE,MAAOA,EACPC,KAAMA,EACNC,SAAUA,EACVC,UAAWA,EACXC,aAAcA,EACdc,eAAgBA,EAChB5B,IAAKA,EAAG,cACKuB,GAAcY,EAAUC,EAAuBC,QACjD,YAAAC,EAAgBD,QAE3BP,EAAAC,cAACQ,EAAU,CACTvB,gBAAiBA,EACjBI,gBAAiBA,EACjBF,eAAgBA,EAChBN,SAAUA,EACVV,UAAWA,EACXsC,kBAAmBrC,EACnBmB,KAAMA,IAId"}
1
+ {"version":3,"file":"Toggle.js","sources":["../../../../src/components/Toggle/Toggle.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef } from \"react\";\nimport cx from \"classnames\";\nimport { noop as NOOP } from \"lodash-es\";\nimport { Switch } from \"../Switch/Switch\";\nimport { MockToggle } from \"./MockToggle\";\nimport { VibeComponent, VibeComponentProps } from \"../../types\";\nimport styles from \"./Toggle.module.scss\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { ToggleSize } from \"./Toggle.types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nexport interface ToggleProps extends VibeComponentProps {\n /**\n * Class name applied when the toggle is selected.\n */\n toggleSelectedClassName?: string;\n /**\n * If true, the toggle is selected by default.\n */\n isDefaultSelected?: boolean;\n /**\n * Controls the selected state of the toggle.\n */\n isSelected?: boolean;\n /**\n * Callback fired when the toggle state changes.\n */\n onChange?: (value: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n /**\n * The value associated with the toggle.\n */\n value?: string;\n /**\n * The name attribute of the toggle input.\n */\n name?: string;\n /**\n * If true, disables the toggle.\n */\n disabled?: boolean;\n /**\n * If true, hides the on/off labels.\n */\n areLabelsHidden?: boolean;\n /**\n * The text displayed when the toggle is in the \"on\" position.\n */\n onOverrideText?: string;\n /**\n * The text displayed when the toggle is in the \"off\" position.\n */\n offOverrideText?: string;\n /**\n * The ARIA label for accessibility.\n */\n ariaLabel?: string;\n /**\n * The ID of the element controlled by the toggle.\n */\n ariaControls?: string;\n /**\n * The size of the toggle.\n */\n size?: ToggleSize;\n}\n\nconst Toggle: VibeComponent<ToggleProps, HTMLInputElement> = forwardRef(\n (\n {\n id,\n className,\n toggleSelectedClassName,\n isDefaultSelected = true,\n isSelected,\n onChange = NOOP,\n value,\n name,\n disabled,\n ariaLabel,\n ariaControls,\n areLabelsHidden = false,\n onOverrideText = \"On\",\n offOverrideText = \"Off\",\n size = \"medium\",\n \"data-testid\": dataTestId\n }: ToggleProps,\n ref\n ) => {\n const wrapperClassName = cx(styles.wrapper);\n const inputClassName = cx(styles.toggleInput);\n\n return (\n <Switch\n defaultChecked={isDefaultSelected}\n checked={isSelected}\n id={id}\n wrapperClassName={wrapperClassName}\n onChange={onChange}\n value={value}\n name={name}\n disabled={disabled}\n ariaLabel={ariaLabel}\n ariaControls={ariaControls}\n inputClassName={inputClassName}\n ref={ref}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TOGGLE)}\n data-vibe={ComponentVibeId.TOGGLE}\n >\n <MockToggle\n areLabelsHidden={areLabelsHidden}\n offOverrideText={offOverrideText}\n onOverrideText={onOverrideText}\n disabled={disabled}\n className={className}\n selectedClassName={toggleSelectedClassName}\n size={size}\n />\n </Switch>\n );\n }\n);\n\nexport default Toggle;\n"],"names":["Toggle","forwardRef","_ref","ref","id","className","toggleSelectedClassName","_ref$isDefaultSelecte","isDefaultSelected","isSelected","_ref$onChange","onChange","NOOP","value","name","disabled","ariaLabel","ariaControls","_ref$areLabelsHidden","areLabelsHidden","_ref$onOverrideText","onOverrideText","_ref$offOverrideText","offOverrideText","_ref$size","size","dataTestId","wrapperClassName","cx","styles","wrapper","inputClassName","toggleInput","React","createElement","Switch","defaultChecked","checked","getTestId","ComponentDefaultTestId","TOGGLE","ComponentVibeId","MockToggle","selectedClassName"],"mappings":"4WAkEMA,IAAAA,EAAuDC,GAC3D,SAAAC,EAmBEC,GACE,IAlBAC,EAAEF,EAAFE,GACAC,EAASH,EAATG,UACAC,EAAuBJ,EAAvBI,wBAAuBC,EAAAL,EACvBM,kBAAAA,OAAoB,IAAHD,GAAOA,EACxBE,EAAUP,EAAVO,WAAUC,EAAAR,EACVS,SAAAA,OAAWC,IAAHF,EAAGE,EAAIF,EACfG,EAAKX,EAALW,MACAC,EAAIZ,EAAJY,KACAC,EAAQb,EAARa,SACAC,EAASd,EAATc,UACAC,EAAYf,EAAZe,aAAYC,EAAAhB,EACZiB,gBAAAA,OAAkB,IAAHD,GAAQA,EAAAE,EAAAlB,EACvBmB,eAAAA,OAAiB,IAAHD,EAAG,KAAIA,EAAAE,EAAApB,EACrBqB,gBAAAA,OAAkB,IAAHD,EAAG,MAAKA,EAAAE,EAAAtB,EACvBuB,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EACAE,EAAUxB,EAAzB,eAIIyB,EAAmBC,EAAGC,EAAOC,SAC7BC,EAAiBH,EAAGC,EAAOG,aAEjC,OACEC,EAAAC,cAACC,EAAM,CACLC,eAAgB5B,EAChB6B,QAAS5B,EACTL,GAAIA,EACJuB,iBAAkBA,EAClBhB,SAAUA,EACVE,MAAOA,EACPC,KAAMA,EACNC,SAAUA,EACVC,UAAWA,EACXC,aAAcA,EACdc,eAAgBA,EAChB5B,IAAKA,EAAG,cACKuB,GAAcY,EAAUC,EAAuBC,QACjD,YAAAC,EAAgBD,QAE3BP,EAAAC,cAACQ,EAAU,CACTvB,gBAAiBA,EACjBI,gBAAiBA,EACjBF,eAAgBA,EAChBN,SAAUA,EACVV,UAAWA,EACXsC,kBAAmBrC,EACnBmB,KAAMA,IAId"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleText.js","sources":["../../../../src/components/Toggle/ToggleText.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport cx from \"classnames\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./ToggleText.module.scss\";\nimport Text from \"../Text/Text\";\n\nexport interface ToggleTextProps extends VibeComponentProps {\n children: string;\n disabled: boolean;\n}\n\nconst ToggleText: FC<ToggleTextProps> = ({ children, disabled }) => (\n <Text element=\"span\" type=\"text2\" className={cx(styles.text, { [styles.disabled]: disabled })}>\n {children}\n </Text>\n);\nexport default ToggleText;\n"],"names":["ToggleText","_ref","children","React","createElement","Text","element","type","className","cx","styles","text","_defineProperty","disabled"],"mappings":"yMAWA,IAAMA,EAAkC,SAAxBC,GAAA,IAA2BC,EAAQD,EAARC,SAAkB,OAC3DC,EAAAC,cAACC,EAAK,CAAAC,QAAQ,OAAOC,KAAK,QAAQC,UAAWC,EAAGC,EAAOC,KAAIC,EAAA,CAAA,EAAKF,EAAOG,SADZZ,EAARY,YAEhDX,EACI"}
1
+ {"version":3,"file":"ToggleText.js","sources":["../../../../src/components/Toggle/ToggleText.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport cx from \"classnames\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./ToggleText.module.scss\";\nimport Text from \"../Text/Text\";\n\nexport interface ToggleTextProps extends VibeComponentProps {\n /**\n * The text content inside the toggle.\n */\n children: string;\n /**\n * If true, applies a disabled style to the text.\n */\n disabled: boolean;\n}\n\nconst ToggleText: FC<ToggleTextProps> = ({ children, disabled }) => (\n <Text element=\"span\" type=\"text2\" className={cx(styles.text, { [styles.disabled]: disabled })}>\n {children}\n </Text>\n);\nexport default ToggleText;\n"],"names":["ToggleText","_ref","children","React","createElement","Text","element","type","className","cx","styles","text","_defineProperty","disabled"],"mappings":"yMAiBA,IAAMA,EAAkC,SAAxBC,GAAA,IAA2BC,EAAQD,EAARC,SAAkB,OAC3DC,EAAAC,cAACC,EAAK,CAAAC,QAAQ,OAAOC,KAAK,QAAQC,UAAWC,EAAGC,EAAOC,KAAIC,EAAA,CAAA,EAAKF,EAAOG,SADZZ,EAARY,YAEhDX,EACI"}