@tenerife.music/ui 1.0.16 → 1.1.1

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.
@@ -1,5 +1,5 @@
1
1
  export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from '../colors-BrFmCQv-.js';
2
- export { A as ALERT_TOKENS, l as AlertVariant, cG as AlignOffsetToken, bo as Animation, cH as AnimationPresetToken, cI as AspectRatioToken, B as BUTTON_TOKENS, bR as BorderRadius, m as ButtonFontSize, n as ButtonHeight, o as ButtonPaddingHorizontal, p as ButtonPaddingVertical, q as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, cm as CanonicalFontSize, cn as CanonicalFontWeight, co as CanonicalLetterSpacing, cp as CanonicalLineHeight, cq as CanonicalTextColor, r as CardPadding, s as CardRadius, t as CardShadow, u as CardSize, v as CardSpacingVertical, w as CheckboxSize, x as CheckboxState, y as CheckboxVariant, cJ as ColorToken, bX as ColoredShadow, bS as ComponentRadius, c9 as ComponentSpacing, cK as ContainerMaxWidthToken, cL as ContainerPaddingToken, ca as ContainerSpacing, D as DATA_TOKENS, b as DOMAIN_TOKENS, c as DROPDOWN_TOKENS, z as DataListLabelWidth, E as DataListRowPadding, cM as DelayToken, F as DomainCardBadge, G as DomainCardImage, H as DomainCardLayout, J as DomainCardMetadata, K as DomainCardMotion, L as DomainCardPriceCapacity, Q as DomainCardSkeleton, U as DomainCardSkeletonContentWidth, V as DomainCardSurface, W as DropdownItemSize, X as DropdownMenuSize, Y as DropdownTriggerSize, Z as DropdownVariant, bp as Duration, bq as Easing, bY as ElevationShadow, _ as EmptyStateIconSize, cN as FlexBasisToken, bZ as FocusRing, cr as FontFamily, cs as FontSize, ct as FontWeight, b_ as GlowEffect, cb as GridSpacing, I as ICON_TOKENS, d as INPUT_TOKENS, $ as IconColor, a0 as IconSize, a1 as IconStroke, a2 as InputFontSize, a3 as InputHeight, a4 as InputPaddingHorizontal, a5 as InputPaddingVertical, a6 as InputRadius, a7 as InputSize, br as Keyframe, cO as LayoutSpaceToken, cu as LetterSpacing, cv as LineHeight, M as MENU_TOKENS, e as MOTION_TOKENS, a8 as MenuContentMinWidth, a9 as MenuContentPadding, aa as MenuContentRadius, ab as MenuContentShadow, ac as MenuIndicatorOffset, ad as MenuIndicatorSize, ae as MenuItemGap, af as MenuItemHeight, ag as MenuItemPadding, ah as MenuItemRadius, ai as MenuLabelPadding, aj as MenuSeparatorMargin, cP as ModalFooterAlignToken, cQ as ModalHeightToken, cR as ModalSizeToken, cS as ModalWidthToken, ak as MotionAnimation, al as MotionDuration, cT as MotionDurationToken, am as MotionEasing, cU as MotionEasingToken, cV as MotionToken, an as MotionTransition, ao as MotionTransitionPreset, cW as MotionTransitionToken, bD as MotionV2CombinedType, bE as MotionV2Duration, bF as MotionV2Easing, bG as MotionV2SlideDirection, bH as MotionV2Transition, N as NAVIGATION_TOKENS, f as NOTIFICATION_TOKENS, ap as NavigationItemPadding, aq as NavigationListGap, ar as NavigationRadius, as as NavigationShadow, at as NavigationSize, au as NavigationState, av as NotificationPanelWidth, aw as NotificationVariant, O as OVERLAY_TOKENS, ax as OverlayBackdropVariant, ay as OverlayModalSize, P as POPOVER_TOKENS, az as PopoverArrowOffset, aA as PopoverArrowSize, aB as PopoverContentPadding, aC as PopoverContentRadius, aD as PopoverContentShadow, aE as PopoverContentWidth, R as RADIO_TOKENS, aF as RadioSize, aG as RadioState, aH as RadioVariant, cX as RadiusToken, cY as ResponsiveAlignOffset, cZ as ResponsiveAnimationPreset, c_ as ResponsiveAspectRatio, c$ as ResponsiveColor, d0 as ResponsiveContainerMaxWidth, d1 as ResponsiveContainerPadding, d2 as ResponsiveDelay, d3 as ResponsiveFlexBasis, d4 as ResponsiveModalHeight, d5 as ResponsiveModalSize, d6 as ResponsiveModalWidth, d7 as ResponsiveMotion, d8 as ResponsiveRadius, d9 as ResponsiveSelectSize, da as ResponsiveSelectWidth, db as ResponsiveShadow, dc as ResponsiveSideOffset, dd as ResponsiveSpace, de as ResponsiveSurface, df as ResponsiveTextLineHeight, dg as ResponsiveTextSize, dh as ResponsiveTextWeight, S as SECTION_TOKENS, g as SELECT_TOKENS, h as SURFACE_TOKENS, i as SWITCH_TOKENS, aI as SectionGap, aJ as SectionPadding, cc as SectionSpacing, aK as SelectContentPadding, aL as SelectContentRadius, aM as SelectItemFontSize, aN as SelectItemPaddingHorizontal, aO as SelectItemPaddingVertical, aP as SelectItemRadius, aQ as SelectLabelFontSize, aR as SelectLabelPaddingHorizontal, aS as SelectLabelPaddingVertical, aT as SelectSeparatorMarginHorizontal, aU as SelectSeparatorMarginVertical, di as SelectSizeToken, dj as SelectStateToken, aV as SelectTriggerFontSize, aW as SelectTriggerHeight, aX as SelectTriggerPaddingHorizontal, aY as SelectTriggerPaddingVertical, aZ as SelectTriggerRadius, dk as SelectVariantToken, dl as SelectWidthToken, cd as SemanticSpacing, dm as ShadowToken, dn as SideOffsetToken, a_ as SkeletonAnimation, a$ as SkeletonBackground, b0 as SkeletonVariant, dp as SpaceToken, ce as Spacing, dq as SpacingToken, bs as Spring, cf as StackSpacing, b1 as SurfacePadding, b2 as SurfaceRadius, b3 as SurfaceShadow, dr as SurfaceToken, b4 as SurfaceVariant, b5 as SwitchSize, b6 as SwitchState, b7 as SwitchVariant, T as TEXT_TOKENS, j as TOAST_TOKENS, k as TOOLTIP_TOKENS, b8 as TableCellPadding, b9 as TableGap, ba as TableHeaderPadding, bb as TableRowHeight, bc as TableShadow, bd as TextFontSize, be as TextFontWeight, bf as TextLetterSpacing, ds as TextLetterSpacingToken, bg as TextLineHeight, dt as TextLineHeightToken, du as TextSizeToken, cw as TextStyle, dv as TextWeightToken, bh as ToastVariant, bi as TooltipContentRadius, bj as TooltipContentShadow, bt as Transition, cl as UI_COLORS, b$ as accentColoredShadows, bk as allCSSVariables, bl as allCSSVariablesCSS, bu as animations, bT as borderRadius, bU as componentRadius, c0 as componentShadowMapping, bv as durations, bw as easings, c1 as elevationShadows, c2 as focusRings, cx as fontFamily, cy as fontSize, cz as fontSizeWithMd, cA as fontWeight, bm as generateCSSVariablesCSS, c3 as glowEffects, bx as keyframes, cg as layoutSpacing, cB as letterSpacing, cC as lineHeight, by as motionCSSVariables, bI as motionV2CSSVariables, bJ as motionV2Combined, bK as motionV2Durations, bL as motionV2Easings, bM as motionV2Fade, bN as motionV2Scale, bO as motionV2Slide, bP as motionV2TailwindConfig, bQ as motionV2Transitions, c4 as primaryColoredShadows, bV as radiusCSSVariables, bz as reducedMotion, ch as semanticSpacing, c5 as shadowBase, c6 as shadowCSSVariables, c7 as shadowOpacity, ci as spacing, cj as spacingCSSVariables, bA as springs, bB as tailwindMotionConfig, bW as tailwindRadiusConfig, c8 as tailwindShadowConfig, ck as tailwindSpacingConfig, cD as tailwindTypographyConfig, cE as textStyles, bn as tokenSystemSummary, bC as transitions, cF as typographyCSSVariables } from '../index-DPWxsWs3.js';
2
+ export { A as ALERT_TOKENS, j as AlertVariant, cr as AlignOffsetToken, b9 as Animation, cs as AnimationPresetToken, ct as AspectRatioToken, B as BUTTON_TOKENS, bC as BorderRadius, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, c7 as CanonicalFontSize, c8 as CanonicalFontWeight, c9 as CanonicalLetterSpacing, ca as CanonicalLineHeight, cb as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, cu as ColorToken, bI as ColoredShadow, bD as ComponentRadius, bW as ComponentSpacing, cv as ContainerMaxWidthToken, cw as ContainerPaddingToken, bX as ContainerSpacing, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, cx as DelayToken, ba as Duration, bb as Easing, bJ as ElevationShadow, E as EmptyStateIconSize, cy as FlexBasisToken, bK as FocusRing, cc as FontFamily, cd as FontSize, ce as FontWeight, bL as GlowEffect, bY as GridSpacing, I as ICON_TOKENS, b as INPUT_TOKENS, z as IconColor, F as IconSize, G as IconStroke, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, bc as Keyframe, cz as LayoutSpaceToken, cf as LetterSpacing, cg as LineHeight, M as MENU_TOKENS, c as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, cA as ModalFooterAlignToken, cB as ModalHeightToken, cC as ModalSizeToken, cD as ModalWidthToken, a5 as MotionAnimation, a6 as MotionDuration, cE as MotionDurationToken, a7 as MotionEasing, cF as MotionEasingToken, cG as MotionToken, a8 as MotionTransition, a9 as MotionTransitionPreset, cH as MotionTransitionToken, bo as MotionV2CombinedType, bp as MotionV2Duration, bq as MotionV2Easing, br as MotionV2SlideDirection, bs as MotionV2Transition, N as NAVIGATION_TOKENS, d as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, cI as RadiusToken, cJ as ResponsiveAlignOffset, cK as ResponsiveAnimationPreset, cL as ResponsiveAspectRatio, cM as ResponsiveColor, cN as ResponsiveContainerMaxWidth, cO as ResponsiveContainerPadding, cP as ResponsiveDelay, cQ as ResponsiveFlexBasis, cR as ResponsiveModalHeight, cS as ResponsiveModalSize, cT as ResponsiveModalWidth, cU as ResponsiveMotion, cV as ResponsiveRadius, cW as ResponsiveSelectSize, cX as ResponsiveSelectWidth, cY as ResponsiveShadow, cZ as ResponsiveSideOffset, c_ as ResponsiveSpace, c$ as ResponsiveSurface, d0 as ResponsiveTextLineHeight, d1 as ResponsiveTextSize, d2 as ResponsiveTextWeight, S as SECTION_TOKENS, e as SELECT_TOKENS, f as SURFACE_TOKENS, g as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bZ as SectionSpacing, av as SelectContentPadding, aw as SelectContentRadius, ax as SelectItemFontSize, ay as SelectItemPaddingHorizontal, az as SelectItemPaddingVertical, aA as SelectItemRadius, aB as SelectLabelFontSize, aC as SelectLabelPaddingHorizontal, aD as SelectLabelPaddingVertical, aE as SelectSeparatorMarginHorizontal, aF as SelectSeparatorMarginVertical, d3 as SelectSizeToken, d4 as SelectStateToken, aG as SelectTriggerFontSize, aH as SelectTriggerHeight, aI as SelectTriggerPaddingHorizontal, aJ as SelectTriggerPaddingVertical, aK as SelectTriggerRadius, d5 as SelectVariantToken, d6 as SelectWidthToken, b_ as SemanticSpacing, d7 as ShadowToken, d8 as SideOffsetToken, aL as SkeletonAnimation, aM as SkeletonBackground, aN as SkeletonVariant, d9 as SpaceToken, b$ as Spacing, da as SpacingToken, bd as Spring, c0 as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, db as SurfaceToken, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, h as TOAST_TOKENS, i as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, dc as TextLetterSpacingToken, b1 as TextLineHeight, dd as TextLineHeightToken, de as TextSizeToken, ch as TextStyle, df as TextWeightToken, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, be as Transition, c6 as UI_COLORS, bM as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, bf as animations, bE as borderRadius, bF as componentRadius, bN as componentShadowMapping, bg as durations, bh as easings, bO as elevationShadows, bP as focusRings, ci as fontFamily, cj as fontSize, ck as fontSizeWithMd, cl as fontWeight, b7 as generateCSSVariablesCSS, bQ as glowEffects, bi as keyframes, c1 as layoutSpacing, cm as letterSpacing, cn as lineHeight, bj as motionCSSVariables, bt as motionV2CSSVariables, bu as motionV2Combined, bv as motionV2Durations, bw as motionV2Easings, bx as motionV2Fade, by as motionV2Scale, bz as motionV2Slide, bA as motionV2TailwindConfig, bB as motionV2Transitions, bR as primaryColoredShadows, bG as radiusCSSVariables, bk as reducedMotion, c2 as semanticSpacing, bS as shadowBase, bT as shadowCSSVariables, bU as shadowOpacity, c3 as spacing, c4 as spacingCSSVariables, bl as springs, bm as tailwindMotionConfig, bH as tailwindRadiusConfig, bV as tailwindShadowConfig, c5 as tailwindSpacingConfig, co as tailwindTypographyConfig, cp as textStyles, b8 as tokenSystemSummary, bn as transitions, cq as typographyCSSVariables } from '../index-DInIMlaR.js';
3
3
 
4
4
  /**
5
5
  * Artist Card Component Tokens
@@ -86,4 +86,488 @@ type ArtistCardImageSizing = typeof ARTIST_TOKENS.image.sizing;
86
86
  type ArtistCardImagePlaceholder = typeof ARTIST_TOKENS.image.placeholder;
87
87
  type ArtistCardFooterBorder = typeof ARTIST_TOKENS.footer.border;
88
88
 
89
- export { ARTIST_TOKENS, type ArtistCardFooterBorder, type ArtistCardImageContainer, type ArtistCardImagePlaceholder, type ArtistCardImageSizing };
89
+ /**
90
+ * Domain Component Tokens
91
+ *
92
+ * Domain-specific design tokens for card components (EventCard, VenueCard, ArtistCard,
93
+ * TicketCard, PromoCard, CategoryCard). These tokens provide a consistent foundation
94
+ * for card surface styles, layout, images, metadata, badges, price/capacity displays,
95
+ * hover/motion states, and skeleton loading states.
96
+ *
97
+ * All values reference foundation tokens or other component tokens.
98
+ * Based on audit requirements from L3_CARD_AUDIT.md.
99
+ *
100
+ * Foundation tokens referenced:
101
+ * - SPACING_TOKENS: semanticSpacing (xs, sm, md, lg, xl, 2xl, 3xl) from src/tokens/spacing.ts
102
+ * - RADIUS_TOKENS: borderRadius (xs, sm, md, lg, xl, 2xl, full) from src/tokens/radius.ts
103
+ * - TEXT_TOKENS: fontSize, fontWeight from src/tokens/components/text.ts
104
+ * - ICON_TOKENS: sizes, colors from src/tokens/components/icon.ts
105
+ * - SHADOW_TOKENS: elevationShadows (xs, sm, md, lg, xl, 2xl) from src/tokens/shadows.ts
106
+ * - MOTION_TOKENS: transition, transitionPreset from src/tokens/components/motion.ts
107
+ * - DATA_TOKENS: skeleton patterns from src/tokens/components/data.ts
108
+ */
109
+ /**
110
+ * Domain Card Component Tokens
111
+ *
112
+ * Defines all tokens for domain-specific card components.
113
+ * Values reference foundation tokens or other component tokens.
114
+ */
115
+ declare const DOMAIN_TOKENS: {
116
+ /**
117
+ * Surface tokens for card containers
118
+ * Defines background, border, radius, and shadow for card surfaces
119
+ */
120
+ readonly surface: {
121
+ /**
122
+ * Background colors
123
+ * Maps to semantic color tokens
124
+ */
125
+ readonly bg: {
126
+ readonly default: "bg-card";
127
+ readonly hover: "hover:bg-card/95";
128
+ };
129
+ /**
130
+ * Border styles
131
+ * Maps to semantic border tokens
132
+ */
133
+ readonly border: {
134
+ readonly default: "border border-border";
135
+ readonly hover: "hover:border-primary/20";
136
+ };
137
+ /**
138
+ * Border radius
139
+ * References borderRadius.xl (0.75rem / 12px)
140
+ * Using Tailwind class "rounded-xl" which maps to borderRadius.xl
141
+ */
142
+ readonly radius: {
143
+ readonly default: "rounded-xl";
144
+ };
145
+ /**
146
+ * Shadow (elevation) tokens
147
+ * References elevationShadows.md
148
+ * Using Tailwind class "shadow-md" which maps to elevationShadows.md
149
+ */
150
+ readonly shadow: {
151
+ readonly default: "shadow-md";
152
+ };
153
+ /**
154
+ * Elevation change on hover
155
+ * References elevationShadows.xl
156
+ * Using Tailwind class "hover:shadow-xl" which maps to elevationShadows.xl
157
+ */
158
+ readonly elevation: {
159
+ readonly hover: "hover:shadow-xl";
160
+ };
161
+ };
162
+ /**
163
+ * Spacing tokens for card component spacing
164
+ * References semanticSpacing tokens
165
+ * Note: Tailwind classes are used for component className application
166
+ */
167
+ readonly spacing: {
168
+ /**
169
+ * Section spacing - vertical spacing between card sections
170
+ */
171
+ readonly section: {
172
+ readonly titleToSubtitle: "mb-xs";
173
+ readonly subtitleToMetadata: "mb-sm";
174
+ };
175
+ /**
176
+ * Badge spacing offsets
177
+ */
178
+ readonly badges: {
179
+ readonly offsetX: "1rem";
180
+ readonly offsetY: "1rem";
181
+ };
182
+ /**
183
+ * Image spacing
184
+ */
185
+ readonly image: {
186
+ readonly bottomMargin: "0";
187
+ };
188
+ /**
189
+ * Card vertical gap
190
+ */
191
+ readonly card: {
192
+ readonly verticalGap: "1rem";
193
+ };
194
+ /**
195
+ * Metadata item gap
196
+ */
197
+ readonly metadata: {
198
+ readonly itemGap: "0.25rem";
199
+ };
200
+ /**
201
+ * Footer spacing
202
+ */
203
+ readonly footer: {
204
+ readonly paddingTopDefault: "pt-sm";
205
+ readonly paddingTopCompact: "pt-xs";
206
+ };
207
+ /**
208
+ * Button spacing
209
+ */
210
+ readonly button: {
211
+ readonly paddingDefault: "px-md py-xs";
212
+ readonly paddingCompact: "px-sm py-xs";
213
+ readonly iconMarginLeft: "ml-xs";
214
+ };
215
+ };
216
+ /**
217
+ * Layout tokens for card spacing and gaps
218
+ * References semanticSpacing tokens
219
+ * Note: Tailwind utilities are used for component className application
220
+ */
221
+ readonly layout: {
222
+ /**
223
+ * Padding tokens
224
+ * References semanticSpacing (md = 16px, sm = 8px)
225
+ * Note: "p-md" and "p-sm" are Tailwind utilities that apply semanticSpacing values
226
+ */
227
+ readonly padding: {
228
+ readonly default: "p-md";
229
+ readonly compact: "p-sm";
230
+ };
231
+ /**
232
+ * Gap tokens for spacing between card elements
233
+ * References semanticSpacing (md = 16px, xs = 4px)
234
+ * Note: "gap-md" and "gap-xs" are Tailwind utilities that apply semanticSpacing values
235
+ */
236
+ readonly gap: {
237
+ readonly default: "gap-md";
238
+ readonly compact: "gap-xs";
239
+ };
240
+ };
241
+ /**
242
+ * Image tokens for card media
243
+ * Defines aspect ratio, radius, overlay styles, and placeholder gradients
244
+ */
245
+ readonly image: {
246
+ /**
247
+ * Aspect ratio for card images
248
+ * Standard 16:9 aspect ratio for card images
249
+ */
250
+ readonly aspectRatio: "aspect-video";
251
+ /**
252
+ * Border radius for images
253
+ * References borderRadius.xl (0.75rem / 12px) for top corners only
254
+ * Using Tailwind class "rounded-t-xl" which maps to borderRadius.xl
255
+ */
256
+ readonly radius: "rounded-t-xl";
257
+ /**
258
+ * Overlay gradient tokens for image overlays
259
+ * Used for hover states and text readability
260
+ */
261
+ readonly overlay: {
262
+ readonly gradient: "bg-gradient-to-t from-black/60 via-transparent to-transparent";
263
+ };
264
+ /**
265
+ * Placeholder gradient tokens for image placeholders
266
+ * Used when no image URL is provided
267
+ */
268
+ readonly placeholder: {
269
+ readonly gradient: "bg-gradient-to-br from-muted to-muted/50";
270
+ };
271
+ };
272
+ /**
273
+ * Text tokens for card text elements
274
+ * Defines hover states and line clamping for titles and descriptions
275
+ */
276
+ readonly text: {
277
+ /**
278
+ * Hover state tokens for text elements
279
+ * Used for interactive text elements like titles
280
+ */
281
+ readonly hover: {
282
+ readonly primary: "group-hover:text-primary";
283
+ };
284
+ /**
285
+ * Line clamp tokens for text truncation
286
+ * Used for limiting text to specific number of lines
287
+ */
288
+ readonly lineClamp: {
289
+ readonly one: "line-clamp-1";
290
+ readonly two: "line-clamp-2";
291
+ readonly three: "line-clamp-3";
292
+ };
293
+ };
294
+ /**
295
+ * Metadata tokens for card information displays
296
+ * Used for date/time, location, and other metadata patterns
297
+ * Maps to TEXT_TOKENS, ICON_TOKENS, and semanticSpacing
298
+ */
299
+ readonly metadata: {
300
+ /**
301
+ * Text color tokens
302
+ * Maps to semantic text color tokens
303
+ */
304
+ readonly text: {
305
+ readonly primary: "text-foreground";
306
+ readonly secondary: "text-muted-foreground";
307
+ };
308
+ /**
309
+ * Icon tokens
310
+ * Maps to ICON_TOKENS for sizes and colors
311
+ */
312
+ readonly icon: {
313
+ readonly default: "text-muted-foreground";
314
+ readonly sizeSm: "h-4 w-4";
315
+ };
316
+ /**
317
+ * Spacing tokens for metadata layouts
318
+ * References semanticSpacing (xs = 4px, sm = 8px)
319
+ * Using Tailwind classes which map to semanticSpacing values
320
+ */
321
+ readonly spacing: {
322
+ readonly vertical: "gap-xs";
323
+ readonly horizontal: "gap-sm";
324
+ };
325
+ };
326
+ /**
327
+ * Badge tokens for featured/popular badges
328
+ * References semanticSpacing, borderRadius, and elevationShadows
329
+ */
330
+ readonly badges: {
331
+ /**
332
+ * Badge size tokens (padding)
333
+ * References semanticSpacing for padding values
334
+ * Using Tailwind classes which map to semanticSpacing values
335
+ */
336
+ readonly size: {
337
+ readonly sm: "px-xs py-xs";
338
+ readonly md: "px-sm py-xs";
339
+ };
340
+ /**
341
+ * Badge positioning tokens
342
+ * References semanticSpacing for absolute positioning
343
+ * Using Tailwind classes which map to semanticSpacing values
344
+ */
345
+ readonly position: {
346
+ readonly default: "right-md top-md";
347
+ readonly compact: "right-sm top-sm";
348
+ };
349
+ /**
350
+ * Additional vertical positioning tokens for multi-badge scenarios
351
+ * References semanticSpacing for top positioning
352
+ * Using Tailwind classes which map to semanticSpacing values
353
+ */
354
+ readonly positionY: {
355
+ readonly xl: "top-xl";
356
+ readonly "2xl": "top-2xl";
357
+ readonly "3xl": "top-3xl";
358
+ };
359
+ /**
360
+ * Badge surface (background) tokens
361
+ * Maps to semantic color tokens
362
+ */
363
+ readonly surface: {
364
+ readonly default: "bg-primary";
365
+ readonly featured: "bg-gradient-to-r from-accent-500 to-primary-600";
366
+ };
367
+ /**
368
+ * Badge text color
369
+ * White for contrast on colored backgrounds
370
+ */
371
+ readonly text: {
372
+ readonly color: "text-white";
373
+ };
374
+ /**
375
+ * Badge border radius
376
+ * References borderRadius.full (pill shape)
377
+ * Using Tailwind class "rounded-full" which maps to borderRadius.full
378
+ */
379
+ readonly radius: "rounded-full";
380
+ /**
381
+ * Badge shadow
382
+ * References elevationShadows.lg
383
+ * Using Tailwind class "shadow-lg" which maps to elevationShadows.lg
384
+ */
385
+ readonly shadow: "shadow-lg";
386
+ };
387
+ /**
388
+ * Price/Capacity tokens for displaying price and capacity information
389
+ * Maps to semantic text color tokens and semanticSpacing
390
+ */
391
+ readonly priceCapacity: {
392
+ /**
393
+ * Text color tokens
394
+ * Maps to semantic text color tokens
395
+ */
396
+ readonly text: {
397
+ readonly primary: "text-foreground";
398
+ readonly secondary: "text-muted-foreground";
399
+ };
400
+ /**
401
+ * Spacing between price and capacity elements
402
+ * References semanticSpacing.sm (8px)
403
+ * Using Tailwind class "gap-sm" which maps to semanticSpacing.sm
404
+ */
405
+ readonly spacing: "gap-sm";
406
+ };
407
+ /**
408
+ * Motion tokens for hover and interaction states
409
+ * References MOTION_TOKENS for transitions and animations
410
+ */
411
+ readonly motion: {
412
+ /**
413
+ * Hover state tokens
414
+ * References MOTION_TOKENS and elevationShadows
415
+ */
416
+ readonly hover: {
417
+ readonly transition: "transition-all duration-normal ease-in-out";
418
+ readonly scale: "hover:scale-110";
419
+ readonly elevation: "hover:shadow-xl";
420
+ };
421
+ };
422
+ /**
423
+ * Skeleton tokens for loading states
424
+ * References DATA_TOKENS.skeleton for skeleton patterns and semanticSpacing for dimensions
425
+ */
426
+ readonly skeleton: {
427
+ /**
428
+ * Base skeleton wrapper tokens
429
+ * Default styling for skeleton wrapper components
430
+ */
431
+ readonly base: {
432
+ /**
433
+ * Default border radius for skeleton wrapper
434
+ * References DATA_TOKENS.skeleton.radius.text
435
+ */
436
+ readonly radius: "rounded-sm";
437
+ /**
438
+ * Default animation for skeleton wrapper
439
+ * References DATA_TOKENS.skeleton.animation.pulse
440
+ */
441
+ readonly animation: "animate-pulse";
442
+ /**
443
+ * Default background for skeleton wrapper
444
+ * References DATA_TOKENS.skeleton.background.default
445
+ */
446
+ readonly background: "bg-muted";
447
+ };
448
+ /**
449
+ * Image skeleton height
450
+ * Domain-specific: card images need 192px (spacing[48] = 12rem)
451
+ * Note: DATA_TOKENS.skeleton.height.card is 128px, but card images need 192px
452
+ * Using Tailwind class "h-48" which maps to spacing[48] (12rem / 192px)
453
+ */
454
+ readonly image: {
455
+ readonly height: "h-48";
456
+ };
457
+ /**
458
+ * Content gap for skeleton elements
459
+ * References semanticSpacing.md (16px)
460
+ * Using Tailwind class "gap-md" which maps to semanticSpacing.md
461
+ */
462
+ readonly content: {
463
+ readonly gap: "gap-md";
464
+ /**
465
+ * Content width tokens for skeleton elements
466
+ * References DATA_TOKENS where available, uses Tailwind fraction classes for domain-specific values
467
+ */
468
+ readonly width: {
469
+ readonly full: "w-full";
470
+ readonly threeQuarters: "w-3/4";
471
+ readonly half: "w-1/2";
472
+ };
473
+ };
474
+ /**
475
+ * Badge skeleton dimensions
476
+ * Domain-specific values for badge skeleton sizing
477
+ * References spacing values via Tailwind classes
478
+ */
479
+ readonly badge: {
480
+ readonly width: "w-20";
481
+ readonly height: "h-6";
482
+ };
483
+ };
484
+ /**
485
+ * CTA (Call-to-Action) button tokens for domain card components
486
+ * Provides PromoCard-specific CTA button styling tokens
487
+ * These tokens are semantically owned by domain card components, not by the Button component
488
+ * References foundation tokens (spacing, typography, radius, shadows, motion) for consistency
489
+ */
490
+ readonly cta: {
491
+ /**
492
+ * CTA button styling tokens
493
+ * Used by PromoCard and other domain card components for CTA button elements
494
+ */
495
+ readonly button: {
496
+ /**
497
+ * Button heights by size
498
+ * Maps to Tailwind height utilities: h-8, h-9
499
+ */
500
+ readonly height: {
501
+ readonly sm: "h-8";
502
+ readonly md: "h-9";
503
+ };
504
+ /**
505
+ * Button padding by size
506
+ * Horizontal and vertical padding values
507
+ * References semanticSpacing tokens
508
+ */
509
+ readonly padding: {
510
+ readonly horizontal: {
511
+ readonly sm: "px-sm";
512
+ readonly md: "px-md";
513
+ };
514
+ readonly vertical: {
515
+ readonly sm: "py-xs";
516
+ };
517
+ };
518
+ /**
519
+ * Border radius for CTA buttons
520
+ * References borderRadius.md (6px / 0.375rem)
521
+ * Using Tailwind class "rounded-md" which maps to borderRadius.md
522
+ */
523
+ readonly radius: "rounded-md";
524
+ /**
525
+ * Font sizes by button size
526
+ * Maps to foundation typography fontSize tokens
527
+ */
528
+ readonly fontSize: {
529
+ readonly sm: "text-xs";
530
+ readonly md: "text-sm";
531
+ };
532
+ /**
533
+ * Shadow tokens for CTA buttons
534
+ * Maps to foundation elevation shadow tokens
535
+ */
536
+ readonly shadow: {
537
+ readonly primary: "shadow";
538
+ };
539
+ /**
540
+ * Color tokens for CTA button variants
541
+ * Uses semantic color tokens that map to CSS variables
542
+ */
543
+ readonly variant: {
544
+ readonly primary: {
545
+ readonly background: "bg-primary";
546
+ readonly text: "text-primary-foreground";
547
+ readonly hover: "hover:bg-primary/90";
548
+ };
549
+ };
550
+ /**
551
+ * Transition tokens for CTA buttons
552
+ * References MOTION_TOKENS for transitions
553
+ */
554
+ readonly transition: {
555
+ readonly colors: "transition-colors";
556
+ };
557
+ };
558
+ };
559
+ };
560
+ /**
561
+ * Type exports for Domain Card tokens
562
+ */
563
+ type DomainCardSurface = typeof DOMAIN_TOKENS.surface;
564
+ type DomainCardLayout = typeof DOMAIN_TOKENS.layout;
565
+ type DomainCardImage = typeof DOMAIN_TOKENS.image;
566
+ type DomainCardMetadata = typeof DOMAIN_TOKENS.metadata;
567
+ type DomainCardBadge = typeof DOMAIN_TOKENS.badges;
568
+ type DomainCardPriceCapacity = typeof DOMAIN_TOKENS.priceCapacity;
569
+ type DomainCardMotion = typeof DOMAIN_TOKENS.motion;
570
+ type DomainCardSkeleton = typeof DOMAIN_TOKENS.skeleton;
571
+ type DomainCardSkeletonContentWidth = typeof DOMAIN_TOKENS.skeleton.content.width;
572
+
573
+ export { ARTIST_TOKENS, type ArtistCardFooterBorder, type ArtistCardImageContainer, type ArtistCardImagePlaceholder, type ArtistCardImageSizing, DOMAIN_TOKENS, type DomainCardBadge, type DomainCardImage, type DomainCardLayout, type DomainCardMetadata, type DomainCardMotion, type DomainCardPriceCapacity, type DomainCardSkeleton, type DomainCardSkeletonContentWidth, type DomainCardSurface };