@proyecto-viviana/solidaria 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/autocomplete/createAutocomplete.d.ts +2 -2
  2. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  3. package/dist/index.js +233 -234
  4. package/dist/index.js.map +2 -2
  5. package/dist/index.ssr.js +233 -234
  6. package/dist/index.ssr.js.map +2 -2
  7. package/dist/interactions/PressEvent.d.ts +13 -10
  8. package/dist/interactions/PressEvent.d.ts.map +1 -1
  9. package/dist/interactions/createPress.d.ts.map +1 -1
  10. package/dist/interactions/index.d.ts +1 -1
  11. package/dist/interactions/index.d.ts.map +1 -1
  12. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  13. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  14. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  15. package/package.json +9 -7
  16. package/src/autocomplete/createAutocomplete.ts +341 -0
  17. package/src/autocomplete/index.ts +9 -0
  18. package/src/breadcrumbs/createBreadcrumbs.ts +196 -0
  19. package/src/breadcrumbs/index.ts +8 -0
  20. package/src/button/createButton.ts +142 -0
  21. package/src/button/createToggleButton.ts +101 -0
  22. package/src/button/index.ts +4 -0
  23. package/src/button/types.ts +78 -0
  24. package/src/calendar/createCalendar.ts +138 -0
  25. package/src/calendar/createCalendarCell.ts +187 -0
  26. package/src/calendar/createCalendarGrid.ts +140 -0
  27. package/src/calendar/createRangeCalendar.ts +136 -0
  28. package/src/calendar/createRangeCalendarCell.ts +186 -0
  29. package/src/calendar/index.ts +34 -0
  30. package/src/checkbox/createCheckbox.ts +135 -0
  31. package/src/checkbox/createCheckboxGroup.ts +137 -0
  32. package/src/checkbox/createCheckboxGroupItem.ts +117 -0
  33. package/src/checkbox/createCheckboxGroupState.ts +193 -0
  34. package/src/checkbox/index.ts +13 -0
  35. package/src/color/createColorArea.ts +314 -0
  36. package/src/color/createColorField.ts +137 -0
  37. package/src/color/createColorSlider.ts +197 -0
  38. package/src/color/createColorSwatch.ts +40 -0
  39. package/src/color/createColorWheel.ts +208 -0
  40. package/src/color/index.ts +24 -0
  41. package/src/color/types.ts +116 -0
  42. package/src/combobox/createComboBox.ts +647 -0
  43. package/src/combobox/index.ts +6 -0
  44. package/src/combobox/intl/en-US.json +7 -0
  45. package/src/combobox/intl/es-ES.json +7 -0
  46. package/src/combobox/intl/index.ts +23 -0
  47. package/src/datepicker/createDateField.ts +154 -0
  48. package/src/datepicker/createDatePicker.ts +206 -0
  49. package/src/datepicker/createDateSegment.ts +229 -0
  50. package/src/datepicker/createTimeField.ts +154 -0
  51. package/src/datepicker/index.ts +28 -0
  52. package/src/dialog/createDialog.ts +120 -0
  53. package/src/dialog/index.ts +2 -0
  54. package/src/dialog/types.ts +19 -0
  55. package/src/disclosure/createDisclosure.ts +131 -0
  56. package/src/disclosure/createDisclosureGroup.ts +62 -0
  57. package/src/disclosure/index.ts +11 -0
  58. package/src/dnd/createDrag.ts +209 -0
  59. package/src/dnd/createDraggableCollection.ts +63 -0
  60. package/src/dnd/createDraggableItem.ts +243 -0
  61. package/src/dnd/createDrop.ts +321 -0
  62. package/src/dnd/createDroppableCollection.ts +293 -0
  63. package/src/dnd/createDroppableItem.ts +213 -0
  64. package/src/dnd/index.ts +47 -0
  65. package/src/dnd/types.ts +89 -0
  66. package/src/dnd/utils.ts +294 -0
  67. package/src/focus/FocusScope.tsx +408 -0
  68. package/src/focus/createAutoFocus.ts +321 -0
  69. package/src/focus/createFocusRestore.ts +313 -0
  70. package/src/focus/createVirtualFocus.ts +396 -0
  71. package/src/focus/index.ts +35 -0
  72. package/src/form/createFormReset.ts +51 -0
  73. package/src/form/createFormValidation.ts +224 -0
  74. package/src/form/index.ts +11 -0
  75. package/src/grid/GridKeyboardDelegate.ts +429 -0
  76. package/src/grid/createGrid.ts +261 -0
  77. package/src/grid/createGridCell.ts +182 -0
  78. package/src/grid/createGridRow.ts +153 -0
  79. package/src/grid/index.ts +18 -0
  80. package/src/grid/types.ts +133 -0
  81. package/src/gridlist/createGridList.ts +185 -0
  82. package/src/gridlist/createGridListItem.ts +180 -0
  83. package/src/gridlist/createGridListSelectionCheckbox.ts +59 -0
  84. package/src/gridlist/index.ts +16 -0
  85. package/src/gridlist/types.ts +81 -0
  86. package/src/i18n/NumberFormatter.ts +266 -0
  87. package/src/i18n/createCollator.ts +79 -0
  88. package/src/i18n/createDateFormatter.ts +83 -0
  89. package/src/i18n/createFilter.ts +131 -0
  90. package/src/i18n/createNumberFormatter.ts +52 -0
  91. package/src/i18n/createStringFormatter.ts +87 -0
  92. package/src/i18n/index.ts +40 -0
  93. package/src/i18n/locale.tsx +188 -0
  94. package/src/i18n/utils.ts +99 -0
  95. package/src/index.ts +670 -0
  96. package/src/interactions/FocusableProvider.tsx +44 -0
  97. package/src/interactions/PressEvent.ts +126 -0
  98. package/src/interactions/createFocus.ts +163 -0
  99. package/src/interactions/createFocusRing.ts +89 -0
  100. package/src/interactions/createFocusWithin.ts +206 -0
  101. package/src/interactions/createFocusable.ts +168 -0
  102. package/src/interactions/createHover.ts +254 -0
  103. package/src/interactions/createInteractionModality.ts +424 -0
  104. package/src/interactions/createKeyboard.ts +82 -0
  105. package/src/interactions/createLongPress.ts +174 -0
  106. package/src/interactions/createMove.ts +289 -0
  107. package/src/interactions/createPress.ts +834 -0
  108. package/src/interactions/index.ts +78 -0
  109. package/src/label/createField.ts +145 -0
  110. package/src/label/createLabel.ts +117 -0
  111. package/src/label/createLabels.ts +50 -0
  112. package/src/label/index.ts +19 -0
  113. package/src/landmark/createLandmark.ts +377 -0
  114. package/src/landmark/index.ts +8 -0
  115. package/src/link/createLink.ts +182 -0
  116. package/src/link/index.ts +1 -0
  117. package/src/listbox/createListBox.ts +269 -0
  118. package/src/listbox/createOption.ts +151 -0
  119. package/src/listbox/index.ts +12 -0
  120. package/src/live-announcer/announce.ts +322 -0
  121. package/src/live-announcer/index.ts +9 -0
  122. package/src/menu/createMenu.ts +396 -0
  123. package/src/menu/createMenuItem.ts +149 -0
  124. package/src/menu/createMenuTrigger.ts +88 -0
  125. package/src/menu/index.ts +18 -0
  126. package/src/meter/createMeter.ts +75 -0
  127. package/src/meter/index.ts +1 -0
  128. package/src/numberfield/createNumberField.ts +268 -0
  129. package/src/numberfield/index.ts +5 -0
  130. package/src/overlays/ariaHideOutside.ts +219 -0
  131. package/src/overlays/createInteractOutside.ts +149 -0
  132. package/src/overlays/createModal.tsx +202 -0
  133. package/src/overlays/createOverlay.ts +155 -0
  134. package/src/overlays/createOverlayTrigger.ts +85 -0
  135. package/src/overlays/createPreventScroll.ts +266 -0
  136. package/src/overlays/index.ts +44 -0
  137. package/src/popover/calculatePosition.ts +766 -0
  138. package/src/popover/createOverlayPosition.ts +356 -0
  139. package/src/popover/createPopover.ts +170 -0
  140. package/src/popover/index.ts +24 -0
  141. package/src/progress/createProgressBar.ts +128 -0
  142. package/src/progress/index.ts +5 -0
  143. package/src/radio/createRadio.ts +287 -0
  144. package/src/radio/createRadioGroup.ts +189 -0
  145. package/src/radio/createRadioGroupState.ts +201 -0
  146. package/src/radio/index.ts +23 -0
  147. package/src/searchfield/createSearchField.ts +186 -0
  148. package/src/searchfield/index.ts +2 -0
  149. package/src/select/createHiddenSelect.tsx +236 -0
  150. package/src/select/createSelect.ts +395 -0
  151. package/src/select/index.ts +14 -0
  152. package/src/selection/createTypeSelect.ts +201 -0
  153. package/src/selection/index.ts +6 -0
  154. package/src/separator/createSeparator.ts +82 -0
  155. package/src/separator/index.ts +6 -0
  156. package/src/slider/createSlider.ts +349 -0
  157. package/src/slider/index.ts +2 -0
  158. package/src/ssr/index.tsx +370 -0
  159. package/src/switch/createSwitch.ts +70 -0
  160. package/src/switch/index.ts +1 -0
  161. package/src/table/createTable.ts +526 -0
  162. package/src/table/createTableCell.ts +147 -0
  163. package/src/table/createTableColumnHeader.ts +115 -0
  164. package/src/table/createTableHeaderRow.ts +40 -0
  165. package/src/table/createTableRow.ts +155 -0
  166. package/src/table/createTableRowGroup.ts +32 -0
  167. package/src/table/createTableSelectAllCheckbox.ts +73 -0
  168. package/src/table/createTableSelectionCheckbox.ts +59 -0
  169. package/src/table/index.ts +30 -0
  170. package/src/table/types.ts +165 -0
  171. package/src/tabs/createTabs.ts +472 -0
  172. package/src/tabs/index.ts +14 -0
  173. package/src/tag/createTag.ts +194 -0
  174. package/src/tag/createTagGroup.ts +154 -0
  175. package/src/tag/index.ts +12 -0
  176. package/src/textfield/createTextField.ts +198 -0
  177. package/src/textfield/index.ts +5 -0
  178. package/src/toast/createToast.ts +118 -0
  179. package/src/toast/createToastRegion.ts +100 -0
  180. package/src/toast/index.ts +11 -0
  181. package/src/toggle/createToggle.ts +223 -0
  182. package/src/toggle/createToggleState.ts +94 -0
  183. package/src/toggle/index.ts +7 -0
  184. package/src/toolbar/createToolbar.ts +369 -0
  185. package/src/toolbar/index.ts +6 -0
  186. package/src/tooltip/createTooltip.ts +79 -0
  187. package/src/tooltip/createTooltipTrigger.ts +222 -0
  188. package/src/tooltip/index.ts +6 -0
  189. package/src/tree/createTree.ts +246 -0
  190. package/src/tree/createTreeItem.ts +233 -0
  191. package/src/tree/createTreeSelectionCheckbox.ts +68 -0
  192. package/src/tree/index.ts +16 -0
  193. package/src/tree/types.ts +87 -0
  194. package/src/utils/createDescription.ts +137 -0
  195. package/src/utils/dom.ts +327 -0
  196. package/src/utils/env.ts +54 -0
  197. package/src/utils/events.ts +106 -0
  198. package/src/utils/filterDOMProps.ts +116 -0
  199. package/src/utils/focus.ts +151 -0
  200. package/src/utils/geometry.ts +115 -0
  201. package/src/utils/globalListeners.ts +142 -0
  202. package/src/utils/index.ts +80 -0
  203. package/src/utils/mergeProps.ts +52 -0
  204. package/src/utils/platform.ts +52 -0
  205. package/src/utils/reactivity.ts +36 -0
  206. package/src/utils/textSelection.ts +114 -0
  207. package/src/visually-hidden/createVisuallyHidden.ts +124 -0
  208. package/src/visually-hidden/index.ts +6 -0
  209. package/dist/index.jsx +0 -15845
  210. package/dist/index.jsx.map +0 -7
@@ -0,0 +1,208 @@
1
+ /**
2
+ * createColorWheel hook.
3
+ *
4
+ * Provides ARIA attributes and keyboard/pointer handling for a circular hue selector.
5
+ */
6
+
7
+ import { createMemo, type Accessor } from 'solid-js';
8
+ import type { ColorWheelState } from '@proyecto-viviana/solid-stately';
9
+ import { createId } from '../ssr';
10
+ import type { AriaColorWheelOptions, ColorWheelAria } from './types';
11
+
12
+ /**
13
+ * Creates ARIA props for a color wheel.
14
+ */
15
+ export function createColorWheel(
16
+ props: Accessor<AriaColorWheelOptions>,
17
+ state: Accessor<ColorWheelState>,
18
+ wheelRef: Accessor<HTMLDivElement | null>
19
+ ): ColorWheelAria {
20
+ const getProps = () => props();
21
+ const getState = () => state();
22
+
23
+ // Generate IDs
24
+ const inputId = createId();
25
+
26
+ // Calculate angle from pointer position
27
+ const getAngleFromEvent = (e: MouseEvent | PointerEvent) => {
28
+ const wheel = wheelRef();
29
+ if (!wheel) return null;
30
+
31
+ const rect = wheel.getBoundingClientRect();
32
+ const centerX = rect.left + rect.width / 2;
33
+ const centerY = rect.top + rect.height / 2;
34
+
35
+ const dx = e.clientX - centerX;
36
+ const dy = e.clientY - centerY;
37
+
38
+ return Math.atan2(-dy, dx); // Negative dy because Y is inverted in screen coords
39
+ };
40
+
41
+ // Handle pointer down
42
+ const onPointerDown = (e: PointerEvent) => {
43
+ if (getProps().isDisabled || getState().isDisabled) return;
44
+
45
+ const angle = getAngleFromEvent(e);
46
+ if (angle === null) return;
47
+
48
+ getState().setHueFromAngle(angle);
49
+ getState().setDragging(true);
50
+
51
+ (e.target as HTMLElement).setPointerCapture?.(e.pointerId);
52
+ };
53
+
54
+ // Handle pointer move
55
+ const onPointerMove = (e: PointerEvent) => {
56
+ if (!getState().isDragging) return;
57
+
58
+ const angle = getAngleFromEvent(e);
59
+ if (angle === null) return;
60
+
61
+ getState().setHueFromAngle(angle);
62
+ };
63
+
64
+ // Handle pointer up
65
+ const onPointerUp = (e: PointerEvent) => {
66
+ if (getState().isDragging) {
67
+ getState().setDragging(false);
68
+ (e.target as HTMLElement).releasePointerCapture?.(e.pointerId);
69
+ }
70
+ };
71
+
72
+ // Handle keyboard
73
+ const onKeyDown = (e: KeyboardEvent) => {
74
+ if (getProps().isDisabled || getState().isDisabled) return;
75
+
76
+ const s = getState();
77
+ let handled = true;
78
+
79
+ switch (e.key) {
80
+ case 'ArrowRight':
81
+ case 'ArrowUp':
82
+ s.increment();
83
+ break;
84
+ case 'ArrowLeft':
85
+ case 'ArrowDown':
86
+ s.decrement();
87
+ break;
88
+ case 'PageUp':
89
+ s.increment(s.pageStep);
90
+ break;
91
+ case 'PageDown':
92
+ s.decrement(s.pageStep);
93
+ break;
94
+ case 'Home':
95
+ s.setHue(0);
96
+ break;
97
+ case 'End':
98
+ s.setHue(359);
99
+ break;
100
+ default:
101
+ handled = false;
102
+ }
103
+
104
+ if (handled) {
105
+ e.preventDefault();
106
+ e.stopPropagation();
107
+ }
108
+ };
109
+
110
+ // Track props (the wheel container)
111
+ const trackProps = createMemo(() => {
112
+ const s = getState();
113
+ const p = getProps();
114
+
115
+ return {
116
+ role: 'presentation' as const,
117
+ onPointerDown,
118
+ onPointerMove,
119
+ onPointerUp,
120
+ style: {
121
+ position: 'relative' as const,
122
+ 'touch-action': 'none',
123
+ },
124
+ 'data-disabled': s.isDisabled || p.isDisabled || undefined,
125
+ };
126
+ });
127
+
128
+ // Thumb props
129
+ const thumbProps = createMemo(() => {
130
+ const s = getState();
131
+ const p = getProps();
132
+ const angle = s.getThumbAngle();
133
+
134
+ // Calculate thumb position on the wheel edge
135
+ // Assumes wheel is circular and thumb is at the outer edge
136
+ // Angle 0 = right (3 o'clock)
137
+ const thumbX = Math.cos(angle);
138
+ const thumbY = -Math.sin(angle); // Negative because CSS Y is inverted
139
+
140
+ return {
141
+ role: 'presentation' as const,
142
+ style: {
143
+ position: 'absolute' as const,
144
+ // Position relative to center, scaled to radius
145
+ // These will be overridden by the component with actual radius
146
+ left: `calc(50% + ${thumbX * 50}%)`,
147
+ top: `calc(50% + ${thumbY * 50}%)`,
148
+ transform: 'translate(-50%, -50%)',
149
+ 'touch-action': 'none',
150
+ },
151
+ 'data-dragging': s.isDragging || undefined,
152
+ 'data-disabled': s.isDisabled || p.isDisabled || undefined,
153
+ };
154
+ });
155
+
156
+ // Input props (hidden, for accessibility)
157
+ const inputProps = createMemo(() => {
158
+ const s = getState();
159
+ const p = getProps();
160
+
161
+ return {
162
+ type: 'range',
163
+ id: inputId,
164
+ min: 0,
165
+ max: 360,
166
+ step: s.step,
167
+ value: s.getHue(),
168
+ disabled: s.isDisabled || p.isDisabled,
169
+ 'aria-label': p['aria-label'] ?? 'Hue',
170
+ 'aria-labelledby': p['aria-labelledby'],
171
+ 'aria-describedby': p['aria-describedby'],
172
+ 'aria-valuetext': `${s.getHue()}°`,
173
+ onKeyDown,
174
+ onChange: (e: Event) => {
175
+ const target = e.target as HTMLInputElement;
176
+ s.setHue(parseFloat(target.value));
177
+ },
178
+ onBlur: () => {
179
+ if (s.isDragging) {
180
+ s.setDragging(false);
181
+ }
182
+ },
183
+ style: {
184
+ position: 'absolute' as const,
185
+ width: '1px',
186
+ height: '1px',
187
+ padding: '0',
188
+ margin: '-1px',
189
+ overflow: 'hidden',
190
+ clip: 'rect(0, 0, 0, 0)',
191
+ 'white-space': 'nowrap',
192
+ border: '0',
193
+ },
194
+ };
195
+ });
196
+
197
+ return {
198
+ get trackProps() {
199
+ return trackProps();
200
+ },
201
+ get thumbProps() {
202
+ return thumbProps();
203
+ },
204
+ get inputProps() {
205
+ return inputProps();
206
+ },
207
+ };
208
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Color ARIA hooks exports.
3
+ */
4
+
5
+ // Types
6
+ export type {
7
+ AriaColorSliderOptions,
8
+ ColorSliderAria,
9
+ AriaColorAreaOptions,
10
+ ColorAreaAria,
11
+ AriaColorWheelOptions,
12
+ ColorWheelAria,
13
+ AriaColorFieldOptions,
14
+ ColorFieldAria,
15
+ AriaColorSwatchOptions,
16
+ ColorSwatchAria,
17
+ } from './types';
18
+
19
+ // Hooks
20
+ export { createColorSlider } from './createColorSlider';
21
+ export { createColorArea } from './createColorArea';
22
+ export { createColorWheel } from './createColorWheel';
23
+ export { createColorField } from './createColorField';
24
+ export { createColorSwatch } from './createColorSwatch';
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Color ARIA types.
3
+ */
4
+
5
+ import type { JSX } from 'solid-js';
6
+ import type { ColorChannel, Color } from '@proyecto-viviana/solid-stately';
7
+
8
+ export interface AriaColorSliderOptions {
9
+ /** The channel this slider controls. */
10
+ channel: ColorChannel;
11
+ /** Accessible label for the slider. */
12
+ 'aria-label'?: string;
13
+ /** ID of element that labels the slider. */
14
+ 'aria-labelledby'?: string;
15
+ /** ID of element that describes the slider. */
16
+ 'aria-describedby'?: string;
17
+ /** Whether the slider is disabled. */
18
+ isDisabled?: boolean;
19
+ /** Localized channel name. */
20
+ channelName?: string;
21
+ }
22
+
23
+ export interface ColorSliderAria {
24
+ /** Props for the slider track element. */
25
+ trackProps: JSX.HTMLAttributes<HTMLDivElement>;
26
+ /** Props for the thumb/handle element. */
27
+ thumbProps: JSX.HTMLAttributes<HTMLDivElement>;
28
+ /** Props for the hidden input element. */
29
+ inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
30
+ /** Props for the output element showing the value. */
31
+ outputProps: JSX.HTMLAttributes<HTMLOutputElement>;
32
+ /** Props for the label element. */
33
+ labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
34
+ }
35
+
36
+ export interface AriaColorAreaOptions {
37
+ /** The X channel. */
38
+ xChannel?: ColorChannel;
39
+ /** The Y channel. */
40
+ yChannel?: ColorChannel;
41
+ /** Accessible label for the area. */
42
+ 'aria-label'?: string;
43
+ /** ID of element that labels the area. */
44
+ 'aria-labelledby'?: string;
45
+ /** ID of element that describes the area. */
46
+ 'aria-describedby'?: string;
47
+ /** Whether the area is disabled. */
48
+ isDisabled?: boolean;
49
+ }
50
+
51
+ export interface ColorAreaAria {
52
+ /** Props for the color area container. */
53
+ colorAreaProps: JSX.HTMLAttributes<HTMLDivElement>;
54
+ /** Props for the gradient element. */
55
+ gradientProps: JSX.HTMLAttributes<HTMLDivElement>;
56
+ /** Props for the thumb element. */
57
+ thumbProps: JSX.HTMLAttributes<HTMLDivElement>;
58
+ /** Props for the hidden X input element. */
59
+ xInputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
60
+ /** Props for the hidden Y input element. */
61
+ yInputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
62
+ }
63
+
64
+ export interface AriaColorWheelOptions {
65
+ /** Accessible label for the wheel. */
66
+ 'aria-label'?: string;
67
+ /** ID of element that labels the wheel. */
68
+ 'aria-labelledby'?: string;
69
+ /** ID of element that describes the wheel. */
70
+ 'aria-describedby'?: string;
71
+ /** Whether the wheel is disabled. */
72
+ isDisabled?: boolean;
73
+ }
74
+
75
+ export interface ColorWheelAria {
76
+ /** Props for the wheel track element. */
77
+ trackProps: JSX.HTMLAttributes<HTMLDivElement>;
78
+ /** Props for the thumb element. */
79
+ thumbProps: JSX.HTMLAttributes<HTMLDivElement>;
80
+ /** Props for the hidden input element. */
81
+ inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
82
+ }
83
+
84
+ export interface AriaColorFieldOptions {
85
+ /** Accessible label for the field. */
86
+ 'aria-label'?: string;
87
+ /** ID of element that labels the field. */
88
+ 'aria-labelledby'?: string;
89
+ /** ID of element that describes the field. */
90
+ 'aria-describedby'?: string;
91
+ /** Whether the field is disabled. */
92
+ isDisabled?: boolean;
93
+ /** Whether the field is read-only. */
94
+ isReadOnly?: boolean;
95
+ /** The color channel being edited (for single channel mode). */
96
+ channel?: ColorChannel;
97
+ }
98
+
99
+ export interface ColorFieldAria {
100
+ /** Props for the label element. */
101
+ labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
102
+ /** Props for the input element. */
103
+ inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
104
+ }
105
+
106
+ export interface AriaColorSwatchOptions {
107
+ /** The color to display. */
108
+ color: Color | string;
109
+ /** Accessible label for the swatch. */
110
+ 'aria-label'?: string;
111
+ }
112
+
113
+ export interface ColorSwatchAria {
114
+ /** Props for the swatch element. */
115
+ swatchProps: JSX.HTMLAttributes<HTMLDivElement>;
116
+ }