@qoretechnologies/reqore 0.76.0-pr.673.gfcc9a9f → 0.76.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/.claude/CLAUDE.md +2 -37
- package/dist/components/Accordion/index.js +89 -53
- package/dist/components/Accordion/index.js.map +1 -1
- package/dist/components/Breadcrumbs/index.js +71 -33
- package/dist/components/Breadcrumbs/index.js.map +1 -1
- package/dist/components/Breadcrumbs/item.js +13 -8
- package/dist/components/Breadcrumbs/item.js.map +1 -1
- package/dist/components/Bubble/index.js +93 -53
- package/dist/components/Bubble/index.js.map +1 -1
- package/dist/components/Button/index.d.ts +11 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +156 -114
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Callout/index.js +84 -45
- package/dist/components/Callout/index.js.map +1 -1
- package/dist/components/Checkbox/index.js +106 -68
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/Collapse/index.js +56 -19
- package/dist/components/Collapse/index.js.map +1 -1
- package/dist/components/CollapsibleContent/index.js +78 -39
- package/dist/components/CollapsibleContent/index.js.map +1 -1
- package/dist/components/Collection/index.d.ts +7 -8
- package/dist/components/Collection/index.d.ts.map +1 -1
- package/dist/components/Collection/index.js +117 -75
- package/dist/components/Collection/index.js.map +1 -1
- package/dist/components/Collection/item.js +73 -33
- package/dist/components/Collection/item.js.map +1 -1
- package/dist/components/Columns/column.js +39 -3
- package/dist/components/Columns/column.js.map +1 -1
- package/dist/components/Columns/index.js +47 -8
- package/dist/components/Columns/index.js.map +1 -1
- package/dist/components/Comment/index.js +29 -22
- package/dist/components/Comment/index.js.map +1 -1
- package/dist/components/CommentFeed/index.js +14 -7
- package/dist/components/CommentFeed/index.js.map +1 -1
- package/dist/components/Content/index.js +48 -10
- package/dist/components/Content/index.js.map +1 -1
- package/dist/components/Content/wrapper.js +13 -8
- package/dist/components/Content/wrapper.js.map +1 -1
- package/dist/components/ControlGroup/index.d.ts.map +1 -1
- package/dist/components/ControlGroup/index.js +171 -58
- package/dist/components/ControlGroup/index.js.map +1 -1
- package/dist/components/ControlGroup/item.js +18 -12
- package/dist/components/ControlGroup/item.js.map +1 -1
- package/dist/components/DataView/helpers.js +53 -37
- package/dist/components/DataView/helpers.js.map +1 -1
- package/dist/components/DataView/index.js +234 -182
- package/dist/components/DataView/index.js.map +1 -1
- package/dist/components/DatePicker/MonthYearDropdowns.js +19 -12
- package/dist/components/DatePicker/MonthYearDropdowns.js.map +1 -1
- package/dist/components/DatePicker/index.js +65 -58
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DescriptionList/index.js +65 -26
- package/dist/components/DescriptionList/index.js.map +1 -1
- package/dist/components/Drawer/backdrop.js +23 -17
- package/dist/components/Drawer/backdrop.js.map +1 -1
- package/dist/components/Drawer/index.d.ts +89 -0
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +236 -69
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/Dropdown/index.d.ts.map +1 -1
- package/dist/components/Dropdown/index.js +23 -18
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/Dropdown/item.d.ts +1 -1
- package/dist/components/Dropdown/item.d.ts.map +1 -1
- package/dist/components/Dropdown/item.js +34 -11
- package/dist/components/Dropdown/item.js.map +1 -1
- package/dist/components/Dropdown/list.d.ts.map +1 -1
- package/dist/components/Dropdown/list.js +96 -74
- package/dist/components/Dropdown/list.js.map +1 -1
- package/dist/components/Effect/index.d.ts +24 -1
- package/dist/components/Effect/index.d.ts.map +1 -1
- package/dist/components/Effect/index.js +107 -65
- package/dist/components/Effect/index.js.map +1 -1
- package/dist/components/EmptyState/index.js +26 -20
- package/dist/components/EmptyState/index.js.map +1 -1
- package/dist/components/EntityRow/index.js +98 -59
- package/dist/components/EntityRow/index.js.map +1 -1
- package/dist/components/ErrorBoundary/index.js +15 -12
- package/dist/components/ErrorBoundary/index.js.map +1 -1
- package/dist/components/ExportModal/index.js +24 -17
- package/dist/components/ExportModal/index.js.map +1 -1
- package/dist/components/FadeScroller/index.js +29 -23
- package/dist/components/FadeScroller/index.js.map +1 -1
- package/dist/components/FeatureCard/index.js +84 -45
- package/dist/components/FeatureCard/index.js.map +1 -1
- package/dist/components/GlobalModalsWrapper/index.js +16 -13
- package/dist/components/GlobalModalsWrapper/index.js.map +1 -1
- package/dist/components/Header/index.js +33 -21
- package/dist/components/Header/index.js.map +1 -1
- package/dist/components/Icon/index.js +77 -41
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/IconPicker/index.js +80 -41
- package/dist/components/IconPicker/index.js.map +1 -1
- package/dist/components/Input/index.js +94 -55
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/InputClearButton/index.js +20 -14
- package/dist/components/InputClearButton/index.js.map +1 -1
- package/dist/components/InternalPopover/index.d.ts +1 -0
- package/dist/components/InternalPopover/index.d.ts.map +1 -1
- package/dist/components/InternalPopover/index.js +190 -54
- package/dist/components/InternalPopover/index.js.map +1 -1
- package/dist/components/KeyValueTable/index.js +18 -11
- package/dist/components/KeyValueTable/index.js.map +1 -1
- package/dist/components/KeyboardShortcut/index.js +28 -22
- package/dist/components/KeyboardShortcut/index.js.map +1 -1
- package/dist/components/Label/index.js +11 -5
- package/dist/components/Label/index.js.map +1 -1
- package/dist/components/Layout/content.js +10 -5
- package/dist/components/Layout/content.js.map +1 -1
- package/dist/components/Layout/index.js +46 -8
- package/dist/components/Layout/index.js.map +1 -1
- package/dist/components/Link/index.js +63 -24
- package/dist/components/Link/index.js.map +1 -1
- package/dist/components/Menu/divider.js +56 -20
- package/dist/components/Menu/divider.js.map +1 -1
- package/dist/components/Menu/index.js +67 -29
- package/dist/components/Menu/index.js.map +1 -1
- package/dist/components/Menu/item.js +20 -18
- package/dist/components/Menu/item.js.map +1 -1
- package/dist/components/Menu/section.js +19 -12
- package/dist/components/Menu/section.js.map +1 -1
- package/dist/components/Message/index.js +33 -28
- package/dist/components/Message/index.js.map +1 -1
- package/dist/components/Modal/index.js +18 -15
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/MultiSelect/index.d.ts +3 -3
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.js +10 -4
- package/dist/components/MultiSelect/index.js.map +1 -1
- package/dist/components/NavRail/index.js +145 -106
- package/dist/components/NavRail/index.js.map +1 -1
- package/dist/components/Navbar/divider.js +14 -9
- package/dist/components/Navbar/divider.js.map +1 -1
- package/dist/components/Navbar/group.js +45 -9
- package/dist/components/Navbar/group.js.map +1 -1
- package/dist/components/Navbar/index.js +53 -17
- package/dist/components/Navbar/index.js.map +1 -1
- package/dist/components/Navbar/item.js +50 -15
- package/dist/components/Navbar/item.js.map +1 -1
- package/dist/components/Notifications/index.js +44 -9
- package/dist/components/Notifications/index.js.map +1 -1
- package/dist/components/Notifications/notification.js +125 -79
- package/dist/components/Notifications/notification.js.map +1 -1
- package/dist/components/Notifications/styles.js +69 -33
- package/dist/components/Notifications/styles.js.map +1 -1
- package/dist/components/Paging/index.js +63 -24
- package/dist/components/Paging/index.js.map +1 -1
- package/dist/components/Panel/LabelEditor.js +21 -15
- package/dist/components/Panel/LabelEditor.js.map +1 -1
- package/dist/components/Panel/NonResponsiveActions.js +15 -9
- package/dist/components/Panel/NonResponsiveActions.js.map +1 -1
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +228 -180
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/Panel/responsive.d.ts +24 -0
- package/dist/components/Panel/responsive.d.ts.map +1 -0
- package/dist/components/Panel/responsive.js +30 -0
- package/dist/components/Panel/responsive.js.map +1 -0
- package/dist/components/Paragraph/index.d.ts +8 -0
- package/dist/components/Paragraph/index.d.ts.map +1 -1
- package/dist/components/Paragraph/index.js +19 -13
- package/dist/components/Paragraph/index.js.map +1 -1
- package/dist/components/Popover/index.d.ts +46 -0
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +240 -42
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/Progress/index.js +78 -40
- package/dist/components/Progress/index.js.map +1 -1
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +23 -9
- package/dist/components/RadioGroup/index.js.map +1 -1
- package/dist/components/Rating/index.js +81 -43
- package/dist/components/Rating/index.js.map +1 -1
- package/dist/components/RichTextEditor/index.d.ts.map +1 -1
- package/dist/components/RichTextEditor/index.js +362 -114
- package/dist/components/RichTextEditor/index.js.map +1 -1
- package/dist/components/SegmentedControl/index.js +97 -59
- package/dist/components/SegmentedControl/index.js.map +1 -1
- package/dist/components/Select/index.d.ts +68 -29
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +75 -140
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/valuePreview.d.ts +11 -0
- package/dist/components/Select/valuePreview.d.ts.map +1 -0
- package/dist/components/Select/valuePreview.js +64 -0
- package/dist/components/Select/valuePreview.js.map +1 -0
- package/dist/components/SeverityRow/index.js +85 -47
- package/dist/components/SeverityRow/index.js.map +1 -1
- package/dist/components/Skeleton/index.js +46 -9
- package/dist/components/Skeleton/index.js.map +1 -1
- package/dist/components/Slider/index.js +76 -37
- package/dist/components/Slider/index.js.map +1 -1
- package/dist/components/Spacer/index.js +61 -25
- package/dist/components/Spacer/index.js.map +1 -1
- package/dist/components/Span/index.js +19 -13
- package/dist/components/Span/index.js.map +1 -1
- package/dist/components/Spinner/index.js +16 -9
- package/dist/components/Spinner/index.js.map +1 -1
- package/dist/components/StackedBar/index.js +69 -34
- package/dist/components/StackedBar/index.js.map +1 -1
- package/dist/components/Statistic/index.js +73 -35
- package/dist/components/Statistic/index.js.map +1 -1
- package/dist/components/Table/body.d.ts.map +1 -1
- package/dist/components/Table/body.js +107 -48
- package/dist/components/Table/body.js.map +1 -1
- package/dist/components/Table/cell.d.ts.map +1 -1
- package/dist/components/Table/cell.js +68 -29
- package/dist/components/Table/cell.js.map +1 -1
- package/dist/components/Table/header.js +69 -33
- package/dist/components/Table/header.js.map +1 -1
- package/dist/components/Table/headerCell.js +65 -26
- package/dist/components/Table/headerCell.js.map +1 -1
- package/dist/components/Table/helpers.d.ts +62 -28
- package/dist/components/Table/helpers.d.ts.map +1 -1
- package/dist/components/Table/helpers.js +189 -111
- package/dist/components/Table/helpers.js.map +1 -1
- package/dist/components/Table/index.d.ts +30 -2
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +142 -95
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Table/row.d.ts +29 -1
- package/dist/components/Table/row.d.ts.map +1 -1
- package/dist/components/Table/row.js +163 -60
- package/dist/components/Table/row.js.map +1 -1
- package/dist/components/Table/scrollbar.js +37 -31
- package/dist/components/Table/scrollbar.js.map +1 -1
- package/dist/components/Table/value.js +15 -9
- package/dist/components/Table/value.js.map +1 -1
- package/dist/components/Tabs/content.js +17 -12
- package/dist/components/Tabs/content.js.map +1 -1
- package/dist/components/Tabs/index.js +52 -14
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Tabs/item.js +65 -26
- package/dist/components/Tabs/item.js.map +1 -1
- package/dist/components/Tabs/list.js +101 -60
- package/dist/components/Tabs/list.js.map +1 -1
- package/dist/components/Tag/group.js +49 -11
- package/dist/components/Tag/group.js.map +1 -1
- package/dist/components/Tag/index.d.ts +5 -2
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +147 -92
- package/dist/components/Tag/index.js.map +1 -1
- package/dist/components/Testimonial/index.js +82 -44
- package/dist/components/Testimonial/index.js.map +1 -1
- package/dist/components/Textarea/index.d.ts +10 -0
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +167 -63
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/components/Tier/index.js +58 -19
- package/dist/components/Tier/index.js.map +1 -1
- package/dist/components/TimeAgo/index.js +16 -9
- package/dist/components/TimeAgo/index.js.map +1 -1
- package/dist/components/Timeline/index.js +117 -78
- package/dist/components/Timeline/index.js.map +1 -1
- package/dist/components/TooltipComponent/index.js +10 -7
- package/dist/components/TooltipComponent/index.js.map +1 -1
- package/dist/components/Tree/index.d.ts +2 -1
- package/dist/components/Tree/index.d.ts.map +1 -1
- package/dist/components/Tree/index.js +99 -70
- package/dist/components/Tree/index.js.map +1 -1
- package/dist/components/Tree/modal.js +20 -13
- package/dist/components/Tree/modal.js.map +1 -1
- package/dist/constants/animations.js +5 -2
- package/dist/constants/animations.js.map +1 -1
- package/dist/constants/colors.js +5 -2
- package/dist/constants/colors.js.map +1 -1
- package/dist/constants/fonts.js +10 -6
- package/dist/constants/fonts.js.map +1 -1
- package/dist/constants/paging.js +6 -2
- package/dist/constants/paging.js.map +1 -1
- package/dist/constants/sizes.js +55 -51
- package/dist/constants/sizes.js.map +1 -1
- package/dist/constants/theme.js +22 -19
- package/dist/constants/theme.js.map +1 -1
- package/dist/containers/Paging.js +16 -13
- package/dist/containers/Paging.js.map +1 -1
- package/dist/containers/ReqoreProvider.d.ts.map +1 -1
- package/dist/containers/ReqoreProvider.js +62 -52
- package/dist/containers/ReqoreProvider.js.map +1 -1
- package/dist/containers/ThemeProvider.js +13 -8
- package/dist/containers/ThemeProvider.js.map +1 -1
- package/dist/containers/UIProvider.d.ts.map +1 -1
- package/dist/containers/UIProvider.js +63 -31
- package/dist/containers/UIProvider.js.map +1 -1
- package/dist/context/CustomThemeContext.js +5 -3
- package/dist/context/CustomThemeContext.js.map +1 -1
- package/dist/context/ReqoreContext.js +6 -4
- package/dist/context/ReqoreContext.js.map +1 -1
- package/dist/context/ThemeContext.js +5 -3
- package/dist/context/ThemeContext.js.map +1 -1
- package/dist/helpers/animations.js +5 -2
- package/dist/helpers/animations.js.map +1 -1
- package/dist/helpers/colors.js +103 -78
- package/dist/helpers/colors.js.map +1 -1
- package/dist/helpers/dates.js +17 -8
- package/dist/helpers/dates.js.map +1 -1
- package/dist/helpers/search.js +11 -5
- package/dist/helpers/search.js.map +1 -1
- package/dist/helpers/selectItem.d.ts +23 -0
- package/dist/helpers/selectItem.d.ts.map +1 -0
- package/dist/helpers/selectItem.js +147 -0
- package/dist/helpers/selectItem.js.map +1 -0
- package/dist/helpers/shortcuts.js +14 -7
- package/dist/helpers/shortcuts.js.map +1 -1
- package/dist/helpers/styled.js +5 -1
- package/dist/helpers/styled.js.map +1 -1
- package/dist/helpers/time.js +5 -1
- package/dist/helpers/time.js.map +1 -1
- package/dist/helpers/utils.js +58 -38
- package/dist/helpers/utils.js.map +1 -1
- package/dist/hooks/useAutoFocus.js +14 -10
- package/dist/hooks/useAutoFocus.js.map +1 -1
- package/dist/hooks/useCloneThroughFragments.js +45 -8
- package/dist/hooks/useCloneThroughFragments.js.map +1 -1
- package/dist/hooks/useCombinedRefs.js +11 -5
- package/dist/hooks/useCombinedRefs.js.map +1 -1
- package/dist/hooks/useComponentTooltip.js +11 -7
- package/dist/hooks/useComponentTooltip.js.map +1 -1
- package/dist/hooks/useFitTextSize.js +13 -9
- package/dist/hooks/useFitTextSize.js.map +1 -1
- package/dist/hooks/useFocusTrap.js +10 -7
- package/dist/hooks/useFocusTrap.js.map +1 -1
- package/dist/hooks/useLatestZIndex.js +8 -6
- package/dist/hooks/useLatestZIndex.js.map +1 -1
- package/dist/hooks/useMarqueeOnHover.js +34 -25
- package/dist/hooks/useMarqueeOnHover.js.map +1 -1
- package/dist/hooks/useNarrowContainer.js +12 -8
- package/dist/hooks/useNarrowContainer.js.map +1 -1
- package/dist/hooks/useOutsideClick.js +6 -4
- package/dist/hooks/useOutsideClick.js.map +1 -1
- package/dist/hooks/usePaging.js +27 -20
- package/dist/hooks/usePaging.js.map +1 -1
- package/dist/hooks/useQueryWithDelay.js +12 -8
- package/dist/hooks/useQueryWithDelay.js.map +1 -1
- package/dist/hooks/useReqore.js +11 -4
- package/dist/hooks/useReqore.js.map +1 -1
- package/dist/hooks/useReqoreContext.js +11 -4
- package/dist/hooks/useReqoreContext.js.map +1 -1
- package/dist/hooks/useReqoreEffect.js +9 -5
- package/dist/hooks/useReqoreEffect.js.map +1 -1
- package/dist/hooks/useScrollFade.js +12 -8
- package/dist/hooks/useScrollFade.js.map +1 -1
- package/dist/hooks/useTextareaAutoSize.js +5 -3
- package/dist/hooks/useTextareaAutoSize.js.map +1 -1
- package/dist/hooks/useTheme.js +22 -15
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/hooks/useWhyDidYouUpdate.js +7 -4
- package/dist/hooks/useWhyDidYouUpdate.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +284 -107
- package/dist/index.js.map +1 -1
- package/dist/styles.js +58 -22
- package/dist/styles.js.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +23 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/tableGeometry.d.ts +75 -0
- package/dist/testing/tableGeometry.d.ts.map +1 -0
- package/dist/testing/tableGeometry.js +168 -0
- package/dist/testing/tableGeometry.js.map +1 -0
- package/dist/types/global.js +2 -1
- package/dist/types/icons.js +2 -1
- package/package.json +15 -11
- package/testing/package.json +7 -0
- package/tests.json +1 -0
- package/dist/components/Accordion/index.cjs +0 -199
- package/dist/components/Accordion/index.cjs.map +0 -1
- package/dist/components/Breadcrumbs/index.cjs +0 -239
- package/dist/components/Breadcrumbs/index.cjs.map +0 -1
- package/dist/components/Breadcrumbs/item.cjs +0 -43
- package/dist/components/Breadcrumbs/item.cjs.map +0 -1
- package/dist/components/Bubble/index.cjs +0 -281
- package/dist/components/Bubble/index.cjs.map +0 -1
- package/dist/components/Button/index.cjs +0 -401
- package/dist/components/Button/index.cjs.map +0 -1
- package/dist/components/Callout/index.cjs +0 -203
- package/dist/components/Callout/index.cjs.map +0 -1
- package/dist/components/Checkbox/index.cjs +0 -222
- package/dist/components/Checkbox/index.cjs.map +0 -1
- package/dist/components/Collapse/index.cjs +0 -127
- package/dist/components/Collapse/index.cjs.map +0 -1
- package/dist/components/CollapsibleContent/index.cjs +0 -244
- package/dist/components/CollapsibleContent/index.cjs.map +0 -1
- package/dist/components/Collection/index.cjs +0 -362
- package/dist/components/Collection/index.cjs.map +0 -1
- package/dist/components/Collection/item.cjs +0 -196
- package/dist/components/Collection/item.cjs.map +0 -1
- package/dist/components/Columns/column.cjs +0 -47
- package/dist/components/Columns/column.cjs.map +0 -1
- package/dist/components/Columns/index.cjs +0 -79
- package/dist/components/Columns/index.cjs.map +0 -1
- package/dist/components/Comment/index.cjs +0 -72
- package/dist/components/Comment/index.cjs.map +0 -1
- package/dist/components/CommentFeed/index.cjs +0 -49
- package/dist/components/CommentFeed/index.cjs.map +0 -1
- package/dist/components/Content/index.cjs +0 -80
- package/dist/components/Content/index.cjs.map +0 -1
- package/dist/components/Content/wrapper.cjs +0 -43
- package/dist/components/Content/wrapper.cjs.map +0 -1
- package/dist/components/ControlGroup/index.cjs +0 -437
- package/dist/components/ControlGroup/index.cjs.map +0 -1
- package/dist/components/ControlGroup/item.cjs +0 -86
- package/dist/components/ControlGroup/item.cjs.map +0 -1
- package/dist/components/DataView/helpers.cjs +0 -350
- package/dist/components/DataView/helpers.cjs.map +0 -1
- package/dist/components/DataView/index.cjs +0 -961
- package/dist/components/DataView/index.cjs.map +0 -1
- package/dist/components/DatePicker/MonthYearDropdowns.cjs +0 -64
- package/dist/components/DatePicker/MonthYearDropdowns.cjs.map +0 -1
- package/dist/components/DatePicker/index.cjs +0 -289
- package/dist/components/DatePicker/index.cjs.map +0 -1
- package/dist/components/DescriptionList/index.cjs +0 -183
- package/dist/components/DescriptionList/index.cjs.map +0 -1
- package/dist/components/Drawer/backdrop.cjs +0 -73
- package/dist/components/Drawer/backdrop.cjs.map +0 -1
- package/dist/components/Drawer/index.cjs +0 -302
- package/dist/components/Drawer/index.cjs.map +0 -1
- package/dist/components/Dropdown/index.cjs +0 -77
- package/dist/components/Dropdown/index.cjs.map +0 -1
- package/dist/components/Dropdown/item.cjs +0 -42
- package/dist/components/Dropdown/item.cjs.map +0 -1
- package/dist/components/Dropdown/list.cjs +0 -346
- package/dist/components/Dropdown/list.cjs.map +0 -1
- package/dist/components/Effect/index.cjs +0 -331
- package/dist/components/Effect/index.cjs.map +0 -1
- package/dist/components/EmptyState/index.cjs +0 -60
- package/dist/components/EmptyState/index.cjs.map +0 -1
- package/dist/components/EntityRow/index.cjs +0 -249
- package/dist/components/EntityRow/index.cjs.map +0 -1
- package/dist/components/ErrorBoundary/index.cjs +0 -118
- package/dist/components/ErrorBoundary/index.cjs.map +0 -1
- package/dist/components/ExportModal/index.cjs +0 -91
- package/dist/components/ExportModal/index.cjs.map +0 -1
- package/dist/components/FadeScroller/index.cjs +0 -327
- package/dist/components/FadeScroller/index.cjs.map +0 -1
- package/dist/components/FeatureCard/index.cjs +0 -168
- package/dist/components/FeatureCard/index.cjs.map +0 -1
- package/dist/components/GlobalModalsWrapper/index.cjs +0 -46
- package/dist/components/GlobalModalsWrapper/index.cjs.map +0 -1
- package/dist/components/Header/index.cjs +0 -70
- package/dist/components/Header/index.cjs.map +0 -1
- package/dist/components/Icon/index.cjs +0 -195
- package/dist/components/Icon/index.cjs.map +0 -1
- package/dist/components/IconPicker/index.cjs +0 -236
- package/dist/components/IconPicker/index.cjs.map +0 -1
- package/dist/components/Input/index.cjs +0 -203
- package/dist/components/Input/index.cjs.map +0 -1
- package/dist/components/InputClearButton/index.cjs +0 -62
- package/dist/components/InputClearButton/index.cjs.map +0 -1
- package/dist/components/InternalPopover/index.cjs +0 -315
- package/dist/components/InternalPopover/index.cjs.map +0 -1
- package/dist/components/KeyValueTable/index.cjs +0 -108
- package/dist/components/KeyValueTable/index.cjs.map +0 -1
- package/dist/components/KeyboardShortcut/index.cjs +0 -69
- package/dist/components/KeyboardShortcut/index.cjs.map +0 -1
- package/dist/components/Label/index.cjs +0 -24
- package/dist/components/Label/index.cjs.map +0 -1
- package/dist/components/Layout/content.cjs +0 -41
- package/dist/components/Layout/content.cjs.map +0 -1
- package/dist/components/Layout/index.cjs +0 -79
- package/dist/components/Layout/index.cjs.map +0 -1
- package/dist/components/Link/index.cjs +0 -168
- package/dist/components/Link/index.cjs.map +0 -1
- package/dist/components/Menu/divider.cjs +0 -98
- package/dist/components/Menu/divider.cjs.map +0 -1
- package/dist/components/Menu/index.cjs +0 -135
- package/dist/components/Menu/index.cjs.map +0 -1
- package/dist/components/Menu/item.cjs +0 -99
- package/dist/components/Menu/item.cjs.map +0 -1
- package/dist/components/Menu/section.cjs +0 -59
- package/dist/components/Menu/section.cjs.map +0 -1
- package/dist/components/Message/index.cjs +0 -78
- package/dist/components/Message/index.cjs.map +0 -1
- package/dist/components/Modal/index.cjs +0 -67
- package/dist/components/Modal/index.cjs.map +0 -1
- package/dist/components/MultiSelect/index.cjs +0 -36
- package/dist/components/MultiSelect/index.cjs.map +0 -1
- package/dist/components/NavRail/index.cjs +0 -666
- package/dist/components/NavRail/index.cjs.map +0 -1
- package/dist/components/Navbar/divider.cjs +0 -47
- package/dist/components/Navbar/divider.cjs.map +0 -1
- package/dist/components/Navbar/group.cjs +0 -85
- package/dist/components/Navbar/group.cjs.map +0 -1
- package/dist/components/Navbar/index.cjs +0 -97
- package/dist/components/Navbar/index.cjs.map +0 -1
- package/dist/components/Navbar/item.cjs +0 -98
- package/dist/components/Navbar/item.cjs.map +0 -1
- package/dist/components/Notifications/index.cjs +0 -66
- package/dist/components/Notifications/index.cjs.map +0 -1
- package/dist/components/Notifications/notification.cjs +0 -343
- package/dist/components/Notifications/notification.cjs.map +0 -1
- package/dist/components/Notifications/styles.cjs +0 -131
- package/dist/components/Notifications/styles.cjs.map +0 -1
- package/dist/components/Paging/index.cjs +0 -173
- package/dist/components/Paging/index.cjs.map +0 -1
- package/dist/components/Panel/LabelEditor.cjs +0 -62
- package/dist/components/Panel/LabelEditor.cjs.map +0 -1
- package/dist/components/Panel/NonResponsiveActions.cjs +0 -47
- package/dist/components/Panel/NonResponsiveActions.cjs.map +0 -1
- package/dist/components/Panel/index.cjs +0 -1054
- package/dist/components/Panel/index.cjs.map +0 -1
- package/dist/components/Paragraph/index.cjs +0 -55
- package/dist/components/Paragraph/index.cjs.map +0 -1
- package/dist/components/Popover/index.cjs +0 -348
- package/dist/components/Popover/index.cjs.map +0 -1
- package/dist/components/Progress/index.cjs +0 -187
- package/dist/components/Progress/index.cjs.map +0 -1
- package/dist/components/RadioGroup/index.cjs +0 -42
- package/dist/components/RadioGroup/index.cjs.map +0 -1
- package/dist/components/Rating/index.cjs +0 -207
- package/dist/components/Rating/index.cjs.map +0 -1
- package/dist/components/RichTextEditor/index.cjs +0 -424
- package/dist/components/RichTextEditor/index.cjs.map +0 -1
- package/dist/components/SegmentedControl/index.cjs +0 -364
- package/dist/components/SegmentedControl/index.cjs.map +0 -1
- package/dist/components/Select/index.cjs +0 -363
- package/dist/components/Select/index.cjs.map +0 -1
- package/dist/components/SeverityRow/index.cjs +0 -207
- package/dist/components/SeverityRow/index.cjs.map +0 -1
- package/dist/components/Skeleton/index.cjs +0 -58
- package/dist/components/Skeleton/index.cjs.map +0 -1
- package/dist/components/Slider/index.cjs +0 -154
- package/dist/components/Slider/index.cjs.map +0 -1
- package/dist/components/Spacer/index.cjs +0 -138
- package/dist/components/Spacer/index.cjs.map +0 -1
- package/dist/components/Span/index.cjs +0 -61
- package/dist/components/Span/index.cjs.map +0 -1
- package/dist/components/Spinner/index.cjs +0 -44
- package/dist/components/Spinner/index.cjs.map +0 -1
- package/dist/components/StackedBar/index.cjs +0 -209
- package/dist/components/StackedBar/index.cjs.map +0 -1
- package/dist/components/Statistic/index.cjs +0 -161
- package/dist/components/Statistic/index.cjs.map +0 -1
- package/dist/components/Table/body.cjs +0 -265
- package/dist/components/Table/body.cjs.map +0 -1
- package/dist/components/Table/cell.cjs +0 -179
- package/dist/components/Table/cell.cjs.map +0 -1
- package/dist/components/Table/header.cjs +0 -170
- package/dist/components/Table/header.cjs.map +0 -1
- package/dist/components/Table/headerCell.cjs +0 -277
- package/dist/components/Table/headerCell.cjs.map +0 -1
- package/dist/components/Table/helpers.cjs +0 -386
- package/dist/components/Table/helpers.cjs.map +0 -1
- package/dist/components/Table/index.cjs +0 -682
- package/dist/components/Table/index.cjs.map +0 -1
- package/dist/components/Table/row.cjs +0 -345
- package/dist/components/Table/row.cjs.map +0 -1
- package/dist/components/Table/scrollbar.cjs +0 -201
- package/dist/components/Table/scrollbar.cjs.map +0 -1
- package/dist/components/Table/value.cjs +0 -26
- package/dist/components/Table/value.cjs.map +0 -1
- package/dist/components/Tabs/content.cjs +0 -63
- package/dist/components/Tabs/content.cjs.map +0 -1
- package/dist/components/Tabs/index.cjs +0 -109
- package/dist/components/Tabs/index.cjs.map +0 -1
- package/dist/components/Tabs/item.cjs +0 -136
- package/dist/components/Tabs/item.cjs.map +0 -1
- package/dist/components/Tabs/list.cjs +0 -322
- package/dist/components/Tabs/list.cjs.map +0 -1
- package/dist/components/Tag/group.cjs +0 -107
- package/dist/components/Tag/group.cjs.map +0 -1
- package/dist/components/Tag/index.cjs +0 -343
- package/dist/components/Tag/index.cjs.map +0 -1
- package/dist/components/Testimonial/index.cjs +0 -166
- package/dist/components/Testimonial/index.cjs.map +0 -1
- package/dist/components/Textarea/index.cjs +0 -220
- package/dist/components/Textarea/index.cjs.map +0 -1
- package/dist/components/Tier/index.cjs +0 -107
- package/dist/components/Tier/index.cjs.map +0 -1
- package/dist/components/TimeAgo/index.cjs +0 -27
- package/dist/components/TimeAgo/index.cjs.map +0 -1
- package/dist/components/Timeline/index.cjs +0 -416
- package/dist/components/Timeline/index.cjs.map +0 -1
- package/dist/components/TooltipComponent/index.cjs +0 -37
- package/dist/components/TooltipComponent/index.cjs.map +0 -1
- package/dist/components/Tree/index.cjs +0 -321
- package/dist/components/Tree/index.cjs.map +0 -1
- package/dist/components/Tree/modal.cjs +0 -38
- package/dist/components/Tree/modal.cjs.map +0 -1
- package/dist/constants/animations.cjs +0 -12
- package/dist/constants/animations.cjs.map +0 -1
- package/dist/constants/colors.cjs +0 -16
- package/dist/constants/colors.cjs.map +0 -1
- package/dist/constants/fonts.cjs +0 -28
- package/dist/constants/fonts.cjs.map +0 -1
- package/dist/constants/paging.cjs +0 -63
- package/dist/constants/paging.cjs.map +0 -1
- package/dist/constants/sizes.cjs +0 -462
- package/dist/constants/sizes.cjs.map +0 -1
- package/dist/constants/theme.cjs +0 -43
- package/dist/constants/theme.cjs.map +0 -1
- package/dist/containers/Paging.cjs +0 -52
- package/dist/containers/Paging.cjs.map +0 -1
- package/dist/containers/ReqoreProvider.cjs +0 -275
- package/dist/containers/ReqoreProvider.cjs.map +0 -1
- package/dist/containers/ThemeProvider.cjs +0 -17
- package/dist/containers/ThemeProvider.cjs.map +0 -1
- package/dist/containers/UIProvider.cjs +0 -96
- package/dist/containers/UIProvider.cjs.map +0 -1
- package/dist/context/CustomThemeContext.cjs +0 -6
- package/dist/context/CustomThemeContext.cjs.map +0 -1
- package/dist/context/ReqoreContext.cjs +0 -25
- package/dist/context/ReqoreContext.cjs.map +0 -1
- package/dist/context/ThemeContext.cjs +0 -6
- package/dist/context/ThemeContext.cjs.map +0 -1
- package/dist/helpers/animations.cjs +0 -11
- package/dist/helpers/animations.cjs.map +0 -1
- package/dist/helpers/colors.cjs +0 -273
- package/dist/helpers/colors.cjs.map +0 -1
- package/dist/helpers/dates.cjs +0 -62
- package/dist/helpers/dates.cjs.map +0 -1
- package/dist/helpers/portal.cjs +0 -32
- package/dist/helpers/portal.cjs.map +0 -1
- package/dist/helpers/portal.d.ts +0 -18
- package/dist/helpers/portal.d.ts.map +0 -1
- package/dist/helpers/portal.js +0 -27
- package/dist/helpers/portal.js.map +0 -1
- package/dist/helpers/search.cjs +0 -63
- package/dist/helpers/search.cjs.map +0 -1
- package/dist/helpers/shortcuts.cjs +0 -152
- package/dist/helpers/shortcuts.cjs.map +0 -1
- package/dist/helpers/styled.cjs +0 -46
- package/dist/helpers/styled.cjs.map +0 -1
- package/dist/helpers/time.cjs +0 -25
- package/dist/helpers/time.cjs.map +0 -1
- package/dist/helpers/utils.cjs +0 -294
- package/dist/helpers/utils.cjs.map +0 -1
- package/dist/hooks/useAutoFocus.cjs +0 -84
- package/dist/hooks/useAutoFocus.cjs.map +0 -1
- package/dist/hooks/useCloneThroughFragments.cjs +0 -63
- package/dist/hooks/useCloneThroughFragments.cjs.map +0 -1
- package/dist/hooks/useCombinedRefs.cjs +0 -44
- package/dist/hooks/useCombinedRefs.cjs.map +0 -1
- package/dist/hooks/useComponentTooltip.cjs +0 -34
- package/dist/hooks/useComponentTooltip.cjs.map +0 -1
- package/dist/hooks/useFitTextSize.cjs +0 -75
- package/dist/hooks/useFitTextSize.cjs.map +0 -1
- package/dist/hooks/useFocusTrap.cjs +0 -119
- package/dist/hooks/useFocusTrap.cjs.map +0 -1
- package/dist/hooks/useLatestZIndex.cjs +0 -12
- package/dist/hooks/useLatestZIndex.cjs.map +0 -1
- package/dist/hooks/useMarqueeOnHover.cjs +0 -292
- package/dist/hooks/useMarqueeOnHover.cjs.map +0 -1
- package/dist/hooks/useNarrowContainer.cjs +0 -68
- package/dist/hooks/useNarrowContainer.cjs.map +0 -1
- package/dist/hooks/useOutsideClick.cjs +0 -19
- package/dist/hooks/useOutsideClick.cjs.map +0 -1
- package/dist/hooks/usePaging.cjs +0 -152
- package/dist/hooks/usePaging.cjs.map +0 -1
- package/dist/hooks/useQueryWithDelay.cjs +0 -25
- package/dist/hooks/useQueryWithDelay.cjs.map +0 -1
- package/dist/hooks/useReqore.cjs +0 -17
- package/dist/hooks/useReqore.cjs.map +0 -1
- package/dist/hooks/useReqoreContext.cjs +0 -19
- package/dist/hooks/useReqoreContext.cjs.map +0 -1
- package/dist/hooks/useReqoreEffect.cjs +0 -34
- package/dist/hooks/useReqoreEffect.cjs.map +0 -1
- package/dist/hooks/useScrollFade.cjs +0 -70
- package/dist/hooks/useScrollFade.cjs.map +0 -1
- package/dist/hooks/useTextareaAutoSize.cjs +0 -22
- package/dist/hooks/useTextareaAutoSize.cjs.map +0 -1
- package/dist/hooks/useTheme.cjs +0 -49
- package/dist/hooks/useTheme.cjs.map +0 -1
- package/dist/hooks/useWhyDidYouUpdate.cjs +0 -46
- package/dist/hooks/useWhyDidYouUpdate.cjs.map +0 -1
- package/dist/index.cjs +0 -271
- package/dist/index.cjs.map +0 -1
- package/dist/package.json +0 -3
- package/dist/styles.cjs +0 -88
- package/dist/styles.cjs.map +0 -1
- package/dist/types/global.cjs +0 -3
- package/dist/types/global.cjs.map +0 -1
- package/dist/types/icons.cjs +0 -3
- package/dist/types/icons.cjs.map +0 -1
|
@@ -1,666 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
-
return cooked;
|
|
5
|
-
};
|
|
6
|
-
var __assign = (this && this.__assign) || function () {
|
|
7
|
-
__assign = Object.assign || function(t) {
|
|
8
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
-
s = arguments[i];
|
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
-
t[p] = s[p];
|
|
12
|
-
}
|
|
13
|
-
return t;
|
|
14
|
-
};
|
|
15
|
-
return __assign.apply(this, arguments);
|
|
16
|
-
};
|
|
17
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
-
if (k2 === undefined) k2 = k;
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
-
var ownKeys = function(o) {
|
|
35
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
-
var ar = [];
|
|
37
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
-
return ar;
|
|
39
|
-
};
|
|
40
|
-
return ownKeys(o);
|
|
41
|
-
};
|
|
42
|
-
return function (mod) {
|
|
43
|
-
if (mod && mod.__esModule) return mod;
|
|
44
|
-
var result = {};
|
|
45
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
-
__setModuleDefault(result, mod);
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
})();
|
|
50
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.ReqoreNavRail = void 0;
|
|
55
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
56
|
-
var polished_1 = require("polished");
|
|
57
|
-
var react_1 = require("react");
|
|
58
|
-
var styled_components_1 = __importStar(require("styled-components"));
|
|
59
|
-
var sizes_1 = require("../../constants/sizes.cjs");
|
|
60
|
-
var colors_1 = require("../../helpers/colors.cjs");
|
|
61
|
-
var styled_1 = require("../../helpers/styled.cjs");
|
|
62
|
-
var utils_1 = require("../../helpers/utils.cjs");
|
|
63
|
-
var useReqoreContext_1 = require("../../hooks/useReqoreContext.cjs");
|
|
64
|
-
var useScrollFade_1 = require("../../hooks/useScrollFade.cjs");
|
|
65
|
-
var useTheme_1 = require("../../hooks/useTheme.cjs");
|
|
66
|
-
var styles_1 = require("../../styles.cjs");
|
|
67
|
-
var Button_1 = __importDefault(require("../Button/index.cjs"));
|
|
68
|
-
var ControlGroup_1 = __importDefault(require("../ControlGroup/index.cjs"));
|
|
69
|
-
var Effect_1 = require("../Effect/index.cjs");
|
|
70
|
-
var Menu_1 = __importDefault(require("../Menu/index.cjs"));
|
|
71
|
-
var item_1 = __importDefault(require("../Menu/item.cjs"));
|
|
72
|
-
var Popover_1 = require("../Popover/index.cjs");
|
|
73
|
-
var Spacer_1 = require("../Spacer/index.cjs");
|
|
74
|
-
var ThemeProvider_1 = __importDefault(require("../../containers/ThemeProvider.cjs"));
|
|
75
|
-
// ── Styled surface ────────────────────────────────────────────────────────────
|
|
76
|
-
/**
|
|
77
|
-
* `box-shadow` rules for a surface that paints shadow layers of its own (the
|
|
78
|
-
* raised highlight, the active group's ring) AND may carry an effect glow. The
|
|
79
|
-
* later `box-shadow` declaration would win — a raised rail could never cast a
|
|
80
|
-
* glow or drop shadow — so the two are composed into one, under the glow's own
|
|
81
|
-
* trigger state when it has one.
|
|
82
|
-
*/
|
|
83
|
-
var withGlow = function (theme, effect, own) {
|
|
84
|
-
var base = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-shadow: ", ";\n "], ["\n box-shadow: ", ";\n "])), own);
|
|
85
|
-
if (!(effect === null || effect === void 0 ? void 0 : effect.glow)) {
|
|
86
|
-
return base;
|
|
87
|
-
}
|
|
88
|
-
var both = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n box-shadow: ", ", ", ";\n "], ["\n box-shadow: ", ", ", ";\n "])), (0, Effect_1.getGlowBoxShadow)(theme, effect.glow), own);
|
|
89
|
-
switch (effect.glow.when) {
|
|
90
|
-
case 'hover':
|
|
91
|
-
return (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n &:hover {\n ", "\n }\n "], ["\n ", "\n &:hover {\n ", "\n }\n "])), base, both);
|
|
92
|
-
case 'focus':
|
|
93
|
-
return (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", "\n &:focus {\n ", "\n }\n "], ["\n ", "\n &:focus {\n ", "\n }\n "])), base, both);
|
|
94
|
-
case 'active':
|
|
95
|
-
return (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n &:active {\n ", "\n }\n "], ["\n ", "\n &:active {\n ", "\n }\n "])), base, both);
|
|
96
|
-
default:
|
|
97
|
-
return both;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
var NavRailSurface = (0, styled_components_1.default)(Effect_1.StyledEffect)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n display: inline-flex;\n flex-flow: column nowrap;\n align-items: center;\n width: fit-content;\n gap: ", "px;\n padding: ", "px;\n border-radius: ", ";\n /* Labels widen the rail (a hover dwell, a menu closing): let a browser that can\n interpolate `fit-content` slide it open rather than snap. Elsewhere this is\n ignored and the rail simply resizes. */\n interpolate-size: allow-keywords;\n transition: width 0.2s ease-out;\n\n background-color: ", ";\n border: ", ";\n ", "\n ", "\n\n ", "\n\n /* Expanded: cap the rail and let the scroll box inside shrink to fit \u2014 a\n floating rail also stays inside its positioned ancestor. */\n ", "\n\n ", "\n"], ["\n display: inline-flex;\n flex-flow: column nowrap;\n align-items: center;\n width: fit-content;\n gap: ", "px;\n padding: ", "px;\n border-radius: ", ";\n /* Labels widen the rail (a hover dwell, a menu closing): let a browser that can\n interpolate \\`fit-content\\` slide it open rather than snap. Elsewhere this is\n ignored and the rail simply resizes. */\n interpolate-size: allow-keywords;\n transition: width 0.2s ease-out;\n\n background-color: ", ";\n border: ", ";\n ", "\n ", "\n\n ", "\n\n /* Expanded: cap the rail and let the scroll box inside shrink to fit \u2014 a\n floating rail also stays inside its positioned ancestor. */\n ", "\n\n ", "\n"])), function (_a) {
|
|
101
|
-
var $gap = _a.$gap;
|
|
102
|
-
return $gap;
|
|
103
|
-
}, function (_a) {
|
|
104
|
-
var $padding = _a.$padding;
|
|
105
|
-
return $padding;
|
|
106
|
-
}, function (_a) {
|
|
107
|
-
var $pill = _a.$pill, $radius = _a.$radius;
|
|
108
|
-
return ($pill ? '9999px' : "".concat($radius, "px"));
|
|
109
|
-
}, function (_a) {
|
|
110
|
-
var theme = _a.theme, $transparent = _a.$transparent, $opacity = _a.$opacity, $bgLightness = _a.$bgLightness;
|
|
111
|
-
return $transparent
|
|
112
|
-
? 'transparent'
|
|
113
|
-
: (0, polished_1.rgba)((0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), $bgLightness), $opacity);
|
|
114
|
-
}, function (_a) {
|
|
115
|
-
var $flat = _a.$flat, theme = _a.theme, $borderLightness = _a.$borderLightness;
|
|
116
|
-
return $flat
|
|
117
|
-
? 'none'
|
|
118
|
-
: "1px solid ".concat((0, polished_1.rgba)((0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), $borderLightness), 0.7));
|
|
119
|
-
}, function (_a) {
|
|
120
|
-
var $blur = _a.$blur, $opacity = _a.$opacity;
|
|
121
|
-
return $blur && $opacity < 1 && (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n backdrop-filter: blur(", "px);\n "], ["\n backdrop-filter: blur(", "px);\n "])), $blur);
|
|
122
|
-
}, function (_a) {
|
|
123
|
-
var $raised = _a.$raised, $flat = _a.$flat, effect = _a.effect, theme = _a.theme;
|
|
124
|
-
return $raised && $flat && withGlow(theme, effect, styles_1.RAISED_SHADOWS);
|
|
125
|
-
}, function (_a) {
|
|
126
|
-
var $floating = _a.$floating, $position = _a.$position, $offset = _a.$offset;
|
|
127
|
-
return $floating &&
|
|
128
|
-
$position !== 'static' && (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n position: absolute;\n top: 50%;\n ", ": ", "px;\n transform: translateY(-50%);\n z-index: 8;\n max-height: calc(100% - 8px);\n "], ["\n position: absolute;\n top: 50%;\n ", ": ", "px;\n transform: translateY(-50%);\n z-index: 8;\n max-height: calc(100% - 8px);\n "])), $position, $offset);
|
|
129
|
-
}, function (_a) {
|
|
130
|
-
var $maxHeight = _a.$maxHeight, $floating = _a.$floating, $position = _a.$position;
|
|
131
|
-
return $maxHeight && (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n box-sizing: border-box;\n max-height: ", ";\n "], ["\n box-sizing: border-box;\n max-height: ", ";\n "])), $floating && $position !== 'static'
|
|
132
|
-
? "min(".concat($maxHeight, ", calc(100% - 8px))")
|
|
133
|
-
: $maxHeight);
|
|
134
|
-
}, function (_a) {
|
|
135
|
-
var $revealMode = _a.$revealMode, $shown = _a.$shown, $restOpacity = _a.$restOpacity;
|
|
136
|
-
return $revealMode && (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n opacity: ", ";\n /* Only truly-hidden (revealOnScroll, restOpacity 0) blocks pointer events;\n a dimmed idle rail must stay hoverable so it can reveal itself. */\n pointer-events: ", ";\n transition: opacity 220ms ease, width 0.2s ease-out;\n "], ["\n opacity: ", ";\n /* Only truly-hidden (revealOnScroll, restOpacity 0) blocks pointer events;\n a dimmed idle rail must stay hoverable so it can reveal itself. */\n pointer-events: ", ";\n transition: opacity 220ms ease, width 0.2s ease-out;\n "])), $shown ? 1 : $restOpacity, $shown || $restOpacity > 0 ? 'auto' : 'none');
|
|
137
|
-
});
|
|
138
|
-
// The active page's "expanded" container. Built on StyledEffect so an
|
|
139
|
-
// `activeEffect` gradient paints it (like the outer rail); the intent tint is
|
|
140
|
-
// the fallback when no gradient is given.
|
|
141
|
-
var ActiveGroupSurface = (0, styled_components_1.default)(Effect_1.StyledEffect)(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n align-items: center;\n gap: ", "px;\n padding: 0 0 ", "px;\n /* Top cap hugs the (larger) page mark, bottom cap hugs the (smaller) section\n mark \u2014 so both ends sit flush instead of the bottom bulging. */\n border-radius: ", ";\n ", "\n /* The ring is a shadow layer too \u2014 composed with the active effect's glow. */\n ", "\n /* A labelled group spans the rail so its (fluid) marks can fill the width;\n the section divider inside stays centred by the group's own alignment. */\n ", "\n"], ["\n display: flex;\n flex-flow: column nowrap;\n align-items: center;\n gap: ", "px;\n padding: 0 0 ", "px;\n /* Top cap hugs the (larger) page mark, bottom cap hugs the (smaller) section\n mark \u2014 so both ends sit flush instead of the bottom bulging. */\n border-radius: ", ";\n ", "\n /* The ring is a shadow layer too \u2014 composed with the active effect's glow. */\n ", "\n /* A labelled group spans the rail so its (fluid) marks can fill the width;\n the section divider inside stays centred by the group's own alignment. */\n ", "\n"])), function (_a) {
|
|
142
|
-
var $gap = _a.$gap;
|
|
143
|
-
return $gap;
|
|
144
|
-
}, function (_a) {
|
|
145
|
-
var $padBottom = _a.$padBottom;
|
|
146
|
-
return $padBottom;
|
|
147
|
-
}, function (_a) {
|
|
148
|
-
var $radiusTop = _a.$radiusTop, $radiusBottom = _a.$radiusBottom;
|
|
149
|
-
return "".concat($radiusTop, "px ").concat($radiusTop, "px ").concat($radiusBottom, "px ").concat($radiusBottom, "px");
|
|
150
|
-
}, function (_a) {
|
|
151
|
-
var $tint = _a.$tint;
|
|
152
|
-
return $tint && (0, styled_components_1.css)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n background-color: ", ";\n "], ["\n background-color: ", ";\n "])), $tint);
|
|
153
|
-
}, function (_a) {
|
|
154
|
-
var $ring = _a.$ring, effect = _a.effect, theme = _a.theme;
|
|
155
|
-
return withGlow(theme, effect, "inset 0 0 0 1px ".concat($ring));
|
|
156
|
-
}, function (_a) {
|
|
157
|
-
var $labelled = _a.$labelled;
|
|
158
|
-
return $labelled && (0, styled_components_1.css)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n align-self: stretch;\n "], ["\n align-self: stretch;\n "])));
|
|
159
|
-
});
|
|
160
|
-
/* The scroll region of the rail. Inert unless the rail is expanded: no overflow
|
|
161
|
-
(so a mark's glow can still bleed past its edge), no visible fades, no
|
|
162
|
-
layout of its own — the marks sit exactly where they did.
|
|
163
|
-
|
|
164
|
-
Expanded, the wrapper carries the vignette: overlay gradients on THIS
|
|
165
|
-
element rather than inside the scroll box, where they would scroll away with
|
|
166
|
-
the marks. Which edges fade is a measurement carried by classes (see
|
|
167
|
-
`useScrollFade` for why it is never state). The fades reach into the rail's
|
|
168
|
-
padding — the box below bleeds by the same amount — so the vignette spans the
|
|
169
|
-
surface edge to edge, and they take the surface's inner radius so the corners
|
|
170
|
-
never poke out of the pill. `pointer-events: none` keeps them from swallowing
|
|
171
|
-
a click on the mark beneath. */
|
|
172
|
-
var NavRailScroll = styled_components_1.default.div.withConfig({
|
|
173
|
-
// A control group hands every non-intrinsic child its own props; none of them
|
|
174
|
-
// belong on this div.
|
|
175
|
-
shouldForwardProp: (0, styled_1.omitStyleProps)('size', 'intent', 'fluid', 'fixed', 'fill', 'flat', 'minimal', 'stack', 'spaceBetween', 'customTheme'),
|
|
176
|
-
})(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-flow: column nowrap;\n min-height: 0;\n\n ", "\n\n /* A labelled rail's marks span the column, so the region must too. */\n ", "\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n left: ", "px;\n right: ", "px;\n height: ", "px;\n pointer-events: none;\n z-index: 2;\n opacity: 0;\n transition: opacity 0.15s ease-out;\n }\n\n &::before {\n top: 0;\n border-radius: ", ";\n background: linear-gradient(\n to bottom,\n ", ",\n ", "\n );\n }\n\n &::after {\n bottom: 0;\n border-radius: ", ";\n background: linear-gradient(\n to top,\n ", ",\n ", "\n );\n }\n\n &.reqore-nav-rail-fade-top::before {\n opacity: 1;\n }\n\n &.reqore-nav-rail-fade-bottom::after {\n opacity: 1;\n }\n"], ["\n position: relative;\n display: flex;\n flex-flow: column nowrap;\n min-height: 0;\n\n ", "\n\n /* A labelled rail's marks span the column, so the region must too. */\n ", "\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n left: ", "px;\n right: ", "px;\n height: ", "px;\n pointer-events: none;\n z-index: 2;\n opacity: 0;\n transition: opacity 0.15s ease-out;\n }\n\n &::before {\n top: 0;\n border-radius: ", ";\n background: linear-gradient(\n to bottom,\n ", ",\n ", "\n );\n }\n\n &::after {\n bottom: 0;\n border-radius: ", ";\n background: linear-gradient(\n to top,\n ", ",\n ", "\n );\n }\n\n &.reqore-nav-rail-fade-top::before {\n opacity: 1;\n }\n\n &.reqore-nav-rail-fade-bottom::after {\n opacity: 1;\n }\n"])), function (_a) {
|
|
177
|
-
var $scrollable = _a.$scrollable;
|
|
178
|
-
return $scrollable && (0, styled_components_1.css)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n flex: 1 1 auto;\n "], ["\n flex: 1 1 auto;\n "])));
|
|
179
|
-
}, function (_a) {
|
|
180
|
-
var $labelled = _a.$labelled;
|
|
181
|
-
return $labelled && (0, styled_components_1.css)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n align-self: stretch;\n "], ["\n align-self: stretch;\n "])));
|
|
182
|
-
}, function (_a) {
|
|
183
|
-
var $bleed = _a.$bleed;
|
|
184
|
-
return -$bleed;
|
|
185
|
-
}, function (_a) {
|
|
186
|
-
var $bleed = _a.$bleed;
|
|
187
|
-
return -$bleed;
|
|
188
|
-
}, function (_a) {
|
|
189
|
-
var $fadeSize = _a.$fadeSize;
|
|
190
|
-
return $fadeSize;
|
|
191
|
-
}, function (_a) {
|
|
192
|
-
var $fadeRadius = _a.$fadeRadius;
|
|
193
|
-
return "".concat($fadeRadius, "px ").concat($fadeRadius, "px 0 0");
|
|
194
|
-
}, function (_a) {
|
|
195
|
-
var $fadeFrom = _a.$fadeFrom;
|
|
196
|
-
return $fadeFrom;
|
|
197
|
-
}, function (_a) {
|
|
198
|
-
var $fadeTo = _a.$fadeTo;
|
|
199
|
-
return $fadeTo;
|
|
200
|
-
}, function (_a) {
|
|
201
|
-
var $fadeRadius = _a.$fadeRadius;
|
|
202
|
-
return "0 0 ".concat($fadeRadius, "px ").concat($fadeRadius, "px");
|
|
203
|
-
}, function (_a) {
|
|
204
|
-
var $fadeFrom = _a.$fadeFrom;
|
|
205
|
-
return $fadeFrom;
|
|
206
|
-
}, function (_a) {
|
|
207
|
-
var $fadeTo = _a.$fadeTo;
|
|
208
|
-
return $fadeTo;
|
|
209
|
-
});
|
|
210
|
-
/* The box that actually scrolls. The scrollbar is hidden on purpose: the
|
|
211
|
-
vignette IS the affordance, and a native bar is wider than the gap between
|
|
212
|
-
marks. Wheel, trackpad, touch and keyboard still scroll it. The negative
|
|
213
|
-
margin / padding pair widens the clip box into the rail's padding without
|
|
214
|
-
moving the marks, so a glow or raised shadow is clipped at the surface, not
|
|
215
|
-
at the mark. */
|
|
216
|
-
var NavRailScrollBox = styled_components_1.default.div(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n min-height: 0;\n\n ", "\n"], ["\n display: flex;\n flex-flow: column nowrap;\n min-height: 0;\n\n ", "\n"])), function (_a) {
|
|
217
|
-
var $scrollable = _a.$scrollable, $bleed = _a.$bleed;
|
|
218
|
-
return $scrollable && (0, styled_components_1.css)(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n overflow-y: auto;\n overflow-x: hidden;\n margin: 0 ", "px;\n padding: 0 ", "px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n "], ["\n overflow-y: auto;\n overflow-x: hidden;\n margin: 0 ", "px;\n padding: 0 ", "px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n "])), -$bleed, $bleed);
|
|
219
|
-
});
|
|
220
|
-
// Hoisted so the memo'd control group / spacer children see stable objects.
|
|
221
|
-
var EXPANDED_GROUP_STYLE = { minHeight: 0, flex: '1 1 auto' };
|
|
222
|
-
// A labelled rail aligns its column to the leading edge (so fluid marks can
|
|
223
|
-
// stretch); a divider has a fixed width and must be re-centred by hand.
|
|
224
|
-
var LABELLED_DIVIDER_STYLE = { alignSelf: 'center' };
|
|
225
|
-
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
226
|
-
/** Keep the active item inside the shown window, folding the rest to overflow. */
|
|
227
|
-
function splitAroundActive(list, activeId, max) {
|
|
228
|
-
if (max >= list.length || max <= 0)
|
|
229
|
-
return { shown: list, hidden: [] };
|
|
230
|
-
var activeIdx = Math.max(0, list.findIndex(function (x) { return x.id === activeId; }));
|
|
231
|
-
var start = activeIdx >= max ? activeIdx - max + 1 : 0;
|
|
232
|
-
var shown = list.slice(start, start + max);
|
|
233
|
-
var ids = new Set(shown.map(function (x) { return x.id; }));
|
|
234
|
-
return { shown: shown, hidden: list.filter(function (x) { return !ids.has(x.id); }) };
|
|
235
|
-
}
|
|
236
|
-
/** Measure the positioned ancestor's height (for overflow budgeting). */
|
|
237
|
-
function useAncestorHeight(enabled, maxHeight, ref) {
|
|
238
|
-
var _a = (0, react_1.useState)(maxHeight), height = _a[0], setHeight = _a[1];
|
|
239
|
-
(0, react_1.useEffect)(function () {
|
|
240
|
-
if (typeof maxHeight === 'number') {
|
|
241
|
-
setHeight(maxHeight);
|
|
242
|
-
return undefined;
|
|
243
|
-
}
|
|
244
|
-
if (!enabled || !ref.current)
|
|
245
|
-
return undefined;
|
|
246
|
-
var parent = ref.current.offsetParent;
|
|
247
|
-
if (!parent)
|
|
248
|
-
return undefined;
|
|
249
|
-
var update = function () { return setHeight(parent.clientHeight); };
|
|
250
|
-
var ro = new ResizeObserver(update);
|
|
251
|
-
ro.observe(parent);
|
|
252
|
-
update();
|
|
253
|
-
return function () { return ro.disconnect(); };
|
|
254
|
-
}, [enabled, maxHeight, ref]);
|
|
255
|
-
return height;
|
|
256
|
-
}
|
|
257
|
-
var resolvePadding = function (padded, size) {
|
|
258
|
-
if (padded === false)
|
|
259
|
-
return 0;
|
|
260
|
-
if (padded === undefined || padded === true)
|
|
261
|
-
return sizes_1.HALF_PADDING_FROM_SIZE[size];
|
|
262
|
-
return sizes_1.HALF_PADDING_FROM_SIZE[padded];
|
|
263
|
-
};
|
|
264
|
-
var NavRailOverflow = (0, react_1.memo)(function (_a) {
|
|
265
|
-
var items = _a.items, size = _a.size, placement = _a.placement, ariaLabel = _a.ariaLabel, _b = _a.tooltipSuffix, tooltipSuffix = _b === void 0 ? 'more' : _b, labelled = _a.labelled, onSelect = _a.onSelect, onOpenChange = _a.onOpenChange;
|
|
266
|
-
// Memoised so the memo'd ReqorePopover/ReqoreMenuItem children get stable
|
|
267
|
-
// props (no new object/closure per render).
|
|
268
|
-
var componentProps = (0, react_1.useMemo)(function () { return ({
|
|
269
|
-
icon: 'More2Line',
|
|
270
|
-
size: size,
|
|
271
|
-
flat: true,
|
|
272
|
-
minimal: true,
|
|
273
|
-
circle: !labelled,
|
|
274
|
-
pill: !!labelled,
|
|
275
|
-
fluid: !!labelled,
|
|
276
|
-
raised: true,
|
|
277
|
-
'aria-label': ariaLabel,
|
|
278
|
-
className: 'reqore-nav-rail-overflow',
|
|
279
|
-
tooltip: labelled ? undefined : { content: "".concat(items.length, " ").concat(tooltipSuffix), placement: placement },
|
|
280
|
-
label: labelled ? "".concat(items.length, " ").concat(tooltipSuffix) : undefined,
|
|
281
|
-
}); }, [size, ariaLabel, placement, items.length, tooltipSuffix, labelled]);
|
|
282
|
-
var handleItemClick = (0, react_1.useCallback)(function (_event, itemId) {
|
|
283
|
-
if (itemId)
|
|
284
|
-
onSelect(itemId);
|
|
285
|
-
}, [onSelect]);
|
|
286
|
-
// Height-capped so a long overflow list (many hidden pages) never runs off
|
|
287
|
-
// the viewport — sensible on mobile too (70vh, never past 480px); it scrolls
|
|
288
|
-
// past that (ReqoreMenu is overflow-y:auto).
|
|
289
|
-
var content = (0, react_1.useMemo)(function () { return ((0, jsx_runtime_1.jsx)(Menu_1.default, { rounded: true, padded: true, width: '210px', maxHeight: 'min(70vh, 480px)', children: items.map(function (it) { return ((0, jsx_runtime_1.jsx)(item_1.default, { itemId: it.id, icon: it.icon, selected: it.active, intent: it.active ? 'info' : undefined, onClick: handleItemClick, children: it.label }, it.id)); }) })); }, [items, handleItemClick]);
|
|
290
|
-
return ((0, jsx_runtime_1.jsx)(Popover_1.ReqorePopover, { component: Button_1.default, componentProps: componentProps,
|
|
291
|
-
// The trigger IS the mark: rendered directly, not boxed in the popover's
|
|
292
|
-
// wrapper span — that span would be the flex child in the mark's place
|
|
293
|
-
// (so a labelled, fluid trigger could never stretch to the rail's width)
|
|
294
|
-
// and its overflow:hidden would clip the mark's raised shadow.
|
|
295
|
-
isReqoreComponent: true, handler: 'click', placement: placement, closeOnInsideClick: true, noArrow: true, noWrapper: true, onToggleChange: onOpenChange, content: content }));
|
|
296
|
-
});
|
|
297
|
-
// The one overflow affordance of an `expandable` rail. Shaped like a mark
|
|
298
|
-
// (circle, or a fluid pill on a labelled rail) so it reads as part of the
|
|
299
|
-
// column, with a chevron pointing the way the rail will grow.
|
|
300
|
-
var NavRailExpandToggle = (0, react_1.memo)(function (_a) {
|
|
301
|
-
var expanded = _a.expanded, hiddenCount = _a.hiddenCount, size = _a.size, tipSide = _a.tipSide, labelled = _a.labelled, expandLabel = _a.expandLabel, collapseLabel = _a.collapseLabel, tooltipSuffix = _a.tooltipSuffix, onToggle = _a.onToggle;
|
|
302
|
-
var text = expanded ? collapseLabel : "".concat(hiddenCount, " ").concat(tooltipSuffix);
|
|
303
|
-
var tooltip = (0, react_1.useMemo)(function () { return ({ content: text, placement: tipSide }); }, [text, tipSide]);
|
|
304
|
-
return ((0, jsx_runtime_1.jsx)(Button_1.default, { icon: expanded ? 'ArrowUpSLine' : 'ArrowDownSLine', size: size, flat: true, minimal: true, raised: true, circle: !labelled, pill: !!labelled, fluid: !!labelled, "aria-label": expanded ? collapseLabel : expandLabel, "aria-expanded": expanded, className: 'reqore-nav-rail-expand', tooltip: labelled ? undefined : tooltip, label: labelled ? text : undefined, onClick: onToggle }));
|
|
305
|
-
});
|
|
306
|
-
// One circular mark. Kept as its own memo'd component so its `tooltip` object
|
|
307
|
-
// and `onClick` closure are stabilised (useMemo/useCallback) rather than created
|
|
308
|
-
// inline in a `.map()` and passed to the memo'd ReqoreButton every render.
|
|
309
|
-
var NavRailMark = (0, react_1.memo)(function (_a) {
|
|
310
|
-
var id = _a.id, label = _a.label, icon = _a.icon, iconImage = _a.iconImage, size = _a.size, intent = _a.intent, effect = _a.effect, disabled = _a.disabled, active = _a.active, labelled = _a.labelled, tipSide = _a.tipSide, className = _a.className, ariaCurrent = _a.ariaCurrent, onSelect = _a.onSelect, buttonProps = _a.buttonProps;
|
|
311
|
-
var tooltip = (0, react_1.useMemo)(function () { return ({ content: label, placement: tipSide }); }, [label, tipSide]);
|
|
312
|
-
var handleClick = (0, react_1.useCallback)(function () { return onSelect(id); }, [onSelect, id]);
|
|
313
|
-
// An image mark renders through the button's left-icon slot; merge with any
|
|
314
|
-
// caller-supplied leftIconProps so `iconImage` and `props.leftIconProps`
|
|
315
|
-
// coexist (the image wins the `image` key).
|
|
316
|
-
var leftIconProps = (0, react_1.useMemo)(function () {
|
|
317
|
-
return iconImage
|
|
318
|
-
? __assign(__assign({}, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIconProps), { image: iconImage }) : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIconProps;
|
|
319
|
-
}, [iconImage, buttonProps]);
|
|
320
|
-
return ((0, jsx_runtime_1.jsx)(Button_1.default
|
|
321
|
-
// Escape hatch first, so the rail's own structural / behavioural props
|
|
322
|
-
// below always win (the mark can be tuned but never broken).
|
|
323
|
-
, __assign({}, buttonProps, { circle: !labelled, pill: labelled || (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.pill), fluid: labelled || (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.fluid), size: size, icon: icon, leftIconProps: leftIconProps, flat: true,
|
|
324
|
-
// Active marks fill in (solid + the `active` highlight) so they lift out
|
|
325
|
-
// of the rail / the active group's surface; resting marks stay minimal.
|
|
326
|
-
minimal: !active, active: active, raised: true, disabled: disabled, intent: intent, effect: effect, className: className, "aria-label": label, "aria-current": ariaCurrent, tooltip: labelled ? undefined : tooltip, label: labelled ? label : undefined, onClick: handleClick })));
|
|
327
|
-
});
|
|
328
|
-
// ── Component ─────────────────────────────────────────────────────────────────
|
|
329
|
-
/**
|
|
330
|
-
* A compact navigation rail: a thin column of circular marks for primary
|
|
331
|
-
* destinations, with the active destination's sub-items nested directly beneath
|
|
332
|
-
* it in a distinct sub-capsule. Overflow folds into a `⋮` flyout — or, with
|
|
333
|
-
* `expandable`, behind a toggle that grows the rail in place (capped, then
|
|
334
|
-
* scrolling behind a vignette). It can pin to a gutter and rest dimmed until
|
|
335
|
-
* approached (or, for mobile, stay hidden and appear only while scrolling); its
|
|
336
|
-
* sub-items can drive and follow page scroll via `scrollSpy` + `scrollTargetId`;
|
|
337
|
-
* and `showLabels` widens it into a labelled rail — always, or after the pointer
|
|
338
|
-
* has rested on it for a moment.
|
|
339
|
-
*/
|
|
340
|
-
exports.ReqoreNavRail = (0, react_1.memo)(function (_a) {
|
|
341
|
-
var _b, _c, _d;
|
|
342
|
-
var items = _a.items, activeId = _a.activeId, activeSubId = _a.activeSubId, defaultActiveId = _a.defaultActiveId, defaultActiveSubId = _a.defaultActiveSubId, onItemClick = _a.onItemClick, onSubClick = _a.onSubClick, _e = _a.position, position = _e === void 0 ? 'left' : _e, floating = _a.floating, idleReveal = _a.idleReveal, _f = _a.idleOpacity, idleOpacity = _f === void 0 ? 0.34 : _f, revealOnScroll = _a.revealOnScroll, _g = _a.scrollHideDelay, scrollHideDelay = _g === void 0 ? 1100 : _g, _h = _a.offset, offset = _h === void 0 ? 14 : _h, scrollContainer = _a.scrollContainer, scrollSpy = _a.scrollSpy, maxHeight = _a.maxHeight, maxItems = _a.maxItems, expandable = _a.expandable, expanded = _a.expanded, _j = _a.defaultExpanded, defaultExpanded = _j === void 0 ? false : _j, onExpandedChange = _a.onExpandedChange, _k = _a.expandedMaxHeight, expandedMaxHeight = _k === void 0 ? '95vh' : _k, fadeColor = _a.fadeColor, showLabels = _a.showLabels, _l = _a.showLabelsDelay, showLabelsDelay = _l === void 0 ? 1500 : _l, _m = _a.size, size = _m === void 0 ? 'small' : _m, intent = _a.intent, effect = _a.effect, activeEffect = _a.activeEffect, _o = _a.flat, flat = _o === void 0 ? false : _o, minimal = _a.minimal, transparent = _a.transparent, _p = _a.rounded, rounded = _p === void 0 ? true : _p, radiusSize = _a.radiusSize, _q = _a.padded, padded = _q === void 0 ? true : _q, raised = _a.raised, _r = _a.opacity, opacity = _r === void 0 ? 1 : _r, _s = _a.blur, blur = _s === void 0 ? 4 : _s, customTheme = _a.customTheme, inheritCustomTheme = _a.inheritCustomTheme, header = _a.header, footer = _a.footer, className = _a.className, style = _a.style, _t = _a.moreItemsLabel, moreItemsLabel = _t === void 0 ? 'More items' : _t, _u = _a.moreSectionsLabel, moreSectionsLabel = _u === void 0 ? 'More sections' : _u, _v = _a.overflowTooltipSuffix, overflowTooltipSuffix = _v === void 0 ? 'more' : _v, _w = _a.activeGroupAriaLabelSuffix, activeGroupAriaLabelSuffix = _w === void 0 ? 'sections' : _w, _x = _a.expandLabel, expandLabel = _x === void 0 ? 'Show all items' : _x, _y = _a.collapseLabel, collapseLabel = _y === void 0 ? 'Show fewer items' : _y;
|
|
343
|
-
// NB: `intent` is deliberately NOT fed to the theme here — it must not
|
|
344
|
-
// recolour the whole rail surface; it only drives the active accent + the
|
|
345
|
-
// active group's tint (see `activeIntent` / `renderActiveGroup`).
|
|
346
|
-
var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme, undefined, undefined, inheritCustomTheme);
|
|
347
|
-
var isHoverCapable = (0, useReqoreContext_1.useReqoreProperty)('isHoverCapable');
|
|
348
|
-
var subSize = (0, utils_1.getOneLessSize)(size);
|
|
349
|
-
var tipSide = position === 'right' ? 'left' : 'right';
|
|
350
|
-
var activeIntent = intent !== null && intent !== void 0 ? intent : 'info';
|
|
351
|
-
var isTransparent = !!(transparent || minimal);
|
|
352
|
-
var isFlat = !!(flat || minimal);
|
|
353
|
-
var _z = (0, react_1.useState)(defaultActiveId !== null && defaultActiveId !== void 0 ? defaultActiveId : (_b = items[0]) === null || _b === void 0 ? void 0 : _b.id), internalId = _z[0], setInternalId = _z[1];
|
|
354
|
-
var activeItemId = activeId !== null && activeId !== void 0 ? activeId : internalId;
|
|
355
|
-
var activeItem = (0, react_1.useMemo)(function () { return items.find(function (i) { return i.id === activeItemId; }); }, [items, activeItemId]);
|
|
356
|
-
var subItems = (0, react_1.useMemo)(function () { var _a; return (_a = activeItem === null || activeItem === void 0 ? void 0 : activeItem.items) !== null && _a !== void 0 ? _a : []; }, [activeItem]);
|
|
357
|
-
var _0 = (0, react_1.useState)(defaultActiveSubId), internalSubId = _0[0], setInternalSubId = _0[1];
|
|
358
|
-
var activeSubItemId = (_c = activeSubId !== null && activeSubId !== void 0 ? activeSubId : internalSubId) !== null && _c !== void 0 ? _c : (_d = subItems[0]) === null || _d === void 0 ? void 0 : _d.id;
|
|
359
|
-
var _1 = (0, react_1.useState)(defaultExpanded), internalExpanded = _1[0], setInternalExpanded = _1[1];
|
|
360
|
-
var isExpanded = !!expandable && (expanded !== null && expanded !== void 0 ? expanded : internalExpanded);
|
|
361
|
-
var toggleExpanded = (0, react_1.useCallback)(function () {
|
|
362
|
-
var next = !(expanded !== null && expanded !== void 0 ? expanded : internalExpanded);
|
|
363
|
-
if (expanded === undefined)
|
|
364
|
-
setInternalExpanded(next);
|
|
365
|
-
onExpandedChange === null || onExpandedChange === void 0 ? void 0 : onExpandedChange(next);
|
|
366
|
-
}, [expanded, internalExpanded, onExpandedChange]);
|
|
367
|
-
// Labels on a dwell are a pointer nicety: on a touch screen there is no
|
|
368
|
-
// hover to rest in, so the rail stays icon-only (with its tooltips and
|
|
369
|
-
// overflow names) rather than half-working. `isHoverCapable` defaults to
|
|
370
|
-
// capable where the query cannot be evaluated.
|
|
371
|
-
var hoverLabels = showLabels === 'hover' && isHoverCapable !== false;
|
|
372
|
-
var _2 = (0, react_1.useState)(false), dwellLabels = _2[0], setDwellLabels = _2[1];
|
|
373
|
-
var labelled = showLabels === true || (hoverLabels && dwellLabels);
|
|
374
|
-
// What the header / footer are told, so a control can follow the marks.
|
|
375
|
-
var slotState = (0, react_1.useMemo)(function () { return ({ labelled: labelled, expanded: isExpanded, size: size }); }, [labelled, isExpanded, size]);
|
|
376
|
-
var renderSlot = function (slot) {
|
|
377
|
-
return typeof slot === 'function' ? slot(slotState) : slot;
|
|
378
|
-
};
|
|
379
|
-
var _3 = (0, react_1.useState)(false), hovered = _3[0], setHovered = _3[1];
|
|
380
|
-
var _4 = (0, react_1.useState)(false), scrolling = _4[0], setScrolling = _4[1];
|
|
381
|
-
var _5 = (0, react_1.useState)(0), openMenus = _5[0], setOpenMenus = _5[1];
|
|
382
|
-
var onMenuToggle = (0, react_1.useCallback)(function (open) { return setOpenMenus(function (c) { return Math.max(0, c + (open ? 1 : -1)); }); }, []);
|
|
383
|
-
// Read by the native pointer handlers below, which are bound once.
|
|
384
|
-
var hoveredRef = (0, react_1.useRef)(false);
|
|
385
|
-
var openMenusRef = (0, react_1.useRef)(0);
|
|
386
|
-
var railRef = (0, react_1.useRef)(null);
|
|
387
|
-
var budgetOn = !!floating || typeof maxHeight === 'number';
|
|
388
|
-
var availHeight = useAncestorHeight(budgetOn, maxHeight, railRef);
|
|
389
|
-
// Idle-reveal hover and the label dwell use NATIVE mouseenter/leave on the
|
|
390
|
-
// rail element, not React's — React routes enter/leave through the React
|
|
391
|
-
// tree, so a portalled child (a mark's tooltip) counts as "inside" and the
|
|
392
|
-
// leave never fires when a tooltip is up. Native DOM events use real subtree
|
|
393
|
-
// containment instead.
|
|
394
|
-
(0, react_1.useEffect)(function () {
|
|
395
|
-
if (!idleReveal && !hoverLabels)
|
|
396
|
-
return undefined;
|
|
397
|
-
var el = railRef.current;
|
|
398
|
-
if (!el)
|
|
399
|
-
return undefined;
|
|
400
|
-
var dwell;
|
|
401
|
-
var enter = function () {
|
|
402
|
-
hoveredRef.current = true;
|
|
403
|
-
if (idleReveal)
|
|
404
|
-
setHovered(true);
|
|
405
|
-
if (hoverLabels) {
|
|
406
|
-
clearTimeout(dwell);
|
|
407
|
-
dwell = setTimeout(function () { return setDwellLabels(true); }, showLabelsDelay);
|
|
408
|
-
}
|
|
409
|
-
};
|
|
410
|
-
var leave = function () {
|
|
411
|
-
hoveredRef.current = false;
|
|
412
|
-
clearTimeout(dwell);
|
|
413
|
-
if (idleReveal)
|
|
414
|
-
setHovered(false);
|
|
415
|
-
// While a flyout opened from the rail is up the pointer is in the menu,
|
|
416
|
-
// and narrowing the rail would move the menu's anchor: keep the labels
|
|
417
|
-
// until the menu closes (see the effect on `openMenus`).
|
|
418
|
-
if (hoverLabels && openMenusRef.current === 0)
|
|
419
|
-
setDwellLabels(false);
|
|
420
|
-
};
|
|
421
|
-
el.addEventListener('mouseenter', enter);
|
|
422
|
-
el.addEventListener('mouseleave', leave);
|
|
423
|
-
return function () {
|
|
424
|
-
clearTimeout(dwell);
|
|
425
|
-
el.removeEventListener('mouseenter', enter);
|
|
426
|
-
el.removeEventListener('mouseleave', leave);
|
|
427
|
-
};
|
|
428
|
-
}, [idleReveal, hoverLabels, showLabelsDelay]);
|
|
429
|
-
// The last menu closing with the pointer already gone is the deferred
|
|
430
|
-
// "leave" from above.
|
|
431
|
-
(0, react_1.useEffect)(function () {
|
|
432
|
-
openMenusRef.current = openMenus;
|
|
433
|
-
if (openMenus === 0 && !hoveredRef.current)
|
|
434
|
-
setDwellLabels(false);
|
|
435
|
-
}, [openMenus]);
|
|
436
|
-
// Budget marks to the height; sections get ~40% (min 2), pages the rest.
|
|
437
|
-
var markH = sizes_1.SIZE_TO_PX[size] + sizes_1.GAP_FROM_SIZE[size];
|
|
438
|
-
var reserve = markH * 2 + 44; // header/footer/sub-capsule chrome
|
|
439
|
-
var slots = availHeight === undefined
|
|
440
|
-
? Number.POSITIVE_INFINITY
|
|
441
|
-
: Math.max(4, Math.floor((availHeight - reserve) / markH));
|
|
442
|
-
var subMax = Number.isFinite(slots)
|
|
443
|
-
? Math.min(subItems.length, Math.max(2, Math.round(slots * 0.4)))
|
|
444
|
-
: subItems.length;
|
|
445
|
-
var itemMax = Number.isFinite(slots) ? Math.max(2, slots - subMax) : items.length;
|
|
446
|
-
if (itemMax > items.length) {
|
|
447
|
-
itemMax = items.length;
|
|
448
|
-
subMax = Number.isFinite(slots)
|
|
449
|
-
? Math.min(subItems.length, Math.max(2, slots - itemMax))
|
|
450
|
-
: subItems.length;
|
|
451
|
-
}
|
|
452
|
-
// Hard count cap: the lower of the height budget and `maxItems` wins, so a
|
|
453
|
-
// short viewport can still show fewer than the cap.
|
|
454
|
-
if (typeof maxItems === 'number') {
|
|
455
|
-
itemMax = Math.min(itemMax, Math.max(1, Math.floor(maxItems)));
|
|
456
|
-
}
|
|
457
|
-
// What a COLLAPSED rail shows is always computed: expanded shows everything,
|
|
458
|
-
// and the toggle is offered only when collapsing would actually fold
|
|
459
|
-
// something — so an expanded rail nothing would hide never offers a "show
|
|
460
|
-
// fewer" that changes nothing.
|
|
461
|
-
var collapsedItems = splitAroundActive(items, activeItemId, itemMax);
|
|
462
|
-
var collapsedSubs = splitAroundActive(subItems, activeSubItemId, subMax);
|
|
463
|
-
var hiddenWhenCollapsed = collapsedItems.hidden.length + collapsedSubs.hidden.length;
|
|
464
|
-
var _6 = isExpanded
|
|
465
|
-
? { shown: items, hidden: [] }
|
|
466
|
-
: collapsedItems, itemsShown = _6.shown, itemsHidden = _6.hidden;
|
|
467
|
-
var _7 = isExpanded
|
|
468
|
-
? { shown: subItems, hidden: [] }
|
|
469
|
-
: collapsedSubs, subsShown = _7.shown, subsHidden = _7.hidden;
|
|
470
|
-
var activeAt = itemsShown.findIndex(function (i) { return i.id === activeItemId; });
|
|
471
|
-
var before = activeAt >= 0 ? itemsShown.slice(0, activeAt) : itemsShown; // before active
|
|
472
|
-
var after = activeAt >= 0 ? itemsShown.slice(activeAt + 1) : []; // after active
|
|
473
|
-
var selectItem = (0, react_1.useCallback)(function (item) {
|
|
474
|
-
var _a;
|
|
475
|
-
if (item.disabled)
|
|
476
|
-
return;
|
|
477
|
-
if (activeId === undefined) {
|
|
478
|
-
setInternalId(item.id);
|
|
479
|
-
setInternalSubId(undefined);
|
|
480
|
-
}
|
|
481
|
-
(_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item);
|
|
482
|
-
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item.id, item);
|
|
483
|
-
}, [activeId, onItemClick]);
|
|
484
|
-
var selectSub = (0, react_1.useCallback)(function (sub) {
|
|
485
|
-
var _a, _b;
|
|
486
|
-
if (sub.disabled)
|
|
487
|
-
return;
|
|
488
|
-
if (sub.scrollTargetId) {
|
|
489
|
-
(_a = document
|
|
490
|
-
.getElementById(sub.scrollTargetId)) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
491
|
-
}
|
|
492
|
-
if (activeSubId === undefined)
|
|
493
|
-
setInternalSubId(sub.id);
|
|
494
|
-
(_b = sub.onClick) === null || _b === void 0 ? void 0 : _b.call(sub);
|
|
495
|
-
onSubClick === null || onSubClick === void 0 ? void 0 : onSubClick(sub.id, sub);
|
|
496
|
-
}, [activeSubId, onSubClick]);
|
|
497
|
-
// Stable id-based select callbacks so the memo'd mark / overflow children
|
|
498
|
-
// don't receive a fresh closure each render.
|
|
499
|
-
var onItemSelect = (0, react_1.useCallback)(function (id) {
|
|
500
|
-
var item = items.find(function (i) { return i.id === id; });
|
|
501
|
-
if (item)
|
|
502
|
-
selectItem(item);
|
|
503
|
-
}, [items, selectItem]);
|
|
504
|
-
var onSubSelect = (0, react_1.useCallback)(function (id) {
|
|
505
|
-
var sub = subItems.find(function (s) { return s.id === id; });
|
|
506
|
-
if (sub)
|
|
507
|
-
selectSub(sub);
|
|
508
|
-
}, [subItems, selectSub]);
|
|
509
|
-
// Scroll-spy: as the user scrolls, highlight the last section whose top has
|
|
510
|
-
// passed a threshold below the container's top (when the sub-item isn't
|
|
511
|
-
// controlled). A plain scroll listener + getBoundingClientRect is used
|
|
512
|
-
// rather than IntersectionObserver, whose callback only reports the entries
|
|
513
|
-
// that *changed* — unreliable for "which section is current right now".
|
|
514
|
-
(0, react_1.useEffect)(function () {
|
|
515
|
-
var _a;
|
|
516
|
-
if (!scrollSpy || activeSubId !== undefined)
|
|
517
|
-
return undefined;
|
|
518
|
-
var targeted = subItems.filter(function (s) { return s.scrollTargetId; });
|
|
519
|
-
if (!targeted.length)
|
|
520
|
-
return undefined;
|
|
521
|
-
var container = (_a = scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.current) !== null && _a !== void 0 ? _a : null;
|
|
522
|
-
var scrollTarget = container !== null && container !== void 0 ? container : window;
|
|
523
|
-
var compute = function () {
|
|
524
|
-
var containerTop = container ? container.getBoundingClientRect().top : 0;
|
|
525
|
-
var viewport = container ? container.clientHeight : window.innerHeight;
|
|
526
|
-
var threshold = containerTop + Math.min(viewport * 0.3, 140);
|
|
527
|
-
var current = targeted[0].id;
|
|
528
|
-
for (var _i = 0, targeted_1 = targeted; _i < targeted_1.length; _i++) {
|
|
529
|
-
var s = targeted_1[_i];
|
|
530
|
-
var el = document.getElementById(s.scrollTargetId);
|
|
531
|
-
if (!el)
|
|
532
|
-
continue;
|
|
533
|
-
if (el.getBoundingClientRect().top <= threshold)
|
|
534
|
-
current = s.id;
|
|
535
|
-
else
|
|
536
|
-
break;
|
|
537
|
-
}
|
|
538
|
-
setInternalSubId(current);
|
|
539
|
-
};
|
|
540
|
-
compute();
|
|
541
|
-
scrollTarget.addEventListener('scroll', compute, { passive: true });
|
|
542
|
-
return function () { return scrollTarget.removeEventListener('scroll', compute); };
|
|
543
|
-
}, [scrollSpy, activeSubId, subItems, scrollContainer]);
|
|
544
|
-
// Reveal-on-scroll (mobile): show while scrolling, hide after a quiet delay.
|
|
545
|
-
(0, react_1.useEffect)(function () {
|
|
546
|
-
var _a;
|
|
547
|
-
if (!revealOnScroll)
|
|
548
|
-
return undefined;
|
|
549
|
-
var target = (_a = scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.current) !== null && _a !== void 0 ? _a : window;
|
|
550
|
-
var timer;
|
|
551
|
-
var onScroll = function () {
|
|
552
|
-
setScrolling(true);
|
|
553
|
-
clearTimeout(timer);
|
|
554
|
-
timer = setTimeout(function () { return setScrolling(false); }, scrollHideDelay);
|
|
555
|
-
};
|
|
556
|
-
target.addEventListener('scroll', onScroll, { passive: true });
|
|
557
|
-
return function () {
|
|
558
|
-
target.removeEventListener('scroll', onScroll);
|
|
559
|
-
clearTimeout(timer);
|
|
560
|
-
};
|
|
561
|
-
}, [revealOnScroll, scrollContainer, scrollHideDelay]);
|
|
562
|
-
// The vignette follows the scroll box's edges; off (classes cleared) while
|
|
563
|
-
// the rail is collapsed and nothing scrolls.
|
|
564
|
-
var scrollWrapRef = (0, react_1.useRef)(null);
|
|
565
|
-
var scrollBoxRef = (0, react_1.useRef)(null);
|
|
566
|
-
(0, useScrollFade_1.useScrollFade)({
|
|
567
|
-
scrollRef: scrollBoxRef,
|
|
568
|
-
targetRef: scrollWrapRef,
|
|
569
|
-
axis: 'y',
|
|
570
|
-
enabled: isExpanded,
|
|
571
|
-
startClassName: 'reqore-nav-rail-fade-top',
|
|
572
|
-
endClassName: 'reqore-nav-rail-fade-bottom',
|
|
573
|
-
});
|
|
574
|
-
var revealMode = !!idleReveal || !!revealOnScroll;
|
|
575
|
-
var shown = revealOnScroll
|
|
576
|
-
? scrolling || openMenus > 0
|
|
577
|
-
: idleReveal
|
|
578
|
-
? hovered || openMenus > 0
|
|
579
|
-
: true;
|
|
580
|
-
var restOpacity = revealOnScroll ? 0 : idleOpacity;
|
|
581
|
-
var pill = rounded && !radiusSize;
|
|
582
|
-
var radius = (0, sizes_1.resolveRadius)(size, radiusSize);
|
|
583
|
-
var pad = resolvePadding(padded, size);
|
|
584
|
-
// A labelled rail is wide: a 9999px radius would round its caps into
|
|
585
|
-
// semicircles. Keep the curvature of the icon-only pill instead, so the
|
|
586
|
-
// rail reads as the same object, just wider.
|
|
587
|
-
var pillRadius = Math.round(sizes_1.SIZE_TO_PX[size] / 2 + pad + 1);
|
|
588
|
-
var surfacePill = pill && !labelled;
|
|
589
|
-
var surfaceRadius = pill && labelled ? pillRadius : radius;
|
|
590
|
-
// The fade dissolves the marks into the rail's own surface (or, on a
|
|
591
|
-
// transparent rail, into the page behind it).
|
|
592
|
-
var fadeBase = fadeColor !== null && fadeColor !== void 0 ? fadeColor : (isTransparent
|
|
593
|
-
? (0, colors_1.getMainBackgroundColor)(theme)
|
|
594
|
-
: (0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), 0.02));
|
|
595
|
-
var fadeFrom = (0, polished_1.rgba)(fadeBase, isTransparent ? 1 : opacity);
|
|
596
|
-
var fadeTo = (0, polished_1.rgba)(fadeBase, 0);
|
|
597
|
-
var expandedCap = isExpanded
|
|
598
|
-
? typeof expandedMaxHeight === 'number'
|
|
599
|
-
? "".concat(expandedMaxHeight, "px")
|
|
600
|
-
: expandedMaxHeight
|
|
601
|
-
: undefined;
|
|
602
|
-
// Labelled marks are fluid pills that must span the column, so the column
|
|
603
|
-
// aligns to its leading edge instead of centring (and handing every child
|
|
604
|
-
// the auto side-margins that would keep it at its own width).
|
|
605
|
-
var columnAlign = labelled ? 'flex-start' : 'center';
|
|
606
|
-
var renderItem = function (item) {
|
|
607
|
-
var _a, _b;
|
|
608
|
-
var active = item.id === activeItemId;
|
|
609
|
-
return ((0, jsx_runtime_1.jsx)(NavRailMark, { id: item.id, label: item.label, icon: item.icon, iconImage: item.iconImage, size: size, disabled: item.disabled, active: active, labelled: labelled,
|
|
610
|
-
// A per-item effect (a "special" mark) wins and always paints; else the
|
|
611
|
-
// active mark takes the shared activeEffect, inactive marks none.
|
|
612
|
-
effect: (_a = item.effect) !== null && _a !== void 0 ? _a : (active ? activeEffect : undefined), intent: active ? (_b = item.intent) !== null && _b !== void 0 ? _b : activeIntent : item.intent, className: 'reqore-nav-rail-item', ariaCurrent: active ? 'page' : undefined, tipSide: tipSide, onSelect: onItemSelect, buttonProps: item.props }, item.id));
|
|
613
|
-
};
|
|
614
|
-
// A neutral separator drawn after a mark (item.dividerAfter) to give groups
|
|
615
|
-
// of items breathing room: extra vertical space (≈2.5× the mark gap), with a
|
|
616
|
-
// short centred line (`withLine`) so the break reads as intentional, or just
|
|
617
|
-
// the space (`'space'`) for a quieter break. Untinted; the rail never widens.
|
|
618
|
-
var renderDivider = function (key, withLine) { return ((0, jsx_runtime_1.jsx)(Spacer_1.ReqoreVerticalSpacer, {
|
|
619
|
-
// A line-less break needs a touch more space to register on its own.
|
|
620
|
-
height: Math.round(sizes_1.GAP_FROM_SIZE[size] * (withLine ? 2.5 : 3.5)), width: "".concat(Math.round(sizes_1.SIZE_TO_PX[size] * 0.66), "px"), lineSize: withLine ? 'small' : 'none', style: labelled ? LABELLED_DIVIDER_STYLE : undefined }, "".concat(key, "-divider"))); };
|
|
621
|
-
// A primary mark plus its optional trailing divider (React flattens the
|
|
622
|
-
// returned array; every child carries a key). `'space'` draws no line.
|
|
623
|
-
var renderPrimary = function (item) {
|
|
624
|
-
return item.dividerAfter
|
|
625
|
-
? [renderItem(item), renderDivider(item.id, item.dividerAfter !== 'space')]
|
|
626
|
-
: renderItem(item);
|
|
627
|
-
};
|
|
628
|
-
var renderSub = function (sub) {
|
|
629
|
-
var _a;
|
|
630
|
-
var active = sub.id === activeSubItemId;
|
|
631
|
-
return ((0, jsx_runtime_1.jsx)(NavRailMark, { id: sub.id, label: sub.label, icon: sub.icon, iconImage: sub.iconImage, size: subSize, disabled: sub.disabled, active: active, labelled: labelled, effect: active ? activeEffect : undefined, intent: active ? (_a = sub.intent) !== null && _a !== void 0 ? _a : activeIntent : sub.intent, className: 'reqore-nav-rail-subitem', ariaCurrent: active ? 'location' : undefined, tipSide: tipSide, onSelect: onSubSelect, buttonProps: sub.props }, sub.id));
|
|
632
|
-
};
|
|
633
|
-
// The active page's mark "expands" into the sub-rail: its own icon, a line
|
|
634
|
-
// separator, then its section marks — all inside one grouped container.
|
|
635
|
-
var renderActiveGroup = function (item) {
|
|
636
|
-
var _a, _b;
|
|
637
|
-
if (!subsShown.length)
|
|
638
|
-
return renderItem(item);
|
|
639
|
-
// Tint the wrapping container with the active mark's own intent colour so
|
|
640
|
-
// the sub-rail reads as one coloured "you are here" unit.
|
|
641
|
-
var groupColor = (0, colors_1.getColorFromMaybeString)(theme, (_a = item.intent) !== null && _a !== void 0 ? _a : activeIntent);
|
|
642
|
-
// One mark wide (inset-shadow "border", no horizontal padding) so the rail
|
|
643
|
-
// never changes width; the top mark sits flush in the pill cap and a little
|
|
644
|
-
// bottom padding keeps the last section off the edge.
|
|
645
|
-
return ((0, jsx_runtime_1.jsxs)(ActiveGroupSurface, { as: 'div', effect: activeEffect, role: 'group', "aria-label": "".concat(item.label, " ").concat(activeGroupAriaLabelSuffix), className: 'reqore-nav-rail-active', theme: theme, "$gap": sizes_1.GAP_FROM_SIZE[subSize], "$padBottom": 2, "$radiusTop": pill ? Math.round(sizes_1.SIZE_TO_PX[size] / 2) : radius, "$radiusBottom": pill ? Math.round(sizes_1.SIZE_TO_PX[subSize] / 2) : radius, "$ring": (0, polished_1.rgba)(groupColor, 0.42), "$tint": (activeEffect === null || activeEffect === void 0 ? void 0 : activeEffect.gradient) ? undefined : (0, polished_1.rgba)(groupColor, 0.16), "$labelled": labelled, children: [renderItem(item), (0, jsx_runtime_1.jsx)(Spacer_1.ReqoreVerticalSpacer, { height: sizes_1.GAP_FROM_SIZE[size], width: "".concat(Math.round(sizes_1.SIZE_TO_PX[subSize] * 0.5), "px"), lineSize: 'tiny', intent: (_b = item.intent) !== null && _b !== void 0 ? _b : activeIntent }), subsShown.map(renderSub), !expandable && subsHidden.length ? ((0, jsx_runtime_1.jsx)(NavRailOverflow, { items: subsHidden.map(function (s) { return ({
|
|
646
|
-
id: s.id,
|
|
647
|
-
label: s.label,
|
|
648
|
-
icon: s.icon,
|
|
649
|
-
active: s.id === activeSubItemId,
|
|
650
|
-
}); }), size: subSize, placement: tipSide, ariaLabel: moreSectionsLabel, tooltipSuffix: overflowTooltipSuffix, labelled: labelled, onSelect: onSubSelect, onOpenChange: onMenuToggle })) : null] }, item.id));
|
|
651
|
-
};
|
|
652
|
-
return ((0, jsx_runtime_1.jsx)(ThemeProvider_1.default, { theme: theme, customTheme: customTheme, children: (0, jsx_runtime_1.jsx)(NavRailSurface, { as: 'nav', ref: railRef, effect: effect, role: 'navigation', className: [
|
|
653
|
-
className,
|
|
654
|
-
'reqore-nav-rail',
|
|
655
|
-
labelled && 'reqore-nav-rail-labelled',
|
|
656
|
-
isExpanded && 'reqore-nav-rail-expanded',
|
|
657
|
-
]
|
|
658
|
-
.filter(Boolean)
|
|
659
|
-
.join(' '), style: style, theme: theme, "$gap": sizes_1.GAP_FROM_SIZE[size], "$padding": pad, "$radius": surfaceRadius, "$pill": surfacePill, "$flat": isFlat, "$raised": !!raised, "$transparent": isTransparent, "$opacity": opacity, "$blur": blur, "$bgLightness": 0.02, "$borderLightness": 0.14, "$position": position, "$floating": floating, "$offset": offset, "$revealMode": revealMode, "$shown": shown, "$restOpacity": restOpacity, "$maxHeight": expandedCap, children: (0, jsx_runtime_1.jsxs)(ControlGroup_1.default, { vertical: true, gapSize: size, horizontalAlign: columnAlign,
|
|
660
|
-
// Expanded, the column must be allowed to shrink so the scroll
|
|
661
|
-
// region inside it (not the header / toggle / footer) takes the cut.
|
|
662
|
-
style: isExpanded ? EXPANDED_GROUP_STYLE : undefined, children: [renderSlot(header), (0, jsx_runtime_1.jsx)(NavRailScroll, { ref: scrollWrapRef, className: 'reqore-nav-rail-scroll', "$fadeFrom": fadeFrom, "$fadeTo": fadeTo, "$fadeSize": sizes_1.SIZE_TO_PX[size], "$fadeRadius": pill ? Math.round(sizes_1.SIZE_TO_PX[size] / 2) + pad : Math.max(0, radius - 1), "$bleed": pad, "$scrollable": isExpanded, "$labelled": labelled, children: (0, jsx_runtime_1.jsx)(NavRailScrollBox, { ref: scrollBoxRef, className: 'reqore-nav-rail-scroll-box', "$scrollable": isExpanded, "$bleed": pad, children: (0, jsx_runtime_1.jsxs)(ControlGroup_1.default, { vertical: true, gapSize: size, horizontalAlign: columnAlign, children: [before.map(renderPrimary), activeAt >= 0 && activeItem ? renderActiveGroup(activeItem) : null, after.map(renderPrimary), !expandable && itemsHidden.length ? ((0, jsx_runtime_1.jsx)(NavRailOverflow, { items: itemsHidden.map(function (i) { return ({ id: i.id, label: i.label, icon: i.icon }); }), size: size, placement: tipSide, ariaLabel: moreItemsLabel, tooltipSuffix: overflowTooltipSuffix, labelled: labelled, onSelect: onItemSelect, onOpenChange: onMenuToggle })) : null] }) }) }), expandable && hiddenWhenCollapsed > 0 ? ((0, jsx_runtime_1.jsx)(NavRailExpandToggle, { expanded: isExpanded, hiddenCount: hiddenWhenCollapsed, size: size, tipSide: tipSide, labelled: labelled, expandLabel: expandLabel, collapseLabel: collapseLabel, tooltipSuffix: overflowTooltipSuffix, onToggle: toggleExpanded })) : null, renderSlot(footer)] }) }) }));
|
|
663
|
-
});
|
|
664
|
-
exports.default = exports.ReqoreNavRail;
|
|
665
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18;
|
|
666
|
-
//# sourceMappingURL=index.cjs.map
|