@refraktor/core 0.0.1 → 0.0.3
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/.turbo/turbo-build.log +1 -1
- package/build/components/breadcrumbs/breadcrumbs.d.ts +4 -0
- package/build/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/build/components/breadcrumbs/breadcrumbs.js +64 -0
- package/build/components/breadcrumbs/breadcrumbs.styles.d.ts +12 -0
- package/build/components/breadcrumbs/breadcrumbs.styles.d.ts.map +1 -0
- package/build/components/breadcrumbs/breadcrumbs.styles.js +43 -0
- package/build/components/breadcrumbs/breadcrumbs.test.d.ts +2 -0
- package/build/components/breadcrumbs/breadcrumbs.test.d.ts.map +1 -0
- package/build/components/breadcrumbs/breadcrumbs.test.js +72 -0
- package/build/components/breadcrumbs/breadcrumbs.types.d.ts +56 -0
- package/build/components/breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/build/components/breadcrumbs/breadcrumbs.types.js +1 -0
- package/build/components/breadcrumbs/breadcrumbs.utils.d.ts +10 -0
- package/build/components/breadcrumbs/breadcrumbs.utils.d.ts.map +1 -0
- package/build/components/breadcrumbs/breadcrumbs.utils.js +36 -0
- package/build/components/breadcrumbs/index.d.ts +3 -0
- package/build/components/breadcrumbs/index.d.ts.map +1 -0
- package/build/components/breadcrumbs/index.js +1 -0
- package/build/components/drawer/drawer-close/drawer-close.d.ts +4 -0
- package/build/components/drawer/drawer-close/drawer-close.d.ts.map +1 -0
- package/build/components/drawer/drawer-close/drawer-close.js +19 -0
- package/build/components/drawer/drawer-close/index.d.ts +2 -0
- package/build/components/drawer/drawer-close/index.d.ts.map +1 -0
- package/build/components/drawer/drawer-close/index.js +1 -0
- package/build/components/drawer/drawer-content/drawer-content.d.ts +4 -0
- package/build/components/drawer/drawer-content/drawer-content.d.ts.map +1 -0
- package/build/components/drawer/drawer-content/drawer-content.js +41 -0
- package/build/components/drawer/drawer-content/index.d.ts +2 -0
- package/build/components/drawer/drawer-content/index.d.ts.map +1 -0
- package/build/components/drawer/drawer-content/index.js +1 -0
- package/build/components/drawer/drawer-header/drawer-header.d.ts +4 -0
- package/build/components/drawer/drawer-header/drawer-header.d.ts.map +1 -0
- package/build/components/drawer/drawer-header/drawer-header.js +13 -0
- package/build/components/drawer/drawer-header/index.d.ts +2 -0
- package/build/components/drawer/drawer-header/index.d.ts.map +1 -0
- package/build/components/drawer/drawer-header/index.js +1 -0
- package/build/components/drawer/drawer-overlay/drawer-overlay.d.ts +4 -0
- package/build/components/drawer/drawer-overlay/drawer-overlay.d.ts.map +1 -0
- package/build/components/drawer/drawer-overlay/drawer-overlay.js +31 -0
- package/build/components/drawer/drawer-overlay/index.d.ts +2 -0
- package/build/components/drawer/drawer-overlay/index.d.ts.map +1 -0
- package/build/components/drawer/drawer-overlay/index.js +1 -0
- package/build/components/drawer/drawer-root/drawer-root.d.ts +4 -0
- package/build/components/drawer/drawer-root/drawer-root.d.ts.map +1 -0
- package/build/components/drawer/drawer-root/drawer-root.js +50 -0
- package/build/components/drawer/drawer-root/index.d.ts +2 -0
- package/build/components/drawer/drawer-root/index.d.ts.map +1 -0
- package/build/components/drawer/drawer-root/index.js +1 -0
- package/build/components/drawer/drawer.context.d.ts +23 -0
- package/build/components/drawer/drawer.context.d.ts.map +1 -0
- package/build/components/drawer/drawer.context.js +2 -0
- package/build/components/drawer/drawer.d.ts +4 -0
- package/build/components/drawer/drawer.d.ts.map +1 -0
- package/build/components/drawer/drawer.js +19 -0
- package/build/components/drawer/drawer.styles.d.ts +6 -0
- package/build/components/drawer/drawer.styles.d.ts.map +1 -0
- package/build/components/drawer/drawer.styles.js +21 -0
- package/build/components/drawer/drawer.test.d.ts +2 -0
- package/build/components/drawer/drawer.test.d.ts.map +1 -0
- package/build/components/drawer/drawer.test.js +70 -0
- package/build/components/drawer/drawer.types.d.ts +116 -0
- package/build/components/drawer/drawer.types.d.ts.map +1 -0
- package/build/components/drawer/drawer.types.js +1 -0
- package/build/components/drawer/index.d.ts +8 -0
- package/build/components/drawer/index.d.ts.map +1 -0
- package/build/components/drawer/index.js +6 -0
- package/build/components/drawer/use-drawer.d.ts +17 -0
- package/build/components/drawer/use-drawer.d.ts.map +1 -0
- package/build/components/drawer/use-drawer.js +61 -0
- package/build/components/index.d.ts +4 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +4 -0
- package/build/components/menu/menu-dropdown/menu-dropdown.d.ts.map +1 -1
- package/build/components/menu/menu-dropdown/menu-dropdown.js +3 -2
- package/build/components/menu/menu-sub-dropdown/menu-sub-dropdown.d.ts.map +1 -1
- package/build/components/menu/menu-sub-dropdown/menu-sub-dropdown.js +2 -1
- package/build/components/menu/use-menu.d.ts.map +1 -1
- package/build/components/menu/use-menu.js +2 -1
- package/build/components/modal/modal-close/modal-close.d.ts.map +1 -1
- package/build/components/modal/modal-close/modal-close.js +1 -1
- package/build/components/modal/modal-content/modal-content.d.ts.map +1 -1
- package/build/components/modal/modal-content/modal-content.js +1 -1
- package/build/components/modal/modal-header/modal-header.d.ts.map +1 -1
- package/build/components/modal/modal-header/modal-header.js +1 -1
- package/build/components/modal/modal-overlay/modal-overlay.d.ts.map +1 -1
- package/build/components/modal/modal-overlay/modal-overlay.js +10 -2
- package/build/components/modal/modal.test.js +16 -0
- package/build/components/modal/modal.types.d.ts +4 -0
- package/build/components/modal/modal.types.d.ts.map +1 -1
- package/build/components/number-input/number-input.d.ts.map +1 -1
- package/build/components/number-input/number-input.js +22 -15
- package/build/components/number-input/number-input.test.d.ts +2 -0
- package/build/components/number-input/number-input.test.d.ts.map +1 -0
- package/build/components/number-input/number-input.test.js +14 -0
- package/build/components/number-input/number-input.types.d.ts +2 -2
- package/build/components/number-input/number-input.types.d.ts.map +1 -1
- package/build/components/popover/popover-dropdown/popover-dropdown.d.ts.map +1 -1
- package/build/components/popover/popover-dropdown/popover-dropdown.js +2 -1
- package/build/components/popover/use-popover.d.ts.map +1 -1
- package/build/components/popover/use-popover.js +2 -1
- package/build/components/portal/portal.js +1 -1
- package/build/components/segmented-control/index.d.ts +3 -0
- package/build/components/segmented-control/index.d.ts.map +1 -0
- package/build/components/segmented-control/index.js +1 -0
- package/build/components/segmented-control/segmented-control.d.ts +4 -0
- package/build/components/segmented-control/segmented-control.d.ts.map +1 -0
- package/build/components/segmented-control/segmented-control.js +113 -0
- package/build/components/segmented-control/segmented-control.styles.d.ts +9 -0
- package/build/components/segmented-control/segmented-control.styles.d.ts.map +1 -0
- package/build/components/segmented-control/segmented-control.styles.js +28 -0
- package/build/components/segmented-control/segmented-control.test.d.ts +2 -0
- package/build/components/segmented-control/segmented-control.test.d.ts.map +1 -0
- package/build/components/segmented-control/segmented-control.test.js +81 -0
- package/build/components/segmented-control/segmented-control.types.d.ts +49 -0
- package/build/components/segmented-control/segmented-control.types.d.ts.map +1 -0
- package/build/components/segmented-control/segmented-control.types.js +1 -0
- package/build/components/select/select-dropdown/select-dropdown.d.ts.map +1 -1
- package/build/components/select/select-dropdown/select-dropdown.js +3 -2
- package/build/components/select/select-item/select-item.d.ts.map +1 -1
- package/build/components/select/select-item/select-item.js +1 -1
- package/build/components/select/select-root/select-root.d.ts.map +1 -1
- package/build/components/select/select-root/select-root.js +36 -6
- package/build/components/select/select-trigger/select-trigger.d.ts.map +1 -1
- package/build/components/select/select-trigger/select-trigger.js +1 -1
- package/build/components/select/select.context.d.ts +2 -0
- package/build/components/select/select.context.d.ts.map +1 -1
- package/build/components/select/select.test.js +17 -0
- package/build/components/select/select.types.d.ts +10 -0
- package/build/components/select/select.types.d.ts.map +1 -1
- package/build/components/select/use-select.d.ts.map +1 -1
- package/build/components/select/use-select.js +2 -1
- package/build/components/split-pane/index.d.ts +3 -0
- package/build/components/split-pane/index.d.ts.map +1 -0
- package/build/components/split-pane/index.js +1 -0
- package/build/components/split-pane/split-pane.d.ts +4 -0
- package/build/components/split-pane/split-pane.d.ts.map +1 -0
- package/build/components/split-pane/split-pane.js +201 -0
- package/build/components/split-pane/split-pane.styles.d.ts +3 -0
- package/build/components/split-pane/split-pane.styles.d.ts.map +1 -0
- package/build/components/split-pane/split-pane.styles.js +8 -0
- package/build/components/split-pane/split-pane.test.d.ts +2 -0
- package/build/components/split-pane/split-pane.test.d.ts.map +1 -0
- package/build/components/split-pane/split-pane.test.js +105 -0
- package/build/components/split-pane/split-pane.types.d.ts +51 -0
- package/build/components/split-pane/split-pane.types.d.ts.map +1 -0
- package/build/components/split-pane/split-pane.types.js +1 -0
- package/build/components/switch/switch.js +1 -1
- package/build/components/table/index.d.ts +9 -0
- package/build/components/table/index.d.ts.map +1 -0
- package/build/components/table/index.js +7 -0
- package/build/components/table/table-body/index.d.ts +2 -0
- package/build/components/table/table-body/index.d.ts.map +1 -0
- package/build/components/table/table-body/index.js +1 -0
- package/build/components/table/table-body/table-body.d.ts +4 -0
- package/build/components/table/table-body/table-body.d.ts.map +1 -0
- package/build/components/table/table-body/table-body.js +17 -0
- package/build/components/table/table-caption/index.d.ts +2 -0
- package/build/components/table/table-caption/index.d.ts.map +1 -0
- package/build/components/table/table-caption/index.js +1 -0
- package/build/components/table/table-caption/table-caption.d.ts +4 -0
- package/build/components/table/table-caption/table-caption.d.ts.map +1 -0
- package/build/components/table/table-caption/table-caption.js +13 -0
- package/build/components/table/table-cell/index.d.ts +2 -0
- package/build/components/table/table-cell/index.d.ts.map +1 -0
- package/build/components/table/table-cell/index.js +1 -0
- package/build/components/table/table-cell/table-cell.d.ts +4 -0
- package/build/components/table/table-cell/table-cell.d.ts.map +1 -0
- package/build/components/table/table-cell/table-cell.js +13 -0
- package/build/components/table/table-head/index.d.ts +2 -0
- package/build/components/table/table-head/index.d.ts.map +1 -0
- package/build/components/table/table-head/index.js +1 -0
- package/build/components/table/table-head/table-head.d.ts +4 -0
- package/build/components/table/table-head/table-head.d.ts.map +1 -0
- package/build/components/table/table-head/table-head.js +11 -0
- package/build/components/table/table-header-cell/index.d.ts +2 -0
- package/build/components/table/table-header-cell/index.d.ts.map +1 -0
- package/build/components/table/table-header-cell/index.js +1 -0
- package/build/components/table/table-header-cell/table-header-cell.d.ts +4 -0
- package/build/components/table/table-header-cell/table-header-cell.d.ts.map +1 -0
- package/build/components/table/table-header-cell/table-header-cell.js +13 -0
- package/build/components/table/table-row/index.d.ts +2 -0
- package/build/components/table/table-row/index.d.ts.map +1 -0
- package/build/components/table/table-row/index.js +1 -0
- package/build/components/table/table-row/table-row.d.ts +4 -0
- package/build/components/table/table-row/table-row.d.ts.map +1 -0
- package/build/components/table/table-row/table-row.js +11 -0
- package/build/components/table/table.context.d.ts +16 -0
- package/build/components/table/table.context.d.ts.map +1 -0
- package/build/components/table/table.context.js +2 -0
- package/build/components/table/table.d.ts +4 -0
- package/build/components/table/table.d.ts.map +1 -0
- package/build/components/table/table.js +46 -0
- package/build/components/table/table.styles.d.ts +16 -0
- package/build/components/table/table.styles.d.ts.map +1 -0
- package/build/components/table/table.styles.js +39 -0
- package/build/components/table/table.test.d.ts +2 -0
- package/build/components/table/table.test.d.ts.map +1 -0
- package/build/components/table/table.test.js +59 -0
- package/build/components/table/table.types.d.ts +113 -0
- package/build/components/table/table.types.d.ts.map +1 -0
- package/build/components/table/table.types.js +1 -0
- package/build/components/tabs/tabs-tab/tabs-tab.d.ts.map +1 -1
- package/build/components/tabs/tabs-tab/tabs-tab.js +0 -6
- package/build/components/tooltip/tooltip.d.ts.map +1 -1
- package/build/components/tooltip/tooltip.js +7 -3
- package/build/components/tooltip/use-tooltip.d.ts.map +1 -1
- package/build/components/tooltip/use-tooltip.js +2 -1
- package/build/components/transition/transition.d.ts.map +1 -1
- package/build/components/transition/transition.js +16 -12
- package/build/style.css +1 -1
- package/package.json +2 -2
- package/src/components/breadcrumbs/breadcrumbs.styles.ts +55 -0
- package/src/components/breadcrumbs/breadcrumbs.test.tsx +136 -0
- package/src/components/breadcrumbs/breadcrumbs.tsx +199 -0
- package/src/components/breadcrumbs/breadcrumbs.types.ts +78 -0
- package/src/components/breadcrumbs/breadcrumbs.utils.ts +70 -0
- package/src/components/breadcrumbs/index.ts +6 -0
- package/src/components/drawer/drawer-close/drawer-close.tsx +43 -0
- package/src/components/drawer/drawer-close/index.ts +1 -0
- package/src/components/drawer/drawer-content/drawer-content.tsx +98 -0
- package/src/components/drawer/drawer-content/index.ts +1 -0
- package/src/components/drawer/drawer-header/drawer-header.tsx +40 -0
- package/src/components/drawer/drawer-header/index.ts +1 -0
- package/src/components/drawer/drawer-overlay/drawer-overlay.tsx +86 -0
- package/src/components/drawer/drawer-overlay/index.ts +1 -0
- package/src/components/drawer/drawer-root/drawer-root.tsx +94 -0
- package/src/components/drawer/drawer-root/index.ts +1 -0
- package/src/components/drawer/drawer.context.ts +25 -0
- package/src/components/drawer/drawer.styles.ts +32 -0
- package/src/components/drawer/drawer.test.tsx +166 -0
- package/src/components/drawer/drawer.tsx +30 -0
- package/src/components/drawer/drawer.types.ts +158 -0
- package/src/components/drawer/index.ts +16 -0
- package/src/components/drawer/use-drawer.ts +101 -0
- package/src/components/index.ts +10 -6
- package/src/components/menu/menu-dropdown/menu-dropdown.tsx +4 -3
- package/src/components/menu/menu-sub-dropdown/menu-sub-dropdown.tsx +2 -0
- package/src/components/menu/use-menu.ts +2 -1
- package/src/components/modal/modal-close/modal-close.tsx +1 -5
- package/src/components/modal/modal-content/modal-content.tsx +3 -4
- package/src/components/modal/modal-header/modal-header.tsx +4 -2
- package/src/components/modal/modal-overlay/modal-overlay.tsx +66 -44
- package/src/components/modal/modal.test.tsx +124 -88
- package/src/components/modal/modal.types.ts +6 -0
- package/src/components/modal/use-modal.ts +101 -101
- package/src/components/number-input/number-input.test.tsx +22 -0
- package/src/components/number-input/number-input.tsx +79 -51
- package/src/components/number-input/number-input.types.ts +8 -8
- package/src/components/popover/popover-dropdown/popover-dropdown.tsx +2 -0
- package/src/components/popover/use-popover.ts +2 -1
- package/src/components/portal/portal.tsx +1 -1
- package/src/components/segmented-control/index.ts +6 -0
- package/src/components/segmented-control/segmented-control.styles.ts +37 -0
- package/src/components/segmented-control/segmented-control.test.tsx +152 -0
- package/src/components/segmented-control/segmented-control.tsx +245 -0
- package/src/components/segmented-control/segmented-control.types.ts +75 -0
- package/src/components/select/select-dropdown/select-dropdown.tsx +4 -3
- package/src/components/select/select-item/select-item.tsx +1 -2
- package/src/components/select/select-root/select-root.tsx +87 -11
- package/src/components/select/select-trigger/select-trigger.tsx +2 -0
- package/src/components/select/select.context.ts +2 -0
- package/src/components/select/select.test.tsx +35 -0
- package/src/components/select/select.types.ts +15 -0
- package/src/components/select/use-select.ts +2 -1
- package/src/components/switch/switch.tsx +1 -1
- package/src/components/table/index.ts +24 -0
- package/src/components/table/table-body/index.ts +1 -0
- package/src/components/table/table-body/table-body.tsx +37 -0
- package/src/components/table/table-caption/index.ts +1 -0
- package/src/components/table/table-caption/table-caption.tsx +32 -0
- package/src/components/table/table-cell/index.ts +1 -0
- package/src/components/table/table-cell/table-cell.tsx +33 -0
- package/src/components/table/table-head/index.ts +1 -0
- package/src/components/table/table-head/table-head.tsx +29 -0
- package/src/components/table/table-header-cell/index.ts +1 -0
- package/src/components/table/table-header-cell/table-header-cell.tsx +33 -0
- package/src/components/table/table-row/index.ts +1 -0
- package/src/components/table/table-row/table-row.tsx +30 -0
- package/src/components/table/table.context.ts +18 -0
- package/src/components/table/table.styles.ts +62 -0
- package/src/components/table/table.test.tsx +145 -0
- package/src/components/table/table.tsx +91 -0
- package/src/components/table/table.types.ts +145 -0
- package/src/components/tabs/tabs-tab/tabs-tab.tsx +0 -8
- package/src/components/tooltip/tooltip.tsx +7 -1
- package/src/components/tooltip/use-tooltip.ts +2 -1
- package/src/components/transition/transition.tsx +18 -14
- package/src/style.css +0 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useId, useUncontrolled } from "@refraktor/utils";
|
|
3
|
-
import { useCallback, useEffect, useRef } from "react";
|
|
3
|
+
import { Children, isValidElement, useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
4
|
import { useTheme } from "../../../theme";
|
|
5
5
|
import { factory, useClassNames, useProps } from "../../../utils";
|
|
6
|
-
import { focusSelectItem, getNavigableSelectItems, SelectProvider, useSelectItemsRegistry } from "../select.context";
|
|
6
|
+
import { focusSelectItem, getNodeTextValue, getNavigableSelectItems, SelectProvider, useSelectItemsRegistry } from "../select.context";
|
|
7
7
|
import { useSelect } from "../use-select";
|
|
8
|
+
import { InputWrapper } from "../../input/input-wrapper";
|
|
8
9
|
const defaultProps = {
|
|
9
10
|
positioning: {
|
|
10
11
|
placement: "bottom-start",
|
|
@@ -22,13 +23,37 @@ const defaultProps = {
|
|
|
22
23
|
closeOnClickOutside: true,
|
|
23
24
|
closeOnEscape: true
|
|
24
25
|
};
|
|
26
|
+
function collectSelectItemLabels(node, labels) {
|
|
27
|
+
Children.forEach(node, (child) => {
|
|
28
|
+
if (!isValidElement(child)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const typeDisplayName = child.type
|
|
32
|
+
.displayName;
|
|
33
|
+
const props = child.props;
|
|
34
|
+
if (typeDisplayName === "@refraktor/core/Select.Item" &&
|
|
35
|
+
typeof props.value === "string") {
|
|
36
|
+
labels.set(props.value, getNodeTextValue(props.children, props.textValue) || props.value);
|
|
37
|
+
}
|
|
38
|
+
if (props.children !== undefined && props.children !== null) {
|
|
39
|
+
collectSelectItemLabels(props.children, labels);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function getSelectItemLabels(node) {
|
|
44
|
+
const labels = new Map();
|
|
45
|
+
collectSelectItemLabels(node, labels);
|
|
46
|
+
return labels;
|
|
47
|
+
}
|
|
25
48
|
const SelectRoot = factory((_props, ref) => {
|
|
26
49
|
const { cx } = useTheme();
|
|
27
|
-
const { id, children, value, defaultValue, onChange, opened, defaultOpened, onOpenedChange, positioning, middlewares, disabled, searchable, searchValue, defaultSearchValue, onSearchChange, placeholder, searchPlaceholder, nothingFound, size, radius, variant, withinPortal, closeOnClickOutside, closeOnEscape, transitionProps, className, classNames, ...props } = useProps("Select", defaultProps, _props);
|
|
50
|
+
const { id, children, label, description, error, required, withAsterisk, value, defaultValue, onChange, opened, defaultOpened, onOpenedChange, positioning, middlewares, disabled, searchable, searchValue, defaultSearchValue, onSearchChange, placeholder, searchPlaceholder, nothingFound, size, radius, variant, withinPortal, closeOnClickOutside, closeOnEscape, transitionProps, className, classNames, ...props } = useProps("Select", defaultProps, _props);
|
|
28
51
|
const classes = useClassNames("Select", classNames);
|
|
29
52
|
const _id = useId(id);
|
|
30
53
|
const listId = `${_id}-listbox`;
|
|
31
54
|
const triggerId = `${_id}-trigger`;
|
|
55
|
+
const hasWrapper = label || description || error;
|
|
56
|
+
const inferredLabels = useMemo(() => getSelectItemLabels(children), [children]);
|
|
32
57
|
const [selectedValue, setSelectedValue] = useUncontrolled({
|
|
33
58
|
value,
|
|
34
59
|
defaultValue,
|
|
@@ -78,8 +103,10 @@ const SelectRoot = factory((_props, ref) => {
|
|
|
78
103
|
if (!selectedValue) {
|
|
79
104
|
return "";
|
|
80
105
|
}
|
|
81
|
-
return labelsRef.current.get(selectedValue) ??
|
|
82
|
-
|
|
106
|
+
return (labelsRef.current.get(selectedValue) ??
|
|
107
|
+
inferredLabels.get(selectedValue) ??
|
|
108
|
+
selectedValue);
|
|
109
|
+
}, [selectedValue, inferredLabels]);
|
|
83
110
|
const focusFirstItem = useCallback(() => {
|
|
84
111
|
const items = getNavigableSelectItems(getVisibleItems());
|
|
85
112
|
focusSelectItem(items[0]);
|
|
@@ -122,6 +149,8 @@ const SelectRoot = factory((_props, ref) => {
|
|
|
122
149
|
searchPlaceholder,
|
|
123
150
|
nothingFound,
|
|
124
151
|
disabled: !!disabled,
|
|
152
|
+
error: !!error,
|
|
153
|
+
required: !!required,
|
|
125
154
|
size,
|
|
126
155
|
radius,
|
|
127
156
|
variant,
|
|
@@ -143,7 +172,8 @@ const SelectRoot = factory((_props, ref) => {
|
|
|
143
172
|
focusSelectedOrFirstItem,
|
|
144
173
|
getStyles
|
|
145
174
|
};
|
|
146
|
-
|
|
175
|
+
const content = (_jsx("div", { ref: ref, id: _id, className: cx("relative w-full", classes.root, className), ...props, children: children }));
|
|
176
|
+
return (_jsx(SelectProvider, { value: context, children: hasWrapper ? (_jsx(InputWrapper, { label: label, description: description, error: error, required: required, withAsterisk: withAsterisk, inputId: triggerId, children: content })) : (content) }));
|
|
147
177
|
});
|
|
148
178
|
SelectRoot.displayName = "@refraktor/core/Select.Root";
|
|
149
179
|
export default SelectRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-trigger.d.ts","sourceRoot":"","sources":["../../../../src/components/select/select-trigger/select-trigger.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"select-trigger.d.ts","sourceRoot":"","sources":["../../../../src/components/select/select-trigger/select-trigger.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,QAAA,MAAM,aAAa,oEA+GlB,CAAC;AAIF,eAAe,aAAa,CAAC"}
|
|
@@ -56,7 +56,7 @@ const SelectTrigger = factory(({ className, placeholder, rightSection, onKeyDown
|
|
|
56
56
|
}
|
|
57
57
|
}), ...props, children: _jsx(InputField, { id: select.triggerId, ref: (node) => {
|
|
58
58
|
select.triggerInputRef.current = node;
|
|
59
|
-
}, readOnly: true, disabled: select.disabled, value: hasValue ? selectedLabel : "", placeholder: hasValue ? undefined : placeholder ?? select.placeholder, size: select.size, radius: select.radius, variant: select.variant, role: "combobox", "aria-expanded": select.select.opened, "aria-controls": select.listId, "aria-haspopup": "listbox", "aria-autocomplete": select.searchable ? "list" : "none", "aria-disabled": select.disabled, className: cx("cursor-pointer", select.getStyles("triggerInput")), rightSection: rightSection ?? (_jsx(ChevronIcon, { direction: "down", size: 14, className: cx("transition-transform", select.select.opened && "rotate-180", select.getStyles("triggerIcon")) })) }) }));
|
|
59
|
+
}, readOnly: true, required: select.required, error: select.error, disabled: select.disabled, value: hasValue ? selectedLabel : "", placeholder: hasValue ? undefined : placeholder ?? select.placeholder, size: select.size, radius: select.radius, variant: select.variant, role: "combobox", "aria-expanded": select.select.opened, "aria-controls": select.listId, "aria-haspopup": "listbox", "aria-autocomplete": select.searchable ? "list" : "none", "aria-disabled": select.disabled, className: cx("cursor-pointer", select.getStyles("triggerInput")), rightSection: rightSection ?? (_jsx(ChevronIcon, { direction: "down", size: 14, className: cx("transition-transform", select.select.opened && "rotate-180", select.getStyles("triggerIcon")) })) }) }));
|
|
60
60
|
});
|
|
61
61
|
SelectTrigger.displayName = "@refraktor/core/Select.Trigger";
|
|
62
62
|
export default SelectTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.context.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.context.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.context.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,13 @@ describe("@refraktor/core/Select", () => {
|
|
|
23
23
|
expect(screen.queryByRole("listbox")).not.toBeInTheDocument();
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
|
+
it("renders defaultValue label in trigger before opening", async () => {
|
|
27
|
+
await render(_jsx(Select, { defaultValue: "apple", data: [
|
|
28
|
+
{ value: "apple", label: "Apple" },
|
|
29
|
+
{ value: "orange", label: "Orange" }
|
|
30
|
+
] }));
|
|
31
|
+
expect(screen.getByRole("combobox")).toHaveValue("Apple");
|
|
32
|
+
});
|
|
26
33
|
it("renders searchable input inside dropdown", async () => {
|
|
27
34
|
const user = userEvent.setup();
|
|
28
35
|
await render(_jsx(Select, { searchable: true, transitionProps: transitionProps, data: [
|
|
@@ -82,4 +89,14 @@ describe("@refraktor/core/Select", () => {
|
|
|
82
89
|
expect(onChange).toHaveBeenCalledWith("vue");
|
|
83
90
|
expect(screen.getByRole("combobox")).toHaveValue("Vue");
|
|
84
91
|
});
|
|
92
|
+
it("supports input wrapper props", async () => {
|
|
93
|
+
await render(_jsx(Select, { label: "Framework", description: "Pick one option", error: "Selection is required", transitionProps: transitionProps, data: [
|
|
94
|
+
{ value: "react", label: "React" },
|
|
95
|
+
{ value: "vue", label: "Vue" }
|
|
96
|
+
] }));
|
|
97
|
+
const trigger = screen.getByLabelText("Framework");
|
|
98
|
+
expect(trigger).toHaveAttribute("aria-invalid", "true");
|
|
99
|
+
expect(screen.getByText("Pick one option")).toBeInTheDocument();
|
|
100
|
+
expect(screen.getByText("Selection is required")).toBeInTheDocument();
|
|
101
|
+
});
|
|
85
102
|
});
|
|
@@ -56,6 +56,16 @@ export type SelectData = SelectItemData | SelectGroupData;
|
|
|
56
56
|
export interface SelectRootProps extends Omit<ComponentPropsWithoutRef<"div">, "value" | "defaultValue" | "onChange"> {
|
|
57
57
|
/** Children containing select subcomponents */
|
|
58
58
|
children: ReactNode;
|
|
59
|
+
/** Label text */
|
|
60
|
+
label?: ReactNode;
|
|
61
|
+
/** Description text */
|
|
62
|
+
description?: ReactNode;
|
|
63
|
+
/** Error message */
|
|
64
|
+
error?: ReactNode;
|
|
65
|
+
/** Whether the field is required */
|
|
66
|
+
required?: boolean;
|
|
67
|
+
/** Display an asterisk next to the label */
|
|
68
|
+
withAsterisk?: boolean;
|
|
59
69
|
/** Selected value (controlled) */
|
|
60
70
|
value?: string | null;
|
|
61
71
|
/** Initial selected value (uncontrolled) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.types.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.types.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../src/components/select/use-select.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,eAAe,EAIf,SAAS,EAMZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,UAAU,cAAc;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE;QACF,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;QAChD,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QACtD,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;KACxD,CAAC;IACF,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,iBAAiB,EAAE,CACf,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,gBAAgB,EAAE,CACd,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,cAAmB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../src/components/select/use-select.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,eAAe,EAIf,SAAS,EAMZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,UAAU,cAAc;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE;QACF,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;QAChD,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QACtD,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;KACxD,CAAC;IACF,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,iBAAiB,EAAE,CACf,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,gBAAgB,EAAE,CACd,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,cAAmB,GAAG,eAAe,CAsHvE"}
|
|
@@ -37,7 +37,8 @@ export function useSelect(options = {}) {
|
|
|
37
37
|
open: isOpen,
|
|
38
38
|
onOpenChange: setIsOpen,
|
|
39
39
|
middleware,
|
|
40
|
-
whileElementsMounted: autoUpdate
|
|
40
|
+
whileElementsMounted: autoUpdate,
|
|
41
|
+
strategy: "fixed"
|
|
41
42
|
});
|
|
42
43
|
const click = useClick(floating.context, {
|
|
43
44
|
enabled: !disabled
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/split-pane/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACR,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EAC1B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as SplitPane } from "./split-pane";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-pane.d.ts","sourceRoot":"","sources":["../../../src/components/split-pane/split-pane.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAEH,uBAAuB,EAE1B,MAAM,oBAAoB,CAAC;AAsC5B,QAAA,MAAM,SAAS,6DAgTb,CAAC;AAMH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { clamp, useId, useUncontrolled } from "@refraktor/utils";
|
|
3
|
+
import { Children, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { useTheme } from "../../theme";
|
|
5
|
+
import { createClassNamesConfig, createComponentConfig, factory, useClassNames, useProps } from "../../utils";
|
|
6
|
+
import { getHandleSize } from "./split-pane.styles";
|
|
7
|
+
const defaultProps = {
|
|
8
|
+
defaultValue: 50,
|
|
9
|
+
min: 20,
|
|
10
|
+
max: 80,
|
|
11
|
+
step: 1,
|
|
12
|
+
orientation: "horizontal",
|
|
13
|
+
handleSize: "md",
|
|
14
|
+
handleAriaLabel: "Resize panels",
|
|
15
|
+
disabled: false
|
|
16
|
+
};
|
|
17
|
+
const getStepPrecision = (step) => {
|
|
18
|
+
const parts = String(step).split(".");
|
|
19
|
+
return parts.length > 1 ? parts[1].length : 0;
|
|
20
|
+
};
|
|
21
|
+
const getClientCoordinates = (event) => {
|
|
22
|
+
if ("touches" in event && event.touches.length > 0) {
|
|
23
|
+
const touch = event.touches[0];
|
|
24
|
+
return { clientX: touch.clientX, clientY: touch.clientY };
|
|
25
|
+
}
|
|
26
|
+
if ("changedTouches" in event && event.changedTouches.length > 0) {
|
|
27
|
+
const touch = event.changedTouches[0];
|
|
28
|
+
return { clientX: touch.clientX, clientY: touch.clientY };
|
|
29
|
+
}
|
|
30
|
+
if ("clientX" in event && "clientY" in event) {
|
|
31
|
+
return { clientX: event.clientX, clientY: event.clientY };
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
const SplitPane = factory((_props, ref) => {
|
|
36
|
+
const { cx } = useTheme();
|
|
37
|
+
const { id, children, value, defaultValue, onChange, onChangeEnd, min, max, step, orientation, handleSize, handleAriaLabel, disabled, className, classNames, style, ...props } = useProps("SplitPane", defaultProps, _props);
|
|
38
|
+
const classes = useClassNames("SplitPane", classNames);
|
|
39
|
+
const minValue = Math.min(min, max);
|
|
40
|
+
const maxValue = Math.max(min, max);
|
|
41
|
+
const safeStep = step > 0 ? step : 1;
|
|
42
|
+
const stepPrecision = getStepPrecision(safeStep);
|
|
43
|
+
const normalizeValue = useCallback((nextValue) => {
|
|
44
|
+
const bounded = clamp(nextValue, minValue, maxValue);
|
|
45
|
+
const stepped = Math.round((bounded - minValue) / safeStep) * safeStep +
|
|
46
|
+
minValue;
|
|
47
|
+
return clamp(Number(stepped.toFixed(stepPrecision + 2)), minValue, maxValue);
|
|
48
|
+
}, [minValue, maxValue, safeStep, stepPrecision]);
|
|
49
|
+
const [_value, setValue] = useUncontrolled({
|
|
50
|
+
value,
|
|
51
|
+
defaultValue,
|
|
52
|
+
finalValue: minValue,
|
|
53
|
+
onChange
|
|
54
|
+
});
|
|
55
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
56
|
+
const rootRef = useRef(null);
|
|
57
|
+
const valueRef = useRef(normalizeValue(_value));
|
|
58
|
+
const _id = useId(id);
|
|
59
|
+
const setRefs = (node) => {
|
|
60
|
+
rootRef.current = node;
|
|
61
|
+
if (typeof ref === "function") {
|
|
62
|
+
ref(node);
|
|
63
|
+
}
|
|
64
|
+
else if (ref) {
|
|
65
|
+
ref.current = node;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
valueRef.current = normalizeValue(_value);
|
|
70
|
+
}, [_value, normalizeValue]);
|
|
71
|
+
const updateValue = useCallback((nextValue) => {
|
|
72
|
+
const resolved = normalizeValue(nextValue);
|
|
73
|
+
if (resolved === valueRef.current) {
|
|
74
|
+
return valueRef.current;
|
|
75
|
+
}
|
|
76
|
+
valueRef.current = resolved;
|
|
77
|
+
setValue(resolved);
|
|
78
|
+
return resolved;
|
|
79
|
+
}, [normalizeValue, setValue]);
|
|
80
|
+
const getValueFromEvent = useCallback((event) => {
|
|
81
|
+
if (!rootRef.current) {
|
|
82
|
+
return valueRef.current;
|
|
83
|
+
}
|
|
84
|
+
const coordinates = getClientCoordinates(event);
|
|
85
|
+
if (!coordinates) {
|
|
86
|
+
return valueRef.current;
|
|
87
|
+
}
|
|
88
|
+
const rect = rootRef.current.getBoundingClientRect();
|
|
89
|
+
if (orientation === "horizontal") {
|
|
90
|
+
if (rect.width <= 0) {
|
|
91
|
+
return valueRef.current;
|
|
92
|
+
}
|
|
93
|
+
const ratio = (coordinates.clientX - rect.left) / rect.width;
|
|
94
|
+
return ratio * 100;
|
|
95
|
+
}
|
|
96
|
+
if (rect.height <= 0) {
|
|
97
|
+
return valueRef.current;
|
|
98
|
+
}
|
|
99
|
+
const ratio = (coordinates.clientY - rect.top) / rect.height;
|
|
100
|
+
return ratio * 100;
|
|
101
|
+
}, [orientation]);
|
|
102
|
+
const handleMove = useCallback((event) => {
|
|
103
|
+
if (disabled) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if ("touches" in event) {
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
}
|
|
109
|
+
const nextValue = getValueFromEvent(event);
|
|
110
|
+
updateValue(nextValue);
|
|
111
|
+
}, [disabled, getValueFromEvent, updateValue]);
|
|
112
|
+
const handleEnd = useCallback(() => {
|
|
113
|
+
setIsDragging(false);
|
|
114
|
+
onChangeEnd?.(valueRef.current);
|
|
115
|
+
document.removeEventListener("mousemove", handleMove);
|
|
116
|
+
document.removeEventListener("mouseup", handleEnd);
|
|
117
|
+
document.removeEventListener("touchmove", handleMove);
|
|
118
|
+
document.removeEventListener("touchend", handleEnd);
|
|
119
|
+
}, [handleMove, onChangeEnd]);
|
|
120
|
+
const handleStart = useCallback((event) => {
|
|
121
|
+
if (disabled) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
setIsDragging(true);
|
|
126
|
+
const nextValue = getValueFromEvent(event);
|
|
127
|
+
updateValue(nextValue);
|
|
128
|
+
document.addEventListener("mousemove", handleMove);
|
|
129
|
+
document.addEventListener("mouseup", handleEnd);
|
|
130
|
+
document.addEventListener("touchmove", handleMove, {
|
|
131
|
+
passive: false
|
|
132
|
+
});
|
|
133
|
+
document.addEventListener("touchend", handleEnd);
|
|
134
|
+
}, [disabled, getValueFromEvent, updateValue, handleMove, handleEnd]);
|
|
135
|
+
useEffect(() => {
|
|
136
|
+
return () => {
|
|
137
|
+
document.removeEventListener("mousemove", handleMove);
|
|
138
|
+
document.removeEventListener("mouseup", handleEnd);
|
|
139
|
+
document.removeEventListener("touchmove", handleMove);
|
|
140
|
+
document.removeEventListener("touchend", handleEnd);
|
|
141
|
+
};
|
|
142
|
+
}, [handleMove, handleEnd]);
|
|
143
|
+
const currentValue = normalizeValue(_value);
|
|
144
|
+
const handleThickness = getHandleSize(handleSize);
|
|
145
|
+
const layoutStyles = useMemo(() => {
|
|
146
|
+
if (orientation === "horizontal") {
|
|
147
|
+
return {
|
|
148
|
+
gridTemplateColumns: `${currentValue}% ${handleThickness} minmax(0, 1fr)`
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
gridTemplateRows: `${currentValue}% ${handleThickness} minmax(0, 1fr)`
|
|
153
|
+
};
|
|
154
|
+
}, [orientation, currentValue, handleThickness]);
|
|
155
|
+
const [firstPane, secondPane] = Children.toArray(children);
|
|
156
|
+
const getStyles = (part) => classes[part];
|
|
157
|
+
return (_jsxs("div", { ref: setRefs, id: _id, "data-orientation": orientation, "data-disabled": disabled, className: cx("grid h-full w-full overflow-hidden", isDragging && "select-none", disabled && "opacity-60", getStyles("root"), className), style: {
|
|
158
|
+
...layoutStyles,
|
|
159
|
+
...style
|
|
160
|
+
}, ...props, children: [_jsx("div", { className: cx("min-h-0 min-w-0 overflow-auto", getStyles("pane"), getStyles("firstPane")), children: firstPane }), _jsx("div", { role: "separator", "aria-label": handleAriaLabel, "aria-orientation": orientation, "aria-valuemin": minValue, "aria-valuemax": maxValue, "aria-valuenow": currentValue, "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, "data-dragging": isDragging, className: cx("group relative flex items-center justify-center bg-[var(--refraktor-bg-subtle)]", orientation === "horizontal"
|
|
161
|
+
? "cursor-col-resize"
|
|
162
|
+
: "cursor-row-resize", disabled && "cursor-not-allowed", getStyles("handle")), onMouseDown: handleStart, onTouchStart: handleStart, onKeyDown: (event) => {
|
|
163
|
+
if (disabled) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const previousValue = valueRef.current;
|
|
167
|
+
let targetValue = null;
|
|
168
|
+
if (event.key === "Home") {
|
|
169
|
+
targetValue = minValue;
|
|
170
|
+
}
|
|
171
|
+
else if (event.key === "End") {
|
|
172
|
+
targetValue = maxValue;
|
|
173
|
+
}
|
|
174
|
+
else if (orientation === "horizontal") {
|
|
175
|
+
if (event.key === "ArrowLeft") {
|
|
176
|
+
targetValue = previousValue - safeStep;
|
|
177
|
+
}
|
|
178
|
+
else if (event.key === "ArrowRight") {
|
|
179
|
+
targetValue = previousValue + safeStep;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else if (event.key === "ArrowUp") {
|
|
183
|
+
targetValue = previousValue - safeStep;
|
|
184
|
+
}
|
|
185
|
+
else if (event.key === "ArrowDown") {
|
|
186
|
+
targetValue = previousValue + safeStep;
|
|
187
|
+
}
|
|
188
|
+
if (targetValue === null) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
event.preventDefault();
|
|
192
|
+
const nextValue = updateValue(targetValue);
|
|
193
|
+
if (nextValue !== previousValue) {
|
|
194
|
+
onChangeEnd?.(nextValue);
|
|
195
|
+
}
|
|
196
|
+
}, children: _jsx("span", { "aria-hidden": "true", className: cx("rounded-full bg-[var(--refraktor-border)] transition-colors group-data-[dragging=true]:bg-[var(--refraktor-primary)]", orientation === "horizontal" ? "h-8 w-px" : "h-px w-8", getStyles("handleBar")) }) }), _jsx("div", { className: cx("min-h-0 min-w-0 overflow-auto", getStyles("pane"), getStyles("secondPane")), children: secondPane })] }));
|
|
197
|
+
});
|
|
198
|
+
SplitPane.displayName = "@refraktor/core/SplitPane";
|
|
199
|
+
SplitPane.configure = createComponentConfig();
|
|
200
|
+
SplitPane.classNames = createClassNamesConfig();
|
|
201
|
+
export default SplitPane;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-pane.styles.d.ts","sourceRoot":"","sources":["../../../src/components/split-pane/split-pane.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAU5C,eAAO,MAAM,aAAa,GAAI,OAAM,aAAoB,WAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-pane.test.d.ts","sourceRoot":"","sources":["../../../src/components/split-pane/split-pane.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createRef, useState } from "react";
|
|
3
|
+
import { describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { fireEvent, render, screen, userEvent, waitFor } from "../../vitest";
|
|
5
|
+
import SplitPane from "./split-pane";
|
|
6
|
+
function setRootRect(element, width = 1000, height = 600) {
|
|
7
|
+
Object.defineProperty(element, "getBoundingClientRect", {
|
|
8
|
+
configurable: true,
|
|
9
|
+
value: () => ({
|
|
10
|
+
x: 0,
|
|
11
|
+
y: 0,
|
|
12
|
+
top: 0,
|
|
13
|
+
left: 0,
|
|
14
|
+
right: width,
|
|
15
|
+
bottom: height,
|
|
16
|
+
width,
|
|
17
|
+
height,
|
|
18
|
+
toJSON: () => ({})
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
describe("@refraktor/core/SplitPane", () => {
|
|
23
|
+
it("renders panes and separator with default layout", async () => {
|
|
24
|
+
await render(_jsxs(SplitPane, { "data-testid": "root", children: [_jsx("div", { children: "Left pane" }), _jsx("div", { children: "Right pane" })] }));
|
|
25
|
+
const root = screen.getByTestId("root");
|
|
26
|
+
const separator = screen.getByRole("separator", {
|
|
27
|
+
name: "Resize panels"
|
|
28
|
+
});
|
|
29
|
+
expect(screen.getByText("Left pane")).toBeInTheDocument();
|
|
30
|
+
expect(screen.getByText("Right pane")).toBeInTheDocument();
|
|
31
|
+
expect(separator).toHaveAttribute("aria-orientation", "horizontal");
|
|
32
|
+
expect(separator).toHaveAttribute("aria-valuenow", "50");
|
|
33
|
+
expect(root.style.gridTemplateColumns).toContain("50%");
|
|
34
|
+
});
|
|
35
|
+
it("supports dragging in uncontrolled mode", async () => {
|
|
36
|
+
const onChange = vi.fn();
|
|
37
|
+
const onChangeEnd = vi.fn();
|
|
38
|
+
await render(_jsxs(SplitPane, { defaultValue: 30, onChange: onChange, onChangeEnd: onChangeEnd, "data-testid": "root", children: [_jsx("div", { children: "Left" }), _jsx("div", { children: "Right" })] }));
|
|
39
|
+
const root = screen.getByTestId("root");
|
|
40
|
+
const separator = screen.getByRole("separator");
|
|
41
|
+
setRootRect(root, 1000, 600);
|
|
42
|
+
fireEvent.mouseDown(separator, { clientX: 300, clientY: 100 });
|
|
43
|
+
fireEvent.mouseMove(document, { clientX: 700, clientY: 100 });
|
|
44
|
+
fireEvent.mouseUp(document);
|
|
45
|
+
expect(onChange).toHaveBeenCalled();
|
|
46
|
+
expect(onChange).toHaveBeenLastCalledWith(70);
|
|
47
|
+
expect(onChangeEnd).toHaveBeenCalledWith(70);
|
|
48
|
+
await waitFor(() => {
|
|
49
|
+
expect(root.style.gridTemplateColumns).toContain("70%");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
it("supports controlled mode with keyboard resizing", async () => {
|
|
53
|
+
const user = userEvent.setup();
|
|
54
|
+
function Demo() {
|
|
55
|
+
const [value, setValue] = useState(40);
|
|
56
|
+
return (_jsxs(SplitPane, { value: value, onChange: setValue, step: 10, "data-testid": "root", children: [_jsx("div", { children: "Left" }), _jsx("div", { children: "Right" })] }));
|
|
57
|
+
}
|
|
58
|
+
await render(_jsx(Demo, {}));
|
|
59
|
+
const root = screen.getByTestId("root");
|
|
60
|
+
const separator = screen.getByRole("separator");
|
|
61
|
+
separator.focus();
|
|
62
|
+
await user.keyboard("{ArrowRight}");
|
|
63
|
+
expect(separator).toHaveAttribute("aria-valuenow", "50");
|
|
64
|
+
expect(root.style.gridTemplateColumns).toContain("50%");
|
|
65
|
+
});
|
|
66
|
+
it("supports vertical orientation", async () => {
|
|
67
|
+
await render(_jsxs(SplitPane, { orientation: "vertical", defaultValue: 35, "data-testid": "root", children: [_jsx("div", { children: "Top" }), _jsx("div", { children: "Bottom" })] }));
|
|
68
|
+
const root = screen.getByTestId("root");
|
|
69
|
+
const separator = screen.getByRole("separator");
|
|
70
|
+
expect(separator).toHaveAttribute("aria-orientation", "vertical");
|
|
71
|
+
expect(root.style.gridTemplateRows).toContain("35%");
|
|
72
|
+
});
|
|
73
|
+
it("does not resize when disabled", async () => {
|
|
74
|
+
const onChange = vi.fn();
|
|
75
|
+
await render(_jsxs(SplitPane, { disabled: true, onChange: onChange, "data-testid": "root", children: [_jsx("div", { children: "Left" }), _jsx("div", { children: "Right" })] }));
|
|
76
|
+
const root = screen.getByTestId("root");
|
|
77
|
+
const separator = screen.getByRole("separator");
|
|
78
|
+
setRootRect(root, 1000, 600);
|
|
79
|
+
fireEvent.mouseDown(separator, { clientX: 800, clientY: 100 });
|
|
80
|
+
fireEvent.mouseMove(document, { clientX: 200, clientY: 100 });
|
|
81
|
+
fireEvent.mouseUp(document);
|
|
82
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
83
|
+
expect(separator).toHaveAttribute("tabindex", "-1");
|
|
84
|
+
expect(separator).toHaveAttribute("aria-disabled", "true");
|
|
85
|
+
});
|
|
86
|
+
it("supports root and slot class names and forwards ref", async () => {
|
|
87
|
+
const ref = createRef();
|
|
88
|
+
const { container } = await render(_jsxs(SplitPane, { ref: ref, className: "custom-root", classNames: {
|
|
89
|
+
pane: "custom-pane",
|
|
90
|
+
firstPane: "custom-first",
|
|
91
|
+
secondPane: "custom-second",
|
|
92
|
+
handle: "custom-handle",
|
|
93
|
+
handleBar: "custom-handle-bar"
|
|
94
|
+
}, children: [_jsx("div", { children: "First" }), _jsx("div", { children: "Second" })] }));
|
|
95
|
+
const root = container.firstElementChild;
|
|
96
|
+
const separator = screen.getByRole("separator");
|
|
97
|
+
expect(ref.current).toBeInstanceOf(HTMLDivElement);
|
|
98
|
+
expect(root).toHaveClass("custom-root");
|
|
99
|
+
expect(root.querySelector(".custom-first")).toBeInTheDocument();
|
|
100
|
+
expect(root.querySelector(".custom-second")).toBeInTheDocument();
|
|
101
|
+
expect(root.querySelectorAll(".custom-pane")).toHaveLength(2);
|
|
102
|
+
expect(separator).toHaveClass("custom-handle");
|
|
103
|
+
expect(separator.querySelector(".custom-handle-bar")).toBeInTheDocument();
|
|
104
|
+
});
|
|
105
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
import { RefraktorSize } from "../../theme";
|
|
3
|
+
import { createClassNamesConfig, createComponentConfig, FactoryPayload } from "../../utils";
|
|
4
|
+
export type SplitPaneOrientation = "horizontal" | "vertical";
|
|
5
|
+
export type SplitPaneClassNames = {
|
|
6
|
+
root?: string;
|
|
7
|
+
pane?: string;
|
|
8
|
+
firstPane?: string;
|
|
9
|
+
secondPane?: string;
|
|
10
|
+
handle?: string;
|
|
11
|
+
handleBar?: string;
|
|
12
|
+
};
|
|
13
|
+
export interface SplitPaneProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange" | "defaultValue" | "value"> {
|
|
14
|
+
/** Panel content. The first two children are used as panes. */
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
/** Split position in percent (controlled) */
|
|
17
|
+
value?: number;
|
|
18
|
+
/** Initial split position in percent (uncontrolled) */
|
|
19
|
+
defaultValue?: number;
|
|
20
|
+
/** Callback called when split position changes */
|
|
21
|
+
onChange?: (value: number) => void;
|
|
22
|
+
/** Callback called when interaction ends (drag end / key press) */
|
|
23
|
+
onChangeEnd?: (value: number) => void;
|
|
24
|
+
/** Minimum split position in percent @default `20` */
|
|
25
|
+
min?: number;
|
|
26
|
+
/** Maximum split position in percent @default `80` */
|
|
27
|
+
max?: number;
|
|
28
|
+
/** Step increment in percent @default `1` */
|
|
29
|
+
step?: number;
|
|
30
|
+
/** Split orientation @default `horizontal` */
|
|
31
|
+
orientation?: SplitPaneOrientation;
|
|
32
|
+
/** Resize handle thickness @default `md` */
|
|
33
|
+
handleSize?: RefraktorSize;
|
|
34
|
+
/** Resize handle accessible label @default `Resize panels` */
|
|
35
|
+
handleAriaLabel?: string;
|
|
36
|
+
/** Whether resizing is disabled @default `false` */
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
/** Used for editing root class name */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Used for styling different parts of the component */
|
|
41
|
+
classNames?: SplitPaneClassNames;
|
|
42
|
+
}
|
|
43
|
+
export interface SplitPaneFactoryPayload extends FactoryPayload {
|
|
44
|
+
props: SplitPaneProps;
|
|
45
|
+
ref: HTMLDivElement;
|
|
46
|
+
compound: {
|
|
47
|
+
configure: ReturnType<typeof createComponentConfig<SplitPaneProps>>;
|
|
48
|
+
classNames: ReturnType<typeof createClassNamesConfig<SplitPaneClassNames>>;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=split-pane.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-pane.types.d.ts","sourceRoot":"","sources":["../../../src/components/split-pane/split-pane.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACjB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,cACb,SAAQ,IAAI,CACR,wBAAwB,CAAC,KAAK,CAAC,EAC/B,UAAU,GAAG,cAAc,GAAG,OAAO,CACxC;IACD,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IAEpB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC3D,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE;QACN,SAAS,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC;QACpE,UAAU,EAAE,UAAU,CAClB,OAAO,sBAAsB,CAAC,mBAAmB,CAAC,CACrD,CAAC;KACL,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|