@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
@@ -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":[]}
@@ -1,16 +1,31 @@
1
1
  "use strict";
2
2
 
3
- import React, { forwardRef, useCallback, useRef } from 'react';
3
+ import React, { forwardRef, useCallback, useMemo, useRef } from 'react';
4
4
  import { Platform, View } from 'react-native';
5
5
  import { FadeIn, FadeOut } from 'react-native-reanimated';
6
6
  import { composeEventHandlers, mergeRefs } from '@cdx-ui/utils';
7
+ import { FocusScope } from '@react-native-aria/focus';
7
8
  import { OverlayContainer, useAnchoredOverlay, useDismissOverlay, useEscapeKey } from '../overlay';
8
9
  import { Slot } from '../slot';
9
10
  import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
10
- import { useSelectContext } from './context';
11
+ import { SelectContentProvider, useSelectContext } from './context';
12
+ import { getPopupRoleProps } from './popupRole';
13
+ import { SelectDismissButton } from './SelectDismissButton';
11
14
  import { useContentFocus } from './useContentFocus';
12
15
  import { useListboxNavigation } from './useListboxNavigation';
13
- import { jsx as _jsx } from "react/jsx-runtime";
16
+ import { useQueryHighlight } from './useQueryHighlight';
17
+
18
+ /**
19
+ * Keeps DOM focus in the search input when the pointer goes down elsewhere in the popup, so
20
+ * typing continues after an option is clicked (virtual focus).
21
+ */
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ function keepSearchInputFocus(e) {
24
+ const target = e.target;
25
+ if (target?.closest?.('input, textarea') == null) {
26
+ e.preventDefault();
27
+ }
28
+ }
14
29
  export const SelectContent = /*#__PURE__*/forwardRef(({
15
30
  asChild,
16
31
  children,
@@ -21,6 +36,7 @@ export const SelectContent = /*#__PURE__*/forwardRef(({
21
36
  placement = 'bottom-start',
22
37
  offset = 4,
23
38
  crossOffset = 0,
39
+ dismissAccessibilityLabel = 'Dismiss',
24
40
  ...props
25
41
  }, ref) => {
26
42
  const {
@@ -30,23 +46,21 @@ export const SelectContent = /*#__PURE__*/forwardRef(({
30
46
  triggerId,
31
47
  activeValue,
32
48
  setActiveValue,
33
- value,
34
- onValueChange,
49
+ type,
50
+ selectedValues,
51
+ toggleValue,
52
+ selectValueAndClose,
53
+ isItemDisabled,
35
54
  native,
36
55
  triggerRef,
37
- items
56
+ inputValue,
57
+ visibleItems,
58
+ hasSearch,
59
+ labelId,
60
+ accessibilityLabel
38
61
  } = useSelectContext();
39
62
  const contentRef = useRef(null);
40
- const focusOnMount = useCallback(node => {
41
- contentRef.current = node;
42
- if (node && Platform.OS === 'web') {
43
- requestAnimationFrame(() => {
44
- setTimeout(() => {
45
- node.focus?.();
46
- }, 100);
47
- });
48
- }
49
- }, []);
63
+ const dismissButtonRef = useRef(null);
50
64
  const dismiss = useCallback(() => setOpen(false), [setOpen]);
51
65
  const overlayOpen = open && !native;
52
66
  const {
@@ -61,55 +75,87 @@ export const SelectContent = /*#__PURE__*/forwardRef(({
61
75
  collisionBehavior: 'flip-shift',
62
76
  width: 'anchor'
63
77
  });
64
- const mergedRef = mergeRefs(ref, focusOnMount, floatingRef);
65
- useDismissOverlay(overlayOpen, contentRef, [triggerRef], dismiss);
78
+ const mergedRef = mergeRefs(ref, contentRef, floatingRef);
79
+ useDismissOverlay(overlayOpen, contentRef, [triggerRef, dismissButtonRef], dismiss);
66
80
  useEscapeKey(overlayOpen, dismiss);
67
81
  const {
68
82
  handleKeyDown
69
83
  } = useListboxNavigation({
70
- items,
84
+ items: visibleItems,
71
85
  activeValue,
72
86
  setActiveValue,
73
- onSelect: val => {
74
- onValueChange(val);
75
- setOpen(false);
76
- },
77
- onDismiss: dismiss
87
+ type,
88
+ onToggle: toggleValue,
89
+ onSelectAndClose: selectValueAndClose,
90
+ isItemDisabled,
91
+ onDismiss: dismiss,
92
+ isSearch: hasSearch
78
93
  });
79
94
  useContentFocus({
80
95
  open,
81
96
  triggerRef,
82
- items,
83
- value,
84
97
  setActiveValue
85
98
  });
99
+ useQueryHighlight({
100
+ open,
101
+ inputValue,
102
+ visibleItems,
103
+ selectedValues,
104
+ isItemDisabled,
105
+ activeValue,
106
+ setActiveValue
107
+ });
108
+ const contentContext = useMemo(() => ({
109
+ handleKeyDown
110
+ }), [handleKeyDown]);
86
111
  if (!overlayOpen) {
87
112
  return null;
88
113
  }
89
- const webProps = Platform.OS === 'web' ? {
114
+ const platformProps = Platform.OS === 'web' ? {
90
115
  onKeyDown: composeEventHandlers(props.onKeyDown, handleKeyDown),
91
- tabIndex: -1
92
- } : {};
116
+ tabIndex: -1,
117
+ 'aria-multiselectable': !hasSearch && type === 'multiple' || undefined,
118
+ ...(hasSearch ? {
119
+ onMouseDown: keepSearchInputFocus
120
+ } : {})
121
+ } : {
122
+ onAccessibilityEscape: composeEventHandlers(props.onAccessibilityEscape, dismiss)
123
+ };
124
+ const roleProps = getPopupRoleProps({
125
+ hasSearch,
126
+ labelId,
127
+ accessibilityLabel,
128
+ triggerId
129
+ });
93
130
  const Comp = asChild ? Slot : View;
94
- return /*#__PURE__*/_jsx(OverlayContainer, {
95
- onDismiss: dismiss,
96
- entering: enteringAnimation ?? FadeIn.duration(150),
97
- exiting: exitingAnimation ?? FadeOut.duration(100),
98
- children: /*#__PURE__*/_jsx(Comp, {
99
- ref: mergedRef,
100
- onLayout: composeEventHandlers(onLayout, onFloatingLayout),
101
- style: [style, overlayStyle],
102
- role: "listbox",
103
- id: contentId,
104
- "aria-labelledby": triggerId,
105
- ...props,
106
- ...mergeDataAttributes(props, dataAttributes({
107
- state: 'open',
108
- side: position?.resolvedPlacement.side,
109
- align: position?.resolvedPlacement.align
110
- })),
111
- ...webProps,
112
- children: children
131
+ return /*#__PURE__*/_jsx(SelectContentProvider, {
132
+ value: contentContext,
133
+ children: /*#__PURE__*/_jsx(OverlayContainer, {
134
+ onDismiss: dismiss,
135
+ entering: enteringAnimation ?? FadeIn.duration(150),
136
+ exiting: exitingAnimation ?? FadeOut.duration(100),
137
+ children: /*#__PURE__*/_jsxs(FocusScope, {
138
+ autoFocus: true,
139
+ children: [/*#__PURE__*/_jsx(Comp, {
140
+ ref: mergedRef,
141
+ onLayout: composeEventHandlers(onLayout, onFloatingLayout),
142
+ style: [style, overlayStyle],
143
+ id: contentId,
144
+ ...roleProps,
145
+ ...props,
146
+ ...mergeDataAttributes(props, dataAttributes({
147
+ state: 'open',
148
+ side: position?.resolvedPlacement.side,
149
+ align: position?.resolvedPlacement.align
150
+ })),
151
+ ...platformProps,
152
+ children: children
153
+ }), /*#__PURE__*/_jsx(SelectDismissButton, {
154
+ ref: dismissButtonRef,
155
+ onDismiss: dismiss,
156
+ accessibilityLabel: dismissAccessibilityLabel
157
+ })]
158
+ })
113
159
  })
114
160
  });
115
161
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useCallback","useRef","Platform","View","FadeIn","FadeOut","composeEventHandlers","mergeRefs","OverlayContainer","useAnchoredOverlay","useDismissOverlay","useEscapeKey","Slot","dataAttributes","mergeDataAttributes","useSelectContext","useContentFocus","useListboxNavigation","jsx","_jsx","SelectContent","asChild","children","enteringAnimation","exitingAnimation","onLayout","style","placement","offset","crossOffset","props","ref","open","setOpen","contentId","triggerId","activeValue","setActiveValue","value","onValueChange","native","triggerRef","items","contentRef","focusOnMount","node","current","OS","requestAnimationFrame","setTimeout","focus","dismiss","overlayOpen","floatingRef","onFloatingLayout","overlayStyle","position","collisionBehavior","width","mergedRef","handleKeyDown","onSelect","val","onDismiss","webProps","onKeyDown","tabIndex","Comp","entering","duration","exiting","role","id","state","side","resolvedPlacement","align","displayName"],"sourceRoot":"../../../src","sources":["select/SelectContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useCallback","useMemo","useRef","Platform","View","FadeIn","FadeOut","composeEventHandlers","mergeRefs","FocusScope","OverlayContainer","useAnchoredOverlay","useDismissOverlay","useEscapeKey","Slot","dataAttributes","mergeDataAttributes","SelectContentProvider","useSelectContext","getPopupRoleProps","SelectDismissButton","useContentFocus","useListboxNavigation","useQueryHighlight","jsx","_jsx","jsxs","_jsxs","keepSearchInputFocus","e","target","closest","preventDefault","SelectContent","asChild","children","enteringAnimation","exitingAnimation","onLayout","style","placement","offset","crossOffset","dismissAccessibilityLabel","props","ref","open","setOpen","contentId","triggerId","activeValue","setActiveValue","type","selectedValues","toggleValue","selectValueAndClose","isItemDisabled","native","triggerRef","inputValue","visibleItems","hasSearch","labelId","accessibilityLabel","contentRef","dismissButtonRef","dismiss","overlayOpen","floatingRef","onFloatingLayout","overlayStyle","position","collisionBehavior","width","mergedRef","handleKeyDown","items","onToggle","onSelectAndClose","onDismiss","isSearch","contentContext","platformProps","OS","onKeyDown","tabIndex","undefined","onMouseDown","onAccessibilityEscape","roleProps","Comp","value","entering","duration","exiting","autoFocus","id","state","side","resolvedPlacement","align","displayName"],"sourceRoot":"../../../src","sources":["select/SelectContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { forwardRef } from 'react';
4
+ /**
5
+ * Web-only. Native screen readers close the popup with the iOS escape gesture
6
+ * (`onAccessibilityEscape` on `SelectContent`) and Android back (`onRequestClose`).
7
+ */
8
+ export const SelectDismissButton = /*#__PURE__*/forwardRef(() => null);
9
+ SelectDismissButton.displayName = 'SelectDismissButton';
10
+ //# sourceMappingURL=SelectDismissButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","SelectDismissButton","displayName"],"sourceRoot":"../../../src","sources":["select/SelectDismissButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAOlC;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGD,UAAU,CAAoC,MAAM,IAAI,CAAC;AAE5FC,mBAAmB,CAACC,WAAW,GAAG,qBAAqB","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import { forwardRef } from 'react';
4
+ import { VisuallyHidden } from '@react-aria/visually-hidden';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Visually hidden close control for screen-reader users, who cannot press Escape or click
8
+ * outside while browsing the popup. Out of the Tab order (Tab already closes the listbox).
9
+ * Rendered as a sibling of the listbox because a listbox may only own options.
10
+ */
11
+ export const SelectDismissButton = /*#__PURE__*/forwardRef(({
12
+ onDismiss,
13
+ accessibilityLabel
14
+ }, ref) => /*#__PURE__*/_jsx(VisuallyHidden, {
15
+ children: /*#__PURE__*/_jsx("button", {
16
+ ref: ref,
17
+ type: "button",
18
+ tabIndex: -1,
19
+ "aria-label": accessibilityLabel,
20
+ onClick: onDismiss
21
+ })
22
+ }));
23
+ SelectDismissButton.displayName = 'SelectDismissButton';
24
+ //# sourceMappingURL=SelectDismissButton.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","VisuallyHidden","jsx","_jsx","SelectDismissButton","onDismiss","accessibilityLabel","ref","children","type","tabIndex","onClick","displayName"],"sourceRoot":"../../../src","sources":["select/SelectDismissButton.web.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,cAAc,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAK7D;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,gBAAGJ,UAAU,CAC3C,CAAC;EAAEK,SAAS;EAAEC;AAAmB,CAAC,EAAEC,GAAG,kBACrCJ,IAAA,CAACF,cAAc;EAAAO,QAAA,eACbL,IAAA;IACEI,GAAG,EAAEA,GAAI;IACTE,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAE,CAAC,CAAE;IACb,cAAYJ,kBAAmB;IAC/BK,OAAO,EAAEN;EAAU,CACpB;AAAC,CACY,CAEpB,CAAC;AAEDD,mBAAmB,CAACQ,WAAW,GAAG,qBAAqB","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ import { Children, forwardRef, isValidElement, useLayoutEffect } from 'react';
4
+ import { View } from 'react-native';
5
+ import { Slot } from '../slot';
6
+ import { useSelectContext } from './context';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ function getTextContent(node) {
9
+ return Children.toArray(node).map(child => {
10
+ if (typeof child === 'string' || typeof child === 'number') {
11
+ return String(child);
12
+ }
13
+ if (/*#__PURE__*/isValidElement(child)) {
14
+ return getTextContent(child.props.children);
15
+ }
16
+ return '';
17
+ }).join('');
18
+ }
19
+
20
+ /**
21
+ * Renders only when no option matches. Its text is also what the search live region
22
+ * announces in that case.
23
+ */
24
+ export const SelectEmpty = /*#__PURE__*/forwardRef(({
25
+ asChild,
26
+ children,
27
+ ...props
28
+ }, ref) => {
29
+ const {
30
+ visibleItems,
31
+ setEmptyText
32
+ } = useSelectContext();
33
+ const text = getTextContent(children);
34
+ useLayoutEffect(() => {
35
+ setEmptyText(text || undefined);
36
+ return () => setEmptyText(undefined);
37
+ }, [setEmptyText, text]);
38
+ if (visibleItems.length > 0) {
39
+ return null;
40
+ }
41
+ const Comp = asChild ? Slot : View;
42
+ return /*#__PURE__*/_jsx(Comp, {
43
+ ref: ref,
44
+ ...props,
45
+ children: children
46
+ });
47
+ });
48
+ SelectEmpty.displayName = 'SelectEmpty';
49
+ //# sourceMappingURL=SelectEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","forwardRef","isValidElement","useLayoutEffect","View","Slot","useSelectContext","jsx","_jsx","getTextContent","node","toArray","map","child","String","props","children","join","SelectEmpty","asChild","ref","visibleItems","setEmptyText","text","undefined","length","Comp","displayName"],"sourceRoot":"../../../src","sources":["select/SelectEmpty.tsx"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,UAAU,EACVC,cAAc,EACdC,eAAe,QAGV,OAAO;AACd,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,gBAAgB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ7C,SAASC,cAAcA,CAACC,IAAe,EAAU;EAC/C,OAAOV,QAAQ,CAACW,OAAO,CAACD,IAAI,CAAC,CAC1BE,GAAG,CAAEC,KAAK,IAAK;IACd,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC1D,OAAOC,MAAM,CAACD,KAAK,CAAC;IACtB;IACA,iBAAIX,cAAc,CAA2BW,KAAK,CAAC,EAAE;MACnD,OAAOJ,cAAc,CAACI,KAAK,CAACE,KAAK,CAACC,QAAQ,CAAC;IAC7C;IACA,OAAO,EAAE;EACX,CAAC,CAAC,CACDC,IAAI,CAAC,EAAE,CAAC;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,gBAAGjB,UAAU,CACnC,CAAC;EAAEkB,OAAO;EAAEH,QAAQ;EAAE,GAAGD;AAAM,CAAC,EAAEK,GAAG,KAAK;EACxC,MAAM;IAAEC,YAAY;IAAEC;EAAa,CAAC,GAAGhB,gBAAgB,CAAC,CAAC;EACzD,MAAMiB,IAAI,GAAGd,cAAc,CAACO,QAAQ,CAAC;EAErCb,eAAe,CAAC,MAAM;IACpBmB,YAAY,CAACC,IAAI,IAAIC,SAAS,CAAC;IAC/B,OAAO,MAAMF,YAAY,CAACE,SAAS,CAAC;EACtC,CAAC,EAAE,CAACF,YAAY,EAAEC,IAAI,CAAC,CAAC;EAExB,IAAIF,YAAY,CAACI,MAAM,GAAG,CAAC,EAAE;IAC3B,OAAO,IAAI;EACb;EAEA,MAAMC,IAAI,GAAGP,OAAO,GAAGd,IAAI,GAAGD,IAAI;EAElC,oBACEI,IAAA,CAACkB,IAAI;IAACN,GAAG,EAAEA,GAAI;IAAA,GAAKL,KAAK;IAAAC,QAAA,EACtBA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDE,WAAW,CAACS,WAAW,GAAG,aAAa","ignoreList":[]}