panelui-native 0.36.0 → 0.38.0

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 (32) hide show
  1. package/README.md +12 -1
  2. package/lib/module/components/combobox/index.js +718 -0
  3. package/lib/module/components/combobox/index.js.map +1 -0
  4. package/lib/module/components/form/use-field.js +18 -0
  5. package/lib/module/components/form/use-field.js.map +1 -1
  6. package/lib/module/components/form/use-form.js +91 -8
  7. package/lib/module/components/form/use-form.js.map +1 -1
  8. package/lib/module/components/input/index.js +10 -3
  9. package/lib/module/components/input/index.js.map +1 -1
  10. package/lib/module/components/select/index.js +116 -15
  11. package/lib/module/components/select/index.js.map +1 -1
  12. package/lib/module/index.js +1 -0
  13. package/lib/module/index.js.map +1 -1
  14. package/lib/module/theme/use-theme.js +1 -1
  15. package/lib/typescript/src/components/combobox/index.d.ts +164 -0
  16. package/lib/typescript/src/components/combobox/index.d.ts.map +1 -0
  17. package/lib/typescript/src/components/form/use-field.d.ts.map +1 -1
  18. package/lib/typescript/src/components/form/use-form.d.ts.map +1 -1
  19. package/lib/typescript/src/components/input/index.d.ts +18 -4
  20. package/lib/typescript/src/components/input/index.d.ts.map +1 -1
  21. package/lib/typescript/src/components/select/index.d.ts +32 -0
  22. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  23. package/lib/typescript/src/index.d.ts +2 -1
  24. package/lib/typescript/src/index.d.ts.map +1 -1
  25. package/lib/typescript/src/theme/use-theme.d.ts +1 -1
  26. package/package.json +1 -1
  27. package/src/components/combobox/index.tsx +927 -0
  28. package/src/components/form/use-field.ts +23 -0
  29. package/src/components/form/use-form.ts +106 -16
  30. package/src/components/input/index.tsx +21 -7
  31. package/src/components/select/index.tsx +114 -15
  32. package/src/index.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","cloneElement","createContext","isValidElement","useCallback","useContext","useEffect","useMemo","useRef","useState","Pressable","ScrollView","TextInput","useWindowDimensions","View","Animated","FadeIn","FadeOut","interpolateColor","useAnimatedStyle","useSharedValue","withTiming","tv","useCSSVariable","CheckIcon","ChevronDownIcon","XIcon","Portal","Text","textChildren","useBackHandler","useKeyboard","cn","Chip","Spinner","jsx","_jsx","jsxs","_jsxs","FOCUS_DURATION","comboboxVariants","slots","root","field","fieldContent","input","action","list","item","itemLabel","itemIndicator","group","groupLabel","status","variants","selected","true","disabled","itemDisabled","presentation","overlay","inline","defaultVariants","ComboboxContext","ComboboxItem","value","label","start","description","context","Error","values","includes","checkColor","accessibilityRole","accessibilityState","onPress","onSelect","className","children","size","muted","numberOfLines","color","ComboboxGroup","labelClassName","weight","eachOption","visit","forEach","child","type","props","filterOptions","matches","kept","inner","length","push","ComboboxRoot","mode","defaultValue","onValueChange","inputValue","defaultInputValue","onInputValueChange","placeholder","filter","allowCustomValue","loading","emptyMessage","loadingMessage","clearable","openOnFocus","onOpenChange","contentWidth","offset","listClassName","accessibilityLabel","multiple","open","setOpen","focused","setFocused","anchor","setAnchor","listHeight","setListHeight","fieldRef","inputRef","height","screenHeight","keyboardHeight","internalValue","setInternalValue","undefined","selection","internalQuery","setInternalQuery","query","Array","isArray","options","collected","option","labelOf","candidate","find","setQuery","next","commit","setOpenState","current","openList","measureInWindow","x","y","width","close","singleValue","matcher","needle","trim","toLowerCase","filtered","exactMatch","some","select","without","entry","updated","blur","submit","typed","match","remove","target","clear","focus","mutedColor","restColor","focusColor","placeholderColor","duration","fieldStyle","idle","active","borderColor","chevron","chevronStyle","transform","rotate","hasContent","shown","isEmpty","body","bounces","showsVerticalScrollIndicator","keyboardShouldPersistTaps","keyboardDismissMode","style","expanded","map","onClose","closeLabel","ref","onChangeText","onFocus","onBlur","onSubmitEditing","onKeyPress","nativeEvent","key","editable","placeholderTextColor","autoCapitalize","autoCorrect","autoComplete","returnKeyType","submitBehavior","Provider","entering","exiting","viewportBottom","spaceBelow","flip","overlayPosition","position","left","bottom","top","minWidth","maxHeight","Math","max","accessible","importantForAccessibility","accessibilityElementsHidden","right","onLayout","event","layout","accessibilityViewIsModal","displayName","Combobox","Object","assign","Item","Group"],"sourceRoot":"../../../../src","sources":["components/combobox/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -28,6 +28,24 @@ export function useField(form, name, {
28
28
  return () => registerValidator(name, undefined);
29
29
  // eslint-disable-next-line react-hooks/exhaustive-deps
30
30
  }, [registerValidator, name, !!validate]);
31
+
32
+ /*
33
+ * A name the form never declared is the one mistake this hook cannot
34
+ * recover from: there is no value to hand a validator, so a rule as ordinary
35
+ * as `value.length > 0` throws on a field that was only blurred, and nothing
36
+ * the user types is ever submitted. Both failures point away from the cause,
37
+ * so it is named here instead. Development only — the check costs a key
38
+ * lookup, but the message is for whoever is writing the form.
39
+ */
40
+ const formValues = form.values;
41
+ useEffect(() => {
42
+ if (process.env.NODE_ENV === 'production') return;
43
+ if (name in formValues) return;
44
+ console.warn(`[PanelUI] Form field "${String(name)}" is not declared in the form's ` + `defaultValues, so its value is undefined and it will not be submitted. ` + `Add "${String(name)}" to defaultValues — an empty field is still a ` + `declared one ("" for text, false for a toggle).`);
45
+ // The declared names come from `defaultValues`, which is read once, so
46
+ // this is a question about the name and nothing else.
47
+ // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ }, [name]);
31
49
  const {
32
50
  value,
33
51
  error,
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useField","form","name","validate","validateOn","validateRef","current","registerValidator","value","values","undefined","error","touched","getFieldState","onChange","next","setFieldValue","validateField","onBlur","setFieldTouched"],"sourceRoot":"../../../../src","sources":["components/form/use-field.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAkBzC,OAAO,SAASC,QAAQA,CACtBC,IAAgB,EAChBC,IAAO,EACP;EAAEC,QAAQ;EAAEC,UAAU,GAAG;AAA8B,CAAC,GAAG,CAAC,CAAC,EACjC;EAC5B;EACA;EACA;EACA,MAAMC,WAAW,GAAGN,MAAM,CAACI,QAAQ,CAAC;EACpCE,WAAW,CAACC,OAAO,GAAGH,QAAQ;EAE9B,MAAM;IAAEI;EAAkB,CAAC,GAAGN,IAAI;EAClCH,SAAS,CAAC,MAAM;IACdS,iBAAiB,CACfL,IAAI,EACJC,QAAQ,GAAG,CAACK,KAAK,EAAEC,MAAM,KAAKJ,WAAW,CAACC,OAAO,CAAEE,KAAK,EAAEC,MAAM,CAAC,GAAGC,SACtE,CAAC;IACD,OAAO,MAAMH,iBAAiB,CAACL,IAAI,EAAEQ,SAAS,CAAC;IAC/C;EACF,CAAC,EAAE,CAACH,iBAAiB,EAAEL,IAAI,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC;EAEzC,MAAM;IAAEK,KAAK;IAAEG,KAAK;IAAEC;EAAQ,CAAC,GAAGX,IAAI,CAACY,aAAa,CAACX,IAAI,CAAC;EAE1D,OAAO;IACLM,KAAK;IACLG,KAAK,EAAEC,OAAO,GAAGD,KAAK,GAAGD,SAAS;IAClCE,OAAO;IACPE,QAAQ,EAAGC,IAAU,IAAK;MACxBd,IAAI,CAACe,aAAa,CAACd,IAAI,EAAEa,IAAI,CAAC;MAC9B,IAAIX,UAAU,KAAK,QAAQ,EAAEH,IAAI,CAACgB,aAAa,CAACf,IAAI,CAAC;IACvD,CAAC;IACDgB,MAAM,EAAEA,CAAA,KAAM;MACZjB,IAAI,CAACkB,eAAe,CAACjB,IAAI,EAAE,IAAI,CAAC;MAChC,IAAIE,UAAU,KAAK,MAAM,EAAEH,IAAI,CAACgB,aAAa,CAACf,IAAI,CAAC;IACrD;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useField","form","name","validate","validateOn","validateRef","current","registerValidator","value","values","undefined","formValues","process","env","NODE_ENV","console","warn","String","error","touched","getFieldState","onChange","next","setFieldValue","validateField","onBlur","setFieldTouched"],"sourceRoot":"../../../../src","sources":["components/form/use-field.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAkBzC,OAAO,SAASC,QAAQA,CACtBC,IAAgB,EAChBC,IAAO,EACP;EAAEC,QAAQ;EAAEC,UAAU,GAAG;AAA8B,CAAC,GAAG,CAAC,CAAC,EACjC;EAC5B;EACA;EACA;EACA,MAAMC,WAAW,GAAGN,MAAM,CAACI,QAAQ,CAAC;EACpCE,WAAW,CAACC,OAAO,GAAGH,QAAQ;EAE9B,MAAM;IAAEI;EAAkB,CAAC,GAAGN,IAAI;EAClCH,SAAS,CAAC,MAAM;IACdS,iBAAiB,CACfL,IAAI,EACJC,QAAQ,GAAG,CAACK,KAAK,EAAEC,MAAM,KAAKJ,WAAW,CAACC,OAAO,CAAEE,KAAK,EAAEC,MAAM,CAAC,GAAGC,SACtE,CAAC;IACD,OAAO,MAAMH,iBAAiB,CAACL,IAAI,EAAEQ,SAAS,CAAC;IAC/C;EACF,CAAC,EAAE,CAACH,iBAAiB,EAAEL,IAAI,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC;;EAEzC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMQ,UAAU,GAAGV,IAAI,CAACQ,MAAM;EAC9BX,SAAS,CAAC,MAAM;IACd,IAAIc,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IAC3C,IAAIZ,IAAI,IAAIS,UAAU,EAAE;IACxBI,OAAO,CAACC,IAAI,CACV,yBAAyBC,MAAM,CAACf,IAAI,CAAC,kCAAkC,GACrE,yEAAyE,GACzE,QAAQe,MAAM,CAACf,IAAI,CAAC,iDAAiD,GACrE,iDACJ,CAAC;IACD;IACA;IACA;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAM;IAAEM,KAAK;IAAEU,KAAK;IAAEC;EAAQ,CAAC,GAAGlB,IAAI,CAACmB,aAAa,CAAClB,IAAI,CAAC;EAE1D,OAAO;IACLM,KAAK;IACLU,KAAK,EAAEC,OAAO,GAAGD,KAAK,GAAGR,SAAS;IAClCS,OAAO;IACPE,QAAQ,EAAGC,IAAU,IAAK;MACxBrB,IAAI,CAACsB,aAAa,CAACrB,IAAI,EAAEoB,IAAI,CAAC;MAC9B,IAAIlB,UAAU,KAAK,QAAQ,EAAEH,IAAI,CAACuB,aAAa,CAACtB,IAAI,CAAC;IACvD,CAAC;IACDuB,MAAM,EAAEA,CAAA,KAAM;MACZxB,IAAI,CAACyB,eAAe,CAACxB,IAAI,EAAE,IAAI,CAAC;MAChC,IAAIE,UAAU,KAAK,MAAM,EAAEH,IAAI,CAACuB,aAAa,CAACtB,IAAI,CAAC;IACrD;EACF,CAAC;AACH","ignoreList":[]}
@@ -26,6 +26,12 @@
26
26
  * `defaultValues` is read once, on the first render. If default values
27
27
  * arrive asynchronously, mount the form once you have them (e.g. behind a
28
28
  * loading check) rather than expecting the hook to pick up a later change.
29
+ *
30
+ * It also declares the fields. A field's `name` has to be a key of it —
31
+ * including the empty ones, as `''`, `false`, `null`. A name it does not
32
+ * declare has no value to give a validator and nothing to submit, so
33
+ * `useField` says so in development rather than letting the field quietly do
34
+ * nothing.
29
35
  */
30
36
  import { useCallback, useMemo, useReducer, useRef } from 'react';
31
37
  function reducer(state, action) {
@@ -98,6 +104,34 @@ function reducer(state, action) {
98
104
  return state;
99
105
  }
100
106
  }
107
+
108
+ /** Stands in for the message a rule that crashed never got to return. */
109
+ const VALIDATOR_THREW = 'This field could not be validated.';
110
+
111
+ /**
112
+ * Run one field's rule, and survive a rule that throws.
113
+ *
114
+ * A validator is caller code reached from a path nothing awaits — `onBlur`
115
+ * fires and forgets, and `handleSubmit` is wired straight to a press. A throw
116
+ * in there becomes an unhandled rejection: a red box whose message ("cannot
117
+ * read property 'length' of undefined") names neither the field nor the rule,
118
+ * and which takes the screen for one line of one validator.
119
+ *
120
+ * So it is caught, reported against the field by name, and counted as a
121
+ * failure. Counted, rather than waved through: a rule that crashed reached no
122
+ * verdict, and a form that submits past a rule that never ran is the worse of
123
+ * the two outcomes — it puts unchecked values somewhere they cannot be taken
124
+ * back from. The placeholder message is what stands between the two; the
125
+ * console entry beside it is for whoever can fix the rule.
126
+ */
127
+ async function runValidator(name, validator, values) {
128
+ try {
129
+ return await validator(values[name], values);
130
+ } catch (error) {
131
+ console.error(`[PanelUI] The validator for form field "${String(name)}" threw, so the ` + `field is being treated as invalid.`, error);
132
+ return VALIDATOR_THREW;
133
+ }
134
+ }
101
135
  export function useForm({
102
136
  defaultValues,
103
137
  validate,
@@ -111,7 +145,25 @@ export function useForm({
111
145
  touched: {},
112
146
  isSubmitting: false
113
147
  });
148
+
149
+ /*
150
+ * The values as of the last *change*, not as of the last render.
151
+ *
152
+ * Validation runs in the same tick as the edit that triggered it —
153
+ * `validateOn="change"` calls `validateField` immediately after
154
+ * `setFieldValue`, and submit runs from a press handler. React state is a
155
+ * render behind at that point, so a validator reading it would judge the
156
+ * character before the one just typed, and a submit fired straight after an
157
+ * edit would submit the value before it. The ref is written on the way into
158
+ * the dispatch so both see what the user actually entered.
159
+ */
160
+ const valuesRef = useRef(state.values);
161
+ valuesRef.current = state.values;
114
162
  const setFieldValue = useCallback((name, value) => {
163
+ valuesRef.current = {
164
+ ...valuesRef.current,
165
+ [name]: value
166
+ };
115
167
  dispatch({
116
168
  type: 'SET_VALUE',
117
169
  name,
@@ -147,26 +199,56 @@ export function useForm({
147
199
  const validateField = useCallback(async name => {
148
200
  const validator = validatorsRef.current[name];
149
201
  if (!validator) return true;
150
- const error = await validator(state.values[name], state.values);
202
+ const values = valuesRef.current;
203
+ const error = await runValidator(name, validator, values);
151
204
  dispatch({
152
205
  type: 'SET_ERROR',
153
206
  name,
154
207
  error
155
208
  });
156
209
  return !error;
157
- }, [state.values]);
210
+ }, []);
158
211
  const handleSubmit = useCallback(async () => {
159
- const names = Object.keys(state.values);
212
+ const values = valuesRef.current;
213
+ /*
214
+ * Every field the form knows of, which is not the same as every key of
215
+ * `defaultValues`: a field can register a validator under a name that was
216
+ * never declared there. Submitting only the declared ones meant such a
217
+ * field was never validated and never blocked anything, so a form of
218
+ * required-but-undeclared fields submitted itself while still empty.
219
+ *
220
+ * It is still a mistake to name a field that `defaultValues` does not
221
+ * declare — its value stays undefined and never reaches `onSubmit` —
222
+ * which is why `useField` says so. Validating it anyway is what turns
223
+ * that mistake into a visible error instead of a silent submit.
224
+ */
225
+ const names = Array.from(new Set([...Object.keys(values), ...Object.keys(validatorsRef.current)]));
160
226
  dispatch({
161
227
  type: 'TOUCH_ALL',
162
228
  names
163
229
  });
164
230
  const fieldErrorEntries = await Promise.all(names.map(async name => {
165
231
  const validator = validatorsRef.current[name];
166
- const error = validator ? await validator(state.values[name], state.values) : undefined;
232
+ const error = validator ? await runValidator(name, validator, values) : undefined;
167
233
  return [name, error];
168
234
  }));
169
- const formErrors = validate ? await validate(state.values) : {};
235
+
236
+ /*
237
+ * Same reasoning as a field's rule, one level up: a cross-field check that
238
+ * throws must not take the screen, and must not let the submit through.
239
+ * It belongs to no single field, so it blocks without marking one — there
240
+ * is no field whose error line would be the honest place to put it.
241
+ */
242
+ let formErrors = {};
243
+ let formValidateThrew = false;
244
+ if (validate) {
245
+ try {
246
+ formErrors = await validate(values);
247
+ } catch (error) {
248
+ console.error('[PanelUI] The form-level validate() threw, so the form is being ' + 'treated as invalid and the submit was not run.', error);
249
+ formValidateThrew = true;
250
+ }
251
+ }
170
252
  const cleared = Object.fromEntries(names.map(name => [name, undefined]));
171
253
  const nextErrors = {
172
254
  ...cleared,
@@ -177,19 +259,20 @@ export function useForm({
177
259
  type: 'SET_ERRORS',
178
260
  errors: nextErrors
179
261
  });
180
- if (Object.values(nextErrors).some(Boolean)) return;
262
+ if (formValidateThrew || Object.values(nextErrors).some(Boolean)) return;
181
263
  dispatch({
182
264
  type: 'SUBMIT_START'
183
265
  });
184
266
  try {
185
- await onSubmit(state.values);
267
+ await onSubmit(values);
186
268
  } finally {
187
269
  dispatch({
188
270
  type: 'SUBMIT_END'
189
271
  });
190
272
  }
191
- }, [state.values, validate, onSubmit]);
273
+ }, [validate, onSubmit]);
192
274
  const reset = useCallback((values = defaultsRef.current) => {
275
+ valuesRef.current = values;
193
276
  dispatch({
194
277
  type: 'RESET',
195
278
  values
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useReducer","useRef","reducer","state","action","type","values","name","value","errors","undefined","touched","error","names","isSubmitting","useForm","defaultValues","validate","onSubmit","defaultsRef","validatorsRef","dispatch","setFieldValue","setFieldTouched","setFieldError","registerValidator","validator","current","getFieldState","validateField","handleSubmit","Object","keys","fieldErrorEntries","Promise","all","map","formErrors","cleared","fromEntries","nextErrors","filter","some","Boolean","reset","isDirty","JSON","stringify","isValid","every"],"sourceRoot":"../../../../src","sources":["components/form/use-form.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useReducer","useRef","reducer","state","action","type","values","name","value","errors","undefined","touched","error","names","isSubmitting","VALIDATOR_THREW","runValidator","validator","console","String","useForm","defaultValues","validate","onSubmit","defaultsRef","validatorsRef","dispatch","valuesRef","current","setFieldValue","setFieldTouched","setFieldError","registerValidator","getFieldState","validateField","handleSubmit","Array","from","Set","Object","keys","fieldErrorEntries","Promise","all","map","formErrors","formValidateThrew","cleared","fromEntries","nextErrors","filter","some","Boolean","reset","isDirty","JSON","stringify","isValid","every"],"sourceRoot":"../../../../src","sources":["components/form/use-form.ts"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,13 @@
29
29
  * field, so anything centred on the component as a whole drifts upward the
30
30
  * moment a label is added.
31
31
  *
32
+ * Both are pressable. A button dropped in there — a clear ✕, a show-password
33
+ * eye — gets its own touches, while the padding around it stays transparent so
34
+ * a tap that misses still lands on the field and puts the caret in it. An icon
35
+ * that is only decoration should say so with `interactiveContent={false}`,
36
+ * which gives the whole field back to the caret and takes the icon out of the
37
+ * accessibility tree.
38
+ *
32
39
  * `InputGroup` is still the right answer for a decorator that is not part of
33
40
  * the field — a button attached to its end, a select bolted to its start, an
34
41
  * addon with its own background. It measures the same way; it just spans a
@@ -145,7 +152,7 @@ export const Input = /*#__PURE__*/forwardRef(({
145
152
  disabled,
146
153
  startContent,
147
154
  endContent,
148
- interactiveContent = false,
155
+ interactiveContent = true,
149
156
  variant,
150
157
  size,
151
158
  avoidKeyboard = false,
@@ -261,7 +268,7 @@ export const Input = /*#__PURE__*/forwardRef(({
261
268
  className: slots.fieldBox(),
262
269
  children: [startContent ? /*#__PURE__*/_jsx(View, {
263
270
  onLayout: handleStartLayout,
264
- pointerEvents: interactiveContent ? 'auto' : 'none',
271
+ pointerEvents: interactiveContent ? 'box-none' : 'none',
265
272
  accessibilityElementsHidden: !interactiveContent,
266
273
  importantForAccessibility: interactiveContent ? 'auto' : 'no-hide-descendants',
267
274
  className: slots.startContent(),
@@ -271,7 +278,7 @@ export const Input = /*#__PURE__*/forwardRef(({
271
278
  })
272
279
  }) : null, field, endContent ? /*#__PURE__*/_jsx(View, {
273
280
  onLayout: handleEndLayout,
274
- pointerEvents: interactiveContent ? 'auto' : 'none',
281
+ pointerEvents: interactiveContent ? 'box-none' : 'none',
275
282
  accessibilityElementsHidden: !interactiveContent,
276
283
  importantForAccessibility: interactiveContent ? 'auto' : 'no-hide-descendants',
277
284
  className: slots.endContent(),
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useEffect","useState","TextInput","View","Animated","interpolateColor","useAnimatedStyle","useSharedValue","withTiming","tv","useCSSVariable","IconColorProvider","KeyboardAvoider","Text","textChildren","Label","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FOCUS_DURATION","inputVariants","slots","container","field","description","error","fieldBox","startContent","endContent","variants","variant","outline","filled","size","sm","md","lg","multiline","true","disabled","defaultVariants","AnimatedTextInput","createAnimatedComponent","Input","className","containerClassName","label","errorMessage","isRequired","interactiveContent","avoidKeyboard","keyboardMode","keyboardOffset","keyboardBottomInset","onFocus","onBlur","style","props","ref","focused","setFocused","invalid","startWidth","setStartWidth","endWidth","setEndWidth","placeholderColor","restColor","focusColor","errorColor","focus","value","duration","resting","active","idle","borderStyle","borderColor","handleFocus","event","handleBlur","handleStartLayout","nativeEvent","layout","width","handleEndLayout","iconColor","undefined","editable","accessibilityLabel","accessibilityState","paddingStart","paddingEnd","placeholderTextColor","body","children","isInvalid","isDisabled","onLayout","pointerEvents","accessibilityElementsHidden","importantForAccessibility","color","containerClasses","mode","offset","bottomInset","displayName"],"sourceRoot":"../../../../src","sources":["components/input/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useState","TextInput","View","Animated","interpolateColor","useAnimatedStyle","useSharedValue","withTiming","tv","useCSSVariable","IconColorProvider","KeyboardAvoider","Text","textChildren","Label","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FOCUS_DURATION","inputVariants","slots","container","field","description","error","fieldBox","startContent","endContent","variants","variant","outline","filled","size","sm","md","lg","multiline","true","disabled","defaultVariants","AnimatedTextInput","createAnimatedComponent","Input","className","containerClassName","label","errorMessage","isRequired","interactiveContent","avoidKeyboard","keyboardMode","keyboardOffset","keyboardBottomInset","onFocus","onBlur","style","props","ref","focused","setFocused","invalid","startWidth","setStartWidth","endWidth","setEndWidth","placeholderColor","restColor","focusColor","errorColor","focus","value","duration","resting","active","idle","borderStyle","borderColor","handleFocus","event","handleBlur","handleStartLayout","nativeEvent","layout","width","handleEndLayout","iconColor","undefined","editable","accessibilityLabel","accessibilityState","paddingStart","paddingEnd","placeholderTextColor","body","children","isInvalid","isDisabled","onLayout","pointerEvents","accessibilityElementsHidden","importantForAccessibility","color","containerClasses","mode","offset","bottomInset","displayName"],"sourceRoot":"../../../../src","sources":["components/input/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAwB,OAAO;AACpF,SACEC,SAAS,EACTC,IAAI,QAGC,cAAc;AACrB,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAChC,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SAASC,cAAc,QAAQ,SAAS;AAExC,SAASC,iBAAiB,QAAQ,sBAAa;AAC/C,SAASC,eAAe,QAAQ,sCAAmC;AACnE,SAASC,IAAI,EAAEC,YAAY,QAAQ,0BAAuB;AAC1D,SAASC,KAAK,QAAQ,mBAAU;;AAEhC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,cAAc,GAAG,GAAG;AAE1B,MAAMC,aAAa,GAAGd,EAAE,CAAC;EACvBe,KAAK,EAAE;IACLC,SAAS,EAAE,gBAAgB;IAC3B;AACJ;AACA;AACA;AACA;AACA;IACIC,KAAK,EAAE,sDAAsD;IAC7DC,WAAW,EAAE,+BAA+B;IAC5CC,KAAK,EAAE,0BAA0B;IACjC;AACJ;AACA;AACA;AACA;IACIC,QAAQ,EAAE,iBAAiB;IAC3BC,YAAY,EACV,iFAAiF;IACnFC,UAAU,EACR;EACJ,CAAC;EACDC,QAAQ,EAAE;IACRC,OAAO,EAAE;MACP;MACA;MACAC,OAAO,EAAE;QAAER,KAAK,EAAE;MAAgB,CAAC;MACnCS,MAAM,EAAE;QAAET,KAAK,EAAE;MAAW;IAC9B,CAAC;IACDU,IAAI,EAAE;MACJ;AACN;AACA;AACA;AACA;AACA;AACA;AACA;MACM;MACA;MACAC,EAAE,EAAE;QAAEX,KAAK,EAAE,uBAAuB;QAAEI,YAAY,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAO,CAAC;MAChFO,EAAE,EAAE;QAAEZ,KAAK,EAAE,yBAAyB;QAAEI,YAAY,EAAE,QAAQ;QAAEC,UAAU,EAAE;MAAS,CAAC;MACtFQ,EAAE,EAAE;QAAEb,KAAK,EAAE,uBAAuB;QAAEI,YAAY,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAO;IACjF,CAAC;IACDS,SAAS,EAAE;MACT;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAC,IAAI,EAAE;QACJf,KAAK,EAAE,qCAAqC;QAC5CI,YAAY,EAAE,kBAAkB;QAChCC,UAAU,EAAE;MACd;IACF,CAAC;IACDW,QAAQ,EAAE;MACRD,IAAI,EAAE;QACJf,KAAK,EAAE,gBAAgB;QACvBI,YAAY,EAAE,gBAAgB;QAC9BC,UAAU,EAAE;MACd;IACF;EACF,CAAC;EACDY,eAAe,EAAE;IACfV,OAAO,EAAE,SAAS;IAClBG,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAsEF,MAAMQ,iBAAiB,GAAGxC,QAAQ,CAACyC,uBAAuB,CAAC3C,SAAS,CAAC;AAErE,OAAO,MAAM4C,KAAK,gBAAGhD,UAAU,CAC7B,CACE;EACEiD,SAAS;EACTC,kBAAkB;EAClBC,KAAK;EACLtB,WAAW;EACXuB,YAAY;EACZC,UAAU;EACVT,QAAQ;EACRZ,YAAY;EACZC,UAAU;EACVqB,kBAAkB,GAAG,IAAI;EACzBnB,OAAO;EACPG,IAAI;EACJiB,aAAa,GAAG,KAAK;EACrBC,YAAY,GAAG,MAAM;EACrBC,cAAc,GAAG,EAAE;EACnBC,mBAAmB,GAAG,CAAC;EACvBC,OAAO;EACPC,MAAM;EACNC,KAAK;EACL,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG9D,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM+D,OAAO,GAAG,CAAC,CAACd,YAAY;EAC9B;EACA;EACA,MAAM,CAACe,UAAU,EAAEC,aAAa,CAAC,GAAGjE,QAAQ,CAAC,CAAC,CAAC;EAC/C,MAAM,CAACkE,QAAQ,EAAEC,WAAW,CAAC,GAAGnE,QAAQ,CAAC,CAAC,CAAC;EAE3C,MAAMoE,gBAAgB,GAAG3D,cAAc,CAAC,0BAA0B,CAAC;EACnE,MAAM4D,SAAS,GAAG5D,cAAc,CAAC,eAAe,CAAC;EACjD,MAAM6D,UAAU,GAAG7D,cAAc,CAAC,cAAc,CAAC;EACjD,MAAM8D,UAAU,GAAG9D,cAAc,CAAC,qBAAqB,CAAC;EAExD,MAAMc,KAAK,GAAGD,aAAa,CAAC;IAC1BU,OAAO;IACPG,IAAI;IACJI,SAAS,EAAE,CAAC,CAACoB,KAAK,CAACpB,SAAS;IAC5BE,QAAQ,EAAE,CAAC,CAACA;EACd,CAAC,CAAC;;EAEF;AACJ;AACA;AACA;AACA;AACA;EACI,MAAM+B,KAAK,GAAGlE,cAAc,CAAC,CAAC,CAAC;EAC/BP,SAAS,CAAC,MAAM;IACdyE,KAAK,CAACC,KAAK,GAAGlE,UAAU,CAACsD,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;MAAEa,QAAQ,EAAErD;IAAe,CAAC,CAAC;EACzE,CAAC,EAAE,CAACwC,OAAO,EAAEW,KAAK,CAAC,CAAC;EAEpB,MAAMG,OAAO,GAAG,OAAON,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,SAAS;EACrE,MAAMO,MAAM,GAAGb,OAAO,GAClB,OAAOQ,UAAU,KAAK,QAAQ,GAC5BA,UAAU,GACV,SAAS,GACX,OAAOD,UAAU,KAAK,QAAQ,GAC5BA,UAAU,GACV,SAAS;EACf;EACA;EACA,MAAMO,IAAI,GAAGd,OAAO,GAAGa,MAAM,GAAGD,OAAO;EAEvC,MAAMG,WAAW,GAAGzE,gBAAgB,CAAC,OAAO;IAC1C0E,WAAW,EAAE3E,gBAAgB,CAACoE,KAAK,CAACC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAACI,IAAI,EAAED,MAAM,CAAC;EACnE,CAAC,CAAC,CAAC;EAEH,MAAMI,WAAW,GAAGlF,WAAW,CAC5BmF,KAAK,IAAK;IACTnB,UAAU,CAAC,IAAI,CAAC;IAChBN,OAAO,GAAGyB,KAAK,CAAC;EAClB,CAAC,EACD,CAACzB,OAAO,CACV,CAAC;EAED,MAAM0B,UAAU,GAAGpF,WAAW,CAC3BmF,KAAK,IAAK;IACTnB,UAAU,CAAC,KAAK,CAAC;IACjBL,MAAM,GAAGwB,KAAK,CAAC;EACjB,CAAC,EACD,CAACxB,MAAM,CACT,CAAC;EAED,MAAM0B,iBAAiB,GAAGrF,WAAW,CAAEmF,KAAwB,IAAK;IAClEhB,aAAa,CAACgB,KAAK,CAACG,WAAW,CAACC,MAAM,CAACC,KAAK,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,eAAe,GAAGzF,WAAW,CAAEmF,KAAwB,IAAK;IAChEd,WAAW,CAACc,KAAK,CAACG,WAAW,CAACC,MAAM,CAACC,KAAK,CAAC;EAC7C,CAAC,EAAE,EAAE,CAAC;;EAEN;AACJ;AACA;AACA;AACA;EACI,MAAME,SAAS,GAAG,OAAOpB,gBAAgB,KAAK,QAAQ,GAAGA,gBAAgB,GAAGqB,SAAS;EAErF,MAAMhE,KAAK,gBACTT,IAAA,CAAC2B,iBAAiB;IAChBiB,GAAG,EAAEA,GAAI;IACT8B,QAAQ,EAAE,CAACjD,QAAS;IACpBe,OAAO,EAAEwB,WAAY;IACrBvB,MAAM,EAAEyB,UAAW;IACnBS,kBAAkB,EAAE3C,KAAM;IAC1B4C,kBAAkB,EAAE;MAAEnD,QAAQ,EAAE,CAAC,CAACA;IAAS,CAAE;IAC7C,iBAAeS,UAAW;IAC1B,gBAAca,OAAQ;IACtBjB,SAAS,EAAEvB,KAAK,CAACE,KAAK,CAAC;MAAEqB;IAAU,CAAC,CAAE;IACtCY,KAAK,EAAE,CACLoB,WAAW;IACX;IACA;IACAd,UAAU,GAAG;MAAE6B,YAAY,EAAE7B;IAAW,CAAC,GAAG,IAAI,EAChDE,QAAQ,GAAG;MAAE4B,UAAU,EAAE5B;IAAS,CAAC,GAAG,IAAI;IAC1C;IACA;IACAR,KAAK,CACL;IACFqC,oBAAoB,EAClB,OAAO3B,gBAAgB,KAAK,QAAQ,GAAGA,gBAAgB,GAAGqB,SAC3D;IAAA,GACG9B;EAAK,CACV,CACF;EAED,MAAMqC,IAAI,gBACR9E,KAAA,CAAAE,SAAA;IAAA6E,QAAA,GACGjD,KAAK,gBACJhC,IAAA,CAACF,KAAK;MAACoC,UAAU,EAAEA,UAAW;MAACgD,SAAS,EAAEnC,OAAQ;MAACoC,UAAU,EAAE,CAAC,CAAC1D,QAAS;MAAAwD,QAAA,EACvEjD;IAAK,CACD,CAAC,GACN,IAAI,EACPnB,YAAY,IAAIC,UAAU;IAAA;IACzB;AACV;AACA;AACA;AACA;AACA;IACUZ,KAAA,CAAChB,IAAI;MAAC4C,SAAS,EAAEvB,KAAK,CAACK,QAAQ,CAAC,CAAE;MAAAqE,QAAA,GAC/BpE,YAAY,gBACXb,IAAA,CAACd,IAAI;QACHkG,QAAQ,EAAEjB,iBAAkB;QAC5BkB,aAAa,EAAElD,kBAAkB,GAAG,UAAU,GAAG,MAAO;QACxDmD,2BAA2B,EAAE,CAACnD,kBAAmB;QACjDoD,yBAAyB,EACvBpD,kBAAkB,GAAG,MAAM,GAAG,qBAC/B;QACDL,SAAS,EAAEvB,KAAK,CAACM,YAAY,CAAC,CAAE;QAAAoE,QAAA,eAEhCjF,IAAA,CAACN,iBAAiB;UAAC8F,KAAK,EAAEhB,SAAU;UAAAS,QAAA,EACjCpF,YAAY,CAACgB,YAAY;QAAC,CACV;MAAC,CAChB,CAAC,GACL,IAAI,EACPJ,KAAK,EACLK,UAAU,gBACTd,IAAA,CAACd,IAAI;QACHkG,QAAQ,EAAEb,eAAgB;QAC1Bc,aAAa,EAAElD,kBAAkB,GAAG,UAAU,GAAG,MAAO;QACxDmD,2BAA2B,EAAE,CAACnD,kBAAmB;QACjDoD,yBAAyB,EACvBpD,kBAAkB,GAAG,MAAM,GAAG,qBAC/B;QACDL,SAAS,EAAEvB,KAAK,CAACO,UAAU,CAAC,CAAE;QAAAmE,QAAA,eAE9BjF,IAAA,CAACN,iBAAiB;UAAC8F,KAAK,EAAEhB,SAAU;UAAAS,QAAA,EACjCpF,YAAY,CAACiB,UAAU;QAAC,CACR;MAAC,CAChB,CAAC,GACL,IAAI;IAAA,CACJ,CAAC,GAEPL,KACD,EACAwB,YAAY,gBACXjC,IAAA,CAACJ,IAAI;MAACkC,SAAS,EAAEvB,KAAK,CAACI,KAAK,CAAC,CAAE;MAAAsE,QAAA,EAAEhD;IAAY,CAAO,CAAC,GACnDvB,WAAW,gBACbV,IAAA,CAACJ,IAAI;MAACkC,SAAS,EAAEvB,KAAK,CAACG,WAAW,CAAC,CAAE;MAAAuE,QAAA,EAAEvE;IAAW,CAAO,CAAC,GACxD,IAAI;EAAA,CACR,CACH;EAED,MAAM+E,gBAAgB,GAAGlF,KAAK,CAACC,SAAS,CAAC;IAAEsB,SAAS,EAAEC;EAAmB,CAAC,CAAC;;EAE3E;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,IAAIK,aAAa,EAAE;IACjB,oBACEpC,IAAA,CAACL;IACC;IACA;IACA;IACA;IAAA;MACAiE,MAAM,EAAEf,OAAQ;MAChB6C,IAAI,EAAErD,YAAa;MACnBsD,MAAM,EAAErD,cAAe;MACvBsD,WAAW,EAAErD,mBAAoB;MACjCT,SAAS,EAAE2D,gBAAiB;MAAAR,QAAA,EAE3BD;IAAI,CACU,CAAC;EAEtB;EAEA,oBAAOhF,IAAA,CAACd,IAAI;IAAC4C,SAAS,EAAE2D,gBAAiB;IAAAR,QAAA,EAAED;EAAI,CAAO,CAAC;AACzD,CACF,CAAC;AAEDnD,KAAK,CAACgE,WAAW,GAAG,OAAO","ignoreList":[]}
@@ -28,8 +28,14 @@
28
28
  * the option labels. The filter narrows what is *shown* — the declared options
29
29
  * are still the source of truth, so nothing has to be lifted into state to make
30
30
  * it work.
31
+ *
32
+ * A list long enough to need a filter is usually long enough to want dividing,
33
+ * so options can be wrapped in `Select.Group` under a heading. Grouping is
34
+ * presentational — the value is still a flat string — and the filter reaches
35
+ * through it, dropping any group the query empties rather than leaving a
36
+ * heading standing over nothing.
31
37
  */
32
- import { Children, createContext, isValidElement, useCallback, useContext, useMemo, useRef, useState } from 'react';
38
+ import { Children, cloneElement, createContext, isValidElement, useCallback, useContext, useMemo, useRef, useState } from 'react';
33
39
  import { Pressable, ScrollView, useWindowDimensions, View } from 'react-native';
34
40
  import Animated, { FadeIn, FadeOut, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
35
41
  import { tv } from 'tailwind-variants';
@@ -39,6 +45,7 @@ import { getNativeUI } from "../../native/index.js";
39
45
  import { Portal } from "../../primitives/portal.js";
40
46
  import { Text, textChildren } from "../../primitives/text.js";
41
47
  import { useBackHandler } from "../../hooks/use-back-handler.js";
48
+ import { cn } from "../../utils/cn.js";
42
49
  import { BottomSheet } from "../bottom-sheet/index.js";
43
50
  import { InputGroup } from "../input-group/index.js";
44
51
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -52,7 +59,9 @@ const selectVariants = tv({
52
59
  list: 'overflow-hidden rounded-xl border border-border bg-popover p-2 shadow-sm',
53
60
  item: 'flex-row items-center gap-2 rounded-lg px-3 py-3',
54
61
  itemLabel: 'flex-1 text-base font-medium text-foreground',
55
- itemIndicator: 'h-5 w-5 items-center justify-center'
62
+ itemIndicator: 'h-5 w-5 items-center justify-center',
63
+ group: 'gap-1',
64
+ groupLabel: 'px-3 pb-1 pt-2'
56
65
  },
57
66
  variants: {
58
67
  selected: {
@@ -126,6 +135,97 @@ function SelectItem({
126
135
  })]
127
136
  });
128
137
  }
138
+ /**
139
+ * A titled run of options.
140
+ *
141
+ * Purely a way of arranging the list: a grouped Select still reports one flat
142
+ * string, and `Select.Item` needs to know nothing about being inside one.
143
+ */
144
+ function SelectGroup({
145
+ label,
146
+ className,
147
+ labelClassName,
148
+ children
149
+ }) {
150
+ const {
151
+ group,
152
+ groupLabel
153
+ } = selectVariants();
154
+ return /*#__PURE__*/_jsxs(View, {
155
+ className: cn(group(), className),
156
+ children: [label ? /*#__PURE__*/_jsx(View, {
157
+ accessibilityRole: "header",
158
+ className: cn(groupLabel(), labelClassName),
159
+ children: /*#__PURE__*/_jsx(Text, {
160
+ size: "xs",
161
+ weight: "medium",
162
+ muted: true,
163
+ className: "uppercase tracking-wide",
164
+ children: label
165
+ })
166
+ }) : null, textChildren(children)]
167
+ });
168
+ }
169
+
170
+ /**
171
+ * Walk the declared children, visiting every `Select.Item` — including the ones
172
+ * nested inside a `Select.Group`.
173
+ *
174
+ * Grouping is a rendering concern, but the selected label and the native
175
+ * picker's option list both want the flat set, so the tree is flattened once
176
+ * here rather than in each of them.
177
+ */
178
+ function eachOption(children, visit) {
179
+ Children.forEach(children, child => {
180
+ if (! /*#__PURE__*/isValidElement(child)) return;
181
+ if (child.type === SelectGroup) {
182
+ eachOption(child.props.children, visit);
183
+ return;
184
+ }
185
+ if (child.type !== SelectItem) return;
186
+ const {
187
+ value,
188
+ label,
189
+ disabled
190
+ } = child.props;
191
+ visit({
192
+ value,
193
+ label,
194
+ disabled
195
+ });
196
+ });
197
+ }
198
+
199
+ /**
200
+ * The children a query leaves standing.
201
+ *
202
+ * A group is rebuilt around whatever survives inside it and dropped when that
203
+ * is nothing — a heading with no options under it reads as a section that
204
+ * failed to load rather than one the filter emptied. Anything that is neither
205
+ * an item nor a group is left alone: a caption or a divider the caller put in
206
+ * the list is not something a filter has an opinion about.
207
+ */
208
+ function filterOptions(children, needle) {
209
+ const kept = [];
210
+ Children.forEach(children, child => {
211
+ if (! /*#__PURE__*/isValidElement(child)) return;
212
+ if (child.type === SelectGroup) {
213
+ const props = child.props;
214
+ const inner = filterOptions(props.children, needle);
215
+ if (inner.length) {
216
+ kept.push(/*#__PURE__*/cloneElement(child, {}, inner));
217
+ }
218
+ return;
219
+ }
220
+ if (child.type === SelectItem) {
221
+ const {
222
+ label
223
+ } = child.props;
224
+ if (label.toLowerCase().includes(needle)) kept.push(child);
225
+ }
226
+ });
227
+ return kept;
228
+ }
129
229
 
130
230
  /** Trigger frame in window coordinates, measured when the list opens. */
131
231
 
@@ -159,15 +259,7 @@ function SelectRoot({
159
259
  const nativeUI = native ? getNativeUI() : null;
160
260
  const options = useMemo(() => {
161
261
  const collected = [];
162
- Children.forEach(children, child => {
163
- if (/*#__PURE__*/isValidElement(child)) {
164
- collected.push({
165
- value: child.props.value,
166
- label: child.props.label,
167
- disabled: child.props.disabled
168
- });
169
- }
170
- });
262
+ eachOption(children, option => collected.push(option));
171
263
  return collected;
172
264
  }, [children]);
173
265
  const selectedLabel = useMemo(() => options.find(option => option.value === value)?.label, [options, value]);
@@ -181,7 +273,7 @@ function SelectRoot({
181
273
  const filtered = useMemo(() => {
182
274
  const needle = searchable ? query.trim().toLowerCase() : '';
183
275
  if (!needle) return null;
184
- return Children.toArray(children).filter(child => /*#__PURE__*/isValidElement(child) && child.props.label.toLowerCase().includes(needle));
276
+ return filterOptions(children, needle);
185
277
  }, [children, query, searchable]);
186
278
  const close = useCallback(() => {
187
279
  chevron.value = withTiming(0, {
@@ -275,8 +367,14 @@ function SelectRoot({
275
367
  );
276
368
  }
277
369
  const trigger = /*#__PURE__*/_jsxs(Pressable, {
278
- ref: triggerRef,
279
- accessibilityRole: "button",
370
+ ref: triggerRef
371
+ /*
372
+ * A trigger that owns a list of options and reports whether that list is
373
+ * open is a combobox, not a button — and `expanded` only means anything
374
+ * on a role that can be expanded. Announced as "collapsed"/"expanded"
375
+ * rather than as a button whose state has nowhere to be read.
376
+ */,
377
+ accessibilityRole: "combobox",
280
378
  accessibilityState: {
281
379
  disabled: !!disabled,
282
380
  expanded: open
@@ -461,7 +559,10 @@ function SelectRoot({
461
559
  }) : null]
462
560
  });
463
561
  }
562
+ SelectItem.displayName = 'Select.Item';
563
+ SelectGroup.displayName = 'Select.Group';
464
564
  export const Select = Object.assign(SelectRoot, {
465
- Item: SelectItem
565
+ Item: SelectItem,
566
+ Group: SelectGroup
466
567
  });
467
568
  //# sourceMappingURL=index.js.map