intergalactic 15.80.0-prerelease.0 → 15.81.0-prerelease.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 +110 -0
- package/accordion/lib/cjs/Accordion.js +7 -7
- package/accordion/lib/es6/Accordion.js +7 -7
- package/animation/lib/cjs/Animation.js +11 -11
- package/animation/lib/cjs/Collapse.js +28 -28
- package/animation/lib/cjs/FadeInOut.js +28 -28
- package/animation/lib/cjs/Scale.js +28 -28
- package/animation/lib/cjs/Slide.js +28 -28
- package/animation/lib/cjs/Transform.js +28 -28
- package/animation/lib/es6/Animation.js +11 -11
- package/animation/lib/es6/Collapse.js +28 -28
- package/animation/lib/es6/FadeInOut.js +28 -28
- package/animation/lib/es6/Scale.js +28 -28
- package/animation/lib/es6/Slide.js +28 -28
- package/animation/lib/es6/Transform.js +28 -28
- package/badge/lib/cjs/Badge.js +6 -6
- package/badge/lib/es6/Badge.js +6 -6
- 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/breadcrumbs/lib/cjs/Breadcrumbs.js +6 -6
- package/breadcrumbs/lib/es6/Breadcrumbs.js +6 -6
- package/button/lib/cjs/Button.js +26 -26
- package/button/lib/es6/Button.js +26 -26
- package/card/lib/cjs/Card.js +8 -8
- package/card/lib/es6/Card.js +8 -8
- package/carousel/lib/cjs/Carousel.js +19 -19
- package/carousel/lib/es6/Carousel.js +19 -19
- package/checkbox/lib/cjs/Checkbox.js +18 -18
- package/checkbox/lib/es6/Checkbox.js +18 -18
- package/color-picker/lib/cjs/ColorPicker.js +23 -23
- package/color-picker/lib/cjs/PaletteManager.js +23 -23
- package/color-picker/lib/cjs/components/InputColor.js +23 -23
- package/color-picker/lib/es6/ColorPicker.js +23 -23
- package/color-picker/lib/es6/PaletteManager.js +23 -23
- package/color-picker/lib/es6/components/InputColor.js +23 -23
- package/components.json +73 -73
- package/counter/lib/cjs/Counter.js +10 -10
- package/counter/lib/es6/Counter.js +10 -10
- package/d3-chart/component/Chart/AbstractChart.type.d.ts +4 -0
- package/d3-chart/lib/cjs/Area.js +11 -11
- package/d3-chart/lib/cjs/Axis.js +14 -14
- package/d3-chart/lib/cjs/Bar.js +10 -10
- package/d3-chart/lib/cjs/Bubble.js +12 -12
- package/d3-chart/lib/cjs/Donut.js +9 -9
- package/d3-chart/lib/cjs/Dots.js +8 -8
- package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
- package/d3-chart/lib/cjs/Hover.js +3 -3
- package/d3-chart/lib/cjs/Line.js +9 -9
- package/d3-chart/lib/cjs/Plot.js +7 -5
- package/d3-chart/lib/cjs/Plot.js.map +1 -1
- package/d3-chart/lib/cjs/Radar.js +19 -19
- package/d3-chart/lib/cjs/RadialTree.js +11 -11
- package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
- package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
- package/d3-chart/lib/cjs/Tooltip.js +9 -9
- package/d3-chart/lib/cjs/Venn.js +9 -9
- package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.js +4 -2
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/cjs/style/reference-line.shadow.css +1 -1
- package/d3-chart/lib/es6/Area.js +11 -11
- package/d3-chart/lib/es6/Axis.js +14 -14
- package/d3-chart/lib/es6/Bar.js +10 -10
- package/d3-chart/lib/es6/Bubble.js +12 -12
- package/d3-chart/lib/es6/Donut.js +9 -9
- package/d3-chart/lib/es6/Dots.js +8 -8
- package/d3-chart/lib/es6/HorizontalBar.js +10 -10
- package/d3-chart/lib/es6/Hover.js +3 -3
- package/d3-chart/lib/es6/Line.js +9 -9
- package/d3-chart/lib/es6/Plot.js +7 -5
- package/d3-chart/lib/es6/Plot.js.map +1 -1
- package/d3-chart/lib/es6/Radar.js +19 -19
- package/d3-chart/lib/es6/RadialTree.js +11 -11
- package/d3-chart/lib/es6/ReferenceLine.js +9 -9
- package/d3-chart/lib/es6/ScatterPlot.js +9 -9
- package/d3-chart/lib/es6/Tooltip.js +9 -9
- package/d3-chart/lib/es6/Venn.js +9 -9
- package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/es6/component/Chart/AbstractChart.js +4 -2
- package/d3-chart/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/d3-chart/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/es6/style/reference-line.shadow.css +1 -1
- package/d3-chart/lib/types/component/Chart/AbstractChart.type.d.ts +4 -0
- package/data-table/lib/cjs/DataTable.js +35 -35
- package/data-table/lib/cjs/Head.js +1 -1
- package/data-table/lib/cjs/Head.js.map +1 -1
- package/data-table/lib/es6/DataTable.js +35 -35
- package/data-table/lib/es6/Head.js +1 -1
- package/data-table/lib/es6/Head.js.map +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/divider/lib/cjs/Divider.js +9 -9
- package/divider/lib/es6/Divider.js +9 -9
- package/dot/lib/cjs/Dot.js +10 -10
- package/dot/lib/es6/Dot.js +10 -10
- package/drag-and-drop/lib/cjs/DragAndDrop.js +192 -41
- package/drag-and-drop/lib/cjs/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/cjs/style/drag-and-drop.shadow.css +73 -28
- package/drag-and-drop/lib/es6/DragAndDrop.js +192 -41
- package/drag-and-drop/lib/es6/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/es6/style/drag-and-drop.shadow.css +73 -28
- package/dropdown/lib/cjs/Dropdown.js +2 -2
- package/dropdown/lib/es6/Dropdown.js +2 -2
- package/dropdown-menu/lib/cjs/DropdownMenu.js +19 -19
- package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/cjs/styleScrollArea.js +6 -6
- package/dropdown-menu/lib/es6/DropdownMenu.js +19 -19
- package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/es6/styleScrollArea.js +6 -6
- package/ellipsis/lib/cjs/Ellipsis.js +11 -11
- package/ellipsis/lib/cjs/Ellipsis.js.map +1 -1
- package/ellipsis/lib/es6/Ellipsis.js +11 -11
- package/ellipsis/lib/es6/Ellipsis.js.map +1 -1
- package/errors/lib/cjs/Error.js +9 -9
- package/errors/lib/es6/Error.js +9 -9
- package/feature-popover/lib/cjs/FeaturePopover.js +10 -10
- package/feature-popover/lib/es6/FeaturePopover.js +10 -10
- package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
- package/feedback-form/lib/es6/FeedbackForm.js +7 -7
- package/flags/lib/cjs/Flags.js +3 -3
- package/flags/lib/es6/Flags.js +3 -3
- package/flags/lib/sprites/sprite@1x.css +256 -256
- package/flags/lib/sprites/sprite@2x.css +257 -257
- package/flex-box/lib/cjs/Box/useBox.js +3 -3
- package/flex-box/lib/cjs/Flex/useFlex.js +3 -3
- package/flex-box/lib/cjs/invalid-state-box/InvalidStateBox.js +2 -2
- package/flex-box/lib/es6/Box/useBox.js +3 -3
- package/flex-box/lib/es6/Flex/useFlex.js +3 -3
- package/flex-box/lib/es6/invalid-state-box/InvalidStateBox.js +2 -2
- package/format-text/lib/cjs/FormatText.js +5 -5
- package/format-text/lib/es6/FormatText.js +5 -5
- package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
- package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
- package/grid/lib/cjs/Grid.js +114 -114
- package/grid/lib/es6/Grid.js +114 -114
- 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/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/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/illustration/lib/cjs/index.js +1 -1
- package/illustration/lib/es6/index.js +1 -1
- package/inline-edit/lib/cjs/InlineEdit.js +4 -4
- package/inline-edit/lib/es6/InlineEdit.js +4 -4
- package/inline-input/lib/cjs/InlineInput.js +18 -18
- package/inline-input/lib/es6/InlineInput.js +18 -18
- package/input/lib/cjs/Input.js +17 -17
- package/input/lib/es6/Input.js +17 -17
- package/input-mask/lib/cjs/InputMask.js +6 -6
- package/input-mask/lib/es6/InputMask.js +6 -6
- package/input-number/lib/cjs/InputNumber.js +9 -9
- package/input-number/lib/es6/InputNumber.js +9 -9
- package/input-tags/lib/cjs/InputTags.js +12 -12
- package/input-tags/lib/es6/InputTags.js +12 -12
- package/link/lib/cjs/Link.js +16 -14
- package/link/lib/cjs/Link.js.map +1 -1
- package/link/lib/cjs/style/link.shadow.css +1 -1
- package/link/lib/es6/Link.js +16 -14
- package/link/lib/es6/Link.js.map +1 -1
- package/link/lib/es6/style/link.shadow.css +1 -1
- package/mini-chart/lib/cjs/component/score/Donut.js +9 -9
- package/mini-chart/lib/cjs/component/score/Line.js +17 -17
- package/mini-chart/lib/cjs/component/trend/Bar.js +7 -7
- package/mini-chart/lib/cjs/component/trend/Line.js +7 -7
- package/mini-chart/lib/es6/component/score/Donut.js +9 -9
- package/mini-chart/lib/es6/component/score/Line.js +17 -17
- package/mini-chart/lib/es6/component/trend/Bar.js +7 -7
- package/mini-chart/lib/es6/component/trend/Line.js +7 -7
- package/modal/lib/cjs/Modal.js +9 -9
- package/modal/lib/es6/Modal.js +9 -9
- package/notice/lib/cjs/Notice.js +13 -13
- package/notice/lib/es6/Notice.js +13 -13
- package/notice-bubble/lib/cjs/NoticeBubble.js +12 -12
- package/notice-bubble/lib/es6/NoticeBubble.js +12 -12
- package/notice-global/lib/cjs/NoticeGlobal.js +11 -11
- package/notice-global/lib/es6/NoticeGlobal.js +11 -11
- package/package.json +1 -1
- package/pagination/lib/cjs/Pagination.js +10 -10
- package/pagination/lib/es6/Pagination.js +10 -10
- package/pills/lib/cjs/Pills.js +13 -13
- package/pills/lib/es6/Pills.js +13 -13
- package/popper/index.d.ts +4 -0
- package/popper/lib/cjs/Popper.js +28 -8
- package/popper/lib/cjs/Popper.js.map +1 -1
- package/popper/lib/cjs/createPopper.js +2 -1
- package/popper/lib/cjs/createPopper.js.map +1 -1
- package/popper/lib/cjs/index.d.js.map +1 -1
- package/popper/lib/cjs/modifiers/cursorAnchoring.js +60 -0
- package/popper/lib/cjs/modifiers/cursorAnchoring.js.map +1 -0
- package/popper/lib/es6/Popper.js +28 -8
- package/popper/lib/es6/Popper.js.map +1 -1
- package/popper/lib/es6/createPopper.js +2 -1
- package/popper/lib/es6/createPopper.js.map +1 -1
- package/popper/lib/es6/index.d.js.map +1 -1
- package/popper/lib/es6/modifiers/cursorAnchoring.js +52 -0
- package/popper/lib/es6/modifiers/cursorAnchoring.js.map +1 -0
- package/popper/lib/types/index.d.ts +4 -0
- package/product-head/lib/cjs/Info.js +4 -4
- package/product-head/lib/cjs/ProductHead.js +5 -5
- package/product-head/lib/cjs/Title.js +4 -4
- package/product-head/lib/es6/Info.js +4 -4
- package/product-head/lib/es6/ProductHead.js +5 -5
- package/product-head/lib/es6/Title.js +4 -4
- package/progress-bar/lib/cjs/ProgressBar.js +15 -15
- package/progress-bar/lib/es6/ProgressBar.js +15 -15
- package/radio/lib/cjs/Radio.js +16 -16
- package/radio/lib/es6/Radio.js +16 -16
- package/scroll-area/lib/cjs/ScrollArea.js +21 -21
- package/scroll-area/lib/cjs/ScrollBar.js +6 -6
- package/scroll-area/lib/es6/ScrollArea.js +21 -21
- package/scroll-area/lib/es6/ScrollBar.js +6 -6
- 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/side-panel/lib/cjs/SidePanel.js +15 -15
- package/side-panel/lib/es6/SidePanel.js +15 -15
- 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/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 -8
- 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/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 -8
- package/slider/lib/cjs/Slider.js +8 -7
- package/slider/lib/cjs/Slider.js.map +1 -1
- package/slider/lib/cjs/style/slider.shadow.css +9 -0
- package/slider/lib/es6/Slider.js +8 -7
- package/slider/lib/es6/Slider.js.map +1 -1
- package/slider/lib/es6/style/slider.shadow.css +9 -0
- package/spin/lib/cjs/Spin.js +13 -13
- package/spin/lib/es6/Spin.js +13 -13
- package/spin-container/lib/cjs/SpinContainer.js +8 -8
- package/spin-container/lib/es6/SpinContainer.js +8 -8
- package/sticky/lib/cjs/Sticky.js +2 -2
- package/sticky/lib/es6/Sticky.js +2 -2
- package/switch/lib/cjs/Switch.js +21 -21
- package/switch/lib/es6/Switch.js +21 -21
- package/tab-line/lib/cjs/TabLine.js +13 -13
- package/tab-line/lib/es6/TabLine.js +13 -13
- package/tab-panel/lib/cjs/TabPanel.js +8 -8
- package/tab-panel/lib/es6/TabPanel.js +8 -8
- package/tag/lib/cjs/Tag.js +20 -20
- package/tag/lib/es6/Tag.js +20 -20
- package/textarea/lib/cjs/Textarea.js +10 -8
- package/textarea/lib/cjs/Textarea.js.map +1 -1
- package/textarea/lib/es6/Textarea.js +10 -8
- package/textarea/lib/es6/Textarea.js.map +1 -1
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/tooltip/index.d.ts +13 -2
- package/tooltip/lib/cjs/Tooltip.js +9 -9
- package/tooltip/lib/cjs/index.d.js.map +1 -1
- package/tooltip/lib/es6/Tooltip.js +9 -9
- package/tooltip/lib/es6/index.d.js.map +1 -1
- package/tooltip/lib/types/index.d.ts +13 -2
- package/typography/index.d.ts +4 -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/cjs/index.d.js.map +1 -1
- 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/lib/es6/index.d.js.map +1 -1
- package/typography/lib/types/index.d.ts +4 -1
- package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.js +2 -2
- package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.mjs +2 -2
- package/utils/lib/injectStyle.js +1 -1
- package/utils/lib/injectStyle.mjs +1 -1
- package/utils/lib/themes/auto.css +3 -1
- package/utils/lib/themes/default.css +3 -1
- package/utils/lib/themes/default.json +1 -0
- package/utils/lib/themes/light.css +3 -1
- package/utils/lib/themes/light.json +1 -0
- package/widget-empty/lib/cjs/WidgetEmpty.js +8 -6
- package/widget-empty/lib/cjs/WidgetEmpty.js.map +1 -1
- package/widget-empty/lib/es6/WidgetEmpty.js +8 -6
- package/widget-empty/lib/es6/WidgetEmpty.js.map +1 -1
- package/wizard/lib/cjs/Wizard.js +11 -11
- package/wizard/lib/es6/Wizard.js +11 -11
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DragAndDrop.js","names":["React","createComponent","sstyled","Component","Root","Box","localizedMessages","i18nEnhance","useEnhancedEffect","style","_sstyled","insert","noop","DragAndDropContext","createContext","attach","detach","DragAndDropRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","items","dragging","previewSwap","hideHoverEffect","a11yHint","index","state","currentItem","itemText","node","getAttribute","textContent","getI18nText","asProps","zoneName","zonedItems","filter","i","itemsCount","itemPosition","findIndex","id","setState","prevState","initialItemsRects","map","item","getBoundingClientRect","event","preventDefault","_this$state$dragging","_this$state","itemIndex","rect","clientX","x","width","clientY","y","height","draggingItem","isDropZone","i18nKey","_this$state$items$_th","_this$state$items$_th2","_this$state$items$_th3","draggingAllowed","children","_this$asProps","onDnD","_this$state2","fromNode","fromId","fromIndex","toId","toIndex","_this$asProps$onInser","_this$asProps2","_items$index","onInsertDroppable","_this$asProps$onSwapD","_this$asProps3","_items$index2","onSwapDraggable","key","stopPropagation","handleItemDrop","setTimeout","_this$state$items","focus","handleItemDragStart","handleItemFocus","handleItemKeyDown","customFocus","undefined","getCustomFocusItemIndex","_ref7","_prevState$items$inde","_prevState$items$inde2","_toConsumableArray","_createClass","value","getDraggableProps","_","onDragStart","makeItemDragStartHandler","onDragEnd","handleItemDragEnd","onDragOver","handleItemDragOver","onDragEnter","handleItemDragEnter","onDrop","makeItemDropHandler","onMouseMove","handleItemMouseMove","onKeyDown","makeItemKeyDownHandler","onFocus","makeItemFocusHandler","dropPreview","dark","theme","swapPreview","getSwapPreview","componentDidMount","document","addEventListener","handlePageKeyDown","capture","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","render","_ref","_ref4","SA11yHint","context","styles","createElement","Provider","cn","_assignProps","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","current","_objectSpread","_assignProps2","DropZone","_ref3","_ref6","SDropZone","DragAndDrop","_assignProps3","Dropable"],"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';\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};\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 previewSwap: number | null;\n hideHoverEffect: boolean;\n a11yHint: string | null;\n};\n\nclass DragAndDropRoot extends Component<AsProps, {}, State> {\n static displayName = 'DragAndDrop';\n static enhance = [i18nEnhance(localizedMessages)];\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 previewSwap: null,\n hideHoverEffect: false, // https://stackoverflow.com/questions/67118739/hover-effect-reset-when-hovering-over-other-letters\n a11yHint: null,\n };\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 { getI18nText } = this.asProps;\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((i) => i?.id === currentItem.id);\n const a11yHint = getI18nText(zoneName ? 'grabbedWithZone' : 'grabbed', {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState((prevState: State) => ({\n a11yHint: a11yHint,\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 previewSwap: null,\n // hideHoverEffect: true\n });\n };\n handleItemDragOver = (event: DragEvent) => {\n event.preventDefault();\n const { getI18nText } = this.asProps;\n const { items, dragging } = 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) 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((i) => i?.id === currentItem.id);\n\n const i18nKey = !zoneName\n ? 'grabbing'\n : currentItem.isDropZone\n ? 'grabbingJustWithZone'\n : 'grabbingFullWithZone';\n\n const a11yHint = getI18nText(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n if (itemIndex === this.state.dragging?.index) this.setState({ previewSwap: null, a11yHint });\n else this.setState({ previewSwap: itemIndex, a11yHint });\n };\n getSwapPreview = (index: number) => {\n if (!this.state.dragging) return null;\n if (this.state.previewSwap === null) return null;\n if (this.state.items[this.state.previewSwap]?.draggingAllowed === false) return null;\n if (this.state.previewSwap === index)\n return this.state.items[this.state.dragging.index]?.children;\n if (this.state.previewSwap !== null && index === this.state.dragging.index)\n return this.state.items[this.state.previewSwap]?.children;\n };\n handleItemDrop = (index: number) => {\n const { onDnD, getI18nText } = this.asProps;\n if (!onDnD) return;\n\n const { items, dragging } = this.state;\n if (!dragging) return;\n const currentItem = items[index];\n const draggingItem = items[dragging.index];\n if (!currentItem || !draggingItem) return;\n\n const node = currentItem.isDropZone ? draggingItem.node : currentItem.node;\n const itemText = node.getAttribute('aria-label') || node.textContent || `${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((i) => i?.id === currentItem.id);\n\n const i18nKey = !zoneName\n ? 'dropped'\n : currentItem.isDropZone\n ? 'droppedJustWithZone'\n : 'droppedFullWithZone';\n\n const a11yHint = getI18nText(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState({ a11yHint, dragging: null, previewSwap: null, hideHoverEffect: true });\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: 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 handleItemKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n if (this.state.dragging) {\n const previewSwap = this.state.previewSwap;\n this.handleItemDrop(index);\n this.setState({ dragging: null, previewSwap: null, hideHoverEffect: true });\n setTimeout(() => {\n this.state.items[previewSwap as any]?.node.focus();\n }, 0);\n } else {\n this.handleItemDragStart(index);\n }\n return false;\n } else if (event.key === 'Escape' && this.state.dragging) {\n event.preventDefault();\n event.stopPropagation();\n const { getI18nText } = this.asProps;\n const a11yHint = getI18nText('discarded');\n this.setState({ a11yHint, dragging: null, previewSwap: null, hideHoverEffect: true });\n return false;\n }\n };\n handleItemFocus = (index: number) => {\n if (!this.state.dragging) return;\n this.setState({ previewSwap: index });\n };\n\n makeItemDragStartHandler = (index: number) => () => this.handleItemDragStart(index);\n makeItemDropHandler = (index: number) => () => this.handleItemDrop(index);\n makeItemFocusHandler = (index: number) => () => this.handleItemFocus(index);\n makeItemKeyDownHandler = (index: number) => (event: KeyboardEvent) =>\n this.handleItemKeyDown(event, index);\n\n getDraggableProps(_: any, index: number) {\n return {\n index,\n onDragStart: this.makeItemDragStartHandler(index),\n onDragEnd: this.handleItemDragEnd,\n onDragOver: this.handleItemDragOver,\n onDragEnter: this.handleItemDragEnter,\n onDrop: this.makeItemDropHandler(index),\n onMouseMove: this.handleItemMouseMove,\n onKeyDown: this.makeItemKeyDownHandler(index),\n onFocus: this.makeItemFocusHandler(index),\n dropPreview: index === this.state.previewSwap,\n dark: this.asProps.theme === 'dark',\n swapPreview: this.getSwapPreview(index),\n hideHoverEffect: this.state.hideHoverEffect,\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 === itemIndex);\n }\n if (itemIndex === -1 || typeof itemIndex !== 'number') return undefined;\n return itemIndex;\n };\n\n componentDidMount() {\n document.addEventListener('keydown', this.handlePageKeyDown, { capture: true });\n }\n\n componentWillUnmount() {\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(itemIndex!);\n }\n }\n\n render() {\n const { attach, detach } = this;\n const SA11yHint = 'div';\n const { a11yHint } = this.state;\n const context = { attach, detach };\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} />\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 swapPreview,\n Children,\n id,\n zoneName,\n isDropZone = false,\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 render={Box} ref={ref} draggable={!noDrag} tabIndex={0} placement={placement}>\n {swapPreview ? swapPreview : <Children />}\n </SDraggable>,\n );\n};\n\nconst DropZone = (props: DropZoneProps) => {\n const SDropZone = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SDropZone render={DragAndDrop.Draggable} noDrag isDropZone />);\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":["React","createComponent","sstyled","Component","Root","Box","localizedMessages","i18nEnhance","useEnhancedEffect","style","_sstyled","insert","keyboardFocusEnhance","noop","DragAndDropContext","createContext","attach","detach","DragAndDropRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","items","dragging","dragOver","hideHoverEffect","a11yHint","keyboardDraggingIndex","animatedScaling","reversedScaling","index","state","currentItem","itemText","node","getAttribute","textContent","getI18nText","asProps","zoneName","zonedItems","filter","i","itemsCount","itemPosition","findIndex","id","setState","prevState","initialItemsRects","map","item","getBoundingClientRect","event","preventDefault","_this$state$dragging","_this$state","itemIndex","rect","clientX","x","width","clientY","y","height","draggingItem","isDropZone","i18nKey","_this$state$items$pre","previewIndex","preview","children","_this$asProps","onDnD","_this$state2","fromNode","fromId","fromIndex","toId","toIndex","draggingAllowed","_this$asProps$onInser","_this$asProps2","_items$index","onInsertDroppable","_this$asProps$onSwapD","_this$asProps3","_items$index2","onSwapDraggable","_this$state$items$","firstItemNode","firstItemRect","parent","parentElement","document","body","computedStyle","getComputedStyle","overflow","left","right","top","bottom","key","_this$state$items$ind","stopPropagation","prevIndex","handleItemDrop","requestAnimationFrame","_this$state$items$pre2","_this$state$items","prevIndexNode","activeElement","focus","handleItemDragStart","updateItemScaling","startsWith","_this$state$items$nex","rects","Math","round","nextIndex","findNextRectangleIndex","indexDiff","handleItemFocus","handleItemKeyDown","customFocus","undefined","getCustomFocusItemIndex","_ref7","_prevState$items$inde","_prevState$items$inde2","_toConsumableArray","_createClass","get","_this$state$dragging2","result","shift","value","getDraggableProps","_","onDragStart","makeItemDragStartHandler","onDragEnd","handleItemDragEnd","onDragOver","handleItemDragOver","onDragEnter","handleItemDragEnter","onDrop","makeItemDropHandler","onMouseMove","handleItemMouseMove","onKeyDown","makeItemKeyDownHandler","onFocus","makeItemFocusHandler","dropPreview","keyboardDragging","dark","theme","swapPreview","getSwapPreview","componentDidMount","addEventListener","handlePageKeyDown","capture","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","render","_ref","_ref4","SA11yHint","context","styles","createElement","Provider","cn","_assignProps","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","current","_objectSpread","_assignProps2","enhance","rectangles","direction","candidate","minDistance","Infinity","verticallyOverlaps","horizontallyOverlaps","distance","indexOf","DropZone","_ref3","_ref6","SDropZone","DragAndDrop","_assignProps3","Dropable"],"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';\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};\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\nclass DragAndDropRoot extends Component<AsProps, {}, State> {\n static displayName = 'DragAndDrop';\n static enhance = [i18nEnhance(localizedMessages)];\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 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 { getI18nText } = this.asProps;\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 a11yHint = getI18nText(zoneName ? 'grabbedWithZone' : 'grabbed', {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState((prevState: State) => ({\n a11yHint: a11yHint,\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 { getI18nText } = this.asProps;\n const { items, dragging } = 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) 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 const a11yHint = getI18nText(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n if (itemIndex === this.state.dragging?.index) this.setState({ dragOver: null, a11yHint });\n else this.setState({ dragOver: itemIndex, a11yHint });\n };\n get preview() {\n const dragging = this.state.dragging?.index;\n const dragOver = this.state.dragOver;\n\n if (typeof dragging !== 'number' || typeof dragOver !== 'number') return {};\n const result: Record<number, number> = {};\n const shift = dragging < dragOver ? 1 : -1;\n for (let i = dragging; i !== dragOver; i += shift) {\n result[i] = i + shift;\n }\n\n result[dragOver] = dragging;\n return result;\n }\n getSwapPreview = (index: number) => {\n if (!this.state.dragging) return null;\n\n const previewIndex = this.preview[index];\n if (typeof previewIndex !== 'number') return null;\n return this.state.items[previewIndex]?.children;\n };\n handleItemDrop = (index: number) => {\n const { onDnD, getI18nText } = this.asProps;\n if (!onDnD) return;\n\n const { items, dragging } = this.state;\n if (!dragging) return;\n const currentItem = items[index];\n const draggingItem = items[dragging.index];\n if (!currentItem || !draggingItem) return;\n\n const node = currentItem.isDropZone ? draggingItem.node : currentItem.node;\n const itemText = node.getAttribute('aria-label') || node.textContent || `${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 const a11yHint = getI18nText(i18nKey, {\n itemText,\n itemPosition: itemPosition + 1,\n itemsCount,\n zoneName: zoneName || '',\n });\n\n this.setState({\n a11yHint,\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: 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 handleItemKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n if (this.state.dragging) {\n const dragOver = this.state.dragOver;\n const prevIndex = this.state.dragging.index;\n this.handleItemDrop(index);\n this.setState({\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n animatedScaling: index,\n hideHoverEffect: true,\n });\n\n requestAnimationFrame(() => {\n const prevIndexNode = this.state.items[prevIndex]?.node;\n if (prevIndexNode !== document.activeElement) return;\n this.state.items[dragOver!]?.node.focus();\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 const { getI18nText } = this.asProps;\n const a11yHint = getI18nText('discarded');\n this.setState({\n a11yHint,\n dragging: null,\n dragOver: null,\n keyboardDraggingIndex: null,\n hideHoverEffect: true,\n });\n return false;\n } else if (event.key.startsWith('Arrow')) {\n if (this.state.animatedScaling !== null) {\n this.setState({ animatedScaling: null });\n }\n const item = this.state.items[index];\n if (item?.node !== document.activeElement) return;\n event.preventDefault();\n requestAnimationFrame(() => {\n if (item?.node !== document.activeElement) return;\n const rects = this.state.items\n .map((item) => item?.node.getBoundingClientRect()!)\n .map((rect): { top: number; right: number; bottom: number; left: number } => ({\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 let nextIndex = findNextRectangleIndex(rects, rects[index], event.key as DirectionArrows);\n if (nextIndex === -1) {\n const indexDiff = event.key === 'ArrowUp' || event.key === 'ArrowLeft' ? -1 : 1;\n nextIndex = index + indexDiff;\n }\n this.state.items[nextIndex]?.node.focus();\n });\n }\n };\n handleItemFocus = (index: number) => {\n if (!this.state.dragging) return;\n this.setState({ dragOver: index, keyboardDraggingIndex: index });\n this.updateItemScaling();\n };\n\n makeItemDragStartHandler = (index: number) => () => this.handleItemDragStart(index);\n makeItemDropHandler = (index: number) => () => this.handleItemDrop(index);\n makeItemFocusHandler = (index: number) => () => this.handleItemFocus(index);\n makeItemKeyDownHandler = (index: number) => (event: KeyboardEvent) =>\n this.handleItemKeyDown(event, index);\n\n getDraggableProps(_: any, index: number) {\n return {\n index,\n onDragStart: this.makeItemDragStartHandler(index),\n onDragEnd: this.handleItemDragEnd,\n onDragOver: this.handleItemDragOver,\n onDragEnter: this.handleItemDragEnter,\n onDrop: this.makeItemDropHandler(index),\n onMouseMove: this.handleItemMouseMove,\n onKeyDown: this.makeItemKeyDownHandler(index),\n onFocus: this.makeItemFocusHandler(index),\n dropPreview: index === this.state.dragOver,\n keyboardDragging: index === this.state.keyboardDraggingIndex,\n reversedScaling: this.state.reversedScaling,\n dark: this.asProps.theme === 'dark',\n swapPreview: this.getSwapPreview(index),\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 componentDidMount() {\n document.addEventListener('keydown', this.handlePageKeyDown, { capture: true });\n }\n\n componentWillUnmount() {\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(itemIndex!);\n }\n }\n\n render() {\n const { attach, detach } = this;\n const SA11yHint = 'div';\n const { a11yHint } = this.state;\n const context = { attach, detach };\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} />\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 swapPreview,\n Children,\n id,\n zoneName,\n isDropZone = false,\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 render={Box} ref={ref} draggable={!noDrag} placement={placement}>\n {swapPreview ? swapPreview : <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)(<SDropZone render={DragAndDrop.Draggable} noDrag isDropZone />);\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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"}
|
@@ -6,96 +6,135 @@ SDraggable[draggable] {
|
|
6
6
|
-webkit-user-select: none;
|
7
7
|
user-select: none;
|
8
8
|
|
9
|
-
|
9
|
+
|
10
|
+
&::before {
|
10
11
|
content: '';
|
11
12
|
position: absolute;
|
12
13
|
display: none;
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
);
|
14
|
+
pointer-events: none;
|
15
|
+
background-image: radial-gradient(circle at center,
|
16
|
+
var(--intergalactic-icon-primary-neutral, #6c6e79) 1px,
|
17
|
+
transparent 0);
|
18
18
|
background-size: 6px 6px;
|
19
19
|
background-position: 2px 2px;
|
20
20
|
background-repeat: repeat repeat;
|
21
21
|
}
|
22
22
|
|
23
|
-
&:hover::
|
23
|
+
&:hover::before {
|
24
24
|
display: block;
|
25
25
|
}
|
26
|
-
|
26
|
+
|
27
|
+
&[hideHoverEffect]::before {
|
27
28
|
display: none;
|
28
29
|
}
|
29
30
|
}
|
30
31
|
|
31
|
-
SDraggable[placement='top']::
|
32
|
+
SDraggable[placement='top']::before {
|
32
33
|
top: 0;
|
33
34
|
left: 0;
|
34
35
|
width: 100%;
|
35
36
|
height: 20px;
|
36
37
|
}
|
37
38
|
|
38
|
-
SDraggable[placement='top'] {
|
39
|
-
padding-top: var(--intergalactic-spacing-4x, 16px);
|
40
|
-
}
|
41
|
-
|
42
39
|
SDraggable[placement='right'] {
|
43
|
-
|
44
|
-
&::
|
40
|
+
|
41
|
+
&::before {
|
45
42
|
right: 0;
|
46
43
|
}
|
47
44
|
}
|
48
45
|
|
49
46
|
SDraggable[placement='bottom'] {
|
50
|
-
padding-bottom: var(--intergalactic-spacing-4x, 16px);
|
51
47
|
|
52
|
-
&::
|
48
|
+
&::before {
|
53
49
|
bottom: 0;
|
54
50
|
}
|
55
51
|
}
|
56
52
|
|
57
53
|
SDraggable[placement='left'] {
|
58
|
-
padding-left: var(--intergalactic-spacing-4x, 16px);
|
59
54
|
|
60
|
-
&::
|
55
|
+
&::before {
|
61
56
|
left: 0;
|
62
57
|
}
|
63
58
|
}
|
64
59
|
|
65
|
-
SDraggable[placement='top']::
|
66
|
-
SDraggable[placement='right']::
|
67
|
-
SDraggable[placement='left']::
|
60
|
+
SDraggable[placement='top']::before,
|
61
|
+
SDraggable[placement='right']::before,
|
62
|
+
SDraggable[placement='left']::before {
|
68
63
|
top: 0;
|
69
64
|
}
|
70
65
|
|
71
|
-
SDraggable[placement='top']::
|
72
|
-
SDraggable[placement='bottom']::
|
66
|
+
SDraggable[placement='top']::before,
|
67
|
+
SDraggable[placement='bottom']::before {
|
73
68
|
left: 0;
|
74
69
|
width: 100%;
|
75
70
|
height: 16px;
|
76
71
|
}
|
77
72
|
|
78
|
-
SDraggable[placement='right']::
|
79
|
-
SDraggable[placement='left']::
|
73
|
+
SDraggable[placement='right']::before,
|
74
|
+
SDraggable[placement='left']::before {
|
80
75
|
top: 0;
|
81
76
|
width: 16px;
|
82
77
|
height: 100%;
|
83
78
|
}
|
84
79
|
|
85
80
|
SDropZone {
|
86
|
-
|
87
|
-
border-radius: var(--intergalactic-surface-rounded, 6px);
|
81
|
+
position: relative;
|
88
82
|
}
|
89
83
|
|
90
84
|
SDropZone[dropPreview],
|
91
85
|
SDraggable[dropPreview] {
|
92
86
|
background-color: var(--intergalactic-bg-secondary-neutral, #f4f5f9);
|
93
87
|
}
|
88
|
+
|
89
|
+
|
94
90
|
SDropZone[dark][dropPreview],
|
95
91
|
SDraggable[dark][dropPreview] {
|
96
92
|
background-color: var(--intergalactic-bg-primary-invert-active, #484a54);
|
97
93
|
}
|
98
94
|
|
95
|
+
SDraggable:focus {
|
96
|
+
outline: none;
|
97
|
+
}
|
98
|
+
|
99
|
+
SDraggable[keyboardFocused]:focus {
|
100
|
+
box-shadow: none;
|
101
|
+
}
|
102
|
+
|
103
|
+
SDraggable[keyboardFocused]:focus:after {
|
104
|
+
position: absolute;
|
105
|
+
display: block;
|
106
|
+
content: '';
|
107
|
+
inset: 3px;
|
108
|
+
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
109
|
+
pointer-events: none;
|
110
|
+
}
|
111
|
+
|
112
|
+
|
113
|
+
SDraggable[keyboardDragging] {
|
114
|
+
scale: 1.1;
|
115
|
+
|
116
|
+
background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
|
117
|
+
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;
|
118
|
+
|
119
|
+
|
120
|
+
&::before {
|
121
|
+
display: block;
|
122
|
+
}
|
123
|
+
|
124
|
+
&[hideHoverEffect]::before {
|
125
|
+
display: block;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
SDraggable[keyboardDragging][reversedScaling] {
|
130
|
+
scale: 0.95;
|
131
|
+
}
|
132
|
+
|
133
|
+
SDraggable[animatedScaling] {
|
134
|
+
transition: all calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
|
135
|
+
}
|
136
|
+
|
137
|
+
|
99
138
|
SA11yHint {
|
100
139
|
position: absolute;
|
101
140
|
/* disable-tokens-validator */
|
@@ -104,3 +143,9 @@ SA11yHint {
|
|
104
143
|
width: 1px;
|
105
144
|
clip: rect(0 0 0 0);
|
106
145
|
}
|
146
|
+
|
147
|
+
@media (prefers-reduced-motion: reduce) {
|
148
|
+
SDraggable {
|
149
|
+
transition: none;
|
150
|
+
}
|
151
|
+
}
|
@@ -28,8 +28,8 @@ var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynam
|
|
28
28
|
var _useFocusLock = require("intergalactic/utils/lib/use/useFocusLock");
|
29
29
|
var _excluded = ["Children", "forwardRef", "modifiers", "stretch"];
|
30
30
|
/*__reshadow-styles__:"./style/dropdown.shadow.css"*/
|
31
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
32
|
-
"__SDropdownPopper": "
|
31
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDropdownPopper_19007_gg_{position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);box-sizing:border-box;border:1px solid var(--intergalactic-border-secondary, #e0e1e9);white-space:normal;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));color:var(--intergalactic-text-primary, #191b23)}" /*__inner_css_end__*/, "19007_gg_") /*__reshadow_css_end__*/, {
|
32
|
+
"__SDropdownPopper": "___SDropdownPopper_19007_gg_"
|
33
33
|
});
|
34
34
|
var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
|
35
35
|
var Dropdown = /*#__PURE__*/function (_Component) {
|
@@ -21,8 +21,8 @@ import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
|
|
21
21
|
import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
|
22
22
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
23
23
|
/*__reshadow-styles__:"./style/dropdown.shadow.css"*/
|
24
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
25
|
-
"__SDropdownPopper": "
|
24
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownPopper_19007_gg_{position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);box-sizing:border-box;border:1px solid var(--intergalactic-border-secondary, #e0e1e9);white-space:normal;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));color:var(--intergalactic-text-primary, #191b23)}" /*__inner_css_end__*/, "19007_gg_") /*__reshadow_css_end__*/, {
|
25
|
+
"__SDropdownPopper": "___SDropdownPopper_19007_gg_"
|
26
26
|
});
|
27
27
|
import { hasFocusableIn } from 'intergalactic/utils/lib/use/useFocusLock';
|
28
28
|
var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
|
@@ -34,22 +34,22 @@ var _getFocusableIn = require("intergalactic/utils/lib/focus-lock/getFocusableIn
|
|
34
34
|
var _keyboardFocusEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/keyboardFocusEnhance"));
|
35
35
|
var _excluded = ["className"];
|
36
36
|
/*__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
|
37
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
38
|
-
"__SDropdownMenuList": "
|
39
|
-
"__SDropdownMenuItem": "
|
40
|
-
"_highlighted": "
|
41
|
-
"_disabled": "
|
42
|
-
"_size_l": "
|
43
|
-
"_size_m": "
|
44
|
-
"_visible": "
|
45
|
-
"_nesting-trigger": "__nesting-
|
46
|
-
"__SDropdownMenuNesting": "
|
47
|
-
"__SDropdownNestingItem": "
|
48
|
-
"_selected": "
|
49
|
-
"_notInteractive": "
|
50
|
-
"_variant_hint": "
|
51
|
-
"_variant_title": "
|
52
|
-
"__SDropdownMenuItemAddon": "
|
37
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_z76f3_gg_,.___SDropdownMenuList_z76f3_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_z76f3_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_z76f3_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_z76f3_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_z76f3_gg_:focus{outline:0}.___SDropdownMenuItem_z76f3_gg_.__selected_z76f3_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_z76f3_gg_.__selected_z76f3_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_z76f3_gg_.__highlighted_z76f3_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_z76f3_gg_.__disabled_z76f3_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_z76f3_gg_._size_l_z76f3_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_z76f3_gg_._size_m_z76f3_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_z76f3_gg_.__notInteractive_z76f3_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_z76f3_gg_.__notInteractive_z76f3_gg_:hover{background:0 0}}.___SDropdownMenuItem_z76f3_gg_._variant_hint_z76f3_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_z76f3_gg_._variant_hint_z76f3_gg_:hover{background:0 0}}.___SDropdownMenuItem_z76f3_gg_._variant_title_z76f3_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_z76f3_gg_._variant_title_z76f3_gg_:hover{background:0 0}}.___SDropdownMenuItem_z76f3_gg_.__visible_z76f3_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_z76f3_gg_.__nesting-trigger_z76f3_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_z76f3_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_z76f3_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_z76f3_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_z76f3_gg_,.___SDropdownMenuNesting_z76f3_gg_._size_l_z76f3_gg_,.___SDropdownMenuNesting_z76f3_gg_._size_m_z76f3_gg_{padding:0}.___SDropdownMenuNesting_z76f3_gg_.__highlighted_z76f3_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownNestingItem_z76f3_gg_._size_l_z76f3_gg_,.___SDropdownNestingItem_z76f3_gg_._size_m_z76f3_gg_{padding-right:0}.___SDropdownNestingItem_z76f3_gg_ .___SDropdownMenuItem_z76f3_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}" /*__inner_css_end__*/, "z76f3_gg_") /*__reshadow_css_end__*/, {
|
38
|
+
"__SDropdownMenuList": "___SDropdownMenuList_z76f3_gg_",
|
39
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_z76f3_gg_",
|
40
|
+
"_highlighted": "__highlighted_z76f3_gg_",
|
41
|
+
"_disabled": "__disabled_z76f3_gg_",
|
42
|
+
"_size_l": "_size_l_z76f3_gg_",
|
43
|
+
"_size_m": "_size_m_z76f3_gg_",
|
44
|
+
"_visible": "__visible_z76f3_gg_",
|
45
|
+
"_nesting-trigger": "__nesting-trigger_z76f3_gg_",
|
46
|
+
"__SDropdownMenuNesting": "___SDropdownMenuNesting_z76f3_gg_",
|
47
|
+
"__SDropdownNestingItem": "___SDropdownNestingItem_z76f3_gg_",
|
48
|
+
"_selected": "__selected_z76f3_gg_",
|
49
|
+
"_notInteractive": "__notInteractive_z76f3_gg_",
|
50
|
+
"_variant_hint": "_variant_hint_z76f3_gg_",
|
51
|
+
"_variant_title": "_variant_title_z76f3_gg_",
|
52
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_z76f3_gg_"
|
53
53
|
});
|
54
54
|
var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
55
55
|
(0, _inherits2["default"])(DropdownMenuRoot, _Component);
|
@@ -390,7 +390,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
390
390
|
ref: ref,
|
391
391
|
index: index,
|
392
392
|
handleFocusOut: this.handleItemFocusOut,
|
393
|
-
|
393
|
+
triggerKeyboardFocused: this.state.keyboardFocused
|
394
394
|
};
|
395
395
|
}
|
396
396
|
}, {
|
@@ -521,7 +521,7 @@ function Item(_ref18) {
|
|
521
521
|
disabled = _ref18.disabled,
|
522
522
|
highlighted = _ref18.highlighted,
|
523
523
|
handleFocusOut = _ref18.handleFocusOut,
|
524
|
-
|
524
|
+
triggerKeyboardFocused = _ref18.triggerKeyboardFocused;
|
525
525
|
var SDropdownMenuItem = _flexBox.Flex;
|
526
526
|
var ref = _react["default"].useRef();
|
527
527
|
(0, _useFocusLock.useFocusLock)(ref, false, triggerRef, !focusLock || disabled, true, handleFocusOut);
|
@@ -530,7 +530,7 @@ function Item(_ref18) {
|
|
530
530
|
"role": 'menuitem',
|
531
531
|
"tabIndex": -1,
|
532
532
|
"id": label,
|
533
|
-
"use:highlighted": !disabled && highlighted &&
|
533
|
+
"use:highlighted": !disabled && highlighted && triggerKeyboardFocused
|
534
534
|
}, _ref4))));
|
535
535
|
}
|
536
536
|
var NestingContext = /*#__PURE__*/_react["default"].createContext(null);
|