@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/Pressable.tsx
CHANGED
|
@@ -5,17 +5,19 @@
|
|
|
5
5
|
* to make an element pressable. Port of React Aria's Pressable.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
type JSX,
|
|
10
|
+
children as resolveChildren,
|
|
11
|
+
createEffect,
|
|
12
|
+
onCleanup,
|
|
13
|
+
splitProps,
|
|
14
|
+
} from "solid-js";
|
|
9
15
|
import {
|
|
10
16
|
createPress,
|
|
11
17
|
createFocusable,
|
|
12
18
|
type CreatePressProps,
|
|
13
19
|
type CreateFocusableProps,
|
|
14
|
-
} from
|
|
15
|
-
|
|
16
|
-
// ============================================
|
|
17
|
-
// TYPES
|
|
18
|
-
// ============================================
|
|
20
|
+
} from "@proyecto-viviana/solidaria";
|
|
19
21
|
|
|
20
22
|
export interface PressableProps extends CreatePressProps {
|
|
21
23
|
/** A single child element to make pressable. */
|
|
@@ -24,10 +26,6 @@ export interface PressableProps extends CreatePressProps {
|
|
|
24
26
|
ref?: HTMLElement | ((el: HTMLElement) => void);
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
// ============================================
|
|
28
|
-
// COMPONENT
|
|
29
|
-
// ============================================
|
|
30
|
-
|
|
31
29
|
/**
|
|
32
30
|
* Makes its child element pressable and focusable.
|
|
33
31
|
* Combines createPress and createFocusable for full interaction support.
|
|
@@ -40,11 +38,14 @@ export interface PressableProps extends CreatePressProps {
|
|
|
40
38
|
* ```
|
|
41
39
|
*/
|
|
42
40
|
export function Pressable(props: PressableProps): JSX.Element {
|
|
43
|
-
const [local, pressProps] = splitProps(props, [
|
|
41
|
+
const [local, pressProps] = splitProps(props, ["children", "ref"]);
|
|
44
42
|
|
|
45
43
|
let ref!: HTMLElement;
|
|
46
44
|
const { pressProps: domPressProps } = createPress(pressProps);
|
|
47
|
-
const { focusableProps: domFocusableProps } = createFocusable(
|
|
45
|
+
const { focusableProps: domFocusableProps } = createFocusable(
|
|
46
|
+
pressProps as CreateFocusableProps,
|
|
47
|
+
() => ref,
|
|
48
|
+
);
|
|
48
49
|
|
|
49
50
|
const resolved = resolveChildren(() => local.children);
|
|
50
51
|
|
|
@@ -52,8 +53,7 @@ export function Pressable(props: PressableProps): JSX.Element {
|
|
|
52
53
|
const child = resolved() as HTMLElement;
|
|
53
54
|
if (child instanceof HTMLElement) {
|
|
54
55
|
ref = child;
|
|
55
|
-
|
|
56
|
-
if (typeof local.ref === 'function') {
|
|
56
|
+
if (typeof local.ref === "function") {
|
|
57
57
|
local.ref(child);
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -61,7 +61,7 @@ export function Pressable(props: PressableProps): JSX.Element {
|
|
|
61
61
|
const allProps = { ...domFocusableProps, ...domPressProps };
|
|
62
62
|
const listeners: Array<[string, EventListener]> = [];
|
|
63
63
|
for (const [key, handler] of Object.entries(allProps)) {
|
|
64
|
-
if (key.startsWith(
|
|
64
|
+
if (key.startsWith("on") && typeof handler === "function") {
|
|
65
65
|
const eventName = key.slice(2).toLowerCase();
|
|
66
66
|
const listener = handler as EventListener;
|
|
67
67
|
child.addEventListener(eventName, listener);
|
|
@@ -72,24 +72,24 @@ export function Pressable(props: PressableProps): JSX.Element {
|
|
|
72
72
|
// Apply non-event press/focusable props (e.g. tabIndex/data attrs).
|
|
73
73
|
// Keep explicit child tabIndex to mirror mergeProps(child.props precedence).
|
|
74
74
|
for (const [key, value] of Object.entries(allProps)) {
|
|
75
|
-
if (key ===
|
|
75
|
+
if (key === "ref" || (key.startsWith("on") && typeof value === "function")) continue;
|
|
76
76
|
|
|
77
|
-
if (key ===
|
|
78
|
-
if (child.hasAttribute(
|
|
77
|
+
if (key === "tabIndex") {
|
|
78
|
+
if (child.hasAttribute("tabindex")) continue;
|
|
79
79
|
if (value == null || value === false) {
|
|
80
|
-
child.removeAttribute(
|
|
80
|
+
child.removeAttribute("tabindex");
|
|
81
81
|
} else {
|
|
82
82
|
child.tabIndex = Number(value);
|
|
83
83
|
}
|
|
84
84
|
continue;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
if (key.startsWith(
|
|
87
|
+
if (key.startsWith("aria-") || key.startsWith("data-") || key === "id" || key === "role") {
|
|
88
88
|
if (child.hasAttribute(key)) continue;
|
|
89
89
|
if (value == null || value === false) {
|
|
90
90
|
child.removeAttribute(key);
|
|
91
91
|
} else if (value === true) {
|
|
92
|
-
child.setAttribute(key,
|
|
92
|
+
child.setAttribute(key, "");
|
|
93
93
|
} else {
|
|
94
94
|
child.setAttribute(key, String(value));
|
|
95
95
|
}
|
package/src/ProgressBar.tsx
CHANGED
|
@@ -5,16 +5,8 @@
|
|
|
5
5
|
* Port of react-aria-components/src/ProgressBar.tsx
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
createContext,
|
|
11
|
-
createMemo,
|
|
12
|
-
splitProps,
|
|
13
|
-
} from 'solid-js';
|
|
14
|
-
import {
|
|
15
|
-
createProgressBar,
|
|
16
|
-
type AriaProgressBarProps,
|
|
17
|
-
} from '@proyecto-viviana/solidaria';
|
|
8
|
+
import { type JSX, createContext, createMemo, mergeProps, splitProps, useContext } from "solid-js";
|
|
9
|
+
import { createProgressBar, type AriaProgressBarProps } from "@proyecto-viviana/solidaria";
|
|
18
10
|
import {
|
|
19
11
|
type RenderChildren,
|
|
20
12
|
type ClassNameOrFunction,
|
|
@@ -22,11 +14,7 @@ import {
|
|
|
22
14
|
type SlotProps,
|
|
23
15
|
useRenderProps,
|
|
24
16
|
filterDOMProps,
|
|
25
|
-
} from
|
|
26
|
-
|
|
27
|
-
// ============================================
|
|
28
|
-
// TYPES
|
|
29
|
-
// ============================================
|
|
17
|
+
} from "./utils";
|
|
30
18
|
|
|
31
19
|
export interface ProgressBarRenderProps {
|
|
32
20
|
/** The value as a percentage between the minimum and maximum (0-100). */
|
|
@@ -37,9 +25,9 @@ export interface ProgressBarRenderProps {
|
|
|
37
25
|
isIndeterminate: boolean;
|
|
38
26
|
}
|
|
39
27
|
|
|
40
|
-
export interface ProgressBarProps
|
|
41
|
-
|
|
42
|
-
|
|
28
|
+
export interface ProgressBarProps extends AriaProgressBarProps, SlotProps {
|
|
29
|
+
/** The element id. */
|
|
30
|
+
id?: string;
|
|
43
31
|
/** The children of the component. A function may be provided to receive render props. */
|
|
44
32
|
children?: RenderChildren<ProgressBarRenderProps>;
|
|
45
33
|
/** The CSS className for the element. */
|
|
@@ -48,16 +36,8 @@ export interface ProgressBarProps
|
|
|
48
36
|
style?: StyleOrFunction<ProgressBarRenderProps>;
|
|
49
37
|
}
|
|
50
38
|
|
|
51
|
-
// ============================================
|
|
52
|
-
// CONTEXT
|
|
53
|
-
// ============================================
|
|
54
|
-
|
|
55
39
|
export const ProgressBarContext = createContext<ProgressBarProps | null>(null);
|
|
56
40
|
|
|
57
|
-
// ============================================
|
|
58
|
-
// UTILITIES
|
|
59
|
-
// ============================================
|
|
60
|
-
|
|
61
41
|
function clamp(value: number, min: number, max: number): number {
|
|
62
42
|
return Math.min(Math.max(value, min), max);
|
|
63
43
|
}
|
|
@@ -67,10 +47,6 @@ function getSafeRange(min: number, max: number): number {
|
|
|
67
47
|
return Number.isFinite(range) && range > 0 ? range : 1;
|
|
68
48
|
}
|
|
69
49
|
|
|
70
|
-
// ============================================
|
|
71
|
-
// PROGRESSBAR COMPONENT
|
|
72
|
-
// ============================================
|
|
73
|
-
|
|
74
50
|
/**
|
|
75
51
|
* Progress bars show either determinate or indeterminate progress of an operation
|
|
76
52
|
* over time.
|
|
@@ -89,35 +65,54 @@ function getSafeRange(min: number, max: number): number {
|
|
|
89
65
|
* ```
|
|
90
66
|
*/
|
|
91
67
|
export function ProgressBar(props: ProgressBarProps): JSX.Element {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
'style',
|
|
96
|
-
'slot',
|
|
97
|
-
]);
|
|
68
|
+
const contextProps = useContext(ProgressBarContext);
|
|
69
|
+
const mergedProps = contextProps ? mergeProps(contextProps, props) : props;
|
|
70
|
+
const [local, ariaProps] = splitProps(mergedProps, ["children", "class", "style", "slot"]);
|
|
98
71
|
|
|
99
|
-
// Get values for calculations
|
|
100
72
|
const value = () => ariaProps.value ?? 0;
|
|
101
73
|
const minValue = () => ariaProps.minValue ?? 0;
|
|
102
74
|
const maxValue = () => ariaProps.maxValue ?? 100;
|
|
103
75
|
const isIndeterminate = () => ariaProps.isIndeterminate ?? false;
|
|
104
76
|
|
|
105
|
-
// Create progress bar aria props
|
|
106
77
|
const progressAria = createProgressBar({
|
|
107
|
-
get
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
get
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
get
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
get
|
|
117
|
-
|
|
78
|
+
get id() {
|
|
79
|
+
return ariaProps.id;
|
|
80
|
+
},
|
|
81
|
+
get value() {
|
|
82
|
+
return ariaProps.value;
|
|
83
|
+
},
|
|
84
|
+
get minValue() {
|
|
85
|
+
return ariaProps.minValue;
|
|
86
|
+
},
|
|
87
|
+
get maxValue() {
|
|
88
|
+
return ariaProps.maxValue;
|
|
89
|
+
},
|
|
90
|
+
get valueLabel() {
|
|
91
|
+
return ariaProps.valueLabel;
|
|
92
|
+
},
|
|
93
|
+
get isIndeterminate() {
|
|
94
|
+
return ariaProps.isIndeterminate;
|
|
95
|
+
},
|
|
96
|
+
get formatOptions() {
|
|
97
|
+
return ariaProps.formatOptions;
|
|
98
|
+
},
|
|
99
|
+
get label() {
|
|
100
|
+
return ariaProps.label;
|
|
101
|
+
},
|
|
102
|
+
get "aria-label"() {
|
|
103
|
+
return ariaProps["aria-label"];
|
|
104
|
+
},
|
|
105
|
+
get "aria-labelledby"() {
|
|
106
|
+
return ariaProps["aria-labelledby"];
|
|
107
|
+
},
|
|
108
|
+
get "aria-describedby"() {
|
|
109
|
+
return ariaProps["aria-describedby"];
|
|
110
|
+
},
|
|
111
|
+
get "aria-details"() {
|
|
112
|
+
return ariaProps["aria-details"];
|
|
113
|
+
},
|
|
118
114
|
});
|
|
119
115
|
|
|
120
|
-
// Calculate percentage
|
|
121
116
|
const percentage = createMemo(() => {
|
|
122
117
|
if (isIndeterminate()) {
|
|
123
118
|
return undefined;
|
|
@@ -126,30 +121,26 @@ export function ProgressBar(props: ProgressBarProps): JSX.Element {
|
|
|
126
121
|
return ((clampedValue - minValue()) / getSafeRange(minValue(), maxValue())) * 100;
|
|
127
122
|
});
|
|
128
123
|
|
|
129
|
-
// Get value text from aria props
|
|
130
124
|
const valueText = createMemo(() => {
|
|
131
|
-
return progressAria.progressBarProps[
|
|
125
|
+
return progressAria.progressBarProps["aria-valuetext"] as string | undefined;
|
|
132
126
|
});
|
|
133
127
|
|
|
134
|
-
// Render props values
|
|
135
128
|
const renderValues = createMemo<ProgressBarRenderProps>(() => ({
|
|
136
129
|
percentage: percentage(),
|
|
137
130
|
valueText: valueText(),
|
|
138
131
|
isIndeterminate: isIndeterminate(),
|
|
139
132
|
}));
|
|
140
133
|
|
|
141
|
-
// Resolve render props
|
|
142
134
|
const renderProps = useRenderProps(
|
|
143
135
|
{
|
|
144
136
|
children: props.children,
|
|
145
137
|
class: local.class,
|
|
146
138
|
style: local.style,
|
|
147
|
-
defaultClassName:
|
|
139
|
+
defaultClassName: "solidaria-ProgressBar",
|
|
148
140
|
},
|
|
149
|
-
renderValues
|
|
141
|
+
renderValues,
|
|
150
142
|
);
|
|
151
143
|
|
|
152
|
-
// Filter DOM props
|
|
153
144
|
const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
|
|
154
145
|
|
|
155
146
|
return (
|