@webx-ui/module-admin 0.20.0 → 0.22.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.
@@ -24,6 +24,10 @@ import { TypeRegistry } from '@webx-ui/schema';
24
24
  * editor hosting the screen hands it the prefix (`provideRecordAddress`). `wx-category-slug` is
25
25
  * the same field under the name the category screens were first described with.
26
26
  *
27
+ * `wx-select` is the core's select that also takes `source` — a module's list as its options, the
28
+ * way `wx-categories` has it: the stock status of a product, its brand. Over the schema's own
29
+ * `wx-select`, which it is when there is no `source`.
30
+ *
27
31
  * `wx-collection` is a block's window onto another section — the FAQ's questions, a team — and
28
32
  * keeps which part of it to show, never the records (`collections/`).
29
33
  *
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__row{max-width:calc(var(--wx-field-max-width, 640px) + var(--wx-row-gutter, 0px))}.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-history[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-12);min-width:0;container-type:inline-size}.wx-history__list[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-16);margin:0;padding:0;list-style:none}.wx-history-entry[data-v-68eae472]{display:flex;gap:var(--wx-space-8);min-width:0}.wx-history-entry__body[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-4);flex:1 1 auto;min-width:0}.wx-history-entry__head[data-v-68eae472],.wx-history-run__head[data-v-68eae472]{display:flex;align-items:center;gap:var(--wx-space-8);min-width:0}.wx-history-entry__head[data-v-68eae472]>:last-child,.wx-history-run__head[data-v-68eae472]>:last-child{margin-inline-start:auto;flex:none}.wx-history-entry__changes[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-2);margin:0;padding:0;list-style:none}.wx-history-change[data-v-68eae472]{font-size:var(--wx-font-size-sm);color:var(--wx-text-default);overflow-wrap:anywhere}.wx-history-change__label[data-v-68eae472]{color:var(--wx-text-muted);margin-inline-end:var(--wx-space-4)}.wx-history-change__from[data-v-68eae472]{color:var(--wx-text-muted);text-decoration:line-through}.wx-history-change__arrow[data-v-68eae472]{margin-inline:var(--wx-space-4);color:var(--wx-text-muted)}.wx-history-change__long[data-v-68eae472]{color:var(--wx-text-muted);font-style:italic}.wx-history-entry__run[data-v-68eae472]{align-self:flex-start;margin:0;padding:0;border:0;border-radius:var(--wx-radius-xs);background:none;font:inherit;font-size:var(--wx-font-size-sm);text-align:start;color:var(--wx-text-link);cursor:pointer}.wx-history-entry__run[data-v-68eae472]:hover{text-decoration:underline}.wx-history-entry__run[data-v-68eae472]:focus-visible{outline:none;box-shadow:var(--wx-ring-focus)}.wx-history__more[data-v-68eae472]{display:flex;justify-content:center}.wx-history-run[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-8);min-width:0}.wx-history-run__summary[data-v-68eae472]{display:grid;grid-template-columns:max-content 1fr;gap:var(--wx-space-4) var(--wx-space-12);margin:0;font-size:var(--wx-font-size-sm)}.wx-history-run__summary dt[data-v-68eae472]{color:var(--wx-text-muted)}.wx-history-run__summary dd[data-v-68eae472]{margin:0;overflow-wrap:anywhere}.wx-history-run__row[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-2)}.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-b9c461a6]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));container-type:inline-size}.wx-category-editor__ghost[data-v-b9c461a6]{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__row{max-width:calc(var(--wx-field-max-width, 640px) + var(--wx-row-gutter, 0px))}.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-history[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-12);min-width:0;container-type:inline-size}.wx-history__list[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-16);margin:0;padding:0;list-style:none}.wx-history-entry[data-v-68eae472]{display:flex;gap:var(--wx-space-8);min-width:0}.wx-history-entry__body[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-4);flex:1 1 auto;min-width:0}.wx-history-entry__head[data-v-68eae472],.wx-history-run__head[data-v-68eae472]{display:flex;align-items:center;gap:var(--wx-space-8);min-width:0}.wx-history-entry__head[data-v-68eae472]>:last-child,.wx-history-run__head[data-v-68eae472]>:last-child{margin-inline-start:auto;flex:none}.wx-history-entry__changes[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-2);margin:0;padding:0;list-style:none}.wx-history-change[data-v-68eae472]{font-size:var(--wx-font-size-sm);color:var(--wx-text-default);overflow-wrap:anywhere}.wx-history-change__label[data-v-68eae472]{color:var(--wx-text-muted);margin-inline-end:var(--wx-space-4)}.wx-history-change__from[data-v-68eae472]{color:var(--wx-text-muted);text-decoration:line-through}.wx-history-change__arrow[data-v-68eae472]{margin-inline:var(--wx-space-4);color:var(--wx-text-muted)}.wx-history-change__long[data-v-68eae472]{color:var(--wx-text-muted);font-style:italic}.wx-history-entry__run[data-v-68eae472]{align-self:flex-start;margin:0;padding:0;border:0;border-radius:var(--wx-radius-xs);background:none;font:inherit;font-size:var(--wx-font-size-sm);text-align:start;color:var(--wx-text-link);cursor:pointer}.wx-history-entry__run[data-v-68eae472]:hover{text-decoration:underline}.wx-history-entry__run[data-v-68eae472]:focus-visible{outline:none;box-shadow:var(--wx-ring-focus)}.wx-history__more[data-v-68eae472]{display:flex;justify-content:center}.wx-history-run[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-8);min-width:0}.wx-history-run__summary[data-v-68eae472]{display:grid;grid-template-columns:max-content 1fr;gap:var(--wx-space-4) var(--wx-space-12);margin:0;font-size:var(--wx-font-size-sm)}.wx-history-run__summary dt[data-v-68eae472]{color:var(--wx-text-muted)}.wx-history-run__summary dd[data-v-68eae472]{margin:0;overflow-wrap:anywhere}.wx-history-run__row[data-v-68eae472]{display:flex;flex-direction:column;gap:var(--wx-space-2)}.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-55265992]{display:flex;flex-direction:column;gap:var(--wx-gap, var(--wx-space-16));container-type:inline-size}.wx-category-editor__ghost[data-v-55265992]{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/dist/types.d.ts CHANGED
@@ -64,6 +64,14 @@ export interface ManifestGroup {
64
64
  /** A name from the icon set; `null` or absent leaves the branch with the default picture. */
65
65
  icon?: string | null;
66
66
  order: number;
67
+ /** Captions inside the group, in order; a module stands under one by naming its id. */
68
+ sections?: ManifestSection[];
69
+ }
70
+ /** A caption inside a navigation group: the catalogue's «Dictionaries». */
71
+ export interface ManifestSection {
72
+ id: string;
73
+ title: string;
74
+ order: number;
67
75
  }
68
76
  export interface ManifestModule {
69
77
  id: string;
@@ -72,6 +80,8 @@ export interface ManifestModule {
72
80
  order: number;
73
81
  /** The group the section sits under, or null for the top level. */
74
82
  group?: string | null;
83
+ /** The caption inside the group it stands under, or null among the group's plain entries. */
84
+ section?: string | null;
75
85
  permissions: string[];
76
86
  /** Whatever the server-side module wanted to say, in its own room. */
77
87
  meta: Record<string, unknown>;
@@ -164,12 +174,23 @@ export interface NavEntry {
164
174
  path: string;
165
175
  /** Group id, or null at the top level. */
166
176
  group: string | null;
177
+ /** Caption id inside the group, or null among its plain entries. */
178
+ section: string | null;
167
179
  }
168
180
  /** A group with the entries that sit under it, in navigation order. */
169
181
  export interface NavGroup {
170
182
  id: string;
171
183
  title: string;
172
184
  icon: string | null;
185
+ /** The entries under no caption — they come first. */
186
+ entries: NavEntry[];
187
+ /** Captions that have entries, in the order the server declared them. */
188
+ sections: NavSection[];
189
+ }
190
+ /** A caption inside a group with the entries under it. */
191
+ export interface NavSection {
192
+ id: string;
193
+ title: string;
173
194
  entries: NavEntry[];
174
195
  }
175
196
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webx-ui/module-admin",
3
- "version": "0.20.0",
3
+ "version": "0.22.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.34.1",
48
- "@webx-ui/schema": "^0.6.4",
47
+ "@webx-ui/core": "^0.34.3",
48
+ "@webx-ui/schema": "^0.7.0",
49
49
  "@webx-ui/tokens": "^0.4.0"
50
50
  },
51
51
  "devDependencies": {