@octanejs/aria 0.0.4 → 0.0.6

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 (210) hide show
  1. package/package.json +7 -5
  2. package/src/autocomplete/useAutocomplete.ts +656 -0
  3. package/src/collections/BaseCollection.ts +374 -0
  4. package/src/collections/CollectionBuilder.ts +343 -0
  5. package/src/collections/Document.ts +451 -0
  6. package/src/collections/Hidden.ts +84 -0
  7. package/src/collections/useCachedChildren.ts +103 -0
  8. package/src/components/Autocomplete.ts +124 -0
  9. package/src/components/Breadcrumbs.ts +170 -0
  10. package/src/components/Button.ts +209 -0
  11. package/src/components/Checkbox.ts +593 -0
  12. package/src/components/Collection.ts +301 -0
  13. package/src/components/ComboBox.ts +477 -0
  14. package/src/components/Dialog.ts +195 -0
  15. package/src/components/Disclosure.ts +322 -0
  16. package/src/components/DragAndDrop.ts +177 -0
  17. package/src/components/FieldError.ts +79 -0
  18. package/src/components/Form.ts +65 -0
  19. package/src/components/GridList.ts +1099 -0
  20. package/src/components/Group.ts +146 -0
  21. package/src/components/Header.ts +32 -0
  22. package/src/components/Heading.ts +45 -0
  23. package/src/components/Input.ts +139 -0
  24. package/src/components/Keyboard.ts +23 -0
  25. package/src/components/Label.ts +30 -0
  26. package/src/components/Link.ts +137 -0
  27. package/src/components/ListBox.ts +886 -0
  28. package/src/components/Menu.ts +685 -0
  29. package/src/components/Meter.ts +100 -0
  30. package/src/components/Modal.ts +352 -0
  31. package/src/components/NumberField.ts +221 -0
  32. package/src/components/OverlayArrow.ts +117 -0
  33. package/src/components/Popover.ts +385 -0
  34. package/src/components/ProgressBar.ts +112 -0
  35. package/src/components/RadioGroup.ts +542 -0
  36. package/src/components/SearchField.ts +208 -0
  37. package/src/components/Select.ts +505 -0
  38. package/src/components/SelectionIndicator.ts +52 -0
  39. package/src/components/Separator.ts +97 -0
  40. package/src/components/SharedElementTransition.ts +209 -0
  41. package/src/components/Slider.ts +472 -0
  42. package/src/components/Switch.ts +449 -0
  43. package/src/components/Table.ts +2618 -0
  44. package/src/components/Tabs.ts +675 -0
  45. package/src/components/TagGroup.ts +443 -0
  46. package/src/components/Text.ts +27 -0
  47. package/src/components/TextArea.ts +92 -0
  48. package/src/components/TextField.ts +200 -0
  49. package/src/components/ToggleButton.ts +147 -0
  50. package/src/components/ToggleButtonGroup.ts +106 -0
  51. package/src/components/Toolbar.ts +74 -0
  52. package/src/components/Tooltip.ts +249 -0
  53. package/src/components/Tree.ts +1450 -0
  54. package/src/components/TreeDropTargetDelegate.ts +363 -0
  55. package/src/components/index.ts +359 -0
  56. package/src/components/useDragAndDrop.ts +164 -0
  57. package/src/components/utils.ts +521 -0
  58. package/src/grid/GridKeyboardDelegate.ts +514 -0
  59. package/src/grid/useGrid.ts +263 -0
  60. package/src/grid/useGridCell.ts +346 -0
  61. package/src/grid/useGridRow.ts +108 -0
  62. package/src/grid/useGridRowGroup.ts +29 -0
  63. package/src/grid/utils.ts +24 -0
  64. package/src/index.ts +38 -0
  65. package/src/intl/autocomplete/ar-AE.json +3 -0
  66. package/src/intl/autocomplete/bg-BG.json +3 -0
  67. package/src/intl/autocomplete/cs-CZ.json +3 -0
  68. package/src/intl/autocomplete/da-DK.json +3 -0
  69. package/src/intl/autocomplete/de-DE.json +3 -0
  70. package/src/intl/autocomplete/el-GR.json +3 -0
  71. package/src/intl/autocomplete/en-US.json +3 -0
  72. package/src/intl/autocomplete/es-ES.json +3 -0
  73. package/src/intl/autocomplete/et-EE.json +3 -0
  74. package/src/intl/autocomplete/fi-FI.json +3 -0
  75. package/src/intl/autocomplete/fr-FR.json +3 -0
  76. package/src/intl/autocomplete/he-IL.json +3 -0
  77. package/src/intl/autocomplete/hr-HR.json +3 -0
  78. package/src/intl/autocomplete/hu-HU.json +3 -0
  79. package/src/intl/autocomplete/index.ts +82 -0
  80. package/src/intl/autocomplete/it-IT.json +3 -0
  81. package/src/intl/autocomplete/ja-JP.json +3 -0
  82. package/src/intl/autocomplete/ko-KR.json +3 -0
  83. package/src/intl/autocomplete/lt-LT.json +3 -0
  84. package/src/intl/autocomplete/lv-LV.json +3 -0
  85. package/src/intl/autocomplete/nb-NO.json +3 -0
  86. package/src/intl/autocomplete/nl-NL.json +3 -0
  87. package/src/intl/autocomplete/pl-PL.json +3 -0
  88. package/src/intl/autocomplete/pt-BR.json +3 -0
  89. package/src/intl/autocomplete/pt-PT.json +3 -0
  90. package/src/intl/autocomplete/ro-RO.json +3 -0
  91. package/src/intl/autocomplete/ru-RU.json +3 -0
  92. package/src/intl/autocomplete/sk-SK.json +3 -0
  93. package/src/intl/autocomplete/sl-SI.json +3 -0
  94. package/src/intl/autocomplete/sr-SP.json +3 -0
  95. package/src/intl/autocomplete/sv-SE.json +3 -0
  96. package/src/intl/autocomplete/tr-TR.json +3 -0
  97. package/src/intl/autocomplete/uk-UA.json +3 -0
  98. package/src/intl/autocomplete/zh-CN.json +3 -0
  99. package/src/intl/autocomplete/zh-TW.json +3 -0
  100. package/src/intl/breadcrumbs/index.ts +9 -2
  101. package/src/intl/combobox/index.ts +9 -2
  102. package/src/intl/compileMessages.ts +356 -0
  103. package/src/intl/grid/index.ts +9 -2
  104. package/src/intl/gridlist/index.ts +9 -2
  105. package/src/intl/menu/index.ts +9 -2
  106. package/src/intl/numberfield/index.ts +9 -2
  107. package/src/intl/overlays/index.ts +9 -2
  108. package/src/intl/searchfield/index.ts +9 -2
  109. package/src/intl/spinbutton/index.ts +9 -2
  110. package/src/intl/table/ar-AE.json +13 -0
  111. package/src/intl/table/bg-BG.json +13 -0
  112. package/src/intl/table/cs-CZ.json +13 -0
  113. package/src/intl/table/da-DK.json +13 -0
  114. package/src/intl/table/de-DE.json +13 -0
  115. package/src/intl/table/el-GR.json +13 -0
  116. package/src/intl/table/en-US.json +13 -0
  117. package/src/intl/table/es-ES.json +13 -0
  118. package/src/intl/table/et-EE.json +13 -0
  119. package/src/intl/table/fi-FI.json +13 -0
  120. package/src/intl/table/fr-FR.json +13 -0
  121. package/src/intl/table/he-IL.json +13 -0
  122. package/src/intl/table/hr-HR.json +13 -0
  123. package/src/intl/table/hu-HU.json +13 -0
  124. package/src/intl/table/index.ts +82 -0
  125. package/src/intl/table/it-IT.json +13 -0
  126. package/src/intl/table/ja-JP.json +13 -0
  127. package/src/intl/table/ko-KR.json +13 -0
  128. package/src/intl/table/lt-LT.json +13 -0
  129. package/src/intl/table/lv-LV.json +13 -0
  130. package/src/intl/table/nb-NO.json +13 -0
  131. package/src/intl/table/nl-NL.json +13 -0
  132. package/src/intl/table/pl-PL.json +13 -0
  133. package/src/intl/table/pt-BR.json +13 -0
  134. package/src/intl/table/pt-PT.json +13 -0
  135. package/src/intl/table/ro-RO.json +13 -0
  136. package/src/intl/table/ru-RU.json +13 -0
  137. package/src/intl/table/sk-SK.json +13 -0
  138. package/src/intl/table/sl-SI.json +13 -0
  139. package/src/intl/table/sr-SP.json +13 -0
  140. package/src/intl/table/sv-SE.json +13 -0
  141. package/src/intl/table/tr-TR.json +13 -0
  142. package/src/intl/table/uk-UA.json +13 -0
  143. package/src/intl/table/zh-CN.json +13 -0
  144. package/src/intl/table/zh-TW.json +13 -0
  145. package/src/intl/tag/index.ts +9 -2
  146. package/src/intl/tree/ar-AE.json +4 -0
  147. package/src/intl/tree/bg-BG.json +4 -0
  148. package/src/intl/tree/cs-CZ.json +4 -0
  149. package/src/intl/tree/da-DK.json +4 -0
  150. package/src/intl/tree/de-DE.json +4 -0
  151. package/src/intl/tree/el-GR.json +4 -0
  152. package/src/intl/tree/en-US.json +4 -0
  153. package/src/intl/tree/es-ES.json +4 -0
  154. package/src/intl/tree/et-EE.json +4 -0
  155. package/src/intl/tree/fi-FI.json +4 -0
  156. package/src/intl/tree/fr-FR.json +4 -0
  157. package/src/intl/tree/he-IL.json +4 -0
  158. package/src/intl/tree/hr-HR.json +4 -0
  159. package/src/intl/tree/hu-HU.json +4 -0
  160. package/src/intl/tree/index.ts +82 -0
  161. package/src/intl/tree/it-IT.json +4 -0
  162. package/src/intl/tree/ja-JP.json +4 -0
  163. package/src/intl/tree/ko-KR.json +4 -0
  164. package/src/intl/tree/lt-LT.json +4 -0
  165. package/src/intl/tree/lv-LV.json +4 -0
  166. package/src/intl/tree/nb-NO.json +4 -0
  167. package/src/intl/tree/nl-NL.json +4 -0
  168. package/src/intl/tree/pl-PL.json +4 -0
  169. package/src/intl/tree/pt-BR.json +4 -0
  170. package/src/intl/tree/pt-PT.json +4 -0
  171. package/src/intl/tree/ro-RO.json +4 -0
  172. package/src/intl/tree/ru-RU.json +4 -0
  173. package/src/intl/tree/sk-SK.json +4 -0
  174. package/src/intl/tree/sl-SI.json +4 -0
  175. package/src/intl/tree/sr-SP.json +4 -0
  176. package/src/intl/tree/sv-SE.json +4 -0
  177. package/src/intl/tree/tr-TR.json +4 -0
  178. package/src/intl/tree/uk-UA.json +4 -0
  179. package/src/intl/tree/zh-CN.json +4 -0
  180. package/src/intl/tree/zh-TW.json +4 -0
  181. package/src/stately/autocomplete/useAutocompleteState.ts +85 -0
  182. package/src/stately/grid/GridCollection.ts +200 -0
  183. package/src/stately/grid/useGridState.ts +160 -0
  184. package/src/stately/index.ts +43 -0
  185. package/src/stately/table/Cell.ts +49 -0
  186. package/src/stately/table/Column.ts +121 -0
  187. package/src/stately/table/Row.ts +145 -0
  188. package/src/stately/table/TableBody.ts +66 -0
  189. package/src/stately/table/TableCollection.ts +390 -0
  190. package/src/stately/table/TableColumnLayout.ts +148 -0
  191. package/src/stately/table/TableHeader.ts +65 -0
  192. package/src/stately/table/TableUtils.ts +269 -0
  193. package/src/stately/table/useTableColumnResizeState.ts +202 -0
  194. package/src/stately/table/useTableState.ts +235 -0
  195. package/src/stately/table/useTreeGridState.ts +248 -0
  196. package/src/table/TableKeyboardDelegate.ts +205 -0
  197. package/src/table/useTable.ts +175 -0
  198. package/src/table/useTableCell.ts +81 -0
  199. package/src/table/useTableColumnHeader.ts +155 -0
  200. package/src/table/useTableColumnResize.ts +374 -0
  201. package/src/table/useTableHeaderRow.ts +57 -0
  202. package/src/table/useTableRow.ts +198 -0
  203. package/src/table/useTableRowGroup.ts +13 -0
  204. package/src/table/useTableSelectionCheckbox.ts +105 -0
  205. package/src/table/utils.ts +42 -0
  206. package/src/tree/useTree.ts +76 -0
  207. package/src/tree/useTreeItem.ts +109 -0
  208. package/src/utils/animation.ts +149 -0
  209. package/src/utils/useLoadMoreSentinel.ts +78 -0
  210. package/src/utils/useViewportSize.ts +123 -0
@@ -0,0 +1,359 @@
1
+ // @octanejs/aria/components — the react-aria-components surface, ported onto octane.
2
+ // Exports mirror the upstream index (.react-spectrum/packages/react-aria-components/
3
+ // exports/index.ts): the Phase-4 foundation (collections engine, plumbing,
4
+ // non-collection components) plus the Phase-5 collection components (Autocomplete,
5
+ // ListBox, Menu, Select, ComboBox, Tabs, TagGroup, GridList, Breadcrumbs, and the
6
+ // inert DragAndDrop context layer). Tree/Table, date/color families, and the
7
+ // drag-and-drop engine arrive in later phases — see docs/aria-migration-plan.md.
8
+
9
+ // plumbing
10
+ export {
11
+ composeRenderProps,
12
+ DEFAULT_SLOT,
13
+ Provider,
14
+ useContextProps,
15
+ useRenderProps,
16
+ useSlottedContext,
17
+ } from './utils';
18
+ export type { ContextValue, RenderProps, SlotProps, StyleRenderProps } from './utils';
19
+
20
+ // collections engine (mirrors the react-aria/CollectionBuilder + Collection exports)
21
+ export {
22
+ createLeafComponent,
23
+ createBranchComponent,
24
+ CollectionBuilder,
25
+ Collection,
26
+ } from '../collections/CollectionBuilder';
27
+ export type { CollectionProps } from '../collections/CollectionBuilder';
28
+ export { Section, CollectionRendererContext, DefaultCollectionRenderer } from './Collection';
29
+ export type { SectionProps, CollectionRenderer } from './Collection';
30
+
31
+ // components
32
+ export { Button, ButtonContext } from './Button';
33
+ export type { ButtonProps, ButtonRenderProps } from './Button';
34
+ export {
35
+ Checkbox,
36
+ CheckboxGroup,
37
+ CheckboxField,
38
+ CheckboxButton,
39
+ CheckboxContext,
40
+ CheckboxFieldContext,
41
+ CheckboxGroupContext,
42
+ CheckboxGroupStateContext,
43
+ } from './Checkbox';
44
+ export type {
45
+ CheckboxGroupProps,
46
+ CheckboxGroupRenderProps,
47
+ CheckboxRenderProps,
48
+ CheckboxProps,
49
+ CheckboxFieldProps,
50
+ CheckboxFieldRenderProps,
51
+ CheckboxButtonProps,
52
+ CheckboxButtonRenderProps,
53
+ } from './Checkbox';
54
+ export { DialogTrigger, Dialog, DialogContext, OverlayTriggerStateContext } from './Dialog';
55
+ export type { DialogProps, DialogTriggerProps, DialogRenderProps } from './Dialog';
56
+ export {
57
+ Disclosure,
58
+ DisclosureGroup,
59
+ DisclosureGroupStateContext,
60
+ DisclosurePanel,
61
+ DisclosureStateContext,
62
+ DisclosureContext,
63
+ } from './Disclosure';
64
+ export type {
65
+ DisclosureProps,
66
+ DisclosureRenderProps,
67
+ DisclosurePanelProps,
68
+ DisclosurePanelRenderProps,
69
+ DisclosureGroupProps,
70
+ DisclosureGroupRenderProps,
71
+ } from './Disclosure';
72
+ export { FieldError, FieldErrorContext } from './FieldError';
73
+ export type { FieldErrorProps, FieldErrorRenderProps } from './FieldError';
74
+ export { Form, FormContext } from './Form';
75
+ export type { FormProps } from './Form';
76
+ export { Group, GroupContext } from './Group';
77
+ export type { GroupProps, GroupRenderProps } from './Group';
78
+ export { Header, HeaderContext } from './Header';
79
+ export type { HeaderProps } from './Header';
80
+ export { Heading, HeadingContext } from './Heading';
81
+ export type { HeadingProps } from './Heading';
82
+ export { Input, InputContext } from './Input';
83
+ export type { InputProps, InputRenderProps } from './Input';
84
+ export { Keyboard, KeyboardContext } from './Keyboard';
85
+ export { Label, LabelContext } from './Label';
86
+ export type { LabelProps } from './Label';
87
+ export { Link, LinkContext } from './Link';
88
+ export type { LinkProps, LinkRenderProps } from './Link';
89
+ export { Meter, MeterContext } from './Meter';
90
+ export type { MeterProps, MeterRenderProps } from './Meter';
91
+ export { Modal, ModalOverlay, ModalContext } from './Modal';
92
+ export type { ModalOverlayProps, ModalRenderProps } from './Modal';
93
+ export { NumberField, NumberFieldContext, NumberFieldStateContext } from './NumberField';
94
+ export type { NumberFieldProps, NumberFieldRenderProps } from './NumberField';
95
+ export { OverlayArrow } from './OverlayArrow';
96
+ export type { OverlayArrowProps, OverlayArrowRenderProps } from './OverlayArrow';
97
+ export { Popover, PopoverContext } from './Popover';
98
+ export type { PopoverProps, PopoverRenderProps } from './Popover';
99
+ export { ProgressBar, ProgressBarContext } from './ProgressBar';
100
+ export type { ProgressBarProps, ProgressBarRenderProps } from './ProgressBar';
101
+ export {
102
+ RadioGroup,
103
+ Radio,
104
+ RadioField,
105
+ RadioButton,
106
+ RadioGroupContext,
107
+ RadioContext,
108
+ RadioFieldContext,
109
+ RadioGroupStateContext,
110
+ } from './RadioGroup';
111
+ export type {
112
+ RadioGroupProps,
113
+ RadioGroupRenderProps,
114
+ RadioProps,
115
+ RadioRenderProps,
116
+ RadioFieldProps,
117
+ RadioFieldRenderProps,
118
+ RadioButtonProps,
119
+ RadioButtonRenderProps,
120
+ } from './RadioGroup';
121
+ export { SearchField, SearchFieldContext } from './SearchField';
122
+ export type { SearchFieldProps, SearchFieldRenderProps } from './SearchField';
123
+ export { SelectionIndicator, SelectionIndicatorContext } from './SelectionIndicator';
124
+ export type { SelectionIndicatorProps } from './SelectionIndicator';
125
+ export { Separator, SeparatorContext } from './Separator';
126
+ export type { SeparatorProps } from './Separator';
127
+ export { SharedElementTransition, SharedElement } from './SharedElementTransition';
128
+ export type {
129
+ SharedElementTransitionProps,
130
+ SharedElementProps,
131
+ SharedElementRenderProps,
132
+ } from './SharedElementTransition';
133
+ export {
134
+ Slider,
135
+ SliderOutput,
136
+ SliderTrack,
137
+ SliderThumb,
138
+ SliderFill,
139
+ SliderContext,
140
+ SliderOutputContext,
141
+ SliderTrackContext,
142
+ SliderFillContext,
143
+ SliderStateContext,
144
+ } from './Slider';
145
+ export type {
146
+ SliderOutputProps,
147
+ SliderProps,
148
+ SliderRenderProps,
149
+ SliderThumbProps,
150
+ SliderTrackProps,
151
+ SliderTrackRenderProps,
152
+ SliderFillProps,
153
+ SliderFillRenderProps,
154
+ SliderThumbRenderProps,
155
+ } from './Slider';
156
+ export { Switch, SwitchField, SwitchButton, SwitchContext, SwitchFieldContext } from './Switch';
157
+ export type {
158
+ SwitchProps,
159
+ SwitchRenderProps,
160
+ SwitchFieldProps,
161
+ SwitchFieldRenderProps,
162
+ SwitchButtonProps,
163
+ SwitchButtonRenderProps,
164
+ } from './Switch';
165
+ export { Text, TextContext } from './Text';
166
+ export type { TextProps } from './Text';
167
+ export { TextArea, TextAreaContext } from './TextArea';
168
+ export type { TextAreaProps } from './TextArea';
169
+ export { TextField, TextFieldContext } from './TextField';
170
+ export type { TextFieldProps, TextFieldRenderProps } from './TextField';
171
+ export { ToggleButton, ToggleButtonContext } from './ToggleButton';
172
+ export type { ToggleButtonProps, ToggleButtonRenderProps } from './ToggleButton';
173
+ export {
174
+ ToggleButtonGroup,
175
+ ToggleButtonGroupContext,
176
+ ToggleGroupStateContext,
177
+ } from './ToggleButtonGroup';
178
+ export type { ToggleButtonGroupProps, ToggleButtonGroupRenderProps } from './ToggleButtonGroup';
179
+ export { Toolbar, ToolbarContext } from './Toolbar';
180
+ export type { ToolbarProps, ToolbarRenderProps } from './Toolbar';
181
+ export { TooltipTrigger, Tooltip, TooltipTriggerStateContext, TooltipContext } from './Tooltip';
182
+ export type { TooltipProps, TooltipRenderProps, TooltipTriggerComponentProps } from './Tooltip';
183
+
184
+ // collection components (Phase 5)
185
+ export {
186
+ Autocomplete,
187
+ AutocompleteContext,
188
+ AutocompleteStateContext,
189
+ SelectableCollectionContext,
190
+ FieldInputContext,
191
+ } from './Autocomplete';
192
+ export type { AutocompleteProps, SelectableCollectionContextValue } from './Autocomplete';
193
+ export {
194
+ ListBoxLoadMoreItem,
195
+ ListBox,
196
+ ListBoxItem,
197
+ ListBoxSection,
198
+ ListBoxContext,
199
+ ListStateContext,
200
+ } from './ListBox';
201
+ export type {
202
+ ListBoxProps,
203
+ ListBoxRenderProps,
204
+ ListBoxItemProps,
205
+ ListBoxItemRenderProps,
206
+ ListBoxSectionProps,
207
+ ListBoxLoadMoreItemProps,
208
+ } from './ListBox';
209
+ export {
210
+ Menu,
211
+ MenuItem,
212
+ MenuTrigger,
213
+ MenuSection,
214
+ MenuContext,
215
+ MenuStateContext,
216
+ RootMenuTriggerStateContext,
217
+ SubmenuTrigger,
218
+ } from './Menu';
219
+ export type {
220
+ MenuProps,
221
+ MenuItemProps,
222
+ MenuItemRenderProps,
223
+ MenuTriggerProps,
224
+ SubmenuTriggerProps,
225
+ MenuSectionProps,
226
+ } from './Menu';
227
+ export {
228
+ Select,
229
+ SelectValue,
230
+ SelectContext,
231
+ SelectValueContext,
232
+ SelectStateContext,
233
+ } from './Select';
234
+ export type {
235
+ SelectProps,
236
+ SelectValueProps,
237
+ SelectValueRenderProps,
238
+ SelectRenderProps,
239
+ } from './Select';
240
+ export {
241
+ ComboBox,
242
+ ComboBoxValue,
243
+ ComboBoxContext,
244
+ ComboBoxStateContext,
245
+ ComboBoxValueContext,
246
+ } from './ComboBox';
247
+ export type {
248
+ ComboBoxProps,
249
+ ComboBoxRenderProps,
250
+ ComboBoxValueProps,
251
+ ComboBoxValueRenderProps,
252
+ } from './ComboBox';
253
+ export { Tabs, TabList, TabPanels, TabPanel, Tab, TabsContext, TabListStateContext } from './Tabs';
254
+ export type {
255
+ TabListProps,
256
+ TabListRenderProps,
257
+ TabPanelsProps,
258
+ TabPanelProps,
259
+ TabPanelRenderProps,
260
+ TabProps,
261
+ TabsProps,
262
+ TabRenderProps,
263
+ TabsRenderProps,
264
+ } from './Tabs';
265
+ export { TagGroup, TagGroupContext, TagList, TagListContext, Tag } from './TagGroup';
266
+ export type {
267
+ TagGroupProps,
268
+ TagListProps,
269
+ TagListRenderProps,
270
+ TagProps,
271
+ TagRenderProps,
272
+ } from './TagGroup';
273
+ export {
274
+ GridListLoadMoreItem,
275
+ GridList,
276
+ GridListItem,
277
+ GridListContext,
278
+ GridListHeader,
279
+ GridListHeaderContext,
280
+ GridListSection,
281
+ } from './GridList';
282
+ export type {
283
+ GridListProps,
284
+ GridListRenderProps,
285
+ GridListItemProps,
286
+ GridListItemRenderProps,
287
+ GridListLoadMoreItemProps,
288
+ GridListSectionProps,
289
+ } from './GridList';
290
+ export { Breadcrumbs, BreadcrumbsContext, Breadcrumb } from './Breadcrumbs';
291
+ export type { BreadcrumbsProps, BreadcrumbProps, BreadcrumbRenderProps } from './Breadcrumbs';
292
+ export { DropIndicator, DropIndicatorContext, DragAndDropContext } from './DragAndDrop';
293
+ export type { DropIndicatorProps, DropIndicatorRenderProps } from './DragAndDrop';
294
+ export { useDragAndDrop } from './useDragAndDrop';
295
+ export type { DragAndDropHooks, DragAndDropOptions } from './useDragAndDrop';
296
+
297
+ // re-exports from the hooks surface, as upstream's index does
298
+ export { VisuallyHidden } from '../visually-hidden/VisuallyHidden';
299
+ export type { VisuallyHiddenProps } from '../visually-hidden/VisuallyHidden';
300
+ export type { Placement } from '../overlays/useOverlayPosition';
301
+ export { useFilter } from '../i18n/useFilter';
302
+ export type { Filter } from '../i18n/useFilter';
303
+
304
+ // tree + table (Tree/Table phase)
305
+ export {
306
+ TreeLoadMoreItem,
307
+ Tree,
308
+ TreeItem,
309
+ TreeContext,
310
+ TreeItemContent,
311
+ TreeHeader,
312
+ TreeSection,
313
+ TreeStateContext,
314
+ } from './Tree';
315
+ export type {
316
+ TreeProps,
317
+ TreeRenderProps,
318
+ TreeEmptyStateRenderProps,
319
+ TreeItemProps,
320
+ TreeItemRenderProps,
321
+ TreeItemContentProps,
322
+ TreeItemContentRenderProps,
323
+ TreeLoadMoreItemProps,
324
+ TreeLoadMoreItemRenderProps,
325
+ } from './Tree';
326
+ export {
327
+ TableLoadMoreItem,
328
+ Table,
329
+ Row,
330
+ Cell,
331
+ Column,
332
+ ColumnResizer,
333
+ TableHeader,
334
+ TableBody,
335
+ TableContext,
336
+ ResizableTableContainer,
337
+ useTableOptions,
338
+ TableStateContext,
339
+ TableColumnResizeStateContext,
340
+ TableFooter,
341
+ } from './Table';
342
+ export type {
343
+ TableProps,
344
+ TableRenderProps,
345
+ TableHeaderProps,
346
+ TableBodyProps,
347
+ TableBodyRenderProps,
348
+ ResizableTableContainerProps,
349
+ ColumnProps,
350
+ ColumnRenderProps,
351
+ ColumnResizerProps,
352
+ ColumnResizerRenderProps,
353
+ RowProps,
354
+ RowRenderProps,
355
+ CellProps,
356
+ CellRenderProps,
357
+ TableLoadMoreItemProps,
358
+ TableFooterProps,
359
+ } from './Table';
@@ -0,0 +1,164 @@
1
+ // Ported from react-aria-components (source: .react-spectrum/packages/react-aria-components/src/useDragAndDrop.tsx).
2
+ // PHASE-7: the react-aria drag-and-drop ENGINE (useDraggableCollection(State),
3
+ // useDroppableCollection(State), useDropIndicator, DragManager, ListDropTargetDelegate)
4
+ // is NOT ported yet. This module ships the `DragAndDropHooks` / `DragAndDropOptions`
5
+ // TYPE surface so collection components can accept a `dragAndDropHooks` prop (their dnd
6
+ // branches stay inert until a consumer can construct hooks), with every engine-referencing
7
+ // member typed via local structural aliases below. The `useDragAndDrop()` function itself
8
+ // is a THROWING STUB (the remix-router framework-stub precedent): importing is safe;
9
+ // CALLING throws with a pointer to the phase plan instead of failing somewhere deep inside.
10
+ // octane adaptations: `.tsx` → `.ts`; `JSX.Element` → a structural `any` alias.
11
+ import type {
12
+ DragItem,
13
+ DraggableCollectionProps,
14
+ DropTarget,
15
+ DropTargetDelegate,
16
+ DroppableCollectionProps,
17
+ Key,
18
+ RefObject,
19
+ } from '@react-types/shared';
20
+
21
+ export { DropIndicator, DropIndicatorContext, DragAndDropContext } from './DragAndDrop';
22
+ export type { DropIndicatorProps, DropIndicatorRenderProps } from './DragAndDrop';
23
+
24
+ // octane adaptation: structural alias for React's JSX.Element.
25
+ type JSXElement = any;
26
+
27
+ // ── PHASE-7 structural aliases ──────────────────────────────────────────────
28
+ // Stand-ins for the unported react-aria/react-stately dnd engine types. They keep
29
+ // `DragAndDropHooks` importable as a TYPE without pulling any engine code; Phase 7
30
+ // replaces them with the real ported definitions.
31
+ /** PHASE-7: react-stately/useDraggableCollectionState's DraggableCollectionState (engine unported). */
32
+ export type DraggableCollectionState = any;
33
+ /** PHASE-7: react-stately/useDraggableCollectionState's DraggableCollectionStateOptions (engine unported). */
34
+ export type DraggableCollectionStateOptions = any;
35
+ /** PHASE-7: react-aria/useDraggableCollection's DraggableCollectionOptions (engine unported). */
36
+ export type DraggableCollectionOptions = any;
37
+ /** PHASE-7: react-aria/useDraggableCollection's DraggableItemProps (engine unported). */
38
+ export type DraggableItemProps = any;
39
+ /** PHASE-7: react-aria/useDraggableCollection's DraggableItemResult (engine unported). */
40
+ export type DraggableItemResult = any;
41
+ /** PHASE-7: react-aria/useDraggableCollection's DragPreview component type (engine unported). */
42
+ export type DragPreview = any;
43
+ /** PHASE-7: react-stately/useDroppableCollectionState's DroppableCollectionState (engine unported). */
44
+ export type DroppableCollectionState = any;
45
+ /** PHASE-7: react-stately/useDroppableCollectionState's DroppableCollectionStateOptions (engine unported). */
46
+ export type DroppableCollectionStateOptions = any;
47
+ /** PHASE-7: react-aria/useDroppableCollection's DroppableCollectionOptions (engine unported). */
48
+ export type DroppableCollectionOptions = any;
49
+ /** PHASE-7: react-aria/useDroppableCollection's DroppableCollectionResult (engine unported). */
50
+ export type DroppableCollectionResult = any;
51
+ /** PHASE-7: react-aria/useDroppableCollection's DroppableItemOptions (engine unported). */
52
+ export type DroppableItemOptions = any;
53
+ /** PHASE-7: react-aria/useDroppableCollection's DroppableItemResult (engine unported). */
54
+ export type DroppableItemResult = any;
55
+ /** PHASE-7: react-aria/useDropIndicator's DropIndicatorProps (engine unported; `target` is real). */
56
+ export interface AriaDropIndicatorProps {
57
+ /** The drop target that the drop indicator represents. */
58
+ target: DropTarget;
59
+ /** PHASE-7: the activate-button ref (engine unported). */
60
+ activateButtonRef?: RefObject<any>;
61
+ }
62
+ /** PHASE-7: react-aria/useDropIndicator's DropIndicatorAria (engine unported). */
63
+ export type DropIndicatorAria = any;
64
+ /** PHASE-7: react-aria/ListDropTargetDelegate's class type (engine unported). */
65
+ export type ListDropTargetDelegate = any;
66
+
67
+ interface DraggableCollectionStateOpts<T = object> extends Omit<
68
+ DraggableCollectionStateOptions,
69
+ 'getItems'
70
+ > {}
71
+
72
+ interface DragHooks<T = object> {
73
+ useDraggableCollectionState?: (
74
+ props: DraggableCollectionStateOpts<T>,
75
+ ) => DraggableCollectionState;
76
+ useDraggableCollection?: (
77
+ props: DraggableCollectionOptions,
78
+ state: DraggableCollectionState,
79
+ ref: RefObject<HTMLElement | null>,
80
+ ) => void;
81
+ useDraggableItem?: (
82
+ props: DraggableItemProps,
83
+ state: DraggableCollectionState,
84
+ ) => DraggableItemResult;
85
+ DragPreview?: DragPreview;
86
+ renderDragPreview?: (
87
+ items: DragItem[],
88
+ ) => JSXElement | { element: JSXElement; x: number; y: number };
89
+ isVirtualDragging?: () => boolean;
90
+ }
91
+
92
+ interface DropHooks {
93
+ useDroppableCollectionState?: (
94
+ props: DroppableCollectionStateOptions,
95
+ ) => DroppableCollectionState;
96
+ useDroppableCollection?: (
97
+ props: DroppableCollectionOptions,
98
+ state: DroppableCollectionState,
99
+ ref: RefObject<HTMLElement | null>,
100
+ ) => DroppableCollectionResult;
101
+ useDroppableItem?: (
102
+ options: DroppableItemOptions,
103
+ state: DroppableCollectionState,
104
+ ref: RefObject<HTMLElement | null>,
105
+ ) => DroppableItemResult;
106
+ useDropIndicator?: (
107
+ props: AriaDropIndicatorProps,
108
+ state: DroppableCollectionState,
109
+ ref: RefObject<HTMLElement | null>,
110
+ ) => DropIndicatorAria;
111
+ renderDropIndicator?: (target: DropTarget) => JSXElement;
112
+ dropTargetDelegate?: DropTargetDelegate;
113
+ ListDropTargetDelegate: ListDropTargetDelegate;
114
+ }
115
+
116
+ export type DragAndDropHooks<T = object> = DragHooks<T> & DropHooks;
117
+
118
+ export interface DragAndDrop<T = object> {
119
+ /** Drag and drop hooks for the collection element. */
120
+ dragAndDropHooks: DragAndDropHooks<T>;
121
+ }
122
+
123
+ export interface DragAndDropOptions<T = object>
124
+ extends Omit<DraggableCollectionProps, 'preview' | 'getItems'>, DroppableCollectionProps {
125
+ /**
126
+ * A function that returns the items being dragged. If not specified, we assume that the
127
+ * collection is not draggable.
128
+ *
129
+ * @default () => []
130
+ */
131
+ getItems?: (keys: Set<Key>, items: T[]) => DragItem[];
132
+ /**
133
+ * A function that renders a drag preview, which is shown under the user's cursor while dragging.
134
+ * By default, a copy of the dragged element is rendered.
135
+ */
136
+ renderDragPreview?: (
137
+ items: DragItem[],
138
+ ) => JSXElement | { element: JSXElement; x: number; y: number };
139
+ /**
140
+ * A function that renders a drop indicator element between two items in a collection.
141
+ * This should render a `<DropIndicator>` element. If this function is not provided, a
142
+ * default DropIndicator is provided.
143
+ */
144
+ renderDropIndicator?: (target: DropTarget) => JSXElement;
145
+ /**
146
+ * A custom delegate object that provides drop targets for pointer coordinates within the
147
+ * collection.
148
+ */
149
+ dropTargetDelegate?: DropTargetDelegate;
150
+ /** Whether the drag and drop events should be disabled. */
151
+ isDisabled?: boolean;
152
+ }
153
+
154
+ /**
155
+ * Provides the hooks required to enable drag and drop behavior for a drag and drop compatible
156
+ * collection component.
157
+ *
158
+ * PHASE-7: throwing stub — the dnd engine is not ported yet.
159
+ */
160
+ export function useDragAndDrop<T = object>(options: DragAndDropOptions<T>): DragAndDrop<T> {
161
+ throw new Error(
162
+ '@octanejs/aria: useDragAndDrop is not ported yet (drag and drop arrives in a later phase)',
163
+ );
164
+ }