@vibe/core 3.50.1-alpha-1be71.0 → 3.50.1
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.
- package/dist/components/AlertBanner/AlertBanner.d.ts +1 -1
- package/dist/components/AttentionBox/AttentionBox.d.ts +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/AvatarBadge.d.ts +1 -1
- package/dist/components/Avatar/AvatarContent.d.ts +1 -1
- package/dist/components/Badge/Badge.d.ts +1 -1
- package/dist/components/Badge/Indicator/Indicator.d.ts +1 -1
- package/dist/components/Box/Box.d.ts +1 -1
- package/dist/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/components/Chips/Chips.d.ts +1 -1
- package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +1 -1
- package/dist/components/Combobox/Combobox.d.ts +1 -1
- package/dist/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +1 -1
- package/dist/components/Counter/Counter.d.ts +1 -1
- package/dist/components/DialogContentContainer/DialogContentContainer.d.ts +1 -1
- package/dist/components/Divider/Divider.d.ts +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/DropdownNew/Dropdown.types.d.ts +4 -0
- package/dist/components/DropdownNew/hooks/useDropdownCombobox.d.ts +1 -1
- package/dist/components/DropdownNew/hooks/useDropdownFiltering.d.ts +1 -1
- package/dist/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +1 -1
- package/dist/components/DropdownNew/utils/dropdownUtils.d.ts +1 -1
- package/dist/components/EditableHeading/EditableHeading.d.ts +1 -1
- package/dist/components/EditableText/EditableText.d.ts +1 -1
- package/dist/components/Flex/Flex.d.ts +1 -1
- package/dist/components/FormattedNumber/FormattedNumber.d.ts +1 -1
- package/dist/components/Heading/Heading.d.ts +1 -1
- package/dist/components/Icon/Icon.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/Label/Label.d.ts +1 -1
- package/dist/components/LegacyModal/LegacyModal.d.ts +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/ListItem/ListItem.d.ts +1 -1
- package/dist/components/ListItemAvatar/ListItemAvatar.d.ts +1 -1
- package/dist/components/ListItemIcon/ListItemIcon.d.ts +1 -1
- package/dist/components/Loader/Loader.d.ts +1 -1
- package/dist/components/Menu/Menu/Menu.d.ts +1 -1
- package/dist/components/Menu/MenuItem/MenuItem.d.ts +1 -1
- package/dist/components/Menu/MenuItemButton/MenuItemButton.d.ts +1 -1
- package/dist/components/Menu/MenuTitle/MenuTitle.d.ts +1 -1
- package/dist/components/MenuButton/MenuButton.d.ts +1 -1
- package/dist/components/MultiStepIndicator/MultiStepIndicator.d.ts +1 -1
- package/dist/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/SliderInfix.d.ts +1 -1
- package/dist/components/SplitButton/SplitButton.d.ts +1 -1
- package/dist/components/Steps/Steps.d.ts +1 -1
- package/dist/components/Table/Table/Table.d.ts +1 -1
- package/dist/components/Tabs/TabPanels/TabPanels.d.ts +1 -1
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/TextField/TextField.d.ts +1 -1
- package/dist/components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/components/Tipseen/Tipseen.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/metadata.json +11649 -8784
- package/dist/mocked_classnames/components/AlertBanner/AlertBanner.d.ts +1 -1
- package/dist/mocked_classnames/components/AttentionBox/AttentionBox.d.ts +1 -1
- package/dist/mocked_classnames/components/Avatar/Avatar.d.ts +1 -1
- package/dist/mocked_classnames/components/Avatar/AvatarBadge.d.ts +1 -1
- package/dist/mocked_classnames/components/Avatar/AvatarContent.d.ts +1 -1
- package/dist/mocked_classnames/components/Badge/Badge.d.ts +1 -1
- package/dist/mocked_classnames/components/Badge/Indicator/Indicator.d.ts +1 -1
- package/dist/mocked_classnames/components/Box/Box.d.ts +1 -1
- package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +1 -1
- package/dist/mocked_classnames/components/Button/Button.d.ts +1 -1
- package/dist/mocked_classnames/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/mocked_classnames/components/Chips/Chips.d.ts +1 -1
- package/dist/mocked_classnames/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +1 -1
- package/dist/mocked_classnames/components/Combobox/Combobox.d.ts +1 -1
- package/dist/mocked_classnames/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +1 -1
- package/dist/mocked_classnames/components/Counter/Counter.d.ts +1 -1
- package/dist/mocked_classnames/components/DialogContentContainer/DialogContentContainer.d.ts +1 -1
- package/dist/mocked_classnames/components/Divider/Divider.d.ts +1 -1
- package/dist/mocked_classnames/components/Dropdown/Dropdown.d.ts +1 -1
- package/dist/mocked_classnames/components/DropdownNew/Dropdown.types.d.ts +4 -0
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownCombobox.d.ts +1 -1
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownFiltering.d.ts +1 -1
- package/dist/mocked_classnames/components/DropdownNew/hooks/useDropdownMultiCombobox.d.ts +1 -1
- package/dist/mocked_classnames/components/DropdownNew/utils/dropdownUtils.d.ts +1 -1
- package/dist/mocked_classnames/components/EditableHeading/EditableHeading.d.ts +1 -1
- package/dist/mocked_classnames/components/EditableText/EditableText.d.ts +1 -1
- package/dist/mocked_classnames/components/Flex/Flex.d.ts +1 -1
- package/dist/mocked_classnames/components/FormattedNumber/FormattedNumber.d.ts +1 -1
- package/dist/mocked_classnames/components/Heading/Heading.d.ts +1 -1
- package/dist/mocked_classnames/components/Icon/Icon.d.ts +1 -1
- package/dist/mocked_classnames/components/IconButton/IconButton.d.ts +1 -1
- package/dist/mocked_classnames/components/Label/Label.d.ts +1 -1
- package/dist/mocked_classnames/components/LegacyModal/LegacyModal.d.ts +1 -1
- package/dist/mocked_classnames/components/Link/Link.d.ts +1 -1
- package/dist/mocked_classnames/components/List/List.d.ts +1 -1
- package/dist/mocked_classnames/components/ListItem/ListItem.d.ts +1 -1
- package/dist/mocked_classnames/components/ListItemAvatar/ListItemAvatar.d.ts +1 -1
- package/dist/mocked_classnames/components/ListItemIcon/ListItemIcon.d.ts +1 -1
- package/dist/mocked_classnames/components/Loader/Loader.d.ts +1 -1
- package/dist/mocked_classnames/components/Menu/Menu/Menu.d.ts +1 -1
- package/dist/mocked_classnames/components/Menu/MenuItem/MenuItem.d.ts +1 -1
- package/dist/mocked_classnames/components/Menu/MenuItemButton/MenuItemButton.d.ts +1 -1
- package/dist/mocked_classnames/components/Menu/MenuTitle/MenuTitle.d.ts +1 -1
- package/dist/mocked_classnames/components/MenuButton/MenuButton.d.ts +1 -1
- package/dist/mocked_classnames/components/MultiStepIndicator/MultiStepIndicator.d.ts +1 -1
- package/dist/mocked_classnames/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +1 -1
- package/dist/mocked_classnames/components/Skeleton/Skeleton.d.ts +1 -1
- package/dist/mocked_classnames/components/Slider/Slider.d.ts +1 -1
- package/dist/mocked_classnames/components/Slider/SliderInfix.d.ts +1 -1
- package/dist/mocked_classnames/components/SplitButton/SplitButton.d.ts +1 -1
- package/dist/mocked_classnames/components/Steps/Steps.d.ts +1 -1
- package/dist/mocked_classnames/components/Table/Table/Table.d.ts +1 -1
- package/dist/mocked_classnames/components/Tabs/TabPanels/TabPanels.d.ts +1 -1
- package/dist/mocked_classnames/components/Text/Text.d.ts +1 -1
- package/dist/mocked_classnames/components/TextField/TextField.d.ts +1 -1
- package/dist/mocked_classnames/components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/mocked_classnames/components/Tipseen/Tipseen.d.ts +1 -1
- package/dist/mocked_classnames/components/Toast/Toast.d.ts +1 -1
- package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js +1 -1
- package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/Avatar.js +1 -1
- package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.js +1 -1
- package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js +1 -1
- package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
- package/dist/mocked_classnames/src/components/Counter/Counter.js +1 -1
- package/dist/mocked_classnames/src/components/Counter/Counter.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dialog/Dialog.js +1 -1
- package/dist/mocked_classnames/src/components/Dialog/Dialog.js.map +1 -1
- package/dist/mocked_classnames/src/components/Divider/Divider.js +1 -1
- package/dist/mocked_classnames/src/components/Divider/Divider.js.map +1 -1
- package/dist/mocked_classnames/src/components/LegacyModal/LegacyModal.js +1 -1
- package/dist/mocked_classnames/src/components/LegacyModal/LegacyModal.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
- package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js +1 -1
- package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderInfix.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderInfix.js.map +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.js.map +1 -1
- package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
- package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toast/Toast.js +1 -1
- package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
- package/dist/mocked_classnames/src/index.js +1 -1
- package/dist/mocked_classnames/src/types/withStaticProps.js +1 -1
- package/dist/mocked_classnames/src/types/withStaticProps.js.map +1 -1
- package/dist/mocked_classnames/types/withStaticProps.d.ts +2 -2
- package/dist/src/components/AttentionBox/AttentionBox.js +1 -1
- package/dist/src/components/AttentionBox/AttentionBox.js.map +1 -1
- package/dist/src/components/Avatar/Avatar.js +1 -1
- package/dist/src/components/Avatar/Avatar.js.map +1 -1
- package/dist/src/components/Avatar/AvatarBadge.js +1 -1
- package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
- package/dist/src/components/Avatar/AvatarContent.js +1 -1
- package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
- package/dist/src/components/Badge/Indicator/Indicator.js +1 -1
- package/dist/src/components/Badge/Indicator/Indicator.js.map +1 -1
- package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js +1 -1
- package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
- package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js +1 -1
- package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
- package/dist/src/components/Counter/Counter.js +1 -1
- package/dist/src/components/Counter/Counter.js.map +1 -1
- package/dist/src/components/Dialog/Dialog.js +1 -1
- package/dist/src/components/Dialog/Dialog.js.map +1 -1
- package/dist/src/components/Divider/Divider.js +1 -1
- package/dist/src/components/Divider/Divider.js.map +1 -1
- package/dist/src/components/LegacyModal/LegacyModal.js +1 -1
- package/dist/src/components/LegacyModal/LegacyModal.js.map +1 -1
- package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
- package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
- package/dist/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
- package/dist/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
- package/dist/src/components/Skeleton/Skeleton.js +1 -1
- package/dist/src/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/src/components/Slider/SliderInfix.js +1 -1
- package/dist/src/components/Slider/SliderInfix.js.map +1 -1
- package/dist/src/components/SplitButton/SplitButton.js +1 -1
- package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
- package/dist/src/components/Table/TableRowMenu/TableRowMenu.js +1 -1
- package/dist/src/components/Table/TableRowMenu/TableRowMenu.js.map +1 -1
- package/dist/src/components/TextField/TextField.js.map +1 -1
- package/dist/src/components/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/src/components/Toast/Toast.js +1 -1
- package/dist/src/components/Toast/Toast.js.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/types/withStaticProps.js +1 -1
- package/dist/src/types/withStaticProps.js.map +1 -1
- package/dist/types/withStaticProps.d.ts +2 -2
- package/package.json +2 -2
|
@@ -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{
|
|
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,
|
|
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{
|
|
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,
|
|
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{
|
|
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 {
|
|
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{
|
|
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,
|
|
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{
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Counter.js","sources":["../../../../src/components/Counter/Counter.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, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { CSSTransition, SwitchTransition } from \"react-transition-group\";\nimport useEventListener from \"../../hooks/useEventListener\";\nimport useAfterFirstRender from \"../../hooks/useAfterFirstRender\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport {\n CounterColor as CounterColorEnum,\n CounterSize as CounterSizeEnum,\n CounterType as CounterTypeEnum\n} from \"./CounterConstants\";\nimport { CounterColor, CounterSize, CounterType } from \"./Counter.types\";\nimport { VibeComponentProps,
|
|
1
|
+
{"version":3,"file":"Counter.js","sources":["../../../../src/components/Counter/Counter.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, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { CSSTransition, SwitchTransition } from \"react-transition-group\";\nimport useEventListener from \"../../hooks/useEventListener\";\nimport useAfterFirstRender from \"../../hooks/useAfterFirstRender\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport {\n CounterColor as CounterColorEnum,\n CounterSize as CounterSizeEnum,\n CounterType as CounterTypeEnum\n} from \"./CounterConstants\";\nimport { CounterColor, CounterSize, CounterType } from \"./Counter.types\";\nimport { VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./Counter.module.scss\";\n\nexport interface CounterProps extends VibeComponentProps {\n /**\n * The ID of the element describing the counter.\n */\n ariaLabeledBy?: string;\n /**\n * Class name applied to the counter element.\n */\n counterClassName?: string;\n /**\n * The numeric value displayed in the counter.\n */\n count?: number;\n /**\n * The label of the counter for accessibility.\n */\n ariaLabel?: string;\n /**\n * The size of the counter.\n */\n size?: CounterSize;\n /**\n * The visual style of the counter.\n */\n kind?: CounterType;\n /**\n * The color of the counter.\n */\n color?: CounterColor;\n /**\n * The maximum number of digits displayed before truncation.\n */\n maxDigits?: number;\n /**\n * Text prepended to the counter value.\n */\n prefix?: string;\n /**\n * Callback fired when the counter is clicked.\n */\n onMouseDown?: (event: React.MouseEvent<HTMLSpanElement>) => void;\n /**\n * If true, disables counter animations.\n */\n noAnimation?: boolean;\n}\n\nconst Counter = ({\n className,\n counterClassName,\n count = 0,\n size = \"large\",\n kind = \"fill\",\n color = \"primary\",\n maxDigits = 3,\n ariaLabeledBy = \"\",\n ariaLabel = \"\",\n id = \"\",\n prefix = \"\",\n onMouseDown = NOOP,\n noAnimation = false,\n \"data-testid\": dataTestId\n}: CounterProps) => {\n const [countChangeAnimationState, setCountChangeAnimationState] = useState(false);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const setCountChangedAnimationActive = useCallback(() => {\n setCountChangeAnimationState(true);\n }, [setCountChangeAnimationState]);\n\n const setCountChangedAnimationNotActive = useCallback(() => {\n setCountChangeAnimationState(false);\n }, [setCountChangeAnimationState]);\n\n useEventListener({\n eventName: \"animationend\",\n callback: setCountChangedAnimationNotActive,\n ref\n });\n\n const isAfterFirstRender = useAfterFirstRender();\n\n useEffect(() => {\n if (isAfterFirstRender.current) {\n setCountChangedAnimationActive();\n }\n }, [count, isAfterFirstRender, setCountChangedAnimationActive]);\n\n useEffect(() => {\n if (maxDigits <= 0) {\n console.error(\"Max digits must be a positive number\");\n }\n }, [maxDigits]);\n\n const classNames = useMemo(() => {\n return cx(\n styles.counter,\n getStyle(styles, camelCase(\"size-\" + size)),\n getStyle(styles, camelCase(\"kind-\" + kind)),\n getStyle(styles, camelCase(\"color-\" + color)),\n {\n [styles.withAnimation]: countChangeAnimationState\n },\n counterClassName\n );\n }, [size, kind, color, countChangeAnimationState, counterClassName]);\n\n const counterId = \"counter\" + (id ? `-${id}` : \"\");\n const countText = count?.toString().length > maxDigits ? `${10 ** maxDigits - 1}+` : String(count);\n const counter = (\n <span id={counterId} data-testid={dataTestId || getTestId(ComponentDefaultTestId.COUNTER, id)}>\n {prefix + countText}\n </span>\n );\n\n return (\n <span\n className={className}\n aria-label={`${ariaLabel} ${countText}`}\n aria-labelledby={ariaLabeledBy}\n onMouseDown={onMouseDown}\n >\n <div className={classNames} aria-label={countText} ref={ref}>\n {noAnimation ? (\n counter\n ) : (\n <SwitchTransition mode=\"out-in\">\n <CSSTransition\n key={countText}\n classNames={{\n enter: styles.fadeEnter,\n enterActive: styles.fadeEnterActive,\n exit: styles.fadeExit,\n exitActive: styles.fadeExitActive\n }}\n // @ts-expect-error @definitelyTyped typings expecting a single parameter for some reason when the function passed here is called with two parameters\n // See https://github.com/reactjs/react-transition-group/blob/c89f807067b32eea6f68fd6c622190d88ced82e2/src/Transition.js#L522-L534\n addEndListener={(node: HTMLElement, done: () => void) => {\n node.addEventListener(\"transitionend\", done, false);\n }}\n >\n <span id={counterId} data-testid={dataTestId || getTestId(ComponentDefaultTestId.COUNTER, id)}>\n {prefix + countText}\n </span>\n </CSSTransition>\n </SwitchTransition>\n )}\n </div>\n </span>\n );\n};\n\ninterface CounterStaticProps {\n sizes: typeof CounterSizeEnum;\n colors: typeof CounterColorEnum;\n kinds: typeof CounterTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<CounterProps, CounterStaticProps>(Counter, {\n sizes: CounterSizeEnum,\n colors: CounterColorEnum,\n kinds: CounterTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","className","counterClassName","_ref$count","count","_ref$size","size","_ref$kind","kind","_ref$color","color","_ref$maxDigits","maxDigits","_ref$ariaLabeledBy","ariaLabeledBy","_ref$ariaLabel","ariaLabel","_ref$id","id","_ref$prefix","prefix","_ref$onMouseDown","onMouseDown","NOOP","_ref$noAnimation","noAnimation","dataTestId","_useState","useState","_useState2","_slicedToArray","countChangeAnimationState","setCountChangeAnimationState","ref","useRef","setCountChangedAnimationActive","useCallback","setCountChangedAnimationNotActive","useEventListener","eventName","callback","isAfterFirstRender","useAfterFirstRender","useEffect","current","console","error","classNames","useMemo","cx","styles","counter","getStyle","camelCase","_defineProperty","withAnimation","counterId","concat","countText","length","Math","pow","String","React","createElement","getTestId","ComponentDefaultTestId","COUNTER","SwitchTransition","mode","CSSTransition","key","enter","fadeEnter","enterActive","fadeEnterActive","exit","fadeExit","exitActive","fadeExitActive","addEndListener","node","done","addEventListener","sizes","CounterSizeEnum","colors","CounterColorEnum","kinds","CounterTypeEnum"],"mappings":"43BAiEA,IAgHeA,EAAAA,GAhHC,SAAHC,GAeM,IAdjBC,EAASD,EAATC,UACAC,EAAgBF,EAAhBE,iBAAgBC,EAAAH,EAChBI,MAAAA,OAAQ,IAAHD,EAAG,EAACA,EAAAE,EAAAL,EACTM,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EAAAE,EAAAP,EACdQ,KAAAA,OAAO,IAAHD,EAAG,OAAMA,EAAAE,EAAAT,EACbU,MAAAA,OAAQ,IAAHD,EAAG,UAASA,EAAAE,EAAAX,EACjBY,UAAAA,OAAY,IAAHD,EAAG,EAACA,EAAAE,EAAAb,EACbc,cAAAA,OAAgB,IAAHD,EAAG,GAAEA,EAAAE,EAAAf,EAClBgB,UAAAA,OAAY,IAAHD,EAAG,GAAEA,EAAAE,EAAAjB,EACdkB,GAAAA,OAAK,IAAHD,EAAG,GAAEA,EAAAE,EAAAnB,EACPoB,OAAAA,OAAS,IAAHD,EAAG,GAAEA,EAAAE,EAAArB,EACXsB,YAAAA,OAAcC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAxB,EAClByB,YAAAA,OAAc,IAAHD,GAAQA,EACJE,EAAU1B,EAAzB,eAEA2B,EAAkEC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1EI,EAAyBF,EAAA,GAAEG,EAA4BH,EAAA,GAExDI,EAAMC,EAAuB,MAE7BC,EAAiCC,GAAY,WACjDJ,GAA6B,EAC/B,GAAG,CAACA,IAEEK,EAAoCD,GAAY,WACpDJ,GAA6B,EAC/B,GAAG,CAACA,IAEJM,EAAiB,CACfC,UAAW,eACXC,SAAUH,EACVJ,IAAAA,IAGF,IAAMQ,EAAqBC,IAE3BC,GAAU,WACJF,EAAmBG,SACrBT,GAEH,GAAE,CAAC/B,EAAOqC,EAAoBN,IAE/BQ,GAAU,WACJ/B,EAAa,GACfiC,QAAQC,MAAM,uCAElB,GAAG,CAAClC,IAEJ,IAAMmC,EAAaC,GAAQ,WACzB,OAAOC,EACLC,EAAOC,QACPC,EAASF,EAAQG,EAAU,QAAU/C,IACrC8C,EAASF,EAAQG,EAAU,QAAU7C,IACrC4C,EAASF,EAAQG,EAAU,SAAW3C,IAAO4C,EAAA,CAAA,EAE1CJ,EAAOK,cAAgBxB,GAE1B7B,EAEJ,GAAG,CAACI,EAAME,EAAME,EAAOqB,EAA2B7B,IAE5CsD,GAAY,WAAatC,EAAEuC,IAAAA,OAAOvC,GAAO,IACzCwC,IAAYtD,aAAK,GAALA,MAAkBuD,QAAS/C,EAAS,GAAA6C,OAAMG,KAAAC,IAAA,GAAMjD,GAAY,OAAcR,EAAP0D,GAC/EX,GACJY,EAAMC,cAAA,OAAA,CAAA9C,GAAIsC,GAAS,cAAe9B,GAAcuC,EAAUC,EAAuBC,QAASjD,IACvFE,EAASsC,IAId,OACEK,EACEC,cAAA,OAAA,CAAA/D,UAAWA,yBACIe,OAASyC,OAAIC,IACX,kBAAA5C,EACjBQ,YAAaA,GAEbyC,EAAKC,cAAA,MAAA,CAAA/D,UAAW8C,EAAwB,aAAAW,GAAWzB,IAAKA,GACrDR,EACC0B,GAEAY,EAAAC,cAACI,EAAgB,CAACC,KAAK,UACrBN,EAAAC,cAACM,EACC,CAAAC,IAAKb,GACLX,WAAY,CACVyB,MAAOtB,EAAOuB,UACdC,YAAaxB,EAAOyB,gBACpBC,KAAM1B,EAAO2B,SACbC,WAAY5B,EAAO6B,gBAIrBC,eAAgB,SAACC,EAAmBC,GAClCD,EAAKE,iBAAiB,gBAAiBD,GAAM,EAC/C,GAEAnB,EAAMC,cAAA,OAAA,CAAA9C,GAAIsC,GAAwB,cAAA9B,GAAcuC,EAAUC,EAAuBC,QAASjD,IACvFE,EAASsC,OAQ1B,GAQ2F,CACzF0B,MAAOC,EACPC,OAAQC,EACRC,MAAOC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{inherits as e,createClass as
|
|
1
|
+
import{inherits as e,createClass as o,toConsumableArray as n,classCallCheck as t,callSuper as i}from"../../../_virtual/_rollupPluginBabelHelpers.js";import s from"classnames";import r,{PureComponent as a}from"react";import{createPortal as l}from"react-dom";import{Manager as u,Reference as h,Popper as d}from"react-popper";import{isFunction as c}from"lodash-es";import{NOOP as p,convertToArray as m,chainFunctions as g}from"../../utils/function-utils.js";import f from"./DialogContent/DialogContent.js";import{isInsideClass as v}from"../../utils/dom-utils.js";import{Refable as D}from"../Refable/Refable.js";import{HideShowEvent as y,DialogPosition as w,AnimationType as E}from"./DialogConstants.js";import k from"./Dialog.module.scss.js";import{getTestId as C,ComponentDefaultTestId as T}from"../../tests/testIds.js";import S from"../LayerProvider/LayerContext.js";import{isClient as b}from"../../utils/ssr-utils.js";import{createObserveContentResizeModifier as O}from"./modifiers/observeContentResizeModifier.js";var M=function(p){function g(e){var o;return t(this,g),(o=i(this,g,[e])).state={shouldUseDerivedStateFromProps:e.useDerivedStateFromProps,isOpen:e.shouldShowOnMount},o.onMouseEnter=o.onMouseEnter.bind(o),o.onMouseLeave=o.onMouseLeave.bind(o),o.onMouseDown=o.onMouseDown.bind(o),o.onClick=o.onClick.bind(o),o.onFocus=o.onFocus.bind(o),o.onBlur=o.onBlur.bind(o),o.isShown=o.isShown.bind(o),o.onEsc=o.onEsc.bind(o),o.onClickOutside=o.onClickOutside.bind(o),o.onDialogEnter=o.onDialogEnter.bind(o),o.onDialogLeave=o.onDialogLeave.bind(o),o.getContainer=o.getContainer.bind(o),o.onContentClick=o.onContentClick.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o.closeDialogOnEscape=o.closeDialogOnEscape.bind(o),o.onContextMenu=o.onContextMenu.bind(o),o.hideTimeout=null,o.showTimeout=null,o}return e(g,a),o(g,[{key:"closeDialogOnEscape",value:function(e){if(this.state.isOpen)switch(e.key){case"Escape":this.hideDialogIfNeeded(e,y.ESCAPE_KEY);break;case"Tab":this.handleEvent(y.TAB_KEY,e.target,e);break;case"Enter":this.handleEvent(y.ENTER,e.target,e)}}},{key:"componentDidMount",value:function(){var e=this.props,o=e.shouldCallbackOnMount,n=e.onDialogDidShow,t=this.state.isOpen;b()&&document.addEventListener("keyup",this.closeDialogOnEscape),o&&t&&n&&n()}},{key:"componentWillUnmount",value:function(){b()&&document.removeEventListener("keyup",this.closeDialogOnEscape),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}},{key:"getContainer",value:function(){var e=document.querySelector(this.props.containerSelector);if(!(e&&e instanceof Element)){var o=this.context.layerRef;return(null==o?void 0:o.current)?o.current:document.body}return e}},{key:"showDialog",value:function(e,o){var n=this,t=this.props,i=t.instantShowAndHide,s=t.getDynamicShowDelay,r=t.showDelay,a=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).preventAnimation;if(s){var l=s();r=l.showDelay||0,a=a||l.preventAnimation}i?(this.onShowDialog(e,o),this.setState({isOpen:!0,preventAnimation:a}),this.showTimeout=null):this.showTimeout=setTimeout((function(){n.onShowDialog(e,o),n.showTimeout=null,n.setState({isOpen:!0,preventAnimation:a})}),r)}},{key:"onShowDialog",value:function(e,o){this.isShown()||(0,this.props.onDialogDidShow)(e,o)}},{key:"showDialogIfNeeded",value:function(e,o){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.props.disable||(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null),this.showTimeout||this.showDialog(e,o,n))}},{key:"hideDialog",value:function(e,o){var n=this,t=this.props,i=t.hideDelay;t.instantShowAndHide?(this.onHideDialog(e,o),this.setState({isOpen:!1}),this.hideTimeout=null):this.hideTimeout=setTimeout((function(){n.onHideDialog(e,o),n.setState({isOpen:!1}),n.hideTimeout=null}),i)}},{key:"onHideDialog",value:function(e,o){var n=this.props.onDialogDidHide;n&&n(e,o)}},{key:"hideDialogIfNeeded",value:function(e,o){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null),this.hideTimeout||this.hideDialog(e,o)}},{key:"handleEvent",value:function(e,o,n){var t=this.props,i=t.showTriggerIgnoreClass,s=t.hideTriggerIgnoreClass;return!this.isShowTrigger(e)||this.isShown()||v(o,i)?this.isHideTrigger(e)&&!v(o,s)?this.hideDialogIfNeeded(n,e):void 0:this.showDialogIfNeeded(n,e)}},{key:"isShown",value:function(){return this.state.isOpen||this.props.open}},{key:"isShowTrigger",value:function(e){var o=this.props,n=o.addKeyboardHideShowTriggersByDefault,t=m(o.showTrigger);return!(!n||"focus"!==e||-1>=t.indexOf("mouseenter"))||t.indexOf(e)>-1}},{key:"isHideTrigger",value:function(e){var o=this.props,n=o.addKeyboardHideShowTriggersByDefault,t=m(o.hideTrigger);return!(!n||"blur"!==e||-1>=t.indexOf("mouseleave"))||t.indexOf(e)>-1}},{key:"onMouseEnter",value:function(e){this.handleEvent("mouseenter",e.target,e)}},{key:"onMouseLeave",value:function(e){this.handleEvent("mouseleave",e.target,e)}},{key:"onClick",value:function(e){e.button||this.handleEvent("click",e.target,e)}},{key:"onKeyDown",value:function(e){"Enter"===e.key&&this.handleEvent("enter",e.target,e),"Tab"===e.key&&this.handleEvent("tab",e.target,e)}},{key:"onMouseDown",value:function(e){e.button||this.handleEvent("mousedown",e.target,e)}},{key:"onFocus",value:function(e){this.handleEvent("focus",e.target,e)}},{key:"onBlur",value:function(e){this.handleEvent("blur",e.relatedTarget,e)}},{key:"onEsc",value:function(e){this.handleEvent("esckey",e.target,e)}},{key:"onContextMenu",value:function(e){var o=this.isShown();(this.isShowTrigger("contextmenu")&&!o||this.isHideTrigger("contextmenu")&&o)&&e.preventDefault(),this.handleEvent("contextmenu",e.target,e)}},{key:"onClickOutside",value:function(e){var o=this.props.onClickOutside;this.handleEvent("clickoutside",e.target,e),o(e)}},{key:"onDialogEnter",value:function(e){this.props.showOnDialogEnter&&this.showDialogIfNeeded(e,"DialogEnter")}},{key:"onDialogLeave",value:function(e){this.props.showOnDialogEnter&&this.hideDialogIfNeeded(e,"DialogLeave")}},{key:"onContentClick",value:function(e){var o=this.props.onContentClick;this.handleEvent("onContentClick",e.target,e),o(e)}},{key:"render",value:function(){var e=this,o=this.props,t=o.wrapperClassName,i=o.content,a=o.startingEdge,p=o.children,m=o.preventAnimationOnMount,g=o.animationType,v=o.position,y=o.showDelay,w=o.moveBy,E=o.modifiers,S=o.tooltip,M=o.tooltipClassName,H=o.referenceWrapperClassName,L=o.zIndex,A=o.hideWhenReferenceHidden,N=o.disableContainerScroll,I=o.containerSelector,R=o.observeContentResize,j=this.state.preventAnimation,B=o["data-testid"]||C(T.DIALOG,o.id),P=m||j?void 0:g,F=c(i)?i():i;return F?r.createElement(u,null,r.createElement(h,null,(function(o){var n=o.ref;return r.createElement(D,{className:s(H),ref:n,onBlur:x("onBlur",e,e.props),onKeyDown:x("onKeyDown",e,e.props),onClick:x("onClick",e,e.props),onFocus:x("onFocus",e,e.props),onMouseDown:x("onMouseDown",e,e.props),onMouseEnter:x("onMouseEnter",e,e.props),onMouseLeave:x("onMouseLeave",e,e.props),onContextMenu:x("onContextMenu",e,e.props)},p)})),b()&&l(r.createElement(d,{placement:v,modifiers:[{name:"offset",options:{offset:[w.secondary,w.main]}},{name:"zIndex",enabled:!0,phase:"write",fn:function(e){var o=e.state;return L&&(o.styles.popper.zIndex=L+""),o}},{name:"rotator",enabled:!0,phase:"write",fn:function(e){var o=e.state;return o.styles.arrow?(o.styles.arrow.transform="".concat(o.styles.arrow.transform," rotate(45deg)"),o):o}},O(R)].concat(n(E))},(function(o){var n=o.placement,i=o.style,l=o.ref,u=o.arrowProps,h=o.isReferenceHidden;if(!e.isShown()&&n)return null;if(A&&h){var d=new CustomEvent("onReferenceHidden");e.hideDialog(d,"onReferenceHidden")}return r.createElement(f,{"data-testid":B,isReferenceHidden:A&&h,onMouseEnter:e.onDialogEnter,onMouseLeave:e.onDialogLeave,onClickOutside:e.onClickOutside,onContextMenu:e.onContextMenu,onEsc:e.onEsc,animationType:P,position:n,wrapperClassName:t,startingEdge:a,isOpen:e.isShown(),showDelay:y,styleObject:i,ref:l,onClick:e.onContentClick,hasTooltip:!!S,containerSelector:I,disableContainerScroll:N},F,S&&r.createElement("div",{style:u.style,ref:u.ref,className:s(k.arrow,M),"data-placement":n}))})),this.getContainer())):p}}],[{key:"getDerivedStateFromProps",value:function(e,o){return o.shouldUseDerivedStateFromProps?{isOpen:e.isOpen}:null}}])}();function x(e,o,n){return g([n[e],o[e]],!0)}M.hideShowTriggers=y,M.positions=w,M.animationTypes=E,M.defaultProps={position:"top",modifiers:[],moveBy:{main:0,secondary:0},showDelay:100,hideDelay:100,showTrigger:M.hideShowTriggers.MOUSE_ENTER,hideTrigger:M.hideShowTriggers.MOUSE_LEAVE,showOnDialogEnter:!1,shouldShowOnMount:!1,disable:!1,open:!1,animationType:M.animationTypes.EXPAND,preventAnimationOnMount:!1,tooltip:!1,onDialogDidShow:p,onDialogDidHide:p,onClickOutside:p,onContentClick:p,useDerivedStateFromProps:!1,hideWhenReferenceHidden:!1,shouldCallbackOnMount:!1,instantShowAndHide:!1,addKeyboardHideShowTriggersByDefault:!1,observeContentResize:!1},M.contextType=S;export{M as default};
|
|
2
2
|
//# sourceMappingURL=Dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { PureComponent, ReactElement } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Manager, Modifier, Popper, Reference } from \"react-popper\";\nimport { isFunction } from \"lodash-es\";\nimport { chainFunctions, convertToArray, NOOP } from \"../../utils/function-utils\";\nimport DialogContent from \"./DialogContent/DialogContent\";\nimport { isInsideClass } from \"../../utils/dom-utils\";\nimport { Refable } from \"../Refable/Refable\";\nimport {\n AnimationType as AnimationTypeEnum,\n HideShowEvent as DialogTriggerEventEnum,\n DialogPosition as DialogPositionEnum\n} from \"./DialogConstants\";\nimport { VibeComponentProps } from \"../../types\";\nimport * as PopperJS from \"@popperjs/core\";\nimport styles from \"./Dialog.module.scss\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { DialogAnimationType, DialogPosition, DialogTriggerEvent } from \"./Dialog.types\";\nimport LayerContext from \"../LayerProvider/LayerContext\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport { createObserveContentResizeModifier } from \"./modifiers/observeContentResizeModifier\";\n\nexport interface DialogProps extends VibeComponentProps {\n /**\n * Class name applied to the reference wrapper element.\n */\n referenceWrapperClassName?: string;\n /**\n * The placement of the dialog relative to the reference element.\n */\n position?: DialogPosition;\n /**\n * Custom Popper.js modifiers.\n * https://popper.js.org/docs/v2/modifiers/\n */\n modifiers?: Modifier<any>[];\n /**\n * The starting edge of the dialog.\n */\n startingEdge?: string;\n /**\n * Offset values for positioning adjustments.\n * `main` - horizontal offset\n * `secondary` - vertical offset\n */\n moveBy?: { main?: number; secondary?: number };\n /**\n * Delay in milliseconds before showing the dialog.\n */\n showDelay?: number;\n /**\n * Delay in milliseconds before hiding the dialog.\n */\n hideDelay?: number;\n /**\n * Events that trigger showing the dialog.\n */\n showTrigger?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * Events that trigger hiding the dialog.\n */\n hideTrigger?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * If true, prevents closing the dialog when the mouse enters it.\n */\n showOnDialogEnter?: boolean;\n /**\n * If true, shows the dialog when the component mounts.\n */\n shouldShowOnMount?: boolean;\n /**\n * If true, disables opening the dialog.\n */\n disable?: boolean;\n /**\n * Controls the open state of the dialog.\n */\n open?: boolean;\n /**\n * Derived state control for managing dialog visibility.\n */\n isOpen?: boolean;\n /**\n * Classes that prevent showing the dialog when present.\n */\n showTriggerIgnoreClass?: string | Array<string>;\n /**\n * Classes that prevent hiding the dialog when present.\n */\n hideTriggerIgnoreClass?: string | Array<string>;\n /**\n * The animation type used for the dialog.\n */\n animationType?: DialogAnimationType;\n /**\n * Class name applied to the dialog content container.\n */\n wrapperClassName?: string;\n /**\n * If true, prevents animation when mounting.\n */\n preventAnimationOnMount?: boolean;\n /**\n * The CSS selector of the container where the dialog is rendered.\n */\n containerSelector?: string;\n /**\n * If true, positions the tooltip element.\n */\n tooltip?: boolean;\n /**\n * Class name applied to the tooltip element.\n */\n tooltipClassName?: string;\n /**\n * Callback fired when the dialog is shown.\n */\n onDialogDidShow?: (event?: DialogEvent, eventName?: DialogTriggerEvent | string) => void;\n /**\n * Callback fired when the dialog is hidden.\n */\n onDialogDidHide?: (event: DialogEvent, eventName: DialogTriggerEvent | string) => void;\n /**\n * Callback fired when clicking outside the dialog.\n */\n onClickOutside?: (event: React.MouseEvent) => void;\n /**\n * Callback fired when clicking inside the dialog content.\n */\n onContentClick?: (event: React.MouseEvent) => void;\n /**\n * The z-index applied to the dialog.\n */\n zIndex?: number;\n /**\n * If true, uses derived state from props.\n */\n useDerivedStateFromProps?: boolean;\n /**\n * If true, makes the dialog disappear when the reference element is hidden.\n */\n hideWhenReferenceHidden?: boolean;\n /**\n * If true, triggers the callback when the dialog mounts.\n */\n shouldCallbackOnMount?: boolean;\n /**\n * If true, instantly shows and hides the dialog without delay.\n */\n instantShowAndHide?: boolean;\n /**\n * Callback to dynamically adjust show delay and animation behavior.\n */\n getDynamicShowDelay?: () => { showDelay: number; preventAnimation: boolean };\n /**\n * The content displayed inside the dialog.\n */\n content?: (() => JSX.Element) | JSX.Element;\n /**\n * The element to position the dialog beside.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * If true, keyboard focus/blur events behave like mouse enter/leave.\n */\n addKeyboardHideShowTriggersByDefault?: boolean;\n /**\n * If true, disables scrolling for the container element.\n */\n disableContainerScroll?: boolean | string;\n /**\n * Enables the observation of content resize for the popper element.\n * When set to `true`, a ResizeObserver is attached to the popper content,\n * automatically triggering repositioning when the size of the content changes.\n *\n * This is useful for dialogs, tooltips, or popovers with dynamic content\n * that may grow or shrink without a re-render being triggered.\n */\n observeContentResize?: boolean;\n}\n\nexport interface DialogState {\n /**\n * If true, the dialog is open.\n */\n isOpen?: boolean;\n /**\n * If true, the dialog state is derived from props.\n */\n shouldUseDerivedStateFromProps?: boolean;\n /**\n * If true, prevents animation when opening or closing the dialog.\n */\n preventAnimation?: boolean;\n}\n\nexport type DialogEvent = React.MouseEvent | React.KeyboardEvent | KeyboardEvent | React.FocusEvent | CustomEvent;\n\nexport default class Dialog extends PureComponent<DialogProps, DialogState> {\n static hideShowTriggers = DialogTriggerEventEnum;\n static positions = DialogPositionEnum;\n static animationTypes = AnimationTypeEnum;\n static defaultProps = {\n position: \"top\",\n modifiers: [] as Modifier<any>[],\n moveBy: { main: 0, secondary: 0 },\n showDelay: 100,\n hideDelay: 100,\n showTrigger: Dialog.hideShowTriggers.MOUSE_ENTER,\n hideTrigger: Dialog.hideShowTriggers.MOUSE_LEAVE,\n showOnDialogEnter: false,\n shouldShowOnMount: false,\n disable: false,\n open: false,\n animationType: Dialog.animationTypes.EXPAND,\n preventAnimationOnMount: false,\n tooltip: false,\n onDialogDidShow: NOOP,\n onDialogDidHide: NOOP,\n onClickOutside: NOOP,\n onContentClick: NOOP,\n useDerivedStateFromProps: false,\n hideWhenReferenceHidden: false,\n shouldCallbackOnMount: false,\n instantShowAndHide: false,\n addKeyboardHideShowTriggersByDefault: false,\n observeContentResize: false\n };\n private showTimeout: NodeJS.Timeout;\n private hideTimeout: NodeJS.Timeout;\n context!: React.ContextType<typeof LayerContext>;\n\n constructor(props: DialogProps) {\n super(props);\n this.state = {\n shouldUseDerivedStateFromProps: props.useDerivedStateFromProps,\n isOpen: props.shouldShowOnMount\n };\n\n // Binding section.\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n this.onMouseDown = this.onMouseDown.bind(this);\n this.onClick = this.onClick.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n this.isShown = this.isShown.bind(this);\n this.onEsc = this.onEsc.bind(this);\n this.onClickOutside = this.onClickOutside.bind(this);\n this.onDialogEnter = this.onDialogEnter.bind(this);\n this.onDialogLeave = this.onDialogLeave.bind(this);\n this.getContainer = this.getContainer.bind(this);\n this.onContentClick = this.onContentClick.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.closeDialogOnEscape = this.closeDialogOnEscape.bind(this);\n this.onContextMenu = this.onContextMenu.bind(this);\n\n // Timeouts\n this.hideTimeout = null;\n this.showTimeout = null;\n }\n\n closeDialogOnEscape(event: KeyboardEvent) {\n const { isOpen } = this.state;\n if (!isOpen) {\n return;\n }\n switch (event.key) {\n case \"Escape\":\n this.hideDialogIfNeeded(event, DialogTriggerEventEnum.ESCAPE_KEY);\n break;\n case \"Tab\":\n this.handleEvent(DialogTriggerEventEnum.TAB_KEY, event.target, event);\n break;\n case \"Enter\":\n this.handleEvent(DialogTriggerEventEnum.ENTER, event.target, event);\n break;\n default:\n break;\n }\n }\n\n componentDidMount() {\n const { shouldCallbackOnMount, onDialogDidShow } = this.props;\n const { isOpen } = this.state;\n if (isClient()) {\n document.addEventListener(\"keyup\", this.closeDialogOnEscape);\n }\n if (shouldCallbackOnMount && isOpen) {\n onDialogDidShow && onDialogDidShow();\n }\n }\n\n componentWillUnmount() {\n if (isClient()) {\n document.removeEventListener(\"keyup\", this.closeDialogOnEscape);\n }\n }\n\n static getDerivedStateFromProps(nextProps: DialogProps, state: DialogState): DialogState {\n if (state.shouldUseDerivedStateFromProps) {\n return { isOpen: nextProps.isOpen };\n }\n return null;\n }\n\n getContainer() {\n const { containerSelector } = this.props;\n const containerElement = document.querySelector(containerSelector);\n if (!containerElement || !(containerElement instanceof Element)) {\n const { layerRef } = this.context;\n if (layerRef?.current) {\n return layerRef.current;\n }\n return document.body;\n }\n return containerElement;\n }\n\n showDialog(event: DialogEvent, eventName: DialogTriggerEvent | string, options: { preventAnimation?: boolean } = {}) {\n const { showDelay, instantShowAndHide, getDynamicShowDelay } = this.props;\n let finalShowDelay = showDelay;\n let preventAnimation = options.preventAnimation;\n if (getDynamicShowDelay) {\n const dynamicDelayObj = getDynamicShowDelay();\n finalShowDelay = dynamicDelayObj.showDelay || 0;\n preventAnimation = preventAnimation || dynamicDelayObj.preventAnimation;\n }\n\n if (instantShowAndHide) {\n this.onShowDialog(event, eventName);\n this.setState({ isOpen: true, preventAnimation });\n this.showTimeout = null;\n } else {\n this.showTimeout = setTimeout(() => {\n this.onShowDialog(event, eventName);\n this.showTimeout = null;\n this.setState({ isOpen: true, preventAnimation });\n }, finalShowDelay);\n }\n }\n\n onShowDialog(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n if (this.isShown()) return;\n const { onDialogDidShow } = this.props;\n onDialogDidShow(event, eventName);\n }\n\n showDialogIfNeeded(event: DialogEvent, eventName: DialogTriggerEvent | string, options = {}) {\n const { disable } = this.props;\n if (disable) {\n return;\n }\n\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n\n if (!this.showTimeout) {\n this.showDialog(event, eventName, options);\n }\n }\n\n hideDialog(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n const { hideDelay, instantShowAndHide } = this.props;\n if (instantShowAndHide) {\n this.onHideDialog(event, eventName);\n this.setState({ isOpen: false });\n this.hideTimeout = null;\n } else {\n this.hideTimeout = setTimeout(() => {\n this.onHideDialog(event, eventName);\n this.setState({ isOpen: false });\n this.hideTimeout = null;\n }, hideDelay);\n }\n }\n\n onHideDialog(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n const { onDialogDidHide } = this.props;\n if (onDialogDidHide) onDialogDidHide(event, eventName);\n }\n\n hideDialogIfNeeded(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n\n if (this.hideTimeout) {\n return;\n }\n this.hideDialog(event, eventName);\n }\n\n handleEvent(eventName: DialogTriggerEvent, target: EventTarget, event: DialogEvent) {\n const { showTriggerIgnoreClass, hideTriggerIgnoreClass } = this.props;\n if (\n this.isShowTrigger(eventName) &&\n !this.isShown() &&\n !isInsideClass(target as HTMLElement, showTriggerIgnoreClass)\n ) {\n return this.showDialogIfNeeded(event, eventName);\n }\n\n if (this.isHideTrigger(eventName) && !isInsideClass(target as HTMLElement, hideTriggerIgnoreClass)) {\n return this.hideDialogIfNeeded(event, eventName);\n }\n }\n\n isShown() {\n const { isOpen } = this.state;\n const { open } = this.props;\n\n return isOpen || open;\n }\n\n isShowTrigger(eventName: DialogTriggerEvent) {\n const { showTrigger, addKeyboardHideShowTriggersByDefault } = this.props;\n const showTriggersArray = convertToArray(showTrigger);\n\n if (addKeyboardHideShowTriggersByDefault) {\n if (eventName === \"focus\" && showTriggersArray.indexOf(\"mouseenter\") > -1) {\n return true;\n }\n }\n\n return showTriggersArray.indexOf(eventName) > -1;\n }\n\n isHideTrigger(eventName: DialogTriggerEvent) {\n const { hideTrigger, addKeyboardHideShowTriggersByDefault } = this.props;\n const hideTriggersArray = convertToArray(hideTrigger);\n\n if (addKeyboardHideShowTriggersByDefault) {\n if (eventName === \"blur\" && hideTriggersArray.indexOf(\"mouseleave\") > -1) {\n return true;\n }\n }\n\n return hideTriggersArray.indexOf(eventName) > -1;\n }\n\n onMouseEnter(e: React.MouseEvent) {\n this.handleEvent(\"mouseenter\", e.target, e);\n }\n\n onMouseLeave(e: React.MouseEvent) {\n this.handleEvent(\"mouseleave\", e.target, e);\n }\n\n onClick(e: React.MouseEvent) {\n if (e.button) return;\n this.handleEvent(\"click\", e.target, e);\n }\n\n onKeyDown(event: React.KeyboardEvent) {\n if (event.key === \"Enter\") {\n this.handleEvent(\"enter\", event.target, event);\n }\n\n if (event.key === \"Tab\") {\n this.handleEvent(\"tab\", event.target, event);\n }\n }\n\n onMouseDown(e: React.MouseEvent) {\n if (e.button) return;\n this.handleEvent(\"mousedown\", e.target, e);\n }\n\n onFocus(e: React.FocusEvent) {\n this.handleEvent(\"focus\", e.target, e);\n }\n\n onBlur(e: React.FocusEvent) {\n this.handleEvent(\"blur\", e.relatedTarget, e);\n }\n\n onEsc(e: React.KeyboardEvent) {\n this.handleEvent(\"esckey\", e.target, e);\n }\n\n onContextMenu(e: React.MouseEvent) {\n const isShown = this.isShown();\n if ((this.isShowTrigger(\"contextmenu\") && !isShown) || (this.isHideTrigger(\"contextmenu\") && isShown)) {\n e.preventDefault();\n }\n this.handleEvent(\"contextmenu\", e.target, e);\n }\n\n onClickOutside(event: React.MouseEvent) {\n const { onClickOutside } = this.props;\n this.handleEvent(\"clickoutside\", event.target, event);\n onClickOutside(event);\n }\n\n onDialogEnter(event: React.MouseEvent) {\n const { showOnDialogEnter } = this.props;\n if (showOnDialogEnter) this.showDialogIfNeeded(event, \"DialogEnter\");\n }\n\n onDialogLeave(event: React.MouseEvent) {\n const { showOnDialogEnter } = this.props;\n if (showOnDialogEnter) this.hideDialogIfNeeded(event, \"DialogLeave\");\n }\n\n onContentClick(e: React.MouseEvent) {\n const { onContentClick } = this.props;\n this.handleEvent(\"onContentClick\", e.target, e);\n onContentClick(e);\n }\n\n render() {\n const {\n wrapperClassName,\n content,\n startingEdge,\n children,\n preventAnimationOnMount,\n animationType,\n position,\n showDelay,\n moveBy,\n modifiers,\n tooltip,\n tooltipClassName,\n referenceWrapperClassName,\n zIndex,\n hideWhenReferenceHidden,\n disableContainerScroll,\n containerSelector,\n observeContentResize,\n id,\n \"data-testid\": dataTestId\n } = this.props;\n const { preventAnimation } = this.state;\n const overrideDataTestId = dataTestId || getTestId(ComponentDefaultTestId.DIALOG, id);\n\n const animationTypeCalculated = preventAnimationOnMount || preventAnimation ? undefined : animationType;\n const contentRendered = isFunction(content) ? content() : content;\n\n if (!contentRendered) {\n return children;\n }\n return (\n <Manager>\n <Reference>\n {({ ref }) => {\n return (\n <Refable\n className={cx(referenceWrapperClassName)}\n ref={ref}\n onBlur={chainOnPropsAndInstance(\"onBlur\", this, this.props)}\n onKeyDown={chainOnPropsAndInstance(\"onKeyDown\", this, this.props)}\n onClick={chainOnPropsAndInstance(\"onClick\", this, this.props)}\n onFocus={chainOnPropsAndInstance(\"onFocus\", this, this.props)}\n onMouseDown={chainOnPropsAndInstance(\"onMouseDown\", this, this.props)}\n onMouseEnter={chainOnPropsAndInstance(\"onMouseEnter\", this, this.props)}\n onMouseLeave={chainOnPropsAndInstance(\"onMouseLeave\", this, this.props)}\n onContextMenu={chainOnPropsAndInstance(\"onContextMenu\", this, this.props)}\n >\n {children}\n </Refable>\n );\n }}\n </Reference>\n {isClient() &&\n createPortal(\n <Popper\n placement={position as unknown as PopperJS.Placement}\n modifiers={[\n {\n name: \"offset\",\n options: {\n offset: [moveBy.secondary, moveBy.main]\n }\n },\n {\n name: \"zIndex\",\n enabled: true,\n phase: \"write\",\n fn({ state }) {\n if (zIndex) {\n state.styles.popper.zIndex = String(zIndex);\n }\n return state;\n }\n },\n {\n name: \"rotator\",\n enabled: true,\n phase: \"write\",\n fn({ state }) {\n if (!state.styles.arrow) {\n return state;\n }\n // const reg = new RegExp(\n // /translate\\(([0-9].*)px, ([0-9].*)px\\)/\n // );\n // const transform = state.styles.arrow.transform;\n // const res = reg.exec(transform);\n // state.styles.popper.transformOrigin = `${100 -\n // res[1]}% ${100 - res[2]}%`;\n state.styles.arrow.transform = `${state.styles.arrow.transform} rotate(45deg)`;\n return state;\n }\n },\n createObserveContentResizeModifier(observeContentResize),\n ...modifiers\n ]}\n >\n {({ placement, style, ref, arrowProps, isReferenceHidden }) => {\n if (!this.isShown() && placement) {\n return null;\n }\n\n if (hideWhenReferenceHidden && isReferenceHidden) {\n const event = new CustomEvent(\"onReferenceHidden\");\n this.hideDialog(event, \"onReferenceHidden\");\n }\n\n return (\n <DialogContent\n data-testid={overrideDataTestId}\n isReferenceHidden={hideWhenReferenceHidden && isReferenceHidden}\n onMouseEnter={this.onDialogEnter}\n onMouseLeave={this.onDialogLeave}\n onClickOutside={this.onClickOutside}\n onContextMenu={this.onContextMenu}\n onEsc={this.onEsc}\n animationType={animationTypeCalculated}\n position={placement}\n wrapperClassName={wrapperClassName}\n startingEdge={startingEdge}\n isOpen={this.isShown()}\n showDelay={showDelay}\n styleObject={style}\n ref={ref}\n onClick={this.onContentClick}\n hasTooltip={!!tooltip}\n containerSelector={containerSelector}\n disableContainerScroll={disableContainerScroll}\n >\n {contentRendered}\n {tooltip && (\n <div\n style={arrowProps.style}\n ref={arrowProps.ref}\n className={cx(styles.arrow, tooltipClassName)}\n data-placement={placement}\n />\n )}\n </DialogContent>\n );\n }}\n </Popper>,\n this.getContainer()\n )}\n </Manager>\n );\n }\n}\n\nfunction chainOnPropsAndInstance(name: string, instance: Dialog, props: DialogProps) {\n // @ts-ignore\n return chainFunctions([props[name], instance[name]], true);\n}\n\nDialog.contextType = LayerContext;\n"],"names":["Dialog","_PureComponent","props","_this","_classCallCheck","_callSuper","state","shouldUseDerivedStateFromProps","useDerivedStateFromProps","isOpen","shouldShowOnMount","onMouseEnter","bind","onMouseLeave","onMouseDown","onClick","onFocus","onBlur","isShown","onEsc","onClickOutside","onDialogEnter","onDialogLeave","getContainer","onContentClick","onKeyDown","closeDialogOnEscape","onContextMenu","hideTimeout","showTimeout","_inherits","PureComponent","_createClass","key","value","event","this","hideDialogIfNeeded","DialogTriggerEventEnum","ESCAPE_KEY","handleEvent","TAB_KEY","target","ENTER","_this$props","shouldCallbackOnMount","onDialogDidShow","isClient","document","addEventListener","removeEventListener","containerElement","querySelector","containerSelector","Element","layerRef","context","current","body","eventName","_this2","_this$props2","instantShowAndHide","getDynamicShowDelay","finalShowDelay","showDelay","preventAnimation","dynamicDelayObj","onShowDialog","setState","setTimeout","options","arguments","length","undefined","disable","clearTimeout","showDialog","_this3","_this$props3","hideDelay","onHideDialog","onDialogDidHide","hideDialog","_this$props4","showTriggerIgnoreClass","hideTriggerIgnoreClass","isShowTrigger","isInsideClass","isHideTrigger","showDialogIfNeeded","open","_this$props5","addKeyboardHideShowTriggersByDefault","showTriggersArray","convertToArray","showTrigger","indexOf","_this$props6","hideTriggersArray","hideTrigger","e","button","relatedTarget","preventDefault","showOnDialogEnter","_this4","_this$props7","wrapperClassName","content","startingEdge","children","preventAnimationOnMount","animationType","position","moveBy","modifiers","tooltip","tooltipClassName","referenceWrapperClassName","zIndex","hideWhenReferenceHidden","disableContainerScroll","observeContentResize","overrideDataTestId","getTestId","ComponentDefaultTestId","DIALOG","id","animationTypeCalculated","contentRendered","isFunction","React","Manager","createElement","Reference","_ref","ref","Refable","className","cx","chainOnPropsAndInstance","createPortal","Popper","placement","name","offset","secondary","main","enabled","phase","fn","_ref2","styles","popper","String","_ref3","arrow","transform","concat","createObserveContentResizeModifier","_toConsumableArray","_ref4","style","arrowProps","isReferenceHidden","CustomEvent","DialogContent","styleObject","hasTooltip","nextProps","instance","chainFunctions","hideShowTriggers","positions","DialogPositionEnum","animationTypes","AnimationTypeEnum","defaultProps","MOUSE_ENTER","MOUSE_LEAVE","EXPAND","NOOP","contextType","LayerContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { PureComponent, ReactElement } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Manager, Modifier, Popper, Reference } from \"react-popper\";\nimport { isFunction } from \"lodash-es\";\nimport { chainFunctions, convertToArray, NOOP } from \"../../utils/function-utils\";\nimport DialogContent from \"./DialogContent/DialogContent\";\nimport { isInsideClass } from \"../../utils/dom-utils\";\nimport { Refable } from \"../Refable/Refable\";\nimport {\n AnimationType as AnimationTypeEnum,\n HideShowEvent as DialogTriggerEventEnum,\n DialogPosition as DialogPositionEnum\n} from \"./DialogConstants\";\nimport { VibeComponentProps } from \"../../types\";\nimport * as PopperJS from \"@popperjs/core\";\nimport styles from \"./Dialog.module.scss\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport { DialogAnimationType, DialogPosition, DialogTriggerEvent } from \"./Dialog.types\";\nimport LayerContext from \"../LayerProvider/LayerContext\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport { createObserveContentResizeModifier } from \"./modifiers/observeContentResizeModifier\";\n\nexport interface DialogProps extends VibeComponentProps {\n /**\n * Class name applied to the reference wrapper element.\n */\n referenceWrapperClassName?: string;\n /**\n * The placement of the dialog relative to the reference element.\n */\n position?: DialogPosition;\n /**\n * Custom Popper.js modifiers.\n * https://popper.js.org/docs/v2/modifiers/\n */\n modifiers?: Modifier<any>[];\n /**\n * The starting edge of the dialog.\n */\n startingEdge?: string;\n /**\n * Offset values for positioning adjustments.\n * `main` - horizontal offset\n * `secondary` - vertical offset\n */\n moveBy?: { main?: number; secondary?: number };\n /**\n * Delay in milliseconds before showing the dialog.\n */\n showDelay?: number;\n /**\n * Delay in milliseconds before hiding the dialog.\n */\n hideDelay?: number;\n /**\n * Events that trigger showing the dialog.\n */\n showTrigger?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * Events that trigger hiding the dialog.\n */\n hideTrigger?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * If true, prevents closing the dialog when the mouse enters it.\n */\n showOnDialogEnter?: boolean;\n /**\n * If true, shows the dialog when the component mounts.\n */\n shouldShowOnMount?: boolean;\n /**\n * If true, disables opening the dialog.\n */\n disable?: boolean;\n /**\n * Controls the open state of the dialog.\n */\n open?: boolean;\n /**\n * Derived state control for managing dialog visibility.\n */\n isOpen?: boolean;\n /**\n * Classes that prevent showing the dialog when present.\n */\n showTriggerIgnoreClass?: string | Array<string>;\n /**\n * Classes that prevent hiding the dialog when present.\n */\n hideTriggerIgnoreClass?: string | Array<string>;\n /**\n * The animation type used for the dialog.\n */\n animationType?: DialogAnimationType;\n /**\n * Class name applied to the dialog content container.\n */\n wrapperClassName?: string;\n /**\n * If true, prevents animation when mounting.\n */\n preventAnimationOnMount?: boolean;\n /**\n * The CSS selector of the container where the dialog is rendered.\n */\n containerSelector?: string;\n /**\n * If true, positions the tooltip element.\n */\n tooltip?: boolean;\n /**\n * Class name applied to the tooltip element.\n */\n tooltipClassName?: string;\n /**\n * Callback fired when the dialog is shown.\n */\n onDialogDidShow?: (event?: DialogEvent, eventName?: DialogTriggerEvent | string) => void;\n /**\n * Callback fired when the dialog is hidden.\n */\n onDialogDidHide?: (event: DialogEvent, eventName: DialogTriggerEvent | string) => void;\n /**\n * Callback fired when clicking outside the dialog.\n */\n onClickOutside?: (event: React.MouseEvent) => void;\n /**\n * Callback fired when clicking inside the dialog content.\n */\n onContentClick?: (event: React.MouseEvent) => void;\n /**\n * The z-index applied to the dialog.\n */\n zIndex?: number;\n /**\n * If true, uses derived state from props.\n */\n useDerivedStateFromProps?: boolean;\n /**\n * If true, makes the dialog disappear when the reference element is hidden.\n */\n hideWhenReferenceHidden?: boolean;\n /**\n * If true, triggers the callback when the dialog mounts.\n */\n shouldCallbackOnMount?: boolean;\n /**\n * If true, instantly shows and hides the dialog without delay.\n */\n instantShowAndHide?: boolean;\n /**\n * Callback to dynamically adjust show delay and animation behavior.\n */\n getDynamicShowDelay?: () => { showDelay: number; preventAnimation: boolean };\n /**\n * The content displayed inside the dialog.\n */\n content?: (() => JSX.Element) | JSX.Element;\n /**\n * The element to position the dialog beside.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * If true, keyboard focus/blur events behave like mouse enter/leave.\n */\n addKeyboardHideShowTriggersByDefault?: boolean;\n /**\n * If true, disables scrolling for the container element.\n */\n disableContainerScroll?: boolean | string;\n /**\n * Enables the observation of content resize for the popper element.\n * When set to `true`, a ResizeObserver is attached to the popper content,\n * automatically triggering repositioning when the size of the content changes.\n *\n * This is useful for dialogs, tooltips, or popovers with dynamic content\n * that may grow or shrink without a re-render being triggered.\n */\n observeContentResize?: boolean;\n}\n\nexport interface DialogState {\n /**\n * If true, the dialog is open.\n */\n isOpen?: boolean;\n /**\n * If true, the dialog state is derived from props.\n */\n shouldUseDerivedStateFromProps?: boolean;\n /**\n * If true, prevents animation when opening or closing the dialog.\n */\n preventAnimation?: boolean;\n}\n\nexport type DialogEvent = React.MouseEvent | React.KeyboardEvent | KeyboardEvent | React.FocusEvent | CustomEvent;\n\nexport default class Dialog extends PureComponent<DialogProps, DialogState> {\n static hideShowTriggers = DialogTriggerEventEnum;\n static positions = DialogPositionEnum;\n static animationTypes = AnimationTypeEnum;\n static defaultProps = {\n position: \"top\",\n modifiers: [] as Modifier<any>[],\n moveBy: { main: 0, secondary: 0 },\n showDelay: 100,\n hideDelay: 100,\n showTrigger: Dialog.hideShowTriggers.MOUSE_ENTER,\n hideTrigger: Dialog.hideShowTriggers.MOUSE_LEAVE,\n showOnDialogEnter: false,\n shouldShowOnMount: false,\n disable: false,\n open: false,\n animationType: Dialog.animationTypes.EXPAND,\n preventAnimationOnMount: false,\n tooltip: false,\n onDialogDidShow: NOOP,\n onDialogDidHide: NOOP,\n onClickOutside: NOOP,\n onContentClick: NOOP,\n useDerivedStateFromProps: false,\n hideWhenReferenceHidden: false,\n shouldCallbackOnMount: false,\n instantShowAndHide: false,\n addKeyboardHideShowTriggersByDefault: false,\n observeContentResize: false\n };\n private showTimeout: NodeJS.Timeout;\n private hideTimeout: NodeJS.Timeout;\n context!: React.ContextType<typeof LayerContext>;\n\n constructor(props: DialogProps) {\n super(props);\n this.state = {\n shouldUseDerivedStateFromProps: props.useDerivedStateFromProps,\n isOpen: props.shouldShowOnMount\n };\n\n // Binding section.\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n this.onMouseDown = this.onMouseDown.bind(this);\n this.onClick = this.onClick.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n this.isShown = this.isShown.bind(this);\n this.onEsc = this.onEsc.bind(this);\n this.onClickOutside = this.onClickOutside.bind(this);\n this.onDialogEnter = this.onDialogEnter.bind(this);\n this.onDialogLeave = this.onDialogLeave.bind(this);\n this.getContainer = this.getContainer.bind(this);\n this.onContentClick = this.onContentClick.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.closeDialogOnEscape = this.closeDialogOnEscape.bind(this);\n this.onContextMenu = this.onContextMenu.bind(this);\n\n // Timeouts\n this.hideTimeout = null;\n this.showTimeout = null;\n }\n\n closeDialogOnEscape(event: KeyboardEvent) {\n const { isOpen } = this.state;\n if (!isOpen) {\n return;\n }\n switch (event.key) {\n case \"Escape\":\n this.hideDialogIfNeeded(event, DialogTriggerEventEnum.ESCAPE_KEY);\n break;\n case \"Tab\":\n this.handleEvent(DialogTriggerEventEnum.TAB_KEY, event.target, event);\n break;\n case \"Enter\":\n this.handleEvent(DialogTriggerEventEnum.ENTER, event.target, event);\n break;\n default:\n break;\n }\n }\n\n componentDidMount() {\n const { shouldCallbackOnMount, onDialogDidShow } = this.props;\n const { isOpen } = this.state;\n if (isClient()) {\n document.addEventListener(\"keyup\", this.closeDialogOnEscape);\n }\n if (shouldCallbackOnMount && isOpen) {\n onDialogDidShow && onDialogDidShow();\n }\n }\n\n componentWillUnmount() {\n if (isClient()) {\n document.removeEventListener(\"keyup\", this.closeDialogOnEscape);\n }\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n static getDerivedStateFromProps(nextProps: DialogProps, state: DialogState): DialogState {\n if (state.shouldUseDerivedStateFromProps) {\n return { isOpen: nextProps.isOpen };\n }\n return null;\n }\n\n getContainer() {\n const { containerSelector } = this.props;\n const containerElement = document.querySelector(containerSelector);\n if (!containerElement || !(containerElement instanceof Element)) {\n const { layerRef } = this.context;\n if (layerRef?.current) {\n return layerRef.current;\n }\n return document.body;\n }\n return containerElement;\n }\n\n showDialog(event: DialogEvent, eventName: DialogTriggerEvent | string, options: { preventAnimation?: boolean } = {}) {\n const { showDelay, instantShowAndHide, getDynamicShowDelay } = this.props;\n let finalShowDelay = showDelay;\n let preventAnimation = options.preventAnimation;\n if (getDynamicShowDelay) {\n const dynamicDelayObj = getDynamicShowDelay();\n finalShowDelay = dynamicDelayObj.showDelay || 0;\n preventAnimation = preventAnimation || dynamicDelayObj.preventAnimation;\n }\n\n if (instantShowAndHide) {\n this.onShowDialog(event, eventName);\n this.setState({ isOpen: true, preventAnimation });\n this.showTimeout = null;\n } else {\n this.showTimeout = setTimeout(() => {\n this.onShowDialog(event, eventName);\n this.showTimeout = null;\n this.setState({ isOpen: true, preventAnimation });\n }, finalShowDelay);\n }\n }\n\n onShowDialog(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n if (this.isShown()) return;\n const { onDialogDidShow } = this.props;\n onDialogDidShow(event, eventName);\n }\n\n showDialogIfNeeded(event: DialogEvent, eventName: DialogTriggerEvent | string, options = {}) {\n const { disable } = this.props;\n if (disable) {\n return;\n }\n\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n\n if (!this.showTimeout) {\n this.showDialog(event, eventName, options);\n }\n }\n\n hideDialog(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n const { hideDelay, instantShowAndHide } = this.props;\n if (instantShowAndHide) {\n this.onHideDialog(event, eventName);\n this.setState({ isOpen: false });\n this.hideTimeout = null;\n } else {\n this.hideTimeout = setTimeout(() => {\n this.onHideDialog(event, eventName);\n this.setState({ isOpen: false });\n this.hideTimeout = null;\n }, hideDelay);\n }\n }\n\n onHideDialog(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n const { onDialogDidHide } = this.props;\n if (onDialogDidHide) onDialogDidHide(event, eventName);\n }\n\n hideDialogIfNeeded(event: DialogEvent, eventName: DialogTriggerEvent | string) {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n\n if (this.hideTimeout) {\n return;\n }\n this.hideDialog(event, eventName);\n }\n\n handleEvent(eventName: DialogTriggerEvent, target: EventTarget, event: DialogEvent) {\n const { showTriggerIgnoreClass, hideTriggerIgnoreClass } = this.props;\n if (\n this.isShowTrigger(eventName) &&\n !this.isShown() &&\n !isInsideClass(target as HTMLElement, showTriggerIgnoreClass)\n ) {\n return this.showDialogIfNeeded(event, eventName);\n }\n\n if (this.isHideTrigger(eventName) && !isInsideClass(target as HTMLElement, hideTriggerIgnoreClass)) {\n return this.hideDialogIfNeeded(event, eventName);\n }\n }\n\n isShown() {\n const { isOpen } = this.state;\n const { open } = this.props;\n\n return isOpen || open;\n }\n\n isShowTrigger(eventName: DialogTriggerEvent) {\n const { showTrigger, addKeyboardHideShowTriggersByDefault } = this.props;\n const showTriggersArray = convertToArray(showTrigger);\n\n if (addKeyboardHideShowTriggersByDefault) {\n if (eventName === \"focus\" && showTriggersArray.indexOf(\"mouseenter\") > -1) {\n return true;\n }\n }\n\n return showTriggersArray.indexOf(eventName) > -1;\n }\n\n isHideTrigger(eventName: DialogTriggerEvent) {\n const { hideTrigger, addKeyboardHideShowTriggersByDefault } = this.props;\n const hideTriggersArray = convertToArray(hideTrigger);\n\n if (addKeyboardHideShowTriggersByDefault) {\n if (eventName === \"blur\" && hideTriggersArray.indexOf(\"mouseleave\") > -1) {\n return true;\n }\n }\n\n return hideTriggersArray.indexOf(eventName) > -1;\n }\n\n onMouseEnter(e: React.MouseEvent) {\n this.handleEvent(\"mouseenter\", e.target, e);\n }\n\n onMouseLeave(e: React.MouseEvent) {\n this.handleEvent(\"mouseleave\", e.target, e);\n }\n\n onClick(e: React.MouseEvent) {\n if (e.button) return;\n this.handleEvent(\"click\", e.target, e);\n }\n\n onKeyDown(event: React.KeyboardEvent) {\n if (event.key === \"Enter\") {\n this.handleEvent(\"enter\", event.target, event);\n }\n\n if (event.key === \"Tab\") {\n this.handleEvent(\"tab\", event.target, event);\n }\n }\n\n onMouseDown(e: React.MouseEvent) {\n if (e.button) return;\n this.handleEvent(\"mousedown\", e.target, e);\n }\n\n onFocus(e: React.FocusEvent) {\n this.handleEvent(\"focus\", e.target, e);\n }\n\n onBlur(e: React.FocusEvent) {\n this.handleEvent(\"blur\", e.relatedTarget, e);\n }\n\n onEsc(e: React.KeyboardEvent) {\n this.handleEvent(\"esckey\", e.target, e);\n }\n\n onContextMenu(e: React.MouseEvent) {\n const isShown = this.isShown();\n if ((this.isShowTrigger(\"contextmenu\") && !isShown) || (this.isHideTrigger(\"contextmenu\") && isShown)) {\n e.preventDefault();\n }\n this.handleEvent(\"contextmenu\", e.target, e);\n }\n\n onClickOutside(event: React.MouseEvent) {\n const { onClickOutside } = this.props;\n this.handleEvent(\"clickoutside\", event.target, event);\n onClickOutside(event);\n }\n\n onDialogEnter(event: React.MouseEvent) {\n const { showOnDialogEnter } = this.props;\n if (showOnDialogEnter) this.showDialogIfNeeded(event, \"DialogEnter\");\n }\n\n onDialogLeave(event: React.MouseEvent) {\n const { showOnDialogEnter } = this.props;\n if (showOnDialogEnter) this.hideDialogIfNeeded(event, \"DialogLeave\");\n }\n\n onContentClick(e: React.MouseEvent) {\n const { onContentClick } = this.props;\n this.handleEvent(\"onContentClick\", e.target, e);\n onContentClick(e);\n }\n\n render() {\n const {\n wrapperClassName,\n content,\n startingEdge,\n children,\n preventAnimationOnMount,\n animationType,\n position,\n showDelay,\n moveBy,\n modifiers,\n tooltip,\n tooltipClassName,\n referenceWrapperClassName,\n zIndex,\n hideWhenReferenceHidden,\n disableContainerScroll,\n containerSelector,\n observeContentResize,\n id,\n \"data-testid\": dataTestId\n } = this.props;\n const { preventAnimation } = this.state;\n const overrideDataTestId = dataTestId || getTestId(ComponentDefaultTestId.DIALOG, id);\n\n const animationTypeCalculated = preventAnimationOnMount || preventAnimation ? undefined : animationType;\n const contentRendered = isFunction(content) ? content() : content;\n\n if (!contentRendered) {\n return children;\n }\n return (\n <Manager>\n <Reference>\n {({ ref }) => {\n return (\n <Refable\n className={cx(referenceWrapperClassName)}\n ref={ref}\n onBlur={chainOnPropsAndInstance(\"onBlur\", this, this.props)}\n onKeyDown={chainOnPropsAndInstance(\"onKeyDown\", this, this.props)}\n onClick={chainOnPropsAndInstance(\"onClick\", this, this.props)}\n onFocus={chainOnPropsAndInstance(\"onFocus\", this, this.props)}\n onMouseDown={chainOnPropsAndInstance(\"onMouseDown\", this, this.props)}\n onMouseEnter={chainOnPropsAndInstance(\"onMouseEnter\", this, this.props)}\n onMouseLeave={chainOnPropsAndInstance(\"onMouseLeave\", this, this.props)}\n onContextMenu={chainOnPropsAndInstance(\"onContextMenu\", this, this.props)}\n >\n {children}\n </Refable>\n );\n }}\n </Reference>\n {isClient() &&\n createPortal(\n <Popper\n placement={position as unknown as PopperJS.Placement}\n modifiers={[\n {\n name: \"offset\",\n options: {\n offset: [moveBy.secondary, moveBy.main]\n }\n },\n {\n name: \"zIndex\",\n enabled: true,\n phase: \"write\",\n fn({ state }) {\n if (zIndex) {\n state.styles.popper.zIndex = String(zIndex);\n }\n return state;\n }\n },\n {\n name: \"rotator\",\n enabled: true,\n phase: \"write\",\n fn({ state }) {\n if (!state.styles.arrow) {\n return state;\n }\n // const reg = new RegExp(\n // /translate\\(([0-9].*)px, ([0-9].*)px\\)/\n // );\n // const transform = state.styles.arrow.transform;\n // const res = reg.exec(transform);\n // state.styles.popper.transformOrigin = `${100 -\n // res[1]}% ${100 - res[2]}%`;\n state.styles.arrow.transform = `${state.styles.arrow.transform} rotate(45deg)`;\n return state;\n }\n },\n createObserveContentResizeModifier(observeContentResize),\n ...modifiers\n ]}\n >\n {({ placement, style, ref, arrowProps, isReferenceHidden }) => {\n if (!this.isShown() && placement) {\n return null;\n }\n\n if (hideWhenReferenceHidden && isReferenceHidden) {\n const event = new CustomEvent(\"onReferenceHidden\");\n this.hideDialog(event, \"onReferenceHidden\");\n }\n\n return (\n <DialogContent\n data-testid={overrideDataTestId}\n isReferenceHidden={hideWhenReferenceHidden && isReferenceHidden}\n onMouseEnter={this.onDialogEnter}\n onMouseLeave={this.onDialogLeave}\n onClickOutside={this.onClickOutside}\n onContextMenu={this.onContextMenu}\n onEsc={this.onEsc}\n animationType={animationTypeCalculated}\n position={placement}\n wrapperClassName={wrapperClassName}\n startingEdge={startingEdge}\n isOpen={this.isShown()}\n showDelay={showDelay}\n styleObject={style}\n ref={ref}\n onClick={this.onContentClick}\n hasTooltip={!!tooltip}\n containerSelector={containerSelector}\n disableContainerScroll={disableContainerScroll}\n >\n {contentRendered}\n {tooltip && (\n <div\n style={arrowProps.style}\n ref={arrowProps.ref}\n className={cx(styles.arrow, tooltipClassName)}\n data-placement={placement}\n />\n )}\n </DialogContent>\n );\n }}\n </Popper>,\n this.getContainer()\n )}\n </Manager>\n );\n }\n}\n\nfunction chainOnPropsAndInstance(name: string, instance: Dialog, props: DialogProps) {\n // @ts-ignore\n return chainFunctions([props[name], instance[name]], true);\n}\n\nDialog.contextType = LayerContext;\n"],"names":["Dialog","_PureComponent","props","_this","_classCallCheck","_callSuper","state","shouldUseDerivedStateFromProps","useDerivedStateFromProps","isOpen","shouldShowOnMount","onMouseEnter","bind","onMouseLeave","onMouseDown","onClick","onFocus","onBlur","isShown","onEsc","onClickOutside","onDialogEnter","onDialogLeave","getContainer","onContentClick","onKeyDown","closeDialogOnEscape","onContextMenu","hideTimeout","showTimeout","_inherits","PureComponent","_createClass","key","value","event","this","hideDialogIfNeeded","DialogTriggerEventEnum","ESCAPE_KEY","handleEvent","TAB_KEY","target","ENTER","_this$props","shouldCallbackOnMount","onDialogDidShow","isClient","document","addEventListener","removeEventListener","clearTimeout","containerElement","querySelector","containerSelector","Element","layerRef","context","current","body","eventName","_this2","_this$props2","instantShowAndHide","getDynamicShowDelay","finalShowDelay","showDelay","preventAnimation","dynamicDelayObj","onShowDialog","setState","setTimeout","options","arguments","length","undefined","disable","showDialog","_this3","_this$props3","hideDelay","onHideDialog","onDialogDidHide","hideDialog","_this$props4","showTriggerIgnoreClass","hideTriggerIgnoreClass","isShowTrigger","isInsideClass","isHideTrigger","showDialogIfNeeded","open","_this$props5","addKeyboardHideShowTriggersByDefault","showTriggersArray","convertToArray","showTrigger","indexOf","_this$props6","hideTriggersArray","hideTrigger","e","button","relatedTarget","preventDefault","showOnDialogEnter","_this4","_this$props7","wrapperClassName","content","startingEdge","children","preventAnimationOnMount","animationType","position","moveBy","modifiers","tooltip","tooltipClassName","referenceWrapperClassName","zIndex","hideWhenReferenceHidden","disableContainerScroll","observeContentResize","overrideDataTestId","getTestId","ComponentDefaultTestId","DIALOG","id","animationTypeCalculated","contentRendered","isFunction","React","Manager","createElement","Reference","_ref","ref","Refable","className","cx","chainOnPropsAndInstance","createPortal","Popper","placement","name","offset","secondary","main","enabled","phase","fn","_ref2","styles","popper","String","_ref3","arrow","transform","concat","createObserveContentResizeModifier","_toConsumableArray","_ref4","style","arrowProps","isReferenceHidden","CustomEvent","DialogContent","styleObject","hasTooltip","nextProps","instance","chainFunctions","hideShowTriggers","positions","DialogPositionEnum","animationTypes","AnimationTypeEnum","defaultProps","MOUSE_ENTER","MOUSE_LEAVE","EXPAND","NOOP","contextType","LayerContext"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as r,ComponentDefaultTestId as i}from"../../tests/testIds.js";import s from"classnames";import o from"react";import{DirectionType as e}from"./DividerConstants.js";import{getStyle as a}from"../../helpers/typesciptCssModulesHelper.js";import{
|
|
1
|
+
import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as r,ComponentDefaultTestId as i}from"../../tests/testIds.js";import s from"classnames";import o from"react";import{DirectionType as e}from"./DividerConstants.js";import{getStyle as a}from"../../helpers/typesciptCssModulesHelper.js";import{withStaticPropsWithoutForwardRef as m}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import d from"./Divider.module.scss.js";var p=m((function(e){var m=e.className,p=void 0===m?void 0:m,l=e.withoutMargin,n=void 0!==l&&l,c=e.direction,v=void 0===c?"horizontal":c,f=e.id;return o.createElement("div",{id:f,"data-testid":e["data-testid"]||r(i.DIVIDER,f),className:s(d.divider,p,a(d,v),t({},d.withoutMargin,n))})}),{directions:e});export{p as default};
|
|
2
2
|
//# sourceMappingURL=Divider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divider.js","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React from \"react\";\nimport { DirectionType as DirectionTypeEnum } from \"./DividerConstants\";\nimport { DividerDirection } from \"./Divider.types\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport {
|
|
1
|
+
{"version":3,"file":"Divider.js","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport React from \"react\";\nimport { DirectionType as DirectionTypeEnum } from \"./DividerConstants\";\nimport { DividerDirection } from \"./Divider.types\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { VibeComponentProps, withStaticPropsWithoutForwardRef } from \"../../types\";\nimport styles from \"./Divider.module.scss\";\n\nexport interface DividerProps extends VibeComponentProps {\n /**\n * The direction of the divider.\n */\n direction?: DividerDirection;\n /**\n * If true, removes margin from the divider.\n */\n withoutMargin?: boolean;\n}\n\nconst Divider = ({\n className = undefined,\n withoutMargin = false,\n direction = \"horizontal\",\n id,\n \"data-testid\": dataTestId\n}: DividerProps) => {\n return (\n <div\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DIVIDER, id)}\n className={cx(styles.divider, className, getStyle(styles, direction), {\n [styles.withoutMargin]: withoutMargin\n })}\n />\n );\n};\n\ninterface DividerStaticProps {\n directions: typeof DirectionTypeEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<DividerProps, DividerStaticProps>(Divider, {\n directions: DirectionTypeEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","_ref$className","className","undefined","_ref$withoutMargin","withoutMargin","_ref$direction","direction","id","React","createElement","getTestId","ComponentDefaultTestId","DIVIDER","cx","styles","divider","getStyle","_defineProperty","directions","DirectionTypeEnum"],"mappings":"2eAoBA,IAsBeA,EAAAA,GAtBC,SAAHC,GAMM,IAAAC,EAAAD,EALjBE,UAAAA,OAAYC,IAAHF,OAAGE,EAASF,EAAAG,EAAAJ,EACrBK,cAAAA,OAAgB,IAAHD,GAAQA,EAAAE,EAAAN,EACrBO,UAAAA,OAAY,IAAHD,EAAG,aAAYA,EACxBE,EAAER,EAAFQ,GAGA,OACEC,EAAAC,cAAA,MAAA,CACEF,GAAIA,EACS,cALQR,EAAzB,gBAK+BW,EAAUC,EAAuBC,QAASL,GACrEN,UAAWY,EAAGC,EAAOC,QAASd,EAAWe,EAASF,EAAQR,GAAUW,EAAA,CAAA,EACjEH,EAAOV,cAAgBA,KAIhC,GAM2F,CACzFc,WAAYC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e,defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useMemo as r,useCallback as i,cloneElement as l}from"react";import a from"react-dom";import n from"classnames";import{useA11yDialog as s}from"./a11yDialog.js";import d from"./LegacyModalContent/LegacyModalContent.js";import m from"./LegacyModalHeader/LegacyModalHeader.js";import c from"./useBodyScrollLock.js";import u from"./useShowHideModal.js";import{ModalWidth as f,validateTitleProp as p,isModalHeader as v,isModalContent as y,isModalFooter as g}from"./ModalHelper.js";import{NOOP as j}from"../../utils/function-utils.js";import{
|
|
1
|
+
import{slicedToArray as e,defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useMemo as r,useCallback as i,cloneElement as l}from"react";import a from"react-dom";import n from"classnames";import{useA11yDialog as s}from"./a11yDialog.js";import d from"./LegacyModalContent/LegacyModalContent.js";import m from"./LegacyModalHeader/LegacyModalHeader.js";import c from"./useBodyScrollLock.js";import u from"./useShowHideModal.js";import{ModalWidth as f,validateTitleProp as p,isModalHeader as v,isModalContent as y,isModalFooter as g}from"./ModalHelper.js";import{NOOP as j}from"../../utils/function-utils.js";import{withStaticPropsWithoutForwardRef as h}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import{getTestId as L}from"../../tests/testIds.js";import{ComponentDefaultTestId as M}from"../../tests/constants.js";import w from"./LegacyModal.module.scss.js";import E from"../LayerProvider/LayerProvider.js";import{isClient as C}from"../../utils/ssr-utils.js";var A=h((function(f){var h=f.classNames,A=void 0===h?{container:"",overlay:"",modal:""}:h,b=f.id,D=f.show,O=f.title,P=void 0===O?"":O,H=f.description,S=void 0===H?"":H,B=f.onClose,N=void 0===B?j:B,x=f.alertDialog,_=void 0!==x&&x,k=f.children,z=f.triggerElement,I=f.width,R=void 0===I?"default":I,T=f.closeButtonAriaLabel,V=void 0===T?"Close":T,Y=f.contentSpacing,$=void 0!==Y&&Y,q=f.zIndex,F=void 0===q?1e4:q,G=f.unmountOnClose,J=void 0===G||G,K=f["data-testid"],Q=r((function(){return k?o.Children.toArray(k):[]}),[k]);p(P,Q);var U=s({id:b,alertDialog:_}),W=e(U,2),X=W[0],Z=W[1],ee=i((function(){_||null==N||N()}),[_,N]);c({instance:X});var te=u({instance:X,show:D,triggerElement:z,onClose:N,alertDialog:_}).shouldShow,oe=r((function(){var e=Z.title.id,t=Q.find(v);return t?l(t,{id:e,closeModal:N}):o.createElement(m,{title:P,description:S,closeModal:N,id:e,closeButtonAriaLabel:V})}),[Z.title,Q,P,S,N,V]),re=r((function(){return Q.find(y)||o.createElement(d,null,Q.filter((function(e){return!v(e)&&!g(e)})))}),[Q]),ie=r((function(){return Q.find(g)||null}),[Q]),le="default"!==R&&"full-width"!==R,ae=o.createElement(E,{layerRef:{current:null==X?void 0:X.$el}},o.createElement("div",Object.assign({},Z.container,{className:n(w.container,A.container),"data-testid":K||L(M.MODAL,b),style:{"--monday-modal-z-index":F}}),o.createElement("div",{onClick:ee,className:n(w.overlay,A.overlay),"data-testid":M.MODAL_OVERLAY}),o.createElement("div",Object.assign({},Z.dialog,{className:n(w.dialog,A.modal,t(t(t({},w.default,"default"===R),w.full,"full-width"===R),w.spacing,$)),style:{width:le?R:null}}),oe,re,ie)));return J&&!te?null:C()?a.createPortal(ae,document.body):null}),{width:f});export{A as default};
|
|
2
2
|
//# sourceMappingURL=LegacyModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegacyModal.js","sources":["../../../../src/components/LegacyModal/LegacyModal.tsx"],"sourcesContent":["import React, { cloneElement, ReactElement, useCallback, useMemo } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport cx from \"classnames\";\nimport { useA11yDialog } from \"./a11yDialog\";\nimport ModalContent from \"./LegacyModalContent/LegacyModalContent\";\nimport ModalHeader from \"./LegacyModalHeader/LegacyModalHeader\";\nimport useBodyScrollLock from \"./useBodyScrollLock\";\nimport useShowHideModal from \"./useShowHideModal\";\nimport {\n isModalContent,\n isModalFooter,\n isModalHeader,\n ModalWidth as ModalWidthEnum,\n validateTitleProp\n} from \"./ModalHelper\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport {
|
|
1
|
+
{"version":3,"file":"LegacyModal.js","sources":["../../../../src/components/LegacyModal/LegacyModal.tsx"],"sourcesContent":["import React, { cloneElement, ReactElement, useCallback, useMemo } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport cx from \"classnames\";\nimport { useA11yDialog } from \"./a11yDialog\";\nimport ModalContent from \"./LegacyModalContent/LegacyModalContent\";\nimport ModalHeader from \"./LegacyModalHeader/LegacyModalHeader\";\nimport useBodyScrollLock from \"./useBodyScrollLock\";\nimport useShowHideModal from \"./useShowHideModal\";\nimport {\n isModalContent,\n isModalFooter,\n isModalHeader,\n ModalWidth as ModalWidthEnum,\n validateTitleProp\n} from \"./ModalHelper\";\nimport { NOOP } from \"../../utils/function-utils\";\nimport { withStaticPropsWithoutForwardRef } from \"../../types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId } from \"../../tests/constants\";\nimport styles from \"./LegacyModal.module.scss\";\nimport { ModalWidth } from \"./LegacyModal.types\";\nimport LayerProvider from \"../LayerProvider/LayerProvider\";\nimport { isClient } from \"../../utils/ssr-utils\";\n\nexport interface LegacyModalProps {\n /**\n * Id of the modal, used internally and for accessibility\n */\n id?: string;\n \"data-testid\"?: string;\n /**\n * Show/hide the Dialog\n */\n show: boolean;\n /**\n * Heading for the modal, mandatory when ModalHeader isn't provided in children\n */\n title?: string;\n /**\n * Description for the modal title\n */\n description?: string;\n /**\n * Called when the modal is closed (by close button/click outside/esc key)\n */\n onClose: () => void;\n /**\n * Makes the dialog behave like a modal (preventing closing on click outside of\n * ESC key)..\n */\n alertDialog?: boolean;\n /**\n * Used for the fromOrigin animation\n */\n triggerElement?: Element;\n /**\n * Set the modal's width. Can be one of the presets or any custom size\n */\n width?: ModalWidth | string;\n /**\n * Aria label for the close button\n */\n closeButtonAriaLabel?: string;\n /**\n * Add gaps between parts of the modal\n */\n contentSpacing?: boolean;\n /**\n * classNames for specific parts of the dialog\n */\n classNames?: {\n container?: string;\n overlay?: string;\n modal?: string;\n };\n /**\n * Dialog content\n */\n children?: ReactElement | ReactElement[];\n /**\n * z-index attribute of the container\n */\n zIndex?: number;\n /**\n * When `false`, the modal will remain in the DOM when closed\n */\n unmountOnClose?: boolean;\n}\n\nconst Modal = ({\n classNames = { container: \"\", overlay: \"\", modal: \"\" },\n id,\n show,\n title = \"\",\n description = \"\",\n onClose = NOOP,\n alertDialog = false,\n children,\n triggerElement,\n width = \"default\",\n closeButtonAriaLabel = \"Close\",\n contentSpacing = false,\n zIndex = 10000,\n unmountOnClose = true,\n \"data-testid\": dataTestId\n}: LegacyModalProps) => {\n const childrenArray: ReactElement[] = useMemo(\n () => (children ? (React.Children.toArray(children) as ReactElement[]) : []),\n [children]\n );\n validateTitleProp(title, childrenArray);\n\n const [instance, attr] = useA11yDialog({\n id,\n alertDialog\n });\n\n const closeIfNotAlertType = useCallback(() => {\n if (!alertDialog) {\n onClose?.();\n }\n }, [alertDialog, onClose]);\n\n // lock body scroll when modal is open\n useBodyScrollLock({ instance });\n\n // show/hide and animate the modal\n const { shouldShow } = useShowHideModal({\n instance,\n show,\n triggerElement,\n onClose,\n alertDialog\n });\n\n const header = useMemo(() => {\n const { id } = attr.title;\n const header = childrenArray.find(isModalHeader);\n if (header) {\n return cloneElement(header, { id, closeModal: onClose });\n }\n return (\n <ModalHeader\n title={title}\n description={description}\n closeModal={onClose}\n id={id}\n closeButtonAriaLabel={closeButtonAriaLabel}\n />\n );\n }, [attr.title, childrenArray, title, description, onClose, closeButtonAriaLabel]);\n\n const content = useMemo(() => {\n return (\n childrenArray.find(isModalContent) || (\n <ModalContent>{childrenArray.filter(child => !isModalHeader(child) && !isModalFooter(child))}</ModalContent>\n )\n );\n }, [childrenArray]);\n\n const footer = useMemo(() => {\n return childrenArray.find(isModalFooter) || null;\n }, [childrenArray]);\n\n const customWidth = width !== \"default\" && width !== \"full-width\";\n\n const dialog = (\n <LayerProvider layerRef={{ current: instance?.$el }}>\n <div\n {...attr.container}\n className={cx(styles.container, classNames.container)}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MODAL, id)}\n style={{ \"--monday-modal-z-index\": zIndex }}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n onClick={closeIfNotAlertType}\n className={cx(styles.overlay, classNames.overlay)}\n data-testid={ComponentDefaultTestId.MODAL_OVERLAY}\n />\n <div\n {...attr.dialog}\n className={cx(styles.dialog, classNames.modal, {\n [styles.default]: width === \"default\",\n [styles.full]: width === \"full-width\",\n [styles.spacing]: contentSpacing\n })}\n style={{ width: customWidth ? width : null }}\n >\n {header}\n {content}\n {footer}\n </div>\n </div>\n </LayerProvider>\n );\n\n if (unmountOnClose && !shouldShow) {\n return null;\n }\n return isClient() ? ReactDOM.createPortal(dialog, document.body) : null;\n};\n\ninterface LegacyModalStaticProps {\n width: typeof ModalWidthEnum;\n}\n\nexport default withStaticPropsWithoutForwardRef<LegacyModalProps, LegacyModalStaticProps>(Modal, {\n width: ModalWidthEnum\n});\n"],"names":["withStaticPropsWithoutForwardRef","_ref","_ref$classNames","classNames","container","overlay","modal","id","show","_ref$title","title","_ref$description","description","_ref$onClose","onClose","NOOP","_ref$alertDialog","alertDialog","children","triggerElement","_ref$width","width","_ref$closeButtonAriaL","closeButtonAriaLabel","_ref$contentSpacing","contentSpacing","_ref$zIndex","zIndex","_ref$unmountOnClose","unmountOnClose","dataTestId","childrenArray","useMemo","React","Children","toArray","validateTitleProp","_useA11yDialog","useA11yDialog","_useA11yDialog2","_slicedToArray","instance","attr","closeIfNotAlertType","useCallback","useBodyScrollLock","shouldShow","useShowHideModal","header","find","isModalHeader","cloneElement","closeModal","createElement","ModalHeader","content","isModalContent","ModalContent","filter","child","isModalFooter","footer","customWidth","dialog","LayerProvider","layerRef","current","$el","Object","assign","className","cx","styles","getTestId","ComponentDefaultTestId","MODAL","style","onClick","MODAL_OVERLAY","_defineProperty","default","full","spacing","isClient","ReactDOM","createPortal","document","body","ModalWidthEnum"],"mappings":"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"}
|