@proyecto-viviana/solidaria-components 0.4.0 → 0.4.1

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 (192) hide show
  1. package/dist/ActionBar.d.ts.map +1 -1
  2. package/dist/ActionBar.js +2 -11
  3. package/dist/ActionBar.js.map +1 -1
  4. package/dist/ActionBar.jsx +2 -11
  5. package/dist/ActionBar.jsx.map +1 -1
  6. package/dist/ActionGroup.d.ts.map +1 -1
  7. package/dist/ActionGroup.js +1 -1
  8. package/dist/ActionGroup.js.map +1 -1
  9. package/dist/ActionGroup.jsx +1 -1
  10. package/dist/ActionGroup.jsx.map +1 -1
  11. package/dist/Autocomplete.d.ts +2 -2
  12. package/dist/Autocomplete.d.ts.map +1 -1
  13. package/dist/Autocomplete.js +7 -7
  14. package/dist/Autocomplete.js.map +1 -1
  15. package/dist/Autocomplete.jsx +7 -7
  16. package/dist/Autocomplete.jsx.map +1 -1
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +15 -16
  19. package/dist/Breadcrumbs.js.map +1 -1
  20. package/dist/Breadcrumbs.jsx +19 -24
  21. package/dist/Breadcrumbs.jsx.map +1 -1
  22. package/dist/Calendar.d.ts.map +1 -1
  23. package/dist/Calendar.js +100 -65
  24. package/dist/Calendar.js.map +1 -1
  25. package/dist/Calendar.jsx +10 -1
  26. package/dist/Calendar.jsx.map +1 -1
  27. package/dist/Color.d.ts.map +1 -1
  28. package/dist/Color.js +15 -18
  29. package/dist/Color.js.map +1 -1
  30. package/dist/Color.jsx +15 -19
  31. package/dist/Color.jsx.map +1 -1
  32. package/dist/ComboBox.d.ts +4 -0
  33. package/dist/ComboBox.d.ts.map +1 -1
  34. package/dist/ComboBox.js +21 -13
  35. package/dist/ComboBox.js.map +1 -1
  36. package/dist/ComboBox.jsx +23 -13
  37. package/dist/ComboBox.jsx.map +1 -1
  38. package/dist/DateField.d.ts +11 -2
  39. package/dist/DateField.d.ts.map +1 -1
  40. package/dist/DateField2.js +237 -234
  41. package/dist/DateField2.js.map +1 -1
  42. package/dist/DateField2.jsx +134 -97
  43. package/dist/DateField2.jsx.map +1 -1
  44. package/dist/DatePicker.d.ts +42 -3
  45. package/dist/DatePicker.d.ts.map +1 -1
  46. package/dist/DatePicker.js +6 -990
  47. package/dist/DatePicker.jsx +6 -681
  48. package/dist/DatePicker2.js +1171 -0
  49. package/dist/DatePicker2.js.map +1 -0
  50. package/dist/DatePicker2.jsx +820 -0
  51. package/dist/DatePicker2.jsx.map +1 -0
  52. package/dist/DateRangePickerContext.d.ts +2 -0
  53. package/dist/DateRangePickerContext.d.ts.map +1 -1
  54. package/dist/Disclosure.d.ts.map +1 -1
  55. package/dist/Disclosure.js +3 -0
  56. package/dist/Disclosure.js.map +1 -1
  57. package/dist/Disclosure.jsx +1 -1
  58. package/dist/Disclosure.jsx.map +1 -1
  59. package/dist/GridList.d.ts.map +1 -1
  60. package/dist/GridList.js +2 -2
  61. package/dist/GridList.js.map +1 -1
  62. package/dist/GridList.jsx +2 -2
  63. package/dist/GridList.jsx.map +1 -1
  64. package/dist/ListBox.d.ts +2 -2
  65. package/dist/ListBox.d.ts.map +1 -1
  66. package/dist/ListBox.js +327 -166
  67. package/dist/ListBox.js.map +1 -1
  68. package/dist/ListBox.jsx +161 -25
  69. package/dist/ListBox.jsx.map +1 -1
  70. package/dist/Modal.d.ts.map +1 -1
  71. package/dist/Modal.js +7 -5
  72. package/dist/Modal.js.map +1 -1
  73. package/dist/Modal.jsx +5 -5
  74. package/dist/Modal.jsx.map +1 -1
  75. package/dist/Popover.d.ts.map +1 -1
  76. package/dist/Popover.js +16 -9
  77. package/dist/Popover.js.map +1 -1
  78. package/dist/Popover.jsx +25 -4
  79. package/dist/Popover.jsx.map +1 -1
  80. package/dist/RangeCalendar.d.ts.map +1 -1
  81. package/dist/RangeCalendar.js +182 -46
  82. package/dist/RangeCalendar.js.map +1 -1
  83. package/dist/RangeCalendar.jsx +72 -2
  84. package/dist/RangeCalendar.jsx.map +1 -1
  85. package/dist/SearchField.d.ts.map +1 -1
  86. package/dist/SearchField.js +26 -2
  87. package/dist/SearchField.js.map +1 -1
  88. package/dist/SearchField.jsx +26 -2
  89. package/dist/SearchField.jsx.map +1 -1
  90. package/dist/Select.d.ts +7 -0
  91. package/dist/Select.d.ts.map +1 -1
  92. package/dist/Select.js +62 -49
  93. package/dist/Select.js.map +1 -1
  94. package/dist/Select.jsx +33 -18
  95. package/dist/Select.jsx.map +1 -1
  96. package/dist/SharedElementTransition.d.ts.map +1 -1
  97. package/dist/SharedElementTransition.js +35 -33
  98. package/dist/SharedElementTransition.js.map +1 -1
  99. package/dist/SharedElementTransition.jsx +35 -33
  100. package/dist/SharedElementTransition.jsx.map +1 -1
  101. package/dist/StepList.d.ts.map +1 -1
  102. package/dist/StepList.js +2 -9
  103. package/dist/StepList.js.map +1 -1
  104. package/dist/StepList.jsx +1 -6
  105. package/dist/StepList.jsx.map +1 -1
  106. package/dist/Table.d.ts +2 -0
  107. package/dist/Table.d.ts.map +1 -1
  108. package/dist/Table.js +10 -3
  109. package/dist/Table.js.map +1 -1
  110. package/dist/Table.jsx +10 -3
  111. package/dist/Table.jsx.map +1 -1
  112. package/dist/Tabs.d.ts.map +1 -1
  113. package/dist/Tabs.js +3 -0
  114. package/dist/Tabs.js.map +1 -1
  115. package/dist/Tabs.jsx +1 -1
  116. package/dist/Tabs.jsx.map +1 -1
  117. package/dist/TagGroup.d.ts +3 -1
  118. package/dist/TagGroup.d.ts.map +1 -1
  119. package/dist/TagGroup.js +12 -8
  120. package/dist/TagGroup.js.map +1 -1
  121. package/dist/TagGroup.jsx +11 -8
  122. package/dist/TagGroup.jsx.map +1 -1
  123. package/dist/TextField.js +4 -1
  124. package/dist/TextField.js.map +1 -1
  125. package/dist/TextField.jsx +4 -1
  126. package/dist/TextField.jsx.map +1 -1
  127. package/dist/TimeField.d.ts +14 -50
  128. package/dist/TimeField.d.ts.map +1 -1
  129. package/dist/TimeField.js +111 -205
  130. package/dist/TimeField.js.map +1 -1
  131. package/dist/TimeField.jsx +76 -82
  132. package/dist/TimeField.jsx.map +1 -1
  133. package/dist/Tree.d.ts.map +1 -1
  134. package/dist/Tree.js +3 -3
  135. package/dist/Tree.js.map +1 -1
  136. package/dist/Tree.jsx +3 -3
  137. package/dist/Tree.jsx.map +1 -1
  138. package/dist/index.d.ts +2 -3
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +5 -6
  141. package/dist/index.jsx +5 -6
  142. package/dist/useDragAndDrop.d.ts +0 -8
  143. package/dist/useDragAndDrop.d.ts.map +1 -1
  144. package/dist/useDragAndDrop2.js +6 -2
  145. package/dist/useDragAndDrop2.js.map +1 -1
  146. package/dist/useDragAndDrop2.jsx +6 -2
  147. package/dist/useDragAndDrop2.jsx.map +1 -1
  148. package/dist/utils.d.ts +1 -0
  149. package/dist/utils.d.ts.map +1 -1
  150. package/dist/utils.js +2 -2
  151. package/dist/utils.js.map +1 -1
  152. package/dist/utils.jsx +2 -2
  153. package/dist/utils.jsx.map +1 -1
  154. package/package.json +3 -9
  155. package/src/ActionBar.tsx +10 -12
  156. package/src/ActionGroup.tsx +5 -3
  157. package/src/Autocomplete.tsx +14 -9
  158. package/src/Breadcrumbs.tsx +55 -38
  159. package/src/Calendar.tsx +30 -1
  160. package/src/Color.tsx +42 -27
  161. package/src/ComboBox.tsx +49 -17
  162. package/src/DateField.tsx +285 -52
  163. package/src/DatePicker.tsx +345 -57
  164. package/src/DateRangePickerContext.tsx +2 -0
  165. package/src/Disclosure.tsx +4 -0
  166. package/src/GridList.tsx +8 -2
  167. package/src/ListBox.tsx +323 -21
  168. package/src/Modal.tsx +21 -5
  169. package/src/Popover.tsx +28 -7
  170. package/src/RangeCalendar.tsx +120 -1
  171. package/src/SearchField.tsx +53 -1
  172. package/src/Select.tsx +101 -20
  173. package/src/SharedElementTransition.tsx +92 -36
  174. package/src/StepList.tsx +0 -7
  175. package/src/Table.tsx +19 -4
  176. package/src/Tabs.tsx +1 -0
  177. package/src/TagGroup.tsx +26 -6
  178. package/src/TextField.tsx +1 -1
  179. package/src/TimeField.tsx +113 -196
  180. package/src/Tree.tsx +14 -4
  181. package/src/index.ts +1 -8
  182. package/src/useDragAndDrop.ts +8 -10
  183. package/src/utils.tsx +3 -3
  184. package/dist/DatePicker.js.map +0 -1
  185. package/dist/DatePicker.jsx.map +0 -1
  186. package/dist/HiddenTimeInput.d.ts +0 -25
  187. package/dist/HiddenTimeInput.d.ts.map +0 -1
  188. package/dist/HiddenTimeInput.js +0 -104
  189. package/dist/HiddenTimeInput.js.map +0 -1
  190. package/dist/HiddenTimeInput.jsx +0 -69
  191. package/dist/HiddenTimeInput.jsx.map +0 -1
  192. package/src/HiddenTimeInput.tsx +0 -133
@@ -1,133 +0,0 @@
1
- /**
2
- * HiddenTimeInput component for solidaria-components
3
- *
4
- * A hidden native time input for form submission.
5
- */
6
- import { type JSX, createEffect, createSignal } from "solid-js";
7
- import { type FormValidationState, type TimeValue } from "@proyecto-viviana/solid-stately";
8
- import { createFormValidation } from "@proyecto-viviana/solidaria";
9
-
10
- type MaybeAccessor<T> = T | (() => T);
11
-
12
- export interface HiddenTimeInputProps {
13
- name?: string;
14
- form?: string;
15
- value?: MaybeAccessor<TimeValue | null | undefined>;
16
- autoComplete?: string;
17
- isDisabled?: boolean;
18
- isRequired?: boolean;
19
- validationBehavior?: "aria" | "native";
20
- validationState?: FormValidationState;
21
- focus?: () => void;
22
- minValue?: MaybeAccessor<TimeValue | undefined>;
23
- maxValue?: MaybeAccessor<TimeValue | undefined>;
24
- granularity?: "hour" | "minute" | "second";
25
- }
26
-
27
- function accessValue<T>(value: MaybeAccessor<T> | undefined): T | undefined {
28
- return typeof value === "function" ? (value as () => T)() : value;
29
- }
30
-
31
- function formatTimeValue(
32
- value: TimeValue | undefined | null,
33
- granularity: "hour" | "minute" | "second",
34
- ): string {
35
- if (!value) return "";
36
-
37
- const hour = String(value.hour).padStart(2, "0");
38
- const minute = String(granularity === "hour" ? 0 : value.minute).padStart(2, "0");
39
-
40
- if (granularity === "second") {
41
- const second = String(value.second).padStart(2, "0");
42
- return `${hour}:${minute}:${second}`;
43
- }
44
-
45
- return `${hour}:${minute}`;
46
- }
47
-
48
- function stepForGranularity(granularity: "hour" | "minute" | "second"): number {
49
- switch (granularity) {
50
- case "hour":
51
- return 3600;
52
- case "second":
53
- return 1;
54
- case "minute":
55
- default:
56
- return 60;
57
- }
58
- }
59
-
60
- export function HiddenTimeInput(props: HiddenTimeInputProps): JSX.Element {
61
- const granularity = () => props.granularity ?? "minute";
62
- const hasValidationBehavior = () => props.validationBehavior != null;
63
- const validationBehavior = () => props.validationBehavior;
64
- const usesNativeValidation = () => validationBehavior() === "native";
65
- const value = () => accessValue(props.value);
66
- const minValue = () => accessValue(props.minValue);
67
- const maxValue = () => accessValue(props.maxValue);
68
- const inputType = () =>
69
- usesNativeValidation() ? "text" : hasValidationBehavior() ? "hidden" : "time";
70
- const formattedValue = () => formatTimeValue(value(), granularity());
71
- const formattedMin = () => formatTimeValue(minValue(), granularity());
72
- const formattedMax = () => formatTimeValue(maxValue(), granularity());
73
-
74
- const [inputRef, setInputRef] = createSignal<HTMLInputElement>();
75
-
76
- if (props.validationState) {
77
- createFormValidation(
78
- {
79
- get validationBehavior() {
80
- return validationBehavior();
81
- },
82
- get focus() {
83
- return props.focus;
84
- },
85
- },
86
- props.validationState,
87
- inputRef,
88
- );
89
- }
90
-
91
- createEffect(() => {
92
- const val = formattedValue();
93
- const input = inputRef();
94
- if (input && input.value !== val) {
95
- input.value = val;
96
- }
97
- });
98
-
99
- return (
100
- <input
101
- ref={(el) => {
102
- setInputRef(el);
103
- }}
104
- type={inputType()}
105
- name={props.name}
106
- form={props.form}
107
- value={formattedValue()}
108
- autocomplete={props.autoComplete}
109
- disabled={props.isDisabled}
110
- required={usesNativeValidation() && props.isRequired ? true : undefined}
111
- hidden={usesNativeValidation() || undefined}
112
- min={hasValidationBehavior() ? undefined : formattedMin() || undefined}
113
- max={hasValidationBehavior() ? undefined : formattedMax() || undefined}
114
- step={hasValidationBehavior() ? undefined : stepForGranularity(granularity())}
115
- onChange={usesNativeValidation() ? () => {} : undefined}
116
- tabIndex={-1}
117
- aria-hidden="true"
118
- style={
119
- {
120
- position: "absolute",
121
- width: "1px",
122
- height: "1px",
123
- padding: "0",
124
- margin: "-1px",
125
- overflow: "hidden",
126
- clip: "rect(0, 0, 0, 0)",
127
- "white-space": "nowrap",
128
- "border-width": "0",
129
- } as JSX.CSSProperties
130
- }
131
- />
132
- );
133
- }