@vibe/core 3.50.1-alpha-1be71.0 → 3.50.1-alpha-b92cc.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 (196) hide show
  1. package/dist/components/AlertBanner/AlertBanner.d.ts +1 -1
  2. package/dist/components/AttentionBox/AttentionBox.d.ts +1 -1
  3. package/dist/components/Avatar/Avatar.d.ts +1 -1
  4. package/dist/components/Avatar/AvatarBadge.d.ts +1 -1
  5. package/dist/components/Avatar/AvatarContent.d.ts +1 -1
  6. package/dist/components/Badge/Badge.d.ts +1 -1
  7. package/dist/components/Badge/Indicator/Indicator.d.ts +1 -1
  8. package/dist/components/Box/Box.d.ts +1 -1
  9. package/dist/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +1 -1
  10. package/dist/components/Button/Button.d.ts +1 -1
  11. package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  12. package/dist/components/Chips/Chips.d.ts +1 -1
  13. package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
  14. package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +1 -1
  15. package/dist/components/Combobox/Combobox.d.ts +1 -1
  16. package/dist/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +1 -1
  17. package/dist/components/Counter/Counter.d.ts +1 -1
  18. package/dist/components/DialogContentContainer/DialogContentContainer.d.ts +1 -1
  19. package/dist/components/Divider/Divider.d.ts +1 -1
  20. package/dist/components/Dropdown/Dropdown.d.ts +1 -1
  21. package/dist/components/EditableHeading/EditableHeading.d.ts +1 -1
  22. package/dist/components/EditableText/EditableText.d.ts +1 -1
  23. package/dist/components/Flex/Flex.d.ts +1 -1
  24. package/dist/components/FormattedNumber/FormattedNumber.d.ts +1 -1
  25. package/dist/components/Heading/Heading.d.ts +1 -1
  26. package/dist/components/Icon/Icon.d.ts +1 -1
  27. package/dist/components/IconButton/IconButton.d.ts +1 -1
  28. package/dist/components/Label/Label.d.ts +1 -1
  29. package/dist/components/LegacyModal/LegacyModal.d.ts +1 -1
  30. package/dist/components/Link/Link.d.ts +1 -1
  31. package/dist/components/List/List.d.ts +1 -1
  32. package/dist/components/ListItem/ListItem.d.ts +1 -1
  33. package/dist/components/ListItemAvatar/ListItemAvatar.d.ts +1 -1
  34. package/dist/components/ListItemIcon/ListItemIcon.d.ts +1 -1
  35. package/dist/components/Loader/Loader.d.ts +1 -1
  36. package/dist/components/Menu/Menu/Menu.d.ts +1 -1
  37. package/dist/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  38. package/dist/components/Menu/MenuItemButton/MenuItemButton.d.ts +1 -1
  39. package/dist/components/Menu/MenuTitle/MenuTitle.d.ts +1 -1
  40. package/dist/components/MenuButton/MenuButton.d.ts +1 -1
  41. package/dist/components/MultiStepIndicator/MultiStepIndicator.d.ts +1 -1
  42. package/dist/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +1 -1
  43. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  44. package/dist/components/Slider/Slider.d.ts +1 -1
  45. package/dist/components/Slider/SliderInfix.d.ts +1 -1
  46. package/dist/components/SplitButton/SplitButton.d.ts +1 -1
  47. package/dist/components/Steps/Steps.d.ts +1 -1
  48. package/dist/components/Table/Table/Table.d.ts +1 -1
  49. package/dist/components/Tabs/TabPanels/TabPanels.d.ts +1 -1
  50. package/dist/components/Text/Text.d.ts +1 -1
  51. package/dist/components/TextField/TextField.d.ts +1 -1
  52. package/dist/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  53. package/dist/components/Tipseen/Tipseen.d.ts +1 -1
  54. package/dist/components/Toast/Toast.d.ts +1 -1
  55. package/dist/metadata.json +19677 -3193
  56. package/dist/mocked_classnames/components/AlertBanner/AlertBanner.d.ts +1 -1
  57. package/dist/mocked_classnames/components/AttentionBox/AttentionBox.d.ts +1 -1
  58. package/dist/mocked_classnames/components/Avatar/Avatar.d.ts +1 -1
  59. package/dist/mocked_classnames/components/Avatar/AvatarBadge.d.ts +1 -1
  60. package/dist/mocked_classnames/components/Avatar/AvatarContent.d.ts +1 -1
  61. package/dist/mocked_classnames/components/Badge/Badge.d.ts +1 -1
  62. package/dist/mocked_classnames/components/Badge/Indicator/Indicator.d.ts +1 -1
  63. package/dist/mocked_classnames/components/Box/Box.d.ts +1 -1
  64. package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +1 -1
  65. package/dist/mocked_classnames/components/Button/Button.d.ts +1 -1
  66. package/dist/mocked_classnames/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  67. package/dist/mocked_classnames/components/Chips/Chips.d.ts +1 -1
  68. package/dist/mocked_classnames/components/ColorPicker/ColorPicker.d.ts +1 -1
  69. package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +1 -1
  70. package/dist/mocked_classnames/components/Combobox/Combobox.d.ts +1 -1
  71. package/dist/mocked_classnames/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +1 -1
  72. package/dist/mocked_classnames/components/Counter/Counter.d.ts +1 -1
  73. package/dist/mocked_classnames/components/DialogContentContainer/DialogContentContainer.d.ts +1 -1
  74. package/dist/mocked_classnames/components/Divider/Divider.d.ts +1 -1
  75. package/dist/mocked_classnames/components/Dropdown/Dropdown.d.ts +1 -1
  76. package/dist/mocked_classnames/components/EditableHeading/EditableHeading.d.ts +1 -1
  77. package/dist/mocked_classnames/components/EditableText/EditableText.d.ts +1 -1
  78. package/dist/mocked_classnames/components/Flex/Flex.d.ts +1 -1
  79. package/dist/mocked_classnames/components/FormattedNumber/FormattedNumber.d.ts +1 -1
  80. package/dist/mocked_classnames/components/Heading/Heading.d.ts +1 -1
  81. package/dist/mocked_classnames/components/Icon/Icon.d.ts +1 -1
  82. package/dist/mocked_classnames/components/IconButton/IconButton.d.ts +1 -1
  83. package/dist/mocked_classnames/components/Label/Label.d.ts +1 -1
  84. package/dist/mocked_classnames/components/LegacyModal/LegacyModal.d.ts +1 -1
  85. package/dist/mocked_classnames/components/Link/Link.d.ts +1 -1
  86. package/dist/mocked_classnames/components/List/List.d.ts +1 -1
  87. package/dist/mocked_classnames/components/ListItem/ListItem.d.ts +1 -1
  88. package/dist/mocked_classnames/components/ListItemAvatar/ListItemAvatar.d.ts +1 -1
  89. package/dist/mocked_classnames/components/ListItemIcon/ListItemIcon.d.ts +1 -1
  90. package/dist/mocked_classnames/components/Loader/Loader.d.ts +1 -1
  91. package/dist/mocked_classnames/components/Menu/Menu/Menu.d.ts +1 -1
  92. package/dist/mocked_classnames/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  93. package/dist/mocked_classnames/components/Menu/MenuItemButton/MenuItemButton.d.ts +1 -1
  94. package/dist/mocked_classnames/components/Menu/MenuTitle/MenuTitle.d.ts +1 -1
  95. package/dist/mocked_classnames/components/MenuButton/MenuButton.d.ts +1 -1
  96. package/dist/mocked_classnames/components/MultiStepIndicator/MultiStepIndicator.d.ts +1 -1
  97. package/dist/mocked_classnames/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +1 -1
  98. package/dist/mocked_classnames/components/Skeleton/Skeleton.d.ts +1 -1
  99. package/dist/mocked_classnames/components/Slider/Slider.d.ts +1 -1
  100. package/dist/mocked_classnames/components/Slider/SliderInfix.d.ts +1 -1
  101. package/dist/mocked_classnames/components/SplitButton/SplitButton.d.ts +1 -1
  102. package/dist/mocked_classnames/components/Steps/Steps.d.ts +1 -1
  103. package/dist/mocked_classnames/components/Table/Table/Table.d.ts +1 -1
  104. package/dist/mocked_classnames/components/Tabs/TabPanels/TabPanels.d.ts +1 -1
  105. package/dist/mocked_classnames/components/Text/Text.d.ts +1 -1
  106. package/dist/mocked_classnames/components/TextField/TextField.d.ts +1 -1
  107. package/dist/mocked_classnames/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  108. package/dist/mocked_classnames/components/Tipseen/Tipseen.d.ts +1 -1
  109. package/dist/mocked_classnames/components/Toast/Toast.d.ts +1 -1
  110. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js +1 -1
  111. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js.map +1 -1
  112. package/dist/mocked_classnames/src/components/Avatar/Avatar.js +1 -1
  113. package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
  114. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js +1 -1
  115. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
  116. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js +1 -1
  117. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
  118. package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.js +1 -1
  119. package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.js.map +1 -1
  120. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js +1 -1
  121. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
  122. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js +1 -1
  123. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
  124. package/dist/mocked_classnames/src/components/Counter/Counter.js +1 -1
  125. package/dist/mocked_classnames/src/components/Counter/Counter.js.map +1 -1
  126. package/dist/mocked_classnames/src/components/Divider/Divider.js +1 -1
  127. package/dist/mocked_classnames/src/components/Divider/Divider.js.map +1 -1
  128. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModal.js +1 -1
  129. package/dist/mocked_classnames/src/components/LegacyModal/LegacyModal.js.map +1 -1
  130. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
  131. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  132. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
  133. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
  134. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js +1 -1
  135. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +1 -1
  136. package/dist/mocked_classnames/src/components/Slider/SliderInfix.js +1 -1
  137. package/dist/mocked_classnames/src/components/Slider/SliderInfix.js.map +1 -1
  138. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js +1 -1
  139. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
  140. package/dist/mocked_classnames/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
  141. package/dist/mocked_classnames/src/components/Table/context/TableRowMenuContext/TableRowMenuContext.js +1 -1
  142. package/dist/mocked_classnames/src/components/Table/context/TableRowMenuContext/TableRowMenuContext.js.map +1 -1
  143. package/dist/mocked_classnames/src/components/TextField/TextField.js +1 -1
  144. package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
  145. package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js +1 -1
  146. package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
  147. package/dist/mocked_classnames/src/components/Toast/Toast.js +1 -1
  148. package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
  149. package/dist/mocked_classnames/src/index.js +1 -1
  150. package/dist/mocked_classnames/src/types/withStaticProps.js +1 -1
  151. package/dist/mocked_classnames/src/types/withStaticProps.js.map +1 -1
  152. package/dist/mocked_classnames/types/withStaticProps.d.ts +2 -2
  153. package/dist/src/components/AttentionBox/AttentionBox.js +1 -1
  154. package/dist/src/components/AttentionBox/AttentionBox.js.map +1 -1
  155. package/dist/src/components/Avatar/Avatar.js +1 -1
  156. package/dist/src/components/Avatar/Avatar.js.map +1 -1
  157. package/dist/src/components/Avatar/AvatarBadge.js +1 -1
  158. package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
  159. package/dist/src/components/Avatar/AvatarContent.js +1 -1
  160. package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
  161. package/dist/src/components/Badge/Indicator/Indicator.js +1 -1
  162. package/dist/src/components/Badge/Indicator/Indicator.js.map +1 -1
  163. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js +1 -1
  164. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
  165. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js +1 -1
  166. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
  167. package/dist/src/components/Counter/Counter.js +1 -1
  168. package/dist/src/components/Counter/Counter.js.map +1 -1
  169. package/dist/src/components/Divider/Divider.js +1 -1
  170. package/dist/src/components/Divider/Divider.js.map +1 -1
  171. package/dist/src/components/LegacyModal/LegacyModal.js +1 -1
  172. package/dist/src/components/LegacyModal/LegacyModal.js.map +1 -1
  173. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
  174. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
  175. package/dist/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
  176. package/dist/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
  177. package/dist/src/components/Skeleton/Skeleton.js +1 -1
  178. package/dist/src/components/Skeleton/Skeleton.js.map +1 -1
  179. package/dist/src/components/Slider/SliderInfix.js +1 -1
  180. package/dist/src/components/Slider/SliderInfix.js.map +1 -1
  181. package/dist/src/components/SplitButton/SplitButton.js +1 -1
  182. package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
  183. package/dist/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
  184. package/dist/src/components/Table/context/TableRowMenuContext/TableRowMenuContext.js +1 -1
  185. package/dist/src/components/Table/context/TableRowMenuContext/TableRowMenuContext.js.map +1 -1
  186. package/dist/src/components/TextField/TextField.js +1 -1
  187. package/dist/src/components/TextField/TextField.js.map +1 -1
  188. package/dist/src/components/ThemeProvider/ThemeProvider.js +1 -1
  189. package/dist/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
  190. package/dist/src/components/Toast/Toast.js +1 -1
  191. package/dist/src/components/Toast/Toast.js.map +1 -1
  192. package/dist/src/index.js +1 -1
  193. package/dist/src/types/withStaticProps.js +1 -1
  194. package/dist/src/types/withStaticProps.js.map +1 -1
  195. package/dist/types/withStaticProps.d.ts +2 -2
  196. package/package.json +2 -2
@@ -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, { 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 = ({\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\ninterface ToastStaticProps {\n types: typeof ToastTypeEnum;\n actionTypes: typeof ToastActionTypeEnum;\n}\n\nexport default withStaticProps<ToastProps, ToastStaticProps>(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, { 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 { VibeComponentProps, withStaticPropsWithoutForwardRef } 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 = ({\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\ninterface ToastStaticProps {\n types: typeof ToastTypeEnum;\n actionTypes: typeof ToastActionTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<ToastProps, ToastStaticProps>(Toast, {\n types: ToastTypeEnum,\n actionTypes: ToastActionTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_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,2 +1,2 @@
1
- import"../style/dist/index.min.css.js";export{default as Accordion}from"./components/Accordion/Accordion/Accordion.js";export{default as AccordionItem}from"./components/Accordion/AccordionItem/AccordionItem.js";export{default as AlertBanner}from"./components/AlertBanner/AlertBanner.js";export{default as AlertBannerButton}from"./components/AlertBanner/AlertBannerButton/AlertBannerButton.js";export{default as AlertBannerLink}from"./components/AlertBanner/AlertBannerLink/AlertBannerLink.js";export{default as AlertBannerText}from"./components/AlertBanner/AlertBannerText/AlertBannerText.js";export{default as AttentionBox}from"./components/AttentionBox/AttentionBox.js";export{default as AttentionBoxLink}from"./components/AttentionBox/AttentionBoxLink/AttentionBoxLink.js";export{default as Avatar}from"./components/Avatar/Avatar.js";export{default as AvatarGroup}from"./components/AvatarGroup/AvatarGroup.js";export{default as Badge}from"./components/Badge/Badge.js";export{default as Box}from"./components/Box/Box.js";export{default as BreadcrumbsBar}from"./components/BreadcrumbsBar/BreadcrumbsBar.js";export{default as BreadcrumbItem}from"./components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js";export{default as BreadcrumbMenu}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenu.js";export{default as BreadcrumbMenuItem}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenuItem/BreadcrumbMenuItem.js";export{default as Button}from"./components/Button/Button.js";export{default as ButtonGroup}from"./components/ButtonGroup/ButtonGroup.js";export{default as Checkbox}from"./components/Checkbox/Checkbox.js";export{default as Chips}from"./components/Chips/Chips.js";export{default as Clickable}from"./components/Clickable/Clickable.js";export{default as ColorPicker}from"./components/ColorPicker/ColorPicker.js";export{default as ColorPickerContent}from"./components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js";export{default as Combobox}from"./components/Combobox/Combobox.js";export{default as Counter}from"./components/Counter/Counter.js";export{default as DatePicker}from"./components/DatePicker/DatePicker.js";export{default as Dialog}from"./components/Dialog/Dialog.js";export{default as DialogContentContainer}from"./components/DialogContentContainer/DialogContentContainer.js";export{default as Divider}from"./components/Divider/Divider.js";export{default as Dropdown}from"./components/Dropdown/Dropdown.js";export{default as DropdownMenu}from"./components/Dropdown/components/menu/menu.js";export{default as DropdownOption}from"./components/Dropdown/components/option/option.js";export{default as DropdownSingleValue}from"./components/Dropdown/components/singleValue/singleValue.js";export{default as EditableHeading}from"./components/EditableHeading/EditableHeading.js";export{default as EditableText}from"./components/EditableText/EditableText.js";export{default as EmptyState}from"./components/EmptyState/EmptyState.js";export{default as ExpandCollapse}from"./components/ExpandCollapse/ExpandCollapse.js";export{default as Flex}from"./components/Flex/Flex.js";export{default as FormattedNumber}from"./components/FormattedNumber/FormattedNumber.js";export{GridKeyboardNavigationContext,useGridKeyboardNavigationContext}from"./components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js";export{default as Heading}from"./components/Heading/Heading.js";export{default as HiddenText}from"./components/HiddenText/HiddenText.js";export{default as Icon}from"./components/Icon/Icon.js";export{default as CustomSvgIcon}from"./components/Icon/CustomSvgIcon/CustomSvgIcon.js";export{default as IconButton}from"./components/IconButton/IconButton.js";export{default as Label}from"./components/Label/Label.js";export{default as LayerProvider}from"./components/LayerProvider/LayerProvider.js";export{default as Link}from"./components/Link/Link.js";export{default as List}from"./components/List/List.js";export{default as ListItem}from"./components/ListItem/ListItem.js";export{default as ListItemAvatar}from"./components/ListItemAvatar/ListItemAvatar.js";export{default as ListItemIcon}from"./components/ListItemIcon/ListItemIcon.js";export{default as ListTitle}from"./components/ListTitle/ListTitle.js";export{default as Loader}from"./components/Loader/Loader.js";export{default as Menu}from"./components/Menu/Menu/Menu.js";export{default as MenuItem}from"./components/Menu/MenuItem/MenuItem.js";export{default as MenuItemButton}from"./components/Menu/MenuItemButton/MenuItemButton.js";export{default as MenuDivider}from"./components/Menu/MenuDivider/MenuDivider.js";export{default as MenuTitle}from"./components/Menu/MenuTitle/MenuTitle.js";export{default as MenuGridItem}from"./components/Menu/MenuGridItem/MenuGridItem.js";export{default as MenuButton}from"./components/MenuButton/MenuButton.js";export{default as Modal}from"./components/LegacyModal/LegacyModal.js";export{default as ModalHeader}from"./components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js";export{default as ModalContent}from"./components/LegacyModal/LegacyModalContent/LegacyModalContent.js";export{default as ModalFooter}from"./components/LegacyModal/LegacyModalFooter/LegacyModalFooter.js";export{default as ModalFooterButtons}from"./components/LegacyModal/LegacyModalFooter/LegacyModalFooterButtons/LegacyModalFooterButtons.js";export{default as MultiStepIndicator}from"./components/MultiStepIndicator/MultiStepIndicator.js";export{default as LinearProgressBar}from"./components/ProgressBars/LinearProgressBar/LinearProgressBar.js";export{default as RadioButton}from"./components/RadioButton/RadioButton.js";export{default as Search}from"./components/Search/Search.js";export{default as Skeleton}from"./components/Skeleton/Skeleton.js";export{default as Slider}from"./components/Slider/Slider.js";export{default as SplitButton}from"./components/SplitButton/SplitButton.js";export{default as SplitButtonMenu}from"./components/SplitButton/SplitButtonMenu/SplitButtonMenu.js";export{default as Steps}from"./components/Steps/Steps.js";export{default as Table}from"./components/Table/Table/Table.js";export{default as TableContainer}from"./components/Table/TableContainer/TableContainer.js";export{default as TableHeader}from"./components/Table/TableHeader/TableHeader.js";export{default as TableHeaderCell}from"./components/Table/TableHeaderCell/TableHeaderCell.js";export{default as TableBody}from"./components/Table/TableBody/TableBody.js";export{default as TableVirtualizedBody}from"./components/Table/TableVirtualizedBody/TableVirtualizedBody.js";export{default as TableRow}from"./components/Table/TableRow/TableRow.js";export{default as TableRowMenu}from"./components/Table/TableRowMenu/TableRowMenu.js";export{default as TableCell}from"./components/Table/TableCell/TableCell.js";export{default as Tab}from"./components/Tabs/Tab/Tab.js";export{default as TabList}from"./components/Tabs/TabList/TabList.js";export{default as TabPanel}from"./components/Tabs/TabPanel/TabPanel.js";export{default as TabsContext}from"./components/Tabs/TabsContext/TabsContext.js";export{default as TabPanels}from"./components/Tabs/TabPanels/TabPanels.js";export{default as Text}from"./components/Text/Text.js";export{default as TextArea}from"./components/TextArea/TextArea.js";export{default as TextField}from"./components/TextField/TextField.js";export{default as TextWithHighlight}from"./components/TextWithHighlight/TextWithHighlight.js";export{default as ThemeProvider}from"./components/ThemeProvider/ThemeProvider.js";export{default as Tipseen}from"./components/Tipseen/Tipseen.js";export{default as TipseenContent}from"./components/Tipseen/TipseenContent.js";export{default as TipseenWizard}from"./components/Tipseen/TipseenWizard.js";export{default as TipseenImage}from"./components/Tipseen/TipseenImage.js";export{default as TipseenMedia}from"./components/Tipseen/TipseenMedia/TipseenMedia.js";export{default as Toast}from"./components/Toast/Toast.js";export{default as ToastButton}from"./components/Toast/ToastButton/ToastButton.js";export{default as ToastLink}from"./components/Toast/ToastLink/ToastLink.js";export{default as Toggle}from"./components/Toggle/Toggle.js";export{default as Tooltip}from"./components/Tooltip/Tooltip.js";export{default as TransitionView}from"./components/TransitionView/TransitionView.js";export{default as VirtualizedGrid}from"./components/VirtualizedGrid/VirtualizedGrid.js";export{default as VirtualizedList}from"./components/VirtualizedList/VirtualizedList.js";export{default as ColorUtils}from"./utils/colors-utils.js";export{default as useKeyEvent}from"./hooks/useKeyEvent/index.js";export{default as useEventListener}from"./hooks/useEventListener/index.js";export{default as useDebounceEvent}from"./hooks/useDebounceEvent/index.js";export{default as useClickOutside}from"./hooks/useClickOutside/index.js";export{default as useResizeObserver}from"./hooks/useResizeObserver.js";export{default as useAfterFirstRender}from"./hooks/useAfterFirstRender/index.js";export{default as useTimeout}from"./hooks/useTimeout/index.js";export{default as usePrevious}from"./hooks/usePrevious/index.js";export{default as useSetFocus}from"./hooks/useSetFocus/index.js";export{default as useMergeRefs}from"./hooks/useMergeRefs.js";export{default as useIsMouseOver}from"./hooks/useIsMouseOver.js";export{default as useHover}from"./hooks/useHover/useHover.js";export{default as useGridKeyboardNavigation}from"./hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js";export{default as useIsOverflowing}from"./hooks/useIsOverflowing/useIsOverflowing.js";export{default as useActiveDescendantListFocus}from"./hooks/useActiveDescendantListFocus/index.js";export{useMediaQuery}from"./hooks/useMediaQuery/index.js";export{default as useVibeMediaQuery}from"./hooks/useVibeMediaQuery/index.js";export{default as useListenFocusTriggers}from"./hooks/useListenFocusTriggers/index.js";export{default as useClickableProps}from"./hooks/useClickableProps/useClickableProps.js";export{default as useSwitch}from"./hooks/useSwitch/index.js";export{default as useElementsOverflowingIndex}from"./hooks/useElementsOverflowingIndex.js";export{default as useWizard}from"./hooks/useWizard/useWizard.js";export{withStaticProps}from"./types/withStaticProps.js";export{getElementColor}from"./types/Colors.js";
1
+ import"../style/dist/index.min.css.js";export{default as Accordion}from"./components/Accordion/Accordion/Accordion.js";export{default as AccordionItem}from"./components/Accordion/AccordionItem/AccordionItem.js";export{default as AlertBanner}from"./components/AlertBanner/AlertBanner.js";export{default as AlertBannerButton}from"./components/AlertBanner/AlertBannerButton/AlertBannerButton.js";export{default as AlertBannerLink}from"./components/AlertBanner/AlertBannerLink/AlertBannerLink.js";export{default as AlertBannerText}from"./components/AlertBanner/AlertBannerText/AlertBannerText.js";export{default as AttentionBox}from"./components/AttentionBox/AttentionBox.js";export{default as AttentionBoxLink}from"./components/AttentionBox/AttentionBoxLink/AttentionBoxLink.js";export{default as Avatar}from"./components/Avatar/Avatar.js";export{default as AvatarGroup}from"./components/AvatarGroup/AvatarGroup.js";export{default as Badge}from"./components/Badge/Badge.js";export{default as Box}from"./components/Box/Box.js";export{default as BreadcrumbsBar}from"./components/BreadcrumbsBar/BreadcrumbsBar.js";export{default as BreadcrumbItem}from"./components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js";export{default as BreadcrumbMenu}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenu.js";export{default as BreadcrumbMenuItem}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenuItem/BreadcrumbMenuItem.js";export{default as Button}from"./components/Button/Button.js";export{default as ButtonGroup}from"./components/ButtonGroup/ButtonGroup.js";export{default as Checkbox}from"./components/Checkbox/Checkbox.js";export{default as Chips}from"./components/Chips/Chips.js";export{default as Clickable}from"./components/Clickable/Clickable.js";export{default as ColorPicker}from"./components/ColorPicker/ColorPicker.js";export{default as ColorPickerContent}from"./components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js";export{default as Combobox}from"./components/Combobox/Combobox.js";export{default as Counter}from"./components/Counter/Counter.js";export{default as DatePicker}from"./components/DatePicker/DatePicker.js";export{default as Dialog}from"./components/Dialog/Dialog.js";export{default as DialogContentContainer}from"./components/DialogContentContainer/DialogContentContainer.js";export{default as Divider}from"./components/Divider/Divider.js";export{default as Dropdown}from"./components/Dropdown/Dropdown.js";export{default as DropdownMenu}from"./components/Dropdown/components/menu/menu.js";export{default as DropdownOption}from"./components/Dropdown/components/option/option.js";export{default as DropdownSingleValue}from"./components/Dropdown/components/singleValue/singleValue.js";export{default as EditableHeading}from"./components/EditableHeading/EditableHeading.js";export{default as EditableText}from"./components/EditableText/EditableText.js";export{default as EmptyState}from"./components/EmptyState/EmptyState.js";export{default as ExpandCollapse}from"./components/ExpandCollapse/ExpandCollapse.js";export{default as Flex}from"./components/Flex/Flex.js";export{default as FormattedNumber}from"./components/FormattedNumber/FormattedNumber.js";export{GridKeyboardNavigationContext,useGridKeyboardNavigationContext}from"./components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js";export{default as Heading}from"./components/Heading/Heading.js";export{default as HiddenText}from"./components/HiddenText/HiddenText.js";export{default as Icon}from"./components/Icon/Icon.js";export{default as CustomSvgIcon}from"./components/Icon/CustomSvgIcon/CustomSvgIcon.js";export{default as IconButton}from"./components/IconButton/IconButton.js";export{default as Label}from"./components/Label/Label.js";export{default as LayerProvider}from"./components/LayerProvider/LayerProvider.js";export{default as Link}from"./components/Link/Link.js";export{default as List}from"./components/List/List.js";export{default as ListItem}from"./components/ListItem/ListItem.js";export{default as ListItemAvatar}from"./components/ListItemAvatar/ListItemAvatar.js";export{default as ListItemIcon}from"./components/ListItemIcon/ListItemIcon.js";export{default as ListTitle}from"./components/ListTitle/ListTitle.js";export{default as Loader}from"./components/Loader/Loader.js";export{default as Menu}from"./components/Menu/Menu/Menu.js";export{default as MenuItem}from"./components/Menu/MenuItem/MenuItem.js";export{default as MenuItemButton}from"./components/Menu/MenuItemButton/MenuItemButton.js";export{default as MenuDivider}from"./components/Menu/MenuDivider/MenuDivider.js";export{default as MenuTitle}from"./components/Menu/MenuTitle/MenuTitle.js";export{default as MenuGridItem}from"./components/Menu/MenuGridItem/MenuGridItem.js";export{default as MenuButton}from"./components/MenuButton/MenuButton.js";export{default as Modal}from"./components/LegacyModal/LegacyModal.js";export{default as ModalHeader}from"./components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js";export{default as ModalContent}from"./components/LegacyModal/LegacyModalContent/LegacyModalContent.js";export{default as ModalFooter}from"./components/LegacyModal/LegacyModalFooter/LegacyModalFooter.js";export{default as ModalFooterButtons}from"./components/LegacyModal/LegacyModalFooter/LegacyModalFooterButtons/LegacyModalFooterButtons.js";export{default as MultiStepIndicator}from"./components/MultiStepIndicator/MultiStepIndicator.js";export{default as LinearProgressBar}from"./components/ProgressBars/LinearProgressBar/LinearProgressBar.js";export{default as RadioButton}from"./components/RadioButton/RadioButton.js";export{default as Search}from"./components/Search/Search.js";export{default as Skeleton}from"./components/Skeleton/Skeleton.js";export{default as Slider}from"./components/Slider/Slider.js";export{default as SplitButton}from"./components/SplitButton/SplitButton.js";export{default as SplitButtonMenu}from"./components/SplitButton/SplitButtonMenu/SplitButtonMenu.js";export{default as Steps}from"./components/Steps/Steps.js";export{default as Table}from"./components/Table/Table/Table.js";export{default as TableContainer}from"./components/Table/TableContainer/TableContainer.js";export{default as TableHeader}from"./components/Table/TableHeader/TableHeader.js";export{default as TableHeaderCell}from"./components/Table/TableHeaderCell/TableHeaderCell.js";export{default as TableBody}from"./components/Table/TableBody/TableBody.js";export{default as TableVirtualizedBody}from"./components/Table/TableVirtualizedBody/TableVirtualizedBody.js";export{default as TableRow}from"./components/Table/TableRow/TableRow.js";export{default as TableRowMenu}from"./components/Table/TableRowMenu/TableRowMenu.js";export{default as TableCell}from"./components/Table/TableCell/TableCell.js";export{default as Tab}from"./components/Tabs/Tab/Tab.js";export{default as TabList}from"./components/Tabs/TabList/TabList.js";export{default as TabPanel}from"./components/Tabs/TabPanel/TabPanel.js";export{default as TabsContext}from"./components/Tabs/TabsContext/TabsContext.js";export{default as TabPanels}from"./components/Tabs/TabPanels/TabPanels.js";export{default as Text}from"./components/Text/Text.js";export{default as TextArea}from"./components/TextArea/TextArea.js";export{default as TextField}from"./components/TextField/TextField.js";export{default as TextWithHighlight}from"./components/TextWithHighlight/TextWithHighlight.js";export{default as ThemeProvider}from"./components/ThemeProvider/ThemeProvider.js";export{default as Tipseen}from"./components/Tipseen/Tipseen.js";export{default as TipseenContent}from"./components/Tipseen/TipseenContent.js";export{default as TipseenWizard}from"./components/Tipseen/TipseenWizard.js";export{default as TipseenImage}from"./components/Tipseen/TipseenImage.js";export{default as TipseenMedia}from"./components/Tipseen/TipseenMedia/TipseenMedia.js";export{default as Toast}from"./components/Toast/Toast.js";export{default as ToastButton}from"./components/Toast/ToastButton/ToastButton.js";export{default as ToastLink}from"./components/Toast/ToastLink/ToastLink.js";export{default as Toggle}from"./components/Toggle/Toggle.js";export{default as Tooltip}from"./components/Tooltip/Tooltip.js";export{default as TransitionView}from"./components/TransitionView/TransitionView.js";export{default as VirtualizedGrid}from"./components/VirtualizedGrid/VirtualizedGrid.js";export{default as VirtualizedList}from"./components/VirtualizedList/VirtualizedList.js";export{default as ColorUtils}from"./utils/colors-utils.js";export{default as useKeyEvent}from"./hooks/useKeyEvent/index.js";export{default as useEventListener}from"./hooks/useEventListener/index.js";export{default as useDebounceEvent}from"./hooks/useDebounceEvent/index.js";export{default as useClickOutside}from"./hooks/useClickOutside/index.js";export{default as useResizeObserver}from"./hooks/useResizeObserver.js";export{default as useAfterFirstRender}from"./hooks/useAfterFirstRender/index.js";export{default as useTimeout}from"./hooks/useTimeout/index.js";export{default as usePrevious}from"./hooks/usePrevious/index.js";export{default as useSetFocus}from"./hooks/useSetFocus/index.js";export{default as useMergeRefs}from"./hooks/useMergeRefs.js";export{default as useIsMouseOver}from"./hooks/useIsMouseOver.js";export{default as useHover}from"./hooks/useHover/useHover.js";export{default as useGridKeyboardNavigation}from"./hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js";export{default as useIsOverflowing}from"./hooks/useIsOverflowing/useIsOverflowing.js";export{default as useActiveDescendantListFocus}from"./hooks/useActiveDescendantListFocus/index.js";export{useMediaQuery}from"./hooks/useMediaQuery/index.js";export{default as useVibeMediaQuery}from"./hooks/useVibeMediaQuery/index.js";export{default as useListenFocusTriggers}from"./hooks/useListenFocusTriggers/index.js";export{default as useClickableProps}from"./hooks/useClickableProps/useClickableProps.js";export{default as useSwitch}from"./hooks/useSwitch/index.js";export{default as useElementsOverflowingIndex}from"./hooks/useElementsOverflowingIndex.js";export{default as useWizard}from"./hooks/useWizard/useWizard.js";export{withStaticProps,withStaticPropsWithoutForwardRef}from"./types/withStaticProps.js";export{getElementColor}from"./types/Colors.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- var n=function(n,r){return Object.assign(n,r)};export{n as withStaticProps};
1
+ var n=function(n,t){return Object.assign(n,t)},t=function(n,t){return Object.assign(n,t)};export{n as withStaticProps,t as withStaticPropsWithoutForwardRef};
2
2
  //# sourceMappingURL=withStaticProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withStaticProps.js","sources":["../../../../src/types/withStaticProps.ts"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes } from \"react\";\n\ntype Required<T> = {\n [P in keyof T]-?: T[P];\n};\n\ntype Component<P, R> = React.FC<P> | ForwardRefExoticComponent<P & RefAttributes<R>>;\n\nexport const withStaticProps = <Props, StaticProps, Ref = HTMLElement>(\n component: Component<Props, Ref>,\n staticProps: Required<StaticProps>\n) => Object.assign(component, staticProps) as Component<Props, Ref> & Required<StaticProps>;\n"],"names":["withStaticProps","component","staticProps","Object","assign"],"mappings":"AAQO,IAAMA,EAAkB,SAC7BC,EACAC,GAAkC,OAC/BC,OAAOC,OAAOH,EAAWC,EAA6D"}
1
+ {"version":3,"file":"withStaticProps.js","sources":["../../../../src/types/withStaticProps.ts"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes } from \"react\";\n\ntype Required<T> = {\n [P in keyof T]-?: T[P];\n};\n\nexport const withStaticProps = <Props, StaticProps, Ref = HTMLElement>(\n component: ForwardRefExoticComponent<Props & RefAttributes<Ref>>,\n staticProps: Required<StaticProps>\n) => Object.assign(component, staticProps);\n\nexport const withStaticPropsWithoutForwardRef = <Props, StaticProps>(\n component: React.FC<Props>,\n staticProps: Required<StaticProps>\n) => Object.assign(component, staticProps);\n"],"names":["withStaticProps","component","staticProps","Object","assign","withStaticPropsWithoutForwardRef"],"mappings":"AAMO,IAAMA,EAAkB,SAC7BC,EACAC,GAAkC,OAC/BC,OAAOC,OAAOH,EAAWC,EAAY,EAE7BG,EAAmC,SAC9CJ,EACAC,GAAkC,OAC/BC,OAAOC,OAAOH,EAAWC,EAAY"}
@@ -2,6 +2,6 @@ import React, { ForwardRefExoticComponent, RefAttributes } from "react";
2
2
  type Required<T> = {
3
3
  [P in keyof T]-?: T[P];
4
4
  };
5
- type Component<P, R> = React.FC<P> | ForwardRefExoticComponent<P & RefAttributes<R>>;
6
- export declare const withStaticProps: <Props, StaticProps, Ref = HTMLElement>(component: Component<Props, Ref>, staticProps: Required<StaticProps>) => Component<Props, Ref> & Required<StaticProps>;
5
+ export declare const withStaticProps: <Props, StaticProps, Ref = HTMLElement>(component: React.ForwardRefExoticComponent<Props & React.RefAttributes<Ref>>, staticProps: Required<StaticProps>) => React.ForwardRefExoticComponent<Props & React.RefAttributes<Ref>> & Required<StaticProps>;
6
+ export declare const withStaticPropsWithoutForwardRef: <Props, StaticProps>(component: React.FC<Props>, staticProps: Required<StaticProps>) => React.FC<Props> & Required<StaticProps>;
7
7
  export {};
@@ -1,2 +1,2 @@
1
- import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import e from"classnames";import o,{useMemo as i}from"react";import{camelCase as r}from"lodash-es";import{getStyle as s}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as a,ComponentDefaultTestId as n}from"../../tests/testIds.js";import c from"../Icon/Icon.js";import m from"../IconButton/IconButton.js";import{IconType as l}from"../Icon/IconConstants.js";import{AttentionBoxType as p}from"./AttentionBoxConstants.js";import{withStaticProps as d}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import f from"../Text/Text.js";import u from"../Flex/Flex.js";import y from"./AttentionBox.module.scss.js";import j from"../../../icons/dist/react/Info.js";import v from"../../../icons/dist/react/Alert.js";import x from"../../../icons/dist/react/CloseSmall.js";var I=d((function(l){var p=l.className,d=l.withIconWithoutHeader,I=void 0!==d&&d,h=l.type,g=void 0===h?"primary":h,C=l.icon,N=l.iconType,T=void 0===N?"svg":N,E=l.title,B=l.text,A=l.children,S=l.withoutIcon,w=void 0!==S&&S,H=l.onClose,b=l.compact,F=void 0!==b&&b,z=l.id,P=l["data-testid"],_=l.closeButtonAriaLabel,L=void 0===_?"Close":_,O=l.entryAnimation,W=void 0!==O&&O,k=i((function(){return"primary"===g?j:v}),[g]),M=void 0===C?k:C;return o.createElement("aside",{className:e(y.attentionBox,s(y,r("type-".concat(g))),p,t({},y.entryAnimation,W)),role:"alert","data-testid":P||a(n.ATTENTION_BOX,z)},E&&o.createElement(u,{justify:"start",align:"center",className:y.titleContainer,gap:"xs"},!w&&o.createElement(c,{className:y.icon,iconType:T,ariaHidden:!0,icon:M,ignoreFocusStyle:!0,iconSize:"20"}),o.createElement(f,{type:"text1",element:"h5",weight:"medium",className:y.title},E)),o.createElement(u,{justify:"start",align:"center",gap:"xs"},!E&&F&&!w&&I&&o.createElement(c,{iconType:T,iconSize:18,ariaHidden:!0,icon:M,ignoreFocusStyle:!0}),o.createElement(f,{type:"text2",element:F?void 0:"p",className:e(y.text,t(t(t({},y.compact,F),y.dismissible,!!H),y.paragraph,!F))},B||A)),H&&o.createElement(m,{size:"small",color:"on-primary-color",className:y.closeIcon,wrapperClassName:e(y.closeIconWrapper,t({},y.closeIconCompact,F)),ariaLabel:L,hideTooltip:!0,icon:x,onClick:H}))}),{types:p,iconTypes:l});export{I as default};
1
+ import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import e from"classnames";import o,{useMemo as i}from"react";import{camelCase as r}from"lodash-es";import{getStyle as s}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as a,ComponentDefaultTestId as n}from"../../tests/testIds.js";import c from"../Icon/Icon.js";import m from"../IconButton/IconButton.js";import{IconType as l}from"../Icon/IconConstants.js";import{AttentionBoxType as p}from"./AttentionBoxConstants.js";import{withStaticPropsWithoutForwardRef as d}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import f from"../Text/Text.js";import u from"../Flex/Flex.js";import y from"./AttentionBox.module.scss.js";import j from"../../../icons/dist/react/Info.js";import v from"../../../icons/dist/react/Alert.js";import x from"../../../icons/dist/react/CloseSmall.js";var I=d((function(l){var p=l.className,d=l.withIconWithoutHeader,I=void 0!==d&&d,h=l.type,g=void 0===h?"primary":h,C=l.icon,N=l.iconType,T=void 0===N?"svg":N,E=l.title,B=l.text,A=l.children,S=l.withoutIcon,w=void 0!==S&&S,H=l.onClose,b=l.compact,F=void 0!==b&&b,z=l.id,P=l["data-testid"],_=l.closeButtonAriaLabel,L=void 0===_?"Close":_,O=l.entryAnimation,W=void 0!==O&&O,k=i((function(){return"primary"===g?j:v}),[g]),M=void 0===C?k:C;return o.createElement("aside",{className:e(y.attentionBox,s(y,r("type-".concat(g))),p,t({},y.entryAnimation,W)),role:"alert","data-testid":P||a(n.ATTENTION_BOX,z)},E&&o.createElement(u,{justify:"start",align:"center",className:y.titleContainer,gap:"xs"},!w&&o.createElement(c,{className:y.icon,iconType:T,ariaHidden:!0,icon:M,ignoreFocusStyle:!0,iconSize:"20"}),o.createElement(f,{type:"text1",element:"h5",weight:"medium",className:y.title},E)),o.createElement(u,{justify:"start",align:"center",gap:"xs"},!E&&F&&!w&&I&&o.createElement(c,{iconType:T,iconSize:18,ariaHidden:!0,icon:M,ignoreFocusStyle:!0}),o.createElement(f,{type:"text2",element:F?void 0:"p",className:e(y.text,t(t(t({},y.compact,F),y.dismissible,!!H),y.paragraph,!F))},B||A)),H&&o.createElement(m,{size:"small",color:"on-primary-color",className:y.closeIcon,wrapperClassName:e(y.closeIconWrapper,t({},y.closeIconCompact,F)),ariaLabel:L,hideTooltip:!0,icon:x,onClick:H}))}),{types:p,iconTypes:l});export{I as default};
2
2
  //# sourceMappingURL=AttentionBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttentionBox.js","sources":["../../../../src/components/AttentionBox/AttentionBox.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport Icon from \"../Icon/Icon\";\nimport IconButton from \"../IconButton/IconButton\";\nimport { CloseSmall, Alert as AlertIcon, Info as InfoIcon } from \"@vibe/icons\";\nimport { IconType as IconTypeEnum } from \"../Icon/IconConstants\";\nimport { AttentionBoxType as AttentionBoxTypeEnum } from \"./AttentionBoxConstants\";\nimport { AttentionBoxType } from \"./AttentionBox.types\";\nimport { SubIcon, VibeComponentProps, withStaticProps, ElementContent } from \"../../types\";\nimport Text from \"../Text/Text\";\nimport Flex from \"../Flex/Flex\";\nimport styles from \"./AttentionBox.module.scss\";\n\nexport interface AttentionBoxProps extends VibeComponentProps {\n // TODO: [breaking] remove prop\n /**\n * If true, displays an icon even when no header is provided.\n */\n withIconWithoutHeader?: boolean;\n /**\n * The type of the AttentionBox.\n */\n type?: AttentionBoxType;\n /**\n * The icon displayed next to the title or text.\n */\n icon?: SubIcon;\n /**\n * The type of the icon.\n */\n iconType?: \"svg\" | \"font\";\n /**\n * The title of the component.\n */\n title?: string;\n /**\n * The text content displayed inside.\n */\n text?: string;\n /**\n * The content of the component.\n */\n children?: ElementContent;\n // TODO: [breaking] remove prop\n /**\n * If true, the icon is not displayed.\n */\n withoutIcon?: boolean;\n /**\n * Callback fired when the close button is clicked.\n */\n onClose?: (event: React.MouseEvent) => void;\n /**\n * If true, renders in compact mode.\n */\n compact?: boolean;\n /**\n * The label of the close button.\n */\n closeButtonAriaLabel?: string;\n /**\n * If true, an entry animation is applied when the component appears.\n */\n entryAnimation?: boolean;\n}\n\nconst AttentionBox = ({\n className,\n withIconWithoutHeader = false,\n type = \"primary\",\n icon,\n iconType = \"svg\",\n title,\n text,\n children,\n withoutIcon = false,\n onClose,\n compact = false,\n id,\n \"data-testid\": dataTestId,\n closeButtonAriaLabel = \"Close\",\n entryAnimation = false\n}: AttentionBoxProps) => {\n const defaultIcon = useMemo(() => {\n return type === \"primary\" ? InfoIcon : AlertIcon;\n }, [type]);\n\n const overrideIcon = icon === undefined ? defaultIcon : icon;\n\n return (\n <aside\n className={cx(styles.attentionBox, getStyle(styles, camelCase(`type-${type}`)), className, {\n [styles.entryAnimation]: entryAnimation\n })}\n role=\"alert\"\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.ATTENTION_BOX, id)}\n >\n {title && (\n <Flex justify=\"start\" align=\"center\" className={styles.titleContainer} gap=\"xs\">\n {!withoutIcon && (\n <Icon\n className={styles.icon}\n iconType={iconType}\n ariaHidden\n icon={overrideIcon}\n ignoreFocusStyle\n iconSize=\"20\"\n />\n )}\n <Text type=\"text1\" element=\"h5\" weight=\"medium\" className={styles.title}>\n {title}\n </Text>\n </Flex>\n )}\n <Flex justify=\"start\" align=\"center\" gap=\"xs\">\n {!title && compact && !withoutIcon && withIconWithoutHeader && (\n <Icon iconType={iconType} iconSize={18} ariaHidden icon={overrideIcon} ignoreFocusStyle />\n )}\n <Text\n type=\"text2\"\n element={compact ? undefined : \"p\"}\n className={cx(styles.text, {\n [styles.compact]: compact,\n [styles.dismissible]: !!onClose,\n [styles.paragraph]: !compact\n })}\n >\n {text || children}\n </Text>\n </Flex>\n {onClose && (\n <IconButton\n size=\"small\"\n color=\"on-primary-color\"\n className={styles.closeIcon}\n wrapperClassName={cx(styles.closeIconWrapper, {\n [styles.closeIconCompact]: compact\n })}\n ariaLabel={closeButtonAriaLabel}\n hideTooltip\n icon={CloseSmall}\n onClick={onClose}\n />\n )}\n </aside>\n );\n};\n\ninterface AttentionBoxStaticProps {\n types: typeof AttentionBoxTypeEnum;\n iconTypes: typeof IconTypeEnum;\n}\n\nexport default withStaticProps<AttentionBoxProps, AttentionBoxStaticProps>(AttentionBox, {\n types: AttentionBoxTypeEnum,\n iconTypes: IconTypeEnum\n});\n"],"names":["withStaticProps","_ref","className","_ref$withIconWithoutH","withIconWithoutHeader","_ref$type","type","icon","_ref$iconType","iconType","title","text","children","_ref$withoutIcon","withoutIcon","onClose","_ref$compact","compact","id","dataTestId","_ref$closeButtonAriaL","closeButtonAriaLabel","_ref$entryAnimation","entryAnimation","defaultIcon","useMemo","InfoIcon","AlertIcon","overrideIcon","undefined","React","cx","styles","attentionBox","getStyle","camelCase","concat","_defineProperty","role","getTestId","ComponentDefaultTestId","ATTENTION_BOX","createElement","Flex","justify","align","titleContainer","gap","Icon","ariaHidden","ignoreFocusStyle","iconSize","Text","element","weight","dismissible","paragraph","IconButton","size","color","closeIcon","wrapperClassName","closeIconWrapper","closeIconCompact","ariaLabel","hideTooltip","CloseSmall","onClick","types","AttentionBoxTypeEnum","iconTypes","IconTypeEnum"],"mappings":"i3BAqEA,IAuFeA,EAAAA,GAvFM,SAAHC,GAgBM,IAftBC,EAASD,EAATC,UAASC,EAAAF,EACTG,sBAAAA,OAAwB,IAAHD,GAAQA,EAAAE,EAAAJ,EAC7BK,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAChBE,EAAIN,EAAJM,KAAIC,EAAAP,EACJQ,SAAAA,OAAW,IAAHD,EAAG,MAAKA,EAChBE,EAAKT,EAALS,MACAC,EAAIV,EAAJU,KACAC,EAAQX,EAARW,SAAQC,EAAAZ,EACRa,YAAAA,OAAc,IAAHD,GAAQA,EACnBE,EAAOd,EAAPc,QAAOC,EAAAf,EACPgB,QAAAA,OAAU,IAAHD,GAAQA,EACfE,EAAEjB,EAAFiB,GACeC,EAAUlB,EAAzB,eAAamB,EAAAnB,EACboB,qBAAAA,OAAuB,IAAHD,EAAG,QAAOA,EAAAE,EAAArB,EAC9BsB,eAAAA,OAAiB,IAAHD,GAAQA,EAEhBE,EAAcC,GAAQ,WAC1B,MAAgB,YAATnB,EAAqBoB,EAAWC,CACzC,GAAG,CAACrB,IAEEsB,OAAwBC,IAATtB,EAAqBiB,EAAcjB,EAExD,OACEuB,yBACE5B,UAAW6B,EAAGC,EAAOC,aAAcC,EAASF,EAAQG,UAASC,OAAS9B,KAAUJ,EAASmC,EACtFL,CAAAA,EAAAA,EAAOT,eAAiBA,IAE3Be,KAAK,sBACQnB,GAAcoB,EAAUC,EAAuBC,cAAevB,IAE1ER,GACCoB,EAACY,cAAAC,GAAKC,QAAQ,QAAQC,MAAM,SAAS3C,UAAW8B,EAAOc,eAAgBC,IAAI,OACvEjC,GACAgB,EAAAY,cAACM,EAAI,CACH9C,UAAW8B,EAAOzB,KAClBE,SAAUA,EACVwC,YAAU,EACV1C,KAAMqB,EACNsB,kBAAgB,EAChBC,SAAS,OAGbrB,EAACY,cAAAU,GAAK9C,KAAK,QAAQ+C,QAAQ,KAAKC,OAAO,SAASpD,UAAW8B,EAAOtB,OAC/DA,IAIPoB,EAAAY,cAACC,EAAI,CAACC,QAAQ,QAAQC,MAAM,SAASE,IAAI,OACrCrC,GAASO,IAAYH,GAAeV,GACpC0B,EAACY,cAAAM,EAAK,CAAAvC,SAAUA,EAAU0C,SAAU,GAAIF,YAAW,EAAA1C,KAAMqB,EAAcsB,sBAEzEpB,EAACY,cAAAU,EACC,CAAA9C,KAAK,QACL+C,QAASpC,OAAUY,EAAY,IAC/B3B,UAAW6B,EAAGC,EAAOrB,KAAI0B,EAAAA,EAAAA,EAAA,CAAA,EACtBL,EAAOf,QAAUA,GACjBe,EAAOuB,cAAgBxC,GACvBiB,EAAOwB,WAAavC,KAGtBN,GAAQC,IAGZG,GACCe,EAAAY,cAACe,EAAU,CACTC,KAAK,QACLC,MAAM,mBACNzD,UAAW8B,EAAO4B,UAClBC,iBAAkB9B,EAAGC,EAAO8B,iBAAgBzB,EAAA,CAAA,EACzCL,EAAO+B,iBAAmB9C,IAE7B+C,UAAW3C,EACX4C,eACA1D,KAAM2D,EACNC,QAASpD,IAKnB,GAOyF,CACvFqD,MAAOC,EACPC,UAAWC"}
1
+ {"version":3,"file":"AttentionBox.js","sources":["../../../../src/components/AttentionBox/AttentionBox.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport Icon from \"../Icon/Icon\";\nimport IconButton from \"../IconButton/IconButton\";\nimport { CloseSmall, Alert as AlertIcon, Info as InfoIcon } from \"@vibe/icons\";\nimport { IconType as IconTypeEnum } from \"../Icon/IconConstants\";\nimport { AttentionBoxType as AttentionBoxTypeEnum } from \"./AttentionBoxConstants\";\nimport { AttentionBoxType } from \"./AttentionBox.types\";\nimport { SubIcon, VibeComponentProps, ElementContent, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport Text from \"../Text/Text\";\nimport Flex from \"../Flex/Flex\";\nimport styles from \"./AttentionBox.module.scss\";\n\nexport interface AttentionBoxProps extends VibeComponentProps {\n // TODO: [breaking] remove prop\n /**\n * If true, displays an icon even when no header is provided.\n */\n withIconWithoutHeader?: boolean;\n /**\n * The type of the AttentionBox.\n */\n type?: AttentionBoxType;\n /**\n * The icon displayed next to the title or text.\n */\n icon?: SubIcon;\n /**\n * The type of the icon.\n */\n iconType?: \"svg\" | \"font\";\n /**\n * The title of the component.\n */\n title?: string;\n /**\n * The text content displayed inside.\n */\n text?: string;\n /**\n * The content of the component.\n */\n children?: ElementContent;\n // TODO: [breaking] remove prop\n /**\n * If true, the icon is not displayed.\n */\n withoutIcon?: boolean;\n /**\n * Callback fired when the close button is clicked.\n */\n onClose?: (event: React.MouseEvent) => void;\n /**\n * If true, renders in compact mode.\n */\n compact?: boolean;\n /**\n * The label of the close button.\n */\n closeButtonAriaLabel?: string;\n /**\n * If true, an entry animation is applied when the component appears.\n */\n entryAnimation?: boolean;\n}\n\nconst AttentionBox = ({\n className,\n withIconWithoutHeader = false,\n type = \"primary\",\n icon,\n iconType = \"svg\",\n title,\n text,\n children,\n withoutIcon = false,\n onClose,\n compact = false,\n id,\n \"data-testid\": dataTestId,\n closeButtonAriaLabel = \"Close\",\n entryAnimation = false\n}: AttentionBoxProps) => {\n const defaultIcon = useMemo(() => {\n return type === \"primary\" ? InfoIcon : AlertIcon;\n }, [type]);\n\n const overrideIcon = icon === undefined ? defaultIcon : icon;\n\n return (\n <aside\n className={cx(styles.attentionBox, getStyle(styles, camelCase(`type-${type}`)), className, {\n [styles.entryAnimation]: entryAnimation\n })}\n role=\"alert\"\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.ATTENTION_BOX, id)}\n >\n {title && (\n <Flex justify=\"start\" align=\"center\" className={styles.titleContainer} gap=\"xs\">\n {!withoutIcon && (\n <Icon\n className={styles.icon}\n iconType={iconType}\n ariaHidden\n icon={overrideIcon}\n ignoreFocusStyle\n iconSize=\"20\"\n />\n )}\n <Text type=\"text1\" element=\"h5\" weight=\"medium\" className={styles.title}>\n {title}\n </Text>\n </Flex>\n )}\n <Flex justify=\"start\" align=\"center\" gap=\"xs\">\n {!title && compact && !withoutIcon && withIconWithoutHeader && (\n <Icon iconType={iconType} iconSize={18} ariaHidden icon={overrideIcon} ignoreFocusStyle />\n )}\n <Text\n type=\"text2\"\n element={compact ? undefined : \"p\"}\n className={cx(styles.text, {\n [styles.compact]: compact,\n [styles.dismissible]: !!onClose,\n [styles.paragraph]: !compact\n })}\n >\n {text || children}\n </Text>\n </Flex>\n {onClose && (\n <IconButton\n size=\"small\"\n color=\"on-primary-color\"\n className={styles.closeIcon}\n wrapperClassName={cx(styles.closeIconWrapper, {\n [styles.closeIconCompact]: compact\n })}\n ariaLabel={closeButtonAriaLabel}\n hideTooltip\n icon={CloseSmall}\n onClick={onClose}\n />\n )}\n </aside>\n );\n};\n\ninterface AttentionBoxStaticProps {\n types: typeof AttentionBoxTypeEnum;\n iconTypes: typeof IconTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<AttentionBoxProps, AttentionBoxStaticProps>(AttentionBox, {\n types: AttentionBoxTypeEnum,\n iconTypes: IconTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","className","_ref$withIconWithoutH","withIconWithoutHeader","_ref$type","type","icon","_ref$iconType","iconType","title","text","children","_ref$withoutIcon","withoutIcon","onClose","_ref$compact","compact","id","dataTestId","_ref$closeButtonAriaL","closeButtonAriaLabel","_ref$entryAnimation","entryAnimation","defaultIcon","useMemo","InfoIcon","AlertIcon","overrideIcon","undefined","React","cx","styles","attentionBox","getStyle","camelCase","concat","_defineProperty","role","getTestId","ComponentDefaultTestId","ATTENTION_BOX","createElement","Flex","justify","align","titleContainer","gap","Icon","ariaHidden","ignoreFocusStyle","iconSize","Text","element","weight","dismissible","paragraph","IconButton","size","color","closeIcon","wrapperClassName","closeIconWrapper","closeIconCompact","ariaLabel","hideTooltip","CloseSmall","onClick","types","AttentionBoxTypeEnum","iconTypes","IconTypeEnum"],"mappings":"k4BAqEA,IAuFeA,EAAAA,GAvFM,SAAHC,GAgBM,IAftBC,EAASD,EAATC,UAASC,EAAAF,EACTG,sBAAAA,OAAwB,IAAHD,GAAQA,EAAAE,EAAAJ,EAC7BK,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAChBE,EAAIN,EAAJM,KAAIC,EAAAP,EACJQ,SAAAA,OAAW,IAAHD,EAAG,MAAKA,EAChBE,EAAKT,EAALS,MACAC,EAAIV,EAAJU,KACAC,EAAQX,EAARW,SAAQC,EAAAZ,EACRa,YAAAA,OAAc,IAAHD,GAAQA,EACnBE,EAAOd,EAAPc,QAAOC,EAAAf,EACPgB,QAAAA,OAAU,IAAHD,GAAQA,EACfE,EAAEjB,EAAFiB,GACeC,EAAUlB,EAAzB,eAAamB,EAAAnB,EACboB,qBAAAA,OAAuB,IAAHD,EAAG,QAAOA,EAAAE,EAAArB,EAC9BsB,eAAAA,OAAiB,IAAHD,GAAQA,EAEhBE,EAAcC,GAAQ,WAC1B,MAAgB,YAATnB,EAAqBoB,EAAWC,CACzC,GAAG,CAACrB,IAEEsB,OAAwBC,IAATtB,EAAqBiB,EAAcjB,EAExD,OACEuB,yBACE5B,UAAW6B,EAAGC,EAAOC,aAAcC,EAASF,EAAQG,UAASC,OAAS9B,KAAUJ,EAASmC,EACtFL,CAAAA,EAAAA,EAAOT,eAAiBA,IAE3Be,KAAK,sBACQnB,GAAcoB,EAAUC,EAAuBC,cAAevB,IAE1ER,GACCoB,EAACY,cAAAC,GAAKC,QAAQ,QAAQC,MAAM,SAAS3C,UAAW8B,EAAOc,eAAgBC,IAAI,OACvEjC,GACAgB,EAAAY,cAACM,EAAI,CACH9C,UAAW8B,EAAOzB,KAClBE,SAAUA,EACVwC,YAAU,EACV1C,KAAMqB,EACNsB,kBAAgB,EAChBC,SAAS,OAGbrB,EAACY,cAAAU,GAAK9C,KAAK,QAAQ+C,QAAQ,KAAKC,OAAO,SAASpD,UAAW8B,EAAOtB,OAC/DA,IAIPoB,EAAAY,cAACC,EAAI,CAACC,QAAQ,QAAQC,MAAM,SAASE,IAAI,OACrCrC,GAASO,IAAYH,GAAeV,GACpC0B,EAACY,cAAAM,EAAK,CAAAvC,SAAUA,EAAU0C,SAAU,GAAIF,YAAW,EAAA1C,KAAMqB,EAAcsB,sBAEzEpB,EAACY,cAAAU,EACC,CAAA9C,KAAK,QACL+C,QAASpC,OAAUY,EAAY,IAC/B3B,UAAW6B,EAAGC,EAAOrB,KAAI0B,EAAAA,EAAAA,EAAA,CAAA,EACtBL,EAAOf,QAAUA,GACjBe,EAAOuB,cAAgBxC,GACvBiB,EAAOwB,WAAavC,KAGtBN,GAAQC,IAGZG,GACCe,EAAAY,cAACe,EAAU,CACTC,KAAK,QACLC,MAAM,mBACNzD,UAAW8B,EAAO4B,UAClBC,iBAAkB9B,EAAGC,EAAO8B,iBAAgBzB,EAAA,CAAA,EACzCL,EAAO+B,iBAAmB9C,IAE7B+C,UAAW3C,EACX4C,eACA1D,KAAM2D,EACNC,QAASpD,IAKnB,GAO0G,CACxGqD,MAAOC,EACPC,UAAWC"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{isNil as t,camelCase as o}from"lodash-es";import{getStyle as a}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as r,ComponentDefaultTestId as s}from"../../tests/testIds.js";import i from"classnames";import l,{useMemo as n,useCallback as c}from"react";import{ElementAllowedColor as m}from"../../utils/colors-vars-map.js";import{getElementColor as d}from"../../types/Colors.js";import{AvatarType as p,AvatarSize as u}from"./AvatarConstants.js";import b from"./AvatarBadge.js";import g from"./AvatarContent.js";import f from"../Tooltip/Tooltip.js";import v from"../Clickable/ClickableWrapper.js";import{withStaticProps as h}from"../../types/withStaticProps.js";import j from"./Avatar.module.scss.js";var C=h((function(m){var p=m.id,u=m.type,h=void 0===u?"text":u,C=m.className,k=m.avatarContentWrapperClassName,E=m.textClassName,y=void 0===E?"":E,N=m.size,B=void 0===N?"large":N,x=m.src,P=m.icon,z=m.text,T=m.tooltipProps,A=m.ariaLabel,O=m.withoutTooltip,w=void 0!==O&&O,L=m.role,R=m.backgroundColor,I=void 0===R?"chili-blue":R,H=m.square,W=m.disabled,q=m.tabIndex,S=m.ariaHidden,_=void 0!==S&&S,D=m.topLeftBadgeProps,M=m.topRightBadgeProps,V=m.bottomLeftBadgeProps,F=m.bottomRightBadgeProps,G=m.withoutBorder,J=void 0!==G&&G,K=m.customSize,Q=void 0===K?null:K,U=m.customBackgroundColor,X=void 0===U?null:U,Y=m.onClick,Z=m["data-testid"],$=n((function(){return X?{backgroundColor:X}:x?{}:{backgroundColor:d(I)}}),[x,I,X]),ee=n((function(){return Q?{height:Q,width:Q}:{}}),[Q]),te=n((function(){if(!w)return T?Object.assign({content:A},T):{content:A}}),[A,T,w]),oe=n((function(){var e=[];return t(D)||e.push(l.createElement("div",{key:"top-left-badge",className:i(j.badge,j.badgeTopLeft)},l.createElement(b,Object.assign({size:B},D)))),t(M)||e.push(l.createElement("div",{key:"top-right-badge",className:i(j.badge,j.badgeTopRight)},l.createElement(b,Object.assign({size:B},M)))),t(V)||e.push(l.createElement("div",{key:"bottom-left-badge",className:i(j.badge,j.badgeBottomLeft)},l.createElement(b,Object.assign({size:B},V)))),t(F)||e.push(l.createElement("div",{key:"bottom-right-bade",className:i(j.badge,j.badgeBottomRight)},l.createElement(b,Object.assign({size:B},F)))),e.length>0?l.createElement("div",{className:i(j.badges)},e):null}),[B,D,M,V,F]),ae=n((function(){return W||!Y&&!(null==te?void 0:te.content)?-1:0}),[W,Y,null==te?void 0:te.content]),re=null!=q?q:ae,se=c((function(e){e.preventDefault(),Y&&Y(e,p)}),[Y,p]);return l.createElement("div",{id:p,"data-testid":Z||r(s.AVATAR,p),className:i(j.avatar,j[B],C),style:ee},l.createElement(v,{isClickable:!!Y,clickableProps:{onClick:se,tabIndex:"-1",className:j.clickableWrapper}},l.createElement(f,Object.assign({showTrigger:["focus","mouseenter"],hideTrigger:["blur","mouseleave"]},te),l.createElement("div",{className:i(j.circle,a(j,o("circle--"+h)),e(e(e({},j.disabled,W),j.square,H),j.withoutBorder,J),k),"aria-hidden":_,tabIndex:re,style:Object.assign({},$)},l.createElement(g,{type:h,size:B,src:x,icon:P,text:z,ariaLabel:A,role:L,textClassName:y})),oe)))}),{types:p,sizes:u,colors:m,backgroundColors:m});export{C as default};
1
+ import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{isNil as t,camelCase as o}from"lodash-es";import{getStyle as a}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as r,ComponentDefaultTestId as s}from"../../tests/testIds.js";import i from"classnames";import l,{useMemo as n,useCallback as c}from"react";import{ElementAllowedColor as m}from"../../utils/colors-vars-map.js";import{getElementColor as d}from"../../types/Colors.js";import{AvatarType as p,AvatarSize as u}from"./AvatarConstants.js";import b from"./AvatarBadge.js";import g from"./AvatarContent.js";import f from"../Tooltip/Tooltip.js";import v from"../Clickable/ClickableWrapper.js";import{withStaticPropsWithoutForwardRef as h}from"../../types/withStaticProps.js";import j from"./Avatar.module.scss.js";var C=h((function(m){var p=m.id,u=m.type,h=void 0===u?"text":u,C=m.className,k=m.avatarContentWrapperClassName,E=m.textClassName,y=void 0===E?"":E,N=m.size,B=void 0===N?"large":N,x=m.src,P=m.icon,z=m.text,T=m.tooltipProps,A=m.ariaLabel,O=m.withoutTooltip,w=void 0!==O&&O,L=m.role,R=m.backgroundColor,I=void 0===R?"chili-blue":R,H=m.square,W=m.disabled,q=m.tabIndex,S=m.ariaHidden,_=void 0!==S&&S,D=m.topLeftBadgeProps,M=m.topRightBadgeProps,V=m.bottomLeftBadgeProps,F=m.bottomRightBadgeProps,G=m.withoutBorder,J=void 0!==G&&G,K=m.customSize,Q=void 0===K?null:K,U=m.customBackgroundColor,X=void 0===U?null:U,Y=m.onClick,Z=m["data-testid"],$=n((function(){return X?{backgroundColor:X}:x?{}:{backgroundColor:d(I)}}),[x,I,X]),ee=n((function(){return Q?{height:Q,width:Q}:{}}),[Q]),te=n((function(){if(!w)return T?Object.assign({content:A},T):{content:A}}),[A,T,w]),oe=n((function(){var e=[];return t(D)||e.push(l.createElement("div",{key:"top-left-badge",className:i(j.badge,j.badgeTopLeft)},l.createElement(b,Object.assign({size:B},D)))),t(M)||e.push(l.createElement("div",{key:"top-right-badge",className:i(j.badge,j.badgeTopRight)},l.createElement(b,Object.assign({size:B},M)))),t(V)||e.push(l.createElement("div",{key:"bottom-left-badge",className:i(j.badge,j.badgeBottomLeft)},l.createElement(b,Object.assign({size:B},V)))),t(F)||e.push(l.createElement("div",{key:"bottom-right-bade",className:i(j.badge,j.badgeBottomRight)},l.createElement(b,Object.assign({size:B},F)))),e.length>0?l.createElement("div",{className:i(j.badges)},e):null}),[B,D,M,V,F]),ae=n((function(){return W||!Y&&!(null==te?void 0:te.content)?-1:0}),[W,Y,null==te?void 0:te.content]),re=null!=q?q:ae,se=c((function(e){e.preventDefault(),Y&&Y(e,p)}),[Y,p]);return l.createElement("div",{id:p,"data-testid":Z||r(s.AVATAR,p),className:i(j.avatar,j[B],C),style:ee},l.createElement(v,{isClickable:!!Y,clickableProps:{onClick:se,tabIndex:"-1",className:j.clickableWrapper}},l.createElement(f,Object.assign({showTrigger:["focus","mouseenter"],hideTrigger:["blur","mouseleave"]},te),l.createElement("div",{className:i(j.circle,a(j,o("circle--"+h)),e(e(e({},j.disabled,W),j.square,H),j.withoutBorder,J),k),"aria-hidden":_,tabIndex:re,style:Object.assign({},$)},l.createElement(g,{type:h,size:B,src:x,icon:P,text:z,ariaLabel:A,role:L,textClassName:y})),oe)))}),{types:p,sizes:u,colors:m,backgroundColors:m});export{C as default};
2
2
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { AriaRole, useCallback, useMemo } from \"react\";\nimport { isNil } from \"lodash-es\";\nimport { ElementAllowedColor as ElementAllowedColorEnum } from \"../../utils/colors-vars-map\";\nimport { ElementAllowedColor, getElementColor } from \"../../types/Colors\";\nimport { AvatarSize as AvatarSizeEnum, AvatarType as AvatarTypeEnum } from \"./AvatarConstants\";\nimport { AvatarSize, AvatarType } from \"./Avatar.types\";\nimport AvatarBadge, { AvatarBadgeProps } from \"./AvatarBadge\";\nimport AvatarContent from \"./AvatarContent\";\nimport Tooltip, { TooltipProps } from \"../Tooltip/Tooltip\";\nimport ClickableWrapper from \"../Clickable/ClickableWrapper\";\nimport { SubIcon, VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./Avatar.module.scss\";\n\nexport interface AvatarProps extends VibeComponentProps {\n /**\n * The image source for the avatar.\n */\n src?: string;\n /**\n * The text displayed inside the avatar.\n */\n text?: string;\n /**\n * Props passed to the Tooltip component. See full options in the [Tooltip documentation](https://vibe.monday.com/?path=/docs/components-tooltip--docs).\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * The ARIA label of the avatar.\n */\n ariaLabel?: string;\n /**\n * If true, the tooltip is disabled.\n */\n withoutTooltip?: boolean;\n /**\n * The icon displayed inside the avatar.\n */\n icon?: SubIcon;\n /**\n * The type of the avatar.\n */\n type?: AvatarType;\n /**\n * Class name applied to the text inside the avatar.\n */\n textClassName?: string;\n /**\n * Class name applied to the avatar content wrapper.\n */\n avatarContentWrapperClassName?: string;\n /**\n * The background color of the avatar.\n */\n backgroundColor?: ElementAllowedColor;\n /**\n * A custom background color.\n */\n customBackgroundColor?: string;\n /**\n * The ARIA role of the avatar.\n */\n role?: AriaRole;\n /**\n * The size of the avatar.\n */\n size?: AvatarSize;\n /**\n * A custom size in pixels.\n */\n customSize?: number;\n /**\n * The tab index of the avatar.\n */\n tabIndex?: number;\n /**\n * If true, the avatar is hidden from assistive technologies.\n */\n ariaHidden?: boolean;\n /**\n * If true, the avatar is disabled.\n */\n disabled?: boolean;\n /**\n * If true, renders the avatar as a square instead of a circle.\n */\n square?: boolean;\n /**\n * Props for the top-left badge.\n */\n topLeftBadgeProps?: AvatarBadgeProps;\n /**\n * Props for the top-right badge.\n */\n topRightBadgeProps?: AvatarBadgeProps;\n /**\n * Props for the bottom-left badge.\n */\n bottomLeftBadgeProps?: AvatarBadgeProps;\n /**\n * Props for the bottom-right badge.\n */\n bottomRightBadgeProps?: AvatarBadgeProps;\n /**\n * If true, removes the avatar's border.\n */\n withoutBorder?: boolean;\n /**\n * Callback fired when the avatar is clicked.\n */\n onClick?: (event: React.MouseEvent | React.KeyboardEvent, avatarId: string) => void;\n}\n\nconst Avatar = ({\n id,\n type = \"text\",\n className,\n avatarContentWrapperClassName,\n textClassName = \"\",\n size = \"large\",\n src,\n icon,\n text,\n tooltipProps,\n ariaLabel,\n withoutTooltip = false,\n role,\n backgroundColor = \"chili-blue\",\n square,\n disabled,\n tabIndex,\n ariaHidden = false,\n topLeftBadgeProps,\n topRightBadgeProps,\n bottomLeftBadgeProps,\n bottomRightBadgeProps,\n withoutBorder = false,\n customSize = null,\n customBackgroundColor = null,\n onClick,\n \"data-testid\": dataTestId\n}: AvatarProps) => {\n const backgroundColorStyle = useMemo(() => {\n if (customBackgroundColor) return { backgroundColor: customBackgroundColor };\n return src ? {} : { backgroundColor: getElementColor(backgroundColor) };\n }, [src, backgroundColor, customBackgroundColor]);\n const sizeStyle = useMemo(() => {\n return customSize ? { height: customSize, width: customSize } : {};\n }, [customSize]);\n\n const overrideTooltipProps = useMemo(() => {\n if (withoutTooltip) return undefined;\n\n if (tooltipProps) {\n return { content: ariaLabel, ...tooltipProps };\n } else {\n return { content: ariaLabel };\n }\n }, [ariaLabel, tooltipProps, withoutTooltip]);\n\n const badgesContainer = useMemo(() => {\n const badges = [];\n if (!isNil(topLeftBadgeProps)) {\n badges.push(\n <div key=\"top-left-badge\" className={cx(styles.badge, styles.badgeTopLeft)}>\n <AvatarBadge size={size} {...topLeftBadgeProps} />\n </div>\n );\n }\n if (!isNil(topRightBadgeProps)) {\n badges.push(\n <div key=\"top-right-badge\" className={cx(styles.badge, styles.badgeTopRight)}>\n <AvatarBadge size={size} {...topRightBadgeProps} />\n </div>\n );\n }\n if (!isNil(bottomLeftBadgeProps)) {\n badges.push(\n <div key=\"bottom-left-badge\" className={cx(styles.badge, styles.badgeBottomLeft)}>\n <AvatarBadge size={size} {...bottomLeftBadgeProps} />\n </div>\n );\n }\n if (!isNil(bottomRightBadgeProps)) {\n badges.push(\n <div key=\"bottom-right-bade\" className={cx(styles.badge, styles.badgeBottomRight)}>\n <AvatarBadge size={size} {...bottomRightBadgeProps} />\n </div>\n );\n }\n\n return badges.length > 0 ? <div className={cx(styles.badges)}>{badges}</div> : null;\n }, [size, topLeftBadgeProps, topRightBadgeProps, bottomLeftBadgeProps, bottomRightBadgeProps]);\n\n const defaultTabIndex = useMemo(() => {\n if (!disabled && (onClick || overrideTooltipProps?.content)) {\n return 0;\n }\n return -1;\n }, [disabled, onClick, overrideTooltipProps?.content]);\n\n const overrideTabIndex = tabIndex ?? defaultTabIndex;\n\n const clickHandler = useCallback(\n (event: React.MouseEvent | React.KeyboardEvent) => {\n event.preventDefault();\n if (onClick) {\n onClick(event, id);\n }\n },\n [onClick, id]\n );\n\n return (\n <div\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR, id)}\n className={cx(styles.avatar, styles[size], className)}\n style={sizeStyle}\n >\n <ClickableWrapper\n isClickable={!!onClick}\n clickableProps={{\n onClick: clickHandler,\n tabIndex: \"-1\",\n className: styles.clickableWrapper\n }}\n >\n <Tooltip showTrigger={[\"focus\", \"mouseenter\"]} hideTrigger={[\"blur\", \"mouseleave\"]} {...overrideTooltipProps}>\n <div\n className={cx(\n styles.circle,\n getStyle(styles, camelCase(\"circle--\" + type)),\n {\n [styles.disabled]: disabled,\n [styles.square]: square,\n [styles.withoutBorder]: withoutBorder\n },\n avatarContentWrapperClassName\n )}\n aria-hidden={ariaHidden}\n tabIndex={overrideTabIndex}\n style={{ ...backgroundColorStyle }}\n >\n <AvatarContent\n type={type}\n size={size}\n src={src}\n icon={icon}\n text={text}\n ariaLabel={ariaLabel}\n role={role}\n textClassName={textClassName}\n />\n </div>\n {badgesContainer}\n </Tooltip>\n </ClickableWrapper>\n </div>\n );\n};\n\ninterface AvatarStaticProps {\n types: typeof AvatarTypeEnum;\n sizes: typeof AvatarSizeEnum;\n colors: typeof ElementAllowedColorEnum;\n backgroundColors: typeof ElementAllowedColorEnum;\n}\n\nexport default withStaticProps<AvatarProps, AvatarStaticProps>(Avatar, {\n types: AvatarTypeEnum,\n sizes: AvatarSizeEnum,\n colors: ElementAllowedColorEnum,\n backgroundColors: ElementAllowedColorEnum\n});\n"],"names":["withStaticProps","_ref","id","_ref$type","type","className","avatarContentWrapperClassName","_ref$textClassName","textClassName","_ref$size","size","src","icon","text","tooltipProps","ariaLabel","_ref$withoutTooltip","withoutTooltip","role","_ref$backgroundColor","backgroundColor","square","disabled","tabIndex","_ref$ariaHidden","ariaHidden","topLeftBadgeProps","topRightBadgeProps","bottomLeftBadgeProps","bottomRightBadgeProps","_ref$withoutBorder","withoutBorder","_ref$customSize","customSize","_ref$customBackground","customBackgroundColor","onClick","dataTestId","backgroundColorStyle","useMemo","getElementColor","sizeStyle","height","width","overrideTooltipProps","Object","assign","content","badgesContainer","badges","isNil","push","React","key","cx","styles","badge","badgeTopLeft","createElement","AvatarBadge","badgeTopRight","badgeBottomLeft","badgeBottomRight","length","defaultTabIndex","overrideTabIndex","clickHandler","useCallback","event","preventDefault","getTestId","ComponentDefaultTestId","AVATAR","avatar","style","ClickableWrapper","isClickable","clickableProps","clickableWrapper","Tooltip","showTrigger","hideTrigger","circle","getStyle","camelCase","_defineProperty","AvatarContent","types","AvatarTypeEnum","sizes","AvatarSizeEnum","colors","ElementAllowedColorEnum","backgroundColors"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React, { AriaRole, useCallback, useMemo } from \"react\";\nimport { isNil } from \"lodash-es\";\nimport { ElementAllowedColor as ElementAllowedColorEnum } from \"../../utils/colors-vars-map\";\nimport { ElementAllowedColor, getElementColor } from \"../../types/Colors\";\nimport { AvatarSize as AvatarSizeEnum, AvatarType as AvatarTypeEnum } from \"./AvatarConstants\";\nimport { AvatarSize, AvatarType } from \"./Avatar.types\";\nimport AvatarBadge, { AvatarBadgeProps } from \"./AvatarBadge\";\nimport AvatarContent from \"./AvatarContent\";\nimport Tooltip, { TooltipProps } from \"../Tooltip/Tooltip\";\nimport ClickableWrapper from \"../Clickable/ClickableWrapper\";\nimport { SubIcon, VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./Avatar.module.scss\";\n\nexport interface AvatarProps extends VibeComponentProps {\n /**\n * The image source for the avatar.\n */\n src?: string;\n /**\n * The text displayed inside the avatar.\n */\n text?: string;\n /**\n * Props passed to the Tooltip component. See full options in the [Tooltip documentation](https://vibe.monday.com/?path=/docs/components-tooltip--docs).\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * The ARIA label of the avatar.\n */\n ariaLabel?: string;\n /**\n * If true, the tooltip is disabled.\n */\n withoutTooltip?: boolean;\n /**\n * The icon displayed inside the avatar.\n */\n icon?: SubIcon;\n /**\n * The type of the avatar.\n */\n type?: AvatarType;\n /**\n * Class name applied to the text inside the avatar.\n */\n textClassName?: string;\n /**\n * Class name applied to the avatar content wrapper.\n */\n avatarContentWrapperClassName?: string;\n /**\n * The background color of the avatar.\n */\n backgroundColor?: ElementAllowedColor;\n /**\n * A custom background color.\n */\n customBackgroundColor?: string;\n /**\n * The ARIA role of the avatar.\n */\n role?: AriaRole;\n /**\n * The size of the avatar.\n */\n size?: AvatarSize;\n /**\n * A custom size in pixels.\n */\n customSize?: number;\n /**\n * The tab index of the avatar.\n */\n tabIndex?: number;\n /**\n * If true, the avatar is hidden from assistive technologies.\n */\n ariaHidden?: boolean;\n /**\n * If true, the avatar is disabled.\n */\n disabled?: boolean;\n /**\n * If true, renders the avatar as a square instead of a circle.\n */\n square?: boolean;\n /**\n * Props for the top-left badge.\n */\n topLeftBadgeProps?: AvatarBadgeProps;\n /**\n * Props for the top-right badge.\n */\n topRightBadgeProps?: AvatarBadgeProps;\n /**\n * Props for the bottom-left badge.\n */\n bottomLeftBadgeProps?: AvatarBadgeProps;\n /**\n * Props for the bottom-right badge.\n */\n bottomRightBadgeProps?: AvatarBadgeProps;\n /**\n * If true, removes the avatar's border.\n */\n withoutBorder?: boolean;\n /**\n * Callback fired when the avatar is clicked.\n */\n onClick?: (event: React.MouseEvent | React.KeyboardEvent, avatarId: string) => void;\n}\n\nconst Avatar = ({\n id,\n type = \"text\",\n className,\n avatarContentWrapperClassName,\n textClassName = \"\",\n size = \"large\",\n src,\n icon,\n text,\n tooltipProps,\n ariaLabel,\n withoutTooltip = false,\n role,\n backgroundColor = \"chili-blue\",\n square,\n disabled,\n tabIndex,\n ariaHidden = false,\n topLeftBadgeProps,\n topRightBadgeProps,\n bottomLeftBadgeProps,\n bottomRightBadgeProps,\n withoutBorder = false,\n customSize = null,\n customBackgroundColor = null,\n onClick,\n \"data-testid\": dataTestId\n}: AvatarProps) => {\n const backgroundColorStyle = useMemo(() => {\n if (customBackgroundColor) return { backgroundColor: customBackgroundColor };\n return src ? {} : { backgroundColor: getElementColor(backgroundColor) };\n }, [src, backgroundColor, customBackgroundColor]);\n const sizeStyle = useMemo(() => {\n return customSize ? { height: customSize, width: customSize } : {};\n }, [customSize]);\n\n const overrideTooltipProps = useMemo(() => {\n if (withoutTooltip) return undefined;\n\n if (tooltipProps) {\n return { content: ariaLabel, ...tooltipProps };\n } else {\n return { content: ariaLabel };\n }\n }, [ariaLabel, tooltipProps, withoutTooltip]);\n\n const badgesContainer = useMemo(() => {\n const badges = [];\n if (!isNil(topLeftBadgeProps)) {\n badges.push(\n <div key=\"top-left-badge\" className={cx(styles.badge, styles.badgeTopLeft)}>\n <AvatarBadge size={size} {...topLeftBadgeProps} />\n </div>\n );\n }\n if (!isNil(topRightBadgeProps)) {\n badges.push(\n <div key=\"top-right-badge\" className={cx(styles.badge, styles.badgeTopRight)}>\n <AvatarBadge size={size} {...topRightBadgeProps} />\n </div>\n );\n }\n if (!isNil(bottomLeftBadgeProps)) {\n badges.push(\n <div key=\"bottom-left-badge\" className={cx(styles.badge, styles.badgeBottomLeft)}>\n <AvatarBadge size={size} {...bottomLeftBadgeProps} />\n </div>\n );\n }\n if (!isNil(bottomRightBadgeProps)) {\n badges.push(\n <div key=\"bottom-right-bade\" className={cx(styles.badge, styles.badgeBottomRight)}>\n <AvatarBadge size={size} {...bottomRightBadgeProps} />\n </div>\n );\n }\n\n return badges.length > 0 ? <div className={cx(styles.badges)}>{badges}</div> : null;\n }, [size, topLeftBadgeProps, topRightBadgeProps, bottomLeftBadgeProps, bottomRightBadgeProps]);\n\n const defaultTabIndex = useMemo(() => {\n if (!disabled && (onClick || overrideTooltipProps?.content)) {\n return 0;\n }\n return -1;\n }, [disabled, onClick, overrideTooltipProps?.content]);\n\n const overrideTabIndex = tabIndex ?? defaultTabIndex;\n\n const clickHandler = useCallback(\n (event: React.MouseEvent | React.KeyboardEvent) => {\n event.preventDefault();\n if (onClick) {\n onClick(event, id);\n }\n },\n [onClick, id]\n );\n\n return (\n <div\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR, id)}\n className={cx(styles.avatar, styles[size], className)}\n style={sizeStyle}\n >\n <ClickableWrapper\n isClickable={!!onClick}\n clickableProps={{\n onClick: clickHandler,\n tabIndex: \"-1\",\n className: styles.clickableWrapper\n }}\n >\n <Tooltip showTrigger={[\"focus\", \"mouseenter\"]} hideTrigger={[\"blur\", \"mouseleave\"]} {...overrideTooltipProps}>\n <div\n className={cx(\n styles.circle,\n getStyle(styles, camelCase(\"circle--\" + type)),\n {\n [styles.disabled]: disabled,\n [styles.square]: square,\n [styles.withoutBorder]: withoutBorder\n },\n avatarContentWrapperClassName\n )}\n aria-hidden={ariaHidden}\n tabIndex={overrideTabIndex}\n style={{ ...backgroundColorStyle }}\n >\n <AvatarContent\n type={type}\n size={size}\n src={src}\n icon={icon}\n text={text}\n ariaLabel={ariaLabel}\n role={role}\n textClassName={textClassName}\n />\n </div>\n {badgesContainer}\n </Tooltip>\n </ClickableWrapper>\n </div>\n );\n};\n\ninterface AvatarStaticProps {\n types: typeof AvatarTypeEnum;\n sizes: typeof AvatarSizeEnum;\n colors: typeof ElementAllowedColorEnum;\n backgroundColors: typeof ElementAllowedColorEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<AvatarProps, AvatarStaticProps>(Avatar, {\n types: AvatarTypeEnum,\n sizes: AvatarSizeEnum,\n colors: ElementAllowedColorEnum,\n backgroundColors: ElementAllowedColorEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","id","_ref$type","type","className","avatarContentWrapperClassName","_ref$textClassName","textClassName","_ref$size","size","src","icon","text","tooltipProps","ariaLabel","_ref$withoutTooltip","withoutTooltip","role","_ref$backgroundColor","backgroundColor","square","disabled","tabIndex","_ref$ariaHidden","ariaHidden","topLeftBadgeProps","topRightBadgeProps","bottomLeftBadgeProps","bottomRightBadgeProps","_ref$withoutBorder","withoutBorder","_ref$customSize","customSize","_ref$customBackground","customBackgroundColor","onClick","dataTestId","backgroundColorStyle","useMemo","getElementColor","sizeStyle","height","width","overrideTooltipProps","Object","assign","content","badgesContainer","badges","isNil","push","React","key","cx","styles","badge","badgeTopLeft","createElement","AvatarBadge","badgeTopRight","badgeBottomLeft","badgeBottomRight","length","defaultTabIndex","overrideTabIndex","clickHandler","useCallback","event","preventDefault","getTestId","ComponentDefaultTestId","AVATAR","avatar","style","ClickableWrapper","isClickable","clickableProps","clickableWrapper","Tooltip","showTrigger","hideTrigger","circle","getStyle","camelCase","_defineProperty","AvatarContent","types","AvatarTypeEnum","sizes","AvatarSizeEnum","colors","ElementAllowedColorEnum","backgroundColors"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__rest as s}from"../../../_virtual/_tslib.js";import t from"react";import{camelCase as o}from"lodash-es";import{getStyle as a}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as e,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import m from"../Icon/CustomSvgIcon/CustomSvgIcon.js";import{AvatarSize as c}from"./AvatarConstants.js";import l from"./AvatarBadge.module.scss.js";import d from"../Icon/Icon.js";import{withStaticProps as n}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";var p=n((function(c){var n=c.src,p=c.icon,f=c.tabIndex,j=void 0===f?0:f,u=c.className,v=c.size,I=void 0===v?"large":v,b=c.id,g=c["data-testid"],A=s(c,["src","icon","tabIndex","className","size","id","data-testid"]),C=i(a(l,o("badge--"+I)),u),N=g||e(r.AVATAR_BADGE,b);return p?t.createElement(d,Object.assign({icon:p,className:C},A,{"data-testid":N})):n?t.createElement(m,Object.assign({src:n,className:C,clickable:-1===j},A,{"data-testid":N})):null}),{sizes:c});export{p as default};
1
+ import{__rest as s}from"../../../_virtual/_tslib.js";import t from"react";import{camelCase as o}from"lodash-es";import{getStyle as a}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as e,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import m from"../Icon/CustomSvgIcon/CustomSvgIcon.js";import{AvatarSize as c}from"./AvatarConstants.js";import l from"./AvatarBadge.module.scss.js";import d from"../Icon/Icon.js";import{withStaticPropsWithoutForwardRef as n}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";var p=n((function(c){var n=c.src,p=c.icon,f=c.tabIndex,j=void 0===f?0:f,u=c.className,v=c.size,I=void 0===v?"large":v,b=c.id,g=c["data-testid"],A=s(c,["src","icon","tabIndex","className","size","id","data-testid"]),C=i(a(l,o("badge--"+I)),u),N=g||e(r.AVATAR_BADGE,b);return p?t.createElement(d,Object.assign({icon:p,className:C},A,{"data-testid":N})):n?t.createElement(m,Object.assign({src:n,className:C,clickable:-1===j},A,{"data-testid":N})):null}),{sizes:c});export{p as default};
2
2
  //# sourceMappingURL=AvatarBadge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarBadge.js","sources":["../../../../src/components/Avatar/AvatarBadge.tsx"],"sourcesContent":["import React from \"react\";\nimport { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport CustomSvgIcon from \"../Icon/CustomSvgIcon/CustomSvgIcon\";\nimport { AvatarSize as AvatarSizeEnum } from \"./AvatarConstants\";\nimport { AvatarSize } from \"./Avatar.types\";\nimport styles from \"./AvatarBadge.module.scss\";\nimport Icon from \"../Icon/Icon\";\nimport { VibeComponentProps, SubIcon, withStaticProps } from \"../../types\";\n\nexport interface AvatarBadgeProps extends VibeComponentProps {\n /**\n * The image source for the badge.\n */\n src?: string;\n /**\n * The icon displayed inside the badge.\n */\n icon?: SubIcon;\n /**\n * The tab index of the badge.\n */\n tabIndex?: string | number;\n /**\n * The size of the badge.\n */\n size?: AvatarSize;\n}\n\nconst AvatarBadge = ({\n src,\n icon,\n tabIndex = 0,\n className,\n size = \"large\",\n id,\n \"data-testid\": dataTestId,\n ...otherProps\n}: AvatarBadgeProps) => {\n const classNames = cx(getStyle(styles, camelCase(\"badge--\" + size)), className);\n const testId = dataTestId || getTestId(ComponentDefaultTestId.AVATAR_BADGE, id);\n\n if (icon) {\n return <Icon icon={icon} className={classNames} {...otherProps} data-testid={testId} />;\n }\n\n return src ? (\n <CustomSvgIcon src={src} className={classNames} clickable={tabIndex === -1} {...otherProps} data-testid={testId} />\n ) : null;\n};\n\ninterface AvatarBadgeStaticProps {\n sizes: typeof AvatarSizeEnum;\n}\n\nexport default withStaticProps<AvatarBadgeProps, AvatarBadgeStaticProps>(AvatarBadge, {\n sizes: AvatarSizeEnum\n});\n"],"names":["withStaticProps","_a","src","icon","_a$tabIndex","tabIndex","className","_a$size","size","id","dataTestId","otherProps","__rest","classNames","cx","getStyle","styles","camelCase","testId","getTestId","ComponentDefaultTestId","AVATAR_BADGE","React","createElement","Icon","Object","assign","CustomSvgIcon","clickable","sizes","AvatarSizeEnum"],"mappings":"0jBA+BA,IA0BeA,EAAAA,GA1BK,SAACC,OACnBC,IAAAA,IACAC,IAAAA,KAAIC,IACJC,SAAAA,OAAW,IAAHD,EAAG,EAACA,EACZE,IAAAA,UAASC,IACTC,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EACdE,IAAAA,GACeC,IAAf,eACGC,EARgBC,EAAAX,EAAA,CAAA,MAAA,OAAA,WAAA,YAAA,OAAA,KAAA,gBAUbY,EAAaC,EAAGC,EAASC,EAAQC,EAAU,UAAYT,IAAQF,GAC/DY,EAASR,GAAcS,EAAUC,EAAuBC,aAAcZ,GAE5E,OAAIN,EACKmB,EAACC,cAAAC,EAAKC,OAAAC,OAAA,CAAAvB,KAAMA,EAAMG,UAAWO,GAAgBF,EAAyB,CAAA,cAAAO,KAGxEhB,EACLoB,EAACC,cAAAI,EAAcF,OAAAC,OAAA,CAAAxB,IAAKA,EAAKI,UAAWO,EAAYe,WAAyB,IAAdvB,GAAqBM,EAAU,CAAA,cAAeO,KACvG,IACN,GAMsF,CACpFW,MAAOC"}
1
+ {"version":3,"file":"AvatarBadge.js","sources":["../../../../src/components/Avatar/AvatarBadge.tsx"],"sourcesContent":["import React from \"react\";\nimport { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport CustomSvgIcon from \"../Icon/CustomSvgIcon/CustomSvgIcon\";\nimport { AvatarSize as AvatarSizeEnum } from \"./AvatarConstants\";\nimport { AvatarSize } from \"./Avatar.types\";\nimport styles from \"./AvatarBadge.module.scss\";\nimport Icon from \"../Icon/Icon\";\nimport { VibeComponentProps, SubIcon, withStaticPropsWithoutForwardRef } from \"../../types\";\n\nexport interface AvatarBadgeProps extends VibeComponentProps {\n /**\n * The image source for the badge.\n */\n src?: string;\n /**\n * The icon displayed inside the badge.\n */\n icon?: SubIcon;\n /**\n * The tab index of the badge.\n */\n tabIndex?: string | number;\n /**\n * The size of the badge.\n */\n size?: AvatarSize;\n}\n\nconst AvatarBadge = ({\n src,\n icon,\n tabIndex = 0,\n className,\n size = \"large\",\n id,\n \"data-testid\": dataTestId,\n ...otherProps\n}: AvatarBadgeProps) => {\n const classNames = cx(getStyle(styles, camelCase(\"badge--\" + size)), className);\n const testId = dataTestId || getTestId(ComponentDefaultTestId.AVATAR_BADGE, id);\n\n if (icon) {\n return <Icon icon={icon} className={classNames} {...otherProps} data-testid={testId} />;\n }\n\n return src ? (\n <CustomSvgIcon src={src} className={classNames} clickable={tabIndex === -1} {...otherProps} data-testid={testId} />\n ) : null;\n};\n\ninterface AvatarBadgeStaticProps {\n sizes: typeof AvatarSizeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<AvatarBadgeProps, AvatarBadgeStaticProps>(AvatarBadge, {\n sizes: AvatarSizeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_a","src","icon","_a$tabIndex","tabIndex","className","_a$size","size","id","dataTestId","otherProps","__rest","classNames","cx","getStyle","styles","camelCase","testId","getTestId","ComponentDefaultTestId","AVATAR_BADGE","React","createElement","Icon","Object","assign","CustomSvgIcon","clickable","sizes","AvatarSizeEnum"],"mappings":"2kBA+BA,IA0BeA,EAAAA,GA1BK,SAACC,OACnBC,IAAAA,IACAC,IAAAA,KAAIC,IACJC,SAAAA,OAAW,IAAHD,EAAG,EAACA,EACZE,IAAAA,UAASC,IACTC,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EACdE,IAAAA,GACeC,IAAf,eACGC,EARgBC,EAAAX,EAAA,CAAA,MAAA,OAAA,WAAA,YAAA,OAAA,KAAA,gBAUbY,EAAaC,EAAGC,EAASC,EAAQC,EAAU,UAAYT,IAAQF,GAC/DY,EAASR,GAAcS,EAAUC,EAAuBC,aAAcZ,GAE5E,OAAIN,EACKmB,EAACC,cAAAC,EAAKC,OAAAC,OAAA,CAAAvB,KAAMA,EAAMG,UAAWO,GAAgBF,EAAyB,CAAA,cAAAO,KAGxEhB,EACLoB,EAACC,cAAAI,EAAcF,OAAAC,OAAA,CAAAxB,IAAKA,EAAKI,UAAWO,EAAYe,WAAyB,IAAdvB,GAAqBM,EAAU,CAAA,cAAeO,KACvG,IACN,GAMuG,CACrGW,MAAOC"}
@@ -1,2 +1,2 @@
1
- import{camelCase as t}from"lodash-es";import{getStyle as e}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as s,ComponentDefaultTestId as a}from"../../tests/testIds.js";import r from"classnames";import o from"react";import{AvatarSize as i,AvatarType as m}from"./AvatarConstants.js";import l from"../Icon/Icon.js";import{withStaticProps as c}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import n from"./AvatarContent.module.scss.js";var d=c((function(i){var m=i.type,c=void 0===m?"text":m,d=i.src,p=i.icon,f=i.text,u=i.ariaLabel,A=i.role,N=i.size,T=void 0===N?"large":N,v=i.textClassName,j=void 0===v?"":v,C=i.id,E=i["data-testid"],x=r(e(n,t("content_"+c)),e(n,t("content_"+c+"--"+T)));switch(c){case"img":return o.createElement("img",{role:A,alt:u,src:d,className:x,id:C,"data-testid":E||s(a.AVATAR_CONTENT,C)});case"icon":return o.createElement(l,{icon:p,"aria-label":u,className:x,ariaHidden:!1,id:C,"data-testid":E||s(a.AVATAR_CONTENT,C)});case"text":return o.createElement("span",{"aria-label":u,role:A,className:r(x,j),id:C,"data-testid":E||s(a.AVATAR_CONTENT,C)},f);default:return null}}),{sizes:i,types:m});export{d as default};
1
+ import{camelCase as t}from"lodash-es";import{getStyle as e}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as s,ComponentDefaultTestId as a}from"../../tests/testIds.js";import r from"classnames";import o from"react";import{AvatarSize as i,AvatarType as m}from"./AvatarConstants.js";import l from"../Icon/Icon.js";import{withStaticPropsWithoutForwardRef as c}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import n from"./AvatarContent.module.scss.js";var d=c((function(i){var m=i.type,c=void 0===m?"text":m,d=i.src,p=i.icon,f=i.text,u=i.ariaLabel,A=i.role,N=i.size,T=void 0===N?"large":N,v=i.textClassName,j=void 0===v?"":v,C=i.id,E=i["data-testid"],x=r(e(n,t("content_"+c)),e(n,t("content_"+c+"--"+T)));switch(c){case"img":return o.createElement("img",{role:A,alt:u,src:d,className:x,id:C,"data-testid":E||s(a.AVATAR_CONTENT,C)});case"icon":return o.createElement(l,{icon:p,"aria-label":u,className:x,ariaHidden:!1,id:C,"data-testid":E||s(a.AVATAR_CONTENT,C)});case"text":return o.createElement("span",{"aria-label":u,role:A,className:r(x,j),id:C,"data-testid":E||s(a.AVATAR_CONTENT,C)},f);default:return null}}),{sizes:i,types:m});export{d as default};
2
2
  //# sourceMappingURL=AvatarContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarContent.js","sources":["../../../../src/components/Avatar/AvatarContent.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React from \"react\";\nimport { AvatarSize as AvatarSizeEnum, AvatarType as AvatarTypeEnum } from \"./AvatarConstants\";\nimport { AvatarSize, AvatarType } from \"./Avatar.types\";\nimport Icon from \"../Icon/Icon\";\nimport { SubIcon, VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./AvatarContent.module.scss\";\n\nexport interface AvatarContentProps extends VibeComponentProps {\n /**\n * The image source when the type is set to `img`.\n */\n src?: string;\n /**\n * The type of content displayed inside the avatar.\n */\n type?: AvatarType;\n /**\n * The size of the avatar content.\n */\n size?: AvatarSize;\n /**\n * The ARIA role of the content.\n */\n role?: string;\n /**\n * The label of the content for accessibility.\n */\n ariaLabel?: string;\n /**\n * The icon displayed when the type is set to `icon`.\n */\n icon?: SubIcon;\n /**\n * Class name applied to the text content.\n */\n textClassName?: string;\n /**\n * The text displayed when the type is set to `text`.\n */\n text?: string;\n}\n\nconst AvatarContent = ({\n type = \"text\",\n src,\n icon,\n text,\n ariaLabel,\n role,\n size = \"large\",\n textClassName = \"\",\n id,\n \"data-testid\": dataTestId\n}: AvatarContentProps) => {\n const className = cx(\n getStyle(styles, camelCase(\"content_\" + type)),\n getStyle(styles, camelCase(\"content_\" + type + \"--\" + size))\n );\n switch (type) {\n case \"img\":\n return (\n <img\n role={role}\n alt={ariaLabel}\n src={src}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR_CONTENT, id)}\n />\n );\n case \"icon\":\n return (\n <Icon\n icon={icon}\n aria-label={ariaLabel}\n // role={role}\n className={className}\n ariaHidden={false}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR_CONTENT, id)}\n />\n );\n case \"text\":\n return (\n <span\n aria-label={ariaLabel}\n role={role}\n className={cx(className, textClassName)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR_CONTENT, id)}\n >\n {text}\n </span>\n );\n default:\n return null;\n }\n};\n\ninterface AvatarContentStaticProps {\n sizes: typeof AvatarSizeEnum;\n types: typeof AvatarTypeEnum;\n}\n\nexport default withStaticProps<AvatarContentProps, AvatarContentStaticProps>(AvatarContent, {\n sizes: AvatarSizeEnum,\n types: AvatarTypeEnum\n});\n"],"names":["withStaticProps","_ref","_ref$type","type","src","icon","text","ariaLabel","role","_ref$size","size","_ref$textClassName","textClassName","id","dataTestId","className","cx","getStyle","styles","camelCase","React","createElement","alt","getTestId","ComponentDefaultTestId","AVATAR_CONTENT","Icon","ariaHidden","sizes","AvatarSizeEnum","types","AvatarTypeEnum"],"mappings":"ieA8CA,IA8DeA,EAAAA,GA9DO,SAAHC,GAWM,IAAAC,EAAAD,EAVvBE,KAAAA,OAAO,IAAHD,EAAG,OAAMA,EACbE,EAAGH,EAAHG,IACAC,EAAIJ,EAAJI,KACAC,EAAIL,EAAJK,KACAC,EAASN,EAATM,UACAC,EAAIP,EAAJO,KAAIC,EAAAR,EACJS,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EAAAE,EAAAV,EACdW,cAAAA,OAAgB,IAAHD,EAAG,GAAEA,EAClBE,EAAEZ,EAAFY,GACeC,EAAUb,EAAzB,eAEMc,EAAYC,EAChBC,EAASC,EAAQC,EAAU,WAAahB,IACxCc,EAASC,EAAQC,EAAU,WAAahB,EAAO,KAAOO,KAExD,OAAQP,GACN,IAAK,MACH,OACEiB,EAAAC,cAAA,MAAA,CACEb,KAAMA,EACNc,IAAKf,EACLH,IAAKA,EACLW,UAAWA,EACXF,GAAIA,EACS,cAAAC,GAAcS,EAAUC,EAAuBC,eAAgBZ,KAGlF,IAAK,OACH,OACEO,gBAACM,EAAI,CACHrB,KAAMA,eACME,EAEZQ,UAAWA,EACXY,YAAY,EACZd,GAAIA,EAAE,cACOC,GAAcS,EAAUC,EAAuBC,eAAgBZ,KAGlF,IAAK,OACH,OACEO,EAAAC,cAAA,OAAA,CAAA,aACcd,EACZC,KAAMA,EACNO,UAAWC,EAAGD,EAAWH,GACzBC,GAAIA,EACS,cAAAC,GAAcS,EAAUC,EAAuBC,eAAgBZ,IAE3EP,GAGP,QACE,OAAO,KAEb,GAO4F,CAC1FsB,MAAOC,EACPC,MAAOC"}
1
+ {"version":3,"file":"AvatarContent.js","sources":["../../../../src/components/Avatar/AvatarContent.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React from \"react\";\nimport { AvatarSize as AvatarSizeEnum, AvatarType as AvatarTypeEnum } from \"./AvatarConstants\";\nimport { AvatarSize, AvatarType } from \"./Avatar.types\";\nimport Icon from \"../Icon/Icon\";\nimport { SubIcon, VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./AvatarContent.module.scss\";\n\nexport interface AvatarContentProps extends VibeComponentProps {\n /**\n * The image source when the type is set to `img`.\n */\n src?: string;\n /**\n * The type of content displayed inside the avatar.\n */\n type?: AvatarType;\n /**\n * The size of the avatar content.\n */\n size?: AvatarSize;\n /**\n * The ARIA role of the content.\n */\n role?: string;\n /**\n * The label of the content for accessibility.\n */\n ariaLabel?: string;\n /**\n * The icon displayed when the type is set to `icon`.\n */\n icon?: SubIcon;\n /**\n * Class name applied to the text content.\n */\n textClassName?: string;\n /**\n * The text displayed when the type is set to `text`.\n */\n text?: string;\n}\n\nconst AvatarContent = ({\n type = \"text\",\n src,\n icon,\n text,\n ariaLabel,\n role,\n size = \"large\",\n textClassName = \"\",\n id,\n \"data-testid\": dataTestId\n}: AvatarContentProps) => {\n const className = cx(\n getStyle(styles, camelCase(\"content_\" + type)),\n getStyle(styles, camelCase(\"content_\" + type + \"--\" + size))\n );\n switch (type) {\n case \"img\":\n return (\n <img\n role={role}\n alt={ariaLabel}\n src={src}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR_CONTENT, id)}\n />\n );\n case \"icon\":\n return (\n <Icon\n icon={icon}\n aria-label={ariaLabel}\n // role={role}\n className={className}\n ariaHidden={false}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR_CONTENT, id)}\n />\n );\n case \"text\":\n return (\n <span\n aria-label={ariaLabel}\n role={role}\n className={cx(className, textClassName)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.AVATAR_CONTENT, id)}\n >\n {text}\n </span>\n );\n default:\n return null;\n }\n};\n\ninterface AvatarContentStaticProps {\n sizes: typeof AvatarSizeEnum;\n types: typeof AvatarTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<AvatarContentProps, AvatarContentStaticProps>(AvatarContent, {\n sizes: AvatarSizeEnum,\n types: AvatarTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","_ref$type","type","src","icon","text","ariaLabel","role","_ref$size","size","_ref$textClassName","textClassName","id","dataTestId","className","cx","getStyle","styles","camelCase","React","createElement","alt","getTestId","ComponentDefaultTestId","AVATAR_CONTENT","Icon","ariaHidden","sizes","AvatarSizeEnum","types","AvatarTypeEnum"],"mappings":"kfA8CA,IA8DeA,EAAAA,GA9DO,SAAHC,GAWM,IAAAC,EAAAD,EAVvBE,KAAAA,OAAO,IAAHD,EAAG,OAAMA,EACbE,EAAGH,EAAHG,IACAC,EAAIJ,EAAJI,KACAC,EAAIL,EAAJK,KACAC,EAASN,EAATM,UACAC,EAAIP,EAAJO,KAAIC,EAAAR,EACJS,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EAAAE,EAAAV,EACdW,cAAAA,OAAgB,IAAHD,EAAG,GAAEA,EAClBE,EAAEZ,EAAFY,GACeC,EAAUb,EAAzB,eAEMc,EAAYC,EAChBC,EAASC,EAAQC,EAAU,WAAahB,IACxCc,EAASC,EAAQC,EAAU,WAAahB,EAAO,KAAOO,KAExD,OAAQP,GACN,IAAK,MACH,OACEiB,EAAAC,cAAA,MAAA,CACEb,KAAMA,EACNc,IAAKf,EACLH,IAAKA,EACLW,UAAWA,EACXF,GAAIA,EACS,cAAAC,GAAcS,EAAUC,EAAuBC,eAAgBZ,KAGlF,IAAK,OACH,OACEO,gBAACM,EAAI,CACHrB,KAAMA,eACME,EAEZQ,UAAWA,EACXY,YAAY,EACZd,GAAIA,EAAE,cACOC,GAAcS,EAAUC,EAAuBC,eAAgBZ,KAGlF,IAAK,OACH,OACEO,EAAAC,cAAA,OAAA,CAAA,aACcd,EACZC,KAAMA,EACNO,UAAWC,EAAGD,EAAWH,GACzBC,GAAIA,EACS,cAAAC,GAAcS,EAAUC,EAAuBC,eAAgBZ,IAE3EP,GAGP,QACE,OAAO,KAEb,GAO6G,CAC3GsB,MAAOC,EACPC,MAAOC"}
@@ -1,2 +1,2 @@
1
- import t from"react";import s from"classnames";import o from"./Indicator.module.scss.js";import{IndicatorColor as r}from"./IndicatorConstants.js";import{ComponentDefaultTestId as a}from"../../../tests/constants.js";import{withStaticProps as i}from"../../../types/withStaticProps.js";import"../../../utils/colors-vars-map.js";import{getTestId as m}from"../../../tests/testIds.js";var e=i((function(r){var i=r.color,e=r.id,c=r["data-testid"];return t.createElement("div",{className:s(o.indicator,o[void 0===i?"notification":i],r.className),"data-testid":c||m(a.INDICATOR,e)})}),{colors:r});export{e as default};
1
+ import t from"react";import s from"classnames";import o from"./Indicator.module.scss.js";import{IndicatorColor as r}from"./IndicatorConstants.js";import{ComponentDefaultTestId as a}from"../../../tests/constants.js";import{withStaticPropsWithoutForwardRef as i}from"../../../types/withStaticProps.js";import"../../../utils/colors-vars-map.js";import{getTestId as m}from"../../../tests/testIds.js";var e=i((function(r){var i=r.color,e=r.id,c=r["data-testid"];return t.createElement("div",{className:s(o.indicator,o[void 0===i?"notification":i],r.className),"data-testid":c||m(a.INDICATOR,e)})}),{colors:r});export{e as default};
2
2
  //# sourceMappingURL=Indicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.js","sources":["../../../../../src/components/Badge/Indicator/Indicator.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./Indicator.module.scss\";\nimport { IndicatorColor as IndicatorColorEnum } from \"./IndicatorConstants\";\nimport { IndicatorColor } from \"./Indicator.types\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\nimport { VibeComponentProps, withStaticProps } from \"../../../types\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\n\nexport interface IndicatorProps extends VibeComponentProps {\n /**\n * The color of the indicator.\n */\n color?: IndicatorColor;\n}\n\nconst Indicator = ({ color = \"notification\", className, id, \"data-testid\": dataTestId }: IndicatorProps) => {\n return (\n <div\n className={cx(styles.indicator, styles[color], className)}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.INDICATOR, id)}\n />\n );\n};\n\ninterface IndicatorStaticProps {\n colors: typeof IndicatorColorEnum;\n}\n\nexport default withStaticProps<IndicatorProps, IndicatorStaticProps>(Indicator, {\n colors: IndicatorColorEnum\n});\n"],"names":["withStaticProps","_ref","_ref$color","color","id","dataTestId","React","createElement","className","cx","styles","indicator","getTestId","ComponentDefaultTestId","INDICATOR","colors","IndicatorColorEnum"],"mappings":"2XAgBA,IAaeA,EAAAA,GAbG,SAAHC,GAA4F,IAAAC,EAAAD,EAAtFE,MAAmCC,EAAEH,EAAFG,GAAmBC,EAAUJ,EAAzB,eAC1D,OACEK,EAAAC,cAAA,MAAA,CACEC,UAAWC,EAAGC,EAAOC,UAAWD,OAHT,IAAHR,EAAG,eAAcA,GAAWD,EAATO,WAI1B,cAAAH,GAAcO,EAAUC,EAAuBC,UAAWV,IAG7E,GAMgF,CAC9EW,OAAQC"}
1
+ {"version":3,"file":"Indicator.js","sources":["../../../../../src/components/Badge/Indicator/Indicator.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./Indicator.module.scss\";\nimport { IndicatorColor as IndicatorColorEnum } from \"./IndicatorConstants\";\nimport { IndicatorColor } from \"./Indicator.types\";\nimport { ComponentDefaultTestId } from \"../../../tests/constants\";\nimport { VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../../types\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\n\nexport interface IndicatorProps extends VibeComponentProps {\n /**\n * The color of the indicator.\n */\n color?: IndicatorColor;\n}\n\nconst Indicator = ({ color = \"notification\", className, id, \"data-testid\": dataTestId }: IndicatorProps) => {\n return (\n <div\n className={cx(styles.indicator, styles[color], className)}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.INDICATOR, id)}\n />\n );\n};\n\ninterface IndicatorStaticProps {\n colors: typeof IndicatorColorEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<IndicatorProps, IndicatorStaticProps>(Indicator, {\n colors: IndicatorColorEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","_ref$color","color","id","dataTestId","React","createElement","className","cx","styles","indicator","getTestId","ComponentDefaultTestId","INDICATOR","colors","IndicatorColorEnum"],"mappings":"4YAgBA,IAaeA,EAAAA,GAbG,SAAHC,GAA4F,IAAAC,EAAAD,EAAtFE,MAAmCC,EAAEH,EAAFG,GAAmBC,EAAUJ,EAAzB,eAC1D,OACEK,EAAAC,cAAA,MAAA,CACEC,UAAWC,EAAGC,EAAOC,UAAWD,OAHT,IAAHR,EAAG,eAAcA,GAAWD,EAATO,WAI1B,cAAAH,GAAcO,EAAUC,EAAuBC,UAAWV,IAG7E,GAMiG,CAC/FW,OAAQC"}
@@ -1,2 +1,2 @@
1
- import t from"react";import e from"classnames";import{getTestId as r,ComponentDefaultTestId as a}from"../../tests/testIds.js";import{BreadcrumbsBarType as s}from"./BreadcrumbsConstants.js";import{withStaticProps as i}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import o from"./BreadcrumbsBar.module.scss.js";import n from"../../../icons/dist/react/NavigationChevronRight.js";var m=i((function(s){var i=s.children,m=s.type,l=void 0===m?"indication":m,c=s.id,d=s["data-testid"];return t.createElement("nav",{"aria-label":"Breadcrumb",className:e(o.breadcrumbsBar,s.className),id:c,"data-testid":d||r(a.BREADCRUMBS_BAR,c)},t.createElement("ol",null,i&&t.Children.map(i,(function(e,r){return t.isValidElement(e)?[r>0&&t.createElement(n,{className:o.separatorIcon,size:"14","aria-hidden":"true"}),t.cloneElement(e,Object.assign(Object.assign({},null==e?void 0:e.props),{isClickable:"indication"!==l}))]:null}))))}),{types:s});export{m as default};
1
+ import t from"react";import e from"classnames";import{getTestId as r,ComponentDefaultTestId as a}from"../../tests/testIds.js";import{BreadcrumbsBarType as s}from"./BreadcrumbsConstants.js";import{withStaticPropsWithoutForwardRef as i}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import o from"./BreadcrumbsBar.module.scss.js";import n from"../../../icons/dist/react/NavigationChevronRight.js";var m=i((function(s){var i=s.children,m=s.type,l=void 0===m?"indication":m,c=s.id,d=s["data-testid"];return t.createElement("nav",{"aria-label":"Breadcrumb",className:e(o.breadcrumbsBar,s.className),id:c,"data-testid":d||r(a.BREADCRUMBS_BAR,c)},t.createElement("ol",null,i&&t.Children.map(i,(function(e,r){return t.isValidElement(e)?[r>0&&t.createElement(n,{className:o.separatorIcon,size:"14","aria-hidden":"true"}),t.cloneElement(e,Object.assign(Object.assign({},null==e?void 0:e.props),{isClickable:"indication"!==l}))]:null}))))}),{types:s});export{m as default};
2
2
  //# sourceMappingURL=BreadcrumbsBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsBar.js","sources":["../../../../src/components/BreadcrumbsBar/BreadcrumbsBar.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport cx from \"classnames\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { NavigationChevronRight } from \"@vibe/icons\";\nimport { BreadcrumbsBarType as BreadcrumbsBarTypeEnum } from \"./BreadcrumbsConstants\";\nimport { BreadcrumbsBarType } from \"./Breadcrumbs.types\";\nimport { BreadcrumbItemProps } from \"./BreadcrumbItem/BreadcrumbItem\";\nimport { withStaticProps, VibeComponentProps } from \"../../types\";\nimport styles from \"./BreadcrumbsBar.module.scss\";\nimport { BreadcrumbMenuProps } from \"./BreadcrumbMenu/BreadcrumbMenu\";\n\nexport interface BreadcrumbBarProps extends VibeComponentProps {\n /**\n * The type of the breadcrumb bar, determining if it is navigational or for indication only.\n */\n type: BreadcrumbsBarType;\n /**\n * The breadcrumb items displayed in the bar.\n */\n children:\n | ReactElement<BreadcrumbItemProps | BreadcrumbMenuProps>\n | ReactElement<BreadcrumbItemProps | BreadcrumbMenuProps>[];\n}\n\nconst BreadcrumbsBar = ({\n className,\n children,\n type = \"indication\",\n id,\n \"data-testid\": dataTestId\n}: BreadcrumbBarProps) => (\n <nav\n aria-label=\"Breadcrumb\"\n className={cx(styles.breadcrumbsBar, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.BREADCRUMBS_BAR, id)}\n >\n <ol>\n {children &&\n React.Children.map(children, (child, index) =>\n React.isValidElement(child)\n ? [\n index > 0 && <NavigationChevronRight className={styles.separatorIcon} size=\"14\" aria-hidden=\"true\" />,\n React.cloneElement(child, {\n ...child?.props,\n isClickable: type !== \"indication\"\n })\n ]\n : null\n )}\n </ol>\n </nav>\n);\n\ninterface BreadcrumbsBarStaticProps {\n types: typeof BreadcrumbsBarTypeEnum;\n}\n\nexport default withStaticProps<BreadcrumbBarProps, BreadcrumbsBarStaticProps>(BreadcrumbsBar, {\n types: BreadcrumbsBarTypeEnum\n});\n"],"names":["withStaticProps","_ref","children","_ref$type","type","id","dataTestId","React","createElement","className","cx","styles","breadcrumbsBar","getTestId","ComponentDefaultTestId","BREADCRUMBS_BAR","Children","map","child","index","isValidElement","NavigationChevronRight","separatorIcon","size","cloneElement","Object","assign","props","isClickable","types","BreadcrumbsBarTypeEnum"],"mappings":"uZAwBA,IAkCeA,EAAAA,GAlCQ,SAAHC,GAAA,IAElBC,EAAQD,EAARC,SAAQC,EAAAF,EACRG,KAAAA,OAAO,IAAHD,EAAG,aAAYA,EACnBE,EAAEJ,EAAFI,GACeC,EAAUL,EAAzB,eAAa,OAEbM,EACaC,cAAA,MAAA,CAAA,aAAA,aACXC,UAAWC,EAAGC,EAAOC,eARdX,EAATQ,WASEJ,GAAIA,EAAE,cACOC,GAAcO,EAAUC,EAAuBC,gBAAiBV,IAE7EE,EAAAC,cAAA,KAAA,KACGN,GACCK,EAAMS,SAASC,IAAIf,GAAU,SAACgB,EAAOC,GAAK,OACxCZ,EAAMa,eAAeF,GACjB,CACEC,EAAQ,GAAKZ,EAACC,cAAAa,GAAuBZ,UAAWE,EAAOW,cAAeC,KAAK,KAAI,cAAa,SAC5FhB,EAAMiB,aAAaN,EACdO,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAR,aAAK,EAALA,EAAOS,OACV,CAAAC,YAAsB,eAATxB,MAGjB,IAAI,KAGV,GAOsF,CAC5FyB,MAAOC"}
1
+ {"version":3,"file":"BreadcrumbsBar.js","sources":["../../../../src/components/BreadcrumbsBar/BreadcrumbsBar.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport cx from \"classnames\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { NavigationChevronRight } from \"@vibe/icons\";\nimport { BreadcrumbsBarType as BreadcrumbsBarTypeEnum } from \"./BreadcrumbsConstants\";\nimport { BreadcrumbsBarType } from \"./Breadcrumbs.types\";\nimport { BreadcrumbItemProps } from \"./BreadcrumbItem/BreadcrumbItem\";\nimport { VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./BreadcrumbsBar.module.scss\";\nimport { BreadcrumbMenuProps } from \"./BreadcrumbMenu/BreadcrumbMenu\";\n\nexport interface BreadcrumbBarProps extends VibeComponentProps {\n /**\n * The type of the breadcrumb bar, determining if it is navigational or for indication only.\n */\n type: BreadcrumbsBarType;\n /**\n * The breadcrumb items displayed in the bar.\n */\n children:\n | ReactElement<BreadcrumbItemProps | BreadcrumbMenuProps>\n | ReactElement<BreadcrumbItemProps | BreadcrumbMenuProps>[];\n}\n\nconst BreadcrumbsBar = ({\n className,\n children,\n type = \"indication\",\n id,\n \"data-testid\": dataTestId\n}: BreadcrumbBarProps) => (\n <nav\n aria-label=\"Breadcrumb\"\n className={cx(styles.breadcrumbsBar, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.BREADCRUMBS_BAR, id)}\n >\n <ol>\n {children &&\n React.Children.map(children, (child, index) =>\n React.isValidElement(child)\n ? [\n index > 0 && <NavigationChevronRight className={styles.separatorIcon} size=\"14\" aria-hidden=\"true\" />,\n React.cloneElement(child, {\n ...child?.props,\n isClickable: type !== \"indication\"\n })\n ]\n : null\n )}\n </ol>\n </nav>\n);\n\ninterface BreadcrumbsBarStaticProps {\n types: typeof BreadcrumbsBarTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<BreadcrumbBarProps, BreadcrumbsBarStaticProps>(BreadcrumbsBar, {\n types: BreadcrumbsBarTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","children","_ref$type","type","id","dataTestId","React","createElement","className","cx","styles","breadcrumbsBar","getTestId","ComponentDefaultTestId","BREADCRUMBS_BAR","Children","map","child","index","isValidElement","NavigationChevronRight","separatorIcon","size","cloneElement","Object","assign","props","isClickable","types","BreadcrumbsBarTypeEnum"],"mappings":"waAwBA,IAkCeA,EAAAA,GAlCQ,SAAHC,GAAA,IAElBC,EAAQD,EAARC,SAAQC,EAAAF,EACRG,KAAAA,OAAO,IAAHD,EAAG,aAAYA,EACnBE,EAAEJ,EAAFI,GACeC,EAAUL,EAAzB,eAAa,OAEbM,EACaC,cAAA,MAAA,CAAA,aAAA,aACXC,UAAWC,EAAGC,EAAOC,eARdX,EAATQ,WASEJ,GAAIA,EAAE,cACOC,GAAcO,EAAUC,EAAuBC,gBAAiBV,IAE7EE,EAAAC,cAAA,KAAA,KACGN,GACCK,EAAMS,SAASC,IAAIf,GAAU,SAACgB,EAAOC,GAAK,OACxCZ,EAAMa,eAAeF,GACjB,CACEC,EAAQ,GAAKZ,EAACC,cAAAa,GAAuBZ,UAAWE,EAAOW,cAAeC,KAAK,KAAI,cAAa,SAC5FhB,EAAMiB,aAAaN,EACdO,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAR,aAAK,EAALA,EAAOS,OACV,CAAAC,YAAsB,eAATxB,MAGjB,IAAI,KAGV,GAOuG,CAC7GyB,MAAOC"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as o}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import e from"classnames";import t,{useRef as n,useEffect as i,useCallback as r,useMemo as l}from"react";import s from"../../../Icon/Icon.js";import c from"../../../Tooltip/Tooltip.js";import a from"../../../../hooks/useIsOverflowing/useIsOverflowing.js";import{keyCodes as m}from"../../../../constants/keyCodes.js";import"../../../../constants/sizes.js";import{getOptionId as p}from"../../helpers.js";import{withStaticProps as f}from"../../../../types/withStaticProps.js";import"../../../../utils/colors-vars-map.js";import{ComboboxOptionIconType as u}from"../ComboboxConstants.js";import{getTestId as d,ComponentDefaultTestId as v}from"../../../../tests/testIds.js";import b from"./ComboboxOption.module.scss.js";var h=f((function(f){var u=f.index,h=f.option,y=f.className,O=f.isActive,I=f.visualFocus,j=f.scrollRef,g=f.scrollOffset,T=void 0===g?100:g,C=f.onOptionClick,E=f.onOptionLeave,k=f.onOptionHover,N=f.optionLineHeight,S=f.shouldScrollWhenActive,w=void 0===S||S,x=f.optionRenderer,L=void 0===x?null:x,P=h.id,H=h.leftIcon,R=h.leftIconType,z=h.rightIcon,A=h.rightIconType,B=h.label,F=h.iconSize,M=void 0===F?18:F,_=h.disabled,W=h.selected,D=h.ariaLabel,K=h.belongToCategory,V=void 0!==K&&K,X=h.tooltipContent,q=n(null),G=n(),J=a({ref:G});i((function(){var o,e=q.current;I&&e&&w&&((null==j?void 0:j.current)&&e?j.current.scrollTop=e.offsetTop-T:null===(o=null==e?void 0:e.scrollIntoView)||void 0===o||o.call(e,{behaviour:"smooth"}))}),[q,I,w,j,T,V]);var Q=function(o,n,i){return"renderer"===n?o(e(b.optionIcon,i)):t.createElement(s,{className:e(b.optionIcon,i),iconType:"font",icon:o,iconSize:M,ignoreFocusStyle:!0})},U=r((function(o){_||C(o,u,h,!0)}),[u,h,C,_]),Y=r((function(o){_||E(o,u,h,!0)}),[u,h,E,_]),Z=r((function(o){_||k(o,u,h,!0)}),[u,h,k,_]),$=r((function(o){o.key!==m.ENTER&&o.key!==m.SPACE||C(o,u,h,!1)}),[C,u,h]);X||(X=J?B:null);var oo=l((function(){return L&&L(h)}),[L,h]),eo=t.createElement(t.Fragment,null,H&&Q(H,R,b.left),t.createElement("div",{ref:G,className:e(b.optionLabel)},B),z&&Q(z,A,""));return t.createElement(c,{content:X,hideWhenReferenceHidden:!0},t.createElement("div",{ref:q,key:P||B,"aria-level":V?2:1,"aria-selected":O,"aria-label":D||B,id:p(P,u),"data-testid":d(v.COMBOBOX_OPTION,u),onMouseEnter:Z,onClick:U,onKeyDown:$,onMouseLeave:Y,className:e(b.comboboxOption,y,o(o(o(o({},b.disabled,_),b.selected,W),b.active,O),b.activeOutline,I)),style:{height:N}},oo||eo))}),{iconTypes:u});export{h as default};
1
+ import{defineProperty as o}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import e from"classnames";import t,{useRef as n,useEffect as i,useCallback as r,useMemo as l}from"react";import s from"../../../Icon/Icon.js";import c from"../../../Tooltip/Tooltip.js";import a from"../../../../hooks/useIsOverflowing/useIsOverflowing.js";import{keyCodes as m}from"../../../../constants/keyCodes.js";import"../../../../constants/sizes.js";import{getOptionId as p}from"../../helpers.js";import{withStaticPropsWithoutForwardRef as f}from"../../../../types/withStaticProps.js";import"../../../../utils/colors-vars-map.js";import{ComboboxOptionIconType as u}from"../ComboboxConstants.js";import{getTestId as d,ComponentDefaultTestId as v}from"../../../../tests/testIds.js";import b from"./ComboboxOption.module.scss.js";var h=f((function(f){var u=f.index,h=f.option,y=f.className,O=f.isActive,I=f.visualFocus,j=f.scrollRef,g=f.scrollOffset,T=void 0===g?100:g,C=f.onOptionClick,E=f.onOptionLeave,k=f.onOptionHover,N=f.optionLineHeight,S=f.shouldScrollWhenActive,w=void 0===S||S,x=f.optionRenderer,L=void 0===x?null:x,P=h.id,H=h.leftIcon,R=h.leftIconType,z=h.rightIcon,A=h.rightIconType,B=h.label,F=h.iconSize,M=void 0===F?18:F,_=h.disabled,W=h.selected,D=h.ariaLabel,K=h.belongToCategory,V=void 0!==K&&K,X=h.tooltipContent,q=n(null),G=n(),J=a({ref:G});i((function(){var o,e=q.current;I&&e&&w&&((null==j?void 0:j.current)&&e?j.current.scrollTop=e.offsetTop-T:null===(o=null==e?void 0:e.scrollIntoView)||void 0===o||o.call(e,{behaviour:"smooth"}))}),[q,I,w,j,T,V]);var Q=function(o,n,i){return"renderer"===n?o(e(b.optionIcon,i)):t.createElement(s,{className:e(b.optionIcon,i),iconType:"font",icon:o,iconSize:M,ignoreFocusStyle:!0})},U=r((function(o){_||C(o,u,h,!0)}),[u,h,C,_]),Y=r((function(o){_||E(o,u,h,!0)}),[u,h,E,_]),Z=r((function(o){_||k(o,u,h,!0)}),[u,h,k,_]),$=r((function(o){o.key!==m.ENTER&&o.key!==m.SPACE||C(o,u,h,!1)}),[C,u,h]);X||(X=J?B:null);var oo=l((function(){return L&&L(h)}),[L,h]),eo=t.createElement(t.Fragment,null,H&&Q(H,R,b.left),t.createElement("div",{ref:G,className:e(b.optionLabel)},B),z&&Q(z,A,""));return t.createElement(c,{content:X,hideWhenReferenceHidden:!0},t.createElement("div",{ref:q,key:P||B,"aria-level":V?2:1,"aria-selected":O,"aria-label":D||B,id:p(P,u),"data-testid":d(v.COMBOBOX_OPTION,u),onMouseEnter:Z,onClick:U,onKeyDown:$,onMouseLeave:Y,className:e(b.comboboxOption,y,o(o(o(o({},b.disabled,_),b.selected,W),b.active,O),b.activeOutline,I)),style:{height:N}},oo||eo))}),{iconTypes:u});export{h as default};
2
2
  //# sourceMappingURL=ComboboxOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxOption.js","sources":["../../../../../../src/components/Combobox/components/ComboboxOption/ComboboxOption.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { RefObject, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport Icon from \"../../../Icon/Icon\";\nimport Tooltip from \"../../../Tooltip/Tooltip\";\nimport useIsOverflowing from \"../../../../hooks/useIsOverflowing/useIsOverflowing\";\nimport { keyCodes } from \"../../../../constants\";\nimport { getOptionId } from \"../../helpers\";\nimport { SubIcon, withStaticProps } from \"../../../../types\";\nimport {\n ComboboxOptionIconType as ComboboxOptionIconTypeEnum,\n IComboboxOption,\n IComboboxOptionEvents\n} from \"../ComboboxConstants\";\nimport { ComboboxOptionIconType } from \"../../Combobox.types\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../tests/test-ids-utils\";\nimport styles from \"./ComboboxOption.module.scss\";\n\nexport interface ComboboxOptionProps extends IComboboxOptionEvents {\n /**\n * The index of the option in the list.\n */\n index?: number;\n /**\n * The option data containing label, icons, and other properties.\n */\n option?: IComboboxOption;\n /**\n * Class name applied to the option element.\n */\n className?: string;\n /**\n * If true, the option is currently active.\n */\n isActive?: boolean;\n /**\n * If true, the option has visual focus.\n */\n visualFocus?: boolean;\n /**\n * A reference to the scroll container.\n */\n scrollRef?: RefObject<HTMLElement>;\n /**\n * The amount of offset when scrolling to the active item.\n */\n scrollOffset?: number;\n /**\n * The height of each option.\n */\n optionLineHeight?: number;\n /**\n * If true, scrolls to the active option when it is selected.\n */\n shouldScrollWhenActive?: boolean;\n /**\n * Custom renderer for the option content.\n */\n optionRenderer?: (option: IComboboxOption) => JSX.Element;\n}\n\nconst ComboboxOption = ({\n index,\n option,\n className,\n isActive,\n visualFocus,\n scrollRef,\n scrollOffset = 100,\n onOptionClick,\n onOptionLeave,\n onOptionHover,\n optionLineHeight,\n shouldScrollWhenActive = true,\n optionRenderer = null\n}: ComboboxOptionProps) => {\n const {\n id,\n leftIcon,\n leftIconType,\n rightIcon,\n rightIconType,\n label,\n iconSize = 18,\n disabled,\n selected,\n ariaLabel,\n belongToCategory = false\n } = option;\n let { tooltipContent } = option;\n\n const ref = useRef(null);\n const labelRef = useRef();\n\n const isOptionOverflowing = useIsOverflowing({ ref: labelRef });\n\n useEffect(() => {\n const element = ref.current;\n if (visualFocus && element && shouldScrollWhenActive) {\n if (scrollRef?.current && element) {\n // not supported with virtualized atm, need their scrollRef (element with overflow-y auto that has the scroll)\n scrollRef.current.scrollTop = element.offsetTop - scrollOffset;\n } else {\n element?.scrollIntoView?.({ behaviour: \"smooth\" });\n }\n }\n }, [ref, visualFocus, shouldScrollWhenActive, scrollRef, scrollOffset, belongToCategory]);\n\n const renderIcon = (\n icon: SubIcon | ((className: string) => JSX.Element),\n iconType: ComboboxOptionIconType,\n className: string\n ) => {\n if (iconType === \"renderer\") {\n return (icon as (className: string) => JSX.Element)(cx(styles.optionIcon, className));\n }\n\n return (\n <Icon\n className={cx(styles.optionIcon, className)}\n iconType=\"font\"\n icon={icon as SubIcon}\n iconSize={iconSize}\n ignoreFocusStyle\n />\n );\n };\n\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) return;\n onOptionClick(event, index, option, true);\n },\n [index, option, onOptionClick, disabled]\n );\n\n const onMouseLeave = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) return;\n onOptionLeave(event, index, option, true);\n },\n [index, option, onOptionLeave, disabled]\n );\n\n const onMouseEnter = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) return;\n onOptionHover(event, index, option, true);\n },\n [index, option, onOptionHover, disabled]\n );\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === keyCodes.ENTER || event.key === keyCodes.SPACE) {\n onOptionClick(event, index, option, false);\n }\n },\n [onOptionClick, index, option]\n );\n if (!tooltipContent) {\n tooltipContent = isOptionOverflowing ? label : null;\n }\n\n const optionRendererValue = useMemo(() => optionRenderer && optionRenderer(option), [optionRenderer, option]);\n\n const optionValue = (\n <>\n {leftIcon && renderIcon(leftIcon, leftIconType, styles.left)}\n <div ref={labelRef} className={cx(styles.optionLabel)}>\n {label}\n </div>\n {rightIcon && renderIcon(rightIcon, rightIconType, \"\")}\n </>\n );\n\n return (\n <Tooltip content={tooltipContent} hideWhenReferenceHidden>\n <div\n ref={ref}\n key={id || label}\n aria-level={belongToCategory ? 2 : 1}\n aria-selected={isActive}\n aria-label={ariaLabel || label}\n id={getOptionId(id, index)}\n data-testid={getTestId(ComponentDefaultTestId.COMBOBOX_OPTION, index)}\n onMouseEnter={onMouseEnter}\n onClick={onClick}\n onKeyDown={onKeyDown}\n onMouseLeave={onMouseLeave}\n className={cx(styles.comboboxOption, className, {\n [styles.disabled]: disabled,\n [styles.selected]: selected,\n [styles.active]: isActive,\n [styles.activeOutline]: visualFocus\n })}\n style={{ height: optionLineHeight }}\n >\n {optionRendererValue || optionValue}\n </div>\n </Tooltip>\n );\n};\n\ninterface ComboboxOptionStaticProps {\n iconTypes: typeof ComboboxOptionIconTypeEnum;\n}\n\nexport default withStaticProps<ComboboxOptionProps, ComboboxOptionStaticProps>(ComboboxOption, {\n iconTypes: ComboboxOptionIconTypeEnum\n});\n"],"names":["withStaticProps","_ref","index","option","className","isActive","visualFocus","scrollRef","_ref$scrollOffset","scrollOffset","onOptionClick","onOptionLeave","onOptionHover","optionLineHeight","_ref$shouldScrollWhen","shouldScrollWhenActive","_ref$optionRenderer","optionRenderer","id","leftIcon","leftIconType","rightIcon","rightIconType","label","_option$iconSize","iconSize","disabled","selected","ariaLabel","_option$belongToCateg","belongToCategory","tooltipContent","ref","useRef","labelRef","isOptionOverflowing","useIsOverflowing","useEffect","element","current","scrollTop","offsetTop","_a","scrollIntoView","call","behaviour","renderIcon","icon","iconType","cx","styles","optionIcon","React","createElement","Icon","ignoreFocusStyle","onClick","useCallback","event","onMouseLeave","onMouseEnter","onKeyDown","key","keyCodes","ENTER","SPACE","optionRendererValue","useMemo","optionValue","Fragment","left","optionLabel","Tooltip","content","hideWhenReferenceHidden","getOptionId","getTestId","ComponentDefaultTestId","COMBOBOX_OPTION","comboboxOption","_defineProperty","active","activeOutline","style","height","iconTypes","ComboboxOptionIconTypeEnum"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxOption.js","sources":["../../../../../../src/components/Combobox/components/ComboboxOption/ComboboxOption.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { RefObject, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport Icon from \"../../../Icon/Icon\";\nimport Tooltip from \"../../../Tooltip/Tooltip\";\nimport useIsOverflowing from \"../../../../hooks/useIsOverflowing/useIsOverflowing\";\nimport { keyCodes } from \"../../../../constants\";\nimport { getOptionId } from \"../../helpers\";\nimport { SubIcon, withStaticPropsWithoutForwardRef } from \"../../../../types\";\nimport {\n ComboboxOptionIconType as ComboboxOptionIconTypeEnum,\n IComboboxOption,\n IComboboxOptionEvents\n} from \"../ComboboxConstants\";\nimport { ComboboxOptionIconType } from \"../../Combobox.types\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../tests/test-ids-utils\";\nimport styles from \"./ComboboxOption.module.scss\";\n\nexport interface ComboboxOptionProps extends IComboboxOptionEvents {\n /**\n * The index of the option in the list.\n */\n index?: number;\n /**\n * The option data containing label, icons, and other properties.\n */\n option?: IComboboxOption;\n /**\n * Class name applied to the option element.\n */\n className?: string;\n /**\n * If true, the option is currently active.\n */\n isActive?: boolean;\n /**\n * If true, the option has visual focus.\n */\n visualFocus?: boolean;\n /**\n * A reference to the scroll container.\n */\n scrollRef?: RefObject<HTMLElement>;\n /**\n * The amount of offset when scrolling to the active item.\n */\n scrollOffset?: number;\n /**\n * The height of each option.\n */\n optionLineHeight?: number;\n /**\n * If true, scrolls to the active option when it is selected.\n */\n shouldScrollWhenActive?: boolean;\n /**\n * Custom renderer for the option content.\n */\n optionRenderer?: (option: IComboboxOption) => JSX.Element;\n}\n\nconst ComboboxOption = ({\n index,\n option,\n className,\n isActive,\n visualFocus,\n scrollRef,\n scrollOffset = 100,\n onOptionClick,\n onOptionLeave,\n onOptionHover,\n optionLineHeight,\n shouldScrollWhenActive = true,\n optionRenderer = null\n}: ComboboxOptionProps) => {\n const {\n id,\n leftIcon,\n leftIconType,\n rightIcon,\n rightIconType,\n label,\n iconSize = 18,\n disabled,\n selected,\n ariaLabel,\n belongToCategory = false\n } = option;\n let { tooltipContent } = option;\n\n const ref = useRef(null);\n const labelRef = useRef();\n\n const isOptionOverflowing = useIsOverflowing({ ref: labelRef });\n\n useEffect(() => {\n const element = ref.current;\n if (visualFocus && element && shouldScrollWhenActive) {\n if (scrollRef?.current && element) {\n // not supported with virtualized atm, need their scrollRef (element with overflow-y auto that has the scroll)\n scrollRef.current.scrollTop = element.offsetTop - scrollOffset;\n } else {\n element?.scrollIntoView?.({ behaviour: \"smooth\" });\n }\n }\n }, [ref, visualFocus, shouldScrollWhenActive, scrollRef, scrollOffset, belongToCategory]);\n\n const renderIcon = (\n icon: SubIcon | ((className: string) => JSX.Element),\n iconType: ComboboxOptionIconType,\n className: string\n ) => {\n if (iconType === \"renderer\") {\n return (icon as (className: string) => JSX.Element)(cx(styles.optionIcon, className));\n }\n\n return (\n <Icon\n className={cx(styles.optionIcon, className)}\n iconType=\"font\"\n icon={icon as SubIcon}\n iconSize={iconSize}\n ignoreFocusStyle\n />\n );\n };\n\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) return;\n onOptionClick(event, index, option, true);\n },\n [index, option, onOptionClick, disabled]\n );\n\n const onMouseLeave = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) return;\n onOptionLeave(event, index, option, true);\n },\n [index, option, onOptionLeave, disabled]\n );\n\n const onMouseEnter = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) return;\n onOptionHover(event, index, option, true);\n },\n [index, option, onOptionHover, disabled]\n );\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === keyCodes.ENTER || event.key === keyCodes.SPACE) {\n onOptionClick(event, index, option, false);\n }\n },\n [onOptionClick, index, option]\n );\n if (!tooltipContent) {\n tooltipContent = isOptionOverflowing ? label : null;\n }\n\n const optionRendererValue = useMemo(() => optionRenderer && optionRenderer(option), [optionRenderer, option]);\n\n const optionValue = (\n <>\n {leftIcon && renderIcon(leftIcon, leftIconType, styles.left)}\n <div ref={labelRef} className={cx(styles.optionLabel)}>\n {label}\n </div>\n {rightIcon && renderIcon(rightIcon, rightIconType, \"\")}\n </>\n );\n\n return (\n <Tooltip content={tooltipContent} hideWhenReferenceHidden>\n <div\n ref={ref}\n key={id || label}\n aria-level={belongToCategory ? 2 : 1}\n aria-selected={isActive}\n aria-label={ariaLabel || label}\n id={getOptionId(id, index)}\n data-testid={getTestId(ComponentDefaultTestId.COMBOBOX_OPTION, index)}\n onMouseEnter={onMouseEnter}\n onClick={onClick}\n onKeyDown={onKeyDown}\n onMouseLeave={onMouseLeave}\n className={cx(styles.comboboxOption, className, {\n [styles.disabled]: disabled,\n [styles.selected]: selected,\n [styles.active]: isActive,\n [styles.activeOutline]: visualFocus\n })}\n style={{ height: optionLineHeight }}\n >\n {optionRendererValue || optionValue}\n </div>\n </Tooltip>\n );\n};\n\ninterface ComboboxOptionStaticProps {\n iconTypes: typeof ComboboxOptionIconTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<ComboboxOptionProps, ComboboxOptionStaticProps>(ComboboxOption, {\n iconTypes: ComboboxOptionIconTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","index","option","className","isActive","visualFocus","scrollRef","_ref$scrollOffset","scrollOffset","onOptionClick","onOptionLeave","onOptionHover","optionLineHeight","_ref$shouldScrollWhen","shouldScrollWhenActive","_ref$optionRenderer","optionRenderer","id","leftIcon","leftIconType","rightIcon","rightIconType","label","_option$iconSize","iconSize","disabled","selected","ariaLabel","_option$belongToCateg","belongToCategory","tooltipContent","ref","useRef","labelRef","isOptionOverflowing","useIsOverflowing","useEffect","element","current","scrollTop","offsetTop","_a","scrollIntoView","call","behaviour","renderIcon","icon","iconType","cx","styles","optionIcon","React","createElement","Icon","ignoreFocusStyle","onClick","useCallback","event","onMouseLeave","onMouseEnter","onKeyDown","key","keyCodes","ENTER","SPACE","optionRendererValue","useMemo","optionValue","Fragment","left","optionLabel","Tooltip","content","hideWhenReferenceHidden","getOptionId","getTestId","ComponentDefaultTestId","COMBOBOX_OPTION","comboboxOption","_defineProperty","active","activeOutline","style","height","iconTypes","ComboboxOptionIconTypeEnum"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{camelCase as o}from"lodash-es";import{getStyle as i}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as r,ComponentDefaultTestId as a}from"../../tests/testIds.js";import n from"classnames";import s,{useState as l,useRef as d,useCallback as m,useEffect as c,useMemo as u}from"react";import{SwitchTransition as p,CSSTransition as f}from"react-transition-group";import v from"../../hooks/useEventListener/index.js";import E from"../../hooks/useAfterFirstRender/index.js";import{NOOP as b}from"../../utils/function-utils.js";import{CounterSize as j,CounterColor as x,CounterType as h}from"./CounterConstants.js";import{withStaticProps as y}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import A from"./Counter.module.scss.js";var N=y((function(j){var x=j.className,h=j.counterClassName,y=j.count,N=void 0===y?0:y,k=j.size,C=void 0===k?"large":k,g=j.kind,w=void 0===g?"fill":g,L=j.color,M=void 0===L?"primary":L,z=j.maxDigits,D=void 0===z?3:z,P=j.ariaLabeledBy,R=void 0===P?"":P,T=j.ariaLabel,B=void 0===T?"":T,H=j.id,O=void 0===H?"":H,U=j.prefix,_=void 0===U?"":U,F=j.onMouseDown,I=void 0===F?b:F,S=j.noAnimation,q=void 0!==S&&S,G=j["data-testid"],J=l(!1),K=e(J,2),Q=K[0],V=K[1],W=d(null),X=m((function(){V(!0)}),[V]),Y=m((function(){V(!1)}),[V]);v({eventName:"animationend",callback:Y,ref:W});var Z=E();c((function(){Z.current&&X()}),[N,Z,X]),c((function(){D>0||console.error("Max digits must be a positive number")}),[D]);var $=u((function(){return n(A.counter,i(A,o("size-"+C)),i(A,o("kind-"+w)),i(A,o("color-"+M)),t({},A.withAnimation,Q),h)}),[C,w,M,Q,h]),ee="counter"+(O?"-".concat(O):""),te=(null==N?void 0:(""+N).length)>D?"".concat(Math.pow(10,D)-1,"+"):N+"",oe=s.createElement("span",{id:ee,"data-testid":G||r(a.COUNTER,O)},_+te);return s.createElement("span",{className:x,"aria-label":"".concat(B," ").concat(te),"aria-labelledby":R,onMouseDown:I},s.createElement("div",{className:$,"aria-label":te,ref:W},q?oe:s.createElement(p,{mode:"out-in"},s.createElement(f,{key:te,classNames:{enter:A.fadeEnter,enterActive:A.fadeEnterActive,exit:A.fadeExit,exitActive:A.fadeExitActive},addEndListener:function(e,t){e.addEventListener("transitionend",t,!1)}},s.createElement("span",{id:ee,"data-testid":G||r(a.COUNTER,O)},_+te)))))}),{sizes:j,colors:x,kinds:h});export{N as default};
1
+ import{slicedToArray as e,defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{camelCase as o}from"lodash-es";import{getStyle as i}from"../../helpers/typesciptCssModulesHelper.js";import{getTestId as r,ComponentDefaultTestId as a}from"../../tests/testIds.js";import n from"classnames";import s,{useState as l,useRef as d,useCallback as m,useEffect as c,useMemo as u}from"react";import{SwitchTransition as p,CSSTransition as f}from"react-transition-group";import v from"../../hooks/useEventListener/index.js";import E from"../../hooks/useAfterFirstRender/index.js";import{NOOP as b}from"../../utils/function-utils.js";import{CounterSize as j,CounterColor as x,CounterType as h}from"./CounterConstants.js";import{withStaticPropsWithoutForwardRef as y}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import A from"./Counter.module.scss.js";var N=y((function(j){var x=j.className,h=j.counterClassName,y=j.count,N=void 0===y?0:y,k=j.size,C=void 0===k?"large":k,g=j.kind,w=void 0===g?"fill":g,L=j.color,M=void 0===L?"primary":L,z=j.maxDigits,D=void 0===z?3:z,P=j.ariaLabeledBy,R=void 0===P?"":P,T=j.ariaLabel,B=void 0===T?"":T,H=j.id,O=void 0===H?"":H,U=j.prefix,_=void 0===U?"":U,F=j.onMouseDown,I=void 0===F?b:F,S=j.noAnimation,q=void 0!==S&&S,G=j["data-testid"],J=l(!1),K=e(J,2),Q=K[0],V=K[1],W=d(null),X=m((function(){V(!0)}),[V]),Y=m((function(){V(!1)}),[V]);v({eventName:"animationend",callback:Y,ref:W});var Z=E();c((function(){Z.current&&X()}),[N,Z,X]),c((function(){D>0||console.error("Max digits must be a positive number")}),[D]);var $=u((function(){return n(A.counter,i(A,o("size-"+C)),i(A,o("kind-"+w)),i(A,o("color-"+M)),t({},A.withAnimation,Q),h)}),[C,w,M,Q,h]),ee="counter"+(O?"-".concat(O):""),te=(null==N?void 0:(""+N).length)>D?"".concat(Math.pow(10,D)-1,"+"):N+"",oe=s.createElement("span",{id:ee,"data-testid":G||r(a.COUNTER,O)},_+te);return s.createElement("span",{className:x,"aria-label":"".concat(B," ").concat(te),"aria-labelledby":R,onMouseDown:I},s.createElement("div",{className:$,"aria-label":te,ref:W},q?oe:s.createElement(p,{mode:"out-in"},s.createElement(f,{key:te,classNames:{enter:A.fadeEnter,enterActive:A.fadeEnterActive,exit:A.fadeExit,exitActive:A.fadeExitActive},addEndListener:function(e,t){e.addEventListener("transitionend",t,!1)}},s.createElement("span",{id:ee,"data-testid":G||r(a.COUNTER,O)},_+te)))))}),{sizes:j,colors:x,kinds:h});export{N as default};
2
2
  //# sourceMappingURL=Counter.js.map