@vuu-ui/vuu-shell 0.7.6-debug → 0.7.6
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 +2 -1067
- package/cjs/index.js.map +2 -2
- package/esm/index.js +2 -1072
- package/esm/index.js.map +2 -2
- package/index.css +1 -208
- package/index.css.map +1 -1
- package/package.json +4 -4
package/esm/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/vuu-shell/src/connection-status/ConnectionStatusIcon.tsx", "../../../packages/vuu-shell/src/density-switch/DensitySwitch.tsx", "../../../packages/vuu-shell/src/feature/Feature.tsx", "../../../packages/vuu-shell/src/feature/ErrorBoundary.jsx", "../../../packages/vuu-shell/src/feature/Loader.tsx", "../../../packages/vuu-shell/src/login/LoginPanel.tsx", "../../../packages/vuu-shell/src/login/login-utils.ts", "../../../packages/vuu-shell/src/session-editing-form/SessionEditingForm.tsx", "../../../packages/vuu-shell/src/shell.tsx", "../../../packages/vuu-shell/src/ShellContextProvider.tsx", "../../../packages/vuu-shell/src/layout-config/use-layout-config.ts", "../../../packages/vuu-shell/src/layout-config/local-config.ts", "../../../packages/vuu-shell/src/layout-config/remote-config.ts", "../../../packages/vuu-shell/src/app-header/AppHeader.tsx", "../../../packages/vuu-shell/src/user-profile/UserProfile.tsx", "../../../packages/vuu-shell/src/user-profile/UserPanel.tsx", "../../../packages/vuu-shell/src/get-layout-history.ts", "../../../packages/vuu-shell/src/theme-switch/ThemeSwitch.tsx", "../../../packages/vuu-shell/src/theme-provider/ThemeProvider.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useEffect, useState } from 'react';\nimport cx from 'classnames';\nimport './ConnectionStatusIcon.css';\n\ntype connectionStatus = 'connected' | 'reconnected' | 'connecting' | 'disconnected';\n\ninterface ConnectionStatusProps {\n\tconnectionStatus: connectionStatus\n\tclassName?: string;\n\tprops?: unknown;\n\telement?: string;\n}\n\nexport const ConnectionStatusIcon = ({ connectionStatus, className, element = 'span', ...props}: ConnectionStatusProps) => {\n\tconst [classBase, setClassBase] = useState<string>('vuuConnectingStatus');\n\tuseEffect(() => {\n\t\tswitch(connectionStatus) {\n\t\t\tcase 'connected':\n\t\t\tcase 'reconnected':\n\t\t\t\tsetClassBase('vuuActiveStatus');\n\t\t\t\tbreak;\n\t\t\tcase 'connecting':\n\t\t\t\tsetClassBase('vuuConnectingStatus');\n\t\t\t\tbreak;\n\t\t\tcase 'disconnected':\n\t\t\t\tsetClassBase('vuuDisconnectedStatus');\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}, [connectionStatus]);\n\n\tconst statusIcon = React.createElement (\n\t\telement,\n\t\t{\n\t\t\t...props,\n\t\t\tclassName: cx('vuuStatus vuuIcon', classBase, className)\n\t\t},\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<div className='vuuStatus-container salt-theme'>\n\t\t\t\t{statusIcon}\n\t\t\t\t<div\tclassName='vuuStatus-text'>Status: {connectionStatus.toUpperCase()}</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}", "import { Dropdown } from \"@heswell/salt-lab\";\nimport { Density } from \"@salt-ds/core\";\nimport { HTMLAttributes, useCallback } from \"react\";\nimport cx from \"classnames\";\n\nconst classBase = \"vuuDensitySwitch\";\n\nconst densities:Density[] = [\"high\", \"medium\", \"low\", \"touch\"];\nconst DEFAULT_DENSITY = \"high\";\n\nexport interface DensitySwitchProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n defaultDensity?: Density;\n density?: Density;\n onDensityChange: (density: Density) => void;\n}\n\nexport const DensitySwitch = ({\n className: classNameProp,\n defaultDensity=DEFAULT_DENSITY,\n onDensityChange,\n}:DensitySwitchProps) => {\n const handleSelectionChange = useCallback((_event, selectedItem) => {\n onDensityChange(selectedItem);\n }, [onDensityChange])\n\n const className = cx(classBase, classNameProp);\n\n return (\n <Dropdown\n className={className}\n source={densities}\n defaultSelected={defaultDensity}\n onSelectionChange={handleSelectionChange}\n />\n )\n}", "import React, { Suspense, useEffect } from \"react\";\nimport { registerComponent } from \"@vuu-ui/vuu-layout\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\nimport { Loader } from \"./Loader\";\n\nconst componentsMap = new Map();\n\nconst useCachedFeature = (url: string) => {\n useEffect(\n () => () => {\n componentsMap.delete(url);\n },\n [url]\n );\n\n if (!componentsMap.has(url)) {\n componentsMap.set(\n url,\n React.lazy(() => import(/* @vite-ignore */ url))\n );\n }\n\n return componentsMap.get(url);\n};\n\nexport interface FeatureProps<Params extends object | undefined = undefined> {\n height?: number;\n url: string;\n css?: string;\n width?: number;\n params: Params;\n}\n\nfunction RawFeature<Params extends object | undefined>({\n url,\n css,\n params,\n ...props\n}: FeatureProps<Params>) {\n console.log(\"Feature render\", { css, url, props });\n useEffect(() => {\n console.log(\"%cFeature mount\", \"color: green;\");\n return () => {\n console.log(\"%cFeature unmount\", \"color:red;\");\n };\n }, []);\n\n if (css) {\n import(/* @vite-ignore */ css, { assert: { type: \"css\" } }).then(\n (cssModule) => {\n console.log(\"%cInject Styles\", \"color: blue;font-weight: bold\");\n document.adoptedStyleSheets = [\n ...document.adoptedStyleSheets,\n cssModule.default,\n ];\n }\n );\n }\n\n const LazyFeature = useCachedFeature(url);\n return (\n <ErrorBoundary>\n <Suspense fallback={<Loader />}>\n <LazyFeature {...props} {...params} />\n </Suspense>\n </ErrorBoundary>\n );\n}\n\nexport const Feature = React.memo(RawFeature);\nFeature.displayName = \"Feature\";\nregisterComponent(\"Feature\", Feature, \"view\");\n", "import React from 'react';\n// TODO\nexport class ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { errorMessage: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { errorMessage: error.message };\n }\n\n componentDidCatch(error, errorInfo) {\n // You can also log the error to an error reporting service\n console.log(error, errorInfo);\n }\n\n render() {\n if (this.state.errorMessage) {\n return (\n <>\n <h1>Something went wrong.</h1>\n <p>{this.state.errorMessage}</p>\n </>\n );\n }\n\n return this.props.children;\n }\n}\n", "// TODO\nexport const Loader = () => <div className=\"hwLoader\">loading</div>;\n", "import { ChangeEvent, HTMLAttributes, useState } from \"react\";\nimport { Button } from \"@salt-ds/core\";\nimport { FormField, Input } from \"@heswell/salt-lab\";\n\nimport \"./LoginPanel.css\";\n\nconst classBase = \"vuuLoginPanel\";\n\nexport interface LoginPanelProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onSubmit\"> {\n onSubmit: (username: string, password: string) => void;\n}\n\nexport const LoginPanel = ({ onSubmit }: LoginPanelProps) => {\n const [username, setUserName] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n\n const login = () => {\n onSubmit(username, password);\n };\n\n const handleUsername = (\n _event: ChangeEvent<HTMLInputElement>,\n value: string\n ) => {\n setUserName(value);\n };\n\n const handlePassword = (\n _event: ChangeEvent<HTMLInputElement>,\n value: string\n ) => {\n setPassword(value);\n };\n\n const dataIsValid = username.trim() !== \"\" && password.trim() !== \"\";\n\n return (\n <div className={classBase}>\n <FormField label=\"Username\" style={{ width: 200 }}>\n <Input value={username} id=\"text-username\" onChange={handleUsername} />\n </FormField>\n\n <FormField label=\"Password\" style={{ width: 200 }}>\n <Input\n type=\"password\"\n value={password}\n id=\"text-password\"\n onChange={handlePassword}\n />\n </FormField>\n\n <Button\n className={`${classBase}-login`}\n disabled={!dataIsValid}\n onClick={login}\n variant=\"cta\"\n >\n Login\n </Button>\n </div>\n );\n};\n", "import { getCookieValue } from \"@vuu-ui/vuu-utils\";\n\nexport const getAuthDetailsFromCookies = () => {\n const username = getCookieValue(\"vuu-username\");\n const token = getCookieValue(\"vuu-auth-token\");\n return [username, token];\n};\n\nexport const redirectToLogin = (loginUrl = \"login.html\") => {\n window.location.href = loginUrl;\n};\n\nexport const logout = (loginUrl?: string) => {\n document.cookie = \"vuu-username= ; expires = Thu, 01 Jan 1970 00:00:00 GMT\";\n document.cookie = \"vuu-auth-token= ; expires = Thu, 01 Jan 1970 00:00:00 GMT\";\n redirectToLogin(loginUrl);\n};\n", "import {\n ChangeEvent,\n FocusEvent,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport cx from \"classnames\";\nimport {\n VuuColumnDataType,\n VuuDataRow,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { useIdMemo } from \"@salt-ds/core\";\nimport { Button } from \"@salt-ds/core\";\nimport {\n DataSource,\n isErrorResponse,\n RemoteDataSource,\n TableSchema,\n} from \"@vuu-ui/vuu-data\";\nimport {\n buildColumnMap,\n isValidNumber,\n shallowEquals,\n} from \"@vuu-ui/vuu-utils\";\n\nimport \"./SessionEditingForm.css\";\n\ntype FormFieldDescriptor = {\n label?: string;\n name: string;\n type: VuuColumnDataType;\n description: string;\n readonly?: boolean;\n required?: boolean;\n};\n\nexport type FormConfig = {\n title: string;\n key: string;\n fields: FormFieldDescriptor[];\n};\n\nexport interface SessionEditingFormProps\n extends HTMLAttributes<HTMLDivElement> {\n config: FormConfig;\n onClose: () => void;\n dataSource?: DataSource;\n schema?: TableSchema;\n}\n\nconst classBase = \"vuuSessionEditingForm\";\n\nconst getField = (\n fields: FormFieldDescriptor[],\n name: string\n): FormFieldDescriptor => {\n const field = fields.find((f) => f.name === name);\n if (field) {\n return field;\n } else {\n throw Error(`SessionEditingForm, no field '${name}' found`);\n }\n};\n\nconst getFieldNameAndValue = (\n evt: ChangeEvent | FocusEvent\n): [string, string] => {\n const {\n dataset: { field },\n value,\n } = evt.target as HTMLInputElement;\n if (field === undefined) {\n throw Error(\"SessionEditingForm, form field has no field name\");\n }\n return [field, value];\n};\n\nconst Status = {\n uninitialised: 0,\n unchanged: 1,\n changed: 2,\n invalid: 3,\n};\n\nfunction getTypedValue(\n value: string,\n type: VuuColumnDataType,\n throwIfUndefined?: false\n): VuuRowDataItemType | undefined;\nfunction getTypedValue(\n value: string,\n type: VuuColumnDataType,\n throwIfUndefined: true\n): VuuRowDataItemType;\nfunction getTypedValue(\n value: string,\n type: VuuColumnDataType,\n throwIfUndefined = false\n): VuuRowDataItemType | undefined {\n switch (type) {\n case \"int\":\n case \"long\": {\n const typedValue = parseInt(value, 10);\n if (isValidNumber(typedValue)) {\n return typedValue;\n } else if (throwIfUndefined) {\n throw Error(\"SessionEditingForm getTypedValue\");\n } else {\n return undefined;\n }\n }\n\n case \"double\": {\n const typedValue = parseFloat(value);\n if (isValidNumber(typedValue)) {\n return typedValue;\n }\n return undefined;\n }\n\n case \"boolean\":\n return value === \"true\" ? true : false;\n default:\n return value;\n }\n}\n\nconst getDataSource = (\n dataSource?: DataSource,\n schema?: TableSchema\n): DataSource => {\n if (dataSource) {\n return dataSource;\n } else if (schema) {\n return new RemoteDataSource({\n bufferSize: 0,\n table: schema.table,\n columns: schema.columns.map((col) => col.name),\n }) as DataSource;\n } else {\n throw Error(\n \"SessionEditingForm: either a DataSource or a TableSchema must be provided\"\n );\n }\n};\n\ntype FormValues = { [key: string]: VuuRowDataItemType | undefined };\n\nexport const SessionEditingForm = ({\n className,\n config: { fields, key: keyField },\n dataSource: dataSourceProp,\n id: idProp,\n onClose,\n schema,\n ...htmlAttributes\n}: SessionEditingFormProps) => {\n const [values, setValues] = useState<FormValues>();\n const [errorMessage, setErrorMessage] = useState(\"\");\n const formContentRef = useRef<HTMLDivElement>(null);\n const initialDataRef = useRef<FormValues>();\n const dataStatusRef = useRef(Status.uninitialised);\n\n const dataSource = useMemo(() => {\n const applyServerData = (data: VuuDataRow) => {\n if (columnMap) {\n const values: { [key: string]: VuuRowDataItemType } = {};\n for (const column of dataSource.columns) {\n values[column] = data[columnMap[column]];\n }\n if (dataStatusRef.current === Status.uninitialised) {\n dataStatusRef.current = Status.unchanged;\n initialDataRef.current = values;\n }\n setValues(values);\n }\n };\n\n const ds = getDataSource(dataSourceProp, schema);\n const columnMap = buildColumnMap(ds.columns);\n ds.subscribe({ range: { from: 0, to: 5 } }, (message) => {\n if (message.type === \"viewport-update\" && message.rows) {\n if (dataStatusRef.current === Status.uninitialised) {\n applyServerData(message.rows[0]);\n } else {\n console.log(\"what do we do with server updates\");\n }\n }\n });\n return ds;\n }, [dataSourceProp, schema]);\n\n const id = useIdMemo(idProp);\n\n const handleChange = useCallback(\n (evt) => {\n const [field, value] = getFieldNameAndValue(evt);\n const { type } = getField(fields, field);\n const typedValue = getTypedValue(value, type);\n setValues((values = {}) => {\n const newValues = {\n ...values,\n [field]: typedValue,\n };\n const notUpdated = shallowEquals(newValues, initialDataRef.current);\n dataStatusRef.current = notUpdated\n ? Status.unchanged\n : typedValue !== undefined\n ? Status.changed\n : Status.invalid;\n return newValues;\n });\n },\n [fields]\n );\n\n const handleBlur = useCallback(\n (evt: FocusEvent) => {\n const [field, value] = getFieldNameAndValue(evt);\n const { type } = getField(fields, field);\n console.log(\"BLUR\", {\n keyField,\n });\n const rowKey = values?.[keyField];\n const typedValue = getTypedValue(value, type, true);\n if (typeof rowKey === \"string\") {\n dataSource.menuRpcCall({\n rowKey,\n field: field,\n value: typedValue,\n type: \"VP_EDIT_CELL_RPC\",\n });\n }\n },\n [dataSource, fields, keyField, values]\n );\n\n const handleSubmit = useCallback(async () => {\n const response = await dataSource.menuRpcCall({\n type: \"VP_EDIT_SUBMIT_FORM_RPC\",\n });\n if (isErrorResponse(response)) {\n setErrorMessage(response.error);\n }\n }, [dataSource]);\n\n const handleKeyDown = useCallback(\n (evt) => {\n if (evt.key === \"Enter\" && dataStatusRef.current === Status.changed) {\n handleSubmit();\n }\n },\n [handleSubmit]\n );\n\n const handleCancel = useCallback(() => {\n onClose();\n }, [onClose]);\n\n const getFormControl = (field: FormFieldDescriptor) => {\n const value = String(values?.[field.name] ?? \"\");\n if (field.readonly || field.name === keyField) {\n return (\n <div className={`${classBase}-fieldValue vuuReadOnly`}>{value}</div>\n );\n } else {\n return (\n <input\n className={`${classBase}-fieldValue`}\n data-field={field.name}\n onBlur={handleBlur}\n onChange={handleChange}\n type=\"text\"\n value={value}\n id={`${id}-input-${field.name}`}\n />\n );\n }\n };\n\n useEffect(() => {\n if (formContentRef.current) {\n const firstInput = formContentRef.current.querySelector(\n \"input\"\n ) as HTMLInputElement;\n if (firstInput) {\n setTimeout(() => {\n firstInput.focus();\n console.log(\"select item\");\n firstInput.select();\n }, 100);\n }\n }\n }, []);\n\n const isDirty = dataStatusRef.current === Status.changed;\n return (\n <div {...htmlAttributes} className={cx(classBase, className)}>\n {errorMessage ? (\n <div\n className={`${classBase}-errorBanner`}\n data-icon=\"error\"\n title={errorMessage}\n >\n Error, edit(s) not saved\n </div>\n ) : undefined}\n <div\n className={`${classBase}-content`}\n ref={formContentRef}\n onKeyDown={handleKeyDown}\n >\n {fields.map((field) => (\n <div className={`${classBase}-field`} key={field.name}>\n <label\n className={cx(`${classBase}-fieldLabel`, {\n [`${classBase}-required`]: field.required,\n })}\n htmlFor={`${id}-input-${field.name}`}\n >\n {field?.label ?? field.description}\n </label>\n {getFormControl(field)}\n </div>\n ))}\n </div>\n <div className={`${classBase}-buttonbar salt-theme salt-density-high`}>\n <Button\n type=\"submit\"\n variant=\"cta\"\n disabled={!isDirty}\n onClick={handleSubmit}\n >\n Submit\n </Button>\n <Button variant=\"secondary\" onClick={handleCancel}>\n Cancel\n </Button>\n </div>\n </div>\n );\n};\n", "import { connectToServer } from \"@vuu-ui/vuu-data\";\nimport cx from \"classnames\";\nimport {\n HTMLAttributes,\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ShellContextProvider } from \"./ShellContextProvider\";\nimport { useLayoutConfig } from \"./layout-config\";\nimport {\n DockLayout,\n DraggableLayout,\n Drawer,\n Flexbox,\n LayoutProvider,\n View,\n} from \"@vuu-ui/vuu-layout\";\nimport { LayoutJSON } from \"@vuu-ui/vuu-layout/src/layout-reducer\";\nimport { AppHeader } from \"./app-header\";\nimport { ThemeMode } from \"./theme-provider\";\nimport { logger } from \"@vuu-ui/vuu-utils\";\n\nimport \"./shell.css\";\nimport { SaveLocation } from \"./shellTypes\";\n\nexport type VuuUser = {\n username: string;\n token: string;\n};\n\nconst { error } = logger(\"Shell\");\n\nconst warningLayout = {\n type: \"View\",\n props: {\n style: { height: \"calc(100% - 6px)\" },\n },\n children: [\n {\n props: {\n className: \"vuuShell-warningPlaceholder\",\n },\n type: \"Placeholder\",\n },\n ],\n};\n\nexport interface ShellProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n defaultLayout?: LayoutJSON;\n leftSidePanel?: ReactElement;\n loginUrl?: string;\n // paletteConfig: any;\n saveLocation?: SaveLocation;\n saveUrl?: string;\n serverUrl?: string;\n user: VuuUser;\n}\n\nexport const Shell = ({\n children,\n className: classNameProp,\n defaultLayout = warningLayout,\n leftSidePanel,\n loginUrl,\n saveLocation = \"remote\",\n saveUrl,\n serverUrl,\n user,\n ...htmlAttributes\n}: ShellProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const paletteView = useRef<HTMLDivElement>(null);\n const [open, setOpen] = useState(false);\n const layoutId = useRef(\"latest\");\n\n const [layout, saveLayoutConfig, loadLayoutById] = useLayoutConfig({\n defaultLayout,\n saveLocation,\n user,\n });\n\n const handleLayoutChange = useCallback(\n (layout) => {\n try {\n saveLayoutConfig(layout);\n } catch {\n error?.(\"Failed to save layout\");\n }\n },\n [saveLayoutConfig]\n );\n\n const handleSwitchTheme = useCallback((mode: ThemeMode) => {\n if (rootRef.current) {\n rootRef.current.dataset.mode = mode;\n }\n }, []);\n\n const handleDrawerClick = (e: MouseEvent<HTMLElement>) => {\n const target = e.target as HTMLElement;\n if (!paletteView.current?.contains(target)) {\n setOpen(!open);\n }\n };\n\n const handleNavigate = useCallback(\n (id) => {\n layoutId.current = id;\n loadLayoutById(id);\n },\n [loadLayoutById]\n );\n\n useEffect(() => {\n if (serverUrl && user.token) {\n connectToServer({\n authToken: user.token,\n url: serverUrl,\n username: user.username,\n });\n }\n }, [serverUrl, user.token, user.username]);\n\n const getDrawers = () => {\n const drawers: ReactElement[] = [];\n if (leftSidePanel) {\n drawers.push(\n <Drawer\n key=\"left-panel\"\n onClick={handleDrawerClick}\n open={open}\n position=\"left\"\n inline\n peekaboo\n sizeOpen={200}\n toggleButton=\"end\"\n >\n <View\n className=\"vuuShell-palette\"\n id=\"vw-app-palette\"\n key=\"app-palette\"\n ref={paletteView}\n style={{ height: \"100%\" }}\n >\n {leftSidePanel}\n </View>\n </Drawer>\n );\n }\n\n return drawers;\n };\n\n const className = cx(\n \"vuuShell\",\n classNameProp,\n \"salt-theme\",\n \"salt-density-high\"\n );\n\n return (\n // ShellContext TBD\n <ShellContextProvider value={undefined}>\n <LayoutProvider layout={layout} onLayoutChange={handleLayoutChange}>\n <DraggableLayout\n className={className}\n data-mode=\"light\"\n ref={rootRef}\n {...htmlAttributes}\n >\n <Flexbox\n className=\"App\"\n style={{ flexDirection: \"column\", height: \"100%\", width: \"100%\" }}\n >\n <AppHeader\n layoutId={layoutId.current}\n loginUrl={loginUrl}\n user={user}\n onNavigate={handleNavigate}\n onSwitchTheme={handleSwitchTheme}\n />\n <DockLayout style={{ flex: 1 }}>\n {getDrawers().concat(\n <DraggableLayout\n dropTarget\n key=\"main-content\"\n style={{ width: \"100%\", height: \"100%\" }}\n />\n )}\n </DockLayout>\n </Flexbox>\n </DraggableLayout>\n </LayoutProvider>\n {children}\n </ShellContextProvider>\n );\n};\n", "import { MenuRpcResponse } from \"@vuu-ui/vuu-data\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-datagrid-types\";\nimport { createContext, ReactElement, ReactNode, useContext } from \"react\";\n\nexport interface ShellContextProps {\n getDefaultColumnConfig?: (\n tableName: string,\n columnName: string\n ) => Partial<ColumnDescriptor>;\n handleRpcResponse?: (response?: MenuRpcResponse) => void;\n}\n\nconst defaultConfig = {};\n\nconst ShellContext = createContext<ShellContextProps>(defaultConfig);\n\nexport interface ShellProviderProps {\n children: ReactNode;\n value?: ShellContextProps;\n}\n\nconst Provider = ({\n children,\n context,\n inheritedContext,\n}: {\n children: ReactNode;\n context?: ShellContextProps;\n inheritedContext?: ShellContextProps;\n}) => {\n // TODO functions provided at multiple levels must be merged\n const mergedContext = {\n ...inheritedContext,\n ...context,\n };\n return (\n <ShellContext.Provider value={mergedContext}>\n {children}\n </ShellContext.Provider>\n );\n};\n\nexport const ShellContextProvider = ({\n children,\n value,\n}: ShellProviderProps): ReactElement => {\n return (\n <ShellContext.Consumer>\n {(context) => (\n <Provider context={value} inheritedContext={context}>\n {children}\n </Provider>\n )}\n </ShellContext.Consumer>\n );\n};\n\nexport const useShellContext = () => {\n return useContext(ShellContext);\n};\n", "import { LayoutJSON } from \"@vuu-ui/vuu-layout/src/layout-reducer\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { VuuUser } from \"../shell\";\nimport { SaveLocation } from \"../shellTypes\";\nimport { loadLocalConfig, saveLocalConfig } from \"./local-config\";\nimport { loadRemoteConfig, saveRemoteConfig } from \"./remote-config\";\n\nexport interface LayoutConfigHookProps {\n defaultLayout: LayoutJSON;\n saveLocation: SaveLocation;\n saveUrl?: string;\n user: VuuUser;\n}\n\nexport type LayoutHookResult = [\n LayoutJSON,\n (layout: LayoutJSON) => void,\n (id: string) => void\n];\n\nexport const useLayoutConfig = ({\n saveLocation,\n saveUrl = \"api/vui\",\n user,\n defaultLayout,\n}: LayoutConfigHookProps): LayoutHookResult => {\n const [layout, _setLayout] = useState(defaultLayout);\n const usingRemote = saveLocation === \"remote\";\n const loadConfig = usingRemote ? loadRemoteConfig : loadLocalConfig;\n const saveConfig = usingRemote ? saveRemoteConfig : saveLocalConfig;\n\n const setLayout = (layout: LayoutJSON) => {\n _setLayout(layout);\n };\n\n const load = useCallback(\n async (id = \"latest\") => {\n try {\n const layout = await loadConfig(saveUrl, user, id);\n setLayout(layout);\n } catch {\n setLayout(defaultLayout);\n }\n },\n [defaultLayout, loadConfig, saveUrl, user]\n );\n\n useEffect(() => {\n load();\n }, [load]);\n\n const saveData = useCallback(\n (data) => {\n saveConfig(saveUrl, user, data);\n },\n [saveConfig, saveUrl, user]\n );\n\n const loadLayoutById = useCallback(\n (id) => {\n load(id);\n },\n [load]\n );\n\n return [layout, saveData, loadLayoutById];\n};\n", "import { LayoutJSON } from \"@vuu-ui/vuu-layout/src/layout-reducer\";\nimport { VuuUser } from \"../shell\";\n\nexport const loadLocalConfig = (\n saveUrl: string,\n user: VuuUser,\n id = \"latest\"\n): Promise<LayoutJSON> =>\n new Promise((resolve, reject) => {\n console.log(\n `load local config at ${saveUrl} for user ${user.username}, id ${id}`\n );\n const data = localStorage.getItem(saveUrl);\n if (data) {\n const layout = JSON.parse(data);\n resolve(layout);\n } else {\n reject();\n }\n });\n\nexport const saveLocalConfig = (\n saveUrl: string,\n user: VuuUser,\n data: LayoutJSON\n): Promise<undefined> =>\n new Promise((resolve, reject) => {\n try {\n localStorage.setItem(saveUrl, JSON.stringify(data));\n resolve(undefined);\n } catch {\n reject();\n }\n });\n", "import { LayoutJSON } from \"@vuu-ui/vuu-layout/src/layout-reducer\";\nimport { VuuUser } from \"../shell\";\n\nexport const loadRemoteConfig = (\n saveUrl: string,\n user: VuuUser,\n id = \"latest\"\n): Promise<LayoutJSON> =>\n new Promise((resolve, reject) => {\n fetch(`${saveUrl}/${user.username}/${id}`, {})\n .then((response) => {\n if (response.ok) {\n resolve(response.json());\n } else {\n reject(undefined);\n }\n })\n .catch(() => {\n // TODO we should set a layout with a warning here\n // setLayout(defaultLayout);\n reject(undefined);\n });\n });\n\nexport const saveRemoteConfig = (\n saveUrl: string,\n user: VuuUser,\n data: LayoutJSON\n) =>\n new Promise((resolve, reject) => {\n fetch(`${saveUrl}/${user.username}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n }).then((response) => {\n if (response.ok) {\n resolve(undefined);\n } else {\n reject();\n }\n });\n });\n", "import { HTMLAttributes, useCallback } from \"react\";\nimport { VuuUser } from \"../shell\";\nimport { UserProfile } from \"../user-profile\";\nimport { ThemeSwitch } from \"../theme-switch\";\nimport { ThemeMode } from \"../theme-provider\";\nimport cx from \"classnames\";\n\nimport \"./AppHeader.css\";\n\nconst classBase = \"vuuAppHeader\";\nexport interface AppHeaderProps extends HTMLAttributes<HTMLDivElement> {\n layoutId: string;\n loginUrl?: string;\n onNavigate: (id: string) => void;\n onSwitchTheme?: (mode: ThemeMode) => void;\n themeMode?: ThemeMode;\n user: VuuUser;\n}\n\nexport const AppHeader = ({\n className: classNameProp,\n layoutId,\n loginUrl,\n onNavigate,\n onSwitchTheme,\n themeMode = \"light\",\n user,\n ...htmlAttributes\n}: AppHeaderProps) => {\n const className = cx(classBase, classNameProp);\n const handleSwitchTheme = useCallback(\n (mode: ThemeMode) => onSwitchTheme?.(mode),\n [onSwitchTheme]\n );\n return (\n <header className={className} {...htmlAttributes}>\n <ThemeSwitch defaultMode={themeMode} onChange={handleSwitchTheme} />\n <UserProfile\n layoutId={layoutId}\n loginUrl={loginUrl}\n onNavigate={onNavigate}\n user={user}\n />\n </header>\n );\n};\n", "import { Button } from \"@salt-ds/core\";\nimport { DropdownBase } from \"@heswell/salt-lab\";\nimport { UserSolidIcon } from \"@salt-ds/icons\";\nimport { UserPanel } from \"./UserPanel\";\n\nimport \"./UserProfile.css\";\nimport { VuuUser } from \"../shell\";\n\nexport interface UserProfileProps {\n layoutId: string;\n loginUrl?: string;\n onNavigate: (id: string) => void;\n user: VuuUser;\n}\n\nexport const UserProfile = ({\n layoutId,\n loginUrl,\n onNavigate,\n user,\n}: UserProfileProps) => {\n const handleNavigate = (id: string) => {\n onNavigate(id);\n };\n\n return (\n <DropdownBase className=\"vuuUserProfile\" placement=\"bottom-end\">\n <Button variant=\"secondary\">\n <UserSolidIcon />\n </Button>\n <UserPanel\n layoutId={layoutId}\n loginUrl={loginUrl}\n onNavigate={handleNavigate}\n user={user}\n />\n </DropdownBase>\n );\n};\n", "import { formatDate } from \"@vuu-ui/vuu-utils\";\nimport { List, ListItem, ListItemProps } from \"@heswell/salt-lab\";\nimport { Button } from \"@salt-ds/core\";\nimport { ExportIcon } from \"@salt-ds/icons\";\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { getLayoutHistory, LayoutHistoryItem } from \"../get-layout-history\";\nimport { logout } from \"../login\";\nimport { VuuUser } from \"../shell\";\n\nimport \"./UserPanel.css\";\n\nconst byLastUpdate = (\n { lastUpdate: l1 }: LayoutHistoryItem,\n { lastUpdate: l2 }: LayoutHistoryItem\n) => {\n return l2 === l1 ? 0 : l2 < l1 ? -1 : 1;\n};\n\ntype HistoryEntry = {\n id: string;\n label: string;\n lastUpdate: number;\n};\n\nconst HistoryListItem = (props: ListItemProps<HistoryEntry>) => {\n return <ListItem {...props} />;\n};\n\nexport interface UserPanelProps extends HTMLAttributes<HTMLDivElement> {\n loginUrl?: string;\n onNavigate: (id: string) => void;\n user: VuuUser;\n layoutId: string;\n}\n\nexport const UserPanel = forwardRef(function UserPanel(\n { loginUrl, onNavigate, user, layoutId = \"latest\" }: UserPanelProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const [history, setHistory] = useState<HistoryEntry[]>([]);\n\n useEffect(() => {\n async function getHistory() {\n const history = await getLayoutHistory(user);\n const sortedHistory = history\n .filter((item) => item.id !== \"latest\")\n .sort(byLastUpdate)\n .map<HistoryEntry>(({ id, lastUpdate }) => ({\n lastUpdate,\n id,\n label: `Saved at ${formatDate(new Date(lastUpdate), \"kk:mm:ss\")}`,\n }));\n console.log({ sortedHistory });\n setHistory(sortedHistory);\n }\n\n getHistory();\n }, [user]);\n\n const handleHisorySelected = useCallback(\n (evt, selected) => {\n if (selected) {\n onNavigate(selected.id);\n }\n },\n [onNavigate]\n );\n\n const handleLogout = useCallback(() => {\n logout(loginUrl);\n }, [loginUrl]);\n\n const selected =\n history.length === 0\n ? null\n : layoutId === \"latest\"\n ? history[0]\n : history.find((i) => i.id === layoutId);\n\n return (\n <div className=\"vuuUserPanel\" ref={forwardedRef}>\n <List<HistoryEntry>\n ListItem={HistoryListItem}\n className=\"vuuUserPanel-history\"\n onSelect={handleHisorySelected}\n selected={selected}\n source={history}\n />\n <div className=\"vuuUserPanel-buttonBar\">\n <Button aria-label=\"logout\" onClick={handleLogout}>\n <ExportIcon /> Logout\n </Button>\n </div>\n </div>\n );\n});\n", "import { VuuUser } from \"./shell\";\n\nexport interface LayoutHistoryItem {\n user: string;\n id: string;\n uniqueId: string;\n lastUpdate: number;\n}\n\nexport const getLayoutHistory = async (\n user: VuuUser\n): Promise<LayoutHistoryItem[]> => {\n const history = await fetch(`api/vui/${user.username}`, {})\n .then((response) => {\n return response.ok ? response.json() : null;\n })\n .catch(() => {\n // TODO we should set a layout with a warning here\n console.log(\"error getting history\");\n });\n\n return history;\n};\n", "import {\n ToggleButton,\n ToggleButtonGroup,\n ToggleButtonGroupChangeEventHandler,\n} from \"@heswell/salt-lab\";\nimport cx from \"classnames\";\nimport { useControlled } from \"@salt-ds/core\";\nimport { HTMLAttributes, useCallback } from \"react\";\n\nimport \"./ThemeSwitch.css\";\nimport { ThemeMode } from \"../theme-provider\";\n\nconst classBase = \"vuuThemeSwitch\";\nexport interface ThemeSwitchProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n defaultMode?: ThemeMode;\n mode?: ThemeMode;\n onChange: (mode: ThemeMode) => void;\n}\n\nconst modes: ThemeMode[] = [\"light\", \"dark\"];\n\nexport const ThemeSwitch = ({\n className: classNameProp,\n defaultMode: defaultModeProp,\n mode: modeProp,\n onChange,\n ...htmlAttributes\n}: ThemeSwitchProps) => {\n const [mode, setMode] = useControlled<ThemeMode>({\n controlled: modeProp,\n default: defaultModeProp ?? \"light\",\n name: \"ThemeSwitch\",\n state: \"mode\",\n });\n\n const selectedIndex = modes.indexOf(mode);\n\n const handleChangeSecondary: ToggleButtonGroupChangeEventHandler =\n useCallback(\n (_evt, index) => {\n const mode = modes[index];\n setMode(mode);\n onChange(mode);\n },\n [onChange, setMode]\n );\n const className = cx(classBase, classNameProp);\n return (\n <ToggleButtonGroup\n className={className}\n {...htmlAttributes}\n onChange={handleChangeSecondary}\n selectedIndex={selectedIndex}\n >\n <ToggleButton\n aria-label=\"alert\"\n tooltipText=\"Light Theme\"\n data-icon=\"light\"\n />\n <ToggleButton\n aria-label=\"home\"\n tooltipText=\"Dark Theme\"\n data-icon=\"dark\"\n />\n </ToggleButtonGroup>\n );\n};\n", "import React, {\n createContext,\n HTMLAttributes,\n ReactNode,\n ReactElement,\n isValidElement,\n cloneElement,\n useContext,\n} from \"react\";\nimport cx from \"classnames\";\n\nexport const DEFAULT_DENSITY: Density = \"medium\";\nexport const DEFAULT_THEME = \"salt-theme\";\nexport const DEFAULT_THEME_MODE: ThemeMode = \"light\";\n\nexport type Density = \"high\" | \"medium\" | \"low\" | \"touch\";\nexport type ThemeMode = \"light\" | \"dark\";\nexport type TargetElement = \"root\" | \"scope\" | \"child\";\n\nexport interface ThemeContextProps {\n density: Density;\n theme: string;\n themeMode: ThemeMode;\n}\n\nexport const ThemeContext = createContext<ThemeContextProps>({\n density: \"high\",\n theme: \"salt-theme\",\n themeMode: \"light\",\n});\n\nconst createThemedChildren = (\n children: ReactNode,\n theme: string,\n themeMode: ThemeMode,\n density: Density\n) => {\n if (isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return cloneElement(children, {\n className: cx(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n children.props?.className,\n theme,\n `salt-density-${density}`\n ),\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n \"data-mode\": themeMode,\n });\n } else {\n console.warn(\n `\\nThemeProvider can only apply CSS classes for theming to a single nested child element of the ThemeProvider.\n Wrap elements with a single container`\n );\n return children;\n }\n};\n\ninterface ThemeProviderProps {\n children: ReactElement;\n density?: Density;\n theme?: string;\n themeMode?: ThemeMode;\n applyClassesTo?: TargetElement;\n}\n\nexport const ThemeProvider = ({\n children,\n theme: themeProp,\n themeMode: themeModeProp,\n density: densityProp,\n}: ThemeProviderProps) => {\n const {\n density: inheritedDensity,\n themeMode: inheritedThemeMode,\n theme: inheritedTheme,\n } = useContext(ThemeContext);\n\n const density = densityProp ?? inheritedDensity ?? DEFAULT_DENSITY;\n const themeMode = themeModeProp ?? inheritedThemeMode ?? DEFAULT_THEME_MODE;\n const theme = themeProp ?? inheritedTheme ?? DEFAULT_THEME;\n const themedChildren = createThemedChildren(\n children,\n theme,\n themeMode,\n density\n );\n\n return (\n <ThemeContext.Provider value={{ themeMode, density, theme }}>\n {themedChildren}\n </ThemeContext.Provider>\n );\n};\n\nThemeProvider.displayName = \"ThemeProvider\";\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["classBase", "cx", "jsx", "React", "useEffect", "React", "Fragment", "jsx", "jsxs", "error", "jsx", "jsx", "useEffect", "React", "useState", "jsx", "jsxs", "classBase", "useState", "useCallback", "useEffect", "useState", "cx", "Button", "jsx", "jsxs", "classBase", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useEffect", "useState", "cx", "Fragment", "jsx", "jsxs", "ConnectionStatusIcon", "connectionStatus", "className", "element", "props", "classBase", "setClassBase", "useState", "useEffect", "statusIcon", "React", "cx", "Dropdown", "useCallback", "cx", "jsx", "classBase", "densities", "DEFAULT_DENSITY", "DensitySwitch", "classNameProp", "defaultDensity", "onDensityChange", "handleSelectionChange", "_event", "selectedItem", "className", "React", "Suspense", "useEffect", "registerComponent", "React", "Fragment", "jsx", "jsxs", "ErrorBoundary", "props", "error", "errorInfo", "jsx", "Loader", "jsx", "componentsMap", "useCachedFeature", "url", "useEffect", "React", "RawFeature", "css", "params", "props", "cssModule", "LazyFeature", "ErrorBoundary", "Suspense", "Loader", "Feature", "registerComponent", "useState", "Button", "FormField", "Input", "jsx", "jsxs", "classBase", "LoginPanel", "onSubmit", "username", "setUserName", "useState", "password", "setPassword", "login", "handleUsername", "_event", "value", "handlePassword", "dataIsValid", "FormField", "Input", "Button", "getCookieValue", "getAuthDetailsFromCookies", "username", "token", "redirectToLogin", "loginUrl", "logout", "useCallback", "useEffect", "useMemo", "useRef", "useState", "cx", "useIdMemo", "Button", "isErrorResponse", "RemoteDataSource", "buildColumnMap", "isValidNumber", "shallowEquals", "jsx", "jsxs", "classBase", "getField", "fields", "name", "field", "f", "getFieldNameAndValue", "evt", "value", "Status", "getTypedValue", "type", "throwIfUndefined", "typedValue", "isValidNumber", "getDataSource", "dataSource", "schema", "RemoteDataSource", "col", "SessionEditingForm", "className", "keyField", "dataSourceProp", "idProp", "onClose", "htmlAttributes", "values", "setValues", "useState", "errorMessage", "setErrorMessage", "formContentRef", "useRef", "initialDataRef", "dataStatusRef", "useMemo", "applyServerData", "data", "columnMap", "column", "ds", "buildColumnMap", "message", "id", "useIdMemo", "handleChange", "useCallback", "newValues", "notUpdated", "shallowEquals", "handleBlur", "rowKey", "handleSubmit", "response", "isErrorResponse", "handleKeyDown", "handleCancel", "getFormControl", "_a", "useEffect", "firstInput", "isDirty", "cx", "Button", "connectToServer", "cx", "useCallback", "useEffect", "useRef", "useState", "createContext", "useContext", "jsx", "defaultConfig", "ShellContext", "Provider", "children", "context", "inheritedContext", "mergedContext", "ShellContextProvider", "value", "useShellContext", "useCallback", "useEffect", "useState", "loadLocalConfig", "saveUrl", "user", "id", "resolve", "reject", "data", "layout", "saveLocalConfig", "loadRemoteConfig", "saveUrl", "user", "id", "resolve", "reject", "response", "saveRemoteConfig", "data", "useLayoutConfig", "saveLocation", "saveUrl", "user", "defaultLayout", "layout", "_setLayout", "useState", "usingRemote", "loadConfig", "loadRemoteConfig", "loadLocalConfig", "saveConfig", "saveRemoteConfig", "saveLocalConfig", "setLayout", "load", "useCallback", "id", "useEffect", "saveData", "data", "loadLayoutById", "DockLayout", "DraggableLayout", "Drawer", "Flexbox", "LayoutProvider", "View", "useCallback", "Button", "DropdownBase", "UserSolidIcon", "formatDate", "List", "ListItem", "Button", "ExportIcon", "forwardRef", "useCallback", "useEffect", "useState", "getLayoutHistory", "user", "response", "jsx", "jsxs", "byLastUpdate", "l1", "l2", "HistoryListItem", "props", "ListItem", "UserPanel", "forwardRef", "loginUrl", "onNavigate", "user", "layoutId", "forwardedRef", "history", "setHistory", "useState", "useEffect", "getHistory", "sortedHistory", "getLayoutHistory", "item", "id", "lastUpdate", "formatDate", "handleHisorySelected", "useCallback", "evt", "selected", "handleLogout", "logout", "i", "List", "Button", "ExportIcon", "jsx", "jsxs", "UserProfile", "layoutId", "loginUrl", "onNavigate", "user", "DropdownBase", "Button", "UserSolidIcon", "UserPanel", "id", "ToggleButton", "ToggleButtonGroup", "cx", "useControlled", "useCallback", "jsx", "jsxs", "classBase", "modes", "ThemeSwitch", "classNameProp", "defaultModeProp", "modeProp", "onChange", "htmlAttributes", "mode", "setMode", "useControlled", "selectedIndex", "handleChangeSecondary", "useCallback", "_evt", "index", "className", "cx", "ToggleButtonGroup", "ToggleButton", "cx", "jsx", "jsxs", "classBase", "AppHeader", "classNameProp", "layoutId", "loginUrl", "onNavigate", "onSwitchTheme", "themeMode", "user", "htmlAttributes", "className", "cx", "handleSwitchTheme", "useCallback", "mode", "ThemeSwitch", "UserProfile", "logger", "jsx", "jsxs", "error", "logger", "warningLayout", "Shell", "children", "classNameProp", "defaultLayout", "leftSidePanel", "loginUrl", "saveLocation", "saveUrl", "serverUrl", "user", "htmlAttributes", "rootRef", "useRef", "paletteView", "open", "setOpen", "useState", "layoutId", "layout", "saveLayoutConfig", "loadLayoutById", "useLayoutConfig", "handleLayoutChange", "useCallback", "handleSwitchTheme", "mode", "handleDrawerClick", "e", "_a", "target", "handleNavigate", "id", "useEffect", "connectToServer", "getDrawers", "drawers", "Drawer", "View", "className", "cx", "ShellContextProvider", "LayoutProvider", "DraggableLayout", "Flexbox", "AppHeader", "DockLayout", "createContext", "isValidElement", "cloneElement", "useContext", "cx", "jsx", "DEFAULT_DENSITY", "DEFAULT_THEME", "DEFAULT_THEME_MODE", "ThemeContext", "createThemedChildren", "children", "theme", "themeMode", "density", "_a", "ThemeProvider", "themeProp", "themeModeProp", "densityProp", "_b", "_c", "inheritedDensity", "inheritedThemeMode", "inheritedTheme", "themedChildren"]
|
|
7
7
|
}
|
package/index.css
CHANGED
|
@@ -1,209 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
.vuuStatus-container {
|
|
3
|
-
display: flex;
|
|
4
|
-
}
|
|
5
|
-
.vuuStatus-text {
|
|
6
|
-
align-self: center;
|
|
7
|
-
}
|
|
8
|
-
.vuuStatus {
|
|
9
|
-
--vuu-icon-height: 18px;
|
|
10
|
-
--vuu-icon-padding: var(--vuuStatus-padding, 6px);
|
|
11
|
-
--vuu-icon-width: var(--vuuStatus-width, auto);
|
|
12
|
-
--vuu-icon-min-width: var(--vuuStatus-min-width, 20px);
|
|
13
|
-
align-items: center;
|
|
14
|
-
display: inline-flex;
|
|
15
|
-
height: var(--vuu-icon-height);
|
|
16
|
-
justify-content: center;
|
|
17
|
-
min-width: var(--vuu-icon-min-width);
|
|
18
|
-
padding: 0 var(--vuu-icon-padding);
|
|
19
|
-
width: var(--vuu-icon-width);
|
|
20
|
-
position: relative;
|
|
21
|
-
}
|
|
22
|
-
.vuuStatus[data-icon]::after {
|
|
23
|
-
inset: 0 0 0 0;
|
|
24
|
-
content: "";
|
|
25
|
-
box-shadow: 0 0 0 0 black;
|
|
26
|
-
position: absolute;
|
|
27
|
-
mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;
|
|
28
|
-
-webkit-mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;
|
|
29
|
-
}
|
|
30
|
-
.vuuActiveStatus::after {
|
|
31
|
-
--vuu-icon-svg: var(--svg-active-status);
|
|
32
|
-
background-color: rgb(0, 255, 0);
|
|
33
|
-
}
|
|
34
|
-
.vuuConnectingStatus::after {
|
|
35
|
-
--vuu-icon-svg: var(--svg-connecting-status);
|
|
36
|
-
background-color: orange;
|
|
37
|
-
transform: scale(1);
|
|
38
|
-
animation: infinite pulse 1s;
|
|
39
|
-
}
|
|
40
|
-
.vuuDisconnectedStatus::after {
|
|
41
|
-
--vuu-icon-svg: var(--svg-disconnected-status);
|
|
42
|
-
background-color: red;
|
|
43
|
-
transform: scale(1);
|
|
44
|
-
animation: infinite pulse 0.5s;
|
|
45
|
-
}
|
|
46
|
-
@keyframes pulse {
|
|
47
|
-
0% {
|
|
48
|
-
transform: scale(0.95);
|
|
49
|
-
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
|
|
50
|
-
}
|
|
51
|
-
70% {
|
|
52
|
-
transform: scale(1);
|
|
53
|
-
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
|
|
54
|
-
}
|
|
55
|
-
100% {
|
|
56
|
-
transform: scale(0.95);
|
|
57
|
-
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/* src/login/LoginPanel.css */
|
|
62
|
-
.vuuLoginPanel {
|
|
63
|
-
--hwTextInput-border: solid 1px #ccc;
|
|
64
|
-
--hwTextInput-height: 28px;
|
|
65
|
-
--hwTextInput-padding: 0 12px;
|
|
66
|
-
--hwTextInput-width: 100%;
|
|
67
|
-
--login-row-height: 60px;
|
|
68
|
-
align-content: center;
|
|
69
|
-
align-items: center;
|
|
70
|
-
border: solid 1px lightgray;
|
|
71
|
-
display: flex;
|
|
72
|
-
flex-direction: column;
|
|
73
|
-
gap: 24px;
|
|
74
|
-
justify-content: center;
|
|
75
|
-
justify-items: center;
|
|
76
|
-
margin: 0 auto;
|
|
77
|
-
padding: 48px 48px 24px 48px;
|
|
78
|
-
width: fit-content;
|
|
79
|
-
}
|
|
80
|
-
.vuuLoginPanel-login {
|
|
81
|
-
grid-column: 2/3;
|
|
82
|
-
align-self: end;
|
|
83
|
-
justify-self: end;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* src/session-editing-form/SessionEditingForm.css */
|
|
87
|
-
.vuuSessionEditingForm {
|
|
88
|
-
display: flex;
|
|
89
|
-
flex-direction: column;
|
|
90
|
-
gap: 3px;
|
|
91
|
-
min-width: 200px;
|
|
92
|
-
padding: 6px;
|
|
93
|
-
}
|
|
94
|
-
.vuuSessionEditingForm-content {
|
|
95
|
-
display: flex;
|
|
96
|
-
flex-direction: column;
|
|
97
|
-
flex: 1 1 auto;
|
|
98
|
-
gap: 3px;
|
|
99
|
-
}
|
|
100
|
-
.vuuSessionEditingForm-field {
|
|
101
|
-
align-items: center;
|
|
102
|
-
display: flex;
|
|
103
|
-
height: 32px;
|
|
104
|
-
}
|
|
105
|
-
.vuuSessionEditingForm-fieldLabel {
|
|
106
|
-
flex: 0 0 50%;
|
|
107
|
-
}
|
|
108
|
-
.vuuSessionEditingForm-fieldValue {
|
|
109
|
-
max-width: 50%;
|
|
110
|
-
}
|
|
111
|
-
.vuuSessionEditingForm-fieldValue.vuuReadOnly {
|
|
112
|
-
font-weight: var(--salt-text-label-fontWeight-strong);
|
|
113
|
-
}
|
|
114
|
-
.vuuSessionEditingForm-buttonbar {
|
|
115
|
-
align-items: center;
|
|
116
|
-
border-top: solid 1px var(--salt-container-primary-borderColor);
|
|
117
|
-
display: flex;
|
|
118
|
-
justify-content: flex-end;
|
|
119
|
-
flex: 0 0 autox;
|
|
120
|
-
gap: 6px;
|
|
121
|
-
padding-top: 6px;
|
|
122
|
-
}
|
|
123
|
-
.vuuSessionEditingForm-errorBanner {
|
|
124
|
-
--vuu-icon-left: 3px;
|
|
125
|
-
--vuu-icon-size: 18px;
|
|
126
|
-
--vuu-icon-top: 3px;
|
|
127
|
-
border: solid 1px var(--salt-status-error-borderColor);
|
|
128
|
-
line-height: 24px;
|
|
129
|
-
padding: 0 6px 0 26px;
|
|
130
|
-
position: relative;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/* src/user-profile/UserPanel.css */
|
|
134
|
-
.vuuUserPanel {
|
|
135
|
-
background-color: white;
|
|
136
|
-
display: flex;
|
|
137
|
-
flex-direction: column;
|
|
138
|
-
max-height: 400px;
|
|
139
|
-
padding: 12px;
|
|
140
|
-
}
|
|
141
|
-
vuuUserPanel-history {
|
|
142
|
-
flex: 1 1 auto;
|
|
143
|
-
}
|
|
144
|
-
.vuuUserPanel-buttonBar {
|
|
145
|
-
--saltButton-width: 100%;
|
|
146
|
-
align-items: flex-end;
|
|
147
|
-
border-top: 1px solid var(--surface3);
|
|
148
|
-
display: flex;
|
|
149
|
-
flex: 0 0 32px;
|
|
150
|
-
justify-content: flex-start;
|
|
151
|
-
}
|
|
152
|
-
.btn-logout {
|
|
153
|
-
--hwButton-icon-left: 12px;
|
|
154
|
-
--hwButton-padding: 0 6px 0 24px;
|
|
155
|
-
padding-left: 24px;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/* src/user-profile/UserProfile.css */
|
|
159
|
-
.vuuUserProfile {
|
|
160
|
-
--svg-icon: var(--svg-user);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/* src/theme-switch/ThemeSwitch.css */
|
|
164
|
-
.vuuThemeSwitch {
|
|
165
|
-
--saltButton-minWidth: 22px;
|
|
166
|
-
}
|
|
167
|
-
.vuuThemeSwitch {
|
|
168
|
-
--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>');
|
|
169
|
-
--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>');
|
|
170
|
-
}
|
|
171
|
-
.salt-density-high .vuuThemeSwitch {
|
|
172
|
-
--saltButton-minWidth: 16px;
|
|
173
|
-
--saltButton-width: 18px;
|
|
174
|
-
--vuuThemeSwitch-iconSize: 16px;
|
|
175
|
-
}
|
|
176
|
-
.vuuThemeSwitch [data-icon] {
|
|
177
|
-
--vuu-icon-size: var(--vuuThemeSwitch-iconSize,18px);
|
|
178
|
-
}
|
|
179
|
-
.vuuThemeSwitch [data-icon=light] {
|
|
180
|
-
--vuu-icon-svg: var(--svg-light);
|
|
181
|
-
}
|
|
182
|
-
.vuuThemeSwitch [data-icon=dark] {
|
|
183
|
-
--vuu-icon-svg: var(--svg-dark);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/* src/app-header/AppHeader.css */
|
|
187
|
-
.vuuAppHeader {
|
|
188
|
-
align-items: center;
|
|
189
|
-
border-bottom: solid 1px var(--salt-container-secondary-borderColor);
|
|
190
|
-
display: flex;
|
|
191
|
-
height: 40px;
|
|
192
|
-
justify-content: flex-end;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/* src/shell.css */
|
|
196
|
-
.vuuShell {
|
|
197
|
-
background-color: var(--salt-container-primary-background, ivory);
|
|
198
|
-
height: var(--vuuShell-height, 100vh);
|
|
199
|
-
width: var(--vuuShell-width, 100vw);
|
|
200
|
-
}
|
|
201
|
-
.vuuShell-palette {
|
|
202
|
-
--vuuView-border: none;
|
|
203
|
-
--vuuView-margin: 0;
|
|
204
|
-
}
|
|
205
|
-
.vuuShell-warningPlaceholder {
|
|
206
|
-
background-color: var(--salt-container-background-high);
|
|
207
|
-
height: 100%;
|
|
208
|
-
}
|
|
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}}.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:200px;padding:6px}.vuuSessionEditingForm-content{display:flex;flex-direction:column;flex:1 1 auto;gap:3px}.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}.vuuThemeSwitch{--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>')}.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)}.vuuAppHeader{align-items:center;border-bottom:solid 1px var(--salt-container-secondary-borderColor);display:flex;height:40px;justify-content:flex-end}.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%}
|
|
209
2
|
/*# sourceMappingURL=index.css.map */
|
package/index.css.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/vuu-shell/src/connection-status/ConnectionStatusIcon.css", "../../../packages/vuu-shell/src/login/LoginPanel.css", "../../../packages/vuu-shell/src/session-editing-form/SessionEditingForm.css", "../../../packages/vuu-shell/src/user-profile/UserPanel.css", "../../../packages/vuu-shell/src/user-profile/UserProfile.css", "../../../packages/vuu-shell/src/theme-switch/ThemeSwitch.css", "../../../packages/vuu-shell/src/app-header/AppHeader.css", "../../../packages/vuu-shell/src/shell.css"],
|
|
4
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}", ".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: 200px;\n padding: 6px;\n}\n\n.vuuSessionEditingForm-content {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n gap: 3px;\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", ".vuuThemeSwitch {\n --saltButton-minWidth: 22px;\n}\n\n.vuuThemeSwitch {\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}\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", ".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", ".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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA,qBACC,aAGD,gBACC,kBAID,WACC,wBACA,kDACA,+CACA,uDACA,mBACA,oBACA,8BACA,uBACA,oCACA,kCACA,4BACA,kBAGD,4BACC,cACA,WACA,oBACA,kBACA,2DACA,mEAGD,uBACC,yCACA,sBAGD,2BACC,6CACA,wBACA,mBACA,4BAGD,6BACC,+CACA,qBACA,mBACA,6BAGD,oBAEE,qBACA,6BAIA,mBACA,wBAIA,qBACA,sBCjEF,eACE,qCACA,2BACA,8BACA,0BACA,yBACA,qBACA,mBACA,2BACA,aACA,sBACA,SACA,uBACA,qBAbF,qCAgBE,kBAGF,qBACE,gBACA,eACA,iBCtBF,uBACI,aACA,sBACA,QACA,gBAJJ,YAQA,+BACI,aACA,sBACA,cACA,QAGJ,6BACI,mBACA,aACA,YAGJ,kCACI,aAGJ,kCACI,cAGJ,8CACI,qDAGJ,iCACI,mBACA,+DACA,aACA,yBACA,eACA,QACA,gBAGJ,mCACI,qBACA,sBACA,oBACA,sDACA,iBAhDJ,qBAkDI,kBClDJ,cACE,sBACA,aACA,sBACA,iBAJF,aAQA,qBACE,cAGF,wBACE,yBACA,qBACA,qCACA,aACA,cACA,2BAGF,YACE,2BACA,iCACA,kBCxBF,gBACE,4BCDF,gBACI,4BAGJ,gBACI,kgDACA,miBAGJ,mCACI,4BACA,yBACA,gCAGJ,4BACI,qDAGJ,kCACI,iCAEJ,iCACI,gCCvBJ,cACE,mBACA,oEACA,aACA,YACA,yBCLF,UACE,iEACA,qCACA,mCAGF,kBACE,uBACA,oBAGF,6BACE,uDACA",
|
|
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.7.6
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"description": "VUU UI Shell",
|
|
5
5
|
"author": "heswell",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"@salt-ds/core": "1.2.0",
|
|
9
9
|
"@salt-ds/icons": "1.1.0",
|
|
10
10
|
"@heswell/salt-lab": "1.0.0-alpha.2",
|
|
11
|
-
"@vuu-ui/vuu-data": "0.7.6
|
|
12
|
-
"@vuu-ui/vuu-layout": "0.7.6
|
|
13
|
-
"@vuu-ui/vuu-utils": "0.7.6
|
|
11
|
+
"@vuu-ui/vuu-data": "0.7.6",
|
|
12
|
+
"@vuu-ui/vuu-layout": "0.7.6",
|
|
13
|
+
"@vuu-ui/vuu-utils": "0.7.6"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
16
|
"classnames": "^2.2.6",
|