@proyecto-viviana/solidaria-components 0.2.5 → 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/LICENSE +21 -0
- package/README.md +39 -272
- package/dist/ActionBar.d.ts +79 -0
- package/dist/ActionBar.d.ts.map +1 -0
- package/dist/ActionGroup.d.ts +74 -0
- package/dist/ActionGroup.d.ts.map +1 -0
- package/dist/Alert.d.ts +70 -0
- package/dist/Alert.d.ts.map +1 -0
- package/dist/Autocomplete.d.ts +5 -5
- package/dist/Autocomplete.d.ts.map +1 -1
- package/dist/Breadcrumbs.d.ts +27 -8
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Button.d.ts +28 -5
- package/dist/Button.d.ts.map +1 -1
- package/dist/Calendar.d.ts +51 -7
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Checkbox.d.ts +33 -8
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Collection.d.ts +130 -0
- package/dist/Collection.d.ts.map +1 -0
- package/dist/Color.d.ts +210 -9
- package/dist/Color.d.ts.map +1 -1
- package/dist/ColorEditor.d.ts +42 -0
- package/dist/ColorEditor.d.ts.map +1 -0
- package/dist/ComboBox.d.ts +146 -16
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ContextualHelpTrigger.d.ts +40 -0
- package/dist/ContextualHelpTrigger.d.ts.map +1 -0
- package/dist/DateField.d.ts +35 -8
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DatePicker.d.ts +101 -5
- 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 +25 -5
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/DragAndDrop.d.ts +80 -0
- package/dist/DragAndDrop.d.ts.map +1 -0
- package/dist/DragPreview.d.ts +14 -0
- package/dist/DragPreview.d.ts.map +1 -0
- package/dist/DropZone.d.ts +27 -0
- package/dist/DropZone.d.ts.map +1 -0
- package/dist/FieldError.d.ts +27 -0
- package/dist/FieldError.d.ts.map +1 -0
- package/dist/FileTrigger.d.ts +26 -0
- package/dist/FileTrigger.d.ts.map +1 -0
- package/dist/Focusable.d.ts +27 -0
- package/dist/Focusable.d.ts.map +1 -0
- package/dist/Form.d.ts +41 -0
- package/dist/Form.d.ts.map +1 -0
- package/dist/GridList.d.ts +69 -10
- 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 +57 -0
- package/dist/Icon.d.ts.map +1 -0
- package/dist/Keyboard.d.ts +13 -0
- package/dist/Keyboard.d.ts.map +1 -0
- 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 +73 -11
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListDropTargetDelegate.d.ts +38 -0
- package/dist/ListDropTargetDelegate.d.ts.map +1 -0
- package/dist/Menu.d.ts +79 -10
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Meter.d.ts +4 -4
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Modal.d.ts +6 -4
- package/dist/Modal.d.ts.map +1 -1
- package/dist/NumberField.d.ts +10 -12
- package/dist/NumberField.d.ts.map +1 -1
- package/dist/Popover.d.ts +32 -7
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Pressable.d.ts +27 -0
- package/dist/Pressable.d.ts.map +1 -0
- package/dist/ProgressBar.d.ts +6 -4
- 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 +39 -7
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RouterProvider.d.ts +75 -0
- package/dist/RouterProvider.d.ts.map +1 -0
- package/dist/SearchField.d.ts +23 -21
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/Select.d.ts +48 -7
- package/dist/Select.d.ts.map +1 -1
- package/dist/SelectionIndicator.d.ts +30 -0
- package/dist/SelectionIndicator.d.ts.map +1 -0
- package/dist/Separator.d.ts +9 -3
- package/dist/Separator.d.ts.map +1 -1
- package/dist/SharedElementTransition.d.ts +41 -0
- package/dist/SharedElementTransition.d.ts.map +1 -0
- package/dist/Slider.d.ts +15 -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 +222 -19
- package/dist/Table.d.ts.map +1 -1
- package/dist/Tabs.d.ts +47 -10
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/TagGroup.d.ts +22 -10
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/Text.d.ts +10 -0
- package/dist/Text.d.ts.map +1 -0
- package/dist/TextField.d.ts +19 -11
- package/dist/TextField.d.ts.map +1 -1
- package/dist/TimeField.d.ts +32 -7
- 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 +36 -0
- package/dist/ToggleButton.d.ts.map +1 -0
- package/dist/ToggleButtonGroup.d.ts +33 -0
- package/dist/ToggleButtonGroup.d.ts.map +1 -0
- package/dist/Toolbar.d.ts +7 -3
- package/dist/Toolbar.d.ts.map +1 -1
- package/dist/Tooltip.d.ts +58 -7
- package/dist/Tooltip.d.ts.map +1 -1
- package/dist/Tree.d.ts +102 -11
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Virtualizer.d.ts +61 -0
- package/dist/Virtualizer.d.ts.map +1 -0
- package/dist/VirtualizerLayouts.d.ts +82 -0
- package/dist/VirtualizerLayouts.d.ts.map +1 -0
- package/dist/VisuallyHidden.d.ts +4 -2
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/contexts.d.ts +6 -1
- package/dist/contexts.d.ts.map +1 -1
- package/dist/index.d.ts +73 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23342 -10644
- package/dist/index.js.map +1 -7
- package/dist/index.jsx +18110 -0
- package/dist/index.jsx.map +1 -0
- package/dist/useDragAndDrop.d.ts +93 -0
- package/dist/useDragAndDrop.d.ts.map +1 -0
- package/dist/utils.d.ts +8 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/virtualizer/Layout.d.ts +79 -0
- package/dist/virtualizer/Layout.d.ts.map +1 -0
- package/package.json +33 -32
- package/src/ActionBar.tsx +251 -0
- package/src/ActionGroup.tsx +277 -0
- package/src/Alert.tsx +152 -0
- package/src/Autocomplete.tsx +39 -44
- package/src/Breadcrumbs.tsx +227 -72
- package/src/Button.tsx +315 -74
- package/src/Calendar.tsx +347 -141
- package/src/Checkbox.tsx +414 -123
- package/src/Collection.tsx +350 -0
- package/src/Color.tsx +1325 -284
- package/src/ColorEditor.tsx +213 -0
- package/src/ComboBox.tsx +644 -245
- package/src/ContextualHelpTrigger.tsx +195 -0
- package/src/DateField.tsx +274 -106
- package/src/DatePicker.tsx +892 -111
- package/src/DateRangePickerContext.tsx +44 -0
- package/src/Dialog.tsx +173 -104
- package/src/Disclosure.tsx +158 -105
- package/src/DragAndDrop.tsx +340 -0
- package/src/DragPreview.tsx +47 -0
- package/src/DropZone.tsx +233 -0
- package/src/FieldError.tsx +89 -0
- package/src/FileTrigger.tsx +83 -0
- package/src/Focusable.tsx +103 -0
- package/src/Form.tsx +140 -0
- package/src/GridList.tsx +542 -128
- package/src/HiddenDateInput.tsx +153 -0
- package/src/HiddenTimeInput.tsx +133 -0
- package/src/Icon.tsx +133 -0
- package/src/Keyboard.tsx +26 -0
- package/src/Landmark.tsx +37 -63
- package/src/Link.tsx +132 -69
- package/src/ListBox.tsx +656 -106
- package/src/ListDropTargetDelegate.ts +283 -0
- package/src/Menu.tsx +1234 -132
- package/src/Meter.tsx +44 -58
- package/src/Modal.tsx +262 -166
- package/src/NumberField.tsx +267 -151
- package/src/Popover.tsx +452 -343
- package/src/Pressable.tsx +108 -0
- package/src/ProgressBar.tsx +54 -59
- package/src/RadioGroup.tsx +533 -121
- package/src/RangeCalendar.tsx +249 -150
- package/src/RouterProvider.tsx +223 -0
- package/src/SearchField.tsx +460 -133
- package/src/Select.tsx +804 -233
- package/src/SelectionIndicator.tsx +108 -0
- package/src/Separator.tsx +47 -49
- package/src/SharedElementTransition.tsx +264 -0
- package/src/Slider.tsx +148 -98
- package/src/StepList.tsx +272 -0
- package/src/Switch.tsx +93 -46
- package/src/Table.tsx +1551 -225
- package/src/Tabs.tsx +377 -123
- package/src/TagGroup.tsx +233 -135
- package/src/Text.tsx +18 -0
- package/src/TextField.tsx +413 -86
- package/src/TimeField.tsx +232 -222
- package/src/Toast.tsx +306 -160
- package/src/ToggleButton.tsx +169 -0
- package/src/ToggleButtonGroup.tsx +141 -0
- package/src/Toolbar.tsx +61 -70
- package/src/Tooltip.tsx +473 -116
- package/src/Tree.tsx +1514 -175
- package/src/Virtualizer.tsx +730 -0
- package/src/VirtualizerLayouts.ts +280 -0
- package/src/VisuallyHidden.tsx +32 -38
- package/src/contexts.ts +29 -36
- package/src/index.ts +972 -620
- package/src/useDragAndDrop.ts +367 -0
- package/src/utils.tsx +69 -50
- package/src/virtualizer/Layout.ts +192 -0
- package/dist/index.ssr.js +0 -9785
- package/dist/index.ssr.js.map +0 -7
package/src/Link.tsx
CHANGED
|
@@ -5,21 +5,15 @@
|
|
|
5
5
|
* Port of react-aria-components/src/Link.tsx
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
type ParentProps,
|
|
11
|
-
createContext,
|
|
12
|
-
createMemo,
|
|
13
|
-
splitProps,
|
|
14
|
-
} from 'solid-js';
|
|
15
|
-
import { Dynamic } from 'solid-js/web';
|
|
8
|
+
import { type JSX, type ParentProps, createContext, createMemo, splitProps } from "solid-js";
|
|
9
|
+
import { Dynamic } from "solid-js/web";
|
|
16
10
|
import {
|
|
17
11
|
createLink,
|
|
18
12
|
createFocusRing,
|
|
19
13
|
createHover,
|
|
20
14
|
type AriaLinkProps,
|
|
21
15
|
type HoverEvents,
|
|
22
|
-
} from
|
|
16
|
+
} from "@proyecto-viviana/solidaria";
|
|
23
17
|
import {
|
|
24
18
|
type RenderChildren,
|
|
25
19
|
type ClassNameOrFunction,
|
|
@@ -27,11 +21,19 @@ import {
|
|
|
27
21
|
type SlotProps,
|
|
28
22
|
useRenderProps,
|
|
29
23
|
filterDOMProps,
|
|
30
|
-
} from
|
|
24
|
+
} from "./utils";
|
|
25
|
+
import { handleLinkClick, useRouter } from "./RouterProvider";
|
|
26
|
+
|
|
27
|
+
type RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;
|
|
31
28
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
function assignRef<T>(ref: RefLike<T>, el: T): void {
|
|
30
|
+
if (!ref) return;
|
|
31
|
+
if (typeof ref === "function") {
|
|
32
|
+
ref(el);
|
|
33
|
+
} else {
|
|
34
|
+
ref.current = el;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
35
37
|
|
|
36
38
|
export interface LinkRenderProps {
|
|
37
39
|
/** Whether the link is the current item within a list. */
|
|
@@ -48,28 +50,19 @@ export interface LinkRenderProps {
|
|
|
48
50
|
isDisabled: boolean;
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
export interface LinkProps
|
|
52
|
-
extends Omit<AriaLinkProps, 'elementType'>,
|
|
53
|
-
HoverEvents,
|
|
54
|
-
SlotProps {
|
|
53
|
+
export interface LinkProps extends Omit<AriaLinkProps, "elementType">, HoverEvents, SlotProps {
|
|
55
54
|
/** The children of the component. A function may be provided to receive render props. */
|
|
56
55
|
children?: RenderChildren<LinkRenderProps>;
|
|
57
56
|
/** The CSS className for the element. */
|
|
58
57
|
class?: ClassNameOrFunction<LinkRenderProps>;
|
|
59
58
|
/** The inline style for the element. */
|
|
60
59
|
style?: StyleOrFunction<LinkRenderProps>;
|
|
60
|
+
/** Ref for the underlying link element. */
|
|
61
|
+
ref?: RefLike<HTMLElement>;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
// ============================================
|
|
64
|
-
// CONTEXT
|
|
65
|
-
// ============================================
|
|
66
|
-
|
|
67
64
|
export const LinkContext = createContext<LinkProps | null>(null);
|
|
68
65
|
|
|
69
|
-
// ============================================
|
|
70
|
-
// LINK COMPONENT
|
|
71
|
-
// ============================================
|
|
72
|
-
|
|
73
66
|
/**
|
|
74
67
|
* A link allows a user to navigate to another page or resource within a web page
|
|
75
68
|
* or application.
|
|
@@ -90,60 +83,124 @@ export const LinkContext = createContext<LinkProps | null>(null);
|
|
|
90
83
|
*/
|
|
91
84
|
export function Link(props: ParentProps<LinkProps>): JSX.Element {
|
|
92
85
|
const [local, ariaProps] = splitProps(props, [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
86
|
+
"children",
|
|
87
|
+
"class",
|
|
88
|
+
"style",
|
|
89
|
+
"ref",
|
|
90
|
+
"slot",
|
|
91
|
+
"onHoverStart",
|
|
92
|
+
"onHoverEnd",
|
|
93
|
+
"onHoverChange",
|
|
100
94
|
]);
|
|
95
|
+
const router = useRouter();
|
|
96
|
+
const resolvedHref = createMemo(() =>
|
|
97
|
+
ariaProps.href ? router.useHref(ariaProps.href) : undefined,
|
|
98
|
+
);
|
|
101
99
|
|
|
102
|
-
// Determine element type - use 'a' if href is provided and not disabled
|
|
103
100
|
const elementType = () => {
|
|
104
101
|
if (ariaProps.href && !ariaProps.isDisabled) {
|
|
105
|
-
return
|
|
102
|
+
return "a";
|
|
106
103
|
}
|
|
107
|
-
return
|
|
104
|
+
return "span";
|
|
108
105
|
};
|
|
109
106
|
|
|
110
|
-
// Create link aria props
|
|
111
107
|
const linkAria = createLink({
|
|
112
|
-
get elementType() {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
get
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
get
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
get
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
get
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
get
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
get
|
|
108
|
+
get elementType() {
|
|
109
|
+
return elementType();
|
|
110
|
+
},
|
|
111
|
+
get isDisabled() {
|
|
112
|
+
return ariaProps.isDisabled;
|
|
113
|
+
},
|
|
114
|
+
get href() {
|
|
115
|
+
return resolvedHref();
|
|
116
|
+
},
|
|
117
|
+
get hrefLang() {
|
|
118
|
+
return ariaProps.hrefLang;
|
|
119
|
+
},
|
|
120
|
+
get target() {
|
|
121
|
+
return ariaProps.target;
|
|
122
|
+
},
|
|
123
|
+
get rel() {
|
|
124
|
+
return ariaProps.rel;
|
|
125
|
+
},
|
|
126
|
+
get download() {
|
|
127
|
+
return ariaProps.download;
|
|
128
|
+
},
|
|
129
|
+
get ping() {
|
|
130
|
+
return ariaProps.ping;
|
|
131
|
+
},
|
|
132
|
+
get referrerPolicy() {
|
|
133
|
+
return ariaProps.referrerPolicy;
|
|
134
|
+
},
|
|
135
|
+
get onPress() {
|
|
136
|
+
return ariaProps.onPress;
|
|
137
|
+
},
|
|
138
|
+
get onPressStart() {
|
|
139
|
+
return ariaProps.onPressStart;
|
|
140
|
+
},
|
|
141
|
+
get onPressEnd() {
|
|
142
|
+
return ariaProps.onPressEnd;
|
|
143
|
+
},
|
|
144
|
+
get onPressUp() {
|
|
145
|
+
return ariaProps.onPressUp;
|
|
146
|
+
},
|
|
147
|
+
get onPressChange() {
|
|
148
|
+
return ariaProps.onPressChange;
|
|
149
|
+
},
|
|
150
|
+
get onClick() {
|
|
151
|
+
return ariaProps.onClick;
|
|
152
|
+
},
|
|
153
|
+
get onFocus() {
|
|
154
|
+
return ariaProps.onFocus;
|
|
155
|
+
},
|
|
156
|
+
get onBlur() {
|
|
157
|
+
return ariaProps.onBlur;
|
|
158
|
+
},
|
|
159
|
+
get onFocusChange() {
|
|
160
|
+
return ariaProps.onFocusChange;
|
|
161
|
+
},
|
|
162
|
+
get onKeyDown() {
|
|
163
|
+
return ariaProps.onKeyDown;
|
|
164
|
+
},
|
|
165
|
+
get onKeyUp() {
|
|
166
|
+
return ariaProps.onKeyUp;
|
|
167
|
+
},
|
|
168
|
+
get autoFocus() {
|
|
169
|
+
return ariaProps.autoFocus;
|
|
170
|
+
},
|
|
171
|
+
get "aria-current"() {
|
|
172
|
+
return ariaProps["aria-current"];
|
|
173
|
+
},
|
|
174
|
+
get "aria-label"() {
|
|
175
|
+
return ariaProps["aria-label"];
|
|
176
|
+
},
|
|
177
|
+
get "aria-labelledby"() {
|
|
178
|
+
return ariaProps["aria-labelledby"];
|
|
179
|
+
},
|
|
180
|
+
get "aria-describedby"() {
|
|
181
|
+
return ariaProps["aria-describedby"];
|
|
182
|
+
},
|
|
131
183
|
});
|
|
132
184
|
|
|
133
|
-
// Create focus ring
|
|
134
185
|
const { isFocused, isFocusVisible, focusProps } = createFocusRing();
|
|
135
186
|
|
|
136
|
-
// Create hover
|
|
137
187
|
const { isHovered, hoverProps } = createHover({
|
|
138
|
-
get isDisabled() {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
get
|
|
188
|
+
get isDisabled() {
|
|
189
|
+
return ariaProps.isDisabled ?? false;
|
|
190
|
+
},
|
|
191
|
+
get onHoverStart() {
|
|
192
|
+
return local.onHoverStart;
|
|
193
|
+
},
|
|
194
|
+
get onHoverEnd() {
|
|
195
|
+
return local.onHoverEnd;
|
|
196
|
+
},
|
|
197
|
+
get onHoverChange() {
|
|
198
|
+
return local.onHoverChange;
|
|
199
|
+
},
|
|
142
200
|
});
|
|
143
201
|
|
|
144
|
-
// Render props values
|
|
145
202
|
const renderValues = createMemo<LinkRenderProps>(() => ({
|
|
146
|
-
isCurrent: !!ariaProps[
|
|
203
|
+
isCurrent: !!ariaProps["aria-current"],
|
|
147
204
|
isHovered: isHovered(),
|
|
148
205
|
isPressed: linkAria.isPressed(),
|
|
149
206
|
isFocused: isFocused(),
|
|
@@ -151,21 +208,18 @@ export function Link(props: ParentProps<LinkProps>): JSX.Element {
|
|
|
151
208
|
isDisabled: ariaProps.isDisabled ?? false,
|
|
152
209
|
}));
|
|
153
210
|
|
|
154
|
-
// Resolve render props
|
|
155
211
|
const renderProps = useRenderProps(
|
|
156
212
|
{
|
|
157
213
|
children: props.children,
|
|
158
214
|
class: local.class,
|
|
159
215
|
style: local.style,
|
|
160
|
-
defaultClassName:
|
|
216
|
+
defaultClassName: "solidaria-Link",
|
|
161
217
|
},
|
|
162
|
-
renderValues
|
|
218
|
+
renderValues,
|
|
163
219
|
);
|
|
164
220
|
|
|
165
|
-
// Filter DOM props
|
|
166
221
|
const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
|
|
167
222
|
|
|
168
|
-
// Remove ref from spread props to avoid type conflicts
|
|
169
223
|
const cleanLinkProps = () => {
|
|
170
224
|
const { ref: _ref1, ...rest } = linkAria.linkProps as Record<string, unknown>;
|
|
171
225
|
return rest;
|
|
@@ -178,6 +232,11 @@ export function Link(props: ParentProps<LinkProps>): JSX.Element {
|
|
|
178
232
|
const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;
|
|
179
233
|
return rest;
|
|
180
234
|
};
|
|
235
|
+
const onLinkClick = (event: MouseEvent) => {
|
|
236
|
+
const onClick = cleanLinkProps().onClick as ((event: MouseEvent) => void) | undefined;
|
|
237
|
+
onClick?.(event);
|
|
238
|
+
handleLinkClick(event, router, ariaProps.href, ariaProps.routerOptions);
|
|
239
|
+
};
|
|
181
240
|
|
|
182
241
|
return (
|
|
183
242
|
<Dynamic
|
|
@@ -186,13 +245,17 @@ export function Link(props: ParentProps<LinkProps>): JSX.Element {
|
|
|
186
245
|
{...cleanLinkProps()}
|
|
187
246
|
{...cleanHoverProps()}
|
|
188
247
|
{...cleanFocusProps()}
|
|
248
|
+
ref={(element: HTMLElement) => {
|
|
249
|
+
assignRef(local.ref, element);
|
|
250
|
+
}}
|
|
251
|
+
onClick={onLinkClick}
|
|
189
252
|
class={renderProps.class()}
|
|
190
253
|
style={renderProps.style()}
|
|
191
254
|
data-hovered={isHovered() || undefined}
|
|
192
255
|
data-pressed={linkAria.isPressed() || undefined}
|
|
193
256
|
data-focused={isFocused() || undefined}
|
|
194
257
|
data-focus-visible={isFocusVisible() || undefined}
|
|
195
|
-
data-current={!!ariaProps[
|
|
258
|
+
data-current={!!ariaProps["aria-current"] || undefined}
|
|
196
259
|
data-disabled={ariaProps.isDisabled || undefined}
|
|
197
260
|
>
|
|
198
261
|
{renderProps.renderChildren()}
|