@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.
- package/README.md +39 -272
- package/dist/ActionBar.d.ts +21 -13
- package/dist/ActionBar.d.ts.map +1 -1
- package/dist/ActionGroup.d.ts +8 -8
- package/dist/ActionGroup.d.ts.map +1 -1
- package/dist/Alert.d.ts +5 -5
- package/dist/Alert.d.ts.map +1 -1
- package/dist/Autocomplete.d.ts +5 -5
- package/dist/Autocomplete.d.ts.map +1 -1
- package/dist/Breadcrumbs.d.ts +18 -7
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Button.d.ts +24 -5
- package/dist/Button.d.ts.map +1 -1
- package/dist/Calendar.d.ts +38 -7
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Checkbox.d.ts +32 -7
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Collection.d.ts +19 -14
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Color.d.ts +103 -14
- package/dist/Color.d.ts.map +1 -1
- package/dist/ColorEditor.d.ts +6 -6
- package/dist/ColorEditor.d.ts.map +1 -1
- package/dist/ComboBox.d.ts +85 -19
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ContextualHelpTrigger.d.ts +2 -2
- package/dist/ContextualHelpTrigger.d.ts.map +1 -1
- package/dist/DateField.d.ts +8 -6
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DatePicker.d.ts +53 -22
- package/dist/DatePicker.d.ts.map +1 -1
- package/dist/DateRangePickerContext.d.ts +30 -0
- package/dist/DateRangePickerContext.d.ts.map +1 -0
- package/dist/Dialog.d.ts +5 -5
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Disclosure.d.ts +23 -5
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/DragAndDrop.d.ts +6 -6
- package/dist/DragAndDrop.d.ts.map +1 -1
- package/dist/DragPreview.d.ts +2 -2
- package/dist/DragPreview.d.ts.map +1 -1
- package/dist/DropZone.d.ts +4 -4
- package/dist/DropZone.d.ts.map +1 -1
- package/dist/FieldError.d.ts +9 -5
- package/dist/FieldError.d.ts.map +1 -1
- package/dist/FileTrigger.d.ts +3 -3
- package/dist/FileTrigger.d.ts.map +1 -1
- package/dist/Focusable.d.ts +2 -2
- package/dist/Focusable.d.ts.map +1 -1
- package/dist/Form.d.ts +18 -4
- package/dist/Form.d.ts.map +1 -1
- package/dist/GridList.d.ts +32 -12
- package/dist/GridList.d.ts.map +1 -1
- package/dist/HiddenDateInput.d.ts +26 -0
- package/dist/HiddenDateInput.d.ts.map +1 -0
- package/dist/HiddenTimeInput.d.ts +25 -0
- package/dist/HiddenTimeInput.d.ts.map +1 -0
- package/dist/Icon.d.ts +5 -5
- package/dist/Icon.d.ts.map +1 -1
- package/dist/Keyboard.d.ts +1 -1
- package/dist/Landmark.d.ts +3 -3
- package/dist/Landmark.d.ts.map +1 -1
- package/dist/Link.d.ts +10 -4
- package/dist/Link.d.ts.map +1 -1
- package/dist/ListBox.d.ts +32 -12
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListDropTargetDelegate.d.ts +6 -6
- package/dist/ListDropTargetDelegate.d.ts.map +1 -1
- package/dist/Menu.d.ts +65 -14
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Meter.d.ts +3 -3
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Modal.d.ts +5 -5
- package/dist/Modal.d.ts.map +1 -1
- package/dist/NumberField.d.ts +8 -12
- package/dist/NumberField.d.ts.map +1 -1
- package/dist/Popover.d.ts +28 -5
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Pressable.d.ts +2 -2
- package/dist/Pressable.d.ts.map +1 -1
- package/dist/ProgressBar.d.ts +5 -3
- package/dist/ProgressBar.d.ts.map +1 -1
- package/dist/RadioGroup.d.ts +43 -9
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RangeCalendar.d.ts +34 -7
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RouterProvider.d.ts +2 -2
- package/dist/RouterProvider.d.ts.map +1 -1
- package/dist/SearchField.d.ts +23 -20
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/Select.d.ts +41 -11
- package/dist/Select.d.ts.map +1 -1
- package/dist/SelectionIndicator.d.ts +3 -3
- package/dist/SelectionIndicator.d.ts.map +1 -1
- package/dist/Separator.d.ts +9 -3
- package/dist/Separator.d.ts.map +1 -1
- package/dist/SharedElementTransition.d.ts +6 -4
- package/dist/SharedElementTransition.d.ts.map +1 -1
- package/dist/Slider.d.ts +12 -8
- package/dist/Slider.d.ts.map +1 -1
- package/dist/StepList.d.ts +90 -0
- package/dist/StepList.d.ts.map +1 -0
- package/dist/Switch.d.ts +11 -5
- package/dist/Switch.d.ts.map +1 -1
- package/dist/Table.d.ts +187 -23
- package/dist/Table.d.ts.map +1 -1
- package/dist/Tabs.d.ts +45 -9
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/TagGroup.d.ts +12 -10
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/Text.d.ts +2 -2
- package/dist/TextField.d.ts +15 -11
- package/dist/TextField.d.ts.map +1 -1
- package/dist/TimeField.d.ts +6 -6
- package/dist/TimeField.d.ts.map +1 -1
- package/dist/Toast.d.ts +29 -14
- package/dist/Toast.d.ts.map +1 -1
- package/dist/ToggleButton.d.ts +11 -5
- package/dist/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButtonGroup.d.ts +7 -7
- package/dist/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/Toolbar.d.ts +7 -3
- package/dist/Toolbar.d.ts.map +1 -1
- package/dist/Tooltip.d.ts +50 -8
- package/dist/Tooltip.d.ts.map +1 -1
- package/dist/Tree.d.ts +66 -17
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Virtualizer.d.ts +12 -12
- package/dist/Virtualizer.d.ts.map +1 -1
- package/dist/VirtualizerLayouts.d.ts +2 -2
- package/dist/VirtualizerLayouts.d.ts.map +1 -1
- package/dist/VisuallyHidden.d.ts +1 -1
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/contexts.d.ts +5 -1
- package/dist/contexts.d.ts.map +1 -1
- package/dist/index.d.ts +73 -71
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23247 -18564
- package/dist/index.js.map +1 -1
- package/dist/index.jsx +18110 -0
- package/dist/index.jsx.map +1 -0
- package/dist/useDragAndDrop.d.ts +13 -13
- package/dist/useDragAndDrop.d.ts.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/virtualizer/Layout.d.ts +1 -1
- package/dist/virtualizer/Layout.d.ts.map +1 -1
- package/package.json +31 -32
- package/src/ActionBar.tsx +75 -72
- package/src/ActionGroup.tsx +53 -61
- package/src/Alert.tsx +17 -42
- package/src/Autocomplete.tsx +39 -44
- package/src/Breadcrumbs.tsx +149 -80
- package/src/Button.tsx +267 -70
- package/src/Calendar.tsx +218 -138
- package/src/Checkbox.tsx +413 -121
- package/src/Collection.tsx +67 -58
- package/src/Color.tsx +803 -380
- package/src/ColorEditor.tsx +131 -149
- package/src/ComboBox.tsx +414 -249
- package/src/ContextualHelpTrigger.tsx +86 -74
- package/src/DateField.tsx +185 -91
- package/src/DatePicker.tsx +524 -213
- package/src/DateRangePickerContext.tsx +44 -0
- package/src/Dialog.tsx +156 -118
- package/src/Disclosure.tsx +127 -80
- package/src/DragAndDrop.tsx +60 -54
- package/src/DragPreview.tsx +13 -11
- package/src/DropZone.tsx +42 -22
- package/src/FieldError.tsx +45 -23
- package/src/FileTrigger.tsx +19 -19
- package/src/Focusable.tsx +21 -24
- package/src/Form.tsx +71 -16
- package/src/GridList.tsx +273 -197
- package/src/HiddenDateInput.tsx +153 -0
- package/src/HiddenTimeInput.tsx +133 -0
- package/src/Icon.tsx +22 -43
- package/src/Keyboard.tsx +3 -3
- package/src/Landmark.tsx +37 -63
- package/src/Link.tsx +125 -75
- package/src/ListBox.tsx +332 -233
- package/src/ListDropTargetDelegate.ts +81 -80
- package/src/Menu.tsx +1023 -274
- package/src/Meter.tsx +38 -56
- package/src/Modal.tsx +243 -175
- package/src/NumberField.tsx +139 -143
- package/src/Popover.tsx +386 -233
- package/src/Pressable.tsx +21 -21
- package/src/ProgressBar.tsx +48 -57
- package/src/RadioGroup.tsx +524 -122
- package/src/RangeCalendar.tsx +157 -90
- package/src/RouterProvider.tsx +30 -47
- package/src/SearchField.tsx +362 -143
- package/src/Select.tsx +656 -233
- package/src/SelectionIndicator.tsx +18 -15
- package/src/Separator.tsx +47 -49
- package/src/SharedElementTransition.tsx +103 -97
- package/src/Slider.tsx +138 -98
- package/src/StepList.tsx +272 -0
- package/src/Switch.tsx +93 -46
- package/src/Table.tsx +1308 -342
- package/src/Tabs.tsx +324 -103
- package/src/TagGroup.tsx +139 -126
- package/src/Text.tsx +3 -3
- package/src/TextField.tsx +389 -79
- package/src/TimeField.tsx +136 -76
- package/src/Toast.tsx +209 -157
- package/src/ToggleButton.tsx +47 -37
- package/src/ToggleButtonGroup.tsx +39 -34
- package/src/Toolbar.tsx +54 -69
- package/src/Tooltip.tsx +387 -119
- package/src/Tree.tsx +651 -368
- package/src/Virtualizer.tsx +208 -180
- package/src/VirtualizerLayouts.ts +45 -30
- package/src/VisuallyHidden.tsx +19 -19
- package/src/contexts.ts +29 -37
- package/src/index.ts +110 -195
- package/src/useDragAndDrop.ts +87 -71
- package/src/utils.tsx +40 -55
- package/src/virtualizer/Layout.ts +14 -22
- package/dist/index.ssr.js +0 -16996
- 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
|
-
|
|
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
|
|
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() {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
get
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
get
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
get
|
|
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[
|
|
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:
|
|
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 (
|