@vuu-ui/vuu-ui-controls 0.8.7 → 0.8.8
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.
- package/cjs/index.js +4 -214
- package/cjs/index.js.map +4 -4
- package/esm/index.js +4 -214
- package/esm/index.js.map +4 -4
- package/index.css +1 -1
- package/index.css.map +3 -3
- package/package.json +7 -6
- package/types/common-hooks/index.d.ts +1 -0
- package/types/{tree → common-hooks}/use-resize-observer.d.ts +1 -0
- package/types/drag-drop/drop-target-utils.d.ts +10 -1
- package/types/drag-drop/index.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/list/CheckboxIcon.d.ts +6 -0
- package/types/list/Highlighter.d.ts +7 -0
- package/types/list/List.d.ts +7 -0
- package/types/list/ListItem.d.ts +5 -0
- package/types/list/ListItemGroup.d.ts +6 -0
- package/types/list/ListItemHeader.d.ts +5 -0
- package/types/list/VirtualizedList.d.ts +7 -0
- package/types/list/common-hooks/collectionProvider.d.ts +13 -0
- package/types/list/common-hooks/collectionTypes.d.ts +56 -0
- package/types/list/common-hooks/index.d.ts +15 -0
- package/types/list/common-hooks/itemToString.d.ts +2 -0
- package/types/list/common-hooks/keyUtils.d.ts +15 -0
- package/types/list/common-hooks/list-dom-utils.d.ts +6 -0
- package/types/list/common-hooks/navigationTypes.d.ts +37 -0
- package/types/list/common-hooks/selectionTypes.d.ts +42 -0
- package/types/list/common-hooks/useCollapsibleGroups.d.ts +14 -0
- package/types/list/common-hooks/useCollectionItems.d.ts +2 -0
- package/types/list/common-hooks/useImperativeScrollingAPI.d.ts +14 -0
- package/types/list/common-hooks/useKeyboardNavigation.d.ts +4 -0
- package/types/list/common-hooks/useSelection.d.ts +8 -0
- package/types/list/common-hooks/useTypeahead.d.ts +15 -0
- package/types/list/common-hooks/useViewportTracking.d.ts +14 -0
- package/types/list/common-hooks/utils/collection-item-utils.d.ts +21 -0
- package/types/list/common-hooks/utils/filter-utils.d.ts +4 -0
- package/types/list/common-hooks/utils/index.d.ts +3 -0
- package/types/list/common-hooks/utils/isSelected.d.ts +2 -0
- package/types/list/index.d.ts +8 -0
- package/types/list/keyset.d.ts +9 -0
- package/types/list/listTypes.d.ts +206 -0
- package/types/list/useList.d.ts +3 -0
- package/types/list/useListHeight.d.ts +19 -0
- package/types/list/useScrollPosition.d.ts +19 -0
- package/types/list/useVirtualization.d.ts +15 -0
- package/types/utils/escapeRegExp.d.ts +1 -0
- package/types/utils/index.d.ts +1 -0
package/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.vuuStatus-container{display:flex}.vuuStatus-text{align-self:center}.vuuStatus{--vuu-icon-height: 18px;--vuu-icon-padding: var(--vuuStatus-padding, 6px);--vuu-icon-width: var(--vuuStatus-width, auto);--vuu-icon-min-width: var(--vuuStatus-min-width, 20px);align-items:center;display:inline-flex;height:var(--vuu-icon-height);justify-content:center;min-width:var(--vuu-icon-min-width);padding:0 var(--vuu-icon-padding);width:var(--vuu-icon-width);position:relative}.vuuStatus[data-icon]:after{inset:0 0 0 0;content:"";box-shadow:0 0 #000;position:absolute;mask:var(--vuu-icon-svg) center center/20px 20px no-repeat;-webkit-mask:var(--vuu-icon-svg) center center/20px 20px no-repeat}.vuuActiveStatus:after{--vuu-icon-svg: var(--svg-active-status);background-color:#0f0}.vuuConnectingStatus:after{--vuu-icon-svg: var(--svg-connecting-status);background-color:orange;transform:scale(1);animation:infinite pulse 1s}.vuuDisconnectedStatus:after{--vuu-icon-svg: var(--svg-disconnected-status);background-color:red;transform:scale(1);animation:infinite pulse .5s}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #000000b3}70%{transform:scale(1);box-shadow:0 0 #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}.vuuSaveLayoutPanel{background-color:#0ff;height:400px;width:600px}.vuuLeftNav{--salt-navigable-fontWeight-active: 700;--vuuTab-background-selected: rgba(255, 255, 255, .1);--vuuTab-hover-background: rgba(255, 255, 255, .1);--vuuTab-before-content: none;--vuuTab-borderRadius: 6px;--vuuTab-height: 40px;--vuuTab-padding: 0 0 0 48px;--vuuTabstrip-fontWeight: 700;--vuuTabstrip-width: 100%;--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>');--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>');--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>');--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>');--vuu-light-text-primary: #15171b;display:flex;transition:width .3s ease-in-out}.vuuLeftNav-menu-full{--menu-width: var(--nav-menu-expanded-width)}.vuuLeftNav-menu-icons,.vuuLeftNav-menu-content{--menu-width: var(--nav-menu-collapsed-width)}.vuuLeftNav-menu-content .vuuLeftNav-menu-secondary{display:block}.vuuLeftNav-menu-primary{background-color:#2a015f;container-type:inline-size;display:flex;flex-direction:column;height:100%;padding:32px 16px;transition:width ease .3s;width:var(--menu-width, 100%)}.vuuLeftNav-menu-secondary{flex:1 1 auto;height:100%;display:none}.vuuLeftNav .vuuTabstrip{margin-top:102px}.vuuLeftNav .vuuTab{--vuuTab-focusVisible-color: pink;--vuu-icon-color: white;--vuu-icon-left: 12px;--vuu-icon-size: 16px;border-left:solid 4px transparent}.vuuLeftNav .vuuTab-selected{--vuu-icon-color: var(--salt-navigable-indicator-active);border-left:solid 4px var(--salt-navigable-indicator-active)}.vuuLeftNav-logo{display:flex;flex:0 0 auto;justify-content:center}.vuuLeftNav-main{flex:1 1 auto}.vuuLeftNav-menu{color:#fff;margin-top:102px;padding:0}.vuuLeftNav [data-icon=demo]{--vuu-icon-svg: var(--svg-demo)}.vuuLeftNav [data-icon=tables]{--vuu-icon-svg: var(--svg-tables)}.vuuLeftNav [data-icon=templates]{--vuu-icon-svg: var(--svg-templates)}.vuuLeftNav [data-icon=layouts]{--vuu-icon-svg: var(--svg-layouts)}@container (max-width: 100px){.vuuTab{--vuuTab-padding: 0 0 0 42px}.vuuTab-main{display:none!important}}.vuuLeftNav-buttonBar{align-items:center;display:flex;flex:0 0 100px;justify-content:center}.vuuLeftNav-toggleButton{--vuu-icon-color: var(--vuu-light-text-primary);--vuu-icon-left: 11px;--vuu-icon-top: 10px;--vuu-icon-size: 16px;background-color:var(--salt-navigable-indicator-active);border-width:0;border-radius:18px;height:36px;position:relative;width:36px}.vuuLeftNav-toggleButton-open{--vuu-icon-left: 9px}.vuuLoginPanel{--hwTextInput-border: solid 1px #ccc;--hwTextInput-height: 28px;--hwTextInput-padding: 0 12px;--hwTextInput-width: 100%;--login-row-height: 60px;align-content:center;align-items:center;border:solid 1px lightgray;display:flex;flex-direction:column;gap:24px;justify-content:center;justify-items:center;margin:0 auto;padding:48px 48px 24px;width:fit-content}.vuuLoginPanel-login{grid-column:2/3;align-self:end;justify-self:end}.vuuSessionEditingForm{display:flex;flex-direction:column;gap:3px;min-width:400px;padding:6px}.vuuSessionEditingForm-content{display:flex;flex-direction:column;flex:1 1 auto;gap:3px;overflow:auto}.vuuSessionEditingForm-field{align-items:center;display:flex;height:32px}.vuuSessionEditingForm-fieldLabel{flex:0 0 50%}.vuuSessionEditingForm-fieldValue{max-width:50%}.vuuSessionEditingForm-fieldValue.vuuReadOnly{font-weight:var(--salt-text-label-fontWeight-strong)}.vuuSessionEditingForm-buttonbar{align-items:center;border-top:solid 1px var(--salt-container-primary-borderColor);display:flex;justify-content:flex-end;flex:0 0 autox;gap:6px;padding-top:6px}.vuuSessionEditingForm-errorBanner{--vuu-icon-left: 3px;--vuu-icon-size: 18px;--vuu-icon-top: 3px;border:solid 1px var(--salt-status-error-borderColor);line-height:24px;padding:0 6px 0 26px;position:relative}.vuuUserPanel{background-color:#fff;display:flex;flex-direction:column;max-height:400px;padding:12px}vuuUserPanel-history{flex:1 1 auto}.vuuUserPanel-buttonBar{--saltButton-width: 100%;align-items:flex-end;border-top:1px solid var(--surface3);display:flex;flex:0 0 32px;justify-content:flex-start}.btn-logout{--hwButton-icon-left: 12px;--hwButton-padding: 0 6px 0 24px;padding-left:24px}.vuuUserProfile{--svg-icon: var(--svg-user)}.vuuThemeSwitch{--saltButton-minWidth: 22px;--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>');--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>');padding:2px}.salt-density-high .vuuThemeSwitch{--saltButton-minWidth: 16px;--saltButton-width: 18px;--vuuThemeSwitch-iconSize: 16px}.vuuThemeSwitch [data-icon]{--vuu-icon-size: var(--vuuThemeSwitch-iconSize,18px)}.vuuThemeSwitch [data-icon=light]{--vuu-icon-svg: var(--svg-light)}.vuuThemeSwitch [data-icon=dark]{--vuu-icon-svg: var(--svg-dark)}.vuuThemeSwitch .saltToggleButton{height:20px;width:20px}.vuuAppHeader{align-items:center;border-bottom:solid 1px var(--salt-container-secondary-borderColor);display:flex;height:40px;justify-content:flex-end}.vuu-theme .vuuAppHeader{border-radius:8px;border:1px solid #D6D7DA;height:44px;margin-bottom:8px}.vuuContextPanel{position:relative;transition:width .3s ease-in-out;width:var(--vuu-side-panel-width, 0px)!important;z-index:1}.vuuContextPanel-expanded{--vuu-side-panel-width: 300px !important;--vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, .1);--vuu-side-panel-padding: 24px}.vuuContextPanel-overlay{width:0px!important}.vuuContextPanel-inner{background-color:var(--salt-container-primary-background);box-shadow:var(--vuu-side-panel-shadow, none);height:100%;padding-bottom:24px;padding-top:24px;padding-left:var(--vuu-side-panel-padding, 0);padding-right:var(--vuu-side-panel-padding, 0);position:absolute;right:0;top:0;transition-property:padding-left,padding-right,width;transition-duration:.3s;transition-timing-function:ease-in-out;width:var(--vuu-side-panel-width, 0px)}.vuuContextPanel-header{align-items:center;display:flex;flex-wrap:nowrap;height:27px;justify-content:space-between}.vuuContextPanel-title{font-size:20px;font-weight:700;white-space:nowrap}.vuuShell{background-color:var(--salt-container-primary-background, ivory);height:var(--vuuShell-height, 100vh);width:var(--vuuShell-width, 100vw)}.vuuShell-palette{--vuuView-border: none;--vuuView-margin: 0}.vuuShell-warningPlaceholder{background-color:var(--salt-container-background-high);height:100%}.vuuDialog{background:var(--salt-container-primary-background);border:var(--vuuDialog-border, solid 1px #ccc);border-radius:5px;padding:var(--vuuDialog-padding, 0);box-shadow:var(--salt-overlayable-shadow, none);height:var(--vuuDialog-height, fit-content);width:var(--vuuDialog-width, fit-content)}.vuuDialog-header{--saltButton-height: 28px;--saltButton-width: 28px;--saltToolbar-background: transparent;--saltToolbar-height: calc(var(--salt-size-base) + 5px);border-bottom:solid 1px var(--salt-container-primary-borderColor)}.vuuDialog-header>.Responsive-inner{align-items:center}.vuuDialog-header>.Responsive-inner>:last-child{right:2px}.vuuMenuList{--context-menu-color: var(--vuuMenuList-color,#161616);--context-menu-padding: var(--hw-list-item-padding, 0 6px);--context-menu-shadow: var(--hw-dialog-shadow, 0 6px 12px rgba(0, 0, 0, .175));--focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));--context-menu-highlight-bg: #a4d5f4;--context-menu-blur-focus-bg: #e0e4e9;--menu-item-icon-color: black;--menu-item-twisty-color: black;--menu-item-twisty-content: "";--menu-item-twisty-top: 50%;--menu-item-twisty-left: auto;--menu-item-twisty-right: 0px;--menu-icon-size: 12px;background-clip:padding-box;background-color:#fff;border-radius:4px;border:solid 1px var(--vuuMenuList-borderColor, rgba(0, 0, 0, .15));box-shadow:var(--context-menu-shadow);font-size:var(--vuuMenuList-fontSize, var(--salt-text-label-fontSize));font-weight:var(--salt-typography-fontWeight-semiBold);list-style:none;margin:2px 0 0;outline:0;overflow:hidden;padding:var(--vuuMenuList-padding, 0);position:absolute}.vuuMenuItem{align-items:center;border-width:1px;border-color:var(--vuuMenuItem-borderColor, transparent);border-style:var(--vuuMenuItem-borderStyle, none);color:var(--context-menu-color);display:flex;gap:6px;height:var(--vuuMenuItem-height, var(--hw-list-item-height, 24px));padding:var(--context-menu-padding);padding-right:24px;position:relative;white-space:nowrap}.vuuIconContainer{display:inline-block;flex:12px 0 0;height:var(--menu-icon-size);mask-repeat:no-repeat;width:var(--menu-icon-size)}.vuuMenuItem[aria-expanded=true]{background-color:var(--context-menu-blur-focus-bg)}.vuuMenuItem-separator{border-top:solid 1px var(--context-menu-blur-focus-bg)}.vuuMenuItem[aria-haspopup=true]:after{content:var(--menu-item-twisty-content);-webkit-mask:var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;mask:var(---vuu-svg-chevron-right) center center/8px 8px no-repeat;background-color:var(--menu-item-twisty-color);height:16px;left:var(--menu-item-twisty-left);right:var(--menu-item-twisty-right);margin-top:-8px;position:absolute;top:var(--menu-item-twisty-top);transition:transform .3s;width:16px}.vuuMenuItem[data-highlighted]{background-color:var(--context-menu-highlight-bg)}.vuuMenuItem:hover{background-color:var(--context-menu-highlight-bg);cursor:default}.vuuMenuList-childMenuShowing .vuuMenuItem[data-highlighted]{background-color:var(--context-menu-blur-focus-bg)}.vuuMenuItem.focusVisible:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0px;border:dotted var(--focus-visible-border-color) 2px}.vuuPopupContainer.top-bottom-right-right .popup-menu{left:auto;right:0}.popup-menu .menu-item.showing>button,.popup-menu .menu-item>button:focus,.popup-menu .menu-item>button:hover{text-decoration:none;color:#000;background-color:#dcdcdc}.vuuMenuItem-button:active,.vuuMenuItem-button:hover{outline:0}.popup-menu .menu-item.disabled>button{clear:both;font-weight:400;line-height:1.5;color:#787878;white-space:nowrap;text-decoration:none;cursor:default}.vuuPopup{box-shadow:0 6px 12px #0000002d;position:absolute;top:0;left:0;width:0;height:0;overflow:visible;z-index:1000}.vuuPopup{position:absolute}.vuuPopupMenu{--saltButton-height: 24px;--saltButton-width: 24px;--vuu-icon-color: #606477;--vuu-icon-height: 20px;--vuu-icon-left: 2px;--vuu-icon-size: 16px;--vuu-icon-top: 2px;--vuu-icon-width: 20px;background:var(--vuuPopupMenu-background, transparent);border-radius:4px;cursor:pointer;display:inline-block;margin-top:2px;padding:2px}.vuuPopupMenu:hover{--vuu-icon-color: var(--saltButton-text-color-hover)}.vuuPopupMenu-open{--saltButton-background: var(--salt-actionable-secondary-background-active);--vuu-icon-color: white}.vuu-theme .vuuPopupMenu:hover{--saltButton-background-hover: #F37880}.vuu-theme .vuuPopupMenu-open{--saltButton-background: #6D18BD}.vuuDraggable{background:transparent;box-shadow:var(--salt-overlayable-shadow-drag);cursor:var(--salt-draggable-grab-cursor-active);position:absolute;opacity:.95;z-index:2000}.vuuDraggable-spacer{display:var(--saltDraggable-display, inline-block);height:var(--saltDraggable-spacer-height, var(--tabstrip-height));transition:var(--saltDraggable-transitionProp, width) .3s ease;width:var(--saltDraggable-spacer-width, 0)}.vuuDraggable-dropIndicatorPosition{display:var(--saltDraggable-display, inline-block);height:0px;width:100%}.vuuDraggable-dropIndicatorContainer{transition:var(--saltDraggable-transitionProp, top) .2s ease}.vuuDraggable-dropIndicator{background-color:var(--salt-palette-accent-background);height:2px;width:100%}.vuuDraggable-dropIndicator:before{content:"";width:6px;height:6px;border-radius:3px;background-color:var(--salt-palette-accent-background);position:absolute;top:-2px;left:-3px}.vuuDraggable-settling{transition-property:left,top;transition-duration:.15s;transition-timing-function:ease-out}.vuuDraggable-spacer{order:1}.vuuEditableLabel{--saltInput-background: transparent;--saltInput-minWidth: 14px;--saltInput-position: absolute;--editableLabel-padding: var(--saltEditableLabel-padding, 6px);--editableLabel-height: var(--saltEditableLabel-height, 26px);color:inherit;cursor:default;display:flex;flex-direction:column;font-size:var(--salt-text-fontSize);height:var(--editableLabel-height);justify-content:center;outline:none;padding:0 var(--editableLabel-padding);position:relative;z-index:var(--salt-zIndex-default)}.vuuEditableLabel:before{content:attr(data-text);display:block;height:0px;visibility:hidden;white-space:pre-wrap}.vuuEditableLabel .saltInput{font-weight:var(--salt-text-fontWeight);left:var(--editableLabel-padding, 0);padding:0;outline-style:none;position:absolute;right:var(--editableLabel-padding, 0);top:var(--saltEditableLabel-top, 2px);width:auto}.vuuEditableLabel .saltInput-activationIndicator{display:none}.vuuEditableLabel-input{background-color:transparent;border:none;box-sizing:content-box;display:block;flex:1;font:inherit;height:20px;margin:0;min-width:0;outline:none;padding:0}.vuuTabstrip{--vuuOverflowContainer-background: transparent;--tabstrip-dragging-display: none;--tabstrip-display: inline-flex;--tabstrip-background: transparent;align-self:var(--saltTabs-tabstrip-alignSelf, stretch);font-size:var(--salt-text-fontSize);font-weight:var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));position:relative;overflow:visible;display:flex;min-width:28px;width:var(--tabstrip-width)}.vuuTabstrip-horizontal{--tabstrip-height: var(--vuuTabstrip-height, 28px);--tabstrip-width: var(--vuuTabstrip-width, 100%);--tab-width: auto;--tab-thumb-height: 2px;--tab-thumb-left: var(--tab-thumb-offset, 0);--tab-thumb-top: auto;--tab-thumb-width: var(--tab-thumb-size, 100%);align-items:flex-start;border-bottom:var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor))}.vuuTabstrip-vertical{--tabstrip-height: var(--vuuTabstrip-height, 100%);--tabstrip-width: var(--vuuTabstrip-width, 100px);--tab-width: 100%;--tab-thumb-height: var(--tab-thumb-size, 100%);--tab-thumb-left: 0;--tab-thumb-top: var(--tab-thumb-offset, 0);--tab-thumb-width: 2px;align-self:flex-start;display:inline-flex}.vuuTabstrip-draggingTab .vuuTab{pointer-events:none}.vuuTabstrip-addTabButton{--saltButton-height: 20px;--saltButton-width: 20px}.vuuTabstrip-overflowMenu.saltDropdown{--saltIcon-margin: 2px 0 0 0px}.vuuTabstrip-overflowMenu-open{--saltButton-background: var(--salt-actionable-secondary-background-active);--saltButton-text-color: var(--salt-actionable-secondary-text-color-active)}.vuuTabstrip-overflowMenu-open .saltButton{--saltIcon-color: var(--salt-actionable-secondary-foreground-active)}.vuuTabstrip-inner{width:100%;align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:1;flex-wrap:wrap;justify-content:flex-start;line-height:var(--tabstrip-height)}.vuuTabstrip-vertical .vuuTabstrip-inner{flex-direction:column;height:auto}.vuuTabstrip-centered .vuuTabstrip-inner{justify-content:center}.vuuDraggable[class*=vuuTabstrip]{--tabstrip-display: flex;--tabstrip-height: 100%;--tabstrip-dragging-display: block;--tabs-tab-background: var(--salt-navigable-primary-background-hover);--tabs-tab-before-content: "";--tabs-tab-before-background: var(--salt-navigable-indicator-hover);--tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);--tabs-tab-before-inset: var(--tab-activationIndicator-inset);--tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);--tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);--tabs-tab-position: static;font-size:12px}.vuuDraggable-tabstrip-horizontal{--tab-thumb-height: 2px;--tabstrip-height: 28px;line-height:var(--tabstrip-height)}.vuuDraggable[class*=tabstrip] .vuuTab[aria-selected=true]:before{--tabs-tab-before-background: var(--salt-navigable-indicator-active)}.vuuTabstrip-overflowMenu-dropTarget:after{background:var(--salt-selectable-background-selected);content:"";position:absolute;height:2px;left:0;right:0;bottom:0}.vuuTabMenu{top:-2px}.vuuTab{--saltEditableLabel-padding: 0;--saltEditableLabel-height: var(--tabstrip-height);--saltInputLegacy-minWidth: 4em;--saltEditableLabel-top: 3px;--tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));--tab-cursor: pointer;--tab-position: relative}.vuuTab{align-items:center;align-self:stretch;background:var(--tab-background);border:none;border-radius:var(--vuuTab-borderRadius, 0);color:var(--salt-text-primary-foreground);cursor:var(--vuuTab-cursor, var(--tab-cursor));display:var(--tabstrip-display);gap:8px;height:var(--vuuTab-height, var(--tabstrip-height));letter-spacing:var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));min-width:var(--vuuTab-minWidth, 40px);outline:none;padding:var(--vuuTab-padding, 0 24px);position:var(--vuuTab-position, var(--tab-position));user-select:none;width:var(--tab-width)}.vuuTab{margin:0 var(--tab-spacing) 0 0}.vuuTab-selected{background:var(--vuuTab-background-selected, var(--tab-background));color:var(--salt-text-primary-foreground);font-weight:var(--salt-navigable-fontWeight-active)}.vuuTab-main{align-items:center;border:none;color:inherit;cursor:inherit;display:flex;font-family:inherit;font-size:inherit;font-weight:inherit;height:var(--vuuTabstrip-height, var(--salt-size-stackable));outline:none;position:relative}.vuuTab-closeable .vuuTab-main{border-right:solid transparent var(--salt-size-unit)}.vuuTab .vuuTab-closeButton{display:flex;align-items:center;justify-content:center}.vuuTab-close-icon{display:none}.salt-density-touch .vuuTab-close-icon,.salt-density-low .vuuTab-close-icon{display:block}.salt-density-touch .vuuTab-close-icon-small,.salt-density-low .vuuTab-close-icon-small{display:none}.vuuTab .vuuTab-text{display:inline-block;position:relative;overflow:hidden;text-align:var(--salt-text-textAlign-embedded);text-overflow:ellipsis;top:var(--vuuTab-top, var(--tab-top, auto));white-space:nowrap;z-index:var(--salt-zIndex-default)}.vuuTab .vuuTab-text:before{height:0;content:attr(data-text);display:block;visibility:hidden;font-weight:var(--salt-navigable-fontWeight-active)}.vuuTab-editing:after{content:"";position:absolute;top:0;left:0;right:0;bottom:2px;outline-color:var(--salt-focused-outlineColor);outline-style:var(--salt-focused-outlineStyle);outline-width:var(--salt-focused-outlineWidth);outline-offset:-2px}.vuuTab.vuuFocusVisible{background:var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));outline-color:var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));outline-style:dashed;outline-width:1px;outline-offset:-1px}.vuuTab:before{content:var(--tab-before-content, none);content:"";background:var(--tab-before-background);height:var(--tab-before-height);inset:var(--tab-before-inset);position:absolute;width:var(--tab-before-width);z-index:1}.vuuTabstrip-draggingTab .vuuTab-selected:before{--tab-before-content: "";--tab-before-background: var(--salt-navigable-indicator-color-active);--tab-before-height: var(--tab-thumb-height);--tab-before-inset: var(--tab-activationIndicator-inset);--tab-before-width: var(--tab-activationIndicator-thumb-width)}.vuuTab-selected:before{--tab-before-content: "";background:var(--salt-navigable-indicator-active);height:var(--tab-thumb-height);position:absolute;left:var(--tab-thumb-left);bottom:0px;top:var(--tab-thumb-top, auto);transition:var(--tab-thumb-transition, none);width:var(--tab-thumb-width, 100%)}.vuuTab:hover:not(.vuuTab-closeHover){background:var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover))}.vuuTree{--tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));--tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));--tree-toggle-width: 12px;--tree-icon-color: var(--vuuTree-icon-color, #4c505b);--tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);--tree-node-indent: 0px;--list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, .1));--list-item-height: var(--hw-list-item-height, 30px);--list-item-padding: var(--hw-list-item-padding, 0 6px);--list-item-header-bg: var(--hw-list-item-header-bg, black);--list-item-header-color: var(--hw-list-item-header-color, white);--list-item-header-font-weight: bold;--list-item-header-twisty-color: black;--list-item-header-twisty-content: "";--list-item-header-twisty-top: 50%;--list-item-header-twisty-left: -18px;--list-item-header-twisty-right: auto;--list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);--list-item-selected-color: white;--list-item-text-color: var(--hw-gray-800);--focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));list-style:none;margin:0;padding:0 1px;font-size:var(--vuuTree-font-size, 14px);max-height:inherit;outline:none;overflow-y:auto;position:relative;user-select:none}.vuuTree-viewport{--list-item-height: 30px;box-sizing:border-box;max-height:inherit;overflow:auto}.vuuTree-scrollingContentContainer{box-sizing:inherit;position:relative}.vuuTree-scrollingContentContainer .vuuTreeNode{line-height:30px;position:absolute;top:0;left:0;right:0;will-change:transform}.vuuTreeNode{list-style:none}.vuuTreeNode:not([aria-expanded]),.vuuTreeNode[aria-expanded]>.vuuTreeNode-label{--checkbox-border-color: black;--checkbox-border-width: 1px;--checkbox-tick: black;--list-item-padding-left: 6px;--svg-toggle: var(--tree-node-collapse);align-items:center;color:var(--list-item-text-color);display:flex;flex-wrap:nowrap;height:var(--list-item-height);line-height:var(--list-item-height);padding:var(--list-item-padding);padding-left:var(--padding-left);position:relative;cursor:default;margin:0;white-space:nowrap}.vuuTreeNode:not([aria-expanded]){--padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) )}.vuuTreeNode[aria-expanded]>.vuuTreeNode-label{--padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) )}.vuuTreeNode-icon{background-color:var(--tree-icon-color);display:inline-block;height:18px;margin-right:6px;-webkit-mask:var(--vuu-icon-svg) center center/12px 12px no-repeat;mask:var(--vuu-icon-svg) center center/12px 12px no-repeat;flex:0 0 18px}.vuuTreeNode[aria-expanded]{flex-direction:column}.vuuTreeNode[aria-expanded]{flex-direction:column;height:auto}.vuuTreeNode>*[role=group]{padding-left:0}.vuuTreeNode{padding-left:calc(var(--padding-left) + var(--tree-node-indent))}.vuuTreeNode[aria-level="2"]{--tree-node-indent: 12px}.vuuTreeNode[aria-level="3"]{--tree-node-indent: 24px}.vuuTreeNode[aria-level="4"]{--tree-node-indent: 36px}.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted]>div:first-child{background-color:var(--list-hilited-bg)}.vuuTreeNode-toggle{cursor:pointer}.vuuTreeNode>.vuuTreeNode-toggle{display:inline-block;height:100%;left:0;position:absolute;width:calc(var(--list-item-padding-left) + var(--tree-toggle-width))}.vuuTreeNode[aria-expanded]>.vuuTreeNode-label:after{content:var(--list-item-header-twisty-content);-webkit-mask:var(--svg-toggle) center center/8px 8px no-repeat;mask:var(--svg-toggle) center center/8px 8px no-repeat;background-color:var(--list-item-header-twisty-color);height:18px;margin-top:-9px;left:var(--tree-node-indent);position:absolute;top:var(--list-item-header-twisty-top);transition:transform .3s;width:18px}.vuuTreeNode[aria-selected=true]{--list-item-header-twisty-color: var(--list-item-selected-color)}.vuuTreeNode:not(.focusVisible):focus{background-color:#0000001a}.vuuTreeNode:not([aria-expanded]).focusVisible:before,.vuuTreeNode[aria-expanded].focusVisible>div:first-child:before{content:"";position:absolute;top:0px;left:var(--tree-focus-offset, 0px);right:0;bottom:0px;border:dotted var(--focus-visible-border-color) 2px;background-color:var(--list-hilited-bg)}.vuuTreeNode[aria-expanded=false]>*:first-child:after{--svg-toggle: var(--tree-node-expand)}.vuuTreeNode[aria-expanded=true]>*:first-child:after{transform:var(--tree-node-expanded-transform)}.vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected=true],.vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected=true]>div:first-child{--checkbox-border-color: var(--list-item-selected-color);--checkbox-tick: var(--list-item-selected-color);--focus-visible-border-color: var(--list-item-selected-color);background-color:var(--list-item-selected-bg);color:var(--list-item-selected-color)}.with-checkbox .vuuTreeNode{padding-left:28px}.with-checkbox .vuuTreeNode:before{border-style:solid;border-width:var(--checkbox-border-width);border-color:var(--checkbox-border-color);content:"";height:12px;left:3px;margin-top:-7px;position:absolute;top:50%;width:12px}
|
|
1
|
+
.vuuDraggable{background:transparent;box-shadow:var(--salt-overlayable-shadow-drag);cursor:var(--salt-draggable-grab-cursor-active);position:absolute;opacity:.95;z-index:2000}.vuuDraggable-spacer{display:var(--vuuDraggable-display, inline-block);height:var(--vuuDraggable-spacer-height, var(--tabstrip-height));transition:var(--vuuDraggable-transitionProp, width) .3s ease;width:var(--vuuDraggable-spacer-width, 0)}.vuuDraggable-dropIndicatorPosition{display:var(--saltDraggable-display, inline-block);height:0px;width:100%}.vuuDraggable-dropIndicatorContainer{transition:var(--vuuDraggable-transitionProp, top) .2s ease}.vuuDraggable-dropIndicator{background-color:var(--salt-palette-accent-background);height:2px;width:100%}.vuuDraggable-dropIndicator:before{content:"";width:6px;height:6px;border-radius:3px;background-color:var(--salt-palette-accent-background);position:absolute;top:-2px;left:-3px}.vuuDraggable-settling{transition-property:left,top;transition-duration:.15s;transition-timing-function:ease-out}.vuuDraggable-spacer{order:1}.vuuEditableLabel{--saltInput-background: transparent;--saltInput-minWidth: 14px;--saltInput-position: absolute;--editableLabel-padding: var(--saltEditableLabel-padding, 6px);--editableLabel-height: var(--saltEditableLabel-height, 26px);color:inherit;cursor:default;display:flex;flex-direction:column;font-size:var(--salt-text-fontSize);height:var(--editableLabel-height);justify-content:center;outline:none;padding:0 var(--editableLabel-padding);position:relative;z-index:var(--salt-zIndex-default)}.vuuEditableLabel:before{content:attr(data-text);display:block;height:0px;visibility:hidden;white-space:pre-wrap}.vuuEditableLabel .saltInput{font-weight:var(--salt-text-fontWeight);left:var(--editableLabel-padding, 0);padding:0;outline-style:none;position:absolute;right:var(--editableLabel-padding, 0);top:var(--saltEditableLabel-top, 2px);width:auto}.vuuEditableLabel .saltInput-activationIndicator{display:none}.vuuEditableLabel-input{background-color:transparent;border:none;box-sizing:content-box;display:block;flex:1;font:inherit;height:20px;margin:0;min-width:0;outline:none;padding:0}.saltHighlighter-highlight{font-weight:var(--salt-text-fontWeight-strong)}.vuuCheckboxIcon{--vuu-icon-size: 14px;--vuu-icon-left: -1px;--vuu-icon-top: -1px;--vuu-icon-svg: var(--vuu-svg-tick);border-style:solid;border-color:var(--vuuCheckboxIcon-borderColor, var(--salt-selectable-borderColor));border-radius:var(--vuuCheckboxIcon-borderRadius, 3px);border-width:1px;display:inline-block;height:var(--vuuCheckboxIcon-size, 14px);position:relative;width:var(--vuuCheckboxIcon-size, 14px)}.vuuCheckboxIcon-checked{background-color:var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));border-color:var(--vuuCheckboxIcon-borderColor-checked, var(--salt-selectable-borderColor-selected))}.vuuCheckboxIcon-checked:after{content:"";background-color:#fff;left:var(--vuu-icon-left, auto);height:var(--vuu-icon-height, var(--vuu-icon-size, 12px));-webkit-mask:var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);mask:var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;position:absolute;top:var(--vuu-icon-top, auto);width:var(--vuu-icon-width, var(--vuu-icon-size, 12px))}.vuuListItem{--list-item-text-color: var(--salt-text-primary-foreground);--list-item-background: var(--vuuList-item-background, var(--salt-selectable-background));--list-item-text-color-active: var(--salt-text-primary-foreground);--list-item-background-active: var(--salt-selectable-background-selected);--list-item-alignItems: center}.vuuListItem.saltHighlighted{--saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);--list-item-background: var(--salt-selectable-background-hover)}.vuuListItemHeader{font-weight:var(--salt-text-fontWeight-strong)}.vuuListItemHeader[data-sticky]{position:sticky;top:0;z-index:1}.vuuListItem{color:var(--list-item-text-color);cursor:var(--vuuList-item-cursor, pointer);background:var(--vuuList-item-background, var(--list-item-background));font-size:var(--salt-text-fontSize);text-align:var(--salt-text-textAlign);line-height:var(--salt-text-lineHeight);height:var(--vuuList-item-height, var(--list-item-height, auto));margin-bottom:var(--list-item-gap);padding:0 var(--salt-size-unit);left:0;right:0;display:flex;position:relative;align-items:var(--list-item-alignItems);white-space:nowrap}.vuuListItem:last-child{margin-bottom:0}.vuuListItem-checkbox{--list-item-background-active: var(--salt-selectable-background);--list-item-text-color-active: var(--salt-text-primary-foreground);--list-item-text-padding: 0 0 0 var(--salt-size-unit)}.vuuListItem[aria-selected=true]:not(.vuuListItem-checkbox){--list-item-background: var(--list-item-background-active);color:var(--list-item-text-color-active)}.vuuListItem.saltDisabled{--list-item-text-color: var(--salt-text-primary-foreground-disabled);cursor:var(--salt-selectable-cursor-disabled)}.vuuListItem.vuuFocusVisible{outline-style:var(--salt-focused-outlineStyle);outline-width:var(--salt-focused-outlineWidth);outline-offset:-2px;outline-color:var(--salt-focused-outlineColor)}.vuuListItem.vuuFocusVisible:after{content:none}.vuuListItem[aria-selected=true]:not(.vuuListItem-checkbox).vuuFocusVisible{outline-color:var(--list-item-selected-focus-outlineColor)}.vuuListItem-textWrapper{flex:1;overflow:hidden;padding:var(--list-item-text-padding, 0px);white-space:nowrap;text-overflow:ellipsis}.vuuListItem-proxy{position:absolute!important;visibility:hidden}.vuuDraggable-list-item{--vuuList-item-height: 24px;background-color:#fff}.vuuListItem.vuuDraggable-dragAway{display:none}.vuuList{--list-background: var(--salt-container-primary-background);--list-borderStyle: var(--vuuList-borderStyle,--salt-container-borderStyle);--list-borderWidth: var(--salt-size-border);--list-height: auto;--list-item-height: var(--salt-size-stackable);--list-item-gap: 0px;--list-maxHeight: 100%;--vuuDraggable-display: block;--vuuDraggable-spacer-height: 0;--vuuDraggable-spacer-width: 100%;--vuuDraggable-transitionProp: height;background:var(--list-background);border-color:var(--salt-container-primary-borderColor);border-style:var(--list-borderStyle);border-width:var(--list-borderWidth);height:var(--saltList-height, var(--list-height));max-height:var(--list-maxHeight);outline:none;overflow-y:auto;position:relative;user-select:none;width:var(--saltList-width, auto)}.vuuList-borderless{--list-borderStyle: none}.vuuList-viewport{--list-item-height: 30px;max-height:calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));overflow:auto}.vuuListItemHeader{--saltList-item-background: var(--list-item-header-background);color:var(--list-item-header-color)}.vuuListItemHeader[data-sticky=true]{--saltList-item-background: var(--list-background);position:sticky;top:0;z-index:1}.vuuList-collapsible .vuuListItemHeader:after{border-width:var(--checkbox-borderWidth);border-color:var(--checkbox-borderColor);content:var(--list-item-header-twisty-content);-webkit-mask:var(--list-svg-chevron-down) center center/12px 12px no-repeat;mask:var(--list-svg-chevron-down) center center/12px 12px no-repeat;background:var(--list-item-header-twisty-color);height:12px;left:var(--list-item-header-twisty-left);right:var(--list-item-header-twisty-right);margin-top:-8px;position:absolute;top:var(--list-item-header-twisty-top);transition:transform .3s;width:12px}.vuuListItemHeader[aria-expanded=false]:after{transform:rotate(-90deg)}.vuuList-scrollingContentContainer{box-sizing:inherit;position:relative}.vuuList-virtualized .vuuListItem{line-height:30px;position:absolute;top:0;left:0;right:0;will-change:transform}.vuuList.saltFocusVisible:after{inset:2px}.vuuTabstrip{--vuuOverflowContainer-background: transparent;--tabstrip-dragging-display: none;--tabstrip-display: inline-flex;--tabstrip-background: transparent;align-self:var(--saltTabs-tabstrip-alignSelf, stretch);font-size:var(--salt-text-fontSize);font-weight:var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));position:relative;overflow:visible;display:flex;min-width:28px;width:var(--tabstrip-width)}.vuuTabstrip-horizontal{--tabstrip-height: var(--vuuTabstrip-height, 28px);--tabstrip-width: var(--vuuTabstrip-width, 100%);--tab-width: auto;--tab-thumb-height: 2px;--tab-thumb-left: var(--tab-thumb-offset, 0);--tab-thumb-top: auto;--tab-thumb-width: var(--tab-thumb-size, 100%);align-items:flex-start;border-bottom:var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor))}.vuuTabstrip-vertical{--tabstrip-height: var(--vuuTabstrip-height, 100%);--tabstrip-width: var(--vuuTabstrip-width, 100px);--tab-width: 100%;--tab-thumb-height: var(--tab-thumb-size, 100%);--tab-thumb-left: 0;--tab-thumb-top: var(--tab-thumb-offset, 0);--tab-thumb-width: 2px;align-self:flex-start;display:inline-flex}.vuuTabstrip-draggingTab .vuuTab{pointer-events:none}.vuuTabstrip-addTabButton{--saltButton-height: 20px;--saltButton-width: 20px}.vuuTabstrip-overflowMenu.saltDropdown{--saltIcon-margin: 2px 0 0 0px}.vuuTabstrip-overflowMenu-open{--saltButton-background: var(--salt-actionable-secondary-background-active);--saltButton-text-color: var(--salt-actionable-secondary-text-color-active)}.vuuTabstrip-overflowMenu-open .saltButton{--saltIcon-color: var(--salt-actionable-secondary-foreground-active)}.vuuTabstrip-inner{width:100%;align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:1;flex-wrap:wrap;justify-content:flex-start;line-height:var(--tabstrip-height)}.vuuTabstrip-vertical .vuuTabstrip-inner{flex-direction:column;height:auto}.vuuTabstrip-centered .vuuTabstrip-inner{justify-content:center}.vuuDraggable[class*=vuuTabstrip]{--tabstrip-display: flex;--tabstrip-height: 100%;--tabstrip-dragging-display: block;--tabs-tab-background: var(--salt-navigable-primary-background-hover);--tabs-tab-before-content: "";--tabs-tab-before-background: var(--salt-navigable-indicator-hover);--tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);--tabs-tab-before-inset: var(--tab-activationIndicator-inset);--tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);--tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);--tabs-tab-position: static;font-size:12px}.vuuDraggable-tabstrip-horizontal{--tab-thumb-height: 2px;--tab-thumb-left: 0px;--tabstrip-height: 28px;line-height:var(--tabstrip-height)}.vuuDraggable[class*=tabstrip] .vuuTab[aria-selected=true]:before{--tabs-tab-before-background: var(--salt-navigable-indicator-active)}.vuuTabstrip-overflowMenu-dropTarget:after{background:var(--salt-selectable-background-selected);content:"";position:absolute;height:2px;left:0;right:0;bottom:0}.vuuTabMenu{top:-2px}.vuuTab{--saltEditableLabel-padding: 0;--saltEditableLabel-height: var(--tabstrip-height);--saltInputLegacy-minWidth: 4em;--saltEditableLabel-top: 3px;--tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));--tab-cursor: pointer;--tab-position: relative}.vuuTab{align-items:center;align-self:stretch;background:var(--tab-background);border:none;border-radius:var(--vuuTab-borderRadius, 0);color:var(--salt-text-primary-foreground);cursor:var(--vuuTab-cursor, var(--tab-cursor));display:var(--tabstrip-display);gap:8px;height:var(--vuuTab-height, var(--tabstrip-height));letter-spacing:var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));min-width:var(--vuuTab-minWidth, 40px);outline:none;padding:var(--vuuTab-padding, 0 24px);position:var(--vuuTab-position, var(--tab-position));user-select:none;width:var(--tab-width)}.vuuTab{margin:0 var(--tab-spacing) 0 0}.vuuTab-selected{background:var(--vuuTab-background-selected, var(--tab-background));color:var(--salt-text-primary-foreground);font-weight:var(--salt-navigable-fontWeight-active)}.vuuTab-main{align-items:center;border:none;color:inherit;cursor:inherit;display:flex;font-family:inherit;font-size:inherit;font-weight:inherit;height:var(--vuuTabstrip-height, var(--salt-size-stackable));outline:none;position:relative}.vuuTab-closeable .vuuTab-main{border-right:solid transparent var(--salt-size-unit)}.vuuTab .vuuTab-closeButton{display:flex;align-items:center;justify-content:center}.vuuTab-close-icon{display:none}.salt-density-touch .vuuTab-close-icon,.salt-density-low .vuuTab-close-icon{display:block}.salt-density-touch .vuuTab-close-icon-small,.salt-density-low .vuuTab-close-icon-small{display:none}.vuuTab .vuuTab-text{display:inline-block;position:relative;overflow:hidden;text-align:var(--salt-text-textAlign-embedded);text-overflow:ellipsis;top:var(--vuuTab-top, var(--tab-top, auto));white-space:nowrap;z-index:var(--salt-zIndex-default)}.vuuTab .vuuTab-text:before{height:0;content:attr(data-text);display:block;visibility:hidden;font-weight:var(--salt-navigable-fontWeight-active)}.vuuTab-editing:after{content:"";position:absolute;top:0;left:0;right:0;bottom:2px;outline-color:var(--salt-focused-outlineColor);outline-style:var(--salt-focused-outlineStyle);outline-width:var(--salt-focused-outlineWidth);outline-offset:-2px}.vuuTab.vuuFocusVisible{background:var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));outline-color:var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));outline-style:dashed;outline-width:1px;outline-offset:-1px}.vuuTab:before{content:var(--tab-before-content, none);content:"";background:var(--tab-before-background);height:var(--tab-before-height);inset:var(--tab-before-inset);position:absolute;width:var(--tab-before-width);z-index:1}.vuuTabstrip-draggingTab .vuuTab-selected:before{--tab-before-content: "";--tab-before-background: var(--salt-navigable-indicator-color-active);--tab-before-height: var(--tab-thumb-height);--tab-before-inset: var(--tab-activationIndicator-inset);--tab-before-width: var(--tab-activationIndicator-thumb-width)}.vuuTab-selected:before{--tab-before-content: "";background:var(--salt-navigable-indicator-active);height:var(--tab-thumb-height);position:absolute;left:var(--tab-thumb-left);bottom:0px;top:var(--tab-thumb-top, auto);transition:var(--tab-thumb-transition, none);width:var(--tab-thumb-width, 100%)}.vuuTab:hover:not(.vuuTab-closeHover){background:var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover))}.vuuTree{--tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));--tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));--tree-toggle-width: 12px;--tree-icon-color: var(--vuuTree-icon-color, #4c505b);--tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);--tree-node-indent: 0px;--list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, .1));--list-item-height: var(--hw-list-item-height, 30px);--list-item-padding: var(--hw-list-item-padding, 0 6px);--list-item-header-bg: var(--hw-list-item-header-bg, black);--list-item-header-color: var(--hw-list-item-header-color, white);--list-item-header-font-weight: bold;--list-item-header-twisty-color: black;--list-item-header-twisty-content: "";--list-item-header-twisty-top: 50%;--list-item-header-twisty-left: -18px;--list-item-header-twisty-right: auto;--list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);--list-item-selected-color: white;--list-item-text-color: var(--hw-gray-800);--focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));list-style:none;margin:0;padding:0 1px;font-size:var(--vuuTree-font-size, 14px);max-height:inherit;outline:none;overflow-y:auto;position:relative;user-select:none}.vuuTree-viewport{--list-item-height: 30px;box-sizing:border-box;max-height:inherit;overflow:auto}.vuuTree-scrollingContentContainer{box-sizing:inherit;position:relative}.vuuTree-scrollingContentContainer .vuuTreeNode{line-height:30px;position:absolute;top:0;left:0;right:0;will-change:transform}.vuuTreeNode{list-style:none}.vuuTreeNode:not([aria-expanded]),.vuuTreeNode[aria-expanded]>.vuuTreeNode-label{--checkbox-border-color: black;--checkbox-border-width: 1px;--checkbox-tick: black;--list-item-padding-left: 6px;--svg-toggle: var(--tree-node-collapse);align-items:center;color:var(--list-item-text-color);display:flex;flex-wrap:nowrap;height:var(--list-item-height);line-height:var(--list-item-height);padding:var(--list-item-padding);padding-left:var(--padding-left);position:relative;cursor:default;margin:0;white-space:nowrap}.vuuTreeNode:not([aria-expanded]){--padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) )}.vuuTreeNode[aria-expanded]>.vuuTreeNode-label{--padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) )}.vuuTreeNode-icon{background-color:var(--tree-icon-color);display:inline-block;height:18px;margin-right:6px;-webkit-mask:var(--vuu-icon-svg) center center/12px 12px no-repeat;mask:var(--vuu-icon-svg) center center/12px 12px no-repeat;flex:0 0 18px}.vuuTreeNode[aria-expanded]{flex-direction:column}.vuuTreeNode[aria-expanded]{flex-direction:column;height:auto}.vuuTreeNode>*[role=group]{padding-left:0}.vuuTreeNode{padding-left:calc(var(--padding-left) + var(--tree-node-indent))}.vuuTreeNode[aria-level="2"]{--tree-node-indent: 12px}.vuuTreeNode[aria-level="3"]{--tree-node-indent: 24px}.vuuTreeNode[aria-level="4"]{--tree-node-indent: 36px}.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted]>div:first-child{background-color:var(--list-hilited-bg)}.vuuTreeNode-toggle{cursor:pointer}.vuuTreeNode>.vuuTreeNode-toggle{display:inline-block;height:100%;left:0;position:absolute;width:calc(var(--list-item-padding-left) + var(--tree-toggle-width))}.vuuTreeNode[aria-expanded]>.vuuTreeNode-label:after{content:var(--list-item-header-twisty-content);-webkit-mask:var(--svg-toggle) center center/8px 8px no-repeat;mask:var(--svg-toggle) center center/8px 8px no-repeat;background-color:var(--list-item-header-twisty-color);height:18px;margin-top:-9px;left:var(--tree-node-indent);position:absolute;top:var(--list-item-header-twisty-top);transition:transform .3s;width:18px}.vuuTreeNode[aria-selected=true]{--list-item-header-twisty-color: var(--list-item-selected-color)}.vuuTreeNode:not(.focusVisible):focus{background-color:#0000001a}.vuuTreeNode:not([aria-expanded]).focusVisible:before,.vuuTreeNode[aria-expanded].focusVisible>div:first-child:before{content:"";position:absolute;top:0px;left:var(--tree-focus-offset, 0px);right:0;bottom:0px;border:dotted var(--focus-visible-border-color) 2px;background-color:var(--list-hilited-bg)}.vuuTreeNode[aria-expanded=false]>*:first-child:after{--svg-toggle: var(--tree-node-expand)}.vuuTreeNode[aria-expanded=true]>*:first-child:after{transform:var(--tree-node-expanded-transform)}.vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected=true],.vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected=true]>div:first-child{--checkbox-border-color: var(--list-item-selected-color);--checkbox-tick: var(--list-item-selected-color);--focus-visible-border-color: var(--list-item-selected-color);background-color:var(--list-item-selected-bg);color:var(--list-item-selected-color)}.with-checkbox .vuuTreeNode{padding-left:28px}.with-checkbox .vuuTreeNode:before{border-style:solid;border-width:var(--checkbox-border-width);border-color:var(--checkbox-border-color);content:"";height:12px;left:3px;margin-top:-7px;position:absolute;top:50%;width:12px}
|
|
2
2
|
/*# sourceMappingURL=index.css.map */
|
package/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/vuu-
|
|
4
|
-
"sourcesContent": [".vuuStatus-container {\n\tdisplay: flex;\n}\n\n.vuuStatus-text {\n\talign-self: center;\n}\n\n\n.vuuStatus {\n\t--vuu-icon-height: 18px;\n\t--vuu-icon-padding: var(--vuuStatus-padding, 6px);\n\t--vuu-icon-width: var(--vuuStatus-width, auto);\n\t--vuu-icon-min-width: var(--vuuStatus-min-width, 20px);\n\talign-items: center;\n\tdisplay: inline-flex;\n\theight: var(--vuu-icon-height);\n\tjustify-content: center;\n\tmin-width: var(--vuu-icon-min-width);\n\tpadding: 0 var(--vuu-icon-padding);\n\twidth: var(--vuu-icon-width);\n\tposition: relative;\n}\n\n.vuuStatus[data-icon]::after {\n\tinset: 0 0 0 0;\n\tcontent: '';\n\tbox-shadow: 0 0 0 0 black;\n\tposition: absolute;\n\tmask: var(--vuu-icon-svg) center center/20px 20px no-repeat;\n\t-webkit-mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;\n}\n\n.vuuActiveStatus::after {\n\t--vuu-icon-svg: var(--svg-active-status);\n\tbackground-color: rgb(0, 255, 0);\n}\n\n.vuuConnectingStatus::after {\n\t--vuu-icon-svg: var(--svg-connecting-status);\n\tbackground-color: orange;\n\ttransform: scale(1);\n\tanimation: infinite pulse 1s;\n}\n\n.vuuDisconnectedStatus::after {\n\t--vuu-icon-svg: var(--svg-disconnected-status);\n\tbackground-color: red;\n\ttransform: scale(1);\n\tanimation: infinite pulse 0.5s;\n}\n\n@keyframes pulse {\n\t0% {\n\t\ttransform: scale(0.95);\n\t\tbox-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);\n\t}\n\n\t70% {\n\t\ttransform: scale(1);\n\t\tbox-shadow: 0 0 0 0 rgba(0, 0, 0, 0);\n\t}\n\n\t100% {\n\t\ttransform: scale(0.95);\n\t\tbox-shadow: 0 0 0 0 rgba(0, 0, 0, 0);\n\t}\n}", ".vuuSaveLayoutPanel {\n background-color: aqua;\n height: 400px;\n width: 600px;\n}", ".vuuLeftNav {\n --salt-navigable-fontWeight-active: 700;\n --vuuTab-background-selected: rgba(255, 255, 255, 0.10);\n --vuuTab-hover-background: rgba(255, 255, 255, 0.10);\n --vuuTab-before-content: none;\n --vuuTab-borderRadius: 6px;\n --vuuTab-height: 40px;\n --vuuTab-padding: 0 0 0 48px;\n --vuuTabstrip-fontWeight: 700;\n --vuuTabstrip-width: 100%;\n --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>');\n --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>');\n --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>');\n --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>');\n --vuu-light-text-primary: #15171b;\n\n display: flex;\n transition: width .3s ease-in-out;\n\n}\n\n.vuuLeftNav-menu-full {\n --menu-width: var(--nav-menu-expanded-width);\n}\n\n.vuuLeftNav-menu-icons {\n --menu-width: var(--nav-menu-collapsed-width);\n}\n\n.vuuLeftNav-menu-content {\n --menu-width: var(--nav-menu-collapsed-width);\n}\n\n.vuuLeftNav-menu-content .vuuLeftNav-menu-secondary {\n display: block;\n}\n\n.vuuLeftNav-menu-primary {\n background-color: #2A015F;\n container-type: inline-size;\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 32px 16px;\n transition: width ease .3s;\n width: var(--menu-width, 100%);\n}\n\n.vuuLeftNav-menu-secondary {\n flex: 1 1 auto;\n height: 100%;\n display: none;\n}\n\n.vuuLeftNav .vuuTabstrip {\n margin-top: 102px;\n}\n\n.vuuLeftNav .vuuTab {\n --vuuTab-focusVisible-color: pink;\n --vuu-icon-color: white;\n --vuu-icon-left: 12px;\n --vuu-icon-size: 16px;\n border-left: solid 4px transparent;\n}\n\n.vuuLeftNav .vuuTab-selected {\n --vuu-icon-color: var(--salt-navigable-indicator-active);\n border-left: solid 4px var(--salt-navigable-indicator-active);\n}\n\n.vuuLeftNav-logo {\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n}\n\n.vuuLeftNav-main {\n flex: 1 1 auto;\n}\n\n.vuuLeftNav-menu {\n color: white;\n margin-top: 102px;\n padding: 0;\n}\n\n/* .vuuLeftNav [data-icon]:after {\n transition: left ease .3s;\n} */\n\n.vuuLeftNav [data-icon='demo'] {\n --vuu-icon-svg: var(--svg-demo);\n }\n.vuuLeftNav [data-icon='tables'] {\n --vuu-icon-svg: var(--svg-tables);\n }\n.vuuLeftNav [data-icon='templates'] {\n --vuu-icon-svg: var(--svg-templates);\n }\n.vuuLeftNav [data-icon='layouts'] {\n --vuu-icon-svg: var(--svg-layouts);\n}\n\n\n@container (max-width: 100px) {\n .vuuTab {\n /* --vuu-icon-left: 12px !important; */\n --vuuTab-padding: 0 0 0 42px;\n }\n .vuuTab-main {\n display: none !important;\n }\n}\n\n.vuuLeftNav-buttonBar {\n align-items: center;\n display: flex;\n flex: 0 0 100px;\n justify-content: center;;\n}\n\n.vuuLeftNav-toggleButton {\n --vuu-icon-color: var(--vuu-light-text-primary);\n --vuu-icon-left: 11px;\n --vuu-icon-top: 10px;\n --vuu-icon-size: 16px;\n background-color: var(--salt-navigable-indicator-active);\n border-width: 0;\n border-radius: 18px;\n height: 36px;\n position: relative;\n width: 36px\n}\n\n.vuuLeftNav-toggleButton-open {\n --vuu-icon-left: 9px;\n\n}", ".vuuLoginPanel {\n --hwTextInput-border: solid 1px #ccc;\n --hwTextInput-height: 28px;\n --hwTextInput-padding: 0 12px;\n --hwTextInput-width: 100%;\n --login-row-height: 60px;\n align-content: center;\n align-items: center;\n border: solid 1px lightgray;\n display: flex;\n flex-direction: column;\n gap: 24px;\n justify-content: center;\n justify-items: center;\n margin: 0 auto;\n padding: 48px 48px 24px 48px;\n width: fit-content;\n}\n\n.vuuLoginPanel-login {\n grid-column: 2/3;\n align-self: end;\n justify-self: end;\n}\n", ".vuuSessionEditingForm {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 400px;\n padding: 6px;\n}\n\n.vuuSessionEditingForm-content {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n gap: 3px;\n overflow: auto;\n}\n\n.vuuSessionEditingForm-field {\n align-items: center;\n display: flex;\n height: 32px;\n}\n\n.vuuSessionEditingForm-fieldLabel {\n flex: 0 0 50%;\n}\n\n.vuuSessionEditingForm-fieldValue {\n max-width: 50%;\n}\n\n.vuuSessionEditingForm-fieldValue.vuuReadOnly {\n font-weight: var(--salt-text-label-fontWeight-strong);\n}\n\n.vuuSessionEditingForm-buttonbar {\n align-items: center;\n border-top: solid 1px var(--salt-container-primary-borderColor);\n display: flex;\n justify-content: flex-end;\n flex: 0 0 autox;\n gap: 6px;\n padding-top: 6px;\n}\n\n.vuuSessionEditingForm-errorBanner {\n --vuu-icon-left: 3px;\n --vuu-icon-size: 18px;\n --vuu-icon-top: 3px;\n border: solid 1px var(--salt-status-error-borderColor);\n line-height: 24px;\n padding: 0 6px 0 26px;\n position: relative;\n}", ".vuuUserPanel {\n background-color: white;\n display: flex;\n flex-direction: column;\n max-height: 400px;\n padding: 12px;\n}\n\nvuuUserPanel-history {\n flex: 1 1 auto;\n}\n\n.vuuUserPanel-buttonBar {\n --saltButton-width: 100%;\n align-items: flex-end;\n border-top: 1px solid var(--surface3);\n display: flex;\n flex: 0 0 32px;\n justify-content: flex-start;\n}\n\n.btn-logout {\n --hwButton-icon-left: 12px;\n --hwButton-padding: 0 6px 0 24px;\n padding-left: 24px;\n}\n", ".vuuUserProfile {\n --svg-icon: var(--svg-user);\n}\n", "\n.vuuThemeSwitch {\n --saltButton-minWidth: 22px;\n --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>');\n --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>');\n padding: 2px;\n}\n\n.salt-density-high .vuuThemeSwitch {\n --saltButton-minWidth: 16px;\n --saltButton-width: 18px;\n --vuuThemeSwitch-iconSize: 16px;\n}\n\n.vuuThemeSwitch [data-icon] {\n --vuu-icon-size: var(--vuuThemeSwitch-iconSize,18px);\n}\n\n.vuuThemeSwitch [data-icon='light'] {\n --vuu-icon-svg: var(--svg-light);\n}\n.vuuThemeSwitch [data-icon='dark'] {\n --vuu-icon-svg: var(--svg-dark);\n}\n\n.vuuThemeSwitch .saltToggleButton {\n height: 20px;\n width: 20px;\n}\n\n", ".vuuAppHeader {\n align-items: center;\n border-bottom: solid 1px var(--salt-container-secondary-borderColor);\n display: flex;\n height: 40px;\n justify-content: flex-end;\n}\n\n.vuu-theme .vuuAppHeader {\n border-radius: 8px;\n border: 1px solid #D6D7DA; \n height: 44px;\n margin-bottom: 8px;\n}", ".vuuContextPanel {\n position: relative;\n transition: width .3s ease-in-out;\n width: var(--vuu-side-panel-width, 0px) !important;\n z-index: 1;\n}\n\n.vuuContextPanel-expanded {\n --vuu-side-panel-width: 300px !important;\n --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);\n --vuu-side-panel-padding: 24px;\n}\n\n.vuuContextPanel-overlay {\n width: 0px !important;\n}\n\n.vuuContextPanel-inner {\n background-color: var(--salt-container-primary-background);\n box-shadow: var(--vuu-side-panel-shadow, none);\n height: 100%;\n padding-bottom: 24px;\n padding-top: 24px;\n padding-left: var(--vuu-side-panel-padding, 0);\n padding-right: var(--vuu-side-panel-padding, 0);\n position: absolute;\n right: 0;\n top:0;\n transition-property: padding-left, padding-right, width;\n transition-duration: .3s;\n transition-timing-function: ease-in-out;\n width: var(--vuu-side-panel-width, 0px);\n\n}\n\n.vuuContextPanel-header {\n align-items: center;\n display: flex;\n flex-wrap: nowrap;\n height: 27px;\n justify-content: space-between;\n}\n\n.vuuContextPanel-title {\n font-size: 20px;\n font-weight: 700;\n white-space: nowrap;\n}", ".vuuShell {\n background-color: var(--salt-container-primary-background, ivory);\n height: var(--vuuShell-height, 100vh);\n width: var(--vuuShell-width, 100vw);\n}\n\n.vuuShell-palette {\n --vuuView-border: none;\n --vuuView-margin: 0;\n}\n\n.vuuShell-warningPlaceholder {\n background-color: var(--salt-container-background-high);\n height: 100%;\n}\n", ".vuuDialog {\n background: var(--salt-container-primary-background);\n border: var(--vuuDialog-border, solid 1px #ccc);\n border-radius: 5px;\n padding: var(--vuuDialog-padding, 0);\n box-shadow: var(--salt-overlayable-shadow, none);\n height: var(--vuuDialog-height, fit-content);\n width: var(--vuuDialog-width, fit-content);\n}\n\n.vuuDialog-header {\n --saltButton-height: 28px;\n --saltButton-width: 28px;\n\n --saltToolbar-background: transparent;\n --saltToolbar-height: calc(var(--salt-size-base) + 5px);\n border-bottom: solid 1px var(--salt-container-primary-borderColor);\n}\n\n.vuuDialog-header > .Responsive-inner {\n align-items: center;\n}\n\n.vuuDialog-header > .Responsive-inner > :last-child{\n right: 2px;\n}\n\n\n", ".vuuMenuList {\n --context-menu-color: var(--vuuMenuList-color,#161616);\n --context-menu-padding: var(--hw-list-item-padding, 0 6px);\n --context-menu-shadow: var(--hw-dialog-shadow, 0 6px 12px rgba(0, 0, 0, 0.175));\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n --context-menu-highlight-bg: #a4d5f4;\n --context-menu-blur-focus-bg: #e0e4e9;\n --menu-item-icon-color: black;\n --menu-item-twisty-color: black;\n --menu-item-twisty-content: '';\n --menu-item-twisty-top: 50%;\n --menu-item-twisty-left: auto;\n --menu-item-twisty-right: 0px;\n --menu-icon-size: 12px;\n\n background-clip: padding-box;\n background-color: white;\n border-radius: 4px;\n border: solid 1px var(--vuuMenuList-borderColor, rgba(0, 0, 0, 0.15));\n box-shadow: var(--context-menu-shadow);\n font-size: var(--vuuMenuList-fontSize, var(--salt-text-label-fontSize));\n font-weight: var(--salt-typography-fontWeight-semiBold);\n list-style: none;\n margin: 2px 0 0;\n outline: 0;\n overflow: hidden;\n padding: var(--vuuMenuList-padding, 0);\n position: absolute;\n}\n\n.vuuMenuItem {\n align-items: center;\n border-width: 1px;\n border-color: var(--vuuMenuItem-borderColor, transparent);\n border-style: var(--vuuMenuItem-borderStyle, none);\n color: var(--context-menu-color);\n display: flex;\n gap: 6px;\n height: var(--vuuMenuItem-height, var(--hw-list-item-height, 24px));\n padding: var(--context-menu-padding);\n padding-right: 24px;\n position: relative;\n white-space: nowrap;\n}\n\n.vuuIconContainer {\n display: inline-block;\n flex: 12px 0 0;\n height: var(--menu-icon-size);\n mask-repeat: no-repeat;\n width: var(--menu-icon-size);\n}\n\n.vuuMenuItem[aria-expanded='true'] {\n background-color: var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem-separator {\n border-top: solid 1px var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem[aria-haspopup='true']:after {\n content: var(--menu-item-twisty-content);\n -webkit-mask: var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;\n mask: var(---vuu-svg-chevron-right) center center/8px 8px no-repeat;\n background-color: var(--menu-item-twisty-color);\n height: 16px;\n left: var(--menu-item-twisty-left);\n right: var(--menu-item-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--menu-item-twisty-top);\n transition: transform 0.3s;\n width: 16px;\n}\n\n.vuuMenuItem[data-highlighted] {\n background-color: var(--context-menu-highlight-bg);\n}\n\n.vuuMenuItem:hover {\n background-color: var(--context-menu-highlight-bg);\n cursor: default;\n}\n\n.vuuMenuList-childMenuShowing .vuuMenuItem[data-highlighted] {\n background-color: var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem.focusVisible:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n}\n\n.vuuPopupContainer.top-bottom-right-right .popup-menu {\n left: auto;\n right: 0;\n}\n\n.popup-menu .menu-item.showing > button,\n.popup-menu .menu-item > button:focus,\n.popup-menu .menu-item > button:hover {\n text-decoration: none;\n color: rgb(0, 0, 0);\n background-color: rgb(220, 220, 220);\n}\n.vuuMenuItem-button:active,\n.vuuMenuItem-button:hover {\n outline: 0;\n}\n\n.popup-menu .menu-item.disabled > button {\n clear: both;\n font-weight: normal;\n line-height: 1.5;\n color: rgb(120, 120, 120);\n white-space: nowrap;\n text-decoration: none;\n cursor: default;\n}\n", ".vuuPopup {\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: visible;\n z-index: 1000;\n}\n\n.vuuPopup {\n position: absolute;\n}\n", ".vuuPopupMenu {\n --saltButton-height: 24px;\n --saltButton-width: 24px;\n --vuu-icon-color: #606477;\n --vuu-icon-height: 20px;\n --vuu-icon-left: 2px;\n --vuu-icon-size: 16px;\n --vuu-icon-top: 2px;\n --vuu-icon-width: 20px;\n\n background: var(--vuuPopupMenu-background, transparent);\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n margin-top: 2px;\n padding: 2px;\n}\n\n.vuuPopupMenu:hover {\n /* --vuu-icon-color: #15171B; */\n --vuu-icon-color: var(--saltButton-text-color-hover);\n}\n\n.vuuPopupMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --vuu-icon-color: white;\n}\n\n/* temp references to theme until new theme fully incorporated */\n.vuu-theme .vuuPopupMenu:hover {\n --saltButton-background-hover: #F37880;\n}\n\n.vuu-theme .vuuPopupMenu-open {\n --saltButton-background: #6D18BD;\n}", ".vuuDraggable {\n background: transparent;\n box-shadow: var(--salt-overlayable-shadow-drag);\n cursor: var(--salt-draggable-grab-cursor-active);\n position: absolute;\n opacity: .95;\n z-index: 2000;\n}\n\n.vuuDraggable-spacer {\n display: var(--saltDraggable-display, inline-block);\n height: var(--saltDraggable-spacer-height, var(--tabstrip-height));\n transition: var(--saltDraggable-transitionProp, width) 0.3s ease;\n width: var(--saltDraggable-spacer-width, 0);\n}\n\n.vuuDraggable-dropIndicatorPosition {\n display: var(--saltDraggable-display, inline-block);\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n height: 0px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicatorContainer {\n transition: var(--saltDraggable-transitionProp, top) 0.2s ease;\n}\n\n.vuuDraggable-dropIndicator {\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n background-color: var(--salt-palette-accent-background);\n height: 2px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicator:before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 3px;\n background-color: var(--salt-palette-accent-background);\n position: absolute;\n top: -2px;\n left: -3px;\n}\n\n.vuuDraggable-settling {\n transition-property: left, top;\n transition-duration: .15s;\n transition-timing-function: ease-out;\n}\n\n.vuuDraggable-spacer {\n order: 1;\n}", ".vuuEditableLabel {\n --saltInput-background: transparent;\n --saltInput-minWidth: 14px;\n --saltInput-position: absolute;\n --editableLabel-padding: var(--saltEditableLabel-padding, 6px);\n --editableLabel-height: var(--saltEditableLabel-height, 26px);\n color: inherit;\n cursor: default;\n display: flex;\n flex-direction: column;\n font-size: var(--salt-text-fontSize);\n height: var(--editableLabel-height);\n justify-content: center;\n outline: none;\n padding: 0 var(--editableLabel-padding);\n position: relative;\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuEditableLabel:before {\n content: attr(data-text);\n display: block;\n height: 0px;\n visibility: hidden;\n white-space: pre-wrap;\n}\n\n.vuuEditableLabel .saltInput {\n font-weight: var(--salt-text-fontWeight);\n left: var(--editableLabel-padding, 0);\n padding: 0;\n outline-style: none;\n position: absolute;\n right: var(--editableLabel-padding, 0);\n top: var(--saltEditableLabel-top, 2px);\n width: auto;\n}\n\n.vuuEditableLabel .saltInput-activationIndicator {\n display: none;\n}\n\n.vuuEditableLabel-input {\n background-color: transparent;\n border: none;\n box-sizing: content-box;\n display: block;\n flex: 1;\n font: inherit;\n height: 20px;\n margin:0;\n min-width:0;\n outline: none;\n padding: 0;\n}\n", "/* Component class applied to the root element */\n.vuuTabstrip {\n --vuuOverflowContainer-background: transparent;\n /* --tabstrip-height: var(--vuuTabstrip-height, var(--salt-size-stackable)); */\n --tabstrip-dragging-display: none;\n --tabstrip-display: inline-flex;\n --tabstrip-background: transparent;\n\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));\n position: relative;\n overflow: visible;\n display: flex;\n min-width: 28px;\n width: var(--tabstrip-width);\n}\n\n/* Tabstrip orientation is horizontal */\n.vuuTabstrip-horizontal {\n --tabstrip-height: var(--vuuTabstrip-height, 28px);\n --tabstrip-width: var(--vuuTabstrip-width, 100%);\n --tab-width: auto;\n --tab-thumb-height: 2px;\n --tab-thumb-left: var(--tab-thumb-offset, 0);\n --tab-thumb-top: auto;\n --tab-thumb-width: var(--tab-thumb-size, 100%);\n align-items: flex-start;\n border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));\n}\n\n/* Tabstrip orientation is vertical */\n.vuuTabstrip-vertical {\n --tabstrip-height: var(--vuuTabstrip-height, 100%);\n --tabstrip-width: var(--vuuTabstrip-width, 100px);\n --tab-width: 100%;\n --tab-thumb-height: var(--tab-thumb-size, 100%);\n --tab-thumb-left: 0;\n --tab-thumb-top: var(--tab-thumb-offset, 0);\n --tab-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.vuuTabstrip-draggingTab .vuuTab {\n pointer-events: none;\n}\n\n.vuuTabstrip-addTabButton {\n --saltButton-height: 20px;\n --saltButton-width: 20px;\n}\n\n.vuuTabstrip-overflowMenu.saltDropdown {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.vuuTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);\n}\n\n.vuuTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.vuuTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabstrip-height);\n}\n\n.vuuTabstrip-vertical .vuuTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTabstrip-centered .vuuTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.vuuDraggable[class*=\"vuuTabstrip\"] {\n --tabstrip-display: flex;\n --tabstrip-height: 100%;\n --tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-navigable-primary-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tab-activationIndicator-inset);\n --tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.vuuDraggable-tabstrip-horizontal {\n --tab-thumb-height: 2px;\n --tabstrip-height: 28px;\n\n line-height: var(--tabstrip-height);\n}\n\n\n.vuuDraggable[class*=\"tabstrip\"] .vuuTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-indicator-active);\n}\n\n/* [data-overflowed] {\n order: 99;\n visibility: hidden;\n} */\n\n.vuuTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-selectable-background-selected);\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n", ".vuuTabMenu {\n top: -2px;\n}", "/* Class applied to root Tab element */\n.vuuTab {\n --saltEditableLabel-padding: 0;\n --saltEditableLabel-height: var(--tabstrip-height);\n --saltInputLegacy-minWidth: 4em;\n --saltEditableLabel-top: 3px;\n\n --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));\n --tab-cursor: pointer;\n --tab-position: relative;\n}\n\n.vuuTab {\n align-items: center;\n align-self: stretch;\n background: var(--tab-background);\n border: none;\n border-radius: var(--vuuTab-borderRadius, 0);\n color: var(--salt-text-primary-foreground);\n cursor: var(--vuuTab-cursor, var(--tab-cursor));\n display: var(--tabstrip-display);\n gap: 8px;\n height: var(--vuuTab-height, var(--tabstrip-height));\n letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));\n min-width: var(--vuuTab-minWidth, 40px);\n outline: none;\n padding: var(--vuuTab-padding, 0 24px);\n position: var(--vuuTab-position, var(--tab-position));\n user-select: none;\n width: var(--tab-width)\n}\n\n/* Overrides characteristic used in saltFocusVisible */\n/* .vuuTab.saltFocusVisible:after {\n inset: 2px 2px 4px 2px;\n} */\n\n.vuuTab {\n margin: 0 var(--tab-spacing) 0 0;\n}\n\n.vuuTab-selected {\n background: var(--vuuTab-background-selected, var(--tab-background));\n color: var(--salt-text-primary-foreground);\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* main content aria of Tab */\n.vuuTab-main {\n align-items: center;;\n border: none;\n color: inherit;\n cursor: inherit;\n display: flex;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n height: var(--vuuTabstrip-height, var(--salt-size-stackable));\n outline: none;\n position: relative;\n}\n\n.vuuTab-closeable .vuuTab-main {\n border-right: solid transparent var(--salt-size-unit);\n}\n\n.vuuTab .vuuTab-closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* the close Button on a closeable Tab*/\n.vuuTab-close-icon {\n display: none;\n}\n\n.salt-density-touch .vuuTab-close-icon,\n.salt-density-low .vuuTab-close-icon {\n display: block;\n}\n\n.salt-density-touch .vuuTab-close-icon-small,\n.salt-density-low .vuuTab-close-icon-small {\n display: none;\n}\n\n.vuuTab .vuuTab-text {\n display: inline-block;\n position: relative;\n overflow: hidden;\n text-align: var(--salt-text-textAlign-embedded);\n text-overflow: ellipsis;\n top: var(--vuuTab-top, var(--tab-top, auto));\n white-space: nowrap;\n /* ensure content sits above focus ring */\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuTab .vuuTab-text:before {\n height: 0;\n content: attr(data-text);\n display: block;\n visibility: hidden;\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* FIXME: these are all focusVisible styles, but with a bespoke inset */\n.vuuTab-editing:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 2px;\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n}\n\n.vuuTab.vuuFocusVisible {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));\n outline-style: dashed;\n outline-width: 1px;\n outline-offset: -1px;\n}\n\n.vuuTab:before {\n content: var(--tab-before-content, none);\n content: \"\";\n background: var(--tab-before-background);\n height: var(--tab-before-height);\n inset: var(--tab-before-inset);\n position: absolute;\n width: var(--tab-before-width);\n z-index: 1;\n}\n\n.vuuTabstrip-draggingTab .vuuTab-selected:before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-color-active);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n}\n\n/* .vuuDraggable .vuuTab:before,\n.vuuTab:not(.vuuTab-selected).saltFocusVisible:before,\n.vuuTab:hover:not(.vuuTab-selected):before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-hover);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n} */\n\n.vuuTab-selected:before {\n --tab-before-content: \"\";\n background: var(--salt-navigable-indicator-active);\n height: var(--tab-thumb-height);\n position: absolute;\n left: var(--tab-thumb-left);\n bottom: 0px; \n top: var(--tab-thumb-top, auto);\n transition: var(--tab-thumb-transition, none);\n width: var(--tab-thumb-width, 100%);\n}\n\n.vuuTab:hover:not(.vuuTab-closeHover) {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n}\n\n/* .vuuTabstrip.vuuTabThumb-noTransition .vuuTab-selected:before {\n transition: none; \n} */", ".vuuTree {\n --tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));\n --tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));\n --tree-toggle-width: 12px;\n --tree-icon-color: var(--vuuTree-icon-color, #4c505b);\n --tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);\n --tree-node-indent: 0px;\n\n --list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, 0.1));\n --list-item-height: var(--hw-list-item-height, 30px);\n --list-item-padding: var(--hw-list-item-padding, 0 6px);\n --list-item-header-bg: var(--hw-list-item-header-bg, black);\n --list-item-header-color: var(--hw-list-item-header-color, white);\n --list-item-header-font-weight: bold;\n --list-item-header-twisty-color: black;\n --list-item-header-twisty-content: '';\n --list-item-header-twisty-top: 50%;\n --list-item-header-twisty-left: -18px;\n --list-item-header-twisty-right: auto;\n --list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);\n --list-item-selected-color: white;\n --list-item-text-color: var(--hw-gray-800);\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n\n list-style: none;\n margin: 0;\n padding: 0 1px;\n font-size: var(--vuuTree-font-size, 14px);\n max-height: inherit;\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n}\n\n.vuuTree-viewport {\n --list-item-height: 30px;\n box-sizing: border-box;\n max-height: inherit;\n overflow: auto;\n}\n\n.vuuTree-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuTree-scrollingContentContainer .vuuTreeNode {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n\n.vuuTreeNode {\n list-style: none;\n}\n\n/* Leaf node or the div child of a collapsible node */\n.vuuTreeNode:not([aria-expanded]),\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --checkbox-border-color: black;\n --checkbox-border-width: 1px;\n --checkbox-tick: black;\n --list-item-padding-left: 6px;\n --svg-toggle: var(--tree-node-collapse);\n\n align-items: center;\n color: var(--list-item-text-color);\n display: flex;\n flex-wrap: nowrap;\n height: var(--list-item-height);\n line-height: var(--list-item-height);\n padding: var(--list-item-padding);\n padding-left: var(--padding-left);\n position: relative;\n cursor: default;\n margin: 0;\n white-space: nowrap;\n}\n\n.vuuTreeNode:not([aria-expanded]) {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode-icon {\n background-color: var(--tree-icon-color);\n display: inline-block;\n height: 18px;\n margin-right: 6px;\n -webkit-mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n flex: 0 0 18px;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTreeNode > *[role='group'] {\n padding-left: 0px;\n}\n\n.vuuTreeNode {\n padding-left: calc(var(--padding-left) + var(--tree-node-indent));\n}\n\n.vuuTreeNode[aria-level='2'] {\n --tree-node-indent: 12px;\n}\n.vuuTreeNode[aria-level='3'] {\n --tree-node-indent: 24px;\n}\n.vuuTreeNode[aria-level='4'] {\n --tree-node-indent: 36px;\n}\n\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted]\n > div:first-child {\n background-color: var(--list-hilited-bg);\n}\n\n.vuuTreeNode-toggle {\n cursor: pointer;\n}\n\n.vuuTreeNode > .vuuTreeNode-toggle {\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n width: calc(var(--list-item-padding-left) + var(--tree-toggle-width));\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label:after {\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--svg-toggle) center center/8px 8px no-repeat;\n mask: var(--svg-toggle) center center/8px 8px no-repeat;\n background-color: var(--list-item-header-twisty-color);\n height: 18px;\n margin-top: -9px;\n left: var(--tree-node-indent);\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 18px;\n}\n\n.vuuTreeNode[aria-selected='true'] {\n --list-item-header-twisty-color: var(--list-item-selected-color);\n}\n\n\n.vuuTreeNode:not(.focusVisible):focus {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.vuuTreeNode:not([aria-expanded]).focusVisible:before,\n.vuuTreeNode[aria-expanded].focusVisible > div:first-child:before {\n content: '';\n position: absolute;\n top: 0px;\n left: var(--tree-focus-offset, 0px);\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n background-color: var(--list-hilited-bg);\n}\n\n\n.vuuTreeNode[aria-expanded='false'] > *:first-child:after {\n --svg-toggle: var(--tree-node-expand);\n}\n\n.vuuTreeNode[aria-expanded='true'] > *:first-child:after {\n transform: var(--tree-node-expanded-transform);\n}\n\n/* Selection */\n\n.vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected='true'],\n.vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected='true'] > div:first-child {\n --checkbox-border-color: var(--list-item-selected-color);\n --checkbox-tick: var(--list-item-selected-color);\n --focus-visible-border-color: var(--list-item-selected-color);\n background-color: var(--list-item-selected-bg);\n color: var(--list-item-selected-color);\n}\n\n.with-checkbox .vuuTreeNode {\n padding-left: 28px;\n}\n\n.with-checkbox .vuuTreeNode:before {\n border-style: solid;\n border-width: var(--checkbox-border-width);\n border-color: var(--checkbox-border-color);\n content: '';\n height: 12px;\n left: 3px;\n margin-top: -7px;\n position: absolute;\n top: 50%;\n width: 12px;\n}\n"],
|
|
5
|
-
"mappings": "AAAA,
|
|
3
|
+
"sources": ["../../../packages/vuu-ui-controls/src/drag-drop/Draggable.css", "../../../packages/vuu-ui-controls/src/editable-label/EditableLabel.css", "../../../packages/vuu-ui-controls/src/list/Highlighter.css", "../../../packages/vuu-ui-controls/src/list/CheckboxIcon.css", "../../../packages/vuu-ui-controls/src/list/ListItem.css", "../../../packages/vuu-ui-controls/src/list/List.css", "../../../packages/vuu-ui-controls/src/tabstrip/Tabstrip.css", "../../../packages/vuu-ui-controls/src/tabstrip/TabMenu.css", "../../../packages/vuu-ui-controls/src/tabstrip/Tab.css", "../../../packages/vuu-ui-controls/src/tree/Tree.css"],
|
|
4
|
+
"sourcesContent": [".vuuDraggable {\n background: transparent;\n box-shadow: var(--salt-overlayable-shadow-drag);\n cursor: var(--salt-draggable-grab-cursor-active);\n position: absolute;\n opacity: .95;\n z-index: 2000;\n}\n\n.vuuDraggable-spacer {\n display: var(--vuuDraggable-display, inline-block);\n height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));\n transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;\n width: var(--vuuDraggable-spacer-width, 0);\n}\n\n.vuuDraggable-dropIndicatorPosition {\n display: var(--saltDraggable-display, inline-block);\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n height: 0px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicatorContainer {\n transition: var(--vuuDraggable-transitionProp, top) 0.2s ease;\n}\n\n.vuuDraggable-dropIndicator {\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n background-color: var(--salt-palette-accent-background);\n height: 2px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicator:before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 3px;\n background-color: var(--salt-palette-accent-background);\n position: absolute;\n top: -2px;\n left: -3px;\n}\n\n.vuuDraggable-settling {\n transition-property: left, top;\n transition-duration: .15s;\n transition-timing-function: ease-out;\n}\n\n.vuuDraggable-spacer {\n order: 1;\n}", ".vuuEditableLabel {\n --saltInput-background: transparent;\n --saltInput-minWidth: 14px;\n --saltInput-position: absolute;\n --editableLabel-padding: var(--saltEditableLabel-padding, 6px);\n --editableLabel-height: var(--saltEditableLabel-height, 26px);\n color: inherit;\n cursor: default;\n display: flex;\n flex-direction: column;\n font-size: var(--salt-text-fontSize);\n height: var(--editableLabel-height);\n justify-content: center;\n outline: none;\n padding: 0 var(--editableLabel-padding);\n position: relative;\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuEditableLabel:before {\n content: attr(data-text);\n display: block;\n height: 0px;\n visibility: hidden;\n white-space: pre-wrap;\n}\n\n.vuuEditableLabel .saltInput {\n font-weight: var(--salt-text-fontWeight);\n left: var(--editableLabel-padding, 0);\n padding: 0;\n outline-style: none;\n position: absolute;\n right: var(--editableLabel-padding, 0);\n top: var(--saltEditableLabel-top, 2px);\n width: auto;\n}\n\n.vuuEditableLabel .saltInput-activationIndicator {\n display: none;\n}\n\n.vuuEditableLabel-input {\n background-color: transparent;\n border: none;\n box-sizing: content-box;\n display: block;\n flex: 1;\n font: inherit;\n height: 20px;\n margin:0;\n min-width:0;\n outline: none;\n padding: 0;\n}\n", ".saltHighlighter-highlight {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check with design */\n}\n", ".vuuCheckboxIcon {\n --vuu-icon-size: 14px;\n --vuu-icon-left: -1px;\n --vuu-icon-top: -1px;\n --vuu-icon-svg: var(--vuu-svg-tick);\n border-style: solid;\n border-color: var(--vuuCheckboxIcon-borderColor, var(--salt-selectable-borderColor));\n border-radius: var(--vuuCheckboxIcon-borderRadius, 3px);\n border-width: 1px;\n display: inline-block;\n height: var(--vuuCheckboxIcon-size, 14px);\n position: relative;\n width: var(--vuuCheckboxIcon-size, 14px);\n}\n\n.vuuCheckboxIcon-checked {\n background-color: var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));\n border-color: var(--vuuCheckboxIcon-borderColor-checked, var(--salt-selectable-borderColor-selected));\n}\n\n.vuuCheckboxIcon-checked:after {\n content: \"\";\n background-color: white;\n left: var(--vuu-icon-left, auto);\n height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask-repeat: no-repeat;\n position: absolute;\n top: var(--vuu-icon-top, auto);\n width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));\n}", ".vuuListItem {\n /* Color */\n --list-item-text-color: var(--salt-text-primary-foreground);\n --list-item-background: var(--vuuList-item-background, var(--salt-selectable-background));\n /* --list-item-selected-focus-outlineColor: var(--salt-color-white); TODO: Check token with design */\n --list-item-text-color-active: var(--salt-text-primary-foreground);\n --list-item-background-active: var(--salt-selectable-background-selected);\n --list-item-alignItems: center;\n}\n\n.vuuListItem.saltHighlighted {\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);\n --list-item-background: var(--salt-selectable-background-hover);\n}\n\n.vuuListItemHeader {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check token with design */\n}\n\n.vuuListItemHeader[data-sticky] {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuListItem {\n color: var(--list-item-text-color);\n cursor: var(--vuuList-item-cursor, pointer);\n background: var(--vuuList-item-background, var(--list-item-background));\n font-size: var(--salt-text-fontSize);\n text-align: var(--salt-text-textAlign);\n line-height: var(--salt-text-lineHeight);\n height: var(--vuuList-item-height, var(--list-item-height, auto));\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n padding: 0 var(--salt-size-unit);\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.vuuListItem:last-child {\n margin-bottom: 0px;\n}\n\n.vuuListItem-checkbox {\n --list-item-background-active: var(--salt-selectable-background);\n --list-item-text-color-active: var(--salt-text-primary-foreground);\n --list-item-text-padding: 0 0 0 var(--salt-size-unit);\n}\n\n.vuuListItem[aria-selected=\"true\"]:not(.vuuListItem-checkbox) {\n --list-item-background: var(--list-item-background-active);\n color: var(--list-item-text-color-active);\n}\n\n.vuuListItem.saltDisabled {\n --list-item-text-color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.vuuListItem.vuuFocusVisible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n outline-color: var(--salt-focused-outlineColor);\n}\n\n.vuuListItem.vuuFocusVisible:after {\n content: none;\n}\n\n.vuuListItem[aria-selected=\"true\"]:not(.vuuListItem-checkbox).vuuFocusVisible {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n\n.vuuListItem-textWrapper {\n flex: 1;\n overflow: hidden;\n padding: var(--list-item-text-padding, 0px);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.vuuListItem-proxy {\n position: absolute !important;\n visibility: hidden;\n}\n.vuuDraggable-list-item {\n --vuuList-item-height: 24px;\n background-color: white;\n}\n\n.vuuListItem.vuuDraggable-dragAway {\n display: none;\n}", ".vuuList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--vuuList-borderStyle,--salt-container-borderStyle);\n --list-borderWidth: var(--salt-size-border);\n --list-height: auto;\n --list-item-height: var(--salt-size-stackable);\n --list-item-gap: 0px;\n --list-maxHeight: 100%;\n --vuuDraggable-display: block;\n --vuuDraggable-spacer-height: 0;\n --vuuDraggable-spacer-width: 100%;\n --vuuDraggable-transitionProp: height;\n\n background: var(--list-background);\n border-color: var(--salt-container-primary-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n height: var(--saltList-height, var(--list-height));\n max-height: var(--list-maxHeight);\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n width: var(--saltList-width, auto);\n}\n\n.vuuList-borderless {\n --list-borderStyle: none;\n}\n\n/* virtualised list */\n.vuuList-viewport {\n --list-item-height: 30px;\n max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));\n overflow: auto;\n}\n\n.vuuListItemHeader {\n --saltList-item-background: var(--list-item-header-background);\n color: var(--list-item-header-color);\n}\n\n.vuuListItemHeader[data-sticky=\"true\"] {\n --saltList-item-background: var(--list-background);\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuList-collapsible .vuuListItemHeader:after {\n border-width: var(--checkbox-borderWidth);\n border-color: var(--checkbox-borderColor);\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--list-svg-chevron-down) center center/12px 12px no-repeat;\n mask: var(--list-svg-chevron-down) center center/12px 12px no-repeat;\n background: var(--list-item-header-twisty-color);\n height: 12px;\n left: var(--list-item-header-twisty-left);\n right: var(--list-item-header-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 12px;\n}\n.vuuListItemHeader[aria-expanded=\"false\"]:after {\n transform: rotate(-90deg);\n}\n\n/* Selection */\n\n.vuuList-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuList-virtualized .vuuListItem {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n.vuuList.saltFocusVisible:after {\n inset: 2px;\n}\n", "/* Component class applied to the root element */\n.vuuTabstrip {\n --vuuOverflowContainer-background: transparent;\n /* --tabstrip-height: var(--vuuTabstrip-height, var(--salt-size-stackable)); */\n --tabstrip-dragging-display: none;\n --tabstrip-display: inline-flex;\n --tabstrip-background: transparent;\n\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));\n position: relative;\n overflow: visible;\n display: flex;\n min-width: 28px;\n width: var(--tabstrip-width);\n}\n\n/* Tabstrip orientation is horizontal */\n.vuuTabstrip-horizontal {\n --tabstrip-height: var(--vuuTabstrip-height, 28px);\n --tabstrip-width: var(--vuuTabstrip-width, 100%);\n --tab-width: auto;\n --tab-thumb-height: 2px;\n --tab-thumb-left: var(--tab-thumb-offset, 0);\n --tab-thumb-top: auto;\n --tab-thumb-width: var(--tab-thumb-size, 100%);\n align-items: flex-start;\n border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));\n}\n\n/* Tabstrip orientation is vertical */\n.vuuTabstrip-vertical {\n --tabstrip-height: var(--vuuTabstrip-height, 100%);\n --tabstrip-width: var(--vuuTabstrip-width, 100px);\n --tab-width: 100%;\n --tab-thumb-height: var(--tab-thumb-size, 100%);\n --tab-thumb-left: 0;\n --tab-thumb-top: var(--tab-thumb-offset, 0);\n --tab-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.vuuTabstrip-draggingTab .vuuTab {\n pointer-events: none;\n}\n\n.vuuTabstrip-addTabButton {\n --saltButton-height: 20px;\n --saltButton-width: 20px;\n}\n\n.vuuTabstrip-overflowMenu.saltDropdown {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.vuuTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);\n}\n\n.vuuTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.vuuTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabstrip-height);\n}\n\n.vuuTabstrip-vertical .vuuTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTabstrip-centered .vuuTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.vuuDraggable[class*=\"vuuTabstrip\"] {\n --tabstrip-display: flex;\n --tabstrip-height: 100%;\n --tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-navigable-primary-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tab-activationIndicator-inset);\n --tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.vuuDraggable-tabstrip-horizontal {\n --tab-thumb-height: 2px;\n --tab-thumb-left: 0px;\n --tabstrip-height: 28px;\n line-height: var(--tabstrip-height);\n}\n\n\n.vuuDraggable[class*=\"tabstrip\"] .vuuTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-indicator-active);\n}\n\n/* [data-overflowed] {\n order: 99;\n visibility: hidden;\n} */\n\n.vuuTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-selectable-background-selected);\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n", ".vuuTabMenu {\n top: -2px;\n}", "/* Class applied to root Tab element */\n.vuuTab {\n --saltEditableLabel-padding: 0;\n --saltEditableLabel-height: var(--tabstrip-height);\n --saltInputLegacy-minWidth: 4em;\n --saltEditableLabel-top: 3px;\n\n --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));\n --tab-cursor: pointer;\n --tab-position: relative;\n}\n\n.vuuTab {\n align-items: center;\n align-self: stretch;\n background: var(--tab-background);\n border: none;\n border-radius: var(--vuuTab-borderRadius, 0);\n color: var(--salt-text-primary-foreground);\n cursor: var(--vuuTab-cursor, var(--tab-cursor));\n display: var(--tabstrip-display);\n gap: 8px;\n height: var(--vuuTab-height, var(--tabstrip-height));\n letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));\n min-width: var(--vuuTab-minWidth, 40px);\n outline: none;\n padding: var(--vuuTab-padding, 0 24px);\n position: var(--vuuTab-position, var(--tab-position));\n user-select: none;\n width: var(--tab-width)\n}\n\n/* Overrides characteristic used in saltFocusVisible */\n/* .vuuTab.saltFocusVisible:after {\n inset: 2px 2px 4px 2px;\n} */\n\n.vuuTab {\n margin: 0 var(--tab-spacing) 0 0;\n}\n\n.vuuTab-selected {\n background: var(--vuuTab-background-selected, var(--tab-background));\n color: var(--salt-text-primary-foreground);\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* main content aria of Tab */\n.vuuTab-main {\n align-items: center;;\n border: none;\n color: inherit;\n cursor: inherit;\n display: flex;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n height: var(--vuuTabstrip-height, var(--salt-size-stackable));\n outline: none;\n position: relative;\n}\n\n.vuuTab-closeable .vuuTab-main {\n border-right: solid transparent var(--salt-size-unit);\n}\n\n.vuuTab .vuuTab-closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* the close Button on a closeable Tab*/\n.vuuTab-close-icon {\n display: none;\n}\n\n.salt-density-touch .vuuTab-close-icon,\n.salt-density-low .vuuTab-close-icon {\n display: block;\n}\n\n.salt-density-touch .vuuTab-close-icon-small,\n.salt-density-low .vuuTab-close-icon-small {\n display: none;\n}\n\n.vuuTab .vuuTab-text {\n display: inline-block;\n position: relative;\n overflow: hidden;\n text-align: var(--salt-text-textAlign-embedded);\n text-overflow: ellipsis;\n top: var(--vuuTab-top, var(--tab-top, auto));\n white-space: nowrap;\n /* ensure content sits above focus ring */\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuTab .vuuTab-text:before {\n height: 0;\n content: attr(data-text);\n display: block;\n visibility: hidden;\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* FIXME: these are all focusVisible styles, but with a bespoke inset */\n.vuuTab-editing:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 2px;\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n}\n\n.vuuTab.vuuFocusVisible {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));\n outline-style: dashed;\n outline-width: 1px;\n outline-offset: -1px;\n}\n\n.vuuTab:before {\n content: var(--tab-before-content, none);\n content: \"\";\n background: var(--tab-before-background);\n height: var(--tab-before-height);\n inset: var(--tab-before-inset);\n position: absolute;\n width: var(--tab-before-width);\n z-index: 1;\n}\n\n.vuuTabstrip-draggingTab .vuuTab-selected:before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-color-active);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n}\n\n/* .vuuDraggable .vuuTab:before,\n.vuuTab:not(.vuuTab-selected).saltFocusVisible:before,\n.vuuTab:hover:not(.vuuTab-selected):before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-hover);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n} */\n\n.vuuTab-selected:before {\n --tab-before-content: \"\";\n background: var(--salt-navigable-indicator-active);\n height: var(--tab-thumb-height);\n position: absolute;\n left: var(--tab-thumb-left);\n bottom: 0px; \n top: var(--tab-thumb-top, auto);\n transition: var(--tab-thumb-transition, none);\n width: var(--tab-thumb-width, 100%);\n}\n\n.vuuTab:hover:not(.vuuTab-closeHover) {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n}\n\n/* .vuuTabstrip.vuuTabThumb-noTransition .vuuTab-selected:before {\n transition: none; \n} */", ".vuuTree {\n --tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));\n --tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));\n --tree-toggle-width: 12px;\n --tree-icon-color: var(--vuuTree-icon-color, #4c505b);\n --tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);\n --tree-node-indent: 0px;\n\n --list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, 0.1));\n --list-item-height: var(--hw-list-item-height, 30px);\n --list-item-padding: var(--hw-list-item-padding, 0 6px);\n --list-item-header-bg: var(--hw-list-item-header-bg, black);\n --list-item-header-color: var(--hw-list-item-header-color, white);\n --list-item-header-font-weight: bold;\n --list-item-header-twisty-color: black;\n --list-item-header-twisty-content: '';\n --list-item-header-twisty-top: 50%;\n --list-item-header-twisty-left: -18px;\n --list-item-header-twisty-right: auto;\n --list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);\n --list-item-selected-color: white;\n --list-item-text-color: var(--hw-gray-800);\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n\n list-style: none;\n margin: 0;\n padding: 0 1px;\n font-size: var(--vuuTree-font-size, 14px);\n max-height: inherit;\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n}\n\n.vuuTree-viewport {\n --list-item-height: 30px;\n box-sizing: border-box;\n max-height: inherit;\n overflow: auto;\n}\n\n.vuuTree-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuTree-scrollingContentContainer .vuuTreeNode {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n\n.vuuTreeNode {\n list-style: none;\n}\n\n/* Leaf node or the div child of a collapsible node */\n.vuuTreeNode:not([aria-expanded]),\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --checkbox-border-color: black;\n --checkbox-border-width: 1px;\n --checkbox-tick: black;\n --list-item-padding-left: 6px;\n --svg-toggle: var(--tree-node-collapse);\n\n align-items: center;\n color: var(--list-item-text-color);\n display: flex;\n flex-wrap: nowrap;\n height: var(--list-item-height);\n line-height: var(--list-item-height);\n padding: var(--list-item-padding);\n padding-left: var(--padding-left);\n position: relative;\n cursor: default;\n margin: 0;\n white-space: nowrap;\n}\n\n.vuuTreeNode:not([aria-expanded]) {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode-icon {\n background-color: var(--tree-icon-color);\n display: inline-block;\n height: 18px;\n margin-right: 6px;\n -webkit-mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n flex: 0 0 18px;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTreeNode > *[role='group'] {\n padding-left: 0px;\n}\n\n.vuuTreeNode {\n padding-left: calc(var(--padding-left) + var(--tree-node-indent));\n}\n\n.vuuTreeNode[aria-level='2'] {\n --tree-node-indent: 12px;\n}\n.vuuTreeNode[aria-level='3'] {\n --tree-node-indent: 24px;\n}\n.vuuTreeNode[aria-level='4'] {\n --tree-node-indent: 36px;\n}\n\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted]\n > div:first-child {\n background-color: var(--list-hilited-bg);\n}\n\n.vuuTreeNode-toggle {\n cursor: pointer;\n}\n\n.vuuTreeNode > .vuuTreeNode-toggle {\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n width: calc(var(--list-item-padding-left) + var(--tree-toggle-width));\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label:after {\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--svg-toggle) center center/8px 8px no-repeat;\n mask: var(--svg-toggle) center center/8px 8px no-repeat;\n background-color: var(--list-item-header-twisty-color);\n height: 18px;\n margin-top: -9px;\n left: var(--tree-node-indent);\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 18px;\n}\n\n.vuuTreeNode[aria-selected='true'] {\n --list-item-header-twisty-color: var(--list-item-selected-color);\n}\n\n\n.vuuTreeNode:not(.focusVisible):focus {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.vuuTreeNode:not([aria-expanded]).focusVisible:before,\n.vuuTreeNode[aria-expanded].focusVisible > div:first-child:before {\n content: '';\n position: absolute;\n top: 0px;\n left: var(--tree-focus-offset, 0px);\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n background-color: var(--list-hilited-bg);\n}\n\n\n.vuuTreeNode[aria-expanded='false'] > *:first-child:after {\n --svg-toggle: var(--tree-node-expand);\n}\n\n.vuuTreeNode[aria-expanded='true'] > *:first-child:after {\n transform: var(--tree-node-expanded-transform);\n}\n\n/* Selection */\n\n.vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected='true'],\n.vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected='true'] > div:first-child {\n --checkbox-border-color: var(--list-item-selected-color);\n --checkbox-tick: var(--list-item-selected-color);\n --focus-visible-border-color: var(--list-item-selected-color);\n background-color: var(--list-item-selected-bg);\n color: var(--list-item-selected-color);\n}\n\n.with-checkbox .vuuTreeNode {\n padding-left: 28px;\n}\n\n.with-checkbox .vuuTreeNode:before {\n border-style: solid;\n border-width: var(--checkbox-border-width);\n border-color: var(--checkbox-border-color);\n content: '';\n height: 12px;\n left: 3px;\n margin-top: -7px;\n position: absolute;\n top: 50%;\n width: 12px;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,cACE,uBACA,+CACA,gDACA,kBACA,YACA,aAGF,qBACE,kDACA,iEACA,8DACA,0CAGF,oCACE,mDAGA,WACA,WAGF,qCACE,4DAGF,4BAGE,uDACA,WACA,WAGF,mCACE,WACA,UACA,WAvCF,kBAyCE,uDACA,kBACA,SACA,UAGF,uBACE,6BACA,yBACA,oCAGF,qBACE,QCtDF,kBACE,oCACA,2BACA,+BACA,+DACA,8DACA,cACA,eACA,aACA,sBACA,oCACA,mCACA,uBACA,aACA,uCACA,kBACA,mCAGF,yBACE,wBACA,cACA,WACA,kBACA,qBAGF,6BACE,wCACA,qCA7BF,UA+BE,mBACA,kBACA,sCACA,sCACA,WAGF,iDACE,aAGF,wBACE,6BACA,YACA,uBACA,cACA,OACA,aACA,YAjDF,SAmDE,YACA,aApDF,UCAA,2BACE,+CCDF,iBACI,sBACA,sBACA,qBACA,oCACA,mBACA,oFACA,uDACA,iBACA,qBACA,yCACA,kBACA,wCAGJ,yBACI,uGACA,qGAGJ,+BACI,WACA,sBACA,gCACA,0DACA,yFACA,iFACA,sBACA,8BACA,kBACA,8BACA,wDC/BJ,aAEE,4DACA,0FAEA,mEACA,0EACA,+BAGF,6BACE,qEACA,gEAGF,mBACE,+CAGF,gCACE,gBACA,MACA,UAGF,aACE,kCACA,2CACA,uEACA,oCACA,sCACA,wCACA,iEAEA,mCACA,gCACA,OACA,QACA,aACA,kBACA,wCACA,mBAGF,wBACE,gBAGF,sBACE,iEACA,mEACA,sDAGF,4DACE,2DACA,yCAGF,0BACE,qEACA,8CAGF,6BACE,+CACA,+CACA,oBACA,+CAGF,mCACE,aAGF,4EACE,2DAGF,yBACE,OACA,gBACA,2CACA,mBACA,uBAGF,mBACE,4BACA,kBAEF,wBACE,4BACA,sBAGF,mCACE,aCjGF,SACE,4DACA,4EACA,4CACA,oBACA,+CACA,qBACA,uBACA,8BACA,gCACA,kCACA,sCAEA,kCACA,uDACA,qCACA,qCACA,kDACA,iCACA,aACA,gBACA,kBACA,iBACA,kCAGF,oBACE,yBAIF,kBACE,yBACA,qEACA,cAGF,mBACE,+DACA,oCAGF,qCACE,mDACA,gBACA,MACA,UAGF,8CACE,yCACA,yCACA,+CACA,4EACA,oEACA,gDACA,YACA,yCACA,2CACA,gBACA,kBACA,uCACA,yBACA,WAEF,8CACE,yBAKF,mCACE,mBACA,kBAGF,kCACE,iBACA,kBACA,MACA,OACA,QACA,sBAEF,gCACE,UCpFF,aACE,+CAEA,kCACA,gCACA,mCAEA,uDACA,oCACA,uEACA,kBACA,iBACA,aACA,eACA,4BAIF,wBACE,mDACA,iDACA,kBACA,wBACA,6CACA,sBACA,+CACA,uBACA,mGAIF,sBACE,mDACA,kDACA,kBACA,gDACA,oBACA,4CACA,uBAEA,sBACA,oBAGF,iCACE,oBAGF,0BACE,0BACA,yBAGF,uCACE,+BAGF,+BACE,4EACA,4EAGF,2CACE,qEAGF,mBACE,WACA,mBACA,aACA,gBACA,YACA,cACA,eACA,2BACA,mCAGF,yCACE,sBACA,YAGF,yCACE,uBAIF,kCACE,yBACA,wBACA,mCAEA,sEACA,8BACA,oEACA,sEACA,8DACA,oEACA,4DACA,4BAEA,eAGF,kCACE,wBACA,sBACA,wBACA,mCAIF,kEACE,qEAQF,2CACE,sDACA,WACA,kBACA,WACA,OACA,QACA,SClIF,YACI,SCAJ,QACE,+BACA,mDACA,gCACA,6BAEA,qFACA,sBACA,yBAGF,QACE,mBACA,mBACA,iCACA,YACA,4CACA,0CACA,+CACA,gCACA,QACA,oDACA,wEACA,uCACA,aACA,sCACA,qDACA,iBACA,uBAQF,QACE,gCAGF,iBACE,oEACA,0CACA,oDAIF,aACE,mBACA,YACA,cACA,eACA,aACA,oBACA,kBACA,oBACA,6DACA,aACA,kBAGF,+BACE,qDAGF,4BACE,aACA,mBACA,uBAIF,mBACE,aAGF,4EAEE,cAGF,wFAEE,aAGF,qBACE,qBACA,kBACA,gBACA,+CACA,uBACA,4CACA,mBAEA,mCAGF,4BACE,SACA,wBACA,cACA,kBACA,oDAIF,sBACE,WACA,kBACA,MACA,OACA,QACA,WACA,+CACA,+CACA,+CACA,oBAGF,wBACE,0FACA,iFACA,qBACA,kBACA,oBAGF,eACE,wCACA,WACA,wCACA,gCACA,8BACA,kBACA,8BACA,UAGF,iDACE,yBACA,sEACA,6CACA,yDACA,+DAaF,wBACE,yBACA,kDACA,+BACA,kBACA,2BACA,WACA,+BACA,6CACA,mCAGF,sCACE,0FC3KF,SACE,oFACA,8EACA,0BACA,sDACA,6EACA,wBAEA,gEACA,qDACA,wDACA,4DACA,kEACA,qCACA,uCACA,sCACA,mCACA,sCACA,sCACA,6DACA,kCACA,2CACA,uFAEA,gBAxBF,uBA2BE,yCACA,mBACA,aACA,gBACA,kBACA,iBAGF,kBACE,yBACA,sBACA,mBACA,cAGF,mCACE,mBACA,kBAGF,gDACE,iBACA,kBACA,MACA,OACA,QACA,sBAGF,aACE,gBAIF,iFAEE,+BACA,6BACA,uBACA,8BACA,wCAEA,mBACA,kCACA,aACA,iBACA,+BACA,oCACA,iCACA,iCACA,kBACA,eA9EF,SAgFE,mBAGF,kCACE,2GAKF,+CACE,2GAKF,kBACE,wCACA,qBACA,YACA,iBACA,mEACA,2DACA,cAGF,4BACE,sBAGF,4BACE,sBACA,YAGF,2BACE,eAGF,aACE,iEAGF,6BACE,yBAEF,6BACE,yBAEF,6BACE,yBAGF,sMAGE,wCAGF,oBACE,eAGF,iCACE,qBACA,YACA,OACA,kBACA,qEAGF,qDACE,+CACA,+DACA,uDACA,sDACA,YACA,gBACA,6BACA,kBACA,uCACA,yBACA,WAGF,iCACE,iEAIF,sCACE,2BAGF,sHAEE,WACA,kBACA,QACA,mCACA,QACA,WACA,oDACA,wCAIF,sDACE,sCAGF,qDACE,8CAKF,gLAEE,yDACA,iDACA,8DACA,8CACA,sCAGF,4BACE,kBAGF,mCACE,mBACA,0CACA,0CACA,WACA,YACA,SACA,gBACA,kBACA,QACA",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuu-ui/vuu-ui-controls",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.8",
|
|
4
4
|
"description": "VUU UI Controls",
|
|
5
5
|
"author": "heswell",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@salt-ds/core": "1.8.0
|
|
9
|
-
"@vuu-ui/vuu-data": "0.8.
|
|
10
|
-
"@vuu-ui/vuu-data-types": "0.8.
|
|
11
|
-
"@vuu-ui/vuu-layout": "0.8.
|
|
12
|
-
"@vuu-ui/vuu-
|
|
8
|
+
"@salt-ds/core": "1.8.0",
|
|
9
|
+
"@vuu-ui/vuu-data": "0.8.8",
|
|
10
|
+
"@vuu-ui/vuu-data-types": "0.8.8",
|
|
11
|
+
"@vuu-ui/vuu-layout": "0.8.8",
|
|
12
|
+
"@vuu-ui/vuu-popups": "0.8.8",
|
|
13
|
+
"@vuu-ui/vuu-utils": "0.8.8"
|
|
13
14
|
},
|
|
14
15
|
"peerDependencies": {
|
|
15
16
|
"classnames": "^2.2.6",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./use-resize-observer";
|
|
@@ -62,7 +62,16 @@ export declare const getItemById: (measuredItems: MeasuredDropTarget[], id: stri
|
|
|
62
62
|
export declare const removeDraggedItem: (measuredItems: MeasuredDropTarget[], index: number) => void;
|
|
63
63
|
export type dropZone = "start" | "end";
|
|
64
64
|
export declare const measureDropTargets: (container: HTMLElement, orientation: orientationType, itemQuery?: string, viewportRange?: ViewportRange, draggedItemId?: string) => MeasuredDropTarget[];
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
The index of the dropped item is its array offset within the
|
|
67
|
+
dropTargets. If there is no scrolling involved, this will be
|
|
68
|
+
the same as the 'absolute' index position. If the dropTargets have
|
|
69
|
+
been scrolled, though, we will only have a window of the full
|
|
70
|
+
dataset, corresponding to the current scroll viewport. In that case
|
|
71
|
+
we need to determine the offset and factor that into the 'absolute'
|
|
72
|
+
index.
|
|
73
|
+
*/
|
|
74
|
+
export declare const getIndexOfDraggedItem: (dropTargets: MeasuredDropTarget[], absoluteIndex?: boolean) => number;
|
|
66
75
|
export declare const mutateDropTargetsSwitchDropTargetPosition: (dropTargets: MeasuredDropTarget[], direction: Direction) => void;
|
|
67
76
|
export declare const getNextDropTarget: (dropTargets: MeasuredDropTarget[], pos: number, mouseMoveDirection: Direction) => MeasuredDropTarget;
|
|
68
77
|
/**
|
package/types/index.d.ts
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import "./CheckboxIcon.css";
|
|
3
|
+
export interface CheckboxIconProps extends HTMLAttributes<HTMLSpanElement> {
|
|
4
|
+
checked?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const CheckboxIcon: ({ checked, ...htmlAttributes }: CheckboxIconProps) => JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ForwardedRef, ReactElement } from "react";
|
|
2
|
+
import { ScrollingAPI, SelectionStrategy } from "./common-hooks";
|
|
3
|
+
import { ListProps } from "./listTypes";
|
|
4
|
+
import "./List.css";
|
|
5
|
+
export declare const List: <Item = string, Selection_1 extends SelectionStrategy = "default">(props: ListProps<Item, Selection_1> & {
|
|
6
|
+
ref?: ForwardedRef<ScrollingAPI<Item>> | undefined;
|
|
7
|
+
}) => ReactElement<ListProps<Item, Selection_1>, string | import("react").JSXElementConstructor<any>>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import { ListItemType } from "./listTypes";
|
|
3
|
+
import "./ListItem.css";
|
|
4
|
+
export declare const ListItemProxy: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export declare const ListItem: ListItemType<unknown>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ForwardedRef, ReactElement } from "react";
|
|
2
|
+
import { SelectionStrategy } from "./common-hooks";
|
|
3
|
+
import { ListProps } from "./listTypes";
|
|
4
|
+
import "./List.css";
|
|
5
|
+
export declare const VirtualizedList: <Item = string, Selection_1 extends SelectionStrategy = "default">(props: ListProps<Item, Selection_1> & {
|
|
6
|
+
ref?: ForwardedRef<HTMLDivElement> | undefined;
|
|
7
|
+
}) => ReactElement<ListProps<Item, Selection_1>, string | import("react").JSXElementConstructor<any>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
import { CollectionHookResult } from "./collectionTypes";
|
|
3
|
+
export interface collectionContext<T> {
|
|
4
|
+
collection: CollectionHookResult<T>;
|
|
5
|
+
}
|
|
6
|
+
export declare const CollectionContext: import("react").Context<CollectionHookResult<any> | undefined>;
|
|
7
|
+
interface ContextProviderProps<Item> {
|
|
8
|
+
children: ReactElement;
|
|
9
|
+
collectionHook: CollectionHookResult<Item>;
|
|
10
|
+
}
|
|
11
|
+
export declare function CollectionProvider<Item>({ children, collectionHook, ...props }: ContextProviderProps<Item>): JSX.Element;
|
|
12
|
+
export declare function useCollection<Item>(): CollectionHookResult<Item> | undefined;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { SelectionStrategy, SingleSelectionStrategy } from "./selectionTypes";
|
|
3
|
+
export interface CollectionIndexer {
|
|
4
|
+
value: number;
|
|
5
|
+
}
|
|
6
|
+
export interface CollectionItemBase<T> {
|
|
7
|
+
id: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
focusable?: false | undefined;
|
|
11
|
+
index?: number;
|
|
12
|
+
label?: string;
|
|
13
|
+
value: T | null;
|
|
14
|
+
}
|
|
15
|
+
export interface CollectionItem<T> extends CollectionItemBase<T> {
|
|
16
|
+
childNodes?: CollectionItem<T>[];
|
|
17
|
+
count?: number;
|
|
18
|
+
expanded?: boolean;
|
|
19
|
+
header?: boolean;
|
|
20
|
+
level?: number;
|
|
21
|
+
selectable?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface SourceGroup<T> {
|
|
24
|
+
childNodes: T[];
|
|
25
|
+
}
|
|
26
|
+
export type CollectionOptions<T> = {
|
|
27
|
+
collapsibleHeaders?: boolean;
|
|
28
|
+
defaultExpanded?: boolean;
|
|
29
|
+
filterPattern?: string;
|
|
30
|
+
getFilterRegex?: (inputValue: string) => RegExp;
|
|
31
|
+
getItemId?: (indexOfItem: number) => string;
|
|
32
|
+
noChildrenLabel?: string;
|
|
33
|
+
itemToString?: (item: T) => string;
|
|
34
|
+
revealSelected?: boolean | T | T[];
|
|
35
|
+
};
|
|
36
|
+
export type CollectionHookProps<T> = {
|
|
37
|
+
children?: ReactNode;
|
|
38
|
+
id: string;
|
|
39
|
+
label?: string;
|
|
40
|
+
source?: ReadonlyArray<T>;
|
|
41
|
+
options?: CollectionOptions<T>;
|
|
42
|
+
};
|
|
43
|
+
export type CollectionHookResult<T> = {
|
|
44
|
+
/** set expanded to false for target */
|
|
45
|
+
collapseGroupItem: (item: CollectionItem<T>) => void;
|
|
46
|
+
/** data items from the collection to be rendered */
|
|
47
|
+
data: CollectionItem<T>[];
|
|
48
|
+
/** set expanded to true for target */
|
|
49
|
+
expandGroupItem: (item: CollectionItem<T>) => void;
|
|
50
|
+
setFilterPattern: (pattern: undefined | string) => void;
|
|
51
|
+
itemById: (id: string) => T | never;
|
|
52
|
+
itemToCollectionItem: <Selection extends SelectionStrategy, U extends T | T[] | null | undefined>(item: U) => Selection extends SingleSelectionStrategy ? CollectionItem<T> | null : CollectionItem<T>[];
|
|
53
|
+
stringToCollectionItem: <Selection extends SelectionStrategy>(item: string | null | undefined) => Selection extends SingleSelectionStrategy ? CollectionItem<T> | null : CollectionItem<T>[];
|
|
54
|
+
toCollectionItem: (item: T) => CollectionItem<T>;
|
|
55
|
+
itemToId: (item: T) => string;
|
|
56
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from "./collectionProvider";
|
|
2
|
+
export * from "./collectionTypes";
|
|
3
|
+
export * from "./itemToString";
|
|
4
|
+
export * from "./keyUtils";
|
|
5
|
+
export * from "./useCollapsibleGroups";
|
|
6
|
+
export * from "./list-dom-utils";
|
|
7
|
+
export * from "./navigationTypes";
|
|
8
|
+
export * from "./selectionTypes";
|
|
9
|
+
export * from "./useCollectionItems";
|
|
10
|
+
export * from "./useImperativeScrollingAPI";
|
|
11
|
+
export * from "./useKeyboardNavigation";
|
|
12
|
+
export * from "./useSelection";
|
|
13
|
+
export * from "./useTypeahead";
|
|
14
|
+
export * from "./useViewportTracking";
|
|
15
|
+
export * from "./utils";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const ArrowUp = "ArrowUp";
|
|
3
|
+
export declare const ArrowDown = "ArrowDown";
|
|
4
|
+
export declare const ArrowLeft = "ArrowLeft";
|
|
5
|
+
export declare const ArrowRight = "ArrowRight";
|
|
6
|
+
export declare const Enter = "Enter";
|
|
7
|
+
export declare const Escape = "Escape";
|
|
8
|
+
export declare const Home = "Home";
|
|
9
|
+
export declare const End = "End";
|
|
10
|
+
export declare const PageUp = "PageUp";
|
|
11
|
+
export declare const PageDown = "PageDown";
|
|
12
|
+
export declare const Space = " ";
|
|
13
|
+
export declare const Tab = "Tab";
|
|
14
|
+
export declare const isCharacterKey: (evt: React.KeyboardEvent) => boolean;
|
|
15
|
+
export declare const isNavigationKey: ({ key }: React.KeyboardEvent) => boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const listItemElement: (listEl: HTMLElement, listItemIdx: number) => Element | null;
|
|
2
|
+
export declare function listItemIndex(listItemEl?: HTMLElement): number;
|
|
3
|
+
export declare const listItemId: (el: HTMLElement | null) => string | undefined;
|
|
4
|
+
export declare const closestListItem: (el: HTMLElement) => HTMLElement;
|
|
5
|
+
export declare const closestListItemId: (el: HTMLElement) => string | undefined;
|
|
6
|
+
export declare const closestListItemIndex: (el: HTMLElement) => number;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FocusEvent, KeyboardEvent, RefObject } from "react";
|
|
2
|
+
import { CollectionItem } from "./collectionTypes";
|
|
3
|
+
import { SelectionStrategy, SingleSelectionStrategy } from "./selectionTypes";
|
|
4
|
+
export interface NavigationProps<Item = unknown> {
|
|
5
|
+
cycleFocus?: boolean;
|
|
6
|
+
defaultHighlightedIndex?: number;
|
|
7
|
+
disableHighlightOnFocus?: boolean;
|
|
8
|
+
focusOnHighlight?: boolean;
|
|
9
|
+
focusVisible?: number;
|
|
10
|
+
highlightedIndex?: number;
|
|
11
|
+
indexPositions: CollectionItem<Item>[];
|
|
12
|
+
onHighlight?: (idx: number) => void;
|
|
13
|
+
onKeyboardNavigation?: (evt: KeyboardEvent, idx: number) => void;
|
|
14
|
+
restoreLastFocus?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface NavigationHookProps<Item, Selection extends SelectionStrategy> extends NavigationProps<Item> {
|
|
17
|
+
containerRef: RefObject<HTMLElement>;
|
|
18
|
+
label?: string;
|
|
19
|
+
selected?: Selection extends SingleSelectionStrategy ? CollectionItem<Item> | null : CollectionItem<Item>[];
|
|
20
|
+
}
|
|
21
|
+
export interface KeyboardHookListProps {
|
|
22
|
+
onBlur: (evt: FocusEvent) => void;
|
|
23
|
+
onFocus: (evt: FocusEvent) => void;
|
|
24
|
+
onKeyDown: (evt: KeyboardEvent) => void;
|
|
25
|
+
onMouseDownCapture: () => void;
|
|
26
|
+
onMouseMove: () => void;
|
|
27
|
+
onMouseLeave: () => void;
|
|
28
|
+
}
|
|
29
|
+
export interface NavigationHookResult {
|
|
30
|
+
focusVisible: number;
|
|
31
|
+
controlledHighlighting: boolean;
|
|
32
|
+
highlightedIndex: number;
|
|
33
|
+
setHighlightedIndex: (idx: number) => void;
|
|
34
|
+
keyboardNavigation: RefObject<boolean>;
|
|
35
|
+
listProps: KeyboardHookListProps;
|
|
36
|
+
setIgnoreFocus: (ignoreFocus: boolean) => void;
|
|
37
|
+
}
|