@almadar/ui 2.20.1 → 2.20.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +72 -21
- package/dist/avl/index.cjs +1345 -1323
- package/dist/avl/index.d.cts +47 -47
- package/dist/avl/index.js +1321 -1299
- package/dist/components/atoms/avl/Avl3DLabel.d.ts +23 -0
- package/dist/components/atoms/avl/Avl3DTooltip.d.ts +25 -0
- package/dist/components/atoms/avl/index.d.ts +2 -0
- package/dist/components/index.cjs +3 -1
- package/dist/components/index.js +3 -1
- package/dist/components/molecules/avl/Avl3DCrossWire.d.ts +22 -0
- package/dist/components/molecules/avl/Avl3DEntityCore.d.ts +26 -0
- package/dist/components/molecules/avl/Avl3DExprTree.d.ts +21 -0
- package/dist/components/molecules/avl/Avl3DOrbitalNode.d.ts +29 -0
- package/dist/components/molecules/avl/Avl3DStateNode.d.ts +34 -0
- package/dist/components/molecules/avl/Avl3DTransitionArc.d.ts +38 -0
- package/dist/components/molecules/avl/index.d.ts +6 -0
- package/dist/components/organisms/avl/Avl3DApplicationScene.d.ts +19 -0
- package/dist/components/organisms/avl/Avl3DEffects.d.ts +18 -0
- package/dist/components/organisms/avl/Avl3DOrbitalScene.d.ts +23 -0
- package/dist/components/organisms/avl/Avl3DTraitScene.d.ts +19 -0
- package/dist/components/organisms/avl/Avl3DTransitionScene.d.ts +17 -0
- package/dist/components/organisms/avl/Avl3DViewer.d.ts +40 -0
- package/dist/components/organisms/avl/avl-3d-context.d.ts +32 -0
- package/dist/components/organisms/avl/avl-3d-layout.d.ts +116 -0
- package/dist/components/organisms/game/three/index.cjs +2549 -120
- package/dist/components/organisms/game/three/index.d.ts +8 -0
- package/dist/components/organisms/game/three/index.js +2419 -5
- package/dist/illustrations/index.cjs +2880 -109
- package/dist/illustrations/index.js +2879 -108
- package/dist/providers/OrbitalProvider.d.ts +4 -2
- package/dist/providers/index.cjs +263 -284
- package/dist/providers/index.js +189 -210
- package/dist/runtime/OrbPreview.d.ts +9 -6
- package/dist/runtime/ServerBridge.d.ts +23 -0
- package/dist/runtime/enrichFromResponse.d.ts +21 -0
- package/dist/runtime/index.cjs +31754 -2587
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +31735 -2571
- package/index.css +156 -0
- package/package.json +9 -5
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var
|
|
4
|
+
var React26 = require('react');
|
|
5
|
+
require('@react-three/drei');
|
|
6
|
+
require('@react-three/fiber');
|
|
7
|
+
require('three');
|
|
5
8
|
|
|
6
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
10
|
|
|
8
|
-
var
|
|
11
|
+
var React26__default = /*#__PURE__*/_interopDefault(React26);
|
|
9
12
|
|
|
10
13
|
function buildForkPaths(x, y, branches, scale) {
|
|
11
14
|
const inLength = 30 * scale;
|
|
@@ -132,7 +135,7 @@ var SvgFlow = ({
|
|
|
132
135
|
opacity = 1,
|
|
133
136
|
className
|
|
134
137
|
}) => {
|
|
135
|
-
const markerId =
|
|
138
|
+
const markerId = React26__default.default.useMemo(() => {
|
|
136
139
|
flowIdCounter += 1;
|
|
137
140
|
return `almadar-flow-arrow-${flowIdCounter}`;
|
|
138
141
|
}, []);
|
|
@@ -524,7 +527,7 @@ SvgMorph.displayName = "SvgMorph";
|
|
|
524
527
|
var SvgNode = ({
|
|
525
528
|
x,
|
|
526
529
|
y,
|
|
527
|
-
r = 6,
|
|
530
|
+
r: r2 = 6,
|
|
528
531
|
variant = "filled",
|
|
529
532
|
color = "var(--color-primary)",
|
|
530
533
|
opacity = 1,
|
|
@@ -537,7 +540,7 @@ var SvgNode = ({
|
|
|
537
540
|
{
|
|
538
541
|
cx: x,
|
|
539
542
|
cy: y,
|
|
540
|
-
r:
|
|
543
|
+
r: r2 * 2,
|
|
541
544
|
fill: "none",
|
|
542
545
|
stroke: color,
|
|
543
546
|
strokeWidth: 1,
|
|
@@ -550,7 +553,7 @@ var SvgNode = ({
|
|
|
550
553
|
{
|
|
551
554
|
cx: x,
|
|
552
555
|
cy: y,
|
|
553
|
-
r,
|
|
556
|
+
r: r2,
|
|
554
557
|
fill: variant === "stroked" ? "none" : color,
|
|
555
558
|
stroke: variant === "stroked" ? color : "none",
|
|
556
559
|
strokeWidth: variant === "stroked" ? 2 : 0
|
|
@@ -560,7 +563,7 @@ var SvgNode = ({
|
|
|
560
563
|
"text",
|
|
561
564
|
{
|
|
562
565
|
x,
|
|
563
|
-
y: y +
|
|
566
|
+
y: y + r2 + 14,
|
|
564
567
|
textAnchor: "middle",
|
|
565
568
|
fill: color,
|
|
566
569
|
fontSize: 11,
|
|
@@ -625,7 +628,7 @@ var ringIdCounter = 0;
|
|
|
625
628
|
var SvgRing = ({
|
|
626
629
|
cx,
|
|
627
630
|
cy,
|
|
628
|
-
r = 40,
|
|
631
|
+
r: r2 = 40,
|
|
629
632
|
variant = "solid",
|
|
630
633
|
color = "var(--color-primary)",
|
|
631
634
|
strokeWidth = 1.5,
|
|
@@ -633,7 +636,7 @@ var SvgRing = ({
|
|
|
633
636
|
className,
|
|
634
637
|
label
|
|
635
638
|
}) => {
|
|
636
|
-
const gradientId =
|
|
639
|
+
const gradientId = React26__default.default.useMemo(() => {
|
|
637
640
|
ringIdCounter += 1;
|
|
638
641
|
return `almadar-ring-glow-${ringIdCounter}`;
|
|
639
642
|
}, []);
|
|
@@ -643,14 +646,14 @@ var SvgRing = ({
|
|
|
643
646
|
/* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.15 }),
|
|
644
647
|
/* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0 })
|
|
645
648
|
] }) }),
|
|
646
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r, fill: `url(#${gradientId})` })
|
|
649
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: r2, fill: `url(#${gradientId})` })
|
|
647
650
|
] }),
|
|
648
651
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
649
652
|
"circle",
|
|
650
653
|
{
|
|
651
654
|
cx,
|
|
652
655
|
cy,
|
|
653
|
-
r,
|
|
656
|
+
r: r2,
|
|
654
657
|
fill: "none",
|
|
655
658
|
stroke: color,
|
|
656
659
|
strokeWidth,
|
|
@@ -661,7 +664,7 @@ var SvgRing = ({
|
|
|
661
664
|
"text",
|
|
662
665
|
{
|
|
663
666
|
x: cx,
|
|
664
|
-
y: cy -
|
|
667
|
+
y: cy - r2 - 6,
|
|
665
668
|
textAnchor: "middle",
|
|
666
669
|
fill: color,
|
|
667
670
|
fontSize: 11,
|
|
@@ -793,7 +796,7 @@ var AIGenerates = ({
|
|
|
793
796
|
color = "var(--color-primary)",
|
|
794
797
|
animated = false
|
|
795
798
|
}) => {
|
|
796
|
-
const ids =
|
|
799
|
+
const ids = React26__default.default.useMemo(() => {
|
|
797
800
|
aiGeneratesId += 1;
|
|
798
801
|
const base = `ag-${aiGeneratesId}`;
|
|
799
802
|
return {
|
|
@@ -914,16 +917,16 @@ var AIGenerates = ({
|
|
|
914
917
|
};
|
|
915
918
|
AIGenerates.displayName = "AIGenerates";
|
|
916
919
|
var closedCircuitId = 0;
|
|
917
|
-
function pentagonPoint(cx, cy,
|
|
920
|
+
function pentagonPoint(cx, cy, r2, index) {
|
|
918
921
|
const angle = Math.PI * 2 * index / 5 - Math.PI / 2;
|
|
919
|
-
return [cx +
|
|
922
|
+
return [cx + r2 * Math.cos(angle), cy + r2 * Math.sin(angle)];
|
|
920
923
|
}
|
|
921
924
|
var ClosedCircuit = ({
|
|
922
925
|
className,
|
|
923
926
|
color = "var(--color-primary)",
|
|
924
927
|
animated = false
|
|
925
928
|
}) => {
|
|
926
|
-
const ids =
|
|
929
|
+
const ids = React26__default.default.useMemo(() => {
|
|
927
930
|
closedCircuitId += 1;
|
|
928
931
|
const base = `cc-${closedCircuitId}`;
|
|
929
932
|
return {
|
|
@@ -935,8 +938,8 @@ var ClosedCircuit = ({
|
|
|
935
938
|
}, []);
|
|
936
939
|
const cx = 300;
|
|
937
940
|
const cy = 200;
|
|
938
|
-
const
|
|
939
|
-
const points = Array.from({ length: 5 }, (_, i) => pentagonPoint(cx, cy,
|
|
941
|
+
const r2 = 130;
|
|
942
|
+
const points = Array.from({ length: 5 }, (_, i) => pentagonPoint(cx, cy, r2, i));
|
|
940
943
|
const gx = points[1][0];
|
|
941
944
|
const gy = points[1][1];
|
|
942
945
|
const ds = 10;
|
|
@@ -985,7 +988,7 @@ var ClosedCircuit = ({
|
|
|
985
988
|
}
|
|
986
989
|
` }),
|
|
987
990
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 50, fill: "none", stroke: color, strokeWidth: 0.5, opacity: 0.06 }),
|
|
988
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r:
|
|
991
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: r2 + 20, fill: "none", stroke: color, strokeWidth: 0.3, opacity: 0.04 }),
|
|
989
992
|
points.map((pt, i) => {
|
|
990
993
|
const next = points[(i + 1) % 5];
|
|
991
994
|
const mx = (pt[0] + next[0]) / 2 + (cy - (pt[1] + next[1]) / 2) * 0.15;
|
|
@@ -1069,7 +1072,7 @@ var CommunityOwnership = ({
|
|
|
1069
1072
|
color = "var(--color-primary)",
|
|
1070
1073
|
animated = false
|
|
1071
1074
|
}) => {
|
|
1072
|
-
const ids =
|
|
1075
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1073
1076
|
communityOwnershipId += 1;
|
|
1074
1077
|
const base = `co-${communityOwnershipId}`;
|
|
1075
1078
|
return { unitGlow: `${base}-ug` };
|
|
@@ -1154,7 +1157,7 @@ var CompileAnywhere = ({
|
|
|
1154
1157
|
color = "var(--color-primary)",
|
|
1155
1158
|
animated = false
|
|
1156
1159
|
}) => {
|
|
1157
|
-
const ids =
|
|
1160
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1158
1161
|
compileAnywhereId += 1;
|
|
1159
1162
|
const base = `ca-${compileAnywhereId}`;
|
|
1160
1163
|
return {
|
|
@@ -1284,7 +1287,7 @@ var ComposableModels = ({
|
|
|
1284
1287
|
color = "var(--color-primary)",
|
|
1285
1288
|
animated = false
|
|
1286
1289
|
}) => {
|
|
1287
|
-
const ids =
|
|
1290
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1288
1291
|
composableModelsId += 1;
|
|
1289
1292
|
const base = `cm-${composableModelsId}`;
|
|
1290
1293
|
return {
|
|
@@ -1431,7 +1434,7 @@ var DescribeProveDeploy = ({
|
|
|
1431
1434
|
color = "var(--color-primary)",
|
|
1432
1435
|
animated = false
|
|
1433
1436
|
}) => {
|
|
1434
|
-
const ids =
|
|
1437
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1435
1438
|
describeProveDeployId += 1;
|
|
1436
1439
|
const base = `dpd-${describeProveDeployId}`;
|
|
1437
1440
|
return {
|
|
@@ -1599,7 +1602,7 @@ var DomainGrid = ({
|
|
|
1599
1602
|
color = "var(--color-primary)",
|
|
1600
1603
|
animated = false
|
|
1601
1604
|
}) => {
|
|
1602
|
-
const ids =
|
|
1605
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1603
1606
|
domainGridId += 1;
|
|
1604
1607
|
const base = `dg-${domainGridId}`;
|
|
1605
1608
|
return { clusterGlow: `${base}-cg` };
|
|
@@ -1702,7 +1705,7 @@ var EventBus = ({
|
|
|
1702
1705
|
color = "var(--color-primary)",
|
|
1703
1706
|
animated = false
|
|
1704
1707
|
}) => {
|
|
1705
|
-
const ids =
|
|
1708
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1706
1709
|
eventBusId += 1;
|
|
1707
1710
|
const base = `eb-${eventBusId}`;
|
|
1708
1711
|
return {
|
|
@@ -1763,12 +1766,12 @@ var EventBus = ({
|
|
|
1763
1766
|
`conn-${i}`
|
|
1764
1767
|
)),
|
|
1765
1768
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: CX, cy: CY, r: 40, fill: `url(#${ids.pulseGlow})` }),
|
|
1766
|
-
[30, 50, 75].map((
|
|
1769
|
+
[30, 50, 75].map((r2, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1767
1770
|
"circle",
|
|
1768
1771
|
{
|
|
1769
1772
|
cx: CX,
|
|
1770
1773
|
cy: CY,
|
|
1771
|
-
r,
|
|
1774
|
+
r: r2,
|
|
1772
1775
|
fill: "none",
|
|
1773
1776
|
stroke: color,
|
|
1774
1777
|
strokeWidth: 1.2,
|
|
@@ -1814,7 +1817,7 @@ var OrbitalUnit = ({
|
|
|
1814
1817
|
color = "var(--color-primary)",
|
|
1815
1818
|
animated = false
|
|
1816
1819
|
}) => {
|
|
1817
|
-
const ids =
|
|
1820
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1818
1821
|
orbitalUnitId += 1;
|
|
1819
1822
|
const base = `ou-${orbitalUnitId}`;
|
|
1820
1823
|
return {
|
|
@@ -1980,7 +1983,7 @@ var PlanVerifyRemember = ({
|
|
|
1980
1983
|
color = "var(--color-primary)",
|
|
1981
1984
|
animated = false
|
|
1982
1985
|
}) => {
|
|
1983
|
-
const ids =
|
|
1986
|
+
const ids = React26__default.default.useMemo(() => {
|
|
1984
1987
|
planVerifyRememberId += 1;
|
|
1985
1988
|
const base = `pvr-${planVerifyRememberId}`;
|
|
1986
1989
|
return {
|
|
@@ -2129,7 +2132,7 @@ var ProveCorrect = ({
|
|
|
2129
2132
|
color = "var(--color-primary)",
|
|
2130
2133
|
animated = false
|
|
2131
2134
|
}) => {
|
|
2132
|
-
const ids =
|
|
2135
|
+
const ids = React26__default.default.useMemo(() => {
|
|
2133
2136
|
proveCorrectId += 1;
|
|
2134
2137
|
const base = `pc-${proveCorrectId}`;
|
|
2135
2138
|
return {
|
|
@@ -2249,7 +2252,7 @@ var ServiceLayers = ({
|
|
|
2249
2252
|
color = "var(--color-primary)",
|
|
2250
2253
|
animated = false
|
|
2251
2254
|
}) => {
|
|
2252
|
-
const ids =
|
|
2255
|
+
const ids = React26__default.default.useMemo(() => {
|
|
2253
2256
|
serviceLayersId += 1;
|
|
2254
2257
|
const base = `sly-${serviceLayersId}`;
|
|
2255
2258
|
return {
|
|
@@ -2401,7 +2404,7 @@ var SharedReality = ({
|
|
|
2401
2404
|
color = "var(--color-primary)",
|
|
2402
2405
|
animated = false
|
|
2403
2406
|
}) => {
|
|
2404
|
-
const ids =
|
|
2407
|
+
const ids = React26__default.default.useMemo(() => {
|
|
2405
2408
|
sharedRealityId += 1;
|
|
2406
2409
|
const base = `sr-${sharedRealityId}`;
|
|
2407
2410
|
return { grad: `${base}-grad`, unitGlow: `${base}-ug` };
|
|
@@ -2503,7 +2506,7 @@ var StandardLibrary = ({
|
|
|
2503
2506
|
color = "var(--color-primary)",
|
|
2504
2507
|
animated = false
|
|
2505
2508
|
}) => {
|
|
2506
|
-
const ids =
|
|
2509
|
+
const ids = React26__default.default.useMemo(() => {
|
|
2507
2510
|
standardLibraryId += 1;
|
|
2508
2511
|
const base = `sl-${standardLibraryId}`;
|
|
2509
2512
|
return { glow: `${base}-glow`, groupGlow: `${base}-gg` };
|
|
@@ -2571,9 +2574,9 @@ var StandardLibrary = ({
|
|
|
2571
2574
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: group.x, cy: group.y, r: 24, fill: "none", stroke: color, strokeWidth: 0.7, opacity: 0.15 }),
|
|
2572
2575
|
Array.from({ length: group.dots }, (_, di) => {
|
|
2573
2576
|
const angle = di / group.dots * Math.PI * 2 - Math.PI / 2;
|
|
2574
|
-
const
|
|
2575
|
-
const dx = di === 0 ? group.x : group.x + Math.cos(angle) *
|
|
2576
|
-
const dy = di === 0 ? group.y : group.y + Math.sin(angle) *
|
|
2577
|
+
const r2 = di === 0 ? 0 : spread * 0.55;
|
|
2578
|
+
const dx = di === 0 ? group.x : group.x + Math.cos(angle) * r2;
|
|
2579
|
+
const dy = di === 0 ? group.y : group.y + Math.sin(angle) * r2;
|
|
2577
2580
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2578
2581
|
"circle",
|
|
2579
2582
|
{
|
|
@@ -2612,7 +2615,7 @@ var StateMachine = ({
|
|
|
2612
2615
|
color = "var(--color-primary)",
|
|
2613
2616
|
animated = false
|
|
2614
2617
|
}) => {
|
|
2615
|
-
const ids =
|
|
2618
|
+
const ids = React26__default.default.useMemo(() => {
|
|
2616
2619
|
stateMachineId += 1;
|
|
2617
2620
|
const base = `sm-${stateMachineId}`;
|
|
2618
2621
|
return {
|
|
@@ -2790,7 +2793,7 @@ var WorldModel = ({
|
|
|
2790
2793
|
color = "var(--color-primary)",
|
|
2791
2794
|
animated = false
|
|
2792
2795
|
}) => {
|
|
2793
|
-
const ids =
|
|
2796
|
+
const ids = React26__default.default.useMemo(() => {
|
|
2794
2797
|
worldModelId += 1;
|
|
2795
2798
|
const base = `wm-${worldModelId}`;
|
|
2796
2799
|
return {
|
|
@@ -2952,7 +2955,7 @@ var AVL_OPERATOR_COLORS = {
|
|
|
2952
2955
|
var AvlOrbital = ({
|
|
2953
2956
|
cx = 0,
|
|
2954
2957
|
cy = 0,
|
|
2955
|
-
r = 80,
|
|
2958
|
+
r: r2 = 80,
|
|
2956
2959
|
label,
|
|
2957
2960
|
color = "var(--color-primary)",
|
|
2958
2961
|
opacity = 1,
|
|
@@ -2964,7 +2967,7 @@ var AvlOrbital = ({
|
|
|
2964
2967
|
{
|
|
2965
2968
|
cx,
|
|
2966
2969
|
cy,
|
|
2967
|
-
r,
|
|
2970
|
+
r: r2,
|
|
2968
2971
|
fill: "none",
|
|
2969
2972
|
stroke: color,
|
|
2970
2973
|
strokeWidth: 2
|
|
@@ -2975,7 +2978,7 @@ var AvlOrbital = ({
|
|
|
2975
2978
|
{
|
|
2976
2979
|
cx,
|
|
2977
2980
|
cy,
|
|
2978
|
-
r,
|
|
2981
|
+
r: r2,
|
|
2979
2982
|
fill: color,
|
|
2980
2983
|
opacity: 0.03
|
|
2981
2984
|
}
|
|
@@ -2984,7 +2987,7 @@ var AvlOrbital = ({
|
|
|
2984
2987
|
"text",
|
|
2985
2988
|
{
|
|
2986
2989
|
x: cx,
|
|
2987
|
-
y: cy -
|
|
2990
|
+
y: cy - r2 - 8,
|
|
2988
2991
|
textAnchor: "middle",
|
|
2989
2992
|
fill: color,
|
|
2990
2993
|
fontSize: 11,
|
|
@@ -3011,7 +3014,7 @@ function persistenceStroke(kind) {
|
|
|
3011
3014
|
var AvlEntity = ({
|
|
3012
3015
|
x = 0,
|
|
3013
3016
|
y = 0,
|
|
3014
|
-
r = 18,
|
|
3017
|
+
r: r2 = 18,
|
|
3015
3018
|
fieldCount = 0,
|
|
3016
3019
|
persistence = "persistent",
|
|
3017
3020
|
label,
|
|
@@ -3022,8 +3025,8 @@ var AvlEntity = ({
|
|
|
3022
3025
|
const strokeProps = persistenceStroke(persistence);
|
|
3023
3026
|
const facets = Array.from({ length: fieldCount }, (_, i) => {
|
|
3024
3027
|
const angle = Math.PI * 2 * i / fieldCount - Math.PI / 2;
|
|
3025
|
-
const innerR =
|
|
3026
|
-
const outerR =
|
|
3028
|
+
const innerR = r2 + 2;
|
|
3029
|
+
const outerR = r2 + 10;
|
|
3027
3030
|
return {
|
|
3028
3031
|
x1: x + innerR * Math.cos(angle),
|
|
3029
3032
|
y1: y + innerR * Math.sin(angle),
|
|
@@ -3032,13 +3035,13 @@ var AvlEntity = ({
|
|
|
3032
3035
|
};
|
|
3033
3036
|
});
|
|
3034
3037
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
|
|
3035
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: y, r, fill: color, opacity: 0.15 }),
|
|
3038
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: y, r: r2, fill: color, opacity: 0.15 }),
|
|
3036
3039
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3037
3040
|
"circle",
|
|
3038
3041
|
{
|
|
3039
3042
|
cx: x,
|
|
3040
3043
|
cy: y,
|
|
3041
|
-
r,
|
|
3044
|
+
r: r2,
|
|
3042
3045
|
fill: "none",
|
|
3043
3046
|
stroke: color,
|
|
3044
3047
|
strokeWidth: strokeProps.strokeWidth,
|
|
@@ -3050,7 +3053,7 @@ var AvlEntity = ({
|
|
|
3050
3053
|
{
|
|
3051
3054
|
cx: x,
|
|
3052
3055
|
cy: y,
|
|
3053
|
-
r:
|
|
3056
|
+
r: r2 - 4,
|
|
3054
3057
|
fill: "none",
|
|
3055
3058
|
stroke: color,
|
|
3056
3059
|
strokeWidth: 1.5
|
|
@@ -3073,7 +3076,7 @@ var AvlEntity = ({
|
|
|
3073
3076
|
"text",
|
|
3074
3077
|
{
|
|
3075
3078
|
x,
|
|
3076
|
-
y: y +
|
|
3079
|
+
y: y + r2 + (fieldCount > 0 ? 18 : 14),
|
|
3077
3080
|
textAnchor: "middle",
|
|
3078
3081
|
fill: color,
|
|
3079
3082
|
fontSize: 10,
|
|
@@ -3301,7 +3304,7 @@ var AvlTransition = ({
|
|
|
3301
3304
|
opacity = 1,
|
|
3302
3305
|
className
|
|
3303
3306
|
}) => {
|
|
3304
|
-
const ids =
|
|
3307
|
+
const ids = React26__default.default.useMemo(() => {
|
|
3305
3308
|
avlTransitionId += 1;
|
|
3306
3309
|
return { arrow: `avl-tr-${avlTransitionId}-arrow` };
|
|
3307
3310
|
}, []);
|
|
@@ -3975,23 +3978,2772 @@ var AvlBindingRef = ({
|
|
|
3975
3978
|
};
|
|
3976
3979
|
AvlBindingRef.displayName = "AvlBindingRef";
|
|
3977
3980
|
|
|
3981
|
+
// node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
3982
|
+
function r(e) {
|
|
3983
|
+
var t, f, n = "";
|
|
3984
|
+
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
3985
|
+
else if ("object" == typeof e) if (Array.isArray(e)) {
|
|
3986
|
+
var o = e.length;
|
|
3987
|
+
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
3988
|
+
} else for (f in e) e[f] && (n && (n += " "), n += f);
|
|
3989
|
+
return n;
|
|
3990
|
+
}
|
|
3991
|
+
function clsx() {
|
|
3992
|
+
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
3993
|
+
return n;
|
|
3994
|
+
}
|
|
3995
|
+
|
|
3996
|
+
// node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
3997
|
+
var CLASS_PART_SEPARATOR = "-";
|
|
3998
|
+
var createClassGroupUtils = (config) => {
|
|
3999
|
+
const classMap = createClassMap(config);
|
|
4000
|
+
const {
|
|
4001
|
+
conflictingClassGroups,
|
|
4002
|
+
conflictingClassGroupModifiers
|
|
4003
|
+
} = config;
|
|
4004
|
+
const getClassGroupId = (className) => {
|
|
4005
|
+
const classParts = className.split(CLASS_PART_SEPARATOR);
|
|
4006
|
+
if (classParts[0] === "" && classParts.length !== 1) {
|
|
4007
|
+
classParts.shift();
|
|
4008
|
+
}
|
|
4009
|
+
return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
|
|
4010
|
+
};
|
|
4011
|
+
const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
|
|
4012
|
+
const conflicts = conflictingClassGroups[classGroupId] || [];
|
|
4013
|
+
if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
|
|
4014
|
+
return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
|
|
4015
|
+
}
|
|
4016
|
+
return conflicts;
|
|
4017
|
+
};
|
|
4018
|
+
return {
|
|
4019
|
+
getClassGroupId,
|
|
4020
|
+
getConflictingClassGroupIds
|
|
4021
|
+
};
|
|
4022
|
+
};
|
|
4023
|
+
var getGroupRecursive = (classParts, classPartObject) => {
|
|
4024
|
+
if (classParts.length === 0) {
|
|
4025
|
+
return classPartObject.classGroupId;
|
|
4026
|
+
}
|
|
4027
|
+
const currentClassPart = classParts[0];
|
|
4028
|
+
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
4029
|
+
const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
|
|
4030
|
+
if (classGroupFromNextClassPart) {
|
|
4031
|
+
return classGroupFromNextClassPart;
|
|
4032
|
+
}
|
|
4033
|
+
if (classPartObject.validators.length === 0) {
|
|
4034
|
+
return void 0;
|
|
4035
|
+
}
|
|
4036
|
+
const classRest = classParts.join(CLASS_PART_SEPARATOR);
|
|
4037
|
+
return classPartObject.validators.find(({
|
|
4038
|
+
validator
|
|
4039
|
+
}) => validator(classRest))?.classGroupId;
|
|
4040
|
+
};
|
|
4041
|
+
var arbitraryPropertyRegex = /^\[(.+)\]$/;
|
|
4042
|
+
var getGroupIdForArbitraryProperty = (className) => {
|
|
4043
|
+
if (arbitraryPropertyRegex.test(className)) {
|
|
4044
|
+
const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
|
|
4045
|
+
const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(":"));
|
|
4046
|
+
if (property) {
|
|
4047
|
+
return "arbitrary.." + property;
|
|
4048
|
+
}
|
|
4049
|
+
}
|
|
4050
|
+
};
|
|
4051
|
+
var createClassMap = (config) => {
|
|
4052
|
+
const {
|
|
4053
|
+
theme,
|
|
4054
|
+
prefix
|
|
4055
|
+
} = config;
|
|
4056
|
+
const classMap = {
|
|
4057
|
+
nextPart: /* @__PURE__ */ new Map(),
|
|
4058
|
+
validators: []
|
|
4059
|
+
};
|
|
4060
|
+
const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
|
|
4061
|
+
prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
|
|
4062
|
+
processClassesRecursively(classGroup, classMap, classGroupId, theme);
|
|
4063
|
+
});
|
|
4064
|
+
return classMap;
|
|
4065
|
+
};
|
|
4066
|
+
var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
|
|
4067
|
+
classGroup.forEach((classDefinition) => {
|
|
4068
|
+
if (typeof classDefinition === "string") {
|
|
4069
|
+
const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
|
|
4070
|
+
classPartObjectToEdit.classGroupId = classGroupId;
|
|
4071
|
+
return;
|
|
4072
|
+
}
|
|
4073
|
+
if (typeof classDefinition === "function") {
|
|
4074
|
+
if (isThemeGetter(classDefinition)) {
|
|
4075
|
+
processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
|
|
4076
|
+
return;
|
|
4077
|
+
}
|
|
4078
|
+
classPartObject.validators.push({
|
|
4079
|
+
validator: classDefinition,
|
|
4080
|
+
classGroupId
|
|
4081
|
+
});
|
|
4082
|
+
return;
|
|
4083
|
+
}
|
|
4084
|
+
Object.entries(classDefinition).forEach(([key, classGroup2]) => {
|
|
4085
|
+
processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
|
|
4086
|
+
});
|
|
4087
|
+
});
|
|
4088
|
+
};
|
|
4089
|
+
var getPart = (classPartObject, path) => {
|
|
4090
|
+
let currentClassPartObject = classPartObject;
|
|
4091
|
+
path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
|
|
4092
|
+
if (!currentClassPartObject.nextPart.has(pathPart)) {
|
|
4093
|
+
currentClassPartObject.nextPart.set(pathPart, {
|
|
4094
|
+
nextPart: /* @__PURE__ */ new Map(),
|
|
4095
|
+
validators: []
|
|
4096
|
+
});
|
|
4097
|
+
}
|
|
4098
|
+
currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
|
|
4099
|
+
});
|
|
4100
|
+
return currentClassPartObject;
|
|
4101
|
+
};
|
|
4102
|
+
var isThemeGetter = (func) => func.isThemeGetter;
|
|
4103
|
+
var getPrefixedClassGroupEntries = (classGroupEntries, prefix) => {
|
|
4104
|
+
if (!prefix) {
|
|
4105
|
+
return classGroupEntries;
|
|
4106
|
+
}
|
|
4107
|
+
return classGroupEntries.map(([classGroupId, classGroup]) => {
|
|
4108
|
+
const prefixedClassGroup = classGroup.map((classDefinition) => {
|
|
4109
|
+
if (typeof classDefinition === "string") {
|
|
4110
|
+
return prefix + classDefinition;
|
|
4111
|
+
}
|
|
4112
|
+
if (typeof classDefinition === "object") {
|
|
4113
|
+
return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
|
|
4114
|
+
}
|
|
4115
|
+
return classDefinition;
|
|
4116
|
+
});
|
|
4117
|
+
return [classGroupId, prefixedClassGroup];
|
|
4118
|
+
});
|
|
4119
|
+
};
|
|
4120
|
+
var createLruCache = (maxCacheSize) => {
|
|
4121
|
+
if (maxCacheSize < 1) {
|
|
4122
|
+
return {
|
|
4123
|
+
get: () => void 0,
|
|
4124
|
+
set: () => {
|
|
4125
|
+
}
|
|
4126
|
+
};
|
|
4127
|
+
}
|
|
4128
|
+
let cacheSize = 0;
|
|
4129
|
+
let cache = /* @__PURE__ */ new Map();
|
|
4130
|
+
let previousCache = /* @__PURE__ */ new Map();
|
|
4131
|
+
const update = (key, value) => {
|
|
4132
|
+
cache.set(key, value);
|
|
4133
|
+
cacheSize++;
|
|
4134
|
+
if (cacheSize > maxCacheSize) {
|
|
4135
|
+
cacheSize = 0;
|
|
4136
|
+
previousCache = cache;
|
|
4137
|
+
cache = /* @__PURE__ */ new Map();
|
|
4138
|
+
}
|
|
4139
|
+
};
|
|
4140
|
+
return {
|
|
4141
|
+
get(key) {
|
|
4142
|
+
let value = cache.get(key);
|
|
4143
|
+
if (value !== void 0) {
|
|
4144
|
+
return value;
|
|
4145
|
+
}
|
|
4146
|
+
if ((value = previousCache.get(key)) !== void 0) {
|
|
4147
|
+
update(key, value);
|
|
4148
|
+
return value;
|
|
4149
|
+
}
|
|
4150
|
+
},
|
|
4151
|
+
set(key, value) {
|
|
4152
|
+
if (cache.has(key)) {
|
|
4153
|
+
cache.set(key, value);
|
|
4154
|
+
} else {
|
|
4155
|
+
update(key, value);
|
|
4156
|
+
}
|
|
4157
|
+
}
|
|
4158
|
+
};
|
|
4159
|
+
};
|
|
4160
|
+
var IMPORTANT_MODIFIER = "!";
|
|
4161
|
+
var createParseClassName = (config) => {
|
|
4162
|
+
const {
|
|
4163
|
+
separator,
|
|
4164
|
+
experimentalParseClassName
|
|
4165
|
+
} = config;
|
|
4166
|
+
const isSeparatorSingleCharacter = separator.length === 1;
|
|
4167
|
+
const firstSeparatorCharacter = separator[0];
|
|
4168
|
+
const separatorLength = separator.length;
|
|
4169
|
+
const parseClassName = (className) => {
|
|
4170
|
+
const modifiers = [];
|
|
4171
|
+
let bracketDepth = 0;
|
|
4172
|
+
let modifierStart = 0;
|
|
4173
|
+
let postfixModifierPosition;
|
|
4174
|
+
for (let index = 0; index < className.length; index++) {
|
|
4175
|
+
let currentCharacter = className[index];
|
|
4176
|
+
if (bracketDepth === 0) {
|
|
4177
|
+
if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
|
|
4178
|
+
modifiers.push(className.slice(modifierStart, index));
|
|
4179
|
+
modifierStart = index + separatorLength;
|
|
4180
|
+
continue;
|
|
4181
|
+
}
|
|
4182
|
+
if (currentCharacter === "/") {
|
|
4183
|
+
postfixModifierPosition = index;
|
|
4184
|
+
continue;
|
|
4185
|
+
}
|
|
4186
|
+
}
|
|
4187
|
+
if (currentCharacter === "[") {
|
|
4188
|
+
bracketDepth++;
|
|
4189
|
+
} else if (currentCharacter === "]") {
|
|
4190
|
+
bracketDepth--;
|
|
4191
|
+
}
|
|
4192
|
+
}
|
|
4193
|
+
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
|
|
4194
|
+
const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
|
|
4195
|
+
const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
|
|
4196
|
+
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
|
|
4197
|
+
return {
|
|
4198
|
+
modifiers,
|
|
4199
|
+
hasImportantModifier,
|
|
4200
|
+
baseClassName,
|
|
4201
|
+
maybePostfixModifierPosition
|
|
4202
|
+
};
|
|
4203
|
+
};
|
|
4204
|
+
if (experimentalParseClassName) {
|
|
4205
|
+
return (className) => experimentalParseClassName({
|
|
4206
|
+
className,
|
|
4207
|
+
parseClassName
|
|
4208
|
+
});
|
|
4209
|
+
}
|
|
4210
|
+
return parseClassName;
|
|
4211
|
+
};
|
|
4212
|
+
var sortModifiers = (modifiers) => {
|
|
4213
|
+
if (modifiers.length <= 1) {
|
|
4214
|
+
return modifiers;
|
|
4215
|
+
}
|
|
4216
|
+
const sortedModifiers = [];
|
|
4217
|
+
let unsortedModifiers = [];
|
|
4218
|
+
modifiers.forEach((modifier) => {
|
|
4219
|
+
const isArbitraryVariant = modifier[0] === "[";
|
|
4220
|
+
if (isArbitraryVariant) {
|
|
4221
|
+
sortedModifiers.push(...unsortedModifiers.sort(), modifier);
|
|
4222
|
+
unsortedModifiers = [];
|
|
4223
|
+
} else {
|
|
4224
|
+
unsortedModifiers.push(modifier);
|
|
4225
|
+
}
|
|
4226
|
+
});
|
|
4227
|
+
sortedModifiers.push(...unsortedModifiers.sort());
|
|
4228
|
+
return sortedModifiers;
|
|
4229
|
+
};
|
|
4230
|
+
var createConfigUtils = (config) => ({
|
|
4231
|
+
cache: createLruCache(config.cacheSize),
|
|
4232
|
+
parseClassName: createParseClassName(config),
|
|
4233
|
+
...createClassGroupUtils(config)
|
|
4234
|
+
});
|
|
4235
|
+
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
4236
|
+
var mergeClassList = (classList, configUtils) => {
|
|
4237
|
+
const {
|
|
4238
|
+
parseClassName,
|
|
4239
|
+
getClassGroupId,
|
|
4240
|
+
getConflictingClassGroupIds
|
|
4241
|
+
} = configUtils;
|
|
4242
|
+
const classGroupsInConflict = [];
|
|
4243
|
+
const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
|
|
4244
|
+
let result = "";
|
|
4245
|
+
for (let index = classNames.length - 1; index >= 0; index -= 1) {
|
|
4246
|
+
const originalClassName = classNames[index];
|
|
4247
|
+
const {
|
|
4248
|
+
modifiers,
|
|
4249
|
+
hasImportantModifier,
|
|
4250
|
+
baseClassName,
|
|
4251
|
+
maybePostfixModifierPosition
|
|
4252
|
+
} = parseClassName(originalClassName);
|
|
4253
|
+
let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
|
|
4254
|
+
let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
|
4255
|
+
if (!classGroupId) {
|
|
4256
|
+
if (!hasPostfixModifier) {
|
|
4257
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
4258
|
+
continue;
|
|
4259
|
+
}
|
|
4260
|
+
classGroupId = getClassGroupId(baseClassName);
|
|
4261
|
+
if (!classGroupId) {
|
|
4262
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
4263
|
+
continue;
|
|
4264
|
+
}
|
|
4265
|
+
hasPostfixModifier = false;
|
|
4266
|
+
}
|
|
4267
|
+
const variantModifier = sortModifiers(modifiers).join(":");
|
|
4268
|
+
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
4269
|
+
const classId = modifierId + classGroupId;
|
|
4270
|
+
if (classGroupsInConflict.includes(classId)) {
|
|
4271
|
+
continue;
|
|
4272
|
+
}
|
|
4273
|
+
classGroupsInConflict.push(classId);
|
|
4274
|
+
const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
|
|
4275
|
+
for (let i = 0; i < conflictGroups.length; ++i) {
|
|
4276
|
+
const group = conflictGroups[i];
|
|
4277
|
+
classGroupsInConflict.push(modifierId + group);
|
|
4278
|
+
}
|
|
4279
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
4280
|
+
}
|
|
4281
|
+
return result;
|
|
4282
|
+
};
|
|
4283
|
+
function twJoin() {
|
|
4284
|
+
let index = 0;
|
|
4285
|
+
let argument;
|
|
4286
|
+
let resolvedValue;
|
|
4287
|
+
let string = "";
|
|
4288
|
+
while (index < arguments.length) {
|
|
4289
|
+
if (argument = arguments[index++]) {
|
|
4290
|
+
if (resolvedValue = toValue(argument)) {
|
|
4291
|
+
string && (string += " ");
|
|
4292
|
+
string += resolvedValue;
|
|
4293
|
+
}
|
|
4294
|
+
}
|
|
4295
|
+
}
|
|
4296
|
+
return string;
|
|
4297
|
+
}
|
|
4298
|
+
var toValue = (mix) => {
|
|
4299
|
+
if (typeof mix === "string") {
|
|
4300
|
+
return mix;
|
|
4301
|
+
}
|
|
4302
|
+
let resolvedValue;
|
|
4303
|
+
let string = "";
|
|
4304
|
+
for (let k = 0; k < mix.length; k++) {
|
|
4305
|
+
if (mix[k]) {
|
|
4306
|
+
if (resolvedValue = toValue(mix[k])) {
|
|
4307
|
+
string && (string += " ");
|
|
4308
|
+
string += resolvedValue;
|
|
4309
|
+
}
|
|
4310
|
+
}
|
|
4311
|
+
}
|
|
4312
|
+
return string;
|
|
4313
|
+
};
|
|
4314
|
+
function createTailwindMerge(createConfigFirst, ...createConfigRest) {
|
|
4315
|
+
let configUtils;
|
|
4316
|
+
let cacheGet;
|
|
4317
|
+
let cacheSet;
|
|
4318
|
+
let functionToCall = initTailwindMerge;
|
|
4319
|
+
function initTailwindMerge(classList) {
|
|
4320
|
+
const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
|
|
4321
|
+
configUtils = createConfigUtils(config);
|
|
4322
|
+
cacheGet = configUtils.cache.get;
|
|
4323
|
+
cacheSet = configUtils.cache.set;
|
|
4324
|
+
functionToCall = tailwindMerge;
|
|
4325
|
+
return tailwindMerge(classList);
|
|
4326
|
+
}
|
|
4327
|
+
function tailwindMerge(classList) {
|
|
4328
|
+
const cachedResult = cacheGet(classList);
|
|
4329
|
+
if (cachedResult) {
|
|
4330
|
+
return cachedResult;
|
|
4331
|
+
}
|
|
4332
|
+
const result = mergeClassList(classList, configUtils);
|
|
4333
|
+
cacheSet(classList, result);
|
|
4334
|
+
return result;
|
|
4335
|
+
}
|
|
4336
|
+
return function callTailwindMerge() {
|
|
4337
|
+
return functionToCall(twJoin.apply(null, arguments));
|
|
4338
|
+
};
|
|
4339
|
+
}
|
|
4340
|
+
var fromTheme = (key) => {
|
|
4341
|
+
const themeGetter = (theme) => theme[key] || [];
|
|
4342
|
+
themeGetter.isThemeGetter = true;
|
|
4343
|
+
return themeGetter;
|
|
4344
|
+
};
|
|
4345
|
+
var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
|
|
4346
|
+
var fractionRegex = /^\d+\/\d+$/;
|
|
4347
|
+
var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
|
|
4348
|
+
var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
|
|
4349
|
+
var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
|
|
4350
|
+
var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
|
|
4351
|
+
var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
|
|
4352
|
+
var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
|
|
4353
|
+
var isLength = (value) => isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
|
|
4354
|
+
var isArbitraryLength = (value) => getIsArbitraryValue(value, "length", isLengthOnly);
|
|
4355
|
+
var isNumber = (value) => Boolean(value) && !Number.isNaN(Number(value));
|
|
4356
|
+
var isArbitraryNumber = (value) => getIsArbitraryValue(value, "number", isNumber);
|
|
4357
|
+
var isInteger = (value) => Boolean(value) && Number.isInteger(Number(value));
|
|
4358
|
+
var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
|
|
4359
|
+
var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
|
|
4360
|
+
var isTshirtSize = (value) => tshirtUnitRegex.test(value);
|
|
4361
|
+
var sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
|
|
4362
|
+
var isArbitrarySize = (value) => getIsArbitraryValue(value, sizeLabels, isNever);
|
|
4363
|
+
var isArbitraryPosition = (value) => getIsArbitraryValue(value, "position", isNever);
|
|
4364
|
+
var imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
|
|
4365
|
+
var isArbitraryImage = (value) => getIsArbitraryValue(value, imageLabels, isImage);
|
|
4366
|
+
var isArbitraryShadow = (value) => getIsArbitraryValue(value, "", isShadow);
|
|
4367
|
+
var isAny = () => true;
|
|
4368
|
+
var getIsArbitraryValue = (value, label, testValue) => {
|
|
4369
|
+
const result = arbitraryValueRegex.exec(value);
|
|
4370
|
+
if (result) {
|
|
4371
|
+
if (result[1]) {
|
|
4372
|
+
return typeof label === "string" ? result[1] === label : label.has(result[1]);
|
|
4373
|
+
}
|
|
4374
|
+
return testValue(result[2]);
|
|
4375
|
+
}
|
|
4376
|
+
return false;
|
|
4377
|
+
};
|
|
4378
|
+
var isLengthOnly = (value) => (
|
|
4379
|
+
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
4380
|
+
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
4381
|
+
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
4382
|
+
lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
|
|
4383
|
+
);
|
|
4384
|
+
var isNever = () => false;
|
|
4385
|
+
var isShadow = (value) => shadowRegex.test(value);
|
|
4386
|
+
var isImage = (value) => imageRegex.test(value);
|
|
4387
|
+
var getDefaultConfig = () => {
|
|
4388
|
+
const colors = fromTheme("colors");
|
|
4389
|
+
const spacing = fromTheme("spacing");
|
|
4390
|
+
const blur = fromTheme("blur");
|
|
4391
|
+
const brightness = fromTheme("brightness");
|
|
4392
|
+
const borderColor = fromTheme("borderColor");
|
|
4393
|
+
const borderRadius = fromTheme("borderRadius");
|
|
4394
|
+
const borderSpacing = fromTheme("borderSpacing");
|
|
4395
|
+
const borderWidth = fromTheme("borderWidth");
|
|
4396
|
+
const contrast = fromTheme("contrast");
|
|
4397
|
+
const grayscale = fromTheme("grayscale");
|
|
4398
|
+
const hueRotate = fromTheme("hueRotate");
|
|
4399
|
+
const invert = fromTheme("invert");
|
|
4400
|
+
const gap = fromTheme("gap");
|
|
4401
|
+
const gradientColorStops = fromTheme("gradientColorStops");
|
|
4402
|
+
const gradientColorStopPositions = fromTheme("gradientColorStopPositions");
|
|
4403
|
+
const inset = fromTheme("inset");
|
|
4404
|
+
const margin = fromTheme("margin");
|
|
4405
|
+
const opacity = fromTheme("opacity");
|
|
4406
|
+
const padding = fromTheme("padding");
|
|
4407
|
+
const saturate = fromTheme("saturate");
|
|
4408
|
+
const scale = fromTheme("scale");
|
|
4409
|
+
const sepia = fromTheme("sepia");
|
|
4410
|
+
const skew = fromTheme("skew");
|
|
4411
|
+
const space = fromTheme("space");
|
|
4412
|
+
const translate = fromTheme("translate");
|
|
4413
|
+
const getOverscroll = () => ["auto", "contain", "none"];
|
|
4414
|
+
const getOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
|
|
4415
|
+
const getSpacingWithAutoAndArbitrary = () => ["auto", isArbitraryValue, spacing];
|
|
4416
|
+
const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
|
|
4417
|
+
const getLengthWithEmptyAndArbitrary = () => ["", isLength, isArbitraryLength];
|
|
4418
|
+
const getNumberWithAutoAndArbitrary = () => ["auto", isNumber, isArbitraryValue];
|
|
4419
|
+
const getPositions = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
|
|
4420
|
+
const getLineStyles = () => ["solid", "dashed", "dotted", "double", "none"];
|
|
4421
|
+
const getBlendModes = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
|
|
4422
|
+
const getAlign = () => ["start", "end", "center", "between", "around", "evenly", "stretch"];
|
|
4423
|
+
const getZeroAndEmpty = () => ["", "0", isArbitraryValue];
|
|
4424
|
+
const getBreaks = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
|
|
4425
|
+
const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
|
|
4426
|
+
return {
|
|
4427
|
+
cacheSize: 500,
|
|
4428
|
+
separator: ":",
|
|
4429
|
+
theme: {
|
|
4430
|
+
colors: [isAny],
|
|
4431
|
+
spacing: [isLength, isArbitraryLength],
|
|
4432
|
+
blur: ["none", "", isTshirtSize, isArbitraryValue],
|
|
4433
|
+
brightness: getNumberAndArbitrary(),
|
|
4434
|
+
borderColor: [colors],
|
|
4435
|
+
borderRadius: ["none", "", "full", isTshirtSize, isArbitraryValue],
|
|
4436
|
+
borderSpacing: getSpacingWithArbitrary(),
|
|
4437
|
+
borderWidth: getLengthWithEmptyAndArbitrary(),
|
|
4438
|
+
contrast: getNumberAndArbitrary(),
|
|
4439
|
+
grayscale: getZeroAndEmpty(),
|
|
4440
|
+
hueRotate: getNumberAndArbitrary(),
|
|
4441
|
+
invert: getZeroAndEmpty(),
|
|
4442
|
+
gap: getSpacingWithArbitrary(),
|
|
4443
|
+
gradientColorStops: [colors],
|
|
4444
|
+
gradientColorStopPositions: [isPercent, isArbitraryLength],
|
|
4445
|
+
inset: getSpacingWithAutoAndArbitrary(),
|
|
4446
|
+
margin: getSpacingWithAutoAndArbitrary(),
|
|
4447
|
+
opacity: getNumberAndArbitrary(),
|
|
4448
|
+
padding: getSpacingWithArbitrary(),
|
|
4449
|
+
saturate: getNumberAndArbitrary(),
|
|
4450
|
+
scale: getNumberAndArbitrary(),
|
|
4451
|
+
sepia: getZeroAndEmpty(),
|
|
4452
|
+
skew: getNumberAndArbitrary(),
|
|
4453
|
+
space: getSpacingWithArbitrary(),
|
|
4454
|
+
translate: getSpacingWithArbitrary()
|
|
4455
|
+
},
|
|
4456
|
+
classGroups: {
|
|
4457
|
+
// Layout
|
|
4458
|
+
/**
|
|
4459
|
+
* Aspect Ratio
|
|
4460
|
+
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
4461
|
+
*/
|
|
4462
|
+
aspect: [{
|
|
4463
|
+
aspect: ["auto", "square", "video", isArbitraryValue]
|
|
4464
|
+
}],
|
|
4465
|
+
/**
|
|
4466
|
+
* Container
|
|
4467
|
+
* @see https://tailwindcss.com/docs/container
|
|
4468
|
+
*/
|
|
4469
|
+
container: ["container"],
|
|
4470
|
+
/**
|
|
4471
|
+
* Columns
|
|
4472
|
+
* @see https://tailwindcss.com/docs/columns
|
|
4473
|
+
*/
|
|
4474
|
+
columns: [{
|
|
4475
|
+
columns: [isTshirtSize]
|
|
4476
|
+
}],
|
|
4477
|
+
/**
|
|
4478
|
+
* Break After
|
|
4479
|
+
* @see https://tailwindcss.com/docs/break-after
|
|
4480
|
+
*/
|
|
4481
|
+
"break-after": [{
|
|
4482
|
+
"break-after": getBreaks()
|
|
4483
|
+
}],
|
|
4484
|
+
/**
|
|
4485
|
+
* Break Before
|
|
4486
|
+
* @see https://tailwindcss.com/docs/break-before
|
|
4487
|
+
*/
|
|
4488
|
+
"break-before": [{
|
|
4489
|
+
"break-before": getBreaks()
|
|
4490
|
+
}],
|
|
4491
|
+
/**
|
|
4492
|
+
* Break Inside
|
|
4493
|
+
* @see https://tailwindcss.com/docs/break-inside
|
|
4494
|
+
*/
|
|
4495
|
+
"break-inside": [{
|
|
4496
|
+
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
4497
|
+
}],
|
|
4498
|
+
/**
|
|
4499
|
+
* Box Decoration Break
|
|
4500
|
+
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
4501
|
+
*/
|
|
4502
|
+
"box-decoration": [{
|
|
4503
|
+
"box-decoration": ["slice", "clone"]
|
|
4504
|
+
}],
|
|
4505
|
+
/**
|
|
4506
|
+
* Box Sizing
|
|
4507
|
+
* @see https://tailwindcss.com/docs/box-sizing
|
|
4508
|
+
*/
|
|
4509
|
+
box: [{
|
|
4510
|
+
box: ["border", "content"]
|
|
4511
|
+
}],
|
|
4512
|
+
/**
|
|
4513
|
+
* Display
|
|
4514
|
+
* @see https://tailwindcss.com/docs/display
|
|
4515
|
+
*/
|
|
4516
|
+
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
4517
|
+
/**
|
|
4518
|
+
* Floats
|
|
4519
|
+
* @see https://tailwindcss.com/docs/float
|
|
4520
|
+
*/
|
|
4521
|
+
float: [{
|
|
4522
|
+
float: ["right", "left", "none", "start", "end"]
|
|
4523
|
+
}],
|
|
4524
|
+
/**
|
|
4525
|
+
* Clear
|
|
4526
|
+
* @see https://tailwindcss.com/docs/clear
|
|
4527
|
+
*/
|
|
4528
|
+
clear: [{
|
|
4529
|
+
clear: ["left", "right", "both", "none", "start", "end"]
|
|
4530
|
+
}],
|
|
4531
|
+
/**
|
|
4532
|
+
* Isolation
|
|
4533
|
+
* @see https://tailwindcss.com/docs/isolation
|
|
4534
|
+
*/
|
|
4535
|
+
isolation: ["isolate", "isolation-auto"],
|
|
4536
|
+
/**
|
|
4537
|
+
* Object Fit
|
|
4538
|
+
* @see https://tailwindcss.com/docs/object-fit
|
|
4539
|
+
*/
|
|
4540
|
+
"object-fit": [{
|
|
4541
|
+
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
4542
|
+
}],
|
|
4543
|
+
/**
|
|
4544
|
+
* Object Position
|
|
4545
|
+
* @see https://tailwindcss.com/docs/object-position
|
|
4546
|
+
*/
|
|
4547
|
+
"object-position": [{
|
|
4548
|
+
object: [...getPositions(), isArbitraryValue]
|
|
4549
|
+
}],
|
|
4550
|
+
/**
|
|
4551
|
+
* Overflow
|
|
4552
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
4553
|
+
*/
|
|
4554
|
+
overflow: [{
|
|
4555
|
+
overflow: getOverflow()
|
|
4556
|
+
}],
|
|
4557
|
+
/**
|
|
4558
|
+
* Overflow X
|
|
4559
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
4560
|
+
*/
|
|
4561
|
+
"overflow-x": [{
|
|
4562
|
+
"overflow-x": getOverflow()
|
|
4563
|
+
}],
|
|
4564
|
+
/**
|
|
4565
|
+
* Overflow Y
|
|
4566
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
4567
|
+
*/
|
|
4568
|
+
"overflow-y": [{
|
|
4569
|
+
"overflow-y": getOverflow()
|
|
4570
|
+
}],
|
|
4571
|
+
/**
|
|
4572
|
+
* Overscroll Behavior
|
|
4573
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
4574
|
+
*/
|
|
4575
|
+
overscroll: [{
|
|
4576
|
+
overscroll: getOverscroll()
|
|
4577
|
+
}],
|
|
4578
|
+
/**
|
|
4579
|
+
* Overscroll Behavior X
|
|
4580
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
4581
|
+
*/
|
|
4582
|
+
"overscroll-x": [{
|
|
4583
|
+
"overscroll-x": getOverscroll()
|
|
4584
|
+
}],
|
|
4585
|
+
/**
|
|
4586
|
+
* Overscroll Behavior Y
|
|
4587
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
4588
|
+
*/
|
|
4589
|
+
"overscroll-y": [{
|
|
4590
|
+
"overscroll-y": getOverscroll()
|
|
4591
|
+
}],
|
|
4592
|
+
/**
|
|
4593
|
+
* Position
|
|
4594
|
+
* @see https://tailwindcss.com/docs/position
|
|
4595
|
+
*/
|
|
4596
|
+
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
4597
|
+
/**
|
|
4598
|
+
* Top / Right / Bottom / Left
|
|
4599
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4600
|
+
*/
|
|
4601
|
+
inset: [{
|
|
4602
|
+
inset: [inset]
|
|
4603
|
+
}],
|
|
4604
|
+
/**
|
|
4605
|
+
* Right / Left
|
|
4606
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4607
|
+
*/
|
|
4608
|
+
"inset-x": [{
|
|
4609
|
+
"inset-x": [inset]
|
|
4610
|
+
}],
|
|
4611
|
+
/**
|
|
4612
|
+
* Top / Bottom
|
|
4613
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4614
|
+
*/
|
|
4615
|
+
"inset-y": [{
|
|
4616
|
+
"inset-y": [inset]
|
|
4617
|
+
}],
|
|
4618
|
+
/**
|
|
4619
|
+
* Start
|
|
4620
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4621
|
+
*/
|
|
4622
|
+
start: [{
|
|
4623
|
+
start: [inset]
|
|
4624
|
+
}],
|
|
4625
|
+
/**
|
|
4626
|
+
* End
|
|
4627
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4628
|
+
*/
|
|
4629
|
+
end: [{
|
|
4630
|
+
end: [inset]
|
|
4631
|
+
}],
|
|
4632
|
+
/**
|
|
4633
|
+
* Top
|
|
4634
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4635
|
+
*/
|
|
4636
|
+
top: [{
|
|
4637
|
+
top: [inset]
|
|
4638
|
+
}],
|
|
4639
|
+
/**
|
|
4640
|
+
* Right
|
|
4641
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4642
|
+
*/
|
|
4643
|
+
right: [{
|
|
4644
|
+
right: [inset]
|
|
4645
|
+
}],
|
|
4646
|
+
/**
|
|
4647
|
+
* Bottom
|
|
4648
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4649
|
+
*/
|
|
4650
|
+
bottom: [{
|
|
4651
|
+
bottom: [inset]
|
|
4652
|
+
}],
|
|
4653
|
+
/**
|
|
4654
|
+
* Left
|
|
4655
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
4656
|
+
*/
|
|
4657
|
+
left: [{
|
|
4658
|
+
left: [inset]
|
|
4659
|
+
}],
|
|
4660
|
+
/**
|
|
4661
|
+
* Visibility
|
|
4662
|
+
* @see https://tailwindcss.com/docs/visibility
|
|
4663
|
+
*/
|
|
4664
|
+
visibility: ["visible", "invisible", "collapse"],
|
|
4665
|
+
/**
|
|
4666
|
+
* Z-Index
|
|
4667
|
+
* @see https://tailwindcss.com/docs/z-index
|
|
4668
|
+
*/
|
|
4669
|
+
z: [{
|
|
4670
|
+
z: ["auto", isInteger, isArbitraryValue]
|
|
4671
|
+
}],
|
|
4672
|
+
// Flexbox and Grid
|
|
4673
|
+
/**
|
|
4674
|
+
* Flex Basis
|
|
4675
|
+
* @see https://tailwindcss.com/docs/flex-basis
|
|
4676
|
+
*/
|
|
4677
|
+
basis: [{
|
|
4678
|
+
basis: getSpacingWithAutoAndArbitrary()
|
|
4679
|
+
}],
|
|
4680
|
+
/**
|
|
4681
|
+
* Flex Direction
|
|
4682
|
+
* @see https://tailwindcss.com/docs/flex-direction
|
|
4683
|
+
*/
|
|
4684
|
+
"flex-direction": [{
|
|
4685
|
+
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
4686
|
+
}],
|
|
4687
|
+
/**
|
|
4688
|
+
* Flex Wrap
|
|
4689
|
+
* @see https://tailwindcss.com/docs/flex-wrap
|
|
4690
|
+
*/
|
|
4691
|
+
"flex-wrap": [{
|
|
4692
|
+
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
4693
|
+
}],
|
|
4694
|
+
/**
|
|
4695
|
+
* Flex
|
|
4696
|
+
* @see https://tailwindcss.com/docs/flex
|
|
4697
|
+
*/
|
|
4698
|
+
flex: [{
|
|
4699
|
+
flex: ["1", "auto", "initial", "none", isArbitraryValue]
|
|
4700
|
+
}],
|
|
4701
|
+
/**
|
|
4702
|
+
* Flex Grow
|
|
4703
|
+
* @see https://tailwindcss.com/docs/flex-grow
|
|
4704
|
+
*/
|
|
4705
|
+
grow: [{
|
|
4706
|
+
grow: getZeroAndEmpty()
|
|
4707
|
+
}],
|
|
4708
|
+
/**
|
|
4709
|
+
* Flex Shrink
|
|
4710
|
+
* @see https://tailwindcss.com/docs/flex-shrink
|
|
4711
|
+
*/
|
|
4712
|
+
shrink: [{
|
|
4713
|
+
shrink: getZeroAndEmpty()
|
|
4714
|
+
}],
|
|
4715
|
+
/**
|
|
4716
|
+
* Order
|
|
4717
|
+
* @see https://tailwindcss.com/docs/order
|
|
4718
|
+
*/
|
|
4719
|
+
order: [{
|
|
4720
|
+
order: ["first", "last", "none", isInteger, isArbitraryValue]
|
|
4721
|
+
}],
|
|
4722
|
+
/**
|
|
4723
|
+
* Grid Template Columns
|
|
4724
|
+
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
4725
|
+
*/
|
|
4726
|
+
"grid-cols": [{
|
|
4727
|
+
"grid-cols": [isAny]
|
|
4728
|
+
}],
|
|
4729
|
+
/**
|
|
4730
|
+
* Grid Column Start / End
|
|
4731
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
4732
|
+
*/
|
|
4733
|
+
"col-start-end": [{
|
|
4734
|
+
col: ["auto", {
|
|
4735
|
+
span: ["full", isInteger, isArbitraryValue]
|
|
4736
|
+
}, isArbitraryValue]
|
|
4737
|
+
}],
|
|
4738
|
+
/**
|
|
4739
|
+
* Grid Column Start
|
|
4740
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
4741
|
+
*/
|
|
4742
|
+
"col-start": [{
|
|
4743
|
+
"col-start": getNumberWithAutoAndArbitrary()
|
|
4744
|
+
}],
|
|
4745
|
+
/**
|
|
4746
|
+
* Grid Column End
|
|
4747
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
4748
|
+
*/
|
|
4749
|
+
"col-end": [{
|
|
4750
|
+
"col-end": getNumberWithAutoAndArbitrary()
|
|
4751
|
+
}],
|
|
4752
|
+
/**
|
|
4753
|
+
* Grid Template Rows
|
|
4754
|
+
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
4755
|
+
*/
|
|
4756
|
+
"grid-rows": [{
|
|
4757
|
+
"grid-rows": [isAny]
|
|
4758
|
+
}],
|
|
4759
|
+
/**
|
|
4760
|
+
* Grid Row Start / End
|
|
4761
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
4762
|
+
*/
|
|
4763
|
+
"row-start-end": [{
|
|
4764
|
+
row: ["auto", {
|
|
4765
|
+
span: [isInteger, isArbitraryValue]
|
|
4766
|
+
}, isArbitraryValue]
|
|
4767
|
+
}],
|
|
4768
|
+
/**
|
|
4769
|
+
* Grid Row Start
|
|
4770
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
4771
|
+
*/
|
|
4772
|
+
"row-start": [{
|
|
4773
|
+
"row-start": getNumberWithAutoAndArbitrary()
|
|
4774
|
+
}],
|
|
4775
|
+
/**
|
|
4776
|
+
* Grid Row End
|
|
4777
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
4778
|
+
*/
|
|
4779
|
+
"row-end": [{
|
|
4780
|
+
"row-end": getNumberWithAutoAndArbitrary()
|
|
4781
|
+
}],
|
|
4782
|
+
/**
|
|
4783
|
+
* Grid Auto Flow
|
|
4784
|
+
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
4785
|
+
*/
|
|
4786
|
+
"grid-flow": [{
|
|
4787
|
+
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
4788
|
+
}],
|
|
4789
|
+
/**
|
|
4790
|
+
* Grid Auto Columns
|
|
4791
|
+
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
4792
|
+
*/
|
|
4793
|
+
"auto-cols": [{
|
|
4794
|
+
"auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
|
|
4795
|
+
}],
|
|
4796
|
+
/**
|
|
4797
|
+
* Grid Auto Rows
|
|
4798
|
+
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
4799
|
+
*/
|
|
4800
|
+
"auto-rows": [{
|
|
4801
|
+
"auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
|
|
4802
|
+
}],
|
|
4803
|
+
/**
|
|
4804
|
+
* Gap
|
|
4805
|
+
* @see https://tailwindcss.com/docs/gap
|
|
4806
|
+
*/
|
|
4807
|
+
gap: [{
|
|
4808
|
+
gap: [gap]
|
|
4809
|
+
}],
|
|
4810
|
+
/**
|
|
4811
|
+
* Gap X
|
|
4812
|
+
* @see https://tailwindcss.com/docs/gap
|
|
4813
|
+
*/
|
|
4814
|
+
"gap-x": [{
|
|
4815
|
+
"gap-x": [gap]
|
|
4816
|
+
}],
|
|
4817
|
+
/**
|
|
4818
|
+
* Gap Y
|
|
4819
|
+
* @see https://tailwindcss.com/docs/gap
|
|
4820
|
+
*/
|
|
4821
|
+
"gap-y": [{
|
|
4822
|
+
"gap-y": [gap]
|
|
4823
|
+
}],
|
|
4824
|
+
/**
|
|
4825
|
+
* Justify Content
|
|
4826
|
+
* @see https://tailwindcss.com/docs/justify-content
|
|
4827
|
+
*/
|
|
4828
|
+
"justify-content": [{
|
|
4829
|
+
justify: ["normal", ...getAlign()]
|
|
4830
|
+
}],
|
|
4831
|
+
/**
|
|
4832
|
+
* Justify Items
|
|
4833
|
+
* @see https://tailwindcss.com/docs/justify-items
|
|
4834
|
+
*/
|
|
4835
|
+
"justify-items": [{
|
|
4836
|
+
"justify-items": ["start", "end", "center", "stretch"]
|
|
4837
|
+
}],
|
|
4838
|
+
/**
|
|
4839
|
+
* Justify Self
|
|
4840
|
+
* @see https://tailwindcss.com/docs/justify-self
|
|
4841
|
+
*/
|
|
4842
|
+
"justify-self": [{
|
|
4843
|
+
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
4844
|
+
}],
|
|
4845
|
+
/**
|
|
4846
|
+
* Align Content
|
|
4847
|
+
* @see https://tailwindcss.com/docs/align-content
|
|
4848
|
+
*/
|
|
4849
|
+
"align-content": [{
|
|
4850
|
+
content: ["normal", ...getAlign(), "baseline"]
|
|
4851
|
+
}],
|
|
4852
|
+
/**
|
|
4853
|
+
* Align Items
|
|
4854
|
+
* @see https://tailwindcss.com/docs/align-items
|
|
4855
|
+
*/
|
|
4856
|
+
"align-items": [{
|
|
4857
|
+
items: ["start", "end", "center", "baseline", "stretch"]
|
|
4858
|
+
}],
|
|
4859
|
+
/**
|
|
4860
|
+
* Align Self
|
|
4861
|
+
* @see https://tailwindcss.com/docs/align-self
|
|
4862
|
+
*/
|
|
4863
|
+
"align-self": [{
|
|
4864
|
+
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
4865
|
+
}],
|
|
4866
|
+
/**
|
|
4867
|
+
* Place Content
|
|
4868
|
+
* @see https://tailwindcss.com/docs/place-content
|
|
4869
|
+
*/
|
|
4870
|
+
"place-content": [{
|
|
4871
|
+
"place-content": [...getAlign(), "baseline"]
|
|
4872
|
+
}],
|
|
4873
|
+
/**
|
|
4874
|
+
* Place Items
|
|
4875
|
+
* @see https://tailwindcss.com/docs/place-items
|
|
4876
|
+
*/
|
|
4877
|
+
"place-items": [{
|
|
4878
|
+
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
4879
|
+
}],
|
|
4880
|
+
/**
|
|
4881
|
+
* Place Self
|
|
4882
|
+
* @see https://tailwindcss.com/docs/place-self
|
|
4883
|
+
*/
|
|
4884
|
+
"place-self": [{
|
|
4885
|
+
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
4886
|
+
}],
|
|
4887
|
+
// Spacing
|
|
4888
|
+
/**
|
|
4889
|
+
* Padding
|
|
4890
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4891
|
+
*/
|
|
4892
|
+
p: [{
|
|
4893
|
+
p: [padding]
|
|
4894
|
+
}],
|
|
4895
|
+
/**
|
|
4896
|
+
* Padding X
|
|
4897
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4898
|
+
*/
|
|
4899
|
+
px: [{
|
|
4900
|
+
px: [padding]
|
|
4901
|
+
}],
|
|
4902
|
+
/**
|
|
4903
|
+
* Padding Y
|
|
4904
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4905
|
+
*/
|
|
4906
|
+
py: [{
|
|
4907
|
+
py: [padding]
|
|
4908
|
+
}],
|
|
4909
|
+
/**
|
|
4910
|
+
* Padding Start
|
|
4911
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4912
|
+
*/
|
|
4913
|
+
ps: [{
|
|
4914
|
+
ps: [padding]
|
|
4915
|
+
}],
|
|
4916
|
+
/**
|
|
4917
|
+
* Padding End
|
|
4918
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4919
|
+
*/
|
|
4920
|
+
pe: [{
|
|
4921
|
+
pe: [padding]
|
|
4922
|
+
}],
|
|
4923
|
+
/**
|
|
4924
|
+
* Padding Top
|
|
4925
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4926
|
+
*/
|
|
4927
|
+
pt: [{
|
|
4928
|
+
pt: [padding]
|
|
4929
|
+
}],
|
|
4930
|
+
/**
|
|
4931
|
+
* Padding Right
|
|
4932
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4933
|
+
*/
|
|
4934
|
+
pr: [{
|
|
4935
|
+
pr: [padding]
|
|
4936
|
+
}],
|
|
4937
|
+
/**
|
|
4938
|
+
* Padding Bottom
|
|
4939
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4940
|
+
*/
|
|
4941
|
+
pb: [{
|
|
4942
|
+
pb: [padding]
|
|
4943
|
+
}],
|
|
4944
|
+
/**
|
|
4945
|
+
* Padding Left
|
|
4946
|
+
* @see https://tailwindcss.com/docs/padding
|
|
4947
|
+
*/
|
|
4948
|
+
pl: [{
|
|
4949
|
+
pl: [padding]
|
|
4950
|
+
}],
|
|
4951
|
+
/**
|
|
4952
|
+
* Margin
|
|
4953
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4954
|
+
*/
|
|
4955
|
+
m: [{
|
|
4956
|
+
m: [margin]
|
|
4957
|
+
}],
|
|
4958
|
+
/**
|
|
4959
|
+
* Margin X
|
|
4960
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4961
|
+
*/
|
|
4962
|
+
mx: [{
|
|
4963
|
+
mx: [margin]
|
|
4964
|
+
}],
|
|
4965
|
+
/**
|
|
4966
|
+
* Margin Y
|
|
4967
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4968
|
+
*/
|
|
4969
|
+
my: [{
|
|
4970
|
+
my: [margin]
|
|
4971
|
+
}],
|
|
4972
|
+
/**
|
|
4973
|
+
* Margin Start
|
|
4974
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4975
|
+
*/
|
|
4976
|
+
ms: [{
|
|
4977
|
+
ms: [margin]
|
|
4978
|
+
}],
|
|
4979
|
+
/**
|
|
4980
|
+
* Margin End
|
|
4981
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4982
|
+
*/
|
|
4983
|
+
me: [{
|
|
4984
|
+
me: [margin]
|
|
4985
|
+
}],
|
|
4986
|
+
/**
|
|
4987
|
+
* Margin Top
|
|
4988
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4989
|
+
*/
|
|
4990
|
+
mt: [{
|
|
4991
|
+
mt: [margin]
|
|
4992
|
+
}],
|
|
4993
|
+
/**
|
|
4994
|
+
* Margin Right
|
|
4995
|
+
* @see https://tailwindcss.com/docs/margin
|
|
4996
|
+
*/
|
|
4997
|
+
mr: [{
|
|
4998
|
+
mr: [margin]
|
|
4999
|
+
}],
|
|
5000
|
+
/**
|
|
5001
|
+
* Margin Bottom
|
|
5002
|
+
* @see https://tailwindcss.com/docs/margin
|
|
5003
|
+
*/
|
|
5004
|
+
mb: [{
|
|
5005
|
+
mb: [margin]
|
|
5006
|
+
}],
|
|
5007
|
+
/**
|
|
5008
|
+
* Margin Left
|
|
5009
|
+
* @see https://tailwindcss.com/docs/margin
|
|
5010
|
+
*/
|
|
5011
|
+
ml: [{
|
|
5012
|
+
ml: [margin]
|
|
5013
|
+
}],
|
|
5014
|
+
/**
|
|
5015
|
+
* Space Between X
|
|
5016
|
+
* @see https://tailwindcss.com/docs/space
|
|
5017
|
+
*/
|
|
5018
|
+
"space-x": [{
|
|
5019
|
+
"space-x": [space]
|
|
5020
|
+
}],
|
|
5021
|
+
/**
|
|
5022
|
+
* Space Between X Reverse
|
|
5023
|
+
* @see https://tailwindcss.com/docs/space
|
|
5024
|
+
*/
|
|
5025
|
+
"space-x-reverse": ["space-x-reverse"],
|
|
5026
|
+
/**
|
|
5027
|
+
* Space Between Y
|
|
5028
|
+
* @see https://tailwindcss.com/docs/space
|
|
5029
|
+
*/
|
|
5030
|
+
"space-y": [{
|
|
5031
|
+
"space-y": [space]
|
|
5032
|
+
}],
|
|
5033
|
+
/**
|
|
5034
|
+
* Space Between Y Reverse
|
|
5035
|
+
* @see https://tailwindcss.com/docs/space
|
|
5036
|
+
*/
|
|
5037
|
+
"space-y-reverse": ["space-y-reverse"],
|
|
5038
|
+
// Sizing
|
|
5039
|
+
/**
|
|
5040
|
+
* Width
|
|
5041
|
+
* @see https://tailwindcss.com/docs/width
|
|
5042
|
+
*/
|
|
5043
|
+
w: [{
|
|
5044
|
+
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", isArbitraryValue, spacing]
|
|
5045
|
+
}],
|
|
5046
|
+
/**
|
|
5047
|
+
* Min-Width
|
|
5048
|
+
* @see https://tailwindcss.com/docs/min-width
|
|
5049
|
+
*/
|
|
5050
|
+
"min-w": [{
|
|
5051
|
+
"min-w": [isArbitraryValue, spacing, "min", "max", "fit"]
|
|
5052
|
+
}],
|
|
5053
|
+
/**
|
|
5054
|
+
* Max-Width
|
|
5055
|
+
* @see https://tailwindcss.com/docs/max-width
|
|
5056
|
+
*/
|
|
5057
|
+
"max-w": [{
|
|
5058
|
+
"max-w": [isArbitraryValue, spacing, "none", "full", "min", "max", "fit", "prose", {
|
|
5059
|
+
screen: [isTshirtSize]
|
|
5060
|
+
}, isTshirtSize]
|
|
5061
|
+
}],
|
|
5062
|
+
/**
|
|
5063
|
+
* Height
|
|
5064
|
+
* @see https://tailwindcss.com/docs/height
|
|
5065
|
+
*/
|
|
5066
|
+
h: [{
|
|
5067
|
+
h: [isArbitraryValue, spacing, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
5068
|
+
}],
|
|
5069
|
+
/**
|
|
5070
|
+
* Min-Height
|
|
5071
|
+
* @see https://tailwindcss.com/docs/min-height
|
|
5072
|
+
*/
|
|
5073
|
+
"min-h": [{
|
|
5074
|
+
"min-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
5075
|
+
}],
|
|
5076
|
+
/**
|
|
5077
|
+
* Max-Height
|
|
5078
|
+
* @see https://tailwindcss.com/docs/max-height
|
|
5079
|
+
*/
|
|
5080
|
+
"max-h": [{
|
|
5081
|
+
"max-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
5082
|
+
}],
|
|
5083
|
+
/**
|
|
5084
|
+
* Size
|
|
5085
|
+
* @see https://tailwindcss.com/docs/size
|
|
5086
|
+
*/
|
|
5087
|
+
size: [{
|
|
5088
|
+
size: [isArbitraryValue, spacing, "auto", "min", "max", "fit"]
|
|
5089
|
+
}],
|
|
5090
|
+
// Typography
|
|
5091
|
+
/**
|
|
5092
|
+
* Font Size
|
|
5093
|
+
* @see https://tailwindcss.com/docs/font-size
|
|
5094
|
+
*/
|
|
5095
|
+
"font-size": [{
|
|
5096
|
+
text: ["base", isTshirtSize, isArbitraryLength]
|
|
5097
|
+
}],
|
|
5098
|
+
/**
|
|
5099
|
+
* Font Smoothing
|
|
5100
|
+
* @see https://tailwindcss.com/docs/font-smoothing
|
|
5101
|
+
*/
|
|
5102
|
+
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
5103
|
+
/**
|
|
5104
|
+
* Font Style
|
|
5105
|
+
* @see https://tailwindcss.com/docs/font-style
|
|
5106
|
+
*/
|
|
5107
|
+
"font-style": ["italic", "not-italic"],
|
|
5108
|
+
/**
|
|
5109
|
+
* Font Weight
|
|
5110
|
+
* @see https://tailwindcss.com/docs/font-weight
|
|
5111
|
+
*/
|
|
5112
|
+
"font-weight": [{
|
|
5113
|
+
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
|
|
5114
|
+
}],
|
|
5115
|
+
/**
|
|
5116
|
+
* Font Family
|
|
5117
|
+
* @see https://tailwindcss.com/docs/font-family
|
|
5118
|
+
*/
|
|
5119
|
+
"font-family": [{
|
|
5120
|
+
font: [isAny]
|
|
5121
|
+
}],
|
|
5122
|
+
/**
|
|
5123
|
+
* Font Variant Numeric
|
|
5124
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
5125
|
+
*/
|
|
5126
|
+
"fvn-normal": ["normal-nums"],
|
|
5127
|
+
/**
|
|
5128
|
+
* Font Variant Numeric
|
|
5129
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
5130
|
+
*/
|
|
5131
|
+
"fvn-ordinal": ["ordinal"],
|
|
5132
|
+
/**
|
|
5133
|
+
* Font Variant Numeric
|
|
5134
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
5135
|
+
*/
|
|
5136
|
+
"fvn-slashed-zero": ["slashed-zero"],
|
|
5137
|
+
/**
|
|
5138
|
+
* Font Variant Numeric
|
|
5139
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
5140
|
+
*/
|
|
5141
|
+
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
5142
|
+
/**
|
|
5143
|
+
* Font Variant Numeric
|
|
5144
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
5145
|
+
*/
|
|
5146
|
+
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
5147
|
+
/**
|
|
5148
|
+
* Font Variant Numeric
|
|
5149
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
5150
|
+
*/
|
|
5151
|
+
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
5152
|
+
/**
|
|
5153
|
+
* Letter Spacing
|
|
5154
|
+
* @see https://tailwindcss.com/docs/letter-spacing
|
|
5155
|
+
*/
|
|
5156
|
+
tracking: [{
|
|
5157
|
+
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryValue]
|
|
5158
|
+
}],
|
|
5159
|
+
/**
|
|
5160
|
+
* Line Clamp
|
|
5161
|
+
* @see https://tailwindcss.com/docs/line-clamp
|
|
5162
|
+
*/
|
|
5163
|
+
"line-clamp": [{
|
|
5164
|
+
"line-clamp": ["none", isNumber, isArbitraryNumber]
|
|
5165
|
+
}],
|
|
5166
|
+
/**
|
|
5167
|
+
* Line Height
|
|
5168
|
+
* @see https://tailwindcss.com/docs/line-height
|
|
5169
|
+
*/
|
|
5170
|
+
leading: [{
|
|
5171
|
+
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength, isArbitraryValue]
|
|
5172
|
+
}],
|
|
5173
|
+
/**
|
|
5174
|
+
* List Style Image
|
|
5175
|
+
* @see https://tailwindcss.com/docs/list-style-image
|
|
5176
|
+
*/
|
|
5177
|
+
"list-image": [{
|
|
5178
|
+
"list-image": ["none", isArbitraryValue]
|
|
5179
|
+
}],
|
|
5180
|
+
/**
|
|
5181
|
+
* List Style Type
|
|
5182
|
+
* @see https://tailwindcss.com/docs/list-style-type
|
|
5183
|
+
*/
|
|
5184
|
+
"list-style-type": [{
|
|
5185
|
+
list: ["none", "disc", "decimal", isArbitraryValue]
|
|
5186
|
+
}],
|
|
5187
|
+
/**
|
|
5188
|
+
* List Style Position
|
|
5189
|
+
* @see https://tailwindcss.com/docs/list-style-position
|
|
5190
|
+
*/
|
|
5191
|
+
"list-style-position": [{
|
|
5192
|
+
list: ["inside", "outside"]
|
|
5193
|
+
}],
|
|
5194
|
+
/**
|
|
5195
|
+
* Placeholder Color
|
|
5196
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
5197
|
+
* @see https://tailwindcss.com/docs/placeholder-color
|
|
5198
|
+
*/
|
|
5199
|
+
"placeholder-color": [{
|
|
5200
|
+
placeholder: [colors]
|
|
5201
|
+
}],
|
|
5202
|
+
/**
|
|
5203
|
+
* Placeholder Opacity
|
|
5204
|
+
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
5205
|
+
*/
|
|
5206
|
+
"placeholder-opacity": [{
|
|
5207
|
+
"placeholder-opacity": [opacity]
|
|
5208
|
+
}],
|
|
5209
|
+
/**
|
|
5210
|
+
* Text Alignment
|
|
5211
|
+
* @see https://tailwindcss.com/docs/text-align
|
|
5212
|
+
*/
|
|
5213
|
+
"text-alignment": [{
|
|
5214
|
+
text: ["left", "center", "right", "justify", "start", "end"]
|
|
5215
|
+
}],
|
|
5216
|
+
/**
|
|
5217
|
+
* Text Color
|
|
5218
|
+
* @see https://tailwindcss.com/docs/text-color
|
|
5219
|
+
*/
|
|
5220
|
+
"text-color": [{
|
|
5221
|
+
text: [colors]
|
|
5222
|
+
}],
|
|
5223
|
+
/**
|
|
5224
|
+
* Text Opacity
|
|
5225
|
+
* @see https://tailwindcss.com/docs/text-opacity
|
|
5226
|
+
*/
|
|
5227
|
+
"text-opacity": [{
|
|
5228
|
+
"text-opacity": [opacity]
|
|
5229
|
+
}],
|
|
5230
|
+
/**
|
|
5231
|
+
* Text Decoration
|
|
5232
|
+
* @see https://tailwindcss.com/docs/text-decoration
|
|
5233
|
+
*/
|
|
5234
|
+
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
5235
|
+
/**
|
|
5236
|
+
* Text Decoration Style
|
|
5237
|
+
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
5238
|
+
*/
|
|
5239
|
+
"text-decoration-style": [{
|
|
5240
|
+
decoration: [...getLineStyles(), "wavy"]
|
|
5241
|
+
}],
|
|
5242
|
+
/**
|
|
5243
|
+
* Text Decoration Thickness
|
|
5244
|
+
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
5245
|
+
*/
|
|
5246
|
+
"text-decoration-thickness": [{
|
|
5247
|
+
decoration: ["auto", "from-font", isLength, isArbitraryLength]
|
|
5248
|
+
}],
|
|
5249
|
+
/**
|
|
5250
|
+
* Text Underline Offset
|
|
5251
|
+
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
5252
|
+
*/
|
|
5253
|
+
"underline-offset": [{
|
|
5254
|
+
"underline-offset": ["auto", isLength, isArbitraryValue]
|
|
5255
|
+
}],
|
|
5256
|
+
/**
|
|
5257
|
+
* Text Decoration Color
|
|
5258
|
+
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
5259
|
+
*/
|
|
5260
|
+
"text-decoration-color": [{
|
|
5261
|
+
decoration: [colors]
|
|
5262
|
+
}],
|
|
5263
|
+
/**
|
|
5264
|
+
* Text Transform
|
|
5265
|
+
* @see https://tailwindcss.com/docs/text-transform
|
|
5266
|
+
*/
|
|
5267
|
+
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
5268
|
+
/**
|
|
5269
|
+
* Text Overflow
|
|
5270
|
+
* @see https://tailwindcss.com/docs/text-overflow
|
|
5271
|
+
*/
|
|
5272
|
+
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
5273
|
+
/**
|
|
5274
|
+
* Text Wrap
|
|
5275
|
+
* @see https://tailwindcss.com/docs/text-wrap
|
|
5276
|
+
*/
|
|
5277
|
+
"text-wrap": [{
|
|
5278
|
+
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
5279
|
+
}],
|
|
5280
|
+
/**
|
|
5281
|
+
* Text Indent
|
|
5282
|
+
* @see https://tailwindcss.com/docs/text-indent
|
|
5283
|
+
*/
|
|
5284
|
+
indent: [{
|
|
5285
|
+
indent: getSpacingWithArbitrary()
|
|
5286
|
+
}],
|
|
5287
|
+
/**
|
|
5288
|
+
* Vertical Alignment
|
|
5289
|
+
* @see https://tailwindcss.com/docs/vertical-align
|
|
5290
|
+
*/
|
|
5291
|
+
"vertical-align": [{
|
|
5292
|
+
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryValue]
|
|
5293
|
+
}],
|
|
5294
|
+
/**
|
|
5295
|
+
* Whitespace
|
|
5296
|
+
* @see https://tailwindcss.com/docs/whitespace
|
|
5297
|
+
*/
|
|
5298
|
+
whitespace: [{
|
|
5299
|
+
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
5300
|
+
}],
|
|
5301
|
+
/**
|
|
5302
|
+
* Word Break
|
|
5303
|
+
* @see https://tailwindcss.com/docs/word-break
|
|
5304
|
+
*/
|
|
5305
|
+
break: [{
|
|
5306
|
+
break: ["normal", "words", "all", "keep"]
|
|
5307
|
+
}],
|
|
5308
|
+
/**
|
|
5309
|
+
* Hyphens
|
|
5310
|
+
* @see https://tailwindcss.com/docs/hyphens
|
|
5311
|
+
*/
|
|
5312
|
+
hyphens: [{
|
|
5313
|
+
hyphens: ["none", "manual", "auto"]
|
|
5314
|
+
}],
|
|
5315
|
+
/**
|
|
5316
|
+
* Content
|
|
5317
|
+
* @see https://tailwindcss.com/docs/content
|
|
5318
|
+
*/
|
|
5319
|
+
content: [{
|
|
5320
|
+
content: ["none", isArbitraryValue]
|
|
5321
|
+
}],
|
|
5322
|
+
// Backgrounds
|
|
5323
|
+
/**
|
|
5324
|
+
* Background Attachment
|
|
5325
|
+
* @see https://tailwindcss.com/docs/background-attachment
|
|
5326
|
+
*/
|
|
5327
|
+
"bg-attachment": [{
|
|
5328
|
+
bg: ["fixed", "local", "scroll"]
|
|
5329
|
+
}],
|
|
5330
|
+
/**
|
|
5331
|
+
* Background Clip
|
|
5332
|
+
* @see https://tailwindcss.com/docs/background-clip
|
|
5333
|
+
*/
|
|
5334
|
+
"bg-clip": [{
|
|
5335
|
+
"bg-clip": ["border", "padding", "content", "text"]
|
|
5336
|
+
}],
|
|
5337
|
+
/**
|
|
5338
|
+
* Background Opacity
|
|
5339
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
5340
|
+
* @see https://tailwindcss.com/docs/background-opacity
|
|
5341
|
+
*/
|
|
5342
|
+
"bg-opacity": [{
|
|
5343
|
+
"bg-opacity": [opacity]
|
|
5344
|
+
}],
|
|
5345
|
+
/**
|
|
5346
|
+
* Background Origin
|
|
5347
|
+
* @see https://tailwindcss.com/docs/background-origin
|
|
5348
|
+
*/
|
|
5349
|
+
"bg-origin": [{
|
|
5350
|
+
"bg-origin": ["border", "padding", "content"]
|
|
5351
|
+
}],
|
|
5352
|
+
/**
|
|
5353
|
+
* Background Position
|
|
5354
|
+
* @see https://tailwindcss.com/docs/background-position
|
|
5355
|
+
*/
|
|
5356
|
+
"bg-position": [{
|
|
5357
|
+
bg: [...getPositions(), isArbitraryPosition]
|
|
5358
|
+
}],
|
|
5359
|
+
/**
|
|
5360
|
+
* Background Repeat
|
|
5361
|
+
* @see https://tailwindcss.com/docs/background-repeat
|
|
5362
|
+
*/
|
|
5363
|
+
"bg-repeat": [{
|
|
5364
|
+
bg: ["no-repeat", {
|
|
5365
|
+
repeat: ["", "x", "y", "round", "space"]
|
|
5366
|
+
}]
|
|
5367
|
+
}],
|
|
5368
|
+
/**
|
|
5369
|
+
* Background Size
|
|
5370
|
+
* @see https://tailwindcss.com/docs/background-size
|
|
5371
|
+
*/
|
|
5372
|
+
"bg-size": [{
|
|
5373
|
+
bg: ["auto", "cover", "contain", isArbitrarySize]
|
|
5374
|
+
}],
|
|
5375
|
+
/**
|
|
5376
|
+
* Background Image
|
|
5377
|
+
* @see https://tailwindcss.com/docs/background-image
|
|
5378
|
+
*/
|
|
5379
|
+
"bg-image": [{
|
|
5380
|
+
bg: ["none", {
|
|
5381
|
+
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
5382
|
+
}, isArbitraryImage]
|
|
5383
|
+
}],
|
|
5384
|
+
/**
|
|
5385
|
+
* Background Color
|
|
5386
|
+
* @see https://tailwindcss.com/docs/background-color
|
|
5387
|
+
*/
|
|
5388
|
+
"bg-color": [{
|
|
5389
|
+
bg: [colors]
|
|
5390
|
+
}],
|
|
5391
|
+
/**
|
|
5392
|
+
* Gradient Color Stops From Position
|
|
5393
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
5394
|
+
*/
|
|
5395
|
+
"gradient-from-pos": [{
|
|
5396
|
+
from: [gradientColorStopPositions]
|
|
5397
|
+
}],
|
|
5398
|
+
/**
|
|
5399
|
+
* Gradient Color Stops Via Position
|
|
5400
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
5401
|
+
*/
|
|
5402
|
+
"gradient-via-pos": [{
|
|
5403
|
+
via: [gradientColorStopPositions]
|
|
5404
|
+
}],
|
|
5405
|
+
/**
|
|
5406
|
+
* Gradient Color Stops To Position
|
|
5407
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
5408
|
+
*/
|
|
5409
|
+
"gradient-to-pos": [{
|
|
5410
|
+
to: [gradientColorStopPositions]
|
|
5411
|
+
}],
|
|
5412
|
+
/**
|
|
5413
|
+
* Gradient Color Stops From
|
|
5414
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
5415
|
+
*/
|
|
5416
|
+
"gradient-from": [{
|
|
5417
|
+
from: [gradientColorStops]
|
|
5418
|
+
}],
|
|
5419
|
+
/**
|
|
5420
|
+
* Gradient Color Stops Via
|
|
5421
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
5422
|
+
*/
|
|
5423
|
+
"gradient-via": [{
|
|
5424
|
+
via: [gradientColorStops]
|
|
5425
|
+
}],
|
|
5426
|
+
/**
|
|
5427
|
+
* Gradient Color Stops To
|
|
5428
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
5429
|
+
*/
|
|
5430
|
+
"gradient-to": [{
|
|
5431
|
+
to: [gradientColorStops]
|
|
5432
|
+
}],
|
|
5433
|
+
// Borders
|
|
5434
|
+
/**
|
|
5435
|
+
* Border Radius
|
|
5436
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5437
|
+
*/
|
|
5438
|
+
rounded: [{
|
|
5439
|
+
rounded: [borderRadius]
|
|
5440
|
+
}],
|
|
5441
|
+
/**
|
|
5442
|
+
* Border Radius Start
|
|
5443
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5444
|
+
*/
|
|
5445
|
+
"rounded-s": [{
|
|
5446
|
+
"rounded-s": [borderRadius]
|
|
5447
|
+
}],
|
|
5448
|
+
/**
|
|
5449
|
+
* Border Radius End
|
|
5450
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5451
|
+
*/
|
|
5452
|
+
"rounded-e": [{
|
|
5453
|
+
"rounded-e": [borderRadius]
|
|
5454
|
+
}],
|
|
5455
|
+
/**
|
|
5456
|
+
* Border Radius Top
|
|
5457
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5458
|
+
*/
|
|
5459
|
+
"rounded-t": [{
|
|
5460
|
+
"rounded-t": [borderRadius]
|
|
5461
|
+
}],
|
|
5462
|
+
/**
|
|
5463
|
+
* Border Radius Right
|
|
5464
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5465
|
+
*/
|
|
5466
|
+
"rounded-r": [{
|
|
5467
|
+
"rounded-r": [borderRadius]
|
|
5468
|
+
}],
|
|
5469
|
+
/**
|
|
5470
|
+
* Border Radius Bottom
|
|
5471
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5472
|
+
*/
|
|
5473
|
+
"rounded-b": [{
|
|
5474
|
+
"rounded-b": [borderRadius]
|
|
5475
|
+
}],
|
|
5476
|
+
/**
|
|
5477
|
+
* Border Radius Left
|
|
5478
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5479
|
+
*/
|
|
5480
|
+
"rounded-l": [{
|
|
5481
|
+
"rounded-l": [borderRadius]
|
|
5482
|
+
}],
|
|
5483
|
+
/**
|
|
5484
|
+
* Border Radius Start Start
|
|
5485
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5486
|
+
*/
|
|
5487
|
+
"rounded-ss": [{
|
|
5488
|
+
"rounded-ss": [borderRadius]
|
|
5489
|
+
}],
|
|
5490
|
+
/**
|
|
5491
|
+
* Border Radius Start End
|
|
5492
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5493
|
+
*/
|
|
5494
|
+
"rounded-se": [{
|
|
5495
|
+
"rounded-se": [borderRadius]
|
|
5496
|
+
}],
|
|
5497
|
+
/**
|
|
5498
|
+
* Border Radius End End
|
|
5499
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5500
|
+
*/
|
|
5501
|
+
"rounded-ee": [{
|
|
5502
|
+
"rounded-ee": [borderRadius]
|
|
5503
|
+
}],
|
|
5504
|
+
/**
|
|
5505
|
+
* Border Radius End Start
|
|
5506
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5507
|
+
*/
|
|
5508
|
+
"rounded-es": [{
|
|
5509
|
+
"rounded-es": [borderRadius]
|
|
5510
|
+
}],
|
|
5511
|
+
/**
|
|
5512
|
+
* Border Radius Top Left
|
|
5513
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5514
|
+
*/
|
|
5515
|
+
"rounded-tl": [{
|
|
5516
|
+
"rounded-tl": [borderRadius]
|
|
5517
|
+
}],
|
|
5518
|
+
/**
|
|
5519
|
+
* Border Radius Top Right
|
|
5520
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5521
|
+
*/
|
|
5522
|
+
"rounded-tr": [{
|
|
5523
|
+
"rounded-tr": [borderRadius]
|
|
5524
|
+
}],
|
|
5525
|
+
/**
|
|
5526
|
+
* Border Radius Bottom Right
|
|
5527
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5528
|
+
*/
|
|
5529
|
+
"rounded-br": [{
|
|
5530
|
+
"rounded-br": [borderRadius]
|
|
5531
|
+
}],
|
|
5532
|
+
/**
|
|
5533
|
+
* Border Radius Bottom Left
|
|
5534
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
5535
|
+
*/
|
|
5536
|
+
"rounded-bl": [{
|
|
5537
|
+
"rounded-bl": [borderRadius]
|
|
5538
|
+
}],
|
|
5539
|
+
/**
|
|
5540
|
+
* Border Width
|
|
5541
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5542
|
+
*/
|
|
5543
|
+
"border-w": [{
|
|
5544
|
+
border: [borderWidth]
|
|
5545
|
+
}],
|
|
5546
|
+
/**
|
|
5547
|
+
* Border Width X
|
|
5548
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5549
|
+
*/
|
|
5550
|
+
"border-w-x": [{
|
|
5551
|
+
"border-x": [borderWidth]
|
|
5552
|
+
}],
|
|
5553
|
+
/**
|
|
5554
|
+
* Border Width Y
|
|
5555
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5556
|
+
*/
|
|
5557
|
+
"border-w-y": [{
|
|
5558
|
+
"border-y": [borderWidth]
|
|
5559
|
+
}],
|
|
5560
|
+
/**
|
|
5561
|
+
* Border Width Start
|
|
5562
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5563
|
+
*/
|
|
5564
|
+
"border-w-s": [{
|
|
5565
|
+
"border-s": [borderWidth]
|
|
5566
|
+
}],
|
|
5567
|
+
/**
|
|
5568
|
+
* Border Width End
|
|
5569
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5570
|
+
*/
|
|
5571
|
+
"border-w-e": [{
|
|
5572
|
+
"border-e": [borderWidth]
|
|
5573
|
+
}],
|
|
5574
|
+
/**
|
|
5575
|
+
* Border Width Top
|
|
5576
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5577
|
+
*/
|
|
5578
|
+
"border-w-t": [{
|
|
5579
|
+
"border-t": [borderWidth]
|
|
5580
|
+
}],
|
|
5581
|
+
/**
|
|
5582
|
+
* Border Width Right
|
|
5583
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5584
|
+
*/
|
|
5585
|
+
"border-w-r": [{
|
|
5586
|
+
"border-r": [borderWidth]
|
|
5587
|
+
}],
|
|
5588
|
+
/**
|
|
5589
|
+
* Border Width Bottom
|
|
5590
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5591
|
+
*/
|
|
5592
|
+
"border-w-b": [{
|
|
5593
|
+
"border-b": [borderWidth]
|
|
5594
|
+
}],
|
|
5595
|
+
/**
|
|
5596
|
+
* Border Width Left
|
|
5597
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
5598
|
+
*/
|
|
5599
|
+
"border-w-l": [{
|
|
5600
|
+
"border-l": [borderWidth]
|
|
5601
|
+
}],
|
|
5602
|
+
/**
|
|
5603
|
+
* Border Opacity
|
|
5604
|
+
* @see https://tailwindcss.com/docs/border-opacity
|
|
5605
|
+
*/
|
|
5606
|
+
"border-opacity": [{
|
|
5607
|
+
"border-opacity": [opacity]
|
|
5608
|
+
}],
|
|
5609
|
+
/**
|
|
5610
|
+
* Border Style
|
|
5611
|
+
* @see https://tailwindcss.com/docs/border-style
|
|
5612
|
+
*/
|
|
5613
|
+
"border-style": [{
|
|
5614
|
+
border: [...getLineStyles(), "hidden"]
|
|
5615
|
+
}],
|
|
5616
|
+
/**
|
|
5617
|
+
* Divide Width X
|
|
5618
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
5619
|
+
*/
|
|
5620
|
+
"divide-x": [{
|
|
5621
|
+
"divide-x": [borderWidth]
|
|
5622
|
+
}],
|
|
5623
|
+
/**
|
|
5624
|
+
* Divide Width X Reverse
|
|
5625
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
5626
|
+
*/
|
|
5627
|
+
"divide-x-reverse": ["divide-x-reverse"],
|
|
5628
|
+
/**
|
|
5629
|
+
* Divide Width Y
|
|
5630
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
5631
|
+
*/
|
|
5632
|
+
"divide-y": [{
|
|
5633
|
+
"divide-y": [borderWidth]
|
|
5634
|
+
}],
|
|
5635
|
+
/**
|
|
5636
|
+
* Divide Width Y Reverse
|
|
5637
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
5638
|
+
*/
|
|
5639
|
+
"divide-y-reverse": ["divide-y-reverse"],
|
|
5640
|
+
/**
|
|
5641
|
+
* Divide Opacity
|
|
5642
|
+
* @see https://tailwindcss.com/docs/divide-opacity
|
|
5643
|
+
*/
|
|
5644
|
+
"divide-opacity": [{
|
|
5645
|
+
"divide-opacity": [opacity]
|
|
5646
|
+
}],
|
|
5647
|
+
/**
|
|
5648
|
+
* Divide Style
|
|
5649
|
+
* @see https://tailwindcss.com/docs/divide-style
|
|
5650
|
+
*/
|
|
5651
|
+
"divide-style": [{
|
|
5652
|
+
divide: getLineStyles()
|
|
5653
|
+
}],
|
|
5654
|
+
/**
|
|
5655
|
+
* Border Color
|
|
5656
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5657
|
+
*/
|
|
5658
|
+
"border-color": [{
|
|
5659
|
+
border: [borderColor]
|
|
5660
|
+
}],
|
|
5661
|
+
/**
|
|
5662
|
+
* Border Color X
|
|
5663
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5664
|
+
*/
|
|
5665
|
+
"border-color-x": [{
|
|
5666
|
+
"border-x": [borderColor]
|
|
5667
|
+
}],
|
|
5668
|
+
/**
|
|
5669
|
+
* Border Color Y
|
|
5670
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5671
|
+
*/
|
|
5672
|
+
"border-color-y": [{
|
|
5673
|
+
"border-y": [borderColor]
|
|
5674
|
+
}],
|
|
5675
|
+
/**
|
|
5676
|
+
* Border Color S
|
|
5677
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5678
|
+
*/
|
|
5679
|
+
"border-color-s": [{
|
|
5680
|
+
"border-s": [borderColor]
|
|
5681
|
+
}],
|
|
5682
|
+
/**
|
|
5683
|
+
* Border Color E
|
|
5684
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5685
|
+
*/
|
|
5686
|
+
"border-color-e": [{
|
|
5687
|
+
"border-e": [borderColor]
|
|
5688
|
+
}],
|
|
5689
|
+
/**
|
|
5690
|
+
* Border Color Top
|
|
5691
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5692
|
+
*/
|
|
5693
|
+
"border-color-t": [{
|
|
5694
|
+
"border-t": [borderColor]
|
|
5695
|
+
}],
|
|
5696
|
+
/**
|
|
5697
|
+
* Border Color Right
|
|
5698
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5699
|
+
*/
|
|
5700
|
+
"border-color-r": [{
|
|
5701
|
+
"border-r": [borderColor]
|
|
5702
|
+
}],
|
|
5703
|
+
/**
|
|
5704
|
+
* Border Color Bottom
|
|
5705
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5706
|
+
*/
|
|
5707
|
+
"border-color-b": [{
|
|
5708
|
+
"border-b": [borderColor]
|
|
5709
|
+
}],
|
|
5710
|
+
/**
|
|
5711
|
+
* Border Color Left
|
|
5712
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
5713
|
+
*/
|
|
5714
|
+
"border-color-l": [{
|
|
5715
|
+
"border-l": [borderColor]
|
|
5716
|
+
}],
|
|
5717
|
+
/**
|
|
5718
|
+
* Divide Color
|
|
5719
|
+
* @see https://tailwindcss.com/docs/divide-color
|
|
5720
|
+
*/
|
|
5721
|
+
"divide-color": [{
|
|
5722
|
+
divide: [borderColor]
|
|
5723
|
+
}],
|
|
5724
|
+
/**
|
|
5725
|
+
* Outline Style
|
|
5726
|
+
* @see https://tailwindcss.com/docs/outline-style
|
|
5727
|
+
*/
|
|
5728
|
+
"outline-style": [{
|
|
5729
|
+
outline: ["", ...getLineStyles()]
|
|
5730
|
+
}],
|
|
5731
|
+
/**
|
|
5732
|
+
* Outline Offset
|
|
5733
|
+
* @see https://tailwindcss.com/docs/outline-offset
|
|
5734
|
+
*/
|
|
5735
|
+
"outline-offset": [{
|
|
5736
|
+
"outline-offset": [isLength, isArbitraryValue]
|
|
5737
|
+
}],
|
|
5738
|
+
/**
|
|
5739
|
+
* Outline Width
|
|
5740
|
+
* @see https://tailwindcss.com/docs/outline-width
|
|
5741
|
+
*/
|
|
5742
|
+
"outline-w": [{
|
|
5743
|
+
outline: [isLength, isArbitraryLength]
|
|
5744
|
+
}],
|
|
5745
|
+
/**
|
|
5746
|
+
* Outline Color
|
|
5747
|
+
* @see https://tailwindcss.com/docs/outline-color
|
|
5748
|
+
*/
|
|
5749
|
+
"outline-color": [{
|
|
5750
|
+
outline: [colors]
|
|
5751
|
+
}],
|
|
5752
|
+
/**
|
|
5753
|
+
* Ring Width
|
|
5754
|
+
* @see https://tailwindcss.com/docs/ring-width
|
|
5755
|
+
*/
|
|
5756
|
+
"ring-w": [{
|
|
5757
|
+
ring: getLengthWithEmptyAndArbitrary()
|
|
5758
|
+
}],
|
|
5759
|
+
/**
|
|
5760
|
+
* Ring Width Inset
|
|
5761
|
+
* @see https://tailwindcss.com/docs/ring-width
|
|
5762
|
+
*/
|
|
5763
|
+
"ring-w-inset": ["ring-inset"],
|
|
5764
|
+
/**
|
|
5765
|
+
* Ring Color
|
|
5766
|
+
* @see https://tailwindcss.com/docs/ring-color
|
|
5767
|
+
*/
|
|
5768
|
+
"ring-color": [{
|
|
5769
|
+
ring: [colors]
|
|
5770
|
+
}],
|
|
5771
|
+
/**
|
|
5772
|
+
* Ring Opacity
|
|
5773
|
+
* @see https://tailwindcss.com/docs/ring-opacity
|
|
5774
|
+
*/
|
|
5775
|
+
"ring-opacity": [{
|
|
5776
|
+
"ring-opacity": [opacity]
|
|
5777
|
+
}],
|
|
5778
|
+
/**
|
|
5779
|
+
* Ring Offset Width
|
|
5780
|
+
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
5781
|
+
*/
|
|
5782
|
+
"ring-offset-w": [{
|
|
5783
|
+
"ring-offset": [isLength, isArbitraryLength]
|
|
5784
|
+
}],
|
|
5785
|
+
/**
|
|
5786
|
+
* Ring Offset Color
|
|
5787
|
+
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
5788
|
+
*/
|
|
5789
|
+
"ring-offset-color": [{
|
|
5790
|
+
"ring-offset": [colors]
|
|
5791
|
+
}],
|
|
5792
|
+
// Effects
|
|
5793
|
+
/**
|
|
5794
|
+
* Box Shadow
|
|
5795
|
+
* @see https://tailwindcss.com/docs/box-shadow
|
|
5796
|
+
*/
|
|
5797
|
+
shadow: [{
|
|
5798
|
+
shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
|
|
5799
|
+
}],
|
|
5800
|
+
/**
|
|
5801
|
+
* Box Shadow Color
|
|
5802
|
+
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
5803
|
+
*/
|
|
5804
|
+
"shadow-color": [{
|
|
5805
|
+
shadow: [isAny]
|
|
5806
|
+
}],
|
|
5807
|
+
/**
|
|
5808
|
+
* Opacity
|
|
5809
|
+
* @see https://tailwindcss.com/docs/opacity
|
|
5810
|
+
*/
|
|
5811
|
+
opacity: [{
|
|
5812
|
+
opacity: [opacity]
|
|
5813
|
+
}],
|
|
5814
|
+
/**
|
|
5815
|
+
* Mix Blend Mode
|
|
5816
|
+
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
5817
|
+
*/
|
|
5818
|
+
"mix-blend": [{
|
|
5819
|
+
"mix-blend": [...getBlendModes(), "plus-lighter", "plus-darker"]
|
|
5820
|
+
}],
|
|
5821
|
+
/**
|
|
5822
|
+
* Background Blend Mode
|
|
5823
|
+
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
5824
|
+
*/
|
|
5825
|
+
"bg-blend": [{
|
|
5826
|
+
"bg-blend": getBlendModes()
|
|
5827
|
+
}],
|
|
5828
|
+
// Filters
|
|
5829
|
+
/**
|
|
5830
|
+
* Filter
|
|
5831
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
5832
|
+
* @see https://tailwindcss.com/docs/filter
|
|
5833
|
+
*/
|
|
5834
|
+
filter: [{
|
|
5835
|
+
filter: ["", "none"]
|
|
5836
|
+
}],
|
|
5837
|
+
/**
|
|
5838
|
+
* Blur
|
|
5839
|
+
* @see https://tailwindcss.com/docs/blur
|
|
5840
|
+
*/
|
|
5841
|
+
blur: [{
|
|
5842
|
+
blur: [blur]
|
|
5843
|
+
}],
|
|
5844
|
+
/**
|
|
5845
|
+
* Brightness
|
|
5846
|
+
* @see https://tailwindcss.com/docs/brightness
|
|
5847
|
+
*/
|
|
5848
|
+
brightness: [{
|
|
5849
|
+
brightness: [brightness]
|
|
5850
|
+
}],
|
|
5851
|
+
/**
|
|
5852
|
+
* Contrast
|
|
5853
|
+
* @see https://tailwindcss.com/docs/contrast
|
|
5854
|
+
*/
|
|
5855
|
+
contrast: [{
|
|
5856
|
+
contrast: [contrast]
|
|
5857
|
+
}],
|
|
5858
|
+
/**
|
|
5859
|
+
* Drop Shadow
|
|
5860
|
+
* @see https://tailwindcss.com/docs/drop-shadow
|
|
5861
|
+
*/
|
|
5862
|
+
"drop-shadow": [{
|
|
5863
|
+
"drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
|
|
5864
|
+
}],
|
|
5865
|
+
/**
|
|
5866
|
+
* Grayscale
|
|
5867
|
+
* @see https://tailwindcss.com/docs/grayscale
|
|
5868
|
+
*/
|
|
5869
|
+
grayscale: [{
|
|
5870
|
+
grayscale: [grayscale]
|
|
5871
|
+
}],
|
|
5872
|
+
/**
|
|
5873
|
+
* Hue Rotate
|
|
5874
|
+
* @see https://tailwindcss.com/docs/hue-rotate
|
|
5875
|
+
*/
|
|
5876
|
+
"hue-rotate": [{
|
|
5877
|
+
"hue-rotate": [hueRotate]
|
|
5878
|
+
}],
|
|
5879
|
+
/**
|
|
5880
|
+
* Invert
|
|
5881
|
+
* @see https://tailwindcss.com/docs/invert
|
|
5882
|
+
*/
|
|
5883
|
+
invert: [{
|
|
5884
|
+
invert: [invert]
|
|
5885
|
+
}],
|
|
5886
|
+
/**
|
|
5887
|
+
* Saturate
|
|
5888
|
+
* @see https://tailwindcss.com/docs/saturate
|
|
5889
|
+
*/
|
|
5890
|
+
saturate: [{
|
|
5891
|
+
saturate: [saturate]
|
|
5892
|
+
}],
|
|
5893
|
+
/**
|
|
5894
|
+
* Sepia
|
|
5895
|
+
* @see https://tailwindcss.com/docs/sepia
|
|
5896
|
+
*/
|
|
5897
|
+
sepia: [{
|
|
5898
|
+
sepia: [sepia]
|
|
5899
|
+
}],
|
|
5900
|
+
/**
|
|
5901
|
+
* Backdrop Filter
|
|
5902
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
5903
|
+
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
5904
|
+
*/
|
|
5905
|
+
"backdrop-filter": [{
|
|
5906
|
+
"backdrop-filter": ["", "none"]
|
|
5907
|
+
}],
|
|
5908
|
+
/**
|
|
5909
|
+
* Backdrop Blur
|
|
5910
|
+
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
5911
|
+
*/
|
|
5912
|
+
"backdrop-blur": [{
|
|
5913
|
+
"backdrop-blur": [blur]
|
|
5914
|
+
}],
|
|
5915
|
+
/**
|
|
5916
|
+
* Backdrop Brightness
|
|
5917
|
+
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
5918
|
+
*/
|
|
5919
|
+
"backdrop-brightness": [{
|
|
5920
|
+
"backdrop-brightness": [brightness]
|
|
5921
|
+
}],
|
|
5922
|
+
/**
|
|
5923
|
+
* Backdrop Contrast
|
|
5924
|
+
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
5925
|
+
*/
|
|
5926
|
+
"backdrop-contrast": [{
|
|
5927
|
+
"backdrop-contrast": [contrast]
|
|
5928
|
+
}],
|
|
5929
|
+
/**
|
|
5930
|
+
* Backdrop Grayscale
|
|
5931
|
+
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
5932
|
+
*/
|
|
5933
|
+
"backdrop-grayscale": [{
|
|
5934
|
+
"backdrop-grayscale": [grayscale]
|
|
5935
|
+
}],
|
|
5936
|
+
/**
|
|
5937
|
+
* Backdrop Hue Rotate
|
|
5938
|
+
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
5939
|
+
*/
|
|
5940
|
+
"backdrop-hue-rotate": [{
|
|
5941
|
+
"backdrop-hue-rotate": [hueRotate]
|
|
5942
|
+
}],
|
|
5943
|
+
/**
|
|
5944
|
+
* Backdrop Invert
|
|
5945
|
+
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
5946
|
+
*/
|
|
5947
|
+
"backdrop-invert": [{
|
|
5948
|
+
"backdrop-invert": [invert]
|
|
5949
|
+
}],
|
|
5950
|
+
/**
|
|
5951
|
+
* Backdrop Opacity
|
|
5952
|
+
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
5953
|
+
*/
|
|
5954
|
+
"backdrop-opacity": [{
|
|
5955
|
+
"backdrop-opacity": [opacity]
|
|
5956
|
+
}],
|
|
5957
|
+
/**
|
|
5958
|
+
* Backdrop Saturate
|
|
5959
|
+
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
5960
|
+
*/
|
|
5961
|
+
"backdrop-saturate": [{
|
|
5962
|
+
"backdrop-saturate": [saturate]
|
|
5963
|
+
}],
|
|
5964
|
+
/**
|
|
5965
|
+
* Backdrop Sepia
|
|
5966
|
+
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
5967
|
+
*/
|
|
5968
|
+
"backdrop-sepia": [{
|
|
5969
|
+
"backdrop-sepia": [sepia]
|
|
5970
|
+
}],
|
|
5971
|
+
// Tables
|
|
5972
|
+
/**
|
|
5973
|
+
* Border Collapse
|
|
5974
|
+
* @see https://tailwindcss.com/docs/border-collapse
|
|
5975
|
+
*/
|
|
5976
|
+
"border-collapse": [{
|
|
5977
|
+
border: ["collapse", "separate"]
|
|
5978
|
+
}],
|
|
5979
|
+
/**
|
|
5980
|
+
* Border Spacing
|
|
5981
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
5982
|
+
*/
|
|
5983
|
+
"border-spacing": [{
|
|
5984
|
+
"border-spacing": [borderSpacing]
|
|
5985
|
+
}],
|
|
5986
|
+
/**
|
|
5987
|
+
* Border Spacing X
|
|
5988
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
5989
|
+
*/
|
|
5990
|
+
"border-spacing-x": [{
|
|
5991
|
+
"border-spacing-x": [borderSpacing]
|
|
5992
|
+
}],
|
|
5993
|
+
/**
|
|
5994
|
+
* Border Spacing Y
|
|
5995
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
5996
|
+
*/
|
|
5997
|
+
"border-spacing-y": [{
|
|
5998
|
+
"border-spacing-y": [borderSpacing]
|
|
5999
|
+
}],
|
|
6000
|
+
/**
|
|
6001
|
+
* Table Layout
|
|
6002
|
+
* @see https://tailwindcss.com/docs/table-layout
|
|
6003
|
+
*/
|
|
6004
|
+
"table-layout": [{
|
|
6005
|
+
table: ["auto", "fixed"]
|
|
6006
|
+
}],
|
|
6007
|
+
/**
|
|
6008
|
+
* Caption Side
|
|
6009
|
+
* @see https://tailwindcss.com/docs/caption-side
|
|
6010
|
+
*/
|
|
6011
|
+
caption: [{
|
|
6012
|
+
caption: ["top", "bottom"]
|
|
6013
|
+
}],
|
|
6014
|
+
// Transitions and Animation
|
|
6015
|
+
/**
|
|
6016
|
+
* Tranisition Property
|
|
6017
|
+
* @see https://tailwindcss.com/docs/transition-property
|
|
6018
|
+
*/
|
|
6019
|
+
transition: [{
|
|
6020
|
+
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
|
|
6021
|
+
}],
|
|
6022
|
+
/**
|
|
6023
|
+
* Transition Duration
|
|
6024
|
+
* @see https://tailwindcss.com/docs/transition-duration
|
|
6025
|
+
*/
|
|
6026
|
+
duration: [{
|
|
6027
|
+
duration: getNumberAndArbitrary()
|
|
6028
|
+
}],
|
|
6029
|
+
/**
|
|
6030
|
+
* Transition Timing Function
|
|
6031
|
+
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
6032
|
+
*/
|
|
6033
|
+
ease: [{
|
|
6034
|
+
ease: ["linear", "in", "out", "in-out", isArbitraryValue]
|
|
6035
|
+
}],
|
|
6036
|
+
/**
|
|
6037
|
+
* Transition Delay
|
|
6038
|
+
* @see https://tailwindcss.com/docs/transition-delay
|
|
6039
|
+
*/
|
|
6040
|
+
delay: [{
|
|
6041
|
+
delay: getNumberAndArbitrary()
|
|
6042
|
+
}],
|
|
6043
|
+
/**
|
|
6044
|
+
* Animation
|
|
6045
|
+
* @see https://tailwindcss.com/docs/animation
|
|
6046
|
+
*/
|
|
6047
|
+
animate: [{
|
|
6048
|
+
animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
|
|
6049
|
+
}],
|
|
6050
|
+
// Transforms
|
|
6051
|
+
/**
|
|
6052
|
+
* Transform
|
|
6053
|
+
* @see https://tailwindcss.com/docs/transform
|
|
6054
|
+
*/
|
|
6055
|
+
transform: [{
|
|
6056
|
+
transform: ["", "gpu", "none"]
|
|
6057
|
+
}],
|
|
6058
|
+
/**
|
|
6059
|
+
* Scale
|
|
6060
|
+
* @see https://tailwindcss.com/docs/scale
|
|
6061
|
+
*/
|
|
6062
|
+
scale: [{
|
|
6063
|
+
scale: [scale]
|
|
6064
|
+
}],
|
|
6065
|
+
/**
|
|
6066
|
+
* Scale X
|
|
6067
|
+
* @see https://tailwindcss.com/docs/scale
|
|
6068
|
+
*/
|
|
6069
|
+
"scale-x": [{
|
|
6070
|
+
"scale-x": [scale]
|
|
6071
|
+
}],
|
|
6072
|
+
/**
|
|
6073
|
+
* Scale Y
|
|
6074
|
+
* @see https://tailwindcss.com/docs/scale
|
|
6075
|
+
*/
|
|
6076
|
+
"scale-y": [{
|
|
6077
|
+
"scale-y": [scale]
|
|
6078
|
+
}],
|
|
6079
|
+
/**
|
|
6080
|
+
* Rotate
|
|
6081
|
+
* @see https://tailwindcss.com/docs/rotate
|
|
6082
|
+
*/
|
|
6083
|
+
rotate: [{
|
|
6084
|
+
rotate: [isInteger, isArbitraryValue]
|
|
6085
|
+
}],
|
|
6086
|
+
/**
|
|
6087
|
+
* Translate X
|
|
6088
|
+
* @see https://tailwindcss.com/docs/translate
|
|
6089
|
+
*/
|
|
6090
|
+
"translate-x": [{
|
|
6091
|
+
"translate-x": [translate]
|
|
6092
|
+
}],
|
|
6093
|
+
/**
|
|
6094
|
+
* Translate Y
|
|
6095
|
+
* @see https://tailwindcss.com/docs/translate
|
|
6096
|
+
*/
|
|
6097
|
+
"translate-y": [{
|
|
6098
|
+
"translate-y": [translate]
|
|
6099
|
+
}],
|
|
6100
|
+
/**
|
|
6101
|
+
* Skew X
|
|
6102
|
+
* @see https://tailwindcss.com/docs/skew
|
|
6103
|
+
*/
|
|
6104
|
+
"skew-x": [{
|
|
6105
|
+
"skew-x": [skew]
|
|
6106
|
+
}],
|
|
6107
|
+
/**
|
|
6108
|
+
* Skew Y
|
|
6109
|
+
* @see https://tailwindcss.com/docs/skew
|
|
6110
|
+
*/
|
|
6111
|
+
"skew-y": [{
|
|
6112
|
+
"skew-y": [skew]
|
|
6113
|
+
}],
|
|
6114
|
+
/**
|
|
6115
|
+
* Transform Origin
|
|
6116
|
+
* @see https://tailwindcss.com/docs/transform-origin
|
|
6117
|
+
*/
|
|
6118
|
+
"transform-origin": [{
|
|
6119
|
+
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
|
|
6120
|
+
}],
|
|
6121
|
+
// Interactivity
|
|
6122
|
+
/**
|
|
6123
|
+
* Accent Color
|
|
6124
|
+
* @see https://tailwindcss.com/docs/accent-color
|
|
6125
|
+
*/
|
|
6126
|
+
accent: [{
|
|
6127
|
+
accent: ["auto", colors]
|
|
6128
|
+
}],
|
|
6129
|
+
/**
|
|
6130
|
+
* Appearance
|
|
6131
|
+
* @see https://tailwindcss.com/docs/appearance
|
|
6132
|
+
*/
|
|
6133
|
+
appearance: [{
|
|
6134
|
+
appearance: ["none", "auto"]
|
|
6135
|
+
}],
|
|
6136
|
+
/**
|
|
6137
|
+
* Cursor
|
|
6138
|
+
* @see https://tailwindcss.com/docs/cursor
|
|
6139
|
+
*/
|
|
6140
|
+
cursor: [{
|
|
6141
|
+
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", isArbitraryValue]
|
|
6142
|
+
}],
|
|
6143
|
+
/**
|
|
6144
|
+
* Caret Color
|
|
6145
|
+
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
6146
|
+
*/
|
|
6147
|
+
"caret-color": [{
|
|
6148
|
+
caret: [colors]
|
|
6149
|
+
}],
|
|
6150
|
+
/**
|
|
6151
|
+
* Pointer Events
|
|
6152
|
+
* @see https://tailwindcss.com/docs/pointer-events
|
|
6153
|
+
*/
|
|
6154
|
+
"pointer-events": [{
|
|
6155
|
+
"pointer-events": ["none", "auto"]
|
|
6156
|
+
}],
|
|
6157
|
+
/**
|
|
6158
|
+
* Resize
|
|
6159
|
+
* @see https://tailwindcss.com/docs/resize
|
|
6160
|
+
*/
|
|
6161
|
+
resize: [{
|
|
6162
|
+
resize: ["none", "y", "x", ""]
|
|
6163
|
+
}],
|
|
6164
|
+
/**
|
|
6165
|
+
* Scroll Behavior
|
|
6166
|
+
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
6167
|
+
*/
|
|
6168
|
+
"scroll-behavior": [{
|
|
6169
|
+
scroll: ["auto", "smooth"]
|
|
6170
|
+
}],
|
|
6171
|
+
/**
|
|
6172
|
+
* Scroll Margin
|
|
6173
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6174
|
+
*/
|
|
6175
|
+
"scroll-m": [{
|
|
6176
|
+
"scroll-m": getSpacingWithArbitrary()
|
|
6177
|
+
}],
|
|
6178
|
+
/**
|
|
6179
|
+
* Scroll Margin X
|
|
6180
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6181
|
+
*/
|
|
6182
|
+
"scroll-mx": [{
|
|
6183
|
+
"scroll-mx": getSpacingWithArbitrary()
|
|
6184
|
+
}],
|
|
6185
|
+
/**
|
|
6186
|
+
* Scroll Margin Y
|
|
6187
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6188
|
+
*/
|
|
6189
|
+
"scroll-my": [{
|
|
6190
|
+
"scroll-my": getSpacingWithArbitrary()
|
|
6191
|
+
}],
|
|
6192
|
+
/**
|
|
6193
|
+
* Scroll Margin Start
|
|
6194
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6195
|
+
*/
|
|
6196
|
+
"scroll-ms": [{
|
|
6197
|
+
"scroll-ms": getSpacingWithArbitrary()
|
|
6198
|
+
}],
|
|
6199
|
+
/**
|
|
6200
|
+
* Scroll Margin End
|
|
6201
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6202
|
+
*/
|
|
6203
|
+
"scroll-me": [{
|
|
6204
|
+
"scroll-me": getSpacingWithArbitrary()
|
|
6205
|
+
}],
|
|
6206
|
+
/**
|
|
6207
|
+
* Scroll Margin Top
|
|
6208
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6209
|
+
*/
|
|
6210
|
+
"scroll-mt": [{
|
|
6211
|
+
"scroll-mt": getSpacingWithArbitrary()
|
|
6212
|
+
}],
|
|
6213
|
+
/**
|
|
6214
|
+
* Scroll Margin Right
|
|
6215
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6216
|
+
*/
|
|
6217
|
+
"scroll-mr": [{
|
|
6218
|
+
"scroll-mr": getSpacingWithArbitrary()
|
|
6219
|
+
}],
|
|
6220
|
+
/**
|
|
6221
|
+
* Scroll Margin Bottom
|
|
6222
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6223
|
+
*/
|
|
6224
|
+
"scroll-mb": [{
|
|
6225
|
+
"scroll-mb": getSpacingWithArbitrary()
|
|
6226
|
+
}],
|
|
6227
|
+
/**
|
|
6228
|
+
* Scroll Margin Left
|
|
6229
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
6230
|
+
*/
|
|
6231
|
+
"scroll-ml": [{
|
|
6232
|
+
"scroll-ml": getSpacingWithArbitrary()
|
|
6233
|
+
}],
|
|
6234
|
+
/**
|
|
6235
|
+
* Scroll Padding
|
|
6236
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6237
|
+
*/
|
|
6238
|
+
"scroll-p": [{
|
|
6239
|
+
"scroll-p": getSpacingWithArbitrary()
|
|
6240
|
+
}],
|
|
6241
|
+
/**
|
|
6242
|
+
* Scroll Padding X
|
|
6243
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6244
|
+
*/
|
|
6245
|
+
"scroll-px": [{
|
|
6246
|
+
"scroll-px": getSpacingWithArbitrary()
|
|
6247
|
+
}],
|
|
6248
|
+
/**
|
|
6249
|
+
* Scroll Padding Y
|
|
6250
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6251
|
+
*/
|
|
6252
|
+
"scroll-py": [{
|
|
6253
|
+
"scroll-py": getSpacingWithArbitrary()
|
|
6254
|
+
}],
|
|
6255
|
+
/**
|
|
6256
|
+
* Scroll Padding Start
|
|
6257
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6258
|
+
*/
|
|
6259
|
+
"scroll-ps": [{
|
|
6260
|
+
"scroll-ps": getSpacingWithArbitrary()
|
|
6261
|
+
}],
|
|
6262
|
+
/**
|
|
6263
|
+
* Scroll Padding End
|
|
6264
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6265
|
+
*/
|
|
6266
|
+
"scroll-pe": [{
|
|
6267
|
+
"scroll-pe": getSpacingWithArbitrary()
|
|
6268
|
+
}],
|
|
6269
|
+
/**
|
|
6270
|
+
* Scroll Padding Top
|
|
6271
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6272
|
+
*/
|
|
6273
|
+
"scroll-pt": [{
|
|
6274
|
+
"scroll-pt": getSpacingWithArbitrary()
|
|
6275
|
+
}],
|
|
6276
|
+
/**
|
|
6277
|
+
* Scroll Padding Right
|
|
6278
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6279
|
+
*/
|
|
6280
|
+
"scroll-pr": [{
|
|
6281
|
+
"scroll-pr": getSpacingWithArbitrary()
|
|
6282
|
+
}],
|
|
6283
|
+
/**
|
|
6284
|
+
* Scroll Padding Bottom
|
|
6285
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6286
|
+
*/
|
|
6287
|
+
"scroll-pb": [{
|
|
6288
|
+
"scroll-pb": getSpacingWithArbitrary()
|
|
6289
|
+
}],
|
|
6290
|
+
/**
|
|
6291
|
+
* Scroll Padding Left
|
|
6292
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
6293
|
+
*/
|
|
6294
|
+
"scroll-pl": [{
|
|
6295
|
+
"scroll-pl": getSpacingWithArbitrary()
|
|
6296
|
+
}],
|
|
6297
|
+
/**
|
|
6298
|
+
* Scroll Snap Align
|
|
6299
|
+
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
6300
|
+
*/
|
|
6301
|
+
"snap-align": [{
|
|
6302
|
+
snap: ["start", "end", "center", "align-none"]
|
|
6303
|
+
}],
|
|
6304
|
+
/**
|
|
6305
|
+
* Scroll Snap Stop
|
|
6306
|
+
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
6307
|
+
*/
|
|
6308
|
+
"snap-stop": [{
|
|
6309
|
+
snap: ["normal", "always"]
|
|
6310
|
+
}],
|
|
6311
|
+
/**
|
|
6312
|
+
* Scroll Snap Type
|
|
6313
|
+
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
6314
|
+
*/
|
|
6315
|
+
"snap-type": [{
|
|
6316
|
+
snap: ["none", "x", "y", "both"]
|
|
6317
|
+
}],
|
|
6318
|
+
/**
|
|
6319
|
+
* Scroll Snap Type Strictness
|
|
6320
|
+
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
6321
|
+
*/
|
|
6322
|
+
"snap-strictness": [{
|
|
6323
|
+
snap: ["mandatory", "proximity"]
|
|
6324
|
+
}],
|
|
6325
|
+
/**
|
|
6326
|
+
* Touch Action
|
|
6327
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
6328
|
+
*/
|
|
6329
|
+
touch: [{
|
|
6330
|
+
touch: ["auto", "none", "manipulation"]
|
|
6331
|
+
}],
|
|
6332
|
+
/**
|
|
6333
|
+
* Touch Action X
|
|
6334
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
6335
|
+
*/
|
|
6336
|
+
"touch-x": [{
|
|
6337
|
+
"touch-pan": ["x", "left", "right"]
|
|
6338
|
+
}],
|
|
6339
|
+
/**
|
|
6340
|
+
* Touch Action Y
|
|
6341
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
6342
|
+
*/
|
|
6343
|
+
"touch-y": [{
|
|
6344
|
+
"touch-pan": ["y", "up", "down"]
|
|
6345
|
+
}],
|
|
6346
|
+
/**
|
|
6347
|
+
* Touch Action Pinch Zoom
|
|
6348
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
6349
|
+
*/
|
|
6350
|
+
"touch-pz": ["touch-pinch-zoom"],
|
|
6351
|
+
/**
|
|
6352
|
+
* User Select
|
|
6353
|
+
* @see https://tailwindcss.com/docs/user-select
|
|
6354
|
+
*/
|
|
6355
|
+
select: [{
|
|
6356
|
+
select: ["none", "text", "all", "auto"]
|
|
6357
|
+
}],
|
|
6358
|
+
/**
|
|
6359
|
+
* Will Change
|
|
6360
|
+
* @see https://tailwindcss.com/docs/will-change
|
|
6361
|
+
*/
|
|
6362
|
+
"will-change": [{
|
|
6363
|
+
"will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
|
|
6364
|
+
}],
|
|
6365
|
+
// SVG
|
|
6366
|
+
/**
|
|
6367
|
+
* Fill
|
|
6368
|
+
* @see https://tailwindcss.com/docs/fill
|
|
6369
|
+
*/
|
|
6370
|
+
fill: [{
|
|
6371
|
+
fill: [colors, "none"]
|
|
6372
|
+
}],
|
|
6373
|
+
/**
|
|
6374
|
+
* Stroke Width
|
|
6375
|
+
* @see https://tailwindcss.com/docs/stroke-width
|
|
6376
|
+
*/
|
|
6377
|
+
"stroke-w": [{
|
|
6378
|
+
stroke: [isLength, isArbitraryLength, isArbitraryNumber]
|
|
6379
|
+
}],
|
|
6380
|
+
/**
|
|
6381
|
+
* Stroke
|
|
6382
|
+
* @see https://tailwindcss.com/docs/stroke
|
|
6383
|
+
*/
|
|
6384
|
+
stroke: [{
|
|
6385
|
+
stroke: [colors, "none"]
|
|
6386
|
+
}],
|
|
6387
|
+
// Accessibility
|
|
6388
|
+
/**
|
|
6389
|
+
* Screen Readers
|
|
6390
|
+
* @see https://tailwindcss.com/docs/screen-readers
|
|
6391
|
+
*/
|
|
6392
|
+
sr: ["sr-only", "not-sr-only"],
|
|
6393
|
+
/**
|
|
6394
|
+
* Forced Color Adjust
|
|
6395
|
+
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
6396
|
+
*/
|
|
6397
|
+
"forced-color-adjust": [{
|
|
6398
|
+
"forced-color-adjust": ["auto", "none"]
|
|
6399
|
+
}]
|
|
6400
|
+
},
|
|
6401
|
+
conflictingClassGroups: {
|
|
6402
|
+
overflow: ["overflow-x", "overflow-y"],
|
|
6403
|
+
overscroll: ["overscroll-x", "overscroll-y"],
|
|
6404
|
+
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
6405
|
+
"inset-x": ["right", "left"],
|
|
6406
|
+
"inset-y": ["top", "bottom"],
|
|
6407
|
+
flex: ["basis", "grow", "shrink"],
|
|
6408
|
+
gap: ["gap-x", "gap-y"],
|
|
6409
|
+
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
6410
|
+
px: ["pr", "pl"],
|
|
6411
|
+
py: ["pt", "pb"],
|
|
6412
|
+
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
6413
|
+
mx: ["mr", "ml"],
|
|
6414
|
+
my: ["mt", "mb"],
|
|
6415
|
+
size: ["w", "h"],
|
|
6416
|
+
"font-size": ["leading"],
|
|
6417
|
+
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
6418
|
+
"fvn-ordinal": ["fvn-normal"],
|
|
6419
|
+
"fvn-slashed-zero": ["fvn-normal"],
|
|
6420
|
+
"fvn-figure": ["fvn-normal"],
|
|
6421
|
+
"fvn-spacing": ["fvn-normal"],
|
|
6422
|
+
"fvn-fraction": ["fvn-normal"],
|
|
6423
|
+
"line-clamp": ["display", "overflow"],
|
|
6424
|
+
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
6425
|
+
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
6426
|
+
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
6427
|
+
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
6428
|
+
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
6429
|
+
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
6430
|
+
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
6431
|
+
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
6432
|
+
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
6433
|
+
"border-w-x": ["border-w-r", "border-w-l"],
|
|
6434
|
+
"border-w-y": ["border-w-t", "border-w-b"],
|
|
6435
|
+
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
6436
|
+
"border-color-x": ["border-color-r", "border-color-l"],
|
|
6437
|
+
"border-color-y": ["border-color-t", "border-color-b"],
|
|
6438
|
+
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
6439
|
+
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
6440
|
+
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
6441
|
+
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
6442
|
+
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
6443
|
+
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
6444
|
+
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
6445
|
+
"touch-x": ["touch"],
|
|
6446
|
+
"touch-y": ["touch"],
|
|
6447
|
+
"touch-pz": ["touch"]
|
|
6448
|
+
},
|
|
6449
|
+
conflictingClassGroupModifiers: {
|
|
6450
|
+
"font-size": ["leading"]
|
|
6451
|
+
}
|
|
6452
|
+
};
|
|
6453
|
+
};
|
|
6454
|
+
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
6455
|
+
|
|
6456
|
+
// lib/cn.ts
|
|
6457
|
+
function cn(...inputs) {
|
|
6458
|
+
return twMerge(clsx(inputs));
|
|
6459
|
+
}
|
|
6460
|
+
var EventBusContext = React26.createContext(null);
|
|
6461
|
+
|
|
6462
|
+
// hooks/useEventBus.ts
|
|
6463
|
+
function getGlobalEventBus() {
|
|
6464
|
+
if (typeof window !== "undefined") {
|
|
6465
|
+
return window.__kflowEventBus ?? null;
|
|
6466
|
+
}
|
|
6467
|
+
return null;
|
|
6468
|
+
}
|
|
6469
|
+
var fallbackListeners = /* @__PURE__ */ new Map();
|
|
6470
|
+
var fallbackAnyListeners = /* @__PURE__ */ new Set();
|
|
6471
|
+
var fallbackEventBus = {
|
|
6472
|
+
emit: (type, payload) => {
|
|
6473
|
+
const event = {
|
|
6474
|
+
type,
|
|
6475
|
+
payload,
|
|
6476
|
+
timestamp: Date.now()
|
|
6477
|
+
};
|
|
6478
|
+
const handlers = fallbackListeners.get(type);
|
|
6479
|
+
if (handlers) {
|
|
6480
|
+
handlers.forEach((handler) => {
|
|
6481
|
+
try {
|
|
6482
|
+
handler(event);
|
|
6483
|
+
} catch (error) {
|
|
6484
|
+
console.error(`[EventBus] Error in listener for '${type}':`, error);
|
|
6485
|
+
}
|
|
6486
|
+
});
|
|
6487
|
+
}
|
|
6488
|
+
fallbackAnyListeners.forEach((handler) => {
|
|
6489
|
+
try {
|
|
6490
|
+
handler(event);
|
|
6491
|
+
} catch (error) {
|
|
6492
|
+
console.error(`[EventBus] Error in onAny listener for '${type}':`, error);
|
|
6493
|
+
}
|
|
6494
|
+
});
|
|
6495
|
+
},
|
|
6496
|
+
on: (type, listener) => {
|
|
6497
|
+
if (!fallbackListeners.has(type)) {
|
|
6498
|
+
fallbackListeners.set(type, /* @__PURE__ */ new Set());
|
|
6499
|
+
}
|
|
6500
|
+
fallbackListeners.get(type).add(listener);
|
|
6501
|
+
return () => {
|
|
6502
|
+
const handlers = fallbackListeners.get(type);
|
|
6503
|
+
if (handlers) {
|
|
6504
|
+
handlers.delete(listener);
|
|
6505
|
+
if (handlers.size === 0) {
|
|
6506
|
+
fallbackListeners.delete(type);
|
|
6507
|
+
}
|
|
6508
|
+
}
|
|
6509
|
+
};
|
|
6510
|
+
},
|
|
6511
|
+
once: (type, listener) => {
|
|
6512
|
+
const wrappedListener = (event) => {
|
|
6513
|
+
fallbackListeners.get(type)?.delete(wrappedListener);
|
|
6514
|
+
listener(event);
|
|
6515
|
+
};
|
|
6516
|
+
return fallbackEventBus.on(type, wrappedListener);
|
|
6517
|
+
},
|
|
6518
|
+
hasListeners: (type) => {
|
|
6519
|
+
const handlers = fallbackListeners.get(type);
|
|
6520
|
+
return handlers !== void 0 && handlers.size > 0;
|
|
6521
|
+
},
|
|
6522
|
+
onAny: (listener) => {
|
|
6523
|
+
fallbackAnyListeners.add(listener);
|
|
6524
|
+
return () => {
|
|
6525
|
+
fallbackAnyListeners.delete(listener);
|
|
6526
|
+
};
|
|
6527
|
+
}
|
|
6528
|
+
};
|
|
6529
|
+
function useEventBus() {
|
|
6530
|
+
const context = React26.useContext(EventBusContext);
|
|
6531
|
+
return context ?? getGlobalEventBus() ?? fallbackEventBus;
|
|
6532
|
+
}
|
|
6533
|
+
var paddingStyles = {
|
|
6534
|
+
none: "p-0",
|
|
6535
|
+
xs: "p-1",
|
|
6536
|
+
sm: "p-2",
|
|
6537
|
+
md: "p-4",
|
|
6538
|
+
lg: "p-6",
|
|
6539
|
+
xl: "p-8",
|
|
6540
|
+
"2xl": "p-12"
|
|
6541
|
+
};
|
|
6542
|
+
var paddingXStyles = {
|
|
6543
|
+
none: "px-0",
|
|
6544
|
+
xs: "px-1",
|
|
6545
|
+
sm: "px-2",
|
|
6546
|
+
md: "px-4",
|
|
6547
|
+
lg: "px-6",
|
|
6548
|
+
xl: "px-8",
|
|
6549
|
+
"2xl": "px-12"
|
|
6550
|
+
};
|
|
6551
|
+
var paddingYStyles = {
|
|
6552
|
+
none: "py-0",
|
|
6553
|
+
xs: "py-1",
|
|
6554
|
+
sm: "py-2",
|
|
6555
|
+
md: "py-4",
|
|
6556
|
+
lg: "py-6",
|
|
6557
|
+
xl: "py-8",
|
|
6558
|
+
"2xl": "py-12"
|
|
6559
|
+
};
|
|
6560
|
+
var marginStyles = {
|
|
6561
|
+
none: "m-0",
|
|
6562
|
+
xs: "m-1",
|
|
6563
|
+
sm: "m-2",
|
|
6564
|
+
md: "m-4",
|
|
6565
|
+
lg: "m-6",
|
|
6566
|
+
xl: "m-8",
|
|
6567
|
+
"2xl": "m-12",
|
|
6568
|
+
auto: "m-auto"
|
|
6569
|
+
};
|
|
6570
|
+
var marginXStyles = {
|
|
6571
|
+
none: "mx-0",
|
|
6572
|
+
xs: "mx-1",
|
|
6573
|
+
sm: "mx-2",
|
|
6574
|
+
md: "mx-4",
|
|
6575
|
+
lg: "mx-6",
|
|
6576
|
+
xl: "mx-8",
|
|
6577
|
+
"2xl": "mx-12",
|
|
6578
|
+
auto: "mx-auto"
|
|
6579
|
+
};
|
|
6580
|
+
var marginYStyles = {
|
|
6581
|
+
none: "my-0",
|
|
6582
|
+
xs: "my-1",
|
|
6583
|
+
sm: "my-2",
|
|
6584
|
+
md: "my-4",
|
|
6585
|
+
lg: "my-6",
|
|
6586
|
+
xl: "my-8",
|
|
6587
|
+
"2xl": "my-12",
|
|
6588
|
+
auto: "my-auto"
|
|
6589
|
+
};
|
|
6590
|
+
var bgStyles = {
|
|
6591
|
+
transparent: "bg-transparent",
|
|
6592
|
+
primary: "bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
6593
|
+
secondary: "bg-[var(--color-secondary)] text-[var(--color-secondary-foreground)]",
|
|
6594
|
+
muted: "bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
6595
|
+
accent: "bg-[var(--color-accent)] text-[var(--color-accent-foreground)]",
|
|
6596
|
+
surface: "bg-[var(--color-card)]",
|
|
6597
|
+
overlay: "bg-[var(--color-card)]/80 backdrop-blur-sm"
|
|
6598
|
+
};
|
|
6599
|
+
var roundedStyles = {
|
|
6600
|
+
none: "rounded-none",
|
|
6601
|
+
sm: "rounded-[var(--radius-sm)]",
|
|
6602
|
+
md: "rounded-[var(--radius-md)]",
|
|
6603
|
+
lg: "rounded-[var(--radius-lg)]",
|
|
6604
|
+
xl: "rounded-[var(--radius-xl)]",
|
|
6605
|
+
"2xl": "rounded-[var(--radius-xl)]",
|
|
6606
|
+
full: "rounded-[var(--radius-full)]"
|
|
6607
|
+
};
|
|
6608
|
+
var shadowStyles = {
|
|
6609
|
+
none: "shadow-none",
|
|
6610
|
+
sm: "shadow-[var(--shadow-sm)]",
|
|
6611
|
+
md: "shadow-[var(--shadow-main)]",
|
|
6612
|
+
lg: "shadow-[var(--shadow-lg)]",
|
|
6613
|
+
xl: "shadow-[var(--shadow-lg)]"
|
|
6614
|
+
};
|
|
6615
|
+
var displayStyles = {
|
|
6616
|
+
block: "block",
|
|
6617
|
+
inline: "inline",
|
|
6618
|
+
"inline-block": "inline-block",
|
|
6619
|
+
flex: "flex",
|
|
6620
|
+
"inline-flex": "inline-flex",
|
|
6621
|
+
grid: "grid"
|
|
6622
|
+
};
|
|
6623
|
+
var overflowStyles2 = {
|
|
6624
|
+
auto: "overflow-auto",
|
|
6625
|
+
hidden: "overflow-hidden",
|
|
6626
|
+
visible: "overflow-visible",
|
|
6627
|
+
scroll: "overflow-scroll"
|
|
6628
|
+
};
|
|
6629
|
+
var positionStyles = {
|
|
6630
|
+
relative: "relative",
|
|
6631
|
+
absolute: "absolute",
|
|
6632
|
+
fixed: "fixed",
|
|
6633
|
+
sticky: "sticky"
|
|
6634
|
+
};
|
|
6635
|
+
var Box = React26__default.default.forwardRef(
|
|
6636
|
+
({
|
|
6637
|
+
padding,
|
|
6638
|
+
paddingX,
|
|
6639
|
+
paddingY,
|
|
6640
|
+
margin,
|
|
6641
|
+
marginX,
|
|
6642
|
+
marginY,
|
|
6643
|
+
bg = "transparent",
|
|
6644
|
+
border = false,
|
|
6645
|
+
rounded = "none",
|
|
6646
|
+
shadow = "none",
|
|
6647
|
+
display,
|
|
6648
|
+
fullWidth = false,
|
|
6649
|
+
fullHeight = false,
|
|
6650
|
+
overflow,
|
|
6651
|
+
position,
|
|
6652
|
+
className,
|
|
6653
|
+
children,
|
|
6654
|
+
as: Component = "div",
|
|
6655
|
+
action,
|
|
6656
|
+
actionPayload,
|
|
6657
|
+
hoverEvent,
|
|
6658
|
+
onClick,
|
|
6659
|
+
onMouseEnter,
|
|
6660
|
+
onMouseLeave,
|
|
6661
|
+
...rest
|
|
6662
|
+
}, ref) => {
|
|
6663
|
+
const eventBus = useEventBus();
|
|
6664
|
+
const handleClick = React26.useCallback((e) => {
|
|
6665
|
+
if (action) {
|
|
6666
|
+
e.stopPropagation();
|
|
6667
|
+
eventBus.emit(`UI:${action}`, actionPayload ?? {});
|
|
6668
|
+
}
|
|
6669
|
+
onClick?.(e);
|
|
6670
|
+
}, [action, actionPayload, eventBus, onClick]);
|
|
6671
|
+
const handleMouseEnter = React26.useCallback((e) => {
|
|
6672
|
+
if (hoverEvent) {
|
|
6673
|
+
eventBus.emit(`UI:${hoverEvent}`, { hovered: true });
|
|
6674
|
+
}
|
|
6675
|
+
onMouseEnter?.(e);
|
|
6676
|
+
}, [hoverEvent, eventBus, onMouseEnter]);
|
|
6677
|
+
const handleMouseLeave = React26.useCallback((e) => {
|
|
6678
|
+
if (hoverEvent) {
|
|
6679
|
+
eventBus.emit(`UI:${hoverEvent}`, { hovered: false });
|
|
6680
|
+
}
|
|
6681
|
+
onMouseLeave?.(e);
|
|
6682
|
+
}, [hoverEvent, eventBus, onMouseLeave]);
|
|
6683
|
+
const isClickable = action || onClick;
|
|
6684
|
+
const Comp = Component;
|
|
6685
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6686
|
+
Comp,
|
|
6687
|
+
{
|
|
6688
|
+
ref,
|
|
6689
|
+
className: cn(
|
|
6690
|
+
// Padding
|
|
6691
|
+
padding && paddingStyles[padding],
|
|
6692
|
+
paddingX && paddingXStyles[paddingX],
|
|
6693
|
+
paddingY && paddingYStyles[paddingY],
|
|
6694
|
+
// Margin
|
|
6695
|
+
margin && marginStyles[margin],
|
|
6696
|
+
marginX && marginXStyles[marginX],
|
|
6697
|
+
marginY && marginYStyles[marginY],
|
|
6698
|
+
// Background
|
|
6699
|
+
bgStyles[bg],
|
|
6700
|
+
// Border - uses theme variables
|
|
6701
|
+
border && "border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
6702
|
+
// Rounded
|
|
6703
|
+
roundedStyles[rounded],
|
|
6704
|
+
// Shadow
|
|
6705
|
+
shadowStyles[shadow],
|
|
6706
|
+
// Display
|
|
6707
|
+
display && displayStyles[display],
|
|
6708
|
+
// Dimensions
|
|
6709
|
+
fullWidth && "w-full",
|
|
6710
|
+
fullHeight && "h-full",
|
|
6711
|
+
// Overflow
|
|
6712
|
+
overflow && overflowStyles2[overflow],
|
|
6713
|
+
// Position
|
|
6714
|
+
position && positionStyles[position],
|
|
6715
|
+
// Cursor for clickable
|
|
6716
|
+
isClickable && "cursor-pointer",
|
|
6717
|
+
className
|
|
6718
|
+
),
|
|
6719
|
+
onClick: isClickable ? handleClick : void 0,
|
|
6720
|
+
onMouseEnter: hoverEvent || onMouseEnter ? handleMouseEnter : void 0,
|
|
6721
|
+
onMouseLeave: hoverEvent || onMouseLeave ? handleMouseLeave : void 0,
|
|
6722
|
+
...rest,
|
|
6723
|
+
children
|
|
6724
|
+
}
|
|
6725
|
+
);
|
|
6726
|
+
}
|
|
6727
|
+
);
|
|
6728
|
+
Box.displayName = "Box";
|
|
6729
|
+
|
|
3978
6730
|
// components/molecules/avl/avl-layout.ts
|
|
3979
|
-
function ringPositions(cx, cy,
|
|
6731
|
+
function ringPositions(cx, cy, r2, count, startAngle = -Math.PI / 2) {
|
|
3980
6732
|
if (count === 0) return [];
|
|
3981
6733
|
if (count === 1) {
|
|
3982
6734
|
return [{ x: cx, y: cy, angle: 0 }];
|
|
3983
6735
|
}
|
|
3984
6736
|
if (count === 2) {
|
|
3985
6737
|
return [
|
|
3986
|
-
{ x: cx -
|
|
3987
|
-
{ x: cx +
|
|
6738
|
+
{ x: cx - r2 * 0.7, y: cy, angle: Math.PI },
|
|
6739
|
+
{ x: cx + r2 * 0.7, y: cy, angle: 0 }
|
|
3988
6740
|
];
|
|
3989
6741
|
}
|
|
3990
6742
|
return Array.from({ length: count }, (_, i) => {
|
|
3991
6743
|
const angle = startAngle + Math.PI * 2 * i / count;
|
|
3992
6744
|
return {
|
|
3993
|
-
x: cx +
|
|
3994
|
-
y: cy +
|
|
6745
|
+
x: cx + r2 * Math.cos(angle),
|
|
6746
|
+
y: cy + r2 * Math.sin(angle),
|
|
3995
6747
|
angle
|
|
3996
6748
|
};
|
|
3997
6749
|
});
|
|
@@ -4004,17 +6756,17 @@ var AvlStateMachine = ({
|
|
|
4004
6756
|
color = "var(--color-primary)",
|
|
4005
6757
|
animated = false
|
|
4006
6758
|
}) => {
|
|
4007
|
-
const ids =
|
|
6759
|
+
const ids = React26__default.default.useMemo(() => {
|
|
4008
6760
|
avlSmId += 1;
|
|
4009
6761
|
const base = `avl-sm-${avlSmId}`;
|
|
4010
6762
|
return { glow: `${base}-glow`, grad: `${base}-grad` };
|
|
4011
6763
|
}, []);
|
|
4012
6764
|
const cx = 300;
|
|
4013
6765
|
const cy = 200;
|
|
4014
|
-
const
|
|
6766
|
+
const r2 = 150;
|
|
4015
6767
|
const stateWidth = 90;
|
|
4016
6768
|
const stateHeight = 36;
|
|
4017
|
-
const positions = ringPositions(cx, cy,
|
|
6769
|
+
const positions = ringPositions(cx, cy, r2, states.length);
|
|
4018
6770
|
const stateIndex = new Map(states.map((s, i) => [s.name, i]));
|
|
4019
6771
|
const pairCount = /* @__PURE__ */ new Map();
|
|
4020
6772
|
const pairSeen = /* @__PURE__ */ new Map();
|
|
@@ -4039,7 +6791,7 @@ var AvlStateMachine = ({
|
|
|
4039
6791
|
animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
|
|
4040
6792
|
@keyframes avl-sm-dash { from { stroke-dashoffset: 20; } to { stroke-dashoffset: 0; } }
|
|
4041
6793
|
` }),
|
|
4042
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r:
|
|
6794
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: r2 + 30, fill: `url(#${ids.grad})` }),
|
|
4043
6795
|
transitions.map((tr, i) => {
|
|
4044
6796
|
if (tr.from !== tr.to) return null;
|
|
4045
6797
|
const idx = stateIndex.get(tr.from);
|
|
@@ -4199,7 +6951,7 @@ var AvlOrbitalUnit = ({
|
|
|
4199
6951
|
color = "var(--color-primary)",
|
|
4200
6952
|
animated = false
|
|
4201
6953
|
}) => {
|
|
4202
|
-
const ids =
|
|
6954
|
+
const ids = React26__default.default.useMemo(() => {
|
|
4203
6955
|
avlOuId += 1;
|
|
4204
6956
|
const base = `avl-ou-${avlOuId}`;
|
|
4205
6957
|
return { glow: `${base}-glow`, grad: `${base}-grad` };
|
|
@@ -4291,17 +7043,17 @@ var AvlClosedCircuit = ({
|
|
|
4291
7043
|
color = "var(--color-primary)",
|
|
4292
7044
|
animated = false
|
|
4293
7045
|
}) => {
|
|
4294
|
-
const ids =
|
|
7046
|
+
const ids = React26__default.default.useMemo(() => {
|
|
4295
7047
|
avlCcId += 1;
|
|
4296
7048
|
const base = `avl-cc-${avlCcId}`;
|
|
4297
7049
|
return { glow: `${base}-glow`, grad: `${base}-grad`, arrow: `${base}-arrow` };
|
|
4298
7050
|
}, []);
|
|
4299
7051
|
const cx = 300;
|
|
4300
7052
|
const cy = 200;
|
|
4301
|
-
const
|
|
7053
|
+
const r2 = 120;
|
|
4302
7054
|
const stateW = 80;
|
|
4303
7055
|
const stateH = 32;
|
|
4304
|
-
const positions = ringPositions(cx, cy,
|
|
7056
|
+
const positions = ringPositions(cx, cy, r2, states.length);
|
|
4305
7057
|
const stateIndex = new Map(states.map((s, i) => [s.name, i]));
|
|
4306
7058
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 600 400", xmlns: "http://www.w3.org/2000/svg", className, children: [
|
|
4307
7059
|
/* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
|
|
@@ -4334,7 +7086,7 @@ var AvlClosedCircuit = ({
|
|
|
4334
7086
|
animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
|
|
4335
7087
|
@keyframes avl-cc-flow { from { stroke-dashoffset: 24; } to { stroke-dashoffset: 0; } }
|
|
4336
7088
|
` }),
|
|
4337
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r:
|
|
7089
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: r2 + 30, fill: "none", stroke: color, strokeWidth: 0.3, opacity: 0.06 }),
|
|
4338
7090
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 50, fill: "none", stroke: color, strokeWidth: 0.5, opacity: 0.08 }),
|
|
4339
7091
|
transitions.map((tr, i) => {
|
|
4340
7092
|
const fromIdx = stateIndex.get(tr.from);
|
|
@@ -4444,7 +7196,7 @@ var AvlEmitListen = ({
|
|
|
4444
7196
|
color = "var(--color-primary)",
|
|
4445
7197
|
animated = false
|
|
4446
7198
|
}) => {
|
|
4447
|
-
const ids =
|
|
7199
|
+
const ids = React26__default.default.useMemo(() => {
|
|
4448
7200
|
avlElId += 1;
|
|
4449
7201
|
const base = `avl-el-${avlElId}`;
|
|
4450
7202
|
return { arrow: `${base}-arrow`, grad: `${base}-grad` };
|
|
@@ -4634,39 +7386,58 @@ var AvlSlotMap = ({
|
|
|
4634
7386
|
children: "Page Layout"
|
|
4635
7387
|
}
|
|
4636
7388
|
),
|
|
4637
|
-
resolvedSlots.map((slot) =>
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
7389
|
+
resolvedSlots.map((slot) => {
|
|
7390
|
+
const isOverlay = ["modal", "drawer", "toast"].includes(slot.name);
|
|
7391
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
7392
|
+
isOverlay && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7393
|
+
"rect",
|
|
7394
|
+
{
|
|
7395
|
+
x: ox + slot.x + 3,
|
|
7396
|
+
y: oy + 24 + slot.y + 3,
|
|
7397
|
+
width: slot.width,
|
|
7398
|
+
height: slot.height,
|
|
7399
|
+
rx: 3,
|
|
7400
|
+
ry: 3,
|
|
7401
|
+
fill: "black",
|
|
7402
|
+
opacity: 0.06
|
|
7403
|
+
}
|
|
7404
|
+
),
|
|
7405
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7406
|
+
"rect",
|
|
7407
|
+
{
|
|
7408
|
+
x: ox + slot.x,
|
|
7409
|
+
y: oy + 24 + slot.y,
|
|
7410
|
+
width: slot.width,
|
|
7411
|
+
height: slot.height,
|
|
7412
|
+
rx: 3,
|
|
7413
|
+
ry: 3,
|
|
7414
|
+
fill: isOverlay ? "var(--color-surface, #fff)" : color,
|
|
7415
|
+
opacity: isOverlay ? 0.9 : 0.08,
|
|
7416
|
+
stroke: color,
|
|
7417
|
+
strokeWidth: isOverlay ? 1.5 : 1,
|
|
7418
|
+
strokeDasharray: isOverlay ? "6 3" : "4 2",
|
|
7419
|
+
style: animated ? { animation: "avl-slot-pulse 2s ease-in-out infinite" } : void 0
|
|
7420
|
+
}
|
|
7421
|
+
),
|
|
7422
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7423
|
+
"text",
|
|
7424
|
+
{
|
|
7425
|
+
x: ox + slot.x + slot.width / 2,
|
|
7426
|
+
y: oy + 24 + slot.y + slot.height / 2,
|
|
7427
|
+
textAnchor: "middle",
|
|
7428
|
+
dominantBaseline: "central",
|
|
7429
|
+
fill: color,
|
|
7430
|
+
fontSize: 9,
|
|
7431
|
+
fontFamily: "inherit",
|
|
7432
|
+
opacity: 0.6,
|
|
7433
|
+
children: [
|
|
7434
|
+
slot.name,
|
|
7435
|
+
isOverlay ? " (overlay)" : ""
|
|
7436
|
+
]
|
|
7437
|
+
}
|
|
7438
|
+
)
|
|
7439
|
+
] }, slot.name);
|
|
7440
|
+
})
|
|
4670
7441
|
] });
|
|
4671
7442
|
};
|
|
4672
7443
|
AvlSlotMap.displayName = "AvlSlotMap";
|
|
@@ -4679,7 +7450,7 @@ function layoutTree(node, x, y, hSpacing, vSpacing) {
|
|
|
4679
7450
|
const totalWidth = (children.length - 1) * hSpacing;
|
|
4680
7451
|
const startX = x - totalWidth / 2;
|
|
4681
7452
|
const layoutChildren = children.map(
|
|
4682
|
-
(child, i) => layoutTree(child, startX + i * hSpacing, y + vSpacing, hSpacing * 0.
|
|
7453
|
+
(child, i) => layoutTree(child, startX + i * hSpacing, y + vSpacing, hSpacing * 0.75, vSpacing)
|
|
4683
7454
|
);
|
|
4684
7455
|
return { label: node.label, type: node.type, x, y, children: layoutChildren };
|
|
4685
7456
|
}
|
|
@@ -4696,9 +7467,9 @@ function nodeColor(type, baseColor) {
|
|
|
4696
7467
|
function renderNode(node, color, glowId) {
|
|
4697
7468
|
const labelLen = node.label.length;
|
|
4698
7469
|
const baseR = node.type === "operator" ? 20 : 16;
|
|
4699
|
-
const
|
|
7470
|
+
const r2 = Math.max(baseR, labelLen * 3.5 + 6);
|
|
4700
7471
|
const nc = nodeColor(node.type, color);
|
|
4701
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7472
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(React26__default.default.Fragment, { children: [
|
|
4702
7473
|
node.children.map((child, i) => {
|
|
4703
7474
|
const childR = Math.max(
|
|
4704
7475
|
child.type === "operator" ? 20 : 16,
|
|
@@ -4708,7 +7479,7 @@ function renderNode(node, color, glowId) {
|
|
|
4708
7479
|
"line",
|
|
4709
7480
|
{
|
|
4710
7481
|
x1: node.x,
|
|
4711
|
-
y1: node.y + (node.type === "operator" ?
|
|
7482
|
+
y1: node.y + (node.type === "operator" ? r2 * 0.7 : r2),
|
|
4712
7483
|
x2: child.x,
|
|
4713
7484
|
y2: child.y - (child.type === "operator" ? childR * 0.7 : childR),
|
|
4714
7485
|
stroke: color,
|
|
@@ -4721,10 +7492,10 @@ function renderNode(node, color, glowId) {
|
|
|
4721
7492
|
node.type === "operator" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4722
7493
|
"rect",
|
|
4723
7494
|
{
|
|
4724
|
-
x: node.x -
|
|
4725
|
-
y: node.y -
|
|
4726
|
-
width:
|
|
4727
|
-
height:
|
|
7495
|
+
x: node.x - r2,
|
|
7496
|
+
y: node.y - r2 * 0.6,
|
|
7497
|
+
width: r2 * 2,
|
|
7498
|
+
height: r2 * 1.2,
|
|
4728
7499
|
rx: 4,
|
|
4729
7500
|
ry: 4,
|
|
4730
7501
|
fill: color,
|
|
@@ -4732,7 +7503,7 @@ function renderNode(node, color, glowId) {
|
|
|
4732
7503
|
stroke: nc,
|
|
4733
7504
|
strokeWidth: 1.5
|
|
4734
7505
|
}
|
|
4735
|
-
) : node.type === "binding" ? /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: node.x, cy: node.y, r, fill: "none", stroke: nc, strokeWidth: 1.5, strokeDasharray: "3 2" }) : /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: node.x, cy: node.y, r, fill: "none", stroke: nc, strokeWidth: 1, opacity: 0.5 }),
|
|
7506
|
+
) : node.type === "binding" ? /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: node.x, cy: node.y, r: r2, fill: "none", stroke: nc, strokeWidth: 1.5, strokeDasharray: "3 2" }) : /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: node.x, cy: node.y, r: r2, fill: "none", stroke: nc, strokeWidth: 1, opacity: 0.5 }),
|
|
4736
7507
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4737
7508
|
"text",
|
|
4738
7509
|
{
|
|
@@ -4755,11 +7526,11 @@ var AvlExprTree = ({
|
|
|
4755
7526
|
className,
|
|
4756
7527
|
color = "var(--color-primary)"
|
|
4757
7528
|
}) => {
|
|
4758
|
-
const ids =
|
|
7529
|
+
const ids = React26__default.default.useMemo(() => {
|
|
4759
7530
|
avlEtId += 1;
|
|
4760
7531
|
return { glow: `avl-et-${avlEtId}-glow` };
|
|
4761
7532
|
}, []);
|
|
4762
|
-
const layout = layoutTree(expression, 300,
|
|
7533
|
+
const layout = layoutTree(expression, 300, 60, 200, 90);
|
|
4763
7534
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 600 400", xmlns: "http://www.w3.org/2000/svg", className, children: [
|
|
4764
7535
|
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs("filter", { id: ids.glow, x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
4765
7536
|
/* @__PURE__ */ jsxRuntime.jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "2", result: "blur" }),
|