@astryxdesign/core 0.1.3-canary.6d57c8d → 0.1.3-canary.73bcac9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/core",
3
- "version": "0.1.3-canary.6d57c8d",
3
+ "version": "0.1.3-canary.73bcac9",
4
4
  "displayName": "XDS Core",
5
5
  "description": "The component library. Accessible, themeable React components with built-in spacing, dark mode, and StyleX styling.",
6
6
  "author": "Meta Open Source",
@@ -55,8 +55,8 @@ export const docs = {
55
55
  },
56
56
  {
57
57
  name: 'size',
58
- type: 'AvatarSize',
59
- description: 'Avatar size (named or numeric pixel value).',
58
+ type: "'tiny' | 'xsmall' | 'small' | 'medium' | 'large' | number",
59
+ description: "Avatar size. Use a named size ('tiny', 'xsmall', 'small', 'medium', 'large') or a numeric pixel value. Note: short names like 'sm', 'md', 'lg' are NOT valid — use the full words.",
60
60
  default: "'small'",
61
61
  },
62
62
  {
@@ -67,7 +67,7 @@ export const docs = {
67
67
  name: 'disabledMessage',
68
68
  type: 'string',
69
69
  description:
70
- 'Explains why the checkbox is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkbox focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
70
+ 'Explains why the checkbox is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkbox focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
71
71
  },
72
72
  {
73
73
  name: 'isReadOnly',
@@ -171,7 +171,7 @@ export const docsZh = {
171
171
  },
172
172
  {name: 'isLoading', type: 'boolean', description: '复选框是否处于加载状态。显示旋转器并阻止交互。', default: 'false'},
173
173
  {name: 'isDisabled', type: 'boolean', description: '复选框是否禁用。', default: 'false'},
174
- {name: 'disabledMessage', type: 'string', description: 'Explains why the checkbox is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkbox focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.'},
174
+ {name: 'disabledMessage', type: 'string', description: 'Explains why the checkbox is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkbox focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.'},
175
175
  {name: 'isReadOnly', type: 'boolean', description: '复选框是否为只读。以完整不透明度显示当前状态但阻止交互。与 isDisabled 不同,只读复选框不会变暗。', default: 'false'},
176
176
  {name: 'isOptional', type: 'boolean', description: '字段是否可选。与 isRequired 互斥。', default: 'false'},
177
177
  {name: 'isRequired', type: 'boolean', description: '复选框是否必填。与 isOptional 互斥。', default: 'false'},
@@ -81,7 +81,7 @@ export const docs = {
81
81
  name: 'disabledMessage',
82
82
  type: 'string',
83
83
  description:
84
- 'Explains why the group is disabled. Applies to the whole-group disabled state (isDisabled), not per item. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkboxes focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxList in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
84
+ 'Explains why the group is disabled. Applies to the whole-group disabled state (isDisabled), not per item. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkboxes focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxList in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
85
85
  },
86
86
  {
87
87
  name: 'status',
@@ -56,7 +56,7 @@ export const docs = {
56
56
  name: 'disabledMessage',
57
57
  type: 'string',
58
58
  description:
59
- 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
59
+ 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
60
60
  },
61
61
  {
62
62
  name: 'value',
@@ -52,7 +52,7 @@ export const docs = {
52
52
  name: 'disabledMessage',
53
53
  type: 'string',
54
54
  description:
55
- 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateRangeInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
55
+ 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateRangeInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
56
56
  },
57
57
  {
58
58
  name: 'value',
@@ -58,7 +58,7 @@ export const docs = {
58
58
  name: 'disabledMessage',
59
59
  type: 'string',
60
60
  description:
61
- 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateTimeInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
61
+ 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateTimeInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
62
62
  },
63
63
  {
64
64
  name: 'value',
@@ -17,7 +17,7 @@ export const docs = {
17
17
  { guidance: true, description: 'Use `repeat: \'fill\'` (the default) for consistent item widths. Use `\'fit\'` when items should stretch to fill leftover space.' },
18
18
  { guidance: false, description: 'Write manual CSS grid; Grid handles spacing and responsive behavior for you.' },
19
19
  { guidance: false, description: 'Use `HStack` with wrapping for grids; use Grid instead.' },
20
- { guidance: true, description: 'Track templates use CSS-variable indirection (not raw inline styles), so `xstyle` overrides of `gridTemplateColumns` including inside `@media` queries take effect.' },
20
+ { guidance: true, description: 'Track templates use CSS-variable indirection (not raw inline styles), so `xstyle` overrides of `gridTemplateColumns` (including inside `@media` queries) take effect.' },
21
21
  ],
22
22
  },
23
23
  theming: {
@@ -112,7 +112,7 @@ export const docsZh = {
112
112
  { guidance: true, description: 'Use `repeat: \'fill\'` (the default) for consistent item widths. Use `\'fit\'` when items should stretch to fill leftover space.' },
113
113
  { guidance: false, description: 'Write manual CSS grid; Grid handles spacing and responsive behavior for you.' },
114
114
  { guidance: false, description: 'Use `HStack` with wrapping for grids; use Grid instead.' },
115
- { guidance: true, description: 'Track templates use CSS-variable indirection (not raw inline styles), so `xstyle` overrides of `gridTemplateColumns` including inside `@media` queries take effect.' },
115
+ { guidance: true, description: 'Track templates use CSS-variable indirection (not raw inline styles), so `xstyle` overrides of `gridTemplateColumns` (including inside `@media` queries) take effect.' },
116
116
  ],
117
117
  },
118
118
  };
@@ -128,7 +128,7 @@ export const docsDense = {
128
128
  { guidance: true, description: 'Use repeat: \'fill\' (the default) for consistent item widths. Use \'fit\' when items should stretch to fill leftover space.' },
129
129
  { guidance: false, description: 'Write manual CSS grid; Grid handles spacing and responsive behavior for you.' },
130
130
  { guidance: false, description: 'Use HStack with wrapping for grids; use Grid instead.' },
131
- { guidance: true, description: 'track templates use CSS-var indirection, not inline styles xstyle/@media overrides of gridTemplateColumns work.' },
131
+ { guidance: true, description: 'track templates use CSS-var indirection, not inline styles, so xstyle/@media overrides of gridTemplateColumns work.' },
132
132
  ],
133
133
  },
134
134
  };
@@ -116,7 +116,7 @@ export const docs = {
116
116
  name: 'disabledMessage',
117
117
  type: 'string',
118
118
  description:
119
- 'Explains why the selector is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the trigger focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled MultiSelector in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
119
+ 'Explains why the selector is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the trigger focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled MultiSelector in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
120
120
  },
121
121
  {
122
122
  name: 'isLabelHidden',
@@ -75,7 +75,7 @@ export const docs = {
75
75
  name: 'disabledMessage',
76
76
  type: 'string',
77
77
  description:
78
- 'Explains why the search is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled PowerSearch in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
78
+ 'Explains why the search is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled PowerSearch in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
79
79
  },
80
80
  {
81
81
  name: 'status',
@@ -223,7 +223,7 @@ export const docsZh = {
223
223
  name: 'disabledMessage',
224
224
  type: 'string',
225
225
  description:
226
- 'Explains why the search is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled PowerSearch in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
226
+ 'Explains why the search is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled PowerSearch in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
227
227
  },
228
228
  {
229
229
  name: 'status',
@@ -78,7 +78,7 @@ export const docs = {
78
78
  name: 'disabledMessage',
79
79
  type: 'string',
80
80
  description:
81
- 'Explains why the group is disabled. Applies to the whole-group disabled state (isDisabled), not per item. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the radios focusable via aria-disabled (selection stays blocked). Use this instead of wrapping a disabled RadioList in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
81
+ 'Explains why the group is disabled. Applies to the whole-group disabled state (isDisabled), not per item. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the radios focusable via aria-disabled (selection stays blocked). Use this instead of wrapping a disabled RadioList in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
82
82
  },
83
83
  {
84
84
  name: 'isRequired',
@@ -69,7 +69,7 @@ export const docs = {
69
69
  name: 'disabledMessage',
70
70
  type: 'string',
71
71
  description:
72
- 'Explains why the control is disabled. Applies to the whole-group disabled state (isDisabled), not per segment. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the control focusable via aria-disabled (selection stays blocked). Use this instead of wrapping a disabled SegmentedControl in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
72
+ 'Explains why the control is disabled. Applies to the whole-group disabled state (isDisabled), not per segment. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the control focusable via aria-disabled (selection stays blocked). Use this instead of wrapping a disabled SegmentedControl in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
73
73
  },
74
74
  {
75
75
  name: 'children',
@@ -90,7 +90,7 @@ export const docs = {
90
90
  name: 'disabledMessage',
91
91
  type: 'string',
92
92
  description:
93
- 'Explains why the selector is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the trigger focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled Selector in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
93
+ 'Explains why the selector is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the trigger focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled Selector in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
94
94
  },
95
95
  {
96
96
  name: 'isLabelHidden',
@@ -99,7 +99,7 @@ export const docs = {
99
99
  name: 'disabledMessage',
100
100
  type: 'string',
101
101
  description:
102
- 'Explains why the slider is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the thumb focusable via aria-disabled (value changes stay blocked). Use this instead of wrapping a disabled Slider in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
102
+ 'Explains why the slider is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the thumb focusable via aria-disabled (value changes stay blocked). Use this instead of wrapping a disabled Slider in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
103
103
  },
104
104
  {
105
105
  name: 'isOptional',
@@ -248,7 +248,7 @@ export const docsZh = {
248
248
  name: 'disabledMessage',
249
249
  type: 'string',
250
250
  description:
251
- 'Explains why the slider is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the thumb focusable via aria-disabled (value changes stay blocked). Use this instead of wrapping a disabled Slider in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
251
+ 'Explains why the slider is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the thumb focusable via aria-disabled (value changes stay blocked). Use this instead of wrapping a disabled Slider in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
252
252
  },
253
253
  {
254
254
  name: 'isOptional',
@@ -66,7 +66,7 @@ export const docs = {
66
66
  name: 'disabledMessage',
67
67
  type: 'string',
68
68
  description:
69
- 'Explains why the switch is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the switch focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled Switch in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
69
+ 'Explains why the switch is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the switch focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled Switch in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
70
70
  },
71
71
  {
72
72
  name: 'isOptional',
@@ -207,7 +207,7 @@ export const docsZh = {
207
207
  name: 'disabledMessage',
208
208
  type: 'string',
209
209
  description:
210
- 'Explains why the switch is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the switch focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled Switch in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
210
+ 'Explains why the switch is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the switch focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled Switch in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
211
211
  },
212
212
  {
213
213
  name: 'isOptional',
@@ -6,7 +6,10 @@ export const docs = {
6
6
  name: 'useTablePagination',
7
7
  subComponentOf: 'Table',
8
8
  displayName: 'useTablePagination',
9
- description: 'Headless pagination plugin for Table. Supports client-side slicing, server-side pagination, and cursor-based pagination. Renders Pagination controls automatically above, below, or both.',
9
+ description: 'Headless pagination plugin for Table. Call with a config object: `useTablePagination({ page, onPageChange, totalItems })`. Returns a TablePlugin to pass to `<Table plugins={{ pagination: paginationPlugin }} />`.',
10
+ usage: {
11
+ description: 'Call useTablePagination with a config object containing page state and callback. Pass the returned plugin to Table via the plugins prop.',
12
+ },
10
13
  props: [
11
14
  {
12
15
  name: 'page',
@@ -6,7 +6,10 @@ export const docs = {
6
6
  name: 'useTableSortable',
7
7
  subComponentOf: 'Table',
8
8
  displayName: 'useTableSortable',
9
- description: 'Headless multi-sort plugin for Table. The consumer owns sort state and provides a callback. Shift+click enables secondary sort columns. Sort indicators render in header cells automatically.',
9
+ description: 'Headless multi-sort plugin for Table. Call with a config object: `useTableSortable({ sort, onSortChange })`. Returns a TablePlugin to pass to `<Table plugins={{ sort: sortPlugin }} />`.',
10
+ usage: {
11
+ description: 'Call useTableSortable with a config object containing sort state and callback. Pass the returned plugin to Table via the plugins prop.',
12
+ },
10
13
  props: [
11
14
  {
12
15
  name: 'sort',
@@ -74,7 +74,7 @@ export const docs = {
74
74
  name: 'disabledMessage',
75
75
  type: 'string',
76
76
  description:
77
- 'Explains why the textarea is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the textarea focusable via aria-disabled (the field becomes read-only). Use this instead of wrapping a disabled TextArea in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
77
+ 'Explains why the textarea is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the textarea focusable via aria-disabled (the field becomes read-only). Use this instead of wrapping a disabled TextArea in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
78
78
  },
79
79
  {
80
80
  name: 'isLoading',
@@ -82,7 +82,7 @@ export const docs = {
82
82
  name: 'disabledMessage',
83
83
  type: 'string',
84
84
  description:
85
- 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (the field becomes read-only). Use this instead of wrapping a disabled TextInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
85
+ 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (the field becomes read-only). Use this instead of wrapping a disabled TextInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
86
86
  },
87
87
  {
88
88
  name: 'isLoading',
@@ -26,7 +26,7 @@ export const docs = {
26
26
  {
27
27
  guidance: true,
28
28
  description:
29
- 'Choose the hour format (12h or 24h) that matches your audience\'s locale; 12-hour with AM/PM for US-centric UIs, 24-hour for international or technical contexts.',
29
+ 'Choose the hour format (12h or 24h) that matches your audience\'s locale: 12-hour with AM/PM for US-centric UIs, 24-hour for international or technical contexts.',
30
30
  },
31
31
  {
32
32
  guidance: true,
@@ -41,7 +41,7 @@ export const docs = {
41
41
  {
42
42
  guidance: true,
43
43
  description:
44
- 'Use the status prop to surface validation errors inline; show a message like "Time must be during business hours" so users know exactly what to fix.',
44
+ 'Use the status prop to surface validation errors inline: show a message like "Time must be during business hours" so users know exactly what to fix.',
45
45
  },
46
46
  {
47
47
  guidance: true,
@@ -146,7 +146,7 @@ export const docs = {
146
146
  name: 'disabledMessage',
147
147
  type: 'string',
148
148
  description:
149
- 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled TimeInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
149
+ 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled TimeInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
150
150
  },
151
151
  {
152
152
  name: 'value',
@@ -396,7 +396,7 @@ export const docsZh = {
396
396
  {
397
397
  guidance: true,
398
398
  description:
399
- 'Choose the hour format (12h or 24h) that matches your audience\'s locale; 12-hour with AM/PM for US-centric UIs, 24-hour for international or technical contexts.',
399
+ 'Choose the hour format (12h or 24h) that matches your audience\'s locale: 12-hour with AM/PM for US-centric UIs, 24-hour for international or technical contexts.',
400
400
  },
401
401
  {
402
402
  guidance: true,
@@ -411,7 +411,7 @@ export const docsZh = {
411
411
  {
412
412
  guidance: true,
413
413
  description:
414
- 'Use the status prop to surface validation errors inline; show a message like "Time must be during business hours" so users know exactly what to fix.',
414
+ 'Use the status prop to surface validation errors inline: show a message like "Time must be during business hours" so users know exactly what to fix.',
415
415
  },
416
416
  {
417
417
  guidance: true,
@@ -480,7 +480,7 @@ export const docsDense = {
480
480
  {
481
481
  guidance: true,
482
482
  description:
483
- 'Choose hour format (12h/24h) to match locale; 12h for US, 24h for international.',
483
+ 'Choose hour format (12h/24h) to match locale: 12h for US, 24h for international.',
484
484
  },
485
485
  {
486
486
  guidance: true,
@@ -497,15 +497,20 @@ export const docsDense = {
497
497
  description: 'Use status prop for inline validation errors.',
498
498
  },
499
499
  {guidance: true, description: 'Enable hasClear for optional fields.'},
500
+ {
501
+ guidance: true,
502
+ description:
503
+ 'Place inside InputGroup for a single-line prefix or suffix addon, like a label or timezone marker.',
504
+ },
500
505
  {
501
506
  guidance: false,
502
507
  description:
503
- 'Don\'t use for date-and-time; pair with DateInput instead.',
508
+ 'Don\u2019t use for date-and-time; pair with DateInput instead.',
504
509
  },
505
510
  {
506
511
  guidance: false,
507
512
  description:
508
- 'Don\'t hide the label; keep it visible for clarity.',
513
+ 'Don\u2019t hide the label; keep it visible for clarity.',
509
514
  },
510
515
  {
511
516
  guidance: false,
@@ -74,7 +74,7 @@ export const docs = {
74
74
  name: 'disabledMessage',
75
75
  type: 'string',
76
76
  description:
77
- 'Explains why the tokenizer is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled Tokenizer in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
77
+ 'Explains why the tokenizer is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled Tokenizer in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
78
78
  },
79
79
  {
80
80
  name: 'status',
@@ -281,7 +281,7 @@ export const docsZh = {
281
281
  name: 'disabledMessage',
282
282
  type: 'string',
283
283
  description:
284
- 'Explains why the tokenizer is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled Tokenizer in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
284
+ 'Explains why the tokenizer is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the input focusable via aria-disabled (input stays blocked). Use this instead of wrapping a disabled Tokenizer in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
285
285
  },
286
286
  {
287
287
  name: 'status',
@@ -75,7 +75,7 @@ export const docs = {
75
75
  name: 'disabledMessage',
76
76
  type: 'string',
77
77
  description:
78
- 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled Typeahead in Tooltip disabled controls swallow the hover events an external Tooltip needs.',
78
+ 'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled Typeahead in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
79
79
  },
80
80
  {
81
81
  name: 'maxMenuItems',
@@ -38,7 +38,7 @@ export const docs = {
38
38
  {
39
39
  name: 'hintElement',
40
40
  type: 'ReactNode',
41
- description: 'The popover hint element to render inside the composite container (as the last child). Portals to the top layer via popover="manual", renders arrow keys with Kbd, and manages its own visibility render it unconditionally.',
41
+ description: 'The popover hint element to render inside the composite container (as the last child). Portals to the top layer via popover="manual", renders arrow keys with Kbd, and manages its own visibility; render it unconditionally.',
42
42
  },
43
43
  {
44
44
  name: 'onFocus',
@@ -58,12 +58,12 @@ export const docs = {
58
58
  ],
59
59
  usage: {
60
60
  description:
61
- 'Shows an ephemeral "← → to navigate" hint anchored to the focused item the first time a roving-tabindex composite (Toolbar, TabList, SegmentedControl, etc.) receives keyboard focus. It teaches sighted keyboard users that arrow keys move within the group. The hint renders arrow keys with Kbd in the top layer (popover="manual") and is CSS-anchor-positioned to the focused element, so overflow containers never clip it. It auto-dismisses on the first arrow press, on timeout, or on blur, and does not re-show for that instance. Toolbar, TabList, and SegmentedControl wire this in automatically reach for the hook directly only when building a custom roving-tabindex widget.',
61
+ 'Shows an ephemeral "← → to navigate" hint anchored to the focused item the first time a roving-tabindex composite (Toolbar, TabList, SegmentedControl, etc.) receives keyboard focus. It teaches sighted keyboard users that arrow keys move within the group. The hint renders arrow keys with Kbd in the top layer (popover="manual") and is CSS-anchor-positioned to the focused element, so overflow containers never clip it. It auto-dismisses on the first arrow press, on timeout, or on blur, and does not re-show for that instance. Toolbar, TabList, and SegmentedControl wire this in automatically; reach for the hook directly only when building a custom roving-tabindex widget.',
62
62
  bestPractices: [
63
- { guidance: true, description: 'Compose the returned onFocus/onKeyDown with your existing focus handlers rather than replacing them call onKeyDown first (it only dismisses, never prevents), then your navigation handler.' },
63
+ { guidance: true, description: 'Compose the returned onFocus/onKeyDown with your existing focus handlers rather than replacing them: call onKeyDown first (it only dismisses, never prevents), then your navigation handler.' },
64
64
  { guidance: true, description: 'Render hintElement as the last child of the composite container; it is position:fixed in the top layer and aria-hidden, so it never affects layout or the accessibility tree.' },
65
65
  { guidance: true, description: 'Match orientation to the arrow keys your widget actually responds to so the hint shows the correct icons.' },
66
- { guidance: false, description: 'Use for single controls or widgets without roving-tabindex navigation the hint only makes sense where arrows move focus within a group.' },
66
+ { guidance: false, description: 'Use for single controls or widgets without roving-tabindex navigation; the hint only makes sense where arrows move focus within a group.' },
67
67
  ],
68
68
  },
69
69
  relatedComponents: ['Toolbar', 'TabList', 'SegmentedControl'],
@@ -83,7 +83,7 @@ export const docsDense = {
83
83
  'options.isEnabled': 'whether the hint is enabled; false suppresses it (e.g. disabled/read-only widget).',
84
84
  },
85
85
  returnDescriptions: {
86
- hintElement: 'popover hint to render as last child of the container. Kbd-rendered arrows, top-layer, self-managing render unconditionally.',
86
+ hintElement: 'popover hint to render as last child of the container. Kbd-rendered arrows, top-layer, self-managing; render unconditionally.',
87
87
  onFocus: 'container onFocus: shows hint on first :focus-visible entry from outside.',
88
88
  onBlur: 'container onBlur: hides on leaving the composite; re-anchors on internal moves.',
89
89
  onKeyDown: 'container onKeyDown: dismisses on first arrow press. Never prevents default.',
@@ -92,7 +92,7 @@ export const docsDense = {
92
92
  description:
93
93
  'Ephemeral "← → to navigate" hint on first keyboard focus of a roving-tabindex composite. Top-layer anchored popover, aria-hidden. Auto-dismisses on first arrow press, timeout, or blur; no re-show. Toolbar/TabList/SegmentedControl wire it in automatically.',
94
94
  bestPractices: [
95
- { guidance: true, description: 'Compose returned onFocus/onKeyDown with existing handlers (call onKeyDown first it only dismisses).' },
95
+ { guidance: true, description: 'Compose returned onFocus/onKeyDown with existing handlers (call onKeyDown first; it only dismisses).' },
96
96
  { guidance: true, description: 'Render hintElement as last child; top-layer + aria-hidden, no layout/a11y impact.' },
97
97
  { guidance: true, description: 'Match orientation to the arrows the widget responds to.' },
98
98
  { guidance: false, description: 'Use for single controls / non-roving widgets.' },