@wssto2/vue-core 0.5.1 → 0.5.3

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 (56) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-BCgKzUvG.js → ActionRow.vue_vue_type_script_setup_true_lang-Bv-APkGf.js} +1 -1
  3. package/dist/{Activity-dpY2kIs2.js → Activity-DUjDaPfP.js} +4 -4
  4. package/dist/{Changes-CL8F1w8q.js → Changes-B0tZO6BZ.js} +3 -3
  5. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-l-e-6WeS.js → CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js} +2 -2
  6. package/dist/{DateField.vue_vue_type_script_setup_true_lang-DRuWzSaX.js → DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js} +1 -1
  7. package/dist/{DeadLetters-BZLyL5lR.js → DeadLetters-IgVHao84.js} +2 -2
  8. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-BPchlRCl.js → FormGroup.vue_vue_type_script_setup_true_lang-CSgT4ITL.js} +1 -1
  9. package/dist/{FormView.vue_vue_type_script_setup_true_lang-CPSYV7iQ.js → FormView.vue_vue_type_script_setup_true_lang-D31Hk3pJ.js} +1 -1
  10. package/dist/{General-mrVzi-5R.js → General-C40HxupS.js} +6 -6
  11. package/dist/{NewRolePage-B2DItwvf.js → NewRolePage-Bhy8KJO1.js} +2 -2
  12. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-ButMV_sf.js → NumberField.vue_vue_type_script_setup_true_lang-BdS7BxuS.js} +1 -1
  13. package/dist/{ProfilePage-EiTIYzZ5.js → ProfilePage-Bf7dFzGd.js} +9 -9
  14. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-BqqilJGF.js → RoleEditor.vue_vue_type_script_setup_true_lang-C6oloGIh.js} +12 -11
  15. package/dist/{RolePage-jMHAt9y8.js → RolePage-BjbvciTg.js} +6 -6
  16. package/dist/{RolesPage-B9GaVQBx.js → RolesPage-DzVOgF4z.js} +4 -4
  17. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-BwyMvkis.js → SegmentedField.vue_vue_type_script_setup_true_lang-DXe_iOS8.js} +1 -1
  18. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BzQC1qDQ.js → SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js} +2 -2
  19. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-DhoTd5D7.js → SessionList.vue_vue_type_script_setup_true_lang-PuWIK-Wa.js} +2 -2
  20. package/dist/{Sessions-CHLokZ9e.js → Sessions-CRUObe5G.js} +2 -2
  21. package/dist/{SettingsPage-CudoKdXm.js → SettingsPage-C0qEC0uI.js} +8 -8
  22. package/dist/{SignIn-ypRvdmjg.js → SignIn-Uy0Jujzz.js} +4 -4
  23. package/dist/{SignInPage-CbPeKlAo.js → SignInPage-CpVZfrLZ.js} +3 -3
  24. package/dist/{SignIns-BApzbGq-.js → SignIns-Cp5Gx2dk.js} +1 -1
  25. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-D_-HACqT.js → SwitchField.vue_vue_type_script_setup_true_lang-Dj5Aq8QT.js} +1 -1
  26. package/dist/{TextField.vue_vue_type_script_setup_true_lang-DTAQPbW0.js → TextField.vue_vue_type_script_setup_true_lang-BwfNNQEz.js} +2 -2
  27. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-DsjK2C9T.js → TextareaField.vue_vue_type_script_setup_true_lang-aT1P8Xqr.js} +1 -1
  28. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-Cz7KhUqt.js → TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.js} +1 -1
  29. package/dist/{UserRecord-BCTaBajE.js → UserRecord-DbSMnTbj.js} +6 -6
  30. package/dist/{UsersList-CqSK3cQL.js → UsersList-9MicE2pG.js} +7 -7
  31. package/dist/access/api.d.ts +8 -7
  32. package/dist/access/context.d.ts +7 -0
  33. package/dist/access/feature.d.ts +8 -0
  34. package/dist/access/index.js +1 -1
  35. package/dist/access/labels.d.ts +5 -0
  36. package/dist/collection/index.js +1 -1
  37. package/dist/form/FormRow.vue.d.ts +3 -0
  38. package/dist/form/index.js +22 -22
  39. package/dist/identity/index.js +2 -2
  40. package/dist/index-BdGnA1Jh.js +765 -0
  41. package/dist/{index-BTRv8mcf.js → index-C-oM_Mnf.js} +261 -239
  42. package/dist/{index-auJqVMWC.js → index-Ok29ucE3.js} +13 -13
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/notifications/index.d.ts +2 -0
  46. package/dist/notifications/index.js +5 -4
  47. package/dist/notifications/push/pushState.d.ts +27 -0
  48. package/dist/{options-g8RwEhBk.js → options-Bu0XbEpN.js} +104 -102
  49. package/dist/phone/index.js +1 -1
  50. package/dist/{status-BUFELJz2.js → status-C78NpXyB.js} +1 -1
  51. package/dist/styles.css +1 -1
  52. package/dist/{suggestions-CfFTHi8y.js → suggestions-ClyLexMO.js} +1 -1
  53. package/dist/{useCommand-CtqheKUv.js → useCommand-DyuPTosF.js} +1 -1
  54. package/dist/{useGroupSheet-ATvc0IiM.js → useGroupSheet-C2NyqWRp.js} +2 -2
  55. package/package.json +1 -1
  56. package/dist/index-VPzJJN6Z.js +0 -745
@@ -2,6 +2,12 @@ import type { RouteLocationRaw } from "vue-router";
2
2
  import type { ScopeOptions, SubjectRef } from "../modules/access/entities";
3
3
  import type { PermissionCatalogue } from "./catalogue";
4
4
  import type { RoleConstraint } from "./constraints";
5
+ /** Where an application serves the access routes of a subject kind other than `user`: `${base}/:id/{access,scopes,bindings,bindings/:binding_id}`, and the roles it may be given. */
6
+ export interface SubjectRoutes {
7
+ readonly base: string;
8
+ readonly bindable: string;
9
+ }
10
+ export type AccessSubjects = Readonly<Partial<Record<Exclude<SubjectRef["kind"], "user">, SubjectRoutes>>>;
5
11
  /** What the access screens need from the feature that installed them. */
6
12
  export interface AccessContext {
7
13
  readonly catalogue: PermissionCatalogue;
@@ -12,6 +18,7 @@ export interface AccessContext {
12
18
  readonly constraints: readonly RoleConstraint[];
13
19
  /** The i18n key of the sentence for each of the application's own role-problem codes (`authz.invalid`). */
14
20
  readonly problems: Readonly<Record<string, string>>;
21
+ readonly subjects: AccessSubjects;
15
22
  readonly scopes: ((subject: SubjectRef, signal: AbortSignal) => Promise<ScopeOptions>) | null;
16
23
  }
17
24
  export declare const accessContextKey: import("vue").InjectionKey<AccessContext>, useAccessContext: () => AccessContext;
@@ -4,6 +4,7 @@ import type { ScopeOptions, SubjectRef } from "../modules/access/entities";
4
4
  import type { Destination } from "../router";
5
5
  import type { PermissionCatalogue } from "./catalogue";
6
6
  import type { RoleConstraint } from "./constraints";
7
+ import { type AccessSubjects } from "./context";
7
8
  export interface AccessFeatureOptions {
8
9
  /**
9
10
  * The application's permissions: the `permissions` object go-core's `authzts` writes (`frontend/generated/permissions.ts`).
@@ -30,6 +31,13 @@ export interface AccessFeatureOptions {
30
31
  * accessFeature({ catalogue, problems: { vehicle_kind_conflict: "roles.problems.vehicle_kind_conflict" } })
31
32
  */
32
33
  problems?: Readonly<Record<string, string>>;
34
+ /**
35
+ * Where the routes of a subject kind other than `user` are (go-core leaves them to the application); the paths answer in go-core's own wire.
36
+ * `PersonAccess` and the add dialog with such a subject read and write there. Without an entry the subject is refused, never sent to the user routes.
37
+ *
38
+ * accessFeature({ catalogue, subjects: { service: { base: "/v1/iam/service-accounts", bindable: "/v1/iam/service-accounts/bindable-roles" } } })
39
+ */
40
+ subjects?: AccessSubjects;
33
41
  /** The backend's navigation destination that opens the roles list. Without it the application links to `accessPages.roles` itself. */
34
42
  destination?: Destination;
35
43
  }
@@ -1,4 +1,4 @@
1
- import { _ as a, j as c, k as r, c as o, b as u, l as i, m as n, p as l, n as t, q as m, t as p, u as R, i as b, f as d } from "../index-VPzJJN6Z.js";
1
+ import { _ as a, j as c, k as r, c as o, b as u, l as i, m as n, p as l, n as t, q as m, t as p, u as R, i as b, f as d } from "../index-BdGnA1Jh.js";
2
2
  export {
3
3
  a as BindingRow,
4
4
  c as PersonAccess,
@@ -28,6 +28,11 @@ export declare function useAccessLabels(): {
28
28
  levelLabel: (level: string) => string;
29
29
  /** A place: the level and its name (`Dealer · Auto Zagreb`); the root, which has no name, by its level. */
30
30
  scopeLabel: (scope: ScopeName) => string;
31
+ /** A role's constraint as the application worded it (`Used only`); an attribute or value it gave no text for stays as `attribute: value`. */
32
+ constraintLabel: (attr: {
33
+ attribute: string;
34
+ values: readonly string[];
35
+ }) => string;
31
36
  roleKind: (role: {
32
37
  predefined: boolean;
33
38
  computed: boolean;
@@ -1,5 +1,5 @@
1
1
  import { D as O, L as j, a as U, h as G, l as X, r as Z } from "../http-CdQowFlW.js";
2
- import { _ as H, a as J, u as K } from "../CollectionPage.vue_vue_type_script_setup_true_lang-l-e-6WeS.js";
2
+ import { _ as H, a as J, u as K } from "../CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js";
3
3
  import { u as W, a as Y } from "../neighbors-Bv6vnWlW.js";
4
4
  import { a as te, b as se } from "../rowLayout-BBFyLbOl.js";
5
5
  import { _ as ae } from "../DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js";
@@ -34,6 +34,8 @@ type __VLS_Props = {
34
34
  labelLines?: 1 | 2 | 3;
35
35
  /** `top` aligns the label with the first line of a tall control (a textarea). */
36
36
  labelAlign?: "center" | "top";
37
+ /** A `setting` row on a phone: the label and sub on the full width, the value and the actions on their own lines under it. */
38
+ stackOnCompact?: boolean;
37
39
  };
38
40
  type __VLS_Slots = {
39
41
  default?: () => unknown;
@@ -59,6 +61,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
59
61
  indent: number;
60
62
  labelLines: 1 | 2 | 3;
61
63
  labelAlign: "center" | "top";
64
+ stackOnCompact: boolean;
62
65
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
63
66
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
64
67
  export default _default;
@@ -1,45 +1,45 @@
1
1
  import { _ as He, c as et, f as tt } from "../FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js";
2
2
  import { E as Co, u as So, a as Fo } from "../FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js";
3
- import { f as Te, u as at } from "../useCommand-CtqheKUv.js";
4
- import { _ as Lo, a as To } from "../useCommand-CtqheKUv.js";
3
+ import { f as Te, u as at } from "../useCommand-DyuPTosF.js";
4
+ import { _ as Lo, a as To } from "../useCommand-DyuPTosF.js";
5
5
  import { ref as A, computed as h, defineComponent as G, openBlock as u, createBlock as D, mergeProps as W, unref as n, createSlots as J, withCtx as f, createElementVNode as y, normalizeClass as I, createElementBlock as g, Fragment as ie, renderList as xe, createVNode as j, createCommentVNode as L, toDisplayString as _, renderSlot as F, mergeDefaults as ue, useModel as re, useId as De, withKeys as Ce, withModifiers as pe, createTextVNode as H, mergeModels as le, useTemplateRef as U, shallowRef as Ve, watch as ye, normalizeProps as ze, guardReactiveProps as qe, nextTick as he, provide as lt, inject as Ue, onBeforeUnmount as Ye, getCurrentScope as ot, onScopeDispose as nt, toValue as st, shallowReactive as Ee, normalizeStyle as rt, resolveDynamicComponent as it } from "vue";
6
6
  import { a as We } from "../leaveGuard-Cc8yeLxM.js";
7
7
  import { M as zo, c as qo, i as Do, l as Ro, u as Mo } from "../leaveGuard-Cc8yeLxM.js";
8
8
  import { _ as Io } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
9
9
  import { u as Eo } from "../useResourceForm-CJfl8rj_.js";
10
10
  import { _ as Z } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
11
- import { u as Je, _ as ge, f as de, b as ce, a as Ze, c as Re, g as ut, j as dt, k as ct } from "../options-g8RwEhBk.js";
12
- import { e as Go, i as Ko, m as Po } from "../options-g8RwEhBk.js";
11
+ import { u as Je, _ as ge, f as de, b as ce, a as Ze, c as Re, g as ut, j as dt, k as ct } from "../options-Bu0XbEpN.js";
12
+ import { e as Go, i as Ko, m as Po } from "../options-Bu0XbEpN.js";
13
13
  import { useI18n as oe } from "vue-i18n";
14
14
  import { b as ft } from "../controlSurface-t7OEFESJ.js";
15
- import { a as mt } from "../TextField.vue_vue_type_script_setup_true_lang-DTAQPbW0.js";
16
- import { _ as Ho } from "../TextField.vue_vue_type_script_setup_true_lang-DTAQPbW0.js";
17
- import { u as vt, l as pt } from "../suggestions-CfFTHi8y.js";
18
- import { r as Yo } from "../suggestions-CfFTHi8y.js";
15
+ import { a as mt } from "../TextField.vue_vue_type_script_setup_true_lang-BwfNNQEz.js";
16
+ import { _ as Ho } from "../TextField.vue_vue_type_script_setup_true_lang-BwfNNQEz.js";
17
+ import { u as vt, l as pt } from "../suggestions-ClyLexMO.js";
18
+ import { r as Yo } from "../suggestions-ClyLexMO.js";
19
19
  import { s as $e, u as Ne, i as bt, o as _e, e as Se, k as yt, _ as gt, l as ht, c as kt, b as xt, t as Le, g as wt, q as $t } from "../useTypedEntry-C7k7Dyl-.js";
20
- import { u as _t, a as Ct, s as St } from "../DateField.vue_vue_type_script_setup_true_lang-DRuWzSaX.js";
21
- import { _ as Jo } from "../DateField.vue_vue_type_script_setup_true_lang-DRuWzSaX.js";
20
+ import { u as _t, a as Ct, s as St } from "../DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js";
21
+ import { _ as Jo } from "../DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js";
22
22
  import { _ as Xe } from "../DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
23
23
  import { u as Ft } from "../format-D8X4zsx6.js";
24
24
  import { u as Me } from "../mediaQuery-CygcXmFW.js";
25
25
  import { _ as je } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
26
- import { u as Bt } from "../TimeField.vue_vue_type_script_setup_true_lang-Cz7KhUqt.js";
27
- import { _ as Xo } from "../TimeField.vue_vue_type_script_setup_true_lang-Cz7KhUqt.js";
26
+ import { u as Bt } from "../TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.js";
27
+ import { _ as Xo } from "../TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.js";
28
28
  import { _ as be } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
29
- import { _ as Lt } from "../FormGroup.vue_vue_type_script_setup_true_lang-BPchlRCl.js";
30
- import { a as en, c as tn, p as an, r as ln, u as on } from "../FormGroup.vue_vue_type_script_setup_true_lang-BPchlRCl.js";
31
- import { _ as sn } from "../FormView.vue_vue_type_script_setup_true_lang-CPSYV7iQ.js";
29
+ import { _ as Lt } from "../FormGroup.vue_vue_type_script_setup_true_lang-CSgT4ITL.js";
30
+ import { a as en, c as tn, p as an, r as ln, u as on } from "../FormGroup.vue_vue_type_script_setup_true_lang-CSgT4ITL.js";
31
+ import { _ as sn } from "../FormView.vue_vue_type_script_setup_true_lang-D31Hk3pJ.js";
32
32
  import { i as Tt } from "../intlLocale-CeRU44qJ.js";
33
33
  import { a as Vt } from "../environment-Dva-SG8D.js";
34
- import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-ButMV_sf.js";
34
+ import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-BdS7BxuS.js";
35
35
  import { _ as qt } from "../Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
36
- import { u as Dt, a as Ge } from "../SelectField.vue_vue_type_script_setup_true_lang-BzQC1qDQ.js";
37
- import { _ as un, b as dn } from "../SelectField.vue_vue_type_script_setup_true_lang-BzQC1qDQ.js";
38
- import { _ as fn, b as mn, a as vn, u as pn } from "../useGroupSheet-ATvc0IiM.js";
36
+ import { u as Dt, a as Ge } from "../SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js";
37
+ import { _ as un, b as dn } from "../SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js";
38
+ import { _ as fn, b as mn, a as vn, u as pn } from "../useGroupSheet-C2NyqWRp.js";
39
39
  import { _ as Ke } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js";
40
- import { _ as yn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-BwyMvkis.js";
41
- import { _ as hn } from "../SwitchField.vue_vue_type_script_setup_true_lang-D_-HACqT.js";
42
- import { _ as xn } from "../TextareaField.vue_vue_type_script_setup_true_lang-DsjK2C9T.js";
40
+ import { _ as yn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-DXe_iOS8.js";
41
+ import { _ as hn } from "../SwitchField.vue_vue_type_script_setup_true_lang-Dj5Aq8QT.js";
42
+ import { _ as xn } from "../TextareaField.vue_vue_type_script_setup_true_lang-aT1P8Xqr.js";
43
43
  import { a as Rt } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js";
44
44
  import { _ as Mt, a as jt } from "../SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js";
45
45
  import { p as It } from "../sectionIndex-BS0ic5W7.js";
@@ -1,5 +1,5 @@
1
- import { _ as t, h as n, j as a, i, k as o, d as r, l as d, m as u, n as f, r as l, s as p, o as y, q as A, f as c } from "../index-auJqVMWC.js";
2
- import { _ as I } from "../ActionRow.vue_vue_type_script_setup_true_lang-BCgKzUvG.js";
1
+ import { _ as t, h as n, j as a, i, k as o, d as r, l as d, m as u, n as f, r as l, s as p, o as y, q as A, f as c } from "../index-Ok29ucE3.js";
2
+ import { _ as I } from "../ActionRow.vue_vue_type_script_setup_true_lang-Bv-APkGf.js";
3
3
  export {
4
4
  I as ActionRow,
5
5
  t as SignInAsButton,