@andrilla/mado-ui 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +751 -12
- package/dist/client/components/index.js +467 -423
- package/dist/client/graphics/index.js +2 -11
- package/dist/client.js +473 -429
- package/dist/components/checkbox.d.ts +4 -1
- package/dist/components/drop-down.d.ts +9 -9
- package/dist/components/fieldset.d.ts +12 -2
- package/dist/components/heading.d.ts +1 -2
- package/dist/components/human-verification.d.ts +3 -2
- package/dist/components/index.js +466 -422
- package/dist/components/input.d.ts +5 -1
- package/dist/components/link.d.ts +14 -10
- package/dist/components/modal.d.ts +9 -6
- package/dist/components/select.d.ts +9 -2
- package/dist/components/submit-button.d.ts +2 -1
- package/dist/components/textarea.d.ts +5 -1
- package/dist/components/time.d.ts +6 -7
- package/dist/components/tooltip.d.ts +4 -4
- package/dist/css/theme.css +1 -1
- package/dist/css/utilities.css +26 -0
- package/dist/graphics/index.js +1 -10
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +14 -5
- package/dist/hooks/use-mobile-device.d.ts +1 -0
- package/dist/index.js +472 -428
- package/dist/utils/index.js +1 -8
- package/package.json +17 -7
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@ import * as React from "react";
|
|
|
5
5
|
import { Children, Suspense, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useEffectEvent, useId, useLayoutEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
6
6
|
import * as ReactDOM from "react-dom";
|
|
7
7
|
import { createPortal } from "react-dom";
|
|
8
|
-
|
|
9
8
|
//#region src/utils/custom-tailwind-merge.ts
|
|
10
9
|
const isInteger = (classPart) => /^\d+$/.test(classPart);
|
|
11
10
|
const isFloat = (classPart) => /^\d+\.\d+$/.test(classPart);
|
|
@@ -198,7 +197,6 @@ function extendMadoTailwindMerge(configExtension) {
|
|
|
198
197
|
...configExtension
|
|
199
198
|
});
|
|
200
199
|
}
|
|
201
|
-
|
|
202
200
|
//#endregion
|
|
203
201
|
//#region src/utils/get-theme-color.ts
|
|
204
202
|
function getThemeColor(theme) {
|
|
@@ -836,20 +834,19 @@ function getTextColor(theme, asVariable) {
|
|
|
836
834
|
default: return asVariable ? "[--text-color:var(--base-theme-color--foreground)]" : "text-[var(--base-theme-color--foreground)]";
|
|
837
835
|
}
|
|
838
836
|
}
|
|
839
|
-
|
|
840
837
|
//#endregion
|
|
841
838
|
//#region src/components/link.tsx
|
|
842
|
-
function Anchor({ as, className, disabled, href, onClick, target, rel, ...props }) {
|
|
839
|
+
function Anchor({ as, className, disabled, href, onClick, target, rel, removeHash = true, ...props }) {
|
|
843
840
|
const isExternal = `${href}`.startsWith("http"), hasHash = `${href}`.includes("#");
|
|
844
841
|
const handleClick = (e) => {
|
|
845
842
|
if (disabled) return e.preventDefault();
|
|
846
843
|
onClick?.(e);
|
|
847
|
-
setTimeout(() => history.replaceState({}, document.title, location.pathname), 100);
|
|
844
|
+
if (removeHash) setTimeout(() => history.replaceState({}, document.title, location.pathname), 100);
|
|
848
845
|
};
|
|
849
846
|
return /* @__PURE__ */ jsx(as || "a", {
|
|
850
847
|
...props,
|
|
851
848
|
"aria-disabled": disabled,
|
|
852
|
-
className: twMerge("
|
|
849
|
+
className: twMerge("inline-block transition-transform duration-300 ease-exponential active:scale-95 pointer-fine:active:scale-95", className, disabled && "pointer-events-none"),
|
|
853
850
|
href,
|
|
854
851
|
target: target || (isExternal ? "_blank" : "_self"),
|
|
855
852
|
onClick: hasHash ? handleClick : onClick,
|
|
@@ -882,7 +879,7 @@ const lineLiftClasses = twJoin([
|
|
|
882
879
|
scaleYClasses,
|
|
883
880
|
"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"
|
|
884
881
|
]);
|
|
885
|
-
const fillClasses = twJoin(baseClasses, "whitespace-nowrap transition-[
|
|
882
|
+
const fillClasses = twJoin(baseClasses, "whitespace-nowrap transition-[scale,color] after:top-1/2 after:h-[calc(100%+.05rem)] after:w-[calc(100%+.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)");
|
|
886
883
|
const getFillColorTransitionClasses = (theme, customTheme) => {
|
|
887
884
|
let fillColorTransitionClasses = twJoin(fillClasses, "transition-[scale,color] after:bg-(--theme-color)");
|
|
888
885
|
if (theme === "custom") {
|
|
@@ -936,8 +933,8 @@ const getMultilineFillRtlClasses = (theme, customTheme) => {
|
|
|
936
933
|
const getMultilineFillCenterClasses = (theme, customTheme) => {
|
|
937
934
|
return twJoin(getMultilineFillXClasses(theme, customTheme), "bg-position-[50%_auto]");
|
|
938
935
|
};
|
|
939
|
-
function getLinkClasses({ customTheme, theme,
|
|
940
|
-
switch (
|
|
936
|
+
function getLinkClasses({ customTheme, theme, lineType }) {
|
|
937
|
+
switch (lineType) {
|
|
941
938
|
case "static": return lineStaticClasses;
|
|
942
939
|
case "ltr": return lineLtrClasses;
|
|
943
940
|
case "rtl": return lineRtlClasses;
|
|
@@ -997,26 +994,28 @@ function getLinkClasses({ customTheme, theme, type }) {
|
|
|
997
994
|
* ## Examples
|
|
998
995
|
*
|
|
999
996
|
* @example
|
|
1000
|
-
* <Link href='/about'
|
|
997
|
+
* <Link href='/about' lineType='ltr' title='About Us'>Learn more about our company</Link>
|
|
998
|
+
*
|
|
999
|
+
* @example
|
|
1000
|
+
* <Link href='/about' lineType='fill-ltr' title='About Us'>Learn more about our company</Link>
|
|
1001
1001
|
*
|
|
1002
1002
|
* @example
|
|
1003
|
-
* <Link href='/about'
|
|
1003
|
+
* <Link href='/about' lineType='multiline-fill-rtl' theme='red' title='About Us'>Learn more about our company</Link>
|
|
1004
1004
|
*
|
|
1005
1005
|
* @example
|
|
1006
|
-
* <Link
|
|
1006
|
+
* <Link as='button' lineType='fill-lift' theme='mauve-700'>Edit</Link>
|
|
1007
1007
|
*/
|
|
1008
|
-
function Link({ as, className, customTheme,
|
|
1008
|
+
function Link({ as, className, customTheme, lineType, theme, ...props }) {
|
|
1009
1009
|
const linkClasses = getLinkClasses({
|
|
1010
1010
|
customTheme,
|
|
1011
1011
|
theme,
|
|
1012
|
-
|
|
1012
|
+
lineType
|
|
1013
1013
|
});
|
|
1014
1014
|
return /* @__PURE__ */ jsx(as || Anchor, {
|
|
1015
1015
|
...props,
|
|
1016
1016
|
className: twMerge(linkClasses, className)
|
|
1017
1017
|
});
|
|
1018
1018
|
}
|
|
1019
|
-
|
|
1020
1019
|
//#endregion
|
|
1021
1020
|
//#region src/components/button.tsx
|
|
1022
1021
|
/**
|
|
@@ -1070,7 +1069,6 @@ function Button({ className, customTheme, gradient = false, padding = "md", roun
|
|
|
1070
1069
|
className: buttonClasses
|
|
1071
1070
|
});
|
|
1072
1071
|
}
|
|
1073
|
-
|
|
1074
1072
|
//#endregion
|
|
1075
1073
|
//#region src/symbols/checkmark.tsx
|
|
1076
1074
|
function Checkmark({ weight = "regular", ...props }) {
|
|
@@ -1122,7 +1120,6 @@ function Checkmark({ weight = "regular", ...props }) {
|
|
|
1122
1120
|
});
|
|
1123
1121
|
}
|
|
1124
1122
|
}
|
|
1125
|
-
|
|
1126
1123
|
//#endregion
|
|
1127
1124
|
//#region src/components/checkbox.tsx
|
|
1128
1125
|
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 }) {
|
|
@@ -1134,7 +1131,7 @@ function Checkbox({ checkmark, children, className, description, descriptionProp
|
|
|
1134
1131
|
};
|
|
1135
1132
|
return /* @__PURE__ */ jsxs(Field, {
|
|
1136
1133
|
...fieldProps,
|
|
1137
|
-
className: (bag) => twMerge("
|
|
1134
|
+
className: (bag) => twMerge("-mx-1 grid h-fit w-fit gap-1 rounded-md p-1 transition-[background-color] duration-200 ease-exponential corner-super-1.5 hover:bg-neutral-500/10 data-invalid:ring-1 data-invalid:ring-red-500/50", typeof fieldClassName === "function" ? fieldClassName(bag) : fieldClassName),
|
|
1138
1135
|
...hasInteracted && required && !checked ? { "data-invalid": "true" } : {},
|
|
1139
1136
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
1140
1137
|
...inputContainerProps,
|
|
@@ -1143,7 +1140,7 @@ function Checkbox({ checkmark, children, className, description, descriptionProp
|
|
|
1143
1140
|
...props,
|
|
1144
1141
|
...required ? { "aria-required": "true" } : {},
|
|
1145
1142
|
...hasInteracted && required && !checked ? { "aria-invalid": "true" } : {},
|
|
1146
|
-
className: (bag) => twMerge("group/checkbox
|
|
1143
|
+
className: (bag) => twMerge("group/checkbox size-5 shrink-0 cursor-pointer rounded-md border border-neutral-500/50 bg-neutral-100 transition-[background-color] duration-300 ease-exponential [--checkmark-color:var(--base-theme-color--foreground)] [--theme-color:var(--base-theme-color)] corner-super-1.5 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),
|
|
1147
1144
|
onChange: handleChange,
|
|
1148
1145
|
value,
|
|
1149
1146
|
children: [/* @__PURE__ */ jsx("input", {
|
|
@@ -1159,7 +1156,7 @@ function Checkbox({ checkmark, children, className, description, descriptionProp
|
|
|
1159
1156
|
type: "checkbox",
|
|
1160
1157
|
value
|
|
1161
1158
|
}), checkmark ?? /* @__PURE__ */ jsx(Checkmark, {
|
|
1162
|
-
className: "
|
|
1159
|
+
className: "size-full scale-0 fill-(--checkmark-color) transition-transform duration-300 ease-exponential group-data-checked/checkbox:scale-60",
|
|
1163
1160
|
weight: "bold"
|
|
1164
1161
|
})]
|
|
1165
1162
|
}), /* @__PURE__ */ jsxs(Label, {
|
|
@@ -1177,7 +1174,6 @@ function Checkbox({ checkmark, children, className, description, descriptionProp
|
|
|
1177
1174
|
})]
|
|
1178
1175
|
});
|
|
1179
1176
|
}
|
|
1180
|
-
|
|
1181
1177
|
//#endregion
|
|
1182
1178
|
//#region node_modules/animejs/dist/modules/core/consts.js
|
|
1183
1179
|
/**
|
|
@@ -1229,9 +1225,6 @@ const proxyTargetSymbol = Symbol();
|
|
|
1229
1225
|
const minValue = 1e-11;
|
|
1230
1226
|
const maxValue = 0xe8d4a51000;
|
|
1231
1227
|
const K = 1e3;
|
|
1232
|
-
const maxFps = 240;
|
|
1233
|
-
const emptyString = "";
|
|
1234
|
-
const cssVarPrefix = "var(";
|
|
1235
1228
|
const shortTransforms = /* @__PURE__ */ (() => {
|
|
1236
1229
|
const map = /* @__PURE__ */ new Map();
|
|
1237
1230
|
map.set("x", "translateX");
|
|
@@ -1275,7 +1268,6 @@ const unitsExecRgx = /^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i;
|
|
|
1275
1268
|
const lowerCaseRgx = /([a-z])([A-Z])/g;
|
|
1276
1269
|
const transformsExecRgx = /(\w+)(\([^)]+\)+)/g;
|
|
1277
1270
|
const cssVariableMatchRgx = /var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/;
|
|
1278
|
-
|
|
1279
1271
|
//#endregion
|
|
1280
1272
|
//#region node_modules/animejs/dist/modules/core/globals.js
|
|
1281
1273
|
/**
|
|
@@ -1300,7 +1292,7 @@ const defaults = {
|
|
|
1300
1292
|
keyframes: null,
|
|
1301
1293
|
playbackEase: null,
|
|
1302
1294
|
playbackRate: 1,
|
|
1303
|
-
frameRate:
|
|
1295
|
+
frameRate: 240,
|
|
1304
1296
|
loop: 0,
|
|
1305
1297
|
reversed: false,
|
|
1306
1298
|
alternate: false,
|
|
@@ -1339,7 +1331,6 @@ if (isBrowser) {
|
|
|
1339
1331
|
if (!win.AnimeJS) win.AnimeJS = [];
|
|
1340
1332
|
win.AnimeJS.push(globalVersions);
|
|
1341
1333
|
}
|
|
1342
|
-
|
|
1343
1334
|
//#endregion
|
|
1344
1335
|
//#region node_modules/animejs/dist/modules/core/helpers.js
|
|
1345
1336
|
/**
|
|
@@ -1478,7 +1469,7 @@ const clampInfinity = (v) => v === Infinity ? maxValue : v === -Infinity ? -maxV
|
|
|
1478
1469
|
* @param {Number} v - Time value to normalize
|
|
1479
1470
|
* @return {Number}
|
|
1480
1471
|
*/
|
|
1481
|
-
const normalizeTime = (v) => v <=
|
|
1472
|
+
const normalizeTime = (v) => v <= 1e-11 ? minValue : clampInfinity(round$1(v, 11));
|
|
1482
1473
|
/**
|
|
1483
1474
|
* @template T
|
|
1484
1475
|
* @param {T[]} a
|
|
@@ -1553,7 +1544,6 @@ const addChild = (parent, child, sortMethod, prevProp = "_prev", nextProp = "_ne
|
|
|
1553
1544
|
child[prevProp] = prev;
|
|
1554
1545
|
child[nextProp] = next;
|
|
1555
1546
|
};
|
|
1556
|
-
|
|
1557
1547
|
//#endregion
|
|
1558
1548
|
//#region node_modules/animejs/dist/modules/core/targets.js
|
|
1559
1549
|
/**
|
|
@@ -1666,7 +1656,6 @@ function registerTargets(targets) {
|
|
|
1666
1656
|
}
|
|
1667
1657
|
return parsedTargetsArray;
|
|
1668
1658
|
}
|
|
1669
|
-
|
|
1670
1659
|
//#endregion
|
|
1671
1660
|
//#region node_modules/animejs/dist/modules/core/transforms.js
|
|
1672
1661
|
/**
|
|
@@ -1704,7 +1693,6 @@ const parseInlineTransforms = (target, propName, animationInlineStyles) => {
|
|
|
1704
1693
|
}
|
|
1705
1694
|
return inlineTransforms && !isUnd(inlinedStylesPropertyValue) ? inlinedStylesPropertyValue : stringStartsWith(propName, "scale") ? "1" : stringStartsWith(propName, "rotate") || stringStartsWith(propName, "skew") ? "0deg" : "0px";
|
|
1706
1695
|
};
|
|
1707
|
-
|
|
1708
1696
|
//#endregion
|
|
1709
1697
|
//#region node_modules/animejs/dist/modules/core/colors.js
|
|
1710
1698
|
/**
|
|
@@ -1799,7 +1787,6 @@ const convertColorStringValuesToRgbaArray = (colorString) => {
|
|
|
1799
1787
|
1
|
|
1800
1788
|
];
|
|
1801
1789
|
};
|
|
1802
|
-
|
|
1803
1790
|
//#endregion
|
|
1804
1791
|
//#region node_modules/animejs/dist/modules/core/values.js
|
|
1805
1792
|
/**
|
|
@@ -1840,12 +1827,12 @@ const getFunctionValue = (value, target, index, total, store) => {
|
|
|
1840
1827
|
const computed = value(target, index, total);
|
|
1841
1828
|
return !isNaN(+computed) ? +computed : computed || 0;
|
|
1842
1829
|
};
|
|
1843
|
-
else if (isStr(value) && stringStartsWith(value,
|
|
1830
|
+
else if (isStr(value) && stringStartsWith(value, "var(")) func = () => {
|
|
1844
1831
|
const match = value.match(cssVariableMatchRgx);
|
|
1845
1832
|
const cssVarName = match[1];
|
|
1846
1833
|
const fallbackValue = match[2];
|
|
1847
1834
|
let computed = getComputedStyle(target)?.getPropertyValue(cssVarName);
|
|
1848
|
-
if ((!computed || computed.trim() ===
|
|
1835
|
+
if ((!computed || computed.trim() === "") && fallbackValue) computed = fallbackValue.trim();
|
|
1849
1836
|
return computed || 0;
|
|
1850
1837
|
};
|
|
1851
1838
|
else return value;
|
|
@@ -1964,7 +1951,6 @@ const decomposeTweenValue = (tween, targetObject) => {
|
|
|
1964
1951
|
return targetObject;
|
|
1965
1952
|
};
|
|
1966
1953
|
const decomposedOriginalValue = createDecomposedValueTargetObject();
|
|
1967
|
-
|
|
1968
1954
|
//#endregion
|
|
1969
1955
|
//#region node_modules/animejs/dist/modules/core/styles.js
|
|
1970
1956
|
/**
|
|
@@ -2023,28 +2009,27 @@ const cleanInlineStyles = (renderable) => {
|
|
|
2023
2009
|
if (tweenTarget[isDomSymbol]) {
|
|
2024
2010
|
const targetStyle = tweenTarget.style;
|
|
2025
2011
|
const originalInlinedValue = tween._inlineValue;
|
|
2026
|
-
const tweenHadNoInlineValue = isNil(originalInlinedValue) || originalInlinedValue ===
|
|
2012
|
+
const tweenHadNoInlineValue = isNil(originalInlinedValue) || originalInlinedValue === "";
|
|
2027
2013
|
if (tween._tweenType === tweenTypes.TRANSFORM) {
|
|
2028
2014
|
const cachedTransforms = tweenTarget[transformsSymbol];
|
|
2029
2015
|
if (tweenHadNoInlineValue) delete cachedTransforms[tweenProperty];
|
|
2030
2016
|
else cachedTransforms[tweenProperty] = originalInlinedValue;
|
|
2031
2017
|
if (tween._renderTransforms) if (!Object.keys(cachedTransforms).length) targetStyle.removeProperty("transform");
|
|
2032
2018
|
else {
|
|
2033
|
-
let str =
|
|
2019
|
+
let str = "";
|
|
2034
2020
|
for (let key in cachedTransforms) str += transformsFragmentStrings[key] + cachedTransforms[key] + ") ";
|
|
2035
2021
|
targetStyle.transform = str;
|
|
2036
2022
|
}
|
|
2037
2023
|
} else if (tweenHadNoInlineValue) targetStyle.removeProperty(toLowerCase$1(tweenProperty));
|
|
2038
2024
|
else targetStyle[tweenProperty] = originalInlinedValue;
|
|
2039
2025
|
if (animation._tail === tween) animation.targets.forEach((t) => {
|
|
2040
|
-
if (t.getAttribute && t.getAttribute("style") ===
|
|
2026
|
+
if (t.getAttribute && t.getAttribute("style") === "") t.removeAttribute("style");
|
|
2041
2027
|
});
|
|
2042
2028
|
}
|
|
2043
2029
|
});
|
|
2044
2030
|
}
|
|
2045
2031
|
return renderable;
|
|
2046
2032
|
};
|
|
2047
|
-
|
|
2048
2033
|
//#endregion
|
|
2049
2034
|
//#region node_modules/animejs/dist/modules/core/units.js
|
|
2050
2035
|
/**
|
|
@@ -2103,7 +2088,6 @@ const convertValueUnit = (el, decomposedValue, unit, force = false) => {
|
|
|
2103
2088
|
decomposedValue.u = unit;
|
|
2104
2089
|
return decomposedValue;
|
|
2105
2090
|
};
|
|
2106
|
-
|
|
2107
2091
|
//#endregion
|
|
2108
2092
|
//#region node_modules/animejs/dist/modules/easings/none.js
|
|
2109
2093
|
/**
|
|
@@ -2119,7 +2103,6 @@ const convertValueUnit = (el, decomposedValue, unit, force = false) => {
|
|
|
2119
2103
|
*/
|
|
2120
2104
|
/** @type {EasingFunction} */
|
|
2121
2105
|
const none = (t) => t;
|
|
2122
|
-
|
|
2123
2106
|
//#endregion
|
|
2124
2107
|
//#region node_modules/animejs/dist/modules/easings/eases/parser.js
|
|
2125
2108
|
/**
|
|
@@ -2160,7 +2143,7 @@ const halfPI = PI / 2;
|
|
|
2160
2143
|
const doublePI = PI * 2;
|
|
2161
2144
|
/** @type {Record<String, EasingFunctionWithParams|EasingFunction>} */
|
|
2162
2145
|
const easeInFunctions = {
|
|
2163
|
-
[
|
|
2146
|
+
[""]: easeInPower,
|
|
2164
2147
|
Quad: easeInPower(2),
|
|
2165
2148
|
Cubic: easeInPower(3),
|
|
2166
2149
|
Quart: easeInPower(4),
|
|
@@ -2239,7 +2222,7 @@ const eases = /* @__PURE__ */ (() => {
|
|
|
2239
2222
|
for (let type in easeTypes) for (let name in easeInFunctions) {
|
|
2240
2223
|
const easeIn = easeInFunctions[name];
|
|
2241
2224
|
const easeType = easeTypes[type];
|
|
2242
|
-
list[type + name] = name ===
|
|
2225
|
+
list[type + name] = name === "" || name === "Back" || name === "Elastic" ? (a, b) => easeType(
|
|
2243
2226
|
/** @type {EasingFunctionWithParams} */
|
|
2244
2227
|
easeIn(a, b)
|
|
2245
2228
|
) : easeType(easeIn);
|
|
@@ -2285,7 +2268,6 @@ const parseEase = (ease) => {
|
|
|
2285
2268
|
}
|
|
2286
2269
|
return isFnc(ease) ? ease : isStr(ease) ? parseEaseString(ease) : none;
|
|
2287
2270
|
};
|
|
2288
|
-
|
|
2289
2271
|
//#endregion
|
|
2290
2272
|
//#region node_modules/animejs/dist/modules/core/render.js
|
|
2291
2273
|
/**
|
|
@@ -2451,7 +2433,7 @@ const render = (tickable, time, muteCallbacks, internalRender, tickMode) => {
|
|
|
2451
2433
|
} else tween._value = value;
|
|
2452
2434
|
}
|
|
2453
2435
|
if (tweenTransformsNeedUpdate && tween._renderTransforms) {
|
|
2454
|
-
let str =
|
|
2436
|
+
let str = "";
|
|
2455
2437
|
for (let key in tweenTargetTransformsProperties) str += `${transformsFragmentStrings[key]}${tweenTargetTransformsProperties[key]}) `;
|
|
2456
2438
|
tweenStyle.transform = str;
|
|
2457
2439
|
tweenTransformsNeedUpdate = 0;
|
|
@@ -2464,7 +2446,7 @@ const render = (tickable, time, muteCallbacks, internalRender, tickMode) => {
|
|
|
2464
2446
|
if (!muteCallbacks && isCurrentTimeAboveZero) tickable.onUpdate(tickable);
|
|
2465
2447
|
}
|
|
2466
2448
|
if (parent && isSetter) {
|
|
2467
|
-
if (!muteCallbacks && (parent.began && !isRunningBackwards && tickableAbsoluteTime > 0 && !completed || isRunningBackwards && tickableAbsoluteTime <=
|
|
2449
|
+
if (!muteCallbacks && (parent.began && !isRunningBackwards && tickableAbsoluteTime > 0 && !completed || isRunningBackwards && tickableAbsoluteTime <= 1e-11 && completed)) {
|
|
2468
2450
|
tickable.onComplete(tickable);
|
|
2469
2451
|
tickable.completed = !isRunningBackwards;
|
|
2470
2452
|
}
|
|
@@ -2512,7 +2494,7 @@ const tick = (tickable, time, muteCallbacks, internalRender, tickMode) => {
|
|
|
2512
2494
|
const childDuration = child.duration;
|
|
2513
2495
|
const childStartTime = child._offset + child._delay;
|
|
2514
2496
|
const childEndTime = childStartTime + childDuration;
|
|
2515
|
-
if (!muteCallbacks && childDuration <=
|
|
2497
|
+
if (!muteCallbacks && childDuration <= 1e-11 && (!childStartTime || childEndTime === tlIterationDuration)) child.onComplete(child);
|
|
2516
2498
|
}
|
|
2517
2499
|
});
|
|
2518
2500
|
if (!muteCallbacks) tl.onLoop(tl);
|
|
@@ -2536,7 +2518,6 @@ const tick = (tickable, time, muteCallbacks, internalRender, tickMode) => {
|
|
|
2536
2518
|
}
|
|
2537
2519
|
}
|
|
2538
2520
|
};
|
|
2539
|
-
|
|
2540
2521
|
//#endregion
|
|
2541
2522
|
//#region node_modules/animejs/dist/modules/core/clock.js
|
|
2542
2523
|
/**
|
|
@@ -2567,9 +2548,9 @@ var Clock = class {
|
|
|
2567
2548
|
/** @type {Number} */
|
|
2568
2549
|
this._scheduledTime = 0;
|
|
2569
2550
|
/** @type {Number} */
|
|
2570
|
-
this._frameDuration = K /
|
|
2551
|
+
this._frameDuration = K / 240;
|
|
2571
2552
|
/** @type {Number} */
|
|
2572
|
-
this._fps =
|
|
2553
|
+
this._fps = 240;
|
|
2573
2554
|
/** @type {Number} */
|
|
2574
2555
|
this._speed = 1;
|
|
2575
2556
|
/** @type {Boolean} */
|
|
@@ -2585,7 +2566,7 @@ var Clock = class {
|
|
|
2585
2566
|
set fps(frameRate) {
|
|
2586
2567
|
const previousFrameDuration = this._frameDuration;
|
|
2587
2568
|
const fr = +frameRate;
|
|
2588
|
-
const fps = fr <
|
|
2569
|
+
const fps = fr < 1e-11 ? minValue : fr;
|
|
2589
2570
|
const frameDuration = K / fps;
|
|
2590
2571
|
if (fps > defaults.frameRate) defaults.frameRate = fps;
|
|
2591
2572
|
this._fps = fps;
|
|
@@ -2597,7 +2578,7 @@ var Clock = class {
|
|
|
2597
2578
|
}
|
|
2598
2579
|
set speed(playbackRate) {
|
|
2599
2580
|
const pbr = +playbackRate;
|
|
2600
|
-
this._speed = pbr <
|
|
2581
|
+
this._speed = pbr < 1e-11 ? minValue : pbr;
|
|
2601
2582
|
}
|
|
2602
2583
|
/**
|
|
2603
2584
|
* @param {Number} time
|
|
@@ -2623,7 +2604,6 @@ var Clock = class {
|
|
|
2623
2604
|
return delta;
|
|
2624
2605
|
}
|
|
2625
2606
|
};
|
|
2626
|
-
|
|
2627
2607
|
//#endregion
|
|
2628
2608
|
//#region node_modules/animejs/dist/modules/animation/additive.js
|
|
2629
2609
|
/**
|
|
@@ -2691,7 +2671,6 @@ const addAdditiveAnimation = (lookups) => {
|
|
|
2691
2671
|
}
|
|
2692
2672
|
return animation;
|
|
2693
2673
|
};
|
|
2694
|
-
|
|
2695
2674
|
//#endregion
|
|
2696
2675
|
//#region node_modules/animejs/dist/modules/engine/engine.js
|
|
2697
2676
|
/**
|
|
@@ -2815,7 +2794,6 @@ const killEngine = () => {
|
|
|
2815
2794
|
engine.reqId = 0;
|
|
2816
2795
|
return engine;
|
|
2817
2796
|
};
|
|
2818
|
-
|
|
2819
2797
|
//#endregion
|
|
2820
2798
|
//#region node_modules/animejs/dist/modules/animation/composition.js
|
|
2821
2799
|
/**
|
|
@@ -2907,7 +2885,7 @@ const composeTween = (tween, siblings) => {
|
|
|
2907
2885
|
prevSibling._changeDuration = updatedPrevChangeDuration;
|
|
2908
2886
|
prevSibling._currentTime = updatedPrevChangeDuration;
|
|
2909
2887
|
prevSibling._isOverlapped = 1;
|
|
2910
|
-
if (updatedPrevChangeDuration <
|
|
2888
|
+
if (updatedPrevChangeDuration < 1e-11) overrideTween(prevSibling);
|
|
2911
2889
|
}
|
|
2912
2890
|
let pausePrevParentAnimation = true;
|
|
2913
2891
|
forEachChildren(prevParent, (t) => {
|
|
@@ -3052,7 +3030,6 @@ const removeTargetsFromRenderable = (targetsArray, renderable, propertyName) =>
|
|
|
3052
3030
|
if (parent.cancel) /** @type {Renderable} */ parent.cancel();
|
|
3053
3031
|
}
|
|
3054
3032
|
};
|
|
3055
|
-
|
|
3056
3033
|
//#endregion
|
|
3057
3034
|
//#region node_modules/animejs/dist/modules/timer/timer.js
|
|
3058
3035
|
/**
|
|
@@ -3142,7 +3119,7 @@ var Timer = class extends Clock {
|
|
|
3142
3119
|
this.id = !isUnd(id) ? id : timerId;
|
|
3143
3120
|
/** @type {Timeline} */
|
|
3144
3121
|
this.parent = parent;
|
|
3145
|
-
this.duration = clampInfinity((timerDuration + timerLoopDelay) * timerIterationCount - timerLoopDelay) ||
|
|
3122
|
+
this.duration = clampInfinity((timerDuration + timerLoopDelay) * timerIterationCount - timerLoopDelay) || 1e-11;
|
|
3146
3123
|
/** @type {Boolean} */
|
|
3147
3124
|
this.backwards = false;
|
|
3148
3125
|
/** @type {Boolean} */
|
|
@@ -3306,7 +3283,7 @@ var Timer = class extends Clock {
|
|
|
3306
3283
|
resume() {
|
|
3307
3284
|
if (!this.paused) return this;
|
|
3308
3285
|
this.paused = false;
|
|
3309
|
-
if (this.duration <=
|
|
3286
|
+
if (this.duration <= 1e-11 && !this._hasChildren) tick(this, minValue, 0, 0, tickModes.FORCE);
|
|
3310
3287
|
else {
|
|
3311
3288
|
if (!this._running) {
|
|
3312
3289
|
addChild(engine, this);
|
|
@@ -3423,7 +3400,6 @@ var Timer = class extends Clock {
|
|
|
3423
3400
|
});
|
|
3424
3401
|
}
|
|
3425
3402
|
};
|
|
3426
|
-
|
|
3427
3403
|
//#endregion
|
|
3428
3404
|
//#region node_modules/animejs/dist/modules/animation/animation.js
|
|
3429
3405
|
/**
|
|
@@ -3568,7 +3544,7 @@ var JSAnimation = class extends Timer {
|
|
|
3568
3544
|
const tDuration = hasSpring ? animEase.settlingDuration : setValue(duration, animDefaults.duration);
|
|
3569
3545
|
const tDelay = setValue(delay, animDefaults.delay);
|
|
3570
3546
|
const tModifier = modifier || animDefaults.modifier;
|
|
3571
|
-
const tComposition = isUnd(composition) && targetsLength >=
|
|
3547
|
+
const tComposition = isUnd(composition) && targetsLength >= 1e3 ? compositionTypes.none : !isUnd(composition) ? composition : animDefaults.composition;
|
|
3572
3548
|
const absoluteOffsetTime = this._offset + (parent ? parent._offset : 0);
|
|
3573
3549
|
if (hasSpring) /** @type {Spring} */ animEase.parent = this;
|
|
3574
3550
|
let iterationDuration = NaN;
|
|
@@ -3727,7 +3703,7 @@ var JSAnimation = class extends Timer {
|
|
|
3727
3703
|
shortestValue.d = longestValue.d.map((_, i) => isUnd(shortestValue.d[i]) ? 0 : shortestValue.d[i]);
|
|
3728
3704
|
shortestValue.s = cloneArray(longestValue.s);
|
|
3729
3705
|
}
|
|
3730
|
-
const tweenUpdateDuration = round$1(+tweenDuration ||
|
|
3706
|
+
const tweenUpdateDuration = round$1(+tweenDuration || 1e-11, 12);
|
|
3731
3707
|
let inlineValue = inlineStylesStore[propName];
|
|
3732
3708
|
if (!isNil(inlineValue)) inlineStylesStore[propName] = null;
|
|
3733
3709
|
/** @type {Tween} */
|
|
@@ -3813,7 +3789,7 @@ var JSAnimation = class extends Timer {
|
|
|
3813
3789
|
/** @type {String|Number} */
|
|
3814
3790
|
this.id = !isUnd(id) ? id : JSAnimationId;
|
|
3815
3791
|
/** @type {Number} */
|
|
3816
|
-
this.duration = iterationDuration ===
|
|
3792
|
+
this.duration = iterationDuration === 1e-11 ? minValue : clampInfinity((iterationDuration + this._loopDelay) * this.iterationCount - this._loopDelay) || 1e-11;
|
|
3817
3793
|
/** @type {Callback<this>} */
|
|
3818
3794
|
this.onRender = onRender || animDefaults.onRender;
|
|
3819
3795
|
/** @type {EasingFunction} */
|
|
@@ -3867,7 +3843,7 @@ var JSAnimation = class extends Timer {
|
|
|
3867
3843
|
}
|
|
3868
3844
|
}
|
|
3869
3845
|
});
|
|
3870
|
-
if (this.duration ===
|
|
3846
|
+
if (this.duration === 1e-11) this.restart();
|
|
3871
3847
|
return this;
|
|
3872
3848
|
}
|
|
3873
3849
|
/**
|
|
@@ -3895,7 +3871,6 @@ var JSAnimation = class extends Timer {
|
|
|
3895
3871
|
* @return {JSAnimation}
|
|
3896
3872
|
*/
|
|
3897
3873
|
const animate = (targets, parameters) => new JSAnimation(targets, parameters, null, 0, false).init();
|
|
3898
|
-
|
|
3899
3874
|
//#endregion
|
|
3900
3875
|
//#region node_modules/animejs/dist/modules/svg/helpers.js
|
|
3901
3876
|
/**
|
|
@@ -3918,7 +3893,6 @@ const getPath = (path) => {
|
|
|
3918
3893
|
if (!$parsedSvg || !isSvg($parsedSvg)) return console.warn(`${path} is not a valid SVGGeometryElement`);
|
|
3919
3894
|
return $parsedSvg;
|
|
3920
3895
|
};
|
|
3921
|
-
|
|
3922
3896
|
//#endregion
|
|
3923
3897
|
//#region node_modules/animejs/dist/modules/svg/morphto.js
|
|
3924
3898
|
/**
|
|
@@ -3967,7 +3941,6 @@ const morphTo = (path2, precision = .33) => ($path1) => {
|
|
|
3967
3941
|
$path1[morphPointsSymbol] = v2;
|
|
3968
3942
|
return [v1, v2];
|
|
3969
3943
|
};
|
|
3970
|
-
|
|
3971
3944
|
//#endregion
|
|
3972
3945
|
//#region src/utils/class-management.ts
|
|
3973
3946
|
/**
|
|
@@ -4090,7 +4063,6 @@ function toggleClass(elements, classList) {
|
|
|
4090
4063
|
element.classList.toggle(classItem);
|
|
4091
4064
|
}));
|
|
4092
4065
|
}
|
|
4093
|
-
|
|
4094
4066
|
//#endregion
|
|
4095
4067
|
//#region src/utils/get-date.ts
|
|
4096
4068
|
/** The current date as a Date object */
|
|
@@ -4373,13 +4345,11 @@ function getTimezone() {
|
|
|
4373
4345
|
const timezonePart = Intl.DateTimeFormat("en-US", { timeZoneName: "short" }).formatToParts(date).find((part) => part.type === "timeZoneName");
|
|
4374
4346
|
return timezonePart ? timezonePart.value : "";
|
|
4375
4347
|
}
|
|
4376
|
-
|
|
4377
4348
|
//#endregion
|
|
4378
4349
|
//#region src/utils/math.ts
|
|
4379
4350
|
function easeOutExpo(time, start, end, duration) {
|
|
4380
4351
|
return time == duration ? start + end : end * (-Math.pow(2, -10 * time / duration) + 1) + start;
|
|
4381
4352
|
}
|
|
4382
|
-
|
|
4383
4353
|
//#endregion
|
|
4384
4354
|
//#region src/utils/regex.ts
|
|
4385
4355
|
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,}))$/;
|
|
@@ -4398,7 +4368,6 @@ const telRegex = /(?:\+1\s|1\s|)?\d{3}\.\d{3}\.\d{4}|(?:\+1\s|1\s|)?\d{3}-\d{3}-
|
|
|
4398
4368
|
function isPhoneNumber(tel) {
|
|
4399
4369
|
return telRegex.test(tel);
|
|
4400
4370
|
}
|
|
4401
|
-
|
|
4402
4371
|
//#endregion
|
|
4403
4372
|
//#region src/utils/string-manipulation.ts
|
|
4404
4373
|
/**
|
|
@@ -4523,7 +4492,6 @@ function toTitleCase(string, delimiter = " ") {
|
|
|
4523
4492
|
if (typeof string !== "string") return string;
|
|
4524
4493
|
return string.toLowerCase().split(delimiter).map((str) => str.substring(0, 1).toUpperCase() + str.substring(1, str.length).toLowerCase()).join(" ");
|
|
4525
4494
|
}
|
|
4526
|
-
|
|
4527
4495
|
//#endregion
|
|
4528
4496
|
//#region src/components/chevron-up-down-anime.tsx
|
|
4529
4497
|
function ChevronUpDownAnime({ className, isUp = false }) {
|
|
@@ -4566,7 +4534,6 @@ function ChevronUpDownAnime({ className, isUp = false }) {
|
|
|
4566
4534
|
})]
|
|
4567
4535
|
});
|
|
4568
4536
|
}
|
|
4569
|
-
|
|
4570
4537
|
//#endregion
|
|
4571
4538
|
//#region src/components/details.tsx
|
|
4572
4539
|
function DetailsSummary({ arrow = true, children, className, onClick, ...props }) {
|
|
@@ -4590,7 +4557,7 @@ function DetailsSummary({ arrow = true, children, className, onClick, ...props }
|
|
|
4590
4557
|
function DetailsBody({ children, className, ...props }) {
|
|
4591
4558
|
return /* @__PURE__ */ jsx(DisclosurePanel, {
|
|
4592
4559
|
...props,
|
|
4593
|
-
className: twMerge("grid-rows-1fr transition-rows ease-exponential data-closed:grid-rows-0fr
|
|
4560
|
+
className: twMerge("grid grid-rows-1fr transition-rows duration-500 ease-exponential data-closed:grid-rows-0fr", className),
|
|
4594
4561
|
transition: true,
|
|
4595
4562
|
children: (bag) => /* @__PURE__ */ jsx("div", {
|
|
4596
4563
|
className: "overflow-y-hidden px-2 pbs-3 pbe-1",
|
|
@@ -4606,14 +4573,14 @@ function Details({ as = "div", className, ...props }) {
|
|
|
4606
4573
|
role: "details"
|
|
4607
4574
|
});
|
|
4608
4575
|
}
|
|
4609
|
-
|
|
4610
4576
|
//#endregion
|
|
4611
4577
|
//#region src/components/drop-down.tsx
|
|
4612
4578
|
function DropDownButton({ arrow = true, as, children, className, ...props }) {
|
|
4613
4579
|
return /* @__PURE__ */ jsx(MenuButton, {
|
|
4614
4580
|
...props,
|
|
4615
|
-
as
|
|
4616
|
-
className: twJoin("group/button", className),
|
|
4581
|
+
as,
|
|
4582
|
+
className: twJoin("group/button transition-transform duration-300 ease-exponential active:scale-95", className),
|
|
4583
|
+
onClick: () => console.log("here i am"),
|
|
4617
4584
|
children: (bag) => /* @__PURE__ */ jsxs(Fragment, { children: [typeof children === "function" ? children(bag) : children, arrow && (typeof arrow === "boolean" ? /* @__PURE__ */ jsx(ChevronUpDownAnime, {
|
|
4618
4585
|
className: "-mr-1",
|
|
4619
4586
|
isUp: bag.open
|
|
@@ -4646,7 +4613,7 @@ function DropDownItems({ anchor, children, className, containerClassName, style,
|
|
|
4646
4613
|
return /* @__PURE__ */ jsx(MenuItems, {
|
|
4647
4614
|
...props,
|
|
4648
4615
|
anchor: anchorProps,
|
|
4649
|
-
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
|
|
4616
|
+
className: twMerge("grid grid-rows-1fr rounded-xl shadow-xl transition-rows duration-500 ease-exponential not-data-open:not-data-enter:not-data-leave:grid-rows-0fr data-closed:grid-rows-0fr", containerClassName),
|
|
4650
4617
|
static: props.static,
|
|
4651
4618
|
style: {
|
|
4652
4619
|
...style,
|
|
@@ -4673,7 +4640,7 @@ function DropDownSection({ children, label, labelProps, separatorAbove, separato
|
|
|
4673
4640
|
separatorAbove && /* @__PURE__ */ jsx(DropDownSeparator, {}),
|
|
4674
4641
|
label && /* @__PURE__ */ jsx(MenuHeading, {
|
|
4675
4642
|
...restLabelProps,
|
|
4676
|
-
className: (headingBag) => twMerge("text-
|
|
4643
|
+
className: (headingBag) => twMerge("text-larger font-bold text-current/80", typeof labelClassName === "function" ? labelClassName(headingBag) : labelClassName),
|
|
4677
4644
|
children: label
|
|
4678
4645
|
}),
|
|
4679
4646
|
typeof children === "function" ? children(sectionBag) : children,
|
|
@@ -4688,12 +4655,21 @@ function DropDownSeparator({ as, className, ...props }) {
|
|
|
4688
4655
|
className: (bag) => twMerge("my-4 block h-px rounded-full bg-neutral-950/20", typeof className === "function" ? className(bag) : className)
|
|
4689
4656
|
});
|
|
4690
4657
|
}
|
|
4691
|
-
function DropDown(props) {
|
|
4692
|
-
return /* @__PURE__ */ jsx(Menu, {
|
|
4658
|
+
function DropDown({ as, ...props }) {
|
|
4659
|
+
return /* @__PURE__ */ jsx(Menu, {
|
|
4660
|
+
...props,
|
|
4661
|
+
as
|
|
4662
|
+
});
|
|
4693
4663
|
}
|
|
4694
|
-
|
|
4695
4664
|
//#endregion
|
|
4696
4665
|
//#region src/components/fieldset.tsx
|
|
4666
|
+
/**
|
|
4667
|
+
* # Fieldset
|
|
4668
|
+
*
|
|
4669
|
+
* @prop legend - The legend text to display above the fieldset.
|
|
4670
|
+
* @prop legendProps - Additional props to pass to the legend component.
|
|
4671
|
+
* @prop className - GOTCHA: The default className includes `contents`, to effectively remove it from the layout. Be sure to change the display style if you want to modify any other styles.
|
|
4672
|
+
*/
|
|
4697
4673
|
function Fieldset({ children, className, legend, legendProps, name, ...props }) {
|
|
4698
4674
|
const { className: legendClassName, ...restLegendProps } = legendProps || {};
|
|
4699
4675
|
name = legend || name;
|
|
@@ -4708,7 +4684,6 @@ function Fieldset({ children, className, legend, legendProps, name, ...props })
|
|
|
4708
4684
|
}), typeof children === "function" ? children(bag) : children] })
|
|
4709
4685
|
});
|
|
4710
4686
|
}
|
|
4711
|
-
|
|
4712
4687
|
//#endregion
|
|
4713
4688
|
//#region src/components/form.tsx
|
|
4714
4689
|
function Form({ children, className, ...props }) {
|
|
@@ -4718,7 +4693,6 @@ function Form({ children, className, ...props }) {
|
|
|
4718
4693
|
children
|
|
4719
4694
|
});
|
|
4720
4695
|
}
|
|
4721
|
-
|
|
4722
4696
|
//#endregion
|
|
4723
4697
|
//#region src/components/ghost.tsx
|
|
4724
4698
|
function Ghost({ children, className, ...props }) {
|
|
@@ -4728,7 +4702,6 @@ function Ghost({ children, className, ...props }) {
|
|
|
4728
4702
|
children: children || /* @__PURE__ */ jsx(Fragment, { children: "\xA0" })
|
|
4729
4703
|
});
|
|
4730
4704
|
}
|
|
4731
|
-
|
|
4732
4705
|
//#endregion
|
|
4733
4706
|
//#region src/components/heading.tsx
|
|
4734
4707
|
function getTextFromChildren(children) {
|
|
@@ -4766,7 +4739,6 @@ function Heading({ as = "h2", children, customize, className, id, ref, ...props
|
|
|
4766
4739
|
children
|
|
4767
4740
|
});
|
|
4768
4741
|
}
|
|
4769
|
-
|
|
4770
4742
|
//#endregion
|
|
4771
4743
|
//#region src/symbols/chevron.forward.tsx
|
|
4772
4744
|
function ChevronForward({ weight = "regular", ...props }) {
|
|
@@ -4818,7 +4790,6 @@ function ChevronForward({ weight = "regular", ...props }) {
|
|
|
4818
4790
|
});
|
|
4819
4791
|
}
|
|
4820
4792
|
}
|
|
4821
|
-
|
|
4822
4793
|
//#endregion
|
|
4823
4794
|
//#region node_modules/animejs/dist/modules/animatable/animatable.js
|
|
4824
4795
|
/**
|
|
@@ -4937,7 +4908,6 @@ var Animatable = class {
|
|
|
4937
4908
|
return this;
|
|
4938
4909
|
}
|
|
4939
4910
|
};
|
|
4940
|
-
|
|
4941
4911
|
//#endregion
|
|
4942
4912
|
//#region node_modules/animejs/dist/modules/utils/number.js
|
|
4943
4913
|
/**
|
|
@@ -4950,7 +4920,6 @@ var Animatable = class {
|
|
|
4950
4920
|
* @return {Number}
|
|
4951
4921
|
*/
|
|
4952
4922
|
const mapRange = (value, inLow, inHigh, outLow, outHigh) => outLow + (value - inLow) / (inHigh - inLow) * (outHigh - outLow);
|
|
4953
|
-
|
|
4954
4923
|
//#endregion
|
|
4955
4924
|
//#region node_modules/animejs/dist/modules/easings/spring/index.js
|
|
4956
4925
|
/**
|
|
@@ -5121,7 +5090,6 @@ var Spring = class {
|
|
|
5121
5090
|
* @returns {Spring}
|
|
5122
5091
|
*/
|
|
5123
5092
|
const spring = (parameters) => new Spring(parameters);
|
|
5124
|
-
|
|
5125
5093
|
//#endregion
|
|
5126
5094
|
//#region node_modules/animejs/dist/modules/utils/target.js
|
|
5127
5095
|
/**
|
|
@@ -5200,7 +5168,6 @@ const set = (targets, parameters) => {
|
|
|
5200
5168
|
parameters.composition = setValue(parameters.composition, compositionTypes.none);
|
|
5201
5169
|
return new JSAnimation(targets, parameters, null, 0, true).resume();
|
|
5202
5170
|
};
|
|
5203
|
-
|
|
5204
5171
|
//#endregion
|
|
5205
5172
|
//#region node_modules/animejs/dist/modules/draggable/draggable.js
|
|
5206
5173
|
/**
|
|
@@ -6384,7 +6351,6 @@ var Draggable = class {
|
|
|
6384
6351
|
* @return {Draggable}
|
|
6385
6352
|
*/
|
|
6386
6353
|
const createDraggable = (target, parameters) => new Draggable(target, parameters);
|
|
6387
|
-
|
|
6388
6354
|
//#endregion
|
|
6389
6355
|
//#region src/components/human-verification.tsx
|
|
6390
6356
|
function checkHashSecret([number, letter]) {
|
|
@@ -6491,9 +6457,30 @@ function generateHumanValidationToken() {
|
|
|
6491
6457
|
return char;
|
|
6492
6458
|
}).join("")}_${weekCode}`;
|
|
6493
6459
|
}
|
|
6494
|
-
function HumanVerification({ children = "Verify", className }) {
|
|
6460
|
+
function HumanVerification({ children = "Verify", className, ref }) {
|
|
6495
6461
|
const [dragProgress, setDragProgress] = useState(0);
|
|
6496
6462
|
const submitButtonRef = useRef(null), buttonRef = useRef(null), buttonContainerRef = useRef(null), draggableRef = useRef(null);
|
|
6463
|
+
const resetVerification = useEffectEvent(() => {
|
|
6464
|
+
setDragProgress(0);
|
|
6465
|
+
const draggable = draggableRef.current;
|
|
6466
|
+
if (draggable) {
|
|
6467
|
+
draggable.enable();
|
|
6468
|
+
draggable.setX(0);
|
|
6469
|
+
draggable.refresh();
|
|
6470
|
+
}
|
|
6471
|
+
(buttonRef.current?.closest("form"))?.querySelectorAll("input[name=\"human_verification_token\"]")?.forEach((input) => input.remove());
|
|
6472
|
+
});
|
|
6473
|
+
useEffect(() => {
|
|
6474
|
+
const form = buttonRef.current?.closest("form");
|
|
6475
|
+
if (!form) return;
|
|
6476
|
+
const controller = new AbortController();
|
|
6477
|
+
form.addEventListener("reset", () => {
|
|
6478
|
+
queueMicrotask(() => resetVerification());
|
|
6479
|
+
}, { signal: controller.signal });
|
|
6480
|
+
return () => {
|
|
6481
|
+
controller.abort();
|
|
6482
|
+
};
|
|
6483
|
+
}, []);
|
|
6497
6484
|
const handleTrySubmit = (x) => {
|
|
6498
6485
|
if (x > 239) {
|
|
6499
6486
|
const form = buttonRef.current?.closest("form");
|
|
@@ -6598,7 +6585,10 @@ function HumanVerification({ children = "Verify", className }) {
|
|
|
6598
6585
|
"aria-valuenow": dragProgress,
|
|
6599
6586
|
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",
|
|
6600
6587
|
onKeyDown: moveButton,
|
|
6601
|
-
ref:
|
|
6588
|
+
ref: (node) => {
|
|
6589
|
+
buttonRef.current = node;
|
|
6590
|
+
if (ref) ref.current = node;
|
|
6591
|
+
},
|
|
6602
6592
|
role: "slider",
|
|
6603
6593
|
type: "button",
|
|
6604
6594
|
children: /* @__PURE__ */ jsx(ChevronForward, { className: "inline-block h-4 overflow-visible fill-neutral-500 stroke-2" })
|
|
@@ -6633,7 +6623,6 @@ function HumanVerification({ children = "Verify", className }) {
|
|
|
6633
6623
|
]
|
|
6634
6624
|
});
|
|
6635
6625
|
}
|
|
6636
|
-
|
|
6637
6626
|
//#endregion
|
|
6638
6627
|
//#region src/components/iframe.tsx
|
|
6639
6628
|
const allAllowProperties = [
|
|
@@ -6702,7 +6691,6 @@ function IFrame({ allow, className, referrerPolicy = "no-referrer-when-downgrade
|
|
|
6702
6691
|
sandbox: sandbox?.join(" ")
|
|
6703
6692
|
});
|
|
6704
6693
|
}
|
|
6705
|
-
|
|
6706
6694
|
//#endregion
|
|
6707
6695
|
//#region src/components/input.tsx
|
|
6708
6696
|
/**
|
|
@@ -6726,75 +6714,22 @@ function Input({ children, className, description, descriptionProps: { className
|
|
|
6726
6714
|
children: [
|
|
6727
6715
|
label && /* @__PURE__ */ jsx(Label, {
|
|
6728
6716
|
...labelProps,
|
|
6729
|
-
className: (bag) => twMerge("text-sm font-medium", required ?
|
|
6717
|
+
className: (bag) => twMerge("text-sm font-medium", required ? `after:text-red-700 after:content-['_*']` : "", typeof labelClassName === "function" ? labelClassName(bag) : labelClassName),
|
|
6730
6718
|
children: label
|
|
6731
6719
|
}),
|
|
6732
6720
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Input$1, {
|
|
6733
6721
|
...props,
|
|
6734
|
-
className: (bag) => twMerge("
|
|
6722
|
+
className: (bag) => twMerge("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 ease-exponential corner-super-1.5 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),
|
|
6735
6723
|
required
|
|
6736
6724
|
}), children] }),
|
|
6737
6725
|
description && /* @__PURE__ */ jsx(Description, {
|
|
6738
6726
|
...descriptionProps,
|
|
6739
|
-
className: (bag) => twMerge("text-xs text-current/60", typeof descriptionClassName === "function" ? descriptionClassName(bag) : descriptionClassName),
|
|
6727
|
+
className: (bag) => twMerge("max-w-none text-xs text-current/60", typeof descriptionClassName === "function" ? descriptionClassName(bag) : descriptionClassName),
|
|
6740
6728
|
children: description
|
|
6741
6729
|
})
|
|
6742
6730
|
]
|
|
6743
6731
|
});
|
|
6744
6732
|
}
|
|
6745
|
-
|
|
6746
|
-
//#endregion
|
|
6747
|
-
//#region src/symbols/xmark.tsx
|
|
6748
|
-
function Xmark({ weight = "regular", ...props }) {
|
|
6749
|
-
switch (weight) {
|
|
6750
|
-
case "ultralight": return /* @__PURE__ */ jsx("svg", {
|
|
6751
|
-
viewBox: "9.64746 -64.0801 57.84 57.84",
|
|
6752
|
-
...props,
|
|
6753
|
-
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" })
|
|
6754
|
-
});
|
|
6755
|
-
case "thin": return /* @__PURE__ */ jsx("svg", {
|
|
6756
|
-
viewBox: "9.58594 -64.5723 58.82 58.8",
|
|
6757
|
-
...props,
|
|
6758
|
-
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" })
|
|
6759
|
-
});
|
|
6760
|
-
case "light": return /* @__PURE__ */ jsx("svg", {
|
|
6761
|
-
viewBox: "9.46582 -65.5332 60.72 60.69",
|
|
6762
|
-
...props,
|
|
6763
|
-
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" })
|
|
6764
|
-
});
|
|
6765
|
-
case "regular": return /* @__PURE__ */ jsx("svg", {
|
|
6766
|
-
viewBox: "9.375 -66.2598 62.16 62.11",
|
|
6767
|
-
...props,
|
|
6768
|
-
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" })
|
|
6769
|
-
});
|
|
6770
|
-
case "medium": return /* @__PURE__ */ jsx("svg", {
|
|
6771
|
-
viewBox: "9.30469 -66.7871 63.2 63.17",
|
|
6772
|
-
...props,
|
|
6773
|
-
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" })
|
|
6774
|
-
});
|
|
6775
|
-
case "semibold": return /* @__PURE__ */ jsx("svg", {
|
|
6776
|
-
viewBox: "9.25078 -67.1914 63.99 63.99",
|
|
6777
|
-
...props,
|
|
6778
|
-
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" })
|
|
6779
|
-
});
|
|
6780
|
-
case "bold": return /* @__PURE__ */ jsx("svg", {
|
|
6781
|
-
viewBox: "9.17969 -67.7246 65.04 65.06",
|
|
6782
|
-
...props,
|
|
6783
|
-
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" })
|
|
6784
|
-
});
|
|
6785
|
-
case "heavy": return /* @__PURE__ */ jsx("svg", {
|
|
6786
|
-
viewBox: "9.05079 -68.498 66.61 66.62",
|
|
6787
|
-
...props,
|
|
6788
|
-
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" })
|
|
6789
|
-
});
|
|
6790
|
-
case "black": return /* @__PURE__ */ jsx("svg", {
|
|
6791
|
-
viewBox: "8.93555 -69.1895 68.02 68.02",
|
|
6792
|
-
...props,
|
|
6793
|
-
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" })
|
|
6794
|
-
});
|
|
6795
|
-
}
|
|
6796
|
-
}
|
|
6797
|
-
|
|
6798
6733
|
//#endregion
|
|
6799
6734
|
//#region src/hooks/create-fast-context.tsx
|
|
6800
6735
|
function createFastContext(defaultInitialState) {
|
|
@@ -6836,7 +6771,6 @@ function createFastContext(defaultInitialState) {
|
|
|
6836
6771
|
useStore
|
|
6837
6772
|
};
|
|
6838
6773
|
}
|
|
6839
|
-
|
|
6840
6774
|
//#endregion
|
|
6841
6775
|
//#region src/hooks/use-form-status.tsx
|
|
6842
6776
|
const DEFAULT_STATUS = "incomplete";
|
|
@@ -6850,7 +6784,6 @@ function FormStatusProvider({ children, initialStatus = DEFAULT_STATUS }) {
|
|
|
6850
6784
|
function useFormStatus() {
|
|
6851
6785
|
return useStore((store) => store);
|
|
6852
6786
|
}
|
|
6853
|
-
|
|
6854
6787
|
//#endregion
|
|
6855
6788
|
//#region src/hooks/use-pointer-movement.ts
|
|
6856
6789
|
function usePointerMovement(props) {
|
|
@@ -6964,18 +6897,81 @@ function usePointerMovement(props) {
|
|
|
6964
6897
|
trackPointerMovement
|
|
6965
6898
|
};
|
|
6966
6899
|
}
|
|
6967
|
-
|
|
6900
|
+
//#endregion
|
|
6901
|
+
//#region src/hooks/use-mobile-device.ts
|
|
6902
|
+
function useMobileDevice() {
|
|
6903
|
+
const [isMobileDevice, setIsMobileDevice] = useState(false);
|
|
6904
|
+
const onRun = () => {
|
|
6905
|
+
const hasTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, hasSmallViewport = window.innerWidth < 500;
|
|
6906
|
+
setIsMobileDevice(hasTouch || hasSmallViewport);
|
|
6907
|
+
};
|
|
6908
|
+
useEffect(() => {
|
|
6909
|
+
if (typeof window !== "undefined") onRun();
|
|
6910
|
+
}, []);
|
|
6911
|
+
return isMobileDevice;
|
|
6912
|
+
}
|
|
6913
|
+
//#endregion
|
|
6914
|
+
//#region src/symbols/xmark.tsx
|
|
6915
|
+
function Xmark({ weight = "regular", ...props }) {
|
|
6916
|
+
switch (weight) {
|
|
6917
|
+
case "ultralight": return /* @__PURE__ */ jsx("svg", {
|
|
6918
|
+
viewBox: "9.64746 -64.0801 57.84 57.84",
|
|
6919
|
+
...props,
|
|
6920
|
+
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" })
|
|
6921
|
+
});
|
|
6922
|
+
case "thin": return /* @__PURE__ */ jsx("svg", {
|
|
6923
|
+
viewBox: "9.58594 -64.5723 58.82 58.8",
|
|
6924
|
+
...props,
|
|
6925
|
+
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" })
|
|
6926
|
+
});
|
|
6927
|
+
case "light": return /* @__PURE__ */ jsx("svg", {
|
|
6928
|
+
viewBox: "9.46582 -65.5332 60.72 60.69",
|
|
6929
|
+
...props,
|
|
6930
|
+
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" })
|
|
6931
|
+
});
|
|
6932
|
+
case "regular": return /* @__PURE__ */ jsx("svg", {
|
|
6933
|
+
viewBox: "9.375 -66.2598 62.16 62.11",
|
|
6934
|
+
...props,
|
|
6935
|
+
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" })
|
|
6936
|
+
});
|
|
6937
|
+
case "medium": return /* @__PURE__ */ jsx("svg", {
|
|
6938
|
+
viewBox: "9.30469 -66.7871 63.2 63.17",
|
|
6939
|
+
...props,
|
|
6940
|
+
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" })
|
|
6941
|
+
});
|
|
6942
|
+
case "semibold": return /* @__PURE__ */ jsx("svg", {
|
|
6943
|
+
viewBox: "9.25078 -67.1914 63.99 63.99",
|
|
6944
|
+
...props,
|
|
6945
|
+
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" })
|
|
6946
|
+
});
|
|
6947
|
+
case "bold": return /* @__PURE__ */ jsx("svg", {
|
|
6948
|
+
viewBox: "9.17969 -67.7246 65.04 65.06",
|
|
6949
|
+
...props,
|
|
6950
|
+
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" })
|
|
6951
|
+
});
|
|
6952
|
+
case "heavy": return /* @__PURE__ */ jsx("svg", {
|
|
6953
|
+
viewBox: "9.05079 -68.498 66.61 66.62",
|
|
6954
|
+
...props,
|
|
6955
|
+
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" })
|
|
6956
|
+
});
|
|
6957
|
+
case "black": return /* @__PURE__ */ jsx("svg", {
|
|
6958
|
+
viewBox: "8.93555 -69.1895 68.02 68.02",
|
|
6959
|
+
...props,
|
|
6960
|
+
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" })
|
|
6961
|
+
});
|
|
6962
|
+
}
|
|
6963
|
+
}
|
|
6968
6964
|
//#endregion
|
|
6969
6965
|
//#region src/components/modal.tsx
|
|
6966
|
+
const DRAG_TO_CLOSE_PROGRESS = .5;
|
|
6970
6967
|
const { Provider: ModalControlsProvider, useStore: useModalControls } = createFastContext({
|
|
6968
|
+
closeModal: () => {},
|
|
6969
|
+
dialogPanelRef: { current: null },
|
|
6971
6970
|
isOpen: false,
|
|
6972
6971
|
openModal: () => {},
|
|
6973
|
-
closeModal: () => {},
|
|
6974
6972
|
place: "bottom",
|
|
6975
|
-
|
|
6976
|
-
|
|
6977
|
-
enableMouseClose: () => {},
|
|
6978
|
-
dialogPanelRef: { current: null }
|
|
6973
|
+
pseudoContainerRef: { current: null },
|
|
6974
|
+
readyToClose: false
|
|
6979
6975
|
});
|
|
6980
6976
|
function ModalTrigger({ as, onClick, ...props }) {
|
|
6981
6977
|
const ModalTriggerElement = as || Button$1;
|
|
@@ -6991,78 +6987,182 @@ function ModalTrigger({ as, onClick, ...props }) {
|
|
|
6991
6987
|
onClick: handleClick
|
|
6992
6988
|
});
|
|
6993
6989
|
}
|
|
6994
|
-
function ModalTitle(props) {
|
|
6995
|
-
return /* @__PURE__ */ jsx(DialogTitle, {
|
|
6990
|
+
function ModalTitle({ as, ref, ...props }) {
|
|
6991
|
+
return /* @__PURE__ */ jsx(DialogTitle, {
|
|
6992
|
+
...props,
|
|
6993
|
+
as,
|
|
6994
|
+
ref
|
|
6995
|
+
});
|
|
6996
6996
|
}
|
|
6997
6997
|
function ModalDialog(props) {
|
|
6998
|
-
const [modalControls] = useModalControls((store) => store);
|
|
6999
|
-
const {
|
|
7000
|
-
|
|
7001
|
-
|
|
7002
|
-
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
enableMouseClose: () => {},
|
|
7006
|
-
enableTouchClose: () => {},
|
|
7007
|
-
dialogPanelRef: { current: null }
|
|
6998
|
+
const [modalControls, setModalControls] = useModalControls((store) => store), isMobileDevice = useMobileDevice();
|
|
6999
|
+
const { className, closeModal, dialogPanelRef, isOpen, place, pseudoContainerRef, readyToClose } = modalControls || {};
|
|
7000
|
+
const [dialogPanelEl, setDialogPanelEl] = useState(null);
|
|
7001
|
+
const [draggableTriggerEl, setDraggableTriggerEl] = useState(null);
|
|
7002
|
+
const setDialogPanelRef = (node) => {
|
|
7003
|
+
setDialogPanelEl(node);
|
|
7004
|
+
if (dialogPanelRef) dialogPanelRef.current = node;
|
|
7008
7005
|
};
|
|
7006
|
+
const setDraggableTriggerRef = (node) => {
|
|
7007
|
+
setDraggableTriggerEl(node);
|
|
7008
|
+
};
|
|
7009
|
+
const readyToCloseRef = useRef(readyToClose);
|
|
7010
|
+
function setUpDraggable({ dialogPanel, draggableTrigger, pseudoContainer }) {
|
|
7011
|
+
createDraggable(dialogPanel, {
|
|
7012
|
+
container: pseudoContainer,
|
|
7013
|
+
containerFriction: .99,
|
|
7014
|
+
onRelease: (draggable) => {
|
|
7015
|
+
if (readyToCloseRef.current) return closeModal?.();
|
|
7016
|
+
if (draggable.y >= 1) {
|
|
7017
|
+
const coord = { yCoord: draggable.y };
|
|
7018
|
+
animate(coord, {
|
|
7019
|
+
yCoord: 0,
|
|
7020
|
+
duration: 500,
|
|
7021
|
+
ease: spring({ duration: 300 }),
|
|
7022
|
+
composition: "blend",
|
|
7023
|
+
onUpdate: () => {
|
|
7024
|
+
draggable.setY(coord.yCoord);
|
|
7025
|
+
}
|
|
7026
|
+
});
|
|
7027
|
+
}
|
|
7028
|
+
},
|
|
7029
|
+
onUpdate: ({ progressY }) => {
|
|
7030
|
+
if (!setModalControls) return;
|
|
7031
|
+
if (progressY >= DRAG_TO_CLOSE_PROGRESS && !readyToCloseRef.current) {
|
|
7032
|
+
readyToCloseRef.current = true;
|
|
7033
|
+
setModalControls((prev) => ({
|
|
7034
|
+
...prev,
|
|
7035
|
+
readyToClose: true
|
|
7036
|
+
}));
|
|
7037
|
+
}
|
|
7038
|
+
if (progressY < DRAG_TO_CLOSE_PROGRESS && readyToCloseRef.current) {
|
|
7039
|
+
readyToCloseRef.current = false;
|
|
7040
|
+
setModalControls((prev) => ({
|
|
7041
|
+
...prev,
|
|
7042
|
+
readyToClose: false
|
|
7043
|
+
}));
|
|
7044
|
+
}
|
|
7045
|
+
},
|
|
7046
|
+
trigger: draggableTrigger
|
|
7047
|
+
});
|
|
7048
|
+
}
|
|
7049
|
+
const onDraggable = useEffectEvent(({ dialogPanel, draggableTrigger }) => {
|
|
7050
|
+
if (!pseudoContainerRef) return;
|
|
7051
|
+
const { top, left, width } = dialogPanel.getBoundingClientRect();
|
|
7052
|
+
pseudoContainerRef.current = document.createElement("div");
|
|
7053
|
+
const pseudoContainer = pseudoContainerRef.current;
|
|
7054
|
+
pseudoContainer.style.position = "fixed";
|
|
7055
|
+
pseudoContainer.style.top = `${top}px`;
|
|
7056
|
+
pseudoContainer.style.left = `${left}px`;
|
|
7057
|
+
pseudoContainer.style.width = `${width}px`;
|
|
7058
|
+
pseudoContainer.style.height = `100dvh`;
|
|
7059
|
+
pseudoContainer.style.zIndex = "-1";
|
|
7060
|
+
pseudoContainer.style.border = "2px solid blue";
|
|
7061
|
+
document.body.appendChild(pseudoContainer);
|
|
7062
|
+
animate(dialogPanel, {
|
|
7063
|
+
...isMobileDevice ? {
|
|
7064
|
+
y: ["100lvh", 0],
|
|
7065
|
+
ease: "outExpo",
|
|
7066
|
+
duration: 500
|
|
7067
|
+
} : { keyframes: [
|
|
7068
|
+
{
|
|
7069
|
+
opacity: [0, 1],
|
|
7070
|
+
scale: [.5, .85],
|
|
7071
|
+
y: ["10rem", "9rem"],
|
|
7072
|
+
ease: "inExpo",
|
|
7073
|
+
duration: 250
|
|
7074
|
+
},
|
|
7075
|
+
{
|
|
7076
|
+
scale: [.85, 1],
|
|
7077
|
+
y: ["9rem", "0rem"],
|
|
7078
|
+
ease: "outExpo",
|
|
7079
|
+
duration: 500
|
|
7080
|
+
},
|
|
7081
|
+
{
|
|
7082
|
+
y: "0px",
|
|
7083
|
+
duration: 0
|
|
7084
|
+
}
|
|
7085
|
+
] },
|
|
7086
|
+
onComplete: () => setUpDraggable({
|
|
7087
|
+
dialogPanel,
|
|
7088
|
+
draggableTrigger,
|
|
7089
|
+
pseudoContainer
|
|
7090
|
+
})
|
|
7091
|
+
});
|
|
7092
|
+
});
|
|
7093
|
+
useEffect(() => {
|
|
7094
|
+
if (isOpen && dialogPanelEl && draggableTriggerEl) onDraggable({
|
|
7095
|
+
dialogPanel: dialogPanelEl,
|
|
7096
|
+
draggableTrigger: draggableTriggerEl
|
|
7097
|
+
});
|
|
7098
|
+
}, [
|
|
7099
|
+
isOpen,
|
|
7100
|
+
dialogPanelEl,
|
|
7101
|
+
draggableTriggerEl
|
|
7102
|
+
]);
|
|
7009
7103
|
return /* @__PURE__ */ jsxs(Dialog, {
|
|
7010
7104
|
open: isOpen,
|
|
7011
|
-
onClose: () =>
|
|
7105
|
+
onClose: closeModal || (() => void 0),
|
|
7012
7106
|
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(" "),
|
|
7013
7107
|
children: [/* @__PURE__ */ jsx(DialogBackdrop, {
|
|
7014
7108
|
transition: true,
|
|
7015
|
-
|
|
7016
|
-
|
|
7109
|
+
...readyToClose ? { "data-ready": "" } : {},
|
|
7110
|
+
className: "fixed inset-0 cursor-pointer bg-neutral-50/25 backdrop-blur-sm transition-[opacity,background-color,backdrop-filter,-webkit-backdrop-filter] delay-100 duration-750 ease-exponential data-closed:opacity-0 data-ready:bg-neutral-50/5 data-ready:backdrop-blur-[1px] dark:bg-neutral-950/25 dark:data-ready:bg-neutral-950/5",
|
|
7111
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
7017
7112
|
padding: "none",
|
|
7018
7113
|
rounded: "full",
|
|
7019
|
-
className: "group/button fixed top-4 right-4 size-7
|
|
7020
|
-
children: /* @__PURE__ */ jsxs("
|
|
7021
|
-
className: "
|
|
7022
|
-
children: [/* @__PURE__ */
|
|
7023
|
-
className: "
|
|
7024
|
-
children:
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
})
|
|
7029
|
-
})
|
|
7114
|
+
className: "group/button fixed top-4 right-4 grid size-7 grid-cols-[1fr_calc(var(--spacing)*7)] gap-0 transition-[background-color,background-position-y,scale,grid-template-columns] pointer-fine:grid-cols-[0fr_calc(var(--spacing)*7)] pointer-fine:hover:grid-cols-[1fr_calc(var(--spacing)*7)]",
|
|
7115
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
7116
|
+
className: "block overflow-x-hidden text-center text-xs leading-none uppercase",
|
|
7117
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
7118
|
+
className: "ps-2",
|
|
7119
|
+
children: "Close"
|
|
7120
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
7121
|
+
className: "sr-only",
|
|
7122
|
+
children: "Modal"
|
|
7123
|
+
})]
|
|
7124
|
+
}), /* @__PURE__ */ jsx(Xmark, { className: "mx-auto size-3.5 rotate-90 transition-transform duration-300 ease-in-out group-hover/button:rotate-0" })]
|
|
7030
7125
|
})
|
|
7031
7126
|
}), /* @__PURE__ */ jsxs(DialogPanel, {
|
|
7032
|
-
ref:
|
|
7033
|
-
|
|
7034
|
-
|
|
7127
|
+
ref: setDialogPanelRef,
|
|
7128
|
+
className: twMerge("fixed left-1/2 w-screen -translate-x-1/2 bg-neutral-50 px-4 shadow-[0_-15px_50px_-12px] shadow-neutral-950/25 ease-exponential sm:w-[calc(100vw-2rem)] sm:max-w-fit sm:px-6 sm:shadow-2xl lg:px-8 dark:bg-neutral-900", place === "center" ? "top-1/2 -translate-y-1/2 rounded-2xl" : "bottom-0 h-fit max-h-[calc(100dvh-4rem)] translate-y-0 rounded-ss-4xl rounded-se-4xl after:absolute after:inset-x-0 after:-bottom-64 after:h-64 after:bg-inherit sm:top-1/2 sm:bottom-auto sm:-translate-y-1/2 sm:rounded-ee-4xl sm:rounded-es-4xl sm:after:hidden pointer-fine:top-1/2 pointer-fine:bottom-auto pointer-fine:-translate-y-1/2 pointer-fine:rounded-3xl", className),
|
|
7129
|
+
style: isMobileDevice ? void 0 : { opacity: 0 },
|
|
7035
7130
|
children: [/* @__PURE__ */ jsx("button", {
|
|
7036
|
-
className:
|
|
7037
|
-
|
|
7038
|
-
|
|
7131
|
+
className: "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:bg-neutral-500/50 after:transition-[scale,background-color] after:duration-500 after:ease-exponential active:cursor-grabbing active:after:scale-x-150 active:after:scale-y-125 active:after:bg-neutral-500 data-ready:after:scale-x-200 data-ready:after:scale-y-200 data-ready:after:bg-(--base-theme-color) 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 data-ready:pointer-fine:hover:after:scale-x-200 data-ready:pointer-fine:hover:after:scale-y-200 data-ready:pointer-fine:hover:after:bg-(--base-theme-color) data-ready:pointer-fine:active:after:scale-x-200 data-ready:pointer-fine:active:after:scale-y-200 data-ready:pointer-fine:active:after:bg-(--base-theme-color)",
|
|
7132
|
+
...readyToClose ? { "data-ready": "" } : {},
|
|
7133
|
+
ref: setDraggableTriggerRef,
|
|
7039
7134
|
type: "button",
|
|
7040
7135
|
children: /* @__PURE__ */ jsx("span", {
|
|
7041
7136
|
className: "sr-only",
|
|
7042
7137
|
children: "Drag down to close"
|
|
7043
7138
|
})
|
|
7044
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
7139
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
7140
|
+
className: "overflow-y-scroll",
|
|
7141
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
7142
|
+
...props,
|
|
7143
|
+
className: "py-4 sm:py-6 lg:py-8"
|
|
7144
|
+
})
|
|
7145
|
+
})]
|
|
7045
7146
|
})]
|
|
7046
7147
|
});
|
|
7047
7148
|
}
|
|
7048
|
-
function ModalClose({ as, ...props }) {
|
|
7049
|
-
|
|
7149
|
+
function ModalClose({ as, onClick, ...props }) {
|
|
7150
|
+
const ModalCloseElement = as || Button$1;
|
|
7151
|
+
const [modalControls] = useModalControls((store) => store);
|
|
7152
|
+
const { closeModal } = modalControls || { closeModal: () => {} };
|
|
7153
|
+
const handleClick = (e) => {
|
|
7154
|
+
onClick?.(e);
|
|
7155
|
+
if (!e.defaultPrevented) closeModal();
|
|
7156
|
+
};
|
|
7157
|
+
return /* @__PURE__ */ jsx(ModalCloseElement, {
|
|
7158
|
+
...props,
|
|
7159
|
+
onClick: handleClick
|
|
7160
|
+
});
|
|
7050
7161
|
}
|
|
7051
7162
|
function ModalDisplay({ children, className, onClose, onOpen, place = "bottom" }) {
|
|
7052
|
-
const [
|
|
7053
|
-
const onVisible = useEffectEvent(() => {
|
|
7054
|
-
setBodyElement(document.body);
|
|
7055
|
-
});
|
|
7056
|
-
useEffect(() => {
|
|
7057
|
-
if (typeof window !== "undefined") onVisible();
|
|
7058
|
-
}, []);
|
|
7059
|
-
const [, setModalControls] = useModalControls(() => null);
|
|
7163
|
+
const [modalControls, setModalControls] = useModalControls((store) => store), isMobileDevice = useMobileDevice();
|
|
7060
7164
|
const [isOpen, setIsOpen] = useState(false);
|
|
7061
|
-
const
|
|
7062
|
-
x: 0,
|
|
7063
|
-
y: 0
|
|
7064
|
-
}), localDialogPanelRef = useRef(null);
|
|
7065
|
-
const [allowDragClose, setAllowDragClose] = useState(false), [readyToClose, setReadyToClose] = useState(false);
|
|
7165
|
+
const localDialogPanelRef = useRef(null);
|
|
7066
7166
|
const openModal = () => {
|
|
7067
7167
|
setIsOpen((previous) => {
|
|
7068
7168
|
if (previous) return previous;
|
|
@@ -7070,67 +7170,47 @@ function ModalDisplay({ children, className, onClose, onOpen, place = "bottom" }
|
|
|
7070
7170
|
return true;
|
|
7071
7171
|
});
|
|
7072
7172
|
};
|
|
7173
|
+
const closeFunctions = () => {
|
|
7174
|
+
onClose?.();
|
|
7175
|
+
modalControls?.pseudoContainerRef?.current?.remove();
|
|
7176
|
+
setModalControls?.((previous) => ({
|
|
7177
|
+
...previous,
|
|
7178
|
+
pseudoContainerRef: { current: null },
|
|
7179
|
+
readyToClose: false
|
|
7180
|
+
}));
|
|
7181
|
+
};
|
|
7182
|
+
const mobileAnimation = {
|
|
7183
|
+
y: "100%",
|
|
7184
|
+
ease: "outExpo",
|
|
7185
|
+
duration: 500
|
|
7186
|
+
};
|
|
7187
|
+
const desktopAnimation = {
|
|
7188
|
+
opacity: 0,
|
|
7189
|
+
scale: .5,
|
|
7190
|
+
ease: "outExpo",
|
|
7191
|
+
duration: 500
|
|
7192
|
+
};
|
|
7193
|
+
const handleClose = () => {
|
|
7194
|
+
if (!localDialogPanelRef.current) return closeFunctions();
|
|
7195
|
+
animate(localDialogPanelRef.current, {
|
|
7196
|
+
...isMobileDevice ? mobileAnimation : desktopAnimation,
|
|
7197
|
+
composition: "blend",
|
|
7198
|
+
onComplete: closeFunctions
|
|
7199
|
+
});
|
|
7200
|
+
};
|
|
7073
7201
|
const closeModal = () => {
|
|
7074
7202
|
setIsOpen((previous) => {
|
|
7075
7203
|
if (!previous) return previous;
|
|
7076
|
-
|
|
7204
|
+
handleClose();
|
|
7077
7205
|
return false;
|
|
7078
7206
|
});
|
|
7079
7207
|
};
|
|
7080
|
-
const enableClose = (clientX, clientY) => {
|
|
7081
|
-
startDragCoords.current.x = clientX;
|
|
7082
|
-
startDragCoords.current.y = clientY;
|
|
7083
|
-
if (localDialogPanelRef.current) localDialogPanelRef.current.style.transitionDuration = "0s";
|
|
7084
|
-
setAllowDragClose(true);
|
|
7085
|
-
};
|
|
7086
|
-
const enableTouchClose = (e) => {
|
|
7087
|
-
const { touches } = e, { clientY } = touches[0];
|
|
7088
|
-
enableClose(0, clientY);
|
|
7089
|
-
};
|
|
7090
|
-
const enableMouseClose = (e) => {
|
|
7091
|
-
const { clientX, clientY } = e;
|
|
7092
|
-
enableClose(clientX, clientY);
|
|
7093
|
-
};
|
|
7094
|
-
const handleMove = (clientX, clientY) => {
|
|
7095
|
-
if (!localDialogPanelRef.current) return;
|
|
7096
|
-
let deltaX = clientX - startDragCoords.current.x, deltaY = clientY - startDragCoords.current.y;
|
|
7097
|
-
if (deltaX > 0) deltaX = easeOutExpo(Math.abs(deltaX), 0, 25, 5e3);
|
|
7098
|
-
if (deltaX < 0) deltaX = -easeOutExpo(Math.abs(deltaX), 0, 25, 5e3);
|
|
7099
|
-
if (deltaY < 0) deltaY = -easeOutExpo(Math.abs(deltaY), 0, 25, 2e3);
|
|
7100
|
-
if (deltaY >= 100 && !readyToClose) setReadyToClose(true);
|
|
7101
|
-
else if (deltaY < 100 && readyToClose) setReadyToClose(false);
|
|
7102
|
-
const greaterThanMediaSmall = innerWidth > 640;
|
|
7103
|
-
localDialogPanelRef.current.style.translate = `calc(-50% + ${deltaX}px) ${greaterThanMediaSmall ? `calc(-50% + ${deltaY}px)` : `${deltaY}px`}`;
|
|
7104
|
-
};
|
|
7105
|
-
const handleMouseMove = (e) => {
|
|
7106
|
-
if (!allowDragClose) return;
|
|
7107
|
-
const { clientX, clientY } = e;
|
|
7108
|
-
handleMove(clientX, clientY);
|
|
7109
|
-
};
|
|
7110
|
-
const disableDragClose = (clientY) => {
|
|
7111
|
-
const deltaY = clientY - startDragCoords.current.y;
|
|
7112
|
-
if (localDialogPanelRef.current) localDialogPanelRef.current.style.transitionDuration = "";
|
|
7113
|
-
if (deltaY >= 100) {
|
|
7114
|
-
closeModal();
|
|
7115
|
-
setReadyToClose(false);
|
|
7116
|
-
} else setTimeout(() => {
|
|
7117
|
-
if (localDialogPanelRef.current) localDialogPanelRef.current.style.removeProperty("translate");
|
|
7118
|
-
}, 50);
|
|
7119
|
-
};
|
|
7120
|
-
const disableMouseDragClose = (e) => {
|
|
7121
|
-
if (allowDragClose) setAllowDragClose(false);
|
|
7122
|
-
const { clientY } = e;
|
|
7123
|
-
disableDragClose(clientY);
|
|
7124
|
-
};
|
|
7125
7208
|
useEffect(() => {
|
|
7126
7209
|
setModalControls?.((previous) => ({
|
|
7127
7210
|
...previous,
|
|
7128
7211
|
isOpen,
|
|
7129
|
-
readyToClose,
|
|
7130
7212
|
place,
|
|
7131
7213
|
className,
|
|
7132
|
-
enableMouseClose,
|
|
7133
|
-
enableTouchClose,
|
|
7134
7214
|
openModal,
|
|
7135
7215
|
closeModal,
|
|
7136
7216
|
dialogPanelRef: localDialogPanelRef
|
|
@@ -7138,25 +7218,16 @@ function ModalDisplay({ children, className, onClose, onOpen, place = "bottom" }
|
|
|
7138
7218
|
}, [
|
|
7139
7219
|
className,
|
|
7140
7220
|
closeModal,
|
|
7141
|
-
enableMouseClose,
|
|
7142
|
-
enableTouchClose,
|
|
7143
7221
|
isOpen,
|
|
7144
7222
|
openModal,
|
|
7145
7223
|
place,
|
|
7146
|
-
readyToClose,
|
|
7147
7224
|
setModalControls
|
|
7148
7225
|
]);
|
|
7149
|
-
return /* @__PURE__ */
|
|
7150
|
-
ref: dragMoveBoxRef,
|
|
7151
|
-
className: "fixed inset-0 z-99 h-dvh w-screen bg-transparent active:cursor-grabbing pointer-coarse:hidden",
|
|
7152
|
-
onMouseMove: handleMouseMove,
|
|
7153
|
-
onMouseUp: disableMouseDragClose
|
|
7154
|
-
}), bodyElement), children] });
|
|
7226
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
7155
7227
|
}
|
|
7156
7228
|
function Modal(props) {
|
|
7157
7229
|
return /* @__PURE__ */ jsx(ModalControlsProvider, { children: /* @__PURE__ */ jsx(ModalDisplay, { ...props }) });
|
|
7158
7230
|
}
|
|
7159
|
-
|
|
7160
7231
|
//#endregion
|
|
7161
7232
|
//#region src/symbols/chevron.up.chevron.down.tsx
|
|
7162
7233
|
function ChevronUpChevronDown({ weight = "regular", ...props }) {
|
|
@@ -7208,7 +7279,6 @@ function ChevronUpChevronDown({ weight = "regular", ...props }) {
|
|
|
7208
7279
|
});
|
|
7209
7280
|
}
|
|
7210
7281
|
}
|
|
7211
|
-
|
|
7212
7282
|
//#endregion
|
|
7213
7283
|
//#region src/components/select.tsx
|
|
7214
7284
|
/**
|
|
@@ -7234,10 +7304,10 @@ function SelectOption({ children, className, name, ...props }) {
|
|
|
7234
7304
|
className: "group/option contents",
|
|
7235
7305
|
...props,
|
|
7236
7306
|
children: (bag) => bag.selectedOption ? /* @__PURE__ */ jsx("span", {
|
|
7237
|
-
className:
|
|
7307
|
+
className: `mr-3 before:absolute before:-left-3 before:content-[',_']`,
|
|
7238
7308
|
children: name
|
|
7239
7309
|
}) : /* @__PURE__ */ jsxs("div", {
|
|
7240
|
-
className: twMerge("
|
|
7310
|
+
className: twMerge("flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1 transition-[background-color] duration-200 ease-exponential select-none [--theme-color:var(--base-theme-color)] corner-super-1.5 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),
|
|
7241
7311
|
children: [/* @__PURE__ */ jsx(Checkmark, { className: "invisible size-3.5 group-data-selected/option:visible" }), typeof children === "function" ? children(bag) : children]
|
|
7242
7312
|
})
|
|
7243
7313
|
});
|
|
@@ -7284,7 +7354,7 @@ function Select({ buttonProps, children, className, description, descriptionProp
|
|
|
7284
7354
|
children: [
|
|
7285
7355
|
label && /* @__PURE__ */ jsx(Label, {
|
|
7286
7356
|
...labelProps,
|
|
7287
|
-
className: (bag) => twMerge("text-sm font-medium", required ?
|
|
7357
|
+
className: (bag) => twMerge("text-sm font-medium", required ? `after:text-red-700 after:content-['_*']` : "", typeof labelClassName === "function" ? labelClassName(bag) : labelClassName),
|
|
7288
7358
|
children: label
|
|
7289
7359
|
}),
|
|
7290
7360
|
/* @__PURE__ */ jsxs(Listbox, {
|
|
@@ -7293,14 +7363,14 @@ function Select({ buttonProps, children, className, description, descriptionProp
|
|
|
7293
7363
|
onChange: handleChange,
|
|
7294
7364
|
children: [/* @__PURE__ */ jsxs(ListboxButton, {
|
|
7295
7365
|
...buttonProps,
|
|
7296
|
-
className: (bag) => twMerge("
|
|
7366
|
+
className: (bag) => twMerge("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 ease-exponential corner-super-1.5 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),
|
|
7297
7367
|
ref: listboxButtonRef,
|
|
7298
7368
|
children: [
|
|
7299
7369
|
/* @__PURE__ */ jsx("input", {
|
|
7300
7370
|
"aria-hidden": "true",
|
|
7301
7371
|
className: "sr-only top-0 left-1/2",
|
|
7302
7372
|
id: props.name + ":input:id" + uniqueId,
|
|
7303
|
-
name: props.name
|
|
7373
|
+
name: props.name,
|
|
7304
7374
|
onChange: () => {},
|
|
7305
7375
|
onInvalid: handleInvalid,
|
|
7306
7376
|
onFocus: refocus,
|
|
@@ -7321,7 +7391,7 @@ function Select({ buttonProps, children, className, description, descriptionProp
|
|
|
7321
7391
|
}), /* @__PURE__ */ jsx(ListboxOptions, {
|
|
7322
7392
|
...optionsProps,
|
|
7323
7393
|
anchor: anchor || "bottom start",
|
|
7324
|
-
className: (bag) => twMerge("
|
|
7394
|
+
className: (bag) => twMerge("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 ease-exponential [--anchor-gap:--spacing(1)] corner-super-1.5 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),
|
|
7325
7395
|
transition: transition || true,
|
|
7326
7396
|
children
|
|
7327
7397
|
})]
|
|
@@ -7334,7 +7404,6 @@ function Select({ buttonProps, children, className, description, descriptionProp
|
|
|
7334
7404
|
]
|
|
7335
7405
|
});
|
|
7336
7406
|
}
|
|
7337
|
-
|
|
7338
7407
|
//#endregion
|
|
7339
7408
|
//#region src/symbols/circle.fill.tsx
|
|
7340
7409
|
function CircleFill({ weight = "regular", ...props }) {
|
|
@@ -7386,7 +7455,6 @@ function CircleFill({ weight = "regular", ...props }) {
|
|
|
7386
7455
|
});
|
|
7387
7456
|
}
|
|
7388
7457
|
}
|
|
7389
|
-
|
|
7390
7458
|
//#endregion
|
|
7391
7459
|
//#region src/components/submit-button.tsx
|
|
7392
7460
|
/**
|
|
@@ -7419,15 +7487,15 @@ function SubmitButton({ children, className, customTheme, error, formStatus = "r
|
|
|
7419
7487
|
}),
|
|
7420
7488
|
"\xA0",
|
|
7421
7489
|
/* @__PURE__ */ jsx(CircleFill, {
|
|
7422
|
-
className: "animate-wave
|
|
7490
|
+
className: "size-2 animate-wave",
|
|
7423
7491
|
weight: "black"
|
|
7424
7492
|
}),
|
|
7425
7493
|
/* @__PURE__ */ jsx(CircleFill, {
|
|
7426
|
-
className: "animate-wave animation-delay-100
|
|
7494
|
+
className: "size-2 animate-wave animation-delay-100",
|
|
7427
7495
|
weight: "black"
|
|
7428
7496
|
}),
|
|
7429
7497
|
/* @__PURE__ */ jsx(CircleFill, {
|
|
7430
|
-
className: "animate-wave animation-delay-200
|
|
7498
|
+
className: "size-2 animate-wave animation-delay-200",
|
|
7431
7499
|
weight: "black"
|
|
7432
7500
|
}),
|
|
7433
7501
|
"\xA0"
|
|
@@ -7462,7 +7530,7 @@ function SubmitButton({ children, className, customTheme, error, formStatus = "r
|
|
|
7462
7530
|
...dataFormState,
|
|
7463
7531
|
className: twMerge([
|
|
7464
7532
|
formStatusButtonClasses,
|
|
7465
|
-
"w-full text-white",
|
|
7533
|
+
"flex w-full items-center justify-center gap-2 text-white",
|
|
7466
7534
|
className
|
|
7467
7535
|
]),
|
|
7468
7536
|
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) },
|
|
@@ -7471,7 +7539,6 @@ function SubmitButton({ children, className, customTheme, error, formStatus = "r
|
|
|
7471
7539
|
children: buttonText
|
|
7472
7540
|
});
|
|
7473
7541
|
}
|
|
7474
|
-
|
|
7475
7542
|
//#endregion
|
|
7476
7543
|
//#region src/components/textarea.tsx
|
|
7477
7544
|
/**
|
|
@@ -7529,7 +7596,7 @@ function Textarea({ children, className, description, descriptionProps: { classN
|
|
|
7529
7596
|
}),
|
|
7530
7597
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Textarea$1, {
|
|
7531
7598
|
...props,
|
|
7532
|
-
className: (bag) => twMerge("
|
|
7599
|
+
className: (bag) => twMerge("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 ease-exponential corner-super-1.5 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),
|
|
7533
7600
|
required
|
|
7534
7601
|
}), children] }),
|
|
7535
7602
|
description && /* @__PURE__ */ jsx(Description, {
|
|
@@ -7540,7 +7607,6 @@ function Textarea({ children, className, description, descriptionProps: { classN
|
|
|
7540
7607
|
]
|
|
7541
7608
|
});
|
|
7542
7609
|
}
|
|
7543
|
-
|
|
7544
7610
|
//#endregion
|
|
7545
7611
|
//#region src/components/time.tsx
|
|
7546
7612
|
/**
|
|
@@ -7553,45 +7619,48 @@ function Textarea({ children, className, description, descriptionProps: { classN
|
|
|
7553
7619
|
* @prop dateTime - Set the dateTime itself.
|
|
7554
7620
|
* @prop day - Include the day of the month in the display.
|
|
7555
7621
|
* @prop hours - Include the hours in the display.
|
|
7622
|
+
* @prop militaryTime - Use military time (24-hour clock) instead of AM/PM.
|
|
7556
7623
|
* @prop milliseconds - Include the milliseconds in the display.
|
|
7557
7624
|
* @prop minutes - Include the minutes in the display.
|
|
7558
7625
|
* @prop month - Include the month in the display.
|
|
7559
7626
|
* @prop seconds - Include the seconds in the display.
|
|
7560
7627
|
* @prop year - Include the year in the display.
|
|
7561
7628
|
*/
|
|
7562
|
-
function Time({ children, dateObject, dateTime, day, hours, milliseconds, minutes, month, seconds, year, ref, ...props }) {
|
|
7629
|
+
function Time({ children, dateObject, dateTime, day, hours, militaryTime, milliseconds, minutes, month, seconds, year, ref, ...props }) {
|
|
7563
7630
|
const [date, setDate] = useState(dateObject || void 0);
|
|
7564
7631
|
const getDateAndTime = () => {
|
|
7565
7632
|
if (dateTime) return dateTime;
|
|
7566
7633
|
if (!date) return "";
|
|
7567
|
-
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
|
|
7571
|
-
|
|
7572
|
-
|
|
7573
|
-
|
|
7574
|
-
|
|
7575
|
-
|
|
7634
|
+
const currentYear = date.getFullYear(), currentMonth = getMonth(date), currentDay = getDate(date), currentHour = getHours(date), currentMinute = getMinutes(date), currentSecond = getSeconds(date), currentMillisecond = getMilliseconds(date);
|
|
7635
|
+
return [[
|
|
7636
|
+
currentYear,
|
|
7637
|
+
currentMonth,
|
|
7638
|
+
currentDay
|
|
7639
|
+
].join("-"), [
|
|
7640
|
+
currentHour,
|
|
7641
|
+
currentMinute,
|
|
7642
|
+
[currentSecond, currentMillisecond].join(".")
|
|
7643
|
+
].join(":")].join(" ");
|
|
7576
7644
|
};
|
|
7577
7645
|
const dateAndTime = getDateAndTime();
|
|
7578
7646
|
const getDateDisplay = () => {
|
|
7579
7647
|
if (children) return children;
|
|
7580
7648
|
if (dateAndTime === "") return "";
|
|
7581
|
-
const [dtYear, dtMonth, dtDay, dtHour, dtMinute, dtSecond, dtMillisecond] =
|
|
7649
|
+
const [dateData, timeData] = dateAndTime.split(" "), [dtYear, dtMonth, dtDay] = dateData.split("-").map(Number), [dtHour, dtMinute, secondData] = timeData.split(":").map(Number), [dtSecond, dtMillisecond] = String(secondData).split(".").map(Number);
|
|
7582
7650
|
return [
|
|
7583
|
-
day &&
|
|
7584
|
-
|
|
7651
|
+
[month && getMonthName(Number(dtMonth) - 1), !day && month && year && ","].filter(Boolean).join(""),
|
|
7652
|
+
[day && dtDay, day && month && year && ","].filter(Boolean).join(""),
|
|
7585
7653
|
year && dtYear,
|
|
7586
7654
|
hours && minutes && [
|
|
7587
7655
|
"at ",
|
|
7588
|
-
hours && dtHour,
|
|
7656
|
+
hours && militaryTime ? dtHour : dtHour % 12 || 12,
|
|
7589
7657
|
hours && minutes && ":",
|
|
7590
7658
|
minutes && dtMinute,
|
|
7591
7659
|
minutes && seconds && ":",
|
|
7592
7660
|
seconds && dtSecond,
|
|
7593
7661
|
seconds && milliseconds && ".",
|
|
7594
|
-
milliseconds && dtMillisecond
|
|
7662
|
+
milliseconds && dtMillisecond,
|
|
7663
|
+
!militaryTime && (dtHour < 12 ? "am" : "pm")
|
|
7595
7664
|
].filter(Boolean).join("")
|
|
7596
7665
|
].filter(Boolean).join(" ");
|
|
7597
7666
|
};
|
|
@@ -7609,7 +7678,6 @@ function Time({ children, dateObject, dateTime, day, hours, milliseconds, minute
|
|
|
7609
7678
|
children: dateDisplay
|
|
7610
7679
|
});
|
|
7611
7680
|
}
|
|
7612
|
-
|
|
7613
7681
|
//#endregion
|
|
7614
7682
|
//#region node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
|
|
7615
7683
|
const min = Math.min;
|
|
@@ -7626,10 +7694,6 @@ const oppositeSideMap = {
|
|
|
7626
7694
|
bottom: "top",
|
|
7627
7695
|
top: "bottom"
|
|
7628
7696
|
};
|
|
7629
|
-
const oppositeAlignmentMap = {
|
|
7630
|
-
start: "end",
|
|
7631
|
-
end: "start"
|
|
7632
|
-
};
|
|
7633
7697
|
function clamp(start, value, end) {
|
|
7634
7698
|
return max(start, min(value, end));
|
|
7635
7699
|
}
|
|
@@ -7648,9 +7712,9 @@ function getOppositeAxis(axis) {
|
|
|
7648
7712
|
function getAxisLength(axis) {
|
|
7649
7713
|
return axis === "y" ? "height" : "width";
|
|
7650
7714
|
}
|
|
7651
|
-
const yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
|
|
7652
7715
|
function getSideAxis(placement) {
|
|
7653
|
-
|
|
7716
|
+
const firstChar = placement[0];
|
|
7717
|
+
return firstChar === "t" || firstChar === "b" ? "y" : "x";
|
|
7654
7718
|
}
|
|
7655
7719
|
function getAlignmentAxis(placement) {
|
|
7656
7720
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -7673,7 +7737,7 @@ function getExpandedPlacements(placement) {
|
|
|
7673
7737
|
];
|
|
7674
7738
|
}
|
|
7675
7739
|
function getOppositeAlignmentPlacement(placement) {
|
|
7676
|
-
return placement.replace(
|
|
7740
|
+
return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
|
|
7677
7741
|
}
|
|
7678
7742
|
const lrPlacement = ["left", "right"];
|
|
7679
7743
|
const rlPlacement = ["right", "left"];
|
|
@@ -7700,7 +7764,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
|
7700
7764
|
return list;
|
|
7701
7765
|
}
|
|
7702
7766
|
function getOppositePlacement(placement) {
|
|
7703
|
-
|
|
7767
|
+
const side = getSide(placement);
|
|
7768
|
+
return oppositeSideMap[side] + placement.slice(side.length);
|
|
7704
7769
|
}
|
|
7705
7770
|
function expandPaddingObject(padding) {
|
|
7706
7771
|
return {
|
|
@@ -7732,7 +7797,6 @@ function rectToClientRect(rect) {
|
|
|
7732
7797
|
y
|
|
7733
7798
|
};
|
|
7734
7799
|
}
|
|
7735
|
-
|
|
7736
7800
|
//#endregion
|
|
7737
7801
|
//#region node_modules/@floating-ui/core/dist/floating-ui.core.mjs
|
|
7738
7802
|
function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
@@ -7834,6 +7898,7 @@ async function detectOverflow(state, options) {
|
|
|
7834
7898
|
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
7835
7899
|
};
|
|
7836
7900
|
}
|
|
7901
|
+
const MAX_RESET_COUNT = 50;
|
|
7837
7902
|
/**
|
|
7838
7903
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
7839
7904
|
* next to a given reference element.
|
|
@@ -7843,7 +7908,10 @@ async function detectOverflow(state, options) {
|
|
|
7843
7908
|
*/
|
|
7844
7909
|
const computePosition$1 = async (reference, floating, config) => {
|
|
7845
7910
|
const { placement = "bottom", strategy = "absolute", middleware = [], platform } = config;
|
|
7846
|
-
const
|
|
7911
|
+
const platformWithDetectOverflow = platform.detectOverflow ? platform : {
|
|
7912
|
+
...platform,
|
|
7913
|
+
detectOverflow
|
|
7914
|
+
};
|
|
7847
7915
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
|
|
7848
7916
|
let rects = await platform.getElementRects({
|
|
7849
7917
|
reference,
|
|
@@ -7852,11 +7920,12 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
7852
7920
|
});
|
|
7853
7921
|
let { x, y } = computeCoordsFromPlacement(rects, placement, rtl);
|
|
7854
7922
|
let statefulPlacement = placement;
|
|
7855
|
-
let middlewareData = {};
|
|
7856
7923
|
let resetCount = 0;
|
|
7857
|
-
|
|
7858
|
-
|
|
7859
|
-
const
|
|
7924
|
+
const middlewareData = {};
|
|
7925
|
+
for (let i = 0; i < middleware.length; i++) {
|
|
7926
|
+
const currentMiddleware = middleware[i];
|
|
7927
|
+
if (!currentMiddleware) continue;
|
|
7928
|
+
const { name, fn } = currentMiddleware;
|
|
7860
7929
|
const { x: nextX, y: nextY, data, reset } = await fn({
|
|
7861
7930
|
x,
|
|
7862
7931
|
y,
|
|
@@ -7865,10 +7934,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
7865
7934
|
strategy,
|
|
7866
7935
|
middlewareData,
|
|
7867
7936
|
rects,
|
|
7868
|
-
platform:
|
|
7869
|
-
...platform,
|
|
7870
|
-
detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
|
|
7871
|
-
},
|
|
7937
|
+
platform: platformWithDetectOverflow,
|
|
7872
7938
|
elements: {
|
|
7873
7939
|
reference,
|
|
7874
7940
|
floating
|
|
@@ -7876,14 +7942,11 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
7876
7942
|
});
|
|
7877
7943
|
x = nextX != null ? nextX : x;
|
|
7878
7944
|
y = nextY != null ? nextY : y;
|
|
7879
|
-
middlewareData = {
|
|
7880
|
-
...middlewareData,
|
|
7881
|
-
|
|
7882
|
-
...middlewareData[name],
|
|
7883
|
-
...data
|
|
7884
|
-
}
|
|
7945
|
+
middlewareData[name] = {
|
|
7946
|
+
...middlewareData[name],
|
|
7947
|
+
...data
|
|
7885
7948
|
};
|
|
7886
|
-
if (reset && resetCount
|
|
7949
|
+
if (reset && resetCount < MAX_RESET_COUNT) {
|
|
7887
7950
|
resetCount++;
|
|
7888
7951
|
if (typeof reset === "object") {
|
|
7889
7952
|
if (reset.placement) statefulPlacement = reset.placement;
|
|
@@ -8202,7 +8265,6 @@ const size$2 = function(options) {
|
|
|
8202
8265
|
}
|
|
8203
8266
|
};
|
|
8204
8267
|
};
|
|
8205
|
-
|
|
8206
8268
|
//#endregion
|
|
8207
8269
|
//#region node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
|
|
8208
8270
|
function hasWindow() {
|
|
@@ -8236,54 +8298,30 @@ function isShadowRoot(value) {
|
|
|
8236
8298
|
if (!hasWindow() || typeof ShadowRoot === "undefined") return false;
|
|
8237
8299
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
8238
8300
|
}
|
|
8239
|
-
const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
|
|
8240
8301
|
function isOverflowElement(element) {
|
|
8241
8302
|
const { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);
|
|
8242
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) &&
|
|
8303
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
|
|
8243
8304
|
}
|
|
8244
|
-
const tableElements = /* @__PURE__ */ new Set([
|
|
8245
|
-
"table",
|
|
8246
|
-
"td",
|
|
8247
|
-
"th"
|
|
8248
|
-
]);
|
|
8249
8305
|
function isTableElement(element) {
|
|
8250
|
-
return
|
|
8306
|
+
return /^(table|td|th)$/.test(getNodeName(element));
|
|
8251
8307
|
}
|
|
8252
|
-
const topLayerSelectors = [":popover-open", ":modal"];
|
|
8253
8308
|
function isTopLayer(element) {
|
|
8254
|
-
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8259
|
-
|
|
8260
|
-
|
|
8261
|
-
}
|
|
8262
|
-
|
|
8263
|
-
|
|
8264
|
-
|
|
8265
|
-
|
|
8266
|
-
|
|
8267
|
-
"perspective"
|
|
8268
|
-
];
|
|
8269
|
-
const willChangeValues = [
|
|
8270
|
-
"transform",
|
|
8271
|
-
"translate",
|
|
8272
|
-
"scale",
|
|
8273
|
-
"rotate",
|
|
8274
|
-
"perspective",
|
|
8275
|
-
"filter"
|
|
8276
|
-
];
|
|
8277
|
-
const containValues = [
|
|
8278
|
-
"paint",
|
|
8279
|
-
"layout",
|
|
8280
|
-
"strict",
|
|
8281
|
-
"content"
|
|
8282
|
-
];
|
|
8309
|
+
try {
|
|
8310
|
+
if (element.matches(":popover-open")) return true;
|
|
8311
|
+
} catch (_e) {}
|
|
8312
|
+
try {
|
|
8313
|
+
return element.matches(":modal");
|
|
8314
|
+
} catch (_e) {
|
|
8315
|
+
return false;
|
|
8316
|
+
}
|
|
8317
|
+
}
|
|
8318
|
+
const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
|
|
8319
|
+
const containRe = /paint|layout|strict|content/;
|
|
8320
|
+
const isNotNone = (value) => !!value && value !== "none";
|
|
8321
|
+
let isWebKitValue;
|
|
8283
8322
|
function isContainingBlock(elementOrCss) {
|
|
8284
|
-
const webkit = isWebKit();
|
|
8285
8323
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
8286
|
-
return
|
|
8324
|
+
return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
|
|
8287
8325
|
}
|
|
8288
8326
|
function getContainingBlock(element) {
|
|
8289
8327
|
let currentNode = getParentNode(element);
|
|
@@ -8295,16 +8333,11 @@ function getContainingBlock(element) {
|
|
|
8295
8333
|
return null;
|
|
8296
8334
|
}
|
|
8297
8335
|
function isWebKit() {
|
|
8298
|
-
if (typeof CSS
|
|
8299
|
-
return
|
|
8336
|
+
if (isWebKitValue == null) isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
|
|
8337
|
+
return isWebKitValue;
|
|
8300
8338
|
}
|
|
8301
|
-
const lastTraversableNodeNames = /* @__PURE__ */ new Set([
|
|
8302
|
-
"html",
|
|
8303
|
-
"body",
|
|
8304
|
-
"#document"
|
|
8305
|
-
]);
|
|
8306
8339
|
function isLastTraversableNode(node) {
|
|
8307
|
-
return
|
|
8340
|
+
return /^(html|body|#document)$/.test(getNodeName(node));
|
|
8308
8341
|
}
|
|
8309
8342
|
function getComputedStyle$1(element) {
|
|
8310
8343
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -8340,13 +8373,11 @@ function getOverflowAncestors(node, list, traverseIframes) {
|
|
|
8340
8373
|
if (isBody) {
|
|
8341
8374
|
const frameElement = getFrameElement(win);
|
|
8342
8375
|
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
|
8343
|
-
}
|
|
8344
|
-
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
8376
|
+
} else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
8345
8377
|
}
|
|
8346
8378
|
function getFrameElement(win) {
|
|
8347
8379
|
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
8348
8380
|
}
|
|
8349
|
-
|
|
8350
8381
|
//#endregion
|
|
8351
8382
|
//#region node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
|
|
8352
8383
|
function getCssDimensions(element) {
|
|
@@ -8467,7 +8498,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
8467
8498
|
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
8468
8499
|
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
8469
8500
|
if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
|
|
8470
|
-
if (
|
|
8501
|
+
if (isOffsetParentAnElement) {
|
|
8471
8502
|
const offsetRect = getBoundingClientRect(offsetParent);
|
|
8472
8503
|
scale = getScale(offsetParent);
|
|
8473
8504
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
@@ -8535,7 +8566,6 @@ function getViewportRect(element, strategy) {
|
|
|
8535
8566
|
y
|
|
8536
8567
|
};
|
|
8537
8568
|
}
|
|
8538
|
-
const absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
|
|
8539
8569
|
function getInnerBoundingClientRect(element, strategy) {
|
|
8540
8570
|
const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
|
|
8541
8571
|
const top = clientRect.top + element.clientTop;
|
|
@@ -8580,7 +8610,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
8580
8610
|
const computedStyle = getComputedStyle$1(currentNode);
|
|
8581
8611
|
const currentNodeIsContaining = isContainingBlock(currentNode);
|
|
8582
8612
|
if (!currentNodeIsContaining && computedStyle.position === "fixed") currentContainingBlockComputedStyle = null;
|
|
8583
|
-
if (elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle &&
|
|
8613
|
+
if (elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode)) result = result.filter((ancestor) => ancestor !== currentNode);
|
|
8584
8614
|
else currentContainingBlockComputedStyle = computedStyle;
|
|
8585
8615
|
currentNode = getParentNode(currentNode);
|
|
8586
8616
|
}
|
|
@@ -8590,20 +8620,23 @@ function getClippingElementAncestors(element, cache) {
|
|
|
8590
8620
|
function getClippingRect(_ref) {
|
|
8591
8621
|
let { element, boundary, rootBoundary, strategy } = _ref;
|
|
8592
8622
|
const clippingAncestors = [...boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary), rootBoundary];
|
|
8593
|
-
const
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8623
|
+
const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
|
|
8624
|
+
let top = firstRect.top;
|
|
8625
|
+
let right = firstRect.right;
|
|
8626
|
+
let bottom = firstRect.bottom;
|
|
8627
|
+
let left = firstRect.left;
|
|
8628
|
+
for (let i = 1; i < clippingAncestors.length; i++) {
|
|
8629
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
|
|
8630
|
+
top = max(rect.top, top);
|
|
8631
|
+
right = min(rect.right, right);
|
|
8632
|
+
bottom = min(rect.bottom, bottom);
|
|
8633
|
+
left = max(rect.left, left);
|
|
8634
|
+
}
|
|
8602
8635
|
return {
|
|
8603
|
-
width:
|
|
8604
|
-
height:
|
|
8605
|
-
x:
|
|
8606
|
-
y:
|
|
8636
|
+
width: right - left,
|
|
8637
|
+
height: bottom - top,
|
|
8638
|
+
x: left,
|
|
8639
|
+
y: top
|
|
8607
8640
|
};
|
|
8608
8641
|
}
|
|
8609
8642
|
function getDimensions(element) {
|
|
@@ -8765,7 +8798,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
8765
8798
|
if (options === void 0) options = {};
|
|
8766
8799
|
const { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === "function", layoutShift = typeof IntersectionObserver === "function", animationFrame = false } = options;
|
|
8767
8800
|
const referenceEl = unwrapElement(reference);
|
|
8768
|
-
const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
|
|
8801
|
+
const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
|
|
8769
8802
|
ancestors.forEach((ancestor) => {
|
|
8770
8803
|
ancestorScroll && ancestor.addEventListener("scroll", update, { passive: true });
|
|
8771
8804
|
ancestorResize && ancestor.addEventListener("resize", update);
|
|
@@ -8776,7 +8809,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
8776
8809
|
if (elementResize) {
|
|
8777
8810
|
resizeObserver = new ResizeObserver((_ref) => {
|
|
8778
8811
|
let [firstEntry] = _ref;
|
|
8779
|
-
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
|
|
8812
|
+
if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
|
|
8780
8813
|
resizeObserver.unobserve(floating);
|
|
8781
8814
|
cancelAnimationFrame(reobserveFrame);
|
|
8782
8815
|
reobserveFrame = requestAnimationFrame(() => {
|
|
@@ -8787,7 +8820,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
8787
8820
|
update();
|
|
8788
8821
|
});
|
|
8789
8822
|
if (referenceEl && !animationFrame) resizeObserver.observe(referenceEl);
|
|
8790
|
-
resizeObserver.observe(floating);
|
|
8823
|
+
if (floating) resizeObserver.observe(floating);
|
|
8791
8824
|
}
|
|
8792
8825
|
let frameId;
|
|
8793
8826
|
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
@@ -8864,7 +8897,6 @@ const computePosition = (reference, floating, options) => {
|
|
|
8864
8897
|
platform: platformWithCache
|
|
8865
8898
|
});
|
|
8866
8899
|
};
|
|
8867
|
-
|
|
8868
8900
|
//#endregion
|
|
8869
8901
|
//#region node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
|
|
8870
8902
|
var index = typeof document !== "undefined" ? useLayoutEffect : function noop() {};
|
|
@@ -9094,50 +9126,69 @@ const arrow$1 = (options) => {
|
|
|
9094
9126
|
* object may be passed.
|
|
9095
9127
|
* @see https://floating-ui.com/docs/offset
|
|
9096
9128
|
*/
|
|
9097
|
-
const offset = (options, deps) =>
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9129
|
+
const offset = (options, deps) => {
|
|
9130
|
+
const result = offset$1(options);
|
|
9131
|
+
return {
|
|
9132
|
+
name: result.name,
|
|
9133
|
+
fn: result.fn,
|
|
9134
|
+
options: [options, deps]
|
|
9135
|
+
};
|
|
9136
|
+
};
|
|
9101
9137
|
/**
|
|
9102
9138
|
* Optimizes the visibility of the floating element by shifting it in order to
|
|
9103
9139
|
* keep it in view when it will overflow the clipping boundary.
|
|
9104
9140
|
* @see https://floating-ui.com/docs/shift
|
|
9105
9141
|
*/
|
|
9106
|
-
const shift = (options, deps) =>
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9142
|
+
const shift = (options, deps) => {
|
|
9143
|
+
const result = shift$1(options);
|
|
9144
|
+
return {
|
|
9145
|
+
name: result.name,
|
|
9146
|
+
fn: result.fn,
|
|
9147
|
+
options: [options, deps]
|
|
9148
|
+
};
|
|
9149
|
+
};
|
|
9110
9150
|
/**
|
|
9111
9151
|
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
9112
9152
|
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
9113
9153
|
* clipping boundary. Alternative to `autoPlacement`.
|
|
9114
9154
|
* @see https://floating-ui.com/docs/flip
|
|
9115
9155
|
*/
|
|
9116
|
-
const flip = (options, deps) =>
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9156
|
+
const flip = (options, deps) => {
|
|
9157
|
+
const result = flip$1(options);
|
|
9158
|
+
return {
|
|
9159
|
+
name: result.name,
|
|
9160
|
+
fn: result.fn,
|
|
9161
|
+
options: [options, deps]
|
|
9162
|
+
};
|
|
9163
|
+
};
|
|
9120
9164
|
/**
|
|
9121
9165
|
* Provides data that allows you to change the size of the floating element —
|
|
9122
9166
|
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
9123
9167
|
* width of the reference element.
|
|
9124
9168
|
* @see https://floating-ui.com/docs/size
|
|
9125
9169
|
*/
|
|
9126
|
-
const size = (options, deps) =>
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
|
|
9170
|
+
const size = (options, deps) => {
|
|
9171
|
+
const result = size$1(options);
|
|
9172
|
+
return {
|
|
9173
|
+
name: result.name,
|
|
9174
|
+
fn: result.fn,
|
|
9175
|
+
options: [options, deps]
|
|
9176
|
+
};
|
|
9177
|
+
};
|
|
9130
9178
|
/**
|
|
9131
9179
|
* Provides data to position an inner element of the floating element so that it
|
|
9132
9180
|
* appears centered to the reference element.
|
|
9133
9181
|
* This wraps the core `arrow` middleware to allow React refs as the element.
|
|
9134
9182
|
* @see https://floating-ui.com/docs/arrow
|
|
9135
9183
|
*/
|
|
9136
|
-
const arrow = (options, deps) =>
|
|
9137
|
-
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
|
|
9184
|
+
const arrow = (options, deps) => {
|
|
9185
|
+
const result = arrow$1(options);
|
|
9186
|
+
return {
|
|
9187
|
+
name: result.name,
|
|
9188
|
+
fn: result.fn,
|
|
9189
|
+
options: [options, deps]
|
|
9190
|
+
};
|
|
9191
|
+
};
|
|
9141
9192
|
//#endregion
|
|
9142
9193
|
//#region src/components/tooltip.tsx
|
|
9143
9194
|
const defaultTooltipContext = {
|
|
@@ -9278,6 +9329,8 @@ function TooltipPanel({ as, children, className, style, onMouseEnter, onMouseLea
|
|
|
9278
9329
|
};
|
|
9279
9330
|
return /* @__PURE__ */ jsxs(TooltipPanelElement, {
|
|
9280
9331
|
...props,
|
|
9332
|
+
"aria-live": isPositioned ? "assertive" : "off",
|
|
9333
|
+
className: twMerge("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 data-ready:animate-fade-in dark:bg-neutral-800 dark:text-neutral-50 dark:shadow-none dark:-outline-offset-1 dark:outline-neutral-600", className),
|
|
9281
9334
|
ref: (node) => {
|
|
9282
9335
|
if (node && typeof node.querySelector === "function") {
|
|
9283
9336
|
refs?.setFloating(node);
|
|
@@ -9287,7 +9340,6 @@ function TooltipPanel({ as, children, className, style, onMouseEnter, onMouseLea
|
|
|
9287
9340
|
}
|
|
9288
9341
|
}
|
|
9289
9342
|
},
|
|
9290
|
-
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),
|
|
9291
9343
|
style: {
|
|
9292
9344
|
...style,
|
|
9293
9345
|
...floatingStyles,
|
|
@@ -9298,7 +9350,7 @@ function TooltipPanel({ as, children, className, style, onMouseEnter, onMouseLea
|
|
|
9298
9350
|
onMouseLeave: handleMouseLeave,
|
|
9299
9351
|
onTouchStart: handleTouchStart,
|
|
9300
9352
|
role: "tooltip",
|
|
9301
|
-
...isPositioned ? { "data-ready":
|
|
9353
|
+
...isPositioned ? { "data-ready": "" } : {},
|
|
9302
9354
|
children: [children, contextArrow && /* @__PURE__ */ jsx(ArrowSvg, {
|
|
9303
9355
|
className: twMerge("absolute", arrowLocationClasses, contextArrowClassName),
|
|
9304
9356
|
style: arrowStyles,
|
|
@@ -9432,7 +9484,6 @@ function ArrowSvg({ className, ...props }) {
|
|
|
9432
9484
|
]
|
|
9433
9485
|
});
|
|
9434
9486
|
}
|
|
9435
|
-
|
|
9436
9487
|
//#endregion
|
|
9437
9488
|
//#region src/graphics/social-media/facebook-logo.tsx
|
|
9438
9489
|
/**
|
|
@@ -9507,7 +9558,6 @@ function FacebookLogo({ className, cutout = false, targets, variant = "circle",
|
|
|
9507
9558
|
]
|
|
9508
9559
|
});
|
|
9509
9560
|
}
|
|
9510
|
-
|
|
9511
9561
|
//#endregion
|
|
9512
9562
|
//#region src/graphics/social-media/google-logo.tsx
|
|
9513
9563
|
/**
|
|
@@ -9613,7 +9663,6 @@ function GoogleLogo({ gradient = true, ...props }) {
|
|
|
9613
9663
|
] }) : /* @__PURE__ */ jsx("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" })
|
|
9614
9664
|
});
|
|
9615
9665
|
}
|
|
9616
|
-
|
|
9617
9666
|
//#endregion
|
|
9618
9667
|
//#region src/graphics/social-media/instagram-logo.tsx
|
|
9619
9668
|
/**
|
|
@@ -9734,7 +9783,6 @@ function InstagramLogo({ gradient = true, ...props }) {
|
|
|
9734
9783
|
] })
|
|
9735
9784
|
});
|
|
9736
9785
|
}
|
|
9737
|
-
|
|
9738
9786
|
//#endregion
|
|
9739
9787
|
//#region src/graphics/social-media/linkedin-logo.tsx
|
|
9740
9788
|
/**
|
|
@@ -9767,7 +9815,6 @@ function LinkedInLogo({ className, cutout, targets, ...props }) {
|
|
|
9767
9815
|
})]
|
|
9768
9816
|
});
|
|
9769
9817
|
}
|
|
9770
|
-
|
|
9771
9818
|
//#endregion
|
|
9772
9819
|
//#region src/graphics/social-media/tiktok-logo.tsx
|
|
9773
9820
|
/**
|
|
@@ -9806,7 +9853,6 @@ function TikTokLogo({ className, targets, variant = "multicolor", ...props }) {
|
|
|
9806
9853
|
] }), variant === "solid" && /* @__PURE__ */ jsx("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" })]
|
|
9807
9854
|
});
|
|
9808
9855
|
}
|
|
9809
|
-
|
|
9810
9856
|
//#endregion
|
|
9811
9857
|
//#region src/graphics/social-media/x-logo.tsx
|
|
9812
9858
|
/**
|
|
@@ -9819,7 +9865,6 @@ function XLogo(props) {
|
|
|
9819
9865
|
children: /* @__PURE__ */ jsx("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" })
|
|
9820
9866
|
});
|
|
9821
9867
|
}
|
|
9822
|
-
|
|
9823
9868
|
//#endregion
|
|
9824
9869
|
//#region src/graphics/social-media/youtube-logo.tsx
|
|
9825
9870
|
/**
|
|
@@ -9853,6 +9898,5 @@ function YouTubeLogo({ className, cutout = false, targets, ...props }) {
|
|
|
9853
9898
|
})] })
|
|
9854
9899
|
});
|
|
9855
9900
|
}
|
|
9856
|
-
|
|
9857
9901
|
//#endregion
|
|
9858
|
-
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, FacebookLogo, Fieldset, Form, FormStatusProvider, Ghost, GoogleLogo, Heading, HumanVerification, IFrame, Input, InstagramLogo, Link, LinkedInLogo, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, TikTokLogo, Time, Tooltip, TooltipPanel, TooltipTrigger, XLogo, YouTubeLogo, addClass, createFastContext, currentMonthName, currentWeekdayName, daysInMonth, easeOutExpo, emailRegex, extendMadoTailwindMerge, firstOfMonth, formatPhoneNumber, generateHumanValidationToken, getDate, getHours, getHoursIn12, getLinkClasses, getLocalTime, getMeridianFromHour, getMilliseconds, getMinutes, getMonth, getMonthIndexFromName, getMonthName, getNextMonth, getPreviousMonth, getSeconds, getTimezone, getUserReadableDate, getUserReadableDateFromTimestampz, getWeekdayName, getYearsInRange, hasClass, isEmail, isPhoneNumber, monthNamesList, removeClass, splitCamelCase, telRegex, toCamelCase, toFullDateString, toLowerCase, toTitleCase, toggleClass, twMerge, useFormStatus, usePointerMovement, validateHuman, weekdayNamesList };
|
|
9902
|
+
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, FacebookLogo, Fieldset, Form, FormStatusProvider, Ghost, GoogleLogo, Heading, HumanVerification, IFrame, Input, InstagramLogo, Link, LinkedInLogo, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, TikTokLogo, Time, Tooltip, TooltipPanel, TooltipTrigger, XLogo, YouTubeLogo, addClass, createFastContext, currentMonthName, currentWeekdayName, daysInMonth, easeOutExpo, emailRegex, extendMadoTailwindMerge, firstOfMonth, formatPhoneNumber, generateHumanValidationToken, getDate, getHours, getHoursIn12, getLinkClasses, getLocalTime, getMeridianFromHour, getMilliseconds, getMinutes, getMonth, getMonthIndexFromName, getMonthName, getNextMonth, getPreviousMonth, getSeconds, getTimezone, getUserReadableDate, getUserReadableDateFromTimestampz, getWeekdayName, getYearsInRange, hasClass, isEmail, isPhoneNumber, monthNamesList, removeClass, splitCamelCase, telRegex, toCamelCase, toFullDateString, toLowerCase, toTitleCase, toggleClass, twMerge, useFormStatus, useMobileDevice, usePointerMovement, validateHuman, weekdayNamesList };
|