@app-studio/components 0.10.17 → 0.10.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.
Files changed (141) hide show
  1. package/dist/index.d.ts +41 -0
  2. package/dist/native/components/Alert/Alert/Alert.style.js +20 -20
  3. package/dist/native/components/Alert/Alert/Alert.style.js.map +1 -1
  4. package/dist/native/components/Alert/Alert/Alert.view.native.js.map +1 -1
  5. package/dist/native/components/AudioInput/AudioInput/AudioInput.view.js +7 -4
  6. package/dist/native/components/AudioInput/AudioInput/AudioInput.view.js.map +1 -1
  7. package/dist/native/components/Background/Background/Background.view.native.js.map +1 -1
  8. package/dist/native/components/Badge/Badge/Badge.style.js +7 -11
  9. package/dist/native/components/Badge/Badge/Badge.style.js.map +1 -1
  10. package/dist/native/components/Badge/Badge/Badge.view.js +2 -6
  11. package/dist/native/components/Badge/Badge/Badge.view.js.map +1 -1
  12. package/dist/native/components/Button/Button/Button.view.js +2 -2
  13. package/dist/native/components/Button/Button/Button.view.js.map +1 -1
  14. package/dist/native/components/Button/Button/Button.view.native.js.map +1 -1
  15. package/dist/native/components/Card/Card/Card.style.js +10 -10
  16. package/dist/native/components/Card/Card/Card.style.js.map +1 -1
  17. package/dist/native/components/Carousel/Carousel/Carousel.view.native.js +10 -6
  18. package/dist/native/components/Carousel/Carousel/Carousel.view.native.js.map +1 -1
  19. package/dist/native/components/Chart/Chart/Chart.style.js +3 -3
  20. package/dist/native/components/Chart/Chart/Chart.style.js.map +1 -1
  21. package/dist/native/components/ChatInput/ChatInput/ChatInput.style.js +1 -1
  22. package/dist/native/components/ChatInput/ChatInput/ChatInput.style.js.map +1 -1
  23. package/dist/native/components/ChatWidget/ChatWidget/ChatWidget.style.js +16 -16
  24. package/dist/native/components/ChatWidget/ChatWidget/ChatWidget.style.js.map +1 -1
  25. package/dist/native/components/ChatWidget/ChatWidget/ChatWidget.view.js +2 -2
  26. package/dist/native/components/ChatWidget/ChatWidget/ChatWidget.view.js.map +1 -1
  27. package/dist/native/components/ColorPicker/ColorPicker/ColorPicker.style.js +6 -6
  28. package/dist/native/components/ColorPicker/ColorPicker/ColorPicker.style.js.map +1 -1
  29. package/dist/native/components/ColorPicker/ColorPicker/ColorPicker.view.js +1 -1
  30. package/dist/native/components/ColorPicker/ColorPicker/ColorPicker.view.js.map +1 -1
  31. package/dist/native/components/ContextMenu/ContextMenu/ContextMenu.view.native.js +4 -4
  32. package/dist/native/components/ContextMenu/ContextMenu/ContextMenu.view.native.js.map +1 -1
  33. package/dist/native/components/CookieConsent/CookieConsent/CookieConsent.style.js +18 -20
  34. package/dist/native/components/CookieConsent/CookieConsent/CookieConsent.style.js.map +1 -1
  35. package/dist/native/components/DropZone/DropZone/DropZone.view.js +3 -3
  36. package/dist/native/components/DropZone/DropZone/DropZone.view.js.map +1 -1
  37. package/dist/native/components/DropdownMenu/DropdownMenu/DropdownMenu.view.native.js +4 -4
  38. package/dist/native/components/DropdownMenu/DropdownMenu/DropdownMenu.view.native.js.map +1 -1
  39. package/dist/native/components/EditComponent/EditPanel.js.map +1 -1
  40. package/dist/native/components/EmojiPicker/EmojiPicker/EmojiPicker.view.js +3 -3
  41. package/dist/native/components/EmojiPicker/EmojiPicker/EmojiPicker.view.js.map +1 -1
  42. package/dist/native/components/Form/Checkbox/Checkbox/Checkbox.view.native.js +1 -5
  43. package/dist/native/components/Form/Checkbox/Checkbox/Checkbox.view.native.js.map +1 -1
  44. package/dist/native/components/Form/CountryPicker/CountryPicker/CountryPicker.view.js +2 -8
  45. package/dist/native/components/Form/CountryPicker/CountryPicker/CountryPicker.view.js.map +1 -1
  46. package/dist/native/components/Form/DatePicker/DatePicker/DatePicker.view.js +1 -7
  47. package/dist/native/components/Form/DatePicker/DatePicker/DatePicker.view.js.map +1 -1
  48. package/dist/native/components/Form/Radio/Radio/Radio.view.native.js +1 -5
  49. package/dist/native/components/Form/Radio/Radio/Radio.view.native.js.map +1 -1
  50. package/dist/native/components/Form/Select/Select/Select.view.native.js +3 -9
  51. package/dist/native/components/Form/Select/Select/Select.view.native.js.map +1 -1
  52. package/dist/native/components/Form/TextArea/TextArea/TextArea.view.native.js.map +1 -1
  53. package/dist/native/components/Form/TextField/TextField/TextField.view.native.js.map +1 -1
  54. package/dist/native/components/Gradient/Gradient/Gradient.view.native.js +2 -6
  55. package/dist/native/components/Gradient/Gradient/Gradient.view.native.js.map +1 -1
  56. package/dist/native/components/HoverCard/HoverCard/HoverCard.view.js +1 -1
  57. package/dist/native/components/HoverCard/HoverCard/HoverCard.view.js.map +1 -1
  58. package/dist/native/components/HoverCard/HoverCard/HoverCard.view.native.js.map +1 -1
  59. package/dist/native/components/Icon/Icon.js.map +1 -1
  60. package/dist/native/components/Icon/Icon.native.js.map +1 -1
  61. package/dist/native/components/IconPicker/IconPicker/IconPicker.view.js +2 -2
  62. package/dist/native/components/IconPicker/IconPicker/IconPicker.view.js.map +1 -1
  63. package/dist/native/components/Input/FieldLayout/FieldLayout.js +1 -1
  64. package/dist/native/components/Input/FieldLayout/FieldLayout.js.map +1 -1
  65. package/dist/native/components/Link/Link/Link.view.native.js +1 -3
  66. package/dist/native/components/Link/Link/Link.view.native.js.map +1 -1
  67. package/dist/native/components/Loader/Loader/Loader.view.native.js +4 -4
  68. package/dist/native/components/Loader/Loader/Loader.view.native.js.map +1 -1
  69. package/dist/native/components/Menubar/Menubar/Menubar.view.native.js +2 -2
  70. package/dist/native/components/Menubar/Menubar/Menubar.view.native.js.map +1 -1
  71. package/dist/native/components/Message/Message/Message.view.js +1 -1
  72. package/dist/native/components/Message/Message/Message.view.js.map +1 -1
  73. package/dist/native/components/Modal/Modal/Modal.style.js +1 -1
  74. package/dist/native/components/Modal/Modal/Modal.style.js.map +1 -1
  75. package/dist/native/components/NavigationMenu/NavigationMenu/NavigationMenu.view.native.js +2 -2
  76. package/dist/native/components/NavigationMenu/NavigationMenu/NavigationMenu.view.native.js.map +1 -1
  77. package/dist/native/components/OTPInput/OTPInput/OTPInput.view.native.js +18 -2
  78. package/dist/native/components/OTPInput/OTPInput/OTPInput.view.native.js.map +1 -1
  79. package/dist/native/components/ProgressBar/ProgressBar/ProgressBar.view.js +2 -2
  80. package/dist/native/components/ProgressBar/ProgressBar/ProgressBar.view.js.map +1 -1
  81. package/dist/native/components/ProgressBar/ProgressBar/ProgressBar.view.native.js +6 -3
  82. package/dist/native/components/ProgressBar/ProgressBar/ProgressBar.view.native.js.map +1 -1
  83. package/dist/native/components/Resizable/Resizable/Resizable.view.native.js +9 -1
  84. package/dist/native/components/Resizable/Resizable/Resizable.view.native.js.map +1 -1
  85. package/dist/native/components/Sidebar/Sidebar/Sidebar.style.js +11 -11
  86. package/dist/native/components/Sidebar/Sidebar/Sidebar.style.js.map +1 -1
  87. package/dist/native/components/Sidebar/Sidebar/Sidebar.view.native.js.map +1 -1
  88. package/dist/native/components/Slider/Slider/Slider.view.native.js +3 -1
  89. package/dist/native/components/Slider/Slider/Slider.view.native.js.map +1 -1
  90. package/dist/native/components/Tabs/Tabs/Tabs.view.js +10 -10
  91. package/dist/native/components/Tabs/Tabs/Tabs.view.js.map +1 -1
  92. package/dist/native/components/Tabs/Tabs/Tabs.view.native.js +2 -2
  93. package/dist/native/components/Tabs/Tabs/Tabs.view.native.js.map +1 -1
  94. package/dist/native/components/Title/Title/Title.view.native.js.map +1 -1
  95. package/dist/native/components/Title/Title/TypewriterEffect.native.js +1 -3
  96. package/dist/native/components/Title/Title/TypewriterEffect.native.js.map +1 -1
  97. package/dist/native/components/Toast/Toast/Toast.view.native.js.map +1 -1
  98. package/dist/native/components/Toggle/Toggle/Toggle.style.js +7 -7
  99. package/dist/native/components/Toggle/Toggle/Toggle.style.js.map +1 -1
  100. package/dist/native/components/Toggle/Toggle/Toggle.view.js +2 -2
  101. package/dist/native/components/Toggle/Toggle/Toggle.view.js.map +1 -1
  102. package/dist/native/components/Toggle/Toggle/Toggle.view.native.js +3 -1
  103. package/dist/native/components/Toggle/Toggle/Toggle.view.native.js.map +1 -1
  104. package/dist/native/components/Uploader/Uploader/Uploader.view.js +2 -2
  105. package/dist/native/design-system/DesignSystemProvider.d.ts +8 -1
  106. package/dist/native/design-system/DesignSystemProvider.js +10 -4
  107. package/dist/native/design-system/DesignSystemProvider.js.map +1 -1
  108. package/dist/native/design-system/configs/airbnb.json +87 -87
  109. package/dist/native/design-system/configs/apple.json +89 -89
  110. package/dist/native/design-system/configs/coinbase.json +89 -89
  111. package/dist/native/design-system/configs/default.json +556 -0
  112. package/dist/native/design-system/configs/figma.json +63 -63
  113. package/dist/native/design-system/configs/index.d.ts +6 -0
  114. package/dist/native/design-system/configs/index.js +8 -1
  115. package/dist/native/design-system/configs/index.js.map +1 -1
  116. package/dist/native/design-system/configs/linear.json +86 -86
  117. package/dist/native/design-system/configs/nike.json +60 -60
  118. package/dist/native/design-system/configs/notion.json +88 -88
  119. package/dist/native/design-system/configs/revolut.json +89 -89
  120. package/dist/native/design-system/configs/shopify.json +76 -76
  121. package/dist/native/design-system/configs/spacex.json +68 -68
  122. package/dist/native/design-system/configs/spotify.json +89 -89
  123. package/dist/native/design-system/configs/stripe.json +88 -88
  124. package/dist/native/design-system/configs/tesla.json +75 -75
  125. package/dist/native/design-system/configs/uber.json +41 -41
  126. package/dist/native/design-system/configs/vercel.json +65 -65
  127. package/dist/native/design-system/types.d.ts +28 -0
  128. package/dist/native/pages/designSystem.page.js +103 -85
  129. package/dist/native/pages/designSystem.page.js.map +1 -1
  130. package/dist/web.cjs.js +8 -8
  131. package/dist/web.cjs.js.map +1 -1
  132. package/dist/web.esm.js +11786 -10987
  133. package/dist/web.esm.js.map +1 -1
  134. package/dist/web.umd.js +10 -10
  135. package/dist/web.umd.js.map +1 -1
  136. package/docs/README.md +1 -0
  137. package/docs/app-studio/Theming.md +7 -0
  138. package/docs/design-system/component-library.md +78 -42
  139. package/docs/design-system/llm-design-system.md +426 -0
  140. package/docs/design-system/theming.md +73 -13
  141. package/package.json +4 -4
@@ -10,17 +10,17 @@
10
10
  ]
11
11
  },
12
12
  "theme": {
13
- "primary": "#000000",
13
+ "primary": "color-black",
14
14
  "secondary": "#0072f5",
15
15
  "success": "#0a72ef",
16
16
  "warning": "#de1d8d",
17
17
  "error": "#ff5b4f",
18
- "canvas": "#ffffff",
19
- "surface": "#fafafa",
20
- "text": "#000000",
21
- "muted": "#666666",
22
- "border": "#ebebeb",
23
- "onPrimary": "#ffffff"
18
+ "canvas": "color-white",
19
+ "surface": "color-gray-50",
20
+ "text": "color-black",
21
+ "muted": "color-gray-500",
22
+ "border": "color-gray-200",
23
+ "onPrimary": "color-white"
24
24
  },
25
25
  "tokens": {
26
26
  "rawCssVars": {
@@ -236,7 +236,7 @@
236
236
  "size": "md",
237
237
  "shape": "square",
238
238
  "color": "theme-primary",
239
- "textColor": "theme-canvas",
239
+ "textColor": "theme-onPrimary",
240
240
  "views": {
241
241
  "container": {
242
242
  "borderRadius": 4,
@@ -264,7 +264,7 @@
264
264
  "views": {
265
265
  "container": {
266
266
  "backgroundColor": "theme-secondary",
267
- "color": "theme-canvas",
267
+ "color": "color-white",
268
268
  "borderColor": "theme-secondary",
269
269
  "borderRadius": 4,
270
270
  "fontFamily": "var(--font-sans)",
@@ -285,8 +285,8 @@
285
285
  "shape": "rounded",
286
286
  "views": {
287
287
  "container": {
288
- "backgroundColor": "theme-surface",
289
- "borderColor": "theme-border",
288
+ "backgroundColor": "color-gray-50",
289
+ "borderColor": "color-gray-200",
290
290
  "color": "theme-primary",
291
291
  "borderRadius": 4,
292
292
  "borderWidth": "1px",
@@ -297,14 +297,14 @@
297
297
  "color": "theme-primary",
298
298
  "fontFamily": "var(--font-sans)",
299
299
  "fontWeight": 600,
300
- "borderColor": "theme-border"
300
+ "borderColor": "color-gray-200"
301
301
  },
302
302
  "content": {
303
- "color": "theme-muted",
303
+ "color": "color-gray-500",
304
304
  "fontFamily": "var(--font-sans)"
305
305
  },
306
306
  "footer": {
307
- "borderColor": "theme-border"
307
+ "borderColor": "color-gray-200"
308
308
  }
309
309
  }
310
310
  },
@@ -314,8 +314,8 @@
314
314
  "variant": "default",
315
315
  "views": {
316
316
  "container": {
317
- "backgroundColor": "theme-canvas",
318
- "borderColor": "theme-border",
317
+ "backgroundColor": "color-white",
318
+ "borderColor": "color-gray-200",
319
319
  "color": "theme-primary",
320
320
  "borderRadius": 2,
321
321
  "borderWidth": "1px",
@@ -344,8 +344,8 @@
344
344
  "variant": "default",
345
345
  "views": {
346
346
  "container": {
347
- "backgroundColor": "theme-canvas",
348
- "borderColor": "theme-border",
347
+ "backgroundColor": "color-white",
348
+ "borderColor": "color-gray-200",
349
349
  "color": "theme-primary",
350
350
  "borderRadius": 2,
351
351
  "borderWidth": "1px",
@@ -374,8 +374,8 @@
374
374
  "variant": "default",
375
375
  "views": {
376
376
  "container": {
377
- "backgroundColor": "theme-canvas",
378
- "borderColor": "theme-border",
377
+ "backgroundColor": "color-white",
378
+ "borderColor": "color-gray-200",
379
379
  "color": "theme-primary",
380
380
  "borderRadius": 2,
381
381
  "borderWidth": "1px",
@@ -404,8 +404,8 @@
404
404
  "size": "md",
405
405
  "views": {
406
406
  "checkbox": {
407
- "borderColor": "theme-border",
408
- "backgroundColor": "theme-canvas",
407
+ "borderColor": "color-gray-200",
408
+ "backgroundColor": "color-white",
409
409
  "_checked": {
410
410
  "backgroundColor": "theme-primary",
411
411
  "borderColor": "theme-primary"
@@ -420,7 +420,7 @@
420
420
  "fontStyle": "normal"
421
421
  },
422
422
  "infoText": {
423
- "color": "theme-muted"
423
+ "color": "color-gray-500"
424
424
  },
425
425
  "container": {
426
426
  "borderRadius": 0
@@ -431,8 +431,8 @@
431
431
  "size": "md",
432
432
  "views": {
433
433
  "radio": {
434
- "borderColor": "theme-border",
435
- "backgroundColor": "theme-canvas"
434
+ "borderColor": "color-gray-200",
435
+ "backgroundColor": "color-white"
436
436
  },
437
437
  "dot": {
438
438
  "backgroundColor": "theme-primary"
@@ -445,7 +445,7 @@
445
445
  "fontStyle": "normal"
446
446
  },
447
447
  "infoText": {
448
- "color": "theme-muted"
448
+ "color": "color-gray-500"
449
449
  },
450
450
  "container": {
451
451
  "borderRadius": "50%"
@@ -456,10 +456,10 @@
456
456
  "size": "sm",
457
457
  "views": {
458
458
  "slider": {
459
- "backgroundColor": "theme-border"
459
+ "backgroundColor": "color-gray-200"
460
460
  },
461
461
  "circle": {
462
- "backgroundColor": "theme-canvas"
462
+ "backgroundColor": "color-white"
463
463
  },
464
464
  "label": {
465
465
  "fontFamily": "var(--font-sans)",
@@ -477,7 +477,7 @@
477
477
  "backgroundColor": "theme-primary",
478
478
  "views": {
479
479
  "track": {
480
- "backgroundColor": "theme-border"
480
+ "backgroundColor": "color-gray-200"
481
481
  },
482
482
  "progress": {
483
483
  "backgroundColor": "theme-primary"
@@ -487,13 +487,13 @@
487
487
  },
488
488
  "thumb": {
489
489
  "borderColor": "theme-primary",
490
- "backgroundColor": "theme-canvas"
490
+ "backgroundColor": "color-white"
491
491
  },
492
492
  "label": {
493
493
  "color": "theme-primary"
494
494
  },
495
495
  "valueLabel": {
496
- "color": "theme-muted"
496
+ "color": "color-gray-500"
497
497
  }
498
498
  }
499
499
  },
@@ -501,10 +501,10 @@
501
501
  "variant": "underline",
502
502
  "views": {
503
503
  "headerTabs": {
504
- "borderColor": "theme-border"
504
+ "borderColor": "color-gray-200"
505
505
  },
506
506
  "tab": {
507
- "color": "theme-muted",
507
+ "color": "color-gray-500",
508
508
  "fontWeight": 700,
509
509
  "letterSpacing": "-0.04em",
510
510
  "textTransform": "none",
@@ -532,8 +532,8 @@
532
532
  "accordion": {
533
533
  "views": {
534
534
  "container": {
535
- "borderColor": "theme-border",
536
- "backgroundColor": "theme-surface",
535
+ "borderColor": "color-gray-200",
536
+ "backgroundColor": "color-gray-50",
537
537
  "color": "theme-primary",
538
538
  "borderRadius": "6px"
539
539
  },
@@ -542,25 +542,25 @@
542
542
  "fontFamily": "var(--font-sans)"
543
543
  },
544
544
  "content": {
545
- "color": "theme-muted"
545
+ "color": "color-gray-500"
546
546
  }
547
547
  }
548
548
  },
549
549
  "table": {
550
550
  "views": {
551
551
  "table": {
552
- "backgroundColor": "theme-canvas",
552
+ "backgroundColor": "color-white",
553
553
  "color": "theme-primary",
554
- "borderColor": "theme-border",
554
+ "borderColor": "color-gray-200",
555
555
  "borderRadius": 4
556
556
  },
557
557
  "thead": {
558
- "backgroundColor": "theme-surface",
558
+ "backgroundColor": "color-gray-50",
559
559
  "color": "theme-primary"
560
560
  },
561
561
  "th": {
562
- "color": "theme-muted",
563
- "borderColor": "theme-border",
562
+ "color": "color-gray-500",
563
+ "borderColor": "color-gray-200",
564
564
  "fontFamily": "'Geist Mono', ui-monospace, SFMono-Regular, 'Roboto Mono', Menlo, monospace",
565
565
  "fontWeight": 700,
566
566
  "letterSpacing": "-0.04em",
@@ -568,16 +568,16 @@
568
568
  "fontStyle": "normal"
569
569
  },
570
570
  "tr": {
571
- "borderColor": "theme-border"
571
+ "borderColor": "color-gray-200"
572
572
  },
573
573
  "td": {
574
574
  "color": "theme-primary",
575
- "borderColor": "theme-border",
575
+ "borderColor": "color-gray-200",
576
576
  "letterSpacing": "-0.04em",
577
577
  "fontStyle": "normal"
578
578
  },
579
579
  "caption": {
580
- "color": "theme-muted",
580
+ "color": "color-gray-500",
581
581
  "fontStyle": "italic",
582
582
  "letterSpacing": "-0.04em"
583
583
  }
@@ -586,8 +586,8 @@
586
586
  "avatar": {
587
587
  "views": {
588
588
  "container": {
589
- "backgroundColor": "theme-surface",
590
- "borderColor": "theme-border",
589
+ "backgroundColor": "color-gray-50",
590
+ "borderColor": "color-gray-200",
591
591
  "color": "theme-primary",
592
592
  "borderRadius": "50%"
593
593
  },
@@ -600,8 +600,8 @@
600
600
  "alert": {
601
601
  "views": {
602
602
  "container": {
603
- "backgroundColor": "theme-surface",
604
- "borderColor": "theme-border",
603
+ "backgroundColor": "color-gray-50",
604
+ "borderColor": "color-gray-200",
605
605
  "borderRadius": 4
606
606
  },
607
607
  "title": {
@@ -613,7 +613,7 @@
613
613
  "fontStyle": "normal"
614
614
  },
615
615
  "description": {
616
- "color": "theme-muted",
616
+ "color": "color-gray-500",
617
617
  "fontFamily": "var(--font-sans)"
618
618
  },
619
619
  "icon": {
@@ -634,11 +634,11 @@
634
634
  },
635
635
  "progress": {
636
636
  "color": "theme-primary",
637
- "backgroundColor": "theme-border",
637
+ "backgroundColor": "color-gray-200",
638
638
  "radius": "6px",
639
639
  "views": {
640
640
  "container": {
641
- "backgroundColor": "theme-border",
641
+ "backgroundColor": "color-gray-200",
642
642
  "borderRadius": "9999px"
643
643
  },
644
644
  "bar": {
@@ -653,13 +653,13 @@
653
653
  "color": "theme-primary"
654
654
  },
655
655
  "separator": {
656
- "color": "theme-border",
656
+ "color": "color-gray-200",
657
657
  "views": {
658
658
  "container": {
659
- "borderColor": "theme-border"
659
+ "borderColor": "color-gray-200"
660
660
  },
661
661
  "label": {
662
- "color": "theme-muted",
662
+ "color": "color-gray-500",
663
663
  "fontFamily": "var(--font-sans)"
664
664
  }
665
665
  }
@@ -667,13 +667,13 @@
667
667
  "navigation": {
668
668
  "views": {
669
669
  "container": {
670
- "backgroundColor": "theme-canvas",
671
- "borderColor": "theme-border",
670
+ "backgroundColor": "color-white",
671
+ "borderColor": "color-gray-200",
672
672
  "color": "theme-primary",
673
673
  "borderRadius": "6px"
674
674
  },
675
675
  "item": {
676
- "color": "theme-muted"
676
+ "color": "color-gray-500"
677
677
  },
678
678
  "activeItem": {
679
679
  "color": "theme-primary",
@@ -684,36 +684,36 @@
684
684
  "hero": {
685
685
  "views": {
686
686
  "container": {
687
- "backgroundColor": "theme-canvas",
687
+ "backgroundColor": "color-white",
688
688
  "color": "theme-primary",
689
689
  "fontFamily": "var(--font-sans)"
690
690
  },
691
691
  "eyebrow": {
692
- "color": "theme-muted"
692
+ "color": "color-gray-500"
693
693
  },
694
694
  "title": {
695
695
  "color": "theme-primary",
696
696
  "fontFamily": "var(--font-sans)"
697
697
  },
698
698
  "description": {
699
- "color": "theme-muted"
699
+ "color": "color-gray-500"
700
700
  }
701
701
  }
702
702
  },
703
703
  "page": {
704
704
  "views": {
705
705
  "container": {
706
- "backgroundColor": "theme-canvas",
706
+ "backgroundColor": "color-white",
707
707
  "color": "theme-primary",
708
708
  "fontFamily": "var(--font-sans)"
709
709
  },
710
710
  "section": {
711
- "backgroundColor": "theme-canvas",
712
- "borderColor": "theme-border"
711
+ "backgroundColor": "color-white",
712
+ "borderColor": "color-gray-200"
713
713
  },
714
714
  "surface": {
715
- "backgroundColor": "theme-surface",
716
- "borderColor": "theme-border",
715
+ "backgroundColor": "color-gray-50",
716
+ "borderColor": "color-gray-200",
717
717
  "color": "theme-primary"
718
718
  }
719
719
  }
@@ -9,17 +9,45 @@ export interface DesignSystemMetadata {
9
9
  defaultAppearance: DesignSystemAppearance;
10
10
  googleFontLinks?: string[];
11
11
  }
12
+ /**
13
+ * The eleven semantic theme slots. A single config serves **both** light and
14
+ * dark mode — the dark theme is derived automatically. The *form* of each value
15
+ * decides whether the slot flips or stays when the theme mode switches:
16
+ *
17
+ * - A **raw hex** (`"#2563eb"`) is emitted as `--theme-<slot>: #2563eb` and
18
+ * **stays constant** across modes. Use it for brand identity — the colours
19
+ * you want to look the same in light and dark.
20
+ * - A **`color-*` token** (`"color-black"`) is emitted as
21
+ * `--theme-<slot>: var(--color-black)` and **flips automatically**:
22
+ * `color-black` → black in light / white in dark, `color-white` → black in
23
+ * dark, and the `color-gray-*` ramp inverts. Use it for structural neutrals.
24
+ *
25
+ * Rule of thumb: **stay → hex (primary, accents); adapt → `color-*` token
26
+ * (canvas, text, surface, muted, border).** See `docs/design-system/theming.md`
27
+ * §2.1 for the full mapping.
28
+ */
12
29
  export interface DesignSystemTheme {
30
+ /** Brand primary (CTAs, links, focus). Constant → use a **hex**. */
13
31
  primary: string;
32
+ /** Brand secondary accent. Constant → use a **hex** (not for body ink). */
14
33
  secondary: string;
34
+ /** Positive state. Constant → use a **hex**. */
15
35
  success: string;
36
+ /** Caution / pending state. Constant → use a **hex**. */
16
37
  warning: string;
38
+ /** Destructive / failure state. Constant → use a **hex**. */
17
39
  error: string;
40
+ /** Page background. Adaptive → use a **`color-*` token** (e.g. `color-white`). */
18
41
  canvas: string;
42
+ /** Card / elevated surface. Adaptive → use a **`color-*` token** (e.g. `color-gray-50`). */
19
43
  surface: string;
44
+ /** Primary ink / body copy. Adaptive → use a **`color-*` token** (e.g. `color-black`). */
20
45
  text: string;
46
+ /** Secondary ink (captions, helper). Adaptive → use a **`color-*` token** (e.g. `color-gray-500`). */
21
47
  muted: string;
48
+ /** Hairlines, dividers, control borders. Adaptive → use a **`color-*` token** (e.g. `color-gray-200`). */
22
49
  border: string;
50
+ /** Ink on top of `primary` (button label). Constant → use a **hex** (usually `#ffffff`). */
23
51
  onPrimary: string;
24
52
  }
25
53
  export interface DesignSystemColorToken {