@expcat/tigercat-core 1.0.7 → 1.2.0

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.
Files changed (152) hide show
  1. package/README.md +1 -1
  2. package/dist/datepicker-DXzS_8l8.d.cts +130 -0
  3. package/dist/datepicker-DXzS_8l8.d.ts +130 -0
  4. package/dist/datepicker-locales/ar-SA.cjs +46 -0
  5. package/dist/datepicker-locales/ar-SA.d.cts +6 -0
  6. package/dist/datepicker-locales/ar-SA.d.ts +6 -0
  7. package/dist/datepicker-locales/ar-SA.js +20 -0
  8. package/dist/datepicker-locales/de-DE.cjs +46 -0
  9. package/dist/datepicker-locales/de-DE.d.cts +6 -0
  10. package/dist/datepicker-locales/de-DE.d.ts +6 -0
  11. package/dist/datepicker-locales/de-DE.js +20 -0
  12. package/dist/datepicker-locales/en-US.cjs +46 -0
  13. package/dist/datepicker-locales/en-US.d.cts +6 -0
  14. package/dist/datepicker-locales/en-US.d.ts +6 -0
  15. package/dist/datepicker-locales/en-US.js +20 -0
  16. package/dist/datepicker-locales/es-ES.cjs +46 -0
  17. package/dist/datepicker-locales/es-ES.d.cts +6 -0
  18. package/dist/datepicker-locales/es-ES.d.ts +6 -0
  19. package/dist/datepicker-locales/es-ES.js +20 -0
  20. package/dist/datepicker-locales/fr-FR.cjs +46 -0
  21. package/dist/datepicker-locales/fr-FR.d.cts +6 -0
  22. package/dist/datepicker-locales/fr-FR.d.ts +6 -0
  23. package/dist/datepicker-locales/fr-FR.js +20 -0
  24. package/dist/datepicker-locales/id-ID.cjs +46 -0
  25. package/dist/datepicker-locales/id-ID.d.cts +6 -0
  26. package/dist/datepicker-locales/id-ID.d.ts +6 -0
  27. package/dist/datepicker-locales/id-ID.js +20 -0
  28. package/dist/datepicker-locales/ja-JP.cjs +46 -0
  29. package/dist/datepicker-locales/ja-JP.d.cts +6 -0
  30. package/dist/datepicker-locales/ja-JP.d.ts +6 -0
  31. package/dist/datepicker-locales/ja-JP.js +20 -0
  32. package/dist/datepicker-locales/ko-KR.cjs +46 -0
  33. package/dist/datepicker-locales/ko-KR.d.cts +6 -0
  34. package/dist/datepicker-locales/ko-KR.d.ts +6 -0
  35. package/dist/datepicker-locales/ko-KR.js +20 -0
  36. package/dist/datepicker-locales/pt-BR.cjs +46 -0
  37. package/dist/datepicker-locales/pt-BR.d.cts +6 -0
  38. package/dist/datepicker-locales/pt-BR.d.ts +6 -0
  39. package/dist/datepicker-locales/pt-BR.js +20 -0
  40. package/dist/datepicker-locales/th-TH.cjs +46 -0
  41. package/dist/datepicker-locales/th-TH.d.cts +6 -0
  42. package/dist/datepicker-locales/th-TH.d.ts +6 -0
  43. package/dist/datepicker-locales/th-TH.js +20 -0
  44. package/dist/datepicker-locales/vi-VN.cjs +46 -0
  45. package/dist/datepicker-locales/vi-VN.d.cts +6 -0
  46. package/dist/datepicker-locales/vi-VN.d.ts +6 -0
  47. package/dist/datepicker-locales/vi-VN.js +20 -0
  48. package/dist/datepicker-locales/zh-CN.cjs +46 -0
  49. package/dist/datepicker-locales/zh-CN.d.cts +6 -0
  50. package/dist/datepicker-locales/zh-CN.d.ts +6 -0
  51. package/dist/datepicker-locales/zh-CN.js +20 -0
  52. package/dist/datepicker-locales/zh-TW.cjs +46 -0
  53. package/dist/datepicker-locales/zh-TW.d.cts +6 -0
  54. package/dist/datepicker-locales/zh-TW.d.ts +6 -0
  55. package/dist/datepicker-locales/zh-TW.js +20 -0
  56. package/dist/icons/common.cjs +54 -0
  57. package/dist/icons/common.d.cts +20 -0
  58. package/dist/icons/common.d.ts +20 -0
  59. package/dist/icons/common.js +21 -0
  60. package/dist/icons/picker.cjs +75 -0
  61. package/dist/icons/picker.d.cts +53 -0
  62. package/dist/icons/picker.d.ts +53 -0
  63. package/dist/icons/picker.js +35 -0
  64. package/dist/icons/status.cjs +47 -0
  65. package/dist/icons/status.d.cts +13 -0
  66. package/dist/icons/status.d.ts +13 -0
  67. package/dist/icons/status.js +18 -0
  68. package/dist/icons/table.cjs +48 -0
  69. package/dist/icons/table.d.cts +25 -0
  70. package/dist/icons/table.d.ts +25 -0
  71. package/dist/icons/table.js +17 -0
  72. package/dist/index.cjs +7064 -886
  73. package/dist/index.d.cts +3826 -1238
  74. package/dist/index.d.ts +3826 -1238
  75. package/dist/index.js +6705 -1011
  76. package/dist/locale-9-B-d0mp.d.cts +97 -0
  77. package/dist/locale-Bc3zz2b0.d.ts +97 -0
  78. package/dist/locales/ar-SA.cjs +155 -0
  79. package/dist/locales/ar-SA.d.cts +10 -0
  80. package/dist/locales/ar-SA.d.ts +10 -0
  81. package/dist/locales/ar-SA.js +128 -0
  82. package/dist/locales/de-DE.cjs +155 -0
  83. package/dist/locales/de-DE.d.cts +10 -0
  84. package/dist/locales/de-DE.d.ts +10 -0
  85. package/dist/locales/de-DE.js +128 -0
  86. package/dist/locales/en-US.cjs +69 -0
  87. package/dist/locales/en-US.d.cts +10 -0
  88. package/dist/locales/en-US.d.ts +10 -0
  89. package/dist/locales/en-US.js +44 -0
  90. package/dist/locales/es-ES.cjs +155 -0
  91. package/dist/locales/es-ES.d.cts +10 -0
  92. package/dist/locales/es-ES.d.ts +10 -0
  93. package/dist/locales/es-ES.js +128 -0
  94. package/dist/locales/fr-FR.cjs +155 -0
  95. package/dist/locales/fr-FR.d.cts +10 -0
  96. package/dist/locales/fr-FR.d.ts +10 -0
  97. package/dist/locales/fr-FR.js +128 -0
  98. package/dist/locales/id-ID.cjs +69 -0
  99. package/dist/locales/id-ID.d.cts +10 -0
  100. package/dist/locales/id-ID.d.ts +10 -0
  101. package/dist/locales/id-ID.js +44 -0
  102. package/dist/locales/ja-JP.cjs +69 -0
  103. package/dist/locales/ja-JP.d.cts +10 -0
  104. package/dist/locales/ja-JP.d.ts +10 -0
  105. package/dist/locales/ja-JP.js +44 -0
  106. package/dist/locales/ko-KR.cjs +69 -0
  107. package/dist/locales/ko-KR.d.cts +10 -0
  108. package/dist/locales/ko-KR.d.ts +10 -0
  109. package/dist/locales/ko-KR.js +44 -0
  110. package/dist/locales/pt-BR.cjs +155 -0
  111. package/dist/locales/pt-BR.d.cts +10 -0
  112. package/dist/locales/pt-BR.d.ts +10 -0
  113. package/dist/locales/pt-BR.js +128 -0
  114. package/dist/locales/th-TH.cjs +69 -0
  115. package/dist/locales/th-TH.d.cts +10 -0
  116. package/dist/locales/th-TH.d.ts +10 -0
  117. package/dist/locales/th-TH.js +44 -0
  118. package/dist/locales/vi-VN.cjs +69 -0
  119. package/dist/locales/vi-VN.d.cts +10 -0
  120. package/dist/locales/vi-VN.d.ts +10 -0
  121. package/dist/locales/vi-VN.js +44 -0
  122. package/dist/locales/zh-CN.cjs +69 -0
  123. package/dist/locales/zh-CN.d.cts +10 -0
  124. package/dist/locales/zh-CN.d.ts +10 -0
  125. package/dist/locales/zh-CN.js +44 -0
  126. package/dist/locales/zh-TW.cjs +69 -0
  127. package/dist/locales/zh-TW.d.cts +10 -0
  128. package/dist/locales/zh-TW.d.ts +10 -0
  129. package/dist/locales/zh-TW.js +44 -0
  130. package/dist/table-export-6ISYSoVB.d.cts +490 -0
  131. package/dist/table-export-6ISYSoVB.d.ts +490 -0
  132. package/dist/tailwind/modern.cjs +353 -0
  133. package/dist/tailwind/modern.d.cts +6 -0
  134. package/dist/tailwind/modern.d.ts +6 -0
  135. package/dist/tailwind/modern.js +320 -0
  136. package/dist/tailwind-entry-D4_sseNi.d.ts +218 -0
  137. package/dist/tailwind-entry-DUchHtjs.d.cts +218 -0
  138. package/dist/tailwind.cjs +206 -0
  139. package/dist/tailwind.d.cts +3 -0
  140. package/dist/tailwind.d.ts +3 -0
  141. package/dist/tailwind.js +173 -0
  142. package/dist/types-CJYAW1ql.d-DDBFn6KB.d.cts +126 -0
  143. package/dist/types-CJYAW1ql.d-DDBFn6KB.d.ts +126 -0
  144. package/dist/utils/table-export.cjs +112 -0
  145. package/dist/utils/table-export.d.cts +1 -0
  146. package/dist/utils/table-export.d.ts +1 -0
  147. package/dist/utils/table-export.js +79 -0
  148. package/package.json +190 -12
  149. package/tokens/figma-variables.json +2553 -0
  150. package/tokens/tailwind-tokens.js +145 -0
  151. package/tokens/tokens.css +640 -0
  152. package/tokens/tokens.json +395 -0
@@ -0,0 +1,320 @@
1
+ // src/tailwind-plugin.ts
2
+ import plugin from "tailwindcss/plugin";
3
+
4
+ // src/theme/index.ts
5
+ var THEME_CSS_VARS = {
6
+ // Primary colors
7
+ primary: "--tiger-primary",
8
+ primaryHover: "--tiger-primary-hover",
9
+ primaryActive: "--tiger-primary-active",
10
+ primaryDisabled: "--tiger-primary-disabled",
11
+ // Secondary colors
12
+ secondary: "--tiger-secondary",
13
+ secondaryHover: "--tiger-secondary-hover",
14
+ secondaryActive: "--tiger-secondary-active",
15
+ secondaryDisabled: "--tiger-secondary-disabled",
16
+ // Background hover states
17
+ outlineBgHover: "--tiger-outline-bg-hover",
18
+ ghostBgHover: "--tiger-ghost-bg-hover",
19
+ // Interaction states
20
+ focusRing: "--tiger-focus-ring",
21
+ // Surface & background
22
+ surface: "--tiger-surface",
23
+ surfaceMuted: "--tiger-surface-muted",
24
+ surfaceRaised: "--tiger-surface-raised",
25
+ // Text
26
+ text: "--tiger-text",
27
+ textSecondary: "--tiger-text-secondary",
28
+ textDisabled: "--tiger-text-disabled",
29
+ // Border
30
+ border: "--tiger-border",
31
+ borderStrong: "--tiger-border-strong",
32
+ // Status colors
33
+ success: "--tiger-success",
34
+ warning: "--tiger-warning",
35
+ error: "--tiger-error",
36
+ info: "--tiger-info",
37
+ // Chart palette
38
+ chart1: "--tiger-chart-1",
39
+ chart2: "--tiger-chart-2",
40
+ chart3: "--tiger-chart-3",
41
+ chart4: "--tiger-chart-4",
42
+ chart5: "--tiger-chart-5",
43
+ chart6: "--tiger-chart-6",
44
+ // Breakpoints
45
+ breakpointXs: "--tiger-breakpoint-xs",
46
+ breakpointSm: "--tiger-breakpoint-sm",
47
+ breakpointMd: "--tiger-breakpoint-md",
48
+ breakpointLg: "--tiger-breakpoint-lg",
49
+ breakpointXl: "--tiger-breakpoint-xl"
50
+ };
51
+
52
+ // src/themes/modern/tokens.ts
53
+ var MODERN_BASE_TOKENS_LIGHT = {
54
+ // Radius (matches existing rounded-md/lg/xl)
55
+ "--tiger-radius-sm": "0.375rem",
56
+ "--tiger-radius-md": "0.5rem",
57
+ "--tiger-radius-lg": "0.75rem",
58
+ "--tiger-radius-xl": "1rem",
59
+ "--tiger-radius-pill": "9999px",
60
+ // Shadows (Tailwind defaults)
61
+ "--tiger-shadow-sm": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
62
+ "--tiger-shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
63
+ "--tiger-shadow-lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
64
+ "--tiger-shadow-xl": "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
65
+ // Glass — disabled by default (no backdrop blur, no inset highlights)
66
+ "--tiger-shadow-glass": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
67
+ "--tiger-shadow-glass-strong": "0 4px 6px -1px rgb(0 0 0 / 0.1)",
68
+ "--tiger-blur-glass": "0px",
69
+ "--tiger-blur-glass-strong": "0px",
70
+ // Gradients — fall back to solid color via a no-op linear-gradient
71
+ "--tiger-gradient-primary": "linear-gradient(180deg, var(--tiger-primary), var(--tiger-primary))",
72
+ "--tiger-gradient-surface": "linear-gradient(180deg, var(--tiger-surface), var(--tiger-surface))",
73
+ "--tiger-gradient-danger": "linear-gradient(180deg, var(--tiger-error), var(--tiger-error))",
74
+ // Motion — current durations / easings
75
+ "--tiger-motion-duration-instant": "80ms",
76
+ "--tiger-motion-duration-quick": "150ms",
77
+ "--tiger-motion-duration-base": "200ms",
78
+ "--tiger-motion-duration-relaxed": "300ms",
79
+ "--tiger-motion-duration-slow": "450ms",
80
+ "--tiger-motion-ease-standard": "cubic-bezier(0.4, 0, 0.2, 1)",
81
+ "--tiger-motion-ease-decelerate": "cubic-bezier(0, 0, 0.2, 1)",
82
+ "--tiger-motion-ease-accelerate": "cubic-bezier(0.4, 0, 1, 1)",
83
+ "--tiger-motion-ease-emphasized": "cubic-bezier(0.4, 0, 0.2, 1)",
84
+ "--tiger-motion-ease-spring": "cubic-bezier(0.4, 0, 0.2, 1)",
85
+ "--tiger-transition-base": "all 200ms cubic-bezier(0.4, 0, 0.2, 1)",
86
+ "--tiger-transition-quick": "all 150ms cubic-bezier(0.4, 0, 0.2, 1)",
87
+ "--tiger-transition-emphasized": "transform 300ms cubic-bezier(0.4, 0, 0.2, 1)"
88
+ };
89
+ var MODERN_BASE_TOKENS_DARK = {
90
+ // Shadows tinted slightly to handle dark backgrounds
91
+ "--tiger-shadow-sm": "0 1px 2px 0 rgb(0 0 0 / 0.2)",
92
+ "--tiger-shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.25)",
93
+ "--tiger-shadow-lg": "0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.25)",
94
+ "--tiger-shadow-xl": "0 20px 25px -5px rgb(0 0 0 / 0.3), 0 8px 10px -6px rgb(0 0 0 / 0.25)",
95
+ "--tiger-shadow-glass": "0 1px 2px 0 rgb(0 0 0 / 0.2)",
96
+ "--tiger-shadow-glass-strong": "0 4px 6px -1px rgb(0 0 0 / 0.3)"
97
+ };
98
+ var MODERN_OVERRIDE_TOKENS_LIGHT = {
99
+ // Rounder corners
100
+ "--tiger-radius-sm": "8px",
101
+ "--tiger-radius-md": "12px",
102
+ "--tiger-radius-lg": "16px",
103
+ "--tiger-radius-xl": "20px",
104
+ "--tiger-radius-pill": "9999px",
105
+ // Multi-layer shadows
106
+ "--tiger-shadow-sm": "0 1px 2px 0 rgb(0 0 0 / 0.04), 0 1px 3px 0 rgb(0 0 0 / 0.06)",
107
+ "--tiger-shadow-md": "0 4px 8px -2px rgb(0 0 0 / 0.06), 0 2px 4px -1px rgb(0 0 0 / 0.04)",
108
+ "--tiger-shadow-lg": "0 12px 24px -4px rgb(0 0 0 / 0.08), 0 4px 8px -2px rgb(0 0 0 / 0.04)",
109
+ "--tiger-shadow-xl": "0 24px 48px -8px rgb(0 0 0 / 0.1), 0 8px 16px -4px rgb(0 0 0 / 0.05)",
110
+ // Glass: backdrop blur + inset highlights
111
+ "--tiger-shadow-glass": "inset 0 1px 0 rgb(255 255 255 / 0.6), inset 0 -1px 0 rgb(0 0 0 / 0.04), 0 8px 24px -4px rgb(15 23 42 / 0.1)",
112
+ "--tiger-shadow-glass-strong": "inset 0 1px 0 rgb(255 255 255 / 0.5), inset 0 0 0 1px rgb(255 255 255 / 0.18), 0 16px 32px -8px rgb(15 23 42 / 0.16)",
113
+ "--tiger-blur-glass": "16px",
114
+ "--tiger-blur-glass-strong": "24px",
115
+ // Chart axis softening (modern look uses fainter axis/grid strokes)
116
+ "--tiger-chart-axis-line-opacity": "0.6",
117
+ "--tiger-chart-axis-tick-opacity": "0.55",
118
+ "--tiger-chart-grid-line-opacity": "0.4",
119
+ // Chart legend marker + row hover (opt-in glassy look)
120
+ "--tiger-chart-legend-marker-image": "linear-gradient(135deg, color-mix(in oklab, var(--tiger-chart-legend-marker-color) 100%, white 18%) 0%, var(--tiger-chart-legend-marker-color) 100%)",
121
+ "--tiger-chart-legend-row-hover-bg": "rgb(15 23 42 / 0.04)",
122
+ "--tiger-chart-legend-row-radius": "var(--tiger-radius-sm, 6px)",
123
+ // Chart block (TreeMap / Sunburst / Heatmap rect & path) — softer corners + active highlight
124
+ "--tiger-chart-block-radius": "var(--tiger-radius-sm, 2px)",
125
+ "--tiger-chart-block-active-filter": "brightness(1.08) saturate(1.1)",
126
+ // Chart bar (BarChart rect) — softer top corners (modern bumps to --tiger-radius-sm)
127
+ "--tiger-chart-bar-radius": "var(--tiger-radius-sm, 4px)",
128
+ // Chart scatter point — slightly stronger halo on hover under modern preset
129
+ "--tiger-chart-scatter-halo-radius": "6px",
130
+ // Chart donut center hole — opt-in glass panel behind centerValue / centerLabel
131
+ "--tiger-chart-donut-center-padding": "10px 14px",
132
+ "--tiger-chart-donut-center-bg": "color-mix(in oklab, var(--tiger-surface, #ffffff) 78%, transparent)",
133
+ "--tiger-chart-donut-center-shadow": "var(--tiger-shadow-glass)",
134
+ "--tiger-chart-donut-center-backdrop": "blur(var(--tiger-blur-glass, 16px)) saturate(1.05)",
135
+ // Subtle gradients via OKLab color-mix
136
+ "--tiger-gradient-primary": "linear-gradient(180deg, color-mix(in oklab, var(--tiger-primary) 100%, white 8%) 0%, var(--tiger-primary) 100%)",
137
+ "--tiger-gradient-surface": "linear-gradient(180deg, color-mix(in oklab, var(--tiger-surface) 100%, white 4%) 0%, var(--tiger-surface) 100%)",
138
+ "--tiger-gradient-danger": "linear-gradient(180deg, color-mix(in oklab, var(--tiger-error) 100%, white 6%) 0%, var(--tiger-error) 100%)",
139
+ // Refined motion
140
+ "--tiger-motion-ease-standard": "cubic-bezier(0.2, 0, 0, 1)",
141
+ "--tiger-motion-ease-decelerate": "cubic-bezier(0, 0, 0, 1)",
142
+ "--tiger-motion-ease-accelerate": "cubic-bezier(0.3, 0, 1, 1)",
143
+ "--tiger-motion-ease-emphasized": "cubic-bezier(0.2, 0, 0, 1.2)",
144
+ "--tiger-motion-ease-spring": "linear(0, 0.36 8%, 0.85 22%, 1.05 33%, 1.02 50%, 0.99 70%, 1)",
145
+ "--tiger-transition-base": "all var(--tiger-motion-duration-base) var(--tiger-motion-ease-standard)",
146
+ "--tiger-transition-quick": "all var(--tiger-motion-duration-quick) var(--tiger-motion-ease-standard)",
147
+ "--tiger-transition-emphasized": "transform var(--tiger-motion-duration-relaxed) var(--tiger-motion-ease-emphasized)"
148
+ };
149
+ var MODERN_OVERRIDE_TOKENS_DARK = {
150
+ "--tiger-shadow-sm": "0 1px 2px 0 rgb(2 6 23 / 0.5)",
151
+ "--tiger-shadow-md": "0 4px 8px -2px rgb(2 6 23 / 0.55), 0 2px 4px -1px rgb(2 6 23 / 0.4)",
152
+ "--tiger-shadow-lg": "0 12px 24px -4px rgb(2 6 23 / 0.55), 0 4px 8px -2px rgb(2 6 23 / 0.4)",
153
+ "--tiger-shadow-xl": "0 24px 48px -8px rgb(2 6 23 / 0.6), 0 8px 16px -4px rgb(2 6 23 / 0.45)",
154
+ "--tiger-shadow-glass": "inset 0 1px 0 rgb(255 255 255 / 0.06), inset 0 -1px 0 rgb(0 0 0 / 0.4), 0 8px 24px -4px rgb(0 0 0 / 0.4)",
155
+ "--tiger-shadow-glass-strong": "inset 0 1px 0 rgb(255 255 255 / 0.08), inset 0 0 0 1px rgb(255 255 255 / 0.06), 0 16px 32px -8px rgb(0 0 0 / 0.55)",
156
+ // Chart legend row hover for dark surfaces (slightly brighter)
157
+ "--tiger-chart-legend-row-hover-bg": "rgb(255 255 255 / 0.06)",
158
+ // Donut center glass panel for dark surfaces (slightly more opaque to read on dark)
159
+ "--tiger-chart-donut-center-bg": "color-mix(in oklab, var(--tiger-surface, #0f172a) 70%, transparent)"
160
+ };
161
+ var MODERN_REDUCED_MOTION_TOKENS = {
162
+ "--tiger-motion-duration-instant": "0ms",
163
+ "--tiger-motion-duration-quick": "0ms",
164
+ "--tiger-motion-duration-base": "0ms",
165
+ "--tiger-motion-duration-relaxed": "0ms",
166
+ "--tiger-motion-duration-slow": "0ms",
167
+ "--tiger-transition-base": "all 0ms linear",
168
+ "--tiger-transition-quick": "all 0ms linear",
169
+ "--tiger-transition-emphasized": "transform 0ms linear"
170
+ };
171
+
172
+ // src/tailwind-plugin.ts
173
+ var tigercatTheme = {
174
+ // Primary
175
+ "--tiger-primary": "#2563eb",
176
+ "--tiger-primary-hover": "#1d4ed8",
177
+ "--tiger-primary-active": "#1e40af",
178
+ "--tiger-primary-disabled": "#93c5fd",
179
+ // Secondary
180
+ "--tiger-secondary": "#4b5563",
181
+ "--tiger-secondary-hover": "#374151",
182
+ "--tiger-secondary-active": "#1f2937",
183
+ "--tiger-secondary-disabled": "#9ca3af",
184
+ // Background hover states
185
+ "--tiger-outline-bg-hover": "#eff6ff",
186
+ "--tiger-ghost-bg-hover": "#eff6ff",
187
+ // Interaction
188
+ "--tiger-focus-ring": "#2563eb",
189
+ // Surface & background
190
+ "--tiger-surface": "#ffffff",
191
+ "--tiger-surface-muted": "#f9fafb",
192
+ "--tiger-surface-raised": "#ffffff",
193
+ // Text
194
+ "--tiger-text": "#111827",
195
+ "--tiger-text-secondary": "#6b7280",
196
+ "--tiger-text-disabled": "#d1d5db",
197
+ // Border
198
+ "--tiger-border": "#e5e7eb",
199
+ "--tiger-border-strong": "#9ca3af",
200
+ // Status
201
+ "--tiger-success": "#16a34a",
202
+ "--tiger-warning": "#d97706",
203
+ "--tiger-error": "#dc2626",
204
+ "--tiger-info": "#3b82f6",
205
+ // Chart palette
206
+ "--tiger-chart-1": "#2563eb",
207
+ "--tiger-chart-2": "#16a34a",
208
+ "--tiger-chart-3": "#d97706",
209
+ "--tiger-chart-4": "#a855f7",
210
+ "--tiger-chart-5": "#0ea5e9",
211
+ "--tiger-chart-6": "#ef4444"
212
+ };
213
+ var tigercatDarkTheme = {
214
+ "--tiger-primary": "#60a5fa",
215
+ "--tiger-primary-hover": "#93c5fd",
216
+ "--tiger-primary-active": "#bfdbfe",
217
+ "--tiger-primary-disabled": "#1e40af",
218
+ "--tiger-secondary": "#9ca3af",
219
+ "--tiger-secondary-hover": "#d1d5db",
220
+ "--tiger-secondary-active": "#e5e7eb",
221
+ "--tiger-secondary-disabled": "#4b5563",
222
+ "--tiger-outline-bg-hover": "#1e3a5f",
223
+ "--tiger-ghost-bg-hover": "#1e3a5f",
224
+ "--tiger-focus-ring": "#60a5fa",
225
+ "--tiger-surface": "#111827",
226
+ "--tiger-surface-muted": "#1f2937",
227
+ "--tiger-surface-raised": "#1f2937",
228
+ "--tiger-text": "#f9fafb",
229
+ "--tiger-text-secondary": "#d1d5db",
230
+ "--tiger-text-disabled": "#4b5563",
231
+ "--tiger-border": "#374151",
232
+ "--tiger-border-strong": "#6b7280",
233
+ "--tiger-success": "#4ade80",
234
+ "--tiger-warning": "#fbbf24",
235
+ "--tiger-error": "#f87171",
236
+ "--tiger-info": "#60a5fa",
237
+ "--tiger-chart-1": "#60a5fa",
238
+ "--tiger-chart-2": "#4ade80",
239
+ "--tiger-chart-3": "#fbbf24",
240
+ "--tiger-chart-4": "#c084fc",
241
+ "--tiger-chart-5": "#38bdf8",
242
+ "--tiger-chart-6": "#f87171"
243
+ };
244
+ var tigercatDirectionBase = {
245
+ '[dir="rtl"] .tiger-rtl-mirror, [data-tiger-dir="rtl"] .tiger-rtl-mirror': {
246
+ transform: "scaleX(-1)"
247
+ },
248
+ '[dir="rtl"] .tiger-text-start, [data-tiger-dir="rtl"] .tiger-text-start': {
249
+ textAlign: "right"
250
+ },
251
+ '[dir="rtl"] .tiger-text-end, [data-tiger-dir="rtl"] .tiger-text-end': {
252
+ textAlign: "left"
253
+ },
254
+ '[dir="rtl"] .tiger-flex-row, [data-tiger-dir="rtl"] .tiger-flex-row': {
255
+ flexDirection: "row-reverse"
256
+ }
257
+ };
258
+ var tigercatReducedMotionBase = {
259
+ "@media (prefers-reduced-motion: reduce)": {
260
+ ':root, [data-tiger-style="modern"]': MODERN_REDUCED_MOTION_TOKENS,
261
+ ".tiger-motion-aware, .tiger-motion-aware::before, .tiger-motion-aware::after, [data-tiger-motion]": {
262
+ animationDuration: "0ms",
263
+ animationDelay: "0ms",
264
+ transitionDuration: "0ms",
265
+ transitionDelay: "0ms",
266
+ scrollBehavior: "auto"
267
+ }
268
+ }
269
+ };
270
+ var tigercatPlugin = plugin(function({ addBase }) {
271
+ addBase({
272
+ ":root": { ...tigercatTheme, ...MODERN_BASE_TOKENS_LIGHT },
273
+ ".dark": { ...tigercatDarkTheme, ...MODERN_BASE_TOKENS_DARK },
274
+ // Remove browser default focus outline on interactive SVG elements
275
+ 'svg [tabindex], svg [role="button"]': {
276
+ outline: "none"
277
+ },
278
+ ...tigercatDirectionBase,
279
+ ...tigercatReducedMotionBase
280
+ });
281
+ });
282
+ function presetToVars(colors) {
283
+ const vars = {};
284
+ for (const [key, value] of Object.entries(colors)) {
285
+ const varName = THEME_CSS_VARS[key];
286
+ if (varName && value) {
287
+ vars[varName] = value;
288
+ }
289
+ }
290
+ return vars;
291
+ }
292
+ function createTigercatPlugin(options = {}) {
293
+ return plugin(function({ addBase }) {
294
+ const preset = options.preset;
295
+ const lightVars = preset?.light?.colors ? presetToVars(preset.light.colors) : tigercatTheme;
296
+ const darkVars = preset?.dark?.colors ? presetToVars(preset.dark.colors) : tigercatDarkTheme;
297
+ addBase({
298
+ ":root": { ...lightVars, ...MODERN_BASE_TOKENS_LIGHT },
299
+ ".dark": { ...darkVars, ...MODERN_BASE_TOKENS_DARK },
300
+ 'svg [tabindex], svg [role="button"]': {
301
+ outline: "none"
302
+ },
303
+ ...tigercatDirectionBase,
304
+ ...tigercatReducedMotionBase
305
+ });
306
+ if (options.modern) {
307
+ addBase({
308
+ '[data-tiger-style="modern"]': MODERN_OVERRIDE_TOKENS_LIGHT,
309
+ '.dark[data-tiger-style="modern"], [data-tiger-style="modern"].dark': MODERN_OVERRIDE_TOKENS_DARK
310
+ });
311
+ }
312
+ });
313
+ }
314
+
315
+ // src/tailwind-entry-modern.ts
316
+ var modernPlugin = createTigercatPlugin({ modern: true });
317
+ var tailwind_entry_modern_default = modernPlugin;
318
+ export {
319
+ tailwind_entry_modern_default as default
320
+ };
@@ -0,0 +1,218 @@
1
+ import { P as PluginWithConfig } from './types-CJYAW1ql.d-DDBFn6KB.js';
2
+
3
+ /**
4
+ * Theme configuration types for Tigercat Design System
5
+ *
6
+ * Three-level structure:
7
+ * - ThemeColorScale: primitive color palette (50–950 shades)
8
+ * - ThemeSemanticColors: semantic mappings (primary, surface, text, border, status)
9
+ * - ThemeConfig: full configuration (colors + typography + radius + shadows + spacing)
10
+ *
11
+ * @module types/theme
12
+ * @since 0.7.0
13
+ */
14
+ /**
15
+ * A 10-step color shade scale (Tailwind-compatible).
16
+ * Shade 900 is optional since tokens.json uses 950 only.
17
+ */
18
+ interface ThemeColorScale {
19
+ 50: string;
20
+ 100: string;
21
+ 200: string;
22
+ 300: string;
23
+ 400: string;
24
+ 500: string;
25
+ 600: string;
26
+ 700: string;
27
+ 800: string;
28
+ 900?: string;
29
+ 950: string;
30
+ }
31
+ /** Colors for a single interactive/status hue (light **and** dark) */
32
+ interface ThemeSemanticColors {
33
+ /** Core interactive colors */
34
+ primary: string;
35
+ primaryHover: string;
36
+ primaryActive: string;
37
+ primaryDisabled: string;
38
+ secondary: string;
39
+ secondaryHover: string;
40
+ secondaryActive: string;
41
+ secondaryDisabled: string;
42
+ /** Button-specific hover backgrounds */
43
+ outlineBgHover: string;
44
+ ghostBgHover: string;
45
+ /** Focus ring color */
46
+ focusRing: string;
47
+ /** Surface / background */
48
+ surface: string;
49
+ surfaceMuted: string;
50
+ surfaceRaised: string;
51
+ /** Text */
52
+ text: string;
53
+ textSecondary: string;
54
+ textDisabled: string;
55
+ /** Border */
56
+ border: string;
57
+ borderStrong: string;
58
+ /** Status (semantic) */
59
+ success: string;
60
+ warning: string;
61
+ error: string;
62
+ info: string;
63
+ /** Chart palette (6 colors) */
64
+ chart1: string;
65
+ chart2: string;
66
+ chart3: string;
67
+ chart4: string;
68
+ chart5: string;
69
+ chart6: string;
70
+ }
71
+ interface ThemeTypography {
72
+ fontFamily: string;
73
+ fontFamilyMono: string;
74
+ fontSizeBase: string;
75
+ fontSizeSm: string;
76
+ fontSizeLg: string;
77
+ fontWeightNormal: string;
78
+ fontWeightMedium: string;
79
+ fontWeightSemibold: string;
80
+ fontWeightBold: string;
81
+ lineHeightNormal: string;
82
+ lineHeightTight: string;
83
+ }
84
+ interface ThemeRadius {
85
+ none: string;
86
+ sm: string;
87
+ md: string;
88
+ lg: string;
89
+ xl: string;
90
+ full: string;
91
+ }
92
+ interface ThemeShadows {
93
+ xs: string;
94
+ sm: string;
95
+ md: string;
96
+ lg: string;
97
+ xl: string;
98
+ }
99
+ interface ThemeSpacing {
100
+ xs: string;
101
+ sm: string;
102
+ md: string;
103
+ lg: string;
104
+ xl: string;
105
+ }
106
+ interface ThemeMotion {
107
+ durationFast: string;
108
+ durationBase: string;
109
+ durationSlow: string;
110
+ easing: string;
111
+ }
112
+ /**
113
+ * Complete theme configuration.
114
+ * All sections are optional — missing values fall back to the default theme.
115
+ */
116
+ interface ThemeConfig {
117
+ colors?: Partial<ThemeSemanticColors>;
118
+ typography?: Partial<ThemeTypography>;
119
+ radius?: Partial<ThemeRadius>;
120
+ shadows?: Partial<ThemeShadows>;
121
+ spacing?: Partial<ThemeSpacing>;
122
+ motion?: Partial<ThemeMotion>;
123
+ }
124
+ /** Name of a built-in preset theme */
125
+ type ThemePresetName = 'default' | 'vibrant' | 'professional' | 'minimal' | 'natural' | 'modern' | 'high-contrast';
126
+ /**
127
+ * A fully defined preset theme.
128
+ * Both `light` and `dark` are required; they will be merged with defaults at runtime.
129
+ */
130
+ interface ThemePreset {
131
+ name: ThemePresetName | string;
132
+ label: string;
133
+ light: ThemeConfig;
134
+ dark: ThemeConfig;
135
+ }
136
+ /** Controls which colour scheme the ThemeManager applies */
137
+ type ColorScheme = 'light' | 'dark' | 'auto';
138
+
139
+ /**
140
+ * Default theme colors for Tigercat
141
+ */
142
+ declare const tigercatTheme: {
143
+ '--tiger-primary': string;
144
+ '--tiger-primary-hover': string;
145
+ '--tiger-primary-active': string;
146
+ '--tiger-primary-disabled': string;
147
+ '--tiger-secondary': string;
148
+ '--tiger-secondary-hover': string;
149
+ '--tiger-secondary-active': string;
150
+ '--tiger-secondary-disabled': string;
151
+ '--tiger-outline-bg-hover': string;
152
+ '--tiger-ghost-bg-hover': string;
153
+ '--tiger-focus-ring': string;
154
+ '--tiger-surface': string;
155
+ '--tiger-surface-muted': string;
156
+ '--tiger-surface-raised': string;
157
+ '--tiger-text': string;
158
+ '--tiger-text-secondary': string;
159
+ '--tiger-text-disabled': string;
160
+ '--tiger-border': string;
161
+ '--tiger-border-strong': string;
162
+ '--tiger-success': string;
163
+ '--tiger-warning': string;
164
+ '--tiger-error': string;
165
+ '--tiger-info': string;
166
+ '--tiger-chart-1': string;
167
+ '--tiger-chart-2': string;
168
+ '--tiger-chart-3': string;
169
+ '--tiger-chart-4': string;
170
+ '--tiger-chart-5': string;
171
+ '--tiger-chart-6': string;
172
+ };
173
+ /**
174
+ * Dark mode theme overrides
175
+ */
176
+ declare const tigercatDarkTheme: Record<string, string>;
177
+ /**
178
+ * Tailwind CSS plugin for Tigercat
179
+ * Injects the default CSS variables into the root scope
180
+ */
181
+ declare const tigercatPlugin: PluginWithConfig;
182
+ interface TigercatPluginOptions {
183
+ /** A ThemePreset object to use instead of the built-in default */
184
+ preset?: ThemePreset;
185
+ /**
186
+ * Enable the opt-in "modern" token layer.
187
+ *
188
+ * When `true`, the plugin emits `[data-tiger-style="modern"]` (and the
189
+ * dark counterpart) blocks that override radius / shadow / glass /
190
+ * gradient / motion tokens with the modern values, plus a
191
+ * `prefers-reduced-motion` rule that collapses motion durations.
192
+ *
193
+ * Activate it on a page by setting `data-tiger-style="modern"` on `<html>`
194
+ * or any ancestor element of your Tigercat tree.
195
+ *
196
+ * @default false
197
+ */
198
+ modern?: boolean;
199
+ }
200
+ /**
201
+ * Configurable Tailwind CSS plugin for Tigercat.
202
+ *
203
+ * @example
204
+ * ```ts
205
+ * import { createTigercatPlugin, vibrantTheme, modernTheme } from '@expcat/tigercat-core'
206
+ *
207
+ * export default {
208
+ * plugins: [
209
+ * createTigercatPlugin({ preset: vibrantTheme }),
210
+ * // or enable the modern visual style:
211
+ * createTigercatPlugin({ preset: modernTheme, modern: true })
212
+ * ]
213
+ * }
214
+ * ```
215
+ */
216
+ declare function createTigercatPlugin(options?: TigercatPluginOptions): PluginWithConfig;
217
+
218
+ export { type ColorScheme as C, type ThemePreset as T, type ThemeColorScale as a, type ThemeSemanticColors as b, type ThemeTypography as c, type ThemeRadius as d, type ThemeShadows as e, type ThemeSpacing as f, type ThemeMotion as g, type ThemeConfig as h, type ThemePresetName as i, tigercatDarkTheme as j, tigercatPlugin as k, type TigercatPluginOptions as l, createTigercatPlugin as m, tigercatTheme as t };