@vuu-ui/vuu-shell 0.8.5-debug → 0.8.6-debug

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 (83) hide show
  1. package/cjs/index.js +5378 -446
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +5441 -439
  4. package/esm/index.js.map +4 -4
  5. package/index.css +843 -96
  6. package/index.css.map +3 -3
  7. package/package.json +7 -7
  8. package/types/vuu-data-react/src/hooks/index.d.ts +6 -0
  9. package/types/vuu-data-react/src/hooks/useDataSource.d.ts +24 -0
  10. package/types/vuu-data-react/src/hooks/useServerConnectionQuality.d.ts +1 -0
  11. package/types/vuu-data-react/src/hooks/useServerConnectionStatus.d.ts +1 -0
  12. package/types/vuu-data-react/src/hooks/useTypeaheadSuggestions.d.ts +4 -0
  13. package/types/vuu-data-react/src/hooks/useVuuMenuActions.d.ts +57 -0
  14. package/types/vuu-data-react/src/hooks/useVuuTables.d.ts +2 -0
  15. package/types/vuu-data-react/src/index.d.ts +1 -0
  16. package/types/vuu-popups/src/dialog/Dialog.d.ts +7 -0
  17. package/types/vuu-popups/src/dialog/index.d.ts +1 -0
  18. package/types/vuu-popups/src/index.d.ts +5 -0
  19. package/types/vuu-popups/src/menu/ContextMenu.d.ts +15 -0
  20. package/types/vuu-popups/src/menu/MenuList.d.ts +43 -0
  21. package/types/vuu-popups/src/menu/context-menu-provider.d.ts +10 -0
  22. package/types/vuu-popups/src/menu/index.d.ts +4 -0
  23. package/types/vuu-popups/src/menu/key-code.d.ts +12 -0
  24. package/types/vuu-popups/src/menu/list-dom-utils.d.ts +4 -0
  25. package/types/vuu-popups/src/menu/use-cascade.d.ts +25 -0
  26. package/types/vuu-popups/src/menu/use-items-with-ids-next.d.ts +13 -0
  27. package/types/vuu-popups/src/menu/use-keyboard-navigation.d.ts +26 -0
  28. package/types/vuu-popups/src/menu/useContextMenu.d.ts +13 -0
  29. package/types/vuu-popups/src/menu/utils.d.ts +2 -0
  30. package/types/vuu-popups/src/popup/index.d.ts +1 -0
  31. package/types/vuu-popups/src/popup/popup-service.d.ts +55 -0
  32. package/types/vuu-popups/src/popup-menu/PopupMenu.d.ts +14 -0
  33. package/types/vuu-popups/src/popup-menu/index.d.ts +1 -0
  34. package/types/vuu-popups/src/portal/Portal.d.ts +8 -0
  35. package/types/vuu-popups/src/portal/index.d.ts +3 -0
  36. package/types/vuu-popups/src/portal/portal-utils.d.ts +1 -0
  37. package/types/vuu-popups/src/portal/render-portal.d.ts +10 -0
  38. package/types/{ShellContextProvider.d.ts → vuu-shell/src/ShellContextProvider.d.ts} +2 -2
  39. package/types/{index.d.ts → vuu-shell/src/index.d.ts} +3 -0
  40. package/types/vuu-shell/src/layout-management/SaveLayoutPanel.d.ts +3 -0
  41. package/types/vuu-shell/src/layout-management/index.d.ts +1 -0
  42. package/types/{left-nav → vuu-shell/src/left-nav}/LeftNav.d.ts +4 -1
  43. package/types/{shell-layouts → vuu-shell/src/shell-layouts}/index.d.ts +1 -0
  44. package/types/vuu-shell/src/shell-layouts/useFullHeightLeftPanel.d.ts +3 -0
  45. package/types/vuu-shell/src/shell-layouts/useInlayLeftPanel.d.ts +3 -0
  46. package/types/vuu-shell/src/shell-layouts/useShellLayout.d.ts +9 -0
  47. package/types/shell-layouts/useFullHeightLeftPanel.d.ts +0 -4
  48. package/types/shell-layouts/useInlayLeftPanel.d.ts +0 -5
  49. package/types/shell-layouts/useShellLayout.d.ts +0 -7
  50. package/types/{app-header → vuu-shell/src/app-header}/AppHeader.d.ts +0 -0
  51. package/types/{app-header → vuu-shell/src/app-header}/index.d.ts +0 -0
  52. package/types/{connection-status → vuu-shell/src/connection-status}/ConnectionStatusIcon.d.ts +0 -0
  53. package/types/{connection-status → vuu-shell/src/connection-status}/index.d.ts +0 -0
  54. package/types/{density-switch → vuu-shell/src/density-switch}/DensitySwitch.d.ts +0 -0
  55. package/types/{density-switch → vuu-shell/src/density-switch}/index.d.ts +0 -0
  56. package/types/{feature → vuu-shell/src/feature}/ErrorBoundary.d.ts +0 -0
  57. package/types/{feature → vuu-shell/src/feature}/Feature.d.ts +0 -0
  58. package/types/{feature → vuu-shell/src/feature}/Loader.d.ts +0 -0
  59. package/types/{feature → vuu-shell/src/feature}/css-module-loader.d.ts +0 -0
  60. package/types/{feature → vuu-shell/src/feature}/index.d.ts +0 -0
  61. package/types/{get-layout-history.d.ts → vuu-shell/src/get-layout-history.d.ts} +0 -0
  62. package/types/{layout-config → vuu-shell/src/layout-config}/index.d.ts +0 -0
  63. package/types/{layout-config → vuu-shell/src/layout-config}/local-config.d.ts +0 -0
  64. package/types/{layout-config → vuu-shell/src/layout-config}/remote-config.d.ts +0 -0
  65. package/types/{layout-config → vuu-shell/src/layout-config}/use-layout-config.d.ts +0 -0
  66. package/types/{left-nav → vuu-shell/src/left-nav}/index.d.ts +0 -0
  67. package/types/{login → vuu-shell/src/login}/LoginPanel.d.ts +0 -0
  68. package/types/{login → vuu-shell/src/login}/index.d.ts +0 -0
  69. package/types/{login → vuu-shell/src/login}/login-utils.d.ts +0 -0
  70. package/types/{session-editing-form → vuu-shell/src/session-editing-form}/SessionEditingForm.d.ts +0 -0
  71. package/types/{session-editing-form → vuu-shell/src/session-editing-form}/index.d.ts +0 -0
  72. package/types/{shell-layouts → vuu-shell/src/shell-layouts}/context-panel/ContextPanel.d.ts +0 -0
  73. package/types/{shell-layouts → vuu-shell/src/shell-layouts}/context-panel/index.d.ts +0 -0
  74. package/types/{shell.d.ts → vuu-shell/src/shell.d.ts} +0 -0
  75. package/types/{shellTypes.d.ts → vuu-shell/src/shellTypes.d.ts} +0 -0
  76. package/types/{theme-provider → vuu-shell/src/theme-provider}/ThemeProvider.d.ts +0 -0
  77. package/types/{theme-provider → vuu-shell/src/theme-provider}/index.d.ts +0 -0
  78. package/types/{theme-switch → vuu-shell/src/theme-switch}/ThemeSwitch.d.ts +1 -1
  79. /package/types/{theme-switch → vuu-shell/src/theme-switch}/index.d.ts +0 -0
  80. /package/types/{use-force-render.d.ts → vuu-shell/src/use-force-render.d.ts} +0 -0
  81. /package/types/{user-profile → vuu-shell/src/user-profile}/UserPanel.d.ts +0 -0
  82. /package/types/{user-profile → vuu-shell/src/user-profile}/UserProfile.d.ts +0 -0
  83. /package/types/{user-profile → vuu-shell/src/user-profile}/index.d.ts +0 -0
package/index.css CHANGED
@@ -58,6 +58,843 @@
58
58
  }
59
59
  }
60
60
 
61
+ /* src/layout-management/SaveLayoutPanel.css */
62
+ .vuuSaveLayoutPanel {
63
+ background-color: aqua;
64
+ height: 400px;
65
+ width: 600px;
66
+ }
67
+
68
+ /* ../vuu-popups/src/dialog/Dialog.css */
69
+ .vuuDialog {
70
+ background: var(--salt-container-primary-background);
71
+ border: var(--vuuDialog-border, solid 1px #ccc);
72
+ border-radius: 5px;
73
+ padding: var(--vuuDialog-padding, 0);
74
+ box-shadow: var(--salt-overlayable-shadow, none);
75
+ height: var(--vuuDialog-height, fit-content);
76
+ width: var(--vuuDialog-width, fit-content);
77
+ }
78
+ .vuuDialog-header {
79
+ --saltButton-height: 28px;
80
+ --saltButton-width: 28px;
81
+ --saltToolbar-background: transparent;
82
+ --saltToolbar-height: calc(var(--salt-size-base) + 5px);
83
+ border-bottom: solid 1px var(--salt-container-primary-borderColor);
84
+ }
85
+ .vuuDialog-header > .Responsive-inner {
86
+ align-items: center;
87
+ }
88
+ .vuuDialog-header > .Responsive-inner > :last-child {
89
+ right: 2px;
90
+ }
91
+
92
+ /* ../vuu-popups/src/menu/MenuList.css */
93
+ .vuuMenuList {
94
+ --context-menu-color: var(--vuuMenuList-color,#161616);
95
+ --context-menu-padding: var(--hw-list-item-padding, 0 6px);
96
+ --context-menu-shadow: var(--hw-dialog-shadow, 0 6px 12px rgba(0, 0, 0, 0.175));
97
+ --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));
98
+ --context-menu-highlight-bg: #a4d5f4;
99
+ --context-menu-blur-focus-bg: #e0e4e9;
100
+ --menu-item-icon-color: black;
101
+ --menu-item-twisty-color: black;
102
+ --menu-item-twisty-content: "";
103
+ --menu-item-twisty-top: 50%;
104
+ --menu-item-twisty-left: auto;
105
+ --menu-item-twisty-right: 0px;
106
+ --menu-icon-size: 12px;
107
+ background-clip: padding-box;
108
+ background-color: white;
109
+ border-radius: 4px;
110
+ border: solid 1px var(--vuuMenuList-borderColor, rgba(0, 0, 0, 0.15));
111
+ box-shadow: var(--context-menu-shadow);
112
+ font-size: var(--vuuMenuList-fontSize, var(--salt-text-label-fontSize));
113
+ font-weight: var(--salt-typography-fontWeight-semiBold);
114
+ list-style: none;
115
+ margin: 2px 0 0;
116
+ outline: 0;
117
+ overflow: hidden;
118
+ padding: var(--vuuMenuList-padding, 0);
119
+ position: absolute;
120
+ }
121
+ .vuuMenuItem {
122
+ align-items: center;
123
+ border-width: 1px;
124
+ border-color: var(--vuuMenuItem-borderColor, transparent);
125
+ border-style: var(--vuuMenuItem-borderStyle, none);
126
+ color: var(--context-menu-color);
127
+ display: flex;
128
+ gap: 6px;
129
+ height: var(--vuuMenuItem-height, var(--hw-list-item-height, 24px));
130
+ padding: var(--context-menu-padding);
131
+ padding-right: 24px;
132
+ position: relative;
133
+ white-space: nowrap;
134
+ }
135
+ .vuuIconContainer {
136
+ display: inline-block;
137
+ flex: 12px 0 0;
138
+ height: var(--menu-icon-size);
139
+ mask-repeat: no-repeat;
140
+ width: var(--menu-icon-size);
141
+ }
142
+ .vuuMenuItem[aria-expanded=true] {
143
+ background-color: var(--context-menu-blur-focus-bg);
144
+ }
145
+ .vuuMenuItem-separator {
146
+ border-top: solid 1px var(--context-menu-blur-focus-bg);
147
+ }
148
+ .vuuMenuItem[aria-haspopup=true]:after {
149
+ content: var(--menu-item-twisty-content);
150
+ -webkit-mask: var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;
151
+ mask: var(---vuu-svg-chevron-right) center center/8px 8px no-repeat;
152
+ background-color: var(--menu-item-twisty-color);
153
+ height: 16px;
154
+ left: var(--menu-item-twisty-left);
155
+ right: var(--menu-item-twisty-right);
156
+ margin-top: -8px;
157
+ position: absolute;
158
+ top: var(--menu-item-twisty-top);
159
+ transition: transform 0.3s;
160
+ width: 16px;
161
+ }
162
+ .vuuMenuItem[data-highlighted] {
163
+ background-color: var(--context-menu-highlight-bg);
164
+ }
165
+ .vuuMenuItem:hover {
166
+ background-color: var(--context-menu-highlight-bg);
167
+ cursor: default;
168
+ }
169
+ .vuuMenuList-childMenuShowing .vuuMenuItem[data-highlighted] {
170
+ background-color: var(--context-menu-blur-focus-bg);
171
+ }
172
+ .vuuMenuItem.focusVisible:before {
173
+ content: "";
174
+ position: absolute;
175
+ top: 0;
176
+ left: 0;
177
+ right: 0;
178
+ bottom: 0px;
179
+ border: dotted var(--focus-visible-border-color) 2px;
180
+ }
181
+ .vuuPopupContainer.top-bottom-right-right .popup-menu {
182
+ left: auto;
183
+ right: 0;
184
+ }
185
+ .popup-menu .menu-item.showing > button,
186
+ .popup-menu .menu-item > button:focus,
187
+ .popup-menu .menu-item > button:hover {
188
+ text-decoration: none;
189
+ color: rgb(0, 0, 0);
190
+ background-color: rgb(220, 220, 220);
191
+ }
192
+ .vuuMenuItem-button:active,
193
+ .vuuMenuItem-button:hover {
194
+ outline: 0;
195
+ }
196
+ .popup-menu .menu-item.disabled > button {
197
+ clear: both;
198
+ font-weight: normal;
199
+ line-height: 1.5;
200
+ color: rgb(120, 120, 120);
201
+ white-space: nowrap;
202
+ text-decoration: none;
203
+ cursor: default;
204
+ }
205
+
206
+ /* ../vuu-popups/src/popup/popup-service.css */
207
+ .vuuPopup {
208
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
209
+ position: absolute;
210
+ top: 0;
211
+ left: 0;
212
+ width: 0;
213
+ height: 0;
214
+ overflow: visible;
215
+ z-index: 1000;
216
+ }
217
+ .vuuPopup {
218
+ position: absolute;
219
+ }
220
+
221
+ /* ../vuu-popups/src/popup-menu/PopupMenu.css */
222
+ .vuuPopupMenu {
223
+ --saltButton-height: 24px;
224
+ --saltButton-width: 24px;
225
+ --vuu-icon-color: #606477;
226
+ --vuu-icon-height: 20px;
227
+ --vuu-icon-left: 2px;
228
+ --vuu-icon-size: 16px;
229
+ --vuu-icon-top: 2px;
230
+ --vuu-icon-width: 20px;
231
+ background: var(--vuuPopupMenu-background, transparent);
232
+ border-radius: 4px;
233
+ cursor: pointer;
234
+ display: inline-block;
235
+ margin-top: 2px;
236
+ padding: 2px;
237
+ }
238
+ .vuuPopupMenu:hover {
239
+ --vuu-icon-color: var(--saltButton-text-color-hover);
240
+ }
241
+ .vuuPopupMenu-open {
242
+ --saltButton-background: var(--salt-actionable-secondary-background-active);
243
+ --vuu-icon-color: white;
244
+ }
245
+ .vuu-theme .vuuPopupMenu:hover {
246
+ --saltButton-background-hover: #F37880;
247
+ }
248
+ .vuu-theme .vuuPopupMenu-open {
249
+ --saltButton-background: #6D18BD;
250
+ }
251
+
252
+ /* ../vuu-ui-controls/src/drag-drop/Draggable.css */
253
+ .vuuDraggable {
254
+ background: transparent;
255
+ box-shadow: var(--salt-overlayable-shadow-drag);
256
+ cursor: var(--salt-draggable-grab-cursor-active);
257
+ position: absolute;
258
+ opacity: .95;
259
+ z-index: 2000;
260
+ }
261
+ .vuuDraggable-spacer {
262
+ display: var(--saltDraggable-display, inline-block);
263
+ height: var(--saltDraggable-spacer-height, var(--tabstrip-height));
264
+ transition: var(--saltDraggable-transitionProp, width) 0.3s ease;
265
+ width: var(--saltDraggable-spacer-width, 0);
266
+ }
267
+ .vuuDraggable-dropIndicatorPosition {
268
+ display: var(--saltDraggable-display, inline-block);
269
+ height: 0px;
270
+ width: 100%;
271
+ }
272
+ .vuuDraggable-dropIndicatorContainer {
273
+ transition: var(--saltDraggable-transitionProp, top) 0.2s ease;
274
+ }
275
+ .vuuDraggable-dropIndicator {
276
+ background-color: var(--salt-palette-accent-background);
277
+ height: 2px;
278
+ width: 100%;
279
+ }
280
+ .vuuDraggable-dropIndicator:before {
281
+ content: "";
282
+ width: 6px;
283
+ height: 6px;
284
+ border-radius: 3px;
285
+ background-color: var(--salt-palette-accent-background);
286
+ position: absolute;
287
+ top: -2px;
288
+ left: -3px;
289
+ }
290
+ .vuuDraggable-settling {
291
+ transition-property: left, top;
292
+ transition-duration: .15s;
293
+ transition-timing-function: ease-out;
294
+ }
295
+ .vuuDraggable-spacer {
296
+ order: 1;
297
+ }
298
+
299
+ /* ../vuu-ui-controls/src/editable-label/EditableLabel.css */
300
+ .vuuEditableLabel {
301
+ --saltInput-background: transparent;
302
+ --saltInput-minWidth: 14px;
303
+ --saltInput-position: absolute;
304
+ --editableLabel-padding: var(--saltEditableLabel-padding, 6px);
305
+ --editableLabel-height: var(--saltEditableLabel-height, 26px);
306
+ color: inherit;
307
+ cursor: default;
308
+ display: flex;
309
+ flex-direction: column;
310
+ font-size: var(--salt-text-fontSize);
311
+ height: var(--editableLabel-height);
312
+ justify-content: center;
313
+ outline: none;
314
+ padding: 0 var(--editableLabel-padding);
315
+ position: relative;
316
+ z-index: var(--salt-zIndex-default);
317
+ }
318
+ .vuuEditableLabel:before {
319
+ content: attr(data-text);
320
+ display: block;
321
+ height: 0px;
322
+ visibility: hidden;
323
+ white-space: pre-wrap;
324
+ }
325
+ .vuuEditableLabel .saltInput {
326
+ font-weight: var(--salt-text-fontWeight);
327
+ left: var(--editableLabel-padding, 0);
328
+ padding: 0;
329
+ outline-style: none;
330
+ position: absolute;
331
+ right: var(--editableLabel-padding, 0);
332
+ top: var(--saltEditableLabel-top, 2px);
333
+ width: auto;
334
+ }
335
+ .vuuEditableLabel .saltInput-activationIndicator {
336
+ display: none;
337
+ }
338
+ .vuuEditableLabel-input {
339
+ background-color: transparent;
340
+ border: none;
341
+ box-sizing: content-box;
342
+ display: block;
343
+ flex: 1;
344
+ font: inherit;
345
+ height: 20px;
346
+ margin: 0;
347
+ min-width: 0;
348
+ outline: none;
349
+ padding: 0;
350
+ }
351
+
352
+ /* ../vuu-ui-controls/src/tabstrip/Tabstrip.css */
353
+ .vuuTabstrip {
354
+ --vuuOverflowContainer-background: transparent;
355
+ --tabstrip-dragging-display: none;
356
+ --tabstrip-display: inline-flex;
357
+ --tabstrip-background: transparent;
358
+ align-self: var(--saltTabs-tabstrip-alignSelf, stretch);
359
+ font-size: var(--salt-text-fontSize);
360
+ font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));
361
+ position: relative;
362
+ overflow: visible;
363
+ display: flex;
364
+ min-width: 28px;
365
+ width: var(--tabstrip-width);
366
+ }
367
+ .vuuTabstrip-horizontal {
368
+ --tabstrip-height: var(--vuuTabstrip-height, 28px);
369
+ --tabstrip-width: var(--vuuTabstrip-width, 100%);
370
+ --tab-width: auto;
371
+ --tab-thumb-height: 2px;
372
+ --tab-thumb-left: var(--tab-thumb-offset, 0);
373
+ --tab-thumb-top: auto;
374
+ --tab-thumb-width: var(--tab-thumb-size, 100%);
375
+ align-items: flex-start;
376
+ border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));
377
+ }
378
+ .vuuTabstrip-vertical {
379
+ --tabstrip-height: var(--vuuTabstrip-height, 100%);
380
+ --tabstrip-width: var(--vuuTabstrip-width, 100px);
381
+ --tab-width: 100%;
382
+ --tab-thumb-height: var(--tab-thumb-size, 100%);
383
+ --tab-thumb-left: 0;
384
+ --tab-thumb-top: var(--tab-thumb-offset, 0);
385
+ --tab-thumb-width: 2px;
386
+ align-self: flex-start;
387
+ display: inline-flex;
388
+ }
389
+ .vuuTabstrip-draggingTab .vuuTab {
390
+ pointer-events: none;
391
+ }
392
+ .vuuTabstrip-addTabButton {
393
+ --saltButton-height: 20px;
394
+ --saltButton-width: 20px;
395
+ }
396
+ .vuuTabstrip-overflowMenu.saltDropdown {
397
+ --saltIcon-margin: 2px 0 0 0px;
398
+ }
399
+ .vuuTabstrip-overflowMenu-open {
400
+ --saltButton-background: var(--salt-actionable-secondary-background-active);
401
+ --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);
402
+ }
403
+ .vuuTabstrip-overflowMenu-open .saltButton {
404
+ --saltIcon-color: var(--salt-actionable-secondary-foreground-active);
405
+ }
406
+ .vuuTabstrip-inner {
407
+ width: 100%;
408
+ align-items: center;
409
+ display: flex;
410
+ flex-basis: auto;
411
+ flex-grow: 0;
412
+ flex-shrink: 1;
413
+ flex-wrap: wrap;
414
+ justify-content: flex-start;
415
+ line-height: var(--tabstrip-height);
416
+ }
417
+ .vuuTabstrip-vertical .vuuTabstrip-inner {
418
+ flex-direction: column;
419
+ height: auto;
420
+ }
421
+ .vuuTabstrip-centered .vuuTabstrip-inner {
422
+ justify-content: center;
423
+ }
424
+ .vuuDraggable[class*=vuuTabstrip] {
425
+ --tabstrip-display: flex;
426
+ --tabstrip-height: 100%;
427
+ --tabstrip-dragging-display: block;
428
+ --tabs-tab-background: var(--salt-navigable-primary-background-hover);
429
+ --tabs-tab-before-content: "";
430
+ --tabs-tab-before-background: var(--salt-navigable-indicator-hover);
431
+ --tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);
432
+ --tabs-tab-before-inset: var(--tab-activationIndicator-inset);
433
+ --tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);
434
+ --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);
435
+ --tabs-tab-position: static;
436
+ font-size: 12px;
437
+ }
438
+ .vuuDraggable-tabstrip-horizontal {
439
+ --tab-thumb-height: 2px;
440
+ --tabstrip-height: 28px;
441
+ line-height: var(--tabstrip-height);
442
+ }
443
+ .vuuDraggable[class*=tabstrip] .vuuTab[aria-selected=true]:before {
444
+ --tabs-tab-before-background: var(--salt-navigable-indicator-active);
445
+ }
446
+ .vuuTabstrip-overflowMenu-dropTarget:after {
447
+ background: var(--salt-selectable-background-selected);
448
+ content: "";
449
+ position: absolute;
450
+ height: 2px;
451
+ left: 0;
452
+ right: 0;
453
+ bottom: 0;
454
+ }
455
+
456
+ /* ../vuu-ui-controls/src/tabstrip/TabMenu.css */
457
+ .vuuTabMenu {
458
+ top: -2px;
459
+ }
460
+
461
+ /* ../vuu-ui-controls/src/tabstrip/Tab.css */
462
+ .vuuTab {
463
+ --saltEditableLabel-padding: 0;
464
+ --saltEditableLabel-height: var(--tabstrip-height);
465
+ --saltInputLegacy-minWidth: 4em;
466
+ --saltEditableLabel-top: 3px;
467
+ --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));
468
+ --tab-cursor: pointer;
469
+ --tab-position: relative;
470
+ }
471
+ .vuuTab {
472
+ align-items: center;
473
+ align-self: stretch;
474
+ background: var(--tab-background);
475
+ border: none;
476
+ border-radius: var(--vuuTab-borderRadius, 0);
477
+ color: var(--salt-text-primary-foreground);
478
+ cursor: var(--vuuTab-cursor, var(--tab-cursor));
479
+ display: var(--tabstrip-display);
480
+ gap: 8px;
481
+ height: var(--vuuTab-height, var(--tabstrip-height));
482
+ letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));
483
+ min-width: var(--vuuTab-minWidth, 40px);
484
+ outline: none;
485
+ padding: var(--vuuTab-padding, 0 24px);
486
+ position: var(--vuuTab-position, var(--tab-position));
487
+ user-select: none;
488
+ width: var(--tab-width);
489
+ }
490
+ .vuuTab {
491
+ margin: 0 var(--tab-spacing) 0 0;
492
+ }
493
+ .vuuTab-selected {
494
+ background: var(--vuuTab-background-selected, var(--tab-background));
495
+ color: var(--salt-text-primary-foreground);
496
+ font-weight: var(--salt-navigable-fontWeight-active);
497
+ }
498
+ .vuuTab-main {
499
+ align-items: center;
500
+ border: none;
501
+ color: inherit;
502
+ cursor: inherit;
503
+ display: flex;
504
+ font-family: inherit;
505
+ font-size: inherit;
506
+ font-weight: inherit;
507
+ height: var(--vuuTabstrip-height, var(--salt-size-stackable));
508
+ outline: none;
509
+ position: relative;
510
+ }
511
+ .vuuTab-closeable .vuuTab-main {
512
+ border-right: solid transparent var(--salt-size-unit);
513
+ }
514
+ .vuuTab .vuuTab-closeButton {
515
+ display: flex;
516
+ align-items: center;
517
+ justify-content: center;
518
+ }
519
+ .vuuTab-close-icon {
520
+ display: none;
521
+ }
522
+ .salt-density-touch .vuuTab-close-icon,
523
+ .salt-density-low .vuuTab-close-icon {
524
+ display: block;
525
+ }
526
+ .salt-density-touch .vuuTab-close-icon-small,
527
+ .salt-density-low .vuuTab-close-icon-small {
528
+ display: none;
529
+ }
530
+ .vuuTab .vuuTab-text {
531
+ display: inline-block;
532
+ position: relative;
533
+ overflow: hidden;
534
+ text-align: var(--salt-text-textAlign-embedded);
535
+ text-overflow: ellipsis;
536
+ top: var(--vuuTab-top, var(--tab-top, auto));
537
+ white-space: nowrap;
538
+ z-index: var(--salt-zIndex-default);
539
+ }
540
+ .vuuTab .vuuTab-text:before {
541
+ height: 0;
542
+ content: attr(data-text);
543
+ display: block;
544
+ visibility: hidden;
545
+ font-weight: var(--salt-navigable-fontWeight-active);
546
+ }
547
+ .vuuTab-editing:after {
548
+ content: "";
549
+ position: absolute;
550
+ top: 0;
551
+ left: 0;
552
+ right: 0;
553
+ bottom: 2px;
554
+ outline-color: var(--salt-focused-outlineColor);
555
+ outline-style: var(--salt-focused-outlineStyle);
556
+ outline-width: var(--salt-focused-outlineWidth);
557
+ outline-offset: -2px;
558
+ }
559
+ .vuuTab.vuuFocusVisible {
560
+ background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));
561
+ outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));
562
+ outline-style: dashed;
563
+ outline-width: 1px;
564
+ outline-offset: -1px;
565
+ }
566
+ .vuuTab:before {
567
+ content: var(--tab-before-content, none);
568
+ content: "";
569
+ background: var(--tab-before-background);
570
+ height: var(--tab-before-height);
571
+ inset: var(--tab-before-inset);
572
+ position: absolute;
573
+ width: var(--tab-before-width);
574
+ z-index: 1;
575
+ }
576
+ .vuuTabstrip-draggingTab .vuuTab-selected:before {
577
+ --tab-before-content: "";
578
+ --tab-before-background: var(--salt-navigable-indicator-color-active);
579
+ --tab-before-height: var(--tab-thumb-height);
580
+ --tab-before-inset: var(--tab-activationIndicator-inset);
581
+ --tab-before-width: var(--tab-activationIndicator-thumb-width);
582
+ }
583
+ .vuuTab-selected:before {
584
+ --tab-before-content: "";
585
+ background: var(--salt-navigable-indicator-active);
586
+ height: var(--tab-thumb-height);
587
+ position: absolute;
588
+ left: var(--tab-thumb-left);
589
+ bottom: 0px;
590
+ top: var(--tab-thumb-top, auto);
591
+ transition: var(--tab-thumb-transition, none);
592
+ width: var(--tab-thumb-width, 100%);
593
+ }
594
+ .vuuTab:hover:not(.vuuTab-closeHover) {
595
+ background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));
596
+ }
597
+
598
+ /* ../vuu-ui-controls/src/tree/Tree.css */
599
+ .vuuTree {
600
+ --tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));
601
+ --tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));
602
+ --tree-toggle-width: 12px;
603
+ --tree-icon-color: var(--vuuTree-icon-color, #4c505b);
604
+ --tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);
605
+ --tree-node-indent: 0px;
606
+ --list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, 0.1));
607
+ --list-item-height: var(--hw-list-item-height, 30px);
608
+ --list-item-padding: var(--hw-list-item-padding, 0 6px);
609
+ --list-item-header-bg: var(--hw-list-item-header-bg, black);
610
+ --list-item-header-color: var(--hw-list-item-header-color, white);
611
+ --list-item-header-font-weight: bold;
612
+ --list-item-header-twisty-color: black;
613
+ --list-item-header-twisty-content: "";
614
+ --list-item-header-twisty-top: 50%;
615
+ --list-item-header-twisty-left: -18px;
616
+ --list-item-header-twisty-right: auto;
617
+ --list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);
618
+ --list-item-selected-color: white;
619
+ --list-item-text-color: var(--hw-gray-800);
620
+ --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));
621
+ list-style: none;
622
+ margin: 0;
623
+ padding: 0 1px;
624
+ font-size: var(--vuuTree-font-size, 14px);
625
+ max-height: inherit;
626
+ outline: none;
627
+ overflow-y: auto;
628
+ position: relative;
629
+ user-select: none;
630
+ }
631
+ .vuuTree-viewport {
632
+ --list-item-height: 30px;
633
+ box-sizing: border-box;
634
+ max-height: inherit;
635
+ overflow: auto;
636
+ }
637
+ .vuuTree-scrollingContentContainer {
638
+ box-sizing: inherit;
639
+ position: relative;
640
+ }
641
+ .vuuTree-scrollingContentContainer .vuuTreeNode {
642
+ line-height: 30px;
643
+ position: absolute;
644
+ top: 0;
645
+ left: 0;
646
+ right: 0;
647
+ will-change: transform;
648
+ }
649
+ .vuuTreeNode {
650
+ list-style: none;
651
+ }
652
+ .vuuTreeNode:not([aria-expanded]),
653
+ .vuuTreeNode[aria-expanded] > .vuuTreeNode-label {
654
+ --checkbox-border-color: black;
655
+ --checkbox-border-width: 1px;
656
+ --checkbox-tick: black;
657
+ --list-item-padding-left: 6px;
658
+ --svg-toggle: var(--tree-node-collapse);
659
+ align-items: center;
660
+ color: var(--list-item-text-color);
661
+ display: flex;
662
+ flex-wrap: nowrap;
663
+ height: var(--list-item-height);
664
+ line-height: var(--list-item-height);
665
+ padding: var(--list-item-padding);
666
+ padding-left: var(--padding-left);
667
+ position: relative;
668
+ cursor: default;
669
+ margin: 0;
670
+ white-space: nowrap;
671
+ }
672
+ .vuuTreeNode:not([aria-expanded]) {
673
+ --padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) );
674
+ }
675
+ .vuuTreeNode[aria-expanded] > .vuuTreeNode-label {
676
+ --padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) );
677
+ }
678
+ .vuuTreeNode-icon {
679
+ background-color: var(--tree-icon-color);
680
+ display: inline-block;
681
+ height: 18px;
682
+ margin-right: 6px;
683
+ -webkit-mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;
684
+ mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;
685
+ flex: 0 0 18px;
686
+ }
687
+ .vuuTreeNode[aria-expanded] {
688
+ flex-direction: column;
689
+ }
690
+ .vuuTreeNode[aria-expanded] {
691
+ flex-direction: column;
692
+ height: auto;
693
+ }
694
+ .vuuTreeNode > *[role=group] {
695
+ padding-left: 0px;
696
+ }
697
+ .vuuTreeNode {
698
+ padding-left: calc(var(--padding-left) + var(--tree-node-indent));
699
+ }
700
+ .vuuTreeNode[aria-level="2"] {
701
+ --tree-node-indent: 12px;
702
+ }
703
+ .vuuTreeNode[aria-level="3"] {
704
+ --tree-node-indent: 24px;
705
+ }
706
+ .vuuTreeNode[aria-level="4"] {
707
+ --tree-node-indent: 36px;
708
+ }
709
+ .vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],
710
+ .vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted] > div:first-child {
711
+ background-color: var(--list-hilited-bg);
712
+ }
713
+ .vuuTreeNode-toggle {
714
+ cursor: pointer;
715
+ }
716
+ .vuuTreeNode > .vuuTreeNode-toggle {
717
+ display: inline-block;
718
+ height: 100%;
719
+ left: 0;
720
+ position: absolute;
721
+ width: calc(var(--list-item-padding-left) + var(--tree-toggle-width));
722
+ }
723
+ .vuuTreeNode[aria-expanded] > .vuuTreeNode-label:after {
724
+ content: var(--list-item-header-twisty-content);
725
+ -webkit-mask: var(--svg-toggle) center center/8px 8px no-repeat;
726
+ mask: var(--svg-toggle) center center/8px 8px no-repeat;
727
+ background-color: var(--list-item-header-twisty-color);
728
+ height: 18px;
729
+ margin-top: -9px;
730
+ left: var(--tree-node-indent);
731
+ position: absolute;
732
+ top: var(--list-item-header-twisty-top);
733
+ transition: transform 0.3s;
734
+ width: 18px;
735
+ }
736
+ .vuuTreeNode[aria-selected=true] {
737
+ --list-item-header-twisty-color: var(--list-item-selected-color);
738
+ }
739
+ .vuuTreeNode:not(.focusVisible):focus {
740
+ background-color: rgba(0, 0, 0, 0.1);
741
+ }
742
+ .vuuTreeNode:not([aria-expanded]).focusVisible:before,
743
+ .vuuTreeNode[aria-expanded].focusVisible > div:first-child:before {
744
+ content: "";
745
+ position: absolute;
746
+ top: 0px;
747
+ left: var(--tree-focus-offset, 0px);
748
+ right: 0;
749
+ bottom: 0px;
750
+ border: dotted var(--focus-visible-border-color) 2px;
751
+ background-color: var(--list-hilited-bg);
752
+ }
753
+ .vuuTreeNode[aria-expanded=false] > *:first-child:after {
754
+ --svg-toggle: var(--tree-node-expand);
755
+ }
756
+ .vuuTreeNode[aria-expanded=true] > *:first-child:after {
757
+ transform: var(--tree-node-expanded-transform);
758
+ }
759
+ .vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected=true],
760
+ .vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected=true] > div:first-child {
761
+ --checkbox-border-color: var(--list-item-selected-color);
762
+ --checkbox-tick: var(--list-item-selected-color);
763
+ --focus-visible-border-color: var(--list-item-selected-color);
764
+ background-color: var(--list-item-selected-bg);
765
+ color: var(--list-item-selected-color);
766
+ }
767
+ .with-checkbox .vuuTreeNode {
768
+ padding-left: 28px;
769
+ }
770
+ .with-checkbox .vuuTreeNode:before {
771
+ border-style: solid;
772
+ border-width: var(--checkbox-border-width);
773
+ border-color: var(--checkbox-border-color);
774
+ content: "";
775
+ height: 12px;
776
+ left: 3px;
777
+ margin-top: -7px;
778
+ position: absolute;
779
+ top: 50%;
780
+ width: 12px;
781
+ }
782
+
783
+ /* src/left-nav/LeftNav.css */
784
+ .vuuLeftNav {
785
+ --salt-navigable-fontWeight-active: 700;
786
+ --vuuTab-background-selected: rgba(255, 255, 255, 0.10);
787
+ --vuuTab-hover-background: rgba(255, 255, 255, 0.10);
788
+ --vuuTab-before-content: none;
789
+ --vuuTab-borderRadius: 6px;
790
+ --vuuTab-height: 40px;
791
+ --vuuTab-padding: 0 0 0 48px;
792
+ --vuuTabstrip-fontWeight: 700;
793
+ --vuuTabstrip-width: 100%;
794
+ --svg-demo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M11.3333 11C11.52 11 11.6667 10.8533 11.6667 10.6667C11.6667 10.48 11.52 10.3333 11.3333 10.3333C11.1467 10.3333 11 10.48 11 10.6667C11 10.8533 11.1467 11 11.3333 11Z"/><path d="M5.99999 8.66667C6.36818 8.66667 6.66666 8.36819 6.66666 8C6.66666 7.63181 6.36818 7.33334 5.99999 7.33334C5.63181 7.33334 5.33333 7.63181 5.33333 8C5.33333 8.36819 5.63181 8.66667 5.99999 8.66667Z"/><path d="M8.66667 6C9.03486 6 9.33333 5.70152 9.33333 5.33333C9.33333 4.96514 9.03486 4.66667 8.66667 4.66667C8.29848 4.66667 8 4.96514 8 5.33333C8 5.70152 8.29848 6 8.66667 6Z"/><path d="M8.66667 11.3333C9.03486 11.3333 9.33333 11.0349 9.33333 10.6667C9.33333 10.2985 9.03486 10 8.66667 10C8.29848 10 8 10.2985 8 10.6667C8 11.0349 8.29848 11.3333 8.66667 11.3333Z"/><path d="M11.3333 8.33333C11.52 8.33333 11.6667 8.18666 11.6667 8C11.6667 7.81333 11.52 7.66666 11.3333 7.66666C11.1467 7.66666 11 7.81333 11 8C11 8.18666 11.1467 8.33333 11.3333 8.33333Z"/><path d="M8.66667 8.66667C9.03486 8.66667 9.33333 8.36819 9.33333 8C9.33333 7.63181 9.03486 7.33334 8.66667 7.33334C8.29848 7.33334 8 7.63181 8 8C8 8.36819 8.29848 8.66667 8.66667 8.66667Z"/><path d="M2 2H14V3.33333H2V2Z"/><path d="M3.33333 6.33333C3.88561 6.33333 4.33333 5.88562 4.33333 5.33333C4.33333 4.78105 3.88561 4.33333 3.33333 4.33333C2.78104 4.33333 2.33333 4.78105 2.33333 5.33333C2.33333 5.88562 2.78104 6.33333 3.33333 6.33333Z"/><path d="M3.33333 9C3.88561 9 4.33333 8.55228 4.33333 8C4.33333 7.44772 3.88561 7 3.33333 7C2.78104 7 2.33333 7.44772 2.33333 8C2.33333 8.55228 2.78104 9 3.33333 9Z"/><path d="M3.33333 11.6667C3.88561 11.6667 4.33333 11.2189 4.33333 10.6667C4.33333 10.1144 3.88561 9.66666 3.33333 9.66666C2.78104 9.66666 2.33333 10.1144 2.33333 10.6667C2.33333 11.2189 2.78104 11.6667 3.33333 11.6667Z"/><path d="M11.3333 5.66667C11.52 5.66667 11.6667 5.52 11.6667 5.33333C11.6667 5.14667 11.52 5 11.3333 5C11.1467 5 11 5.14667 11 5.33333C11 5.52 11.1467 5.66667 11.3333 5.66667Z"/><path d="M5.99999 11.3333C6.36818 11.3333 6.66666 11.0349 6.66666 10.6667C6.66666 10.2985 6.36818 10 5.99999 10C5.63181 10 5.33333 10.2985 5.33333 10.6667C5.33333 11.0349 5.63181 11.3333 5.99999 11.3333Z"/><path d="M5.99999 6C6.36818 6 6.66666 5.70152 6.66666 5.33333C6.66666 4.96514 6.36818 4.66667 5.99999 4.66667C5.63181 4.66667 5.33333 4.96514 5.33333 5.33333C5.33333 5.70152 5.63181 6 5.99999 6Z"/><path d="M2 12.6667H14V14H2V12.6667Z"/></svg>');
795
+ --svg-tables: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 6H4.66667V3.33334H3.33333C2.6 3.33334 2 3.93334 2 4.66667V6ZM2 9.33334H4.66667V6.66667H2V9.33334ZM5.33333 9.33334H8V6.66667H5.33333V9.33334ZM8.66667 9.33334H11.3333V6.66667H8.66667V9.33334ZM5.33333 6H8V3.33334H5.33333V6ZM8.66667 3.33334V6H11.3333V3.33334H8.66667ZM12 9.33334H14.6667V6.66667H12V9.33334ZM3.33333 12.6667H4.66667V10H2V11.3333C2 12.0667 2.6 12.6667 3.33333 12.6667ZM5.33333 12.6667H8V10H5.33333V12.6667ZM8.66667 12.6667H11.3333V10H8.66667V12.6667ZM12 12.6667H13.3333C14.0667 12.6667 14.6667 12.0667 14.6667 11.3333V10H12V12.6667ZM12 3.33334V6H14.6667V4.66667C14.6667 3.93334 14.0667 3.33334 13.3333 3.33334H12Z"/></svg>');
796
+ --svg-templates: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 12.6667H14L14 3.33334H15.3333L15.3333 12.6667ZM12.6667 12.6667H11.3333L11.3333 3.33334H12.6667L12.6667 12.6667ZM1.33333 12.6667L9.33333 12.6667C9.69999 12.6667 9.99999 12.3667 9.99999 12V4.00001C9.99999 3.63334 9.69999 3.33334 9.33333 3.33334L1.33333 3.33334C0.966661 3.33334 0.666661 3.63334 0.666661 4.00001L0.666661 12C0.666661 12.3667 0.966661 12.6667 1.33333 12.6667ZM1.99999 4.66667L8.66666 4.66667V11.3333L1.99999 11.3333L1.99999 4.66667Z"/></svg>');
797
+ --svg-layouts: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 10H14V11.3333H15.3333V10ZM15.3333 12.6667H14V14H15.3333V12.6667ZM15.3333 7.33333H14V8.66667H15.3333V7.33333ZM10 2H8.66667V3.33333H10V2ZM15.3333 4.66667H14V6H15.3333V4.66667ZM0.666672 14H7.33334V10H0.666672V14ZM2.00001 4.66667H0.666672V6H2.00001V4.66667ZM10 12.6667H8.66667V14H10V12.6667ZM12.6667 2H11.3333V3.33333H12.6667V2ZM15.3333 2H14V3.33333H15.3333V2ZM12.6667 12.6667H11.3333V14H12.6667V12.6667ZM2.00001 7.33333H0.666672V8.66667H2.00001V7.33333ZM7.33334 2H6.00001V3.33333H7.33334V2ZM4.66667 2H3.33334V3.33333H4.66667V2ZM2.00001 2H0.666672V3.33333H2.00001V2Z"/></svg>');
798
+ --vuu-light-text-primary: #15171b;
799
+ display: flex;
800
+ transition: width .3s ease-in-out;
801
+ }
802
+ .vuuLeftNav-menu-full {
803
+ --menu-width: var(--nav-menu-expanded-width);
804
+ }
805
+ .vuuLeftNav-menu-icons {
806
+ --menu-width: var(--nav-menu-collapsed-width);
807
+ }
808
+ .vuuLeftNav-menu-content {
809
+ --menu-width: var(--nav-menu-collapsed-width);
810
+ }
811
+ .vuuLeftNav-menu-content .vuuLeftNav-menu-secondary {
812
+ display: block;
813
+ }
814
+ .vuuLeftNav-menu-primary {
815
+ background-color: #2A015F;
816
+ container-type: inline-size;
817
+ display: flex;
818
+ flex-direction: column;
819
+ height: 100%;
820
+ padding: 32px 16px;
821
+ transition: width ease .3s;
822
+ width: var(--menu-width, 100%);
823
+ }
824
+ .vuuLeftNav-menu-secondary {
825
+ flex: 1 1 auto;
826
+ height: 100%;
827
+ display: none;
828
+ }
829
+ .vuuLeftNav .vuuTabstrip {
830
+ margin-top: 102px;
831
+ }
832
+ .vuuLeftNav .vuuTab {
833
+ --vuuTab-focusVisible-color: pink;
834
+ --vuu-icon-color: white;
835
+ --vuu-icon-left: 12px;
836
+ --vuu-icon-size: 16px;
837
+ border-left: solid 4px transparent;
838
+ }
839
+ .vuuLeftNav .vuuTab-selected {
840
+ --vuu-icon-color: var(--salt-navigable-indicator-active);
841
+ border-left: solid 4px var(--salt-navigable-indicator-active);
842
+ }
843
+ .vuuLeftNav-logo {
844
+ display: flex;
845
+ flex: 0 0 auto;
846
+ justify-content: center;
847
+ }
848
+ .vuuLeftNav-main {
849
+ flex: 1 1 auto;
850
+ }
851
+ .vuuLeftNav-menu {
852
+ color: white;
853
+ margin-top: 102px;
854
+ padding: 0;
855
+ }
856
+ .vuuLeftNav [data-icon=demo] {
857
+ --vuu-icon-svg: var(--svg-demo);
858
+ }
859
+ .vuuLeftNav [data-icon=tables] {
860
+ --vuu-icon-svg: var(--svg-tables);
861
+ }
862
+ .vuuLeftNav [data-icon=templates] {
863
+ --vuu-icon-svg: var(--svg-templates);
864
+ }
865
+ .vuuLeftNav [data-icon=layouts] {
866
+ --vuu-icon-svg: var(--svg-layouts);
867
+ }
868
+ @container (max-width: 100px) {
869
+ .vuuTab {
870
+ --vuuTab-padding: 0 0 0 42px;
871
+ }
872
+ .vuuTab-main {
873
+ display: none !important;
874
+ }
875
+ }
876
+ .vuuLeftNav-buttonBar {
877
+ align-items: center;
878
+ display: flex;
879
+ flex: 0 0 100px;
880
+ justify-content: center;
881
+ }
882
+ .vuuLeftNav-toggleButton {
883
+ --vuu-icon-color: var(--vuu-light-text-primary);
884
+ --vuu-icon-left: 11px;
885
+ --vuu-icon-top: 10px;
886
+ --vuu-icon-size: 16px;
887
+ background-color: var(--salt-navigable-indicator-active);
888
+ border-width: 0;
889
+ border-radius: 18px;
890
+ height: 36px;
891
+ position: relative;
892
+ width: 36px;
893
+ }
894
+ .vuuLeftNav-toggleButton-open {
895
+ --vuu-icon-left: 9px;
896
+ }
897
+
61
898
  /* src/login/LoginPanel.css */
62
899
  .vuuLoginPanel {
63
900
  --hwTextInput-border: solid 1px #ccc;
@@ -164,10 +1001,9 @@ vuuUserPanel-history {
164
1001
  /* src/theme-switch/ThemeSwitch.css */
165
1002
  .vuuThemeSwitch {
166
1003
  --saltButton-minWidth: 22px;
167
- }
168
- .vuuThemeSwitch {
169
1004
  --svg-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 31q2.9 0 4.95-2.05Q31 26.9 31 24q0-2.9-2.05-4.95Q26.9 17 24 17q-2.9 0-4.95 2.05Q17 21.1 17 24q0 2.9 2.05 4.95Q21.1 31 24 31Zm0 3q-4.15 0-7.075-2.925T14 24q0-4.15 2.925-7.075T24 14q4.15 0 7.075 2.925T34 24q0 4.15-2.925 7.075T24 34ZM3.5 25.5q-.65 0-1.075-.425Q2 24.65 2 24q0-.65.425-1.075Q2.85 22.5 3.5 22.5h5q.65 0 1.075.425Q10 23.35 10 24q0 .65-.425 1.075-.425.425-1.075.425Zm36 0q-.65 0-1.075-.425Q38 24.65 38 24q0-.65.425-1.075.425-.425 1.075-.425h5q.65 0 1.075.425Q46 23.35 46 24q0 .65-.425 1.075-.425.425-1.075.425ZM24 10q-.65 0-1.075-.425Q22.5 9.15 22.5 8.5v-5q0-.65.425-1.075Q23.35 2 24 2q.65 0 1.075.425.425.425.425 1.075v5q0 .65-.425 1.075Q24.65 10 24 10Zm0 36q-.65 0-1.075-.425-.425-.425-.425-1.075v-5q0-.65.425-1.075Q23.35 38 24 38q.65 0 1.075.425.425.425.425 1.075v5q0 .65-.425 1.075Q24.65 46 24 46ZM12 14.1l-2.85-2.8q-.45-.45-.425-1.075.025-.625.425-1.075.45-.45 1.075-.45t1.075.45L14.1 12q.4.45.4 1.05 0 .6-.4 1-.4.45-1.025.45-.625 0-1.075-.4Zm24.7 24.75L33.9 36q-.4-.45-.4-1.075t.45-1.025q.4-.45 1-.45t1.05.45l2.85 2.8q.45.45.425 1.075-.025.625-.425 1.075-.45.45-1.075.45t-1.075-.45ZM33.9 14.1q-.45-.45-.45-1.05 0-.6.45-1.05l2.8-2.85q.45-.45 1.075-.425.625.025 1.075.425.45.45.45 1.075t-.45 1.075L36 14.1q-.4.4-1.025.4-.625 0-1.075-.4ZM9.15 38.85q-.45-.45-.45-1.075t.45-1.075L12 33.9q.45-.45 1.05-.45.6 0 1.05.45.45.45.45 1.05 0 .6-.45 1.05l-2.8 2.85q-.45.45-1.075.425-.625-.025-1.075-.425ZM24 24Z"/></svg>');
170
1005
  --svg-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 42q-7.5 0-12.75-5.25T6 24q0-7.5 5.25-12.75T24 6q.4 0 .85.025.45.025 1.15.075-1.8 1.6-2.8 3.95-1 2.35-1 4.95 0 4.5 3.15 7.65Q28.5 25.8 33 25.8q2.6 0 4.95-.925T41.9 22.3q.05.6.075.975Q42 23.65 42 24q0 7.5-5.25 12.75T24 42Zm0-3q5.45 0 9.5-3.375t5.05-7.925q-1.25.55-2.675.825Q34.45 28.8 33 28.8q-5.75 0-9.775-4.025T19.2 15q0-1.2.25-2.575.25-1.375.9-3.125-4.9 1.35-8.125 5.475Q9 18.9 9 24q0 6.25 4.375 10.625T24 39Zm-.2-14.85Z"/></svg>');
1006
+ padding: 2px;
171
1007
  }
172
1008
  .salt-density-high .vuuThemeSwitch {
173
1009
  --saltButton-minWidth: 16px;
@@ -183,6 +1019,10 @@ vuuUserPanel-history {
183
1019
  .vuuThemeSwitch [data-icon=dark] {
184
1020
  --vuu-icon-svg: var(--svg-dark);
185
1021
  }
1022
+ .vuuThemeSwitch .saltToggleButton {
1023
+ height: 20px;
1024
+ width: 20px;
1025
+ }
186
1026
 
187
1027
  /* src/app-header/AppHeader.css */
188
1028
  .vuuAppHeader {
@@ -192,7 +1032,7 @@ vuuUserPanel-history {
192
1032
  height: 40px;
193
1033
  justify-content: flex-end;
194
1034
  }
195
- .vuu-purple-theme .vuuAppHeader {
1035
+ .vuu-theme .vuuAppHeader {
196
1036
  border-radius: 8px;
197
1037
  border: 1px solid #D6D7DA;
198
1038
  height: 44px;
@@ -246,99 +1086,6 @@ vuuUserPanel-history {
246
1086
  white-space: nowrap;
247
1087
  }
248
1088
 
249
- /* src/left-nav/LeftNav.css */
250
- .vuuLeftNav {
251
- --svg-demo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M11.3333 11C11.52 11 11.6667 10.8533 11.6667 10.6667C11.6667 10.48 11.52 10.3333 11.3333 10.3333C11.1467 10.3333 11 10.48 11 10.6667C11 10.8533 11.1467 11 11.3333 11Z"/><path d="M5.99999 8.66667C6.36818 8.66667 6.66666 8.36819 6.66666 8C6.66666 7.63181 6.36818 7.33334 5.99999 7.33334C5.63181 7.33334 5.33333 7.63181 5.33333 8C5.33333 8.36819 5.63181 8.66667 5.99999 8.66667Z"/><path d="M8.66667 6C9.03486 6 9.33333 5.70152 9.33333 5.33333C9.33333 4.96514 9.03486 4.66667 8.66667 4.66667C8.29848 4.66667 8 4.96514 8 5.33333C8 5.70152 8.29848 6 8.66667 6Z"/><path d="M8.66667 11.3333C9.03486 11.3333 9.33333 11.0349 9.33333 10.6667C9.33333 10.2985 9.03486 10 8.66667 10C8.29848 10 8 10.2985 8 10.6667C8 11.0349 8.29848 11.3333 8.66667 11.3333Z"/><path d="M11.3333 8.33333C11.52 8.33333 11.6667 8.18666 11.6667 8C11.6667 7.81333 11.52 7.66666 11.3333 7.66666C11.1467 7.66666 11 7.81333 11 8C11 8.18666 11.1467 8.33333 11.3333 8.33333Z"/><path d="M8.66667 8.66667C9.03486 8.66667 9.33333 8.36819 9.33333 8C9.33333 7.63181 9.03486 7.33334 8.66667 7.33334C8.29848 7.33334 8 7.63181 8 8C8 8.36819 8.29848 8.66667 8.66667 8.66667Z"/><path d="M2 2H14V3.33333H2V2Z"/><path d="M3.33333 6.33333C3.88561 6.33333 4.33333 5.88562 4.33333 5.33333C4.33333 4.78105 3.88561 4.33333 3.33333 4.33333C2.78104 4.33333 2.33333 4.78105 2.33333 5.33333C2.33333 5.88562 2.78104 6.33333 3.33333 6.33333Z"/><path d="M3.33333 9C3.88561 9 4.33333 8.55228 4.33333 8C4.33333 7.44772 3.88561 7 3.33333 7C2.78104 7 2.33333 7.44772 2.33333 8C2.33333 8.55228 2.78104 9 3.33333 9Z"/><path d="M3.33333 11.6667C3.88561 11.6667 4.33333 11.2189 4.33333 10.6667C4.33333 10.1144 3.88561 9.66666 3.33333 9.66666C2.78104 9.66666 2.33333 10.1144 2.33333 10.6667C2.33333 11.2189 2.78104 11.6667 3.33333 11.6667Z"/><path d="M11.3333 5.66667C11.52 5.66667 11.6667 5.52 11.6667 5.33333C11.6667 5.14667 11.52 5 11.3333 5C11.1467 5 11 5.14667 11 5.33333C11 5.52 11.1467 5.66667 11.3333 5.66667Z"/><path d="M5.99999 11.3333C6.36818 11.3333 6.66666 11.0349 6.66666 10.6667C6.66666 10.2985 6.36818 10 5.99999 10C5.63181 10 5.33333 10.2985 5.33333 10.6667C5.33333 11.0349 5.63181 11.3333 5.99999 11.3333Z"/><path d="M5.99999 6C6.36818 6 6.66666 5.70152 6.66666 5.33333C6.66666 4.96514 6.36818 4.66667 5.99999 4.66667C5.63181 4.66667 5.33333 4.96514 5.33333 5.33333C5.33333 5.70152 5.63181 6 5.99999 6Z"/><path d="M2 12.6667H14V14H2V12.6667Z"/></svg>');
252
- --svg-tables: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 6H4.66667V3.33334H3.33333C2.6 3.33334 2 3.93334 2 4.66667V6ZM2 9.33334H4.66667V6.66667H2V9.33334ZM5.33333 9.33334H8V6.66667H5.33333V9.33334ZM8.66667 9.33334H11.3333V6.66667H8.66667V9.33334ZM5.33333 6H8V3.33334H5.33333V6ZM8.66667 3.33334V6H11.3333V3.33334H8.66667ZM12 9.33334H14.6667V6.66667H12V9.33334ZM3.33333 12.6667H4.66667V10H2V11.3333C2 12.0667 2.6 12.6667 3.33333 12.6667ZM5.33333 12.6667H8V10H5.33333V12.6667ZM8.66667 12.6667H11.3333V10H8.66667V12.6667ZM12 12.6667H13.3333C14.0667 12.6667 14.6667 12.0667 14.6667 11.3333V10H12V12.6667ZM12 3.33334V6H14.6667V4.66667C14.6667 3.93334 14.0667 3.33334 13.3333 3.33334H12Z"/></svg>');
253
- --svg-templates: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 12.6667H14L14 3.33334H15.3333L15.3333 12.6667ZM12.6667 12.6667H11.3333L11.3333 3.33334H12.6667L12.6667 12.6667ZM1.33333 12.6667L9.33333 12.6667C9.69999 12.6667 9.99999 12.3667 9.99999 12V4.00001C9.99999 3.63334 9.69999 3.33334 9.33333 3.33334L1.33333 3.33334C0.966661 3.33334 0.666661 3.63334 0.666661 4.00001L0.666661 12C0.666661 12.3667 0.966661 12.6667 1.33333 12.6667ZM1.99999 4.66667L8.66666 4.66667V11.3333L1.99999 11.3333L1.99999 4.66667Z"/></svg>');
254
- --svg-layouts: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 10H14V11.3333H15.3333V10ZM15.3333 12.6667H14V14H15.3333V12.6667ZM15.3333 7.33333H14V8.66667H15.3333V7.33333ZM10 2H8.66667V3.33333H10V2ZM15.3333 4.66667H14V6H15.3333V4.66667ZM0.666672 14H7.33334V10H0.666672V14ZM2.00001 4.66667H0.666672V6H2.00001V4.66667ZM10 12.6667H8.66667V14H10V12.6667ZM12.6667 2H11.3333V3.33333H12.6667V2ZM15.3333 2H14V3.33333H15.3333V2ZM12.6667 12.6667H11.3333V14H12.6667V12.6667ZM2.00001 7.33333H0.666672V8.66667H2.00001V7.33333ZM7.33334 2H6.00001V3.33333H7.33334V2ZM4.66667 2H3.33334V3.33333H4.66667V2ZM2.00001 2H0.666672V3.33333H2.00001V2Z"/></svg>');
255
- --vuu-accent-color: #f37880;
256
- --vuu-light-text-primary: #15171b;
257
- background-color: #2A015F;
258
- container-type: inline-size;
259
- display: flex;
260
- flex-direction: column;
261
- padding: 32px 16px;
262
- transition: width .3s ease-in-out;
263
- }
264
- .vuuLeftNav-logo {
265
- display: flex;
266
- flex: 0 0 auto;
267
- justify-content: center;
268
- }
269
- .vuuLeftNav-main {
270
- flex: 1 1 auto;
271
- }
272
- .vuuLeftNav-menu {
273
- color: white;
274
- margin-top: 102px;
275
- padding: 0;
276
- }
277
- .vuuLeftNav-menuitem {
278
- --vuu-icon-color: white;
279
- align-items: center;
280
- border-radius: 6px;
281
- display: flex;
282
- font-weight: 700;
283
- height: 40px;
284
- line-height: 24px;
285
- list-style: none;
286
- padding: 8px 16px 8px 48px;
287
- }
288
- .vuuLeftNav-menuitem[data-icon] {
289
- --vuu-icon-left: 32px;
290
- --vuu-icon-size: 16px;
291
- }
292
- .vuuLeftNav-menuitem[data-icon=demo] {
293
- --vuu-icon-svg: var(--svg-demo);
294
- }
295
- .vuuLeftNav-menuitem[data-icon=tables] {
296
- --vuu-icon-svg: var(--svg-tables);
297
- }
298
- .vuuLeftNav-menuitem[data-icon=templates] {
299
- --vuu-icon-svg: var(--svg-templates);
300
- }
301
- .vuuLeftNav-menuitem[data-icon=layouts] {
302
- --vuu-icon-svg: var(--svg-layouts);
303
- }
304
- .vuuLeftNav-menuitem-label {
305
- white-space: nowrap;
306
- }
307
- .vuuLeftNav-menuitem-active {
308
- --vuu-icon-color: var(--vuu-accent-color);
309
- background: rgba(255, 255, 255, 0.10);
310
- border-left: solid 4px var(--vuu-accent-color);
311
- }
312
- @container (max-width: 100px) {
313
- .vuuLeftNav-menuitem {
314
- padding-left: 28px;
315
- }
316
- .vuuLeftNav-menuitem-label {
317
- display: none;
318
- }
319
- }
320
- .vuuLeftNav-buttonBar {
321
- align-items: center;
322
- display: flex;
323
- flex: 0 0 100px;
324
- justify-content: center;
325
- }
326
- .vuuLeftNav-toggleButton {
327
- --vuu-icon-color: var(--vuu-light-text-primary);
328
- --vuu-icon-left: 11px;
329
- --vuu-icon-top: 10px;
330
- --vuu-icon-size: 16px;
331
- background-color: var(--vuu-accent-color);
332
- border-width: 0;
333
- border-radius: 18px;
334
- height: 36px;
335
- position: relative;
336
- width: 36px;
337
- }
338
- .vuuLeftNav-toggleButton-open {
339
- --vuu-icon-left: 9px;
340
- }
341
-
342
1089
  /* src/shell.css */
343
1090
  .vuuShell {
344
1091
  background-color: var(--salt-container-primary-background, ivory);