intergalactic 15.118.0 → 15.119.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 +47 -0
- package/accordion/lib/cjs/Accordion.js +9 -9
- package/accordion/lib/es6/Accordion.js +9 -9
- package/accordion/package.json +1 -1
- 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/animation/package.json +1 -1
- package/badge/lib/cjs/Badge.js +6 -6
- package/badge/lib/es6/Badge.js +6 -6
- package/badge/package.json +1 -1
- package/base-trigger/index.d.ts +6 -1
- package/base-trigger/lib/cjs/BaseTrigger.js +20 -19
- package/base-trigger/lib/cjs/BaseTrigger.js.map +1 -1
- package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
- package/base-trigger/lib/cjs/FilterTrigger.js +29 -21
- package/base-trigger/lib/cjs/FilterTrigger.js.map +1 -1
- package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
- package/base-trigger/lib/cjs/index.d.js.map +1 -1
- package/base-trigger/lib/cjs/translations/en.json +2 -1
- package/base-trigger/lib/es6/BaseTrigger.js +20 -19
- package/base-trigger/lib/es6/BaseTrigger.js.map +1 -1
- package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
- package/base-trigger/lib/es6/FilterTrigger.js +29 -21
- package/base-trigger/lib/es6/FilterTrigger.js.map +1 -1
- package/base-trigger/lib/es6/LinkTrigger.js +12 -12
- package/base-trigger/lib/es6/index.d.js.map +1 -1
- package/base-trigger/lib/es6/translations/en.json +2 -1
- package/base-trigger/lib/types/index.d.ts +6 -1
- 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/breakpoints/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/lib/cjs/Checkbox.js +18 -18
- package/checkbox/lib/es6/Checkbox.js +18 -18
- package/checkbox/package.json +1 -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/cjs/components/Item.js +1 -2
- package/color-picker/lib/cjs/components/Item.js.map +1 -1
- 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/lib/es6/components/Item.js +1 -1
- package/color-picker/lib/es6/components/Item.js.map +1 -1
- package/color-picker/package.json +1 -1
- package/components.json +73 -73
- package/core/package.json +1 -1
- package/counter/lib/cjs/Counter.js +11 -11
- package/counter/lib/es6/Counter.js +11 -11
- package/counter/package.json +1 -1
- 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 +16 -16
- package/d3-chart/lib/cjs/Bubble.js +12 -12
- package/d3-chart/lib/cjs/CompactHorizontalBar.js +16 -16
- 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 +16 -16
- 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 +3 -3
- package/d3-chart/lib/cjs/Radar.js +19 -19
- package/d3-chart/lib/cjs/RadialTree.js +12 -12
- package/d3-chart/lib/cjs/Reference.js +12 -12
- 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/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/es6/Area.js +11 -11
- package/d3-chart/lib/es6/Axis.js +14 -14
- package/d3-chart/lib/es6/Bar.js +16 -16
- package/d3-chart/lib/es6/Bubble.js +12 -12
- package/d3-chart/lib/es6/CompactHorizontalBar.js +16 -16
- 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 +16 -16
- 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 +3 -3
- package/d3-chart/lib/es6/Radar.js +19 -19
- package/d3-chart/lib/es6/RadialTree.js +12 -12
- package/d3-chart/lib/es6/Reference.js +12 -12
- 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/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/package.json +1 -1
- package/data-table/lib/cjs/Body.js +3 -3
- package/data-table/lib/cjs/DataTable.js +42 -37
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/cjs/Head.js +1 -2
- package/data-table/lib/cjs/Head.js.map +1 -1
- package/data-table/lib/es6/Body.js +3 -3
- package/data-table/lib/es6/DataTable.js +42 -37
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/data-table/lib/es6/Head.js +1 -1
- package/data-table/lib/es6/Head.js.map +1 -1
- package/data-table/package.json +1 -1
- package/date-picker/lib/cjs/components/Calendar.js +23 -24
- package/date-picker/lib/cjs/components/Calendar.js.map +1 -1
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +30 -29
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
- 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 +22 -22
- package/date-picker/lib/es6/components/Calendar.js.map +1 -1
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +30 -29
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
- 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/divider/lib/cjs/Divider.js +10 -10
- package/divider/lib/es6/Divider.js +10 -10
- package/divider/package.json +1 -1
- package/dot/lib/cjs/Dot.js +10 -10
- package/dot/lib/es6/Dot.js +10 -10
- package/dot/package.json +1 -1
- package/drag-and-drop/lib/cjs/DragAndDrop.js +17 -18
- package/drag-and-drop/lib/cjs/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/es6/DragAndDrop.js +17 -17
- package/drag-and-drop/lib/es6/DragAndDrop.js.map +1 -1
- package/drag-and-drop/package.json +1 -1
- package/dropdown/lib/cjs/AbstractDropdown.js +11 -7
- package/dropdown/lib/cjs/AbstractDropdown.js.map +1 -1
- package/dropdown/lib/cjs/Dropdown.js +16 -16
- package/dropdown/lib/cjs/Dropdown.js.map +1 -1
- package/dropdown/lib/es6/AbstractDropdown.js +11 -7
- package/dropdown/lib/es6/AbstractDropdown.js.map +1 -1
- package/dropdown/lib/es6/Dropdown.js +16 -16
- package/dropdown/lib/es6/Dropdown.js.map +1 -1
- 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 +10 -10
- package/ellipsis/lib/es6/Ellipsis.js +10 -10
- 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/lib/cjs/FeedbackForm.js +7 -7
- package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +2 -2
- package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
- package/feedback-form/lib/es6/FeedbackForm.js +7 -7
- package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +2 -2
- package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
- package/feedback-form/package.json +1 -1
- 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/flags/package.json +1 -1
- package/flex-box/index.d.ts +1 -0
- 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/index.js +9 -1
- package/flex-box/lib/cjs/index.js.map +1 -1
- package/flex-box/lib/cjs/invalid-state-box/InvalidStateBox.js +2 -2
- package/flex-box/lib/cjs/screen-reader-only-box/ScreenReaderOnlyBox.js +30 -0
- package/flex-box/lib/cjs/screen-reader-only-box/ScreenReaderOnlyBox.js.map +1 -0
- package/flex-box/lib/cjs/screen-reader-only-box/screenReaderOnlyBox.shadow.css +12 -0
- 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/index.js +1 -0
- package/flex-box/lib/es6/index.js.map +1 -1
- package/flex-box/lib/es6/invalid-state-box/InvalidStateBox.js +2 -2
- package/flex-box/lib/es6/screen-reader-only-box/ScreenReaderOnlyBox.js +21 -0
- package/flex-box/lib/es6/screen-reader-only-box/ScreenReaderOnlyBox.js.map +1 -0
- package/flex-box/lib/es6/screen-reader-only-box/screenReaderOnlyBox.shadow.css +12 -0
- package/flex-box/lib/types/index.d.ts +1 -0
- package/flex-box/lib/types/screen-reader-only-box/ScreenReaderOnlyBox.d.ts +4 -0
- package/flex-box/package.json +1 -1
- package/flex-box/screen-reader-only-box/ScreenReaderOnlyBox.d.ts +4 -0
- package/format-text/lib/cjs/FormatText.js +5 -5
- package/format-text/lib/es6/FormatText.js +5 -5
- package/format-text/package.json +1 -1
- 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/grid/lib/cjs/Grid.js +114 -114
- package/grid/lib/es6/Grid.js +114 -114
- package/grid/package.json +1 -1
- package/i18n-unplugin/package.json +1 -1
- 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/illustration/lib/cjs/index.js +1 -1
- package/illustration/lib/es6/index.js +1 -1
- package/illustration/package.json +1 -1
- package/inline-edit/lib/cjs/InlineEdit.js +4 -4
- package/inline-edit/lib/es6/InlineEdit.js +4 -4
- package/inline-edit/package.json +1 -1
- 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/lib/cjs/Input.js +17 -17
- package/input/lib/es6/Input.js +17 -17
- package/input/package.json +1 -1
- package/input-mask/lib/cjs/InputMask.js +7 -8
- package/input-mask/lib/cjs/InputMask.js.map +1 -1
- package/input-mask/lib/es6/InputMask.js +7 -7
- package/input-mask/lib/es6/InputMask.js.map +1 -1
- package/input-mask/package.json +1 -1
- package/input-number/lib/cjs/InputNumber.js +9 -9
- package/input-number/lib/es6/InputNumber.js +9 -9
- package/input-number/package.json +1 -1
- package/input-tags/InputTags.d.ts +1 -0
- package/input-tags/lib/cjs/InputTags.js +66 -37
- package/input-tags/lib/cjs/InputTags.js.map +1 -1
- package/input-tags/lib/es6/InputTags.js +68 -38
- package/input-tags/lib/es6/InputTags.js.map +1 -1
- package/input-tags/lib/types/InputTags.d.ts +1 -0
- package/input-tags/package.json +1 -1
- package/link/lib/cjs/Link.js +12 -12
- package/link/lib/es6/Link.js +12 -12
- package/link/package.json +1 -1
- package/mini-chart/lib/cjs/component/score/Donut.js +9 -9
- package/mini-chart/lib/cjs/component/score/Line.js +18 -18
- 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 +18 -18
- package/mini-chart/lib/es6/component/trend/Bar.js +7 -7
- package/mini-chart/lib/es6/component/trend/Line.js +7 -7
- package/mini-chart/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/neighbor-location/package.json +1 -1
- package/notice/lib/cjs/Notice.js +14 -14
- package/notice/lib/es6/Notice.js +14 -14
- package/notice/package.json +1 -1
- package/notice-bubble/index.d.ts +8 -0
- package/notice-bubble/lib/cjs/NoticeBubble.js +20 -23
- package/notice-bubble/lib/cjs/NoticeBubble.js.map +1 -1
- package/notice-bubble/lib/cjs/NoticeBubbleManager.js +24 -10
- package/notice-bubble/lib/cjs/NoticeBubbleManager.js.map +1 -1
- package/notice-bubble/lib/cjs/index.d.js.map +1 -1
- package/notice-bubble/lib/cjs/style/notice-bubble.shadow.css +2 -2
- package/notice-bubble/lib/es6/NoticeBubble.js +20 -23
- package/notice-bubble/lib/es6/NoticeBubble.js.map +1 -1
- package/notice-bubble/lib/es6/NoticeBubbleManager.js +24 -10
- package/notice-bubble/lib/es6/NoticeBubbleManager.js.map +1 -1
- package/notice-bubble/lib/es6/index.d.js.map +1 -1
- package/notice-bubble/lib/es6/style/notice-bubble.shadow.css +2 -2
- package/notice-bubble/lib/types/index.d.ts +8 -0
- 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/outside-click/package.json +1 -1
- package/package.json +1 -1
- package/pagination/lib/cjs/Pagination.js +11 -12
- package/pagination/lib/cjs/Pagination.js.map +1 -1
- package/pagination/lib/es6/Pagination.js +11 -11
- package/pagination/lib/es6/Pagination.js.map +1 -1
- package/pagination/package.json +1 -1
- package/pills/lib/cjs/Pills.js +13 -13
- package/pills/lib/es6/Pills.js +13 -13
- package/pills/package.json +1 -1
- package/popper/lib/cjs/Popper.js +7 -8
- package/popper/lib/cjs/Popper.js.map +1 -1
- package/popper/lib/es6/Popper.js +7 -7
- package/popper/lib/es6/Popper.js.map +1 -1
- package/popper/package.json +1 -1
- package/portal/package.json +1 -1
- 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/product-head/package.json +1 -1
- package/progress-bar/lib/cjs/ProgressBar.js +15 -15
- package/progress-bar/lib/es6/ProgressBar.js +15 -15
- package/progress-bar/package.json +1 -1
- package/radio/lib/cjs/Radio.js +16 -16
- package/radio/lib/es6/Radio.js +16 -16
- package/radio/package.json +1 -1
- 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/scroll-area/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 -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/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 -8
- package/skeleton/package.json +1 -1
- package/slider/lib/cjs/Slider.js +8 -8
- package/slider/lib/es6/Slider.js +8 -8
- package/slider/package.json +1 -1
- package/spin/lib/cjs/Spin.js +13 -13
- package/spin/lib/es6/Spin.js +13 -13
- package/spin/package.json +1 -1
- package/spin-container/lib/cjs/SpinContainer.js +8 -8
- package/spin-container/lib/es6/SpinContainer.js +8 -8
- package/spin-container/package.json +1 -1
- package/sticky/lib/cjs/Sticky.js +2 -2
- package/sticky/lib/es6/Sticky.js +2 -2
- package/sticky/package.json +1 -1
- package/switch/lib/cjs/Switch.js +21 -21
- package/switch/lib/es6/Switch.js +21 -21
- package/switch/package.json +1 -1
- package/tab-line/lib/cjs/TabLine.js +13 -13
- package/tab-line/lib/es6/TabLine.js +13 -13
- package/tab-line/package.json +1 -1
- package/tab-panel/lib/cjs/TabPanel.js +8 -8
- package/tab-panel/lib/es6/TabPanel.js +8 -8
- package/tab-panel/package.json +1 -1
- package/tag/lib/cjs/Tag.js +23 -23
- package/tag/lib/es6/Tag.js +23 -23
- package/tag/package.json +1 -1
- package/textarea/lib/cjs/Textarea.js +8 -8
- package/textarea/lib/es6/Textarea.js +8 -8
- package/textarea/package.json +1 -1
- package/time-picker/lib/cjs/PickerFormat.js +2 -3
- package/time-picker/lib/cjs/PickerFormat.js.map +1 -1
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/es6/PickerFormat.js +1 -1
- package/time-picker/lib/es6/PickerFormat.js.map +1 -1
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/time-picker/package.json +1 -1
- package/tooltip/lib/cjs/Tooltip.js +9 -9
- package/tooltip/lib/es6/Tooltip.js +9 -9
- package/tooltip/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/ScreenReaderOnly.d.ts +3 -0
- package/utils/lib/ScreenReaderOnly.js +3 -0
- package/utils/lib/ScreenReaderOnly.js.map +1 -1
- package/utils/lib/ScreenReaderOnly.mjs +4 -0
- package/utils/lib/ScreenReaderOnly.mjs.map +1 -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/findComponent.d.ts +4 -0
- package/utils/lib/findComponent.js +34 -0
- package/utils/lib/findComponent.js.map +1 -1
- package/utils/lib/findComponent.mjs +33 -0
- package/utils/lib/findComponent.mjs.map +1 -1
- package/utils/lib/injectStyle.js +1 -1
- package/utils/lib/injectStyle.mjs +1 -1
- package/widget-empty/lib/cjs/WidgetEmpty.js +5 -5
- package/widget-empty/lib/es6/WidgetEmpty.js +5 -5
- package/widget-empty/package.json +1 -1
- package/wizard/lib/cjs/Wizard.js +13 -14
- package/wizard/lib/cjs/Wizard.js.map +1 -1
- package/wizard/lib/es6/Wizard.js +13 -13
- package/wizard/lib/es6/Wizard.js.map +1 -1
- package/wizard/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","localizedMessages","i18nEnhance","style","_sstyled","insert","isFocusInside","hasFocusableIn","focusSourceEnhance","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","Map","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","hasFocusable","some","columnElement","ref","sortable","rowIndex","colIndex","_this$cellsMap$get","hasFocusableInHeader","maxCol","maxRow","totalRows","currentRow","cellsMap","get","focusedCell","currentCell","currentHeaderCell","changed","newRow","newCol","row","cell","_this$cellsMap$get2","setAttribute","removeAttribute","headerCell","describedBy","getAttribute","focus","_this$cellsMap$get3","changeFocusCell","e","key","setInert","preventDefault","_this$asProps$focusSo","relatedTarget","currentTarget","asProps","focusSourceRef","size","fillCells","scrollBodyRef","scrollHeadRef","_createClass","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","f","console","error","childrenToColumns","children","_this3","options","arguments","fixed","sort","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","flex","vBorders","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","c","_ref4","join","toArray","columnChildren","_this$props$ref$curre","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","getI18nText","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this4","parseData","exclude","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","_this$asProps3","_this$tableRef$curren2","_this5","querySelectorAll","rowCellsMap","queriedRowCells","cellIndex","cellName","columnsName","set","_this$tableRef$curren3","render","_ref","_ref2","SDataTable","_this$asProps4","styles","createElement","cn","_assignProps","handleKeyDown","handleMouseMove","handleFocus","handleBlur","ComponentDefinition","wrapDataTable","wrapper","wrapDataTableRow","wrapDataTableCell"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n ColIndex,\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n RowIndex,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport style from './style/data-table.shadow.css';\nimport { isFocusInside } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\nimport focusSourceEnhance from '@semcore/utils/lib/enhances/focusSourceEnhance';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n totalRows?: number;\n uniqueKey: string;\n uid?: string;\n getI18nText?: (str: string) => string;\n focusSourceRef?: React.RefObject<'mouse' | 'keyboard' | 'none'>;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Column = string> = [sortBy: Column, sortDirection: 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/**\n * Datatable must have an accessible name (aria-table-name).\n * It should describe table content.\n */\ntype DataTableAriaProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends Omit<DataTableProps<DataTableData>, keyof DataTableAriaProps> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n /** Count of total rows if table using virtual scroll. Needs for accessibility */\n totalRows?: number;\n } & DataTableAriaProps;\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n /**\n * Enable changing column width with sort icon\n * @default false\n */\n changeSortSize?: boolean;\n /**\n * Enable column to use as a column for recalculation width\n * @default false (By default used first column with maximum width)\n */\n sortSizeRecalculation?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n\n /** Ref for table body container */\n scrollContainerRef?: React.Ref<HTMLDivElement>;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages), focusSourceEnhance()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n focusedCell: [RowIndex, ColIndex] = [0, 0];\n cellsMap = new Map<RowIndex, Map<ColIndex, HTMLElement>>();\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n const animations = columns\n .flatMap((column) => column.props.ref.current?.getAnimations?.())\n .filter((a) => a !== undefined) as Animation[];\n\n let animationPromise: Promise<Animation[] | void> = Promise.resolve();\n\n if (animations.length > 0) {\n animationPromise = Promise.all(\n animations.map((animation) => {\n return animation.finished;\n }),\n );\n }\n\n animationPromise\n .then(() => {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n })\n .catch((err) => {\n console.error(err);\n });\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid, getI18nText } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n getI18nText,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidMount() {\n this.setVarStyle(this.columns);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n get totalRows() {\n const { data, totalRows } = this.asProps;\n\n return totalRows ?? (data ?? []).length;\n }\n\n fillCells() {\n const rows = this.tableRef.current?.querySelectorAll<HTMLDivElement>('[role=row]');\n\n if (rows?.length) {\n rows.forEach((row, rowIndex) => {\n const rowCellsMap = new Map<ColIndex, HTMLElement>();\n\n const queriedRowCells = row.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n let cellIndex = 0;\n\n queriedRowCells.forEach((cell) => {\n cell.setAttribute('inert', '');\n\n const cellName = cell.getAttribute('name');\n const columnsName = cellName?.split('/');\n\n if (columnsName && columnsName.length > 1) {\n columnsName.forEach(() => {\n rowCellsMap.set(cellIndex, cell);\n cellIndex = cellIndex + 1;\n });\n } else {\n rowCellsMap.set(cellIndex, cell);\n cellIndex = cellIndex + 1;\n }\n });\n\n this.cellsMap.set(rowIndex, rowCellsMap);\n });\n }\n }\n\n setInert(value: boolean) {\n const cells = this.tableRef.current?.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n cells?.forEach((cell) => {\n if (value === true) {\n cell.setAttribute('inert', '');\n } else {\n cell.removeAttribute('inert');\n }\n });\n }\n\n hasFocusableInHeader = () => {\n const hasFocusable = this.columns.some((column) => {\n const columnElement = column.props.ref.current;\n\n return column.sortable || (columnElement && hasFocusableIn(columnElement));\n });\n\n return hasFocusable;\n };\n\n changeFocusCell = (rowIndex: RowIndex, colIndex: ColIndex) => {\n const hasFocusable = this.hasFocusableInHeader();\n\n const maxCol = this.columns.length - 1;\n const maxRow = this.totalRows;\n\n const currentRow = this.cellsMap.get(this.focusedCell[0]);\n const currentCell = currentRow?.get(this.focusedCell[1]);\n const currentHeaderCell = this.cellsMap.get(0)?.get(this.focusedCell[1]);\n\n let changed = true;\n const newRow = this.focusedCell[0] + rowIndex;\n const newCol = this.focusedCell[1] + colIndex;\n\n if (\n ((hasFocusable && newRow < 0) || (!hasFocusable && newRow < 1) || newRow > maxRow) &&\n newRow !== this.focusedCell[0]\n ) {\n changed = false;\n }\n if ((newCol < 0 || newCol > maxCol) && newCol !== this.focusedCell[1]) {\n changed = false;\n }\n\n if (!changed) return;\n\n this.focusedCell = [newRow, newCol];\n\n const row = this.cellsMap.get(newRow);\n const cell = row?.get(newCol);\n\n if (cell && currentCell !== cell) {\n currentCell?.setAttribute('inert', '');\n\n if (currentCell !== currentHeaderCell) {\n currentCell?.removeAttribute('aria-describedby');\n }\n\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n const describedBy = headerCell?.getAttribute('aria-describedby');\n\n cell.removeAttribute('inert');\n if (headerCell !== cell && describedBy) {\n cell.setAttribute('aria-describedby', describedBy);\n }\n\n cell?.focus();\n\n if (newRow !== 0) {\n currentHeaderCell?.setAttribute('inert', '');\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n\n headerCell?.removeAttribute('inert');\n }\n } else if (currentCell === cell) {\n this.changeFocusCell(rowIndex, colIndex);\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'Tab': {\n this.setInert(true);\n break;\n }\n case 'ArrowLeft': {\n e.preventDefault();\n this.changeFocusCell(0, -1);\n break;\n }\n case 'ArrowRight': {\n e.preventDefault();\n this.changeFocusCell(0, 1);\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.changeFocusCell(-1, 0);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.changeFocusCell(1, 0);\n break;\n }\n }\n };\n\n handleFocus = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (\n (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) &&\n this.asProps.focusSourceRef?.current === 'keyboard'\n ) {\n if (this.cellsMap.size === 0) {\n this.fillCells();\n\n const hasFocusable = this.hasFocusableInHeader();\n\n if (hasFocusable) {\n this.focusedCell = [0, 0];\n } else {\n this.focusedCell = [1, 0];\n }\n }\n\n this.setInert(true);\n\n const row = this.cellsMap.get(this.focusedCell[0]);\n const cell = row?.get(this.focusedCell[1]);\n\n cell?.removeAttribute('inert');\n cell?.focus();\n\n e.currentTarget.setAttribute('tabIndex', '-1');\n }\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) {\n this.setInert(false);\n e.currentTarget.setAttribute('tabIndex', '0');\n }\n };\n\n handleMouseMove = () => {\n this.setInert(false);\n };\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='grid'\n onKeyDown={this.handleKeyDown}\n onMouseMove={this.handleMouseMove}\n tabIndex={0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-rowcount={this.totalRows}\n aria-colcount={this.columns.length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","localizedMessages","i18nEnhance","style","_sstyled","insert","isFocusInside","hasFocusableIn","focusSourceEnhance","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","Map","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","hasFocusable","some","columnElement","ref","sortable","rowIndex","colIndex","_this$cellsMap$get","hasFocusableInHeader","maxCol","maxRow","totalRows","currentRow","cellsMap","get","focusedCell","currentCell","currentHeaderCell","changed","newRow","newCol","row","cell","_this$cellsMap$get2","setAttribute","removeAttribute","headerCell","describedBy","getAttribute","focus","_this$cellsMap$get3","changeFocusCell","e","key","setInert","preventDefault","_this$asProps$focusSo","relatedTarget","currentTarget","asProps","focusSourceRef","size","fillCells","scrollBodyRef","scrollHeadRef","_createClass","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","f","console","error","childrenToColumns","children","_this3","options","arguments","fixed","sort","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","flex","vBorders","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","c","_ref4","join","toArray","columnChildren","_this$props$ref$curre","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","getI18nText","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this4","parseData","exclude","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","prevProps","clear","_this$asProps3","_this$tableRef$curren2","_this5","querySelectorAll","rowCellsMap","queriedRowCells","cellIndex","cellName","columnsName","set","_this$tableRef$curren3","render","_ref","_ref2","SDataTable","_this$asProps4","styles","createElement","cn","_assignProps","handleKeyDown","handleMouseMove","handleFocus","handleBlur","ComponentDefinition","wrapDataTable","wrapper","wrapDataTableRow","wrapDataTableCell"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n ColIndex,\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n RowIndex,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport style from './style/data-table.shadow.css';\nimport { isFocusInside } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\nimport focusSourceEnhance from '@semcore/utils/lib/enhances/focusSourceEnhance';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n totalRows?: number;\n uniqueKey: string;\n uid?: string;\n getI18nText?: (str: string) => string;\n focusSourceRef?: React.RefObject<'mouse' | 'keyboard' | 'none'>;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Column = string> = [sortBy: Column, sortDirection: 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/**\n * Datatable must have an accessible name (aria-table-name).\n * It should describe table content.\n */\ntype DataTableAriaProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends Omit<DataTableProps<DataTableData>, keyof DataTableAriaProps> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n /** Count of total rows if table using virtual scroll. Needs for accessibility */\n totalRows?: number;\n } & DataTableAriaProps;\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n /**\n * Enable changing column width with sort icon\n * @default false\n */\n changeSortSize?: boolean;\n /**\n * Enable column to use as a column for recalculation width\n * @default false (By default used first column with maximum width)\n */\n sortSizeRecalculation?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n\n /** Ref for table body container */\n scrollContainerRef?: React.Ref<HTMLDivElement>;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages), focusSourceEnhance()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n focusedCell: [RowIndex, ColIndex] = [0, 0];\n cellsMap = new Map<RowIndex, Map<ColIndex, HTMLElement>>();\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n const animations = columns\n .flatMap((column) => column.props.ref.current?.getAnimations?.())\n .filter((a) => a !== undefined) as Animation[];\n\n let animationPromise: Promise<Animation[] | void> = Promise.resolve();\n\n if (animations.length > 0) {\n animationPromise = Promise.all(\n animations.map((animation) => {\n return animation.finished;\n }),\n );\n }\n\n animationPromise\n .then(() => {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n })\n .catch((err) => {\n console.error(err);\n });\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid, getI18nText } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n getI18nText,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidMount() {\n this.setVarStyle(this.columns);\n }\n\n componentDidUpdate(prevProps: AsProps) {\n this.setVarStyle(this.columns);\n\n if (prevProps.data !== this.props.data) {\n if (this.tableRef.current && !isFocusInside(this.tableRef.current)) {\n this.cellsMap.clear();\n }\n }\n }\n\n get totalRows() {\n const { data, totalRows } = this.asProps;\n\n return totalRows ?? (data ?? []).length;\n }\n\n fillCells() {\n const rows = this.tableRef.current?.querySelectorAll<HTMLDivElement>('[role=row]');\n\n if (rows?.length) {\n rows.forEach((row, rowIndex) => {\n const rowCellsMap = new Map<ColIndex, HTMLElement>();\n\n const queriedRowCells = row.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n let cellIndex = 0;\n\n queriedRowCells.forEach((cell) => {\n cell.setAttribute('inert', '');\n\n const cellName = cell.getAttribute('name');\n const columnsName = cellName?.split('/');\n\n if (columnsName && columnsName.length > 1) {\n columnsName.forEach(() => {\n rowCellsMap.set(cellIndex, cell);\n cellIndex = cellIndex + 1;\n });\n } else {\n rowCellsMap.set(cellIndex, cell);\n cellIndex = cellIndex + 1;\n }\n });\n\n this.cellsMap.set(rowIndex, rowCellsMap);\n });\n }\n }\n\n setInert(value: boolean) {\n const cells = this.tableRef.current?.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n cells?.forEach((cell) => {\n if (value === true) {\n cell.setAttribute('inert', '');\n } else {\n cell.removeAttribute('inert');\n }\n });\n }\n\n hasFocusableInHeader = () => {\n const hasFocusable = this.columns.some((column) => {\n const columnElement = column.props.ref.current;\n\n return column.sortable || (columnElement && hasFocusableIn(columnElement));\n });\n\n return hasFocusable;\n };\n\n changeFocusCell = (rowIndex: RowIndex, colIndex: ColIndex) => {\n const hasFocusable = this.hasFocusableInHeader();\n\n const maxCol = this.columns.length - 1;\n const maxRow = this.totalRows;\n\n const currentRow = this.cellsMap.get(this.focusedCell[0]);\n const currentCell = currentRow?.get(this.focusedCell[1]);\n const currentHeaderCell = this.cellsMap.get(0)?.get(this.focusedCell[1]);\n\n let changed = true;\n const newRow = this.focusedCell[0] + rowIndex;\n const newCol = this.focusedCell[1] + colIndex;\n\n if (\n ((hasFocusable && newRow < 0) || (!hasFocusable && newRow < 1) || newRow > maxRow) &&\n newRow !== this.focusedCell[0]\n ) {\n changed = false;\n }\n if ((newCol < 0 || newCol > maxCol) && newCol !== this.focusedCell[1]) {\n changed = false;\n }\n\n if (!changed) return;\n\n this.focusedCell = [newRow, newCol];\n\n const row = this.cellsMap.get(newRow);\n const cell = row?.get(newCol);\n\n if (cell && currentCell !== cell) {\n currentCell?.setAttribute('inert', '');\n\n if (currentCell !== currentHeaderCell) {\n currentCell?.removeAttribute('aria-describedby');\n }\n\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n const describedBy = headerCell?.getAttribute('aria-describedby');\n\n cell.removeAttribute('inert');\n if (headerCell !== cell && describedBy) {\n cell.setAttribute('aria-describedby', describedBy);\n }\n\n cell?.focus();\n\n if (newRow !== 0) {\n currentHeaderCell?.setAttribute('inert', '');\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n\n headerCell?.removeAttribute('inert');\n }\n } else if (currentCell === cell) {\n this.changeFocusCell(rowIndex, colIndex);\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'Tab': {\n this.setInert(true);\n break;\n }\n case 'ArrowLeft': {\n e.preventDefault();\n this.changeFocusCell(0, -1);\n break;\n }\n case 'ArrowRight': {\n e.preventDefault();\n this.changeFocusCell(0, 1);\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.changeFocusCell(-1, 0);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.changeFocusCell(1, 0);\n break;\n }\n }\n };\n\n handleFocus = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (\n (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) &&\n this.asProps.focusSourceRef?.current === 'keyboard'\n ) {\n if (this.cellsMap.size === 0) {\n this.fillCells();\n\n const hasFocusable = this.hasFocusableInHeader();\n\n if (hasFocusable) {\n this.focusedCell = [0, 0];\n } else {\n this.focusedCell = [1, 0];\n }\n }\n\n this.setInert(true);\n\n const row = this.cellsMap.get(this.focusedCell[0]);\n const cell = row?.get(this.focusedCell[1]);\n\n cell?.removeAttribute('inert');\n cell?.focus();\n\n e.currentTarget.setAttribute('tabIndex', '-1');\n }\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) {\n this.setInert(false);\n e.currentTarget.setAttribute('tabIndex', '0');\n }\n };\n\n handleMouseMove = () => {\n this.setInert(false);\n };\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='grid'\n onKeyDown={this.handleKeyDown}\n onMouseMove={this.handleMouseMove}\n tabIndex={0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-rowcount={this.totalRows}\n aria-colcount={this.columns.length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
|
@@ -18,7 +18,7 @@ import { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';
|
|
18
18
|
import logger from 'intergalactic/utils/lib/logger';
|
19
19
|
import { setRef } from 'intergalactic/utils/lib/ref';
|
20
20
|
import { getFocusableIn } from 'intergalactic/utils/lib/focus-lock/getFocusableIn';
|
21
|
-
import { ScreenReaderOnly } from 'intergalactic/
|
21
|
+
import { ScreenReaderOnly } from 'intergalactic/flex-box';
|
22
22
|
export var SORT_ICON_WIDTH = 20;
|
23
23
|
var SORTING_ICON = {
|
24
24
|
desc: SortDesc,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Head.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","setRef","getFocusableIn","ScreenReaderOnly","SORT_ICON_WIDTH","SORTING_ICON","desc","asc","ariaSort","displayContents","display","cssToIntDefault","value","defaultValue","arguments","length","undefined","result","parseFloat","Number","isNaN","Math","round","Head","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","Map","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","key","_this$lockedCell$","focus","startsWith","stopPropagation","target","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","name","event","asProps","$onSortClick","active","ref","sortWrapperRefs","set","column","index","props","headCellMap","forwardRef","getAttribute","defaultWidths","has","computedStyle","window","getComputedStyle","minWidth","getPropertyValue","computedWidth","maxWidth","useForRecalculation","Boolean","sortSizeRecalculation","diff","exceptNode","lastMaxWidth","recalculatedNodes","forEach","push","setNodeMinWidth","_this$defaultWidths$g","_this$defaultWidths$g2","defaultNodeWidth","get","defaultNodeMinWidth","style","setProperty","diffPart","_this$defaultWidths$g3","_this$defaultWidths$g4","defaultNodeMaxWidth","removeProperty","_this$defaultWidths$g5","_this$defaultWidths$g6","clonedColumn","document","createElement","childNodes","append","cloneNode","styles","getPropertyPriority","body","appendChild","ceil","getBoundingClientRect","width","removeChild","changeMaxNodeWidth","freeSpace","_createClass","sortableColumnDescribeId","uid","componentDidUpdate","_this2","activeColumn","columns","_column$props","changeSortSize","current","backToColumnDefaults","calculateActiveColumnMinWidth","renderColumns","_this3","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","SColumn","SHead","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","isGroup","cSize","_getFixedStyle","_getFixedStyle2","_slicedToArray","_objectSpread","flexBasis","flex","setVar","varWidth","ariaDescribedBy","parentColumns","parentName","findIndex","flattenCol","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","handleKeyDown","onFocusCell","join","Fragment","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","getI18nText","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","warn","displayName","Container","role","tabIndex","zIndex","_assignProps","Bar","orientation","origin"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport { ColIndex, Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport { ScreenReaderOnly } from '@semcore/utils/lib/ScreenReaderOnly';\n\nexport const SORT_ICON_WIDTH = 20;\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\nfunction cssToIntDefault(value: string, defaultValue = 0) {\n let result = parseFloat(value);\n if (Number.isNaN(result)) {\n result = defaultValue;\n }\n\n return Math.round(result);\n}\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\n animationsDisabled?: boolean;\n getI18nText?: (str: string) => string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n headCellMap = new Map<ColIndex, HTMLElement | null>();\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultWidths = new Map<\n HTMLElement,\n {\n minWidth: number;\n maxWidth: number | null;\n computedWidth: number;\n useForRecalculation: boolean;\n }\n >();\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget) {\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.asProps.$onSortClick(name, event);\n }\n };\n\n makeSortRefHandler = (active: boolean) => (ref: HTMLElement | null) => {\n if (ref) {\n this.sortWrapperRefs.set(ref, active);\n }\n };\n\n makeColumnRefHandler = (column: Column, index: number) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n this.headCellMap.set(index, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n if (!this.defaultWidths.has(ref)) {\n const computedStyle = window.getComputedStyle(ref);\n\n this.defaultWidths.set(ref, {\n minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),\n computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),\n maxWidth: cssToIntDefault(computedStyle.getPropertyValue('max-width')) || null,\n useForRecalculation: Boolean(column.props.sortSizeRecalculation),\n });\n }\n }\n };\n\n componentDidUpdate() {\n let activeColumn: HTMLElement | null = null;\n\n this.columns.forEach((column) => {\n const { changeSortSize, ref } = column.props;\n\n if (column.active && changeSortSize && ref.current) {\n activeColumn = ref.current;\n }\n\n if (ref.current) {\n this.backToColumnDefaults(ref.current);\n }\n });\n\n if (activeColumn) {\n this.calculateActiveColumnMinWidth(activeColumn);\n }\n }\n\n changeMaxNodeWidth = (diff: number, exceptNode: HTMLElement) => {\n let lastMaxWidth = 0;\n let node: HTMLElement | null = null;\n const recalculatedNodes: HTMLElement[] = [];\n\n this.defaultWidths.forEach((value, key) => {\n if (value.computedWidth > lastMaxWidth && key !== exceptNode) {\n node = key;\n lastMaxWidth = value.computedWidth;\n }\n if (value.useForRecalculation) {\n recalculatedNodes.push(key);\n }\n });\n\n const setNodeMinWidth = (node: HTMLElement, diff: number) => {\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth;\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n\n if (defaultNodeWidth) {\n const maxWidth = defaultNodeWidth - diff;\n node.style.setProperty('max-width', `${maxWidth}px`);\n\n if (defaultNodeMinWidth) {\n node.style.setProperty('min-width', `min(${maxWidth}px, ${defaultNodeMinWidth}px)`);\n }\n }\n };\n\n if (recalculatedNodes.length > 0) {\n const diffPart = diff / recalculatedNodes.length;\n\n recalculatedNodes.forEach((node) => {\n setNodeMinWidth(node, diffPart);\n });\n } else if (node !== null) {\n setNodeMinWidth(node, diff);\n }\n };\n\n backToColumnDefaults = (node: HTMLElement) => {\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n const defaultNodeMaxWidth = this.defaultWidths.get(node)?.maxWidth;\n\n node.style.setProperty('min-width', defaultNodeMinWidth + 'px');\n\n if (defaultNodeMaxWidth) {\n node.style.setProperty('max-width', defaultNodeMaxWidth + 'px');\n } else {\n node.style.removeProperty('max-width');\n }\n };\n\n calculateActiveColumnMinWidth = (node: HTMLElement) => {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (!this.sortWrapperRefs.get(node)) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(SORT_ICON_WIDTH, node);\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(freeSpace, node);\n }\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex as any;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n const ariaDescribedBy = [];\n if (column.sortable && !column.active) {\n ariaDescribedBy.push(this.sortableColumnDescribeId());\n }\n if (column.parentColumns.length > 0) {\n const parentName = column.parentColumns[0].name;\n ariaDescribedBy.push(`igc-table-${uid}-${parentName}-group`);\n }\n\n const index = this.columns.findIndex((flattenCol) => flattenCol.name === column.name);\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={-1}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column, index)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n this.handleKeyDown,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n aria-colindex={index + 1}\n onFocus={this.onFocusCell}\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n >\n {isGroup ? (\n <>\n <SColumn\n id={`igc-table-${uid}-${column.name}-group`}\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper ref={this.makeSortRefHandler(column.active)}>\n <SSortIcon />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n animationsDisabled,\n getI18nText,\n } = this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} animationsDisabled={animationsDisabled}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={-1} zIndex={2}>\n <SHead render={Box} role='row' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents}>\n <div style={displayContents}>\n <div style={displayContents}>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n <ScreenReaderOnly aria-hidden={true} id={this.sortableColumnDescribeId()}>\n {getI18nText?.('sortableColumn')}\n </ScreenReaderOnly>\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Head.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","setRef","getFocusableIn","ScreenReaderOnly","SORT_ICON_WIDTH","SORTING_ICON","desc","asc","ariaSort","displayContents","display","cssToIntDefault","value","defaultValue","arguments","length","undefined","result","parseFloat","Number","isNaN","Math","round","Head","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","Map","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","key","_this$lockedCell$","focus","startsWith","stopPropagation","target","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","name","event","asProps","$onSortClick","active","ref","sortWrapperRefs","set","column","index","props","headCellMap","forwardRef","getAttribute","defaultWidths","has","computedStyle","window","getComputedStyle","minWidth","getPropertyValue","computedWidth","maxWidth","useForRecalculation","Boolean","sortSizeRecalculation","diff","exceptNode","lastMaxWidth","recalculatedNodes","forEach","push","setNodeMinWidth","_this$defaultWidths$g","_this$defaultWidths$g2","defaultNodeWidth","get","defaultNodeMinWidth","style","setProperty","diffPart","_this$defaultWidths$g3","_this$defaultWidths$g4","defaultNodeMaxWidth","removeProperty","_this$defaultWidths$g5","_this$defaultWidths$g6","clonedColumn","document","createElement","childNodes","append","cloneNode","styles","getPropertyPriority","body","appendChild","ceil","getBoundingClientRect","width","removeChild","changeMaxNodeWidth","freeSpace","_createClass","sortableColumnDescribeId","uid","componentDidUpdate","_this2","activeColumn","columns","_column$props","changeSortSize","current","backToColumnDefaults","calculateActiveColumnMinWidth","renderColumns","_this3","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","SColumn","SHead","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","isGroup","cSize","_getFixedStyle","_getFixedStyle2","_slicedToArray","_objectSpread","flexBasis","flex","setVar","varWidth","ariaDescribedBy","parentColumns","parentName","findIndex","flattenCol","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","handleKeyDown","onFocusCell","join","Fragment","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","getI18nText","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","warn","displayName","Container","role","tabIndex","zIndex","_assignProps","Bar","orientation","origin"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport { ColIndex, Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport { ScreenReaderOnly } from '@semcore/flex-box';\n\nexport const SORT_ICON_WIDTH = 20;\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\nfunction cssToIntDefault(value: string, defaultValue = 0) {\n let result = parseFloat(value);\n if (Number.isNaN(result)) {\n result = defaultValue;\n }\n\n return Math.round(result);\n}\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\n animationsDisabled?: boolean;\n getI18nText?: (str: string) => string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n headCellMap = new Map<ColIndex, HTMLElement | null>();\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultWidths = new Map<\n HTMLElement,\n {\n minWidth: number;\n maxWidth: number | null;\n computedWidth: number;\n useForRecalculation: boolean;\n }\n >();\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget) {\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.asProps.$onSortClick(name, event);\n }\n };\n\n makeSortRefHandler = (active: boolean) => (ref: HTMLElement | null) => {\n if (ref) {\n this.sortWrapperRefs.set(ref, active);\n }\n };\n\n makeColumnRefHandler = (column: Column, index: number) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n this.headCellMap.set(index, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n if (!this.defaultWidths.has(ref)) {\n const computedStyle = window.getComputedStyle(ref);\n\n this.defaultWidths.set(ref, {\n minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),\n computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),\n maxWidth: cssToIntDefault(computedStyle.getPropertyValue('max-width')) || null,\n useForRecalculation: Boolean(column.props.sortSizeRecalculation),\n });\n }\n }\n };\n\n componentDidUpdate() {\n let activeColumn: HTMLElement | null = null;\n\n this.columns.forEach((column) => {\n const { changeSortSize, ref } = column.props;\n\n if (column.active && changeSortSize && ref.current) {\n activeColumn = ref.current;\n }\n\n if (ref.current) {\n this.backToColumnDefaults(ref.current);\n }\n });\n\n if (activeColumn) {\n this.calculateActiveColumnMinWidth(activeColumn);\n }\n }\n\n changeMaxNodeWidth = (diff: number, exceptNode: HTMLElement) => {\n let lastMaxWidth = 0;\n let node: HTMLElement | null = null;\n const recalculatedNodes: HTMLElement[] = [];\n\n this.defaultWidths.forEach((value, key) => {\n if (value.computedWidth > lastMaxWidth && key !== exceptNode) {\n node = key;\n lastMaxWidth = value.computedWidth;\n }\n if (value.useForRecalculation) {\n recalculatedNodes.push(key);\n }\n });\n\n const setNodeMinWidth = (node: HTMLElement, diff: number) => {\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth;\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n\n if (defaultNodeWidth) {\n const maxWidth = defaultNodeWidth - diff;\n node.style.setProperty('max-width', `${maxWidth}px`);\n\n if (defaultNodeMinWidth) {\n node.style.setProperty('min-width', `min(${maxWidth}px, ${defaultNodeMinWidth}px)`);\n }\n }\n };\n\n if (recalculatedNodes.length > 0) {\n const diffPart = diff / recalculatedNodes.length;\n\n recalculatedNodes.forEach((node) => {\n setNodeMinWidth(node, diffPart);\n });\n } else if (node !== null) {\n setNodeMinWidth(node, diff);\n }\n };\n\n backToColumnDefaults = (node: HTMLElement) => {\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n const defaultNodeMaxWidth = this.defaultWidths.get(node)?.maxWidth;\n\n node.style.setProperty('min-width', defaultNodeMinWidth + 'px');\n\n if (defaultNodeMaxWidth) {\n node.style.setProperty('max-width', defaultNodeMaxWidth + 'px');\n } else {\n node.style.removeProperty('max-width');\n }\n };\n\n calculateActiveColumnMinWidth = (node: HTMLElement) => {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (!this.sortWrapperRefs.get(node)) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(SORT_ICON_WIDTH, node);\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(freeSpace, node);\n }\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex as any;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n const ariaDescribedBy = [];\n if (column.sortable && !column.active) {\n ariaDescribedBy.push(this.sortableColumnDescribeId());\n }\n if (column.parentColumns.length > 0) {\n const parentName = column.parentColumns[0].name;\n ariaDescribedBy.push(`igc-table-${uid}-${parentName}-group`);\n }\n\n const index = this.columns.findIndex((flattenCol) => flattenCol.name === column.name);\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={-1}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column, index)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n this.handleKeyDown,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n aria-colindex={index + 1}\n onFocus={this.onFocusCell}\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n >\n {isGroup ? (\n <>\n <SColumn\n id={`igc-table-${uid}-${column.name}-group`}\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper ref={this.makeSortRefHandler(column.active)}>\n <SSortIcon />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n animationsDisabled,\n getI18nText,\n } = this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} animationsDisabled={animationsDisabled}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={-1} zIndex={2}>\n <SHead render={Box} role='row' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents}>\n <div style={displayContents}>\n <div style={displayContents}>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n <ScreenReaderOnly aria-hidden={true} id={this.sortableColumnDescribeId()}>\n {getI18nText?.('sortableColumn')}\n </ScreenReaderOnly>\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
|
package/data-table/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"intergalactic/data-table","description":"Semrush DataTable Component","version":"4.47.
|
1
|
+
{"name":"intergalactic/data-table","description":"Semrush DataTable Component","version":"4.47.4-prerelease.0","main":"lib/cjs/index.js","module":"lib/es6/index.js","typings":"lib/types/index.d.ts","sideEffects":false,"author":"UI-kit team <ui-kit-team@semrush.com>","license":"MIT","scripts":{"build":"pnpm semcore-builder --source=ts"},"dependencies":{"@semcore/flex-box":"5.39.0-prerelease.0","@semcore/icon":"4.53.0-prerelease.0","@semcore/scroll-area":"5.43.0-prerelease.0","@semcore/utils":"4.44.0-prerelease.0"},"devDependencies":{"@types/react":"18.0.21","@semcore/testing-utils":"1.0.0","@semcore/base-trigger":"*","@semcore/dropdown-menu":"*","@semcore/typography":"*","@semcore/accordion":"*","@semcore/divider":"*","@semcore/portal":"*","@semcore/progress-bar":"*","@semcore/skeleton":"*","@semcore/spin":"*","@semcore/spin-container":"*","@semcore/tooltip":"*","@types/node":"^18.16.15","csstype":"3.0.8"},"peerDependencies":{"@semcore/core":"^2.37.0-prerelease.0","react":"16.8 - 18","react-dom":"16.8 - 18"},"repository":{"type":"git","url":"https://github.com/semrush/intergalactic.git","directory":"semcore/data-table"}}
|
@@ -28,30 +28,29 @@ var _fire = _interopRequireDefault(require("intergalactic/utils/lib/fire"));
|
|
28
28
|
var _includesDate = require("../utils/includesDate");
|
29
29
|
var _formatDate = require("../utils/formatDate");
|
30
30
|
var _keyboardFocusEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/keyboardFocusEnhance"));
|
31
|
-
var _ScreenReaderOnly = require("intergalactic/utils/lib/ScreenReaderOnly");
|
32
31
|
var _excluded = ["date"];
|
33
32
|
/*__reshadow-styles__:"../style/calendar.shadow.css"*/
|
34
|
-
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".
|
35
|
-
"__SCalendar": "
|
36
|
-
"__SGridDays": "
|
37
|
-
"__SGridMonths": "
|
38
|
-
"__SWeekDays": "
|
39
|
-
"__SWeekDay": "
|
40
|
-
"__SCalendarUnit": "
|
41
|
-
"_startHighlighted": "
|
42
|
-
"_selected": "
|
43
|
-
"_endHighlighted": "
|
44
|
-
"_startSelected": "
|
45
|
-
"_endSelected": "
|
46
|
-
"_compareHighlighted": "
|
47
|
-
"_compareStartHighlighted": "
|
48
|
-
"_compareEndHighlighted": "
|
49
|
-
"_compareStart": "
|
50
|
-
"_compareEnd": "
|
51
|
-
"_outdated": "
|
52
|
-
"_disabled": "
|
53
|
-
"_highlighted": "
|
54
|
-
"_today": "
|
33
|
+
var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SCalendar_sdf5s_gg_{display:flex;flex-direction:column}.___SGridDays_sdf5s_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_sdf5s_gg_{display:grid;grid-row-gap:var(--intergalactic-spacing-2x, 8px);grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_sdf5s_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SCalendarUnit_sdf5s_gg_,.___SWeekDay_sdf5s_gg_{align-items:center;display:flex;font-size:var(--intergalactic-fs-200, 14px);justify-content:center;min-height:32px;min-width:32px}.___SWeekDay_sdf5s_gg_{color:var(--intergalactic-text-secondary, #6c6e79);font-weight:var(--intergalactic-regular, 400);overflow:hidden}.___SCalendarUnit_sdf5s_gg_{font-family:inherit;font-weight:400;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;color:var(--intergalactic-text-primary, #191b23);box-shadow:none;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background-color:var(--intergalactic-date-picker-cell, #ffffff);border-radius:var(--intergalactic-control-rounded, 6px);box-sizing:border-box;cursor:pointer;position:relative;transition:color .15s,background .15s,box-shadow .15s,border-radius .15s .15s;outline:0;margin:4px 0 0}@media (hover:hover){.___SCalendarUnit_sdf5s_gg_:hover{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-date-picker-cell-hover, #e0e1e9)}}.___SCalendarUnit_sdf5s_gg_.__today_sdf5s_gg_:before{content:\"\";position:absolute;display:block;top:1px;left:1px;border-radius:var(--intergalactic-control-rounded, 6px);width:calc(100% - 2px);height:calc(100% - 2px);box-sizing:border-box;border:1px solid var(--intergalactic-date-picker-cell-current, #8a8e9b)}.___SCalendarUnit_sdf5s_gg_.___SCalendarUnit_sdf5s_gg_.__today_sdf5s_gg_.__endSelected_sdf5s_gg_:before,.___SCalendarUnit_sdf5s_gg_.___SCalendarUnit_sdf5s_gg_.__today_sdf5s_gg_.__startSelected_sdf5s_gg_:before{border-color:var(--intergalactic-border-secondary, #e0e1e9)}.___SCalendarUnit_sdf5s_gg_.__highlighted_sdf5s_gg_,.___SCalendarUnit_sdf5s_gg_.__selected_sdf5s_gg_{border-radius:0;transition:color .15s,background .15s,box-shadow .15s,border-radius 0s 0s;color:var(--intergalactic-text-primary, #191b23)}.___SCalendarUnit_sdf5s_gg_.__selected_sdf5s_gg_{background-color:var(--intergalactic-date-picker-cell-range, #c4e5fe)}@media (hover:hover){.___SCalendarUnit_sdf5s_gg_.__selected_sdf5s_gg_:hover{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}}.___SCalendarUnit_sdf5s_gg_.__highlighted_sdf5s_gg_{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}@media (hover:hover){.___SCalendarUnit_sdf5s_gg_.__highlighted_sdf5s_gg_:hover{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}}.___SCalendarUnit_sdf5s_gg_.__startSelected_sdf5s_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff)}.___SCalendarUnit_sdf5s_gg_.__startSelected_sdf5s_gg_:not(.__highlighted_sdf5s_gg_){border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:0;border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:0}@media (hover:hover){.___SCalendarUnit_sdf5s_gg_.__startSelected_sdf5s_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active-hover, #008ff8)}}.___SCalendarUnit_sdf5s_gg_.__endSelected_sdf5s_gg_{background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff);color:var(--intergalactic-text-primary-invert, #ffffff)}.___SCalendarUnit_sdf5s_gg_.__endSelected_sdf5s_gg_:not(.__highlighted_sdf5s_gg_){border-bottom-left-radius:0;border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:0;border-top-right-radius:var(--intergalactic-control-rounded, 6px)}@media (hover:hover){.___SCalendarUnit_sdf5s_gg_.__endSelected_sdf5s_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active-hover, #008ff8)}}.___SCalendarUnit_sdf5s_gg_.__startHighlighted_sdf5s_gg_:not(.__selected_sdf5s_gg_){border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:0;border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:0}.___SCalendarUnit_sdf5s_gg_.__endHighlighted_sdf5s_gg_:not(.__selected_sdf5s_gg_){border-bottom-left-radius:0;border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:0;border-top-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_sdf5s_gg_.__startHighlighted_sdf5s_gg_.___SCalendarUnit_sdf5s_gg_.__endHighlighted_sdf5s_gg_,.___SCalendarUnit_sdf5s_gg_.__startSelected_sdf5s_gg_.___SCalendarUnit_sdf5s_gg_.__endSelected_sdf5s_gg_{border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_sdf5s_gg_.__compareHighlighted_sdf5s_gg_{border-top:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-bottom:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-radius:0;transition:none}.___SCalendarUnit_sdf5s_gg_.__compareEndHighlighted_sdf5s_gg_,.___SCalendarUnit_sdf5s_gg_.__compareStartHighlighted_sdf5s_gg_{border-left:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-right:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1)}.___SCalendarUnit_sdf5s_gg_.__compareEnd_sdf5s_gg_,.___SCalendarUnit_sdf5s_gg_.__compareStart_sdf5s_gg_{border-radius:0;background-color:var(--intergalactic-date-picker-cell-comparison-active, #8649e1);color:var(--intergalactic-text-primary-invert, #ffffff)}@media (hover:hover){.___SCalendarUnit_sdf5s_gg_.__compareEnd_sdf5s_gg_:hover,.___SCalendarUnit_sdf5s_gg_.__compareStart_sdf5s_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-comparison-active-hover, #5925ab)}}.___SCalendarUnit_sdf5s_gg_.__compareStartHighlighted_sdf5s_gg_{border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_sdf5s_gg_.__compareEndHighlighted_sdf5s_gg_{border-top-right-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_sdf5s_gg_.__compareStart_sdf5s_gg_:not(.__compareHighlighted_sdf5s_gg_){border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_sdf5s_gg_.__compareEnd_sdf5s_gg_:not(.__compareHighlighted_sdf5s_gg_){border-top-right-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_sdf5s_gg_.__outdated_sdf5s_gg_{opacity:.2}.___SCalendarUnit_sdf5s_gg_.__disabled_sdf5s_gg_{opacity:.4;cursor:default;pointer-events:none}.___SCalendar_sdf5s_gg_:focus{outline:0}.___SCalendar_sdf5s_gg_:focus .___SCalendarUnit_sdf5s_gg_.__highlighted_sdf5s_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus,\n 0px 0px 0px 3px rgba(0, 143, 248, 0.5)\n )}.___SCalendar_sdf5s_gg_:focus:not(.___SCalendar_sdf5s_gg_:focus:has(.___SCalendarUnit_sdf5s_gg_.__highlighted_sdf5s_gg_)){box-shadow:var(--intergalactic-keyboard-focus,\n 0px 0px 0px 3px rgba(0, 143, 248, 0.5)\n )}@media (prefers-reduced-motion){.___SCalendarUnit_sdf5s_gg_,.___SCalendarUnit_sdf5s_gg_.__highlighted_sdf5s_gg_,.___SCalendarUnit_sdf5s_gg_.__selected_sdf5s_gg_{transition:none}}" /*__inner_css_end__*/, "sdf5s_gg_") /*__reshadow_css_end__*/, {
|
34
|
+
"__SCalendar": "___SCalendar_sdf5s_gg_",
|
35
|
+
"__SGridDays": "___SGridDays_sdf5s_gg_",
|
36
|
+
"__SGridMonths": "___SGridMonths_sdf5s_gg_",
|
37
|
+
"__SWeekDays": "___SWeekDays_sdf5s_gg_",
|
38
|
+
"__SWeekDay": "___SWeekDay_sdf5s_gg_",
|
39
|
+
"__SCalendarUnit": "___SCalendarUnit_sdf5s_gg_",
|
40
|
+
"_startHighlighted": "__startHighlighted_sdf5s_gg_",
|
41
|
+
"_selected": "__selected_sdf5s_gg_",
|
42
|
+
"_endHighlighted": "__endHighlighted_sdf5s_gg_",
|
43
|
+
"_startSelected": "__startSelected_sdf5s_gg_",
|
44
|
+
"_endSelected": "__endSelected_sdf5s_gg_",
|
45
|
+
"_compareHighlighted": "__compareHighlighted_sdf5s_gg_",
|
46
|
+
"_compareStartHighlighted": "__compareStartHighlighted_sdf5s_gg_",
|
47
|
+
"_compareEndHighlighted": "__compareEndHighlighted_sdf5s_gg_",
|
48
|
+
"_compareStart": "__compareStart_sdf5s_gg_",
|
49
|
+
"_compareEnd": "__compareEnd_sdf5s_gg_",
|
50
|
+
"_outdated": "__outdated_sdf5s_gg_",
|
51
|
+
"_disabled": "__disabled_sdf5s_gg_",
|
52
|
+
"_highlighted": "__highlighted_sdf5s_gg_",
|
53
|
+
"_today": "__today_sdf5s_gg_"
|
55
54
|
});
|
56
55
|
_dayjs["default"].extend(_isBetween["default"]);
|
57
56
|
var range = function range(N, cb) {
|
@@ -448,7 +447,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
|
|
448
447
|
})), /*#__PURE__*/_react["default"].createElement(SGridDays, _ref9.cn("SGridDays", {
|
449
448
|
"onMouseLeave": this.handleMouseLeave,
|
450
449
|
"role": 'row'
|
451
|
-
}), /*#__PURE__*/_react["default"].createElement(Children, _ref9.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(
|
450
|
+
}), /*#__PURE__*/_react["default"].createElement(Children, _ref9.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref9.cn("ScreenReaderOnly", {
|
452
451
|
"role": 'row'
|
453
452
|
}), /*#__PURE__*/_react["default"].createElement("span", _ref9.cn("span", {
|
454
453
|
"aria-live": 'polite',
|
@@ -530,7 +529,7 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
|
|
530
529
|
return _ref10 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendar, _ref10.cn("SCalendar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])({}, this.getRootProps()), _ref5))), /*#__PURE__*/_react["default"].createElement(SGridMonths, _ref10.cn("SGridMonths", {
|
531
530
|
"onMouseLeave": this.handleMouseLeave,
|
532
531
|
"role": 'row'
|
533
|
-
}), /*#__PURE__*/_react["default"].createElement(Children, _ref10.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(
|
532
|
+
}), /*#__PURE__*/_react["default"].createElement(Children, _ref10.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref10.cn("ScreenReaderOnly", {
|
534
533
|
"role": 'row'
|
535
534
|
}), /*#__PURE__*/_react["default"].createElement("span", _ref10.cn("span", {
|
536
535
|
"aria-live": 'polite',
|