@tenerife.music/ui 1.2.1 → 2.0.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.
@@ -412,6 +412,12 @@ var ALERT_TOKENS = {
412
412
  */
413
413
  radius: "rounded-lg",
414
414
  // 8px (0.5rem) - maps to borderRadius.lg
415
+ /**
416
+ * Border token
417
+ * Base border style
418
+ */
419
+ border: "border",
420
+ // Base border
415
421
  /**
416
422
  * Icon size within alerts
417
423
  */
@@ -419,45 +425,48 @@ var ALERT_TOKENS = {
419
425
  // 16px (1rem) - standard icon size
420
426
  /**
421
427
  * Variant-based token structure
422
- * Organized by variant for future extensibility
428
+ * Organized by variant for token-driven styling
423
429
  */
424
430
  variant: {
425
431
  default: {
426
- padding: "p-md",
427
- radius: "rounded-lg"
432
+ background: "bg-muted",
433
+ // Muted background using CSS var
434
+ border: "border-border",
435
+ // Border using CSS var
436
+ text: "text-foreground"
437
+ // Foreground text using CSS var
428
438
  },
429
439
  primary: {
430
- padding: "p-md",
431
- radius: "rounded-lg"
440
+ background: "bg-primary/10",
441
+ // Primary background with opacity
442
+ border: "border-primary/20",
443
+ // Primary border with opacity
444
+ text: "text-primary-foreground"
445
+ // Primary text using CSS var
432
446
  },
433
447
  secondary: {
434
- padding: "p-md",
435
- radius: "rounded-lg"
448
+ background: "bg-secondary/10",
449
+ // Secondary background with opacity
450
+ border: "border-secondary/20",
451
+ // Secondary border with opacity
452
+ text: "text-secondary-foreground"
453
+ // Secondary text using CSS var
436
454
  },
437
455
  accent: {
438
- padding: "p-md",
439
- radius: "rounded-lg"
456
+ background: "bg-accent/10",
457
+ // Accent background with opacity
458
+ border: "border-accent/20",
459
+ // Accent border with opacity
460
+ text: "text-accent-foreground"
461
+ // Accent text using CSS var
440
462
  },
441
463
  destructive: {
442
- padding: "p-md",
443
- radius: "rounded-lg"
444
- },
445
- // Legacy semantic variants (mapped to canonical)
446
- success: {
447
- padding: "p-md",
448
- radius: "rounded-lg"
449
- },
450
- warning: {
451
- padding: "p-md",
452
- radius: "rounded-lg"
453
- },
454
- danger: {
455
- padding: "p-md",
456
- radius: "rounded-lg"
457
- },
458
- info: {
459
- padding: "p-md",
460
- radius: "rounded-lg"
464
+ background: "bg-destructive/10",
465
+ // Destructive background with opacity
466
+ border: "border-destructive/20",
467
+ // Destructive border with opacity
468
+ text: "text-destructive-foreground"
469
+ // Destructive text using CSS var
461
470
  }
462
471
  }
463
472
  };
@@ -606,10 +615,8 @@ var BUTTON_TOKENS = {
606
615
  // 32px (2rem)
607
616
  md: "h-9",
608
617
  // 36px (2.25rem)
609
- lg: "h-10",
618
+ lg: "h-10"
610
619
  // 40px (2.5rem)
611
- icon: "h-9"
612
- // 36px (2.25rem) - same as md
613
620
  },
614
621
  /**
615
622
  * Button padding by size
@@ -665,18 +672,28 @@ var BUTTON_TOKENS = {
665
672
  // 14px (0.875rem) - smaller icon for small buttons
666
673
  md: "[&_svg]:w-4 [&_svg]:h-4",
667
674
  // 16px (1rem) - medium icon for medium buttons
668
- lg: "[&_svg]:w-5 [&_svg]:h-5",
675
+ lg: "[&_svg]:w-5 [&_svg]:h-5"
669
676
  // 20px (1.25rem) - larger icon for large buttons
670
- icon: "[&_svg]:w-4 [&_svg]:h-4"
671
- // 16px (1rem) - medium icon for icon-only buttons
672
677
  },
673
678
  /**
674
679
  * Width tokens
680
+ * Used for icon-only buttons (square buttons with equal width and height)
675
681
  */
676
682
  width: {
677
- icon: "w-9"
678
- // 36px width for icon buttons
683
+ sm: "w-8",
684
+ // 32px (2rem) - matches height.sm for square icon-only buttons
685
+ md: "w-9",
686
+ // 36px (2.25rem) - matches height.md for square icon-only buttons
687
+ lg: "w-10"
688
+ // 40px (2.5rem) - matches height.lg for square icon-only buttons
679
689
  },
690
+ /**
691
+ * Padding token for icon-only buttons
692
+ * Zero padding required for square dimensions (icon-only buttons have no text, so no padding needed)
693
+ * Uses p-0 which is a standard Tailwind class for zero spacing (spacing[0])
694
+ */
695
+ paddingIconOnly: "p-0",
696
+ // Zero padding for icon-only buttons (required for square dimensions) - standard Tailwind class
680
697
  /**
681
698
  * Font sizes by button size
682
699
  * References foundation typography fontSize tokens from Typography Authority
@@ -1081,6 +1098,41 @@ var ARTIST_TOKENS = {
1081
1098
  }
1082
1099
  };
1083
1100
 
1101
+ // src/FOUNDATION/tokens/gradients.ts
1102
+ var GRADIENT_TOKENS = {
1103
+ /**
1104
+ * Brand gradient tokens
1105
+ * Used for brand identity elements, hero sections, and featured content
1106
+ */
1107
+ brand: {
1108
+ /**
1109
+ * Featured brand gradient: accent-500 → primary-600
1110
+ * Used for featured badges and premium content indicators
1111
+ */
1112
+ featured: "bg-gradient-to-r from-accent-500 to-primary-600"
1113
+ },
1114
+ /**
1115
+ * Surface gradient tokens
1116
+ * Used for surface elevation effects and placeholders
1117
+ */
1118
+ surface: {
1119
+ /**
1120
+ * Muted surface gradient: muted → muted/50
1121
+ * Used for placeholder backgrounds and subtle surface effects
1122
+ */
1123
+ muted: "bg-gradient-to-br from-muted to-muted/50"
1124
+ },
1125
+ /**
1126
+ * Overlay gradient tokens
1127
+ * Used for image overlays and hover effects
1128
+ */
1129
+ overlay: {
1130
+ /**
1131
+ * Dark overlay gradient: black/60 → transparent (top)
1132
+ * Used for image hover states and text readability overlays
1133
+ */
1134
+ dark: "bg-gradient-to-t from-black/60 via-transparent to-transparent"}};
1135
+
1084
1136
  // src/FOUNDATION/tokens/spacing.ts
1085
1137
  var spacing = {
1086
1138
  // Zero spacing
@@ -1638,17 +1690,19 @@ var DOMAIN_TOKENS = {
1638
1690
  /**
1639
1691
  * Overlay gradient tokens for image overlays
1640
1692
  * Used for hover states and text readability
1693
+ * References GRADIENT_TOKENS.overlay.dark
1641
1694
  */
1642
1695
  overlay: {
1643
- gradient: "bg-gradient-to-t from-black/60 via-transparent to-transparent"
1696
+ gradient: GRADIENT_TOKENS.overlay.dark
1644
1697
  // Gradient overlay for image hover states
1645
1698
  },
1646
1699
  /**
1647
1700
  * Placeholder gradient tokens for image placeholders
1648
1701
  * Used when no image URL is provided
1702
+ * References GRADIENT_TOKENS.surface.muted
1649
1703
  */
1650
1704
  placeholder: {
1651
- gradient: "bg-gradient-to-br from-muted to-muted/50"
1705
+ gradient: GRADIENT_TOKENS.surface.muted
1652
1706
  // Placeholder gradient background
1653
1707
  }
1654
1708
  },
@@ -1759,11 +1813,12 @@ var DOMAIN_TOKENS = {
1759
1813
  /**
1760
1814
  * Badge surface (background) tokens
1761
1815
  * Maps to semantic color tokens
1816
+ * References GRADIENT_TOKENS.brand.featured for featured badges
1762
1817
  */
1763
1818
  surface: {
1764
1819
  default: "bg-primary",
1765
1820
  // Default badge background - maps to semantic primary color
1766
- featured: "bg-gradient-to-r from-accent-500 to-primary-600"
1821
+ featured: GRADIENT_TOKENS.brand.featured
1767
1822
  // Featured badge gradient
1768
1823
  },
1769
1824
  /**
@@ -1993,19 +2048,15 @@ var DOMAIN_TOKENS = {
1993
2048
  var INPUT_TOKENS = {
1994
2049
  /**
1995
2050
  * Input heights by size
1996
- * Supports xs, sm, md, lg, xl sizes
2051
+ * Supports sm, md, lg sizes (canonical interactive size scale)
1997
2052
  */
1998
2053
  height: {
1999
- xs: "h-7",
2000
- // 28px (1.75rem)
2001
2054
  sm: "h-8",
2002
2055
  // 32px (2rem)
2003
2056
  md: "h-9",
2004
2057
  // 36px (2.25rem) - default
2005
- lg: "h-10",
2058
+ lg: "h-10"
2006
2059
  // 40px (2.5rem)
2007
- xl: "h-11"
2008
- // 44px (2.75rem)
2009
2060
  },
2010
2061
  /**
2011
2062
  * Input padding by size
@@ -2013,60 +2064,44 @@ var INPUT_TOKENS = {
2013
2064
  */
2014
2065
  padding: {
2015
2066
  horizontal: {
2016
- xs: "px-xs",
2017
- // 4px (0.25rem)
2018
2067
  sm: "px-sm",
2019
2068
  // 8px (0.5rem)
2020
2069
  md: "px-sm",
2021
2070
  // 8px (0.5rem) - default
2022
- lg: "px-md",
2071
+ lg: "px-md"
2023
2072
  // 16px (1rem)
2024
- xl: "px-lg"
2025
- // 24px (1.5rem)
2026
2073
  },
2027
2074
  vertical: {
2028
- xs: "py-xs",
2029
- // 4px (0.25rem)
2030
2075
  sm: "py-xs",
2031
2076
  // 4px (0.25rem)
2032
2077
  md: "py-xs",
2033
2078
  // 4px (0.25rem) - default
2034
- lg: "py-sm",
2079
+ lg: "py-sm"
2035
2080
  // 8px (0.5rem)
2036
- xl: "py-md"
2037
- // 16px (1rem)
2038
2081
  }
2039
2082
  },
2040
2083
  /**
2041
2084
  * Border radius by size
2042
2085
  */
2043
2086
  radius: {
2044
- xs: "rounded-sm",
2045
- // 4px (0.25rem)
2046
2087
  sm: "rounded-md",
2047
2088
  // 6px (0.375rem)
2048
2089
  md: "rounded-md",
2049
2090
  // 6px (0.375rem) - default
2050
- lg: "rounded-md",
2091
+ lg: "rounded-md"
2051
2092
  // 6px (0.375rem)
2052
- xl: "rounded-lg"
2053
- // 8px (0.5rem)
2054
2093
  },
2055
2094
  /**
2056
2095
  * Font sizes by size variant
2057
2096
  * Maps to foundation typography fontSize tokens
2058
2097
  */
2059
2098
  fontSize: {
2060
- xs: "text-xs",
2061
- // Maps to fontSize.xs[0]
2062
2099
  sm: "text-sm",
2063
2100
  // Maps to fontSize.sm[0]
2064
2101
  md: "text-base",
2065
2102
  // Maps to fontSize.base[0] - default
2066
- lg: "text-base",
2103
+ lg: "text-base"
2067
2104
  // Maps to fontSize.base[0]
2068
- xl: "text-lg"
2069
- // Maps to fontSize.lg[0]
2070
2105
  },
2071
2106
  /**
2072
2107
  * Responsive font size (md breakpoint)
@@ -2248,16 +2283,6 @@ var INPUT_TOKENS = {
2248
2283
  * Organized by size for easy access
2249
2284
  */
2250
2285
  size: {
2251
- xs: {
2252
- height: "h-7",
2253
- padding: {
2254
- horizontal: "px-xs",
2255
- vertical: "py-xs"
2256
- },
2257
- radius: "rounded-sm",
2258
- fontSize: "text-xs",
2259
- shadow: "shadow-sm"
2260
- },
2261
2286
  sm: {
2262
2287
  height: "h-8",
2263
2288
  padding: {
@@ -2288,16 +2313,6 @@ var INPUT_TOKENS = {
2288
2313
  radius: "rounded-md",
2289
2314
  fontSize: "text-base",
2290
2315
  shadow: "shadow-sm"
2291
- },
2292
- xl: {
2293
- height: "h-11",
2294
- padding: {
2295
- horizontal: "px-lg",
2296
- vertical: "py-md"
2297
- },
2298
- radius: "rounded-lg",
2299
- fontSize: "text-lg",
2300
- shadow: "shadow-sm"
2301
2316
  }
2302
2317
  }
2303
2318
  };
@@ -2306,20 +2321,13 @@ var INPUT_TOKENS = {
2306
2321
  var CHECKBOX_TOKENS = {
2307
2322
  /**
2308
2323
  * Checkbox sizes by size variant
2309
- * Supports xs, sm, md, lg, xl sizes
2324
+ * Supports sm, md, lg sizes (canonical interactive scale)
2310
2325
  * Checkboxes are typically square and smaller than input fields
2326
+ *
2327
+ * NOTE: Size scale restricted to sm|md|lg per canonical interactive size scale (FOUNDATION_LOCK.md).
2328
+ * xs and xl sizes removed to comply with Button-defined canonical scale.
2311
2329
  */
2312
2330
  size: {
2313
- xs: {
2314
- width: "w-3.5",
2315
- // 14px (0.875rem)
2316
- height: "h-3.5",
2317
- // 14px (0.875rem)
2318
- radius: "rounded-sm",
2319
- // 4px (0.25rem)
2320
- iconSize: "size-2.5"
2321
- // 10px (0.625rem)
2322
- },
2323
2331
  sm: {
2324
2332
  width: "w-4",
2325
2333
  // 16px (1rem)
@@ -2349,16 +2357,6 @@ var CHECKBOX_TOKENS = {
2349
2357
  // 6px (0.375rem)
2350
2358
  iconSize: "size-4"
2351
2359
  // 16px (1rem)
2352
- },
2353
- xl: {
2354
- width: "w-6",
2355
- // 24px (1.5rem)
2356
- height: "h-6",
2357
- // 24px (1.5rem)
2358
- radius: "rounded-md",
2359
- // 6px (0.375rem)
2360
- iconSize: "size-5"
2361
- // 20px (1.25rem)
2362
2360
  }
2363
2361
  },
2364
2362
  /**
@@ -2464,19 +2462,16 @@ var CHECKBOX_TOKENS = {
2464
2462
  /**
2465
2463
  * Icon tokens
2466
2464
  * Size and styling for checkmark icon within checkbox
2465
+ * NOTE: Icon sizes restricted to sm|md|lg per canonical interactive size scale
2467
2466
  */
2468
2467
  icon: {
2469
2468
  size: {
2470
- xs: "size-2.5",
2471
- // 10px (0.625rem)
2472
2469
  sm: "size-3",
2473
2470
  // 12px (0.75rem)
2474
2471
  md: "size-3.5",
2475
2472
  // 14px (0.875rem) - default
2476
- lg: "size-4",
2473
+ lg: "size-4"
2477
2474
  // 16px (1rem)
2478
- xl: "size-5"
2479
- // 20px (1.25rem)
2480
2475
  },
2481
2476
  stroke: "stroke-2",
2482
2477
  // 2px stroke width for checkmark
@@ -2508,9 +2503,10 @@ var CHECKBOX_TOKENS = {
2508
2503
  /**
2509
2504
  * Transition tokens
2510
2505
  * Smooth transitions for state changes
2506
+ * Uses MOTION_TOKENS for canonical motion values
2511
2507
  */
2512
- transition: "transition-all duration-200 ease-in-out"
2513
- // Smooth transitions
2508
+ transition: MOTION_TOKENS.transitionPreset.normal
2509
+ // Smooth transitions - Motion Authority compliant
2514
2510
  };
2515
2511
 
2516
2512
  // src/FOUNDATION/tokens/components/switch.ts
@@ -2756,15 +2752,15 @@ var SWITCH_TOKENS = {
2756
2752
  /**
2757
2753
  * Transition tokens
2758
2754
  * Smooth transitions for handle animation and state changes
2759
- * Uses motion tokens for duration and easing
2755
+ * Uses MOTION_TOKENS for canonical motion values
2760
2756
  */
2761
2757
  transition: {
2762
- handle: "transition-transform duration-300 ease-in-out",
2763
- // Handle slide animation
2764
- track: "transition-colors duration-300 ease-in-out",
2765
- // Track color transition
2766
- combined: "transition-all duration-300 ease-in-out"
2767
- // Combined transitions
2758
+ handle: `${MOTION_TOKENS.transition.transform} ${MOTION_TOKENS.duration.normal} ${MOTION_TOKENS.easing["in-out"]}`,
2759
+ // Handle slide animation - Motion Authority compliant
2760
+ track: `${MOTION_TOKENS.transition.colors} ${MOTION_TOKENS.duration.normal} ${MOTION_TOKENS.easing["in-out"]}`,
2761
+ // Track color transition - Motion Authority compliant
2762
+ combined: MOTION_TOKENS.transitionPreset.normal
2763
+ // Combined transitions - Motion Authority compliant
2768
2764
  },
2769
2765
  /**
2770
2766
  * Shadow token
@@ -2968,9 +2964,10 @@ var RADIO_TOKENS = {
2968
2964
  /**
2969
2965
  * Transition tokens
2970
2966
  * Smooth transitions for state changes
2967
+ * Uses MOTION_TOKENS for canonical motion values
2971
2968
  */
2972
- transition: "transition-all duration-200 ease-in-out"
2973
- // Smooth transitions
2969
+ transition: MOTION_TOKENS.transitionPreset.normal
2970
+ // Smooth transitions - Motion Authority compliant
2974
2971
  };
2975
2972
 
2976
2973
  // src/FOUNDATION/tokens/components/surface.ts
@@ -3005,51 +3002,53 @@ var SURFACE_TOKENS = {
3005
3002
  /**
3006
3003
  * Shadow tokens by surface variant
3007
3004
  * Maps to foundation elevation shadow tokens
3005
+ * Uses canonical SurfaceVariant names
3008
3006
  */
3009
3007
  shadow: {
3010
- flat: "shadow-none",
3008
+ default: "shadow-none",
3011
3009
  // No shadow - maps to elevationShadows.none
3012
- raised: "shadow-sm",
3010
+ elevated: "shadow-sm",
3013
3011
  // Small shadow - maps to elevationShadows.sm
3014
- sunken: "shadow-none",
3015
- // No shadow - maps to elevationShadows.none
3016
- outline: "shadow-none",
3012
+ outlined: "shadow-none",
3017
3013
  // No shadow - border-focused variant
3014
+ filled: "shadow-none",
3015
+ // No shadow - maps to elevationShadows.none
3018
3016
  subtle: "shadow-none"
3019
3017
  // No shadow - minimal background difference
3020
3018
  },
3021
3019
  /**
3022
3020
  * Variant-based token structure
3023
3021
  * Organized by variant for easy access
3022
+ * Uses canonical SurfaceVariant names: default, elevated, outlined, filled, subtle
3024
3023
  */
3025
3024
  variant: {
3026
- flat: {
3025
+ default: {
3027
3026
  padding: "p-md",
3028
3027
  radius: "rounded-md",
3029
3028
  shadow: "shadow-none",
3030
3029
  bg: "bg-background",
3031
3030
  border: "border border-border"
3032
3031
  },
3033
- raised: {
3032
+ elevated: {
3034
3033
  padding: "p-md",
3035
3034
  radius: "rounded-md",
3036
3035
  shadow: "shadow-sm",
3037
3036
  bg: "bg-card",
3038
3037
  border: "border border-border"
3039
3038
  },
3040
- sunken: {
3039
+ outlined: {
3041
3040
  padding: "p-md",
3042
3041
  radius: "rounded-md",
3043
3042
  shadow: "shadow-none",
3044
- bg: "bg-muted",
3045
- border: "border border-border"
3043
+ bg: "bg-transparent",
3044
+ border: "border-2 border-border"
3046
3045
  },
3047
- outline: {
3046
+ filled: {
3048
3047
  padding: "p-md",
3049
3048
  radius: "rounded-md",
3050
3049
  shadow: "shadow-none",
3051
- bg: "bg-transparent",
3052
- border: "border-2 border-border"
3050
+ bg: "bg-muted",
3051
+ border: "border border-border"
3053
3052
  },
3054
3053
  subtle: {
3055
3054
  padding: "p-md",
@@ -4402,10 +4401,10 @@ var SELECT_TOKENS = {
4402
4401
  // Text color using CSS var
4403
4402
  border: "border border-[hsl(var(--border))]",
4404
4403
  // Border color using CSS var
4405
- maxHeight: "max-h-[384px]",
4406
- // Maximum height for scrollable content (24rem = 384px)
4407
- minWidth: "min-w-[128px]"
4408
- // Minimum width (8rem = 128px)
4404
+ maxHeight: "max-h-96",
4405
+ // Maximum height for scrollable content (24rem = 384px) - maps to spacing[96]
4406
+ minWidth: "min-w-32"
4407
+ // Minimum width (8rem = 128px) - maps to spacing[32]
4409
4408
  },
4410
4409
  /**
4411
4410
  * Select item tokens
@@ -4793,8 +4792,246 @@ var SELECT_TOKENS = {
4793
4792
  }
4794
4793
  };
4795
4794
 
4795
+ // src/FOUNDATION/tokens/components/simple-table.ts
4796
+ var SIMPLETABLE_TOKENS = {
4797
+ /**
4798
+ * Cell padding by size
4799
+ * Maps to semanticSpacing tokens
4800
+ */
4801
+ padding: {
4802
+ cell: {
4803
+ sm: "p-xs",
4804
+ // 4px - maps to semanticSpacing.xs
4805
+ md: "p-sm",
4806
+ // 8px - maps to semanticSpacing.sm
4807
+ lg: "p-md"
4808
+ // 16px - maps to semanticSpacing.md
4809
+ },
4810
+ header: {
4811
+ sm: "px-xs py-xs",
4812
+ // 4px horizontal, 4px vertical
4813
+ md: "px-sm py-sm",
4814
+ // 8px horizontal, 8px vertical
4815
+ lg: "px-md py-md"
4816
+ // 16px horizontal, 16px vertical
4817
+ }
4818
+ },
4819
+ /**
4820
+ * Typography tokens for table headers and cells by size
4821
+ * Maps to fontSize and fontWeight tokens
4822
+ */
4823
+ typography: {
4824
+ header: {
4825
+ sm: "text-xs font-medium text-muted-foreground",
4826
+ // Maps to fontSize.xs, fontWeight.medium
4827
+ md: "text-sm font-medium text-muted-foreground",
4828
+ // Maps to fontSize.sm, fontWeight.medium
4829
+ lg: "text-base font-medium text-muted-foreground"
4830
+ // Maps to fontSize.base, fontWeight.medium
4831
+ },
4832
+ cell: {
4833
+ sm: "text-xs",
4834
+ // Maps to fontSize.xs
4835
+ md: "text-sm",
4836
+ // Maps to fontSize.sm
4837
+ lg: "text-base"
4838
+ // Maps to fontSize.base
4839
+ }
4840
+ },
4841
+ /**
4842
+ * Layout tokens for table container and base styles
4843
+ */
4844
+ layout: {
4845
+ overflow: "overflow-x-auto",
4846
+ // Table container overflow
4847
+ table: "w-full border-collapse"
4848
+ // Table base styles
4849
+ },
4850
+ /**
4851
+ * Border tokens for table
4852
+ */
4853
+ border: {
4854
+ bottom: "border-b",
4855
+ // Border bottom for rows and headers
4856
+ color: "border-border"
4857
+ // Border color
4858
+ },
4859
+ /**
4860
+ * State tokens for table rows
4861
+ */
4862
+ state: {
4863
+ rowHover: "hover:bg-muted/50"
4864
+ // Row hover background
4865
+ },
4866
+ /**
4867
+ * Text alignment tokens
4868
+ */
4869
+ alignment: {
4870
+ left: "text-left"
4871
+ // Left alignment
4872
+ }
4873
+ };
4874
+
4875
+ // src/FOUNDATION/tokens/components/data-list.ts
4876
+ var DATA_LIST_TOKENS = {
4877
+ /**
4878
+ * Spacing tokens for DataList
4879
+ * Maps to semantic spacing tokens
4880
+ */
4881
+ spacing: {
4882
+ gap: "gap-md",
4883
+ // 16px (1rem) - gap between items - maps to semanticSpacing.md
4884
+ padding: "p-md"
4885
+ // 16px (1rem) - container padding - maps to semanticSpacing.md
4886
+ },
4887
+ /**
4888
+ * Label width tokens (for desktop horizontal layout)
4889
+ * Maps to Tailwind width utilities
4890
+ */
4891
+ labelWidth: {
4892
+ sm: "w-24",
4893
+ // 96px (6rem) - small label width
4894
+ md: "w-32",
4895
+ // 128px (8rem) - default label width
4896
+ lg: "w-40"
4897
+ // 160px (10rem) - large label width
4898
+ },
4899
+ /**
4900
+ * Row padding tokens
4901
+ * Maps to semantic spacing tokens
4902
+ */
4903
+ rowPadding: {
4904
+ sm: "py-xs",
4905
+ // 4px (0.25rem) - maps to semanticSpacing.xs
4906
+ md: "py-sm",
4907
+ // 8px (0.5rem) - maps to semanticSpacing.sm
4908
+ lg: "py-md"
4909
+ // 16px (1rem) - maps to semanticSpacing.md
4910
+ },
4911
+ /**
4912
+ * Item tokens
4913
+ * For individual DataList item styling
4914
+ */
4915
+ item: {
4916
+ /**
4917
+ * Border tokens for items
4918
+ */
4919
+ border: "border-b border-border last:border-0",
4920
+ // Item borders
4921
+ /**
4922
+ * Responsive layout tokens
4923
+ */
4924
+ layout: {
4925
+ mobile: "flex flex-col",
4926
+ // Mobile layout - vertical
4927
+ desktop: "md:flex-row md:items-center"
4928
+ // Desktop layout - horizontal
4929
+ }
4930
+ },
4931
+ /**
4932
+ * Label tokens
4933
+ * For DataList label styling
4934
+ */
4935
+ label: {
4936
+ mobile: "mb-1 font-semibold text-foreground",
4937
+ // Mobile label styles
4938
+ desktop: "md:mb-0"
4939
+ // Desktop label margin override
4940
+ },
4941
+ /**
4942
+ * Value tokens
4943
+ * For DataList value styling
4944
+ */
4945
+ value: {
4946
+ color: "text-muted-foreground",
4947
+ // Value text color
4948
+ flex: "flex-1"
4949
+ // Value flex grow
4950
+ }
4951
+ };
4952
+
4953
+ // src/FOUNDATION/tokens/components/list.ts
4954
+ var LIST_TOKENS = {
4955
+ /**
4956
+ * Spacing tokens for List container
4957
+ * Maps to semantic spacing tokens
4958
+ */
4959
+ spacing: {
4960
+ gap: "space-y-sm"
4961
+ // 8px (0.5rem) - gap between list items - maps to semanticSpacing.sm
4962
+ },
4963
+ /**
4964
+ * List item tokens
4965
+ * For individual list item styling
4966
+ */
4967
+ item: {
4968
+ /**
4969
+ * Padding tokens for item container
4970
+ * Maps to semantic spacing tokens
4971
+ */
4972
+ padding: "p-md",
4973
+ // 16px (1rem) - item padding - maps to semanticSpacing.md
4974
+ /**
4975
+ * Border radius tokens for item container
4976
+ * Maps to foundation radius tokens
4977
+ */
4978
+ radius: "rounded-lg",
4979
+ // 8px (0.5rem) - item border radius - maps to borderRadius.lg
4980
+ /**
4981
+ * Border token
4982
+ */
4983
+ border: "border",
4984
+ // Standard border
4985
+ /**
4986
+ * Transition token
4987
+ */
4988
+ transition: "transition-colors",
4989
+ // Color transitions
4990
+ /**
4991
+ * Hover state tokens
4992
+ */
4993
+ hover: {
4994
+ background: "hover:bg-muted/50"
4995
+ // Hover background - maps to muted color with 50% opacity
4996
+ }
4997
+ },
4998
+ /**
4999
+ * Title tokens
5000
+ * For list item title styling
5001
+ */
5002
+ title: {
5003
+ fontWeight: "font-medium",
5004
+ // Medium font weight
5005
+ color: "text-foreground"
5006
+ // Foreground text color
5007
+ },
5008
+ /**
5009
+ * Description tokens
5010
+ * For list item description styling
5011
+ */
5012
+ description: {
5013
+ /**
5014
+ * Margin top token
5015
+ * Maps to semantic spacing tokens
5016
+ */
5017
+ marginTop: "mt-xs",
5018
+ // 4px (0.25rem) - margin top - maps to semanticSpacing.xs
5019
+ /**
5020
+ * Font size token
5021
+ * Maps to foundation typography tokens
5022
+ */
5023
+ fontSize: "text-sm",
5024
+ // Small font size - maps to fontSize.sm
5025
+ /**
5026
+ * Text color token
5027
+ */
5028
+ color: "text-muted-foreground"
5029
+ // Muted foreground text color
5030
+ }
5031
+ };
5032
+
4796
5033
  // src/FOUNDATION/tokens/motion/v2.ts
4797
- var motionV2Durations = {
5034
+ var motionDurations = {
4798
5035
  fast: "150ms",
4799
5036
  // Quick interactions
4800
5037
  normal: "250ms",
@@ -4804,7 +5041,7 @@ var motionV2Durations = {
4804
5041
  reduced: "0ms"
4805
5042
  // For prefers-reduced-motion
4806
5043
  };
4807
- var motionV2Easings = {
5044
+ var motionEasings = {
4808
5045
  soft: "cubic-bezier(0.22, 1, 0.36, 1)",
4809
5046
  // Gentle, smooth
4810
5047
  standard: "cubic-bezier(0.4, 0, 0.2, 1)",
@@ -4812,526 +5049,201 @@ var motionV2Easings = {
4812
5049
  emphasized: "cubic-bezier(0.2, 0, 0, 1)"
4813
5050
  // Strong, decisive
4814
5051
  };
4815
- var motionV2Transitions = {
4816
- fast: `${motionV2Durations.fast} ${motionV2Easings.standard}`,
4817
- normal: `${motionV2Durations.normal} ${motionV2Easings.standard}`,
4818
- slow: `${motionV2Durations.slow} ${motionV2Easings.emphasized}`,
4819
- soft: `${motionV2Durations.normal} ${motionV2Easings.soft}`,
4820
- reduced: `${motionV2Durations.reduced} linear`
5052
+ var motionTransitions = {
5053
+ fast: `${motionDurations.fast} ${motionEasings.standard}`,
5054
+ normal: `${motionDurations.normal} ${motionEasings.standard}`,
5055
+ slow: `${motionDurations.slow} ${motionEasings.emphasized}`,
5056
+ soft: `${motionDurations.normal} ${motionEasings.soft}`,
5057
+ reduced: `${motionDurations.reduced} linear`
4821
5058
  };
4822
- var motionV2Fade = {
5059
+ var motionFade = {
4823
5060
  in: {
4824
- from: { opacity: 0 },
4825
- to: { opacity: 1 }
5061
+ from: { opacity: "0" },
5062
+ to: { opacity: "1" }
4826
5063
  },
4827
5064
  out: {
4828
- from: { opacity: 1 },
4829
- to: { opacity: 0 }
5065
+ from: { opacity: "1" },
5066
+ to: { opacity: "0" }
4830
5067
  }
4831
5068
  };
4832
- var motionV2Scale = {
5069
+ var motionScale = {
4833
5070
  in: {
4834
- from: { transform: "scale(0.95)", opacity: 0 },
4835
- to: { transform: "scale(1)", opacity: 1 }
5071
+ from: { transform: "scale(0.95)", opacity: "0" },
5072
+ to: { transform: "scale(1)", opacity: "1" }
4836
5073
  },
4837
5074
  out: {
4838
- from: { transform: "scale(1)", opacity: 1 },
4839
- to: { transform: "scale(0.95)", opacity: 0 }
5075
+ from: { transform: "scale(1)", opacity: "1" },
5076
+ to: { transform: "scale(0.95)", opacity: "0" }
4840
5077
  }
4841
5078
  };
4842
- var motionV2Slide = {
5079
+ var motionSlide = {
4843
5080
  up: {
4844
5081
  in: {
4845
- from: { transform: "translateY(100%)", opacity: 0 },
4846
- to: { transform: "translateY(0)", opacity: 1 }
5082
+ from: { transform: "translateY(100%)", opacity: "0" },
5083
+ to: { transform: "translateY(0)", opacity: "1" }
4847
5084
  },
4848
5085
  out: {
4849
- from: { transform: "translateY(0)", opacity: 1 },
4850
- to: { transform: "translateY(100%)", opacity: 0 }
5086
+ from: { transform: "translateY(0)", opacity: "1" },
5087
+ to: { transform: "translateY(100%)", opacity: "0" }
4851
5088
  }
4852
5089
  },
4853
5090
  down: {
4854
5091
  in: {
4855
- from: { transform: "translateY(-100%)", opacity: 0 },
4856
- to: { transform: "translateY(0)", opacity: 1 }
5092
+ from: { transform: "translateY(-100%)", opacity: "0" },
5093
+ to: { transform: "translateY(0)", opacity: "1" }
4857
5094
  },
4858
5095
  out: {
4859
- from: { transform: "translateY(0)", opacity: 1 },
4860
- to: { transform: "translateY(-100%)", opacity: 0 }
5096
+ from: { transform: "translateY(0)", opacity: "1" },
5097
+ to: { transform: "translateY(-100%)", opacity: "0" }
4861
5098
  }
4862
5099
  },
4863
5100
  left: {
4864
5101
  in: {
4865
- from: { transform: "translateX(100%)", opacity: 0 },
4866
- to: { transform: "translateX(0)", opacity: 1 }
5102
+ from: { transform: "translateX(100%)", opacity: "0" },
5103
+ to: { transform: "translateX(0)", opacity: "1" }
4867
5104
  },
4868
5105
  out: {
4869
- from: { transform: "translateX(0)", opacity: 1 },
4870
- to: { transform: "translateX(100%)", opacity: 0 }
5106
+ from: { transform: "translateX(0)", opacity: "1" },
5107
+ to: { transform: "translateX(100%)", opacity: "0" }
4871
5108
  }
4872
5109
  },
4873
5110
  right: {
4874
5111
  in: {
4875
- from: { transform: "translateX(-100%)", opacity: 0 },
4876
- to: { transform: "translateX(0)", opacity: 1 }
5112
+ from: { transform: "translateX(-100%)", opacity: "0" },
5113
+ to: { transform: "translateX(0)", opacity: "1" }
4877
5114
  },
4878
5115
  out: {
4879
- from: { transform: "translateX(0)", opacity: 1 },
4880
- to: { transform: "translateX(-100%)", opacity: 0 }
5116
+ from: { transform: "translateX(0)", opacity: "1" },
5117
+ to: { transform: "translateX(-100%)", opacity: "0" }
4881
5118
  }
4882
5119
  }
4883
5120
  };
4884
- var motionV2Combined = {
5121
+ var motionCombined = {
4885
5122
  fadeScale: {
4886
5123
  in: {
4887
- from: { transform: "scale(0.95)", opacity: 0 },
4888
- to: { transform: "scale(1)", opacity: 1 }
5124
+ from: { transform: "scale(0.95)", opacity: "0" },
5125
+ to: { transform: "scale(1)", opacity: "1" }
4889
5126
  },
4890
5127
  out: {
4891
- from: { transform: "scale(1)", opacity: 1 },
4892
- to: { transform: "scale(0.95)", opacity: 0 }
5128
+ from: { transform: "scale(1)", opacity: "1" },
5129
+ to: { transform: "scale(0.95)", opacity: "0" }
4893
5130
  }
4894
5131
  },
4895
5132
  fadeSlideUp: {
4896
5133
  in: {
4897
- from: { transform: "translateY(100%)", opacity: 0 },
4898
- to: { transform: "translateY(0)", opacity: 1 }
5134
+ from: { transform: "translateY(100%)", opacity: "0" },
5135
+ to: { transform: "translateY(0)", opacity: "1" }
4899
5136
  },
4900
5137
  out: {
4901
- from: { transform: "translateY(0)", opacity: 1 },
4902
- to: { transform: "translateY(100%)", opacity: 0 }
5138
+ from: { transform: "translateY(0)", opacity: "1" },
5139
+ to: { transform: "translateY(100%)", opacity: "0" }
4903
5140
  }
4904
5141
  },
4905
5142
  fadeSlideDown: {
4906
5143
  in: {
4907
- from: { transform: "translateY(-100%)", opacity: 0 },
4908
- to: { transform: "translateY(0)", opacity: 1 }
5144
+ from: { transform: "translateY(-100%)", opacity: "0" },
5145
+ to: { transform: "translateY(0)", opacity: "1" }
4909
5146
  },
4910
5147
  out: {
4911
- from: { transform: "translateY(0)", opacity: 1 },
4912
- to: { transform: "translateY(-100%)", opacity: 0 }
5148
+ from: { transform: "translateY(0)", opacity: "1" },
5149
+ to: { transform: "translateY(-100%)", opacity: "0" }
4913
5150
  }
4914
5151
  },
4915
5152
  fadeSlideLeft: {
4916
5153
  in: {
4917
- from: { transform: "translateX(100%)", opacity: 0 },
4918
- to: { transform: "translateX(0)", opacity: 1 }
5154
+ from: { transform: "translateX(100%)", opacity: "0" },
5155
+ to: { transform: "translateX(0)", opacity: "1" }
4919
5156
  },
4920
5157
  out: {
4921
- from: { transform: "translateX(0)", opacity: 1 },
4922
- to: { transform: "translateX(100%)", opacity: 0 }
5158
+ from: { transform: "translateX(0)", opacity: "1" },
5159
+ to: { transform: "translateX(100%)", opacity: "0" }
4923
5160
  }
4924
5161
  },
4925
5162
  fadeSlideRight: {
4926
5163
  in: {
4927
- from: { transform: "translateX(-100%)", opacity: 0 },
4928
- to: { transform: "translateX(0)", opacity: 1 }
5164
+ from: { transform: "translateX(-100%)", opacity: "0" },
5165
+ to: { transform: "translateX(0)", opacity: "1" }
4929
5166
  },
4930
5167
  out: {
4931
- from: { transform: "translateX(0)", opacity: 1 },
4932
- to: { transform: "translateX(-100%)", opacity: 0 }
5168
+ from: { transform: "translateX(0)", opacity: "1" },
5169
+ to: { transform: "translateX(-100%)", opacity: "0" }
4933
5170
  }
4934
5171
  }
4935
5172
  };
4936
- var motionV2CSSVariables = {
5173
+ var motionCSSVariables = {
4937
5174
  // Durations
4938
- "--motion-duration-fast": motionV2Durations.fast,
4939
- "--motion-duration-normal": motionV2Durations.normal,
4940
- "--motion-duration-slow": motionV2Durations.slow,
4941
- "--motion-duration-reduced": motionV2Durations.reduced,
5175
+ "--motion-duration-fast": motionDurations.fast,
5176
+ "--motion-duration-normal": motionDurations.normal,
5177
+ "--motion-duration-slow": motionDurations.slow,
5178
+ "--motion-duration-reduced": motionDurations.reduced,
4942
5179
  // Easings
4943
- "--motion-easing-soft": motionV2Easings.soft,
4944
- "--motion-easing-standard": motionV2Easings.standard,
4945
- "--motion-easing-emphasized": motionV2Easings.emphasized,
5180
+ "--motion-easing-soft": motionEasings.soft,
5181
+ "--motion-easing-standard": motionEasings.standard,
5182
+ "--motion-easing-emphasized": motionEasings.emphasized,
4946
5183
  // Transitions
4947
- "--motion-transition-fast": motionV2Transitions.fast,
4948
- "--motion-transition-normal": motionV2Transitions.normal,
4949
- "--motion-transition-slow": motionV2Transitions.slow,
4950
- "--motion-transition-soft": motionV2Transitions.soft,
4951
- "--motion-transition-reduced": motionV2Transitions.reduced
5184
+ "--motion-transition-fast": motionTransitions.fast,
5185
+ "--motion-transition-normal": motionTransitions.normal,
5186
+ "--motion-transition-slow": motionTransitions.slow,
5187
+ "--motion-transition-soft": motionTransitions.soft,
5188
+ "--motion-transition-reduced": motionTransitions.reduced
5189
+ };
5190
+ var motionTransitionProperty = {
5191
+ DEFAULT: "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",
5192
+ colors: "color, background-color, border-color, text-decoration-color, fill, stroke",
5193
+ opacity: "opacity",
5194
+ shadow: "box-shadow",
5195
+ transform: "transform",
5196
+ all: "all",
5197
+ none: "none"
4952
5198
  };
4953
- var motionV2TailwindConfig = {
5199
+ var motionTailwindConfig = {
4954
5200
  transitionDuration: {
4955
- ...motionV2Durations
5201
+ ...motionDurations
4956
5202
  },
4957
5203
  transitionTimingFunction: {
4958
- ...motionV2Easings
5204
+ ...motionEasings
5205
+ },
5206
+ transitionProperty: {
5207
+ ...motionTransitionProperty
4959
5208
  },
4960
5209
  keyframes: {
4961
5210
  // Fade
4962
- "fade-in": motionV2Fade.in,
4963
- "fade-out": motionV2Fade.out,
5211
+ "fade-in": motionFade.in,
5212
+ "fade-out": motionFade.out,
4964
5213
  // Scale
4965
- "scale-in": motionV2Scale.in,
4966
- "scale-out": motionV2Scale.out,
5214
+ "scale-in": motionScale.in,
5215
+ "scale-out": motionScale.out,
4967
5216
  // Slide
4968
- "slide-up-in": motionV2Slide.up.in,
4969
- "slide-up-out": motionV2Slide.up.out,
4970
- "slide-down-in": motionV2Slide.down.in,
4971
- "slide-down-out": motionV2Slide.down.out,
4972
- "slide-left-in": motionV2Slide.left.in,
4973
- "slide-left-out": motionV2Slide.left.out,
4974
- "slide-right-in": motionV2Slide.right.in,
4975
- "slide-right-out": motionV2Slide.right.out,
5217
+ "slide-up-in": motionSlide.up.in,
5218
+ "slide-up-out": motionSlide.up.out,
5219
+ "slide-down-in": motionSlide.down.in,
5220
+ "slide-down-out": motionSlide.down.out,
5221
+ "slide-left-in": motionSlide.left.in,
5222
+ "slide-left-out": motionSlide.left.out,
5223
+ "slide-right-in": motionSlide.right.in,
5224
+ "slide-right-out": motionSlide.right.out,
4976
5225
  // Combined
4977
- "fade-scale-in": motionV2Combined.fadeScale.in,
4978
- "fade-scale-out": motionV2Combined.fadeScale.out,
4979
- "fade-slide-up-in": motionV2Combined.fadeSlideUp.in,
4980
- "fade-slide-up-out": motionV2Combined.fadeSlideUp.out,
4981
- "fade-slide-down-in": motionV2Combined.fadeSlideDown.in,
4982
- "fade-slide-down-out": motionV2Combined.fadeSlideDown.out,
4983
- "fade-slide-left-in": motionV2Combined.fadeSlideLeft.in,
4984
- "fade-slide-left-out": motionV2Combined.fadeSlideLeft.out,
4985
- "fade-slide-right-in": motionV2Combined.fadeSlideRight.in,
4986
- "fade-slide-right-out": motionV2Combined.fadeSlideRight.out
5226
+ "fade-scale-in": motionCombined.fadeScale.in,
5227
+ "fade-scale-out": motionCombined.fadeScale.out,
5228
+ "fade-slide-up-in": motionCombined.fadeSlideUp.in,
5229
+ "fade-slide-up-out": motionCombined.fadeSlideUp.out,
5230
+ "fade-slide-down-in": motionCombined.fadeSlideDown.in,
5231
+ "fade-slide-down-out": motionCombined.fadeSlideDown.out,
5232
+ "fade-slide-left-in": motionCombined.fadeSlideLeft.in,
5233
+ "fade-slide-left-out": motionCombined.fadeSlideLeft.out,
5234
+ "fade-slide-right-in": motionCombined.fadeSlideRight.in,
5235
+ "fade-slide-right-out": motionCombined.fadeSlideRight.out
4987
5236
  }
4988
5237
  };
4989
-
4990
- // src/FOUNDATION/tokens/motion.ts
4991
- var durations = {
4992
- instant: "0ms",
4993
- fast: "150ms",
4994
- // 1.5 × base (quick interactions)
4995
- normal: "300ms",
4996
- // 3 × base (default)
4997
- slow: "500ms",
4998
- // 5 × base (emphasized)
4999
- slower: "700ms",
5000
- // 7 × base (very emphasized)
5001
- slowest: "1000ms",
5002
- // 10 × base (maximum emphasis)
5003
- // Additional granular durations
5004
- "75": "75ms",
5005
- // Ultra-fast
5006
- "100": "100ms",
5007
- // Base unit
5008
- "200": "200ms",
5009
- // Fast-normal
5010
- "250": "250ms",
5011
- // Between fast and normal
5012
- "400": "400ms",
5013
- // Between normal and slow
5014
- "600": "600ms",
5015
- // Between slow and slower
5016
- "800": "800ms"
5017
- // Between slower and slowest
5018
- };
5019
- var easings = {
5020
- // Linear (no easing)
5021
- linear: "linear",
5022
- // Ease-in (accelerate) - cubic-bezier
5023
- "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
5024
- // Ease-out (decelerate) - recommended for most UI - cubic-bezier
5025
- "ease-out": "cubic-bezier(0, 0, 0.2, 1)",
5026
- // Ease-in-out (accelerate and decelerate)
5027
- "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)",
5028
- // Standard easing functions
5029
- ease: "ease",
5030
- // Advanced easing functions
5031
- bounce: "cubic-bezier(0.68, -0.55, 0.265, 1.55)",
5032
- elastic: "cubic-bezier(0.175, 0.885, 0.32, 1.275)",
5033
- // Material Design easing
5034
- "ease-out-cubic": "cubic-bezier(0.215, 0.61, 0.355, 1)",
5035
- "ease-in-cubic": "cubic-bezier(0.55, 0.055, 0.675, 0.19)",
5036
- "ease-in-out-cubic": "cubic-bezier(0.645, 0.045, 0.355, 1)"
5037
- };
5038
- var transitions = {
5039
- // Fast transitions (quick interactions)
5040
- fast: `${durations.fast} ${easings["ease-out"]}`,
5041
- "fast-in": `${durations.fast} ${easings["ease-in"]}`,
5042
- "fast-out": `${durations.fast} ${easings["ease-out"]}`,
5043
- "fast-in-out": `${durations.fast} ${easings["ease-in-out"]}`,
5044
- // Normal transitions (default)
5045
- normal: `${durations.normal} ${easings["ease-in-out"]}`,
5046
- "normal-in": `${durations.normal} ${easings["ease-in"]}`,
5047
- "normal-out": `${durations.normal} ${easings["ease-out"]}`,
5048
- "normal-in-out": `${durations.normal} ${easings["ease-in-out"]}`,
5049
- // Slow transitions (emphasized)
5050
- slow: `${durations.slow} ${easings["ease-in-out"]}`,
5051
- "slow-in": `${durations.slow} ${easings["ease-in"]}`,
5052
- "slow-out": `${durations.slow} ${easings["ease-out"]}`,
5053
- "slow-in-out": `${durations.slow} ${easings["ease-in-out"]}`,
5054
- // Special transitions
5055
- bounce: `${durations.normal} ${easings.bounce}`,
5056
- elastic: `${durations.slow} ${easings.elastic}`,
5057
- // Default (normal)
5058
- DEFAULT: `${durations.normal} ${easings["ease-in-out"]}`
5059
- };
5060
- var keyframes = {
5061
- // Fade animations
5062
- fadeIn: {
5063
- from: { opacity: "0" },
5064
- to: { opacity: "1" }
5065
- },
5066
- fadeOut: {
5067
- from: { opacity: "1" },
5068
- to: { opacity: "0" }
5069
- },
5070
- // Slide animations
5071
- slideInUp: {
5072
- from: { transform: "translateY(100%)", opacity: "0" },
5073
- to: { transform: "translateY(0)", opacity: "1" }
5074
- },
5075
- slideInDown: {
5076
- from: { transform: "translateY(-100%)", opacity: "0" },
5077
- to: { transform: "translateY(0)", opacity: "1" }
5078
- },
5079
- slideInLeft: {
5080
- from: { transform: "translateX(-100%)", opacity: "0" },
5081
- to: { transform: "translateX(0)", opacity: "1" }
5082
- },
5083
- slideInRight: {
5084
- from: { transform: "translateX(100%)", opacity: "0" },
5085
- to: { transform: "translateX(0)", opacity: "1" }
5086
- },
5087
- slideOutUp: {
5088
- from: { transform: "translateY(0)", opacity: "1" },
5089
- to: { transform: "translateY(-100%)", opacity: "0" }
5090
- },
5091
- slideOutDown: {
5092
- from: { transform: "translateY(0)", opacity: "1" },
5093
- to: { transform: "translateY(100%)", opacity: "0" }
5094
- },
5095
- slideOutLeft: {
5096
- from: { transform: "translateX(0)", opacity: "1" },
5097
- to: { transform: "translateX(-100%)", opacity: "0" }
5098
- },
5099
- slideOutRight: {
5100
- from: { transform: "translateX(0)", opacity: "1" },
5101
- to: { transform: "translateX(100%)", opacity: "0" }
5102
- },
5103
- // Scale animations
5104
- scaleIn: {
5105
- from: { transform: "scale(0.95)", opacity: "0" },
5106
- to: { transform: "scale(1)", opacity: "1" }
5107
- },
5108
- scaleOut: {
5109
- from: { transform: "scale(1)", opacity: "1" },
5110
- to: { transform: "scale(0.95)", opacity: "0" }
5111
- },
5112
- scaleUp: {
5113
- from: { transform: "scale(1)" },
5114
- to: { transform: "scale(1.05)" }
5115
- },
5116
- scaleDown: {
5117
- from: { transform: "scale(1.05)" },
5118
- to: { transform: "scale(1)" }
5119
- },
5120
- // Rotation animations
5121
- spin: {
5122
- from: { transform: "rotate(0deg)" },
5123
- to: { transform: "rotate(360deg)" }
5124
- },
5125
- spinReverse: {
5126
- from: { transform: "rotate(360deg)" },
5127
- to: { transform: "rotate(0deg)" }
5128
- },
5129
- // Pulse and bounce
5130
- pulse: {
5131
- "0%, 100%": { opacity: "1" },
5132
- "50%": { opacity: "0.5" }
5133
- },
5134
- bounce: {
5135
- "0%, 100%": {
5136
- transform: "translateY(-25%)",
5137
- animationTimingFunction: "cubic-bezier(0.8, 0, 1, 1)"
5138
- },
5139
- "50%": {
5140
- transform: "translateY(0)",
5141
- animationTimingFunction: "cubic-bezier(0, 0, 0.2, 1)"
5142
- }
5143
- },
5144
- // Shake animation
5145
- shake: {
5146
- "0%, 100%": { transform: "translateX(0)" },
5147
- "10%, 30%, 50%, 70%, 90%": { transform: "translateX(-4px)" },
5148
- "20%, 40%, 60%, 80%": { transform: "translateX(4px)" }
5149
- },
5150
- // Ping animation
5151
- ping: {
5152
- "75%, 100%": {
5153
- transform: "scale(2)",
5154
- opacity: "0"
5155
- }
5156
- },
5157
- // Accordion animations (for Radix UI)
5158
- "accordion-down": {
5159
- from: { height: "0" },
5160
- to: { height: "var(--radix-accordion-content-height)" }
5161
- },
5162
- "accordion-up": {
5163
- from: { height: "var(--radix-accordion-content-height)" },
5164
- to: { height: "0" }
5165
- }
5166
- };
5167
- var animations = {
5168
- // Fade animations
5169
- fadeIn: `fadeIn ${durations.normal} ${easings["ease-out"]}`,
5170
- fadeOut: `fadeOut ${durations.fast} ${easings["ease-in"]}`,
5171
- // Slide animations
5172
- slideInUp: `slideInUp ${durations.normal} ${easings["ease-out"]}`,
5173
- slideInDown: `slideInDown ${durations.normal} ${easings["ease-out"]}`,
5174
- slideInLeft: `slideInLeft ${durations.normal} ${easings["ease-out"]}`,
5175
- slideInRight: `slideInRight ${durations.normal} ${easings["ease-out"]}`,
5176
- slideOutUp: `slideOutUp ${durations.fast} ${easings["ease-in"]}`,
5177
- slideOutDown: `slideOutDown ${durations.fast} ${easings["ease-in"]}`,
5178
- slideOutLeft: `slideOutLeft ${durations.fast} ${easings["ease-in"]}`,
5179
- slideOutRight: `slideOutRight ${durations.fast} ${easings["ease-in"]}`,
5180
- // Scale animations
5181
- scaleIn: `scaleIn ${durations.normal} ${easings["ease-out"]}`,
5182
- scaleOut: `scaleOut ${durations.fast} ${easings["ease-in"]}`,
5183
- // Continuous animations
5184
- spin: `spin 1s ${easings.linear} infinite`,
5185
- pulse: `pulse 2s ${easings["ease-in-out"]} infinite`,
5186
- bounce: `bounce 1s ${easings.linear} infinite`,
5187
- ping: `ping 1s ${easings["ease-out"]} cubic-bezier(0, 0, 0.2, 1) infinite`,
5188
- shake: `shake 0.5s ${easings["ease-in-out"]}`,
5189
- // Accordion animations
5190
- "accordion-down": `accordion-down ${durations.normal} ${easings["ease-out"]}`,
5191
- "accordion-up": `accordion-up ${durations.normal} ${easings["ease-out"]}`
5192
- };
5193
- var springs = {
5194
- // Gentle spring (subtle, smooth)
5195
- gentle: {
5196
- type: "spring",
5197
- stiffness: 120,
5198
- damping: 14,
5199
- mass: 1
5200
- },
5201
- // Default spring (balanced)
5202
- default: {
5203
- type: "spring",
5204
- stiffness: 300,
5205
- damping: 30,
5206
- mass: 1
5207
- },
5208
- // Wobbly spring (bouncy, playful)
5209
- wobbly: {
5210
- type: "spring",
5211
- stiffness: 180,
5212
- damping: 12,
5213
- mass: 1
5214
- },
5215
- // Stiff spring (quick, precise)
5216
- stiff: {
5217
- type: "spring",
5218
- stiffness: 400,
5219
- damping: 30,
5220
- mass: 1
5221
- },
5222
- // Slow spring (smooth, deliberate)
5223
- slow: {
5224
- type: "spring",
5225
- stiffness: 200,
5226
- damping: 25,
5227
- mass: 1
5228
- },
5229
- // Bouncy spring (energetic, fun)
5230
- bouncy: {
5231
- type: "spring",
5232
- stiffness: 400,
5233
- damping: 10,
5234
- mass: 1
5235
- },
5236
- // No bounce (damped, controlled)
5237
- noBounce: {
5238
- type: "spring",
5239
- stiffness: 300,
5240
- damping: 35,
5241
- mass: 1
5242
- }
5243
- };
5244
- var reducedMotion = {
5245
- // Reduced motion duration (instant or minimal)
5238
+ var motionReducedMotion = {
5239
+ /** Reduced motion duration (instant, no animation) */
5246
5240
  duration: "0ms",
5247
- // Reduced motion easing (linear for instant)
5241
+ /** Reduced motion easing (linear for instant) */
5248
5242
  easing: "linear",
5249
- // Reduced motion transition (instant)
5243
+ /** Reduced motion transition (instant) */
5250
5244
  transition: "0ms linear",
5251
- // CSS media query for reduced motion
5252
- mediaQuery: "@media (prefers-reduced-motion: reduce)",
5253
- // Utility class to disable animations
5254
- disableAnimations: "animation: none !important; transition: none !important;",
5255
- // Reduced motion spring (instant, no animation)
5256
- spring: {
5257
- type: "spring",
5258
- stiffness: 1e3,
5259
- damping: 100,
5260
- mass: 1
5261
- }
5262
- };
5263
- var motionCSSVariables = {
5264
- // Durations
5265
- "--duration-instant": durations.instant,
5266
- "--duration-fast": durations.fast,
5267
- "--duration-normal": durations.normal,
5268
- "--duration-slow": durations.slow,
5269
- "--duration-slower": durations.slower,
5270
- "--duration-slowest": durations.slowest,
5271
- // Additional granular durations
5272
- "--duration-75": durations["75"],
5273
- "--duration-100": durations["100"],
5274
- "--duration-200": durations["200"],
5275
- "--duration-250": durations["250"],
5276
- "--duration-400": durations["400"],
5277
- "--duration-600": durations["600"],
5278
- "--duration-800": durations["800"],
5279
- // Easings
5280
- "--ease-linear": easings.linear,
5281
- "--ease-in": easings["ease-in"],
5282
- "--ease-out": easings["ease-out"],
5283
- "--ease-in-out": easings["ease-in-out"],
5284
- "--ease-bounce": easings.bounce,
5285
- "--ease-elastic": easings.elastic,
5286
- "--ease-out-cubic": easings["ease-out-cubic"],
5287
- "--ease-in-cubic": easings["ease-in-cubic"],
5288
- "--ease-in-out-cubic": easings["ease-in-out-cubic"],
5289
- // Transitions
5290
- "--transition-fast": transitions.fast,
5291
- "--transition-normal": transitions.normal,
5292
- "--transition-slow": transitions.slow,
5293
- "--transition-default": transitions.DEFAULT,
5294
- "--transition-fast-in": transitions["fast-in"],
5295
- "--transition-fast-out": transitions["fast-out"],
5296
- "--transition-fast-in-out": transitions["fast-in-out"],
5297
- "--transition-normal-in": transitions["normal-in"],
5298
- "--transition-normal-out": transitions["normal-out"],
5299
- "--transition-normal-in-out": transitions["normal-in-out"],
5300
- "--transition-slow-in": transitions["slow-in"],
5301
- "--transition-slow-out": transitions["slow-out"],
5302
- "--transition-slow-in-out": transitions["slow-in-out"],
5303
- "--transition-bounce": transitions.bounce,
5304
- "--transition-elastic": transitions.elastic
5305
- };
5306
- var tailwindMotionConfig = {
5307
- transitionDuration: {
5308
- ...durations
5309
- },
5310
- transitionTimingFunction: {
5311
- ...easings
5312
- },
5313
- transitionProperty: {
5314
- DEFAULT: "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",
5315
- colors: "color, background-color, border-color, text-decoration-color, fill, stroke",
5316
- opacity: "opacity",
5317
- shadow: "box-shadow",
5318
- transform: "transform",
5319
- all: "all",
5320
- none: "none"
5321
- },
5322
- keyframes: {
5323
- ...keyframes
5324
- },
5325
- animation: {
5326
- ...animations,
5327
- // Additional animation utilities
5328
- none: "none",
5329
- spin: animations.spin,
5330
- pulse: animations.pulse,
5331
- bounce: animations.bounce,
5332
- ping: animations.ping,
5333
- shake: animations.shake
5334
- }
5245
+ /** CSS media query for reduced motion */
5246
+ mediaQuery: "@media (prefers-reduced-motion: reduce)"
5335
5247
  };
5336
5248
 
5337
5249
  // src/FOUNDATION/tokens/radius.ts
@@ -6111,4 +6023,4 @@ var tokenSystemSummary = {
6111
6023
  // src/FOUNDATION/tokens/theme.ts
6112
6024
  var UI_COLORS = tailwindThemeColors;
6113
6025
 
6114
- export { ALERT_TOKENS, ARTIST_TOKENS, BUTTON_TOKENS, CARD_TOKENS, CHECKBOX_TOKENS, DATA_TOKENS, DOMAIN_TOKENS, ICON_TOKENS, INPUT_TOKENS, MENU_TOKENS, MOTION_TOKENS, NAVIGATION_TOKENS, NOTIFICATION_TOKENS, OVERLAY_TOKENS, POPOVER_TOKENS, RADIO_TOKENS, SECTION_TOKENS, SELECT_TOKENS, SURFACE_TOKENS, SWITCH_TOKENS, TEXT_TOKENS, TOAST_TOKENS, TOOLTIP_TOKENS, UI_COLORS, accentColoredShadows, accentColors, allCSSVariables, allCSSVariablesCSS, animations, baseColors, borderRadius, chartColors, colorCSSVariables, componentRadius, componentShadowMapping, cssVariableColorTokens, durations, easings, elevationShadows, focusRings, fontFamily, fontSize, fontSizeWithMd, fontWeight, generateCSSVariablesCSS, glowEffects, keyframes, layoutSpacing, letterSpacing, lineHeight, motionCSSVariables, motionV2CSSVariables, motionV2Combined, motionV2Durations, motionV2Easings, motionV2Fade, motionV2Scale, motionV2Slide, motionV2TailwindConfig, motionV2Transitions, primaryColoredShadows, primaryColors, radiusCSSVariables, reducedMotion, secondaryColors, semanticColors, semanticSpacing, shadowBase, shadowCSSVariables, shadowOpacity, spacing, spacingCSSVariables, springs, surfaceColors, tailwindMotionConfig, tailwindRadiusConfig, tailwindShadowConfig, tailwindSpacingConfig, tailwindThemeColors, tailwindTypographyConfig, textColors, textStyles, tokenSystemSummary, transitions, typographyCSSVariables };
6026
+ export { ALERT_TOKENS, ARTIST_TOKENS, BUTTON_TOKENS, CARD_TOKENS, CHECKBOX_TOKENS, DATA_LIST_TOKENS, DATA_TOKENS, DOMAIN_TOKENS, ICON_TOKENS, INPUT_TOKENS, LIST_TOKENS, MENU_TOKENS, MOTION_TOKENS, NAVIGATION_TOKENS, NOTIFICATION_TOKENS, OVERLAY_TOKENS, POPOVER_TOKENS, RADIO_TOKENS, SECTION_TOKENS, SELECT_TOKENS, SIMPLETABLE_TOKENS, SURFACE_TOKENS, SWITCH_TOKENS, TEXT_TOKENS, TOAST_TOKENS, TOOLTIP_TOKENS, UI_COLORS, accentColoredShadows, accentColors, allCSSVariables, allCSSVariablesCSS, baseColors, borderRadius, chartColors, colorCSSVariables, componentRadius, componentShadowMapping, cssVariableColorTokens, elevationShadows, focusRings, fontFamily, fontSize, fontSizeWithMd, fontWeight, generateCSSVariablesCSS, glowEffects, layoutSpacing, letterSpacing, lineHeight, motionCSSVariables, motionCombined, motionDurations, motionEasings, motionFade, motionReducedMotion, motionScale, motionSlide, motionTailwindConfig, motionTransitionProperty, motionTransitions, primaryColoredShadows, primaryColors, radiusCSSVariables, secondaryColors, semanticColors, semanticSpacing, shadowBase, shadowCSSVariables, shadowOpacity, spacing, spacingCSSVariables, surfaceColors, tailwindRadiusConfig, tailwindShadowConfig, tailwindSpacingConfig, tailwindThemeColors, tailwindTypographyConfig, textColors, textStyles, tokenSystemSummary, typographyCSSVariables };