@wssto2/vue-core 0.4.0 → 0.4.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.
Files changed (57) hide show
  1. package/dist/{Activity-2gGxQn7v.js → Activity-ylf1r2lv.js} +1 -1
  2. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-BoinCY93.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js} +1 -1
  3. package/dist/{Changes-Bm8xvagD.js → Changes-B1-2LPkp.js} +1 -1
  4. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-DCBVw2Qd.js → CollectionPage.vue_vue_type_script_setup_true_lang-DU_jzTg7.js} +1 -1
  5. package/dist/{DeadLetters-CMRtXn_N.js → DeadLetters-CcogaMTK.js} +2 -2
  6. package/dist/{General-CTqd0SLK.js → General-DSrflQib.js} +2 -2
  7. package/dist/{NewRolePage-DTOWIxxC.js → NewRolePage-Du9eyEG2.js} +3 -3
  8. package/dist/{ProfilePage-BlpiWH_W.js → ProfilePage-BjvWyg_e.js} +2 -2
  9. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-C_ymvhHU.js → RecordHeader.vue_vue_type_script_setup_true_lang-Ci4fs5s5.js} +1 -1
  10. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js → ResourcePage.vue_vue_type_script_setup_true_lang-KPVA-1fI.js} +1 -1
  11. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-CmwvSytD.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ci1Aqc37.js} +2 -2
  12. package/dist/{RolePage-DZk7BZOc.js → RolePage-BDD6volP.js} +4 -4
  13. package/dist/{RolesPage-DzGGCMnm.js → RolesPage-Bzun0trr.js} +2 -2
  14. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-BFYls8fR.js → SectionList.vue_vue_type_script_setup_true_lang-DBheVDeX.js} +1 -1
  15. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-DSMXEaCs.js → SectionNavigator.vue_vue_type_script_setup_true_lang-L4TXI0wR.js} +4 -4
  16. package/dist/{Sessions-CWqjjTr1.js → Sessions-BOzz38WJ.js} +1 -1
  17. package/dist/{SettingsPage-C4s0IdkW.js → SettingsPage-BXlYHt8u.js} +2 -2
  18. package/dist/{SignIn-zzKY__df.js → SignIn-CenfvX8C.js} +1 -1
  19. package/dist/{SignInPage-Rqnus_s-.js → SignInPage-23sJGIXh.js} +1 -1
  20. package/dist/{SignIns-Cnf9BVR0.js → SignIns-DRaTo-T0.js} +1 -1
  21. package/dist/{UserRecord-DqigxVxH.js → UserRecord-BreLQOPG.js} +5 -5
  22. package/dist/{UsersList-DNlZsI9J.js → UsersList-CKLqiOpt.js} +3 -3
  23. package/dist/access/index.js +1 -1
  24. package/dist/access-DmAceEo5.js +42 -0
  25. package/dist/app/feature.d.ts +2 -0
  26. package/dist/app/index.js +2 -2
  27. package/dist/{chrome-BS3xJcad.js → chrome-nUcmVu8G.js} +2 -2
  28. package/dist/collection/index.js +1 -1
  29. package/dist/form/index.js +3 -3
  30. package/dist/identity/index.js +1 -1
  31. package/dist/{index-BsJ92eub.js → index-0TeI4rVv.js} +2 -2
  32. package/dist/{index-GcLnFF-z.js → index-BBdzJnvG.js} +3 -3
  33. package/dist/{index-CGv-u1Ws.js → index-CnVf6Uk_.js} +10 -10
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/notifications/index.js +1 -1
  37. package/dist/page/chrome.d.ts +4 -1
  38. package/dist/page/index.d.ts +1 -1
  39. package/dist/page/index.js +23 -22
  40. package/dist/resource/index.js +1 -1
  41. package/dist/router/access.d.ts +1 -1
  42. package/dist/router/index.js +2 -2
  43. package/dist/router/pageRefresh.d.ts +6 -0
  44. package/dist/{sections-CntvUTxn.js → sections-D-kD98vu.js} +1 -1
  45. package/dist/shell/BackofficeShell.vue.d.ts +4 -1
  46. package/dist/shell/NavigationDrawer.vue.d.ts +1 -1
  47. package/dist/shell/PullToRefresh.vue.d.ts +2 -0
  48. package/dist/shell/ShellSidebar.vue.d.ts +2 -1
  49. package/dist/shell/backofficeShell.d.ts +3 -1
  50. package/dist/shell/index.js +644 -554
  51. package/dist/shell/pullToRefresh.d.ts +16 -0
  52. package/dist/shell/search.d.ts +3 -0
  53. package/dist/{status-BuP3ULjH.js → status-jB5r1cG2.js} +1 -1
  54. package/dist/styles.css +1 -1
  55. package/dist/{useSaveChrome-chi6D3HY.js → useSaveChrome-DuWm0Czf.js} +1 -1
  56. package/package.json +3 -3
  57. package/dist/access-DdRFrVV1.js +0 -40
@@ -1,15 +1,15 @@
1
- import { _ as x } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-BoinCY93.js";
2
- import { a as W, b as X, c as Y, d as Z, p as ee, u as te, e as ae } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-BoinCY93.js";
1
+ import { _ as x } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js";
2
+ import { a as W, b as X, c as Y, d as Z, p as ee, u as te, e as ae } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js";
3
3
  import { _ as se } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js";
4
4
  import { b as ne, i as re, u as ie } from "../bottomDock-BZEiOPYZ.js";
5
- import { defineComponent as v, openBlock as a, createBlock as b, withCtx as c, createElementVNode as s, normalizeStyle as k, createElementBlock as l, Fragment as y, renderList as B, normalizeClass as d, unref as _, createCommentVNode as p, toDisplayString as f, useModel as S, useId as C, useTemplateRef as $, computed as P, mergeProps as w, createSlots as T, renderSlot as m, mergeModels as D } from "vue";
5
+ import { defineComponent as v, openBlock as a, createBlock as b, withCtx as c, createElementVNode as s, normalizeStyle as k, createElementBlock as l, Fragment as y, renderList as B, normalizeClass as d, unref as h, createCommentVNode as p, toDisplayString as f, useModel as S, useId as C, useTemplateRef as P, computed as $, mergeProps as w, createSlots as T, renderSlot as m, mergeModels as D } from "vue";
6
6
  import { _ as L } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
7
- import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-C_ymvhHU.js";
8
- import { c as pe, i as fe, p as me, u as be, a as ge } from "../chrome-BS3xJcad.js";
7
+ import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-Ci4fs5s5.js";
8
+ import { c as pe, i as fe, p as me, a as be, u as ge, b as ve } from "../chrome-nUcmVu8G.js";
9
9
  import { s as z, u as I } from "../sectionIndex-BS0ic5W7.js";
10
- import { p as _e, a as he } from "../sectionIndex-BS0ic5W7.js";
11
- import { _ as ke } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-DSMXEaCs.js";
12
- import { a as Be, _ as Se } from "../SectionList.vue_vue_type_script_setup_true_lang-BFYls8fR.js";
10
+ import { p as _e, a as xe } from "../sectionIndex-BS0ic5W7.js";
11
+ import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-L4TXI0wR.js";
12
+ import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-DBheVDeX.js";
13
13
  import { _ as A } from "../Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
14
14
  const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex", "onClick"], R = { class: "relative" }, E = {
15
15
  key: 2,
@@ -17,7 +17,7 @@ const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex",
17
17
  }, H = {
18
18
  key: 0,
19
19
  class: "sr-only"
20
- }, q = /* @__PURE__ */ v({
20
+ }, U = /* @__PURE__ */ v({
21
21
  __name: "BottomTabBar",
22
22
  props: {
23
23
  items: {},
@@ -51,7 +51,7 @@ const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex",
51
51
  onClick: (u) => r("select", e.value)
52
52
  }, [
53
53
  s("span", R, [
54
- e.icon ? (a(), b(_(L), {
54
+ e.icon ? (a(), b(h(L), {
55
55
  key: 0,
56
56
  name: e.icon,
57
57
  size: 22
@@ -73,7 +73,7 @@ const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex",
73
73
  _: 1
74
74
  }));
75
75
  }
76
- }), G = /* @__PURE__ */ v({
76
+ }), q = /* @__PURE__ */ v({
77
77
  __name: "SectionPanel",
78
78
  props: /* @__PURE__ */ D({
79
79
  title: {},
@@ -91,13 +91,13 @@ const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex",
91
91
  }),
92
92
  emits: ["update:collapsed"],
93
93
  setup(n) {
94
- const t = n, o = S(n, "collapsed"), r = t.id ?? (z(t.title) || `section-${C()}`), i = $("panel"), g = P(() => i.value?.$el ?? null);
94
+ const t = n, o = S(n, "collapsed"), r = t.id ?? (z(t.title) || `section-${C()}`), i = P("panel"), g = $(() => i.value?.$el ?? null);
95
95
  return I(r, () => t.title, g, { number: () => t.number, reveal: () => i.value?.expand() }), (e, u) => (a(), b(A, w({
96
96
  ref_key: "panel",
97
97
  ref: i,
98
98
  collapsed: o.value,
99
- "onUpdate:collapsed": u[0] || (u[0] = (h) => o.value = h)
100
- }, { id: _(r), tabindex: -1 }, {
99
+ "onUpdate:collapsed": u[0] || (u[0] = (_) => o.value = _)
100
+ }, { id: h(r), tabindex: -1 }, {
101
101
  title: t.title,
102
102
  icon: t.icon,
103
103
  number: t.number,
@@ -134,15 +134,15 @@ export {
134
134
  W as AdaptivePageShell,
135
135
  se as BottomDock,
136
136
  x as BottomDockPortal,
137
- q as BottomTabBar,
137
+ U as BottomTabBar,
138
138
  X as PageActions,
139
139
  Y as PageToolbar,
140
140
  ue as RecordHeader,
141
141
  Z as ResourceHeader,
142
- Be as SectionJumper,
143
- Se as SectionList,
144
- ke as SectionNavigator,
145
- G as SectionPanel,
142
+ Se as SectionJumper,
143
+ Ce as SectionList,
144
+ ye as SectionNavigator,
145
+ q as SectionPanel,
146
146
  ne as bottomDockKey,
147
147
  pe as createPageChrome,
148
148
  re as installBottomDock,
@@ -153,9 +153,10 @@ export {
153
153
  z as sectionId,
154
154
  ie as useBottomDockTarget,
155
155
  te as useLargeTitle,
156
- be as usePageChrome,
157
- ge as usePageChromeContext,
156
+ be as useOptionalPageChrome,
157
+ ge as usePageChrome,
158
+ ve as usePageChromeContext,
158
159
  ae as usePageSectionBack,
159
160
  I as useSectionAnchor,
160
- he as useSectionIndex
161
+ xe as useSectionIndex
161
162
  };
@@ -1,5 +1,5 @@
1
1
  import { p as o, u as r, a, b as u } from "../routeResource-DstM0hvf.js";
2
- import { _ as R, a as c } from "../ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js";
2
+ import { _ as R, a as c } from "../ResourcePage.vue_vue_type_script_setup_true_lang-KPVA-1fI.js";
3
3
  export {
4
4
  R as RecordPager,
5
5
  c as ResourcePage,
@@ -24,7 +24,7 @@ export declare const routeAccessKey: InjectionKey<RouteAccess>, useRouteAccess:
24
24
  * page's section outlet) is an `AppRouterView`, not a bare `RouterView`: it shows the no-access state
25
25
  * in place of a page the session may not open (parents around it keep rendering, so the layout stays),
26
26
  * and remounts a page when the route parameter named by `meta.remountOnParam` changes (a record pager
27
- * moving to the next record).
27
+ * moving to the next record), or when the shell's pull to refresh reloads the page (the shell's outlet only).
28
28
  *
29
29
  * Denial is shown here, not enforced: the server authorizes every request.
30
30
  */
@@ -1,8 +1,8 @@
1
1
  import { _ as a, c as o, a as r, i as t } from "../NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js";
2
2
  import { d as c } from "../defineRoutes-BGAdiIrt.js";
3
- import { A as u, f as p, i as f, r as A, u as m } from "../access-DdRFrVV1.js";
3
+ import { A as u, f as p, i as f, r as A, u as m } from "../access-DmAceEo5.js";
4
4
  import { i as l, r as x } from "../guards-Dve61KjR.js";
5
- import { u as y } from "../sections-CntvUTxn.js";
5
+ import { u as y } from "../sections-D-kD98vu.js";
6
6
  import { b as v, c as N, n as H, u as b } from "../navigation-Cm3iChlR.js";
7
7
  export {
8
8
  u as AppRouterView,
@@ -0,0 +1,6 @@
1
+ import { type InjectionKey, type Ref } from "vue";
2
+ /**
3
+ * Bumped by the shell's pull to refresh; the page outlet of the shell (an `AppRouterView` at depth 0) is keyed by it, so
4
+ * the page remounts and reloads its data while everything around it stays. Internal: not exported from `router`.
5
+ */
6
+ export declare const pageRefreshKey: InjectionKey<Ref<number>>;
@@ -2,7 +2,7 @@ import { computed as n, watch as h } from "vue";
2
2
  import { useI18n as b } from "vue-i18n";
3
3
  import { useRoute as g, useRouter as p } from "vue-router";
4
4
  import { u as y } from "./platform-q3cjODLx.js";
5
- import { i as w } from "./access-DdRFrVV1.js";
5
+ import { i as w } from "./access-DmAceEo5.js";
6
6
  function j() {
7
7
  const t = g(), u = p(), { access: c } = y(), { t: r } = b(), i = n(() => {
8
8
  for (let e = t.matched.length - 1; e >= 0; e--) {
@@ -5,7 +5,7 @@ import type { NavigationProgress } from "./progress";
5
5
  /**
6
6
  * The layout of a backoffice application: a sidebar with the server's menu on desktop, a top bar
7
7
  * and a push navigation drawer on phones, the page in between, the bottom dock and the toasts, and
8
- * the places features contribute to (`headerActions`, `accountMenu`, `banner`, `host`). Give it to
8
+ * the places features contribute to (`headerActions`, `search`, `accountMenu`, `banner`, `host`). Give it to
9
9
  * `createApplication` through `backofficeShell()`, or render it inside a shell of your own.
10
10
  *
11
11
  * Signed out (the login page) there is only the top bar with the brand and the page.
@@ -21,6 +21,8 @@ type __VLS_Props = {
21
21
  identity?: (user: SessionUser) => ShellIdentity;
22
22
  /** The page-load indicator (`backofficeShell()` supplies it to the router as well). */
23
23
  progress?: NavigationProgress;
24
+ /** Pull down from the top of the page to reload it, while the application runs installed (`display-mode: standalone`). Default on. */
25
+ pullToRefresh?: boolean;
24
26
  };
25
27
  type __VLS_Slots = {
26
28
  /** The logo, for the dark sidebar (`tone` `light`) and the light surfaces (`brand`). Default: the application's name. */
@@ -36,6 +38,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
36
38
  progress: NavigationProgress;
37
39
  home: RouteLocationRaw;
38
40
  identity: (user: SessionUser) => ShellIdentity;
41
+ pullToRefresh: boolean;
39
42
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
43
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
41
44
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import type { RouteLocationRaw } from "vue-router";
2
2
  import type { ShellIdentity } from "./identity";
3
3
  /**
4
- * The phone navigation drawer's content (UI decision D18): the brand (home), the destinations (the
4
+ * The phone navigation drawer's content (UI decision D18): the brand (home), the shell's `search` field, the destinations (the
5
5
  * same model as the desktop rail), a `footer` slot, and the account row pinned at the bottom.
6
6
  * Presentation only: the `ShellStage` around it owns opening, closing, gestures and focus, and the
7
7
  * owner acts on the events:
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -3,7 +3,8 @@ import type { ShellIdentity } from "./identity";
3
3
  /**
4
4
  * The desktop sidebar: an attached, full-height dark rail, the page's one dark surface (the
5
5
  * `anchor` palette), sticky and scrolling on its own when the menu is taller than the window. From
6
- * top to bottom: the brand (home) with the shell's `headerActions`, the server's menu, a `footer`
6
+ * top to bottom: the brand (home) with the shell's `headerActions`, the shell's `search` field,
7
+ * the server's menu, a `footer`
7
8
  * slot, and the account block. It renders from the md breakpoint up and nothing below it (phones use
8
9
  * the navigation drawer), so a header action contributed to the shell is mounted once, never in both.
9
10
  *
@@ -14,10 +14,12 @@ export interface BackofficeShellOptions<U extends SessionUser = SessionUser> {
14
14
  footer?: Component;
15
15
  /** Extra content at the end of the top bar. */
16
16
  topBarEnd?: Component;
17
+ /** Pull down from the top of the page to reload it (the page only; the shell stays), while the application runs installed. Default `true`. */
18
+ pullToRefresh?: boolean;
17
19
  }
18
20
  /**
19
21
  * The backoffice shell as `createApplication` takes it: the layout, the slots it renders
20
- * (`headerActions`, `accountMenu`, `banner`, `host`) and the page-load indicator wired to the router.
22
+ * (`headerActions`, `search`, `accountMenu`, `banner`, `host`) and the page-load indicator wired to the router.
21
23
  *
22
24
  * createApplication({ platform, features, shell: backofficeShell({ brand: MyLogo }) });
23
25
  *