intergalactic 15.108.0 → 15.109.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 +15 -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/component/Button/Button.js +27 -27
- package/button/lib/cjs/component/ButtonLink/ButtonLink.js +20 -19
- package/button/lib/cjs/component/ButtonLink/ButtonLink.js.map +1 -1
- package/button/lib/cjs/component/ButtonLink/buttonLink.shadow.css +9 -2
- package/button/lib/es6/component/Button/Button.js +27 -27
- package/button/lib/es6/component/ButtonLink/ButtonLink.js +20 -19
- package/button/lib/es6/component/ButtonLink/ButtonLink.js.map +1 -1
- package/button/lib/es6/component/ButtonLink/buttonLink.shadow.css +9 -2
- package/button/package.json +1 -1
- package/card/lib/cjs/Card.js +6 -6
- package/card/lib/es6/Card.js +6 -6
- package/card/package.json +1 -1
- package/carousel/lib/cjs/Carousel.js +21 -21
- package/carousel/lib/es6/Carousel.js +21 -21
- package/carousel/package.json +1 -1
- package/checkbox/lib/cjs/Checkbox.js +18 -18
- package/checkbox/lib/es6/Checkbox.js +18 -18
- package/checkbox/package.json +1 -1
- package/color-picker/lib/cjs/ColorPicker.js +24 -24
- package/color-picker/lib/cjs/PaletteManager.js +24 -24
- package/color-picker/lib/cjs/components/InputColor.js +24 -24
- package/color-picker/lib/es6/ColorPicker.js +24 -24
- package/color-picker/lib/es6/PaletteManager.js +24 -24
- package/color-picker/lib/es6/components/InputColor.js +24 -24
- package/color-picker/package.json +1 -1
- package/components.json +73 -73
- package/core/package.json +1 -1
- package/counter/lib/cjs/Counter.js +11 -11
- package/counter/lib/es6/Counter.js +11 -11
- package/counter/package.json +1 -1
- package/d3-chart/lib/cjs/Area.js +11 -11
- package/d3-chart/lib/cjs/Axis.js +14 -14
- package/d3-chart/lib/cjs/Bar.js +16 -16
- package/d3-chart/lib/cjs/Bubble.js +12 -12
- package/d3-chart/lib/cjs/CompactHorizontalBar.js +16 -16
- package/d3-chart/lib/cjs/Donut.js +9 -9
- package/d3-chart/lib/cjs/Dots.js +8 -8
- package/d3-chart/lib/cjs/HorizontalBar.js +16 -16
- package/d3-chart/lib/cjs/Hover.js +3 -3
- package/d3-chart/lib/cjs/Line.js +9 -9
- package/d3-chart/lib/cjs/Plot.js +3 -3
- package/d3-chart/lib/cjs/Radar.js +19 -19
- package/d3-chart/lib/cjs/RadialTree.js +12 -12
- package/d3-chart/lib/cjs/Reference.js +12 -12
- package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
- package/d3-chart/lib/cjs/Tooltip.js +9 -9
- package/d3-chart/lib/cjs/Venn.js +9 -9
- package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/es6/Area.js +11 -11
- package/d3-chart/lib/es6/Axis.js +14 -14
- package/d3-chart/lib/es6/Bar.js +16 -16
- package/d3-chart/lib/es6/Bubble.js +12 -12
- package/d3-chart/lib/es6/CompactHorizontalBar.js +16 -16
- package/d3-chart/lib/es6/Donut.js +9 -9
- package/d3-chart/lib/es6/Dots.js +8 -8
- package/d3-chart/lib/es6/HorizontalBar.js +16 -16
- package/d3-chart/lib/es6/Hover.js +3 -3
- package/d3-chart/lib/es6/Line.js +9 -9
- package/d3-chart/lib/es6/Plot.js +3 -3
- package/d3-chart/lib/es6/Radar.js +19 -19
- package/d3-chart/lib/es6/RadialTree.js +12 -12
- package/d3-chart/lib/es6/Reference.js +12 -12
- package/d3-chart/lib/es6/ScatterPlot.js +9 -9
- package/d3-chart/lib/es6/Tooltip.js +9 -9
- package/d3-chart/lib/es6/Venn.js +9 -9
- package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/package.json +1 -1
- package/data-table/lib/cjs/Body.js +6 -4
- package/data-table/lib/cjs/Body.js.map +1 -1
- package/data-table/lib/cjs/DataTable.js +56 -41
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/es6/Body.js +6 -4
- package/data-table/lib/es6/Body.js.map +1 -1
- package/data-table/lib/es6/DataTable.js +56 -41
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/data-table/package.json +1 -1
- package/date-picker/lib/cjs/components/Calendar.js +21 -21
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
- package/date-picker/lib/cjs/components/InputTrigger.js +29 -29
- package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
- package/date-picker/lib/es6/components/Calendar.js +21 -21
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
- package/date-picker/lib/es6/components/InputTrigger.js +29 -29
- package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
- package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
- package/date-picker/package.json +1 -1
- package/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 +2 -2
- package/dropdown/lib/es6/Dropdown.js +2 -2
- package/dropdown/package.json +1 -1
- package/dropdown-menu/lib/cjs/DropdownMenu.js +25 -25
- package/dropdown-menu/lib/cjs/DropdownMenuOld.js +21 -21
- package/dropdown-menu/lib/es6/DropdownMenu.js +25 -25
- package/dropdown-menu/lib/es6/DropdownMenuOld.js +21 -21
- 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/color/Ahrefs/l/index.d.ts +6 -0
- package/icon/color/Ahrefs/l/index.js +37 -0
- package/icon/color/Ahrefs/l/index.mjs +25 -0
- package/icon/color/Ahrefs/m/index.d.ts +6 -0
- package/icon/color/Ahrefs/m/index.js +37 -0
- package/icon/color/Ahrefs/m/index.mjs +25 -0
- package/icon/color/Amazon/l/index.d.ts +6 -0
- package/icon/color/Amazon/l/index.js +48 -0
- package/icon/color/Amazon/l/index.mjs +36 -0
- package/icon/color/Amazon/m/index.d.ts +6 -0
- package/icon/color/Amazon/m/index.js +47 -0
- package/icon/color/Amazon/m/index.mjs +35 -0
- package/icon/color/CallRailColored/l/index.d.ts +6 -0
- package/icon/color/CallRailColored/l/index.js +43 -0
- package/icon/color/CallRailColored/l/index.mjs +31 -0
- package/icon/color/CallRailColored/m/index.d.ts +6 -0
- package/icon/color/CallRailColored/m/index.js +43 -0
- package/icon/color/CallRailColored/m/index.mjs +31 -0
- package/icon/color/Confluence/l/index.js +4 -4
- package/icon/color/Confluence/l/index.mjs +4 -4
- package/icon/color/Confluence/m/index.js +4 -4
- package/icon/color/Confluence/m/index.mjs +4 -4
- package/icon/color/LinkedInColored/l/index.d.ts +6 -0
- package/icon/color/LinkedInColored/l/index.js +37 -0
- package/icon/color/LinkedInColored/l/index.mjs +25 -0
- package/icon/color/LinkedInColored/m/index.d.ts +6 -0
- package/icon/color/LinkedInColored/m/index.js +37 -0
- package/icon/color/LinkedInColored/m/index.mjs +25 -0
- package/icon/color/Mailchimp/l/index.d.ts +6 -0
- package/icon/color/Mailchimp/l/index.js +41 -0
- package/icon/color/Mailchimp/l/index.mjs +29 -0
- package/icon/color/Mailchimp/m/index.d.ts +6 -0
- package/icon/color/Mailchimp/m/index.js +41 -0
- package/icon/color/Mailchimp/m/index.mjs +29 -0
- package/icon/color/Matomo/l/index.d.ts +6 -0
- package/icon/color/Matomo/l/index.js +54 -0
- package/icon/color/Matomo/l/index.mjs +42 -0
- package/icon/color/Matomo/m/index.d.ts +6 -0
- package/icon/color/Matomo/m/index.js +53 -0
- package/icon/color/Matomo/m/index.mjs +41 -0
- package/icon/color/Microsoft/l/index.d.ts +6 -0
- package/icon/color/Microsoft/l/index.js +54 -0
- package/icon/color/Microsoft/l/index.mjs +42 -0
- package/icon/color/Microsoft/m/index.d.ts +6 -0
- package/icon/color/Microsoft/m/index.js +53 -0
- package/icon/color/Microsoft/m/index.mjs +41 -0
- 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/color/Moz/l/index.d.ts +6 -0
- package/icon/color/Moz/l/index.js +37 -0
- package/icon/color/Moz/l/index.mjs +25 -0
- package/icon/color/Moz/m/index.d.ts +6 -0
- package/icon/color/Moz/m/index.js +37 -0
- package/icon/color/Moz/m/index.mjs +25 -0
- package/icon/color/Salesforce/l/index.d.ts +6 -0
- package/icon/color/Salesforce/l/index.js +43 -0
- package/icon/color/Salesforce/l/index.mjs +31 -0
- package/icon/color/Salesforce/m/index.d.ts +6 -0
- package/icon/color/Salesforce/m/index.js +43 -0
- package/icon/color/Salesforce/m/index.mjs +31 -0
- package/icon/color/Snapchat/l/index.d.ts +6 -0
- package/icon/color/Snapchat/l/index.js +45 -0
- package/icon/color/Snapchat/l/index.mjs +33 -0
- package/icon/color/Snapchat/m/index.d.ts +6 -0
- package/icon/color/Snapchat/m/index.js +41 -0
- package/icon/color/Snapchat/m/index.mjs +29 -0
- package/icon/color/TikTokColored/l/index.d.ts +6 -0
- package/icon/color/TikTokColored/l/index.js +57 -0
- package/icon/color/TikTokColored/l/index.mjs +45 -0
- package/icon/color/TikTokColored/m/index.d.ts +6 -0
- package/icon/color/TikTokColored/m/index.js +53 -0
- package/icon/color/TikTokColored/m/index.mjs +41 -0
- package/icon/color/TikTokColoredInvert/l/index.d.ts +6 -0
- package/icon/color/TikTokColoredInvert/l/index.js +62 -0
- package/icon/color/TikTokColoredInvert/l/index.mjs +50 -0
- package/icon/color/TikTokColoredInvert/m/index.d.ts +6 -0
- package/icon/color/TikTokColoredInvert/m/index.js +60 -0
- package/icon/color/TikTokColoredInvert/m/index.mjs +48 -0
- 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/lib/cjs/Notice.js +14 -14
- package/notice/lib/es6/Notice.js +14 -14
- 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/lib/cjs/NoticeGlobal.js +11 -11
- package/notice-global/lib/es6/NoticeGlobal.js +11 -11
- package/notice-global/package.json +1 -1
- package/outside-click/package.json +1 -1
- package/package.json +1 -1
- package/pagination/lib/cjs/Pagination.js +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 +6 -6
- package/popper/lib/es6/Popper.js +6 -6
- package/popper/package.json +1 -1
- package/portal/package.json +1 -1
- package/product-head/lib/cjs/Info.js +4 -4
- package/product-head/lib/cjs/ProductHead.js +5 -5
- package/product-head/lib/cjs/Title.js +4 -4
- package/product-head/lib/es6/Info.js +4 -4
- package/product-head/lib/es6/ProductHead.js +5 -5
- package/product-head/lib/es6/Title.js +4 -4
- package/product-head/package.json +1 -1
- package/progress-bar/lib/cjs/ProgressBar.js +15 -15
- package/progress-bar/lib/es6/ProgressBar.js +15 -15
- package/progress-bar/package.json +1 -1
- package/radio/lib/cjs/Radio.js +16 -16
- package/radio/lib/es6/Radio.js +16 -16
- package/radio/package.json +1 -1
- package/scroll-area/lib/cjs/ScrollArea.js +21 -21
- package/scroll-area/lib/cjs/ScrollBar.js +6 -6
- package/scroll-area/lib/es6/ScrollArea.js +21 -21
- package/scroll-area/lib/es6/ScrollBar.js +6 -6
- package/scroll-area/package.json +1 -1
- package/select/lib/cjs/InputSearch.js +6 -6
- package/select/lib/cjs/Select.js +8 -8
- package/select/lib/es6/InputSearch.js +6 -6
- package/select/lib/es6/Select.js +8 -8
- package/select/package.json +1 -1
- package/side-panel/lib/cjs/SidePanel.js +17 -29
- package/side-panel/lib/cjs/SidePanel.js.map +1 -1
- package/side-panel/lib/es6/SidePanel.js +17 -29
- package/side-panel/lib/es6/SidePanel.js.map +1 -1
- 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/es6/Tooltip.js +9 -9
- package/tooltip/package.json +1 -1
- package/typography/lib/cjs/Blockquote.js +4 -4
- package/typography/lib/cjs/Hint.js +7 -7
- package/typography/lib/cjs/List.js +5 -5
- package/typography/lib/cjs/Text.js +34 -34
- package/typography/lib/es6/Blockquote.js +4 -4
- package/typography/lib/es6/Hint.js +7 -7
- package/typography/lib/es6/List.js +5 -5
- package/typography/lib/es6/Text.js +34 -34
- package/typography/package.json +1 -1
- package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.js +2 -2
- package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.mjs +2 -2
- package/utils/lib/focus-lock/iframeBorders.d.ts +2 -2
- package/utils/lib/focus-lock/iframeBorders.js +9 -3
- package/utils/lib/focus-lock/iframeBorders.js.map +1 -1
- package/utils/lib/focus-lock/iframeBorders.mjs +9 -3
- package/utils/lib/focus-lock/iframeBorders.mjs.map +1 -1
- package/utils/lib/injectStyle.js +1 -1
- package/utils/lib/injectStyle.mjs +1 -1
- package/utils/lib/propsForElement.js +1 -1
- package/utils/lib/propsForElement.js.map +1 -1
- package/utils/lib/propsForElement.mjs +1 -1
- package/utils/lib/propsForElement.mjs.map +1 -1
- package/utils/lib/use/useFocusLock.js +5 -5
- package/utils/lib/use/useFocusLock.js.map +1 -1
- package/utils/lib/use/useFocusLock.mjs +5 -5
- 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 +12 -12
- package/wizard/lib/es6/Wizard.js +12 -12
- 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","_intergalacticDynamicLocales","_i18nEnhance","_useFocusLock","_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","Map","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","hasFocusable","some","columnElement","ref","sortable","hasFocusableIn","rowIndex","colIndex","_this$cellsMap$get","hasFocusableInHeader","maxCol","maxRow","totalRows","currentRow","cellsMap","get","focusedCell","currentCell","currentHeaderCell","newRow","newCol","row","cell","_this$cellsMap$get2","setAttribute","removeAttribute","headerCell","describedBy","getAttribute","focus","_this$cellsMap$get3","e","key","setInert","preventDefault","changeFocusCell","relatedTarget","isFocusInside","currentTarget","size","fillCells","lastInteraction","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","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","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","c","flattenColumns","_ref4","join","toArray","columnChildren","_this$props$ref$curre","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","getI18nText","$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","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","_this$asProps3","_this$tableRef$curren2","_this5","querySelectorAll","_row$querySelectorAll","rowCellsMap","cellIndex","set","_this$tableRef$curren3","render","_ref","_ref2","SDataTable","Box","_this$asProps4","styles","createElement","cn","assignProps","handleKeyDown","handleMouseMove","handleFocus","handleBlur","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","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 ColIndex,\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n RowIndex,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport style from './style/data-table.shadow.css';\nimport { isFocusInside } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n totalRows?: number;\n uniqueKey: string;\n uid?: string;\n getI18nText?: (str: string) => string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Column = string> = [sortBy: Column, sortDirection: 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/**\n * Datatable must have an accessible name (aria-table-name).\n * It should describe table content.\n */\ntype DataTableAriaProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends Omit<DataTableProps<DataTableData>, keyof DataTableAriaProps> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n /** Count of total rows if table using virtual scroll. Needs for accessibility */\n totalRows?: number;\n } & DataTableAriaProps;\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n /**\n * Enable changing column width with sort icon\n * @default false\n */\n changeSortSize?: boolean;\n /**\n * Enable column to use as a column for recalculation width\n * @default false (By default used first column with maximum width)\n */\n sortSizeRecalculation?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n\n /** Ref for table body container */\n scrollContainerRef?: React.Ref<HTMLDivElement>;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n focusedCell: [RowIndex, ColIndex] = [0, 0];\n cellsMap = new Map<RowIndex, Map<ColIndex, HTMLElement>>();\n lastInteraction: 'mouse' | 'keyboard' | null = null;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n const animations = columns\n .flatMap((column) => column.props.ref.current?.getAnimations?.())\n .filter((a) => a !== undefined) as Animation[];\n\n let animationPromise: Promise<Animation[] | void> = Promise.resolve();\n\n if (animations.length > 0) {\n animationPromise = Promise.all(\n animations.map((animation) => {\n return animation.finished;\n }),\n );\n }\n\n animationPromise\n .then(() => {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n })\n .catch((err) => {\n console.error(err);\n });\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid, getI18nText } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n getI18nText,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidMount() {\n this.setVarStyle(this.columns);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n get totalRows() {\n const { data, totalRows } = this.asProps;\n\n return totalRows ?? (data ?? []).length;\n }\n\n fillCells() {\n const rows = this.tableRef.current?.querySelectorAll<HTMLDivElement>('[role=row]');\n\n if (rows?.length) {\n rows.forEach((row, rowIndex) => {\n const rowCellsMap = new Map<ColIndex, HTMLElement>();\n\n row\n .querySelectorAll<HTMLDivElement>('[role=gridcell], [role=columnheader]')\n ?.forEach((cell, cellIndex) => {\n cell.setAttribute('inert', '');\n rowCellsMap.set(cellIndex, cell);\n });\n\n this.cellsMap.set(rowIndex, rowCellsMap);\n });\n }\n }\n\n setInert(value: boolean) {\n const cells = this.tableRef.current?.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n cells?.forEach((cell) => {\n if (value === true) {\n cell.setAttribute('inert', '');\n } else {\n cell.removeAttribute('inert');\n }\n });\n }\n\n hasFocusableInHeader = () => {\n const hasFocusable = this.columns.some((column) => {\n const columnElement = column.props.ref.current;\n\n return column.sortable || (columnElement && hasFocusableIn(columnElement));\n });\n\n return hasFocusable;\n };\n\n changeFocusCell = (rowIndex: RowIndex, colIndex: ColIndex) => {\n const hasFocusable = this.hasFocusableInHeader();\n\n const maxCol = this.columns.length - 1;\n const maxRow = this.totalRows;\n\n const currentRow = this.cellsMap.get(this.focusedCell[0]);\n const currentCell = currentRow?.get(this.focusedCell[1]);\n const currentHeaderCell = this.cellsMap.get(0)?.get(this.focusedCell[1]);\n\n let newRow = this.focusedCell[0] + rowIndex;\n let newCol = this.focusedCell[1] + colIndex;\n\n if (\n ((hasFocusable && newRow < 0) || (!hasFocusable && newRow < 1) || newRow > maxRow) &&\n newRow !== this.focusedCell[0]\n ) {\n newRow = this.focusedCell[0];\n }\n if ((newCol < 0 || newCol > maxCol) && newCol !== this.focusedCell[1]) {\n newCol = this.focusedCell[1];\n }\n\n this.focusedCell = [newRow, newCol];\n\n const row = this.cellsMap.get(newRow);\n const cell = row?.get(newCol);\n\n if (cell && currentCell !== cell) {\n currentCell?.setAttribute('inert', '');\n\n if (currentCell !== currentHeaderCell) {\n currentCell?.removeAttribute('aria-describedby');\n }\n\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n const describedBy = headerCell?.getAttribute('aria-describedby');\n\n cell.removeAttribute('inert');\n if (headerCell !== cell && describedBy) {\n cell.setAttribute('aria-describedby', describedBy);\n }\n\n cell?.focus();\n\n if (newRow !== 0) {\n currentHeaderCell?.setAttribute('inert', '');\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n\n headerCell?.removeAttribute('inert');\n }\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'Tab': {\n this.setInert(true);\n break;\n }\n case 'ArrowLeft': {\n e.preventDefault();\n this.changeFocusCell(0, -1);\n break;\n }\n case 'ArrowRight': {\n e.preventDefault();\n this.changeFocusCell(0, 1);\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.changeFocusCell(-1, 0);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.changeFocusCell(1, 0);\n break;\n }\n }\n };\n\n handleFocus = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) {\n if (this.cellsMap.size === 0) {\n this.fillCells();\n\n const hasFocusable = this.hasFocusableInHeader();\n\n if (hasFocusable) {\n this.focusedCell = [0, 0];\n } else {\n this.focusedCell = [1, 0];\n }\n }\n\n this.setInert(true);\n\n const row = this.cellsMap.get(this.focusedCell[0]);\n const cell = row?.get(this.focusedCell[1]);\n\n cell?.removeAttribute('inert');\n cell?.focus();\n\n e.currentTarget.setAttribute('tabIndex', '-1');\n }\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) {\n this.setInert(false);\n e.currentTarget.setAttribute('tabIndex', '0');\n }\n };\n\n handleMouseMove = () => {\n this.lastInteraction = 'mouse';\n this.setInert(false);\n };\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='grid'\n onKeyDown={this.handleKeyDown}\n onMouseMove={this.handleMouseMove}\n tabIndex={0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-rowcount={this.totalRows}\n aria-colcount={this.columns.length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_intergalacticDynamicLocales","_i18nEnhance","_useFocusLock","_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","Map","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","hasFocusable","some","columnElement","ref","sortable","hasFocusableIn","rowIndex","colIndex","_this$cellsMap$get","hasFocusableInHeader","maxCol","maxRow","totalRows","currentRow","cellsMap","get","focusedCell","currentCell","currentHeaderCell","changed","newRow","newCol","row","cell","_this$cellsMap$get2","setAttribute","removeAttribute","headerCell","describedBy","getAttribute","focus","_this$cellsMap$get3","changeFocusCell","e","key","setInert","preventDefault","relatedTarget","isFocusInside","currentTarget","size","fillCells","lastInteraction","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","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","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","c","flattenColumns","_ref4","join","toArray","columnChildren","_this$props$ref$curre","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","getI18nText","$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","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","_this$asProps3","_this$tableRef$curren2","_this5","querySelectorAll","rowCellsMap","queriedRowCells","cellIndex","cellName","columnsName","set","_this$tableRef$curren3","render","_ref","_ref2","SDataTable","Box","_this$asProps4","styles","createElement","cn","assignProps","handleKeyDown","handleMouseMove","handleFocus","handleBlur","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","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 ColIndex,\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n RowIndex,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport style from './style/data-table.shadow.css';\nimport { isFocusInside } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasFocusableIn } from '@semcore/utils/lib/use/useFocusLock';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n totalRows?: number;\n uniqueKey: string;\n uid?: string;\n getI18nText?: (str: string) => string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Column = string> = [sortBy: Column, sortDirection: 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/**\n * Datatable must have an accessible name (aria-table-name).\n * It should describe table content.\n */\ntype DataTableAriaProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends Omit<DataTableProps<DataTableData>, keyof DataTableAriaProps> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n /** Count of total rows if table using virtual scroll. Needs for accessibility */\n totalRows?: number;\n } & DataTableAriaProps;\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n /**\n * Enable changing column width with sort icon\n * @default false\n */\n changeSortSize?: boolean;\n /**\n * Enable column to use as a column for recalculation width\n * @default false (By default used first column with maximum width)\n */\n sortSizeRecalculation?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n\n /** Ref for table body container */\n scrollContainerRef?: React.Ref<HTMLDivElement>;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\n /** Theme for cell */\n theme?: DataTableTheme;\n};\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n focusedCell: [RowIndex, ColIndex] = [0, 0];\n cellsMap = new Map<RowIndex, Map<ColIndex, HTMLElement>>();\n lastInteraction: 'mouse' | 'keyboard' | null = null;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n const animations = columns\n .flatMap((column) => column.props.ref.current?.getAnimations?.())\n .filter((a) => a !== undefined) as Animation[];\n\n let animationPromise: Promise<Animation[] | void> = Promise.resolve();\n\n if (animations.length > 0) {\n animationPromise = Promise.all(\n animations.map((animation) => {\n return animation.finished;\n }),\n );\n }\n\n animationPromise\n .then(() => {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n })\n .catch((err) => {\n console.error(err);\n });\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid, getI18nText } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n getI18nText,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidMount() {\n this.setVarStyle(this.columns);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n get totalRows() {\n const { data, totalRows } = this.asProps;\n\n return totalRows ?? (data ?? []).length;\n }\n\n fillCells() {\n const rows = this.tableRef.current?.querySelectorAll<HTMLDivElement>('[role=row]');\n\n if (rows?.length) {\n rows.forEach((row, rowIndex) => {\n const rowCellsMap = new Map<ColIndex, HTMLElement>();\n\n const queriedRowCells = row.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n let cellIndex = 0;\n\n queriedRowCells.forEach((cell) => {\n cell.setAttribute('inert', '');\n\n const cellName = cell.getAttribute('name');\n const columnsName = cellName?.split('/');\n\n if (columnsName && columnsName.length > 1) {\n columnsName.forEach(() => {\n rowCellsMap.set(cellIndex, cell);\n cellIndex = cellIndex + 1;\n });\n } else {\n rowCellsMap.set(cellIndex, cell);\n cellIndex = cellIndex + 1;\n }\n });\n\n this.cellsMap.set(rowIndex, rowCellsMap);\n });\n }\n }\n\n setInert(value: boolean) {\n const cells = this.tableRef.current?.querySelectorAll<HTMLDivElement>(\n '[role=gridcell], [role=columnheader]',\n );\n\n cells?.forEach((cell) => {\n if (value === true) {\n cell.setAttribute('inert', '');\n } else {\n cell.removeAttribute('inert');\n }\n });\n }\n\n hasFocusableInHeader = () => {\n const hasFocusable = this.columns.some((column) => {\n const columnElement = column.props.ref.current;\n\n return column.sortable || (columnElement && hasFocusableIn(columnElement));\n });\n\n return hasFocusable;\n };\n\n changeFocusCell = (rowIndex: RowIndex, colIndex: ColIndex) => {\n const hasFocusable = this.hasFocusableInHeader();\n\n const maxCol = this.columns.length - 1;\n const maxRow = this.totalRows;\n\n const currentRow = this.cellsMap.get(this.focusedCell[0]);\n const currentCell = currentRow?.get(this.focusedCell[1]);\n const currentHeaderCell = this.cellsMap.get(0)?.get(this.focusedCell[1]);\n\n let changed = true;\n const newRow = this.focusedCell[0] + rowIndex;\n const newCol = this.focusedCell[1] + colIndex;\n\n if (\n ((hasFocusable && newRow < 0) || (!hasFocusable && newRow < 1) || newRow > maxRow) &&\n newRow !== this.focusedCell[0]\n ) {\n changed = false;\n }\n if ((newCol < 0 || newCol > maxCol) && newCol !== this.focusedCell[1]) {\n changed = false;\n }\n\n if (!changed) return;\n\n this.focusedCell = [newRow, newCol];\n\n const row = this.cellsMap.get(newRow);\n const cell = row?.get(newCol);\n\n if (cell && currentCell !== cell) {\n currentCell?.setAttribute('inert', '');\n\n if (currentCell !== currentHeaderCell) {\n currentCell?.removeAttribute('aria-describedby');\n }\n\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n const describedBy = headerCell?.getAttribute('aria-describedby');\n\n cell.removeAttribute('inert');\n if (headerCell !== cell && describedBy) {\n cell.setAttribute('aria-describedby', describedBy);\n }\n\n cell?.focus();\n\n if (newRow !== 0) {\n currentHeaderCell?.setAttribute('inert', '');\n const headerCell = this.cellsMap.get(0)?.get(newCol);\n\n headerCell?.removeAttribute('inert');\n }\n } else if (currentCell === cell) {\n this.changeFocusCell(rowIndex, colIndex);\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'Tab': {\n this.setInert(true);\n break;\n }\n case 'ArrowLeft': {\n e.preventDefault();\n this.changeFocusCell(0, -1);\n break;\n }\n case 'ArrowRight': {\n e.preventDefault();\n this.changeFocusCell(0, 1);\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n this.changeFocusCell(-1, 0);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n this.changeFocusCell(1, 0);\n break;\n }\n }\n };\n\n handleFocus = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) {\n if (this.cellsMap.size === 0) {\n this.fillCells();\n\n const hasFocusable = this.hasFocusableInHeader();\n\n if (hasFocusable) {\n this.focusedCell = [0, 0];\n } else {\n this.focusedCell = [1, 0];\n }\n }\n\n this.setInert(true);\n\n const row = this.cellsMap.get(this.focusedCell[0]);\n const cell = row?.get(this.focusedCell[1]);\n\n cell?.removeAttribute('inert');\n cell?.focus();\n\n e.currentTarget.setAttribute('tabIndex', '-1');\n }\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (!e.relatedTarget || !isFocusInside(e.currentTarget, e.relatedTarget)) {\n this.setInert(false);\n e.currentTarget.setAttribute('tabIndex', '0');\n }\n };\n\n handleMouseMove = () => {\n this.lastInteraction = 'mouse';\n this.setInert(false);\n };\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='grid'\n onKeyDown={this.handleKeyDown}\n onMouseMove={this.handleMouseMove}\n tabIndex={0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-rowcount={this.totalRows}\n aria-colcount={this.columns.length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
|
@@ -25,9 +25,9 @@ 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
27
|
/*__reshadow-styles__:"./style/scroll-shadows.shadow.css"*/
|
28
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
29
|
-
"__SShadowHorizontal": "
|
30
|
-
"__SShadowVertical": "
|
28
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_105uc_gg_:after,.___SShadowHorizontal_105uc_gg_:before,.___SShadowVertical_105uc_gg_:after,.___SShadowVertical_105uc_gg_:before{z-index:1}" /*__inner_css_end__*/, "105uc_gg_") /*__reshadow_css_end__*/, {
|
29
|
+
"__SShadowHorizontal": "___SShadowHorizontal_105uc_gg_",
|
30
|
+
"__SShadowVertical": "___SShadowVertical_105uc_gg_"
|
31
31
|
});
|
32
32
|
import { getFocusableIn } from 'intergalactic/utils/lib/focus-lock/getFocusableIn';
|
33
33
|
var testEnv = process.env.NODE_ENV === 'test';
|
@@ -242,6 +242,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
242
242
|
var headerIds = [cell.name].concat(_toConsumableArray(parentColumnNames)).filter(Boolean).map(function (name) {
|
243
243
|
return "igc-table-".concat(uid, "-").concat(name);
|
244
244
|
});
|
245
|
+
var ariaColspan = nameParts.length;
|
245
246
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
|
246
247
|
"key": cell.name,
|
247
248
|
"role": 'gridcell',
|
@@ -256,7 +257,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
256
257
|
"tabIndex": -1,
|
257
258
|
"onKeyDown": _this2.handleKeyDown,
|
258
259
|
"onFocus": _this2.onFocusCell,
|
259
|
-
"aria-colindex": cellIndex + 1
|
260
|
+
"aria-colindex": cellIndex + 1,
|
261
|
+
"aria-colspan": ariaColspan === 1 ? undefined : ariaColspan
|
260
262
|
})));
|
261
263
|
}
|
262
264
|
}, []);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","trottle","forkRef","canUseDOM","SORT_ICON_WIDTH","scrollStyles","_sstyled","insert","getFocusableIn","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","displayContents","display","Body","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof","state","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","key","_this$lockedCell$","focus","startsWith","stopPropagation","preventDefault","target","shiftKey","_focusableChildren","_focusableChildren$","_focusableChildren$2","entries","contentRect","height","setState","oldState","event","_ref6","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","forceUpdate","_createClass","value","renderCells","rowData","dataIndex","_this2","SCell","_this$asProps","styles","columns","use","uid","cellIndex","isArray","_ref2","SGroupCell","createElement","cn","renderRows","_ref3","_column$parentColumns","_column$props","_column$props$ref$cur","_column$props2","_column$props2$ref$cu","_column$props3","_column$props4","nameParts","split","firstName","lastName","firstColumn","find","c","lastColumn","column","_getFixedStyle","_getFixedStyle2","_slicedToArray","parentColumnNames","parentColumns","vars","cssVar","columnWMin","props","ref","style","getPropertyValue","columnWMax","Fragment","justifyContent","alignItems","borderLeft","borderRight","width","join","minWidth","maxWidth","sortable","_iterator","_createForOfIteratorHelper","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties","_excluded","propsCell","err","f","headerIds","_toConsumableArray","filter","Boolean","_objectSpread","fixed","theme","handleKeyDown","onFocusCell","renderRow","_ref7","_ref4","topOffset","_ref7$nested","nested","SRow","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","_excluded2","propsRow","toString","rows","_this3","renderVirtualizedRows","_ref8","_this4","_this$state","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","index","unshift","_ref9","componentWillUnmount","_this$firstRowResizeO","disconnect","render","_ref","_ref5","SBody","SBodyWrapper","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","animationsDisabled","scrollContainerRef","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","holdHeight","requestAnimationFrame","setupRowSizeObserver","body","_assignProps","handleBodyTransitionEnd","bind","scrollContainerRefs","push","handleScrollAreaResize","handleScrollAreaScroll","Container","role","focusRingTopOffset","tabIndex","Bar","orientation","bottom","container","w","zIndex","origin"],"sources":["../../src/Body.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 { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport { forkRef } from '@semcore/utils/lib/ref';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { SORT_ICON_WIDTH } from './Head';\nimport scrollStyles from './style/scroll-shadows.shadow.css';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\nconst displayContents = { display: 'contents' };\n\ntype AsProps = {\n rows: NestedCells[][];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n renderRows?: (props: {\n rows: NestedCells[][];\n columns: Column[];\n renderRow: (row: Cell[], details: { dataIndex: number; nested: boolean }) => React.ReactNode;\n }) => React.ReactNode;\n disabledScroll?: boolean;\n uid?: string;\n animationsDisabled?: boolean;\n scrollContainerRef: React.Ref<HTMLDivElement>;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, {}, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n scrollContainerRef = React.createRef<HTMLDivElement>();\n firstRowRef = React.createRef<HTMLDivElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n e.preventDefault();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget) {\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n renderCells(cells: NestedCells, rowData: RowData, dataIndex: number) {\n const SCell = Flex;\n const { styles, columns, use, uid } = this.asProps;\n return cells.map((cell, cellIndex) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell key={`${cellIndex}`} data-ui-name='group-cell'>\n {this.renderRows(cell as NestedCells[], true)}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const parentColumnNames = column?.parentColumns.map((column) => column.name) ?? [];\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = any & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n const columnWMin = column?.props?.ref.current?.style.getPropertyValue('min-width');\n const columnWMax = column?.props?.ref.current?.style.getPropertyValue('max-width');\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n minWidth: columnWMin,\n maxWidth:\n columnWMax && column?.sortable\n ? `calc(${SORT_ICON_WIDTH}px + ${columnWMax})`\n : columnWMax,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, dataIndex), propsCell);\n }\n\n const headerIds = [cell.name, ...parentColumnNames]\n .filter(Boolean)\n .map((name) => `igc-table-${uid}-${name}`);\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role='gridcell'\n headers={headerIds.join(' ')}\n __excludeProps={['data']}\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocusCell}\n aria-colindex={cellIndex + 1}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n {\n dataIndex,\n topOffset,\n nested = false,\n }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': !nested ? dataIndex + 2 : undefined,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(\n <SRow\n data-nested={nested.toString()}\n role={!nested ? 'row' : undefined}\n __excludeProps={['data']}\n {...props}\n />,\n );\n }\n\n renderRows(rows: NestedCells[], nested = false) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n if (canUseDOM()) {\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n }\n };\n\n handleBodyTransitionEnd = trottle(() => {\n /**\n * We need this to recalculate ScrollArea sizes after end of transition\n */\n this.forceUpdate();\n });\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n renderRows,\n animationsDisabled,\n scrollContainerRef,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n requestAnimationFrame(this.setupRowSizeObserver);\n }\n\n const body = sstyled(styles)(\n <SBody\n render={Box}\n animationsDisabled={animationsDisabled}\n onTransitionEnd={this.handleBodyTransitionEnd}\n >\n {renderRows ? (\n renderRows({ rows, columns, renderRow: this.renderRow.bind(this) }) || null\n ) : (\n <>\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {virtualScroll ? this.renderVirtualizedRows(rows) : this.renderRows(rows)}\n </>\n )}\n </SBody>,\n );\n\n if (disabledScroll) {\n return <SBodyWrapper>{body}</SBodyWrapper>;\n }\n\n const scrollContainerRefs = [$scrollRef, this.scrollContainerRef];\n if (scrollContainerRef) {\n scrollContainerRefs.push(scrollContainerRef);\n }\n\n return (\n <SBodyWrapper>\n <ScrollArea\n shadow\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n styles={scrollStyles}\n >\n <ScrollArea.Container\n ref={forkRef(...scrollContainerRefs)}\n role='rowgroup'\n focusRingTopOffset={'3px'}\n tabIndex={-1}\n >\n {body}\n </ScrollArea.Container>\n <div style={displayContents}>\n <div style={displayContents}>\n <div style={displayContents}>\n <ScrollArea.Bar\n orientation='horizontal'\n bottom={0}\n container={this.scrollContainerRef}\n />\n <ScrollArea.Bar orientation='vertical' w={'12px'} zIndex={2} />\n </div>\n </div>\n </div>\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","trottle","forkRef","canUseDOM","SORT_ICON_WIDTH","scrollStyles","_sstyled","insert","getFocusableIn","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","displayContents","display","Body","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof","state","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","key","_this$lockedCell$","focus","startsWith","stopPropagation","preventDefault","target","shiftKey","_focusableChildren","_focusableChildren$","_focusableChildren$2","entries","contentRect","height","setState","oldState","event","_ref6","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","forceUpdate","_createClass","value","renderCells","rowData","dataIndex","_this2","SCell","_this$asProps","styles","columns","use","uid","cellIndex","isArray","_ref2","SGroupCell","createElement","cn","renderRows","_ref3","_column$parentColumns","_column$props","_column$props$ref$cur","_column$props2","_column$props2$ref$cu","_column$props3","_column$props4","nameParts","split","firstName","lastName","firstColumn","find","c","lastColumn","column","_getFixedStyle","_getFixedStyle2","_slicedToArray","parentColumnNames","parentColumns","vars","cssVar","columnWMin","props","ref","style","getPropertyValue","columnWMax","Fragment","justifyContent","alignItems","borderLeft","borderRight","width","join","minWidth","maxWidth","sortable","_iterator","_createForOfIteratorHelper","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties","_excluded","propsCell","err","f","headerIds","_toConsumableArray","filter","Boolean","ariaColspan","_objectSpread","fixed","theme","handleKeyDown","onFocusCell","renderRow","_ref7","_ref4","topOffset","_ref7$nested","nested","SRow","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","_excluded2","propsRow","toString","rows","_this3","renderVirtualizedRows","_ref8","_this4","_this$state","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","index","unshift","_ref9","componentWillUnmount","_this$firstRowResizeO","disconnect","render","_ref","_ref5","SBody","SBodyWrapper","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","animationsDisabled","scrollContainerRef","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","holdHeight","requestAnimationFrame","setupRowSizeObserver","body","_assignProps","handleBodyTransitionEnd","bind","scrollContainerRefs","push","handleScrollAreaResize","handleScrollAreaScroll","Container","role","focusRingTopOffset","tabIndex","Bar","orientation","bottom","container","w","zIndex","origin"],"sources":["../../src/Body.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 { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport { forkRef } from '@semcore/utils/lib/ref';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { SORT_ICON_WIDTH } from './Head';\nimport scrollStyles from './style/scroll-shadows.shadow.css';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\nconst displayContents = { display: 'contents' };\n\ntype AsProps = {\n rows: NestedCells[][];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n renderRows?: (props: {\n rows: NestedCells[][];\n columns: Column[];\n renderRow: (row: Cell[], details: { dataIndex: number; nested: boolean }) => React.ReactNode;\n }) => React.ReactNode;\n disabledScroll?: boolean;\n uid?: string;\n animationsDisabled?: boolean;\n scrollContainerRef: React.Ref<HTMLDivElement>;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, {}, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n scrollContainerRef = React.createRef<HTMLDivElement>();\n firstRowRef = React.createRef<HTMLDivElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n e.preventDefault();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget) {\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n renderCells(cells: NestedCells, rowData: RowData, dataIndex: number) {\n const SCell = Flex;\n const { styles, columns, use, uid } = this.asProps;\n return cells.map((cell, cellIndex) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell key={`${cellIndex}`} data-ui-name='group-cell'>\n {this.renderRows(cell as NestedCells[], true)}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const parentColumnNames = column?.parentColumns.map((column) => column.name) ?? [];\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = any & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n const columnWMin = column?.props?.ref.current?.style.getPropertyValue('min-width');\n const columnWMax = column?.props?.ref.current?.style.getPropertyValue('max-width');\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n minWidth: columnWMin,\n maxWidth:\n columnWMax && column?.sortable\n ? `calc(${SORT_ICON_WIDTH}px + ${columnWMax})`\n : columnWMax,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, dataIndex), propsCell);\n }\n\n const headerIds = [cell.name, ...parentColumnNames]\n .filter(Boolean)\n .map((name) => `igc-table-${uid}-${name}`);\n\n const ariaColspan = nameParts.length;\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role='gridcell'\n headers={headerIds.join(' ')}\n __excludeProps={['data']}\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocusCell}\n aria-colindex={cellIndex + 1}\n aria-colspan={ariaColspan === 1 ? undefined : ariaColspan}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n {\n dataIndex,\n topOffset,\n nested = false,\n }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': !nested ? dataIndex + 2 : undefined,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(\n <SRow\n data-nested={nested.toString()}\n role={!nested ? 'row' : undefined}\n __excludeProps={['data']}\n {...props}\n />,\n );\n }\n\n renderRows(rows: NestedCells[], nested = false) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n if (canUseDOM()) {\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n }\n };\n\n handleBodyTransitionEnd = trottle(() => {\n /**\n * We need this to recalculate ScrollArea sizes after end of transition\n */\n this.forceUpdate();\n });\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n renderRows,\n animationsDisabled,\n scrollContainerRef,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n requestAnimationFrame(this.setupRowSizeObserver);\n }\n\n const body = sstyled(styles)(\n <SBody\n render={Box}\n animationsDisabled={animationsDisabled}\n onTransitionEnd={this.handleBodyTransitionEnd}\n >\n {renderRows ? (\n renderRows({ rows, columns, renderRow: this.renderRow.bind(this) }) || null\n ) : (\n <>\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {virtualScroll ? this.renderVirtualizedRows(rows) : this.renderRows(rows)}\n </>\n )}\n </SBody>,\n );\n\n if (disabledScroll) {\n return <SBodyWrapper>{body}</SBodyWrapper>;\n }\n\n const scrollContainerRefs = [$scrollRef, this.scrollContainerRef];\n if (scrollContainerRef) {\n scrollContainerRefs.push(scrollContainerRef);\n }\n\n return (\n <SBodyWrapper>\n <ScrollArea\n shadow\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n styles={scrollStyles}\n >\n <ScrollArea.Container\n ref={forkRef(...scrollContainerRefs)}\n role='rowgroup'\n focusRingTopOffset={'3px'}\n tabIndex={-1}\n >\n {body}\n </ScrollArea.Container>\n <div style={displayContents}>\n <div style={displayContents}>\n <div style={displayContents}>\n <ScrollArea.Bar\n orientation='horizontal'\n bottom={0}\n container={this.scrollContainerRef}\n />\n <ScrollArea.Bar orientation='vertical' w={'12px'} zIndex={2} />\n </div>\n </div>\n </div>\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|