@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.
Files changed (188) hide show
  1. package/lib/commonjs/index.js +12 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/insight/InsightRoot.js +159 -0
  4. package/lib/commonjs/insight/InsightRoot.js.map +1 -0
  5. package/lib/commonjs/insight/context.js +11 -0
  6. package/lib/commonjs/insight/context.js.map +1 -0
  7. package/lib/commonjs/insight/index.js +26 -0
  8. package/lib/commonjs/insight/index.js.map +1 -0
  9. package/lib/commonjs/insight/types.js +6 -0
  10. package/lib/commonjs/insight/types.js.map +1 -0
  11. package/lib/commonjs/list-item/ListItemRoot.js +2 -18
  12. package/lib/commonjs/list-item/ListItemRoot.js.map +1 -1
  13. package/lib/commonjs/select/SelectContent.js +89 -45
  14. package/lib/commonjs/select/SelectContent.js.map +1 -1
  15. package/lib/commonjs/select/SelectDismissButton.js +14 -0
  16. package/lib/commonjs/select/SelectDismissButton.js.map +1 -0
  17. package/lib/commonjs/select/SelectDismissButton.web.js +28 -0
  18. package/lib/commonjs/select/SelectDismissButton.web.js.map +1 -0
  19. package/lib/commonjs/select/SelectEmpty.js +53 -0
  20. package/lib/commonjs/select/SelectEmpty.js.map +1 -0
  21. package/lib/commonjs/select/SelectItem.js +30 -9
  22. package/lib/commonjs/select/SelectItem.js.map +1 -1
  23. package/lib/commonjs/select/SelectListbox.js +47 -0
  24. package/lib/commonjs/select/SelectListbox.js.map +1 -0
  25. package/lib/commonjs/select/SelectRoot.js +110 -21
  26. package/lib/commonjs/select/SelectRoot.js.map +1 -1
  27. package/lib/commonjs/select/SelectSearch.js +81 -0
  28. package/lib/commonjs/select/SelectSearch.js.map +1 -0
  29. package/lib/commonjs/select/SelectSearchStatus.js +14 -0
  30. package/lib/commonjs/select/SelectSearchStatus.js.map +1 -0
  31. package/lib/commonjs/select/SelectSearchStatus.web.js +24 -0
  32. package/lib/commonjs/select/SelectSearchStatus.web.js.map +1 -0
  33. package/lib/commonjs/select/SelectSheetContent.js +67 -0
  34. package/lib/commonjs/select/SelectSheetContent.js.map +1 -0
  35. package/lib/commonjs/select/context.js +5 -1
  36. package/lib/commonjs/select/context.js.map +1 -1
  37. package/lib/commonjs/select/filter.js +16 -0
  38. package/lib/commonjs/select/filter.js.map +1 -0
  39. package/lib/commonjs/select/index.js +34 -0
  40. package/lib/commonjs/select/index.js.map +1 -1
  41. package/lib/commonjs/select/popupRole.js +27 -0
  42. package/lib/commonjs/select/popupRole.js.map +1 -0
  43. package/lib/commonjs/select/useContentFocus.js +10 -21
  44. package/lib/commonjs/select/useContentFocus.js.map +1 -1
  45. package/lib/commonjs/select/useListboxNavigation.js +21 -8
  46. package/lib/commonjs/select/useListboxNavigation.js.map +1 -1
  47. package/lib/commonjs/select/useQueryHighlight.js +50 -0
  48. package/lib/commonjs/select/useQueryHighlight.js.map +1 -0
  49. package/lib/commonjs/select/useSelectTrigger.js +4 -1
  50. package/lib/commonjs/select/useSelectTrigger.js.map +1 -1
  51. package/lib/commonjs/select/useSelectTrigger.web.js +4 -1
  52. package/lib/commonjs/select/useSelectTrigger.web.js.map +1 -1
  53. package/lib/commonjs/utils/splitContainerProps.js +26 -0
  54. package/lib/commonjs/utils/splitContainerProps.js.map +1 -0
  55. package/lib/module/index.js +1 -0
  56. package/lib/module/index.js.map +1 -1
  57. package/lib/module/insight/InsightRoot.js +154 -0
  58. package/lib/module/insight/InsightRoot.js.map +1 -0
  59. package/lib/module/insight/context.js +5 -0
  60. package/lib/module/insight/context.js.map +1 -0
  61. package/lib/module/insight/index.js +5 -0
  62. package/lib/module/insight/index.js.map +1 -0
  63. package/lib/module/insight/types.js +4 -0
  64. package/lib/module/insight/types.js.map +1 -0
  65. package/lib/module/list-item/ListItemRoot.js +1 -17
  66. package/lib/module/list-item/ListItemRoot.js.map +1 -1
  67. package/lib/module/select/SelectContent.js +94 -48
  68. package/lib/module/select/SelectContent.js.map +1 -1
  69. package/lib/module/select/SelectDismissButton.js +10 -0
  70. package/lib/module/select/SelectDismissButton.js.map +1 -0
  71. package/lib/module/select/SelectDismissButton.web.js +24 -0
  72. package/lib/module/select/SelectDismissButton.web.js.map +1 -0
  73. package/lib/module/select/SelectEmpty.js +49 -0
  74. package/lib/module/select/SelectEmpty.js.map +1 -0
  75. package/lib/module/select/SelectItem.js +32 -11
  76. package/lib/module/select/SelectItem.js.map +1 -1
  77. package/lib/module/select/SelectListbox.js +43 -0
  78. package/lib/module/select/SelectListbox.js.map +1 -0
  79. package/lib/module/select/SelectRoot.js +111 -22
  80. package/lib/module/select/SelectRoot.js.map +1 -1
  81. package/lib/module/select/SelectSearch.js +77 -0
  82. package/lib/module/select/SelectSearch.js.map +1 -0
  83. package/lib/module/select/SelectSearchStatus.js +10 -0
  84. package/lib/module/select/SelectSearchStatus.js.map +1 -0
  85. package/lib/module/select/SelectSearchStatus.web.js +20 -0
  86. package/lib/module/select/SelectSearchStatus.web.js.map +1 -0
  87. package/lib/module/select/SelectSheetContent.js +63 -0
  88. package/lib/module/select/SelectSheetContent.js.map +1 -0
  89. package/lib/module/select/context.js +2 -0
  90. package/lib/module/select/context.js.map +1 -1
  91. package/lib/module/select/filter.js +11 -0
  92. package/lib/module/select/filter.js.map +1 -0
  93. package/lib/module/select/index.js +5 -1
  94. package/lib/module/select/index.js.map +1 -1
  95. package/lib/module/select/popupRole.js +23 -0
  96. package/lib/module/select/popupRole.js.map +1 -0
  97. package/lib/module/select/useContentFocus.js +11 -22
  98. package/lib/module/select/useContentFocus.js.map +1 -1
  99. package/lib/module/select/useListboxNavigation.js +21 -8
  100. package/lib/module/select/useListboxNavigation.js.map +1 -1
  101. package/lib/module/select/useQueryHighlight.js +46 -0
  102. package/lib/module/select/useQueryHighlight.js.map +1 -0
  103. package/lib/module/select/useSelectTrigger.js +4 -1
  104. package/lib/module/select/useSelectTrigger.js.map +1 -1
  105. package/lib/module/select/useSelectTrigger.web.js +4 -1
  106. package/lib/module/select/useSelectTrigger.web.js.map +1 -1
  107. package/lib/module/utils/splitContainerProps.js +22 -0
  108. package/lib/module/utils/splitContainerProps.js.map +1 -0
  109. package/lib/typescript/index.d.ts +1 -0
  110. package/lib/typescript/index.d.ts.map +1 -1
  111. package/lib/typescript/insight/InsightRoot.d.ts +6 -0
  112. package/lib/typescript/insight/InsightRoot.d.ts.map +1 -0
  113. package/lib/typescript/insight/context.d.ts +6 -0
  114. package/lib/typescript/insight/context.d.ts.map +1 -0
  115. package/lib/typescript/insight/index.d.ts +4 -0
  116. package/lib/typescript/insight/index.d.ts.map +1 -0
  117. package/lib/typescript/insight/types.d.ts +44 -0
  118. package/lib/typescript/insight/types.d.ts.map +1 -0
  119. package/lib/typescript/list-item/ListItemRoot.d.ts.map +1 -1
  120. package/lib/typescript/select/SelectContent.d.ts.map +1 -1
  121. package/lib/typescript/select/SelectDismissButton.d.ts +10 -0
  122. package/lib/typescript/select/SelectDismissButton.d.ts.map +1 -0
  123. package/lib/typescript/select/SelectDismissButton.web.d.ts +9 -0
  124. package/lib/typescript/select/SelectDismissButton.web.d.ts.map +1 -0
  125. package/lib/typescript/select/SelectEmpty.d.ts +12 -0
  126. package/lib/typescript/select/SelectEmpty.d.ts.map +1 -0
  127. package/lib/typescript/select/SelectItem.d.ts.map +1 -1
  128. package/lib/typescript/select/SelectListbox.d.ts +12 -0
  129. package/lib/typescript/select/SelectListbox.d.ts.map +1 -0
  130. package/lib/typescript/select/SelectRoot.d.ts +2 -2
  131. package/lib/typescript/select/SelectRoot.d.ts.map +1 -1
  132. package/lib/typescript/select/SelectSearch.d.ts +18 -0
  133. package/lib/typescript/select/SelectSearch.d.ts.map +1 -0
  134. package/lib/typescript/select/SelectSearchStatus.d.ts +9 -0
  135. package/lib/typescript/select/SelectSearchStatus.d.ts.map +1 -0
  136. package/lib/typescript/select/SelectSearchStatus.web.d.ts +8 -0
  137. package/lib/typescript/select/SelectSearchStatus.web.d.ts.map +1 -0
  138. package/lib/typescript/select/SelectSheetContent.d.ts +14 -0
  139. package/lib/typescript/select/SelectSheetContent.d.ts.map +1 -0
  140. package/lib/typescript/select/context.d.ts +9 -0
  141. package/lib/typescript/select/context.d.ts.map +1 -1
  142. package/lib/typescript/select/filter.d.ts +4 -0
  143. package/lib/typescript/select/filter.d.ts.map +1 -0
  144. package/lib/typescript/select/index.d.ts +6 -2
  145. package/lib/typescript/select/index.d.ts.map +1 -1
  146. package/lib/typescript/select/popupRole.d.ts +18 -0
  147. package/lib/typescript/select/popupRole.d.ts.map +1 -0
  148. package/lib/typescript/select/types.d.ts +129 -8
  149. package/lib/typescript/select/types.d.ts.map +1 -1
  150. package/lib/typescript/select/useContentFocus.d.ts +4 -7
  151. package/lib/typescript/select/useContentFocus.d.ts.map +1 -1
  152. package/lib/typescript/select/useListboxNavigation.d.ts +16 -3
  153. package/lib/typescript/select/useListboxNavigation.d.ts.map +1 -1
  154. package/lib/typescript/select/useQueryHighlight.d.ts +21 -0
  155. package/lib/typescript/select/useQueryHighlight.d.ts.map +1 -0
  156. package/lib/typescript/select/useSelectTrigger.d.ts.map +1 -1
  157. package/lib/typescript/select/useSelectTrigger.web.d.ts.map +1 -1
  158. package/lib/typescript/utils/splitContainerProps.d.ts +9 -0
  159. package/lib/typescript/utils/splitContainerProps.d.ts.map +1 -0
  160. package/package.json +3 -3
  161. package/src/index.ts +1 -0
  162. package/src/insight/InsightRoot.tsx +162 -0
  163. package/src/insight/context.tsx +5 -0
  164. package/src/insight/index.ts +11 -0
  165. package/src/insight/types.ts +51 -0
  166. package/src/list-item/ListItemRoot.tsx +1 -14
  167. package/src/select/SelectContent.tsx +89 -54
  168. package/src/select/SelectDismissButton.tsx +14 -0
  169. package/src/select/SelectDismissButton.web.tsx +26 -0
  170. package/src/select/SelectEmpty.tsx +61 -0
  171. package/src/select/SelectItem.tsx +42 -10
  172. package/src/select/SelectListbox.tsx +43 -0
  173. package/src/select/SelectRoot.tsx +184 -12
  174. package/src/select/SelectSearch.tsx +98 -0
  175. package/src/select/SelectSearchStatus.tsx +11 -0
  176. package/src/select/SelectSearchStatus.web.tsx +18 -0
  177. package/src/select/SelectSheetContent.tsx +54 -0
  178. package/src/select/context.tsx +9 -0
  179. package/src/select/filter.ts +12 -0
  180. package/src/select/index.ts +14 -1
  181. package/src/select/popupRole.ts +26 -0
  182. package/src/select/types.ts +142 -9
  183. package/src/select/useContentFocus.ts +12 -31
  184. package/src/select/useListboxNavigation.ts +41 -9
  185. package/src/select/useQueryHighlight.ts +61 -0
  186. package/src/select/useSelectTrigger.ts +5 -1
  187. package/src/select/useSelectTrigger.web.ts +5 -1
  188. package/src/utils/splitContainerProps.ts +16 -0
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SelectSearchStatus = SelectSearchStatus;
7
+ /**
8
+ * Web-only. On native, screen readers move through the rows directly, in the anchored popover
9
+ * or in `Select.BottomSheet`, instead of following an input-driven live region.
10
+ */
11
+ function SelectSearchStatus(_props) {
12
+ return null;
13
+ }
14
+ //# sourceMappingURL=SelectSearchStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SelectSearchStatus","_props"],"sourceRoot":"../../../src","sources":["select/SelectSearchStatus.tsx"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACO,SAASA,kBAAkBA,CAACC,MAA+B,EAAE;EAClE,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SelectSearchStatus = SelectSearchStatus;
7
+ var _visuallyHidden = require("@react-aria/visually-hidden");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ /**
10
+ * Polite live region for the search results. It stays mounted while the search is, so each
11
+ * change to the count (or to the empty-state text) is announced.
12
+ */
13
+ function SelectSearchStatus({
14
+ message
15
+ }) {
16
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_visuallyHidden.VisuallyHidden, {
17
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
18
+ role: "status",
19
+ "aria-live": "polite",
20
+ children: message
21
+ })
22
+ });
23
+ }
24
+ //# sourceMappingURL=SelectSearchStatus.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_visuallyHidden","require","_jsxRuntime","SelectSearchStatus","message","jsx","VisuallyHidden","children","role"],"sourceRoot":"../../../src","sources":["select/SelectSearchStatus.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAA6D,IAAAC,WAAA,GAAAD,OAAA;AAK7D;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAAC;EAAEC;AAAiC,CAAC,EAAE;EACvE,oBACE,IAAAF,WAAA,CAAAG,GAAA,EAACL,eAAA,CAAAM,cAAc;IAAAC,QAAA,eACb,IAAAL,WAAA,CAAAG,GAAA;MAAKG,IAAI,EAAC,QAAQ;MAAC,aAAU,QAAQ;MAAAD,QAAA,EAClCH;IAAO,CACL;EAAC,CACQ,CAAC;AAErB","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SelectSheetContent = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _utils = require("@cdx-ui/utils");
10
+ var _slot = require("../slot");
11
+ var _dataAttributes = require("../utils/dataAttributes");
12
+ var _context = require("./context");
13
+ var _popupRole = require("./popupRole");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ /**
16
+ * Native rows take screen-reader focus directly, so the sheet has no listbox keyboard model
17
+ * for `Select.Search` to drive.
18
+ */
19
+ const SHEET_CONTENT_CONTEXT = {
20
+ handleKeyDown: () => undefined
21
+ };
22
+
23
+ /**
24
+ * Body of a native sheet surface that presents the options in place of `SelectContent`. The
25
+ * styled layer owns presentation (open, swipe, backdrop, back) and renders this inside it.
26
+ * It carries the popup role and name, and closes on the VoiceOver escape gesture without
27
+ * changing the value.
28
+ */
29
+ const SelectSheetContent = exports.SelectSheetContent = /*#__PURE__*/(0, _react.forwardRef)(({
30
+ asChild,
31
+ children,
32
+ onAccessibilityEscape,
33
+ ...props
34
+ }, ref) => {
35
+ const {
36
+ setOpen,
37
+ hasSearch,
38
+ labelId,
39
+ accessibilityLabel,
40
+ triggerId,
41
+ contentId
42
+ } = (0, _context.useSelectContext)();
43
+ const dismiss = (0, _react.useCallback)(() => setOpen(false), [setOpen]);
44
+ const roleProps = (0, _popupRole.getPopupRoleProps)({
45
+ hasSearch,
46
+ labelId,
47
+ accessibilityLabel,
48
+ triggerId
49
+ });
50
+ const Comp = asChild ? _slot.Slot : _reactNative.View;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.SelectContentProvider, {
52
+ value: SHEET_CONTENT_CONTEXT,
53
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
54
+ ref: ref,
55
+ id: contentId,
56
+ ...roleProps,
57
+ ...props,
58
+ ...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
59
+ state: 'open'
60
+ })),
61
+ onAccessibilityEscape: (0, _utils.composeEventHandlers)(onAccessibilityEscape, dismiss),
62
+ children: children
63
+ })
64
+ });
65
+ });
66
+ SelectSheetContent.displayName = 'SelectSheetContent';
67
+ //# sourceMappingURL=SelectSheetContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_slot","_dataAttributes","_context","_popupRole","_jsxRuntime","SHEET_CONTENT_CONTEXT","handleKeyDown","undefined","SelectSheetContent","exports","forwardRef","asChild","children","onAccessibilityEscape","props","ref","setOpen","hasSearch","labelId","accessibilityLabel","triggerId","contentId","useSelectContext","dismiss","useCallback","roleProps","getPopupRoleProps","Comp","Slot","View","jsx","SelectContentProvider","value","id","mergeDataAttributes","dataAttributes","state","composeEventHandlers","displayName"],"sourceRoot":"../../../src","sources":["select/SelectSheetContent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAAgD,IAAAO,WAAA,GAAAP,OAAA;AAQhD;AACA;AACA;AACA;AACA,MAAMQ,qBAAgD,GAAG;EAAEC,aAAa,EAAEA,CAAA,KAAMC;AAAU,CAAC;;AAE3F;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,iBAAU,EAC1C,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,qBAAqB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC/D,MAAM;IAAEC,OAAO;IAAEC,SAAS;IAAEC,OAAO;IAAEC,kBAAkB;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAC7E,IAAAC,yBAAgB,EAAC,CAAC;EAEpB,MAAMC,OAAO,GAAG,IAAAC,kBAAW,EAAC,MAAMR,OAAO,CAAC,KAAK,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAC5D,MAAMS,SAAS,GAAG,IAAAC,4BAAiB,EAAC;IAAET,SAAS;IAAEC,OAAO;IAAEC,kBAAkB;IAAEC;EAAU,CAAC,CAAC;EAE1F,MAAMO,IAAI,GAAGhB,OAAO,GAAGiB,UAAI,GAAGC,iBAAI;EAElC,oBACE,IAAAzB,WAAA,CAAA0B,GAAA,EAAC5B,QAAA,CAAA6B,qBAAqB;IAACC,KAAK,EAAE3B,qBAAsB;IAAAO,QAAA,eAClD,IAAAR,WAAA,CAAA0B,GAAA,EAACH,IAAI;MACHZ,GAAG,EAAEA,GAAI;MACTkB,EAAE,EAAEZ,SAAU;MAAA,GACVI,SAAS;MAAA,GACTX,KAAK;MAAA,GACL,IAAAoB,mCAAmB,EAACpB,KAAK,EAAE,IAAAqB,8BAAc,EAAC;QAAEC,KAAK,EAAE;MAAO,CAAC,CAAC,CAAC;MACjEvB,qBAAqB,EAAE,IAAAwB,2BAAoB,EAACxB,qBAAqB,EAAEU,OAAO,CAAE;MAAAX,QAAA,EAE3EA;IAAQ,CACL;EAAC,CACc,CAAC;AAE5B,CACF,CAAC;AAEDJ,kBAAkB,CAAC8B,WAAW,GAAG,oBAAoB","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useSelectItemContext = exports.useSelectContext = exports.SelectProvider = exports.SelectItemProvider = void 0;
6
+ exports.useSelectItemContext = exports.useSelectContext = exports.useSelectContentContext = exports.SelectProvider = exports.SelectItemProvider = exports.SelectContentProvider = void 0;
7
7
  var _utils = require("@cdx-ui/utils");
8
8
  const [SelectProvider, useSelectContext] = (0, _utils.createContext)('SelectContext');
9
9
 
@@ -16,4 +16,8 @@ exports.SelectProvider = SelectProvider;
16
16
  const [SelectItemProvider, useSelectItemContext] = (0, _utils.createContext)('SelectItemContext');
17
17
  exports.useSelectItemContext = useSelectItemContext;
18
18
  exports.SelectItemProvider = SelectItemProvider;
19
+ /** Internal: lets `Select.Search` drive the listbox from its input. */
20
+ const [SelectContentProvider, useSelectContentContext] = (0, _utils.createContext)('SelectContentContext');
21
+ exports.useSelectContentContext = useSelectContentContext;
22
+ exports.SelectContentProvider = SelectContentProvider;
19
23
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","SelectProvider","useSelectContext","createContext","exports","SelectItemProvider","useSelectItemContext"],"sourceRoot":"../../../src","sources":["select/context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAM,CAACC,cAAc,EAAEC,gBAAgB,CAAC,GAC7C,IAAAC,oBAAa,EAAqB,eAAe,CAAC;;AAEpD;AACA;AACA;AACA;AAHAC,OAAA,CAAAF,gBAAA,GAAAA,gBAAA;AAAAE,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAIO,MAAM,CAACI,kBAAkB,EAAEC,oBAAoB,CAAC,GACrD,IAAAH,oBAAa,EAA6B,mBAAmB,CAAC;AAACC,OAAA,CAAAE,oBAAA,GAAAA,oBAAA;AAAAF,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","SelectProvider","useSelectContext","createContext","exports","SelectItemProvider","useSelectItemContext","SelectContentProvider","useSelectContentContext"],"sourceRoot":"../../../src","sources":["select/context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAM,CAACC,cAAc,EAAEC,gBAAgB,CAAC,GAC7C,IAAAC,oBAAa,EAAqB,eAAe,CAAC;;AAEpD;AACA;AACA;AACA;AAHAC,OAAA,CAAAF,gBAAA,GAAAA,gBAAA;AAAAE,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAIO,MAAM,CAACI,kBAAkB,EAAEC,oBAAoB,CAAC,GACrD,IAAAH,oBAAa,EAA6B,mBAAmB,CAAC;AAACC,OAAA,CAAAE,oBAAA,GAAAA,oBAAA;AAAAF,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAOjE;AACO,MAAM,CAACE,qBAAqB,EAAEC,uBAAuB,CAAC,GAC3D,IAAAL,oBAAa,EAA4B,sBAAsB,CAAC;AAACC,OAAA,CAAAI,uBAAA,GAAAA,uBAAA;AAAAJ,OAAA,CAAAG,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultSelectFilter = void 0;
7
+ const COMBINING_MARKS = /[̀-ͯ]/g;
8
+ function normalize(text) {
9
+ const decomposed = typeof text.normalize === 'function' ? text.normalize('NFD') : text;
10
+ return decomposed.replace(COMBINING_MARKS, '').toLocaleLowerCase();
11
+ }
12
+
13
+ /** Case- and accent-insensitive `contains`: "cafe" matches "Café". */
14
+ const defaultSelectFilter = (textValue, inputValue) => normalize(textValue).includes(normalize(inputValue));
15
+ exports.defaultSelectFilter = defaultSelectFilter;
16
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["COMBINING_MARKS","normalize","text","decomposed","replace","toLocaleLowerCase","defaultSelectFilter","textValue","inputValue","includes","exports"],"sourceRoot":"../../../src","sources":["select/filter.ts"],"mappings":";;;;;;AAEA,MAAMA,eAAe,GAAG,QAAQ;AAEhC,SAASC,SAASA,CAACC,IAAY,EAAU;EACvC,MAAMC,UAAU,GAAG,OAAOD,IAAI,CAACD,SAAS,KAAK,UAAU,GAAGC,IAAI,CAACD,SAAS,CAAC,KAAK,CAAC,GAAGC,IAAI;EACtF,OAAOC,UAAU,CAACC,OAAO,CAACJ,eAAe,EAAE,EAAE,CAAC,CAACK,iBAAiB,CAAC,CAAC;AACpE;;AAEA;AACO,MAAMC,mBAAiC,GAAGA,CAACC,SAAS,EAAEC,UAAU,KACrEP,SAAS,CAACM,SAAS,CAAC,CAACE,QAAQ,CAACR,SAAS,CAACO,UAAU,CAAC,CAAC;AAACE,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -9,18 +9,48 @@ Object.defineProperty(exports, "SelectContent", {
9
9
  return _SelectContent.SelectContent;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "SelectEmpty", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _SelectEmpty.SelectEmpty;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "SelectItem", {
13
19
  enumerable: true,
14
20
  get: function () {
15
21
  return _SelectItem.SelectItem;
16
22
  }
17
23
  });
24
+ Object.defineProperty(exports, "SelectListbox", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _SelectListbox.SelectListbox;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SelectProvider", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _context.SelectProvider;
34
+ }
35
+ });
18
36
  Object.defineProperty(exports, "SelectRoot", {
19
37
  enumerable: true,
20
38
  get: function () {
21
39
  return _SelectRoot.SelectRoot;
22
40
  }
23
41
  });
42
+ Object.defineProperty(exports, "SelectSearch", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _SelectSearch.SelectSearch;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "SelectSheetContent", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _SelectSheetContent.SelectSheetContent;
52
+ }
53
+ });
24
54
  Object.defineProperty(exports, "SelectTrigger", {
25
55
  enumerable: true,
26
56
  get: function () {
@@ -43,5 +73,9 @@ var _context = require("./context");
43
73
  var _SelectRoot = require("./SelectRoot");
44
74
  var _SelectTrigger = require("./SelectTrigger");
45
75
  var _SelectContent = require("./SelectContent");
76
+ var _SelectSheetContent = require("./SelectSheetContent");
77
+ var _SelectSearch = require("./SelectSearch");
78
+ var _SelectListbox = require("./SelectListbox");
79
+ var _SelectEmpty = require("./SelectEmpty");
46
80
  var _SelectItem = require("./SelectItem");
47
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_context","require","_SelectRoot","_SelectTrigger","_SelectContent","_SelectItem"],"sourceRoot":"../../../src","sources":["select/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_context","require","_SelectRoot","_SelectTrigger","_SelectContent","_SelectSheetContent","_SelectSearch","_SelectListbox","_SelectEmpty","_SelectItem"],"sourceRoot":"../../../src","sources":["select/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPopupRoleProps = getPopupRoleProps;
7
+ /**
8
+ * Role and name of the popup surface. With `Select.Search` the popup is a dialog holding a
9
+ * searchbox and a listbox (a listbox may only own options), named by the field label, then
10
+ * `accessibilityLabel`. Without it the popup is the listbox.
11
+ */
12
+ function getPopupRoleProps({
13
+ hasSearch,
14
+ labelId,
15
+ accessibilityLabel,
16
+ triggerId
17
+ }) {
18
+ return hasSearch ? {
19
+ role: 'dialog',
20
+ 'aria-labelledby': labelId ?? (accessibilityLabel ? undefined : triggerId),
21
+ 'aria-label': labelId ? undefined : accessibilityLabel
22
+ } : {
23
+ role: 'listbox',
24
+ 'aria-labelledby': triggerId
25
+ };
26
+ }
27
+ //# sourceMappingURL=popupRole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getPopupRoleProps","hasSearch","labelId","accessibilityLabel","triggerId","role","undefined"],"sourceRoot":"../../../src","sources":["select/popupRole.ts"],"mappings":";;;;;;AAOA;AACA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAAC;EAChCC,SAAS;EACTC,OAAO;EACPC,kBAAkB;EAClBC;AACe,CAAC,EAAE;EAClB,OAAOH,SAAS,GACZ;IACEI,IAAI,EAAE,QAAiB;IACvB,iBAAiB,EAAEH,OAAO,KAAKC,kBAAkB,GAAGG,SAAS,GAAGF,SAAS,CAAC;IAC1E,YAAY,EAAEF,OAAO,GAAGI,SAAS,GAAGH;EACtC,CAAC,GACD;IAAEE,IAAI,EAAE,SAAkB;IAAE,iBAAiB,EAAED;EAAU,CAAC;AAChE","ignoreList":[]}
@@ -10,38 +10,27 @@ var _reactNative = require("react-native");
10
10
 
11
11
  /**
12
12
  * Manages focus lifecycle for overlay content:
13
+ * - Clears `activeValue` when the overlay closes
13
14
  * - Restores focus to the trigger when the overlay closes (web)
14
- * - Initializes `activeValue` to the current value or first enabled item
15
15
  *
16
- * Initial focus on open is handled via a ref callback in SelectContent
17
- * to avoid timing issues with deferred portal rendering.
16
+ * Initial focus on open is handled by `FocusScope autoFocus` in SelectContent, and the
17
+ * highlight while open by `useQueryHighlight`.
18
18
  */
19
19
  function useContentFocus({
20
20
  open,
21
21
  triggerRef,
22
- items,
23
- value,
24
22
  setActiveValue
25
23
  }) {
26
- const prevOpenRef = (0, _react.useRef)(open);
27
- const getEnabledItems = (0, _react.useCallback)(() => items.filter(item => !item.disabled), [items]);
24
+ const prevOpenRef = (0, _react.useRef)(false);
28
25
  (0, _react.useEffect)(() => {
29
- if (prevOpenRef.current && !open && _reactNative.Platform.OS === 'web') {
30
- triggerRef.current?.focus?.();
31
- }
26
+ const wasOpen = prevOpenRef.current;
32
27
  prevOpenRef.current = open;
33
- }, [open, triggerRef]);
34
- (0, _react.useEffect)(() => {
35
- if (open) {
36
- const enabled = getEnabledItems();
37
- if (value && enabled.some(i => i.value === value)) {
38
- setActiveValue(value);
39
- } else if (enabled.length > 0) {
40
- setActiveValue(enabled[0].value);
41
- }
42
- } else {
28
+ if (!open) {
43
29
  setActiveValue(undefined);
30
+ if (wasOpen && _reactNative.Platform.OS === 'web') {
31
+ triggerRef.current?.focus?.();
32
+ }
44
33
  }
45
- }, [open, getEnabledItems, setActiveValue, value]);
34
+ }, [open, setActiveValue, triggerRef]);
46
35
  }
47
36
  //# sourceMappingURL=useContentFocus.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","useContentFocus","open","triggerRef","items","value","setActiveValue","prevOpenRef","useRef","getEnabledItems","useCallback","filter","item","disabled","useEffect","current","Platform","OS","focus","enabled","some","i","length","undefined"],"sourceRoot":"../../../src","sources":["select/useContentFocus.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAC;EAC9BC,IAAI;EACJC,UAAU;EACVC,KAAK;EACLC,KAAK;EACLC;AACsB,CAAC,EAAE;EACzB,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACN,IAAI,CAAC;EAEhC,MAAMO,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAMN,KAAK,CAACO,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACT,KAAK,CAAC,CAAC;EAE1F,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAIP,WAAW,CAACQ,OAAO,IAAI,CAACb,IAAI,IAAIc,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzDd,UAAU,CAACY,OAAO,EAAEG,KAAK,GAAG,CAAC;IAC/B;IACAX,WAAW,CAACQ,OAAO,GAAGb,IAAI;EAC5B,CAAC,EAAE,CAACA,IAAI,EAAEC,UAAU,CAAC,CAAC;EAEtB,IAAAW,gBAAS,EAAC,MAAM;IACd,IAAIZ,IAAI,EAAE;MACR,MAAMiB,OAAO,GAAGV,eAAe,CAAC,CAAC;MACjC,IAAIJ,KAAK,IAAIc,OAAO,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAChB,KAAK,KAAKA,KAAK,CAAC,EAAE;QACnDC,cAAc,CAACD,KAAK,CAAC;MACvB,CAAC,MAAM,IAAIc,OAAO,CAACG,MAAM,GAAG,CAAC,EAAE;QAC7BhB,cAAc,CAACa,OAAO,CAAC,CAAC,CAAC,CAACd,KAAK,CAAC;MAClC;IACF,CAAC,MAAM;MACLC,cAAc,CAACiB,SAAS,CAAC;IAC3B;EACF,CAAC,EAAE,CAACrB,IAAI,EAAEO,eAAe,EAAEH,cAAc,EAAED,KAAK,CAAC,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","useContentFocus","open","triggerRef","setActiveValue","prevOpenRef","useRef","useEffect","wasOpen","current","undefined","Platform","OS","focus"],"sourceRoot":"../../../src","sources":["select/useContentFocus.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAC;EAAEC,IAAI;EAAEC,UAAU;EAAEC;AAAuC,CAAC,EAAE;EAC5F,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAEjC,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,OAAO,GAAGH,WAAW,CAACI,OAAO;IACnCJ,WAAW,CAACI,OAAO,GAAGP,IAAI;IAE1B,IAAI,CAACA,IAAI,EAAE;MACTE,cAAc,CAACM,SAAS,CAAC;MACzB,IAAIF,OAAO,IAAIG,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;QACpCT,UAAU,CAACM,OAAO,EAAEI,KAAK,GAAG,CAAC;MAC/B;IACF;EACF,CAAC,EAAE,CAACX,IAAI,EAAEE,cAAc,EAAED,UAAU,CAAC,CAAC;AACxC","ignoreList":[]}
@@ -7,18 +7,24 @@ exports.useListboxNavigation = useListboxNavigation;
7
7
  var _react = require("react");
8
8
  // TODO: Split into web and native versions?
9
9
 
10
+ /** Keys the search input keeps for text editing: Space types, Home/End move the caret. */
11
+ const SEARCH_INPUT_KEYS = new Set([' ', 'Home', 'End']);
10
12
  function useListboxNavigation({
11
13
  items,
12
14
  activeValue,
13
15
  setActiveValue,
14
- onSelect,
15
- onDismiss
16
+ type,
17
+ onToggle,
18
+ onSelectAndClose,
19
+ isItemDisabled,
20
+ onDismiss,
21
+ isSearch = false
16
22
  }) {
17
- const onSelectRef = (0, _react.useRef)(onSelect);
18
- onSelectRef.current = onSelect;
23
+ const commitRef = (0, _react.useRef)(onSelectAndClose);
24
+ commitRef.current = type === 'multiple' ? onToggle : onSelectAndClose;
19
25
  const onDismissRef = (0, _react.useRef)(onDismiss);
20
26
  onDismissRef.current = onDismiss;
21
- const getEnabledItems = (0, _react.useCallback)(() => items.filter(item => !item.disabled), [items]);
27
+ const getEnabledItems = (0, _react.useCallback)(() => items.filter(item => !isItemDisabled(item.value)), [items, isItemDisabled]);
22
28
  const handleKeyDown = (0, _react.useCallback)(e => {
23
29
  if (e.key === 'Escape') {
24
30
  e.preventDefault();
@@ -30,6 +36,13 @@ function useListboxNavigation({
30
36
  onDismissRef.current();
31
37
  return;
32
38
  }
39
+ if (isSearch && SEARCH_INPUT_KEYS.has(e.key)) {
40
+ return;
41
+ }
42
+ if (isSearch && e.key === 'Enter') {
43
+ // Keeps the input from blurring or submitting an enclosing form, even with no match.
44
+ e.preventDefault();
45
+ }
33
46
  const enabledItems = getEnabledItems();
34
47
  if (enabledItems.length === 0) {
35
48
  return;
@@ -67,13 +80,13 @@ function useListboxNavigation({
67
80
  case ' ':
68
81
  {
69
82
  e.preventDefault();
70
- if (activeValue) {
71
- onSelectRef.current(activeValue);
83
+ if (activeValue !== undefined && idx !== -1) {
84
+ commitRef.current(activeValue);
72
85
  }
73
86
  break;
74
87
  }
75
88
  }
76
- }, [activeValue, getEnabledItems, setActiveValue]);
89
+ }, [activeValue, getEnabledItems, isSearch, setActiveValue]);
77
90
  return {
78
91
  handleKeyDown,
79
92
  getEnabledItems
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useListboxNavigation","items","activeValue","setActiveValue","onSelect","onDismiss","onSelectRef","useRef","current","onDismissRef","getEnabledItems","useCallback","filter","item","disabled","handleKeyDown","e","key","preventDefault","stopPropagation","enabledItems","length","idx","findIndex","i","value","last","at"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;;AAUO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,QAAQ;EACRC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACH,QAAQ,CAAC;EACpCE,WAAW,CAACE,OAAO,GAAGJ,QAAQ;EAE9B,MAAMK,YAAY,GAAG,IAAAF,aAAM,EAACF,SAAS,CAAC;EACtCI,YAAY,CAACD,OAAO,GAAGH,SAAS;EAEhC,MAAMK,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAMV,KAAK,CAACW,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EAE1F,MAAMc,aAAa,GAAG,IAAAJ,kBAAW,EAC9BK,CAAM,IAAK;IACV,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBF,CAAC,CAACG,eAAe,GAAG,CAAC;MACrBV,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,IAAIQ,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;MACnBR,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,MAAMY,YAAY,GAAGV,eAAe,CAAC,CAAC;IACtC,IAAIU,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B;IACF;IAEA,MAAMC,GAAG,GAAGF,YAAY,CAACG,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKvB,WAAW,CAAC;IAElE,QAAQc,CAAC,CAACC,GAAG;MACX,KAAK,WAAW;QAAE;UAChBD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBf,cAAc,CAACiB,YAAY,CAACE,GAAG,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,SAAS;QAAE;UACdT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBf,cAAc,CAACiB,YAAY,CAACE,GAAG,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,CAAC,CAACI,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,MAAM;QAAE;UACXT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBf,cAAc,CAACiB,YAAY,CAAC,CAAC,CAAC,CAACK,KAAK,CAAC;UACrC;QACF;MACA,KAAK,KAAK;QAAE;UACVT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,MAAMQ,IAAI,GAAGN,YAAY,CAACO,EAAE,CAAC,CAAC,CAAC,CAAC;UAChC,IAAID,IAAI,EAAE;YACRvB,cAAc,CAACuB,IAAI,CAACD,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,IAAIhB,WAAW,EAAE;YACfI,WAAW,CAACE,OAAO,CAACN,WAAW,CAAC;UAClC;UACA;QACF;IACF;EACF,CAAC,EACD,CAACA,WAAW,EAAEQ,eAAe,EAAEP,cAAc,CAC/C,CAAC;EAED,OAAO;IAAEY,aAAa;IAAEL;EAAgB,CAAC;AAC3C","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","SEARCH_INPUT_KEYS","Set","useListboxNavigation","items","activeValue","setActiveValue","type","onToggle","onSelectAndClose","isItemDisabled","onDismiss","isSearch","commitRef","useRef","current","onDismissRef","getEnabledItems","useCallback","filter","item","value","handleKeyDown","e","key","preventDefault","stopPropagation","has","enabledItems","length","idx","findIndex","i","last","at","undefined"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useQueryHighlight = useQueryHighlight;
7
+ var _react = require("react");
8
+ /**
9
+ * Owns the highlight while open:
10
+ * - Unset (on open, or once async `items` arrive): the first enabled selected item, or the
11
+ * first enabled item.
12
+ * - Query change: the first enabled match.
13
+ * - Hidden by the filter or a swapped `items` list: the first enabled item.
14
+ *
15
+ * Otherwise the highlight stays put, so a multiple-mode toggle does not move it.
16
+ */
17
+ function useQueryHighlight({
18
+ open,
19
+ inputValue,
20
+ visibleItems,
21
+ selectedValues,
22
+ isItemDisabled,
23
+ activeValue,
24
+ setActiveValue
25
+ }) {
26
+ const prevInputValueRef = (0, _react.useRef)(inputValue);
27
+ const selectedRef = (0, _react.useRef)(selectedValues);
28
+ selectedRef.current = selectedValues;
29
+ (0, _react.useEffect)(() => {
30
+ const queryChanged = prevInputValueRef.current !== inputValue;
31
+ prevInputValueRef.current = inputValue;
32
+ if (!open) {
33
+ return;
34
+ }
35
+ const enabled = visibleItems.filter(item => !isItemDisabled(item.value));
36
+ if (activeValue === undefined) {
37
+ const selected = selectedRef.current;
38
+ const initial = enabled.find(item => selected.includes(item.value)) ?? enabled.at(0);
39
+ if (initial) {
40
+ setActiveValue(initial.value);
41
+ }
42
+ return;
43
+ }
44
+ const activeHidden = !enabled.some(item => item.value === activeValue);
45
+ if (queryChanged || activeHidden) {
46
+ setActiveValue(enabled.at(0)?.value);
47
+ }
48
+ }, [open, inputValue, visibleItems, isItemDisabled, activeValue, setActiveValue]);
49
+ }
50
+ //# sourceMappingURL=useQueryHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useQueryHighlight","open","inputValue","visibleItems","selectedValues","isItemDisabled","activeValue","setActiveValue","prevInputValueRef","useRef","selectedRef","current","useEffect","queryChanged","enabled","filter","item","value","undefined","selected","initial","find","includes","at","activeHidden","some"],"sourceRoot":"../../../src","sources":["select/useQueryHighlight.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAC;EAChCC,IAAI;EACJC,UAAU;EACVC,YAAY;EACZC,cAAc;EACdC,cAAc;EACdC,WAAW;EACXC;AACwB,CAAC,EAAE;EAC3B,MAAMC,iBAAiB,GAAG,IAAAC,aAAM,EAACP,UAAU,CAAC;EAC5C,MAAMQ,WAAW,GAAG,IAAAD,aAAM,EAACL,cAAc,CAAC;EAC1CM,WAAW,CAACC,OAAO,GAAGP,cAAc;EAEpC,IAAAQ,gBAAS,EAAC,MAAM;IACd,MAAMC,YAAY,GAAGL,iBAAiB,CAACG,OAAO,KAAKT,UAAU;IAC7DM,iBAAiB,CAACG,OAAO,GAAGT,UAAU;IAEtC,IAAI,CAACD,IAAI,EAAE;MACT;IACF;IAEA,MAAMa,OAAO,GAAGX,YAAY,CAACY,MAAM,CAAEC,IAAI,IAAK,CAACX,cAAc,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC;IAE1E,IAAIX,WAAW,KAAKY,SAAS,EAAE;MAC7B,MAAMC,QAAQ,GAAGT,WAAW,CAACC,OAAO;MACpC,MAAMS,OAAO,GAAGN,OAAO,CAACO,IAAI,CAAEL,IAAI,IAAKG,QAAQ,CAACG,QAAQ,CAACN,IAAI,CAACC,KAAK,CAAC,CAAC,IAAIH,OAAO,CAACS,EAAE,CAAC,CAAC,CAAC;MACtF,IAAIH,OAAO,EAAE;QACXb,cAAc,CAACa,OAAO,CAACH,KAAK,CAAC;MAC/B;MACA;IACF;IAEA,MAAMO,YAAY,GAAG,CAACV,OAAO,CAACW,IAAI,CAAET,IAAI,IAAKA,IAAI,CAACC,KAAK,KAAKX,WAAW,CAAC;IAExE,IAAIO,YAAY,IAAIW,YAAY,EAAE;MAChCjB,cAAc,CAACO,OAAO,CAACS,EAAE,CAAC,CAAC,CAAC,EAAEN,KAAK,CAAC;IACtC;EACF,CAAC,EAAE,CAAChB,IAAI,EAAEC,UAAU,EAAEC,YAAY,EAAEE,cAAc,EAAEC,WAAW,EAAEC,cAAc,CAAC,CAAC;AACnF","ignoreList":[]}
@@ -58,6 +58,7 @@ function useSelectTrigger(forwardedRef, options) {
58
58
  contentId,
59
59
  triggerRef,
60
60
  activeValue,
61
+ hasSearch,
61
62
  accessibilityLabel,
62
63
  ariaDescribedBy: ariaDescribedByFromField
63
64
  } = (0, _context.useSelectContext)();
@@ -166,10 +167,12 @@ function useSelectTrigger(forwardedRef, options) {
166
167
  const ariaProps = {
167
168
  role: 'combobox',
168
169
  'aria-label': accessibilityLabel,
170
+ // Kept as `listbox` with search too (RAC's choice), pending the a11y spike (DEVEX-8289).
169
171
  'aria-haspopup': 'listbox',
170
172
  'aria-expanded': open,
171
173
  'aria-controls': contentId,
172
- 'aria-activedescendant': open && activeValue ? `${contentId}-option-${activeValue}` : undefined,
174
+ // With search, the input owns the active descendant.
175
+ 'aria-activedescendant': open && activeValue && !hasSearch ? `${contentId}-option-${activeValue}` : undefined,
173
176
  'aria-required': contextRequired || undefined,
174
177
  'aria-invalid': contextInvalid || undefined,
175
178
  'aria-readonly': contextReadOnly || undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","FIELD_STATES","useSelectTrigger","forwardedRef","options","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","FIELD_STATES","useSelectTrigger","forwardedRef","options","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","hasSearch","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
@@ -56,6 +56,7 @@ function useSelectTrigger(forwardedRef, options) {
56
56
  contentId,
57
57
  triggerRef,
58
58
  activeValue,
59
+ hasSearch,
59
60
  accessibilityLabel,
60
61
  ariaDescribedBy: ariaDescribedByFromField
61
62
  } = (0, _context.useSelectContext)();
@@ -155,10 +156,12 @@ function useSelectTrigger(forwardedRef, options) {
155
156
  const ariaProps = {
156
157
  role: 'combobox',
157
158
  'aria-label': accessibilityLabel,
159
+ // Kept as `listbox` with search too (RAC's choice), pending the a11y spike (DEVEX-8289).
158
160
  'aria-haspopup': 'listbox',
159
161
  'aria-expanded': open,
160
162
  'aria-controls': contentId,
161
- 'aria-activedescendant': open && activeValue ? `${contentId}-option-${activeValue}` : undefined,
163
+ // With search, the input owns the active descendant.
164
+ 'aria-activedescendant': open && activeValue && !hasSearch ? `${contentId}-option-${activeValue}` : undefined,
162
165
  'aria-required': contextRequired || undefined,
163
166
  'aria-invalid': contextInvalid || undefined,
164
167
  'aria-readonly': contextReadOnly || undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","FIELD_STATES","useSelectTrigger","forwardedRef","options","asChild","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","pressProps","isPressed","usePress","focusProps","useFocus","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","FIELD_STATES","useSelectTrigger","forwardedRef","options","asChild","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","hasSearch","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","pressProps","isPressed","usePress","focusProps","useFocus","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.splitContainerProps = splitContainerProps;
7
+ /**
8
+ * Splits the props a split root's container keeps (`className`, data attributes) from the ones
9
+ * its press region receives.
10
+ */
11
+ function splitContainerProps(props) {
12
+ const container = {};
13
+ const region = {};
14
+ for (const key in props) {
15
+ if (key === 'className' || key === 'dataSet' || key.startsWith('data-')) {
16
+ container[key] = props[key];
17
+ } else {
18
+ region[key] = props[key];
19
+ }
20
+ }
21
+ return {
22
+ container,
23
+ region
24
+ };
25
+ }
26
+ //# sourceMappingURL=splitContainerProps.js.map