@rokkit/themes 1.0.0-next.124 → 1.0.0-next.127

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 (130) hide show
  1. package/README.md +118 -9
  2. package/package.json +31 -27
  3. package/src/base/breadcrumbs.css +46 -0
  4. package/src/base/button.css +243 -0
  5. package/src/base/card.css +36 -0
  6. package/src/base/carousel.css +122 -12
  7. package/src/base/connector.css +106 -0
  8. package/src/base/display.css +91 -0
  9. package/src/base/floating-action.css +388 -0
  10. package/src/base/floating-navigation.css +381 -0
  11. package/src/base/index.css +36 -0
  12. package/src/base/input.css +194 -39
  13. package/src/base/item.css +52 -0
  14. package/src/base/list.css +258 -0
  15. package/src/base/menu.css +322 -0
  16. package/src/base/pill.css +57 -0
  17. package/src/base/progress.css +28 -15
  18. package/src/base/range.css +121 -0
  19. package/src/base/rating.css +40 -0
  20. package/src/base/reveal.css +37 -0
  21. package/src/base/search-filter.css +132 -0
  22. package/src/base/select.css +411 -0
  23. package/src/base/shine.css +14 -0
  24. package/src/base/stepper.css +140 -0
  25. package/src/base/switch.css +152 -0
  26. package/src/base/table.css +143 -33
  27. package/src/base/tabs.css +171 -0
  28. package/src/base/tilt.css +14 -0
  29. package/src/base/timeline.css +84 -0
  30. package/src/base/toggle.css +134 -0
  31. package/src/base/toolbar.css +337 -0
  32. package/src/base/tree.css +156 -11
  33. package/src/glass/button.css +152 -0
  34. package/src/glass/floating-action.css +61 -0
  35. package/src/glass/floating-navigation.css +74 -0
  36. package/src/glass/index.css +23 -0
  37. package/src/glass/input.css +124 -0
  38. package/src/glass/list.css +122 -0
  39. package/src/glass/menu.css +92 -0
  40. package/src/glass/range.css +61 -0
  41. package/src/glass/search-filter.css +49 -0
  42. package/src/glass/select.css +178 -0
  43. package/src/glass/switch.css +28 -0
  44. package/src/glass/table.css +87 -0
  45. package/src/glass/tabs.css +58 -0
  46. package/src/glass/timeline.css +46 -0
  47. package/src/glass/toggle.css +48 -0
  48. package/src/glass/toolbar.css +84 -0
  49. package/src/glass/tree.css +104 -0
  50. package/src/index.css +18 -0
  51. package/src/index.js +25 -2
  52. package/src/material/button.css +153 -0
  53. package/src/material/floating-action.css +60 -0
  54. package/src/material/floating-navigation.css +74 -0
  55. package/src/material/index.css +23 -0
  56. package/src/material/input.css +118 -40
  57. package/src/material/list.css +90 -64
  58. package/src/material/menu.css +92 -0
  59. package/src/material/range.css +62 -0
  60. package/src/material/search-filter.css +49 -0
  61. package/src/material/select.css +170 -0
  62. package/src/material/switch.css +28 -0
  63. package/src/material/table.css +87 -0
  64. package/src/material/tabs.css +62 -0
  65. package/src/material/timeline.css +46 -0
  66. package/src/material/toggle.css +48 -0
  67. package/src/material/toolbar.css +84 -0
  68. package/src/material/tree.css +100 -0
  69. package/src/minimal/button.css +152 -0
  70. package/src/minimal/floating-action.css +59 -0
  71. package/src/minimal/floating-navigation.css +70 -0
  72. package/src/minimal/index.css +23 -0
  73. package/src/minimal/input.css +81 -120
  74. package/src/minimal/list.css +90 -104
  75. package/src/minimal/menu.css +88 -0
  76. package/src/minimal/range.css +61 -0
  77. package/src/minimal/search-filter.css +49 -0
  78. package/src/minimal/select.css +168 -0
  79. package/src/minimal/switch.css +28 -0
  80. package/src/minimal/table.css +87 -0
  81. package/src/minimal/tabs.css +53 -31
  82. package/src/minimal/timeline.css +45 -0
  83. package/src/minimal/toggle.css +48 -0
  84. package/src/minimal/toolbar.css +84 -0
  85. package/src/minimal/tree.css +100 -0
  86. package/src/rokkit/button.css +225 -0
  87. package/src/rokkit/connector.css +11 -0
  88. package/src/rokkit/floating-action.css +65 -0
  89. package/src/rokkit/floating-navigation.css +83 -0
  90. package/src/rokkit/index.css +24 -0
  91. package/src/rokkit/input.css +130 -0
  92. package/src/rokkit/list.css +141 -0
  93. package/src/rokkit/menu.css +123 -0
  94. package/src/rokkit/range.css +62 -0
  95. package/src/rokkit/search-filter.css +49 -0
  96. package/src/rokkit/select.css +185 -0
  97. package/src/rokkit/switch.css +28 -0
  98. package/src/rokkit/table.css +68 -38
  99. package/src/rokkit/tabs.css +82 -0
  100. package/src/rokkit/timeline.css +46 -0
  101. package/src/rokkit/toggle.css +36 -52
  102. package/src/rokkit/toolbar.css +84 -0
  103. package/src/rokkit/tree.css +123 -0
  104. package/src/base/alert.css +0 -30
  105. package/src/base/animation.css +0 -37
  106. package/src/base/atoms.css +0 -58
  107. package/src/base/core.css +0 -107
  108. package/src/base/layout.css +0 -65
  109. package/src/base/molecules.css +0 -109
  110. package/src/base/organisms.css +0 -66
  111. package/src/base/scrollbar.css +0 -16
  112. package/src/base/toggles.css +0 -17
  113. package/src/base.css +0 -13
  114. package/src/markdown.css +0 -955
  115. package/src/material/base.css +0 -12
  116. package/src/material/form.css +0 -30
  117. package/src/material.css +0 -9
  118. package/src/minimal/base.css +0 -8
  119. package/src/minimal/form.css +0 -87
  120. package/src/minimal.css +0 -11
  121. package/src/mixins/mixins.scss +0 -66
  122. package/src/mixins/palette.scss +0 -48
  123. package/src/prism.css +0 -102
  124. package/src/rokkit/alert.css +0 -4
  125. package/src/rokkit/atoms.css +0 -52
  126. package/src/rokkit/carousel.css +0 -19
  127. package/src/rokkit/layout.css +0 -17
  128. package/src/rokkit/molecules.css +0 -124
  129. package/src/rokkit/organisms.css +0 -307
  130. package/src/rokkit.css +0 -11
@@ -1,154 +1,115 @@
1
- /* [data-style="minimal"] input, */
1
+ /* Minimal Theme - Form field and input styles
2
+ * Underline-based input styling with clean, minimal appearance.
3
+ */
2
4
 
3
- [data-style='minimal'] textarea,
4
- [data-style='minimal'] select,
5
- [data-style='minimal'] fieldset {
6
- @apply border-surface-z3 rounded border px-2 leading-loose outline-none;
5
+ /* Input root: transparent background, bottom border only */
6
+ [data-style='minimal'] [data-input-root] {
7
+ @apply flex items-center border-b border-surface-z3 bg-transparent p-0 transition-all relative;
8
+ border-radius: 0;
9
+ background-image: none;
7
10
  }
8
11
 
9
- [data-style='minimal'] fieldset {
10
- @apply gap-2 rounded-md p-4 pt-2;
11
- }
12
- [data-style='minimal'] fieldset legend {
13
- @apply border-surface-z3 hover:text-primary select-none rounded-md border-l border-r px-2 leading-tight;
14
- }
15
- [data-style='minimal'] fieldset rk-icon {
16
- @apply text-2xl;
12
+ /* Override rokkit default gradient on focus */
13
+ [data-style='minimal'] [data-input-root]:focus-within {
14
+ @apply border-b-secondary-600 bg-transparent;
15
+ background-image: none;
17
16
  }
18
17
 
19
- [data-style='minimal'] input-field {
20
- @apply m-0 w-full py-1;
18
+ /* Inputs inside wrapper */
19
+ [data-style='minimal'] [data-input-root] input:not([type='checkbox'], [type='radio'], [type='color']),
20
+ [data-style='minimal'] [data-input-root] textarea,
21
+ [data-style='minimal'] [data-input-root] select {
22
+ @apply bg-transparent text-surface-z9 w-full border-none px-1 py-1.5 outline-none transition-all;
23
+ font-size: 0.875rem;
24
+ line-height: 1.25rem;
21
25
  }
22
26
 
23
- [data-style='minimal'] input-field field {
24
- @apply border-b-1 border-surface-z3 box-border min-h-9 overflow-hidden;
25
- @apply focus-within:border-b-secondary-600;
26
- }
27
- [data-style='minimal'] input-field:focus-within label {
28
- @apply text-secondary-600;
29
- }
30
- [data-style='minimal'] input-field span {
31
- @apply border-surface-z3 bg-surface-z1 aspect-square h-full border-r px-1;
32
- }
33
- [data-style='minimal'] input-field input,
34
- [data-style='minimal'] input-field textarea,
35
- [data-style='minimal'] input-field select,
36
- [data-style='minimal'] input-field > field > :not(icon) {
37
- @apply flex-grow border-0 bg-transparent focus:outline-none;
27
+ [data-style='minimal'] [data-input-root] textarea {
28
+ @apply resize-vertical min-h-20 py-2;
38
29
  }
39
30
 
40
- [data-style='minimal'] input-field label {
41
- @apply text-surface w-full text-sm uppercase leading-6;
42
- }
43
- [data-style='minimal'] input-field message {
44
- @apply bg-surface-z1 rounded px-2 py-1;
31
+ /* Select inside input-root: match text input appearance */
32
+ [data-style='minimal'] [data-input-root] [data-select-trigger] {
33
+ @apply bg-transparent text-surface-z9 border-none rounded-none px-1 shadow-none ring-0 focus:outline-none;
34
+ font-size: 0.875rem;
35
+ background-image: none;
36
+ transition: color 150ms ease;
45
37
  }
46
38
 
47
- [data-style='minimal'] input-field.fail {
48
- @apply bg-error rounded px-2;
39
+ [data-style='minimal'] [data-input-root] [data-select-trigger]:hover:not(:disabled) {
40
+ @apply bg-transparent;
41
+ background-image: none;
49
42
  }
50
43
 
51
- [data-style='minimal'] input-range range-track {
52
- @apply relative mt-3 h-1;
53
- }
54
- [data-style='minimal'] input-range range-track span {
55
- @apply bg-surface-z2 border-surface-z3 box-border rounded-full;
44
+ [data-style='minimal'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
45
+ @apply border-none ring-0 shadow-none bg-transparent;
56
46
  }
57
- [data-style='minimal'] input-range range-track selected {
58
- @apply -top-0px -bottom-0px border-secondary bg-secondary-600 rounded-full border;
59
- }
60
- [data-style='minimal'] input-range range-track thumb {
61
- @apply rounded-full;
47
+
48
+ /* Labels: smaller, uppercase */
49
+ [data-style='minimal'] [data-field] > label {
50
+ @apply text-surface-z6 text-xs uppercase tracking-wide;
62
51
  }
63
52
 
64
- [data-style='minimal'] input-range range-ticks {
65
- font-size: 6px;
66
- @apply bg-primary-100;
53
+ [data-style='minimal'] [data-form-root] label {
54
+ @apply text-surface-z6 text-xs uppercase tracking-wide;
67
55
  }
68
56
 
69
- [data-style='minimal'] .bookend range-track span::before,
70
- [data-style='minimal'] .bookend range-track span::after {
71
- content: '';
72
- @apply w-1px absolute -bottom-2 -top-2 rounded-full bg-gray-300;
57
+ /* Focused label: secondary color */
58
+ [data-style='minimal'] [data-field]:has([data-input-root]:focus-within) > label {
59
+ @apply text-secondary-600;
73
60
  }
74
- [data-style='minimal'] .bookend range-track span::before {
75
- @apply -left-1px;
61
+
62
+ /* Field root */
63
+ [data-style='minimal'] [data-field-root] {
64
+ @apply gap-0.5;
76
65
  }
77
- [data-style='minimal'] .bookend range-track span::after {
78
- @apply -right-2px;
66
+
67
+ /* Info field value */
68
+ [data-style='minimal'] [data-field-info] {
69
+ @apply text-primary-z6;
79
70
  }
80
71
 
81
- /* [data-style="minimal"] tick {
82
- @apply h-6;
83
- } */
84
- [data-style='minimal'] tick span {
85
- @apply border-surface h-full;
72
+ /* Separator */
73
+ [data-style='minimal'] [data-form-separator] {
74
+ @apply border-surface-z3;
86
75
  }
87
- [data-style='minimal'] tick p {
88
- @apply items-top;
89
- font-size: 8px;
76
+
77
+ /* Disabled state */
78
+ [data-style='minimal'] [data-field-disabled] [data-input-root] {
79
+ @apply border-surface-z3 opacity-50 cursor-not-allowed;
90
80
  }
91
81
 
92
- [data-style='minimal'] thumb {
93
- @apply bg-secondary border-secondary -top-1.5 border shadow-xl;
82
+ /* Error state */
83
+ [data-style='minimal'] [data-field-state='fail'] [data-input-root] {
84
+ @apply border-danger-z4;
94
85
  }
95
- [data-style='minimal'] thumb.sliding::before {
96
- content: '';
97
- @apply bg-secondary-400 absolute bottom-0 left-0 right-0 top-0 rounded-full opacity-30;
98
- transform: scale(2, 2);
86
+
87
+ /* Description */
88
+ [data-style='minimal'] [data-description] {
89
+ @apply text-surface-z6 mt-0.5 text-xs;
99
90
  }
100
91
 
101
- [data-style='minimal'] rating {
102
- @apply text-secondary-600 text-xl focus:outline-none;
92
+ /* Message */
93
+ [data-style='minimal'] [data-message] {
94
+ @apply text-danger-z6 text-xs mt-0.5;
103
95
  }
104
- [data-style='minimal'] rating > rk-icon {
105
- @apply w-8;
96
+
97
+ /* Checkbox */
98
+ [data-style='minimal'] [data-checkbox-icon] {
99
+ @apply text-surface-z5 text-lg;
106
100
  }
107
- [data-style='minimal'] rating:focus-within rk-icon[aria-checked='true'] {
108
- @apply text-primary-600;
101
+
102
+ [data-style='minimal'] [data-checkbox-root][data-variant='custom']:has(input:checked) [data-checkbox-icon] {
103
+ @apply text-secondary-600;
109
104
  }
110
105
 
111
- [data-style='minimal'] rating rk-icon.hovering > i {
106
+ /* Checkbox label: secondary on focus (checkbox has no input-root) */
107
+ [data-style='minimal'] [data-field-type='checkbox'] [data-field]:has(:focus-within) > label {
112
108
  @apply text-secondary-600;
113
109
  }
114
- /* .error,
115
- .fail {
116
- input,
117
- textarea,
118
- select {
119
- @apply text-error border-error bg-error;
120
- }
121
- message {
122
- @apply text-error bg-error rounded-md;
123
- }
124
- }
125
- .info {
126
- input,
127
- textarea,
128
- select {
129
- @apply text-info border-info;
130
- }
131
- message {
132
- @apply text-info bg-info rounded-md;
133
- }
134
- }
135
- .warn {
136
- input,
137
- textarea,
138
- select {
139
- @apply text-warn border-warn bg-warn;
140
- }
141
- message {
142
- @apply text-warn bg-warn rounded-md;
143
- }
144
- }
145
- .pass {
146
- input,
147
- textarea,
148
- select {
149
- @apply text-pass border-pass bg-pass;
150
- }
151
- message {
152
- @apply text-pass bg-pass rounded-md;
153
- }
154
- } */
110
+
111
+ /* Placeholders */
112
+ [data-style='minimal'] [data-input-root] input::placeholder,
113
+ [data-style='minimal'] [data-input-root] textarea::placeholder {
114
+ @apply text-surface-z4;
115
+ }
@@ -1,136 +1,122 @@
1
- [data-style='minimal'] rk-item {
2
- @apply flex items-center gap-1;
3
- }
4
- [data-style='minimal'] rk-accordion {
5
- @apply flex-grow overflow-y-scroll focus-within:outline-none;
6
- }
7
- [data-style='minimal'] rk-accordion > div,
8
- [data-style='minimal'] rk-accordion > details {
9
- @apply relative;
10
- }
11
- [data-style='minimal'] rk-list,
12
- [data-style='minimal'] rk-accordion rk-summary {
13
- @apply border-l-2px border-l-surface-z3;
14
- }
15
- [data-style='minimal'] :not(rk-accordion > div) rk-list:focus-within {
16
- @apply outline-offset-3 outline-secondary-700 outline;
17
- }
18
- [data-style='minimal'] rk-list > rk-item,
19
- [data-style='minimal'] rk-accordion summary {
20
- @apply bg-surface-z1 text-surface-700 items-center px-2 leading-8;
21
- }
1
+ /**
2
+ * List - Minimal Theme Styles
3
+ *
4
+ * Clean, understated list with subtle borders and hover states.
5
+ */
22
6
 
23
- [data-style='minimal'] rk-item > a {
24
- @apply gap-2 px-0;
25
- }
7
+ /* =============================================================================
8
+ List Container
9
+ ============================================================================= */
26
10
 
27
- [data-style='minimal'] rk-list rk-item:hover {
28
- @apply -m-l-2px border-l-2px border-l-surface-z2;
29
- }
30
- [data-style='minimal'] rk-accordion summary:hover {
31
- @apply border-l-surface-z2;
32
- }
33
- [data-style='minimal'] rk-list rk-item[aria-selected='true'] {
34
- @apply -m-l-2px border-l-2px border-l-secondary-600 text-secondary-600 bg-surface-z2;
35
- }
36
- [data-style='minimal'] rk-accordion .is-selected summary {
37
- @apply border-l-2px border-l-secondary-600 bg-surface-z2;
11
+ [data-style='minimal'] [data-list]:focus-within {
12
+ @apply outline-none;
38
13
  }
39
14
 
40
- [data-style='minimal'] rk-accordion .is-expanded summary {
41
- @apply z-1 sticky top-0;
42
- }
43
- [data-style='minimal'] rk-accordion rk-item > a {
44
- @apply px-0;
45
- }
46
- [data-style='minimal'] rk-item > img,
47
- [data-style='minimal'] rk-item > a > img {
48
- @apply h-6 w-6;
49
- }
15
+ /* =============================================================================
16
+ List Items
17
+ ============================================================================= */
50
18
 
51
- [data-style='minimal'] rk-accordion .is-selected rk-summary,
52
- [data-style='minimal'] rk-accordion .is-selected rk-summary > a,
53
- [data-style='minimal'] rk-accordion rk-item[aria-selected='true'],
54
- [data-style='minimal'] rk-accordion rk-item[aria-selected='true'] > a {
55
- @apply text-secondary-600;
56
- /* @apply hover:text-secondary; */
19
+ [data-style='minimal'] [data-list] [data-list-item] {
20
+ @apply text-surface-z7 border-0 border-solid border-transparent;
57
21
  }
58
22
 
59
- /* [data-style="minimal"] nested-list {
60
- @apply text-sm;
61
- } */
62
- [data-style='minimal'] rk-node > div {
63
- @apply h-7 px-2 py-1;
64
- }
65
- [data-style='minimal'] rk-node > rk-item {
66
- @apply gap-1 px-1;
23
+ [data-style='minimal'] [data-list] a[data-list-item],
24
+ [data-style='minimal'] [data-list] button[data-list-item] {
25
+ @apply text-surface-z6;
67
26
  }
68
- [data-style='minimal'] rk-node > div > span > i {
69
- @apply w-3 border-none;
27
+
28
+ /* Hover and focus (keyboard navigation) */
29
+ [data-style='minimal'] [data-list] [data-list-item]:hover:not(:disabled):not([data-disabled='true']),
30
+ [data-style='minimal'] [data-list] [data-list-item]:focus:not(:disabled):not([data-disabled='true']) {
31
+ @apply text-surface-z9 border-l-surface-z2 border-l-2 outline-none;
70
32
  }
71
- [data-style='minimal'] rk-node > div > rk-icon {
72
- @apply text-surface-400 text-xs;
33
+
34
+ /* Active state — muted when list not focused */
35
+ [data-style='minimal'] [data-list] [data-list-item][data-active='true'] {
36
+ @apply text-surface-z8 border-primary-z4 border-l-2;
73
37
  }
74
- [data-style='minimal'] rk-node[aria-selected='true'] > rk-item > p {
75
- @apply text-secondary-600;
38
+
39
+ /* Active state — full highlight when list has focus */
40
+ [data-style='minimal'] [data-list]:focus-within [data-list-item][data-active='true'] {
41
+ @apply text-primary-z7 border-primary-z4 border-l-2;
76
42
  }
77
- [data-style='minimal'] rk-node.is-selected rk-icon {
78
- @apply text-secondary-600;
79
- @apply hover:text-secondary-600;
43
+
44
+ /* Active + hover/focus */
45
+ [data-style='minimal'] [data-list] [data-list-item][data-active='true']:hover:not(:disabled),
46
+ [data-style='minimal'] [data-list] [data-list-item][data-active='true']:focus:not(:disabled) {
47
+ @apply text-primary-z8;
80
48
  }
81
49
 
82
- [data-style='minimal'] .small rk-list > rk-item,
83
- [data-style='minimal'] .small rk-accordion rk-summary {
84
- @apply text-sm;
50
+ /* =============================================================================
51
+ Item Elements
52
+ ============================================================================= */
53
+
54
+ [data-style='minimal'] [data-list] [data-list-item] [data-item-icon] {
55
+ @apply text-surface-z5;
85
56
  }
86
57
 
87
- [data-style='minimal'] .small rk-node > div {
88
- @apply h-5 gap-1 text-sm;
58
+ [data-style='minimal'] [data-list] [data-list-item]:hover:not(:disabled) [data-item-icon],
59
+ [data-style='minimal'] [data-list] [data-list-item]:focus:not(:disabled) [data-item-icon] {
60
+ @apply text-surface-z6;
89
61
  }
90
- [data-style='minimal'] .small rk-node > div > rk-icon {
91
- @apply text-sm;
62
+
63
+ [data-style='minimal'] [data-list] [data-list-item][data-active='true'] [data-item-icon] {
64
+ @apply text-primary-z5;
92
65
  }
93
- [data-style='minimal'] .small rk-item > img,
94
- [data-style='minimal'] .small rk-item > a > img {
95
- @apply h-4 w-4;
66
+
67
+ [data-style='minimal'] [data-list] [data-list-item] [data-item-description] {
68
+ @apply text-surface-z5;
96
69
  }
97
- [data-style='minimal'] .small rk-item > a > rk-icon {
98
- @apply text-sm leading-6;
70
+
71
+ [data-style='minimal'] [data-list] [data-list-item][data-active='true'] [data-item-description] {
72
+ @apply text-primary-z6;
99
73
  }
100
- [data-style='minimal'] rk-accordion.indented rk-list > rk-item {
101
- @apply px-4;
74
+
75
+ [data-style='minimal'] [data-list] [data-list-item] [data-item-badge] {
76
+ @apply text-surface-z6 bg-transparent border-surface-z4 border;
102
77
  }
103
78
 
104
- [data-style='minimal'] .folder-tree {
105
- @apply bg-surface-z0 h-full min-w-40;
79
+ [data-style='minimal'] [data-list] [data-list-item][data-active='true'] [data-item-badge] {
80
+ @apply text-primary-z7 border-primary-z4;
106
81
  }
107
82
 
108
- /* [data-style="minimal"] rk-node > div > i {
109
- @apply border-surface-z3;
110
- } */
83
+ /* =============================================================================
84
+ Groups
85
+ ============================================================================= */
111
86
 
112
- [data-style='minimal'] rk-crumbs {
113
- @apply flex-grow gap-1 text-sm;
87
+ [data-style='minimal'] [data-list] [data-list-group-label] {
88
+ @apply text-surface-z5;
114
89
  }
115
- [data-style='minimal'] rk-crumbs rk-crumb.is-selected {
116
- @apply text-secondary;
90
+
91
+ [data-style='minimal'] [data-list] [data-list-group-label]:hover:not(:disabled),
92
+ [data-style='minimal'] [data-list] [data-list-group-label]:focus:not(:disabled) {
93
+ @apply text-surface-z6;
117
94
  }
118
95
 
119
- [data-style='minimal'] rk-switch {
120
- @apply mx-auto min-h-6 min-w-12 rounded;
121
- @apply bg-surface-z2 border-surface-z3 border;
122
- @apply p-2px leading-loose;
96
+ /* =============================================================================
97
+ Divider
98
+ ============================================================================= */
99
+
100
+ [data-style='minimal'] [data-list] [data-list-divider] {
101
+ @apply bg-surface-z3;
123
102
  }
124
- [data-style='minimal'] rk-switch rk-item {
125
- @apply items-center justify-center gap-1 px-3;
126
- @apply min-h-6 min-w-6 cursor-pointer rounded;
103
+
104
+ /* =============================================================================
105
+ Multi-Selection
106
+ ============================================================================= */
107
+
108
+ [data-style='minimal'] [data-list] [data-list-item][data-selected='true'] {
109
+ @apply text-primary-z7 border-primary-z3 border-l-2;
127
110
  }
128
- [data-style='minimal'] rk-switch.compact {
129
- @apply rounded-full;
111
+
112
+ [data-style='minimal'] [data-list]:focus-within [data-list-item][data-selected='true'] {
113
+ @apply text-primary-z7 border-primary-z4 border-l-2;
130
114
  }
131
- [data-style='minimal'] rk-switch.compact > rk-item {
132
- @apply gap-0 rounded-full px-0;
115
+
116
+ [data-style='minimal'] [data-list] [data-list-item][data-selected='true']:hover:not(:disabled) {
117
+ @apply text-primary-z8;
133
118
  }
134
- [data-style='minimal'] rk-switch rk-item[aria-selected='true'] {
135
- @apply bg-secondary text-surface-800;
119
+
120
+ [data-style='minimal'] [data-list] [data-list-item][data-selected='true'] [data-item-icon] {
121
+ @apply text-primary-z5;
136
122
  }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Menu - Minimal Theme Styles
3
+ *
4
+ * Clean, understated menu with subtle borders.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Menu Trigger
9
+ ============================================================================= */
10
+
11
+ [data-style='minimal'] [data-menu-trigger] {
12
+ @apply border-surface-z4 bg-transparent text-surface-z7 border;
13
+ }
14
+
15
+ [data-style='minimal'] [data-menu-trigger]:hover:not(:disabled) {
16
+ @apply text-surface-z9 border-surface-z5;
17
+ }
18
+
19
+ [data-style='minimal'] [data-menu-trigger]:focus-visible {
20
+ @apply outline-none ring-1 ring-surface-z5;
21
+ }
22
+
23
+ [data-style='minimal'] [data-menu][data-open='true'] [data-menu-trigger] {
24
+ @apply border-surface-z6;
25
+ }
26
+
27
+ /* Trigger elements */
28
+ [data-style='minimal'] [data-menu-trigger] [data-menu-icon] {
29
+ @apply text-surface-z5;
30
+ }
31
+
32
+ [data-style='minimal'] [data-menu-trigger]:hover:not(:disabled) [data-menu-icon] {
33
+ @apply text-surface-z7;
34
+ }
35
+
36
+ [data-style='minimal'] [data-menu-trigger] [data-menu-arrow] {
37
+ @apply text-surface-z4;
38
+ }
39
+
40
+ /* =============================================================================
41
+ Menu Dropdown
42
+ ============================================================================= */
43
+
44
+ [data-style='minimal'] [data-menu-dropdown] {
45
+ @apply bg-surface-z1 border-surface-z3 border shadow-sm;
46
+ }
47
+
48
+ /* =============================================================================
49
+ Menu Items
50
+ ============================================================================= */
51
+
52
+ [data-style='minimal'] [data-menu-item] {
53
+ @apply text-surface-z7 border-0 border-solid border-transparent;
54
+ }
55
+
56
+ [data-style='minimal'] [data-menu-item]:hover:not(:disabled),
57
+ [data-style='minimal'] [data-menu-item]:focus:not(:disabled) {
58
+ @apply text-surface-z9 border-l-surface-z2 border-l-2 outline-none;
59
+ }
60
+
61
+ /* Item elements */
62
+ [data-style='minimal'] [data-menu-item] [data-item-icon] {
63
+ @apply text-surface-z5;
64
+ }
65
+
66
+ [data-style='minimal'] [data-menu-item]:hover:not(:disabled) [data-item-icon] {
67
+ @apply text-surface-z6;
68
+ }
69
+
70
+ [data-style='minimal'] [data-menu-item] [data-item-description] {
71
+ @apply text-surface-z5;
72
+ }
73
+
74
+ /* =============================================================================
75
+ Groups
76
+ ============================================================================= */
77
+
78
+ [data-style='minimal'] [data-menu-group-label] {
79
+ @apply text-surface-z5;
80
+ }
81
+
82
+ /* =============================================================================
83
+ Divider
84
+ ============================================================================= */
85
+
86
+ [data-style='minimal'] [data-menu-divider] {
87
+ @apply bg-surface-z3;
88
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Range - Minimal Theme Styles
3
+ *
4
+ * Clean, understated styling with subtle borders.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Track
9
+ ============================================================================= */
10
+
11
+ [data-style='minimal'] [data-range-bar] {
12
+ @apply bg-surface-z3;
13
+ }
14
+
15
+ [data-style='minimal'] [data-range-selected] {
16
+ @apply bg-primary;
17
+ }
18
+
19
+ /* =============================================================================
20
+ Thumb
21
+ ============================================================================= */
22
+
23
+ [data-style='minimal'] [data-range-thumb] {
24
+ @apply bg-surface-z1 border-primary border-2;
25
+ }
26
+
27
+ [data-style='minimal'] [data-range-thumb][data-sliding] {
28
+ @apply bg-primary;
29
+ }
30
+
31
+ [data-style='minimal'] [data-range-thumb]:focus-visible {
32
+ @apply bg-primary;
33
+ }
34
+
35
+ /* =============================================================================
36
+ Ticks
37
+ ============================================================================= */
38
+
39
+ [data-style='minimal'] [data-range-tick] {
40
+ @apply text-surface-z6;
41
+ }
42
+
43
+ [data-style='minimal'] [data-tick-bar] {
44
+ @apply border-surface-z4;
45
+ }
46
+
47
+ [data-style='minimal'] [data-tick-label] {
48
+ @apply text-surface-z6;
49
+ }
50
+
51
+ /* =============================================================================
52
+ Disabled
53
+ ============================================================================= */
54
+
55
+ [data-style='minimal'] [data-range][data-disabled] [data-range-thumb] {
56
+ @apply bg-surface-z3 border-surface-z4;
57
+ }
58
+
59
+ [data-style='minimal'] [data-range][data-disabled] [data-range-selected] {
60
+ @apply bg-surface-z4;
61
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * SearchFilter - Minimal Theme Styles
3
+ *
4
+ * Clean, understated styling with subtle borders.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Input
9
+ ============================================================================= */
10
+
11
+ [data-style='minimal'] [data-search-input] {
12
+ @apply text-surface-z7 border-surface-z4 border bg-transparent;
13
+ }
14
+
15
+ [data-style='minimal'] [data-search-input]:focus {
16
+ @apply border-surface-z6 ring-surface-z5 ring-1;
17
+ }
18
+
19
+ [data-style='minimal'] [data-search-input]::placeholder {
20
+ @apply text-surface-z5;
21
+ }
22
+
23
+ /* =============================================================================
24
+ Clear Button
25
+ ============================================================================= */
26
+
27
+ [data-style='minimal'] [data-search-clear] {
28
+ @apply text-surface-z5;
29
+ }
30
+
31
+ [data-style='minimal'] [data-search-clear]:hover {
32
+ @apply text-surface-z8;
33
+ }
34
+
35
+ /* =============================================================================
36
+ Tags
37
+ ============================================================================= */
38
+
39
+ [data-style='minimal'] [data-search-tag] {
40
+ @apply text-surface-z7 border-surface-z4 border bg-transparent;
41
+ }
42
+
43
+ [data-style='minimal'] [data-search-tag-remove] {
44
+ @apply text-surface-z5;
45
+ }
46
+
47
+ [data-style='minimal'] [data-search-tag-remove]:hover {
48
+ @apply text-surface-z8;
49
+ }