@chayns-components/core 5.3.9 → 5.3.11-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +73 -2
- package/lib/cjs/components/accordion/Accordion.js +107 -12
- package/lib/cjs/components/accordion/Accordion.js.map +1 -1
- package/lib/cjs/components/accordion/Accordion.styles.js +23 -3
- package/lib/cjs/components/accordion/Accordion.styles.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js +3 -1
- package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js +36 -19
- package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.js +6 -3
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.js.map +1 -1
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js +14 -0
- package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
- package/lib/cjs/components/amount-control/AmountControl.js +31 -17
- package/lib/cjs/components/amount-control/AmountControl.js.map +1 -1
- package/lib/cjs/components/amount-control/AmountControl.styles.js +18 -2
- package/lib/cjs/components/amount-control/AmountControl.styles.js.map +1 -1
- package/lib/cjs/components/button/Button.js +5 -1
- package/lib/cjs/components/button/Button.js.map +1 -1
- package/lib/cjs/components/button/Button.styles.js +17 -0
- package/lib/cjs/components/button/Button.styles.js.map +1 -1
- package/lib/cjs/components/button/Button.types.js.map +1 -1
- package/lib/cjs/components/checkbox/Checkbox.js +5 -1
- package/lib/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/lib/cjs/components/checkbox/Checkbox.styles.js +29 -2
- package/lib/cjs/components/checkbox/Checkbox.styles.js.map +1 -1
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js +7 -2
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js +8 -2
- package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
- package/lib/cjs/components/combobox/ComboBox.js +52 -5
- package/lib/cjs/components/combobox/ComboBox.js.map +1 -1
- package/lib/cjs/components/combobox/ComboBox.styles.js +11 -0
- package/lib/cjs/components/combobox/ComboBox.styles.js.map +1 -1
- package/lib/cjs/components/combobox/ComboBox.types.js.map +1 -1
- package/lib/cjs/components/context-menu/ContextMenu.js +100 -6
- package/lib/cjs/components/context-menu/ContextMenu.js.map +1 -1
- package/lib/cjs/components/context-menu/ContextMenu.styles.js +38 -0
- package/lib/cjs/components/context-menu/ContextMenu.styles.js.map +1 -1
- package/lib/cjs/components/context-menu/ContextMenu.types.js.map +1 -1
- package/lib/cjs/components/file-input/FileInput.js +4 -2
- package/lib/cjs/components/file-input/FileInput.js.map +1 -1
- package/lib/cjs/components/file-list/file-item/FileItem.js +23 -2
- package/lib/cjs/components/file-list/file-item/FileItem.js.map +1 -1
- package/lib/cjs/components/file-list/file-item/FileItem.styles.js +19 -1
- package/lib/cjs/components/file-list/file-item/FileItem.styles.js.map +1 -1
- package/lib/cjs/components/file-select/FileSelect.js +27 -4
- package/lib/cjs/components/file-select/FileSelect.js.map +1 -1
- package/lib/cjs/components/file-select/FileSelect.styles.js +10 -0
- package/lib/cjs/components/file-select/FileSelect.styles.js.map +1 -1
- package/lib/cjs/components/filter/Filter.js +51 -16
- package/lib/cjs/components/filter/Filter.js.map +1 -1
- package/lib/cjs/components/filter/Filter.styles.js +9 -0
- package/lib/cjs/components/filter/Filter.styles.js.map +1 -1
- package/lib/cjs/components/filter/filter-content/FilterContent.js +14 -5
- package/lib/cjs/components/filter/filter-content/FilterContent.js.map +1 -1
- package/lib/cjs/components/filter/filter-content/FilterContent.types.js.map +1 -1
- package/lib/cjs/components/filter-buttons/FilterButtons.js +69 -4
- package/lib/cjs/components/filter-buttons/FilterButtons.js.map +1 -1
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js +40 -2
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js +11 -0
- package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
- package/lib/cjs/components/grid-image/GridImage.js +20 -2
- package/lib/cjs/components/grid-image/GridImage.js.map +1 -1
- package/lib/cjs/components/grid-image/GridImage.styles.js +11 -2
- package/lib/cjs/components/grid-image/GridImage.styles.js.map +1 -1
- package/lib/cjs/components/grouped-image/GroupedImage.js +23 -4
- package/lib/cjs/components/grouped-image/GroupedImage.js.map +1 -1
- package/lib/cjs/components/grouped-image/GroupedImage.styles.js +9 -0
- package/lib/cjs/components/grouped-image/GroupedImage.styles.js.map +1 -1
- package/lib/cjs/components/highlight-slider/HighlightSlider.js +10 -3
- package/lib/cjs/components/highlight-slider/HighlightSlider.js.map +1 -1
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +21 -4
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +11 -2
- package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
- package/lib/cjs/components/icon/Icon.js +24 -5
- package/lib/cjs/components/icon/Icon.js.map +1 -1
- package/lib/cjs/components/icon/Icon.styles.js +23 -0
- package/lib/cjs/components/icon/Icon.styles.js.map +1 -1
- package/lib/cjs/components/input/Input.js +29 -8
- package/lib/cjs/components/input/Input.js.map +1 -1
- package/lib/cjs/components/input/Input.styles.js +33 -3
- package/lib/cjs/components/input/Input.styles.js.map +1 -1
- package/lib/cjs/components/list/List.js +124 -37
- package/lib/cjs/components/list/List.js.map +1 -1
- package/lib/cjs/components/list/List.utils.js +107 -1
- package/lib/cjs/components/list/List.utils.js.map +1 -1
- package/lib/cjs/components/list/list-item/ListItem.js +82 -3
- package/lib/cjs/components/list/list-item/ListItem.js.map +1 -1
- package/lib/cjs/components/list/list-item/ListItem.styles.js +9 -0
- package/lib/cjs/components/list/list-item/ListItem.styles.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js +40 -5
- 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 +5 -1
- 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-right-element/ListItemRightElement.js +32 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +32 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +30 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
- package/lib/cjs/components/list/list-item/useListItemFocus.js +47 -0
- package/lib/cjs/components/list/list-item/useListItemFocus.js.map +1 -0
- package/lib/cjs/components/masonry/Masonry.context.js +17 -0
- package/lib/cjs/components/masonry/Masonry.context.js.map +1 -0
- package/lib/cjs/components/masonry/Masonry.hooks.js +53 -0
- package/lib/cjs/components/masonry/Masonry.hooks.js.map +1 -0
- package/lib/cjs/components/masonry/Masonry.js +81 -0
- package/lib/cjs/components/masonry/Masonry.js.map +1 -0
- package/lib/cjs/components/masonry/Masonry.styles.js +16 -0
- package/lib/cjs/components/masonry/Masonry.styles.js.map +1 -0
- package/lib/cjs/components/masonry/Masonry.types.js +6 -0
- package/lib/cjs/components/masonry/Masonry.types.js.map +1 -0
- package/lib/cjs/components/masonry/Masonry.utils.js +121 -0
- package/lib/cjs/components/masonry/Masonry.utils.js.map +1 -0
- package/lib/cjs/components/masonry/masonry-item/MasonryItem.js +77 -0
- package/lib/cjs/components/masonry/masonry-item/MasonryItem.js.map +1 -0
- package/lib/cjs/components/masonry/masonry-item/MasonryItem.styles.js +17 -0
- package/lib/cjs/components/masonry/masonry-item/MasonryItem.styles.js.map +1 -0
- package/lib/cjs/components/mention-finder/MentionFinder.js +31 -2
- package/lib/cjs/components/mention-finder/MentionFinder.js.map +1 -1
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
- package/lib/cjs/components/multi-action-button/MultiActionButton.js +36 -3
- package/lib/cjs/components/multi-action-button/MultiActionButton.js.map +1 -1
- package/lib/cjs/components/multi-action-button/MultiActionButton.types.js.map +1 -1
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.js +7 -1
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.js.map +1 -1
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js +12 -0
- package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
- package/lib/cjs/components/number-input/NumberInput.js +13 -10
- package/lib/cjs/components/number-input/NumberInput.js.map +1 -1
- package/lib/cjs/components/page-provider/PageProvider.js +4 -2
- package/lib/cjs/components/page-provider/PageProvider.js.map +1 -1
- package/lib/cjs/components/popup/Popup.js +8 -1
- package/lib/cjs/components/popup/Popup.js.map +1 -1
- package/lib/cjs/components/radio-button/RadioButton.js +29 -15
- package/lib/cjs/components/radio-button/RadioButton.js.map +1 -1
- package/lib/cjs/components/radio-button/RadioButton.styles.js +19 -8
- package/lib/cjs/components/radio-button/RadioButton.styles.js.map +1 -1
- package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js +7 -4
- package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
- package/lib/cjs/components/search-box/SearchBox.js +5 -2
- package/lib/cjs/components/search-box/SearchBox.js.map +1 -1
- package/lib/cjs/components/search-input/SearchInput.js +40 -41
- package/lib/cjs/components/search-input/SearchInput.js.map +1 -1
- package/lib/cjs/components/search-input/SearchInput.styles.js +25 -2
- package/lib/cjs/components/search-input/SearchInput.styles.js.map +1 -1
- package/lib/cjs/components/select-button/SelectButton.js +4 -2
- package/lib/cjs/components/select-button/SelectButton.js.map +1 -1
- package/lib/cjs/components/setup-wizard/SetupWizard.js +7 -4
- package/lib/cjs/components/setup-wizard/SetupWizard.js.map +1 -1
- package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +5 -3
- package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
- package/lib/cjs/components/sharing-bar/SharingBar.js +31 -6
- package/lib/cjs/components/sharing-bar/SharingBar.js.map +1 -1
- package/lib/cjs/components/sharing-bar/SharingBar.styles.js +5 -0
- package/lib/cjs/components/sharing-bar/SharingBar.styles.js.map +1 -1
- package/lib/cjs/components/sharing-button/SharingButton.js +4 -2
- package/lib/cjs/components/sharing-button/SharingButton.js.map +1 -1
- package/lib/cjs/components/sharing-context-menu/SharingContextMenu.js +3 -1
- package/lib/cjs/components/sharing-context-menu/SharingContextMenu.js.map +1 -1
- package/lib/cjs/components/signature/Signature.js +6 -3
- package/lib/cjs/components/signature/Signature.js.map +1 -1
- package/lib/cjs/components/slider/Slider.js +30 -7
- package/lib/cjs/components/slider/Slider.js.map +1 -1
- package/lib/cjs/components/slider/Slider.styles.js +9 -2
- package/lib/cjs/components/slider/Slider.styles.js.map +1 -1
- package/lib/cjs/components/slider-button/SliderButton.js +63 -6
- package/lib/cjs/components/slider-button/SliderButton.js.map +1 -1
- package/lib/cjs/components/slider-button/SliderButton.styles.js +19 -2
- package/lib/cjs/components/slider-button/SliderButton.styles.js.map +1 -1
- package/lib/cjs/components/slider-button/SliderButton.types.js +6 -0
- package/lib/cjs/components/slider-button/SliderButton.types.js.map +1 -0
- package/lib/cjs/components/slider-button/useSliderButtonPopupKeyboard.js +66 -0
- package/lib/cjs/components/slider-button/useSliderButtonPopupKeyboard.js.map +1 -0
- package/lib/cjs/components/slider-button/useSliderButtonThumbKeyboard.js +47 -0
- package/lib/cjs/components/slider-button/useSliderButtonThumbKeyboard.js.map +1 -0
- package/lib/cjs/components/tag-input/TagInput.js +91 -36
- package/lib/cjs/components/tag-input/TagInput.js.map +1 -1
- package/lib/cjs/components/tag-input/TagInput.styles.js +31 -3
- package/lib/cjs/components/tag-input/TagInput.styles.js.map +1 -1
- package/lib/cjs/components/text-area/TextArea.js +17 -8
- package/lib/cjs/components/text-area/TextArea.js.map +1 -1
- package/lib/cjs/components/text-area/TextArea.styles.js +15 -1
- package/lib/cjs/components/text-area/TextArea.styles.js.map +1 -1
- package/lib/cjs/components/truncation/Truncation.js +17 -3
- package/lib/cjs/components/truncation/Truncation.js.map +1 -1
- package/lib/cjs/components/truncation/Truncation.styles.js +19 -1
- package/lib/cjs/components/truncation/Truncation.styles.js.map +1 -1
- package/lib/cjs/hooks/useKeyboardFocusHighlighting.js +68 -0
- package/lib/cjs/hooks/useKeyboardFocusHighlighting.js.map +1 -0
- package/lib/cjs/index.js +7 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/utils/file.js.map +1 -1
- package/lib/cjs/utils/keyboardFocusHighlighting.styles.js +30 -0
- package/lib/cjs/utils/keyboardFocusHighlighting.styles.js.map +1 -0
- package/lib/esm/components/accordion/Accordion.js +105 -12
- package/lib/esm/components/accordion/Accordion.js.map +1 -1
- package/lib/esm/components/accordion/Accordion.styles.js +23 -3
- package/lib/esm/components/accordion/Accordion.styles.js.map +1 -1
- package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js +3 -1
- package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
- package/lib/esm/components/accordion/accordion-group/AccordionGroup.js +33 -19
- package/lib/esm/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
- package/lib/esm/components/accordion/accordion-head/AccordionHead.js +6 -3
- package/lib/esm/components/accordion/accordion-head/AccordionHead.js.map +1 -1
- package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js +14 -0
- package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
- package/lib/esm/components/amount-control/AmountControl.js +30 -16
- package/lib/esm/components/amount-control/AmountControl.js.map +1 -1
- package/lib/esm/components/amount-control/AmountControl.styles.js +18 -2
- package/lib/esm/components/amount-control/AmountControl.styles.js.map +1 -1
- package/lib/esm/components/button/Button.js +5 -1
- package/lib/esm/components/button/Button.js.map +1 -1
- package/lib/esm/components/button/Button.styles.js +17 -0
- package/lib/esm/components/button/Button.styles.js.map +1 -1
- package/lib/esm/components/button/Button.types.js.map +1 -1
- package/lib/esm/components/checkbox/Checkbox.js +5 -1
- package/lib/esm/components/checkbox/Checkbox.js.map +1 -1
- package/lib/esm/components/checkbox/Checkbox.styles.js +29 -2
- package/lib/esm/components/checkbox/Checkbox.styles.js.map +1 -1
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js +7 -2
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js +8 -2
- package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
- package/lib/esm/components/combobox/ComboBox.js +50 -5
- package/lib/esm/components/combobox/ComboBox.js.map +1 -1
- package/lib/esm/components/combobox/ComboBox.styles.js +11 -0
- package/lib/esm/components/combobox/ComboBox.styles.js.map +1 -1
- package/lib/esm/components/combobox/ComboBox.types.js.map +1 -1
- package/lib/esm/components/context-menu/ContextMenu.js +99 -5
- package/lib/esm/components/context-menu/ContextMenu.js.map +1 -1
- package/lib/esm/components/context-menu/ContextMenu.styles.js +38 -0
- package/lib/esm/components/context-menu/ContextMenu.styles.js.map +1 -1
- package/lib/esm/components/context-menu/ContextMenu.types.js.map +1 -1
- package/lib/esm/components/file-input/FileInput.js +4 -2
- package/lib/esm/components/file-input/FileInput.js.map +1 -1
- package/lib/esm/components/file-list/file-item/FileItem.js +24 -3
- package/lib/esm/components/file-list/file-item/FileItem.js.map +1 -1
- package/lib/esm/components/file-list/file-item/FileItem.styles.js +18 -0
- package/lib/esm/components/file-list/file-item/FileItem.styles.js.map +1 -1
- package/lib/esm/components/file-select/FileSelect.js +27 -4
- package/lib/esm/components/file-select/FileSelect.js.map +1 -1
- package/lib/esm/components/file-select/FileSelect.styles.js +10 -0
- package/lib/esm/components/file-select/FileSelect.styles.js.map +1 -1
- package/lib/esm/components/filter/Filter.js +52 -16
- package/lib/esm/components/filter/Filter.js.map +1 -1
- package/lib/esm/components/filter/Filter.styles.js +9 -0
- package/lib/esm/components/filter/Filter.styles.js.map +1 -1
- package/lib/esm/components/filter/filter-content/FilterContent.js +15 -5
- package/lib/esm/components/filter/filter-content/FilterContent.js.map +1 -1
- package/lib/esm/components/filter/filter-content/FilterContent.types.js.map +1 -1
- package/lib/esm/components/filter-buttons/FilterButtons.js +69 -5
- package/lib/esm/components/filter-buttons/FilterButtons.js.map +1 -1
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.js +40 -2
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js +11 -0
- package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
- package/lib/esm/components/grid-image/GridImage.js +20 -2
- package/lib/esm/components/grid-image/GridImage.js.map +1 -1
- package/lib/esm/components/grid-image/GridImage.styles.js +10 -1
- package/lib/esm/components/grid-image/GridImage.styles.js.map +1 -1
- package/lib/esm/components/grouped-image/GroupedImage.js +22 -4
- package/lib/esm/components/grouped-image/GroupedImage.js.map +1 -1
- package/lib/esm/components/grouped-image/GroupedImage.styles.js +9 -0
- package/lib/esm/components/grouped-image/GroupedImage.styles.js.map +1 -1
- package/lib/esm/components/highlight-slider/HighlightSlider.js +10 -3
- package/lib/esm/components/highlight-slider/HighlightSlider.js.map +1 -1
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +20 -3
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +10 -1
- package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
- package/lib/esm/components/icon/Icon.js +26 -7
- package/lib/esm/components/icon/Icon.js.map +1 -1
- package/lib/esm/components/icon/Icon.styles.js +23 -0
- package/lib/esm/components/icon/Icon.styles.js.map +1 -1
- package/lib/esm/components/input/Input.js +24 -4
- package/lib/esm/components/input/Input.js.map +1 -1
- package/lib/esm/components/input/Input.styles.js +33 -3
- package/lib/esm/components/input/Input.styles.js.map +1 -1
- package/lib/esm/components/list/List.js +123 -37
- package/lib/esm/components/list/List.js.map +1 -1
- package/lib/esm/components/list/List.utils.js +99 -0
- package/lib/esm/components/list/List.utils.js.map +1 -1
- package/lib/esm/components/list/list-item/ListItem.js +83 -4
- package/lib/esm/components/list/list-item/ListItem.js.map +1 -1
- package/lib/esm/components/list/list-item/ListItem.styles.js +9 -0
- package/lib/esm/components/list/list-item/ListItem.styles.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js +41 -6
- 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 +4 -0
- 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-right-element/ListItemRightElement.js +33 -2
- package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +33 -2
- package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +30 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
- package/lib/esm/components/list/list-item/useListItemFocus.js +40 -0
- package/lib/esm/components/list/list-item/useListItemFocus.js.map +1 -0
- package/lib/esm/components/masonry/Masonry.context.js +10 -0
- package/lib/esm/components/masonry/Masonry.context.js.map +1 -0
- package/lib/esm/components/masonry/Masonry.hooks.js +44 -0
- package/lib/esm/components/masonry/Masonry.hooks.js.map +1 -0
- package/lib/esm/components/masonry/Masonry.js +74 -0
- package/lib/esm/components/masonry/Masonry.js.map +1 -0
- package/lib/esm/components/masonry/Masonry.styles.js +9 -0
- package/lib/esm/components/masonry/Masonry.styles.js.map +1 -0
- package/lib/esm/components/masonry/Masonry.types.js +2 -0
- package/lib/esm/components/masonry/Masonry.types.js.map +1 -0
- package/lib/esm/components/masonry/Masonry.utils.js +110 -0
- package/lib/esm/components/masonry/Masonry.utils.js.map +1 -0
- package/lib/esm/components/masonry/masonry-item/MasonryItem.js +69 -0
- package/lib/esm/components/masonry/masonry-item/MasonryItem.js.map +1 -0
- package/lib/esm/components/masonry/masonry-item/MasonryItem.styles.js +10 -0
- package/lib/esm/components/masonry/masonry-item/MasonryItem.styles.js.map +1 -0
- package/lib/esm/components/mention-finder/MentionFinder.js +30 -2
- package/lib/esm/components/mention-finder/MentionFinder.js.map +1 -1
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
- package/lib/esm/components/multi-action-button/MultiActionButton.js +36 -3
- package/lib/esm/components/multi-action-button/MultiActionButton.js.map +1 -1
- package/lib/esm/components/multi-action-button/MultiActionButton.types.js.map +1 -1
- package/lib/esm/components/multi-action-button/action-button/ActionButton.js +7 -1
- package/lib/esm/components/multi-action-button/action-button/ActionButton.js.map +1 -1
- package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js +12 -0
- package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
- package/lib/esm/components/number-input/NumberInput.js +13 -10
- package/lib/esm/components/number-input/NumberInput.js.map +1 -1
- package/lib/esm/components/page-provider/PageProvider.js +4 -2
- package/lib/esm/components/page-provider/PageProvider.js.map +1 -1
- package/lib/esm/components/popup/Popup.js +8 -1
- package/lib/esm/components/popup/Popup.js.map +1 -1
- package/lib/esm/components/radio-button/RadioButton.js +29 -15
- package/lib/esm/components/radio-button/RadioButton.js.map +1 -1
- package/lib/esm/components/radio-button/RadioButton.styles.js +19 -8
- package/lib/esm/components/radio-button/RadioButton.styles.js.map +1 -1
- package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js +7 -4
- package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
- package/lib/esm/components/search-box/SearchBox.js +5 -2
- package/lib/esm/components/search-box/SearchBox.js.map +1 -1
- package/lib/esm/components/search-input/SearchInput.js +41 -42
- package/lib/esm/components/search-input/SearchInput.js.map +1 -1
- package/lib/esm/components/search-input/SearchInput.styles.js +24 -1
- package/lib/esm/components/search-input/SearchInput.styles.js.map +1 -1
- package/lib/esm/components/select-button/SelectButton.js +4 -2
- package/lib/esm/components/select-button/SelectButton.js.map +1 -1
- package/lib/esm/components/setup-wizard/SetupWizard.js +7 -4
- package/lib/esm/components/setup-wizard/SetupWizard.js.map +1 -1
- package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +5 -3
- package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
- package/lib/esm/components/sharing-bar/SharingBar.js +30 -5
- package/lib/esm/components/sharing-bar/SharingBar.js.map +1 -1
- package/lib/esm/components/sharing-bar/SharingBar.styles.js +5 -0
- package/lib/esm/components/sharing-bar/SharingBar.styles.js.map +1 -1
- package/lib/esm/components/sharing-button/SharingButton.js +4 -2
- package/lib/esm/components/sharing-button/SharingButton.js.map +1 -1
- package/lib/esm/components/sharing-context-menu/SharingContextMenu.js +3 -1
- package/lib/esm/components/sharing-context-menu/SharingContextMenu.js.map +1 -1
- package/lib/esm/components/signature/Signature.js +6 -3
- package/lib/esm/components/signature/Signature.js.map +1 -1
- package/lib/esm/components/slider/Slider.js +30 -7
- package/lib/esm/components/slider/Slider.js.map +1 -1
- package/lib/esm/components/slider/Slider.styles.js +8 -1
- package/lib/esm/components/slider/Slider.styles.js.map +1 -1
- package/lib/esm/components/slider-button/SliderButton.js +62 -6
- package/lib/esm/components/slider-button/SliderButton.js.map +1 -1
- package/lib/esm/components/slider-button/SliderButton.styles.js +18 -1
- package/lib/esm/components/slider-button/SliderButton.styles.js.map +1 -1
- package/lib/esm/components/slider-button/SliderButton.types.js +2 -0
- package/lib/esm/components/slider-button/SliderButton.types.js.map +1 -0
- package/lib/esm/components/slider-button/useSliderButtonPopupKeyboard.js +56 -0
- package/lib/esm/components/slider-button/useSliderButtonPopupKeyboard.js.map +1 -0
- package/lib/esm/components/slider-button/useSliderButtonThumbKeyboard.js +38 -0
- package/lib/esm/components/slider-button/useSliderButtonThumbKeyboard.js.map +1 -0
- package/lib/esm/components/tag-input/TagInput.js +85 -35
- package/lib/esm/components/tag-input/TagInput.js.map +1 -1
- package/lib/esm/components/tag-input/TagInput.styles.js +29 -1
- package/lib/esm/components/tag-input/TagInput.styles.js.map +1 -1
- package/lib/esm/components/text-area/TextArea.js +18 -9
- package/lib/esm/components/text-area/TextArea.js.map +1 -1
- package/lib/esm/components/text-area/TextArea.styles.js +14 -0
- package/lib/esm/components/text-area/TextArea.styles.js.map +1 -1
- package/lib/esm/components/truncation/Truncation.js +18 -4
- package/lib/esm/components/truncation/Truncation.js.map +1 -1
- package/lib/esm/components/truncation/Truncation.styles.js +18 -0
- package/lib/esm/components/truncation/Truncation.styles.js.map +1 -1
- package/lib/esm/hooks/useKeyboardFocusHighlighting.js +61 -0
- package/lib/esm/hooks/useKeyboardFocusHighlighting.js.map +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/utils/file.js.map +1 -1
- package/lib/esm/utils/keyboardFocusHighlighting.styles.js +25 -0
- package/lib/esm/utils/keyboardFocusHighlighting.styles.js.map +1 -0
- package/lib/types/components/accordion/Accordion.d.ts +5 -0
- package/lib/types/components/accordion/Accordion.styles.d.ts +8 -4
- package/lib/types/components/accordion/accordion-body/AccordionBody.styles.d.ts +2 -2
- package/lib/types/components/accordion/accordion-group/AccordionGroup.d.ts +7 -2
- package/lib/types/components/accordion/accordion-head/AccordionHead.d.ts +1 -0
- package/lib/types/components/accordion/accordion-head/AccordionHead.styles.d.ts +18 -18
- package/lib/types/components/amount-control/AmountControl.d.ts +5 -0
- package/lib/types/components/amount-control/AmountControl.styles.d.ts +8 -4
- package/lib/types/components/button/Button.styles.d.ts +8 -6
- package/lib/types/components/button/Button.types.d.ts +8 -0
- package/lib/types/components/checkbox/Checkbox.d.ts +4 -0
- package/lib/types/components/checkbox/Checkbox.styles.d.ts +5 -1
- package/lib/types/components/color-scheme-provider/ColorSchemeProvider.d.ts +5 -0
- package/lib/types/components/combobox/ComboBox.styles.d.ts +4 -2
- package/lib/types/components/combobox/ComboBox.types.d.ts +5 -0
- package/lib/types/components/context-menu/ContextMenu.styles.d.ts +4 -2
- package/lib/types/components/context-menu/ContextMenu.types.d.ts +6 -0
- package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +2 -2
- package/lib/types/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.d.ts +2 -2
- package/lib/types/components/expandable-content/ExpandableContent.styles.d.ts +2 -2
- package/lib/types/components/file-input/FileInput.d.ts +4 -0
- package/lib/types/components/file-input/FileInput.styles.d.ts +2 -2
- package/lib/types/components/file-list/file-item/FileItem.styles.d.ts +3 -0
- package/lib/types/components/file-select/FileSelect.d.ts +4 -0
- package/lib/types/components/file-select/FileSelect.styles.d.ts +6 -4
- package/lib/types/components/filter/Filter.d.ts +1 -0
- package/lib/types/components/filter/Filter.styles.d.ts +6 -4
- package/lib/types/components/filter/filter-content/FilterContent.types.d.ts +4 -0
- package/lib/types/components/filter-buttons/FilterButtons.d.ts +4 -0
- package/lib/types/components/filter-buttons/filter-button/FilterButton.d.ts +5 -0
- package/lib/types/components/filter-buttons/filter-button/FilterButton.styles.d.ts +12 -8
- package/lib/types/components/grid-image/GridImage.d.ts +4 -0
- package/lib/types/components/grid-image/GridImage.styles.d.ts +4 -2
- package/lib/types/components/grouped-image/GroupedImage.d.ts +4 -0
- package/lib/types/components/grouped-image/GroupedImage.styles.d.ts +8 -6
- package/lib/types/components/highlight-slider/HighlightSlider.d.ts +4 -0
- package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.d.ts +3 -0
- package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.d.ts +9 -5
- package/lib/types/components/icon/Icon.d.ts +4 -0
- package/lib/types/components/icon/Icon.styles.d.ts +1 -0
- package/lib/types/components/input/Input.d.ts +4 -0
- package/lib/types/components/input/Input.styles.d.ts +17 -9
- package/lib/types/components/list/List.d.ts +11 -0
- package/lib/types/components/list/List.utils.d.ts +16 -1
- package/lib/types/components/list/list-item/ListItem.styles.d.ts +64 -64
- package/lib/types/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +2 -2
- package/lib/types/components/list/list-item/list-item-head/ListItemHead.d.ts +1 -0
- package/lib/types/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +195 -194
- package/lib/types/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.d.ts +1 -0
- package/lib/types/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.d.ts +1 -0
- package/lib/types/components/list/list-item/list-item-head/list-item-title/ListItemTitle.d.ts +1 -0
- package/lib/types/components/list/list-item/useListItemFocus.d.ts +13 -0
- package/lib/types/components/masonry/Masonry.context.d.ts +3 -0
- package/lib/types/components/masonry/Masonry.d.ts +3 -0
- package/lib/types/components/masonry/Masonry.hooks.d.ts +22 -0
- package/lib/types/components/masonry/Masonry.styles.d.ts +5 -0
- package/lib/types/components/masonry/Masonry.types.d.ts +40 -0
- package/lib/types/components/masonry/Masonry.utils.d.ts +22 -0
- package/lib/types/components/masonry/masonry-item/MasonryItem.d.ts +5 -0
- package/lib/types/components/masonry/masonry-item/MasonryItem.styles.d.ts +5 -0
- package/lib/types/components/mention-finder/MentionFinder.styles.d.ts +4 -4
- package/lib/types/components/multi-action-button/MultiActionButton.styles.d.ts +2 -2
- package/lib/types/components/multi-action-button/MultiActionButton.types.d.ts +7 -0
- package/lib/types/components/multi-action-button/action-button/ActionButton.d.ts +4 -1
- package/lib/types/components/multi-action-button/action-button/ActionButton.styles.d.ts +4 -2
- package/lib/types/components/number-input/NumberInput.d.ts +4 -0
- package/lib/types/components/popup/popup-content-wrapper/PopupContentWrapper.styles.d.ts +2 -2
- package/lib/types/components/progress-bar/ProgressBar.styles.d.ts +6 -6
- package/lib/types/components/radio-button/RadioButton.d.ts +4 -0
- package/lib/types/components/radio-button/RadioButton.styles.d.ts +15 -9
- package/lib/types/components/radio-button/radio-button-group/RadioButtonGroup.d.ts +5 -0
- package/lib/types/components/search-box/SearchBox.d.ts +4 -0
- package/lib/types/components/search-box/SearchBox.styles.d.ts +2 -2
- package/lib/types/components/search-input/SearchInput.d.ts +4 -0
- package/lib/types/components/search-input/SearchInput.styles.d.ts +17 -9
- package/lib/types/components/select-button/SelectButton.d.ts +4 -0
- package/lib/types/components/setup-wizard/SetupWizard.d.ts +5 -0
- package/lib/types/components/sharing-bar/SharingBar.d.ts +4 -0
- package/lib/types/components/sharing-button/SharingButton.d.ts +1 -1
- package/lib/types/components/sharing-context-menu/SharingContextMenu.d.ts +10 -2
- package/lib/types/components/signature/Signature.d.ts +4 -0
- package/lib/types/components/skeleton/base-skeleton/BaseSkeleton.styles.d.ts +4 -4
- package/lib/types/components/slider/Slider.d.ts +8 -0
- package/lib/types/components/slider/Slider.styles.d.ts +18 -14
- package/lib/types/components/slider-button/SliderButton.d.ts +1 -28
- package/lib/types/components/slider-button/SliderButton.styles.d.ts +6 -4
- package/lib/types/components/slider-button/SliderButton.types.d.ts +32 -0
- package/lib/types/components/slider-button/useSliderButtonPopupKeyboard.d.ts +17 -0
- package/lib/types/components/slider-button/useSliderButtonThumbKeyboard.d.ts +13 -0
- package/lib/types/components/tag-input/TagInput.d.ts +4 -0
- package/lib/types/components/tag-input/TagInput.styles.d.ts +12 -2
- package/lib/types/components/text-area/TextArea.d.ts +4 -0
- package/lib/types/components/text-area/TextArea.styles.d.ts +1 -0
- package/lib/types/components/truncation/Truncation.d.ts +4 -0
- package/lib/types/components/truncation/Truncation.styles.d.ts +7 -2
- package/lib/types/hooks/useKeyboardFocusHighlighting.d.ts +5 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/utils/file.d.ts +1 -1
- package/lib/types/utils/keyboardFocusHighlighting.styles.d.ts +9 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MasonryItem.js","names":["_react","_interopRequireWildcard","require","_Masonry","_MasonryItem","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MasonryItem","children","createElement","Fragment","InternalMasonryItem","itemKey","x","y","width","ref","useRef","registerItem","useMasonryContext","useEffect","element","current","undefined","frameId","updateHeight","window","cancelAnimationFrame","requestAnimationFrame","getBoundingClientRect","height","observer","ResizeObserver","observe","disconnect","StyledMasonryItem","initial","opacity","scale","animate","exit","transition","type","stiffness","damping","mass","exports","displayName","_default"],"sources":["../../../../../src/components/masonry/masonry-item/MasonryItem.tsx"],"sourcesContent":["import React, { FC, useEffect, useRef } from 'react';\nimport { InternalMasonryItemProps, MasonryItemProps } from '../Masonry.types';\nimport { useMasonryContext } from '../Masonry.context';\nimport { StyledMasonryItem } from './MasonryItem.styles';\n\nconst MasonryItem: FC<MasonryItemProps> = ({ children }) => <>{children}</>;\n\nexport const InternalMasonryItem: FC<InternalMasonryItemProps> = ({\n children,\n itemKey,\n x,\n y,\n width,\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const { registerItem } = useMasonryContext();\n\n useEffect(() => {\n const element = ref.current;\n\n if (!element) {\n return undefined;\n }\n\n let frameId: number | undefined;\n\n const updateHeight = () => {\n if (frameId) {\n window.cancelAnimationFrame(frameId);\n }\n\n frameId = window.requestAnimationFrame(() => {\n registerItem(itemKey, element.getBoundingClientRect().height);\n });\n };\n\n updateHeight();\n\n const observer = new ResizeObserver(updateHeight);\n\n observer.observe(element);\n\n return () => {\n if (frameId) {\n window.cancelAnimationFrame(frameId);\n }\n\n observer.disconnect();\n };\n }, [itemKey, registerItem, width]);\n\n return (\n <StyledMasonryItem\n ref={ref}\n initial={{\n opacity: 0,\n scale: 0.96,\n }}\n animate={{\n opacity: 1,\n scale: 1,\n x,\n y,\n width,\n }}\n exit={{\n opacity: 0,\n scale: 0.96,\n }}\n transition={{\n type: 'spring',\n stiffness: 320,\n damping: 34,\n mass: 0.85,\n }}\n >\n {children}\n </StyledMasonryItem>\n );\n};\n\nMasonryItem.displayName = 'Masonry.Item';\n\nexport default MasonryItem;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StyledMasonryItem = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _react = require("motion/react");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const StyledMasonryItem = exports.StyledMasonryItem = (0, _styledComponents.default)(_react.motion.div)`
|
|
11
|
+
position: absolute;
|
|
12
|
+
top: 0;
|
|
13
|
+
left: 0;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
will-change: transform, width;
|
|
16
|
+
`;
|
|
17
|
+
//# sourceMappingURL=MasonryItem.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MasonryItem.styles.js","names":["_styledComponents","_interopRequireDefault","require","_react","e","__esModule","default","StyledMasonryItem","exports","styled","motion","div"],"sources":["../../../../../src/components/masonry/masonry-item/MasonryItem.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { motion } from 'motion/react';\n\nexport const StyledMasonryItem = styled(motion.div)`\n position: absolute;\n top: 0;\n left: 0;\n overflow: hidden;\n will-change: transform, width;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAsC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,MAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAAE,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAC;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -13,6 +13,13 @@ var _MentionFinder = require("./MentionFinder.styles");
|
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
15
|
const DRAG_CLOSE_THRESHOLD_IN_PX = 60;
|
|
16
|
+
const isTextInputElement = element => {
|
|
17
|
+
if (!element) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const tagName = element.tagName.toLowerCase();
|
|
21
|
+
return tagName === 'input' && element.type !== 'button' || tagName === 'textarea' || element.isContentEditable;
|
|
22
|
+
};
|
|
16
23
|
const findTouchByIdentifier = (touchList, identifier) => {
|
|
17
24
|
if (identifier === null) {
|
|
18
25
|
return null;
|
|
@@ -39,6 +46,7 @@ const MentionFinder = ({
|
|
|
39
46
|
const [shouldShowPopup, setShouldShowPopup] = (0, _react2.useState)(true);
|
|
40
47
|
const popupRef = (0, _react2.useRef)(null);
|
|
41
48
|
const listRef = (0, _react2.useRef)(null);
|
|
49
|
+
const inputElementRef = (0, _react2.useRef)(null);
|
|
42
50
|
const dragStartYRef = (0, _react2.useRef)(null);
|
|
43
51
|
const hasTriggeredDragCloseRef = (0, _react2.useRef)(false);
|
|
44
52
|
const activePointerIdRef = (0, _react2.useRef)(null);
|
|
@@ -58,7 +66,12 @@ const MentionFinder = ({
|
|
|
58
66
|
info,
|
|
59
67
|
name
|
|
60
68
|
}) => id.toLowerCase().includes(searchString) || (info === null || info === void 0 ? void 0 : info.replace('chayns', '').toLowerCase().includes(searchString)) || name.toLowerCase().includes(searchString)) : members, [members, searchString]);
|
|
69
|
+
const shouldRenderPopup = shouldShowPopup && !!fullMatch && filteredMembers.length > 0;
|
|
61
70
|
const handleKeyDown = (0, _react2.useCallback)(event => {
|
|
71
|
+
const targetElement = event.target;
|
|
72
|
+
if (isTextInputElement(targetElement)) {
|
|
73
|
+
inputElementRef.current = targetElement;
|
|
74
|
+
}
|
|
62
75
|
if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && shouldRenderPopup) {
|
|
63
76
|
var _listRef$current;
|
|
64
77
|
event.preventDefault();
|
|
@@ -85,8 +98,16 @@ const MentionFinder = ({
|
|
|
85
98
|
member: activeMember
|
|
86
99
|
});
|
|
87
100
|
}
|
|
101
|
+
} else if (event.key === 'Escape' && shouldRenderPopup) {
|
|
102
|
+
event.preventDefault();
|
|
103
|
+
event.stopPropagation();
|
|
104
|
+
setShouldShowPopup(false);
|
|
105
|
+
window.requestAnimationFrame(() => {
|
|
106
|
+
var _inputElementRef$curr;
|
|
107
|
+
(_inputElementRef$curr = inputElementRef.current) === null || _inputElementRef$curr === void 0 || _inputElementRef$curr.focus();
|
|
108
|
+
});
|
|
88
109
|
}
|
|
89
|
-
}, [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect]);
|
|
110
|
+
}, [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect, shouldRenderPopup]);
|
|
90
111
|
const handleMemberClick = (0, _react2.useCallback)(member => {
|
|
91
112
|
if (fullMatch) {
|
|
92
113
|
onSelect({
|
|
@@ -121,6 +142,15 @@ const MentionFinder = ({
|
|
|
121
142
|
hasTriggeredDragCloseRef.current = false;
|
|
122
143
|
setShouldShowPopup(true);
|
|
123
144
|
}, [inputValue]);
|
|
145
|
+
(0, _react2.useEffect)(() => {
|
|
146
|
+
if (!shouldRenderPopup) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const activeElement = document.activeElement;
|
|
150
|
+
if (isTextInputElement(activeElement)) {
|
|
151
|
+
inputElementRef.current = activeElement;
|
|
152
|
+
}
|
|
153
|
+
}, [shouldRenderPopup]);
|
|
124
154
|
(0, _react2.useEffect)(() => {
|
|
125
155
|
if (shouldShowPopup) {
|
|
126
156
|
window.addEventListener('keydown', handleKeyDown, true);
|
|
@@ -291,7 +321,6 @@ const MentionFinder = ({
|
|
|
291
321
|
onTouchCancel: handleDragTouchCancel
|
|
292
322
|
}));
|
|
293
323
|
}, [enableDragHandle, popupAlignment, dragOffset, dragProgress, isDraggingHandle, handleDragPointerDown, handleDragPointerMove, handleDragPointerUp, handleDragPointerCancel, handleDragTouchStart, handleDragTouchMove, handleDragTouchEnd, handleDragTouchCancel]);
|
|
294
|
-
const shouldRenderPopup = shouldShowPopup && fullMatch && items.length > 0;
|
|
295
324
|
(0, _react2.useEffect)(() => {
|
|
296
325
|
var _popupRef$current;
|
|
297
326
|
if (!enableDragHandle || !shouldRenderPopup) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionFinder.js","names":["_react","require","_react2","_interopRequireWildcard","_reactDom","_mentionFinder","_MentionFinderItem","_interopRequireDefault","_MentionFinder","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DRAG_CLOSE_THRESHOLD_IN_PX","findTouchByIdentifier","touchList","identifier","length","touch","item","MentionFinder","inputValue","members","onSelect","popupAlignment","enableDragHandle","dragCloseThresholdInPx","overlayContainerSelector","activeMember","setActiveMember","useState","focusedIndex","setFocusedIndex","shouldShowPopup","setShouldShowPopup","popupRef","useRef","listRef","dragStartYRef","hasTriggeredDragCloseRef","activePointerIdRef","activeTouchIdRef","isDraggingHandle","setIsDraggingHandle","dragOffset","setDragOffset","dragProgress","setDragProgress","overlayContainer","setOverlayContainer","fullMatch","searchString","useMemo","_regExpMatchArray$","regExpMatchArray","match","toLowerCase","filteredMembers","filter","id","info","name","includes","replace","handleKeyDown","useCallback","event","key","shouldRenderPopup","_listRef$current","preventDefault","children","current","newIndex","prevElement","tabIndex","member","newElement","focus","stopPropagation","handleMemberClick","handleMemberHover","useEffect","isActiveMemberShown","some","items","map","createElement","isActive","onClick","onHover","window","addEventListener","removeEventListener","closePopupViaDrag","handleOverlayClick","updateDragByClientY","clientY","closingDirectionMultiplier","MentionFinderPopupAlignment","Bottom","rawDelta","normalizedDelta","positiveDelta","Math","max","limitedDelta","min","handleDragPointerDown","pointerType","button","pointerId","currentTarget","setPointerCapture","handleDragPointerMove","hasClosed","releasePointerCapture","resetDragState","shouldClose","handleDragPointerUp","handleDragPointerCancel","handleDragTouchStart","touches","handleDragTouchMove","changedTouches","handleDragTouchEnd","handleDragTouchCancel","dragHandle","StyledMentionFinderDragHandle","$alignment","StyledMentionFinderDragHandleInner","$dragOffset","$dragProgress","$isDragging","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","_popupRef$current","container","closest","document","body","overlayPortal","createPortal","AnimatePresence","initial","StyledMentionFinderOverlay","animate","opacity","exit","Fragment","StyledMentionFinder","className","StyledMotionMentionFinderPopup","ref","height","y","$popupAlignment","transition","duration","Top","StyledMentionFinderItemList","displayName","_default","exports"],"sources":["../../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n PointerEvent,\n TouchList,\n TouchEvent,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { MentionFinderPopupAlignment } from '../../constants/mentionFinder';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport {\n StyledMentionFinder,\n StyledMentionFinderDragHandle,\n StyledMentionFinderDragHandleInner,\n StyledMentionFinderItemList,\n StyledMentionFinderOverlay,\n StyledMotionMentionFinderPopup,\n} from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info?: string;\n imageUrl: string;\n name: string;\n shouldShowRoundImage?: boolean;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n /**\n * Enables the optional drag handle inside the popup\n */\n enableDragHandle?: boolean;\n /**\n * Threshold in pixels to drag to close the popup\n */\n dragCloseThresholdInPx?: number;\n /**\n * Selector for the container to render the overlay into (defaults to closest dialog, thread, page provider or tapp)\n */\n overlayContainerSelector?: string;\n};\n\nconst DRAG_CLOSE_THRESHOLD_IN_PX = 60;\n\nconst findTouchByIdentifier = (touchList: TouchList, identifier: number | null) => {\n if (identifier === null) {\n return null;\n }\n\n for (let i = 0; i < touchList.length; i += 1) {\n const touch = touchList.item(i);\n if (touch && touch.identifier === identifier) {\n return touch;\n }\n }\n\n return null;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n enableDragHandle = false,\n dragCloseThresholdInPx = DRAG_CLOSE_THRESHOLD_IN_PX,\n overlayContainerSelector,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n const [focusedIndex, setFocusedIndex] = useState(0);\n const [shouldShowPopup, setShouldShowPopup] = useState(true);\n\n const popupRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const dragStartYRef = useRef<number | null>(null);\n const hasTriggeredDragCloseRef = useRef(false);\n const activePointerIdRef = useRef<number | null>(null);\n const activeTouchIdRef = useRef<number | null>(null);\n\n const [isDraggingHandle, setIsDraggingHandle] = useState(false);\n const [dragOffset, setDragOffset] = useState(0);\n const [dragProgress, setDragProgress] = useState(0);\n const [overlayContainer, setOverlayContainer] = useState<Element | null>(null);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@(?!\\s)([^\\s]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info?.replace('chayns', '').toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString),\n )\n : members,\n [members, searchString],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && shouldRenderPopup) {\n event.preventDefault();\n\n const children = listRef.current?.children;\n\n if (children && children.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (event.key === 'ArrowUp' ? -1 : 1) +\n children.length) %\n children.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const member = filteredMembers[newIndex];\n\n setActiveMember(member);\n\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter' && shouldRenderPopup) {\n event.preventDefault();\n event.stopPropagation();\n\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n }\n }\n },\n [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect],\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect],\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover],\n );\n\n useEffect(() => {\n setDragOffset(0);\n setDragProgress(0);\n hasTriggeredDragCloseRef.current = false;\n setShouldShowPopup(true);\n }, [inputValue]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n const closePopupViaDrag = useCallback(() => {\n if (hasTriggeredDragCloseRef.current) {\n return;\n }\n hasTriggeredDragCloseRef.current = true;\n setDragOffset(0);\n setDragProgress(0);\n setShouldShowPopup(false);\n }, []);\n\n const handleOverlayClick = useCallback(() => {\n closePopupViaDrag();\n }, [closePopupViaDrag]);\n\n const updateDragByClientY = useCallback(\n (clientY: number) => {\n if (dragStartYRef.current === null) {\n return false;\n }\n\n const closingDirectionMultiplier =\n popupAlignment === MentionFinderPopupAlignment.Bottom ? -1 : 1;\n const rawDelta = clientY - dragStartYRef.current;\n const normalizedDelta = rawDelta * closingDirectionMultiplier;\n const positiveDelta = Math.max(0, normalizedDelta);\n const limitedDelta = Math.min(positiveDelta, dragCloseThresholdInPx);\n\n setDragOffset(limitedDelta * closingDirectionMultiplier);\n setDragProgress(Math.min(positiveDelta / dragCloseThresholdInPx, 1));\n\n if (positiveDelta >= dragCloseThresholdInPx) {\n dragStartYRef.current = null;\n setIsDraggingHandle(false);\n closePopupViaDrag();\n return true;\n }\n\n return false;\n },\n [closePopupViaDrag, dragCloseThresholdInPx, popupAlignment],\n );\n\n const handleDragPointerDown = useCallback((event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch') {\n return;\n }\n if (event.pointerType === 'mouse' && event.button !== 0) {\n return;\n }\n if (dragStartYRef.current !== null) {\n return;\n }\n activePointerIdRef.current = event.pointerId;\n dragStartYRef.current = event.clientY;\n hasTriggeredDragCloseRef.current = false;\n setDragOffset(0);\n setDragProgress(0);\n setIsDraggingHandle(true);\n event.currentTarget.setPointerCapture(event.pointerId);\n event.stopPropagation();\n }, []);\n\n const handleDragPointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch' || activePointerIdRef.current !== event.pointerId) {\n return;\n }\n if (dragStartYRef.current === null) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const hasClosed = updateDragByClientY(event.clientY);\n\n if (hasClosed) {\n event.currentTarget.releasePointerCapture(event.pointerId);\n activePointerIdRef.current = null;\n }\n },\n [updateDragByClientY],\n );\n\n const resetDragState = useCallback(\n (shouldClose = false) => {\n dragStartYRef.current = null;\n setIsDraggingHandle(false);\n if (shouldClose) {\n closePopupViaDrag();\n } else {\n setDragOffset(0);\n setDragProgress(0);\n }\n },\n [closePopupViaDrag],\n );\n\n const handleDragPointerUp = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch' || activePointerIdRef.current !== event.pointerId) {\n return;\n }\n event.stopPropagation();\n const shouldClose = dragProgress >= 1;\n resetDragState(shouldClose);\n event.currentTarget.releasePointerCapture(event.pointerId);\n activePointerIdRef.current = null;\n },\n [dragProgress, resetDragState],\n );\n\n const handleDragPointerCancel = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch' || activePointerIdRef.current !== event.pointerId) {\n return;\n }\n event.stopPropagation();\n resetDragState();\n event.currentTarget.releasePointerCapture(event.pointerId);\n activePointerIdRef.current = null;\n },\n [resetDragState],\n );\n\n const handleDragTouchStart = useCallback((event: TouchEvent<HTMLDivElement>) => {\n if (event.touches.length === 0 || dragStartYRef.current !== null) {\n return;\n }\n\n const touch = event.touches[0];\n\n if (!touch) return;\n\n activeTouchIdRef.current = touch.identifier;\n dragStartYRef.current = touch.clientY;\n hasTriggeredDragCloseRef.current = false;\n setDragOffset(0);\n setDragProgress(0);\n setIsDraggingHandle(true);\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const handleDragTouchMove = useCallback(\n (event: TouchEvent<HTMLDivElement>) => {\n if (dragStartYRef.current === null || activeTouchIdRef.current === null) {\n return;\n }\n const touch =\n findTouchByIdentifier(event.changedTouches, activeTouchIdRef.current) ??\n findTouchByIdentifier(event.touches, activeTouchIdRef.current);\n\n if (!touch) return;\n\n event.preventDefault();\n event.stopPropagation();\n const hasClosed = updateDragByClientY(touch.clientY);\n if (hasClosed) {\n activeTouchIdRef.current = null;\n }\n },\n [updateDragByClientY],\n );\n\n const handleDragTouchEnd = useCallback(\n (event: TouchEvent<HTMLDivElement>) => {\n if (activeTouchIdRef.current === null) return;\n\n const touch = findTouchByIdentifier(event.changedTouches, activeTouchIdRef.current);\n\n if (!touch) return;\n\n event.preventDefault();\n event.stopPropagation();\n activeTouchIdRef.current = null;\n const shouldClose = dragProgress >= 1;\n resetDragState(shouldClose);\n },\n [dragProgress, resetDragState],\n );\n\n const handleDragTouchCancel = useCallback(\n (event: TouchEvent<HTMLDivElement>) => {\n if (activeTouchIdRef.current === null) return;\n\n const touch = findTouchByIdentifier(event.changedTouches, activeTouchIdRef.current);\n\n if (!touch) return;\n\n event.preventDefault();\n event.stopPropagation();\n activeTouchIdRef.current = null;\n resetDragState();\n },\n [resetDragState],\n );\n\n const dragHandle = useMemo(() => {\n if (!enableDragHandle) {\n return null;\n }\n\n return (\n <StyledMentionFinderDragHandle $alignment={popupAlignment}>\n <StyledMentionFinderDragHandleInner\n $alignment={popupAlignment}\n $dragOffset={dragOffset}\n $dragProgress={dragProgress}\n $isDragging={isDraggingHandle}\n onPointerDown={handleDragPointerDown}\n onPointerMove={handleDragPointerMove}\n onPointerUp={handleDragPointerUp}\n onPointerCancel={handleDragPointerCancel}\n onTouchStart={handleDragTouchStart}\n onTouchMove={handleDragTouchMove}\n onTouchEnd={handleDragTouchEnd}\n onTouchCancel={handleDragTouchCancel}\n />\n </StyledMentionFinderDragHandle>\n );\n }, [\n enableDragHandle,\n popupAlignment,\n dragOffset,\n dragProgress,\n isDraggingHandle,\n handleDragPointerDown,\n handleDragPointerMove,\n handleDragPointerUp,\n handleDragPointerCancel,\n handleDragTouchStart,\n handleDragTouchMove,\n handleDragTouchEnd,\n handleDragTouchCancel,\n ]);\n\n const shouldRenderPopup = shouldShowPopup && fullMatch && items.length > 0;\n\n useEffect(() => {\n if (!enableDragHandle || !shouldRenderPopup) {\n setOverlayContainer(null);\n return;\n }\n\n const container = popupRef.current?.closest(\n overlayContainerSelector ?? '.dialog-inner, .chayns-threads, .page-provider, .tapp',\n );\n\n if (container) {\n setOverlayContainer(container);\n return;\n }\n\n if (typeof document !== 'undefined') {\n setOverlayContainer(document.body);\n }\n }, [enableDragHandle, overlayContainerSelector, shouldRenderPopup]);\n\n const overlayPortal =\n overlayContainer && enableDragHandle\n ? createPortal(\n <AnimatePresence initial={false}>\n {shouldRenderPopup && (\n <StyledMentionFinderOverlay\n key=\"mention-finder-overlay\"\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n initial={{ opacity: 0 }}\n onClick={handleOverlayClick}\n />\n )}\n </AnimatePresence>,\n overlayContainer,\n )\n : null;\n\n return (\n <>\n {overlayPortal}\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldRenderPopup && (\n <StyledMotionMentionFinderPopup\n ref={popupRef}\n animate={{\n height: 'auto',\n opacity: 1,\n y: dragOffset,\n }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n $popupAlignment={popupAlignment}\n $isDragging={enableDragHandle}\n transition={{ duration: 0.15 }}\n tabIndex={0}\n >\n {enableDragHandle &&\n popupAlignment === MentionFinderPopupAlignment.Top &&\n dragHandle}\n <StyledMentionFinderItemList ref={listRef}>\n {items}\n </StyledMentionFinderItemList>\n {enableDragHandle &&\n popupAlignment === MentionFinderPopupAlignment.Bottom &&\n dragHandle}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n </>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MentionFinder.js","names":["_react","require","_react2","_interopRequireWildcard","_reactDom","_mentionFinder","_MentionFinderItem","_interopRequireDefault","_MentionFinder","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DRAG_CLOSE_THRESHOLD_IN_PX","isTextInputElement","element","tagName","toLowerCase","type","isContentEditable","findTouchByIdentifier","touchList","identifier","length","touch","item","MentionFinder","inputValue","members","onSelect","popupAlignment","enableDragHandle","dragCloseThresholdInPx","overlayContainerSelector","activeMember","setActiveMember","useState","focusedIndex","setFocusedIndex","shouldShowPopup","setShouldShowPopup","popupRef","useRef","listRef","inputElementRef","dragStartYRef","hasTriggeredDragCloseRef","activePointerIdRef","activeTouchIdRef","isDraggingHandle","setIsDraggingHandle","dragOffset","setDragOffset","dragProgress","setDragProgress","overlayContainer","setOverlayContainer","fullMatch","searchString","useMemo","_regExpMatchArray$","regExpMatchArray","match","filteredMembers","filter","id","info","name","includes","replace","shouldRenderPopup","handleKeyDown","useCallback","event","targetElement","target","current","key","_listRef$current","preventDefault","children","newIndex","prevElement","tabIndex","member","newElement","focus","stopPropagation","window","requestAnimationFrame","_inputElementRef$curr","handleMemberClick","handleMemberHover","useEffect","isActiveMemberShown","some","items","map","createElement","isActive","onClick","onHover","activeElement","document","addEventListener","removeEventListener","closePopupViaDrag","handleOverlayClick","updateDragByClientY","clientY","closingDirectionMultiplier","MentionFinderPopupAlignment","Bottom","rawDelta","normalizedDelta","positiveDelta","Math","max","limitedDelta","min","handleDragPointerDown","pointerType","button","pointerId","currentTarget","setPointerCapture","handleDragPointerMove","hasClosed","releasePointerCapture","resetDragState","shouldClose","handleDragPointerUp","handleDragPointerCancel","handleDragTouchStart","touches","handleDragTouchMove","changedTouches","handleDragTouchEnd","handleDragTouchCancel","dragHandle","StyledMentionFinderDragHandle","$alignment","StyledMentionFinderDragHandleInner","$dragOffset","$dragProgress","$isDragging","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","_popupRef$current","container","closest","body","overlayPortal","createPortal","AnimatePresence","initial","StyledMentionFinderOverlay","animate","opacity","exit","Fragment","StyledMentionFinder","className","StyledMotionMentionFinderPopup","ref","height","y","$popupAlignment","transition","duration","Top","StyledMentionFinderItemList","displayName","_default","exports"],"sources":["../../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n PointerEvent,\n TouchList,\n TouchEvent,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { MentionFinderPopupAlignment } from '../../constants/mentionFinder';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport {\n StyledMentionFinder,\n StyledMentionFinderDragHandle,\n StyledMentionFinderDragHandleInner,\n StyledMentionFinderItemList,\n StyledMentionFinderOverlay,\n StyledMotionMentionFinderPopup,\n} from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info?: string;\n imageUrl: string;\n name: string;\n shouldShowRoundImage?: boolean;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n /**\n * Enables the optional drag handle inside the popup\n */\n enableDragHandle?: boolean;\n /**\n * Threshold in pixels to drag to close the popup\n */\n dragCloseThresholdInPx?: number;\n /**\n * Selector for the container to render the overlay into (defaults to closest dialog, thread, page provider or tapp)\n */\n overlayContainerSelector?: string;\n};\n\nconst DRAG_CLOSE_THRESHOLD_IN_PX = 60;\n\nconst isTextInputElement = (\n element: HTMLElement | null,\n): element is HTMLInputElement | HTMLTextAreaElement => {\n if (!element) {\n return false;\n }\n\n const tagName = element.tagName.toLowerCase();\n\n return (\n (tagName === 'input' && (element as HTMLInputElement).type !== 'button') ||\n tagName === 'textarea' ||\n element.isContentEditable\n );\n};\n\nconst findTouchByIdentifier = (touchList: TouchList, identifier: number | null) => {\n if (identifier === null) {\n return null;\n }\n\n for (let i = 0; i < touchList.length; i += 1) {\n const touch = touchList.item(i);\n if (touch && touch.identifier === identifier) {\n return touch;\n }\n }\n\n return null;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n enableDragHandle = false,\n dragCloseThresholdInPx = DRAG_CLOSE_THRESHOLD_IN_PX,\n overlayContainerSelector,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n const [focusedIndex, setFocusedIndex] = useState(0);\n const [shouldShowPopup, setShouldShowPopup] = useState(true);\n\n const popupRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const inputElementRef = useRef<HTMLElement | null>(null);\n const dragStartYRef = useRef<number | null>(null);\n const hasTriggeredDragCloseRef = useRef(false);\n const activePointerIdRef = useRef<number | null>(null);\n const activeTouchIdRef = useRef<number | null>(null);\n\n const [isDraggingHandle, setIsDraggingHandle] = useState(false);\n const [dragOffset, setDragOffset] = useState(0);\n const [dragProgress, setDragProgress] = useState(0);\n const [overlayContainer, setOverlayContainer] = useState<Element | null>(null);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@(?!\\s)([^\\s]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info?.replace('chayns', '').toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString),\n )\n : members,\n [members, searchString],\n );\n\n const shouldRenderPopup = shouldShowPopup && !!fullMatch && filteredMembers.length > 0;\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n const targetElement = event.target as HTMLElement | null;\n\n if (isTextInputElement(targetElement)) {\n inputElementRef.current = targetElement;\n }\n\n if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && shouldRenderPopup) {\n event.preventDefault();\n\n const children = listRef.current?.children;\n\n if (children && children.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (event.key === 'ArrowUp' ? -1 : 1) +\n children.length) %\n children.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const member = filteredMembers[newIndex];\n\n setActiveMember(member);\n\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter' && shouldRenderPopup) {\n event.preventDefault();\n event.stopPropagation();\n\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n }\n } else if (event.key === 'Escape' && shouldRenderPopup) {\n event.preventDefault();\n event.stopPropagation();\n setShouldShowPopup(false);\n\n window.requestAnimationFrame(() => {\n inputElementRef.current?.focus();\n });\n }\n },\n [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect, shouldRenderPopup],\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect],\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover],\n );\n\n useEffect(() => {\n setDragOffset(0);\n setDragProgress(0);\n hasTriggeredDragCloseRef.current = false;\n setShouldShowPopup(true);\n }, [inputValue]);\n\n useEffect(() => {\n if (!shouldRenderPopup) {\n return;\n }\n\n const activeElement = document.activeElement as HTMLElement | null;\n\n if (isTextInputElement(activeElement)) {\n inputElementRef.current = activeElement;\n }\n }, [shouldRenderPopup]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n const closePopupViaDrag = useCallback(() => {\n if (hasTriggeredDragCloseRef.current) {\n return;\n }\n hasTriggeredDragCloseRef.current = true;\n setDragOffset(0);\n setDragProgress(0);\n setShouldShowPopup(false);\n }, []);\n\n const handleOverlayClick = useCallback(() => {\n closePopupViaDrag();\n }, [closePopupViaDrag]);\n\n const updateDragByClientY = useCallback(\n (clientY: number) => {\n if (dragStartYRef.current === null) {\n return false;\n }\n\n const closingDirectionMultiplier =\n popupAlignment === MentionFinderPopupAlignment.Bottom ? -1 : 1;\n const rawDelta = clientY - dragStartYRef.current;\n const normalizedDelta = rawDelta * closingDirectionMultiplier;\n const positiveDelta = Math.max(0, normalizedDelta);\n const limitedDelta = Math.min(positiveDelta, dragCloseThresholdInPx);\n\n setDragOffset(limitedDelta * closingDirectionMultiplier);\n setDragProgress(Math.min(positiveDelta / dragCloseThresholdInPx, 1));\n\n if (positiveDelta >= dragCloseThresholdInPx) {\n dragStartYRef.current = null;\n setIsDraggingHandle(false);\n closePopupViaDrag();\n return true;\n }\n\n return false;\n },\n [closePopupViaDrag, dragCloseThresholdInPx, popupAlignment],\n );\n\n const handleDragPointerDown = useCallback((event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch') {\n return;\n }\n if (event.pointerType === 'mouse' && event.button !== 0) {\n return;\n }\n if (dragStartYRef.current !== null) {\n return;\n }\n activePointerIdRef.current = event.pointerId;\n dragStartYRef.current = event.clientY;\n hasTriggeredDragCloseRef.current = false;\n setDragOffset(0);\n setDragProgress(0);\n setIsDraggingHandle(true);\n event.currentTarget.setPointerCapture(event.pointerId);\n event.stopPropagation();\n }, []);\n\n const handleDragPointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch' || activePointerIdRef.current !== event.pointerId) {\n return;\n }\n if (dragStartYRef.current === null) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const hasClosed = updateDragByClientY(event.clientY);\n\n if (hasClosed) {\n event.currentTarget.releasePointerCapture(event.pointerId);\n activePointerIdRef.current = null;\n }\n },\n [updateDragByClientY],\n );\n\n const resetDragState = useCallback(\n (shouldClose = false) => {\n dragStartYRef.current = null;\n setIsDraggingHandle(false);\n if (shouldClose) {\n closePopupViaDrag();\n } else {\n setDragOffset(0);\n setDragProgress(0);\n }\n },\n [closePopupViaDrag],\n );\n\n const handleDragPointerUp = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch' || activePointerIdRef.current !== event.pointerId) {\n return;\n }\n event.stopPropagation();\n const shouldClose = dragProgress >= 1;\n resetDragState(shouldClose);\n event.currentTarget.releasePointerCapture(event.pointerId);\n activePointerIdRef.current = null;\n },\n [dragProgress, resetDragState],\n );\n\n const handleDragPointerCancel = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === 'touch' || activePointerIdRef.current !== event.pointerId) {\n return;\n }\n event.stopPropagation();\n resetDragState();\n event.currentTarget.releasePointerCapture(event.pointerId);\n activePointerIdRef.current = null;\n },\n [resetDragState],\n );\n\n const handleDragTouchStart = useCallback((event: TouchEvent<HTMLDivElement>) => {\n if (event.touches.length === 0 || dragStartYRef.current !== null) {\n return;\n }\n\n const touch = event.touches[0];\n\n if (!touch) return;\n\n activeTouchIdRef.current = touch.identifier;\n dragStartYRef.current = touch.clientY;\n hasTriggeredDragCloseRef.current = false;\n setDragOffset(0);\n setDragProgress(0);\n setIsDraggingHandle(true);\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const handleDragTouchMove = useCallback(\n (event: TouchEvent<HTMLDivElement>) => {\n if (dragStartYRef.current === null || activeTouchIdRef.current === null) {\n return;\n }\n const touch =\n findTouchByIdentifier(event.changedTouches, activeTouchIdRef.current) ??\n findTouchByIdentifier(event.touches, activeTouchIdRef.current);\n\n if (!touch) return;\n\n event.preventDefault();\n event.stopPropagation();\n const hasClosed = updateDragByClientY(touch.clientY);\n if (hasClosed) {\n activeTouchIdRef.current = null;\n }\n },\n [updateDragByClientY],\n );\n\n const handleDragTouchEnd = useCallback(\n (event: TouchEvent<HTMLDivElement>) => {\n if (activeTouchIdRef.current === null) return;\n\n const touch = findTouchByIdentifier(event.changedTouches, activeTouchIdRef.current);\n\n if (!touch) return;\n\n event.preventDefault();\n event.stopPropagation();\n activeTouchIdRef.current = null;\n const shouldClose = dragProgress >= 1;\n resetDragState(shouldClose);\n },\n [dragProgress, resetDragState],\n );\n\n const handleDragTouchCancel = useCallback(\n (event: TouchEvent<HTMLDivElement>) => {\n if (activeTouchIdRef.current === null) return;\n\n const touch = findTouchByIdentifier(event.changedTouches, activeTouchIdRef.current);\n\n if (!touch) return;\n\n event.preventDefault();\n event.stopPropagation();\n activeTouchIdRef.current = null;\n resetDragState();\n },\n [resetDragState],\n );\n\n const dragHandle = useMemo(() => {\n if (!enableDragHandle) {\n return null;\n }\n\n return (\n <StyledMentionFinderDragHandle $alignment={popupAlignment}>\n <StyledMentionFinderDragHandleInner\n $alignment={popupAlignment}\n $dragOffset={dragOffset}\n $dragProgress={dragProgress}\n $isDragging={isDraggingHandle}\n onPointerDown={handleDragPointerDown}\n onPointerMove={handleDragPointerMove}\n onPointerUp={handleDragPointerUp}\n onPointerCancel={handleDragPointerCancel}\n onTouchStart={handleDragTouchStart}\n onTouchMove={handleDragTouchMove}\n onTouchEnd={handleDragTouchEnd}\n onTouchCancel={handleDragTouchCancel}\n />\n </StyledMentionFinderDragHandle>\n );\n }, [\n enableDragHandle,\n popupAlignment,\n dragOffset,\n dragProgress,\n isDraggingHandle,\n handleDragPointerDown,\n handleDragPointerMove,\n handleDragPointerUp,\n handleDragPointerCancel,\n handleDragTouchStart,\n handleDragTouchMove,\n handleDragTouchEnd,\n handleDragTouchCancel,\n ]);\n\n useEffect(() => {\n if (!enableDragHandle || !shouldRenderPopup) {\n setOverlayContainer(null);\n return;\n }\n\n const container = popupRef.current?.closest(\n overlayContainerSelector ?? '.dialog-inner, .chayns-threads, .page-provider, .tapp',\n );\n\n if (container) {\n setOverlayContainer(container);\n return;\n }\n\n if (typeof document !== 'undefined') {\n setOverlayContainer(document.body);\n }\n }, [enableDragHandle, overlayContainerSelector, shouldRenderPopup]);\n\n const overlayPortal =\n overlayContainer && enableDragHandle\n ? createPortal(\n <AnimatePresence initial={false}>\n {shouldRenderPopup && (\n <StyledMentionFinderOverlay\n key=\"mention-finder-overlay\"\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n initial={{ opacity: 0 }}\n onClick={handleOverlayClick}\n />\n )}\n </AnimatePresence>,\n overlayContainer,\n )\n : null;\n\n return (\n <>\n {overlayPortal}\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldRenderPopup && (\n <StyledMotionMentionFinderPopup\n ref={popupRef}\n animate={{\n height: 'auto',\n opacity: 1,\n y: dragOffset,\n }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n $popupAlignment={popupAlignment}\n $isDragging={enableDragHandle}\n transition={{ duration: 0.15 }}\n tabIndex={0}\n >\n {enableDragHandle &&\n popupAlignment === MentionFinderPopupAlignment.Top &&\n dragHandle}\n <StyledMentionFinderItemList ref={listRef}>\n {items}\n </StyledMentionFinderItemList>\n {enableDragHandle &&\n popupAlignment === MentionFinderPopupAlignment.Bottom &&\n dragHandle}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n </>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionFinderItem.styles.js","names":["_styledComponents","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledMentionFinderItem","exports","styled","div","theme","$isActive","css","StyledMentionFinderItemImage","img","$shouldShowRoundImage","StyledMentionFinderItemContent","text","StyledMentionFinderItemContentName","StyledMentionFinderItemContentInfo"],"sources":["../../../../../src/components/mention-finder/mention-finder-item/MentionFinderItem.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledMentionFinderItemProps = WithTheme<{
|
|
1
|
+
{"version":3,"file":"MentionFinderItem.styles.js","names":["_styledComponents","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledMentionFinderItem","exports","styled","div","theme","$isActive","css","StyledMentionFinderItemImage","img","$shouldShowRoundImage","StyledMentionFinderItemContent","text","StyledMentionFinderItemContentName","StyledMentionFinderItemContentInfo"],"sources":["../../../../../src/components/mention-finder/mention-finder-item/MentionFinderItem.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledMentionFinderItemProps = WithTheme<{\n $isActive: boolean;\n}>;\n\nexport const StyledMentionFinderItem = styled.div<StyledMentionFinderItemProps>`\n align-items: center;\n cursor: pointer;\n display: flex;\n padding: 10px 8px;\n\n &:not(:last-child) {\n border-bottom: 1px solid\n rgba(${({ theme }: StyledMentionFinderItemProps) => theme['text-rgb']}, 0.15);\n }\n\n ${({ $isActive, theme }) =>\n $isActive &&\n css`\n background-color: ${theme['102']} !important;\n `}\n`;\n\ntype StyledMentionFinderItemImageProps = WithTheme<{\n $shouldShowRoundImage?: boolean;\n}>;\n\nexport const StyledMentionFinderItemImage = styled.img<StyledMentionFinderItemImageProps>`\n background-color: rgba(\n ${({ theme }: StyledMentionFinderItemImageProps) => theme['text-rgb']},\n 0.1\n );\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : 'initial')};\n box-shadow: 0 0 0 1px\n rgba(${({ theme }: StyledMentionFinderItemImageProps) => theme['009-rgb']}, 0.08) inset;\n flex: 0 0 auto;\n height: 40px;\n object-fit: cover;\n overflow: hidden;\n transition: border-radius 0.3s ease;\n width: 40px;\n`;\n\ntype StyledMentionFinderItemContentProps = WithTheme<unknown>;\n\nexport const StyledMentionFinderItemContent = styled.div`\n color: ${({ theme }: StyledMentionFinderItemContentProps) => theme.text};\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n justify-content: center;\n line-height: normal;\n margin-left: 10px;\n min-width: 0;\n`;\n\nexport const StyledMentionFinderItemContentName = styled.div``;\n\nexport const StyledMentionFinderItemContentInfo = styled.div`\n font-size: 85%;\n margin-top: 2px;\n opacity: 0.75;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAOzC,MAAMkB,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAGE,yBAAM,CAACC,GAAiC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,CAAC;EAAEC;AAAoC,CAAC,KAAKA,KAAK,CAAC,UAAU,CAAC;AACjF;AACA;AACA,MAAM,CAAC;EAAEC,SAAS;EAAED;AAAM,CAAC,KACnBC,SAAS,IACT,IAAAC,qBAAG;AACX,gCAAgCF,KAAK,CAAC,KAAK,CAAC;AAC5C,SAAS;AACT,CAAC;AAMM,MAAMG,4BAA4B,GAAAN,OAAA,CAAAM,4BAAA,GAAGL,yBAAM,CAACM,GAAsC;AACzF;AACA,UAAU,CAAC;EAAEJ;AAAyC,CAAC,KAAKA,KAAK,CAAC,UAAU,CAAC;AAC7E;AACA;AACA,qBAAqB,CAAC;EAAEK;AAAsB,CAAC,KAAMA,qBAAqB,GAAG,KAAK,GAAG,SAAU;AAC/F;AACA,eAAe,CAAC;EAAEL;AAAyC,CAAC,KAAKA,KAAK,CAAC,SAAS,CAAC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAIM,MAAMM,8BAA8B,GAAAT,OAAA,CAAAS,8BAAA,GAAGR,yBAAM,CAACC,GAAG;AACxD,aAAa,CAAC;EAAEC;AAA2C,CAAC,KAAKA,KAAK,CAACO,IAAI;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,kCAAkC,GAAAX,OAAA,CAAAW,kCAAA,GAAGV,yBAAM,CAACC,GAAG,EAAE;AAEvD,MAAMU,kCAAkC,GAAAZ,OAAA,CAAAY,kCAAA,GAAGX,yBAAM,CAACC,GAAG;AAC5D;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _element = require("../../hooks/element");
|
|
10
|
+
var _useKeyboardFocusHighlighting = require("../../hooks/useKeyboardFocusHighlighting");
|
|
10
11
|
var _environment = require("../../utils/environment");
|
|
11
12
|
var _ContextMenu = _interopRequireDefault(require("../context-menu/ContextMenu"));
|
|
12
13
|
var _ActionButton = _interopRequireDefault(require("./action-button/ActionButton"));
|
|
@@ -72,11 +73,13 @@ const MultiActionButton = ({
|
|
|
72
73
|
secondaryContextMenu,
|
|
73
74
|
shouldAutoCollapse = false,
|
|
74
75
|
shouldUseFullWidth,
|
|
76
|
+
shouldEnableKeyboardHighlighting,
|
|
75
77
|
width
|
|
76
78
|
}) => {
|
|
77
79
|
const [isExtendedByClick, setIsExtendedByClick] = (0, _react.useState)(false);
|
|
78
80
|
const [isSecondaryExpanded, setIsSecondaryExpanded] = (0, _react.useState)(false);
|
|
79
81
|
const [isSecondaryHovered, setIsSecondaryHovered] = (0, _react.useState)(false);
|
|
82
|
+
const [isSecondaryFocused, setIsSecondaryFocused] = (0, _react.useState)(false);
|
|
80
83
|
const autoCollapseTimeoutRef = (0, _react.useRef)(null);
|
|
81
84
|
const multiActionButtonRef = (0, _react.useRef)(null);
|
|
82
85
|
const secondaryContextMenuRef = (0, _react.useRef)(null);
|
|
@@ -90,6 +93,7 @@ const MultiActionButton = ({
|
|
|
90
93
|
const hasExpandableSecondaryAction = Boolean(secondaryAction) && !hasSecondaryContextMenu;
|
|
91
94
|
const hasSecondaryAction = Boolean(secondaryTriggerAction);
|
|
92
95
|
const shouldUseContentWidth = !width && !shouldUseFullWidth;
|
|
96
|
+
const shouldShowKeyboardHighlighting = (0, _useKeyboardFocusHighlighting.useKeyboardFocusHighlighting)(shouldEnableKeyboardHighlighting && !isDisabled);
|
|
93
97
|
const expandedMeasuredContent = (0, _react.useMemo)(() => createMeasuredMultiActionButtonContent({
|
|
94
98
|
backgroundColor,
|
|
95
99
|
gapColor,
|
|
@@ -140,7 +144,15 @@ const MultiActionButton = ({
|
|
|
140
144
|
height
|
|
141
145
|
});
|
|
142
146
|
const shouldHidePrimaryLabelForMinimumWidth = shouldKeepPrimaryLabelVisible && typeof availableWidth === 'number' && availableWidth <= minimumPrimaryLabelVisibleWidth;
|
|
143
|
-
const resolvedWidth =
|
|
147
|
+
const resolvedWidth = (0, _react.useMemo)(() => {
|
|
148
|
+
if (shouldKeepFullWidth) {
|
|
149
|
+
return '100%';
|
|
150
|
+
}
|
|
151
|
+
if (effectiveIsCollapsed) {
|
|
152
|
+
return height;
|
|
153
|
+
}
|
|
154
|
+
return width ?? 'fit-content';
|
|
155
|
+
}, [effectiveIsCollapsed, height, shouldKeepFullWidth, width]);
|
|
144
156
|
const secondaryContextMenuTriggerStyle = (0, _MultiActionButton2.getSecondaryContextMenuTriggerStyle)({
|
|
145
157
|
height,
|
|
146
158
|
isCollapsed: isSecondaryHidden,
|
|
@@ -197,6 +209,7 @@ const MultiActionButton = ({
|
|
|
197
209
|
setIsSecondaryExpanded(false);
|
|
198
210
|
setIsExtendedByClick(false);
|
|
199
211
|
setIsSecondaryHovered(false);
|
|
212
|
+
setIsSecondaryFocused(false);
|
|
200
213
|
}
|
|
201
214
|
}, [clearAutoCollapseTimeout, effectiveIsCollapsed, shouldPreventSecondaryExpansion]);
|
|
202
215
|
|
|
@@ -263,11 +276,26 @@ const MultiActionButton = ({
|
|
|
263
276
|
setIsSecondaryExpanded(false);
|
|
264
277
|
}
|
|
265
278
|
}, [effectiveIsCollapsed, isExtendedByClick, isTouch]);
|
|
279
|
+
const handleSecondaryFocus = (0, _react.useCallback)(() => {
|
|
280
|
+
if (!secondaryAction || isSecondaryHidden || isDisabled || shouldPreventSecondaryExpansion || secondaryAction.isDisabled) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
setIsSecondaryFocused(true);
|
|
284
|
+
if (!isExtendedByClick) {
|
|
285
|
+
setIsSecondaryExpanded(true);
|
|
286
|
+
}
|
|
287
|
+
}, [isDisabled, isExtendedByClick, isSecondaryHidden, secondaryAction, shouldPreventSecondaryExpansion]);
|
|
288
|
+
const handleSecondaryBlur = (0, _react.useCallback)(() => {
|
|
289
|
+
setIsSecondaryFocused(false);
|
|
290
|
+
if (!isExtendedByClick && !effectiveIsCollapsed) {
|
|
291
|
+
setIsSecondaryExpanded(false);
|
|
292
|
+
}
|
|
293
|
+
}, [effectiveIsCollapsed, isExtendedByClick]);
|
|
266
294
|
|
|
267
295
|
/**
|
|
268
|
-
* Secondary label is visible when expanded or when hovered
|
|
296
|
+
* Secondary label is visible when expanded or when hovered/focused.
|
|
269
297
|
*/
|
|
270
|
-
const isSecondaryLabelVisible = isSecondaryExpanded || !isTouch && isSecondaryHovered;
|
|
298
|
+
const isSecondaryLabelVisible = isSecondaryExpanded || !isTouch && isSecondaryHovered || isSecondaryFocused;
|
|
271
299
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, measuredElement, /*#__PURE__*/_react.default.createElement(_MultiActionButton.StyledMultiActionButton, {
|
|
272
300
|
className: (0, _clsx.default)('beta-chayns-multi-action', className),
|
|
273
301
|
ref: multiActionButtonRef,
|
|
@@ -285,6 +313,7 @@ const MultiActionButton = ({
|
|
|
285
313
|
isSolo: !hasSecondaryAction || isSecondaryHidden || effectiveIsCollapsed,
|
|
286
314
|
onClick: handlePrimaryClick,
|
|
287
315
|
showLabel: !effectiveIsCollapsed && !shouldHidePrimaryLabelForMinimumWidth && (shouldKeepPrimaryLabelVisible || !isAutoIconsOnly) && (shouldKeepPrimaryLabelVisible || !shouldHideSecondaryForAutoCollapse) && (!hasExpandableSecondaryAction || !isSecondaryExpanded),
|
|
316
|
+
shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
|
|
288
317
|
shouldUseContentWidth: shouldUseContentWidth,
|
|
289
318
|
height: height
|
|
290
319
|
}), hasSecondaryAction && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_MultiActionButton.StyledSeparator, {
|
|
@@ -309,6 +338,7 @@ const MultiActionButton = ({
|
|
|
309
338
|
key: "multi-action-secondary-context-menu",
|
|
310
339
|
onClick: handleSecondaryClick,
|
|
311
340
|
showLabel: false,
|
|
341
|
+
shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
|
|
312
342
|
shouldUseContentWidth: shouldUseContentWidth,
|
|
313
343
|
height: height
|
|
314
344
|
})) : /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
|
|
@@ -323,7 +353,10 @@ const MultiActionButton = ({
|
|
|
323
353
|
onClick: handleSecondaryClick,
|
|
324
354
|
onMouseEnter: handleSecondaryMouseEnter,
|
|
325
355
|
onMouseLeave: handleSecondaryMouseLeave,
|
|
356
|
+
onFocus: handleSecondaryFocus,
|
|
357
|
+
onBlur: handleSecondaryBlur,
|
|
326
358
|
showLabel: !isSecondaryHidden && !isAutoIconsOnly && isSecondaryLabelVisible,
|
|
359
|
+
shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
|
|
327
360
|
shouldUseContentWidth: shouldUseContentWidth,
|
|
328
361
|
height: height
|
|
329
362
|
}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiActionButton.js","names":["_clsx","_interopRequireDefault","require","_react","_interopRequireWildcard","_element","_environment","_ContextMenu","_ActionButton","_MultiActionButton","_MultiActionButton2","_MultiActionButton3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SECONDARY_CONTEXT_MENU_ACTION","icon","label","undefined","createMeasuredMultiActionButtonContent","backgroundColor","gapColor","height","primaryAction","secondaryAction","createElement","StyledMultiActionButton","style","width","action","actionType","isCollapsed","isDisabled","isShrunk","isSolo","showLabel","shouldUseContentWidth","Fragment","StyledSeparator","$gapColor","$isHidden","isExpanded","isHidden","MultiActionButton","className","extendedTimeoutMs","MultiActionButtonHeight","Medium","secondaryContextMenu","shouldAutoCollapse","shouldUseFullWidth","isExtendedByClick","setIsExtendedByClick","useState","isSecondaryExpanded","setIsSecondaryExpanded","isSecondaryHovered","setIsSecondaryHovered","autoCollapseTimeoutRef","useRef","multiActionButtonRef","secondaryContextMenuRef","autoCollapseMode","setAutoCollapseMode","MultiActionButtonAutoCollapseMode","Expanded","isTouch","useIsTouch","parentSize","useElementSize","shouldUseParentElement","hasSecondaryContextMenu","Boolean","length","secondaryTriggerAction","hasExpandableSecondaryAction","hasSecondaryAction","expandedMeasuredContent","useMemo","measuredElement","expandedMeasuredWidth","useMeasuredClone","content","availableWidth","parentWidth","Math","min","useEffect","previousMode","getMultiActionButtonAutoCollapseMode","expandedWidth","isAutoIconsOnly","IconsOnly","isAutoPrimaryOnly","PrimaryOnly","shouldKeepFullWidth","shouldHideSecondaryForAutoCollapse","effectiveIsCollapsed","resolvedSecondaryAction","isSecondaryHidden","shouldPreventSecondaryExpansion","shouldKeepPrimaryLabelVisible","minimumPrimaryLabelVisibleWidth","getMinimumPrimaryLabelVisibleWidth","hasVisibleSecondaryAction","shouldHidePrimaryLabelForMinimumWidth","resolvedWidth","secondaryContextMenuTriggerStyle","getSecondaryContextMenuTriggerStyle","clearAutoCollapseTimeout","useCallback","current","window","clearTimeout","resetAutoCollapseTimeout","setTimeout","expandSecondaryByClick","handlePrimaryClick","event","_primaryAction$onClic","payload","isExtended","onClick","handleSecondaryClick","_resolvedSecondaryAct","_secondaryContextMenu","show","handleSecondaryMouseEnter","handleSecondaryMouseLeave","isSecondaryLabelVisible","clsx","ref","maxWidth","items","shouldDisableClick","shouldUseDefaultTriggerStyles","shouldHidePopupArrow","yOffset","key","onMouseEnter","onMouseLeave","displayName","_default","exports"],"sources":["../../../../src/components/multi-action-button/MultiActionButton.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, {\n FC,\n MouseEvent,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useElementSize, useMeasuredClone } from '../../hooks/element';\nimport { useIsTouch } from '../../utils/environment';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport type { ContextMenuRef } from '../context-menu/ContextMenu.types';\nimport ActionButton from './action-button/ActionButton';\nimport { StyledMultiActionButton, StyledSeparator } from './MultiActionButton.styles';\nimport {\n getMinimumPrimaryLabelVisibleWidth,\n getMultiActionButtonAutoCollapseMode,\n getSecondaryContextMenuTriggerStyle,\n MultiActionButtonAutoCollapseMode,\n} from './MultiActionButton.utils';\nimport { MultiActionButtonHeight } from './MultiActionButton.types';\nimport type {\n MultiActionButtonAction,\n MultiActionButtonActionEvent,\n MultiActionButtonProps,\n} from './MultiActionButton.types';\n\nconst SECONDARY_CONTEXT_MENU_ACTION: MultiActionButtonAction = {\n icon: 'fa fa-chevron-down',\n label: undefined,\n};\n\ninterface CreateMeasuredMultiActionButtonContentOptions {\n backgroundColor?: string;\n gapColor?: string;\n height: number;\n primaryAction: MultiActionButtonAction;\n secondaryAction?: MultiActionButtonAction;\n}\n\nconst createMeasuredMultiActionButtonContent = ({\n backgroundColor,\n gapColor,\n height,\n primaryAction,\n secondaryAction,\n}: CreateMeasuredMultiActionButtonContentOptions): ReactNode => (\n <StyledMultiActionButton style={{ width: 'fit-content' }}>\n <ActionButton\n action={primaryAction}\n actionType=\"primary\"\n backgroundColor={primaryAction.backgroundColor ?? backgroundColor}\n isCollapsed={false}\n isDisabled={false}\n isShrunk={false}\n isSolo={!secondaryAction}\n showLabel\n shouldUseContentWidth\n height={height}\n />\n {secondaryAction && (\n <>\n <StyledSeparator $gapColor={gapColor} $isHidden={false} />\n <ActionButton\n action={secondaryAction}\n actionType=\"secondary\"\n backgroundColor={secondaryAction.backgroundColor ?? backgroundColor}\n isCollapsed={false}\n isDisabled={false}\n isExpanded={false}\n isHidden={false}\n showLabel={false}\n shouldUseContentWidth\n height={height}\n />\n </>\n )}\n </StyledMultiActionButton>\n);\n\n/**\n * Multi-action button with optional secondary action that can expand on hover/click.\n */\nconst MultiActionButton: FC<MultiActionButtonProps> = ({\n backgroundColor,\n className,\n extendedTimeoutMs = 3000,\n gapColor,\n height = MultiActionButtonHeight.Medium,\n isCollapsed = false,\n isDisabled = false,\n primaryAction,\n secondaryAction,\n secondaryContextMenu,\n shouldAutoCollapse = false,\n shouldUseFullWidth,\n width,\n}) => {\n const [isExtendedByClick, setIsExtendedByClick] = useState(false);\n const [isSecondaryExpanded, setIsSecondaryExpanded] = useState(false);\n const [isSecondaryHovered, setIsSecondaryHovered] = useState(false);\n\n const autoCollapseTimeoutRef = useRef<number | null>(null);\n const multiActionButtonRef = useRef<HTMLDivElement | null>(null);\n const secondaryContextMenuRef = useRef<ContextMenuRef>(null);\n const [autoCollapseMode, setAutoCollapseMode] = useState<MultiActionButtonAutoCollapseMode>(\n MultiActionButtonAutoCollapseMode.Expanded,\n );\n\n const isTouch = useIsTouch();\n const parentSize = useElementSize(multiActionButtonRef, { shouldUseParentElement: true });\n\n const hasSecondaryContextMenu = Boolean(secondaryContextMenu?.length);\n const secondaryTriggerAction = hasSecondaryContextMenu\n ? SECONDARY_CONTEXT_MENU_ACTION\n : secondaryAction;\n const hasExpandableSecondaryAction = Boolean(secondaryAction) && !hasSecondaryContextMenu;\n const hasSecondaryAction = Boolean(secondaryTriggerAction);\n const shouldUseContentWidth = !width && !shouldUseFullWidth;\n\n const expandedMeasuredContent = useMemo(\n () =>\n createMeasuredMultiActionButtonContent({\n backgroundColor,\n gapColor,\n height,\n primaryAction,\n secondaryAction: secondaryTriggerAction,\n }),\n [backgroundColor, gapColor, height, primaryAction, secondaryTriggerAction],\n );\n\n const { measuredElement, width: expandedMeasuredWidth } = useMeasuredClone({\n content: expandedMeasuredContent,\n });\n\n const availableWidth = useMemo(() => {\n const parentWidth = parentSize?.width;\n\n if (typeof width === 'number') {\n return typeof parentWidth === 'number' ? Math.min(parentWidth, width) : width;\n }\n\n return parentWidth;\n }, [parentSize?.width, width]);\n\n useEffect(() => {\n if (!shouldAutoCollapse || isCollapsed) {\n setAutoCollapseMode(MultiActionButtonAutoCollapseMode.Expanded);\n return;\n }\n\n if (expandedMeasuredWidth <= 0) {\n return;\n }\n\n setAutoCollapseMode((previousMode) =>\n getMultiActionButtonAutoCollapseMode({\n availableWidth,\n expandedWidth: expandedMeasuredWidth,\n hasSecondaryAction,\n height,\n previousMode,\n }),\n );\n }, [\n availableWidth,\n expandedMeasuredWidth,\n hasSecondaryAction,\n height,\n isCollapsed,\n shouldAutoCollapse,\n ]);\n\n const isAutoIconsOnly =\n shouldAutoCollapse && autoCollapseMode === MultiActionButtonAutoCollapseMode.IconsOnly;\n const isAutoPrimaryOnly =\n shouldAutoCollapse && autoCollapseMode === MultiActionButtonAutoCollapseMode.PrimaryOnly;\n const shouldKeepFullWidth = Boolean(shouldUseFullWidth);\n const shouldHideSecondaryForAutoCollapse = hasSecondaryAction && isAutoPrimaryOnly;\n const effectiveIsCollapsed = isCollapsed || (!shouldKeepFullWidth && isAutoPrimaryOnly);\n const resolvedSecondaryAction = hasSecondaryAction ? secondaryTriggerAction : undefined;\n const isSecondaryHidden = effectiveIsCollapsed || shouldHideSecondaryForAutoCollapse;\n const shouldPreventSecondaryExpansion = isAutoIconsOnly || isSecondaryHidden;\n const shouldKeepPrimaryLabelVisible = shouldKeepFullWidth && shouldAutoCollapse;\n const minimumPrimaryLabelVisibleWidth = getMinimumPrimaryLabelVisibleWidth({\n hasVisibleSecondaryAction: hasSecondaryAction,\n height,\n });\n const shouldHidePrimaryLabelForMinimumWidth =\n shouldKeepPrimaryLabelVisible &&\n typeof availableWidth === 'number' &&\n availableWidth <= minimumPrimaryLabelVisibleWidth;\n\n const resolvedWidth = shouldKeepFullWidth\n ? '100%'\n : effectiveIsCollapsed\n ? height\n : (width ?? 'fit-content');\n\n const secondaryContextMenuTriggerStyle = getSecondaryContextMenuTriggerStyle({\n height,\n isCollapsed: isSecondaryHidden,\n isExpanded: false,\n shouldUseContentWidth,\n });\n\n /**\n * Clears the current auto-collapse timer without changing visual state.\n */\n const clearAutoCollapseTimeout = useCallback(() => {\n if (autoCollapseTimeoutRef.current) {\n window.clearTimeout(autoCollapseTimeoutRef.current);\n autoCollapseTimeoutRef.current = null;\n }\n }, []);\n\n /**\n * Clears and restarts the auto-collapse timer used after click-triggered expansion.\n */\n const resetAutoCollapseTimeout = useCallback(() => {\n clearAutoCollapseTimeout();\n\n if (extendedTimeoutMs <= 0) {\n return;\n }\n\n autoCollapseTimeoutRef.current = window.setTimeout(() => {\n setIsSecondaryExpanded(false);\n setIsExtendedByClick(false);\n }, extendedTimeoutMs);\n }, [clearAutoCollapseTimeout, extendedTimeoutMs]);\n\n /**\n * Expands the secondary action and remembers that it originated from a click.\n */\n const expandSecondaryByClick = useCallback(() => {\n setIsSecondaryExpanded(true);\n setIsExtendedByClick(true);\n resetAutoCollapseTimeout();\n }, [resetAutoCollapseTimeout]);\n\n /**\n * Cleanup timers on unmount.\n */\n useEffect(\n () => () => {\n clearAutoCollapseTimeout();\n },\n [clearAutoCollapseTimeout],\n );\n\n /**\n * Collapsing the control should also reset any temporary expansion state.\n */\n useEffect(() => {\n if (effectiveIsCollapsed || shouldPreventSecondaryExpansion) {\n clearAutoCollapseTimeout();\n setIsSecondaryExpanded(false);\n setIsExtendedByClick(false);\n setIsSecondaryHovered(false);\n }\n }, [clearAutoCollapseTimeout, effectiveIsCollapsed, shouldPreventSecondaryExpansion]);\n\n /**\n * Handler for the primary action button.\n */\n const handlePrimaryClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled || primaryAction.isDisabled) {\n return;\n }\n\n const payload: MultiActionButtonActionEvent = {\n action: 'primary',\n event,\n isExtended: isSecondaryExpanded,\n isTouch,\n };\n\n primaryAction.onClick?.(payload);\n },\n [isDisabled, isSecondaryExpanded, isTouch, primaryAction],\n );\n\n /**\n * Handler for the secondary action button.\n */\n const handleSecondaryClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (\n !resolvedSecondaryAction ||\n isSecondaryHidden ||\n isDisabled ||\n resolvedSecondaryAction.isDisabled\n ) {\n return;\n }\n\n if (hasSecondaryContextMenu) {\n secondaryContextMenuRef.current?.show();\n return;\n }\n\n const payload: MultiActionButtonActionEvent = {\n action: 'secondary',\n event,\n isExtended: isSecondaryExpanded,\n isTouch,\n };\n\n resolvedSecondaryAction.onClick?.(payload);\n if (!shouldPreventSecondaryExpansion) {\n expandSecondaryByClick();\n }\n },\n [\n expandSecondaryByClick,\n hasSecondaryContextMenu,\n isSecondaryHidden,\n isDisabled,\n isSecondaryExpanded,\n isTouch,\n resolvedSecondaryAction,\n shouldPreventSecondaryExpansion,\n ],\n );\n\n /**\n * Desktop hover behavior keeps the secondary action expanded while hovered.\n */\n const handleSecondaryMouseEnter = useCallback(() => {\n if (\n !secondaryAction ||\n isSecondaryHidden ||\n isTouch ||\n isDisabled ||\n shouldPreventSecondaryExpansion ||\n secondaryAction.isDisabled\n ) {\n return;\n }\n\n setIsSecondaryHovered(true);\n if (!isExtendedByClick) {\n setIsSecondaryExpanded(true);\n }\n }, [\n isSecondaryHidden,\n isDisabled,\n isExtendedByClick,\n isTouch,\n secondaryAction,\n shouldPreventSecondaryExpansion,\n ]);\n\n const handleSecondaryMouseLeave = useCallback(() => {\n if (isTouch) {\n return;\n }\n\n setIsSecondaryHovered(false);\n if (!isExtendedByClick && !effectiveIsCollapsed) {\n setIsSecondaryExpanded(false);\n }\n }, [effectiveIsCollapsed, isExtendedByClick, isTouch]);\n\n /**\n * Secondary label is visible when expanded or when hovered (desktop only).\n */\n const isSecondaryLabelVisible = isSecondaryExpanded || (!isTouch && isSecondaryHovered);\n\n return (\n <>\n {measuredElement}\n <StyledMultiActionButton\n className={clsx('beta-chayns-multi-action', className)}\n ref={multiActionButtonRef}\n style={{ maxWidth: '100%', width: resolvedWidth }}\n >\n <ActionButton\n action={primaryAction}\n actionType=\"primary\"\n backgroundColor={primaryAction.backgroundColor ?? backgroundColor}\n isCollapsed={effectiveIsCollapsed}\n isDisabled={isDisabled}\n isShrunk={\n hasSecondaryAction &&\n ((!shouldKeepFullWidth && isAutoIconsOnly) || isSecondaryExpanded)\n }\n isSolo={!hasSecondaryAction || isSecondaryHidden || effectiveIsCollapsed}\n onClick={handlePrimaryClick}\n showLabel={\n !effectiveIsCollapsed &&\n !shouldHidePrimaryLabelForMinimumWidth &&\n (shouldKeepPrimaryLabelVisible || !isAutoIconsOnly) &&\n (shouldKeepPrimaryLabelVisible || !shouldHideSecondaryForAutoCollapse) &&\n (!hasExpandableSecondaryAction || !isSecondaryExpanded)\n }\n shouldUseContentWidth={shouldUseContentWidth}\n height={height}\n />\n {hasSecondaryAction && (\n <>\n <StyledSeparator $gapColor={gapColor} $isHidden={isSecondaryHidden} />\n {hasSecondaryContextMenu ? (\n <ContextMenu\n items={secondaryContextMenu ?? []}\n ref={secondaryContextMenuRef}\n shouldDisableClick\n shouldUseDefaultTriggerStyles={false}\n shouldHidePopupArrow\n yOffset={-6}\n style={secondaryContextMenuTriggerStyle}\n >\n <ActionButton\n action={\n resolvedSecondaryAction ?? SECONDARY_CONTEXT_MENU_ACTION\n }\n actionType=\"secondary\"\n backgroundColor={\n resolvedSecondaryAction?.backgroundColor ?? backgroundColor\n }\n isCollapsed={false}\n isDisabled={isDisabled}\n isExpanded={false}\n isHidden={isSecondaryHidden}\n key=\"multi-action-secondary-context-menu\"\n onClick={handleSecondaryClick}\n showLabel={false}\n shouldUseContentWidth={shouldUseContentWidth}\n height={height}\n />\n </ContextMenu>\n ) : (\n <ActionButton\n action={\n resolvedSecondaryAction ??\n secondaryAction ??\n SECONDARY_CONTEXT_MENU_ACTION\n }\n actionType=\"secondary\"\n backgroundColor={\n resolvedSecondaryAction?.backgroundColor ?? backgroundColor\n }\n isCollapsed={false}\n isDisabled={isDisabled}\n isExpanded={!isAutoIconsOnly && isSecondaryExpanded}\n isHidden={isSecondaryHidden}\n key=\"multi-action-secondary-button\"\n onClick={handleSecondaryClick}\n onMouseEnter={handleSecondaryMouseEnter}\n onMouseLeave={handleSecondaryMouseLeave}\n showLabel={\n !isSecondaryHidden &&\n !isAutoIconsOnly &&\n isSecondaryLabelVisible\n }\n shouldUseContentWidth={shouldUseContentWidth}\n height={height}\n />\n )}\n </>\n )}\n </StyledMultiActionButton>\n </>\n );\n};\n\nMultiActionButton.displayName = 'MultiActionButton';\n\nexport default MultiActionButton;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MultiActionButton.js","names":["_clsx","_interopRequireDefault","require","_react","_interopRequireWildcard","_element","_useKeyboardFocusHighlighting","_environment","_ContextMenu","_ActionButton","_MultiActionButton","_MultiActionButton2","_MultiActionButton3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SECONDARY_CONTEXT_MENU_ACTION","icon","label","undefined","createMeasuredMultiActionButtonContent","backgroundColor","gapColor","height","primaryAction","secondaryAction","createElement","StyledMultiActionButton","style","width","action","actionType","isCollapsed","isDisabled","isShrunk","isSolo","showLabel","shouldUseContentWidth","Fragment","StyledSeparator","$gapColor","$isHidden","isExpanded","isHidden","MultiActionButton","className","extendedTimeoutMs","MultiActionButtonHeight","Medium","secondaryContextMenu","shouldAutoCollapse","shouldUseFullWidth","shouldEnableKeyboardHighlighting","isExtendedByClick","setIsExtendedByClick","useState","isSecondaryExpanded","setIsSecondaryExpanded","isSecondaryHovered","setIsSecondaryHovered","isSecondaryFocused","setIsSecondaryFocused","autoCollapseTimeoutRef","useRef","multiActionButtonRef","secondaryContextMenuRef","autoCollapseMode","setAutoCollapseMode","MultiActionButtonAutoCollapseMode","Expanded","isTouch","useIsTouch","parentSize","useElementSize","shouldUseParentElement","hasSecondaryContextMenu","Boolean","length","secondaryTriggerAction","hasExpandableSecondaryAction","hasSecondaryAction","shouldShowKeyboardHighlighting","useKeyboardFocusHighlighting","expandedMeasuredContent","useMemo","measuredElement","expandedMeasuredWidth","useMeasuredClone","content","availableWidth","parentWidth","Math","min","useEffect","previousMode","getMultiActionButtonAutoCollapseMode","expandedWidth","isAutoIconsOnly","IconsOnly","isAutoPrimaryOnly","PrimaryOnly","shouldKeepFullWidth","shouldHideSecondaryForAutoCollapse","effectiveIsCollapsed","resolvedSecondaryAction","isSecondaryHidden","shouldPreventSecondaryExpansion","shouldKeepPrimaryLabelVisible","minimumPrimaryLabelVisibleWidth","getMinimumPrimaryLabelVisibleWidth","hasVisibleSecondaryAction","shouldHidePrimaryLabelForMinimumWidth","resolvedWidth","secondaryContextMenuTriggerStyle","getSecondaryContextMenuTriggerStyle","clearAutoCollapseTimeout","useCallback","current","window","clearTimeout","resetAutoCollapseTimeout","setTimeout","expandSecondaryByClick","handlePrimaryClick","event","_primaryAction$onClic","payload","isExtended","onClick","handleSecondaryClick","_resolvedSecondaryAct","_secondaryContextMenu","show","handleSecondaryMouseEnter","handleSecondaryMouseLeave","handleSecondaryFocus","handleSecondaryBlur","isSecondaryLabelVisible","clsx","ref","maxWidth","items","shouldDisableClick","shouldUseDefaultTriggerStyles","shouldHidePopupArrow","yOffset","key","onMouseEnter","onMouseLeave","onFocus","onBlur","displayName","_default","exports"],"sources":["../../../../src/components/multi-action-button/MultiActionButton.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, {\n FC,\n MouseEvent,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useElementSize, useMeasuredClone } from '../../hooks/element';\nimport { useKeyboardFocusHighlighting } from '../../hooks/useKeyboardFocusHighlighting';\nimport { useIsTouch } from '../../utils/environment';\nimport ContextMenu from '../context-menu/ContextMenu';\nimport type { ContextMenuRef } from '../context-menu/ContextMenu.types';\nimport ActionButton from './action-button/ActionButton';\nimport { StyledMultiActionButton, StyledSeparator } from './MultiActionButton.styles';\nimport {\n getMinimumPrimaryLabelVisibleWidth,\n getMultiActionButtonAutoCollapseMode,\n getSecondaryContextMenuTriggerStyle,\n MultiActionButtonAutoCollapseMode,\n} from './MultiActionButton.utils';\nimport { MultiActionButtonHeight } from './MultiActionButton.types';\nimport type {\n MultiActionButtonAction,\n MultiActionButtonActionEvent,\n MultiActionButtonProps,\n} from './MultiActionButton.types';\n\nconst SECONDARY_CONTEXT_MENU_ACTION: MultiActionButtonAction = {\n icon: 'fa fa-chevron-down',\n label: undefined,\n};\n\ninterface CreateMeasuredMultiActionButtonContentOptions {\n backgroundColor?: string;\n gapColor?: string;\n height: number;\n primaryAction: MultiActionButtonAction;\n secondaryAction?: MultiActionButtonAction;\n}\n\nconst createMeasuredMultiActionButtonContent = ({\n backgroundColor,\n gapColor,\n height,\n primaryAction,\n secondaryAction,\n}: CreateMeasuredMultiActionButtonContentOptions): ReactNode => (\n <StyledMultiActionButton style={{ width: 'fit-content' }}>\n <ActionButton\n action={primaryAction}\n actionType=\"primary\"\n backgroundColor={primaryAction.backgroundColor ?? backgroundColor}\n isCollapsed={false}\n isDisabled={false}\n isShrunk={false}\n isSolo={!secondaryAction}\n showLabel\n shouldUseContentWidth\n height={height}\n />\n {secondaryAction && (\n <>\n <StyledSeparator $gapColor={gapColor} $isHidden={false} />\n <ActionButton\n action={secondaryAction}\n actionType=\"secondary\"\n backgroundColor={secondaryAction.backgroundColor ?? backgroundColor}\n isCollapsed={false}\n isDisabled={false}\n isExpanded={false}\n isHidden={false}\n showLabel={false}\n shouldUseContentWidth\n height={height}\n />\n </>\n )}\n </StyledMultiActionButton>\n);\n\n/**\n * Multi-action button with optional secondary action that can expand on hover/click.\n */\nconst MultiActionButton: FC<MultiActionButtonProps> = ({\n backgroundColor,\n className,\n extendedTimeoutMs = 3000,\n gapColor,\n height = MultiActionButtonHeight.Medium,\n isCollapsed = false,\n isDisabled = false,\n primaryAction,\n secondaryAction,\n secondaryContextMenu,\n shouldAutoCollapse = false,\n shouldUseFullWidth,\n shouldEnableKeyboardHighlighting,\n width,\n}) => {\n const [isExtendedByClick, setIsExtendedByClick] = useState(false);\n const [isSecondaryExpanded, setIsSecondaryExpanded] = useState(false);\n const [isSecondaryHovered, setIsSecondaryHovered] = useState(false);\n const [isSecondaryFocused, setIsSecondaryFocused] = useState(false);\n\n const autoCollapseTimeoutRef = useRef<number | null>(null);\n const multiActionButtonRef = useRef<HTMLDivElement | null>(null);\n const secondaryContextMenuRef = useRef<ContextMenuRef>(null);\n const [autoCollapseMode, setAutoCollapseMode] = useState<MultiActionButtonAutoCollapseMode>(\n MultiActionButtonAutoCollapseMode.Expanded,\n );\n\n const isTouch = useIsTouch();\n const parentSize = useElementSize(multiActionButtonRef, { shouldUseParentElement: true });\n\n const hasSecondaryContextMenu = Boolean(secondaryContextMenu?.length);\n const secondaryTriggerAction = hasSecondaryContextMenu\n ? SECONDARY_CONTEXT_MENU_ACTION\n : secondaryAction;\n const hasExpandableSecondaryAction = Boolean(secondaryAction) && !hasSecondaryContextMenu;\n const hasSecondaryAction = Boolean(secondaryTriggerAction);\n const shouldUseContentWidth = !width && !shouldUseFullWidth;\n const shouldShowKeyboardHighlighting = useKeyboardFocusHighlighting(\n shouldEnableKeyboardHighlighting && !isDisabled,\n );\n\n const expandedMeasuredContent = useMemo(\n () =>\n createMeasuredMultiActionButtonContent({\n backgroundColor,\n gapColor,\n height,\n primaryAction,\n secondaryAction: secondaryTriggerAction,\n }),\n [backgroundColor, gapColor, height, primaryAction, secondaryTriggerAction],\n );\n\n const { measuredElement, width: expandedMeasuredWidth } = useMeasuredClone({\n content: expandedMeasuredContent,\n });\n\n const availableWidth = useMemo(() => {\n const parentWidth = parentSize?.width;\n\n if (typeof width === 'number') {\n return typeof parentWidth === 'number' ? Math.min(parentWidth, width) : width;\n }\n\n return parentWidth;\n }, [parentSize?.width, width]);\n\n useEffect(() => {\n if (!shouldAutoCollapse || isCollapsed) {\n setAutoCollapseMode(MultiActionButtonAutoCollapseMode.Expanded);\n return;\n }\n\n if (expandedMeasuredWidth <= 0) {\n return;\n }\n\n setAutoCollapseMode((previousMode) =>\n getMultiActionButtonAutoCollapseMode({\n availableWidth,\n expandedWidth: expandedMeasuredWidth,\n hasSecondaryAction,\n height,\n previousMode,\n }),\n );\n }, [\n availableWidth,\n expandedMeasuredWidth,\n hasSecondaryAction,\n height,\n isCollapsed,\n shouldAutoCollapse,\n ]);\n\n const isAutoIconsOnly =\n shouldAutoCollapse && autoCollapseMode === MultiActionButtonAutoCollapseMode.IconsOnly;\n const isAutoPrimaryOnly =\n shouldAutoCollapse && autoCollapseMode === MultiActionButtonAutoCollapseMode.PrimaryOnly;\n const shouldKeepFullWidth = Boolean(shouldUseFullWidth);\n const shouldHideSecondaryForAutoCollapse = hasSecondaryAction && isAutoPrimaryOnly;\n const effectiveIsCollapsed = isCollapsed || (!shouldKeepFullWidth && isAutoPrimaryOnly);\n const resolvedSecondaryAction = hasSecondaryAction ? secondaryTriggerAction : undefined;\n const isSecondaryHidden = effectiveIsCollapsed || shouldHideSecondaryForAutoCollapse;\n const shouldPreventSecondaryExpansion = isAutoIconsOnly || isSecondaryHidden;\n const shouldKeepPrimaryLabelVisible = shouldKeepFullWidth && shouldAutoCollapse;\n const minimumPrimaryLabelVisibleWidth = getMinimumPrimaryLabelVisibleWidth({\n hasVisibleSecondaryAction: hasSecondaryAction,\n height,\n });\n const shouldHidePrimaryLabelForMinimumWidth =\n shouldKeepPrimaryLabelVisible &&\n typeof availableWidth === 'number' &&\n availableWidth <= minimumPrimaryLabelVisibleWidth;\n\n const resolvedWidth = useMemo(() => {\n if (shouldKeepFullWidth) {\n return '100%';\n }\n\n if (effectiveIsCollapsed) {\n return height;\n }\n\n return width ?? 'fit-content';\n }, [effectiveIsCollapsed, height, shouldKeepFullWidth, width]);\n\n const secondaryContextMenuTriggerStyle = getSecondaryContextMenuTriggerStyle({\n height,\n isCollapsed: isSecondaryHidden,\n isExpanded: false,\n shouldUseContentWidth,\n });\n\n /**\n * Clears the current auto-collapse timer without changing visual state.\n */\n const clearAutoCollapseTimeout = useCallback(() => {\n if (autoCollapseTimeoutRef.current) {\n window.clearTimeout(autoCollapseTimeoutRef.current);\n autoCollapseTimeoutRef.current = null;\n }\n }, []);\n\n /**\n * Clears and restarts the auto-collapse timer used after click-triggered expansion.\n */\n const resetAutoCollapseTimeout = useCallback(() => {\n clearAutoCollapseTimeout();\n\n if (extendedTimeoutMs <= 0) {\n return;\n }\n\n autoCollapseTimeoutRef.current = window.setTimeout(() => {\n setIsSecondaryExpanded(false);\n setIsExtendedByClick(false);\n }, extendedTimeoutMs);\n }, [clearAutoCollapseTimeout, extendedTimeoutMs]);\n\n /**\n * Expands the secondary action and remembers that it originated from a click.\n */\n const expandSecondaryByClick = useCallback(() => {\n setIsSecondaryExpanded(true);\n setIsExtendedByClick(true);\n resetAutoCollapseTimeout();\n }, [resetAutoCollapseTimeout]);\n\n /**\n * Cleanup timers on unmount.\n */\n useEffect(\n () => () => {\n clearAutoCollapseTimeout();\n },\n [clearAutoCollapseTimeout],\n );\n\n /**\n * Collapsing the control should also reset any temporary expansion state.\n */\n useEffect(() => {\n if (effectiveIsCollapsed || shouldPreventSecondaryExpansion) {\n clearAutoCollapseTimeout();\n setIsSecondaryExpanded(false);\n setIsExtendedByClick(false);\n setIsSecondaryHovered(false);\n setIsSecondaryFocused(false);\n }\n }, [clearAutoCollapseTimeout, effectiveIsCollapsed, shouldPreventSecondaryExpansion]);\n\n /**\n * Handler for the primary action button.\n */\n const handlePrimaryClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled || primaryAction.isDisabled) {\n return;\n }\n\n const payload: MultiActionButtonActionEvent = {\n action: 'primary',\n event,\n isExtended: isSecondaryExpanded,\n isTouch,\n };\n\n primaryAction.onClick?.(payload);\n },\n [isDisabled, isSecondaryExpanded, isTouch, primaryAction],\n );\n\n /**\n * Handler for the secondary action button.\n */\n const handleSecondaryClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (\n !resolvedSecondaryAction ||\n isSecondaryHidden ||\n isDisabled ||\n resolvedSecondaryAction.isDisabled\n ) {\n return;\n }\n\n if (hasSecondaryContextMenu) {\n secondaryContextMenuRef.current?.show();\n return;\n }\n\n const payload: MultiActionButtonActionEvent = {\n action: 'secondary',\n event,\n isExtended: isSecondaryExpanded,\n isTouch,\n };\n\n resolvedSecondaryAction.onClick?.(payload);\n if (!shouldPreventSecondaryExpansion) {\n expandSecondaryByClick();\n }\n },\n [\n expandSecondaryByClick,\n hasSecondaryContextMenu,\n isSecondaryHidden,\n isDisabled,\n isSecondaryExpanded,\n isTouch,\n resolvedSecondaryAction,\n shouldPreventSecondaryExpansion,\n ],\n );\n\n /**\n * Desktop hover behavior keeps the secondary action expanded while hovered.\n */\n const handleSecondaryMouseEnter = useCallback(() => {\n if (\n !secondaryAction ||\n isSecondaryHidden ||\n isTouch ||\n isDisabled ||\n shouldPreventSecondaryExpansion ||\n secondaryAction.isDisabled\n ) {\n return;\n }\n\n setIsSecondaryHovered(true);\n if (!isExtendedByClick) {\n setIsSecondaryExpanded(true);\n }\n }, [\n isSecondaryHidden,\n isDisabled,\n isExtendedByClick,\n isTouch,\n secondaryAction,\n shouldPreventSecondaryExpansion,\n ]);\n\n const handleSecondaryMouseLeave = useCallback(() => {\n if (isTouch) {\n return;\n }\n\n setIsSecondaryHovered(false);\n if (!isExtendedByClick && !effectiveIsCollapsed) {\n setIsSecondaryExpanded(false);\n }\n }, [effectiveIsCollapsed, isExtendedByClick, isTouch]);\n\n const handleSecondaryFocus = useCallback(() => {\n if (\n !secondaryAction ||\n isSecondaryHidden ||\n isDisabled ||\n shouldPreventSecondaryExpansion ||\n secondaryAction.isDisabled\n ) {\n return;\n }\n\n setIsSecondaryFocused(true);\n if (!isExtendedByClick) {\n setIsSecondaryExpanded(true);\n }\n }, [\n isDisabled,\n isExtendedByClick,\n isSecondaryHidden,\n secondaryAction,\n shouldPreventSecondaryExpansion,\n ]);\n\n const handleSecondaryBlur = useCallback(() => {\n setIsSecondaryFocused(false);\n if (!isExtendedByClick && !effectiveIsCollapsed) {\n setIsSecondaryExpanded(false);\n }\n }, [effectiveIsCollapsed, isExtendedByClick]);\n\n /**\n * Secondary label is visible when expanded or when hovered/focused.\n */\n const isSecondaryLabelVisible =\n isSecondaryExpanded || (!isTouch && isSecondaryHovered) || isSecondaryFocused;\n\n return (\n <>\n {measuredElement}\n <StyledMultiActionButton\n className={clsx('beta-chayns-multi-action', className)}\n ref={multiActionButtonRef}\n style={{ maxWidth: '100%', width: resolvedWidth }}\n >\n <ActionButton\n action={primaryAction}\n actionType=\"primary\"\n backgroundColor={primaryAction.backgroundColor ?? backgroundColor}\n isCollapsed={effectiveIsCollapsed}\n isDisabled={isDisabled}\n isShrunk={\n hasSecondaryAction &&\n ((!shouldKeepFullWidth && isAutoIconsOnly) || isSecondaryExpanded)\n }\n isSolo={!hasSecondaryAction || isSecondaryHidden || effectiveIsCollapsed}\n onClick={handlePrimaryClick}\n showLabel={\n !effectiveIsCollapsed &&\n !shouldHidePrimaryLabelForMinimumWidth &&\n (shouldKeepPrimaryLabelVisible || !isAutoIconsOnly) &&\n (shouldKeepPrimaryLabelVisible || !shouldHideSecondaryForAutoCollapse) &&\n (!hasExpandableSecondaryAction || !isSecondaryExpanded)\n }\n shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n shouldUseContentWidth={shouldUseContentWidth}\n height={height}\n />\n {hasSecondaryAction && (\n <>\n <StyledSeparator $gapColor={gapColor} $isHidden={isSecondaryHidden} />\n {hasSecondaryContextMenu ? (\n <ContextMenu\n items={secondaryContextMenu ?? []}\n ref={secondaryContextMenuRef}\n shouldDisableClick\n shouldUseDefaultTriggerStyles={false}\n shouldHidePopupArrow\n yOffset={-6}\n style={secondaryContextMenuTriggerStyle}\n >\n <ActionButton\n action={\n resolvedSecondaryAction ?? SECONDARY_CONTEXT_MENU_ACTION\n }\n actionType=\"secondary\"\n backgroundColor={\n resolvedSecondaryAction?.backgroundColor ?? backgroundColor\n }\n isCollapsed={false}\n isDisabled={isDisabled}\n isExpanded={false}\n isHidden={isSecondaryHidden}\n key=\"multi-action-secondary-context-menu\"\n onClick={handleSecondaryClick}\n showLabel={false}\n shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n shouldUseContentWidth={shouldUseContentWidth}\n height={height}\n />\n </ContextMenu>\n ) : (\n <ActionButton\n action={\n resolvedSecondaryAction ??\n secondaryAction ??\n SECONDARY_CONTEXT_MENU_ACTION\n }\n actionType=\"secondary\"\n backgroundColor={\n resolvedSecondaryAction?.backgroundColor ?? backgroundColor\n }\n isCollapsed={false}\n isDisabled={isDisabled}\n isExpanded={!isAutoIconsOnly && isSecondaryExpanded}\n isHidden={isSecondaryHidden}\n key=\"multi-action-secondary-button\"\n onClick={handleSecondaryClick}\n onMouseEnter={handleSecondaryMouseEnter}\n onMouseLeave={handleSecondaryMouseLeave}\n onFocus={handleSecondaryFocus}\n onBlur={handleSecondaryBlur}\n showLabel={\n !isSecondaryHidden &&\n !isAutoIconsOnly &&\n isSecondaryLabelVisible\n }\n shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n shouldUseContentWidth={shouldUseContentWidth}\n height={height}\n />\n )}\n </>\n )}\n </StyledMultiActionButton>\n </>\n );\n};\n\nMultiActionButton.displayName = 'MultiActionButton';\n\nexport default MultiActionButton;\n"],"mappings":"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","ignoreList":[]}
|