@schukai/monster 4.148.9 → 4.149.1

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 (207) hide show
  1. package/package.json +1 -1
  2. package/source/components/accessibility/stylesheet/locale-picker.mjs +61 -1
  3. package/source/components/content/image-editor.mjs +79 -11
  4. package/source/components/content/style/copy.pcss +1 -1
  5. package/source/components/content/stylesheet/camera-capture.mjs +1 -1
  6. package/source/components/content/stylesheet/copy.mjs +1 -1
  7. package/source/components/content/stylesheet/fetch-box.mjs +1 -1
  8. package/source/components/content/stylesheet/viewer.mjs +61 -1
  9. package/source/components/data/kpi-tile.mjs +5 -3
  10. package/source/components/data/metric-graph.mjs +22 -20
  11. package/source/components/data/metric.mjs +20 -18
  12. package/source/components/data/style/kpi-tile.pcss +65 -43
  13. package/source/components/data/style/metric-graph.pcss +35 -18
  14. package/source/components/data/style/metric.pcss +35 -28
  15. package/source/components/data/stylesheet/kpi-tile.mjs +61 -1
  16. package/source/components/data/stylesheet/metric-graph.mjs +61 -1
  17. package/source/components/data/stylesheet/metric.mjs +61 -1
  18. package/source/components/datatable/columnbar.mjs +4 -2
  19. package/source/components/datatable/datatable.mjs +73 -15
  20. package/source/components/datatable/filter/date-range.mjs +61 -61
  21. package/source/components/datatable/filter/date-time.mjs +5 -1
  22. package/source/components/datatable/filter/range.mjs +3 -3
  23. package/source/components/datatable/filter/select-operator.mjs +7 -1
  24. package/source/components/datatable/filter/text-operator.mjs +11 -3
  25. package/source/components/datatable/filter.mjs +16 -0
  26. package/source/components/datatable/pagination.mjs +122 -23
  27. package/source/components/datatable/style/column-bar.pcss +115 -23
  28. package/source/components/datatable/style/datatable.pcss +257 -29
  29. package/source/components/datatable/style/embedded-pagination.pcss +93 -43
  30. package/source/components/datatable/style/filter-button.pcss +1 -1
  31. package/source/components/datatable/style/filter-controls-defaults.pcss +49 -3
  32. package/source/components/datatable/style/filter-select.pcss +4 -1
  33. package/source/components/datatable/style/filter.pcss +18 -1
  34. package/source/components/datatable/stylesheet/change-button.mjs +61 -1
  35. package/source/components/datatable/stylesheet/column-bar.mjs +69 -1
  36. package/source/components/datatable/stylesheet/dataset.mjs +61 -1
  37. package/source/components/datatable/stylesheet/datatable.mjs +71 -1
  38. package/source/components/datatable/stylesheet/embedded-pagination.mjs +15 -1
  39. package/source/components/datatable/stylesheet/filter-button.mjs +1 -1
  40. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +1 -1
  41. package/source/components/datatable/stylesheet/filter-select.mjs +61 -1
  42. package/source/components/datatable/stylesheet/filter.mjs +61 -1
  43. package/source/components/datatable/stylesheet/pagination.mjs +67 -1
  44. package/source/components/datatable/stylesheet/save-button.mjs +61 -1
  45. package/source/components/datatable/stylesheet/status.mjs +61 -1
  46. package/source/components/form/action-button.mjs +2 -1
  47. package/source/components/form/button-bar.mjs +7 -2
  48. package/source/components/form/context-error.mjs +4 -3
  49. package/source/components/form/context-help.mjs +10 -4
  50. package/source/components/form/context-hint.mjs +1 -1
  51. package/source/components/form/context-info.mjs +1 -1
  52. package/source/components/form/context-note.mjs +1 -1
  53. package/source/components/form/context-success.mjs +1 -1
  54. package/source/components/form/context-warning.mjs +1 -1
  55. package/source/components/form/control-bar.mjs +300 -14
  56. package/source/components/form/credential-button.mjs +4 -2
  57. package/source/components/form/digits.mjs +28 -1
  58. package/source/components/form/field-set.mjs +30 -0
  59. package/source/components/form/login.mjs +13 -10
  60. package/source/components/form/password.mjs +6 -0
  61. package/source/components/form/popper-button.mjs +1 -1
  62. package/source/components/form/quantity.mjs +14 -6
  63. package/source/components/form/register-wizard.mjs +46 -26
  64. package/source/components/form/select.mjs +17 -10
  65. package/source/components/form/sheet.mjs +13 -2
  66. package/source/components/form/style/action-button.pcss +131 -5
  67. package/source/components/form/style/button-bar.pcss +204 -3
  68. package/source/components/form/style/control-bar.pcss +254 -26
  69. package/source/components/form/style/digits.pcss +7 -6
  70. package/source/components/form/style/input-group.pcss +65 -1
  71. package/source/components/form/style/login.pcss +1 -1
  72. package/source/components/form/style/mixin/field-set-layout.pcss +8 -0
  73. package/source/components/form/style/password.pcss +25 -1
  74. package/source/components/form/style/popper-button.pcss +1 -0
  75. package/source/components/form/style/quantity.pcss +11 -20
  76. package/source/components/form/style/select.pcss +52 -7
  77. package/source/components/form/style/sheet.pcss +70 -1
  78. package/source/components/form/style/state-button.pcss +5 -2
  79. package/source/components/form/style/toggle-switch.pcss +7 -4
  80. package/source/components/form/stylesheet/action-button.mjs +63 -1
  81. package/source/components/form/stylesheet/button-bar.mjs +153 -1
  82. package/source/components/form/stylesheet/button.mjs +67 -1
  83. package/source/components/form/stylesheet/control-bar.mjs +163 -1
  84. package/source/components/form/stylesheet/digits.mjs +1 -1
  85. package/source/components/form/stylesheet/field-layout.mjs +1 -1
  86. package/source/components/form/stylesheet/field-set.mjs +1 -1
  87. package/source/components/form/stylesheet/form.mjs +1 -1
  88. package/source/components/form/stylesheet/input-group.mjs +15 -1
  89. package/source/components/form/stylesheet/login.mjs +1 -1
  90. package/source/components/form/stylesheet/password.mjs +7 -1
  91. package/source/components/form/stylesheet/popper-button.mjs +61 -1
  92. package/source/components/form/stylesheet/quantity.mjs +1 -1
  93. package/source/components/form/stylesheet/register-wizard.mjs +1 -1
  94. package/source/components/form/stylesheet/select.mjs +3 -1
  95. package/source/components/form/stylesheet/sheet.mjs +1 -1
  96. package/source/components/form/stylesheet/state-button.mjs +3 -1
  97. package/source/components/form/stylesheet/toggle-switch.mjs +1 -1
  98. package/source/components/form/stylesheet/wizard.mjs +1 -1
  99. package/source/components/form/util/floating-ui.mjs +35 -7
  100. package/source/components/host/call-button.mjs +3 -1
  101. package/source/components/host/stylesheet/call-button.mjs +61 -1
  102. package/source/components/host/stylesheet/host.mjs +1 -1
  103. package/source/components/host/stylesheet/toggle-button.mjs +61 -1
  104. package/source/components/layout/full-screen.mjs +31 -23
  105. package/source/components/layout/iframe.mjs +5 -1
  106. package/source/components/layout/popper.mjs +34 -4
  107. package/source/components/layout/style/full-screen.pcss +94 -23
  108. package/source/components/layout/style/split-panel.pcss +57 -5
  109. package/source/components/layout/style/tabs.pcss +277 -47
  110. package/source/components/layout/style/vertical-tabs.pcss +147 -0
  111. package/source/components/layout/stylesheet/collapse.mjs +61 -1
  112. package/source/components/layout/stylesheet/details.mjs +61 -1
  113. package/source/components/layout/stylesheet/full-screen.mjs +23 -1
  114. package/source/components/layout/stylesheet/overlay.mjs +1 -1
  115. package/source/components/layout/stylesheet/panel.mjs +1 -1
  116. package/source/components/layout/stylesheet/slider.mjs +1 -1
  117. package/source/components/layout/stylesheet/split-panel.mjs +17 -1
  118. package/source/components/layout/stylesheet/tabs.mjs +97 -1
  119. package/source/components/layout/stylesheet/vertical-tabs.mjs +33 -95
  120. package/source/components/layout/tabs.mjs +63 -0
  121. package/source/components/layout/vertical-tabs.mjs +63 -0
  122. package/source/components/navigation/stylesheet/site-navigation.mjs +1 -1
  123. package/source/components/navigation/stylesheet/table-of-content.mjs +1 -1
  124. package/source/components/navigation/stylesheet/wizard-navigation.mjs +1 -1
  125. package/source/components/navigation/table-of-content.mjs +13 -0
  126. package/source/components/notify/style/notify.pcss +1 -2
  127. package/source/components/notify/stylesheet/message.mjs +1 -1
  128. package/source/components/notify/stylesheet/notify.mjs +1 -1
  129. package/source/components/state/style/log.pcss +1 -0
  130. package/source/components/state/style/state.pcss +5 -1
  131. package/source/components/state/stylesheet/log.mjs +1 -1
  132. package/source/components/state/stylesheet/state.mjs +7 -1
  133. package/source/components/style/button.css +61 -205
  134. package/source/components/style/button.pcss +78 -34
  135. package/source/components/style/common.css +1 -170
  136. package/source/components/style/common.pcss +5 -9
  137. package/source/components/style/form.css +1 -49
  138. package/source/components/style/form.pcss +34 -9
  139. package/source/components/style/link.css +1 -39
  140. package/source/components/style/link.pcss +8 -16
  141. package/source/components/style/mixin/button.pcss +21 -11
  142. package/source/components/style/mixin/property.pcss +8 -0
  143. package/source/components/style/mixin/skeleton.pcss +11 -5
  144. package/source/components/style/normalize.css +1 -144
  145. package/source/components/style/normalize.pcss +5 -5
  146. package/source/components/style/property.css +1 -387
  147. package/source/components/style/skeleton.css +1 -198
  148. package/source/components/style/skeleton.pcss +8 -2
  149. package/source/components/style/theme-modern.css +74 -0
  150. package/source/components/style/theme-modern.pcss +498 -0
  151. package/source/components/stylesheet/button.mjs +61 -1
  152. package/source/components/stylesheet/common.mjs +1 -1
  153. package/source/components/stylesheet/form.mjs +1 -1
  154. package/source/components/stylesheet/link.mjs +1 -1
  155. package/source/components/stylesheet/normalize.mjs +1 -1
  156. package/source/components/stylesheet/property.mjs +1 -1
  157. package/source/components/stylesheet/skeleton.mjs +1 -1
  158. package/source/components/stylesheet/theme-modern.mjs +110 -0
  159. package/source/components/time/stylesheet/day.mjs +61 -1
  160. package/source/components/time/stylesheet/month-calendar.mjs +61 -1
  161. package/source/components/time/timeline/stylesheet/appointment.mjs +61 -1
  162. package/source/components/time/timeline/stylesheet/segment.mjs +61 -1
  163. package/source/components/tree-menu/style/tree-menu.pcss +26 -37
  164. package/source/components/tree-menu/stylesheet/tree-menu.mjs +1 -1
  165. package/test/cases/components/content/image-editor.mjs +19 -0
  166. package/test/cases/components/datatable/accessibility-defaults.mjs +112 -0
  167. package/test/cases/components/datatable/filter-availability.mjs +37 -0
  168. package/test/cases/components/datatable/filter-date-range-layout.mjs +40 -0
  169. package/test/cases/components/datatable/filter-select-operator.mjs +118 -0
  170. package/test/cases/components/datatable/mobile-layout.mjs +254 -0
  171. package/test/cases/components/datatable/pagination.mjs +79 -0
  172. package/test/cases/components/datatable/responsive-breakpoint.mjs +41 -0
  173. package/test/cases/components/datatable/selection.mjs +149 -0
  174. package/test/cases/components/form/action-button-style.mjs +85 -0
  175. package/test/cases/components/form/button-bar.mjs +222 -3
  176. package/test/cases/components/form/context-theme-colors.mjs +59 -0
  177. package/test/cases/components/form/control-bar.mjs +228 -3
  178. package/test/cases/components/form/control-heights.mjs +103 -0
  179. package/test/cases/components/form/digits-accessibility.mjs +65 -0
  180. package/test/cases/components/form/field-set.mjs +54 -0
  181. package/test/cases/components/form/floating-ui.mjs +74 -0
  182. package/test/cases/components/form/input-group.mjs +61 -28
  183. package/test/cases/components/form/login.mjs +47 -0
  184. package/test/cases/components/form/password.mjs +63 -0
  185. package/test/cases/components/form/popper-button.mjs +30 -15
  186. package/test/cases/components/form/quantity-accessibility.mjs +46 -0
  187. package/test/cases/components/form/register-wizard.mjs +79 -0
  188. package/test/cases/components/form/select.mjs +94 -2
  189. package/test/cases/components/form/sheet.mjs +56 -2
  190. package/test/cases/components/host/toggle-button.mjs +50 -0
  191. package/test/cases/components/layout/full-screen.mjs +60 -0
  192. package/test/cases/components/layout/iframe-accessibility.mjs +44 -0
  193. package/test/cases/components/layout/popper.mjs +128 -0
  194. package/test/cases/components/layout/slit-panel.mjs +30 -1
  195. package/test/cases/components/layout/tabs.mjs +93 -0
  196. package/test/cases/components/navigation/table-of-content.mjs +18 -0
  197. package/test/cases/components/state/state-style.mjs +31 -0
  198. package/test/cases/components/style/action-menu.mjs +74 -0
  199. package/test/cases/components/style/button-sizing.mjs +31 -0
  200. package/test/cases/components/style/form-controls.mjs +50 -0
  201. package/test/cases/components/style/kpi-tile.mjs +60 -0
  202. package/test/cases/components/style/legacy-theme-compatibility.mjs +137 -0
  203. package/test/cases/components/style/metric-layout.mjs +94 -0
  204. package/test/cases/components/style/skeleton.mjs +69 -0
  205. package/test/cases/components/style/theme-component-catalog.mjs +853 -0
  206. package/test/cases/components/style/theme-modern.mjs +439 -0
  207. package/test/cases/components/style/theme-review-regressions.mjs +41 -0
@@ -16,17 +16,76 @@
16
16
  nav[data-monster-role=nav] {
17
17
  overflow: hidden;
18
18
  display: flex;
19
- align-items: flex-end;
19
+ align-items: var(--monster-tabs-nav-align-items, flex-end);
20
20
  flex-direction: row;
21
21
  flex-wrap: nowrap;
22
22
  box-sizing: border-box;
23
- margin-bottom: .75rem;
23
+ gap: var(--monster-tabs-nav-gap, 0);
24
+ justify-content: var(--monster-tabs-nav-justify-content, flex-start);
25
+ margin-bottom: var(--monster-tabs-nav-margin-block-end, .75rem);
26
+ padding: var(--monster-tabs-nav-padding, 0);
27
+
28
+ background-color: var(
29
+ --monster-tabs-nav-background-color,
30
+ transparent
31
+ );
32
+ border-width: var(
33
+ --monster-tabs-nav-border-width,
34
+ 0 0 thin
35
+ );
36
+ border-style: var(
37
+ --monster-tabs-nav-border-style,
38
+ var(--monster-border-style)
39
+ );
40
+ border-color: var(
41
+ --monster-tabs-nav-border-color,
42
+ var(--monster-bg-color-primary-2)
43
+ );
44
+ border-radius: var(
45
+ --monster-tabs-nav-border-radius,
46
+ var(--monster-border-radius)
47
+ );
48
+ box-shadow: var(--monster-tabs-nav-box-shadow, var(--monster-box-shadow-1));
49
+ }
50
+
51
+ nav[data-monster-role=nav] > [data-monster-role=popper] {
52
+ padding: var(--monster-action-menu-padding, 1.1em);
53
+ min-inline-size: var(--monster-action-menu-min-inline-size, auto);
54
+ background: var(
55
+ --monster-action-menu-background-color,
56
+ var(--monster-bg-color-primary-1)
57
+ );
58
+ color: var(
59
+ --monster-action-menu-color,
60
+ var(--monster-color-primary-1)
61
+ );
62
+ border-width: var(
63
+ --monster-action-menu-border-width,
64
+ var(--monster-border-width)
65
+ );
66
+ border-style: var(
67
+ --monster-action-menu-border-style,
68
+ var(--monster-border-style)
69
+ );
70
+ border-color: var(
71
+ --monster-action-menu-border-color,
72
+ var(--monster-bg-color-primary-4)
73
+ );
74
+ border-radius: var(
75
+ --monster-action-menu-border-radius,
76
+ var(--monster-border-radius)
77
+ );
78
+ box-shadow: var(
79
+ --monster-action-menu-box-shadow,
80
+ var(--monster-box-shadow-1)
81
+ );
82
+ }
24
83
 
25
- border-bottom-width: thin;
26
- border-radius: var(--monster-border-radius);
27
- border-bottom-style: var(--monster-border-style);
28
- box-shadow: var(--monster-box-shadow-1);
29
- border-color: var(--monster-bg-color-primary-2);
84
+ [data-monster-role=popper-nav] {
85
+ display: flex;
86
+ flex-direction: column;
87
+ gap: var(--monster-action-menu-gap, 0);
88
+ min-inline-size: 100%;
30
89
  }
31
90
 
32
91
  [data-monster-role=nav] button .remove-tab {
@@ -79,32 +138,67 @@ nav[data-monster-role=nav] {
79
138
  [data-monster-role=nav] button {
80
139
  outline: none;
81
140
  cursor: pointer;
82
- font-weight: 400;
141
+ font-weight: var(--monster-tabs-button-font-weight, 400);
83
142
  line-height: 1.5;
84
143
  text-align: center;
85
144
  text-decoration: none;
86
145
  vertical-align: middle;
87
146
  user-select: none;
88
- border: none;
89
- padding: .375rem 0;
90
- margin-right: .75rem;
147
+ background-color: var(--monster-tabs-button-background-color, transparent);
148
+ border-width: var(--monster-tabs-button-border-width, 0);
149
+ border-style: var(
150
+ --monster-tabs-button-border-style,
151
+ var(--monster-border-style)
152
+ );
153
+ border-color: var(
154
+ --monster-tabs-button-border-color,
155
+ var(--monster-bg-color-primary-4)
156
+ );
157
+ padding: var(--monster-tabs-button-padding, .375rem 0);
158
+ margin: 0 var(--monster-tabs-button-margin-inline-end, .75rem) 0 0;
91
159
  font-size: 1rem;
92
160
  display: flex;
93
161
  justify-content: center;
162
+ min-height: var(--monster-tabs-button-min-block-size, auto);
163
+ position: relative;
164
+ width: auto;
94
165
 
166
+ border-radius: var(
167
+ --monster-tabs-button-border-radius,
168
+ var(--monster-border-radius)
169
+ );
170
+ box-shadow: var(--monster-tabs-button-box-shadow, var(--monster-box-shadow-1));
171
+ color: var(--monster-tabs-button-color, inherit);
95
172
 
96
- border-radius: var(--monster-border-radius);
97
- border-bottom-style: var(--monster-border-style);
98
- box-shadow: var(--monster-box-shadow-1);
99
- border-color: var(--monster-bg-color-primary-4);
100
-
101
- transition: color 0.8s;
173
+ transition: var(--monster-tabs-button-transition, color 0.8s);
102
174
 
103
175
  align-self: stretch;
104
176
  align-content: center;
105
177
  align-items: center;
106
178
  }
107
179
 
180
+ [data-monster-role=nav] button::before {
181
+ content: "";
182
+ position: absolute;
183
+ inset-block-start: 50%;
184
+ inset-inline-start: var(--monster-tabs-indicator-inline-start, 0);
185
+ width: var(--monster-tabs-indicator-inline-size, 0);
186
+ height: var(--monster-tabs-indicator-block-size, 0);
187
+ pointer-events: none;
188
+ background-color: var(--monster-tabs-indicator-background-color, transparent);
189
+ border-radius: var(--monster-tabs-indicator-border-radius, 0);
190
+ opacity: 0;
191
+ transform: translateY(-50%) scaleY(.5);
192
+ transform-origin: center;
193
+ transition:
194
+ opacity 160ms ease,
195
+ transform 160ms ease;
196
+ }
197
+
198
+ [data-monster-role=nav] button:not([disabled]):hover::before {
199
+ opacity: var(--monster-tabs-indicator-hover-opacity, 0);
200
+ }
201
+
108
202
  [data-monster-role=nav] button[draggable=true] {
109
203
  cursor: grab;
110
204
  }
@@ -119,28 +213,76 @@ nav[data-monster-role=nav] {
119
213
  }
120
214
 
121
215
  [data-monster-role=nav] button:not([disabled]):hover {
122
-
123
- border-radius: var(--monster-border-radius);
124
- border-bottom-style: var(--monster-border-style);
125
- box-shadow: var(--monster-box-shadow-1);
126
- border-color: var(--monster-bg-color-secondary-3);
127
- color: var(--monster-bg-color-secondary-3);
128
-
216
+ background-color: var(
217
+ --monster-tabs-button-hover-background-color,
218
+ inherit
219
+ );
220
+ border-color: var(
221
+ --monster-tabs-button-hover-border-color,
222
+ var(--monster-bg-color-secondary-3)
223
+ );
224
+ box-shadow: var(
225
+ --monster-tabs-button-hover-box-shadow,
226
+ var(--monster-box-shadow-1)
227
+ );
228
+ color: var(
229
+ --monster-tabs-button-hover-color,
230
+ var(--monster-bg-color-secondary-3)
231
+ );
129
232
  }
130
233
 
131
234
  [data-monster-role=nav] button[data-monster-state=active]:not([disabled]):hover,
132
235
  [data-monster-role=nav] button[data-monster-state=active] {
133
- border-radius: var(--monster-border-radius);
134
- border-bottom-style: var(--monster-border-style);
135
- box-shadow: var(--monster-box-shadow-1);
136
- border-color: var(--monster-bg-color-secondary-3);
137
- color: var(--monster-color-secondary-1) !important;
138
- background-color: inherit;
236
+ background-color: var(
237
+ --monster-tabs-button-active-background-color,
238
+ inherit
239
+ );
240
+ border-color: var(
241
+ --monster-tabs-button-active-border-color,
242
+ var(--monster-bg-color-secondary-3)
243
+ );
244
+ box-shadow: var(
245
+ --monster-tabs-button-active-box-shadow,
246
+ var(--monster-box-shadow-1)
247
+ );
248
+ color: var(
249
+ --monster-tabs-button-active-color,
250
+ var(--monster-color-secondary-1)
251
+ ) !important;
252
+ font-weight: var(
253
+ --monster-tabs-button-active-font-weight,
254
+ var(--monster-tabs-button-font-weight, 400)
255
+ );
139
256
  @media (prefers-color-scheme: dark) {
140
- border-color: var(--monster-bg-color-secondary-2);
141
- color: var(--monster-color-secondary-2) !important;
257
+ border-color: var(
258
+ --monster-tabs-button-active-border-color,
259
+ var(--monster-bg-color-secondary-2)
260
+ );
261
+ color: var(
262
+ --monster-tabs-button-active-color,
263
+ var(--monster-color-secondary-2)
264
+ ) !important;
142
265
  }
266
+ }
267
+
268
+ [data-monster-role=nav] button[data-monster-state=active]::before {
269
+ opacity: var(--monster-tabs-indicator-active-opacity, 0);
270
+ transform: translateY(-50%) scaleY(1);
271
+ }
143
272
 
273
+ [data-monster-role=nav] button:focus-visible {
274
+ outline: var(--monster-focus-ring-width, 2px)
275
+ var(--monster-focus-ring-style, solid)
276
+ var(--monster-focus-ring-color, currentColor);
277
+ outline-offset: var(--monster-focus-ring-offset, 2px);
278
+ z-index: var(--monster-z-index-outline);
279
+ }
280
+
281
+ @media (prefers-reduced-motion: reduce) {
282
+ [data-monster-role=nav] button,
283
+ [data-monster-role=nav] button::before {
284
+ transition: none;
285
+ }
144
286
  }
145
287
 
146
288
  [data-monster-role=nav] button[disabled] {
@@ -153,11 +295,40 @@ nav[data-monster-role=nav] {
153
295
  align-self: center;
154
296
  touch-action: none;
155
297
  order: 2;
156
- border: 0;
298
+ inline-size: var(--monster-tabs-overflow-switch-inline-size, auto);
299
+ min-inline-size: var(--monster-tabs-overflow-switch-inline-size, auto);
300
+ justify-content: center;
301
+ padding: var(
302
+ --monster-tabs-overflow-switch-padding,
303
+ var(--monster-tabs-button-padding, .375rem 0)
304
+ );
305
+ background: var(
306
+ --monster-tabs-overflow-switch-background-color,
307
+ var(--monster-tabs-button-background-color, transparent)
308
+ );
309
+ border-width: var(
310
+ --monster-tabs-overflow-switch-border-width,
311
+ var(--monster-tabs-button-border-width, 0)
312
+ );
313
+ border-color: var(
314
+ --monster-tabs-overflow-switch-border-color,
315
+ transparent
316
+ );
157
317
  }
158
318
 
159
319
  [data-monster-role=nav] button[data-monster-role=switch]:not([disabled]):hover {
160
- border-bottom-width: 0;
320
+ background: var(
321
+ --monster-tabs-overflow-switch-hover-background-color,
322
+ var(--monster-tabs-button-hover-background-color, inherit)
323
+ );
324
+ border-color: var(
325
+ --monster-tabs-overflow-switch-border-color,
326
+ transparent
327
+ );
328
+ }
329
+
330
+ [data-monster-role=nav] button[data-monster-role=switch]::before {
331
+ display: none;
161
332
  }
162
333
 
163
334
  [data-monster-role=nav] button [part=icon] {
@@ -185,13 +356,24 @@ nav[data-monster-role=nav] {
185
356
  }
186
357
 
187
358
  ::slotted([slot]) {
188
-
189
- border-bottom-width: var(--monster-border-width);
190
- border-radius: var(--monster-border-radius);
191
- border-bottom-style: var(--monster-border-style);
192
- box-shadow: var(--monster-box-shadow-1);
193
-
194
- border-color: var(--monster-bg-color-primary-4);
359
+ border-width: var(
360
+ --monster-tabs-slot-border-width,
361
+ 0 0 var(--monster-border-width)
362
+ );
363
+ border-style: var(
364
+ --monster-tabs-slot-border-style,
365
+ var(--monster-border-style)
366
+ );
367
+ border-color: var(
368
+ --monster-tabs-slot-border-color,
369
+ var(--monster-bg-color-primary-4)
370
+ );
371
+ border-radius: var(
372
+ --monster-tabs-slot-border-radius,
373
+ var(--monster-border-radius)
374
+ );
375
+ box-shadow: var(--monster-tabs-slot-box-shadow, var(--monster-box-shadow-1));
376
+ padding: var(--monster-tabs-slot-padding, 0);
195
377
 
196
378
  }
197
379
 
@@ -207,19 +389,67 @@ nav[data-monster-role=nav] {
207
389
 
208
390
  [data-monster-role=nav] [data-monster-role=popper-nav] button:not([disabled]) {
209
391
  width: 100%;
210
- justify-content: left;
211
- padding-left: 15px;
212
- padding-right: 15px;
213
- border: 0;
392
+ min-block-size: var(
393
+ --monster-action-menu-item-min-block-size,
394
+ auto
395
+ );
396
+ justify-content: var(
397
+ --monster-action-menu-item-justify-content,
398
+ flex-start
399
+ );
400
+ padding: var(
401
+ --monster-action-menu-item-padding,
402
+ 0 15px
403
+ );
404
+ background: var(
405
+ --monster-action-menu-item-background-color,
406
+ transparent
407
+ );
408
+ color: var(
409
+ --monster-action-menu-item-color,
410
+ var(--monster-color-primary-1)
411
+ );
412
+ border-width: var(--monster-action-menu-item-border-width, 0);
413
+ border-style: var(--monster-action-menu-item-border-style, solid);
414
+ border-color: var(
415
+ --monster-action-menu-item-border-color,
416
+ transparent
417
+ );
418
+ border-radius: var(
419
+ --monster-action-menu-item-border-radius,
420
+ var(--monster-border-radius)
421
+ );
422
+ box-shadow: var(--monster-action-menu-item-box-shadow, none);
423
+ text-align: var(--monster-action-menu-item-text-align, left);
214
424
  }
215
425
 
216
426
  [data-monster-role=nav] [data-monster-role=popper-nav] button:hover {
217
- border: 0;
427
+ background: var(
428
+ --monster-action-menu-item-hover-background-color,
429
+ inherit
430
+ );
431
+ color: var(
432
+ --monster-action-menu-item-hover-color,
433
+ var(--monster-color-primary-1)
434
+ );
435
+ border-color: var(
436
+ --monster-action-menu-item-hover-border-color,
437
+ transparent
438
+ );
439
+ box-shadow: var(--monster-action-menu-item-hover-box-shadow, none);
218
440
  }
219
441
 
220
442
  [data-monster-role=nav] [data-monster-role=popper-nav] button[data-monster-state=active]:not([disabled]):hover,
221
443
  [data-monster-role=nav] [data-monster-role=popper-nav] button[data-monster-state=active] {
222
- border: 0;
444
+ background: var(
445
+ --monster-action-menu-item-active-background-color,
446
+ inherit
447
+ );
448
+ border-color: var(
449
+ --monster-action-menu-item-border-color,
450
+ transparent
451
+ );
452
+ box-shadow: var(--monster-action-menu-item-box-shadow, none);
223
453
  @media (prefers-color-scheme: dark) {
224
454
  color: var(--monster-color-secondary-4) !important;
225
455
  }
@@ -0,0 +1,147 @@
1
+ [data-monster-role=control] {
2
+ align-items: stretch;
3
+ display: flex;
4
+ flex-direction: var(--monster-vertical-tabs-control-flex-direction, row);
5
+ gap: var(--monster-vertical-tabs-control-gap, 0);
6
+ min-block-size: var(--monster-vertical-tabs-control-min-block-size, auto);
7
+ }
8
+
9
+ [data-monster-role=control] > slot[data-monster-role=slot] {
10
+ flex: 1 1 auto;
11
+ min-width: 0;
12
+ }
13
+
14
+ nav[data-monster-role=nav] {
15
+ align-items: stretch;
16
+ align-self: var(--monster-vertical-tabs-nav-align-self, stretch);
17
+ block-size: var(--monster-vertical-tabs-nav-block-size, auto);
18
+ border-bottom-width: 0;
19
+ border-right-style: var(
20
+ --monster-vertical-tabs-nav-border-style,
21
+ var(--monster-border-style)
22
+ );
23
+ border-right-width: var(--monster-vertical-tabs-nav-border-width, thin);
24
+ border-color: var(
25
+ --monster-vertical-tabs-nav-border-color,
26
+ var(--monster-bg-color-primary-2)
27
+ );
28
+ flex-direction: column;
29
+ gap: var(
30
+ --monster-vertical-tabs-nav-gap,
31
+ var(--monster-tabs-nav-gap, .25rem)
32
+ );
33
+ margin-bottom: 0;
34
+ margin-right: var(--monster-vertical-tabs-nav-margin-inline-end, .75rem);
35
+ max-height: var(--monster-vertical-tabs-nav-max-block-size, 100%);
36
+ min-block-size: var(--monster-vertical-tabs-nav-min-block-size, auto);
37
+ min-inline-size: var(--monster-vertical-tabs-nav-min-inline-size, auto);
38
+ }
39
+
40
+ [data-monster-role=nav] button {
41
+ border-bottom-width: 0;
42
+ border-right-style: var(
43
+ --monster-vertical-tabs-button-border-style,
44
+ var(--monster-border-style)
45
+ );
46
+ border-right-width: var(
47
+ --monster-vertical-tabs-button-border-width,
48
+ var(--monster-border-width)
49
+ );
50
+ border-right-color: var(
51
+ --monster-vertical-tabs-button-border-color,
52
+ var(--monster-bg-color-primary-4)
53
+ );
54
+ flex-direction: var(
55
+ --monster-vertical-tabs-button-flex-direction,
56
+ column
57
+ );
58
+ justify-content: var(
59
+ --monster-vertical-tabs-button-justify-content,
60
+ center
61
+ );
62
+ margin-bottom: var(
63
+ --monster-vertical-tabs-button-margin-block-end,
64
+ .75rem
65
+ );
66
+ margin-right: 0;
67
+ padding: var(--monster-vertical-tabs-button-padding, .5rem .4rem);
68
+ width: var(--monster-vertical-tabs-button-inline-size, auto);
69
+ }
70
+
71
+ [data-monster-role=nav] button[data-monster-role=button]:last-of-type {
72
+ margin-bottom: 0;
73
+ }
74
+
75
+ [data-monster-role=nav] button:not([disabled]):hover {
76
+ border-bottom-width: 0;
77
+ border-right-color: var(
78
+ --monster-vertical-tabs-button-hover-border-color,
79
+ var(--monster-bg-color-secondary-3)
80
+ );
81
+ }
82
+
83
+ [data-monster-role=nav] button[data-monster-state=active],
84
+ [data-monster-role=nav] button[data-monster-state=active]:not([disabled]):hover {
85
+ border-bottom-width: 0;
86
+ border-right-color: var(
87
+ --monster-vertical-tabs-button-active-border-color,
88
+ var(--monster-bg-color-secondary-3)
89
+ );
90
+ }
91
+
92
+ [data-monster-role=nav] > button[data-monster-role=button] > span:first-of-type {
93
+ display: inline-flex;
94
+ text-orientation: var(
95
+ --monster-vertical-tabs-label-text-orientation,
96
+ mixed
97
+ );
98
+ white-space: nowrap;
99
+ writing-mode: var(
100
+ --monster-vertical-tabs-label-writing-mode,
101
+ vertical-rl
102
+ );
103
+ }
104
+
105
+ [data-monster-role=nav] button .remove-tab {
106
+ margin-top: .35rem;
107
+ }
108
+
109
+ [data-monster-role=nav] button[data-monster-role=switch] {
110
+ border-right-width: 0;
111
+ margin-top: .5rem;
112
+ }
113
+
114
+ [data-monster-role=nav] [data-monster-role=popper-nav] button {
115
+ flex-direction: row;
116
+ margin-bottom: 0;
117
+ padding-left: 15px;
118
+ padding-right: 15px;
119
+ }
120
+
121
+ [data-monster-role=nav] [data-monster-role=popper-nav] button > span:first-of-type {
122
+ text-orientation: mixed;
123
+ writing-mode: horizontal-tb;
124
+ }
125
+
126
+ ::slotted([slot]) {
127
+ border-bottom-width: 0;
128
+ border-right-style: var(--monster-border-style);
129
+ border-right-width: var(
130
+ --monster-vertical-tabs-slotted-border-width,
131
+ var(--monster-border-width)
132
+ );
133
+ border-color: var(
134
+ --monster-vertical-tabs-slotted-border-color,
135
+ var(--monster-bg-color-primary-4)
136
+ );
137
+ }
138
+
139
+ ::slotted([slot=start]) {
140
+ margin-bottom: .75rem;
141
+ margin-right: 0;
142
+ }
143
+
144
+ ::slotted([slot=end]) {
145
+ margin-left: 0;
146
+ margin-top: .75rem;
147
+ }