@vibe/core 4.5.25 → 4.5.27
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/avatar-group/dist/AvatarGroup/AvatarGroup.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroup.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroup.module.scss.js +2 -0
- package/dist/{mocked_classnames/src/components → components/avatar-group/dist}/AvatarGroup/AvatarGroupConstants.js +1 -1
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupConstants.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounter.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounter.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounter.module.scss.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContainer.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContent.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipHelper.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +1 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupHelper.js +2 -0
- package/dist/components/avatar-group/dist/AvatarGroup/AvatarGroupHelper.js.map +1 -0
- package/dist/components/breadcrumbs/dist/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
- package/dist/components/breadcrumbs/dist/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
- package/dist/components/breadcrumbs/dist/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbsMenu.module.scss.js +1 -1
- package/dist/components/breadcrumbs/dist/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
- package/dist/components/date-picker/dist/DatePicker/DateContentHoverContext.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/DateContentHoverContext.js.map +1 -0
- package/dist/components/date-picker/dist/DatePicker/DatePicker.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/date-picker/dist/DatePicker/DatePicker.module.scss.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/DatePickerHeader.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/DatePickerHeader.js.map +1 -0
- package/dist/components/date-picker/dist/DatePicker/DatePickerHeader.module.scss.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/RangeDayContent.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/RangeDayContent.js.map +1 -0
- package/dist/components/date-picker/dist/DatePicker/SingleDayContent.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/SingleDayContent.js.map +1 -0
- package/dist/components/date-picker/dist/DatePicker/datePickerHooks.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/datePickerHooks.js.map +1 -0
- package/dist/components/date-picker/dist/DatePicker/utils.js +2 -0
- package/dist/components/date-picker/dist/DatePicker/utils.js.map +1 -0
- package/dist/components/dropdown/dist/Dropdown/components/DropdownBase/DropdownBase.module.scss.js +1 -1
- package/dist/components/dropdown/dist/Dropdown/components/DropdownBaseList/DropdownBaseList.module.scss.js +1 -1
- package/dist/components/dropdown/dist/Dropdown/components/DropdownBoxMode/DropdownBoxMode.module.scss.js +1 -1
- package/dist/components/dropdown/dist/Dropdown/components/Menu/Menu.module.scss.js +1 -1
- package/dist/components/dropdown/dist/Dropdown/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +1 -1
- package/dist/components/dropdown/dist/Dropdown/components/Trigger/Trigger.module.scss.js +1 -1
- package/dist/components/index.d.ts +4 -4
- package/dist/components/layout/dist/Box/Box.js +1 -1
- package/dist/components/layout/dist/Box/Box.js.map +1 -1
- package/dist/components/search/dist/Search/Search.js +2 -0
- package/dist/components/search/dist/Search/Search.js.map +1 -0
- package/dist/components/search/dist/Search/Search.module.scss.js +2 -0
- package/dist/components/split-button/dist/SplitButton/SplitButton.js +2 -0
- package/dist/components/split-button/dist/SplitButton/SplitButton.js.map +1 -0
- package/dist/components/split-button/dist/SplitButton/SplitButton.module.scss.js +2 -0
- package/dist/components/split-button/dist/SplitButton/SplitButtonConstants.js +2 -0
- package/dist/components/split-button/dist/SplitButton/SplitButtonConstants.js.map +1 -0
- package/dist/components/split-button/dist/SplitButton/SplitButtonMenu/SplitButtonMenu.js +2 -0
- package/dist/components/split-button/dist/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +1 -0
- package/dist/components/split-button/dist/_virtual/_tslib.js +2 -0
- package/dist/components/split-button/dist/_virtual/_tslib.js.map +1 -0
- package/dist/metadata/components.json +4 -5
- package/dist/metadata.json +4 -5
- package/dist/mocked_classnames/components/index.d.ts +4 -4
- package/dist/mocked_classnames/src/components/Combobox/Combobox.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/Combobox.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/List/List.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/ListItem/ListItem.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/Modal/Modal.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/ModalMedia/ModalMedia.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/ModalTopActions/ModalTopActions.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/footers/ModalFooter/ModalFooter.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/layouts/ModalFooterShadow.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/layouts/ModalLayoutScrollableContent.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/Table/Table.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableBody/TableBody.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableCell/TableCell.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/next/List/List.module.scss.js +1 -1
- package/dist/mocked_classnames/src/components/next/List/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/mocked_classnames/src/index.js +1 -1
- package/dist/src/components/Combobox/Combobox.js +1 -1
- package/dist/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/src/components/Combobox/Combobox.module.scss.js +1 -1
- package/dist/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
- package/dist/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
- package/dist/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
- package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
- package/dist/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
- package/dist/src/components/List/List.module.scss.js +1 -1
- package/dist/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
- package/dist/src/components/ListItem/ListItem.module.scss.js +1 -1
- package/dist/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
- package/dist/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
- package/dist/src/components/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/src/components/Modal/Modal/Modal.module.scss.js +1 -1
- package/dist/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
- package/dist/src/components/Modal/ModalMedia/ModalMedia.module.scss.js +1 -1
- package/dist/src/components/Modal/ModalTopActions/ModalTopActions.module.scss.js +1 -1
- package/dist/src/components/Modal/footers/ModalFooter/ModalFooter.module.scss.js +1 -1
- package/dist/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.module.scss.js +1 -1
- package/dist/src/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.module.scss.js +1 -1
- package/dist/src/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.module.scss.js +1 -1
- package/dist/src/components/Modal/layouts/ModalFooterShadow.module.scss.js +1 -1
- package/dist/src/components/Modal/layouts/ModalLayoutScrollableContent.module.scss.js +1 -1
- package/dist/src/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.module.scss.js +1 -1
- package/dist/src/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.module.scss.js +1 -1
- package/dist/src/components/Table/Table/Table.module.scss.js +1 -1
- package/dist/src/components/Table/TableBody/TableBody.module.scss.js +1 -1
- package/dist/src/components/Table/TableCell/TableCell.module.scss.js +1 -1
- package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.module.scss.js +1 -1
- package/dist/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
- package/dist/src/components/Table/TableHeader/TableHeader.module.scss.js +1 -1
- package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.module.scss.js +1 -1
- package/dist/src/components/Table/TableRow/TableRow.module.scss.js +1 -1
- package/dist/src/components/Table/TableRowMenu/TableRowMenu.module.scss.js +1 -1
- package/dist/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.module.scss.js +1 -1
- package/dist/src/components/next/List/List.module.scss.js +1 -1
- package/dist/src/components/next/List/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/src/index.js +1 -1
- package/dist/style/dist/index.min.css.js +1 -1
- package/package.json +6 -2
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +0 -45
- package/dist/components/AvatarGroup/AvatarGroup.types.d.ts +0 -14
- package/dist/components/AvatarGroup/AvatarGroupConstants.d.ts +0 -2
- package/dist/components/AvatarGroup/AvatarGroupCounter.d.ts +0 -41
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContainer.d.ts +0 -40
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContent.d.ts +0 -23
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.d.ts +0 -33
- package/dist/components/AvatarGroup/AvatarGroupCounterTooltipHelper.d.ts +0 -16
- package/dist/components/AvatarGroup/AvatarGroupHelper.d.ts +0 -3
- package/dist/components/AvatarGroup/index.d.ts +0 -2
- package/dist/components/DatePicker/DateContentHoverContext.d.ts +0 -12
- package/dist/components/DatePicker/DatePicker.d.ts +0 -8
- package/dist/components/DatePicker/DatePicker.types.d.ts +0 -34
- package/dist/components/DatePicker/DatePickerHeader.d.ts +0 -17
- package/dist/components/DatePicker/RangeDayContent.d.ts +0 -3
- package/dist/components/DatePicker/SingleDayContent.d.ts +0 -3
- package/dist/components/DatePicker/datePickerHooks.d.ts +0 -18
- package/dist/components/DatePicker/index.d.ts +0 -2
- package/dist/components/DatePicker/utils.d.ts +0 -13
- package/dist/components/Search/Search.d.ts +0 -4
- package/dist/components/Search/Search.types.d.ts +0 -104
- package/dist/components/Search/index.d.ts +0 -2
- package/dist/components/SplitButton/SplitButton.d.ts +0 -44
- package/dist/components/SplitButton/SplitButtonConstants.d.ts +0 -22
- package/dist/components/SplitButton/SplitButtonMenu/SplitButtonMenu.d.ts +0 -9
- package/dist/components/SplitButton/index.d.ts +0 -2
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroup.d.ts +0 -45
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroup.types.d.ts +0 -14
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupConstants.d.ts +0 -2
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounter.d.ts +0 -41
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContainer.d.ts +0 -40
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContent.d.ts +0 -23
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.d.ts +0 -33
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupCounterTooltipHelper.d.ts +0 -16
- package/dist/mocked_classnames/components/AvatarGroup/AvatarGroupHelper.d.ts +0 -3
- package/dist/mocked_classnames/components/AvatarGroup/index.d.ts +0 -2
- package/dist/mocked_classnames/components/DatePicker/DateContentHoverContext.d.ts +0 -12
- package/dist/mocked_classnames/components/DatePicker/DatePicker.d.ts +0 -8
- package/dist/mocked_classnames/components/DatePicker/DatePicker.types.d.ts +0 -34
- package/dist/mocked_classnames/components/DatePicker/DatePickerHeader.d.ts +0 -17
- package/dist/mocked_classnames/components/DatePicker/RangeDayContent.d.ts +0 -3
- package/dist/mocked_classnames/components/DatePicker/SingleDayContent.d.ts +0 -3
- package/dist/mocked_classnames/components/DatePicker/datePickerHooks.d.ts +0 -18
- package/dist/mocked_classnames/components/DatePicker/index.d.ts +0 -2
- package/dist/mocked_classnames/components/DatePicker/utils.d.ts +0 -13
- package/dist/mocked_classnames/components/Search/Search.d.ts +0 -4
- package/dist/mocked_classnames/components/Search/Search.types.d.ts +0 -104
- package/dist/mocked_classnames/components/Search/index.d.ts +0 -2
- package/dist/mocked_classnames/components/SplitButton/SplitButton.d.ts +0 -44
- package/dist/mocked_classnames/components/SplitButton/SplitButtonConstants.d.ts +0 -22
- package/dist/mocked_classnames/components/SplitButton/SplitButtonMenu/SplitButtonMenu.d.ts +0 -9
- package/dist/mocked_classnames/components/SplitButton/index.d.ts +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupConstants.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +0 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupHelper.js +0 -2
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupHelper.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/DateContentHoverContext.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/DateContentHoverContext.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/DatePicker.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/DatePicker.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/DatePicker.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/RangeDayContent.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/RangeDayContent.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/SingleDayContent.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/SingleDayContent.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/datePickerHooks.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/datePickerHooks.js.map +0 -1
- package/dist/mocked_classnames/src/components/DatePicker/utils.js +0 -2
- package/dist/mocked_classnames/src/components/DatePicker/utils.js.map +0 -1
- package/dist/mocked_classnames/src/components/Search/Search.js +0 -2
- package/dist/mocked_classnames/src/components/Search/Search.js.map +0 -1
- package/dist/mocked_classnames/src/components/Search/Search.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js +0 -2
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +0 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.module.scss.js +0 -2
- package/dist/mocked_classnames/src/components/SplitButton/SplitButtonConstants.js +0 -2
- package/dist/mocked_classnames/src/components/SplitButton/SplitButtonConstants.js.map +0 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js +0 -2
- package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroup.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroup.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroup.module.scss.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroup.module.scss.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupConstants.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupConstants.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +0 -1
- package/dist/src/components/AvatarGroup/AvatarGroupHelper.js +0 -2
- package/dist/src/components/AvatarGroup/AvatarGroupHelper.js.map +0 -1
- package/dist/src/components/DatePicker/DateContentHoverContext.js +0 -2
- package/dist/src/components/DatePicker/DateContentHoverContext.js.map +0 -1
- package/dist/src/components/DatePicker/DatePicker.js +0 -2
- package/dist/src/components/DatePicker/DatePicker.js.map +0 -1
- package/dist/src/components/DatePicker/DatePicker.module.scss.js +0 -2
- package/dist/src/components/DatePicker/DatePicker.module.scss.js.map +0 -1
- package/dist/src/components/DatePicker/DatePickerHeader.js +0 -2
- package/dist/src/components/DatePicker/DatePickerHeader.js.map +0 -1
- package/dist/src/components/DatePicker/DatePickerHeader.module.scss.js +0 -2
- package/dist/src/components/DatePicker/DatePickerHeader.module.scss.js.map +0 -1
- package/dist/src/components/DatePicker/RangeDayContent.js +0 -2
- package/dist/src/components/DatePicker/RangeDayContent.js.map +0 -1
- package/dist/src/components/DatePicker/SingleDayContent.js +0 -2
- package/dist/src/components/DatePicker/SingleDayContent.js.map +0 -1
- package/dist/src/components/DatePicker/datePickerHooks.js +0 -2
- package/dist/src/components/DatePicker/datePickerHooks.js.map +0 -1
- package/dist/src/components/DatePicker/utils.js +0 -2
- package/dist/src/components/DatePicker/utils.js.map +0 -1
- package/dist/src/components/Search/Search.js +0 -2
- package/dist/src/components/Search/Search.js.map +0 -1
- package/dist/src/components/Search/Search.module.scss.js +0 -2
- package/dist/src/components/Search/Search.module.scss.js.map +0 -1
- package/dist/src/components/SplitButton/SplitButton.js +0 -2
- package/dist/src/components/SplitButton/SplitButton.js.map +0 -1
- package/dist/src/components/SplitButton/SplitButton.module.scss.js +0 -2
- package/dist/src/components/SplitButton/SplitButton.module.scss.js.map +0 -1
- package/dist/src/components/SplitButton/SplitButtonConstants.js +0 -2
- package/dist/src/components/SplitButton/SplitButtonConstants.js.map +0 -1
- package/dist/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js +0 -2
- package/dist/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +0 -1
- /package/dist/{mocked_classnames/src/components → components/avatar-group/dist}/AvatarGroup/AvatarGroup.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/avatar-group/dist}/AvatarGroup/AvatarGroupCounter.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/avatar-group/dist}/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/avatar-group/dist}/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/date-picker/dist}/DatePicker/DatePicker.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/date-picker/dist}/DatePicker/DatePickerHeader.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/search/dist}/Search/Search.module.scss.js.map +0 -0
- /package/dist/{mocked_classnames/src/components → components/split-button/dist}/SplitButton/SplitButton.module.scss.js.map +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e,{useMemo as t}from"react";import{VirtualizedList as i}from"@vibe/virtualized-list/mockedClassNames";import r from"./AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js";var a=Object.freeze({maxItemsWithoutScroll:10,itemLineHeight:34,itemLineWidth:150}),n=function(n){var o=n.avatarItems,l=void 0===o?[]:o,m=n.avatarRenderer,s=n.type,u=n.tooltipContainerAriaLabel,c=n.tooltipContentContainerRef,d=t((function(){return l.map((function(e){return{value:e,height:a.itemLineHeight}}))}),[l]);return e.createElement("div",{className:r.virtualizedTooltipContainer,"aria-label":u,ref:c,tabIndex:-1},e.createElement(i,{items:d,itemRenderer:function(e,t,i){return m(e.value,t,i,s,!1)},role:"treegrid",scrollableClassName:r.scrollableContainer,getItemId:function(e,t){return t+""},style:{height:a.itemLineHeight*Math.min(l.length,a.maxItemsWithoutScroll),minWidth:a.itemLineWidth}}))};export{n as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounterTooltipContentVirtualizedList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupCounterTooltipContentVirtualizedList.js","sources":["../../../../../src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.tsx"],"sourcesContent":["import React, { type CSSProperties, type ReactElement, type Ref, useMemo } from \"react\";\nimport { VirtualizedList, type VirtualizedListItem } from \"@vibe/virtualized-list\";\nimport type VibeComponentProps from \"../../types/VibeComponentProps\";\nimport { type AvatarProps, type AvatarType } from \"@vibe/avatar\";\nimport { type ElementContent } from \"../../types\";\nimport styles from \"./AvatarGroupCounterTooltipContentVirtualizedList.module.scss\";\n\nconst LIST_OPTIONS = Object.freeze({\n maxItemsWithoutScroll: 10,\n itemLineHeight: 34,\n itemLineWidth: 150\n});\n\nexport type AvatarItem = {\n value: AvatarProps & { tooltipContent: ElementContent };\n};\n\nexport interface AvatarGroupCounterTooltipContentVirtualizedListProps extends VibeComponentProps {\n /**\n * The list of avatars displayed in the virtualized tooltip.\n */\n avatarItems?: AvatarItem[];\n /**\n * Function to render each avatar item.\n */\n avatarRenderer?: (\n item: AvatarItem,\n index: number,\n style: CSSProperties,\n type: AvatarType,\n displayAsGrid: boolean\n ) => ReactElement;\n /**\n * The ARIA label of the tooltip container.\n */\n tooltipContainerAriaLabel?: string;\n /**\n * Ref for the tooltip content container.\n */\n tooltipContentContainerRef?: Ref<HTMLDivElement>;\n /**\n * The type of avatars in the tooltip.\n */\n type?: AvatarType;\n}\n\nconst AvatarGroupCounterTooltipContentVirtualizedList: React.FC<\n AvatarGroupCounterTooltipContentVirtualizedListProps\n> = ({ avatarItems = [], avatarRenderer, type, tooltipContainerAriaLabel, tooltipContentContainerRef }) => {\n const virtualizedItems: VirtualizedListItem[] = useMemo(\n () => avatarItems.map(item => ({ value: item, height: LIST_OPTIONS.itemLineHeight } as VirtualizedListItem)),\n [avatarItems]\n );\n\n const minCount = Math.min(avatarItems.length, LIST_OPTIONS.maxItemsWithoutScroll);\n const virtualizedListStyle = {\n height: LIST_OPTIONS.itemLineHeight * minCount,\n minWidth: LIST_OPTIONS.itemLineWidth\n };\n\n return (\n <div\n className={styles.virtualizedTooltipContainer}\n aria-label={tooltipContainerAriaLabel}\n ref={tooltipContentContainerRef}\n tabIndex={-1}\n >\n <VirtualizedList\n items={virtualizedItems}\n itemRenderer={(item: VirtualizedListItem, index: number, style: CSSProperties) =>\n avatarRenderer(item.value as AvatarItem, index, style, type, false)\n }\n role=\"treegrid\"\n scrollableClassName={styles.scrollableContainer}\n getItemId={(item: VirtualizedListItem, index: number) => String(index)}\n style={virtualizedListStyle}\n />\n </div>\n );\n};\n\nexport default AvatarGroupCounterTooltipContentVirtualizedList;\n"],"names":["LIST_OPTIONS","Object","freeze","maxItemsWithoutScroll","itemLineHeight","itemLineWidth","AvatarGroupCounterTooltipContentVirtualizedList","_ref","_ref$avatarItems","avatarItems","avatarRenderer","type","tooltipContainerAriaLabel","tooltipContentContainerRef","virtualizedItems","useMemo","map","item","value","height","React","createElement","className","styles","virtualizedTooltipContainer","ref","tabIndex","VirtualizedList","items","itemRenderer","index","style","role","scrollableClassName","scrollableContainer","getItemId","String","Math","min","length","minWidth"],"mappings":"6LAOA,IAAMA,EAAeC,OAAOC,OAAO,CACjCC,sBAAuB,GACvBC,eAAgB,GAChBC,cAAe,MAoCXC,EAEF,SAFiDC,GAEqD,IAAAC,EAAAD,EAAnGE,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAAEE,EAAcH,EAAdG,eAAgBC,EAAIJ,EAAJI,KAAMC,EAAyBL,EAAzBK,0BAA2BC,EAA0BN,EAA1BM,2BAClEC,EAA0CC,GAC9C,WAAA,OAAMN,EAAYO,KAAI,SAAAC,GAAI,MAAK,CAAEC,MAAOD,EAAME,OAAQnB,EAAaI,eAAwC,MAC3G,CAACK,IASH,OACEW,EACEC,cAAA,MAAA,CAAAC,UAAWC,EAAOC,4BAA2B,aACjCZ,EACZa,IAAKZ,EACLa,UAAW,GAEXN,EAAAC,cAACM,EAAe,CACdC,MAAOd,EACPe,aAAc,SAACZ,EAA2Ba,EAAeC,GAAoB,OAC3ErB,EAAeO,EAAKC,MAAqBY,EAAOC,EAAOpB,GAAM,EAAM,EAErEqB,KAAK,WACLC,oBAAqBV,EAAOW,oBAC5BC,UAAW,SAAClB,EAA2Ba,GAAa,OAAYA,EAAPM,EAAa,EACtEL,MApBuB,CAC3BZ,OAAQnB,EAAaI,eAFNiC,KAAKC,IAAI7B,EAAY8B,OAAQvC,EAAaG,uBAGzDqC,SAAUxC,EAAaK,iBAsB3B"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={scrollableContainer:"scrollableContainer",virtualizedTooltipContainer:"virtualizedTooltipContainer","focus-visible":"focus-visible"};!function(e){const i="s_id-21f61936150a_4_5_24";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+i))return;const l=document.createElement("style");l.id=i,n.firstChild?n.insertBefore(l,n.firstChild):n.appendChild(l),l.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[i]=e)}("/* stylelint-disable */\n/* stylelint-enable */\n.scrollableContainer::-webkit-scrollbar {\n width: 4px;\n height: 6px;\n}\n.scrollableContainer::-webkit-scrollbar-thumb {\n background-color: var(--ui-border-color);\n border-radius: 4px;\n}\n.virtualizedTooltipContainer {\n align-items: flex-start !important;\n display: flex;\n overflow-y: hidden;\n overflow-x: visible;\n}\n.virtualizedTooltipContainer:focus, .virtualizedTooltipContainer:focus-visible, .virtualizedTooltipContainer.focus-visible { /* stylelint-disable-line selector-class-pattern */\n outline: none;\n}");export{e as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js.map
|
package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e,{useCallback as o}from"react";import{useEventListener as t,useKeyEvent as r}from"@vibe/shared";import{Flex as i}from"@vibe/layout/mockedClassNames";import{Avatar as a}from"@vibe/avatar/mockedClassNames";import{ClickableWrapper as l}from"@vibe/clickable/mockedClassNames";import n from"./AvatarGroupCounterTooltipContent.module.scss.js";import c from"../../hooks/useListenFocusTriggers/index.js";import{AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY as s,AVATAR_GROUP_COUNTER_AVATAR_SIZE as u}from"./AvatarGroupConstants.js";import{keyCodes as f}from"../../constants/keyCodes.js";import"../../constants/sizes.js";var m=[f.TAB],d=[f.ESCAPE];function v(e){var i=e.counterContainerRef,a=void 0===i?void 0:i,l=e.tooltipContentContainerRef,n=e.focusPrevPlaceholderRef,u=e.focusNextPlaceholderRef,f=e.isKeyboardTooltipVisible,v=e.setIsKeyboardTooltipVisible,b=o((function(){f||setTimeout((function(){return v(!0)}),s)}),[f,v]),p=o((function(){f&&v(!1)}),[f,v]);c({ref:a,onFocusByKeyboard:b}),t({eventName:"blur",ref:l,callback:p}),r({keys:m,ref:a,withoutAnyModifier:!0,preventDefault:!0,callback:o((function(){f&&(null==l?void 0:l.current)&&l.current.focus()}),[f,l])}),r({keys:m,modifier:r.modifiers.SHIFT,ref:a,callback:p}),r({keys:m,ref:l,withoutAnyModifier:!0,callback:o((function(){(null==u?void 0:u.current)&&u.current.focus(),f&&v(!1)}),[u,f,v])}),r({keys:m,ref:l,modifier:r.modifiers.SHIFT,callback:o((function(){(null==n?void 0:n.current)&&n.current.focus(),f&&v(!1)}),[n,f,v])}),r({keys:d,ref:l,callback:o((function(){(null==a?void 0:a.current)&&a.current.focus(),f&&v(!1)}),[a,f,v])}),r({keys:d,ref:a,callback:p}),t({eventName:"focus",ref:u,callback:p})}var b=function(o,t,r,c,s){var f=o.value,m=Object.assign(Object.assign({},r),{width:s?void 0:"100%"}),d="tooltip-item-".concat(t,"-label");return e.createElement(l,{key:t,isClickable:!!(null==f?void 0:f.onClick),clickableProps:{onClick:function(e){return f.onClick(e,f.id)},tabIndex:-1}},e.createElement("div",{style:m},e.createElement(i,{direction:"row",gap:"xs","aria-labelledby":d},e.createElement(a,Object.assign({},f,{tooltipProps:void 0,"aria-label":"",customSize:u,type:c||(null==f?void 0:f.type),tabIndex:-1,size:"small",className:n.tooltipAvatarItemAvatar})),!s&&e.createElement("div",{id:d,className:n.tooltipAvatarItemTitle},f.tooltipContent))))};export{b as avatarRenderer,v as useTooltipContentTabNavigation};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounterTooltipHelper.js.map
|
package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupCounterTooltipHelper.js","sources":["../../../../../src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.tsx"],"sourcesContent":["import React, { type CSSProperties, type RefObject, useCallback } from \"react\";\nimport useKeyEvent from \"../../hooks/useKeyEvent\";\nimport { Flex } from \"@vibe/layout\";\nimport { Avatar, type AvatarProps, type AvatarType } from \"@vibe/avatar\";\nimport { ClickableWrapper } from \"@vibe/clickable\";\nimport avatarGroupCounterTooltipContentStyles from \"./AvatarGroupCounterTooltipContent.module.scss\";\nimport useEventListener from \"../../hooks/useEventListener\";\nimport useListenFocusTriggers from \"../../hooks/useListenFocusTriggers\";\nimport { type ElementContent } from \"../../types\";\nimport { AVATAR_GROUP_COUNTER_AVATAR_SIZE, AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY } from \"./AvatarGroupConstants\";\nimport { keyCodes } from \"../../constants\";\n\nconst TAB = [keyCodes.TAB];\nconst ESC = [keyCodes.ESCAPE];\n\nexport function useTooltipContentTabNavigation({\n counterContainerRef = undefined,\n tooltipContentContainerRef,\n focusPrevPlaceholderRef,\n focusNextPlaceholderRef,\n isKeyboardTooltipVisible,\n setIsKeyboardTooltipVisible\n}: {\n counterContainerRef: RefObject<HTMLDivElement>;\n tooltipContentContainerRef: RefObject<HTMLElement>;\n focusPrevPlaceholderRef: RefObject<HTMLDivElement>;\n focusNextPlaceholderRef: RefObject<HTMLDivElement>;\n isKeyboardTooltipVisible: boolean;\n setIsKeyboardTooltipVisible: (value: boolean) => void;\n}) {\n const showKeyboardTooltip = useCallback(() => {\n if (!isKeyboardTooltipVisible) {\n // temp hack for display tooltip with delay after timeout because refactoring the tooltip with open mechanism is out of scope\n setTimeout(() => setIsKeyboardTooltipVisible(true), AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY);\n }\n }, [isKeyboardTooltipVisible, setIsKeyboardTooltipVisible]);\n\n const hideKeyboardTooltip = useCallback(() => {\n if (isKeyboardTooltipVisible) setIsKeyboardTooltipVisible(false);\n }, [isKeyboardTooltipVisible, setIsKeyboardTooltipVisible]);\n\n // Open tooltip manually when keyboard focusing on counter\n useListenFocusTriggers({\n ref: counterContainerRef,\n onFocusByKeyboard: showKeyboardTooltip\n });\n\n useEventListener({\n eventName: \"blur\",\n ref: tooltipContentContainerRef,\n callback: hideKeyboardTooltip\n });\n\n //Move focus to content by keyboard\n useKeyEvent({\n keys: TAB,\n ref: counterContainerRef,\n withoutAnyModifier: true,\n preventDefault: true,\n callback: useCallback(() => {\n if (isKeyboardTooltipVisible) tooltipContentContainerRef?.current && tooltipContentContainerRef.current.focus();\n }, [isKeyboardTooltipVisible, tooltipContentContainerRef])\n });\n\n // Close tooltip by keyboard\n useKeyEvent({\n keys: TAB,\n modifier: useKeyEvent.modifiers.SHIFT,\n ref: counterContainerRef,\n callback: hideKeyboardTooltip\n });\n useKeyEvent({\n keys: TAB,\n ref: tooltipContentContainerRef,\n withoutAnyModifier: true,\n callback: useCallback(() => {\n // We are not preventing default behaviour here and that's why after pressing tab and after moving focus to here\n // the browser will move the focus to the next element in the focus order.\n focusNextPlaceholderRef?.current && focusNextPlaceholderRef.current.focus();\n if (isKeyboardTooltipVisible) setIsKeyboardTooltipVisible(false);\n }, [focusNextPlaceholderRef, isKeyboardTooltipVisible, setIsKeyboardTooltipVisible])\n });\n useKeyEvent({\n keys: TAB,\n ref: tooltipContentContainerRef,\n modifier: useKeyEvent.modifiers.SHIFT,\n callback: useCallback(() => {\n // We are not preventing default behaviour here and that's why after pressing tab and after moving focus to here\n // the browser will move the focus to the next element in the focus order.\n focusPrevPlaceholderRef?.current && focusPrevPlaceholderRef.current.focus();\n if (isKeyboardTooltipVisible) setIsKeyboardTooltipVisible(false);\n }, [focusPrevPlaceholderRef, isKeyboardTooltipVisible, setIsKeyboardTooltipVisible])\n });\n useKeyEvent({\n keys: ESC,\n ref: tooltipContentContainerRef,\n callback: useCallback(() => {\n counterContainerRef?.current && counterContainerRef.current.focus();\n if (isKeyboardTooltipVisible) setIsKeyboardTooltipVisible(false);\n }, [counterContainerRef, isKeyboardTooltipVisible, setIsKeyboardTooltipVisible])\n });\n useKeyEvent({\n keys: ESC,\n ref: counterContainerRef,\n callback: hideKeyboardTooltip\n });\n\n // Close tooltip when moving focus to next element\n useEventListener({\n eventName: \"focus\",\n ref: focusNextPlaceholderRef,\n callback: hideKeyboardTooltip\n });\n}\n\nexport const avatarRenderer = (\n item: { value: AvatarProps & { tooltipContent: ElementContent } },\n index: number,\n style: CSSProperties,\n type: AvatarType,\n displayAsGrid: boolean\n) => {\n const avatarProps = item.value;\n const overrideStyle: CSSProperties = { ...style, width: displayAsGrid ? undefined : \"100%\" };\n const labelId = `tooltip-item-${index}-label`;\n\n return (\n <ClickableWrapper\n key={index}\n isClickable={!!avatarProps?.onClick}\n clickableProps={{ onClick: event => avatarProps.onClick(event, avatarProps.id), tabIndex: -1 }}\n >\n <div style={overrideStyle}>\n <Flex direction=\"row\" gap=\"xs\" aria-labelledby={labelId}>\n <Avatar\n {...avatarProps}\n tooltipProps={undefined}\n aria-label={\"\"}\n customSize={AVATAR_GROUP_COUNTER_AVATAR_SIZE}\n type={type || avatarProps?.type}\n tabIndex={-1}\n size=\"small\"\n className={avatarGroupCounterTooltipContentStyles.tooltipAvatarItemAvatar}\n />\n {!displayAsGrid && (\n <div id={labelId} className={avatarGroupCounterTooltipContentStyles.tooltipAvatarItemTitle}>\n {avatarProps.tooltipContent}\n </div>\n )}\n </Flex>\n </div>\n </ClickableWrapper>\n );\n};\n"],"names":["TAB","keyCodes","ESC","ESCAPE","useTooltipContentTabNavigation","_ref","_ref$counterContainer","counterContainerRef","undefined","tooltipContentContainerRef","focusPrevPlaceholderRef","focusNextPlaceholderRef","isKeyboardTooltipVisible","setIsKeyboardTooltipVisible","showKeyboardTooltip","useCallback","setTimeout","AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY","hideKeyboardTooltip","useListenFocusTriggers","ref","onFocusByKeyboard","useEventListener","eventName","callback","useKeyEvent","keys","withoutAnyModifier","preventDefault","current","focus","modifier","modifiers","SHIFT","avatarRenderer","item","index","style","type","displayAsGrid","avatarProps","value","overrideStyle","Object","assign","width","labelId","concat","React","ClickableWrapper","key","isClickable","onClick","clickableProps","event","id","tabIndex","createElement","Flex","direction","gap","Avatar","tooltipProps","customSize","AVATAR_GROUP_COUNTER_AVATAR_SIZE","size","className","avatarGroupCounterTooltipContentStyles","tooltipAvatarItemAvatar","tooltipAvatarItemTitle","tooltipContent"],"mappings":"smBAYA,IAAMA,EAAM,CAACC,EAASD,KAChBE,EAAM,CAACD,EAASE,iBAENC,EAA8BC,GAc7C,IAAAC,EAAAD,EAbCE,oBAAAA,OAAsBC,IAAHF,OAAGE,EAASF,EAC/BG,EAA0BJ,EAA1BI,2BACAC,EAAuBL,EAAvBK,wBACAC,EAAuBN,EAAvBM,wBACAC,EAAwBP,EAAxBO,yBACAC,EAA2BR,EAA3BQ,4BASMC,EAAsBC,GAAY,WACjCH,GAEHI,YAAW,WAAA,OAAMH,GAA4B,EAAK,GAAEI,EAExD,GAAG,CAACL,EAA0BC,IAExBK,EAAsBH,GAAY,WAClCH,GAA0BC,GAA4B,EAC5D,GAAG,CAACD,EAA0BC,IAG9BM,EAAuB,CACrBC,IAAKb,EACLc,kBAAmBP,IAGrBQ,EAAiB,CACfC,UAAW,OACXH,IAAKX,EACLe,SAAUN,IAIZO,EAAY,CACVC,KAAM1B,EACNoB,IAAKb,EACLoB,oBAAoB,EACpBC,gBAAgB,EAChBJ,SAAUT,GAAY,WAChBH,IAA0BH,aAA0B,EAA1BA,EAA4BoB,UAAWpB,EAA2BoB,QAAQC,OAC1G,GAAG,CAAClB,EAA0BH,MAIhCgB,EAAY,CACVC,KAAM1B,EACN+B,SAAUN,EAAYO,UAAUC,MAChCb,IAAKb,EACLiB,SAAUN,IAEZO,EAAY,CACVC,KAAM1B,EACNoB,IAAKX,EACLkB,oBAAoB,EACpBH,SAAUT,GAAY,YAGpBJ,aAAuB,EAAvBA,EAAyBkB,UAAWlB,EAAwBkB,QAAQC,QAChElB,GAA0BC,GAA4B,EAC3D,GAAE,CAACF,EAAyBC,EAA0BC,MAEzDY,EAAY,CACVC,KAAM1B,EACNoB,IAAKX,EACLsB,SAAUN,EAAYO,UAAUC,MAChCT,SAAUT,GAAY,YAGpBL,aAAuB,EAAvBA,EAAyBmB,UAAWnB,EAAwBmB,QAAQC,QAChElB,GAA0BC,GAA4B,EAC3D,GAAE,CAACH,EAAyBE,EAA0BC,MAEzDY,EAAY,CACVC,KAAMxB,EACNkB,IAAKX,EACLe,SAAUT,GAAY,YACpBR,aAAmB,EAAnBA,EAAqBsB,UAAWtB,EAAoBsB,QAAQC,QACxDlB,GAA0BC,GAA4B,EAC3D,GAAE,CAACN,EAAqBK,EAA0BC,MAErDY,EAAY,CACVC,KAAMxB,EACNkB,IAAKb,EACLiB,SAAUN,IAIZI,EAAiB,CACfC,UAAW,QACXH,IAAKT,EACLa,SAAUN,GAEd,CAEagB,IAAAA,EAAiB,SAC5BC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAMC,EAAcL,EAAKM,MACnBC,EAAoCC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAP,GAAO,CAAAQ,MAAON,OAAgB/B,EAAY,SAC9EsC,EAAO,gBAAAC,OAAmBX,EAAa,UAE7C,OACEY,gBAACC,EAAgB,CACfC,IAAKd,EACLe,eAAeX,eAAAA,EAAaY,SAC5BC,eAAgB,CAAED,QAAS,SAAAE,GAAK,OAAId,EAAYY,QAAQE,EAAOd,EAAYe,GAAG,EAAEC,UAAW,IAE3FR,EAAKS,cAAA,MAAA,CAAApB,MAAOK,GACVM,EAACS,cAAAC,EAAK,CAAAC,UAAU,MAAMC,IAAI,KAAI,kBAAkBd,GAC9CE,EAAAS,cAACI,EACKlB,OAAAC,OAAA,CAAA,EAAAJ,GACJsB,kBAActD,EACF,aAAA,GACZuD,WAAYC,EACZ1B,KAAMA,IAAQE,aAAW,EAAXA,EAAaF,MAC3BkB,UAAW,EACXS,KAAK,QACLC,UAAWC,EAAuCC,4BAElD7B,GACAS,EAAAS,cAAA,MAAA,CAAKF,GAAIT,EAASoB,UAAWC,EAAuCE,wBACjE7B,EAAY8B,kBAO3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupHelper.js","sources":["../../../../../src/components/AvatarGroup/AvatarGroupHelper.ts"],"sourcesContent":["import type React from \"react\";\nimport { type AvatarProps } from \"@vibe/avatar\";\n\nexport const avatarOnClick = (event: React.MouseEvent | React.KeyboardEvent, avatarProps: AvatarProps) => {\n avatarProps?.onClick?.(event, avatarProps.id);\n};\n"],"names":["avatarOnClick","event","avatarProps","_a","onClick","call","id"],"mappings":"AAGO,IAAMA,EAAgB,SAACC,EAA+CC,SACpD,QAAvBC,EAAAD,aAAW,EAAXA,EAAaE,eAAU,IAAAD,GAAAA,EAAAE,KAAAH,EAAAD,EAAOC,EAAYI,GAC5C"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import e,{createContext as o,useState as t,useMemo as i,useContext as n}from"react";import{noop as l}from"es-toolkit";var v=o({hover:void 0,setHover:l}),u=function(o){var n=o.children,l=t(void 0),u=r(l,2),a=u[0],c=u[1],m=i((function(){return{hover:a,setHover:c}}),[a]);return e.createElement(v.Provider,{value:m},n)},a=function(){return n(v)};export{v as DayContentHoverContext,u as DayContentHoverProvider,a as useDayContentHoverContext};
|
|
2
|
-
//# sourceMappingURL=DateContentHoverContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DateContentHoverContext.js","sources":["../../../../../src/components/DatePicker/DateContentHoverContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from \"react\";\nimport { noop } from \"es-toolkit\";\n\nexport const DayContentHoverContext = createContext<{\n hover: Date | undefined;\n setHover: (_hover: Date | undefined) => void;\n}>({ hover: undefined, setHover: noop });\n\nexport const DayContentHoverProvider = ({ children }: { children: React.ReactNode }) => {\n const [hover, setHover] = useState<Date | undefined>(undefined);\n const value = useMemo(() => ({ hover, setHover }), [hover]);\n return <DayContentHoverContext.Provider value={value}>{children}</DayContentHoverContext.Provider>;\n};\n\nexport const useDayContentHoverContext = () => useContext(DayContentHoverContext);\n"],"names":["DayContentHoverContext","createContext","hover","undefined","setHover","noop","DayContentHoverProvider","_ref","children","_useState","useState","_useState2","_slicedToArray","value","useMemo","React","createElement","Provider","useDayContentHoverContext","useContext"],"mappings":"qMAGaA,IAAAA,EAAyBC,EAGnC,CAAEC,WAAOC,EAAWC,SAAUC,IAEpBC,EAA0B,SAAHC,GAAmD,IAA7CC,EAAQD,EAARC,SACxCC,EAA0BC,OAA2BP,GAAUQ,EAAAC,EAAAH,EAAA,GAAxDP,EAAKS,EAAA,GAAEP,EAAQO,EAAA,GAChBE,EAAQC,GAAQ,WAAA,MAAO,CAAEZ,MAAAA,EAAOE,SAAAA,EAAU,GAAG,CAACF,IACpD,OAAOa,EAAAC,cAAChB,EAAuBiB,SAAQ,CAACJ,MAAOA,GAAQL,EACzD,EAEaU,EAA4B,WAAH,OAASC,EAAWnB,EAAuB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{defineProperty as e,slicedToArray as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import a,{useMemo as r,useState as n,useRef as o,useEffect as i,useCallback as d,createContext as s}from"react";import l from"classnames";import{InternalModifier as c,DayPicker as u}from"react-day-picker";import m from"./DatePicker.module.scss.js";import f from"./DatePickerHeader.js";import{AddToRangeMiddle as k,AddToRangeStart as v,RemoveFromRange as D,HoveredDayExists as g,AddToRangeEnd as y,HalfRangeSelected as P,addToRange as b,addToRangeModifiers as p}from"./utils.js";import{RangeDayContent as h}from"./RangeDayContent.js";import{SingleDayContent as C}from"./SingleDayContent.js";import{DayContentHoverProvider as S,DayContentHoverContext as R}from"./DateContentHoverContext.js";var A,N={hours:9,minutes:0},E=(e(e(e(e(e(e(e(e(e(e(A={},c.Outside,m.datePickerDayOutside),c.Selected,m.datePickerDaySelected),c.Today,m.datePickerDayToday),c.Disabled,m.datePickerDayDisabled),c.RangeStart,m.datePickerDayRangeStart),c.RangeEnd,m.datePickerDayRangeEnd),c.RangeMiddle,m.datePickerDayRangeMiddle),k,m.datePickerAddToRangeMiddle),v,m.datePickerAddToRangeStart),y,m.datePickerAddToRangeEnd),e(e(e(A,D,m.datePickerRemoveFromRange),g,m.datePickerHoveredDayExists),P,m.datePickerHalfRangeSelected)),j=s({}),w=function(){return a.createElement(j.Consumer,null,(function(e){return a.createElement(f,Object.assign({},e))}))},H=function(s){var f=s.className,k=s.dayClassName,v=s.selectedDayClassName,D=s.id,g=s["data-testid"],y=s.mode,P=void 0===y?"single":y,A=s.date,H=s.endDate,L=s.onDateChange,M=s.firstDayOfWeek,O=void 0===M?0:M,x=s.showWeekNumber,T=s.isDateDisabled,B=s.locale,W=s.nextButtonAriaLabel,_=void 0===W?"Next":W,q=s.prevButtonAriaLabel,F=void 0===q?"Previous":q,Y=s.monthSelectionAriaLabel,z=void 0===Y?"Month":Y,G=s.yearSelectionAriaLabel,I=void 0===G?"Year":G,J=s.dropdownsClassName,K=s.intent,Q=void 0===K?"to":K,U=s.dialogContainerSelector,V=r((function(){return"single"===P?A:{from:A,to:H}}),[A,H,P]),X=n(A||new Date),Z=t(X,2),$=Z[0],ee=Z[1],te=o(),ae=o(),re=o(!1);i((function(){var e=+ae.current!=+H,t=!re.current;+te.current!=+A?t&&A&&ee(A):e&&t&&H&&ee(H),te.current=A,ae.current=H,re.current=!1}),[A,H]);var ne=d((function(e,t){if(re.current=!0,"range"===P){var a=b(t,V,Q);L({date:null==a?void 0:a.from,endDate:null==a?void 0:a.to})}else{var r=e,n=A?{hours:A.getHours(),minutes:A.getMinutes()}:N;r.setHours(n.hours,n.minutes),L(r)}}),[A,Q,P,L,V]),oe=r((function(){return{setDisplayMonth:ee,locale:B,nextButtonAriaLabel:_,prevButtonAriaLabel:F,monthSelectionAriaLabel:z,yearSelectionAriaLabel:I,dropdownsClassName:J,dialogContainerSelector:U}}),[B,z,_,ee,F,I,J,U]),ie=r((function(){return Object.assign(Object.assign({},E),e({},c.Selected,l(E[c.Selected],v)))}),[v]),de=r((function(){return{months:m.datePickerMonths,head:m.datePickerHead,table:m.datePickerTable,tbody:m.datePickerBody,day:l(m.datePickerDay,k)}}),[k]);return a.createElement("div",{id:D,className:l(m.datePicker,e({},m.withWeekNumber,x),f),"data-testid":g,"data-vibe":"DatePicker"},a.createElement(S,null,a.createElement(j.Provider,{value:oe},a.createElement(R.Consumer,null,(function(e){var t=p(e.hover,V,Q);return a.createElement(u,{fixedWeeks:!0,showOutsideDays:!0,showWeekNumber:x,mode:P,required:!0,weekStartsOn:O,disabled:T,selected:V,onSelect:ne,month:$,onMonthChange:ee,components:{Caption:w,DayContent:"single"===P?C:h},classNames:de,modifiers:t,modifiersClassNames:ie,locale:B})})))))};export{N as DEFAULT_TIME,H as default};
|
|
2
|
-
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { type FC, createContext, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport { type DateRange, DayPicker as ReactDatePicker, InternalModifier as DayModifier } from \"react-day-picker\";\nimport styles from \"./DatePicker.module.scss\";\nimport DatePickerHeader, { type DatePickerHeaderProps } from \"./DatePickerHeader\";\nimport { type DatePickerProps, type DatePickerRange } from \"./DatePicker.types\";\nimport {\n AddToRangeEnd,\n AddToRangeMiddle,\n AddToRangeStart,\n HalfRangeSelected,\n HoveredDayExists,\n RemoveFromRange,\n addToRange,\n addToRangeModifiers\n} from \"./utils\";\nimport { RangeDayContent } from \"./RangeDayContent\";\nimport { SingleDayContent } from \"./SingleDayContent\";\nimport { DayContentHoverContext, DayContentHoverProvider } from \"./DateContentHoverContext\";\n\nexport const DEFAULT_TIME = { hours: 9, minutes: 0 };\n\nconst MODIFIERS_CLASS_NAMES = {\n [DayModifier.Outside]: styles.datePickerDayOutside,\n [DayModifier.Selected]: styles.datePickerDaySelected,\n [DayModifier.Today]: styles.datePickerDayToday,\n [DayModifier.Disabled]: styles.datePickerDayDisabled,\n [DayModifier.RangeStart]: styles.datePickerDayRangeStart,\n [DayModifier.RangeEnd]: styles.datePickerDayRangeEnd,\n [DayModifier.RangeMiddle]: styles.datePickerDayRangeMiddle,\n [AddToRangeMiddle]: styles.datePickerAddToRangeMiddle,\n [AddToRangeStart]: styles.datePickerAddToRangeStart,\n [AddToRangeEnd]: styles.datePickerAddToRangeEnd,\n [RemoveFromRange]: styles.datePickerRemoveFromRange,\n [HoveredDayExists]: styles.datePickerHoveredDayExists,\n [HalfRangeSelected]: styles.datePickerHalfRangeSelected\n};\n\nconst DatePickerHeaderContext = createContext<DatePickerHeaderProps>({} as DatePickerHeaderProps);\n\nconst Caption = () => (\n <DatePickerHeaderContext.Consumer>{props => <DatePickerHeader {...props} />}</DatePickerHeaderContext.Consumer>\n);\n\nconst DatePicker: FC<DatePickerProps> = ({\n className,\n dayClassName,\n selectedDayClassName,\n id,\n \"data-testid\": dataTestId,\n mode = \"single\",\n date,\n endDate,\n onDateChange,\n firstDayOfWeek = 0,\n showWeekNumber,\n isDateDisabled,\n locale,\n nextButtonAriaLabel = \"Next\",\n prevButtonAriaLabel = \"Previous\",\n monthSelectionAriaLabel = \"Month\",\n yearSelectionAriaLabel = \"Year\",\n dropdownsClassName,\n intent = \"to\",\n dialogContainerSelector\n}) => {\n const selected = useMemo(() => (mode === \"single\" ? date : { from: date, to: endDate }), [date, endDate, mode]);\n const [displayMonth, setDisplayMonth] = useState(date || new Date());\n\n const prevDateRef = useRef<Date | undefined>();\n const prevEndDateRef = useRef<Date | undefined>();\n const lastChangeByInnerSelection = useRef(false);\n useEffect(() => {\n const dateChanged = +prevDateRef.current !== +date;\n const endDateChanged = +prevEndDateRef.current !== +endDate;\n const shouldSetDisplayMonth = !lastChangeByInnerSelection.current;\n\n if (dateChanged) {\n shouldSetDisplayMonth && date && setDisplayMonth(date);\n } else if (endDateChanged) {\n shouldSetDisplayMonth && endDate && setDisplayMonth(endDate);\n }\n\n prevDateRef.current = date;\n prevEndDateRef.current = endDate;\n lastChangeByInnerSelection.current = false;\n }, [date, endDate]);\n\n const onPickerDateChange = useCallback(\n (newValue: Date | DateRange, selectedDay: Date) => {\n lastChangeByInnerSelection.current = true;\n\n if (mode === \"range\") {\n const newRange = addToRange(selectedDay, selected as DateRange, intent);\n (onDateChange as (range: DatePickerRange) => void)({ date: newRange?.from, endDate: newRange?.to });\n } else {\n const newDate = newValue as Date;\n const { hours, minutes } = date ? { hours: date.getHours(), minutes: date.getMinutes() } : DEFAULT_TIME;\n newDate.setHours(hours, minutes);\n (onDateChange as (date: Date | undefined) => void)(newDate);\n }\n },\n [date, intent, mode, onDateChange, selected]\n );\n\n const DatePickerHeaderContextValue = useMemo<DatePickerHeaderProps>(\n () => ({\n setDisplayMonth,\n locale,\n nextButtonAriaLabel,\n prevButtonAriaLabel,\n monthSelectionAriaLabel,\n yearSelectionAriaLabel,\n dropdownsClassName,\n dialogContainerSelector\n }),\n [\n locale,\n monthSelectionAriaLabel,\n nextButtonAriaLabel,\n setDisplayMonth,\n prevButtonAriaLabel,\n yearSelectionAriaLabel,\n dropdownsClassName,\n dialogContainerSelector\n ]\n );\n\n const modifiersClassNames = useMemo(\n () => ({\n ...MODIFIERS_CLASS_NAMES,\n [DayModifier.Selected]: cx(MODIFIERS_CLASS_NAMES[DayModifier.Selected], selectedDayClassName)\n }),\n [selectedDayClassName]\n );\n\n const classNames = useMemo(\n () => ({\n months: styles.datePickerMonths,\n head: styles.datePickerHead,\n table: styles.datePickerTable,\n tbody: styles.datePickerBody,\n day: cx(styles.datePickerDay, dayClassName)\n }),\n [dayClassName]\n );\n\n return (\n <div\n id={id}\n className={cx(styles.datePicker, { [styles.withWeekNumber]: showWeekNumber }, className)}\n data-testid={dataTestId}\n data-vibe=\"DatePicker\"\n >\n <DayContentHoverProvider>\n <DatePickerHeaderContext.Provider value={DatePickerHeaderContextValue}>\n <DayContentHoverContext.Consumer>\n {({ hover }) => {\n const modifiers = addToRangeModifiers(hover, selected as DateRange, intent);\n return (\n <ReactDatePicker\n fixedWeeks\n showOutsideDays\n showWeekNumber={showWeekNumber}\n mode={mode as \"single\"} // cast to avoid type errors from ReactDatePicker\n required\n weekStartsOn={firstDayOfWeek}\n disabled={isDateDisabled}\n selected={selected as Date} // cast to avoid type errors from ReactDatePicker\n onSelect={onPickerDateChange}\n month={displayMonth}\n onMonthChange={setDisplayMonth}\n components={{ Caption, DayContent: mode === \"single\" ? SingleDayContent : RangeDayContent }}\n classNames={classNames}\n modifiers={modifiers}\n modifiersClassNames={modifiersClassNames}\n locale={locale}\n />\n );\n }}\n </DayContentHoverContext.Consumer>\n </DatePickerHeaderContext.Provider>\n </DayContentHoverProvider>\n </div>\n );\n};\n\nexport default DatePicker;\n"],"names":["DEFAULT_TIME","hours","minutes","MODIFIERS_CLASS_NAMES","_defineProperty","_MODIFIERS_CLASS_NAME","DayModifier","Outside","styles","datePickerDayOutside","Selected","datePickerDaySelected","Today","datePickerDayToday","Disabled","datePickerDayDisabled","RangeStart","datePickerDayRangeStart","RangeEnd","datePickerDayRangeEnd","RangeMiddle","datePickerDayRangeMiddle","AddToRangeMiddle","datePickerAddToRangeMiddle","AddToRangeStart","datePickerAddToRangeStart","AddToRangeEnd","datePickerAddToRangeEnd","RemoveFromRange","datePickerRemoveFromRange","HoveredDayExists","datePickerHoveredDayExists","HalfRangeSelected","datePickerHalfRangeSelected","DatePickerHeaderContext","createContext","Caption","React","createElement","Consumer","props","DatePickerHeader","DatePicker","_ref","className","dayClassName","selectedDayClassName","id","dataTestId","_ref$mode","mode","date","endDate","onDateChange","_ref$firstDayOfWeek","firstDayOfWeek","showWeekNumber","isDateDisabled","locale","_ref$nextButtonAriaLa","nextButtonAriaLabel","_ref$prevButtonAriaLa","prevButtonAriaLabel","_ref$monthSelectionAr","monthSelectionAriaLabel","_ref$yearSelectionAri","yearSelectionAriaLabel","dropdownsClassName","_ref$intent","intent","dialogContainerSelector","selected","useMemo","from","to","_useState","useState","Date","_useState2","_slicedToArray","displayMonth","setDisplayMonth","prevDateRef","useRef","prevEndDateRef","lastChangeByInnerSelection","useEffect","endDateChanged","current","shouldSetDisplayMonth","onPickerDateChange","useCallback","newValue","selectedDay","newRange","addToRange","newDate","_ref2","getHours","getMinutes","setHours","DatePickerHeaderContextValue","modifiersClassNames","Object","assign","cx","classNames","months","datePickerMonths","head","datePickerHead","table","datePickerTable","tbody","datePickerBody","day","datePickerDay","datePicker","withWeekNumber","DayContentHoverProvider","Provider","value","DayContentHoverContext","_ref3","modifiers","addToRangeModifiers","hover","ReactDatePicker","fixedWeeks","showOutsideDays","required","weekStartsOn","disabled","onSelect","month","onMonthChange","components","DayContent","SingleDayContent","RangeDayContent"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={datePicker:"datePicker",datePickerMonths:"datePickerMonths",withWeekNumber:"withWeekNumber",datePickerHead:"datePickerHead",datePickerBody:"datePickerBody",datePickerTable:"datePickerTable",datePickerDay:"datePickerDay",datePickerDayContent:"datePickerDayContent",datePickerDayDisabled:"datePickerDayDisabled",datePickerAddToRangeStart:"datePickerAddToRangeStart",datePickerAddToRangeEnd:"datePickerAddToRangeEnd",datePickerAddToRangeMiddle:"datePickerAddToRangeMiddle",datePickerDayRangeStart:"datePickerDayRangeStart",datePickerDayRangeEnd:"datePickerDayRangeEnd",datePickerDayOutside:"datePickerDayOutside",datePickerDaySelected:"datePickerDaySelected",datePickerDayRangeMiddle:"datePickerDayRangeMiddle",datePickerRemoveFromRange:"datePickerRemoveFromRange",datePickerHalfRangeSelected:"datePickerHalfRangeSelected"};!function(e){const a="s_id-601bce29f4a5_4_5_24";if("undefined"!=typeof document){const d=document.head||document.getElementsByTagName("head")[0];if(d.querySelector("#"+a))return;const r=document.createElement("style");r.id=a,d.firstChild?d.insertBefore(r,d.firstChild):d.appendChild(r),r.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[a]=e)}('/* stylelint-disable */\n/* stylelint-enable */\n.datePicker {\n --day-picker-header-height: 34px;\n --day-picker-content-height: 234px;\n --day-picker-day-width: 30px;\n --day-picker-day-height: 30px;\n --day-picker-days-horizontal-gap: 4px;\n --day-picker-days-vertical-gap: 2px;\n --day-picker-day-change-range: var(--primary-surface-color);\n}\n.datePicker .datePickerMonths {\n display: flex;\n flex-direction: row;\n gap: var(--space-16);\n align-items: flex-start;\n}\n.datePicker.withWeekNumber {\n --day-picker-days-horizontal-gap: 2px;\n width: 284px;\n margin: 0;\n}\n.datePicker.withWeekNumber .datePickerHead td:first-child {\n width: var(--day-picker-day-width);\n border-start-start-radius: var(--border-radius-medium);\n border-start-end-radius: var(--border-radius-medium);\n background-color: var(--primary-background-hover-color);\n}\n.datePicker.withWeekNumber .datePickerHead td:first-child::after {\n color: var(--secondary-text-color);\n font: var(--font-text2-normal);\n display: flex;\n justify-content: center;\n content: "No.";\n}\n.datePicker.withWeekNumber .datePickerBody td:first-child {\n background-color: var(--primary-background-hover-color);\n}\n.datePicker.withWeekNumber .datePickerBody tr:last-child td:first-child {\n border-end-start-radius: var(--border-radius-medium);\n border-end-end-radius: var(--border-radius-medium);\n}\n.datePicker .datePickerTable {\n margin-top: var(--space-8);\n border-collapse: collapse;\n height: var(--day-picker-content-height);\n}\n.datePicker .datePickerHead th {\n color: var(--secondary-text-color);\n font: var(--font-text2-normal);\n padding-block: var(--space-2);\n text-align: center;\n height: var(--day-picker-day-height);\n}\n.datePicker .datePickerBody td {\n color: var(--secondary-text-color);\n font: var(--font-text2-normal);\n text-align: center;\n padding: 0;\n}\n.datePicker .datePickerBody .datePickerDay {\n color: var(--primary-text-color);\n font: var(--font-text2-normal);\n width: var(--day-picker-day-width);\n height: var(--day-picker-day-height);\n background: none;\n border: none;\n cursor: pointer;\n border-radius: var(--border-radius-small);\n margin: var(--day-picker-days-vertical-gap) var(--day-picker-days-horizontal-gap);\n padding: 0;\n}\n.datePicker .datePickerBody .datePickerDay .datePickerDayContent {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n border-radius: var(--border-radius-small);\n}\n.datePicker .datePickerBody .datePickerDay:focus-visible {\n outline: none;\n}\n.datePicker .datePickerBody .datePickerDay:focus-visible .datePickerDayContent {\n outline: 2px solid var(--primary-color);\n}\n.datePicker .datePickerBody .datePickerDay.datePickerDayDisabled {\n color: var(--disabled-text-color);\n cursor: not-allowed;\n}\n.datePicker .datePickerBody .datePickerDay:not(.datePickerDayDisabled):not(.datePickerAddToRangeStart):not(.datePickerAddToRangeEnd):not(.datePickerAddToRangeMiddle):not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd) .datePickerDayContent:hover {\n background: var(--primary-background-hover-color);\n}\n.datePicker .datePickerBody .datePickerDay.datePickerDayOutside {\n color: var(--disabled-text-color);\n}\n.datePicker .datePickerBody .datePickerDay.datePickerDaySelected:not(.datePickerDayRangeMiddle):not(.datePickerRemoveFromRange) {\n background: var(--primary-color);\n color: var(--text-color-on-primary);\n}\n.datePicker .datePickerBody .datePickerDay.datePickerDayRangeStart:not(.datePickerDayRangeEnd):not(.datePickerRemoveFromRange), .datePicker .datePickerBody .datePickerDay.datePickerDayRangeEnd:not(.datePickerDayRangeStart):not(.datePickerRemoveFromRange) {\n background: var(--primary-color);\n width: calc(var(--day-picker-day-width) + var(--day-picker-days-horizontal-gap));\n}\n.datePicker .datePickerBody .datePickerDay.datePickerDayRangeStart.datePickerRemoveFromRange, .datePicker .datePickerBody .datePickerDay.datePickerDayRangeEnd.datePickerRemoveFromRange {\n background: var(--primary-color);\n color: var(--text-color-on-primary);\n}\n.datePicker .datePickerBody .datePickerDay.datePickerDayRangeStart.datePickerRemoveFromRange:not(.datePickerDayRangeEnd), .datePicker .datePickerBody .datePickerDay.datePickerDayRangeEnd.datePickerRemoveFromRange:not(.datePickerDayRangeStart) {\n width: calc(var(--day-picker-day-width) + var(--day-picker-days-horizontal-gap));\n}\n.datePicker .datePickerBody .datePickerDay.datePickerAddToRangeStart, .datePicker .datePickerBody .datePickerDay.datePickerDayRangeStart:not(.datePickerDayRangeEnd) {\n margin-inline-end: 0;\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n.datePicker .datePickerBody .datePickerDay.datePickerAddToRangeEnd, .datePicker .datePickerBody .datePickerDay.datePickerDayRangeEnd:not(.datePickerDayRangeStart) {\n margin-inline-start: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n.datePicker .datePickerBody .datePickerDay.datePickerAddToRangeStart, .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeEnd, .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeMiddle {\n margin: var(--day-picker-days-vertical-gap) 0;\n}\n.datePicker .datePickerBody .datePickerDay.datePickerAddToRangeStart:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd), .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeEnd:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd), .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeMiddle, .datePicker .datePickerBody .datePickerDay.datePickerDayRangeMiddle:not(.datePickerAddToRangeStart):not(.datePickerAddToRangeEnd) {\n background-color: var(--primary-selected-color);\n border: var(--day-picker-days-horizontal-gap) var(--border-style) var(--primary-selected-color);\n border-top: none;\n border-bottom: none;\n width: calc(var(--day-picker-day-width) + 2 * var(--day-picker-days-horizontal-gap));\n}\n.datePicker .datePickerBody .datePickerDay.datePickerAddToRangeMiddle, .datePicker .datePickerBody .datePickerDay.datePickerDayRangeMiddle:not(.datePickerAddToRangeStart):not(.datePickerAddToRangeEnd) {\n background: var(--primary-selected-color);\n margin: var(--day-picker-days-vertical-gap) 0;\n border-radius: 0;\n}\n.datePicker .datePickerBody .datePickerDay.datePickerRemoveFromRange:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd), .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeStart:not(.datePickerDayRangeMiddle):not(.datePickerDayRangeEnd), .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeEnd:not(.datePickerDayRangeMiddle):not(.datePickerDayRangeStart), .datePicker .datePickerBody .datePickerDay.datePickerAddToRangeMiddle {\n background: var(--day-picker-day-change-range);\n border-color: var(--day-picker-day-change-range);\n}\n.datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerDayRangeMiddle, .datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeStart:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd), .datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeMiddle, .datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeEnd:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd) {\n border: none;\n width: calc(var(--day-picker-day-width) + var(--day-picker-days-horizontal-gap));\n margin-inline-start: var(--day-picker-days-horizontal-gap);\n border-inline-end: var(--day-picker-days-horizontal-gap) solid var(--primary-selected-color);\n border-start-start-radius: var(--border-radius-small);\n border-end-start-radius: var(--border-radius-small);\n}\n.datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerRemoveFromRange {\n border-color: var(--day-picker-day-change-range);\n}\n.datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeEnd, .datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerDayRangeEnd:not(.datePickerDayRangeStart) {\n margin-inline-end: 0;\n}\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerDayRangeMiddle, .datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeStart:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd), .datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeMiddle, .datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeEnd:not(.datePickerDayRangeStart):not(.datePickerDayRangeEnd) {\n border: none;\n width: calc(var(--day-picker-day-width) + var(--day-picker-days-horizontal-gap));\n margin-inline-end: var(--day-picker-days-horizontal-gap);\n border-inline-start: var(--day-picker-days-horizontal-gap) solid var(--primary-selected-color);\n border-start-end-radius: var(--border-radius-small);\n border-end-end-radius: var(--border-radius-small);\n}\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerRemoveFromRange {\n border-color: var(--day-picker-day-change-range);\n}\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeStart, .datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerDayRangeStart:not(.datePickerDayRangeEnd) {\n margin-inline-start: 0;\n}\n.datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeStart:not(.datePickerDayRangeMiddle), .datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeMiddle, .datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerAddToRangeEnd:not(.datePickerDayRangeMiddle),\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeStart:not(.datePickerDayRangeMiddle),\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeMiddle,\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerAddToRangeEnd:not(.datePickerDayRangeMiddle) {\n border-color: var(--day-picker-day-change-range);\n}\n.datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerDaySelected.datePickerDayRangeEnd.datePickerAddToRangeStart,\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerDaySelected.datePickerDayRangeEnd.datePickerAddToRangeStart {\n border-inline-start-width: 0;\n}\n.datePicker .datePickerBody tr td:first-child .datePickerDay.datePickerDaySelected.datePickerDayRangeStart.datePickerAddToRangeEnd,\n.datePicker .datePickerBody tr td:last-child .datePickerDay.datePickerDaySelected.datePickerDayRangeStart.datePickerAddToRangeEnd {\n border-inline-end-width: 0;\n}\n.datePicker .datePickerBody .datePickerDaySelected.datePickerDayRangeEnd.datePickerAddToRangeStart {\n border-radius: var(--border-radius-small) !important;\n border-color: var(--primary-color) !important;\n background-color: var(--primary-color) !important;\n}\n.datePicker .datePickerBody .datePickerDaySelected.datePickerDayRangeEnd.datePickerAddToRangeStart:not(.datePickerHalfRangeSelected) {\n margin-inline-start: calc(var(--day-picker-days-horizontal-gap) * -1);\n}\n.datePicker .datePickerBody .datePickerDaySelected.datePickerDayRangeStart.datePickerAddToRangeEnd {\n border-radius: var(--border-radius-small) !important;\n border-color: var(--primary-color) !important;\n background-color: var(--primary-color) !important;\n}\n.datePicker .datePickerBody .datePickerDaySelected.datePickerDayRangeStart.datePickerAddToRangeEnd:not(.datePickerHalfRangeSelected) {\n margin-inline-end: calc(var(--day-picker-days-horizontal-gap) * -1);\n}');export{e as default};
|
|
2
|
-
//# sourceMappingURL=DatePicker.module.scss.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e,{useCallback as n,useMemo as r}from"react";import t from"classnames";import{useDayPicker as a,useNavigation as o}from"react-day-picker";import{IconButton as l}from"@vibe/icon-button/mockedClassNames";import{Flex as i}from"@vibe/layout/mockedClassNames";import{Dropdown as s}from"@vibe/dropdown/mockedClassNames";import{DropdownChevronLeft as c,DropdownChevronRight as u}from"@vibe/icons";import m from"./DatePickerHeader.module.scss.js";import{useMonthsOptionItems as f,useYearsOptionItems as p}from"./datePickerHooks.js";import{format as d}from"date-fns";var b=function(d){var b=d.setDisplayMonth,k=d.monthSelectionAriaLabel,y=d.yearSelectionAriaLabel,g=d.nextButtonAriaLabel,C=d.prevButtonAriaLabel,M=d.locale,N=d.className,D=a().month,w=o(),E=w.goToMonth,j=w.nextMonth,B=w.previousMonth,z=n((function(){return E(j)}),[E,j]),A=n((function(){return E(B)}),[E,B]),L=f({locale:M}),O=p({locale:M}),x=r((function(){return L.map((function(e){return Object.assign(Object.assign({},e),{value:e.id})}))}),[L]),H=r((function(){return O.map((function(e){return Object.assign(Object.assign({},e),{value:e.id})}))}),[O]),P=r((function(){return h(D,M)}),[D,M]),F=r((function(){return v(D,M)}),[D,M]),R=n((function(e){var n=e.value,r=new Date(D);r.setMonth(+n),b(r)}),[D,b]),S=n((function(e){var n=e.value,r=new Date(D);r.setFullYear(+n),b(r)}),[D,b]),W=r((function(){return x.find((function(e){return e.value===""+D.getMonth()}))}),[x,D]),Y=r((function(){return H.find((function(e){return e.value===""+D.getFullYear()}))}),[H,D]);return e.createElement("div",{className:t(m.datePickerHeader,N)},e.createElement(i,{gap:"small"},e.createElement(s,{className:m.monthButtonDropdown,"aria-label":k,options:x,value:W,onChange:R,menuWrapperClassName:m.monthButtonDropdown,size:"small",valueRenderer:function(e){return P},searchable:!1,clearable:!1,borderless:!0}),e.createElement(s,{className:m.yearButtonDropdown,"aria-label":y,options:H,value:Y,onChange:S,menuWrapperClassName:m.yearButtonDropdown,size:"small",valueRenderer:function(e){return F},searchable:!1,clearable:!1,borderless:!0})),e.createElement(i,null,e.createElement(l,{kind:"tertiary",size:"small","aria-label":C,onClick:A,icon:c}),e.createElement(l,{kind:"tertiary",size:"small","aria-label":g,onClick:z,icon:u})))};function v(e,n){return d(e,"yyyy",{locale:n})}function h(e,n){return d(e,"MMM",{locale:n})}export{b as default,h as getMonthButtonLabel,v as getYearButtonLabel};
|
|
2
|
-
//# sourceMappingURL=DatePickerHeader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerHeader.js","sources":["../../../../../src/components/DatePicker/DatePickerHeader.tsx"],"sourcesContent":["import React, { type FC, useCallback, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport { useDayPicker, useNavigation } from \"react-day-picker\";\nimport { IconButton } from \"@vibe/icon-button\";\nimport { Flex } from \"@vibe/layout\";\nimport { Dropdown } from \"@vibe/dropdown\";\nimport { DropdownChevronRight, DropdownChevronLeft } from \"@vibe/icons\";\nimport styles from \"./DatePickerHeader.module.scss\";\nimport { useMonthsOptionItems, useYearsOptionItems, type DatePickerDropdownItem } from \"./datePickerHooks\";\nimport { format, type Locale } from \"date-fns\";\n\nexport interface DatePickerHeaderProps {\n setDisplayMonth: (displayMonth: Date) => void;\n monthSelectionAriaLabel?: string;\n yearSelectionAriaLabel?: string;\n nextButtonAriaLabel?: string;\n prevButtonAriaLabel?: string;\n locale?: Locale;\n className?: string;\n dropdownsClassName?: string;\n dialogContainerSelector?: string;\n}\n\nconst DatePickerHeader: FC<DatePickerHeaderProps> = ({\n setDisplayMonth,\n monthSelectionAriaLabel,\n yearSelectionAriaLabel,\n nextButtonAriaLabel,\n prevButtonAriaLabel,\n locale,\n className,\n dialogContainerSelector: _dialogContainerSelector\n}) => {\n const { month: displayMonth } = useDayPicker();\n const { goToMonth, nextMonth, previousMonth } = useNavigation();\n const goToNextMonth = useCallback(() => goToMonth(nextMonth), [goToMonth, nextMonth]);\n const goToPreviousMonth = useCallback(() => goToMonth(previousMonth), [goToMonth, previousMonth]);\n const monthsData = useMonthsOptionItems({ locale });\n const yearsData = useYearsOptionItems({ locale });\n\n const months = useMemo(() => monthsData.map(item => ({ ...item, value: item.id })), [monthsData]);\n const years = useMemo(() => yearsData.map(item => ({ ...item, value: item.id })), [yearsData]);\n const monthButtonLabel = useMemo(() => getMonthButtonLabel(displayMonth, locale), [displayMonth, locale]);\n const yearsButtonLabel = useMemo(() => getYearButtonLabel(displayMonth, locale), [displayMonth, locale]);\n\n const onMonthSelect = useCallback(\n (option: DatePickerDropdownItem) => {\n const month = option.value;\n const date = new Date(displayMonth);\n date.setMonth(+month);\n setDisplayMonth(date);\n },\n [displayMonth, setDisplayMonth]\n );\n\n const onYearSelect = useCallback(\n (option: DatePickerDropdownItem) => {\n const year = option.value;\n const date = new Date(displayMonth);\n date.setFullYear(+year);\n setDisplayMonth(date);\n },\n [displayMonth, setDisplayMonth]\n );\n\n const selectedMonth = useMemo(\n () => months.find(month => month.value === displayMonth.getMonth().toString()),\n [months, displayMonth]\n );\n const selectedYear = useMemo(\n () => years.find(year => year.value === displayMonth.getFullYear().toString()),\n [years, displayMonth]\n );\n\n return (\n <div className={cx(styles.datePickerHeader, className)}>\n <Flex gap=\"small\">\n <Dropdown\n className={styles.monthButtonDropdown}\n aria-label={monthSelectionAriaLabel}\n options={months}\n value={selectedMonth}\n onChange={onMonthSelect}\n menuWrapperClassName={styles.monthButtonDropdown}\n size=\"small\"\n valueRenderer={(_option: DatePickerDropdownItem) => monthButtonLabel}\n searchable={false}\n clearable={false}\n borderless\n />\n <Dropdown\n className={styles.yearButtonDropdown}\n aria-label={yearSelectionAriaLabel}\n options={years}\n value={selectedYear}\n onChange={onYearSelect}\n menuWrapperClassName={styles.yearButtonDropdown}\n size=\"small\"\n valueRenderer={(_option: DatePickerDropdownItem) => yearsButtonLabel}\n searchable={false}\n clearable={false}\n borderless\n />\n </Flex>\n <Flex>\n <IconButton\n kind=\"tertiary\"\n size=\"small\"\n aria-label={prevButtonAriaLabel}\n onClick={goToPreviousMonth}\n icon={DropdownChevronLeft}\n />\n <IconButton\n kind=\"tertiary\"\n size=\"small\"\n aria-label={nextButtonAriaLabel}\n onClick={goToNextMonth}\n icon={DropdownChevronRight}\n />\n </Flex>\n </div>\n );\n};\n\nexport default DatePickerHeader;\n\nexport function getYearButtonLabel(displayMonth: Date, locale: Locale) {\n return format(displayMonth, \"yyyy\", { locale });\n}\n\nexport function getMonthButtonLabel(displayMonth: Date, locale: Locale) {\n return format(displayMonth, \"MMM\", { locale });\n}\n"],"names":["DatePickerHeader","_ref","setDisplayMonth","monthSelectionAriaLabel","yearSelectionAriaLabel","nextButtonAriaLabel","prevButtonAriaLabel","locale","className","displayMonth","useDayPicker","month","_useNavigation","useNavigation","goToMonth","nextMonth","previousMonth","goToNextMonth","useCallback","goToPreviousMonth","monthsData","useMonthsOptionItems","yearsData","useYearsOptionItems","months","useMemo","map","item","Object","assign","value","id","years","monthButtonLabel","getMonthButtonLabel","yearsButtonLabel","getYearButtonLabel","onMonthSelect","option","date","Date","setMonth","onYearSelect","year","setFullYear","selectedMonth","find","getMonth","selectedYear","getFullYear","React","createElement","cx","styles","datePickerHeader","Flex","gap","Dropdown","monthButtonDropdown","options","onChange","menuWrapperClassName","size","valueRenderer","_option","searchable","clearable","borderless","yearButtonDropdown","IconButton","kind","onClick","icon","DropdownChevronLeft","DropdownChevronRight","format"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={monthButtonDropdown:"monthButtonDropdown",yearButtonDropdown:"yearButtonDropdown",datePickerHeader:"datePickerHeader"};!function(e){const t="s_id-a12251d5376d_4_5_24";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+t))return;const o=document.createElement("style");o.id=t,n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=e)}("/* stylelint-disable */\n/* stylelint-enable */\n.monthButtonDropdown {\n min-width: 70px;\n justify-content: space-between;\n}\n.yearButtonDropdown {\n justify-content: space-between;\n}\n.datePickerHeader {\n font: var(--font-text2-normal);\n height: var(--day-picker-header-height);\n color: var(--primary-text-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n.datePickerHeader button:focus:not(:active), .datePickerHeader button:focus-visible {\n box-shadow: 0 0 0 2px var(--primary-color);\n background: var(--primary-background-color) !important;\n}");export{e as default};
|
|
2
|
-
//# sourceMappingURL=DatePickerHeader.module.scss.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from"classnames";import t,{useRef as r,useEffect as n}from"react";import{DayContent as o}from"react-day-picker";import{useDayContentHoverContext as s}from"./DateContentHoverContext.js";import a from"./DatePicker.module.scss.js";var i=function(i){var m=i.date,u=i.activeModifiers,c=s().setHover,l=r(null);return n((function(){var e=l.current.closest("td"),t=function(){return c(m)},r=function(){return c(void 0)};return null==e||e.addEventListener("mouseenter",t),null==e||e.addEventListener("mouseleave",r),function(){null==e||e.removeEventListener("mouseenter",t),null==e||e.removeEventListener("mouseleave",r)}}),[m,c]),t.createElement("div",{ref:l,className:e(a.datePickerDayContent,u)},t.createElement(o,Object.assign({},i)))};export{i as RangeDayContent};
|
|
2
|
-
//# sourceMappingURL=RangeDayContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RangeDayContent.js","sources":["../../../../../src/components/DatePicker/RangeDayContent.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useEffect, useRef } from \"react\";\nimport {\n type DayContentProps as DatePickerDayContentProps,\n DayContent as DatePickerDayContent\n} from \"react-day-picker\";\nimport { useDayContentHoverContext } from \"./DateContentHoverContext\";\nimport styles from \"./DatePicker.module.scss\";\n\nexport const RangeDayContent = (props: DatePickerDayContentProps) => {\n const { date, activeModifiers } = props;\n const { setHover } = useDayContentHoverContext();\n\n const ref = useRef<HTMLDivElement>(null);\n useEffect(() => {\n const td = ref.current.closest(\"td\");\n const onMouseEnter = () => setHover(date);\n const onMouseLeave = () => setHover(undefined);\n\n td?.addEventListener(\"mouseenter\", onMouseEnter);\n td?.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n td?.removeEventListener(\"mouseenter\", onMouseEnter);\n td?.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [date, setHover]);\n\n return (\n <div ref={ref} className={cx(styles.datePickerDayContent, activeModifiers)}>\n <DatePickerDayContent {...props} />\n </div>\n );\n};\n"],"names":["RangeDayContent","props","date","activeModifiers","setHover","useDayContentHoverContext","ref","useRef","useEffect","td","current","closest","onMouseEnter","onMouseLeave","undefined","addEventListener","removeEventListener","React","createElement","className","cx","styles","datePickerDayContent","DatePickerDayContent","Object","assign"],"mappings":"iPASaA,EAAkB,SAACC,GAC9B,IAAQC,EAA0BD,EAA1BC,KAAMC,EAAoBF,EAApBE,gBACNC,EAAaC,IAAbD,SAEFE,EAAMC,EAAuB,MAenC,OAdAC,GAAU,WACR,IAAMC,EAAKH,EAAII,QAAQC,QAAQ,MACzBC,EAAe,WAAH,OAASR,EAASF,EAAK,EACnCW,EAAe,WAAH,OAAST,OAASU,EAAU,EAK9C,OAHAL,SAAAA,EAAIM,iBAAiB,aAAcH,GACnCH,SAAAA,EAAIM,iBAAiB,aAAcF,GAE5B,WACLJ,SAAAA,EAAIO,oBAAoB,aAAcJ,GACtCH,SAAAA,EAAIO,oBAAoB,aAAcH,GAE1C,GAAG,CAACX,EAAME,IAGRa,EAAAC,cAAA,MAAA,CAAKZ,IAAKA,EAAKa,UAAWC,EAAGC,EAAOC,qBAAsBnB,IACxDc,EAAAC,cAACK,EAAyBC,OAAAC,OAAA,CAAA,EAAAxB,IAGhC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from"react";import{DayContent as r}from"react-day-picker";import t from"./DatePicker.module.scss.js";var a=function(a){return e.createElement("div",{className:t.datePickerDayContent},e.createElement(r,Object.assign({},a)))};export{a as SingleDayContent};
|
|
2
|
-
//# sourceMappingURL=SingleDayContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SingleDayContent.js","sources":["../../../../../src/components/DatePicker/SingleDayContent.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n type DayContentProps as DatePickerDayContentProps,\n DayContent as DatePickerDayContent\n} from \"react-day-picker\";\nimport styles from \"./DatePicker.module.scss\";\n\nexport const SingleDayContent = (dayContentProps: DatePickerDayContentProps) => (\n <div className={styles.datePickerDayContent}>\n <DatePickerDayContent {...dayContentProps} />\n </div>\n);\n"],"names":["SingleDayContent","dayContentProps","React","createElement","className","styles","datePickerDayContent","DatePickerDayContent","Object","assign"],"mappings":"kHAOaA,EAAmB,SAACC,GAA0C,OACzEC,EAAKC,cAAA,MAAA,CAAAC,UAAWC,EAAOC,sBACrBJ,EAAAC,cAACI,EAAyBC,OAAAC,OAAA,CAAA,EAAAR,IACtB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useMemo as r}from"react";import{format as e}from"date-fns";var t=[0,1,2,3,4,5,6,7,8,9,10,11],n=function(n){var a=n.locale;return r((function(){return t.map((function(r){var t=new Date;return t.setMonth(r,1),{id:""+r,label:e(t,"LLL",{locale:a})}}))}),[a])},a=function(t){var n=t.locale;return r((function(){return Array.from({length:201},(function(r,e){var t=new Date;return t.setFullYear(t.getFullYear()-100+e),t})).map((function(r){return{id:""+r.getFullYear(),label:e(r,"yyyy",{locale:n})}}))}),[n])};export{n as useMonthsOptionItems,a as useYearsOptionItems};
|
|
2
|
-
//# sourceMappingURL=datePickerHooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datePickerHooks.js","sources":["../../../../../src/components/DatePicker/datePickerHooks.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { format, type Locale } from \"date-fns\";\n\nexport interface DatePickerDropdownItem {\n id: string;\n label: string;\n value: string;\n}\n\nconst monthsIndexes = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nexport const useMonthsOptionItems = ({ locale }: { locale?: Locale }) =>\n useMemo(\n () =>\n monthsIndexes.map(monthIndex => {\n const month = new Date();\n month.setMonth(monthIndex, 1);\n return { id: monthIndex.toString(), label: format(month, \"LLL\", { locale }) };\n }),\n [locale]\n );\n\n// returns a list of all years from 100 years ago to 100 years in the future\nconst YEARS_AGO = 100;\nconst YEARS_IN_FUTURE = 100;\nexport const useYearsOptionItems = ({ locale }: { locale?: Locale }) =>\n useMemo(\n () =>\n Array.from({ length: YEARS_AGO + YEARS_IN_FUTURE + 1 }, (_, i) => {\n const date = new Date();\n date.setFullYear(date.getFullYear() - YEARS_AGO + i);\n return date;\n }).map(year => ({\n id: year.getFullYear().toString(),\n label: format(year, \"yyyy\", { locale })\n })),\n [locale]\n );\n"],"names":["monthsIndexes","useMonthsOptionItems","_ref","locale","useMemo","map","monthIndex","month","Date","setMonth","id","label","format","useYearsOptionItems","_ref2","Array","from","length","YEARS_AGO","_","i","date","setFullYear","getFullYear","year"],"mappings":"kEASA,IAAMA,EAAgB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC5CC,EAAuB,SAAHC,GAAA,IAAMC,EAAMD,EAANC,OAAM,OAC3CC,GACE,WAAA,OACEJ,EAAcK,KAAI,SAAAC,GAChB,IAAMC,EAAQ,IAAIC,KAElB,OADAD,EAAME,SAASH,EAAY,GACpB,CAAEI,GAAIJ,KAAuBK,MAAOC,EAAOL,EAAO,MAAO,CAAEJ,OAAAA,IACpE,MACF,CAACA,GACF,EAKUU,EAAsB,SAAHC,GAAA,IAAMX,EAAMW,EAANX,OAAM,OAC1CC,GACE,WAAA,OACEW,MAAMC,KAAK,CAAEC,OAAQC,MAAmC,SAACC,EAAGC,GAC1D,IAAMC,EAAO,IAAIb,KAEjB,OADAa,EAAKC,YAAYD,EAAKE,cAPZ,IAOwCH,GAC3CC,CACT,IAAGhB,KAAI,SAAAmB,GAAI,MAAK,CACdd,GAAIc,KAAKD,cACTZ,MAAOC,EAAOY,EAAM,OAAQ,CAAErB,OAAAA,IAC/B,MACH,CAACA,GACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{defineProperty as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{isBefore as o,isSameDay as t,isAfter as f}from"date-fns";function n(r,n,e){var i=n.from,u=n.to;if(!i&&!u)return"from"===e?{from:r,to:void 0}:{from:void 0,to:r};if(!i)return o(r,u)?{from:r,to:u}:{from:u,to:r};if(!u)return o(r,i)?{from:r,to:i}:{from:i,to:r};if("to"===e){if(t(r,i)&&t(r,u))return{from:void 0};if(t(r,i))return{from:void 0};if(o(r,i))return{from:r,to:u};if(f(r,i)&&o(r,u))return{from:i,to:r};if(f(r,u)||t(r,u))return{from:i,to:r}}else{if(t(r,i)&&t(r,u))return{from:void 0};if(t(r,u))return{from:r,to:r};if(f(r,u))return{from:i,to:r};if(o(r,u)&&f(r,i))return{from:r,to:u};if(o(r,i))return{from:r,to:u};if(t(r,u))return{from:r}}return{from:i,to:r}}var e=function(r,n){return!(!n.from||!n.to)&&((f(r,n.from)||t(r,n.from))&&(o(r,n.to)||t(r,n.to)))},i="addToRangeMiddle",u="addToRangeStart",m="addToRangeEnd",d="removeFromRange",a="HoveredDayExists",v="HalfRangeSelected";function c(r,o,f,a){if(o){var v=n(o,f,a);if(e(r,v)||e(r,f)){if(t(r,v.to)&&!t(r,f.to))return m;if(t(r,v.from)&&!t(r,f.from))return u;if(e(r,v)){if(e(r,f))return;return t(r,v.from)?u:t(r,v.to)?m:e(o,f)?void 0:i}return e(o,f)?d:void 0}}}function l(o,t,f){return r(r(r(r(r(r({},a,(function(){return!!o})),v,(function(){return!(!t||!(!t.from&&t.to||t.from&&!t.to))})),i,(function(r){return c(r,o,t,f)===i})),u,(function(r){return c(r,o,t,f)===u})),m,(function(r){return c(r,o,t,f)===m})),d,(function(r){return c(r,o,t,f)===d}))}export{m as AddToRangeEnd,i as AddToRangeMiddle,u as AddToRangeStart,v as HalfRangeSelected,a as HoveredDayExists,d as RemoveFromRange,n as addToRange,l as addToRangeModifiers,c as addToRangeNextState};
|
|
2
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/components/DatePicker/utils.ts"],"sourcesContent":["import { isAfter, isBefore, isSameDay } from \"date-fns\";\nimport { type DateRange, type Matcher } from \"react-day-picker\";\n\nexport type Intent = \"to\" | \"from\";\n\nexport function addToRange(day: Date, { from, to }: DateRange, intent: Intent): DateRange {\n if (!from && !to) {\n return intent === \"from\" ? { from: day, to: undefined } : { from: undefined, to: day };\n }\n\n if (!from) {\n if (isBefore(day, to)) {\n return { from: day, to };\n }\n\n return { from: to, to: day };\n }\n\n if (!to) {\n if (isBefore(day, from)) {\n return { from: day, to: from };\n }\n\n return { from, to: day };\n }\n\n if (intent === \"to\") {\n if (isSameDay(day, from) && isSameDay(day, to)) {\n return { from: undefined };\n }\n\n if (isSameDay(day, from)) {\n // both from & to selected + user clicks on start -> clear selection\n return { from: undefined };\n }\n\n if (isBefore(day, from)) {\n return { from: day, to };\n }\n\n if (isAfter(day, from) && isBefore(day, to)) {\n return { from, to: day };\n }\n\n if (isAfter(day, to) || isSameDay(day, to)) {\n return { from, to: day };\n }\n } else {\n // intent is from\n if (isSameDay(day, from) && isSameDay(day, to)) {\n return { from: undefined };\n }\n\n if (isSameDay(day, to)) {\n return { from: day, to: day };\n }\n\n if (isAfter(day, to)) {\n return { from, to: day };\n }\n\n if (isBefore(day, to) && isAfter(day, from)) {\n return { from: day, to };\n }\n\n if (isBefore(day, from)) {\n return { from: day, to };\n }\n\n if (isSameDay(day, to)) {\n // both from & to selected + user clicks on end -> end becomes start\n return { from: day };\n }\n }\n\n return { from, to: day };\n}\n\nconst isInRange = (day: Date, range: DateRange): boolean => {\n if (!range.from || !range.to) {\n return false;\n }\n\n return (\n (isAfter(day, range.from) || isSameDay(day, range.from)) && (isBefore(day, range.to) || isSameDay(day, range.to))\n );\n};\n\nexport const AddToRangeMiddle = \"addToRangeMiddle\";\nexport const AddToRangeStart = \"addToRangeStart\";\nexport const AddToRangeEnd = \"addToRangeEnd\";\nexport const RemoveFromRange = \"removeFromRange\";\nexport const HoveredDayExists = \"HoveredDayExists\";\nexport const HalfRangeSelected = \"HalfRangeSelected\";\n\ntype GetDateNextStateResult =\n | typeof AddToRangeMiddle\n | typeof AddToRangeStart\n | typeof AddToRangeEnd\n | typeof RemoveFromRange\n | undefined;\n\nexport function addToRangeNextState(\n day: Date,\n dayToAdd: Date,\n range: DateRange,\n intent: Intent\n): GetDateNextStateResult {\n if (!dayToAdd) {\n return undefined;\n }\n\n const nextRange = addToRange(dayToAdd, range, intent);\n\n if (!isInRange(day, nextRange) && !isInRange(day, range)) {\n return undefined;\n }\n\n if (isSameDay(day, nextRange.to) && !isSameDay(day, range.to)) {\n return AddToRangeEnd;\n }\n\n if (isSameDay(day, nextRange.from) && !isSameDay(day, range.from)) {\n return AddToRangeStart;\n }\n\n if (isInRange(day, nextRange)) {\n if (isInRange(day, range)) {\n return undefined;\n }\n\n if (isSameDay(day, nextRange.from)) {\n return AddToRangeStart;\n }\n\n if (isSameDay(day, nextRange.to)) {\n return AddToRangeEnd;\n }\n\n return !isInRange(dayToAdd, range) ? AddToRangeMiddle : undefined;\n }\n\n return isInRange(dayToAdd, range) ? RemoveFromRange : undefined;\n}\n\nexport function addToRangeModifiers(dayToAdd: Date, range: DateRange, intent: Intent): Record<string, Matcher> {\n return {\n [HoveredDayExists]: () => !!dayToAdd,\n [HalfRangeSelected]: () => !!(range && ((!range.from && range.to) || (range.from && !range.to))),\n [AddToRangeMiddle]: (day: Date) => addToRangeNextState(day, dayToAdd, range, intent) === AddToRangeMiddle,\n [AddToRangeStart]: (day: Date) => addToRangeNextState(day, dayToAdd, range, intent) === AddToRangeStart,\n [AddToRangeEnd]: (day: Date) => addToRangeNextState(day, dayToAdd, range, intent) === AddToRangeEnd,\n [RemoveFromRange]: (day: Date) => addToRangeNextState(day, dayToAdd, range, intent) === RemoveFromRange\n };\n}\n"],"names":["addToRange","day","_ref","intent","from","to","undefined","isBefore","isSameDay","isAfter","isInRange","range","AddToRangeMiddle","AddToRangeStart","AddToRangeEnd","RemoveFromRange","HoveredDayExists","HalfRangeSelected","addToRangeNextState","dayToAdd","nextRange","addToRangeModifiers","_defineProperty"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import a from"classnames";import o,{forwardRef as r,useRef as s,useCallback as i}from"react";import{useMergeRef as t}from"@vibe/shared";import{CloseSmall as l,Search as n}from"@vibe/icons";import{getTestId as c,ComponentDefaultTestId as m}from"../../tests/testIds.js";import d from"./Search.module.scss.js";import{BaseInput as p}from"@vibe/base/mockedClassNames";import{useDebounceEvent as u}from"@vibe/hooks";import{IconButton as v}from"@vibe/icon-button/mockedClassNames";import{Icon as f}from"@vibe/icon/mockedClassNames";import{Loader as b}from"@vibe/loader/mockedClassNames";import{ComponentVibeId as h}from"../../tests/constants.js";var C=r((function(r,C){var N,E,R,y,g,x,A,I,k,S,w=r.searchIconName,z=void 0===w?n:w,F=r.clearIconName,j=void 0===F?l:F,B=r.clearIconLabel,H=void 0===B?"Clear":B,L=r.renderAction,_=r.hideRenderActionOnInput,V=r.value,D=r.placeholder,K=r.size,O=void 0===K?"medium":K,P=r.disabled,T=r.loading,U=r.autoFocus,W=r.autoComplete,q=void 0===W?"off":W,G=r.inputAriaLabel,J=r.debounceRate,M=void 0===J?400:J,Q=r.searchResultsContainerId,X=r.currentAriaResultId,Y=r.onChange,Z=r.onFocus,$=r.onBlur,ee=r.onClear,ae=r.onKeyDown,oe=r.className,re=r["aria-expanded"],se=r["aria-haspopup"],ie=r.showClearIcon,te=void 0===ie||ie,le=r.id,ne=r["data-testid"];return N=s(null),E=t(C,N),R=u({delay:M,onChange:Y,initialStateValue:V}),y=R.inputValue,g=R.onEventChanged,A=i((function(){var e,a;P||(null===(a=null===(e=N.current)||void 0===e?void 0:e.focus)||void 0===a||a.call(e),x(),null==ee||ee())}),[P,x=R.clearValue,ee]),I=o.createElement(f,{icon:z,className:d.icon,type:"font",size:"small"===O?"16px":"20px"}),k=o.createElement(v,{className:a(d.icon,e({},d.empty,!y)),icon:j,"aria-label":H,onClick:A,size:"small"===O?"xs":"small","data-testid":c(m.CLEAN_SEARCH_BUTTON,le)}),S=o.createElement(o.Fragment,null,T&&o.createElement(b,{size:"small"===O?"xs":20,color:"secondary",wrapperClassName:a(e({},d.loader,!y&&!L))}),te&&y&&!P&&k,!(_&&y)&&L),o.createElement(p,{ref:E,id:le,type:"search","data-testid":ne||c(m.SEARCH,le),"data-vibe":h.SEARCH,className:a(d.searchWrapper,oe),inputClassName:d.search,value:y,renderLeft:I,renderRight:S,autoFocus:U,placeholder:D,disabled:P,onChange:g,onBlur:$,onFocus:Z,onKeyDown:ae,autoComplete:q,size:O,wrapperRole:"search",inputRole:Q?"combobox":void 0,"aria-label":G,"aria-busy":T,"aria-controls":re?Q:void 0,"aria-activedescendant":X,"aria-haspopup":se,"aria-expanded":re})}));export{C as default};
|
|
2
|
-
//# sourceMappingURL=Search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sources":["../../../../../src/components/Search/Search.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useCallback, useRef } from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { CloseSmall as CloseSmallIcon, Search as SearchIcon } from \"@vibe/icons\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./Search.module.scss\";\nimport { BaseInput } from \"@vibe/base\";\nimport { useDebounceEvent } from \"@vibe/hooks\";\nimport { IconButton } from \"@vibe/icon-button\";\nimport { Icon } from \"@vibe/icon\";\nimport { type SearchProps } from \"./Search.types\";\nimport { Loader } from \"@vibe/loader\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nconst Search = forwardRef(\n (\n {\n searchIconName = SearchIcon,\n clearIconName = CloseSmallIcon,\n clearIconLabel = \"Clear\",\n renderAction: RenderAction,\n hideRenderActionOnInput,\n value,\n placeholder,\n size = \"medium\",\n disabled,\n loading,\n autoFocus,\n autoComplete = \"off\",\n inputAriaLabel,\n debounceRate = 400,\n searchResultsContainerId,\n currentAriaResultId,\n onChange,\n onFocus,\n onBlur,\n onClear,\n onKeyDown,\n className,\n \"aria-expanded\": ariaExpanded,\n \"aria-haspopup\": ariaHasPopup,\n showClearIcon = true,\n id,\n \"data-testid\": dataTestId\n }: SearchProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef(null);\n const mergedRef = useMergeRef(ref, inputRef);\n\n const { inputValue, onEventChanged, clearValue } = useDebounceEvent({\n delay: debounceRate,\n onChange,\n initialStateValue: value\n });\n\n const onClearButtonClick = useCallback(() => {\n if (disabled) return;\n inputRef.current?.focus?.();\n clearValue();\n onClear?.();\n }, [disabled, clearValue, onClear]);\n\n const SearchIcon = (\n <Icon icon={searchIconName} className={styles.icon} type=\"font\" size={size === \"small\" ? \"16px\" : \"20px\"} />\n );\n\n const ClearIcon = (\n <IconButton\n className={cx(styles.icon, { [styles.empty]: !inputValue })}\n icon={clearIconName}\n aria-label={clearIconLabel}\n onClick={onClearButtonClick}\n size={size === \"small\" ? \"xs\" : \"small\"}\n data-testid={getTestId(ComponentDefaultTestId.CLEAN_SEARCH_BUTTON, id)}\n />\n );\n\n const RenderRight = (\n <>\n {loading && (\n <Loader\n size={size === \"small\" ? \"xs\" : 20}\n color=\"secondary\"\n wrapperClassName={cx({ [styles.loader]: !inputValue && !RenderAction })}\n />\n )}\n {showClearIcon && inputValue && !disabled && ClearIcon}\n {!(hideRenderActionOnInput && inputValue) && RenderAction}\n </>\n );\n\n return (\n <BaseInput\n ref={mergedRef}\n id={id}\n type={\"search\"}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.SEARCH, id)}\n data-vibe={ComponentVibeId.SEARCH}\n className={cx(styles.searchWrapper, className)}\n inputClassName={styles.search}\n value={inputValue}\n renderLeft={SearchIcon}\n renderRight={RenderRight}\n autoFocus={autoFocus}\n placeholder={placeholder}\n disabled={disabled}\n onChange={onEventChanged}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n autoComplete={autoComplete}\n size={size}\n wrapperRole=\"search\"\n inputRole={searchResultsContainerId ? \"combobox\" : undefined}\n aria-label={inputAriaLabel}\n aria-busy={loading}\n aria-controls={ariaExpanded ? searchResultsContainerId : undefined}\n aria-activedescendant={currentAriaResultId}\n aria-haspopup={ariaHasPopup}\n aria-expanded={ariaExpanded}\n />\n );\n }\n);\n\nexport default Search;\n"],"names":["Search","forwardRef","_ref","ref","inputRef","mergedRef","_useDebounceEvent","inputValue","onEventChanged","clearValue","onClearButtonClick","SearchIcon","ClearIcon","RenderRight","_ref$searchIconName","searchIconName","_ref$clearIconName","clearIconName","CloseSmallIcon","_ref$clearIconLabel","clearIconLabel","RenderAction","renderAction","hideRenderActionOnInput","value","placeholder","_ref$size","size","disabled","loading","autoFocus","_ref$autoComplete","autoComplete","inputAriaLabel","_ref$debounceRate","debounceRate","searchResultsContainerId","currentAriaResultId","onChange","onFocus","onBlur","onClear","onKeyDown","className","ariaExpanded","ariaHasPopup","_ref$showClearIcon","showClearIcon","id","dataTestId","useRef","useMergeRef","useDebounceEvent","delay","initialStateValue","useCallback","_b","current","_a","focus","React","createElement","Icon","icon","styles","type","IconButton","cx","_defineProperty","empty","onClick","getTestId","ComponentDefaultTestId","CLEAN_SEARCH_BUTTON","Fragment","Loader","color","wrapperClassName","loader","BaseInput","SEARCH","ComponentVibeId","searchWrapper","inputClassName","search","renderLeft","renderRight","wrapperRole","inputRole","undefined"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={searchWrapper:"searchWrapper",search:"search",loader:"loader",icon:"icon",empty:"empty"};!function(e){const r="s_id-7351621e5f98_4_5_24";if("undefined"!=typeof document){const a=document.head||document.getElementsByTagName("head")[0];if(a.querySelector("#"+r))return;const n=document.createElement("style");n.id=r,a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[r]=e)}(".searchWrapper .search {\n appearance: textfield;\n}\n.searchWrapper .search::-webkit-search-cancel-button, .searchWrapper .search::-webkit-search-results-button {\n appearance: none;\n}\n.searchWrapper .loader {\n margin-inline-end: var(--space-4);\n}\n.searchWrapper .icon {\n opacity: 1;\n color: var(--icon-color);\n transition: opacity var(--motion-productive-short);\n}\n.searchWrapper .icon.empty {\n opacity: 0;\n}");export{e as default};
|
|
2
|
-
//# sourceMappingURL=Search.module.scss.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{slicedToArray as e,defineProperty as o,toConsumableArray as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as n}from"../../../_virtual/_tslib.js";import{camelCase as i}from"es-toolkit";import{isInsideClass as a,useEventListener as r,useKeyEvent as l,getStyle as s,NOOP as c}from"@vibe/shared";import{getTestId as d,ComponentDefaultTestId as m}from"../../tests/testIds.js";import u from"classnames";import f,{useState as g,useRef as p,useCallback as v,useMemo as b}from"react";import{SECONDARY_BUTTON_WRAPPER_CLASSNAME as k,ENTER_KEYS as y,DEFAULT_DIALOG_SHOW_TRIGGER as C,DEFAULT_DIALOG_HIDE_TRIGGER as N,DIALOG_MOVE_BY as D,SECONDARY_BUTTON_ARIA_LABEL as h}from"./SplitButtonConstants.js";import{Button as S}from"@vibe/button/mockedClassNames";import{DropdownChevronDown as T}from"@vibe/icons";import{DialogContentContainer as I,Dialog as B}from"@vibe/dialog/mockedClassNames";import O from"./SplitButton.module.scss.js";import{ComponentVibeId as P}from"../../tests/constants.js";var _=function(_){var E=_.secondaryDialogContent,j=_.onSecondaryDialogDidShow,A=void 0===j?c:j,L=_.onSecondaryDialogDidHide,w=void 0===L?c:L,x=_.shouldCloseOnClickInsideDialog,z=_.zIndex,R=void 0===z?null:z,U=_.secondaryDialogClassName,F=void 0===U?"":U,H=_.secondaryDialogPosition,W=void 0===H?"bottom-start":H,Y=_.dialogContainerSelector,M=_.dialogPaddingSize,q=void 0===M?"medium":M,G=_.disabled,J=_.loading,K=_.kind,Q=void 0===K?"primary":K,V=_.color,X=void 0===V?"primary":V,Z=_.className,$=_.leftIcon,ee=_.rightIcon,oe=_.onClick,te=_.children,ne=_.marginLeft,ie=_.marginRight,ae=_.active,re=_.id,le=_["data-testid"],se=n(_,["secondaryDialogContent","onSecondaryDialogDidShow","onSecondaryDialogDidHide","shouldCloseOnClickInsideDialog","zIndex","secondaryDialogClassName","secondaryDialogPosition","dialogContainerSelector","dialogPaddingSize","disabled","success","loading","kind","color","className","leftIcon","rightIcon","onClick","children","marginLeft","marginRight","active","id","data-testid"]),ce=g(!1),de=e(ce,2),me=de[0],ue=de[1],fe=g(!1),ge=e(fe,2),pe=ge[0],ve=ge[1],be=g(!1),ke=e(be,2),ye=ke[0],Ce=ke[1],Ne=p(null),De=p(null),he=v((function(){return ve(!0)}),[ve]),Se=v((function(){return ve(!1)}),[ve]),Te=v((function(e){return!G&&!a(e.target,k)}),[G]),Ie=v((function(e){Te(e)&&Ce(!0)}),[Ce,Te]),Be=v((function(){return Ce(!1)}),[Ce]),Oe=v((function(e){Te(e)&&Ce(!0)}),[Ce,Te]),Pe=v((function(){ue(!0),A()}),[ue,A]),_e=v((function(e,o){ue(!1),w(),"esckey"===o&&De.current.focus()}),[ue,w]);r({eventName:"mouseenter",callback:he,ref:Ne}),r({eventName:"mouseleave",callback:Se,ref:Ne}),r({eventName:"mousedown",callback:Ie,ref:Ne}),r({eventName:"mouseup",callback:Be,ref:Ne}),r({eventName:"transitionend",callback:Be,ref:Ne}),l({keys:y,ref:Ne,callback:Oe});var Ee=b((function(){return u(O.button,s(O,i("kind-"+Q)),s(O,i("color-"+X)),o(o(o(o(o({},O.mainActive,ae),O.active,ye),O.splitContentOpen,me),O.hovered,pe),O.disabled,G),Z)}),[Z,Q,X,ae,ye,me,pe,G]),je=b((function(){return G?[]:C}),[G]),Ae=b((function(){return x?[].concat(t(N),["onContentClick"]):N}),[x]),Le=v((function(){var e="function"==typeof E?E():E;return f.createElement(I,{type:"popover",size:q},e)}),[E,q]),we=b((function(){if("bottom"!==W)return"bottom-start"===W?"bottom":"top"}),[W]);return f.createElement("div",{className:Ee,ref:Ne,id:re,"data-testid":le||d(m.SPLIT_BUTTON,re),"data-vibe":P.SPLIT_BUTTON},f.createElement(S,Object.assign({},se,{preventClickAnimation:!0,leftIcon:$,rightIcon:ee,rightFlat:!0,color:X,kind:Q,active:ae,onClick:oe,className:O.mainButton,marginLeft:ne,onFocus:he,onBlur:Se,disabled:G,loading:J,"data-testid":d(m.SPLIT_BUTTON_PRIMARY_BUTTON,re)}),te),f.createElement("div",{className:O.secondaryButtonWrapper},f.createElement(B,{wrapperClassName:F,zIndex:R,content:Le,position:W,containerSelector:Y,startingEdge:we,animationType:"expand",moveBy:D,onDialogDidShow:Pe,onDialogDidHide:_e,showTrigger:je,hideTrigger:Ae},f.createElement(S,Object.assign({},se,{ref:De,preventClickAnimation:!0,leftFlat:!0,noSidePadding:!0,color:X,kind:Q,className:O.secondaryButton,active:me,marginRight:ie,onFocus:he,onBlur:Se,disabled:G,"aria-label":h,"aria-haspopup":!0,"aria-expanded":me,"data-testid":d(m.SPLIT_BUTTON_SECONDARY_BUTTON,re)}),f.createElement("div",{className:O.secondaryButtonIconWrapper},f.createElement(T,{"aria-hidden":"true"}))))))};export{_ as default};
|
|
2
|
-
//# sourceMappingURL=SplitButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButton.js","sources":["../../../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport { camelCase } from \"es-toolkit\";\nimport { getStyle, NOOP, isInsideClass } from \"@vibe/shared\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\n// Libraries import\nimport React, { type ReactElement, useCallback, useMemo, useRef, useState } from \"react\";\n// Constants import\nimport {\n DEFAULT_DIALOG_HIDE_TRIGGER,\n DEFAULT_DIALOG_SHOW_TRIGGER,\n DIALOG_MOVE_BY,\n ENTER_KEYS,\n SECONDARY_BUTTON_ARIA_LABEL,\n SECONDARY_BUTTON_WRAPPER_CLASSNAME,\n type SplitButtonSecondaryContentPositionType\n} from \"./SplitButtonConstants\";\n// Utils import\n\n// Hooks import\nimport useKeyEvent from \"../../hooks/useKeyEvent\";\nimport useEventListener from \"../../hooks/useEventListener\";\n// Components import\nimport { Button, type ButtonProps } from \"@vibe/button\";\nimport { DropdownChevronDown } from \"@vibe/icons\";\nimport {\n DialogContentContainer,\n type DialogSize,\n type DialogStartingEdge,\n type DialogTriggerEvent,\n Dialog,\n type DialogEvent,\n type DialogPosition\n} from \"@vibe/dialog\";\nimport styles from \"./SplitButton.module.scss\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nexport interface SplitButtonProps extends ButtonProps {\n /**\n * The element or renderer that is displayed inside the dialog opened by clicking the secondary button.\n */\n secondaryDialogContent?: ReactElement | (() => string | ReactElement);\n /**\n * Callback fired when the secondary dialog is shown.\n */\n onSecondaryDialogDidShow?: () => void;\n /**\n * Callback fired when the secondary dialog is hidden.\n */\n onSecondaryDialogDidHide?: () => void;\n /**\n * The z-index applied to the secondary dialog.\n */\n zIndex?: number;\n /**\n * Class name applied to the wrapper of the secondary dialog.\n */\n secondaryDialogClassName?: string;\n /**\n * The position of the secondary dialog.\n */\n secondaryDialogPosition?: SplitButtonSecondaryContentPositionType;\n /**\n * The padding size inside the secondary dialog.\n */\n dialogPaddingSize?: DialogSize;\n /**\n * The CSS selector of the container where the dialog should be rendered.\n */\n dialogContainerSelector?: string;\n /**\n * If true, clicking inside the dialog will close it.\n */\n shouldCloseOnClickInsideDialog?: boolean;\n}\n\nconst SplitButton = ({\n secondaryDialogContent,\n onSecondaryDialogDidShow = NOOP,\n onSecondaryDialogDidHide = NOOP,\n shouldCloseOnClickInsideDialog,\n zIndex = null,\n secondaryDialogClassName = \"\",\n secondaryDialogPosition = \"bottom-start\",\n dialogContainerSelector,\n dialogPaddingSize = \"medium\",\n disabled,\n // success mode not working right now, need to fix it in different pr\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n success,\n loading,\n kind = \"primary\",\n color = \"primary\",\n className,\n leftIcon,\n rightIcon,\n onClick,\n children,\n marginLeft,\n marginRight,\n active,\n id,\n \"data-testid\": dataTestId,\n ...buttonProps\n}: SplitButtonProps) => {\n // State //\n const [isDialogOpen, setDialogOpen] = useState(false);\n const [isHovered, setIsHover] = useState(false);\n const [isActive, setIsActive] = useState(false);\n\n // Refs //\n const ref = useRef(null);\n const secondaryButtonRef = useRef(null);\n\n // Callbacks //\n const setHovered = useCallback(() => setIsHover(true), [setIsHover]);\n const setNotHovered = useCallback(() => setIsHover(false), [setIsHover]);\n\n const shouldSetActive = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (disabled) return false;\n return !isInsideClass(e.target as HTMLElement, SECONDARY_BUTTON_WRAPPER_CLASSNAME);\n },\n [disabled]\n );\n\n const setActive = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (!shouldSetActive(e)) return;\n setIsActive(true);\n },\n [setIsActive, shouldSetActive]\n );\n const setNotActive = useCallback(() => setIsActive(false), [setIsActive]);\n const setActiveOnEnter = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (!shouldSetActive(e)) return;\n setIsActive(true);\n },\n [setIsActive, shouldSetActive]\n );\n\n const showDialog = useCallback(() => {\n setDialogOpen(true);\n onSecondaryDialogDidShow();\n }, [setDialogOpen, onSecondaryDialogDidShow]);\n\n const hideDialog = useCallback(\n (_: DialogEvent, eventName: DialogTriggerEvent) => {\n setDialogOpen(false);\n onSecondaryDialogDidHide();\n if (eventName === \"esckey\") {\n secondaryButtonRef.current.focus();\n }\n },\n [setDialogOpen, onSecondaryDialogDidHide]\n );\n\n // Event listeners //\n\n // Used to set both buttons as hovered no matter what button was hovered\n useEventListener({ eventName: \"mouseenter\", callback: setHovered, ref });\n useEventListener({ eventName: \"mouseleave\", callback: setNotHovered, ref });\n\n useEventListener({ eventName: \"mousedown\", callback: setActive, ref });\n useEventListener({ eventName: \"mouseup\", callback: setNotActive, ref });\n\n // Used to finish active transition if clicked on enter\n useEventListener({ eventName: \"transitionend\", callback: setNotActive, ref });\n\n // Key events\n useKeyEvent({ keys: ENTER_KEYS, ref, callback: setActiveOnEnter });\n\n const classNames = useMemo(\n () =>\n cx(\n styles.button,\n getStyle(styles, camelCase(\"kind-\" + kind)),\n getStyle(styles, camelCase(\"color-\" + color)),\n {\n [styles.mainActive]: active,\n [styles.active]: isActive,\n [styles.splitContentOpen]: isDialogOpen,\n [styles.hovered]: isHovered,\n [styles.disabled]: disabled\n },\n className\n ),\n [className, kind, color, active, isActive, isDialogOpen, isHovered, disabled]\n );\n\n const dialogShowTrigger = useMemo(() => (disabled ? [] : DEFAULT_DIALOG_SHOW_TRIGGER), [disabled]);\n\n const dialogHideTrigger = useMemo(() => {\n if (shouldCloseOnClickInsideDialog)\n return [...DEFAULT_DIALOG_HIDE_TRIGGER, \"onContentClick\"] as DialogTriggerEvent[];\n return DEFAULT_DIALOG_HIDE_TRIGGER;\n }, [shouldCloseOnClickInsideDialog]);\n\n const actionsContent = useCallback(() => {\n const content = typeof secondaryDialogContent === \"function\" ? secondaryDialogContent() : secondaryDialogContent;\n return (\n <DialogContentContainer type=\"popover\" size={dialogPaddingSize}>\n {content}\n </DialogContentContainer>\n );\n }, [secondaryDialogContent, dialogPaddingSize]);\n\n const animationEdgePosition: DialogStartingEdge | undefined = useMemo(() => {\n if (secondaryDialogPosition === \"bottom\") {\n return undefined;\n }\n if (secondaryDialogPosition === \"bottom-start\") {\n return \"bottom\";\n }\n\n return \"top\";\n }, [secondaryDialogPosition]);\n\n return (\n <div\n className={classNames}\n ref={ref}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.SPLIT_BUTTON, id)}\n data-vibe={ComponentVibeId.SPLIT_BUTTON}\n >\n <Button\n {\n ...buttonProps /* We are enriching button with other props so we must use spreading */\n }\n preventClickAnimation\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n rightFlat\n color={color}\n kind={kind}\n active={active}\n onClick={onClick}\n className={styles.mainButton}\n marginLeft={marginLeft}\n onFocus={setHovered}\n onBlur={setNotHovered}\n disabled={disabled}\n loading={loading}\n data-testid={getTestId(ComponentDefaultTestId.SPLIT_BUTTON_PRIMARY_BUTTON, id)}\n >\n {children}\n </Button>\n <div className={styles.secondaryButtonWrapper}>\n <Dialog\n wrapperClassName={secondaryDialogClassName}\n zIndex={zIndex}\n content={actionsContent}\n position={secondaryDialogPosition as DialogPosition}\n containerSelector={dialogContainerSelector}\n startingEdge={animationEdgePosition}\n animationType=\"expand\"\n moveBy={DIALOG_MOVE_BY}\n onDialogDidShow={showDialog}\n onDialogDidHide={hideDialog}\n showTrigger={dialogShowTrigger}\n hideTrigger={dialogHideTrigger}\n >\n <Button\n {...buttonProps}\n ref={secondaryButtonRef}\n preventClickAnimation\n leftFlat\n noSidePadding\n color={color}\n kind={kind}\n className={styles.secondaryButton}\n active={isDialogOpen}\n marginRight={marginRight}\n onFocus={setHovered}\n onBlur={setNotHovered}\n disabled={disabled}\n aria-label={SECONDARY_BUTTON_ARIA_LABEL}\n aria-haspopup\n aria-expanded={isDialogOpen}\n data-testid={getTestId(ComponentDefaultTestId.SPLIT_BUTTON_SECONDARY_BUTTON, id)}\n >\n <div className={styles.secondaryButtonIconWrapper}>\n <DropdownChevronDown aria-hidden=\"true\" />\n </div>\n </Button>\n </Dialog>\n </div>\n </div>\n );\n};\n\nexport default SplitButton;\n"],"names":["SplitButton","_a","secondaryDialogContent","_a$onSecondaryDialogD","onSecondaryDialogDidShow","NOOP","_a$onSecondaryDialogD2","onSecondaryDialogDidHide","shouldCloseOnClickInsideDialog","_a$zIndex","zIndex","_a$secondaryDialogCla","secondaryDialogClassName","_a$secondaryDialogPos","secondaryDialogPosition","dialogContainerSelector","_a$dialogPaddingSize","dialogPaddingSize","disabled","loading","_a$kind","kind","_a$color","color","className","leftIcon","rightIcon","onClick","children","marginLeft","marginRight","active","id","dataTestId","buttonProps","__rest","_useState","useState","_useState2","_slicedToArray","isDialogOpen","setDialogOpen","_useState3","_useState4","isHovered","setIsHover","_useState5","_useState6","isActive","setIsActive","ref","useRef","secondaryButtonRef","setHovered","useCallback","setNotHovered","shouldSetActive","e","isInsideClass","target","SECONDARY_BUTTON_WRAPPER_CLASSNAME","setActive","setNotActive","setActiveOnEnter","showDialog","hideDialog","_","eventName","current","focus","useEventListener","callback","useKeyEvent","keys","ENTER_KEYS","classNames","useMemo","cx","styles","button","getStyle","camelCase","_defineProperty","mainActive","splitContentOpen","hovered","dialogShowTrigger","DEFAULT_DIALOG_SHOW_TRIGGER","dialogHideTrigger","concat","_toConsumableArray","DEFAULT_DIALOG_HIDE_TRIGGER","actionsContent","content","React","createElement","DialogContentContainer","type","size","animationEdgePosition","getTestId","ComponentDefaultTestId","SPLIT_BUTTON","ComponentVibeId","Button","Object","assign","preventClickAnimation","rightFlat","mainButton","onFocus","onBlur","SPLIT_BUTTON_PRIMARY_BUTTON","secondaryButtonWrapper","Dialog","wrapperClassName","position","containerSelector","startingEdge","animationType","moveBy","DIALOG_MOVE_BY","onDialogDidShow","onDialogDidHide","showTrigger","hideTrigger","leftFlat","noSidePadding","secondaryButton","SECONDARY_BUTTON_ARIA_LABEL","SPLIT_BUTTON_SECONDARY_BUTTON","secondaryButtonIconWrapper","DropdownChevronDown"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var n={button:"button",mainButton:"mainButton",secondaryButton:"secondaryButton",secondaryButtonWrapper:"secondaryButtonWrapper",secondaryButtonIconWrapper:"secondaryButtonIconWrapper",active:"active",disabled:"disabled",kindTertiary:"kindTertiary",colorPrimary:"colorPrimary",mainActive:"mainActive",splitContentOpen:"splitContentOpen",hovered:"hovered",colorBrand:"colorBrand",colorPositive:"colorPositive",colorNegative:"colorNegative",kindPrimary:"kindPrimary",colorOnPrimaryColor:"colorOnPrimaryColor",kindSecondary:"kindSecondary"};!function(n){const r="s_id-de44e8b791c3_4_5_24";if("undefined"!=typeof document){const o=document.head||document.getElementsByTagName("head")[0];if(o.querySelector("#"+r))return;const e=document.createElement("style");e.id=r,o.firstChild?o.insertBefore(e,o.firstChild):o.appendChild(e),e.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[r]=n)}(".button {\n display: inline-flex;\n border-radius: var(--border-radius-small);\n transition: var(--motion-productive-short) transform, var(--motion-productive-medium) var(--motion-timing-transition) min-width;\n}\n\n.button .mainButton {\n margin-inline-end: 0;\n}\n\n.button .secondaryButton {\n margin-inline-start: 0;\n}\n\n.secondaryButtonWrapper .secondaryButtonIconWrapper {\n display: inline-flex;\n padding: 0 4px;\n}\n\n.active {\n transform: scale(0.95);\n}\n\n.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.kindTertiary.colorPrimary.mainActive .mainButton {\n background-color: var(--primary-selected-color);\n}\n\n.kindTertiary.colorPrimary.mainActive .mainButton:hover {\n background-color: var(--primary-selected-hover-color);\n}\n\n.kindTertiary.colorPrimary.mainActive .secondaryButton {\n background-color: var(--primary-selected-color);\n}\n\n.kindTertiary.colorPrimary.mainActive .secondaryButton:hover {\n background-color: var(--primary-selected-hover-color);\n}\n\n.kindTertiary.colorPrimary.mainActive.splitContentOpen.splitContentOpen .secondaryButton,\n.kindTertiary.colorPrimary.mainActive.splitContentOpen.splitContentOpen .secondaryButton:hover,\n.kindTertiary.colorPrimary.mainActive.hovered.splitContentOpen .secondaryButton,\n.kindTertiary.colorPrimary.mainActive.hovered.splitContentOpen .secondaryButton:hover {\n color: var(--primary-color);\n}\n\n.kindTertiary.colorBrand.mainActive .mainButton {\n background-color: var(--brand-selected-color);\n}\n\n.kindTertiary.colorBrand.mainActive .secondaryButton {\n background-color: var(--brand-selected-color);\n}\n\n.kindTertiary.colorBrand.mainActive.splitContentOpen.splitContentOpen .secondaryButton,\n.kindTertiary.colorBrand.mainActive.splitContentOpen.splitContentOpen .secondaryButton:hover,\n.kindTertiary.colorBrand.mainActive.hovered.splitContentOpen .secondaryButton,\n.kindTertiary.colorBrand.mainActive.hovered.splitContentOpen .secondaryButton:hover {\n color: var(--brand-color);\n}\n\n.kindTertiary.colorPositive.splitContentOpen .secondaryButton,\n.kindTertiary.colorPositive:hover .secondaryButton,\n.kindTertiary.colorPositive:focus .secondaryButton {\n border-color: transparent;\n background-color: var(--positive-color-selected);\n}\n\n.kindTertiary.colorPositive.splitContentOpen .mainButton,\n.kindTertiary.colorPositive:hover .mainButton,\n.kindTertiary.colorPositive:focus .mainButton {\n background-color: var(--positive-color-selected);\n}\n\n.kindTertiary.colorNegative.splitContentOpen .secondaryButton,\n.kindTertiary.colorNegative:hover .secondaryButton,\n.kindTertiary.colorNegative:focus .secondaryButton {\n border-color: transparent;\n background-color: var(--negative-color-selected);\n}\n\n.kindTertiary.colorNegative.splitContentOpen .mainButton,\n.kindTertiary.colorNegative:hover .mainButton,\n.kindTertiary.colorNegative:focus .mainButton {\n background-color: var(--negative-color-selected);\n}\n\n.kindTertiary .secondaryButton {\n border-inline-start: 1px solid transparent;\n margin-inline-start: 1px;\n}\n\n.kindPrimary.disabled .secondaryButton {\n border-inline-start: 1px solid;\n border-color: var(--ui-border-color);\n}\n\n.kindPrimary:not(.disabled).colorPrimary.mainActive .secondaryButton {\n background-color: var(--primary-hover-color);\n border-color: var(--text-color-on-primary);\n}\n\n.kindPrimary:not(.disabled).colorPrimary .secondaryButton {\n border-inline-start: 1px solid;\n border-color: var(--primary-hover-color);\n}\n\n.kindPrimary:not(.disabled).colorBrand.mainActive .secondaryButton {\n background-color: var(--brand-hover-color);\n border-color: var(--text-color-on-primary);\n}\n\n.kindPrimary:not(.disabled).colorBrand .secondaryButton {\n border-inline-start: 1px solid;\n border-color: var(--brand-hover-color);\n}\n\n.kindPrimary:not(.disabled).colorPositive .secondaryButton {\n border-inline-start: 1px solid;\n border-color: var(--positive-color-hover);\n}\n\n.kindPrimary:not(.disabled).colorNegative .secondaryButton {\n border-inline-start: 1px solid;\n border-color: var(--negative-color-hover);\n}\n\n.kindPrimary:not(.disabled).colorOnPrimaryColor .secondaryButton {\n border-inline-start: 1px solid;\n border-color: var(--color-ui_grey);\n}\n\n.kindSecondary .mainButton {\n border-inline-end: none;\n}\n\n.kindSecondary.colorPrimary.mainActive .mainButton {\n background-color: var(--primary-selected-color);\n}\n\n.kindSecondary.colorPrimary.mainActive .mainButton:hover {\n background-color: var(--primary-selected-hover-color);\n}\n\n.kindSecondary.colorPrimary.mainActive .secondaryButton {\n background-color: var(--primary-selected-color);\n border-color: var(--primary-color);\n}\n\n.kindSecondary.colorPrimary.splitContentOpen .secondaryButton {\n color: var(--primary-color);\n border-color: var(--primary-color);\n background-color: var(--primary-selected-color);\n}\n\n.kindSecondary.colorPrimary.splitContentOpen .secondaryButton:hover {\n background-color: var(--primary-selected-hover-color);\n}\n\n.kindSecondary.colorBrand.mainActive .mainButton {\n background-color: var(--brand-selected-color);\n}\n\n.kindSecondary.colorBrand.mainActive .secondaryButton {\n background-color: var(--brand-selected-color);\n border-color: var(--brand-color);\n}\n\n.kindSecondary.colorBrand.splitContentOpen .secondaryButton,\n.kindSecondary.colorBrand.splitContentOpen .secondaryButton:hover {\n color: var(--brand-color);\n border-color: var(--brand-color);\n background-color: var(--brand-selected-color);\n}");export{n as default};
|
|
2
|
-
//# sourceMappingURL=SplitButton.module.scss.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{keyCodes as s}from"../../constants/keyCodes.js";import"../../constants/sizes.js";var t={main:8,secondary:0},o=["click"],c=["clickoutside","click","esckey"],i="monday-style-split-button__secondary-button-wrapper",n=[s.ENTER],a="additional actions";export{c as DEFAULT_DIALOG_HIDE_TRIGGER,o as DEFAULT_DIALOG_SHOW_TRIGGER,t as DIALOG_MOVE_BY,n as ENTER_KEYS,a as SECONDARY_BUTTON_ARIA_LABEL,i as SECONDARY_BUTTON_WRAPPER_CLASSNAME};
|
|
2
|
-
//# sourceMappingURL=SplitButtonConstants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButtonConstants.js","sources":["../../../../../src/components/SplitButton/SplitButtonConstants.ts"],"sourcesContent":["// Constants\nimport { keyCodes } from \"../../constants\";\nimport type { DialogTriggerEvent } from \"@vibe/dialog\";\n\nexport const DIALOG_MOVE_BY = { main: 8, secondary: 0 };\nexport const DEFAULT_DIALOG_SHOW_TRIGGER: DialogTriggerEvent[] = [\"click\"];\nexport const DEFAULT_DIALOG_HIDE_TRIGGER: DialogTriggerEvent[] = [\"clickoutside\", \"click\", \"esckey\"];\nexport const SECONDARY_BUTTON_WRAPPER_CLASSNAME = \"monday-style-split-button__secondary-button-wrapper\";\nexport const EMPTY_ARR: string[] = [];\n\nexport const ENTER_KEYS = [keyCodes.ENTER];\n\n//TODO Remove once change dialogPosition to const\nexport const DialogPosition = {\n BOTTOM: \"bottom\",\n BOTTOM_START: \"bottom-start\",\n BOTTOM_END: \"bottom-end\"\n} as const;\n\nexport const SplitButtonSecondaryContentPosition = {\n BOTTOM_START: DialogPosition.BOTTOM_START,\n BOTTOM_MIDDLE: DialogPosition.BOTTOM,\n BOTTOM_END: DialogPosition.BOTTOM_END\n} as const;\n\nexport type SplitButtonSecondaryContentPositionType =\n (typeof SplitButtonSecondaryContentPosition)[keyof typeof SplitButtonSecondaryContentPosition];\n\nexport const SECONDARY_BUTTON_ARIA_LABEL = \"additional actions\";\n"],"names":["DIALOG_MOVE_BY","main","secondary","DEFAULT_DIALOG_SHOW_TRIGGER","DEFAULT_DIALOG_HIDE_TRIGGER","SECONDARY_BUTTON_WRAPPER_CLASSNAME","ENTER_KEYS","keyCodes","ENTER","SECONDARY_BUTTON_ARIA_LABEL"],"mappings":"wFAIO,IAAMA,EAAiB,CAAEC,KAAM,EAAGC,UAAW,GACvCC,EAAoD,CAAC,SACrDC,EAAoD,CAAC,eAAgB,QAAS,UAC9EC,EAAqC,sDAGrCC,EAAa,CAACC,EAASC,OAkBvBC,EAA8B"}
|
package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{__rest as e}from"../../../../_virtual/_tslib.js";import r,{forwardRef as t,useRef as m}from"react";import{useMergeRef as o}from"@vibe/shared";import{Menu as i}from"@vibe/menu/mockedClassNames";var n=t((function(t,n){var a=t.children,s=e(t,["children"]),l=m(null),c=o(n,l);return r.createElement(i,Object.assign({focusItemIndexOnMount:0},s,{ref:c}),a)}));export{n as default};
|
|
2
|
-
//# sourceMappingURL=SplitButtonMenu.js.map
|
package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButtonMenu.js","sources":["../../../../../../src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { Menu, type MenuProps } from \"@vibe/menu\";\n\nexport type SplitButtonMenuProps = Omit<MenuProps, \"focusItemIndexOnMount\"> & { children: React.ReactNode };\n\nconst SplitButtonMenu = forwardRef(\n ({ children, ...splitButtonMenuProps }: SplitButtonMenuProps, ref: React.ForwardedRef<HTMLElement>) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <Menu focusItemIndexOnMount={0} {...splitButtonMenuProps} ref={mergedRef}>\n {children}\n </Menu>\n );\n }\n);\n\nexport default SplitButtonMenu;\n"],"names":["SplitButtonMenu","forwardRef","_a","ref","children","splitButtonMenuProps","__rest","componentRef","useRef","mergedRef","useMergeRef","React","createElement","Menu","Object","assign","focusItemIndexOnMount"],"mappings":"wMAMMA,IAAAA,EAAkBC,GACtB,SAACC,EAA6DC,GAA7D,IAAEC,EAAyDF,EAAzDE,SAAaC,EAAoBC,EAAAJ,EAAnC,cACOK,EAAeC,EAAO,MACtBC,EAAYC,EAAYP,EAAKI,GAEnC,OACEI,EAACC,cAAAC,EAAKC,OAAAC,OAAA,CAAAC,sBAAuB,GAAOX,EAAoB,CAAEF,IAAKM,IAC5DL,EAGP"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import r,{useMemo as o}from"react";import t from"classnames";import a from"./AvatarGroupCounter.js";import{avatarOnClick as e}from"./AvatarGroupHelper.js";import s from"./AvatarGroup.module.scss.js";import{ComponentVibeId as i}from"../../tests/constants.js";var n=function(n){var l=n.className,p=n.avatarClassName,u=n.id,c=n.children,d=n.size,v=n.type,m=n.max,A=void 0===m?5:m,f=n.counterProps,y=n.counterTooltipCustomProps,T=n.counterTooltipIsVirtualizedList,C=void 0!==T&&T,b=n.disabled,j=o((function(){if(!c)return{};var o=Array.isArray(c)?c:[c];return{displayAvatars:o.slice(0,A).map((function(o,a){var i,n;return r.cloneElement(o,Object.assign(Object.assign({key:a},null==o?void 0:o.props),{size:d||(null===(i=null==o?void 0:o.props)||void 0===i?void 0:i.size),type:v||(null===(n=null==o?void 0:o.props)||void 0===n?void 0:n.type),className:t(s.avatarContainer,p),onClick:function(r){return e(r,o.props)},disabled:b}))})),counterTooltipAvatars:o.slice(A)}}),[p,c,b,A,d,v]),z=j.displayAvatars,G=j.counterTooltipAvatars;return c?r.createElement("div",{className:t(s.avatarGroupContainer,l),id:u,"data-vibe":i.AVATAR_GROUP},z,r.createElement(a,{counterTooltipAvatars:G,counterProps:f,counterTooltipCustomProps:y,counterTooltipIsVirtualizedList:C,size:d,type:v,disabled:b})):null};export{n as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.js","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, { type ReactElement, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport { type AvatarProps, type AvatarSize, type AvatarType } from \"@vibe/avatar\";\nimport AvatarGroupCounter from \"./AvatarGroupCounter\";\nimport type VibeComponentProps from \"../../types/VibeComponentProps\";\nimport { avatarOnClick } from \"./AvatarGroupHelper\";\nimport { type TooltipProps } from \"@vibe/tooltip\";\nimport styles from \"./AvatarGroup.module.scss\";\nimport { type AvatarGroupCounterVisualProps } from \"./AvatarGroup.types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\n\nexport interface AvatarGroupProps extends VibeComponentProps {\n /**\n * Class name applied to each avatar.\n */\n avatarClassName?: string;\n /**\n * The avatars displayed in the group.\n */\n children?: ReactElement<AvatarProps> | ReactElement<AvatarProps>[];\n /**\n * The size of the avatars in the group.\n */\n size?: AvatarSize;\n /**\n * The type of the avatars in the group.\n */\n type?: AvatarType;\n /**\n * The maximum number of avatars displayed before showing a counter.\n */\n max?: number;\n /**\n * Props for customizing the counter display.\n */\n counterProps?: AvatarGroupCounterVisualProps;\n /**\n * Props passed to the Tooltip component. See full options in the [Tooltip documentation](https://vibe.monday.com/?path=/docs/components-tooltip--docs).\n */\n counterTooltipCustomProps?: Partial<TooltipProps>;\n /**\n * If true, the counter tooltip uses a virtualized list for performance optimization.\n */\n counterTooltipIsVirtualizedList?: boolean;\n /**\n * If true, the component is disabled and non-interactive.\n */\n disabled?: boolean;\n}\n\nconst AvatarGroup: React.FC<AvatarGroupProps> = ({\n className,\n avatarClassName,\n id,\n children,\n size,\n type,\n max = 5,\n counterProps,\n counterTooltipCustomProps,\n counterTooltipIsVirtualizedList = false,\n disabled\n}) => {\n const { displayAvatars, counterTooltipAvatars } = useMemo(() => {\n if (!children) {\n return {};\n }\n const childrenArray = Array.isArray(children) ? children : [children];\n return {\n displayAvatars: childrenArray.slice(0, max).map((avatar, index) => {\n return React.cloneElement(avatar, {\n key: index,\n ...avatar?.props,\n size: size || avatar?.props?.size,\n type: type || avatar?.props?.type,\n className: cx(styles.avatarContainer, avatarClassName),\n onClick: (event: React.MouseEvent | React.KeyboardEvent) => avatarOnClick(event, avatar.props),\n disabled\n });\n }),\n counterTooltipAvatars: childrenArray.slice(max)\n };\n }, [avatarClassName, children, disabled, max, size, type]);\n\n if (!children) {\n return null;\n }\n\n return (\n <div className={cx(styles.avatarGroupContainer, className)} id={id} data-vibe={ComponentVibeId.AVATAR_GROUP}>\n {displayAvatars}\n <AvatarGroupCounter\n counterTooltipAvatars={counterTooltipAvatars}\n counterProps={counterProps}\n counterTooltipCustomProps={counterTooltipCustomProps}\n counterTooltipIsVirtualizedList={counterTooltipIsVirtualizedList}\n size={size}\n type={type}\n disabled={disabled}\n />\n </div>\n );\n};\n\nexport default AvatarGroup;\n"],"names":["AvatarGroup","_ref","className","avatarClassName","id","children","size","type","_ref$max","max","counterProps","counterTooltipCustomProps","_ref$counterTooltipIs","counterTooltipIsVirtualizedList","disabled","_useMemo","useMemo","childrenArray","Array","isArray","displayAvatars","slice","map","avatar","index","React","cloneElement","key","props","_a","_b","cx","styles","avatarContainer","onClick","event","avatarOnClick","counterTooltipAvatars","createElement","avatarGroupContainer","ComponentVibeId","AVATAR_GROUP","AvatarGroupCounter"],"mappings":"kQAkDA,IAAMA,EAA0C,SAA/BC,GAYZ,IAXHC,EAASD,EAATC,UACAC,EAAeF,EAAfE,gBACAC,EAAEH,EAAFG,GACAC,EAAQJ,EAARI,SACAC,EAAIL,EAAJK,KACAC,EAAIN,EAAJM,KAAIC,EAAAP,EACJQ,IAAAA,OAAM,IAAHD,EAAG,EAACA,EACPE,EAAYT,EAAZS,aACAC,EAAyBV,EAAzBU,0BAAyBC,EAAAX,EACzBY,gCAAAA,OAAkC,IAAHD,GAAQA,EACvCE,EAAQb,EAARa,SAEAC,EAAkDC,GAAQ,WACxD,IAAKX,EACH,MAAO,GAET,IAAMY,EAAgBC,MAAMC,QAAQd,GAAYA,EAAW,CAACA,GAC5D,MAAO,CACLe,eAAgBH,EAAcI,MAAM,EAAGZ,GAAKa,KAAI,SAACC,EAAQC,WACvD,OAAOC,EAAMC,aAAaH,+BACxBI,IAAKH,GACFD,aAAA,EAAAA,EAAQK,OAAK,CAChBtB,KAAMA,YAAQuB,EAAAN,aAAA,EAAAA,EAAQK,4BAAOtB,MAC7BC,KAAMA,YAAQuB,EAAAP,aAAA,EAAAA,EAAQK,4BAAOrB,MAC7BL,UAAW6B,EAAGC,EAAOC,gBAAiB9B,GACtC+B,QAAS,SAACC,GAA6C,OAAKC,EAAcD,EAAOZ,EAAOK,MAAM,EAC9Fd,SAAAA,IAEJ,IACAuB,sBAAuBpB,EAAcI,MAAMZ,GAE/C,GAAG,CAACN,EAAiBE,EAAUS,EAAUL,EAAKH,EAAMC,IAnB5Ca,EAAcL,EAAdK,eAAgBiB,EAAqBtB,EAArBsB,sBAqBxB,OAAKhC,EAKHoB,EAAKa,cAAA,MAAA,CAAApC,UAAW6B,EAAGC,EAAOO,qBAAsBrC,GAAYE,GAAIA,EAAe,YAAAoC,EAAgBC,cAC5FrB,EACDK,EAAAa,cAACI,EAAkB,CACjBL,sBAAuBA,EACvB3B,aAAcA,EACdC,0BAA2BA,EAC3BE,gCAAiCA,EACjCP,KAAMA,EACNC,KAAMA,EACNO,SAAUA,KAbP,IAiBX"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={avatarGroupContainer:"avatarGroupContainer_f3a14948d5",avatarContainer:"avatarContainer_152a278a8c"};!function(e){const a="s_id-34c07868a875_4_5_24";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+a))return;const t=document.createElement("style");t.id=a,n.firstChild?n.insertBefore(t,n.firstChild):n.appendChild(t),t.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[a]=e)}(".avatarGroupContainer_f3a14948d5 {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n position: relative;\n padding: 0;\n margin: 0;\n}\n\n.avatarContainer_152a278a8c {\n margin-inline-start: calc(-1 * var(--space-8));\n}");export{e as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroup.module.scss.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupConstants.js","sources":["../../../../src/components/AvatarGroup/AvatarGroupConstants.ts"],"sourcesContent":["export const AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY = 200;\nexport const AVATAR_GROUP_COUNTER_AVATAR_SIZE = 22;\n"],"names":["AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY","AVATAR_GROUP_COUNTER_AVATAR_SIZE"],"mappings":"AAAO,IAAMA,EAA0C,IAC1CC,EAAmC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useRef as t,useCallback as r}from"react";import n from"classnames";import i from"./AvatarGroupCounterTooltipContainer.js";import{avatarOnClick as a}from"./AvatarGroupHelper.js";import l from"./AvatarGroupCounter.module.scss.js";import{AVATAR_GROUP_COUNTER_AVATAR_SIZE as s}from"./AvatarGroupConstants.js";import u from"../../../components/counter/dist/Counter/Counter.js";import m from"../../../components/menu-button/dist/MenuButton/MenuButton.js";import c from"../../../components/menu/dist/Menu/Menu/Menu.js";import d from"../../../components/menu/dist/Menu/MenuItem/AvatarMenuItem.js";import{getStyle as p}from"../../../shared/dist/utils/typesciptCssModulesHelper.js";var v=function(v){var f=v.counterTooltipAvatars,b=void 0===f?[]:f,C=v.counterTooltipCustomProps,x=v.counterTooltipIsVirtualizedList,I=void 0!==x&&x,j=v.size,P=void 0===j?"medium":j,g=v.type,M=v.counterAriaLabel,A=v.disabled,E=v.counterProps||{},z=E.color,N=void 0===z?"light":z,T=E.count,h=void 0===T?b.length:T,y=E.prefix,G=void 0===y?"+":y,L=E.maxDigits,k=void 0===L?3:L,B=E.ariaLabelItemsName,H=void 0===B?"items":B,O=E.noAnimation,R=E.dialogContainerSelector,S=E.tabIndex,D=void 0===S?0:S,V=p(l,null==P?void 0:""+P),_=l[N],q=t(null),w=t(null),F=t(null),J=r((function(){return o.createElement(u,{color:N,count:h,prefix:G,maxDigits:k,"aria-label":M||"Tab for more ".concat(H),noAnimation:O,counterClassName:n(e({},l.disabled,A)),size:"xs"===P?"xs":void 0})}),[M,H,N,k,G,h,A,O]);return b.length||h?A?o.createElement("div",{ref:F,className:n(l.counterContainer,l.disabled,V,_)},J()):b.some((function(e){var o;return null===(o=e.props)||void 0===o?void 0:o.onClick}))?o.createElement(m,{component:J,zIndex:1,className:n(l.counterContainer,V,_),"aria-label":M||"".concat(h," additional ").concat(H),dialogContainerSelector:R},o.createElement(c,{id:"menu",size:"medium",className:l.menu,focusItemIndexOnMount:0},b.map((function(e,t){var r,n,i,l;return o.createElement(d,{menuItemProps:{key:(null===(r=e.props)||void 0===r?void 0:r.id)||t+"",title:(null===(i=null===(n=e.props)||void 0===n?void 0:n.tooltipProps)||void 0===i?void 0:i.content)||(null===(l=null==e?void 0:e.props)||void 0===l?void 0:l["aria-label"]),onClick:function(o){return a(o,e.props)}},avatarProps:Object.assign(Object.assign({},e.props),{customSize:s,"aria-label":"",tabIndex:-1})})})))):o.createElement(i,{focusPrevPlaceholderRef:q,focusNextPlaceholderRef:w,counterContainerRef:F,avatars:b,counterTooltipCustomProps:C,counterTooltipIsVirtualizedList:I,type:g},o.createElement("div",{tabIndex:-1,ref:q}),o.createElement("div",{tabIndex:D,className:n(l.counterContainer,V,_),ref:F},J(),o.createElement("div",{tabIndex:-1,ref:w}))):null};export{v as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupCounter.js","sources":["../../../../src/components/AvatarGroup/AvatarGroupCounter.tsx"],"sourcesContent":["import React, { type ReactElement, useCallback, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { type AvatarProps, type AvatarSize, type AvatarType } from \"@vibe/avatar\";\nimport { Counter } from \"@vibe/counter\";\nimport { MenuButton } from \"@vibe/menu-button\";\nimport { Menu, AvatarMenuItem } from \"@vibe/menu\";\nimport AvatarGroupCounterTooltipContainer from \"./AvatarGroupCounterTooltipContainer\";\nimport type VibeComponentProps from \"../../types/VibeComponentProps\";\nimport { getStyle } from \"@vibe/shared\";\nimport { type AvatarGroupCounterVisualProps } from \"./AvatarGroup.types\";\nimport { type TooltipProps } from \"@vibe/tooltip\";\nimport { avatarOnClick } from \"./AvatarGroupHelper\";\nimport styles from \"./AvatarGroupCounter.module.scss\";\nimport { AVATAR_GROUP_COUNTER_AVATAR_SIZE } from \"./AvatarGroupConstants\";\n\nexport interface AvatarGroupCounterProps extends VibeComponentProps {\n /**\n * The list of avatars hidden behind the counter.\n */\n counterTooltipAvatars?: ReactElement<AvatarProps>[];\n /**\n * Props for customizing the counter appearance.\n */\n counterProps?: AvatarGroupCounterVisualProps;\n /**\n * Props for customizing the counter tooltip.\n */\n counterTooltipCustomProps?: Partial<TooltipProps>;\n /**\n * If true, the counter tooltip uses a virtualized list for performance optimization.\n */\n counterTooltipIsVirtualizedList?: boolean;\n /**\n * The size of the counter.\n */\n size?: AvatarSize;\n /**\n * The type of the avatars in the counter.\n */\n type?: AvatarType;\n /**\n * The label of the counter for accessibility.\n */\n counterAriaLabel?: string;\n /**\n * If true, the counter is disabled and non-interactive.\n */\n disabled?: boolean;\n}\n\nconst AvatarGroupCounter: React.FC<AvatarGroupCounterProps> = ({\n counterTooltipAvatars = [],\n counterProps,\n counterTooltipCustomProps,\n counterTooltipIsVirtualizedList = false,\n size = \"medium\",\n type,\n counterAriaLabel,\n disabled\n}: AvatarGroupCounterProps) => {\n const {\n color: counterColor = \"light\",\n count: counterValue = counterTooltipAvatars.length,\n prefix: counterPrefix = \"+\",\n maxDigits: counterMaxDigits = 3,\n ariaLabelItemsName: counterAriaLabelItemsName = \"items\",\n noAnimation,\n dialogContainerSelector,\n tabIndex: counterTabIndex = 0\n } = counterProps || {};\n\n const counterSizeStyle = getStyle(styles, size?.toString());\n const counterColorStyle = styles[counterColor];\n\n const focusPrevPlaceholderRef = useRef(null);\n const focusNextPlaceholderRef = useRef(null);\n const counterContainerRef = useRef(null);\n const counterComponent = useCallback(() => {\n return (\n <Counter\n color={counterColor}\n count={counterValue}\n prefix={counterPrefix}\n maxDigits={counterMaxDigits}\n aria-label={counterAriaLabel ? counterAriaLabel : `Tab for more ${counterAriaLabelItemsName}`}\n noAnimation={noAnimation}\n counterClassName={cx({ [styles.disabled]: disabled })}\n size={size === \"xs\" ? \"xs\" : undefined}\n />\n );\n }, [\n counterAriaLabel,\n counterAriaLabelItemsName,\n counterColor,\n counterMaxDigits,\n counterPrefix,\n counterValue,\n disabled,\n noAnimation\n ]);\n\n if (!counterTooltipAvatars.length && !counterValue) {\n return null;\n }\n\n if (disabled) {\n return (\n <div\n ref={counterContainerRef}\n className={cx(styles.counterContainer, styles.disabled, counterSizeStyle, counterColorStyle)}\n >\n {counterComponent()}\n </div>\n );\n }\n\n const areAvatarsClickable = counterTooltipAvatars.some(a => a.props?.onClick);\n if (areAvatarsClickable) {\n return (\n <MenuButton\n component={counterComponent}\n zIndex={1}\n className={cx(styles.counterContainer, counterSizeStyle, counterColorStyle)}\n aria-label={counterAriaLabel ? counterAriaLabel : `${counterValue} additional ${counterAriaLabelItemsName}`}\n dialogContainerSelector={dialogContainerSelector}\n >\n <Menu id=\"menu\" size=\"medium\" className={styles.menu} focusItemIndexOnMount={0}>\n {counterTooltipAvatars.map((avatar, index) => {\n return (\n // eslint-disable-next-line react/jsx-key\n <AvatarMenuItem\n menuItemProps={{\n key: avatar.props?.id || String(index),\n title: (avatar.props?.tooltipProps?.content as string) || avatar?.props?.[\"aria-label\"],\n onClick: (event: React.MouseEvent | React.KeyboardEvent) => avatarOnClick(event, avatar.props)\n }}\n avatarProps={{\n ...avatar.props,\n customSize: AVATAR_GROUP_COUNTER_AVATAR_SIZE,\n \"aria-label\": \"\",\n tabIndex: -1\n }}\n />\n );\n })}\n </Menu>\n </MenuButton>\n );\n }\n\n return (\n <AvatarGroupCounterTooltipContainer\n focusPrevPlaceholderRef={focusPrevPlaceholderRef}\n focusNextPlaceholderRef={focusNextPlaceholderRef}\n counterContainerRef={counterContainerRef}\n avatars={counterTooltipAvatars}\n counterTooltipCustomProps={counterTooltipCustomProps}\n counterTooltipIsVirtualizedList={counterTooltipIsVirtualizedList}\n type={type}\n >\n <div tabIndex={-1} ref={focusPrevPlaceholderRef} />\n {/* eslint-disable jsx-a11y/no-noninteractive-tabindex */}\n <div\n tabIndex={counterTabIndex}\n className={cx(styles.counterContainer, counterSizeStyle, counterColorStyle)}\n ref={counterContainerRef}\n >\n {/* eslint-enable jsx-a11y/no-noninteractive-tabindex */}\n {counterComponent()}\n <div tabIndex={-1} ref={focusNextPlaceholderRef} />\n </div>\n </AvatarGroupCounterTooltipContainer>\n );\n};\n\nexport default AvatarGroupCounter;\n"],"names":["AvatarGroupCounter","_ref","_ref$counterTooltipAv","counterTooltipAvatars","counterTooltipCustomProps","_ref$counterTooltipIs","counterTooltipIsVirtualizedList","_ref$size","size","type","counterAriaLabel","disabled","_ref2","counterProps","_ref2$color","color","counterColor","_ref2$count","count","counterValue","length","_ref2$prefix","prefix","counterPrefix","_ref2$maxDigits","maxDigits","counterMaxDigits","_ref2$ariaLabelItemsN","ariaLabelItemsName","counterAriaLabelItemsName","noAnimation","dialogContainerSelector","_ref2$tabIndex","tabIndex","counterTabIndex","counterSizeStyle","getStyle","styles","counterColorStyle","focusPrevPlaceholderRef","useRef","focusNextPlaceholderRef","counterContainerRef","counterComponent","useCallback","React","createElement","Counter","concat","counterClassName","cx","_defineProperty","undefined","ref","className","counterContainer","some","a","_a","props","onClick","MenuButton","component","zIndex","Menu","id","menu","focusItemIndexOnMount","map","avatar","index","AvatarMenuItem","menuItemProps","key","String","title","_c","_b","tooltipProps","content","_d","event","avatarOnClick","avatarProps","customSize","AVATAR_GROUP_COUNTER_AVATAR_SIZE","AvatarGroupCounterTooltipContainer","avatars"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var n={counterContainer:"counterContainer_aa6b750f52","focus-visible":"focus-visible_ff84167bbd",xs:"xs_41560551e9",small:"small_f510a16bd0",medium:"medium_e11c70467e",large:"large_5f3d22fc1e",primary:"primary_1850b36226",dark:"dark_6a7251429b",negative:"negative_35482ee9ff",light:"light_391f819859",disabled:"disabled_28235a1b80",menu:"menu_7204884485"};!function(n){const e="s_id-d3854ac48ae9_4_5_24";if("undefined"!=typeof document){const a=document.head||document.getElementsByTagName("head")[0];if(a.querySelector("#"+e))return;const o=document.createElement("style");o.id=e,a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=n)}("/* stylelint-disable */\n/* stylelint-enable */\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52 {\n background: var(--ui-background-color);\n display: flex;\n justify-content: center;\n align-items: center;\n margin-inline-start: calc(-1 * var(--space-8));\n z-index: 1;\n border: 1px solid var(--primary-background-color);\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52:focus-visible, .counterContainer_aa6b750f52.counterContainer_aa6b750f52.focus-visible_ff84167bbd { /* stylelint-disable-line selector-class-pattern */\n outline: none;\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52:focus-visible:focus-visible, .counterContainer_aa6b750f52.counterContainer_aa6b750f52:focus-visible.focus-visible_ff84167bbd, .counterContainer_aa6b750f52.counterContainer_aa6b750f52.focus-visible_ff84167bbd:focus-visible, .counterContainer_aa6b750f52.counterContainer_aa6b750f52.focus-visible_ff84167bbd.focus-visible_ff84167bbd {\n outline: none;\n z-index: 11;\n border-radius: 50%;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52:focus-visible:focus:not(.focus-visible_ff84167bbd), .counterContainer_aa6b750f52.counterContainer_aa6b750f52.focus-visible_ff84167bbd:focus:not(.focus-visible_ff84167bbd) {\n outline: none;\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.xs_41560551e9 {\n height: 20px;\n min-width: 20px;\n border-radius: 10px;\n padding: 0 1px;\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.small_f510a16bd0 {\n height: 28px;\n min-width: 28px;\n border-radius: 14px;\n padding: 0 1px;\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.medium_e11c70467e {\n height: 32px;\n min-width: 32px;\n border-radius: 16px;\n padding: 0 2px;\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.large_5f3d22fc1e {\n height: 50px;\n min-width: 50px;\n border-radius: 25px;\n padding: 0 var(--space-4);\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.primary_1850b36226 {\n color: var(--text-color-on-primary);\n background-color: var(--primary-color);\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.dark_6a7251429b {\n color: var(--text-color-on-inverted);\n background-color: var(--inverted-color-background);\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.negative_35482ee9ff {\n color: var(--text-color-on-primary);\n background-color: var(--negative-color);\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52.light_391f819859 {\n color: var(--primary-text-color);\n background-color: var(--ui-background-color);\n}\n.counterContainer_aa6b750f52.counterContainer_aa6b750f52 .disabled_28235a1b80, .counterContainer_aa6b750f52.counterContainer_aa6b750f52.disabled_28235a1b80 {\n background-color: var(--disabled-background-color);\n color: var(--disabled-text-color);\n}\n.menu_7204884485 {\n max-height: 300px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n.menu_7204884485::-webkit-scrollbar {\n width: 4px;\n height: 6px;\n}\n.menu_7204884485::-webkit-scrollbar-thumb {\n background-color: var(--ui-border-color);\n border-radius: 4px;\n}");export{n as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounter.module.scss.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupCounter.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useState as t,useRef as r,useMemo as n,useCallback as i}from"react";import l from"./AvatarGroupCounterTooltipContent.js";import{useTooltipContentTabNavigation as a}from"./AvatarGroupCounterTooltipHelper.js";import{AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY as s}from"./AvatarGroupConstants.js";import u from"../../../components/tooltip/dist/Tooltip/Tooltip.js";var p=function(p){var c=p.focusPrevPlaceholderRef,d=p.focusNextPlaceholderRef,f=p.counterContainerRef,m=p.children,v=void 0===m?[]:m,T=p.avatars,C=void 0===T?[]:T,h=p.type,g=p.className,P=p.counterTooltipCustomProps,R=p.counterTooltipIsVirtualizedList,b=void 0!==R&&R,j=t(!1),y=e(j,2),A=y[0],N=y[1],V=r(null),x=n((function(){return(null==P?void 0:P.content)||o.createElement(l,{avatars:C,type:h,className:g,isVirtualizedList:b,tooltipContentContainerRef:V})}),[C,g,null==P?void 0:P.content,b,h]);a({counterContainerRef:f,tooltipContentContainerRef:V,focusPrevPlaceholderRef:c,focusNextPlaceholderRef:d,setIsKeyboardTooltipVisible:N,isKeyboardTooltipVisible:A});var E=i((function(){N(!1)}),[]);return(null==C?void 0:C.length)||(null==P?void 0:P.content)?o.createElement(u,Object.assign({open:A,hideDelay:s,showTrigger:["mouseenter"],hideTrigger:["mouseleave"],onTooltipHide:E},P||{},{content:x}),v):o.createElement(o.Fragment,null,v)};export{p as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounterTooltipContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupCounterTooltipContainer.js","sources":["../../../../src/components/AvatarGroup/AvatarGroupCounterTooltipContainer.tsx"],"sourcesContent":["import React, { type ReactElement, type RefObject, useCallback, useMemo, useRef, useState } from \"react\";\nimport { Tooltip, type TooltipProps } from \"@vibe/tooltip\";\nimport { type AvatarProps, type AvatarType } from \"@vibe/avatar\";\nimport AvatarGroupCounterTooltipContent from \"./AvatarGroupCounterTooltipContent\";\nimport { useTooltipContentTabNavigation } from \"./AvatarGroupCounterTooltipHelper\";\nimport type VibeComponentProps from \"../../types/VibeComponentProps\";\nimport { AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY } from \"./AvatarGroupConstants\";\n\nexport interface AvatarGroupCounterTooltipContainerProps extends VibeComponentProps {\n /**\n * The type of avatars displayed in the tooltip.\n */\n type?: AvatarType;\n /**\n * The counter element and focus placeholders.\n */\n children?: ReactElement[];\n /**\n * The list of avatars displayed inside the tooltip.\n */\n avatars?: ReactElement<AvatarProps>[];\n /**\n * Props passed to the Tooltip component. See full options in the [Tooltip documentation](https://vibe.monday.com/?path=/docs/components-tooltip--docs).\n */\n counterTooltipCustomProps?: Partial<TooltipProps>;\n /**\n * If true, the tooltip uses a virtualized list for performance optimization.\n */\n counterTooltipIsVirtualizedList?: boolean;\n /**\n * Ref for the element before the tooltip content, used for keyboard navigation.\n */\n focusPrevPlaceholderRef?: RefObject<HTMLDivElement>;\n /**\n * Ref for the element after the tooltip content, used for keyboard navigation.\n */\n focusNextPlaceholderRef?: RefObject<HTMLDivElement>;\n /**\n * Ref for the counter container element.\n */\n counterContainerRef?: RefObject<HTMLDivElement>;\n}\n\nconst AvatarGroupCounterTooltipContainer: React.FC<AvatarGroupCounterTooltipContainerProps> = ({\n focusPrevPlaceholderRef,\n focusNextPlaceholderRef,\n counterContainerRef,\n children = [],\n avatars = [],\n type,\n className,\n counterTooltipCustomProps,\n counterTooltipIsVirtualizedList = false\n}) => {\n const [isKeyboardTooltipVisible, setIsKeyboardTooltipVisible] = useState(false);\n const tooltipContentContainerRef = useRef(null);\n const tooltipContent = useMemo(\n () =>\n counterTooltipCustomProps?.content || (\n <AvatarGroupCounterTooltipContent\n avatars={avatars}\n type={type}\n className={className}\n isVirtualizedList={counterTooltipIsVirtualizedList}\n tooltipContentContainerRef={tooltipContentContainerRef}\n />\n ),\n [avatars, className, counterTooltipCustomProps?.content, counterTooltipIsVirtualizedList, type]\n );\n\n useTooltipContentTabNavigation({\n counterContainerRef,\n tooltipContentContainerRef,\n focusPrevPlaceholderRef,\n focusNextPlaceholderRef,\n setIsKeyboardTooltipVisible,\n isKeyboardTooltipVisible\n });\n\n // Tooltip props\n const onHide = useCallback(() => {\n setIsKeyboardTooltipVisible(false);\n }, []);\n\n if (!avatars?.length && !counterTooltipCustomProps?.content) {\n return <>{children}</>;\n }\n return (\n <Tooltip\n open={isKeyboardTooltipVisible}\n hideDelay={AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY}\n showTrigger={[\"mouseenter\"]}\n hideTrigger={[\"mouseleave\"]}\n onTooltipHide={onHide}\n {...(counterTooltipCustomProps || {})}\n content={tooltipContent}\n >\n {children}\n </Tooltip>\n );\n};\n\nexport default AvatarGroupCounterTooltipContainer;\n"],"names":["AvatarGroupCounterTooltipContainer","_ref","focusPrevPlaceholderRef","focusNextPlaceholderRef","counterContainerRef","_ref$children","children","_ref$avatars","avatars","type","className","counterTooltipCustomProps","_ref$counterTooltipIs","counterTooltipIsVirtualizedList","_useState","useState","_useState2","_slicedToArray","isKeyboardTooltipVisible","setIsKeyboardTooltipVisible","tooltipContentContainerRef","useRef","tooltipContent","useMemo","content","React","createElement","AvatarGroupCounterTooltipContent","isVirtualizedList","useTooltipContentTabNavigation","onHide","useCallback","length","Tooltip","open","hideDelay","AVATAR_GROUP_COUNTER_TOOLTIP_SHOW_DELAY","showTrigger","hideTrigger","onTooltipHide","Fragment"],"mappings":"+bA2CA,IAAMA,EAAwF,SAAtDC,GAUnC,IATHC,EAAuBD,EAAvBC,wBACAC,EAAuBF,EAAvBE,wBACAC,EAAmBH,EAAnBG,oBAAmBC,EAAAJ,EACnBK,SAAAA,OAAW,IAAHD,EAAG,GAAEA,EAAAE,EAAAN,EACbO,QAAAA,OAAU,IAAHD,EAAG,GAAEA,EACZE,EAAIR,EAAJQ,KACAC,EAAST,EAATS,UACAC,EAAyBV,EAAzBU,0BAAyBC,EAAAX,EACzBY,gCAAAA,OAAkC,IAAHD,GAAQA,EAEvCE,EAAgEC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAxEI,EAAwBF,EAAA,GAAEG,EAA2BH,EAAA,GACtDI,EAA6BC,EAAO,MACpCC,EAAiBC,GACrB,WAAA,OACEZ,aAAyB,EAAzBA,EAA2Ba,UACzBC,EAAAC,cAACC,EAAgC,CAC/BnB,QAASA,EACTC,KAAMA,EACNC,UAAWA,EACXkB,kBAAmBf,EACnBO,2BAA4BA,GAGlC,GAAA,CAACZ,EAASE,EAAWC,aAAA,EAAAA,EAA2Ba,QAASX,EAAiCJ,IAG5FoB,EAA+B,CAC7BzB,oBAAAA,EACAgB,2BAAAA,EACAlB,wBAAAA,EACAC,wBAAAA,EACAgB,4BAAAA,EACAD,yBAAAA,IAIF,IAAMY,EAASC,GAAY,WACzBZ,GAA4B,EAC7B,GAAE,IAEH,OAAKX,aAAA,EAAAA,EAASwB,UAAWrB,aAAyB,EAAzBA,EAA2Ba,SAIlDC,EAACC,cAAAO,iBACCC,KAAMhB,EACNiB,UAAWC,EACXC,YAAa,CAAC,cACdC,YAAa,CAAC,cACdC,cAAeT,GACVnB,GAA6B,CAAA,EAAG,CACrCa,QAASF,IAERhB,GAZImB,EAAAC,cAAAD,EAAAe,SAAA,KAAGlC,EAed"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import t,{useCallback as o,useMemo as r}from"react";import e from"classnames";import n from"./AvatarGroupCounterTooltipContentVirtualizedList.js";import{avatarRenderer as a}from"./AvatarGroupCounterTooltipHelper.js";import i from"./AvatarGroupCounterTooltipContent.module.scss.js";import l from"../../../components/layout/dist/Flex/Flex.js";var s=function(s){var p=s.avatars,u=void 0===p?[]:p,m=s.type,c=s.className,v=s.isVirtualizedList,d=void 0!==v&&v,C=s.tooltipContentContainerRef,f=o((function(t){var o;return(null===(o=null==t?void 0:t.tooltipProps)||void 0===o?void 0:o.content)||(null==t?void 0:t["aria-label"])}),[]),b=r((function(){var t=u.map((function(t){return{value:Object.assign(Object.assign({},t.props),{tooltipContent:f(t.props)})}})),o=!t.some((function(t){return t.value.tooltipContent})),r=o?void 0:t.map((function(t){return t.value.tooltipContent})).join(",");return{avatarItems:t,displayAsGrid:o,tooltipContainerAriaLabel:r}}),[u,f]),j=b.avatarItems,A=b.displayAsGrid,G=b.tooltipContainerAriaLabel,g=r((function(){return j.map((function(t,o){return a(t,o,void 0,m,A)}))}),[j,A,m]);if(d)return t.createElement(n,{avatarRenderer:a,tooltipContentContainerRef:C,tooltipContainerAriaLabel:G,avatarItems:j,type:m});var x={ref:C,tabIndex:-1,role:"treegrid","aria-label":G,className:A?e(i.scrollableContainer,i.tooltipContainer,i.tooltipGridContainer,c):e(i.scrollableContainer,i.tooltipContainer,c),direction:A?"row":"column",gap:A?"xs":"small",wrap:A};return t.createElement(l,Object.assign({},x),g)};export{s as default};
|
|
2
|
-
//# sourceMappingURL=AvatarGroupCounterTooltipContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupCounterTooltipContent.js","sources":["../../../../src/components/AvatarGroup/AvatarGroupCounterTooltipContent.tsx"],"sourcesContent":["import React, { type ReactElement, type Ref, useCallback, useMemo } from \"react\";\nimport cx from \"classnames\";\nimport { Flex, type FlexProps } from \"@vibe/layout\";\nimport { type AvatarProps, type AvatarType } from \"@vibe/avatar\";\nimport AvatarGroupCounterTooltipContentVirtualizedList from \"./AvatarGroupCounterTooltipContentVirtualizedList\";\nimport { avatarRenderer } from \"./AvatarGroupCounterTooltipHelper\";\nimport type VibeComponentProps from \"../../types/VibeComponentProps\";\nimport styles from \"./AvatarGroupCounterTooltipContent.module.scss\";\n\nexport interface AvatarGroupCounterTooltipContentProps extends VibeComponentProps {\n /**\n * The type of avatars displayed inside the tooltip.\n */\n type?: AvatarType;\n /**\n * The avatars shown in the tooltip.\n */\n avatars?: ReactElement<AvatarProps>[];\n /**\n * If true, the tooltip uses a virtualized list for performance optimization.\n */\n isVirtualizedList?: boolean;\n /**\n * Ref for the tooltip content container.\n */\n tooltipContentContainerRef?: Ref<HTMLDivElement>;\n}\n\nconst AvatarGroupCounterTooltipContent: React.FC<AvatarGroupCounterTooltipContentProps> = ({\n avatars = [],\n type,\n className,\n isVirtualizedList = false,\n tooltipContentContainerRef\n}) => {\n const getTooltipContent = useCallback((avatarProps: AvatarProps) => {\n return avatarProps?.tooltipProps?.content || avatarProps?.[\"aria-label\"];\n }, []);\n\n const { avatarItems, displayAsGrid, tooltipContainerAriaLabel } = useMemo(() => {\n const avatarItems = avatars.map(avatar => ({\n value: { ...avatar.props, tooltipContent: getTooltipContent(avatar.props) }\n }));\n const displayAsGrid = !avatarItems.some(item => item.value.tooltipContent);\n const tooltipContainerAriaLabel = !displayAsGrid\n ? avatarItems.map(item => item.value.tooltipContent).join(\",\")\n : undefined;\n return { avatarItems, displayAsGrid, tooltipContainerAriaLabel };\n }, [avatars, getTooltipContent]);\n\n const renderedItems = useMemo(\n () => avatarItems.map((item, index) => avatarRenderer(item, index, undefined, type, displayAsGrid)),\n [avatarItems, displayAsGrid, type]\n );\n\n if (isVirtualizedList) {\n return (\n <AvatarGroupCounterTooltipContentVirtualizedList\n avatarRenderer={avatarRenderer}\n tooltipContentContainerRef={tooltipContentContainerRef}\n tooltipContainerAriaLabel={tooltipContainerAriaLabel}\n avatarItems={avatarItems}\n type={type}\n />\n );\n }\n\n const flexProps = {\n ref: tooltipContentContainerRef,\n tabIndex: -1,\n role: \"treegrid\",\n \"aria-label\": tooltipContainerAriaLabel,\n className: displayAsGrid\n ? cx(styles.scrollableContainer, styles.tooltipContainer, styles.tooltipGridContainer, className)\n : cx(styles.scrollableContainer, styles.tooltipContainer, className),\n direction: displayAsGrid ? \"row\" : \"column\",\n gap: displayAsGrid ? \"xs\" : \"small\",\n wrap: displayAsGrid\n };\n\n return <Flex {...(flexProps as FlexProps)}>{renderedItems}</Flex>;\n};\n\nexport default AvatarGroupCounterTooltipContent;\n"],"names":["AvatarGroupCounterTooltipContent","_ref","_ref$avatars","avatars","type","className","_ref$isVirtualizedLis","isVirtualizedList","tooltipContentContainerRef","getTooltipContent","useCallback","avatarProps","tooltipProps","_a","content","_useMemo","useMemo","avatarItems","map","avatar","value","Object","assign","props","tooltipContent","displayAsGrid","some","item","tooltipContainerAriaLabel","undefined","join","renderedItems","index","avatarRenderer","React","createElement","AvatarGroupCounterTooltipContentVirtualizedList","flexProps","ref","tabIndex","role","cx","styles","scrollableContainer","tooltipContainer","tooltipGridContainer","direction","gap","wrap","Flex"],"mappings":"qVA4BA,IAAMA,EAAoF,SAApDC,GAMjC,IAAAC,EAAAD,EALHE,QAAAA,OAAU,IAAHD,EAAG,GAAEA,EACZE,EAAIH,EAAJG,KACAC,EAASJ,EAATI,UAASC,EAAAL,EACTM,kBAAAA,OAAoB,IAAHD,GAAQA,EACzBE,EAA0BP,EAA1BO,2BAEMC,EAAoBC,GAAY,SAACC,SACrC,OAAgC,UAAzBA,aAAA,EAAAA,EAAaC,oBAAY,IAAAC,OAAA,EAAAA,EAAEC,WAAWH,aAAW,EAAXA,EAAc,cAC5D,GAAE,IAEHI,EAAkEC,GAAQ,WACxE,IAAMC,EAAcd,EAAQe,KAAI,SAAAC,GAAM,MAAK,CACzCC,MAAYC,OAAAC,OAAAD,OAAAC,OAAA,GAAAH,EAAOI,OAAO,CAAAC,eAAgBf,EAAkBU,EAAOI,SACpE,IACKE,GAAiBR,EAAYS,MAAK,SAAAC,GAAI,OAAIA,EAAKP,MAAMI,kBACrDI,EAA6BH,OAE/BI,EADAZ,EAAYC,KAAI,SAAAS,GAAI,OAAIA,EAAKP,MAAMI,cAAc,IAAEM,KAAK,KAE5D,MAAO,CAAEb,YAAAA,EAAaQ,cAAAA,EAAeG,0BAAAA,EACvC,GAAG,CAACzB,EAASM,IATLQ,EAAWF,EAAXE,YAAaQ,EAAaV,EAAbU,cAAeG,EAAyBb,EAAzBa,0BAW9BG,EAAgBf,GACpB,WAAA,OAAMC,EAAYC,KAAI,SAACS,EAAMK,GAAK,OAAKC,EAAeN,EAAMK,OAAOH,EAAWzB,EAAMqB,KAAe,GACnG,CAACR,EAAaQ,EAAerB,IAG/B,GAAIG,EACF,OACE2B,EAACC,cAAAC,EACC,CAAAH,eAAgBA,EAChBzB,2BAA4BA,EAC5BoB,0BAA2BA,EAC3BX,YAAaA,EACbb,KAAMA,IAKZ,IAAMiC,EAAY,CAChBC,IAAK9B,EACL+B,UAAW,EACXC,KAAM,WACN,aAAcZ,EACdvB,UAAWoB,EACPgB,EAAGC,EAAOC,oBAAqBD,EAAOE,iBAAkBF,EAAOG,qBAAsBxC,GACrFoC,EAAGC,EAAOC,oBAAqBD,EAAOE,iBAAkBvC,GAC5DyC,UAAWrB,EAAgB,MAAQ,SACnCsB,IAAKtB,EAAgB,KAAO,QAC5BuB,KAAMvB,GAGR,OAAOS,gBAACe,EAAI5B,OAAAC,OAAA,GAAMe,GAA0BN,EAC9C"}
|