@xyd-js/themes 0.0.0-build

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 (41) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +7 -0
  4. package/dist/decorators/atlas-vars.css +29 -0
  5. package/dist/decorators/header-sketch.css +23 -0
  6. package/dist/decorators/page-layout.css +11 -0
  7. package/dist/decorators/page-leftpad.css +46 -0
  8. package/dist/decorators/page-sketch.css +52 -0
  9. package/dist/decorators/sidebar-pad.css +24 -0
  10. package/dist/decorators/sidebar-scroll.css +51 -0
  11. package/dist/index.css +1259 -0
  12. package/dist/index.d.ts +116 -0
  13. package/dist/index.js +669 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/reset.css +56 -0
  16. package/dist/rollup.d.ts +28 -0
  17. package/dist/rollup.js +139 -0
  18. package/dist/rollup.js.map +1 -0
  19. package/package.json +60 -0
  20. package/postcss.config.cjs +7 -0
  21. package/scripts/build-css.js +73 -0
  22. package/src/BaseTheme.tsx +471 -0
  23. package/src/Theme.tsx +363 -0
  24. package/src/context.tsx +9 -0
  25. package/src/copyPresetsPlugin.ts +124 -0
  26. package/src/index.ts +11 -0
  27. package/src/rollup.ts +91 -0
  28. package/src/styles/decorators/atlas-vars.css +32 -0
  29. package/src/styles/decorators/header-sketch.css +23 -0
  30. package/src/styles/decorators/page-layout.css +11 -0
  31. package/src/styles/decorators/page-leftpad.css +46 -0
  32. package/src/styles/decorators/page-sketch.css +30 -0
  33. package/src/styles/decorators/sidebar-pad.css +24 -0
  34. package/src/styles/decorators/sidebar-scroll.css +51 -0
  35. package/src/styles/index.css +26 -0
  36. package/src/styles/reset.css +56 -0
  37. package/src/styles/styles.css +156 -0
  38. package/src/styles/tokens.css +472 -0
  39. package/tsconfig.json +51 -0
  40. package/tsup.config.ts +38 -0
  41. package/types.d.ts +13 -0
@@ -0,0 +1,472 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ }
4
+
5
+ /* Global */
6
+ :root {
7
+ --white: #fff;
8
+ --black: #000;
9
+ --dark8: #f7f7f8;
10
+ --dark16: #f9f9f9;
11
+ --dark32: #ececf1;
12
+ --dark32-rgb: 236, 236, 241;
13
+ --dark40: #c5c5d2;
14
+ --dark48: #6e6e80;
15
+ --dark60: #443a3a;
16
+ --dark80: #111827;
17
+ --dark100: var(--black);
18
+ --shadow: var(--dark16);
19
+ --purple80: #7051d4;
20
+ --purple100: #2e108e;
21
+ --blue16: #e4edff;
22
+ --blue32: #60A5FA;
23
+ --blue80: #1971a8;
24
+ --blue100: #00529b;
25
+ --green32: #d4f5e7;
26
+ --green60: #14c397;
27
+ --green80: #28a745;
28
+ --green100: #00936f;
29
+ --red80: #dc3545;
30
+ --red100: #b91c1c;
31
+ --yellow80: #ffc107;
32
+ --yellow100: #dea806;
33
+
34
+ --color-bg: var(--white);
35
+ --color-text: var(--dark100);
36
+
37
+ --text-primary: var(--color-text);
38
+ --text-secondary: var(--dark80);
39
+ --text-tertiary: var(--dark60);
40
+
41
+ --color-primary: var(--theme-color-primary, var(--purple80));
42
+ --color-primary--active: var(--theme-color-primary-active, var(--purple100));
43
+
44
+ --xyd-gradient-from-position: ;
45
+ --xyd-gradient-to-position: ;
46
+ --xyd-gradient-via-position: ;
47
+ }
48
+
49
+ /* Dark Mode Global */
50
+ [data-color-scheme="dark"] {
51
+ --white: #0e0e10;
52
+ --black: #fff;
53
+ --dark8: #1a1a1a;
54
+ --dark16: #2d2d2d;
55
+ --dark32: #404040;
56
+ --dark32-rgb: 64, 64, 64;
57
+ --dark40: #525252;
58
+ --dark48: #9E9E9E;
59
+ --dark60: #a3a3a3;
60
+ --dark80: #d4d4d4;
61
+ --dark100: var(--black);
62
+ --shadow: #090D0D;
63
+ --purple80: #7051d4;
64
+ --purple100: #2e108e;
65
+ --blue16: #e4edff;
66
+ --blue32: #60A5FA;
67
+ --blue80: #1971a8;
68
+ --blue100: #00529b;
69
+ --green80: #28a745;
70
+ --green100: #108944;
71
+ --red80: #dc3545;
72
+ --red100: #b91c1c;
73
+ --yellow80: #ffc107;
74
+ --yellow100: #dea806;
75
+ --color-bg: var(--white);
76
+ --color-text: var(--dark100);
77
+
78
+ --text-primary: var(--color-text);
79
+ --text-secondary: var(--dark80);
80
+ --text-tertiary: var(--dark60);
81
+
82
+ --color-primary: var(--theme-color-primary, var(--purple80));
83
+ --color-primary--active: var(--theme-color-primary-active, var(--purple100));
84
+
85
+ body {
86
+ color: var(--xyd-text-color--default);
87
+ }
88
+ }
89
+
90
+ /* System Dark Mode Support */
91
+ @media (prefers-color-scheme: dark) {
92
+ :root:not([data-color-scheme="light"]):not([data-color-scheme="dark"]) {
93
+ --white: #0e0e10;
94
+ --black: #fff;
95
+ --dark8: #1a1a1a;
96
+ --dark16: #2d2d2d;
97
+ --dark32: #404040;
98
+ --dark32-rgb: 64, 64, 64;
99
+ --dark40: #525252;
100
+ --dark48: #9E9E9E;
101
+ --dark60: #a3a3a3;
102
+ --dark80: #d4d4d4;
103
+ --dark100: var(--black);
104
+ --shadow: #090D0D;
105
+ --purple80: #7051d4;
106
+ --purple100: #2e108e;
107
+ --blue16: #e4edff;
108
+ --blue32: #60A5FA;
109
+ --blue80: #1971a8;
110
+ --blue100: #00529b;
111
+ --green80: #28a745;
112
+ --green100: #108944;
113
+ --red80: #dc3545;
114
+ --red100: #b91c1c;
115
+ --yellow80: #ffc107;
116
+ --yellow100: #dea806;
117
+
118
+ --color-bg: var(--white);
119
+ --color-text: var(--dark100);
120
+
121
+ --text-primary: var(--color-text);
122
+ --text-secondary: var(--dark80);
123
+ --text-tertiary: var(--dark60);
124
+
125
+ --color-primary: var(--theme-color-primary, var(--purple80));
126
+ --color-primary--active: var(--theme-color-primary-active, var(--purple100));
127
+
128
+ --color-header-border: unset;
129
+ }
130
+
131
+ :root:not([data-color-scheme="light"]):not([data-color-scheme="dark"]) body {
132
+ color: var(--xyd-text-color--default);
133
+ }
134
+ }
135
+
136
+ /* Layout */
137
+ :root {
138
+ --xyd-page-body-bgcolor: var(--color-bg);
139
+ --xyd-layout-header-bgcolor: var(--color-bg);
140
+ --xyd-page-body-color: var(--text-primary);
141
+ --xyd-page-body-color--secondary: var(--dark60);
142
+
143
+ --xyd-page-gutter: 8px;
144
+ --xyd-content-space: 12px;
145
+
146
+ --xyd-sidebar-width: 250px;
147
+ --xyd-sidebar-width--mobile: 250px;
148
+ --xyd-layout-sidebar-bgcolor: var(--color-bg);
149
+
150
+ --xyd-header-total-height: calc(var(--xyd-nav-height) + var(--xyd-subnav-height) + var(--xyd-banner-height-dynamic));
151
+
152
+ --xyd-layout-width-small: 800px;
153
+ --xyd-layout-width-medium: 1000px;
154
+ --xyd-layout-width-large: 1200px;
155
+
156
+ --xyd-layout-nav-width-small: 200px;
157
+ --xyd-layout-nav-width-medium: 256px;
158
+
159
+ --xyd-border-radius-small: 4px;
160
+ --xyd-border-radius-medium: 8px;
161
+ --xyd-border-radius-large: 16px;
162
+ }
163
+
164
+ /* Fonts */
165
+ :root {
166
+ /* Font Sizes */
167
+ --xyd-font-size-xsmall: 12px;
168
+ --xyd-font-size-small: 14px;
169
+ --xyd-font-size-medium: 16px;
170
+ --xyd-font-size-large: 18px;
171
+ --xyd-font-size-xlarge: 22px;
172
+ --xyd-font-size-xxlarge: 26px;
173
+ --xyd-font-size-2xl: 32px;
174
+ --xyd-font-size-3xl: 48px;
175
+
176
+ /* Line Heights */
177
+ --xyd-line-height-xsmall: 16px;
178
+ --xyd-line-height-small: 19px;
179
+ --xyd-line-height-medium: 25px;
180
+ --xyd-line-height-large: 27px;
181
+ --xyd-line-height-xlarge: 33px;
182
+ --xyd-line-height-xxlarge: 39px;
183
+ --xyd-line-height-2xl: 44px;
184
+ --xyd-line-height-3xl: 56px;
185
+
186
+ /* Font Weights */
187
+ --xyd-font-weight-normal: 400;
188
+ --xyd-font-weight-medium: 500;
189
+ --xyd-font-weight-semibold: 600;
190
+ --xyd-font-weight-bold: 700;
191
+ --xyd-font-weight-extrabold: 800;
192
+ --xyd-font-weight-black: 900;
193
+ }
194
+
195
+ /* Media Queries */
196
+ :root {
197
+ /* ////////////// MEDIA QUERIES ////////////// */
198
+ --xyd-mobile-breakpoint: 768px;
199
+ --xyd-tablet-breakpoint: 1024px;
200
+ }
201
+
202
+ /* Transitions */
203
+ :root {
204
+ --xyd-cubic-bezier: cubic-bezier(.65, 0, .35, 1);
205
+
206
+ }
207
+
208
+ /* Sizes */
209
+ :root {
210
+ --xyd-padding-small: 6px;
211
+ --xyd-padding-medium: 10px;
212
+ --xyd-padding-large: 18px;
213
+ --xyd-padding-xlarge: 30px;
214
+ --xyd-padding-xxlarge: 44px;
215
+ }
216
+
217
+ /* Components */
218
+ :root {
219
+ /* Callout */
220
+ --xyd-callout-bgcolor: var(--dark8);
221
+ --xyd-callout-border-color: var(--dark32);
222
+ --xyd-callout-icon-color: var(--dark48);
223
+ --xyd-callout-message-color: var(--dark80);
224
+
225
+ /* Button */
226
+ --xyd-button-primary-bg: var(--color-primary);
227
+ --xyd-button-primary-color: var(--white);
228
+ --xyd-button-primary-border: var(--color-primary);
229
+ --xyd-button-primary-bg-hover: var(--color-primary--active);
230
+ --xyd-button-primary-border-hover: var(--color-primary--active);
231
+
232
+ --xyd-button-secondary-bg: var(--dark16);
233
+ --xyd-button-secondary-color: var(--text-primary);
234
+ --xyd-button-secondary-border: var(--dark32);
235
+ --xyd-button-secondary-bg-hover: var(--dark32);
236
+ --xyd-button-secondary-border-hover: var(--dark40);
237
+
238
+ --xyd-button-tertiary-bg: transparent;
239
+ --xyd-button-tertiary-color: var(--text-primary);
240
+ --xyd-button-tertiary-border: transparent;
241
+ --xyd-button-tertiary-bg-hover: var(--dark16);
242
+ --xyd-button-tertiary-border-hover: var(--dark32);
243
+ --xyd-button-border-radius: 6px;
244
+
245
+ /* Card */
246
+ --xyd-card-bgcolor: var(--color-bg);
247
+ --xyd-card-shadow-color: var(--dark32);
248
+ --xyd-card-border-color: var(--dark32);
249
+
250
+ /* Coder */
251
+ --xyd-code-bgcolor: linear-gradient(45deg, var(--dark8) 0%, var(--dark8) 100%);
252
+ --xyd-code-border-color: var(--dark32);
253
+
254
+ /* Coder Code */
255
+ --xyd-coder-code-background: linear-gradient(45deg, var(--dark8) 0%, var(--dark8) 100%);
256
+ --xyd-coder-code-border-color: var(--dark32);
257
+ --xyd-coder-code-mark-border-color: var(--blue32);
258
+ --xyd-coder-code-mark-bgcolor: var(--dark16);
259
+ --xyd-coder-code-copy-color: var(--dark48);
260
+ --xyd-coder-code-description-bgcolor: var(--color-bg);
261
+
262
+ /* Code Tabs */
263
+ --xyd-codetabs-border-color: var(--dark32);
264
+ --xyd-codetabs-bgcolor: linear-gradient(45deg, var(--dark8) 0%, var(--dark8) 100%);
265
+ --xyd-codetabs-color: var(--dark80);
266
+ --xyd-codetabs-color--active: var(--color-text);
267
+ --xyd-codetabs-color--hover: var(--dark32);
268
+
269
+ /* Badge */
270
+ --xyd-badge-color--default: var(--xyd-text-color);
271
+ --xyd-badge-bgcolor--default: var(--dark32);
272
+
273
+ --xyd-badge-color--warning: var(--xyd-page-body-color);
274
+ --xyd-badge-bgcolor--warning: var(--yellow80);
275
+ --xyd-badge-color--info: var(--color-bg);
276
+ --xyd-badge-bgcolor--info: var(--blue80);
277
+
278
+ /* Banner */
279
+ --xyd-banner-bgcolor: var(--blue16);
280
+ --xyd-banner-border-color: unset;
281
+ --xyd-banner-color: var(--black);
282
+ --xyd-banner-boxshadow: 0 2px 5px rgba(0, 0, 0, .1);
283
+ --xyd-banner-height-dynamic: 0px; /* banner height is calculated dynamically in js, TODO: fix to pure css*/
284
+
285
+ /* Breadcrumbs */
286
+ --xyd-breadcrumbs-color: var(--dark48);
287
+ --xyd-breadcrumbs-color--active: var(--text-primary);
288
+
289
+ /* Details */
290
+ --xyd-details-border-color: var(--dark32);
291
+ --xyd-details-bgcolor--secondary: var(--dark16);
292
+ --xyd-details-summary-color: var(--dark48);
293
+ --xyd-details-summary-color--active: var(--text-primary);
294
+ --xyd-details-summary-code-bgcolor: var(--color-bg);
295
+ --xyd-details-content-bgcolor: var(--color-bg);
296
+
297
+ /* GuideCard */
298
+ --xyd-guidecard-border-color--secondary: var(--dark32);
299
+ --xyd-guidecard-bgcolor--secondary: var(--dark16);
300
+ --xyd-guidecard-bgcolor--secondary-active: var(--color-bg);
301
+ --xyd-guidecard-icon-color: var(--text-primary);
302
+ --xyd-guidecard-title-color: var(--text-primary);
303
+ --xyd-guidecard-color: var(--dark48);
304
+ /* Heading */
305
+ --xyd-heading-color: var(--text-primary);
306
+ --xyd-heading-color--muted: var(--dark48);
307
+ --xyd-heading-icon-color: var(--color-primary);
308
+
309
+ /* Text */
310
+ --xyd-text-color: var(--text-primary);
311
+ --xyd-text-color--default: var(--text-primary);
312
+ --xyd-text-color--ghost: var(--text-tertiary);
313
+ --xyd-text-color--success: var(--green80);
314
+ --xyd-text-color--success--active: var(--green100);
315
+ --xyd-text-color--success--muted: rgba(40, 167, 69, 0.3);
316
+ --xyd-text-color--info: var(--blue80);
317
+ --xyd-text-color--info--active: var(--blue100);
318
+ --xyd-text-color--info--muted: rgba(9, 109, 232, 0.3);
319
+ --xyd-text-color--warn: var(--yellow80);
320
+ --xyd-text-color--warn--active: var(--yellow100);
321
+ --xyd-text-color--warn--muted: rgba(255, 193, 7, 0.3);
322
+ --xyd-text-color--error: var(--red80);
323
+ --xyd-text-color--error--active: var(--red100);
324
+ --xyd-text-color--error--muted: rgba(220, 53, 69, 0.3);
325
+ --xyd-text-color--primary: var(--color-primary);
326
+ --xyd-text-color--secondary: var(--text-secondary);
327
+
328
+ /* Anchor */
329
+ --xyd-anchor-color: var(--color-primary);
330
+ --xyd-anchor-color--hover: var(--color-primary--active);
331
+
332
+ /* Hr */
333
+ --xyd-hr-border-color: var(--dark32);
334
+
335
+ /* List */
336
+ --xyd-list-marker-color: var(--dark48);
337
+ --xyd-list-item-bgcolor: var(--dark48);
338
+
339
+ /* NavLinks */
340
+ --xyd-navlinks-border-color: var(--dark32);
341
+
342
+ /* Pre */
343
+ --xyd-pre-bgcolor: var(--dark16);
344
+
345
+ /* Steps */
346
+ --xyd-steps-marker-bgcolor: var(--dark32);
347
+ --xyd-steps-marker-color: var(--dark80);
348
+
349
+ /* Table */
350
+ --xyd-table-border-color: var(--dark32);
351
+ --xyd-table-bgcolor: var(--dark16);
352
+
353
+ /* Tabs */
354
+ --xyd-tabs-primary-bgcolor: var(--color-bg);
355
+ --xyd-tabs-primary-border-color: hsl(212, 15%, calc(96% - 12% * 1));
356
+ --xyd-tabs-primary-list-color: hsl(212, 15%, calc(96% - 12% * 4));
357
+ --xyd-tabs-primary-color--active: var(--color-primary);
358
+ --xyd-tabs-bgcolor: var(--dark16);
359
+ --xyd-tabs-arrow-bgcolor: var(--color-bg);
360
+ --xyd-tabs-color: var(--dark48);
361
+ --xyd-tabs-color--active: var(--text-primary);
362
+ --xyd-tabs-bgcolor--active: var(--color-bg);
363
+ --xyd-tabs-shadow-color--active: rgba(0, 0, 0, 0.05);
364
+
365
+ /* TocCard */
366
+ --xyd-toccard-border-color: var(--dark32);
367
+ --xyd-toccard-border-color--active: var(--dark40);
368
+ --xyd-toccard-color: var(--dark48);
369
+ --xyd-toccard-title-color: var(--dark80);
370
+ --xyd-toccard-icon-color: var(--dark80);
371
+
372
+ /* VideoGuide Miniature*/
373
+ --xyd-videoguide-miniature-mini-width: 202px;
374
+ --xyd-videoguide-miniature-mini-height: 113px;
375
+ --xyd-videoguide-miniature-expanded-height: 100px;
376
+ --xyd-videoguide-miniature-z-index: 1000;
377
+ --xyd-videoguide-miniature-radius: 4px;
378
+ --xyd-videoguide-miniature-shadow: 0 7px 14px 0 rgba(60, 66, 87, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
379
+ --xyd-videoguide-miniature-bgcolor: var(--color-bg);
380
+ --xyd-videoguide-miniature-duration: 0.3s;
381
+ --xyd-videoguide-miniature-color: var(--color-bg);
382
+
383
+ /* Nav */
384
+ --xyd-nav-height: 50px;
385
+ --xyd-nav-shadow-bgcolor: var(--color-bg);
386
+ --xyd-nav-item-color: var(--text-primary);
387
+ --xyd-nav-item-color--active: var(--dark80);
388
+ --xyd-nav-item-bgcolor--active: var(--dark16);
389
+ --xyd-nav-padding: var(--xyd-padding-medium);
390
+ --xyd-nav-padding-y: calc(var(--xyd-nav-padding) / 2);
391
+ --xyd-nav-item-padding: var(--xyd-padding-medium);
392
+ --xyd-nav-item-padding-y: calc(var(--xyd-nav-item-padding) / 2);
393
+
394
+ /* ProgressBar */
395
+ --xyd-progressbar-bgcolor: var(--dark16);
396
+ --xyd-progressbar-bgcolor--active: var(--color-primary);
397
+
398
+ /* Sidebar */
399
+ --xyd-sidebar-padding: 8px;
400
+
401
+ --xyd-sidebar-bgcolor: var(--dark16);
402
+ --xyd-sidebar-divider-color: var(--dark32);
403
+ --xyd-sidebar-divider-shadow-color: var(--dark32);
404
+
405
+ --xyd-sidebar-item-color--active: var(--text-primary);
406
+ --xyd-sidebar-item-bgcolor--active: var(--dark32);
407
+ --xyd-sidebar-item-bgcolor--active-hover: var(--dark32);
408
+ --xyd-sidebar-item-bgcolor--active-mark: var(--color-primary);
409
+ --xyd-sidebar-item-color: var(--dark48);
410
+ --xyd-sidebar-item-header-color: var(--text-primary);
411
+ --xyd-sidebar-item-padding-left: var(--xyd-padding-large);
412
+ --xyd-sidebar-item-padding-total: calc(var(--xyd-sidebar-padding) + var(--xyd-sidebar-item-padding-left));
413
+ --xyd-sidebar-ghost-item-padding: 6px 12px 12px var(--xyd-sidebar-item-padding-left);
414
+
415
+ /* SubNav */
416
+ --xyd-subnav-height: 44px;
417
+ --xyd-subnav-bgcolor: var(--dark16);
418
+ --xyd-subnav-prefix-color: var(--dark48);
419
+ --xyd-subnav-prefix-marker-color: var(--dark32);
420
+ --xyd-subnav-item-color: var(--dark48);
421
+ --xyd-subnav-item-color--active: var(--color-text);
422
+ --xyd-subnav-item-color--active-mark: var(--color-primary);
423
+
424
+ /* Toc */
425
+ --xyd-toc-bgcolor: var(--dark32);
426
+ --xyd-toc-scroll-bgcolor: var(--dark80);
427
+ --xyd-toc-item-color: var(--dark48);
428
+ --xyd-toc-item-color--active: var(--dark80);
429
+
430
+ /* SearchButton */
431
+ --xyd-searchbutton-background: var(--dark16);
432
+
433
+ /* Blockquote */
434
+ --xyd-blockquote-color: var(--dark48);
435
+ --xyd-blockquote-border-color: var(--dark32);
436
+ }
437
+
438
+ /* Atlas */
439
+ :root {
440
+ --XydAtlas-Ref-Palette-White: var(--white);
441
+ --XydAtlas-Ref-Palette-Primary-60: var(--purple80);
442
+ --XydAtlas-Ref-Palette-Primary-70: var(--purple80);
443
+ --XydAtlas-Ref-Palette-Primary-80: var(--purple80);
444
+ --XydAtlas-Ref-Palette-Neutral-10: var(--dark8);
445
+ --XydAtlas-Ref-Palette-Neutral-20: var(--dark16);
446
+ --XydAtlas-Ref-Palette-Neutral-30: var(--dark32);
447
+ --XydAtlas-Ref-Palette-Neutral-40: var(--dark48);
448
+ --XydAtlas-Ref-Palette-Neutral-70: var(--dark60);
449
+ --XydAtlas-Ref-Palette-Neutral-80: var(--dark80);
450
+ --XydAtlas-Ref-Palette-Neutral-100: var(--dark100);
451
+ }
452
+
453
+ :root {
454
+ --sidebar-top: calc(var(--xyd-nav-height) + var(--xyd-banner-height-dynamic) + var(--theme-nav-height-space, 0px));
455
+ }
456
+
457
+ [data-color-scheme="dark"] {
458
+ --xyd-sidebar-bgcolor: var(--white);
459
+ --xyd-text-color--default: var(--dark48);
460
+ --xyd-heading-color--muted: var(--dark80);
461
+ --xyd-button-primary-color: var(--black);
462
+ }
463
+
464
+ /* System dark mode support for sidebar - only when OS preference is enabled */
465
+ @media (prefers-color-scheme: dark) {
466
+ :root:not([data-color-scheme="light"]):not([data-color-scheme="dark"]) {
467
+ --xyd-sidebar-bgcolor: var(--white);
468
+ --xyd-text-color--default: var(--dark48);
469
+ --xyd-heading-color--muted: var(--dark80);
470
+ --xyd-button-primary-color: var(--black);
471
+ }
472
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "compilerOptions": {
3
+ "paths": {
4
+ "@xyd-js/framework/react": [
5
+ "../xyd-framework/packages/react/index.ts"
6
+ ],
7
+ "@xyd-js/context": [
8
+ "../xyd-context/src/index.ts"
9
+ ],
10
+ "@xyd-js/core": [
11
+ "../xyd-core/src/index.ts"
12
+ ]
13
+ },
14
+ "module": "esnext",
15
+ "esModuleInterop": true,
16
+ "moduleResolution": "bundler",
17
+ "target": "ES6",
18
+ "lib": [
19
+ "dom",
20
+ "dom.iterable",
21
+ "esnext",
22
+ "node"
23
+ ],
24
+ "allowJs": true,
25
+ "skipLibCheck": true,
26
+ "strict": false,
27
+ "noEmit": true,
28
+ "incremental": false,
29
+ "resolveJsonModule": true,
30
+ "isolatedModules": true,
31
+ "jsx": "preserve",
32
+ "plugins": [
33
+ {
34
+ "name": "next"
35
+ }
36
+ ],
37
+ "strictNullChecks": true,
38
+ "typeRoots": [
39
+ "./types.d.ts",
40
+ "./node_modules/@types"
41
+ ]
42
+ },
43
+ "include": [
44
+ "src/**/*.ts",
45
+ "src/**/*.tsx",
46
+ "types.d.ts"
47
+ ],
48
+ "exclude": [
49
+ "node_modules"
50
+ ]
51
+ }
package/tsup.config.ts ADDED
@@ -0,0 +1,38 @@
1
+ import { defineConfig } from 'tsup';
2
+ import pkg from './package.json' assert { type: 'json' }
3
+
4
+ const deps = [
5
+ ...Object.keys(pkg.dependencies || {}),
6
+ ...Object.keys(pkg.devDependencies || {}),
7
+ ...Object.keys(pkg.peerDependencies || {}),
8
+ ]
9
+
10
+ export default defineConfig({
11
+ entry: {
12
+ index: 'src/index.ts',
13
+ rollup: 'src/rollup.ts',
14
+ },
15
+ format: ['esm'],
16
+ target: 'node16',
17
+ dts: {
18
+ entry: {
19
+ index: 'src/index.ts',
20
+ rollup: 'src/rollup.ts',
21
+ },
22
+ resolve: true,
23
+ },
24
+ splitting: false,
25
+ sourcemap: true,
26
+ clean: true,
27
+ external: [
28
+ ...deps,
29
+ 'fs',
30
+ 'path'
31
+ ],
32
+ esbuildOptions: (options) => {
33
+ options.platform = 'node';
34
+ options.external = ['node:fs/promises', 'react-router', 'fs', 'path'];
35
+ options.loader = { '.js': 'jsx' };
36
+ },
37
+ ignoreWatch: ['node_modules', 'dist', '.git', 'build']
38
+ });
package/types.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import * as React from 'react'
2
+
3
+ declare global {
4
+ namespace React {
5
+ namespace JSX {
6
+ interface IntrinsicElements {
7
+ 'xyd-built-with': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
8
+ 'xyd-page-footer': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
9
+ 'xyd-secondary-content': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
10
+ }
11
+ }
12
+ }
13
+ }