@ttt-productions/theme-core 0.1.1 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @ttt-productions/theme-core
2
2
 
3
- Shared theme provider + CSS token contract.
3
+ Theme provider + CSS token contract for TTT Productions apps.
4
4
 
5
5
  ## Install
6
6
  ```bash
@@ -1,3 +1,3 @@
1
- export declare const REQUIRED_TOKENS: readonly ["--brand-primary", "--brand-secondary", "--brand-accent", "--status-success", "--status-warning", "--status-error", "--neutral-white", "--neutral-black"];
1
+ export declare const REQUIRED_TOKENS: readonly ["--brand-primary", "--brand-secondary", "--brand-accent"];
2
2
  export type RequiredToken = (typeof REQUIRED_TOKENS)[number];
3
3
  //# sourceMappingURL=required-tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"required-tokens.d.ts","sourceRoot":"","sources":["../src/required-tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,qKAWhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"required-tokens.d.ts","sourceRoot":"","sources":["../src/required-tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,qEAIlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -2,10 +2,5 @@ export const REQUIRED_TOKENS = [
2
2
  "--brand-primary",
3
3
  "--brand-secondary",
4
4
  "--brand-accent",
5
- "--status-success",
6
- "--status-warning",
7
- "--status-error",
8
- "--neutral-white",
9
- "--neutral-black"
10
5
  ];
11
6
  //# sourceMappingURL=required-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"required-tokens.js","sourceRoot":"","sources":["../src/required-tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAEhB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAEhB,iBAAiB;IACjB,iBAAiB;CACT,CAAC"}
1
+ {"version":3,"file":"required-tokens.js","sourceRoot":"","sources":["../src/required-tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;CACR,CAAC"}
@@ -0,0 +1,333 @@
1
+ @layer components {
2
+ /* ===================
3
+ LAYOUT / CARDS
4
+ =================== */
5
+ .page-container {
6
+ @apply flex-1 w-full mx-auto py-4;
7
+ }
8
+
9
+ .page-card {
10
+ @apply w-full bg-card text-card-foreground shadow-xl rounded-lg border-2 border-border;
11
+ }
12
+
13
+ .page-card-header {
14
+ @apply text-center p-4 sm:p-6;
15
+ }
16
+
17
+ .page-card-title {
18
+ @apply text-3xl font-bold text-foreground;
19
+ }
20
+
21
+ .page-card-content {
22
+ @apply px-2 sm:px-6 pb-4;
23
+ }
24
+
25
+ .inner-card-container {
26
+ @apply px-4 py-2;
27
+ }
28
+
29
+ /* ===================
30
+ TEXT UTILITIES
31
+ =================== */
32
+ .card-title {
33
+ color: hsl(var(--foreground));
34
+ }
35
+
36
+ .card-description {
37
+ @apply text-sm font-bold;
38
+ color: hsl(var(--muted-foreground));
39
+ }
40
+
41
+ .input-description {
42
+ @apply text-xs;
43
+ color: hsl(var(--muted-foreground));
44
+ }
45
+
46
+ .disclaimer-text {
47
+ @apply text-sm font-bold text-center;
48
+ color: hsl(var(--muted-foreground));
49
+ }
50
+
51
+ .text-small {
52
+ @apply text-sm font-bold;
53
+ color: hsl(var(--foreground));
54
+ }
55
+
56
+ .text-xs-bold {
57
+ @apply text-xs font-bold;
58
+ color: hsl(var(--foreground));
59
+ }
60
+
61
+ .text-label {
62
+ @apply font-bold;
63
+ color: hsl(var(--foreground));
64
+ }
65
+
66
+ .text-counter {
67
+ @apply text-sm font-bold;
68
+ color: hsl(var(--muted-foreground));
69
+ }
70
+
71
+ .empty-state-text {
72
+ @apply text-center py-8 font-bold;
73
+ color: hsl(var(--muted-foreground));
74
+ }
75
+
76
+ /* ===================
77
+ LINKS
78
+ =================== */
79
+ .auth-link {
80
+ @apply text-sm underline font-semibold;
81
+ color: hsl(var(--primary));
82
+ }
83
+
84
+ /* ===================
85
+ POPOVERS
86
+ =================== */
87
+ .app-popover {
88
+ @apply w-80 p-2 border-2;
89
+ background-color: hsl(var(--card));
90
+ border-color: hsl(var(--border));
91
+ color: hsl(var(--card-foreground));
92
+ }
93
+
94
+ /* ===================
95
+ ALERT DIALOGS
96
+ =================== */
97
+ .alert-dialog-overlay {
98
+ background-color: rgba(0, 0, 0, 0.8);
99
+ }
100
+
101
+ .alert-dialog-content {
102
+ background-color: hsl(var(--card)) !important;
103
+ border-color: hsl(var(--border)) !important;
104
+ color: hsl(var(--card-foreground)) !important;
105
+ @apply border-2;
106
+ }
107
+
108
+ .alert-dialog-title {
109
+ color: hsl(var(--foreground)) !important;
110
+ }
111
+
112
+ .alert-dialog-description {
113
+ color: hsl(var(--muted-foreground)) !important;
114
+ @apply font-bold;
115
+ }
116
+
117
+ /* ===================
118
+ SELECTS (GENERIC)
119
+ =================== */
120
+ .form-select-trigger {
121
+ @apply font-semibold rounded-xl h-11 px-4 shadow-sm border-2;
122
+ background-color: hsl(var(--background));
123
+ border-color: hsl(var(--border)) !important;
124
+ color: hsl(var(--foreground));
125
+ }
126
+
127
+ /* ===================
128
+ FILTER & SORT (GENERIC)
129
+ =================== */
130
+ .filter-select-trigger,
131
+ .sort-select-trigger {
132
+ @apply w-full sm:w-auto rounded-xl h-11 px-4 font-bold shadow-sm border-2;
133
+ background-color: hsl(var(--primary));
134
+ border-color: hsl(var(--border));
135
+ color: hsl(var(--primary-foreground));
136
+ }
137
+
138
+ .filter-select-content,
139
+ .sort-select-content {
140
+ background-color: hsl(var(--popover));
141
+ border-color: hsl(var(--border));
142
+ color: hsl(var(--popover-foreground));
143
+ }
144
+
145
+ .filter-select-item,
146
+ .sort-select-item {
147
+ @apply font-bold;
148
+ color: hsl(var(--foreground));
149
+ }
150
+
151
+ .filter-select-item:hover,
152
+ .sort-select-item:hover {
153
+ background-color: hsl(var(--accent));
154
+ color: hsl(var(--accent-foreground));
155
+ }
156
+
157
+ /* High contrast behavior */
158
+ .high-contrast .filter-select-trigger,
159
+ .high-contrast .sort-select-trigger {
160
+ background-color: hsl(var(--background));
161
+ border-color: hsl(var(--border));
162
+ color: hsl(var(--foreground));
163
+ }
164
+
165
+ .high-contrast .filter-select-content,
166
+ .high-contrast .sort-select-content {
167
+ background-color: hsl(var(--background));
168
+ border-color: hsl(var(--border));
169
+ color: hsl(var(--foreground));
170
+ }
171
+
172
+ .high-contrast .filter-select-item:hover,
173
+ .high-contrast .sort-select-item:hover {
174
+ background-color: hsl(var(--foreground));
175
+ color: hsl(var(--background));
176
+ }
177
+
178
+ /* ===================
179
+ VIEW TOGGLE (GENERIC)
180
+ =================== */
181
+ .view-toggle-container {
182
+ @apply flex items-center p-1 rounded-xl border-2 shadow-sm;
183
+ background-color: hsl(var(--muted));
184
+ border-color: hsl(var(--border));
185
+ }
186
+
187
+ .view-toggle-button {
188
+ @apply rounded-lg h-8 w-8;
189
+ color: hsl(var(--foreground));
190
+ }
191
+
192
+ /* ===================
193
+ DATE PICKER (GENERIC)
194
+ =================== */
195
+ .date-picker-popover {
196
+ background-color: hsl(var(--card)) !important;
197
+ border-color: hsl(var(--border)) !important;
198
+ color: hsl(var(--card-foreground)) !important;
199
+ @apply border-2;
200
+ }
201
+
202
+ .date-picker-caption {
203
+ color: hsl(var(--foreground)) !important;
204
+ }
205
+
206
+ .date-picker-day-label {
207
+ color: hsl(var(--muted-foreground)) !important;
208
+ @apply font-bold text-center;
209
+ }
210
+
211
+ .date-picker-day {
212
+ color: hsl(var(--foreground)) !important;
213
+ @apply font-semibold;
214
+ }
215
+
216
+ .date-picker-day-today {
217
+ background-color: hsl(var(--accent)) !important;
218
+ color: hsl(var(--accent-foreground)) !important;
219
+ @apply font-bold;
220
+ }
221
+
222
+ .date-picker-day-selected {
223
+ background-color: hsl(var(--primary)) !important;
224
+ color: hsl(var(--primary-foreground)) !important;
225
+ @apply font-bold;
226
+ }
227
+
228
+ .date-picker-day:hover {
229
+ background-color: hsl(var(--primary) / 0.12) !important;
230
+ color: hsl(var(--foreground)) !important;
231
+ }
232
+
233
+ .date-picker-day-disabled {
234
+ opacity: 0.3;
235
+ cursor: not-allowed;
236
+ }
237
+
238
+ .date-picker-nav-button {
239
+ background-color: hsl(var(--primary)) !important;
240
+ color: hsl(var(--primary-foreground)) !important;
241
+ border: none !important;
242
+ }
243
+
244
+ .high-contrast .date-picker-nav-button {
245
+ border: 2px solid hsl(var(--border)) !important;
246
+ }
247
+
248
+ /* ===================
249
+ TOAST (Radix/shadcn-friendly)
250
+ =================== */
251
+ .toast-viewport {
252
+ @apply fixed bottom-0 right-0 z-50 flex max-h-screen w-full flex-col p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px];
253
+ }
254
+
255
+ .toast-root {
256
+ @apply relative overflow-hidden rounded-lg border-2 p-4 shadow-lg;
257
+ background-color: hsl(var(--card));
258
+ border-color: hsl(var(--border));
259
+ color: hsl(var(--card-foreground));
260
+ }
261
+
262
+ .toast-root[data-variant="success"] {
263
+ border-color: hsl(var(--success));
264
+ }
265
+
266
+ .toast-root[data-variant="warning"] {
267
+ border-color: hsl(var(--warning));
268
+ }
269
+
270
+ .toast-root[data-variant="error"],
271
+ .toast-root[data-variant="destructive"] {
272
+ border-color: hsl(var(--destructive));
273
+ }
274
+
275
+ .toast-dismiss {
276
+ @apply absolute right-2 top-2 inline-flex h-8 w-8 items-center justify-center rounded-md text-sm font-bold;
277
+ background-color: transparent;
278
+ color: hsl(var(--muted-foreground));
279
+ }
280
+
281
+ .toast-dismiss:hover,
282
+ .toast-dismiss:focus-visible {
283
+ background-color: hsl(var(--accent));
284
+ color: hsl(var(--accent-foreground));
285
+ }
286
+
287
+ /* countdown bar (uses --toast-duration; can be overridden per-toast) */
288
+ .toast-progress {
289
+ @apply absolute bottom-0 left-0 h-1 w-full;
290
+ background-color: hsl(var(--foreground));
291
+ transform-origin: left center;
292
+ animation: toast-life var(--toast-duration) linear forwards;
293
+ opacity: 0.35;
294
+ }
295
+
296
+ .high-contrast .toast-progress {
297
+ opacity: 1;
298
+ }
299
+ }
300
+
301
+ /* Radix swipe support (works if toast root is Radix Toast.Root) */
302
+ [data-swipe="move"] {
303
+ transform: translateX(var(--radix-toast-swipe-move-x));
304
+ }
305
+
306
+ [data-swipe="cancel"] {
307
+ transform: translateX(0);
308
+ transition: transform 200ms ease-out;
309
+ }
310
+
311
+ [data-swipe="end"] {
312
+ animation: toast-swipe-out 120ms ease-out forwards;
313
+ }
314
+
315
+ @keyframes toast-life {
316
+ from {
317
+ transform: scaleX(1);
318
+ }
319
+ to {
320
+ transform: scaleX(0);
321
+ }
322
+ }
323
+
324
+ @keyframes toast-swipe-out {
325
+ from {
326
+ transform: translateX(var(--radix-toast-swipe-end-x));
327
+ opacity: 1;
328
+ }
329
+ to {
330
+ transform: translateX(calc(var(--radix-toast-swipe-end-x) * 1.2));
331
+ opacity: 0;
332
+ }
333
+ }
@@ -1,27 +1,37 @@
1
1
  @layer base {
2
- :root {
3
- /* Loud fallbacks: if you see this color, app did not define required brand contract */
4
- --brand-primary: 999 100% 50%;
5
- --brand-secondary: 999 100% 50%;
6
- --brand-accent: 999 100% 50%;
7
-
8
- --status-success: 999 100% 50%;
9
- --status-warning: 999 100% 50%;
10
- --status-error: 999 100% 50%;
11
-
12
- --neutral-white: 0 0% 100%;
13
- --neutral-black: 0 0% 0%;
14
- }
15
-
16
- /* High contrast must be pure B/W: override brand tokens too (prevents bleed) */
17
- .high-contrast {
18
- --brand-primary: 0 0% 0%;
19
- --brand-secondary: 0 0% 0%;
20
- --brand-accent: 0 0% 100%;
21
-
22
- --status-success: 0 0% 0%;
23
- --status-warning: 0 0% 0%;
24
- --status-error: 0 0% 0%;
25
- }
2
+ :root {
3
+ /* Loud fallbacks: if you see this color, the app did not define required brand contract */
4
+ --brand-primary: 999 100% 50%;
5
+ --brand-secondary: 999 100% 50%;
6
+ --brand-accent: 999 100% 50%;
7
+
8
+ /* Always-available neutrals (theme-core owned) */
9
+ --neutral-white: 0 0% 100%;
10
+ --neutral-black: 0 0% 0%;
11
+
12
+ /* OPTIONAL status colors (apps can override) */
13
+ --color-for-success: 142 71% 45%;
14
+ --color-for-warning: 38 92% 50%;
15
+ --color-for-error: 0 84% 60%;
16
+
17
+ /* Mapped status tokens used by theme-core */
18
+ --status-success: var(--color-for-success);
19
+ --status-warning: var(--color-for-warning);
20
+ --status-error: var(--color-for-error);
26
21
  }
27
-
22
+
23
+ /* High contrast must be pure B/W (prevents bleed from any app colors) */
24
+ .high-contrast {
25
+ --brand-primary: 0 0% 0%;
26
+ --brand-secondary: 0 0% 0%;
27
+ --brand-accent: 0 0% 100%;
28
+
29
+ --color-for-success: 0 0% 0%;
30
+ --color-for-warning: 0 0% 0%;
31
+ --color-for-error: 0 0% 0%;
32
+
33
+ --status-success: 0 0% 0%;
34
+ --status-warning: 0 0% 0%;
35
+ --status-error: 0 0% 0%;
36
+ }
37
+ }
@@ -1,3 +1,4 @@
1
1
  @import "./contract.css";
2
2
  @import "./tokens.css";
3
3
  @import "./base.css";
4
+ /* components.css is a separate entrypoint: @ttt-productions/theme-core/components.css */
@@ -1,82 +1,110 @@
1
1
  @layer base {
2
- :root {
3
- /* Semantic tokens (default = light) */
4
- --background: var(--neutral-white);
5
- --foreground: var(--neutral-black);
6
-
7
- --card: var(--neutral-white);
8
- --card-foreground: var(--neutral-black);
9
-
10
- --popover: var(--neutral-white);
11
- --popover-foreground: var(--neutral-black);
12
-
13
- --muted: 0 0% 95%;
14
- --muted-foreground: var(--neutral-black);
15
-
16
- --accent: var(--brand-accent);
17
- --accent-foreground: var(--neutral-black);
18
-
19
- --primary: var(--brand-primary);
20
- --primary-foreground: var(--neutral-white);
21
-
22
- --secondary: var(--brand-secondary);
23
- --secondary-foreground: var(--neutral-white);
24
-
25
- --destructive: var(--status-error);
26
- --destructive-foreground: var(--neutral-white);
27
-
28
- --border: var(--brand-primary);
29
- --ring: var(--brand-primary);
30
-
31
- --radius: 1rem;
32
- }
33
-
34
- .dark {
35
- /* Keep semantic token mapping; apps can override brand tokens per-mode if they want */
36
- --background: 240 6% 10%;
37
- --foreground: 0 0% 100%;
38
-
39
- --card: 240 6% 12%;
40
- --card-foreground: 0 0% 100%;
41
-
42
- --popover: 240 6% 12%;
43
- --popover-foreground: 0 0% 100%;
44
-
45
- --muted: 240 4% 20%;
46
- --muted-foreground: 0 0% 100%;
47
-
48
- --border: 0 0% 100%;
49
- --ring: 0 0% 100%;
50
- }
51
-
52
- .high-contrast {
53
- /* You already had this approach in master-app and it’s correct: pure B/W semantic tokens */
54
- --background: 0 0% 0%;
55
- --foreground: 0 0% 100%;
56
-
57
- --card: 0 0% 0%;
58
- --card-foreground: 0 0% 100%;
59
-
60
- --popover: 0 0% 0%;
61
- --popover-foreground: 0 0% 100%;
62
-
63
- --muted: 0 0% 0%;
64
- --muted-foreground: 0 0% 100%;
65
-
66
- --accent: 0 0% 0%;
67
- --accent-foreground: 0 0% 100%;
68
-
69
- --primary: 0 0% 100%;
70
- --primary-foreground: 0 0% 0%;
71
-
72
- --secondary: 0 0% 100%;
73
- --secondary-foreground: 0 0% 0%;
74
-
75
- --destructive: 0 0% 100%;
76
- --destructive-foreground: 0 0% 0%;
77
-
78
- --border: 0 0% 100%;
79
- --ring: 0 0% 100%;
80
- }
2
+ :root {
3
+ /* Semantic tokens (default = light) */
4
+ --background: var(--neutral-white);
5
+ --foreground: var(--neutral-black);
6
+
7
+ --card: var(--neutral-white);
8
+ --card-foreground: var(--neutral-black);
9
+
10
+ --popover: var(--neutral-white);
11
+ --popover-foreground: var(--neutral-black);
12
+
13
+ --muted: 0 0% 95%;
14
+ --muted-foreground: var(--neutral-black);
15
+
16
+ --accent: var(--brand-accent);
17
+ --accent-foreground: var(--neutral-black);
18
+
19
+ --primary: var(--brand-primary);
20
+ --primary-foreground: var(--neutral-white);
21
+
22
+ --secondary: var(--brand-secondary);
23
+ --secondary-foreground: var(--neutral-white);
24
+
25
+ /* canonical shadcn name */
26
+ --destructive: var(--status-error);
27
+ --destructive-foreground: var(--neutral-white);
28
+
29
+ /* extra semantic status tokens */
30
+ --success: var(--status-success);
31
+ --success-foreground: var(--neutral-white);
32
+
33
+ --warning: var(--status-warning);
34
+ --warning-foreground: var(--neutral-black);
35
+
36
+ --error: var(--status-error);
37
+ --error-foreground: var(--neutral-white);
38
+
39
+ --border: var(--brand-primary);
40
+ --ring: var(--brand-primary);
41
+
42
+ --radius: 1rem;
43
+
44
+ /* toast defaults (overridable per-toast via inline CSS var) */
45
+ --toast-duration: 5000ms;
81
46
  }
82
-
47
+
48
+ .dark {
49
+ /* Keep semantic token mapping; apps can override brand tokens per-mode if they want */
50
+ --background: 240 6% 10%;
51
+ --foreground: 0 0% 100%;
52
+
53
+ --card: 240 6% 12%;
54
+ --card-foreground: 0 0% 100%;
55
+
56
+ --popover: 240 6% 12%;
57
+ --popover-foreground: 0 0% 100%;
58
+
59
+ --muted: 240 4% 20%;
60
+ --muted-foreground: 0 0% 100%;
61
+
62
+ --border: 0 0% 100%;
63
+ --ring: 0 0% 100%;
64
+
65
+ /* status foregrounds in dark */
66
+ --destructive-foreground: 0 0% 100%;
67
+ --success-foreground: 0 0% 100%;
68
+ --warning-foreground: 0 0% 0%;
69
+ --error-foreground: 0 0% 100%;
70
+ }
71
+
72
+ .high-contrast {
73
+ /* Pure B/W semantic tokens */
74
+ --background: 0 0% 0%;
75
+ --foreground: 0 0% 100%;
76
+
77
+ --card: 0 0% 0%;
78
+ --card-foreground: 0 0% 100%;
79
+
80
+ --popover: 0 0% 0%;
81
+ --popover-foreground: 0 0% 100%;
82
+
83
+ --muted: 0 0% 0%;
84
+ --muted-foreground: 0 0% 100%;
85
+
86
+ --accent: 0 0% 0%;
87
+ --accent-foreground: 0 0% 100%;
88
+
89
+ --primary: 0 0% 100%;
90
+ --primary-foreground: 0 0% 0%;
91
+
92
+ --secondary: 0 0% 100%;
93
+ --secondary-foreground: 0 0% 0%;
94
+
95
+ --destructive: 0 0% 100%;
96
+ --destructive-foreground: 0 0% 0%;
97
+
98
+ --success: 0 0% 100%;
99
+ --success-foreground: 0 0% 0%;
100
+
101
+ --warning: 0 0% 100%;
102
+ --warning-foreground: 0 0% 0%;
103
+
104
+ --error: 0 0% 100%;
105
+ --error-foreground: 0 0% 0%;
106
+
107
+ --border: 0 0% 100%;
108
+ --ring: 0 0% 100%;
109
+ }
110
+ }
@@ -15,7 +15,7 @@ function warnMissingTokens() {
15
15
  console.warn(`[theme-core] Missing/invalid required theme tokens.\n` +
16
16
  (missing.length ? `Missing: ${missing.join(", ")}\n` : "") +
17
17
  (loud.length ? `Still using loud fallbacks: ${loud.join(", ")}\n` : "") +
18
- `Define these in the consuming app (brand contract).`);
18
+ `Define these in the consuming app (brand contract)`);
19
19
  }
20
20
  }
21
21
  export function ThemeProvider({ children }) {
@@ -1 +1 @@
1
- {"version":3,"file":"theme-provider.js","sourceRoot":"","sources":["../src/theme-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,SAAS,iBAAiB;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;IACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAEhG,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,uDAAuD;YACrD,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,qDAAqD,CACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAiC;IACvE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAAE,iBAAiB,EAAE,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,kBAAkB,IACjB,SAAS,EAAC,OAAO,EACjB,YAAY,EAAC,QAAQ,EACrB,YAAY,QACZ,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,YAEzC,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"theme-provider.js","sourceRoot":"","sources":["../src/theme-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,SAAS,iBAAiB;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;IACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAEhG,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,uDAAuD;YACrD,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,oDAAoD,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAiC;IACvE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAAE,iBAAiB,EAAE,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,kBAAkB,IACjB,SAAS,EAAC,OAAO,EACjB,YAAY,EAAC,QAAQ,EACrB,YAAY,QACZ,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,YAEzC,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttt-productions/theme-core",
3
- "version": "0.1.1",
3
+ "version": "0.1.19",
4
4
  "description": "Theme provider + CSS token contract for TTT Productions apps",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -13,7 +13,8 @@
13
13
  "types": "./dist/index.d.ts",
14
14
  "default": "./dist/index.js"
15
15
  },
16
- "./styles.css": "./dist/styles/index.css"
16
+ "./styles.css": "./dist/styles/index.css",
17
+ "./components.css": "./dist/styles/components.css"
17
18
  },
18
19
  "scripts": {
19
20
  "build": "tsc && rm -rf dist/styles && mkdir -p dist/styles && cp -R src/styles/* dist/styles/",
@@ -39,7 +40,10 @@
39
40
  "license": "MIT",
40
41
  "repository": {
41
42
  "type": "git",
42
- "url": "https://github.com/ttt-productions/ttt-packages.git",
43
+ "url": "git+https://github.com/ttt-productions/ttt-packages.git",
43
44
  "directory": "packages/theme-core"
44
- }
45
+ },
46
+ "sideEffects": [
47
+ "**/*.css"
48
+ ]
45
49
  }