@proyecto-viviana/solidaria-components 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/README.md +39 -272
  2. package/dist/ActionBar.d.ts +21 -13
  3. package/dist/ActionBar.d.ts.map +1 -1
  4. package/dist/ActionGroup.d.ts +8 -8
  5. package/dist/ActionGroup.d.ts.map +1 -1
  6. package/dist/Alert.d.ts +5 -5
  7. package/dist/Alert.d.ts.map +1 -1
  8. package/dist/Autocomplete.d.ts +5 -5
  9. package/dist/Autocomplete.d.ts.map +1 -1
  10. package/dist/Breadcrumbs.d.ts +18 -7
  11. package/dist/Breadcrumbs.d.ts.map +1 -1
  12. package/dist/Button.d.ts +24 -5
  13. package/dist/Button.d.ts.map +1 -1
  14. package/dist/Calendar.d.ts +38 -7
  15. package/dist/Calendar.d.ts.map +1 -1
  16. package/dist/Checkbox.d.ts +32 -7
  17. package/dist/Checkbox.d.ts.map +1 -1
  18. package/dist/Collection.d.ts +19 -14
  19. package/dist/Collection.d.ts.map +1 -1
  20. package/dist/Color.d.ts +103 -14
  21. package/dist/Color.d.ts.map +1 -1
  22. package/dist/ColorEditor.d.ts +6 -6
  23. package/dist/ColorEditor.d.ts.map +1 -1
  24. package/dist/ComboBox.d.ts +85 -19
  25. package/dist/ComboBox.d.ts.map +1 -1
  26. package/dist/ContextualHelpTrigger.d.ts +2 -2
  27. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  28. package/dist/DateField.d.ts +8 -6
  29. package/dist/DateField.d.ts.map +1 -1
  30. package/dist/DatePicker.d.ts +53 -22
  31. package/dist/DatePicker.d.ts.map +1 -1
  32. package/dist/DateRangePickerContext.d.ts +30 -0
  33. package/dist/DateRangePickerContext.d.ts.map +1 -0
  34. package/dist/Dialog.d.ts +5 -5
  35. package/dist/Dialog.d.ts.map +1 -1
  36. package/dist/Disclosure.d.ts +23 -5
  37. package/dist/Disclosure.d.ts.map +1 -1
  38. package/dist/DragAndDrop.d.ts +6 -6
  39. package/dist/DragAndDrop.d.ts.map +1 -1
  40. package/dist/DragPreview.d.ts +2 -2
  41. package/dist/DragPreview.d.ts.map +1 -1
  42. package/dist/DropZone.d.ts +4 -4
  43. package/dist/DropZone.d.ts.map +1 -1
  44. package/dist/FieldError.d.ts +9 -5
  45. package/dist/FieldError.d.ts.map +1 -1
  46. package/dist/FileTrigger.d.ts +3 -3
  47. package/dist/FileTrigger.d.ts.map +1 -1
  48. package/dist/Focusable.d.ts +2 -2
  49. package/dist/Focusable.d.ts.map +1 -1
  50. package/dist/Form.d.ts +18 -4
  51. package/dist/Form.d.ts.map +1 -1
  52. package/dist/GridList.d.ts +32 -12
  53. package/dist/GridList.d.ts.map +1 -1
  54. package/dist/HiddenDateInput.d.ts +26 -0
  55. package/dist/HiddenDateInput.d.ts.map +1 -0
  56. package/dist/HiddenTimeInput.d.ts +25 -0
  57. package/dist/HiddenTimeInput.d.ts.map +1 -0
  58. package/dist/Icon.d.ts +5 -5
  59. package/dist/Icon.d.ts.map +1 -1
  60. package/dist/Keyboard.d.ts +1 -1
  61. package/dist/Landmark.d.ts +3 -3
  62. package/dist/Landmark.d.ts.map +1 -1
  63. package/dist/Link.d.ts +10 -4
  64. package/dist/Link.d.ts.map +1 -1
  65. package/dist/ListBox.d.ts +32 -12
  66. package/dist/ListBox.d.ts.map +1 -1
  67. package/dist/ListDropTargetDelegate.d.ts +6 -6
  68. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  69. package/dist/Menu.d.ts +65 -14
  70. package/dist/Menu.d.ts.map +1 -1
  71. package/dist/Meter.d.ts +3 -3
  72. package/dist/Meter.d.ts.map +1 -1
  73. package/dist/Modal.d.ts +5 -5
  74. package/dist/Modal.d.ts.map +1 -1
  75. package/dist/NumberField.d.ts +8 -12
  76. package/dist/NumberField.d.ts.map +1 -1
  77. package/dist/Popover.d.ts +28 -5
  78. package/dist/Popover.d.ts.map +1 -1
  79. package/dist/Pressable.d.ts +2 -2
  80. package/dist/Pressable.d.ts.map +1 -1
  81. package/dist/ProgressBar.d.ts +5 -3
  82. package/dist/ProgressBar.d.ts.map +1 -1
  83. package/dist/RadioGroup.d.ts +43 -9
  84. package/dist/RadioGroup.d.ts.map +1 -1
  85. package/dist/RangeCalendar.d.ts +34 -7
  86. package/dist/RangeCalendar.d.ts.map +1 -1
  87. package/dist/RouterProvider.d.ts +2 -2
  88. package/dist/RouterProvider.d.ts.map +1 -1
  89. package/dist/SearchField.d.ts +23 -20
  90. package/dist/SearchField.d.ts.map +1 -1
  91. package/dist/Select.d.ts +41 -11
  92. package/dist/Select.d.ts.map +1 -1
  93. package/dist/SelectionIndicator.d.ts +3 -3
  94. package/dist/SelectionIndicator.d.ts.map +1 -1
  95. package/dist/Separator.d.ts +9 -3
  96. package/dist/Separator.d.ts.map +1 -1
  97. package/dist/SharedElementTransition.d.ts +6 -4
  98. package/dist/SharedElementTransition.d.ts.map +1 -1
  99. package/dist/Slider.d.ts +12 -8
  100. package/dist/Slider.d.ts.map +1 -1
  101. package/dist/StepList.d.ts +90 -0
  102. package/dist/StepList.d.ts.map +1 -0
  103. package/dist/Switch.d.ts +11 -5
  104. package/dist/Switch.d.ts.map +1 -1
  105. package/dist/Table.d.ts +187 -23
  106. package/dist/Table.d.ts.map +1 -1
  107. package/dist/Tabs.d.ts +45 -9
  108. package/dist/Tabs.d.ts.map +1 -1
  109. package/dist/TagGroup.d.ts +12 -10
  110. package/dist/TagGroup.d.ts.map +1 -1
  111. package/dist/Text.d.ts +2 -2
  112. package/dist/TextField.d.ts +15 -11
  113. package/dist/TextField.d.ts.map +1 -1
  114. package/dist/TimeField.d.ts +6 -6
  115. package/dist/TimeField.d.ts.map +1 -1
  116. package/dist/Toast.d.ts +29 -14
  117. package/dist/Toast.d.ts.map +1 -1
  118. package/dist/ToggleButton.d.ts +11 -5
  119. package/dist/ToggleButton.d.ts.map +1 -1
  120. package/dist/ToggleButtonGroup.d.ts +7 -7
  121. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  122. package/dist/Toolbar.d.ts +7 -3
  123. package/dist/Toolbar.d.ts.map +1 -1
  124. package/dist/Tooltip.d.ts +50 -8
  125. package/dist/Tooltip.d.ts.map +1 -1
  126. package/dist/Tree.d.ts +66 -17
  127. package/dist/Tree.d.ts.map +1 -1
  128. package/dist/Virtualizer.d.ts +12 -12
  129. package/dist/Virtualizer.d.ts.map +1 -1
  130. package/dist/VirtualizerLayouts.d.ts +2 -2
  131. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  132. package/dist/VisuallyHidden.d.ts +1 -1
  133. package/dist/VisuallyHidden.d.ts.map +1 -1
  134. package/dist/contexts.d.ts +5 -1
  135. package/dist/contexts.d.ts.map +1 -1
  136. package/dist/index.d.ts +73 -71
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +23247 -18564
  139. package/dist/index.js.map +1 -1
  140. package/dist/index.jsx +18110 -0
  141. package/dist/index.jsx.map +1 -0
  142. package/dist/useDragAndDrop.d.ts +13 -13
  143. package/dist/useDragAndDrop.d.ts.map +1 -1
  144. package/dist/utils.d.ts +2 -2
  145. package/dist/utils.d.ts.map +1 -1
  146. package/dist/virtualizer/Layout.d.ts +1 -1
  147. package/dist/virtualizer/Layout.d.ts.map +1 -1
  148. package/package.json +31 -32
  149. package/src/ActionBar.tsx +75 -72
  150. package/src/ActionGroup.tsx +53 -61
  151. package/src/Alert.tsx +17 -42
  152. package/src/Autocomplete.tsx +39 -44
  153. package/src/Breadcrumbs.tsx +149 -80
  154. package/src/Button.tsx +267 -70
  155. package/src/Calendar.tsx +218 -138
  156. package/src/Checkbox.tsx +413 -121
  157. package/src/Collection.tsx +67 -58
  158. package/src/Color.tsx +803 -380
  159. package/src/ColorEditor.tsx +131 -149
  160. package/src/ComboBox.tsx +414 -249
  161. package/src/ContextualHelpTrigger.tsx +86 -74
  162. package/src/DateField.tsx +185 -91
  163. package/src/DatePicker.tsx +524 -213
  164. package/src/DateRangePickerContext.tsx +44 -0
  165. package/src/Dialog.tsx +156 -118
  166. package/src/Disclosure.tsx +127 -80
  167. package/src/DragAndDrop.tsx +60 -54
  168. package/src/DragPreview.tsx +13 -11
  169. package/src/DropZone.tsx +42 -22
  170. package/src/FieldError.tsx +45 -23
  171. package/src/FileTrigger.tsx +19 -19
  172. package/src/Focusable.tsx +21 -24
  173. package/src/Form.tsx +71 -16
  174. package/src/GridList.tsx +273 -197
  175. package/src/HiddenDateInput.tsx +153 -0
  176. package/src/HiddenTimeInput.tsx +133 -0
  177. package/src/Icon.tsx +22 -43
  178. package/src/Keyboard.tsx +3 -3
  179. package/src/Landmark.tsx +37 -63
  180. package/src/Link.tsx +125 -75
  181. package/src/ListBox.tsx +332 -233
  182. package/src/ListDropTargetDelegate.ts +81 -80
  183. package/src/Menu.tsx +1023 -274
  184. package/src/Meter.tsx +38 -56
  185. package/src/Modal.tsx +243 -175
  186. package/src/NumberField.tsx +139 -143
  187. package/src/Popover.tsx +386 -233
  188. package/src/Pressable.tsx +21 -21
  189. package/src/ProgressBar.tsx +48 -57
  190. package/src/RadioGroup.tsx +524 -122
  191. package/src/RangeCalendar.tsx +157 -90
  192. package/src/RouterProvider.tsx +30 -47
  193. package/src/SearchField.tsx +362 -143
  194. package/src/Select.tsx +656 -233
  195. package/src/SelectionIndicator.tsx +18 -15
  196. package/src/Separator.tsx +47 -49
  197. package/src/SharedElementTransition.tsx +103 -97
  198. package/src/Slider.tsx +138 -98
  199. package/src/StepList.tsx +272 -0
  200. package/src/Switch.tsx +93 -46
  201. package/src/Table.tsx +1308 -342
  202. package/src/Tabs.tsx +324 -103
  203. package/src/TagGroup.tsx +139 -126
  204. package/src/Text.tsx +3 -3
  205. package/src/TextField.tsx +389 -79
  206. package/src/TimeField.tsx +136 -76
  207. package/src/Toast.tsx +209 -157
  208. package/src/ToggleButton.tsx +47 -37
  209. package/src/ToggleButtonGroup.tsx +39 -34
  210. package/src/Toolbar.tsx +54 -69
  211. package/src/Tooltip.tsx +387 -119
  212. package/src/Tree.tsx +651 -368
  213. package/src/Virtualizer.tsx +208 -180
  214. package/src/VirtualizerLayouts.ts +45 -30
  215. package/src/VisuallyHidden.tsx +19 -19
  216. package/src/contexts.ts +29 -37
  217. package/src/index.ts +110 -195
  218. package/src/useDragAndDrop.ts +87 -71
  219. package/src/utils.tsx +40 -55
  220. package/src/virtualizer/Layout.ts +14 -22
  221. package/dist/index.ssr.js +0 -16996
  222. package/dist/index.ssr.js.map +0 -1
package/src/Meter.tsx CHANGED
@@ -8,16 +8,8 @@
8
8
  * Unlike progress bars, meters represent a current value rather than progress toward a goal.
9
9
  */
10
10
 
11
- import {
12
- type JSX,
13
- createContext,
14
- createMemo,
15
- splitProps,
16
- } from 'solid-js';
17
- import {
18
- createMeter,
19
- type AriaMeterProps,
20
- } from '@proyecto-viviana/solidaria';
11
+ import { type JSX, createContext, createMemo, splitProps } from "solid-js";
12
+ import { createMeter, type AriaMeterProps } from "@proyecto-viviana/solidaria";
21
13
  import {
22
14
  type RenderChildren,
23
15
  type ClassNameOrFunction,
@@ -25,11 +17,7 @@ import {
25
17
  type SlotProps,
26
18
  useRenderProps,
27
19
  filterDOMProps,
28
- } from './utils';
29
-
30
- // ============================================
31
- // TYPES
32
- // ============================================
20
+ } from "./utils";
33
21
 
34
22
  export interface MeterRenderProps {
35
23
  /** The value as a percentage between the minimum and maximum (0-100). */
@@ -38,9 +26,7 @@ export interface MeterRenderProps {
38
26
  valueText: string | undefined;
39
27
  }
40
28
 
41
- export interface MeterProps
42
- extends AriaMeterProps,
43
- SlotProps {
29
+ export interface MeterProps extends AriaMeterProps, SlotProps {
44
30
  /** The children of the component. A function may be provided to receive render props. */
45
31
  children?: RenderChildren<MeterRenderProps>;
46
32
  /** The CSS className for the element. */
@@ -49,16 +35,8 @@ export interface MeterProps
49
35
  style?: StyleOrFunction<MeterRenderProps>;
50
36
  }
51
37
 
52
- // ============================================
53
- // CONTEXT
54
- // ============================================
55
-
56
38
  export const MeterContext = createContext<MeterProps | null>(null);
57
39
 
58
- // ============================================
59
- // UTILITIES
60
- // ============================================
61
-
62
40
  function clamp(value: number, min: number, max: number): number {
63
41
  return Math.min(Math.max(value, min), max);
64
42
  }
@@ -68,10 +46,6 @@ function getSafeRange(min: number, max: number): number {
68
46
  return Number.isFinite(range) && range > 0 ? range : 1;
69
47
  }
70
48
 
71
- // ============================================
72
- // METER COMPONENT
73
- // ============================================
74
-
75
49
  /**
76
50
  * A meter represents a quantity within a known range, or a fractional value.
77
51
  * Unlike progress bars, meters represent a current value rather than progress toward a goal.
@@ -90,61 +64,69 @@ function getSafeRange(min: number, max: number): number {
90
64
  * ```
91
65
  */
92
66
  export function Meter(props: MeterProps): JSX.Element {
93
- const [local, ariaProps] = splitProps(props, [
94
- 'children',
95
- 'class',
96
- 'style',
97
- 'slot',
98
- ]);
67
+ const [local, ariaProps] = splitProps(props, ["children", "class", "style", "slot"]);
99
68
 
100
- // Get values for calculations
101
69
  const value = () => ariaProps.value ?? 0;
102
70
  const minValue = () => ariaProps.minValue ?? 0;
103
71
  const maxValue = () => ariaProps.maxValue ?? 100;
104
72
 
105
- // Create meter aria props
106
73
  const meterAria = createMeter({
107
- get value() { return ariaProps.value; },
108
- get minValue() { return ariaProps.minValue; },
109
- get maxValue() { return ariaProps.maxValue; },
110
- get valueLabel() { return ariaProps.valueLabel; },
111
- get formatOptions() { return ariaProps.formatOptions; },
112
- get label() { return ariaProps.label; },
113
- get 'aria-label'() { return ariaProps['aria-label']; },
114
- get 'aria-labelledby'() { return ariaProps['aria-labelledby']; },
115
- get 'aria-describedby'() { return ariaProps['aria-describedby']; },
116
- get 'aria-details'() { return ariaProps['aria-details']; },
74
+ get value() {
75
+ return ariaProps.value;
76
+ },
77
+ get minValue() {
78
+ return ariaProps.minValue;
79
+ },
80
+ get maxValue() {
81
+ return ariaProps.maxValue;
82
+ },
83
+ get valueLabel() {
84
+ return ariaProps.valueLabel;
85
+ },
86
+ get formatOptions() {
87
+ return ariaProps.formatOptions;
88
+ },
89
+ get label() {
90
+ return ariaProps.label;
91
+ },
92
+ get "aria-label"() {
93
+ return ariaProps["aria-label"];
94
+ },
95
+ get "aria-labelledby"() {
96
+ return ariaProps["aria-labelledby"];
97
+ },
98
+ get "aria-describedby"() {
99
+ return ariaProps["aria-describedby"];
100
+ },
101
+ get "aria-details"() {
102
+ return ariaProps["aria-details"];
103
+ },
117
104
  });
118
105
 
119
- // Calculate percentage
120
106
  const percentage = createMemo(() => {
121
107
  const clampedValue = clamp(value(), minValue(), maxValue());
122
108
  return ((clampedValue - minValue()) / getSafeRange(minValue(), maxValue())) * 100;
123
109
  });
124
110
 
125
- // Get value text from aria props
126
111
  const valueText = createMemo(() => {
127
- return meterAria.meterProps['aria-valuetext'] as string | undefined;
112
+ return meterAria.meterProps["aria-valuetext"] as string | undefined;
128
113
  });
129
114
 
130
- // Render props values
131
115
  const renderValues = createMemo<MeterRenderProps>(() => ({
132
116
  percentage: percentage(),
133
117
  valueText: valueText(),
134
118
  }));
135
119
 
136
- // Resolve render props
137
120
  const renderProps = useRenderProps(
138
121
  {
139
122
  children: props.children,
140
123
  class: local.class,
141
124
  style: local.style,
142
- defaultClassName: 'solidaria-Meter',
125
+ defaultClassName: "solidaria-Meter",
143
126
  },
144
- renderValues
127
+ renderValues,
145
128
  );
146
129
 
147
- // Filter DOM props
148
130
  const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
149
131
 
150
132
  return (