@gunkin/uiify 0.0.13-alpha → 0.0.15-alpha

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 (101) hide show
  1. package/README.md +12 -0
  2. package/agents/components.md +79 -0
  3. package/agents/index.md +173 -0
  4. package/agents/reference/components/accordion.md +35 -0
  5. package/agents/reference/components/alert-modal.md +63 -0
  6. package/agents/reference/components/breadcrumb.md +72 -0
  7. package/agents/reference/components/button.md +40 -0
  8. package/agents/reference/components/candle-chart.md +107 -0
  9. package/agents/reference/components/carousel.md +274 -0
  10. package/agents/reference/components/checkbox.md +32 -0
  11. package/agents/reference/components/collapsible.md +26 -0
  12. package/agents/reference/components/color-picker.md +33 -0
  13. package/agents/reference/components/combobox.md +193 -0
  14. package/agents/reference/components/context-menu.md +129 -0
  15. package/agents/reference/components/drawer.md +215 -0
  16. package/agents/reference/components/dropdown-menu.md +178 -0
  17. package/agents/reference/components/field.md +76 -0
  18. package/agents/reference/components/file-upload.md +131 -0
  19. package/agents/reference/components/form.md +28 -0
  20. package/agents/reference/components/header.md +44 -0
  21. package/agents/reference/components/hover-card.md +54 -0
  22. package/agents/reference/components/input.md +29 -0
  23. package/agents/reference/components/line-chart.md +104 -0
  24. package/agents/reference/components/modal.md +106 -0
  25. package/agents/reference/components/number-field.md +60 -0
  26. package/agents/reference/components/otp-input.md +68 -0
  27. package/agents/reference/components/pagination.md +112 -0
  28. package/agents/reference/components/popup.md +111 -0
  29. package/agents/reference/components/radio-group.md +37 -0
  30. package/agents/reference/components/rating.md +43 -0
  31. package/agents/reference/components/segmented-control.md +51 -0
  32. package/agents/reference/components/select.md +60 -0
  33. package/agents/reference/components/skeleton.md +29 -0
  34. package/agents/reference/components/slider.md +71 -0
  35. package/agents/reference/components/spinner.md +34 -0
  36. package/agents/reference/components/switch.md +27 -0
  37. package/agents/reference/components/table.md +189 -0
  38. package/agents/reference/components/tabs.md +42 -0
  39. package/agents/reference/components/tags-input.md +123 -0
  40. package/agents/reference/components/textarea.md +31 -0
  41. package/agents/reference/components/toast.md +151 -0
  42. package/agents/reference/components/toggle-group.md +50 -0
  43. package/agents/reference/components/toggle.md +26 -0
  44. package/agents/reference/components/toolbar.md +69 -0
  45. package/agents/reference/components/tooltip.md +76 -0
  46. package/agents/reference/components/virtual-scroll.md +97 -0
  47. package/agents/reference/elements/choice.md +55 -0
  48. package/agents/reference/elements/details.md +45 -0
  49. package/agents/reference/elements/dialog.md +43 -0
  50. package/agents/reference/elements/invoker.md +28 -0
  51. package/agents/reference/elements/popover.md +53 -0
  52. package/dist/components/alert-modal/AlertModalParts.js +1 -1
  53. package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
  54. package/dist/components/button/Button.d.ts.map +1 -1
  55. package/dist/components/button/Button.js +5 -1
  56. package/dist/components/button/Button.js.map +1 -1
  57. package/dist/components/button/types.d.ts +5 -2
  58. package/dist/components/button/types.d.ts.map +1 -1
  59. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  60. package/dist/components/carousel/CarouselMarkup.js +8 -0
  61. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  62. package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
  63. package/dist/components/internal/choice-family/ChoiceGroup.js +2 -3
  64. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  65. package/dist/components/internal/choice-family/types.d.ts +2 -2
  66. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  67. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  68. package/dist/components/pagination/Pagination.js +11 -0
  69. package/dist/components/pagination/Pagination.js.map +1 -1
  70. package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
  71. package/dist/components/pagination/PaginationShell.js +26 -1
  72. package/dist/components/pagination/PaginationShell.js.map +1 -1
  73. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
  74. package/dist/components/segmented-control/SegmentedControl.js +1 -0
  75. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  76. package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
  77. package/dist/components/segmented-control/client/SegmentedControlClient.js +1 -0
  78. package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
  79. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  80. package/dist/components/toggle/Toggle.js +12 -1
  81. package/dist/components/toggle/Toggle.js.map +1 -1
  82. package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
  83. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  84. package/dist/components/toggle-group/ToggleGroup.js +6 -0
  85. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  86. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
  87. package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
  88. package/dist/components/toggle-group/client/ToggleGroupClient.js +19 -4
  89. package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
  90. package/dist/components/toggle-group/types.d.ts +3 -2
  91. package/dist/components/toggle-group/types.d.ts.map +1 -1
  92. package/dist/components/toolbar/ToolbarShell.d.ts.map +1 -1
  93. package/dist/components/toolbar/ToolbarShell.js +5 -1
  94. package/dist/components/toolbar/ToolbarShell.js.map +1 -1
  95. package/dist/components/toolbar/types.d.ts +2 -0
  96. package/dist/components/toolbar/types.d.ts.map +1 -1
  97. package/dist/core/render-native-invoker.d.ts +1 -1
  98. package/dist/core/render-native-invoker.d.ts.map +1 -1
  99. package/dist/core/render-native-invoker.js.map +1 -1
  100. package/dist/styles/index.css +1 -1
  101. package/package.json +3 -2
@@ -0,0 +1,123 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # tags-input
3
+
4
+ - Import: `@gunkin/uiify/components/tags-input`
5
+ - Tier 2 (Client component — pre-hydration SSR); state source none; native element `input`
6
+ - Without JavaScript: pre-hydration-only
7
+ - Types file: `dist/components/tags-input.d.ts`
8
+
9
+ ## Exports
10
+
11
+ - Runtime: `TagsInput`, `TagsInputInput`, `TagsInputList`, `TagsInputRoot`, `TagsInputTag`, `TagsInputTagRemove`, `splitTags`
12
+ - Types: `TagsInputInputOwnProps`, `TagsInputInputProps`, `TagsInputRootControlledOwnProps`, `TagsInputRootShellOwnProps`, `TagsInputRootShellProps`, `TagsInputRootProps`, `TagsInputTagOwnProps`, `TagsInputTagProps`, `TagsInputStore`
13
+
14
+ ## Props and shapes
15
+
16
+ ### TagsInputStoreOptions
17
+
18
+ | Member | Type | Required | Description |
19
+ | --- | --- | --- | --- |
20
+ | `allowDuplicates` | `boolean` | no | |
21
+ | `maxTags` | `number` | no | |
22
+ | `validate` | `(tag: string) => boolean` | no | |
23
+
24
+ ### TagsInputStore
25
+
26
+ | Member | Type | Required | Description |
27
+ | --- | --- | --- | --- |
28
+ | `addTag` | `(tag: string) => boolean` | yes | |
29
+ | `addTags` | `(nextTags: readonly string[]) => void` | yes | |
30
+ | `getTags` | `() => string[]` | yes | |
31
+ | `removeAt` | `(index: number) => void` | yes | |
32
+ | `removeLast` | `() => void` | yes | |
33
+ | `setTags` | `(next: readonly string[]) => void` | yes | |
34
+ | `subscribe` | `(listener: () => void) => () => void` | yes | |
35
+ | `updateOptions` | `(next: TagsInputStoreOptions) => void` | yes | |
36
+
37
+ ### TagsInputContextValue
38
+
39
+ | Member | Type | Required | Description |
40
+ | --- | --- | --- | --- |
41
+ | `addOnPaste` | `boolean` | yes | |
42
+ | `addTag` | `(tag: string) => void` | yes | |
43
+ | `delimiters` | `readonly string[]` | yes | |
44
+ | `disabled` | `boolean` | yes | |
45
+ | `inputId` | `string` | yes | |
46
+ | `inputValue` | `string` | yes | |
47
+ | `listId` | `string` | yes | |
48
+ | `removeAt` | `(index: number) => void` | yes | |
49
+ | `setInputValue` | `(value: string) => void` | yes | |
50
+ | `store` | `TagsInputStore` | yes | |
51
+
52
+ ### TagsInputRootShellOwnProps
53
+
54
+ | Member | Type | Required | Description |
55
+ | --- | --- | --- | --- |
56
+ | `className` | `string` | no | |
57
+ | `addOnPaste` | `boolean` | no | |
58
+ | `allowDuplicates` | `boolean` | no | |
59
+ | `defaultValue` | `readonly string[]` | no | |
60
+ | `delimiters` | `readonly string[]` | no | |
61
+ | `disabled` | `boolean` | no | |
62
+ | `id` | `string` | no | |
63
+ | `items` | `readonly string[]` | no | |
64
+ | `maxTags` | `number` | no | |
65
+ | `validate` | `(tag: string) => boolean` | no | |
66
+
67
+ ### TagsInputRootControlledOwnProps
68
+
69
+ | Member | Type | Required | Description |
70
+ | --- | --- | --- | --- |
71
+ | `onValueChange` | `(tags: string[]) => void` | no | |
72
+ | `value` | `readonly string[]` | no | |
73
+
74
+ ### TagsInputRootShellProps
75
+
76
+ Extends: `TagsInputRootShellOwnProps`
77
+
78
+ | Member | Type | Required | Description |
79
+ | --- | --- | --- | --- |
80
+ | `children` | `ReactNode` | no | |
81
+
82
+ ### TagsInputRootProps
83
+
84
+ Extends: `TagsInputRootShellOwnProps`, `TagsInputRootControlledOwnProps`
85
+
86
+ | Member | Type | Required | Description |
87
+ | --- | --- | --- | --- |
88
+ | `children` | `ReactNode` | no | |
89
+
90
+ ### TagsInputInputOwnProps
91
+
92
+ | Member | Type | Required | Description |
93
+ | --- | --- | --- | --- |
94
+ | `className` | `string` | no | |
95
+ | `placeholder` | `string` | no | |
96
+
97
+ ### TagsInputListOwnProps
98
+
99
+ | Member | Type | Required | Description |
100
+ | --- | --- | --- | --- |
101
+ | `children` | `ReactNode` | no | |
102
+ | `className` | `string` | no | |
103
+
104
+ ### TagsInputTagOwnProps
105
+
106
+ | Member | Type | Required | Description |
107
+ | --- | --- | --- | --- |
108
+ | `children` | `ReactNode` | no | |
109
+ | `className` | `string` | no | |
110
+ | `index` | `number` | yes | |
111
+ | `value` | `string` | yes | |
112
+
113
+ ### TagsInputTagRemoveOwnProps
114
+
115
+ | Member | Type | Required | Description |
116
+ | --- | --- | --- | --- |
117
+ | `className` | `string` | no | |
118
+ | `index` | `number` | yes | |
119
+
120
+ ## Other types
121
+
122
+ - `TagsInputInputProps<TAs>`: `RenderableProps<TAs, TagsInputInputOwnProps, { disabled: boolean }, HTMLInputElement>`
123
+ - `TagsInputTagProps<TAs>`: `RenderableProps<TAs, TagsInputTagOwnProps, { current: boolean }, HTMLElement>`
@@ -0,0 +1,31 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # textarea
3
+
4
+ - Import: `@gunkin/uiify/components/textarea`
5
+ - Tier 0 (RSC — zero client JavaScript); state source S1; native element `textarea`
6
+ - Without JavaScript: full
7
+ - Types file: `dist/components/textarea.d.ts`
8
+ - Note: field-sizing:content replaces the auto-grow JS. Baseline since Firefox 152.
9
+
10
+ ## Exports
11
+
12
+ - Runtime: `Textarea`
13
+ - Types: `TextareaOwnProps`, `TextareaProps`
14
+
15
+ ## Props and shapes
16
+
17
+ ### TextareaOwnProps
18
+
19
+ | Member | Type | Required | Description |
20
+ | --- | --- | --- | --- |
21
+ | `value` | `string` | no | |
22
+ | `defaultValue` | `string` | no | |
23
+ | `onValueChange` | `(value: string) => void` | no | |
24
+ | `autoSize` | `boolean` | no | |
25
+ | `disabled` | `boolean` | no | |
26
+ | `readOnly` | `boolean` | no | |
27
+ | `invalid` | `boolean` | no | |
28
+
29
+ ## Other types
30
+
31
+ - `TextareaProps<TAs>`: `RenderableProps<TAs, TextareaOwnProps, TextareaOwnProps, HTMLTextAreaElement>`
@@ -0,0 +1,151 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # toast
3
+
4
+ - Import: `@gunkin/uiify/components/toast`
5
+ - Tier 1 (RSC shell + thin client island); state source S1; native element `[popover] + aria-live`
6
+ - Without JavaScript: degraded-documented
7
+ - Types file: `dist/components/toast.d.ts`
8
+
9
+ ## Exports
10
+
11
+ - Runtime: `Toast`, `ToastAction`, `ToastClose`, `ToastDescription`, `ToastProvider`, `ToastRoot`, `ToastTitle`, `ToastViewport`, `useToast`
12
+ - Types: `ToastActionOwnProps`, `ToastActionProps`, `ToastCloseOwnProps`, `ToastCloseProps`, `ToastDescriptionOwnProps`, `ToastProviderOwnProps`, `ToastRootOwnProps`, `ToastTitleOwnProps`, `ToastViewportOwnProps`, `ToastInput`, `ToastPriority`, `ToastRecord`, `ToastStore`
13
+
14
+ ## Values
15
+
16
+ - `ToastPriority`: `"polite" | "assertive"`
17
+
18
+ ## Props and shapes
19
+
20
+ ### ToastAction
21
+
22
+ | Member | Type | Required | Description |
23
+ | --- | --- | --- | --- |
24
+ | `label` | `ReactNode` | yes | |
25
+ | `onClick` | `() => void` | yes | |
26
+
27
+ ### ToastInput
28
+
29
+ | Member | Type | Required | Description |
30
+ | --- | --- | --- | --- |
31
+ | `action` | `ToastAction` | no | |
32
+ | `description` | `ReactNode` | no | |
33
+ | `duration` | `number` | no | |
34
+ | `id` | `string` | no | |
35
+ | `priority` | `ToastPriority` | no | |
36
+ | `title` | `ReactNode` | no | |
37
+
38
+ ### ToastRecord
39
+
40
+ | Member | Type | Required | Description |
41
+ | --- | --- | --- | --- |
42
+ | `action` | `ToastAction` | no | |
43
+ | `description` | `ReactNode` | no | |
44
+ | `duration` | `number` | yes | |
45
+ | `id` | `string` | yes | |
46
+ | `priority` | `ToastPriority` | yes | |
47
+ | `title` | `ReactNode` | no | |
48
+
49
+ ### TimerState
50
+
51
+ | Member | Type | Required | Description |
52
+ | --- | --- | --- | --- |
53
+ | `remaining` | `number` | yes | |
54
+ | `startedAt` | `number` | yes | |
55
+ | `timerId` | `ReturnType<typeof setTimeout> \| null` | yes | |
56
+
57
+ ### ToastStoreOptions
58
+
59
+ | Member | Type | Required | Description |
60
+ | --- | --- | --- | --- |
61
+ | `limit` | `number` | no | |
62
+
63
+ ### ToastStore
64
+
65
+ | Member | Type | Required | Description |
66
+ | --- | --- | --- | --- |
67
+ | `dismiss` | `(id: string) => void` | yes | |
68
+ | `enqueue` | `(input: ToastInput) => string` | yes | |
69
+ | `getAnnouncement` | `() => string` | yes | |
70
+ | `getAssertiveAnnouncement` | `() => string` | yes | |
71
+ | `getSnapshot` | `() => readonly ToastRecord[]` | yes | |
72
+ | `getServerSnapshot` | `() => readonly ToastRecord[]` | yes | |
73
+ | `pause` | `(id: string) => void` | yes | |
74
+ | `resume` | `(id: string) => void` | yes | |
75
+ | `subscribe` | `(listener: () => void) => () => void` | yes | |
76
+
77
+ ### ToastContextValue
78
+
79
+ | Member | Type | Required | Description |
80
+ | --- | --- | --- | --- |
81
+ | `dismiss` | `(id: string) => void` | yes | |
82
+ | `pause` | `(id: string) => void` | yes | |
83
+ | `resume` | `(id: string) => void` | yes | |
84
+ | `store` | `ToastStore` | yes | |
85
+
86
+ ### ToastProviderOwnProps
87
+
88
+ | Member | Type | Required | Description |
89
+ | --- | --- | --- | --- |
90
+ | `children` | `ReactNode` | no | |
91
+ | `limit` | `number` | no | |
92
+
93
+ ### ToastViewportOwnProps
94
+
95
+ | Member | Type | Required | Description |
96
+ | --- | --- | --- | --- |
97
+ | `"aria-label"` | `string` | no | |
98
+ | `children` | `ReactNode` | no | |
99
+ | `className` | `string` | no | |
100
+ | `popover` | `"manual"` | no | Set by the live client viewport (@gunkin/uiify/components/toast/Toast.js) to `"manual"` so the queue's rendered surface sits in the top layer. The structural shell (this file's own re-exported ToastViewport, used directly by "Toast server shell" tests and any no-JS render) leaves it unset, since there is no queue-driven show/hide to wire up there. |
101
+ | `ref` | `Ref<HTMLElement>` | no | |
102
+
103
+ ### ToastRootOwnProps
104
+
105
+ | Member | Type | Required | Description |
106
+ | --- | --- | --- | --- |
107
+ | `toast` | `ToastRecord` | yes | |
108
+
109
+ ### ToastTitleOwnProps
110
+
111
+ | Member | Type | Required | Description |
112
+ | --- | --- | --- | --- |
113
+ | `children` | `ReactNode` | no | |
114
+ | `className` | `string` | no | |
115
+
116
+ ### ToastDescriptionOwnProps
117
+
118
+ | Member | Type | Required | Description |
119
+ | --- | --- | --- | --- |
120
+ | `children` | `ReactNode` | no | |
121
+ | `className` | `string` | no | |
122
+
123
+ ### ToastActionOwnProps
124
+
125
+ | Member | Type | Required | Description |
126
+ | --- | --- | --- | --- |
127
+ | `children` | `ReactNode` | no | |
128
+ | `className` | `string` | no | |
129
+
130
+ ### ToastActionProps
131
+
132
+ Extends: `ToastActionOwnProps`
133
+
134
+ | Member | Type | Required | Description |
135
+ | --- | --- | --- | --- |
136
+ | `onClick` | `(event: MouseEvent<HTMLButtonElement>) => void` | no | |
137
+
138
+ ### ToastCloseOwnProps
139
+
140
+ | Member | Type | Required | Description |
141
+ | --- | --- | --- | --- |
142
+ | `children` | `ReactNode` | no | |
143
+ | `className` | `string` | no | |
144
+
145
+ ### ToastCloseProps
146
+
147
+ Extends: `ToastCloseOwnProps`
148
+
149
+ | Member | Type | Required | Description |
150
+ | --- | --- | --- | --- |
151
+ | `onClick` | `(event: MouseEvent<HTMLButtonElement>) => void` | no | |
@@ -0,0 +1,50 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # toggle-group
3
+
4
+ - Import: `@gunkin/uiify/components/toggle-group`
5
+ - Tier 0 (RSC — zero client JavaScript); state source S1; native element `input[type=radio|checkbox]`
6
+ - Without JavaScript: full
7
+ - Types file: `dist/components/toggle-group.d.ts`
8
+ - Note: Built on @gunkin/uiify/elements/choice.
9
+
10
+ ## Exports
11
+
12
+ - Runtime: `ToggleGroup`
13
+ - Types: `ToggleGroupClientProps`, `ToggleGroupItem`, `ToggleGroupProps`
14
+
15
+ ## Props and shapes
16
+
17
+ ### ToggleGroupProps
18
+
19
+ | Member | Type | Required | Description |
20
+ | --- | --- | --- | --- |
21
+ | `id` | `string` | yes | |
22
+ | `type` | `"single" \| "multiple"` | no | |
23
+ | `items` | `readonly ToggleGroupItem[]` | yes | |
24
+ | `defaultValue` | `string \| readonly string[]` | no | |
25
+ | `disabled` | `boolean` | no | |
26
+ | `orientation` | `ChoiceOrientation` | no | |
27
+ | `size` | `"sm" \| "md" \| "lg"` | no | Button size of each item; `md` metrics when omitted. |
28
+ | `className` | `string` | no | |
29
+ | `"aria-label"` | `string` | no | |
30
+ | `"aria-labelledby"` | `string` | no | |
31
+
32
+ ### ToggleGroupClientProps
33
+
34
+ Extends: `ToggleGroupProps`
35
+
36
+ | Member | Type | Required | Description |
37
+ | --- | --- | --- | --- |
38
+ | `value` | `string \| readonly string[]` | no | |
39
+ | `onValueChange` | `(value: string \| readonly string[]) => void` | no | |
40
+
41
+ ## Other types
42
+
43
+ - `ToggleGroupItem`: `ChoiceItem`
44
+
45
+ ## Sub-entries
46
+
47
+ ### `@gunkin/uiify/components/toggle-group/client`
48
+
49
+ - Runtime: `ToggleGroupClient`
50
+ - Types: `ToggleGroupClientProps`
@@ -0,0 +1,26 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # toggle
3
+
4
+ - Import: `@gunkin/uiify/components/toggle`
5
+ - Tier 0 (RSC — zero client JavaScript); state source S1; native element `input[type=checkbox]`
6
+ - Without JavaScript: full
7
+ - Types file: `dist/components/toggle.d.ts`
8
+ - Note: Native checkbox + label toggle; browser owns pressed state.
9
+
10
+ ## Exports
11
+
12
+ - Runtime: `Toggle`
13
+ - Types: `ToggleProps`
14
+
15
+ ## Props and shapes
16
+
17
+ ### ToggleProps
18
+
19
+ | Member | Type | Required | Description |
20
+ | --- | --- | --- | --- |
21
+ | `id` | `string` | yes | |
22
+ | `label` | `ReactNode` | yes | |
23
+ | `pressed` | `boolean` | no | |
24
+ | `defaultPressed` | `boolean` | no | |
25
+ | `disabled` | `boolean` | no | |
26
+ | `className` | `string` | no | |
@@ -0,0 +1,69 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # toolbar
3
+
4
+ - Import: `@gunkin/uiify/components/toolbar`
5
+ - Tier 1 (RSC shell + thin client island); state source none; native element `div[role=toolbar]`
6
+ - Without JavaScript: degraded-documented
7
+ - Types file: `dist/components/toolbar.d.ts`
8
+
9
+ ## Exports
10
+
11
+ - Runtime: `Toolbar`
12
+ - Types: `ToolbarButtonOwnProps`, `ToolbarButtonProps`, `ToolbarLinkOwnProps`, `ToolbarLinkProps`, `ToolbarRootOwnProps`, `ToolbarRootProps`, `ToolbarSeparatorOwnProps`, `ToolbarSeparatorProps`, `ToolbarToggleGroupProps`
13
+
14
+ ## Props and shapes
15
+
16
+ ### ToolbarRootOwnProps
17
+
18
+ | Member | Type | Required | Description |
19
+ | --- | --- | --- | --- |
20
+ | `dir` | `Direction` | no | |
21
+ | `loop` | `boolean` | no | |
22
+ | `orientation` | `RovingFocusOrientation` | no | |
23
+
24
+ ### ToolbarRootProps
25
+
26
+ Extends: `ToolbarRootOwnProps`, `Omit<HTMLAttributes<HTMLDivElement>, keyof ToolbarRootOwnProps>`
27
+
28
+ No own members.
29
+
30
+ ### ToolbarButtonOwnProps
31
+
32
+ | Member | Type | Required | Description |
33
+ | --- | --- | --- | --- |
34
+ | `selected` | `boolean` | no | Toggle state of the button: reported as aria-pressed and styled as selected. |
35
+ | `children` | `ReactNode` | no | |
36
+ | `className` | `string` | no | |
37
+ | `disabled` | `boolean` | no | |
38
+
39
+ ### ToolbarButtonProps
40
+
41
+ Extends: `ToolbarButtonOwnProps`, `Omit<HTMLAttributes<HTMLButtonElement>, keyof ToolbarButtonOwnProps | "disabled">`
42
+
43
+ No own members.
44
+
45
+ ### ToolbarLinkOwnProps
46
+
47
+ | Member | Type | Required | Description |
48
+ | --- | --- | --- | --- |
49
+ | `children` | `ReactNode` | no | |
50
+ | `className` | `string` | no | |
51
+ | `href` | `string` | yes | |
52
+
53
+ ### ToolbarLinkProps
54
+
55
+ Extends: `ToolbarLinkOwnProps`, `Omit<HTMLAttributes<HTMLAnchorElement>, keyof ToolbarLinkOwnProps | "href">`
56
+
57
+ No own members.
58
+
59
+ ### ToolbarSeparatorOwnProps
60
+
61
+ | Member | Type | Required | Description |
62
+ | --- | --- | --- | --- |
63
+ | `className` | `string` | no | |
64
+ | `orientation` | `"horizontal" \| "vertical"` | no | |
65
+
66
+ ## Other types
67
+
68
+ - `ToolbarSeparatorProps`: `ToolbarSeparatorOwnProps & Omit<HTMLAttributes<HTMLHRElement>, keyof ToolbarSeparatorOwnProps>`
69
+ - `ToolbarToggleGroupProps`: `ToggleGroupProps`
@@ -0,0 +1,76 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # tooltip
3
+
4
+ - Import: `@gunkin/uiify/components/tooltip`
5
+ - Tier 1 (RSC shell + thin client island); state source S1; native element `[popover]`
6
+ - Without JavaScript: degraded-documented
7
+ - Types file: `dist/components/tooltip.d.ts`
8
+
9
+ ## Exports
10
+
11
+ - Runtime: `Tooltip`, `TooltipContent`, `TooltipProvider`, `TooltipRoot`, `TooltipTrigger`
12
+ - Types: `TooltipContentOwnProps`, `TooltipContentProps`, `TooltipProviderOwnProps`, `TooltipRootOwnProps`, `TooltipRootProps`, `TooltipTriggerOwnProps`, `TooltipTriggerProps`
13
+
14
+ ## Props and shapes
15
+
16
+ ### TooltipProviderOptions
17
+
18
+ | Member | Type | Required | Description |
19
+ | --- | --- | --- | --- |
20
+ | `delayDuration` | `number` | yes | |
21
+ | `skipDelayDuration` | `number` | yes | |
22
+
23
+ ### TooltipProviderStore
24
+
25
+ | Member | Type | Required | Description |
26
+ | --- | --- | --- | --- |
27
+ | `getDelayDuration` | `() => number` | yes | |
28
+ | `markOpened` | `() => void` | yes | |
29
+ | `shouldSkipDelay` | `() => boolean` | yes | |
30
+ | `updateOptions` | `(next: TooltipProviderOptions) => void` | yes | |
31
+
32
+ ### TooltipProviderOwnProps
33
+
34
+ | Member | Type | Required | Description |
35
+ | --- | --- | --- | --- |
36
+ | `children` | `ReactNode` | no | |
37
+ | `delayDuration` | `number` | no | |
38
+ | `skipDelayDuration` | `number` | no | |
39
+
40
+ ### TooltipRootOwnProps
41
+
42
+ | Member | Type | Required | Description |
43
+ | --- | --- | --- | --- |
44
+ | `defaultOpen` | `boolean` | no | |
45
+ | `id` | `string` | no | |
46
+ | `onOpenChange` | `PopoverChangeHandler` | no | |
47
+ | `open` | `boolean` | no | |
48
+
49
+ ### TooltipRootProps
50
+
51
+ Extends: `TooltipRootOwnProps`
52
+
53
+ | Member | Type | Required | Description |
54
+ | --- | --- | --- | --- |
55
+ | `children` | `ReactNode` | no | |
56
+
57
+ ### TooltipTriggerOwnProps
58
+
59
+ | Member | Type | Required | Description |
60
+ | --- | --- | --- | --- |
61
+ | `children` | `ReactNode` | no | |
62
+ | `className` | `string` | no | |
63
+
64
+ ### TooltipContentOwnProps
65
+
66
+ | Member | Type | Required | Description |
67
+ | --- | --- | --- | --- |
68
+ | `align` | `AnchorAlign` | no | |
69
+ | `children` | `ReactNode` | no | |
70
+ | `className` | `string` | no | |
71
+ | `side` | `AnchorSide` | no | |
72
+
73
+ ## Other types
74
+
75
+ - `TooltipTriggerProps<TAs>`: `RenderableProps<TAs, TooltipTriggerOwnProps, { open: boolean }, HTMLElement>`
76
+ - `TooltipContentProps<TAs>`: `RenderableProps<TAs, TooltipContentOwnProps, { open: boolean; positioning: "native" }, HTMLElement>`
@@ -0,0 +1,97 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # virtual-scroll
3
+
4
+ - Import: `@gunkin/uiify/components/virtual-scroll`
5
+ - Tier 2 (Client component — pre-hydration SSR); state source none; native element `div[overflow]`
6
+ - Without JavaScript: pre-hydration-only
7
+ - Types file: `dist/components/virtual-scroll.d.ts`
8
+
9
+ ## Exports
10
+
11
+ - Runtime: `VirtualScroll`, `VIRTUAL_SCROLL_ANCHOR_THRESHOLD`, `VIRTUAL_SCROLL_OVERSCAN`, `VIRTUAL_SCROLL_ROW_HEIGHT`, `VIRTUAL_SCROLL_SCROLL_RESET_DELAY`
12
+ - Types: `VirtualScrollAnchor`, `VirtualScrollHandle`, `VirtualScrollItem`, `VirtualScrollListRole`, `VirtualScrollOrientation`, `VirtualScrollOwnProps`, `VirtualScrollRangeChange`, `VirtualScrollRowSlot`, `VirtualScrollScrollAlign`, `VirtualScrollScrollBehavior`, `VirtualScrollScrollBehaviorOptions`, `VirtualScrollScrollState`, `VirtualScrollScrollToIndexOptions`
13
+
14
+ ## Values
15
+
16
+ - `VirtualScrollListRole`: `"list" | "grid"`
17
+ - `VirtualScrollAnchor`: `"start" | "end"`
18
+ - `VirtualScrollOrientation`: `"vertical" | "horizontal"` — Scroll axis. Row size props (`rowHeight`, `estimateRowHeight`) measure along this axis.
19
+ - `VirtualScrollScrollAlign`: `"start" | "center" | "end" | "auto"`
20
+ - `VirtualScrollScrollBehavior`: `"auto" | "instant" | "smooth"`
21
+
22
+ ## Props and shapes
23
+
24
+ ### VirtualScrollItem
25
+
26
+ | Member | Type | Required | Description |
27
+ | --- | --- | --- | --- |
28
+ | `id` | `string` | yes | |
29
+
30
+ ### VirtualScrollScrollBehaviorOptions
31
+
32
+ | Member | Type | Required | Description |
33
+ | --- | --- | --- | --- |
34
+ | `behavior` | `VirtualScrollScrollBehavior` | no | |
35
+
36
+ ### VirtualScrollScrollToIndexOptions
37
+
38
+ Extends: `VirtualScrollScrollBehaviorOptions`
39
+
40
+ | Member | Type | Required | Description |
41
+ | --- | --- | --- | --- |
42
+ | `align` | `VirtualScrollScrollAlign` | no | |
43
+
44
+ ### VirtualScrollRangeChange
45
+
46
+ | Member | Type | Required | Description |
47
+ | --- | --- | --- | --- |
48
+ | `startIndex` | `number` | yes | First visible row index (no overscan). |
49
+ | `endIndex` | `number` | yes | Last visible row index, inclusive (no overscan). |
50
+ | `overscanStart` | `number` | yes | First rendered row index including overscan. |
51
+ | `overscanEnd` | `number` | yes | Last rendered row index, inclusive, including overscan. |
52
+
53
+ ### VirtualScrollScrollState
54
+
55
+ | Member | Type | Required | Description |
56
+ | --- | --- | --- | --- |
57
+ | `isScrolling` | `boolean` | yes | |
58
+
59
+ ### VirtualScrollHandle
60
+
61
+ | Member | Type | Required | Description |
62
+ | --- | --- | --- | --- |
63
+ | `element` | `HTMLDivElement \| null` | yes | |
64
+ | `scrollToIndex` | `scrollToIndex(index: number, options?: VirtualScrollScrollToIndexOptions): void` | yes | |
65
+ | `scrollToOffset` | `scrollToOffset(offset: number, options?: VirtualScrollScrollBehaviorOptions): void` | yes | |
66
+ | `scrollToEnd` | `scrollToEnd(options?: VirtualScrollScrollBehaviorOptions): void` | yes | |
67
+
68
+ ### VirtualScrollOwnProps
69
+
70
+ Extends: `Omit<ComponentPropsWithoutRef<"div">, "children" | "role">`
71
+
72
+ | Member | Type | Required | Description |
73
+ | --- | --- | --- | --- |
74
+ | `items` | `readonly T[]` | yes | |
75
+ | `height` | `number` | no | Scrollport height; also the viewport extent used before the first resize measurement. |
76
+ | `rowHeight` | `number` | no | Fixed item size along the scroll axis — row height when vertical, item width when horizontal. |
77
+ | `orientation` | `VirtualScrollOrientation` | no | |
78
+ | `overscan` | `number` | no | |
79
+ | `className` | `string` | no | |
80
+ | `testId` | `string` | no | |
81
+ | `renderRow` | `(item: T, index: number) => ReactNode` | yes | |
82
+ | `scrollRef` | `Ref<VirtualScrollHandle>` | no | |
83
+ | `estimateRowHeight` | `(index: number) => number` | no | |
84
+ | `onRangeChange` | `(range: VirtualScrollRangeChange) => void` | no | |
85
+ | `role` | `VirtualScrollListRole` | no | |
86
+ | `anchor` | `VirtualScrollAnchor` | no | |
87
+ | `followAppend` | `boolean \| "smooth"` | no | |
88
+ | `onScrollStateChange` | `(state: VirtualScrollScrollState) => void` | no | |
89
+ | `isScrollingResetDelay` | `number` | no | |
90
+
91
+ ### VirtualScrollRowSlot
92
+
93
+ | Member | Type | Required | Description |
94
+ | --- | --- | --- | --- |
95
+ | `slotIndex` | `number` | yes | |
96
+ | `index` | `number` | yes | |
97
+ | `item` | `T \| null` | yes | |
@@ -0,0 +1,55 @@
1
+ <!-- Generated from the package source. Do not edit by hand. -->
2
+ # choice
3
+
4
+ - Import: `@gunkin/uiify/elements/choice`
5
+ - Native mechanism: input[type=radio|checkbox] + label
6
+ - Parts: `Choice.Group`, `Choice.Item`
7
+ - Used by: radio-group, tabs, toggle-group, segmented-control, rating
8
+ - Types file: `dist/elements/choice.d.ts`
9
+
10
+ ## Exports
11
+
12
+ - Runtime: `Choice`, `ChoiceGroup`, `ChoiceItem`, `choiceGroupName`, `choiceIds`
13
+ - Types: `ChoiceGroupOwnProps`, `ChoiceGroupProps`, `ChoiceItemOwnProps`, `ChoiceItemProps`, `ChoiceKind`, `ChoiceOrientation`
14
+
15
+ ## Values
16
+
17
+ - `ChoiceKind`: `"single" | "multiple"` — `"single"` renders `type="radio"`; `"multiple"` renders `type="checkbox"`.
18
+ - `ChoiceOrientation`: `"horizontal" | "vertical"`
19
+
20
+ ## Props and shapes
21
+
22
+ ### ChoiceGroupOwnProps
23
+
24
+ | Member | Type | Required | Description |
25
+ | --- | --- | --- | --- |
26
+ | `children` | `ReactNode` | no | |
27
+ | `id` | `string` | yes | Seeds every child `Choice.Item`'s derived ids and form-control name — pass the same value to each item's own `groupId`. Tier 0 bans `useContext`, so there is no implicit injection from Group to Item; this id is the explicit wiring, the same pattern `@gunkin/uiify/elements/dialog`'s `target` prop uses. |
28
+ | `kind` | `ChoiceKind` | yes | |
29
+ | `orientation` | `ChoiceOrientation` | no | |
30
+ | `name` | `string` | no | Documents the derived `choiceGroupName(id, kind)` override every child `Choice.Item` should also receive as its own `name` — not read by `Choice.Group` itself (there is nowhere to inject it to without context), but declaring it here keeps the two in sync for anyone reading the JSX. |
31
+
32
+ ### ChoiceItemOwnProps
33
+
34
+ | Member | Type | Required | Description |
35
+ | --- | --- | --- | --- |
36
+ | `value` | `string` | yes | |
37
+ | `label` | `ReactNode` | yes | Rendered inside the `<label>`. |
38
+ | `panel` | `ReactNode` | no | When present, renders `<div data-part="panel">` as a sibling after the label. |
39
+ | `groupId` | `string` | yes | The `Choice.Group.id` this item belongs to — see `ChoiceGroupOwnProps.id`. |
40
+ | `kind` | `ChoiceKind` | yes | |
41
+ | `name` | `string` | no | Overrides the derived `choiceGroupName(groupId, kind)` form-control name. |
42
+ | `defaultChecked` | `boolean` | no | The browser owns the state after first render. |
43
+ | `checked` | `boolean` | no | Controlled checked state for client-enhanced choice groups. |
44
+ | `disabled` | `boolean` | no | |
45
+ | `part` | `string` | no | Wrapper `data-part`. Defaults to `"item"`. |
46
+ | `labelPart` | `boolean` | no | Adds `data-part="label"` to the `<label>`. |
47
+ | `inputProps` | `Record<string, unknown>` | no | Escape hatch: extra attributes spread onto the `<input>` (for example, `data-part="control"`). |
48
+ | `labelProps` | `Record<string, unknown>` | no | Escape hatch: extra attributes spread onto the `<label>`. |
49
+ | `panelProps` | `Record<string, unknown>` | no | Escape hatch: extra attributes spread onto the panel `<div>`. |
50
+ | `onValueChange` | `(value: string) => void` | no | Client-only: attaches to the input's native `change`. Passing it does not make this element a client component — the *caller* must already be one. Omitted by every uncontrolled (server) caller, so the server output stays handler-free. |
51
+
52
+ ## Other types
53
+
54
+ - `ChoiceGroupProps`: `ChoiceGroupOwnProps & Omit<ComponentPropsWithRef<"div">, keyof ChoiceGroupOwnProps>`
55
+ - `ChoiceItemProps`: `ChoiceItemOwnProps & Omit<ComponentPropsWithRef<"div">, keyof ChoiceItemOwnProps | "children">`