@rokkit/themes 1.0.0-next.14 → 1.0.0-next.140

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 (125) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +106 -9
  3. package/build.mjs +235 -0
  4. package/dist/base.css +4934 -0
  5. package/dist/glass.css +1400 -0
  6. package/dist/index.css +10991 -0
  7. package/dist/material.css +1435 -0
  8. package/dist/minimal.css +1389 -0
  9. package/dist/rokkit.css +1829 -0
  10. package/package.json +53 -52
  11. package/src/base/breadcrumbs.css +47 -0
  12. package/src/base/button.css +254 -0
  13. package/src/base/card.css +36 -0
  14. package/src/base/carousel.css +128 -0
  15. package/src/base/connector.css +92 -0
  16. package/src/base/display.css +91 -0
  17. package/src/base/floating-action.css +388 -0
  18. package/src/base/floating-navigation.css +405 -0
  19. package/src/base/graph-paper.css +83 -0
  20. package/src/base/grid.css +93 -0
  21. package/src/base/index.css +40 -0
  22. package/src/base/input.css +238 -0
  23. package/src/base/item.css +78 -0
  24. package/src/base/list.css +179 -0
  25. package/src/base/menu.css +274 -0
  26. package/src/base/pill.css +57 -0
  27. package/src/base/progress.css +34 -0
  28. package/src/base/range.css +121 -0
  29. package/src/base/rating.css +42 -0
  30. package/src/base/reveal.css +37 -0
  31. package/src/base/search-filter.css +132 -0
  32. package/src/base/select.css +411 -0
  33. package/src/base/shine.css +14 -0
  34. package/src/base/stepper.css +140 -0
  35. package/src/base/switch.css +152 -0
  36. package/src/base/table.css +159 -0
  37. package/src/base/tabs.css +171 -0
  38. package/src/base/tilt.css +14 -0
  39. package/src/base/timeline.css +84 -0
  40. package/src/base/toggle.css +138 -0
  41. package/src/base/toolbar.css +337 -0
  42. package/src/base/tree.css +235 -0
  43. package/src/base/upload-progress.css +155 -0
  44. package/src/base/upload-target.css +67 -0
  45. package/src/glass/button.css +153 -0
  46. package/src/glass/card.css +66 -0
  47. package/src/glass/floating-action.css +61 -0
  48. package/src/glass/floating-navigation.css +74 -0
  49. package/src/glass/index.css +23 -0
  50. package/src/glass/input.css +126 -0
  51. package/src/glass/list.css +122 -0
  52. package/src/glass/menu.css +92 -0
  53. package/src/glass/range.css +61 -0
  54. package/src/glass/search-filter.css +49 -0
  55. package/src/glass/select.css +178 -0
  56. package/src/glass/switch.css +28 -0
  57. package/src/glass/table.css +87 -0
  58. package/src/glass/tabs.css +58 -0
  59. package/src/glass/timeline.css +46 -0
  60. package/src/glass/toggle.css +48 -0
  61. package/src/glass/toolbar.css +84 -0
  62. package/src/glass/tree.css +110 -0
  63. package/src/index.css +18 -0
  64. package/src/index.js +25 -2
  65. package/src/material/button.css +157 -0
  66. package/src/material/card.css +61 -0
  67. package/src/material/floating-action.css +60 -0
  68. package/src/material/floating-navigation.css +74 -0
  69. package/src/material/index.css +23 -0
  70. package/src/material/input.css +159 -0
  71. package/src/material/list.css +126 -0
  72. package/src/material/menu.css +92 -0
  73. package/src/material/range.css +62 -0
  74. package/src/material/search-filter.css +49 -0
  75. package/src/material/select.css +170 -0
  76. package/src/material/switch.css +28 -0
  77. package/src/material/table.css +91 -0
  78. package/src/material/tabs.css +62 -0
  79. package/src/material/timeline.css +46 -0
  80. package/src/material/toggle.css +48 -0
  81. package/src/material/toolbar.css +85 -0
  82. package/src/material/tree.css +103 -0
  83. package/src/minimal/button.css +155 -0
  84. package/src/minimal/card.css +61 -0
  85. package/src/minimal/floating-action.css +59 -0
  86. package/src/minimal/floating-navigation.css +70 -0
  87. package/src/minimal/index.css +23 -0
  88. package/src/minimal/input.css +119 -0
  89. package/src/minimal/list.css +126 -0
  90. package/src/minimal/menu.css +88 -0
  91. package/src/minimal/range.css +61 -0
  92. package/src/minimal/search-filter.css +49 -0
  93. package/src/minimal/select.css +170 -0
  94. package/src/minimal/switch.css +28 -0
  95. package/src/minimal/table.css +89 -0
  96. package/src/minimal/tabs.css +68 -0
  97. package/src/minimal/timeline.css +45 -0
  98. package/src/minimal/toggle.css +48 -0
  99. package/src/minimal/toolbar.css +85 -0
  100. package/src/minimal/tree.css +106 -0
  101. package/src/palette.css +7 -0
  102. package/src/rokkit/button.css +254 -0
  103. package/src/rokkit/card.css +64 -0
  104. package/src/rokkit/connector.css +11 -0
  105. package/src/rokkit/floating-action.css +65 -0
  106. package/src/rokkit/floating-navigation.css +83 -0
  107. package/src/rokkit/grid.css +46 -0
  108. package/src/rokkit/index.css +27 -0
  109. package/src/rokkit/input.css +134 -0
  110. package/src/rokkit/list.css +132 -0
  111. package/src/rokkit/menu.css +93 -0
  112. package/src/rokkit/range.css +62 -0
  113. package/src/rokkit/search-filter.css +49 -0
  114. package/src/rokkit/select.css +190 -0
  115. package/src/rokkit/switch.css +28 -0
  116. package/src/rokkit/table.css +89 -0
  117. package/src/rokkit/tabs.css +87 -0
  118. package/src/rokkit/timeline.css +46 -0
  119. package/src/rokkit/toggle.css +48 -0
  120. package/src/rokkit/toolbar.css +84 -0
  121. package/src/rokkit/tree.css +149 -0
  122. package/src/rokkit/upload-progress.css +102 -0
  123. package/src/rokkit/upload-target.css +50 -0
  124. package/src/constants.js +0 -4
  125. package/src/utils.js +0 -88
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Toolbar - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Toolbar Container
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-toolbar] {
12
+ @apply bg-surface-z1/70 backdrop-blur-md;
13
+ }
14
+
15
+ /* Position-based borders */
16
+ [data-style='glass'] [data-toolbar][data-toolbar-position='top'],
17
+ [data-style='glass'] [data-toolbar]:not([data-toolbar-position]) {
18
+ @apply border-surface-z5/20 border-b;
19
+ }
20
+
21
+ [data-style='glass'] [data-toolbar][data-toolbar-position='bottom'] {
22
+ @apply border-surface-z5/20 border-t;
23
+ }
24
+
25
+ [data-style='glass'] [data-toolbar][data-toolbar-position='left'] {
26
+ @apply border-surface-z5/20 border-r;
27
+ }
28
+
29
+ [data-style='glass'] [data-toolbar][data-toolbar-position='right'] {
30
+ @apply border-surface-z5/20 border-l;
31
+ }
32
+
33
+ /* =============================================================================
34
+ Toolbar Items
35
+ ============================================================================= */
36
+
37
+ [data-style='glass'] [data-toolbar-item] {
38
+ @apply text-surface-z7;
39
+ }
40
+
41
+ [data-style='glass'] [data-toolbar-item]:hover:not(:disabled):not([data-disabled='true']) {
42
+ @apply text-surface-z10 bg-surface-z2/15;
43
+ }
44
+
45
+ [data-style='glass'] [data-toolbar-item]:focus-visible:not(:disabled):not([data-disabled='true']) {
46
+ @apply text-surface-z10 ring-surface-z5/40 bg-surface-z2/15 ring-1 outline-none;
47
+ }
48
+
49
+ /* Active/pressed state */
50
+ [data-style='glass'] [data-toolbar-item][data-active='true'] {
51
+ @apply bg-primary-z5/30 text-primary-z9;
52
+ }
53
+
54
+ [data-style='glass'] [data-toolbar-item][data-active='true']:hover:not(:disabled) {
55
+ @apply bg-primary-z5/40 text-primary-z10;
56
+ }
57
+
58
+ /* =============================================================================
59
+ Toolbar Icon
60
+ ============================================================================= */
61
+
62
+ [data-style='glass'] [data-toolbar-item] [data-toolbar-icon] {
63
+ @apply text-surface-z6;
64
+ }
65
+
66
+ [data-style='glass'] [data-toolbar-item]:hover:not(:disabled) [data-toolbar-icon] {
67
+ @apply text-surface-z9;
68
+ }
69
+
70
+ [data-style='glass'] [data-toolbar-item][data-active='true'] [data-toolbar-icon] {
71
+ @apply text-primary-z7;
72
+ }
73
+
74
+ /* =============================================================================
75
+ Separator & Divider
76
+ ============================================================================= */
77
+
78
+ [data-style='glass'] [data-toolbar-separator] {
79
+ @apply bg-surface-z5/20;
80
+ }
81
+
82
+ [data-style='glass'] [data-toolbar-divider] {
83
+ @apply bg-surface-z5/20;
84
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Tree - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Tree Container
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-tree]:focus-within {
12
+ @apply ring-surface-z5/40 rounded ring-1;
13
+ }
14
+
15
+ /* =============================================================================
16
+ Tree Toggle Button
17
+ ============================================================================= */
18
+
19
+ [data-style='glass'] [data-tree-toggle-btn] {
20
+ @apply text-surface-z5;
21
+ }
22
+
23
+ [data-style='glass'] [data-tree-toggle-btn]:hover {
24
+ @apply text-surface-z7 bg-surface-z2/15;
25
+ }
26
+
27
+ /* =============================================================================
28
+ Tree Item Content
29
+ ============================================================================= */
30
+
31
+ [data-style='glass'] [data-tree-item-content] {
32
+ @apply text-surface-z8;
33
+ }
34
+
35
+ [data-style='glass'] [data-tree-item-content]:hover:not(:disabled),
36
+ [data-style='glass'] [data-tree-item-content]:focus:not(:disabled) {
37
+ @apply text-surface-z10 bg-surface-z2/15 outline-none;
38
+ }
39
+
40
+ /* Focus visible for keyboard navigation */
41
+ [data-style='glass'] [data-tree-item-content]:focus-visible {
42
+ @apply ring-surface-z5/40 ring-1 outline-none;
43
+ }
44
+
45
+ /* Active/selected state */
46
+ [data-style='glass'] [data-tree-item-content][data-active='true'] {
47
+ @apply bg-primary-z5/30 text-primary-z9;
48
+ }
49
+
50
+ [data-style='glass'] [data-tree-item-content][data-active='true']:hover:not(:disabled) {
51
+ @apply bg-primary-z5/40;
52
+ }
53
+
54
+ /* =============================================================================
55
+ Item Elements
56
+ ============================================================================= */
57
+
58
+ [data-style='glass'] [data-tree-item-content] [data-item-icon] {
59
+ @apply text-surface-z5;
60
+ }
61
+
62
+ [data-style='glass'] [data-tree-item-content]:hover:not(:disabled) [data-item-icon] {
63
+ @apply text-surface-z7;
64
+ }
65
+
66
+ [data-style='glass'] [data-tree-item-content][data-active='true'] [data-item-icon] {
67
+ @apply text-primary-z6;
68
+ }
69
+
70
+ [data-style='glass'] [data-tree-item-content] [data-item-description] {
71
+ @apply text-surface-z5;
72
+ }
73
+
74
+ [data-style='glass'] [data-tree-item-content][data-active='true'] [data-item-description] {
75
+ @apply text-primary-z7;
76
+ }
77
+
78
+ [data-style='glass'] [data-tree-item-content] [data-item-badge] {
79
+ @apply text-surface-z6 bg-surface-z2/15;
80
+ }
81
+
82
+ [data-style='glass'] [data-tree-item-content][data-active='true'] [data-item-badge] {
83
+ @apply text-primary-z8 bg-primary-z5/25;
84
+ }
85
+
86
+ /* =============================================================================
87
+ Multi-Selection
88
+ ============================================================================= */
89
+
90
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-node-row] {
91
+ @apply bg-primary-z5/20;
92
+ }
93
+
94
+ [data-style='glass']
95
+ [data-tree]:focus-within
96
+ [data-tree-node][data-selected='true']
97
+ [data-tree-node-row] {
98
+ @apply bg-primary-z5/30;
99
+ }
100
+
101
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-item-content] {
102
+ @apply text-primary-z9;
103
+ }
104
+
105
+ [data-style='glass']
106
+ [data-tree-node][data-selected='true']
107
+ [data-tree-item-content]
108
+ [data-item-icon] {
109
+ @apply text-primary-z6;
110
+ }
package/src/index.css ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @rokkit/themes - Complete Theme Bundle
3
+ *
4
+ * Includes base structural styles + all theme variants.
5
+ * For custom themes, import base only and add your own theme styles.
6
+ *
7
+ * Theme Usage:
8
+ * - rokkit: Default theme (no wrapper needed — gradients + borders)
9
+ * - minimal: Use data-style="minimal" wrapper (clean + subtle)
10
+ * - material: Use data-style="material" wrapper (elevation + shadows)
11
+ * - glass: Use data-style="glass" wrapper (blur + transparency)
12
+ */
13
+
14
+ @import './base/index.css';
15
+ @import './rokkit/index.css';
16
+ @import './minimal/index.css';
17
+ @import './material/index.css';
18
+ @import './glass/index.css';
package/src/index.js CHANGED
@@ -1,2 +1,25 @@
1
- export * from './utils'
2
- export * from './constants'
1
+ import { Theme } from '@rokkit/core'
2
+
3
+ export {
4
+ Theme,
5
+ themeRules,
6
+ shadesOf,
7
+ semanticShortcuts,
8
+ contrastShortcuts,
9
+ iconShortcuts,
10
+ DEFAULT_ICONS,
11
+ DEFAULT_THEME_MAPPING,
12
+ defaultColors
13
+ } from '@rokkit/core'
14
+
15
+ /**
16
+ * Generates a UnoCSS `theme.colors` object mapping semantic variant names
17
+ * to CSS variable-backed color scales.
18
+ *
19
+ * @param {Object} [mapping] - Override the default theme variant→color mapping.
20
+ * @param {Object} [colors] - Override the default color palette.
21
+ * @returns {Object} UnoCSS theme colors object.
22
+ */
23
+ export function themeColors(mapping, colors) {
24
+ return new Theme({ mapping, colors }).getColorRules()
25
+ }
@@ -0,0 +1,157 @@
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 bg-gradient-to-br shadow-md;
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 bg-gradient-to-br shadow-md;
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 bg-gradient-to-br shadow-md;
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 bg-gradient-to-br shadow-md;
98
+ }
99
+
100
+ [data-style='material']
101
+ [data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
102
+ filter: brightness(1.08);
103
+ @apply shadow-lg;
104
+ }
105
+
106
+ /* =============================================================================
107
+ Link Style
108
+ ============================================================================= */
109
+
110
+ [data-style='material'] [data-button][data-style='link'][data-variant='default'],
111
+ [data-style='material'] [data-button][data-style='link']:not([data-variant]) {
112
+ @apply text-surface-z7;
113
+ }
114
+
115
+ [data-style='material'] [data-button][data-style='link'][data-variant='primary'] {
116
+ @apply text-primary-z6;
117
+ }
118
+
119
+ [data-style='material'] [data-button][data-style='link'][data-variant='secondary'] {
120
+ @apply text-secondary-z6;
121
+ }
122
+
123
+ [data-style='material'] [data-button][data-style='link'][data-variant='danger'] {
124
+ @apply text-danger-z4;
125
+ }
126
+
127
+ [data-style='material'] [data-button][data-style='link']:hover:not(:disabled):not([data-disabled]) {
128
+ @apply text-primary-z7;
129
+ }
130
+
131
+ /* =============================================================================
132
+ Hover States
133
+ ============================================================================= */
134
+
135
+ [data-style='material']
136
+ [data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
137
+ [data-style='material'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
138
+ @apply shadow-md;
139
+ }
140
+
141
+ [data-style='material']
142
+ [data-button][data-style='outline']:hover:not(:disabled):not([data-disabled]) {
143
+ @apply bg-surface-z1;
144
+ }
145
+
146
+ [data-style='material']
147
+ [data-button][data-style='ghost']:hover:not(:disabled):not([data-disabled]) {
148
+ @apply bg-surface-z2;
149
+ }
150
+
151
+ /* =============================================================================
152
+ Focus
153
+ ============================================================================= */
154
+
155
+ [data-style='material'] [data-button]:focus-visible {
156
+ @apply ring-primary-z4 ring-2 ring-offset-2 outline-none;
157
+ }
@@ -0,0 +1,61 @@
1
+ * Card - Material Theme Styles
2
+ *
3
+ * Material Design inspired with elevation and shadows.
4
+ */
5
+
6
+ /* =============================================================================
7
+ Base Card Styles
8
+ ============================================================================= */
9
+
10
+ [data-style='material'] [data-card] {
11
+ @apply bg-surface-z1 border-surface-z4 text-surface-z9 border shadow-sm;
12
+ }
13
+
14
+ /* Interactive cards (buttons) */
15
+ [data-style='material'] [data-card][data-card-interactive] {
16
+ cursor: pointer;
17
+ transition:
18
+ box-shadow 0.2s ease,
19
+ transform 0.2s ease;
20
+ }
21
+
22
+ [data-style='material'] [data-card][data-card-interactive]:hover {
23
+ @apply shadow-md;
24
+ }
25
+
26
+ [data-style='material'] [data-card][data-card-interactive]:active {
27
+ @apply shadow-sm;
28
+ }
29
+
30
+ /* =============================================================================
31
+ Card Sections
32
+ ============================================================================= */
33
+
34
+ [data-style='material'] [data-card-header] {
35
+ @apply border-surface-z3 border-b;
36
+ }
37
+
38
+ [data-style='material'] [data-card-body] {
39
+ @apply text-surface-z8;
40
+ }
41
+
42
+ [data-style='material'] [data-card-footer] {
43
+ @apply border-surface-z3 text-surface-z7 border-t;
44
+ }
45
+
46
+ /* =============================================================================
47
+ Focus States
48
+ ============================================================================= */
49
+
50
+ [data-style='material'] [data-card][data-card-interactive]:focus-visible {
51
+ @apply ring-primary-z4 ring-2 ring-offset-2 outline-none;
52
+ }
53
+
54
+ /* =============================================================================
55
+ Disabled State
56
+ ============================================================================= */
57
+
58
+ [data-style='material'] [data-card][data-card-interactive][data-disabled],
59
+ [data-style='material'] [data-card][data-card-interactive]:disabled {
60
+ @apply cursor-not-allowed opacity-50 shadow-none;
61
+ }
@@ -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';