@cdx-ui/primitives 0.3.2 → 0.3.4
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/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/insight/InsightRoot.js +159 -0
- package/lib/commonjs/insight/InsightRoot.js.map +1 -0
- package/lib/commonjs/insight/context.js +11 -0
- package/lib/commonjs/insight/context.js.map +1 -0
- package/lib/commonjs/insight/index.js +26 -0
- package/lib/commonjs/insight/index.js.map +1 -0
- package/lib/commonjs/insight/types.js +6 -0
- package/lib/commonjs/insight/types.js.map +1 -0
- package/lib/commonjs/list-item/ListItemRoot.js +2 -18
- package/lib/commonjs/list-item/ListItemRoot.js.map +1 -1
- package/lib/commonjs/select/SelectContent.js +89 -45
- package/lib/commonjs/select/SelectContent.js.map +1 -1
- package/lib/commonjs/select/SelectDismissButton.js +14 -0
- package/lib/commonjs/select/SelectDismissButton.js.map +1 -0
- package/lib/commonjs/select/SelectDismissButton.web.js +28 -0
- package/lib/commonjs/select/SelectDismissButton.web.js.map +1 -0
- package/lib/commonjs/select/SelectEmpty.js +53 -0
- package/lib/commonjs/select/SelectEmpty.js.map +1 -0
- package/lib/commonjs/select/SelectItem.js +30 -9
- package/lib/commonjs/select/SelectItem.js.map +1 -1
- package/lib/commonjs/select/SelectListbox.js +47 -0
- package/lib/commonjs/select/SelectListbox.js.map +1 -0
- package/lib/commonjs/select/SelectRoot.js +110 -21
- package/lib/commonjs/select/SelectRoot.js.map +1 -1
- package/lib/commonjs/select/SelectSearch.js +81 -0
- package/lib/commonjs/select/SelectSearch.js.map +1 -0
- package/lib/commonjs/select/SelectSearchStatus.js +14 -0
- package/lib/commonjs/select/SelectSearchStatus.js.map +1 -0
- package/lib/commonjs/select/SelectSearchStatus.web.js +24 -0
- package/lib/commonjs/select/SelectSearchStatus.web.js.map +1 -0
- package/lib/commonjs/select/SelectSheetContent.js +67 -0
- package/lib/commonjs/select/SelectSheetContent.js.map +1 -0
- package/lib/commonjs/select/context.js +5 -1
- package/lib/commonjs/select/context.js.map +1 -1
- package/lib/commonjs/select/filter.js +16 -0
- package/lib/commonjs/select/filter.js.map +1 -0
- package/lib/commonjs/select/index.js +34 -0
- package/lib/commonjs/select/index.js.map +1 -1
- package/lib/commonjs/select/popupRole.js +27 -0
- package/lib/commonjs/select/popupRole.js.map +1 -0
- package/lib/commonjs/select/useContentFocus.js +10 -21
- package/lib/commonjs/select/useContentFocus.js.map +1 -1
- package/lib/commonjs/select/useListboxNavigation.js +21 -8
- package/lib/commonjs/select/useListboxNavigation.js.map +1 -1
- package/lib/commonjs/select/useQueryHighlight.js +50 -0
- package/lib/commonjs/select/useQueryHighlight.js.map +1 -0
- package/lib/commonjs/select/useSelectTrigger.js +4 -1
- package/lib/commonjs/select/useSelectTrigger.js.map +1 -1
- package/lib/commonjs/select/useSelectTrigger.web.js +4 -1
- package/lib/commonjs/select/useSelectTrigger.web.js.map +1 -1
- package/lib/commonjs/utils/splitContainerProps.js +26 -0
- package/lib/commonjs/utils/splitContainerProps.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/insight/InsightRoot.js +154 -0
- package/lib/module/insight/InsightRoot.js.map +1 -0
- package/lib/module/insight/context.js +5 -0
- package/lib/module/insight/context.js.map +1 -0
- package/lib/module/insight/index.js +5 -0
- package/lib/module/insight/index.js.map +1 -0
- package/lib/module/insight/types.js +4 -0
- package/lib/module/insight/types.js.map +1 -0
- package/lib/module/list-item/ListItemRoot.js +1 -17
- package/lib/module/list-item/ListItemRoot.js.map +1 -1
- package/lib/module/select/SelectContent.js +94 -48
- package/lib/module/select/SelectContent.js.map +1 -1
- package/lib/module/select/SelectDismissButton.js +10 -0
- package/lib/module/select/SelectDismissButton.js.map +1 -0
- package/lib/module/select/SelectDismissButton.web.js +24 -0
- package/lib/module/select/SelectDismissButton.web.js.map +1 -0
- package/lib/module/select/SelectEmpty.js +49 -0
- package/lib/module/select/SelectEmpty.js.map +1 -0
- package/lib/module/select/SelectItem.js +32 -11
- package/lib/module/select/SelectItem.js.map +1 -1
- package/lib/module/select/SelectListbox.js +43 -0
- package/lib/module/select/SelectListbox.js.map +1 -0
- package/lib/module/select/SelectRoot.js +111 -22
- package/lib/module/select/SelectRoot.js.map +1 -1
- package/lib/module/select/SelectSearch.js +77 -0
- package/lib/module/select/SelectSearch.js.map +1 -0
- package/lib/module/select/SelectSearchStatus.js +10 -0
- package/lib/module/select/SelectSearchStatus.js.map +1 -0
- package/lib/module/select/SelectSearchStatus.web.js +20 -0
- package/lib/module/select/SelectSearchStatus.web.js.map +1 -0
- package/lib/module/select/SelectSheetContent.js +63 -0
- package/lib/module/select/SelectSheetContent.js.map +1 -0
- package/lib/module/select/context.js +2 -0
- package/lib/module/select/context.js.map +1 -1
- package/lib/module/select/filter.js +11 -0
- package/lib/module/select/filter.js.map +1 -0
- package/lib/module/select/index.js +5 -1
- package/lib/module/select/index.js.map +1 -1
- package/lib/module/select/popupRole.js +23 -0
- package/lib/module/select/popupRole.js.map +1 -0
- package/lib/module/select/useContentFocus.js +11 -22
- package/lib/module/select/useContentFocus.js.map +1 -1
- package/lib/module/select/useListboxNavigation.js +21 -8
- package/lib/module/select/useListboxNavigation.js.map +1 -1
- package/lib/module/select/useQueryHighlight.js +46 -0
- package/lib/module/select/useQueryHighlight.js.map +1 -0
- package/lib/module/select/useSelectTrigger.js +4 -1
- package/lib/module/select/useSelectTrigger.js.map +1 -1
- package/lib/module/select/useSelectTrigger.web.js +4 -1
- package/lib/module/select/useSelectTrigger.web.js.map +1 -1
- package/lib/module/utils/splitContainerProps.js +22 -0
- package/lib/module/utils/splitContainerProps.js.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/insight/InsightRoot.d.ts +6 -0
- package/lib/typescript/insight/InsightRoot.d.ts.map +1 -0
- package/lib/typescript/insight/context.d.ts +6 -0
- package/lib/typescript/insight/context.d.ts.map +1 -0
- package/lib/typescript/insight/index.d.ts +4 -0
- package/lib/typescript/insight/index.d.ts.map +1 -0
- package/lib/typescript/insight/types.d.ts +44 -0
- package/lib/typescript/insight/types.d.ts.map +1 -0
- package/lib/typescript/list-item/ListItemRoot.d.ts.map +1 -1
- package/lib/typescript/select/SelectContent.d.ts.map +1 -1
- package/lib/typescript/select/SelectDismissButton.d.ts +10 -0
- package/lib/typescript/select/SelectDismissButton.d.ts.map +1 -0
- package/lib/typescript/select/SelectDismissButton.web.d.ts +9 -0
- package/lib/typescript/select/SelectDismissButton.web.d.ts.map +1 -0
- package/lib/typescript/select/SelectEmpty.d.ts +12 -0
- package/lib/typescript/select/SelectEmpty.d.ts.map +1 -0
- package/lib/typescript/select/SelectItem.d.ts.map +1 -1
- package/lib/typescript/select/SelectListbox.d.ts +12 -0
- package/lib/typescript/select/SelectListbox.d.ts.map +1 -0
- package/lib/typescript/select/SelectRoot.d.ts +2 -2
- package/lib/typescript/select/SelectRoot.d.ts.map +1 -1
- package/lib/typescript/select/SelectSearch.d.ts +18 -0
- package/lib/typescript/select/SelectSearch.d.ts.map +1 -0
- package/lib/typescript/select/SelectSearchStatus.d.ts +9 -0
- package/lib/typescript/select/SelectSearchStatus.d.ts.map +1 -0
- package/lib/typescript/select/SelectSearchStatus.web.d.ts +8 -0
- package/lib/typescript/select/SelectSearchStatus.web.d.ts.map +1 -0
- package/lib/typescript/select/SelectSheetContent.d.ts +14 -0
- package/lib/typescript/select/SelectSheetContent.d.ts.map +1 -0
- package/lib/typescript/select/context.d.ts +9 -0
- package/lib/typescript/select/context.d.ts.map +1 -1
- package/lib/typescript/select/filter.d.ts +4 -0
- package/lib/typescript/select/filter.d.ts.map +1 -0
- package/lib/typescript/select/index.d.ts +6 -2
- package/lib/typescript/select/index.d.ts.map +1 -1
- package/lib/typescript/select/popupRole.d.ts +18 -0
- package/lib/typescript/select/popupRole.d.ts.map +1 -0
- package/lib/typescript/select/types.d.ts +129 -8
- package/lib/typescript/select/types.d.ts.map +1 -1
- package/lib/typescript/select/useContentFocus.d.ts +4 -7
- package/lib/typescript/select/useContentFocus.d.ts.map +1 -1
- package/lib/typescript/select/useListboxNavigation.d.ts +16 -3
- package/lib/typescript/select/useListboxNavigation.d.ts.map +1 -1
- package/lib/typescript/select/useQueryHighlight.d.ts +21 -0
- package/lib/typescript/select/useQueryHighlight.d.ts.map +1 -0
- package/lib/typescript/select/useSelectTrigger.d.ts.map +1 -1
- package/lib/typescript/select/useSelectTrigger.web.d.ts.map +1 -1
- package/lib/typescript/utils/splitContainerProps.d.ts +9 -0
- package/lib/typescript/utils/splitContainerProps.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/index.ts +1 -0
- package/src/insight/InsightRoot.tsx +162 -0
- package/src/insight/context.tsx +5 -0
- package/src/insight/index.ts +11 -0
- package/src/insight/types.ts +51 -0
- package/src/list-item/ListItemRoot.tsx +1 -14
- package/src/select/SelectContent.tsx +89 -54
- package/src/select/SelectDismissButton.tsx +14 -0
- package/src/select/SelectDismissButton.web.tsx +26 -0
- package/src/select/SelectEmpty.tsx +61 -0
- package/src/select/SelectItem.tsx +42 -10
- package/src/select/SelectListbox.tsx +43 -0
- package/src/select/SelectRoot.tsx +184 -12
- package/src/select/SelectSearch.tsx +98 -0
- package/src/select/SelectSearchStatus.tsx +11 -0
- package/src/select/SelectSearchStatus.web.tsx +18 -0
- package/src/select/SelectSheetContent.tsx +54 -0
- package/src/select/context.tsx +9 -0
- package/src/select/filter.ts +12 -0
- package/src/select/index.ts +14 -1
- package/src/select/popupRole.ts +26 -0
- package/src/select/types.ts +142 -9
- package/src/select/useContentFocus.ts +12 -31
- package/src/select/useListboxNavigation.ts +41 -9
- package/src/select/useQueryHighlight.ts +61 -0
- package/src/select/useSelectTrigger.ts +5 -1
- package/src/select/useSelectTrigger.web.ts +5 -1
- package/src/utils/splitContainerProps.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["splitContainerProps","props","container","region","key","startsWith"],"sourceRoot":"../../../src","sources":["utils/splitContainerProps.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAACC,KAA8B,EAAE;EAClE,MAAMC,SAAkC,GAAG,CAAC,CAAC;EAC7C,MAAMC,MAA+B,GAAG,CAAC,CAAC;EAC1C,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;IACvB,IAAIG,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,SAAS,IAAIA,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,EAAE;MACvEH,SAAS,CAACE,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC;IAC7B,CAAC,MAAM;MACLD,MAAM,CAACC,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC;IAC1B;EACF;EACA,OAAO;IAAEF,SAAS;IAAEC;EAAO,CAAC;AAC9B","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MODAL_OVERLAY_Z_INDEX","NOTIFICATION_OVERLAY_Z_INDEX","OVERLAY_PLACEMENTS","getAnchoredOverlayPosition","OverlayContainer","OverlayInsetsProvider","OverlayStackProvider","useAnchorPosition","useAnchoredOverlay","useDismissOverlay","useEscapeKey","useOverlayStackRegistration","useOverlayPosition","FormControlContext","useFormControlContext","dataAttributes","mergeDataAttributes","domDataAttributes","mergeDomDataAttributes","mapViewPropsToDom","assignRef","createPortalFn","useHasTextAncestor","Slot"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,uBAAuB;AACrC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,uBAAuB;AACrC,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,oBAAoB;AAClC,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,SACEA,qBAAqB,EACrBC,4BAA4B,EAC5BC,kBAAkB,EAElBC,0BAA0B,EAC1BC,gBAAgB,EAChBC,qBAAqB,EACrBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,YAAY,EACZC,2BAA2B,EAC3BC,kBAAkB,QAmBb,WAAW;AAClB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,iBAAiB;AAC/B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,UAAU;AAExB,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,eAAe;AACzE,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,wBAAwB;AAC5E,SACEC,iBAAiB,EACjBC,sBAAsB,QAEjB,2BAA2B;AAClC,SAASC,iBAAiB,QAAuC,2BAA2B;AAC5F,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,IAAI,QAAQ,QAAQ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MODAL_OVERLAY_Z_INDEX","NOTIFICATION_OVERLAY_Z_INDEX","OVERLAY_PLACEMENTS","getAnchoredOverlayPosition","OverlayContainer","OverlayInsetsProvider","OverlayStackProvider","useAnchorPosition","useAnchoredOverlay","useDismissOverlay","useEscapeKey","useOverlayStackRegistration","useOverlayPosition","FormControlContext","useFormControlContext","dataAttributes","mergeDataAttributes","domDataAttributes","mergeDomDataAttributes","mapViewPropsToDom","assignRef","createPortalFn","useHasTextAncestor","Slot"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,uBAAuB;AACrC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,uBAAuB;AACrC,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,oBAAoB;AAClC,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,SACEA,qBAAqB,EACrBC,4BAA4B,EAC5BC,kBAAkB,EAElBC,0BAA0B,EAC1BC,gBAAgB,EAChBC,qBAAqB,EACrBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,YAAY,EACZC,2BAA2B,EAC3BC,kBAAkB,QAmBb,WAAW;AAClB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,iBAAiB;AAC/B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,UAAU;AAExB,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,eAAe;AACzE,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,wBAAwB;AAC5E,SACEC,iBAAiB,EACjBC,sBAAsB,QAEjB,2BAA2B;AAClC,SAASC,iBAAiB,QAAuC,2BAA2B;AAC5F,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,IAAI,QAAQ,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef, useMemo } from 'react';
|
|
4
|
+
import { Pressable, View } from 'react-native';
|
|
5
|
+
import { composeEventHandlers } from '@cdx-ui/utils';
|
|
6
|
+
import { useFocus, useFocusRing } from '@react-native-aria/focus';
|
|
7
|
+
import { useHover, usePress } from '@react-native-aria/interactions';
|
|
8
|
+
import { Slot } from '../slot';
|
|
9
|
+
import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
|
|
10
|
+
import { splitContainerProps } from '../utils/splitContainerProps';
|
|
11
|
+
import { InsightProvider } from './context';
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
export const InsightRoot = /*#__PURE__*/forwardRef((props, ref) => {
|
|
14
|
+
const {
|
|
15
|
+
layout = 'summary',
|
|
16
|
+
asChild = false,
|
|
17
|
+
children,
|
|
18
|
+
onPress,
|
|
19
|
+
isDisabled = false,
|
|
20
|
+
accessory,
|
|
21
|
+
pressableClassName,
|
|
22
|
+
style,
|
|
23
|
+
role,
|
|
24
|
+
onPressIn: onPressInProp,
|
|
25
|
+
onPressOut: onPressOutProp,
|
|
26
|
+
onHoverIn: onHoverInProp,
|
|
27
|
+
onHoverOut: onHoverOutProp,
|
|
28
|
+
...restProps
|
|
29
|
+
} = props;
|
|
30
|
+
const isPressable = layout === 'summary' && !!onPress;
|
|
31
|
+
const asChildElement = asChild && /*#__PURE__*/React.isValidElement(children);
|
|
32
|
+
const isSplit = accessory != null && (isPressable || asChildElement);
|
|
33
|
+
const pressState = usePress({
|
|
34
|
+
isDisabled: !isPressable || isDisabled
|
|
35
|
+
});
|
|
36
|
+
const isPressed = isPressable && pressState.isPressed;
|
|
37
|
+
const pressProps = pressState.pressProps;
|
|
38
|
+
const {
|
|
39
|
+
hoverProps,
|
|
40
|
+
isHovered
|
|
41
|
+
} = useHover();
|
|
42
|
+
const {
|
|
43
|
+
isFocused,
|
|
44
|
+
focusProps
|
|
45
|
+
} = useFocus();
|
|
46
|
+
const {
|
|
47
|
+
isFocusVisible,
|
|
48
|
+
focusProps: focusRingProps
|
|
49
|
+
} = useFocusRing();
|
|
50
|
+
const contextValue = useMemo(() => ({
|
|
51
|
+
layout,
|
|
52
|
+
isPressed,
|
|
53
|
+
isPressable
|
|
54
|
+
}), [layout, isPressed, isPressable]);
|
|
55
|
+
const interactionAttributes = isPressable ? dataAttributes({
|
|
56
|
+
active: isPressed,
|
|
57
|
+
hover: isHovered,
|
|
58
|
+
focus: isFocused,
|
|
59
|
+
focusVisible: isFocusVisible,
|
|
60
|
+
disabled: isDisabled
|
|
61
|
+
}) : undefined;
|
|
62
|
+
const {
|
|
63
|
+
onFocus: onFocusProp,
|
|
64
|
+
onBlur: onBlurProp,
|
|
65
|
+
accessibilityState: accessibilityStateProp
|
|
66
|
+
} = restProps;
|
|
67
|
+
const pressRegionProps = () => ({
|
|
68
|
+
role: role ?? 'button',
|
|
69
|
+
...(isDisabled && {
|
|
70
|
+
accessibilityState: {
|
|
71
|
+
...accessibilityStateProp,
|
|
72
|
+
disabled: true
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
disabled: isDisabled,
|
|
76
|
+
onPress: isDisabled ? undefined : onPress,
|
|
77
|
+
onPressIn: composeEventHandlers(onPressInProp, pressProps.onPressIn),
|
|
78
|
+
onPressOut: composeEventHandlers(onPressOutProp, pressProps.onPressOut),
|
|
79
|
+
onHoverIn: composeEventHandlers(onHoverInProp, hoverProps.onHoverIn),
|
|
80
|
+
onHoverOut: composeEventHandlers(onHoverOutProp, hoverProps.onHoverOut),
|
|
81
|
+
onFocus: composeEventHandlers(composeEventHandlers(onFocusProp, focusProps.onFocus), focusRingProps.onFocus),
|
|
82
|
+
onBlur: composeEventHandlers(composeEventHandlers(onBlurProp, focusProps.onBlur), focusRingProps.onBlur)
|
|
83
|
+
});
|
|
84
|
+
if (isSplit) {
|
|
85
|
+
const {
|
|
86
|
+
container,
|
|
87
|
+
region
|
|
88
|
+
} = splitContainerProps(restProps);
|
|
89
|
+
const regionProps = {
|
|
90
|
+
...region,
|
|
91
|
+
...(role != null && {
|
|
92
|
+
role
|
|
93
|
+
}),
|
|
94
|
+
className: pressableClassName,
|
|
95
|
+
...(isPressable && {
|
|
96
|
+
...pressRegionProps(),
|
|
97
|
+
...interactionAttributes
|
|
98
|
+
})
|
|
99
|
+
};
|
|
100
|
+
const RegionComp = asChildElement ? Slot : isPressable ? Pressable : View;
|
|
101
|
+
return /*#__PURE__*/_jsx(InsightProvider, {
|
|
102
|
+
value: contextValue,
|
|
103
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
104
|
+
...container,
|
|
105
|
+
ref: isPressable ? undefined : ref,
|
|
106
|
+
style: style,
|
|
107
|
+
...mergeDataAttributes(container, interactionAttributes),
|
|
108
|
+
children: [/*#__PURE__*/_jsx(RegionComp, {
|
|
109
|
+
...regionProps,
|
|
110
|
+
ref: isPressable ? ref : undefined,
|
|
111
|
+
children: children
|
|
112
|
+
}), accessory]
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (isPressable) {
|
|
117
|
+
const Comp = asChildElement ? Slot : Pressable;
|
|
118
|
+
return /*#__PURE__*/_jsx(InsightProvider, {
|
|
119
|
+
value: contextValue,
|
|
120
|
+
children: /*#__PURE__*/_jsx(Comp, {
|
|
121
|
+
...restProps,
|
|
122
|
+
...pressRegionProps(),
|
|
123
|
+
ref: ref,
|
|
124
|
+
style: style,
|
|
125
|
+
...mergeDataAttributes(restProps, interactionAttributes),
|
|
126
|
+
children: children
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (asChildElement) {
|
|
131
|
+
return /*#__PURE__*/_jsx(InsightProvider, {
|
|
132
|
+
value: contextValue,
|
|
133
|
+
children: /*#__PURE__*/_jsx(Slot, {
|
|
134
|
+
...restProps,
|
|
135
|
+
ref: ref,
|
|
136
|
+
style: style,
|
|
137
|
+
role: role,
|
|
138
|
+
children: children
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return /*#__PURE__*/_jsx(InsightProvider, {
|
|
143
|
+
value: contextValue,
|
|
144
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
145
|
+
...restProps,
|
|
146
|
+
ref: ref,
|
|
147
|
+
style: style,
|
|
148
|
+
role: role,
|
|
149
|
+
children: [children, accessory]
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
InsightRoot.displayName = 'InsightRoot';
|
|
154
|
+
//# sourceMappingURL=InsightRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useMemo","Pressable","View","composeEventHandlers","useFocus","useFocusRing","useHover","usePress","Slot","dataAttributes","mergeDataAttributes","splitContainerProps","InsightProvider","jsx","_jsx","jsxs","_jsxs","InsightRoot","props","ref","layout","asChild","children","onPress","isDisabled","accessory","pressableClassName","style","role","onPressIn","onPressInProp","onPressOut","onPressOutProp","onHoverIn","onHoverInProp","onHoverOut","onHoverOutProp","restProps","isPressable","asChildElement","isValidElement","isSplit","pressState","isPressed","pressProps","hoverProps","isHovered","isFocused","focusProps","isFocusVisible","focusRingProps","contextValue","interactionAttributes","active","hover","focus","focusVisible","disabled","undefined","onFocus","onFocusProp","onBlur","onBlurProp","accessibilityState","accessibilityStateProp","pressRegionProps","container","region","regionProps","className","RegionComp","value","Comp","displayName"],"sourceRoot":"../../../src","sources":["insight/InsightRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","InsightProvider","useInsightContext"],"sourceRoot":"../../../src","sources":["insight/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,eAAe;AAG7C,OAAO,MAAM,CAACC,eAAe,EAAEC,iBAAiB,CAAC,GAC/CF,aAAa,CAAuB,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["InsightProvider","useInsightContext","InsightRoot"],"sourceRoot":"../../../src","sources":["insight/index.ts"],"mappings":";;AASA,SAASA,eAAe,EAAEC,iBAAiB,QAAQ,WAAW;AAC9D,SAASC,WAAW,QAA+B,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["insight/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { useFocus, useFocusRing } from '@react-native-aria/focus';
|
|
|
7
7
|
import { useHover, usePress } from '@react-native-aria/interactions';
|
|
8
8
|
import { Slot } from '../slot';
|
|
9
9
|
import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
|
|
10
|
+
import { splitContainerProps } from '../utils/splitContainerProps';
|
|
10
11
|
import { ListItemProvider } from './context';
|
|
11
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
13
|
function rowStyleForCrossAlign(crossAlign) {
|
|
@@ -16,23 +17,6 @@ function rowStyleForCrossAlign(crossAlign) {
|
|
|
16
17
|
alignItems: crossAlign === 'start' ? 'flex-start' : 'center'
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
/** Splits the props a split row's container keeps (`className`, data attributes) from the rest. */
|
|
21
|
-
function splitContainerProps(props) {
|
|
22
|
-
const container = {};
|
|
23
|
-
const region = {};
|
|
24
|
-
for (const key in props) {
|
|
25
|
-
if (key === 'className' || key === 'dataSet' || key.startsWith('data-')) {
|
|
26
|
-
container[key] = props[key];
|
|
27
|
-
} else {
|
|
28
|
-
region[key] = props[key];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
container,
|
|
33
|
-
region
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
20
|
export const ListItemRoot = /*#__PURE__*/forwardRef(({
|
|
37
21
|
asChild = false,
|
|
38
22
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useMemo","Pressable","View","composeEventHandlers","useFocus","useFocusRing","useHover","usePress","Slot","dataAttributes","mergeDataAttributes","ListItemProvider","jsx","_jsx","jsxs","_jsxs","rowStyleForCrossAlign","crossAlign","flexDirection","alignSelf","alignItems","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useMemo","Pressable","View","composeEventHandlers","useFocus","useFocusRing","useHover","usePress","Slot","dataAttributes","mergeDataAttributes","splitContainerProps","ListItemProvider","jsx","_jsx","jsxs","_jsxs","rowStyleForCrossAlign","crossAlign","flexDirection","alignSelf","alignItems","ListItemRoot","asChild","children","onPress","isDisabled","style","accessory","accessoryPosition","pressableClassName","pressableStyle","restProps","ref","asChildInteractive","isValidElement","isPressableRoot","isSplit","tracksState","childDisabled","props","disabled","resolvedDisabled","pressState","isPressed","pressProps","hoverProps","isHovered","isFocused","focusProps","isFocusVisible","focusRingProps","contextValue","hover","focus","active","focusVisible","onPressIn","onPressInProp","onPressOut","onPressOutProp","onHoverIn","onHoverInProp","onHoverOut","onHoverOutProp","onFocus","onFocusProp","onBlur","onBlurProp","otherProps","container","region","regionProps","accessibilityState","className","pressable","value","slotMergeProps","undefined","displayName"],"sourceRoot":"../../../src","sources":["list-item/ListItemRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { forwardRef, useCallback, useRef } from 'react';
|
|
3
|
+
import React, { forwardRef, useCallback, useMemo, useRef } from 'react';
|
|
4
4
|
import { Platform, View } from 'react-native';
|
|
5
5
|
import { FadeIn, FadeOut } from 'react-native-reanimated';
|
|
6
6
|
import { composeEventHandlers, mergeRefs } from '@cdx-ui/utils';
|
|
7
|
+
import { FocusScope } from '@react-native-aria/focus';
|
|
7
8
|
import { OverlayContainer, useAnchoredOverlay, useDismissOverlay, useEscapeKey } from '../overlay';
|
|
8
9
|
import { Slot } from '../slot';
|
|
9
10
|
import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
|
|
10
|
-
import { useSelectContext } from './context';
|
|
11
|
+
import { SelectContentProvider, useSelectContext } from './context';
|
|
12
|
+
import { getPopupRoleProps } from './popupRole';
|
|
13
|
+
import { SelectDismissButton } from './SelectDismissButton';
|
|
11
14
|
import { useContentFocus } from './useContentFocus';
|
|
12
15
|
import { useListboxNavigation } from './useListboxNavigation';
|
|
13
|
-
import {
|
|
16
|
+
import { useQueryHighlight } from './useQueryHighlight';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Keeps DOM focus in the search input when the pointer goes down elsewhere in the popup, so
|
|
20
|
+
* typing continues after an option is clicked (virtual focus).
|
|
21
|
+
*/
|
|
22
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
+
function keepSearchInputFocus(e) {
|
|
24
|
+
const target = e.target;
|
|
25
|
+
if (target?.closest?.('input, textarea') == null) {
|
|
26
|
+
e.preventDefault();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
14
29
|
export const SelectContent = /*#__PURE__*/forwardRef(({
|
|
15
30
|
asChild,
|
|
16
31
|
children,
|
|
@@ -21,6 +36,7 @@ export const SelectContent = /*#__PURE__*/forwardRef(({
|
|
|
21
36
|
placement = 'bottom-start',
|
|
22
37
|
offset = 4,
|
|
23
38
|
crossOffset = 0,
|
|
39
|
+
dismissAccessibilityLabel = 'Dismiss',
|
|
24
40
|
...props
|
|
25
41
|
}, ref) => {
|
|
26
42
|
const {
|
|
@@ -30,23 +46,21 @@ export const SelectContent = /*#__PURE__*/forwardRef(({
|
|
|
30
46
|
triggerId,
|
|
31
47
|
activeValue,
|
|
32
48
|
setActiveValue,
|
|
33
|
-
|
|
34
|
-
|
|
49
|
+
type,
|
|
50
|
+
selectedValues,
|
|
51
|
+
toggleValue,
|
|
52
|
+
selectValueAndClose,
|
|
53
|
+
isItemDisabled,
|
|
35
54
|
native,
|
|
36
55
|
triggerRef,
|
|
37
|
-
|
|
56
|
+
inputValue,
|
|
57
|
+
visibleItems,
|
|
58
|
+
hasSearch,
|
|
59
|
+
labelId,
|
|
60
|
+
accessibilityLabel
|
|
38
61
|
} = useSelectContext();
|
|
39
62
|
const contentRef = useRef(null);
|
|
40
|
-
const
|
|
41
|
-
contentRef.current = node;
|
|
42
|
-
if (node && Platform.OS === 'web') {
|
|
43
|
-
requestAnimationFrame(() => {
|
|
44
|
-
setTimeout(() => {
|
|
45
|
-
node.focus?.();
|
|
46
|
-
}, 100);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}, []);
|
|
63
|
+
const dismissButtonRef = useRef(null);
|
|
50
64
|
const dismiss = useCallback(() => setOpen(false), [setOpen]);
|
|
51
65
|
const overlayOpen = open && !native;
|
|
52
66
|
const {
|
|
@@ -61,55 +75,87 @@ export const SelectContent = /*#__PURE__*/forwardRef(({
|
|
|
61
75
|
collisionBehavior: 'flip-shift',
|
|
62
76
|
width: 'anchor'
|
|
63
77
|
});
|
|
64
|
-
const mergedRef = mergeRefs(ref,
|
|
65
|
-
useDismissOverlay(overlayOpen, contentRef, [triggerRef], dismiss);
|
|
78
|
+
const mergedRef = mergeRefs(ref, contentRef, floatingRef);
|
|
79
|
+
useDismissOverlay(overlayOpen, contentRef, [triggerRef, dismissButtonRef], dismiss);
|
|
66
80
|
useEscapeKey(overlayOpen, dismiss);
|
|
67
81
|
const {
|
|
68
82
|
handleKeyDown
|
|
69
83
|
} = useListboxNavigation({
|
|
70
|
-
items,
|
|
84
|
+
items: visibleItems,
|
|
71
85
|
activeValue,
|
|
72
86
|
setActiveValue,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
onDismiss: dismiss
|
|
87
|
+
type,
|
|
88
|
+
onToggle: toggleValue,
|
|
89
|
+
onSelectAndClose: selectValueAndClose,
|
|
90
|
+
isItemDisabled,
|
|
91
|
+
onDismiss: dismiss,
|
|
92
|
+
isSearch: hasSearch
|
|
78
93
|
});
|
|
79
94
|
useContentFocus({
|
|
80
95
|
open,
|
|
81
96
|
triggerRef,
|
|
82
|
-
items,
|
|
83
|
-
value,
|
|
84
97
|
setActiveValue
|
|
85
98
|
});
|
|
99
|
+
useQueryHighlight({
|
|
100
|
+
open,
|
|
101
|
+
inputValue,
|
|
102
|
+
visibleItems,
|
|
103
|
+
selectedValues,
|
|
104
|
+
isItemDisabled,
|
|
105
|
+
activeValue,
|
|
106
|
+
setActiveValue
|
|
107
|
+
});
|
|
108
|
+
const contentContext = useMemo(() => ({
|
|
109
|
+
handleKeyDown
|
|
110
|
+
}), [handleKeyDown]);
|
|
86
111
|
if (!overlayOpen) {
|
|
87
112
|
return null;
|
|
88
113
|
}
|
|
89
|
-
const
|
|
114
|
+
const platformProps = Platform.OS === 'web' ? {
|
|
90
115
|
onKeyDown: composeEventHandlers(props.onKeyDown, handleKeyDown),
|
|
91
|
-
tabIndex: -1
|
|
92
|
-
|
|
116
|
+
tabIndex: -1,
|
|
117
|
+
'aria-multiselectable': !hasSearch && type === 'multiple' || undefined,
|
|
118
|
+
...(hasSearch ? {
|
|
119
|
+
onMouseDown: keepSearchInputFocus
|
|
120
|
+
} : {})
|
|
121
|
+
} : {
|
|
122
|
+
onAccessibilityEscape: composeEventHandlers(props.onAccessibilityEscape, dismiss)
|
|
123
|
+
};
|
|
124
|
+
const roleProps = getPopupRoleProps({
|
|
125
|
+
hasSearch,
|
|
126
|
+
labelId,
|
|
127
|
+
accessibilityLabel,
|
|
128
|
+
triggerId
|
|
129
|
+
});
|
|
93
130
|
const Comp = asChild ? Slot : View;
|
|
94
|
-
return /*#__PURE__*/_jsx(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
131
|
+
return /*#__PURE__*/_jsx(SelectContentProvider, {
|
|
132
|
+
value: contentContext,
|
|
133
|
+
children: /*#__PURE__*/_jsx(OverlayContainer, {
|
|
134
|
+
onDismiss: dismiss,
|
|
135
|
+
entering: enteringAnimation ?? FadeIn.duration(150),
|
|
136
|
+
exiting: exitingAnimation ?? FadeOut.duration(100),
|
|
137
|
+
children: /*#__PURE__*/_jsxs(FocusScope, {
|
|
138
|
+
autoFocus: true,
|
|
139
|
+
children: [/*#__PURE__*/_jsx(Comp, {
|
|
140
|
+
ref: mergedRef,
|
|
141
|
+
onLayout: composeEventHandlers(onLayout, onFloatingLayout),
|
|
142
|
+
style: [style, overlayStyle],
|
|
143
|
+
id: contentId,
|
|
144
|
+
...roleProps,
|
|
145
|
+
...props,
|
|
146
|
+
...mergeDataAttributes(props, dataAttributes({
|
|
147
|
+
state: 'open',
|
|
148
|
+
side: position?.resolvedPlacement.side,
|
|
149
|
+
align: position?.resolvedPlacement.align
|
|
150
|
+
})),
|
|
151
|
+
...platformProps,
|
|
152
|
+
children: children
|
|
153
|
+
}), /*#__PURE__*/_jsx(SelectDismissButton, {
|
|
154
|
+
ref: dismissButtonRef,
|
|
155
|
+
onDismiss: dismiss,
|
|
156
|
+
accessibilityLabel: dismissAccessibilityLabel
|
|
157
|
+
})]
|
|
158
|
+
})
|
|
113
159
|
})
|
|
114
160
|
});
|
|
115
161
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useRef","Platform","View","FadeIn","FadeOut","composeEventHandlers","mergeRefs","OverlayContainer","useAnchoredOverlay","useDismissOverlay","useEscapeKey","Slot","dataAttributes","mergeDataAttributes","useSelectContext","useContentFocus","useListboxNavigation","jsx","_jsx","SelectContent","asChild","children","enteringAnimation","exitingAnimation","onLayout","style","placement","offset","crossOffset","props","ref","open","setOpen","contentId","triggerId","activeValue","setActiveValue","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useMemo","useRef","Platform","View","FadeIn","FadeOut","composeEventHandlers","mergeRefs","FocusScope","OverlayContainer","useAnchoredOverlay","useDismissOverlay","useEscapeKey","Slot","dataAttributes","mergeDataAttributes","SelectContentProvider","useSelectContext","getPopupRoleProps","SelectDismissButton","useContentFocus","useListboxNavigation","useQueryHighlight","jsx","_jsx","jsxs","_jsxs","keepSearchInputFocus","e","target","closest","preventDefault","SelectContent","asChild","children","enteringAnimation","exitingAnimation","onLayout","style","placement","offset","crossOffset","dismissAccessibilityLabel","props","ref","open","setOpen","contentId","triggerId","activeValue","setActiveValue","type","selectedValues","toggleValue","selectValueAndClose","isItemDisabled","native","triggerRef","inputValue","visibleItems","hasSearch","labelId","accessibilityLabel","contentRef","dismissButtonRef","dismiss","overlayOpen","floatingRef","onFloatingLayout","overlayStyle","position","collisionBehavior","width","mergedRef","handleKeyDown","items","onToggle","onSelectAndClose","onDismiss","isSearch","contentContext","platformProps","OS","onKeyDown","tabIndex","undefined","onMouseDown","onAccessibilityEscape","roleProps","Comp","value","entering","duration","exiting","autoFocus","id","state","side","resolvedPlacement","align","displayName"],"sourceRoot":"../../../src","sources":["select/SelectContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Web-only. Native screen readers close the popup with the iOS escape gesture
|
|
6
|
+
* (`onAccessibilityEscape` on `SelectContent`) and Android back (`onRequestClose`).
|
|
7
|
+
*/
|
|
8
|
+
export const SelectDismissButton = /*#__PURE__*/forwardRef(() => null);
|
|
9
|
+
SelectDismissButton.displayName = 'SelectDismissButton';
|
|
10
|
+
//# sourceMappingURL=SelectDismissButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","SelectDismissButton","displayName"],"sourceRoot":"../../../src","sources":["select/SelectDismissButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAOlC;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGD,UAAU,CAAoC,MAAM,IAAI,CAAC;AAE5FC,mBAAmB,CAACC,WAAW,GAAG,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { VisuallyHidden } from '@react-aria/visually-hidden';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
/**
|
|
7
|
+
* Visually hidden close control for screen-reader users, who cannot press Escape or click
|
|
8
|
+
* outside while browsing the popup. Out of the Tab order (Tab already closes the listbox).
|
|
9
|
+
* Rendered as a sibling of the listbox because a listbox may only own options.
|
|
10
|
+
*/
|
|
11
|
+
export const SelectDismissButton = /*#__PURE__*/forwardRef(({
|
|
12
|
+
onDismiss,
|
|
13
|
+
accessibilityLabel
|
|
14
|
+
}, ref) => /*#__PURE__*/_jsx(VisuallyHidden, {
|
|
15
|
+
children: /*#__PURE__*/_jsx("button", {
|
|
16
|
+
ref: ref,
|
|
17
|
+
type: "button",
|
|
18
|
+
tabIndex: -1,
|
|
19
|
+
"aria-label": accessibilityLabel,
|
|
20
|
+
onClick: onDismiss
|
|
21
|
+
})
|
|
22
|
+
}));
|
|
23
|
+
SelectDismissButton.displayName = 'SelectDismissButton';
|
|
24
|
+
//# sourceMappingURL=SelectDismissButton.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","VisuallyHidden","jsx","_jsx","SelectDismissButton","onDismiss","accessibilityLabel","ref","children","type","tabIndex","onClick","displayName"],"sourceRoot":"../../../src","sources":["select/SelectDismissButton.web.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,cAAc,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAK7D;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGJ,UAAU,CAC3C,CAAC;EAAEK,SAAS;EAAEC;AAAmB,CAAC,EAAEC,GAAG,kBACrCJ,IAAA,CAACF,cAAc;EAAAO,QAAA,eACbL,IAAA;IACEI,GAAG,EAAEA,GAAI;IACTE,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAE,CAAC,CAAE;IACb,cAAYJ,kBAAmB;IAC/BK,OAAO,EAAEN;EAAU,CACpB;AAAC,CACY,CAEpB,CAAC;AAEDD,mBAAmB,CAACQ,WAAW,GAAG,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Children, forwardRef, isValidElement, useLayoutEffect } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { Slot } from '../slot';
|
|
6
|
+
import { useSelectContext } from './context';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
function getTextContent(node) {
|
|
9
|
+
return Children.toArray(node).map(child => {
|
|
10
|
+
if (typeof child === 'string' || typeof child === 'number') {
|
|
11
|
+
return String(child);
|
|
12
|
+
}
|
|
13
|
+
if (/*#__PURE__*/isValidElement(child)) {
|
|
14
|
+
return getTextContent(child.props.children);
|
|
15
|
+
}
|
|
16
|
+
return '';
|
|
17
|
+
}).join('');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Renders only when no option matches. Its text is also what the search live region
|
|
22
|
+
* announces in that case.
|
|
23
|
+
*/
|
|
24
|
+
export const SelectEmpty = /*#__PURE__*/forwardRef(({
|
|
25
|
+
asChild,
|
|
26
|
+
children,
|
|
27
|
+
...props
|
|
28
|
+
}, ref) => {
|
|
29
|
+
const {
|
|
30
|
+
visibleItems,
|
|
31
|
+
setEmptyText
|
|
32
|
+
} = useSelectContext();
|
|
33
|
+
const text = getTextContent(children);
|
|
34
|
+
useLayoutEffect(() => {
|
|
35
|
+
setEmptyText(text || undefined);
|
|
36
|
+
return () => setEmptyText(undefined);
|
|
37
|
+
}, [setEmptyText, text]);
|
|
38
|
+
if (visibleItems.length > 0) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const Comp = asChild ? Slot : View;
|
|
42
|
+
return /*#__PURE__*/_jsx(Comp, {
|
|
43
|
+
ref: ref,
|
|
44
|
+
...props,
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
SelectEmpty.displayName = 'SelectEmpty';
|
|
49
|
+
//# sourceMappingURL=SelectEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Children","forwardRef","isValidElement","useLayoutEffect","View","Slot","useSelectContext","jsx","_jsx","getTextContent","node","toArray","map","child","String","props","children","join","SelectEmpty","asChild","ref","visibleItems","setEmptyText","text","undefined","length","Comp","displayName"],"sourceRoot":"../../../src","sources":["select/SelectEmpty.tsx"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,UAAU,EACVC,cAAc,EACdC,eAAe,QAGV,OAAO;AACd,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,gBAAgB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ7C,SAASC,cAAcA,CAACC,IAAe,EAAU;EAC/C,OAAOV,QAAQ,CAACW,OAAO,CAACD,IAAI,CAAC,CAC1BE,GAAG,CAAEC,KAAK,IAAK;IACd,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC1D,OAAOC,MAAM,CAACD,KAAK,CAAC;IACtB;IACA,iBAAIX,cAAc,CAA2BW,KAAK,CAAC,EAAE;MACnD,OAAOJ,cAAc,CAACI,KAAK,CAACE,KAAK,CAACC,QAAQ,CAAC;IAC7C;IACA,OAAO,EAAE;EACX,CAAC,CAAC,CACDC,IAAI,CAAC,EAAE,CAAC;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,gBAAGjB,UAAU,CACnC,CAAC;EAAEkB,OAAO;EAAEH,QAAQ;EAAE,GAAGD;AAAM,CAAC,EAAEK,GAAG,KAAK;EACxC,MAAM;IAAEC,YAAY;IAAEC;EAAa,CAAC,GAAGhB,gBAAgB,CAAC,CAAC;EACzD,MAAMiB,IAAI,GAAGd,cAAc,CAACO,QAAQ,CAAC;EAErCb,eAAe,CAAC,MAAM;IACpBmB,YAAY,CAACC,IAAI,IAAIC,SAAS,CAAC;IAC/B,OAAO,MAAMF,YAAY,CAACE,SAAS,CAAC;EACtC,CAAC,EAAE,CAACF,YAAY,EAAEC,IAAI,CAAC,CAAC;EAExB,IAAIF,YAAY,CAACI,MAAM,GAAG,CAAC,EAAE;IAC3B,OAAO,IAAI;EACb;EAEA,MAAMC,IAAI,GAAGP,OAAO,GAAGd,IAAI,GAAGD,IAAI;EAElC,oBACEI,IAAA,CAACkB,IAAI;IAACN,GAAG,EAAEA,GAAI;IAAA,GAAKL,KAAK;IAAAC,QAAA,EACtBA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDE,WAAW,CAACS,WAAW,GAAG,aAAa","ignoreList":[]}
|