@cdx-ui/primitives 0.3.3 → 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 (140) hide show
  1. package/lib/commonjs/select/SelectContent.js +89 -45
  2. package/lib/commonjs/select/SelectContent.js.map +1 -1
  3. package/lib/commonjs/select/SelectDismissButton.js +14 -0
  4. package/lib/commonjs/select/SelectDismissButton.js.map +1 -0
  5. package/lib/commonjs/select/SelectDismissButton.web.js +28 -0
  6. package/lib/commonjs/select/SelectDismissButton.web.js.map +1 -0
  7. package/lib/commonjs/select/SelectEmpty.js +53 -0
  8. package/lib/commonjs/select/SelectEmpty.js.map +1 -0
  9. package/lib/commonjs/select/SelectItem.js +30 -9
  10. package/lib/commonjs/select/SelectItem.js.map +1 -1
  11. package/lib/commonjs/select/SelectListbox.js +47 -0
  12. package/lib/commonjs/select/SelectListbox.js.map +1 -0
  13. package/lib/commonjs/select/SelectRoot.js +110 -21
  14. package/lib/commonjs/select/SelectRoot.js.map +1 -1
  15. package/lib/commonjs/select/SelectSearch.js +81 -0
  16. package/lib/commonjs/select/SelectSearch.js.map +1 -0
  17. package/lib/commonjs/select/SelectSearchStatus.js +14 -0
  18. package/lib/commonjs/select/SelectSearchStatus.js.map +1 -0
  19. package/lib/commonjs/select/SelectSearchStatus.web.js +24 -0
  20. package/lib/commonjs/select/SelectSearchStatus.web.js.map +1 -0
  21. package/lib/commonjs/select/SelectSheetContent.js +67 -0
  22. package/lib/commonjs/select/SelectSheetContent.js.map +1 -0
  23. package/lib/commonjs/select/context.js +5 -1
  24. package/lib/commonjs/select/context.js.map +1 -1
  25. package/lib/commonjs/select/filter.js +16 -0
  26. package/lib/commonjs/select/filter.js.map +1 -0
  27. package/lib/commonjs/select/index.js +34 -0
  28. package/lib/commonjs/select/index.js.map +1 -1
  29. package/lib/commonjs/select/popupRole.js +27 -0
  30. package/lib/commonjs/select/popupRole.js.map +1 -0
  31. package/lib/commonjs/select/useContentFocus.js +10 -21
  32. package/lib/commonjs/select/useContentFocus.js.map +1 -1
  33. package/lib/commonjs/select/useListboxNavigation.js +21 -8
  34. package/lib/commonjs/select/useListboxNavigation.js.map +1 -1
  35. package/lib/commonjs/select/useQueryHighlight.js +50 -0
  36. package/lib/commonjs/select/useQueryHighlight.js.map +1 -0
  37. package/lib/commonjs/select/useSelectTrigger.js +4 -1
  38. package/lib/commonjs/select/useSelectTrigger.js.map +1 -1
  39. package/lib/commonjs/select/useSelectTrigger.web.js +4 -1
  40. package/lib/commonjs/select/useSelectTrigger.web.js.map +1 -1
  41. package/lib/module/select/SelectContent.js +94 -48
  42. package/lib/module/select/SelectContent.js.map +1 -1
  43. package/lib/module/select/SelectDismissButton.js +10 -0
  44. package/lib/module/select/SelectDismissButton.js.map +1 -0
  45. package/lib/module/select/SelectDismissButton.web.js +24 -0
  46. package/lib/module/select/SelectDismissButton.web.js.map +1 -0
  47. package/lib/module/select/SelectEmpty.js +49 -0
  48. package/lib/module/select/SelectEmpty.js.map +1 -0
  49. package/lib/module/select/SelectItem.js +32 -11
  50. package/lib/module/select/SelectItem.js.map +1 -1
  51. package/lib/module/select/SelectListbox.js +43 -0
  52. package/lib/module/select/SelectListbox.js.map +1 -0
  53. package/lib/module/select/SelectRoot.js +111 -22
  54. package/lib/module/select/SelectRoot.js.map +1 -1
  55. package/lib/module/select/SelectSearch.js +77 -0
  56. package/lib/module/select/SelectSearch.js.map +1 -0
  57. package/lib/module/select/SelectSearchStatus.js +10 -0
  58. package/lib/module/select/SelectSearchStatus.js.map +1 -0
  59. package/lib/module/select/SelectSearchStatus.web.js +20 -0
  60. package/lib/module/select/SelectSearchStatus.web.js.map +1 -0
  61. package/lib/module/select/SelectSheetContent.js +63 -0
  62. package/lib/module/select/SelectSheetContent.js.map +1 -0
  63. package/lib/module/select/context.js +2 -0
  64. package/lib/module/select/context.js.map +1 -1
  65. package/lib/module/select/filter.js +11 -0
  66. package/lib/module/select/filter.js.map +1 -0
  67. package/lib/module/select/index.js +5 -1
  68. package/lib/module/select/index.js.map +1 -1
  69. package/lib/module/select/popupRole.js +23 -0
  70. package/lib/module/select/popupRole.js.map +1 -0
  71. package/lib/module/select/useContentFocus.js +11 -22
  72. package/lib/module/select/useContentFocus.js.map +1 -1
  73. package/lib/module/select/useListboxNavigation.js +21 -8
  74. package/lib/module/select/useListboxNavigation.js.map +1 -1
  75. package/lib/module/select/useQueryHighlight.js +46 -0
  76. package/lib/module/select/useQueryHighlight.js.map +1 -0
  77. package/lib/module/select/useSelectTrigger.js +4 -1
  78. package/lib/module/select/useSelectTrigger.js.map +1 -1
  79. package/lib/module/select/useSelectTrigger.web.js +4 -1
  80. package/lib/module/select/useSelectTrigger.web.js.map +1 -1
  81. package/lib/typescript/select/SelectContent.d.ts.map +1 -1
  82. package/lib/typescript/select/SelectDismissButton.d.ts +10 -0
  83. package/lib/typescript/select/SelectDismissButton.d.ts.map +1 -0
  84. package/lib/typescript/select/SelectDismissButton.web.d.ts +9 -0
  85. package/lib/typescript/select/SelectDismissButton.web.d.ts.map +1 -0
  86. package/lib/typescript/select/SelectEmpty.d.ts +12 -0
  87. package/lib/typescript/select/SelectEmpty.d.ts.map +1 -0
  88. package/lib/typescript/select/SelectItem.d.ts.map +1 -1
  89. package/lib/typescript/select/SelectListbox.d.ts +12 -0
  90. package/lib/typescript/select/SelectListbox.d.ts.map +1 -0
  91. package/lib/typescript/select/SelectRoot.d.ts +2 -2
  92. package/lib/typescript/select/SelectRoot.d.ts.map +1 -1
  93. package/lib/typescript/select/SelectSearch.d.ts +18 -0
  94. package/lib/typescript/select/SelectSearch.d.ts.map +1 -0
  95. package/lib/typescript/select/SelectSearchStatus.d.ts +9 -0
  96. package/lib/typescript/select/SelectSearchStatus.d.ts.map +1 -0
  97. package/lib/typescript/select/SelectSearchStatus.web.d.ts +8 -0
  98. package/lib/typescript/select/SelectSearchStatus.web.d.ts.map +1 -0
  99. package/lib/typescript/select/SelectSheetContent.d.ts +14 -0
  100. package/lib/typescript/select/SelectSheetContent.d.ts.map +1 -0
  101. package/lib/typescript/select/context.d.ts +9 -0
  102. package/lib/typescript/select/context.d.ts.map +1 -1
  103. package/lib/typescript/select/filter.d.ts +4 -0
  104. package/lib/typescript/select/filter.d.ts.map +1 -0
  105. package/lib/typescript/select/index.d.ts +6 -2
  106. package/lib/typescript/select/index.d.ts.map +1 -1
  107. package/lib/typescript/select/popupRole.d.ts +18 -0
  108. package/lib/typescript/select/popupRole.d.ts.map +1 -0
  109. package/lib/typescript/select/types.d.ts +129 -8
  110. package/lib/typescript/select/types.d.ts.map +1 -1
  111. package/lib/typescript/select/useContentFocus.d.ts +4 -7
  112. package/lib/typescript/select/useContentFocus.d.ts.map +1 -1
  113. package/lib/typescript/select/useListboxNavigation.d.ts +16 -3
  114. package/lib/typescript/select/useListboxNavigation.d.ts.map +1 -1
  115. package/lib/typescript/select/useQueryHighlight.d.ts +21 -0
  116. package/lib/typescript/select/useQueryHighlight.d.ts.map +1 -0
  117. package/lib/typescript/select/useSelectTrigger.d.ts.map +1 -1
  118. package/lib/typescript/select/useSelectTrigger.web.d.ts.map +1 -1
  119. package/package.json +3 -3
  120. package/src/select/SelectContent.tsx +89 -54
  121. package/src/select/SelectDismissButton.tsx +14 -0
  122. package/src/select/SelectDismissButton.web.tsx +26 -0
  123. package/src/select/SelectEmpty.tsx +61 -0
  124. package/src/select/SelectItem.tsx +42 -10
  125. package/src/select/SelectListbox.tsx +43 -0
  126. package/src/select/SelectRoot.tsx +184 -12
  127. package/src/select/SelectSearch.tsx +98 -0
  128. package/src/select/SelectSearchStatus.tsx +11 -0
  129. package/src/select/SelectSearchStatus.web.tsx +18 -0
  130. package/src/select/SelectSheetContent.tsx +54 -0
  131. package/src/select/context.tsx +9 -0
  132. package/src/select/filter.ts +12 -0
  133. package/src/select/index.ts +14 -1
  134. package/src/select/popupRole.ts +26 -0
  135. package/src/select/types.ts +142 -9
  136. package/src/select/useContentFocus.ts +12 -31
  137. package/src/select/useListboxNavigation.ts +41 -9
  138. package/src/select/useQueryHighlight.ts +61 -0
  139. package/src/select/useSelectTrigger.ts +5 -1
  140. package/src/select/useSelectTrigger.web.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"names":["useSelectContext","useSelectItemContext","SelectRoot","SelectTrigger","SelectContent","SelectItem"],"sourceRoot":"../../../src","sources":["select/index.ts"],"mappings":";;AAYA,SAASA,gBAAgB,EAAEC,oBAAoB,QAAQ,WAAW;AAClE,SAASC,UAAU,QAA8B,cAAc;AAC/D,SAASC,aAAa,QAAiC,iBAAiB;AACxE,SAASC,aAAa,QAAiC,iBAAiB;AACxE,SAASC,UAAU,QAA8B,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["SelectProvider","useSelectContext","useSelectItemContext","SelectRoot","SelectTrigger","SelectContent","SelectSheetContent","SelectSearch","SelectListbox","SelectEmpty","SelectItem"],"sourceRoot":"../../../src","sources":["select/index.ts"],"mappings":";;AAqBA,SAASA,cAAc,EAAEC,gBAAgB,EAAEC,oBAAoB,QAAQ,WAAW;AAClF,SAASC,UAAU,QAA8B,cAAc;AAC/D,SAASC,aAAa,QAAiC,iBAAiB;AACxE,SAASC,aAAa,QAAiC,iBAAiB;AACxE,SAASC,kBAAkB,QAAsC,sBAAsB;AACvF,SAASC,YAAY,QAAgC,gBAAgB;AACrE,SAASC,aAAa,QAAiC,iBAAiB;AACxE,SAASC,WAAW,QAA+B,eAAe;AAClE,SAASC,UAAU,QAA8B,cAAc","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Role and name of the popup surface. With `Select.Search` the popup is a dialog holding a
5
+ * searchbox and a listbox (a listbox may only own options), named by the field label, then
6
+ * `accessibilityLabel`. Without it the popup is the listbox.
7
+ */
8
+ export function getPopupRoleProps({
9
+ hasSearch,
10
+ labelId,
11
+ accessibilityLabel,
12
+ triggerId
13
+ }) {
14
+ return hasSearch ? {
15
+ role: 'dialog',
16
+ 'aria-labelledby': labelId ?? (accessibilityLabel ? undefined : triggerId),
17
+ 'aria-label': labelId ? undefined : accessibilityLabel
18
+ } : {
19
+ role: 'listbox',
20
+ 'aria-labelledby': triggerId
21
+ };
22
+ }
23
+ //# 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;AACA,OAAO,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":[]}
@@ -1,44 +1,33 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useRef } from 'react';
3
+ import { useEffect, useRef } from 'react';
4
4
  import { Platform } from 'react-native';
5
5
 
6
6
  // TODO: Split into web and native versions?
7
7
 
8
8
  /**
9
9
  * Manages focus lifecycle for overlay content:
10
+ * - Clears `activeValue` when the overlay closes
10
11
  * - Restores focus to the trigger when the overlay closes (web)
11
- * - Initializes `activeValue` to the current value or first enabled item
12
12
  *
13
- * Initial focus on open is handled via a ref callback in SelectContent
14
- * to avoid timing issues with deferred portal rendering.
13
+ * Initial focus on open is handled by `FocusScope autoFocus` in SelectContent, and the
14
+ * highlight while open by `useQueryHighlight`.
15
15
  */
16
16
  export function useContentFocus({
17
17
  open,
18
18
  triggerRef,
19
- items,
20
- value,
21
19
  setActiveValue
22
20
  }) {
23
- const prevOpenRef = useRef(open);
24
- const getEnabledItems = useCallback(() => items.filter(item => !item.disabled), [items]);
21
+ const prevOpenRef = useRef(false);
25
22
  useEffect(() => {
26
- if (prevOpenRef.current && !open && Platform.OS === 'web') {
27
- triggerRef.current?.focus?.();
28
- }
23
+ const wasOpen = prevOpenRef.current;
29
24
  prevOpenRef.current = open;
30
- }, [open, triggerRef]);
31
- useEffect(() => {
32
- if (open) {
33
- const enabled = getEnabledItems();
34
- if (value && enabled.some(i => i.value === value)) {
35
- setActiveValue(value);
36
- } else if (enabled.length > 0) {
37
- setActiveValue(enabled[0].value);
38
- }
39
- } else {
25
+ if (!open) {
40
26
  setActiveValue(undefined);
27
+ if (wasOpen && Platform.OS === 'web') {
28
+ triggerRef.current?.focus?.();
29
+ }
41
30
  }
42
- }, [open, getEnabledItems, setActiveValue, value]);
31
+ }, [open, setActiveValue, triggerRef]);
43
32
  }
44
33
  //# sourceMappingURL=useContentFocus.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","Platform","useContentFocus","open","triggerRef","items","value","setActiveValue","prevOpenRef","getEnabledItems","filter","item","disabled","current","OS","focus","enabled","some","i","length","undefined"],"sourceRoot":"../../../src","sources":["select/useContentFocus.ts"],"mappings":";;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,QAAQ,QAAQ,cAAc;;AAGvC;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAC9BC,IAAI;EACJC,UAAU;EACVC,KAAK;EACLC,KAAK;EACLC;AACsB,CAAC,EAAE;EACzB,MAAMC,WAAW,GAAGR,MAAM,CAACG,IAAI,CAAC;EAEhC,MAAMM,eAAe,GAAGX,WAAW,CAAC,MAAMO,KAAK,CAACK,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACP,KAAK,CAAC,CAAC;EAE1FN,SAAS,CAAC,MAAM;IACd,IAAIS,WAAW,CAACK,OAAO,IAAI,CAACV,IAAI,IAAIF,QAAQ,CAACa,EAAE,KAAK,KAAK,EAAE;MACzDV,UAAU,CAACS,OAAO,EAAEE,KAAK,GAAG,CAAC;IAC/B;IACAP,WAAW,CAACK,OAAO,GAAGV,IAAI;EAC5B,CAAC,EAAE,CAACA,IAAI,EAAEC,UAAU,CAAC,CAAC;EAEtBL,SAAS,CAAC,MAAM;IACd,IAAII,IAAI,EAAE;MACR,MAAMa,OAAO,GAAGP,eAAe,CAAC,CAAC;MACjC,IAAIH,KAAK,IAAIU,OAAO,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACZ,KAAK,KAAKA,KAAK,CAAC,EAAE;QACnDC,cAAc,CAACD,KAAK,CAAC;MACvB,CAAC,MAAM,IAAIU,OAAO,CAACG,MAAM,GAAG,CAAC,EAAE;QAC7BZ,cAAc,CAACS,OAAO,CAAC,CAAC,CAAC,CAACV,KAAK,CAAC;MAClC;IACF,CAAC,MAAM;MACLC,cAAc,CAACa,SAAS,CAAC;IAC3B;EACF,CAAC,EAAE,CAACjB,IAAI,EAAEM,eAAe,EAAEF,cAAc,EAAED,KAAK,CAAC,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","Platform","useContentFocus","open","triggerRef","setActiveValue","prevOpenRef","wasOpen","current","undefined","OS","focus"],"sourceRoot":"../../../src","sources":["select/useContentFocus.ts"],"mappings":";;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAAEC,IAAI;EAAEC,UAAU;EAAEC;AAAuC,CAAC,EAAE;EAC5F,MAAMC,WAAW,GAAGN,MAAM,CAAC,KAAK,CAAC;EAEjCD,SAAS,CAAC,MAAM;IACd,MAAMQ,OAAO,GAAGD,WAAW,CAACE,OAAO;IACnCF,WAAW,CAACE,OAAO,GAAGL,IAAI;IAE1B,IAAI,CAACA,IAAI,EAAE;MACTE,cAAc,CAACI,SAAS,CAAC;MACzB,IAAIF,OAAO,IAAIN,QAAQ,CAACS,EAAE,KAAK,KAAK,EAAE;QACpCN,UAAU,CAACI,OAAO,EAAEG,KAAK,GAAG,CAAC;MAC/B;IACF;EACF,CAAC,EAAE,CAACR,IAAI,EAAEE,cAAc,EAAED,UAAU,CAAC,CAAC;AACxC","ignoreList":[]}
@@ -4,18 +4,24 @@ import { useCallback, useRef } from 'react';
4
4
 
5
5
  // TODO: Split into web and native versions?
6
6
 
7
+ /** Keys the search input keeps for text editing: Space types, Home/End move the caret. */
8
+ const SEARCH_INPUT_KEYS = new Set([' ', 'Home', 'End']);
7
9
  export function useListboxNavigation({
8
10
  items,
9
11
  activeValue,
10
12
  setActiveValue,
11
- onSelect,
12
- onDismiss
13
+ type,
14
+ onToggle,
15
+ onSelectAndClose,
16
+ isItemDisabled,
17
+ onDismiss,
18
+ isSearch = false
13
19
  }) {
14
- const onSelectRef = useRef(onSelect);
15
- onSelectRef.current = onSelect;
20
+ const commitRef = useRef(onSelectAndClose);
21
+ commitRef.current = type === 'multiple' ? onToggle : onSelectAndClose;
16
22
  const onDismissRef = useRef(onDismiss);
17
23
  onDismissRef.current = onDismiss;
18
- const getEnabledItems = useCallback(() => items.filter(item => !item.disabled), [items]);
24
+ const getEnabledItems = useCallback(() => items.filter(item => !isItemDisabled(item.value)), [items, isItemDisabled]);
19
25
  const handleKeyDown = useCallback(e => {
20
26
  if (e.key === 'Escape') {
21
27
  e.preventDefault();
@@ -27,6 +33,13 @@ export function useListboxNavigation({
27
33
  onDismissRef.current();
28
34
  return;
29
35
  }
36
+ if (isSearch && SEARCH_INPUT_KEYS.has(e.key)) {
37
+ return;
38
+ }
39
+ if (isSearch && e.key === 'Enter') {
40
+ // Keeps the input from blurring or submitting an enclosing form, even with no match.
41
+ e.preventDefault();
42
+ }
30
43
  const enabledItems = getEnabledItems();
31
44
  if (enabledItems.length === 0) {
32
45
  return;
@@ -64,13 +77,13 @@ export function useListboxNavigation({
64
77
  case ' ':
65
78
  {
66
79
  e.preventDefault();
67
- if (activeValue) {
68
- onSelectRef.current(activeValue);
80
+ if (activeValue !== undefined && idx !== -1) {
81
+ commitRef.current(activeValue);
69
82
  }
70
83
  break;
71
84
  }
72
85
  }
73
- }, [activeValue, getEnabledItems, setActiveValue]);
86
+ }, [activeValue, getEnabledItems, isSearch, setActiveValue]);
74
87
  return {
75
88
  handleKeyDown,
76
89
  getEnabledItems
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useRef","useListboxNavigation","items","activeValue","setActiveValue","onSelect","onDismiss","onSelectRef","current","onDismissRef","getEnabledItems","filter","item","disabled","handleKeyDown","e","key","preventDefault","stopPropagation","enabledItems","length","idx","findIndex","i","value","last","at"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,OAAO;;AAG3C;;AAUA,OAAO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,QAAQ;EACRC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,WAAW,GAAGP,MAAM,CAACK,QAAQ,CAAC;EACpCE,WAAW,CAACC,OAAO,GAAGH,QAAQ;EAE9B,MAAMI,YAAY,GAAGT,MAAM,CAACM,SAAS,CAAC;EACtCG,YAAY,CAACD,OAAO,GAAGF,SAAS;EAEhC,MAAMI,eAAe,GAAGX,WAAW,CAAC,MAAMG,KAAK,CAACS,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAE1F,MAAMY,aAAa,GAAGf,WAAW,CAC9BgB,CAAM,IAAK;IACV,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBF,CAAC,CAACG,eAAe,GAAG,CAAC;MACrBT,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,IAAIO,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;MACnBP,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,MAAMW,YAAY,GAAGT,eAAe,CAAC,CAAC;IACtC,IAAIS,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B;IACF;IAEA,MAAMC,GAAG,GAAGF,YAAY,CAACG,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKrB,WAAW,CAAC;IAElE,QAAQY,CAAC,CAACC,GAAG;MACX,KAAK,WAAW;QAAE;UAChBD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBb,cAAc,CAACe,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;UAClBb,cAAc,CAACe,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;UAClBb,cAAc,CAACe,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;YACRrB,cAAc,CAACqB,IAAI,CAACD,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,IAAId,WAAW,EAAE;YACfI,WAAW,CAACC,OAAO,CAACL,WAAW,CAAC;UAClC;UACA;QACF;IACF;EACF,CAAC,EACD,CAACA,WAAW,EAAEO,eAAe,EAAEN,cAAc,CAC/C,CAAC;EAED,OAAO;IAAEU,aAAa;IAAEJ;EAAgB,CAAC;AAC3C","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useRef","SEARCH_INPUT_KEYS","Set","useListboxNavigation","items","activeValue","setActiveValue","type","onToggle","onSelectAndClose","isItemDisabled","onDismiss","isSearch","commitRef","current","onDismissRef","getEnabledItems","filter","item","value","handleKeyDown","e","key","preventDefault","stopPropagation","has","enabledItems","length","idx","findIndex","i","last","at","undefined"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,OAAO;;AAG3C;;AAuBA;AACA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAEvD,OAAO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,IAAI;EACJC,QAAQ;EACRC,gBAAgB;EAChBC,cAAc;EACdC,SAAS;EACTC,QAAQ,GAAG;AACgB,CAAC,EAAE;EAC9B,MAAMC,SAAS,GAAGb,MAAM,CAACS,gBAAgB,CAAC;EAC1CI,SAAS,CAACC,OAAO,GAAGP,IAAI,KAAK,UAAU,GAAGC,QAAQ,GAAGC,gBAAgB;EAErE,MAAMM,YAAY,GAAGf,MAAM,CAACW,SAAS,CAAC;EACtCI,YAAY,CAACD,OAAO,GAAGH,SAAS;EAEhC,MAAMK,eAAe,GAAGjB,WAAW,CACjC,MAAMK,KAAK,CAACa,MAAM,CAAEC,IAAI,IAAK,CAACR,cAAc,CAACQ,IAAI,CAACC,KAAK,CAAC,CAAC,EACzD,CAACf,KAAK,EAAEM,cAAc,CACxB,CAAC;EAED,MAAMU,aAAa,GAAGrB,WAAW,CAC9BsB,CAAM,IAAK;IACV,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBF,CAAC,CAACG,eAAe,GAAG,CAAC;MACrBT,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,IAAIO,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;MACnBP,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,IAAIF,QAAQ,IAAIX,iBAAiB,CAACwB,GAAG,CAACJ,CAAC,CAACC,GAAG,CAAC,EAAE;MAC5C;IACF;IAEA,IAAIV,QAAQ,IAAIS,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACjC;MACAD,CAAC,CAACE,cAAc,CAAC,CAAC;IACpB;IAEA,MAAMG,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,CAACX,KAAK,KAAKd,WAAW,CAAC;IAElE,QAAQgB,CAAC,CAACC,GAAG;MACX,KAAK,WAAW;QAAE;UAChBD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBjB,cAAc,CAACoB,YAAY,CAACE,GAAG,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACT,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,SAAS;QAAE;UACdE,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBjB,cAAc,CAACoB,YAAY,CAACE,GAAG,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,CAAC,CAACR,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,MAAM;QAAE;UACXE,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBjB,cAAc,CAACoB,YAAY,CAAC,CAAC,CAAC,CAACP,KAAK,CAAC;UACrC;QACF;MACA,KAAK,KAAK;QAAE;UACVE,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,MAAMQ,IAAI,GAAGL,YAAY,CAACM,EAAE,CAAC,CAAC,CAAC,CAAC;UAChC,IAAID,IAAI,EAAE;YACRzB,cAAc,CAACyB,IAAI,CAACZ,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRE,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,IAAIlB,WAAW,KAAK4B,SAAS,IAAIL,GAAG,KAAK,CAAC,CAAC,EAAE;YAC3Cf,SAAS,CAACC,OAAO,CAACT,WAAW,CAAC;UAChC;UACA;QACF;IACF;EACF,CAAC,EACD,CAACA,WAAW,EAAEW,eAAe,EAAEJ,QAAQ,EAAEN,cAAc,CACzD,CAAC;EAED,OAAO;IAAEc,aAAa;IAAEJ;EAAgB,CAAC;AAC3C","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ /**
5
+ * Owns the highlight while open:
6
+ * - Unset (on open, or once async `items` arrive): the first enabled selected item, or the
7
+ * first enabled item.
8
+ * - Query change: the first enabled match.
9
+ * - Hidden by the filter or a swapped `items` list: the first enabled item.
10
+ *
11
+ * Otherwise the highlight stays put, so a multiple-mode toggle does not move it.
12
+ */
13
+ export function useQueryHighlight({
14
+ open,
15
+ inputValue,
16
+ visibleItems,
17
+ selectedValues,
18
+ isItemDisabled,
19
+ activeValue,
20
+ setActiveValue
21
+ }) {
22
+ const prevInputValueRef = useRef(inputValue);
23
+ const selectedRef = useRef(selectedValues);
24
+ selectedRef.current = selectedValues;
25
+ useEffect(() => {
26
+ const queryChanged = prevInputValueRef.current !== inputValue;
27
+ prevInputValueRef.current = inputValue;
28
+ if (!open) {
29
+ return;
30
+ }
31
+ const enabled = visibleItems.filter(item => !isItemDisabled(item.value));
32
+ if (activeValue === undefined) {
33
+ const selected = selectedRef.current;
34
+ const initial = enabled.find(item => selected.includes(item.value)) ?? enabled.at(0);
35
+ if (initial) {
36
+ setActiveValue(initial.value);
37
+ }
38
+ return;
39
+ }
40
+ const activeHidden = !enabled.some(item => item.value === activeValue);
41
+ if (queryChanged || activeHidden) {
42
+ setActiveValue(enabled.at(0)?.value);
43
+ }
44
+ }, [open, inputValue, visibleItems, isItemDisabled, activeValue, setActiveValue]);
45
+ }
46
+ //# sourceMappingURL=useQueryHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useQueryHighlight","open","inputValue","visibleItems","selectedValues","isItemDisabled","activeValue","setActiveValue","prevInputValueRef","selectedRef","current","queryChanged","enabled","filter","item","value","undefined","selected","initial","find","includes","at","activeHidden","some"],"sourceRoot":"../../../src","sources":["select/useQueryHighlight.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAazC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,IAAI;EACJC,UAAU;EACVC,YAAY;EACZC,cAAc;EACdC,cAAc;EACdC,WAAW;EACXC;AACwB,CAAC,EAAE;EAC3B,MAAMC,iBAAiB,GAAGT,MAAM,CAACG,UAAU,CAAC;EAC5C,MAAMO,WAAW,GAAGV,MAAM,CAACK,cAAc,CAAC;EAC1CK,WAAW,CAACC,OAAO,GAAGN,cAAc;EAEpCN,SAAS,CAAC,MAAM;IACd,MAAMa,YAAY,GAAGH,iBAAiB,CAACE,OAAO,KAAKR,UAAU;IAC7DM,iBAAiB,CAACE,OAAO,GAAGR,UAAU;IAEtC,IAAI,CAACD,IAAI,EAAE;MACT;IACF;IAEA,MAAMW,OAAO,GAAGT,YAAY,CAACU,MAAM,CAAEC,IAAI,IAAK,CAACT,cAAc,CAACS,IAAI,CAACC,KAAK,CAAC,CAAC;IAE1E,IAAIT,WAAW,KAAKU,SAAS,EAAE;MAC7B,MAAMC,QAAQ,GAAGR,WAAW,CAACC,OAAO;MACpC,MAAMQ,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;QACXX,cAAc,CAACW,OAAO,CAACH,KAAK,CAAC;MAC/B;MACA;IACF;IAEA,MAAMO,YAAY,GAAG,CAACV,OAAO,CAACW,IAAI,CAAET,IAAI,IAAKA,IAAI,CAACC,KAAK,KAAKT,WAAW,CAAC;IAExE,IAAIK,YAAY,IAAIW,YAAY,EAAE;MAChCf,cAAc,CAACK,OAAO,CAACS,EAAE,CAAC,CAAC,CAAC,EAAEN,KAAK,CAAC;IACtC;EACF,CAAC,EAAE,CAACd,IAAI,EAAEC,UAAU,EAAEC,YAAY,EAAEE,cAAc,EAAEC,WAAW,EAAEC,cAAc,CAAC,CAAC;AACnF","ignoreList":[]}
@@ -54,6 +54,7 @@ export function useSelectTrigger(forwardedRef, options) {
54
54
  contentId,
55
55
  triggerRef,
56
56
  activeValue,
57
+ hasSearch,
57
58
  accessibilityLabel,
58
59
  ariaDescribedBy: ariaDescribedByFromField
59
60
  } = useSelectContext();
@@ -162,10 +163,12 @@ export function useSelectTrigger(forwardedRef, options) {
162
163
  const ariaProps = {
163
164
  role: 'combobox',
164
165
  'aria-label': accessibilityLabel,
166
+ // Kept as `listbox` with search too (RAC's choice), pending the a11y spike (DEVEX-8289).
165
167
  'aria-haspopup': 'listbox',
166
168
  'aria-expanded': open,
167
169
  'aria-controls': contentId,
168
- 'aria-activedescendant': open && activeValue ? `${contentId}-option-${activeValue}` : undefined,
170
+ // With search, the input owns the active descendant.
171
+ 'aria-activedescendant': open && activeValue && !hasSearch ? `${contentId}-option-${activeValue}` : undefined,
169
172
  'aria-required': contextRequired || undefined,
170
173
  'aria-invalid': contextInvalid || undefined,
171
174
  'aria-readonly': contextReadOnly || undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","useFocusRing","useHover","usePress","useSelectContext","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","field","focusProps","focusRingProps","pressProps","isPressed","hoverProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","useFocusRing","useHover","usePress","useSelectContext","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","field","focusProps","focusRingProps","pressProps","isPressed","hoverProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
@@ -52,6 +52,7 @@ export function useSelectTrigger(forwardedRef, options) {
52
52
  contentId,
53
53
  triggerRef,
54
54
  activeValue,
55
+ hasSearch,
55
56
  accessibilityLabel,
56
57
  ariaDescribedBy: ariaDescribedByFromField
57
58
  } = useSelectContext();
@@ -151,10 +152,12 @@ export function useSelectTrigger(forwardedRef, options) {
151
152
  const ariaProps = {
152
153
  role: 'combobox',
153
154
  'aria-label': accessibilityLabel,
155
+ // Kept as `listbox` with search too (RAC's choice), pending the a11y spike (DEVEX-8289).
154
156
  'aria-haspopup': 'listbox',
155
157
  'aria-expanded': open,
156
158
  'aria-controls': contentId,
157
- 'aria-activedescendant': open && activeValue ? `${contentId}-option-${activeValue}` : undefined,
159
+ // With search, the input owns the active descendant.
160
+ 'aria-activedescendant': open && activeValue && !hasSearch ? `${contentId}-option-${activeValue}` : undefined,
158
161
  'aria-required': contextRequired || undefined,
159
162
  'aria-invalid': contextInvalid || undefined,
160
163
  'aria-readonly': contextReadOnly || undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","usePress","useSelectContext","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","field","pressProps","isPressed","focusProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","usePress","useSelectContext","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","field","pressProps","isPressed","focusProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/select/SelectContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6D,MAAM,OAAO,CAAC;AAClF,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAO9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAInD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,iFAgIzB,CAAC"}
1
+ {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/select/SelectContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAU9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAgBnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,iFAoJzB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface SelectDismissButtonProps {
2
+ onDismiss: () => void;
3
+ accessibilityLabel: string;
4
+ }
5
+ /**
6
+ * Web-only. Native screen readers close the popup with the iOS escape gesture
7
+ * (`onAccessibilityEscape` on `SelectContent`) and Android back (`onRequestClose`).
8
+ */
9
+ export declare const SelectDismissButton: import("react").ForwardRefExoticComponent<SelectDismissButtonProps & import("react").RefAttributes<unknown>>;
10
+ //# sourceMappingURL=SelectDismissButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectDismissButton.d.ts","sourceRoot":"","sources":["../../../src/select/SelectDismissButton.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,8GAA4D,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { SelectDismissButtonProps } from './SelectDismissButton';
2
+ export type { SelectDismissButtonProps };
3
+ /**
4
+ * Visually hidden close control for screen-reader users, who cannot press Escape or click
5
+ * outside while browsing the popup. Out of the Tab order (Tab already closes the listbox).
6
+ * Rendered as a sibling of the listbox because a listbox may only own options.
7
+ */
8
+ export declare const SelectDismissButton: import("react").ForwardRefExoticComponent<SelectDismissButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
9
+ //# sourceMappingURL=SelectDismissButton.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectDismissButton.web.d.ts","sourceRoot":"","sources":["../../../src/select/SelectDismissButton.web.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wHAY/B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { View } from 'react-native';
2
+ import type { ISelectEmptyProps } from './types';
3
+ export interface SelectEmptyProps extends ISelectEmptyProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ /**
8
+ * Renders only when no option matches. Its text is also what the search live region
9
+ * announces in that case.
10
+ */
11
+ export declare const SelectEmpty: import("react").ForwardRefExoticComponent<SelectEmptyProps & import("react").RefAttributes<View>>;
12
+ //# sourceMappingURL=SelectEmpty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectEmpty.d.ts","sourceRoot":"","sources":["../../../src/select/SelectEmpty.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD;;;GAGG;AACH,eAAO,MAAM,WAAW,mGAsBvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.d.ts","sourceRoot":"","sources":["../../../src/select/SelectItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,yHAyHtB,CAAC"}
1
+ {"version":3,"file":"SelectItem.d.ts","sourceRoot":"","sources":["../../../src/select/SelectItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAQD,eAAO,MAAM,UAAU,yHA4ItB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { View } from 'react-native';
2
+ import type { ISelectListboxProps } from './types';
3
+ export interface SelectListboxProps extends ISelectListboxProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ /**
8
+ * Wraps the options. With `Select.Search` mounted it is the `role="listbox"` inside the dialog
9
+ * popup; without it the popup itself is the listbox and this renders a plain container.
10
+ */
11
+ export declare const SelectListbox: import("react").ForwardRefExoticComponent<SelectListboxProps & import("react").RefAttributes<View>>;
12
+ //# sourceMappingURL=SelectListbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectListbox.d.ts","sourceRoot":"","sources":["../../../src/select/SelectListbox.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,qGAyBzB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { View, type ViewProps } from 'react-native';
2
2
  import type { ISelectProps } from './types';
3
- export interface SelectRootProps extends ISelectProps, Omit<ViewProps, 'children'> {
3
+ export type SelectRootProps = ISelectProps & Omit<ViewProps, 'children'> & {
4
4
  asChild?: boolean;
5
5
  className?: string;
6
- }
6
+ };
7
7
  export declare const SelectRoot: import("react").ForwardRefExoticComponent<SelectRootProps & import("react").RefAttributes<View>>;
8
8
  //# sourceMappingURL=SelectRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectRoot.d.ts","sourceRoot":"","sources":["../../../src/select/SelectRoot.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,eAAgB,SAAQ,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,kGAkItB,CAAC"}
1
+ {"version":3,"file":"SelectRoot.d.ts","sourceRoot":"","sources":["../../../src/select/SelectRoot.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAMpD,OAAO,KAAK,EAAE,YAAY,EAA4C,MAAM,SAAS,CAAC;AAEtF,MAAM,MAAM,eAAe,GAAG,YAAY,GACxC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgCJ,eAAO,MAAM,UAAU,kGA6QtB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from 'react';
2
+ import { TextInput } from 'react-native';
3
+ import type { ISelectSearchProps } from './types';
4
+ export interface SelectSearchProps extends ISelectSearchProps {
5
+ /** Merge the search wiring onto the single child text input instead of rendering one. */
6
+ asChild?: boolean;
7
+ className?: string;
8
+ children?: ReactNode;
9
+ }
10
+ /**
11
+ * Search input for `Select.Content`. Its query filters the options through the root `filter`.
12
+ * Mounting it turns the popup into a dialog that contains this searchbox and the listbox.
13
+ *
14
+ * Web uses virtual focus: DOM focus stays here, arrow keys move the highlight, and
15
+ * `aria-activedescendant` points at it. Native renders the input without virtual focus.
16
+ */
17
+ export declare const SelectSearch: import("react").ForwardRefExoticComponent<SelectSearchProps & import("react").RefAttributes<TextInput>>;
18
+ //# sourceMappingURL=SelectSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectSearch.d.ts","sourceRoot":"","sources":["../../../src/select/SelectSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAKD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yGAsExB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface SelectSearchStatusProps {
2
+ message: string;
3
+ }
4
+ /**
5
+ * Web-only. On native, screen readers move through the rows directly, in the anchored popover
6
+ * or in `Select.BottomSheet`, instead of following an input-driven live region.
7
+ */
8
+ export declare function SelectSearchStatus(_props: SelectSearchStatusProps): null;
9
+ //# sourceMappingURL=SelectSearchStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectSearchStatus.d.ts","sourceRoot":"","sources":["../../../src/select/SelectSearchStatus.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,QAEjE"}
@@ -0,0 +1,8 @@
1
+ import type { SelectSearchStatusProps } from './SelectSearchStatus';
2
+ export type { SelectSearchStatusProps };
3
+ /**
4
+ * Polite live region for the search results. It stays mounted while the search is, so each
5
+ * change to the count (or to the empty-state text) is announced.
6
+ */
7
+ export declare function SelectSearchStatus({ message }: SelectSearchStatusProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=SelectSearchStatus.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectSearchStatus.web.d.ts","sourceRoot":"","sources":["../../../src/select/SelectSearchStatus.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,2CAQtE"}
@@ -0,0 +1,14 @@
1
+ import { View } from 'react-native';
2
+ import type { ISelectSheetContentProps } from './types';
3
+ export interface SelectSheetContentProps extends ISelectSheetContentProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ /**
8
+ * Body of a native sheet surface that presents the options in place of `SelectContent`. The
9
+ * styled layer owns presentation (open, swipe, backdrop, back) and renders this inside it.
10
+ * It carries the popup role and name, and closes on the VoiceOver escape gesture without
11
+ * changing the value.
12
+ */
13
+ export declare const SelectSheetContent: import("react").ForwardRefExoticComponent<SelectSheetContentProps & import("react").RefAttributes<View>>;
14
+ //# sourceMappingURL=SelectSheetContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectSheetContent.d.ts","sourceRoot":"","sources":["../../../src/select/SelectSheetContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,0GAyB9B,CAAC"}
@@ -11,4 +11,13 @@ export declare const SelectItemProvider: import("react").FunctionComponent<{
11
11
  children: import("react").ReactNode;
12
12
  value: SelectItemInteractionState;
13
13
  }>, useSelectItemContext: () => SelectItemInteractionState;
14
+ export interface SelectContentContextValue {
15
+ /** Listbox keyboard handling, wired to the `Select.Search` input on web. */
16
+ handleKeyDown: (e: any) => void;
17
+ }
18
+ /** Internal: lets `Select.Search` drive the listbox from its input. */
19
+ export declare const SelectContentProvider: import("react").FunctionComponent<{
20
+ children: import("react").ReactNode;
21
+ value: SelectContentContextValue;
22
+ }>, useSelectContentContext: () => SelectContentContextValue;
14
23
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/select/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE9E,eAAO,MAAO,cAAc;;;IAAE,gBAAgB,0BACM,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAO,kBAAkB;;;IAAE,oBAAoB,kCACU,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/select/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE9E,eAAO,MAAO,cAAc;;;IAAE,gBAAgB,0BACM,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAO,kBAAkB;;;IAAE,oBAAoB,kCACU,CAAC;AAEjE,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAED,uEAAuE;AACvE,eAAO,MAAO,qBAAqB;;;IAAE,uBAAuB,iCACM,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SelectFilter } from './types';
2
+ /** Case- and accent-insensitive `contains`: "cafe" matches "Café". */
3
+ export declare const defaultSelectFilter: SelectFilter;
4
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/select/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAS5C,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,EAAE,YACoB,CAAC"}
@@ -1,7 +1,11 @@
1
- export type { ISelectContentProps, ISelectItemLabelProps, ISelectItemProps, ISelectProps, ISelectTriggerProps, ISelectValueProps, SelectContextValue, SelectItemData, SelectItemInteractionState, } from './types';
2
- export { useSelectContext, useSelectItemContext } from './context';
1
+ export type { ISelectContentProps, ISelectEmptyProps, ISelectItemLabelProps, ISelectItemProps, ISelectListboxProps, ISelectMultipleProps, ISelectProps, ISelectSearchProps, ISelectSheetContentProps, ISelectSingleProps, ISelectTriggerProps, ISelectValueProps, SelectContextValue, SelectFilter, SelectItemData, SelectItemInteractionState, SelectType, SelectValueRenderProps, } from './types';
2
+ export { SelectProvider, useSelectContext, useSelectItemContext } from './context';
3
3
  export { SelectRoot, type SelectRootProps } from './SelectRoot';
4
4
  export { SelectTrigger, type SelectTriggerProps } from './SelectTrigger';
5
5
  export { SelectContent, type SelectContentProps } from './SelectContent';
6
+ export { SelectSheetContent, type SelectSheetContentProps } from './SelectSheetContent';
7
+ export { SelectSearch, type SelectSearchProps } from './SelectSearch';
8
+ export { SelectListbox, type SelectListboxProps } from './SelectListbox';
9
+ export { SelectEmpty, type SelectEmptyProps } from './SelectEmpty';
6
10
  export { SelectItem, type SelectItemProps } from './SelectItem';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/select/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/select/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}