@webx-ui/module-admin 0.17.0 → 0.18.1

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.
@@ -0,0 +1,25 @@
1
+ type __VLS_Props = {
2
+ /** The target's key in the server's registry: `service`, `recipe`. */
3
+ target: string;
4
+ /** How many may be chosen; `null` for any number. */
5
+ max?: number | null;
6
+ sortable?: boolean;
7
+ disabled?: boolean;
8
+ addText?: string;
9
+ emptyText?: string;
10
+ };
11
+ type __VLS_PublicProps = {
12
+ modelValue?: number[] | null;
13
+ } & __VLS_Props;
14
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ "update:modelValue": (value: number[] | null) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ "onUpdate:modelValue"?: ((value: number[] | null) => any) | undefined;
18
+ }>, {
19
+ disabled: boolean;
20
+ addText: string;
21
+ emptyText: string;
22
+ max: number | null;
23
+ sortable: boolean;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
+ export default _default;
@@ -0,0 +1,45 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ import { AdminContext } from '../admin';
3
+ /**
4
+ * One record a relation can point at, as `GET /api/cms/relations/{target}` draws it (§3.7 of the
5
+ * recipes spec) — already in the panel's language.
6
+ */
7
+ export interface RelationCandidate {
8
+ id: number;
9
+ title: string;
10
+ /** A second line: a category, an address. */
11
+ subtitle: string | null;
12
+ /** A small picture's address, when the target has one. */
13
+ thumb: string | null;
14
+ /** Whether the site shows it. A hidden one stays chosen and says so: the site skips it. */
15
+ visible: boolean;
16
+ /** In the bin — a kind of hidden that says where to look. Only names of the chosen carry it. */
17
+ trashed?: boolean;
18
+ }
19
+ export interface RelationsApi {
20
+ /** Candidates for the "Add" box, searched by the server. */
21
+ search(query: string): Promise<RelationCandidate[]>;
22
+ /** The chosen ones by id: a form opens with numbers, and a row needs a name. */
23
+ named(ids: number[]): Promise<RelationCandidate[]>;
24
+ }
25
+ /**
26
+ * The target's key is a path segment, and the ids go as `ids[]` — the panel's `query` option
27
+ * holds one value per key, so the list is written into the path by hand.
28
+ */
29
+ export declare function createRelationsApi(admin: AdminContext, target: string): RelationsApi;
30
+ /** A list of ids, in order, without repeats or anything that is not one — what the server keeps. */
31
+ export declare function normaliseRelations(value: unknown): number[];
32
+ /**
33
+ * The record whose form the field is on — so that "similar recipes" does not offer the recipe
34
+ * itself. A described screen has no way to say which record it is editing, and the editor that
35
+ * hosts it does, so the editor provides it the way it provides the address (`address.ts`).
36
+ */
37
+ export interface RelationOwner {
38
+ /** Its key in the registry of targets: `recipe`. */
39
+ type: string;
40
+ /** `null` for a record not saved yet, which nothing can have chosen. */
41
+ id: Ref<number | null>;
42
+ }
43
+ export declare const relationOwnerKey: InjectionKey<RelationOwner>;
44
+ export declare function provideRelationOwner(owner: RelationOwner): void;
45
+ export declare function useRelationOwner(): RelationOwner | null;
@@ -26,5 +26,8 @@ import { TypeRegistry } from '@webx-ui/schema';
26
26
  *
27
27
  * `wx-collection` is a block's window onto another section — the FAQ's questions, a team — and
28
28
  * keeps which part of it to show, never the records (`collections/`).
29
+ *
30
+ * `wx-relations` is a record pointing at records of another section — the services of a recipe,
31
+ * its similar recipes — by id, in order (`relations/`).
29
32
  */
30
33
  export declare const adminTypes: TypeRegistry;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .wx-screen__col{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16))}.wx-screen .wx-input-number{max-width:240px}.wx-screen__unknown{padding:var(--wx-space-8) var(--wx-space-12);border:1px dashed var(--wx-color-danger);border-radius:var(--wx-radius-control);background:var(--wx-color-danger-soft);color:var(--wx-color-danger);font-family:var(--wx-font-family-mono);font-size:var(--wx-font-size-sm)}.wx-categories-field[data-v-640cd836]{display:flex;flex-direction:column;gap:var(--wx-space-8)}.wx-categories-field[data-v-640cd836] .wx-sortable-list__content{display:flex;align-items:center;gap:var(--wx-space-8);min-width:0}.wx-categories-field__name[data-v-640cd836]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-collection-field[data-v-e86461fd]{display:flex;flex-direction:column;gap:var(--wx-space-12);min-width:0}.wx-collection-field__row[data-v-e86461fd]{display:flex;flex-direction:column;gap:var(--wx-space-4);min-width:0}.wx-collection-field__label[data-v-e86461fd]{font-size:var(--wx-font-size-sm);color:var(--wx-text-secondary)}.wx-collection-field__limit[data-v-e86461fd]{max-width:160px}.wx-collection-field__markup[data-v-e86461fd]{display:flex;flex-direction:column;gap:var(--wx-space-4)}.wx-collection-field__reset[data-v-e86461fd]{align-self:flex-start}.wx-collection-field__note[data-v-e86461fd],.wx-collection-field__hint[data-v-e86461fd]{margin:0;font-size:var(--wx-font-size-sm);color:var(--wx-text-secondary)}.wx-link-picker[data-v-e54022e5]{display:flex;flex-direction:column;gap:var(--wx-space-8)}.wx-link-picker__entity[data-v-e54022e5]{display:flex;flex-wrap:wrap;gap:var(--wx-space-8)}.wx-link-picker__entity[data-v-e54022e5]>.wx-link-picker__section{flex:0 0 auto;min-width:160px}.wx-link-picker__entity[data-v-e54022e5]>.wx-link-picker__search{flex:1 1 220px;min-width:0}.wx-link-picker__hash[data-v-e54022e5]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--wx-space-4) var(--wx-space-6)}.wx-link-picker__hash[data-v-e54022e5]>:first-child{grid-column:1 / -1}.wx-link-picker__sign[data-v-e54022e5]{color:var(--wx-text-placeholder)}.wx-link-picker__attributes[data-v-e54022e5]{display:flex;flex-direction:column;gap:var(--wx-space-12)}.wx-link-picker__rel[data-v-e54022e5]{display:flex;flex-direction:column;gap:var(--wx-space-6)}.wx-row-menu[data-v-cab01f7f]{--wx-action-bg: transparent}.wx-screen-head[data-v-e27d184e]{--wx-head-line: calc(var(--wx-font-size-2xl) * var(--wx-font-line-height-tight));display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back name actions" ". subtitle .";align-items:start;row-gap:var(--wx-space-4);flex:none;min-width:0}.wx-screen-head[data-level="3"][data-v-e27d184e]{--wx-head-line: calc(var(--wx-font-size-xl) * var(--wx-font-line-height-tight))}.wx-screen-head.has-trail[data-v-e27d184e]{grid-template-areas:"trail trail trail" "back name actions" ". subtitle ."}.wx-screen-head.has-divider[data-v-e27d184e]{padding-block-end:var(--wx-space-12);border-block-end:1px solid var(--wx-border-default)}.wx-screen-head__trail[data-v-e27d184e]{grid-area:trail;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;overflow-anchor:none;scrollbar-width:none;-ms-overflow-style:none}.wx-screen-head__trail[data-v-e27d184e]::-webkit-scrollbar{display:none}.wx-screen-head__trail[data-v-e27d184e]>*{flex-wrap:nowrap;white-space:nowrap}.wx-screen-head__trail[data-v-e27d184e] .wx-breadcrumb__list{flex-wrap:nowrap}.wx-screen-head__trail[data-v-e27d184e] .wx-breadcrumb-item{flex:none}.wx-screen-head__trail[data-v-e27d184e] .wx-breadcrumb-item__link{overflow:visible}.wx-screen-head[data-v-e27d184e]>.wx-screen-head__back{grid-area:back;margin-inline-end:var(--wx-space-8);margin-block-start:calc((var(--wx-head-line) - 30px) / 2)}.wx-screen-head__name[data-v-e27d184e]{grid-area:name;display:flex;align-items:center;gap:var(--wx-space-8);flex-wrap:wrap;min-width:0}.wx-screen-head__title[data-v-e27d184e]{min-width:0}.wx-screen-head__subtitle[data-v-e27d184e]{grid-area:subtitle;min-width:0}.wx-screen-head__actions[data-v-e27d184e]{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:var(--wx-space-8);flex-wrap:wrap;min-width:0;margin-inline-start:var(--wx-space-12);margin-block-start:calc((var(--wx-head-line) - var(--wx-size-control-md)) / 2)}.wx-screen-head__actions[data-v-e27d184e] .wx-action{--wx-action-size: var(--wx-size-control-md)}.wx-admin--drawer .wx-screen-head__actions[data-v-e27d184e]{--wx-size-control-md: 36px}.wx-screen-head.is-narrow.has-button[data-v-e27d184e]{grid-template-areas:"back name name" ". subtitle subtitle" "actions actions actions"}.wx-screen-head.is-narrow.has-button.has-trail[data-v-e27d184e]{grid-template-areas:"trail trail trail" "back name name" ". subtitle subtitle" "actions actions actions"}.wx-screen-head.is-narrow.has-button .wx-screen-head__actions[data-v-e27d184e]{margin-inline-start:0;margin-block-start:var(--wx-space-8)}.wx-screen-head.is-narrow .wx-screen-head__actions[data-v-e27d184e]>.wx-screen-head__button{flex:1 1 auto}.wx-list-screen[data-v-8c7e5ad1]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));min-width:0;container-type:inline-size}.wx-list-screen.is-fill[data-v-8c7e5ad1]{min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1]>:last-child{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs,.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__layout,.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__panels{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__panel,.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__panel>*{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__bar{flex:0 0 auto}.wx-slug[data-v-5921c0dd]{display:flex;flex-direction:column;gap:var(--wx-space-8)}.wx-slug__prefix[data-v-5921c0dd],.wx-slug[data-v-5921c0dd] .wx-input__inner{font-family:var(--wx-font-family-mono)}.wx-slug__prefix[data-v-5921c0dd]{color:var(--wx-text-muted)}.wx-admin[data-v-819885ab]{--wx-admin-header-height: 52px;min-height:100dvh;background:var(--wx-bg-body)}.wx-admin--drawer[data-v-819885ab]{--wx-gap: var(--wx-space-8)}.wx-admin--rail[data-v-819885ab]{--wx-gap: var(--wx-space-12)}.wx-admin--sidebar[data-v-819885ab]{--wx-gap: var(--wx-space-16)}.wx-admin__frame[data-v-819885ab]{padding:var(--wx-gap);gap:var(--wx-gap)}.wx-admin__header[data-v-819885ab]{--wx-header-top: var(--wx-gap)}.wx-admin__aside[data-v-819885ab]{--wx-aside-top: var(--wx-gap);--wx-aside-height: calc(100dvh - var(--wx-gap) * 2)}.wx-admin__brand[data-v-819885ab]{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-819885ab]{justify-content:center;padding-inline:var(--wx-space-4)}.wx-admin__brand--stacked[data-v-819885ab]{flex-direction:column;gap:var(--wx-space-4)}.wx-admin__title[data-v-819885ab]{flex:1 1 auto;min-width:0}.wx-admin__brand>.wx-admin__logo[data-v-819885ab]{margin-inline-end:auto}.wx-admin__logo[data-v-819885ab]{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-819885ab]{height:24px;width:24px;object-fit:contain}.wx-admin__user[data-v-819885ab]{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-819885ab]{justify-content:center}.wx-admin__user--drawer[data-v-819885ab]{flex:1 1 auto;justify-content:flex-start;padding:0;border-top:none}.wx-admin__screen[data-v-819885ab]{--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-819885ab]{--wx-fill-height: calc(100dvh - var(--wx-gap) * 3 - var(--wx-admin-header-height))}.wx-admin-plain[data-v-819885ab]{display:grid;place-items:center;box-sizing:border-box;min-height:100dvh;padding:var(--wx-space-16);background:var(--wx-bg-body)}:root[data-wx-shell],:root[data-wx-shell]>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-categories__loading{padding:var(--wx-space-8)}.wx-categories__list.is-plain .wx-sortable-list__row{padding-inline:var(--wx-space-8)}.wx-categories__note{margin-block-start:var(--wx-space-8)}.wx-categories__list .wx-sortable-list__row:hover{background:var(--wx-bg-subtle);border-radius:var(--wx-radius-sm)}.wx-category-row{display:flex;flex-direction:column;gap:var(--wx-space-2);align-items:flex-start;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.wx-category-row__name{display:flex;align-items:center;gap:var(--wx-space-6);min-width:0;max-width:100%}.wx-category-row.is-hidden{color:var(--wx-text-muted)}.wx-category-row__count{flex:none;font-variant-numeric:tabular-nums}.wx-save-state[data-v-216e5e44]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--wx-size-control-sm);height:var(--wx-size-control-sm)}.wx-save-state__mark[data-v-216e5e44]{font-size:var(--wx-font-size-lg);color:var(--wx-text-muted)}.wx-save-state__mark.is-saved[data-v-216e5e44]{color:var(--wx-color-success)}.wx-category-editor[data-v-86d85f8c]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));container-type:inline-size}.wx-category-editor__ghost[data-v-86d85f8c]{max-width:420px}.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}}.wx-backup-note[data-v-beeee67e]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--wx-space-4) var(--wx-space-6);margin:0}
1
+ .wx-screen__col{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16))}.wx-screen .wx-input-number{max-width:240px}.wx-screen__unknown{padding:var(--wx-space-8) var(--wx-space-12);border:1px dashed var(--wx-color-danger);border-radius:var(--wx-radius-control);background:var(--wx-color-danger-soft);color:var(--wx-color-danger);font-family:var(--wx-font-family-mono);font-size:var(--wx-font-size-sm)}.wx-categories-field[data-v-640cd836]{display:flex;flex-direction:column;gap:var(--wx-space-8)}.wx-categories-field[data-v-640cd836] .wx-sortable-list__content{display:flex;align-items:center;gap:var(--wx-space-8);min-width:0}.wx-categories-field__name[data-v-640cd836]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-relations-field[data-v-5ecf0e47]{display:flex;flex-direction:column;gap:var(--wx-space-8);min-width:0}.wx-relations-field[data-v-5ecf0e47] .wx-sortable-list__content{display:flex;align-items:center;gap:var(--wx-space-8);min-width:0}.wx-relations-field__thumb[data-v-5ecf0e47]{flex:none;width:32px;height:32px;min-width:0;object-fit:cover;border-radius:var(--wx-radius-xs);background:var(--wx-bg-fill)}.wx-relations-field__text[data-v-5ecf0e47]{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.wx-relations-field__title[data-v-5ecf0e47],.wx-relations-field__subtitle[data-v-5ecf0e47]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-relations-field__subtitle[data-v-5ecf0e47],.wx-relations-field__note[data-v-5ecf0e47]{font-size:var(--wx-font-size-sm);color:var(--wx-text-muted)}.wx-relations-field__note[data-v-5ecf0e47]{margin:0}.wx-relations-field.is-unordered[data-v-5ecf0e47] .wx-sortable-list__grip{display:none}.wx-relations-field[data-v-5ecf0e47] .wx-badge{flex:none}.wx-collection-field[data-v-023ad095]{display:flex;flex-direction:column;gap:var(--wx-space-12);min-width:0}.wx-collection-field__row[data-v-023ad095]{display:flex;flex-direction:column;gap:var(--wx-space-4);min-width:0}.wx-collection-field__label[data-v-023ad095]{font-size:var(--wx-font-size-sm);color:var(--wx-text-muted)}.wx-collection-field__limit[data-v-023ad095]{max-width:160px}.wx-collection-field__markup[data-v-023ad095]{display:flex;flex-direction:column;gap:var(--wx-space-4)}.wx-collection-field__reset[data-v-023ad095]{align-self:flex-start}.wx-collection-field__note[data-v-023ad095],.wx-collection-field__hint[data-v-023ad095]{margin:0;font-size:var(--wx-font-size-sm);color:var(--wx-text-muted)}.wx-link-picker[data-v-e54022e5]{display:flex;flex-direction:column;gap:var(--wx-space-8)}.wx-link-picker__entity[data-v-e54022e5]{display:flex;flex-wrap:wrap;gap:var(--wx-space-8)}.wx-link-picker__entity[data-v-e54022e5]>.wx-link-picker__section{flex:0 0 auto;min-width:160px}.wx-link-picker__entity[data-v-e54022e5]>.wx-link-picker__search{flex:1 1 220px;min-width:0}.wx-link-picker__hash[data-v-e54022e5]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--wx-space-4) var(--wx-space-6)}.wx-link-picker__hash[data-v-e54022e5]>:first-child{grid-column:1 / -1}.wx-link-picker__sign[data-v-e54022e5]{color:var(--wx-text-placeholder)}.wx-link-picker__attributes[data-v-e54022e5]{display:flex;flex-direction:column;gap:var(--wx-space-12)}.wx-link-picker__rel[data-v-e54022e5]{display:flex;flex-direction:column;gap:var(--wx-space-6)}.wx-row-menu[data-v-cab01f7f]{--wx-action-bg: transparent}.wx-screen-head[data-v-9ebd5372]{--wx-head-line: calc(var(--wx-font-size-2xl) * var(--wx-font-line-height-tight));display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back name actions" ". subtitle .";align-items:start;row-gap:var(--wx-space-4);flex:none;min-width:0}.wx-screen-head[data-level="3"][data-v-9ebd5372]{--wx-head-line: calc(var(--wx-font-size-xl) * var(--wx-font-line-height-tight))}.wx-screen-head.has-trail[data-v-9ebd5372]{grid-template-areas:"trail trail trail" "back name actions" ". subtitle ."}.wx-screen-head.has-divider[data-v-9ebd5372]{padding-block-end:var(--wx-space-12);border-block-end:1px solid var(--wx-border-default)}.wx-screen-head__trail[data-v-9ebd5372]{grid-area:trail;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;overflow-anchor:none;scrollbar-width:none;-ms-overflow-style:none}.wx-screen-head__trail[data-v-9ebd5372]::-webkit-scrollbar{display:none}.wx-screen-head__trail[data-v-9ebd5372]>*{flex-wrap:nowrap;white-space:nowrap}.wx-screen-head__trail[data-v-9ebd5372] .wx-breadcrumb__list{flex-wrap:nowrap}.wx-screen-head__trail[data-v-9ebd5372] .wx-breadcrumb-item{flex:none}.wx-screen-head__trail[data-v-9ebd5372] .wx-breadcrumb-item__link{overflow:visible}.wx-screen-head[data-v-9ebd5372]>.wx-screen-head__back{grid-area:back;margin-inline-end:var(--wx-space-8);margin-block-start:calc((var(--wx-head-line) - 30px) / 2)}.wx-screen-head__name[data-v-9ebd5372]{grid-area:name;display:flex;align-items:center;gap:var(--wx-space-8);flex-wrap:wrap;min-width:0}.wx-screen-head__title[data-v-9ebd5372]{min-width:0}.wx-screen-head__subtitle[data-v-9ebd5372]{grid-area:subtitle;min-width:0}.wx-screen-head__actions[data-v-9ebd5372]{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:var(--wx-space-8);flex-wrap:wrap;min-width:0;margin-inline-start:var(--wx-space-12);margin-block-start:calc((var(--wx-head-line) - var(--wx-size-control-md)) / 2)}.wx-screen-head__actions[data-v-9ebd5372] .wx-action{--wx-action-size: var(--wx-size-control-md)}.wx-admin--drawer .wx-screen-head__actions[data-v-9ebd5372]{--wx-size-control-md: 36px}.wx-screen-head.is-narrow.has-button[data-v-9ebd5372]{grid-template-areas:"back name name" ". subtitle subtitle" "actions actions actions"}.wx-screen-head.is-narrow.has-button.has-trail[data-v-9ebd5372]{grid-template-areas:"trail trail trail" "back name name" ". subtitle subtitle" "actions actions actions"}.wx-screen-head.is-narrow.has-button .wx-screen-head__actions[data-v-9ebd5372]{margin-inline-start:0;margin-block-start:var(--wx-space-8)}.wx-screen-head.is-narrow .wx-screen-head__actions[data-v-9ebd5372]>.wx-screen-head__button{flex:1 1 auto}.wx-list-screen[data-v-8c7e5ad1]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));min-width:0;container-type:inline-size}.wx-list-screen.is-fill[data-v-8c7e5ad1]{min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1]>:last-child{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs,.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__layout,.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__panels{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__panel,.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__panel>*{flex:1 1 auto;min-height:0}.wx-list-screen.is-fill[data-v-8c7e5ad1] .wx-tabs__bar{flex:0 0 auto}.wx-slug[data-v-5921c0dd]{display:flex;flex-direction:column;gap:var(--wx-space-8)}.wx-slug__prefix[data-v-5921c0dd],.wx-slug[data-v-5921c0dd] .wx-input__inner{font-family:var(--wx-font-family-mono)}.wx-slug__prefix[data-v-5921c0dd]{color:var(--wx-text-muted)}.wx-admin[data-v-819885ab]{--wx-admin-header-height: 52px;min-height:100dvh;background:var(--wx-bg-body)}.wx-admin--drawer[data-v-819885ab]{--wx-gap: var(--wx-space-8)}.wx-admin--rail[data-v-819885ab]{--wx-gap: var(--wx-space-12)}.wx-admin--sidebar[data-v-819885ab]{--wx-gap: var(--wx-space-16)}.wx-admin__frame[data-v-819885ab]{padding:var(--wx-gap);gap:var(--wx-gap)}.wx-admin__header[data-v-819885ab]{--wx-header-top: var(--wx-gap)}.wx-admin__aside[data-v-819885ab]{--wx-aside-top: var(--wx-gap);--wx-aside-height: calc(100dvh - var(--wx-gap) * 2)}.wx-admin__brand[data-v-819885ab]{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-819885ab]{justify-content:center;padding-inline:var(--wx-space-4)}.wx-admin__brand--stacked[data-v-819885ab]{flex-direction:column;gap:var(--wx-space-4)}.wx-admin__title[data-v-819885ab]{flex:1 1 auto;min-width:0}.wx-admin__brand>.wx-admin__logo[data-v-819885ab]{margin-inline-end:auto}.wx-admin__logo[data-v-819885ab]{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-819885ab]{height:24px;width:24px;object-fit:contain}.wx-admin__user[data-v-819885ab]{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-819885ab]{justify-content:center}.wx-admin__user--drawer[data-v-819885ab]{flex:1 1 auto;justify-content:flex-start;padding:0;border-top:none}.wx-admin__screen[data-v-819885ab]{--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-819885ab]{--wx-fill-height: calc(100dvh - var(--wx-gap) * 3 - var(--wx-admin-header-height))}.wx-admin-plain[data-v-819885ab]{display:grid;place-items:center;box-sizing:border-box;min-height:100dvh;padding:var(--wx-space-16);background:var(--wx-bg-body)}:root[data-wx-shell],:root[data-wx-shell]>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-categories__loading{padding:var(--wx-space-8)}.wx-categories__list.is-plain .wx-sortable-list__row{padding-inline:var(--wx-space-8)}.wx-categories__note{margin-block-start:var(--wx-space-8)}.wx-categories__list .wx-sortable-list__row:hover{background:var(--wx-bg-subtle);border-radius:var(--wx-radius-sm)}.wx-category-row{display:flex;flex-direction:column;gap:var(--wx-space-2);align-items:flex-start;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.wx-category-row__name{display:flex;align-items:center;gap:var(--wx-space-6);min-width:0;max-width:100%}.wx-category-row.is-hidden{color:var(--wx-text-muted)}.wx-category-row__count{flex:none;font-variant-numeric:tabular-nums}.wx-save-state[data-v-216e5e44]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--wx-size-control-sm);height:var(--wx-size-control-sm)}.wx-save-state__mark[data-v-216e5e44]{font-size:var(--wx-font-size-lg);color:var(--wx-text-muted)}.wx-save-state__mark.is-saved[data-v-216e5e44]{color:var(--wx-color-success)}.wx-category-editor[data-v-86d85f8c]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));container-type:inline-size}.wx-category-editor__ghost[data-v-86d85f8c]{max-width:420px}.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}}.wx-backup-note[data-v-beeee67e]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--wx-space-4) var(--wx-space-6);margin:0}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webx-ui/module-admin",
3
- "version": "0.17.0",
3
+ "version": "0.18.1",
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.33.2",
48
- "@webx-ui/schema": "^0.6.1",
47
+ "@webx-ui/core": "^0.34.0",
48
+ "@webx-ui/schema": "^0.6.2",
49
49
  "@webx-ui/tokens": "^0.4.0"
50
50
  },
51
51
  "devDependencies": {