@bioturing/components 0.32.0 → 0.32.1
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/dist/components/badge/component.d.ts +7 -0
- package/dist/components/badge/component.d.ts.map +1 -0
- package/dist/components/badge/component.js.map +1 -1
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/component.d.ts +6 -0
- package/dist/components/breadcrumb/component.d.ts.map +1 -0
- package/dist/components/breadcrumb/component.js.map +1 -1
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/types.d.ts +19 -0
- package/dist/components/breadcrumb/types.d.ts.map +1 -0
- package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
- package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
- package/dist/components/breadcrumb/useItemRender.js.map +1 -1
- package/dist/components/button/component.d.ts +14 -0
- package/dist/components/button/component.d.ts.map +1 -0
- package/dist/components/button/component.js.map +1 -1
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/checkbox/component.d.ts +16 -0
- package/dist/components/checkbox/component.d.ts.map +1 -0
- package/dist/components/checkbox/component.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/choice-list/component.d.ts +35 -0
- package/dist/components/choice-list/component.d.ts.map +1 -0
- package/dist/components/choice-list/component.js.map +1 -1
- package/dist/components/choice-list/index.d.ts +2 -0
- package/dist/components/choice-list/index.d.ts.map +1 -0
- package/dist/components/cmdk/command-score.d.ts +2 -0
- package/dist/components/cmdk/command-score.d.ts.map +1 -0
- package/dist/components/cmdk/command-score.js.map +1 -1
- package/dist/components/cmdk/index.d.ts +440 -0
- package/dist/components/cmdk/index.d.ts.map +1 -0
- package/dist/components/cmdk/index.js +332 -348
- package/dist/components/cmdk/index.js.map +1 -1
- package/dist/components/code-block/component.d.ts +3 -0
- package/dist/components/code-block/component.d.ts.map +1 -0
- package/dist/components/code-block/component.js +83 -84
- package/dist/components/code-block/component.js.map +1 -1
- package/dist/components/code-block/index.d.ts +3 -0
- package/dist/components/code-block/index.d.ts.map +1 -0
- package/dist/components/code-block/types.d.ts +64 -0
- package/dist/components/code-block/types.d.ts.map +1 -0
- package/dist/components/collapse/component.d.ts +14 -0
- package/dist/components/collapse/component.d.ts.map +1 -0
- package/dist/components/collapse/component.js.map +1 -1
- package/dist/components/collapse/index.d.ts +2 -0
- package/dist/components/collapse/index.d.ts.map +1 -0
- package/dist/components/color-select/component.d.ts +36 -0
- package/dist/components/color-select/component.d.ts.map +1 -0
- package/dist/components/color-select/component.js +28 -30
- package/dist/components/color-select/component.js.map +1 -1
- package/dist/components/color-select/index.d.ts +2 -0
- package/dist/components/color-select/index.d.ts.map +1 -0
- package/dist/components/combobox/component.d.ts +119 -0
- package/dist/components/combobox/component.d.ts.map +1 -0
- package/dist/components/combobox/component.js +129 -129
- package/dist/components/combobox/component.js.map +1 -1
- package/dist/components/combobox/index.d.ts +3 -0
- package/dist/components/combobox/index.d.ts.map +1 -0
- package/dist/components/command-palette/component.d.ts +41 -0
- package/dist/components/command-palette/component.d.ts.map +1 -0
- package/dist/components/command-palette/component.js +36 -36
- package/dist/components/command-palette/component.js.map +1 -1
- package/dist/components/command-palette/index.d.ts +2 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/command-palette/style.css +1 -1
- package/dist/components/drag-drop/context.d.ts +10 -0
- package/dist/components/drag-drop/context.d.ts.map +1 -0
- package/dist/components/drag-drop/context.js.map +1 -1
- package/dist/components/drag-drop/draggable.d.ts +6 -0
- package/dist/components/drag-drop/draggable.d.ts.map +1 -0
- package/dist/components/drag-drop/draggable.js.map +1 -1
- package/dist/components/drag-drop/droppable.d.ts +9 -0
- package/dist/components/drag-drop/droppable.d.ts.map +1 -0
- package/dist/components/drag-drop/droppable.js.map +1 -1
- package/dist/components/drag-drop/hooks.d.ts +42 -0
- package/dist/components/drag-drop/hooks.d.ts.map +1 -0
- package/dist/components/drag-drop/hooks.js +71 -73
- package/dist/components/drag-drop/hooks.js.map +1 -1
- package/dist/components/drag-drop/index.d.ts +26 -0
- package/dist/components/drag-drop/index.d.ts.map +1 -0
- package/dist/components/drag-drop/index.js.map +1 -1
- package/dist/components/drag-drop/types.d.ts +232 -0
- package/dist/components/drag-drop/types.d.ts.map +1 -0
- package/dist/components/drag-drop/value.d.ts +8 -0
- package/dist/components/drag-drop/value.d.ts.map +1 -0
- package/dist/components/drag-drop/value.js +66 -66
- package/dist/components/drag-drop/value.js.map +1 -1
- package/dist/components/dropdown-menu/component.d.ts +79 -0
- package/dist/components/dropdown-menu/component.d.ts.map +1 -0
- package/dist/components/dropdown-menu/component.js +108 -108
- package/dist/components/dropdown-menu/component.js.map +1 -1
- package/dist/components/dropdown-menu/divider.d.ts +6 -0
- package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
- package/dist/components/dropdown-menu/divider.js.map +1 -1
- package/dist/components/dropdown-menu/index.d.ts +4 -0
- package/dist/components/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/dropdown-menu/item.d.ts +56 -0
- package/dist/components/dropdown-menu/item.d.ts.map +1 -0
- package/dist/components/dropdown-menu/item.js +75 -78
- package/dist/components/dropdown-menu/item.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +88 -0
- package/dist/components/dropdown-menu/types.d.ts.map +1 -0
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/useDropdownMenu.js +80 -80
- package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
- package/dist/components/ds-root/component.d.ts +14 -0
- package/dist/components/ds-root/component.d.ts.map +1 -0
- package/dist/components/ds-root/component.js.map +1 -1
- package/dist/components/ds-root/context.d.ts +8 -0
- package/dist/components/ds-root/context.d.ts.map +1 -0
- package/dist/components/ds-root/index.d.ts +3 -0
- package/dist/components/ds-root/index.d.ts.map +1 -0
- package/dist/components/empty/component.d.ts +13 -0
- package/dist/components/empty/component.d.ts.map +1 -0
- package/dist/components/empty/component.js.map +1 -1
- package/dist/components/empty/index.d.ts +2 -0
- package/dist/components/empty/index.d.ts.map +1 -0
- package/dist/components/field/component.d.ts +42 -0
- package/dist/components/field/component.d.ts.map +1 -0
- package/dist/components/field/component.js.map +1 -1
- package/dist/components/field/index.d.ts +2 -0
- package/dist/components/field/index.d.ts.map +1 -0
- package/dist/components/form/component.d.ts +22 -0
- package/dist/components/form/component.d.ts.map +1 -0
- package/dist/components/form/component.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/item.d.ts +24 -0
- package/dist/components/form/item.d.ts.map +1 -0
- package/dist/components/form/item.js +24 -24
- package/dist/components/form/item.js.map +1 -1
- package/dist/components/form/label.d.ts +32 -0
- package/dist/components/form/label.d.ts.map +1 -0
- package/dist/components/form/label.js.map +1 -1
- package/dist/components/hooks/antd.d.ts +11 -0
- package/dist/components/hooks/antd.d.ts.map +1 -0
- package/dist/components/hooks/antd.js.map +1 -1
- package/dist/components/hooks/base-ui.d.ts +11 -0
- package/dist/components/hooks/base-ui.d.ts.map +1 -0
- package/dist/components/hooks/base-ui.js +22 -25
- package/dist/components/hooks/base-ui.js.map +1 -1
- package/dist/components/hooks/index.d.ts +11 -0
- package/dist/components/hooks/index.d.ts.map +1 -0
- package/dist/components/hooks/useBreakpoint.d.ts +39 -0
- package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
- package/dist/components/hooks/useBreakpoint.js +14 -15
- package/dist/components/hooks/useBreakpoint.js.map +1 -1
- package/dist/components/hooks/useCSSVariables.d.ts +7 -0
- package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
- package/dist/components/hooks/useCSSVariables.js.map +1 -1
- package/dist/components/hooks/useCharts.d.ts +41 -0
- package/dist/components/hooks/useCharts.d.ts.map +1 -0
- package/dist/components/hooks/useCharts.js.map +1 -1
- package/dist/components/hooks/useControlledState.d.ts +13 -0
- package/dist/components/hooks/useControlledState.d.ts.map +1 -0
- package/dist/components/hooks/useControlledState.js.map +1 -1
- package/dist/components/hooks/useDraggable.d.ts +4 -0
- package/dist/components/hooks/useDraggable.d.ts.map +1 -0
- package/dist/components/hooks/useDraggable.js +19 -20
- package/dist/components/hooks/useDraggable.js.map +1 -1
- package/dist/components/hooks/useHover.d.ts +5 -0
- package/dist/components/hooks/useHover.d.ts.map +1 -0
- package/dist/components/hooks/useHover.js +16 -17
- package/dist/components/hooks/useHover.js.map +1 -1
- package/dist/components/hooks/useResizeObserver.d.ts +9 -0
- package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/components/hooks/useResizeObserver.js +29 -30
- package/dist/components/hooks/useResizeObserver.js.map +1 -1
- package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
- package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
- package/dist/components/hooks/useTransitionStatus.js.map +1 -1
- package/dist/components/hooks/useWindowSize.d.ts +5 -0
- package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
- package/dist/components/hooks/useWindowSize.js.map +1 -1
- package/dist/components/icon-button/component.d.ts +45 -0
- package/dist/components/icon-button/component.d.ts.map +1 -0
- package/dist/components/icon-button/component.js.map +1 -1
- package/dist/components/icon-button/index.d.ts +2 -0
- package/dist/components/icon-button/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +53 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/input/component.d.ts +29 -0
- package/dist/components/input/component.d.ts.map +1 -0
- package/dist/components/input/component.js +46 -46
- package/dist/components/input/component.js.map +1 -1
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/keyboard-shortcut/component.d.ts +15 -0
- package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
- package/dist/components/keyboard-shortcut/component.js.map +1 -1
- package/dist/components/keyboard-shortcut/index.d.ts +2 -0
- package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
- package/dist/components/loader/component.d.ts +5 -0
- package/dist/components/loader/component.d.ts.map +1 -0
- package/dist/components/loader/component.js.map +1 -1
- package/dist/components/loader/index.d.ts +2 -0
- package/dist/components/loader/index.d.ts.map +1 -0
- package/dist/components/modal/Modal.d.ts +85 -0
- package/dist/components/modal/Modal.d.ts.map +1 -0
- package/dist/components/modal/Modal.js +75 -75
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalProvider.d.ts +6 -0
- package/dist/components/modal/ModalProvider.d.ts.map +1 -0
- package/dist/components/modal/ModalProvider.js +25 -25
- package/dist/components/modal/ModalProvider.js.map +1 -1
- package/dist/components/modal/ModalService.d.ts +34 -0
- package/dist/components/modal/ModalService.d.ts.map +1 -0
- package/dist/components/modal/ModalService.js +5 -10
- package/dist/components/modal/ModalService.js.map +1 -1
- package/dist/components/modal/constants.d.ts +10 -0
- package/dist/components/modal/constants.d.ts.map +1 -0
- package/dist/components/modal/constants.js.map +1 -1
- package/dist/components/modal/functions.d.ts +28 -0
- package/dist/components/modal/functions.d.ts.map +1 -0
- package/dist/components/modal/functions.js.map +1 -1
- package/dist/components/modal/index.d.ts +16 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/nav/context.d.ts +10 -0
- package/dist/components/nav/context.d.ts.map +1 -0
- package/dist/components/nav/context.js.map +1 -1
- package/dist/components/nav/group.d.ts +15 -0
- package/dist/components/nav/group.d.ts.map +1 -0
- package/dist/components/nav/group.js.map +1 -1
- package/dist/components/nav/heading.d.ts +6 -0
- package/dist/components/nav/heading.d.ts.map +1 -0
- package/dist/components/nav/heading.js.map +1 -1
- package/dist/components/nav/index.d.ts +12 -0
- package/dist/components/nav/index.d.ts.map +1 -0
- package/dist/components/nav/item.d.ts +35 -0
- package/dist/components/nav/item.d.ts.map +1 -0
- package/dist/components/nav/item.js.map +1 -1
- package/dist/components/popover/component.d.ts +10 -0
- package/dist/components/popover/component.d.ts.map +1 -0
- package/dist/components/popover/component.js.map +1 -1
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popup-panel/component.d.ts +100 -0
- package/dist/components/popup-panel/component.d.ts.map +1 -0
- package/dist/components/popup-panel/component.js +105 -105
- package/dist/components/popup-panel/component.js.map +1 -1
- package/dist/components/popup-panel/constants.d.ts +8 -0
- package/dist/components/popup-panel/constants.d.ts.map +1 -0
- package/dist/components/popup-panel/constants.js.map +1 -1
- package/dist/components/popup-panel/index.d.ts +2 -0
- package/dist/components/popup-panel/index.d.ts.map +1 -0
- package/dist/components/radio/component.d.ts +8 -0
- package/dist/components/radio/component.d.ts.map +1 -0
- package/dist/components/radio/component.js.map +1 -1
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/interface.d.ts +6 -0
- package/dist/components/radio/interface.d.ts.map +1 -0
- package/dist/components/resizable/component.d.ts +70 -0
- package/dist/components/resizable/component.d.ts.map +1 -0
- package/dist/components/resizable/component.js +147 -147
- package/dist/components/resizable/component.js.map +1 -1
- package/dist/components/resizable/index.d.ts +3 -0
- package/dist/components/resizable/index.d.ts.map +1 -0
- package/dist/components/scroll-area/component.d.ts +67 -0
- package/dist/components/scroll-area/component.d.ts.map +1 -0
- package/dist/components/scroll-area/component.js +69 -69
- package/dist/components/scroll-area/component.js.map +1 -1
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/index.d.ts.map +1 -0
- package/dist/components/segmented/component.d.ts +10 -0
- package/dist/components/segmented/component.d.ts.map +1 -0
- package/dist/components/segmented/component.js.map +1 -1
- package/dist/components/segmented/index.d.ts +2 -0
- package/dist/components/segmented/index.d.ts.map +1 -0
- package/dist/components/select/component.d.ts +48 -0
- package/dist/components/select/component.d.ts.map +1 -0
- package/dist/components/select/component.js +93 -94
- package/dist/components/select/component.js.map +1 -1
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/item.d.ts +14 -0
- package/dist/components/select/item.d.ts.map +1 -0
- package/dist/components/select/item.js.map +1 -1
- package/dist/components/select-trigger/component.d.ts +45 -0
- package/dist/components/select-trigger/component.d.ts.map +1 -0
- package/dist/components/select-trigger/component.js +96 -96
- package/dist/components/select-trigger/component.js.map +1 -1
- package/dist/components/select-trigger/index.d.ts +3 -0
- package/dist/components/select-trigger/index.d.ts.map +1 -0
- package/dist/components/slider/component.d.ts +6 -0
- package/dist/components/slider/component.d.ts.map +1 -0
- package/dist/components/slider/component.js.map +1 -1
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/spin/component.d.ts +6 -0
- package/dist/components/spin/component.d.ts.map +1 -0
- package/dist/components/spin/component.js.map +1 -1
- package/dist/components/spin/index.d.ts +2 -0
- package/dist/components/spin/index.d.ts.map +1 -0
- package/dist/components/splitter/component.d.ts +10 -0
- package/dist/components/splitter/component.d.ts.map +1 -0
- package/dist/components/splitter/component.js +7 -7
- package/dist/components/splitter/component.js.map +1 -1
- package/dist/components/splitter/context.d.ts +5 -0
- package/dist/components/splitter/context.d.ts.map +1 -0
- package/dist/components/splitter/context.js.map +1 -1
- package/dist/components/splitter/index.d.ts +2 -0
- package/dist/components/splitter/index.d.ts.map +1 -0
- package/dist/components/splitter/splitter-panel.d.ts +12 -0
- package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
- package/dist/components/splitter/splitter-panel.js.map +1 -1
- package/dist/components/splitter/splitter.d.ts +11 -0
- package/dist/components/splitter/splitter.d.ts.map +1 -0
- package/dist/components/splitter/splitter.js +112 -112
- package/dist/components/splitter/splitter.js.map +1 -1
- package/dist/components/splitter/useSizes.d.ts +9 -0
- package/dist/components/splitter/useSizes.d.ts.map +1 -0
- package/dist/components/splitter/useSizes.js +35 -35
- package/dist/components/splitter/useSizes.js.map +1 -1
- package/dist/components/stack/Stack.d.ts +40 -0
- package/dist/components/stack/Stack.d.ts.map +1 -0
- package/dist/components/stack/Stack.js.map +1 -1
- package/dist/components/stack/StackChild.d.ts +31 -0
- package/dist/components/stack/StackChild.d.ts.map +1 -0
- package/dist/components/stack/StackChild.js.map +1 -1
- package/dist/components/stack/index.d.ts +8 -0
- package/dist/components/stack/index.d.ts.map +1 -0
- package/dist/components/stack/index.js.map +1 -1
- package/dist/components/status-icon/component.d.ts +23 -0
- package/dist/components/status-icon/component.d.ts.map +1 -0
- package/dist/components/status-icon/component.js.map +1 -1
- package/dist/components/status-icon/index.d.ts +2 -0
- package/dist/components/status-icon/index.d.ts.map +1 -0
- package/dist/components/switch/component.d.ts +9 -0
- package/dist/components/switch/component.d.ts.map +1 -0
- package/dist/components/switch/component.js.map +1 -1
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/table/component.d.ts +32 -0
- package/dist/components/table/component.d.ts.map +1 -0
- package/dist/components/table/component.js +57 -58
- package/dist/components/table/component.js.map +1 -1
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/tag/component.d.ts +22 -0
- package/dist/components/tag/component.d.ts.map +1 -0
- package/dist/components/tag/component.js.map +1 -1
- package/dist/components/tag/index.d.ts +2 -0
- package/dist/components/tag/index.d.ts.map +1 -0
- package/dist/components/theme-provider/component.d.ts +7 -0
- package/dist/components/theme-provider/component.d.ts.map +1 -0
- package/dist/components/theme-provider/component.js.map +1 -1
- package/dist/components/theme-provider/index.d.ts +2 -0
- package/dist/components/theme-provider/index.d.ts.map +1 -0
- package/dist/components/toast/component.d.ts +15 -0
- package/dist/components/toast/component.d.ts.map +1 -0
- package/dist/components/toast/component.js +49 -50
- package/dist/components/toast/component.js.map +1 -1
- package/dist/components/toast/function.d.ts +11 -0
- package/dist/components/toast/function.d.ts.map +1 -0
- package/dist/components/toast/function.js.map +1 -1
- package/dist/components/toast/index.d.ts +4 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/types.d.ts +4 -0
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/tooltip/component.d.ts +10 -0
- package/dist/components/tooltip/component.d.ts.map +1 -0
- package/dist/components/tooltip/component.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tour/component.d.ts +8 -0
- package/dist/components/tour/component.d.ts.map +1 -0
- package/dist/components/tour/component.js.map +1 -1
- package/dist/components/tour/index.d.ts +2 -0
- package/dist/components/tour/index.d.ts.map +1 -0
- package/dist/components/transition/component.d.ts +30 -0
- package/dist/components/transition/component.d.ts.map +1 -0
- package/dist/components/transition/component.js +32 -32
- package/dist/components/transition/component.js.map +1 -1
- package/dist/components/transition/index.d.ts +2 -0
- package/dist/components/transition/index.d.ts.map +1 -0
- package/dist/components/tree/components.d.ts +14 -0
- package/dist/components/tree/components.d.ts.map +1 -0
- package/dist/components/tree/components.js.map +1 -1
- package/dist/components/tree/helpers.d.ts +6 -0
- package/dist/components/tree/helpers.d.ts.map +1 -0
- package/dist/components/tree/helpers.js.map +1 -1
- package/dist/components/tree/index.d.ts +5 -0
- package/dist/components/tree/index.d.ts.map +1 -0
- package/dist/components/tree/types.d.ts +56 -0
- package/dist/components/tree/types.d.ts.map +1 -0
- package/dist/components/tree/useTreeCommon.d.ts +179 -0
- package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
- package/dist/components/tree/useTreeCommon.js +29 -29
- package/dist/components/tree/useTreeCommon.js.map +1 -1
- package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
- package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
- package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
- package/dist/components/truncate/component.d.ts +17 -0
- package/dist/components/truncate/component.d.ts.map +1 -0
- package/dist/components/truncate/component.js +38 -39
- package/dist/components/truncate/component.js.map +1 -1
- package/dist/components/truncate/helpers.d.ts +17 -0
- package/dist/components/truncate/helpers.d.ts.map +1 -0
- package/dist/components/truncate/helpers.js +27 -30
- package/dist/components/truncate/helpers.js.map +1 -1
- package/dist/components/truncate/index.d.ts +2 -0
- package/dist/components/truncate/index.d.ts.map +1 -0
- package/dist/components/upload/component.d.ts +17 -0
- package/dist/components/upload/component.d.ts.map +1 -0
- package/dist/components/upload/component.js.map +1 -1
- package/dist/components/upload/dragger.d.ts +14 -0
- package/dist/components/upload/dragger.d.ts.map +1 -0
- package/dist/components/upload/dragger.js.map +1 -1
- package/dist/components/upload/hooks.d.ts +6 -0
- package/dist/components/upload/hooks.d.ts.map +1 -0
- package/dist/components/upload/hooks.js.map +1 -1
- package/dist/components/upload/index.d.ts +4 -0
- package/dist/components/upload/index.d.ts.map +1 -0
- package/dist/components/upload/item.d.ts +12 -0
- package/dist/components/upload/item.d.ts.map +1 -0
- package/dist/components/upload/item.js.map +1 -1
- package/dist/components/upload/utils.d.ts +2 -0
- package/dist/components/upload/utils.d.ts.map +1 -0
- package/dist/components/upload/utils.js.map +1 -1
- package/dist/components/utils/WithAntdTokens.d.ts +8 -0
- package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
- package/dist/components/utils/WithAntdTokens.js.map +1 -1
- package/dist/components/utils/WithRenderProp.d.ts +14 -0
- package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
- package/dist/components/utils/WithRenderProp.js.map +1 -1
- package/dist/components/utils/antdUtils.d.ts +11 -0
- package/dist/components/utils/antdUtils.d.ts.map +1 -0
- package/dist/components/utils/antdUtils.js +9 -12
- package/dist/components/utils/antdUtils.js.map +1 -1
- package/dist/components/utils/client.d.ts +6 -0
- package/dist/components/utils/client.d.ts.map +1 -0
- package/dist/components/utils/cn.d.ts +5 -0
- package/dist/components/utils/cn.d.ts.map +1 -0
- package/dist/components/utils/cn.js.map +1 -1
- package/dist/components/utils/colors.d.ts +2 -0
- package/dist/components/utils/colors.d.ts.map +1 -0
- package/dist/components/utils/constants.d.ts +15 -0
- package/dist/components/utils/constants.d.ts.map +1 -0
- package/dist/components/utils/index.d.ts +6 -0
- package/dist/components/utils/index.d.ts.map +1 -0
- package/dist/components/utils/isTracebackError.d.ts +2 -0
- package/dist/components/utils/isTracebackError.d.ts.map +1 -0
- package/dist/components/utils/isTracebackError.js.map +1 -1
- package/dist/components/utils/main.d.ts +7 -0
- package/dist/components/utils/main.d.ts.map +1 -0
- package/dist/components/utils/placement.d.ts +21 -0
- package/dist/components/utils/placement.d.ts.map +1 -0
- package/dist/components/utils/placement.js.map +1 -1
- package/dist/components/utils/reactElement.d.ts +2 -0
- package/dist/components/utils/reactElement.d.ts.map +1 -0
- package/dist/components/utils/reactToString.d.ts +3 -0
- package/dist/components/utils/reactToString.d.ts.map +1 -0
- package/dist/components/utils/reactToString.js.map +1 -1
- package/dist/components/utils/selectionRange.d.ts +2 -0
- package/dist/components/utils/selectionRange.d.ts.map +1 -0
- package/dist/components/utils/selectionRange.js.map +1 -1
- package/dist/components/utils/theme.d.ts +6 -0
- package/dist/components/utils/theme.d.ts.map +1 -0
- package/dist/components/utils/theme.js.map +1 -1
- package/dist/components/utils/types.d.ts +12 -0
- package/dist/components/utils/types.d.ts.map +1 -0
- package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
- package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
- package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
- package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
- package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
- package/dist/index.d.ts +4 -4431
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +166 -164
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +446 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js.map +1 -1
- package/dist/tokens/and-theme/index.d.ts +2 -0
- package/dist/tokens/and-theme/index.d.ts.map +1 -0
- package/dist/tokens/and-theme/tokens.d.ts +6 -0
- package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
- package/dist/tokens/and-theme/tokens.js.map +1 -1
- package/dist/tokens/charts/index.d.ts +5 -0
- package/dist/tokens/charts/index.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
- package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
- package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
- package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
- package/dist/tokens/charts/palettes/index.d.ts +24 -0
- package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
- package/dist/tokens/charts/palettes/index.js.map +1 -1
- package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
- package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
- package/dist/tokens/index.d.ts +5 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/types.d.ts +10 -0
- package/dist/tokens/types.d.ts.map +1 -0
- package/dist/tokens/utils.d.ts +9 -0
- package/dist/tokens/utils.d.ts.map +1 -0
- package/dist/tokens/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/tailwind.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/components/splitter/context.ts"],"sourcesContent":["import React from \"react\";\n\n// Context to provide layout direction to panels\nexport const SplitterContext = React.createContext<{ layout?: 'horizontal' | 'vertical' }>({});"],"names":["SplitterContext","React"],"mappings":";AAGO,MAAMA,IAAkBC,EAAM,cAAsD,CAAE
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/splitter/context.ts"],"sourcesContent":["import React from \"react\";\n\n// Context to provide layout direction to panels\nexport const SplitterContext = React.createContext<{ layout?: 'horizontal' | 'vertical' }>({});"],"names":["SplitterContext","React"],"mappings":";AAGO,MAAMA,IAAkBC,EAAM,cAAsD,CAAA,CAAE;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { InternalPanelProps } from 'antd/es/splitter/interface';
|
|
3
|
+
export type SplitterPanelProps = InternalPanelProps & {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
} & React.RefAttributes<HTMLElement> & {
|
|
6
|
+
/**
|
|
7
|
+
* Default size of the panel. Can be a percentage string, number, or CSS intrinsic sizing values
|
|
8
|
+
*/
|
|
9
|
+
defaultSize?: string | number | "max-content" | "min-content" | "fit-content";
|
|
10
|
+
};
|
|
11
|
+
export declare const SplitterPanel: React.ForwardRefExoticComponent<Omit<SplitterPanelProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
12
|
+
//# sourceMappingURL=splitter-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitter-panel.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/splitter-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG;IACnC;;OAEG;IACH,WAAW,CAAC,EACR,MAAM,GACN,MAAM,GACN,aAAa,GACb,aAAa,GACb,aAAa,CAAC;CACnB,CAAC;AAEJ,eAAO,MAAM,aAAa,qGAkCxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitter-panel.js","sources":["../../../src/components/splitter/splitter-panel.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { useCls, clsx } from \"../utils\";\nimport { InternalPanel } from \"antd/es/splitter/Panel\";\nimport type { InternalPanelProps } from \"antd/es/splitter/interface\";\n\nexport type SplitterPanelProps = InternalPanelProps & {\n children?: React.ReactNode;\n} & React.RefAttributes<HTMLElement> & {\n /**\n * Default size of the panel. Can be a percentage string, number, or CSS intrinsic sizing values\n */\n defaultSize?:\n | string\n | number\n | \"max-content\"\n | \"min-content\"\n | \"fit-content\";\n };\n\nexport const SplitterPanel = React.forwardRef<HTMLElement, SplitterPanelProps>(({\n children,\n className,\n style,\n defaultSize,\n ...rest\n}, ref) => {\n const cls = useCls();\n\n const isIntrinsicSizing =\n defaultSize === \"max-content\" ||\n defaultSize === \"min-content\" ||\n defaultSize === \"fit-content\";\n\n const finalClassName = clsx(\n className,\n isIntrinsicSizing && cls(`splitter-panel-${defaultSize}`)\n );\n\n return (\n <InternalPanel\n className={finalClassName}\n style={style}\n defaultSize={defaultSize}\n {...rest}\n >\n {isIntrinsicSizing && React.isValidElement(children)\n ? React.cloneElement(\n children as React.ReactElement<React.RefAttributes<HTMLElement>>,\n { ref }\n )\n : children}\n </InternalPanel>\n );\n});\n"],"names":["SplitterPanel","React","children","className","style","defaultSize","rest","ref","cls","useCls","isIntrinsicSizing","finalClassName","clsx","jsx","InternalPanel"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"splitter-panel.js","sources":["../../../src/components/splitter/splitter-panel.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { useCls, clsx } from \"../utils\";\nimport { InternalPanel } from \"antd/es/splitter/Panel\";\nimport type { InternalPanelProps } from \"antd/es/splitter/interface\";\n\nexport type SplitterPanelProps = InternalPanelProps & {\n children?: React.ReactNode;\n} & React.RefAttributes<HTMLElement> & {\n /**\n * Default size of the panel. Can be a percentage string, number, or CSS intrinsic sizing values\n */\n defaultSize?:\n | string\n | number\n | \"max-content\"\n | \"min-content\"\n | \"fit-content\";\n };\n\nexport const SplitterPanel = React.forwardRef<HTMLElement, SplitterPanelProps>(({\n children,\n className,\n style,\n defaultSize,\n ...rest\n}, ref) => {\n const cls = useCls();\n\n const isIntrinsicSizing =\n defaultSize === \"max-content\" ||\n defaultSize === \"min-content\" ||\n defaultSize === \"fit-content\";\n\n const finalClassName = clsx(\n className,\n isIntrinsicSizing && cls(`splitter-panel-${defaultSize}`)\n );\n\n return (\n <InternalPanel\n className={finalClassName}\n style={style}\n defaultSize={defaultSize}\n {...rest}\n >\n {isIntrinsicSizing && React.isValidElement(children)\n ? React.cloneElement(\n children as React.ReactElement<React.RefAttributes<HTMLElement>>,\n { ref }\n )\n : children}\n </InternalPanel>\n );\n});\n"],"names":["SplitterPanel","React","children","className","style","defaultSize","rest","ref","cls","useCls","isIntrinsicSizing","finalClassName","clsx","jsx","InternalPanel"],"mappings":";;;;;;AAoBO,MAAMA,IAAgBC,EAAM,WAA4C,CAAC;AAAA,EAC9E,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,GAAGC;AACL,GAAGC,MAAQ;AACT,QAAMC,IAAMC,EAAA,GAENC,IACJL,MAAgB,iBAChBA,MAAgB,iBAChBA,MAAgB,eAEZM,IAAiBC;AAAA,IACrBT;AAAA,IACAO,KAAqBF,EAAI,kBAAkBH,CAAW,EAAE;AAAA,EAAA;AAG1D,SACE,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWH;AAAA,MACX,OAAAP;AAAA,MACA,aAAAC;AAAA,MACC,GAAGC;AAAA,MAEH,UAAAI,KAAqBT,EAAM,eAAeC,CAAQ,IAC/CD,EAAM;AAAA,QACJC;AAAA,QACA,EAAE,KAAAK,EAAA;AAAA,MAAI,IAERL;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React, PropsWithChildren } from 'react';
|
|
2
|
+
import { SplitterProps as AntdSplitterProps } from 'antd/es/splitter/interface';
|
|
3
|
+
export interface SplitterProps extends PropsWithChildren<AntdSplitterProps> {
|
|
4
|
+
/**
|
|
5
|
+
* Whether to show the split bars between panels
|
|
6
|
+
* @default true
|
|
7
|
+
*/
|
|
8
|
+
showSplitBar?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const Splitter: React.ForwardRefExoticComponent<SplitterProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
//# sourceMappingURL=splitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitter.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/splitter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAUpD,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK1C,MAAM,WAAW,aAAc,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IACzE;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA8PD,eAAO,MAAM,QAAQ,sFAA4B,CAAC"}
|
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { devUseWarning as
|
|
6
|
-
import { useComponentConfig as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
1
|
+
import { jsx as l, jsxs as I } from "react/jsx-runtime";
|
|
2
|
+
import ue from "rc-resize-observer";
|
|
3
|
+
import { useEvent as p } from "rc-util";
|
|
4
|
+
import z, { forwardRef as de, useState as Ce } from "react";
|
|
5
|
+
import { devUseWarning as he } from "antd/es/_util/warning";
|
|
6
|
+
import { useComponentConfig as Re } from "antd/es/config-provider/context";
|
|
7
|
+
import ge from "antd/es/config-provider/hooks/useCSSVarCls";
|
|
8
|
+
import ve from "antd/es/splitter/hooks/useItems";
|
|
9
|
+
import be from "antd/es/splitter/hooks/useResizable";
|
|
10
10
|
import Me from "antd/es/splitter/hooks/useResize";
|
|
11
|
-
import Ne from "
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { clsx as
|
|
17
|
-
const
|
|
11
|
+
import Ne from "antd/es/splitter/SplitBar";
|
|
12
|
+
import ye from "antd/es/splitter/style";
|
|
13
|
+
import { SplitterContext as Ee } from "./context.js";
|
|
14
|
+
import { SplitterPanel as Ie } from "./splitter-panel.js";
|
|
15
|
+
import xe from "./useSizes.js";
|
|
16
|
+
import { clsx as x } from "../utils/cn.js";
|
|
17
|
+
const Pe = (P, O) => {
|
|
18
18
|
const {
|
|
19
|
-
prefixCls:
|
|
20
|
-
className:
|
|
21
|
-
style:
|
|
22
|
-
layout:
|
|
23
|
-
children:
|
|
24
|
-
rootClassName:
|
|
25
|
-
onResizeStart:
|
|
26
|
-
onResize:
|
|
27
|
-
onResizeEnd:
|
|
28
|
-
lazy:
|
|
29
|
-
showSplitBar:
|
|
30
|
-
} =
|
|
31
|
-
getPrefixCls:
|
|
32
|
-
direction:
|
|
19
|
+
prefixCls: $,
|
|
20
|
+
className: w,
|
|
21
|
+
style: U,
|
|
22
|
+
layout: i = "horizontal",
|
|
23
|
+
children: V,
|
|
24
|
+
rootClassName: k,
|
|
25
|
+
onResizeStart: B,
|
|
26
|
+
onResize: S,
|
|
27
|
+
onResizeEnd: u,
|
|
28
|
+
lazy: W,
|
|
29
|
+
showSplitBar: _ = !0
|
|
30
|
+
} = P, {
|
|
31
|
+
getPrefixCls: j,
|
|
32
|
+
direction: q,
|
|
33
33
|
className: D,
|
|
34
|
-
style:
|
|
35
|
-
} =
|
|
34
|
+
style: F
|
|
35
|
+
} = Re("splitter"), o = j("splitter", $), g = ge(o), [H, L, T] = ye(o, g), c = i === "vertical", f = q === "rtl", A = !c && f, r = ve(V), v = z.useMemo(() => r.map(() => z.createRef()), [r.length]);
|
|
36
36
|
if (process.env.NODE_ENV !== "production") {
|
|
37
|
-
const t =
|
|
37
|
+
const t = he("Splitter");
|
|
38
38
|
let e = !1, s = !1;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}), e && s && !
|
|
39
|
+
r.forEach((n) => {
|
|
40
|
+
n.size !== void 0 ? e = !0 : s = !0;
|
|
41
|
+
}), e && s && !S && t(
|
|
42
42
|
!1,
|
|
43
43
|
"usage",
|
|
44
44
|
"When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`."
|
|
45
45
|
);
|
|
46
46
|
}
|
|
47
|
-
const [
|
|
48
|
-
const { offsetWidth: e, offsetHeight: s } = t,
|
|
49
|
-
|
|
47
|
+
const [d, G] = Ce(), J = (t) => {
|
|
48
|
+
const { offsetWidth: e, offsetHeight: s } = t, n = c ? s : e;
|
|
49
|
+
n !== 0 && G(n);
|
|
50
50
|
}, [
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
K,
|
|
52
|
+
C,
|
|
53
|
+
h,
|
|
54
54
|
b,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
] =
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
g,
|
|
55
|
+
M,
|
|
56
|
+
Q
|
|
57
|
+
] = xe(r, d, i, v), N = be(r, C, f), [X, Y, Z, ee, y] = Me(
|
|
58
|
+
r,
|
|
59
|
+
N,
|
|
61
60
|
h,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
d,
|
|
62
|
+
Q,
|
|
63
|
+
f
|
|
64
|
+
), te = p((t) => {
|
|
65
|
+
X(t), B?.(C);
|
|
66
|
+
}), se = p(
|
|
67
67
|
(t, e, s) => {
|
|
68
|
-
const
|
|
69
|
-
s ?
|
|
68
|
+
const n = Y(t, e);
|
|
69
|
+
s ? u?.(n) : S?.(n);
|
|
70
70
|
}
|
|
71
|
-
),
|
|
72
|
-
|
|
73
|
-
}),
|
|
71
|
+
), ne = p((t) => {
|
|
72
|
+
Z(), t || u?.(C);
|
|
73
|
+
}), oe = p(
|
|
74
74
|
(t, e) => {
|
|
75
|
-
const s =
|
|
76
|
-
|
|
75
|
+
const s = ee(t, e);
|
|
76
|
+
S?.(s), u?.(s);
|
|
77
77
|
}
|
|
78
|
-
),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
`${
|
|
78
|
+
), re = x(
|
|
79
|
+
o,
|
|
80
|
+
w,
|
|
81
|
+
`${o}-${i}`,
|
|
82
82
|
{
|
|
83
|
-
[`${
|
|
84
|
-
[`${
|
|
83
|
+
[`${o}-rtl`]: f,
|
|
84
|
+
[`${o}-hide-bars`]: !_
|
|
85
85
|
},
|
|
86
|
-
|
|
86
|
+
k,
|
|
87
87
|
D,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
),
|
|
88
|
+
T,
|
|
89
|
+
g,
|
|
90
|
+
L
|
|
91
|
+
), E = `${o}-mask`, a = z.useMemo(() => {
|
|
92
92
|
const t = [];
|
|
93
93
|
let e = 0;
|
|
94
|
-
for (let s = 0; s <
|
|
95
|
-
e +=
|
|
94
|
+
for (let s = 0; s < r.length; s += 1)
|
|
95
|
+
e += h[s], t.push(e);
|
|
96
96
|
return t;
|
|
97
|
-
}, [
|
|
98
|
-
return
|
|
99
|
-
/* @__PURE__ */
|
|
100
|
-
|
|
101
|
-
const s = /* @__PURE__ */
|
|
102
|
-
|
|
97
|
+
}, [h]), ie = { ...F, ...U };
|
|
98
|
+
return H(
|
|
99
|
+
/* @__PURE__ */ l(Ee.Provider, { value: { layout: i }, children: /* @__PURE__ */ l(ue, { onResize: J, children: /* @__PURE__ */ I("div", { style: ie, className: re, ref: O, children: [
|
|
100
|
+
r.map((t, e) => {
|
|
101
|
+
const s = /* @__PURE__ */ l(
|
|
102
|
+
Ie,
|
|
103
103
|
{
|
|
104
104
|
...t,
|
|
105
|
-
prefixCls:
|
|
106
|
-
size:
|
|
107
|
-
ref:
|
|
105
|
+
prefixCls: o,
|
|
106
|
+
size: K[e],
|
|
107
|
+
ref: v[e]
|
|
108
108
|
}
|
|
109
109
|
);
|
|
110
|
-
let
|
|
111
|
-
const
|
|
112
|
-
if (
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
let n = null;
|
|
111
|
+
const m = N[e];
|
|
112
|
+
if (m) {
|
|
113
|
+
const ae = (a[e - 1] || 0) + b[e], le = (a[e + 1] || 100) - M[e + 1], ce = (a[e - 1] || 0) + M[e], fe = (a[e + 1] || 100) - b[e + 1];
|
|
114
|
+
n = /* @__PURE__ */ l(
|
|
115
|
+
Ne,
|
|
116
116
|
{
|
|
117
|
-
lazy:
|
|
117
|
+
lazy: W,
|
|
118
118
|
index: e,
|
|
119
|
-
active:
|
|
120
|
-
prefixCls:
|
|
121
|
-
vertical:
|
|
122
|
-
resizable:
|
|
123
|
-
ariaNow:
|
|
124
|
-
ariaMin: Math.max(
|
|
125
|
-
ariaMax: Math.min(
|
|
126
|
-
startCollapsible:
|
|
127
|
-
endCollapsible:
|
|
128
|
-
onOffsetStart:
|
|
129
|
-
onOffsetUpdate: (
|
|
130
|
-
let
|
|
131
|
-
|
|
119
|
+
active: y === e,
|
|
120
|
+
prefixCls: o,
|
|
121
|
+
vertical: c,
|
|
122
|
+
resizable: m.resizable,
|
|
123
|
+
ariaNow: a[e] * 100,
|
|
124
|
+
ariaMin: Math.max(ae, le) * 100,
|
|
125
|
+
ariaMax: Math.min(ce, fe) * 100,
|
|
126
|
+
startCollapsible: m.startCollapsible,
|
|
127
|
+
endCollapsible: m.endCollapsible,
|
|
128
|
+
onOffsetStart: te,
|
|
129
|
+
onOffsetUpdate: (me, pe, ze, Se) => {
|
|
130
|
+
let R = c ? ze : pe;
|
|
131
|
+
A && (R = -R), se(me, R, Se);
|
|
132
132
|
},
|
|
133
|
-
onOffsetEnd:
|
|
134
|
-
onCollapse:
|
|
135
|
-
containerSize:
|
|
133
|
+
onOffsetEnd: ne,
|
|
134
|
+
onCollapse: oe,
|
|
135
|
+
containerSize: d || 0
|
|
136
136
|
}
|
|
137
137
|
);
|
|
138
138
|
}
|
|
139
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ I(z.Fragment, { children: [
|
|
140
140
|
s,
|
|
141
|
-
|
|
141
|
+
n
|
|
142
142
|
] }, `split-panel-${e}`);
|
|
143
143
|
}),
|
|
144
|
-
typeof
|
|
144
|
+
typeof y == "number" && /* @__PURE__ */ l(
|
|
145
145
|
"div",
|
|
146
146
|
{
|
|
147
147
|
"aria-hidden": !0,
|
|
148
|
-
className:
|
|
148
|
+
className: x(E, `${E}-${i}`)
|
|
149
149
|
}
|
|
150
150
|
)
|
|
151
151
|
] }) }) })
|
|
152
152
|
);
|
|
153
|
-
};
|
|
154
|
-
|
|
153
|
+
}, Oe = de(Pe);
|
|
154
|
+
Oe.displayName = "Splitter";
|
|
155
155
|
export {
|
|
156
|
-
Oe as
|
|
156
|
+
Oe as Splitter
|
|
157
157
|
};
|
|
158
158
|
//# sourceMappingURL=splitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitter.js","sources":["../../../src/components/splitter/splitter.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { clsx } from \"../utils\";\nimport ResizeObserver from \"rc-resize-observer\";\nimport { useEvent } from \"rc-util\";\n\nimport type { GetProp } from \"antd/es/_util/type\";\nimport { devUseWarning } from \"antd/es/_util/warning\";\nimport { useComponentConfig } from \"antd/es/config-provider/context\";\nimport useCSSVarCls from \"antd/es/config-provider/hooks/useCSSVarCls\";\nimport useItems from \"antd/es/splitter/hooks/useItems\";\nimport useResizable from \"antd/es/splitter/hooks/useResizable\";\nimport useResize from \"antd/es/splitter/hooks/useResize\";\nimport useSizes from \"./useSizes\";\nimport type { SplitterProps as AntdSplitterProps } from \"antd/es/splitter/interface\";\nimport { SplitterPanel } from \"./splitter-panel\";\nimport SplitBar from \"antd/es/splitter/SplitBar\";\nimport useStyle from \"antd/es/splitter/style\";\nimport { SplitterContext } from \"./context\";\n\nexport interface SplitterProps extends AntdSplitterProps {\n /**\n * Whether to show the split bars between panels\n * @default true\n */\n showSplitBar?: boolean;\n}\n\nexport const MainSplitter: React.FC<React.PropsWithChildren<SplitterProps>> = (\n props\n) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n layout = \"horizontal\",\n children,\n rootClassName,\n onResizeStart,\n onResize,\n onResizeEnd,\n lazy,\n showSplitBar = true,\n } = props;\n\n const {\n getPrefixCls,\n direction,\n className: contextClassName,\n style: contextStyle,\n } = useComponentConfig(\"splitter\");\n const prefixCls = getPrefixCls(\"splitter\", customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n\n // ======================== Direct ========================\n const isVertical = layout === \"vertical\";\n const isRTL = direction === \"rtl\";\n const reverse = !isVertical && isRTL;\n\n // ====================== Items Data ======================\n const items = useItems(children);\n \n // Create refs for intrinsic panels to pass to useSizes\n const elementRefs = React.useMemo(() => {\n return items.map(() => React.createRef<HTMLElement>());\n }, [items.length]);\n\n // >>> Warning for uncontrolled\n if (process.env.NODE_ENV !== \"production\") {\n const warning = devUseWarning(\"Splitter\");\n\n let existSize = false;\n let existUndefinedSize = false;\n\n items.forEach((item) => {\n if (item.size !== undefined) {\n existSize = true;\n } else {\n existUndefinedSize = true;\n }\n });\n\n if (existSize && existUndefinedSize && !onResize) {\n warning(\n false,\n \"usage\",\n \"When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`.\"\n );\n }\n }\n\n // ====================== Container =======================\n const [containerSize, setContainerSize] = useState<number | undefined>();\n\n const onContainerResize: GetProp<typeof ResizeObserver, \"onResize\"> = (\n size\n ) => {\n const { offsetWidth, offsetHeight } = size;\n const containerSize = isVertical ? offsetHeight : offsetWidth;\n // Skip when container has no size, Such as nested in a hidden tab panel\n // to fix: https://github.com/ant-design/ant-design/issues/51106\n if (containerSize === 0) {\n return;\n }\n setContainerSize(containerSize);\n };\n\n // ========================= Size =========================\n const [\n panelSizes,\n itemPxSizes,\n itemPtgSizes,\n itemPtgMinSizes,\n itemPtgMaxSizes,\n updateSizes,\n ] = useSizes(items, containerSize, layout, elementRefs);\n\n // ====================== Resizable =======================\n const resizableInfos = useResizable(items, itemPxSizes, isRTL);\n\n const [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex] =\n useResize(\n items,\n resizableInfos,\n itemPtgSizes,\n containerSize,\n updateSizes,\n isRTL\n );\n\n // ======================== Events ========================\n const onInternalResizeStart = useEvent((index: number) => {\n onOffsetStart(index);\n onResizeStart?.(itemPxSizes);\n });\n\n const onInternalResizeUpdate = useEvent(\n (index: number, offset: number, lazyEnd?: boolean) => {\n const nextSizes = onOffsetUpdate(index, offset);\n\n if (lazyEnd) {\n onResizeEnd?.(nextSizes);\n } else {\n onResize?.(nextSizes);\n }\n }\n );\n\n const onInternalResizeEnd = useEvent((lazyEnd?: boolean) => {\n onOffsetEnd();\n\n if (!lazyEnd) {\n onResizeEnd?.(itemPxSizes);\n }\n });\n\n const onInternalCollapse = useEvent(\n (index: number, type: \"start\" | \"end\") => {\n const nextSizes = onCollapse(index, type);\n onResize?.(nextSizes);\n onResizeEnd?.(nextSizes);\n }\n );\n\n // ======================== Styles ========================\n const containerClassName = clsx(\n prefixCls,\n className,\n `${prefixCls}-${layout}`,\n {\n [`${prefixCls}-rtl`]: isRTL,\n [`${prefixCls}-hide-bars`]: !showSplitBar,\n },\n rootClassName,\n contextClassName,\n cssVarCls,\n rootCls,\n hashId\n );\n\n // ======================== Render ========================\n const maskCls = `${prefixCls}-mask`;\n\n const stackSizes = React.useMemo(() => {\n const mergedSizes: number[] = [];\n\n let stack = 0;\n for (let i = 0; i < items.length; i += 1) {\n stack += itemPtgSizes[i];\n mergedSizes.push(stack);\n }\n\n return mergedSizes;\n }, [itemPtgSizes]);\n\n const mergedStyle: React.CSSProperties = { ...contextStyle, ...style };\n\n return wrapCSSVar(\n <SplitterContext.Provider value={{ layout }}>\n <ResizeObserver onResize={onContainerResize}>\n <div style={mergedStyle} className={containerClassName}>\n {items.map((item, idx) => {\n // Panel\n const panel = (\n <SplitterPanel\n {...item}\n prefixCls={prefixCls}\n size={panelSizes[idx]}\n ref={elementRefs[idx]}\n />\n );\n\n // Split Bar\n let splitBar: React.ReactElement | null = null;\n\n const resizableInfo = resizableInfos[idx];\n if (resizableInfo) {\n const ariaMinStart =\n (stackSizes[idx - 1] || 0) + itemPtgMinSizes[idx];\n const ariaMinEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMaxSizes[idx + 1];\n\n const ariaMaxStart =\n (stackSizes[idx - 1] || 0) + itemPtgMaxSizes[idx];\n const ariaMaxEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMinSizes[idx + 1];\n\n splitBar = (\n <SplitBar\n lazy={lazy}\n index={idx}\n active={movingIndex === idx}\n prefixCls={prefixCls}\n vertical={isVertical}\n resizable={resizableInfo.resizable}\n ariaNow={stackSizes[idx] * 100}\n ariaMin={Math.max(ariaMinStart, ariaMinEnd) * 100}\n ariaMax={Math.min(ariaMaxStart, ariaMaxEnd) * 100}\n startCollapsible={resizableInfo.startCollapsible}\n endCollapsible={resizableInfo.endCollapsible}\n onOffsetStart={onInternalResizeStart}\n onOffsetUpdate={(index, offsetX, offsetY, lazyEnd) => {\n let offset = isVertical ? offsetY : offsetX;\n if (reverse) {\n offset = -offset;\n }\n onInternalResizeUpdate(index, offset, lazyEnd);\n }}\n onOffsetEnd={onInternalResizeEnd}\n onCollapse={onInternalCollapse}\n containerSize={containerSize || 0}\n />\n );\n }\n\n return (\n <React.Fragment key={`split-panel-${idx}`}>\n {panel}\n {splitBar}\n </React.Fragment>\n );\n })}\n\n {/* Fake mask for cursor */}\n {typeof movingIndex === \"number\" && (\n <div\n aria-hidden\n className={clsx(maskCls, `${maskCls}-${layout}`)}\n />\n )}\n </div>\n </ResizeObserver>\n </SplitterContext.Provider>\n );\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n MainSplitter.displayName = \"Splitter\";\n}\n"],"names":["MainSplitter","props","customizePrefixCls","className","style","layout","children","rootClassName","onResizeStart","onResize","onResizeEnd","lazy","showSplitBar","getPrefixCls","direction","contextClassName","contextStyle","useComponentConfig","prefixCls","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","isVertical","isRTL","reverse","items","useItems","elementRefs","React","warning","devUseWarning","existSize","existUndefinedSize","item","containerSize","setContainerSize","useState","onContainerResize","size","offsetWidth","offsetHeight","panelSizes","itemPxSizes","itemPtgSizes","itemPtgMinSizes","itemPtgMaxSizes","updateSizes","useSizes","resizableInfos","useResizable","onOffsetStart","onOffsetUpdate","onOffsetEnd","onCollapse","movingIndex","useResize","onInternalResizeStart","useEvent","index","onInternalResizeUpdate","offset","lazyEnd","nextSizes","onInternalResizeEnd","onInternalCollapse","type","containerClassName","clsx","maskCls","stackSizes","mergedSizes","stack","i","mergedStyle","SplitterContext","jsx","ResizeObserver","jsxs","idx","panel","SplitterPanel","splitBar","resizableInfo","ariaMinStart","ariaMinEnd","ariaMaxStart","ariaMaxEnd","SplitBar","offsetX","offsetY"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"splitter.js","sources":["../../../src/components/splitter/splitter.tsx"],"sourcesContent":["import ResizeObserver from \"rc-resize-observer\";\nimport { useEvent } from \"rc-util\";\nimport React, { forwardRef, useState } from \"react\";\nimport { clsx } from \"../utils\";\n\nimport type { GetProp } from \"antd/es/_util/type\";\nimport { devUseWarning } from \"antd/es/_util/warning\";\nimport { useComponentConfig } from \"antd/es/config-provider/context\";\nimport useCSSVarCls from \"antd/es/config-provider/hooks/useCSSVarCls\";\nimport useItems from \"antd/es/splitter/hooks/useItems\";\nimport useResizable from \"antd/es/splitter/hooks/useResizable\";\nimport useResize from \"antd/es/splitter/hooks/useResize\";\nimport type { SplitterProps as AntdSplitterProps } from \"antd/es/splitter/interface\";\nimport SplitBar from \"antd/es/splitter/SplitBar\";\nimport useStyle from \"antd/es/splitter/style\";\nimport { PropsWithChildren } from \"react\";\nimport { SplitterContext } from \"./context\";\nimport { SplitterPanel } from \"./splitter-panel\";\nimport useSizes from \"./useSizes\";\n\nexport interface SplitterProps extends PropsWithChildren<AntdSplitterProps> {\n /**\n * Whether to show the split bars between panels\n * @default true\n */\n showSplitBar?: boolean;\n}\n\nconst SplitterInner = (\n props: SplitterProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n layout = \"horizontal\",\n children,\n rootClassName,\n onResizeStart,\n onResize,\n onResizeEnd,\n lazy,\n showSplitBar = true,\n } = props;\n\n const {\n getPrefixCls,\n direction,\n className: contextClassName,\n style: contextStyle,\n } = useComponentConfig(\"splitter\");\n const prefixCls = getPrefixCls(\"splitter\", customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n\n // ======================== Direct ========================\n const isVertical = layout === \"vertical\";\n const isRTL = direction === \"rtl\";\n const reverse = !isVertical && isRTL;\n\n // ====================== Items Data ======================\n const items = useItems(children);\n\n // Create refs for intrinsic panels to pass to useSizes\n const elementRefs = React.useMemo(() => {\n return items.map(() => React.createRef<HTMLElement>());\n }, [items.length]);\n\n // >>> Warning for uncontrolled\n if (process.env.NODE_ENV !== \"production\") {\n const warning = devUseWarning(\"Splitter\");\n\n let existSize = false;\n let existUndefinedSize = false;\n\n items.forEach((item) => {\n if (item.size !== undefined) {\n existSize = true;\n } else {\n existUndefinedSize = true;\n }\n });\n\n if (existSize && existUndefinedSize && !onResize) {\n warning(\n false,\n \"usage\",\n \"When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`.\",\n );\n }\n }\n\n // ====================== Container =======================\n const [containerSize, setContainerSize] = useState<number | undefined>();\n\n const onContainerResize: GetProp<typeof ResizeObserver, \"onResize\"> = (\n size,\n ) => {\n const { offsetWidth, offsetHeight } = size;\n const containerSize = isVertical ? offsetHeight : offsetWidth;\n // Skip when container has no size, Such as nested in a hidden tab panel\n // to fix: https://github.com/ant-design/ant-design/issues/51106\n if (containerSize === 0) {\n return;\n }\n setContainerSize(containerSize);\n };\n\n // ========================= Size =========================\n const [\n panelSizes,\n itemPxSizes,\n itemPtgSizes,\n itemPtgMinSizes,\n itemPtgMaxSizes,\n updateSizes,\n ] = useSizes(items, containerSize, layout, elementRefs);\n\n // ====================== Resizable =======================\n const resizableInfos = useResizable(items, itemPxSizes, isRTL);\n\n const [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex] =\n useResize(\n items,\n resizableInfos,\n itemPtgSizes,\n containerSize,\n updateSizes,\n isRTL,\n );\n\n // ======================== Events ========================\n const onInternalResizeStart = useEvent((index: number) => {\n onOffsetStart(index);\n onResizeStart?.(itemPxSizes);\n });\n\n const onInternalResizeUpdate = useEvent(\n (index: number, offset: number, lazyEnd?: boolean) => {\n const nextSizes = onOffsetUpdate(index, offset);\n\n if (lazyEnd) {\n onResizeEnd?.(nextSizes);\n } else {\n onResize?.(nextSizes);\n }\n },\n );\n\n const onInternalResizeEnd = useEvent((lazyEnd?: boolean) => {\n onOffsetEnd();\n\n if (!lazyEnd) {\n onResizeEnd?.(itemPxSizes);\n }\n });\n\n const onInternalCollapse = useEvent(\n (index: number, type: \"start\" | \"end\") => {\n const nextSizes = onCollapse(index, type);\n onResize?.(nextSizes);\n onResizeEnd?.(nextSizes);\n },\n );\n\n // ======================== Styles ========================\n const containerClassName = clsx(\n prefixCls,\n className,\n `${prefixCls}-${layout}`,\n {\n [`${prefixCls}-rtl`]: isRTL,\n [`${prefixCls}-hide-bars`]: !showSplitBar,\n },\n rootClassName,\n contextClassName,\n cssVarCls,\n rootCls,\n hashId,\n );\n\n // ======================== Render ========================\n const maskCls = `${prefixCls}-mask`;\n\n const stackSizes = React.useMemo(() => {\n const mergedSizes: number[] = [];\n\n let stack = 0;\n for (let i = 0; i < items.length; i += 1) {\n stack += itemPtgSizes[i];\n mergedSizes.push(stack);\n }\n\n return mergedSizes;\n // note: do not change this dependency array\n // @eslint-disable-next-line react-hooks/exhaustive-deps\n }, [itemPtgSizes]);\n\n const mergedStyle: React.CSSProperties = { ...contextStyle, ...style };\n\n return wrapCSSVar(\n <SplitterContext.Provider value={{ layout }}>\n <ResizeObserver onResize={onContainerResize}>\n <div style={mergedStyle} className={containerClassName} ref={ref}>\n {items.map((item, idx) => {\n // Panel\n const panel = (\n <SplitterPanel\n {...item}\n prefixCls={prefixCls}\n size={panelSizes[idx]}\n ref={elementRefs[idx]}\n />\n );\n\n // Split Bar\n let splitBar: React.ReactElement | null = null;\n\n const resizableInfo = resizableInfos[idx];\n if (resizableInfo) {\n const ariaMinStart =\n (stackSizes[idx - 1] || 0) + itemPtgMinSizes[idx];\n const ariaMinEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMaxSizes[idx + 1];\n\n const ariaMaxStart =\n (stackSizes[idx - 1] || 0) + itemPtgMaxSizes[idx];\n const ariaMaxEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMinSizes[idx + 1];\n\n splitBar = (\n <SplitBar\n lazy={lazy}\n index={idx}\n active={movingIndex === idx}\n prefixCls={prefixCls}\n vertical={isVertical}\n resizable={resizableInfo.resizable}\n ariaNow={stackSizes[idx] * 100}\n ariaMin={Math.max(ariaMinStart, ariaMinEnd) * 100}\n ariaMax={Math.min(ariaMaxStart, ariaMaxEnd) * 100}\n startCollapsible={resizableInfo.startCollapsible}\n endCollapsible={resizableInfo.endCollapsible}\n onOffsetStart={onInternalResizeStart}\n onOffsetUpdate={(index, offsetX, offsetY, lazyEnd) => {\n let offset = isVertical ? offsetY : offsetX;\n if (reverse) {\n offset = -offset;\n }\n onInternalResizeUpdate(index, offset, lazyEnd);\n }}\n onOffsetEnd={onInternalResizeEnd}\n onCollapse={onInternalCollapse}\n containerSize={containerSize || 0}\n />\n );\n }\n\n return (\n <React.Fragment key={`split-panel-${idx}`}>\n {panel}\n {splitBar}\n </React.Fragment>\n );\n })}\n\n {/* Fake mask for cursor */}\n {typeof movingIndex === \"number\" && (\n <div\n aria-hidden\n className={clsx(maskCls, `${maskCls}-${layout}`)}\n />\n )}\n </div>\n </ResizeObserver>\n </SplitterContext.Provider>,\n );\n};\n\nexport const Splitter = forwardRef(SplitterInner);\n\nSplitter.displayName = \"Splitter\";\n"],"names":["SplitterInner","props","ref","customizePrefixCls","className","style","layout","children","rootClassName","onResizeStart","onResize","onResizeEnd","lazy","showSplitBar","getPrefixCls","direction","contextClassName","contextStyle","useComponentConfig","prefixCls","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","isVertical","isRTL","reverse","items","useItems","elementRefs","React","warning","devUseWarning","existSize","existUndefinedSize","item","containerSize","setContainerSize","useState","onContainerResize","size","offsetWidth","offsetHeight","panelSizes","itemPxSizes","itemPtgSizes","itemPtgMinSizes","itemPtgMaxSizes","updateSizes","useSizes","resizableInfos","useResizable","onOffsetStart","onOffsetUpdate","onOffsetEnd","onCollapse","movingIndex","useResize","onInternalResizeStart","useEvent","index","onInternalResizeUpdate","offset","lazyEnd","nextSizes","onInternalResizeEnd","onInternalCollapse","type","containerClassName","clsx","maskCls","stackSizes","mergedSizes","stack","i","mergedStyle","SplitterContext","jsx","ResizeObserver","jsxs","idx","panel","SplitterPanel","splitBar","resizableInfo","ariaMinStart","ariaMinEnd","ariaMaxStart","ariaMaxEnd","SplitBar","offsetX","offsetY","Splitter","forwardRef"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SplitterPanelProps } from './splitter-panel';
|
|
3
|
+
export declare function getPtg(str: string): number;
|
|
4
|
+
/**
|
|
5
|
+
* Save the size state.
|
|
6
|
+
* Align the size into flex percentage base.
|
|
7
|
+
*/
|
|
8
|
+
export default function useSizes(items: SplitterPanelProps[], containerSize?: number, layout?: "horizontal" | "vertical", elementRefs?: React.RefObject<HTMLElement>[]): readonly [(string | number)[], number[], number[], number[], number[], React.Dispatch<React.SetStateAction<(string | number)[]>>];
|
|
9
|
+
//# sourceMappingURL=useSizes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSizes.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/useSizes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAkC3D,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,UAEjC;AAMD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,GAAE,YAAY,GAAG,UAAyB,EAChD,WAAW,GAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAO,qIAoJjD"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import u from "react";
|
|
2
|
-
const I = (
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
const p =
|
|
6
|
-
return document.body.removeChild(
|
|
2
|
+
const I = (n, l, d) => {
|
|
3
|
+
const s = n.cloneNode(!0);
|
|
4
|
+
s.style.position = "absolute", s.style.visibility = "hidden", s.style.pointerEvents = "none", s.style.zIndex = "-1", s.style.top = "0", s.style.left = "0", d === "horizontal" ? (s.style.width = l, s.style.height = "100%") : (s.style.width = "100%", s.style.height = l), document.body.appendChild(s);
|
|
5
|
+
const p = s.getBoundingClientRect(), a = d === "horizontal" ? p.width : p.height;
|
|
6
|
+
return document.body.removeChild(s), a > 0 ? Math.ceil(a) : 0;
|
|
7
7
|
};
|
|
8
|
-
function y(
|
|
9
|
-
return Number(
|
|
8
|
+
function y(n) {
|
|
9
|
+
return Number(n.slice(0, -1)) / 100;
|
|
10
10
|
}
|
|
11
|
-
function M(
|
|
12
|
-
return typeof
|
|
11
|
+
function M(n) {
|
|
12
|
+
return typeof n == "string" && n.endsWith("%");
|
|
13
13
|
}
|
|
14
|
-
function _(
|
|
15
|
-
const p =
|
|
14
|
+
function _(n, l, d = "horizontal", s = []) {
|
|
15
|
+
const p = n.map((e) => e.size), a = n.length, c = l || 0, w = (e) => e * c, [v, C] = u.useState(() => n.map((e) => e.defaultSize)), [z, P] = u.useState(/* @__PURE__ */ new Map()), b = (e) => e === "max-content" || e === "min-content" || e === "fit-content";
|
|
16
16
|
u.useEffect(() => {
|
|
17
17
|
const e = /* @__PURE__ */ new Map();
|
|
18
18
|
let i = !1;
|
|
19
|
-
|
|
19
|
+
n.forEach((r, t) => {
|
|
20
20
|
if (b(r.defaultSize)) {
|
|
21
|
-
const
|
|
22
|
-
if (
|
|
23
|
-
const f = I(
|
|
21
|
+
const o = s[t];
|
|
22
|
+
if (o?.current) {
|
|
23
|
+
const f = I(o.current, r.defaultSize, d);
|
|
24
24
|
if (f > 0) {
|
|
25
|
-
const g = z.get(
|
|
26
|
-
g === void 0 || g !== f ? (e.set(
|
|
25
|
+
const g = z.get(t);
|
|
26
|
+
g === void 0 || g !== f ? (e.set(t, f), i = !0) : e.set(t, g);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}), i && P((r) => new Map([...r, ...e]));
|
|
31
|
-
}, [
|
|
31
|
+
}, [n, s, d, l]);
|
|
32
32
|
const m = u.useMemo(() => {
|
|
33
33
|
const e = [];
|
|
34
34
|
for (let i = 0; i < a; i += 1) {
|
|
@@ -38,34 +38,34 @@ function _(s, l, d = "horizontal", o = []) {
|
|
|
38
38
|
return e;
|
|
39
39
|
}, [a, v, p, z]), h = u.useMemo(() => {
|
|
40
40
|
let e = [], i = 0;
|
|
41
|
-
for (let
|
|
42
|
-
const
|
|
43
|
-
if (M(
|
|
44
|
-
e[
|
|
45
|
-
else if (
|
|
46
|
-
const f = Number(
|
|
47
|
-
Number.isNaN(f) || (e[
|
|
41
|
+
for (let t = 0; t < a; t += 1) {
|
|
42
|
+
const o = m[t];
|
|
43
|
+
if (M(o))
|
|
44
|
+
e[t] = y(o);
|
|
45
|
+
else if (o || o === 0) {
|
|
46
|
+
const f = Number(o);
|
|
47
|
+
Number.isNaN(f) || (e[t] = f / c);
|
|
48
48
|
} else
|
|
49
|
-
i += 1, e[
|
|
49
|
+
i += 1, e[t] = void 0;
|
|
50
50
|
}
|
|
51
|
-
const r = e.reduce((
|
|
51
|
+
const r = e.reduce((t, o) => t + (o || 0), 0);
|
|
52
52
|
if (r > 1 || !i) {
|
|
53
|
-
const
|
|
54
|
-
e = e.map((
|
|
53
|
+
const t = 1 / r;
|
|
54
|
+
e = e.map((o) => o === void 0 ? 0 : o * t);
|
|
55
55
|
} else {
|
|
56
|
-
const
|
|
57
|
-
e = e.map((
|
|
56
|
+
const t = (1 - r) / i;
|
|
57
|
+
e = e.map((o) => o === void 0 ? t : o);
|
|
58
58
|
}
|
|
59
59
|
return e;
|
|
60
60
|
}, [m, c]), S = u.useMemo(
|
|
61
61
|
() => h.map(w),
|
|
62
62
|
[h, c]
|
|
63
63
|
), x = u.useMemo(
|
|
64
|
-
() =>
|
|
65
|
-
[
|
|
64
|
+
() => n.map((e) => M(e.min) ? y(e.min) : (e.min || 0) / c),
|
|
65
|
+
[n, c]
|
|
66
66
|
), N = u.useMemo(
|
|
67
|
-
() =>
|
|
68
|
-
[
|
|
67
|
+
() => n.map((e) => M(e.max) ? y(e.max) : (e.max || c) / c),
|
|
68
|
+
[n, c]
|
|
69
69
|
);
|
|
70
70
|
return [
|
|
71
71
|
u.useMemo(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSizes.js","sources":["../../../src/components/splitter/useSizes.ts"],"sourcesContent":["import React from \"react\";\n\nimport type { SplitterPanelProps } from \"./splitter-panel\";\n\n// Helper to measure intrinsic content size\nconst measureIntrinsicSize = (\n element: HTMLElement, \n intrinsicType: \"max-content\" | \"min-content\" | \"fit-content\",\n layout: \"horizontal\" | \"vertical\"\n): number => {\n const clonedElement = element.cloneNode(true) as HTMLElement;\n \n // Set up the cloned element for measurement\n clonedElement.style.position = \"absolute\";\n clonedElement.style.visibility = \"hidden\";\n clonedElement.style.pointerEvents = \"none\";\n clonedElement.style.zIndex = \"-1\";\n clonedElement.style.top = \"0\";\n clonedElement.style.left = \"0\";\n\n if (layout === \"horizontal\") {\n clonedElement.style.width = intrinsicType;\n clonedElement.style.height = \"100%\";\n } else {\n clonedElement.style.width = \"100%\";\n clonedElement.style.height = intrinsicType;\n }\n\n document.body.appendChild(clonedElement);\n const rect = clonedElement.getBoundingClientRect();\n const size = layout === \"horizontal\" ? rect.width : rect.height;\n document.body.removeChild(clonedElement);\n\n return size > 0 ? Math.ceil(size) : 0;\n};\n\nexport function getPtg(str: string) {\n return Number(str.slice(0, -1)) / 100;\n}\n\nfunction isPtg(itemSize: string | number | undefined): itemSize is string {\n return typeof itemSize === \"string\" && itemSize.endsWith(\"%\");\n}\n\n/**\n * Save the size state.\n * Align the size into flex percentage base.\n */\nexport default function useSizes(\n items: SplitterPanelProps[],\n containerSize?: number,\n layout: \"horizontal\" | \"vertical\" = \"horizontal\",\n elementRefs: React.RefObject<HTMLElement>[] = []\n) {\n const propSizes = items.map((item) => item.size);\n\n const itemsCount = items.length;\n\n const mergedContainerSize = containerSize || 0;\n const ptg2px = (ptg: number) => ptg * mergedContainerSize;\n\n // We do not need care the size state match the `items` length in `useState`.\n // It will calculate later.\n const [innerSizes, setInnerSizes] = React.useState<\n (string | number | undefined)[]\n >(() => items.map((item) => item.defaultSize));\n\n // Track measured intrinsic sizes\n const [intrinsicSizes, setIntrinsicSizes] = React.useState<Map<number, number>>(new Map());\n \n // Helper function to check if a size is intrinsic\n const isIntrinsicSize = (size: string | number | undefined): size is \"max-content\" | \"min-content\" | \"fit-content\" => {\n return size === \"max-content\" || size === \"min-content\" || size === \"fit-content\";\n };\n\n // Measure intrinsic sizes directly using element refs\n React.useEffect(() => {\n const newSizes = new Map<number, number>();\n let hasChanges = false;\n\n items.forEach((item, index) => {\n if (isIntrinsicSize(item.defaultSize)) {\n const ref = elementRefs[index];\n if (ref?.current) {\n const measuredSize = measureIntrinsicSize(ref.current, item.defaultSize, layout);\n if (measuredSize > 0) {\n const currentSize = intrinsicSizes.get(index);\n if (currentSize === undefined || currentSize !== measuredSize) {\n newSizes.set(index, measuredSize);\n hasChanges = true;\n } else {\n newSizes.set(index, currentSize);\n }\n }\n }\n }\n });\n\n if (hasChanges) {\n setIntrinsicSizes(prev => new Map([...prev, ...newSizes]));\n }\n }, [items, elementRefs, layout, containerSize]); // Re-measure when container size changes for responsiveness\n const sizes = React.useMemo(() => {\n const mergedSizes: SplitterPanelProps[\"size\"][] = [];\n\n for (let i = 0; i < itemsCount; i += 1) {\n let size = propSizes[i] ?? innerSizes[i];\n \n // Replace intrinsic sizes with measured pixel values\n if (isIntrinsicSize(size) && intrinsicSizes.has(i)) {\n size = intrinsicSizes.get(i);\n }\n \n mergedSizes[i] = size;\n }\n\n return mergedSizes;\n }, [itemsCount, innerSizes, propSizes, intrinsicSizes]);\n\n // Post handle the size. Will do:\n // 1. Convert all the px into percentage if not empty.\n // 2. Get rest percentage for exist percentage.\n // 3. Fill the rest percentage into empty item.\n const postPercentSizes = React.useMemo(() => {\n let ptgList: (number | undefined)[] = [];\n let emptyCount = 0;\n\n // Fill default percentage\n for (let i = 0; i < itemsCount; i += 1) {\n const itemSize = sizes[i];\n\n if (isPtg(itemSize)) {\n ptgList[i] = getPtg(itemSize);\n } else if (itemSize || itemSize === 0) {\n const num = Number(itemSize);\n if (!Number.isNaN(num)) {\n ptgList[i] = num / mergedContainerSize;\n }\n } else {\n emptyCount += 1;\n ptgList[i] = undefined;\n }\n }\n\n const totalPtg = ptgList.reduce<number>((acc, ptg) => acc + (ptg || 0), 0);\n\n if (totalPtg > 1 || !emptyCount) {\n // If total percentage is larger than 1, we will scale it down.\n const scale = 1 / totalPtg;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? 0 : ptg * scale));\n } else {\n // If total percentage is smaller than 1, we will fill the rest.\n const avgRest = (1 - totalPtg) / emptyCount;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? avgRest : ptg));\n }\n\n return ptgList as number[];\n }, [sizes, mergedContainerSize]);\n\n const postPxSizes = React.useMemo(\n () => postPercentSizes.map(ptg2px),\n [postPercentSizes, mergedContainerSize]\n );\n\n const postPercentMinSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.min)) {\n return getPtg(item.min);\n }\n return (item.min || 0) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n const postPercentMaxSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.max)) {\n return getPtg(item.max);\n }\n return (item.max || mergedContainerSize) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n // If ssr, we will use the size from developer config first.\n const panelSizes = React.useMemo(\n () => (containerSize ? postPxSizes : sizes),\n [postPxSizes, containerSize]\n );\n\n return [\n panelSizes,\n postPxSizes,\n postPercentSizes,\n postPercentMinSizes,\n postPercentMaxSizes,\n setInnerSizes,\n ] as const;\n}\n"],"names":["measureIntrinsicSize","element","intrinsicType","layout","clonedElement","rect","size","getPtg","str","isPtg","itemSize","useSizes","items","containerSize","elementRefs","propSizes","item","itemsCount","mergedContainerSize","ptg2px","ptg","innerSizes","setInnerSizes","React","intrinsicSizes","setIntrinsicSizes","isIntrinsicSize","newSizes","hasChanges","index","ref","measuredSize","currentSize","prev","sizes","mergedSizes","postPercentSizes","ptgList","emptyCount","i","num","totalPtg","acc","scale","avgRest","postPxSizes","postPercentMinSizes","postPercentMaxSizes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSizes.js","sources":["../../../src/components/splitter/useSizes.ts"],"sourcesContent":["import React from \"react\";\n\nimport type { SplitterPanelProps } from \"./splitter-panel\";\n\n// Helper to measure intrinsic content size\nconst measureIntrinsicSize = (\n element: HTMLElement, \n intrinsicType: \"max-content\" | \"min-content\" | \"fit-content\",\n layout: \"horizontal\" | \"vertical\"\n): number => {\n const clonedElement = element.cloneNode(true) as HTMLElement;\n \n // Set up the cloned element for measurement\n clonedElement.style.position = \"absolute\";\n clonedElement.style.visibility = \"hidden\";\n clonedElement.style.pointerEvents = \"none\";\n clonedElement.style.zIndex = \"-1\";\n clonedElement.style.top = \"0\";\n clonedElement.style.left = \"0\";\n\n if (layout === \"horizontal\") {\n clonedElement.style.width = intrinsicType;\n clonedElement.style.height = \"100%\";\n } else {\n clonedElement.style.width = \"100%\";\n clonedElement.style.height = intrinsicType;\n }\n\n document.body.appendChild(clonedElement);\n const rect = clonedElement.getBoundingClientRect();\n const size = layout === \"horizontal\" ? rect.width : rect.height;\n document.body.removeChild(clonedElement);\n\n return size > 0 ? Math.ceil(size) : 0;\n};\n\nexport function getPtg(str: string) {\n return Number(str.slice(0, -1)) / 100;\n}\n\nfunction isPtg(itemSize: string | number | undefined): itemSize is string {\n return typeof itemSize === \"string\" && itemSize.endsWith(\"%\");\n}\n\n/**\n * Save the size state.\n * Align the size into flex percentage base.\n */\nexport default function useSizes(\n items: SplitterPanelProps[],\n containerSize?: number,\n layout: \"horizontal\" | \"vertical\" = \"horizontal\",\n elementRefs: React.RefObject<HTMLElement>[] = []\n) {\n const propSizes = items.map((item) => item.size);\n\n const itemsCount = items.length;\n\n const mergedContainerSize = containerSize || 0;\n const ptg2px = (ptg: number) => ptg * mergedContainerSize;\n\n // We do not need care the size state match the `items` length in `useState`.\n // It will calculate later.\n const [innerSizes, setInnerSizes] = React.useState<\n (string | number | undefined)[]\n >(() => items.map((item) => item.defaultSize));\n\n // Track measured intrinsic sizes\n const [intrinsicSizes, setIntrinsicSizes] = React.useState<Map<number, number>>(new Map());\n \n // Helper function to check if a size is intrinsic\n const isIntrinsicSize = (size: string | number | undefined): size is \"max-content\" | \"min-content\" | \"fit-content\" => {\n return size === \"max-content\" || size === \"min-content\" || size === \"fit-content\";\n };\n\n // Measure intrinsic sizes directly using element refs\n React.useEffect(() => {\n const newSizes = new Map<number, number>();\n let hasChanges = false;\n\n items.forEach((item, index) => {\n if (isIntrinsicSize(item.defaultSize)) {\n const ref = elementRefs[index];\n if (ref?.current) {\n const measuredSize = measureIntrinsicSize(ref.current, item.defaultSize, layout);\n if (measuredSize > 0) {\n const currentSize = intrinsicSizes.get(index);\n if (currentSize === undefined || currentSize !== measuredSize) {\n newSizes.set(index, measuredSize);\n hasChanges = true;\n } else {\n newSizes.set(index, currentSize);\n }\n }\n }\n }\n });\n\n if (hasChanges) {\n setIntrinsicSizes(prev => new Map([...prev, ...newSizes]));\n }\n }, [items, elementRefs, layout, containerSize]); // Re-measure when container size changes for responsiveness\n const sizes = React.useMemo(() => {\n const mergedSizes: SplitterPanelProps[\"size\"][] = [];\n\n for (let i = 0; i < itemsCount; i += 1) {\n let size = propSizes[i] ?? innerSizes[i];\n \n // Replace intrinsic sizes with measured pixel values\n if (isIntrinsicSize(size) && intrinsicSizes.has(i)) {\n size = intrinsicSizes.get(i);\n }\n \n mergedSizes[i] = size;\n }\n\n return mergedSizes;\n }, [itemsCount, innerSizes, propSizes, intrinsicSizes]);\n\n // Post handle the size. Will do:\n // 1. Convert all the px into percentage if not empty.\n // 2. Get rest percentage for exist percentage.\n // 3. Fill the rest percentage into empty item.\n const postPercentSizes = React.useMemo(() => {\n let ptgList: (number | undefined)[] = [];\n let emptyCount = 0;\n\n // Fill default percentage\n for (let i = 0; i < itemsCount; i += 1) {\n const itemSize = sizes[i];\n\n if (isPtg(itemSize)) {\n ptgList[i] = getPtg(itemSize);\n } else if (itemSize || itemSize === 0) {\n const num = Number(itemSize);\n if (!Number.isNaN(num)) {\n ptgList[i] = num / mergedContainerSize;\n }\n } else {\n emptyCount += 1;\n ptgList[i] = undefined;\n }\n }\n\n const totalPtg = ptgList.reduce<number>((acc, ptg) => acc + (ptg || 0), 0);\n\n if (totalPtg > 1 || !emptyCount) {\n // If total percentage is larger than 1, we will scale it down.\n const scale = 1 / totalPtg;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? 0 : ptg * scale));\n } else {\n // If total percentage is smaller than 1, we will fill the rest.\n const avgRest = (1 - totalPtg) / emptyCount;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? avgRest : ptg));\n }\n\n return ptgList as number[];\n }, [sizes, mergedContainerSize]);\n\n const postPxSizes = React.useMemo(\n () => postPercentSizes.map(ptg2px),\n [postPercentSizes, mergedContainerSize]\n );\n\n const postPercentMinSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.min)) {\n return getPtg(item.min);\n }\n return (item.min || 0) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n const postPercentMaxSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.max)) {\n return getPtg(item.max);\n }\n return (item.max || mergedContainerSize) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n // If ssr, we will use the size from developer config first.\n const panelSizes = React.useMemo(\n () => (containerSize ? postPxSizes : sizes),\n [postPxSizes, containerSize]\n );\n\n return [\n panelSizes,\n postPxSizes,\n postPercentSizes,\n postPercentMinSizes,\n postPercentMaxSizes,\n setInnerSizes,\n ] as const;\n}\n"],"names":["measureIntrinsicSize","element","intrinsicType","layout","clonedElement","rect","size","getPtg","str","isPtg","itemSize","useSizes","items","containerSize","elementRefs","propSizes","item","itemsCount","mergedContainerSize","ptg2px","ptg","innerSizes","setInnerSizes","React","intrinsicSizes","setIntrinsicSizes","isIntrinsicSize","newSizes","hasChanges","index","ref","measuredSize","currentSize","prev","sizes","mergedSizes","postPercentSizes","ptgList","emptyCount","i","num","totalPtg","acc","scale","avgRest","postPxSizes","postPercentMinSizes","postPercentMaxSizes"],"mappings":"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"}
|