@strapi/ui-primitives 2.0.0-beta.3 → 2.0.0-beta.5
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/helpers/events.d.ts +4 -1
- package/dist/hooks/useCallbackRef.d.ts +6 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +19 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +45 -32
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -20
package/dist/index.mjs
CHANGED
|
@@ -3,8 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
4
4
|
import { createContextScope, createContext } from "@radix-ui/react-context";
|
|
5
5
|
import { Slot } from "@radix-ui/react-slot";
|
|
6
|
-
import { composeEventHandlers } from "@radix-ui/primitive";
|
|
7
|
-
import { composeEventHandlers as composeEventHandlers2 } from "@radix-ui/primitive";
|
|
6
|
+
import { composeEventHandlers as composeEventHandlers$1 } from "@radix-ui/primitive";
|
|
8
7
|
import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
|
|
9
8
|
import { useFocusGuards } from "@radix-ui/react-focus-guards";
|
|
10
9
|
import { FocusScope } from "@radix-ui/react-focus-scope";
|
|
@@ -23,8 +22,6 @@ import { createCollection as createCollection$1 } from "@radix-ui/react-collecti
|
|
|
23
22
|
import { useDirection } from "@radix-ui/react-direction";
|
|
24
23
|
import { usePrevious } from "@radix-ui/react-use-previous";
|
|
25
24
|
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
26
|
-
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
|
|
27
|
-
import { useCallbackRef as useCallbackRef2 } from "@radix-ui/react-use-callback-ref";
|
|
28
25
|
function createCollection(name) {
|
|
29
26
|
const PROVIDER_NAME = `${name}CollectionProvider`;
|
|
30
27
|
const [createCollectionContext, createCollectionScope2] = createContextScope(PROVIDER_NAME);
|
|
@@ -319,10 +316,10 @@ const ComboboxTrigger = React.forwardRef((props, forwardedRef) => {
|
|
|
319
316
|
ref: forwardedRef,
|
|
320
317
|
"data-disabled": context.disabled ? "" : void 0,
|
|
321
318
|
...triggerProps,
|
|
322
|
-
onClick: composeEventHandlers(triggerProps.onClick, () => {
|
|
319
|
+
onClick: composeEventHandlers$1(triggerProps.onClick, () => {
|
|
323
320
|
context.trigger?.focus();
|
|
324
321
|
}),
|
|
325
|
-
onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {
|
|
322
|
+
onPointerDown: composeEventHandlers$1(triggerProps.onPointerDown, (event) => {
|
|
326
323
|
const target = event.target;
|
|
327
324
|
if (target.hasPointerCapture(event.pointerId)) {
|
|
328
325
|
target.releasePointerCapture(event.pointerId);
|
|
@@ -388,7 +385,7 @@ const ComboxboxTextInput = React.forwardRef((props, forwardedRef) => {
|
|
|
388
385
|
value: context.textValue ?? "",
|
|
389
386
|
...props,
|
|
390
387
|
ref: composedRefs,
|
|
391
|
-
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
|
|
388
|
+
onKeyDown: composeEventHandlers$1(props.onKeyDown, (event) => {
|
|
392
389
|
if (["ArrowUp", "ArrowDown", "Home", "End"].includes(event.key)) {
|
|
393
390
|
if (!context.open) {
|
|
394
391
|
handleOpen();
|
|
@@ -459,13 +456,13 @@ const ComboxboxTextInput = React.forwardRef((props, forwardedRef) => {
|
|
|
459
456
|
context.onVisuallyFocussedItemChange(null);
|
|
460
457
|
}
|
|
461
458
|
}),
|
|
462
|
-
onChange: composeEventHandlers(props.onChange, (event) => {
|
|
459
|
+
onChange: composeEventHandlers$1(props.onChange, (event) => {
|
|
463
460
|
context.onTextValueChange(event.currentTarget.value);
|
|
464
461
|
if (context.autocomplete.type === "both") {
|
|
465
462
|
context.onFilterValueChange(event.currentTarget.value);
|
|
466
463
|
}
|
|
467
464
|
}),
|
|
468
|
-
onKeyUp: composeEventHandlers(props.onKeyUp, (event) => {
|
|
465
|
+
onKeyUp: composeEventHandlers$1(props.onKeyUp, (event) => {
|
|
469
466
|
if (!context.open && (context.isPrintableCharacter(event.key) || ["Backspace"].includes(event.key))) {
|
|
470
467
|
handleOpen();
|
|
471
468
|
}
|
|
@@ -487,7 +484,7 @@ const ComboxboxTextInput = React.forwardRef((props, forwardedRef) => {
|
|
|
487
484
|
}
|
|
488
485
|
}
|
|
489
486
|
}),
|
|
490
|
-
onBlur: composeEventHandlers(props.onBlur, () => {
|
|
487
|
+
onBlur: composeEventHandlers$1(props.onBlur, () => {
|
|
491
488
|
if (context.open) {
|
|
492
489
|
return;
|
|
493
490
|
}
|
|
@@ -547,16 +544,16 @@ const ComboboxIcon = React.forwardRef((props, forwardedRef) => {
|
|
|
547
544
|
...iconProps,
|
|
548
545
|
tabIndex: -1,
|
|
549
546
|
ref: forwardedRef,
|
|
550
|
-
onClick: composeEventHandlers(iconProps.onClick, () => {
|
|
547
|
+
onClick: composeEventHandlers$1(iconProps.onClick, () => {
|
|
551
548
|
context.trigger?.focus();
|
|
552
549
|
}),
|
|
553
|
-
onPointerDown: composeEventHandlers(iconProps.onPointerDown, (event) => {
|
|
550
|
+
onPointerDown: composeEventHandlers$1(iconProps.onPointerDown, (event) => {
|
|
554
551
|
if (event.button === 0 && event.ctrlKey === false) {
|
|
555
552
|
handleOpen();
|
|
556
553
|
event.preventDefault();
|
|
557
554
|
}
|
|
558
555
|
}),
|
|
559
|
-
onKeyDown: composeEventHandlers(iconProps.onKeyDown, (event) => {
|
|
556
|
+
onKeyDown: composeEventHandlers$1(iconProps.onKeyDown, (event) => {
|
|
560
557
|
if (OPEN_KEYS$1.includes(event.key)) {
|
|
561
558
|
handleOpen();
|
|
562
559
|
event.preventDefault();
|
|
@@ -825,7 +822,7 @@ const ComboboxItemImpl = React.forwardRef((props, forwardedRef) => {
|
|
|
825
822
|
...restProps,
|
|
826
823
|
id,
|
|
827
824
|
ref: composedRefs,
|
|
828
|
-
onPointerUp: composeEventHandlers(restProps.onPointerUp, handleSelect)
|
|
825
|
+
onPointerUp: composeEventHandlers$1(restProps.onPointerUp, handleSelect)
|
|
829
826
|
}
|
|
830
827
|
);
|
|
831
828
|
});
|
|
@@ -932,7 +929,7 @@ const ComboboxCreateItem = React.forwardRef((props, ref) => {
|
|
|
932
929
|
...restProps,
|
|
933
930
|
id,
|
|
934
931
|
ref: composedRefs,
|
|
935
|
-
onPointerUp: composeEventHandlers(restProps.onPointerUp, handleSelect)
|
|
932
|
+
onPointerUp: composeEventHandlers$1(restProps.onPointerUp, handleSelect)
|
|
936
933
|
}
|
|
937
934
|
)
|
|
938
935
|
}
|
|
@@ -976,6 +973,13 @@ const Combobox$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
|
|
|
976
973
|
Trigger: Trigger$1,
|
|
977
974
|
Viewport: Viewport$1
|
|
978
975
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
976
|
+
function useCallbackRef(callback) {
|
|
977
|
+
const callbackRef = React.useRef(callback);
|
|
978
|
+
React.useEffect(() => {
|
|
979
|
+
callbackRef.current = callback;
|
|
980
|
+
});
|
|
981
|
+
return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
|
982
|
+
}
|
|
979
983
|
const OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
|
|
980
984
|
const SELECTION_KEYS = [" ", "Enter"];
|
|
981
985
|
const SELECT_NAME = "Select";
|
|
@@ -1109,10 +1113,10 @@ const SelectTrigger = React.forwardRef(
|
|
|
1109
1113
|
tabIndex: isDisabled ? void 0 : 0,
|
|
1110
1114
|
...triggerProps,
|
|
1111
1115
|
ref: composedRefs,
|
|
1112
|
-
onClick: composeEventHandlers(triggerProps.onClick, (event) => {
|
|
1116
|
+
onClick: composeEventHandlers$1(triggerProps.onClick, (event) => {
|
|
1113
1117
|
event.currentTarget.focus();
|
|
1114
1118
|
}),
|
|
1115
|
-
onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {
|
|
1119
|
+
onPointerDown: composeEventHandlers$1(triggerProps.onPointerDown, (event) => {
|
|
1116
1120
|
const target = event.target;
|
|
1117
1121
|
if (target.hasPointerCapture(event.pointerId)) {
|
|
1118
1122
|
target.releasePointerCapture(event.pointerId);
|
|
@@ -1130,7 +1134,7 @@ const SelectTrigger = React.forwardRef(
|
|
|
1130
1134
|
event.preventDefault();
|
|
1131
1135
|
}
|
|
1132
1136
|
}),
|
|
1133
|
-
onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {
|
|
1137
|
+
onKeyDown: composeEventHandlers$1(triggerProps.onKeyDown, (event) => {
|
|
1134
1138
|
const isTypingAhead = searchRef.current !== "";
|
|
1135
1139
|
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
|
1136
1140
|
const target = event.target;
|
|
@@ -1408,7 +1412,7 @@ const SelectContentImpl = React.forwardRef(
|
|
|
1408
1412
|
onMountAutoFocus: (event) => {
|
|
1409
1413
|
event.preventDefault();
|
|
1410
1414
|
},
|
|
1411
|
-
onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {
|
|
1415
|
+
onUnmountAutoFocus: composeEventHandlers$1(onCloseAutoFocus, (event) => {
|
|
1412
1416
|
context.trigger?.focus({ preventScroll: true });
|
|
1413
1417
|
document.getSelection()?.empty();
|
|
1414
1418
|
event.preventDefault();
|
|
@@ -1443,7 +1447,7 @@ const SelectContentImpl = React.forwardRef(
|
|
|
1443
1447
|
outline: "none",
|
|
1444
1448
|
...contentProps.style
|
|
1445
1449
|
},
|
|
1446
|
-
onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {
|
|
1450
|
+
onKeyDown: composeEventHandlers$1(contentProps.onKeyDown, (event) => {
|
|
1447
1451
|
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
|
1448
1452
|
if (event.key === "Tab")
|
|
1449
1453
|
event.preventDefault();
|
|
@@ -1699,7 +1703,7 @@ const SelectViewport = React.forwardRef(
|
|
|
1699
1703
|
overflow: "auto",
|
|
1700
1704
|
...viewportProps.style
|
|
1701
1705
|
},
|
|
1702
|
-
onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {
|
|
1706
|
+
onScroll: composeEventHandlers$1(viewportProps.onScroll, (event) => {
|
|
1703
1707
|
const viewport = event.currentTarget;
|
|
1704
1708
|
const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
|
|
1705
1709
|
if (shouldExpandOnScrollRef?.current && contentWrapper) {
|
|
@@ -1807,22 +1811,22 @@ const SelectItem = React.forwardRef(
|
|
|
1807
1811
|
tabIndex: disabled ? void 0 : -1,
|
|
1808
1812
|
...itemProps,
|
|
1809
1813
|
ref: composedRefs,
|
|
1810
|
-
onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),
|
|
1811
|
-
onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),
|
|
1812
|
-
onPointerUp: composeEventHandlers(itemProps.onPointerUp, handleSelect),
|
|
1813
|
-
onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {
|
|
1814
|
+
onFocus: composeEventHandlers$1(itemProps.onFocus, () => setIsFocused(true)),
|
|
1815
|
+
onBlur: composeEventHandlers$1(itemProps.onBlur, () => setIsFocused(false)),
|
|
1816
|
+
onPointerUp: composeEventHandlers$1(itemProps.onPointerUp, handleSelect),
|
|
1817
|
+
onPointerMove: composeEventHandlers$1(itemProps.onPointerMove, (event) => {
|
|
1814
1818
|
if (disabled) {
|
|
1815
1819
|
contentContext.onItemLeave?.();
|
|
1816
1820
|
} else {
|
|
1817
1821
|
event.currentTarget.focus({ preventScroll: true });
|
|
1818
1822
|
}
|
|
1819
1823
|
}),
|
|
1820
|
-
onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {
|
|
1824
|
+
onPointerLeave: composeEventHandlers$1(itemProps.onPointerLeave, (event) => {
|
|
1821
1825
|
if (event.currentTarget === document.activeElement) {
|
|
1822
1826
|
contentContext.onItemLeave?.();
|
|
1823
1827
|
}
|
|
1824
1828
|
}),
|
|
1825
|
-
onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {
|
|
1829
|
+
onKeyDown: composeEventHandlers$1(itemProps.onKeyDown, (event) => {
|
|
1826
1830
|
const isTypingAhead = contentContext.searchRef?.current !== "";
|
|
1827
1831
|
if (isTypingAhead && event.key === " ")
|
|
1828
1832
|
return;
|
|
@@ -1990,13 +1994,13 @@ const SelectScrollButtonImpl = React.forwardRef(
|
|
|
1990
1994
|
...scrollIndicatorProps,
|
|
1991
1995
|
ref: forwardedRef,
|
|
1992
1996
|
style: { flexShrink: 0, ...scrollIndicatorProps.style },
|
|
1993
|
-
onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {
|
|
1997
|
+
onPointerMove: composeEventHandlers$1(scrollIndicatorProps.onPointerMove, () => {
|
|
1994
1998
|
contentContext.onItemLeave?.();
|
|
1995
1999
|
if (autoScrollTimerRef.current === null) {
|
|
1996
2000
|
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
|
1997
2001
|
}
|
|
1998
2002
|
}),
|
|
1999
|
-
onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {
|
|
2003
|
+
onPointerLeave: composeEventHandlers$1(scrollIndicatorProps.onPointerLeave, () => {
|
|
2000
2004
|
clearAutoScrollTimer();
|
|
2001
2005
|
})
|
|
2002
2006
|
}
|
|
@@ -2160,13 +2164,22 @@ const Select$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
|
|
|
2160
2164
|
Viewport,
|
|
2161
2165
|
createSelectScope
|
|
2162
2166
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2167
|
+
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
|
2168
|
+
return function handleEvent(event) {
|
|
2169
|
+
originalEventHandler?.(event);
|
|
2170
|
+
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
|
2171
|
+
return ourEventHandler?.(event);
|
|
2172
|
+
}
|
|
2173
|
+
};
|
|
2174
|
+
}
|
|
2163
2175
|
export {
|
|
2164
2176
|
Combobox$1 as Combobox,
|
|
2165
2177
|
Select$1 as Select,
|
|
2166
|
-
|
|
2178
|
+
composeEventHandlers,
|
|
2167
2179
|
createCollection,
|
|
2168
|
-
|
|
2180
|
+
useCallbackRef,
|
|
2169
2181
|
useCollator,
|
|
2170
|
-
useFilter
|
|
2182
|
+
useFilter,
|
|
2183
|
+
usePrev
|
|
2171
2184
|
};
|
|
2172
2185
|
//# sourceMappingURL=index.mjs.map
|