@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
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Button - Material Theme Styles
3
+ *
4
+ * Material Design inspired with elevation and shadows.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Default Style (filled)
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-button][data-style='default'][data-variant='default'],
12
+ [data-style='material'] [data-button]:not([data-style])[data-variant='default'],
13
+ [data-style='material'] [data-button][data-style='default']:not([data-variant]),
14
+ [data-style='material'] [data-button]:not([data-style]):not([data-variant]) {
15
+ @apply bg-surface-z2 text-surface-z8 shadow-sm;
16
+ }
17
+
18
+ [data-style='material'] [data-button][data-style='default'][data-variant='primary'],
19
+ [data-style='material'] [data-button]:not([data-style])[data-variant='primary'] {
20
+ @apply bg-primary-z5 text-on-primary shadow-md;
21
+ }
22
+
23
+ [data-style='material'] [data-button][data-style='default'][data-variant='secondary'],
24
+ [data-style='material'] [data-button]:not([data-style])[data-variant='secondary'] {
25
+ @apply bg-secondary-z4 text-on-secondary shadow-md;
26
+ }
27
+
28
+ [data-style='material'] [data-button][data-style='default'][data-variant='danger'],
29
+ [data-style='material'] [data-button]:not([data-style])[data-variant='danger'] {
30
+ @apply bg-danger-z4 text-on-danger shadow-md;
31
+ }
32
+
33
+ /* =============================================================================
34
+ Outline Style
35
+ ============================================================================= */
36
+
37
+ [data-style='material'] [data-button][data-style='outline'][data-variant='default'],
38
+ [data-style='material'] [data-button][data-style='outline']:not([data-variant]) {
39
+ @apply border-surface-z4 text-surface-z7 border bg-transparent;
40
+ }
41
+
42
+ [data-style='material'] [data-button][data-style='outline'][data-variant='primary'] {
43
+ @apply border-primary-z4 text-primary-z6 border bg-transparent;
44
+ }
45
+
46
+ [data-style='material'] [data-button][data-style='outline'][data-variant='secondary'] {
47
+ @apply border-secondary-z4 text-secondary-z6 border bg-transparent;
48
+ }
49
+
50
+ [data-style='material'] [data-button][data-style='outline'][data-variant='danger'] {
51
+ @apply border-danger-z4 text-danger-z4 border bg-transparent;
52
+ }
53
+
54
+ /* =============================================================================
55
+ Ghost Style
56
+ ============================================================================= */
57
+
58
+ [data-style='material'] [data-button][data-style='ghost'] {
59
+ @apply border-transparent bg-transparent;
60
+ }
61
+
62
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='default'],
63
+ [data-style='material'] [data-button][data-style='ghost']:not([data-variant]) {
64
+ @apply text-surface-z7;
65
+ }
66
+
67
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='primary'] {
68
+ @apply text-primary-z6;
69
+ }
70
+
71
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='secondary'] {
72
+ @apply text-secondary-z6;
73
+ }
74
+
75
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='danger'] {
76
+ @apply text-danger-z4;
77
+ }
78
+
79
+ /* =============================================================================
80
+ Gradient Style
81
+ ============================================================================= */
82
+
83
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='default'],
84
+ [data-style='material'] [data-button][data-style='gradient']:not([data-variant]) {
85
+ @apply from-surface-z3 to-surface-z1 text-surface-z10 shadow-md bg-gradient-to-br;
86
+ }
87
+
88
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='primary'] {
89
+ @apply from-primary-z5 to-primary-z3 text-on-primary shadow-md bg-gradient-to-br;
90
+ }
91
+
92
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='secondary'] {
93
+ @apply from-secondary-z5 to-secondary-z3 text-on-secondary shadow-md bg-gradient-to-br;
94
+ }
95
+
96
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='danger'] {
97
+ @apply from-danger-z5 to-danger-z3 text-on-danger shadow-md bg-gradient-to-br;
98
+ }
99
+
100
+ [data-style='material'] [data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
101
+ filter: brightness(1.08);
102
+ @apply shadow-lg;
103
+ }
104
+
105
+ /* =============================================================================
106
+ Link Style
107
+ ============================================================================= */
108
+
109
+ [data-style='material'] [data-button][data-style='link'][data-variant='default'],
110
+ [data-style='material'] [data-button][data-style='link']:not([data-variant]) {
111
+ @apply text-surface-z7;
112
+ }
113
+
114
+ [data-style='material'] [data-button][data-style='link'][data-variant='primary'] {
115
+ @apply text-primary-z6;
116
+ }
117
+
118
+ [data-style='material'] [data-button][data-style='link'][data-variant='secondary'] {
119
+ @apply text-secondary-z6;
120
+ }
121
+
122
+ [data-style='material'] [data-button][data-style='link'][data-variant='danger'] {
123
+ @apply text-danger-z4;
124
+ }
125
+
126
+ [data-style='material'] [data-button][data-style='link']:hover:not(:disabled):not([data-disabled]) {
127
+ @apply text-primary-z7;
128
+ }
129
+
130
+ /* =============================================================================
131
+ Hover States
132
+ ============================================================================= */
133
+
134
+ [data-style='material'] [data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
135
+ [data-style='material'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
136
+ @apply shadow-md;
137
+ }
138
+
139
+ [data-style='material'] [data-button][data-style='outline']:hover:not(:disabled):not([data-disabled]) {
140
+ @apply bg-surface-z1;
141
+ }
142
+
143
+ [data-style='material'] [data-button][data-style='ghost']:hover:not(:disabled):not([data-disabled]) {
144
+ @apply bg-surface-z2;
145
+ }
146
+
147
+ /* =============================================================================
148
+ Focus
149
+ ============================================================================= */
150
+
151
+ [data-style='material'] [data-button]:focus-visible {
152
+ @apply ring-primary-z4 ring-2 ring-offset-2 outline-none;
153
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * FloatingAction - Material Theme Styles
3
+ *
4
+ * Material Design inspired with elevation and shadows.
5
+ */
6
+
7
+ /* =============================================================================
8
+ FAB Trigger Button
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-fab-trigger] {
12
+ @apply bg-primary-z5 text-white shadow-lg;
13
+ }
14
+
15
+ [data-style='material'] [data-fab-trigger]:hover:not(:disabled) {
16
+ @apply bg-primary-z6 shadow-xl;
17
+ transform: scale(1.05);
18
+ }
19
+
20
+ [data-style='material'] [data-fab-trigger]:focus-visible {
21
+ @apply ring-primary-z4 ring-2 ring-offset-2 outline-none;
22
+ }
23
+
24
+ [data-style='material'] [data-fab][data-open='true'] [data-fab-trigger] {
25
+ @apply bg-surface-z4 text-surface-z10 shadow-lg;
26
+ transform: rotate(45deg);
27
+ }
28
+
29
+ /* =============================================================================
30
+ FAB Items
31
+ ============================================================================= */
32
+
33
+ [data-style='material'] [data-fab-item] {
34
+ @apply bg-surface-z1 text-surface-z8 shadow-md;
35
+ }
36
+
37
+ [data-style='material'] [data-fab-item]:hover:not(:disabled) {
38
+ @apply bg-surface-z2 text-surface-z10 shadow-lg;
39
+ }
40
+
41
+ [data-style='material'] [data-fab-item]:focus-visible {
42
+ @apply ring-primary-z4 ring-2 outline-none;
43
+ }
44
+
45
+ /* Item icon */
46
+ [data-style='material'] [data-fab-item] [data-fab-item-icon] {
47
+ @apply text-primary-z6;
48
+ }
49
+
50
+ [data-style='material'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
51
+ @apply text-primary-z7;
52
+ }
53
+
54
+ /* =============================================================================
55
+ Backdrop
56
+ ============================================================================= */
57
+
58
+ [data-style='material'] [data-fab-backdrop] {
59
+ background: rgba(0, 0, 0, 0.5);
60
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * FloatingNavigation - Material Theme Styles
3
+ *
4
+ * Material Design inspired with elevation and shadows.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Container
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-floating-nav] {
12
+ @apply bg-surface-z1 shadow-xl;
13
+ }
14
+
15
+ /* =============================================================================
16
+ Header
17
+ ============================================================================= */
18
+
19
+ [data-style='material'] [data-floating-nav-title] {
20
+ @apply text-surface-z6;
21
+ }
22
+
23
+ [data-style='material'] [data-floating-nav-pin] {
24
+ @apply text-surface-z6;
25
+ }
26
+
27
+ [data-style='material'] [data-floating-nav-pin]:hover {
28
+ @apply text-primary-z6;
29
+ }
30
+
31
+ [data-style='material'] [data-floating-nav-pin][aria-pressed='true'] {
32
+ @apply text-primary-z7;
33
+ }
34
+
35
+ /* =============================================================================
36
+ Items
37
+ ============================================================================= */
38
+
39
+ [data-style='material'] [data-floating-nav-item] {
40
+ @apply text-surface-z8;
41
+ }
42
+
43
+ [data-style='material'] [data-floating-nav-item]:hover {
44
+ @apply bg-surface-z2 text-surface-z10;
45
+ }
46
+
47
+ [data-style='material'] [data-floating-nav-item][data-active] {
48
+ @apply text-primary-z7 bg-primary-z5/10;
49
+ }
50
+
51
+ [data-style='material'] [data-floating-nav-item]:focus-visible {
52
+ @apply ring-primary-z4 ring-2 outline-none;
53
+ }
54
+
55
+ /* Icon */
56
+ [data-style='material'] [data-floating-nav-icon] {
57
+ @apply text-surface-z6;
58
+ }
59
+
60
+ [data-style='material'] [data-floating-nav-item]:hover [data-floating-nav-icon] {
61
+ @apply text-primary-z6;
62
+ }
63
+
64
+ [data-style='material'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
65
+ @apply text-primary-z7;
66
+ }
67
+
68
+ /* =============================================================================
69
+ Active Indicator
70
+ ============================================================================= */
71
+
72
+ [data-style='material'] [data-floating-nav-indicator] {
73
+ @apply bg-primary-z5 shadow-sm;
74
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @rokkit/themes - Material Theme
3
+ *
4
+ * Material Design inspired styling with elevation shadows and ripple effects.
5
+ * Use with data-style="material" wrapper.
6
+ */
7
+
8
+ @import './button.css';
9
+ @import './input.css';
10
+ @import './toolbar.css';
11
+ @import './tabs.css';
12
+ @import './toggle.css';
13
+ @import './switch.css';
14
+ @import './list.css';
15
+ @import './tree.css';
16
+ @import './select.css';
17
+ @import './menu.css';
18
+ @import './floating-action.css';
19
+ @import './table.css';
20
+ @import './search-filter.css';
21
+ @import './range.css';
22
+ @import './timeline.css';
23
+ @import './floating-navigation.css';
@@ -1,65 +1,143 @@
1
- [data-style='material'] input {
2
- @apply border-box focus:outline-none;
1
+ /* Material Theme - Form field and input styles
2
+ * Material Design outlined text field with floating label.
3
+ */
4
+
5
+ /* Form background: needed so floating label pill matches */
6
+ [data-style='material'] [data-form-root] {
7
+ @apply bg-surface-z1;
8
+ --material-bg: rgba(var(--color-surface-100), 1);
9
+ }
10
+
11
+ [data-mode='dark'] [data-style='material'] [data-form-root] {
12
+ --material-bg: rgba(var(--color-surface-900), 1);
13
+ }
14
+
15
+ /* Field root: relative positioning for floating label */
16
+ [data-style='material'] [data-field-root] {
17
+ @apply relative gap-0;
18
+ }
19
+
20
+ /* Input root: outlined border */
21
+ [data-style='material'] [data-input-root] {
22
+ @apply flex items-center border border-surface-z4 rounded bg-transparent p-0 transition-all;
23
+ background-image: none;
3
24
  }
4
- [data-style='material'] rk-input-field {
5
- @apply border-surface-z3 box-border rounded border;
6
- @apply text-surface-800 relative pb-0 leading-loose;
25
+
26
+ [data-style='material'] [data-input-root]:hover {
27
+ @apply border-surface-z6;
7
28
  }
8
- [data-style='material'] rk-input-field.empty label {
9
- @apply absolute top-0 my-3.5 align-middle;
29
+
30
+ [data-style='material'] [data-input-root]:focus-within {
31
+ @apply border-primary-z5 bg-transparent;
32
+ background-image: none;
10
33
  }
11
34
 
12
- [data-style='material'] rk-input-field input,
13
- [data-style='material'] rk-input-field > field > :not(icon) {
14
- @apply border-none bg-transparent focus:outline-none;
35
+ /* Inputs inside wrapper */
36
+ [data-style='material'] [data-input-root] input:not([type='checkbox'], [type='radio'], [type='color']),
37
+ [data-style='material'] [data-input-root] textarea,
38
+ [data-style='material'] [data-input-root] select {
39
+ @apply bg-transparent text-surface-z9 w-full border-none px-3 py-2.5 outline-none transition-all;
40
+ font-size: 0.875rem;
41
+ line-height: 1.25rem;
15
42
  }
16
43
 
17
- [data-style='material'] rk-input-field:focus-within {
18
- @apply border-primary;
44
+ [data-style='material'] [data-input-root] textarea {
45
+ @apply resize-vertical min-h-20;
19
46
  }
20
47
 
21
- [data-style='material'] rk-input-field label,
22
- [data-style='material'] rk-input-field:focus-within label {
23
- @apply bg-surface-z1 z-1 absolute block;
24
- @apply -top-2 left-3 my-0 px-1 leading-tight opacity-100;
48
+ /* Select inside input-root */
49
+ [data-style='material'] [data-input-root] [data-select-trigger] {
50
+ @apply bg-transparent text-surface-z9 border-none rounded px-3 shadow-none ring-0 focus:outline-none;
51
+ font-size: 0.875rem;
25
52
  }
26
53
 
27
- [data-style='material'] rk-input-select {
28
- @apply cursor-pointer select-none rounded;
54
+ /* Suppress standalone select open-state ring/border when inside input-root */
55
+ [data-style='material'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
56
+ @apply border-none ring-0 shadow-none;
29
57
  }
30
- [data-style='material'] rk-input-select > selected-item {
31
- @apply bg-surface-z1 h-8 items-center pl-4 pr-0 normal-case;
32
- @apply border-surface-z3 text-surface-800 rounded border;
33
- @apply hover:bg-surface-z3 hover:border-secondary-600;
58
+
59
+ /* Labels: floating label effect (exclude checkbox — uses inline label) */
60
+ [data-style='material'] [data-field-root]:not([data-field-type='checkbox']) [data-field] > label {
61
+ @apply text-surface-z5 text-sm absolute left-3 px-1 transition-all pointer-events-none;
62
+ top: 50%;
63
+ transform: translateY(-50%);
64
+ background: transparent;
65
+ z-index: 1;
34
66
  }
35
67
 
36
- [data-style='material'] rk-input-select:hover square-icon {
37
- @apply border-surface;
68
+ /* Label floats up when input has focus or value */
69
+ [data-style='material'] [data-field-root]:not([data-field-type='checkbox']) [data-field]:has([data-input-root]:focus-within) > label,
70
+ [data-style='material'] [data-field-root]:not([data-field-type='checkbox']):not([data-field-empty='true']) [data-field] > label {
71
+ @apply text-xs;
72
+ top: 0;
73
+ transform: translateY(-50%);
74
+ background: var(--material-bg, rgba(var(--color-surface-100), 1));
75
+ padding-inline: 0.25rem;
38
76
  }
39
- [data-style='material'] rk-input-select scroll {
40
- @apply mt-2 shadow-lg;
77
+
78
+ [data-style='material'] [data-field-root]:not([data-field-type='checkbox']) [data-field]:has([data-input-root]:focus-within) > label {
79
+ @apply text-primary-z5;
41
80
  }
42
81
 
43
- [data-style='material'] rk-input-range range-track selected {
44
- @apply bg-primary border-0;
82
+ /* Checkbox fields: inline label, centered with icon */
83
+ [data-style='material'] [data-field-type='checkbox'] [data-field] {
84
+ @apply flex flex-row items-center gap-2;
45
85
  }
46
- [data-style='material'] rk-input-range range-track rk-thumb {
47
- @apply bg-primary-600 -top-1.5;
86
+
87
+ [data-style='material'] [data-field-type='checkbox'] [data-field] > label {
88
+ @apply text-surface-z7 text-sm;
48
89
  }
49
- [data-style='material'] rk-input-range rk-thumb.sliding::before {
50
- @apply bg-primary-400;
90
+
91
+ /* Form-level labels (FormRenderer) */
92
+ [data-style='material'] [data-form-root] label {
93
+ @apply text-surface-z5 text-sm;
51
94
  }
52
95
 
53
- [data-style='material'] rk-rating {
54
- @apply text-surface-600 text-xl focus:outline-none;
96
+ /* Info field value */
97
+ [data-style='material'] [data-field-info] {
98
+ @apply text-primary-z6;
55
99
  }
56
- [data-style='material'] rk-rating > rk-icon {
57
- @apply w-8;
100
+
101
+ /* Separator */
102
+ [data-style='material'] [data-form-separator] {
103
+ @apply border-surface-z3;
58
104
  }
59
- [data-style='material'] rk-rating:focus-within rk-icon[aria-checked='true'] {
60
- @apply text-secondary;
105
+
106
+ /* Disabled state */
107
+ [data-style='material'] [data-field-disabled] [data-input-root] {
108
+ @apply border-surface-z3 bg-surface-z1 opacity-60 cursor-not-allowed;
109
+ }
110
+
111
+ /* Error state */
112
+ [data-style='material'] [data-field-state='fail'] [data-input-root] {
113
+ @apply border-danger-z4;
114
+ }
115
+
116
+ [data-style='material'] [data-field-root]:not([data-field-type='checkbox'])[data-field-state='fail'] [data-field] > label {
117
+ @apply text-danger-z4;
118
+ }
119
+
120
+ /* Description */
121
+ [data-style='material'] [data-description] {
122
+ @apply text-surface-z5 mt-1 text-xs px-3;
123
+ }
124
+
125
+ /* Message */
126
+ [data-style='material'] [data-message] {
127
+ @apply text-danger-z5 text-xs mt-1 px-3;
128
+ }
129
+
130
+ /* Checkbox */
131
+ [data-style='material'] [data-checkbox-icon] {
132
+ @apply text-surface-z5 text-lg;
133
+ }
134
+
135
+ [data-style='material'] [data-checkbox-root][data-variant='custom']:has(input:checked) [data-checkbox-icon] {
136
+ @apply text-primary-z5;
61
137
  }
62
138
 
63
- [data-style='material'] rk-rating rk-icon.hovering > i {
64
- @apply text-primary;
139
+ /* Placeholders */
140
+ [data-style='material'] [data-input-root] input::placeholder,
141
+ [data-style='material'] [data-input-root] textarea::placeholder {
142
+ @apply text-surface-z4;
65
143
  }