@tenerife.music/ui 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -418
- package/dist/{colors-CVA7_16U.d.cts → colors-BZtZJBBm.d.cts} +1 -1
- package/dist/{colors-CVA7_16U.d.ts → colors-BZtZJBBm.d.ts} +1 -1
- package/dist/{index-BgXvioll.d.cts → index-CP_dmFn4.d.cts} +435 -175
- package/dist/{index-Bv4wWj9I.d.ts → index-CP_dmFn4.d.ts} +435 -175
- package/dist/index.cjs +1406 -654
- package/dist/index.d.cts +119 -45
- package/dist/index.d.ts +119 -45
- package/dist/index.mjs +1406 -655
- package/dist/preset.cjs +1 -0
- package/dist/preset.mjs +1 -0
- package/dist/theme/index.d.cts +2 -2
- package/dist/theme/index.d.ts +2 -2
- package/dist/tokens/index.cjs +194 -221
- package/dist/tokens/index.d.cts +89 -2
- package/dist/tokens/index.d.ts +89 -2
- package/dist/tokens/index.mjs +194 -222
- package/package.json +6 -1
package/dist/index.cjs
CHANGED
|
@@ -726,6 +726,68 @@ var CARD_TOKENS = {
|
|
|
726
726
|
}
|
|
727
727
|
};
|
|
728
728
|
|
|
729
|
+
// src/tokens/components/artist.ts
|
|
730
|
+
var ARTIST_TOKENS = {
|
|
731
|
+
/**
|
|
732
|
+
* Image container tokens
|
|
733
|
+
* Layout classes for image container wrapper
|
|
734
|
+
*/
|
|
735
|
+
image: {
|
|
736
|
+
/**
|
|
737
|
+
* Container layout tokens
|
|
738
|
+
* Positioning and sizing for image container
|
|
739
|
+
*/
|
|
740
|
+
container: {
|
|
741
|
+
/**
|
|
742
|
+
* Base container layout
|
|
743
|
+
* Relative positioning, full width, overflow hidden
|
|
744
|
+
* Uses Tailwind layout utilities (allowed per architecture)
|
|
745
|
+
*/
|
|
746
|
+
layout: "relative w-full overflow-hidden"
|
|
747
|
+
},
|
|
748
|
+
/**
|
|
749
|
+
* Image sizing tokens
|
|
750
|
+
* Full width and height for images
|
|
751
|
+
*/
|
|
752
|
+
sizing: {
|
|
753
|
+
/**
|
|
754
|
+
* Full size image
|
|
755
|
+
* Uses Tailwind sizing utilities (allowed per architecture)
|
|
756
|
+
*/
|
|
757
|
+
full: "h-full w-full"
|
|
758
|
+
},
|
|
759
|
+
/**
|
|
760
|
+
* Placeholder container tokens
|
|
761
|
+
* Layout for placeholder icon container when no image is provided
|
|
762
|
+
*/
|
|
763
|
+
placeholder: {
|
|
764
|
+
/**
|
|
765
|
+
* Placeholder container layout
|
|
766
|
+
* Flex centering for placeholder icon
|
|
767
|
+
* Uses Tailwind layout utilities (allowed per architecture)
|
|
768
|
+
*/
|
|
769
|
+
container: "flex h-full w-full items-center justify-center"
|
|
770
|
+
}
|
|
771
|
+
},
|
|
772
|
+
/**
|
|
773
|
+
* Footer border tokens
|
|
774
|
+
* Border styling for card footer separator
|
|
775
|
+
*/
|
|
776
|
+
footer: {
|
|
777
|
+
/**
|
|
778
|
+
* Footer border tokens
|
|
779
|
+
* Top border separator for footer section
|
|
780
|
+
*/
|
|
781
|
+
border: {
|
|
782
|
+
/**
|
|
783
|
+
* Footer border top
|
|
784
|
+
* Uses semantic border color token
|
|
785
|
+
*/
|
|
786
|
+
top: "border-t border-border"
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
};
|
|
790
|
+
|
|
729
791
|
// src/tokens/spacing.ts
|
|
730
792
|
var spacing = {
|
|
731
793
|
// Zero spacing
|
|
@@ -988,101 +1050,6 @@ var tailwindSpacingConfig = {
|
|
|
988
1050
|
|
|
989
1051
|
// src/tokens/components/data.ts
|
|
990
1052
|
var DATA_TOKENS = {
|
|
991
|
-
/**
|
|
992
|
-
* Table Component Tokens
|
|
993
|
-
*/
|
|
994
|
-
table: {
|
|
995
|
-
/**
|
|
996
|
-
* Table row heights by size
|
|
997
|
-
* Maps to Tailwind height utilities
|
|
998
|
-
*/
|
|
999
|
-
rowHeight: {
|
|
1000
|
-
sm: "h-8",
|
|
1001
|
-
// 32px (2rem) - compact rows
|
|
1002
|
-
md: "h-10",
|
|
1003
|
-
// 40px (2.5rem) - default rows
|
|
1004
|
-
lg: "h-12"
|
|
1005
|
-
// 48px (3rem) - spacious rows
|
|
1006
|
-
},
|
|
1007
|
-
/**
|
|
1008
|
-
* Table cell and header padding by size
|
|
1009
|
-
* Maps to semantic spacing tokens
|
|
1010
|
-
*/
|
|
1011
|
-
padding: {
|
|
1012
|
-
cell: {
|
|
1013
|
-
sm: "p-xs",
|
|
1014
|
-
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
1015
|
-
md: "p-sm",
|
|
1016
|
-
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
1017
|
-
lg: "p-md"
|
|
1018
|
-
// 16px (1rem) - maps to semanticSpacing.md
|
|
1019
|
-
},
|
|
1020
|
-
header: {
|
|
1021
|
-
sm: "px-xs py-sm",
|
|
1022
|
-
// 4px horizontal, 8px vertical
|
|
1023
|
-
md: "px-sm py-md",
|
|
1024
|
-
// 8px horizontal, 16px vertical
|
|
1025
|
-
lg: "px-md py-lg"
|
|
1026
|
-
// 16px horizontal, 24px vertical
|
|
1027
|
-
}
|
|
1028
|
-
},
|
|
1029
|
-
/**
|
|
1030
|
-
* Gap between table cells (horizontal spacing)
|
|
1031
|
-
*/
|
|
1032
|
-
gap: {
|
|
1033
|
-
sm: "gap-xs",
|
|
1034
|
-
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
1035
|
-
md: "gap-sm"
|
|
1036
|
-
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
1037
|
-
},
|
|
1038
|
-
/**
|
|
1039
|
-
* Border radius for table
|
|
1040
|
-
*/
|
|
1041
|
-
radius: {
|
|
1042
|
-
default: "rounded-md"
|
|
1043
|
-
// 6px (0.375rem) - maps to borderRadius.md
|
|
1044
|
-
},
|
|
1045
|
-
/**
|
|
1046
|
-
* Shadow tokens for table
|
|
1047
|
-
* Maps to foundation elevation shadow tokens
|
|
1048
|
-
*/
|
|
1049
|
-
shadow: {
|
|
1050
|
-
none: "shadow-none",
|
|
1051
|
-
// No shadow
|
|
1052
|
-
subtle: "shadow-sm"
|
|
1053
|
-
// Maps to elevationShadows.sm
|
|
1054
|
-
},
|
|
1055
|
-
/**
|
|
1056
|
-
* Typography tokens for table headers and cells
|
|
1057
|
-
* Maps to foundation typography fontSize tokens
|
|
1058
|
-
*/
|
|
1059
|
-
typography: {
|
|
1060
|
-
header: {
|
|
1061
|
-
fontSize: "text-sm",
|
|
1062
|
-
// Maps to fontSize.sm[0]
|
|
1063
|
-
fontWeight: "font-semibold"
|
|
1064
|
-
// Maps to fontWeight.semibold
|
|
1065
|
-
},
|
|
1066
|
-
cell: {
|
|
1067
|
-
fontSize: "text-sm",
|
|
1068
|
-
// Maps to fontSize.sm[0]
|
|
1069
|
-
fontWeight: "font-normal"
|
|
1070
|
-
// Maps to fontWeight.normal
|
|
1071
|
-
}
|
|
1072
|
-
},
|
|
1073
|
-
/**
|
|
1074
|
-
* Color tokens for table states
|
|
1075
|
-
* Uses semantic color tokens
|
|
1076
|
-
*/
|
|
1077
|
-
colors: {
|
|
1078
|
-
border: "border-border",
|
|
1079
|
-
// Border color
|
|
1080
|
-
rowHover: "hover:bg-muted/50",
|
|
1081
|
-
// Row hover background
|
|
1082
|
-
rowSelected: "bg-muted"
|
|
1083
|
-
// Selected row background
|
|
1084
|
-
}
|
|
1085
|
-
},
|
|
1086
1053
|
/**
|
|
1087
1054
|
* Skeleton Component Tokens
|
|
1088
1055
|
*/
|
|
@@ -1148,97 +1115,6 @@ var DATA_TOKENS = {
|
|
|
1148
1115
|
inline: "inline-block"
|
|
1149
1116
|
// Inline block display
|
|
1150
1117
|
}
|
|
1151
|
-
},
|
|
1152
|
-
/**
|
|
1153
|
-
* EmptyState Component Tokens
|
|
1154
|
-
*/
|
|
1155
|
-
emptyState: {
|
|
1156
|
-
/**
|
|
1157
|
-
* Spacing tokens for EmptyState
|
|
1158
|
-
* Maps to semantic spacing tokens
|
|
1159
|
-
*/
|
|
1160
|
-
spacing: {
|
|
1161
|
-
gap: "gap-md",
|
|
1162
|
-
// 16px (1rem) - gap between elements - maps to semanticSpacing.md
|
|
1163
|
-
padding: "p-lg"
|
|
1164
|
-
// 24px (1.5rem) - container padding - maps to semanticSpacing.lg
|
|
1165
|
-
},
|
|
1166
|
-
/**
|
|
1167
|
-
* Border radius for EmptyState container
|
|
1168
|
-
*/
|
|
1169
|
-
radius: {
|
|
1170
|
-
default: "rounded-xl"
|
|
1171
|
-
// 12px (0.75rem) - maps to borderRadius.xl
|
|
1172
|
-
},
|
|
1173
|
-
/**
|
|
1174
|
-
* Icon sizes by variant
|
|
1175
|
-
* Maps to Tailwind size utilities
|
|
1176
|
-
*/
|
|
1177
|
-
iconSize: {
|
|
1178
|
-
sm: "size-8",
|
|
1179
|
-
// 32px (2rem)
|
|
1180
|
-
md: "size-12",
|
|
1181
|
-
// 48px (3rem)
|
|
1182
|
-
lg: "size-16"
|
|
1183
|
-
// 64px (4rem)
|
|
1184
|
-
},
|
|
1185
|
-
/**
|
|
1186
|
-
* Typography tokens for EmptyState
|
|
1187
|
-
* Maps to foundation typography tokens
|
|
1188
|
-
*/
|
|
1189
|
-
typography: {
|
|
1190
|
-
title: {
|
|
1191
|
-
fontSize: "text-lg",
|
|
1192
|
-
// Maps to fontSize.lg[0]
|
|
1193
|
-
fontWeight: "font-semibold"
|
|
1194
|
-
// Maps to fontWeight.semibold
|
|
1195
|
-
},
|
|
1196
|
-
description: {
|
|
1197
|
-
fontSize: "text-sm",
|
|
1198
|
-
// Maps to fontSize.sm[0]
|
|
1199
|
-
fontWeight: "font-normal"
|
|
1200
|
-
// Maps to fontWeight.normal
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
},
|
|
1204
|
-
/**
|
|
1205
|
-
* DataList Component Tokens
|
|
1206
|
-
*/
|
|
1207
|
-
dataList: {
|
|
1208
|
-
/**
|
|
1209
|
-
* Spacing tokens for DataList
|
|
1210
|
-
* Maps to semantic spacing tokens
|
|
1211
|
-
*/
|
|
1212
|
-
spacing: {
|
|
1213
|
-
gap: "gap-md",
|
|
1214
|
-
// 16px (1rem) - gap between items - maps to semanticSpacing.md
|
|
1215
|
-
padding: "p-md"
|
|
1216
|
-
// 16px (1rem) - container padding - maps to semanticSpacing.md
|
|
1217
|
-
},
|
|
1218
|
-
/**
|
|
1219
|
-
* Label width tokens (for desktop horizontal layout)
|
|
1220
|
-
* Maps to Tailwind width utilities
|
|
1221
|
-
*/
|
|
1222
|
-
labelWidth: {
|
|
1223
|
-
sm: "w-24",
|
|
1224
|
-
// 96px (6rem) - small label width
|
|
1225
|
-
md: "w-32",
|
|
1226
|
-
// 128px (8rem) - default label width
|
|
1227
|
-
lg: "w-40"
|
|
1228
|
-
// 160px (10rem) - large label width
|
|
1229
|
-
},
|
|
1230
|
-
/**
|
|
1231
|
-
* Row padding tokens
|
|
1232
|
-
* Maps to semantic spacing tokens
|
|
1233
|
-
*/
|
|
1234
|
-
rowPadding: {
|
|
1235
|
-
sm: "py-xs",
|
|
1236
|
-
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
1237
|
-
md: "py-sm",
|
|
1238
|
-
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
1239
|
-
lg: "py-md"
|
|
1240
|
-
// 16px (1rem) - maps to semanticSpacing.md
|
|
1241
|
-
}
|
|
1242
1118
|
}
|
|
1243
1119
|
};
|
|
1244
1120
|
|
|
@@ -1583,7 +1459,7 @@ var DOMAIN_TOKENS = {
|
|
|
1583
1459
|
},
|
|
1584
1460
|
/**
|
|
1585
1461
|
* Image tokens for card media
|
|
1586
|
-
* Defines aspect ratio, radius, and
|
|
1462
|
+
* Defines aspect ratio, radius, overlay styles, and placeholder gradients
|
|
1587
1463
|
*/
|
|
1588
1464
|
image: {
|
|
1589
1465
|
/**
|
|
@@ -1606,6 +1482,40 @@ var DOMAIN_TOKENS = {
|
|
|
1606
1482
|
overlay: {
|
|
1607
1483
|
gradient: "bg-gradient-to-t from-black/60 via-transparent to-transparent"
|
|
1608
1484
|
// Gradient overlay for image hover states
|
|
1485
|
+
},
|
|
1486
|
+
/**
|
|
1487
|
+
* Placeholder gradient tokens for image placeholders
|
|
1488
|
+
* Used when no image URL is provided
|
|
1489
|
+
*/
|
|
1490
|
+
placeholder: {
|
|
1491
|
+
gradient: "bg-gradient-to-br from-muted to-muted/50"
|
|
1492
|
+
// Placeholder gradient background
|
|
1493
|
+
}
|
|
1494
|
+
},
|
|
1495
|
+
/**
|
|
1496
|
+
* Text tokens for card text elements
|
|
1497
|
+
* Defines hover states and line clamping for titles and descriptions
|
|
1498
|
+
*/
|
|
1499
|
+
text: {
|
|
1500
|
+
/**
|
|
1501
|
+
* Hover state tokens for text elements
|
|
1502
|
+
* Used for interactive text elements like titles
|
|
1503
|
+
*/
|
|
1504
|
+
hover: {
|
|
1505
|
+
primary: "group-hover:text-primary"
|
|
1506
|
+
// Hover state for primary text color
|
|
1507
|
+
},
|
|
1508
|
+
/**
|
|
1509
|
+
* Line clamp tokens for text truncation
|
|
1510
|
+
* Used for limiting text to specific number of lines
|
|
1511
|
+
*/
|
|
1512
|
+
lineClamp: {
|
|
1513
|
+
one: "line-clamp-1",
|
|
1514
|
+
// Single line clamp
|
|
1515
|
+
two: "line-clamp-2",
|
|
1516
|
+
// Two line clamp
|
|
1517
|
+
three: "line-clamp-3"
|
|
1518
|
+
// Three line clamp
|
|
1609
1519
|
}
|
|
1610
1520
|
},
|
|
1611
1521
|
/**
|
|
@@ -1828,6 +1738,94 @@ var DOMAIN_TOKENS = {
|
|
|
1828
1738
|
height: "h-6"
|
|
1829
1739
|
// References spacing[6] (1.5rem / 24px) via Tailwind
|
|
1830
1740
|
}
|
|
1741
|
+
},
|
|
1742
|
+
/**
|
|
1743
|
+
* CTA (Call-to-Action) button tokens for domain card components
|
|
1744
|
+
* Provides PromoCard-specific CTA button styling tokens
|
|
1745
|
+
* These tokens are semantically owned by domain card components, not by the Button component
|
|
1746
|
+
* References foundation tokens (spacing, typography, radius, shadows, motion) for consistency
|
|
1747
|
+
*/
|
|
1748
|
+
cta: {
|
|
1749
|
+
/**
|
|
1750
|
+
* CTA button styling tokens
|
|
1751
|
+
* Used by PromoCard and other domain card components for CTA button elements
|
|
1752
|
+
*/
|
|
1753
|
+
button: {
|
|
1754
|
+
/**
|
|
1755
|
+
* Button heights by size
|
|
1756
|
+
* Maps to Tailwind height utilities: h-8, h-9
|
|
1757
|
+
*/
|
|
1758
|
+
height: {
|
|
1759
|
+
sm: "h-8",
|
|
1760
|
+
// 32px (2rem) - compact size
|
|
1761
|
+
md: "h-9"
|
|
1762
|
+
// 36px (2.25rem) - default size
|
|
1763
|
+
},
|
|
1764
|
+
/**
|
|
1765
|
+
* Button padding by size
|
|
1766
|
+
* Horizontal and vertical padding values
|
|
1767
|
+
* References semanticSpacing tokens
|
|
1768
|
+
*/
|
|
1769
|
+
padding: {
|
|
1770
|
+
horizontal: {
|
|
1771
|
+
sm: "px-sm",
|
|
1772
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
1773
|
+
md: "px-md"
|
|
1774
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
1775
|
+
},
|
|
1776
|
+
vertical: {
|
|
1777
|
+
sm: "py-xs"
|
|
1778
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
1779
|
+
}
|
|
1780
|
+
},
|
|
1781
|
+
/**
|
|
1782
|
+
* Border radius for CTA buttons
|
|
1783
|
+
* References borderRadius.md (6px / 0.375rem)
|
|
1784
|
+
* Using Tailwind class "rounded-md" which maps to borderRadius.md
|
|
1785
|
+
*/
|
|
1786
|
+
radius: "rounded-md",
|
|
1787
|
+
// References borderRadius.md via Tailwind
|
|
1788
|
+
/**
|
|
1789
|
+
* Font sizes by button size
|
|
1790
|
+
* Maps to foundation typography fontSize tokens
|
|
1791
|
+
*/
|
|
1792
|
+
fontSize: {
|
|
1793
|
+
sm: "text-xs",
|
|
1794
|
+
// Maps to fontSize.xs[0]
|
|
1795
|
+
md: "text-sm"
|
|
1796
|
+
// Maps to fontSize.sm[0]
|
|
1797
|
+
},
|
|
1798
|
+
/**
|
|
1799
|
+
* Shadow tokens for CTA buttons
|
|
1800
|
+
* Maps to foundation elevation shadow tokens
|
|
1801
|
+
*/
|
|
1802
|
+
shadow: {
|
|
1803
|
+
primary: "shadow"
|
|
1804
|
+
// Maps to elevationShadows.xs (primary variant uses shadow)
|
|
1805
|
+
},
|
|
1806
|
+
/**
|
|
1807
|
+
* Color tokens for CTA button variants
|
|
1808
|
+
* Uses semantic color tokens that map to CSS variables
|
|
1809
|
+
*/
|
|
1810
|
+
variant: {
|
|
1811
|
+
primary: {
|
|
1812
|
+
background: "bg-primary",
|
|
1813
|
+
// Primary background using CSS var
|
|
1814
|
+
text: "text-primary-foreground",
|
|
1815
|
+
// Primary text using CSS var
|
|
1816
|
+
hover: "hover:bg-primary/90"
|
|
1817
|
+
// Primary hover using CSS var
|
|
1818
|
+
}
|
|
1819
|
+
},
|
|
1820
|
+
/**
|
|
1821
|
+
* Transition tokens for CTA buttons
|
|
1822
|
+
* References MOTION_TOKENS for transitions
|
|
1823
|
+
*/
|
|
1824
|
+
transition: {
|
|
1825
|
+
colors: "transition-colors"
|
|
1826
|
+
// Color transition using motion tokens
|
|
1827
|
+
}
|
|
1828
|
+
}
|
|
1831
1829
|
}
|
|
1832
1830
|
};
|
|
1833
1831
|
|
|
@@ -1931,40 +1929,6 @@ var INPUT_TOKENS = {
|
|
|
1931
1929
|
text: "text-[hsl(var(--foreground))]"
|
|
1932
1930
|
// File input text color using CSS var
|
|
1933
1931
|
},
|
|
1934
|
-
/**
|
|
1935
|
-
* Select listbox tokens
|
|
1936
|
-
* Styling for select dropdown container
|
|
1937
|
-
*/
|
|
1938
|
-
selectListbox: {
|
|
1939
|
-
border: "border border-[hsl(var(--border))]",
|
|
1940
|
-
// Border color using CSS var
|
|
1941
|
-
background: "bg-[hsl(var(--popover))]",
|
|
1942
|
-
// Background using CSS var
|
|
1943
|
-
text: "text-[hsl(var(--popover-foreground))]",
|
|
1944
|
-
// Text color using CSS var
|
|
1945
|
-
radius: "rounded-md",
|
|
1946
|
-
// Radius token (6px)
|
|
1947
|
-
shadow: "shadow-md"
|
|
1948
|
-
// Shadow token
|
|
1949
|
-
},
|
|
1950
|
-
/**
|
|
1951
|
-
* Select option tokens
|
|
1952
|
-
* Styling for select option items
|
|
1953
|
-
*/
|
|
1954
|
-
selectOption: {
|
|
1955
|
-
focus: {
|
|
1956
|
-
background: "focus:bg-[hsl(var(--accent))]",
|
|
1957
|
-
// Focus background using CSS var
|
|
1958
|
-
text: "focus:text-[hsl(var(--accent-foreground))]"
|
|
1959
|
-
// Focus text using CSS var
|
|
1960
|
-
},
|
|
1961
|
-
selected: {
|
|
1962
|
-
background: "bg-[hsl(var(--accent))]",
|
|
1963
|
-
// Selected background using CSS var
|
|
1964
|
-
text: "text-[hsl(var(--accent-foreground))]"
|
|
1965
|
-
// Selected text using CSS var
|
|
1966
|
-
}
|
|
1967
|
-
},
|
|
1968
1932
|
/**
|
|
1969
1933
|
* Variant-based tokens
|
|
1970
1934
|
* Border, background, and text colors for different variants
|
|
@@ -2178,35 +2142,217 @@ var INPUT_TOKENS = {
|
|
|
2178
2142
|
}
|
|
2179
2143
|
};
|
|
2180
2144
|
|
|
2181
|
-
// src/tokens/components/
|
|
2182
|
-
var
|
|
2145
|
+
// src/tokens/components/textarea.ts
|
|
2146
|
+
var TEXTAREA_TOKENS = {
|
|
2183
2147
|
/**
|
|
2184
|
-
*
|
|
2185
|
-
*
|
|
2186
|
-
* Checkboxes are typically square and smaller than input fields
|
|
2148
|
+
* Shadow token
|
|
2149
|
+
* Maps to foundation elevation shadow tokens
|
|
2187
2150
|
*/
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2151
|
+
shadow: "shadow-sm",
|
|
2152
|
+
// Maps to elevationShadows.sm
|
|
2153
|
+
/**
|
|
2154
|
+
* Variant-based tokens
|
|
2155
|
+
* Border, background, and text colors for different variants
|
|
2156
|
+
* All use CSS variable references for theme support
|
|
2157
|
+
*/
|
|
2158
|
+
variant: {
|
|
2159
|
+
primary: {
|
|
2160
|
+
border: "border-[hsl(var(--tm-primary))]",
|
|
2161
|
+
// Primary border color
|
|
2162
|
+
background: "bg-[hsl(var(--tm-primary))]",
|
|
2163
|
+
// Primary background
|
|
2164
|
+
text: "text-[hsl(var(--tm-primary-foreground))]",
|
|
2165
|
+
// Primary text color
|
|
2166
|
+
focus: "focus-visible:shadow-[var(--focus-ring-primary)]"
|
|
2167
|
+
// Primary focus ring
|
|
2198
2168
|
},
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
//
|
|
2202
|
-
|
|
2203
|
-
//
|
|
2204
|
-
|
|
2205
|
-
//
|
|
2206
|
-
|
|
2207
|
-
//
|
|
2169
|
+
secondary: {
|
|
2170
|
+
border: "border-[hsl(var(--tm-secondary))]",
|
|
2171
|
+
// Secondary border color
|
|
2172
|
+
background: "bg-[hsl(var(--tm-secondary))]",
|
|
2173
|
+
// Secondary background
|
|
2174
|
+
text: "text-[hsl(var(--tm-secondary-foreground))]",
|
|
2175
|
+
// Secondary text color
|
|
2176
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2177
|
+
// Default focus ring
|
|
2208
2178
|
},
|
|
2209
|
-
|
|
2179
|
+
outline: {
|
|
2180
|
+
border: "border-[hsl(var(--input))]",
|
|
2181
|
+
// Input border color
|
|
2182
|
+
background: "bg-transparent",
|
|
2183
|
+
// Transparent background
|
|
2184
|
+
text: "text-[hsl(var(--foreground))]",
|
|
2185
|
+
// Foreground text color
|
|
2186
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2187
|
+
// Default focus ring
|
|
2188
|
+
},
|
|
2189
|
+
ghost: {
|
|
2190
|
+
border: "border-transparent",
|
|
2191
|
+
// Transparent border
|
|
2192
|
+
background: "bg-transparent",
|
|
2193
|
+
// Transparent background
|
|
2194
|
+
text: "text-[hsl(var(--foreground))]",
|
|
2195
|
+
// Foreground text color
|
|
2196
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2197
|
+
// Default focus ring
|
|
2198
|
+
},
|
|
2199
|
+
destructive: {
|
|
2200
|
+
border: "border-[hsl(var(--destructive))]",
|
|
2201
|
+
// Destructive border color
|
|
2202
|
+
background: "bg-[hsl(var(--destructive))]",
|
|
2203
|
+
// Destructive background
|
|
2204
|
+
text: "text-[hsl(var(--destructive-foreground))]",
|
|
2205
|
+
// Destructive text color
|
|
2206
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2207
|
+
// Default focus ring
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
/**
|
|
2211
|
+
* State-based tokens
|
|
2212
|
+
* Border, background, and text colors for different states
|
|
2213
|
+
* All use CSS variable references for theme support
|
|
2214
|
+
*/
|
|
2215
|
+
state: {
|
|
2216
|
+
border: {
|
|
2217
|
+
default: "border-[hsl(var(--input))]",
|
|
2218
|
+
// Default border color using CSS var
|
|
2219
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]",
|
|
2220
|
+
// Focus ring using CSS var
|
|
2221
|
+
error: "border-[hsl(var(--destructive))]",
|
|
2222
|
+
// Error state border using CSS var
|
|
2223
|
+
success: "border-[hsl(var(--semantic-success))]",
|
|
2224
|
+
// Success state border using CSS var
|
|
2225
|
+
disabled: "border-[hsl(var(--input))]"
|
|
2226
|
+
// Disabled state border (same as default)
|
|
2227
|
+
},
|
|
2228
|
+
background: {
|
|
2229
|
+
default: "bg-transparent",
|
|
2230
|
+
// Default background
|
|
2231
|
+
disabled: "bg-transparent"
|
|
2232
|
+
// Disabled background (same as default)
|
|
2233
|
+
},
|
|
2234
|
+
text: {
|
|
2235
|
+
default: "text-[hsl(var(--foreground))]",
|
|
2236
|
+
// Default text color using CSS var
|
|
2237
|
+
placeholder: "placeholder:text-[hsl(var(--muted-foreground))]",
|
|
2238
|
+
// Placeholder text color using CSS var
|
|
2239
|
+
disabled: "disabled:opacity-50"
|
|
2240
|
+
// Disabled text opacity
|
|
2241
|
+
}
|
|
2242
|
+
},
|
|
2243
|
+
/**
|
|
2244
|
+
* Width tokens
|
|
2245
|
+
* Common width utilities
|
|
2246
|
+
*/
|
|
2247
|
+
width: {
|
|
2248
|
+
full: "w-full"
|
|
2249
|
+
// Full width (100%)
|
|
2250
|
+
},
|
|
2251
|
+
/**
|
|
2252
|
+
* Message tokens
|
|
2253
|
+
* Spacing, positioning, and styling for helper text and error messages
|
|
2254
|
+
*/
|
|
2255
|
+
message: {
|
|
2256
|
+
// 8px (0.5rem) - spacing between control and message
|
|
2257
|
+
position: {
|
|
2258
|
+
bottom: "bottom-sm",
|
|
2259
|
+
// 8px (0.5rem) - bottom position for character counter
|
|
2260
|
+
right: "right-sm"
|
|
2261
|
+
// 8px (0.5rem) - right position for character counter
|
|
2262
|
+
},
|
|
2263
|
+
color: {
|
|
2264
|
+
default: "text-[hsl(var(--muted-foreground))]",
|
|
2265
|
+
// Default message color
|
|
2266
|
+
error: "text-[hsl(var(--destructive))]"}
|
|
2267
|
+
},
|
|
2268
|
+
/**
|
|
2269
|
+
* Size-based token structure
|
|
2270
|
+
* Organized by size for easy access
|
|
2271
|
+
*/
|
|
2272
|
+
size: {
|
|
2273
|
+
xs: {
|
|
2274
|
+
padding: {
|
|
2275
|
+
horizontal: "px-xs",
|
|
2276
|
+
vertical: "py-xs"
|
|
2277
|
+
},
|
|
2278
|
+
radius: "rounded-sm",
|
|
2279
|
+
fontSize: "text-xs"},
|
|
2280
|
+
sm: {
|
|
2281
|
+
padding: {
|
|
2282
|
+
horizontal: "px-sm",
|
|
2283
|
+
vertical: "py-xs"
|
|
2284
|
+
},
|
|
2285
|
+
radius: "rounded-md",
|
|
2286
|
+
fontSize: "text-sm"},
|
|
2287
|
+
md: {
|
|
2288
|
+
padding: {
|
|
2289
|
+
horizontal: "px-sm",
|
|
2290
|
+
vertical: "py-xs"
|
|
2291
|
+
},
|
|
2292
|
+
radius: "rounded-md",
|
|
2293
|
+
fontSize: "text-base",
|
|
2294
|
+
fontSizeResponsive: "md:text-sm"},
|
|
2295
|
+
lg: {
|
|
2296
|
+
padding: {
|
|
2297
|
+
horizontal: "px-md",
|
|
2298
|
+
vertical: "py-sm"
|
|
2299
|
+
},
|
|
2300
|
+
radius: "rounded-md",
|
|
2301
|
+
fontSize: "text-base"},
|
|
2302
|
+
xl: {
|
|
2303
|
+
padding: {
|
|
2304
|
+
horizontal: "px-lg",
|
|
2305
|
+
vertical: "py-md"
|
|
2306
|
+
},
|
|
2307
|
+
radius: "rounded-lg",
|
|
2308
|
+
fontSize: "text-lg"}
|
|
2309
|
+
}
|
|
2310
|
+
};
|
|
2311
|
+
|
|
2312
|
+
// src/tokens/components/form.ts
|
|
2313
|
+
var FORM_TOKENS = {
|
|
2314
|
+
/**
|
|
2315
|
+
* Label tokens
|
|
2316
|
+
* Spacing and styling for labels
|
|
2317
|
+
*/
|
|
2318
|
+
label: {
|
|
2319
|
+
// 8px (0.5rem) - spacing between label and control
|
|
2320
|
+
/**
|
|
2321
|
+
* Color for required asterisk mark
|
|
2322
|
+
*/
|
|
2323
|
+
requiredMark: "text-destructive"
|
|
2324
|
+
// Color for required asterisk
|
|
2325
|
+
}};
|
|
2326
|
+
|
|
2327
|
+
// src/tokens/components/checkbox.ts
|
|
2328
|
+
var CHECKBOX_TOKENS = {
|
|
2329
|
+
/**
|
|
2330
|
+
* Checkbox sizes by size variant
|
|
2331
|
+
* Supports xs, sm, md, lg, xl sizes
|
|
2332
|
+
* Checkboxes are typically square and smaller than input fields
|
|
2333
|
+
*/
|
|
2334
|
+
size: {
|
|
2335
|
+
xs: {
|
|
2336
|
+
width: "w-3.5",
|
|
2337
|
+
// 14px (0.875rem)
|
|
2338
|
+
height: "h-3.5",
|
|
2339
|
+
// 14px (0.875rem)
|
|
2340
|
+
radius: "rounded-sm",
|
|
2341
|
+
// 4px (0.25rem)
|
|
2342
|
+
iconSize: "size-2.5"
|
|
2343
|
+
// 10px (0.625rem)
|
|
2344
|
+
},
|
|
2345
|
+
sm: {
|
|
2346
|
+
width: "w-4",
|
|
2347
|
+
// 16px (1rem)
|
|
2348
|
+
height: "h-4",
|
|
2349
|
+
// 16px (1rem)
|
|
2350
|
+
radius: "rounded-sm",
|
|
2351
|
+
// 4px (0.25rem)
|
|
2352
|
+
iconSize: "size-3"
|
|
2353
|
+
// 12px (0.75rem)
|
|
2354
|
+
},
|
|
2355
|
+
md: {
|
|
2210
2356
|
width: "w-4.5",
|
|
2211
2357
|
// 18px (1.125rem) - default
|
|
2212
2358
|
height: "h-4.5",
|
|
@@ -4245,6 +4391,14 @@ var DROPDOWN_TOKENS = {
|
|
|
4245
4391
|
// 256px
|
|
4246
4392
|
}
|
|
4247
4393
|
},
|
|
4394
|
+
/**
|
|
4395
|
+
* Width tokens
|
|
4396
|
+
* Common width utilities
|
|
4397
|
+
*/
|
|
4398
|
+
width: {
|
|
4399
|
+
full: "w-full"
|
|
4400
|
+
// Full width (100%)
|
|
4401
|
+
},
|
|
4248
4402
|
/**
|
|
4249
4403
|
* Item tokens by size
|
|
4250
4404
|
* Individual menu item
|
|
@@ -5054,64 +5208,352 @@ var MODAL_TOKENS = {
|
|
|
5054
5208
|
}
|
|
5055
5209
|
};
|
|
5056
5210
|
|
|
5057
|
-
// src/tokens/
|
|
5058
|
-
var
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
|
|
5069
|
-
|
|
5070
|
-
|
|
5071
|
-
|
|
5072
|
-
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
soft: `${motionV2Durations.normal} ${motionV2Easings.soft}`,
|
|
5081
|
-
reduced: `${motionV2Durations.reduced} linear`
|
|
5082
|
-
};
|
|
5083
|
-
var motionV2Fade = {
|
|
5084
|
-
in: {
|
|
5085
|
-
from: { opacity: 0 },
|
|
5086
|
-
to: { opacity: 1 }
|
|
5211
|
+
// src/tokens/components/table.ts
|
|
5212
|
+
var TABLE_TOKENS = {
|
|
5213
|
+
/**
|
|
5214
|
+
* Table cell and header padding by size
|
|
5215
|
+
* Maps to semantic spacing tokens
|
|
5216
|
+
*/
|
|
5217
|
+
padding: {
|
|
5218
|
+
cell: {
|
|
5219
|
+
sm: "p-xs",
|
|
5220
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
5221
|
+
md: "p-sm",
|
|
5222
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
5223
|
+
lg: "p-md"
|
|
5224
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
5225
|
+
},
|
|
5226
|
+
header: {
|
|
5227
|
+
sm: "px-xs py-sm",
|
|
5228
|
+
// 4px horizontal, 8px vertical
|
|
5229
|
+
md: "px-sm py-md",
|
|
5230
|
+
// 8px horizontal, 16px vertical
|
|
5231
|
+
lg: "px-md py-lg"
|
|
5232
|
+
// 16px horizontal, 24px vertical
|
|
5233
|
+
}
|
|
5087
5234
|
},
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
|
|
5092
|
-
|
|
5093
|
-
|
|
5094
|
-
in: {
|
|
5095
|
-
from: { transform: "scale(0.95)", opacity: 0 },
|
|
5096
|
-
to: { transform: "scale(1)", opacity: 1 }
|
|
5235
|
+
/**
|
|
5236
|
+
* Border radius for table
|
|
5237
|
+
*/
|
|
5238
|
+
radius: {
|
|
5239
|
+
default: "rounded-md"
|
|
5240
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
5097
5241
|
},
|
|
5098
|
-
|
|
5099
|
-
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
|
|
5242
|
+
/**
|
|
5243
|
+
* Shadow tokens for table
|
|
5244
|
+
* Maps to foundation elevation shadow tokens
|
|
5245
|
+
*/
|
|
5246
|
+
shadow: {
|
|
5247
|
+
// No shadow
|
|
5248
|
+
subtle: "shadow-sm"
|
|
5249
|
+
// Maps to elevationShadows.sm
|
|
5250
|
+
},
|
|
5251
|
+
/**
|
|
5252
|
+
* Typography tokens for table headers and cells
|
|
5253
|
+
* Maps to foundation typography fontSize tokens
|
|
5254
|
+
*/
|
|
5255
|
+
typography: {
|
|
5256
|
+
header: {
|
|
5257
|
+
fontSize: "text-sm",
|
|
5258
|
+
// Maps to fontSize.sm[0]
|
|
5259
|
+
fontWeight: "font-semibold"
|
|
5260
|
+
// Maps to fontWeight.semibold
|
|
5108
5261
|
},
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5262
|
+
cell: {
|
|
5263
|
+
fontSize: "text-sm",
|
|
5264
|
+
// Maps to fontSize.sm[0]
|
|
5265
|
+
fontWeight: "font-normal"
|
|
5266
|
+
// Maps to fontWeight.normal
|
|
5112
5267
|
}
|
|
5113
5268
|
},
|
|
5114
|
-
|
|
5269
|
+
/**
|
|
5270
|
+
* Color tokens for table states
|
|
5271
|
+
* Uses semantic color tokens
|
|
5272
|
+
*/
|
|
5273
|
+
colors: {
|
|
5274
|
+
border: "border-border",
|
|
5275
|
+
// Border color
|
|
5276
|
+
rowHover: "hover:bg-muted/50",
|
|
5277
|
+
// Row hover background
|
|
5278
|
+
rowSelected: "bg-muted"
|
|
5279
|
+
// Selected row background
|
|
5280
|
+
},
|
|
5281
|
+
/**
|
|
5282
|
+
* Border tokens for table
|
|
5283
|
+
*/
|
|
5284
|
+
border: {
|
|
5285
|
+
bottom: "border-b"
|
|
5286
|
+
// Border bottom for rows and headers
|
|
5287
|
+
},
|
|
5288
|
+
/**
|
|
5289
|
+
* Layout tokens for table container and base styles
|
|
5290
|
+
*/
|
|
5291
|
+
layout: {
|
|
5292
|
+
overflow: "overflow-x-auto",
|
|
5293
|
+
// Table container overflow
|
|
5294
|
+
table: "w-full border-collapse"
|
|
5295
|
+
// Table base styles
|
|
5296
|
+
},
|
|
5297
|
+
/**
|
|
5298
|
+
* Sticky header tokens
|
|
5299
|
+
* For sticky header positioning and styling
|
|
5300
|
+
*/
|
|
5301
|
+
sticky: {
|
|
5302
|
+
header: "sticky top-0 z-10 bg-background"
|
|
5303
|
+
// Sticky header styles
|
|
5304
|
+
},
|
|
5305
|
+
/**
|
|
5306
|
+
* Expandable row tokens
|
|
5307
|
+
* For expandable content styling
|
|
5308
|
+
*/
|
|
5309
|
+
expandable: {
|
|
5310
|
+
padding: "p-md",
|
|
5311
|
+
// Expandable content padding - maps to semanticSpacing.md
|
|
5312
|
+
container: "p-0",
|
|
5313
|
+
// Expandable container padding
|
|
5314
|
+
transition: "overflow-hidden transition-all duration-normal ease-in-out",
|
|
5315
|
+
// Transition styles
|
|
5316
|
+
expanded: "max-h-[100vh] opacity-100",
|
|
5317
|
+
// Expanded state
|
|
5318
|
+
collapsed: "max-h-0 opacity-0",
|
|
5319
|
+
// Collapsed state
|
|
5320
|
+
cursor: "cursor-pointer",
|
|
5321
|
+
// Cursor for expandable rows
|
|
5322
|
+
content: {
|
|
5323
|
+
expanded: "block",
|
|
5324
|
+
// Expanded content display
|
|
5325
|
+
collapsed: "hidden"
|
|
5326
|
+
// Collapsed content display
|
|
5327
|
+
}
|
|
5328
|
+
},
|
|
5329
|
+
/**
|
|
5330
|
+
* Loading state tokens
|
|
5331
|
+
* For loading state cell styling
|
|
5332
|
+
*/
|
|
5333
|
+
loading: {
|
|
5334
|
+
cellPadding: "p-sm",
|
|
5335
|
+
// Loading state cell padding - maps to semanticSpacing.sm
|
|
5336
|
+
skeletonWidth: "w-full"
|
|
5337
|
+
// Skeleton width
|
|
5338
|
+
},
|
|
5339
|
+
/**
|
|
5340
|
+
* Empty state tokens
|
|
5341
|
+
* For empty state cell styling
|
|
5342
|
+
*/
|
|
5343
|
+
empty: {
|
|
5344
|
+
padding: "p-8"
|
|
5345
|
+
// Empty state padding - maps to semanticSpacing.2xl
|
|
5346
|
+
},
|
|
5347
|
+
/**
|
|
5348
|
+
* Sortable header tokens
|
|
5349
|
+
* For sortable header styling and interactions
|
|
5350
|
+
*/
|
|
5351
|
+
sortable: {
|
|
5352
|
+
hover: "hover:bg-muted/50",
|
|
5353
|
+
// Sortable header hover
|
|
5354
|
+
gap: "gap-2",
|
|
5355
|
+
// Sort icon gap - maps to semanticSpacing.sm
|
|
5356
|
+
cursor: "cursor-pointer select-none",
|
|
5357
|
+
// Sortable cursor
|
|
5358
|
+
container: "flex items-center",
|
|
5359
|
+
// Sortable header container
|
|
5360
|
+
icon: {
|
|
5361
|
+
base: "inline-flex size-4 items-center text-muted-foreground transition-transform",
|
|
5362
|
+
// Sort icon base styles
|
|
5363
|
+
rotated: "rotate-180",
|
|
5364
|
+
// Rotated state (descending)
|
|
5365
|
+
inactive: "opacity-30"
|
|
5366
|
+
// Inactive state (no sort)
|
|
5367
|
+
}
|
|
5368
|
+
}
|
|
5369
|
+
};
|
|
5370
|
+
|
|
5371
|
+
// src/tokens/components/data-list.ts
|
|
5372
|
+
var DATA_LIST_TOKENS = {
|
|
5373
|
+
/**
|
|
5374
|
+
* Spacing tokens for DataList
|
|
5375
|
+
* Maps to semantic spacing tokens
|
|
5376
|
+
*/
|
|
5377
|
+
spacing: {
|
|
5378
|
+
gap: "gap-md"},
|
|
5379
|
+
/**
|
|
5380
|
+
* Label width tokens (for desktop horizontal layout)
|
|
5381
|
+
* Maps to Tailwind width utilities
|
|
5382
|
+
*/
|
|
5383
|
+
labelWidth: {
|
|
5384
|
+
// 96px (6rem) - small label width
|
|
5385
|
+
md: "w-32"},
|
|
5386
|
+
/**
|
|
5387
|
+
* Row padding tokens
|
|
5388
|
+
* Maps to semantic spacing tokens
|
|
5389
|
+
*/
|
|
5390
|
+
rowPadding: {
|
|
5391
|
+
sm: "py-xs",
|
|
5392
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
5393
|
+
md: "py-sm",
|
|
5394
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
5395
|
+
lg: "py-md"
|
|
5396
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
5397
|
+
},
|
|
5398
|
+
/**
|
|
5399
|
+
* Item tokens
|
|
5400
|
+
* For individual DataList item styling
|
|
5401
|
+
*/
|
|
5402
|
+
item: {
|
|
5403
|
+
/**
|
|
5404
|
+
* Border tokens for items
|
|
5405
|
+
*/
|
|
5406
|
+
border: "border-b border-border last:border-0",
|
|
5407
|
+
// Item borders
|
|
5408
|
+
/**
|
|
5409
|
+
* Responsive layout tokens
|
|
5410
|
+
*/
|
|
5411
|
+
layout: {
|
|
5412
|
+
mobile: "flex flex-col",
|
|
5413
|
+
// Mobile layout - vertical
|
|
5414
|
+
desktop: "md:flex-row md:items-center"
|
|
5415
|
+
// Desktop layout - horizontal
|
|
5416
|
+
}
|
|
5417
|
+
},
|
|
5418
|
+
/**
|
|
5419
|
+
* Label tokens
|
|
5420
|
+
* For DataList label styling
|
|
5421
|
+
*/
|
|
5422
|
+
label: {
|
|
5423
|
+
mobile: "mb-1 font-semibold text-foreground",
|
|
5424
|
+
// Mobile label styles
|
|
5425
|
+
desktop: "md:mb-0"
|
|
5426
|
+
// Desktop label margin override
|
|
5427
|
+
},
|
|
5428
|
+
/**
|
|
5429
|
+
* Value tokens
|
|
5430
|
+
* For DataList value styling
|
|
5431
|
+
*/
|
|
5432
|
+
value: {
|
|
5433
|
+
color: "text-muted-foreground",
|
|
5434
|
+
// Value text color
|
|
5435
|
+
flex: "flex-1"
|
|
5436
|
+
// Value flex grow
|
|
5437
|
+
}
|
|
5438
|
+
};
|
|
5439
|
+
|
|
5440
|
+
// src/tokens/components/empty-state.ts
|
|
5441
|
+
var EMPTY_STATE_TOKENS = {
|
|
5442
|
+
/**
|
|
5443
|
+
* Spacing tokens for EmptyState
|
|
5444
|
+
* Maps to semantic spacing tokens
|
|
5445
|
+
*/
|
|
5446
|
+
spacing: {
|
|
5447
|
+
// 24px (1.5rem) - container padding - maps to semanticSpacing.lg
|
|
5448
|
+
action: "mt-2"
|
|
5449
|
+
// Action button margin top - maps to semanticSpacing.xs
|
|
5450
|
+
},
|
|
5451
|
+
/**
|
|
5452
|
+
* Icon sizes by variant
|
|
5453
|
+
* Maps to Tailwind size utilities
|
|
5454
|
+
*/
|
|
5455
|
+
icon: {
|
|
5456
|
+
size: {
|
|
5457
|
+
sm: "size-8",
|
|
5458
|
+
// 32px (2rem)
|
|
5459
|
+
md: "size-12",
|
|
5460
|
+
// 48px (3rem)
|
|
5461
|
+
lg: "size-16"
|
|
5462
|
+
// 64px (4rem)
|
|
5463
|
+
},
|
|
5464
|
+
container: "flex items-center justify-center text-muted-foreground"
|
|
5465
|
+
// Icon container styles
|
|
5466
|
+
},
|
|
5467
|
+
/**
|
|
5468
|
+
* Typography tokens for EmptyState
|
|
5469
|
+
* Maps to foundation typography tokens
|
|
5470
|
+
*/
|
|
5471
|
+
typography: {
|
|
5472
|
+
title: {
|
|
5473
|
+
fontSize: "text-lg",
|
|
5474
|
+
// Maps to fontSize.lg[0]
|
|
5475
|
+
fontWeight: "font-semibold",
|
|
5476
|
+
// Maps to fontWeight.semibold
|
|
5477
|
+
color: "text-foreground"
|
|
5478
|
+
// Title text color
|
|
5479
|
+
},
|
|
5480
|
+
description: {
|
|
5481
|
+
fontSize: "text-sm",
|
|
5482
|
+
// Maps to fontSize.sm[0]
|
|
5483
|
+
fontWeight: "font-normal",
|
|
5484
|
+
// Maps to fontWeight.normal
|
|
5485
|
+
color: "text-muted-foreground",
|
|
5486
|
+
// Description text color
|
|
5487
|
+
maxWidth: "max-w-md"
|
|
5488
|
+
// Maximum width for description
|
|
5489
|
+
}
|
|
5490
|
+
},
|
|
5491
|
+
/**
|
|
5492
|
+
* Alignment tokens
|
|
5493
|
+
* For text alignment in EmptyState
|
|
5494
|
+
*/
|
|
5495
|
+
alignment: {
|
|
5496
|
+
center: "text-center"}
|
|
5497
|
+
};
|
|
5498
|
+
|
|
5499
|
+
// src/tokens/motion/v2.ts
|
|
5500
|
+
var motionV2Durations = {
|
|
5501
|
+
fast: "150ms",
|
|
5502
|
+
// Quick interactions
|
|
5503
|
+
normal: "250ms",
|
|
5504
|
+
// Default transitions
|
|
5505
|
+
slow: "350ms",
|
|
5506
|
+
// Emphasized animations
|
|
5507
|
+
reduced: "0ms"
|
|
5508
|
+
// For prefers-reduced-motion
|
|
5509
|
+
};
|
|
5510
|
+
var motionV2Easings = {
|
|
5511
|
+
soft: "cubic-bezier(0.22, 1, 0.36, 1)",
|
|
5512
|
+
// Gentle, smooth
|
|
5513
|
+
standard: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
5514
|
+
// Material Design standard
|
|
5515
|
+
emphasized: "cubic-bezier(0.2, 0, 0, 1)"
|
|
5516
|
+
// Strong, decisive
|
|
5517
|
+
};
|
|
5518
|
+
var motionV2Transitions = {
|
|
5519
|
+
fast: `${motionV2Durations.fast} ${motionV2Easings.standard}`,
|
|
5520
|
+
normal: `${motionV2Durations.normal} ${motionV2Easings.standard}`,
|
|
5521
|
+
slow: `${motionV2Durations.slow} ${motionV2Easings.emphasized}`,
|
|
5522
|
+
soft: `${motionV2Durations.normal} ${motionV2Easings.soft}`,
|
|
5523
|
+
reduced: `${motionV2Durations.reduced} linear`
|
|
5524
|
+
};
|
|
5525
|
+
var motionV2Fade = {
|
|
5526
|
+
in: {
|
|
5527
|
+
from: { opacity: 0 },
|
|
5528
|
+
to: { opacity: 1 }
|
|
5529
|
+
},
|
|
5530
|
+
out: {
|
|
5531
|
+
from: { opacity: 1 },
|
|
5532
|
+
to: { opacity: 0 }
|
|
5533
|
+
}
|
|
5534
|
+
};
|
|
5535
|
+
var motionV2Scale = {
|
|
5536
|
+
in: {
|
|
5537
|
+
from: { transform: "scale(0.95)", opacity: 0 },
|
|
5538
|
+
to: { transform: "scale(1)", opacity: 1 }
|
|
5539
|
+
},
|
|
5540
|
+
out: {
|
|
5541
|
+
from: { transform: "scale(1)", opacity: 1 },
|
|
5542
|
+
to: { transform: "scale(0.95)", opacity: 0 }
|
|
5543
|
+
}
|
|
5544
|
+
};
|
|
5545
|
+
var motionV2Slide = {
|
|
5546
|
+
up: {
|
|
5547
|
+
in: {
|
|
5548
|
+
from: { transform: "translateY(100%)", opacity: 0 },
|
|
5549
|
+
to: { transform: "translateY(0)", opacity: 1 }
|
|
5550
|
+
},
|
|
5551
|
+
out: {
|
|
5552
|
+
from: { transform: "translateY(0)", opacity: 1 },
|
|
5553
|
+
to: { transform: "translateY(100%)", opacity: 0 }
|
|
5554
|
+
}
|
|
5555
|
+
},
|
|
5556
|
+
down: {
|
|
5115
5557
|
in: {
|
|
5116
5558
|
from: { transform: "translateY(-100%)", opacity: 0 },
|
|
5117
5559
|
to: { transform: "translateY(0)", opacity: 1 }
|
|
@@ -6374,6 +6816,13 @@ var UI_COLORS = tailwindThemeColors;
|
|
|
6374
6816
|
function cn(...inputs) {
|
|
6375
6817
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
6376
6818
|
}
|
|
6819
|
+
function formatDate(date) {
|
|
6820
|
+
return new Intl.DateTimeFormat("en-US", {
|
|
6821
|
+
month: "long",
|
|
6822
|
+
day: "numeric",
|
|
6823
|
+
year: "numeric"
|
|
6824
|
+
}).format(new Date(date));
|
|
6825
|
+
}
|
|
6377
6826
|
var buttonVariants = classVarianceAuthority.cva(
|
|
6378
6827
|
`inline-flex items-center justify-center ${BUTTON_TOKENS.gap} whitespace-nowrap ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.fontSize.md} font-medium ${BUTTON_TOKENS.transition.colors} focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:${BUTTON_TOKENS.iconSize} [&_svg]:shrink-0`,
|
|
6379
6828
|
{
|
|
@@ -8339,31 +8788,31 @@ var Radio = React49__namespace.forwardRef(
|
|
|
8339
8788
|
);
|
|
8340
8789
|
Radio.displayName = "Radio";
|
|
8341
8790
|
var textareaVariants = classVarianceAuthority.cva(
|
|
8342
|
-
`flex min-h-[80px] ${
|
|
8791
|
+
`flex min-h-[80px] ${TEXTAREA_TOKENS.shadow} ${MOTION_TOKENS.transition.colors} disabled:cursor-not-allowed focus-visible:outline-none resize-y`,
|
|
8343
8792
|
{
|
|
8344
8793
|
variants: {
|
|
8345
8794
|
variant: {
|
|
8346
|
-
primary: `${
|
|
8347
|
-
secondary: `${
|
|
8348
|
-
outline: `${
|
|
8349
|
-
ghost: `${
|
|
8350
|
-
destructive: `${
|
|
8795
|
+
primary: `${TEXTAREA_TOKENS.variant.primary.border} ${TEXTAREA_TOKENS.variant.primary.background} ${TEXTAREA_TOKENS.variant.primary.text} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.variant.primary.focus}`,
|
|
8796
|
+
secondary: `${TEXTAREA_TOKENS.variant.secondary.border} ${TEXTAREA_TOKENS.variant.secondary.background} ${TEXTAREA_TOKENS.variant.secondary.text} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.variant.secondary.focus}`,
|
|
8797
|
+
outline: `${TEXTAREA_TOKENS.variant.outline.border} ${TEXTAREA_TOKENS.variant.outline.background} ${TEXTAREA_TOKENS.variant.outline.text} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.variant.outline.focus}`,
|
|
8798
|
+
ghost: `${TEXTAREA_TOKENS.variant.ghost.border} ${TEXTAREA_TOKENS.variant.ghost.background} ${TEXTAREA_TOKENS.variant.ghost.text} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.variant.ghost.focus}`,
|
|
8799
|
+
destructive: `${TEXTAREA_TOKENS.variant.destructive.border} ${TEXTAREA_TOKENS.variant.destructive.background} ${TEXTAREA_TOKENS.variant.destructive.text} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.variant.destructive.focus}`
|
|
8351
8800
|
},
|
|
8352
8801
|
size: {
|
|
8353
|
-
xs: `${
|
|
8354
|
-
sm: `${
|
|
8355
|
-
md: `${
|
|
8356
|
-
lg: `${
|
|
8357
|
-
xl: `${
|
|
8802
|
+
xs: `${TEXTAREA_TOKENS.size.xs.padding.horizontal} ${TEXTAREA_TOKENS.size.xs.padding.vertical} ${TEXTAREA_TOKENS.size.xs.radius} ${TEXTAREA_TOKENS.size.xs.fontSize}`,
|
|
8803
|
+
sm: `${TEXTAREA_TOKENS.size.sm.padding.horizontal} ${TEXTAREA_TOKENS.size.sm.padding.vertical} ${TEXTAREA_TOKENS.size.sm.radius} ${TEXTAREA_TOKENS.size.sm.fontSize}`,
|
|
8804
|
+
md: `${TEXTAREA_TOKENS.size.md.padding.horizontal} ${TEXTAREA_TOKENS.size.md.padding.vertical} ${TEXTAREA_TOKENS.size.md.radius} ${TEXTAREA_TOKENS.size.md.fontSize} ${TEXTAREA_TOKENS.size.md.fontSizeResponsive}`,
|
|
8805
|
+
lg: `${TEXTAREA_TOKENS.size.lg.padding.horizontal} ${TEXTAREA_TOKENS.size.lg.padding.vertical} ${TEXTAREA_TOKENS.size.lg.radius} ${TEXTAREA_TOKENS.size.lg.fontSize}`,
|
|
8806
|
+
xl: `${TEXTAREA_TOKENS.size.xl.padding.horizontal} ${TEXTAREA_TOKENS.size.xl.padding.vertical} ${TEXTAREA_TOKENS.size.xl.radius} ${TEXTAREA_TOKENS.size.xl.fontSize}`
|
|
8358
8807
|
},
|
|
8359
8808
|
state: {
|
|
8360
|
-
default: `${
|
|
8361
|
-
error: `${
|
|
8362
|
-
success: `${
|
|
8363
|
-
disabled: `${
|
|
8809
|
+
default: `${TEXTAREA_TOKENS.state.border.default} ${TEXTAREA_TOKENS.state.background.default} ${TEXTAREA_TOKENS.state.text.default} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.state.border.focus}`,
|
|
8810
|
+
error: `${TEXTAREA_TOKENS.state.border.error} ${TEXTAREA_TOKENS.state.background.default} ${TEXTAREA_TOKENS.state.text.default} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.state.border.focus}`,
|
|
8811
|
+
success: `${TEXTAREA_TOKENS.state.border.success} ${TEXTAREA_TOKENS.state.background.default} ${TEXTAREA_TOKENS.state.text.default} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.state.border.focus}`,
|
|
8812
|
+
disabled: `${TEXTAREA_TOKENS.state.border.disabled} ${TEXTAREA_TOKENS.state.background.disabled} ${TEXTAREA_TOKENS.state.text.default} ${TEXTAREA_TOKENS.state.text.placeholder} ${TEXTAREA_TOKENS.state.text.disabled}`
|
|
8364
8813
|
},
|
|
8365
8814
|
fullWidth: {
|
|
8366
|
-
true:
|
|
8815
|
+
true: TEXTAREA_TOKENS.width.full,
|
|
8367
8816
|
false: ""
|
|
8368
8817
|
}
|
|
8369
8818
|
},
|
|
@@ -8407,7 +8856,7 @@ var Textarea = React49__namespace.forwardRef(
|
|
|
8407
8856
|
const currentLength = typeof currentValue === "string" ? currentValue.length : 0;
|
|
8408
8857
|
const shouldShowCounter = showCharacterCount && maxLength !== void 0;
|
|
8409
8858
|
if (shouldShowCounter) {
|
|
8410
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", fullWidth !== false &&
|
|
8859
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", fullWidth !== false && TEXTAREA_TOKENS.width.full), children: [
|
|
8411
8860
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8412
8861
|
"textarea",
|
|
8413
8862
|
{
|
|
@@ -8427,11 +8876,11 @@ var Textarea = React49__namespace.forwardRef(
|
|
|
8427
8876
|
{
|
|
8428
8877
|
className: cn(
|
|
8429
8878
|
"absolute",
|
|
8430
|
-
|
|
8431
|
-
|
|
8879
|
+
TEXTAREA_TOKENS.message.position.bottom,
|
|
8880
|
+
TEXTAREA_TOKENS.message.position.right,
|
|
8432
8881
|
TEXT_TOKENS.fontSize.xs,
|
|
8433
|
-
|
|
8434
|
-
currentLength > maxLength &&
|
|
8882
|
+
TEXTAREA_TOKENS.message.color.default,
|
|
8883
|
+
currentLength > maxLength && TEXTAREA_TOKENS.message.color.error
|
|
8435
8884
|
),
|
|
8436
8885
|
children: [
|
|
8437
8886
|
currentLength,
|
|
@@ -8992,7 +9441,7 @@ var labelVariants = classVarianceAuthority.cva(
|
|
|
8992
9441
|
var Label2 = React49__namespace.forwardRef(
|
|
8993
9442
|
({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(LabelPrimitive__namespace.Root, { ref, className: cn(labelVariants(), className), ...props, children: [
|
|
8994
9443
|
children,
|
|
8995
|
-
required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
|
|
9444
|
+
required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(FORM_TOKENS.label.requiredMark, "ml-xs"), children: "*" })
|
|
8996
9445
|
] })
|
|
8997
9446
|
);
|
|
8998
9447
|
Label2.displayName = LabelPrimitive__namespace.Root.displayName;
|
|
@@ -10398,7 +10847,7 @@ var PopoverArrow = React49__namespace.forwardRef(
|
|
|
10398
10847
|
);
|
|
10399
10848
|
PopoverArrow.displayName = "PopoverArrow";
|
|
10400
10849
|
|
|
10401
|
-
// node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
|
|
10850
|
+
// node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
|
|
10402
10851
|
var min = Math.min;
|
|
10403
10852
|
var max = Math.max;
|
|
10404
10853
|
var round = Math.round;
|
|
@@ -10529,7 +10978,7 @@ function rectToClientRect(rect) {
|
|
|
10529
10978
|
};
|
|
10530
10979
|
}
|
|
10531
10980
|
|
|
10532
|
-
// node_modules/@floating-ui/core/dist/floating-ui.core.mjs
|
|
10981
|
+
// node_modules/.pnpm/@floating-ui+core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
|
|
10533
10982
|
function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
10534
10983
|
let {
|
|
10535
10984
|
reference,
|
|
@@ -10974,7 +11423,7 @@ var shift = function(options) {
|
|
|
10974
11423
|
};
|
|
10975
11424
|
};
|
|
10976
11425
|
|
|
10977
|
-
// node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
|
|
11426
|
+
// node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
|
|
10978
11427
|
function hasWindow() {
|
|
10979
11428
|
return typeof window !== "undefined";
|
|
10980
11429
|
}
|
|
@@ -11127,7 +11576,7 @@ function getFrameElement(win) {
|
|
|
11127
11576
|
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
11128
11577
|
}
|
|
11129
11578
|
|
|
11130
|
-
// node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
|
|
11579
|
+
// node_modules/.pnpm/@floating-ui+dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
|
|
11131
11580
|
function getCssDimensions(element) {
|
|
11132
11581
|
const css = getComputedStyle2(element);
|
|
11133
11582
|
let width = parseFloat(css.width) || 0;
|
|
@@ -13224,7 +13673,7 @@ var Skeleton = React49__namespace.forwardRef(
|
|
|
13224
13673
|
Skeleton.displayName = "Skeleton";
|
|
13225
13674
|
var EmptyStateAction = React49__namespace.forwardRef(
|
|
13226
13675
|
({ className, children, ...props }, ref) => {
|
|
13227
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn(
|
|
13676
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn(EMPTY_STATE_TOKENS.spacing.action, className), ...props, children });
|
|
13228
13677
|
}
|
|
13229
13678
|
);
|
|
13230
13679
|
EmptyStateAction.displayName = "EmptyStateAction";
|
|
@@ -13235,9 +13684,10 @@ var EmptyStateDescription = React49__namespace.forwardRef(
|
|
|
13235
13684
|
{
|
|
13236
13685
|
ref,
|
|
13237
13686
|
className: cn(
|
|
13238
|
-
|
|
13239
|
-
|
|
13240
|
-
|
|
13687
|
+
EMPTY_STATE_TOKENS.typography.description.fontSize,
|
|
13688
|
+
EMPTY_STATE_TOKENS.typography.description.fontWeight,
|
|
13689
|
+
EMPTY_STATE_TOKENS.typography.description.color,
|
|
13690
|
+
EMPTY_STATE_TOKENS.typography.description.maxWidth,
|
|
13241
13691
|
className
|
|
13242
13692
|
),
|
|
13243
13693
|
...props,
|
|
@@ -13249,16 +13699,12 @@ var EmptyStateDescription = React49__namespace.forwardRef(
|
|
|
13249
13699
|
EmptyStateDescription.displayName = "EmptyStateDescription";
|
|
13250
13700
|
var EmptyStateIcon = React49__namespace.forwardRef(
|
|
13251
13701
|
({ children, size: size3 = "md", className, ...props }, ref) => {
|
|
13252
|
-
const iconSizeClass =
|
|
13702
|
+
const iconSizeClass = EMPTY_STATE_TOKENS.icon.size[size3];
|
|
13253
13703
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13254
13704
|
"div",
|
|
13255
13705
|
{
|
|
13256
13706
|
ref,
|
|
13257
|
-
className: cn(
|
|
13258
|
-
"flex items-center justify-center text-muted-foreground",
|
|
13259
|
-
iconSizeClass,
|
|
13260
|
-
className
|
|
13261
|
-
),
|
|
13707
|
+
className: cn(EMPTY_STATE_TOKENS.icon.container, iconSizeClass, className),
|
|
13262
13708
|
...props,
|
|
13263
13709
|
children
|
|
13264
13710
|
}
|
|
@@ -13273,9 +13719,9 @@ var EmptyStateTitle = React49__namespace.forwardRef(
|
|
|
13273
13719
|
{
|
|
13274
13720
|
ref,
|
|
13275
13721
|
className: cn(
|
|
13276
|
-
|
|
13277
|
-
|
|
13278
|
-
|
|
13722
|
+
EMPTY_STATE_TOKENS.typography.title.fontSize,
|
|
13723
|
+
EMPTY_STATE_TOKENS.typography.title.fontWeight,
|
|
13724
|
+
EMPTY_STATE_TOKENS.typography.title.color,
|
|
13279
13725
|
className
|
|
13280
13726
|
),
|
|
13281
13727
|
...props,
|
|
@@ -13296,7 +13742,7 @@ var EmptyState = React49__namespace.forwardRef(
|
|
|
13296
13742
|
variant: "flat",
|
|
13297
13743
|
radius: "xl",
|
|
13298
13744
|
p: "lg",
|
|
13299
|
-
className: cn(
|
|
13745
|
+
className: cn(EMPTY_STATE_TOKENS.alignment.center, className),
|
|
13300
13746
|
id: emptyStateId,
|
|
13301
13747
|
...props,
|
|
13302
13748
|
children: /* @__PURE__ */ jsxRuntime.jsx(Stack, { gap: "md", align: "center", justify: "center", children })
|
|
@@ -13313,14 +13759,16 @@ var DataListItem = React49__namespace.forwardRef(
|
|
|
13313
13759
|
({ padding = "md", className, children, ...props }, ref) => {
|
|
13314
13760
|
const paddingValue = getBaseValue(padding);
|
|
13315
13761
|
const paddingKey = paddingValue && ["sm", "md", "lg"].includes(String(paddingValue)) ? String(paddingValue) : "md";
|
|
13316
|
-
const paddingClass =
|
|
13762
|
+
const paddingClass = DATA_LIST_TOKENS.rowPadding[paddingKey];
|
|
13317
13763
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13318
13764
|
"div",
|
|
13319
13765
|
{
|
|
13320
13766
|
ref,
|
|
13321
13767
|
className: cn(
|
|
13322
13768
|
paddingClass,
|
|
13323
|
-
|
|
13769
|
+
DATA_LIST_TOKENS.item.layout.mobile,
|
|
13770
|
+
DATA_LIST_TOKENS.item.layout.desktop,
|
|
13771
|
+
DATA_LIST_TOKENS.item.border,
|
|
13324
13772
|
className
|
|
13325
13773
|
),
|
|
13326
13774
|
...props,
|
|
@@ -13337,9 +13785,9 @@ var DataListLabel = React49__namespace.forwardRef(
|
|
|
13337
13785
|
{
|
|
13338
13786
|
ref,
|
|
13339
13787
|
className: cn(
|
|
13340
|
-
|
|
13341
|
-
|
|
13342
|
-
|
|
13788
|
+
DATA_LIST_TOKENS.label.mobile,
|
|
13789
|
+
DATA_LIST_TOKENS.label.desktop,
|
|
13790
|
+
DATA_LIST_TOKENS.labelWidth.md,
|
|
13343
13791
|
className
|
|
13344
13792
|
),
|
|
13345
13793
|
...props,
|
|
@@ -13351,13 +13799,21 @@ var DataListLabel = React49__namespace.forwardRef(
|
|
|
13351
13799
|
DataListLabel.displayName = "DataListLabel";
|
|
13352
13800
|
var DataListValue = React49__namespace.forwardRef(
|
|
13353
13801
|
({ className, children, ...props }, ref) => {
|
|
13354
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13802
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13803
|
+
"dd",
|
|
13804
|
+
{
|
|
13805
|
+
ref,
|
|
13806
|
+
className: cn(DATA_LIST_TOKENS.value.flex, DATA_LIST_TOKENS.value.color, className),
|
|
13807
|
+
...props,
|
|
13808
|
+
children
|
|
13809
|
+
}
|
|
13810
|
+
);
|
|
13355
13811
|
}
|
|
13356
13812
|
);
|
|
13357
13813
|
DataListValue.displayName = "DataListValue";
|
|
13358
13814
|
var DataListRoot = React49__namespace.forwardRef(
|
|
13359
13815
|
({ labelWidth: _labelWidth = "md", className, children, ...props }, ref) => {
|
|
13360
|
-
return /* @__PURE__ */ jsxRuntime.jsx("dl", { ref, className: cn(
|
|
13816
|
+
return /* @__PURE__ */ jsxRuntime.jsx("dl", { ref, className: cn(DATA_LIST_TOKENS.spacing.gap, className), ...props, children });
|
|
13361
13817
|
}
|
|
13362
13818
|
);
|
|
13363
13819
|
DataListRoot.displayName = "DataListRoot";
|
|
@@ -13372,9 +13828,9 @@ var TableBody = React49__namespace.forwardRef(
|
|
|
13372
13828
|
TableBody.displayName = "TableBody";
|
|
13373
13829
|
var TableCell = React49__namespace.forwardRef(
|
|
13374
13830
|
({ align = "left", size: size3 = "md", className, ...props }, ref) => {
|
|
13375
|
-
const paddingClass =
|
|
13376
|
-
const typographyClass =
|
|
13377
|
-
const fontWeightClass =
|
|
13831
|
+
const paddingClass = TABLE_TOKENS.padding.cell[size3];
|
|
13832
|
+
const typographyClass = TABLE_TOKENS.typography.cell.fontSize;
|
|
13833
|
+
const fontWeightClass = TABLE_TOKENS.typography.cell.fontWeight;
|
|
13378
13834
|
const alignmentClasses = {
|
|
13379
13835
|
left: "text-left",
|
|
13380
13836
|
center: "text-center",
|
|
@@ -13400,7 +13856,7 @@ var TableCell = React49__namespace.forwardRef(
|
|
|
13400
13856
|
TableCell.displayName = "TableCell";
|
|
13401
13857
|
var TableEmpty = React49__namespace.forwardRef(
|
|
13402
13858
|
({ colSpan, message = "No data available", className, ...props }, ref) => {
|
|
13403
|
-
return /* @__PURE__ */ jsxRuntime.jsx("tr", { ref, className: cn(className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan, className:
|
|
13859
|
+
return /* @__PURE__ */ jsxRuntime.jsx("tr", { ref, className: cn(className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan, className: TABLE_TOKENS.empty.padding, children: /* @__PURE__ */ jsxRuntime.jsxs(EmptyState, { children: [
|
|
13404
13860
|
/* @__PURE__ */ jsxRuntime.jsx(EmptyStateIcon, { children: "\u{1F4ED}" }),
|
|
13405
13861
|
/* @__PURE__ */ jsxRuntime.jsx(EmptyStateTitle, { children: message })
|
|
13406
13862
|
] }) }) });
|
|
@@ -13415,13 +13871,22 @@ var TableExpandableContent = React49__namespace.forwardRef(
|
|
|
13415
13871
|
ref,
|
|
13416
13872
|
colSpan,
|
|
13417
13873
|
className: cn(
|
|
13418
|
-
|
|
13419
|
-
|
|
13420
|
-
expanded ?
|
|
13874
|
+
TABLE_TOKENS.expandable.container,
|
|
13875
|
+
TABLE_TOKENS.expandable.transition,
|
|
13876
|
+
expanded ? TABLE_TOKENS.expandable.expanded : TABLE_TOKENS.expandable.collapsed,
|
|
13421
13877
|
className
|
|
13422
13878
|
),
|
|
13423
13879
|
...props,
|
|
13424
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13880
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13881
|
+
"div",
|
|
13882
|
+
{
|
|
13883
|
+
className: cn(
|
|
13884
|
+
TABLE_TOKENS.expandable.padding,
|
|
13885
|
+
expanded ? TABLE_TOKENS.expandable.content.expanded : TABLE_TOKENS.expandable.content.collapsed
|
|
13886
|
+
),
|
|
13887
|
+
children
|
|
13888
|
+
}
|
|
13889
|
+
)
|
|
13425
13890
|
}
|
|
13426
13891
|
);
|
|
13427
13892
|
}
|
|
@@ -13434,9 +13899,9 @@ var TableSortIcon = React49__namespace.forwardRef(
|
|
|
13434
13899
|
{
|
|
13435
13900
|
ref,
|
|
13436
13901
|
className: cn(
|
|
13437
|
-
|
|
13438
|
-
direction === "desc" &&
|
|
13439
|
-
!direction &&
|
|
13902
|
+
TABLE_TOKENS.sortable.icon.base,
|
|
13903
|
+
direction === "desc" && TABLE_TOKENS.sortable.icon.rotated,
|
|
13904
|
+
!direction && TABLE_TOKENS.sortable.icon.inactive,
|
|
13440
13905
|
className
|
|
13441
13906
|
),
|
|
13442
13907
|
"aria-hidden": "true",
|
|
@@ -13483,9 +13948,9 @@ var TableHead = React49__namespace.forwardRef(
|
|
|
13483
13948
|
direction: nextDirection
|
|
13484
13949
|
});
|
|
13485
13950
|
}, [sortable, columnKey, sortState, setSortState]);
|
|
13486
|
-
const paddingClass =
|
|
13487
|
-
const typographyClass =
|
|
13488
|
-
const fontWeightClass =
|
|
13951
|
+
const paddingClass = TABLE_TOKENS.padding.header[size3];
|
|
13952
|
+
const typographyClass = TABLE_TOKENS.typography.header.fontSize;
|
|
13953
|
+
const fontWeightClass = TABLE_TOKENS.typography.header.fontWeight;
|
|
13489
13954
|
const alignmentClasses = {
|
|
13490
13955
|
left: "text-left",
|
|
13491
13956
|
center: "text-center",
|
|
@@ -13502,9 +13967,10 @@ var TableHead = React49__namespace.forwardRef(
|
|
|
13502
13967
|
typographyClass,
|
|
13503
13968
|
fontWeightClass,
|
|
13504
13969
|
alignmentClasses[align],
|
|
13505
|
-
|
|
13506
|
-
|
|
13507
|
-
sortable &&
|
|
13970
|
+
TABLE_TOKENS.colors.border,
|
|
13971
|
+
TABLE_TOKENS.border.bottom,
|
|
13972
|
+
sortable && TABLE_TOKENS.sortable.cursor,
|
|
13973
|
+
sortable && TABLE_TOKENS.sortable.hover,
|
|
13508
13974
|
className
|
|
13509
13975
|
),
|
|
13510
13976
|
onClick: handleSort,
|
|
@@ -13516,7 +13982,7 @@ var TableHead = React49__namespace.forwardRef(
|
|
|
13516
13982
|
})(),
|
|
13517
13983
|
role: "columnheader",
|
|
13518
13984
|
...props,
|
|
13519
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
13985
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(TABLE_TOKENS.sortable.container, TABLE_TOKENS.sortable.gap), children: [
|
|
13520
13986
|
children,
|
|
13521
13987
|
sortable && /* @__PURE__ */ jsxRuntime.jsx(TableSortIcon, { direction: sortDirection })
|
|
13522
13988
|
] })
|
|
@@ -13531,7 +13997,7 @@ var TableHeader = React49__namespace.forwardRef(
|
|
|
13531
13997
|
"thead",
|
|
13532
13998
|
{
|
|
13533
13999
|
ref,
|
|
13534
|
-
className: cn(sticky &&
|
|
14000
|
+
className: cn(sticky && TABLE_TOKENS.sticky.header, className),
|
|
13535
14001
|
role: "rowgroup",
|
|
13536
14002
|
...props
|
|
13537
14003
|
}
|
|
@@ -13541,7 +14007,7 @@ var TableHeader = React49__namespace.forwardRef(
|
|
|
13541
14007
|
TableHeader.displayName = "TableHeader";
|
|
13542
14008
|
var TableLoadingState = React49__namespace.forwardRef(
|
|
13543
14009
|
({ colSpan, rows = 5, className, ...props }, ref) => {
|
|
13544
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: rows }).map((_, index2) => /* @__PURE__ */ jsxRuntime.jsx("tr", { ref: index2 === 0 ? ref : void 0, className: cn(className), ...props, children: Array.from({ length: colSpan }).map((_2, cellIndex) => /* @__PURE__ */ jsxRuntime.jsx("td", { className:
|
|
14010
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: rows }).map((_, index2) => /* @__PURE__ */ jsxRuntime.jsx("tr", { ref: index2 === 0 ? ref : void 0, className: cn(className), ...props, children: Array.from({ length: colSpan }).map((_2, cellIndex) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: TABLE_TOKENS.loading.cellPadding, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { variant: "text", className: TABLE_TOKENS.loading.skeletonWidth }) }, cellIndex)) }, index2)) });
|
|
13545
14011
|
}
|
|
13546
14012
|
);
|
|
13547
14013
|
TableLoadingState.displayName = "TableLoadingState";
|
|
@@ -13559,11 +14025,11 @@ var TableRow = React49__namespace.forwardRef(
|
|
|
13559
14025
|
{
|
|
13560
14026
|
ref,
|
|
13561
14027
|
className: cn(
|
|
13562
|
-
|
|
13563
|
-
|
|
13564
|
-
|
|
13565
|
-
selected &&
|
|
13566
|
-
expandable &&
|
|
14028
|
+
TABLE_TOKENS.colors.border,
|
|
14029
|
+
TABLE_TOKENS.border.bottom,
|
|
14030
|
+
TABLE_TOKENS.colors.rowHover,
|
|
14031
|
+
selected && TABLE_TOKENS.colors.rowSelected,
|
|
14032
|
+
expandable && TABLE_TOKENS.expandable.cursor,
|
|
13567
14033
|
className
|
|
13568
14034
|
),
|
|
13569
14035
|
"aria-expanded": expandable ? expanded : void 0,
|
|
@@ -13624,13 +14090,13 @@ function TableRoot({
|
|
|
13624
14090
|
}),
|
|
13625
14091
|
[sortState, expandedRows, toggleRow, expandable, renderExpandableContent]
|
|
13626
14092
|
);
|
|
13627
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
14093
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: TABLE_TOKENS.layout.overflow, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13628
14094
|
"table",
|
|
13629
14095
|
{
|
|
13630
14096
|
className: cn(
|
|
13631
|
-
|
|
13632
|
-
|
|
13633
|
-
|
|
14097
|
+
TABLE_TOKENS.layout.table,
|
|
14098
|
+
TABLE_TOKENS.radius.default,
|
|
14099
|
+
TABLE_TOKENS.shadow.subtle,
|
|
13634
14100
|
className
|
|
13635
14101
|
),
|
|
13636
14102
|
role: "table",
|
|
@@ -15197,8 +15663,8 @@ var artistCardGenresVariants = classVarianceAuthority.cva(
|
|
|
15197
15663
|
}
|
|
15198
15664
|
);
|
|
15199
15665
|
var artistCardFooterBorderVariants = classVarianceAuthority.cva(
|
|
15200
|
-
// Base classes - border top, spacing
|
|
15201
|
-
|
|
15666
|
+
// Base classes - border top from ARTIST_TOKENS, spacing from DOMAIN_TOKENS
|
|
15667
|
+
ARTIST_TOKENS.footer.border.top,
|
|
15202
15668
|
{
|
|
15203
15669
|
variants: {
|
|
15204
15670
|
size: {
|
|
@@ -15258,37 +15724,49 @@ var ArtistCard = React49__namespace.forwardRef(
|
|
|
15258
15724
|
...props,
|
|
15259
15725
|
children: [
|
|
15260
15726
|
featured && popularBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: artistCardBadgeVariants({ size: size3 }), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: artistCardBadgeSurfaceVariants({ size: size3, variant: "featured" }), children: popularBadgeText }) }),
|
|
15261
|
-
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15262
|
-
|
|
15263
|
-
|
|
15264
|
-
|
|
15265
|
-
|
|
15266
|
-
|
|
15267
|
-
|
|
15268
|
-
|
|
15269
|
-
|
|
15270
|
-
|
|
15271
|
-
|
|
15272
|
-
|
|
15273
|
-
|
|
15274
|
-
|
|
15275
|
-
|
|
15276
|
-
|
|
15277
|
-
|
|
15278
|
-
|
|
15279
|
-
|
|
15280
|
-
|
|
15727
|
+
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15728
|
+
"div",
|
|
15729
|
+
{
|
|
15730
|
+
className: cn(
|
|
15731
|
+
ARTIST_TOKENS.image.container.layout,
|
|
15732
|
+
DOMAIN_TOKENS.image.placeholder.gradient
|
|
15733
|
+
),
|
|
15734
|
+
children: [
|
|
15735
|
+
imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
15736
|
+
"img",
|
|
15737
|
+
{
|
|
15738
|
+
src: imageUrl,
|
|
15739
|
+
alt: name,
|
|
15740
|
+
className: cn(
|
|
15741
|
+
ARTIST_TOKENS.image.sizing.full,
|
|
15742
|
+
artistCardImageTransformVariants({ size: size3 })
|
|
15743
|
+
)
|
|
15744
|
+
}
|
|
15745
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: ARTIST_TOKENS.image.placeholder.container, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15746
|
+
Icon2,
|
|
15747
|
+
{
|
|
15748
|
+
name: "info",
|
|
15749
|
+
size: "xl",
|
|
15750
|
+
color: "muted",
|
|
15751
|
+
className: ICON_TOKENS.sizes["4xl"],
|
|
15752
|
+
"aria-hidden": "true"
|
|
15753
|
+
}
|
|
15754
|
+
) }),
|
|
15755
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: artistCardImageOverlayVariants({ size: size3 }) })
|
|
15756
|
+
]
|
|
15757
|
+
}
|
|
15758
|
+
) }),
|
|
15281
15759
|
/* @__PURE__ */ jsxRuntime.jsxs(CardBaseContentWrapper, { size: size3, children: [
|
|
15282
15760
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15283
15761
|
Heading,
|
|
15284
15762
|
{
|
|
15285
15763
|
level: 3,
|
|
15286
15764
|
className: cn(
|
|
15287
|
-
|
|
15765
|
+
DOMAIN_TOKENS.text.lineClamp.two,
|
|
15288
15766
|
TEXT_TOKENS.fontSize.lg,
|
|
15289
15767
|
TEXT_TOKENS.fontWeight.bold,
|
|
15290
15768
|
MOTION_TOKENS.transition.colors,
|
|
15291
|
-
|
|
15769
|
+
DOMAIN_TOKENS.text.hover.primary,
|
|
15292
15770
|
size3 === "compact" ? DOMAIN_TOKENS.spacing.section.titleToSubtitle : DOMAIN_TOKENS.spacing.section.subtitleToMetadata
|
|
15293
15771
|
),
|
|
15294
15772
|
children: href ? /* @__PURE__ */ jsxRuntime.jsx(Link, { href, variant: "ghost", children: name }) : name
|
|
@@ -15300,7 +15778,7 @@ var ArtistCard = React49__namespace.forwardRef(
|
|
|
15300
15778
|
size: "sm",
|
|
15301
15779
|
variant: "muted",
|
|
15302
15780
|
className: cn(
|
|
15303
|
-
|
|
15781
|
+
DOMAIN_TOKENS.text.lineClamp.two,
|
|
15304
15782
|
size3 === "compact" ? DOMAIN_TOKENS.spacing.section.titleToSubtitle : DOMAIN_TOKENS.spacing.section.subtitleToMetadata
|
|
15305
15783
|
),
|
|
15306
15784
|
children: description
|
|
@@ -15362,16 +15840,16 @@ var ArtistCard = React49__namespace.forwardRef(
|
|
|
15362
15840
|
}
|
|
15363
15841
|
);
|
|
15364
15842
|
ArtistCard.displayName = "ArtistCard";
|
|
15365
|
-
var
|
|
15843
|
+
var categoryCardBadgeVariants = classVarianceAuthority.cva(
|
|
15366
15844
|
// Base classes - absolute positioning, z-index
|
|
15367
15845
|
"absolute z-10",
|
|
15368
15846
|
{
|
|
15369
15847
|
variants: {
|
|
15370
15848
|
size: {
|
|
15371
15849
|
default: DOMAIN_TOKENS.badges.position.default,
|
|
15372
|
-
// Default positioning -
|
|
15850
|
+
// Default positioning - references semanticSpacing.md (16px)
|
|
15373
15851
|
compact: DOMAIN_TOKENS.badges.position.compact
|
|
15374
|
-
// Compact positioning -
|
|
15852
|
+
// Compact positioning - references semanticSpacing.sm (8px)
|
|
15375
15853
|
}
|
|
15376
15854
|
},
|
|
15377
15855
|
defaultVariants: {
|
|
@@ -15379,9 +15857,10 @@ var eventCardBadgeVariants = classVarianceAuthority.cva(
|
|
|
15379
15857
|
}
|
|
15380
15858
|
}
|
|
15381
15859
|
);
|
|
15382
|
-
var
|
|
15860
|
+
var categoryCardBadgeSurfaceVariants = classVarianceAuthority.cva(
|
|
15383
15861
|
// Base classes - flex layout, items center, badge styling
|
|
15384
|
-
|
|
15862
|
+
// Uses DOMAIN_TOKENS for badge-specific styles, TEXT_TOKENS for typography
|
|
15863
|
+
`inline-flex items-center ${DOMAIN_TOKENS.badges.radius} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.badges.size.sm} ${DOMAIN_TOKENS.badges.text.color} ${TEXT_TOKENS.fontSize.xs} ${TEXT_TOKENS.fontWeight.semibold}`,
|
|
15385
15864
|
{
|
|
15386
15865
|
variants: {
|
|
15387
15866
|
variant: {
|
|
@@ -15394,130 +15873,14 @@ var eventCardBadgeSurfaceVariants = classVarianceAuthority.cva(
|
|
|
15394
15873
|
}
|
|
15395
15874
|
}
|
|
15396
15875
|
);
|
|
15397
|
-
var
|
|
15398
|
-
// Base classes - flex column, metadata spacing
|
|
15399
|
-
`flex flex-col ${DOMAIN_TOKENS.metadata.spacing.vertical}`,
|
|
15400
|
-
{
|
|
15401
|
-
variants: {
|
|
15402
|
-
size: {
|
|
15403
|
-
default: "",
|
|
15404
|
-
compact: ""
|
|
15405
|
-
}
|
|
15406
|
-
},
|
|
15407
|
-
defaultVariants: {
|
|
15408
|
-
size: "default"
|
|
15409
|
-
}
|
|
15410
|
-
}
|
|
15411
|
-
);
|
|
15412
|
-
var eventCardMetadataItemVariants = classVarianceAuthority.cva(
|
|
15413
|
-
// Base classes - flex items center, metadata spacing and text
|
|
15414
|
-
`flex items-center ${DOMAIN_TOKENS.metadata.spacing.horizontal} ${DOMAIN_TOKENS.metadata.text.secondary} ${TEXT_TOKENS.fontSize.xs}`,
|
|
15415
|
-
{
|
|
15416
|
-
variants: {
|
|
15417
|
-
size: {
|
|
15418
|
-
default: "",
|
|
15419
|
-
compact: ""
|
|
15420
|
-
}
|
|
15421
|
-
},
|
|
15422
|
-
defaultVariants: {
|
|
15423
|
-
size: "default"
|
|
15424
|
-
}
|
|
15425
|
-
}
|
|
15426
|
-
);
|
|
15427
|
-
var eventCardMetadataIconVariants = classVarianceAuthority.cva(
|
|
15428
|
-
// Base classes - icon size and color
|
|
15429
|
-
`${ICON_TOKENS.sizes.md} ${ICON_TOKENS.colors.muted}`,
|
|
15430
|
-
{
|
|
15431
|
-
variants: {
|
|
15432
|
-
size: {
|
|
15433
|
-
default: "",
|
|
15434
|
-
compact: ""
|
|
15435
|
-
}
|
|
15436
|
-
},
|
|
15437
|
-
defaultVariants: {
|
|
15438
|
-
size: "default"
|
|
15439
|
-
}
|
|
15440
|
-
}
|
|
15441
|
-
);
|
|
15442
|
-
var eventCardFooterVariants = classVarianceAuthority.cva(
|
|
15443
|
-
// Base classes - border top, spacing
|
|
15444
|
-
"border-t border-border",
|
|
15445
|
-
{
|
|
15446
|
-
variants: {
|
|
15447
|
-
size: {
|
|
15448
|
-
default: DOMAIN_TOKENS.spacing.footer.paddingTopDefault,
|
|
15449
|
-
// Default padding top - references semanticSpacing.sm (8px) via Tailwind
|
|
15450
|
-
compact: DOMAIN_TOKENS.spacing.footer.paddingTopCompact
|
|
15451
|
-
// Compact padding top - references semanticSpacing.xs (4px) via Tailwind
|
|
15452
|
-
}
|
|
15453
|
-
},
|
|
15454
|
-
defaultVariants: {
|
|
15455
|
-
size: "default"
|
|
15456
|
-
}
|
|
15457
|
-
}
|
|
15458
|
-
);
|
|
15459
|
-
var eventCardTicketButtonVariants = classVarianceAuthority.cva(
|
|
15460
|
-
// Base classes - flex layout, badge gradient, motion
|
|
15461
|
-
`inline-flex items-center justify-center ${DOMAIN_TOKENS.badges.surface.featured} ${DOMAIN_TOKENS.badges.text.color} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.motion.hover.transition} font-semibold transform`,
|
|
15462
|
-
{
|
|
15463
|
-
variants: {
|
|
15464
|
-
size: {
|
|
15465
|
-
default: DOMAIN_TOKENS.spacing.button.paddingDefault,
|
|
15466
|
-
// Default padding - references semanticSpacing.md (16px) horizontal, xs (4px) vertical via Tailwind
|
|
15467
|
-
compact: DOMAIN_TOKENS.spacing.button.paddingCompact
|
|
15468
|
-
// Compact padding - references semanticSpacing.sm (8px) horizontal, xs (4px) vertical via Tailwind
|
|
15469
|
-
}
|
|
15470
|
-
},
|
|
15471
|
-
defaultVariants: {
|
|
15472
|
-
size: "default"
|
|
15473
|
-
}
|
|
15474
|
-
}
|
|
15475
|
-
);
|
|
15476
|
-
var eventCardTicketButtonIconVariants = classVarianceAuthority.cva(
|
|
15477
|
-
// Base classes - icon size and spacing
|
|
15478
|
-
`${ICON_TOKENS.sizes.md} ${DOMAIN_TOKENS.spacing.button.iconMarginLeft}`,
|
|
15479
|
-
{
|
|
15480
|
-
variants: {
|
|
15481
|
-
size: {
|
|
15482
|
-
default: "",
|
|
15483
|
-
compact: ""
|
|
15484
|
-
}
|
|
15485
|
-
},
|
|
15486
|
-
defaultVariants: {
|
|
15487
|
-
size: "default"
|
|
15488
|
-
}
|
|
15489
|
-
}
|
|
15490
|
-
);
|
|
15491
|
-
var eventCardPriceVariants = classVarianceAuthority.cva(
|
|
15492
|
-
// Base classes - price gradient text
|
|
15493
|
-
`bg-gradient-to-r from-accent-500 to-primary-600 bg-clip-text text-transparent`,
|
|
15494
|
-
{
|
|
15495
|
-
variants: {
|
|
15496
|
-
size: {
|
|
15497
|
-
default: TEXT_TOKENS.fontSize.lg,
|
|
15498
|
-
// Default size
|
|
15499
|
-
compact: TEXT_TOKENS.fontSize.md
|
|
15500
|
-
// Compact size
|
|
15501
|
-
}
|
|
15502
|
-
},
|
|
15503
|
-
defaultVariants: {
|
|
15504
|
-
size: "default"
|
|
15505
|
-
}
|
|
15506
|
-
}
|
|
15507
|
-
);
|
|
15508
|
-
var EventCard = React49__namespace.forwardRef(
|
|
15876
|
+
var CategoryCard = React49__namespace.forwardRef(
|
|
15509
15877
|
({
|
|
15510
15878
|
title,
|
|
15511
15879
|
description,
|
|
15512
|
-
date,
|
|
15513
|
-
venueName,
|
|
15514
|
-
price,
|
|
15515
15880
|
imageUrl,
|
|
15516
15881
|
href,
|
|
15517
|
-
ticketUrl,
|
|
15518
15882
|
featured = false,
|
|
15519
15883
|
showImage = true,
|
|
15520
|
-
getTicketsLabel,
|
|
15521
15884
|
featuredBadgeText,
|
|
15522
15885
|
size: size3 = "default",
|
|
15523
15886
|
variant,
|
|
@@ -15540,46 +15903,57 @@ var EventCard = React49__namespace.forwardRef(
|
|
|
15540
15903
|
className: cn("group relative", className),
|
|
15541
15904
|
...props,
|
|
15542
15905
|
children: [
|
|
15543
|
-
featured && featuredBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
15544
|
-
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15545
|
-
|
|
15546
|
-
|
|
15547
|
-
|
|
15548
|
-
|
|
15549
|
-
|
|
15550
|
-
|
|
15551
|
-
|
|
15552
|
-
|
|
15553
|
-
|
|
15554
|
-
|
|
15555
|
-
|
|
15556
|
-
|
|
15557
|
-
|
|
15558
|
-
|
|
15559
|
-
|
|
15560
|
-
|
|
15561
|
-
|
|
15562
|
-
|
|
15563
|
-
"
|
|
15564
|
-
|
|
15565
|
-
|
|
15566
|
-
|
|
15567
|
-
|
|
15568
|
-
|
|
15569
|
-
|
|
15570
|
-
|
|
15571
|
-
|
|
15906
|
+
featured && featuredBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: categoryCardBadgeVariants({ size: size3 }), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: categoryCardBadgeSurfaceVariants({ variant: "featured" }), children: featuredBadgeText }) }),
|
|
15907
|
+
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15908
|
+
"div",
|
|
15909
|
+
{
|
|
15910
|
+
className: cn(
|
|
15911
|
+
"relative w-full overflow-hidden",
|
|
15912
|
+
DOMAIN_TOKENS.image.placeholder.gradient
|
|
15913
|
+
),
|
|
15914
|
+
children: [
|
|
15915
|
+
imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
15916
|
+
"img",
|
|
15917
|
+
{
|
|
15918
|
+
src: imageUrl,
|
|
15919
|
+
alt: title,
|
|
15920
|
+
className: cn(
|
|
15921
|
+
"h-full w-full object-cover",
|
|
15922
|
+
DOMAIN_TOKENS.motion.hover.transition,
|
|
15923
|
+
DOMAIN_TOKENS.motion.hover.scale
|
|
15924
|
+
)
|
|
15925
|
+
}
|
|
15926
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15927
|
+
Icon2,
|
|
15928
|
+
{
|
|
15929
|
+
name: "info",
|
|
15930
|
+
className: cn(ICON_TOKENS.sizes["4xl"], ICON_TOKENS.colors.muted),
|
|
15931
|
+
"aria-hidden": "true"
|
|
15932
|
+
}
|
|
15933
|
+
) }),
|
|
15934
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15935
|
+
"div",
|
|
15936
|
+
{
|
|
15937
|
+
className: cn(
|
|
15938
|
+
"absolute inset-0 opacity-0 group-hover:opacity-100",
|
|
15939
|
+
MOTION_TOKENS.transition.opacity,
|
|
15940
|
+
MOTION_TOKENS.duration.normal,
|
|
15941
|
+
DOMAIN_TOKENS.image.overlay.gradient
|
|
15942
|
+
)
|
|
15943
|
+
}
|
|
15572
15944
|
)
|
|
15573
|
-
|
|
15574
|
-
|
|
15575
|
-
|
|
15945
|
+
]
|
|
15946
|
+
}
|
|
15947
|
+
) }),
|
|
15576
15948
|
/* @__PURE__ */ jsxRuntime.jsxs(CardBaseContentWrapper, { size: size3, children: [
|
|
15577
15949
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15578
15950
|
Heading,
|
|
15579
15951
|
{
|
|
15580
15952
|
level: 3,
|
|
15581
15953
|
className: cn(
|
|
15582
|
-
|
|
15954
|
+
DOMAIN_TOKENS.text.lineClamp.two,
|
|
15955
|
+
MOTION_TOKENS.transition.colors,
|
|
15956
|
+
DOMAIN_TOKENS.text.hover.primary,
|
|
15583
15957
|
TEXT_TOKENS.fontSize.lg,
|
|
15584
15958
|
TEXT_TOKENS.fontWeight.bold,
|
|
15585
15959
|
DOMAIN_TOKENS.spacing.section.titleToSubtitle
|
|
@@ -15591,47 +15965,21 @@ var EventCard = React49__namespace.forwardRef(
|
|
|
15591
15965
|
Text,
|
|
15592
15966
|
{
|
|
15593
15967
|
size: "sm",
|
|
15594
|
-
|
|
15968
|
+
variant: "muted",
|
|
15595
15969
|
className: cn(
|
|
15596
|
-
|
|
15970
|
+
DOMAIN_TOKENS.text.lineClamp.two,
|
|
15597
15971
|
size3 === "compact" ? DOMAIN_TOKENS.spacing.section.titleToSubtitle : DOMAIN_TOKENS.spacing.section.subtitleToMetadata
|
|
15598
15972
|
),
|
|
15599
15973
|
children: description
|
|
15600
15974
|
}
|
|
15601
|
-
)
|
|
15602
|
-
|
|
15603
|
-
date && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: eventCardMetadataItemVariants({ size: size3 }), children: [
|
|
15604
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconCalendar, { className: eventCardMetadataIconVariants({ size: size3 }) }),
|
|
15605
|
-
/* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", muted: true, children: date })
|
|
15606
|
-
] }),
|
|
15607
|
-
venueName && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: eventCardMetadataItemVariants({ size: size3 }), children: [
|
|
15608
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconLocation, { className: eventCardMetadataIconVariants({ size: size3 }) }),
|
|
15609
|
-
/* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", muted: true, className: "line-clamp-1", children: venueName })
|
|
15610
|
-
] })
|
|
15611
|
-
] })
|
|
15612
|
-
] }),
|
|
15613
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardBaseFooterWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", eventCardFooterVariants({ size: size3 })), children: [
|
|
15614
|
-
ticketUrl && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15615
|
-
Link,
|
|
15616
|
-
{
|
|
15617
|
-
href: ticketUrl,
|
|
15618
|
-
className: cn("w-full", eventCardTicketButtonVariants({ size: size3 })),
|
|
15619
|
-
target: "_blank",
|
|
15620
|
-
rel: "noopener noreferrer",
|
|
15621
|
-
children: [
|
|
15622
|
-
getTicketsLabel,
|
|
15623
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconArrowRight, { className: eventCardTicketButtonIconVariants({ size: size3 }) })
|
|
15624
|
-
]
|
|
15625
|
-
}
|
|
15626
|
-
),
|
|
15627
|
-
!ticketUrl && price && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(Text, { size: size3 === "compact" ? "md" : "lg", weight: "bold", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventCardPriceVariants({ size: size3 }), children: price }) }) })
|
|
15628
|
-
] }) })
|
|
15975
|
+
)
|
|
15976
|
+
] })
|
|
15629
15977
|
]
|
|
15630
15978
|
}
|
|
15631
15979
|
) });
|
|
15632
15980
|
}
|
|
15633
15981
|
);
|
|
15634
|
-
|
|
15982
|
+
CategoryCard.displayName = "CategoryCard";
|
|
15635
15983
|
var promoCardBadgeVariants = classVarianceAuthority.cva(
|
|
15636
15984
|
// Base classes - absolute positioning, z-index
|
|
15637
15985
|
"absolute z-10",
|
|
@@ -15665,14 +16013,14 @@ var promoCardBadgeSurfaceVariants = classVarianceAuthority.cva(
|
|
|
15665
16013
|
}
|
|
15666
16014
|
);
|
|
15667
16015
|
var promoCardCtaButtonVariants = classVarianceAuthority.cva(
|
|
15668
|
-
// Base classes - flex layout, button tokens, motion
|
|
15669
|
-
`inline-flex items-center justify-center ${
|
|
16016
|
+
// Base classes - flex layout, CTA button tokens, motion
|
|
16017
|
+
`inline-flex items-center justify-center ${DOMAIN_TOKENS.cta.button.radius} ${DOMAIN_TOKENS.cta.button.variant.primary.background} ${DOMAIN_TOKENS.cta.button.variant.primary.text} ${DOMAIN_TOKENS.cta.button.shadow.primary} ${DOMAIN_TOKENS.cta.button.variant.primary.hover} ${DOMAIN_TOKENS.cta.button.transition.colors} font-semibold`,
|
|
15670
16018
|
{
|
|
15671
16019
|
variants: {
|
|
15672
16020
|
size: {
|
|
15673
|
-
default: `${
|
|
16021
|
+
default: `${DOMAIN_TOKENS.cta.button.height.md} ${DOMAIN_TOKENS.cta.button.padding.horizontal.md} ${DOMAIN_TOKENS.cta.button.padding.vertical.sm} ${DOMAIN_TOKENS.cta.button.fontSize.md}`,
|
|
15674
16022
|
// Default size - uses md height and padding
|
|
15675
|
-
compact: `${
|
|
16023
|
+
compact: `${DOMAIN_TOKENS.cta.button.height.sm} ${DOMAIN_TOKENS.cta.button.padding.horizontal.sm} ${DOMAIN_TOKENS.cta.button.padding.vertical.sm} ${DOMAIN_TOKENS.cta.button.fontSize.sm}`
|
|
15676
16024
|
// Compact size - uses sm height and padding
|
|
15677
16025
|
}
|
|
15678
16026
|
},
|
|
@@ -15804,6 +16152,22 @@ var PromoCard = React49__namespace.forwardRef(
|
|
|
15804
16152
|
}
|
|
15805
16153
|
);
|
|
15806
16154
|
PromoCard.displayName = "PromoCard";
|
|
16155
|
+
var ticketCardVariants = classVarianceAuthority.cva("group relative", {
|
|
16156
|
+
variants: {
|
|
16157
|
+
size: {
|
|
16158
|
+
default: "",
|
|
16159
|
+
compact: ""
|
|
16160
|
+
},
|
|
16161
|
+
variant: {
|
|
16162
|
+
default: "",
|
|
16163
|
+
featured: ""
|
|
16164
|
+
}
|
|
16165
|
+
},
|
|
16166
|
+
defaultVariants: {
|
|
16167
|
+
size: "default",
|
|
16168
|
+
variant: "default"
|
|
16169
|
+
}
|
|
16170
|
+
});
|
|
15807
16171
|
var ticketCardBadgeVariants = classVarianceAuthority.cva(
|
|
15808
16172
|
// Base classes - absolute positioning, z-index
|
|
15809
16173
|
"absolute z-10",
|
|
@@ -15811,7 +16175,7 @@ var ticketCardBadgeVariants = classVarianceAuthority.cva(
|
|
|
15811
16175
|
variants: {
|
|
15812
16176
|
size: {
|
|
15813
16177
|
default: DOMAIN_TOKENS.badges.position.default,
|
|
15814
|
-
// Default positioning - maps to semanticSpacing.md (
|
|
16178
|
+
// Default positioning - maps to semanticSpacing.md (16px)
|
|
15815
16179
|
compact: DOMAIN_TOKENS.badges.position.compact
|
|
15816
16180
|
// Compact positioning - maps to semanticSpacing.sm (8px)
|
|
15817
16181
|
}
|
|
@@ -15823,7 +16187,7 @@ var ticketCardBadgeVariants = classVarianceAuthority.cva(
|
|
|
15823
16187
|
);
|
|
15824
16188
|
var ticketCardBadgeSurfaceVariants = classVarianceAuthority.cva(
|
|
15825
16189
|
// Base classes - flex layout, items center, badge styling
|
|
15826
|
-
`inline-flex items-center ${DOMAIN_TOKENS.badges.radius} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.badges.size.sm} ${DOMAIN_TOKENS.badges.text.color} ${TEXT_TOKENS.fontSize.xs}
|
|
16190
|
+
`inline-flex items-center ${DOMAIN_TOKENS.badges.radius} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.badges.size.sm} ${DOMAIN_TOKENS.badges.text.color} ${TEXT_TOKENS.fontSize.xs} ${TEXT_TOKENS.fontWeight.semibold}`,
|
|
15827
16191
|
{
|
|
15828
16192
|
variants: {
|
|
15829
16193
|
variant: {
|
|
@@ -15840,6 +16204,45 @@ var ticketCardBadgeSurfaceVariants = classVarianceAuthority.cva(
|
|
|
15840
16204
|
}
|
|
15841
16205
|
}
|
|
15842
16206
|
);
|
|
16207
|
+
var ticketCardTitleVariants = classVarianceAuthority.cva(
|
|
16208
|
+
`${TEXT_TOKENS.fontSize.lg} ${TEXT_TOKENS.fontWeight.bold} ${MOTION_TOKENS.transition.colors} ${DOMAIN_TOKENS.text.hover.primary} ${DOMAIN_TOKENS.text.lineClamp.two}`,
|
|
16209
|
+
{
|
|
16210
|
+
variants: {
|
|
16211
|
+
size: {
|
|
16212
|
+
default: DOMAIN_TOKENS.spacing.section.subtitleToMetadata,
|
|
16213
|
+
compact: DOMAIN_TOKENS.spacing.section.titleToSubtitle
|
|
16214
|
+
}
|
|
16215
|
+
},
|
|
16216
|
+
defaultVariants: {
|
|
16217
|
+
size: "default"
|
|
16218
|
+
}
|
|
16219
|
+
}
|
|
16220
|
+
);
|
|
16221
|
+
var ticketCardDateVariants = classVarianceAuthority.cva(
|
|
16222
|
+
`${DOMAIN_TOKENS.metadata.text.secondary} ${TEXT_TOKENS.fontSize.sm} ${MOTION_TOKENS.transition.colors}`,
|
|
16223
|
+
{
|
|
16224
|
+
variants: {
|
|
16225
|
+
size: {
|
|
16226
|
+
default: DOMAIN_TOKENS.spacing.section.titleToSubtitle,
|
|
16227
|
+
compact: `${DOMAIN_TOKENS.spacing.section.titleToSubtitle} ${TEXT_TOKENS.fontSize.xs}`
|
|
16228
|
+
}
|
|
16229
|
+
},
|
|
16230
|
+
defaultVariants: {
|
|
16231
|
+
size: "default"
|
|
16232
|
+
}
|
|
16233
|
+
}
|
|
16234
|
+
);
|
|
16235
|
+
var ticketCardDescriptionVariants = classVarianceAuthority.cva(`${DOMAIN_TOKENS.text.lineClamp.two}`, {
|
|
16236
|
+
variants: {
|
|
16237
|
+
size: {
|
|
16238
|
+
default: DOMAIN_TOKENS.spacing.section.subtitleToMetadata,
|
|
16239
|
+
compact: DOMAIN_TOKENS.spacing.section.titleToSubtitle
|
|
16240
|
+
}
|
|
16241
|
+
},
|
|
16242
|
+
defaultVariants: {
|
|
16243
|
+
size: "default"
|
|
16244
|
+
}
|
|
16245
|
+
});
|
|
15843
16246
|
var ticketCardPriceCapacityContainerVariants = classVarianceAuthority.cva(
|
|
15844
16247
|
// Base classes - flex layout, price/capacity spacing
|
|
15845
16248
|
`flex items-center ${DOMAIN_TOKENS.priceCapacity.spacing}`,
|
|
@@ -15857,7 +16260,7 @@ var ticketCardPriceCapacityContainerVariants = classVarianceAuthority.cva(
|
|
|
15857
16260
|
);
|
|
15858
16261
|
var ticketCardPriceVariants = classVarianceAuthority.cva(
|
|
15859
16262
|
// Base classes - price text color
|
|
15860
|
-
`${DOMAIN_TOKENS.priceCapacity.text.primary}
|
|
16263
|
+
`${DOMAIN_TOKENS.priceCapacity.text.primary} ${TEXT_TOKENS.fontWeight.bold}`,
|
|
15861
16264
|
{
|
|
15862
16265
|
variants: {
|
|
15863
16266
|
size: {
|
|
@@ -15891,7 +16294,7 @@ var ticketCardCapacityVariants = classVarianceAuthority.cva(
|
|
|
15891
16294
|
);
|
|
15892
16295
|
var ticketCardAvailabilityVariants = classVarianceAuthority.cva(
|
|
15893
16296
|
// Base classes - availability indicator styling
|
|
15894
|
-
`inline-flex items-center ${DOMAIN_TOKENS.metadata.spacing.horizontal} ${TEXT_TOKENS.fontSize.xs}
|
|
16297
|
+
`inline-flex items-center ${DOMAIN_TOKENS.metadata.spacing.horizontal} ${TEXT_TOKENS.fontSize.xs} ${TEXT_TOKENS.fontWeight.medium}`,
|
|
15895
16298
|
{
|
|
15896
16299
|
variants: {
|
|
15897
16300
|
availability: {
|
|
@@ -15924,7 +16327,7 @@ var ticketCardFooterVariants = classVarianceAuthority.cva(
|
|
|
15924
16327
|
);
|
|
15925
16328
|
var ticketCardPurchaseButtonVariants = classVarianceAuthority.cva(
|
|
15926
16329
|
// Base classes - flex layout, badge gradient, motion
|
|
15927
|
-
`inline-flex items-center justify-center ${DOMAIN_TOKENS.badges.surface.featured} ${DOMAIN_TOKENS.badges.text.color} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.motion.hover.transition}
|
|
16330
|
+
`inline-flex items-center justify-center ${DOMAIN_TOKENS.badges.surface.featured} ${DOMAIN_TOKENS.badges.text.color} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.motion.hover.transition} ${TEXT_TOKENS.fontWeight.semibold} transform`,
|
|
15928
16331
|
{
|
|
15929
16332
|
variants: {
|
|
15930
16333
|
size: {
|
|
@@ -15959,9 +16362,38 @@ var ticketCardPurchaseButtonIconVariants = classVarianceAuthority.cva(
|
|
|
15959
16362
|
}
|
|
15960
16363
|
}
|
|
15961
16364
|
);
|
|
16365
|
+
var ticketCardImageOverlayVariants = classVarianceAuthority.cva(
|
|
16366
|
+
`absolute inset-0 ${DOMAIN_TOKENS.image.overlay.gradient} opacity-0 ${MOTION_TOKENS.transition.opacity} ${MOTION_TOKENS.duration.normal} group-hover:opacity-100`,
|
|
16367
|
+
{
|
|
16368
|
+
variants: {
|
|
16369
|
+
size: {
|
|
16370
|
+
default: "",
|
|
16371
|
+
compact: ""
|
|
16372
|
+
}
|
|
16373
|
+
},
|
|
16374
|
+
defaultVariants: {
|
|
16375
|
+
size: "default"
|
|
16376
|
+
}
|
|
16377
|
+
}
|
|
16378
|
+
);
|
|
16379
|
+
var ticketCardImageTransformVariants = classVarianceAuthority.cva(
|
|
16380
|
+
`object-cover ${MOTION_TOKENS.transition.transform} ${MOTION_TOKENS.duration.slow} ${DOMAIN_TOKENS.motion.hover.scale}`,
|
|
16381
|
+
{
|
|
16382
|
+
variants: {
|
|
16383
|
+
size: {
|
|
16384
|
+
default: "",
|
|
16385
|
+
compact: ""
|
|
16386
|
+
}
|
|
16387
|
+
},
|
|
16388
|
+
defaultVariants: {
|
|
16389
|
+
size: "default"
|
|
16390
|
+
}
|
|
16391
|
+
}
|
|
16392
|
+
);
|
|
15962
16393
|
var TicketCard = React49__namespace.forwardRef(
|
|
15963
16394
|
({
|
|
15964
16395
|
title,
|
|
16396
|
+
date,
|
|
15965
16397
|
description,
|
|
15966
16398
|
price,
|
|
15967
16399
|
capacity,
|
|
@@ -16008,57 +16440,368 @@ var TicketCard = React49__namespace.forwardRef(
|
|
|
16008
16440
|
}
|
|
16009
16441
|
};
|
|
16010
16442
|
const availabilityLabel = getAvailabilityLabel();
|
|
16443
|
+
const formattedDate = date ? formatDate(date) : null;
|
|
16444
|
+
const dateTimeValue = (() => {
|
|
16445
|
+
if (!date) return null;
|
|
16446
|
+
if (typeof date === "string") {
|
|
16447
|
+
return new Date(date).toISOString();
|
|
16448
|
+
}
|
|
16449
|
+
if (date instanceof Date) {
|
|
16450
|
+
return date.toISOString();
|
|
16451
|
+
}
|
|
16452
|
+
return new Date(date).toISOString();
|
|
16453
|
+
})();
|
|
16011
16454
|
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...animationProps, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16012
16455
|
CardBase,
|
|
16013
16456
|
{
|
|
16014
16457
|
ref,
|
|
16015
16458
|
size: size3,
|
|
16016
16459
|
variant: cardVariant,
|
|
16017
|
-
className: cn(
|
|
16460
|
+
className: cn(ticketCardVariants({ size: size3, variant: cardVariant }), className),
|
|
16018
16461
|
...props,
|
|
16019
16462
|
children: [
|
|
16020
16463
|
featured && featuredBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ticketCardBadgeVariants({ size: size3 }), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: ticketCardBadgeSurfaceVariants({ variant: "featured" }), children: featuredBadgeText }) }),
|
|
16021
16464
|
vipBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(ticketCardBadgeVariants({ size: size3 }), getVipBadgePosition()), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: ticketCardBadgeSurfaceVariants({ variant: "vip" }), children: vipBadgeText }) }),
|
|
16022
16465
|
discountBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(ticketCardBadgeVariants({ size: size3 }), getDiscountBadgePosition()), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: ticketCardBadgeSurfaceVariants({ variant: "discount" }), children: discountBadgeText }) }),
|
|
16023
|
-
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16024
|
-
|
|
16025
|
-
|
|
16026
|
-
|
|
16027
|
-
|
|
16028
|
-
|
|
16029
|
-
|
|
16030
|
-
|
|
16031
|
-
|
|
16032
|
-
|
|
16033
|
-
|
|
16034
|
-
|
|
16035
|
-
|
|
16036
|
-
|
|
16037
|
-
|
|
16038
|
-
|
|
16039
|
-
|
|
16040
|
-
|
|
16041
|
-
|
|
16042
|
-
|
|
16043
|
-
|
|
16044
|
-
|
|
16045
|
-
|
|
16046
|
-
|
|
16466
|
+
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16467
|
+
"div",
|
|
16468
|
+
{
|
|
16469
|
+
className: cn(
|
|
16470
|
+
"relative w-full overflow-hidden",
|
|
16471
|
+
DOMAIN_TOKENS.image.placeholder.gradient
|
|
16472
|
+
),
|
|
16473
|
+
children: [
|
|
16474
|
+
imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
16475
|
+
"img",
|
|
16476
|
+
{
|
|
16477
|
+
src: imageUrl,
|
|
16478
|
+
alt: title,
|
|
16479
|
+
className: cn("h-full w-full", ticketCardImageTransformVariants({ size: size3 }))
|
|
16480
|
+
}
|
|
16481
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16482
|
+
Icon2,
|
|
16483
|
+
{
|
|
16484
|
+
name: "info",
|
|
16485
|
+
size: "xl",
|
|
16486
|
+
color: "muted",
|
|
16487
|
+
className: ICON_TOKENS.sizes["4xl"],
|
|
16488
|
+
"aria-hidden": "true"
|
|
16489
|
+
}
|
|
16490
|
+
) }),
|
|
16491
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ticketCardImageOverlayVariants({ size: size3 }) })
|
|
16492
|
+
]
|
|
16493
|
+
}
|
|
16494
|
+
) }),
|
|
16495
|
+
/* @__PURE__ */ jsxRuntime.jsxs(CardBaseContentWrapper, { size: size3, children: [
|
|
16496
|
+
/* @__PURE__ */ jsxRuntime.jsx(Heading, { level: 3, className: ticketCardTitleVariants({ size: size3 }), children: href ? /* @__PURE__ */ jsxRuntime.jsx(Link, { href, variant: "ghost", children: title }) : title }),
|
|
16497
|
+
formattedDate && dateTimeValue && /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: dateTimeValue, className: ticketCardDateVariants({ size: size3 }), children: formattedDate }),
|
|
16498
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(Text, { size: "sm", variant: "muted", className: ticketCardDescriptionVariants({ size: size3 }), children: description }),
|
|
16499
|
+
(price || capacity) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ticketCardPriceCapacityContainerVariants({ size: size3 }), children: [
|
|
16500
|
+
price && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16501
|
+
Text,
|
|
16502
|
+
{
|
|
16503
|
+
size: size3 === "compact" ? "md" : "lg",
|
|
16504
|
+
weight: "bold",
|
|
16505
|
+
className: ticketCardPriceVariants({ size: size3 }),
|
|
16506
|
+
children: price
|
|
16507
|
+
}
|
|
16508
|
+
),
|
|
16509
|
+
capacity && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16510
|
+
Text,
|
|
16511
|
+
{
|
|
16512
|
+
size: size3 === "compact" ? "xs" : "sm",
|
|
16513
|
+
variant: "muted",
|
|
16514
|
+
className: ticketCardCapacityVariants({ size: size3 }),
|
|
16515
|
+
children: capacity
|
|
16516
|
+
}
|
|
16517
|
+
)
|
|
16518
|
+
] }),
|
|
16519
|
+
availabilityLabel && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ticketCardAvailabilityVariants({ availability }), children: /* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", variant: availability === "sold_out" ? "muted" : "primary", children: availabilityLabel }) })
|
|
16520
|
+
] }),
|
|
16521
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardBaseFooterWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", ticketCardFooterVariants({ size: size3 })), children: [
|
|
16522
|
+
purchaseUrl && !isPurchaseDisabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16523
|
+
Link,
|
|
16047
16524
|
{
|
|
16525
|
+
href: purchaseUrl,
|
|
16048
16526
|
className: cn(
|
|
16049
|
-
"
|
|
16050
|
-
|
|
16051
|
-
)
|
|
16527
|
+
"w-full",
|
|
16528
|
+
ticketCardPurchaseButtonVariants({ size: size3, disabled: false })
|
|
16529
|
+
),
|
|
16530
|
+
target: "_blank",
|
|
16531
|
+
rel: "noopener noreferrer",
|
|
16532
|
+
children: [
|
|
16533
|
+
purchaseLabel,
|
|
16534
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconArrowRight, { className: ticketCardPurchaseButtonIconVariants({ size: size3 }) })
|
|
16535
|
+
]
|
|
16536
|
+
}
|
|
16537
|
+
),
|
|
16538
|
+
(!purchaseUrl || isPurchaseDisabled) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16539
|
+
"div",
|
|
16540
|
+
{
|
|
16541
|
+
className: cn(
|
|
16542
|
+
"w-full",
|
|
16543
|
+
ticketCardPurchaseButtonVariants({ size: size3, disabled: isPurchaseDisabled })
|
|
16544
|
+
),
|
|
16545
|
+
children: [
|
|
16546
|
+
purchaseLabel,
|
|
16547
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconArrowRight, { className: ticketCardPurchaseButtonIconVariants({ size: size3 }) })
|
|
16548
|
+
]
|
|
16052
16549
|
}
|
|
16053
16550
|
)
|
|
16054
|
-
] }) })
|
|
16551
|
+
] }) })
|
|
16552
|
+
]
|
|
16553
|
+
}
|
|
16554
|
+
) });
|
|
16555
|
+
}
|
|
16556
|
+
);
|
|
16557
|
+
TicketCard.displayName = "TicketCard";
|
|
16558
|
+
var eventCardVariants = classVarianceAuthority.cva(
|
|
16559
|
+
// Base classes - surface, border, radius, shadow, motion from tokens
|
|
16560
|
+
`${DOMAIN_TOKENS.surface.bg.default} ${DOMAIN_TOKENS.surface.border.default} ${DOMAIN_TOKENS.surface.radius.default} ${DOMAIN_TOKENS.surface.shadow.default} ${DOMAIN_TOKENS.surface.bg.hover} ${DOMAIN_TOKENS.surface.border.hover} ${DOMAIN_TOKENS.surface.elevation.hover} ${DOMAIN_TOKENS.motion.hover.transition} overflow-hidden`,
|
|
16561
|
+
{
|
|
16562
|
+
variants: {
|
|
16563
|
+
size: {
|
|
16564
|
+
default: `${CARD_TOKENS.size.md.padding} ${DOMAIN_TOKENS.layout.gap.default}`,
|
|
16565
|
+
compact: `${CARD_TOKENS.size.sm.padding} ${DOMAIN_TOKENS.layout.gap.compact}`
|
|
16566
|
+
},
|
|
16567
|
+
layout: {
|
|
16568
|
+
vertical: "flex flex-col"
|
|
16569
|
+
},
|
|
16570
|
+
variant: {
|
|
16571
|
+
default: "",
|
|
16572
|
+
featured: `${DOMAIN_TOKENS.badges.surface.featured}`
|
|
16573
|
+
}
|
|
16574
|
+
},
|
|
16575
|
+
defaultVariants: {
|
|
16576
|
+
size: "default",
|
|
16577
|
+
layout: "vertical",
|
|
16578
|
+
variant: "default"
|
|
16579
|
+
}
|
|
16580
|
+
}
|
|
16581
|
+
);
|
|
16582
|
+
var eventCardBadgeVariants = classVarianceAuthority.cva(
|
|
16583
|
+
// Base classes - absolute positioning, z-index
|
|
16584
|
+
"absolute z-10",
|
|
16585
|
+
{
|
|
16586
|
+
variants: {
|
|
16587
|
+
size: {
|
|
16588
|
+
default: DOMAIN_TOKENS.badges.position.default,
|
|
16589
|
+
compact: DOMAIN_TOKENS.badges.position.compact
|
|
16590
|
+
}
|
|
16591
|
+
},
|
|
16592
|
+
defaultVariants: {
|
|
16593
|
+
size: "default"
|
|
16594
|
+
}
|
|
16595
|
+
}
|
|
16596
|
+
);
|
|
16597
|
+
var eventCardBadgeSurfaceVariants = classVarianceAuthority.cva(
|
|
16598
|
+
// Base classes - flex layout, items center, badge styling from tokens
|
|
16599
|
+
`inline-flex items-center ${DOMAIN_TOKENS.badges.radius} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.badges.size.sm} ${DOMAIN_TOKENS.badges.text.color} ${TEXT_TOKENS.fontSize.xs} ${TEXT_TOKENS.fontWeight.semibold}`,
|
|
16600
|
+
{
|
|
16601
|
+
variants: {
|
|
16602
|
+
variant: {
|
|
16603
|
+
default: DOMAIN_TOKENS.badges.surface.default,
|
|
16604
|
+
featured: DOMAIN_TOKENS.badges.surface.featured
|
|
16605
|
+
}
|
|
16606
|
+
},
|
|
16607
|
+
defaultVariants: {
|
|
16608
|
+
variant: "featured"
|
|
16609
|
+
}
|
|
16610
|
+
}
|
|
16611
|
+
);
|
|
16612
|
+
var eventCardMetadataVariants = classVarianceAuthority.cva(
|
|
16613
|
+
// Base classes - flex column, metadata spacing from tokens
|
|
16614
|
+
`flex flex-col ${DOMAIN_TOKENS.metadata.spacing.vertical}`,
|
|
16615
|
+
{
|
|
16616
|
+
variants: {
|
|
16617
|
+
size: {
|
|
16618
|
+
default: "",
|
|
16619
|
+
compact: ""
|
|
16620
|
+
}
|
|
16621
|
+
},
|
|
16622
|
+
defaultVariants: {
|
|
16623
|
+
size: "default"
|
|
16624
|
+
}
|
|
16625
|
+
}
|
|
16626
|
+
);
|
|
16627
|
+
var eventCardMetadataItemVariants = classVarianceAuthority.cva(
|
|
16628
|
+
// Base classes - flex items center, metadata spacing and text from tokens
|
|
16629
|
+
`flex items-center ${DOMAIN_TOKENS.metadata.spacing.horizontal} ${DOMAIN_TOKENS.metadata.text.secondary} ${TEXT_TOKENS.fontSize.xs}`,
|
|
16630
|
+
{
|
|
16631
|
+
variants: {
|
|
16632
|
+
size: {
|
|
16633
|
+
default: "",
|
|
16634
|
+
compact: ""
|
|
16635
|
+
}
|
|
16636
|
+
},
|
|
16637
|
+
defaultVariants: {
|
|
16638
|
+
size: "default"
|
|
16639
|
+
}
|
|
16640
|
+
}
|
|
16641
|
+
);
|
|
16642
|
+
var eventCardMetadataIconVariants = classVarianceAuthority.cva(
|
|
16643
|
+
// Base classes - icon size and color from tokens
|
|
16644
|
+
`${DOMAIN_TOKENS.metadata.icon.sizeSm} ${DOMAIN_TOKENS.metadata.icon.default}`,
|
|
16645
|
+
{
|
|
16646
|
+
variants: {
|
|
16647
|
+
size: {
|
|
16648
|
+
default: "",
|
|
16649
|
+
compact: ""
|
|
16650
|
+
}
|
|
16651
|
+
},
|
|
16652
|
+
defaultVariants: {
|
|
16653
|
+
size: "default"
|
|
16654
|
+
}
|
|
16655
|
+
}
|
|
16656
|
+
);
|
|
16657
|
+
var eventCardFooterVariants = classVarianceAuthority.cva(
|
|
16658
|
+
// Base classes - border top, spacing from tokens
|
|
16659
|
+
"border-t border-border",
|
|
16660
|
+
{
|
|
16661
|
+
variants: {
|
|
16662
|
+
size: {
|
|
16663
|
+
default: DOMAIN_TOKENS.spacing.footer.paddingTopDefault,
|
|
16664
|
+
compact: DOMAIN_TOKENS.spacing.footer.paddingTopCompact
|
|
16665
|
+
}
|
|
16666
|
+
},
|
|
16667
|
+
defaultVariants: {
|
|
16668
|
+
size: "default"
|
|
16669
|
+
}
|
|
16670
|
+
}
|
|
16671
|
+
);
|
|
16672
|
+
var eventCardTicketButtonVariants = classVarianceAuthority.cva(
|
|
16673
|
+
// Base classes - flex layout, badge gradient, motion from tokens
|
|
16674
|
+
`inline-flex items-center justify-center ${DOMAIN_TOKENS.badges.surface.featured} ${DOMAIN_TOKENS.badges.text.color} ${DOMAIN_TOKENS.badges.shadow} ${DOMAIN_TOKENS.motion.hover.transition} ${TEXT_TOKENS.fontWeight.semibold} transform`,
|
|
16675
|
+
{
|
|
16676
|
+
variants: {
|
|
16677
|
+
size: {
|
|
16678
|
+
default: DOMAIN_TOKENS.spacing.button.paddingDefault,
|
|
16679
|
+
compact: DOMAIN_TOKENS.spacing.button.paddingCompact
|
|
16680
|
+
}
|
|
16681
|
+
},
|
|
16682
|
+
defaultVariants: {
|
|
16683
|
+
size: "default"
|
|
16684
|
+
}
|
|
16685
|
+
}
|
|
16686
|
+
);
|
|
16687
|
+
var eventCardTicketButtonIconVariants = classVarianceAuthority.cva(
|
|
16688
|
+
// Base classes - icon size and spacing from tokens
|
|
16689
|
+
`${DOMAIN_TOKENS.metadata.icon.sizeSm} ${DOMAIN_TOKENS.spacing.button.iconMarginLeft}`,
|
|
16690
|
+
{
|
|
16691
|
+
variants: {
|
|
16692
|
+
size: {
|
|
16693
|
+
default: "",
|
|
16694
|
+
compact: ""
|
|
16695
|
+
}
|
|
16696
|
+
},
|
|
16697
|
+
defaultVariants: {
|
|
16698
|
+
size: "default"
|
|
16699
|
+
}
|
|
16700
|
+
}
|
|
16701
|
+
);
|
|
16702
|
+
var eventCardPriceVariants = classVarianceAuthority.cva(
|
|
16703
|
+
// Base classes - price gradient text from tokens
|
|
16704
|
+
`bg-gradient-to-r from-accent-500 to-primary-600 bg-clip-text text-transparent`,
|
|
16705
|
+
{
|
|
16706
|
+
variants: {
|
|
16707
|
+
size: {
|
|
16708
|
+
default: TEXT_TOKENS.fontSize.lg,
|
|
16709
|
+
compact: TEXT_TOKENS.fontSize.md
|
|
16710
|
+
}
|
|
16711
|
+
},
|
|
16712
|
+
defaultVariants: {
|
|
16713
|
+
size: "default"
|
|
16714
|
+
}
|
|
16715
|
+
}
|
|
16716
|
+
);
|
|
16717
|
+
var EventCard = React49__namespace.forwardRef(
|
|
16718
|
+
({
|
|
16719
|
+
title,
|
|
16720
|
+
description,
|
|
16721
|
+
date,
|
|
16722
|
+
venueName,
|
|
16723
|
+
price,
|
|
16724
|
+
imageUrl,
|
|
16725
|
+
href,
|
|
16726
|
+
ticketUrl,
|
|
16727
|
+
featured = false,
|
|
16728
|
+
showImage = true,
|
|
16729
|
+
getTicketsLabel,
|
|
16730
|
+
featuredBadgeText,
|
|
16731
|
+
size: size3 = "default",
|
|
16732
|
+
layout = "vertical",
|
|
16733
|
+
variant,
|
|
16734
|
+
className,
|
|
16735
|
+
animation,
|
|
16736
|
+
...props
|
|
16737
|
+
}, ref) => {
|
|
16738
|
+
const animationProps = resolveComponentAnimations({
|
|
16739
|
+
animation: animation?.animation || "fadeInUp",
|
|
16740
|
+
hoverAnimation: animation?.hoverAnimation || "hoverLift",
|
|
16741
|
+
animationProps: animation?.animationProps
|
|
16742
|
+
});
|
|
16743
|
+
const cardVariant = variant || (featured ? "featured" : "default");
|
|
16744
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...animationProps, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16745
|
+
CardBase,
|
|
16746
|
+
{
|
|
16747
|
+
ref,
|
|
16748
|
+
size: size3,
|
|
16749
|
+
variant: cardVariant,
|
|
16750
|
+
className: cn(
|
|
16751
|
+
eventCardVariants({ size: size3, layout, variant: cardVariant }),
|
|
16752
|
+
"group relative",
|
|
16753
|
+
className
|
|
16754
|
+
),
|
|
16755
|
+
...props,
|
|
16756
|
+
children: [
|
|
16757
|
+
featured && featuredBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: eventCardBadgeVariants({ size: size3 }), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventCardBadgeSurfaceVariants({ variant: "featured" }), children: featuredBadgeText }) }),
|
|
16758
|
+
showImage && /* @__PURE__ */ jsxRuntime.jsx(CardBaseImageWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16759
|
+
"div",
|
|
16760
|
+
{
|
|
16761
|
+
className: cn("relative w-full overflow-hidden", DOMAIN_TOKENS.surface.bg.default),
|
|
16762
|
+
children: [
|
|
16763
|
+
imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
16764
|
+
"img",
|
|
16765
|
+
{
|
|
16766
|
+
src: imageUrl,
|
|
16767
|
+
alt: title,
|
|
16768
|
+
className: cn(
|
|
16769
|
+
"h-full w-full object-cover",
|
|
16770
|
+
DOMAIN_TOKENS.motion.hover.transition,
|
|
16771
|
+
DOMAIN_TOKENS.motion.hover.scale
|
|
16772
|
+
)
|
|
16773
|
+
}
|
|
16774
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16775
|
+
Icon2,
|
|
16776
|
+
{
|
|
16777
|
+
name: "info",
|
|
16778
|
+
size: "xl",
|
|
16779
|
+
color: "muted",
|
|
16780
|
+
className: ICON_TOKENS.sizes["4xl"],
|
|
16781
|
+
"aria-hidden": "true"
|
|
16782
|
+
}
|
|
16783
|
+
) }),
|
|
16784
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16785
|
+
"div",
|
|
16786
|
+
{
|
|
16787
|
+
className: cn(
|
|
16788
|
+
"absolute inset-0 opacity-0 group-hover:opacity-100",
|
|
16789
|
+
DOMAIN_TOKENS.motion.hover.transition,
|
|
16790
|
+
DOMAIN_TOKENS.image.overlay.gradient
|
|
16791
|
+
)
|
|
16792
|
+
}
|
|
16793
|
+
)
|
|
16794
|
+
]
|
|
16795
|
+
}
|
|
16796
|
+
) }),
|
|
16055
16797
|
/* @__PURE__ */ jsxRuntime.jsxs(CardBaseContentWrapper, { size: size3, children: [
|
|
16056
16798
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16057
16799
|
Heading,
|
|
16058
16800
|
{
|
|
16059
16801
|
level: 3,
|
|
16060
16802
|
className: cn(
|
|
16061
|
-
"line-clamp-2
|
|
16803
|
+
"line-clamp-2 group-hover:text-primary",
|
|
16804
|
+
DOMAIN_TOKENS.motion.hover.transition,
|
|
16062
16805
|
TEXT_TOKENS.fontSize.lg,
|
|
16063
16806
|
TEXT_TOKENS.fontWeight.bold,
|
|
16064
16807
|
DOMAIN_TOKENS.spacing.section.titleToSubtitle
|
|
@@ -16070,7 +16813,7 @@ var TicketCard = React49__namespace.forwardRef(
|
|
|
16070
16813
|
Text,
|
|
16071
16814
|
{
|
|
16072
16815
|
size: "sm",
|
|
16073
|
-
|
|
16816
|
+
muted: true,
|
|
16074
16817
|
className: cn(
|
|
16075
16818
|
"line-clamp-2",
|
|
16076
16819
|
size3 === "compact" ? DOMAIN_TOKENS.spacing.section.titleToSubtitle : DOMAIN_TOKENS.spacing.section.subtitleToMetadata
|
|
@@ -16078,49 +16821,57 @@ var TicketCard = React49__namespace.forwardRef(
|
|
|
16078
16821
|
children: description
|
|
16079
16822
|
}
|
|
16080
16823
|
),
|
|
16081
|
-
|
|
16082
|
-
|
|
16083
|
-
|
|
16084
|
-
|
|
16085
|
-
|
|
16824
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: eventCardMetadataVariants({ size: size3 }), children: [
|
|
16825
|
+
date && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: eventCardMetadataItemVariants({ size: size3 }), role: "text", children: [
|
|
16826
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16827
|
+
IconCalendar,
|
|
16828
|
+
{
|
|
16829
|
+
className: eventCardMetadataIconVariants({ size: size3 }),
|
|
16830
|
+
"aria-hidden": true
|
|
16831
|
+
}
|
|
16832
|
+
),
|
|
16833
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", muted: true, children: /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date, children: date }) })
|
|
16834
|
+
] }),
|
|
16835
|
+
venueName && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: eventCardMetadataItemVariants({ size: size3 }), role: "text", children: [
|
|
16836
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16837
|
+
IconLocation,
|
|
16838
|
+
{
|
|
16839
|
+
className: eventCardMetadataIconVariants({ size: size3 }),
|
|
16840
|
+
"aria-hidden": true
|
|
16841
|
+
}
|
|
16842
|
+
),
|
|
16843
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", muted: true, className: "line-clamp-1", children: /* @__PURE__ */ jsxRuntime.jsx("address", { children: venueName }) })
|
|
16844
|
+
] })
|
|
16845
|
+
] })
|
|
16086
16846
|
] }),
|
|
16087
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardBaseFooterWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full",
|
|
16088
|
-
|
|
16847
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardBaseFooterWrapper, { size: size3, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", eventCardFooterVariants({ size: size3 })), children: [
|
|
16848
|
+
ticketUrl && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16089
16849
|
Link,
|
|
16090
16850
|
{
|
|
16091
|
-
href:
|
|
16092
|
-
className: cn(
|
|
16093
|
-
"w-full",
|
|
16094
|
-
ticketCardPurchaseButtonVariants({ size: size3, disabled: false })
|
|
16095
|
-
),
|
|
16851
|
+
href: ticketUrl,
|
|
16852
|
+
className: cn("w-full", eventCardTicketButtonVariants({ size: size3 })),
|
|
16096
16853
|
target: "_blank",
|
|
16097
16854
|
rel: "noopener noreferrer",
|
|
16098
16855
|
children: [
|
|
16099
|
-
|
|
16100
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16856
|
+
getTicketsLabel,
|
|
16857
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16858
|
+
IconArrowRight,
|
|
16859
|
+
{
|
|
16860
|
+
className: eventCardTicketButtonIconVariants({ size: size3 }),
|
|
16861
|
+
"aria-hidden": true
|
|
16862
|
+
}
|
|
16863
|
+
)
|
|
16101
16864
|
]
|
|
16102
16865
|
}
|
|
16103
16866
|
),
|
|
16104
|
-
|
|
16105
|
-
"div",
|
|
16106
|
-
{
|
|
16107
|
-
className: cn(
|
|
16108
|
-
"w-full",
|
|
16109
|
-
ticketCardPurchaseButtonVariants({ size: size3, disabled: isPurchaseDisabled })
|
|
16110
|
-
),
|
|
16111
|
-
children: [
|
|
16112
|
-
purchaseLabel,
|
|
16113
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconArrowRight, { className: ticketCardPurchaseButtonIconVariants({ size: size3 }) })
|
|
16114
|
-
]
|
|
16115
|
-
}
|
|
16116
|
-
)
|
|
16867
|
+
!ticketUrl && price && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(Text, { size: size3 === "compact" ? "md" : "lg", weight: "bold", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventCardPriceVariants({ size: size3 }), children: price }) }) })
|
|
16117
16868
|
] }) })
|
|
16118
16869
|
]
|
|
16119
16870
|
}
|
|
16120
16871
|
) });
|
|
16121
16872
|
}
|
|
16122
16873
|
);
|
|
16123
|
-
|
|
16874
|
+
EventCard.displayName = "EventCard";
|
|
16124
16875
|
|
|
16125
16876
|
exports.ALERT_TOKENS = ALERT_TOKENS;
|
|
16126
16877
|
exports.Alert = Alert;
|
|
@@ -16138,6 +16889,7 @@ exports.Card = Card;
|
|
|
16138
16889
|
exports.CardBody = CardBody;
|
|
16139
16890
|
exports.CardFooter = CardFooter;
|
|
16140
16891
|
exports.CardHeader = CardHeader;
|
|
16892
|
+
exports.CategoryCard = CategoryCard;
|
|
16141
16893
|
exports.Checkbox = Checkbox;
|
|
16142
16894
|
exports.Code = Code;
|
|
16143
16895
|
exports.Column = Column;
|