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,56 +1,55 @@
1
- .item {
2
- display: flex;
3
- align-items: center;
4
- width: 100%;
5
- padding: var(--spacing-3) var(--spacing-4);
6
- background: transparent;
7
- border: var(--border-width) solid transparent;
8
- border-radius: var(--radius);
9
- cursor: pointer;
10
- font-size: var(--text-sm);
11
- font-weight: 500;
12
- color: var(--foreground);
13
- text-decoration: none;
14
- gap: var(--spacing-3);
15
- margin-bottom: var(--spacing-1);
16
- }
17
- .item:last-child {
18
- margin-bottom: 0;
19
- }
20
- .item:hover {
21
- background-color: var(--primary);
22
- color: var(--primary-foreground);
23
- border-color: var(--border-strong);
24
- }
25
- .item:focus-visible {
26
- outline: none;
27
- border-color: var(--primary);
28
- box-shadow: 0 0 0 var(--spacing-half) color-mix(in srgb, var(--primary) 30%, transparent);
29
- }
30
- .item.active {
31
- background-color: var(--primary);
32
- color: var(--primary-foreground);
33
- border-color: var(--border-strong);
34
- }
35
-
36
- .itemIcon {
37
- display: flex;
38
- align-items: center;
39
- justify-content: center;
40
- flex-shrink: 0;
41
- width: var(--size-icon-md);
42
- height: var(--size-icon-md);
43
- }
44
-
45
- .itemLabel {
46
- flex: 1;
47
- white-space: nowrap;
48
- overflow: hidden;
49
- text-overflow: ellipsis;
50
- text-align: left;
51
- }
52
-
53
- .itemAppend {
54
- flex-shrink: 0;
55
- margin-left: auto;
1
+ @layer doom.components {
2
+ .item {
3
+ display: flex;
4
+ align-items: center;
5
+ width: 100%;
6
+ padding: var(--space-3) var(--space-4);
7
+ background: transparent;
8
+ border: var(--surface-border-width) solid transparent;
9
+ border-radius: var(--radius-md);
10
+ cursor: pointer;
11
+ font-size: var(--text-sm);
12
+ font-weight: 500;
13
+ color: var(--foreground);
14
+ text-decoration: none;
15
+ gap: var(--space-3);
16
+ margin-bottom: var(--space-1);
17
+ }
18
+ .item:last-child {
19
+ margin-bottom: 0;
20
+ }
21
+ .item:hover {
22
+ background-color: var(--primary);
23
+ color: var(--primary-foreground);
24
+ border-color: var(--border-strong);
25
+ }
26
+ .item:focus-visible {
27
+ outline: none;
28
+ border-color: var(--primary);
29
+ box-shadow: 0 0 0 var(--space-0\.5) color-mix(in srgb, var(--primary) 30%, transparent);
30
+ }
31
+ .item.active {
32
+ background-color: var(--primary);
33
+ color: var(--primary-foreground);
34
+ border-color: var(--border-strong);
35
+ }
36
+ .itemIcon {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ flex-shrink: 0;
41
+ width: var(--size-icon-md);
42
+ height: var(--size-icon-md);
43
+ }
44
+ .itemLabel {
45
+ flex: 1;
46
+ white-space: nowrap;
47
+ overflow: hidden;
48
+ text-overflow: ellipsis;
49
+ text-align: left;
50
+ }
51
+ .itemAppend {
52
+ flex-shrink: 0;
53
+ margin-left: auto;
54
+ }
56
55
  }
@@ -1,39 +1,39 @@
1
- .overlay {
2
- position: fixed;
3
- inset: 0;
4
- background-color: rgba(0, 0, 0, var(--overlay-opacity));
5
- backdrop-filter: blur(var(--blur-standard));
6
- opacity: 0;
7
- visibility: hidden;
8
- transition: opacity var(--duration-normal) var(--ease-in-out), visibility var(--duration-normal) var(--ease-in-out);
9
- pointer-events: none;
10
- z-index: var(--z-overlay);
11
- }
12
- .overlay.isOpen {
13
- opacity: 1;
14
- visibility: visible;
15
- pointer-events: auto;
16
- }
17
-
18
- .mobilePanel {
19
- position: fixed;
20
- top: 0;
21
- left: 0;
22
- bottom: 0;
23
- width: var(--width-sidebar);
24
- max-width: 85vw;
25
- background-color: var(--card-bg);
26
- z-index: var(--z-drawer);
27
- transform: translateX(calc(-100% - 20px));
28
- transition: transform var(--duration-normal) var(--ease-in-out), visibility var(--duration-normal) var(--ease-in-out);
29
- visibility: hidden;
30
- border-right: var(--border-width) solid var(--card-border);
31
- /* Bottom-Right shadow for left-anchored elements */
32
- box-shadow: var(--spacing-2) var(--spacing-2) 0 0 var(--shadow-base);
33
- border-top-right-radius: var(--radius);
34
- border-bottom-right-radius: var(--radius);
35
- }
36
- .mobilePanel.isOpen {
37
- visibility: visible;
38
- transform: translateX(0);
1
+ @layer doom.components {
2
+ .overlay {
3
+ position: fixed;
4
+ inset: 0;
5
+ background-color: rgba(0, 0, 0, var(--overlay-opacity));
6
+ backdrop-filter: blur(var(--blur-standard));
7
+ opacity: 0;
8
+ visibility: hidden;
9
+ transition: opacity var(--duration-normal) var(--ease-in-out), visibility var(--duration-normal) var(--ease-in-out);
10
+ pointer-events: none;
11
+ z-index: var(--z-overlay);
12
+ }
13
+ .overlay.isOpen {
14
+ opacity: 1;
15
+ visibility: visible;
16
+ pointer-events: auto;
17
+ }
18
+ .mobilePanel {
19
+ position: fixed;
20
+ top: 0;
21
+ left: 0;
22
+ bottom: 0;
23
+ width: var(--width-sidebar);
24
+ max-width: 85vw;
25
+ background-color: var(--card-bg);
26
+ z-index: var(--z-drawer);
27
+ transform: translateX(calc(-100% - 20px));
28
+ transition: transform var(--duration-normal) var(--ease-in-out), visibility var(--duration-normal) var(--ease-in-out);
29
+ visibility: hidden;
30
+ border-right: var(--surface-border-width) solid var(--card-border);
31
+ box-shadow: var(--space-2) var(--space-2) 0 0 var(--shadow-base);
32
+ border-top-right-radius: var(--radius-md);
33
+ border-bottom-right-radius: var(--radius-md);
34
+ }
35
+ .mobilePanel.isOpen {
36
+ visibility: visible;
37
+ transform: translateX(0);
38
+ }
39
39
  }
@@ -1,5 +1,7 @@
1
- @media (min-width: 768px) {
2
- .mobileTrigger {
3
- display: none;
1
+ @layer doom.components {
2
+ @media (min-width: 768px) {
3
+ .mobileTrigger {
4
+ display: none;
5
+ }
4
6
  }
5
7
  }
@@ -1,12 +1,14 @@
1
- .nav {
2
- flex: 1;
3
- overflow-y: auto;
4
- padding: var(--spacing-2);
5
- display: flex;
6
- flex-direction: column;
7
- }
8
- .nav > * {
9
- flex: 1;
10
- display: flex;
11
- flex-direction: column;
1
+ @layer doom.components {
2
+ .nav {
3
+ flex: 1;
4
+ overflow-y: auto;
5
+ padding: var(--space-2);
6
+ display: flex;
7
+ flex-direction: column;
8
+ }
9
+ .nav > * {
10
+ flex: 1;
11
+ display: flex;
12
+ flex-direction: column;
13
+ }
12
14
  }
@@ -1,64 +1,63 @@
1
- .rail {
2
- display: flex;
3
- flex-direction: column;
4
- width: var(--width-sidebar-collapsed);
5
- flex-shrink: 0;
6
- border-right: var(--border-width) solid var(--card-border);
7
- background-color: var(--primary);
8
- color: var(--primary-foreground);
9
- overflow: hidden;
10
- border-top-left-radius: inherit;
11
- border-bottom-left-radius: inherit;
12
- }
13
-
14
- .railBrand {
15
- display: flex;
16
- align-items: center;
17
- justify-content: center;
18
- padding: var(--spacing-4);
19
- height: var(--header-height);
20
- border-bottom: none;
21
- box-sizing: border-box;
22
- flex-shrink: 0;
23
- }
24
-
25
- .railNav {
26
- display: flex;
27
- flex-direction: column;
28
- padding: var(--spacing-2);
29
- gap: var(--spacing-2);
30
- }
31
-
32
- .railItem {
33
- display: flex;
34
- align-items: center;
35
- justify-content: center;
36
- width: 100%;
37
- aspect-ratio: 1;
38
- padding: var(--spacing-3);
39
- background: transparent;
40
- border: var(--border-width) solid transparent;
41
- border-radius: var(--radius);
42
- cursor: pointer;
43
- color: var(--primary-foreground);
44
- }
45
- .railItem:hover {
46
- background-color: transparent;
47
- color: var(--primary-foreground);
48
- border-color: var(--common-black);
49
- opacity: 1;
50
- }
51
- .railItem:focus-visible {
52
- outline: none;
53
- background-color: transparent;
54
- color: var(--primary-foreground);
55
- border-color: var(--common-black);
56
- opacity: 1;
57
- }
58
- .railItem.active {
59
- background-color: transparent;
60
- color: var(--primary-foreground);
61
- border-color: var(--common-black);
62
- opacity: 1;
63
- border-radius: var(--radius);
1
+ @layer doom.components {
2
+ .rail {
3
+ display: flex;
4
+ flex-direction: column;
5
+ width: var(--width-sidebar-collapsed);
6
+ flex-shrink: 0;
7
+ border-right: var(--surface-border-width) solid var(--card-border);
8
+ background-color: var(--primary);
9
+ color: var(--primary-foreground);
10
+ overflow: hidden;
11
+ border-top-left-radius: inherit;
12
+ border-bottom-left-radius: inherit;
13
+ }
14
+ .railBrand {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ padding: var(--space-4);
19
+ height: var(--header-height);
20
+ border-bottom: none;
21
+ box-sizing: border-box;
22
+ flex-shrink: 0;
23
+ }
24
+ .railNav {
25
+ display: flex;
26
+ flex-direction: column;
27
+ padding: var(--space-2);
28
+ gap: var(--space-2);
29
+ }
30
+ .railItem {
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ width: 100%;
35
+ aspect-ratio: 1;
36
+ padding: var(--space-3);
37
+ background: transparent;
38
+ border: var(--surface-border-width) solid transparent;
39
+ border-radius: var(--radius-md);
40
+ cursor: pointer;
41
+ color: var(--primary-foreground);
42
+ }
43
+ .railItem:hover {
44
+ background-color: transparent;
45
+ color: var(--primary-foreground);
46
+ border-color: var(--common-black);
47
+ opacity: 1;
48
+ }
49
+ .railItem:focus-visible {
50
+ outline: none;
51
+ background-color: transparent;
52
+ color: var(--primary-foreground);
53
+ border-color: var(--common-black);
54
+ opacity: 1;
55
+ }
56
+ .railItem.active {
57
+ background-color: transparent;
58
+ color: var(--primary-foreground);
59
+ border-color: var(--common-black);
60
+ opacity: 1;
61
+ border-radius: var(--radius-md);
62
+ }
64
63
  }
@@ -1,92 +1,87 @@
1
- .section {
2
- margin-bottom: var(--spacing-1);
3
- }
4
-
5
- .sectionTrigger {
6
- display: flex;
7
- align-items: center;
8
- width: 100%;
9
- padding: var(--spacing-3) var(--spacing-4);
10
- background: transparent;
11
- border: var(--border-width) solid transparent;
12
- border-radius: var(--radius);
13
- cursor: pointer;
14
- font-family: var(--font-heading);
15
- font-size: var(--text-xs);
16
- font-weight: 700;
17
- text-transform: uppercase;
18
- letter-spacing: 0.05em;
19
- color: var(--muted-foreground);
20
- gap: var(--spacing-3);
21
- }
22
- .sectionTrigger:hover {
23
- background-color: var(--primary);
24
- color: var(--primary-foreground);
25
- border-color: var(--border-strong);
26
- }
27
- .sectionTrigger:focus-visible {
28
- outline: none;
29
- background-color: var(--primary);
30
- color: var(--primary-foreground);
31
- border-color: var(--border-strong);
32
- }
33
- .sectionTrigger.active {
34
- background-color: var(--primary);
35
- color: var(--primary-foreground);
36
- border-color: var(--border-strong);
37
- }
38
-
39
- .sectionIcon {
40
- display: flex;
41
- align-items: center;
42
- justify-content: center;
43
- flex-shrink: 0;
44
- width: var(--size-icon-md);
45
- height: var(--size-icon-md);
46
- }
47
-
48
- .sectionLabel {
49
- flex: 1;
50
- text-align: left;
51
- }
52
-
53
- .sectionChevron {
54
- display: flex;
55
- align-items: center;
56
- justify-content: center;
57
- color: var(--card-border);
58
- }
59
-
60
- .sectionTrigger:hover .sectionChevron,
61
- .sectionTrigger:focus-visible .sectionChevron,
62
- .sectionTrigger.active .sectionChevron {
63
- color: inherit;
64
- }
65
-
66
- .sectionTrigger[aria-expanded=true] .sectionChevron {
67
- transform: rotate(90deg);
68
- }
69
-
70
- .sectionContent {
71
- display: none;
72
- overflow: hidden;
73
- margin-left: var(--spacing-6);
74
- padding-left: var(--spacing-3);
75
- position: relative;
76
- }
77
- .sectionContent::before {
78
- content: "";
79
- position: absolute;
80
- left: 0;
81
- top: 0;
82
- bottom: 0;
83
- width: var(--border-width);
84
- background-color: var(--card-border);
85
- }
86
- .sectionContent > * {
87
- overflow: hidden;
88
- }
89
- .sectionContent.expanded {
90
- display: block;
91
- margin-top: var(--spacing-2);
1
+ @layer doom.components {
2
+ .section {
3
+ margin-bottom: var(--space-1);
4
+ }
5
+ .sectionTrigger {
6
+ display: flex;
7
+ align-items: center;
8
+ width: 100%;
9
+ padding: var(--space-3) var(--space-4);
10
+ background: transparent;
11
+ border: var(--surface-border-width) solid transparent;
12
+ border-radius: var(--radius-md);
13
+ cursor: pointer;
14
+ font-family: var(--font-heading);
15
+ font-size: var(--text-xs);
16
+ font-weight: 700;
17
+ text-transform: uppercase;
18
+ letter-spacing: 0.05em;
19
+ color: var(--muted-foreground);
20
+ gap: var(--space-3);
21
+ }
22
+ .sectionTrigger:hover {
23
+ background-color: var(--primary);
24
+ color: var(--primary-foreground);
25
+ border-color: var(--border-strong);
26
+ }
27
+ .sectionTrigger:focus-visible {
28
+ outline: none;
29
+ background-color: var(--primary);
30
+ color: var(--primary-foreground);
31
+ border-color: var(--border-strong);
32
+ }
33
+ .sectionTrigger.active {
34
+ background-color: var(--primary);
35
+ color: var(--primary-foreground);
36
+ border-color: var(--border-strong);
37
+ }
38
+ .sectionIcon {
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ flex-shrink: 0;
43
+ width: var(--size-icon-md);
44
+ height: var(--size-icon-md);
45
+ }
46
+ .sectionLabel {
47
+ flex: 1;
48
+ text-align: left;
49
+ }
50
+ .sectionChevron {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ color: var(--card-border);
55
+ }
56
+ .sectionTrigger:hover .sectionChevron,
57
+ .sectionTrigger:focus-visible .sectionChevron,
58
+ .sectionTrigger.active .sectionChevron {
59
+ color: inherit;
60
+ }
61
+ .sectionTrigger[aria-expanded=true] .sectionChevron {
62
+ transform: rotate(90deg);
63
+ }
64
+ .sectionContent {
65
+ display: none;
66
+ overflow: hidden;
67
+ margin-left: var(--space-6);
68
+ padding-left: var(--space-3);
69
+ position: relative;
70
+ }
71
+ .sectionContent::before {
72
+ content: "";
73
+ position: absolute;
74
+ left: 0;
75
+ top: 0;
76
+ bottom: 0;
77
+ width: var(--surface-border-width);
78
+ background-color: var(--card-border);
79
+ }
80
+ .sectionContent > * {
81
+ overflow: hidden;
82
+ }
83
+ .sectionContent.expanded {
84
+ display: block;
85
+ margin-top: var(--space-2);
86
+ }
92
87
  }
@@ -1,29 +1,31 @@
1
- @keyframes shimmer {
2
- 0% {
3
- background-position: -200% 0;
1
+ @layer doom.components {
2
+ @keyframes shimmer {
3
+ 0% {
4
+ background-position: -200% 0;
5
+ }
6
+ 100% {
7
+ background-position: 200% 0;
8
+ }
4
9
  }
5
- 100% {
6
- background-position: 200% 0;
10
+ .skeleton {
11
+ background: linear-gradient(90deg, color-mix(in srgb, var(--foreground), transparent 90%) 25%, color-mix(in srgb, var(--foreground), transparent 80%) 37%, color-mix(in srgb, var(--foreground), transparent 90%) 63%);
12
+ background-size: 200% 100%;
13
+ animation: shimmer 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
14
+ width: var(--width, 100%);
15
+ height: var(--height, auto);
16
+ }
17
+ .skeleton.text {
18
+ height: var(--height, 1em);
19
+ border-radius: var(--radius-md);
20
+ margin-bottom: var(--space-2);
21
+ }
22
+ .skeleton.circular {
23
+ border-radius: 50%;
24
+ height: var(--height, var(--width, var(--space-12)));
25
+ width: var(--width, var(--height, var(--space-12)));
26
+ }
27
+ .skeleton.rectangular {
28
+ height: var(--height, 160px);
29
+ border-radius: var(--radius-md);
7
30
  }
8
- }
9
- .skeleton {
10
- background: linear-gradient(90deg, color-mix(in srgb, var(--foreground), transparent 90%) 25%, color-mix(in srgb, var(--foreground), transparent 80%) 37%, color-mix(in srgb, var(--foreground), transparent 90%) 63%);
11
- background-size: 200% 100%;
12
- animation: shimmer 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
13
- width: var(--width, 100%);
14
- height: var(--height, auto);
15
- }
16
- .skeleton.text {
17
- height: var(--height, 1em);
18
- border-radius: var(--radius);
19
- margin-bottom: var(--spacing-2);
20
- }
21
- .skeleton.circular {
22
- border-radius: 50%;
23
- height: var(--height, var(--width, var(--spacing-12)));
24
- width: var(--width, var(--height, var(--spacing-12)));
25
- }
26
- .skeleton.rectangular {
27
- height: var(--height, var(--spacing-40));
28
- border-radius: var(--radius);
29
31
  }