@chayns-components/core 5.0.0-beta.998 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/api/theme/get.js.map +1 -1
- package/lib/cjs/components/accordion/Accordion.js +68 -40
- package/lib/cjs/components/accordion/Accordion.js.map +1 -1
- package/lib/cjs/components/accordion/Accordion.styles.js +31 -26
- package/lib/cjs/components/accordion/Accordion.styles.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-body/AccordionBody.js +24 -13
- package/lib/cjs/components/accordion/accordion-body/AccordionBody.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js +4 -4
- package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-content/AccordionContent.js +2 -6
- package/lib/cjs/components/accordion/accordion-content/AccordionContent.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-content/AccordionContent.styles.js +2 -5
- package/lib/cjs/components/accordion/accordion-content/AccordionContent.styles.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js +17 -18
- package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.js +103 -59
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js +22 -33
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
- package/lib/cjs/components/amount-control/AmountControl.js +46 -87
- package/lib/cjs/components/amount-control/AmountControl.js.map +1 -1
- package/lib/cjs/components/amount-control/AmountControl.styles.js +27 -26
- package/lib/cjs/components/amount-control/AmountControl.styles.js.map +1 -1
- package/lib/cjs/components/animated-number/AnimatedNumber.js +48 -0
- package/lib/cjs/components/animated-number/AnimatedNumber.js.map +1 -0
- package/lib/cjs/components/area-provider/AreaContextProvider.js +11 -6
- package/lib/cjs/components/area-provider/AreaContextProvider.js.map +1 -1
- package/lib/cjs/components/badge/Badge.constants.js +18 -0
- package/lib/cjs/components/badge/Badge.constants.js.map +1 -0
- package/lib/cjs/components/badge/Badge.js +14 -9
- package/lib/cjs/components/badge/Badge.js.map +1 -1
- package/lib/cjs/components/badge/Badge.styles.js +37 -21
- package/lib/cjs/components/badge/Badge.styles.js.map +1 -1
- package/lib/cjs/components/badge/Badge.types.js +27 -0
- package/lib/cjs/components/badge/Badge.types.js.map +1 -0
- package/lib/cjs/components/button/Button.js +25 -23
- package/lib/cjs/components/button/Button.js.map +1 -1
- package/lib/cjs/components/button/Button.styles.js +12 -10
- package/lib/cjs/components/button/Button.styles.js.map +1 -1
- package/lib/cjs/components/button/Button.types.js +6 -0
- package/lib/cjs/components/button/Button.types.js.map +1 -0
- package/lib/cjs/components/button/wait-cursor/WaitCursor.styles.js +1 -2
- package/lib/cjs/components/button/wait-cursor/WaitCursor.styles.js.map +1 -1
- package/lib/cjs/components/checkbox/Checkbox.js +28 -8
- package/lib/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/lib/cjs/components/checkbox/Checkbox.styles.js +29 -23
- package/lib/cjs/components/checkbox/Checkbox.styles.js.map +1 -1
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js +37 -138
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js +6 -0
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
- package/lib/cjs/components/color-scheme-provider/hooks/useChaynsTheme.js +141 -0
- package/lib/cjs/components/color-scheme-provider/hooks/useChaynsTheme.js.map +1 -0
- package/lib/cjs/components/color-scheme-provider/hooks/useDesignSettings.js +36 -0
- package/lib/cjs/components/color-scheme-provider/hooks/useDesignSettings.js.map +1 -0
- package/lib/cjs/components/color-scheme-provider/hooks/useParagraphFormat.js +24 -0
- package/lib/cjs/components/color-scheme-provider/hooks/useParagraphFormat.js.map +1 -0
- package/lib/cjs/components/combobox/ComboBox.js +166 -176
- package/lib/cjs/components/combobox/ComboBox.js.map +1 -1
- package/lib/cjs/components/combobox/ComboBox.styles.js +81 -66
- package/lib/cjs/components/combobox/ComboBox.styles.js.map +1 -1
- package/lib/cjs/components/combobox/combobox-item/ComboBoxItem.js +23 -20
- package/lib/cjs/components/combobox/combobox-item/ComboBoxItem.js.map +1 -1
- package/lib/cjs/components/combobox/combobox-item/ComboBoxItem.styles.js +15 -13
- package/lib/cjs/components/combobox/combobox-item/ComboBoxItem.styles.js.map +1 -1
- package/lib/cjs/components/content-card/ContentCard.js +2 -2
- package/lib/cjs/components/content-card/ContentCard.js.map +1 -1
- package/lib/cjs/components/content-card/ContentCard.styles.js +31 -4
- package/lib/cjs/components/content-card/ContentCard.styles.js.map +1 -1
- package/lib/cjs/components/context-menu/ContextMenu.js +104 -41
- package/lib/cjs/components/context-menu/ContextMenu.js.map +1 -1
- package/lib/cjs/components/context-menu/ContextMenu.styles.js +17 -2
- package/lib/cjs/components/context-menu/ContextMenu.styles.js.map +1 -1
- package/lib/cjs/components/context-menu/ContextMenu.types.js +31 -0
- package/lib/cjs/components/context-menu/ContextMenu.types.js.map +1 -0
- package/lib/cjs/components/context-menu/ContextMenu.utils.js +9 -0
- package/lib/cjs/components/context-menu/ContextMenu.utils.js.map +1 -0
- package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js +58 -25
- package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
- package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.styles.js +64 -18
- package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.styles.js.map +1 -1
- package/lib/cjs/components/dropdown-body-wrapper/DropdownBodyWrapper.js +151 -0
- package/lib/cjs/components/dropdown-body-wrapper/DropdownBodyWrapper.js.map +1 -0
- package/lib/cjs/components/dropdown-body-wrapper/DropdownBodyWrapper.styles.js +50 -0
- package/lib/cjs/components/dropdown-body-wrapper/DropdownBodyWrapper.styles.js.map +1 -0
- package/lib/cjs/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.js +106 -0
- package/lib/cjs/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.js.map +1 -0
- package/lib/cjs/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.js +37 -0
- package/lib/cjs/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.js.map +1 -0
- package/lib/cjs/components/expandable-content/ExpandableContent.js +10 -10
- package/lib/cjs/components/expandable-content/ExpandableContent.js.map +1 -1
- package/lib/cjs/components/expandable-content/ExpandableContent.styles.js +3 -5
- package/lib/cjs/components/expandable-content/ExpandableContent.styles.js.map +1 -1
- package/lib/cjs/components/file-input/FileInput.js +61 -137
- package/lib/cjs/components/file-input/FileInput.js.map +1 -1
- package/lib/cjs/components/file-input/FileInput.styles.js +3 -4
- package/lib/cjs/components/file-input/FileInput.styles.js.map +1 -1
- package/lib/cjs/components/file-list/FileList.js +34 -0
- package/lib/cjs/components/file-list/FileList.js.map +1 -0
- package/lib/cjs/components/{file-input/file-list/FileListItem.styles.js → file-list/FileList.styles.js} +3 -3
- package/lib/cjs/components/file-list/FileList.styles.js.map +1 -0
- package/lib/cjs/components/file-list/file-item/FileItem.js +40 -0
- package/lib/cjs/components/file-list/file-item/FileItem.js.map +1 -0
- package/lib/cjs/components/file-list/file-item/FileItem.styles.js +10 -0
- package/lib/cjs/components/file-list/file-item/FileItem.styles.js.map +1 -0
- package/lib/cjs/components/file-select/FileSelect.js +134 -0
- package/lib/cjs/components/file-select/FileSelect.js.map +1 -0
- package/lib/cjs/components/file-select/FileSelect.styles.js +52 -0
- package/lib/cjs/components/file-select/FileSelect.styles.js.map +1 -0
- package/lib/cjs/components/filter/Filter.js +223 -0
- package/lib/cjs/components/filter/Filter.js.map +1 -0
- package/lib/cjs/components/filter/Filter.styles.js +97 -0
- package/lib/cjs/components/filter/Filter.styles.js.map +1 -0
- package/lib/cjs/components/filter/filter-content/FIlterContent.js +88 -0
- package/lib/cjs/components/filter/filter-content/FIlterContent.js.map +1 -0
- package/lib/cjs/components/filter/filter-content/FilterContent.styles.js +36 -0
- package/lib/cjs/components/filter/filter-content/FilterContent.styles.js.map +1 -0
- package/lib/cjs/components/filter-buttons/FilterButtons.js +5 -4
- package/lib/cjs/components/filter-buttons/FilterButtons.js.map +1 -1
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js +11 -5
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js +13 -7
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
- package/lib/cjs/components/grid-image/GridImage.js +1 -2
- package/lib/cjs/components/grid-image/GridImage.js.map +1 -1
- package/lib/cjs/components/grouped-image/GroupedImage.js +74 -0
- package/lib/cjs/components/grouped-image/GroupedImage.js.map +1 -0
- package/lib/cjs/components/grouped-image/GroupedImage.styles.js +125 -0
- package/lib/cjs/components/grouped-image/GroupedImage.styles.js.map +1 -0
- package/lib/cjs/components/grouped-image/clip-paths/CareOfClipPath.js +34 -0
- package/lib/cjs/components/grouped-image/clip-paths/CareOfClipPath.js.map +1 -0
- package/lib/cjs/components/grouped-image/clip-paths/SecondImageClipPath.js +34 -0
- package/lib/cjs/components/grouped-image/clip-paths/SecondImageClipPath.js.map +1 -0
- package/lib/cjs/components/highlight-slider/HighlightSlider.js +49 -0
- package/lib/cjs/components/highlight-slider/HighlightSlider.js.map +1 -0
- package/lib/cjs/components/highlight-slider/HighlightSlider.styles.js +14 -0
- package/lib/cjs/components/highlight-slider/HighlightSlider.styles.js.map +1 -0
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +57 -0
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -0
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +36 -0
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -0
- package/lib/cjs/components/icon/Icon.js +11 -15
- package/lib/cjs/components/icon/Icon.js.map +1 -1
- package/lib/cjs/components/icon/Icon.styles.js +17 -4
- package/lib/cjs/components/icon/Icon.styles.js.map +1 -1
- package/lib/cjs/components/input/Input.js +40 -9
- package/lib/cjs/components/input/Input.js.map +1 -1
- package/lib/cjs/components/input/Input.styles.js +35 -14
- package/lib/cjs/components/input/Input.styles.js.map +1 -1
- package/lib/cjs/components/list/List.js +12 -13
- package/lib/cjs/components/list/List.js.map +1 -1
- package/lib/cjs/components/list/list-item/ListItem.js +90 -33
- package/lib/cjs/components/list/list-item/ListItem.js.map +1 -1
- package/lib/cjs/components/list/list-item/ListItem.styles.js +47 -16
- package/lib/cjs/components/list/list-item/ListItem.styles.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-body/ListItemBody.js +5 -6
- package/lib/cjs/components/list/list-item/list-item-body/ListItemBody.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-body/ListItemBody.styles.js +2 -2
- package/lib/cjs/components/list/list-item/list-item-body/ListItemBody.styles.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js +99 -85
- package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.styles.js +25 -88
- package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js +1 -2
- package/lib/cjs/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +17 -28
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js +42 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.styles.js +15 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.styles.js.map +1 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +40 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.styles.js +40 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.styles.js.map +1 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +78 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.styles.js +59 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.styles.js.map +1 -0
- package/lib/cjs/components/mention-finder/MentionFinder.js +258 -29
- package/lib/cjs/components/mention-finder/MentionFinder.js.map +1 -1
- package/lib/cjs/components/mention-finder/MentionFinder.styles.js +112 -7
- package/lib/cjs/components/mention-finder/MentionFinder.styles.js.map +1 -1
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.js +2 -3
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.js.map +1 -1
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js +2 -8
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
- package/lib/cjs/components/multi-action-button/MultiActionButton.js +177 -0
- package/lib/cjs/components/multi-action-button/MultiActionButton.js.map +1 -0
- package/lib/cjs/components/multi-action-button/MultiActionButton.styles.js +19 -0
- package/lib/cjs/components/multi-action-button/MultiActionButton.styles.js.map +1 -0
- package/lib/cjs/components/multi-action-button/MultiActionButton.types.js +45 -0
- package/lib/cjs/components/multi-action-button/MultiActionButton.types.js.map +1 -0
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.js +92 -0
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.js.map +1 -0
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js +219 -0
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -0
- package/lib/cjs/components/number-input/NumberInput.js +14 -8
- package/lib/cjs/components/number-input/NumberInput.js.map +1 -1
- package/lib/cjs/components/page-provider/PageProvider.js +22 -8
- package/lib/cjs/components/page-provider/PageProvider.js.map +1 -1
- package/lib/cjs/components/page-provider/PageProvider.styles.js +1 -17
- package/lib/cjs/components/page-provider/PageProvider.styles.js.map +1 -1
- package/lib/cjs/components/popup/Popup.js +91 -92
- package/lib/cjs/components/popup/Popup.js.map +1 -1
- package/lib/cjs/components/popup/Popup.styles.js +7 -2
- package/lib/cjs/components/popup/Popup.styles.js.map +1 -1
- package/lib/cjs/components/popup/popup-content-wrapper/PopupContentWrapper.js +13 -3
- package/lib/cjs/components/popup/popup-content-wrapper/PopupContentWrapper.js.map +1 -1
- package/lib/cjs/components/popup/popup-content-wrapper/PopupContentWrapper.styles.js +55 -10
- package/lib/cjs/components/popup/popup-content-wrapper/PopupContentWrapper.styles.js.map +1 -1
- package/lib/cjs/components/progress-bar/ProgressBar.js +29 -8
- package/lib/cjs/components/progress-bar/ProgressBar.js.map +1 -1
- package/lib/cjs/components/progress-bar/ProgressBar.styles.js +71 -15
- package/lib/cjs/components/progress-bar/ProgressBar.styles.js.map +1 -1
- package/lib/cjs/components/radio-button/RadioButton.js +42 -21
- package/lib/cjs/components/radio-button/RadioButton.js.map +1 -1
- package/lib/cjs/components/radio-button/RadioButton.styles.js +4 -7
- package/lib/cjs/components/radio-button/RadioButton.styles.js.map +1 -1
- package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js +6 -10
- package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
- package/lib/cjs/components/scroll-view/ScrollView.js +1 -2
- package/lib/cjs/components/scroll-view/ScrollView.js.map +1 -1
- package/lib/cjs/components/scroll-view/ScrollView.styles.js +1 -2
- package/lib/cjs/components/scroll-view/ScrollView.styles.js.map +1 -1
- package/lib/cjs/components/search-box/SearchBox.js +143 -155
- package/lib/cjs/components/search-box/SearchBox.js.map +1 -1
- package/lib/cjs/components/search-box/SearchBox.styles.js +10 -6
- package/lib/cjs/components/search-box/SearchBox.styles.js.map +1 -1
- package/lib/cjs/components/search-box/group-name/GroupName.styles.js +1 -2
- package/lib/cjs/components/search-box/group-name/GroupName.styles.js.map +1 -1
- package/lib/cjs/components/search-box/search-box-body/SearchBoxBody.js +20 -34
- package/lib/cjs/components/search-box/search-box-body/SearchBoxBody.js.map +1 -1
- package/lib/cjs/components/search-box/search-box-body/SearchBoxBody.styles.js +3 -22
- package/lib/cjs/components/search-box/search-box-body/SearchBoxBody.styles.js.map +1 -1
- package/lib/cjs/components/search-box/search-box-item/SearchBoxItem.js +10 -7
- package/lib/cjs/components/search-box/search-box-item/SearchBoxItem.js.map +1 -1
- package/lib/cjs/components/search-box/search-box-item/SearchBoxItem.styles.js +2 -3
- package/lib/cjs/components/search-box/search-box-item/SearchBoxItem.styles.js.map +1 -1
- package/lib/cjs/components/search-input/SearchInput.js +138 -27
- package/lib/cjs/components/search-input/SearchInput.js.map +1 -1
- package/lib/cjs/components/search-input/SearchInput.styles.js +40 -14
- package/lib/cjs/components/search-input/SearchInput.styles.js.map +1 -1
- package/lib/cjs/components/select-button/SelectButton.js +2 -3
- package/lib/cjs/components/select-button/SelectButton.js.map +1 -1
- package/lib/cjs/components/setup-wizard/SetupWizard.js +1 -2
- package/lib/cjs/components/setup-wizard/SetupWizard.js.map +1 -1
- package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +1 -2
- package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
- package/lib/cjs/components/sharing-bar/SharingBar.js +3 -6
- package/lib/cjs/components/sharing-bar/SharingBar.js.map +1 -1
- package/lib/cjs/components/sharing-bar/SharingBar.styles.js +1 -0
- package/lib/cjs/components/sharing-bar/SharingBar.styles.js.map +1 -1
- package/lib/cjs/components/signature/Signature.js +1 -2
- package/lib/cjs/components/signature/Signature.js.map +1 -1
- package/lib/cjs/components/signature/Signature.styles.js +1 -2
- package/lib/cjs/components/signature/Signature.styles.js.map +1 -1
- package/lib/cjs/components/slider/Slider.js +166 -120
- package/lib/cjs/components/slider/Slider.js.map +1 -1
- package/lib/cjs/components/slider/Slider.styles.js +29 -18
- package/lib/cjs/components/slider/Slider.styles.js.map +1 -1
- package/lib/cjs/components/slider-button/SliderButton.js +92 -54
- package/lib/cjs/components/slider-button/SliderButton.js.map +1 -1
- package/lib/cjs/components/slider-button/SliderButton.styles.js +6 -9
- package/lib/cjs/components/slider-button/SliderButton.styles.js.map +1 -1
- package/lib/cjs/components/small-wait-cursor/SmallWaitCursor.js.map +1 -1
- package/lib/cjs/components/small-wait-cursor/SmallWaitCursor.styles.js +13 -12
- package/lib/cjs/components/small-wait-cursor/SmallWaitCursor.styles.js.map +1 -1
- package/lib/cjs/components/tag-input/TagInput.js +94 -65
- package/lib/cjs/components/tag-input/TagInput.js.map +1 -1
- package/lib/cjs/components/tag-input/TagInput.styles.js +11 -3
- package/lib/cjs/components/tag-input/TagInput.styles.js.map +1 -1
- package/lib/cjs/components/text-area/TextArea.js +3 -2
- package/lib/cjs/components/text-area/TextArea.js.map +1 -1
- package/lib/cjs/components/text-area/TextArea.styles.js +2 -2
- package/lib/cjs/components/text-area/TextArea.styles.js.map +1 -1
- package/lib/cjs/components/tooltip/Tooltip.js +19 -9
- package/lib/cjs/components/tooltip/Tooltip.js.map +1 -1
- package/lib/cjs/components/tooltip/Tooltip.styles.js +17 -7
- package/lib/cjs/components/tooltip/Tooltip.styles.js.map +1 -1
- package/lib/cjs/components/tooltip/tooltip-item/TooltipItem.js +6 -5
- package/lib/cjs/components/tooltip/tooltip-item/TooltipItem.js.map +1 -1
- package/lib/cjs/components/tooltip/tooltip-item/TooltipItem.styles.js +15 -2
- package/lib/cjs/components/tooltip/tooltip-item/TooltipItem.styles.js.map +1 -1
- package/lib/cjs/components/truncation/Truncation.js +12 -4
- package/lib/cjs/components/truncation/Truncation.js.map +1 -1
- package/lib/cjs/components/truncation/Truncation.styles.js +3 -4
- package/lib/cjs/components/truncation/Truncation.styles.js.map +1 -1
- package/lib/cjs/components/verification-badge/VerificationBadge.js +15 -0
- package/lib/cjs/components/verification-badge/VerificationBadge.js.map +1 -0
- package/lib/cjs/components/verification-badge/VerificationBadge.styles.js +10 -0
- package/lib/cjs/components/verification-badge/VerificationBadge.styles.js.map +1 -0
- package/lib/cjs/constants/list.js +11 -0
- package/lib/cjs/constants/list.js.map +1 -0
- package/lib/cjs/hooks/container.js +54 -0
- package/lib/cjs/hooks/container.js.map +1 -0
- package/lib/cjs/hooks/dropdown.js +151 -0
- package/lib/cjs/hooks/dropdown.js.map +1 -0
- package/lib/cjs/hooks/element.js +152 -0
- package/lib/cjs/hooks/element.js.map +1 -0
- package/lib/cjs/hooks/ref.js +28 -0
- package/lib/cjs/hooks/ref.js.map +1 -0
- package/lib/cjs/hooks/resize.js +45 -0
- package/lib/cjs/hooks/resize.js.map +1 -0
- package/lib/cjs/index.js +156 -16
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/chayns.js +4 -0
- package/lib/cjs/types/contentCard.js +1 -0
- package/lib/cjs/types/contentCard.js.map +1 -1
- package/lib/cjs/types/contextMenu.js +0 -15
- package/lib/cjs/types/contextMenu.js.map +1 -1
- package/lib/cjs/types/dropdown.js +18 -0
- package/lib/cjs/types/dropdown.js.map +1 -0
- package/lib/cjs/types/file.js +4 -0
- package/lib/cjs/types/fileInput.js +4 -0
- package/lib/cjs/types/filter.js +15 -0
- package/lib/cjs/types/filter.js.map +1 -0
- package/lib/cjs/types/filterButtons.js.map +1 -1
- package/lib/cjs/types/general.js +6 -0
- package/lib/cjs/types/general.js.map +1 -0
- package/lib/cjs/types/global.d.js +2 -0
- package/lib/cjs/types/global.d.js.map +1 -0
- package/lib/cjs/types/list.js +4 -0
- package/lib/cjs/types/popup.js.map +1 -1
- package/lib/cjs/types/radioButton.js +4 -0
- package/lib/cjs/types/searchBox.js +4 -0
- package/lib/cjs/types/selectButton.js +4 -0
- package/lib/cjs/types/selectButton.js.map +1 -1
- package/lib/cjs/types/sharingBar.js +4 -0
- package/lib/cjs/types/signature.js +4 -0
- package/lib/cjs/types/slider-button.js +4 -0
- package/lib/cjs/types/tagInput.js +4 -0
- package/lib/cjs/types/tagInput.js.map +1 -1
- package/lib/cjs/types/tooltip.js +4 -0
- package/lib/cjs/utils/accordion.js +18 -4
- package/lib/cjs/utils/accordion.js.map +1 -1
- package/lib/cjs/utils/calculate.js +43 -14
- package/lib/cjs/utils/calculate.js.map +1 -1
- package/lib/cjs/utils/environment.js +10 -3
- package/lib/cjs/utils/environment.js.map +1 -1
- package/lib/cjs/utils/file.js.map +1 -1
- package/lib/cjs/utils/fileDialog.js +77 -3
- package/lib/cjs/utils/fileDialog.js.map +1 -1
- package/lib/cjs/utils/font.js +1 -14
- package/lib/cjs/utils/font.js.map +1 -1
- package/lib/cjs/utils/groupedImage.js +68 -0
- package/lib/cjs/utils/groupedImage.js.map +1 -0
- package/lib/cjs/utils/icon.js +9 -1
- package/lib/cjs/utils/icon.js.map +1 -1
- package/lib/cjs/utils/numberInput.js +3 -0
- package/lib/cjs/utils/numberInput.js.map +1 -1
- package/lib/cjs/utils/pageProvider.js +7 -2
- package/lib/cjs/utils/pageProvider.js.map +1 -1
- package/lib/cjs/utils/radioButton.js +1 -2
- package/lib/cjs/utils/radioButton.js.map +1 -1
- package/lib/cjs/utils/slider.js +8 -12
- package/lib/cjs/utils/slider.js.map +1 -1
- package/lib/cjs/utils/sliderButton.js.map +1 -1
- package/lib/cjs/utils/uploadFile.js +3 -1
- package/lib/cjs/utils/uploadFile.js.map +1 -1
- package/lib/esm/api/image/post.js +4 -5
- package/lib/esm/api/image/post.js.map +1 -1
- package/lib/esm/api/theme/get.js.map +1 -1
- package/lib/esm/api/video/post.js +3 -4
- package/lib/esm/api/video/post.js.map +1 -1
- package/lib/esm/components/accordion/Accordion.js +68 -40
- package/lib/esm/components/accordion/Accordion.js.map +1 -1
- package/lib/esm/components/accordion/Accordion.styles.js +61 -74
- package/lib/esm/components/accordion/Accordion.styles.js.map +1 -1
- package/lib/esm/components/accordion/accordion-body/AccordionBody.js +30 -19
- package/lib/esm/components/accordion/accordion-body/AccordionBody.js.map +1 -1
- package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js +11 -16
- package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
- package/lib/esm/components/accordion/accordion-content/AccordionContent.js +13 -21
- package/lib/esm/components/accordion/accordion-content/AccordionContent.js.map +1 -1
- package/lib/esm/components/accordion/accordion-content/AccordionContent.styles.js +17 -34
- package/lib/esm/components/accordion/accordion-content/AccordionContent.styles.js.map +1 -1
- package/lib/esm/components/accordion/accordion-group/AccordionGroup.js +10 -12
- package/lib/esm/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
- package/lib/esm/components/accordion/accordion-head/AccordionHead.js +102 -58
- package/lib/esm/components/accordion/accordion-head/AccordionHead.js.map +1 -1
- package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js +57 -115
- package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
- package/lib/esm/components/accordion/accordion-intro/AccordionIntro.js +5 -8
- package/lib/esm/components/accordion/accordion-intro/AccordionIntro.js.map +1 -1
- package/lib/esm/components/accordion/accordion-item/AccordionItem.js +8 -14
- package/lib/esm/components/accordion/accordion-item/AccordionItem.js.map +1 -1
- package/lib/esm/components/accordion/accordion-item/AccordionItem.styles.js +9 -18
- package/lib/esm/components/accordion/accordion-item/AccordionItem.styles.js.map +1 -1
- package/lib/esm/components/amount-control/AmountControl.js +42 -83
- package/lib/esm/components/amount-control/AmountControl.js.map +1 -1
- package/lib/esm/components/amount-control/AmountControl.styles.js +54 -94
- package/lib/esm/components/amount-control/AmountControl.styles.js.map +1 -1
- package/lib/esm/components/animated-number/AnimatedNumber.js +40 -0
- package/lib/esm/components/animated-number/AnimatedNumber.js.map +1 -0
- package/lib/esm/components/area-provider/AreaContextProvider.js +13 -8
- package/lib/esm/components/area-provider/AreaContextProvider.js.map +1 -1
- package/lib/esm/components/badge/Badge.constants.js +12 -0
- package/lib/esm/components/badge/Badge.constants.js.map +1 -0
- package/lib/esm/components/badge/Badge.js +17 -12
- package/lib/esm/components/badge/Badge.js.map +1 -1
- package/lib/esm/components/badge/Badge.styles.js +39 -38
- package/lib/esm/components/badge/Badge.styles.js.map +1 -1
- package/lib/esm/components/badge/Badge.types.js +22 -0
- package/lib/esm/components/badge/Badge.types.js.map +1 -0
- package/lib/esm/components/button/Button.js +24 -22
- package/lib/esm/components/button/Button.js.map +1 -1
- package/lib/esm/components/button/Button.styles.js +30 -36
- package/lib/esm/components/button/Button.styles.js.map +1 -1
- package/lib/esm/components/button/Button.types.js +2 -0
- package/lib/esm/components/button/Button.types.js.map +1 -0
- package/lib/esm/components/button/wait-cursor/WaitCursor.js +9 -12
- package/lib/esm/components/button/wait-cursor/WaitCursor.js.map +1 -1
- package/lib/esm/components/button/wait-cursor/WaitCursor.styles.js +6 -12
- package/lib/esm/components/button/wait-cursor/WaitCursor.styles.js.map +1 -1
- package/lib/esm/components/checkbox/Checkbox.js +38 -19
- package/lib/esm/components/checkbox/Checkbox.js.map +1 -1
- package/lib/esm/components/checkbox/Checkbox.styles.js +71 -107
- package/lib/esm/components/checkbox/Checkbox.styles.js.map +1 -1
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js +42 -145
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js +12 -9
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
- package/lib/esm/components/color-scheme-provider/hooks/useChaynsTheme.js +134 -0
- package/lib/esm/components/color-scheme-provider/hooks/useChaynsTheme.js.map +1 -0
- package/lib/esm/components/color-scheme-provider/hooks/useDesignSettings.js +29 -0
- package/lib/esm/components/color-scheme-provider/hooks/useDesignSettings.js.map +1 -0
- package/lib/esm/components/color-scheme-provider/hooks/useParagraphFormat.js +17 -0
- package/lib/esm/components/color-scheme-provider/hooks/useParagraphFormat.js.map +1 -0
- package/lib/esm/components/combobox/ComboBox.js +189 -205
- package/lib/esm/components/combobox/ComboBox.js.map +1 -1
- package/lib/esm/components/combobox/ComboBox.styles.js +132 -179
- package/lib/esm/components/combobox/ComboBox.styles.js.map +1 -1
- package/lib/esm/components/combobox/combobox-item/ComboBoxItem.js +23 -20
- package/lib/esm/components/combobox/combobox-item/ComboBoxItem.js.map +1 -1
- package/lib/esm/components/combobox/combobox-item/ComboBoxItem.styles.js +47 -77
- package/lib/esm/components/combobox/combobox-item/ComboBoxItem.styles.js.map +1 -1
- package/lib/esm/components/content-card/ContentCard.js +6 -6
- package/lib/esm/components/content-card/ContentCard.js.map +1 -1
- package/lib/esm/components/content-card/ContentCard.styles.js +46 -28
- package/lib/esm/components/content-card/ContentCard.styles.js.map +1 -1
- package/lib/esm/components/context-menu/ContextMenu.js +98 -38
- package/lib/esm/components/context-menu/ContextMenu.js.map +1 -1
- package/lib/esm/components/context-menu/ContextMenu.styles.js +16 -1
- package/lib/esm/components/context-menu/ContextMenu.styles.js.map +1 -1
- package/lib/esm/components/context-menu/ContextMenu.types.js +29 -0
- package/lib/esm/components/context-menu/ContextMenu.types.js.map +1 -0
- package/lib/esm/components/context-menu/ContextMenu.utils.js +2 -0
- package/lib/esm/components/context-menu/ContextMenu.utils.js.map +1 -0
- package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js +61 -34
- package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
- package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.styles.js +67 -30
- package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.styles.js.map +1 -1
- package/lib/esm/components/dropdown-body-wrapper/DropdownBodyWrapper.js +143 -0
- package/lib/esm/components/dropdown-body-wrapper/DropdownBodyWrapper.js.map +1 -0
- package/lib/esm/components/dropdown-body-wrapper/DropdownBodyWrapper.styles.js +43 -0
- package/lib/esm/components/dropdown-body-wrapper/DropdownBodyWrapper.styles.js.map +1 -0
- package/lib/esm/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.js +99 -0
- package/lib/esm/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.js.map +1 -0
- package/lib/esm/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.js +30 -0
- package/lib/esm/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.js.map +1 -0
- package/lib/esm/components/expandable-content/ExpandableContent.js +17 -19
- package/lib/esm/components/expandable-content/ExpandableContent.js.map +1 -1
- package/lib/esm/components/expandable-content/ExpandableContent.styles.js +2 -7
- package/lib/esm/components/expandable-content/ExpandableContent.styles.js.map +1 -1
- package/lib/esm/components/file-input/FileInput.js +73 -150
- package/lib/esm/components/file-input/FileInput.js.map +1 -1
- package/lib/esm/components/file-input/FileInput.styles.js +22 -40
- package/lib/esm/components/file-input/FileInput.styles.js.map +1 -1
- package/lib/esm/components/file-list/FileList.js +26 -0
- package/lib/esm/components/file-list/FileList.js.map +1 -0
- package/lib/esm/components/file-list/FileList.styles.js +3 -0
- package/lib/esm/components/file-list/FileList.styles.js.map +1 -0
- package/lib/esm/components/file-list/file-item/FileItem.js +32 -0
- package/lib/esm/components/file-list/file-item/FileItem.js.map +1 -0
- package/lib/esm/components/file-list/file-item/FileItem.styles.js +3 -0
- package/lib/esm/components/file-list/file-item/FileItem.styles.js.map +1 -0
- package/lib/esm/components/file-select/FileSelect.js +126 -0
- package/lib/esm/components/file-select/FileSelect.js.map +1 -0
- package/lib/esm/components/file-select/FileSelect.styles.js +45 -0
- package/lib/esm/components/file-select/FileSelect.styles.js.map +1 -0
- package/lib/esm/components/filter/Filter.js +215 -0
- package/lib/esm/components/filter/Filter.js.map +1 -0
- package/lib/esm/components/filter/Filter.styles.js +90 -0
- package/lib/esm/components/filter/Filter.styles.js.map +1 -0
- package/lib/esm/components/filter/filter-content/FIlterContent.js +79 -0
- package/lib/esm/components/filter/filter-content/FIlterContent.js.map +1 -0
- package/lib/esm/components/filter/filter-content/FilterContent.styles.js +29 -0
- package/lib/esm/components/filter/filter-content/FilterContent.styles.js.map +1 -0
- package/lib/esm/components/filter-buttons/FilterButtons.js +18 -18
- package/lib/esm/components/filter-buttons/FilterButtons.js.map +1 -1
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.js +21 -15
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js +41 -61
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
- package/lib/esm/components/grid-image/GridImage.js +7 -8
- package/lib/esm/components/grid-image/GridImage.js.map +1 -1
- package/lib/esm/components/grid-image/GridImage.styles.js +31 -61
- package/lib/esm/components/grid-image/GridImage.styles.js.map +1 -1
- package/lib/esm/components/grouped-image/GroupedImage.js +67 -0
- package/lib/esm/components/grouped-image/GroupedImage.js.map +1 -0
- package/lib/esm/components/grouped-image/GroupedImage.styles.js +118 -0
- package/lib/esm/components/grouped-image/GroupedImage.styles.js.map +1 -0
- package/lib/esm/components/grouped-image/clip-paths/CareOfClipPath.js +27 -0
- package/lib/esm/components/grouped-image/clip-paths/CareOfClipPath.js.map +1 -0
- package/lib/esm/components/grouped-image/clip-paths/SecondImageClipPath.js +27 -0
- package/lib/esm/components/grouped-image/clip-paths/SecondImageClipPath.js.map +1 -0
- package/lib/esm/components/highlight-slider/HighlightSlider.js +41 -0
- package/lib/esm/components/highlight-slider/HighlightSlider.js.map +1 -0
- package/lib/esm/components/highlight-slider/HighlightSlider.styles.js +7 -0
- package/lib/esm/components/highlight-slider/HighlightSlider.styles.js.map +1 -0
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +50 -0
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -0
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +29 -0
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -0
- package/lib/esm/components/icon/Icon.js +22 -27
- package/lib/esm/components/icon/Icon.js.map +1 -1
- package/lib/esm/components/icon/Icon.styles.js +45 -58
- package/lib/esm/components/icon/Icon.styles.js.map +1 -1
- package/lib/esm/components/input/Input.js +58 -30
- package/lib/esm/components/input/Input.js.map +1 -1
- package/lib/esm/components/input/Input.styles.js +78 -99
- package/lib/esm/components/input/Input.styles.js.map +1 -1
- package/lib/esm/components/list/List.js +8 -10
- package/lib/esm/components/list/List.js.map +1 -1
- package/lib/esm/components/list/list-item/ListItem.js +101 -44
- package/lib/esm/components/list/list-item/ListItem.js.map +1 -1
- package/lib/esm/components/list/list-item/ListItem.styles.js +71 -54
- package/lib/esm/components/list/list-item/ListItem.styles.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-body/ListItemBody.js +8 -9
- package/lib/esm/components/list/list-item/list-item-body/ListItemBody.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-body/ListItemBody.styles.js +1 -1
- package/lib/esm/components/list/list-item/list-item-body/ListItemBody.styles.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-content/ListItemContent.js +5 -8
- package/lib/esm/components/list/list-item/list-item-content/ListItemContent.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-content/ListItemContent.styles.js +3 -6
- package/lib/esm/components/list/list-item/list-item-content/ListItemContent.styles.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js +107 -94
- package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/ListItemHead.styles.js +36 -143
- package/lib/esm/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.js +11 -14
- package/lib/esm/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js +13 -25
- package/lib/esm/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +23 -34
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js +35 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.styles.js +8 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.styles.js.map +1 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +33 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.styles.js +33 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.styles.js.map +1 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +70 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.styles.js +52 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.styles.js.map +1 -0
- package/lib/esm/components/mention-finder/MentionFinder.js +256 -34
- package/lib/esm/components/mention-finder/MentionFinder.js.map +1 -1
- package/lib/esm/components/mention-finder/MentionFinder.styles.js +120 -24
- package/lib/esm/components/mention-finder/MentionFinder.styles.js.map +1 -1
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.js +7 -8
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.js.map +1 -1
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js +21 -47
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
- package/lib/esm/components/multi-action-button/MultiActionButton.js +167 -0
- package/lib/esm/components/multi-action-button/MultiActionButton.js.map +1 -0
- package/lib/esm/components/multi-action-button/MultiActionButton.styles.js +12 -0
- package/lib/esm/components/multi-action-button/MultiActionButton.styles.js.map +1 -0
- package/lib/esm/components/multi-action-button/MultiActionButton.types.js +44 -0
- package/lib/esm/components/multi-action-button/MultiActionButton.types.js.map +1 -0
- package/lib/esm/components/multi-action-button/action-button/ActionButton.js +84 -0
- package/lib/esm/components/multi-action-button/action-button/ActionButton.js.map +1 -0
- package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js +212 -0
- package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -0
- package/lib/esm/components/number-input/NumberInput.js +28 -22
- package/lib/esm/components/number-input/NumberInput.js.map +1 -1
- package/lib/esm/components/page-provider/PageProvider.js +32 -18
- package/lib/esm/components/page-provider/PageProvider.js.map +1 -1
- package/lib/esm/components/page-provider/PageProvider.styles.js +8 -30
- package/lib/esm/components/page-provider/PageProvider.styles.js.map +1 -1
- package/lib/esm/components/popup/Popup.js +77 -78
- package/lib/esm/components/popup/Popup.js.map +1 -1
- package/lib/esm/components/popup/Popup.styles.js +13 -13
- package/lib/esm/components/popup/Popup.styles.js.map +1 -1
- package/lib/esm/components/popup/popup-content/PopupContent.js +3 -6
- package/lib/esm/components/popup/popup-content/PopupContent.js.map +1 -1
- package/lib/esm/components/popup/popup-content-wrapper/PopupContentWrapper.js +27 -21
- package/lib/esm/components/popup/popup-content-wrapper/PopupContentWrapper.js.map +1 -1
- package/lib/esm/components/popup/popup-content-wrapper/PopupContentWrapper.styles.js +60 -21
- package/lib/esm/components/popup/popup-content-wrapper/PopupContentWrapper.styles.js.map +1 -1
- package/lib/esm/components/progress-bar/ProgressBar.js +33 -12
- package/lib/esm/components/progress-bar/ProgressBar.js.map +1 -1
- package/lib/esm/components/progress-bar/ProgressBar.styles.js +72 -25
- package/lib/esm/components/progress-bar/ProgressBar.styles.js.map +1 -1
- package/lib/esm/components/radio-button/RadioButton.js +34 -14
- package/lib/esm/components/radio-button/RadioButton.js.map +1 -1
- package/lib/esm/components/radio-button/RadioButton.styles.js +37 -68
- package/lib/esm/components/radio-button/RadioButton.styles.js.map +1 -1
- package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js +12 -16
- package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
- package/lib/esm/components/scroll-view/ScrollView.js +9 -10
- package/lib/esm/components/scroll-view/ScrollView.js.map +1 -1
- package/lib/esm/components/scroll-view/ScrollView.styles.js +29 -50
- package/lib/esm/components/scroll-view/ScrollView.styles.js.map +1 -1
- package/lib/esm/components/search-box/SearchBox.js +208 -245
- package/lib/esm/components/search-box/SearchBox.js.map +1 -1
- package/lib/esm/components/search-box/SearchBox.styles.js +23 -33
- package/lib/esm/components/search-box/SearchBox.styles.js.map +1 -1
- package/lib/esm/components/search-box/group-name/GroupName.js +7 -10
- package/lib/esm/components/search-box/group-name/GroupName.js.map +1 -1
- package/lib/esm/components/search-box/group-name/GroupName.styles.js +10 -19
- package/lib/esm/components/search-box/group-name/GroupName.styles.js.map +1 -1
- package/lib/esm/components/search-box/search-box-body/SearchBoxBody.js +27 -41
- package/lib/esm/components/search-box/search-box-body/SearchBoxBody.js.map +1 -1
- package/lib/esm/components/search-box/search-box-body/SearchBoxBody.styles.js +24 -69
- package/lib/esm/components/search-box/search-box-body/SearchBoxBody.styles.js.map +1 -1
- package/lib/esm/components/search-box/search-box-item/SearchBoxItem.js +16 -13
- package/lib/esm/components/search-box/search-box-item/SearchBoxItem.js.map +1 -1
- package/lib/esm/components/search-box/search-box-item/SearchBoxItem.styles.js +20 -38
- package/lib/esm/components/search-box/search-box-item/SearchBoxItem.styles.js.map +1 -1
- package/lib/esm/components/search-input/SearchInput.js +129 -24
- package/lib/esm/components/search-input/SearchInput.js.map +1 -1
- package/lib/esm/components/search-input/SearchInput.styles.js +41 -21
- package/lib/esm/components/search-input/SearchInput.styles.js.map +1 -1
- package/lib/esm/components/select-button/SelectButton.js +23 -26
- package/lib/esm/components/select-button/SelectButton.js.map +1 -1
- package/lib/esm/components/setup-wizard/SetupWizard.js +4 -5
- package/lib/esm/components/setup-wizard/SetupWizard.js.map +1 -1
- package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +6 -7
- package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
- package/lib/esm/components/sharing-bar/SharingBar.js +8 -11
- package/lib/esm/components/sharing-bar/SharingBar.js.map +1 -1
- package/lib/esm/components/sharing-bar/SharingBar.styles.js +4 -6
- package/lib/esm/components/sharing-bar/SharingBar.styles.js.map +1 -1
- package/lib/esm/components/signature/Signature.js +8 -9
- package/lib/esm/components/signature/Signature.js.map +1 -1
- package/lib/esm/components/signature/Signature.styles.js +4 -7
- package/lib/esm/components/signature/Signature.styles.js.map +1 -1
- package/lib/esm/components/slider/Slider.js +165 -122
- package/lib/esm/components/slider/Slider.js.map +1 -1
- package/lib/esm/components/slider/Slider.styles.js +64 -71
- package/lib/esm/components/slider/Slider.styles.js.map +1 -1
- package/lib/esm/components/slider-button/SliderButton.js +97 -80
- package/lib/esm/components/slider-button/SliderButton.js.map +1 -1
- package/lib/esm/components/slider-button/SliderButton.styles.js +36 -75
- package/lib/esm/components/slider-button/SliderButton.styles.js.map +1 -1
- package/lib/esm/components/small-wait-cursor/SmallWaitCursor.js +15 -18
- package/lib/esm/components/small-wait-cursor/SmallWaitCursor.js.map +1 -1
- package/lib/esm/components/small-wait-cursor/SmallWaitCursor.styles.js +33 -50
- package/lib/esm/components/small-wait-cursor/SmallWaitCursor.styles.js.map +1 -1
- package/lib/esm/components/tag-input/TagInput.js +93 -68
- package/lib/esm/components/tag-input/TagInput.js.map +1 -1
- package/lib/esm/components/tag-input/TagInput.styles.js +14 -12
- package/lib/esm/components/tag-input/TagInput.styles.js.map +1 -1
- package/lib/esm/components/text-area/TextArea.js +15 -14
- package/lib/esm/components/text-area/TextArea.js.map +1 -1
- package/lib/esm/components/text-area/TextArea.styles.js +34 -60
- package/lib/esm/components/text-area/TextArea.styles.js.map +1 -1
- package/lib/esm/components/tooltip/Tooltip.js +27 -17
- package/lib/esm/components/tooltip/Tooltip.js.map +1 -1
- package/lib/esm/components/tooltip/Tooltip.styles.js +20 -12
- package/lib/esm/components/tooltip/Tooltip.styles.js.map +1 -1
- package/lib/esm/components/tooltip/tooltip-item/TooltipItem.js +15 -16
- package/lib/esm/components/tooltip/tooltip-item/TooltipItem.js.map +1 -1
- package/lib/esm/components/tooltip/tooltip-item/TooltipItem.styles.js +27 -25
- package/lib/esm/components/tooltip/tooltip-item/TooltipItem.styles.js.map +1 -1
- package/lib/esm/components/truncation/Truncation.js +20 -12
- package/lib/esm/components/truncation/Truncation.js.map +1 -1
- package/lib/esm/components/truncation/Truncation.styles.js +4 -5
- package/lib/esm/components/truncation/Truncation.styles.js.map +1 -1
- package/lib/esm/components/verification-badge/VerificationBadge.js +8 -0
- package/lib/esm/components/verification-badge/VerificationBadge.js.map +1 -0
- package/lib/esm/components/verification-badge/VerificationBadge.styles.js +3 -0
- package/lib/esm/components/verification-badge/VerificationBadge.styles.js.map +1 -0
- package/lib/esm/constants/list.js +5 -0
- package/lib/esm/constants/list.js.map +1 -0
- package/lib/esm/hooks/container.js +47 -0
- package/lib/esm/hooks/container.js.map +1 -0
- package/lib/esm/hooks/dropdown.js +141 -0
- package/lib/esm/hooks/dropdown.js.map +1 -0
- package/lib/esm/hooks/element.js +140 -0
- package/lib/esm/hooks/element.js.map +1 -0
- package/lib/esm/hooks/ref.js +20 -0
- package/lib/esm/hooks/ref.js.map +1 -0
- package/lib/esm/hooks/resize.js +40 -0
- package/lib/esm/hooks/resize.js.map +1 -0
- package/lib/esm/index.js +21 -5
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types/chayns.js +1 -1
- package/lib/esm/types/contentCard.js +1 -0
- package/lib/esm/types/contentCard.js.map +1 -1
- package/lib/esm/types/contextMenu.js +0 -9
- package/lib/esm/types/contextMenu.js.map +1 -1
- package/lib/esm/types/dropdown.js +12 -0
- package/lib/esm/types/dropdown.js.map +1 -0
- package/lib/esm/types/file.js +1 -1
- package/lib/esm/types/fileInput.js +1 -1
- package/lib/esm/types/filter.js +9 -0
- package/lib/esm/types/filter.js.map +1 -0
- package/lib/esm/types/filterButtons.js.map +1 -1
- package/lib/esm/types/general.js +2 -0
- package/lib/esm/types/general.js.map +1 -0
- package/lib/esm/types/global.d.js +2 -0
- package/lib/esm/types/global.d.js.map +1 -0
- package/lib/esm/types/list.js +1 -1
- package/lib/esm/types/popup.js.map +1 -1
- package/lib/esm/types/radioButton.js +1 -1
- package/lib/esm/types/searchBox.js +1 -1
- package/lib/esm/types/selectButton.js +1 -1
- package/lib/esm/types/selectButton.js.map +1 -1
- package/lib/esm/types/sharingBar.js +1 -1
- package/lib/esm/types/signature.js +1 -1
- package/lib/esm/types/slider-button.js +1 -1
- package/lib/esm/types/tagInput.js +1 -1
- package/lib/esm/types/tagInput.js.map +1 -1
- package/lib/esm/types/tooltip.js +1 -1
- package/lib/esm/utils/accordion.js +24 -11
- package/lib/esm/utils/accordion.js.map +1 -1
- package/lib/esm/utils/amountControl.js +5 -6
- package/lib/esm/utils/amountControl.js.map +1 -1
- package/lib/esm/utils/calculate.js +50 -23
- package/lib/esm/utils/calculate.js.map +1 -1
- package/lib/esm/utils/debounce.js +6 -11
- package/lib/esm/utils/debounce.js.map +1 -1
- package/lib/esm/utils/environment.js +8 -1
- package/lib/esm/utils/environment.js.map +1 -1
- package/lib/esm/utils/file.js +12 -19
- package/lib/esm/utils/file.js.map +1 -1
- package/lib/esm/utils/fileDialog.js +138 -68
- package/lib/esm/utils/fileDialog.js.map +1 -1
- package/lib/esm/utils/font.js +5 -18
- package/lib/esm/utils/font.js.map +1 -1
- package/lib/esm/utils/groupedImage.js +60 -0
- package/lib/esm/utils/groupedImage.js.map +1 -0
- package/lib/esm/utils/icon.js +7 -0
- package/lib/esm/utils/icon.js.map +1 -1
- package/lib/esm/utils/isTobitEmployee.js +3 -4
- package/lib/esm/utils/isTobitEmployee.js.map +1 -1
- package/lib/esm/utils/numberInput.js +18 -18
- package/lib/esm/utils/numberInput.js.map +1 -1
- package/lib/esm/utils/pageProvider.js +7 -2
- package/lib/esm/utils/pageProvider.js.map +1 -1
- package/lib/esm/utils/searchBox.js +4 -5
- package/lib/esm/utils/searchBox.js.map +1 -1
- package/lib/esm/utils/slider.js +28 -36
- package/lib/esm/utils/slider.js.map +1 -1
- package/lib/esm/utils/sliderButton.js +9 -11
- package/lib/esm/utils/sliderButton.js.map +1 -1
- package/lib/esm/utils/uploadFile.js +7 -7
- package/lib/esm/utils/uploadFile.js.map +1 -1
- package/lib/types/api/theme/get.d.ts +3 -3
- package/lib/types/components/accordion/Accordion.d.ts +10 -1
- package/lib/types/components/accordion/Accordion.styles.d.ts +3 -264
- package/lib/types/components/accordion/accordion-body/AccordionBody.d.ts +4 -0
- package/lib/types/components/accordion/accordion-body/AccordionBody.styles.d.ts +3 -264
- package/lib/types/components/accordion/accordion-content/AccordionContent.styles.d.ts +1 -2
- package/lib/types/components/accordion/accordion-head/AccordionHead.d.ts +3 -2
- package/lib/types/components/accordion/accordion-head/AccordionHead.styles.d.ts +35 -2687
- package/lib/types/components/accordion/accordion-intro/AccordionIntro.styles.d.ts +1 -1
- package/lib/types/components/accordion/accordion-item/AccordionItem.styles.d.ts +1 -1
- package/lib/types/components/amount-control/AmountControl.d.ts +8 -4
- package/lib/types/components/amount-control/AmountControl.styles.d.ts +11 -279
- package/lib/types/components/animated-number/AnimatedNumber.d.ts +47 -0
- package/lib/types/components/area-provider/AreaContextProvider.d.ts +6 -1
- package/lib/types/components/badge/Badge.constants.d.ts +10 -0
- package/lib/types/components/badge/Badge.d.ts +2 -23
- package/lib/types/components/badge/Badge.styles.d.ts +7 -1
- package/lib/types/components/badge/Badge.types.d.ts +79 -0
- package/lib/types/components/button/Button.d.ts +2 -43
- package/lib/types/components/button/Button.styles.d.ts +11 -807
- package/lib/types/components/button/Button.types.d.ts +92 -0
- package/lib/types/components/button/wait-cursor/WaitCursor.styles.d.ts +3 -3
- package/lib/types/components/checkbox/Checkbox.styles.d.ts +9 -5
- package/lib/types/components/color-scheme-provider/ColorSchemeProvider.d.ts +9 -25
- package/lib/types/components/color-scheme-provider/ColorSchemeProvider.styles.d.ts +1 -1
- package/lib/types/components/color-scheme-provider/hooks/useChaynsTheme.d.ts +21 -0
- package/lib/types/components/color-scheme-provider/hooks/useDesignSettings.d.ts +9 -0
- package/lib/types/components/color-scheme-provider/hooks/useParagraphFormat.d.ts +2 -0
- package/lib/types/components/combobox/ComboBox.d.ts +36 -9
- package/lib/types/components/combobox/ComboBox.styles.d.ts +27 -281
- package/lib/types/components/combobox/combobox-item/ComboBoxItem.d.ts +2 -12
- package/lib/types/components/combobox/combobox-item/ComboBoxItem.styles.d.ts +9 -8
- package/lib/types/components/content-card/ContentCard.styles.d.ts +1 -1
- package/lib/types/components/context-menu/ContextMenu.d.ts +2 -57
- package/lib/types/components/context-menu/ContextMenu.styles.d.ts +7 -1
- package/lib/types/components/context-menu/ContextMenu.types.d.ts +147 -0
- package/lib/types/components/context-menu/ContextMenu.utils.d.ts +2 -0
- package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.d.ts +8 -2
- package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +16 -268
- package/lib/types/components/dropdown-body-wrapper/DropdownBodyWrapper.d.ts +56 -0
- package/lib/types/components/dropdown-body-wrapper/DropdownBodyWrapper.styles.d.ts +11 -0
- package/lib/types/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.d.ts +26 -0
- package/lib/types/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.d.ts +11 -0
- package/lib/types/components/expandable-content/ExpandableContent.d.ts +4 -0
- package/lib/types/components/expandable-content/ExpandableContent.styles.d.ts +3 -268
- package/lib/types/components/file-input/FileInput.d.ts +11 -4
- package/lib/types/components/file-input/FileInput.styles.d.ts +9 -272
- package/lib/types/components/file-list/FileList.d.ts +19 -0
- package/lib/types/components/file-list/FileList.styles.d.ts +1 -0
- package/lib/types/components/file-list/file-item/FileItem.d.ts +7 -0
- package/lib/types/components/file-list/file-item/FileItem.styles.d.ts +1 -0
- package/lib/types/components/file-select/FileSelect.d.ts +50 -0
- package/lib/types/components/file-select/FileSelect.styles.d.ts +21 -0
- package/lib/types/components/filter/Filter.d.ts +19 -0
- package/lib/types/components/filter/Filter.styles.d.ts +24 -0
- package/lib/types/components/filter/filter-content/FIlterContent.d.ts +11 -0
- package/lib/types/components/filter/filter-content/FilterContent.styles.d.ts +11 -0
- package/lib/types/components/filter-buttons/FilterButtons.styles.d.ts +1 -1
- package/lib/types/components/filter-buttons/filter-button/FilterButton.d.ts +1 -0
- package/lib/types/components/filter-buttons/filter-button/FilterButton.styles.d.ts +9 -269
- package/lib/types/components/grid-image/GridImage.styles.d.ts +4 -4
- package/lib/types/components/grouped-image/GroupedImage.d.ts +41 -0
- package/lib/types/components/grouped-image/GroupedImage.styles.d.ts +24 -0
- package/lib/types/components/grouped-image/clip-paths/CareOfClipPath.d.ts +10 -0
- package/lib/types/components/grouped-image/clip-paths/SecondImageClipPath.d.ts +10 -0
- package/lib/types/components/highlight-slider/HighlightSlider.d.ts +26 -0
- package/lib/types/components/highlight-slider/HighlightSlider.styles.d.ts +1 -0
- package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.d.ts +16 -0
- package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.d.ts +15 -0
- package/lib/types/components/icon/Icon.d.ts +67 -9
- package/lib/types/components/icon/Icon.styles.d.ts +6 -2
- package/lib/types/components/input/Input.d.ts +18 -4
- package/lib/types/components/input/Input.styles.d.ts +21 -803
- package/lib/types/components/list/list-item/ListItem.d.ts +52 -3
- package/lib/types/components/list/list-item/ListItem.styles.d.ts +9 -267
- package/lib/types/components/list/list-item/list-item-body/ListItemBody.d.ts +3 -2
- package/lib/types/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +3 -266
- package/lib/types/components/list/list-item/list-item-content/ListItemContent.styles.d.ts +1 -1
- package/lib/types/components/list/list-item/list-item-head/ListItemHead.d.ts +9 -1
- package/lib/types/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +11 -1081
- package/lib/types/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.d.ts +1 -1
- package/lib/types/components/list/list-item/list-item-head/list-item-image/ListItemImage.d.ts +5 -1
- package/lib/types/components/list/list-item/list-item-head/{list-item-right-elements/ListItemRightElements.d.ts → list-item-right-element/ListItemRightElement.d.ts} +3 -3
- package/lib/types/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.styles.d.ts +1 -0
- package/lib/types/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.d.ts +9 -0
- package/lib/types/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.styles.d.ts +8 -0
- package/lib/types/components/list/list-item/list-item-head/list-item-title/ListItemTitle.d.ts +13 -0
- package/lib/types/components/list/list-item/list-item-head/list-item-title/ListItemTitle.styles.d.ts +11 -0
- package/lib/types/components/mention-finder/MentionFinder.d.ts +14 -2
- package/lib/types/components/mention-finder/MentionFinder.styles.d.ts +20 -265
- package/lib/types/components/mention-finder/mention-finder-item/MentionFinderItem.styles.d.ts +5 -5
- package/lib/types/components/multi-action-button/MultiActionButton.d.ts +7 -0
- package/lib/types/components/multi-action-button/MultiActionButton.styles.d.ts +3 -0
- package/lib/types/components/multi-action-button/MultiActionButton.types.d.ts +188 -0
- package/lib/types/components/multi-action-button/action-button/ActionButton.d.ts +25 -0
- package/lib/types/components/multi-action-button/action-button/ActionButton.styles.d.ts +26 -0
- package/lib/types/components/number-input/NumberInput.d.ts +4 -0
- package/lib/types/components/page-provider/PageProvider.d.ts +34 -2
- package/lib/types/components/page-provider/PageProvider.styles.d.ts +1 -1
- package/lib/types/components/popup/Popup.d.ts +13 -1
- package/lib/types/components/popup/Popup.styles.d.ts +3 -2
- package/lib/types/components/popup/popup-content/PopupContent.styles.d.ts +1 -1
- package/lib/types/components/popup/popup-content-wrapper/PopupContentWrapper.d.ts +2 -0
- package/lib/types/components/popup/popup-content-wrapper/PopupContentWrapper.styles.d.ts +10 -264
- package/lib/types/components/progress-bar/ProgressBar.d.ts +22 -1
- package/lib/types/components/progress-bar/ProgressBar.styles.d.ts +30 -274
- package/lib/types/components/radio-button/RadioButton.d.ts +4 -0
- package/lib/types/components/radio-button/RadioButton.styles.d.ts +11 -272
- package/lib/types/components/radio-button/radio-button-group/RadioButtonGroup.d.ts +2 -2
- package/lib/types/components/scroll-view/ScrollView.styles.d.ts +1 -1
- package/lib/types/components/search-box/SearchBox.d.ts +38 -6
- package/lib/types/components/search-box/SearchBox.styles.d.ts +7 -267
- package/lib/types/components/search-box/group-name/GroupName.styles.d.ts +1 -1
- package/lib/types/components/search-box/search-box-body/SearchBoxBody.d.ts +1 -7
- package/lib/types/components/search-box/search-box-body/SearchBoxBody.styles.d.ts +4 -270
- package/lib/types/components/search-box/search-box-item/SearchBoxItem.d.ts +1 -0
- package/lib/types/components/search-box/search-box-item/SearchBoxItem.styles.d.ts +3 -3
- package/lib/types/components/search-input/SearchInput.d.ts +11 -3
- package/lib/types/components/search-input/SearchInput.styles.d.ts +13 -533
- package/lib/types/components/select-button/SelectButton.d.ts +2 -2
- package/lib/types/components/select-button/SelectButton.styles.d.ts +1 -1
- package/lib/types/components/setup-wizard/SetupWizard.d.ts +2 -2
- package/lib/types/components/setup-wizard/SetupWizard.styles.d.ts +1 -1
- package/lib/types/components/setup-wizard/setup-wizard-item/SetupWizardItem.styles.d.ts +1 -1
- package/lib/types/components/sharing-bar/SharingBar.d.ts +1 -5
- package/lib/types/components/sharing-bar/SharingBar.styles.d.ts +3 -3
- package/lib/types/components/signature/Signature.styles.d.ts +4 -4
- package/lib/types/components/slider/Slider.d.ts +106 -9
- package/lib/types/components/slider/Slider.styles.d.ts +17 -595
- package/lib/types/components/slider-button/SliderButton.d.ts +10 -6
- package/lib/types/components/slider-button/SliderButton.styles.d.ts +10 -270
- package/lib/types/components/small-wait-cursor/SmallWaitCursor.d.ts +23 -8
- package/lib/types/components/small-wait-cursor/SmallWaitCursor.styles.d.ts +6 -6
- package/lib/types/components/tag-input/TagInput.d.ts +32 -3
- package/lib/types/components/tag-input/TagInput.styles.d.ts +10 -6
- package/lib/types/components/text-area/TextArea.styles.d.ts +6 -6
- package/lib/types/components/tooltip/Tooltip.d.ts +13 -0
- package/lib/types/components/tooltip/Tooltip.styles.d.ts +3 -2
- package/lib/types/components/tooltip/tooltip-item/TooltipItem.d.ts +1 -0
- package/lib/types/components/tooltip/tooltip-item/TooltipItem.styles.d.ts +6 -5
- package/lib/types/components/truncation/Truncation.styles.d.ts +7 -270
- package/lib/types/components/verification-badge/VerificationBadge.d.ts +6 -0
- package/lib/types/components/verification-badge/VerificationBadge.styles.d.ts +1 -0
- package/lib/types/constants/list.d.ts +4 -0
- package/lib/types/hooks/container.d.ts +18 -0
- package/lib/types/hooks/dropdown.d.ts +46 -0
- package/lib/types/hooks/element.d.ts +17 -0
- package/lib/types/hooks/ref.d.ts +3 -0
- package/lib/types/hooks/resize.d.ts +6 -0
- package/lib/types/index.d.ts +31 -10
- package/lib/types/types/contentCard.d.ts +2 -1
- package/lib/types/types/contextMenu.d.ts +0 -8
- package/lib/types/types/dropdown.d.ts +26 -0
- package/lib/types/types/filter.d.ts +28 -0
- package/lib/types/types/filterButtons.d.ts +1 -0
- package/lib/types/types/general.d.ts +4 -0
- package/lib/types/types/popup.d.ts +2 -2
- package/lib/types/types/selectButton.d.ts +1 -1
- package/lib/types/types/tagInput.d.ts +2 -0
- package/lib/types/utils/calculate.d.ts +13 -3
- package/lib/types/utils/environment.d.ts +1 -1
- package/lib/types/utils/file.d.ts +3 -2
- package/lib/types/utils/font.d.ts +0 -1
- package/lib/types/utils/groupedImage.d.ts +11 -0
- package/lib/types/utils/icon.d.ts +1 -0
- package/lib/types/utils/numberInput.d.ts +1 -1
- package/lib/types/utils/pageProvider.d.ts +5 -1
- package/lib/types/utils/slider.d.ts +6 -5
- package/lib/types/utils/sliderButton.d.ts +1 -1
- package/package.json +20 -22
- package/lib/cjs/components/file-input/file-list/FileListItem.js +0 -36
- package/lib/cjs/components/file-input/file-list/FileListItem.js.map +0 -1
- package/lib/cjs/components/file-input/file-list/FileListItem.styles.js.map +0 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js +0 -47
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map +0 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.js +0 -58
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.js.map +0 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.styles.js +0 -57
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.styles.js.map +0 -1
- package/lib/cjs/hooks/useElementSize.js +0 -28
- package/lib/cjs/hooks/useElementSize.js.map +0 -1
- package/lib/cjs/types/comboBox.js +0 -12
- package/lib/cjs/types/comboBox.js.map +0 -1
- package/lib/cjs/utils/checkBox.js +0 -29
- package/lib/cjs/utils/checkBox.js.map +0 -1
- package/lib/esm/components/file-input/file-list/FileListItem.js +0 -28
- package/lib/esm/components/file-input/file-list/FileListItem.js.map +0 -1
- package/lib/esm/components/file-input/file-list/FileListItem.styles.js +0 -3
- package/lib/esm/components/file-input/file-list/FileListItem.styles.js.map +0 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js +0 -54
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map +0 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.js +0 -51
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.js.map +0 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.styles.js +0 -56
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.styles.js.map +0 -1
- package/lib/esm/hooks/useElementSize.js +0 -20
- package/lib/esm/hooks/useElementSize.js.map +0 -1
- package/lib/esm/types/comboBox.js +0 -6
- package/lib/esm/types/comboBox.js.map +0 -1
- package/lib/esm/utils/checkBox.js +0 -22
- package/lib/esm/utils/checkBox.js.map +0 -1
- package/lib/types/components/file-input/file-list/FileListItem.d.ts +0 -10
- package/lib/types/components/file-input/file-list/FileListItem.styles.d.ts +0 -1
- package/lib/types/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.d.ts +0 -13
- package/lib/types/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.styles.d.ts +0 -14
- package/lib/types/hooks/useElementSize.d.ts +0 -6
- package/lib/types/types/comboBox.d.ts +0 -4
- package/lib/types/utils/checkBox.d.ts +0 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { createDialog, DialogType } from 'chayns-api';
|
|
2
|
+
import React, { useCallback, useMemo } from 'react';
|
|
3
|
+
import { isValidFileType } from '../../utils/file';
|
|
4
|
+
import { selectFiles } from '../../utils/fileDialog';
|
|
5
|
+
import Icon from '../icon/Icon';
|
|
6
|
+
import { StyledFileSelect, StyledFileSelectContainer, StyledFileSelectText, StyledFileSelectWrapper } from './FileSelect.styles';
|
|
7
|
+
var DialogView = /*#__PURE__*/function (DialogView) {
|
|
8
|
+
DialogView["PIXABAY"] = "pixabay";
|
|
9
|
+
DialogView["EDITOR"] = "editor";
|
|
10
|
+
return DialogView;
|
|
11
|
+
}(DialogView || {});
|
|
12
|
+
const FileSelect = ({
|
|
13
|
+
fileSelectionIcons = ['fa fa-upload'],
|
|
14
|
+
imageSelectIcons = ['ts-image'],
|
|
15
|
+
fileTypes,
|
|
16
|
+
isDisabled,
|
|
17
|
+
maxFileSizeInMB,
|
|
18
|
+
onAdd,
|
|
19
|
+
fileSelectionPlaceholder = 'Dateien hochladen',
|
|
20
|
+
imageSelectPlaceholder,
|
|
21
|
+
shouldPreventImageUpload = false
|
|
22
|
+
}) => {
|
|
23
|
+
const handleAddImages = useCallback(images => {
|
|
24
|
+
if (typeof onAdd === 'function') {
|
|
25
|
+
onAdd(images);
|
|
26
|
+
}
|
|
27
|
+
}, [onAdd]);
|
|
28
|
+
const handleAddFiles = useCallback(newFiles => {
|
|
29
|
+
if (typeof onAdd === 'function') {
|
|
30
|
+
onAdd(newFiles);
|
|
31
|
+
}
|
|
32
|
+
}, [onAdd]);
|
|
33
|
+
const handleOpenEditor = useCallback(async file => {
|
|
34
|
+
const {
|
|
35
|
+
buttonType,
|
|
36
|
+
result
|
|
37
|
+
} = await createDialog({
|
|
38
|
+
dialogInput: {
|
|
39
|
+
upload: true,
|
|
40
|
+
initialView: DialogView.EDITOR,
|
|
41
|
+
imageArrayBuffer: file
|
|
42
|
+
},
|
|
43
|
+
type: DialogType.MODULE,
|
|
44
|
+
system: {
|
|
45
|
+
url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',
|
|
46
|
+
scope: 'dialog_image_editor',
|
|
47
|
+
module: './ImageEditorEntry'
|
|
48
|
+
},
|
|
49
|
+
buttons: []
|
|
50
|
+
}).open();
|
|
51
|
+
if (buttonType === 1 && result?.url) handleAddImages([{
|
|
52
|
+
url: result.url,
|
|
53
|
+
size: file.size,
|
|
54
|
+
name: file.name
|
|
55
|
+
}]);
|
|
56
|
+
}, [handleAddImages]);
|
|
57
|
+
const handleImageSelectionClick = useCallback(async () => {
|
|
58
|
+
if (isDisabled) return;
|
|
59
|
+
const {
|
|
60
|
+
buttonType,
|
|
61
|
+
result
|
|
62
|
+
} = await createDialog({
|
|
63
|
+
dialogInput: {
|
|
64
|
+
upload: true,
|
|
65
|
+
initialView: DialogView.PIXABAY
|
|
66
|
+
},
|
|
67
|
+
type: DialogType.MODULE,
|
|
68
|
+
system: {
|
|
69
|
+
url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',
|
|
70
|
+
scope: 'dialog_image_editor',
|
|
71
|
+
module: './ImageEditorEntry'
|
|
72
|
+
},
|
|
73
|
+
buttons: []
|
|
74
|
+
}).open();
|
|
75
|
+
if (buttonType === 1 && result?.url) handleAddImages([{
|
|
76
|
+
url: result.url
|
|
77
|
+
}]);
|
|
78
|
+
}, [handleAddImages, isDisabled]);
|
|
79
|
+
const handleFileSelectionClick = useCallback(async () => {
|
|
80
|
+
if (isDisabled) return;
|
|
81
|
+
const newFiles = await selectFiles({
|
|
82
|
+
multiple: true,
|
|
83
|
+
type: fileTypes,
|
|
84
|
+
maxFileSizeInMB
|
|
85
|
+
});
|
|
86
|
+
if (newFiles.length === 1 && newFiles[0] && newFiles[0].type.startsWith('image') && !shouldPreventImageUpload) {
|
|
87
|
+
void handleOpenEditor(newFiles[0]);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
handleAddFiles(newFiles);
|
|
91
|
+
}, [fileTypes, handleAddFiles, handleOpenEditor, isDisabled, maxFileSizeInMB, shouldPreventImageUpload]);
|
|
92
|
+
const handleDrop = useCallback(e => {
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
const draggedFiles = Array.from(e.dataTransfer.files).filter(file => {
|
|
95
|
+
if (fileTypes && !isValidFileType({
|
|
96
|
+
file,
|
|
97
|
+
types: fileTypes
|
|
98
|
+
})) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return !(maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024);
|
|
102
|
+
});
|
|
103
|
+
if (draggedFiles.length === 1 && draggedFiles[0] && draggedFiles[0].type.startsWith('image') && !shouldPreventImageUpload) {
|
|
104
|
+
void handleOpenEditor(draggedFiles[0]);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
handleAddFiles(draggedFiles);
|
|
108
|
+
}, [shouldPreventImageUpload, handleAddFiles, fileTypes, maxFileSizeInMB, handleOpenEditor]);
|
|
109
|
+
return useMemo(() => /*#__PURE__*/React.createElement(StyledFileSelect, null, /*#__PURE__*/React.createElement(StyledFileSelectWrapper, {
|
|
110
|
+
$isDisabled: isDisabled
|
|
111
|
+
}, /*#__PURE__*/React.createElement(StyledFileSelectContainer, {
|
|
112
|
+
onClick: () => void handleFileSelectionClick(),
|
|
113
|
+
onDragOver: e => e.preventDefault(),
|
|
114
|
+
onDrop: handleDrop
|
|
115
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
116
|
+
icons: fileSelectionIcons
|
|
117
|
+
}), /*#__PURE__*/React.createElement(StyledFileSelectText, null, fileSelectionPlaceholder)), imageSelectPlaceholder && /*#__PURE__*/React.createElement(StyledFileSelectContainer, {
|
|
118
|
+
$isImageSelection: true,
|
|
119
|
+
onClick: () => void handleImageSelectionClick()
|
|
120
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
121
|
+
icons: imageSelectIcons
|
|
122
|
+
}), /*#__PURE__*/React.createElement(StyledFileSelectText, null, imageSelectPlaceholder)))), [isDisabled, fileSelectionIcons, fileSelectionPlaceholder, imageSelectPlaceholder, imageSelectIcons, handleFileSelectionClick, handleDrop, handleImageSelectionClick]);
|
|
123
|
+
};
|
|
124
|
+
FileSelect.displayName = 'FileSelect';
|
|
125
|
+
export default FileSelect;
|
|
126
|
+
//# sourceMappingURL=FileSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSelect.js","names":["createDialog","DialogType","React","useCallback","useMemo","isValidFileType","selectFiles","Icon","StyledFileSelect","StyledFileSelectContainer","StyledFileSelectText","StyledFileSelectWrapper","DialogView","FileSelect","fileSelectionIcons","imageSelectIcons","fileTypes","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","shouldPreventImageUpload","handleAddImages","images","handleAddFiles","newFiles","handleOpenEditor","file","buttonType","result","dialogInput","upload","initialView","EDITOR","imageArrayBuffer","type","MODULE","system","url","scope","module","buttons","open","size","name","handleImageSelectionClick","PIXABAY","handleFileSelectionClick","multiple","length","startsWith","handleDrop","e","preventDefault","draggedFiles","Array","from","dataTransfer","files","filter","types","createElement","$isDisabled","onClick","onDragOver","onDrop","icons","$isImageSelection","displayName"],"sources":["../../../../src/components/file-select/FileSelect.tsx"],"sourcesContent":["import { createDialog, DialogType } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useMemo } from 'react';\nimport type { ImageDialogResult } from '../../types/fileInput';\nimport { isValidFileType } from '../../utils/file';\nimport { selectFiles } from '../../utils/fileDialog';\nimport Icon from '../icon/Icon';\nimport {\n StyledFileSelect,\n StyledFileSelectContainer,\n StyledFileSelectText,\n StyledFileSelectWrapper,\n} from './FileSelect.styles';\n\nenum DialogView {\n PIXABAY = 'pixabay',\n EDITOR = 'editor',\n}\n\ntype DialogInput = {\n upload: boolean;\n initialView: DialogView;\n imageArrayBuffer?: File;\n};\n\nexport interface UploadedFile {\n url: string;\n size?: number;\n name?: string;\n}\n\nexport type FileSelectProps = {\n /**\n * An array of icons that should be displayed inside the FileInput\n */\n fileSelectionIcons?: string[];\n /**\n * The text that should be displayed inside the FileInput.\n */\n fileSelectionPlaceholder?: string;\n /**\n * The filetypes that could be selected. Example for multiple types: 'image/*, video/*'.\n */\n fileTypes?: string;\n /**\n * The icon of the image selection.\n */\n imageSelectIcons?: string[];\n /**\n * If set, pictures can be select via Pixabay.\n */\n imageSelectPlaceholder?: string;\n /**\n * Whether the FileInput is disabled.\n */\n isDisabled?: boolean;\n /**\n * The maximum amount of Files that can be uploaded.\n */\n maxFiles?: number;\n /**\n * The maximum size of a file in MB.\n */\n maxFileSizeInMB?: number;\n /**\n * A function to be executed when files are added.\n */\n onAdd?: (files: File[] | UploadedFile[]) => void;\n /**\n * Whether the image upload should be prevented.\n */\n shouldPreventImageUpload?: boolean;\n};\n\nconst FileSelect: FC<FileSelectProps> = ({\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n shouldPreventImageUpload = false,\n}) => {\n const handleAddImages = useCallback(\n (images: UploadedFile[]) => {\n if (typeof onAdd === 'function') {\n onAdd(images);\n }\n },\n [onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n if (typeof onAdd === 'function') {\n onAdd(newFiles);\n }\n },\n [onAdd],\n );\n\n const handleOpenEditor = useCallback(\n async (file: File) => {\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: {\n upload: true,\n initialView: DialogView.EDITOR,\n imageArrayBuffer: file,\n },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url)\n handleAddImages([\n {\n url: result.url,\n size: file.size,\n name: file.name,\n },\n ]);\n },\n [handleAddImages],\n );\n\n const handleImageSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: { upload: true, initialView: DialogView.PIXABAY },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([{ url: result.url }]);\n }, [handleAddImages, isDisabled]);\n\n const handleFileSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const newFiles = await selectFiles({ multiple: true, type: fileTypes, maxFileSizeInMB });\n\n if (\n newFiles.length === 1 &&\n newFiles[0] &&\n newFiles[0].type.startsWith('image') &&\n !shouldPreventImageUpload\n ) {\n void handleOpenEditor(newFiles[0]);\n\n return;\n }\n\n handleAddFiles(newFiles);\n }, [\n fileTypes,\n handleAddFiles,\n handleOpenEditor,\n isDisabled,\n maxFileSizeInMB,\n shouldPreventImageUpload,\n ]);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const draggedFiles = Array.from(e.dataTransfer.files).filter((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return false;\n }\n\n return !(maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024);\n });\n\n if (\n draggedFiles.length === 1 &&\n draggedFiles[0] &&\n draggedFiles[0].type.startsWith('image') &&\n !shouldPreventImageUpload\n ) {\n void handleOpenEditor(draggedFiles[0]);\n\n return;\n }\n\n handleAddFiles(draggedFiles);\n },\n [shouldPreventImageUpload, handleAddFiles, fileTypes, maxFileSizeInMB, handleOpenEditor],\n );\n\n return useMemo(\n () => (\n <StyledFileSelect>\n <StyledFileSelectWrapper $isDisabled={isDisabled}>\n <StyledFileSelectContainer\n onClick={() => void handleFileSelectionClick()}\n onDragOver={(e) => e.preventDefault()}\n onDrop={handleDrop}\n >\n <Icon icons={fileSelectionIcons} />\n <StyledFileSelectText>{fileSelectionPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n {imageSelectPlaceholder && (\n <StyledFileSelectContainer\n $isImageSelection\n onClick={() => void handleImageSelectionClick()}\n >\n <Icon icons={imageSelectIcons} />\n <StyledFileSelectText>{imageSelectPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n )}\n </StyledFileSelectWrapper>\n </StyledFileSelect>\n ),\n [\n isDisabled,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectPlaceholder,\n imageSelectIcons,\n handleFileSelectionClick,\n handleDrop,\n handleImageSelectionClick,\n ],\n );\n};\n\nFileSelect.displayName = 'FileSelect';\n\nexport default FileSelect;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { motion } from 'motion/react';
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
export const StyledFileSelect = styled.div``;
|
|
4
|
+
export const StyledFileSelectWrapper = styled.div`
|
|
5
|
+
display: flex;
|
|
6
|
+
|
|
7
|
+
cursor: ${({
|
|
8
|
+
$isDisabled
|
|
9
|
+
}) => $isDisabled ? 'default' : 'pointer'};
|
|
10
|
+
opacity: ${({
|
|
11
|
+
$isDisabled
|
|
12
|
+
}) => $isDisabled ? 0.5 : 1};
|
|
13
|
+
`;
|
|
14
|
+
export const StyledUploadedFilesList = styled.div`
|
|
15
|
+
${({
|
|
16
|
+
$shouldShowBorder,
|
|
17
|
+
theme
|
|
18
|
+
}) => $shouldShowBorder && css`
|
|
19
|
+
border-top: 1px solid ${theme.headline};
|
|
20
|
+
`}
|
|
21
|
+
`;
|
|
22
|
+
export const StyledFileSelectContainer = styled.div`
|
|
23
|
+
border: ${({
|
|
24
|
+
theme
|
|
25
|
+
}) => theme.text} 1px dashed;
|
|
26
|
+
display: flex;
|
|
27
|
+
gap: 10px;
|
|
28
|
+
align-items: center;
|
|
29
|
+
padding: 15px;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
width: 100%;
|
|
32
|
+
|
|
33
|
+
${({
|
|
34
|
+
$isImageSelection
|
|
35
|
+
}) => $isImageSelection && css`
|
|
36
|
+
border-left: none;
|
|
37
|
+
`}
|
|
38
|
+
`;
|
|
39
|
+
export const StyledFileSelectText = styled.p`
|
|
40
|
+
color: ${({
|
|
41
|
+
theme
|
|
42
|
+
}) => theme.text};
|
|
43
|
+
`;
|
|
44
|
+
export const StyledMotionFileSelectList = styled(motion.div)``;
|
|
45
|
+
//# sourceMappingURL=FileSelect.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSelect.styles.js","names":["motion","styled","css","StyledFileSelect","div","StyledFileSelectWrapper","$isDisabled","StyledUploadedFilesList","$shouldShowBorder","theme","headline","StyledFileSelectContainer","text","$isImageSelection","StyledFileSelectText","p","StyledMotionFileSelectList"],"sources":["../../../../src/components/file-select/FileSelect.styles.ts"],"sourcesContent":["import { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\nexport const StyledFileSelect = styled.div``;\n\ntype StyledFileSelectWrapperProps = WithTheme<{\n $isDisabled?: boolean;\n}>;\n\nexport const StyledFileSelectWrapper = styled.div<StyledFileSelectWrapperProps>`\n display: flex;\n\n cursor: ${({ $isDisabled }) => ($isDisabled ? 'default' : 'pointer')};\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};\n`;\n\ntype StyledFileSelectContainerProps = WithTheme<{\n $isImageSelection?: boolean;\n}>;\n\ntype StyledUploadedFilesListProps = WithTheme<{ $shouldShowBorder: boolean }>;\n\nexport const StyledUploadedFilesList = styled.div<StyledUploadedFilesListProps>`\n ${({ $shouldShowBorder, theme }: StyledUploadedFilesListProps) =>\n $shouldShowBorder &&\n css`\n border-top: 1px solid ${theme.headline};\n `}\n`;\n\nexport const StyledFileSelectContainer = styled.div<StyledFileSelectContainerProps>`\n border: ${({ theme }: StyledFileSelectContainerProps) => theme.text} 1px dashed;\n display: flex;\n gap: 10px;\n align-items: center;\n padding: 15px;\n justify-content: center;\n width: 100%;\n\n ${({ $isImageSelection }) =>\n $isImageSelection &&\n css`\n border-left: none;\n `}\n`;\n\ntype StyledFileSelectTextProps = WithTheme<unknown>;\n\nexport const StyledFileSelectText = styled.p<StyledFileSelectTextProps>`\n color: ${({ theme }: StyledFileSelectTextProps) => theme.text};\n`;\n\nexport const StyledMotionFileSelectList = styled(motion.div)``;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,cAAc;AACrC,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,OAAO,MAAMC,gBAAgB,GAAGF,MAAM,CAACG,GAAG,EAAE;AAM5C,OAAO,MAAMC,uBAAuB,GAAGJ,MAAM,CAACG,GAAiC;AAC/E;AACA;AACA,cAAc,CAAC;EAAEE;AAAY,CAAC,KAAMA,WAAW,GAAG,SAAS,GAAG,SAAU;AACxE,eAAe,CAAC;EAAEA;AAAY,CAAC,KAAMA,WAAW,GAAG,GAAG,GAAG,CAAE;AAC3D,CAAC;AAQD,OAAO,MAAMC,uBAAuB,GAAGN,MAAM,CAACG,GAAiC;AAC/E,MAAM,CAAC;EAAEI,iBAAiB;EAAEC;AAAoC,CAAC,KACzDD,iBAAiB,IACjBN,GAAG;AACX,oCAAoCO,KAAK,CAACC,QAAQ;AAClD,SAAS;AACT,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGV,MAAM,CAACG,GAAmC;AACnF,cAAc,CAAC;EAAEK;AAAsC,CAAC,KAAKA,KAAK,CAACG,IAAI;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC;EAAEC;AAAkB,CAAC,KACpBA,iBAAiB,IACjBX,GAAG;AACX;AACA,SAAS;AACT,CAAC;AAID,OAAO,MAAMY,oBAAoB,GAAGb,MAAM,CAACc,CAA4B;AACvE,aAAa,CAAC;EAAEN;AAAiC,CAAC,KAAKA,KAAK,CAACG,IAAI;AACjE,CAAC;AAED,OAAO,MAAMI,0BAA0B,GAAGf,MAAM,CAACD,MAAM,CAACI,GAAG,CAAC,EAAE","ignoreList":[]}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import React, { forwardRef, isValidElement, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { StyledFilter, StyledFilterContentWrapper, StyledFilterHead, StyledFilterHeadline, StyledFilterHeadlineElement, StyledFilterIcon, StyledFilterIconWrapper, StyledFilterSearch, StyledMotionFilterBackground } from './Filter.styles';
|
|
3
|
+
import ExpandableContent from '../expandable-content/ExpandableContent';
|
|
4
|
+
import Icon from '../icon/Icon';
|
|
5
|
+
import FilterContent from './filter-content/FIlterContent';
|
|
6
|
+
import { FilterType } from '../../types/filter';
|
|
7
|
+
import SearchInput from '../search-input/SearchInput';
|
|
8
|
+
import ContextMenu from '../context-menu/ContextMenu';
|
|
9
|
+
import Checkbox from '../checkbox/Checkbox';
|
|
10
|
+
|
|
11
|
+
//
|
|
12
|
+
|
|
13
|
+
const Filter = /*#__PURE__*/forwardRef(({
|
|
14
|
+
headline,
|
|
15
|
+
searchConfig,
|
|
16
|
+
sortConfig,
|
|
17
|
+
shouldAutoFocus = false,
|
|
18
|
+
shouldShowRoundedHoverEffect = false,
|
|
19
|
+
filterButtonConfig,
|
|
20
|
+
checkboxConfig,
|
|
21
|
+
onActiveChange,
|
|
22
|
+
rightIcons
|
|
23
|
+
}, ref) => {
|
|
24
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
25
|
+
const [isSearchActive, setIsSearchActive] = useState(false);
|
|
26
|
+
const [shouldFocus, setShouldFocus] = useState(false);
|
|
27
|
+
const [backgroundDistance, setBackgroundDistance] = useState(0);
|
|
28
|
+
const [backgroundCoordinates, setBackgroundCoordinates] = useState({
|
|
29
|
+
top: 0,
|
|
30
|
+
left: 0
|
|
31
|
+
});
|
|
32
|
+
const contentRef = useRef(null);
|
|
33
|
+
const iconRef = useRef(null);
|
|
34
|
+
const filterRef = useRef(null);
|
|
35
|
+
const searchRef = useRef(null);
|
|
36
|
+
const contextMenuRef = useRef(null);
|
|
37
|
+
const type = useMemo(() => {
|
|
38
|
+
if (filterButtonConfig && !searchConfig && !sortConfig && !checkboxConfig) {
|
|
39
|
+
return FilterType.ONLY_FILTER;
|
|
40
|
+
}
|
|
41
|
+
if (!filterButtonConfig && !searchConfig && sortConfig && !checkboxConfig) {
|
|
42
|
+
return FilterType.ONLY_SORT;
|
|
43
|
+
}
|
|
44
|
+
if (!filterButtonConfig && searchConfig && !sortConfig && !checkboxConfig) {
|
|
45
|
+
return FilterType.ONLY_SEARCH;
|
|
46
|
+
}
|
|
47
|
+
if (!filterButtonConfig && !searchConfig && !sortConfig && checkboxConfig) {
|
|
48
|
+
return FilterType.ONLY_CHECKBOX;
|
|
49
|
+
}
|
|
50
|
+
return FilterType.MULTIPLE;
|
|
51
|
+
}, [checkboxConfig, filterButtonConfig, searchConfig, sortConfig]);
|
|
52
|
+
const icons = useMemo(() => {
|
|
53
|
+
switch (type) {
|
|
54
|
+
case FilterType.ONLY_FILTER:
|
|
55
|
+
return ['fa fa-filter'];
|
|
56
|
+
case FilterType.ONLY_SORT:
|
|
57
|
+
return ['fa fa-arrow-up-arrow-down'];
|
|
58
|
+
default:
|
|
59
|
+
return ['fa fa-search'];
|
|
60
|
+
}
|
|
61
|
+
}, [type]);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
if (typeof onActiveChange === 'function') {
|
|
64
|
+
onActiveChange(isOpen);
|
|
65
|
+
}
|
|
66
|
+
}, [isOpen, onActiveChange]);
|
|
67
|
+
const handleHide = useCallback(() => {
|
|
68
|
+
setIsOpen(false);
|
|
69
|
+
if (type === FilterType.ONLY_SORT && contextMenuRef.current) {
|
|
70
|
+
contextMenuRef.current.hide();
|
|
71
|
+
}
|
|
72
|
+
if (type === FilterType.ONLY_SEARCH) {
|
|
73
|
+
setIsSearchActive(false);
|
|
74
|
+
}
|
|
75
|
+
}, [type]);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
if (shouldFocus) {
|
|
78
|
+
searchRef.current?.focus();
|
|
79
|
+
window.setTimeout(() => {
|
|
80
|
+
setShouldFocus(false);
|
|
81
|
+
}, 200);
|
|
82
|
+
}
|
|
83
|
+
}, [shouldFocus]);
|
|
84
|
+
const handleShow = useCallback(() => {
|
|
85
|
+
setIsOpen(true);
|
|
86
|
+
if (shouldAutoFocus) {
|
|
87
|
+
setShouldFocus(true);
|
|
88
|
+
}
|
|
89
|
+
if (type === FilterType.ONLY_SORT && contextMenuRef.current) {
|
|
90
|
+
contextMenuRef.current.hide();
|
|
91
|
+
}
|
|
92
|
+
if (type === FilterType.ONLY_SEARCH) {
|
|
93
|
+
setIsSearchActive(true);
|
|
94
|
+
}
|
|
95
|
+
}, [shouldAutoFocus, type]);
|
|
96
|
+
useImperativeHandle(ref, () => ({
|
|
97
|
+
hide: handleHide,
|
|
98
|
+
show: handleShow
|
|
99
|
+
}), [handleHide, handleShow]);
|
|
100
|
+
const handleIconClick = useCallback(() => {
|
|
101
|
+
if (isOpen) {
|
|
102
|
+
handleHide();
|
|
103
|
+
} else {
|
|
104
|
+
handleShow();
|
|
105
|
+
}
|
|
106
|
+
}, [handleHide, handleShow, isOpen]);
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
if (headline && iconRef.current && contentRef.current && filterRef.current) {
|
|
109
|
+
const iconRect = iconRef.current.getBoundingClientRect();
|
|
110
|
+
const filterRect = filterRef.current.getBoundingClientRect();
|
|
111
|
+
const contentRect = contentRef.current.getBoundingClientRect();
|
|
112
|
+
const relativeTop = iconRect.bottom - filterRect.top;
|
|
113
|
+
const relativeLeft = iconRect.left - filterRect.left;
|
|
114
|
+
setBackgroundDistance(contentRect.top - iconRect.bottom);
|
|
115
|
+
setBackgroundCoordinates({
|
|
116
|
+
top: relativeTop,
|
|
117
|
+
left: relativeLeft
|
|
118
|
+
});
|
|
119
|
+
} else {
|
|
120
|
+
setBackgroundDistance(0);
|
|
121
|
+
setBackgroundCoordinates({
|
|
122
|
+
top: 0,
|
|
123
|
+
left: 0
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}, [headline]);
|
|
127
|
+
const iconElement = useMemo(() => /*#__PURE__*/React.createElement(StyledFilterIcon, {
|
|
128
|
+
onClick: handleIconClick,
|
|
129
|
+
$isOpen: isOpen,
|
|
130
|
+
ref: iconRef,
|
|
131
|
+
$shouldShowRoundedHoverEffect: shouldShowRoundedHoverEffect
|
|
132
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
133
|
+
icons: icons,
|
|
134
|
+
size: 18
|
|
135
|
+
})), [handleIconClick, icons, isOpen, shouldShowRoundedHoverEffect]);
|
|
136
|
+
const backgroundElement = useMemo(() => /*#__PURE__*/React.createElement(StyledMotionFilterBackground, {
|
|
137
|
+
$top: backgroundCoordinates.top,
|
|
138
|
+
$left: backgroundCoordinates.left,
|
|
139
|
+
animate: {
|
|
140
|
+
height: isOpen ? `${backgroundDistance}px` : 0
|
|
141
|
+
},
|
|
142
|
+
transition: {
|
|
143
|
+
duration: 0.1,
|
|
144
|
+
delay: isOpen ? 0 : 0.2
|
|
145
|
+
}
|
|
146
|
+
}), [backgroundDistance, isOpen, backgroundCoordinates]);
|
|
147
|
+
const sortItems = useMemo(() => {
|
|
148
|
+
if (!sortConfig) {
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
const {
|
|
152
|
+
selectedItem,
|
|
153
|
+
onSortChange
|
|
154
|
+
} = sortConfig;
|
|
155
|
+
return sortConfig.items.map(({
|
|
156
|
+
id,
|
|
157
|
+
text
|
|
158
|
+
}) => ({
|
|
159
|
+
text,
|
|
160
|
+
key: id.toString(),
|
|
161
|
+
isSelected: id === selectedItem.id,
|
|
162
|
+
icons: id === selectedItem.id ? ['fas fa-circle-small'] : [],
|
|
163
|
+
onClick: () => onSortChange({
|
|
164
|
+
text,
|
|
165
|
+
id
|
|
166
|
+
})
|
|
167
|
+
}));
|
|
168
|
+
}, [sortConfig]);
|
|
169
|
+
return useMemo(() => /*#__PURE__*/React.createElement(StyledFilter, {
|
|
170
|
+
ref: filterRef
|
|
171
|
+
}, /*#__PURE__*/React.createElement(StyledFilterHead, null, ! /*#__PURE__*/isValidElement(headline) ? /*#__PURE__*/React.createElement(StyledFilterHeadline, {
|
|
172
|
+
$isSearchActive: isSearchActive
|
|
173
|
+
}, headline) : /*#__PURE__*/React.createElement(StyledFilterHeadlineElement, {
|
|
174
|
+
$isSearchActive: isSearchActive
|
|
175
|
+
}, headline), [FilterType.MULTIPLE, FilterType.ONLY_FILTER].includes(type) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledFilterIconWrapper, null, rightIcons && rightIcons.map(({
|
|
176
|
+
icons: rIcons,
|
|
177
|
+
onClick
|
|
178
|
+
}) => /*#__PURE__*/React.createElement(StyledFilterIcon, {
|
|
179
|
+
onClick: onClick,
|
|
180
|
+
$isOpen: false,
|
|
181
|
+
$shouldShowRoundedHoverEffect: shouldShowRoundedHoverEffect
|
|
182
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
183
|
+
icons: rIcons,
|
|
184
|
+
size: 18
|
|
185
|
+
}))), iconElement), backgroundDistance > 0 && backgroundElement), type === FilterType.ONLY_SEARCH && searchConfig && /*#__PURE__*/React.createElement(StyledFilterSearch, null, /*#__PURE__*/React.createElement(SearchInput, {
|
|
186
|
+
onActiveChange: isActive => {
|
|
187
|
+
setIsSearchActive(isActive);
|
|
188
|
+
setIsOpen(isActive);
|
|
189
|
+
},
|
|
190
|
+
ref: searchRef,
|
|
191
|
+
isActive: isSearchActive,
|
|
192
|
+
value: searchConfig.searchValue,
|
|
193
|
+
onChange: ev => searchConfig.onSearchChange(ev.target.value)
|
|
194
|
+
})), type === FilterType.ONLY_SORT && sortConfig && /*#__PURE__*/React.createElement(ContextMenu, {
|
|
195
|
+
ref: contextMenuRef,
|
|
196
|
+
items: sortItems
|
|
197
|
+
}, iconElement), type === FilterType.ONLY_CHECKBOX && checkboxConfig &&
|
|
198
|
+
/*#__PURE__*/
|
|
199
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
200
|
+
React.createElement(Checkbox, checkboxConfig)), [FilterType.MULTIPLE, FilterType.ONLY_FILTER].includes(type) && /*#__PURE__*/React.createElement(StyledFilterContentWrapper, {
|
|
201
|
+
ref: contentRef
|
|
202
|
+
}, /*#__PURE__*/React.createElement(ExpandableContent, {
|
|
203
|
+
isOpen: isOpen,
|
|
204
|
+
startDelay: backgroundDistance > 0 ? 0.1 : 0
|
|
205
|
+
}, /*#__PURE__*/React.createElement(FilterContent, {
|
|
206
|
+
shouldAutoFocus: shouldFocus,
|
|
207
|
+
searchConfig: searchConfig,
|
|
208
|
+
filterButtonConfig: filterButtonConfig,
|
|
209
|
+
sortConfig: sortConfig,
|
|
210
|
+
checkboxConfig: checkboxConfig
|
|
211
|
+
})))), [headline, isSearchActive, type, rightIcons, iconElement, backgroundDistance, backgroundElement, searchConfig, sortConfig, sortItems, checkboxConfig, isOpen, shouldFocus, filterButtonConfig, shouldShowRoundedHoverEffect]);
|
|
212
|
+
});
|
|
213
|
+
Filter.displayName = 'Filter';
|
|
214
|
+
export default Filter;
|
|
215
|
+
//# sourceMappingURL=Filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filter.js","names":["React","forwardRef","isValidElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","StyledFilter","StyledFilterContentWrapper","StyledFilterHead","StyledFilterHeadline","StyledFilterHeadlineElement","StyledFilterIcon","StyledFilterIconWrapper","StyledFilterSearch","StyledMotionFilterBackground","ExpandableContent","Icon","FilterContent","FilterType","SearchInput","ContextMenu","Checkbox","Filter","headline","searchConfig","sortConfig","shouldAutoFocus","shouldShowRoundedHoverEffect","filterButtonConfig","checkboxConfig","onActiveChange","rightIcons","ref","isOpen","setIsOpen","isSearchActive","setIsSearchActive","shouldFocus","setShouldFocus","backgroundDistance","setBackgroundDistance","backgroundCoordinates","setBackgroundCoordinates","top","left","contentRef","iconRef","filterRef","searchRef","contextMenuRef","type","ONLY_FILTER","ONLY_SORT","ONLY_SEARCH","ONLY_CHECKBOX","MULTIPLE","icons","handleHide","current","hide","focus","window","setTimeout","handleShow","show","handleIconClick","iconRect","getBoundingClientRect","filterRect","contentRect","relativeTop","bottom","relativeLeft","iconElement","createElement","onClick","$isOpen","$shouldShowRoundedHoverEffect","size","backgroundElement","$top","$left","animate","height","transition","duration","delay","sortItems","selectedItem","onSortChange","items","map","id","text","key","toString","isSelected","$isSearchActive","includes","Fragment","rIcons","isActive","value","searchValue","onChange","ev","onSearchChange","target","startDelay","displayName"],"sources":["../../../../src/components/filter/Filter.tsx"],"sourcesContent":["import React, {\n forwardRef,\n isValidElement,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n StyledFilter,\n StyledFilterContentWrapper,\n StyledFilterHead,\n StyledFilterHeadline,\n StyledFilterHeadlineElement,\n StyledFilterIcon,\n StyledFilterIconWrapper,\n StyledFilterSearch,\n StyledMotionFilterBackground,\n} from './Filter.styles';\nimport ExpandableContent from '../expandable-content/ExpandableContent';\nimport Icon from '../icon/Icon';\nimport FilterContent from './filter-content/FIlterContent';\nimport {\n CheckboxConfig,\n FilterButtonConfig,\n FilterRef,\n FilterType,\n SearchConfig,\n SortConfig,\n} from '../../types/filter';\nimport SearchInput from '../search-input/SearchInput';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport Checkbox from '../checkbox/Checkbox';\nimport { InputRef } from '../input/Input';\nimport type { ContextMenuItem, ContextMenuRef } from '../context-menu/ContextMenu.types';\n\nexport interface FilterRightIcon {\n icons: string[];\n onClick: VoidFunction;\n}\n\n//\nexport type FilterProps = {\n headline: ReactNode;\n searchConfig?: SearchConfig;\n filterButtonConfig?: FilterButtonConfig;\n sortConfig?: SortConfig;\n checkboxConfig?: CheckboxConfig;\n onActiveChange?: (isActive: boolean) => void;\n shouldShowRoundedHoverEffect?: boolean;\n rightIcons?: FilterRightIcon[];\n shouldAutoFocus?: boolean;\n};\n\nconst Filter = forwardRef<FilterRef, FilterProps>(\n (\n {\n headline,\n searchConfig,\n sortConfig,\n shouldAutoFocus = false,\n shouldShowRoundedHoverEffect = false,\n filterButtonConfig,\n checkboxConfig,\n onActiveChange,\n rightIcons,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isSearchActive, setIsSearchActive] = useState(false);\n const [shouldFocus, setShouldFocus] = useState(false);\n const [backgroundDistance, setBackgroundDistance] = useState(0);\n const [backgroundCoordinates, setBackgroundCoordinates] = useState({ top: 0, left: 0 });\n\n const contentRef = useRef<HTMLDivElement | null>(null);\n const iconRef = useRef<HTMLDivElement | null>(null);\n const filterRef = useRef<HTMLDivElement | null>(null);\n const searchRef = useRef<InputRef | null>(null);\n\n const contextMenuRef = useRef<ContextMenuRef>(null);\n\n const type = useMemo(() => {\n if (filterButtonConfig && !searchConfig && !sortConfig && !checkboxConfig) {\n return FilterType.ONLY_FILTER;\n }\n\n if (!filterButtonConfig && !searchConfig && sortConfig && !checkboxConfig) {\n return FilterType.ONLY_SORT;\n }\n\n if (!filterButtonConfig && searchConfig && !sortConfig && !checkboxConfig) {\n return FilterType.ONLY_SEARCH;\n }\n\n if (!filterButtonConfig && !searchConfig && !sortConfig && checkboxConfig) {\n return FilterType.ONLY_CHECKBOX;\n }\n\n return FilterType.MULTIPLE;\n }, [checkboxConfig, filterButtonConfig, searchConfig, sortConfig]);\n\n const icons = useMemo(() => {\n switch (type) {\n case FilterType.ONLY_FILTER:\n return ['fa fa-filter'];\n case FilterType.ONLY_SORT:\n return ['fa fa-arrow-up-arrow-down'];\n default:\n return ['fa fa-search'];\n }\n }, [type]);\n\n useEffect(() => {\n if (typeof onActiveChange === 'function') {\n onActiveChange(isOpen);\n }\n }, [isOpen, onActiveChange]);\n\n const handleHide = useCallback(() => {\n setIsOpen(false);\n\n if (type === FilterType.ONLY_SORT && contextMenuRef.current) {\n contextMenuRef.current.hide();\n }\n\n if (type === FilterType.ONLY_SEARCH) {\n setIsSearchActive(false);\n }\n }, [type]);\n\n useEffect(() => {\n if (shouldFocus) {\n searchRef.current?.focus();\n\n window.setTimeout(() => {\n setShouldFocus(false);\n }, 200);\n }\n }, [shouldFocus]);\n\n const handleShow = useCallback(() => {\n setIsOpen(true);\n\n if (shouldAutoFocus) {\n setShouldFocus(true);\n }\n\n if (type === FilterType.ONLY_SORT && contextMenuRef.current) {\n contextMenuRef.current.hide();\n }\n\n if (type === FilterType.ONLY_SEARCH) {\n setIsSearchActive(true);\n }\n }, [shouldAutoFocus, type]);\n\n useImperativeHandle(\n ref,\n () => ({\n hide: handleHide,\n show: handleShow,\n }),\n [handleHide, handleShow],\n );\n\n const handleIconClick = useCallback(() => {\n if (isOpen) {\n handleHide();\n } else {\n handleShow();\n }\n }, [handleHide, handleShow, isOpen]);\n\n useEffect(() => {\n if (headline && iconRef.current && contentRef.current && filterRef.current) {\n const iconRect = iconRef.current.getBoundingClientRect();\n const filterRect = filterRef.current.getBoundingClientRect();\n const contentRect = contentRef.current.getBoundingClientRect();\n\n const relativeTop = iconRect.bottom - filterRect.top;\n const relativeLeft = iconRect.left - filterRect.left;\n\n setBackgroundDistance(contentRect.top - iconRect.bottom);\n setBackgroundCoordinates({\n top: relativeTop,\n left: relativeLeft,\n });\n } else {\n setBackgroundDistance(0);\n setBackgroundCoordinates({ top: 0, left: 0 });\n }\n }, [headline]);\n\n const iconElement = useMemo(\n () => (\n <StyledFilterIcon\n onClick={handleIconClick}\n $isOpen={isOpen}\n ref={iconRef}\n $shouldShowRoundedHoverEffect={shouldShowRoundedHoverEffect}\n >\n <Icon icons={icons} size={18} />\n </StyledFilterIcon>\n ),\n [handleIconClick, icons, isOpen, shouldShowRoundedHoverEffect],\n );\n\n const backgroundElement = useMemo(\n () => (\n <StyledMotionFilterBackground\n $top={backgroundCoordinates.top}\n $left={backgroundCoordinates.left}\n animate={{ height: isOpen ? `${backgroundDistance}px` : 0 }}\n transition={{ duration: 0.1, delay: isOpen ? 0 : 0.2 }}\n />\n ),\n [backgroundDistance, isOpen, backgroundCoordinates],\n );\n\n const sortItems: ContextMenuItem[] = useMemo(() => {\n if (!sortConfig) {\n return [];\n }\n\n const { selectedItem, onSortChange } = sortConfig;\n\n return sortConfig.items.map(({ id, text }) => ({\n text,\n key: id.toString(),\n isSelected: id === selectedItem.id,\n icons: id === selectedItem.id ? ['fas fa-circle-small'] : [],\n onClick: () => onSortChange({ text, id }),\n }));\n }, [sortConfig]);\n\n return useMemo(\n () => (\n <StyledFilter ref={filterRef}>\n <StyledFilterHead>\n {!isValidElement(headline) ? (\n <StyledFilterHeadline $isSearchActive={isSearchActive}>\n {headline}\n </StyledFilterHeadline>\n ) : (\n <StyledFilterHeadlineElement $isSearchActive={isSearchActive}>\n {headline}\n </StyledFilterHeadlineElement>\n )}\n {[FilterType.MULTIPLE, FilterType.ONLY_FILTER].includes(type) && (\n <>\n <StyledFilterIconWrapper>\n {rightIcons &&\n rightIcons.map(({ icons: rIcons, onClick }) => (\n <StyledFilterIcon\n onClick={onClick}\n $isOpen={false}\n $shouldShowRoundedHoverEffect={\n shouldShowRoundedHoverEffect\n }\n >\n <Icon icons={rIcons} size={18} />\n </StyledFilterIcon>\n ))}\n {iconElement}\n </StyledFilterIconWrapper>\n {backgroundDistance > 0 && backgroundElement}\n </>\n )}\n {type === FilterType.ONLY_SEARCH && searchConfig && (\n <StyledFilterSearch>\n <SearchInput\n onActiveChange={(isActive) => {\n setIsSearchActive(isActive);\n setIsOpen(isActive);\n }}\n ref={searchRef}\n isActive={isSearchActive}\n value={searchConfig.searchValue}\n onChange={(ev) => searchConfig.onSearchChange(ev.target.value)}\n />\n </StyledFilterSearch>\n )}\n {type === FilterType.ONLY_SORT && sortConfig && (\n <ContextMenu ref={contextMenuRef} items={sortItems}>\n {iconElement}\n </ContextMenu>\n )}\n {type === FilterType.ONLY_CHECKBOX && checkboxConfig && (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <Checkbox {...checkboxConfig} />\n )}\n </StyledFilterHead>\n {[FilterType.MULTIPLE, FilterType.ONLY_FILTER].includes(type) && (\n <StyledFilterContentWrapper ref={contentRef}>\n <ExpandableContent\n isOpen={isOpen}\n startDelay={backgroundDistance > 0 ? 0.1 : 0}\n >\n <FilterContent\n shouldAutoFocus={shouldFocus}\n searchConfig={searchConfig}\n filterButtonConfig={filterButtonConfig}\n sortConfig={sortConfig}\n checkboxConfig={checkboxConfig}\n />\n </ExpandableContent>\n </StyledFilterContentWrapper>\n )}\n </StyledFilter>\n ),\n [\n headline,\n isSearchActive,\n type,\n rightIcons,\n iconElement,\n backgroundDistance,\n backgroundElement,\n searchConfig,\n sortConfig,\n sortItems,\n checkboxConfig,\n isOpen,\n shouldFocus,\n filterButtonConfig,\n shouldShowRoundedHoverEffect,\n ],\n );\n },\n);\n\nFilter.displayName = 'Filter';\n\nexport default Filter;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { motion } from 'motion/react';
|
|
3
|
+
export const StyledFilter = styled.div``;
|
|
4
|
+
export const StyledFilterHead = styled.div`
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: space-between;
|
|
8
|
+
gap: 20px;
|
|
9
|
+
|
|
10
|
+
position: relative;
|
|
11
|
+
`;
|
|
12
|
+
export const StyledFilterHeadline = styled.h1`
|
|
13
|
+
margin: 0;
|
|
14
|
+
|
|
15
|
+
opacity: ${({
|
|
16
|
+
$isSearchActive
|
|
17
|
+
}) => $isSearchActive ? 0 : 1};
|
|
18
|
+
|
|
19
|
+
transition: opacity 0.3s;
|
|
20
|
+
`;
|
|
21
|
+
export const StyledFilterHeadlineElement = styled.div`
|
|
22
|
+
opacity: ${({
|
|
23
|
+
$isSearchActive
|
|
24
|
+
}) => $isSearchActive ? 0 : 1};
|
|
25
|
+
|
|
26
|
+
transition: opacity 0.3s;
|
|
27
|
+
`;
|
|
28
|
+
export const StyledFilterIconWrapper = styled.div`
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
`;
|
|
32
|
+
export const StyledFilterSearch = styled.div`
|
|
33
|
+
position: absolute;
|
|
34
|
+
width: 100%;
|
|
35
|
+
`;
|
|
36
|
+
export const StyledFilterIcon = styled.div`
|
|
37
|
+
cursor: pointer;
|
|
38
|
+
|
|
39
|
+
aspect-ratio: 1;
|
|
40
|
+
|
|
41
|
+
height: ${({
|
|
42
|
+
$shouldShowRoundedHoverEffect
|
|
43
|
+
}) => $shouldShowRoundedHoverEffect ? 42 : 30}px;
|
|
44
|
+
border-radius: ${({
|
|
45
|
+
$shouldShowRoundedHoverEffect
|
|
46
|
+
}) => $shouldShowRoundedHoverEffect ? 3 : 0}px;
|
|
47
|
+
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
|
|
52
|
+
${({
|
|
53
|
+
$shouldShowRoundedHoverEffect,
|
|
54
|
+
$isOpen
|
|
55
|
+
}) => $shouldShowRoundedHoverEffect && $isOpen && css`
|
|
56
|
+
border-bottom-left-radius: 0;
|
|
57
|
+
border-bottom-right-radius: 0;
|
|
58
|
+
`}
|
|
59
|
+
|
|
60
|
+
${({
|
|
61
|
+
$isOpen,
|
|
62
|
+
theme
|
|
63
|
+
}) => $isOpen && css`
|
|
64
|
+
background-color: ${theme['100']};
|
|
65
|
+
`}
|
|
66
|
+
|
|
67
|
+
&:hover {
|
|
68
|
+
background-color: ${({
|
|
69
|
+
theme
|
|
70
|
+
}) => theme['100']};
|
|
71
|
+
}
|
|
72
|
+
`;
|
|
73
|
+
export const StyledMotionFilterBackground = styled(motion.div)`
|
|
74
|
+
width: 30px;
|
|
75
|
+
|
|
76
|
+
position: absolute;
|
|
77
|
+
|
|
78
|
+
top: ${({
|
|
79
|
+
$top
|
|
80
|
+
}) => $top}px;
|
|
81
|
+
left: ${({
|
|
82
|
+
$left
|
|
83
|
+
}) => $left}px;
|
|
84
|
+
|
|
85
|
+
background-color: ${({
|
|
86
|
+
theme
|
|
87
|
+
}) => theme['100']};
|
|
88
|
+
`;
|
|
89
|
+
export const StyledFilterContentWrapper = styled.div``;
|
|
90
|
+
//# sourceMappingURL=Filter.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filter.styles.js","names":["styled","css","motion","StyledFilter","div","StyledFilterHead","StyledFilterHeadline","h1","$isSearchActive","StyledFilterHeadlineElement","StyledFilterIconWrapper","StyledFilterSearch","StyledFilterIcon","$shouldShowRoundedHoverEffect","$isOpen","theme","StyledMotionFilterBackground","$top","$left","StyledFilterContentWrapper"],"sources":["../../../../src/components/filter/Filter.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { motion } from 'motion/react';\n\nexport const StyledFilter = styled.div``;\n\nexport const StyledFilterHead = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 20px;\n\n position: relative;\n`;\n\ntype StyledFilterHeadlineProps = WithTheme<{ $isSearchActive: boolean }>;\n\nexport const StyledFilterHeadline = styled.h1<StyledFilterHeadlineProps>`\n margin: 0;\n\n opacity: ${({ $isSearchActive }) => ($isSearchActive ? 0 : 1)};\n\n transition: opacity 0.3s;\n`;\n\nexport const StyledFilterHeadlineElement = styled.div<StyledFilterHeadlineProps>`\n opacity: ${({ $isSearchActive }) => ($isSearchActive ? 0 : 1)};\n\n transition: opacity 0.3s;\n`;\n\nexport const StyledFilterIconWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const StyledFilterSearch = styled.div`\n position: absolute;\n width: 100%;\n`;\n\ntype StyledFilterIconProps = WithTheme<{\n $isOpen: boolean;\n $shouldShowRoundedHoverEffect: boolean;\n}>;\n\nexport const StyledFilterIcon = styled.div<StyledFilterIconProps>`\n cursor: pointer;\n\n aspect-ratio: 1;\n\n height: ${({ $shouldShowRoundedHoverEffect }) => ($shouldShowRoundedHoverEffect ? 42 : 30)}px;\n border-radius: ${({ $shouldShowRoundedHoverEffect }) =>\n $shouldShowRoundedHoverEffect ? 3 : 0}px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n ${({ $shouldShowRoundedHoverEffect, $isOpen }) =>\n $shouldShowRoundedHoverEffect &&\n $isOpen &&\n css`\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n `}\n\n ${({ $isOpen, theme }) =>\n $isOpen &&\n css`\n background-color: ${theme['100']};\n `}\n\n &:hover {\n background-color: ${({ theme }) => theme['100']};\n }\n`;\n\ntype StyledMotionFilterBackgroundProps = WithTheme<{ $top: number; $left: number }>;\n\nexport const StyledMotionFilterBackground = styled(motion.div)<StyledMotionFilterBackgroundProps>`\n width: 30px;\n\n position: absolute;\n\n top: ${({ $top }) => $top}px;\n left: ${({ $left }) => $left}px;\n\n background-color: ${({ theme }) => theme['100']};\n`;\n\nexport const StyledFilterContentWrapper = styled.div``;\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,MAAM,QAAQ,cAAc;AAErC,OAAO,MAAMC,YAAY,GAAGH,MAAM,CAACI,GAAG,EAAE;AAExC,OAAO,MAAMC,gBAAgB,GAAGL,MAAM,CAACI,GAAG;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAID,OAAO,MAAME,oBAAoB,GAAGN,MAAM,CAACO,EAA6B;AACxE;AACA;AACA,eAAe,CAAC;EAAEC;AAAgB,CAAC,KAAMA,eAAe,GAAG,CAAC,GAAG,CAAE;AACjE;AACA;AACA,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGT,MAAM,CAACI,GAA8B;AAChF,eAAe,CAAC;EAAEI;AAAgB,CAAC,KAAMA,eAAe,GAAG,CAAC,GAAG,CAAE;AACjE;AACA;AACA,CAAC;AAED,OAAO,MAAME,uBAAuB,GAAGV,MAAM,CAACI,GAAG;AACjD;AACA;AACA,CAAC;AAED,OAAO,MAAMO,kBAAkB,GAAGX,MAAM,CAACI,GAAG;AAC5C;AACA;AACA,CAAC;AAOD,OAAO,MAAMQ,gBAAgB,GAAGZ,MAAM,CAACI,GAA0B;AACjE;AACA;AACA;AACA;AACA,cAAc,CAAC;EAAES;AAA8B,CAAC,KAAMA,6BAA6B,GAAG,EAAE,GAAG,EAAG;AAC9F,qBAAqB,CAAC;EAAEA;AAA8B,CAAC,KAC/CA,6BAA6B,GAAG,CAAC,GAAG,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC;EAAEA,6BAA6B;EAAEC;AAAQ,CAAC,KACzCD,6BAA6B,IAC7BC,OAAO,IACPb,GAAG;AACX;AACA;AACA,SAAS;AACT;AACA,MAAM,CAAC;EAAEa,OAAO;EAAEC;AAAM,CAAC,KACjBD,OAAO,IACPb,GAAG;AACX,gCAAgCc,KAAK,CAAC,KAAK,CAAC;AAC5C,SAAS;AACT;AACA;AACA,4BAA4B,CAAC;EAAEA;AAAM,CAAC,KAAKA,KAAK,CAAC,KAAK,CAAC;AACvD;AACA,CAAC;AAID,OAAO,MAAMC,4BAA4B,GAAGhB,MAAM,CAACE,MAAM,CAACE,GAAG,CAAoC;AACjG;AACA;AACA;AACA;AACA,WAAW,CAAC;EAAEa;AAAK,CAAC,KAAKA,IAAI;AAC7B,YAAY,CAAC;EAAEC;AAAM,CAAC,KAAKA,KAAK;AAChC;AACA,wBAAwB,CAAC;EAAEH;AAAM,CAAC,KAAKA,KAAK,CAAC,KAAK,CAAC;AACnD,CAAC;AAED,OAAO,MAAMI,0BAA0B,GAAGnB,MAAM,CAACI,GAAG,EAAE","ignoreList":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { StyledFilterComboboxWrapper, StyledFilterContent, StyledFilterSort, StyledFilterSortText } from './FilterContent.styles';
|
|
3
|
+
import Input from '../../input/Input';
|
|
4
|
+
import Icon from '../../icon/Icon';
|
|
5
|
+
import FilterButtons from '../../filter-buttons/FilterButtons';
|
|
6
|
+
import ComboBox from '../../combobox/ComboBox';
|
|
7
|
+
import Checkbox from '../../checkbox/Checkbox';
|
|
8
|
+
const FilterContent = ({
|
|
9
|
+
searchConfig,
|
|
10
|
+
sortConfig,
|
|
11
|
+
filterButtonConfig,
|
|
12
|
+
checkboxConfig,
|
|
13
|
+
shouldAutoFocus
|
|
14
|
+
}) => {
|
|
15
|
+
const sortTextRef = useRef(null);
|
|
16
|
+
const searchRef = useRef(null);
|
|
17
|
+
const [sortTextWidth, setSortTextWidth] = useState(0);
|
|
18
|
+
const handleSelectSortItem = useCallback(item => {
|
|
19
|
+
if (!item) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const {
|
|
23
|
+
text,
|
|
24
|
+
value
|
|
25
|
+
} = item;
|
|
26
|
+
if (sortConfig) {
|
|
27
|
+
sortConfig.onSortChange({
|
|
28
|
+
text,
|
|
29
|
+
id: value
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}, [sortConfig]);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (sortTextRef.current) {
|
|
35
|
+
setSortTextWidth(sortTextRef.current.clientWidth + 20);
|
|
36
|
+
}
|
|
37
|
+
}, []);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (shouldAutoFocus) {
|
|
40
|
+
searchRef.current?.focus();
|
|
41
|
+
}
|
|
42
|
+
}, [shouldAutoFocus]);
|
|
43
|
+
return useMemo(() => /*#__PURE__*/React.createElement(StyledFilterContent, null, searchConfig && /*#__PURE__*/React.createElement(Input, {
|
|
44
|
+
ref: searchRef,
|
|
45
|
+
onChange: ev => searchConfig.onSearchChange(ev.target.value),
|
|
46
|
+
placeholder: "Suche",
|
|
47
|
+
value: searchConfig.searchValue,
|
|
48
|
+
shouldShowClearIcon: searchConfig.searchValue.length > 0,
|
|
49
|
+
leftElement: /*#__PURE__*/React.createElement(Icon, {
|
|
50
|
+
icons: ['fa fa-search']
|
|
51
|
+
})
|
|
52
|
+
}), filterButtonConfig && /*#__PURE__*/React.createElement(FilterButtons, filterButtonConfig), sortConfig && /*#__PURE__*/React.createElement(StyledFilterSort, null, /*#__PURE__*/React.createElement(StyledFilterSortText, {
|
|
53
|
+
ref: sortTextRef
|
|
54
|
+
}, "Sortierung"), /*#__PURE__*/React.createElement(StyledFilterComboboxWrapper, {
|
|
55
|
+
$textWidth: sortTextWidth
|
|
56
|
+
}, /*#__PURE__*/React.createElement(ComboBox, {
|
|
57
|
+
lists: [{
|
|
58
|
+
list: sortConfig.items.map(({
|
|
59
|
+
text,
|
|
60
|
+
id
|
|
61
|
+
}) => ({
|
|
62
|
+
text,
|
|
63
|
+
value: id
|
|
64
|
+
}))
|
|
65
|
+
}],
|
|
66
|
+
placeholder: "",
|
|
67
|
+
selectedItem: {
|
|
68
|
+
text: sortConfig.selectedItem.text,
|
|
69
|
+
value: sortConfig.selectedItem.id
|
|
70
|
+
},
|
|
71
|
+
onSelect: handleSelectSortItem
|
|
72
|
+
}))), checkboxConfig &&
|
|
73
|
+
/*#__PURE__*/
|
|
74
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
75
|
+
React.createElement(Checkbox, checkboxConfig)), [checkboxConfig, filterButtonConfig, handleSelectSortItem, searchConfig, sortConfig, sortTextWidth]);
|
|
76
|
+
};
|
|
77
|
+
FilterContent.displayName = 'FilterContent';
|
|
78
|
+
export default FilterContent;
|
|
79
|
+
//# sourceMappingURL=FIlterContent.js.map
|