intergalactic 15.106.0-prerelease.0 → 15.107.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 +45 -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/lib/cjs/BaseTrigger.js +18 -18
- package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
- package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
- package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
- package/base-trigger/lib/es6/BaseTrigger.js +18 -18
- package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
- package/base-trigger/lib/es6/FilterTrigger.js +7 -7
- package/base-trigger/lib/es6/LinkTrigger.js +12 -12
- package/base-trigger/package.json +1 -1
- package/breadcrumbs/lib/cjs/Breadcrumbs.js +8 -8
- package/breadcrumbs/lib/es6/Breadcrumbs.js +8 -8
- package/breadcrumbs/package.json +1 -1
- package/breakpoints/package.json +1 -1
- package/button/lib/cjs/Button.js +27 -26
- package/button/lib/cjs/Button.js.map +1 -1
- package/button/lib/cjs/style/button.shadow.css +6 -0
- package/button/lib/es6/Button.js +27 -26
- package/button/lib/es6/Button.js.map +1 -1
- package/button/lib/es6/style/button.shadow.css +6 -0
- package/button/package.json +1 -1
- package/card/lib/cjs/Card.js +8 -8
- package/card/lib/es6/Card.js +8 -8
- 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/PaletteManager.d.ts +64 -39
- package/color-picker/components/Item.d.ts +2 -1
- package/color-picker/lib/cjs/ColorPicker.js +34 -36
- package/color-picker/lib/cjs/ColorPicker.js.map +1 -1
- package/color-picker/lib/cjs/PaletteManager.js +39 -35
- package/color-picker/lib/cjs/PaletteManager.js.map +1 -1
- package/color-picker/lib/cjs/components/InputColor.js +24 -23
- package/color-picker/lib/cjs/components/InputColor.js.map +1 -1
- package/color-picker/lib/cjs/components/Item.js +26 -10
- package/color-picker/lib/cjs/components/Item.js.map +1 -1
- package/color-picker/lib/cjs/components/colors.js +10 -6
- package/color-picker/lib/cjs/components/colors.js.map +1 -1
- package/color-picker/lib/cjs/style/color-picker.shadow.css +4 -4
- package/color-picker/lib/cjs/translations/de.json +7 -7
- package/color-picker/lib/cjs/translations/en.json +7 -7
- package/color-picker/lib/cjs/translations/es.json +7 -7
- package/color-picker/lib/cjs/translations/fr.json +7 -7
- package/color-picker/lib/cjs/translations/it.json +7 -7
- package/color-picker/lib/cjs/translations/ja.json +7 -7
- package/color-picker/lib/cjs/translations/ko.json +7 -7
- package/color-picker/lib/cjs/translations/nl.json +7 -7
- package/color-picker/lib/cjs/translations/pl.json +7 -7
- package/color-picker/lib/cjs/translations/pt.json +7 -7
- package/color-picker/lib/cjs/translations/sv.json +7 -7
- package/color-picker/lib/cjs/translations/tr.json +7 -7
- package/color-picker/lib/cjs/translations/vi.json +7 -7
- package/color-picker/lib/cjs/translations/zh.json +7 -7
- package/color-picker/lib/es6/ColorPicker.js +34 -36
- package/color-picker/lib/es6/ColorPicker.js.map +1 -1
- package/color-picker/lib/es6/PaletteManager.js +39 -35
- package/color-picker/lib/es6/PaletteManager.js.map +1 -1
- package/color-picker/lib/es6/components/InputColor.js +24 -23
- package/color-picker/lib/es6/components/InputColor.js.map +1 -1
- package/color-picker/lib/es6/components/Item.js +26 -10
- package/color-picker/lib/es6/components/Item.js.map +1 -1
- package/color-picker/lib/es6/components/colors.js +11 -7
- package/color-picker/lib/es6/components/colors.js.map +1 -1
- package/color-picker/lib/es6/style/color-picker.shadow.css +4 -4
- package/color-picker/lib/es6/translations/de.json +7 -7
- package/color-picker/lib/es6/translations/en.json +7 -7
- package/color-picker/lib/es6/translations/es.json +7 -7
- package/color-picker/lib/es6/translations/fr.json +7 -7
- package/color-picker/lib/es6/translations/it.json +7 -7
- package/color-picker/lib/es6/translations/ja.json +7 -7
- package/color-picker/lib/es6/translations/ko.json +7 -7
- package/color-picker/lib/es6/translations/nl.json +7 -7
- package/color-picker/lib/es6/translations/pl.json +7 -7
- package/color-picker/lib/es6/translations/pt.json +7 -7
- package/color-picker/lib/es6/translations/sv.json +7 -7
- package/color-picker/lib/es6/translations/tr.json +7 -7
- package/color-picker/lib/es6/translations/vi.json +7 -7
- package/color-picker/lib/es6/translations/zh.json +7 -7
- package/color-picker/lib/types/PaletteManager.d.ts +64 -39
- package/color-picker/lib/types/components/Item.d.ts +2 -1
- package/color-picker/lib/types/translations/__intergalactic-dynamic-locales.d.ts +28 -28
- package/color-picker/package.json +1 -1
- package/color-picker/translations/__intergalactic-dynamic-locales.d.ts +28 -28
- 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/DataTable.d.ts +10 -0
- package/data-table/Head.d.ts +7 -2
- package/data-table/lib/cjs/Body.js +7 -8
- package/data-table/lib/cjs/Body.js.map +1 -1
- package/data-table/lib/cjs/DataTable.js +36 -36
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/cjs/Head.js +109 -39
- package/data-table/lib/cjs/Head.js.map +1 -1
- package/data-table/lib/cjs/style/data-table.shadow.css +1 -1
- package/data-table/lib/cjs/types.js.map +1 -1
- package/data-table/lib/es6/Body.js +7 -8
- package/data-table/lib/es6/Body.js.map +1 -1
- package/data-table/lib/es6/DataTable.js +36 -36
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/data-table/lib/es6/Head.js +109 -39
- package/data-table/lib/es6/Head.js.map +1 -1
- package/data-table/lib/es6/style/data-table.shadow.css +1 -1
- package/data-table/lib/es6/types.js.map +1 -1
- package/data-table/lib/types/DataTable.d.ts +10 -0
- package/data-table/lib/types/Head.d.ts +7 -2
- package/data-table/lib/types/types.d.ts +2 -0
- package/data-table/package.json +1 -1
- package/data-table/types.d.ts +2 -0
- package/date-picker/lib/cjs/components/Calendar.js +21 -21
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
- package/date-picker/lib/cjs/components/InputTrigger.js +29 -29
- package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
- package/date-picker/lib/es6/components/Calendar.js +21 -21
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
- package/date-picker/lib/es6/components/InputTrigger.js +29 -29
- package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
- package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
- package/date-picker/package.json +1 -1
- package/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 +16 -16
- package/drag-and-drop/lib/es6/DragAndDrop.js +16 -16
- package/drag-and-drop/package.json +1 -1
- package/dropdown/lib/cjs/Dropdown.js +4 -4
- package/dropdown/lib/cjs/Dropdown.js.map +1 -1
- package/dropdown/lib/es6/Dropdown.js +4 -4
- package/dropdown/lib/es6/Dropdown.js.map +1 -1
- package/dropdown/package.json +1 -1
- package/dropdown-menu/index.d.ts +43 -1
- package/dropdown-menu/lib/cjs/DropdownMenu.js +449 -413
- package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/cjs/DropdownMenuOld.js +682 -0
- package/dropdown-menu/lib/cjs/DropdownMenuOld.js.map +1 -0
- package/dropdown-menu/lib/cjs/index.d.js.map +1 -1
- package/dropdown-menu/lib/cjs/index.js +7 -0
- package/dropdown-menu/lib/cjs/index.js.map +1 -1
- package/dropdown-menu/lib/cjs/style/dropdown-menu-old.shadow.css +224 -0
- package/dropdown-menu/lib/cjs/style/dropdown-menu.shadow.css +24 -14
- package/dropdown-menu/lib/es6/DropdownMenu.js +453 -414
- package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/es6/DropdownMenuOld.js +683 -0
- package/dropdown-menu/lib/es6/DropdownMenuOld.js.map +1 -0
- package/dropdown-menu/lib/es6/index.d.js.map +1 -1
- package/dropdown-menu/lib/es6/index.js +1 -0
- package/dropdown-menu/lib/es6/index.js.map +1 -1
- package/dropdown-menu/lib/es6/style/dropdown-menu-old.shadow.css +224 -0
- package/dropdown-menu/lib/es6/style/dropdown-menu.shadow.css +24 -14
- package/dropdown-menu/lib/types/index.d.ts +43 -1
- 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/lib/cjs/Box/useBox.js +3 -3
- package/flex-box/lib/cjs/Flex/useFlex.js +3 -3
- package/flex-box/lib/cjs/invalid-state-box/InvalidStateBox.js +2 -2
- package/flex-box/lib/es6/Box/useBox.js +3 -3
- package/flex-box/lib/es6/Flex/useFlex.js +3 -3
- package/flex-box/lib/es6/invalid-state-box/InvalidStateBox.js +2 -2
- package/flex-box/package.json +1 -1
- 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/CursorMove/m/index.js +1 -1
- package/icon/CursorMove/m/index.mjs +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/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 +6 -6
- package/icon/lib/es6/Icon.js +6 -6
- 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 +6 -6
- package/input-mask/lib/es6/InputMask.js +6 -6
- 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/lib/cjs/InputTags.js +12 -12
- package/input-tags/lib/es6/InputTags.js +12 -12
- 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 +17 -17
- package/mini-chart/lib/cjs/component/trend/Bar.js +7 -7
- package/mini-chart/lib/cjs/component/trend/Line.js +7 -7
- package/mini-chart/lib/es6/component/score/Donut.js +9 -9
- package/mini-chart/lib/es6/component/score/Line.js +17 -17
- package/mini-chart/lib/es6/component/trend/Bar.js +7 -7
- package/mini-chart/lib/es6/component/trend/Line.js +7 -7
- package/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/index.d.ts +1 -1
- package/notice/lib/cjs/Notice.js +14 -14
- package/notice/lib/cjs/index.d.js.map +1 -1
- package/notice/lib/es6/Notice.js +14 -14
- package/notice/lib/es6/index.d.js.map +1 -1
- package/notice/lib/types/index.d.ts +1 -1
- package/notice/package.json +1 -1
- package/notice-bubble/lib/cjs/NoticeBubble.js +15 -15
- package/notice-bubble/lib/es6/NoticeBubble.js +15 -15
- package/notice-bubble/package.json +1 -1
- package/notice-global/index.d.ts +1 -1
- package/notice-global/lib/cjs/NoticeGlobal.js +11 -11
- package/notice-global/lib/cjs/index.d.js.map +1 -1
- package/notice-global/lib/es6/NoticeGlobal.js +11 -11
- package/notice-global/lib/es6/index.d.js.map +1 -1
- package/notice-global/lib/types/index.d.ts +1 -1
- 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 +10 -10
- package/pagination/lib/es6/Pagination.js +10 -10
- 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 +45 -69
- package/popper/lib/cjs/Popper.js.map +1 -1
- package/popper/lib/es6/Popper.js +46 -69
- 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 +23 -21
- package/select/lib/cjs/Select.js.map +1 -1
- package/select/lib/es6/InputSearch.js +6 -6
- package/select/lib/es6/Select.js +13 -10
- package/select/lib/es6/Select.js.map +1 -1
- package/select/package.json +1 -1
- package/side-panel/lib/cjs/SidePanel.js +19 -19
- package/side-panel/lib/es6/SidePanel.js +19 -19
- 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/TimePicker.js +12 -12
- 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/cjs/style/tooltip.shadow.css +0 -5
- package/tooltip/lib/es6/Tooltip.js +9 -9
- package/tooltip/lib/es6/style/tooltip.shadow.css +0 -5
- 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/components/invalid-state-pattern/InvalidStatePattern.js +2 -2
- package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.mjs +2 -2
- package/utils/lib/enhances/focusSourceEnhance.d.ts +15 -0
- package/utils/lib/enhances/focusSourceEnhance.js +75 -0
- package/utils/lib/enhances/focusSourceEnhance.js.map +1 -0
- package/utils/lib/enhances/focusSourceEnhance.mjs +66 -0
- package/utils/lib/enhances/focusSourceEnhance.mjs.map +1 -0
- package/utils/lib/enhances/keyboardFocusEnhance.d.ts +2 -1
- package/utils/lib/enhances/keyboardFocusEnhance.js +9 -57
- package/utils/lib/enhances/keyboardFocusEnhance.js.map +1 -1
- package/utils/lib/enhances/keyboardFocusEnhance.mjs +5 -54
- package/utils/lib/enhances/keyboardFocusEnhance.mjs.map +1 -1
- package/utils/lib/focus-lock/iframeBorders.d.ts +3 -0
- package/utils/lib/focus-lock/iframeBorders.js +61 -0
- package/utils/lib/focus-lock/iframeBorders.js.map +1 -0
- package/utils/lib/focus-lock/iframeBorders.mjs +52 -0
- package/utils/lib/focus-lock/iframeBorders.mjs.map +1 -0
- package/utils/lib/injectStyle.js +1 -1
- package/utils/lib/injectStyle.mjs +1 -1
- package/utils/lib/themes/auto.css +4 -0
- package/utils/lib/themes/dark.css +2 -0
- package/utils/lib/themes/dark.json +1 -0
- package/utils/lib/themes/default.css +2 -0
- package/utils/lib/themes/default.json +1 -0
- package/utils/lib/themes/light.css +2 -0
- package/utils/lib/themes/light.json +1 -0
- package/utils/lib/use/useFocusLock.js +10 -2
- package/utils/lib/use/useFocusLock.js.map +1 -1
- package/utils/lib/use/useFocusLock.mjs +10 -2
- package/utils/lib/use/useFocusLock.mjs.map +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 +11 -11
- package/wizard/lib/es6/Wizard.js +11 -11
- package/wizard/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","_index","sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","ref","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","e","f","console","error","childrenToColumns","children","_this3","options","arguments","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","_ref4","join","toArray","columnChildren","_this$props$ref$curre","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this4","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default","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 Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\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 uniqueKey: string;\n uid?: string;\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<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\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/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\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 };\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\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()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\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 } = 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 };\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 render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).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":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","_index","sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","ref","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","e","f","console","error","childrenToColumns","children","_this3","options","arguments","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","_ref4","join","toArray","columnChildren","_this$props$ref$curre","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this4","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default","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 Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\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 uniqueKey: string;\n uid?: string;\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<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\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/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\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 };\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()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\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 } = 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 };\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 render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).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":";;;;;;;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAFA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAUA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AASA,IAAAQ,KAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,KAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,SAAA,GAAAR,sBAAA,CAAAF,OAAA;AAA8D,IAAAW,SAAA;EAAAC,UAAA;AAAA;AAAA,IAAAC,KAAA,+BAAAC,MAAA,CAAAC,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAI9D,IAAMC,qBAAsE,GAAG;EAC7EC,IAAI,EAAE,KAAK;EACXC,GAAG,EAAE;AACP,CAAC;AACD,IAAMC,oBAAmC,GAAG,MAAM;AAElD,IAAMC,SAAS,GAAGC,MAAM,CAAC,WAAW,CAAC;AAACC,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAEtC,IAAMG,SAAS,GAAG,SAAS;AAE3B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAY,EAAK;EAC7C,YAAAC,MAAA,CAAYD,IAAI,CAACE,OAAO,CAACJ,SAAS,EAAE,GAAG,CAAC;AAC1C,CAAC;AAiKD,SAASK,qBAAqBA,CAACC,OAAiB,EAAEC,IAAa,EAAE;EAC/D,IAAMC,WAAW,GAAGF,OAAO,CAAC,CAAC,CAAC;EAC9B,IAAMG,UAAU,GAAGH,OAAO,CAACA,OAAO,CAACI,MAAM,GAAG,CAAC,CAAC;EAC9C,IAAIF,WAAW,KAAK,CAACD,IAAI,IAAIA,IAAI,KAAK,MAAM,CAAC,EAAE;IAC7CC,WAAW,CAACG,UAAU,GAAG,IAAI;IAC7B,IAAIH,WAAW,CAACF,OAAO,EAAE;MACvBD,qBAAqB,CAACG,WAAW,CAACF,OAAO,EAAE,MAAM,CAAC;IACpD;EACF;EACA,IAAIG,UAAU,KAAK,CAACF,IAAI,IAAIA,IAAI,KAAK,OAAO,CAAC,EAAE;IAC7CE,UAAU,CAACG,WAAW,GAAG,IAAI;IAC7B,IAAIH,UAAU,CAACH,OAAO,EAAE;MACtBD,qBAAqB,CAACI,UAAU,CAACH,OAAO,EAAE,OAAO,CAAC;IACpD;EACF;AACF;AAAC,IAEKO,mBAAmB,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,mBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,mBAAA;EAmBvB,SAAAA,oBAAYK,KAAc,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAP,mBAAA;IAC1BM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAAE,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,cAPK,EAAE;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,4BAEXK,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBACyB,IAAI;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBACJ,IAAI;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,uBAWnD,UAACjB,IAAY,EAAEwB,KAAuB,EAAK;MAC5D,IAAMC,MAAM,GAAGR,KAAA,CAAKb,OAAO,CAACsB,IAAI,CAAC,UAACD,MAAM;QAAA,OAAKA,MAAM,CAACzB,IAAI,KAAKA,IAAI;MAAA,EAAE;MACnE,OAAO,IAAA2B,gBAAI,MAAAN,uBAAA,aAAAJ,KAAA,GAET,cAAc,EACd,CACEQ,MAAM,CAACzB,IAAI,EACXyB,MAAM,CAACG,MAAM,GAAGrC,qBAAqB,CAACkC,MAAM,CAACI,aAAa,CAAC,GAAGJ,MAAM,CAACI,aAAa,CACnF,EACDL,KAAK,CACN;IACH,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBAEe,YAAM;MACpBA,KAAA,CAAKa,WAAW,EAAE;IACpB,CAAC;IAAA,IAAAV,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,iBAEY,YAAM;MAAA,IAAAc,cAAA,EAAAC,qBAAA;MACjB,CAAAD,cAAA,GAAAd,KAAA,CAAKgB,QAAQ,cAAAF,cAAA,wBAAAC,qBAAA,GAAbD,cAAA,CAAeG,OAAO,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBG,cAAc,CAAC;QACrCC,KAAK,EAAE,SAAS;QAChBC,MAAM,EAAE,SAAS;QACjBC,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ,CAAC;IA7BC,IAAMf,SAAS,GAAG,IAAAgB,sBAAU,GAAE;IAC9B;IACAtB,KAAA,CAAKuB,aAAa,GAAGjB,SAAS,CAAC,MAAM,CAAC;IACtCN,KAAA,CAAKwB,aAAa,GAAGlB,SAAS,CAAC,MAAM,CAAC;IAAC,OAAAN,KAAA;EACzC;EAAC,IAAAyB,aAAA,aAAA/B,mBAAA;IAAAgC,GAAA;IAAAC,KAAA,EA2BD,SAAAC,YAAYzC,OAAiB,EAAE;MAAA,IAAA0C,MAAA;MAC7B,IAAMC,UAAU,GAAG3C,OAAO,CACvB4C,OAAO,CAAC,UAACvB,MAAM;QAAA,IAAAwB,qBAAA,EAAAC,sBAAA;QAAA,QAAAD,qBAAA,GAAKxB,MAAM,CAACT,KAAK,CAACmC,GAAG,CAACjB,OAAO,cAAAe,qBAAA,wBAAAC,sBAAA,GAAxBD,qBAAA,CAA0BG,aAAa,cAAAF,sBAAA,uBAAvCA,sBAAA,CAAA/B,IAAA,CAAA8B,qBAAA,CAA2C;MAAA,EAAC,CAChEI,MAAM,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,KAAKC,SAAS;MAAA,EAAgB;MAEhD,IAAIC,gBAA6C,GAAGC,OAAO,CAACC,OAAO,EAAE;MAErE,IAAIX,UAAU,CAACvC,MAAM,GAAG,CAAC,EAAE;QACzBgD,gBAAgB,GAAGC,OAAO,CAACE,GAAG,CAC5BZ,UAAU,CAACa,GAAG,CAAC,UAACC,SAAS,EAAK;UAC5B,OAAOA,SAAS,CAACC,QAAQ;QAC3B,CAAC,CAAC,CACH;MACH;MAEAN,gBAAgB,CACbO,IAAI,CAAC,YAAM;QAAA,IAAAC,SAAA,OAAAC,2BAAA,aACW7D,OAAO;UAAA8D,KAAA;QAAA;UAA5B,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAA8B;YAAA,IAAnB5C,MAAM,GAAAyC,KAAA,CAAAtB,KAAA;YACf,IAAInB,MAAM,CAAC6C,MAAM,EAAE;cAAA,IAAAC,qBAAA;cACjB,CAAAA,qBAAA,GAAAzB,MAAI,CAACb,QAAQ,CAACC,OAAO,cAAAqC,qBAAA,uBAArBA,qBAAA,CAAuBpF,KAAK,CAACqF,WAAW,CAAC/C,MAAM,CAACgD,QAAQ,KAAAxE,MAAA,CAAKwB,MAAM,CAACiD,KAAK,QAAK;YAChF;UACF;QAAC,SAAAC,GAAA;UAAAX,SAAA,CAAAY,CAAA,CAAAD,GAAA;QAAA;UAAAX,SAAA,CAAAa,CAAA;QAAA;MACH,CAAC,CAAC,SACI,CAAC,UAACF,GAAG,EAAK;QACdG,OAAO,CAACC,KAAK,CAACJ,GAAG,CAAC;MACpB,CAAC,CAAC;IACN;EAAC;IAAAhC,GAAA;IAAAC,KAAA,EAED,SAAAoC,kBACEC,QAAyB,EAEzB;MAAA,IAAAC,MAAA;MAAA,IADAC,OAAqC,GAAAC,SAAA,CAAA5E,MAAA,QAAA4E,SAAA,QAAA7B,SAAA,GAAA6B,SAAA,MAAG;QAAEC,KAAK,EAAE9B;MAAU,CAAC;MAE5D,IAAQ+B,IAAI,GAAK,IAAI,CAACC,OAAO,CAArBD,IAAI;MACZ,IAAME,eAAyB,GAAG,EAAE;MACpClE,iBAAK,CAACmE,QAAQ,CAACC,OAAO,CAACT,QAAQ,EAAE,UAACU,KAAK,EAAK;QAAA,IAAAC,aAAA;QAC1C,IAAI,eAACtE,iBAAK,CAACuE,cAAc,CAACF,KAAK,CAAC,EAAE;QAClC,IAAIA,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACC,MAAM,EAAE;QAE3C,IAAAC,KAAA,GAUIN,KAAK,CAAC3E,KAAK;UATbiE,QAAQ,GAAAgB,KAAA,CAARhB,QAAQ;UACRjF,IAAI,GAAAiG,KAAA,CAAJjG,IAAI;UAAAkG,WAAA,GAAAD,KAAA,CACJZ,KAAK;UAALA,KAAK,GAAAa,WAAA,cAAGf,OAAO,CAACE,KAAK,GAAAa,WAAA;UACrBC,SAAS,GAAAF,KAAA,CAATE,SAAS;UACTC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;UACRC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;UACJC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;UACR1E,MAAM,GAAAqE,KAAA,CAANrE,MAAM;UACHZ,KAAK,OAAAuF,yBAAA,aAAAN,KAAA,EAAAhH,SAAA;QAEV,IAAMuH,kBAAkB,GAAGhB,eAAe,CAACA,eAAe,CAAChF,MAAM,GAAG,CAAC,CAAC;QACtE,IAAMiG,OAAO,GAAG,CAACzG,IAAI;QACrB,IAAII,OAA6B;QAEjC,IAAIqG,OAAO,EAAE;UACXrG,OAAO,GAAG8E,MAAI,CAACF,iBAAiB,CAACC,QAAQ,EAAE;YAAEI,KAAK,EAALA;UAAM,CAAC,CAAC;UACrDzD,MAAM,GAAG,OAAOA,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGxB,OAAO,CAACsG,IAAI,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC/E,MAAM;UAAA,EAAC;UAE7E,IAAI0E,QAAQ,EAAE;YACZnG,qBAAqB,CAACC,OAAO,CAAC;UAChC;UAEAJ,IAAI,GAAG,IAAA4G,qBAAc,EAACxG,OAAO,CAAC,CAC3BwD,GAAG,CAAC,UAAAiD,KAAA;YAAA,IAAG7G,IAAI,GAAA6G,KAAA,CAAJ7G,IAAI;YAAA,OAAOA,IAAI;UAAA,EAAC,CACvB8G,IAAI,CAAC,GAAG,CAAC;UACZ,IAAI,CAAC1G,OAAO,CAACI,MAAM,EAAE;UACrByE,QAAQ,GAAG3D,iBAAK,CAACmE,QAAQ,CAACsB,OAAO,CAAC9B,QAAQ,CAAC,CAAC5B,MAAM,CAChD,UAACsC,KAAK;YAAA,OAAK,EAAE,cAAArE,iBAAK,CAACuE,cAAc,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACC,MAAM,CAAC;UAAA,EACnF;QACH;QAEA,IAAMvE,MAAM,GAAGyD,MAAI,CAAC9E,OAAO,CAACsB,IAAI,CAAC,UAACD,MAAM;UAAA,OAAKA,MAAM,CAACzB,IAAI,KAAKA,IAAI;QAAA,EAAC;QAClE,IAAMgH,cAAc,GAAG;UACrB,IAAItC,KAAKA,CAAA,EAAG;YAAA,IAAAuC,qBAAA;YACV;YACA,OAAO,EAAAA,qBAAA,OAAI,CAACjG,KAAK,CAACmC,GAAG,CAACjB,OAAO,cAAA+E,qBAAA,uBAAtBA,qBAAA,CAAwBC,qBAAqB,EAAE,CAACxC,KAAK,KAAI,CAAC;UACnE,CAAC;UACD1E,IAAI,EAAJA,IAAI;UACJyE,QAAQ,EAAE1E,oBAAoB,CAACC,IAAI,CAAC;UACpCsE,MAAM,EAAE+B,IAAI,KAAK,SAAS;UAC1BhB,KAAK,EAALA,KAAK;UACLc,SAAS,EAATA,SAAS;UACTvE,MAAM,EAAE,OAAOA,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAG0D,IAAI,CAAC,CAAC,CAAC,KAAKtF,IAAI;UAC/DoG,QAAQ,EAARA,QAAQ;UACR3F,UAAU,EAAE,CAAA+F,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAE9F,WAAW,MAAK,IAAI,GAAG,KAAK,GAAG4F,QAAQ;UACvE5F,WAAW,EAAE4F,QAAQ;UACrBzE,aAAa,EACXyD,IAAI,CAAC,CAAC,CAAC,KAAKtF,IAAI,GACZsF,IAAI,CAAC,CAAC,CAAC,GACP,CAAA7D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,aAAa,MACpB,OAAOuE,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAG1G,oBAAoB,CAAC;UACtEsB,KAAK,MAAAmG,cAAA,iBAAAA,cAAA;YACHnH,IAAI,EAAJA,IAAI;YACJqG,IAAI,EAAEA,IAAI,KAAK,SAAS,GAAG9C,SAAS,GAAG8C;UAAI,GACxCrF,KAAK;YACR;YACAoG,UAAU,EAAEzB,KAAK,CAACxC,GAAG;YACrB8B,QAAQ,EAARA,QAAQ;YACR9B,GAAG,EAAE,CAAA1B,MAAM,aAANA,MAAM,wBAAAmE,aAAA,GAANnE,MAAM,CAAET,KAAK,cAAA4E,aAAA,uBAAbA,aAAA,CAAezC,GAAG,kBAAI7B,iBAAK,CAACC,SAAS;UAAE,EAC7C;UACD8F,aAAa,EAAE;QACjB,CAAsB;QAEtB,IAAIjH,OAAO,EAAE;UACX4G,cAAc,CAAC5G,OAAO,GAAGA,OAAO;UAChCA,OAAO,CAACsF,OAAO,CAAC,UAACjE,MAAM;YAAA,OAAKA,MAAM,CAAC4F,aAAa,CAACC,OAAO,CAACN,cAAc,CAAC;UAAA,EAAC;QAC3E;QACAxB,eAAe,CAAC+B,IAAI,CAACP,cAAc,CAAC;MACtC,CAAC,CAAC;MACF,OAAOxB,eAAe;IACxB;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAA4E,aAAaxG,KAAkB,EAAE;MAC/B,IAAAyG,aAAA,GAAqB,IAAI,CAAClC,OAAO;QAAzBmC,GAAG,GAAAD,aAAA,CAAHC,GAAG;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;MAChB,IAAMnC,eAAe,GAAG,IAAI,CAACR,iBAAiB,CAAChE,KAAK,CAACiE,QAAQ,CAAC;MAE9D,IAAI,CAAC7E,OAAO,GAAG,IAAAwG,qBAAc,EAACpB,eAAe,CAAC;MAC9C,OAAO;QACLoC,YAAY,EAAE,IAAAC,kCAAoB,EAAC,IAAI,CAACC,gBAAgB,EAAE,IAAI,CAACC,UAAU,CAAC;QAC1EvC,eAAe,EAAfA,eAAe;QACfkC,GAAG,EAAHA,GAAG;QACHM,QAAQ,EAAE,IAAI,CAACC,aAAa;QAC5BC,UAAU,EAAE,IAAI,CAACzF,aAAa;QAC9BkF,GAAG,EAAHA;MACF,CAAC;IACH;EAAC;IAAAhF,GAAA;IAAAC,KAAA,EAED,SAAAuF,aAAanH,KAAkB,EAAE;MAC/B,IAAAoH,cAAA,GAAsC,IAAI,CAAC7C,OAAO;QAA1C8C,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEX,GAAG,GAAAU,cAAA,CAAHV,GAAG;QAAEY,SAAS,GAAAF,cAAA,CAATE,SAAS;QAAEX,GAAG,GAAAS,cAAA,CAAHT,GAAG;MACjC,IAAMY,eAAuD,GAAG,CAAC,CAAC;MAClE,IAAMC,cAA4B,GAAG,EAAE;MAEvClH,iBAAK,CAACmE,QAAQ,CAACC,OAAO,CAAC1E,KAAK,CAACiE,QAAQ,EAAE,UAACU,KAAK,EAAK;QAChD,kBAAIrE,iBAAK,CAACuE,cAAc,CAACF,KAAK,CAAC,EAAE;UAC/B,IAAA8C,KAAA,GAAqC9C,KAAK,CAAC3E,KAAK;YAAxChB,IAAI,GAAAyI,KAAA,CAAJzI,IAAI;YAAEiF,QAAQ,GAAAwD,KAAA,CAARxD,QAAQ;YAAKyD,KAAK,OAAAnC,yBAAA,aAAAkC,KAAA,EAAAvJ,UAAA;UAIhC,IAAIyG,KAAK,CAACG,IAAI,KAAKC,eAAe,CAAC4C,IAAI,IAAI3I,IAAI,EAAE;YAC/CA,IAAI,CAAC4I,KAAK,CAAC,GAAG,CAAC,CAAClD,OAAO,CAAC,UAAC1F,IAAI,EAAK;cAChCuI,eAAe,CAACvI,IAAI,CAAC,GAAGuI,eAAe,CAACvI,IAAI,CAAC,IAAI,EAAE;cACnDuI,eAAe,CAACvI,IAAI,CAAC,CAACuH,IAAI,KAAAJ,cAAA,iBAAAA,cAAA,iBACrBuB,KAAK;gBACRG,mBAAmB,EAAE5D;cAAQ,GAC7B;YACJ,CAAC,CAAC;UACJ;UACA,IAAIU,KAAK,CAACG,IAAI,KAAKC,eAAe,CAAC+C,GAAG,EAAE;YACtCN,cAAc,CAACjB,IAAI,KAAAJ,cAAA,iBAAAA,cAAA,iBACduB,KAAK;cACRG,mBAAmB,EAAE5D;YAAQ,GAC7B;UACJ;QACF;MACF,CAAC,CAAC;MAEF,OAAO;QACL7E,OAAO,EAAE,IAAI,CAACA,OAAO;QACrB2I,IAAI,EAAE,IAAI,CAACC,UAAU,CAACX,IAAI,EAAEE,eAAe,CAAC;QAC5CD,SAAS,EAATA,SAAS;QACTZ,GAAG,EAAHA,GAAG;QACHc,cAAc,EAAdA,cAAc;QACdN,UAAU,EAAE,IAAI,CAAC1F,aAAa;QAC9BmF,GAAG,EAAHA;MACF,CAAC;IACH;EAAC;IAAAhF,GAAA;IAAAC,KAAA,EAED,SAAAoG,WAAWX,IAAe,EAAEE,eAAuD,EAAE;MAAA,IAAAU,MAAA;MACnF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIb,IAAe,EAAEc,OAAuC;QAAA,OACzEd,IAAI,CAACzE,GAAG,CAAC,UAACwF,GAAG,EAAK;UAChB,IAAMC,WAKL,GAAG,CAAC,CAAC;UACN,IAAMC,sBAAsD,GAAG,CAAC,CAAC;UACjE,KAAK,IAAMC,MAAM,IAAIH,GAAG,EAAE;YACxB,IAAMI,WAAW,GAAGD,MAAM,CAACX,KAAK,CAAC,GAAG,CAAC;YACrC,IAAIY,WAAW,CAAChJ,MAAM,IAAI,CAAC,EAAE;cAAA,IAAAiJ,UAAA,OAAAxF,2BAAA,aACNuF,WAAW;gBAAAE,MAAA;cAAA;gBAAhC,KAAAD,UAAA,CAAAtF,CAAA,MAAAuF,MAAA,GAAAD,UAAA,CAAArF,CAAA,IAAAC,IAAA,GAAkC;kBAAA,IAAvB5C,MAAM,GAAAiI,MAAA,CAAA9G,KAAA;kBACfyG,WAAW,CAAC5H,MAAM,CAAC,GAAG;oBACpBkI,cAAc,EAAEH,WAAW;oBAC3BI,SAAS,EAAER,GAAG,CAACG,MAAM;kBACvB,CAAC;kBACDD,sBAAsB,CAAC7H,MAAM,CAAC,GAAG,IAAI;gBACvC;cAAC,SAAAkD,GAAA;gBAAA8E,UAAA,CAAA7E,CAAA,CAAAD,GAAA;cAAA;gBAAA8E,UAAA,CAAA5E,CAAA;cAAA;YACH,CAAC,MAAM;cACLyE,sBAAsB,CAACC,MAAM,CAAC,GAAG,IAAI;YACvC;UACF;UAEA,IAAMM,SAAS,GAAGT,GAAG,CAACzJ,SAAS,CAAC,IAAI,EAAE;UACtC,IAAMmK,gBAAgB,GAAGC,MAAM,CAACC,WAAW,CACzCH,SAAS,CACN7G,OAAO,CAAC,UAACiH,MAAM;YAAA,OAAKF,MAAM,CAACG,IAAI,CAACD,MAAM,CAAC;UAAA,EAAC,CACxCjH,OAAO,CAAC,UAACL,GAAG;YAAA,OAAKA,GAAG,CAACiG,KAAK,CAAC,GAAG,CAAC;UAAA,EAAC,CAChChF,GAAG,CAAC,UAACjB,GAAG;YAAA,OAAK,CAACA,GAAG,EAAE,IAAI,CAAC;UAAA,EAAC,CAC7B;UAED,IAAI8D,OAAO,GAAG,KAAK;UAEnB,IAAM0D,KAAkB,GAAGlB,MAAI,CAAC7I,OAAO,CACpCwD,GAAG,CAAC,UAACnC,MAAM,EAAK;YACf,IAAI4H,WAAW,CAAC5H,MAAM,CAACzB,IAAI,CAAC,EAAE;cAC5B,IAAAoK,qBAAA,GAAsCf,WAAW,CAAC5H,MAAM,CAACzB,IAAI,CAAC;gBAAtD2J,cAAc,GAAAS,qBAAA,CAAdT,cAAc;gBAAEC,SAAS,GAAAQ,qBAAA,CAATR,SAAS;cACjC,IAAID,cAAc,CAAC,CAAC,CAAC,KAAKlI,MAAM,CAACzB,IAAI,EAAE;gBACrC,OAAO;kBACLA,IAAI,EAAE2J,cAAc,CAAC7C,IAAI,CAAC,GAAG,CAAC;kBAC9BuD,MAAM,EAAEV,cAAc,CAAC/F,GAAG,CAAC7D,oBAAoB,CAAC;kBAChDsF,KAAK,EAAE5D,MAAM,CAAC4D,KAAK;kBACnBgD,IAAI,EAAEuB,SAAS;kBACfrB,eAAe,EAAEA,eAAe,CAAC9G,MAAM,CAACzB,IAAI,CAAC,IAAI;gBACnD,CAAC;cACH;YACF,CAAC,MAAM,IAAIyB,MAAM,CAACzB,IAAI,IAAIoJ,GAAG,EAAE;cAC7B,OAAO;gBACLpJ,IAAI,EAAEyB,MAAM,CAACzB,IAAI;gBACjBqK,MAAM,EAAE5I,MAAM,CAACgD,QAAQ;gBACvBY,KAAK,EAAE5D,MAAM,CAAC4D,KAAK;gBACnBgD,IAAI,EAAEe,GAAG,CAAC3H,MAAM,CAACzB,IAAI,CAAC;gBACtBuI,eAAe,EAAEA,eAAe,CAAC9G,MAAM,CAACzB,IAAI,CAAC,IAAI;cACnD,CAAC;YACH,CAAC,MAAM,IAAI,CAACyG,OAAO,IAAIqD,gBAAgB,CAACrI,MAAM,CAACzB,IAAI,CAAC,EAAE;cACpD;cACAyG,OAAO,GAAG,IAAI;cACd,OAAOyC,SAAS,CAACW,SAAS,MAAA1C,cAAA,iBAAAA,cAAA,iBACrBgC,OAAO,GACPG,sBAAsB,EACzB;YACJ,CAAC,MAAM,IAAI,CAACH,OAAO,CAAC1H,MAAM,CAACzB,IAAI,CAAC,IAAI,CAAC8J,gBAAgB,CAACrI,MAAM,CAACzB,IAAI,CAAC,EAAE;cAClE;cACA,OAAO;gBACLA,IAAI,EAAEyB,MAAM,CAACzB,IAAI;gBACjBqK,MAAM,EAAE5I,MAAM,CAACgD,QAAQ;gBACvBY,KAAK,EAAE5D,MAAM,CAAC4D,KAAK;gBACnBgD,IAAI,EAAE,IAAI;gBACVE,eAAe,EAAEA,eAAe,CAAC9G,MAAM,CAACzB,IAAI,CAAC,IAAI;cACnD,CAAC;YACH;UACF,CAAC,CAAC,CACDqD,MAAM,CAAC,UAAC5B,MAAM;YAAA,OAAKA,MAAM;UAAA,EAAC,CAC1BmC,GAAG,CAAC,UAACnC,MAAM;YAAA,OAAKA,MAAM;UAAA,CAAC,CAAC;UAE3B0I,KAAK,CAACG,WAAW,GAAGlB,GAAG;UACvB,OAAOe,KAAK;QACd,CAAC,CAAC;MAAA;MAEJ,OAAOjB,SAAS,CAACb,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5B;EAAC;IAAA1F,GAAA;IAAAC,KAAA,EAED,SAAA2H,kBAAA,EAAoB;MAClB,IAAI,CAAC1H,WAAW,CAAC,IAAI,CAACzC,OAAO,CAAC;IAChC;EAAC;IAAAuC,GAAA;IAAAC,KAAA,EAED,SAAA4H,mBAAA,EAAqB;MACnB,IAAI,CAAC3H,WAAW,CAAC,IAAI,CAACzC,OAAO,CAAC;IAChC;EAAC;IAAAuC,GAAA;IAAAC,KAAA,EAED,SAAA6H,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAnF,OAAA;QAAAoF,KAAA;MACP,IAAMC,UAAU,GAKJC,YAAG;MAJf,IAAAC,cAAA,GAAmC,IAAI,CAACvF,OAAO;QAAvCE,QAAQ,GAAAqF,cAAA,CAARrF,QAAQ;QAAEsF,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAE1C,IAAI,GAAAyC,cAAA,CAAJzC,IAAI;MAE9B,OAAAsC,KAAA,GAAO,IAAAtL,aAAO,EAAC0L,MAAM,CAAC,eACpBxM,MAAA,YAAAyM,aAAA,CAACJ,UAAU,EAAAD,KAAA,CAAAM,EAAA,mBAAA9D,cAAA,qBAAA/I,KAAA,CAAA8M,WAAA;QAAA,kBAEO,CAAC,MAAM,CAAC;QAAA,OACnB,IAAI,CAACjJ,QAAQ;QAAA,QACb,OAAO;QAAA,iBACG,CAACoG,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,EAAE7H;MAAM,GAAAkK,IAAA,kBAElCnM,MAAA,YAAAyM,aAAA,CAACvF,QAAQ,EAAAkF,KAAA,CAAAM,EAAA,iBAAG,CACD;IAEjB;EAAC;EAAA,OAAAtK,mBAAA;AAAA,EAtU+BwK,eAAS;AAAA,IAAA/J,gBAAA,aAArCT,mBAAmB,iBACF,iBAAiB;AAAA,IAAAS,gBAAA,aADlCT,mBAAmB,WAGRxB,KAAK;AAAA,IAAAiC,gBAAA,aAHhBT,mBAAmB,aAIN,CAAC,IAAAyK,oBAAmB,GAAE,CAAC;AAAA,IAAAhK,gBAAA,aAJpCT,mBAAmB,kBAMD;EACpB+G,GAAG,EAAE,SAAS;EACdY,SAAS,EAAE,IAAI;EACfhD,IAAI,EAAE,EAAE;EACR+C,IAAI,EAAE;AACR,CAAC;AAmUH,SAASgD,mBAAmBA,CAAA,EAAG;EAC7B,OAAO,IAAI;AACb;AAqDA,IAAMtF,eAAe,GAAG,IAAAuF,gBAAe,EACrC3K,mBAAmB,EACnB;EACE4K,IAAI,EAAJA,gBAAI;EACJC,IAAI,EAAJA,gBAAI;EACJxF,MAAM,EAAEqF,mBAAmB;EAC3B1C,IAAI,EAAE0C,mBAAmB;EACzBvC,GAAG,EAAEuC;AACP,CAAC,EACD,CAAC,CAAC,CAOH;AAAC,IAAAI,QAAA,GAGa1F,eAAe;AAAAlG,OAAA,cAAA4L,QAAA;AAEvB,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,OAKoB;EAAA,OACgCA,OAAO;AAAA,CAAO;AAAC9L,OAAA,CAAA6L,aAAA,GAAAA,aAAA;AAE9D,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BD,OAKoB;EAAA,OACmCA,OAAO;AAAA,CAAO;AAAC9L,OAAA,CAAA+L,gBAAA,GAAAA,gBAAA;AAEjE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BF,OAKoB;EAAA,OACoCA,OAAO;AAAA,CAAO;AAAC9L,OAAA,CAAAgM,iBAAA,GAAAA,iBAAA"}
|
@@ -23,7 +23,6 @@ var _assignProps2 = require("intergalactic/utils/lib/assignProps");
|
|
23
23
|
var _utils = require("./utils");
|
24
24
|
var _logger = _interopRequireDefault(require("intergalactic/utils/lib/logger"));
|
25
25
|
var _ref4 = require("intergalactic/utils/lib/ref");
|
26
|
-
var _cssToIntDefault = _interopRequireDefault(require("intergalactic/utils/lib/cssToIntDefault"));
|
27
26
|
var SORT_ICON_WIDTH = 20;
|
28
27
|
exports.SORT_ICON_WIDTH = SORT_ICON_WIDTH;
|
29
28
|
var SORTING_ICON = {
|
@@ -37,6 +36,14 @@ var ariaSort = {
|
|
37
36
|
var displayContents = {
|
38
37
|
display: 'contents'
|
39
38
|
};
|
39
|
+
function cssToIntDefault(value) {
|
40
|
+
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
41
|
+
var result = parseFloat(value);
|
42
|
+
if (Number.isNaN(result)) {
|
43
|
+
result = defaultValue;
|
44
|
+
}
|
45
|
+
return Math.round(result);
|
46
|
+
}
|
40
47
|
var Head = /*#__PURE__*/function (_Component) {
|
41
48
|
(0, _inherits2["default"])(Head, _Component);
|
42
49
|
var _super = (0, _createSuper2["default"])(Head);
|
@@ -77,59 +84,121 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
77
84
|
(0, _ref4.setRef)(column.props.forwardRef, ref);
|
78
85
|
}
|
79
86
|
if (ref && ref.getAttribute('scope') === 'col') {
|
80
|
-
_this.
|
87
|
+
if (!_this.defaultWidths.has(ref)) {
|
88
|
+
var computedStyle = window.getComputedStyle(ref);
|
89
|
+
_this.defaultWidths.set(ref, {
|
90
|
+
minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),
|
91
|
+
computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),
|
92
|
+
maxWidth: cssToIntDefault(computedStyle.getPropertyValue('max-width')) || null,
|
93
|
+
useForRecalculation: Boolean(column.props.sortSizeRecalculation)
|
94
|
+
});
|
95
|
+
}
|
81
96
|
}
|
82
97
|
};
|
83
98
|
});
|
84
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
99
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxNodeWidth", function (diff, exceptNode) {
|
100
|
+
var lastMaxWidth = 0;
|
101
|
+
var node = null;
|
102
|
+
var recalculatedNodes = [];
|
103
|
+
_this.defaultWidths.forEach(function (value, key) {
|
104
|
+
if (value.computedWidth > lastMaxWidth && key !== exceptNode) {
|
105
|
+
node = key;
|
106
|
+
lastMaxWidth = value.computedWidth;
|
107
|
+
}
|
108
|
+
if (value.useForRecalculation) {
|
109
|
+
recalculatedNodes.push(key);
|
110
|
+
}
|
111
|
+
});
|
112
|
+
var setNodeMinWidth = function setNodeMinWidth(node, diff) {
|
93
113
|
var _this$defaultWidths$g, _this$defaultWidths$g2;
|
94
|
-
var
|
95
|
-
var
|
96
|
-
|
97
|
-
|
98
|
-
|
114
|
+
var defaultNodeWidth = (_this$defaultWidths$g = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g === void 0 ? void 0 : _this$defaultWidths$g.computedWidth;
|
115
|
+
var defaultNodeMinWidth = (_this$defaultWidths$g2 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g2 === void 0 ? void 0 : _this$defaultWidths$g2.minWidth;
|
116
|
+
if (defaultNodeWidth) {
|
117
|
+
var maxWidth = defaultNodeWidth - diff;
|
118
|
+
node.style.setProperty('max-width', "".concat(maxWidth, "px"));
|
119
|
+
if (defaultNodeMinWidth) {
|
120
|
+
node.style.setProperty('min-width', "min(".concat(maxWidth, "px, ").concat(defaultNodeMinWidth, "px)"));
|
99
121
|
}
|
122
|
+
}
|
123
|
+
};
|
124
|
+
if (recalculatedNodes.length > 0) {
|
125
|
+
var diffPart = diff / recalculatedNodes.length;
|
126
|
+
recalculatedNodes.forEach(function (node) {
|
127
|
+
setNodeMinWidth(node, diffPart);
|
100
128
|
});
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
129
|
+
} else if (node !== null) {
|
130
|
+
setNodeMinWidth(node, diff);
|
131
|
+
}
|
132
|
+
});
|
133
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "backToColumnDefaults", function (node) {
|
134
|
+
var _this$defaultWidths$g3, _this$defaultWidths$g4;
|
135
|
+
var defaultNodeMinWidth = (_this$defaultWidths$g3 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g3 === void 0 ? void 0 : _this$defaultWidths$g3.minWidth;
|
136
|
+
var defaultNodeMaxWidth = (_this$defaultWidths$g4 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g4 === void 0 ? void 0 : _this$defaultWidths$g4.maxWidth;
|
137
|
+
node.style.setProperty('min-width', defaultNodeMinWidth + 'px');
|
138
|
+
if (defaultNodeMaxWidth) {
|
139
|
+
node.style.setProperty('max-width', defaultNodeMaxWidth + 'px');
|
140
|
+
} else {
|
141
|
+
node.style.removeProperty('max-width');
|
142
|
+
}
|
143
|
+
});
|
144
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "calculateActiveColumnMinWidth", function (node) {
|
145
|
+
var _this$defaultWidths$g5, _this$defaultWidths$g6;
|
146
|
+
var clonedColumn = document.createElement('div');
|
147
|
+
var computedStyle = window.getComputedStyle(node);
|
148
|
+
node.childNodes.forEach(function (node) {
|
149
|
+
if (!_this.sortWrapperRefs.get(node)) {
|
150
|
+
clonedColumn.append(node.cloneNode(true));
|
151
|
+
}
|
152
|
+
});
|
153
|
+
clonedColumn.style.setProperty('visibility', 'hidden', 'important');
|
154
|
+
var styles = ['display', 'flex', 'margin', 'padding', 'background', 'font-style', 'font-width', 'font-size', 'font-weight'];
|
155
|
+
styles.forEach(function (key) {
|
156
|
+
clonedColumn.style.setProperty(key, computedStyle.getPropertyValue(key), computedStyle.getPropertyPriority(key));
|
157
|
+
});
|
158
|
+
clonedColumn.style.setProperty('width', 'fit-content', 'important');
|
159
|
+
document.body.appendChild(clonedColumn);
|
160
|
+
var computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);
|
161
|
+
document.body.removeChild(clonedColumn);
|
162
|
+
var defaultNodeWidth = (_this$defaultWidths$g5 = (_this$defaultWidths$g6 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g6 === void 0 ? void 0 : _this$defaultWidths$g6.computedWidth) !== null && _this$defaultWidths$g5 !== void 0 ? _this$defaultWidths$g5 : 0;
|
163
|
+
if (computedWidth >= defaultNodeWidth) {
|
164
|
+
node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');
|
165
|
+
_this.changeMaxNodeWidth(SORT_ICON_WIDTH, node);
|
166
|
+
} else {
|
167
|
+
var freeSpace = defaultNodeWidth - computedWidth;
|
168
|
+
if (freeSpace < SORT_ICON_WIDTH) {
|
169
|
+
node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');
|
170
|
+
_this.changeMaxNodeWidth(freeSpace, node);
|
118
171
|
}
|
119
|
-
} else if (_this.defaultWidths.has(node)) {
|
120
|
-
var _this$defaultWidths$g3;
|
121
|
-
var defaultNodeMinWidth = (_this$defaultWidths$g3 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g3 === void 0 ? void 0 : _this$defaultWidths$g3.minWidth;
|
122
|
-
node.style.setProperty('min-width', defaultNodeMinWidth + 'px');
|
123
172
|
}
|
124
173
|
});
|
125
174
|
return _this;
|
126
175
|
}
|
127
176
|
(0, _createClass2["default"])(Head, [{
|
177
|
+
key: "componentDidUpdate",
|
178
|
+
value: function componentDidUpdate() {
|
179
|
+
var _this2 = this;
|
180
|
+
var activeColumn = null;
|
181
|
+
this.columns.forEach(function (column) {
|
182
|
+
var _column$props = column.props,
|
183
|
+
changeSortSize = _column$props.changeSortSize,
|
184
|
+
ref = _column$props.ref;
|
185
|
+
if (column.active && changeSortSize && ref.current) {
|
186
|
+
activeColumn = ref.current;
|
187
|
+
}
|
188
|
+
if (ref.current) {
|
189
|
+
_this2.backToColumnDefaults(ref.current);
|
190
|
+
}
|
191
|
+
});
|
192
|
+
if (activeColumn) {
|
193
|
+
this.calculateActiveColumnMinWidth(activeColumn);
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}, {
|
128
197
|
key: "renderColumns",
|
129
198
|
value: function renderColumns(columns, width) {
|
130
|
-
var
|
199
|
+
var _this3 = this;
|
131
200
|
return columns.map(function (column) {
|
132
|
-
return
|
201
|
+
return _this3.renderColumn(column, width);
|
133
202
|
});
|
134
203
|
}
|
135
204
|
}, {
|
@@ -152,6 +221,7 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
152
221
|
_getFixedStyle2 = (0, _slicedToArray2["default"])(_getFixedStyle, 2),
|
153
222
|
name = _getFixedStyle2[0],
|
154
223
|
value = _getFixedStyle2[1];
|
224
|
+
_logger["default"].warn(column.props.wMax && column.props.sortSizeRecalculation, "You can't use 'sortSizeRecalculation' property with 'wMax' property", "".concat(this.asProps['data-ui-name'] || Head.displayName, "_column_").concat(column.name));
|
155
225
|
var style = (0, _objectSpread2["default"])({
|
156
226
|
flexBasis: column.props.flex === undefined && "".concat(width * cSize, "%")
|
157
227
|
}, column.props.style);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","_cssToIntDefault","SORT_ICON_WIDTH","exports","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","displayContents","display","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","name","event","asProps","$onSortClick","key","preventDefault","active","ref","sortWrapperRefs","set","column","setRef","props","forwardRef","getAttribute","calculateMinWidth","node","defaultWidths","has","wMin","wMax","w","computedStyle","window","getComputedStyle","minWidth","cssToIntDefault","getPropertyValue","computedWidth","_this$defaultWidths$g","_this$defaultWidths$g2","clonedColumn","document","createElement","childNodes","forEach","get","append","cloneNode","style","setProperty","styles","getPropertyPriority","body","appendChild","Math","ceil","getBoundingClientRect","width","removeChild","defaultNodeWidth","freeSpace","_this$defaultWidths$g3","defaultNodeMinWidth","_createClass2","value","renderColumns","columns","_this2","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","_objectSpread2","flexBasis","flex","setVar","varWidth","sstyled","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","role","tabIndex","zIndex","assignProps","Boolean","Bar","orientation","origin","Component","_default"],"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 type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport cssToIntDefault from '@semcore/utils/lib/cssToIntDefault';\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\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};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultWidths = new Map<Node, { minWidth: number; computedWidth: number }>();\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) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n this.calculateMinWidth(ref, column);\n }\n };\n\n calculateMinWidth = (node: HTMLElement, column: Column) => {\n if (\n !this.defaultWidths.has(node) &&\n (column.props.wMin || column.props.wMax || column.props.w)\n ) {\n const computedStyle = window.getComputedStyle(node);\n\n this.defaultWidths.set(node, {\n minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),\n computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),\n });\n }\n\n if (column.active) {\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 } 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 }\n }\n } else if (this.defaultWidths.has(node)) {\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n\n node.style.setProperty('min-width', defaultNodeMinWidth + 'px');\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 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={column.sortable ? 0 : undefined}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column)}\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 )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role='columnheader'\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 } = 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' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","SORT_ICON_WIDTH","exports","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","displayContents","display","cssToIntDefault","value","defaultValue","arguments","length","undefined","result","parseFloat","Number","isNaN","Math","round","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","name","event","asProps","$onSortClick","key","preventDefault","active","ref","sortWrapperRefs","set","column","setRef","props","forwardRef","getAttribute","defaultWidths","has","computedStyle","window","getComputedStyle","minWidth","getPropertyValue","computedWidth","maxWidth","useForRecalculation","Boolean","sortSizeRecalculation","diff","exceptNode","lastMaxWidth","node","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","_createClass2","componentDidUpdate","_this2","activeColumn","columns","_column$props","changeSortSize","current","backToColumnDefaults","calculateActiveColumnMinWidth","renderColumns","_this3","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","logger","warn","wMax","displayName","_objectSpread2","flexBasis","flex","setVar","varWidth","sstyled","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","Container","role","tabIndex","zIndex","assignProps","Bar","orientation","origin","Component","_default"],"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 type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\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};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\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 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) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, 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 logger.warn(\n column.props.wMax && column.props.sortSizeRecalculation,\n \"You can't use 'sortSizeRecalculation' property with 'wMax' property\",\n `${this.asProps['data-ui-name'] || Head.displayName}_column_${column.name}`,\n );\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 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={column.sortable ? 0 : undefined}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column)}\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 )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role='columnheader'\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 } = 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' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\nimport { FlexProps } from '@semcore/flex-box';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & FlexProps &\n Partial<{\n flex: Property.Flex;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: Property.BorderLeft;\n borderRight: Property.BorderLeft;\n }> &\n Props;\n columns: Column[];\n parentColumns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
|
1
|
+
{"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\nimport { FlexProps } from '@semcore/flex-box';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & FlexProps &\n Partial<{\n flex: Property.Flex;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: Property.BorderLeft;\n borderRight: Property.BorderLeft;\n changeSortSize?: boolean;\n sortSizeRecalculation?: boolean;\n }> &\n Props;\n columns: Column[];\n parentColumns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
|
@@ -24,11 +24,10 @@ import trottle from 'intergalactic/utils/lib/rafTrottle';
|
|
24
24
|
import { forkRef } from 'intergalactic/utils/lib/ref';
|
25
25
|
import canUseDOM from 'intergalactic/utils/lib/canUseDOM';
|
26
26
|
import { SORT_ICON_WIDTH } from './Head';
|
27
|
-
import cssToIntDefault from 'intergalactic/utils/lib/cssToIntDefault';
|
28
27
|
/*__reshadow-styles__:"./style/scroll-shadows.shadow.css"*/
|
29
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
30
|
-
"__SShadowHorizontal": "
|
31
|
-
"__SShadowVertical": "
|
28
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_3384d_gg_:after,.___SShadowHorizontal_3384d_gg_:before,.___SShadowVertical_3384d_gg_:after,.___SShadowVertical_3384d_gg_:before{z-index:1}" /*__inner_css_end__*/, "3384d_gg_") /*__reshadow_css_end__*/, {
|
29
|
+
"__SShadowHorizontal": "___SShadowHorizontal_3384d_gg_",
|
30
|
+
"__SShadowVertical": "___SShadowVertical_3384d_gg_"
|
32
31
|
});
|
33
32
|
var testEnv = process.env.NODE_ENV === 'test';
|
34
33
|
var getCellsByColumn = function getCellsByColumn(cells) {
|
@@ -133,7 +132,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
133
132
|
"data-ui-name": 'group-cell'
|
134
133
|
}), _this2.renderRows(cell, true));
|
135
134
|
} else {
|
136
|
-
var _ref3, _column$parentColumns, _column$props, _column$props2, _column$props3, _column$props4;
|
135
|
+
var _ref3, _column$parentColumns, _column$props, _column$props$ref$cur, _column$props2, _column$props2$ref$cu, _column$props3, _column$props4;
|
137
136
|
var nameParts = cell.name.split('/');
|
138
137
|
var firstName = nameParts[0];
|
139
138
|
var lastName = nameParts[nameParts.length - 1];
|
@@ -156,8 +155,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
156
155
|
var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (name) {
|
157
156
|
return "var(".concat(name, ")");
|
158
157
|
});
|
159
|
-
var columnWMin = column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.
|
160
|
-
var columnWMax = column === null || column === void 0 ? void 0 : (_column$props2 = column.props) === null || _column$props2 === void 0 ? void 0 : _column$props2.
|
158
|
+
var columnWMin = column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : (_column$props$ref$cur = _column$props.ref.current) === null || _column$props$ref$cur === void 0 ? void 0 : _column$props$ref$cur.style.getPropertyValue('min-width');
|
159
|
+
var columnWMax = column === null || column === void 0 ? void 0 : (_column$props2 = column.props) === null || _column$props2 === void 0 ? void 0 : (_column$props2$ref$cu = _column$props2.ref.current) === null || _column$props2$ref$cu === void 0 ? void 0 : _column$props2$ref$cu.style.getPropertyValue('max-width');
|
161
160
|
var _props = {
|
162
161
|
name: cell.name,
|
163
162
|
children: /*#__PURE__*/React.createElement(React.Fragment, null, cell.data),
|
@@ -168,7 +167,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
168
167
|
style: {
|
169
168
|
width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")"),
|
170
169
|
minWidth: columnWMin,
|
171
|
-
maxWidth: columnWMax && column !== null && column !== void 0 && column.sortable ? "calc(".concat(SORT_ICON_WIDTH, "px + ").concat(
|
170
|
+
maxWidth: columnWMax && column !== null && column !== void 0 && column.sortable ? "calc(".concat(SORT_ICON_WIDTH, "px + ").concat(columnWMax, ")") : columnWMax
|
172
171
|
}
|
173
172
|
};
|
174
173
|
if (name !== undefined && value !== undefined) {
|