doom-design-system 0.5.0 → 0.6.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 (211) hide show
  1. package/dist/components/Accordion/Accordion.module.css +121 -124
  2. package/dist/components/ActionRow/ActionRow.module.css +25 -24
  3. package/dist/components/Alert/Alert.module.css +74 -76
  4. package/dist/components/Avatar/Avatar.module.css +66 -66
  5. package/dist/components/Badge/Badge.module.css +50 -48
  6. package/dist/components/Breadcrumbs/Breadcrumbs.module.css +32 -33
  7. package/dist/components/Button/Button.d.ts +2 -2
  8. package/dist/components/Button/Button.js +1 -1
  9. package/dist/components/Button/Button.module.css +150 -152
  10. package/dist/components/Card/Card.module.css +37 -39
  11. package/dist/components/Chart/Chart.module.css +213 -245
  12. package/dist/components/Chart/behaviors/DraggablePuck.d.ts +36 -0
  13. package/dist/components/Chart/behaviors/DraggablePuck.js +94 -0
  14. package/dist/components/Chart/behaviors/Markers.js +6 -4
  15. package/dist/components/Chart/behaviors/SelectionUpdate.js +2 -4
  16. package/dist/components/Chart/behaviors/index.d.ts +1 -1
  17. package/dist/components/Chart/behaviors/index.js +1 -1
  18. package/dist/components/Chart/engine/CoordinateSystem.d.ts +59 -0
  19. package/dist/components/Chart/engine/CoordinateSystem.js +126 -0
  20. package/dist/components/Chart/engine/Engine.d.ts +102 -0
  21. package/dist/components/Chart/engine/Engine.js +226 -0
  22. package/dist/components/Chart/engine/Scheduler.d.ts +59 -0
  23. package/dist/components/Chart/engine/Scheduler.js +139 -0
  24. package/dist/components/Chart/engine/SpatialMap.d.ts +114 -0
  25. package/dist/components/Chart/engine/SpatialMap.js +270 -0
  26. package/dist/components/Chart/engine/index.d.ts +13 -0
  27. package/dist/components/Chart/engine/index.js +9 -0
  28. package/dist/components/Chart/engine/types.d.ts +137 -0
  29. package/dist/components/Chart/engine/types.js +47 -0
  30. package/dist/components/Chart/hooks/useEngine.d.ts +43 -0
  31. package/dist/components/Chart/hooks/useEngine.js +128 -0
  32. package/dist/components/Chart/sensors/DataHoverSensor/DataHoverSensor.d.ts +17 -19
  33. package/dist/components/Chart/sensors/DataHoverSensor/DataHoverSensor.js +38 -51
  34. package/dist/components/Chart/sensors/DragSensor/DragSensor.d.ts +38 -0
  35. package/dist/components/Chart/sensors/DragSensor/DragSensor.js +105 -0
  36. package/dist/components/Chart/sensors/DragSensor/index.d.ts +2 -0
  37. package/dist/components/Chart/sensors/DragSensor/index.js +1 -0
  38. package/dist/components/Chart/sensors/{KeyboardSensor.d.ts → KeyboardSensor/KeyboardSensor.d.ts} +1 -1
  39. package/dist/components/Chart/sensors/KeyboardSensor/KeyboardSensor.js +86 -0
  40. package/dist/components/Chart/sensors/KeyboardSensor/index.d.ts +1 -0
  41. package/dist/components/Chart/sensors/KeyboardSensor/index.js +1 -0
  42. package/dist/components/Chart/sensors/{SelectionSensor.d.ts → SelectionSensor/SelectionSensor.d.ts} +2 -2
  43. package/dist/components/Chart/sensors/SelectionSensor/SelectionSensor.js +39 -0
  44. package/dist/components/Chart/sensors/SelectionSensor/index.d.ts +1 -0
  45. package/dist/components/Chart/sensors/SelectionSensor/index.js +1 -0
  46. package/dist/components/Chart/sensors/SensorManager/SensorManager.js +36 -41
  47. package/dist/components/Chart/sensors/index.d.ts +1 -0
  48. package/dist/components/Chart/sensors/index.js +3 -2
  49. package/dist/components/Chart/sensors/utils/search.d.ts +1 -1
  50. package/dist/components/Chart/sensors/utils/search.js +25 -4
  51. package/dist/components/Chart/state/store/chart.store.js +18 -0
  52. package/dist/components/Chart/state/store/slices/series.slice.d.ts +1 -0
  53. package/dist/components/Chart/state/store/slices/series.slice.js +3 -2
  54. package/dist/components/Chart/subcomponents/Axis/Axis.module.css +32 -33
  55. package/dist/components/Chart/subcomponents/BarSeries/BarSeries.js +6 -1
  56. package/dist/components/Chart/subcomponents/BarSeries/BarSeries.module.css +11 -9
  57. package/dist/components/Chart/subcomponents/Cursor/Cursor.js +8 -1
  58. package/dist/components/Chart/subcomponents/Cursor/Cursor.module.css +14 -13
  59. package/dist/components/Chart/subcomponents/CustomSeries/CustomSeries.js +4 -0
  60. package/dist/components/Chart/subcomponents/CustomSeries/CustomSeries.module.css +5 -3
  61. package/dist/components/Chart/subcomponents/Footer/Footer.module.css +5 -3
  62. package/dist/components/Chart/subcomponents/Grid/Grid.module.css +12 -11
  63. package/dist/components/Chart/subcomponents/Header/Header.module.css +8 -7
  64. package/dist/components/Chart/subcomponents/InteractionLayer/InteractionLayer.d.ts +4 -4
  65. package/dist/components/Chart/subcomponents/InteractionLayer/InteractionLayer.js +39 -76
  66. package/dist/components/Chart/subcomponents/Legend/Legend.module.css +30 -32
  67. package/dist/components/Chart/subcomponents/LineSeries/LineSeries.js +9 -3
  68. package/dist/components/Chart/subcomponents/LineSeries/LineSeries.module.css +21 -21
  69. package/dist/components/Chart/subcomponents/Root/Root.js +113 -7
  70. package/dist/components/Chart/subcomponents/Root/Root.module.css +70 -82
  71. package/dist/components/Chart/subcomponents/ScatterSeries/ScatterSeries.js +6 -1
  72. package/dist/components/Chart/subcomponents/ScatterSeries/ScatterSeries.module.css +7 -5
  73. package/dist/components/Chart/subcomponents/Series/Series.module.css +118 -128
  74. package/dist/components/Chart/subcomponents/SeriesPoint/SeriesPoint.module.css +10 -8
  75. package/dist/components/Chart/subcomponents/Tooltip/Tooltip.js +2 -3
  76. package/dist/components/Chart/subcomponents/Tooltip/Tooltip.module.css +52 -67
  77. package/dist/components/Chart/types/context.d.ts +9 -0
  78. package/dist/components/Chart/types/events.d.ts +5 -7
  79. package/dist/components/Chart/types/interaction.d.ts +24 -2
  80. package/dist/components/Chart/types/interaction.js +1 -0
  81. package/dist/components/Checkbox/Checkbox.module.css +57 -59
  82. package/dist/components/Chip/Chip.module.css +105 -115
  83. package/dist/components/Combobox/Combobox.d.ts +2 -1
  84. package/dist/components/Combobox/Combobox.js +2 -2
  85. package/dist/components/Combobox/Combobox.module.css +233 -210
  86. package/dist/components/CopyButton/CopyButton.module.css +84 -90
  87. package/dist/components/Drawer/Drawer.module.css +126 -145
  88. package/dist/components/Dropdown/Dropdown.d.ts +3 -1
  89. package/dist/components/Dropdown/Dropdown.js +3 -3
  90. package/dist/components/Dropdown/Dropdown.module.css +52 -32
  91. package/dist/components/FileUpload/FileUpload.js +24 -0
  92. package/dist/components/FileUpload/FileUpload.module.css +295 -313
  93. package/dist/components/Form/Form.module.css +35 -39
  94. package/dist/components/Image/Image.module.css +53 -54
  95. package/dist/components/Input/Input.d.ts +4 -2
  96. package/dist/components/Input/Input.js +2 -2
  97. package/dist/components/Input/Input.module.css +135 -119
  98. package/dist/components/Label/Label.module.css +17 -15
  99. package/dist/components/Layout/Layout.module.css +95 -111
  100. package/dist/components/Link/Link.module.css +67 -65
  101. package/dist/components/Modal/Modal.module.css +112 -132
  102. package/dist/components/Page/Page.module.css +21 -21
  103. package/dist/components/Pagination/Pagination.module.css +56 -56
  104. package/dist/components/Popover/Popover.module.css +17 -16
  105. package/dist/components/ProgressBar/ProgressBar.module.css +36 -37
  106. package/dist/components/RadioGroup/RadioGroup.module.css +74 -77
  107. package/dist/components/Select/Select.d.ts +2 -1
  108. package/dist/components/Select/Select.js +2 -2
  109. package/dist/components/Select/Select.module.css +133 -98
  110. package/dist/components/Sheet/Sheet.module.css +134 -154
  111. package/dist/components/Sidebar/Sidebar.module.css +72 -74
  112. package/dist/components/Sidebar/subcomponents/Footer/Footer.module.css +7 -5
  113. package/dist/components/Sidebar/subcomponents/Group/Group.module.css +80 -85
  114. package/dist/components/Sidebar/subcomponents/Header/Header.module.css +12 -10
  115. package/dist/components/Sidebar/subcomponents/Item/Item.module.css +54 -55
  116. package/dist/components/Sidebar/subcomponents/MobileOverlay/MobileOverlay.module.css +38 -38
  117. package/dist/components/Sidebar/subcomponents/MobileTrigger/MobileTrigger.module.css +5 -3
  118. package/dist/components/Sidebar/subcomponents/Nav/Nav.module.css +13 -11
  119. package/dist/components/Sidebar/subcomponents/Rail/Rail.module.css +62 -63
  120. package/dist/components/Sidebar/subcomponents/Section/Section.module.css +86 -91
  121. package/dist/components/Skeleton/Skeleton.module.css +28 -26
  122. package/dist/components/Slat/Slat.module.css +93 -94
  123. package/dist/components/Slider/Slider.module.css +116 -121
  124. package/dist/components/Spinner/Spinner.module.css +28 -27
  125. package/dist/components/SplitButton/SplitButton.d.ts +3 -1
  126. package/dist/components/SplitButton/SplitButton.js +2 -2
  127. package/dist/components/SplitButton/SplitButton.module.css +104 -87
  128. package/dist/components/Switch/Switch.module.css +64 -63
  129. package/dist/components/Table/FilterBuilder/FilterBuilder.module.css +36 -36
  130. package/dist/components/Table/FilterBuilder/FilterConditionRow.js +1 -1
  131. package/dist/components/Table/FilterBuilder/FilterConditionRow.module.css +21 -22
  132. package/dist/components/Table/FilterBuilder/FilterGroup.js +4 -4
  133. package/dist/components/Table/FilterBuilder/FilterGroup.module.css +355 -389
  134. package/dist/components/Table/FilterBuilder/FilterSheet.module.css +68 -71
  135. package/dist/components/Table/Table.d.ts +4 -2
  136. package/dist/components/Table/Table.js +50 -13
  137. package/dist/components/Table/Table.module.css +210 -188
  138. package/dist/components/Table/TableHeaderFilter.js +1 -1
  139. package/dist/components/Table/TableHeaderFilter.module.css +51 -57
  140. package/dist/components/Tabs/Tabs.module.css +79 -80
  141. package/dist/components/Text/Text.module.css +108 -131
  142. package/dist/components/Textarea/Textarea.d.ts +3 -1
  143. package/dist/components/Textarea/Textarea.js +2 -2
  144. package/dist/components/Textarea/Textarea.module.css +114 -94
  145. package/dist/components/Toast/Toast.module.css +82 -82
  146. package/dist/components/Tooltip/Tooltip.module.css +17 -16
  147. package/dist/styles/globals.css +1677 -1691
  148. package/dist/styles/palettes.d.ts +0 -5
  149. package/dist/styles/palettes.js +0 -8
  150. package/dist/styles/themes/definitions.d.ts +0 -8
  151. package/dist/styles/themes/definitions.js +117 -5
  152. package/dist/styles/types.d.ts +2 -0
  153. package/dist/styles/types.js +1 -0
  154. package/dist/tsconfig.build.tsbuildinfo +1 -1
  155. package/package.json +4 -4
  156. package/.agent/skills/doom/a2ui/a2ui-examples.md +0 -289
  157. package/.agent/skills/doom/a2ui/a2ui-principles.md +0 -49
  158. package/.agent/skills/doom/a2ui/a2ui-protocol.md +0 -191
  159. package/.agent/skills/doom/components/a2ui.md +0 -46
  160. package/.agent/skills/doom/components/accordion.md +0 -44
  161. package/.agent/skills/doom/components/actionrow.md +0 -33
  162. package/.agent/skills/doom/components/alert.md +0 -35
  163. package/.agent/skills/doom/components/avatar.md +0 -36
  164. package/.agent/skills/doom/components/badge.md +0 -29
  165. package/.agent/skills/doom/components/breadcrumbs.md +0 -33
  166. package/.agent/skills/doom/components/button.md +0 -43
  167. package/.agent/skills/doom/components/card.md +0 -41
  168. package/.agent/skills/doom/components/chart.md +0 -106
  169. package/.agent/skills/doom/components/checkbox.md +0 -38
  170. package/.agent/skills/doom/components/chip.md +0 -35
  171. package/.agent/skills/doom/components/combobox.md +0 -50
  172. package/.agent/skills/doom/components/copybutton.md +0 -41
  173. package/.agent/skills/doom/components/drawer.md +0 -69
  174. package/.agent/skills/doom/components/dropdown.md +0 -33
  175. package/.agent/skills/doom/components/fileupload.md +0 -49
  176. package/.agent/skills/doom/components/form.md +0 -55
  177. package/.agent/skills/doom/components/icon.md +0 -47
  178. package/.agent/skills/doom/components/image.md +0 -48
  179. package/.agent/skills/doom/components/input.md +0 -54
  180. package/.agent/skills/doom/components/label.md +0 -32
  181. package/.agent/skills/doom/components/layout.md +0 -92
  182. package/.agent/skills/doom/components/link.md +0 -39
  183. package/.agent/skills/doom/components/modal.md +0 -71
  184. package/.agent/skills/doom/components/page.md +0 -41
  185. package/.agent/skills/doom/components/pagination.md +0 -32
  186. package/.agent/skills/doom/components/popover.md +0 -45
  187. package/.agent/skills/doom/components/progressbar.md +0 -37
  188. package/.agent/skills/doom/components/radiogroup.md +0 -45
  189. package/.agent/skills/doom/components/select.md +0 -43
  190. package/.agent/skills/doom/components/sheet.md +0 -71
  191. package/.agent/skills/doom/components/sidebar.md +0 -92
  192. package/.agent/skills/doom/components/skeleton.md +0 -35
  193. package/.agent/skills/doom/components/slat.md +0 -46
  194. package/.agent/skills/doom/components/slider.md +0 -51
  195. package/.agent/skills/doom/components/spinner.md +0 -34
  196. package/.agent/skills/doom/components/splitbutton.md +0 -35
  197. package/.agent/skills/doom/components/switch.md +0 -40
  198. package/.agent/skills/doom/components/table.md +0 -82
  199. package/.agent/skills/doom/components/tabs.md +0 -65
  200. package/.agent/skills/doom/components/text.md +0 -42
  201. package/.agent/skills/doom/components/textarea.md +0 -46
  202. package/.agent/skills/doom/components/toast.md +0 -59
  203. package/.agent/skills/doom/components/tooltip.md +0 -35
  204. package/.agent/skills/doom/index.md +0 -167
  205. package/.agent/skills/doom/styles/aesthetic.md +0 -151
  206. package/.agent/skills/doom/styles/css-variables.md +0 -80
  207. package/.agent/skills/doom/styles/mixins.md +0 -97
  208. package/.agent/skills/doom/styles/tokens.md +0 -129
  209. package/.agent/skills/doom/styles/utilities.md +0 -84
  210. package/dist/components/Chart/sensors/KeyboardSensor.js +0 -82
  211. package/dist/components/Chart/sensors/SelectionSensor.js +0 -41
@@ -1,66 +1,68 @@
1
- .link {
2
- display: inline-flex;
3
- align-items: center;
4
- justify-content: center;
5
- text-decoration: none;
6
- transition: all 0.2s ease-in-out;
7
- cursor: pointer;
8
- outline: none;
9
- }
10
- .link:focus-visible {
11
- outline: revert;
12
- }
13
- .link.disabled {
14
- pointer-events: none;
15
- opacity: 0.5;
16
- text-decoration: none;
17
- cursor: not-allowed;
18
- }
19
- .link.default {
20
- color: var(--primary);
21
- text-decoration: underline;
22
- text-decoration-thickness: var(--spacing-half);
23
- text-underline-offset: var(--spacing-half);
24
- }
25
- .link.default:hover {
26
- filter: brightness(1.2);
27
- }
28
- .link.default:visited {
29
- color: var(--primary-dark, var(--primary));
30
- filter: brightness(0.8);
31
- }
32
- .link.default:active {
33
- filter: brightness(0.9);
34
- }
35
- .link.subtle {
36
- color: var(--muted-foreground);
37
- font-size: var(--text-sm);
38
- text-transform: uppercase;
39
- letter-spacing: 0.05em;
40
- }
41
- .link.subtle:hover {
42
- color: var(--foreground);
43
- text-decoration: underline;
44
- }
45
- .link.button {
46
- background-color: var(--primary);
47
- color: var(--primary-foreground);
48
- border: var(--border-width) solid var(--card-border);
49
- border-radius: var(--radius);
50
- padding: var(--spacing-3) var(--spacing-6);
51
- text-transform: uppercase;
52
- letter-spacing: 0.05em;
53
- box-shadow: var(--shadow-hard);
54
- font-size: var(--text-xs);
55
- }
56
- .link.button:hover {
57
- transform: translate(-2px, -2px);
58
- box-shadow: 6px 6px 0px 0px var(--shadow-base);
59
- }
60
- .link.button:hover {
61
- filter: brightness(1.1);
62
- }
63
- .link.button:active {
64
- transform: translate(0, 0);
65
- box-shadow: none;
1
+ @layer doom.components {
2
+ .link {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ text-decoration: none;
7
+ transition: all 0.2s ease-in-out;
8
+ cursor: pointer;
9
+ outline: none;
10
+ }
11
+ .link:focus-visible {
12
+ outline: revert;
13
+ }
14
+ .link.disabled {
15
+ pointer-events: none;
16
+ opacity: 0.5;
17
+ text-decoration: none;
18
+ cursor: not-allowed;
19
+ }
20
+ .link.default {
21
+ color: var(--primary);
22
+ text-decoration: underline;
23
+ text-decoration-thickness: var(--space-0\.5);
24
+ text-underline-offset: var(--space-0\.5);
25
+ }
26
+ .link.default:hover {
27
+ filter: brightness(1.2);
28
+ }
29
+ .link.default:visited {
30
+ color: var(--primary-dark, var(--primary));
31
+ filter: brightness(0.8);
32
+ }
33
+ .link.default:active {
34
+ filter: brightness(0.9);
35
+ }
36
+ .link.subtle {
37
+ color: var(--muted-foreground);
38
+ font-size: var(--text-sm);
39
+ text-transform: uppercase;
40
+ letter-spacing: 0.05em;
41
+ }
42
+ .link.subtle:hover {
43
+ color: var(--foreground);
44
+ text-decoration: underline;
45
+ }
46
+ .link.button {
47
+ background-color: var(--primary);
48
+ color: var(--primary-foreground);
49
+ border: var(--surface-border-width) solid var(--card-border);
50
+ border-radius: var(--radius-md);
51
+ padding: var(--space-3) var(--space-6);
52
+ text-transform: uppercase;
53
+ letter-spacing: 0.05em;
54
+ box-shadow: var(--shadow-md);
55
+ font-size: var(--text-xs);
56
+ }
57
+ .link.button:hover {
58
+ transform: translate(calc(-1 * var(--space-0\.5)), calc(-1 * var(--space-0\.5)));
59
+ box-shadow: var(--shadow-lg);
60
+ }
61
+ .link.button:hover {
62
+ filter: brightness(1.1);
63
+ }
64
+ .link.button:active {
65
+ transform: translate(0, 0);
66
+ box-shadow: none;
67
+ }
66
68
  }
@@ -1,133 +1,113 @@
1
- .overlay {
2
- position: fixed;
3
- inset: 0;
4
- z-index: var(--z-modal);
5
- display: flex;
6
- align-items: center;
7
- justify-content: center;
8
- padding: var(--spacing-4);
9
- backdrop-filter: blur(var(--blur-standard));
10
- background-color: rgba(0, 0, 0, var(--overlay-opacity));
11
- opacity: 0;
12
- visibility: hidden;
13
- transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
14
- }
15
- .overlay.isOpen {
16
- opacity: 1;
17
- visibility: visible;
18
- }
19
- .overlay.isOpen .contentContainer {
20
- transform: translateY(0);
21
- opacity: 1;
22
- }
23
-
24
- .contentContainer {
25
- width: 100%;
26
- max-width: var(--width-modal-md);
27
- transform: translateY(var(--spacing-5));
28
- opacity: 0;
29
- transition: transform var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
30
- }
31
-
32
- .modalCard {
33
- background-color: var(--surface-brand);
34
- }
35
- .modalCard.solid {
36
- /* ROOT CONTEXT (The Field) */
37
- background-color: var(--solid-bg);
38
- color: var(--solid-fg);
39
- /* Root Variables */
40
- --background: var(--solid-bg);
41
- --foreground: var(--solid-fg);
42
- --muted-foreground: color-mix(in srgb, var(--solid-fg) 70%, transparent);
43
- /*
44
- * Standardized Brand Surface Logic
45
- * Decouples Modals (Surface) from Buttons (Action)
46
- */
47
- --surface-brand: var(--solid-bg);
48
- --surface-brand-foreground: var(--solid-fg);
49
- /* SEMANTICS (True Semantic Colors) */
50
- --success: var(--solid-success);
51
- --success-foreground: var(--solid-fg);
52
- --error: var(--solid-error);
53
- --error-foreground: var(--solid-fg);
54
- --warning: var(--solid-warning);
55
- --warning-foreground: var(--solid-fg);
56
- /* SURFACE COLORS */
57
- --on-surface: var(--solid-bg);
58
- --on-surface-muted: var(--solid-bg);
59
- /* COMPONENT TOKENS */
60
- --card-bg: color-mix(in srgb, var(--solid-fg) 95%, var(--solid-bg) 5%);
61
- --card-border: var(--solid-fg);
62
- --card-foreground: var(--solid-fg);
63
- /* POPOVER TOKENS */
64
- --popover: color-mix(in srgb, var(--solid-fg) 95%, var(--solid-bg) 5%);
65
- --popover-foreground: var(--solid-bg);
66
- /* INPUT TOKENS */
67
- --input: color-mix(in srgb, var(--solid-fg) 95%, var(--solid-bg) 5%);
68
- --border-strong: var(--solid-fg);
69
- /* BUTTON TOKENS */
70
- --primary: var(--solid-fg);
71
- --primary-foreground: var(--solid-bg);
72
- /* SECONDARY TOKENS */
73
- --secondary: color-mix(in srgb, var(--solid-bg) 90%, transparent);
74
- --secondary-foreground: var(--solid-fg);
75
- /* MUTED TOKENS */
76
- --muted: color-mix(in srgb, var(--solid-fg) 20%, transparent);
77
- }
78
- .modalCard.solid .header,
79
- .modalCard.solid .body,
80
- .modalCard.solid .footer,
81
- .modalCard.solid .modalContent {
82
- background-color: transparent !important;
83
- }
84
- .modalCard.solid .closeButton:hover {
85
- transform: translate(-2px, -2px);
86
- box-shadow: 6px 6px 0px 0px var(--shadow-base);
87
- }
88
- .modalCard.solid .closeButton {
89
- background-color: var(--error) !important;
90
- color: var(--error-foreground) !important;
91
- border-color: var(--border-strong) !important;
92
- box-shadow: var(--shadow-hard);
93
- }
94
-
95
- .header {
96
- padding: var(--spacing-6);
97
- background-color: var(--surface-brand);
98
- color: var(--surface-brand-foreground);
99
- border-bottom: var(--border-width) solid var(--border-strong);
100
- /* Remap foreground variables so children (like Text) use the correct contrast color */
101
- --foreground: var(--surface-brand-foreground);
102
- --muted-foreground: var(--surface-brand-foreground);
103
- }
104
-
105
- .headerContent {
106
- flex: 1;
107
- max-width: 85%;
108
- }
109
-
110
- .modalContent {
111
- background-color: var(--card-bg);
112
- padding-top: var(--border-width);
113
- margin-top: calc(-1 * var(--border-width));
114
- }
115
-
116
- .body {
117
- padding: var(--spacing-6);
118
- color: var(--foreground);
119
- background-color: var(--card-bg);
120
- width: 100%;
121
- }
122
-
123
- .header + .body {
124
- margin-top: calc(-1 * var(--border-width));
125
- padding-top: calc(var(--spacing-6) + var(--border-width));
126
- }
127
-
128
- .footer {
129
- padding: var(--spacing-6);
130
- padding-top: 0;
131
- background-color: var(--card-bg);
132
- width: 100%;
1
+ @layer doom.components {
2
+ .overlay {
3
+ position: fixed;
4
+ inset: 0;
5
+ z-index: var(--z-modal);
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ padding: var(--space-4);
10
+ backdrop-filter: blur(var(--blur-standard));
11
+ background-color: rgba(0, 0, 0, var(--overlay-opacity));
12
+ opacity: 0;
13
+ visibility: hidden;
14
+ transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
15
+ }
16
+ .overlay.isOpen {
17
+ opacity: 1;
18
+ visibility: visible;
19
+ }
20
+ .overlay.isOpen .contentContainer {
21
+ transform: translateY(0);
22
+ opacity: 1;
23
+ }
24
+ .contentContainer {
25
+ width: 100%;
26
+ max-width: var(--width-modal-md);
27
+ transform: translateY(var(--space-5));
28
+ opacity: 0;
29
+ transition: transform var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
30
+ }
31
+ .modalCard {
32
+ background-color: var(--surface-brand);
33
+ }
34
+ .modalCard.solid {
35
+ background-color: var(--solid-bg);
36
+ color: var(--solid-fg);
37
+ --background: var(--solid-bg);
38
+ --foreground: var(--solid-fg);
39
+ --muted-foreground: color-mix(in srgb, var(--solid-fg) 70%, transparent);
40
+ --surface-brand: var(--solid-bg);
41
+ --surface-brand-foreground: var(--solid-fg);
42
+ --success: var(--solid-success);
43
+ --success-foreground: var(--solid-fg);
44
+ --error: var(--solid-error);
45
+ --error-foreground: var(--solid-fg);
46
+ --warning: var(--solid-warning);
47
+ --warning-foreground: var(--solid-fg);
48
+ --on-surface: var(--solid-bg);
49
+ --on-surface-muted: var(--solid-bg);
50
+ --card-bg: color-mix(in srgb, var(--solid-fg) 95%, var(--solid-bg) 5%);
51
+ --card-border: var(--solid-fg);
52
+ --card-foreground: var(--solid-fg);
53
+ --popover: color-mix(in srgb, var(--solid-fg) 95%, var(--solid-bg) 5%);
54
+ --popover-foreground: var(--solid-bg);
55
+ --input: color-mix(in srgb, var(--solid-fg) 95%, var(--solid-bg) 5%);
56
+ --border-strong: var(--solid-fg);
57
+ --primary: var(--solid-fg);
58
+ --primary-foreground: var(--solid-bg);
59
+ --secondary: color-mix(in srgb, var(--solid-bg) 90%, transparent);
60
+ --secondary-foreground: var(--solid-fg);
61
+ --muted: color-mix(in srgb, var(--solid-fg) 20%, transparent);
62
+ }
63
+ .modalCard.solid .header,
64
+ .modalCard.solid .body,
65
+ .modalCard.solid .footer,
66
+ .modalCard.solid .modalContent {
67
+ background-color: transparent !important;
68
+ }
69
+ .modalCard.solid .closeButton:hover {
70
+ transform: translate(calc(-1 * var(--space-0\.5)), calc(-1 * var(--space-0\.5)));
71
+ box-shadow: var(--shadow-lg);
72
+ }
73
+ .modalCard.solid .closeButton {
74
+ background-color: var(--error) !important;
75
+ color: var(--error-foreground) !important;
76
+ border-color: var(--border-strong) !important;
77
+ box-shadow: var(--shadow-md);
78
+ }
79
+ .header {
80
+ padding: var(--surface-padding);
81
+ background-color: var(--surface-brand);
82
+ color: var(--surface-brand-foreground);
83
+ border-bottom: var(--surface-border-width) solid var(--border-strong);
84
+ /* Remap foreground variables so children (like Text) use the correct contrast color */
85
+ --foreground: var(--surface-brand-foreground);
86
+ --muted-foreground: var(--surface-brand-foreground);
87
+ }
88
+ .headerContent {
89
+ flex: 1;
90
+ max-width: 85%;
91
+ }
92
+ .modalContent {
93
+ background-color: var(--card-bg);
94
+ padding-top: var(--surface-border-width);
95
+ margin-top: calc(-1 * var(--surface-border-width));
96
+ }
97
+ .body {
98
+ padding: var(--surface-padding);
99
+ color: var(--foreground);
100
+ background-color: var(--card-bg);
101
+ width: 100%;
102
+ }
103
+ .header + .body {
104
+ margin-top: calc(-1 * var(--surface-border-width));
105
+ padding-top: calc(var(--surface-padding) + var(--surface-border-width));
106
+ }
107
+ .footer {
108
+ padding: var(--surface-padding);
109
+ padding-top: 0;
110
+ background-color: var(--card-bg);
111
+ width: 100%;
112
+ }
133
113
  }
@@ -1,24 +1,24 @@
1
- .container {
2
- flex: 1;
3
- width: 100%;
4
- }
5
-
6
- .default {
7
- width: 90%;
8
- max-width: var(--page-max-width);
9
- backdrop-filter: blur(var(--blur-standard));
10
- margin: 0 auto;
11
- padding: var(--spacing-8) var(--spacing-4);
12
- }
13
- @media (max-width: 1024px) {
1
+ @layer doom.components {
2
+ .container {
3
+ flex: 1;
4
+ width: 100%;
5
+ }
14
6
  .default {
15
- width: 95%;
16
- padding: var(--spacing-4);
7
+ width: 90%;
8
+ max-width: var(--page-max-width);
9
+ backdrop-filter: blur(var(--blur-standard));
10
+ margin: 0 auto;
11
+ padding: var(--space-8) var(--space-4);
12
+ }
13
+ @media (max-width: 1024px) {
14
+ .default {
15
+ width: 95%;
16
+ padding: var(--space-4);
17
+ }
18
+ }
19
+ .fullWidth {
20
+ max-width: 100%;
21
+ margin: 0;
22
+ padding: 0;
17
23
  }
18
- }
19
-
20
- .fullWidth {
21
- max-width: 100%;
22
- margin: 0;
23
- padding: 0;
24
24
  }
@@ -1,57 +1,57 @@
1
- .nav {
2
- display: flex;
3
- justify-content: center;
4
- align-items: center;
5
- gap: var(--spacing-2);
6
- }
7
-
8
- .button {
9
- display: inline-flex;
10
- align-items: center;
11
- justify-content: center;
12
- width: var(--spacing-10);
13
- height: var(--spacing-10);
14
- border: var(--border-width) solid var(--card-border);
15
- border-radius: var(--radius);
16
- background-color: var(--card-bg);
17
- color: var(--foreground);
18
- font-family: var(--font-heading);
19
- font-weight: 700;
20
- cursor: pointer;
21
- box-shadow: var(--shadow-sm);
22
- transition: transform 0.2s ease, box-shadow 0.2s ease;
23
- }
24
- .button:not(:disabled):not(.active):hover {
25
- transform: translate(-2px, -2px);
26
- box-shadow: 6px 6px 0px 0px var(--card-border);
27
- }
28
- .button:not(:disabled):not(.active):hover {
29
- background-color: var(--primary);
30
- color: var(--primary-foreground);
31
- }
32
- .button:active:not(:disabled) {
33
- transform: translate(0, 0);
34
- box-shadow: none;
35
- }
36
- .button:disabled {
37
- opacity: 0.5;
38
- cursor: not-allowed;
39
- background-color: var(--muted);
40
- box-shadow: none;
41
- }
42
- .button.active {
43
- background-color: var(--primary);
44
- color: var(--primary-foreground);
45
- box-shadow: var(--shadow-sm);
46
- cursor: default;
47
- transition: none;
48
- }
49
-
50
- .ellipsis {
51
- display: inline-flex;
52
- align-items: center;
53
- justify-content: center;
54
- width: var(--spacing-10);
55
- height: var(--spacing-10);
56
- color: var(--muted-foreground);
1
+ @layer doom.components {
2
+ .nav {
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: center;
6
+ gap: var(--space-2);
7
+ }
8
+ .button {
9
+ display: inline-flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ width: var(--control-height);
13
+ height: var(--control-height);
14
+ border: var(--surface-border-width) solid var(--card-border);
15
+ border-radius: var(--radius-md);
16
+ background-color: var(--card-bg);
17
+ color: var(--foreground);
18
+ font-family: var(--font-heading);
19
+ font-weight: 700;
20
+ cursor: pointer;
21
+ box-shadow: var(--shadow-sm);
22
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
23
+ }
24
+ .button:not(:disabled):not(.active):hover {
25
+ transform: translate(calc(-1 * var(--space-0\.5)), calc(-1 * var(--space-0\.5)));
26
+ box-shadow: var(--shadow-lg);
27
+ }
28
+ .button:not(:disabled):not(.active):hover {
29
+ background-color: var(--primary);
30
+ color: var(--primary-foreground);
31
+ }
32
+ .button:active:not(:disabled) {
33
+ transform: translate(0, 0);
34
+ box-shadow: none;
35
+ }
36
+ .button:disabled {
37
+ opacity: 0.5;
38
+ cursor: not-allowed;
39
+ background-color: var(--muted);
40
+ box-shadow: none;
41
+ }
42
+ .button.active {
43
+ background-color: var(--primary);
44
+ color: var(--primary-foreground);
45
+ box-shadow: var(--shadow-sm);
46
+ cursor: default;
47
+ transition: none;
48
+ }
49
+ .ellipsis {
50
+ display: inline-flex;
51
+ align-items: center;
52
+ justify-content: center;
53
+ width: var(--control-height);
54
+ height: var(--control-height);
55
+ color: var(--muted-foreground);
56
+ }
57
57
  }
@@ -1,19 +1,20 @@
1
- .popover {
2
- position: fixed;
3
- z-index: var(--z-tooltip);
4
- animation: popoverScale 0.1s ease-out;
5
- }
6
-
7
- @keyframes popoverScale {
8
- from {
9
- opacity: 0;
10
- transform: scale(0.95);
1
+ @layer doom.components {
2
+ .popover {
3
+ position: fixed;
4
+ z-index: var(--z-tooltip);
5
+ animation: popoverScale 0.1s ease-out;
11
6
  }
12
- to {
13
- opacity: 1;
14
- transform: scale(1);
7
+ @keyframes popoverScale {
8
+ from {
9
+ opacity: 0;
10
+ transform: scale(0.95);
11
+ }
12
+ to {
13
+ opacity: 1;
14
+ transform: scale(1);
15
+ }
16
+ }
17
+ .triggerWrapper {
18
+ display: inline-block;
15
19
  }
16
- }
17
- .triggerWrapper {
18
- display: inline-block;
19
20
  }
@@ -1,38 +1,37 @@
1
- .wrapper {
2
- display: flex;
3
- flex-direction: column;
4
- gap: var(--spacing-2);
5
- width: 100%;
6
- }
7
-
8
- .container {
9
- height: var(--height, var(--spacing-6));
10
- width: 100%;
11
- background: var(--card-bg);
12
- border-radius: var(--radius);
13
- overflow: hidden;
14
- border: var(--border-width) solid var(--card-border);
15
- position: relative;
16
- }
17
-
18
- .fill {
19
- height: 100%;
20
- width: var(--percentage, 0%);
21
- background: var(--color, var(--primary));
22
- border-right: var(--border-width) solid var(--card-border);
23
- transition: width 0.5s ease-out;
24
- }
25
- .fill[data-complete=true] {
26
- border-right: none;
27
- }
28
-
29
- .stripes {
30
- position: absolute;
31
- top: 0;
32
- left: 0;
33
- right: 0;
34
- bottom: 0;
35
- background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.05) 50%, rgba(0, 0, 0, 0.05) 75%, transparent 75%, transparent);
36
- background-size: var(--spacing-5) var(--spacing-5);
37
- pointer-events: none;
1
+ @layer doom.components {
2
+ .wrapper {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: var(--space-2);
6
+ width: 100%;
7
+ }
8
+ .container {
9
+ height: var(--height, var(--space-6));
10
+ width: 100%;
11
+ background: var(--card-bg);
12
+ border-radius: var(--radius-md);
13
+ overflow: hidden;
14
+ border: var(--surface-border-width) solid var(--card-border);
15
+ position: relative;
16
+ }
17
+ .fill {
18
+ height: 100%;
19
+ width: var(--percentage, 0%);
20
+ background: var(--color, var(--primary));
21
+ border-right: var(--surface-border-width) solid var(--card-border);
22
+ transition: width 0.5s ease-out;
23
+ }
24
+ .fill[data-complete=true] {
25
+ border-right: none;
26
+ }
27
+ .stripes {
28
+ position: absolute;
29
+ top: 0;
30
+ left: 0;
31
+ right: 0;
32
+ bottom: 0;
33
+ background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.05) 50%, rgba(0, 0, 0, 0.05) 75%, transparent 75%, transparent);
34
+ background-size: var(--space-4) var(--space-4);
35
+ pointer-events: none;
36
+ }
38
37
  }