intergalactic 15.121.0 → 15.122.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/CHANGELOG.md +34 -58
- package/accordion/lib/cjs/Accordion.js +9 -9
- package/accordion/lib/es6/Accordion.js +9 -9
- package/accordion/package.json +1 -1
- package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
- package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
- package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
- package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
- package/base-trigger/lib/es6/BaseTrigger.js +18 -18
- package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
- package/base-trigger/lib/es6/FilterTrigger.js +7 -7
- package/base-trigger/lib/es6/LinkTrigger.js +12 -12
- package/base-trigger/package.json +1 -1
- package/breadcrumbs/lib/cjs/Breadcrumbs.js +8 -8
- package/breadcrumbs/lib/es6/Breadcrumbs.js +8 -8
- package/breadcrumbs/package.json +1 -1
- package/button/lib/cjs/component/Button/Button.js +27 -27
- package/button/lib/cjs/component/ButtonLink/ButtonLink.js +20 -20
- package/button/lib/es6/component/Button/Button.js +27 -27
- package/button/lib/es6/component/ButtonLink/ButtonLink.js +20 -20
- package/button/package.json +1 -1
- package/card/lib/cjs/Card.js +6 -6
- package/card/lib/es6/Card.js +6 -6
- package/card/package.json +1 -1
- package/carousel/lib/cjs/Carousel.js +21 -21
- package/carousel/lib/es6/Carousel.js +21 -21
- package/carousel/package.json +1 -1
- package/checkbox/index.d.ts +3 -1
- package/checkbox/lib/cjs/Checkbox.js +2 -1
- package/checkbox/lib/cjs/Checkbox.js.map +1 -1
- package/checkbox/lib/cjs/index.d.js.map +1 -1
- package/checkbox/lib/es6/Checkbox.js +3 -2
- package/checkbox/lib/es6/Checkbox.js.map +1 -1
- package/checkbox/lib/es6/index.d.js.map +1 -1
- package/checkbox/lib/types/index.d.ts +3 -1
- package/color-picker/lib/cjs/ColorPicker.js +24 -24
- package/color-picker/lib/cjs/PaletteManager.js +24 -24
- package/color-picker/lib/cjs/components/InputColor.js +24 -24
- package/color-picker/lib/es6/ColorPicker.js +24 -24
- package/color-picker/lib/es6/PaletteManager.js +24 -24
- package/color-picker/lib/es6/components/InputColor.js +24 -24
- package/color-picker/package.json +1 -1
- package/components.json +34 -34
- package/data-table/lib/cjs/Body.js +3 -3
- package/data-table/lib/cjs/DataTable.js +36 -36
- package/data-table/lib/cjs/style/data-table.shadow.css +9 -9
- package/data-table/lib/cjs/utils.js +2 -2
- package/data-table/lib/cjs/utils.js.map +1 -1
- package/data-table/lib/es6/Body.js +3 -3
- package/data-table/lib/es6/DataTable.js +36 -36
- package/data-table/lib/es6/style/data-table.shadow.css +9 -9
- package/data-table/lib/es6/utils.js +2 -2
- package/data-table/lib/es6/utils.js.map +1 -1
- package/data-table/package.json +1 -1
- package/date-picker/lib/cjs/components/Calendar.js +21 -21
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
- package/date-picker/lib/cjs/components/InputTrigger.js +29 -29
- package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
- package/date-picker/lib/es6/components/Calendar.js +21 -21
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
- package/date-picker/lib/es6/components/InputTrigger.js +29 -29
- package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
- package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
- package/date-picker/package.json +1 -1
- package/drag-and-drop/index.d.ts +4 -0
- package/drag-and-drop/lib/cjs/DragAndDrop.js +25 -19
- package/drag-and-drop/lib/cjs/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/cjs/index.d.js.map +1 -1
- package/drag-and-drop/lib/cjs/style/drag-and-drop.shadow.css +3 -2
- package/drag-and-drop/lib/es6/DragAndDrop.js +25 -19
- package/drag-and-drop/lib/es6/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/es6/index.d.js.map +1 -1
- package/drag-and-drop/lib/es6/style/drag-and-drop.shadow.css +3 -2
- package/drag-and-drop/lib/types/index.d.ts +4 -0
- package/drag-and-drop/package.json +1 -1
- package/dropdown/lib/cjs/AbstractDropdown.js +1 -0
- package/dropdown/lib/cjs/AbstractDropdown.js.map +1 -1
- package/dropdown/lib/cjs/Dropdown.js +16 -16
- package/dropdown/lib/cjs/style/dropdown.shadow.css +116 -108
- package/dropdown/lib/es6/AbstractDropdown.js +1 -0
- package/dropdown/lib/es6/AbstractDropdown.js.map +1 -1
- package/dropdown/lib/es6/Dropdown.js +16 -16
- package/dropdown/lib/es6/style/dropdown.shadow.css +116 -108
- package/dropdown/package.json +1 -1
- package/dropdown-menu/lib/cjs/DropdownMenu.js +18 -18
- package/dropdown-menu/lib/es6/DropdownMenu.js +18 -18
- package/dropdown-menu/package.json +1 -1
- package/ellipsis/lib/cjs/Ellipsis.js +12 -12
- package/ellipsis/lib/cjs/Ellipsis.js.map +1 -1
- package/ellipsis/lib/cjs/style/ellipsis.shadow.css +3 -3
- package/ellipsis/lib/es6/Ellipsis.js +12 -12
- package/ellipsis/lib/es6/Ellipsis.js.map +1 -1
- package/ellipsis/lib/es6/style/ellipsis.shadow.css +3 -3
- package/ellipsis/package.json +1 -1
- package/errors/lib/cjs/Error.js +9 -9
- package/errors/lib/es6/Error.js +9 -9
- package/errors/package.json +1 -1
- package/feature-popover/lib/cjs/FeaturePopover.js +11 -11
- package/feature-popover/lib/es6/FeaturePopover.js +11 -11
- package/feature-popover/package.json +1 -1
- package/feedback-form/component/feedback-rating/FeedbackRating.d.ts +58 -1
- package/feedback-form/component/feedback-rating/FeedbackRating.type.d.ts +6 -2
- package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
- package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +12 -6
- package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js.map +1 -1
- package/feedback-form/lib/cjs/component/feedback-item/FeedbackItem.js +5 -3
- package/feedback-form/lib/cjs/component/feedback-item/FeedbackItem.js.map +1 -1
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +56 -40
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.type.js.map +1 -1
- package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +67 -14
- package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js.map +1 -1
- package/feedback-form/lib/cjs/style/slider-rating.shadow.css +1 -0
- package/feedback-form/lib/cjs/translations/de.json +5 -1
- package/feedback-form/lib/cjs/translations/en.json +5 -1
- package/feedback-form/lib/cjs/translations/es.json +5 -1
- package/feedback-form/lib/cjs/translations/fr.json +5 -1
- package/feedback-form/lib/cjs/translations/it.json +5 -1
- package/feedback-form/lib/cjs/translations/ja.json +5 -1
- package/feedback-form/lib/cjs/translations/ko.json +5 -1
- package/feedback-form/lib/cjs/translations/nl.json +5 -1
- package/feedback-form/lib/cjs/translations/pl.json +5 -1
- package/feedback-form/lib/cjs/translations/pt.json +5 -1
- package/feedback-form/lib/cjs/translations/sv.json +5 -1
- package/feedback-form/lib/cjs/translations/tr.json +5 -1
- package/feedback-form/lib/cjs/translations/vi.json +5 -1
- package/feedback-form/lib/cjs/translations/zh.json +5 -1
- package/feedback-form/lib/es6/FeedbackForm.js +7 -7
- package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +12 -6
- package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js.map +1 -1
- package/feedback-form/lib/es6/component/feedback-item/FeedbackItem.js +5 -3
- package/feedback-form/lib/es6/component/feedback-item/FeedbackItem.js.map +1 -1
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +57 -41
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.type.js.map +1 -1
- package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +70 -16
- package/feedback-form/lib/es6/component/slider-rating/SliderRating.js.map +1 -1
- package/feedback-form/lib/es6/style/slider-rating.shadow.css +1 -0
- package/feedback-form/lib/es6/translations/de.json +5 -1
- package/feedback-form/lib/es6/translations/en.json +5 -1
- package/feedback-form/lib/es6/translations/es.json +5 -1
- package/feedback-form/lib/es6/translations/fr.json +5 -1
- package/feedback-form/lib/es6/translations/it.json +5 -1
- package/feedback-form/lib/es6/translations/ja.json +5 -1
- package/feedback-form/lib/es6/translations/ko.json +5 -1
- package/feedback-form/lib/es6/translations/nl.json +5 -1
- package/feedback-form/lib/es6/translations/pl.json +5 -1
- package/feedback-form/lib/es6/translations/pt.json +5 -1
- package/feedback-form/lib/es6/translations/sv.json +5 -1
- package/feedback-form/lib/es6/translations/tr.json +5 -1
- package/feedback-form/lib/es6/translations/vi.json +5 -1
- package/feedback-form/lib/es6/translations/zh.json +5 -1
- package/feedback-form/lib/types/component/feedback-rating/FeedbackRating.d.ts +58 -1
- package/feedback-form/lib/types/component/feedback-rating/FeedbackRating.type.d.ts +6 -2
- package/feedback-form/lib/types/translations/__intergalactic-dynamic-locales.d.ts +56 -0
- package/feedback-form/package.json +1 -1
- package/feedback-form/translations/__intergalactic-dynamic-locales.d.ts +56 -0
- package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
- package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
- package/fullscreen-modal/package.json +1 -1
- package/icon/ChatGPT/l/index.d.ts +6 -0
- package/icon/ChatGPT/l/index.js +36 -0
- package/icon/ChatGPT/l/index.mjs +24 -0
- package/icon/ChatGPT/m/index.d.ts +6 -0
- package/icon/ChatGPT/m/index.js +36 -0
- package/icon/ChatGPT/m/index.mjs +24 -0
- package/icon/VideoList/l/index.d.ts +6 -0
- package/icon/VideoList/l/index.js +41 -0
- package/icon/VideoList/l/index.mjs +29 -0
- package/icon/VideoList/m/index.d.ts +6 -0
- package/icon/VideoList/m/index.js +41 -0
- package/icon/VideoList/m/index.mjs +29 -0
- package/icon/VideoStreaming/l/index.d.ts +6 -0
- package/icon/VideoStreaming/l/index.js +41 -0
- package/icon/VideoStreaming/l/index.mjs +29 -0
- package/icon/VideoStreaming/m/index.d.ts +6 -0
- package/icon/VideoStreaming/m/index.js +41 -0
- package/icon/VideoStreaming/m/index.mjs +29 -0
- package/icon/color/Confluence/l/index.js +4 -4
- package/icon/color/Confluence/l/index.mjs +4 -4
- package/icon/color/Confluence/m/index.js +4 -4
- package/icon/color/Confluence/m/index.mjs +4 -4
- package/icon/color/MetaColored/l/index.js +4 -4
- package/icon/color/MetaColored/l/index.mjs +4 -4
- package/icon/color/MetaColored/m/index.js +4 -4
- package/icon/color/MetaColored/m/index.mjs +4 -4
- package/icon/color/MicrosoftOffice/l/index.js +10 -10
- package/icon/color/MicrosoftOffice/l/index.mjs +10 -10
- package/icon/color/MicrosoftOffice/m/index.js +10 -10
- package/icon/color/MicrosoftOffice/m/index.mjs +10 -10
- package/icon/lib/cjs/Icon.js +5 -5
- package/icon/lib/es6/Icon.js +5 -5
- package/icon/package.json +1 -1
- package/icon/pay/Discover/l/index.js +1 -1
- package/icon/pay/Discover/l/index.mjs +1 -1
- package/icon/pay/Discover/m/index.js +1 -1
- package/icon/pay/Discover/m/index.mjs +1 -1
- package/icon/pay/JCB/l/index.js +10 -10
- package/icon/pay/JCB/l/index.mjs +10 -10
- package/icon/pay/JCB/m/index.js +10 -10
- package/icon/pay/JCB/m/index.mjs +10 -10
- package/icon/pay/Visa/l/index.js +2 -2
- package/icon/pay/Visa/l/index.mjs +2 -2
- package/icon/pay/Visa/m/index.js +2 -2
- package/icon/pay/Visa/m/index.mjs +2 -2
- package/inline-input/lib/cjs/InlineInput.js +14 -14
- package/inline-input/lib/es6/InlineInput.js +14 -14
- package/inline-input/package.json +1 -1
- package/input-tags/lib/cjs/InputTags.js +12 -12
- package/input-tags/lib/es6/InputTags.js +12 -12
- package/input-tags/package.json +1 -1
- package/modal/lib/cjs/Modal.js +8 -8
- package/modal/lib/es6/Modal.js +8 -8
- package/modal/package.json +1 -1
- package/notice/index.d.ts +9 -0
- package/notice/lib/cjs/Notice.js +73 -47
- package/notice/lib/cjs/Notice.js.map +1 -1
- package/notice/lib/cjs/NoticeSmart.js +8 -1
- package/notice/lib/cjs/NoticeSmart.js.map +1 -1
- package/notice/lib/cjs/index.d.js.map +1 -1
- package/notice/lib/cjs/style/notice.shadow.css +10 -0
- package/notice/lib/es6/Notice.js +75 -47
- package/notice/lib/es6/Notice.js.map +1 -1
- package/notice/lib/es6/NoticeSmart.js +8 -1
- package/notice/lib/es6/NoticeSmart.js.map +1 -1
- package/notice/lib/es6/index.d.js.map +1 -1
- package/notice/lib/es6/style/notice.shadow.css +10 -0
- package/notice/lib/types/index.d.ts +9 -0
- package/notice/package.json +1 -1
- package/notice-bubble/lib/cjs/NoticeBubble.js +15 -15
- package/notice-bubble/lib/cjs/style/notice-bubble.shadow.css +1 -1
- package/notice-bubble/lib/es6/NoticeBubble.js +15 -15
- package/notice-bubble/lib/es6/style/notice-bubble.shadow.css +1 -1
- package/notice-bubble/package.json +1 -1
- package/notice-global/lib/cjs/NoticeGlobal.js +11 -11
- package/notice-global/lib/es6/NoticeGlobal.js +11 -11
- package/notice-global/package.json +1 -1
- package/package.json +1 -1
- package/pagination/lib/cjs/Pagination.js +10 -10
- package/pagination/lib/es6/Pagination.js +10 -10
- package/pagination/package.json +1 -1
- package/select/lib/cjs/InputSearch.js +6 -6
- package/select/lib/cjs/Select.js +8 -8
- package/select/lib/es6/InputSearch.js +6 -6
- package/select/lib/es6/Select.js +8 -8
- package/select/package.json +1 -1
- package/side-panel/lib/cjs/SidePanel.js +16 -16
- package/side-panel/lib/es6/SidePanel.js +16 -16
- package/side-panel/package.json +1 -1
- package/skeleton/lib/cjs/Charts/Area.js +9 -9
- package/skeleton/lib/cjs/Charts/Bar.js +9 -9
- package/skeleton/lib/cjs/Charts/Bubble.js +9 -9
- package/skeleton/lib/cjs/Charts/CompactHorizontalBar.js +9 -9
- package/skeleton/lib/cjs/Charts/Donut.js +9 -9
- package/skeleton/lib/cjs/Charts/Histogram.js +9 -9
- package/skeleton/lib/cjs/Charts/Line.js +9 -9
- package/skeleton/lib/cjs/Charts/RadialTree.js +9 -9
- package/skeleton/lib/cjs/Charts/ScatterPlot.js +9 -9
- package/skeleton/lib/cjs/Charts/Venn.js +9 -9
- package/skeleton/lib/cjs/Skeleton.js +8 -9
- package/skeleton/lib/cjs/Skeleton.js.map +1 -1
- package/skeleton/lib/es6/Charts/Area.js +9 -9
- package/skeleton/lib/es6/Charts/Bar.js +9 -9
- package/skeleton/lib/es6/Charts/Bubble.js +9 -9
- package/skeleton/lib/es6/Charts/CompactHorizontalBar.js +9 -9
- package/skeleton/lib/es6/Charts/Donut.js +9 -9
- package/skeleton/lib/es6/Charts/Histogram.js +9 -9
- package/skeleton/lib/es6/Charts/Line.js +9 -9
- package/skeleton/lib/es6/Charts/RadialTree.js +9 -9
- package/skeleton/lib/es6/Charts/ScatterPlot.js +9 -9
- package/skeleton/lib/es6/Charts/Venn.js +9 -9
- package/skeleton/lib/es6/Skeleton.js +8 -9
- package/skeleton/lib/es6/Skeleton.js.map +1 -1
- package/skeleton/package.json +1 -1
- package/spin/lib/cjs/Spin.js +14 -14
- package/spin/lib/cjs/Spin.js.map +1 -1
- package/spin/lib/es6/Spin.js +14 -14
- package/spin/lib/es6/Spin.js.map +1 -1
- package/spin/package.json +1 -1
- package/spin-container/lib/cjs/SpinContainer.js +9 -11
- package/spin-container/lib/cjs/SpinContainer.js.map +1 -1
- package/spin-container/lib/es6/SpinContainer.js +9 -11
- package/spin-container/lib/es6/SpinContainer.js.map +1 -1
- package/spin-container/package.json +1 -1
- package/tag/lib/cjs/Tag.js +24 -23
- package/tag/lib/cjs/Tag.js.map +1 -1
- package/tag/lib/es6/Tag.js +24 -23
- package/tag/lib/es6/Tag.js.map +1 -1
- package/tag/package.json +1 -1
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/time-picker/package.json +1 -1
- package/typography/lib/cjs/Blockquote.js +4 -4
- package/typography/lib/cjs/Hint.js +7 -7
- package/typography/lib/cjs/List.js +5 -5
- package/typography/lib/cjs/Text.js +34 -34
- package/typography/lib/es6/Blockquote.js +4 -4
- package/typography/lib/es6/Hint.js +7 -7
- package/typography/lib/es6/List.js +5 -5
- package/typography/lib/es6/Text.js +34 -34
- package/typography/package.json +1 -1
- package/utils/lib/enhances/autoFocusEnhance.d.ts +1 -1
- package/utils/lib/enhances/autoFocusEnhance.js.map +1 -1
- package/utils/lib/enhances/autoFocusEnhance.mjs.map +1 -1
- package/wizard/lib/cjs/Wizard.js +12 -12
- package/wizard/lib/es6/Wizard.js +12 -12
- package/wizard/package.json +1 -1
@@ -25,22 +25,23 @@ var _keyboardFocusEnhance = _interopRequireDefault(require("intergalactic/utils/
|
|
25
25
|
var _uniqueID = _interopRequireDefault(require("intergalactic/utils/lib/uniqueID"));
|
26
26
|
var _canUseDOM = _interopRequireDefault(require("intergalactic/utils/lib/canUseDOM"));
|
27
27
|
/*__reshadow-styles__:"./style/drag-and-drop.shadow.css"*/
|
28
|
-
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".
|
29
|
-
"__SDraggable": "
|
30
|
-
"_placement_top": "
|
31
|
-
"_placement_right": "
|
32
|
-
"_placement_left": "
|
33
|
-
"_placement_bottom": "
|
34
|
-
"__SDropZone": "
|
35
|
-
"_dropPreview": "
|
36
|
-
"_dark": "
|
37
|
-
"_keyboardFocused": "
|
38
|
-
"_keyboardDragging": "
|
39
|
-
"_reversedScaling": "
|
40
|
-
"_animatedScaling": "
|
41
|
-
"__SA11yHint": "
|
42
|
-
"_draggable": "
|
43
|
-
"_hideHoverEffect": "
|
28
|
+
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SDraggable_1inh4_gg_.__draggable_1inh4_gg_{position:relative;cursor:grab;-moz-user-select:none;-webkit-user-select:none;user-select:none}.___SDraggable_1inh4_gg_.__draggable_1inh4_gg_::before{content:\"\";position:absolute;display:none;pointer-events:none;background-image:radial-gradient(circle at center,var(--intergalactic-icon-primary-neutral, #6c6e79) 1px,transparent 0);background-size:6px 6px;background-position:2px 2px;background-repeat:repeat repeat}@media (hover:hover){.___SDraggable_1inh4_gg_.__draggable_1inh4_gg_:hover::before{display:block}}.___SDraggable_1inh4_gg_.__draggable_1inh4_gg_.__hideHoverEffect_1inh4_gg_:not(._role_menuitemcheckbox_1inh4_gg_)::before{display:none}.___SDraggable_1inh4_gg_._placement_right_1inh4_gg_::before{right:0}.___SDraggable_1inh4_gg_._placement_bottom_1inh4_gg_::before{bottom:0}.___SDraggable_1inh4_gg_._placement_left_1inh4_gg_::before{left:0}.___SDraggable_1inh4_gg_._placement_top_1inh4_gg_::before{top:0;left:0;width:100%;height:16px}.___SDraggable_1inh4_gg_._placement_bottom_1inh4_gg_::before{left:0;width:100%;height:16px}.___SDraggable_1inh4_gg_._placement_left_1inh4_gg_::before,.___SDraggable_1inh4_gg_._placement_right_1inh4_gg_::before{top:0;width:16px;height:100%}.___SDropZone_1inh4_gg_{position:relative}.___SDraggable_1inh4_gg_.__dropPreview_1inh4_gg_,.___SDropZone_1inh4_gg_.__dropPreview_1inh4_gg_{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SDraggable_1inh4_gg_.__dark_1inh4_gg_.__dropPreview_1inh4_gg_,.___SDropZone_1inh4_gg_.__dark_1inh4_gg_.__dropPreview_1inh4_gg_{background-color:var(--intergalactic-bg-primary-invert-active, #484a54)}.___SDraggable_1inh4_gg_:focus{outline:0}.___SDraggable_1inh4_gg_.__keyboardFocused_1inh4_gg_:focus{box-shadow:none}.___SDraggable_1inh4_gg_.__keyboardFocused_1inh4_gg_:focus:after{position:absolute;display:block;content:\"\";top:3px;right:3px;bottom:3px;left:3px;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none}.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_{scale:1.1;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);box-shadow:var(--intergalactic-box-shadow-dnd, 0px 0px 1px 0px rgba(25, 27, 35, 0.16), 0px 12px 40px 0px rgba(25, 27, 35, 0.16))!important}.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_.__hideHoverEffect_1inh4_gg_::before,.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_::before{display:block}.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_.__reversedScaling_1inh4_gg_{scale:.95}.___SDraggable_1inh4_gg_.__animatedScaling_1inh4_gg_{transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SA11yHint_1inh4_gg_{position:absolute;margin-top:-1px;height:1px;width:1px;clip:rect(0 0 0 0)}@media (prefers-reduced-motion:reduce){.___SDraggable_1inh4_gg_{transition:none}}" /*__inner_css_end__*/, "1inh4_gg_") /*__reshadow_css_end__*/, {
|
29
|
+
"__SDraggable": "___SDraggable_1inh4_gg_",
|
30
|
+
"_placement_top": "_placement_top_1inh4_gg_",
|
31
|
+
"_placement_right": "_placement_right_1inh4_gg_",
|
32
|
+
"_placement_left": "_placement_left_1inh4_gg_",
|
33
|
+
"_placement_bottom": "_placement_bottom_1inh4_gg_",
|
34
|
+
"__SDropZone": "___SDropZone_1inh4_gg_",
|
35
|
+
"_dropPreview": "__dropPreview_1inh4_gg_",
|
36
|
+
"_dark": "__dark_1inh4_gg_",
|
37
|
+
"_keyboardFocused": "__keyboardFocused_1inh4_gg_",
|
38
|
+
"_keyboardDragging": "__keyboardDragging_1inh4_gg_",
|
39
|
+
"_reversedScaling": "__reversedScaling_1inh4_gg_",
|
40
|
+
"_animatedScaling": "__animatedScaling_1inh4_gg_",
|
41
|
+
"__SA11yHint": "___SA11yHint_1inh4_gg_",
|
42
|
+
"_draggable": "__draggable_1inh4_gg_",
|
43
|
+
"_hideHoverEffect": "__hideHoverEffect_1inh4_gg_",
|
44
|
+
"_role_menuitemcheckbox": "_role_menuitemcheckbox_1inh4_gg_"
|
44
45
|
});
|
45
46
|
var noop = function noop() {
|
46
47
|
/* do nothing */
|
@@ -324,6 +325,7 @@ var DragAndDropRoot = /*#__PURE__*/function (_Component) {
|
|
324
325
|
var _node = event.currentTarget;
|
325
326
|
if (!_node || _node !== document.activeElement) return;
|
326
327
|
event.preventDefault();
|
328
|
+
event.stopPropagation();
|
327
329
|
requestAnimationFrame(function () {
|
328
330
|
var _this$containerRef$cu5;
|
329
331
|
if (!(_node instanceof HTMLElement) || _node !== document.activeElement) return;
|
@@ -335,7 +337,7 @@ var DragAndDropRoot = /*#__PURE__*/function (_Component) {
|
|
335
337
|
left: 0
|
336
338
|
};
|
337
339
|
(_this$containerRef$cu5 = _this.containerRef.current) === null || _this$containerRef$cu5 === void 0 ? void 0 : _this$containerRef$cu5.childNodes.forEach(function (childNode, index) {
|
338
|
-
if (childNode instanceof HTMLElement) {
|
340
|
+
if (childNode instanceof HTMLElement && childNode.getAttribute('draggable') !== null) {
|
339
341
|
var rect = childNode.getBoundingClientRect();
|
340
342
|
var roundedRect = {
|
341
343
|
top: Math.round(rect.top),
|
@@ -561,7 +563,10 @@ var Draggable = function Draggable(props) {
|
|
561
563
|
zoneName = props.zoneName,
|
562
564
|
_props$isDropZone = props.isDropZone,
|
563
565
|
isDropZone = _props$isDropZone === void 0 ? false : _props$isDropZone,
|
564
|
-
uid = props.uid
|
566
|
+
uid = props.uid,
|
567
|
+
_props$isCustomFocus = props.isCustomFocus,
|
568
|
+
isCustomFocus = _props$isCustomFocus === void 0 ? false : _props$isCustomFocus,
|
569
|
+
keyboardFocused = props.keyboardFocused;
|
565
570
|
var resolvedChildren = _react["default"].useMemo(function () {
|
566
571
|
return typeof children === 'function' ? children(props) : children;
|
567
572
|
}, [children, props]);
|
@@ -584,7 +589,8 @@ var Draggable = function Draggable(props) {
|
|
584
589
|
"draggable": !noDrag,
|
585
590
|
"placement": placement,
|
586
591
|
"role": 'group',
|
587
|
-
"aria-describedby": "describe-draggable-".concat(uid)
|
592
|
+
"aria-describedby": "describe-draggable-".concat(uid),
|
593
|
+
"use:keyboardFocused": isCustomFocus ? false : keyboardFocused
|
588
594
|
}, _ref2))), /*#__PURE__*/_react["default"].createElement(Children, _ref5.cn("Children", {})));
|
589
595
|
};
|
590
596
|
Draggable.enhance = [(0, _keyboardFocusEnhance["default"])()];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DragAndDrop.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_intergalacticDynamicLocales","_i18nEnhance","_useEnhancedEffect","_keyboardFocusEnhance","_uniqueID","_canUseDOM","style","_index","sstyled","insert","noop","DragAndDropContext","React","createContext","attach","detach","DragAndDropRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","items","dragging","dragOver","hideHoverEffect","a11yHint","keyboardDraggingIndex","animatedScaling","reversedScaling","createRef","index","state","currentItem","itemText","node","getAttribute","textContent","zoneName","zonedItems","filter","i","itemsCount","itemPosition","findIndex","id","setA11yHint","setState","prevState","initialItemsRects","map","item","getBoundingClientRect","event","preventDefault","_this$state","itemIndex","rect","clientX","x","width","clientY","y","height","draggingItem","isDropZone","i18nKey","swapElements","onDnD","asProps","_this$state2","fromNode","fromId","fromIndex","toId","toIndex","draggingAllowed","_this$asProps$onInser","_this$asProps","_items$index","onInsertDroppable","children","_this$asProps$onSwapD","_this$asProps2","_items$index2","onSwapDraggable","_this$state$items$","firstItemNode","firstItemRect","parent","parentElement","document","body","computedStyle","getComputedStyle","overflow","left","right","top","bottom","_dragging$index","_items$draggingIndex","_items$dragOver","_this$state3","draggingIndex","dragNode","_items$node","_items","_this$containerRef$cu","nextDragNode","containerRef","current","insertBefore","_this$containerRef$cu2","_this$containerRef$cu3","nextSibling","focus","target","currentTarget","key","stopPropagation","_this$state$items$ind","handleItemDrop","handleItemDragStart","updateItemScaling","_items$i","_items$node2","_items2","prevNode","_this$containerRef$cu4","HTMLElement","startsWith","activeElement","requestAnimationFrame","_this$containerRef$cu5","rects","nodeRect","childNodes","forEach","childNode","roundedRect","Math","round","push","nextIndex","findNextRectangleIndex","handleItemKeyDown","customFocus","undefined","getCustomFocusItemIndex","_ref7","_prevState$items$inde","_prevState$items$inde2","_toConsumableArray2","options","clearTimeout","clearA11yHintTimeout","getI18nText","canUseDOM","window","setTimeout","_createClass2","value","getDraggableProps","_","uid","onDragStart","makeItemDragStartHandler","onDragEnd","handleItemDragEnd","onDragOver","handleItemDragOver","onDragEnter","handleItemDragEnter","onDrop","onMouseMove","handleItemMouseMove","onKeyDown","makeItemKeyDownHandler","onFocus","handleItemFocus","dropPreview","keyboardDragging","dark","theme","componentDidMount","addEventListener","handlePageKeyDown","capture","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","render","_ref","_ref4","SA11yHint","_this$state4","context","_this$asProps3","styles","createElement","Provider","cn","Box","assignProps","ScreenReaderOnly","control","Component","i18nEnhance","localizedMessages","uniqueIDEnhance","i18n","locale","Draggable","props","_ref2","arguments[0]","_ref5","SDraggable","ref","useRef","_React$useContext","useContext","_props$placement","placement","_props$noDrag","noDrag","Children","_props$isDropZone","resolvedChildren","useMemo","useEnhancedEffect","_objectSpread2","enhance","keyboardFocusEnhance","rectangles","direction","candidate","minDistance","Infinity","verticallyOverlaps","horizontallyOverlaps","distance","indexOf","DropZone","_ref3","_ref6","SDropZone","DragAndDrop","createComponent","Dropable","_default","exports"],"sources":["../../src/DragAndDrop.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { sstyled, Component, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n\nimport style from './style/drag-and-drop.shadow.css';\nimport { DropZoneProps } from './index';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { ScreenReaderOnly } from '@semcore/flex-box';\nimport uniqueIDEnhance from '@semcore/utils/lib/uniqueID';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\n\ntype AsProps = {\n /**\n * @deprecated don't use this prop\n */\n theme?: 'dark' | 'default';\n /**\n * @deprecated use `onDnD` instead\n */\n onSwapDraggable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * @deprecated use `onDnD` instead\n */\n onInsertDroppable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * Contolled drag and drop handler\n */\n onDnD: (dndData: { fromIndex: number; fromId: string; toIndex: number; toId: string }) => void;\n /**\n * Index of id that indicates item that is currently under the user focus in case of real browser focus cannot be used.\n * When provided, drag and drop listens to whole page keyboard events. Doesn't provide `onCustomFocusChange` callback.\n */\n customFocus?: number | string;\n getI18nText: (messageId: string, values?: { [key: string]: string | number }) => string;\n uid: string;\n};\n\ntype AttachDetails = {\n index: number;\n children: React.ReactNode;\n node: HTMLElement;\n id: string;\n draggingAllowed: boolean;\n isDropZone?: boolean;\n zoneName?: string;\n};\n\nconst noop: (...args: any[]) => any = () => {\n /* do nothing */\n};\nconst DragAndDropContext = React.createContext<{\n attach: (details: AttachDetails) => void;\n detach: (index: number) => void;\n}>({\n attach: noop,\n detach: noop,\n});\n\ntype State = {\n items: Array<Omit<AttachDetails, 'index'> | undefined>;\n dragging: null | {\n index: number;\n initialItemsRects: Array<{ x: number; y: number; width: number; height: number } | undefined>;\n };\n dragOver: number | null;\n hideHoverEffect: boolean;\n a11yHint: string | null;\n keyboardDraggingIndex: number | null;\n animatedScaling: number | null;\n reversedScaling: boolean;\n};\n\ntype A11yHintKeys = keyof typeof localizedMessages.en;\n\nclass DragAndDropRoot extends Component<AsProps, {}, State> {\n static displayName = 'DragAndDrop';\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhance()];\n static defaultProps = {\n theme: 'default',\n i18n: localizedMessages,\n locale: 'en',\n };\n static style = style;\n\n state: State = {\n items: [],\n dragging: null,\n dragOver: null,\n hideHoverEffect: false, // https://stackoverflow.com/questions/67118739/hover-effect-reset-when-hovering-over-other-letters\n a11yHint: null,\n keyboardDraggingIndex: null,\n animatedScaling: null,\n reversedScaling: false,\n };\n\n containerRef = React.createRef<HTMLDivElement>();\n clearA11yHintTimeout = 0;\n\n handleItemDragStart = (index: number) => {\n const { items } = this.state;\n const currentItem = items[index];\n if (!currentItem) return;\n\n const itemText =\n currentItem.node.getAttribute('aria-label') || currentItem.node.textContent || `${index + 1}`;\n\n const zoneName = currentItem.zoneName;\n const zonedItems = !zoneName ? items : items.filter((i) => i?.zoneName === zoneName);\n const itemsCount = zonedItems.length;\n const itemPosition = zonedItems.findIndex(\n (i) => i?.node === currentItem.node || (i?.id && i?.id === currentItem.id),\n );\n\n this.setA11yHint(zoneName ? 'grabbedWithZone' : 'grabbed', {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState((prevState: State) => ({\n dragging: {\n index,\n initialItemsRects: prevState.items.map((item) => item?.node.getBoundingClientRect()),\n },\n }));\n };\n handleItemDragEnd = (event: DragEvent) => {\n event.preventDefault();\n this.setState({\n dragging: null,\n dragOver: null,\n reversedScaling: false,\n keyboardDraggingIndex: null,\n });\n };\n handleItemDragOver = (event: DragEvent) => {\n event.preventDefault();\n const { items, dragging, dragOver } = this.state;\n if (!dragging) return;\n const itemIndex = dragging.initialItemsRects.findIndex(\n (rect) =>\n rect &&\n event.clientX > rect.x &&\n event.clientX < rect.x + rect.width &&\n event.clientY > rect.y &&\n event.clientY < rect.y + rect.height,\n );\n const currentItem = items[itemIndex];\n const draggingItem = items[dragging.index];\n if (!currentItem || !draggingItem || itemIndex === dragOver) return;\n\n const node = currentItem.isDropZone ? draggingItem.node : currentItem.node;\n\n const itemText = node.getAttribute('aria-label') || node.textContent || `${itemIndex + 1}`;\n const zoneName = currentItem.zoneName;\n const zonedItems = !zoneName ? items : items.filter((i) => i?.zoneName === zoneName);\n const itemsCount = zonedItems.length;\n const itemPosition = zonedItems.findIndex(\n (i) => i?.node === currentItem.node || (i?.id && i?.id === currentItem.id),\n );\n\n const i18nKey = !zoneName\n ? 'grabbing'\n : currentItem.isDropZone\n ? 'grabbingJustWithZone'\n : 'grabbingFullWithZone';\n\n this.setA11yHint(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState({ dragOver: itemIndex }, this.swapElements);\n };\n handleItemDrop = () => {\n const { onDnD } = this.asProps;\n if (!onDnD) return;\n\n const { items, dragging, dragOver } = this.state;\n if (!dragging) return;\n const currentItem = dragOver !== null ? items[dragOver] : items[dragging.index];\n const draggingItem = items[dragging.index];\n\n if (!currentItem || !draggingItem) return;\n\n const node = currentItem.isDropZone ? draggingItem.node : currentItem.node;\n const itemText =\n node.getAttribute('aria-label') || node.textContent || `${(dragOver ?? dragging.index) + 1}`;\n const zoneName = currentItem.zoneName;\n const zonedItems = !zoneName ? items : items.filter((i) => i?.zoneName === zoneName);\n const itemsCount = zonedItems.length;\n const itemPosition = zonedItems.findIndex(\n (i) => i?.node === currentItem.node || (i?.id && i?.id === currentItem.id),\n );\n\n const i18nKey = !zoneName\n ? 'dropped'\n : currentItem.isDropZone\n ? 'droppedJustWithZone'\n : 'droppedFullWithZone';\n\n this.setA11yHint(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n hideHoverEffect: true,\n reversedScaling: false,\n });\n if (dragging && items[dragging.index]) {\n const fromNode = items[dragging.index];\n if (fromNode) {\n onDnD({\n fromId: fromNode.id,\n fromIndex: dragging.index,\n toId: currentItem.id,\n toIndex: dragOver ?? dragging.index,\n });\n }\n }\n if (!currentItem.draggingAllowed) {\n this.asProps.onInsertDroppable?.(items[dragging!.index]?.children, currentItem.children);\n } else {\n this.asProps.onSwapDraggable?.(items[dragging!.index]?.children, currentItem.children);\n }\n };\n handleItemDragEnter = (event: DragEvent) => {\n event.preventDefault();\n };\n handleItemMouseMove = () => {\n if (!this.state.hideHoverEffect) return;\n this.setState({ hideHoverEffect: false });\n };\n updateItemScaling = () => {\n const firstItemNode = this.state.items[0]?.node;\n if (!firstItemNode) return;\n if (this.state.reversedScaling) return;\n\n const firstItemRect = firstItemNode.getBoundingClientRect();\n let reversedScaling = false;\n let parent = firstItemNode.parentElement;\n while (parent && parent !== document.body) {\n const computedStyle = getComputedStyle(parent);\n const rect = parent.getBoundingClientRect();\n if (computedStyle.overflow !== 'visible') {\n if (\n rect.left >= firstItemRect.left ||\n rect.right <= firstItemRect.right ||\n rect.top >= firstItemRect.top ||\n rect.bottom <= firstItemRect.bottom\n ) {\n reversedScaling = true;\n break;\n }\n } else {\n if (\n rect.left < firstItemRect.left &&\n rect.right > firstItemRect.right &&\n rect.top < firstItemRect.top &&\n rect.bottom > firstItemRect.bottom\n ) {\n break;\n }\n }\n parent = parent.parentElement;\n }\n\n if (this.state.reversedScaling !== reversedScaling) {\n this.setState({ reversedScaling });\n }\n };\n swapElements = () => {\n const { items, dragging, dragOver } = this.state;\n const draggingIndex = dragging?.index ?? null;\n\n if (draggingIndex === null || dragOver === null) return;\n\n const node = items[draggingIndex]?.node;\n const dragNode = items[dragOver]?.node;\n\n if (!node || !dragNode) return;\n\n if (draggingIndex === dragOver) {\n const nextDragNode = items[dragOver + 1]?.node ?? null;\n this.containerRef.current?.insertBefore(node, nextDragNode);\n } else if (draggingIndex > dragOver) {\n this.containerRef.current?.insertBefore(node, dragNode);\n } else {\n this.containerRef.current?.insertBefore(node, dragNode.nextSibling);\n }\n\n node.focus();\n };\n handleItemKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (this.state.dragging && event.key === 'Tab') {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n if (this.state.dragging) {\n this.handleItemDrop();\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n animatedScaling: index,\n hideHoverEffect: true,\n });\n } else if (this.state.items[index]?.draggingAllowed) {\n this.handleItemDragStart(index);\n this.setState({ keyboardDraggingIndex: index, animatedScaling: index });\n this.updateItemScaling();\n }\n return false;\n } else if (event.key === 'Escape' && this.state.dragging) {\n event.preventDefault();\n event.stopPropagation();\n\n this.setA11yHint('discarded');\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n hideHoverEffect: true,\n });\n const { items } = this.state;\n for (let i = items.length - 1; i >= 0; i--) {\n const node = items[i]?.node;\n const prevNode = items[i + 1]?.node ?? null;\n if (node) {\n this.containerRef.current?.insertBefore(node, prevNode);\n }\n }\n\n if (event.target instanceof HTMLElement) {\n event.target.focus();\n }\n\n return false;\n } else if (event.key.startsWith('Arrow') && this.state.dragging) {\n if (this.state.animatedScaling !== null) {\n this.setState({ animatedScaling: null });\n }\n const node = event.currentTarget;\n if (!node || node !== document.activeElement) return;\n event.preventDefault();\n requestAnimationFrame(() => {\n if (!(node instanceof HTMLElement) || node !== document.activeElement) return;\n const rects: Array<{ top: number; right: number; bottom: number; left: number }> = [];\n let nodeRect: { top: number; right: number; bottom: number; left: number } = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n\n this.containerRef.current?.childNodes.forEach((childNode, index) => {\n if (childNode instanceof HTMLElement) {\n const rect = childNode.getBoundingClientRect();\n const roundedRect = {\n top: Math.round(rect.top),\n right: Math.round(rect.right),\n bottom: Math.round(rect.bottom),\n left: Math.round(rect.left),\n };\n\n rects.push(roundedRect);\n\n if (childNode === node) {\n nodeRect = roundedRect;\n }\n }\n });\n const nextIndex = findNextRectangleIndex(rects, nodeRect, event.key as DirectionArrows);\n if (nextIndex === -1) return false;\n\n if (node && this.state.dragging !== null) {\n this.setA11yHint('grabbing', {\n itemPosition: nextIndex + 1,\n itemsCount: this.state.items.length,\n });\n this.setState({ dragOver: nextIndex }, () => {\n this.swapElements();\n });\n }\n return false;\n });\n }\n };\n handleItemFocus = () => {\n if (!this.state.dragging) return;\n this.updateItemScaling();\n };\n\n makeItemDragStartHandler = (index: number) => () => this.handleItemDragStart(index);\n makeItemKeyDownHandler = (index: number) => (event: KeyboardEvent) =>\n this.handleItemKeyDown(event, index);\n\n getDraggableProps(_: any, index: number) {\n const { uid } = this.asProps;\n return {\n uid,\n index,\n onDragStart: this.makeItemDragStartHandler(index),\n onDragEnd: this.handleItemDragEnd,\n onDragOver: this.handleItemDragOver,\n onDragEnter: this.handleItemDragEnter,\n onDrop: this.handleItemDrop,\n onMouseMove: this.handleItemMouseMove,\n onKeyDown: this.makeItemKeyDownHandler(index),\n onFocus: this.handleItemFocus,\n dropPreview: index === this.state.dragOver,\n keyboardDragging: index === this.state.keyboardDraggingIndex,\n reversedScaling: this.state.reversedScaling,\n dark: this.asProps.theme === 'dark',\n hideHoverEffect: this.state.hideHoverEffect,\n animatedScaling: index === this.state.animatedScaling,\n };\n }\n\n handlePageKeyDown = (event: KeyboardEvent) => {\n if (this.asProps.customFocus !== undefined) {\n const itemIndex = this.getCustomFocusItemIndex(this.asProps.customFocus);\n if (this.state.items[itemIndex!]) {\n this.handleItemKeyDown(event, itemIndex!);\n }\n }\n };\n\n attach = ({\n index,\n children,\n node,\n id,\n draggingAllowed,\n zoneName,\n isDropZone,\n }: AttachDetails) => {\n this.setState((prevState: State) => {\n if (prevState.items[index]?.children === children && prevState.items[index]?.node === node)\n return prevState;\n const { items } = prevState;\n items[index] = { children, node, id, draggingAllowed, zoneName, isDropZone };\n return { items: [...items] };\n });\n };\n detach = (index: number) => {\n this.setState((prevState: State) => {\n if (!prevState.items[index]) return prevState;\n const { items } = prevState;\n items[index] = undefined;\n return { items: [...items] };\n });\n };\n\n getCustomFocusItemIndex = (customFocus: string | number | undefined) => {\n if (customFocus === undefined) return undefined;\n let itemIndex = customFocus;\n if (typeof itemIndex === 'string') {\n itemIndex = this.state.items.findIndex((item) => item?.id === customFocus);\n }\n if (itemIndex === -1 || typeof itemIndex !== 'number') return undefined;\n return itemIndex;\n };\n\n setA11yHint = (key: A11yHintKeys, options: any = {}) => {\n clearTimeout(this.clearA11yHintTimeout);\n\n const { getI18nText } = this.asProps;\n\n this.setState({\n a11yHint: getI18nText(key, options),\n });\n\n if ((key === 'dropped' || key === 'discarded') && canUseDOM()) {\n this.clearA11yHintTimeout = window.setTimeout(() => {\n this.setState({ a11yHint: null });\n }, 2000);\n }\n };\n\n componentDidMount() {\n document.addEventListener('keydown', this.handlePageKeyDown, { capture: true });\n }\n\n componentWillUnmount() {\n clearTimeout(this.clearA11yHintTimeout);\n document.removeEventListener('keydown', this.handlePageKeyDown, { capture: true });\n }\n\n componentDidUpdate(prevProps: AsProps) {\n if (prevProps.customFocus !== this.asProps.customFocus) {\n const itemIndex = this.getCustomFocusItemIndex(this.asProps.customFocus);\n if (this.state.items[itemIndex!]) this.handleItemFocus();\n }\n }\n\n render() {\n const { attach, detach } = this;\n const SA11yHint = 'div';\n const { a11yHint, dragging } = this.state;\n const context = { attach, detach };\n const { getI18nText, uid } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <DragAndDropContext.Provider value={context}>\n {a11yHint && (\n <SA11yHint role='alert' aria-live='assertive'>\n {a11yHint}\n </SA11yHint>\n )}\n <Root render={Box} role={'group'} ref={this.containerRef} />\n <ScreenReaderOnly id={`describe-draggable-${uid}`} aria-hidden={'true'}>\n {getI18nText('describe', { control: 'Space' })}\n </ScreenReaderOnly>\n </DragAndDropContext.Provider>,\n );\n }\n}\n\nconst Draggable = (props: any) => {\n const SDraggable = Root;\n const ref = React.useRef();\n const { attach, detach } = React.useContext(DragAndDropContext);\n const {\n styles,\n placement = 'right',\n noDrag = false,\n index,\n children,\n Children,\n id,\n zoneName,\n isDropZone = false,\n uid,\n } = props;\n const resolvedChildren = React.useMemo(\n () => (typeof children === 'function' ? children(props) : children),\n [children, props],\n );\n\n useEnhancedEffect(() => {\n attach({\n index,\n children: resolvedChildren,\n node: ref.current!,\n id,\n draggingAllowed: !noDrag,\n zoneName,\n isDropZone,\n });\n return () => detach(index);\n }, [index, resolvedChildren, attach, detach, id]);\n\n return sstyled(styles)(\n <SDraggable\n render={Box}\n ref={ref}\n draggable={!noDrag}\n placement={placement}\n role={'group'}\n aria-describedby={`describe-draggable-${uid}`}\n >\n <Children />\n </SDraggable>,\n );\n};\nDraggable.enhance = [keyboardFocusEnhance()];\n\ntype DirectionArrows = 'ArrowRight' | 'ArrowLeft' | 'ArrowUp' | 'ArrowDown';\nconst findNextRectangleIndex = <\n Rectangle extends { top: number; right: number; bottom: number; left: number },\n>(\n rectangles: (Rectangle | undefined)[],\n current: Rectangle,\n direction: DirectionArrows,\n): number => {\n let candidate: Rectangle | null = null;\n let minDistance: number = Infinity;\n\n for (let i = 0; i < rectangles.length; i++) {\n const rect = rectangles[i];\n if (!rect) continue;\n if (rect === current) continue;\n\n const verticallyOverlaps = current.top <= rect.bottom && current.bottom >= rect.top;\n const horizontallyOverlaps = current.left <= rect.right && current.right >= rect.left;\n\n if (!verticallyOverlaps && !horizontallyOverlaps) continue;\n\n switch (direction) {\n case 'ArrowRight': {\n if (!verticallyOverlaps) continue;\n const distance = rect.left - current.right;\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n case 'ArrowLeft': {\n if (!verticallyOverlaps) continue;\n const distance = current.left - rect.right;\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n case 'ArrowUp': {\n if (!horizontallyOverlaps) continue;\n const distance = current.top - rect.bottom;\n\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n case 'ArrowDown': {\n if (!horizontallyOverlaps) continue;\n const distance = rect.top - current.bottom;\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n }\n }\n\n return rectangles.indexOf(candidate!);\n};\n\nconst DropZone = (props: DropZoneProps) => {\n const SDropZone = Root;\n const { styles } = props;\n\n return sstyled(styles)(\n <SDropZone render={DragAndDrop.Draggable} noDrag isDropZone aria-describedby={null} />,\n );\n};\n\nconst DragAndDrop = createComponent(DragAndDropRoot, {\n Draggable,\n DropZone,\n Dropable: DropZone,\n}) as any;\n\nexport default DragAndDrop;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DragAndDrop.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_intergalacticDynamicLocales","_i18nEnhance","_useEnhancedEffect","_keyboardFocusEnhance","_uniqueID","_canUseDOM","style","_index","sstyled","insert","noop","DragAndDropContext","React","createContext","attach","detach","DragAndDropRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","items","dragging","dragOver","hideHoverEffect","a11yHint","keyboardDraggingIndex","animatedScaling","reversedScaling","createRef","index","state","currentItem","itemText","node","getAttribute","textContent","zoneName","zonedItems","filter","i","itemsCount","itemPosition","findIndex","id","setA11yHint","setState","prevState","initialItemsRects","map","item","getBoundingClientRect","event","preventDefault","_this$state","itemIndex","rect","clientX","x","width","clientY","y","height","draggingItem","isDropZone","i18nKey","swapElements","onDnD","asProps","_this$state2","fromNode","fromId","fromIndex","toId","toIndex","draggingAllowed","_this$asProps$onInser","_this$asProps","_items$index","onInsertDroppable","children","_this$asProps$onSwapD","_this$asProps2","_items$index2","onSwapDraggable","_this$state$items$","firstItemNode","firstItemRect","parent","parentElement","document","body","computedStyle","getComputedStyle","overflow","left","right","top","bottom","_dragging$index","_items$draggingIndex","_items$dragOver","_this$state3","draggingIndex","dragNode","_items$node","_items","_this$containerRef$cu","nextDragNode","containerRef","current","insertBefore","_this$containerRef$cu2","_this$containerRef$cu3","nextSibling","focus","target","currentTarget","key","stopPropagation","_this$state$items$ind","handleItemDrop","handleItemDragStart","updateItemScaling","_items$i","_items$node2","_items2","prevNode","_this$containerRef$cu4","HTMLElement","startsWith","activeElement","requestAnimationFrame","_this$containerRef$cu5","rects","nodeRect","childNodes","forEach","childNode","roundedRect","Math","round","push","nextIndex","findNextRectangleIndex","handleItemKeyDown","customFocus","undefined","getCustomFocusItemIndex","_ref7","_prevState$items$inde","_prevState$items$inde2","_toConsumableArray2","options","clearTimeout","clearA11yHintTimeout","getI18nText","canUseDOM","window","setTimeout","_createClass2","value","getDraggableProps","_","uid","onDragStart","makeItemDragStartHandler","onDragEnd","handleItemDragEnd","onDragOver","handleItemDragOver","onDragEnter","handleItemDragEnter","onDrop","onMouseMove","handleItemMouseMove","onKeyDown","makeItemKeyDownHandler","onFocus","handleItemFocus","dropPreview","keyboardDragging","dark","theme","componentDidMount","addEventListener","handlePageKeyDown","capture","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","render","_ref","_ref4","SA11yHint","_this$state4","context","_this$asProps3","styles","createElement","Provider","cn","Box","assignProps","ScreenReaderOnly","control","Component","i18nEnhance","localizedMessages","uniqueIDEnhance","i18n","locale","Draggable","props","_ref2","arguments[0]","_ref5","SDraggable","ref","useRef","_React$useContext","useContext","_props$placement","placement","_props$noDrag","noDrag","Children","_props$isDropZone","_props$isCustomFocus","isCustomFocus","keyboardFocused","resolvedChildren","useMemo","useEnhancedEffect","_objectSpread2","enhance","keyboardFocusEnhance","rectangles","direction","candidate","minDistance","Infinity","verticallyOverlaps","horizontallyOverlaps","distance","indexOf","DropZone","_ref3","_ref6","SDropZone","DragAndDrop","createComponent","Dropable","_default","exports"],"sources":["../../src/DragAndDrop.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { sstyled, Component, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n\nimport style from './style/drag-and-drop.shadow.css';\nimport { DropZoneProps } from './index';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { ScreenReaderOnly } from '@semcore/flex-box';\nimport uniqueIDEnhance from '@semcore/utils/lib/uniqueID';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\n\ntype AsProps = {\n /**\n * @deprecated don't use this prop\n */\n theme?: 'dark' | 'default';\n /**\n * @deprecated use `onDnD` instead\n */\n onSwapDraggable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * @deprecated use `onDnD` instead\n */\n onInsertDroppable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * Contolled drag and drop handler\n */\n onDnD: (dndData: { fromIndex: number; fromId: string; toIndex: number; toId: string }) => void;\n /**\n * Index of id that indicates item that is currently under the user focus in case of real browser focus cannot be used.\n * When provided, drag and drop listens to whole page keyboard events. Doesn't provide `onCustomFocusChange` callback.\n */\n customFocus?: number | string;\n getI18nText: (messageId: string, values?: { [key: string]: string | number }) => string;\n uid: string;\n};\n\ntype AttachDetails = {\n index: number;\n children: React.ReactNode;\n node: HTMLElement;\n id: string;\n draggingAllowed: boolean;\n isDropZone?: boolean;\n zoneName?: string;\n};\n\nconst noop: (...args: any[]) => any = () => {\n /* do nothing */\n};\nconst DragAndDropContext = React.createContext<{\n attach: (details: AttachDetails) => void;\n detach: (index: number) => void;\n}>({\n attach: noop,\n detach: noop,\n});\n\ntype State = {\n items: Array<Omit<AttachDetails, 'index'> | undefined>;\n dragging: null | {\n index: number;\n initialItemsRects: Array<{ x: number; y: number; width: number; height: number } | undefined>;\n };\n dragOver: number | null;\n hideHoverEffect: boolean;\n a11yHint: string | null;\n keyboardDraggingIndex: number | null;\n animatedScaling: number | null;\n reversedScaling: boolean;\n};\n\ntype A11yHintKeys = keyof typeof localizedMessages.en;\n\nclass DragAndDropRoot extends Component<AsProps, {}, State> {\n static displayName = 'DragAndDrop';\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhance()];\n static defaultProps = {\n theme: 'default',\n i18n: localizedMessages,\n locale: 'en',\n };\n static style = style;\n\n state: State = {\n items: [],\n dragging: null,\n dragOver: null,\n hideHoverEffect: false, // https://stackoverflow.com/questions/67118739/hover-effect-reset-when-hovering-over-other-letters\n a11yHint: null,\n keyboardDraggingIndex: null,\n animatedScaling: null,\n reversedScaling: false,\n };\n\n containerRef = React.createRef<HTMLDivElement>();\n clearA11yHintTimeout = 0;\n\n handleItemDragStart = (index: number) => {\n const { items } = this.state;\n const currentItem = items[index];\n if (!currentItem) return;\n\n const itemText =\n currentItem.node.getAttribute('aria-label') || currentItem.node.textContent || `${index + 1}`;\n\n const zoneName = currentItem.zoneName;\n const zonedItems = !zoneName ? items : items.filter((i) => i?.zoneName === zoneName);\n const itemsCount = zonedItems.length;\n const itemPosition = zonedItems.findIndex(\n (i) => i?.node === currentItem.node || (i?.id && i?.id === currentItem.id),\n );\n\n this.setA11yHint(zoneName ? 'grabbedWithZone' : 'grabbed', {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState((prevState: State) => ({\n dragging: {\n index,\n initialItemsRects: prevState.items.map((item) => item?.node.getBoundingClientRect()),\n },\n }));\n };\n handleItemDragEnd = (event: DragEvent) => {\n event.preventDefault();\n this.setState({\n dragging: null,\n dragOver: null,\n reversedScaling: false,\n keyboardDraggingIndex: null,\n });\n };\n handleItemDragOver = (event: DragEvent) => {\n event.preventDefault();\n const { items, dragging, dragOver } = this.state;\n if (!dragging) return;\n const itemIndex = dragging.initialItemsRects.findIndex(\n (rect) =>\n rect &&\n event.clientX > rect.x &&\n event.clientX < rect.x + rect.width &&\n event.clientY > rect.y &&\n event.clientY < rect.y + rect.height,\n );\n const currentItem = items[itemIndex];\n const draggingItem = items[dragging.index];\n if (!currentItem || !draggingItem || itemIndex === dragOver) return;\n\n const node = currentItem.isDropZone ? draggingItem.node : currentItem.node;\n\n const itemText = node.getAttribute('aria-label') || node.textContent || `${itemIndex + 1}`;\n const zoneName = currentItem.zoneName;\n const zonedItems = !zoneName ? items : items.filter((i) => i?.zoneName === zoneName);\n const itemsCount = zonedItems.length;\n const itemPosition = zonedItems.findIndex(\n (i) => i?.node === currentItem.node || (i?.id && i?.id === currentItem.id),\n );\n\n const i18nKey = !zoneName\n ? 'grabbing'\n : currentItem.isDropZone\n ? 'grabbingJustWithZone'\n : 'grabbingFullWithZone';\n\n this.setA11yHint(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState({ dragOver: itemIndex }, this.swapElements);\n };\n handleItemDrop = () => {\n const { onDnD } = this.asProps;\n if (!onDnD) return;\n\n const { items, dragging, dragOver } = this.state;\n if (!dragging) return;\n const currentItem = dragOver !== null ? items[dragOver] : items[dragging.index];\n const draggingItem = items[dragging.index];\n\n if (!currentItem || !draggingItem) return;\n\n const node = currentItem.isDropZone ? draggingItem.node : currentItem.node;\n const itemText =\n node.getAttribute('aria-label') || node.textContent || `${(dragOver ?? dragging.index) + 1}`;\n const zoneName = currentItem.zoneName;\n const zonedItems = !zoneName ? items : items.filter((i) => i?.zoneName === zoneName);\n const itemsCount = zonedItems.length;\n const itemPosition = zonedItems.findIndex(\n (i) => i?.node === currentItem.node || (i?.id && i?.id === currentItem.id),\n );\n\n const i18nKey = !zoneName\n ? 'dropped'\n : currentItem.isDropZone\n ? 'droppedJustWithZone'\n : 'droppedFullWithZone';\n\n this.setA11yHint(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n hideHoverEffect: true,\n reversedScaling: false,\n });\n if (dragging && items[dragging.index]) {\n const fromNode = items[dragging.index];\n if (fromNode) {\n onDnD({\n fromId: fromNode.id,\n fromIndex: dragging.index,\n toId: currentItem.id,\n toIndex: dragOver ?? dragging.index,\n });\n }\n }\n if (!currentItem.draggingAllowed) {\n this.asProps.onInsertDroppable?.(items[dragging!.index]?.children, currentItem.children);\n } else {\n this.asProps.onSwapDraggable?.(items[dragging!.index]?.children, currentItem.children);\n }\n };\n handleItemDragEnter = (event: DragEvent) => {\n event.preventDefault();\n };\n handleItemMouseMove = () => {\n if (!this.state.hideHoverEffect) return;\n this.setState({ hideHoverEffect: false });\n };\n updateItemScaling = () => {\n const firstItemNode = this.state.items[0]?.node;\n if (!firstItemNode) return;\n if (this.state.reversedScaling) return;\n\n const firstItemRect = firstItemNode.getBoundingClientRect();\n let reversedScaling = false;\n let parent = firstItemNode.parentElement;\n while (parent && parent !== document.body) {\n const computedStyle = getComputedStyle(parent);\n const rect = parent.getBoundingClientRect();\n if (computedStyle.overflow !== 'visible') {\n if (\n rect.left >= firstItemRect.left ||\n rect.right <= firstItemRect.right ||\n rect.top >= firstItemRect.top ||\n rect.bottom <= firstItemRect.bottom\n ) {\n reversedScaling = true;\n break;\n }\n } else {\n if (\n rect.left < firstItemRect.left &&\n rect.right > firstItemRect.right &&\n rect.top < firstItemRect.top &&\n rect.bottom > firstItemRect.bottom\n ) {\n break;\n }\n }\n parent = parent.parentElement;\n }\n\n if (this.state.reversedScaling !== reversedScaling) {\n this.setState({ reversedScaling });\n }\n };\n swapElements = () => {\n const { items, dragging, dragOver } = this.state;\n const draggingIndex = dragging?.index ?? null;\n\n if (draggingIndex === null || dragOver === null) return;\n\n const node = items[draggingIndex]?.node;\n const dragNode = items[dragOver]?.node;\n\n if (!node || !dragNode) return;\n\n if (draggingIndex === dragOver) {\n const nextDragNode = items[dragOver + 1]?.node ?? null;\n this.containerRef.current?.insertBefore(node, nextDragNode);\n } else if (draggingIndex > dragOver) {\n this.containerRef.current?.insertBefore(node, dragNode);\n } else {\n this.containerRef.current?.insertBefore(node, dragNode.nextSibling);\n }\n\n node.focus();\n };\n handleItemKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (this.state.dragging && event.key === 'Tab') {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n if (this.state.dragging) {\n this.handleItemDrop();\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n animatedScaling: index,\n hideHoverEffect: true,\n });\n } else if (this.state.items[index]?.draggingAllowed) {\n this.handleItemDragStart(index);\n this.setState({ keyboardDraggingIndex: index, animatedScaling: index });\n this.updateItemScaling();\n }\n return false;\n } else if (event.key === 'Escape' && this.state.dragging) {\n event.preventDefault();\n event.stopPropagation();\n\n this.setA11yHint('discarded');\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n hideHoverEffect: true,\n });\n const { items } = this.state;\n for (let i = items.length - 1; i >= 0; i--) {\n const node = items[i]?.node;\n const prevNode = items[i + 1]?.node ?? null;\n if (node) {\n this.containerRef.current?.insertBefore(node, prevNode);\n }\n }\n\n if (event.target instanceof HTMLElement) {\n event.target.focus();\n }\n\n return false;\n } else if (event.key.startsWith('Arrow') && this.state.dragging) {\n if (this.state.animatedScaling !== null) {\n this.setState({ animatedScaling: null });\n }\n const node = event.currentTarget;\n if (!node || node !== document.activeElement) return;\n event.preventDefault();\n event.stopPropagation();\n requestAnimationFrame(() => {\n if (!(node instanceof HTMLElement) || node !== document.activeElement) return;\n const rects: Array<{ top: number; right: number; bottom: number; left: number }> = [];\n let nodeRect: { top: number; right: number; bottom: number; left: number } = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n\n this.containerRef.current?.childNodes.forEach((childNode, index) => {\n if (childNode instanceof HTMLElement && childNode.getAttribute('draggable') !== null) {\n const rect = childNode.getBoundingClientRect();\n const roundedRect = {\n top: Math.round(rect.top),\n right: Math.round(rect.right),\n bottom: Math.round(rect.bottom),\n left: Math.round(rect.left),\n };\n\n rects.push(roundedRect);\n\n if (childNode === node) {\n nodeRect = roundedRect;\n }\n }\n });\n const nextIndex = findNextRectangleIndex(rects, nodeRect, event.key as DirectionArrows);\n if (nextIndex === -1) return false;\n\n if (node && this.state.dragging !== null) {\n this.setA11yHint('grabbing', {\n itemPosition: nextIndex + 1,\n itemsCount: this.state.items.length,\n });\n this.setState({ dragOver: nextIndex }, () => {\n this.swapElements();\n });\n }\n return false;\n });\n }\n };\n handleItemFocus = () => {\n if (!this.state.dragging) return;\n this.updateItemScaling();\n };\n\n makeItemDragStartHandler = (index: number) => () => this.handleItemDragStart(index);\n makeItemKeyDownHandler = (index: number) => (event: KeyboardEvent) =>\n this.handleItemKeyDown(event, index);\n\n getDraggableProps(_: any, index: number) {\n const { uid } = this.asProps;\n return {\n uid,\n index,\n onDragStart: this.makeItemDragStartHandler(index),\n onDragEnd: this.handleItemDragEnd,\n onDragOver: this.handleItemDragOver,\n onDragEnter: this.handleItemDragEnter,\n onDrop: this.handleItemDrop,\n onMouseMove: this.handleItemMouseMove,\n onKeyDown: this.makeItemKeyDownHandler(index),\n onFocus: this.handleItemFocus,\n dropPreview: index === this.state.dragOver,\n keyboardDragging: index === this.state.keyboardDraggingIndex,\n reversedScaling: this.state.reversedScaling,\n dark: this.asProps.theme === 'dark',\n hideHoverEffect: this.state.hideHoverEffect,\n animatedScaling: index === this.state.animatedScaling,\n };\n }\n\n handlePageKeyDown = (event: KeyboardEvent) => {\n if (this.asProps.customFocus !== undefined) {\n const itemIndex = this.getCustomFocusItemIndex(this.asProps.customFocus);\n if (this.state.items[itemIndex!]) {\n this.handleItemKeyDown(event, itemIndex!);\n }\n }\n };\n\n attach = ({\n index,\n children,\n node,\n id,\n draggingAllowed,\n zoneName,\n isDropZone,\n }: AttachDetails) => {\n this.setState((prevState: State) => {\n if (prevState.items[index]?.children === children && prevState.items[index]?.node === node)\n return prevState;\n const { items } = prevState;\n items[index] = { children, node, id, draggingAllowed, zoneName, isDropZone };\n return { items: [...items] };\n });\n };\n detach = (index: number) => {\n this.setState((prevState: State) => {\n if (!prevState.items[index]) return prevState;\n const { items } = prevState;\n items[index] = undefined;\n return { items: [...items] };\n });\n };\n\n getCustomFocusItemIndex = (customFocus: string | number | undefined) => {\n if (customFocus === undefined) return undefined;\n let itemIndex = customFocus;\n if (typeof itemIndex === 'string') {\n itemIndex = this.state.items.findIndex((item) => item?.id === customFocus);\n }\n if (itemIndex === -1 || typeof itemIndex !== 'number') return undefined;\n return itemIndex;\n };\n\n setA11yHint = (key: A11yHintKeys, options: any = {}) => {\n clearTimeout(this.clearA11yHintTimeout);\n\n const { getI18nText } = this.asProps;\n\n this.setState({\n a11yHint: getI18nText(key, options),\n });\n\n if ((key === 'dropped' || key === 'discarded') && canUseDOM()) {\n this.clearA11yHintTimeout = window.setTimeout(() => {\n this.setState({ a11yHint: null });\n }, 2000);\n }\n };\n\n componentDidMount() {\n document.addEventListener('keydown', this.handlePageKeyDown, { capture: true });\n }\n\n componentWillUnmount() {\n clearTimeout(this.clearA11yHintTimeout);\n document.removeEventListener('keydown', this.handlePageKeyDown, { capture: true });\n }\n\n componentDidUpdate(prevProps: AsProps) {\n if (prevProps.customFocus !== this.asProps.customFocus) {\n const itemIndex = this.getCustomFocusItemIndex(this.asProps.customFocus);\n if (this.state.items[itemIndex!]) this.handleItemFocus();\n }\n }\n\n render() {\n const { attach, detach } = this;\n const SA11yHint = 'div';\n const { a11yHint, dragging } = this.state;\n const context = { attach, detach };\n const { getI18nText, uid } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <DragAndDropContext.Provider value={context}>\n {a11yHint && (\n <SA11yHint role='alert' aria-live='assertive'>\n {a11yHint}\n </SA11yHint>\n )}\n <Root render={Box} role={'group'} ref={this.containerRef} />\n <ScreenReaderOnly id={`describe-draggable-${uid}`} aria-hidden={'true'}>\n {getI18nText('describe', { control: 'Space' })}\n </ScreenReaderOnly>\n </DragAndDropContext.Provider>,\n );\n }\n}\n\nconst Draggable = (props: any) => {\n const SDraggable = Root;\n const ref = React.useRef();\n const { attach, detach } = React.useContext(DragAndDropContext);\n const {\n styles,\n placement = 'right',\n noDrag = false,\n index,\n children,\n Children,\n id,\n zoneName,\n isDropZone = false,\n uid,\n isCustomFocus = false,\n keyboardFocused,\n } = props;\n const resolvedChildren = React.useMemo(\n () => (typeof children === 'function' ? children(props) : children),\n [children, props],\n );\n\n useEnhancedEffect(() => {\n attach({\n index,\n children: resolvedChildren,\n node: ref.current!,\n id,\n draggingAllowed: !noDrag,\n zoneName,\n isDropZone,\n });\n return () => detach(index);\n }, [index, resolvedChildren, attach, detach, id]);\n\n return sstyled(styles)(\n <SDraggable\n render={Box}\n ref={ref}\n draggable={!noDrag}\n placement={placement}\n role={'group'}\n aria-describedby={`describe-draggable-${uid}`}\n use:keyboardFocused={isCustomFocus ? false : keyboardFocused}\n >\n <Children />\n </SDraggable>,\n );\n};\nDraggable.enhance = [keyboardFocusEnhance()];\n\ntype DirectionArrows = 'ArrowRight' | 'ArrowLeft' | 'ArrowUp' | 'ArrowDown';\nconst findNextRectangleIndex = <\n Rectangle extends { top: number; right: number; bottom: number; left: number },\n>(\n rectangles: (Rectangle | undefined)[],\n current: Rectangle,\n direction: DirectionArrows,\n): number => {\n let candidate: Rectangle | null = null;\n let minDistance: number = Infinity;\n\n for (let i = 0; i < rectangles.length; i++) {\n const rect = rectangles[i];\n if (!rect) continue;\n if (rect === current) continue;\n\n const verticallyOverlaps = current.top <= rect.bottom && current.bottom >= rect.top;\n const horizontallyOverlaps = current.left <= rect.right && current.right >= rect.left;\n\n if (!verticallyOverlaps && !horizontallyOverlaps) continue;\n\n switch (direction) {\n case 'ArrowRight': {\n if (!verticallyOverlaps) continue;\n const distance = rect.left - current.right;\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n case 'ArrowLeft': {\n if (!verticallyOverlaps) continue;\n const distance = current.left - rect.right;\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n case 'ArrowUp': {\n if (!horizontallyOverlaps) continue;\n const distance = current.top - rect.bottom;\n\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n case 'ArrowDown': {\n if (!horizontallyOverlaps) continue;\n const distance = rect.top - current.bottom;\n if (distance < 0 || distance >= minDistance) continue;\n candidate = rect;\n minDistance = distance;\n break;\n }\n }\n }\n\n return rectangles.indexOf(candidate!);\n};\n\nconst DropZone = (props: DropZoneProps) => {\n const SDropZone = Root;\n const { styles } = props;\n\n return sstyled(styles)(\n <SDropZone render={DragAndDrop.Draggable} noDrag isDropZone aria-describedby={null} />,\n );\n};\n\nconst DragAndDrop = createComponent(DragAndDropRoot, {\n Draggable,\n DropZone,\n Dropable: DropZone,\n}) as any;\n\nexport default DragAndDrop;\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\n\n/**\n * DragAndDrop and Draggable containers must have an accessible names (aria-group-name).\n */\ntype DNDAriaProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\n/** @deprecated */\nexport interface IDragAndDropProps extends DragAndDropProps, UnknownProperties {}\nexport type DragAndDropProps = BoxProps & {\n /**\n * @deprecated don't use this prop\n */\n theme?: 'dark' | 'default';\n /**\n * @deprecated use `onDnD` instead\n */\n onSwapDraggable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * @deprecated use `onDnD` instead\n */\n onInsertDroppable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * Controlled drag and drop handler\n */\n onDnD: (dndData: { fromIndex: number; fromId: string; toIndex: number; toId: string }) => void;\n /**\n * Index of id that indicates item that is currently under the user focus in case of real browser focus cannot be used.\n * When provided, drag and drop listens to whole page keyboard events. Doesn't provide `onCustomFocusChange` callback.\n */\n customFocus?: number | string;\n locale?: string;\n};\n\n/** @deprecated */\nexport interface IDraggableProps extends DraggableProps, UnknownProperties {}\nexport type DraggableProps = BoxProps & {\n /** Placement of visual drag-and-drop marker\n * @default right\n * */\n placement?: 'top' | 'right' | 'bottom' | 'left' | false;\n /** Disabled DropZone abilities of component\n * @default false\n * */\n noDrop?: boolean;\n /**\n * Used as `fromId` or `toId` in `onDnD` handler.\n */\n id?: string;\n /**\n * Used for add zoneName in a11y hints\n */\n zoneName?: string;\n};\n\n/** @deprecated */\nexport interface IDragAndDropContext extends DragAndDropContext, UnknownProperties {}\nexport type DragAndDropContext = {\n getDraggableProps: PropGetterFn;\n getDroppableProps: PropGetterFn;\n};\n\nexport type DropZoneProps = BoxProps &\n DNDAriaProps & {\n /**\n * Used for add zoneName in a11y hints\n */\n zoneName?: string;\n };\n\ndeclare const DragAndDrop: Intergalactic.Component<\n 'div',\n DragAndDropProps & DNDAriaProps,\n DragAndDropContext\n> & {\n Draggable: Intergalactic.Component<'div', DraggableProps & DNDAriaProps>;\n DropZone: Intergalactic.Component<typeof Box, DropZoneProps>;\n /** @deprecated use `DragAndDrop.DropZone` instead */\n Droppable: Intergalactic.Component<typeof Box, DropZoneProps>;\n};\n\nexport default DragAndDrop;\n"],"mappings":""}
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\n\n/**\n * DragAndDrop and Draggable containers must have an accessible names (aria-group-name).\n */\ntype DNDAriaProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\n/** @deprecated */\nexport interface IDragAndDropProps extends DragAndDropProps, UnknownProperties {}\nexport type DragAndDropProps = BoxProps & {\n /**\n * @deprecated don't use this prop\n */\n theme?: 'dark' | 'default';\n /**\n * @deprecated use `onDnD` instead\n */\n onSwapDraggable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * @deprecated use `onDnD` instead\n */\n onInsertDroppable?: (draggableNode: React.ReactNode, droppableNode: React.ReactNode) => void;\n /**\n * Controlled drag and drop handler\n */\n onDnD: (dndData: { fromIndex: number; fromId: string; toIndex: number; toId: string }) => void;\n /**\n * Index of id that indicates item that is currently under the user focus in case of real browser focus cannot be used.\n * When provided, drag and drop listens to whole page keyboard events. Doesn't provide `onCustomFocusChange` callback.\n */\n customFocus?: number | string;\n locale?: string;\n};\n\n/** @deprecated */\nexport interface IDraggableProps extends DraggableProps, UnknownProperties {}\nexport type DraggableProps = BoxProps & {\n /** Placement of visual drag-and-drop marker\n * @default right\n * */\n placement?: 'top' | 'right' | 'bottom' | 'left' | false;\n /** Disabled DropZone abilities of component\n * @default false\n * */\n noDrop?: boolean;\n /**\n * Used as `fromId` or `toId` in `onDnD` handler.\n */\n id?: string;\n /**\n * Used for add zoneName in a11y hints\n */\n zoneName?: string;\n /**\n * Flag for disable keyboardFocused style form DnD.Draggable element\n */\n isCustomFocus?: boolean;\n};\n\n/** @deprecated */\nexport interface IDragAndDropContext extends DragAndDropContext, UnknownProperties {}\nexport type DragAndDropContext = {\n getDraggableProps: PropGetterFn;\n getDroppableProps: PropGetterFn;\n};\n\nexport type DropZoneProps = BoxProps &\n DNDAriaProps & {\n /**\n * Used for add zoneName in a11y hints\n */\n zoneName?: string;\n };\n\ndeclare const DragAndDrop: Intergalactic.Component<\n 'div',\n DragAndDropProps & DNDAriaProps,\n DragAndDropContext\n> & {\n Draggable: Intergalactic.Component<'div', DraggableProps & DNDAriaProps>;\n DropZone: Intergalactic.Component<typeof Box, DropZoneProps>;\n /** @deprecated use `DragAndDrop.DropZone` instead */\n Droppable: Intergalactic.Component<typeof Box, DropZoneProps>;\n};\n\nexport default DragAndDrop;\n"],"mappings":""}
|
@@ -24,7 +24,8 @@ SDraggable[draggable] {
|
|
24
24
|
display: block;
|
25
25
|
}
|
26
26
|
|
27
|
-
|
27
|
+
/* todo removed role after refactoring dnd with some separate control for drag */
|
28
|
+
&:not([role="menuitemcheckbox"])[hideHoverEffect]::before {
|
28
29
|
display: none;
|
29
30
|
}
|
30
31
|
}
|
@@ -148,4 +149,4 @@ SA11yHint {
|
|
148
149
|
SDraggable {
|
149
150
|
transition: none;
|
150
151
|
}
|
151
|
-
}
|
152
|
+
}
|
@@ -17,22 +17,23 @@ import { localizedMessages } from './translations/__intergalactic-dynamic-locale
|
|
17
17
|
import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
|
18
18
|
import useEnhancedEffect from 'intergalactic/utils/lib/use/useEnhancedEffect';
|
19
19
|
/*__reshadow-styles__:"./style/drag-and-drop.shadow.css"*/
|
20
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
21
|
-
"__SDraggable": "
|
22
|
-
"_placement_top": "
|
23
|
-
"_placement_right": "
|
24
|
-
"_placement_left": "
|
25
|
-
"_placement_bottom": "
|
26
|
-
"__SDropZone": "
|
27
|
-
"_dropPreview": "
|
28
|
-
"_dark": "
|
29
|
-
"_keyboardFocused": "
|
30
|
-
"_keyboardDragging": "
|
31
|
-
"_reversedScaling": "
|
32
|
-
"_animatedScaling": "
|
33
|
-
"__SA11yHint": "
|
34
|
-
"_draggable": "
|
35
|
-
"_hideHoverEffect": "
|
20
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDraggable_1inh4_gg_.__draggable_1inh4_gg_{position:relative;cursor:grab;-moz-user-select:none;-webkit-user-select:none;user-select:none}.___SDraggable_1inh4_gg_.__draggable_1inh4_gg_::before{content:\"\";position:absolute;display:none;pointer-events:none;background-image:radial-gradient(circle at center,var(--intergalactic-icon-primary-neutral, #6c6e79) 1px,transparent 0);background-size:6px 6px;background-position:2px 2px;background-repeat:repeat repeat}@media (hover:hover){.___SDraggable_1inh4_gg_.__draggable_1inh4_gg_:hover::before{display:block}}.___SDraggable_1inh4_gg_.__draggable_1inh4_gg_.__hideHoverEffect_1inh4_gg_:not(._role_menuitemcheckbox_1inh4_gg_)::before{display:none}.___SDraggable_1inh4_gg_._placement_right_1inh4_gg_::before{right:0}.___SDraggable_1inh4_gg_._placement_bottom_1inh4_gg_::before{bottom:0}.___SDraggable_1inh4_gg_._placement_left_1inh4_gg_::before{left:0}.___SDraggable_1inh4_gg_._placement_top_1inh4_gg_::before{top:0;left:0;width:100%;height:16px}.___SDraggable_1inh4_gg_._placement_bottom_1inh4_gg_::before{left:0;width:100%;height:16px}.___SDraggable_1inh4_gg_._placement_left_1inh4_gg_::before,.___SDraggable_1inh4_gg_._placement_right_1inh4_gg_::before{top:0;width:16px;height:100%}.___SDropZone_1inh4_gg_{position:relative}.___SDraggable_1inh4_gg_.__dropPreview_1inh4_gg_,.___SDropZone_1inh4_gg_.__dropPreview_1inh4_gg_{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SDraggable_1inh4_gg_.__dark_1inh4_gg_.__dropPreview_1inh4_gg_,.___SDropZone_1inh4_gg_.__dark_1inh4_gg_.__dropPreview_1inh4_gg_{background-color:var(--intergalactic-bg-primary-invert-active, #484a54)}.___SDraggable_1inh4_gg_:focus{outline:0}.___SDraggable_1inh4_gg_.__keyboardFocused_1inh4_gg_:focus{box-shadow:none}.___SDraggable_1inh4_gg_.__keyboardFocused_1inh4_gg_:focus:after{position:absolute;display:block;content:\"\";top:3px;right:3px;bottom:3px;left:3px;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none}.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_{scale:1.1;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);box-shadow:var(--intergalactic-box-shadow-dnd, 0px 0px 1px 0px rgba(25, 27, 35, 0.16), 0px 12px 40px 0px rgba(25, 27, 35, 0.16))!important}.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_.__hideHoverEffect_1inh4_gg_::before,.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_::before{display:block}.___SDraggable_1inh4_gg_.__keyboardDragging_1inh4_gg_.__reversedScaling_1inh4_gg_{scale:.95}.___SDraggable_1inh4_gg_.__animatedScaling_1inh4_gg_{transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SA11yHint_1inh4_gg_{position:absolute;margin-top:-1px;height:1px;width:1px;clip:rect(0 0 0 0)}@media (prefers-reduced-motion:reduce){.___SDraggable_1inh4_gg_{transition:none}}" /*__inner_css_end__*/, "1inh4_gg_") /*__reshadow_css_end__*/, {
|
21
|
+
"__SDraggable": "___SDraggable_1inh4_gg_",
|
22
|
+
"_placement_top": "_placement_top_1inh4_gg_",
|
23
|
+
"_placement_right": "_placement_right_1inh4_gg_",
|
24
|
+
"_placement_left": "_placement_left_1inh4_gg_",
|
25
|
+
"_placement_bottom": "_placement_bottom_1inh4_gg_",
|
26
|
+
"__SDropZone": "___SDropZone_1inh4_gg_",
|
27
|
+
"_dropPreview": "__dropPreview_1inh4_gg_",
|
28
|
+
"_dark": "__dark_1inh4_gg_",
|
29
|
+
"_keyboardFocused": "__keyboardFocused_1inh4_gg_",
|
30
|
+
"_keyboardDragging": "__keyboardDragging_1inh4_gg_",
|
31
|
+
"_reversedScaling": "__reversedScaling_1inh4_gg_",
|
32
|
+
"_animatedScaling": "__animatedScaling_1inh4_gg_",
|
33
|
+
"__SA11yHint": "___SA11yHint_1inh4_gg_",
|
34
|
+
"_draggable": "__draggable_1inh4_gg_",
|
35
|
+
"_hideHoverEffect": "__hideHoverEffect_1inh4_gg_",
|
36
|
+
"_role_menuitemcheckbox": "_role_menuitemcheckbox_1inh4_gg_"
|
36
37
|
});
|
37
38
|
import keyboardFocusEnhance from 'intergalactic/utils/lib/enhances/keyboardFocusEnhance';
|
38
39
|
import { ScreenReaderOnly } from 'intergalactic/flex-box';
|
@@ -320,6 +321,7 @@ var DragAndDropRoot = /*#__PURE__*/function (_Component) {
|
|
320
321
|
var _node = event.currentTarget;
|
321
322
|
if (!_node || _node !== document.activeElement) return;
|
322
323
|
event.preventDefault();
|
324
|
+
event.stopPropagation();
|
323
325
|
requestAnimationFrame(function () {
|
324
326
|
var _this$containerRef$cu5;
|
325
327
|
if (!(_node instanceof HTMLElement) || _node !== document.activeElement) return;
|
@@ -331,7 +333,7 @@ var DragAndDropRoot = /*#__PURE__*/function (_Component) {
|
|
331
333
|
left: 0
|
332
334
|
};
|
333
335
|
(_this$containerRef$cu5 = _this.containerRef.current) === null || _this$containerRef$cu5 === void 0 ? void 0 : _this$containerRef$cu5.childNodes.forEach(function (childNode, index) {
|
334
|
-
if (childNode instanceof HTMLElement) {
|
336
|
+
if (childNode instanceof HTMLElement && childNode.getAttribute('draggable') !== null) {
|
335
337
|
var rect = childNode.getBoundingClientRect();
|
336
338
|
var roundedRect = {
|
337
339
|
top: Math.round(rect.top),
|
@@ -557,7 +559,10 @@ var Draggable = function Draggable(props) {
|
|
557
559
|
zoneName = props.zoneName,
|
558
560
|
_props$isDropZone = props.isDropZone,
|
559
561
|
isDropZone = _props$isDropZone === void 0 ? false : _props$isDropZone,
|
560
|
-
uid = props.uid
|
562
|
+
uid = props.uid,
|
563
|
+
_props$isCustomFocus = props.isCustomFocus,
|
564
|
+
isCustomFocus = _props$isCustomFocus === void 0 ? false : _props$isCustomFocus,
|
565
|
+
keyboardFocused = props.keyboardFocused;
|
561
566
|
var resolvedChildren = React.useMemo(function () {
|
562
567
|
return typeof children === 'function' ? children(props) : children;
|
563
568
|
}, [children, props]);
|
@@ -580,7 +585,8 @@ var Draggable = function Draggable(props) {
|
|
580
585
|
"draggable": !noDrag,
|
581
586
|
"placement": placement,
|
582
587
|
"role": 'group',
|
583
|
-
"aria-describedby": "describe-draggable-".concat(uid)
|
588
|
+
"aria-describedby": "describe-draggable-".concat(uid),
|
589
|
+
"use:keyboardFocused": isCustomFocus ? false : keyboardFocused
|
584
590
|
}, _ref2))), /*#__PURE__*/React.createElement(Children, _ref5.cn("Children", {})));
|
585
591
|
};
|
586
592
|
Draggable.enhance = [keyboardFocusEnhance()];
|