@mantine/core 9.6.3 → 9.7.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/cjs/components/ActionBar/ActionBar.cjs +0 -3
- package/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
- package/cjs/components/ActionBar/ActionBar.module.cjs.map +1 -1
- package/cjs/components/AppShell/AppShell.cjs +33 -6
- package/cjs/components/AppShell/AppShell.cjs.map +1 -1
- package/cjs/components/AppShell/AppShell.context.cjs.map +1 -1
- package/cjs/components/AppShell/AppShell.module.cjs +2 -1
- package/cjs/components/AppShell/AppShell.module.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs +28 -7
- package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs +28 -7
- package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs +28 -7
- package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs +3 -2
- package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs +27 -16
- package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs +24 -16
- package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs +24 -16
- package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs +30 -19
- package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.cjs +26 -0
- package/cjs/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.cjs.map +1 -0
- package/cjs/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.cjs +10 -0
- package/cjs/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.cjs.map +1 -0
- package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs +13 -5
- package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs +28 -7
- package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.cjs +270 -0
- package/cjs/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.cjs.map +1 -0
- package/cjs/components/AppShell/use-app-shell-resize/clamp-resize-size.cjs +15 -0
- package/cjs/components/AppShell/use-app-shell-resize/clamp-resize-size.cjs.map +1 -0
- package/cjs/components/AppShell/use-app-shell-resize/resize-section-config.cjs +51 -0
- package/cjs/components/AppShell/use-app-shell-resize/resize-section-config.cjs.map +1 -0
- package/cjs/components/AppShell/use-app-shell-resize/safe-area-inset.cjs +12 -0
- package/cjs/components/AppShell/use-app-shell-resize/safe-area-inset.cjs.map +1 -0
- package/cjs/components/AppShell/use-app-shell-resize/use-app-shell-resize.cjs +127 -0
- package/cjs/components/AppShell/use-app-shell-resize/use-app-shell-resize.cjs.map +1 -0
- package/cjs/components/AppShell/use-resizing/use-resizing.cjs +20 -2
- package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
- package/cjs/components/Checkbox/Checkbox.cjs +10 -2
- package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
- package/cjs/components/Checkbox/Checkbox.module.cjs +1 -0
- package/cjs/components/Checkbox/Checkbox.module.cjs.map +1 -1
- package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs +10 -2
- package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
- package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.cjs +1 -0
- package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.cjs.map +1 -1
- package/cjs/components/Dialog/Dialog.cjs +0 -1
- package/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/cjs/components/Dialog/Dialog.module.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCard.cjs +34 -5
- package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs +13 -18
- package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs +6 -23
- package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
- package/cjs/components/HoverCard/use-hover-card.cjs +26 -12
- package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
- package/cjs/components/Radio/Radio.cjs +10 -2
- package/cjs/components/Radio/Radio.cjs.map +1 -1
- package/cjs/components/Radio/Radio.module.cjs +1 -0
- package/cjs/components/Radio/Radio.module.cjs.map +1 -1
- package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs +10 -2
- package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
- package/cjs/components/Radio/RadioIndicator/RadioIndicator.module.cjs +1 -0
- package/cjs/components/Radio/RadioIndicator/RadioIndicator.module.cjs.map +1 -1
- package/cjs/components/Toggle/Toggle.cjs +80 -0
- package/cjs/components/Toggle/Toggle.cjs.map +1 -0
- package/cjs/components/Toggle/Toggle.module.cjs +7 -0
- package/cjs/components/Toggle/Toggle.module.cjs.map +1 -0
- package/cjs/components/Toolbar/Toolbar.cjs +107 -0
- package/cjs/components/Toolbar/Toolbar.cjs.map +1 -0
- package/cjs/components/Toolbar/Toolbar.context.cjs +8 -0
- package/cjs/components/Toolbar/Toolbar.context.cjs.map +1 -0
- package/cjs/components/Toolbar/Toolbar.module.cjs +12 -0
- package/cjs/components/Toolbar/Toolbar.module.cjs.map +1 -0
- package/cjs/components/Toolbar/ToolbarDivider/ToolbarDivider.cjs +31 -0
- package/cjs/components/Toolbar/ToolbarDivider/ToolbarDivider.cjs.map +1 -0
- package/cjs/components/Toolbar/ToolbarGroup/ToolbarGroup.cjs +31 -0
- package/cjs/components/Toolbar/ToolbarGroup/ToolbarGroup.cjs.map +1 -0
- package/cjs/components/Toolbar/ToolbarToggle/ToolbarToggle.cjs +47 -0
- package/cjs/components/Toolbar/ToolbarToggle/ToolbarToggle.cjs.map +1 -0
- package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs +61 -0
- package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs.map +1 -0
- package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.cjs +8 -0
- package/cjs/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.cjs.map +1 -0
- package/cjs/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs +51 -0
- package/cjs/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs.map +1 -0
- package/cjs/components/Toolbar/use-toolbar-navigation.cjs +76 -0
- package/cjs/components/Toolbar/use-toolbar-navigation.cjs.map +1 -0
- package/cjs/components/Tooltip/Tooltip.cjs +9 -5
- package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/cjs/components/Tooltip/use-tooltip.cjs +6 -3
- package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
- package/cjs/components/Tour/Tour.cjs +283 -0
- package/cjs/components/Tour/Tour.cjs.map +1 -0
- package/cjs/components/Tour/Tour.context.cjs +25 -0
- package/cjs/components/Tour/Tour.context.cjs.map +1 -0
- package/cjs/components/Tour/Tour.module.cjs +19 -0
- package/cjs/components/Tour/Tour.module.cjs.map +1 -0
- package/cjs/components/Tour/TourBeacon/TourBeacon.cjs +54 -0
- package/cjs/components/Tour/TourBeacon/TourBeacon.cjs.map +1 -0
- package/cjs/components/Tour/TourBeaconPositioned.cjs +46 -0
- package/cjs/components/Tour/TourBeaconPositioned.cjs.map +1 -0
- package/cjs/components/Tour/TourBody/TourBody.cjs +37 -0
- package/cjs/components/Tour/TourBody/TourBody.cjs.map +1 -0
- package/cjs/components/Tour/TourCloseButton/TourCloseButton.cjs +26 -0
- package/cjs/components/Tour/TourCloseButton/TourCloseButton.cjs.map +1 -0
- package/cjs/components/Tour/TourNavigation/TourNavigation.cjs +63 -0
- package/cjs/components/Tour/TourNavigation/TourNavigation.cjs.map +1 -0
- package/cjs/components/Tour/TourOverlay/TourOverlay.cjs +70 -0
- package/cjs/components/Tour/TourOverlay/TourOverlay.cjs.map +1 -0
- package/cjs/components/Tour/TourRoot/TourRoot.cjs +125 -0
- package/cjs/components/Tour/TourRoot/TourRoot.cjs.map +1 -0
- package/cjs/components/Tour/TourStep/TourStep.cjs +10 -0
- package/cjs/components/Tour/TourStep/TourStep.cjs.map +1 -0
- package/cjs/components/Tour/TourTitle/TourTitle.cjs +38 -0
- package/cjs/components/Tour/TourTitle/TourTitle.cjs.map +1 -0
- package/cjs/components/Tour/TourTooltip/TourTooltip.cjs +87 -0
- package/cjs/components/Tour/TourTooltip/TourTooltip.cjs.map +1 -0
- package/cjs/components/Tour/get-overlay-hit-path.cjs +17 -0
- package/cjs/components/Tour/get-overlay-hit-path.cjs.map +1 -0
- package/cjs/components/Tour/is-element-in-view.cjs +30 -0
- package/cjs/components/Tour/is-element-in-view.cjs.map +1 -0
- package/cjs/components/Tour/press-aware-auto-update.cjs +38 -0
- package/cjs/components/Tour/press-aware-auto-update.cjs.map +1 -0
- package/cjs/components/Tour/use-target-rect.cjs +61 -0
- package/cjs/components/Tour/use-target-rect.cjs.map +1 -0
- package/cjs/components/Tour/use-tooltip-auto-focus.cjs +34 -0
- package/cjs/components/Tour/use-tooltip-auto-focus.cjs.map +1 -0
- package/cjs/components/Tour/use-tour-state.cjs +102 -0
- package/cjs/components/Tour/use-tour-state.cjs.map +1 -0
- package/cjs/components/Tour/use-tour.cjs +155 -0
- package/cjs/components/Tour/use-tour.cjs.map +1 -0
- package/cjs/components/TreeSelect/TreeSelect.cjs +29 -16
- package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
- package/cjs/index.cjs +41 -1
- package/esm/components/ActionBar/ActionBar.mjs +0 -3
- package/esm/components/ActionBar/ActionBar.mjs.map +1 -1
- package/esm/components/ActionBar/ActionBar.module.mjs.map +1 -1
- package/esm/components/AppShell/AppShell.context.mjs.map +1 -1
- package/esm/components/AppShell/AppShell.mjs +35 -8
- package/esm/components/AppShell/AppShell.mjs.map +1 -1
- package/esm/components/AppShell/AppShell.module.mjs +2 -1
- package/esm/components/AppShell/AppShell.module.mjs.map +1 -1
- package/esm/components/AppShell/AppShellAside/AppShellAside.mjs +29 -8
- package/esm/components/AppShell/AppShellAside/AppShellAside.mjs.map +1 -1
- package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs +29 -8
- package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
- package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs +29 -8
- package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs +3 -2
- package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs +27 -16
- package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs +24 -16
- package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs +24 -16
- package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs +30 -19
- package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.mjs +26 -0
- package/esm/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.mjs.map +1 -0
- package/esm/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.mjs +10 -0
- package/esm/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.mjs.map +1 -0
- package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs +13 -5
- package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs +29 -8
- package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs.map +1 -1
- package/esm/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.mjs +270 -0
- package/esm/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.mjs.map +1 -0
- package/esm/components/AppShell/use-app-shell-resize/clamp-resize-size.mjs +14 -0
- package/esm/components/AppShell/use-app-shell-resize/clamp-resize-size.mjs.map +1 -0
- package/esm/components/AppShell/use-app-shell-resize/resize-section-config.mjs +49 -0
- package/esm/components/AppShell/use-app-shell-resize/resize-section-config.mjs.map +1 -0
- package/esm/components/AppShell/use-app-shell-resize/safe-area-inset.mjs +12 -0
- package/esm/components/AppShell/use-app-shell-resize/safe-area-inset.mjs.map +1 -0
- package/esm/components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs +127 -0
- package/esm/components/AppShell/use-app-shell-resize/use-app-shell-resize.mjs.map +1 -0
- package/esm/components/AppShell/use-resizing/use-resizing.mjs +21 -3
- package/esm/components/AppShell/use-resizing/use-resizing.mjs.map +1 -1
- package/esm/components/Checkbox/Checkbox.mjs +10 -2
- package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
- package/esm/components/Checkbox/Checkbox.module.mjs +1 -0
- package/esm/components/Checkbox/Checkbox.module.mjs.map +1 -1
- package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs +10 -2
- package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
- package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.mjs +1 -0
- package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.mjs.map +1 -1
- package/esm/components/Dialog/Dialog.mjs +0 -1
- package/esm/components/Dialog/Dialog.mjs.map +1 -1
- package/esm/components/Dialog/Dialog.module.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCard.mjs +34 -5
- package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs +13 -18
- package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs +7 -24
- package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
- package/esm/components/HoverCard/use-hover-card.mjs +27 -13
- package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
- package/esm/components/Radio/Radio.mjs +10 -2
- package/esm/components/Radio/Radio.mjs.map +1 -1
- package/esm/components/Radio/Radio.module.mjs +1 -0
- package/esm/components/Radio/Radio.module.mjs.map +1 -1
- package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs +10 -2
- package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
- package/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs +1 -0
- package/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs.map +1 -1
- package/esm/components/Toggle/Toggle.mjs +80 -0
- package/esm/components/Toggle/Toggle.mjs.map +1 -0
- package/esm/components/Toggle/Toggle.module.mjs +7 -0
- package/esm/components/Toggle/Toggle.module.mjs.map +1 -0
- package/esm/components/Toolbar/Toolbar.context.mjs +8 -0
- package/esm/components/Toolbar/Toolbar.context.mjs.map +1 -0
- package/esm/components/Toolbar/Toolbar.mjs +107 -0
- package/esm/components/Toolbar/Toolbar.mjs.map +1 -0
- package/esm/components/Toolbar/Toolbar.module.mjs +12 -0
- package/esm/components/Toolbar/Toolbar.module.mjs.map +1 -0
- package/esm/components/Toolbar/ToolbarDivider/ToolbarDivider.mjs +31 -0
- package/esm/components/Toolbar/ToolbarDivider/ToolbarDivider.mjs.map +1 -0
- package/esm/components/Toolbar/ToolbarGroup/ToolbarGroup.mjs +31 -0
- package/esm/components/Toolbar/ToolbarGroup/ToolbarGroup.mjs.map +1 -0
- package/esm/components/Toolbar/ToolbarToggle/ToolbarToggle.mjs +47 -0
- package/esm/components/Toolbar/ToolbarToggle/ToolbarToggle.mjs.map +1 -0
- package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.mjs +8 -0
- package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.mjs.map +1 -0
- package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs +61 -0
- package/esm/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.mjs.map +1 -0
- package/esm/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs +51 -0
- package/esm/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.mjs.map +1 -0
- package/esm/components/Toolbar/use-toolbar-navigation.mjs +76 -0
- package/esm/components/Toolbar/use-toolbar-navigation.mjs.map +1 -0
- package/esm/components/Tooltip/Tooltip.mjs +9 -5
- package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
- package/esm/components/Tooltip/use-tooltip.mjs +7 -4
- package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
- package/esm/components/Tour/Tour.context.mjs +22 -0
- package/esm/components/Tour/Tour.context.mjs.map +1 -0
- package/esm/components/Tour/Tour.mjs +283 -0
- package/esm/components/Tour/Tour.mjs.map +1 -0
- package/esm/components/Tour/Tour.module.mjs +19 -0
- package/esm/components/Tour/Tour.module.mjs.map +1 -0
- package/esm/components/Tour/TourBeacon/TourBeacon.mjs +54 -0
- package/esm/components/Tour/TourBeacon/TourBeacon.mjs.map +1 -0
- package/esm/components/Tour/TourBeaconPositioned.mjs +46 -0
- package/esm/components/Tour/TourBeaconPositioned.mjs.map +1 -0
- package/esm/components/Tour/TourBody/TourBody.mjs +37 -0
- package/esm/components/Tour/TourBody/TourBody.mjs.map +1 -0
- package/esm/components/Tour/TourCloseButton/TourCloseButton.mjs +26 -0
- package/esm/components/Tour/TourCloseButton/TourCloseButton.mjs.map +1 -0
- package/esm/components/Tour/TourNavigation/TourNavigation.mjs +63 -0
- package/esm/components/Tour/TourNavigation/TourNavigation.mjs.map +1 -0
- package/esm/components/Tour/TourOverlay/TourOverlay.mjs +70 -0
- package/esm/components/Tour/TourOverlay/TourOverlay.mjs.map +1 -0
- package/esm/components/Tour/TourRoot/TourRoot.mjs +125 -0
- package/esm/components/Tour/TourRoot/TourRoot.mjs.map +1 -0
- package/esm/components/Tour/TourStep/TourStep.mjs +10 -0
- package/esm/components/Tour/TourStep/TourStep.mjs.map +1 -0
- package/esm/components/Tour/TourTitle/TourTitle.mjs +38 -0
- package/esm/components/Tour/TourTitle/TourTitle.mjs.map +1 -0
- package/esm/components/Tour/TourTooltip/TourTooltip.mjs +87 -0
- package/esm/components/Tour/TourTooltip/TourTooltip.mjs.map +1 -0
- package/esm/components/Tour/get-overlay-hit-path.mjs +17 -0
- package/esm/components/Tour/get-overlay-hit-path.mjs.map +1 -0
- package/esm/components/Tour/is-element-in-view.mjs +30 -0
- package/esm/components/Tour/is-element-in-view.mjs.map +1 -0
- package/esm/components/Tour/press-aware-auto-update.mjs +38 -0
- package/esm/components/Tour/press-aware-auto-update.mjs.map +1 -0
- package/esm/components/Tour/use-target-rect.mjs +59 -0
- package/esm/components/Tour/use-target-rect.mjs.map +1 -0
- package/esm/components/Tour/use-tooltip-auto-focus.mjs +34 -0
- package/esm/components/Tour/use-tooltip-auto-focus.mjs.map +1 -0
- package/esm/components/Tour/use-tour-state.mjs +102 -0
- package/esm/components/Tour/use-tour-state.mjs.map +1 -0
- package/esm/components/Tour/use-tour.mjs +155 -0
- package/esm/components/Tour/use-tour.mjs.map +1 -0
- package/esm/components/TreeSelect/TreeSelect.mjs +30 -17
- package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
- package/esm/index.mjs +21 -2
- package/lib/components/ActionBar/ActionBar.d.ts +1 -1
- package/lib/components/AppShell/AppShell.context.d.ts +4 -0
- package/lib/components/AppShell/AppShell.d.ts +5 -3
- package/lib/components/AppShell/AppShell.types.d.ts +70 -0
- package/lib/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.d.ts +6 -1
- package/lib/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.d.ts +3 -1
- package/lib/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.d.ts +3 -1
- package/lib/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.d.ts +3 -1
- package/lib/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.d.ts +3 -1
- package/lib/components/AppShell/AppShellMediaStyles/escape-css-id/escape-css-id.d.ts +2 -0
- package/lib/components/AppShell/AppShellMediaStyles/get-resized-value/get-resized-value.d.ts +1 -0
- package/lib/components/AppShell/AppShellMediaStyles/get-variables/get-variables.d.ts +6 -1
- package/lib/components/AppShell/AppShellResizeHandle/AppShellResizeHandle.d.ts +10 -0
- package/lib/components/AppShell/index.d.ts +3 -2
- package/lib/components/AppShell/use-app-shell-resize/clamp-resize-size.d.ts +9 -0
- package/lib/components/AppShell/use-app-shell-resize/resize-section-config.d.ts +29 -0
- package/lib/components/AppShell/use-app-shell-resize/safe-area-inset.d.ts +1 -0
- package/lib/components/AppShell/use-app-shell-resize/use-app-shell-resize.d.ts +2 -0
- package/lib/components/AppShell/use-resizing/use-resizing.d.ts +2 -1
- package/lib/components/Checkbox/Checkbox.d.ts +2 -2
- package/lib/components/Checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +2 -2
- package/lib/components/HoverCard/HoverCard.context.d.ts +8 -4
- package/lib/components/HoverCard/HoverCard.d.ts +41 -0
- package/lib/components/HoverCard/index.d.ts +1 -1
- package/lib/components/HoverCard/use-hover-card.d.ts +11 -0
- package/lib/components/Radio/Radio.d.ts +2 -2
- package/lib/components/Radio/RadioIndicator/RadioIndicator.d.ts +2 -2
- package/lib/components/Toggle/Toggle.d.ts +73 -0
- package/lib/components/Toggle/index.d.ts +7 -0
- package/lib/components/Toolbar/Toolbar.context.d.ts +7 -0
- package/lib/components/Toolbar/Toolbar.d.ts +58 -0
- package/lib/components/Toolbar/ToolbarDivider/ToolbarDivider.d.ts +16 -0
- package/lib/components/Toolbar/ToolbarGroup/ToolbarGroup.d.ts +16 -0
- package/lib/components/Toolbar/ToolbarToggle/ToolbarToggle.d.ts +44 -0
- package/lib/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.context.d.ts +7 -0
- package/lib/components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.d.ts +42 -0
- package/lib/components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.d.ts +22 -0
- package/lib/components/Toolbar/index.d.ts +32 -0
- package/lib/components/Toolbar/use-toolbar-navigation.d.ts +11 -0
- package/lib/components/Tooltip/Tooltip.d.ts +2 -0
- package/lib/components/Tooltip/use-tooltip.d.ts +2 -0
- package/lib/components/Tour/Tour.context.d.ts +66 -0
- package/lib/components/Tour/Tour.d.ts +144 -0
- package/lib/components/Tour/TourBeacon/TourBeacon.d.ts +23 -0
- package/lib/components/Tour/TourBeaconPositioned.d.ts +13 -0
- package/lib/components/Tour/TourBody/TourBody.d.ts +19 -0
- package/lib/components/Tour/TourCloseButton/TourCloseButton.d.ts +12 -0
- package/lib/components/Tour/TourNavigation/TourNavigation.d.ts +11 -0
- package/lib/components/Tour/TourOverlay/TourOverlay.d.ts +22 -0
- package/lib/components/Tour/TourRoot/TourRoot.d.ts +72 -0
- package/lib/components/Tour/TourStep/TourStep.d.ts +30 -0
- package/lib/components/Tour/TourTitle/TourTitle.d.ts +19 -0
- package/lib/components/Tour/TourTooltip/TourTooltip.d.ts +29 -0
- package/lib/components/Tour/get-overlay-hit-path.d.ts +2 -0
- package/lib/components/Tour/index.d.ts +23 -0
- package/lib/components/Tour/is-element-in-view.d.ts +1 -0
- package/lib/components/Tour/press-aware-auto-update.d.ts +2 -0
- package/lib/components/Tour/use-target-rect.d.ts +13 -0
- package/lib/components/Tour/use-tooltip-auto-focus.d.ts +7 -0
- package/lib/components/Tour/use-tour-state.d.ts +23 -0
- package/lib/components/Tour/use-tour.d.ts +40 -0
- package/lib/components/TreeSelect/TreeSelect.d.ts +14 -0
- package/lib/components/TreeSelect/index.d.ts +2 -2
- package/lib/components/index.d.ts +3 -0
- package/package.json +5 -5
- package/styles/ActionBar.css +1 -0
- package/styles/ActionBar.layer.css +1 -0
- package/styles/AppShell.css +68 -0
- package/styles/AppShell.layer.css +68 -0
- package/styles/Checkbox.css +20 -0
- package/styles/Checkbox.layer.css +20 -0
- package/styles/CheckboxIndicator.css +16 -0
- package/styles/CheckboxIndicator.layer.css +16 -0
- package/styles/Dialog.css +1 -0
- package/styles/Dialog.layer.css +1 -0
- package/styles/Radio.css +10 -0
- package/styles/Radio.layer.css +10 -0
- package/styles/RadioIndicator.css +11 -0
- package/styles/RadioIndicator.layer.css +11 -0
- package/styles/Toggle.css +98 -0
- package/styles/Toggle.layer.css +99 -0
- package/styles/Toolbar.css +220 -0
- package/styles/Toolbar.layer.css +221 -0
- package/styles/Tour.css +127 -0
- package/styles/Tour.layer.css +128 -0
- package/styles.css +575 -0
- package/styles.layer.css +575 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeSelect.cjs","names":["genericFactory","useProps","useId","useCombobox","useMemo","getTreeExpandedState","useCallback","useUncontrolled","findTreeNode","expandToLeafChecked","filterTreeData","flattenTreeSelectData","useRef","useStyles","useResolvedStylesApi","extractStyleProps","isNodeChecked","getChildrenNodesValues","checkedToValue","Combobox","Pill","isNodeIndeterminate","TreeSelectOption","classes","ScrollArea","PillsInput","isExternalInputChange","InputBase"],"sources":["../../../src/components/TreeSelect/TreeSelect.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n extractStyleProps,\n Factory,\n genericFactory,\n MantineColor,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Combobox, ComboboxLikeStylesNames, useCombobox } from '../Combobox';\nimport { isExternalInputChange } from '../Combobox/is-external-input-change/is-external-input-change';\nimport {\n __BaseInputProps,\n __InputStylesNames,\n ClearSectionMode,\n InputClearButtonProps,\n InputVariant,\n} from '../Input';\nimport { InputBase } from '../InputBase';\nimport { Pill } from '../Pill';\nimport { PillsInput } from '../PillsInput';\nimport { ScrollArea, ScrollAreaProps } from '../ScrollArea';\nimport type { TreeNodeData } from '../Tree';\nimport { filterTreeData } from '../Tree/filter-tree-data/filter-tree-data';\nimport {\n findTreeNode,\n getChildrenNodesValues,\n} from '../Tree/get-children-nodes-values/get-children-nodes-values';\nimport { isNodeChecked } from '../Tree/is-node-checked/is-node-checked';\nimport { isNodeIndeterminate } from '../Tree/is-node-indeterminate/is-node-indeterminate';\nimport { getTreeExpandedState, TreeExpandedState } from '../Tree/use-tree';\nimport { flattenTreeSelectData } from './flatten-tree-select-data';\nimport {\n CheckedStrategy,\n checkedToValue,\n expandToLeafChecked,\n} from './get-checked-values-by-strategy';\nimport {\n TreeSelectChevronAriaLabels,\n TreeSelectOption,\n TreeSelectRenderNodePayload,\n} from './TreeSelectOption';\nimport classes from './TreeSelect.module.css';\n\nexport type TreeSelectStylesNames =\n | __InputStylesNames\n | ComboboxLikeStylesNames\n | 'pill'\n | 'pillsList'\n | 'inputField';\n\nexport type TreeSelectMode = 'single' | 'multiple' | 'checkbox';\n\nexport type TreeSelectValue<Mode extends TreeSelectMode> = Mode extends 'single'\n ? string | null\n : string[];\n\nexport interface TreeSelectProps<Mode extends TreeSelectMode = 'single'>\n extends\n BoxProps,\n __BaseInputProps,\n StylesApiProps<TreeSelectFactory>,\n ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Tree data */\n data: TreeNodeData[];\n\n /** Selection mode: 'single', 'multiple', or 'checkbox' (with cascade) @default 'single' */\n mode?: Mode;\n\n /** Controlled value */\n value?: TreeSelectValue<Mode>;\n\n /** Default value */\n defaultValue?: TreeSelectValue<Mode>;\n\n /** Called when value changes */\n onChange?: (value: TreeSelectValue<Mode>) => void;\n\n /** Disables parent-child cascade in checkbox mode @default false */\n checkStrictly?: boolean;\n\n /** Controls which checked nodes appear in value/pills in checkbox mode @default 'child' */\n checkedStrategy?: CheckedStrategy;\n\n /** Default expanded node values */\n defaultExpandedValues?: string[];\n\n /** Expand all nodes by default @default false */\n defaultExpandAll?: boolean;\n\n /** Controlled expanded state */\n expandedValues?: string[];\n\n /** Called when expanded state changes */\n onExpandedChange?: (values: string[]) => void;\n\n /** Also toggle expand when clicking a parent node (not just the chevron). In `single` and `multiple` modes, parent clicks only expand; only leaves can be selected. In `checkbox` mode, parent clicks both check and expand. @default false */\n expandOnClick?: boolean;\n\n /** Enables search filtering @default false */\n searchable?: boolean;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Custom filter function */\n filter?: (query: string, node: TreeNodeData) => boolean;\n\n /** Message when no nodes match search */\n nothingFoundMessage?: React.ReactNode;\n\n /** Allows deselecting in single mode @default true */\n allowDeselect?: boolean;\n\n /** Shows clear button @default false */\n clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n clearSectionMode?: ClearSectionMode;\n\n /** Props for the clear button */\n clearButtonProps?: InputClearButtonProps;\n\n /** Maximum selectable values (multiple/checkbox mode) */\n maxValues?: number;\n\n /** Maximum displayed pills before \"+N more\" */\n maxDisplayedValues?: number;\n\n /** Content shown when values overflow maxDisplayedValues */\n maxDisplayedValuesContent?: React.ReactNode | ((overflow: number) => React.ReactNode);\n\n /** Called with removed value in multiple/checkbox mode */\n onRemove?: (value: string) => void;\n\n /** Called when clear button is clicked */\n onClear?: () => void;\n\n /** Custom node rendering in the dropdown */\n renderNode?: (payload: TreeSelectRenderNodePayload) => React.ReactNode;\n\n /** Show tree connection lines between parent and child nodes @default true */\n withLines?: boolean;\n\n /** Props for the hidden input */\n hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;\n\n /** Divider for hidden input values @default ',' */\n hiddenInputValuesDivider?: string;\n\n /** Props for the ScrollArea in the dropdown */\n scrollAreaProps?: ScrollAreaProps;\n\n /** Controls the default chevron color */\n chevronColor?: MantineColor;\n\n /** Max dropdown height @default 220 */\n maxDropdownHeight?: number | string;\n\n /** Controlled dropdown state */\n dropdownOpened?: boolean;\n\n /** Default dropdown state */\n defaultDropdownOpened?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?: () => void;\n\n /** Called when dropdown closes */\n onDropdownClose?: () => void;\n\n /** Props passed to the underlying Combobox */\n comboboxProps?: Record<string, any>;\n\n /** Clear search on selection change @default true */\n clearSearchOnChange?: boolean;\n\n /** Opens dropdown on focus (searchable mode) @default true */\n openOnFocus?: boolean;\n\n /** aria-label values for the expand/collapse chevron button */\n chevronAriaLabels?: TreeSelectChevronAriaLabels;\n}\n\nexport type TreeSelectFactory = Factory<{\n props: TreeSelectProps;\n ref: HTMLInputElement;\n stylesNames: TreeSelectStylesNames;\n variant: InputVariant;\n signature: <Mode extends TreeSelectMode = 'single'>(\n props: TreeSelectProps<Mode>\n ) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n mode: 'single',\n allowDeselect: true,\n checkedStrategy: 'child',\n maxValues: Infinity,\n hiddenInputValuesDivider: ',',\n clearSearchOnChange: true,\n openOnFocus: true,\n size: 'sm',\n withLines: true,\n} satisfies Partial<TreeSelectProps<TreeSelectMode>>;\n\nconst clearSectionOffset: Record<string, number> = {\n xs: 41,\n sm: 50,\n md: 60,\n lg: 72,\n xl: 89,\n};\n\nfunction getAncestorsToNode(value: string, nodes: TreeNodeData[]): string[] | null {\n for (const node of nodes) {\n if (node.value === value) {\n return [];\n }\n if (Array.isArray(node.children)) {\n const path = getAncestorsToNode(value, node.children);\n if (path !== null) {\n return [node.value, ...path];\n }\n }\n }\n return null;\n}\n\nexport const TreeSelect = genericFactory<TreeSelectFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'TreeSelect'], defaultProps as any, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n size,\n data,\n mode,\n value,\n defaultValue,\n onChange,\n checkStrictly,\n checkedStrategy,\n defaultExpandedValues,\n defaultExpandAll,\n expandedValues,\n onExpandedChange,\n expandOnClick,\n searchable,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n filter,\n nothingFoundMessage,\n allowDeselect,\n clearable,\n clearSectionMode,\n clearButtonProps,\n maxValues,\n maxDisplayedValues,\n maxDisplayedValuesContent,\n onRemove,\n onClear,\n renderNode,\n withLines,\n hiddenInputProps,\n hiddenInputValuesDivider,\n scrollAreaProps,\n chevronColor,\n maxDropdownHeight,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose,\n comboboxProps,\n clearSearchOnChange,\n openOnFocus,\n chevronAriaLabels,\n variant,\n onKeyDown,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n disabled,\n radius,\n rightSection,\n rightSectionWidth,\n rightSectionPointerEvents,\n rightSectionProps,\n leftSection,\n leftSectionWidth,\n leftSectionPointerEvents,\n leftSectionProps,\n inputContainer,\n inputWrapperOrder,\n withAsterisk,\n labelProps,\n descriptionProps,\n errorProps,\n successProps,\n wrapperProps,\n description,\n label,\n error,\n success,\n withErrorStyles,\n withSuccessStyles,\n name,\n form,\n id,\n placeholder,\n required,\n mod,\n attributes,\n ...others\n } = props;\n\n const isMulti = mode === 'multiple' || mode === 'checkbox';\n const isCheckbox = mode === 'checkbox';\n const _id = useId(id);\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen: () => {\n onDropdownOpen?.();\n combobox.updateSelectedOptionIndex('active', { scrollIntoView: true });\n },\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const initialExpanded = useMemo(() => {\n if (defaultExpandAll) {\n return getTreeExpandedState(data, '*');\n }\n if (defaultExpandedValues) {\n return getTreeExpandedState(data, defaultExpandedValues);\n }\n return getTreeExpandedState(data, []);\n }, []);\n\n const expandedToRecord = useCallback(\n (values: string[] | undefined): TreeExpandedState | undefined => {\n if (!values) {\n return undefined;\n }\n return getTreeExpandedState(data, values);\n },\n [data]\n );\n\n const [_expandedState, setExpandedState] = useUncontrolled<TreeExpandedState>({\n value: expandedToRecord(expandedValues),\n defaultValue: initialExpanded,\n finalValue: {},\n onChange: (val) => {\n if (onExpandedChange) {\n onExpandedChange(\n Object.entries(val)\n .filter(([, v]) => v)\n .map(([k]) => k)\n );\n }\n },\n });\n\n const toggleExpand = useCallback(\n (nodeValue: string) => {\n setExpandedState({ ..._expandedState, [nodeValue]: !_expandedState[nodeValue] });\n },\n [_expandedState]\n );\n\n const initialSearchValue = useMemo(() => {\n if (mode !== 'single' || !defaultValue) {\n return '';\n }\n const node = findTreeNode(defaultValue as string, data);\n return node ? (typeof node.label === 'string' ? node.label : '') : '';\n }, []);\n\n const [_searchValue, setSearchValue] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: initialSearchValue,\n onChange: onSearchChange,\n });\n\n const handleSearchChange = (val: string) => {\n setSearchValue(val);\n combobox.resetSelectedOption();\n };\n\n const [_value, setValue] = useUncontrolled({\n value: value as any,\n defaultValue: defaultValue as any,\n finalValue: isMulti ? [] : null,\n onChange,\n });\n\n const internalChecked = useMemo(() => {\n if (!isCheckbox || !_value || !Array.isArray(_value)) {\n return [];\n }\n if (checkStrictly) {\n return _value;\n }\n return expandToLeafChecked(_value, data);\n }, [isCheckbox, _value, data, checkStrictly]);\n\n const filteredData = useMemo(() => {\n if (!searchable || !_searchValue) {\n return data;\n }\n if (mode === 'single' && _value) {\n const node = findTreeNode(_value as string, data);\n if (node && _searchValue === (typeof node.label === 'string' ? node.label : '')) {\n return data;\n }\n }\n return filterTreeData(data, _searchValue, filter);\n }, [data, _searchValue, filter, searchable, mode, _value]);\n\n const expandedForRender = useMemo(() => {\n if (_searchValue && filteredData !== data) {\n const expanded = { ..._expandedState };\n const expandFilteredParents = (nodes: TreeNodeData[]) => {\n for (const node of nodes) {\n if (Array.isArray(node.children) && node.children.length > 0) {\n expanded[node.value] = true;\n expandFilteredParents(node.children);\n }\n }\n };\n expandFilteredParents(filteredData);\n return expanded;\n }\n return _expandedState;\n }, [filteredData, _expandedState, _searchValue, data]);\n\n const flatNodes = useMemo(\n () => flattenTreeSelectData(filteredData, expandedForRender),\n [filteredData, expandedForRender]\n );\n\n const flatNodesRef = useRef(flatNodes);\n flatNodesRef.current = flatNodes;\n\n const nodeLookup = useMemo(() => {\n const lookup: Record<string, TreeNodeData> = {};\n const walk = (nodes: TreeNodeData[]) => {\n for (const node of nodes) {\n lookup[node.value] = node;\n if (Array.isArray(node.children)) {\n walk(node.children);\n }\n }\n };\n walk(data);\n return lookup;\n }, [data]);\n\n const getNodeLabel = (nodeValue: string): string => {\n const node = nodeLookup[nodeValue];\n if (!node) {\n return nodeValue;\n }\n return typeof node.label === 'string' ? node.label : nodeValue;\n };\n\n const getStyles = useStyles<TreeSelectFactory>({\n name: 'TreeSelect',\n classes: {} as any,\n props: props as any,\n classNames,\n styles,\n unstyled,\n attributes,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<TreeSelectFactory>({\n props,\n styles,\n classNames,\n });\n\n const {\n styleProps,\n rest: { type, autoComplete, ...rest },\n } = extractStyleProps(others);\n\n const handleOptionSubmit = (val: string) => {\n if (mode === 'single') {\n if (expandOnClick) {\n const node = findTreeNode(val, data);\n if (node && Array.isArray(node.children) && node.children.length > 0) {\n toggleExpand(val);\n return;\n }\n }\n const nextValue = allowDeselect && val === _value ? null : val;\n setValue(nextValue);\n combobox.closeDropdown();\n if (clearSearchOnChange) {\n handleSearchChange(nextValue ? getNodeLabel(nextValue) : '');\n }\n } else if (mode === 'multiple') {\n if (expandOnClick) {\n const node = findTreeNode(val, data);\n if (node && Array.isArray(node.children) && node.children.length > 0) {\n toggleExpand(val);\n return;\n }\n }\n const arr = (_value as string[]) || [];\n if (arr.includes(val)) {\n setValue(arr.filter((v: string) => v !== val));\n onRemove?.(val);\n } else if (arr.length < (maxValues ?? Infinity)) {\n setValue([...arr, val]);\n } else {\n return;\n }\n if (clearSearchOnChange) {\n setSearchValue('');\n }\n } else if (mode === 'checkbox') {\n const nodeChecked = checkStrictly\n ? internalChecked.includes(val)\n : isNodeChecked(val, data, internalChecked);\n\n let newInternalChecked: string[];\n if (checkStrictly) {\n newInternalChecked = nodeChecked\n ? internalChecked.filter((v) => v !== val)\n : [...internalChecked, val];\n } else {\n const childLeaves = getChildrenNodesValues(val, data);\n if (nodeChecked) {\n newInternalChecked = internalChecked.filter((v) => !childLeaves.includes(v));\n } else {\n newInternalChecked = [...new Set([...internalChecked, ...childLeaves])];\n }\n }\n\n const newValue = checkedToValue(newInternalChecked, data, checkedStrategy!);\n if (!nodeChecked && newValue.length > (maxValues ?? Infinity)) {\n return;\n }\n setValue(newValue);\n if (clearSearchOnChange) {\n setSearchValue('');\n }\n\n if (expandOnClick) {\n const node = findTreeNode(val, data);\n if (node && Array.isArray(node.children) && node.children.length > 0) {\n if (!_expandedState[val]) {\n toggleExpand(val);\n }\n }\n }\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (event.key === ' ' && !searchable && isMulti) {\n event.preventDefault();\n combobox.toggleDropdown();\n }\n\n if (event.key === 'Backspace' && _searchValue.length === 0 && isMulti) {\n const arr = (_value as string[]) || [];\n if (arr.length > 0) {\n const removed = arr[arr.length - 1];\n onRemove?.(removed);\n setValue(arr.slice(0, -1));\n }\n }\n\n if (!combobox.dropdownOpened) {\n return;\n }\n\n const index = combobox.getSelectedOptionIndex();\n if (index < 0 || index >= flatNodesRef.current.length) {\n return;\n }\n\n const currentNode = flatNodesRef.current[index];\n\n if (event.key === 'ArrowRight') {\n if (currentNode.hasChildren && !currentNode.expanded) {\n event.preventDefault();\n toggleExpand(currentNode.node.value);\n }\n }\n\n if (event.key === 'ArrowLeft') {\n if (currentNode.hasChildren && currentNode.expanded) {\n event.preventDefault();\n toggleExpand(currentNode.node.value);\n } else if (currentNode.parent) {\n event.preventDefault();\n const parentIndex = flatNodesRef.current.findIndex(\n (n) => n.node.value === currentNode.parent\n );\n if (parentIndex >= 0) {\n combobox.selectOption(parentIndex);\n }\n }\n }\n };\n\n useEffect(() => {\n if (mode !== 'single' || !searchable) {\n return;\n }\n if (value === null) {\n handleSearchChange('');\n } else if (typeof value === 'string') {\n handleSearchChange(getNodeLabel(value));\n }\n }, [value]);\n\n const prevDropdownOpenedRef = useRef(false);\n useEffect(() => {\n if (combobox.dropdownOpened && !prevDropdownOpenedRef.current && searchable && _value) {\n const targets = Array.isArray(_value) ? _value : [_value];\n const newExpanded = { ..._expandedState };\n let changed = false;\n for (const target of targets) {\n const ancestors = getAncestorsToNode(target as string, data);\n if (ancestors) {\n for (const a of ancestors) {\n if (!newExpanded[a]) {\n newExpanded[a] = true;\n changed = true;\n }\n }\n }\n }\n if (changed) {\n setExpandedState(newExpanded);\n requestAnimationFrame(() => {\n combobox.updateSelectedOptionIndex('active', { scrollIntoView: true });\n });\n }\n }\n prevDropdownOpenedRef.current = combobox.dropdownOpened;\n });\n\n const clearButton = (\n <Combobox.ClearButton\n {...clearButtonProps}\n onClear={() => {\n onClear?.();\n setValue(isMulti ? [] : null);\n handleSearchChange('');\n combobox.focusTarget();\n }}\n />\n );\n\n const hasValue = isMulti\n ? Array.isArray(_value) && _value.length > 0\n : _value != null && _value !== '';\n const _clearable = clearable && hasValue && !disabled && !readOnly;\n\n const singleDisplayLabel = useMemo(() => {\n if (mode !== 'single' || !_value) {\n return '';\n }\n return getNodeLabel(_value as string);\n }, [mode, _value, nodeLookup]);\n\n const displayValues = useMemo(() => {\n if (!isMulti || !Array.isArray(_value)) {\n return [];\n }\n return _value as string[];\n }, [isMulti, _value]);\n\n const pillsListStyle =\n _clearable && isMulti\n ? { paddingInlineEnd: clearSectionOffset[size as string] ?? clearSectionOffset.sm }\n : undefined;\n\n const visiblePills =\n maxDisplayedValues != null ? displayValues.slice(0, maxDisplayedValues) : displayValues;\n\n const overflowCount =\n maxDisplayedValues != null ? Math.max(0, displayValues.length - maxDisplayedValues) : 0;\n\n const pills = visiblePills.map((item, index) => (\n <Pill\n key={`${item}-${index}`}\n withRemoveButton={!readOnly}\n onRemove={() => {\n if (isCheckbox) {\n const childLeaves = checkStrictly ? [item] : getChildrenNodesValues(item, data);\n const newInternal = internalChecked.filter((v) => !childLeaves.includes(v));\n setValue(checkedToValue(newInternal, data, checkedStrategy!));\n } else {\n setValue((_value as string[]).filter((v: string) => v !== item));\n }\n onRemove?.(item);\n }}\n unstyled={unstyled}\n disabled={disabled}\n {...getStyles('pill')}\n >\n {getNodeLabel(item)}\n </Pill>\n ));\n\n if (overflowCount > 0) {\n const overflowContent =\n typeof maxDisplayedValuesContent === 'function'\n ? maxDisplayedValuesContent(overflowCount)\n : maxDisplayedValuesContent || `+${overflowCount} more`;\n pills.push(\n <Pill key=\"__overflow\" unstyled={unstyled} disabled={disabled} {...getStyles('pill')}>\n {overflowContent}\n </Pill>\n );\n }\n\n const isEmpty = flatNodes.length === 0;\n\n const options = flatNodes.map((flatNode) => {\n const isSelected =\n mode === 'single'\n ? _value === flatNode.node.value\n : mode === 'multiple'\n ? ((_value as string[]) || []).includes(flatNode.node.value)\n : false;\n\n const nodeChecked = isCheckbox\n ? checkStrictly\n ? internalChecked.includes(flatNode.node.value)\n : isNodeChecked(flatNode.node.value, data, internalChecked)\n : false;\n\n const nodeIndeterminate =\n isCheckbox && !checkStrictly\n ? isNodeIndeterminate(flatNode.node.value, data, internalChecked)\n : false;\n\n return (\n <TreeSelectOption\n key={flatNode.node.value}\n node={flatNode.node}\n level={flatNode.level}\n expanded={flatNode.expanded}\n hasChildren={flatNode.hasChildren}\n selected={isSelected}\n checked={nodeChecked}\n indeterminate={nodeIndeterminate}\n showCheckbox={isCheckbox}\n isLastChild={flatNode.isLastChild}\n lineGuides={flatNode.lineGuides}\n withLines={!!withLines}\n onToggleExpand={toggleExpand}\n renderNode={renderNode}\n chevronAriaLabels={chevronAriaLabels}\n />\n );\n });\n\n const dropdown = (\n <Combobox.Dropdown hidden={readOnly || disabled}>\n <Combobox.Options\n className={classes.optionsWrapper}\n aria-multiselectable={isMulti || undefined}\n >\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--combobox-padding)\"\n offsetScrollbars=\"y\"\n {...scrollAreaProps}\n >\n {options}\n </ScrollArea.Autosize>\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n\n if (isMulti) {\n return (\n <>\n <Combobox\n store={combobox}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n size={size}\n readOnly={readOnly}\n __staticSelector=\"TreeSelect\"\n attributes={attributes}\n onOptionSubmit={handleOptionSubmit}\n {...comboboxProps}\n >\n <Combobox.DropdownTarget>\n <PillsInput\n {...styleProps}\n __staticSelector=\"TreeSelect\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n size={size}\n className={className}\n style={style}\n variant={variant}\n disabled={disabled}\n radius={radius}\n __defaultRightSection={\n <Combobox.Chevron\n size={size}\n error={error}\n unstyled={unstyled}\n color={chevronColor}\n />\n }\n __clearSection={clearButton}\n __clearable={_clearable}\n __clearSectionMode={clearSectionMode}\n rightSection={rightSection}\n rightSectionPointerEvents={rightSectionPointerEvents || 'none'}\n rightSectionWidth={rightSectionWidth}\n rightSectionProps={rightSectionProps}\n leftSection={leftSection}\n leftSectionWidth={leftSectionWidth}\n leftSectionPointerEvents={leftSectionPointerEvents}\n leftSectionProps={leftSectionProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n withAsterisk={withAsterisk}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n successProps={successProps}\n wrapperProps={wrapperProps}\n description={description}\n label={label}\n error={error}\n success={success}\n withErrorStyles={withErrorStyles}\n withSuccessStyles={withSuccessStyles}\n __stylesApiProps={{\n ...props,\n rightSectionPointerEvents: rightSectionPointerEvents || 'none',\n multiline: true,\n }}\n pointer={!searchable}\n onClick={() => (searchable ? combobox.openDropdown() : combobox.toggleDropdown())}\n data-expanded={combobox.dropdownOpened || undefined}\n id={_id}\n required={required}\n mod={mod}\n attributes={attributes}\n >\n <Pill.Group\n attributes={attributes}\n disabled={disabled}\n unstyled={unstyled}\n {...getStyles('pillsList', { style: pillsListStyle })}\n >\n {pills}\n <Combobox.EventsTarget autoComplete={autoComplete}>\n <PillsInput.Field\n {...rest}\n id={_id}\n placeholder={placeholder}\n type={!searchable && !placeholder ? 'hidden' : 'visible'}\n {...getStyles('inputField')}\n unstyled={unstyled}\n onFocus={(event) => {\n onFocus?.(event);\n if (openOnFocus && searchable) {\n combobox.openDropdown();\n }\n }}\n onBlur={(event) => {\n onBlur?.(event);\n combobox.closeDropdown();\n handleSearchChange('');\n }}\n onKeyDown={handleKeyDown}\n value={_searchValue}\n onChange={(event) => {\n if (isExternalInputChange(event)) {\n return;\n }\n\n handleSearchChange(event.currentTarget.value);\n if (searchable) {\n combobox.openDropdown();\n }\n }}\n disabled={disabled}\n readOnly={readOnly || !searchable}\n pointer={!searchable}\n />\n </Combobox.EventsTarget>\n </Pill.Group>\n </PillsInput>\n </Combobox.DropdownTarget>\n {dropdown}\n </Combobox>\n <Combobox.HiddenInput\n name={name}\n valuesDivider={hiddenInputValuesDivider}\n value={_value}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n }\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"TreeSelect\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n size={size}\n attributes={attributes}\n onOptionSubmit={handleOptionSubmit}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'} autoComplete={autoComplete}>\n <InputBase\n id={_id}\n __defaultRightSection={\n <Combobox.Chevron\n size={size}\n error={error}\n unstyled={unstyled}\n color={chevronColor}\n />\n }\n __clearSection={clearButton}\n __clearable={_clearable}\n __clearSectionMode={clearSectionMode}\n rightSection={rightSection}\n rightSectionPointerEvents={rightSectionPointerEvents || 'none'}\n {...rest}\n {...styleProps}\n size={size}\n __staticSelector=\"TreeSelect\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={searchable ? _searchValue : singleDisplayLabel}\n onChange={(event) => {\n if (isExternalInputChange(event)) {\n return;\n }\n\n handleSearchChange(event.currentTarget.value);\n combobox.openDropdown();\n }}\n onFocus={(event) => {\n if (openOnFocus && searchable) {\n combobox.openDropdown();\n }\n onFocus?.(event);\n }}\n onBlur={(event) => {\n if (searchable) {\n combobox.closeDropdown();\n }\n handleSearchChange(_value ? getNodeLabel(_value as string) : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n onKeyDown={handleKeyDown}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n success={success}\n attributes={attributes}\n className={className}\n style={style}\n variant={variant}\n radius={radius}\n leftSection={leftSection}\n leftSectionWidth={leftSectionWidth}\n leftSectionPointerEvents={leftSectionPointerEvents}\n leftSectionProps={leftSectionProps}\n rightSectionWidth={rightSectionWidth}\n rightSectionProps={rightSectionProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n withAsterisk={withAsterisk}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n successProps={successProps}\n wrapperProps={wrapperProps}\n description={description}\n label={label}\n withErrorStyles={withErrorStyles}\n withSuccessStyles={withSuccessStyles}\n placeholder={placeholder}\n required={required}\n mod={mod}\n />\n </Combobox.Target>\n {dropdown}\n </Combobox>\n <Combobox.HiddenInput\n value={_value}\n name={name}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nTreeSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nTreeSelect.displayName = '@mantine/core/TreeSelect';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeSelect.cjs","names":["genericFactory","useProps","useId","useCombobox","useMemo","getTreeExpandedState","useCallback","useUncontrolled","findTreeNode","expandToLeafChecked","filterTreeData","flattenTreeSelectData","useRef","useStyles","useResolvedStylesApi","extractStyleProps","isNodeChecked","getChildrenNodesValues","checkedToValue","Combobox","Fragment","Pill","isNodeIndeterminate","TreeSelectOption","classes","ScrollArea","PillsInput","isExternalInputChange","InputBase"],"sources":["../../../src/components/TreeSelect/TreeSelect.tsx"],"sourcesContent":["import { Fragment, useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n extractStyleProps,\n Factory,\n genericFactory,\n MantineColor,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Combobox, ComboboxLikeStylesNames, useCombobox } from '../Combobox';\nimport { isExternalInputChange } from '../Combobox/is-external-input-change/is-external-input-change';\nimport {\n __BaseInputProps,\n __InputStylesNames,\n ClearSectionMode,\n InputClearButtonProps,\n InputVariant,\n} from '../Input';\nimport { InputBase } from '../InputBase';\nimport { Pill } from '../Pill';\nimport { PillsInput } from '../PillsInput';\nimport { ScrollArea, ScrollAreaProps } from '../ScrollArea';\nimport type { TreeNodeData } from '../Tree';\nimport { filterTreeData } from '../Tree/filter-tree-data/filter-tree-data';\nimport {\n findTreeNode,\n getChildrenNodesValues,\n} from '../Tree/get-children-nodes-values/get-children-nodes-values';\nimport { isNodeChecked } from '../Tree/is-node-checked/is-node-checked';\nimport { isNodeIndeterminate } from '../Tree/is-node-indeterminate/is-node-indeterminate';\nimport { getTreeExpandedState, TreeExpandedState } from '../Tree/use-tree';\nimport { flattenTreeSelectData } from './flatten-tree-select-data';\nimport {\n CheckedStrategy,\n checkedToValue,\n expandToLeafChecked,\n} from './get-checked-values-by-strategy';\nimport {\n TreeSelectChevronAriaLabels,\n TreeSelectOption,\n TreeSelectRenderNodePayload,\n} from './TreeSelectOption';\nimport classes from './TreeSelect.module.css';\n\nexport type TreeSelectStylesNames =\n | __InputStylesNames\n | ComboboxLikeStylesNames\n | 'pill'\n | 'pillsList'\n | 'inputField';\n\nexport type TreeSelectMode = 'single' | 'multiple' | 'checkbox';\n\nexport type TreeSelectValue<Mode extends TreeSelectMode> = Mode extends 'single'\n ? string | null\n : string[];\n\nexport interface TreeSelectRenderPillPayload {\n /** Node associated with the pill. If the value is not present in `data`, a placeholder node with `label` equal to the value is passed. */\n node: TreeNodeData;\n\n /** Selected value that the pill represents */\n value: string;\n\n /** Removes the value from the selection. In `checkbox` mode unchecks the node and, unless `checkStrictly` is set, all its children, same as the default pill remove button. */\n onRemove: () => void;\n\n /** Value of the `disabled` prop passed to the component */\n disabled?: boolean;\n\n /** Value of the `readOnly` prop passed to the component */\n readOnly?: boolean;\n}\n\nexport interface TreeSelectProps<Mode extends TreeSelectMode = 'single'>\n extends\n BoxProps,\n __BaseInputProps,\n StylesApiProps<TreeSelectFactory>,\n ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Tree data */\n data: TreeNodeData[];\n\n /** Selection mode: 'single', 'multiple', or 'checkbox' (with cascade) @default 'single' */\n mode?: Mode;\n\n /** Controlled value */\n value?: TreeSelectValue<Mode>;\n\n /** Default value */\n defaultValue?: TreeSelectValue<Mode>;\n\n /** Called when value changes */\n onChange?: (value: TreeSelectValue<Mode>) => void;\n\n /** Disables parent-child cascade in checkbox mode @default false */\n checkStrictly?: boolean;\n\n /** Controls which checked nodes appear in value/pills in checkbox mode @default 'child' */\n checkedStrategy?: CheckedStrategy;\n\n /** Default expanded node values */\n defaultExpandedValues?: string[];\n\n /** Expand all nodes by default @default false */\n defaultExpandAll?: boolean;\n\n /** Controlled expanded state */\n expandedValues?: string[];\n\n /** Called when expanded state changes */\n onExpandedChange?: (values: string[]) => void;\n\n /** Also toggle expand when clicking a parent node (not just the chevron). In `single` and `multiple` modes, parent clicks only expand; only leaves can be selected. In `checkbox` mode, parent clicks both check and expand. @default false */\n expandOnClick?: boolean;\n\n /** Enables search filtering @default false */\n searchable?: boolean;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Custom filter function */\n filter?: (query: string, node: TreeNodeData) => boolean;\n\n /** Message when no nodes match search */\n nothingFoundMessage?: React.ReactNode;\n\n /** Allows deselecting in single mode @default true */\n allowDeselect?: boolean;\n\n /** Shows clear button @default false */\n clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n clearSectionMode?: ClearSectionMode;\n\n /** Props for the clear button */\n clearButtonProps?: InputClearButtonProps;\n\n /** Maximum selectable values (multiple/checkbox mode) */\n maxValues?: number;\n\n /** Maximum displayed pills before \"+N more\" */\n maxDisplayedValues?: number;\n\n /** Content shown when values overflow maxDisplayedValues */\n maxDisplayedValuesContent?: React.ReactNode | ((overflow: number) => React.ReactNode);\n\n /** Called with removed value in multiple/checkbox mode */\n onRemove?: (value: string) => void;\n\n /** Called when clear button is clicked */\n onClear?: () => void;\n\n /** Custom node rendering in the dropdown */\n renderNode?: (payload: TreeSelectRenderNodePayload) => React.ReactNode;\n\n /** Custom pill rendering in `multiple` and `checkbox` modes. Not called for the overflow pill displayed when `maxDisplayedValues` is exceeded. */\n renderPill?: (payload: TreeSelectRenderPillPayload) => React.ReactNode;\n\n /** Show tree connection lines between parent and child nodes @default true */\n withLines?: boolean;\n\n /** Props for the hidden input */\n hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;\n\n /** Divider for hidden input values @default ',' */\n hiddenInputValuesDivider?: string;\n\n /** Props for the ScrollArea in the dropdown */\n scrollAreaProps?: ScrollAreaProps;\n\n /** Controls the default chevron color */\n chevronColor?: MantineColor;\n\n /** Max dropdown height @default 220 */\n maxDropdownHeight?: number | string;\n\n /** Controlled dropdown state */\n dropdownOpened?: boolean;\n\n /** Default dropdown state */\n defaultDropdownOpened?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?: () => void;\n\n /** Called when dropdown closes */\n onDropdownClose?: () => void;\n\n /** Props passed to the underlying Combobox */\n comboboxProps?: Record<string, any>;\n\n /** Clear search on selection change @default true */\n clearSearchOnChange?: boolean;\n\n /** Opens dropdown on focus (searchable mode) @default true */\n openOnFocus?: boolean;\n\n /** aria-label values for the expand/collapse chevron button */\n chevronAriaLabels?: TreeSelectChevronAriaLabels;\n}\n\nexport type TreeSelectFactory = Factory<{\n props: TreeSelectProps;\n ref: HTMLInputElement;\n stylesNames: TreeSelectStylesNames;\n variant: InputVariant;\n signature: <Mode extends TreeSelectMode = 'single'>(\n props: TreeSelectProps<Mode>\n ) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n mode: 'single',\n allowDeselect: true,\n checkedStrategy: 'child',\n maxValues: Infinity,\n hiddenInputValuesDivider: ',',\n clearSearchOnChange: true,\n openOnFocus: true,\n size: 'sm',\n withLines: true,\n} satisfies Partial<TreeSelectProps<TreeSelectMode>>;\n\nconst clearSectionOffset: Record<string, number> = {\n xs: 41,\n sm: 50,\n md: 60,\n lg: 72,\n xl: 89,\n};\n\nfunction getAncestorsToNode(value: string, nodes: TreeNodeData[]): string[] | null {\n for (const node of nodes) {\n if (node.value === value) {\n return [];\n }\n if (Array.isArray(node.children)) {\n const path = getAncestorsToNode(value, node.children);\n if (path !== null) {\n return [node.value, ...path];\n }\n }\n }\n return null;\n}\n\nexport const TreeSelect = genericFactory<TreeSelectFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'TreeSelect'], defaultProps as any, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n size,\n data,\n mode,\n value,\n defaultValue,\n onChange,\n checkStrictly,\n checkedStrategy,\n defaultExpandedValues,\n defaultExpandAll,\n expandedValues,\n onExpandedChange,\n expandOnClick,\n searchable,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n filter,\n nothingFoundMessage,\n allowDeselect,\n clearable,\n clearSectionMode,\n clearButtonProps,\n maxValues,\n maxDisplayedValues,\n maxDisplayedValuesContent,\n onRemove,\n onClear,\n renderNode,\n renderPill,\n withLines,\n hiddenInputProps,\n hiddenInputValuesDivider,\n scrollAreaProps,\n chevronColor,\n maxDropdownHeight,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose,\n comboboxProps,\n clearSearchOnChange,\n openOnFocus,\n chevronAriaLabels,\n variant,\n onKeyDown,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n disabled,\n radius,\n rightSection,\n rightSectionWidth,\n rightSectionPointerEvents,\n rightSectionProps,\n leftSection,\n leftSectionWidth,\n leftSectionPointerEvents,\n leftSectionProps,\n inputContainer,\n inputWrapperOrder,\n withAsterisk,\n labelProps,\n descriptionProps,\n errorProps,\n successProps,\n wrapperProps,\n description,\n label,\n error,\n success,\n withErrorStyles,\n withSuccessStyles,\n name,\n form,\n id,\n placeholder,\n required,\n mod,\n attributes,\n ...others\n } = props;\n\n const isMulti = mode === 'multiple' || mode === 'checkbox';\n const isCheckbox = mode === 'checkbox';\n const _id = useId(id);\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen: () => {\n onDropdownOpen?.();\n combobox.updateSelectedOptionIndex('active', { scrollIntoView: true });\n },\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const initialExpanded = useMemo(() => {\n if (defaultExpandAll) {\n return getTreeExpandedState(data, '*');\n }\n if (defaultExpandedValues) {\n return getTreeExpandedState(data, defaultExpandedValues);\n }\n return getTreeExpandedState(data, []);\n }, []);\n\n const expandedToRecord = useCallback(\n (values: string[] | undefined): TreeExpandedState | undefined => {\n if (!values) {\n return undefined;\n }\n return getTreeExpandedState(data, values);\n },\n [data]\n );\n\n const [_expandedState, setExpandedState] = useUncontrolled<TreeExpandedState>({\n value: expandedToRecord(expandedValues),\n defaultValue: initialExpanded,\n finalValue: {},\n onChange: (val) => {\n if (onExpandedChange) {\n onExpandedChange(\n Object.entries(val)\n .filter(([, v]) => v)\n .map(([k]) => k)\n );\n }\n },\n });\n\n const toggleExpand = useCallback(\n (nodeValue: string) => {\n setExpandedState({ ..._expandedState, [nodeValue]: !_expandedState[nodeValue] });\n },\n [_expandedState]\n );\n\n const initialSearchValue = useMemo(() => {\n if (mode !== 'single' || !defaultValue) {\n return '';\n }\n const node = findTreeNode(defaultValue as string, data);\n return node ? (typeof node.label === 'string' ? node.label : '') : '';\n }, []);\n\n const [_searchValue, setSearchValue] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: initialSearchValue,\n onChange: onSearchChange,\n });\n\n const handleSearchChange = (val: string) => {\n setSearchValue(val);\n combobox.resetSelectedOption();\n };\n\n const [_value, setValue] = useUncontrolled({\n value: value as any,\n defaultValue: defaultValue as any,\n finalValue: isMulti ? [] : null,\n onChange,\n });\n\n const internalChecked = useMemo(() => {\n if (!isCheckbox || !_value || !Array.isArray(_value)) {\n return [];\n }\n if (checkStrictly) {\n return _value;\n }\n return expandToLeafChecked(_value, data);\n }, [isCheckbox, _value, data, checkStrictly]);\n\n const filteredData = useMemo(() => {\n if (!searchable || !_searchValue) {\n return data;\n }\n if (mode === 'single' && _value) {\n const node = findTreeNode(_value as string, data);\n if (node && _searchValue === (typeof node.label === 'string' ? node.label : '')) {\n return data;\n }\n }\n return filterTreeData(data, _searchValue, filter);\n }, [data, _searchValue, filter, searchable, mode, _value]);\n\n const expandedForRender = useMemo(() => {\n if (_searchValue && filteredData !== data) {\n const expanded = { ..._expandedState };\n const expandFilteredParents = (nodes: TreeNodeData[]) => {\n for (const node of nodes) {\n if (Array.isArray(node.children) && node.children.length > 0) {\n expanded[node.value] = true;\n expandFilteredParents(node.children);\n }\n }\n };\n expandFilteredParents(filteredData);\n return expanded;\n }\n return _expandedState;\n }, [filteredData, _expandedState, _searchValue, data]);\n\n const flatNodes = useMemo(\n () => flattenTreeSelectData(filteredData, expandedForRender),\n [filteredData, expandedForRender]\n );\n\n const flatNodesRef = useRef(flatNodes);\n flatNodesRef.current = flatNodes;\n\n const nodeLookup = useMemo(() => {\n const lookup: Record<string, TreeNodeData> = {};\n const walk = (nodes: TreeNodeData[]) => {\n for (const node of nodes) {\n lookup[node.value] = node;\n if (Array.isArray(node.children)) {\n walk(node.children);\n }\n }\n };\n walk(data);\n return lookup;\n }, [data]);\n\n const getNodeLabel = (nodeValue: string): string => {\n const node = nodeLookup[nodeValue];\n if (!node) {\n return nodeValue;\n }\n return typeof node.label === 'string' ? node.label : nodeValue;\n };\n\n const getStyles = useStyles<TreeSelectFactory>({\n name: 'TreeSelect',\n classes: {} as any,\n props: props as any,\n classNames,\n styles,\n unstyled,\n attributes,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<TreeSelectFactory>({\n props,\n styles,\n classNames,\n });\n\n const {\n styleProps,\n rest: { type, autoComplete, ...rest },\n } = extractStyleProps(others);\n\n const handleOptionSubmit = (val: string) => {\n if (mode === 'single') {\n if (expandOnClick) {\n const node = findTreeNode(val, data);\n if (node && Array.isArray(node.children) && node.children.length > 0) {\n toggleExpand(val);\n return;\n }\n }\n const nextValue = allowDeselect && val === _value ? null : val;\n setValue(nextValue);\n combobox.closeDropdown();\n if (clearSearchOnChange) {\n handleSearchChange(nextValue ? getNodeLabel(nextValue) : '');\n }\n } else if (mode === 'multiple') {\n if (expandOnClick) {\n const node = findTreeNode(val, data);\n if (node && Array.isArray(node.children) && node.children.length > 0) {\n toggleExpand(val);\n return;\n }\n }\n const arr = (_value as string[]) || [];\n if (arr.includes(val)) {\n setValue(arr.filter((v: string) => v !== val));\n onRemove?.(val);\n } else if (arr.length < (maxValues ?? Infinity)) {\n setValue([...arr, val]);\n } else {\n return;\n }\n if (clearSearchOnChange) {\n setSearchValue('');\n }\n } else if (mode === 'checkbox') {\n const nodeChecked = checkStrictly\n ? internalChecked.includes(val)\n : isNodeChecked(val, data, internalChecked);\n\n let newInternalChecked: string[];\n if (checkStrictly) {\n newInternalChecked = nodeChecked\n ? internalChecked.filter((v) => v !== val)\n : [...internalChecked, val];\n } else {\n const childLeaves = getChildrenNodesValues(val, data);\n if (nodeChecked) {\n newInternalChecked = internalChecked.filter((v) => !childLeaves.includes(v));\n } else {\n newInternalChecked = [...new Set([...internalChecked, ...childLeaves])];\n }\n }\n\n const newValue = checkedToValue(newInternalChecked, data, checkedStrategy!);\n if (!nodeChecked && newValue.length > (maxValues ?? Infinity)) {\n return;\n }\n setValue(newValue);\n if (clearSearchOnChange) {\n setSearchValue('');\n }\n\n if (expandOnClick) {\n const node = findTreeNode(val, data);\n if (node && Array.isArray(node.children) && node.children.length > 0) {\n if (!_expandedState[val]) {\n toggleExpand(val);\n }\n }\n }\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (event.key === ' ' && !searchable && isMulti) {\n event.preventDefault();\n combobox.toggleDropdown();\n }\n\n if (event.key === 'Backspace' && _searchValue.length === 0 && isMulti) {\n const arr = (_value as string[]) || [];\n if (arr.length > 0) {\n const removed = arr[arr.length - 1];\n onRemove?.(removed);\n setValue(arr.slice(0, -1));\n }\n }\n\n if (!combobox.dropdownOpened) {\n return;\n }\n\n const index = combobox.getSelectedOptionIndex();\n if (index < 0 || index >= flatNodesRef.current.length) {\n return;\n }\n\n const currentNode = flatNodesRef.current[index];\n\n if (event.key === 'ArrowRight') {\n if (currentNode.hasChildren && !currentNode.expanded) {\n event.preventDefault();\n toggleExpand(currentNode.node.value);\n }\n }\n\n if (event.key === 'ArrowLeft') {\n if (currentNode.hasChildren && currentNode.expanded) {\n event.preventDefault();\n toggleExpand(currentNode.node.value);\n } else if (currentNode.parent) {\n event.preventDefault();\n const parentIndex = flatNodesRef.current.findIndex(\n (n) => n.node.value === currentNode.parent\n );\n if (parentIndex >= 0) {\n combobox.selectOption(parentIndex);\n }\n }\n }\n };\n\n useEffect(() => {\n if (mode !== 'single' || !searchable) {\n return;\n }\n if (value === null) {\n handleSearchChange('');\n } else if (typeof value === 'string') {\n handleSearchChange(getNodeLabel(value));\n }\n }, [value]);\n\n const prevDropdownOpenedRef = useRef(false);\n useEffect(() => {\n if (combobox.dropdownOpened && !prevDropdownOpenedRef.current && searchable && _value) {\n const targets = Array.isArray(_value) ? _value : [_value];\n const newExpanded = { ..._expandedState };\n let changed = false;\n for (const target of targets) {\n const ancestors = getAncestorsToNode(target as string, data);\n if (ancestors) {\n for (const a of ancestors) {\n if (!newExpanded[a]) {\n newExpanded[a] = true;\n changed = true;\n }\n }\n }\n }\n if (changed) {\n setExpandedState(newExpanded);\n requestAnimationFrame(() => {\n combobox.updateSelectedOptionIndex('active', { scrollIntoView: true });\n });\n }\n }\n prevDropdownOpenedRef.current = combobox.dropdownOpened;\n });\n\n const clearButton = (\n <Combobox.ClearButton\n {...clearButtonProps}\n onClear={() => {\n onClear?.();\n setValue(isMulti ? [] : null);\n handleSearchChange('');\n combobox.focusTarget();\n }}\n />\n );\n\n const hasValue = isMulti\n ? Array.isArray(_value) && _value.length > 0\n : _value != null && _value !== '';\n const _clearable = clearable && hasValue && !disabled && !readOnly;\n\n const singleDisplayLabel = useMemo(() => {\n if (mode !== 'single' || !_value) {\n return '';\n }\n return getNodeLabel(_value as string);\n }, [mode, _value, nodeLookup]);\n\n const displayValues = useMemo(() => {\n if (!isMulti || !Array.isArray(_value)) {\n return [];\n }\n return _value as string[];\n }, [isMulti, _value]);\n\n const pillsListStyle =\n _clearable && isMulti\n ? { paddingInlineEnd: clearSectionOffset[size as string] ?? clearSectionOffset.sm }\n : undefined;\n\n const visiblePills =\n maxDisplayedValues != null ? displayValues.slice(0, maxDisplayedValues) : displayValues;\n\n const overflowCount =\n maxDisplayedValues != null ? Math.max(0, displayValues.length - maxDisplayedValues) : 0;\n\n const removePillValue = (item: string) => {\n if (isCheckbox) {\n const childLeaves = checkStrictly ? [item] : getChildrenNodesValues(item, data);\n const newInternal = internalChecked.filter((v) => !childLeaves.includes(v));\n setValue(checkedToValue(newInternal, data, checkedStrategy!));\n } else {\n setValue((_value as string[]).filter((v: string) => v !== item));\n }\n onRemove?.(item);\n };\n\n const pills = visiblePills.map((item, index) => {\n if (renderPill) {\n return (\n <Fragment key={`${item}-${index}`}>\n {renderPill({\n node: nodeLookup[item] ?? { value: item, label: item },\n value: item,\n onRemove: () => removePillValue(item),\n disabled,\n readOnly,\n })}\n </Fragment>\n );\n }\n\n return (\n <Pill\n key={`${item}-${index}`}\n withRemoveButton={!readOnly}\n onRemove={() => removePillValue(item)}\n unstyled={unstyled}\n disabled={disabled}\n {...getStyles('pill')}\n >\n {getNodeLabel(item)}\n </Pill>\n );\n });\n\n if (overflowCount > 0) {\n const overflowContent =\n typeof maxDisplayedValuesContent === 'function'\n ? maxDisplayedValuesContent(overflowCount)\n : maxDisplayedValuesContent || `+${overflowCount} more`;\n pills.push(\n <Pill key=\"__overflow\" unstyled={unstyled} disabled={disabled} {...getStyles('pill')}>\n {overflowContent}\n </Pill>\n );\n }\n\n const isEmpty = flatNodes.length === 0;\n\n const options = flatNodes.map((flatNode) => {\n const isSelected =\n mode === 'single'\n ? _value === flatNode.node.value\n : mode === 'multiple'\n ? ((_value as string[]) || []).includes(flatNode.node.value)\n : false;\n\n const nodeChecked = isCheckbox\n ? checkStrictly\n ? internalChecked.includes(flatNode.node.value)\n : isNodeChecked(flatNode.node.value, data, internalChecked)\n : false;\n\n const nodeIndeterminate =\n isCheckbox && !checkStrictly\n ? isNodeIndeterminate(flatNode.node.value, data, internalChecked)\n : false;\n\n return (\n <TreeSelectOption\n key={flatNode.node.value}\n node={flatNode.node}\n level={flatNode.level}\n expanded={flatNode.expanded}\n hasChildren={flatNode.hasChildren}\n selected={isSelected}\n checked={nodeChecked}\n indeterminate={nodeIndeterminate}\n showCheckbox={isCheckbox}\n isLastChild={flatNode.isLastChild}\n lineGuides={flatNode.lineGuides}\n withLines={!!withLines}\n onToggleExpand={toggleExpand}\n renderNode={renderNode}\n chevronAriaLabels={chevronAriaLabels}\n />\n );\n });\n\n const dropdown = (\n <Combobox.Dropdown hidden={readOnly || disabled}>\n <Combobox.Options\n className={classes.optionsWrapper}\n aria-multiselectable={isMulti || undefined}\n >\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--combobox-padding)\"\n offsetScrollbars=\"y\"\n {...scrollAreaProps}\n >\n {options}\n </ScrollArea.Autosize>\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n\n if (isMulti) {\n return (\n <>\n <Combobox\n store={combobox}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n size={size}\n readOnly={readOnly}\n __staticSelector=\"TreeSelect\"\n attributes={attributes}\n onOptionSubmit={handleOptionSubmit}\n {...comboboxProps}\n >\n <Combobox.DropdownTarget>\n <PillsInput\n {...styleProps}\n __staticSelector=\"TreeSelect\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n size={size}\n className={className}\n style={style}\n variant={variant}\n disabled={disabled}\n radius={radius}\n __defaultRightSection={\n <Combobox.Chevron\n size={size}\n error={error}\n unstyled={unstyled}\n color={chevronColor}\n />\n }\n __clearSection={clearButton}\n __clearable={_clearable}\n __clearSectionMode={clearSectionMode}\n rightSection={rightSection}\n rightSectionPointerEvents={rightSectionPointerEvents || 'none'}\n rightSectionWidth={rightSectionWidth}\n rightSectionProps={rightSectionProps}\n leftSection={leftSection}\n leftSectionWidth={leftSectionWidth}\n leftSectionPointerEvents={leftSectionPointerEvents}\n leftSectionProps={leftSectionProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n withAsterisk={withAsterisk}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n successProps={successProps}\n wrapperProps={wrapperProps}\n description={description}\n label={label}\n error={error}\n success={success}\n withErrorStyles={withErrorStyles}\n withSuccessStyles={withSuccessStyles}\n __stylesApiProps={{\n ...props,\n rightSectionPointerEvents: rightSectionPointerEvents || 'none',\n multiline: true,\n }}\n pointer={!searchable}\n onClick={() => (searchable ? combobox.openDropdown() : combobox.toggleDropdown())}\n data-expanded={combobox.dropdownOpened || undefined}\n id={_id}\n required={required}\n mod={mod}\n attributes={attributes}\n >\n <Pill.Group\n attributes={attributes}\n disabled={disabled}\n unstyled={unstyled}\n {...getStyles('pillsList', { style: pillsListStyle })}\n >\n {pills}\n <Combobox.EventsTarget autoComplete={autoComplete}>\n <PillsInput.Field\n {...rest}\n id={_id}\n placeholder={placeholder}\n type={!searchable && !placeholder ? 'hidden' : 'visible'}\n {...getStyles('inputField')}\n unstyled={unstyled}\n onFocus={(event) => {\n onFocus?.(event);\n if (openOnFocus && searchable) {\n combobox.openDropdown();\n }\n }}\n onBlur={(event) => {\n onBlur?.(event);\n combobox.closeDropdown();\n handleSearchChange('');\n }}\n onKeyDown={handleKeyDown}\n value={_searchValue}\n onChange={(event) => {\n if (isExternalInputChange(event)) {\n return;\n }\n\n handleSearchChange(event.currentTarget.value);\n if (searchable) {\n combobox.openDropdown();\n }\n }}\n disabled={disabled}\n readOnly={readOnly || !searchable}\n pointer={!searchable}\n />\n </Combobox.EventsTarget>\n </Pill.Group>\n </PillsInput>\n </Combobox.DropdownTarget>\n {dropdown}\n </Combobox>\n <Combobox.HiddenInput\n name={name}\n valuesDivider={hiddenInputValuesDivider}\n value={_value}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n }\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"TreeSelect\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n size={size}\n attributes={attributes}\n onOptionSubmit={handleOptionSubmit}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'} autoComplete={autoComplete}>\n <InputBase\n id={_id}\n __defaultRightSection={\n <Combobox.Chevron\n size={size}\n error={error}\n unstyled={unstyled}\n color={chevronColor}\n />\n }\n __clearSection={clearButton}\n __clearable={_clearable}\n __clearSectionMode={clearSectionMode}\n rightSection={rightSection}\n rightSectionPointerEvents={rightSectionPointerEvents || 'none'}\n {...rest}\n {...styleProps}\n size={size}\n __staticSelector=\"TreeSelect\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={searchable ? _searchValue : singleDisplayLabel}\n onChange={(event) => {\n if (isExternalInputChange(event)) {\n return;\n }\n\n handleSearchChange(event.currentTarget.value);\n combobox.openDropdown();\n }}\n onFocus={(event) => {\n if (openOnFocus && searchable) {\n combobox.openDropdown();\n }\n onFocus?.(event);\n }}\n onBlur={(event) => {\n if (searchable) {\n combobox.closeDropdown();\n }\n handleSearchChange(_value ? getNodeLabel(_value as string) : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n onKeyDown={handleKeyDown}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n success={success}\n attributes={attributes}\n className={className}\n style={style}\n variant={variant}\n radius={radius}\n leftSection={leftSection}\n leftSectionWidth={leftSectionWidth}\n leftSectionPointerEvents={leftSectionPointerEvents}\n leftSectionProps={leftSectionProps}\n rightSectionWidth={rightSectionWidth}\n rightSectionProps={rightSectionProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n withAsterisk={withAsterisk}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n successProps={successProps}\n wrapperProps={wrapperProps}\n description={description}\n label={label}\n withErrorStyles={withErrorStyles}\n withSuccessStyles={withSuccessStyles}\n placeholder={placeholder}\n required={required}\n mod={mod}\n />\n </Combobox.Target>\n {dropdown}\n </Combobox>\n <Combobox.HiddenInput\n value={_value}\n name={name}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nTreeSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nTreeSelect.displayName = '@mantine/core/TreeSelect';\n"],"mappings":"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"}
|
package/cjs/index.cjs
CHANGED
|
@@ -157,6 +157,7 @@ const require_AppShellMain = require("./components/AppShell/AppShellMain/AppShel
|
|
|
157
157
|
const require_AppShellNavbar = require("./components/AppShell/AppShellNavbar/AppShellNavbar.cjs");
|
|
158
158
|
const require_AppShellSection = require("./components/AppShell/AppShellSection/AppShellSection.cjs");
|
|
159
159
|
const require_AppShell = require("./components/AppShell/AppShell.cjs");
|
|
160
|
+
const require_use_app_shell_resize = require("./components/AppShell/use-app-shell-resize/use-app-shell-resize.cjs");
|
|
160
161
|
const require_AspectRatio = require("./components/AspectRatio/AspectRatio.cjs");
|
|
161
162
|
const require_get_parsed_combobox_data = require("./components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.cjs");
|
|
162
163
|
const require_get_options_lockup = require("./components/Combobox/get-options-lockup/get-options-lockup.cjs");
|
|
@@ -252,8 +253,8 @@ const require_Grid = require("./components/Grid/Grid.cjs");
|
|
|
252
253
|
const require_Mark = require("./components/Mark/Mark.cjs");
|
|
253
254
|
const require_Highlight = require("./components/Highlight/Highlight.cjs");
|
|
254
255
|
const require_HoverCard_context = require("./components/HoverCard/HoverCard.context.cjs");
|
|
255
|
-
const require_HoverCardGroup = require("./components/HoverCard/HoverCardGroup/HoverCardGroup.cjs");
|
|
256
256
|
const require_HoverCardDropdown = require("./components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs");
|
|
257
|
+
const require_HoverCardGroup = require("./components/HoverCard/HoverCardGroup/HoverCardGroup.cjs");
|
|
257
258
|
const require_HoverCardTarget = require("./components/HoverCard/HoverCardTarget/HoverCardTarget.cjs");
|
|
258
259
|
const require_HoverCard = require("./components/HoverCard/HoverCard.cjs");
|
|
259
260
|
const require_Image = require("./components/Image/Image.cjs");
|
|
@@ -374,6 +375,24 @@ const require_ThemeIcon = require("./components/ThemeIcon/ThemeIcon.cjs");
|
|
|
374
375
|
const require_TimelineItem = require("./components/Timeline/TimelineItem/TimelineItem.cjs");
|
|
375
376
|
const require_Timeline = require("./components/Timeline/Timeline.cjs");
|
|
376
377
|
const require_Title = require("./components/Title/Title.cjs");
|
|
378
|
+
const require_Toggle = require("./components/Toggle/Toggle.cjs");
|
|
379
|
+
const require_ToolbarDivider = require("./components/Toolbar/ToolbarDivider/ToolbarDivider.cjs");
|
|
380
|
+
const require_ToolbarGroup = require("./components/Toolbar/ToolbarGroup/ToolbarGroup.cjs");
|
|
381
|
+
const require_ToolbarToggle = require("./components/Toolbar/ToolbarToggle/ToolbarToggle.cjs");
|
|
382
|
+
const require_ToolbarToggleGroup = require("./components/Toolbar/ToolbarToggleGroup/ToolbarToggleGroup.cjs");
|
|
383
|
+
const require_ToolbarToggleItem = require("./components/Toolbar/ToolbarToggleItem/ToolbarToggleItem.cjs");
|
|
384
|
+
const require_Toolbar = require("./components/Toolbar/Toolbar.cjs");
|
|
385
|
+
const require_Tour_context = require("./components/Tour/Tour.context.cjs");
|
|
386
|
+
const require_TourBeacon = require("./components/Tour/TourBeacon/TourBeacon.cjs");
|
|
387
|
+
const require_TourBody = require("./components/Tour/TourBody/TourBody.cjs");
|
|
388
|
+
const require_TourCloseButton = require("./components/Tour/TourCloseButton/TourCloseButton.cjs");
|
|
389
|
+
const require_TourNavigation = require("./components/Tour/TourNavigation/TourNavigation.cjs");
|
|
390
|
+
const require_TourOverlay = require("./components/Tour/TourOverlay/TourOverlay.cjs");
|
|
391
|
+
const require_TourRoot = require("./components/Tour/TourRoot/TourRoot.cjs");
|
|
392
|
+
const require_TourStep = require("./components/Tour/TourStep/TourStep.cjs");
|
|
393
|
+
const require_TourTitle = require("./components/Tour/TourTitle/TourTitle.cjs");
|
|
394
|
+
const require_TourTooltip = require("./components/Tour/TourTooltip/TourTooltip.cjs");
|
|
395
|
+
const require_Tour = require("./components/Tour/Tour.cjs");
|
|
377
396
|
const require_use_tree = require("./components/Tree/use-tree.cjs");
|
|
378
397
|
const require_Tree = require("./components/Tree/Tree.cjs");
|
|
379
398
|
const require_merge_async_children = require("./components/Tree/merge-async-children/merge-async-children.cjs");
|
|
@@ -673,10 +692,28 @@ exports.ThemeIcon = require_ThemeIcon.ThemeIcon;
|
|
|
673
692
|
exports.Timeline = require_Timeline.Timeline;
|
|
674
693
|
exports.TimelineItem = require_TimelineItem.TimelineItem;
|
|
675
694
|
exports.Title = require_Title.Title;
|
|
695
|
+
exports.Toggle = require_Toggle.Toggle;
|
|
696
|
+
exports.Toolbar = require_Toolbar.Toolbar;
|
|
697
|
+
exports.ToolbarDivider = require_ToolbarDivider.ToolbarDivider;
|
|
698
|
+
exports.ToolbarGroup = require_ToolbarGroup.ToolbarGroup;
|
|
699
|
+
exports.ToolbarToggle = require_ToolbarToggle.ToolbarToggle;
|
|
700
|
+
exports.ToolbarToggleGroup = require_ToolbarToggleGroup.ToolbarToggleGroup;
|
|
701
|
+
exports.ToolbarToggleItem = require_ToolbarToggleItem.ToolbarToggleItem;
|
|
676
702
|
exports.Tooltip = require_Tooltip.Tooltip;
|
|
677
703
|
exports.TooltipFloating = require_TooltipFloating.TooltipFloating;
|
|
678
704
|
exports.TooltipGroup = require_TooltipGroup.TooltipGroup;
|
|
679
705
|
exports.TooltipGroupContext = require_TooltipGroup.TooltipGroupContext;
|
|
706
|
+
exports.Tour = require_Tour.Tour;
|
|
707
|
+
exports.TourBeacon = require_TourBeacon.TourBeacon;
|
|
708
|
+
exports.TourBody = require_TourBody.TourBody;
|
|
709
|
+
exports.TourCloseButton = require_TourCloseButton.TourCloseButton;
|
|
710
|
+
exports.TourNavigation = require_TourNavigation.TourNavigation;
|
|
711
|
+
exports.TourOverlay = require_TourOverlay.TourOverlay;
|
|
712
|
+
exports.TourProvider = require_Tour_context.TourProvider;
|
|
713
|
+
exports.TourRoot = require_TourRoot.TourRoot;
|
|
714
|
+
exports.TourStep = require_TourStep.TourStep;
|
|
715
|
+
exports.TourTitle = require_TourTitle.TourTitle;
|
|
716
|
+
exports.TourTooltip = require_TourTooltip.TourTooltip;
|
|
680
717
|
exports.Transition = require_Transition.Transition;
|
|
681
718
|
exports.Tree = require_Tree.Tree;
|
|
682
719
|
exports.TreeSelect = require_TreeSelect.TreeSelect;
|
|
@@ -700,6 +737,7 @@ exports.createVarsResolver = require_create_vars_resolver.createVarsResolver;
|
|
|
700
737
|
exports.darken = require_darken.darken;
|
|
701
738
|
exports.deepMerge = require_deep_merge.deepMerge;
|
|
702
739
|
exports.defaultCssVariablesResolver = require_default_css_variables_resolver.defaultCssVariablesResolver;
|
|
740
|
+
exports.defaultLabels = require_Tour_context.defaultLabels;
|
|
703
741
|
exports.defaultLoaders = require_Loader.defaultLoaders;
|
|
704
742
|
exports.defaultOptionsFilter = require_default_options_filter.defaultOptionsFilter;
|
|
705
743
|
exports.defaultTreeNodeFilter = require_filter_tree_data.defaultTreeNodeFilter;
|
|
@@ -783,6 +821,7 @@ exports.toRgba = require_to_rgba.toRgba;
|
|
|
783
821
|
exports.useAccordionContext = require_Accordion_context.useAccordionContext;
|
|
784
822
|
exports.useAccordionItemContext = require_AccordionItem_context.useAccordionItemContext;
|
|
785
823
|
exports.useAppShellContext = require_AppShell_context.useAppShellContext;
|
|
824
|
+
exports.useAppShellResize = require_use_app_shell_resize.useAppShellResize;
|
|
786
825
|
exports.useCombobox = require_use_combobox.useCombobox;
|
|
787
826
|
exports.useComboboxContext = require_Combobox_context.useComboboxContext;
|
|
788
827
|
exports.useComboboxTargetProps = require_use_combobox_target_props.useComboboxTargetProps;
|
|
@@ -831,6 +870,7 @@ exports.useStepperContext = require_Stepper_context.useStepperContext;
|
|
|
831
870
|
exports.useStyles = require_use_styles.useStyles;
|
|
832
871
|
exports.useTableContext = require_Table_context.useTableContext;
|
|
833
872
|
exports.useTabsContext = require_Tabs_context.useTabsContext;
|
|
873
|
+
exports.useTourContext = require_Tour_context.useTourContext;
|
|
834
874
|
exports.useTree = require_use_tree.useTree;
|
|
835
875
|
exports.useVirtualizedCombobox = require_use_virtualized_combobox.useVirtualizedCombobox;
|
|
836
876
|
exports.v8CssVariablesResolver = require_v8_css_variables_resolver.v8CssVariablesResolver;
|
|
@@ -16,8 +16,6 @@ import { jsx } from "react/jsx-runtime";
|
|
|
16
16
|
//#region packages/@mantine/core/src/components/ActionBar/ActionBar.tsx
|
|
17
17
|
const defaultProps = {
|
|
18
18
|
withBorder: true,
|
|
19
|
-
py: "xs",
|
|
20
|
-
px: "sm",
|
|
21
19
|
position: {
|
|
22
20
|
bottom: 30,
|
|
23
21
|
left: 0,
|
|
@@ -64,7 +62,6 @@ const ActionBar = factory((_props) => {
|
|
|
64
62
|
className: RemoveScroll.classNames.fullWidth,
|
|
65
63
|
children: /* @__PURE__ */ jsx(Transition, {
|
|
66
64
|
keepMounted,
|
|
67
|
-
keepMountedMode: "display-none",
|
|
68
65
|
mounted: opened,
|
|
69
66
|
...transitionProps,
|
|
70
67
|
children: (transitionStyles) => /* @__PURE__ */ jsx(ActionBarProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBar.mjs","names":["classes"],"sources":["../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { useEffect, useEffectEvent } from 'react';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport {\n BoxProps,\n ElementProps,\n factory,\n Factory,\n getDefaultZIndex,\n MantineRadius,\n MantineShadow,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Affix, AffixBaseProps } from '../Affix';\nimport { Paper, PaperBaseProps } from '../Paper';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { ActionBarProvider } from './ActionBar.context';\nimport {\n ActionBarCloseButton,\n ActionBarCloseButtonStylesNames,\n} from './ActionBarCloseButton/ActionBarCloseButton';\nimport { ActionBarDivider, ActionBarDividerStylesNames } from './ActionBarDivider/ActionBarDivider';\nimport classes from './ActionBar.module.css';\n\nexport type ActionBarStylesNames =\n | 'root'\n | ActionBarDividerStylesNames\n | ActionBarCloseButtonStylesNames;\n\nexport interface ActionBarProps\n extends\n BoxProps,\n AffixBaseProps,\n PaperBaseProps,\n StylesApiProps<ActionBarFactory>,\n ElementProps<'div'> {\n /** Controls visibility */\n opened: boolean;\n\n /** Called when close button is clicked or Escape is pressed */\n onClose?: () => void;\n\n /** Props passed down to the `Transition` component, `{ transition: 'pop', duration: 200 }` by default */\n transitionProps?: TransitionOverride;\n\n /** Key of `theme.shadows` or any valid CSS `box-shadow` value */\n shadow?: MantineShadow;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` */\n radius?: MantineRadius;\n\n /** Determines whether the action bar should be closed when `Escape` key is pressed, `false` by default */\n closeOnEscape?: boolean;\n\n /** `aria-label` of the actions group, `'Actions'` by default */\n 'aria-label'?: string;\n\n /** If set, the
|
|
1
|
+
{"version":3,"file":"ActionBar.mjs","names":["classes"],"sources":["../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { useEffect, useEffectEvent } from 'react';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport {\n BoxProps,\n ElementProps,\n factory,\n Factory,\n getDefaultZIndex,\n MantineRadius,\n MantineShadow,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Affix, AffixBaseProps } from '../Affix';\nimport { Paper, PaperBaseProps } from '../Paper';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { ActionBarProvider } from './ActionBar.context';\nimport {\n ActionBarCloseButton,\n ActionBarCloseButtonStylesNames,\n} from './ActionBarCloseButton/ActionBarCloseButton';\nimport { ActionBarDivider, ActionBarDividerStylesNames } from './ActionBarDivider/ActionBarDivider';\nimport classes from './ActionBar.module.css';\n\nexport type ActionBarStylesNames =\n | 'root'\n | ActionBarDividerStylesNames\n | ActionBarCloseButtonStylesNames;\n\nexport interface ActionBarProps\n extends\n BoxProps,\n AffixBaseProps,\n PaperBaseProps,\n StylesApiProps<ActionBarFactory>,\n ElementProps<'div'> {\n /** Controls visibility */\n opened: boolean;\n\n /** Called when close button is clicked or Escape is pressed */\n onClose?: () => void;\n\n /** Props passed down to the `Transition` component, `{ transition: 'pop', duration: 200 }` by default */\n transitionProps?: TransitionOverride;\n\n /** Key of `theme.shadows` or any valid CSS `box-shadow` value */\n shadow?: MantineShadow;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` */\n radius?: MantineRadius;\n\n /** Determines whether the action bar should be closed when `Escape` key is pressed, `false` by default */\n closeOnEscape?: boolean;\n\n /** `aria-label` of the actions group, `'Actions'` by default */\n 'aria-label'?: string;\n\n /** If set, the action bar is kept in the DOM when closed. React `Activity` is used to preserve its state while it is hidden, `false` by default */\n keepMounted?: boolean;\n\n children: React.ReactNode;\n}\n\nexport type ActionBarFactory = Factory<{\n props: ActionBarProps;\n ref: HTMLDivElement;\n stylesNames: ActionBarStylesNames;\n staticComponents: {\n Divider: typeof ActionBarDivider;\n CloseButton: typeof ActionBarCloseButton;\n };\n}>;\n\nconst defaultProps = {\n withBorder: true,\n position: { bottom: 30, left: 0, right: 0 },\n transitionProps: { transition: 'pop', duration: 200 },\n closeOnEscape: false,\n withinPortal: true,\n 'aria-label': 'Actions',\n zIndex: getDefaultZIndex('modal'),\n} satisfies Partial<ActionBarProps>;\n\nexport const ActionBar = factory<ActionBarFactory>((_props) => {\n const props = useProps('ActionBar', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n zIndex,\n position,\n keepMounted,\n opened,\n transitionProps,\n withinPortal,\n children,\n onClose,\n portalProps,\n closeOnEscape,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<ActionBarFactory>({\n name: 'ActionBar',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n });\n\n const handleEscape = useEffectEvent((event: KeyboardEvent) => {\n if (event.key === 'Escape' && !event.isComposing) {\n onClose?.();\n }\n });\n\n useEffect(() => {\n if (!closeOnEscape || !opened) {\n return undefined;\n }\n\n window.addEventListener('keydown', handleEscape, { passive: true });\n return () => window.removeEventListener('keydown', handleEscape);\n }, [closeOnEscape, opened]);\n\n return (\n <Affix\n zIndex={zIndex}\n position={position}\n withinPortal={withinPortal}\n portalProps={portalProps}\n unstyled={unstyled}\n className={RemoveScroll.classNames.fullWidth}\n >\n <Transition keepMounted={keepMounted} mounted={opened} {...transitionProps}>\n {(transitionStyles) => (\n <ActionBarProvider value={{ onClose, getStyles, unstyled }}>\n <Paper\n unstyled={unstyled}\n {...getStyles('root', { style: transitionStyles })}\n role=\"group\"\n {...others}\n >\n {children}\n </Paper>\n </ActionBarProvider>\n )}\n </Transition>\n </Affix>\n );\n});\n\nActionBar.classes = classes;\nActionBar.displayName = '@mantine/core/ActionBar';\nActionBar.Divider = ActionBarDivider;\nActionBar.CloseButton = ActionBarCloseButton;\n"],"mappings":";;;;;;;;;;;;;;;;AA0EA,MAAM,eAAe;CACnB,YAAY;CACZ,UAAU;EAAE,QAAQ;EAAI,MAAM;EAAG,OAAO;CAAE;CAC1C,iBAAiB;EAAE,YAAY;EAAO,UAAU;CAAI;CACpD,eAAe;CACf,cAAc;CACd,cAAc;CACd,QAAQ,iBAAiB,OAAO;AAClC;AAEA,MAAa,YAAY,SAA2B,WAAW;CAC7D,MAAM,QAAQ,SAAS,aAAa,cAAc,MAAM;CACxD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,QACA,UACA,aACA,QACA,iBACA,cACA,UACA,SACA,aACA,eACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAA4B;EAC5C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,eAAe,gBAAgB,UAAyB;EAC5D,IAAI,MAAM,QAAQ,YAAY,CAAC,MAAM,aACnC,UAAU;CAEd,CAAC;CAED,gBAAgB;EACd,IAAI,CAAC,iBAAiB,CAAC,QACrB;EAGF,OAAO,iBAAiB,WAAW,cAAc,EAAE,SAAS,KAAK,CAAC;EAClE,aAAa,OAAO,oBAAoB,WAAW,YAAY;CACjE,GAAG,CAAC,eAAe,MAAM,CAAC;CAE1B,OACE,oBAAC,OAAD;EACU;EACE;EACI;EACD;EACH;EACV,WAAW,aAAa,WAAW;EAEnC,UAAA,oBAAC,YAAD;GAAyB;GAAa,SAAS;GAAQ,GAAI;GACvD,WAAA,qBACA,oBAAC,mBAAD;IAAmB,OAAO;KAAE;KAAS;KAAW;IAAS;IACvD,UAAA,oBAAC,OAAD;KACY;KACV,GAAI,UAAU,QAAQ,EAAE,OAAO,iBAAiB,CAAC;KACjD,MAAK;KACL,GAAI;KAEH;IACI,CAAA;GACU,CAAA;EAEX,CAAA;CACP,CAAA;AAEX,CAAC;AAED,UAAU,UAAUA;AACpB,UAAU,cAAc;AACxB,UAAU,UAAU;AACpB,UAAU,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBar.module.mjs","names":[],"sources":["../../../src/components/ActionBar/ActionBar.module.css"],"sourcesContent":[".root {\n display: flex;\n align-items: center;\n gap: var(--mantine-spacing-sm);\n width: fit-content;\n margin-inline: auto;\n}\n\n.divider {\n width: 1px;\n align-self: stretch;\n background-color: var(--mantine-color-default-border);\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ActionBar.module.mjs","names":[],"sources":["../../../src/components/ActionBar/ActionBar.module.css"],"sourcesContent":[".root {\n display: flex;\n align-items: center;\n gap: var(--mantine-spacing-sm);\n width: fit-content;\n margin-inline: auto;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);\n}\n\n.divider {\n width: 1px;\n align-self: stretch;\n background-color: var(--mantine-color-default-border);\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.context.mjs","names":[],"sources":["../../../src/components/AppShell/AppShell.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { AppShellFactory } from './AppShell';\n\nexport interface AppShellContextValue {\n getStyles: GetStylesApi<AppShellFactory>;\n withBorder: boolean | undefined;\n zIndex: string | number | undefined;\n disabled: boolean | undefined;\n offsetScrollbars: boolean | undefined;\n mode: 'fixed' | 'static';\n}\n\nexport const [AppShellProvider, useAppShellContext] = createSafeContext<AppShellContextValue>(\n 'AppShell was not found in tree'\n);\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AppShell.context.mjs","names":[],"sources":["../../../src/components/AppShell/AppShell.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { AppShellFactory } from './AppShell';\nimport type { AppShellResizeController, AppShellResizeSection } from './AppShell.types';\n\nexport interface AppShellContextValue {\n getStyles: GetStylesApi<AppShellFactory>;\n withBorder: boolean | undefined;\n zIndex: string | number | undefined;\n disabled: boolean | undefined;\n offsetScrollbars: boolean | undefined;\n mode: 'fixed' | 'static';\n resize: AppShellResizeController | undefined;\n rootRef: React.RefObject<HTMLDivElement | null>;\n resizeOffsets: Partial<Record<AppShellResizeSection, boolean>>;\n}\n\nexport const [AppShellProvider, useAppShellContext] = createSafeContext<AppShellContextValue>(\n 'AppShell was not found in tree'\n);\n"],"mappings":";;;AAgBA,MAAa,CAAC,kBAAkB,sBAAsB,kBACpD,gCACF"}
|
|
@@ -6,16 +6,19 @@ import { useStyles } from "../../core/styles-api/use-styles/use-styles.mjs";
|
|
|
6
6
|
import { factory } from "../../core/factory/factory.mjs";
|
|
7
7
|
import { Box } from "../../core/Box/Box.mjs";
|
|
8
8
|
import { AppShellProvider } from "./AppShell.context.mjs";
|
|
9
|
+
import { RESIZE_SECTION_NAMES } from "./use-app-shell-resize/resize-section-config.mjs";
|
|
9
10
|
import AppShell_module_default from "./AppShell.module.mjs";
|
|
10
11
|
import { AppShellAside } from "./AppShellAside/AppShellAside.mjs";
|
|
11
12
|
import { AppShellFooter } from "./AppShellFooter/AppShellFooter.mjs";
|
|
12
13
|
import { AppShellHeader } from "./AppShellHeader/AppShellHeader.mjs";
|
|
13
14
|
import { AppShellMain } from "./AppShellMain/AppShellMain.mjs";
|
|
14
15
|
import { AppShellMediaStyles } from "./AppShellMediaStyles/AppShellMediaStyles.mjs";
|
|
16
|
+
import { escapeCssId } from "./AppShellMediaStyles/escape-css-id/escape-css-id.mjs";
|
|
15
17
|
import { AppShellNavbar } from "./AppShellNavbar/AppShellNavbar.mjs";
|
|
16
18
|
import { AppShellSection } from "./AppShellSection/AppShellSection.mjs";
|
|
17
19
|
import { useResizing } from "./use-resizing/use-resizing.mjs";
|
|
18
|
-
import {
|
|
20
|
+
import { useRef } from "react";
|
|
21
|
+
import { useId as useId$1, useMergedRef } from "@mantine/hooks";
|
|
19
22
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
20
23
|
//#region packages/@mantine/core/src/components/AppShell/AppShell.tsx
|
|
21
24
|
const defaultProps = {
|
|
@@ -28,11 +31,12 @@ const defaultProps = {
|
|
|
28
31
|
};
|
|
29
32
|
const varsResolver = createVarsResolver((_, { transitionDuration, transitionTimingFunction }) => ({ root: {
|
|
30
33
|
"--app-shell-transition-duration": `${transitionDuration}ms`,
|
|
31
|
-
"--app-shell-transition-timing-function": transitionTimingFunction
|
|
34
|
+
"--app-shell-transition-timing-function": transitionTimingFunction,
|
|
35
|
+
"--app-shell-resize-handle-size": void 0
|
|
32
36
|
} }));
|
|
33
37
|
const AppShell = factory((_props) => {
|
|
34
38
|
const props = useProps("AppShell", defaultProps, _props);
|
|
35
|
-
const { classNames, className, style, styles, unstyled, vars, navbar, withBorder, padding, transitionDuration, transitionTimingFunction, header, zIndex, layout, disabled, aside, footer, offsetScrollbars = true, mode, mod, attributes, id, ...others } = props;
|
|
39
|
+
const { classNames, className, style, styles, unstyled, vars, navbar, withBorder, padding, transitionDuration, transitionTimingFunction, header, zIndex, layout, disabled, aside, footer, offsetScrollbars = true, mode, mod, attributes, id, resize, ref, ...others } = props;
|
|
36
40
|
const getStyles = useStyles({
|
|
37
41
|
name: "AppShell",
|
|
38
42
|
classes: AppShell_module_default,
|
|
@@ -46,11 +50,29 @@ const AppShell = factory((_props) => {
|
|
|
46
50
|
vars,
|
|
47
51
|
varsResolver
|
|
48
52
|
});
|
|
53
|
+
const resizeKey = resize ? RESIZE_SECTION_NAMES.map((section) => resize.sizes[section]).join("|") : void 0;
|
|
49
54
|
const resizing = useResizing({
|
|
50
55
|
disabled,
|
|
51
|
-
transitionDuration
|
|
56
|
+
transitionDuration,
|
|
57
|
+
resizeKey
|
|
52
58
|
});
|
|
53
|
-
const _id = useId(id);
|
|
59
|
+
const _id = useId$1(id);
|
|
60
|
+
const rootRef = useRef(null);
|
|
61
|
+
const resizeVariables = resize ? {
|
|
62
|
+
sizes: resize.sizes,
|
|
63
|
+
enabled: {
|
|
64
|
+
navbar: resize.navbar.enabled,
|
|
65
|
+
aside: resize.aside.enabled,
|
|
66
|
+
header: resize.header.enabled,
|
|
67
|
+
footer: resize.footer.enabled
|
|
68
|
+
}
|
|
69
|
+
} : void 0;
|
|
70
|
+
const resizeOffsets = {
|
|
71
|
+
navbar: true,
|
|
72
|
+
aside: true,
|
|
73
|
+
header: mode === "static" ? true : header?.offset ?? true,
|
|
74
|
+
footer: mode === "static" ? true : footer?.offset ?? true
|
|
75
|
+
};
|
|
54
76
|
return /* @__PURE__ */ jsxs(AppShellProvider, {
|
|
55
77
|
value: {
|
|
56
78
|
getStyles,
|
|
@@ -58,7 +80,10 @@ const AppShell = factory((_props) => {
|
|
|
58
80
|
zIndex,
|
|
59
81
|
disabled,
|
|
60
82
|
offsetScrollbars,
|
|
61
|
-
mode
|
|
83
|
+
mode,
|
|
84
|
+
resize,
|
|
85
|
+
rootRef,
|
|
86
|
+
resizeOffsets
|
|
62
87
|
},
|
|
63
88
|
children: [/* @__PURE__ */ jsx(AppShellMediaStyles, {
|
|
64
89
|
navbar,
|
|
@@ -67,12 +92,14 @@ const AppShell = factory((_props) => {
|
|
|
67
92
|
footer,
|
|
68
93
|
padding,
|
|
69
94
|
mode,
|
|
70
|
-
|
|
95
|
+
resize: resizeVariables,
|
|
96
|
+
selector: resize || mode === "static" ? `#${escapeCssId(_id)}` : void 0
|
|
71
97
|
}), /* @__PURE__ */ jsx(Box, {
|
|
72
98
|
...getStyles("root"),
|
|
73
99
|
id: _id,
|
|
100
|
+
ref: useMergedRef(ref, rootRef),
|
|
74
101
|
mod: [{
|
|
75
|
-
resizing,
|
|
102
|
+
resizing: resizing || resize?.activeSection != null,
|
|
76
103
|
layout,
|
|
77
104
|
disabled,
|
|
78
105
|
mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.mjs","names":["classes"],"sources":["../../../src/components/AppShell/AppShell.tsx"],"sourcesContent":["import { useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getDefaultZIndex,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { AppShellProvider } from './AppShell.context';\nimport {\n AppShellAsideConfiguration,\n AppShellFooterConfiguration,\n AppShellHeaderConfiguration,\n AppShellNavbarConfiguration,\n AppShellResponsiveSize,\n} from './AppShell.types';\nimport { AppShellAside, type AppShellAsideProps } from './AppShellAside/AppShellAside';\nimport { AppShellFooter, type AppShellFooterProps } from './AppShellFooter/AppShellFooter';\nimport { AppShellHeader, type AppShellHeaderProps } from './AppShellHeader/AppShellHeader';\nimport { AppShellMain, type AppShellMainProps } from './AppShellMain/AppShellMain';\nimport { AppShellMediaStyles } from './AppShellMediaStyles/AppShellMediaStyles';\nimport { AppShellNavbar, type AppShellNavbarProps } from './AppShellNavbar/AppShellNavbar';\nimport { AppShellSection, type AppShellSectionProps } from './AppShellSection/AppShellSection';\nimport { useResizing } from './use-resizing/use-resizing';\nimport classes from './AppShell.module.css';\nexport type AppShellStylesNames =\n | 'root'\n | 'navbar'\n | 'main'\n | 'header'\n | 'footer'\n | 'aside'\n | 'section';\n\nexport type AppShellCssVariables = {\n root
|
|
1
|
+
{"version":3,"file":"AppShell.mjs","names":["useId","classes"],"sources":["../../../src/components/AppShell/AppShell.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { useId, useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getDefaultZIndex,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { AppShellProvider } from './AppShell.context';\nimport {\n AppShellAsideConfiguration,\n AppShellFooterConfiguration,\n AppShellHeaderConfiguration,\n AppShellNavbarConfiguration,\n AppShellResizeController,\n AppShellResponsiveSize,\n} from './AppShell.types';\nimport { AppShellAside, type AppShellAsideProps } from './AppShellAside/AppShellAside';\nimport { AppShellFooter, type AppShellFooterProps } from './AppShellFooter/AppShellFooter';\nimport { AppShellHeader, type AppShellHeaderProps } from './AppShellHeader/AppShellHeader';\nimport { AppShellMain, type AppShellMainProps } from './AppShellMain/AppShellMain';\nimport { AppShellMediaStyles } from './AppShellMediaStyles/AppShellMediaStyles';\nimport { escapeCssId } from './AppShellMediaStyles/escape-css-id/escape-css-id';\nimport { AppShellNavbar, type AppShellNavbarProps } from './AppShellNavbar/AppShellNavbar';\nimport { AppShellSection, type AppShellSectionProps } from './AppShellSection/AppShellSection';\nimport { RESIZE_SECTION_NAMES } from './use-app-shell-resize/resize-section-config';\nimport { useResizing } from './use-resizing/use-resizing';\nimport classes from './AppShell.module.css';\nexport type AppShellStylesNames =\n | 'root'\n | 'navbar'\n | 'main'\n | 'header'\n | 'footer'\n | 'aside'\n | 'section'\n | 'resizeHandle';\n\nexport type AppShellCssVariables = {\n root:\n | '--app-shell-transition-duration'\n | '--app-shell-transition-timing-function'\n | '--app-shell-resize-handle-size';\n};\n\nexport interface AppShellProps\n extends BoxProps, StylesApiProps<AppShellFactory>, ElementProps<'div'> {\n /** If set, the associated components have a border @default true */\n withBorder?: boolean;\n\n /** Padding of the main section. Important: use `padding` prop instead of `p`. @default 0 */\n padding?: MantineSpacing | AppShellResponsiveSize;\n\n /** `Navbar` configuration, controls width, breakpoints and collapsed state. Required if you use `Navbar` component. */\n navbar?: AppShellNavbarConfiguration;\n\n /** `Aside` configuration, controls width, breakpoints and collapsed state. Required if you use `Aside` component. */\n aside?: AppShellAsideConfiguration;\n\n /** `Header` configuration, controls height, offset and collapsed state. Required if you use `Header` component. */\n header?: AppShellHeaderConfiguration;\n\n /** `Footer` configuration, controls height, offset and collapsed state. Required if you use `Footer` component. */\n footer?: AppShellFooterConfiguration;\n\n /** Duration of all transitions in ms @default 200 */\n transitionDuration?: number;\n\n /** Timing function of all transitions @default ease */\n transitionTimingFunction?: React.CSSProperties['transitionTimingFunction'];\n\n /** `z-index` of all associated elements @default 100 */\n zIndex?: string | number;\n\n /** Determines how `Navbar`/`Aside` are arranged relative to `Header`/`Footer` */\n layout?: 'default' | 'alt';\n\n /** If set, `Navbar`, `Aside`, `Header` and `Footer` components are hidden */\n disabled?: boolean;\n\n /** If set, `Header` and `Footer` components include styles to offset scrollbars. Based on `react-remove-scroll`. @default true */\n offsetScrollbars?: boolean;\n\n /** Determines positioning mode of all sections @default 'fixed' */\n mode?: 'fixed' | 'static';\n\n /** `useAppShellResize` hook instance, enables resizing of the sections configured in the hook */\n resize?: AppShellResizeController;\n}\n\nexport type AppShellFactory = Factory<{\n props: AppShellProps;\n ref: HTMLDivElement;\n stylesNames: AppShellStylesNames;\n vars: AppShellCssVariables;\n staticComponents: {\n Navbar: typeof AppShellNavbar;\n Header: typeof AppShellHeader;\n Main: typeof AppShellMain;\n Aside: typeof AppShellAside;\n Footer: typeof AppShellFooter;\n Section: typeof AppShellSection;\n };\n}>;\n\nconst defaultProps = {\n withBorder: true,\n padding: 0,\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n zIndex: getDefaultZIndex('app'),\n mode: 'fixed',\n} satisfies Partial<AppShellProps>;\n\nconst varsResolver = createVarsResolver<AppShellFactory>(\n (_, { transitionDuration, transitionTimingFunction }) => ({\n root: {\n '--app-shell-transition-duration': `${transitionDuration}ms`,\n '--app-shell-transition-timing-function': transitionTimingFunction,\n '--app-shell-resize-handle-size': undefined,\n },\n })\n);\n\nexport const AppShell = factory<AppShellFactory>((_props) => {\n const props = useProps('AppShell', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n navbar,\n withBorder,\n padding,\n transitionDuration,\n transitionTimingFunction,\n header,\n zIndex,\n layout,\n disabled,\n aside,\n footer,\n offsetScrollbars = true,\n mode,\n mod,\n attributes,\n id,\n resize,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<AppShellFactory>({\n name: 'AppShell',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const resizeKey = resize\n ? RESIZE_SECTION_NAMES.map((section) => resize.sizes[section]).join('|')\n : undefined;\n const resizing = useResizing({ disabled, transitionDuration, resizeKey });\n const _id = useId(id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const resizeVariables = resize\n ? {\n sizes: resize.sizes,\n enabled: {\n navbar: resize.navbar.enabled,\n aside: resize.aside.enabled,\n header: resize.header.enabled,\n footer: resize.footer.enabled,\n },\n }\n : undefined;\n\n const resizeOffsets = {\n navbar: true,\n aside: true,\n header: mode === 'static' ? true : (header?.offset ?? true),\n footer: mode === 'static' ? true : (footer?.offset ?? true),\n };\n\n return (\n <AppShellProvider\n value={{\n getStyles,\n withBorder,\n zIndex,\n disabled,\n offsetScrollbars,\n mode,\n resize,\n rootRef,\n resizeOffsets,\n }}\n >\n <AppShellMediaStyles\n navbar={navbar}\n header={header}\n aside={aside}\n footer={footer}\n padding={padding}\n mode={mode}\n resize={resizeVariables}\n selector={resize || mode === 'static' ? `#${escapeCssId(_id)}` : undefined}\n />\n <Box\n {...getStyles('root')}\n id={_id}\n ref={useMergedRef(ref, rootRef)}\n mod={[{ resizing: resizing || resize?.activeSection != null, layout, disabled, mode }, mod]}\n {...others}\n />\n </AppShellProvider>\n );\n});\n\nAppShell.classes = classes;\nAppShell.varsResolver = varsResolver;\nAppShell.displayName = '@mantine/core/AppShell';\nAppShell.Navbar = AppShellNavbar;\nAppShell.Header = AppShellHeader;\nAppShell.Main = AppShellMain;\nAppShell.Aside = AppShellAside;\nAppShell.Footer = AppShellFooter;\nAppShell.Section = AppShellSection;\n\nexport namespace AppShell {\n export type Props = AppShellProps;\n export type StylesNames = AppShellStylesNames;\n export type CssVariables = AppShellCssVariables;\n export type Factory = AppShellFactory;\n\n export namespace Section {\n export type Props = AppShellSectionProps;\n }\n\n export namespace Header {\n export type Props = AppShellHeaderProps;\n }\n\n export namespace Footer {\n export type Props = AppShellFooterProps;\n }\n\n export namespace Navbar {\n export type Props = AppShellNavbarProps;\n }\n\n export namespace Aside {\n export type Props = AppShellAsideProps;\n }\n\n export namespace Main {\n export type Props = AppShellMainProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,eAAe;CACnB,YAAY;CACZ,SAAS;CACT,oBAAoB;CACpB,0BAA0B;CAC1B,QAAQ,iBAAiB,KAAK;CAC9B,MAAM;AACR;AAEA,MAAM,eAAe,oBAClB,GAAG,EAAE,oBAAoB,gCAAgC,EACxD,MAAM;CACJ,mCAAmC,GAAG,mBAAmB;CACzD,0CAA0C;CAC1C,kCAAkC,KAAA;AACpC,EACF,EACF;AAEA,MAAa,WAAW,SAA0B,WAAW;CAC3D,MAAM,QAAQ,SAAS,YAAY,cAAc,MAAM;CACvD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,QACA,YACA,SACA,oBACA,0BACA,QACA,QACA,QACA,UACA,OACA,QACA,mBAAmB,MACnB,MACA,KACA,YACA,IACA,QACA,KACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAA2B;EAC3C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,YAAY,SACd,qBAAqB,KAAK,YAAY,OAAO,MAAM,QAAQ,CAAC,CAAC,KAAK,GAAG,IACrE,KAAA;CACJ,MAAM,WAAW,YAAY;EAAE;EAAU;EAAoB;CAAU,CAAC;CACxE,MAAM,MAAMA,QAAM,EAAE;CACpB,MAAM,UAAU,OAAuB,IAAI;CAE3C,MAAM,kBAAkB,SACpB;EACE,OAAO,OAAO;EACd,SAAS;GACP,QAAQ,OAAO,OAAO;GACtB,OAAO,OAAO,MAAM;GACpB,QAAQ,OAAO,OAAO;GACtB,QAAQ,OAAO,OAAO;EACxB;CACF,IACA,KAAA;CAEJ,MAAM,gBAAgB;EACpB,QAAQ;EACR,OAAO;EACP,QAAQ,SAAS,WAAW,OAAQ,QAAQ,UAAU;EACtD,QAAQ,SAAS,WAAW,OAAQ,QAAQ,UAAU;CACxD;CAEA,OACE,qBAAC,kBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EAXF,UAAA,CAaE,oBAAC,qBAAD;GACU;GACA;GACD;GACC;GACC;GACH;GACN,QAAQ;GACR,UAAU,UAAU,SAAS,WAAW,IAAI,YAAY,GAAG,MAAM,KAAA;EAClE,CAAA,GACD,oBAAC,KAAD;GACE,GAAI,UAAU,MAAM;GACpB,IAAI;GACJ,KAAK,aAAa,KAAK,OAAO;GAC9B,KAAK,CAAC;IAAE,UAAU,YAAY,QAAQ,iBAAiB;IAAM;IAAQ;IAAU;GAAK,GAAG,GAAG;GAC1F,GAAI;EACL,CAAA,CACe;;AAEtB,CAAC;AAED,SAAS,UAAUC;AACnB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,SAAS;AAClB,SAAS,SAAS;AAClB,SAAS,OAAO;AAChB,SAAS,QAAQ;AACjB,SAAS,SAAS;AAClB,SAAS,UAAU"}
|
|
@@ -7,7 +7,8 @@ var AppShell_module_default = {
|
|
|
7
7
|
"header": "m_3b16f56b",
|
|
8
8
|
"main": "m_8983817",
|
|
9
9
|
"footer": "m_3840c879",
|
|
10
|
-
"section": "m_6dcfc7c7"
|
|
10
|
+
"section": "m_6dcfc7c7",
|
|
11
|
+
"resizeHandle": "m_3b25945a"
|
|
11
12
|
};
|
|
12
13
|
//#endregion
|
|
13
14
|
export { AppShell_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.module.mjs","names":[],"sources":["../../../src/components/AppShell/AppShell.module.css"],"sourcesContent":[".root {\n &[data-resizing] {\n --app-shell-transition-duration: 0ms !important;\n }\n\n &[data-disabled] {\n --app-shell-header-offset: 0rem !important;\n --app-shell-navbar-offset: 0rem !important;\n --app-shell-aside-offset: 0rem !important;\n --app-shell-footer-offset: 0rem !important;\n }\n\n &[data-mode='static'] {\n display: grid;\n grid-template-columns: var(--app-shell-navbar-width, 0) 1fr var(--app-shell-aside-width, 0);\n grid-template-rows: auto 1fr auto;\n position: relative;\n height: 100%;\n overflow: auto;\n }\n\n @mixin light {\n --app-shell-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin dark {\n --app-shell-border-color: var(--mantine-color-dark-4);\n }\n}\n\n.navbar,\n.aside,\n.header,\n.main,\n.footer {\n transition-duration: var(--app-shell-transition-duration);\n transition-timing-function: var(--app-shell-transition-timing-function);\n}\n\n.navbar,\n.aside {\n position: fixed;\n display: flex;\n flex-direction: column;\n top: var(--app-shell-header-offset, 0rem);\n height: calc(\n 100dvh - var(--app-shell-header-offset, 0rem) - var(--app-shell-footer-offset, 0rem)\n );\n background-color: var(--mantine-color-body);\n transition-property: transform, top, height;\n\n :where([data-mode='static']) & {\n position: var(--app-shell-navbar-position, fixed);\n grid-row: var(--app-shell-navbar-grid-row, auto);\n height: 100%;\n }\n\n :where([data-layout='alt']) & {\n top: 0rem;\n height: 100dvh;\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-row: 1 / -1;\n height: 100%;\n }\n}\n\n.navbar {\n inset-inline-start: 0;\n width: var(--app-shell-navbar-width);\n transition-property: transform, top, height;\n transform: var(--app-shell-navbar-transform);\n z-index: var(--app-shell-navbar-z-index);\n\n :where([data-mode='static']) & {\n grid-column: var(--app-shell-navbar-grid-column, auto);\n display: var(--app-shell-navbar-display, flex);\n }\n\n @mixin where-rtl {\n transform: var(--app-shell-navbar-transform-rtl);\n }\n\n &:where([data-with-border]) {\n border-inline-end: 1px solid var(--app-shell-border-color);\n }\n}\n\n.aside {\n inset-inline-end: 0;\n width: var(--app-shell-aside-width);\n transform: var(--app-shell-aside-transform);\n z-index: var(--app-shell-aside-z-index);\n\n :where([data-mode='static']) & {\n position: var(--app-shell-aside-position, fixed);\n grid-column: var(--app-shell-aside-grid-column, auto);\n grid-row: var(--app-shell-aside-grid-row, auto);\n display: var(--app-shell-aside-display, flex);\n }\n\n @mixin where-rtl {\n transform: var(--app-shell-aside-transform-rtl);\n }\n\n &:where([data-with-border]) {\n border-inline-start: 1px solid var(--app-shell-border-color);\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-row: 1 / -1;\n }\n\n :where([data-scroll-locked]) & {\n visibility: var(--app-shell-aside-scroll-locked-visibility);\n }\n}\n\n.main {\n padding-inline-start: calc(var(--app-shell-navbar-offset, 0rem) + var(--app-shell-padding));\n padding-inline-end: calc(var(--app-shell-aside-offset, 0rem) + var(--app-shell-padding));\n padding-top: calc(var(--app-shell-header-offset, 0rem) + var(--app-shell-padding));\n padding-bottom: calc(var(--app-shell-footer-offset, 0rem) + var(--app-shell-padding));\n min-height: 100dvh;\n transition-property: padding;\n\n :where([data-mode='static']) & {\n padding-inline-start: var(--app-shell-padding);\n padding-inline-end: var(--app-shell-padding);\n padding-top: var(--app-shell-padding);\n padding-bottom: var(--app-shell-padding);\n min-height: auto;\n grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);\n grid-row: var(--app-shell-main-grid-row, 2);\n }\n}\n\n.header,\n.footer {\n position: fixed;\n inset-inline: 0;\n transition-property: transform, margin-inline-start, margin-inline-end;\n background-color: var(--mantine-color-body);\n\n :where([data-mode='static']) & {\n position: var(--app-shell-header-position, fixed);\n grid-column: var(--app-shell-header-grid-column, auto);\n }\n\n :where([data-layout='alt']) & {\n margin-inline-start: var(--app-shell-navbar-offset, 0rem);\n margin-inline-end: var(--app-shell-aside-offset, 0rem);\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);\n margin-inline-start: 0rem;\n margin-inline-end: 0rem;\n }\n}\n\n.header {\n top: 0;\n height: var(--app-shell-header-height);\n background-color: var(--mantine-color-body);\n transform: var(--app-shell-header-transform);\n z-index: var(--app-shell-header-z-index);\n\n :where([data-mode='static']) & {\n grid-row: var(--app-shell-header-grid-row, auto);\n }\n\n &:where([data-with-border]) {\n border-bottom: 1px solid var(--app-shell-border-color);\n }\n}\n\n.footer {\n bottom: 0;\n height: calc(var(--app-shell-footer-height) + env(safe-area-inset-bottom));\n padding-bottom: env(safe-area-inset-bottom);\n transform: var(--app-shell-footer-transform);\n z-index: var(--app-shell-footer-z-index);\n\n :where([data-mode='static']) & {\n position: var(--app-shell-footer-position, fixed);\n grid-column: var(--app-shell-footer-grid-column, auto);\n grid-row: var(--app-shell-footer-grid-row, auto);\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);\n }\n\n &:where([data-with-border]) {\n border-top: 1px solid var(--app-shell-border-color);\n }\n}\n\n.section {\n flex-grow: 0;\n\n &:where([data-grow]) {\n flex-grow: 1;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AppShell.module.mjs","names":[],"sources":["../../../src/components/AppShell/AppShell.module.css"],"sourcesContent":[".root {\n &[data-resizing] {\n --app-shell-transition-duration: 0ms !important;\n }\n\n &[data-disabled] {\n --app-shell-header-offset: 0rem !important;\n --app-shell-navbar-offset: 0rem !important;\n --app-shell-aside-offset: 0rem !important;\n --app-shell-footer-offset: 0rem !important;\n }\n\n &[data-mode='static'] {\n display: grid;\n grid-template-columns: var(--app-shell-navbar-width, 0) 1fr var(--app-shell-aside-width, 0);\n grid-template-rows: auto 1fr auto;\n position: relative;\n height: 100%;\n overflow: auto;\n }\n\n @mixin light {\n --app-shell-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin dark {\n --app-shell-border-color: var(--mantine-color-dark-4);\n }\n}\n\n.navbar,\n.aside,\n.header,\n.main,\n.footer {\n transition-duration: var(--app-shell-transition-duration);\n transition-timing-function: var(--app-shell-transition-timing-function);\n}\n\n.navbar,\n.aside {\n position: fixed;\n display: flex;\n flex-direction: column;\n top: var(--app-shell-header-offset, 0rem);\n height: calc(\n 100dvh - var(--app-shell-header-offset, 0rem) - var(--app-shell-footer-offset, 0rem)\n );\n background-color: var(--mantine-color-body);\n transition-property: transform, top, height;\n\n :where([data-mode='static']) & {\n position: var(--app-shell-navbar-position, fixed);\n grid-row: var(--app-shell-navbar-grid-row, auto);\n height: 100%;\n }\n\n :where([data-layout='alt']) & {\n top: 0rem;\n height: 100dvh;\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-row: 1 / -1;\n height: 100%;\n }\n}\n\n.navbar {\n inset-inline-start: 0;\n width: var(--app-shell-navbar-width);\n transition-property: transform, top, height;\n transform: var(--app-shell-navbar-transform);\n z-index: var(--app-shell-navbar-z-index);\n\n :where([data-mode='static']) & {\n grid-column: var(--app-shell-navbar-grid-column, auto);\n display: var(--app-shell-navbar-display, flex);\n }\n\n @mixin where-rtl {\n transform: var(--app-shell-navbar-transform-rtl);\n }\n\n &:where([data-with-border]) {\n border-inline-end: 1px solid var(--app-shell-border-color);\n }\n}\n\n.aside {\n inset-inline-end: 0;\n width: var(--app-shell-aside-width);\n transform: var(--app-shell-aside-transform);\n z-index: var(--app-shell-aside-z-index);\n\n :where([data-mode='static']) & {\n position: var(--app-shell-aside-position, fixed);\n grid-column: var(--app-shell-aside-grid-column, auto);\n grid-row: var(--app-shell-aside-grid-row, auto);\n display: var(--app-shell-aside-display, flex);\n }\n\n @mixin where-rtl {\n transform: var(--app-shell-aside-transform-rtl);\n }\n\n &:where([data-with-border]) {\n border-inline-start: 1px solid var(--app-shell-border-color);\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-row: 1 / -1;\n }\n\n :where([data-scroll-locked]) & {\n visibility: var(--app-shell-aside-scroll-locked-visibility);\n }\n}\n\n.main {\n padding-inline-start: calc(var(--app-shell-navbar-offset, 0rem) + var(--app-shell-padding));\n padding-inline-end: calc(var(--app-shell-aside-offset, 0rem) + var(--app-shell-padding));\n padding-top: calc(var(--app-shell-header-offset, 0rem) + var(--app-shell-padding));\n padding-bottom: calc(var(--app-shell-footer-offset, 0rem) + var(--app-shell-padding));\n min-height: 100dvh;\n transition-property: padding;\n\n :where([data-mode='static']) & {\n padding-inline-start: var(--app-shell-padding);\n padding-inline-end: var(--app-shell-padding);\n padding-top: var(--app-shell-padding);\n padding-bottom: var(--app-shell-padding);\n min-height: auto;\n grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);\n grid-row: var(--app-shell-main-grid-row, 2);\n }\n}\n\n.header,\n.footer {\n position: fixed;\n inset-inline: 0;\n transition-property: transform, margin-inline-start, margin-inline-end;\n background-color: var(--mantine-color-body);\n\n :where([data-mode='static']) & {\n position: var(--app-shell-header-position, fixed);\n grid-column: var(--app-shell-header-grid-column, auto);\n }\n\n :where([data-layout='alt']) & {\n margin-inline-start: var(--app-shell-navbar-offset, 0rem);\n margin-inline-end: var(--app-shell-aside-offset, 0rem);\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);\n margin-inline-start: 0rem;\n margin-inline-end: 0rem;\n }\n}\n\n.header {\n top: 0;\n height: var(--app-shell-header-height);\n background-color: var(--mantine-color-body);\n transform: var(--app-shell-header-transform);\n z-index: var(--app-shell-header-z-index);\n\n :where([data-mode='static']) & {\n grid-row: var(--app-shell-header-grid-row, auto);\n }\n\n &:where([data-with-border]) {\n border-bottom: 1px solid var(--app-shell-border-color);\n }\n}\n\n.footer {\n bottom: 0;\n height: calc(var(--app-shell-footer-height) + env(safe-area-inset-bottom));\n padding-bottom: env(safe-area-inset-bottom);\n transform: var(--app-shell-footer-transform);\n z-index: var(--app-shell-footer-z-index);\n --app-shell-footer-safe-area: env(safe-area-inset-bottom);\n\n :where([data-mode='static']) & {\n position: var(--app-shell-footer-position, fixed);\n grid-column: var(--app-shell-footer-grid-column, auto);\n grid-row: var(--app-shell-footer-grid-row, auto);\n }\n\n :where([data-mode='static'][data-layout='alt']) & {\n grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);\n }\n\n &:where([data-with-border]) {\n border-top: 1px solid var(--app-shell-border-color);\n }\n}\n\n.section {\n flex-grow: 0;\n\n &:where([data-grow]) {\n flex-grow: 1;\n }\n}\n\n.resizeHandle {\n position: absolute;\n z-index: 1;\n outline: none;\n touch-action: none;\n background-color: transparent;\n\n &::after {\n content: '';\n position: absolute;\n background-color: transparent;\n transition: background-color 100ms ease;\n }\n\n &:where(:hover, [data-active])::after,\n &:where(:focus-visible)::after {\n background-color: var(--mantine-primary-color-filled);\n }\n\n &:where([data-orientation='vertical']) {\n top: 0;\n bottom: 0;\n width: var(--app-shell-resize-handle-size, rem(6px));\n cursor: col-resize;\n\n &::after {\n top: 0;\n bottom: 0;\n left: 50%;\n width: rem(2px);\n transform: translateX(-50%);\n }\n }\n\n &:where([data-orientation='horizontal']) {\n inset-inline: 0;\n height: var(--app-shell-resize-handle-size, rem(6px));\n cursor: row-resize;\n\n &::after {\n inset-inline: 0;\n top: 50%;\n height: rem(2px);\n transform: translateY(-50%);\n }\n }\n\n &:where([data-section='navbar']) {\n inset-inline-end: calc(var(--app-shell-resize-handle-size, rem(6px)) / -2);\n display: var(--app-shell-navbar-resize-handle-display, block);\n }\n\n &:where([data-section='aside']) {\n inset-inline-start: calc(var(--app-shell-resize-handle-size, rem(6px)) / -2);\n display: var(--app-shell-aside-resize-handle-display, block);\n }\n\n &:where([data-section='header']) {\n bottom: calc(var(--app-shell-resize-handle-size, rem(6px)) / -2);\n display: var(--app-shell-header-resize-handle-display, block);\n }\n\n &:where([data-section='footer']) {\n top: calc(var(--app-shell-resize-handle-size, rem(6px)) / -2);\n display: var(--app-shell-footer-resize-handle-display, block);\n }\n}\n"],"mappings":""}
|