@vibe/core 3.36.0-alpha-94da6.0 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion/Accordion.d.ts +3 -15
- package/dist/components/Accordion/AccordionItem/AccordionItem.d.ts +9 -17
- package/dist/components/AlertBanner/AlertBanner.d.ts +16 -3
- package/dist/components/AlertBanner/AlertBannerButton/AlertBannerButton.d.ts +3 -0
- package/dist/components/AlertBanner/AlertBannerLink/AlertBannerLink.d.ts +3 -0
- package/dist/components/AlertBanner/AlertBannerText/AlertBannerText.d.ts +6 -0
- package/dist/components/AttentionBox/AttentionBox.d.ts +36 -4
- package/dist/components/Avatar/Avatar.d.ts +70 -3
- package/dist/components/Avatar/AvatarBadge.d.ts +10 -2
- package/dist/components/Avatar/AvatarContent.d.ts +24 -1
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +17 -5
- package/dist/components/AvatarGroup/AvatarGroupCounter.d.ts +20 -2
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContainer.d.ts +20 -3
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContent.d.ts +10 -2
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.d.ts +13 -1
- package/dist/components/Badge/Badge.d.ts +15 -0
- package/dist/components/Badge/Indicator/Indicator.d.ts +3 -0
- package/dist/components/BaseInput/BaseInput.types.d.ts +8 -15
- package/dist/components/BaseListItem/BaseListItem.types.d.ts +2 -2
- package/dist/components/Box/Box.d.ts +75 -0
- package/dist/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.d.ts +24 -0
- package/dist/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.d.ts +24 -7
- package/dist/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +6 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +46 -1
- package/dist/components/ButtonGroup/ButtonWrapper.d.ts +16 -1
- package/dist/components/Checkbox/Checkbox.d.ts +42 -18
- package/dist/components/Chips/Chips.d.ts +54 -20
- package/dist/components/Clickable/Clickable.d.ts +41 -5
- package/dist/components/Clickable/ClickableWrapper.d.ts +9 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +43 -1
- package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.d.ts +9 -0
- package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.d.ts +39 -0
- package/dist/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +48 -0
- package/dist/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +33 -1
- package/dist/components/Combobox/Combobox.d.ts +78 -25
- package/dist/components/Combobox/components/ComboboxCategory/ComboboxCategory.d.ts +6 -0
- package/dist/components/Combobox/components/ComboboxConstants.d.ts +156 -0
- package/dist/components/Combobox/components/ComboboxItems/ComboboxItems.d.ts +45 -0
- package/dist/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +30 -0
- package/dist/components/Counter/Counter.d.ts +33 -14
- package/dist/components/DatePicker/DateNavigationItem/DateNavigationItem.d.ts +6 -0
- package/dist/components/DatePicker/DatePicker.d.ts +39 -13
- package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +18 -0
- package/dist/components/DatePicker/YearPicker/YearPicker.d.ts +12 -0
- package/dist/components/DatePicker/YearPicker/YearsList.d.ts +12 -0
- package/dist/components/DatePicker/types.d.ts +6 -0
- package/dist/components/Dialog/Dialog.d.ts +59 -36
- package/dist/components/Dialog/DialogContent/DialogContent.d.ts +52 -3
- package/dist/components/DialogContentContainer/DialogContentContainer.d.ts +18 -0
- package/dist/components/Divider/Divider.d.ts +2 -2
- package/dist/components/Dropdown/Dropdown.types.d.ts +97 -63
- package/dist/components/EditableHeading/EditableHeading.d.ts +4 -3
- package/dist/components/EditableText/EditableText.d.ts +6 -4
- package/dist/components/EditableTypography/EditableTypography.d.ts +48 -16
- package/dist/components/ExpandCollapse/ExpandCollapse.d.ts +20 -8
- package/dist/components/FieldLabel/FieldLabel.d.ts +18 -0
- package/dist/components/Flex/Flex.d.ts +36 -2
- package/dist/components/FormattedNumber/FormattedNumber.d.ts +8 -8
- package/dist/components/GridKeyboardNavigationContext/GridKeyboardNavigationContextConstants.d.ts +3 -0
- package/dist/components/Heading/Heading.d.ts +15 -0
- package/dist/components/HiddenText/HiddenText.d.ts +3 -0
- package/dist/components/Icon/CustomSvgIcon/CustomSvgIcon.d.ts +30 -0
- package/dist/components/Icon/FontIcon/FontIcon.d.ts +18 -0
- package/dist/components/Icon/Icon.d.ts +32 -8
- package/dist/components/IconButton/IconButton.d.ts +37 -27
- package/dist/components/Label/Label.d.ts +22 -1
- package/dist/components/Label/LabelCelebrationAnimation.d.ts +6 -0
- package/dist/components/LayerProvider/LayerContext.d.ts +3 -0
- package/dist/components/LayerProvider/LayerProvider.d.ts +7 -1
- package/dist/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.d.ts +0 -8
- package/dist/components/Link/Link.d.ts +40 -14
- package/dist/components/List/List.d.ts +14 -5
- package/dist/components/List/VirtualizedListItems/VirtualizedListItems.d.ts +3 -0
- package/dist/components/ListItem/ListItem.d.ts +12 -25
- package/dist/components/ListItemAvatar/ListItemAvatar.d.ts +7 -1
- package/dist/components/ListItemIcon/ListItemIcon.d.ts +5 -2
- package/dist/components/ListTitle/ListTitle.d.ts +6 -0
- package/dist/components/Loader/Loader.d.ts +12 -2
- package/dist/components/Menu/Menu/Menu.d.ts +42 -0
- package/dist/components/Menu/MenuGridItem/MenuGridItem.d.ts +33 -5
- package/dist/components/Menu/MenuItem/AvatarMenuItem.d.ts +6 -0
- package/dist/components/Menu/MenuItem/MenuItem.d.ts +97 -7
- package/dist/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.types.d.ts +7 -0
- package/dist/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.types.d.ts +7 -6
- package/dist/components/Menu/MenuItem/components/MenuItemSubMenu/MenuItemSubMenu.types.d.ts +7 -3
- package/dist/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.types.d.ts +5 -1
- package/dist/components/Menu/MenuItemButton/MenuItemButton.d.ts +51 -0
- package/dist/components/Menu/MenuTitle/MenuTitle.d.ts +6 -0
- package/dist/components/MenuButton/MenuButton.d.ts +67 -19
- package/dist/components/Modal/ModalContent/ModalContent.types.d.ts +1 -1
- package/dist/components/Modal/ModalMedia/ModalMedia.types.d.ts +1 -1
- package/dist/components/Modal/ModalTopActions/ModalTopActions.types.d.ts +5 -5
- package/dist/components/Modal/context/ModalContext.types.d.ts +5 -5
- package/dist/components/Modal/footers/ModalFooter/ModalFooter.types.d.ts +1 -1
- package/dist/components/Modal/footers/ModalFooterBase/ModalFooterBase.types.d.ts +3 -3
- package/dist/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.types.d.ts +4 -4
- package/dist/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.types.d.ts +1 -1
- package/dist/components/Modal/layouts/ModalFooterShadow.types.d.ts +1 -1
- package/dist/components/Modal/layouts/ModalLayoutScrollableContent.types.d.ts +2 -2
- package/dist/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.types.d.ts +1 -1
- package/dist/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.types.d.ts +1 -1
- package/dist/components/MultiStepIndicator/MultiStepIndicator.d.ts +30 -0
- package/dist/components/MultiStepIndicator/components/StepIndicator/StepIndicator.d.ts +57 -0
- package/dist/components/ProgressBars/LinearProgressBar/Bar/Bar.d.ts +17 -6
- package/dist/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +19 -22
- package/dist/components/ProgressBars/PercentageLabel/PercentageLabel.d.ts +2 -2
- package/dist/components/RadioButton/RadioButton.d.ts +45 -16
- package/dist/components/Search/Search.types.d.ts +24 -24
- package/dist/components/Skeleton/Skeleton.d.ts +16 -1
- package/dist/components/SlideTransition/SlideTransition.types.d.ts +12 -0
- package/dist/components/Slider/SelectionIndicator.d.ts +6 -0
- package/dist/components/Slider/SliderBase/SliderFilledTrack.d.ts +6 -8
- package/dist/components/Slider/SliderBase/SliderRail.d.ts +6 -4
- package/dist/components/Slider/SliderBase/SliderThumb.d.ts +9 -7
- package/dist/components/Slider/SliderBase/SliderTrack.d.ts +1 -2
- package/dist/components/Slider/SliderContext.d.ts +13 -8
- package/dist/components/Slider/SliderInfix.d.ts +1 -2
- package/dist/components/SplitButton/SplitButton.d.ts +25 -2
- package/dist/components/Steps/Steps.d.ts +32 -2
- package/dist/components/Steps/StepsCommand.d.ts +21 -0
- package/dist/components/Steps/StepsDot.d.ts +15 -0
- package/dist/components/Steps/StepsGalleryHeader.d.ts +15 -0
- package/dist/components/Steps/StepsHeader.d.ts +33 -0
- package/dist/components/Steps/StepsNumbersHeader.d.ts +9 -0
- package/dist/components/Switch/Switch.d.ts +39 -0
- package/dist/components/Table/Table/Table.d.ts +42 -0
- package/dist/components/Table/TableBody/TableBody.d.ts +3 -0
- package/dist/components/Table/TableCell/TableCell.d.ts +6 -0
- package/dist/components/Table/TableCellSkeleton/TableCellSkeleton.d.ts +6 -0
- package/dist/components/Table/TableContainer/TableContainer.types.d.ts +6 -0
- package/dist/components/Table/TableHeader/TableHeader.d.ts +3 -0
- package/dist/components/Table/TableHeaderCell/TableHeaderCell.d.ts +21 -0
- package/dist/components/Table/TableRow/TableRow.d.ts +7 -1
- package/dist/components/Table/TableRowMenu/TableRowMenu.types.d.ts +6 -0
- package/dist/components/Table/TableVirtualizedBody/TableVirtualizedBody.d.ts +15 -0
- package/dist/components/Tabs/Tab/Tab.d.ts +27 -3
- package/dist/components/Tabs/TabList/TabList.d.ts +15 -0
- package/dist/components/Tabs/TabPanel/TabPanel.d.ts +6 -0
- package/dist/components/Tabs/TabPanels/TabPanels.d.ts +9 -0
- package/dist/components/Tabs/TabsContext/TabsContext.d.ts +6 -0
- package/dist/components/Text/Text.d.ts +9 -0
- package/dist/components/TextArea/TextArea.types.d.ts +13 -16
- package/dist/components/TextField/TextField.d.ts +127 -9
- package/dist/components/TextWithHighlight/TextWithHighlight.d.ts +33 -6
- package/dist/components/ThemeProvider/ThemeProvider.d.ts +8 -5
- package/dist/components/Tipseen/Tipseen.d.ts +64 -6
- package/dist/components/Tipseen/TipseenBasicContent.d.ts +9 -0
- package/dist/components/Tipseen/TipseenContent.d.ts +25 -1
- package/dist/components/Tipseen/TipseenImage.d.ts +12 -0
- package/dist/components/Tipseen/TipseenMedia/TipseenMedia.d.ts +3 -0
- package/dist/components/Tipseen/TipseenTitle.d.ts +3 -0
- package/dist/components/Tipseen/TipseenWizard.d.ts +7 -1
- package/dist/components/Toast/Toast.d.ts +37 -8
- package/dist/components/Toggle/MockToggle.d.ts +21 -0
- package/dist/components/Toggle/Toggle.d.ts +37 -1
- package/dist/components/Toggle/ToggleText.d.ts +6 -0
- package/dist/components/Tooltip/Tooltip.d.ts +64 -27
- package/dist/components/TransitionView/TransitionView.types.d.ts +9 -0
- package/dist/components/Typography/Typography.d.ts +12 -6
- package/dist/components/VirtualizedGrid/VirtualizedGrid.d.ts +19 -19
- package/dist/components/VirtualizedList/VirtualizedList.d.ts +33 -27
- package/dist/hooks/useKeyEvent/index.d.ts +30 -0
- package/dist/hooks/useSwitch/index.d.ts +12 -0
- package/dist/hooks/useWizard/useWizard.types.d.ts +33 -0
- package/dist/mocked_classnames/components/Accordion/Accordion/Accordion.d.ts +3 -15
- package/dist/mocked_classnames/components/Accordion/AccordionItem/AccordionItem.d.ts +9 -17
- package/dist/mocked_classnames/components/AlertBanner/AlertBanner.d.ts +16 -3
- package/dist/mocked_classnames/components/AlertBanner/AlertBannerButton/AlertBannerButton.d.ts +3 -0
- package/dist/mocked_classnames/components/AlertBanner/AlertBannerLink/AlertBannerLink.d.ts +3 -0
- package/dist/mocked_classnames/components/AlertBanner/AlertBannerText/AlertBannerText.d.ts +6 -0
- package/dist/mocked_classnames/components/AttentionBox/AttentionBox.d.ts +36 -4
- package/dist/mocked_classnames/components/Avatar/Avatar.d.ts +70 -3
- package/dist/mocked_classnames/components/Avatar/AvatarBadge.d.ts +10 -2
- package/dist/mocked_classnames/components/Avatar/AvatarContent.d.ts +24 -1
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroup.d.ts +17 -5
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounter.d.ts +20 -2
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContainer.d.ts +20 -3
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContent.d.ts +10 -2
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.d.ts +13 -1
- package/dist/mocked_classnames/components/Badge/Badge.d.ts +15 -0
- package/dist/mocked_classnames/components/Badge/Indicator/Indicator.d.ts +3 -0
- package/dist/mocked_classnames/components/BaseInput/BaseInput.types.d.ts +8 -15
- package/dist/mocked_classnames/components/BaseListItem/BaseListItem.types.d.ts +2 -2
- package/dist/mocked_classnames/components/Box/Box.d.ts +75 -0
- package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.d.ts +24 -0
- package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.d.ts +24 -7
- package/dist/mocked_classnames/components/BreadcrumbsBar/BreadcrumbsBar.d.ts +6 -1
- package/dist/mocked_classnames/components/ButtonGroup/ButtonGroup.d.ts +46 -1
- package/dist/mocked_classnames/components/ButtonGroup/ButtonWrapper.d.ts +16 -1
- package/dist/mocked_classnames/components/Checkbox/Checkbox.d.ts +42 -18
- package/dist/mocked_classnames/components/Chips/Chips.d.ts +54 -20
- package/dist/mocked_classnames/components/Clickable/Clickable.d.ts +41 -5
- package/dist/mocked_classnames/components/Clickable/ClickableWrapper.d.ts +9 -0
- package/dist/mocked_classnames/components/ColorPicker/ColorPicker.d.ts +43 -1
- package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.d.ts +9 -0
- package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.d.ts +39 -0
- package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.d.ts +48 -0
- package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +33 -1
- package/dist/mocked_classnames/components/Combobox/Combobox.d.ts +78 -25
- package/dist/mocked_classnames/components/Combobox/components/ComboboxCategory/ComboboxCategory.d.ts +6 -0
- package/dist/mocked_classnames/components/Combobox/components/ComboboxConstants.d.ts +156 -0
- package/dist/mocked_classnames/components/Combobox/components/ComboboxItems/ComboboxItems.d.ts +45 -0
- package/dist/mocked_classnames/components/Combobox/components/ComboboxOption/ComboboxOption.d.ts +30 -0
- package/dist/mocked_classnames/components/Counter/Counter.d.ts +33 -14
- package/dist/mocked_classnames/components/DatePicker/DateNavigationItem/DateNavigationItem.d.ts +6 -0
- package/dist/mocked_classnames/components/DatePicker/DatePicker.d.ts +39 -13
- package/dist/mocked_classnames/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +18 -0
- package/dist/mocked_classnames/components/DatePicker/YearPicker/YearPicker.d.ts +12 -0
- package/dist/mocked_classnames/components/DatePicker/YearPicker/YearsList.d.ts +12 -0
- package/dist/mocked_classnames/components/DatePicker/types.d.ts +6 -0
- package/dist/mocked_classnames/components/Dialog/Dialog.d.ts +59 -36
- package/dist/mocked_classnames/components/Dialog/DialogContent/DialogContent.d.ts +52 -3
- package/dist/mocked_classnames/components/DialogContentContainer/DialogContentContainer.d.ts +18 -0
- package/dist/mocked_classnames/components/Divider/Divider.d.ts +2 -2
- package/dist/mocked_classnames/components/Dropdown/Dropdown.types.d.ts +97 -63
- package/dist/mocked_classnames/components/EditableHeading/EditableHeading.d.ts +4 -3
- package/dist/mocked_classnames/components/EditableText/EditableText.d.ts +6 -4
- package/dist/mocked_classnames/components/EditableTypography/EditableTypography.d.ts +48 -16
- package/dist/mocked_classnames/components/ExpandCollapse/ExpandCollapse.d.ts +20 -8
- package/dist/mocked_classnames/components/FieldLabel/FieldLabel.d.ts +18 -0
- package/dist/mocked_classnames/components/Flex/Flex.d.ts +36 -2
- package/dist/mocked_classnames/components/FormattedNumber/FormattedNumber.d.ts +8 -8
- package/dist/mocked_classnames/components/GridKeyboardNavigationContext/GridKeyboardNavigationContextConstants.d.ts +3 -0
- package/dist/mocked_classnames/components/Heading/Heading.d.ts +15 -0
- package/dist/mocked_classnames/components/HiddenText/HiddenText.d.ts +3 -0
- package/dist/mocked_classnames/components/Icon/CustomSvgIcon/CustomSvgIcon.d.ts +30 -0
- package/dist/mocked_classnames/components/Icon/FontIcon/FontIcon.d.ts +18 -0
- package/dist/mocked_classnames/components/Icon/Icon.d.ts +32 -8
- package/dist/mocked_classnames/components/IconButton/IconButton.d.ts +37 -27
- package/dist/mocked_classnames/components/Label/Label.d.ts +22 -1
- package/dist/mocked_classnames/components/Label/LabelCelebrationAnimation.d.ts +6 -0
- package/dist/mocked_classnames/components/LayerProvider/LayerContext.d.ts +3 -0
- package/dist/mocked_classnames/components/LayerProvider/LayerProvider.d.ts +7 -1
- package/dist/mocked_classnames/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.d.ts +0 -8
- package/dist/mocked_classnames/components/Link/Link.d.ts +40 -14
- package/dist/mocked_classnames/components/List/List.d.ts +14 -5
- package/dist/mocked_classnames/components/List/VirtualizedListItems/VirtualizedListItems.d.ts +3 -0
- package/dist/mocked_classnames/components/ListItem/ListItem.d.ts +12 -25
- package/dist/mocked_classnames/components/ListItemAvatar/ListItemAvatar.d.ts +7 -1
- package/dist/mocked_classnames/components/ListItemIcon/ListItemIcon.d.ts +5 -2
- package/dist/mocked_classnames/components/ListTitle/ListTitle.d.ts +6 -0
- package/dist/mocked_classnames/components/Loader/Loader.d.ts +12 -2
- package/dist/mocked_classnames/components/Menu/Menu/Menu.d.ts +42 -0
- package/dist/mocked_classnames/components/Menu/MenuGridItem/MenuGridItem.d.ts +33 -5
- package/dist/mocked_classnames/components/Menu/MenuItem/AvatarMenuItem.d.ts +6 -0
- package/dist/mocked_classnames/components/Menu/MenuItem/MenuItem.d.ts +97 -7
- package/dist/mocked_classnames/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.types.d.ts +7 -0
- package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.types.d.ts +7 -6
- package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemSubMenu/MenuItemSubMenu.types.d.ts +7 -3
- package/dist/mocked_classnames/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.types.d.ts +5 -1
- package/dist/mocked_classnames/components/Menu/MenuItemButton/MenuItemButton.d.ts +51 -0
- package/dist/mocked_classnames/components/Menu/MenuTitle/MenuTitle.d.ts +6 -0
- package/dist/mocked_classnames/components/MenuButton/MenuButton.d.ts +67 -19
- package/dist/mocked_classnames/components/Modal/ModalContent/ModalContent.types.d.ts +1 -1
- package/dist/mocked_classnames/components/Modal/ModalMedia/ModalMedia.types.d.ts +1 -1
- package/dist/mocked_classnames/components/Modal/ModalTopActions/ModalTopActions.types.d.ts +5 -5
- package/dist/mocked_classnames/components/Modal/context/ModalContext.types.d.ts +5 -5
- package/dist/mocked_classnames/components/Modal/footers/ModalFooter/ModalFooter.types.d.ts +1 -1
- package/dist/mocked_classnames/components/Modal/footers/ModalFooterBase/ModalFooterBase.types.d.ts +3 -3
- package/dist/mocked_classnames/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.types.d.ts +4 -4
- package/dist/mocked_classnames/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.types.d.ts +1 -1
- package/dist/mocked_classnames/components/Modal/layouts/ModalFooterShadow.types.d.ts +1 -1
- package/dist/mocked_classnames/components/Modal/layouts/ModalLayoutScrollableContent.types.d.ts +2 -2
- package/dist/mocked_classnames/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.types.d.ts +1 -1
- package/dist/mocked_classnames/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.types.d.ts +1 -1
- package/dist/mocked_classnames/components/MultiStepIndicator/MultiStepIndicator.d.ts +30 -0
- package/dist/mocked_classnames/components/MultiStepIndicator/components/StepIndicator/StepIndicator.d.ts +57 -0
- package/dist/mocked_classnames/components/ProgressBars/LinearProgressBar/Bar/Bar.d.ts +17 -6
- package/dist/mocked_classnames/components/ProgressBars/LinearProgressBar/LinearProgressBar.d.ts +19 -22
- package/dist/mocked_classnames/components/ProgressBars/PercentageLabel/PercentageLabel.d.ts +2 -2
- package/dist/mocked_classnames/components/RadioButton/RadioButton.d.ts +45 -16
- package/dist/mocked_classnames/components/Search/Search.types.d.ts +24 -24
- package/dist/mocked_classnames/components/Skeleton/Skeleton.d.ts +16 -1
- package/dist/mocked_classnames/components/SlideTransition/SlideTransition.types.d.ts +12 -0
- package/dist/mocked_classnames/components/Slider/SelectionIndicator.d.ts +6 -0
- package/dist/mocked_classnames/components/Slider/SliderBase/SliderFilledTrack.d.ts +6 -8
- package/dist/mocked_classnames/components/Slider/SliderBase/SliderRail.d.ts +6 -4
- package/dist/mocked_classnames/components/Slider/SliderBase/SliderThumb.d.ts +9 -7
- package/dist/mocked_classnames/components/Slider/SliderBase/SliderTrack.d.ts +1 -2
- package/dist/mocked_classnames/components/Slider/SliderContext.d.ts +13 -8
- package/dist/mocked_classnames/components/Slider/SliderInfix.d.ts +1 -2
- package/dist/mocked_classnames/components/SplitButton/SplitButton.d.ts +25 -2
- package/dist/mocked_classnames/components/Steps/Steps.d.ts +32 -2
- package/dist/mocked_classnames/components/Steps/StepsCommand.d.ts +21 -0
- package/dist/mocked_classnames/components/Steps/StepsDot.d.ts +15 -0
- package/dist/mocked_classnames/components/Steps/StepsGalleryHeader.d.ts +15 -0
- package/dist/mocked_classnames/components/Steps/StepsHeader.d.ts +33 -0
- package/dist/mocked_classnames/components/Steps/StepsNumbersHeader.d.ts +9 -0
- package/dist/mocked_classnames/components/Switch/Switch.d.ts +39 -0
- package/dist/mocked_classnames/components/Table/Table/Table.d.ts +42 -0
- package/dist/mocked_classnames/components/Table/TableBody/TableBody.d.ts +3 -0
- package/dist/mocked_classnames/components/Table/TableCell/TableCell.d.ts +6 -0
- package/dist/mocked_classnames/components/Table/TableCellSkeleton/TableCellSkeleton.d.ts +6 -0
- package/dist/mocked_classnames/components/Table/TableContainer/TableContainer.types.d.ts +6 -0
- package/dist/mocked_classnames/components/Table/TableHeader/TableHeader.d.ts +3 -0
- package/dist/mocked_classnames/components/Table/TableHeaderCell/TableHeaderCell.d.ts +21 -0
- package/dist/mocked_classnames/components/Table/TableRow/TableRow.d.ts +7 -1
- package/dist/mocked_classnames/components/Table/TableRowMenu/TableRowMenu.types.d.ts +6 -0
- package/dist/mocked_classnames/components/Table/TableVirtualizedBody/TableVirtualizedBody.d.ts +15 -0
- package/dist/mocked_classnames/components/Tabs/Tab/Tab.d.ts +27 -3
- package/dist/mocked_classnames/components/Tabs/TabList/TabList.d.ts +15 -0
- package/dist/mocked_classnames/components/Tabs/TabPanel/TabPanel.d.ts +6 -0
- package/dist/mocked_classnames/components/Tabs/TabPanels/TabPanels.d.ts +9 -0
- package/dist/mocked_classnames/components/Tabs/TabsContext/TabsContext.d.ts +6 -0
- package/dist/mocked_classnames/components/Text/Text.d.ts +9 -0
- package/dist/mocked_classnames/components/TextArea/TextArea.types.d.ts +13 -16
- package/dist/mocked_classnames/components/TextField/TextField.d.ts +127 -9
- package/dist/mocked_classnames/components/TextWithHighlight/TextWithHighlight.d.ts +33 -6
- package/dist/mocked_classnames/components/ThemeProvider/ThemeProvider.d.ts +8 -5
- package/dist/mocked_classnames/components/Tipseen/Tipseen.d.ts +64 -6
- package/dist/mocked_classnames/components/Tipseen/TipseenBasicContent.d.ts +9 -0
- package/dist/mocked_classnames/components/Tipseen/TipseenContent.d.ts +25 -1
- package/dist/mocked_classnames/components/Tipseen/TipseenImage.d.ts +12 -0
- package/dist/mocked_classnames/components/Tipseen/TipseenMedia/TipseenMedia.d.ts +3 -0
- package/dist/mocked_classnames/components/Tipseen/TipseenTitle.d.ts +3 -0
- package/dist/mocked_classnames/components/Tipseen/TipseenWizard.d.ts +7 -1
- package/dist/mocked_classnames/components/Toast/Toast.d.ts +37 -8
- package/dist/mocked_classnames/components/Toggle/MockToggle.d.ts +21 -0
- package/dist/mocked_classnames/components/Toggle/Toggle.d.ts +37 -1
- package/dist/mocked_classnames/components/Toggle/ToggleText.d.ts +6 -0
- package/dist/mocked_classnames/components/Tooltip/Tooltip.d.ts +64 -27
- package/dist/mocked_classnames/components/TransitionView/TransitionView.types.d.ts +9 -0
- package/dist/mocked_classnames/components/Typography/Typography.d.ts +12 -6
- package/dist/mocked_classnames/components/VirtualizedGrid/VirtualizedGrid.d.ts +19 -19
- package/dist/mocked_classnames/components/VirtualizedList/VirtualizedList.d.ts +33 -27
- package/dist/mocked_classnames/hooks/useKeyEvent/index.d.ts +30 -0
- package/dist/mocked_classnames/hooks/useSwitch/index.d.ts +12 -0
- package/dist/mocked_classnames/hooks/useWizard/useWizard.types.d.ts +33 -0
- package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.js.map +1 -1
- package/dist/mocked_classnames/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js.map +1 -1
- package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.js.map +1 -1
- package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerText/AlertBannerText.js.map +1 -1
- package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +1 -1
- package/dist/mocked_classnames/src/components/Badge/Badge.js.map +1 -1
- package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/Box/Box.js.map +1 -1
- package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
- package/dist/mocked_classnames/src/components/Button/Button.js +1 -1
- package/dist/mocked_classnames/src/components/Button/Button.js.map +1 -1
- package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/mocked_classnames/src/components/ButtonGroup/ButtonWrapper.js.map +1 -1
- package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Chips/Chips.js.map +1 -1
- package/dist/mocked_classnames/src/components/Clickable/Clickable.js.map +1 -1
- package/dist/mocked_classnames/src/components/Clickable/ClickableWrapper.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxConstants.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxItems/ComboboxItems.js.map +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.map +1 -1
- package/dist/mocked_classnames/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/DatePicker/YearPicker/YearPicker.js.map +1 -1
- package/dist/mocked_classnames/src/components/DatePicker/YearPicker/YearsList.js.map +1 -1
- package/dist/mocked_classnames/src/components/DatePicker/types.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dialog/Dialog.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/DialogContentContainer/DialogContentContainer.js.map +1 -1
- package/dist/mocked_classnames/src/components/Divider/Divider.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.js.map +1 -1
- package/dist/mocked_classnames/src/components/EditableText/EditableText.js.map +1 -1
- package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.js.map +1 -1
- package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
- package/dist/mocked_classnames/src/components/FieldLabel/FieldLabel.js.map +1 -1
- package/dist/mocked_classnames/src/components/Flex/Flex.js.map +1 -1
- package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumber.js.map +1 -1
- package/dist/mocked_classnames/src/components/Heading/Heading.js.map +1 -1
- package/dist/mocked_classnames/src/components/HiddenText/HiddenText.js.map +1 -1
- package/dist/mocked_classnames/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js.map +1 -1
- package/dist/mocked_classnames/src/components/Icon/FontIcon/FontIcon.js.map +1 -1
- package/dist/mocked_classnames/src/components/Icon/Icon.js.map +1 -1
- package/dist/mocked_classnames/src/components/IconButton/IconButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Label/Label.js.map +1 -1
- package/dist/mocked_classnames/src/components/Label/LabelCelebrationAnimation.js.map +1 -1
- package/dist/mocked_classnames/src/components/LayerProvider/LayerContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/LayerProvider/LayerProvider.js.map +1 -1
- package/dist/mocked_classnames/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Link/Link.js.map +1 -1
- package/dist/mocked_classnames/src/components/List/List.js.map +1 -1
- package/dist/mocked_classnames/src/components/List/VirtualizedListItems/VirtualizedListItems.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListItem/ListItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListTitle/ListTitle.js.map +1 -1
- package/dist/mocked_classnames/src/components/Loader/Loader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/Menu.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/AvatarMenuItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/MenuItem.js.map +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.map +1 -1
- package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js.map +1 -1
- package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/LinearProgressBar/Bar/Bar.js.map +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.js.map +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/PercentageLabel/PercentageLabel.js.map +1 -1
- package/dist/mocked_classnames/src/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SelectionIndicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderInfix.js.map +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/Steps.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsCommand.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsDot.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsGalleryHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsNumbersHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Switch/Switch.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/Table/Table.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/Text/Text.js.map +1 -1
- package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
- package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
- package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenBasicContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenImage.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenTitle.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenWizard.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toggle/MockToggle.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toggle/Toggle.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toggle/ToggleText.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/mocked_classnames/src/components/Typography/Typography.js.map +1 -1
- package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
- package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useKeyEvent/index.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useSwitch/index.js.map +1 -1
- package/dist/mocked_classnames/types/VibeComponentProps.d.ts +9 -0
- package/dist/src/components/Accordion/Accordion/Accordion.js.map +1 -1
- package/dist/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/src/components/AlertBanner/AlertBanner.js.map +1 -1
- package/dist/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.js.map +1 -1
- package/dist/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.js.map +1 -1
- package/dist/src/components/AlertBanner/AlertBannerText/AlertBannerText.js.map +1 -1
- package/dist/src/components/AttentionBox/AttentionBox.js.map +1 -1
- package/dist/src/components/Avatar/Avatar.js.map +1 -1
- package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
- package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +1 -1
- package/dist/src/components/Badge/Badge.js.map +1 -1
- package/dist/src/components/Badge/Indicator/Indicator.js.map +1 -1
- package/dist/src/components/Box/Box.js.map +1 -1
- package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.js.map +1 -1
- package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
- package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.js.map +1 -1
- package/dist/src/components/Button/Button.js +1 -1
- package/dist/src/components/Button/Button.js.map +1 -1
- package/dist/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/src/components/ButtonGroup/ButtonWrapper.js.map +1 -1
- package/dist/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/Chips/Chips.js.map +1 -1
- package/dist/src/components/Clickable/Clickable.js.map +1 -1
- package/dist/src/components/Clickable/ClickableWrapper.js.map +1 -1
- package/dist/src/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
- package/dist/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.js.map +1 -1
- package/dist/src/components/Combobox/components/ComboboxConstants.js.map +1 -1
- package/dist/src/components/Combobox/components/ComboboxItems/ComboboxItems.js.map +1 -1
- package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.js.map +1 -1
- package/dist/src/components/Counter/Counter.js.map +1 -1
- package/dist/src/components/DatePicker/DateNavigationItem/DateNavigationItem.js.map +1 -1
- package/dist/src/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/src/components/DatePicker/DatePickerHeader/DatePickerHeader.js.map +1 -1
- package/dist/src/components/DatePicker/YearPicker/YearPicker.js.map +1 -1
- package/dist/src/components/DatePicker/YearPicker/YearsList.js.map +1 -1
- package/dist/src/components/DatePicker/types.js.map +1 -1
- package/dist/src/components/Dialog/Dialog.js.map +1 -1
- package/dist/src/components/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/src/components/DialogContentContainer/DialogContentContainer.js.map +1 -1
- package/dist/src/components/Divider/Divider.js.map +1 -1
- package/dist/src/components/Dropdown/Dropdown.js +1 -1
- package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/components/EditableHeading/EditableHeading.js.map +1 -1
- package/dist/src/components/EditableText/EditableText.js.map +1 -1
- package/dist/src/components/EditableTypography/EditableTypography.js.map +1 -1
- package/dist/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
- package/dist/src/components/FieldLabel/FieldLabel.js.map +1 -1
- package/dist/src/components/Flex/Flex.js.map +1 -1
- package/dist/src/components/FormattedNumber/FormattedNumber.js.map +1 -1
- package/dist/src/components/Heading/Heading.js.map +1 -1
- package/dist/src/components/HiddenText/HiddenText.js.map +1 -1
- package/dist/src/components/Icon/CustomSvgIcon/CustomSvgIcon.js.map +1 -1
- package/dist/src/components/Icon/FontIcon/FontIcon.js.map +1 -1
- package/dist/src/components/Icon/Icon.js.map +1 -1
- package/dist/src/components/IconButton/IconButton.js.map +1 -1
- package/dist/src/components/Label/Label.js.map +1 -1
- package/dist/src/components/Label/LabelCelebrationAnimation.js.map +1 -1
- package/dist/src/components/LayerProvider/LayerContext.js.map +1 -1
- package/dist/src/components/LayerProvider/LayerProvider.js.map +1 -1
- package/dist/src/components/LegacyModal/LegacyModalHeader/LegacyModalHeader.js.map +1 -1
- package/dist/src/components/Link/Link.js.map +1 -1
- package/dist/src/components/List/List.js.map +1 -1
- package/dist/src/components/List/VirtualizedListItems/VirtualizedListItems.js.map +1 -1
- package/dist/src/components/ListItem/ListItem.js.map +1 -1
- package/dist/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
- package/dist/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
- package/dist/src/components/ListTitle/ListTitle.js.map +1 -1
- package/dist/src/components/Loader/Loader.js.map +1 -1
- package/dist/src/components/Menu/Menu/Menu.js.map +1 -1
- package/dist/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
- package/dist/src/components/Menu/MenuItem/AvatarMenuItem.js.map +1 -1
- package/dist/src/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
- package/dist/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
- package/dist/src/components/MenuButton/MenuButton.js.map +1 -1
- package/dist/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js +1 -1
- package/dist/src/components/Modal/hooks/usePortalTarget/usePortalTarget.js.map +1 -1
- package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
- package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
- package/dist/src/components/ProgressBars/LinearProgressBar/Bar/Bar.js.map +1 -1
- package/dist/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.js.map +1 -1
- package/dist/src/components/ProgressBars/PercentageLabel/PercentageLabel.js.map +1 -1
- package/dist/src/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/src/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/src/components/Slider/SelectionIndicator.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
- package/dist/src/components/Slider/SliderContext.js.map +1 -1
- package/dist/src/components/Slider/SliderInfix.js.map +1 -1
- package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/src/components/Steps/Steps.js.map +1 -1
- package/dist/src/components/Steps/StepsCommand.js.map +1 -1
- package/dist/src/components/Steps/StepsDot.js.map +1 -1
- package/dist/src/components/Steps/StepsGalleryHeader.js.map +1 -1
- package/dist/src/components/Steps/StepsHeader.js.map +1 -1
- package/dist/src/components/Steps/StepsNumbersHeader.js.map +1 -1
- package/dist/src/components/Switch/Switch.js.map +1 -1
- package/dist/src/components/Table/Table/Table.js.map +1 -1
- package/dist/src/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/src/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
- package/dist/src/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/dist/src/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.js.map +1 -1
- package/dist/src/components/Tabs/Tab/Tab.js.map +1 -1
- package/dist/src/components/Tabs/TabList/TabList.js.map +1 -1
- package/dist/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
- package/dist/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
- package/dist/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/dist/src/components/Text/Text.js.map +1 -1
- package/dist/src/components/TextField/TextField.js.map +1 -1
- package/dist/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
- package/dist/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/src/components/Tipseen/Tipseen.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenBasicContent.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenContent.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenImage.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenTitle.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenWizard.js.map +1 -1
- package/dist/src/components/Toast/Toast.js.map +1 -1
- package/dist/src/components/Toggle/MockToggle.js.map +1 -1
- package/dist/src/components/Toggle/Toggle.js.map +1 -1
- package/dist/src/components/Toggle/ToggleText.js.map +1 -1
- package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/Typography/Typography.js.map +1 -1
- package/dist/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
- package/dist/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
- package/dist/src/hooks/useKeyEvent/index.js.map +1 -1
- package/dist/src/hooks/useSwitch/index.js.map +1 -1
- package/dist/types/VibeComponentProps.d.ts +9 -0
- package/package.json +3 -2
|
@@ -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 * A Classname to be added to <span> element which wraps the children\n */\n referenceWrapperClassName?: string;\n /**\n * Where the dialog should be in reference to the children,\n * Top, Left, Right, Bottom ...\n */\n position?: DialogPosition;\n /**\n * PopperJS Modifiers type\n * https://popper.js.org/docs/v2/modifiers/\n */\n modifiers?: Modifier<any>[];\n startingEdge?: string;\n /**\n * How much to move the dialog in relative to children\n * main is the axis in which the position is aligned to\n * secondary is the vertical axes to the position\n */\n moveBy?: { main?: number; secondary?: number };\n /**\n * how much delay should the Dialog wait until it should trigger the show in MS\n */\n showDelay?: number;\n /**\n * how much delay should the Dialog wait until it should trigger the hide in MS\n */\n hideDelay?: number;\n /**\n * an array of hide/show trigger -\n */\n showTrigger?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * an array of hide/show trigger -\n */\n hideTrigger?: DialogTriggerEvent | DialogTriggerEvent[];\n /**\n * If true, prevents opened Dialog from closing on mouseEnter, and closes Dialog when mouse leaves it\n */\n showOnDialogEnter?: boolean;\n /**\n * Show the Dialog when the children are mounting\n */\n shouldShowOnMount?: boolean;\n /**\n * disable the opening of the dialog\n */\n disable?: boolean;\n /**\n * open is a controlled prop to open the dialog\n */\n open?: boolean;\n /**\n * used when state is derived from props\n */\n isOpen?: boolean;\n /**\n * if this class exists on the children the show trigger will be ignored\n */\n showTriggerIgnoreClass?: string | Array<string>;\n /**\n * if this class exists on the children the hide trigger will be ignored\n */\n hideTriggerIgnoreClass?: string | Array<string>;\n /**\n * Dialog animation type\n */\n animationType?: DialogAnimationType;\n /**\n * Classname to be added to the content container\n */\n wrapperClassName?: string;\n /**\n * Prevent Animation\n */\n preventAnimationOnMount?: boolean;\n /**\n * the container selector in which to append the dialog\n * for examples: \"body\" , \".my-class\", \"#my-id\"\n */\n containerSelector?: string;\n /**\n * should position the tooltip element\n * https://popper.js.org/docs/v2/modifiers/arrow/\n */\n tooltip?: boolean;\n /**\n * class name to add to the tooltip element\n */\n tooltipClassName?: string;\n /**\n * callback to be called when the dialog is shown\n */\n onDialogDidShow?: (event?: DialogEvent, eventName?: DialogTriggerEvent | string) => void;\n /**\n * callback to be called when the dialog is hidden\n */\n onDialogDidHide?: (event: DialogEvent, eventName: DialogTriggerEvent | string) => void;\n /**\n * callback to be called when click outside is being triggered\n */\n onClickOutside?: (event: React.MouseEvent) => void;\n /**\n * callback to be called when click on the content is being triggered\n */\n onContentClick?: (event: React.MouseEvent) => void;\n /**\n * z-index to add to the dialog\n */\n zIndex?: number;\n useDerivedStateFromProps?: boolean;\n /**\n * Make the dialog disappear when the element it is attached to becomes hidden\n */\n hideWhenReferenceHidden?: boolean;\n shouldCallbackOnMount?: boolean;\n instantShowAndHide?: boolean;\n getDynamicShowDelay?: () => { showDelay: number; preventAnimation: boolean };\n content?: (() => JSX.Element) | JSX.Element;\n /**\n * The element where we will position the dialog beside.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * Treats keyboard focus/blur events as mouse-enter/mouse-leave events\n */\n addKeyboardHideShowTriggersByDefault?: boolean;\n /**\n * If true disable the scroll for the containerSelector element.\n * If string use it as selector to prevent scroll.\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 isOpen?: boolean;\n shouldUseDerivedStateFromProps?: boolean;\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 }\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContent.js","sources":["../../../../../../src/components/Dialog/DialogContent/DialogContent.tsx"],"sourcesContent":["import React, { cloneElement, CSSProperties, ReactElement, useCallback, useEffect, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { camelCase } from \"lodash-es\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport useClickOutside from \"../../../hooks/useClickOutside\";\nimport { chainFunctions, NOOP } from \"../../../utils/function-utils\";\nimport useKeyEvent from \"../../../hooks/useKeyEvent\";\nimport { VibeComponent, VibeComponentProps } from \"../../../types\";\nimport { keyCodes } from \"../../../constants\";\nimport { DialogAnimationType, DialogTriggerEvent } from \"../Dialog.types\";\nimport * as PopperJS from \"@popperjs/core\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport styles from \"./DialogContent.module.scss\";\nimport useDisableScroll from \"../../../hooks/useDisableScroll\";\n\nconst EMPTY_OBJECT = {};\nconst ESCAPE_KEYS = [keyCodes.ESCAPE];\n\nexport interface DialogContentProps extends VibeComponentProps {\n children?: ReactElement | ReactElement[];\n position?: PopperJS.Placement;\n wrapperClassName?: string;\n isOpen?: boolean;\n // TODO: [breaking] use type\n startingEdge?: any;\n animationType?: DialogAnimationType;\n onEsc?: (event: React.KeyboardEvent) => void;\n onMouseEnter?: (event: React.MouseEvent) => void;\n onMouseLeave?: (event: React.MouseEvent) => void;\n onClickOutside?: (event: React.MouseEvent, hideShowEvent: DialogTriggerEvent) => void;\n onClick?: (event: React.MouseEvent) => void;\n showDelay?: number;\n styleObject?: CSSProperties;\n isReferenceHidden?: boolean;\n hasTooltip?: boolean;\n containerSelector?: string;\n disableContainerScroll?: boolean | string;\n /**\n * On context menu event (right click) outside of the dialog\n * @param e\n */\n onContextMenu?: (e: React.MouseEvent) => void;\n \"data-testid\"?: string;\n}\n\nexport const DialogContent: VibeComponent<DialogContentProps> = React.forwardRef(\n (\n {\n onEsc = NOOP,\n children,\n position,\n wrapperClassName,\n isOpen = false,\n startingEdge,\n animationType = \"expand\",\n onMouseEnter = NOOP,\n onMouseLeave = NOOP,\n onClickOutside = NOOP,\n onClick = NOOP,\n onContextMenu = NOOP,\n showDelay,\n styleObject = EMPTY_OBJECT,\n isReferenceHidden,\n hasTooltip = false,\n containerSelector,\n disableContainerScroll = false,\n \"data-testid\": dataTestId\n }: DialogContentProps,\n forwardRef\n ) => {\n const ref = useRef(null);\n const onOutSideClick = useCallback(\n (event: React.MouseEvent) => {\n if (isOpen) {\n return onClickOutside(event, \"clickoutside\");\n }\n },\n [isOpen, onClickOutside]\n );\n const overrideOnContextMenu = useCallback(\n (event: React.MouseEvent) => {\n if (isOpen) {\n onContextMenu(event);\n }\n },\n [isOpen, onContextMenu]\n );\n useKeyEvent({ keys: ESCAPE_KEYS, callback: onEsc });\n useClickOutside({ callback: onOutSideClick, ref });\n useClickOutside({ eventName: \"contextmenu\", callback: overrideOnContextMenu, ref });\n const selectorToDisable = typeof disableContainerScroll === \"string\" ? disableContainerScroll : containerSelector;\n const { disableScroll, enableScroll } = useDisableScroll(selectorToDisable);\n\n useEffect(() => {\n if (disableContainerScroll) {\n if (isOpen) {\n disableScroll();\n } else {\n enableScroll();\n }\n }\n }, [disableContainerScroll, disableScroll, enableScroll, isOpen]);\n\n const transitionOptions: Partial<CSSTransitionProps> = { classNames: undefined };\n\n switch (animationType) {\n case \"expand\":\n transitionOptions.classNames = {\n appear: styles.expandAppear,\n appearActive: styles.expandAppearActive,\n exit: styles.expandExit\n };\n break;\n case \"opacity-and-slide\":\n transitionOptions.classNames = {\n appear: styles.opacitySlideAppear,\n appearActive: styles.opacitySlideAppearActive\n };\n break;\n }\n return (\n <span\n // don't remove old classname - override from Monolith\n className={cx(\"monday-style-dialog-content-wrapper\", styles.contentWrapper, wrapperClassName)}\n ref={forwardRef}\n data-testid={dataTestId}\n style={styleObject}\n onClickCapture={onClick}\n data-popper-reference-hidden={isReferenceHidden}\n >\n <CSSTransition {...transitionOptions} in={isOpen} appear={!!animationType} timeout={showDelay}>\n <div\n className={cx(styles.contentComponent, getStyle(styles, camelCase(position)), {\n [getStyle(styles, camelCase(\"edge-\" + startingEdge))]: startingEdge,\n [styles.hasTooltip]: hasTooltip\n })}\n ref={ref}\n >\n {React.Children.toArray(children).map((child: ReactElement) => {\n return cloneElement(child, {\n onMouseEnter: chainFunctions([child.props.onMouseEnter, onMouseEnter]),\n onMouseLeave: chainFunctions([child.props.onMouseLeave, onMouseLeave])\n });\n })}\n </div>\n </CSSTransition>\n </span>\n );\n }\n);\n"],"names":["EMPTY_OBJECT","ESCAPE_KEYS","keyCodes","ESCAPE","DialogContent","React","forwardRef","_ref","_ref$onEsc","onEsc","NOOP","children","position","wrapperClassName","_ref$isOpen","isOpen","startingEdge","_ref$animationType","animationType","_ref$onMouseEnter","onMouseEnter","_ref$onMouseLeave","onMouseLeave","_ref$onClickOutside","onClickOutside","_ref$onClick","onClick","_ref$onContextMenu","onContextMenu","showDelay","_ref$styleObject","styleObject","isReferenceHidden","_ref$hasTooltip","hasTooltip","containerSelector","_ref$disableContainer","disableContainerScroll","dataTestId","ref","useRef","onOutSideClick","useCallback","event","overrideOnContextMenu","useKeyEvent","keys","callback","useClickOutside","eventName","_useDisableScroll","useDisableScroll","disableScroll","enableScroll","useEffect","transitionOptions","classNames","undefined","appear","styles","expandAppear","appearActive","expandAppearActive","exit","expandExit","opacitySlideAppear","opacitySlideAppearActive","createElement","className","cx","contentWrapper","style","onClickCapture","CSSTransition","Object","assign","in","timeout","contentComponent","getStyle","camelCase","_defineProperty","Children","toArray","map","child","cloneElement","chainFunctions","props"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DialogContent.js","sources":["../../../../../../src/components/Dialog/DialogContent/DialogContent.tsx"],"sourcesContent":["import React, { cloneElement, CSSProperties, ReactElement, useCallback, useEffect, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { camelCase } from \"lodash-es\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport useClickOutside from \"../../../hooks/useClickOutside\";\nimport { chainFunctions, NOOP } from \"../../../utils/function-utils\";\nimport useKeyEvent from \"../../../hooks/useKeyEvent\";\nimport { VibeComponent, VibeComponentProps } from \"../../../types\";\nimport { keyCodes } from \"../../../constants\";\nimport { DialogAnimationType, DialogTriggerEvent } from \"../Dialog.types\";\nimport * as PopperJS from \"@popperjs/core\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport styles from \"./DialogContent.module.scss\";\nimport useDisableScroll from \"../../../hooks/useDisableScroll\";\n\nconst EMPTY_OBJECT = {};\nconst ESCAPE_KEYS = [keyCodes.ESCAPE];\n\nexport interface DialogContentProps extends VibeComponentProps {\n /**\n * The content inside the dialog.\n */\n children?: ReactElement | ReactElement[];\n /**\n * The placement of the dialog relative to the reference element.\n */\n position?: PopperJS.Placement;\n /**\n * Class name applied to the dialog wrapper.\n */\n wrapperClassName?: string;\n /**\n * If true, the dialog is open.\n */\n isOpen?: boolean;\n // TODO: [breaking] use type\n /**\n * The starting edge of the dialog.\n */\n startingEdge?: any;\n /**\n * The animation type used for showing/hiding the dialog.\n */\n animationType?: DialogAnimationType;\n /**\n * Callback fired when the Escape key is pressed.\n */\n onEsc?: (event: React.KeyboardEvent) => void;\n /**\n * Callback fired when the mouse enters the dialog.\n */\n onMouseEnter?: (event: React.MouseEvent) => void;\n /**\n * Callback fired when the mouse leaves the dialog.\n */\n onMouseLeave?: (event: React.MouseEvent) => void;\n /**\n * Callback fired when clicking outside the dialog.\n */\n onClickOutside?: (event: React.MouseEvent, hideShowEvent: DialogTriggerEvent) => void;\n /**\n * Callback fired when clicking inside the dialog.\n */\n onClick?: (event: React.MouseEvent) => void;\n /**\n * Delay before showing the dialog.\n */\n showDelay?: number;\n /**\n * Inline styles applied to the dialog.\n */\n styleObject?: CSSProperties;\n /**\n * If true, hides the reference element when the dialog is shown.\n */\n isReferenceHidden?: boolean;\n /**\n * If true, applies tooltip arrow to the dialog.\n */\n hasTooltip?: boolean;\n /**\n * The CSS selector of the container where the dialog should be rendered.\n */\n containerSelector?: string;\n /**\n * If true, disables scrolling in the container when the dialog is open.\n */\n disableContainerScroll?: boolean | string;\n /**\n * Callback fired when the context menu (right-click) event occurs outside the dialog.\n */\n onContextMenu?: (e: React.MouseEvent) => void;\n}\n\nexport const DialogContent: VibeComponent<DialogContentProps> = React.forwardRef(\n (\n {\n onEsc = NOOP,\n children,\n position,\n wrapperClassName,\n isOpen = false,\n startingEdge,\n animationType = \"expand\",\n onMouseEnter = NOOP,\n onMouseLeave = NOOP,\n onClickOutside = NOOP,\n onClick = NOOP,\n onContextMenu = NOOP,\n showDelay,\n styleObject = EMPTY_OBJECT,\n isReferenceHidden,\n hasTooltip = false,\n containerSelector,\n disableContainerScroll = false,\n \"data-testid\": dataTestId\n }: DialogContentProps,\n forwardRef\n ) => {\n const ref = useRef(null);\n const onOutSideClick = useCallback(\n (event: React.MouseEvent) => {\n if (isOpen) {\n return onClickOutside(event, \"clickoutside\");\n }\n },\n [isOpen, onClickOutside]\n );\n const overrideOnContextMenu = useCallback(\n (event: React.MouseEvent) => {\n if (isOpen) {\n onContextMenu(event);\n }\n },\n [isOpen, onContextMenu]\n );\n useKeyEvent({ keys: ESCAPE_KEYS, callback: onEsc });\n useClickOutside({ callback: onOutSideClick, ref });\n useClickOutside({ eventName: \"contextmenu\", callback: overrideOnContextMenu, ref });\n const selectorToDisable = typeof disableContainerScroll === \"string\" ? disableContainerScroll : containerSelector;\n const { disableScroll, enableScroll } = useDisableScroll(selectorToDisable);\n\n useEffect(() => {\n if (disableContainerScroll) {\n if (isOpen) {\n disableScroll();\n } else {\n enableScroll();\n }\n }\n }, [disableContainerScroll, disableScroll, enableScroll, isOpen]);\n\n const transitionOptions: Partial<CSSTransitionProps> = { classNames: undefined };\n\n switch (animationType) {\n case \"expand\":\n transitionOptions.classNames = {\n appear: styles.expandAppear,\n appearActive: styles.expandAppearActive,\n exit: styles.expandExit\n };\n break;\n case \"opacity-and-slide\":\n transitionOptions.classNames = {\n appear: styles.opacitySlideAppear,\n appearActive: styles.opacitySlideAppearActive\n };\n break;\n }\n return (\n <span\n // don't remove old classname - override from Monolith\n className={cx(\"monday-style-dialog-content-wrapper\", styles.contentWrapper, wrapperClassName)}\n ref={forwardRef}\n data-testid={dataTestId}\n style={styleObject}\n onClickCapture={onClick}\n data-popper-reference-hidden={isReferenceHidden}\n >\n <CSSTransition {...transitionOptions} in={isOpen} appear={!!animationType} timeout={showDelay}>\n <div\n className={cx(styles.contentComponent, getStyle(styles, camelCase(position)), {\n [getStyle(styles, camelCase(\"edge-\" + startingEdge))]: startingEdge,\n [styles.hasTooltip]: hasTooltip\n })}\n ref={ref}\n >\n {React.Children.toArray(children).map((child: ReactElement) => {\n return cloneElement(child, {\n onMouseEnter: chainFunctions([child.props.onMouseEnter, onMouseEnter]),\n onMouseLeave: chainFunctions([child.props.onMouseLeave, onMouseLeave])\n });\n })}\n </div>\n </CSSTransition>\n </span>\n );\n }\n);\n"],"names":["EMPTY_OBJECT","ESCAPE_KEYS","keyCodes","ESCAPE","DialogContent","React","forwardRef","_ref","_ref$onEsc","onEsc","NOOP","children","position","wrapperClassName","_ref$isOpen","isOpen","startingEdge","_ref$animationType","animationType","_ref$onMouseEnter","onMouseEnter","_ref$onMouseLeave","onMouseLeave","_ref$onClickOutside","onClickOutside","_ref$onClick","onClick","_ref$onContextMenu","onContextMenu","showDelay","_ref$styleObject","styleObject","isReferenceHidden","_ref$hasTooltip","hasTooltip","containerSelector","_ref$disableContainer","disableContainerScroll","dataTestId","ref","useRef","onOutSideClick","useCallback","event","overrideOnContextMenu","useKeyEvent","keys","callback","useClickOutside","eventName","_useDisableScroll","useDisableScroll","disableScroll","enableScroll","useEffect","transitionOptions","classNames","undefined","appear","styles","expandAppear","appearActive","expandAppearActive","exit","expandExit","opacitySlideAppear","opacitySlideAppearActive","createElement","className","cx","contentWrapper","style","onClickCapture","CSSTransition","Object","assign","in","timeout","contentComponent","getStyle","camelCase","_defineProperty","Children","toArray","map","child","cloneElement","chainFunctions","props"],"mappings":"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"}
|
package/dist/mocked_classnames/src/components/DialogContentContainer/DialogContentContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContentContainer.js","sources":["../../../../../src/components/DialogContentContainer/DialogContentContainer.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport cx from \"classnames\";\nimport React, { useRef, forwardRef } from \"react\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { DialogSize as DialogSizeEnum, DialogType as DialogTypeEnum } from \"../Dialog/DialogConstants\";\nimport { DialogSize, DialogType } from \"../Dialog/Dialog.types\";\nimport { withStaticProps, VibeComponentProps, VibeComponent } from \"../../types\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./DialogContentContainer.module.scss\";\n\nexport interface DialogContentContainerProps extends VibeComponentProps {\n children?: React.ReactNode;\n ariaLabelledby?: string;\n ariaDescribedby?: string;\n type?: DialogType;\n size?: DialogSize;\n style?: React.CSSProperties;\n}\n\nconst DialogContentContainer: VibeComponent<DialogContentContainerProps> & {\n types?: typeof DialogTypeEnum;\n sizes?: typeof DialogSizeEnum;\n} = forwardRef(\n (\n {\n id,\n className = \"\",\n ariaLabelledby = \"\",\n ariaDescribedby = \"\",\n type = \"popover\",\n size = \"small\",\n children,\n style,\n \"data-testid\": dataTestId = getTestId(ComponentDefaultTestId.DIALOG_CONTENT_CONTAINER, id),\n ...props\n }: DialogContentContainerProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <div\n role=\"dialog\"\n data-testid={dataTestId}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n ref={mergedRef}\n style={style}\n className={cx(\n styles.dialogContentContainer,\n className,\n getStyle(styles, camelCase(\"type--\" + type)),\n getStyle(styles, camelCase(\"size--\" + size))\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nexport default withStaticProps(DialogContentContainer, {\n types: DialogTypeEnum,\n sizes: DialogSizeEnum\n});\n"],"names":["withStaticProps","forwardRef","_a","ref","_a$className","className","_a$ariaLabelledby","ariaLabelledby","_a$ariaDescribedby","ariaDescribedby","_a$type","type","_a$size","size","children","style","_a$dataTestid","dataTestId","getTestId","ComponentDefaultTestId","DIALOG_CONTENT_CONTAINER","id","props","__rest","componentRef","useRef","mergedRef","useMergeRef","React","createElement","Object","assign","role","cx","styles","dialogContentContainer","getStyle","camelCase","types","DialogTypeEnum","sizes","DialogSizeEnum"],"mappings":"+
|
|
1
|
+
{"version":3,"file":"DialogContentContainer.js","sources":["../../../../../src/components/DialogContentContainer/DialogContentContainer.tsx"],"sourcesContent":["import { camelCase } from \"lodash-es\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport cx from \"classnames\";\nimport React, { useRef, forwardRef } from \"react\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport { DialogSize as DialogSizeEnum, DialogType as DialogTypeEnum } from \"../Dialog/DialogConstants\";\nimport { DialogSize, DialogType } from \"../Dialog/Dialog.types\";\nimport { withStaticProps, VibeComponentProps, VibeComponent } from \"../../types\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./DialogContentContainer.module.scss\";\n\nexport interface DialogContentContainerProps extends VibeComponentProps {\n /**\n * The content inside the dialog container.\n */\n children?: React.ReactNode;\n /**\n * The ID of the element that labels this dialog.\n */\n ariaLabelledby?: string;\n /**\n * The ID of the element that describes this dialog.\n */\n ariaDescribedby?: string;\n /**\n * The type of dialog.\n */\n type?: DialogType;\n /**\n * The size of the dialog.\n */\n size?: DialogSize;\n /**\n * Custom styles applied to the dialog container.\n */\n style?: React.CSSProperties;\n}\n\nconst DialogContentContainer: VibeComponent<DialogContentContainerProps> & {\n types?: typeof DialogTypeEnum;\n sizes?: typeof DialogSizeEnum;\n} = forwardRef(\n (\n {\n id,\n className = \"\",\n ariaLabelledby = \"\",\n ariaDescribedby = \"\",\n type = \"popover\",\n size = \"small\",\n children,\n style,\n \"data-testid\": dataTestId = getTestId(ComponentDefaultTestId.DIALOG_CONTENT_CONTAINER, id),\n ...props\n }: DialogContentContainerProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <div\n role=\"dialog\"\n data-testid={dataTestId}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n ref={mergedRef}\n style={style}\n className={cx(\n styles.dialogContentContainer,\n className,\n getStyle(styles, camelCase(\"type--\" + type)),\n getStyle(styles, camelCase(\"size--\" + size))\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nexport default withStaticProps(DialogContentContainer, {\n types: DialogTypeEnum,\n sizes: DialogSizeEnum\n});\n"],"names":["withStaticProps","forwardRef","_a","ref","_a$className","className","_a$ariaLabelledby","ariaLabelledby","_a$ariaDescribedby","ariaDescribedby","_a$type","type","_a$size","size","children","style","_a$dataTestid","dataTestId","getTestId","ComponentDefaultTestId","DIALOG_CONTENT_CONTAINER","id","props","__rest","componentRef","useRef","mergedRef","useMergeRef","React","createElement","Object","assign","role","cx","styles","dialogContentContainer","getStyle","camelCase","types","DialogTypeEnum","sizes","DialogSizeEnum"],"mappings":"+kBAsCA,IA4CeA,EAAAA,EAzCXC,GACF,SACEC,EAYAC,GAZA,IACIC,EAQwFF,EAP1FG,UAAAA,OAAY,IAAHD,EAAG,GAAEA,EAAAE,EAO4EJ,EAN1FK,eAAAA,OAAiB,IAAHD,EAAG,GAAEA,EAAAE,EAMuEN,EAL1FO,gBAAAA,OAAkB,IAAHD,EAAG,GAAEA,EAAAE,EAKsER,EAJ1FS,KAAAA,OAAO,IAAHD,EAAG,UAASA,EAAAE,EAI0EV,EAH1FW,KAAAA,OAAO,IAAHD,EAAG,QAAOA,EACdE,EAE0FZ,EAF1FY,SACAC,EAC0Fb,EAD1Fa,MAAKC,EACqFd,EAA1F,eAAee,OAAaC,IAAHF,EAAGE,EAAUC,EAAuBC,yBAA6BlB,EAR1FmB,IAQ0FL,EACvFM,EAAKC,EAAArB,EAVV,sGAcMsB,EAAeC,EAAO,MACtBC,EAAYC,EAAYxB,EAAKqB,GAEnC,OACEI,EAAAC,cAAA,MAAAC,OAAAC,OAAA,CACEC,KAAK,SAAQ,cACAf,EAAU,kBACNV,EAAc,mBACbE,EAClBN,IAAKuB,EACLX,MAAOA,EACPV,UAAW4B,EACTC,EAAOC,uBACP9B,EACA+B,EAASF,EAAQG,EAAU,SAAW1B,IACtCyB,EAASF,EAAQG,EAAU,SAAWxB,MAEpCS,GAEHR,EAGP,IAGqD,CACrDwB,MAAOC,EACPC,MAAOC"}
|
|
@@ -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 { withStaticProps, VibeComponentProps } from \"../../types\";\nimport styles from \"./Divider.module.scss\";\n\nexport interface DividerProps extends VibeComponentProps {\n /**\n * The direction of the divider
|
|
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 { withStaticProps, VibeComponentProps } 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: React.FC<DividerProps> & {\n directions?: typeof DirectionTypeEnum;\n} = ({\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\nexport default withStaticProps(Divider, {\n directions: DirectionTypeEnum\n});\n"],"names":["withStaticProps","_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":"0dAoBA,IAoBeA,EAAAA,GAlBX,SAFSC,GAQM,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,GAEwC,CACtCc,WAAYC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e,defineProperty as n,toConsumableArray as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as t,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import{BaseSizes as a}from"../../constants/sizes.js";import s,{forwardRef as l,useRef as c,useMemo as u,useState as d,useEffect as p,useCallback as m}from"react";import f,{createFilter as
|
|
1
|
+
import{slicedToArray as e,defineProperty as n,toConsumableArray as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as t,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import{BaseSizes as a}from"../../constants/sizes.js";import s,{forwardRef as l,useRef as c,useMemo as u,useState as d,useEffect as p,useCallback as m}from"react";import f,{createFilter as O,components as v}from"react-select";import b from"react-select/async";import g from"react-select/base";import{noop as j}from"lodash-es";import C from"./components/menu/menu.js";import M from"./components/DropdownIndicator/DropdownIndicator.js";import y from"./components/option/option.js";import h from"./components/singleValue/singleValue.js";import w from"./components/ClearIndicator/ClearIndicator.js";import S from"./components/MultiValueContainer/MultiValueContainer.js";import{isClient as I}from"../../utils/ssr-utils.js";import{DROPDOWN_CHIP_COLORS as D,DROPDOWN_MENU_PLACEMENT as P,DROPDOWN_MENU_POSITION as V,ADD_AUTO_HEIGHT_COMPONENTS as R,defaultCustomStyles as W,DROPDOWN_ID as x,DROPDOWN_MENU_ID as A,DROPDOWN_MENU_ARIA_LABEL as E,DROPDOWN_INPUT_ARIA_LABEL as L}from"./DropdownConstants.js";import N,{customTheme as T}from"./Dropdown.styles.js";import z from"./components/Control/Control.js";import F from"../Text/Text.js";import B from"./components/menu/menu.module.scss.js";import k from"./Dropdown.module.scss.js";import{withStaticProps as H}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import{ComponentVibeId as q}from"../../tests/constants.js";var G=H(l((function(a,l){var O=a.className,D=a.optionWrapperClassName,P=a.singleValueWrapperClassName,V=a.dropdownMenuWrapperClassName,H=a.placeholder,G=void 0===H?"":H,K=a.allowPlaceholderEllipsis,_=a.disabled,J=void 0!==_&&_,Q=a.readOnly,U=void 0!==Q&&Q,X=a.onMenuOpen,Y=void 0===X?j:X,Z=a.onMenuClose,$=void 0===Z?j:Z,ee=a.onFocus,ne=void 0===ee?j:ee,oe=a.onBlur,te=void 0===oe?j:oe,re=a.onScroll,ie=void 0===re?j:re,ae=a.onMenuScrollToBottom,se=void 0===ae?j:ae,le=a.onChange,ce=void 0===le?j:le,ue=a.searchable,de=void 0===ue||ue,pe=a.captureMenuScroll,me=void 0!==pe&&pe,fe=a.options,Oe=void 0===fe?[]:fe,ve=a.defaultValue,be=a.value,ge=a.noOptionsMessage,je=a.openMenuOnFocus,Ce=a.openMenuOnClick,Me=a.clearable,ye=void 0===Me||Me,he=a.OptionRenderer,we=a.optionRenderer,Se=a.ValueRenderer,Ie=a.valueRenderer,De=a.menuRenderer,Pe=a.menuPlacement,Ve=void 0===Pe?"bottom":Pe,Re=a.rtl,We=a.size,xe=void 0===We?"medium":We,Ae=a.asyncOptions,Ee=a.cacheOptions,Le=a.defaultOptions,Ne=a.isVirtualized,Te=a.menuPortalTarget,ze=a.extraStyles,Fe=void 0===ze?W:ze,Be=a.maxMenuHeight,ke=a.menuIsOpen,He=a.tabIndex,qe=void 0===He?"0":He,Ge=a.id,Ke=void 0===Ge?x:Ge,_e=a.menuId,Je=void 0===_e?A:_e,Qe=a.menuAriaLabel,Ue=void 0===Qe?E:Qe,Xe=a.inputAriaLabel,Ye=void 0===Xe?L:Xe,Ze=a.autoFocus,$e=void 0!==Ze&&Ze,en=a.multi,nn=void 0!==en&&en,on=a.multiline,tn=void 0!==on&&on,rn=a.onOptionRemove,an=a.onOptionSelect,sn=a.onClear,ln=a.onInputChange,cn=void 0===ln?j:ln,un=a.closeMenuOnSelect,dn=void 0===un?!nn:un,pn=a.closeMenuOnScroll,mn=void 0!==pn&&pn,fn=a.withMandatoryDefaultOptions,On=void 0!==fn&&fn,vn=a.isOptionSelected,bn=a.insideOverflowContainer,gn=void 0!==bn&&bn,jn=a.insideOverflowWithTransformContainer,Cn=void 0!==jn&&jn,Mn=a.tooltipContent,yn=void 0===Mn?"":Mn,hn=a.onKeyDown,wn=void 0===hn?j:hn,Sn=a.isLoading,In=void 0!==Sn&&Sn,Dn=a.loadingMessage,Pn=a.ariaLabel,Vn=a.tabSelectsValue,Rn=void 0===Vn||Vn,Wn=a.popupsContainerSelector,xn=a.filterOption,An=a.menuPosition,En=void 0===An?"absolute":An,Ln=a["data-testid"],Nn=a.withGroupDivider,Tn=void 0!==Nn&&Nn,zn=a.inputValue,Fn=a.blurInputOnSelect,Bn=c(),kn=Te||Wn&&document.querySelector(Wn),Hn=u((function(){return ve?Array.isArray(ve)?ve.map((function(e){return Object.assign(Object.assign({},e),{isMandatory:!0})})):Object.assign(Object.assign({},ve),{isMandatory:!0}):ve}),[ve]);g.prototype.renderLiveRegion=function(){return null};var qn=d(null),Gn=e(qn,2),Kn=Gn[0],_n=Gn[1];p((function(){if(I()){try{"function"==typeof require&&"undefined"!=typeof module}catch(e){!1}import("react-windowed-select").then((function(e){_n((function(){return e.WindowedMenuList}))}))}}),[]);var Jn=d(Hn||[]),Qn=e(Jn,2),Un=Qn[0],Xn=Qn[1],Yn=d(""),Zn=e(Yn,2),$n=Zn[0],eo=Zn[1],no=we||he,oo=Ie||Se,to=!!be,ro=null!=be?be:Un,io=u((function(){return Array.isArray(ro)?ro.reduce((function(e,o){return Object.assign(Object.assign({},e),n({},o.value,o))}),{}):{}}),[ro]),ao=u((function(){return Pn||"".concat(U?"Readonly ":""," ").concat(yn," ").concat(Array.isArray(ro)?"Selected: ".concat(ro.map((function(e){return e.label})).join(", ")):"Select")}),[Pn,U,ro,yn]),so=nn?ro:be,lo=u((function(){var o=N({size:xe,rtl:Re,insideOverflowContainer:gn,controlRef:Bn,insideOverflowWithTransformContainer:Cn,withGroupDivider:Tn,searchable:de,allowPlaceholderEllipsis:K}),t=Fe(o),r=Object.entries(t).reduce((function(t,r){var i=e(r,2),a=i[0],s=i[1];return Object.assign(Object.assign({},t),n({},a,(function(e,n){var t=o[a],r=t?t(e,n):e;return s(r,n)})))}),{});if(nn){tn&&R.forEach((function(e){var n=r[e];r[e]=function(e,o){return Object.assign(Object.assign({},n(e,o)),{height:"auto"})}}));var i=r.valueContainer;r.valueContainer=function(e,n){return Object.assign(Object.assign({},i(e,n)),{paddingLeft:6})}}return r}),[xe,Re,gn,Cn,K,Fe,nn,tn]),co=m((function(e){return s.createElement(C,Object.assign({},e,{id:Je,ariaLabel:Ue,Renderer:De,dropdownMenuWrapperClassName:V,onScroll:ie}))}),[V,De,Je,Ue,ie]),uo=m((function(e){return s.createElement(M,Object.assign({},e,{size:xe}))}),[xe]),po=m((function(e){return s.createElement(y,Object.assign({setFocusedOptionId:eo},e,{Renderer:no,optionWrapperClassName:D}))}),[no,D,eo]),mo=m((function(e){var n=e.selectProps,o=n.focusedOptionId,t=n.menuIsOpen;return s.createElement(v.Input,Object.assign({},e,{"aria-activedescendant":o&&t?o:"",role:"combobox","aria-expanded":!U&&t,"aria-label":Ye,"aria-controls":Je,readOnly:!de||void 0}))}),[Je,U]),fo=m((function(e){return s.createElement(h,Object.assign({},e,{readOnly:U,Renderer:oo,selectedOption:ro[0],singleValueWrapperClassName:P}))}),[oo,U,ro,P]),Oo=m((function(e){return s.createElement(w,Object.assign({},e,{size:xe}))}),[xe]),vo=u((function(){return function(e,n){rn&&rn(io[e]);var o=Array.isArray(ro)?ro.filter((function(n){return n.value!==e})):ro;ce&&ce(o,n),Xn(o)}}),[ce,rn,ro,io]),bo=u((function(){return{selectedOptions:ro,onSelectedDelete:vo,isMultiline:tn,insideOverflowContainer:gn,insideOverflowWithTransformContainer:Cn,controlRef:Bn,tooltipContent:yn,popupsContainerSelector:Wn,size:xe}}),[ro,vo,tn,gn,Cn,yn,Wn,xe]),go=Ae?b:f;go=go.default||go;var jo=Object.assign({},Ae&&Object.assign({loadOptions:Ae,cacheOptions:Ee},Le&&{defaultOptions:Le})),Co=Object.assign(Object.assign({},!Ae&&{options:Oe}),nn&&{isMulti:!0}),Mo=m((function(e){var n,o=e.target;return!(null===(n=null==o?void 0:o.parentElement)||void 0===n?void 0:n.classList.contains(B.dropdownMenuWrapper))&&(mn||gn||Cn)}),[gn,Cn,mn]),yo=u((function(){return K?s.createElement(F,{type:"text2",color:"inherit"},G):G}),[K,G]);return s.createElement(go,Object.assign({className:i(k.dropdown,O),selectProps:bo,components:Object.assign(Object.assign({DropdownIndicator:uo,Menu:co,ClearIndicator:Oo,Input:mo,Option:po,Control:z,SingleValue:fo},nn&&{MultiValue:j,ValueContainer:S}),Ne&&Kn&&{MenuList:Kn}),closeMenuOnScroll:Mo,size:xe,noOptionsMessage:ge,placeholder:yo,isDisabled:J,isClearable:!U&&ye,isSearchable:!U,readOnly:U,"aria-readonly":U,"aria-label":ao,"aria-details":yn,"aria-haspopup":"listbox",defaultValue:ve,value:so,onMenuOpen:Y,onMenuClose:$,onFocus:ne,onBlur:te,onMenuScrollToBottom:se,captureMenuScroll:me,onChange:function(e,n){switch(ce&&ce(e,n),n.action){case"select-option":var t=nn?n.option:e;an&&an(t),to||Xn([].concat(o(ro),[t]));break;case"clear":sn&&sn(),to||Xn(On?Hn:[])}},onKeyDown:wn,onInputChange:cn,openMenuOnFocus:je,openMenuOnClick:Ce,focusedOptionId:$n,isRtl:Re,styles:lo,theme:T,maxMenuHeight:Be,menuPortalTarget:kn,menuPlacement:Ve,menuPosition:En,menuIsOpen:!U&&ke,tabIndex:qe,id:Ke,"data-testid":Ln||t(r.DROPDOWN,Ke),"data-vibe":q.DROPDOWN,autoFocus:$e,closeMenuOnSelect:dn,ref:l,withMandatoryDefaultOptions:On,isOptionSelected:vn,isLoading:In,loadingMessage:Dn,tabSelectsValue:Rn,filterOption:xn,inputValue:zn,blurInputOnSelect:Fn},jo,Co))})),{sizes:a,chipColors:D,menuPlacements:P,menuPositions:V,createFilter:O});export{G as default};
|
|
2
2
|
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { BaseSizes, SIZES_VALUES } from \"../../constants\";\nimport React, { forwardRef, useCallback, useMemo, useRef, useState, useEffect } from \"react\";\nimport Select, { InputProps, components, createFilter, ActionMeta } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport BaseSelect from \"react-select/base\";\nimport { noop as NOOP } from \"lodash-es\";\nimport MenuComponent from \"./components/menu/menu\";\nimport DropdownIndicatorComponent from \"./components/DropdownIndicator/DropdownIndicator\";\nimport OptionComponent from \"./components/option/option\";\nimport SingleValueComponent from \"./components/singleValue/singleValue\";\nimport ClearIndicatorComponent from \"./components/ClearIndicator/ClearIndicator\";\nimport MultiValueContainer from \"./components/MultiValueContainer/MultiValueContainer\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport {\n ADD_AUTO_HEIGHT_COMPONENTS,\n defaultCustomStyles,\n DROPDOWN_CHIP_COLORS,\n DROPDOWN_ID,\n DROPDOWN_INPUT_ARIA_LABEL,\n DROPDOWN_MENU_ARIA_LABEL,\n DROPDOWN_MENU_ID,\n DROPDOWN_MENU_PLACEMENT,\n DROPDOWN_MENU_POSITION\n} from \"./DropdownConstants\";\nimport generateBaseStyles, { customTheme } from \"./Dropdown.styles\";\nimport Control from \"./components/Control/Control\";\nimport Text from \"../Text/Text\";\nimport menuStyles from \"./components/menu/menu.module.scss\";\nimport styles from \"./Dropdown.module.scss\";\nimport {\n DropdownOption,\n DropdownState,\n CustomMenuProps,\n CustomOptionProps,\n CustomSingleValueProps,\n DropdownComponentProps\n} from \"./Dropdown.types\";\nimport { VibeComponent, withStaticProps } from \"../../types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst Dropdown: VibeComponent<DropdownComponentProps, HTMLElement> & {\n sizes?: typeof BaseSizes;\n chipColors?: typeof DROPDOWN_CHIP_COLORS;\n menuPlacements?: typeof DROPDOWN_MENU_PLACEMENT;\n menuPositions?: typeof DROPDOWN_MENU_POSITION;\n createFilter?: typeof createFilter;\n} = forwardRef(\n (\n {\n className,\n optionWrapperClassName,\n singleValueWrapperClassName,\n dropdownMenuWrapperClassName,\n placeholder = \"\",\n allowPlaceholderEllipsis,\n disabled = false,\n readOnly = false,\n onMenuOpen = NOOP,\n onMenuClose = NOOP,\n onFocus = NOOP,\n onBlur = NOOP,\n onScroll = NOOP,\n onMenuScrollToBottom = NOOP,\n onChange: customOnChange = NOOP,\n searchable = true,\n captureMenuScroll = false,\n options = [],\n defaultValue,\n value: customValue,\n noOptionsMessage,\n openMenuOnFocus,\n openMenuOnClick,\n clearable = true,\n OptionRenderer,\n optionRenderer,\n ValueRenderer,\n valueRenderer,\n menuRenderer,\n menuPlacement = \"bottom\",\n rtl,\n size = \"medium\",\n asyncOptions,\n cacheOptions,\n defaultOptions,\n isVirtualized,\n menuPortalTarget,\n extraStyles = defaultCustomStyles,\n maxMenuHeight,\n menuIsOpen,\n tabIndex = \"0\",\n id = DROPDOWN_ID,\n menuId = DROPDOWN_MENU_ID,\n menuAriaLabel = DROPDOWN_MENU_ARIA_LABEL,\n inputAriaLabel = DROPDOWN_INPUT_ARIA_LABEL,\n autoFocus = false,\n multi = false,\n multiline = false,\n onOptionRemove: customOnOptionRemove,\n onOptionSelect,\n onClear,\n onInputChange = NOOP,\n closeMenuOnSelect = !multi,\n closeMenuOnScroll: customCloseMenuOnScroll = false,\n withMandatoryDefaultOptions = false,\n isOptionSelected,\n insideOverflowContainer = false,\n insideOverflowWithTransformContainer = false,\n tooltipContent = \"\",\n onKeyDown = NOOP,\n isLoading = false,\n loadingMessage,\n ariaLabel,\n tabSelectsValue = true,\n popupsContainerSelector,\n filterOption,\n menuPosition = \"absolute\",\n \"data-testid\": dataTestId,\n withGroupDivider = false,\n inputValue,\n blurInputOnSelect\n }: DropdownComponentProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const controlRef = useRef();\n const overrideMenuPortalTarget =\n menuPortalTarget || (popupsContainerSelector && document.querySelector(popupsContainerSelector));\n const overrideDefaultValue = useMemo(() => {\n if (defaultValue) {\n return Array.isArray(defaultValue)\n ? (defaultValue as DropdownOption[]).map(df => ({ ...df, isMandatory: true }))\n : { ...(defaultValue as DropdownOption), isMandatory: true };\n }\n\n return defaultValue;\n }, [defaultValue]);\n\n BaseSelect.prototype.renderLiveRegion = (): null => {\n return null;\n };\n\n // SSR support\n const [WindowedMenuList, setWindowedMenuList] = useState(null);\n useEffect(() => {\n if (isClient()) {\n let isRequireAvailable = false;\n try {\n isRequireAvailable = typeof require === \"function\" && typeof module !== \"undefined\";\n } catch (e) {\n isRequireAvailable = false;\n }\n\n if (isRequireAvailable) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const module = require(\"react-windowed-select\");\n setWindowedMenuList(() => module.WindowedMenuList);\n } else {\n // Dynamically import the specific named export from react-windowed-select for SSR support\n import(\"react-windowed-select\").then(module => {\n setWindowedMenuList(() => module.WindowedMenuList);\n });\n }\n }\n }, []);\n\n const [selected, setSelected] = useState(overrideDefaultValue || []);\n const [focusedOptionId, setFocusedOptionId] = useState(\"\");\n const finalOptionRenderer = optionRenderer || OptionRenderer;\n const finalValueRenderer = valueRenderer || ValueRenderer;\n const isControlled = !!customValue;\n const selectedOptions = customValue ?? selected;\n const selectedOptionsMap = useMemo(() => {\n if (Array.isArray(selectedOptions)) {\n return selectedOptions.reduce((acc, option) => ({ ...acc, [option.value]: option }), {});\n }\n return {};\n }, [selectedOptions]);\n\n const overrideAriaLabel = useMemo(() => {\n return (\n ariaLabel ||\n `${readOnly ? \"Readonly \" : \"\"} ${tooltipContent} ${\n Array.isArray(selectedOptions) ? `Selected: ${selectedOptions.map(o => o.label).join(\", \")}` : \"Select\"\n }`\n );\n }, [ariaLabel, readOnly, selectedOptions, tooltipContent]);\n const value = multi ? selectedOptions : customValue;\n\n const inlineStyles = useMemo(() => {\n // We first want to get the default stylized groups (e.g. \"container\", \"menu\").\n const baseStyles = generateBaseStyles({\n size,\n rtl,\n insideOverflowContainer,\n controlRef,\n insideOverflowWithTransformContainer,\n withGroupDivider,\n searchable,\n allowPlaceholderEllipsis\n });\n\n type BaseStyles = typeof baseStyles;\n\n // Then we want to run the consumer's root-level custom styles with our \"base\" override groups.\n const customStyles = extraStyles(baseStyles);\n\n // Lastly, we create a style groups object that makes sure we run each custom group with our basic overrides.\n const mergedStyles: any = Object.entries(customStyles).reduce((accumulator, [stylesGroup, stylesFn]) => {\n return {\n ...accumulator,\n [stylesGroup]: (defaultStyles: BaseStyles, state: DropdownState) => {\n const providedFn = baseStyles[stylesGroup as keyof BaseStyles];\n const provided = providedFn ? providedFn(defaultStyles, state) : defaultStyles;\n\n return stylesFn(provided, state);\n }\n };\n }, {} as BaseStyles);\n\n if (multi) {\n if (multiline) {\n ADD_AUTO_HEIGHT_COMPONENTS.forEach((component: string) => {\n const original = mergedStyles[component];\n mergedStyles[component] = (provided: BaseStyles, state: DropdownState) => ({\n ...original(provided, state),\n height: \"auto\"\n });\n });\n }\n\n const originalValueContainer = mergedStyles.valueContainer;\n mergedStyles.valueContainer = (provided: BaseStyles, state: DropdownState) => ({\n ...originalValueContainer(provided, state),\n paddingLeft: 6\n });\n }\n\n return mergedStyles;\n }, [\n size,\n rtl,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n allowPlaceholderEllipsis,\n extraStyles,\n multi,\n multiline\n ]);\n\n const Menu = useCallback(\n (props: CustomMenuProps) => (\n <MenuComponent\n {...props}\n id={menuId}\n ariaLabel={menuAriaLabel}\n Renderer={menuRenderer}\n dropdownMenuWrapperClassName={dropdownMenuWrapperClassName}\n onScroll={onScroll}\n />\n ),\n [dropdownMenuWrapperClassName, menuRenderer, menuId, menuAriaLabel, onScroll]\n );\n\n const DropdownIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <DropdownIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const Option = useCallback(\n (props: CustomOptionProps) => (\n <OptionComponent\n setFocusedOptionId={setFocusedOptionId}\n {...props}\n Renderer={finalOptionRenderer}\n optionWrapperClassName={optionWrapperClassName}\n />\n ),\n [finalOptionRenderer, optionWrapperClassName, setFocusedOptionId]\n );\n\n const Input = useCallback(\n (props: InputProps | any) => {\n const { focusedOptionId, menuIsOpen } = props.selectProps;\n const ariaActiveDescendant = focusedOptionId && menuIsOpen ? focusedOptionId : \"\";\n return (\n <components.Input\n {...props}\n aria-activedescendant={ariaActiveDescendant}\n role=\"combobox\"\n aria-expanded={!readOnly && menuIsOpen}\n aria-label={inputAriaLabel}\n aria-controls={menuId}\n readOnly={!searchable ? true : undefined}\n />\n );\n },\n [menuId, readOnly]\n );\n\n const SingleValue = useCallback(\n (props: CustomSingleValueProps) => (\n <SingleValueComponent\n {...props}\n readOnly={readOnly}\n Renderer={finalValueRenderer}\n selectedOption={selectedOptions[0]}\n singleValueWrapperClassName={singleValueWrapperClassName}\n />\n ),\n [finalValueRenderer, readOnly, selectedOptions, singleValueWrapperClassName]\n );\n\n const ClearIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <ClearIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const onOptionRemove = useMemo(() => {\n return function (optionValue: number, e: React.MouseEvent | React.KeyboardEvent) {\n if (customOnOptionRemove) {\n customOnOptionRemove(selectedOptionsMap[optionValue]);\n }\n const newSelectedOptions = Array.isArray(selectedOptions)\n ? selectedOptions.filter(option => option.value !== optionValue)\n : selectedOptions;\n\n if (customOnChange) {\n customOnChange(newSelectedOptions, e);\n }\n setSelected(newSelectedOptions);\n };\n }, [customOnChange, customOnOptionRemove, selectedOptions, selectedOptionsMap]);\n\n const customProps = useMemo(\n () => ({\n selectedOptions,\n onSelectedDelete: onOptionRemove,\n isMultiline: multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n controlRef,\n tooltipContent,\n popupsContainerSelector,\n size\n }),\n [\n selectedOptions,\n onOptionRemove,\n multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n tooltipContent,\n popupsContainerSelector,\n size\n ]\n );\n const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta<DropdownOption>) => {\n if (customOnChange) {\n customOnChange(option, meta);\n }\n\n switch (meta.action) {\n case \"select-option\": {\n const selectedOption = multi ? meta.option : option;\n\n if (onOptionSelect) {\n onOptionSelect(selectedOption);\n }\n\n if (!isControlled) {\n setSelected([...selectedOptions, selectedOption]);\n }\n break;\n }\n\n case \"clear\":\n if (onClear) {\n onClear();\n }\n\n if (!isControlled) {\n if (withMandatoryDefaultOptions) setSelected(overrideDefaultValue);\n else setSelected([]);\n }\n break;\n }\n };\n\n let DropDownComponent: React.ElementType = asyncOptions ? AsyncSelect : Select;\n\n // @ts-expect-error - We need to check if the default export is available\n DropDownComponent = DropDownComponent.default || DropDownComponent;\n\n const asyncAdditions = {\n ...(asyncOptions && {\n loadOptions: asyncOptions,\n cacheOptions,\n ...(defaultOptions && { defaultOptions })\n })\n };\n\n const additions = {\n ...(!asyncOptions && { options }),\n ...(multi && {\n isMulti: true\n })\n };\n\n const closeMenuOnScroll = useCallback(\n (event: React.FocusEvent) => {\n const scrolledElement = event.target;\n if (scrolledElement?.parentElement?.classList.contains(menuStyles.dropdownMenuWrapper)) {\n return false;\n }\n return customCloseMenuOnScroll || insideOverflowContainer || insideOverflowWithTransformContainer;\n },\n [insideOverflowContainer, insideOverflowWithTransformContainer, customCloseMenuOnScroll]\n );\n\n const calculatedPlaceholder = useMemo(\n () =>\n allowPlaceholderEllipsis ? (\n <Text type=\"text2\" color=\"inherit\">\n {placeholder}\n </Text>\n ) : (\n placeholder\n ),\n [allowPlaceholderEllipsis, placeholder]\n );\n\n return (\n <DropDownComponent\n className={cx(styles.dropdown, className)}\n selectProps={customProps}\n components={{\n DropdownIndicator,\n Menu,\n ClearIndicator,\n Input,\n Option,\n Control,\n SingleValue,\n ...(multi && {\n MultiValue: NOOP, // We need it for react-select to behave nice with \"multi\"\n ValueContainer: MultiValueContainer\n }),\n ...(isVirtualized && WindowedMenuList && { MenuList: WindowedMenuList })\n }}\n // When inside scroll we set the menu position by js and we can't follow the drop down location while use scrolling\n closeMenuOnScroll={closeMenuOnScroll}\n size={size}\n noOptionsMessage={noOptionsMessage}\n placeholder={calculatedPlaceholder}\n isDisabled={disabled}\n isClearable={!readOnly && clearable}\n isSearchable={!readOnly}\n readOnly={readOnly}\n aria-readonly={readOnly}\n aria-label={overrideAriaLabel}\n aria-details={tooltipContent}\n aria-haspopup=\"listbox\"\n defaultValue={defaultValue}\n value={value}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n onFocus={onFocus}\n onBlur={onBlur}\n onMenuScrollToBottom={onMenuScrollToBottom}\n captureMenuScroll={captureMenuScroll}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onInputChange={onInputChange}\n openMenuOnFocus={openMenuOnFocus}\n openMenuOnClick={openMenuOnClick}\n focusedOptionId={focusedOptionId}\n isRtl={rtl}\n styles={inlineStyles}\n theme={customTheme}\n maxMenuHeight={maxMenuHeight}\n menuPortalTarget={overrideMenuPortalTarget}\n menuPlacement={menuPlacement}\n menuPosition={menuPosition}\n menuIsOpen={!readOnly && menuIsOpen}\n tabIndex={tabIndex}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n data-vibe={ComponentVibeId.DROPDOWN}\n autoFocus={autoFocus}\n closeMenuOnSelect={closeMenuOnSelect}\n ref={ref as React.Ref<any>}\n withMandatoryDefaultOptions={withMandatoryDefaultOptions}\n isOptionSelected={isOptionSelected}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n tabSelectsValue={tabSelectsValue}\n filterOption={filterOption}\n inputValue={inputValue}\n blurInputOnSelect={blurInputOnSelect}\n {...asyncAdditions}\n {...additions}\n />\n );\n }\n);\n\nexport default withStaticProps(Dropdown, {\n sizes: BaseSizes,\n chipColors: DROPDOWN_CHIP_COLORS,\n menuPlacements: DROPDOWN_MENU_PLACEMENT,\n menuPositions: DROPDOWN_MENU_POSITION,\n createFilter: createFilter\n});\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","optionWrapperClassName","singleValueWrapperClassName","dropdownMenuWrapperClassName","_ref$placeholder","placeholder","allowPlaceholderEllipsis","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$onMenuOpen","onMenuOpen","NOOP","_ref$onMenuClose","onMenuClose","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onScroll","onScroll","_ref$onMenuScrollToBo","onMenuScrollToBottom","_ref$onChange","onChange","customOnChange","_ref$searchable","searchable","_ref$captureMenuScrol","captureMenuScroll","_ref$options","options","defaultValue","customValue","value","noOptionsMessage","openMenuOnFocus","openMenuOnClick","_ref$clearable","clearable","OptionRenderer","optionRenderer","ValueRenderer","valueRenderer","menuRenderer","_ref$menuPlacement","menuPlacement","rtl","_ref$size","size","asyncOptions","cacheOptions","defaultOptions","isVirtualized","menuPortalTarget","_ref$extraStyles","extraStyles","defaultCustomStyles","maxMenuHeight","menuIsOpen","_ref$tabIndex","tabIndex","_ref$id","id","DROPDOWN_ID","_ref$menuId","menuId","DROPDOWN_MENU_ID","_ref$menuAriaLabel","menuAriaLabel","DROPDOWN_MENU_ARIA_LABEL","_ref$inputAriaLabel","inputAriaLabel","DROPDOWN_INPUT_ARIA_LABEL","_ref$autoFocus","autoFocus","_ref$multi","multi","_ref$multiline","multiline","customOnOptionRemove","onOptionRemove","onOptionSelect","onClear","_ref$onInputChange","onInputChange","_ref$closeMenuOnSelec","closeMenuOnSelect","_ref$closeMenuOnScrol","closeMenuOnScroll","customCloseMenuOnScroll","_ref$withMandatoryDef","withMandatoryDefaultOptions","isOptionSelected","_ref$insideOverflowCo","insideOverflowContainer","_ref$insideOverflowWi","insideOverflowWithTransformContainer","_ref$tooltipContent","tooltipContent","_ref$onKeyDown","onKeyDown","_ref$isLoading","isLoading","loadingMessage","ariaLabel","_ref$tabSelectsValue","tabSelectsValue","popupsContainerSelector","filterOption","_ref$menuPosition","menuPosition","dataTestId","_ref$withGroupDivider","withGroupDivider","inputValue","blurInputOnSelect","controlRef","useRef","overrideMenuPortalTarget","document","querySelector","overrideDefaultValue","useMemo","Array","isArray","map","df","Object","assign","isMandatory","BaseSelect","prototype","renderLiveRegion","_useState","useState","_useState2","_slicedToArray","WindowedMenuList","setWindowedMenuList","useEffect","isClient","isRequireAvailable","require","module","e","import","then","_useState3","_useState4","selected","setSelected","_useState5","_useState6","focusedOptionId","setFocusedOptionId","finalOptionRenderer","finalValueRenderer","isControlled","selectedOptions","selectedOptionsMap","reduce","acc","option","_defineProperty","overrideAriaLabel","concat","o","label","join","inlineStyles","baseStyles","generateBaseStyles","customStyles","mergedStyles","entries","accumulator","_ref2","_ref3","stylesGroup","stylesFn","defaultStyles","state","providedFn","provided","ADD_AUTO_HEIGHT_COMPONENTS","forEach","component","original","height","originalValueContainer","valueContainer","paddingLeft","Menu","useCallback","props","React","createElement","MenuComponent","Renderer","DropdownIndicator","DropdownIndicatorComponent","Option","OptionComponent","Input","_props$selectProps","selectProps","components","role","undefined","SingleValue","SingleValueComponent","selectedOption","ClearIndicator","ClearIndicatorComponent","optionValue","newSelectedOptions","filter","customProps","onSelectedDelete","isMultiline","DropDownComponent","AsyncSelect","Select","default","asyncAdditions","loadOptions","additions","isMulti","event","scrolledElement","target","parentElement","_a","classList","contains","menuStyles","dropdownMenuWrapper","calculatedPlaceholder","Text","type","color","cx","styles","dropdown","Control","MultiValue","ValueContainer","MultiValueContainer","MenuList","isDisabled","isClearable","isSearchable","meta","action","_toConsumableArray","isRtl","theme","customTheme","getTestId","ComponentDefaultTestId","DROPDOWN","ComponentVibeId","sizes","BaseSizes","chipColors","DROPDOWN_CHIP_COLORS","menuPlacements","DROPDOWN_MENU_PLACEMENT","menuPositions","DROPDOWN_MENU_POSITION","createFilter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { BaseSizes, SIZES_VALUES } from \"../../constants\";\nimport React, { forwardRef, useCallback, useMemo, useRef, useState, useEffect } from \"react\";\nimport Select, { InputProps, components, createFilter, ActionMeta } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport BaseSelect from \"react-select/base\";\nimport { noop as NOOP } from \"lodash-es\";\nimport MenuComponent from \"./components/menu/menu\";\nimport DropdownIndicatorComponent from \"./components/DropdownIndicator/DropdownIndicator\";\nimport OptionComponent from \"./components/option/option\";\nimport SingleValueComponent from \"./components/singleValue/singleValue\";\nimport ClearIndicatorComponent from \"./components/ClearIndicator/ClearIndicator\";\nimport MultiValueContainer from \"./components/MultiValueContainer/MultiValueContainer\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport {\n ADD_AUTO_HEIGHT_COMPONENTS,\n defaultCustomStyles,\n DROPDOWN_CHIP_COLORS,\n DROPDOWN_ID,\n DROPDOWN_INPUT_ARIA_LABEL,\n DROPDOWN_MENU_ARIA_LABEL,\n DROPDOWN_MENU_ID,\n DROPDOWN_MENU_PLACEMENT,\n DROPDOWN_MENU_POSITION\n} from \"./DropdownConstants\";\nimport generateBaseStyles, { customTheme } from \"./Dropdown.styles\";\nimport Control from \"./components/Control/Control\";\nimport Text from \"../Text/Text\";\nimport menuStyles from \"./components/menu/menu.module.scss\";\nimport styles from \"./Dropdown.module.scss\";\nimport {\n DropdownOption,\n DropdownState,\n CustomMenuProps,\n CustomOptionProps,\n CustomSingleValueProps,\n DropdownComponentProps\n} from \"./Dropdown.types\";\nimport { VibeComponent, withStaticProps } from \"../../types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst Dropdown: VibeComponent<DropdownComponentProps, HTMLElement> & {\n sizes?: typeof BaseSizes;\n chipColors?: typeof DROPDOWN_CHIP_COLORS;\n menuPlacements?: typeof DROPDOWN_MENU_PLACEMENT;\n menuPositions?: typeof DROPDOWN_MENU_POSITION;\n createFilter?: typeof createFilter;\n} = forwardRef(\n (\n {\n className,\n optionWrapperClassName,\n singleValueWrapperClassName,\n dropdownMenuWrapperClassName,\n placeholder = \"\",\n allowPlaceholderEllipsis,\n disabled = false,\n readOnly = false,\n onMenuOpen = NOOP,\n onMenuClose = NOOP,\n onFocus = NOOP,\n onBlur = NOOP,\n onScroll = NOOP,\n onMenuScrollToBottom = NOOP,\n onChange: customOnChange = NOOP,\n searchable = true,\n captureMenuScroll = false,\n options = [],\n defaultValue,\n value: customValue,\n noOptionsMessage,\n openMenuOnFocus,\n openMenuOnClick,\n clearable = true,\n OptionRenderer,\n optionRenderer,\n ValueRenderer,\n valueRenderer,\n menuRenderer,\n menuPlacement = \"bottom\",\n rtl,\n size = \"medium\",\n asyncOptions,\n cacheOptions,\n defaultOptions,\n isVirtualized,\n menuPortalTarget,\n extraStyles = defaultCustomStyles,\n maxMenuHeight,\n menuIsOpen,\n tabIndex = \"0\",\n id = DROPDOWN_ID,\n menuId = DROPDOWN_MENU_ID,\n menuAriaLabel = DROPDOWN_MENU_ARIA_LABEL,\n inputAriaLabel = DROPDOWN_INPUT_ARIA_LABEL,\n autoFocus = false,\n multi = false,\n multiline = false,\n onOptionRemove: customOnOptionRemove,\n onOptionSelect,\n onClear,\n onInputChange = NOOP,\n closeMenuOnSelect = !multi,\n closeMenuOnScroll: customCloseMenuOnScroll = false,\n withMandatoryDefaultOptions = false,\n isOptionSelected,\n insideOverflowContainer = false,\n insideOverflowWithTransformContainer = false,\n tooltipContent = \"\",\n onKeyDown = NOOP,\n isLoading = false,\n loadingMessage,\n ariaLabel,\n tabSelectsValue = true,\n popupsContainerSelector,\n filterOption,\n menuPosition = \"absolute\",\n \"data-testid\": dataTestId,\n withGroupDivider = false,\n inputValue,\n blurInputOnSelect\n }: DropdownComponentProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const controlRef = useRef();\n const overrideMenuPortalTarget =\n menuPortalTarget || (popupsContainerSelector && document.querySelector(popupsContainerSelector));\n const overrideDefaultValue = useMemo(() => {\n if (defaultValue) {\n return Array.isArray(defaultValue)\n ? (defaultValue as DropdownOption[]).map(df => ({ ...df, isMandatory: true }))\n : { ...(defaultValue as DropdownOption), isMandatory: true };\n }\n\n return defaultValue;\n }, [defaultValue]);\n\n BaseSelect.prototype.renderLiveRegion = (): null => {\n return null;\n };\n\n // SSR support\n const [WindowedMenuList, setWindowedMenuList] = useState(null);\n useEffect(() => {\n if (isClient()) {\n let isRequireAvailable = false;\n try {\n isRequireAvailable = typeof require === \"function\" && typeof module !== \"undefined\";\n } catch (e) {\n isRequireAvailable = false;\n }\n\n if (isRequireAvailable && process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const module = require(\"react-windowed-select\");\n setWindowedMenuList(() => module.WindowedMenuList);\n } else {\n // Dynamically import the specific named export from react-windowed-select for SSR support\n import(\"react-windowed-select\").then(module => {\n setWindowedMenuList(() => module.WindowedMenuList);\n });\n }\n }\n }, []);\n\n const [selected, setSelected] = useState(overrideDefaultValue || []);\n const [focusedOptionId, setFocusedOptionId] = useState(\"\");\n const finalOptionRenderer = optionRenderer || OptionRenderer;\n const finalValueRenderer = valueRenderer || ValueRenderer;\n const isControlled = !!customValue;\n const selectedOptions = customValue ?? selected;\n const selectedOptionsMap = useMemo(() => {\n if (Array.isArray(selectedOptions)) {\n return selectedOptions.reduce((acc, option) => ({ ...acc, [option.value]: option }), {});\n }\n return {};\n }, [selectedOptions]);\n\n const overrideAriaLabel = useMemo(() => {\n return (\n ariaLabel ||\n `${readOnly ? \"Readonly \" : \"\"} ${tooltipContent} ${\n Array.isArray(selectedOptions) ? `Selected: ${selectedOptions.map(o => o.label).join(\", \")}` : \"Select\"\n }`\n );\n }, [ariaLabel, readOnly, selectedOptions, tooltipContent]);\n const value = multi ? selectedOptions : customValue;\n\n const inlineStyles = useMemo(() => {\n // We first want to get the default stylized groups (e.g. \"container\", \"menu\").\n const baseStyles = generateBaseStyles({\n size,\n rtl,\n insideOverflowContainer,\n controlRef,\n insideOverflowWithTransformContainer,\n withGroupDivider,\n searchable,\n allowPlaceholderEllipsis\n });\n\n type BaseStyles = typeof baseStyles;\n\n // Then we want to run the consumer's root-level custom styles with our \"base\" override groups.\n const customStyles = extraStyles(baseStyles);\n\n // Lastly, we create a style groups object that makes sure we run each custom group with our basic overrides.\n const mergedStyles: any = Object.entries(customStyles).reduce((accumulator, [stylesGroup, stylesFn]) => {\n return {\n ...accumulator,\n [stylesGroup]: (defaultStyles: BaseStyles, state: DropdownState) => {\n const providedFn = baseStyles[stylesGroup as keyof BaseStyles];\n const provided = providedFn ? providedFn(defaultStyles, state) : defaultStyles;\n\n return stylesFn(provided, state);\n }\n };\n }, {} as BaseStyles);\n\n if (multi) {\n if (multiline) {\n ADD_AUTO_HEIGHT_COMPONENTS.forEach((component: string) => {\n const original = mergedStyles[component];\n mergedStyles[component] = (provided: BaseStyles, state: DropdownState) => ({\n ...original(provided, state),\n height: \"auto\"\n });\n });\n }\n\n const originalValueContainer = mergedStyles.valueContainer;\n mergedStyles.valueContainer = (provided: BaseStyles, state: DropdownState) => ({\n ...originalValueContainer(provided, state),\n paddingLeft: 6\n });\n }\n\n return mergedStyles;\n }, [\n size,\n rtl,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n allowPlaceholderEllipsis,\n extraStyles,\n multi,\n multiline\n ]);\n\n const Menu = useCallback(\n (props: CustomMenuProps) => (\n <MenuComponent\n {...props}\n id={menuId}\n ariaLabel={menuAriaLabel}\n Renderer={menuRenderer}\n dropdownMenuWrapperClassName={dropdownMenuWrapperClassName}\n onScroll={onScroll}\n />\n ),\n [dropdownMenuWrapperClassName, menuRenderer, menuId, menuAriaLabel, onScroll]\n );\n\n const DropdownIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <DropdownIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const Option = useCallback(\n (props: CustomOptionProps) => (\n <OptionComponent\n setFocusedOptionId={setFocusedOptionId}\n {...props}\n Renderer={finalOptionRenderer}\n optionWrapperClassName={optionWrapperClassName}\n />\n ),\n [finalOptionRenderer, optionWrapperClassName, setFocusedOptionId]\n );\n\n const Input = useCallback(\n (props: InputProps | any) => {\n const { focusedOptionId, menuIsOpen } = props.selectProps;\n const ariaActiveDescendant = focusedOptionId && menuIsOpen ? focusedOptionId : \"\";\n return (\n <components.Input\n {...props}\n aria-activedescendant={ariaActiveDescendant}\n role=\"combobox\"\n aria-expanded={!readOnly && menuIsOpen}\n aria-label={inputAriaLabel}\n aria-controls={menuId}\n readOnly={!searchable ? true : undefined}\n />\n );\n },\n [menuId, readOnly]\n );\n\n const SingleValue = useCallback(\n (props: CustomSingleValueProps) => (\n <SingleValueComponent\n {...props}\n readOnly={readOnly}\n Renderer={finalValueRenderer}\n selectedOption={selectedOptions[0]}\n singleValueWrapperClassName={singleValueWrapperClassName}\n />\n ),\n [finalValueRenderer, readOnly, selectedOptions, singleValueWrapperClassName]\n );\n\n const ClearIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <ClearIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const onOptionRemove = useMemo(() => {\n return function (optionValue: number, e: React.MouseEvent | React.KeyboardEvent) {\n if (customOnOptionRemove) {\n customOnOptionRemove(selectedOptionsMap[optionValue]);\n }\n const newSelectedOptions = Array.isArray(selectedOptions)\n ? selectedOptions.filter(option => option.value !== optionValue)\n : selectedOptions;\n\n if (customOnChange) {\n customOnChange(newSelectedOptions, e);\n }\n setSelected(newSelectedOptions);\n };\n }, [customOnChange, customOnOptionRemove, selectedOptions, selectedOptionsMap]);\n\n const customProps = useMemo(\n () => ({\n selectedOptions,\n onSelectedDelete: onOptionRemove,\n isMultiline: multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n controlRef,\n tooltipContent,\n popupsContainerSelector,\n size\n }),\n [\n selectedOptions,\n onOptionRemove,\n multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n tooltipContent,\n popupsContainerSelector,\n size\n ]\n );\n const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta<DropdownOption>) => {\n if (customOnChange) {\n customOnChange(option, meta);\n }\n\n switch (meta.action) {\n case \"select-option\": {\n const selectedOption = multi ? meta.option : option;\n\n if (onOptionSelect) {\n onOptionSelect(selectedOption);\n }\n\n if (!isControlled) {\n setSelected([...selectedOptions, selectedOption]);\n }\n break;\n }\n\n case \"clear\":\n if (onClear) {\n onClear();\n }\n\n if (!isControlled) {\n if (withMandatoryDefaultOptions) setSelected(overrideDefaultValue);\n else setSelected([]);\n }\n break;\n }\n };\n\n let DropDownComponent: React.ElementType = asyncOptions ? AsyncSelect : Select;\n\n // @ts-expect-error - We need to check if the default export is available\n DropDownComponent = DropDownComponent.default || DropDownComponent;\n\n const asyncAdditions = {\n ...(asyncOptions && {\n loadOptions: asyncOptions,\n cacheOptions,\n ...(defaultOptions && { defaultOptions })\n })\n };\n\n const additions = {\n ...(!asyncOptions && { options }),\n ...(multi && {\n isMulti: true\n })\n };\n\n const closeMenuOnScroll = useCallback(\n (event: React.FocusEvent) => {\n const scrolledElement = event.target;\n if (scrolledElement?.parentElement?.classList.contains(menuStyles.dropdownMenuWrapper)) {\n return false;\n }\n return customCloseMenuOnScroll || insideOverflowContainer || insideOverflowWithTransformContainer;\n },\n [insideOverflowContainer, insideOverflowWithTransformContainer, customCloseMenuOnScroll]\n );\n\n const calculatedPlaceholder = useMemo(\n () =>\n allowPlaceholderEllipsis ? (\n <Text type=\"text2\" color=\"inherit\">\n {placeholder}\n </Text>\n ) : (\n placeholder\n ),\n [allowPlaceholderEllipsis, placeholder]\n );\n\n return (\n <DropDownComponent\n className={cx(styles.dropdown, className)}\n selectProps={customProps}\n components={{\n DropdownIndicator,\n Menu,\n ClearIndicator,\n Input,\n Option,\n Control,\n SingleValue,\n ...(multi && {\n MultiValue: NOOP, // We need it for react-select to behave nice with \"multi\"\n ValueContainer: MultiValueContainer\n }),\n ...(isVirtualized && WindowedMenuList && { MenuList: WindowedMenuList })\n }}\n // When inside scroll we set the menu position by js and we can't follow the drop down location while use scrolling\n closeMenuOnScroll={closeMenuOnScroll}\n size={size}\n noOptionsMessage={noOptionsMessage}\n placeholder={calculatedPlaceholder}\n isDisabled={disabled}\n isClearable={!readOnly && clearable}\n isSearchable={!readOnly}\n readOnly={readOnly}\n aria-readonly={readOnly}\n aria-label={overrideAriaLabel}\n aria-details={tooltipContent}\n aria-haspopup=\"listbox\"\n defaultValue={defaultValue}\n value={value}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n onFocus={onFocus}\n onBlur={onBlur}\n onMenuScrollToBottom={onMenuScrollToBottom}\n captureMenuScroll={captureMenuScroll}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onInputChange={onInputChange}\n openMenuOnFocus={openMenuOnFocus}\n openMenuOnClick={openMenuOnClick}\n focusedOptionId={focusedOptionId}\n isRtl={rtl}\n styles={inlineStyles}\n theme={customTheme}\n maxMenuHeight={maxMenuHeight}\n menuPortalTarget={overrideMenuPortalTarget}\n menuPlacement={menuPlacement}\n menuPosition={menuPosition}\n menuIsOpen={!readOnly && menuIsOpen}\n tabIndex={tabIndex}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n data-vibe={ComponentVibeId.DROPDOWN}\n autoFocus={autoFocus}\n closeMenuOnSelect={closeMenuOnSelect}\n ref={ref as React.Ref<any>}\n withMandatoryDefaultOptions={withMandatoryDefaultOptions}\n isOptionSelected={isOptionSelected}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n tabSelectsValue={tabSelectsValue}\n filterOption={filterOption}\n inputValue={inputValue}\n blurInputOnSelect={blurInputOnSelect}\n {...asyncAdditions}\n {...additions}\n />\n );\n }\n);\n\nexport default withStaticProps(Dropdown, {\n sizes: BaseSizes,\n chipColors: DROPDOWN_CHIP_COLORS,\n menuPlacements: DROPDOWN_MENU_PLACEMENT,\n menuPositions: DROPDOWN_MENU_POSITION,\n createFilter: createFilter\n});\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","optionWrapperClassName","singleValueWrapperClassName","dropdownMenuWrapperClassName","_ref$placeholder","placeholder","allowPlaceholderEllipsis","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$onMenuOpen","onMenuOpen","NOOP","_ref$onMenuClose","onMenuClose","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onScroll","onScroll","_ref$onMenuScrollToBo","onMenuScrollToBottom","_ref$onChange","onChange","customOnChange","_ref$searchable","searchable","_ref$captureMenuScrol","captureMenuScroll","_ref$options","options","defaultValue","customValue","value","noOptionsMessage","openMenuOnFocus","openMenuOnClick","_ref$clearable","clearable","OptionRenderer","optionRenderer","ValueRenderer","valueRenderer","menuRenderer","_ref$menuPlacement","menuPlacement","rtl","_ref$size","size","asyncOptions","cacheOptions","defaultOptions","isVirtualized","menuPortalTarget","_ref$extraStyles","extraStyles","defaultCustomStyles","maxMenuHeight","menuIsOpen","_ref$tabIndex","tabIndex","_ref$id","id","DROPDOWN_ID","_ref$menuId","menuId","DROPDOWN_MENU_ID","_ref$menuAriaLabel","menuAriaLabel","DROPDOWN_MENU_ARIA_LABEL","_ref$inputAriaLabel","inputAriaLabel","DROPDOWN_INPUT_ARIA_LABEL","_ref$autoFocus","autoFocus","_ref$multi","multi","_ref$multiline","multiline","customOnOptionRemove","onOptionRemove","onOptionSelect","onClear","_ref$onInputChange","onInputChange","_ref$closeMenuOnSelec","closeMenuOnSelect","_ref$closeMenuOnScrol","closeMenuOnScroll","customCloseMenuOnScroll","_ref$withMandatoryDef","withMandatoryDefaultOptions","isOptionSelected","_ref$insideOverflowCo","insideOverflowContainer","_ref$insideOverflowWi","insideOverflowWithTransformContainer","_ref$tooltipContent","tooltipContent","_ref$onKeyDown","onKeyDown","_ref$isLoading","isLoading","loadingMessage","ariaLabel","_ref$tabSelectsValue","tabSelectsValue","popupsContainerSelector","filterOption","_ref$menuPosition","menuPosition","dataTestId","_ref$withGroupDivider","withGroupDivider","inputValue","blurInputOnSelect","controlRef","useRef","overrideMenuPortalTarget","document","querySelector","overrideDefaultValue","useMemo","Array","isArray","map","df","Object","assign","isMandatory","BaseSelect","prototype","renderLiveRegion","_useState","useState","_useState2","_slicedToArray","WindowedMenuList","setWindowedMenuList","useEffect","isClient","require","module","e","import","then","_useState3","_useState4","selected","setSelected","_useState5","_useState6","focusedOptionId","setFocusedOptionId","finalOptionRenderer","finalValueRenderer","isControlled","selectedOptions","selectedOptionsMap","reduce","acc","option","_defineProperty","overrideAriaLabel","concat","o","label","join","inlineStyles","baseStyles","generateBaseStyles","customStyles","mergedStyles","entries","accumulator","_ref2","_ref3","stylesGroup","stylesFn","defaultStyles","state","providedFn","provided","ADD_AUTO_HEIGHT_COMPONENTS","forEach","component","original","height","originalValueContainer","valueContainer","paddingLeft","Menu","useCallback","props","React","createElement","MenuComponent","Renderer","DropdownIndicator","DropdownIndicatorComponent","Option","OptionComponent","Input","_props$selectProps","selectProps","components","role","undefined","SingleValue","SingleValueComponent","selectedOption","ClearIndicator","ClearIndicatorComponent","optionValue","newSelectedOptions","filter","customProps","onSelectedDelete","isMultiline","DropDownComponent","AsyncSelect","Select","default","asyncAdditions","loadOptions","additions","isMulti","event","scrolledElement","target","parentElement","_a","classList","contains","menuStyles","dropdownMenuWrapper","calculatedPlaceholder","Text","type","color","cx","styles","dropdown","Control","MultiValue","ValueContainer","MultiValueContainer","MenuList","isDisabled","isClearable","isSearchable","meta","action","_toConsumableArray","isRtl","theme","customTheme","getTestId","ComponentDefaultTestId","DROPDOWN","ComponentVibeId","sizes","BaseSizes","chipColors","DROPDOWN_CHIP_COLORS","menuPlacements","DROPDOWN_MENU_PLACEMENT","menuPositions","DROPDOWN_MENU_POSITION","createFilter"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableHeading.js","sources":["../../../../../src/components/EditableHeading/EditableHeading.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport React, { forwardRef } from \"react\";\nimport Heading from \"../Heading/Heading\";\nimport { VibeComponent, VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./EditableHeading.module.scss\";\nimport { HeadingType as HeadingTypeEnum, HeadingWeight as HeadingWeightEnum } from \"../Heading/HeadingConstants\";\nimport { HeadingType, HeadingWeight } from \"../Heading/Heading.types\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"lodash-es\";\nimport EditableTypography, { EditableTypographyImplementationProps } from \"../EditableTypography/EditableTypography\";\n\nexport interface EditableHeadingProps extends VibeComponentProps, EditableTypographyImplementationProps {\n /**\n *
|
|
1
|
+
{"version":3,"file":"EditableHeading.js","sources":["../../../../../src/components/EditableHeading/EditableHeading.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport React, { forwardRef } from \"react\";\nimport Heading from \"../Heading/Heading\";\nimport { VibeComponent, VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./EditableHeading.module.scss\";\nimport { HeadingType as HeadingTypeEnum, HeadingWeight as HeadingWeightEnum } from \"../Heading/HeadingConstants\";\nimport { HeadingType, HeadingWeight } from \"../Heading/Heading.types\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"lodash-es\";\nimport EditableTypography, { EditableTypographyImplementationProps } from \"../EditableTypography/EditableTypography\";\n\nexport interface EditableHeadingProps extends VibeComponentProps, EditableTypographyImplementationProps {\n /**\n * The type of the heading element.\n */\n type?: HeadingType;\n /**\n * The font weight of the heading.\n */\n weight?: HeadingWeight;\n}\n\nconst EditableHeading: VibeComponent<EditableHeadingProps, HTMLElement> & {\n types?: typeof HeadingTypeEnum;\n weights?: typeof HeadingWeightEnum;\n} = forwardRef(\n (\n { type = \"h1\", weight = \"normal\", id, \"data-testid\": dataTestId, ...editableTypographyProps }: EditableHeadingProps,\n ref\n ) => {\n return (\n <EditableTypography\n ref={ref}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.EDITABLE_HEADING, id)}\n component={Heading}\n typographyClassName={getStyle(styles, camelCase(type + \"-\" + weight))}\n type={type}\n weight={weight}\n {...editableTypographyProps}\n />\n );\n }\n);\n\nexport default withStaticProps(EditableHeading, {\n types: HeadingTypeEnum,\n weights: HeadingWeightEnum\n});\n"],"names":["withStaticProps","forwardRef","_a","ref","_a$type","type","_a$weight","weight","id","dataTestId","editableTypographyProps","__rest","React","EditableTypography","Object","assign","getTestId","ComponentDefaultTestId","EDITABLE_HEADING","component","Heading","typographyClassName","getStyle","styles","camelCase","types","HeadingTypeEnum","weights","HeadingWeightEnum"],"mappings":"8lBAsBA,IAsBeA,EAAAA,EAnBXC,GACF,SACEC,EACAC,GADA,IAAAC,EAA+DF,EAA7DG,KAAAA,OAAO,IAAHD,EAAG,KAAIA,EAAAE,EAAkDJ,EAAhDK,OAAAA,OAAS,IAAHD,EAAG,SAAQA,EAAEE,EAA6BN,EAA7BM,GAAmBC,EAAUP,EAAzB,eAA8BQ,EAAuBC,EAAAT,EAA3F,sCAGA,OACEU,gBAACC,EAAkBC,OAAAC,OAAA,CACjBZ,IAAKA,EACQ,cAAAM,GAAcO,EAAUC,EAAuBC,iBAAkBV,GAC9EW,UAAWC,EACXC,oBAAqBC,EAASC,EAAQC,EAAUnB,EAAO,IAAME,IAC7DF,KAAMA,EACNE,OAAQA,GACJG,GAGV,IAG8C,CAC9Ce,MAAOC,EACPC,QAASC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableText.js","sources":["../../../../../src/components/EditableText/EditableText.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport React, { forwardRef } from \"react\";\nimport { VibeComponent, VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./EditableText.module.scss\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"lodash-es\";\nimport EditableTypography, { EditableTypographyImplementationProps } from \"../EditableTypography/EditableTypography\";\nimport { TextType as TextTypeEnum, TextWeight as TextWeightEnum } from \"../Text/TextConstants\";\nimport { TextType, TextWeight } from \"../Text/Text.types\";\nimport Text from \"../Text/Text\";\nimport cx from \"classnames\";\n\nexport interface EditableTextProps extends VibeComponentProps, EditableTypographyImplementationProps {\n /**\n *
|
|
1
|
+
{"version":3,"file":"EditableText.js","sources":["../../../../../src/components/EditableText/EditableText.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport React, { forwardRef } from \"react\";\nimport { VibeComponent, VibeComponentProps, withStaticProps } from \"../../types\";\nimport styles from \"./EditableText.module.scss\";\nimport { getStyle } from \"../../helpers/typesciptCssModulesHelper\";\nimport { camelCase } from \"lodash-es\";\nimport EditableTypography, { EditableTypographyImplementationProps } from \"../EditableTypography/EditableTypography\";\nimport { TextType as TextTypeEnum, TextWeight as TextWeightEnum } from \"../Text/TextConstants\";\nimport { TextType, TextWeight } from \"../Text/Text.types\";\nimport Text from \"../Text/Text\";\nimport cx from \"classnames\";\n\nexport interface EditableTextProps extends VibeComponentProps, EditableTypographyImplementationProps {\n /**\n * The text style variant.\n */\n type?: TextType;\n /**\n * The font weight of the text.\n */\n weight?: TextWeight;\n /**\n * If true, enables editing multiple lines of text.\n */\n multiline?: boolean;\n}\n\nconst EditableText: VibeComponent<EditableTextProps, HTMLElement> & {\n types?: typeof TextTypeEnum;\n weights?: typeof TextWeightEnum;\n} = forwardRef(\n (\n {\n type = \"text2\",\n weight = \"normal\",\n \"data-testid\": dataTestId,\n id,\n multiline,\n ...editableTypographyProps\n }: EditableTextProps,\n ref\n ) => {\n return (\n <EditableTypography\n className={styles.editableText}\n ref={ref}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.EDITABLE_TEXT, id)}\n component={Text}\n typographyClassName={cx(getStyle(styles, camelCase(type + \"-\" + weight)), styles.typography)}\n clearable\n type={type}\n weight={weight}\n multiline={multiline}\n {...editableTypographyProps}\n />\n );\n }\n);\n\nexport default withStaticProps(EditableText, {\n types: TextTypeEnum,\n weights: TextWeightEnum\n});\n"],"names":["withStaticProps","forwardRef","_a","ref","type","_a$type","_a$weight","weight","dataTestId","id","multiline","editableTypographyProps","__rest","React","createElement","EditableTypography","Object","assign","className","styles","editableText","getTestId","ComponentDefaultTestId","EDITABLE_TEXT","component","Text","typographyClassName","cx","getStyle","camelCase","typography","clearable","types","TextTypeEnum","weights","TextWeightEnum"],"mappings":"mmBA2BA,IAgCeA,EAAAA,EA7BXC,GACF,SACEC,EAQAC,SAHWD,EAJTE,KAAAA,OAAO,IAAHC,EAAG,QAAOA,EAAAC,EAILJ,EAHTK,OAAAA,OAAS,IAAHD,EAAG,SAAQA,EACFE,EAENN,EAFT,eACAO,EACSP,EADTO,GACAC,EAASR,EAATQ,UACGC,EAAuBC,EAAAV,EAN5B,kDAUA,OACEW,EAAAC,cAACC,EAAkBC,OAAAC,OAAA,CACjBC,UAAWC,EAAOC,aAClBjB,IAAKA,gBACQK,GAAca,EAAUC,EAAuBC,cAAed,GAC3Ee,UAAWC,EACXC,oBAAqBC,EAAGC,EAAST,EAAQU,EAAUzB,EAAO,IAAMG,IAAUY,EAAOW,YACjFC,WAAS,EACT3B,KAAMA,EACNG,OAAQA,EACRG,UAAWA,GACPC,GAGV,IAG2C,CAC3CqB,MAAOC,EACPC,QAASC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableTypography.js","sources":["../../../../../src/components/EditableTypography/EditableTypography.tsx"],"sourcesContent":["import React, { ElementType, forwardRef, useEffect, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport VibeComponent from \"../../types/VibeComponent\";\nimport styles from \"./EditableTypography.module.scss\";\nimport { keyCodes } from \"../../constants\";\nimport { useKeyboardButtonPressedFunc } from \"../../hooks/useKeyboardButtonPressedFunc\";\nimport { TooltipProps } from \"../Tooltip/Tooltip\";\nimport usePrevious from \"../../hooks/usePrevious\";\nimport { TextType, TextWeight } from \"../Text/Text.types\";\nimport { HeadingType, HeadingWeight } from \"../Heading/Heading.types\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\n\nexport interface EditableTypographyImplementationProps {\n /** Value of the text */\n value: string;\n /** Will be called whenever the current value changes to a non-empty value */\n onChange?: (value: string) => void;\n /** Will be called whenever the component gets clicked */\n onClick?: (event: React.KeyboardEvent | React.MouseEvent) => void;\n /** Disables editing mode - component will be just a typography element */\n readOnly?: boolean;\n /** Shown in edit mode when the text value is empty */\n placeholder?: string;\n /** ARIA Label */\n ariaLabel?: string;\n /** Controls the mode of the component (i.e. view/edit mode) */\n isEditMode?: boolean;\n /** If true, automatically select all text when entering edit mode */\n autoSelectTextOnEditMode?: boolean;\n /** Will be called when the mode of the component changes */\n onEditModeChange?: (isEditMode: boolean) => void;\n /** Override Tooltip props when needed */\n tooltipProps?: Partial<TooltipProps>;\n}\n\nexport interface EditableTypographyProps extends VibeComponentProps, EditableTypographyImplementationProps {\n /** A typography component that is being rendered in view mode */\n component: ElementType;\n /** Controls the style of the typography component in view mode */\n typographyClassName: string;\n /** Shows placeholder when empty, if provided */\n clearable?: boolean;\n /** Sets the Text/Heading type */\n type?: TextType | HeadingType;\n /** Sets the Text/Heading weight */\n weight?: TextWeight | HeadingWeight;\n /** Controls whether a textarea or a simple input would be rendered, allowing multi-lines */\n multiline?: boolean;\n}\n\nconst PADDING_OFFSET = 2;\n\nconst EditableTypography: VibeComponent<EditableTypographyProps, HTMLElement> = forwardRef(\n (\n {\n id,\n className,\n \"data-testid\": dataTestId,\n value,\n onChange,\n onClick,\n readOnly = false,\n ariaLabel = \"\",\n placeholder,\n clearable,\n typographyClassName,\n component: TypographyComponent,\n isEditMode,\n autoSelectTextOnEditMode,\n onEditModeChange,\n tooltipProps,\n type,\n weight,\n multiline = false\n }: EditableTypographyProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const [isEditing, setIsEditing] = useState(isEditMode || false);\n const [inputValue, setInputValue] = useState(value);\n\n const prevValue = usePrevious(value);\n\n const inputRef = useRef(null);\n const typographyRef = useRef(null);\n\n useEffect(() => {\n if (!isEditing && value !== prevValue && value !== inputValue) {\n setInputValue(value);\n }\n }, [prevValue, isEditing, value, inputValue]);\n\n useEffect(() => {\n setIsEditing(isEditMode);\n }, [isEditMode]);\n\n function onTypographyClick(event: React.KeyboardEvent | React.MouseEvent) {\n onClick?.(event);\n toggleEditMode(event);\n }\n\n function toggleEditMode(event: React.KeyboardEvent | React.MouseEvent) {\n if (readOnly || isEditing) {\n return;\n }\n event.preventDefault();\n handleEditModeChange(true);\n }\n\n function handleEditModeChange(value: boolean) {\n onEditModeChange?.(value);\n setIsEditing(value);\n }\n\n function handleInputValueChange() {\n handleEditModeChange(false);\n\n if (value === inputValue) {\n return;\n }\n\n const shouldShowPlaceholderWhenEmpty = clearable && placeholder;\n if (!inputValue && !shouldShowPlaceholderWhenEmpty) {\n setInputValue(value);\n return;\n }\n setInputValue(inputValue);\n onChange?.(inputValue);\n }\n\n function handleBlur() {\n handleInputValueChange();\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) {\n if (event.key === keyCodes.ENTER) {\n if (multiline && event.shiftKey) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n handleInputValueChange();\n }\n if (event.key === keyCodes.ESCAPE) {\n event.preventDefault();\n event.stopPropagation();\n handleEditModeChange(false);\n setInputValue(value);\n }\n }\n\n function handleChange(event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) {\n setInputValue(event.target.value);\n }\n\n const toggleKeyboardEditMode = useKeyboardButtonPressedFunc(toggleEditMode);\n\n function focus() {\n inputRef.current?.focus?.();\n\n if (inputRef.current) {\n const inputElement = inputRef.current as HTMLInputElement | HTMLTextAreaElement;\n const textLength = inputElement.value.length;\n inputElement.setSelectionRange(textLength, textLength);\n }\n }\n\n function selectAllInputText() {\n inputRef.current?.select?.();\n }\n\n useEffect(() => {\n if (!isEditing) return;\n focus();\n if (autoSelectTextOnEditMode) {\n selectAllInputText();\n }\n }, [autoSelectTextOnEditMode, isEditing]);\n\n useIsomorphicLayoutEffect(() => {\n if (!typographyRef.current) {\n return;\n }\n\n const { width } = typographyRef.current.getBoundingClientRect();\n inputRef?.current?.style.setProperty(\"--input-width\", `${width}px`);\n\n if (multiline) {\n const textareaElement = inputRef?.current as HTMLTextAreaElement;\n textareaElement?.style.setProperty(\"--input-height\", \"auto\");\n textareaElement?.style.setProperty(\"--input-height\", `${textareaElement.scrollHeight + PADDING_OFFSET}px`);\n }\n }, [inputValue, isEditing]);\n\n return (\n <div\n ref={mergedRef}\n id={id}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cx(styles.editableTypography, className)}\n role={isEditing ? null : \"button\"}\n onClick={onTypographyClick}\n onKeyDown={toggleKeyboardEditMode}\n >\n {isEditing &&\n (multiline ? (\n <textarea\n ref={inputRef}\n className={cx(styles.textarea, typographyClassName)}\n value={inputValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n placeholder={placeholder}\n role=\"textbox\"\n rows={1}\n />\n ) : (\n <input\n ref={inputRef}\n className={cx(styles.input, typographyClassName)}\n value={inputValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n placeholder={placeholder}\n role=\"input\"\n />\n ))}\n <TypographyComponent\n ref={typographyRef}\n aria-hidden={isEditing}\n className={cx(styles.typography, typographyClassName, {\n [styles.hidden]: isEditing,\n [styles.disabled]: readOnly,\n [styles.placeholder]: !inputValue && placeholder,\n [styles.multiline]: !isEditing && multiline\n })}\n tabIndex={0}\n tooltipProps={tooltipProps}\n weight={weight}\n type={type}\n ellipsis={!multiline}\n >\n {inputValue || placeholder}\n </TypographyComponent>\n </div>\n );\n }\n);\n\nexport default EditableTypography;\n"],"names":["EditableTypography","forwardRef","_ref","ref","id","className","dataTestId","value","onChange","onClick","_ref$readOnly","readOnly","_ref$ariaLabel","ariaLabel","placeholder","clearable","typographyClassName","TypographyComponent","component","isEditMode","autoSelectTextOnEditMode","onEditModeChange","tooltipProps","type","weight","_ref$multiline","multiline","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useState3","_useState4","inputValue","setInputValue","prevValue","usePrevious","inputRef","typographyRef","toggleEditMode","event","preventDefault","handleEditModeChange","handleInputValueChange","handleBlur","handleKeyDown","key","keyCodes","ENTER","shiftKey","stopPropagation","ESCAPE","handleChange","target","useEffect","toggleKeyboardEditMode","useKeyboardButtonPressedFunc","_b","current","_a","focus","inputElement","textLength","length","setSelectionRange","select","useIsomorphicLayoutEffect","_typographyRef$curren","getBoundingClientRect","style","setProperty","concat","width","textareaElement","scrollHeight","React","createElement","cx","styles","editableTypography","role","onKeyDown","textarea","onBlur","rows","input","typography","_defineProperty","hidden","disabled","tabIndex","ellipsis"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditableTypography.js","sources":["../../../../../src/components/EditableTypography/EditableTypography.tsx"],"sourcesContent":["import React, { ElementType, forwardRef, useEffect, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport useMergeRef from \"../../hooks/useMergeRef\";\nimport VibeComponentProps from \"../../types/VibeComponentProps\";\nimport VibeComponent from \"../../types/VibeComponent\";\nimport styles from \"./EditableTypography.module.scss\";\nimport { keyCodes } from \"../../constants\";\nimport { useKeyboardButtonPressedFunc } from \"../../hooks/useKeyboardButtonPressedFunc\";\nimport { TooltipProps } from \"../Tooltip/Tooltip\";\nimport usePrevious from \"../../hooks/usePrevious\";\nimport { TextType, TextWeight } from \"../Text/Text.types\";\nimport { HeadingType, HeadingWeight } from \"../Heading/Heading.types\";\nimport useIsomorphicLayoutEffect from \"../../hooks/ssr/useIsomorphicLayoutEffect\";\n\nexport interface EditableTypographyImplementationProps {\n /**\n * The current value of the text.\n */\n value: string;\n /**\n * Callback fired when the value changes.\n */\n onChange?: (value: string) => void;\n /**\n * Callback fired when the component is clicked.\n */\n onClick?: (event: React.KeyboardEvent | React.MouseEvent) => void;\n /**\n * If true, the text is read-only and cannot be edited.\n */\n readOnly?: boolean;\n /**\n * Placeholder text displayed when the value is empty.\n */\n placeholder?: string;\n /**\n * The label of the component for accessibility.\n */\n ariaLabel?: string;\n /**\n * Controls whether the component is in edit mode.\n */\n isEditMode?: boolean;\n /**\n * If true, automatically selects all text when entering edit mode.\n */\n autoSelectTextOnEditMode?: boolean;\n /**\n * Callback fired when the edit mode changes.\n */\n onEditModeChange?: (isEditMode: boolean) => void;\n /**\n * Props to customize the tooltip.\n */\n tooltipProps?: Partial<TooltipProps>;\n}\n\nexport interface EditableTypographyProps extends VibeComponentProps, EditableTypographyImplementationProps {\n /**\n * The typography component used in view mode.\n */\n component: ElementType;\n /**\n * Class name applied to the typography component.\n */\n typographyClassName: string;\n /**\n * If true, shows the placeholder when empty.\n */\n clearable?: boolean;\n /**\n * The text or heading type.\n */\n type?: TextType | HeadingType;\n /**\n * The text or heading weight.\n */\n weight?: TextWeight | HeadingWeight;\n /**\n * If true, enables multi-line editing.\n */\n multiline?: boolean;\n}\n\nconst PADDING_OFFSET = 2;\n\nconst EditableTypography: VibeComponent<EditableTypographyProps, HTMLElement> = forwardRef(\n (\n {\n id,\n className,\n \"data-testid\": dataTestId,\n value,\n onChange,\n onClick,\n readOnly = false,\n ariaLabel = \"\",\n placeholder,\n clearable,\n typographyClassName,\n component: TypographyComponent,\n isEditMode,\n autoSelectTextOnEditMode,\n onEditModeChange,\n tooltipProps,\n type,\n weight,\n multiline = false\n }: EditableTypographyProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const [isEditing, setIsEditing] = useState(isEditMode || false);\n const [inputValue, setInputValue] = useState(value);\n\n const prevValue = usePrevious(value);\n\n const inputRef = useRef(null);\n const typographyRef = useRef(null);\n\n useEffect(() => {\n if (!isEditing && value !== prevValue && value !== inputValue) {\n setInputValue(value);\n }\n }, [prevValue, isEditing, value, inputValue]);\n\n useEffect(() => {\n setIsEditing(isEditMode);\n }, [isEditMode]);\n\n function onTypographyClick(event: React.KeyboardEvent | React.MouseEvent) {\n onClick?.(event);\n toggleEditMode(event);\n }\n\n function toggleEditMode(event: React.KeyboardEvent | React.MouseEvent) {\n if (readOnly || isEditing) {\n return;\n }\n event.preventDefault();\n handleEditModeChange(true);\n }\n\n function handleEditModeChange(value: boolean) {\n onEditModeChange?.(value);\n setIsEditing(value);\n }\n\n function handleInputValueChange() {\n handleEditModeChange(false);\n\n if (value === inputValue) {\n return;\n }\n\n const shouldShowPlaceholderWhenEmpty = clearable && placeholder;\n if (!inputValue && !shouldShowPlaceholderWhenEmpty) {\n setInputValue(value);\n return;\n }\n setInputValue(inputValue);\n onChange?.(inputValue);\n }\n\n function handleBlur() {\n handleInputValueChange();\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) {\n if (event.key === keyCodes.ENTER) {\n if (multiline && event.shiftKey) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n handleInputValueChange();\n }\n if (event.key === keyCodes.ESCAPE) {\n event.preventDefault();\n event.stopPropagation();\n handleEditModeChange(false);\n setInputValue(value);\n }\n }\n\n function handleChange(event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) {\n setInputValue(event.target.value);\n }\n\n const toggleKeyboardEditMode = useKeyboardButtonPressedFunc(toggleEditMode);\n\n function focus() {\n inputRef.current?.focus?.();\n\n if (inputRef.current) {\n const inputElement = inputRef.current as HTMLInputElement | HTMLTextAreaElement;\n const textLength = inputElement.value.length;\n inputElement.setSelectionRange(textLength, textLength);\n }\n }\n\n function selectAllInputText() {\n inputRef.current?.select?.();\n }\n\n useEffect(() => {\n if (!isEditing) return;\n focus();\n if (autoSelectTextOnEditMode) {\n selectAllInputText();\n }\n }, [autoSelectTextOnEditMode, isEditing]);\n\n useIsomorphicLayoutEffect(() => {\n if (!typographyRef.current) {\n return;\n }\n\n const { width } = typographyRef.current.getBoundingClientRect();\n inputRef?.current?.style.setProperty(\"--input-width\", `${width}px`);\n\n if (multiline) {\n const textareaElement = inputRef?.current as HTMLTextAreaElement;\n textareaElement?.style.setProperty(\"--input-height\", \"auto\");\n textareaElement?.style.setProperty(\"--input-height\", `${textareaElement.scrollHeight + PADDING_OFFSET}px`);\n }\n }, [inputValue, isEditing]);\n\n return (\n <div\n ref={mergedRef}\n id={id}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cx(styles.editableTypography, className)}\n role={isEditing ? null : \"button\"}\n onClick={onTypographyClick}\n onKeyDown={toggleKeyboardEditMode}\n >\n {isEditing &&\n (multiline ? (\n <textarea\n ref={inputRef}\n className={cx(styles.textarea, typographyClassName)}\n value={inputValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n placeholder={placeholder}\n role=\"textbox\"\n rows={1}\n />\n ) : (\n <input\n ref={inputRef}\n className={cx(styles.input, typographyClassName)}\n value={inputValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n placeholder={placeholder}\n role=\"input\"\n />\n ))}\n <TypographyComponent\n ref={typographyRef}\n aria-hidden={isEditing}\n className={cx(styles.typography, typographyClassName, {\n [styles.hidden]: isEditing,\n [styles.disabled]: readOnly,\n [styles.placeholder]: !inputValue && placeholder,\n [styles.multiline]: !isEditing && multiline\n })}\n tabIndex={0}\n tooltipProps={tooltipProps}\n weight={weight}\n type={type}\n ellipsis={!multiline}\n >\n {inputValue || placeholder}\n </TypographyComponent>\n </div>\n );\n }\n);\n\nexport default EditableTypography;\n"],"names":["EditableTypography","forwardRef","_ref","ref","id","className","dataTestId","value","onChange","onClick","_ref$readOnly","readOnly","_ref$ariaLabel","ariaLabel","placeholder","clearable","typographyClassName","TypographyComponent","component","isEditMode","autoSelectTextOnEditMode","onEditModeChange","tooltipProps","type","weight","_ref$multiline","multiline","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useState3","_useState4","inputValue","setInputValue","prevValue","usePrevious","inputRef","typographyRef","toggleEditMode","event","preventDefault","handleEditModeChange","handleInputValueChange","handleBlur","handleKeyDown","key","keyCodes","ENTER","shiftKey","stopPropagation","ESCAPE","handleChange","target","useEffect","toggleKeyboardEditMode","useKeyboardButtonPressedFunc","_b","current","_a","focus","inputElement","textLength","length","setSelectionRange","select","useIsomorphicLayoutEffect","_typographyRef$curren","getBoundingClientRect","style","setProperty","concat","width","textareaElement","scrollHeight","React","createElement","cx","styles","editableTypography","role","onKeyDown","textarea","onBlur","rows","input","typography","_defineProperty","hidden","disabled","tabIndex","ellipsis"],"mappings":"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"}
|