@webx-ui/module-admin 0.7.0 → 0.9.0
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/dist/RenameButton.d.ts +2 -2
- package/dist/RichTextField.d.ts +2 -0
- package/dist/Screen.d.ts +1 -1
- package/dist/admin.d.ts +6 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +793 -704
- package/dist/index.js.map +1 -1
- package/dist/screenTypes.d.ts +4 -0
- package/dist/style.css +1 -1
- package/dist/types.d.ts +24 -0
- package/package.json +3 -3
package/dist/screenTypes.d.ts
CHANGED
|
@@ -10,5 +10,9 @@ import { TypeRegistry } from '@webx-ui/schema';
|
|
|
10
10
|
*
|
|
11
11
|
* The rows themselves are still a module's own type — `wx-pages-table`, `wx-media` — because
|
|
12
12
|
* only the module knows what it is listing and where it asks for it.
|
|
13
|
+
*
|
|
14
|
+
* `wx-rich-text` is here rather than in `@webx-ui/schema` because it is not the editor that
|
|
15
|
+
* makes it a panel field: it is the panel's words on its toolbar and the panel's library behind
|
|
16
|
+
* its image button, and the schema package knows about neither.
|
|
13
17
|
*/
|
|
14
18
|
export declare const adminTypes: TypeRegistry;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.wx-list-screen[data-v-7586ed04]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));min-width:0;container-type:inline-size}.wx-list-screen__head[data-v-7586ed04]{display:flex;align-items:center;justify-content:space-between;gap:var(--wx-space-12);flex-wrap:wrap}.wx-list-screen__title[data-v-7586ed04]{min-width:0}.wx-list-screen__actions[data-v-7586ed04]{display:flex;align-items:center;gap:var(--wx-space-8);flex-wrap:wrap}@container (max-width: 480px){.wx-list-screen__head[data-v-7586ed04]>*{flex:1 1 100%}.wx-list-screen__actions[data-v-7586ed04]>*{flex:1 1 auto}}.wx-list-screen.is-fill[data-v-7586ed04]{min-height:0}.wx-list-screen.is-fill[data-v-7586ed04]>:last-child{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs,.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__layout,.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__panels{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__panel,.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__panel>*{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__bar{flex:0 0 auto}.wx-admin[data-v-
|
|
1
|
+
.wx-list-screen[data-v-7586ed04]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));min-width:0;container-type:inline-size}.wx-list-screen__head[data-v-7586ed04]{display:flex;align-items:center;justify-content:space-between;gap:var(--wx-space-12);flex-wrap:wrap}.wx-list-screen__title[data-v-7586ed04]{min-width:0}.wx-list-screen__actions[data-v-7586ed04]{display:flex;align-items:center;gap:var(--wx-space-8);flex-wrap:wrap}@container (max-width: 480px){.wx-list-screen__head[data-v-7586ed04]>*{flex:1 1 100%}.wx-list-screen__actions[data-v-7586ed04]>*{flex:1 1 auto}}.wx-list-screen.is-fill[data-v-7586ed04]{min-height:0}.wx-list-screen.is-fill[data-v-7586ed04]>:last-child{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs,.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__layout,.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__panels{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__panel,.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__panel>*{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-7586ed04] .wx-tabs__bar{flex:0 0 auto}.wx-admin[data-v-5baa6cbf]{--wx-admin-header-height: 52px;min-height:100dvh;background:var(--wx-bg-body)}.wx-admin--drawer[data-v-5baa6cbf]{--wx-gap: var(--wx-space-8)}.wx-admin--rail[data-v-5baa6cbf]{--wx-gap: var(--wx-space-12)}.wx-admin--sidebar[data-v-5baa6cbf]{--wx-gap: var(--wx-space-16)}.wx-admin__frame[data-v-5baa6cbf]{padding:var(--wx-gap);gap:var(--wx-gap)}.wx-admin__header[data-v-5baa6cbf]{--wx-header-top: var(--wx-gap)}.wx-admin__aside[data-v-5baa6cbf]{--wx-aside-top: var(--wx-gap);--wx-aside-height: calc(100dvh - var(--wx-gap) * 2)}.wx-admin__brand[data-v-5baa6cbf]{display:flex;align-items:center;gap:var(--wx-space-8);box-sizing:border-box;min-height:48px;padding:var(--wx-space-8);border-bottom:1px solid var(--wx-border-muted)}.wx-aside--collapsed .wx-admin__brand[data-v-5baa6cbf]{justify-content:center;padding-inline:var(--wx-space-4)}.wx-admin__brand--stacked[data-v-5baa6cbf]{flex-direction:column;gap:var(--wx-space-4)}.wx-admin__title[data-v-5baa6cbf]{flex:1 1 auto;min-width:0}.wx-admin__brand>.wx-admin__logo[data-v-5baa6cbf]{margin-inline-end:auto}.wx-admin__logo[data-v-5baa6cbf]{flex:0 1 auto;min-width:0;height:28px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.wx-admin__mark[data-v-5baa6cbf]{height:24px;width:24px;object-fit:contain}.wx-admin__user[data-v-5baa6cbf]{display:flex;align-items:center;padding:var(--wx-space-8);border-top:1px solid var(--wx-border-muted)}.wx-aside--collapsed .wx-admin__user[data-v-5baa6cbf]{justify-content:center}.wx-admin__user--drawer[data-v-5baa6cbf]{flex:1 1 auto;justify-content:flex-start;padding:0;border-top:none}.wx-admin__screen[data-v-5baa6cbf]{--wx-fill-height: calc(100dvh - var(--wx-gap) * 2);--wx-action-bar-bottom: var(--wx-gap);min-width:0;min-height:0}.wx-admin--drawer .wx-admin__screen[data-v-5baa6cbf]{--wx-fill-height: calc(100dvh - var(--wx-gap) * 3 - var(--wx-admin-header-height))}.wx-admin-plain[data-v-5baa6cbf]{display:grid;place-items:center;box-sizing:border-box;min-height:100dvh;padding:var(--wx-space-16);background:var(--wx-bg-body)}html:has(>body>#webx-app),body:has(>#webx-app){margin:0}.wx-admin--drawer .wx-action--md{--wx-action-size: 30px}.wx-admin--drawer .wx-action--lg{--wx-action-size: 36px}.wx-admin__drawer .wx-drawer__content>.wx-menu{padding-inline:0}:root[data-wx-shell=drawer]{--wx-gap: var(--wx-space-8)}:root[data-wx-shell=rail]{--wx-gap: var(--wx-space-12)}:root[data-wx-shell=sidebar]{--wx-gap: var(--wx-space-16)}.wx-row-menu[data-v-4a08eb39]{--wx-action-bg: transparent}.wx-rename[data-v-d879e8d3]{display:flex;flex-direction:column;gap:var(--wx-space-12)}.wx-rename__footer[data-v-d879e8d3]{display:flex;justify-content:flex-end}.wx-help[data-v-6c280d42]{color:var(--wx-text-default);font-size:var(--wx-font-size-md);line-height:var(--wx-font-line-height-normal)}.wx-help[data-v-6c280d42] h2,.wx-help[data-v-6c280d42] h3,.wx-help[data-v-6c280d42] h4{margin-block:var(--wx-space-18) var(--wx-space-8);font-weight:var(--wx-font-weight-semibold)}.wx-help[data-v-6c280d42] h2{font-size:var(--wx-font-size-lg)}.wx-help[data-v-6c280d42] h3,.wx-help[data-v-6c280d42] h4{font-size:var(--wx-font-size-md)}.wx-help[data-v-6c280d42] :is(h2,h3,h4):first-child{margin-block-start:0}.wx-help[data-v-6c280d42] p,.wx-help[data-v-6c280d42] ul,.wx-help[data-v-6c280d42] ol{margin-block:0 var(--wx-space-12)}.wx-help[data-v-6c280d42] ul,.wx-help[data-v-6c280d42] ol{padding-inline-start:var(--wx-space-24)}.wx-help[data-v-6c280d42] li{margin-block-end:var(--wx-space-4)}.wx-help[data-v-6c280d42] code{padding:0 var(--wx-space-4);border-radius:var(--wx-radius-xs);background:var(--wx-bg-subtle);font-family:var(--wx-font-family-mono);font-size:var(--wx-font-size-sm)}.wx-help[data-v-6c280d42] pre{margin-block:0 var(--wx-space-12);padding:var(--wx-space-12);border-radius:var(--wx-radius-sm);background:var(--wx-bg-subtle);overflow:auto}.wx-help[data-v-6c280d42] pre code{padding:0;background:none}.wx-help[data-v-6c280d42] a{color:var(--wx-color-primary)}.wx-notes[data-v-71004c1a]{display:flex;flex-direction:column;gap:var(--wx-space-12);min-width:0;container-type:inline-size}.wx-notes__list[data-v-71004c1a]{display:flex;flex-direction:column;gap:var(--wx-space-12);margin:0;padding:0;list-style:none}.wx-note[data-v-71004c1a]{display:flex;gap:var(--wx-space-8);min-width:0}.wx-note__body[data-v-71004c1a]{display:flex;flex-direction:column;gap:var(--wx-space-4);flex:1 1 auto;min-width:0}.wx-note__head[data-v-71004c1a]{display:flex;align-items:center;gap:var(--wx-space-8);min-width:0}.wx-note__head[data-v-71004c1a]>:last-child{margin-inline-start:auto}.wx-note__text[data-v-71004c1a]{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--wx-font-size-sm);color:var(--wx-text-default)}.wx-note__buttons[data-v-71004c1a]{display:flex;align-items:flex-start;gap:var(--wx-space-8)}.wx-notes__new[data-v-71004c1a]{display:flex;flex-direction:column;align-items:stretch;gap:var(--wx-space-8)}.wx-notes__new[data-v-71004c1a]>:first-child{min-width:0}.wx-notes__new[data-v-71004c1a]>:last-child{align-self:flex-start}@container (max-width: 440px){.wx-note__buttons[data-v-71004c1a]{flex-direction:column;align-items:stretch}.wx-notes__new[data-v-71004c1a]>:last-child{align-self:stretch}}
|
package/dist/types.d.ts
CHANGED
|
@@ -106,6 +106,30 @@ export interface AdminModule {
|
|
|
106
106
|
* registry every screen in the panel is drawn with.
|
|
107
107
|
*/
|
|
108
108
|
types?: TypeRegistry;
|
|
109
|
+
/**
|
|
110
|
+
* Opens a library and answers with the picture that was chosen, or `null` if nobody chose
|
|
111
|
+
* one.
|
|
112
|
+
*
|
|
113
|
+
* The seam exists because the panel's own fields need a picture — `wx-rich-text` has an
|
|
114
|
+
* image button — and the panel cannot depend on the module that has the files: it is the
|
|
115
|
+
* other way round. A module supplies this, the panel asks for it, and a panel without one
|
|
116
|
+
* simply does not offer the button.
|
|
117
|
+
*/
|
|
118
|
+
pickImage?: () => Promise<PickedImage | null>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* A picture out of a library: where it is right now, and the key it is filed under.
|
|
122
|
+
*
|
|
123
|
+
* Both, because they answer different questions. The address is what draws the picture in this
|
|
124
|
+
* browser this minute — it may be signed and about to expire, and it carries a version stamp
|
|
125
|
+
* that changes the moment somebody crops the image. The key is what goes into the record, so
|
|
126
|
+
* the address can be worked out again: a library that moves to another bucket, a site deployed
|
|
127
|
+
* against a different CDN and an image edited in place all change the address and none of them
|
|
128
|
+
* change the key.
|
|
129
|
+
*/
|
|
130
|
+
export interface PickedImage {
|
|
131
|
+
url: string;
|
|
132
|
+
path?: string;
|
|
109
133
|
}
|
|
110
134
|
export type AdminStatus = 'loading' | 'ready' | 'unauthenticated' | 'error';
|
|
111
135
|
export interface NavEntry {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webx-ui/module-admin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "The frame a WebX UI admin panel runs in: bootstrap, the shell, the HTTP client and the module registry that pairs with webx-ui/module-admin on the server.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"vue-router": "^4.5.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@webx-ui/core": "^0.
|
|
48
|
-
"@webx-ui/schema": "^0.
|
|
47
|
+
"@webx-ui/core": "^0.24.0",
|
|
48
|
+
"@webx-ui/schema": "^0.3.1",
|
|
49
49
|
"@webx-ui/tokens": "^0.3.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|