@rokkit/themes 1.0.0-next.13 → 1.0.0-next.131

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 (119) hide show
  1. package/README.md +118 -9
  2. package/build.mjs +237 -0
  3. package/package.json +45 -52
  4. package/src/base/breadcrumbs.css +47 -0
  5. package/src/base/button.css +247 -0
  6. package/src/base/card.css +36 -0
  7. package/src/base/carousel.css +128 -0
  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/graph-paper.css +83 -0
  13. package/src/base/grid.css +93 -0
  14. package/src/base/index.css +40 -0
  15. package/src/base/input.css +238 -0
  16. package/src/base/item.css +78 -0
  17. package/src/base/list.css +179 -0
  18. package/src/base/menu.css +274 -0
  19. package/src/base/pill.css +57 -0
  20. package/src/base/progress.css +34 -0
  21. package/src/base/range.css +121 -0
  22. package/src/base/rating.css +40 -0
  23. package/src/base/reveal.css +37 -0
  24. package/src/base/search-filter.css +132 -0
  25. package/src/base/select.css +411 -0
  26. package/src/base/shine.css +14 -0
  27. package/src/base/stepper.css +140 -0
  28. package/src/base/switch.css +152 -0
  29. package/src/base/table.css +159 -0
  30. package/src/base/tabs.css +171 -0
  31. package/src/base/tilt.css +14 -0
  32. package/src/base/timeline.css +84 -0
  33. package/src/base/toggle.css +138 -0
  34. package/src/base/toolbar.css +337 -0
  35. package/src/base/tree.css +202 -0
  36. package/src/base/upload-progress.css +155 -0
  37. package/src/base/upload-target.css +67 -0
  38. package/src/glass/button.css +152 -0
  39. package/src/glass/card.css +63 -0
  40. package/src/glass/floating-action.css +61 -0
  41. package/src/glass/floating-navigation.css +74 -0
  42. package/src/glass/index.css +23 -0
  43. package/src/glass/input.css +124 -0
  44. package/src/glass/list.css +122 -0
  45. package/src/glass/menu.css +92 -0
  46. package/src/glass/range.css +61 -0
  47. package/src/glass/search-filter.css +49 -0
  48. package/src/glass/select.css +178 -0
  49. package/src/glass/switch.css +28 -0
  50. package/src/glass/table.css +87 -0
  51. package/src/glass/tabs.css +58 -0
  52. package/src/glass/timeline.css +46 -0
  53. package/src/glass/toggle.css +48 -0
  54. package/src/glass/toolbar.css +84 -0
  55. package/src/glass/tree.css +104 -0
  56. package/src/index.css +18 -0
  57. package/src/index.js +25 -2
  58. package/src/material/button.css +153 -0
  59. package/src/material/card.css +61 -0
  60. package/src/material/floating-action.css +60 -0
  61. package/src/material/floating-navigation.css +74 -0
  62. package/src/material/index.css +23 -0
  63. package/src/material/input.css +143 -0
  64. package/src/material/list.css +122 -0
  65. package/src/material/menu.css +92 -0
  66. package/src/material/range.css +62 -0
  67. package/src/material/search-filter.css +49 -0
  68. package/src/material/select.css +170 -0
  69. package/src/material/switch.css +28 -0
  70. package/src/material/table.css +87 -0
  71. package/src/material/tabs.css +62 -0
  72. package/src/material/timeline.css +46 -0
  73. package/src/material/toggle.css +48 -0
  74. package/src/material/toolbar.css +84 -0
  75. package/src/material/tree.css +100 -0
  76. package/src/minimal/button.css +152 -0
  77. package/src/minimal/card.css +59 -0
  78. package/src/minimal/floating-action.css +59 -0
  79. package/src/minimal/floating-navigation.css +70 -0
  80. package/src/minimal/index.css +23 -0
  81. package/src/minimal/input.css +115 -0
  82. package/src/minimal/list.css +122 -0
  83. package/src/minimal/menu.css +88 -0
  84. package/src/minimal/range.css +61 -0
  85. package/src/minimal/search-filter.css +49 -0
  86. package/src/minimal/select.css +168 -0
  87. package/src/minimal/switch.css +28 -0
  88. package/src/minimal/table.css +87 -0
  89. package/src/minimal/tabs.css +66 -0
  90. package/src/minimal/timeline.css +45 -0
  91. package/src/minimal/toggle.css +48 -0
  92. package/src/minimal/toolbar.css +84 -0
  93. package/src/minimal/tree.css +100 -0
  94. package/src/palette.css +7 -0
  95. package/src/rokkit/button.css +225 -0
  96. package/src/rokkit/card.css +62 -0
  97. package/src/rokkit/connector.css +11 -0
  98. package/src/rokkit/floating-action.css +65 -0
  99. package/src/rokkit/floating-navigation.css +83 -0
  100. package/src/rokkit/grid.css +46 -0
  101. package/src/rokkit/index.css +27 -0
  102. package/src/rokkit/input.css +130 -0
  103. package/src/rokkit/list.css +127 -0
  104. package/src/rokkit/menu.css +93 -0
  105. package/src/rokkit/range.css +62 -0
  106. package/src/rokkit/search-filter.css +49 -0
  107. package/src/rokkit/select.css +185 -0
  108. package/src/rokkit/switch.css +28 -0
  109. package/src/rokkit/table.css +87 -0
  110. package/src/rokkit/tabs.css +82 -0
  111. package/src/rokkit/timeline.css +46 -0
  112. package/src/rokkit/toggle.css +48 -0
  113. package/src/rokkit/toolbar.css +84 -0
  114. package/src/rokkit/tree.css +123 -0
  115. package/src/rokkit/upload-progress.css +102 -0
  116. package/src/rokkit/upload-target.css +50 -0
  117. package/LICENSE +0 -21
  118. package/src/constants.js +0 -4
  119. 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 backdrop-blur-md bg-surface-z1/70;
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-b border-surface-z5/20;
19
+ }
20
+
21
+ [data-style='glass'] [data-toolbar][data-toolbar-position='bottom'] {
22
+ @apply border-t border-surface-z5/20;
23
+ }
24
+
25
+ [data-style='glass'] [data-toolbar][data-toolbar-position='left'] {
26
+ @apply border-r border-surface-z5/20;
27
+ }
28
+
29
+ [data-style='glass'] [data-toolbar][data-toolbar-position='right'] {
30
+ @apply border-l border-surface-z5/20;
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 outline-none ring-1 ring-surface-z5/40 bg-surface-z2/15;
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,104 @@
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-1 rounded ring-surface-z5/40;
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 outline-none bg-surface-z2/15;
38
+ }
39
+
40
+ /* Focus visible for keyboard navigation */
41
+ [data-style='glass'] [data-tree-item-content]:focus-visible {
42
+ @apply outline-none ring-1 ring-surface-z5/40;
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'] [data-tree]:focus-within [data-tree-node][data-selected='true'] [data-tree-node-row] {
95
+ @apply bg-primary-z5/30;
96
+ }
97
+
98
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-item-content] {
99
+ @apply text-primary-z9;
100
+ }
101
+
102
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-item-content] [data-item-icon] {
103
+ @apply text-primary-z6;
104
+ }
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,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,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 outline-none ring-2 ring-offset-2;
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';