@rokkit/themes 1.0.0-next.125 → 1.0.0-next.128

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 (137) hide show
  1. package/README.md +118 -9
  2. package/build.mjs +237 -0
  3. package/package.json +43 -28
  4. package/src/base/breadcrumbs.css +46 -0
  5. package/src/base/button.css +247 -0
  6. package/src/base/card.css +36 -0
  7. package/src/base/carousel.css +122 -12
  8. package/src/base/connector.css +92 -0
  9. package/src/base/display.css +91 -0
  10. package/src/base/floating-action.css +388 -0
  11. package/src/base/floating-navigation.css +381 -0
  12. package/src/base/grid.css +93 -0
  13. package/src/base/index.css +39 -0
  14. package/src/base/input.css +198 -39
  15. package/src/base/item.css +78 -0
  16. package/src/base/list.css +179 -0
  17. package/src/base/menu.css +274 -0
  18. package/src/base/pill.css +57 -0
  19. package/src/base/progress.css +28 -15
  20. package/src/base/range.css +121 -0
  21. package/src/base/rating.css +40 -0
  22. package/src/base/reveal.css +37 -0
  23. package/src/base/search-filter.css +132 -0
  24. package/src/base/select.css +411 -0
  25. package/src/base/shine.css +14 -0
  26. package/src/base/stepper.css +140 -0
  27. package/src/base/switch.css +152 -0
  28. package/src/base/table.css +143 -33
  29. package/src/base/tabs.css +171 -0
  30. package/src/base/tilt.css +14 -0
  31. package/src/base/timeline.css +84 -0
  32. package/src/base/toggle.css +138 -0
  33. package/src/base/toolbar.css +337 -0
  34. package/src/base/tree.css +195 -11
  35. package/src/base/upload-progress.css +155 -0
  36. package/src/base/upload-target.css +67 -0
  37. package/src/glass/button.css +152 -0
  38. package/src/glass/floating-action.css +61 -0
  39. package/src/glass/floating-navigation.css +74 -0
  40. package/src/glass/index.css +23 -0
  41. package/src/glass/input.css +124 -0
  42. package/src/glass/list.css +122 -0
  43. package/src/glass/menu.css +92 -0
  44. package/src/glass/range.css +61 -0
  45. package/src/glass/search-filter.css +49 -0
  46. package/src/glass/select.css +178 -0
  47. package/src/glass/switch.css +28 -0
  48. package/src/glass/table.css +87 -0
  49. package/src/glass/tabs.css +58 -0
  50. package/src/glass/timeline.css +46 -0
  51. package/src/glass/toggle.css +48 -0
  52. package/src/glass/toolbar.css +84 -0
  53. package/src/glass/tree.css +104 -0
  54. package/src/index.css +18 -0
  55. package/src/index.js +25 -2
  56. package/src/material/button.css +153 -0
  57. package/src/material/floating-action.css +60 -0
  58. package/src/material/floating-navigation.css +74 -0
  59. package/src/material/index.css +23 -0
  60. package/src/material/input.css +118 -40
  61. package/src/material/list.css +90 -64
  62. package/src/material/menu.css +92 -0
  63. package/src/material/range.css +62 -0
  64. package/src/material/search-filter.css +49 -0
  65. package/src/material/select.css +170 -0
  66. package/src/material/switch.css +28 -0
  67. package/src/material/table.css +87 -0
  68. package/src/material/tabs.css +62 -0
  69. package/src/material/timeline.css +46 -0
  70. package/src/material/toggle.css +48 -0
  71. package/src/material/toolbar.css +84 -0
  72. package/src/material/tree.css +100 -0
  73. package/src/minimal/button.css +152 -0
  74. package/src/minimal/floating-action.css +59 -0
  75. package/src/minimal/floating-navigation.css +70 -0
  76. package/src/minimal/index.css +23 -0
  77. package/src/minimal/input.css +81 -120
  78. package/src/minimal/list.css +90 -104
  79. package/src/minimal/menu.css +88 -0
  80. package/src/minimal/range.css +61 -0
  81. package/src/minimal/search-filter.css +49 -0
  82. package/src/minimal/select.css +168 -0
  83. package/src/minimal/switch.css +28 -0
  84. package/src/minimal/table.css +87 -0
  85. package/src/minimal/tabs.css +53 -31
  86. package/src/minimal/timeline.css +45 -0
  87. package/src/minimal/toggle.css +48 -0
  88. package/src/minimal/toolbar.css +84 -0
  89. package/src/minimal/tree.css +100 -0
  90. package/src/rokkit/button.css +225 -0
  91. package/src/rokkit/connector.css +11 -0
  92. package/src/rokkit/floating-action.css +65 -0
  93. package/src/rokkit/floating-navigation.css +83 -0
  94. package/src/rokkit/grid.css +46 -0
  95. package/src/rokkit/index.css +27 -0
  96. package/src/rokkit/input.css +130 -0
  97. package/src/rokkit/list.css +127 -0
  98. package/src/rokkit/menu.css +93 -0
  99. package/src/rokkit/range.css +62 -0
  100. package/src/rokkit/search-filter.css +49 -0
  101. package/src/rokkit/select.css +185 -0
  102. package/src/rokkit/switch.css +28 -0
  103. package/src/rokkit/table.css +68 -38
  104. package/src/rokkit/tabs.css +82 -0
  105. package/src/rokkit/timeline.css +46 -0
  106. package/src/rokkit/toggle.css +36 -52
  107. package/src/rokkit/toolbar.css +84 -0
  108. package/src/rokkit/tree.css +123 -0
  109. package/src/rokkit/upload-progress.css +102 -0
  110. package/src/rokkit/upload-target.css +50 -0
  111. package/src/base/alert.css +0 -30
  112. package/src/base/animation.css +0 -37
  113. package/src/base/atoms.css +0 -58
  114. package/src/base/core.css +0 -107
  115. package/src/base/layout.css +0 -65
  116. package/src/base/molecules.css +0 -109
  117. package/src/base/organisms.css +0 -66
  118. package/src/base/scrollbar.css +0 -16
  119. package/src/base/toggles.css +0 -17
  120. package/src/base.css +0 -13
  121. package/src/markdown.css +0 -955
  122. package/src/material/base.css +0 -12
  123. package/src/material/form.css +0 -30
  124. package/src/material.css +0 -9
  125. package/src/minimal/base.css +0 -8
  126. package/src/minimal/form.css +0 -87
  127. package/src/minimal.css +0 -11
  128. package/src/mixins/mixins.scss +0 -66
  129. package/src/mixins/palette.scss +0 -48
  130. package/src/prism.css +0 -102
  131. package/src/rokkit/alert.css +0 -4
  132. package/src/rokkit/atoms.css +0 -52
  133. package/src/rokkit/carousel.css +0 -19
  134. package/src/rokkit/layout.css +0 -17
  135. package/src/rokkit/molecules.css +0 -124
  136. package/src/rokkit/organisms.css +0 -307
  137. package/src/rokkit.css +0 -11
@@ -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
  }
@@ -1,96 +1,122 @@
1
- [data-style='material'] rk-accordion,
2
- [data-style='material'] rk-list {
3
- @apply gap-1px rounded;
4
- }
5
- [data-style='material'] rk-list > rk-item {
6
- @apply bg-surface-z2;
7
- }
8
- [data-style='material'] rk-item {
9
- @apply flex items-center gap-2 px-3 leading-10;
10
- }
11
- [data-style='material'] rk-item > img,
12
- [data-style='material'] rk-item > a > img {
13
- @apply h-4 w-4 rounded;
14
- }
15
- [data-style='material'] .tab.is-hovering {
16
- @apply bg-primary;
1
+ /**
2
+ * List - Material Theme Styles
3
+ *
4
+ * Material Design inspired with subtle elevation and ripple effects.
5
+ */
6
+
7
+ /* =============================================================================
8
+ List Container
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-list]:focus-within {
12
+ @apply outline-none;
17
13
  }
18
14
 
19
- [data-style='material'] rk-tabs .tab {
20
- @apply cursor-pointer;
15
+ /* =============================================================================
16
+ List Items
17
+ ============================================================================= */
18
+
19
+ [data-style='material'] [data-list] [data-list-item] {
20
+ @apply text-surface-z8;
21
21
  }
22
- [data-style='material'] rk-tabs .tab[aria-selected='true'] {
23
- @apply border-b-3 border-primary;
22
+
23
+ [data-style='material'] [data-list] a[data-list-item],
24
+ [data-style='material'] [data-list] button[data-list-item] {
25
+ @apply text-surface-z7;
24
26
  }
25
- [data-style='material'] rk-tabs.is-below .tab[aria-selected='true'] {
26
- @apply border-t-3 border-b-0;
27
+
28
+ /* Hover and focus (keyboard navigation) */
29
+ [data-style='material'] [data-list] [data-list-item]:hover:not(:disabled):not([data-disabled='true']),
30
+ [data-style='material'] [data-list] [data-list-item]:focus:not(:disabled):not([data-disabled='true']) {
31
+ @apply bg-surface-z2 text-surface-z10 outline-none;
27
32
  }
28
33
 
29
- [data-style='material'] rk-node > div {
30
- @apply h-7 px-2;
34
+ /* Active state muted when list not focused */
35
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] {
36
+ @apply bg-surface-z2 text-primary-z9;
31
37
  }
32
- [data-style='material'] rk-node > rk-item {
33
- @apply gap-1 bg-transparent px-1;
38
+
39
+ /* Active state — full highlight when list has focus */
40
+ [data-style='material'] [data-list]:focus-within [data-list-item][data-active='true'] {
41
+ @apply bg-primary-z2 text-primary-z9;
34
42
  }
35
- [data-style='material'] rk-node > span {
36
- @apply w-3;
43
+
44
+ /* Active + hover/focus */
45
+ [data-style='material'] [data-list] [data-list-item][data-active='true']:hover:not(:disabled),
46
+ [data-style='material'] [data-list] [data-list-item][data-active='true']:focus:not(:disabled) {
47
+ @apply bg-primary-z3;
37
48
  }
38
49
 
39
- [data-style='material'] rk-node > span > rk-icon {
40
- @apply text-sm;
50
+ /* =============================================================================
51
+ Item Elements
52
+ ============================================================================= */
53
+
54
+ [data-style='material'] [data-list] [data-list-item] [data-item-icon] {
55
+ @apply text-surface-z5;
41
56
  }
42
57
 
43
- [data-style='material'] rk-nested-list:focus-within {
44
- @apply outline-none;
58
+ [data-style='material'] [data-list] [data-list-item]:hover:not(:disabled) [data-item-icon],
59
+ [data-style='material'] [data-list] [data-list-item]:focus:not(:disabled) [data-item-icon] {
60
+ @apply text-surface-z7;
45
61
  }
46
62
 
47
- [data-style='material'] rk-node > span > i {
48
- @apply border-transparent;
63
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-icon] {
64
+ @apply text-primary-z6;
49
65
  }
50
66
 
51
- [data-style='material'] rk-accordion .is-expanded rk-summary {
52
- @apply border-surface-z3 z-1 sticky top-0 rounded-b-none border-b;
67
+ [data-style='material'] [data-list] [data-list-item] [data-item-description] {
68
+ @apply text-surface-z5;
53
69
  }
54
70
 
55
- [data-style='material'] rk-accordion .is-selected rk-summary {
56
- @apply border-b-primary text-primary-600 border-b;
57
- @apply hover:text-primary-600;
71
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-description] {
72
+ @apply text-primary-z7;
58
73
  }
59
- /* .[data-style="material"] rk-list item[aria-selected='true'] {
60
- @apply bg-primary text-primary-800;
61
- } */
62
- [data-style='material'] rk-node[aria-selected='true'],
63
- [data-style='material'] rk-list rk-item[aria-selected='true'] {
64
- @apply bg-primary text-surface-z1;
74
+
75
+ [data-style='material'] [data-list] [data-list-item] [data-item-badge] {
76
+ @apply text-surface-z6 bg-surface-z2 rounded-full;
65
77
  }
66
- [data-style='material'] rk-crumbs {
67
- @apply flex-grow gap-1 text-sm;
78
+
79
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-badge] {
80
+ @apply text-primary-z8 bg-primary-z2;
68
81
  }
69
82
 
70
- [data-style='material'] rk-switch rk-item[aria-selected='true'] {
71
- @apply bg-primary text-surface-200 dark:text-surface-800;
83
+ /* =============================================================================
84
+ Groups
85
+ ============================================================================= */
86
+
87
+ [data-style='material'] [data-list] [data-list-group] {
88
+ @apply text-surface-z6 font-medium;
72
89
  }
73
- [data-style='material'] rk-crumbs rk-crumb.is-selected {
74
- @apply text-secondary;
90
+
91
+ [data-style='material'] [data-list] [data-list-group]:hover:not(:disabled),
92
+ [data-style='material'] [data-list] [data-list-group]:focus:not(:disabled) {
93
+ @apply bg-surface-z3 text-surface-z8;
75
94
  }
76
95
 
77
- [data-style='material'] rk-switch {
78
- @apply mx-auto min-h-6 min-w-12 rounded-full;
79
- @apply bg-surface-z2 border-surface-z3 border;
80
- @apply p-2px;
96
+ /* =============================================================================
97
+ Separator
98
+ ============================================================================= */
99
+
100
+ [data-style='material'] [data-list] [data-list-separator] {
101
+ @apply bg-surface-z3;
81
102
  }
82
- [data-style='material'] rk-switch rk-item {
83
- @apply items-center justify-center gap-1 px-3 leading-tight;
84
- @apply min-h-6 min-w-6 cursor-pointer rounded-full;
103
+
104
+ /* =============================================================================
105
+ Multi-Selection
106
+ ============================================================================= */
107
+
108
+ [data-style='material'] [data-list] [data-list-item][data-selected='true'] {
109
+ @apply bg-primary-z2 text-primary-z9;
85
110
  }
86
111
 
87
- [data-style='material'] rk-switch.compact > rk-item {
88
- @apply gap-0 px-0;
112
+ [data-style='material'] [data-list]:focus-within [data-list-item][data-selected='true'] {
113
+ @apply bg-primary-z2;
89
114
  }
90
115
 
91
- .minimal rk-tabs .tab rk-icon[role='img'] {
92
- @apply h-6 w-6;
116
+ [data-style='material'] [data-list] [data-list-item][data-selected='true']:hover:not(:disabled) {
117
+ @apply bg-primary-z3;
93
118
  }
94
- .minimal rk-tabs .tab rk-icon[role='button'] {
95
- @apply h-4 w-4;
119
+
120
+ [data-style='material'] [data-list] [data-list-item][data-selected='true'] [data-item-icon] {
121
+ @apply text-primary-z6;
96
122
  }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Menu - Material Theme Styles
3
+ *
4
+ * Material Design inspired with elevation and shadows.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Menu Trigger
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-menu-trigger] {
12
+ @apply border-surface-z4 bg-surface-z1 text-surface-z8 border shadow-sm;
13
+ }
14
+
15
+ [data-style='material'] [data-menu-trigger]:hover:not(:disabled) {
16
+ @apply bg-surface-z2 text-surface-z10 border-surface-z5 shadow-md;
17
+ }
18
+
19
+ [data-style='material'] [data-menu-trigger]:focus-visible {
20
+ @apply outline-none ring-2 ring-primary-z4;
21
+ }
22
+
23
+ [data-style='material'] [data-menu][data-open='true'] [data-menu-trigger] {
24
+ @apply bg-primary-z2 border-primary-z5 shadow-md;
25
+ }
26
+
27
+ /* Trigger elements */
28
+ [data-style='material'] [data-menu-trigger] [data-menu-icon] {
29
+ @apply text-surface-z5;
30
+ }
31
+
32
+ [data-style='material'] [data-menu-trigger]:hover:not(:disabled) [data-menu-icon] {
33
+ @apply text-surface-z7;
34
+ }
35
+
36
+ [data-style='material'] [data-menu-trigger] [data-menu-arrow] {
37
+ @apply text-surface-z5;
38
+ }
39
+
40
+ /* =============================================================================
41
+ Menu Dropdown
42
+ ============================================================================= */
43
+
44
+ [data-style='material'] [data-menu-dropdown] {
45
+ @apply bg-surface-z1 border-surface-z3 border shadow-lg;
46
+ }
47
+
48
+ /* =============================================================================
49
+ Menu Items
50
+ ============================================================================= */
51
+
52
+ [data-style='material'] [data-menu-item] {
53
+ @apply text-surface-z8;
54
+ }
55
+
56
+ [data-style='material'] [data-menu-item]:hover:not(:disabled),
57
+ [data-style='material'] [data-menu-item]:focus:not(:disabled) {
58
+ @apply bg-surface-z2 text-surface-z10 outline-none;
59
+ }
60
+
61
+ [data-style='material'] [data-menu-item]:focus-visible {
62
+ @apply outline-none ring-2 ring-primary-z4 ring-inset;
63
+ }
64
+
65
+ /* Item elements */
66
+ [data-style='material'] [data-menu-item] [data-item-icon] {
67
+ @apply text-surface-z5;
68
+ }
69
+
70
+ [data-style='material'] [data-menu-item]:hover:not(:disabled) [data-item-icon] {
71
+ @apply text-surface-z7;
72
+ }
73
+
74
+ [data-style='material'] [data-menu-item] [data-item-description] {
75
+ @apply text-surface-z5;
76
+ }
77
+
78
+ /* =============================================================================
79
+ Groups
80
+ ============================================================================= */
81
+
82
+ [data-style='material'] [data-menu-group] {
83
+ @apply text-surface-z5 font-medium;
84
+ }
85
+
86
+ /* =============================================================================
87
+ Divider
88
+ ============================================================================= */
89
+
90
+ [data-style='material'] [data-menu-separator] {
91
+ @apply bg-surface-z3;
92
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Range - Material Theme Styles
3
+ *
4
+ * Flat design with subtle elevation.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Track
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-range-bar] {
12
+ @apply bg-surface-z3;
13
+ }
14
+
15
+ [data-style='material'] [data-range-selected] {
16
+ @apply bg-primary;
17
+ }
18
+
19
+ /* =============================================================================
20
+ Thumb
21
+ ============================================================================= */
22
+
23
+ [data-style='material'] [data-range-thumb] {
24
+ @apply bg-primary border-primary shadow-md;
25
+ }
26
+
27
+ [data-style='material'] [data-range-thumb][data-sliding] {
28
+ @apply shadow-lg;
29
+ box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-primary) 25%, transparent);
30
+ }
31
+
32
+ [data-style='material'] [data-range-thumb]:focus-visible {
33
+ box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-primary) 25%, transparent);
34
+ }
35
+
36
+ /* =============================================================================
37
+ Ticks
38
+ ============================================================================= */
39
+
40
+ [data-style='material'] [data-range-tick] {
41
+ @apply text-surface-z6;
42
+ }
43
+
44
+ [data-style='material'] [data-tick-bar] {
45
+ @apply border-surface-z5;
46
+ }
47
+
48
+ [data-style='material'] [data-tick-label] {
49
+ @apply text-surface-z6;
50
+ }
51
+
52
+ /* =============================================================================
53
+ Disabled
54
+ ============================================================================= */
55
+
56
+ [data-style='material'] [data-range][data-disabled] [data-range-thumb] {
57
+ @apply bg-surface-z4 border-surface-z4 shadow-none;
58
+ }
59
+
60
+ [data-style='material'] [data-range][data-disabled] [data-range-selected] {
61
+ @apply bg-surface-z4;
62
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * SearchFilter - Material Theme Styles
3
+ *
4
+ * Material Design inspired with elevation and shadows.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Input
9
+ ============================================================================= */
10
+
11
+ [data-style='material'] [data-search-input] {
12
+ @apply text-surface-z8 border-surface-z4 bg-surface-z1 border shadow-sm;
13
+ }
14
+
15
+ [data-style='material'] [data-search-input]:focus {
16
+ @apply border-primary-z5 ring-1 ring-primary-z4;
17
+ }
18
+
19
+ [data-style='material'] [data-search-input]::placeholder {
20
+ @apply text-surface-z5;
21
+ }
22
+
23
+ /* =============================================================================
24
+ Clear Button
25
+ ============================================================================= */
26
+
27
+ [data-style='material'] [data-search-clear] {
28
+ @apply text-surface-z5;
29
+ }
30
+
31
+ [data-style='material'] [data-search-clear]:hover {
32
+ @apply text-surface-z8 bg-surface-z2 rounded;
33
+ }
34
+
35
+ /* =============================================================================
36
+ Tags
37
+ ============================================================================= */
38
+
39
+ [data-style='material'] [data-search-tag] {
40
+ @apply text-surface-z8 bg-surface-z2 rounded-full shadow-sm;
41
+ }
42
+
43
+ [data-style='material'] [data-search-tag-remove] {
44
+ @apply text-surface-z6 rounded-full;
45
+ }
46
+
47
+ [data-style='material'] [data-search-tag-remove]:hover {
48
+ @apply text-surface-z9 bg-surface-z3;
49
+ }