@vuu-ui/vuu-shell 0.8.11 → 0.8.13-debug
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.js +2986 -2
- package/cjs/index.js.map +4 -4
- package/esm/index.js +3027 -2
- package/esm/index.js.map +4 -4
- package/index.css +1145 -1
- package/index.css.map +3 -3
- package/package.json +9 -8
- package/types/ShellContextProvider.d.ts +6 -2
- package/types/feature/Feature.d.ts +2 -0
- package/types/index.d.ts +1 -0
- package/types/layout-management/SaveLayoutPanel.d.ts +4 -3
- package/types/layout-management/layoutTypes.d.ts +6 -1
- package/types/layout-management/useLayoutManager.d.ts +8 -6
- package/types/left-nav/LeftNav.d.ts +9 -5
- package/types/login/LoginPanel.d.ts +3 -2
- package/types/login/VuuLogo.d.ts +2 -0
- package/types/shell-layouts/index.d.ts +1 -0
- package/types/shell-layouts/side-panel/SidePanel.d.ts +9 -0
- package/types/shell-layouts/side-panel/index.d.ts +1 -0
- package/types/shell-layouts/useFullHeightLeftPanel.d.ts +1 -1
- package/types/shell-layouts/useInlayLeftPanel.d.ts +1 -1
- package/types/shell-layouts/useShellLayout.d.ts +2 -1
- package/types/shell.d.ts +5 -3
- package/types/shellTypes.d.ts +5 -1
- package/LICENSE +0 -201
package/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/vuu-shell/src/connection-status/ConnectionStatusIcon.css", "../../../packages/vuu-shell/src/layout-management/SaveLayoutPanel.css", "../../../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}", ".saveLayoutPanel {\n --salt-selectable-foreground-hover: #6d18bdc3;\n --salt-selectable-foreground-selected: #6D18BD;\n --salt-selectable-borderColor-selected: #6D18BD;\n --saltInputLegacy-fontSize: 12px;\n --salt-text-label-fontSize: 10px;\n --saltFormFieldLegacy-label-paddingLeft: 0;\n --saltFormField-label-fontWeight: 400;\n}\n\n.saveLayoutPanel-panelContainer {\n display: flex;\n padding: 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n}\n\n.saveLayoutPanel-panelContent {\n display: flex;\n align-items: flex-start;\n gap: 32px;\n}\n\n.saveLayoutPanel-formContainer {\n display: flex;\n width: 217px;\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n}\n\n.saveLayoutPanel-formField {\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.saveLayoutPanel-inputText {\n color: var(--light-text-secondary, #606477);\n font-family: Nunito Sans Regular;\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n border: none;\n padding-left: 4px;\n width: 100%;\n outline: none;\n}\n\n.saveLayoutPanel-settingsGroup {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-end;\n gap: 10px;\n width: 100%;\n line-height: 16px;\n}\n\n.saveLayoutPanel-screenshotContainer {\n display: flex;\n width: 304px;\n height: 208px;\n padding: 11px 15.5px;\n justify-content: center;\n align-items: center;\n border: 1px solid #E8E8E8;\n background: var(--dark-text-primary, #FFF);\n}\n\n.saveLayoutPanel-screenshot {\n display: flex;\n justify-content: center;\n align-items: center;\n background: lightgray 50% / cover no-repeat;\n width: 273px;\n height: 186px;\n flex-shrink: 0;\n}\n\n.saveLayoutPanel-buttonsContainer {\n display: flex;\n padding-top: 8px;\n justify-content: flex-end;\n align-items: flex-start;\n gap: 8px;\n align-self: stretch;\n}\n\n.saveLayoutPanel-cancelButton,\n.saveLayoutPanel-saveButton {\n display: flex;\n height: fit-content;\n padding: 4px 8px;\n align-items: flex-start;\n gap: 8px;\n border-radius: 6px;\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 12px;\n font-style: normal;\n font-weight: 700;\n line-height: 133.333%;\n letter-spacing: 0.48px;\n text-transform: uppercase;\n}\n\n.saveLayoutPanel-cancelButton {\n color: var(--actionable-primary-foreground-default, #606477);\n background: var(--actionable-primary-background-default, #FFF);\n}\n\n.saveLayoutPanel-saveButton {\n background: #6D18BD;\n border-color: #6D18BD;\n color: white;\n}\n\n.saveLayoutPanel-saveButton.saltButton:disabled {\n background: #6D18BD;\n border-color: #6D18BD;\n color: white;\n opacity: 0.3;\n}\n\n.saveLayoutPanel-saveButton.saltButton:hover {\n background: #F37880;\n border-color: #F37880;\n color: white;\n}\n", ".vuuLayoutList {\n align-self: stretch;\n height: 100%;\n overflow: hidden;\n}\n\n.vuuLayoutList-header {\n color: var(--light-text-primary, #15171B);\n font-weight: 700;\n letter-spacing: 0.48px;\n text-transform: uppercase;\n display: flex;\n padding: 16px 0px;\n border-bottom: 1px solid rgba(119, 124, 148, 0.10);\n line-height: 200%;\n}\n\n.vuuLayoutList-groupName {\n display: flex;\n padding-top: 24px;\n color: var(--light-text-secondary, #606477);\n font-weight: 700;\n letter-spacing: 0.48px;\n line-height: 200%;\n}\n\n.vuuLayoutList-layoutContainer {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 0px;\n flex: 1 1 auto;\n cursor: pointer;\n}\n\n.vuuLayoutList-layoutName {\n color: var(--light-text-primary, #15171B);\n font-weight: 600;\n line-height: 133.333%;\n text-transform: capitalize;\n}\n\n.vuuLayoutList-screenshot {\n width: 60px;\n height: 45.6px;\n border: 1px solid #D6D7DA;\n}\n\n.vuuLayoutList-layoutDetails {\n color: var(--light-text-secondary, #606477);\n font-size: 10px;\n font-weight: 600;\n line-height: 150%;\n}\n", ".vuuFeatureList {\n background: var(--vuuFeatureList-background, var(--salt-container-primary-background));\n height: 100%;\n padding: 180px 32px 0 24px;\n}\n\n.vuuFeatureList-header {\n font-size: 12px;\n font-weight: 700;\n}\n\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 box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);\n margin-bottom: 4px;\n position: relative;\n transition: width .3s ease-in-out;\n z-index: 0;\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-icons-content {\n --menu-width: var(--nav-menu-collapsed-width);\n}\n\n.vuuLeftNav-menu-full-content {\n --menu-width: var(--nav-menu-expanded-width);\n}\n\n.vuuLeftNav-menu-icons-content .vuuLeftNav-menu-secondary,\n.vuuLeftNav-menu-full-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 position: absolute;\n top:0;\n right: 0;\n width: 240px;\n z-index: -1;\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\n.vuuLeftNav [data-icon='tables'] {\n --vuu-icon-svg: var(--svg-tables);\n}\n\n.vuuLeftNav [data-icon='templates'] {\n --vuu-icon-svg: var(--svg-templates);\n}\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\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\n.vuuLeftNav-drawer {\n display: flex;\n padding: 40px 32px 0px 24px;\n flex-direction: column;\n align-items: flex-start;\n flex-shrink: 0;\n align-self: stretch;\n background: #FFF;\n box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);\n height: 100%\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 background: var(--vuuAppHeader-background, var(--salt-container-primary-background));\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 display: flex;\n flex-direction: column;\n height: 100%;\n overflow: auto;\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 flex: 0 0 27px;\n justify-content: space-between;\n}\n\n.vuuContextPanel-title {\n font-size: 20px;\n font-weight: 700;\n white-space: nowrap;\n}\n\n.vuuContextPanel-content {\n flex: 1 1 auto;\n width: 100%;\n\n}", ".vuuShell {\n background-color: var(--vuu-color-gray-25);\n height: var(--vuuShell-height, 100vh);\n width: var(--vuuShell-width, 100vw);\n}\n\n.vuuShell-mainTabs {\n background: var(--salt-container-primary-background);\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\n/* until we reinstat5e the toolbar */\n.vuuToolbarProxy {\n background: var(--salt-container-primary-background);\n}"],
|
|
5
|
-
"mappings": "AAAA
|
|
3
|
+
"sources": ["../../../packages/vuu-shell/src/login/LoginPanel.css", "../../../packages/vuu-shell/src/app-header/AppHeader.css", "../../../packages/vuu-shell/src/connection-status/ConnectionStatusIcon.css", "../../../packages/vuu-shell/src/layout-management/SaveLayoutPanel.css", "../../../packages/vuu-popups/src/portal/Portal.css", "../../../packages/vuu-popups/src/dialog-header/DialogHeader.css", "../../../packages/vuu-popups/src/dialog/Dialog.css", "../../../packages/vuu-popups/src/menu/MenuList.css", "../../../packages/vuu-popups/src/popup/popup-service.css", "../../../packages/vuu-popups/src/popup-menu/PopupMenu.css", "../../../packages/vuu-popups/src/prompt/Prompt.css", "../../../packages/vuu-popups/src/tooltip/Tooltip.css", "../../../packages/vuu-popups/src/notifications/notifications.css", "../../../packages/vuu-shell/src/layout-management/LayoutList.css", "../../../packages/vuu-shell/src/feature-list/FeatureList.css", "../../../packages/vuu-shell/src/left-nav/LeftNav.css", "../../../packages/vuu-shell/src/session-editing-form/SessionEditingForm.css", "../../../packages/vuu-shell/src/shell-layouts/context-panel/ContextPanel.css", "../../../packages/vuu-shell/src/shell-layouts/side-panel/SidePanel.css", "../../../packages/vuu-shell/src/shell.css", "../../../packages/vuu-shell/src/theme-switch/ThemeSwitch.css"],
|
|
4
|
+
"sourcesContent": [".vuuLoginPanel {\n --saltInput-paddingLeft: 8px;\n --login-width: 856px;\n --login-height: 550px;\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 border-radius: 16px;\n box-shadow: 0px 24px 44px 0px rgba(0, 0, 0, 0.25);\n display: flex;\n height: var(--login-height);\n margin: 0 auto;\n width: var(--login-width);\n}\n\n.vuuLoginPanel .saltInput-primary {\n--saltInput-height: 36px;\n}\n\n.vuuLoginPanel-title {\n justify-content: center;\nfont-size: 28px;\nfont-weight: 400;\ndisplay: flex;\n}\n\n\n.vuuLoginPanel-branding {\n align-items: center;\n background-color: var(--vuu-color-purple-50);\n border-radius: 16px 0 0 16px;\n display: flex;\n flex: 0 0 368px;\n flex-direction: column;\n gap: 40px;\n justify-content: center;\n padding: 40px 100px;\n}\n\n.vuuLoginPanel-form {\n background-color: white;\n border-radius: 0 16px 16px 0px;\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: 32px;\n justify-content: center;\n padding: 0 40px;\n}\n\n.vuuLoginPanel-password {\n --vuu-icon-size: 16px;\n}\n\n.vuuLoginPanel-appName {\n color: white;\n font-size: 18px;\n font-weight: 700;\n text-transform: uppercase;\n}\n\n.vuuLoginPanel-login {\n --saltButton-height: 36px;\n --saltButton-borderRadius: 6px;\n width: 100%\n}\n\n\n", ".vuuAppHeader {\n --saltButton-borderRadius: 6px;\n --saltButton-text-color: var(--vuu-color-gray-50);\n --saltButton-padding: 12px;\n --vuuToolbarItem-height: 26px;\n --vuuOverflowContainer-gap: 8px;\n --vuu-icon-color: var(--vuu-color-gray-45);\n --vuu-icon-size: 16px;\n --vuuToolbar-background: var(--vuuAppHeader-background, var(--vuu-color-gray-28));\n --vuuToolbar-borderWidth: 1px;\n --vuuToolbar-borderStyle: solid; \n --vuuToolbar-borderColor: var(--vuu-color-gray-30);\n\n align-items: center;\n display: flex;\n justify-content: flex-end;\n}\n\n.vuu-theme .vuuAppHeader {\n border-radius: 8px;\n \n margin-bottom: 8px;\n}\n\n", ".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}", ".saveLayoutPanel {\n --salt-selectable-foreground-hover: #6d18bdc3;\n --salt-selectable-foreground-selected: #6D18BD;\n --salt-selectable-borderColor-selected: #6D18BD;\n --saltInputLegacy-fontSize: 12px;\n --salt-text-label-fontSize: 10px;\n --saltFormFieldLegacy-label-paddingLeft: 0;\n --saltFormField-label-fontWeight: 400;\n --saltText-color: var(--text-secondary-foreground, #606477);\n}\n\n.saveLayoutPanel-panelContainer {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.saveLayoutPanel-panelContent {\n display: flex;\n align-items: flex-start;\n gap: 32px;\n}\n\n.saveLayoutPanel-formContainer {\n display: flex;\n width: 217px;\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n}\n\n.saveLayoutPanel-formField {\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.saveLayoutPanel-inputText {\n border: none;\n color: var(--light-text-primary, #15171B);\n font-family: Nunito Sans A-Variant, serif;\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n padding-left: 4px;\n width: 100%;\n outline: none;\n}\n\n.saveLayoutPanel-settingsGroup {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-end;\n gap: 10px;\n width: 100%;\n line-height: 16px;\n}\n\n.saveLayoutPanel-screenshotContainer {\n display: flex;\n width: 304px;\n height: 208px;\n padding: 11px 15.5px;\n justify-content: center;\n align-items: center;\n border: 1px solid #E8E8E8;\n background: var(--dark-text-primary, #FFF);\n}\n\n.saveLayoutPanel-screenshot {\n display: flex;\n justify-content: center;\n align-items: center;\n background: lightgray 50% / cover no-repeat;\n width: 273px;\n height: 186px;\n flex-shrink: 0;\n}\n\n.saveLayoutPanel-buttonsContainer {\n display: flex;\n justify-content: flex-end;\n align-items: flex-start;\n align-self: stretch;\n padding-top: 24px;\n gap: 8px;\n}\n\n.saveLayoutPanel-cancelButton,\n.saveLayoutPanel-saveButton {\n display: flex;\n height: fit-content;\n padding: 4px 8px;\n align-items: flex-start;\n gap: 8px;\n border-radius: 6px;\n font-size: 12px;\n font-style: normal;\n font-weight: 700;\n line-height: 133.333%;\n letter-spacing: 0.48px;\n text-transform: uppercase;\n}\n\n.saveLayoutPanel-cancelButton {\n color: var(--actionable-primary-foreground-default, #606477);\n background: var(--actionable-primary-background-default, #FFF);\n}\n\n.saveLayoutPanel-saveButton {\n background: #6D18BD;\n border-color: #6D18BD;\n color: white;\n}\n\n.saveLayoutPanel-saveButton.saltButton:disabled {\n background: #6D18BD;\n border-color: #6D18BD;\n color: white;\n opacity: 0.3;\n}\n\n.saveLayoutPanel-saveButton.saltButton:hover {\n background: #F37880;\n border-color: #F37880;\n color: white;\n}\n", ".vuuPortal {\n background-color: var(--salt-container-primary-background);\n border-radius:4px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n border-color: var(--vuuMenuList-borderColor, var(--salt-container-primary-borderColor));\n border-style: solid;\n border-width: 1px;\n padding: 4px 0;\n z-index: var(--salt-zIndex-modal);\n}\n\n\n.vuuPortal:has(.vuuDropdown-popup-component.vuuList-empty){\n display: none;\n}", ".vuuDialogHeader {\n --saltButton-height: 28px;\n --saltButton-width: 28px;\n --saltToolbar-background: transparent;\n --saltToolbar-height: calc(var(--salt-size-base) + 5px);\n --vuuToolbarProxy-height: 22px;\n --salt-text-fontFamily: Nunito Sans A-Variant, sans-serif;\n\n display: flex;\n align-items: flex-start;\n color: var(--light-text-primary, #15171B);\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 16px;\n font-weight: 600;\n}\n \n.vuuDialogHeader > .Responsive-inner {\n align-items: center;\n}\n \n.vuuDialogHeader > .Responsive-inner > :last-child{\n right: 2px;\n}\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, 16px);\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-body {\n padding-top: 16px;\n}\n\n", ".vuuMenuList {\n --salt-focused-outlineStyle: dashed !important;\n --salt-focused-outlineWidth: 1px !important;\n --vuuListItem-padding: 8px;\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: var(--salt-selectable-background-hover);\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 font-size: var(--vuuMenuList-fontSize, var(--salt-text-label-fontSize));\n font-weight: var(--salt-typography-fontWeight-medium);\n list-style: none;\n outline: 0;\n overflow: hidden;\n padding: var(--vuuMenuList-padding, 0);\n position: absolute;\n}\n\n/* hacky fix until problem is identified (css source code order in prod build )*/\n.vuuPortal > .vuuMenuList {\n position: relative;\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\n/* hacky fix, to be revisited */\n.vuuMenuList.salt-theme {\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n border-color: var(--salt-container-primary-borderColor);\n border-style: solid !important;\n border-width: 1px;\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: var(--vuuPopupMenu-iconColor,#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: var(--vuuPopupMenu-border, none);\n border-radius: var(--vuuPopupMenu-borderRadius, 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}\n\n.vuuPopupMenu-withCaption {\n --vuu-icon-left: calc(100% - 24px); \n --vuu-icon-size: 20px;\n --saltButton-width: auto;\n padding: 0 28px 0 8px;\n}", ".vuuPrompt {\n --saltButton-padding: var(--prompt-padding);\n --saltButton-width: auto;\n --border-width: var(--vuuPrompt-borderWidth, 1px);\n --border-color: var(--vuuPrompt-borderColor, var(--vuu-color-purple-10));\n --prompt-padding: 16px;\n --variant-color: inherit;\n --vuu-icon-color: var(--vuu-color-gray-80);\n --vuu-icon-left: 6px;\n --vuu-icon-size: 24px;\n\n background-color: var(--salt-container-primary-background);\n border-color: var(--border-color);\n border-radius:4px;\n border-style: solid;\n border-width: var(--border-width);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n margin: 0;\n padding: 0;\n position: absolute;\n}\n\n.vuuPrompt-warn {\n --border-color: var(--vuu-color-yellow-20);\n --variant-color: var(--vuu-color-yellow-20);\n}\n\n.vuuPrompt-form {\n display: flex;\n flex-direction: column;\n}\n\n.vuuPrompt-header {\n align-items: center;\n background-color: var(--variant-color);\n display: flex;\n flex: 0 0 32px; \n font-size: 16px;\n font-weight: 700;\n padding: 0 var(--prompt-padding); \n}\n\n.vuuPrompt-header[data-icon]{\n padding-left: 36px;\n}\n\n\n.vuuPrompt-text {\n flex: 1 1 auto;\n padding: var(--prompt-padding);\n\n}\n.vuuPrompt-buttonBar {\n align-items: flex-end;\n display: flex;\n flex: 0 0 32px;\n gap: 6px;\n justify-content: flex-end;\n padding: 0 var(--prompt-padding) var(--prompt-padding) var(--prompt-padding); \n\n}", ".vuuTooltip {\n --tooltip-align: flex-start;\n --tooltip-background: white;\n --tooltip-color: var(--vuu-color-gray-80);\n --tooltip-justify: flex-start;\n --tooltip-top: auto;\n --tooltip-right: auto;\n --tooltip-bottom: auto;\n --tooltip-left: auto;\n align-items: var(--tooltip-align);\n justify-content: var(--tooltip-justify);\n display: flex;\n position: absolute;\n }\n \n .vuuTooltip[data-align='right'] {\n --tooltip-align: center;\n --tooltip-left: 9px;\n }\n \n .vuuTooltip[data-align='left'] {\n --tooltip-align: center;\n --tooltip-left: auto;\n --tooltip-right: 10px;\n }\n \n .vuuTooltip[data-align='above'] {\n --tooltip-justify: center;\n --tooltip-bottom: 9px;\n --tooltip-left: auto;\n }\n .vuuTooltip[data-align='below'] {\n --tooltip-justify: center;\n --tooltip-top: 9px;\n --tooltip-left: auto;\n }\n \n .vuuTooltip-content {\n background-color: var(--tooltip-background);\n border-radius: 4px;\n color: var(--tooltip-color);\n line-height: 24px;\n padding: 2px 6px;\n position: absolute;\n white-space: nowrap;\n top: var(--tooltip-top);\n right: var(--tooltip-right);\n bottom: var(--tooltip-bottom);\n left: var(--tooltip-left);\n }\n \n .vuuTooltip::before {\n background-color: var(--tooltip-background);\n /* background-color: red; */\n content: ' ';\n display: block;\n position: absolute;\n width: 12px;\n height: 12px;\n /* z-index: -1; */\n}\n\n.vuuTooltip[data-align='above']::before {\n transform: translate(0, -18px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='below']::before {\n transform: translate(0, 6px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='right']::before {\n transform: translate(7px, 0px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='left']::before {\n transform: translate(-19px, 0) rotate(45deg);\n}\n\n.vuuTooltip-error {\n --tooltip-background: var(--vuu-color-red-50);\n --tooltip-color: white;\n color: white;\n}", ".vuuToastNotifications-toast {\n --vuu-icon-size: 24px;\n position: absolute;\n display: flex;\n padding: 8px 32px 8px 8px;\n align-items: center;\n gap: 8px;\n border-radius: 6px;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.40);\n z-index: 100000;\n}\n\n.vuuToastNotifications-toastContent{\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.vuuToastNotifications-toastHeader{\n font-size: 16px;\n font-weight: 700;\n}\n\n.error {\n background: var(--status-error-background-emphasize, #E23434);\n}\n\n.success {\n background: var(--status-success-background-emphasize, #248913);\n}\n\n.info {\n background: var(--status-info-background-emphasize, #017CB1);\n}\n\n.warning {\n background: var(--status-warning-background-emphasize, #F4CA33);\n}\n\n.error,\n.success,\n.info {\n color: white;\n}\n\n.vuuToastNotifications-toastIcon {\n height: var(--vuu-icon-height, var(--vuu-icon-size, 24px));\n width: var(--vuu-icon-width, var(--vuu-icon-size, 24px));\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}\n\n.success-icon{\n --vuu-icon-svg: var(--vuu-svg-tick);\n}\n\n.warning-icon{\n --vuu-icon-svg: var(--vuu-svg-warn-triangle);\n background-color: #000000;\n}\n\n.info-icon {\n --vuu-icon-svg: var(--vuu-svg-info-circle);\n}\n.error-icon{\n --vuu-icon-svg: var(--vuu-svg-alert-circle);\n}\n\n.success-icon, .info-icon, .error-icon{\n background-color: #ffffff;\n}\n", ".vuuLayoutList {\n --vuuMeasuredContainer-flex: 1 1 1px;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n\n.vuuLayoutList-header {\n color: var(--light-text-primary, #15171B);\n flex: 0 0 47px;\n font-weight: 700;\n letter-spacing: 0.48px;\n text-transform: uppercase;\n display: flex;\n padding: 16px 0px;\n border-bottom: 1px solid rgba(119, 124, 148, 0.10);\n line-height: 200%;\n}\n\n.vuuLayoutList-groupName {\n display: flex;\n padding-top: 24px;\n color: var(--light-text-secondary, #606477);\n font-weight: 700;\n letter-spacing: 0.48px;\n line-height: 200%;\n}\n\n.vuuLayoutList-layoutContainer {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 0px;\n flex: 1 1 auto;\n cursor: pointer;\n}\n\n.vuuLayoutList-layoutName {\n color: var(--light-text-primary, #15171B);\n font-weight: 600;\n line-height: 133.333%;\n text-transform: capitalize;\n}\n\n.vuuLayoutList-screenshot {\n width: 60px;\n height: 45.6px;\n border: 1px solid #D6D7DA;\n}\n\n.vuuLayoutList-layoutDetails {\n color: var(--light-text-secondary, #606477);\n font-size: 10px;\n font-weight: 600;\n line-height: 150%;\n}\n", ".vuuFeatureList {\n background: var(--vuuFeatureList-background, var(--salt-container-primary-background));\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 195px 32px 16px 24px;\n}\n\n.vuuFeatureList-header {\n flex: 0 0 40px;\n font-size: 12px;\n font-weight: 700;\n line-height: 2;\n}\n\n.vuuFeatureList-content {\n flex: 1 1 auto;\n font-size: 12px;\n font-weight: 700;\n}\n\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-features: 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-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-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 --menu-level-2-width: 0px;\n\n box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);\n display: flex;\n height: calc(100% - 4px);\n margin-bottom: 4px;\n overflow: hidden;\n position: relative;\n transition: width .2s ease-out;\n z-index: 0;\n /* width: calc(var(--menu-width) + var(--menu-level-2-width)); */\n /* width: 100%; */\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-icons-content {\n --menu-width: var(--nav-menu-collapsed-width);\n --menu-level-2-width: var(--nav-menu-content-width);\n}\n\n.vuuLeftNav-menu-full-content {\n --menu-width: var(--nav-menu-expanded-width);\n --menu-level-2-width: var(--nav-menu-content-width);\n}\n\n.vuuLeftNav-menu-icons-content .vuuLeftNav-menu-secondary,\n.vuuLeftNav-menu-full-content .vuuLeftNav-menu-secondary {\n display: flex;\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: flex-basis ease-out .2s;\n flex-grow:0;\n flex-shrink:0;\n flex-basis: var(--menu-width);\n}\n\n.vuuLeftNav-menu-secondary {\n flex: 1 1 auto;\n display: none;\n /* position: absolute; */\n top:0;\n right: 0;\n flex-grow:0;\n flex-shrink:0;\n flex-basis: var(--nav-menu-content-width, 240px);\n z-index: -1;\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\n.vuuLeftNav [data-icon='demo'] {\n --vuu-icon-svg: var(--svg-demo);\n}\n\n.vuuLeftNav [data-icon='tables'] {\n --vuu-icon-svg: var(--svg-tables);\n}\n\n.vuuLeftNav [data-icon='features'] {\n --vuu-icon-svg: var(--svg-features);\n}\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\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\n.vuuLeftNav-drawer {\n display: flex;\n padding: 40px 32px 0px 24px;\n flex-direction: column;\n align-items: flex-start;\n flex-shrink: 0;\n align-self: stretch;\n background: #FFF;\n box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);\n height: 100%\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}", ".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 display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0 !important;\n overflow: auto;\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 !important;\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 flex: 0 0 27px !important;\n justify-content: space-between;\n}\n\n.vuuContextPanel-title {\n font-size: 20px;\n font-weight: 700;\n white-space: nowrap;\n}\n\n.vuuContextPanel-content {\n flex: 1 1 auto;\n width: 100%;\n\n}", ".vuuShellSidePanel {\n transition: width .2s ease-out;\n width: var(--shell-left-nav-size);\n}", ".vuuShell {\n background-color: var(--vuu-color-gray-25);\n height: var(--vuuShell-height, 100vh);\n width: var(--vuuShell-width, 100vw);\n}\n\n.vuuShell-mainTabs {\n background: var(--salt-container-primary-background);\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\n/* until we reinstat5e the toolbar */\n.vuuToolbarProxy {\n background: var(--salt-container-primary-background);\n}\n\n.vuuShell-mainTabs > .vuuTabstrip > .vuuOverflowContainer-wrapContainer {\n background: var(--vuu-color-gray-25);\n}\n\n.vuuShell-mainTabs {\n --vuuTab-height: 28px;\n border: solid 1px #D6D7DA;\n border-top: none !important;\n border-radius: 6px;\n height: 100%;\n padding: 36px 8px 8px 8px;\n position: relative;\n width: 100%;\n}\n\n.vuuShell-mainTabs > .vuuTabstrip {\n --vuuTabstrip-height: 28px;\n --saltTabs-tabstrip-height: 29px;\n --tabstrip-height: 29px;\n left:-1px;\n padding-bottom: 7px;\n position: absolute !important;\n right: 1px;\n top: 0;\n width: calc(100% + 2px) !important;\n} \n\n.vuuShell-mainTabs > .vuuTabHeader {\n border-bottom: none;\n} \n\n.vuuShell-mainTabs > .vuuTabstrip:before {\n background-color: transparent;\n border-radius: 0 6px 0 0;\n border-left: solid 1px #D6D7DA;\n border-right: solid 1px #D6D7DA;\n border-top: solid 1px #D6D7DA;\n content: '';\n position: absolute;\n bottom: 0;\n left:0;\n right:0;\n height: 8px;\n z-index: 1;\n}\n\n.vuuTab.MainTab {\n --vuuTabMenu-top: -1px;\n background-color: #F1F2F4;\n border-color: #D6D7DA;\n border-radius: 6px 6px 0 0;\n border-width: 1px;\n border-style: solid; \n position: relative;\n}\n\n.MainTab.vuuTab-selected {\n background-color: white;\n border-bottom-color: white;\n z-index: 1;\n\n}\n\n.MainTab.vuuTab-selected:before{\n background-color: #6d188b;;\n content: '';\n position: absolute;\n height: 100%;\n left:0;\n top:0;\n border-radius: 6px 0 0 0;\n width: 6px;\n}\n\n.MainTab.vuuTab:hover:before{\n background-color: #F37880;\n content: '';\n position: absolute;\n height: 100%;\n left:0;\n top:0;\n border-radius: 6px 0 0 0;\n width: 6px;\n}\n\n.vuuTab.MainTab .vuuTab-main {\n background-color: transparent;\n font-weight: 700;\n height: 29px;\n padding: 0 24px;\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"],
|
|
5
|
+
"mappings": ";AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACA;AAAA;AAGA;AACE;AACF;AACA;AACA;AAAA;AAIA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;AClEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAGF;AACE;AAEA;AAAA;;;ACrBF;AACC;AAAA;AAGD;AACC;AAAA;AAID;AACC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGD;AACC;AACA;AACA;AACA;AACA;AACA;AAAA;AAGD;AACC;AACA;AAAA;AAGD;AACC;AACA;AACA;AACA;AAAA;AAGD;AACC;AACA;AACA;AACA;AAAA;AAGD;AAAA;AAEE;AACA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;;;ACjEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;AC9HF;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AAAA;;;ACdJ;AACI;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;;;ACrBJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;ACXF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAAA;AAGE;AACA;AACA;AAAA;AAEF;AAAA;AAEE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AAAA;;;ACxIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;;;ACZF;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AAEI;AAAA;AAGJ;AACI;AACA;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AAAA;;;AC1CJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAIJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC1DJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAEA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACE;AACA;AACA;AAAA;;;ACjFF;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AAAA;AAAA;AAGI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAEJ;AACI;AAAA;AAGJ;AAAA;AAAA;AACI;AAAA;;;ACtEJ;AACI;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AAAA;;;ACxDJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;;;AClBJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAMJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AAAA;AAEI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAIJ;AACI;AAEI;AAAA;AAGJ;AACI;AAAA;AAAA;AAIR;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC9KJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACnDJ;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;;;ACvDJ;AACI;AACA;AAAA;;;ACFJ;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;;;ACjHF;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAEJ;AACI;AAAA;AAGJ;AACI;AACA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuu-ui/vuu-shell",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.13-debug",
|
|
4
4
|
"description": "VUU UI Shell",
|
|
5
5
|
"author": "heswell",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
"@salt-ds/core": "1.8.0",
|
|
9
9
|
"@salt-ds/icons": "1.5.1",
|
|
10
10
|
"@salt-ds/lab": "1.0.0-alpha.15",
|
|
11
|
-
"@vuu-ui/vuu-data": "0.8.
|
|
12
|
-
"@vuu-ui/vuu-
|
|
13
|
-
"@vuu-ui/vuu-
|
|
14
|
-
"@vuu-ui/vuu-
|
|
15
|
-
"@vuu-ui/vuu-table
|
|
16
|
-
"@vuu-ui/vuu-
|
|
17
|
-
"@vuu-ui/vuu-
|
|
11
|
+
"@vuu-ui/vuu-data": "0.8.13-debug",
|
|
12
|
+
"@vuu-ui/vuu-icons": "0.8.13-debug",
|
|
13
|
+
"@vuu-ui/vuu-filters": "0.8.13-debug",
|
|
14
|
+
"@vuu-ui/vuu-layout": "0.8.13-debug",
|
|
15
|
+
"@vuu-ui/vuu-table": "0.8.13-debug",
|
|
16
|
+
"@vuu-ui/vuu-table-extras": "0.8.13-debug",
|
|
17
|
+
"@vuu-ui/vuu-ui-controls": "0.8.13-debug",
|
|
18
|
+
"@vuu-ui/vuu-utils": "0.8.13-debug"
|
|
18
19
|
},
|
|
19
20
|
"peerDependencies": {
|
|
20
21
|
"classnames": "^2.2.6",
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-
|
|
1
|
+
import { ColumnDescriptor, ListOption } from "@vuu-ui/vuu-table-types";
|
|
2
2
|
import { RpcResponseHandler } from "@vuu-ui/vuu-data-react";
|
|
3
3
|
import { ReactElement, ReactNode } from "react";
|
|
4
|
+
import { VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
5
|
+
export type LookupTableProvider = (table: VuuTable) => ListOption[];
|
|
6
|
+
export type DefaultColumnConfiguration = <T extends string = string>(tableName: T, columnName: string) => Partial<ColumnDescriptor> | undefined;
|
|
4
7
|
export interface ShellContextProps {
|
|
5
|
-
getDefaultColumnConfig?:
|
|
8
|
+
getDefaultColumnConfig?: DefaultColumnConfiguration;
|
|
9
|
+
getLookupValues?: LookupTableProvider;
|
|
6
10
|
handleRpcResponse?: RpcResponseHandler;
|
|
7
11
|
}
|
|
8
12
|
export interface ShellProviderProps {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { ViewProps } from "@vuu-ui/vuu-layout";
|
|
2
3
|
export interface FeatureProps<P extends object | undefined = any> {
|
|
3
4
|
/**
|
|
4
5
|
props that will be passed to the lazily loaded component.
|
|
5
6
|
*/
|
|
6
7
|
ComponentProps?: P;
|
|
8
|
+
ViewProps?: Partial<Pick<ViewProps, "closeable" | "header">>;
|
|
7
9
|
css?: string;
|
|
8
10
|
height?: number;
|
|
9
11
|
title?: string;
|
package/types/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { LayoutMetadataDto } from "./layoutTypes";
|
|
3
3
|
import "./SaveLayoutPanel.css";
|
|
4
4
|
type SaveLayoutPanelProps = {
|
|
5
|
-
onCancel: () => void;
|
|
6
|
-
onSave: (layoutMetadata: Omit<LayoutMetadata, "id">) => void;
|
|
7
5
|
componentId?: string;
|
|
6
|
+
defaultTitle?: string;
|
|
7
|
+
onCancel: () => void;
|
|
8
|
+
onSave: (layoutMetadata: LayoutMetadataDto) => void;
|
|
8
9
|
};
|
|
9
10
|
export declare const SaveLayoutPanel: (props: SaveLayoutPanelProps) => JSX.Element;
|
|
10
11
|
export {};
|
|
@@ -7,8 +7,13 @@ export interface LayoutMetadata extends WithId {
|
|
|
7
7
|
group: string;
|
|
8
8
|
screenshot: string;
|
|
9
9
|
user: string;
|
|
10
|
-
|
|
10
|
+
created: string;
|
|
11
11
|
}
|
|
12
|
+
export type LayoutMetadataDto = Omit<LayoutMetadata, "id" | "created">;
|
|
12
13
|
export interface Layout extends WithId {
|
|
13
14
|
json: LayoutJSON;
|
|
14
15
|
}
|
|
16
|
+
export type ApplicationLayout = {
|
|
17
|
+
username: string;
|
|
18
|
+
definition: LayoutJSON;
|
|
19
|
+
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { LayoutJSON } from "@vuu-ui/vuu-layout";
|
|
3
|
-
import { LayoutMetadata } from "./layoutTypes";
|
|
2
|
+
import { ApplicationJSON, ApplicationSettings, LayoutJSON } from "@vuu-ui/vuu-layout";
|
|
3
|
+
import { LayoutMetadata, LayoutMetadataDto } from "./layoutTypes";
|
|
4
4
|
export declare const LayoutManagementContext: React.Context<{
|
|
5
5
|
layoutMetadata: LayoutMetadata[];
|
|
6
|
-
saveLayout: (n:
|
|
7
|
-
|
|
6
|
+
saveLayout: (n: LayoutMetadataDto) => void;
|
|
7
|
+
applicationJson: ApplicationJSON;
|
|
8
8
|
saveApplicationLayout: (layout: LayoutJSON) => void;
|
|
9
|
+
saveApplicationSettings: (settings: ApplicationSettings) => void;
|
|
9
10
|
loadLayoutById: (id: string) => void;
|
|
10
11
|
}>;
|
|
11
12
|
type LayoutManagementProviderProps = {
|
|
@@ -14,9 +15,10 @@ type LayoutManagementProviderProps = {
|
|
|
14
15
|
export declare const LayoutManagementProvider: (props: LayoutManagementProviderProps) => JSX.Element;
|
|
15
16
|
export declare const useLayoutManager: () => {
|
|
16
17
|
layoutMetadata: LayoutMetadata[];
|
|
17
|
-
saveLayout: (n:
|
|
18
|
-
|
|
18
|
+
saveLayout: (n: LayoutMetadataDto) => void;
|
|
19
|
+
applicationJson: ApplicationJSON;
|
|
19
20
|
saveApplicationLayout: (layout: LayoutJSON) => void;
|
|
21
|
+
saveApplicationSettings: (settings: ApplicationSettings) => void;
|
|
20
22
|
loadLayoutById: (id: string) => void;
|
|
21
23
|
};
|
|
22
24
|
export {};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { HTMLAttributes } from "react";
|
|
2
2
|
import { FeatureProps } from "../feature";
|
|
3
3
|
import "./LeftNav.css";
|
|
4
|
-
|
|
4
|
+
export type NavDisplayStatus = "menu-full" | "menu-icons" | "menu-full-content" | "menu-icons-content";
|
|
5
|
+
export type NavDisplayStatusHandler = (navDisplayStatus: NavDisplayStatus) => void;
|
|
6
|
+
export interface LeftNavProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
7
|
"data-path"?: string;
|
|
8
|
+
defaultActiveTabIndex?: number;
|
|
9
|
+
defaultExpanded?: boolean;
|
|
6
10
|
features: FeatureProps[];
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
onActiveChange?: (activeTabIndex: number) => void;
|
|
12
|
+
onTogglePrimaryMenu?: (expanded: boolean) => void;
|
|
9
13
|
sizeCollapsed?: number;
|
|
10
14
|
sizeContent?: number;
|
|
11
15
|
sizeExpanded?: number;
|
|
16
|
+
tableFeatures: FeatureProps[];
|
|
12
17
|
}
|
|
13
|
-
export declare const LeftNav: (
|
|
14
|
-
export {};
|
|
18
|
+
export declare const LeftNav: (props: LeftNavProps) => JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HTMLAttributes } from "react";
|
|
2
2
|
import "./LoginPanel.css";
|
|
3
3
|
export interface LoginPanelProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSubmit"> {
|
|
4
|
-
|
|
4
|
+
appName?: string;
|
|
5
|
+
onSubmit: (username: string, password?: string) => void;
|
|
5
6
|
requirePassword?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare const LoginPanel: ({ requirePassword, onSubmit, }: LoginPanelProps) => JSX.Element;
|
|
8
|
+
export declare const LoginPanel: ({ appName, className, requirePassword, onSubmit, ...htmlAttributes }: LoginPanelProps) => JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import "./SidePanel.css";
|
|
3
|
+
export interface SidePanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
open?: boolean;
|
|
5
|
+
path?: string;
|
|
6
|
+
sizeOpen?: number;
|
|
7
|
+
sizeClosed?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const SidePanel: ({ children, open, sizeClosed, sizeOpen, style: styleProp, ...htmlAttributes }: SidePanelProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./SidePanel";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
2
|
import { ShellLayoutProps } from "./useShellLayout";
|
|
3
|
-
export declare const useFullHeightLeftPanel: ({ appHeader,
|
|
3
|
+
export declare const useFullHeightLeftPanel: ({ appHeader, LeftSidePanelProps, }: ShellLayoutProps) => ReactElement;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
2
|
import { ShellLayoutProps } from "./useShellLayout";
|
|
3
|
-
export declare const useInlayLeftPanel: ({ appHeader,
|
|
3
|
+
export declare const useInlayLeftPanel: ({ appHeader, LeftSidePanelProps, }: ShellLayoutProps) => ReactElement;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
|
+
import { ShellProps } from "../shell";
|
|
2
3
|
export type ShellLayoutType = "full-height" | "inlay";
|
|
3
4
|
export interface ShellLayoutProps {
|
|
5
|
+
LeftSidePanelProps: ShellProps["LeftSidePanelProps"];
|
|
4
6
|
appHeader: ReactElement;
|
|
5
|
-
leftSidePanel?: ReactElement;
|
|
6
7
|
}
|
|
7
8
|
export declare const useShellLayout: ({ leftSidePanelLayout, ...props }: ShellLayoutProps & {
|
|
8
9
|
leftSidePanelLayout?: "full-height" | "inlay" | undefined;
|
package/types/shell.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { HTMLAttributes, ReactElement, ReactNode } from "react";
|
|
2
1
|
import { LayoutProviderProps } from "@vuu-ui/vuu-layout";
|
|
2
|
+
import { HTMLAttributes, ReactNode } from "react";
|
|
3
|
+
import { SidePanelProps } from "./shell-layouts";
|
|
3
4
|
import { SaveLocation } from "./shellTypes";
|
|
4
5
|
import "./shell.css";
|
|
5
6
|
export type VuuUser = {
|
|
6
7
|
username: string;
|
|
7
8
|
token: string;
|
|
8
9
|
};
|
|
10
|
+
export type LayoutTemplateName = "full-height" | "inlay";
|
|
9
11
|
export interface ShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
10
12
|
LayoutProps?: Pick<LayoutProviderProps, "createNewChild" | "pathToDropTarget">;
|
|
13
|
+
LeftSidePanelProps?: SidePanelProps;
|
|
11
14
|
children?: ReactNode;
|
|
12
|
-
leftSidePanel?: ReactElement;
|
|
13
15
|
leftSidePanelLayout?: "full-height" | "inlay";
|
|
14
16
|
loginUrl?: string;
|
|
15
17
|
saveLocation?: SaveLocation;
|
|
@@ -17,4 +19,4 @@ export interface ShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
17
19
|
serverUrl?: string;
|
|
18
20
|
user: VuuUser;
|
|
19
21
|
}
|
|
20
|
-
export declare const Shell: ({ LayoutProps, children, className: classNameProp,
|
|
22
|
+
export declare const Shell: ({ LayoutProps, LeftSidePanelProps, children, className: classNameProp, leftSidePanelLayout, loginUrl, saveLocation, saveUrl, serverUrl, user, ...htmlAttributes }: ShellProps) => JSX.Element | null;
|
package/types/shellTypes.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
1
2
|
declare global {
|
|
2
3
|
const vuuConfig: Promise<VuuConfig>;
|
|
3
4
|
}
|
|
@@ -9,7 +10,8 @@ export interface FeatureConfig {
|
|
|
9
10
|
css?: string;
|
|
10
11
|
leftNavLocation: "vuu-features" | "vuu-tables";
|
|
11
12
|
featureProps?: {
|
|
12
|
-
schema?:
|
|
13
|
+
schema?: "*" | VuuTable;
|
|
14
|
+
schemas?: VuuTable[];
|
|
13
15
|
};
|
|
14
16
|
}
|
|
15
17
|
export type Features = {
|
|
@@ -20,3 +22,5 @@ export interface VuuConfig {
|
|
|
20
22
|
authUrl?: string;
|
|
21
23
|
websocketUrl: string;
|
|
22
24
|
}
|
|
25
|
+
export declare const isWildcardSchema: (schema?: "*" | VuuTable) => schema is "*";
|
|
26
|
+
export declare const isTableSchema: (schema?: "*" | VuuTable) => schema is VuuTable;
|