@skewedaspect/sleekspace-ui 0.6.0 → 0.7.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 (98) hide show
  1. package/dist/components/ColorPicker/SkColorPicker.vue.d.ts +29 -0
  2. package/dist/components/ColorPicker/index.d.ts +2 -0
  3. package/dist/components/ColorPicker/types.d.ts +4 -0
  4. package/dist/components/ContextMenu/SkContextMenu.vue.d.ts +25 -0
  5. package/dist/components/ContextMenu/SkContextMenuCheckboxItem.vue.d.ts +28 -0
  6. package/dist/components/ContextMenu/SkContextMenuItem.vue.d.ts +26 -0
  7. package/dist/components/ContextMenu/SkContextMenuLabel.vue.d.ts +17 -0
  8. package/dist/components/ContextMenu/SkContextMenuRadioGroup.vue.d.ts +26 -0
  9. package/dist/components/ContextMenu/SkContextMenuRadioItem.vue.d.ts +23 -0
  10. package/dist/components/ContextMenu/SkContextMenuSeparator.vue.d.ts +2 -0
  11. package/dist/components/ContextMenu/SkContextMenuSubmenu.vue.d.ts +24 -0
  12. package/dist/components/ContextMenu/index.d.ts +9 -0
  13. package/dist/components/ContextMenu/types.d.ts +2 -0
  14. package/dist/components/Dropdown/SkDropdown.vue.d.ts +1 -1
  15. package/dist/components/Dropdown/SkDropdownCheckboxItem.vue.d.ts +28 -0
  16. package/dist/components/Dropdown/SkDropdownMenuLabel.vue.d.ts +17 -0
  17. package/dist/components/Dropdown/SkDropdownRadioGroup.vue.d.ts +26 -0
  18. package/dist/components/Dropdown/SkDropdownRadioItem.vue.d.ts +23 -0
  19. package/dist/components/Dropdown/index.d.ts +4 -0
  20. package/dist/components/Popover/SkPopover.vue.d.ts +1 -1
  21. package/dist/components/ScrollArea/SkScrollArea.vue.d.ts +31 -0
  22. package/dist/components/ScrollArea/index.d.ts +2 -0
  23. package/dist/components/ScrollArea/types.d.ts +4 -0
  24. package/dist/components/Sidebar/SkSidebar.vue.d.ts +1 -1
  25. package/dist/components/Skeleton/SkSkeleton.vue.d.ts +1 -1
  26. package/dist/components/Splitter/SkSplitter.vue.d.ts +29 -0
  27. package/dist/components/Splitter/SkSplitterHandle.vue.d.ts +7 -0
  28. package/dist/components/Splitter/SkSplitterPanel.vue.d.ts +30 -0
  29. package/dist/components/Splitter/index.d.ts +4 -0
  30. package/dist/components/Splitter/types.d.ts +3 -0
  31. package/dist/components/Toolbar/SkToolbar.vue.d.ts +31 -0
  32. package/dist/components/Toolbar/SkToolbarButton.vue.d.ts +22 -0
  33. package/dist/components/Toolbar/SkToolbarSeparator.vue.d.ts +2 -0
  34. package/dist/components/Toolbar/SkToolbarToggleGroup.vue.d.ts +31 -0
  35. package/dist/components/Toolbar/SkToolbarToggleItem.vue.d.ts +23 -0
  36. package/dist/components/Toolbar/index.d.ts +6 -0
  37. package/dist/components/Toolbar/types.d.ts +5 -0
  38. package/dist/components/Tooltip/SkTooltip.vue.d.ts +1 -1
  39. package/dist/components/TreeView/SkTreeItem.vue.d.ts +39 -0
  40. package/dist/components/TreeView/SkTreeView.vue.d.ts +31 -0
  41. package/dist/components/TreeView/index.d.ts +3 -0
  42. package/dist/components/TreeView/types.d.ts +3 -0
  43. package/dist/index.d.ts +54 -0
  44. package/dist/sleekspace-ui.css +1215 -46
  45. package/dist/sleekspace-ui.es.js +16874 -7224
  46. package/dist/sleekspace-ui.umd.js +16855 -7205
  47. package/package.json +2 -1
  48. package/src/components/ColorPicker/SkColorPicker.vue +355 -0
  49. package/src/components/ColorPicker/index.ts +6 -0
  50. package/src/components/ColorPicker/types.ts +11 -0
  51. package/src/components/ContextMenu/SkContextMenu.vue +83 -0
  52. package/src/components/ContextMenu/SkContextMenuCheckboxItem.vue +72 -0
  53. package/src/components/ContextMenu/SkContextMenuItem.vue +49 -0
  54. package/src/components/ContextMenu/SkContextMenuLabel.vue +17 -0
  55. package/src/components/ContextMenu/SkContextMenuRadioGroup.vue +36 -0
  56. package/src/components/ContextMenu/SkContextMenuRadioItem.vue +53 -0
  57. package/src/components/ContextMenu/SkContextMenuSeparator.vue +21 -0
  58. package/src/components/ContextMenu/SkContextMenuSubmenu.vue +94 -0
  59. package/src/components/ContextMenu/index.ts +15 -0
  60. package/src/components/ContextMenu/types.ts +9 -0
  61. package/src/components/Dropdown/SkDropdown.vue +1 -1
  62. package/src/components/Dropdown/SkDropdownCheckboxItem.vue +72 -0
  63. package/src/components/Dropdown/SkDropdownMenuItem.vue +1 -1
  64. package/src/components/Dropdown/SkDropdownMenuLabel.vue +17 -0
  65. package/src/components/Dropdown/SkDropdownRadioGroup.vue +36 -0
  66. package/src/components/Dropdown/SkDropdownRadioItem.vue +53 -0
  67. package/src/components/Dropdown/SkDropdownSubmenu.vue +2 -2
  68. package/src/components/Dropdown/index.ts +4 -0
  69. package/src/components/ScrollArea/SkScrollArea.vue +87 -0
  70. package/src/components/ScrollArea/index.ts +8 -0
  71. package/src/components/ScrollArea/types.ts +11 -0
  72. package/src/components/Splitter/SkSplitter.vue +65 -0
  73. package/src/components/Splitter/SkSplitterHandle.vue +40 -0
  74. package/src/components/Splitter/SkSplitterPanel.vue +45 -0
  75. package/src/components/Splitter/index.ts +10 -0
  76. package/src/components/Splitter/types.ts +10 -0
  77. package/src/components/Toolbar/SkToolbar.vue +69 -0
  78. package/src/components/Toolbar/SkToolbarButton.vue +36 -0
  79. package/src/components/Toolbar/SkToolbarSeparator.vue +15 -0
  80. package/src/components/Toolbar/SkToolbarToggleGroup.vue +49 -0
  81. package/src/components/Toolbar/SkToolbarToggleItem.vue +37 -0
  82. package/src/components/Toolbar/index.ts +12 -0
  83. package/src/components/Toolbar/types.ts +12 -0
  84. package/src/components/TreeView/SkTreeItem.vue +84 -0
  85. package/src/components/TreeView/SkTreeView.vue +120 -0
  86. package/src/components/TreeView/index.ts +9 -0
  87. package/src/components/TreeView/types.ts +10 -0
  88. package/src/global.d.ts +20 -0
  89. package/src/index.ts +100 -0
  90. package/src/styles/components/_color-picker.scss +552 -0
  91. package/src/styles/components/_index.scss +5 -0
  92. package/src/styles/components/_menu.scss +52 -3
  93. package/src/styles/components/_scroll-area.scss +120 -0
  94. package/src/styles/components/_slider.scss +4 -4
  95. package/src/styles/components/_splitter.scss +136 -0
  96. package/src/styles/components/_toolbar.scss +296 -0
  97. package/src/styles/components/_tree-view.scss +187 -0
  98. package/web-types.json +1022 -122
@@ -0,0 +1,552 @@
1
+ @use '@/styles/mixins/cut-border' as *;
2
+
3
+ //----------------------------------------------------------------------------------------------------------------------
4
+ // ColorPicker Component Styles
5
+ //----------------------------------------------------------------------------------------------------------------------
6
+
7
+ //----------------------------------------------------------------------------------------------------------------------
8
+
9
+ .sk-color-picker
10
+ {
11
+ // Color tokens (can be overridden by custom colors)
12
+ --sk-color-picker-color-base: var(--sk-neutral-base);
13
+ --sk-color-picker-fg: var(--sk-neutral-text);
14
+
15
+ position: relative;
16
+ display: inline-flex;
17
+ width: 100%;
18
+
19
+ // Size variants
20
+ &.sk-sm
21
+ {
22
+ --sk-color-picker-cut: 0.4rem;
23
+ }
24
+
25
+ &.sk-md
26
+ {
27
+ --sk-color-picker-cut: 0.5rem;
28
+ }
29
+
30
+ &.sk-lg
31
+ {
32
+ --sk-color-picker-cut: 0.6rem;
33
+ }
34
+
35
+ &.sk-xl
36
+ {
37
+ --sk-color-picker-cut: 0.7rem;
38
+ }
39
+
40
+ // Kind variants
41
+ &.sk-neutral
42
+ {
43
+ --sk-color-picker-color-base: var(--sk-neutral-base);
44
+ --sk-color-picker-fg: var(--sk-neutral-text);
45
+ }
46
+
47
+ &.sk-primary
48
+ {
49
+ --sk-color-picker-color-base: var(--sk-primary-base);
50
+ --sk-color-picker-fg: var(--sk-primary-text);
51
+ }
52
+
53
+ &.sk-accent
54
+ {
55
+ --sk-color-picker-color-base: var(--sk-accent-base);
56
+ --sk-color-picker-fg: var(--sk-accent-text);
57
+ }
58
+
59
+ &.sk-info
60
+ {
61
+ --sk-color-picker-color-base: var(--sk-info-base);
62
+ --sk-color-picker-fg: var(--sk-info-text);
63
+ }
64
+
65
+ &.sk-success
66
+ {
67
+ --sk-color-picker-color-base: var(--sk-success-base);
68
+ --sk-color-picker-fg: var(--sk-success-text);
69
+ }
70
+
71
+ &.sk-warning
72
+ {
73
+ --sk-color-picker-color-base: var(--sk-warning-base);
74
+ --sk-color-picker-fg: var(--sk-warning-text);
75
+ }
76
+
77
+ &.sk-danger
78
+ {
79
+ --sk-color-picker-color-base: var(--sk-danger-base);
80
+ --sk-color-picker-fg: var(--sk-danger-text);
81
+ }
82
+
83
+ // Color kinds
84
+ &.sk-neon-blue
85
+ {
86
+ --sk-color-picker-color-base: var(--sk-neon-blue-base);
87
+ --sk-color-picker-fg: var(--sk-neon-blue-text);
88
+ }
89
+
90
+ &.sk-neon-purple
91
+ {
92
+ --sk-color-picker-color-base: var(--sk-neon-purple-base);
93
+ --sk-color-picker-fg: var(--sk-neon-purple-text);
94
+ }
95
+
96
+ &.sk-neon-orange
97
+ {
98
+ --sk-color-picker-color-base: var(--sk-neon-orange-base);
99
+ --sk-color-picker-fg: var(--sk-neon-orange-text);
100
+ }
101
+
102
+ &.sk-neon-green
103
+ {
104
+ --sk-color-picker-color-base: var(--sk-neon-green-base);
105
+ --sk-color-picker-fg: var(--sk-neon-green-text);
106
+ }
107
+
108
+ &.sk-neon-mint
109
+ {
110
+ --sk-color-picker-color-base: var(--sk-neon-mint-base);
111
+ --sk-color-picker-fg: var(--sk-neon-mint-text);
112
+ }
113
+
114
+ &.sk-neon-pink
115
+ {
116
+ --sk-color-picker-color-base: var(--sk-neon-pink-base);
117
+ --sk-color-picker-fg: var(--sk-neon-pink-text);
118
+ }
119
+
120
+ &.sk-yellow
121
+ {
122
+ --sk-color-picker-color-base: var(--sk-yellow-base);
123
+ --sk-color-picker-fg: var(--sk-yellow-text);
124
+ }
125
+
126
+ &.sk-red
127
+ {
128
+ --sk-color-picker-color-base: var(--sk-red-base);
129
+ --sk-color-picker-fg: var(--sk-red-text);
130
+ }
131
+ }
132
+
133
+ //----------------------------------------------------------------------------------------------------------------------
134
+
135
+ .sk-color-picker-anchor
136
+ {
137
+ display: flex;
138
+ align-items: center;
139
+ width: 100%;
140
+ position: relative;
141
+ gap: var(--sk-space-xs);
142
+
143
+ @include cut-border(
144
+ $cut: var(--sk-color-picker-cut),
145
+ $border-width: var(--sk-border-width-thin),
146
+ $border-color: var(--sk-color-picker-color-base),
147
+ $corners: (top-right)
148
+ );
149
+
150
+ background: color-mix(
151
+ in oklch,
152
+ color-mix(in oklch, var(--sk-color-picker-color-base) 75%, transparent 25%),
153
+ #000 65%
154
+ );
155
+
156
+ cursor: pointer;
157
+ transition-property: background, border-color;
158
+ transition-duration: var(--sk-transition-duration-base);
159
+
160
+ &:focus-within
161
+ {
162
+ border-color: color-mix(in oklch, var(--sk-color-picker-color-base), white 35%);
163
+ background: color-mix(
164
+ in oklch,
165
+ color-mix(in oklch, var(--sk-color-picker-color-base) 75%, transparent 25%),
166
+ #000 25%
167
+ );
168
+ }
169
+
170
+ .sk-color-picker:not(.sk-disabled) &:hover
171
+ {
172
+ border-color: color-mix(in oklch, var(--sk-color-picker-color-base), white 20%);
173
+ }
174
+
175
+ .sk-color-picker.sk-disabled &
176
+ {
177
+ opacity: 0.5;
178
+ cursor: not-allowed;
179
+ pointer-events: none;
180
+ }
181
+ }
182
+
183
+ //----------------------------------------------------------------------------------------------------------------------
184
+
185
+ .sk-color-picker-swatch
186
+ {
187
+ flex-shrink: 0;
188
+
189
+ @include cut-border(
190
+ $cut: 0.375rem,
191
+ $border-width: var(--sk-border-width-thin),
192
+ $border-color: color-mix(in oklch, var(--sk-color-picker-color-base), white 30%),
193
+ $corners: (top-right)
194
+ );
195
+
196
+ // Size variants
197
+ .sk-color-picker.sk-sm &
198
+ {
199
+ width: 1.25rem;
200
+ height: 1.25rem;
201
+ margin-left: var(--sk-space-sm);
202
+ }
203
+
204
+ .sk-color-picker.sk-md &
205
+ {
206
+ width: 1.5rem;
207
+ height: 1.5rem;
208
+ margin-left: var(--sk-space-md);
209
+ }
210
+
211
+ .sk-color-picker.sk-lg &
212
+ {
213
+ width: 1.75rem;
214
+ height: 1.75rem;
215
+ margin-left: var(--sk-space-md);
216
+ }
217
+
218
+ .sk-color-picker.sk-xl &
219
+ {
220
+ width: 2rem;
221
+ height: 2rem;
222
+ margin-left: var(--sk-space-md);
223
+ }
224
+ }
225
+
226
+ //----------------------------------------------------------------------------------------------------------------------
227
+
228
+ .sk-color-picker-input
229
+ {
230
+ flex: 1;
231
+ min-width: 0;
232
+ background: transparent;
233
+ border: none;
234
+ color: var(--sk-color-picker-fg);
235
+ font-family: var(--sk-font-family-mono, var(--sk-font-family-base));
236
+ outline: none;
237
+ display: flex;
238
+ align-items: center;
239
+ overflow: hidden;
240
+ text-overflow: ellipsis;
241
+ white-space: nowrap;
242
+
243
+ // Size variants
244
+ .sk-color-picker.sk-sm &
245
+ {
246
+ height: 2rem;
247
+ padding: 0 var(--sk-space-xs);
248
+ font-size: 0.8125rem;
249
+ }
250
+
251
+ .sk-color-picker.sk-md &
252
+ {
253
+ height: 2.5rem;
254
+ padding: 0 var(--sk-space-sm);
255
+ font-size: 0.875rem;
256
+ }
257
+
258
+ .sk-color-picker.sk-lg &
259
+ {
260
+ height: 3rem;
261
+ padding: 0 var(--sk-space-sm);
262
+ font-size: 1rem;
263
+ }
264
+
265
+ .sk-color-picker.sk-xl &
266
+ {
267
+ height: 3.5rem;
268
+ padding: 0 var(--sk-space-sm);
269
+ font-size: 1.125rem;
270
+ }
271
+ }
272
+
273
+ //----------------------------------------------------------------------------------------------------------------------
274
+
275
+ .sk-color-picker-trigger
276
+ {
277
+ display: flex;
278
+ align-items: center;
279
+ justify-content: center;
280
+ padding: 0 var(--sk-space-sm);
281
+ color: var(--sk-color-picker-fg);
282
+ cursor: pointer;
283
+ flex-shrink: 0;
284
+ background: none;
285
+ border: none;
286
+
287
+ &:hover:not(:disabled)
288
+ {
289
+ opacity: 0.8;
290
+ }
291
+
292
+ &:disabled
293
+ {
294
+ cursor: not-allowed;
295
+ }
296
+ }
297
+
298
+ //----------------------------------------------------------------------------------------------------------------------
299
+ // Panel (portal content - kind variants defined directly here)
300
+ //----------------------------------------------------------------------------------------------------------------------
301
+
302
+ .sk-color-picker-panel
303
+ {
304
+ --sk-panel-color-base: var(--sk-neutral-base);
305
+ --sk-panel-fg: var(--sk-neutral-text);
306
+
307
+ display: flex;
308
+ flex-direction: column;
309
+ gap: var(--sk-space-sm);
310
+ padding: var(--sk-space-md);
311
+ z-index: 1000;
312
+ width: 17rem;
313
+
314
+ @include cut-border(
315
+ $cut: 0.625rem,
316
+ $border-width: var(--sk-border-width-thin),
317
+ $border-color: var(--sk-panel-color-base),
318
+ $corners: (top-left)
319
+ );
320
+
321
+ background: color-mix(
322
+ in oklch,
323
+ color-mix(in oklch, var(--sk-panel-color-base) 95%, transparent 5%),
324
+ #000 46.25%
325
+ );
326
+ color: var(--sk-panel-fg);
327
+ box-shadow: var(--sk-shadow-lg);
328
+
329
+ // Kind variants (portal pattern: must be defined directly on portal content)
330
+ &.sk-neutral
331
+ {
332
+ --sk-panel-color-base: var(--sk-neutral-base);
333
+ --sk-panel-fg: var(--sk-neutral-text);
334
+ }
335
+
336
+ &.sk-primary
337
+ {
338
+ --sk-panel-color-base: var(--sk-primary-base);
339
+ --sk-panel-fg: var(--sk-primary-text);
340
+ }
341
+
342
+ &.sk-accent
343
+ {
344
+ --sk-panel-color-base: var(--sk-accent-base);
345
+ --sk-panel-fg: var(--sk-accent-text);
346
+ }
347
+
348
+ &.sk-info
349
+ {
350
+ --sk-panel-color-base: var(--sk-info-base);
351
+ --sk-panel-fg: var(--sk-info-text);
352
+ }
353
+
354
+ &.sk-success
355
+ {
356
+ --sk-panel-color-base: var(--sk-success-base);
357
+ --sk-panel-fg: var(--sk-success-text);
358
+ }
359
+
360
+ &.sk-warning
361
+ {
362
+ --sk-panel-color-base: var(--sk-warning-base);
363
+ --sk-panel-fg: var(--sk-warning-text);
364
+ }
365
+
366
+ &.sk-danger
367
+ {
368
+ --sk-panel-color-base: var(--sk-danger-base);
369
+ --sk-panel-fg: var(--sk-danger-text);
370
+ }
371
+
372
+ // Color kinds
373
+ &.sk-neon-blue
374
+ {
375
+ --sk-panel-color-base: var(--sk-neon-blue-base);
376
+ --sk-panel-fg: var(--sk-neon-blue-text);
377
+ }
378
+
379
+ &.sk-neon-purple
380
+ {
381
+ --sk-panel-color-base: var(--sk-neon-purple-base);
382
+ --sk-panel-fg: var(--sk-neon-purple-text);
383
+ }
384
+
385
+ &.sk-neon-orange
386
+ {
387
+ --sk-panel-color-base: var(--sk-neon-orange-base);
388
+ --sk-panel-fg: var(--sk-neon-orange-text);
389
+ }
390
+
391
+ &.sk-neon-green
392
+ {
393
+ --sk-panel-color-base: var(--sk-neon-green-base);
394
+ --sk-panel-fg: var(--sk-neon-green-text);
395
+ }
396
+
397
+ &.sk-neon-mint
398
+ {
399
+ --sk-panel-color-base: var(--sk-neon-mint-base);
400
+ --sk-panel-fg: var(--sk-neon-mint-text);
401
+ }
402
+
403
+ &.sk-neon-pink
404
+ {
405
+ --sk-panel-color-base: var(--sk-neon-pink-base);
406
+ --sk-panel-fg: var(--sk-neon-pink-text);
407
+ }
408
+
409
+ &.sk-yellow
410
+ {
411
+ --sk-panel-color-base: var(--sk-yellow-base);
412
+ --sk-panel-fg: var(--sk-yellow-text);
413
+ }
414
+
415
+ &.sk-red
416
+ {
417
+ --sk-panel-color-base: var(--sk-red-base);
418
+ --sk-panel-fg: var(--sk-red-text);
419
+ }
420
+
421
+ }
422
+
423
+ //----------------------------------------------------------------------------------------------------------------------
424
+
425
+ .sk-color-picker-controls
426
+ {
427
+ display: flex;
428
+ align-items: center;
429
+ gap: var(--sk-space-sm);
430
+ }
431
+
432
+ //----------------------------------------------------------------------------------------------------------------------
433
+
434
+ .sk-color-picker-eyedropper
435
+ {
436
+ flex-shrink: 0;
437
+ display: flex;
438
+ align-items: center;
439
+ justify-content: center;
440
+ width: 2rem;
441
+ height: 2rem;
442
+ padding: 0;
443
+ background: color-mix(in oklch, var(--sk-panel-color-base), #000 70%);
444
+ color: var(--sk-panel-fg);
445
+ border: var(--sk-border-width-thin) solid color-mix(in oklch, var(--sk-panel-color-base), transparent 50%);
446
+ cursor: pointer;
447
+ border-radius: 2px;
448
+ transition: background var(--sk-transition-duration-base);
449
+
450
+ &:hover:not(:disabled)
451
+ {
452
+ background: color-mix(in oklch, var(--sk-panel-color-base), #000 50%);
453
+ }
454
+ }
455
+
456
+ //----------------------------------------------------------------------------------------------------------------------
457
+
458
+ .sk-color-picker-sliders
459
+ {
460
+ flex: 1;
461
+ display: flex;
462
+ flex-direction: column;
463
+ gap: var(--sk-space-xs);
464
+ }
465
+
466
+ //----------------------------------------------------------------------------------------------------------------------
467
+
468
+ .sk-color-picker-inputs
469
+ {
470
+ display: flex;
471
+ flex-direction: column;
472
+ gap: var(--sk-space-xs);
473
+ }
474
+
475
+ //----------------------------------------------------------------------------------------------------------------------
476
+
477
+ .sk-color-picker-format-buttons
478
+ {
479
+ display: flex;
480
+ gap: 2px;
481
+ }
482
+
483
+ .sk-color-picker-format-btn
484
+ {
485
+ flex: 1;
486
+ padding: var(--sk-space-3xs) var(--sk-space-xs);
487
+ font-size: 0.6875rem;
488
+ font-weight: 600;
489
+ text-transform: uppercase;
490
+ letter-spacing: 0.05em;
491
+ cursor: pointer;
492
+ border: var(--sk-border-width-thin) solid transparent;
493
+ background: color-mix(in oklch, var(--sk-panel-color-base), #000 75%);
494
+ color: color-mix(in oklch, var(--sk-panel-fg), transparent 40%);
495
+ transition-property: background, color, border-color;
496
+ transition-duration: var(--sk-transition-duration-base);
497
+
498
+ &:hover
499
+ {
500
+ background: color-mix(in oklch, var(--sk-panel-color-base), #000 60%);
501
+ color: var(--sk-panel-fg);
502
+ }
503
+
504
+ &.sk-active
505
+ {
506
+ background: color-mix(in oklch, var(--sk-panel-color-base), #000 50%);
507
+ color: var(--sk-panel-fg);
508
+ border-color: var(--sk-panel-color-base);
509
+ }
510
+
511
+ &:first-child
512
+ {
513
+ @include cut-border(
514
+ $cut: 0.25rem,
515
+ $border-width: var(--sk-border-width-thin),
516
+ $border-color: transparent,
517
+ $corners: (top-left)
518
+ );
519
+ }
520
+
521
+ &:last-child
522
+ {
523
+ @include cut-border(
524
+ $cut: 0.25rem,
525
+ $border-width: var(--sk-border-width-thin),
526
+ $border-color: transparent,
527
+ $corners: (bottom-right)
528
+ );
529
+ }
530
+
531
+ &:first-child.sk-active
532
+ {
533
+ @include cut-border(
534
+ $cut: 0.25rem,
535
+ $border-width: var(--sk-border-width-thin),
536
+ $border-color: var(--sk-panel-color-base),
537
+ $corners: (top-left)
538
+ );
539
+ }
540
+
541
+ &:last-child.sk-active
542
+ {
543
+ @include cut-border(
544
+ $cut: 0.25rem,
545
+ $border-width: var(--sk-border-width-thin),
546
+ $border-color: var(--sk-panel-color-base),
547
+ $corners: (bottom-right)
548
+ );
549
+ }
550
+ }
551
+
552
+ //----------------------------------------------------------------------------------------------------------------------
@@ -14,6 +14,7 @@
14
14
  @include meta.load-css('card');
15
15
  @include meta.load-css('checkbox');
16
16
  @include meta.load-css('collapsible');
17
+ @include meta.load-css('color-picker');
17
18
  @include meta.load-css('divider');
18
19
  @include meta.load-css('field');
19
20
  @include meta.load-css('group');
@@ -29,11 +30,13 @@
29
30
  @include meta.load-css('popover');
30
31
  @include meta.load-css('progress');
31
32
  @include meta.load-css('radio');
33
+ @include meta.load-css('scroll-area');
32
34
  @include meta.load-css('select');
33
35
  @include meta.load-css('sidebar');
34
36
  @include meta.load-css('skeleton');
35
37
  @include meta.load-css('slider');
36
38
  @include meta.load-css('spinner');
39
+ @include meta.load-css('splitter');
37
40
  @include meta.load-css('switch');
38
41
  @include meta.load-css('table');
39
42
  @include meta.load-css('tabs');
@@ -41,7 +44,9 @@
41
44
  @include meta.load-css('tags-input');
42
45
  @include meta.load-css('textarea');
43
46
  @include meta.load-css('toast');
47
+ @include meta.load-css('toolbar');
44
48
  @include meta.load-css('tooltip');
49
+ @include meta.load-css('tree-view');
45
50
  }
46
51
 
47
52
  //----------------------------------------------------------------------------------------------------------------------
@@ -6,7 +6,7 @@
6
6
  //----------------------------------------------------------------------------------------------------------------------
7
7
 
8
8
  // Base menu container styling (applied via our wrapper components)
9
- .sk-dropdown-menu-content
9
+ .sk-menu-content
10
10
  {
11
11
  // Color tokens (can be overridden by custom colors via component)
12
12
  --sk-menu-color-base: var(--sk-neutral-base);
@@ -131,7 +131,7 @@
131
131
  // Menu Item Styles
132
132
  //----------------------------------------------------------------------------------------------------------------------
133
133
 
134
- .sk-dropdown-menu-item
134
+ .sk-menu-item
135
135
  {
136
136
  display: flex;
137
137
  align-items: center;
@@ -192,7 +192,7 @@
192
192
  // Menu Separator Styles
193
193
  //----------------------------------------------------------------------------------------------------------------------
194
194
 
195
- .sk-dropdown-menu-separator
195
+ .sk-menu-separator
196
196
  {
197
197
  height: 1px;
198
198
  margin: var(--sk-space-xs) 0;
@@ -201,6 +201,55 @@
201
201
 
202
202
  //----------------------------------------------------------------------------------------------------------------------
203
203
 
204
+ //----------------------------------------------------------------------------------------------------------------------
205
+ // Checkbox & Radio Item Styles
206
+ //----------------------------------------------------------------------------------------------------------------------
207
+
208
+ .sk-menu-checkbox-item,
209
+ .sk-menu-radio-item
210
+ {
211
+ position: relative;
212
+ padding-left: calc(var(--sk-space-md) + 1.25rem);
213
+ }
214
+
215
+ .sk-menu-item-indicator
216
+ {
217
+ position: absolute;
218
+ left: var(--sk-space-sm);
219
+ top: 50%;
220
+ transform: translateY(-50%);
221
+ display: flex;
222
+ align-items: center;
223
+ justify-content: center;
224
+ width: 1rem;
225
+ height: 1rem;
226
+ }
227
+
228
+ .sk-menu-radio-dot
229
+ {
230
+ width: 0.5rem;
231
+ height: 0.5rem;
232
+ border-radius: 50%;
233
+ background: currentColor;
234
+ }
235
+
236
+ //----------------------------------------------------------------------------------------------------------------------
237
+ // Menu Label Styles
238
+ //----------------------------------------------------------------------------------------------------------------------
239
+
240
+ .sk-menu-label
241
+ {
242
+ padding: var(--sk-space-xs) var(--sk-space-md);
243
+ font-size: 0.75rem;
244
+ font-weight: 600;
245
+ text-transform: uppercase;
246
+ letter-spacing: 0.05em;
247
+ color: color-mix(in oklch, var(--sk-menu-fg), transparent 40%);
248
+ user-select: none;
249
+ }
250
+
251
+ //----------------------------------------------------------------------------------------------------------------------
252
+
204
253
  //----------------------------------------------------------------------------------------------------------------------
205
254
  // Submenu Caret
206
255
  //----------------------------------------------------------------------------------------------------------------------