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,427 +1,393 @@
1
- .group {
2
- padding: var(--spacing-2);
3
- transition: all var(--duration-fast) var(--ease-in-out);
4
- position: relative;
5
- margin-left: 0 !important;
6
- overflow: visible;
7
- }
8
- .group.hasRail {
9
- margin-left: 0 !important;
10
- border-left: 2px solid var(--border-strong);
11
- padding-left: var(--spacing-6);
12
- }
13
- @media (max-width: 640px) {
1
+ @layer doom.components {
2
+ .group {
3
+ padding: var(--space-2);
4
+ transition: all var(--duration-fast) var(--ease-in-out);
5
+ position: relative;
6
+ margin-left: 0 !important;
7
+ overflow: visible;
8
+ }
14
9
  .group.hasRail {
15
- padding-left: var(--spacing-2);
10
+ margin-left: 0 !important;
11
+ border-left: 2px solid var(--border-strong);
12
+ padding-left: var(--space-6);
13
+ }
14
+ @media (max-width: 640px) {
15
+ .group.hasRail {
16
+ padding-left: var(--space-2);
17
+ }
18
+ }
19
+ .group.dragging {
20
+ opacity: 0.5;
21
+ border-style: dashed;
22
+ border-color: var(--muted);
23
+ }
24
+ .group.groupDropTarget {
25
+ border-color: var(--primary);
26
+ background: color-mix(in srgb, var(--primary) 8%, transparent);
27
+ box-shadow: inset 0 0 0 2px var(--primary);
28
+ }
29
+ .group.collapsed .groupHeader {
30
+ margin-bottom: 0;
31
+ padding-bottom: 0;
32
+ border-bottom: none;
33
+ }
34
+ .group.rootGroup .groupHeader {
35
+ margin-bottom: var(--space-2);
36
+ }
37
+ .groupHeader {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: var(--space-2);
41
+ margin-bottom: var(--space-2);
42
+ padding-bottom: var(--space-2);
43
+ border-bottom: 1px solid var(--card-border);
44
+ }
45
+ .headerSpacer {
46
+ flex: 1;
47
+ }
48
+ .collapseToggle {
49
+ padding: var(--space-1);
50
+ color: var(--muted-foreground);
51
+ }
52
+ .collapseToggle:hover {
53
+ color: var(--foreground);
54
+ }
55
+ .logicToggle {
56
+ text-transform: uppercase;
57
+ letter-spacing: 0.1em;
58
+ font-weight: var(--font-bold);
59
+ }
60
+ .collapsedSummary {
61
+ margin-left: var(--space-1);
62
+ }
63
+ .groupContentWrapper {
64
+ display: grid;
65
+ grid-template-rows: 1fr;
66
+ transition: grid-template-rows var(--duration-normal) var(--ease-in-out);
67
+ }
68
+ .collapsedWrapper {
69
+ grid-template-rows: 0fr;
16
70
  }
17
- }
18
- .group.dragging {
19
- opacity: 0.5;
20
- border-style: dashed;
21
- border-color: var(--muted);
22
- }
23
- .group.groupDropTarget {
24
- border-color: var(--primary);
25
- background: color-mix(in srgb, var(--primary) 8%, transparent);
26
- box-shadow: inset 0 0 0 2px var(--primary);
27
- }
28
- .group.collapsed .groupHeader {
29
- margin-bottom: 0;
30
- padding-bottom: 0;
31
- border-bottom: none;
32
- }
33
- .group.rootGroup .groupHeader {
34
- margin-bottom: var(--spacing-2);
35
- }
36
-
37
- .groupHeader {
38
- display: flex;
39
- align-items: center;
40
- gap: var(--spacing-2);
41
- margin-bottom: var(--spacing-2);
42
- padding-bottom: var(--spacing-2);
43
- border-bottom: 1px solid var(--card-border);
44
- }
45
-
46
- .headerSpacer {
47
- flex: 1;
48
- }
49
-
50
- .collapseToggle {
51
- padding: var(--spacing-1);
52
- color: var(--muted-foreground);
53
- }
54
- .collapseToggle:hover {
55
- color: var(--foreground);
56
- }
57
-
58
- .logicToggle {
59
- text-transform: uppercase;
60
- letter-spacing: 0.1em;
61
- font-weight: var(--font-bold);
62
- }
63
-
64
- .collapsedSummary {
65
- margin-left: var(--spacing-1);
66
- }
67
-
68
- .groupContentWrapper {
69
- display: grid;
70
- grid-template-rows: 1fr;
71
- transition: grid-template-rows var(--duration-normal) var(--ease-in-out);
72
- }
73
-
74
- .collapsedWrapper {
75
- grid-template-rows: 0fr;
76
- }
77
-
78
- .groupContent {
79
- min-height: 0;
80
- overflow: hidden;
81
- display: flex;
82
- flex-direction: column;
83
- gap: var(--spacing-4);
84
- }
85
- @media (max-width: 640px) {
86
71
  .groupContent {
87
- gap: var(--spacing-2);
72
+ min-height: 0;
73
+ overflow: hidden;
74
+ display: flex;
75
+ flex-direction: column;
76
+ gap: var(--space-3);
77
+ }
78
+ @media (max-width: 640px) {
79
+ .groupContent {
80
+ gap: var(--space-2);
81
+ }
88
82
  }
89
- }
90
-
91
- .groupActions {
92
- display: flex;
93
- flex-wrap: wrap;
94
- gap: var(--spacing-2);
95
- gap: var(--spacing-2);
96
- padding-top: var(--spacing-2);
97
- border-top: 1px solid var(--card-border);
98
- }
99
- @media (max-width: 640px) {
100
83
  .groupActions {
101
- flex-direction: column;
84
+ display: flex;
85
+ flex-wrap: wrap;
86
+ gap: var(--space-2);
87
+ gap: var(--space-2);
88
+ padding-top: var(--space-2);
89
+ border-top: 1px solid var(--card-border);
102
90
  }
103
- .groupActions button {
104
- width: 100%;
91
+ @media (max-width: 640px) {
92
+ .groupActions {
93
+ flex-direction: column;
94
+ }
95
+ .groupActions button {
96
+ width: 100%;
97
+ }
98
+ }
99
+ .siblingGroupAction {
100
+ margin-top: var(--space-4);
101
+ margin-bottom: var(--space-2);
102
+ padding-top: var(--space-2);
103
+ border-top: 1px dashed var(--card-border);
104
+ }
105
+ .emptyState {
106
+ padding: var(--space-6);
107
+ text-align: center;
108
+ background: var(--surface-accent);
109
+ border-radius: var(--radius-md);
105
110
  }
106
- }
107
-
108
- .siblingGroupAction {
109
- margin-top: var(--spacing-4);
110
- margin-bottom: var(--spacing-2);
111
- padding-top: var(--spacing-2);
112
- border-top: 1px dashed var(--card-border);
113
- }
114
-
115
- .emptyState {
116
- padding: var(--spacing-6);
117
- text-align: center;
118
- background: var(--surface-accent);
119
- border-radius: var(--radius);
120
- }
121
-
122
- .emptyActions {
123
- display: flex;
124
- flex-direction: row;
125
- justify-content: center;
126
- gap: var(--spacing-2);
127
- margin-top: var(--spacing-2);
128
- }
129
- @media (max-width: 640px) {
130
111
  .emptyActions {
131
- flex-direction: column;
112
+ display: flex;
113
+ flex-direction: row;
114
+ justify-content: center;
115
+ gap: var(--space-2);
116
+ margin-top: var(--space-2);
117
+ }
118
+ @media (max-width: 640px) {
119
+ .emptyActions {
120
+ flex-direction: column;
121
+ }
122
+ }
123
+ .logicIndicator {
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: center;
127
+ margin: var(--space-2) 0;
128
+ padding: var(--space-1) var(--space-2);
129
+ text-transform: uppercase;
130
+ letter-spacing: 0.1em;
131
+ font-size: var(--text-xs);
132
+ font-weight: var(--font-bold);
133
+ background: var(--surface-accent);
134
+ border-radius: var(--radius-md);
135
+ color: var(--on-surface-muted);
132
136
  }
133
- }
134
-
135
- .logicIndicator {
136
- display: flex;
137
- align-items: center;
138
- justify-content: center;
139
- margin: var(--spacing-2) 0;
140
- padding: var(--spacing-1) var(--spacing-2);
141
- text-transform: uppercase;
142
- letter-spacing: 0.1em;
143
- font-size: var(--text-xs);
144
- font-weight: var(--font-bold);
145
- background: var(--surface-accent);
146
- border-radius: var(--radius);
147
- color: var(--on-surface-muted);
148
- }
149
-
150
- .conditionRow {
151
- position: relative;
152
- display: grid !important;
153
- grid-template-columns: auto minmax(var(--width-control-sm), 1fr) minmax(var(--width-control-sm), max-content) minmax(var(--width-control-sm), 1fr) auto;
154
- align-items: center;
155
- gap: var(--spacing-4);
156
- padding: var(--spacing-2);
157
- background: var(--surface-accent);
158
- transition: all var(--duration-fast) var(--ease-in-out);
159
- overflow: visible;
160
- }
161
- @media (max-width: 640px) {
162
137
  .conditionRow {
163
- display: flex !important;
164
- flex-direction: column;
165
- align-items: stretch;
166
- padding: var(--spacing-2);
167
- gap: var(--spacing-2);
138
+ position: relative;
139
+ display: grid !important;
140
+ grid-template-columns: auto minmax(var(--width-control-sm), 1fr) minmax(var(--width-control-sm), max-content) minmax(var(--width-control-sm), 1fr) auto;
141
+ align-items: center;
142
+ gap: var(--space-3);
143
+ padding: var(--space-2);
144
+ background: var(--surface-accent);
145
+ transition: all var(--duration-fast) var(--ease-in-out);
146
+ overflow: visible;
147
+ }
148
+ @media (max-width: 640px) {
149
+ .conditionRow {
150
+ display: flex !important;
151
+ flex-direction: column;
152
+ align-items: stretch;
153
+ padding: var(--space-2);
154
+ gap: var(--space-2);
155
+ }
156
+ }
157
+ .conditionRow.dragging {
158
+ opacity: 0.5;
159
+ border-style: dashed;
160
+ border-color: var(--muted);
161
+ }
162
+ .conditionRow.dropTarget {
163
+ border-color: var(--success);
164
+ background: color-mix(in srgb, var(--success) 10%, transparent);
165
+ box-shadow: 0 0 0 2px var(--success);
168
166
  }
169
- }
170
- .conditionRow.dragging {
171
- opacity: 0.5;
172
- border-style: dashed;
173
- border-color: var(--muted);
174
- }
175
- .conditionRow.dropTarget {
176
- border-color: var(--success);
177
- background: color-mix(in srgb, var(--success) 10%, transparent);
178
- box-shadow: 0 0 0 2px var(--success);
179
- }
180
-
181
- .conditionHeader {
182
- display: flex;
183
- align-items: center;
184
- gap: var(--spacing-2);
185
- }
186
- @media (max-width: 640px) {
187
167
  .conditionHeader {
188
168
  display: flex;
189
169
  align-items: center;
190
- gap: var(--spacing-2);
191
- width: 100%;
192
- order: -1;
170
+ gap: var(--space-2);
171
+ }
172
+ @media (max-width: 640px) {
173
+ .conditionHeader {
174
+ display: flex;
175
+ align-items: center;
176
+ gap: var(--space-2);
177
+ width: 100%;
178
+ order: -1;
179
+ }
193
180
  }
194
- }
195
-
196
- .mobileCollapseToggle {
197
- display: none;
198
- }
199
- @media (max-width: 640px) {
200
181
  .mobileCollapseToggle {
201
- display: flex;
182
+ display: none;
202
183
  }
203
- }
204
-
205
- .mobileRemoveButton {
206
- display: none;
207
- }
208
- @media (max-width: 640px) {
209
- .mobileRemoveButton {
210
- display: flex;
211
- margin-left: auto;
184
+ @media (max-width: 640px) {
185
+ .mobileCollapseToggle {
186
+ display: flex;
187
+ }
212
188
  }
213
- }
214
-
215
- @media (max-width: 640px) {
216
- .desktopRemoveButton {
189
+ .mobileRemoveButton {
217
190
  display: none;
218
191
  }
219
- }
220
-
221
- .collapsedConditionSummary {
222
- display: none;
223
- flex: 1;
224
- cursor: pointer;
225
- }
226
- @media (max-width: 640px) {
192
+ @media (max-width: 640px) {
193
+ .mobileRemoveButton {
194
+ display: flex;
195
+ margin-left: auto;
196
+ }
197
+ }
198
+ @media (max-width: 640px) {
199
+ .desktopRemoveButton {
200
+ display: none;
201
+ }
202
+ }
227
203
  .collapsedConditionSummary {
228
- display: block;
229
- white-space: nowrap;
230
- overflow: hidden;
231
- text-overflow: ellipsis;
204
+ display: none;
205
+ flex: 1;
206
+ cursor: pointer;
207
+ }
208
+ @media (max-width: 640px) {
209
+ .collapsedConditionSummary {
210
+ display: block;
211
+ white-space: nowrap;
212
+ overflow: hidden;
213
+ text-overflow: ellipsis;
214
+ }
232
215
  }
233
- }
234
-
235
- .conditionFields {
236
- display: contents;
237
- }
238
- @media (max-width: 640px) {
239
216
  .conditionFields {
217
+ display: contents;
218
+ }
219
+ @media (max-width: 640px) {
220
+ .conditionFields {
221
+ display: flex;
222
+ flex-direction: column;
223
+ gap: var(--space-2);
224
+ width: 100%;
225
+ }
226
+ }
227
+ @media (max-width: 640px) {
228
+ .conditionFieldsCollapsed {
229
+ display: none;
230
+ }
231
+ }
232
+ .logicWrapper,
233
+ .whereWrapper {
234
+ width: auto;
235
+ }
236
+ .whereWrapper {
240
237
  display: flex;
241
- flex-direction: column;
242
- gap: var(--spacing-2);
238
+ align-items: center;
239
+ justify-content: center;
240
+ min-width: 0;
241
+ height: 36px;
242
+ }
243
+ @media (max-width: 640px) {
244
+ .whereWrapper {
245
+ justify-content: flex-start;
246
+ min-width: auto;
247
+ height: auto;
248
+ }
249
+ }
250
+ .whereBadge {
251
+ height: 36px !important;
252
+ font-size: var(--text-xs) !important;
253
+ line-height: 1 !important;
254
+ display: flex;
255
+ align-items: center;
256
+ justify-content: center;
257
+ padding: 0 var(--space-4) !important;
258
+ border-width: var(--surface-border-width) !important;
259
+ }
260
+ .dragHandle {
261
+ display: flex;
262
+ align-items: center;
263
+ justify-content: center;
264
+ width: var(--size-icon-md);
265
+ height: var(--size-icon-md);
266
+ cursor: grab;
267
+ color: var(--muted-foreground);
268
+ transition: color var(--duration-fast) var(--ease-in-out);
269
+ touch-action: none;
270
+ user-select: none;
271
+ -webkit-user-select: none;
272
+ -webkit-touch-callout: none;
273
+ }
274
+ .dragHandle:hover {
275
+ color: var(--foreground);
276
+ }
277
+ .dragHandle:active {
278
+ cursor: grabbing;
279
+ }
280
+ .fieldSelect,
281
+ .operatorSelect,
282
+ .valueSelect,
283
+ .valueInput {
243
284
  width: 100%;
285
+ min-width: 0;
244
286
  }
245
- }
246
-
247
- @media (max-width: 640px) {
248
- .conditionFieldsCollapsed {
249
- display: none;
287
+ .dropIndicator {
288
+ position: absolute;
289
+ left: 0;
290
+ right: 0;
291
+ height: 4px;
292
+ background: var(--primary);
293
+ border-radius: 2px;
294
+ pointer-events: none;
295
+ z-index: 20;
296
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
250
297
  }
251
- }
252
-
253
- .logicWrapper,
254
- .whereWrapper {
255
- width: auto;
256
- }
257
-
258
- .whereWrapper {
259
- display: flex;
260
- align-items: center;
261
- justify-content: center;
262
- min-width: 0;
263
- height: var(--spacing-9);
264
- }
265
- @media (max-width: 640px) {
266
- .whereWrapper {
267
- justify-content: flex-start;
268
- min-width: auto;
298
+ .dropIndicator::before {
299
+ content: "";
300
+ position: absolute;
301
+ width: 10px;
302
+ height: 10px;
303
+ background: var(--primary);
304
+ top: 50%;
305
+ left: 0;
306
+ transform: translate(-50%, -50%);
307
+ border: 2px solid var(--card-bg);
308
+ box-shadow: 0 0 0 1px var(--primary);
309
+ border-radius: 50%;
310
+ }
311
+ .dropIndicator.before {
312
+ top: -10px;
313
+ }
314
+ .dropIndicator.after {
315
+ bottom: -13px;
316
+ }
317
+ .dropIndicator.inside {
318
+ top: 0;
319
+ bottom: 0;
269
320
  height: auto;
321
+ background: color-mix(in srgb, var(--primary) 10%, transparent);
322
+ border: 2px solid var(--primary);
323
+ border-radius: var(--radius-md);
324
+ box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
325
+ }
326
+ .dropIndicator.inside::before {
327
+ display: none;
328
+ }
329
+ .dropTargetZone {
330
+ position: absolute;
331
+ left: 0;
332
+ right: 0;
333
+ z-index: var(--z-elevated);
334
+ background: transparent;
335
+ }
336
+ .zIndexHigh {
337
+ z-index: var(--z-dropdown) !important;
338
+ position: relative;
339
+ }
340
+ .dropZoneBase, .dropZoneAfter, .groupDropZoneAfter, .dropZoneBefore, .groupDropZoneBefore, .dropZoneInside {
341
+ position: absolute;
342
+ left: 0;
343
+ right: 0;
344
+ background: transparent;
345
+ pointer-events: none;
346
+ }
347
+ .zoneActive {
348
+ pointer-events: auto !important;
349
+ }
350
+ .dropZoneInside {
351
+ top: 0;
352
+ height: 100%;
353
+ z-index: var(--z-modal);
270
354
  }
271
- }
272
-
273
- .whereBadge {
274
- height: var(--spacing-9) !important;
275
- font-size: var(--text-xs) !important;
276
- line-height: 1 !important;
277
- display: flex;
278
- align-items: center;
279
- justify-content: center;
280
- padding: 0 var(--spacing-4) !important;
281
- border-width: var(--border-width) !important;
282
- }
283
-
284
- .dragHandle {
285
- display: flex;
286
- align-items: center;
287
- justify-content: center;
288
- width: var(--size-icon-md);
289
- height: var(--size-icon-md);
290
- cursor: grab;
291
- color: var(--muted-foreground);
292
- transition: color var(--duration-fast) var(--ease-in-out);
293
- touch-action: none;
294
- user-select: none;
295
- -webkit-user-select: none;
296
- -webkit-touch-callout: none;
297
- }
298
- .dragHandle:hover {
299
- color: var(--foreground);
300
- }
301
- .dragHandle:active {
302
- cursor: grabbing;
303
- }
304
-
305
- .fieldSelect,
306
- .operatorSelect,
307
- .valueSelect,
308
- .valueInput {
309
- width: 100%;
310
- min-width: 0;
311
- }
312
-
313
- .dropIndicator {
314
- position: absolute;
315
- left: 0;
316
- right: 0;
317
- height: 4px;
318
- background: var(--primary);
319
- border-radius: 2px;
320
- pointer-events: none;
321
- z-index: 20;
322
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
323
- }
324
- .dropIndicator::before {
325
- content: "";
326
- position: absolute;
327
- width: 10px;
328
- height: 10px;
329
- background: var(--primary);
330
- top: 50%;
331
- left: 0;
332
- transform: translate(-50%, -50%);
333
- border: 2px solid var(--card-bg);
334
- box-shadow: 0 0 0 1px var(--primary);
335
- border-radius: 50%;
336
- }
337
- .dropIndicator.before {
338
- top: -10px;
339
- }
340
- .dropIndicator.after {
341
- bottom: -13px;
342
- }
343
- .dropIndicator.inside {
344
- top: 0;
345
- bottom: 0;
346
- height: auto;
347
- background: color-mix(in srgb, var(--primary) 10%, transparent);
348
- border: 2px solid var(--primary);
349
- border-radius: var(--radius);
350
- box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
351
- }
352
- .dropIndicator.inside::before {
353
- display: none;
354
- }
355
-
356
- .dropTargetZone {
357
- position: absolute;
358
- left: 0;
359
- right: 0;
360
- z-index: var(--z-elevated);
361
- background: transparent;
362
- }
363
-
364
- .zIndexHigh {
365
- z-index: var(--z-dropdown) !important;
366
- position: relative;
367
- }
368
-
369
- .dropZoneBase, .dropZoneAfter, .groupDropZoneAfter, .dropZoneBefore, .groupDropZoneBefore, .dropZoneInside {
370
- position: absolute;
371
- left: 0;
372
- right: 0;
373
- background: transparent;
374
- pointer-events: none;
375
- }
376
-
377
- .zoneActive {
378
- pointer-events: auto !important;
379
- }
380
-
381
- .dropZoneInside {
382
- top: 0;
383
- height: 100%;
384
- z-index: var(--z-modal);
385
- }
386
-
387
- .dropZoneBefore, .groupDropZoneBefore {
388
- top: 0;
389
- height: 25%;
390
- z-index: calc(var(--z-modal) + 10);
391
- }
392
- @media (max-width: 640px) {
393
355
  .dropZoneBefore, .groupDropZoneBefore {
394
- height: 30%;
356
+ top: 0;
357
+ height: 25%;
358
+ z-index: calc(var(--z-modal) + 10);
359
+ }
360
+ @media (max-width: 640px) {
361
+ .dropZoneBefore, .groupDropZoneBefore {
362
+ height: 30%;
363
+ }
395
364
  }
396
- }
397
-
398
- .dropZoneAfter, .groupDropZoneAfter {
399
- bottom: 0;
400
- height: 25%;
401
- z-index: calc(var(--z-modal) + 10);
402
- }
403
- @media (max-width: 640px) {
404
365
  .dropZoneAfter, .groupDropZoneAfter {
405
- height: 30%;
366
+ bottom: 0;
367
+ height: 25%;
368
+ z-index: calc(var(--z-modal) + 10);
369
+ }
370
+ @media (max-width: 640px) {
371
+ .dropZoneAfter, .groupDropZoneAfter {
372
+ height: 30%;
373
+ }
406
374
  }
407
- }
408
-
409
- .groupDropZoneBefore {
410
- height: 10px;
411
- }
412
- @media (max-width: 640px) {
413
375
  .groupDropZoneBefore {
414
- height: 30px;
415
- top: -10px;
376
+ height: 10px;
377
+ }
378
+ @media (max-width: 640px) {
379
+ .groupDropZoneBefore {
380
+ height: 30px;
381
+ top: -10px;
382
+ }
416
383
  }
417
- }
418
-
419
- .groupDropZoneAfter {
420
- height: 10px;
421
- }
422
- @media (max-width: 640px) {
423
384
  .groupDropZoneAfter {
424
- height: 30px;
425
- bottom: -10px;
385
+ height: 10px;
386
+ }
387
+ @media (max-width: 640px) {
388
+ .groupDropZoneAfter {
389
+ height: 30px;
390
+ bottom: -10px;
391
+ }
426
392
  }
427
393
  }