@andrilla/mado-ui 1.0.2 → 1.0.5
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/dist/{client.cjs → client/components/index.js} +916 -1525
- package/dist/client/graphics/index.js +450 -0
- package/dist/{client.esm.js → client.js} +1048 -536
- package/dist/{index.cjs → components/index.js} +916 -1525
- package/dist/graphics/index.js +449 -0
- package/dist/hooks/index.js +174 -0
- package/dist/{mado-ui.esm.js → index.js} +1048 -536
- package/dist/types/index.ts +0 -0
- package/dist/utils/index.js +622 -0
- package/package.json +34 -9
- package/dist/css/index.css +0 -4561
|
@@ -1,55 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
12
|
-
key = keys[i];
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
14
|
-
__defProp(to, key, {
|
|
15
|
-
get: ((k) => from[k]).bind(null, key),
|
|
16
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return to;
|
|
22
|
-
};
|
|
23
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
-
value: mod,
|
|
25
|
-
enumerable: true
|
|
26
|
-
}) : target, mod));
|
|
27
|
-
|
|
28
|
-
//#endregion
|
|
29
|
-
let tailwind_merge = require("tailwind-merge");
|
|
30
|
-
let _headlessui_react = require("@headlessui/react");
|
|
31
|
-
let react = require("react");
|
|
32
|
-
react = __toESM(react);
|
|
33
|
-
let react_dom = require("react-dom");
|
|
34
|
-
react_dom = __toESM(react_dom);
|
|
1
|
+
import { extendTailwindMerge, twJoin } from "tailwind-merge";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button as Button$1, Checkbox as Checkbox$1, Description, Dialog, DialogBackdrop, DialogPanel, DialogTitle, Disclosure, DisclosureButton, DisclosurePanel, Field, Fieldset as Fieldset$1, Input as Input$1, Label, Legend, Listbox, ListboxButton, ListboxOption, ListboxOptions, ListboxSelectedOption, Menu, MenuButton, MenuHeading, MenuItem, MenuItems, MenuSection, MenuSeparator, Textarea as Textarea$1 } from "@headlessui/react";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Children, cloneElement, createContext, isValidElement, useContext, useEffect, useEffectEvent, useId, useLayoutEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
6
|
+
import * as ReactDOM from "react-dom";
|
|
7
|
+
import { createPortal } from "react-dom";
|
|
35
8
|
|
|
36
9
|
//#region src/utils/custom-tailwind-merge.ts
|
|
37
10
|
const integerList = Array.from({ length: 100 }, (_, i) => `${i + 1}`);
|
|
38
|
-
const twMerge =
|
|
39
|
-
animate: [{ animate: [
|
|
40
|
-
"bounce",
|
|
41
|
-
"double-spin",
|
|
42
|
-
"drop-in",
|
|
43
|
-
"flip",
|
|
44
|
-
"flip-again",
|
|
45
|
-
"grid-rows",
|
|
46
|
-
"heartbeat",
|
|
47
|
-
"ping",
|
|
48
|
-
"pulse",
|
|
49
|
-
"slide-up",
|
|
50
|
-
"spin",
|
|
51
|
-
"wave"
|
|
52
|
-
] }],
|
|
11
|
+
const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
12
|
+
animate: [{ animate: ["fade-in", "wave"] }],
|
|
53
13
|
"animation-direction": [{ "animation-direction": [
|
|
54
14
|
"normal",
|
|
55
15
|
"reverse",
|
|
@@ -68,74 +28,6 @@ const twMerge = (0, tailwind_merge.extendTailwindMerge)({ extend: { classGroups:
|
|
|
68
28
|
"grid-rows": [{ "grid-rows": ["0fr", "1fr"] }],
|
|
69
29
|
transition: ["transition-rows"]
|
|
70
30
|
} } });
|
|
71
|
-
function extendMadoTailwindMerge(configExtension) {
|
|
72
|
-
const extend = configExtension.extend || {};
|
|
73
|
-
const theme = extend.theme || {};
|
|
74
|
-
const color = "color" in theme ? theme.color : [];
|
|
75
|
-
const classGroups = extend.classGroups || {};
|
|
76
|
-
const themeRest = { ...theme };
|
|
77
|
-
if ("color" in themeRest) delete themeRest.color;
|
|
78
|
-
const extendRest = { ...extend };
|
|
79
|
-
delete extendRest.theme;
|
|
80
|
-
delete extendRest.classGroups;
|
|
81
|
-
return (0, tailwind_merge.extendTailwindMerge)({
|
|
82
|
-
extend: {
|
|
83
|
-
theme: {
|
|
84
|
-
color: [{ ui: [
|
|
85
|
-
"red",
|
|
86
|
-
"orange",
|
|
87
|
-
"yellow",
|
|
88
|
-
"green",
|
|
89
|
-
"sky-blue",
|
|
90
|
-
"blue",
|
|
91
|
-
"violet",
|
|
92
|
-
"magenta",
|
|
93
|
-
"purple",
|
|
94
|
-
"brown",
|
|
95
|
-
"grey",
|
|
96
|
-
"pink"
|
|
97
|
-
] }, ...color],
|
|
98
|
-
...themeRest
|
|
99
|
-
},
|
|
100
|
-
classGroups: {
|
|
101
|
-
animate: [{ animate: [
|
|
102
|
-
"bounce",
|
|
103
|
-
"double-spin",
|
|
104
|
-
"drop-in",
|
|
105
|
-
"flip",
|
|
106
|
-
"flip-again",
|
|
107
|
-
"grid-rows",
|
|
108
|
-
"heartbeat",
|
|
109
|
-
"ping",
|
|
110
|
-
"pulse",
|
|
111
|
-
"slide-up",
|
|
112
|
-
"spin",
|
|
113
|
-
"wave"
|
|
114
|
-
] }],
|
|
115
|
-
"animation-direction": [{ "animation-direction": [
|
|
116
|
-
"normal",
|
|
117
|
-
"reverse",
|
|
118
|
-
"alternate",
|
|
119
|
-
"alternate-reverse"
|
|
120
|
-
] }],
|
|
121
|
-
"animation-fill": [{ "animation-fill": [
|
|
122
|
-
"none",
|
|
123
|
-
"forwards",
|
|
124
|
-
"backwards",
|
|
125
|
-
"both"
|
|
126
|
-
] }],
|
|
127
|
-
"animation-iteration": [{ "animation-iteration": [...integerList, "infinite"] }],
|
|
128
|
-
"animation-state": [{ "animation-state": ["running", "paused"] }],
|
|
129
|
-
"grid-cols": [{ "grid-cols": ["0fr", "1fr"] }],
|
|
130
|
-
"grid-rows": [{ "grid-rows": ["0fr", "1fr"] }],
|
|
131
|
-
transition: ["transition-rows"],
|
|
132
|
-
...classGroups
|
|
133
|
-
},
|
|
134
|
-
...extendRest
|
|
135
|
-
},
|
|
136
|
-
...configExtension
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
31
|
|
|
140
32
|
//#endregion
|
|
141
33
|
//#region src/components/link.tsx
|
|
@@ -146,116 +38,123 @@ function Anchor({ as, className, disabled, href, onClick, target, rel, ...props
|
|
|
146
38
|
onClick?.(e);
|
|
147
39
|
setTimeout(() => history.replaceState({}, document.title, location.pathname), 100);
|
|
148
40
|
};
|
|
149
|
-
|
|
150
|
-
|
|
41
|
+
return /* @__PURE__ */ jsx(as || "a", {
|
|
42
|
+
...props,
|
|
43
|
+
"aria-disabled": disabled,
|
|
44
|
+
className: twMerge("ease-exponential inline-block transition-transform duration-300 active:scale-95 pointer-fine:active:scale-95", className, disabled && "pointer-events-none"),
|
|
45
|
+
href,
|
|
46
|
+
target: target || (isExternal ? "_blank" : "_self"),
|
|
47
|
+
onClick: hasHash ? handleClick : onClick,
|
|
48
|
+
rel: rel !== void 0 ? rel === "nofollow" ? `${rel} noreferrer noopener` : `${rel} prefetch` : isExternal ? "nofollow noreferrer noopener" : "prefetch"
|
|
49
|
+
});
|
|
151
50
|
}
|
|
152
51
|
const baseClasses = "isolate after:absolute after:left-1/2 after:-z-10 after:-translate-x-1/2 after:duration-500 active:after:opacity-100 pointer-fine:active:after:opacity-100";
|
|
153
|
-
const lineStaticClasses =
|
|
154
|
-
const lineClasses =
|
|
52
|
+
const lineStaticClasses = twJoin(baseClasses, "whitespace-nowrap after:-bottom-0.5 after:w-[calc(100%+0.15rem)] after:rounded-full after:border after:border-current");
|
|
53
|
+
const lineClasses = twJoin(lineStaticClasses, "whitespace-nowrap after:transition-transform after:ease-exponential");
|
|
155
54
|
const scaleXClasses = "after:scale-x-0 active:after:scale-x-100 pointer-fine:hover:after:scale-x-100 pointer-fine:active:after:scale-x-100";
|
|
156
55
|
const scaleYClasses = "after:scale-y-0 active:after:scale-y-100 pointer-fine:hover:after:scale-y-100 pointer-fine:active:after:scale-y-100";
|
|
157
|
-
const lineNormalClasses =
|
|
56
|
+
const lineNormalClasses = twJoin([
|
|
158
57
|
lineClasses,
|
|
159
58
|
scaleYClasses,
|
|
160
59
|
"after:origin-bottom after:translate-y-0.5 active:after:translate-y-0 pointer-fine:hover:after:translate-y-0"
|
|
161
60
|
]);
|
|
162
|
-
const lineLtrClasses =
|
|
61
|
+
const lineLtrClasses = twJoin([
|
|
163
62
|
lineClasses,
|
|
164
63
|
scaleXClasses,
|
|
165
64
|
"after:origin-left"
|
|
166
65
|
]);
|
|
167
|
-
const lineRtlClasses =
|
|
66
|
+
const lineRtlClasses = twJoin([
|
|
168
67
|
lineClasses,
|
|
169
68
|
scaleXClasses,
|
|
170
69
|
"after:origin-right"
|
|
171
70
|
]);
|
|
172
|
-
const lineCenterClasses =
|
|
173
|
-
const lineLiftClasses =
|
|
71
|
+
const lineCenterClasses = twJoin([lineClasses, scaleXClasses]);
|
|
72
|
+
const lineLiftClasses = twJoin([
|
|
174
73
|
lineClasses,
|
|
175
74
|
scaleYClasses,
|
|
176
75
|
"after:origin-bottom after:translate-y-1 after:scale-x-75 active:after:translate-y-0 active:after:scale-x-100 pointer-fine:hover:after:translate-y-0 pointer-fine:hover:after:scale-x-100 pointer-fine:active:after:translate-y-0 pointer-fine:active:after:scale-x-100"
|
|
177
76
|
]);
|
|
178
|
-
const fillClasses =
|
|
77
|
+
const fillClasses = twJoin(baseClasses, "whitespace-nowrap [--text-color:var(--base-theme-color--foreground)] transition-[transform,color] after:top-1/2 after:h-[calc(100%+0.05rem)] after:w-[calc(100%+0.25rem)] after:-translate-y-1/2 after:rounded after:ease-exponential active:text-(--text-color) pointer-fine:hover:text-(--text-color) pointer-fine:active:text-(--text-color)");
|
|
179
78
|
const getFillColorTransitionClasses = (theme = "blue", customTheme) => {
|
|
180
|
-
let fillColorTransitionClasses =
|
|
79
|
+
let fillColorTransitionClasses = twJoin(fillClasses, "transition-[scale,color] after:bg-(--theme-color)");
|
|
181
80
|
switch (theme) {
|
|
182
81
|
case "amber":
|
|
183
|
-
fillColorTransitionClasses =
|
|
82
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-amber-500)]");
|
|
184
83
|
break;
|
|
185
84
|
case "blue":
|
|
186
|
-
fillColorTransitionClasses =
|
|
85
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-blue-500)]");
|
|
187
86
|
break;
|
|
188
87
|
case "cyan":
|
|
189
|
-
fillColorTransitionClasses =
|
|
88
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-cyan-500)]");
|
|
190
89
|
break;
|
|
191
90
|
case "emerald":
|
|
192
|
-
fillColorTransitionClasses =
|
|
91
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-emerald-500)]");
|
|
193
92
|
break;
|
|
194
93
|
case "fuchsia":
|
|
195
|
-
fillColorTransitionClasses =
|
|
94
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-fuchsia-500)]");
|
|
196
95
|
break;
|
|
197
96
|
case "gray":
|
|
198
|
-
fillColorTransitionClasses =
|
|
97
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-gray-500)]");
|
|
199
98
|
break;
|
|
200
99
|
case "green":
|
|
201
|
-
fillColorTransitionClasses =
|
|
100
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-green-500)]");
|
|
202
101
|
break;
|
|
203
102
|
case "indigo":
|
|
204
|
-
fillColorTransitionClasses =
|
|
103
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-indigo-500)]");
|
|
205
104
|
break;
|
|
206
105
|
case "lime":
|
|
207
|
-
fillColorTransitionClasses =
|
|
106
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-lime-500)]");
|
|
208
107
|
break;
|
|
209
108
|
case "mauve":
|
|
210
|
-
fillColorTransitionClasses =
|
|
109
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-mauve-500)]");
|
|
211
110
|
break;
|
|
212
111
|
case "mist":
|
|
213
|
-
fillColorTransitionClasses =
|
|
112
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-mist-500)]");
|
|
214
113
|
break;
|
|
215
114
|
case "neutral":
|
|
216
|
-
fillColorTransitionClasses =
|
|
115
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-neutral-500)]");
|
|
217
116
|
break;
|
|
218
117
|
case "olive":
|
|
219
|
-
fillColorTransitionClasses =
|
|
118
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-olive-500)]");
|
|
220
119
|
break;
|
|
221
120
|
case "orange":
|
|
222
|
-
fillColorTransitionClasses =
|
|
121
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-orange-500)]");
|
|
223
122
|
break;
|
|
224
123
|
case "pink":
|
|
225
|
-
fillColorTransitionClasses =
|
|
124
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-pink-500)]");
|
|
226
125
|
break;
|
|
227
126
|
case "purple":
|
|
228
|
-
fillColorTransitionClasses =
|
|
127
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-purple-500)]");
|
|
229
128
|
break;
|
|
230
129
|
case "red":
|
|
231
|
-
fillColorTransitionClasses =
|
|
130
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-red-500)]");
|
|
232
131
|
break;
|
|
233
132
|
case "rose":
|
|
234
|
-
fillColorTransitionClasses =
|
|
133
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-rose-500)]");
|
|
235
134
|
break;
|
|
236
135
|
case "sky":
|
|
237
|
-
fillColorTransitionClasses =
|
|
136
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-sky-500)]");
|
|
238
137
|
break;
|
|
239
138
|
case "slate":
|
|
240
|
-
fillColorTransitionClasses =
|
|
139
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-slate-500)]");
|
|
241
140
|
break;
|
|
242
141
|
case "stone":
|
|
243
|
-
fillColorTransitionClasses =
|
|
142
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-stone-500)]");
|
|
244
143
|
break;
|
|
245
144
|
case "taupe":
|
|
246
|
-
fillColorTransitionClasses =
|
|
145
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-taupe-500)]");
|
|
247
146
|
break;
|
|
248
147
|
case "teal":
|
|
249
|
-
fillColorTransitionClasses =
|
|
148
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-teal-500)]");
|
|
250
149
|
break;
|
|
251
150
|
case "violet":
|
|
252
|
-
fillColorTransitionClasses =
|
|
151
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-violet-500)]");
|
|
253
152
|
break;
|
|
254
153
|
case "yellow":
|
|
255
|
-
fillColorTransitionClasses =
|
|
154
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-yellow-500)]");
|
|
256
155
|
break;
|
|
257
156
|
case "zinc":
|
|
258
|
-
fillColorTransitionClasses =
|
|
157
|
+
fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-zinc-500)]");
|
|
259
158
|
break;
|
|
260
159
|
case "custom":
|
|
261
160
|
if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable on the ::after pseudo element. Otherwise, please use `customTheme.classes`.");
|
|
@@ -268,85 +167,85 @@ const getFillColorTransitionClasses = (theme = "blue", customTheme) => {
|
|
|
268
167
|
return fillColorTransitionClasses;
|
|
269
168
|
};
|
|
270
169
|
const getFillCenterClasses = (theme = "blue", customTheme) => {
|
|
271
|
-
let fillCenterColorClasses =
|
|
170
|
+
let fillCenterColorClasses = twJoin(fillClasses, "after:scale-x-50 after:scale-y-[0.25] after:bg-(--theme-color)/0 after:transition-[scale,background-color] active:after:scale-x-100 active:after:scale-y-100 active:after:bg-(--theme-color) pointer-fine:hover:after:scale-x-100 pointer-fine:hover:after:scale-y-100 pointer-fine:hover:after:bg-(--theme-color) pointer-fine:active:after:scale-x-100 pointer-fine:active:after:scale-y-100 pointer-fine:active:after:bg-(--theme-color)");
|
|
272
171
|
switch (theme) {
|
|
273
172
|
case "amber":
|
|
274
|
-
fillCenterColorClasses =
|
|
173
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-amber-500)]");
|
|
275
174
|
break;
|
|
276
175
|
case "blue":
|
|
277
|
-
fillCenterColorClasses =
|
|
176
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-blue-500)]");
|
|
278
177
|
break;
|
|
279
178
|
case "cyan":
|
|
280
|
-
fillCenterColorClasses =
|
|
179
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-cyan-500)]");
|
|
281
180
|
break;
|
|
282
181
|
case "emerald":
|
|
283
|
-
fillCenterColorClasses =
|
|
182
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-emerald-500)]");
|
|
284
183
|
break;
|
|
285
184
|
case "fuchsia":
|
|
286
|
-
fillCenterColorClasses =
|
|
185
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-fuchsia-500)]");
|
|
287
186
|
break;
|
|
288
187
|
case "gray":
|
|
289
|
-
fillCenterColorClasses =
|
|
188
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-gray-500)]");
|
|
290
189
|
break;
|
|
291
190
|
case "green":
|
|
292
|
-
fillCenterColorClasses =
|
|
191
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-green-500)]");
|
|
293
192
|
break;
|
|
294
193
|
case "indigo":
|
|
295
|
-
fillCenterColorClasses =
|
|
194
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-indigo-500)]");
|
|
296
195
|
break;
|
|
297
196
|
case "lime":
|
|
298
|
-
fillCenterColorClasses =
|
|
197
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-lime-500)]");
|
|
299
198
|
break;
|
|
300
199
|
case "mauve":
|
|
301
|
-
fillCenterColorClasses =
|
|
200
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-mauve-500)]");
|
|
302
201
|
break;
|
|
303
202
|
case "mist":
|
|
304
|
-
fillCenterColorClasses =
|
|
203
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-mist-500)]");
|
|
305
204
|
break;
|
|
306
205
|
case "neutral":
|
|
307
|
-
fillCenterColorClasses =
|
|
206
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-neutral-500)]");
|
|
308
207
|
break;
|
|
309
208
|
case "olive":
|
|
310
|
-
fillCenterColorClasses =
|
|
209
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-olive-500)]");
|
|
311
210
|
break;
|
|
312
211
|
case "orange":
|
|
313
|
-
fillCenterColorClasses =
|
|
212
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-orange-500)]");
|
|
314
213
|
break;
|
|
315
214
|
case "pink":
|
|
316
|
-
fillCenterColorClasses =
|
|
215
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-pink-500)]");
|
|
317
216
|
break;
|
|
318
217
|
case "purple":
|
|
319
|
-
fillCenterColorClasses =
|
|
218
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-purple-500)]");
|
|
320
219
|
break;
|
|
321
220
|
case "red":
|
|
322
|
-
fillCenterColorClasses =
|
|
221
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-red-500)]");
|
|
323
222
|
break;
|
|
324
223
|
case "rose":
|
|
325
|
-
fillCenterColorClasses =
|
|
224
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-rose-500)]");
|
|
326
225
|
break;
|
|
327
226
|
case "sky":
|
|
328
|
-
fillCenterColorClasses =
|
|
227
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-sky-500)]");
|
|
329
228
|
break;
|
|
330
229
|
case "slate":
|
|
331
|
-
fillCenterColorClasses =
|
|
230
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-slate-500)]");
|
|
332
231
|
break;
|
|
333
232
|
case "stone":
|
|
334
|
-
fillCenterColorClasses =
|
|
233
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-stone-500)]");
|
|
335
234
|
break;
|
|
336
235
|
case "taupe":
|
|
337
|
-
fillCenterColorClasses =
|
|
236
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-taupe-500)]");
|
|
338
237
|
break;
|
|
339
238
|
case "teal":
|
|
340
|
-
fillCenterColorClasses =
|
|
239
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-teal-500)]");
|
|
341
240
|
break;
|
|
342
241
|
case "violet":
|
|
343
|
-
fillCenterColorClasses =
|
|
242
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-violet-500)]");
|
|
344
243
|
break;
|
|
345
244
|
case "yellow":
|
|
346
|
-
fillCenterColorClasses =
|
|
245
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-yellow-500)]");
|
|
347
246
|
break;
|
|
348
247
|
case "zinc":
|
|
349
|
-
fillCenterColorClasses =
|
|
248
|
+
fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-zinc-500)]");
|
|
350
249
|
break;
|
|
351
250
|
case "custom":
|
|
352
251
|
if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable on the ::after pseudo element. Otherwise, please use `customTheme.classes`.");
|
|
@@ -361,92 +260,92 @@ const getFillCenterClasses = (theme = "blue", customTheme) => {
|
|
|
361
260
|
const multilineBaseClasses = "bg-linear-to-r from-current to-current bg-no-repeat active:scale-95";
|
|
362
261
|
const multilineLineStaticClasses = "underline";
|
|
363
262
|
const multilineNormalClasses = "underline-offset-1 active:underline pointer-fine:hover:underline";
|
|
364
|
-
const multilineLineClasses =
|
|
365
|
-
const multilineXClasses =
|
|
366
|
-
const multilineLineRtlClasses =
|
|
367
|
-
const multilineLineCenterClasses =
|
|
368
|
-
const multilineLineLiftClasses =
|
|
369
|
-
const multilineFillBaseClasses =
|
|
263
|
+
const multilineLineClasses = twJoin(twJoin(multilineBaseClasses, "duration-500 ease-exponential"), "bg-position-[0%_100%] px-px pb-px transition-[background-size]");
|
|
264
|
+
const multilineXClasses = twJoin(multilineLineClasses, "bg-size-[0%_2px] focus-visible:bg-size-[100%_2px] active:bg-size-[100%_2px] pointer-fine:hover:bg-size-[100%_2px]");
|
|
265
|
+
const multilineLineRtlClasses = twJoin([multilineXClasses, "bg-position-[100%_100%]"]);
|
|
266
|
+
const multilineLineCenterClasses = twJoin([multilineXClasses, "bg-position-[50%_100%]"]);
|
|
267
|
+
const multilineLineLiftClasses = twJoin(multilineLineClasses, "bg-size-[auto_0px] focus-visible:bg-size-[auto_2px] active:bg-size-[auto_2px] pointer-fine:hover:bg-size-[auto_2px]");
|
|
268
|
+
const multilineFillBaseClasses = twJoin(multilineBaseClasses, "rounded px-0.5 py-0.75 focus-visible:text-zinc-50 active:text-zinc-50 pointer-fine:hover:text-zinc-50");
|
|
370
269
|
const getMultilineFillColorClasses = (theme = "blue", customTheme) => {
|
|
371
|
-
let multilineFillColorClasses =
|
|
270
|
+
let multilineFillColorClasses = twJoin(multilineFillBaseClasses, "from-(--theme-color) to-(--theme-color) transition-[background-size,color]");
|
|
372
271
|
switch (theme) {
|
|
373
272
|
case "amber":
|
|
374
|
-
multilineFillColorClasses =
|
|
273
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-amber-500)]");
|
|
375
274
|
break;
|
|
376
275
|
case "blue":
|
|
377
|
-
multilineFillColorClasses =
|
|
276
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-blue-500)]");
|
|
378
277
|
break;
|
|
379
278
|
case "cyan":
|
|
380
|
-
multilineFillColorClasses =
|
|
279
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-cyan-500)]");
|
|
381
280
|
break;
|
|
382
281
|
case "emerald":
|
|
383
|
-
multilineFillColorClasses =
|
|
282
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-emerald-500)]");
|
|
384
283
|
break;
|
|
385
284
|
case "fuchsia":
|
|
386
|
-
multilineFillColorClasses =
|
|
285
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-fuchsia-500)]");
|
|
387
286
|
break;
|
|
388
287
|
case "gray":
|
|
389
|
-
multilineFillColorClasses =
|
|
288
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-gray-500)]");
|
|
390
289
|
break;
|
|
391
290
|
case "green":
|
|
392
|
-
multilineFillColorClasses =
|
|
291
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-green-500)]");
|
|
393
292
|
break;
|
|
394
293
|
case "indigo":
|
|
395
|
-
multilineFillColorClasses =
|
|
294
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-indigo-500)]");
|
|
396
295
|
break;
|
|
397
296
|
case "lime":
|
|
398
|
-
multilineFillColorClasses =
|
|
297
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-lime-500)]");
|
|
399
298
|
break;
|
|
400
299
|
case "mauve":
|
|
401
|
-
multilineFillColorClasses =
|
|
300
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mauve-500)]");
|
|
402
301
|
break;
|
|
403
302
|
case "mist":
|
|
404
|
-
multilineFillColorClasses =
|
|
303
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mist-500)]");
|
|
405
304
|
break;
|
|
406
305
|
case "neutral":
|
|
407
|
-
multilineFillColorClasses =
|
|
306
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-neutral-500)]");
|
|
408
307
|
break;
|
|
409
308
|
case "olive":
|
|
410
|
-
multilineFillColorClasses =
|
|
309
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-olive-500)]");
|
|
411
310
|
break;
|
|
412
311
|
case "orange":
|
|
413
|
-
multilineFillColorClasses =
|
|
312
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-orange-500)]");
|
|
414
313
|
break;
|
|
415
314
|
case "pink":
|
|
416
|
-
multilineFillColorClasses =
|
|
315
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-pink-500)]");
|
|
417
316
|
break;
|
|
418
317
|
case "purple":
|
|
419
|
-
multilineFillColorClasses =
|
|
318
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-purple-500)]");
|
|
420
319
|
break;
|
|
421
320
|
case "red":
|
|
422
|
-
multilineFillColorClasses =
|
|
321
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-red-500)]");
|
|
423
322
|
break;
|
|
424
323
|
case "rose":
|
|
425
|
-
multilineFillColorClasses =
|
|
324
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-rose-500)]");
|
|
426
325
|
break;
|
|
427
326
|
case "sky":
|
|
428
|
-
multilineFillColorClasses =
|
|
327
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-sky-500)]");
|
|
429
328
|
break;
|
|
430
329
|
case "slate":
|
|
431
|
-
multilineFillColorClasses =
|
|
330
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-slate-500)]");
|
|
432
331
|
break;
|
|
433
332
|
case "stone":
|
|
434
|
-
multilineFillColorClasses =
|
|
333
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-stone-500)]");
|
|
435
334
|
break;
|
|
436
335
|
case "taupe":
|
|
437
|
-
multilineFillColorClasses =
|
|
336
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-taupe-500)]");
|
|
438
337
|
break;
|
|
439
338
|
case "teal":
|
|
440
|
-
multilineFillColorClasses =
|
|
339
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-teal-500)]");
|
|
441
340
|
break;
|
|
442
341
|
case "violet":
|
|
443
|
-
multilineFillColorClasses =
|
|
342
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-violet-500)]");
|
|
444
343
|
break;
|
|
445
344
|
case "yellow":
|
|
446
|
-
multilineFillColorClasses =
|
|
345
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-yellow-500)]");
|
|
447
346
|
break;
|
|
448
347
|
case "zinc":
|
|
449
|
-
multilineFillColorClasses =
|
|
348
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-zinc-500)]");
|
|
450
349
|
break;
|
|
451
350
|
case "custom":
|
|
452
351
|
if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
|
|
@@ -459,85 +358,85 @@ const getMultilineFillColorClasses = (theme = "blue", customTheme) => {
|
|
|
459
358
|
return multilineFillColorClasses;
|
|
460
359
|
};
|
|
461
360
|
const getMultilineFillClasses = (theme = "blue", customTheme) => {
|
|
462
|
-
let multilineFillColorClasses =
|
|
361
|
+
let multilineFillColorClasses = twJoin(multilineFillBaseClasses, "from-(--theme-color)/0 to-(--theme-color)/0 bg-size-[50%_0px] bg-position-[50%_50%] transition-[background-size,background-image,color] focus-visible:from-(--theme-color) focus-visible:to-(--theme-color) focus-visible:bg-size-[100%_100%] active:from-(--theme-color) active:to-(--theme-color) active:bg-size-[100%_100%] contrast-more:from-(--theme-color)/0 pointer-fine:hover:from-(--theme-color) pointer-fine:hover:to-(--theme-color) pointer-fine:hover:bg-size-[100%_100%]");
|
|
463
362
|
switch (theme) {
|
|
464
363
|
case "amber":
|
|
465
|
-
multilineFillColorClasses =
|
|
364
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-amber-500)]");
|
|
466
365
|
break;
|
|
467
366
|
case "blue":
|
|
468
|
-
multilineFillColorClasses =
|
|
367
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-blue-500)]");
|
|
469
368
|
break;
|
|
470
369
|
case "cyan":
|
|
471
|
-
multilineFillColorClasses =
|
|
370
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-cyan-500)]");
|
|
472
371
|
break;
|
|
473
372
|
case "emerald":
|
|
474
|
-
multilineFillColorClasses =
|
|
373
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-emerald-500)]");
|
|
475
374
|
break;
|
|
476
375
|
case "fuchsia":
|
|
477
|
-
multilineFillColorClasses =
|
|
376
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-fuchsia-500)]");
|
|
478
377
|
break;
|
|
479
378
|
case "gray":
|
|
480
|
-
multilineFillColorClasses =
|
|
379
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-gray-500)]");
|
|
481
380
|
break;
|
|
482
381
|
case "green":
|
|
483
|
-
multilineFillColorClasses =
|
|
382
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-green-500)]");
|
|
484
383
|
break;
|
|
485
384
|
case "indigo":
|
|
486
|
-
multilineFillColorClasses =
|
|
385
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-indigo-500)]");
|
|
487
386
|
break;
|
|
488
387
|
case "lime":
|
|
489
|
-
multilineFillColorClasses =
|
|
388
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-lime-500)]");
|
|
490
389
|
break;
|
|
491
390
|
case "mauve":
|
|
492
|
-
multilineFillColorClasses =
|
|
391
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mauve-500)]");
|
|
493
392
|
break;
|
|
494
393
|
case "mist":
|
|
495
|
-
multilineFillColorClasses =
|
|
394
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mist-500)]");
|
|
496
395
|
break;
|
|
497
396
|
case "neutral":
|
|
498
|
-
multilineFillColorClasses =
|
|
397
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-neutral-500)]");
|
|
499
398
|
break;
|
|
500
399
|
case "olive":
|
|
501
|
-
multilineFillColorClasses =
|
|
400
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-olive-500)]");
|
|
502
401
|
break;
|
|
503
402
|
case "orange":
|
|
504
|
-
multilineFillColorClasses =
|
|
403
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-orange-500)]");
|
|
505
404
|
break;
|
|
506
405
|
case "pink":
|
|
507
|
-
multilineFillColorClasses =
|
|
406
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-pink-500)]");
|
|
508
407
|
break;
|
|
509
408
|
case "purple":
|
|
510
|
-
multilineFillColorClasses =
|
|
409
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-purple-500)]");
|
|
511
410
|
break;
|
|
512
411
|
case "red":
|
|
513
|
-
multilineFillColorClasses =
|
|
412
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-red-500)]");
|
|
514
413
|
break;
|
|
515
414
|
case "rose":
|
|
516
|
-
multilineFillColorClasses =
|
|
415
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-rose-500)]");
|
|
517
416
|
break;
|
|
518
417
|
case "sky":
|
|
519
|
-
multilineFillColorClasses =
|
|
418
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-sky-500)]");
|
|
520
419
|
break;
|
|
521
420
|
case "slate":
|
|
522
|
-
multilineFillColorClasses =
|
|
421
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-slate-500)]");
|
|
523
422
|
break;
|
|
524
423
|
case "stone":
|
|
525
|
-
multilineFillColorClasses =
|
|
424
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-stone-500)]");
|
|
526
425
|
break;
|
|
527
426
|
case "taupe":
|
|
528
|
-
multilineFillColorClasses =
|
|
427
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-taupe-500)]");
|
|
529
428
|
break;
|
|
530
429
|
case "teal":
|
|
531
|
-
multilineFillColorClasses =
|
|
430
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-teal-500)]");
|
|
532
431
|
break;
|
|
533
432
|
case "violet":
|
|
534
|
-
multilineFillColorClasses =
|
|
433
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-violet-500)]");
|
|
535
434
|
break;
|
|
536
435
|
case "yellow":
|
|
537
|
-
multilineFillColorClasses =
|
|
436
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-yellow-500)]");
|
|
538
437
|
break;
|
|
539
438
|
case "zinc":
|
|
540
|
-
multilineFillColorClasses =
|
|
439
|
+
multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-zinc-500)]");
|
|
541
440
|
break;
|
|
542
441
|
case "custom":
|
|
543
442
|
if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
|
|
@@ -550,16 +449,16 @@ const getMultilineFillClasses = (theme = "blue", customTheme) => {
|
|
|
550
449
|
return multilineFillColorClasses;
|
|
551
450
|
};
|
|
552
451
|
const getMultilineFillLiftClasses = (theme = "blue", customTheme) => {
|
|
553
|
-
return
|
|
452
|
+
return twJoin(getMultilineFillColorClasses(theme, customTheme), "bg-size-[auto_0px] bg-position-[50%_100%] focus-visible:bg-size-[auto_100%] active:bg-size-[auto_100%] pointer-fine:hover:bg-size-[auto_100%]");
|
|
554
453
|
};
|
|
555
454
|
const getMultilineFillXClasses = (theme = "blue", customTheme) => {
|
|
556
|
-
return
|
|
455
|
+
return twJoin(getMultilineFillColorClasses(theme, customTheme), "bg-size-[0%_100%] focus-visible:bg-size-[100%_100%] active:bg-size-[100%_100%] pointer-fine:hover:bg-size-[100%_100%]");
|
|
557
456
|
};
|
|
558
457
|
const getMultilineFillRtlClasses = (theme = "blue", customTheme) => {
|
|
559
|
-
return
|
|
458
|
+
return twJoin(getMultilineFillXClasses(theme, customTheme), "bg-position-[100%_auto]");
|
|
560
459
|
};
|
|
561
460
|
const getMultilineFillCenterClasses = (theme = "blue", customTheme) => {
|
|
562
|
-
return
|
|
461
|
+
return twJoin(getMultilineFillXClasses(theme, customTheme), "bg-position-[50%_auto]");
|
|
563
462
|
};
|
|
564
463
|
function getLinkClasses({ customTheme, theme, type }) {
|
|
565
464
|
switch (type) {
|
|
@@ -569,17 +468,17 @@ function getLinkClasses({ customTheme, theme, type }) {
|
|
|
569
468
|
case "center": return lineCenterClasses;
|
|
570
469
|
case "lift": return lineLiftClasses;
|
|
571
470
|
case "fill": return getFillCenterClasses(theme, customTheme);
|
|
572
|
-
case "fill-ltr": return
|
|
471
|
+
case "fill-ltr": return twJoin([
|
|
573
472
|
getFillColorTransitionClasses(theme, customTheme),
|
|
574
473
|
scaleXClasses,
|
|
575
474
|
"after:origin-left"
|
|
576
475
|
]);
|
|
577
|
-
case "fill-rtl": return
|
|
476
|
+
case "fill-rtl": return twJoin([
|
|
578
477
|
getFillColorTransitionClasses(theme, customTheme),
|
|
579
478
|
scaleXClasses,
|
|
580
479
|
"after:origin-right"
|
|
581
480
|
]);
|
|
582
|
-
case "fill-lift": return
|
|
481
|
+
case "fill-lift": return twJoin([
|
|
583
482
|
getFillColorTransitionClasses(theme, customTheme),
|
|
584
483
|
scaleYClasses,
|
|
585
484
|
"after:origin-bottom"
|
|
@@ -633,8 +532,10 @@ function Link({ as, className, customTheme, theme, type, ...props }) {
|
|
|
633
532
|
theme,
|
|
634
533
|
type
|
|
635
534
|
});
|
|
636
|
-
|
|
637
|
-
|
|
535
|
+
return /* @__PURE__ */ jsx(as || Anchor, {
|
|
536
|
+
...props,
|
|
537
|
+
className: twMerge(linkClasses, className)
|
|
538
|
+
});
|
|
638
539
|
}
|
|
639
540
|
/**
|
|
640
541
|
* # createLink
|
|
@@ -676,13 +577,28 @@ function createLink(config) {
|
|
|
676
577
|
else if (as) linkProps.as = as;
|
|
677
578
|
if (finalTheme && typeof finalTheme === "string" && config.theme && finalTheme in config.theme) {
|
|
678
579
|
const extendedTheme = config.theme[finalTheme];
|
|
679
|
-
if (customTheme) return
|
|
580
|
+
if (customTheme) return /* @__PURE__ */ jsx(Link, {
|
|
581
|
+
...linkProps,
|
|
582
|
+
theme: "custom",
|
|
583
|
+
customTheme,
|
|
584
|
+
className: twMerge(configClassName, extendedTheme.className, className)
|
|
585
|
+
});
|
|
680
586
|
let resolvedCustomTheme;
|
|
681
587
|
if (extendedTheme.customTheme.themeColor) resolvedCustomTheme = { themeColor: (finalType ? finalType.includes("multiline") : false) ? extendedTheme.customTheme.themeColor.multilineFill : extendedTheme.customTheme.themeColor.fill };
|
|
682
588
|
else resolvedCustomTheme = { classes: extendedTheme.customTheme.classes };
|
|
683
|
-
return
|
|
589
|
+
return /* @__PURE__ */ jsx(Link, {
|
|
590
|
+
...linkProps,
|
|
591
|
+
theme: "custom",
|
|
592
|
+
customTheme: resolvedCustomTheme,
|
|
593
|
+
className: twMerge(configClassName, extendedTheme.className, className)
|
|
594
|
+
});
|
|
684
595
|
}
|
|
685
|
-
return
|
|
596
|
+
return /* @__PURE__ */ jsx(Link, {
|
|
597
|
+
...linkProps,
|
|
598
|
+
theme: finalTheme,
|
|
599
|
+
className: twMerge(configClassName, className),
|
|
600
|
+
customTheme
|
|
601
|
+
});
|
|
686
602
|
};
|
|
687
603
|
}
|
|
688
604
|
|
|
@@ -756,8 +672,15 @@ function Button({ className, customTheme, gradient = false, padding = "md", roun
|
|
|
756
672
|
customTheme && customTheme.classes ? customTheme.classes : [gradient ? "bg-linear-to-t from-[color-mix(in_oklch,var(--theme-color),var(--color-black)_20%)] via-(--theme-color) to-[color-mix(in_oklch,var(--theme-color),var(--color-white)_20%)] bg-size-[100%_200%] transition-[scale,background-position-y] [background-position-y:50%] active:[background-position-y:100%] data-focus:[background-position-y:0%] pointer-fine:hover:[background-position-y:0%] pointer-fine:hover:active:[background-position-y:100%]" : "bg-(--theme-color) transition-[scale,background-color] active:bg-[color-mix(in_oklch,var(--theme-color),var(--color-black)_10%)] data-focus:bg-[color-mix(in_oklch,var(--theme-color),var(--color-white)_10%)] pointer-fine:hover:bg-[color-mix(in_oklch,var(--theme-color),var(--color-white)_10%)] pointer-fine:hover:active:bg-[color-mix(in_oklch,var(--theme-color),var(--color-black)_10%)]", "shadow-(--theme-color)/25"].join(" "),
|
|
757
673
|
className
|
|
758
674
|
]);
|
|
759
|
-
if ("href" in props && !props.as && props.href) return
|
|
760
|
-
|
|
675
|
+
if ("href" in props && !props.as && props.href) return /* @__PURE__ */ jsx(Button$1, {
|
|
676
|
+
...props,
|
|
677
|
+
as: Anchor,
|
|
678
|
+
className: buttonClasses
|
|
679
|
+
});
|
|
680
|
+
return /* @__PURE__ */ jsx(Button$1, {
|
|
681
|
+
...props,
|
|
682
|
+
className: buttonClasses
|
|
683
|
+
});
|
|
761
684
|
}
|
|
762
685
|
/**
|
|
763
686
|
* # createButton
|
|
@@ -811,9 +734,19 @@ function createButton(config) {
|
|
|
811
734
|
} else if (as) buttonProps.as = as;
|
|
812
735
|
if (finalTheme && typeof finalTheme === "string" && config.theme && finalTheme in config.theme) {
|
|
813
736
|
const extendedTheme = config.theme[finalTheme];
|
|
814
|
-
return
|
|
737
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
738
|
+
...buttonProps,
|
|
739
|
+
theme: "custom",
|
|
740
|
+
customTheme: customTheme || extendedTheme.customTheme,
|
|
741
|
+
className: twMerge(configClassName, extendedTheme.className, className)
|
|
742
|
+
});
|
|
815
743
|
}
|
|
816
|
-
return
|
|
744
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
745
|
+
...buttonProps,
|
|
746
|
+
theme: finalTheme,
|
|
747
|
+
className: twMerge(configClassName, className),
|
|
748
|
+
customTheme
|
|
749
|
+
});
|
|
817
750
|
};
|
|
818
751
|
}
|
|
819
752
|
|
|
@@ -821,65 +754,107 @@ function createButton(config) {
|
|
|
821
754
|
//#region src/symbols/checkmark.tsx
|
|
822
755
|
function Checkmark({ weight = "regular", ...props }) {
|
|
823
756
|
switch (weight) {
|
|
824
|
-
case "ultralight": return
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
case "
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
757
|
+
case "ultralight": return /* @__PURE__ */ jsx("svg", {
|
|
758
|
+
viewBox: "9.76562 -66.2656 60.64 62.07",
|
|
759
|
+
...props,
|
|
760
|
+
children: /* @__PURE__ */ jsx("path", { d: "M30.5586-4.19382C31.0098-4.19382 31.2974-4.38816 31.5543-4.73143L70.1016-64.2544C70.3414-64.6611 70.4073-64.8691 70.4073-65.0771C70.4073-65.7441 69.8892-66.2656 69.2188-66.2656C68.7779-66.2656 68.4824-66.0884 68.271-65.6963L30.4996-7.29446L12.0064-28.4888C11.7461-28.8672 11.4439-29.0479 10.9678-29.0479C10.252-29.0479 9.76562-28.565 9.76562-27.8946C9.76562-27.5957 9.88721-27.2901 10.1724-26.9878L29.4165-4.73827C29.7847-4.29734 30.062-4.19382 30.5586-4.19382Z" })
|
|
761
|
+
});
|
|
762
|
+
case "thin": return /* @__PURE__ */ jsx("svg", {
|
|
763
|
+
viewBox: "9.76562 -66.4297 62.1 62.98",
|
|
764
|
+
...props,
|
|
765
|
+
children: /* @__PURE__ */ jsx("path", { d: "M31.7071-3.44529C32.4864-3.44529 33.0508-3.78319 33.4922-4.42382L71.3731-63.2187C71.7461-63.8203 71.8633-64.2129 71.8633-64.6055C71.8633-65.6621 71.1094-66.4297 70.0391-66.4297C69.3008-66.4297 68.8516-66.1602 68.4453-65.4707L31.6172-8.08401L13.3086-29.8731C12.8535-30.5079 12.377-30.7911 11.6445-30.7911C10.5391-30.7911 9.76562-30.0313 9.76562-28.961C9.76562-28.4981 9.95899-28.0078 10.3672-27.5313L29.7754-4.45116C30.3692-3.71287 30.8926-3.44529 31.7071-3.44529Z" })
|
|
766
|
+
});
|
|
767
|
+
case "light": return /* @__PURE__ */ jsx("svg", {
|
|
768
|
+
viewBox: "9.76562 -66.75 64.94 64.77",
|
|
769
|
+
...props,
|
|
770
|
+
children: /* @__PURE__ */ jsx("path", { d: "M33.9492-1.98388C35.3692-1.98388 36.4741-2.60204 37.2759-3.82324L73.8555-61.1968C74.4888-62.1787 74.7061-62.9316 74.7061-63.6846C74.7061-65.502 73.4917-66.75 71.6406-66.75C70.3218-66.75 69.5723-66.3003 68.7856-65.0303L33.7993-9.6255L15.8511-32.5757C15.0156-33.711 14.1987-34.1944 12.9658-34.1944C11.0996-34.1944 9.76562-32.8941 9.76562-31.043C9.76562-30.2598 10.0991-29.4092 10.7476-28.5923L30.4761-3.89062C31.5103-2.57177 32.5142-1.98388 33.9492-1.98388Z" })
|
|
771
|
+
});
|
|
772
|
+
case "regular": return /* @__PURE__ */ jsx("svg", {
|
|
773
|
+
viewBox: "9.76562 -66.9922 67.09 66.11",
|
|
774
|
+
...props,
|
|
775
|
+
children: /* @__PURE__ */ jsx("path", { d: "M35.6445-0.878906C37.5488-0.878906 39.0625-1.70898 40.1367-3.36914L75.7324-59.668C76.5625-60.9375 76.8555-61.9629 76.8555-62.9883C76.8555-65.3809 75.293-66.9922 72.8516-66.9922C71.0938-66.9922 70.1172-66.4062 69.043-64.6973L35.4492-10.791L17.7734-34.6191C16.6504-36.1328 15.5762-36.7676 13.9648-36.7676C11.5234-36.7676 9.76562-35.0586 9.76562-32.6172C9.76562-31.5918 10.2051-30.4688 11.0352-29.3945L31.0059-3.4668C32.373-1.70898 33.7402-0.878906 35.6445-0.878906Z" })
|
|
776
|
+
});
|
|
777
|
+
case "medium": return /* @__PURE__ */ jsx("svg", {
|
|
778
|
+
viewBox: "9.76562 -67.6602 68.7 67.03",
|
|
779
|
+
...props,
|
|
780
|
+
children: /* @__PURE__ */ jsx("path", { d: "M36.4707-0.632812C38.7002-0.632812 40.46-1.55078 41.6924-3.43066L77.1914-58.9121C78.1182-60.3135 78.4639-61.5322 78.4639-62.707C78.4639-65.6182 76.4268-67.6602 73.4404-67.6602C71.3398-67.6602 70.1084-66.9424 68.8232-64.9082L36.2842-12.9443L19.3379-35.2432C18.0742-36.8711 16.7891-37.5762 14.9229-37.5762C11.9365-37.5762 9.76562-35.4541 9.76562-32.4941C9.76562-31.2139 10.2402-29.9502 11.2988-28.6475L31.208-3.3877C32.7158-1.50684 34.3115-0.632812 36.4707-0.632812Z" })
|
|
781
|
+
});
|
|
782
|
+
case "semibold": return /* @__PURE__ */ jsx("svg", {
|
|
783
|
+
viewBox: "9.76562 -68.1723 69.93 67.73",
|
|
784
|
+
...props,
|
|
785
|
+
children: /* @__PURE__ */ jsx("path", { d: "M37.1041-0.444141C39.5829-0.444141 41.5313-1.42949 42.8851-3.47783L78.31-58.3326C79.3108-59.8351 79.697-61.2021 79.697-62.4914C79.697-65.8001 77.296-68.1723 73.8919-68.1723C71.5285-68.1723 70.1017-67.3534 68.6548-65.0699L36.9243-14.5952L20.5373-35.7216C19.1658-37.4371 17.7189-38.1961 15.6573-38.1961C12.2532-38.1961 9.76562-35.7573 9.76562-32.3998C9.76562-30.9241 10.2672-29.5526 11.501-28.0747L31.363-3.32705C32.9786-1.35186 34.7495-0.444141 37.1041-0.444141Z" })
|
|
786
|
+
});
|
|
787
|
+
case "bold": return /* @__PURE__ */ jsx("svg", {
|
|
788
|
+
viewBox: "9.76562 -68.8477 71.56 68.65",
|
|
789
|
+
...props,
|
|
790
|
+
children: /* @__PURE__ */ jsx("path", { d: "M37.9395-0.195312C40.7471-0.195312 42.9443-1.26953 44.458-3.54004L79.7852-57.5684C80.8838-59.2041 81.3232-60.7666 81.3232-62.207C81.3232-66.04 78.4424-68.8477 74.4873-68.8477C71.7773-68.8477 70.0928-67.8955 68.4326-65.2832L37.7686-16.7725L22.1191-36.3525C20.6055-38.1836 18.9453-39.0137 16.626-39.0137C12.6709-39.0137 9.76562-36.1572 9.76562-32.2754C9.76562-30.542 10.3027-29.0283 11.7676-27.3193L31.5674-3.24707C33.3252-1.14746 35.3271-0.195312 37.9395-0.195312Z" })
|
|
791
|
+
});
|
|
792
|
+
case "heavy": return /* @__PURE__ */ jsx("svg", {
|
|
793
|
+
viewBox: "9.76562 -69.8273 73.92 69.99",
|
|
794
|
+
...props,
|
|
795
|
+
children: /* @__PURE__ */ jsx("path", { d: "M39.1511 0.165596C42.4356 0.165596 44.9938-1.03752 46.7395-3.63027L81.9248-56.4599C83.1652-58.2889 83.682-60.135 83.682-61.7946C83.682-66.3881 80.1051-69.8273 75.3509-69.8273C72.1383-69.8273 70.0799-68.6818 68.1104-65.5926L38.9931-19.9304L24.4135-37.2677C22.6936-39.2663 20.7241-40.1995 18.0309-40.1995C13.2767-40.1995 9.76562-36.7373 9.76562-32.0949C9.76562-29.9877 10.3543-28.2678 12.1543-26.2237L31.8638-3.13106C33.8279-0.851 36.165 0.165596 39.1511 0.165596Z" })
|
|
796
|
+
});
|
|
797
|
+
case "black": return /* @__PURE__ */ jsx("svg", {
|
|
798
|
+
viewBox: "9.76562 -70.7031 76.03 71.19",
|
|
799
|
+
...props,
|
|
800
|
+
children: /* @__PURE__ */ jsx("path", { d: "M40.2344 0.488281C43.9453 0.488281 46.8262-0.830078 48.7793-3.71094L83.8379-55.4688C85.2051-57.4707 85.791-59.5703 85.791-61.4258C85.791-66.6992 81.5918-70.7031 76.123-70.7031C72.4609-70.7031 70.0684-69.3848 67.8223-65.8691L40.0879-22.7539L26.4648-38.0859C24.5605-40.2344 22.3145-41.2598 19.2871-41.2598C13.8184-41.2598 9.76562-37.2559 9.76562-31.9336C9.76562-29.4922 10.4004-27.5879 12.5-25.2441L32.1289-3.02734C34.2773-0.585938 36.9141 0.488281 40.2344 0.488281Z" })
|
|
801
|
+
});
|
|
851
802
|
}
|
|
852
803
|
}
|
|
853
804
|
|
|
854
805
|
//#endregion
|
|
855
806
|
//#region src/components/checkbox.tsx
|
|
856
807
|
function Checkbox({ checkmark, children, className, description, descriptionProps: { className: descriptionClassName, ...descriptionProps } = {}, fieldProps: { className: fieldClassName, ...fieldProps } = {}, labelProps: { className: labelClassName, ...labelProps } = {}, inputContainerProps: { className: inputContainerClassName, ...inputContainerProps } = {}, onChange, required, value, ...props }) {
|
|
857
|
-
const [checked, setChecked] =
|
|
808
|
+
const [checked, setChecked] = useState(props.defaultChecked || false), [hasInteracted, setHasInteracted] = useState(false);
|
|
858
809
|
const handleChange = (newValue) => {
|
|
859
810
|
setHasInteracted(true);
|
|
860
811
|
setChecked(newValue);
|
|
861
812
|
onChange?.(newValue);
|
|
862
813
|
};
|
|
863
|
-
return
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
{
|
|
881
|
-
|
|
882
|
-
|
|
814
|
+
return /* @__PURE__ */ jsxs(Field, {
|
|
815
|
+
...fieldProps,
|
|
816
|
+
className: (bag) => twMerge("ease-exponential corner-super-1.5 -mx-1 grid h-fit w-fit gap-1 rounded-md p-1 transition-[background-color] duration-200 hover:bg-neutral-500/10 data-invalid:ring-1 data-invalid:ring-red-500/50", typeof fieldClassName === "function" ? fieldClassName(bag) : fieldClassName),
|
|
817
|
+
...hasInteracted && required && !checked ? { "data-invalid": "true" } : {},
|
|
818
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
819
|
+
...inputContainerProps,
|
|
820
|
+
className: twMerge("flex items-start gap-2", inputContainerClassName),
|
|
821
|
+
children: [/* @__PURE__ */ jsxs(Checkbox$1, {
|
|
822
|
+
...props,
|
|
823
|
+
...required ? { "aria-required": "true" } : {},
|
|
824
|
+
...hasInteracted && required && !checked ? { "aria-invalid": "true" } : {},
|
|
825
|
+
className: (bag) => twMerge("group/checkbox ease-exponential corner-super-1.5 size-5 shrink-0 cursor-pointer rounded-md border border-neutral-500/50 bg-neutral-100 transition-[background-color] duration-300 [--checkmark-color:var(--base-theme-color--foreground)] [--theme-color:var(--base-theme-color)] focus:ring-3 focus:ring-blue-400 focus:ring-offset-2 focus:ring-offset-(--global-bg) focus:outline-none aria-invalid:border-red-500 data-checked:bg-(--theme-color) dark:bg-neutral-700", typeof className === "function" ? className(bag) : className),
|
|
826
|
+
onChange: handleChange,
|
|
827
|
+
value,
|
|
828
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
829
|
+
checked: props.checked || checked,
|
|
830
|
+
className: "sr-only left-1/2 -translate-x-1/2",
|
|
831
|
+
onChange: () => {},
|
|
832
|
+
onInvalid: () => {
|
|
833
|
+
setHasInteracted(true);
|
|
834
|
+
},
|
|
835
|
+
required,
|
|
836
|
+
role: "presentation",
|
|
837
|
+
tabIndex: -1,
|
|
838
|
+
type: "checkbox",
|
|
839
|
+
value
|
|
840
|
+
}), checkmark ?? /* @__PURE__ */ jsx(Checkmark, {
|
|
841
|
+
className: "ease-exponential size-full scale-0 fill-(--checkmark-color) transition-transform duration-300 group-data-checked/checkbox:scale-60",
|
|
842
|
+
weight: "bold"
|
|
843
|
+
})]
|
|
844
|
+
}), /* @__PURE__ */ jsxs(Label, {
|
|
845
|
+
...labelProps,
|
|
846
|
+
className: (bag) => twMerge("text-sm font-medium", typeof labelClassName === "function" ? labelClassName(bag) : labelClassName),
|
|
847
|
+
children: [children, required ? /* @__PURE__ */ jsx("span", {
|
|
848
|
+
className: "text-red-700",
|
|
849
|
+
children: "*"
|
|
850
|
+
}) : ""]
|
|
851
|
+
})]
|
|
852
|
+
}), description && /* @__PURE__ */ jsx(Description, {
|
|
853
|
+
...descriptionProps,
|
|
854
|
+
className: (bag) => twMerge("text-xs text-current/60", typeof descriptionClassName === "function" ? descriptionClassName(bag) : descriptionClassName),
|
|
855
|
+
children: description
|
|
856
|
+
})]
|
|
857
|
+
});
|
|
883
858
|
}
|
|
884
859
|
|
|
885
860
|
//#endregion
|
|
@@ -1062,7 +1037,7 @@ if (isBrowser) {
|
|
|
1062
1037
|
* @param {String} str
|
|
1063
1038
|
* @return {String}
|
|
1064
1039
|
*/
|
|
1065
|
-
const toLowerCase
|
|
1040
|
+
const toLowerCase = (str) => str.replace(lowerCaseRgx, "$1-$2").toLowerCase();
|
|
1066
1041
|
/**
|
|
1067
1042
|
* Prioritize this method instead of regex when possible
|
|
1068
1043
|
* @param {String} str
|
|
@@ -1705,7 +1680,7 @@ const sanitizePropertyName = (propertyName, target, tweenType) => {
|
|
|
1705
1680
|
const cachedPropertyName = propertyNamesCache[propertyName];
|
|
1706
1681
|
if (cachedPropertyName) return cachedPropertyName;
|
|
1707
1682
|
else {
|
|
1708
|
-
const lowerCaseName = propertyName ? toLowerCase
|
|
1683
|
+
const lowerCaseName = propertyName ? toLowerCase(propertyName) : propertyName;
|
|
1709
1684
|
propertyNamesCache[propertyName] = lowerCaseName;
|
|
1710
1685
|
return lowerCaseName;
|
|
1711
1686
|
}
|
|
@@ -1738,7 +1713,7 @@ const cleanInlineStyles = (renderable) => {
|
|
|
1738
1713
|
for (let key in cachedTransforms) str += transformsFragmentStrings[key] + cachedTransforms[key] + ") ";
|
|
1739
1714
|
targetStyle.transform = str;
|
|
1740
1715
|
}
|
|
1741
|
-
} else if (tweenHadNoInlineValue) targetStyle.removeProperty(toLowerCase
|
|
1716
|
+
} else if (tweenHadNoInlineValue) targetStyle.removeProperty(toLowerCase(tweenProperty));
|
|
1742
1717
|
else targetStyle[tweenProperty] = originalInlinedValue;
|
|
1743
1718
|
if (animation._tail === tween) animation.targets.forEach((t) => {
|
|
1744
1719
|
if (t.getAttribute && t.getAttribute("style") === emptyString) t.removeAttribute("style");
|
|
@@ -3672,129 +3647,6 @@ const morphTo = (path2, precision = .33) => ($path1) => {
|
|
|
3672
3647
|
return [v1, v2];
|
|
3673
3648
|
};
|
|
3674
3649
|
|
|
3675
|
-
//#endregion
|
|
3676
|
-
//#region src/utils/class-management.ts
|
|
3677
|
-
/**
|
|
3678
|
-
* ### Has Class
|
|
3679
|
-
* - Returns a boolean based on whether the specified element has the specified class
|
|
3680
|
-
* @param {HTMLElement} element Any HTML Element
|
|
3681
|
-
* @param {string} className A string of any class to check for
|
|
3682
|
-
* @returns {boolean} true if the specified element has the specified class, else false
|
|
3683
|
-
*/
|
|
3684
|
-
function hasClass(element, className) {
|
|
3685
|
-
return element.classList.contains(className);
|
|
3686
|
-
}
|
|
3687
|
-
/**
|
|
3688
|
-
* ### Add Class
|
|
3689
|
-
* - Adds the specified classes to the specified elements
|
|
3690
|
-
* @param {Element|HTMLElement|HTMLElement[]|NodeList|string|undefined} elements An HTML Element, an array of HTML Elements, a Node List, a string (as a selector for a querySelector)
|
|
3691
|
-
* @param {string|string[]} classList A string or an array of classes to add to each element
|
|
3692
|
-
*/
|
|
3693
|
-
function addClass(elements, classList) {
|
|
3694
|
-
const elementsType = elements.constructor.name, elementsIsString = typeof elements === "string", classListType = classList.constructor.name, classListIsString = typeof classList === "string";
|
|
3695
|
-
let elementList, classListGroup;
|
|
3696
|
-
switch (elementsType) {
|
|
3697
|
-
case "String":
|
|
3698
|
-
if (elementsIsString) elementList = Array.from(document.querySelectorAll(elements));
|
|
3699
|
-
break;
|
|
3700
|
-
case "NodeList":
|
|
3701
|
-
if (!elementsIsString) elementList = Array.from(elements);
|
|
3702
|
-
break;
|
|
3703
|
-
case "Array":
|
|
3704
|
-
if (!elementsIsString) elementList = elements;
|
|
3705
|
-
break;
|
|
3706
|
-
default: if (elementsType.startsWith("HTML") && !elementsIsString) elementList = [elements];
|
|
3707
|
-
}
|
|
3708
|
-
switch (classListType) {
|
|
3709
|
-
case "String":
|
|
3710
|
-
if (classListIsString) if (classList.split(" ").length >= 2) classListGroup = classList.split(" ");
|
|
3711
|
-
else classListGroup = [classList];
|
|
3712
|
-
break;
|
|
3713
|
-
case "Array":
|
|
3714
|
-
if (!classListIsString) classListGroup = classList;
|
|
3715
|
-
break;
|
|
3716
|
-
}
|
|
3717
|
-
if (!elementList || elementList.length < 1) throw new Error(`Elements are invalid or undefined. elements: ${elements} → elementList: ${elementList}`);
|
|
3718
|
-
if (!classListGroup || classListGroup.length < 1) throw new Error(`Class List is invalid or undefined. classList: ${classList} → classListGroup: ${classListGroup}`);
|
|
3719
|
-
elementList.forEach((element) => classListGroup.forEach((classItem) => {
|
|
3720
|
-
if (hasClass(element, classItem)) return;
|
|
3721
|
-
element.classList.add(classItem);
|
|
3722
|
-
}));
|
|
3723
|
-
}
|
|
3724
|
-
/**
|
|
3725
|
-
* ### Remove Class
|
|
3726
|
-
* - Removes the specified classes from the specified elements
|
|
3727
|
-
* @param {HTMLElement|HTMLElement[]|NodeList|string|undefined} elements An HTML Element, an array of HTML Elements, a Node List, a string (as a selector for a querySelector)
|
|
3728
|
-
* @param {string|string[]} classList A string or an array of classes to remove from each element
|
|
3729
|
-
*/
|
|
3730
|
-
function removeClass(elements, classList) {
|
|
3731
|
-
const elementsType = elements.constructor.name, elementsIsString = typeof elements === "string", classListType = classList.constructor.name, classListIsString = typeof classList === "string";
|
|
3732
|
-
let elementList, classListGroup;
|
|
3733
|
-
switch (elementsType) {
|
|
3734
|
-
case "String":
|
|
3735
|
-
if (elementsIsString) elementList = Array.from(document.querySelectorAll(elements));
|
|
3736
|
-
break;
|
|
3737
|
-
case "NodeList":
|
|
3738
|
-
if (!elementsIsString) elementList = Array.from(elements);
|
|
3739
|
-
break;
|
|
3740
|
-
case "Array":
|
|
3741
|
-
if (!elementsIsString) elementList = elements;
|
|
3742
|
-
break;
|
|
3743
|
-
default: if (elementsType.startsWith("HTML") && !elementsIsString) elementList = [elements];
|
|
3744
|
-
}
|
|
3745
|
-
switch (classListType) {
|
|
3746
|
-
case "String":
|
|
3747
|
-
if (classListIsString) if (classList.split(" ").length >= 2) classListGroup = classList.split(" ");
|
|
3748
|
-
else classListGroup = [classList];
|
|
3749
|
-
break;
|
|
3750
|
-
case "Array":
|
|
3751
|
-
if (!classListIsString) classListGroup = classList;
|
|
3752
|
-
break;
|
|
3753
|
-
}
|
|
3754
|
-
if (!elementList || elementList.length < 1) throw new Error(`Elements are invalid or undefined. elements: ${elements} → elementList: ${elementList}`);
|
|
3755
|
-
if (!classListGroup || classListGroup.length < 1) throw new Error(`Class List is invalid or undefined. classList: ${classList} → classListGroup: ${classListGroup}`);
|
|
3756
|
-
elementList.forEach((element) => classListGroup.forEach((classItem) => {
|
|
3757
|
-
if (!hasClass(element, classItem)) return;
|
|
3758
|
-
element.classList.remove(classItem);
|
|
3759
|
-
}));
|
|
3760
|
-
}
|
|
3761
|
-
/**
|
|
3762
|
-
* ### Toggle Class
|
|
3763
|
-
* - Toggles the specified classes on the specified elements
|
|
3764
|
-
* @param {HTMLElement|HTMLElement[]|NodeList|string|undefined} elements An HTML Element, an array of HTML Elements, a Node List, a string (as a selector for a querySelector)
|
|
3765
|
-
* @param {string|string[]} classList A string or an array of classes to toggle on each element
|
|
3766
|
-
*/
|
|
3767
|
-
function toggleClass(elements, classList) {
|
|
3768
|
-
const elementsType = elements.constructor.name, elementsIsString = typeof elements === "string", classListType = classList.constructor.name, classListIsString = typeof classList === "string";
|
|
3769
|
-
let elementList, classListGroup;
|
|
3770
|
-
switch (elementsType) {
|
|
3771
|
-
case "String":
|
|
3772
|
-
if (elementsIsString) elementList = Array.from(document.querySelectorAll(elements));
|
|
3773
|
-
break;
|
|
3774
|
-
case "NodeList":
|
|
3775
|
-
if (!elementsIsString) elementList = Array.from(elements);
|
|
3776
|
-
break;
|
|
3777
|
-
case "Array":
|
|
3778
|
-
if (!elementsIsString) elementList = elements;
|
|
3779
|
-
break;
|
|
3780
|
-
default: if (elementsType.startsWith("HTML") && !elementsIsString) elementList = [elements];
|
|
3781
|
-
}
|
|
3782
|
-
switch (classListType) {
|
|
3783
|
-
case "String":
|
|
3784
|
-
if (classListIsString) if (classList.split(" ").length >= 2) classListGroup = classList.split(" ");
|
|
3785
|
-
else classListGroup = [classList];
|
|
3786
|
-
break;
|
|
3787
|
-
case "Array":
|
|
3788
|
-
if (!classListIsString) classListGroup = classList;
|
|
3789
|
-
break;
|
|
3790
|
-
}
|
|
3791
|
-
if (!elementList || elementList.length < 1) throw new Error(`Elements are invalid or undefined. elements: ${elements} → elementList: ${elementList}`);
|
|
3792
|
-
if (!classListGroup || classListGroup.length < 1) throw new Error(`Class List is invalid or undefined. classList: ${classList} → classListGroup: ${classListGroup}`);
|
|
3793
|
-
elementList.forEach((element) => classListGroup.forEach((classItem) => {
|
|
3794
|
-
element.classList.toggle(classItem);
|
|
3795
|
-
}));
|
|
3796
|
-
}
|
|
3797
|
-
|
|
3798
3650
|
//#endregion
|
|
3799
3651
|
//#region src/utils/get-date.ts
|
|
3800
3652
|
/** The current date as a Date object */
|
|
@@ -3833,25 +3685,6 @@ const currentMonthName = getMonthName();
|
|
|
3833
3685
|
/** The name of the current day of the week */
|
|
3834
3686
|
const currentWeekdayName = getWeekdayName();
|
|
3835
3687
|
/**
|
|
3836
|
-
* ### Days In Month
|
|
3837
|
-
* - Returns the number of days in the specified month.
|
|
3838
|
-
* @param {Date} date A Date object representing the month to get the number of days for. (Preset to the current date)
|
|
3839
|
-
* @returns {number} The number of days in the specified month.
|
|
3840
|
-
*/
|
|
3841
|
-
function daysInMonth(date = d) {
|
|
3842
|
-
const selectedYear = date.getFullYear(), selectedMonth = date.getMonth() + 1;
|
|
3843
|
-
return new Date(selectedYear, selectedMonth, 0).getDate();
|
|
3844
|
-
}
|
|
3845
|
-
/**
|
|
3846
|
-
* ### First of Month
|
|
3847
|
-
* - Returns the first day of the specified month.
|
|
3848
|
-
* @param {Date} date A Date object representing the month to get the first day for. (Preset to current date)
|
|
3849
|
-
* @returns {Date} A Date object of the given month, with the first day.
|
|
3850
|
-
*/
|
|
3851
|
-
function firstOfMonth(date = d) {
|
|
3852
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
3853
|
-
}
|
|
3854
|
-
/**
|
|
3855
3688
|
* ### Get Date
|
|
3856
3689
|
* - Returns the date with two digits
|
|
3857
3690
|
* @param {number|Date} date The date to get date
|
|
@@ -3876,28 +3709,6 @@ function getHours(hours = d) {
|
|
|
3876
3709
|
return formattedHours;
|
|
3877
3710
|
}
|
|
3878
3711
|
/**
|
|
3879
|
-
* ### Get Hours in 12
|
|
3880
|
-
* - Returns the hour based on the specified 24 hour value in a 12 hour format
|
|
3881
|
-
* @param {number|Date} hour The hour to be converted to 12 hour format
|
|
3882
|
-
* @returns {number} The hour in a 12 hour format
|
|
3883
|
-
*/
|
|
3884
|
-
function getHoursIn12(hour = d) {
|
|
3885
|
-
if (typeof hour !== "number") hour = hour.getHours();
|
|
3886
|
-
if (hour > 12) return hour - 12;
|
|
3887
|
-
return hour;
|
|
3888
|
-
}
|
|
3889
|
-
/**
|
|
3890
|
-
* ### Get Meridian from Hour
|
|
3891
|
-
* - Returns either 'pm' or 'am' based on the specified 24 hour value
|
|
3892
|
-
* @param {number|Date} hour The hour to get the meridian from
|
|
3893
|
-
* @returns {'am'|'pm'} The meridian for the given hour
|
|
3894
|
-
*/
|
|
3895
|
-
function getMeridianFromHour(hour = d) {
|
|
3896
|
-
if (typeof hour !== "number") hour = hour.getHours();
|
|
3897
|
-
if (hour >= 12) return "pm";
|
|
3898
|
-
return "am";
|
|
3899
|
-
}
|
|
3900
|
-
/**
|
|
3901
3712
|
* ### Get Milliseconds
|
|
3902
3713
|
* - Returns the milliseconds with two digits
|
|
3903
3714
|
* @param {number|Date} milliseconds The date to get milliseconds
|
|
@@ -3933,9 +3744,6 @@ function getMonth(month = d) {
|
|
|
3933
3744
|
if (formattedMonth.length === 1) formattedMonth = `0${formattedMonth}`;
|
|
3934
3745
|
return formattedMonth;
|
|
3935
3746
|
}
|
|
3936
|
-
function getMonthIndexFromName(name) {
|
|
3937
|
-
return monthNamesList.findIndex((monthName) => monthName === name);
|
|
3938
|
-
}
|
|
3939
3747
|
/**
|
|
3940
3748
|
* ### Get Month Name
|
|
3941
3749
|
* - Returns the name of the specified month
|
|
@@ -3947,26 +3755,6 @@ function getMonthName(date = d) {
|
|
|
3947
3755
|
return monthNamesList[date.getMonth()];
|
|
3948
3756
|
}
|
|
3949
3757
|
/**
|
|
3950
|
-
* ### Get Next Month
|
|
3951
|
-
* - Returns the number of the following month from the specified month
|
|
3952
|
-
* @param {Date} date The Date object representing the month to get the following month from (Preset to current date)
|
|
3953
|
-
* @returns {number} The indexed month of the following month
|
|
3954
|
-
*/
|
|
3955
|
-
function getNextMonth(date = d) {
|
|
3956
|
-
const givenMonth = date.getMonth();
|
|
3957
|
-
return givenMonth === 11 ? 0 : givenMonth + 1;
|
|
3958
|
-
}
|
|
3959
|
-
/**
|
|
3960
|
-
* ### Get Previous Month
|
|
3961
|
-
* - Returns the number of the previous month from the specified month
|
|
3962
|
-
* @param {Date} date The Date object representing the month to get the previous month from (Preset to current date)
|
|
3963
|
-
* @returns {number} The indexed month of the previous month
|
|
3964
|
-
*/
|
|
3965
|
-
function getPreviousMonth(date = d) {
|
|
3966
|
-
const givenMonth = date.getMonth();
|
|
3967
|
-
return givenMonth === 0 ? 11 : givenMonth - 1;
|
|
3968
|
-
}
|
|
3969
|
-
/**
|
|
3970
3758
|
* ### Get Seconds
|
|
3971
3759
|
* - Returns the seconds with two digits
|
|
3972
3760
|
* @param {number|Date} seconds The date to get seconds
|
|
@@ -3979,25 +3767,6 @@ function getSeconds(seconds = d) {
|
|
|
3979
3767
|
return formattedSeconds;
|
|
3980
3768
|
}
|
|
3981
3769
|
/**
|
|
3982
|
-
* ### Get User Readable Date
|
|
3983
|
-
* - Returns a string of the current date in a user-friendly way
|
|
3984
|
-
* - Includes `'Yesterday'`, '`Today'`, and `'Tomorrow'`
|
|
3985
|
-
* @param date (default: `new Date()`)
|
|
3986
|
-
* @returns {'Today'|'Tomorrow'|'Yesterday'|string} `'weekday, month day, year'` | `'Yesterday'` | `'Today'` | `'Tomorrow'`
|
|
3987
|
-
*/
|
|
3988
|
-
function getUserReadableDate(date = d) {
|
|
3989
|
-
const dateTime = date.getTime();
|
|
3990
|
-
const today = /* @__PURE__ */ new Date();
|
|
3991
|
-
if (dateTime === today.getTime()) return "Today";
|
|
3992
|
-
if (dateTime === (/* @__PURE__ */ new Date(today.getDate() - 1)).getTime()) return "Yesterday";
|
|
3993
|
-
if (dateTime === new Date(today.getDate() + 1).getTime()) return "Tomorrow";
|
|
3994
|
-
const thisYear = today.getFullYear();
|
|
3995
|
-
return toFullDateString(date, {
|
|
3996
|
-
weekday: "code",
|
|
3997
|
-
year: !(date.getFullYear() === thisYear)
|
|
3998
|
-
});
|
|
3999
|
-
}
|
|
4000
|
-
/**
|
|
4001
3770
|
* ### Get Weekday Name
|
|
4002
3771
|
* - Returns the weekday name of the specified day
|
|
4003
3772
|
* @param {number | Date} weekday A Date object or number representing the day to get the weekday name from. (Preset to the current date)
|
|
@@ -4007,76 +3776,6 @@ function getWeekdayName(weekday = d) {
|
|
|
4007
3776
|
if (typeof weekday === "number") return weekdayNamesList[weekday];
|
|
4008
3777
|
return weekdayNamesList[weekday.getDay()];
|
|
4009
3778
|
}
|
|
4010
|
-
/**
|
|
4011
|
-
* ### Get Years in Range
|
|
4012
|
-
* - Returns an array of years in between the specified minimum and maximum years
|
|
4013
|
-
* @param {number} minYear The minimum year
|
|
4014
|
-
* @param {number} maxYear The maximum year
|
|
4015
|
-
* @returns {number[]} Array of years
|
|
4016
|
-
*/
|
|
4017
|
-
function getYearsInRange(minYear = 0, maxYear = year) {
|
|
4018
|
-
const yearList = [];
|
|
4019
|
-
for (let selectedYear = minYear; selectedYear <= maxYear; selectedYear++) yearList.push(selectedYear);
|
|
4020
|
-
return yearList;
|
|
4021
|
-
}
|
|
4022
|
-
/**
|
|
4023
|
-
* ### To Full Date String
|
|
4024
|
-
* - Returns a formatted string to display the date
|
|
4025
|
-
* @param {Date} date (default: `new Date()`)
|
|
4026
|
-
* @param {ToFullDateStringOptionsProps} options Change how to display the weekday, month name, day of the month, and year.
|
|
4027
|
-
* @returns {string} '`weekday`, `month` `day`, `year`'
|
|
4028
|
-
*/
|
|
4029
|
-
function toFullDateString(date = d, options) {
|
|
4030
|
-
let weekdayName = getWeekdayName(date), monthName = getMonthName(date), dayOfMonth = date.getDate(), year = date.getFullYear().toString();
|
|
4031
|
-
if (options) {
|
|
4032
|
-
const includesWeekday = options.weekday !== false, includesDay = options.day !== false, includesMonth = options.month !== false, includesYear = options.year !== false;
|
|
4033
|
-
if (includesWeekday) {
|
|
4034
|
-
if (options.weekday === "code") weekdayName = weekdayName.slice(0, 3);
|
|
4035
|
-
if (includesMonth || includesDay || includesYear) weekdayName += ", ";
|
|
4036
|
-
} else weekdayName = "";
|
|
4037
|
-
if (includesMonth) {
|
|
4038
|
-
if (options.month === "code") monthName = monthName.slice(0, 3);
|
|
4039
|
-
if (includesDay) monthName += " ";
|
|
4040
|
-
} else monthName = "";
|
|
4041
|
-
if (!includesDay) dayOfMonth = "";
|
|
4042
|
-
if (includesYear) {
|
|
4043
|
-
if (options.year === "code") year = year.slice(-2);
|
|
4044
|
-
if (includesMonth || includesDay) year = ", " + year;
|
|
4045
|
-
} else year = "";
|
|
4046
|
-
}
|
|
4047
|
-
return weekdayName + monthName + dayOfMonth + year;
|
|
4048
|
-
}
|
|
4049
|
-
/**
|
|
4050
|
-
* ### Get User Readable Date From Timestampz
|
|
4051
|
-
* - Returns a string of the current date in a user-friendly way
|
|
4052
|
-
* - Includes `'Yesterday'`, '`Today'`, and `'Tomorrow'`
|
|
4053
|
-
* @param string
|
|
4054
|
-
* @returns {'Today'|'Tomorrow'|'Yesterday'|string} `'weekday, month day, year'` | `'Yesterday'` | `'Today'` | `'Tomorrow'`
|
|
4055
|
-
*/
|
|
4056
|
-
function getUserReadableDateFromTimestampz(timestampz) {
|
|
4057
|
-
const [date, time] = timestampz.split("T") || [];
|
|
4058
|
-
const [year, month, day] = date?.split("-").map((string) => Number(string)) || [];
|
|
4059
|
-
const [hms, _timezone] = time?.includes("+") ? time?.split("+") : time?.split("-") || [];
|
|
4060
|
-
const [hours, minutes, seconds] = hms?.split(":").map((string) => Number(string)) || [];
|
|
4061
|
-
return getUserReadableDate(new Date(year, month - 1, day, hours, minutes, seconds));
|
|
4062
|
-
}
|
|
4063
|
-
function getLocalTime(time) {
|
|
4064
|
-
const date = /* @__PURE__ */ new Date(), [hours, minutes] = typeof time === "string" ? time.split(":") : time;
|
|
4065
|
-
const timezone = getTimezone();
|
|
4066
|
-
console.log(timezone);
|
|
4067
|
-
date.setUTCHours(Number(hours));
|
|
4068
|
-
date.setMinutes(Number(minutes));
|
|
4069
|
-
return date.toLocaleTimeString([], {
|
|
4070
|
-
hour: "numeric",
|
|
4071
|
-
minute: "2-digit",
|
|
4072
|
-
hour12: true
|
|
4073
|
-
});
|
|
4074
|
-
}
|
|
4075
|
-
function getTimezone() {
|
|
4076
|
-
const date = /* @__PURE__ */ new Date();
|
|
4077
|
-
const timezonePart = Intl.DateTimeFormat("en-US", { timeZoneName: "short" }).formatToParts(date).find((part) => part.type === "timeZoneName");
|
|
4078
|
-
return timezonePart ? timezonePart.value : "";
|
|
4079
|
-
}
|
|
4080
3779
|
|
|
4081
3780
|
//#endregion
|
|
4082
3781
|
//#region src/utils/math.ts
|
|
@@ -4084,156 +3783,12 @@ function easeOutExpo(time, start, end, duration) {
|
|
|
4084
3783
|
return time == duration ? start + end : end * (-Math.pow(2, -10 * time / duration) + 1) + start;
|
|
4085
3784
|
}
|
|
4086
3785
|
|
|
4087
|
-
//#endregion
|
|
4088
|
-
//#region src/utils/regex.ts
|
|
4089
|
-
const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
4090
|
-
/**
|
|
4091
|
-
* # Is Email
|
|
4092
|
-
* Checks whether the specified string is in email format
|
|
4093
|
-
*/
|
|
4094
|
-
function isEmail(email) {
|
|
4095
|
-
return emailRegex.test(email);
|
|
4096
|
-
}
|
|
4097
|
-
const telRegex = /(?:\+1\s|1\s|)?\d{3}\.\d{3}\.\d{4}|(?:\+1\s|1\s|)?\d{3}-\d{3}-\d{4}|(?:\+1\s|1\s|)?\(\d{3}\) \d{3}-\d{4}|(?:\+1\s|1\s|\+1|1|)?\d{10}/;
|
|
4098
|
-
/**
|
|
4099
|
-
* # Is Phone Number
|
|
4100
|
-
* Checks whether the specified string is in phone number format
|
|
4101
|
-
*/
|
|
4102
|
-
function isPhoneNumber(tel) {
|
|
4103
|
-
return telRegex.test(tel);
|
|
4104
|
-
}
|
|
4105
|
-
|
|
4106
|
-
//#endregion
|
|
4107
|
-
//#region src/utils/string-manipulation.ts
|
|
4108
|
-
/**
|
|
4109
|
-
* # Format Phone Number
|
|
4110
|
-
* Converts any string containing at least 10 numbers to a formatted phone number
|
|
4111
|
-
* @param {string} phoneNumber
|
|
4112
|
-
* @param options
|
|
4113
|
-
* @property {string} `countryCode`
|
|
4114
|
-
* @property {'continuous' | 'dot' | 'hyphenated' | 'none' | 'space' | 'standard'} `format`
|
|
4115
|
-
*
|
|
4116
|
-
* Input: a555b555c5555d
|
|
4117
|
-
*
|
|
4118
|
-
* @example
|
|
4119
|
-
* format: 'continuous'
|
|
4120
|
-
* countryCode: '1'
|
|
4121
|
-
* returns: +1 5555555555
|
|
4122
|
-
*
|
|
4123
|
-
* @example
|
|
4124
|
-
* format: 'dot'
|
|
4125
|
-
* returns: 555.555.5555
|
|
4126
|
-
*
|
|
4127
|
-
* @example
|
|
4128
|
-
* format: 'hyphenated'
|
|
4129
|
-
* returns: 555-555-5555
|
|
4130
|
-
*
|
|
4131
|
-
* @example
|
|
4132
|
-
* format: 'none'
|
|
4133
|
-
* countryCode: '1'
|
|
4134
|
-
* returns: +1 a555b555c5555d
|
|
4135
|
-
*
|
|
4136
|
-
* @example
|
|
4137
|
-
* format: 'space'
|
|
4138
|
-
* returns: 555 555 5555
|
|
4139
|
-
*
|
|
4140
|
-
* @example
|
|
4141
|
-
* format: 'standard' (default)
|
|
4142
|
-
* returns: (555) 555-5555
|
|
4143
|
-
*
|
|
4144
|
-
* @returns {string} string formatted
|
|
4145
|
-
*/
|
|
4146
|
-
function formatPhoneNumber(phoneNumber, options) {
|
|
4147
|
-
const format = options?.format || "standard";
|
|
4148
|
-
if (format !== "none") phoneNumber = phoneNumber.replace(/\D/g, "").slice(-10);
|
|
4149
|
-
switch (format) {
|
|
4150
|
-
case "dot":
|
|
4151
|
-
phoneNumber = phoneNumber.split("").map((char, index) => {
|
|
4152
|
-
if (index === 2) return `${char}.`;
|
|
4153
|
-
if (index === 5) return `${char}.`;
|
|
4154
|
-
return char;
|
|
4155
|
-
}).join("");
|
|
4156
|
-
break;
|
|
4157
|
-
case "hyphenated":
|
|
4158
|
-
phoneNumber = phoneNumber.split("").map((char, index) => {
|
|
4159
|
-
if (index === 2) return `${char}-`;
|
|
4160
|
-
if (index === 5) return `${char}-`;
|
|
4161
|
-
return char;
|
|
4162
|
-
}).join("");
|
|
4163
|
-
break;
|
|
4164
|
-
case "space":
|
|
4165
|
-
phoneNumber = phoneNumber.split("").map((char, index) => {
|
|
4166
|
-
if (index === 2) return `${char} `;
|
|
4167
|
-
if (index === 5) return `${char} `;
|
|
4168
|
-
return char;
|
|
4169
|
-
}).join("");
|
|
4170
|
-
break;
|
|
4171
|
-
case "standard": phoneNumber = phoneNumber.split("").map((char, index) => {
|
|
4172
|
-
if (index === 0) return `(${char}`;
|
|
4173
|
-
if (index === 2) return `${char}) `;
|
|
4174
|
-
if (index === 5) return `${char}-`;
|
|
4175
|
-
return char;
|
|
4176
|
-
}).join("");
|
|
4177
|
-
}
|
|
4178
|
-
return `${options?.countryCode ? `+${options?.countryCode} ` : ""}` + phoneNumber;
|
|
4179
|
-
}
|
|
4180
|
-
/**
|
|
4181
|
-
* ### Split Camel Case
|
|
4182
|
-
* - Separates a camel case string with a joiner (default: ' ')
|
|
4183
|
-
* @param {string} string
|
|
4184
|
-
* @returns {string} string
|
|
4185
|
-
*/
|
|
4186
|
-
function splitCamelCase(string, joiner = " ") {
|
|
4187
|
-
if (string[0].match(/[A-Z0-9]/) || string.includes(" ")) return string;
|
|
4188
|
-
let lastChar = "";
|
|
4189
|
-
return string.split("").map((char) => {
|
|
4190
|
-
let returnedString = char;
|
|
4191
|
-
if (char.match(/[A-Z0-9]/)) returnedString = ` ${char}`;
|
|
4192
|
-
if (lastChar.match(/[0-9]/) && char.match(/[0-9]/)) returnedString = char;
|
|
4193
|
-
lastChar = char;
|
|
4194
|
-
return returnedString;
|
|
4195
|
-
}).join(joiner);
|
|
4196
|
-
}
|
|
4197
|
-
/**
|
|
4198
|
-
* ### To Camel Case
|
|
4199
|
-
* - Converts any string to camel case based on spaces
|
|
4200
|
-
* - Eliminates no letter-number characters
|
|
4201
|
-
* @param {string} string
|
|
4202
|
-
* @returns {string} string
|
|
4203
|
-
*/
|
|
4204
|
-
function toCamelCase(string, delimiter = " ") {
|
|
4205
|
-
if (typeof string !== "string") return string;
|
|
4206
|
-
return string.toLowerCase().replace(/[^a-z0-9]/gi, delimiter).split(delimiter).map((str, index) => index === 0 ? str : str.substring(0, 1).toUpperCase() + str.substring(1, str.length).toLowerCase()).join("");
|
|
4207
|
-
}
|
|
4208
|
-
/**
|
|
4209
|
-
* # To Lower Case
|
|
4210
|
-
* Converts a string to lowercase, and offers easy string replacements for creating snake case, kebab case, or your own.
|
|
4211
|
-
* @param str - The string to convert to lowercase.
|
|
4212
|
-
* @param options - Configuration options.
|
|
4213
|
-
* @param options[0] - The delimiter to split the string. Defaults to space.
|
|
4214
|
-
* @param options[1] - The string to join the parts back together. Defaults to space.
|
|
4215
|
-
* @returns The lowercase version of the input string, with the replacements, if provided.
|
|
4216
|
-
*/
|
|
4217
|
-
function toLowerCase(str, [delimiter, joiner]) {
|
|
4218
|
-
return str.toLowerCase().replaceAll(delimiter || " ", joiner || " ");
|
|
4219
|
-
}
|
|
4220
|
-
/**
|
|
4221
|
-
* ### To Title Case
|
|
4222
|
-
* - Converts any string to title case based on spaces
|
|
4223
|
-
* @param {string} string
|
|
4224
|
-
* @returns {string} string
|
|
4225
|
-
*/
|
|
4226
|
-
function toTitleCase(string, delimiter = " ") {
|
|
4227
|
-
if (typeof string !== "string") return string;
|
|
4228
|
-
return string.toLowerCase().split(delimiter).map((str) => str.substring(0, 1).toUpperCase() + str.substring(1, str.length).toLowerCase()).join(" ");
|
|
4229
|
-
}
|
|
4230
|
-
|
|
4231
3786
|
//#endregion
|
|
4232
3787
|
//#region src/components/chevron-up-down-anime.tsx
|
|
4233
3788
|
function ChevronUpDownAnime({ className, isUp = false }) {
|
|
4234
|
-
const firstLoadRef =
|
|
4235
|
-
const controlPathRef =
|
|
4236
|
-
|
|
3789
|
+
const firstLoadRef = useRef(true);
|
|
3790
|
+
const controlPathRef = useRef(null), chevronDownRef = useRef(null), chevronUpRef = useRef(null);
|
|
3791
|
+
useEffect(() => {
|
|
4237
3792
|
if (firstLoadRef.current) {
|
|
4238
3793
|
firstLoadRef.current = false;
|
|
4239
3794
|
return;
|
|
@@ -4250,57 +3805,85 @@ function ChevronUpDownAnime({ className, isUp = false }) {
|
|
|
4250
3805
|
ease: "outExpo"
|
|
4251
3806
|
});
|
|
4252
3807
|
}, [isUp]);
|
|
4253
|
-
return
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
3808
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
3809
|
+
viewBox: "0 0 69 39",
|
|
3810
|
+
className: twMerge("w-4", className),
|
|
3811
|
+
children: [/* @__PURE__ */ jsx("path", {
|
|
3812
|
+
d: "M3.997,4.008l30.498,30.989l30.498,-30.989",
|
|
3813
|
+
className: "fill-none stroke-8",
|
|
3814
|
+
strokeLinecap: "round",
|
|
3815
|
+
ref: controlPathRef
|
|
3816
|
+
}), /* @__PURE__ */ jsxs("g", {
|
|
3817
|
+
className: "opacity-0",
|
|
3818
|
+
children: [/* @__PURE__ */ jsx("path", {
|
|
3819
|
+
d: "M3.997,4.008l30.498,30.989l30.498,-30.989",
|
|
3820
|
+
ref: chevronDownRef
|
|
3821
|
+
}), /* @__PURE__ */ jsx("path", {
|
|
3822
|
+
d: "M3.997,34.997l30.498,-30.989l30.498,30.989",
|
|
3823
|
+
ref: chevronUpRef
|
|
3824
|
+
})]
|
|
3825
|
+
})]
|
|
3826
|
+
});
|
|
4262
3827
|
}
|
|
4263
3828
|
|
|
4264
3829
|
//#endregion
|
|
4265
3830
|
//#region src/components/details.tsx
|
|
4266
3831
|
function DetailsSummary({ arrow = true, children, className, onClick, ...props }) {
|
|
4267
|
-
const [isUp, setIsUp] =
|
|
3832
|
+
const [isUp, setIsUp] = useState(false);
|
|
4268
3833
|
const handleClick = (e) => {
|
|
4269
3834
|
setIsUp((previous) => !previous);
|
|
4270
3835
|
onClick?.(e);
|
|
4271
3836
|
};
|
|
4272
|
-
return
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
3837
|
+
return /* @__PURE__ */ jsx(DisclosureButton, {
|
|
3838
|
+
...props,
|
|
3839
|
+
as: Button,
|
|
3840
|
+
className: twMerge("w-full", className, Boolean(arrow) && "grid grid-cols-[1fr_1rem] gap-2"),
|
|
3841
|
+
onClick: handleClick,
|
|
3842
|
+
role: "summary",
|
|
3843
|
+
children: (bag) => /* @__PURE__ */ jsxs(Fragment, { children: [typeof children === "function" ? children(bag) : children, arrow && (typeof arrow === "boolean" ? /* @__PURE__ */ jsx(ChevronUpDownAnime, {
|
|
3844
|
+
className: "absolute top-1/2 right-3 block -translate-y-1/2",
|
|
3845
|
+
isUp
|
|
3846
|
+
}) : arrow)] })
|
|
3847
|
+
});
|
|
4279
3848
|
}
|
|
4280
3849
|
function DetailsBody({ children, className, ...props }) {
|
|
4281
|
-
return
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
3850
|
+
return /* @__PURE__ */ jsx(DisclosurePanel, {
|
|
3851
|
+
...props,
|
|
3852
|
+
className: twMerge("grid-rows-1fr transition-rows ease-exponential data-closed:grid-rows-0fr grid duration-500", className),
|
|
3853
|
+
transition: true,
|
|
3854
|
+
children: (bag) => /* @__PURE__ */ jsx("div", {
|
|
3855
|
+
className: "overflow-y-hidden px-2 pt-3 pb-1",
|
|
3856
|
+
children: typeof children === "function" ? children(bag) : children
|
|
3857
|
+
})
|
|
3858
|
+
});
|
|
4286
3859
|
}
|
|
4287
3860
|
function Details({ as = "div", className, ...props }) {
|
|
4288
|
-
return
|
|
3861
|
+
return /* @__PURE__ */ jsx(Disclosure, {
|
|
3862
|
+
...props,
|
|
3863
|
+
as,
|
|
3864
|
+
className: twMerge("rounded-2xl bg-neutral-500/25 p-2", className),
|
|
3865
|
+
role: "details"
|
|
3866
|
+
});
|
|
4289
3867
|
}
|
|
4290
3868
|
|
|
4291
3869
|
//#endregion
|
|
4292
3870
|
//#region src/components/drop-down.tsx
|
|
4293
3871
|
function DropDownButton({ arrow = true, as, children, className, ...props }) {
|
|
4294
|
-
return
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
3872
|
+
return /* @__PURE__ */ jsx(MenuButton, {
|
|
3873
|
+
...props,
|
|
3874
|
+
as: as || "button",
|
|
3875
|
+
className: twJoin("group/button", className),
|
|
3876
|
+
children: (bag) => /* @__PURE__ */ jsxs(Fragment, { children: [typeof children === "function" ? children(bag) : children, arrow && (typeof arrow === "boolean" ? /* @__PURE__ */ jsx(ChevronUpDownAnime, {
|
|
3877
|
+
className: "-mr-1",
|
|
3878
|
+
isUp: bag.open
|
|
3879
|
+
}) : arrow)] })
|
|
3880
|
+
});
|
|
4301
3881
|
}
|
|
4302
3882
|
function DropDownItem({ as, ...props }) {
|
|
4303
|
-
return
|
|
3883
|
+
return /* @__PURE__ */ jsx(MenuItem, {
|
|
3884
|
+
...props,
|
|
3885
|
+
as: as || "div"
|
|
3886
|
+
});
|
|
4304
3887
|
}
|
|
4305
3888
|
function DropDownItems({ anchor, children, className, containerClassName, style, ...props }) {
|
|
4306
3889
|
const getAnchorProps = () => {
|
|
@@ -4319,41 +3902,53 @@ function DropDownItems({ anchor, children, className, containerClassName, style,
|
|
|
4319
3902
|
return initialAnchor;
|
|
4320
3903
|
};
|
|
4321
3904
|
const anchorProps = getAnchorProps();
|
|
4322
|
-
return
|
|
4323
|
-
...
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
3905
|
+
return /* @__PURE__ */ jsx(MenuItems, {
|
|
3906
|
+
...props,
|
|
3907
|
+
anchor: anchorProps,
|
|
3908
|
+
className: twMerge("grid-rows-1fr transition-rows ease-exponential not-data-open:not-data-enter:not-data-leave:grid-rows-0fr data-closed:grid-rows-0fr grid rounded-xl shadow-xl duration-500", containerClassName),
|
|
3909
|
+
static: props.static,
|
|
3910
|
+
style: {
|
|
3911
|
+
...style,
|
|
3912
|
+
minWidth: "var(--button-width)"
|
|
3913
|
+
},
|
|
3914
|
+
transition: true,
|
|
3915
|
+
children: (bag) => /* @__PURE__ */ jsx("div", {
|
|
3916
|
+
className: "overflow-y-scroll",
|
|
3917
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
3918
|
+
className: twMerge("rounded-xl bg-neutral-50/20 px-6 py-5 backdrop-blur-md backdrop-brightness-150", className),
|
|
3919
|
+
children: typeof children === "function" ? children(bag) : children
|
|
3920
|
+
})
|
|
3921
|
+
})
|
|
3922
|
+
});
|
|
4332
3923
|
}
|
|
4333
3924
|
function DropDownSection({ children, label, labelProps, separatorAbove, separatorBelow, ...props }) {
|
|
4334
3925
|
const { labelClassName, ...restLabelProps } = {
|
|
4335
3926
|
labelClassName: labelProps?.className || "",
|
|
4336
3927
|
...labelProps
|
|
4337
3928
|
};
|
|
4338
|
-
return
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
3929
|
+
return /* @__PURE__ */ jsx(MenuSection, {
|
|
3930
|
+
...props,
|
|
3931
|
+
children: (sectionBag) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3932
|
+
separatorAbove && /* @__PURE__ */ jsx(DropDownSeparator, {}),
|
|
3933
|
+
label && /* @__PURE__ */ jsx(MenuHeading, {
|
|
3934
|
+
...restLabelProps,
|
|
3935
|
+
className: (headingBag) => twMerge("text-[larger] font-bold text-current/80", typeof labelClassName === "function" ? labelClassName(headingBag) : labelClassName),
|
|
3936
|
+
children: label
|
|
3937
|
+
}),
|
|
3938
|
+
typeof children === "function" ? children(sectionBag) : children,
|
|
3939
|
+
separatorBelow && /* @__PURE__ */ jsx(DropDownSeparator, {})
|
|
3940
|
+
] })
|
|
3941
|
+
});
|
|
4351
3942
|
}
|
|
4352
3943
|
function DropDownSeparator({ as, className, ...props }) {
|
|
4353
|
-
return
|
|
3944
|
+
return /* @__PURE__ */ jsx(MenuSeparator, {
|
|
3945
|
+
...props,
|
|
3946
|
+
as: as || "div",
|
|
3947
|
+
className: (bag) => twMerge("my-4 block h-px rounded-full bg-neutral-950/20", typeof className === "function" ? className(bag) : className)
|
|
3948
|
+
});
|
|
4354
3949
|
}
|
|
4355
3950
|
function DropDown(props) {
|
|
4356
|
-
return
|
|
3951
|
+
return /* @__PURE__ */ jsx(Menu, { ...props });
|
|
4357
3952
|
}
|
|
4358
3953
|
|
|
4359
3954
|
//#endregion
|
|
@@ -4361,40 +3956,45 @@ function DropDown(props) {
|
|
|
4361
3956
|
function Fieldset({ children, className, legend, legendProps, name, ...props }) {
|
|
4362
3957
|
const { className: legendClassName, ...restLegendProps } = legendProps || {};
|
|
4363
3958
|
name = legend || name;
|
|
4364
|
-
return
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
3959
|
+
return /* @__PURE__ */ jsx(Fieldset$1, {
|
|
3960
|
+
...props,
|
|
3961
|
+
name,
|
|
3962
|
+
className: (bag) => twMerge("contents", typeof className === "function" ? className(bag) : className),
|
|
3963
|
+
children: (bag) => /* @__PURE__ */ jsxs(Fragment, { children: [legend && /* @__PURE__ */ jsx(Legend, {
|
|
3964
|
+
...restLegendProps,
|
|
3965
|
+
className: twMerge("text-xl font-bold text-current/80", typeof legendClassName === "function" ? legendClassName(bag) : legendClassName),
|
|
3966
|
+
children: legend
|
|
3967
|
+
}), typeof children === "function" ? children(bag) : children] })
|
|
3968
|
+
});
|
|
4373
3969
|
}
|
|
4374
3970
|
|
|
4375
3971
|
//#endregion
|
|
4376
3972
|
//#region src/components/form.tsx
|
|
4377
3973
|
function Form({ children, className, ...props }) {
|
|
4378
|
-
return
|
|
4379
|
-
|
|
4380
|
-
|
|
3974
|
+
return /* @__PURE__ */ jsx("form", {
|
|
3975
|
+
...props,
|
|
3976
|
+
className: twMerge("grid gap-3", className),
|
|
3977
|
+
children
|
|
3978
|
+
});
|
|
4381
3979
|
}
|
|
4382
3980
|
|
|
4383
3981
|
//#endregion
|
|
4384
3982
|
//#region src/components/ghost.tsx
|
|
4385
3983
|
function Ghost({ children, className, ...props }) {
|
|
4386
|
-
return
|
|
4387
|
-
|
|
4388
|
-
|
|
3984
|
+
return /* @__PURE__ */ jsx("div", {
|
|
3985
|
+
...props,
|
|
3986
|
+
className: twMerge("block w-24 max-w-full animate-pulse rounded bg-neutral-500/15 backdrop-brightness-110", className),
|
|
3987
|
+
children: children || /* @__PURE__ */ jsx(Fragment, { children: "\xA0" })
|
|
3988
|
+
});
|
|
4389
3989
|
}
|
|
4390
3990
|
|
|
4391
3991
|
//#endregion
|
|
4392
3992
|
//#region src/components/heading.tsx
|
|
4393
3993
|
function getTextFromChildren(children) {
|
|
4394
3994
|
let text = "";
|
|
4395
|
-
|
|
3995
|
+
Children.forEach(children, (child) => {
|
|
4396
3996
|
if (typeof child === "string" || typeof child === "number") text += child;
|
|
4397
|
-
else if (
|
|
3997
|
+
else if (isValidElement(child)) text += getTextFromChildren(child.props.children);
|
|
4398
3998
|
});
|
|
4399
3999
|
return text;
|
|
4400
4000
|
}
|
|
@@ -4417,42 +4017,64 @@ function Heading({ as = "h2", children, customize, className, id, ref, ...props
|
|
|
4417
4017
|
}
|
|
4418
4018
|
};
|
|
4419
4019
|
const baseClasses = getBaseClasses();
|
|
4420
|
-
return
|
|
4421
|
-
|
|
4422
|
-
|
|
4020
|
+
return /* @__PURE__ */ jsx(HeadingElement, {
|
|
4021
|
+
ref,
|
|
4022
|
+
id: targetableID,
|
|
4023
|
+
...props,
|
|
4024
|
+
className: twMerge(baseClasses, className),
|
|
4025
|
+
children
|
|
4026
|
+
});
|
|
4423
4027
|
}
|
|
4424
4028
|
|
|
4425
4029
|
//#endregion
|
|
4426
4030
|
//#region src/symbols/chevron.forward.tsx
|
|
4427
4031
|
function ChevronForward({ weight = "regular", ...props }) {
|
|
4428
4032
|
switch (weight) {
|
|
4429
|
-
case "ultralight": return
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
case "
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4033
|
+
case "ultralight": return /* @__PURE__ */ jsx("svg", {
|
|
4034
|
+
viewBox: "14.6484 -64.7007 33.47 58.89",
|
|
4035
|
+
...props,
|
|
4036
|
+
children: /* @__PURE__ */ jsx("path", { d: "M48.1162-35.2539C48.1162-35.6924 47.9527-35.9424 47.6221-36.2276L16.6289-64.3462C16.396-64.5826 16.1006-64.7007 15.7949-64.7007C15.1802-64.7007 14.6484-64.2178 14.6484-63.5576C14.6484-63.2554 14.7734-63.002 14.9575-62.811L45.2949-35.2539L14.9575-7.69678C14.7734-7.50586 14.6484-7.25585 14.6484-6.95018C14.6484-6.29001 15.1802-5.80709 15.7949-5.80709C16.1006-5.80709 16.396-5.92526 16.6289-6.16159L47.6221-34.2803C47.9527-34.5654 48.1162-34.8154 48.1162-35.2539Z" })
|
|
4037
|
+
});
|
|
4038
|
+
case "thin": return /* @__PURE__ */ jsx("svg", {
|
|
4039
|
+
viewBox: "14.6484 -65.7364 34.55 60.96",
|
|
4040
|
+
...props,
|
|
4041
|
+
children: /* @__PURE__ */ jsx("path", { d: "M49.2032-35.2539C49.2032-35.8359 48.9883-36.25 48.5449-36.6582L17.7364-65.1973C17.3907-65.5567 16.9414-65.7364 16.4512-65.7364C15.457-65.7364 14.6484-64.9766 14.6484-63.9473C14.6484-63.4707 14.8555-63.043 15.1523-62.7187L44.8027-35.2539L15.1523-7.78906C14.8555-7.46484 14.6484-7.05078 14.6484-6.56054C14.6484-5.53123 15.457-4.77146 16.4512-4.77146C16.9414-4.77146 17.3907-4.95115 17.7364-5.31052L48.5449-33.8496C48.9883-34.2578 49.2032-34.6719 49.2032-35.2539Z" })
|
|
4042
|
+
});
|
|
4043
|
+
case "light": return /* @__PURE__ */ jsx("svg", {
|
|
4044
|
+
viewBox: "14.6484 -67.7583 36.68 65.01",
|
|
4045
|
+
...props,
|
|
4046
|
+
children: /* @__PURE__ */ jsx("path", { d: "M51.3252-35.2539C51.3252-36.1162 51.0103-36.8506 50.3467-37.499L19.8985-66.8589C19.3325-67.4585 18.583-67.7583 17.7324-67.7583C15.9976-67.7583 14.6484-66.458 14.6484-64.708C14.6484-63.8911 15.0156-63.123 15.5327-62.5386L43.8418-35.2539L15.5327-7.96924C15.0156-7.38477 14.6484-6.65039 14.6484-5.7998C14.6484-4.0498 15.9976-2.7495 17.7324-2.7495C18.583-2.7495 19.3325-3.04931 19.8985-3.64892L50.3467-33.0088C51.0103-33.6572 51.3252-34.3916 51.3252-35.2539Z" })
|
|
4047
|
+
});
|
|
4048
|
+
case "regular": return /* @__PURE__ */ jsx("svg", {
|
|
4049
|
+
viewBox: "14.6484 -69.2871 38.28 68.07",
|
|
4050
|
+
...props,
|
|
4051
|
+
children: /* @__PURE__ */ jsx("path", { d: "M52.9297-35.2539C52.9297-36.3281 52.5391-37.3047 51.709-38.1348L21.5332-68.1152C20.8008-68.8965 19.8242-69.2871 18.7012-69.2871C16.4062-69.2871 14.6484-67.5781 14.6484-65.2832C14.6484-64.209 15.1367-63.1836 15.8203-62.4023L43.1152-35.2539L15.8203-8.10547C15.1367-7.32422 14.6484-6.34766 14.6484-5.22461C14.6484-2.92969 16.4062-1.2207 18.7012-1.2207C19.8242-1.2207 20.8008-1.61133 21.5332-2.39258L51.709-32.373C52.5391-33.2031 52.9297-34.1797 52.9297-35.2539Z" })
|
|
4052
|
+
});
|
|
4053
|
+
case "medium": return /* @__PURE__ */ jsx("svg", {
|
|
4054
|
+
viewBox: "14.8242 -69.832 39.74 69.17",
|
|
4055
|
+
...props,
|
|
4056
|
+
children: /* @__PURE__ */ jsx("path", { d: "M54.5645-35.2539C54.5557-36.6797 54.0508-37.9023 52.9131-39.0312L23.2559-68.4141C22.3389-69.3711 21.1777-69.832 19.8086-69.832C17.0215-69.832 14.8242-67.6836 14.8242-64.9141C14.8242-63.585 15.4092-62.3223 16.3389-61.3301L42.7109-35.2627L16.3389-9.17773C15.418-8.18555 14.8242-6.96289 14.8242-5.58496C14.8242-2.81543 17.0215-0.666992 19.8086-0.666992C21.1689-0.666992 22.3389-1.12793 23.2559-2.08496L52.9131-31.4766C54.0596-32.6055 54.5645-33.8369 54.5645-35.2539Z" })
|
|
4057
|
+
});
|
|
4058
|
+
case "semibold": return /* @__PURE__ */ jsx("svg", {
|
|
4059
|
+
viewBox: "14.959 -70.2498 40.86 70.01",
|
|
4060
|
+
...props,
|
|
4061
|
+
children: /* @__PURE__ */ jsx("path", { d: "M55.8178-35.2539C55.8022-36.9492 55.2098-38.3605 53.8362-39.7186L24.5766-68.6432C23.5181-69.735 22.2154-70.2498 20.6576-70.2498C17.4932-70.2498 14.959-67.7645 14.959-64.6311C14.959-63.1065 15.6181-61.6619 16.7364-60.508L42.401-35.2694L16.7364-9.9998C15.6336-8.8459 14.959-7.43457 14.959-5.86123C14.959-2.72783 17.4932-0.24248 20.6576-0.24248C22.1999-0.24248 23.5181-0.757324 24.5766-1.84912L53.8362-30.7893C55.2253-32.1473 55.8178-33.5741 55.8178-35.2539Z" })
|
|
4062
|
+
});
|
|
4063
|
+
case "bold": return /* @__PURE__ */ jsx("svg", {
|
|
4064
|
+
viewBox: "15.1367 -70.8008 42.33 71.12",
|
|
4065
|
+
...props,
|
|
4066
|
+
children: /* @__PURE__ */ jsx("path", { d: "M57.4707-35.2539C57.4463-37.3047 56.7383-38.9648 55.0537-40.625L26.3184-68.9453C25.0732-70.2148 23.584-70.8008 21.7773-70.8008C18.1152-70.8008 15.1367-67.8711 15.1367-64.2578C15.1367-62.4756 15.8936-60.791 17.2607-59.4238L41.9922-35.2783L17.2607-11.084C15.918-9.7168 15.1367-8.05664 15.1367-6.22559C15.1367-2.6123 18.1152 0.317383 21.7773 0.317383C23.5596 0.317383 25.0732-0.268555 26.3184-1.53809L55.0537-29.8828C56.7627-31.543 57.4707-33.2275 57.4707-35.2539Z" })
|
|
4067
|
+
});
|
|
4068
|
+
case "heavy": return /* @__PURE__ */ jsx("svg", {
|
|
4069
|
+
viewBox: "15.3945 -71.5999 44.47 72.73",
|
|
4070
|
+
...props,
|
|
4071
|
+
children: /* @__PURE__ */ jsx("path", { d: "M59.8682-35.2539C59.8309-37.8203 58.9553-39.8413 56.8196-41.9397L28.8447-69.3836C27.3289-70.9109 25.569-71.5999 23.4014-71.5999C19.0175-71.5999 15.3945-68.0258 15.3945-63.7164C15.3945-61.5604 16.2931-59.5278 18.0212-57.8513L41.3993-35.2912L18.0212-12.6565C16.3304-10.98 15.3945-8.95891 15.3945-6.75406C15.3945-2.44474 19.0175 1.12943 23.4014 1.12943C25.5317 1.12943 27.3289 0.440373 28.8447-1.08695L56.8196-28.5681C58.9926-30.6665 59.8682-32.7248 59.8682-35.2539Z" })
|
|
4072
|
+
});
|
|
4073
|
+
case "black": return /* @__PURE__ */ jsx("svg", {
|
|
4074
|
+
viewBox: "15.625 -72.3145 46.39 74.17",
|
|
4075
|
+
...props,
|
|
4076
|
+
children: /* @__PURE__ */ jsx("path", { d: "M62.0117-35.2539C61.9629-38.2812 60.9375-40.625 58.3984-43.1152L31.1035-69.7754C29.3457-71.5332 27.3438-72.3145 24.8535-72.3145C19.8242-72.3145 15.625-68.1641 15.625-63.2324C15.625-60.7422 16.6504-58.3984 18.7012-56.4453L40.8691-35.3027L18.7012-14.0625C16.6992-12.1094 15.625-9.76562 15.625-7.22656C15.625-2.29492 19.8242 1.85547 24.8535 1.85547C27.2949 1.85547 29.3457 1.07422 31.1035-0.683594L58.3984-27.3926C60.9863-29.8828 62.0117-32.2754 62.0117-35.2539Z" })
|
|
4077
|
+
});
|
|
4456
4078
|
}
|
|
4457
4079
|
}
|
|
4458
4080
|
|
|
@@ -6129,8 +5751,8 @@ function generateHumanValidationToken() {
|
|
|
6129
5751
|
}).join("")}_${weekCode}`;
|
|
6130
5752
|
}
|
|
6131
5753
|
function HumanVerification({ children = "Verify", className }) {
|
|
6132
|
-
const [dragProgress, setDragProgress] =
|
|
6133
|
-
const submitButtonRef =
|
|
5754
|
+
const [dragProgress, setDragProgress] = useState(0);
|
|
5755
|
+
const submitButtonRef = useRef(null), buttonRef = useRef(null), buttonContainerRef = useRef(null), draggableRef = useRef(null);
|
|
6134
5756
|
const handleTrySubmit = (x) => {
|
|
6135
5757
|
if (x > 239) {
|
|
6136
5758
|
const form = buttonRef.current?.closest("form");
|
|
@@ -6175,7 +5797,7 @@ function HumanVerification({ children = "Verify", className }) {
|
|
|
6175
5797
|
setTimeout(() => tokenInput.remove(), 1e3);
|
|
6176
5798
|
}
|
|
6177
5799
|
};
|
|
6178
|
-
const onDraggable =
|
|
5800
|
+
const onDraggable = useEffectEvent(() => {
|
|
6179
5801
|
if (!buttonRef.current || !buttonContainerRef.current) return;
|
|
6180
5802
|
const draggable = createDraggable(buttonRef.current, {
|
|
6181
5803
|
container: buttonContainerRef.current,
|
|
@@ -6194,7 +5816,7 @@ function HumanVerification({ children = "Verify", className }) {
|
|
|
6194
5816
|
}
|
|
6195
5817
|
draggableRef.current = draggable;
|
|
6196
5818
|
});
|
|
6197
|
-
|
|
5819
|
+
useEffect(() => {
|
|
6198
5820
|
onDraggable();
|
|
6199
5821
|
}, []);
|
|
6200
5822
|
const moveButton = (e) => {
|
|
@@ -6221,32 +5843,54 @@ function HumanVerification({ children = "Verify", className }) {
|
|
|
6221
5843
|
setDragProgress(Math.min(100, Math.max(0, Math.round(newX / 240 * 100))));
|
|
6222
5844
|
handleTrySubmit(newX);
|
|
6223
5845
|
};
|
|
6224
|
-
return
|
|
6225
|
-
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
5846
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
5847
|
+
className: ["w-72", className].join(" "),
|
|
5848
|
+
children: [
|
|
5849
|
+
/* @__PURE__ */ jsxs("div", {
|
|
5850
|
+
className: "h-12 w-72 rounded-md bg-neutral-300 p-1",
|
|
5851
|
+
ref: buttonContainerRef,
|
|
5852
|
+
children: [/* @__PURE__ */ jsx("button", {
|
|
5853
|
+
"aria-describedby": "human-verification-instructions",
|
|
5854
|
+
"aria-label": `Human verification: ${children.toLowerCase()} by dragging right or pressing arrow keys`,
|
|
5855
|
+
"aria-valuemax": 100,
|
|
5856
|
+
"aria-valuemin": 0,
|
|
5857
|
+
"aria-valuenow": dragProgress,
|
|
5858
|
+
className: "absolute left-1 z-10 grid aspect-square h-[calc(100%-(var(--spacing)*2))] cursor-grab place-items-center rounded-sm bg-neutral-50 shadow-lg ring ring-neutral-500 focus:ring-3 focus:ring-blue-400 focus:ring-offset-2 focus:ring-offset-neutral-500 focus:outline-none active:cursor-grabbing",
|
|
5859
|
+
onKeyDown: moveButton,
|
|
5860
|
+
ref: buttonRef,
|
|
5861
|
+
role: "slider",
|
|
5862
|
+
type: "button",
|
|
5863
|
+
children: /* @__PURE__ */ jsx(ChevronForward, { className: "inline-block h-4 overflow-visible fill-neutral-500 stroke-2" })
|
|
5864
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
5865
|
+
className: "flex size-full items-center justify-center pl-8 text-center text-sm font-semibold text-neutral-800",
|
|
5866
|
+
children: /* @__PURE__ */ jsxs("span", { children: [
|
|
5867
|
+
"Swipe to ",
|
|
5868
|
+
children,
|
|
5869
|
+
" ",
|
|
5870
|
+
/* @__PURE__ */ jsx(ChevronForward, { className: "ml-1 inline-block h-3.5 overflow-visible stroke-2" })
|
|
5871
|
+
] })
|
|
5872
|
+
})]
|
|
5873
|
+
}),
|
|
5874
|
+
/* @__PURE__ */ jsx(Button, {
|
|
5875
|
+
ref: submitButtonRef,
|
|
5876
|
+
className: "sr-only",
|
|
5877
|
+
type: "submit",
|
|
5878
|
+
children: "Complete Submit"
|
|
5879
|
+
}),
|
|
5880
|
+
/* @__PURE__ */ jsxs("div", {
|
|
5881
|
+
id: "human-verification-instructions",
|
|
5882
|
+
className: "pt-1 text-center text-xs",
|
|
5883
|
+
children: [
|
|
5884
|
+
"Human verification challenge.",
|
|
5885
|
+
" ",
|
|
5886
|
+
/* @__PURE__ */ jsx("span", {
|
|
5887
|
+
className: "sr-only",
|
|
5888
|
+
children: "Drag the button right to the end to complete the challenge. Use arrow keys or spacebar to move without a mouse."
|
|
5889
|
+
})
|
|
5890
|
+
]
|
|
5891
|
+
})
|
|
5892
|
+
]
|
|
5893
|
+
});
|
|
6250
5894
|
}
|
|
6251
5895
|
|
|
6252
5896
|
//#endregion
|
|
@@ -6308,7 +5952,14 @@ function IFrame({ allow, className, referrerPolicy = "no-referrer-when-downgrade
|
|
|
6308
5952
|
});
|
|
6309
5953
|
return propertyDefinition.join(" ");
|
|
6310
5954
|
}) || []).join("; ");
|
|
6311
|
-
return
|
|
5955
|
+
return /* @__PURE__ */ jsx("iframe", {
|
|
5956
|
+
...props,
|
|
5957
|
+
allow: allowAttribute,
|
|
5958
|
+
allowFullScreen: allowAttribute?.includes("fullscreen") || props.src?.replace(/[^a-zA-Z]/g, "").includes("vimeo") || props.src?.replace(/[^a-zA-Z]/g, "").includes("youtube"),
|
|
5959
|
+
className: twMerge("aspect-video w-full bg-linear-60 from-neutral-700 via-neutral-500 to-neutral-600", className),
|
|
5960
|
+
referrerPolicy,
|
|
5961
|
+
sandbox: sandbox?.join(" ")
|
|
5962
|
+
});
|
|
6312
5963
|
}
|
|
6313
5964
|
|
|
6314
5965
|
//#endregion
|
|
@@ -6328,54 +5979,78 @@ function IFrame({ allow, className, referrerPolicy = "no-referrer-when-downgrade
|
|
|
6328
5979
|
* @prop descriptionProps - The props to be passed to the description component.
|
|
6329
5980
|
*/
|
|
6330
5981
|
function Input({ children, className, description, descriptionProps: { className: descriptionClassName, ...descriptionProps } = {}, fieldProps: { className: fieldClassName, ...fieldProps } = {}, label, labelProps: { className: labelClassName, ...labelProps } = {}, required = true, ...props }) {
|
|
6331
|
-
return
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
5982
|
+
return /* @__PURE__ */ jsxs(Field, {
|
|
5983
|
+
...fieldProps,
|
|
5984
|
+
className: (bag) => twMerge("grid h-fit gap-1", typeof fieldClassName === "function" ? fieldClassName(bag) : fieldClassName),
|
|
5985
|
+
children: [
|
|
5986
|
+
label && /* @__PURE__ */ jsx(Label, {
|
|
5987
|
+
...labelProps,
|
|
5988
|
+
className: (bag) => twMerge("text-sm font-medium", required ? "after:text-red-700 after:content-[\"_*\"]" : "", typeof labelClassName === "function" ? labelClassName(bag) : labelClassName),
|
|
5989
|
+
children: label
|
|
5990
|
+
}),
|
|
5991
|
+
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Input$1, {
|
|
5992
|
+
...props,
|
|
5993
|
+
className: (bag) => twMerge("ease-exponential corner-super-1.5 w-full rounded-xl border border-neutral-500/50 bg-neutral-100 py-1 pl-2 text-neutral-950 outline-offset-1 outline-blue-400/95 transition-[background-color] duration-300 dark:bg-neutral-700 dark:text-neutral-50", "focus-visible:bg-neutral-50 focus-visible:outline-3 active:bg-neutral-200 dark:focus-visible:bg-neutral-600 dark:active:bg-neutral-800 pointer-fine:hover:bg-neutral-50 pointer-fine:active:bg-neutral-200 dark:pointer-fine:hover:bg-neutral-600 dark:pointer-fine:active:bg-neutral-800", "user-invalid:border-red-500 user-invalid:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-100)_5%)] user-invalid:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-100))] user-invalid:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-100))] dark:user-invalid:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-800)_5%)] dark:user-invalid:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-800))] dark:user-invalid:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-800)_5%)] user-invalid:pointer-fine:hover:bg-[color-mix(in_oklch,var(--color-red-500)_10%,var(--color-neutral-500)_5%)] user-invalid:pointer-fine:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-100))] user-invalid:pointer-fine:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-100))] dark:user-invalid:pointer-fine:hover:bg-[color-mix(in_oklch,var(--color-red-500)_10%,var(--color-neutral-800)_5%)] dark:user-invalid:pointer-fine:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-800))] dark:user-invalid:pointer-fine:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-800)_5%)]", typeof className === "function" ? className(bag) : className),
|
|
5994
|
+
required
|
|
5995
|
+
}), children] }),
|
|
5996
|
+
description && /* @__PURE__ */ jsx(Description, {
|
|
5997
|
+
...descriptionProps,
|
|
5998
|
+
className: (bag) => twMerge("text-xs text-current/60", typeof descriptionClassName === "function" ? descriptionClassName(bag) : descriptionClassName),
|
|
5999
|
+
children: description
|
|
6000
|
+
})
|
|
6001
|
+
]
|
|
6002
|
+
});
|
|
6346
6003
|
}
|
|
6347
6004
|
|
|
6348
6005
|
//#endregion
|
|
6349
6006
|
//#region src/symbols/xmark.tsx
|
|
6350
6007
|
function Xmark({ weight = "regular", ...props }) {
|
|
6351
6008
|
switch (weight) {
|
|
6352
|
-
case "ultralight": return
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
case "
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6009
|
+
case "ultralight": return /* @__PURE__ */ jsx("svg", {
|
|
6010
|
+
viewBox: "9.64746 -64.0801 57.84 57.84",
|
|
6011
|
+
...props,
|
|
6012
|
+
children: /* @__PURE__ */ jsx("path", { d: "M65.4941-63.6108L10.1167-8.27883C9.65088-7.813 9.64746-7.13232 10.1167-6.66308C10.544-6.23924 11.2212-6.23924 11.6905-6.66308L67.0645-62.0371C67.4883-62.5063 67.4917-63.187 67.0645-63.6108C66.5918-64.0767 65.918-64.0801 65.4941-63.6108ZM67.0645-8.27883L11.6905-63.6108C11.2212-64.0767 10.5405-64.0801 10.1167-63.6108C9.65088-63.1836 9.65088-62.5063 10.1167-62.0371L65.4941-6.66308C65.9146-6.23924 66.5952-6.23924 67.0645-6.66308C67.4883-7.13574 67.4883-7.813 67.0645-8.27883Z" })
|
|
6013
|
+
});
|
|
6014
|
+
case "thin": return /* @__PURE__ */ jsx("svg", {
|
|
6015
|
+
viewBox: "9.58594 -64.5723 58.82 58.8",
|
|
6016
|
+
...props,
|
|
6017
|
+
children: /* @__PURE__ */ jsx("path", { d: "M65.248-63.8672L10.291-8.94533C9.59961-8.25392 9.58594-7.14258 10.291-6.43749C10.9746-5.76757 12.0723-5.76757 12.7774-6.43749L67.7207-61.3808C68.3906-62.0859 68.4043-63.1973 67.7207-63.8672C67.002-64.5586 65.918-64.5723 65.248-63.8672ZM67.7207-8.94533L12.7774-63.8672C12.0723-64.5586 10.9609-64.5723 10.291-63.8672C9.59961-63.1836 9.59961-62.0859 10.291-61.3808L65.248-6.43749C65.9043-5.76757 67.0156-5.76757 67.7207-6.43749C68.3906-7.15625 68.3906-8.25392 67.7207-8.94533Z" })
|
|
6018
|
+
});
|
|
6019
|
+
case "light": return /* @__PURE__ */ jsx("svg", {
|
|
6020
|
+
viewBox: "9.46582 -65.5332 60.72 60.69",
|
|
6021
|
+
...props,
|
|
6022
|
+
children: /* @__PURE__ */ jsx("path", { d: "M64.7676-64.3677L10.6313-10.2466C9.49951-9.11475 9.46582-7.1626 10.6313-5.99707C11.8154-4.84667 13.7339-4.84667 14.8994-5.99707L69.002-60.0996C70.1524-61.2651 70.186-63.2173 69.002-64.3677C67.8027-65.4995 65.918-65.5332 64.7676-64.3677ZM69.002-10.2466L14.8994-64.3677C13.7339-65.4995 11.7817-65.5332 10.6313-64.3677C9.49951-63.1836 9.49951-61.2651 10.6313-60.0996L64.7676-5.99707C65.8843-4.84667 67.8364-4.84667 69.002-5.99707C70.1524-7.19629 70.1524-9.11475 69.002-10.2466Z" })
|
|
6023
|
+
});
|
|
6024
|
+
case "regular": return /* @__PURE__ */ jsx("svg", {
|
|
6025
|
+
viewBox: "9.375 -66.2598 62.16 62.11",
|
|
6026
|
+
...props,
|
|
6027
|
+
children: /* @__PURE__ */ jsx("path", { d: "M64.4043-64.7461L10.8887-11.2305C9.42383-9.76562 9.375-7.17773 10.8887-5.66406C12.4512-4.15039 14.9902-4.15039 16.5039-5.66406L69.9707-59.1309C71.4844-60.6445 71.5332-63.2324 69.9707-64.7461C68.4082-66.2109 65.918-66.2598 64.4043-64.7461ZM69.9707-11.2305L16.5039-64.7461C14.9902-66.2109 12.4023-66.2598 10.8887-64.7461C9.42383-63.1836 9.42383-60.6445 10.8887-59.1309L64.4043-5.66406C65.8691-4.15039 68.457-4.15039 69.9707-5.66406C71.4844-7.22656 71.4844-9.76562 69.9707-11.2305Z" })
|
|
6028
|
+
});
|
|
6029
|
+
case "medium": return /* @__PURE__ */ jsx("svg", {
|
|
6030
|
+
viewBox: "9.30469 -66.7871 63.2 63.17",
|
|
6031
|
+
...props,
|
|
6032
|
+
children: /* @__PURE__ */ jsx("path", { d: "M63.9121-64.9746L11.0996-12.1621C9.35352-10.416 9.30469-7.26562 11.126-5.44434C12.9873-3.62305 16.1152-3.64941 17.8838-5.41797L70.6562-58.1904C72.4688-60.0029 72.5-63.1182 70.6299-64.9482C68.7598-66.7383 65.7246-66.7871 63.9121-64.9746ZM70.6562-12.1709L17.8838-64.9834C16.1064-66.7207 12.9561-66.7871 11.126-64.957C9.33594-63.0869 9.3623-59.9766 11.0996-58.1992L63.9121-5.42676C65.6846-3.61426 68.7998-3.62305 70.6299-5.45312C72.46-7.32324 72.4688-10.3984 70.6562-12.1709Z" })
|
|
6033
|
+
});
|
|
6034
|
+
case "semibold": return /* @__PURE__ */ jsx("svg", {
|
|
6035
|
+
viewBox: "9.25078 -67.1914 63.99 63.99",
|
|
6036
|
+
...props,
|
|
6037
|
+
children: /* @__PURE__ */ jsx("path", { d: "M63.5348-65.1498L11.2613-12.8764C9.29961-10.9146 9.25078-7.33301 11.3079-5.27588C13.3983-3.21875 16.9777-3.26533 18.9417-5.2293L71.1818-57.4694C73.2234-59.511 73.2412-63.0306 71.1353-65.1032C69.0293-67.1426 65.5764-67.1914 63.5348-65.1498ZM71.1818-12.8919L18.9417-65.1653C16.9622-67.1115 13.3806-67.1914 11.3079-65.1188C9.26855-63.0128 9.31514-59.4645 11.2613-57.485L63.5348-5.24482C65.5431-3.20322 69.0626-3.21875 71.1353-5.29141C73.2079-7.39736 73.2234-10.8836 71.1818-12.8919Z" })
|
|
6038
|
+
});
|
|
6039
|
+
case "bold": return /* @__PURE__ */ jsx("svg", {
|
|
6040
|
+
viewBox: "9.17969 -67.7246 65.04 65.06",
|
|
6041
|
+
...props,
|
|
6042
|
+
children: /* @__PURE__ */ jsx("path", { d: "M63.0371-65.3809L11.4746-13.8184C9.22852-11.5723 9.17969-7.42188 11.5479-5.05371C13.9404-2.68555 18.1152-2.75879 20.3369-4.98047L71.875-56.5186C74.2188-58.8623 74.2188-62.915 71.8018-65.3076C69.3848-67.6758 65.3809-67.7246 63.0371-65.3809ZM71.875-13.8428L20.3369-65.4053C18.0908-67.627 13.9404-67.7246 11.5479-65.332C9.17969-62.915 9.25293-58.7891 11.4746-56.543L63.0371-5.00488C65.3564-2.66113 69.4092-2.68555 71.8018-5.07812C74.1943-7.49512 74.2188-11.5234 71.875-13.8428Z" })
|
|
6043
|
+
});
|
|
6044
|
+
case "heavy": return /* @__PURE__ */ jsx("svg", {
|
|
6045
|
+
viewBox: "9.05079 -68.498 66.61 66.62",
|
|
6046
|
+
...props,
|
|
6047
|
+
children: /* @__PURE__ */ jsx("path", { d: "M62.3153-65.716L11.784-15.1847C9.1254-12.5261 9.07657-7.55077 11.8959-4.73147C14.7267-1.91217 19.7651-2.02408 22.3606-4.61956L72.8804-55.1394C75.6624-57.9214 75.6366-62.7475 72.7685-65.6041C69.9003-68.4492 65.0973-68.498 62.3153-65.716ZM72.8804-15.222L22.3606-65.7533C19.7278-68.3745 14.7525-68.498 11.8959-65.6414C9.05079-62.7733 9.1627-57.8095 11.784-55.1767L62.3153-4.65686C65.0858-1.87487 69.9119-1.91217 72.7685-4.76877C75.6251-7.6369 75.6624-12.4515 72.8804-15.222Z" })
|
|
6048
|
+
});
|
|
6049
|
+
case "black": return /* @__PURE__ */ jsx("svg", {
|
|
6050
|
+
viewBox: "8.93555 -69.1895 68.02 68.02",
|
|
6051
|
+
...props,
|
|
6052
|
+
children: /* @__PURE__ */ jsx("path", { d: "M61.6699-66.0156L12.0605-16.4062C9.0332-13.3789 8.98438-7.66602 12.207-4.44336C15.4297-1.2207 21.2402-1.36719 24.1699-4.29688L73.7793-53.9062C76.9531-57.0801 76.9043-62.5977 73.6328-65.8691C70.3613-69.1406 64.8438-69.1895 61.6699-66.0156ZM73.7793-16.4551L24.1699-66.0645C21.1914-69.043 15.4785-69.1895 12.207-65.918C8.93555-62.6465 9.08203-56.9336 12.0605-53.9551L61.6699-4.3457C64.8438-1.17188 70.3613-1.2207 73.6328-4.49219C76.9043-7.76367 76.9531-13.2812 73.7793-16.4551Z" })
|
|
6053
|
+
});
|
|
6379
6054
|
}
|
|
6380
6055
|
}
|
|
6381
6056
|
|
|
@@ -6383,7 +6058,7 @@ function Xmark({ weight = "regular", ...props }) {
|
|
|
6383
6058
|
//#region src/hooks/create-fast-context.tsx
|
|
6384
6059
|
function createFastContext(defaultInitialState) {
|
|
6385
6060
|
function useStoreData(initialState = defaultInitialState) {
|
|
6386
|
-
const store =
|
|
6061
|
+
const store = useRef(initialState), get = () => store.current, subscribers = useRef(/* @__PURE__ */ new Set());
|
|
6387
6062
|
const set = (value) => {
|
|
6388
6063
|
if (typeof value === "function") store.current = value(store.current);
|
|
6389
6064
|
else store.current = value;
|
|
@@ -6399,18 +6074,21 @@ function createFastContext(defaultInitialState) {
|
|
|
6399
6074
|
subscribe
|
|
6400
6075
|
};
|
|
6401
6076
|
}
|
|
6402
|
-
const StoreContext =
|
|
6077
|
+
const StoreContext = createContext(null);
|
|
6403
6078
|
function Provider({ initialValue = defaultInitialState, ...props }) {
|
|
6404
|
-
return
|
|
6079
|
+
return /* @__PURE__ */ jsx(StoreContext.Provider, {
|
|
6080
|
+
value: useStoreData(initialValue),
|
|
6081
|
+
...props
|
|
6082
|
+
});
|
|
6405
6083
|
}
|
|
6406
6084
|
function useStore(selector, initialValue) {
|
|
6407
|
-
const store =
|
|
6085
|
+
const store = useContext(StoreContext);
|
|
6408
6086
|
if (!store) {
|
|
6409
6087
|
const selectedValue = selector(initialValue !== void 0 ? initialValue : defaultInitialState);
|
|
6410
6088
|
const noOpSet = () => console.warn("Attempting to set store value outside of Provider");
|
|
6411
6089
|
return [selectedValue, noOpSet];
|
|
6412
6090
|
}
|
|
6413
|
-
return [
|
|
6091
|
+
return [useSyncExternalStore(store.subscribe, () => selector(store.get()), () => selector(initialValue !== void 0 ? initialValue : defaultInitialState)), store.set];
|
|
6414
6092
|
}
|
|
6415
6093
|
return {
|
|
6416
6094
|
Provider,
|
|
@@ -6422,128 +6100,6 @@ function createFastContext(defaultInitialState) {
|
|
|
6422
6100
|
//#region src/hooks/use-form-status.tsx
|
|
6423
6101
|
const DEFAULT_STATUS = "incomplete";
|
|
6424
6102
|
const { Provider, useStore } = createFastContext(DEFAULT_STATUS);
|
|
6425
|
-
function FormStatusProvider({ children, initialStatus = DEFAULT_STATUS }) {
|
|
6426
|
-
return <react.Suspense>
|
|
6427
|
-
<Provider initialValue={initialStatus}>{children}</Provider>
|
|
6428
|
-
</react.Suspense>;
|
|
6429
|
-
}
|
|
6430
|
-
function useFormStatus() {
|
|
6431
|
-
return useStore((store) => store);
|
|
6432
|
-
}
|
|
6433
|
-
|
|
6434
|
-
//#endregion
|
|
6435
|
-
//#region src/hooks/use-pointer-movement.ts
|
|
6436
|
-
function usePointerMovement(props) {
|
|
6437
|
-
const pointerTypeRef = (0, react.useRef)("pointer"), [isTracking, setIsTracking] = (0, react.useState)(false), [delta, setDelta] = (0, react.useState)({
|
|
6438
|
-
x: 0,
|
|
6439
|
-
y: 0
|
|
6440
|
-
}), startCoordsRef = (0, react.useRef)({
|
|
6441
|
-
x: 0,
|
|
6442
|
-
y: 0
|
|
6443
|
-
});
|
|
6444
|
-
const styleID = (0, react.useId)();
|
|
6445
|
-
const changeCursor = (cursor) => {
|
|
6446
|
-
if (cursor === false) {
|
|
6447
|
-
document.querySelector(`#${styleID}`)?.remove();
|
|
6448
|
-
return;
|
|
6449
|
-
}
|
|
6450
|
-
const css = `*, *:active { cursor: ${cursor}; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }`;
|
|
6451
|
-
const style = document.createElement("style");
|
|
6452
|
-
style.id = styleID;
|
|
6453
|
-
style.innerHTML = css;
|
|
6454
|
-
document.body.prepend(style);
|
|
6455
|
-
};
|
|
6456
|
-
const trackPointerMovement = (e) => {
|
|
6457
|
-
changeCursor(props?.activeCursor || "grabbing");
|
|
6458
|
-
const { type } = e;
|
|
6459
|
-
switch (type) {
|
|
6460
|
-
case "mousemove":
|
|
6461
|
-
case "mouseup":
|
|
6462
|
-
case "pointermove":
|
|
6463
|
-
case "pointerup":
|
|
6464
|
-
case "touchmove":
|
|
6465
|
-
case "touchend": throw new Error("To initiate the tracking of pointer movement, you must use a `mousedown`, `pointerdown`, or `touchstart`.");
|
|
6466
|
-
case "mousedown":
|
|
6467
|
-
pointerTypeRef.current = "mouse";
|
|
6468
|
-
break;
|
|
6469
|
-
case "pointerdown":
|
|
6470
|
-
pointerTypeRef.current = "pointer";
|
|
6471
|
-
break;
|
|
6472
|
-
case "touchstart":
|
|
6473
|
-
pointerTypeRef.current = "touch";
|
|
6474
|
-
break;
|
|
6475
|
-
}
|
|
6476
|
-
let x = 0, y = 0;
|
|
6477
|
-
if ("touches" in e) {
|
|
6478
|
-
const { touches } = e;
|
|
6479
|
-
if (touches.length > 1) return;
|
|
6480
|
-
x = touches[0].clientX;
|
|
6481
|
-
y = touches[0].clientY;
|
|
6482
|
-
} else {
|
|
6483
|
-
x = e.clientX;
|
|
6484
|
-
y = e.clientY;
|
|
6485
|
-
}
|
|
6486
|
-
startCoordsRef.current = {
|
|
6487
|
-
x,
|
|
6488
|
-
y
|
|
6489
|
-
};
|
|
6490
|
-
setIsTracking(true);
|
|
6491
|
-
};
|
|
6492
|
-
const updateDelta = (0, react.useCallback)((e) => {
|
|
6493
|
-
let clientX = 0, clientY = 0;
|
|
6494
|
-
if ("touches" in e) {
|
|
6495
|
-
const { touches } = e;
|
|
6496
|
-
if (touches.length > 1) return;
|
|
6497
|
-
clientX = touches[0].clientX;
|
|
6498
|
-
clientY = touches[0].clientY;
|
|
6499
|
-
} else {
|
|
6500
|
-
clientX = e.clientX;
|
|
6501
|
-
clientY = e.clientY;
|
|
6502
|
-
}
|
|
6503
|
-
const { x, y } = startCoordsRef.current, newDelta = {
|
|
6504
|
-
x: clientX - x,
|
|
6505
|
-
y: clientY - y
|
|
6506
|
-
};
|
|
6507
|
-
setDelta(newDelta);
|
|
6508
|
-
props?.onChange?.(newDelta);
|
|
6509
|
-
}, []);
|
|
6510
|
-
const stopTracking = (0, react.useCallback)(() => {
|
|
6511
|
-
changeCursor(false);
|
|
6512
|
-
setIsTracking(false);
|
|
6513
|
-
props?.onEnd?.(delta);
|
|
6514
|
-
}, [delta]);
|
|
6515
|
-
(0, react.useEffect)(() => {
|
|
6516
|
-
if (typeof window === "undefined") return;
|
|
6517
|
-
const controller = new AbortController(), signal = controller.signal;
|
|
6518
|
-
if (isTracking) switch (pointerTypeRef.current) {
|
|
6519
|
-
case "mouse":
|
|
6520
|
-
document.body.addEventListener("mousemove", updateDelta, { signal });
|
|
6521
|
-
document.body.addEventListener("mouseup", stopTracking, { signal });
|
|
6522
|
-
break;
|
|
6523
|
-
case "pointer":
|
|
6524
|
-
document.body.addEventListener("pointermove", updateDelta, { signal });
|
|
6525
|
-
document.body.addEventListener("pointerup", stopTracking, { signal });
|
|
6526
|
-
break;
|
|
6527
|
-
case "touch":
|
|
6528
|
-
document.body.addEventListener("touchmove", updateDelta, { signal });
|
|
6529
|
-
document.body.addEventListener("touchend", stopTracking, { signal });
|
|
6530
|
-
break;
|
|
6531
|
-
}
|
|
6532
|
-
else controller.abort();
|
|
6533
|
-
return () => {
|
|
6534
|
-
controller.abort();
|
|
6535
|
-
};
|
|
6536
|
-
}, [
|
|
6537
|
-
isTracking,
|
|
6538
|
-
updateDelta,
|
|
6539
|
-
stopTracking
|
|
6540
|
-
]);
|
|
6541
|
-
return {
|
|
6542
|
-
delta,
|
|
6543
|
-
stopTracking,
|
|
6544
|
-
trackPointerMovement
|
|
6545
|
-
};
|
|
6546
|
-
}
|
|
6547
6103
|
|
|
6548
6104
|
//#endregion
|
|
6549
6105
|
//#region src/components/modal.tsx
|
|
@@ -6558,7 +6114,7 @@ const { Provider: ModalControlsProvider, useStore: useModalControls } = createFa
|
|
|
6558
6114
|
dialogPanelRef: { current: null }
|
|
6559
6115
|
});
|
|
6560
6116
|
function ModalTrigger({ as, onClick, ...props }) {
|
|
6561
|
-
const ModalTriggerElement = as ||
|
|
6117
|
+
const ModalTriggerElement = as || Button$1;
|
|
6562
6118
|
const [modalControls] = useModalControls((store) => store);
|
|
6563
6119
|
const { isOpen, openModal, closeModal } = modalControls || {};
|
|
6564
6120
|
const handleClick = (e) => {
|
|
@@ -6566,10 +6122,13 @@ function ModalTrigger({ as, onClick, ...props }) {
|
|
|
6566
6122
|
if (!isOpen) openModal?.();
|
|
6567
6123
|
onClick?.(e);
|
|
6568
6124
|
};
|
|
6569
|
-
return
|
|
6125
|
+
return /* @__PURE__ */ jsx(ModalTriggerElement, {
|
|
6126
|
+
...props,
|
|
6127
|
+
onClick: handleClick
|
|
6128
|
+
});
|
|
6570
6129
|
}
|
|
6571
6130
|
function ModalTitle(props) {
|
|
6572
|
-
return
|
|
6131
|
+
return /* @__PURE__ */ jsx(DialogTitle, { ...props });
|
|
6573
6132
|
}
|
|
6574
6133
|
function ModalDialog(props) {
|
|
6575
6134
|
const [modalControls] = useModalControls((store) => store);
|
|
@@ -6583,47 +6142,63 @@ function ModalDialog(props) {
|
|
|
6583
6142
|
enableTouchClose: () => {},
|
|
6584
6143
|
dialogPanelRef: { current: null }
|
|
6585
6144
|
};
|
|
6586
|
-
return
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
|
|
6606
|
-
|
|
6145
|
+
return /* @__PURE__ */ jsxs(Dialog, {
|
|
6146
|
+
open: isOpen,
|
|
6147
|
+
onClose: () => closeModal?.(),
|
|
6148
|
+
className: ["isolate z-50", place === "bottom" && "after:fixed after:inset-x-0 after:bottom-0 after:-z-10 after:h-16 after:bg-neutral-50 sm:after:hidden"].join(" "),
|
|
6149
|
+
children: [/* @__PURE__ */ jsx(DialogBackdrop, {
|
|
6150
|
+
transition: true,
|
|
6151
|
+
className: ["ease-exponential fixed inset-0 cursor-pointer transition-[opacity,background-color,backdrop-filter,-webkit-backdrop-filter] delay-100 duration-750 data-closed:opacity-0", readyToClose ? "bg-neutral-50/5 backdrop-blur-[1px] dark:bg-neutral-950/5" : "bg-neutral-50/25 backdrop-blur-sm dark:bg-neutral-950/25"].join(" "),
|
|
6152
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
6153
|
+
padding: "none",
|
|
6154
|
+
rounded: "full",
|
|
6155
|
+
className: "group/button fixed top-4 right-4 size-7 overflow-x-hidden transition-[scale,width,filter] pointer-fine:hover:w-20",
|
|
6156
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
6157
|
+
className: "ease-exponential absolute top-1 right-1 flex items-center gap-1 pt-px transition-transform duration-300 pointer-fine:group-hover/button:-translate-x-0.5",
|
|
6158
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
6159
|
+
className: "block text-xs leading-none uppercase",
|
|
6160
|
+
children: ["Close", /* @__PURE__ */ jsx("span", {
|
|
6161
|
+
className: "sr-only",
|
|
6162
|
+
children: "Modal"
|
|
6163
|
+
})]
|
|
6164
|
+
}), /* @__PURE__ */ jsx(Xmark, { className: "-top-px block size-4 scale-75 rotate-90 transition-transform duration-300 ease-in-out group-hover/button:rotate-0" })]
|
|
6165
|
+
})
|
|
6166
|
+
})
|
|
6167
|
+
}), /* @__PURE__ */ jsxs(DialogPanel, {
|
|
6168
|
+
ref: dialogPanelRef,
|
|
6169
|
+
transition: true,
|
|
6170
|
+
className: twMerge("ease-exponential fixed left-1/2 -translate-x-1/2 overflow-y-scroll bg-neutral-50 p-4 shadow-[0_-15px_50px_-12px] shadow-neutral-950/25 transition-[transform,translate,opacity] duration-750 data-closed:scale-50 data-closed:opacity-0 sm:w-[calc(100vw-2rem)] sm:max-w-fit sm:p-6 sm:shadow-2xl lg:p-8 dark:bg-neutral-900", place === "center" ? "top-1/2 -translate-y-1/2 rounded-2xl data-enter:translate-y-[calc(-50%+12rem)] data-leave:translate-y-[calc(-50%-8rem)]" : "bottom-0 h-fit max-h-[calc(100dvh-4rem)] translate-y-0 rounded-t-4xl data-enter:translate-y-full data-leave:translate-y-full sm:top-1/2 sm:bottom-auto sm:rounded-t-2xl sm:rounded-b-2xl sm:data-enter:translate-y-[calc(-50%+12rem)] sm:data-leave:translate-y-[calc(-50%-8rem)] sm:data-open:-translate-y-1/2 pointer-fine:top-1/2 pointer-fine:bottom-auto pointer-fine:-translate-y-1/2 pointer-fine:rounded-2xl", className),
|
|
6171
|
+
children: [/* @__PURE__ */ jsx("button", {
|
|
6172
|
+
className: ["after:ease-exponential absolute inset-x-0 top-0 z-10 flex h-6 cursor-grab items-center justify-center after:h-1 after:w-8 after:rounded-full after:transition-[transform,background-color] after:duration-500 active:cursor-grabbing", readyToClose ? "after:scale-x-200 after:scale-y-200 after:bg-blue-500" : "after:bg-neutral-500/50 active:after:scale-x-150 active:after:scale-y-125 active:after:bg-neutral-500 pointer-fine:hover:after:scale-x-125 pointer-fine:hover:after:bg-neutral-500/75 pointer-fine:active:after:scale-x-150 pointer-fine:active:after:bg-neutral-500"].join(" "),
|
|
6173
|
+
onTouchStart: enableTouchClose,
|
|
6174
|
+
onMouseDown: enableMouseClose,
|
|
6175
|
+
type: "button",
|
|
6176
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
6177
|
+
className: "sr-only",
|
|
6178
|
+
children: "Drag down to close"
|
|
6179
|
+
})
|
|
6180
|
+
}), /* @__PURE__ */ jsx("div", { ...props })]
|
|
6181
|
+
})]
|
|
6182
|
+
});
|
|
6607
6183
|
}
|
|
6608
6184
|
function ModalClose({ as, ...props }) {
|
|
6609
|
-
|
|
6610
|
-
return <ModalCloseElement {...props} />;
|
|
6185
|
+
return /* @__PURE__ */ jsx(as || Button$1, { ...props });
|
|
6611
6186
|
}
|
|
6612
6187
|
function ModalDisplay({ children, className, onClose, onOpen, place = "bottom" }) {
|
|
6613
|
-
const [bodyElement, setBodyElement] =
|
|
6614
|
-
const onVisible =
|
|
6188
|
+
const [bodyElement, setBodyElement] = useState(null);
|
|
6189
|
+
const onVisible = useEffectEvent(() => {
|
|
6615
6190
|
setBodyElement(document.body);
|
|
6616
6191
|
});
|
|
6617
|
-
|
|
6192
|
+
useEffect(() => {
|
|
6618
6193
|
if (typeof window !== "undefined") onVisible();
|
|
6619
6194
|
}, []);
|
|
6620
6195
|
const [, setModalControls] = useModalControls(() => null);
|
|
6621
|
-
const [isOpen, setIsOpen] =
|
|
6622
|
-
const dragMoveBoxRef =
|
|
6196
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
6197
|
+
const dragMoveBoxRef = useRef(null), startDragCoords = useRef({
|
|
6623
6198
|
x: 0,
|
|
6624
6199
|
y: 0
|
|
6625
|
-
}), localDialogPanelRef =
|
|
6626
|
-
const [allowDragClose, setAllowDragClose] =
|
|
6200
|
+
}), localDialogPanelRef = useRef(null);
|
|
6201
|
+
const [allowDragClose, setAllowDragClose] = useState(false), [readyToClose, setReadyToClose] = useState(false);
|
|
6627
6202
|
const openModal = () => {
|
|
6628
6203
|
setIsOpen((previous) => {
|
|
6629
6204
|
if (previous) return previous;
|
|
@@ -6683,7 +6258,7 @@ function ModalDisplay({ children, className, onClose, onOpen, place = "bottom" }
|
|
|
6683
6258
|
const { clientY } = e;
|
|
6684
6259
|
disableDragClose(clientY);
|
|
6685
6260
|
};
|
|
6686
|
-
|
|
6261
|
+
useEffect(() => {
|
|
6687
6262
|
setModalControls?.((previous) => ({
|
|
6688
6263
|
...previous,
|
|
6689
6264
|
isOpen,
|
|
@@ -6707,49 +6282,66 @@ function ModalDisplay({ children, className, onClose, onOpen, place = "bottom" }
|
|
|
6707
6282
|
readyToClose,
|
|
6708
6283
|
setModalControls
|
|
6709
6284
|
]);
|
|
6710
|
-
return
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6285
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [allowDragClose && bodyElement && createPortal(/* @__PURE__ */ jsx("div", {
|
|
6286
|
+
ref: dragMoveBoxRef,
|
|
6287
|
+
className: "fixed inset-0 z-99 h-dvh w-screen bg-transparent active:cursor-grabbing pointer-coarse:hidden",
|
|
6288
|
+
onMouseMove: handleMouseMove,
|
|
6289
|
+
onMouseUp: disableMouseDragClose
|
|
6290
|
+
}), bodyElement), children] });
|
|
6715
6291
|
}
|
|
6716
6292
|
function Modal(props) {
|
|
6717
|
-
return
|
|
6718
|
-
<ModalDisplay {...props} />
|
|
6719
|
-
</ModalControlsProvider>;
|
|
6293
|
+
return /* @__PURE__ */ jsx(ModalControlsProvider, { children: /* @__PURE__ */ jsx(ModalDisplay, { ...props }) });
|
|
6720
6294
|
}
|
|
6721
6295
|
|
|
6722
6296
|
//#endregion
|
|
6723
6297
|
//#region src/symbols/chevron.up.chevron.down.tsx
|
|
6724
6298
|
function ChevronUpChevronDown({ weight = "regular", ...props }) {
|
|
6725
6299
|
switch (weight) {
|
|
6726
|
-
case "ultralight": return
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
6736
|
-
|
|
6737
|
-
|
|
6738
|
-
|
|
6739
|
-
|
|
6740
|
-
|
|
6741
|
-
case "
|
|
6742
|
-
|
|
6743
|
-
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
-
|
|
6750
|
-
|
|
6751
|
-
|
|
6752
|
-
|
|
6300
|
+
case "ultralight": return /* @__PURE__ */ jsx("svg", {
|
|
6301
|
+
viewBox: "9.76562 -70.5083 50.44 70.51",
|
|
6302
|
+
...props,
|
|
6303
|
+
children: /* @__PURE__ */ jsx("path", { d: "M34.9849-70.5083C34.4976-70.5083 34.1113-70.2505 33.7808-69.9199L10.2075-46.96C9.89063-46.6397 9.76562-46.3511 9.76562-46.0318C9.76562-45.417 10.252-44.9761 10.9121-44.9761C11.1587-44.9761 11.503-45.084 11.795-45.3306L34.9849-68.039L58.1714-45.3306C58.4633-45.042 58.7656-44.9761 59.0576-44.9761C59.6724-44.9761 60.2007-45.417 60.2007-46.0318C60.2007-46.3511 60.0791-46.6397 59.7588-46.96L36.189-69.9199C35.8096-70.2505 35.4688-70.5083 34.9849-70.5083ZM34.9849 0.000503659C35.4688 0.000503659 35.8096-0.25731 36.189-0.587881L59.7588-23.5478C60.0791-23.8681 60.2007-24.1567 60.2007-24.4761C60.2007-25.0908 59.6724-25.5317 59.0576-25.5317C58.7656-25.5317 58.4633-25.4658 58.1714-25.1772L34.9849-2.46879L11.795-25.1772C11.503-25.4238 11.1587-25.5317 10.9121-25.5317C10.252-25.5317 9.76562-25.0908 9.76562-24.4761C9.76562-24.1567 9.89063-23.8681 10.2075-23.5478L33.7808-0.587881C34.1113-0.25731 34.4976 0.000503659 34.9849 0.000503659Z" })
|
|
6304
|
+
});
|
|
6305
|
+
case "thin": return /* @__PURE__ */ jsx("svg", {
|
|
6306
|
+
viewBox: "9.76562 -70.9492 50.57 71.39",
|
|
6307
|
+
...props,
|
|
6308
|
+
children: /* @__PURE__ */ jsx("path", { d: "M35.0566-70.9492C34.4258-70.9492 33.9062-70.6504 33.4629-70.207L10.3613-47.8008C9.97266-47.3985 9.76562-46.9766 9.76562-46.4317C9.76562-45.4375 10.5391-44.6992 11.5684-44.6992C11.9688-44.6992 12.4668-44.8379 12.9024-45.2383L35.0566-66.9316L57.1972-45.2383C57.6328-44.8164 58.1094-44.6992 58.5449-44.6992C59.5391-44.6992 60.334-45.4375 60.334-46.4317C60.334-46.9766 60.1406-47.3985 59.7383-47.8008L36.6504-70.207C36.1582-70.6504 35.6738-70.9492 35.0566-70.9492ZM35.0566 0.441418C35.6738 0.441418 36.1582 0.142589 36.6504-0.300773L59.7383-22.707C60.1406-23.1094 60.334-23.5312 60.334-24.0762C60.334-25.0703 59.5391-25.8086 58.5449-25.8086C58.1094-25.8086 57.6328-25.6914 57.1972-25.2695L35.0566-3.5762L12.9024-25.2695C12.4668-25.6699 11.9688-25.8086 11.5684-25.8086C10.5391-25.8086 9.76562-25.0703 9.76562-24.0762C9.76562-23.5312 9.97266-23.1094 10.3613-22.707L33.4629-0.300773C33.9062 0.142589 34.4258 0.441418 35.0566 0.441418Z" })
|
|
6309
|
+
});
|
|
6310
|
+
case "light": return /* @__PURE__ */ jsx("svg", {
|
|
6311
|
+
viewBox: "9.76562 -71.8101 50.83 73.11",
|
|
6312
|
+
...props,
|
|
6313
|
+
children: /* @__PURE__ */ jsx("path", { d: "M35.1968-71.8101C34.2856-71.8101 33.5059-71.4312 32.8423-70.7676L10.6616-49.4424C10.1328-48.8799 9.76562-48.1978 9.76562-47.2124C9.76562-45.4775 11.0996-44.1587 12.8496-44.1587C13.5503-44.1587 14.3486-44.3574 15.0645-45.0581L35.1968-64.7695L55.2954-45.0581C56.0112-44.376 56.8281-44.1587 57.5439-44.1587C59.2788-44.1587 60.5942-45.4775 60.5942-47.2124C60.5942-48.1978 60.2607-48.8799 59.6982-49.4424L37.5513-70.7676C36.8389-71.4312 36.0742-71.8101 35.1968-71.8101ZM35.1968 1.30225C36.0742 1.30225 36.8389 0.923344 37.5513 0.259769L59.6982-21.0654C60.2607-21.6279 60.5942-22.3101 60.5942-23.2954C60.5942-25.0303 59.2788-26.3491 57.5439-26.3491C56.8281-26.3491 56.0112-26.1318 55.2954-25.4497L35.1968-5.73829L15.0645-25.4497C14.3486-26.1504 13.5503-26.3491 12.8496-26.3491C11.0996-26.3491 9.76562-25.0303 9.76562-23.2954C9.76562-22.3101 10.1328-21.6279 10.6616-21.0654L32.8423 0.259769C33.5059 0.923344 34.2856 1.30225 35.1968 1.30225Z" })
|
|
6314
|
+
});
|
|
6315
|
+
case "regular": return /* @__PURE__ */ jsx("svg", {
|
|
6316
|
+
viewBox: "9.76562 -72.4609 51.03 74.41",
|
|
6317
|
+
...props,
|
|
6318
|
+
children: /* @__PURE__ */ jsx("path", { d: "M35.3027-72.4609C34.1797-72.4609 33.2031-72.0215 32.373-71.1914L10.8887-50.6836C10.2539-50 9.76562-49.1211 9.76562-47.8027C9.76562-45.5078 11.5234-43.75 13.8184-43.75C14.7461-43.75 15.7715-43.9941 16.6992-44.9219L35.3027-63.1348L53.8574-44.9219C54.7852-44.043 55.8594-43.75 56.7871-43.75C59.082-43.75 60.791-45.5078 60.791-47.8027C60.791-49.1211 60.3516-50 59.668-50.6836L38.2324-71.1914C37.3535-72.0215 36.377-72.4609 35.3027-72.4609ZM35.3027 1.95312C36.377 1.95312 37.3535 1.51367 38.2324 0.683594L59.668-19.8242C60.3516-20.5078 60.791-21.3867 60.791-22.7051C60.791-25 59.082-26.7578 56.7871-26.7578C55.8594-26.7578 54.7852-26.4648 53.8574-25.5859L35.3027-7.37305L16.6992-25.5859C15.7715-26.5137 14.7461-26.7578 13.8184-26.7578C11.5234-26.7578 9.76562-25 9.76562-22.7051C9.76562-21.3867 10.2539-20.5078 10.8887-19.8242L32.373 0.683594C33.2031 1.51367 34.1797 1.95312 35.3027 1.95312Z" })
|
|
6319
|
+
});
|
|
6320
|
+
case "medium": return /* @__PURE__ */ jsx("svg", {
|
|
6321
|
+
viewBox: "9.76562 -74.0254 53.67 77.54",
|
|
6322
|
+
...props,
|
|
6323
|
+
children: /* @__PURE__ */ jsx("path", { d: "M36.6211-74.0254C35.1641-74.0254 33.9326-73.4453 32.8037-72.334L11.3369-51.8174C10.4385-50.8965 9.76562-49.7451 9.76562-48.2246C9.76562-45.3584 12.0508-43.249 14.7236-43.249C15.915-43.249 17.1953-43.5898 18.2988-44.6846L36.6211-62.6162L54.9033-44.6846C56.0068-43.6299 57.3271-43.249 58.5186-43.249C61.1914-43.249 63.4365-45.3584 63.4365-48.2246C63.4365-49.7451 62.8037-50.8965 61.8652-51.8174L40.4385-72.334C39.2695-73.4453 38.0381-74.0254 36.6211-74.0254ZM36.6211 3.51758C38.0381 3.51758 39.2695 2.9375 40.4385 1.82617L61.8652-18.6904C62.8037-19.6113 63.4365-20.7627 63.4365-22.2832C63.4365-25.1494 61.1914-27.2588 58.5186-27.2588C57.3271-27.2588 56.0068-26.8779 54.9033-25.8232L36.6211-7.8916L18.2988-25.8232C17.1953-26.918 15.915-27.2588 14.7236-27.2588C12.0508-27.2588 9.76562-25.1494 9.76562-22.2832C9.76562-20.7627 10.4385-19.6113 11.3369-18.6904L32.8037 1.82617C33.9326 2.9375 35.1641 3.51758 36.6211 3.51758Z" })
|
|
6324
|
+
});
|
|
6325
|
+
case "semibold": return /* @__PURE__ */ jsx("svg", {
|
|
6326
|
+
viewBox: "9.76562 -75.2248 55.7 79.94",
|
|
6327
|
+
...props,
|
|
6328
|
+
children: /* @__PURE__ */ jsx("path", { d: "M37.6318-75.2248C35.9188-75.2248 34.4919-74.5369 33.1339-73.21L11.6806-52.6866C10.58-51.5838 9.76562-50.2235 9.76562-48.548C9.76562-45.2438 12.4551-42.8649 15.4177-42.8649C16.8112-42.8649 18.2869-43.2799 19.5252-44.5026L37.6318-62.2187L55.7052-44.5026C56.9435-43.3132 58.4524-42.8649 59.846-42.8649C62.8086-42.8649 65.4647-45.2438 65.4647-48.548C65.4647-50.2235 64.6837-51.5838 63.5498-52.6866L42.1298-73.21C40.7385-74.5369 39.3116-75.2248 37.6318-75.2248ZM37.6318 4.71699C39.3116 4.71699 40.7385 4.0291 42.1298 2.70215L63.5498-17.8212C64.6837-18.924 65.4647-20.2843 65.4647-21.9598C65.4647-25.264 62.8086-27.6429 59.846-27.6429C58.4524-27.6429 56.9435-27.1946 55.7052-26.0052L37.6318-8.28916L19.5252-26.0052C18.2869-27.2279 16.8112-27.6429 15.4177-27.6429C12.4551-27.6429 9.76562-25.264 9.76562-21.9598C9.76562-20.2843 10.58-18.924 11.6806-17.8212L33.1339 2.70215C34.4919 4.0291 35.9188 4.71699 37.6318 4.71699Z" })
|
|
6329
|
+
});
|
|
6330
|
+
case "bold": return /* @__PURE__ */ jsx("svg", {
|
|
6331
|
+
viewBox: "9.76562 -76.8066 58.37 83.11",
|
|
6332
|
+
...props,
|
|
6333
|
+
children: /* @__PURE__ */ jsx("path", { d: "M38.9648-76.8066C36.9141-76.8066 35.2295-75.9766 33.5693-74.3652L12.1338-53.833C10.7666-52.4902 9.76562-50.8545 9.76562-48.9746C9.76562-45.0928 12.9883-42.3584 16.333-42.3584C17.9932-42.3584 19.7266-42.8711 21.1426-44.2627L38.9648-61.6943L56.7627-44.2627C58.1787-42.8955 59.9365-42.3584 61.5967-42.3584C64.9414-42.3584 68.1396-45.0928 68.1396-48.9746C68.1396-50.8545 67.1631-52.4902 65.7715-53.833L44.3604-74.3652C42.6758-75.9766 40.9912-76.8066 38.9648-76.8066ZM38.9648 6.29883C40.9912 6.29883 42.6758 5.46875 44.3604 3.85742L65.7715-16.6748C67.1631-18.0176 68.1396-19.6533 68.1396-21.5332C68.1396-25.415 64.9414-28.1494 61.5967-28.1494C59.9365-28.1494 58.1787-27.6123 56.7627-26.2451L38.9648-8.81348L21.1426-26.2451C19.7266-27.6367 17.9932-28.1494 16.333-28.1494C12.9883-28.1494 9.76562-25.415 9.76562-21.5332C9.76562-19.6533 10.7666-18.0176 12.1338-16.6748L33.5693 3.85742C35.2295 5.46875 36.9141 6.29883 38.9648 6.29883Z" })
|
|
6334
|
+
});
|
|
6335
|
+
case "heavy": return /* @__PURE__ */ jsx("svg", {
|
|
6336
|
+
viewBox: "9.76562 -79.101 62.25 87.69",
|
|
6337
|
+
...props,
|
|
6338
|
+
children: /* @__PURE__ */ jsx("path", { d: "M40.8983-79.101C38.3577-79.101 36.2993-78.0647 34.2009-76.0409L12.7912-55.4958C11.0373-53.805 9.76562-51.7697 9.76562-49.5933C9.76562-44.8737 13.7617-41.6237 17.6606-41.6237C19.7075-41.6237 21.8147-42.2782 23.4885-43.9147L40.8983-60.9338L58.2966-43.9147C59.9704-42.2897 62.0891-41.6237 64.1359-41.6237C68.0349-41.6237 72.0194-44.8737 72.0194-49.5933C72.0194-51.7697 70.7593-53.805 68.9939-55.4958L47.5956-76.0409C45.4857-78.0647 43.4273-79.101 40.8983-79.101ZM40.8983 8.59318C43.4273 8.59318 45.4857 7.55686 47.5956 5.53307L68.9939-15.012C70.7593-16.7028 72.0194-18.7382 72.0194-20.9145C72.0194-25.6342 68.0349-28.8841 64.1359-28.8841C62.0891-28.8841 59.9704-28.2181 58.2966-26.5931L40.8983-9.57396L23.4885-26.5931C21.8147-28.2296 19.7075-28.8841 17.6606-28.8841C13.7617-28.8841 9.76562-25.6342 9.76562-20.9145C9.76562-18.7382 11.0373-16.7028 12.7912-15.012L34.2009 5.53307C36.2993 7.55686 38.3577 8.59318 40.8983 8.59318Z" })
|
|
6339
|
+
});
|
|
6340
|
+
case "black": return /* @__PURE__ */ jsx("svg", {
|
|
6341
|
+
viewBox: "9.76562 -81.1523 65.72 91.8",
|
|
6342
|
+
...props,
|
|
6343
|
+
children: /* @__PURE__ */ jsx("path", { d: "M42.627-81.1523C39.6484-81.1523 37.2559-79.9316 34.7656-77.5391L13.3789-56.9824C11.2793-54.9805 9.76562-52.5879 9.76562-50.1465C9.76562-44.6777 14.4531-40.9668 18.8477-40.9668C21.2402-40.9668 23.6816-41.748 25.5859-43.6035L42.627-60.2539L59.668-43.6035C61.5723-41.748 64.0137-40.9668 66.4062-40.9668C70.8008-40.9668 75.4883-44.6777 75.4883-50.1465C75.4883-52.5879 73.9746-54.9805 71.875-56.9824L50.4883-77.5391C47.998-79.9316 45.6055-81.1523 42.627-81.1523ZM42.627 10.6445C45.6055 10.6445 47.998 9.42383 50.4883 7.03125L71.875-13.5254C73.9746-15.5273 75.4883-17.9199 75.4883-20.3613C75.4883-25.8301 70.8008-29.541 66.4062-29.541C64.0137-29.541 61.5723-28.7598 59.668-26.9043L42.627-10.2539L25.5859-26.9043C23.6816-28.7598 21.2402-29.541 18.8477-29.541C14.4531-29.541 9.76562-25.8301 9.76562-20.3613C9.76562-17.9199 11.2793-15.5273 13.3789-13.5254L34.7656 7.03125C37.2559 9.42383 39.6484 10.6445 42.627 10.6445Z" })
|
|
6344
|
+
});
|
|
6753
6345
|
}
|
|
6754
6346
|
}
|
|
6755
6347
|
|
|
@@ -6761,7 +6353,10 @@ function ChevronUpChevronDown({ weight = "regular", ...props }) {
|
|
|
6761
6353
|
* Displays a simple title.
|
|
6762
6354
|
*/
|
|
6763
6355
|
function SelectSectionTitle({ className, ...props }) {
|
|
6764
|
-
return
|
|
6356
|
+
return /* @__PURE__ */ jsx("div", {
|
|
6357
|
+
className: twMerge("sticky -top-1 z-10 -mx-1 bg-inherit mask-t-from-transparent mask-t-from-0 mask-t-to-white mask-t-to-1.5 pl-2 font-bold text-neutral-500/50 backdrop-blur-[2px] backdrop-brightness-101", className),
|
|
6358
|
+
...props
|
|
6359
|
+
});
|
|
6765
6360
|
}
|
|
6766
6361
|
/**
|
|
6767
6362
|
* ## SelectOption
|
|
@@ -6771,15 +6366,17 @@ function SelectSectionTitle({ className, ...props }) {
|
|
|
6771
6366
|
* @prop value - This is used for FormData
|
|
6772
6367
|
*/
|
|
6773
6368
|
function SelectOption({ children, className, name, ...props }) {
|
|
6774
|
-
return
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
|
|
6782
|
-
|
|
6369
|
+
return /* @__PURE__ */ jsx(ListboxOption, {
|
|
6370
|
+
className: "group/option contents",
|
|
6371
|
+
...props,
|
|
6372
|
+
children: (bag) => bag.selectedOption ? /* @__PURE__ */ jsx("span", {
|
|
6373
|
+
className: "mr-3 before:absolute before:-left-3 before:content-[\",_\"]",
|
|
6374
|
+
children: name
|
|
6375
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
6376
|
+
className: twMerge("ease-exponential corner-super-1.5 flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1 transition-[background-color] duration-200 select-none [--theme-color:var(--base-theme-color)] group-disabled/option:opacity-50 group-data-focus/option:bg-(--theme-color)/15 group-data-selected/option:cursor-default group-data-selected/option:text-(--theme-color) group-data-focus/option:group-data-selected/option:bg-transparent dark:group-data-focus/option:bg-(--theme-color)/15", className),
|
|
6377
|
+
children: [/* @__PURE__ */ jsx(Checkmark, { className: "invisible size-3.5 group-data-selected/option:visible" }), typeof children === "function" ? children(bag) : children]
|
|
6378
|
+
})
|
|
6379
|
+
});
|
|
6783
6380
|
}
|
|
6784
6381
|
/**
|
|
6785
6382
|
* # Select
|
|
@@ -6804,12 +6401,12 @@ function SelectOption({ children, className, name, ...props }) {
|
|
|
6804
6401
|
* @prop anchor - The anchor point for the drop down menu.
|
|
6805
6402
|
*/
|
|
6806
6403
|
function Select({ buttonProps, children, className, description, descriptionProps: { className: descriptionClassName, ...descriptionProps } = {}, fieldProps: { className: fieldClassName, ...fieldProps } = {}, invalid, label, labelProps: { className: labelClassName, ...labelProps } = {}, onChange, optionsProps: { anchor, className: optionsClassName, transition, ...optionsProps } = {}, placeholder, required, selectedOptionProps: { ...selectedOptionProps } = {}, ...props }) {
|
|
6807
|
-
const uniqueId =
|
|
6404
|
+
const uniqueId = useId();
|
|
6808
6405
|
const multiple = props.multiple;
|
|
6809
|
-
const selectOptionList =
|
|
6810
|
-
const listboxButtonRef =
|
|
6811
|
-
const [isInvalid, setIsInvalid] =
|
|
6812
|
-
const [selectedOptionSync, setSelectedOptionSync] =
|
|
6406
|
+
const selectOptionList = Children.toArray(children).filter((child) => isValidElement(child) && child.props && typeof child.props === "object" && "name" in child.props && "value" in child.props && "children" in child.props);
|
|
6407
|
+
const listboxButtonRef = useRef(null);
|
|
6408
|
+
const [isInvalid, setIsInvalid] = useState(invalid);
|
|
6409
|
+
const [selectedOptionSync, setSelectedOptionSync] = useState(multiple ? [] : "");
|
|
6813
6410
|
const handleChange = (selected) => {
|
|
6814
6411
|
setIsInvalid(false);
|
|
6815
6412
|
setSelectedOptionSync(selected);
|
|
@@ -6817,31 +6414,61 @@ function Select({ buttonProps, children, className, description, descriptionProp
|
|
|
6817
6414
|
};
|
|
6818
6415
|
const handleInvalid = () => setIsInvalid(true);
|
|
6819
6416
|
const refocus = () => listboxButtonRef.current?.focus();
|
|
6820
|
-
return
|
|
6821
|
-
|
|
6822
|
-
|
|
6823
|
-
|
|
6824
|
-
|
|
6825
|
-
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
6833
|
-
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6417
|
+
return /* @__PURE__ */ jsxs(Field, {
|
|
6418
|
+
...fieldProps,
|
|
6419
|
+
className: (bag) => twMerge("grid gap-1", typeof fieldClassName === "function" ? fieldClassName(bag) : fieldClassName),
|
|
6420
|
+
children: [
|
|
6421
|
+
label && /* @__PURE__ */ jsx(Label, {
|
|
6422
|
+
...labelProps,
|
|
6423
|
+
className: (bag) => twMerge("text-sm font-medium", required ? "after:text-red-700 after:content-[\"_*\"]" : "", typeof labelClassName === "function" ? labelClassName(bag) : labelClassName),
|
|
6424
|
+
children: label
|
|
6425
|
+
}),
|
|
6426
|
+
/* @__PURE__ */ jsxs(Listbox, {
|
|
6427
|
+
...props,
|
|
6428
|
+
invalid: isInvalid || invalid,
|
|
6429
|
+
onChange: handleChange,
|
|
6430
|
+
children: [/* @__PURE__ */ jsxs(ListboxButton, {
|
|
6431
|
+
...buttonProps,
|
|
6432
|
+
className: (bag) => twMerge("ease-exponential corner-super-1.5 inline-block w-full overflow-clip rounded-xl border border-neutral-500/50 bg-neutral-100 py-1 pr-4.5 pl-2 text-left text-neutral-950 outline-offset-1 outline-blue-400/95 transition-[background-color] duration-300 dark:bg-neutral-700 dark:text-neutral-50", "focus:outline-3 focus-visible:bg-neutral-50 focus-visible:outline-3 active:bg-neutral-200 dark:focus-visible:bg-neutral-600 dark:active:bg-neutral-800 pointer-fine:hover:bg-neutral-50 pointer-fine:active:bg-neutral-200 dark:pointer-fine:hover:bg-neutral-600 dark:pointer-fine:active:bg-neutral-800", "data-invalid:border-red-500 data-invalid:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-100)_5%)] data-invalid:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-100))] data-invalid:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-100))] dark:data-invalid:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-800)_5%)] dark:data-invalid:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-800))] dark:data-invalid:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-800)_5%)] data-invalid:pointer-fine:hover:bg-[color-mix(in_oklch,var(--color-red-500)_10%,var(--color-neutral-500)_5%)] data-invalid:pointer-fine:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-100))] data-invalid:pointer-fine:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-100))] dark:data-invalid:pointer-fine:hover:bg-[color-mix(in_oklch,var(--color-red-500)_10%,var(--color-neutral-800)_5%)] dark:data-invalid:pointer-fine:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-800))] dark:data-invalid:pointer-fine:active:bg-[color-mix(in_oklch,var(--color-red-500)_5%,var(--color-neutral-800)_5%)]", typeof className === "function" ? className(bag) : className),
|
|
6433
|
+
ref: listboxButtonRef,
|
|
6434
|
+
children: [
|
|
6435
|
+
/* @__PURE__ */ jsx("input", {
|
|
6436
|
+
"aria-hidden": "true",
|
|
6437
|
+
className: "sr-only top-0 left-1/2",
|
|
6438
|
+
id: props.name + ":input:id" + uniqueId,
|
|
6439
|
+
name: props.name + ":input:name" + uniqueId,
|
|
6440
|
+
onChange: () => {},
|
|
6441
|
+
onInvalid: handleInvalid,
|
|
6442
|
+
onFocus: refocus,
|
|
6443
|
+
required,
|
|
6444
|
+
tabIndex: -1,
|
|
6445
|
+
value: Array.isArray(selectedOptionSync) ? selectedOptionSync.join(", ") : selectedOptionSync
|
|
6446
|
+
}),
|
|
6447
|
+
/* @__PURE__ */ jsx(ListboxSelectedOption, {
|
|
6448
|
+
...selectedOptionProps,
|
|
6449
|
+
options: selectOptionList,
|
|
6450
|
+
placeholder: /* @__PURE__ */ jsx("span", {
|
|
6451
|
+
className: "opacity-50",
|
|
6452
|
+
children: placeholder || (multiple ? "Choose Any" : "Choose One")
|
|
6453
|
+
})
|
|
6454
|
+
}),
|
|
6455
|
+
/* @__PURE__ */ jsx(ChevronUpChevronDown, { className: "absolute top-1/2 right-2 size-3 -translate-y-1/2 fill-current/50" })
|
|
6456
|
+
]
|
|
6457
|
+
}), /* @__PURE__ */ jsx(ListboxOptions, {
|
|
6458
|
+
...optionsProps,
|
|
6459
|
+
anchor: anchor || "bottom start",
|
|
6460
|
+
className: (bag) => twMerge("ease-exponential corner-super-1.5 z-50 w-(--button-width) origin-top rounded-xl border border-neutral-500/50 bg-neutral-50/95 p-1 backdrop-blur-sm backdrop-brightness-110 transition-[opacity,scale,translate] duration-300 [--anchor-gap:--spacing(1)] focus:outline-none data-closed:-translate-y-0.5 data-closed:scale-y-0 data-closed:opacity-0 data-[anchor*=top]:origin-bottom dark:bg-neutral-800/95", typeof optionsClassName === "function" ? optionsClassName(bag) : optionsClassName),
|
|
6461
|
+
transition: transition || true,
|
|
6462
|
+
children
|
|
6463
|
+
})]
|
|
6464
|
+
}),
|
|
6465
|
+
description && /* @__PURE__ */ jsx(Description, {
|
|
6466
|
+
...descriptionProps,
|
|
6467
|
+
className: (bag) => twMerge("text-xs text-current/60", typeof descriptionClassName === "function" ? descriptionClassName(bag) : descriptionClassName),
|
|
6468
|
+
children: description
|
|
6469
|
+
})
|
|
6470
|
+
]
|
|
6471
|
+
});
|
|
6845
6472
|
}
|
|
6846
6473
|
|
|
6847
6474
|
//#endregion
|
|
@@ -6869,21 +6496,28 @@ function SubmitButton({ children, className, customTheme, error, formStatus = "r
|
|
|
6869
6496
|
const getButtonText = () => {
|
|
6870
6497
|
switch (formStatus) {
|
|
6871
6498
|
case "incomplete": return incomplete || "Complete Form";
|
|
6872
|
-
case "loading": return loading ||
|
|
6873
|
-
|
|
6874
|
-
|
|
6875
|
-
|
|
6876
|
-
|
|
6877
|
-
|
|
6878
|
-
|
|
6879
|
-
|
|
6880
|
-
|
|
6881
|
-
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6499
|
+
case "loading": return loading || /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6500
|
+
/* @__PURE__ */ jsx("span", {
|
|
6501
|
+
className: "animate-wave animation-delay-300 inline-block",
|
|
6502
|
+
children: "•"
|
|
6503
|
+
}),
|
|
6504
|
+
/* @__PURE__ */ jsx("span", {
|
|
6505
|
+
className: "animate-wave animation-delay-150 inline-block",
|
|
6506
|
+
children: "•"
|
|
6507
|
+
}),
|
|
6508
|
+
/* @__PURE__ */ jsx("span", {
|
|
6509
|
+
className: "animate-wave inline-block",
|
|
6510
|
+
children: "•"
|
|
6511
|
+
})
|
|
6512
|
+
] });
|
|
6513
|
+
case "error": return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6514
|
+
error || "Error",
|
|
6515
|
+
" ",
|
|
6516
|
+
/* @__PURE__ */ jsx("span", {
|
|
6517
|
+
className: "absolute top-1/2 ml-1.5 translate-y-[calc(-50%-1.5px)] text-2xl",
|
|
6518
|
+
children: "×"
|
|
6519
|
+
})
|
|
6520
|
+
] });
|
|
6887
6521
|
case "readonly": return readonly || children;
|
|
6888
6522
|
case "success": return success || "Successfully Submitted";
|
|
6889
6523
|
default: return children || "Submit";
|
|
@@ -6902,13 +6536,19 @@ function SubmitButton({ children, className, customTheme, error, formStatus = "r
|
|
|
6902
6536
|
}
|
|
6903
6537
|
};
|
|
6904
6538
|
const dataFormState = getDataFormState();
|
|
6905
|
-
return
|
|
6906
|
-
|
|
6907
|
-
|
|
6908
|
-
className
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6539
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
6540
|
+
...props,
|
|
6541
|
+
...dataFormState,
|
|
6542
|
+
className: twMerge([
|
|
6543
|
+
formStatusButtonClasses,
|
|
6544
|
+
"w-full text-white",
|
|
6545
|
+
className
|
|
6546
|
+
]),
|
|
6547
|
+
customTheme: { themeColor: twMerge("data-error:[--theme-color:var(--color-red-500)] data-incomplete:[--theme-color:var(--color-neutral-500)] data-loading:[--theme-color:var(--color-yellow-500)] data-readonly:[--theme-color:var(--color-neutral-500)] data-ready:[--theme-color:var(--base-theme-color)] data-success:[--theme-color:var(--color-green-500)]", customTheme?.themeColor) },
|
|
6548
|
+
theme: "custom",
|
|
6549
|
+
type: type || "submit",
|
|
6550
|
+
children: buttonText
|
|
6551
|
+
});
|
|
6912
6552
|
}
|
|
6913
6553
|
|
|
6914
6554
|
//#endregion
|
|
@@ -6957,21 +6597,27 @@ function Textarea({ children, className, description, descriptionProps: { classN
|
|
|
6957
6597
|
}
|
|
6958
6598
|
resizeClassName = resizeClassList.join(" ");
|
|
6959
6599
|
}
|
|
6960
|
-
return
|
|
6961
|
-
|
|
6962
|
-
|
|
6963
|
-
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
|
|
6970
|
-
|
|
6971
|
-
|
|
6972
|
-
|
|
6973
|
-
|
|
6974
|
-
|
|
6600
|
+
return /* @__PURE__ */ jsxs(Field, {
|
|
6601
|
+
...fieldProps,
|
|
6602
|
+
className: (bag) => twMerge("grid h-fit gap-1", typeof fieldClassName === "function" ? fieldClassName(bag) : fieldClassName),
|
|
6603
|
+
children: [
|
|
6604
|
+
label && /* @__PURE__ */ jsx(Label, {
|
|
6605
|
+
...labelProps,
|
|
6606
|
+
className: (bag) => twMerge("text-sm font-medium", required ? "after:text-red-700 after:content-[\"_*\"]" : "", typeof labelClassName === "function" ? labelClassName(bag) : labelClassName),
|
|
6607
|
+
children: label
|
|
6608
|
+
}),
|
|
6609
|
+
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Textarea$1, {
|
|
6610
|
+
...props,
|
|
6611
|
+
className: (bag) => twMerge("corner-super-1.5 ease-exponential w-full rounded-xl border border-neutral-500/50 bg-neutral-100 py-1 pl-2 text-neutral-950 outline-offset-1 outline-blue-400/95 transition-[background-color] duration-300 dark:bg-neutral-700 dark:text-neutral-50", "focus-visible:bg-neutral-50 focus-visible:outline-3 active:bg-neutral-200 dark:focus-visible:bg-neutral-600 dark:active:bg-neutral-800 pointer-fine:hover:bg-neutral-50 pointer-fine:active:bg-neutral-200 dark:pointer-fine:hover:bg-neutral-600 dark:pointer-fine:active:bg-neutral-800", "user-invalid:border-red-500 user-invalid:bg-[color-mix(in_oklch,var(--color-red-500)_20%,var(--color-neutral-100))] user-invalid:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-100))] user-invalid:active:bg-[color-mix(in_oklch,var(--color-red-500)_25%,var(--color-neutral-100))] dark:user-invalid:bg-[color-mix(in_oklch,var(--color-red-500)_20%,var(--color-neutral-800))] dark:user-invalid:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-800))] dark:user-invalid:active:bg-[color-mix(in_oklch,var(--color-red-500)_25%,var(--color-neutral-800))] user-invalid:pointer-fine:hover:bg-[color-mix(in_oklch,var(--color-red-500)_10%,var(--color-neutral-100))] user-invalid:pointer-fine:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-100))] user-invalid:pointer-fine:active:bg-[color-mix(in_oklch,var(--color-red-500)_25%,var(--color-neutral-100))] dark:user-invalid:pointer-fine:hover:bg-[color-mix(in_oklch,var(--color-red-500)_10%,var(--color-neutral-800))] dark:user-invalid:pointer-fine:focus-visible:bg-[color-mix(in_oklch,var(--color-red-500)_1%,var(--color-neutral-800))] dark:user-invalid:pointer-fine:active:bg-[color-mix(in_oklch,var(--color-red-500)_25%,var(--color-neutral-800))]", resizeClassName, typeof className === "function" ? className(bag) : className),
|
|
6612
|
+
required
|
|
6613
|
+
}), children] }),
|
|
6614
|
+
description && /* @__PURE__ */ jsx(Description, {
|
|
6615
|
+
...descriptionProps,
|
|
6616
|
+
className: (bag) => twMerge("text-xs text-current/60", typeof descriptionClassName === "function" ? descriptionClassName(bag) : descriptionClassName),
|
|
6617
|
+
children: description
|
|
6618
|
+
})
|
|
6619
|
+
]
|
|
6620
|
+
});
|
|
6975
6621
|
}
|
|
6976
6622
|
|
|
6977
6623
|
//#endregion
|
|
@@ -6993,7 +6639,7 @@ function Textarea({ children, className, description, descriptionProps: { classN
|
|
|
6993
6639
|
* @prop year - Include the year in the display.
|
|
6994
6640
|
*/
|
|
6995
6641
|
function Time({ children, dateObject, dateTime, day, hours, milliseconds, minutes, month, seconds, year, ref, ...props }) {
|
|
6996
|
-
const [date, setDate] =
|
|
6642
|
+
const [date, setDate] = useState(dateObject || void 0);
|
|
6997
6643
|
const getDateAndTime = () => {
|
|
6998
6644
|
if (dateTime) return dateTime;
|
|
6999
6645
|
if (!date) return "";
|
|
@@ -7029,15 +6675,18 @@ function Time({ children, dateObject, dateTime, day, hours, milliseconds, minute
|
|
|
7029
6675
|
].filter(Boolean).join(" ");
|
|
7030
6676
|
};
|
|
7031
6677
|
const dateDisplay = getDateDisplay();
|
|
7032
|
-
const onVisible =
|
|
6678
|
+
const onVisible = useEffectEvent(() => {
|
|
7033
6679
|
if (date === void 0 && dateObject === void 0 && dateTime === void 0 && typeof window !== "undefined" && (dateAndTime === "" || dateDisplay === "")) setDate(/* @__PURE__ */ new Date());
|
|
7034
6680
|
});
|
|
7035
|
-
|
|
6681
|
+
useEffect(() => {
|
|
7036
6682
|
onVisible();
|
|
7037
6683
|
}, []);
|
|
7038
|
-
return
|
|
7039
|
-
|
|
7040
|
-
|
|
6684
|
+
return /* @__PURE__ */ jsx("time", {
|
|
6685
|
+
dateTime: dateAndTime,
|
|
6686
|
+
ref,
|
|
6687
|
+
...props,
|
|
6688
|
+
children: dateDisplay
|
|
6689
|
+
});
|
|
7041
6690
|
}
|
|
7042
6691
|
|
|
7043
6692
|
//#endregion
|
|
@@ -8297,7 +7946,7 @@ const computePosition = (reference, floating, options) => {
|
|
|
8297
7946
|
|
|
8298
7947
|
//#endregion
|
|
8299
7948
|
//#region node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
|
|
8300
|
-
var index = typeof document !== "undefined" ?
|
|
7949
|
+
var index = typeof document !== "undefined" ? useLayoutEffect : function noop() {};
|
|
8301
7950
|
function deepEqual(a, b) {
|
|
8302
7951
|
if (a === b) return true;
|
|
8303
7952
|
if (typeof a !== typeof b) return false;
|
|
@@ -8334,7 +7983,7 @@ function roundByDPR(element, value) {
|
|
|
8334
7983
|
return Math.round(value * dpr) / dpr;
|
|
8335
7984
|
}
|
|
8336
7985
|
function useLatestRef(value) {
|
|
8337
|
-
const ref =
|
|
7986
|
+
const ref = React.useRef(value);
|
|
8338
7987
|
index(() => {
|
|
8339
7988
|
ref.current = value;
|
|
8340
7989
|
});
|
|
@@ -8347,7 +7996,7 @@ function useLatestRef(value) {
|
|
|
8347
7996
|
function useFloating(options) {
|
|
8348
7997
|
if (options === void 0) options = {};
|
|
8349
7998
|
const { placement = "bottom", strategy = "absolute", middleware = [], platform, elements: { reference: externalReference, floating: externalFloating } = {}, transform = true, whileElementsMounted, open } = options;
|
|
8350
|
-
const [data, setData] =
|
|
7999
|
+
const [data, setData] = React.useState({
|
|
8351
8000
|
x: 0,
|
|
8352
8001
|
y: 0,
|
|
8353
8002
|
strategy,
|
|
@@ -8355,17 +8004,17 @@ function useFloating(options) {
|
|
|
8355
8004
|
middlewareData: {},
|
|
8356
8005
|
isPositioned: false
|
|
8357
8006
|
});
|
|
8358
|
-
const [latestMiddleware, setLatestMiddleware] =
|
|
8007
|
+
const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);
|
|
8359
8008
|
if (!deepEqual(latestMiddleware, middleware)) setLatestMiddleware(middleware);
|
|
8360
|
-
const [_reference, _setReference] =
|
|
8361
|
-
const [_floating, _setFloating] =
|
|
8362
|
-
const setReference =
|
|
8009
|
+
const [_reference, _setReference] = React.useState(null);
|
|
8010
|
+
const [_floating, _setFloating] = React.useState(null);
|
|
8011
|
+
const setReference = React.useCallback((node) => {
|
|
8363
8012
|
if (node !== referenceRef.current) {
|
|
8364
8013
|
referenceRef.current = node;
|
|
8365
8014
|
_setReference(node);
|
|
8366
8015
|
}
|
|
8367
8016
|
}, []);
|
|
8368
|
-
const setFloating =
|
|
8017
|
+
const setFloating = React.useCallback((node) => {
|
|
8369
8018
|
if (node !== floatingRef.current) {
|
|
8370
8019
|
floatingRef.current = node;
|
|
8371
8020
|
_setFloating(node);
|
|
@@ -8373,14 +8022,14 @@ function useFloating(options) {
|
|
|
8373
8022
|
}, []);
|
|
8374
8023
|
const referenceEl = externalReference || _reference;
|
|
8375
8024
|
const floatingEl = externalFloating || _floating;
|
|
8376
|
-
const referenceRef =
|
|
8377
|
-
const floatingRef =
|
|
8378
|
-
const dataRef =
|
|
8025
|
+
const referenceRef = React.useRef(null);
|
|
8026
|
+
const floatingRef = React.useRef(null);
|
|
8027
|
+
const dataRef = React.useRef(data);
|
|
8379
8028
|
const hasWhileElementsMounted = whileElementsMounted != null;
|
|
8380
8029
|
const whileElementsMountedRef = useLatestRef(whileElementsMounted);
|
|
8381
8030
|
const platformRef = useLatestRef(platform);
|
|
8382
8031
|
const openRef = useLatestRef(open);
|
|
8383
|
-
const update =
|
|
8032
|
+
const update = React.useCallback(() => {
|
|
8384
8033
|
if (!referenceRef.current || !floatingRef.current) return;
|
|
8385
8034
|
const config = {
|
|
8386
8035
|
placement,
|
|
@@ -8395,7 +8044,7 @@ function useFloating(options) {
|
|
|
8395
8044
|
};
|
|
8396
8045
|
if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
|
|
8397
8046
|
dataRef.current = fullData;
|
|
8398
|
-
|
|
8047
|
+
ReactDOM.flushSync(() => {
|
|
8399
8048
|
setData(fullData);
|
|
8400
8049
|
});
|
|
8401
8050
|
}
|
|
@@ -8416,7 +8065,7 @@ function useFloating(options) {
|
|
|
8416
8065
|
}));
|
|
8417
8066
|
}
|
|
8418
8067
|
}, [open]);
|
|
8419
|
-
const isMountedRef =
|
|
8068
|
+
const isMountedRef = React.useRef(false);
|
|
8420
8069
|
index(() => {
|
|
8421
8070
|
isMountedRef.current = true;
|
|
8422
8071
|
return () => {
|
|
@@ -8437,17 +8086,17 @@ function useFloating(options) {
|
|
|
8437
8086
|
whileElementsMountedRef,
|
|
8438
8087
|
hasWhileElementsMounted
|
|
8439
8088
|
]);
|
|
8440
|
-
const refs =
|
|
8089
|
+
const refs = React.useMemo(() => ({
|
|
8441
8090
|
reference: referenceRef,
|
|
8442
8091
|
floating: floatingRef,
|
|
8443
8092
|
setReference,
|
|
8444
8093
|
setFloating
|
|
8445
8094
|
}), [setReference, setFloating]);
|
|
8446
|
-
const elements =
|
|
8095
|
+
const elements = React.useMemo(() => ({
|
|
8447
8096
|
reference: referenceEl,
|
|
8448
8097
|
floating: floatingEl
|
|
8449
8098
|
}), [referenceEl, floatingEl]);
|
|
8450
|
-
const floatingStyles =
|
|
8099
|
+
const floatingStyles = React.useMemo(() => {
|
|
8451
8100
|
const initialStyles = {
|
|
8452
8101
|
position: strategy,
|
|
8453
8102
|
left: 0,
|
|
@@ -8473,7 +8122,7 @@ function useFloating(options) {
|
|
|
8473
8122
|
data.x,
|
|
8474
8123
|
data.y
|
|
8475
8124
|
]);
|
|
8476
|
-
return
|
|
8125
|
+
return React.useMemo(() => ({
|
|
8477
8126
|
...data,
|
|
8478
8127
|
update,
|
|
8479
8128
|
refs,
|
|
@@ -8598,7 +8247,7 @@ const { Provider: TooltipContextProvider, useStore: useTooltipContext } = create
|
|
|
8598
8247
|
* @prop asChild - Whether to render the children as the trigger element.
|
|
8599
8248
|
*/
|
|
8600
8249
|
function TooltipTrigger({ as, asChild = false, children, onMouseEnter, onMouseLeave, onFocus, onBlur, onTouchStart, ...props }) {
|
|
8601
|
-
const TooltipTriggerElement = as ||
|
|
8250
|
+
const TooltipTriggerElement = as || Button$1;
|
|
8602
8251
|
const [tooltipContext] = useTooltipContext((store) => store);
|
|
8603
8252
|
const { isOpen, openTooltip, closeTooltip, refs } = tooltipContext || {};
|
|
8604
8253
|
const handleMouseEnter = (e) => {
|
|
@@ -8631,10 +8280,11 @@ function TooltipTrigger({ as, asChild = false, children, onMouseEnter, onMouseLe
|
|
|
8631
8280
|
onTouchStart: handleTouchStart,
|
|
8632
8281
|
"aria-describedby": isOpen ? "tooltip" : void 0
|
|
8633
8282
|
};
|
|
8634
|
-
if (asChild &&
|
|
8635
|
-
return
|
|
8636
|
-
|
|
8637
|
-
|
|
8283
|
+
if (asChild && isValidElement(children)) return cloneElement(children, triggerProps);
|
|
8284
|
+
return /* @__PURE__ */ jsx(TooltipTriggerElement, {
|
|
8285
|
+
...triggerProps,
|
|
8286
|
+
children
|
|
8287
|
+
});
|
|
8638
8288
|
}
|
|
8639
8289
|
/**
|
|
8640
8290
|
* ## Tooltip Panel
|
|
@@ -8645,7 +8295,7 @@ function TooltipPanel({ as, children, className, style, onMouseEnter, onMouseLea
|
|
|
8645
8295
|
const TooltipPanelElement = as || "div";
|
|
8646
8296
|
const [tooltipContext] = useTooltipContext((store) => store);
|
|
8647
8297
|
const { isOpen, refs, floatingStyles, isPositioned, placement, middlewareData, arrowRef, arrow: contextArrow, arrowClassName: contextArrowClassName, openTooltip, closeTooltip } = tooltipContext || {};
|
|
8648
|
-
if (!isOpen) return
|
|
8298
|
+
if (!isOpen) return /* @__PURE__ */ jsx(Fragment, {});
|
|
8649
8299
|
const reversedAnchor = {
|
|
8650
8300
|
top: "bottom",
|
|
8651
8301
|
right: "left",
|
|
@@ -8705,33 +8355,44 @@ function TooltipPanel({ as, children, className, style, onMouseEnter, onMouseLea
|
|
|
8705
8355
|
openTooltip?.();
|
|
8706
8356
|
onTouchStart?.(e);
|
|
8707
8357
|
};
|
|
8708
|
-
return
|
|
8709
|
-
|
|
8710
|
-
|
|
8711
|
-
if (
|
|
8712
|
-
|
|
8713
|
-
if (
|
|
8358
|
+
return /* @__PURE__ */ jsxs(TooltipPanelElement, {
|
|
8359
|
+
...props,
|
|
8360
|
+
ref: (node) => {
|
|
8361
|
+
if (node && typeof node.querySelector === "function") {
|
|
8362
|
+
refs?.setFloating(node);
|
|
8363
|
+
if (contextArrow) {
|
|
8364
|
+
const arrowElement = node.querySelector("[data-tooltip-arrow]");
|
|
8365
|
+
if (arrowElement && arrowRef) arrowRef.current = arrowElement;
|
|
8366
|
+
}
|
|
8714
8367
|
}
|
|
8715
|
-
}
|
|
8716
|
-
|
|
8717
|
-
|
|
8718
|
-
|
|
8719
|
-
|
|
8720
|
-
|
|
8721
|
-
|
|
8722
|
-
|
|
8723
|
-
|
|
8724
|
-
|
|
8725
|
-
|
|
8368
|
+
},
|
|
8369
|
+
className: twMerge("data-ready:animate-fade-in absolute top-0 left-0 z-50 w-max rounded-md bg-neutral-50 px-2 py-1 text-sm text-neutral-950 opacity-0 shadow-lg outline-1 outline-neutral-400 data-portal:fixed dark:bg-neutral-800 dark:text-neutral-50 dark:shadow-none dark:-outline-offset-1 dark:outline-neutral-600", className),
|
|
8370
|
+
style: {
|
|
8371
|
+
...style,
|
|
8372
|
+
...floatingStyles,
|
|
8373
|
+
transformOrigin: reversedAnchor,
|
|
8374
|
+
pointerEvents: "none"
|
|
8375
|
+
},
|
|
8376
|
+
onMouseEnter: handleMouseEnter,
|
|
8377
|
+
onMouseLeave: handleMouseLeave,
|
|
8378
|
+
onTouchStart: handleTouchStart,
|
|
8379
|
+
role: "tooltip",
|
|
8380
|
+
...isPositioned ? { "data-ready": true } : {},
|
|
8381
|
+
children: [children, contextArrow && /* @__PURE__ */ jsx(ArrowSvg, {
|
|
8382
|
+
className: twMerge("absolute", arrowLocationClasses, contextArrowClassName),
|
|
8383
|
+
style: arrowStyles,
|
|
8384
|
+
"data-tooltip-arrow": true
|
|
8385
|
+
})]
|
|
8386
|
+
});
|
|
8726
8387
|
}
|
|
8727
8388
|
function TooltipDisplay({ anchor = "top", arrow: arrow$4, arrowClassName, children, delay = 500, offset: offset$3 = 8, onClose, onOpen, portal }) {
|
|
8728
|
-
const [isOpen, setIsOpen] =
|
|
8729
|
-
const [bodyElement, setBodyElement] =
|
|
8730
|
-
const onReady =
|
|
8389
|
+
const [isOpen, setIsOpen] = useState(false), timeoutRef = useRef(void 0), arrowRef = useRef(null);
|
|
8390
|
+
const [bodyElement, setBodyElement] = useState(() => typeof window !== "undefined" ? document.body : null);
|
|
8391
|
+
const onReady = useEffectEvent(() => {
|
|
8731
8392
|
const documentBody = document.body;
|
|
8732
8393
|
setBodyElement(documentBody);
|
|
8733
8394
|
});
|
|
8734
|
-
|
|
8395
|
+
useEffect(() => {
|
|
8735
8396
|
if (typeof window !== "undefined" && !bodyElement) onReady();
|
|
8736
8397
|
}, [bodyElement, portal]);
|
|
8737
8398
|
const { refs, floatingStyles, isPositioned, placement, middlewareData } = useFloating({
|
|
@@ -8767,13 +8428,13 @@ function TooltipDisplay({ anchor = "top", arrow: arrow$4, arrowClassName, childr
|
|
|
8767
8428
|
setIsOpen(false);
|
|
8768
8429
|
onClose?.();
|
|
8769
8430
|
};
|
|
8770
|
-
|
|
8431
|
+
useEffect(() => {
|
|
8771
8432
|
return () => {
|
|
8772
8433
|
clearTimeout(timeoutRef.current);
|
|
8773
8434
|
};
|
|
8774
8435
|
}, []);
|
|
8775
8436
|
const [, setTooltipContext] = useTooltipContext(() => void 0, defaultTooltipContext);
|
|
8776
|
-
|
|
8437
|
+
useEffect(() => {
|
|
8777
8438
|
setTooltipContext?.((previous) => {
|
|
8778
8439
|
const nextArrow = arrow$4 || false, nextArrowClassName = arrowClassName || "";
|
|
8779
8440
|
if (previous.isOpen === isOpen && previous.openTooltip === openTooltip && previous.closeTooltip === closeTooltip && previous.refs === refs && previous.floatingStyles === floatingStyles && previous.isPositioned === isPositioned && previous.placement === placement && previous.middlewareData === middlewareData && previous.arrowRef === arrowRef && previous.arrow === nextArrow && previous.arrowClassName === nextArrowClassName) return previous;
|
|
@@ -8809,9 +8470,7 @@ function TooltipDisplay({ anchor = "top", arrow: arrow$4, arrowClassName, childr
|
|
|
8809
8470
|
openTooltip,
|
|
8810
8471
|
closeTooltip
|
|
8811
8472
|
}) : children;
|
|
8812
|
-
return
|
|
8813
|
-
{portal ? bodyElement ? (0, react_dom.createPortal)(content, bodyElement) : null : content}
|
|
8814
|
-
</>;
|
|
8473
|
+
return /* @__PURE__ */ jsx(Fragment, { children: portal ? bodyElement ? createPortal(content, bodyElement) : null : content });
|
|
8815
8474
|
}
|
|
8816
8475
|
/**
|
|
8817
8476
|
* # Tooltip
|
|
@@ -8829,297 +8488,29 @@ function TooltipDisplay({ anchor = "top", arrow: arrow$4, arrowClassName, childr
|
|
|
8829
8488
|
* @prop portal - Whether to use a portal for the tooltip.
|
|
8830
8489
|
*/
|
|
8831
8490
|
function Tooltip(props) {
|
|
8832
|
-
return
|
|
8833
|
-
<TooltipDisplay {...props} />
|
|
8834
|
-
</TooltipContextProvider>;
|
|
8491
|
+
return /* @__PURE__ */ jsx(TooltipContextProvider, { children: /* @__PURE__ */ jsx(TooltipDisplay, { ...props }) });
|
|
8835
8492
|
}
|
|
8836
8493
|
function ArrowSvg({ className, ...props }) {
|
|
8837
|
-
return
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
|
|
8841
|
-
|
|
8842
|
-
|
|
8843
|
-
|
|
8844
|
-
|
|
8845
|
-
|
|
8846
|
-
|
|
8847
|
-
|
|
8848
|
-
|
|
8849
|
-
|
|
8850
|
-
|
|
8851
|
-
|
|
8852
|
-
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
|
|
8856
|
-
* ```
|
|
8857
|
-
*/
|
|
8858
|
-
function FacebookLogo({ className, cutout = false, targets, variant = "circle", ...props }) {
|
|
8859
|
-
return <svg {...props} className={twMerge(variant === "circle" && cutout ? "fill-[url(#facebook-gradient)]" : "**-data-[name=\"f\"]:fill-white **-data-[name=\"background\"]:fill-[url(#facebook-gradient)]", variant === "f" && "fill-[url(#facebook-gradient)]", className)} viewBox={`0 0 ${variant === "circle" ? "1024" : "551"} ${variant === "circle" && cutout ? "1017" : "1024"}`}>
|
|
8860
|
-
{variant === "circle" && (cutout ? <path {...targets?.background} data-name="background" d="M426.672,1016.91C184.64,976.24 0,765.504 0,512C0,229.424 229.424,0 512,0C794.576,0 1024,229.424 1024,512C1024,765.504 839.36,976.24 597.328,1016.91L597.328,651.376L711.104,651.376L733.872,509.152L597.328,509.152L597.328,409.6C597.328,369.776 611.552,338.496 674.128,338.496L739.552,338.496L739.552,207.648C702.576,201.952 662.752,196.272 625.776,196.272C509.152,196.272 426.672,267.376 426.672,395.376L426.672,509.152L298.672,509.152L298.672,651.376L426.672,651.376L426.672,1016.91Z" /> : <>
|
|
8861
|
-
<circle {...targets?.background} data-name="background" cx="512" cy="512" r="512" />
|
|
8862
|
-
<path {...targets && "f" in targets ? targets?.f : {}} data-name="f" d="M426.672,1016.91L426.672,651.376L298.672,651.376L298.672,509.152L426.672,509.152L426.672,395.376C426.672,267.376 509.152,196.272 625.776,196.272C662.752,196.272 702.576,201.952 739.552,207.648L739.552,338.496L674.128,338.496C611.552,338.496 597.328,369.776 597.328,409.6L597.328,509.152L733.872,509.152L711.104,651.376L597.328,651.376L597.328,1016.91C569.584,1021.57 541.072,1024 512,1024C482.928,1024 454.416,1021.57 426.672,1016.91Z" />
|
|
8863
|
-
</>)}
|
|
8864
|
-
{variant === "f" && <path d="M159.712,1024L159.712,567.888L0,567.888L0,390.432L159.712,390.432L159.712,248.448C159.712,88.736 262.656,0 408.176,0C454.304,0 504,7.104 550.144,14.192L550.144,177.472L468.512,177.472C390.432,177.472 372.672,216.512 372.672,266.192L372.672,390.432L543.04,390.432L514.656,567.888L372.672,567.888L372.672,1024L159.712,1024Z" />}
|
|
8865
|
-
<defs>
|
|
8866
|
-
{variant === "circle" && <linearGradient id="facebook-gradient" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.81599e-13,-994.078,994.078,2.81599e-13,512,994.078)">
|
|
8867
|
-
<stop offset="0" stopColor="rgb(0 98 224)" stopOpacity={1} />
|
|
8868
|
-
<stop offset="1" stopColor="rgb(25 175 255)" stopOpacity={1} />
|
|
8869
|
-
</linearGradient>}
|
|
8870
|
-
{variant === "f" && <linearGradient id="facebook-gradient" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.0108513,-1032.85,1032.85,0.0108513,266.187,1032.85)">
|
|
8871
|
-
<stop offset="0" stopColor="rgb(0 98 224)" stopOpacity={1} />
|
|
8872
|
-
<stop offset="1" stopColor="rgb(25 175 255)" stopOpacity={1} />
|
|
8873
|
-
</linearGradient>}
|
|
8874
|
-
</defs>
|
|
8875
|
-
</svg>;
|
|
8876
|
-
}
|
|
8877
|
-
|
|
8878
|
-
//#endregion
|
|
8879
|
-
//#region src/graphics/social-media/google-logo.tsx
|
|
8880
|
-
/**
|
|
8881
|
-
* # Google Logo
|
|
8882
|
-
*
|
|
8883
|
-
* ```ts
|
|
8884
|
-
* gradient: boolean = true
|
|
8885
|
-
* ```
|
|
8886
|
-
*/
|
|
8887
|
-
function GoogleLogo({ gradient = true, ...props }) {
|
|
8888
|
-
return <svg {...props} viewBox="0 0 1003 1024">
|
|
8889
|
-
{gradient ? <>
|
|
8890
|
-
<path d="M992.945,417.01L511.964,417.01L511.964,613.859L788.338,613.859C783.897,641.717 773.921,669.122 759.31,694.112C742.575,722.744 721.881,744.542 700.67,761.138C637.14,810.865 563.07,821.031 511.628,821.031C381.685,821.031 270.653,735.251 227.672,618.689C225.937,614.461 224.786,610.09 223.383,605.772C213.887,576.108 208.697,544.687 208.697,512.032C208.697,478.046 214.317,445.514 224.561,414.789C264.982,293.606 378.511,203.097 511.721,203.097C538.518,203.097 564.319,206.353 588.786,212.851C644.708,227.698 684.261,256.943 708.499,280.075L854.747,133.794C765.786,50.482 649.815,0 511.478,0C400.888,-0.004 298.788,35.19 215.121,94.667C147.265,142.902 91.616,207.482 54.06,282.487C19.128,352.029 0,429.093 0,511.953C0,594.821 19.158,672.685 54.09,741.588L54.09,742.052C90.988,815.198 144.943,878.178 210.526,926.192C267.816,968.135 370.54,1024 511.478,1024C592.529,1024 664.363,1009.08 727.713,981.104C773.413,960.926 813.904,934.608 850.563,900.787C899,856.093 936.938,800.815 962.829,737.214C988.724,673.612 1002.57,601.692 1002.57,523.719C1002.57,487.404 999.002,450.524 992.945,417.01Z" fill="url(#google-gradient-1)" />
|
|
8891
|
-
<path d="M962.829,737.214L788.338,613.859C783.897,641.717 773.921,669.122 759.31,694.112C742.575,722.744 721.881,744.542 700.67,761.138C637.14,810.865 563.07,821.031 511.628,821.031C381.685,821.031 270.653,735.251 227.672,618.689C225.937,614.461 224.786,610.09 223.383,605.772C213.887,576.108 208.697,544.687 208.697,512.032L0,511.953C0,594.821 19.158,672.685 54.09,741.588L54.09,742.052C90.988,815.198 144.943,878.178 210.526,926.192C267.816,968.135 370.54,1024 511.478,1024C592.529,1024 664.363,1009.08 727.713,981.104C773.413,960.926 813.904,934.608 850.563,900.787C899,856.093 936.938,800.815 962.829,737.214Z" fill="url(#google-gradient-2)" />
|
|
8892
|
-
<path d="M0,511.953L208.697,512.032C208.697,478.046 214.317,445.514 224.561,414.789C264.982,293.606 378.511,203.097 511.721,203.097C538.518,203.097 564.319,206.353 588.786,212.851C644.708,227.698 684.261,256.943 708.499,280.075L854.747,133.794C765.786,50.482 649.815,0 511.478,0C400.888,-0.004 298.788,35.19 215.121,94.667C147.265,142.902 91.616,207.482 54.06,282.487C19.128,352.029 0,429.093 0,511.953Z" fill="url(#google-gradient-3)" />
|
|
8893
|
-
<defs>
|
|
8894
|
-
<linearGradient id="google-gradient-1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-23.365,-1.73106,1.73106,-23.365,500.07,513.731)">
|
|
8895
|
-
<stop offset="0" stopColor="rgb(48,134,255)" stopOpacity={1} />
|
|
8896
|
-
<stop offset="1" stopColor="rgb(254,206,5)" stopOpacity={1} />
|
|
8897
|
-
</linearGradient>
|
|
8898
|
-
<radialGradient id="google-gradient-2" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(762.024,46.0057,-28.7966,476.978,457.583,993.176)">
|
|
8899
|
-
<stop offset="0" stopColor="rgb(15,188,92)" stopOpacity={1} />
|
|
8900
|
-
<stop offset="0.38" stopColor="rgb(15,188,92)" stopOpacity={1} />
|
|
8901
|
-
<stop offset="0.71" stopColor="rgb(15,188,92)" stopOpacity={.28} />
|
|
8902
|
-
<stop offset="1" stopColor="rgb(15,188,92)" stopOpacity={0} />
|
|
8903
|
-
</radialGradient>
|
|
8904
|
-
<linearGradient id="google-gradient-3" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-220.623,431.86,-270.317,-138.096,806.553,181.999)">
|
|
8905
|
-
<stop offset="0" stopColor="rgb(251,78,90)" stopOpacity={1} />
|
|
8906
|
-
<stop offset="0.39" stopColor="rgb(255,71,63)" stopOpacity={1} />
|
|
8907
|
-
<stop offset="1" stopColor="rgb(251,78,90)" stopOpacity={0} />
|
|
8908
|
-
</linearGradient>
|
|
8909
|
-
</defs>
|
|
8910
|
-
</> : <path d="M992.945,417.01L511.964,417.01L511.964,613.859L788.338,613.859C783.897,641.717 773.921,669.122 759.31,694.112C742.575,722.744 721.881,744.542 700.67,761.138C637.14,810.865 563.07,821.031 511.628,821.031C381.685,821.031 270.653,735.251 227.672,618.689C225.937,614.461 224.786,610.09 223.383,605.772C213.887,576.108 208.697,544.687 208.697,512.032C208.697,478.046 214.317,445.514 224.561,414.789C264.982,293.606 378.511,203.097 511.721,203.097C538.518,203.097 564.319,206.353 588.786,212.851C644.708,227.698 684.261,256.943 708.499,280.075L854.747,133.794C765.786,50.482 649.815,0 511.478,0C400.888,-0.004 298.788,35.19 215.121,94.667C147.265,142.902 91.616,207.482 54.06,282.487C19.128,352.029 0,429.093 0,511.953C0,594.821 19.158,672.685 54.09,741.588L54.09,742.052C90.988,815.198 144.943,878.178 210.526,926.192C267.816,968.135 370.54,1024 511.478,1024C592.529,1024 664.363,1009.08 727.713,981.104C773.413,960.926 813.904,934.608 850.563,900.787C899,856.093 936.938,800.815 962.829,737.214C988.724,673.612 1002.57,601.692 1002.57,523.719C1002.57,487.404 999.002,450.524 992.945,417.01Z" />}
|
|
8911
|
-
</svg>;
|
|
8912
|
-
}
|
|
8913
|
-
|
|
8914
|
-
//#endregion
|
|
8915
|
-
//#region src/graphics/social-media/instagram-logo.tsx
|
|
8916
|
-
/**
|
|
8917
|
-
* # Instagram Logo
|
|
8918
|
-
*
|
|
8919
|
-
* ```ts
|
|
8920
|
-
* gradient: boolean = true
|
|
8921
|
-
* ```
|
|
8922
|
-
*/
|
|
8923
|
-
function InstagramLogo({ gradient = true, ...props }) {
|
|
8924
|
-
return <svg {...props} viewBox="0 0 1024 1024">
|
|
8925
|
-
{gradient ? <>
|
|
8926
|
-
<path d="M512,0C651.052,0 668.488,0.588 723.096,3.08C777.592,5.568 814.812,14.224 847.38,26.88C881.048,39.96 909.6,57.472 938.064,85.936C966.528,114.4 984.036,142.952 997.12,176.624C1009.78,209.188 1018.43,246.408 1020.92,300.904C1023.41,355.512 1024,372.948 1024,512C1024,651.052 1023.41,668.488 1020.92,723.1C1018.43,777.596 1009.78,814.812 997.12,847.38C984.036,881.052 966.528,909.604 938.064,938.068C909.6,966.532 881.048,984.04 847.376,997.12C814.812,1009.78 777.592,1018.43 723.096,1020.92C668.488,1023.41 651.052,1024 512,1024C372.948,1024 355.512,1023.41 300.9,1020.92C246.404,1018.43 209.188,1009.78 176.62,997.12C142.948,984.036 114.396,966.532 85.932,938.068C57.468,909.604 39.96,881.048 26.88,847.38C14.22,814.816 5.568,777.596 3.08,723.096C0.588,668.488 0,651.052 0,512C0,372.948 0.588,355.512 3.08,300.904C5.568,246.408 14.22,209.188 26.88,176.62C39.964,142.952 57.468,114.4 85.932,85.936C114.396,57.472 142.948,39.964 176.62,26.88C209.184,14.224 246.404,5.568 300.904,3.08C355.512,0.588 372.948,0 512,0ZM512,92.256C375.288,92.256 359.096,92.776 305.108,95.236C255.188,97.516 228.076,105.856 210.036,112.868C186.14,122.156 169.084,133.248 151.164,151.168C133.248,169.084 122.152,186.14 112.868,210.036C105.856,228.08 97.516,255.192 95.236,305.112C92.772,359.1 92.252,375.292 92.252,512C92.252,648.712 92.772,664.904 95.236,718.892C97.512,768.812 105.856,795.924 112.868,813.964C122.152,837.86 133.248,854.916 151.164,872.836C169.08,890.752 186.14,901.848 210.036,911.132C228.08,918.144 255.188,926.484 305.108,928.764C359.088,931.228 375.28,931.748 512,931.748C648.716,931.748 664.908,931.228 718.888,928.764C768.808,926.488 795.92,918.144 813.964,911.132C837.86,901.848 854.916,890.752 872.832,872.836C890.748,854.92 901.844,837.86 911.132,813.964C918.144,795.92 926.484,768.812 928.764,718.892C931.224,664.904 931.744,648.712 931.744,512C931.744,375.292 931.224,359.1 928.764,305.108C926.484,255.192 918.144,228.08 911.132,210.036C901.844,186.14 890.752,169.084 872.832,151.168C854.916,133.252 837.86,122.156 813.964,112.868C795.92,105.856 768.808,97.516 718.888,95.236C664.9,92.776 648.708,92.256 512,92.256ZM512,249.08C657.204,249.08 774.92,366.796 774.92,512C774.92,657.208 657.204,774.92 512,774.92C366.792,774.92 249.08,657.208 249.08,512C249.08,366.8 366.792,249.08 512,249.08ZM512,682.668C606.256,682.668 682.668,606.256 682.668,512C682.668,417.744 606.256,341.332 512,341.332C417.744,341.332 341.332,417.744 341.332,512C341.332,606.256 417.744,682.668 512,682.668ZM846.744,238.692C846.744,272.628 819.24,300.132 785.304,300.132C751.372,300.132 723.864,272.628 723.864,238.692C723.864,204.76 751.372,177.252 785.304,177.252C819.24,177.252 846.744,204.76 846.744,238.692Z" fill="url(#instagram-gradient-1)" />
|
|
8927
|
-
<path d="M512,0C651.052,0 668.488,0.588 723.096,3.08C777.592,5.568 814.812,14.224 847.38,26.88C881.048,39.96 909.6,57.472 938.064,85.936C966.528,114.4 984.036,142.952 997.12,176.624C1009.78,209.188 1018.43,246.408 1020.92,300.904C1023.41,355.512 1024,372.948 1024,512C1024,651.052 1023.41,668.488 1020.92,723.1C1018.43,777.596 1009.78,814.812 997.12,847.38C984.036,881.052 966.528,909.604 938.064,938.068C909.6,966.532 881.048,984.04 847.376,997.12C814.812,1009.78 777.592,1018.43 723.096,1020.92C668.488,1023.41 651.052,1024 512,1024C372.948,1024 355.512,1023.41 300.9,1020.92C246.404,1018.43 209.188,1009.78 176.62,997.12C142.948,984.036 114.396,966.532 85.932,938.068C57.468,909.604 39.96,881.048 26.88,847.38C14.22,814.816 5.568,777.596 3.08,723.096C0.588,668.488 0,651.052 0,512C0,372.948 0.588,355.512 3.08,300.904C5.568,246.408 14.22,209.188 26.88,176.62C39.964,142.952 57.468,114.4 85.932,85.936C114.396,57.472 142.948,39.964 176.62,26.88C209.184,14.224 246.404,5.568 300.904,3.08C355.512,0.588 372.948,0 512,0ZM512,92.256C375.288,92.256 359.096,92.776 305.108,95.236C255.188,97.516 228.076,105.856 210.036,112.868C186.14,122.156 169.084,133.248 151.164,151.168C133.248,169.084 122.152,186.14 112.868,210.036C105.856,228.08 97.516,255.192 95.236,305.112C92.772,359.1 92.252,375.292 92.252,512C92.252,648.712 92.772,664.904 95.236,718.892C97.512,768.812 105.856,795.924 112.868,813.964C122.152,837.86 133.248,854.916 151.164,872.836C169.08,890.752 186.14,901.848 210.036,911.132C228.08,918.144 255.188,926.484 305.108,928.764C359.088,931.228 375.28,931.748 512,931.748C648.716,931.748 664.908,931.228 718.888,928.764C768.808,926.488 795.92,918.144 813.964,911.132C837.86,901.848 854.916,890.752 872.832,872.836C890.748,854.92 901.844,837.86 911.132,813.964C918.144,795.92 926.484,768.812 928.764,718.892C931.224,664.904 931.744,648.712 931.744,512C931.744,375.292 931.224,359.1 928.764,305.108C926.484,255.192 918.144,228.08 911.132,210.036C901.844,186.14 890.752,169.084 872.832,151.168C854.916,133.252 837.86,122.156 813.964,112.868C795.92,105.856 768.808,97.516 718.888,95.236C664.9,92.776 648.708,92.256 512,92.256ZM512,249.08C657.204,249.08 774.92,366.796 774.92,512C774.92,657.208 657.204,774.92 512,774.92C366.792,774.92 249.08,657.208 249.08,512C249.08,366.8 366.792,249.08 512,249.08ZM512,682.668C606.256,682.668 682.668,606.256 682.668,512C682.668,417.744 606.256,341.332 512,341.332C417.744,341.332 341.332,417.744 341.332,512C341.332,606.256 417.744,682.668 512,682.668ZM846.744,238.692C846.744,272.628 819.24,300.132 785.304,300.132C751.372,300.132 723.864,272.628 723.864,238.692C723.864,204.76 751.372,177.252 785.304,177.252C819.24,177.252 846.744,204.76 846.744,238.692Z" fill="url(#instagram-gradient-2)" />
|
|
8928
|
-
<path d="M512,0C651.052,-0 668.488,0.588 723.096,3.08C777.592,5.568 814.812,14.224 847.38,26.88C881.048,39.96 909.6,57.472 938.064,85.936C966.528,114.4 984.036,142.952 997.12,176.624C1009.78,209.188 1018.43,246.408 1020.92,300.904C1023.41,355.512 1024,372.948 1024,512C1024,651.052 1023.41,668.488 1020.92,723.1C1018.43,777.596 1009.78,814.812 997.12,847.38C984.036,881.052 966.528,909.604 938.064,938.068C909.6,966.532 881.048,984.04 847.376,997.12C814.812,1009.78 777.592,1018.43 723.096,1020.92C668.488,1023.41 651.052,1024 512,1024C372.948,1024 355.512,1023.41 300.9,1020.92C246.404,1018.43 209.188,1009.78 176.62,997.12C142.948,984.036 114.396,966.532 85.932,938.068C57.468,909.604 39.96,881.048 26.88,847.38C14.22,814.816 5.568,777.596 3.08,723.096C0.588,668.488 0,651.052 0,512C0,372.948 0.588,355.512 3.08,300.904C5.568,246.408 14.22,209.188 26.88,176.62C39.964,142.952 57.468,114.4 85.932,85.936C114.396,57.472 142.948,39.964 176.62,26.88C209.184,14.224 246.404,5.568 300.904,3.08C355.512,0.588 372.948,0 512,0ZM512,92.256C375.288,92.256 359.096,92.776 305.108,95.236C255.188,97.516 228.076,105.856 210.036,112.868C186.14,122.156 169.084,133.248 151.164,151.168C133.248,169.084 122.152,186.14 112.868,210.036C105.856,228.08 97.516,255.192 95.236,305.112C92.772,359.1 92.252,375.292 92.252,512C92.252,648.712 92.772,664.904 95.236,718.892C97.512,768.812 105.856,795.924 112.868,813.964C122.152,837.86 133.248,854.916 151.164,872.836C169.08,890.752 186.14,901.848 210.036,911.132C228.08,918.144 255.188,926.484 305.108,928.764C359.088,931.228 375.28,931.748 512,931.748C648.716,931.748 664.908,931.228 718.888,928.764C768.808,926.488 795.92,918.144 813.964,911.132C837.86,901.848 854.916,890.752 872.832,872.836C890.748,854.92 901.844,837.86 911.132,813.964C918.144,795.92 926.484,768.812 928.764,718.892C931.224,664.904 931.744,648.712 931.744,512C931.744,375.292 931.224,359.1 928.764,305.108C926.484,255.192 918.144,228.08 911.132,210.036C901.844,186.14 890.752,169.084 872.832,151.168C854.916,133.252 837.86,122.156 813.964,112.868C795.92,105.856 768.808,97.516 718.888,95.236C664.9,92.776 648.708,92.256 512,92.256ZM512,249.08C657.204,249.08 774.92,366.796 774.92,512C774.92,657.208 657.204,774.92 512,774.92C366.792,774.92 249.08,657.208 249.08,512C249.08,366.8 366.792,249.08 512,249.08ZM512,682.668C606.256,682.668 682.668,606.256 682.668,512C682.668,417.744 606.256,341.332 512,341.332C417.744,341.332 341.332,417.744 341.332,512C341.332,606.256 417.744,682.668 512,682.668ZM846.744,238.692C846.744,272.628 819.24,300.132 785.304,300.132C751.372,300.132 723.864,272.628 723.864,238.692C723.864,204.76 751.372,177.252 785.304,177.252C819.24,177.252 846.744,204.76 846.744,238.692Z" fill="url(#instagram-gradient-3)" />
|
|
8929
|
-
<defs>
|
|
8930
|
-
<radialGradient id="instagram-gradient-1" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(871.396,269.57,-152.264,492.2,322.577,976.97)">
|
|
8931
|
-
<stop offset="0" stopColor="rgb(255 213 1)" stopOpacity={1} />
|
|
8932
|
-
<stop offset="0.32" stopColor="rgb(255 189 7)" stopOpacity={1} />
|
|
8933
|
-
<stop offset="0.59" stopColor="rgb(255 103 29)" stopOpacity={1} />
|
|
8934
|
-
<stop offset="1" stopColor="rgb(255 0 185)" stopOpacity={1} />
|
|
8935
|
-
</radialGradient>
|
|
8936
|
-
<radialGradient id="instagram-gradient-2" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(94.7015,306.205,-937.345,289.897,119.251,57.4757)">
|
|
8937
|
-
<stop offset="0" stopColor="rgb(109 25 255)" stopOpacity={1} />
|
|
8938
|
-
<stop offset="0.43" stopColor="rgb(151 18 235)" stopOpacity={1} />
|
|
8939
|
-
<stop offset="0.96" stopColor="rgb(250 1 187)" stopOpacity={1} />
|
|
8940
|
-
<stop offset="1" stopColor="rgb(255 0 185)" stopOpacity={0} />
|
|
8941
|
-
</radialGradient>
|
|
8942
|
-
<radialGradient id="instagram-gradient-3" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(112.098,-864.179,131.728,17.0873,1003.58,829.183)">
|
|
8943
|
-
<stop offset="0" stopColor="rgb(254 21 138)" stopOpacity={1} />
|
|
8944
|
-
<stop offset="0.46" stopColor="rgb(255 2 62)" stopOpacity={1} />
|
|
8945
|
-
<stop offset="1" stopColor="rgb(255 0 55)" stopOpacity={0} />
|
|
8946
|
-
</radialGradient>
|
|
8947
|
-
</defs>
|
|
8948
|
-
</> : <>
|
|
8949
|
-
<path d="M512,0C651.052,0 668.488,0.588 723.096,3.08C777.592,5.568 814.812,14.224 847.38,26.88C881.048,39.96 909.6,57.472 938.064,85.936C966.528,114.4 984.036,142.952 997.12,176.624C1009.78,209.188 1018.43,246.408 1020.92,300.904C1023.41,355.512 1024,372.948 1024,512C1024,651.052 1023.41,668.488 1020.92,723.1C1018.43,777.596 1009.78,814.812 997.12,847.38C984.036,881.052 966.528,909.604 938.064,938.068C909.6,966.532 881.048,984.04 847.376,997.12C814.812,1009.78 777.592,1018.43 723.096,1020.92C668.488,1023.41 651.052,1024 512,1024C372.948,1024 355.512,1023.41 300.9,1020.92C246.404,1018.43 209.188,1009.78 176.62,997.12C142.948,984.036 114.396,966.532 85.932,938.068C57.468,909.604 39.96,881.048 26.88,847.38C14.22,814.816 5.568,777.596 3.08,723.096C0.588,668.488 0,651.052 0,512C0,372.948 0.588,355.512 3.08,300.904C5.568,246.408 14.22,209.188 26.88,176.62C39.964,142.952 57.468,114.4 85.932,85.936C114.396,57.472 142.948,39.964 176.62,26.88C209.184,14.224 246.404,5.568 300.904,3.08C355.512,0.588 372.948,0 512,0ZM512,92.256C375.288,92.256 359.096,92.776 305.108,95.236C255.188,97.516 228.076,105.856 210.036,112.868C186.14,122.156 169.084,133.248 151.164,151.168C133.248,169.084 122.152,186.14 112.868,210.036C105.856,228.08 97.516,255.192 95.236,305.112C92.772,359.1 92.252,375.292 92.252,512C92.252,648.712 92.772,664.904 95.236,718.892C97.512,768.812 105.856,795.924 112.868,813.964C122.152,837.86 133.248,854.916 151.164,872.836C169.08,890.752 186.14,901.848 210.036,911.132C228.08,918.144 255.188,926.484 305.108,928.764C359.088,931.228 375.28,931.748 512,931.748C648.716,931.748 664.908,931.228 718.888,928.764C768.808,926.488 795.92,918.144 813.964,911.132C837.86,901.848 854.916,890.752 872.832,872.836C890.748,854.92 901.844,837.86 911.132,813.964C918.144,795.92 926.484,768.812 928.764,718.892C931.224,664.904 931.744,648.712 931.744,512C931.744,375.292 931.224,359.1 928.764,305.108C926.484,255.192 918.144,228.08 911.132,210.036C901.844,186.14 890.752,169.084 872.832,151.168C854.916,133.252 837.86,122.156 813.964,112.868C795.92,105.856 768.808,97.516 718.888,95.236C664.9,92.776 648.708,92.256 512,92.256Z" />
|
|
8950
|
-
<path d="M512,249.08C657.204,249.08 774.92,366.796 774.92,512C774.92,657.208 657.204,774.92 512,774.92C366.792,774.92 249.08,657.208 249.08,512C249.08,366.8 366.792,249.08 512,249.08ZM512,682.668C606.256,682.668 682.668,606.256 682.668,512C682.668,417.744 606.256,341.332 512,341.332C417.744,341.332 341.332,417.744 341.332,512C341.332,606.256 417.744,682.668 512,682.668Z" />
|
|
8951
|
-
<path d="M846.744,238.692C846.744,272.628 819.24,300.132 785.304,300.132C751.372,300.132 723.864,272.628 723.864,238.692C723.864,204.76 751.372,177.252 785.304,177.252C819.24,177.252 846.744,204.76 846.744,238.692Z" />
|
|
8952
|
-
</>}
|
|
8953
|
-
</svg>;
|
|
8954
|
-
}
|
|
8955
|
-
|
|
8956
|
-
//#endregion
|
|
8957
|
-
//#region src/graphics/social-media/linkedin-logo.tsx
|
|
8958
|
-
/**
|
|
8959
|
-
* # LinkedIn Logo
|
|
8960
|
-
*
|
|
8961
|
-
* ```ts
|
|
8962
|
-
* cutout: boolean
|
|
8963
|
-
* targets: {
|
|
8964
|
-
* in: [data-name="in"]
|
|
8965
|
-
* background: [data-name="background"]
|
|
8966
|
-
* }
|
|
8967
|
-
* ```
|
|
8968
|
-
*/
|
|
8969
|
-
function LinkedInLogo({ className, cutout, targets, ...props }) {
|
|
8970
|
-
return <svg {...props} className={twMerge(cutout ? "fill-[rgb(10_102_194)]" : "**-data-[name=\"background\"]:fill-[rgb(10_102_194)] **-data-[name=\"in\"]:fill-white", className)} viewBox="0 0 1024 1024">
|
|
8971
|
-
{!cutout && <rect {...targets?.in} data-name="in" x="112" y="112" width="800" height="800" />}
|
|
8972
|
-
<path {...targets?.background} data-name="background" d="M872.496,872.511L720.772,872.511L720.772,634.899C720.772,578.239 719.76,505.299 641.86,505.299C562.836,505.299 550.744,567.035 550.744,630.775L550.744,872.495L399.024,872.495L399.024,383.871L544.676,383.871L544.676,450.647L546.716,450.647C576.374,399.935 631.721,369.536 690.428,371.715C844.208,371.715 872.56,472.867 872.56,604.459L872.496,872.511ZM227.824,317.083C179.196,317.091 139.768,277.675 139.76,229.047C139.752,180.419 179.164,140.991 227.792,140.983C276.42,140.971 315.848,180.387 315.856,229.015C315.865,277.317 276.126,317.072 227.824,317.083M303.688,872.515L151.804,872.515L151.804,383.871L303.684,383.871L303.684,872.511L303.688,872.515ZM948.136,0.075L75.564,0.075C34.324,-0.389 0.504,32.647 0,73.887L0,950.099C0.488,991.359 34.304,1024.43 75.56,1024L948.136,1024C989.48,1024.51 1023.43,991.439 1024,950.099L1024,73.819C1023.41,32.499 989.46,-0.533 948.136,0.007" />
|
|
8973
|
-
</svg>;
|
|
8974
|
-
}
|
|
8975
|
-
|
|
8976
|
-
//#endregion
|
|
8977
|
-
//#region src/graphics/social-media/tiktok-logo.tsx
|
|
8978
|
-
/**
|
|
8979
|
-
* # TikTok Logo
|
|
8980
|
-
*
|
|
8981
|
-
* ```ts
|
|
8982
|
-
* variant: 'multicolor' | 'solid' = 'multicolor'
|
|
8983
|
-
* targets: {
|
|
8984
|
-
* bottom: [data-name="bottom"]
|
|
8985
|
-
* middle: [data-name="middle"]
|
|
8986
|
-
* top: [data-name="top"]
|
|
8987
|
-
* }
|
|
8988
|
-
* ```
|
|
8989
|
-
*/
|
|
8990
|
-
function TikTokLogo({ className, targets, variant = "multicolor", ...props }) {
|
|
8991
|
-
return <svg {...props} className={twMerge(variant === "multicolor" && "**-data-[name=\"bottom\"]:fill-[rgb(0_242_234)] **-data-[name=\"middle\"]:fill-black **-data-[name=\"top\"]:fill-[rgb(255_0_79)]", className)} viewBox={`0 0 ${variant === "solid" ? "914" : "907"} 1024`}>
|
|
8992
|
-
{variant === "multicolor" && <>
|
|
8993
|
-
<path {...targets?.top} data-name="top" d="M671.592,369.642C737.71,416.882 818.708,444.676 906.19,444.676L906.19,276.422C889.634,276.425 873.12,274.7 856.923,271.27L856.923,403.71C769.448,403.71 688.461,375.915 622.325,328.679L622.325,672.038C622.325,843.804 483.01,983.037 311.168,983.037C247.049,983.037 187.453,963.663 137.947,930.435C194.45,988.179 273.248,1024 360.424,1024C532.278,1024 671.599,884.767 671.599,712.994L671.599,369.642L671.592,369.642ZM732.368,199.894C698.578,162.997 676.392,115.315 671.592,62.6L671.592,40.959L624.904,40.959C636.656,107.96 676.74,165.201 732.368,199.894ZM246.638,798.627C227.759,773.886 217.557,743.621 217.603,712.502C217.603,633.943 281.324,570.246 359.939,570.246C374.59,570.243 389.154,572.485 403.116,576.913L403.116,404.898C386.799,402.663 370.331,401.714 353.87,402.062L353.87,535.95C339.897,531.522 325.327,529.273 310.672,529.287C232.057,529.287 168.339,592.977 168.339,671.546C168.339,727.1 200.189,775.197 246.638,798.627Z" />
|
|
8994
|
-
<path {...targets?.middle} data-name="middle" d="M622.325,328.676C688.461,375.912 769.448,403.706 856.923,403.706L856.923,271.266C808.095,260.871 764.869,235.367 732.368,199.894C676.737,165.197 636.656,107.956 624.904,40.959L502.269,40.959L502.269,712.987C501.991,791.331 438.379,854.768 359.932,854.768C313.705,854.768 272.637,832.744 246.627,798.627C200.182,775.197 168.332,727.097 168.332,671.55C168.332,592.987 232.05,529.29 310.665,529.29C325.727,529.29 340.245,531.634 353.863,535.954L353.863,402.065C185.039,405.551 49.264,543.425 49.264,712.99C49.264,797.636 83.075,874.371 137.951,930.438C187.457,963.663 247.053,983.041 311.171,983.041C483.017,983.041 622.328,843.8 622.328,672.038L622.328,328.676L622.325,328.676Z" />
|
|
8995
|
-
<path {...targets?.bottom} data-name="bottom" d="M856.923,271.266L856.923,235.455C812.892,235.522 769.725,223.197 732.368,199.89C765.438,236.077 808.984,261.029 856.923,271.266ZM624.904,40.959C623.783,34.557 622.923,28.113 622.325,21.641L622.325,0L452.998,0L452.998,672.035C452.728,750.369 389.119,813.805 310.665,813.805C287.632,813.805 265.886,808.341 246.627,798.631C272.637,832.744 313.705,854.765 359.932,854.765C438.372,854.765 501.995,791.335 502.269,712.99L502.269,40.959L624.904,40.959ZM353.87,402.065L353.87,363.942C339.721,362.009 325.457,361.039 311.175,361.046C139.314,361.046 0,500.283 0,672.035C0,779.713 54.753,874.61 137.954,930.431C83.078,874.368 49.267,797.629 49.267,712.987C49.267,543.425 185.039,405.551 353.87,402.065L353.87,402.065Z" />
|
|
8996
|
-
</>}
|
|
8997
|
-
{variant === "solid" && <path d="M667.348,44.69C680.075,111.724 720.791,169.313 777.229,205.249L777.286,205.307C816.62,230.358 863.44,244.986 913.716,244.986L913.716,420.98C820.306,420.98 733.749,391.782 663.086,342.197L663.086,700.001C663.086,878.644 514.39,1024 331.543,1024C260.881,1024 195.401,1002.23 141.555,965.316L141.44,965.201C55.977,906.517 0,809.536 0,699.944C0,521.301 148.754,375.887 331.543,375.887C346.747,375.887 361.605,377.154 376.233,379.054L376.233,558.849C362.066,554.53 347.15,551.996 331.543,551.996C248.038,551.996 180.14,618.397 180.14,700.001C180.14,756.784 213.139,806.196 261.284,830.96C282.304,841.787 306.204,847.949 331.543,847.949C413.09,847.949 479.663,784.543 482.658,705.53L482.946,0L663.086,0C663.086,15.261 664.584,30.177 667.348,44.69Z" />}
|
|
8998
|
-
</svg>;
|
|
8999
|
-
}
|
|
9000
|
-
|
|
9001
|
-
//#endregion
|
|
9002
|
-
//#region src/graphics/social-media/x-logo.tsx
|
|
9003
|
-
/**
|
|
9004
|
-
* # 𝕏 Logo
|
|
9005
|
-
*/
|
|
9006
|
-
function XLogo(props) {
|
|
9007
|
-
return <svg {...props} viewBox="0 0 1024 926">
|
|
9008
|
-
<path d="M806.464,0L963.472,0L620.432,392.08L1024,925.6L708.016,925.6L460.528,602.016L177.328,925.6L20.224,925.6L387.136,506.24L0,0L324,0L547.712,295.76L806.464,0ZM751.344,831.616L838.352,831.616L276.736,89.04L183.36,89.04L751.344,831.616Z" />
|
|
9009
|
-
</svg>;
|
|
9010
|
-
}
|
|
9011
|
-
|
|
9012
|
-
//#endregion
|
|
9013
|
-
//#region src/graphics/social-media/youtube-logo.tsx
|
|
9014
|
-
/**
|
|
9015
|
-
* # YouTube Logo
|
|
9016
|
-
*
|
|
9017
|
-
* ```ts
|
|
9018
|
-
* cutout: boolean = false
|
|
9019
|
-
* targets: {
|
|
9020
|
-
* background: [data-name="background"],
|
|
9021
|
-
* play: [data-name="play"]
|
|
9022
|
-
* }
|
|
9023
|
-
* ```
|
|
9024
|
-
*/
|
|
9025
|
-
function YouTubeLogo({ className, cutout = false, targets, ...props }) {
|
|
9026
|
-
return <svg {...props} className={twMerge(cutout ? "fill-[rgb(255_0_0)]" : "**-data-[name=\"background\"]:fill-[rgb(255_0_0)] **-data-[name=\"play\"]:fill-white", className)} viewBox="0 0 1024 718">
|
|
9027
|
-
{cutout ? <path {...targets?.background} data-name="background" d="M1001.4,112.302L1001.4,112.306C1035.22,248.444 1027.41,463.456 1002.06,604.85C990.119,648.968 955.546,683.541 911.428,695.48C831.967,717.152 512.141,717.152 512.141,717.152C512.141,717.152 192.312,717.152 112.847,695.48C68.73,683.54 34.159,648.967 22.221,604.85C-11.799,469.304 -2.475,254.156 21.561,112.962C33.498,68.844 68.069,34.269 112.187,22.328C191.652,0.656 511.489,0 511.489,0C511.489,0 831.311,0 910.776,21.672C954.892,33.612 989.464,68.185 1001.4,112.302ZM409.692,512.249L675.008,358.574L409.692,204.899L409.692,512.249Z" /> : <>
|
|
9028
|
-
<path {...targets?.background} data-name="background" d="M1001.4,112.302C989.464,68.185 954.892,33.612 910.776,21.672C831.311,0 511.489,0 511.489,0C511.489,0 191.652,0.656 112.187,22.328C68.069,34.269 33.498,68.844 21.561,112.962C-2.475,254.156 -11.799,469.304 22.221,604.85C34.159,648.967 68.73,683.54 112.847,695.48C192.312,717.152 512.141,717.152 512.141,717.152C512.141,717.152 831.967,717.152 911.428,695.48C955.546,683.541 990.119,648.968 1002.06,604.85C1027.41,463.456 1035.22,248.444 1001.4,112.306L1001.4,112.302Z" />
|
|
9029
|
-
<path {...targets && "play" in targets ? targets?.play : {}} data-name="play" d="M409.692,512.249L675.008,358.574L409.692,204.899L409.692,512.249Z" />
|
|
9030
|
-
</>}
|
|
9031
|
-
</svg>;
|
|
8494
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
8495
|
+
viewBox: "0 0 20 10",
|
|
8496
|
+
className: twMerge("h-2.5 w-5 fill-none", className),
|
|
8497
|
+
...props,
|
|
8498
|
+
children: [
|
|
8499
|
+
/* @__PURE__ */ jsx("path", {
|
|
8500
|
+
d: "M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V10H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z",
|
|
8501
|
+
className: "fill-neutral-50 dark:fill-neutral-800"
|
|
8502
|
+
}),
|
|
8503
|
+
/* @__PURE__ */ jsx("path", {
|
|
8504
|
+
d: "M8.99542 1.85876C9.75604 1.17425 10.9106 1.17422 11.6713 1.85878L16.5281 6.22989C17.0789 6.72568 17.7938 7.00001 18.5349 7.00001L15.89 7L11.0023 2.60207C10.622 2.2598 10.0447 2.2598 9.66436 2.60207L4.77734 7L2.13171 7.00001C2.87284 7.00001 3.58774 6.72568 4.13861 6.22989L8.99542 1.85876Z",
|
|
8505
|
+
className: "fill-neutral-400 dark:fill-none"
|
|
8506
|
+
}),
|
|
8507
|
+
/* @__PURE__ */ jsx("path", {
|
|
8508
|
+
d: "M10.3333 3.34539L5.47654 7.71648C4.55842 8.54279 3.36693 9 2.13172 9H0V8H2.13172C3.11989 8 4.07308 7.63423 4.80758 6.97318L9.66437 2.60207C10.0447 2.25979 10.622 2.2598 11.0023 2.60207L15.8591 6.97318C16.5936 7.63423 17.5468 8 18.5349 8H20V9H18.5349C17.2998 9 16.1083 8.54278 15.1901 7.71648L10.3333 3.34539Z",
|
|
8509
|
+
className: "dark:fill-neutral-600"
|
|
8510
|
+
})
|
|
8511
|
+
]
|
|
8512
|
+
});
|
|
9032
8513
|
}
|
|
9033
8514
|
|
|
9034
8515
|
//#endregion
|
|
9035
|
-
|
|
9036
|
-
exports.Button = Button;
|
|
9037
|
-
exports.Checkbox = Checkbox;
|
|
9038
|
-
exports.Details = Details;
|
|
9039
|
-
exports.DetailsBody = DetailsBody;
|
|
9040
|
-
exports.DetailsSummary = DetailsSummary;
|
|
9041
|
-
exports.DropDown = DropDown;
|
|
9042
|
-
exports.DropDownButton = DropDownButton;
|
|
9043
|
-
exports.DropDownItem = DropDownItem;
|
|
9044
|
-
exports.DropDownItems = DropDownItems;
|
|
9045
|
-
exports.DropDownSection = DropDownSection;
|
|
9046
|
-
exports.DropDownSeparator = DropDownSeparator;
|
|
9047
|
-
exports.FacebookLogo = FacebookLogo;
|
|
9048
|
-
exports.Fieldset = Fieldset;
|
|
9049
|
-
exports.Form = Form;
|
|
9050
|
-
exports.FormStatusProvider = FormStatusProvider;
|
|
9051
|
-
exports.Ghost = Ghost;
|
|
9052
|
-
exports.GoogleLogo = GoogleLogo;
|
|
9053
|
-
exports.Heading = Heading;
|
|
9054
|
-
exports.HumanVerification = HumanVerification;
|
|
9055
|
-
exports.IFrame = IFrame;
|
|
9056
|
-
exports.Input = Input;
|
|
9057
|
-
exports.InstagramLogo = InstagramLogo;
|
|
9058
|
-
exports.Link = Link;
|
|
9059
|
-
exports.LinkedInLogo = LinkedInLogo;
|
|
9060
|
-
exports.Modal = Modal;
|
|
9061
|
-
exports.ModalClose = ModalClose;
|
|
9062
|
-
exports.ModalDialog = ModalDialog;
|
|
9063
|
-
exports.ModalTitle = ModalTitle;
|
|
9064
|
-
exports.ModalTrigger = ModalTrigger;
|
|
9065
|
-
exports.Select = Select;
|
|
9066
|
-
exports.SelectOption = SelectOption;
|
|
9067
|
-
exports.SelectSectionTitle = SelectSectionTitle;
|
|
9068
|
-
exports.SubmitButton = SubmitButton;
|
|
9069
|
-
exports.Textarea = Textarea;
|
|
9070
|
-
exports.TikTokLogo = TikTokLogo;
|
|
9071
|
-
exports.Time = Time;
|
|
9072
|
-
exports.Tooltip = Tooltip;
|
|
9073
|
-
exports.TooltipPanel = TooltipPanel;
|
|
9074
|
-
exports.TooltipTrigger = TooltipTrigger;
|
|
9075
|
-
exports.XLogo = XLogo;
|
|
9076
|
-
exports.YouTubeLogo = YouTubeLogo;
|
|
9077
|
-
exports.addClass = addClass;
|
|
9078
|
-
exports.createButton = createButton;
|
|
9079
|
-
exports.createFastContext = createFastContext;
|
|
9080
|
-
exports.createLink = createLink;
|
|
9081
|
-
exports.currentMonthName = currentMonthName;
|
|
9082
|
-
exports.currentWeekdayName = currentWeekdayName;
|
|
9083
|
-
exports.daysInMonth = daysInMonth;
|
|
9084
|
-
exports.easeOutExpo = easeOutExpo;
|
|
9085
|
-
exports.emailRegex = emailRegex;
|
|
9086
|
-
exports.extendMadoTailwindMerge = extendMadoTailwindMerge;
|
|
9087
|
-
exports.firstOfMonth = firstOfMonth;
|
|
9088
|
-
exports.formatPhoneNumber = formatPhoneNumber;
|
|
9089
|
-
exports.generateHumanValidationToken = generateHumanValidationToken;
|
|
9090
|
-
exports.getDate = getDate;
|
|
9091
|
-
exports.getHours = getHours;
|
|
9092
|
-
exports.getHoursIn12 = getHoursIn12;
|
|
9093
|
-
exports.getLinkClasses = getLinkClasses;
|
|
9094
|
-
exports.getLocalTime = getLocalTime;
|
|
9095
|
-
exports.getMeridianFromHour = getMeridianFromHour;
|
|
9096
|
-
exports.getMilliseconds = getMilliseconds;
|
|
9097
|
-
exports.getMinutes = getMinutes;
|
|
9098
|
-
exports.getMonth = getMonth;
|
|
9099
|
-
exports.getMonthIndexFromName = getMonthIndexFromName;
|
|
9100
|
-
exports.getMonthName = getMonthName;
|
|
9101
|
-
exports.getNextMonth = getNextMonth;
|
|
9102
|
-
exports.getPreviousMonth = getPreviousMonth;
|
|
9103
|
-
exports.getSeconds = getSeconds;
|
|
9104
|
-
exports.getTimezone = getTimezone;
|
|
9105
|
-
exports.getUserReadableDate = getUserReadableDate;
|
|
9106
|
-
exports.getUserReadableDateFromTimestampz = getUserReadableDateFromTimestampz;
|
|
9107
|
-
exports.getWeekdayName = getWeekdayName;
|
|
9108
|
-
exports.getYearsInRange = getYearsInRange;
|
|
9109
|
-
exports.hasClass = hasClass;
|
|
9110
|
-
exports.isEmail = isEmail;
|
|
9111
|
-
exports.isPhoneNumber = isPhoneNumber;
|
|
9112
|
-
exports.monthNamesList = monthNamesList;
|
|
9113
|
-
exports.removeClass = removeClass;
|
|
9114
|
-
exports.splitCamelCase = splitCamelCase;
|
|
9115
|
-
exports.telRegex = telRegex;
|
|
9116
|
-
exports.toCamelCase = toCamelCase;
|
|
9117
|
-
exports.toFullDateString = toFullDateString;
|
|
9118
|
-
exports.toLowerCase = toLowerCase;
|
|
9119
|
-
exports.toTitleCase = toTitleCase;
|
|
9120
|
-
exports.toggleClass = toggleClass;
|
|
9121
|
-
exports.twMerge = twMerge;
|
|
9122
|
-
exports.useFormStatus = useFormStatus;
|
|
9123
|
-
exports.usePointerMovement = usePointerMovement;
|
|
9124
|
-
exports.validateHuman = validateHuman;
|
|
9125
|
-
exports.weekdayNamesList = weekdayNamesList;
|
|
8516
|
+
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, Fieldset, Form, Ghost, Heading, HumanVerification, IFrame, Input, Link, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, Time, Tooltip, TooltipPanel, TooltipTrigger, createButton, createLink, generateHumanValidationToken, getLinkClasses, validateHuman };
|