@wssto2/vue-core 0.9.2 → 0.9.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 (49) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{Activity-DBy2ZG5b.js → Activity-29hsZ28j.js} +3 -3
  3. package/dist/{Changes-DDicMqpj.js → Changes-Dxjdkd_5.js} +2 -2
  4. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-5QSqmIFj.js → CollectionPage.vue_vue_type_script_setup_true_lang-DHcekGNn.js} +3 -3
  5. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-Ba3vLxt6.js → DataTable.vue_vue_type_script_setup_true_lang-8kBsNRuq.js} +1 -1
  6. package/dist/{DateField.vue_vue_type_script_setup_true_lang-MP9frI9g.js → DateField.vue_vue_type_script_setup_true_lang-BhKdCVFn.js} +2 -2
  7. package/dist/{DeadLetters-qOY8lQQn.js → DeadLetters-Bb5pPlOY.js} +3 -3
  8. package/dist/{General-VsiXKARg.js → General-BAG7S6wV.js} +3 -3
  9. package/dist/{IncidentRecord-CoweBFQ8.js → IncidentRecord-D8aOpNHo.js} +2 -2
  10. package/dist/{IncidentsList-DphbU1FK.js → IncidentsList-C0cFl0Db.js} +5 -5
  11. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-CLN2COfp.js → NumberField.vue_vue_type_script_setup_true_lang-TGGAq8J-.js} +1 -1
  12. package/dist/{ProfilePage-DrKiof1I.js → ProfilePage-BnohZIEg.js} +4 -4
  13. package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-CrtVy3Ea.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-aWkKwxNe.js} +2 -2
  14. package/dist/{ServiceAccountRecord-DnunLV1K.js → ServiceAccountRecord-bxX9yQkC.js} +4 -4
  15. package/dist/{ServiceAccountsList-7OovJ7gR.js → ServiceAccountsList-BXE6htxk.js} +3 -3
  16. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-B04ECmcf.js → SessionList.vue_vue_type_script_setup_true_lang-Cnyt5V8T.js} +1 -1
  17. package/dist/{Sessions-DzyRG4PP.js → Sessions--Gvc0kxw.js} +2 -2
  18. package/dist/{SettingsPage-CaMER5m8.js → SettingsPage-DzDC7gD-.js} +5 -5
  19. package/dist/{SignIn-MHbY4kg8.js → SignIn-CTI_699e.js} +2 -2
  20. package/dist/{SignInPage-3nerqsOt.js → SignInPage-HKC1bm2E.js} +1 -1
  21. package/dist/{SignIns-B3uCHdLX.js → SignIns-BcqBgWgN.js} +2 -2
  22. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-DsWI9A-z.js → TimeField.vue_vue_type_script_setup_true_lang-gGFfQLuK.js} +2 -2
  23. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CAz2W69d.js → Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js} +1 -1
  24. package/dist/{UserRecord-m4c7H9X9.js → UserRecord-CtUPpbCt.js} +3 -3
  25. package/dist/{UsersList-C-c8J2XS.js → UsersList-BMkIgIg8.js} +5 -5
  26. package/dist/app/index.js +1 -1
  27. package/dist/{application-Dqm5sJdZ.js → application-BmXW6iW_.js} +1 -1
  28. package/dist/collection/index.js +3 -3
  29. package/dist/content/index.js +46 -49
  30. package/dist/{fieldMessages-DuyspfNV.js → fieldMessages-B6GHgi40.js} +1 -1
  31. package/dist/form/index.js +7 -7
  32. package/dist/format/format.d.ts +16 -4
  33. package/dist/format/index.d.ts +1 -1
  34. package/dist/format/index.js +1 -1
  35. package/dist/format-D8KUBmbS.js +87 -0
  36. package/dist/identity/index.js +1 -1
  37. package/dist/incidents/index.js +1 -1
  38. package/dist/{index-DLq_tp3t.js → index-CdtofdcJ.js} +13 -13
  39. package/dist/{index-DwgdsKJN.js → index-Dm-sdJJr.js} +3 -3
  40. package/dist/{index-W80SBKUX.js → index-Dz0LkLM8.js} +3 -3
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/notifications/index.js +1 -1
  44. package/dist/{rowLayout-DQtop4nN.js → rowLayout-CT8vWYgI.js} +3 -3
  45. package/dist/{status-MUjElKZC.js → status-BRA14qwX.js} +1 -1
  46. package/dist/testing/index.js +1 -1
  47. package/dist/{useTypedEntry-KfhdrVqp.js → useTypedEntry-C_Bk4sI0.js} +1 -1
  48. package/package.json +1 -1
  49. package/dist/format-Dn-BOb-o.js +0 -86
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.3 — 2026-10-16
4
+
5
+ ### Changed
6
+ - **format:** `format.money(amount, options?)` replaces `money(amount, currency?)`. `options` is `{ currency, decimals, whole, symbol }`: `decimals` sets the fraction digits (default 2), `whole` drops the fraction of an amount that has none (`39.600`, not `39.600,00`; `<Money whole>` uses the same rule), `symbol: false` gives the number alone. Migrate `format.money(x, "EUR")` to `format.money(x, { currency: "EUR" })`.
7
+ - **format:** the overridable `Formatters.money(amount, currency, locale)` receives a fourth argument, the `Intl.NumberFormatOptions` with the fraction digits when the caller set `decimals` or `whole`. An override that ignores it keeps working.
8
+
3
9
  ## 0.9.2 — 2026-10-16
4
10
 
5
11
  ### Fixed
@@ -2,11 +2,11 @@ import { defineComponent as S, ref as g, watch as w, computed as k, openBlock as
2
2
  import { useI18n as q } from "vue-i18n";
3
3
  import { _ as D } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
4
4
  import { _ as I } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
5
- import { u as O } from "./format-Dn-BOb-o.js";
6
- import { _ as U } from "./DateField.vue_vue_type_script_setup_true_lang-MP9frI9g.js";
5
+ import { u as O } from "./format-D8KUBmbS.js";
6
+ import { _ as U } from "./DateField.vue_vue_type_script_setup_true_lang-BhKdCVFn.js";
7
7
  import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
8
8
  import { g as z } from "./options-QuOkMKVZ.js";
9
- import { P as G, c as H, i as J } from "./index-DLq_tp3t.js";
9
+ import { P as G, c as H, i as J } from "./index-CdtofdcJ.js";
10
10
  import { u as K } from "./platform-BQOX_Ntw.js";
11
11
  import { b as M } from "./routeResource-DlTsGTg_.js";
12
12
  import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as k, computed as N, openBlock as n, createBlock as u, unref as a, withCtx as g, createElementBlock as p, Fragment as _, renderList as $, createElementVNode as i, toDisplayString as h, createCommentVNode as C, ref as x, watch as b, createVNode as y } from "vue";
2
2
  import { useI18n as E } from "vue-i18n";
3
- import { P as V, i as R } from "./index-DLq_tp3t.js";
3
+ import { P as V, i as R } from "./index-CdtofdcJ.js";
4
4
  import { u as S } from "./platform-BQOX_Ntw.js";
5
5
  import { b as B } from "./routeResource-DlTsGTg_.js";
6
6
  import { _ as F } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
7
7
  import { u as L } from "./useLoad-M7V-AVwR.js";
8
8
  import { _ as P } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
9
9
  import { _ as I } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
10
- import { u as O } from "./format-Dn-BOb-o.js";
10
+ import { u as O } from "./format-D8KUBmbS.js";
11
11
  import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
12
12
  import { g as U } from "./options-QuOkMKVZ.js";
13
13
  import { _ as q } from "./PageBar.vue_vue_type_script_setup_true_lang-qI94fjJv.js";
@@ -7,15 +7,15 @@ import { a as mt } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang
7
7
  import { useI18n as he } from "vue-i18n";
8
8
  import { _ as ce, u as Ne } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
9
9
  import { _ as Ge } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
10
- import { u as Pe } from "./format-Dn-BOb-o.js";
10
+ import { u as Pe } from "./format-D8KUBmbS.js";
11
11
  import { _ as I } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
12
12
  import { _ as Ae } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
13
13
  import { _ as Ee } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
14
- import { u as bt, _ as gt } from "./rowLayout-DQtop4nN.js";
14
+ import { u as bt, _ as gt } from "./rowLayout-CT8vWYgI.js";
15
15
  import { _ as Ye } from "./Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
16
16
  import { _ as Ze } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
17
17
  import { _ as we } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
18
- import { _ as ht } from "./NumberField.vue_vue_type_script_setup_true_lang-CLN2COfp.js";
18
+ import { _ as ht } from "./NumberField.vue_vue_type_script_setup_true_lang-TGGAq8J-.js";
19
19
  import { _ as yt } from "./SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
20
20
  import { a as _t } from "./mediaQuery-CygcXmFW.js";
21
21
  import { _ as xt } from "./Sheet.vue_vue_type_script_setup_true_lang-B91aRD_y.js";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as d, computed as u, useSlots as p, openBlock as w, createElementBlock as y, createVNode as f, unref as k, createSlots as b, renderList as m, withCtx as h, renderSlot as v, normalizeProps as _, guardReactiveProps as g } from "vue";
2
- import { u as R, _ as L } from "./rowLayout-DQtop4nN.js";
2
+ import { u as R, _ as L } from "./rowLayout-CT8vWYgI.js";
3
3
  const F = ["aria-busy"], V = /* @__PURE__ */ d({
4
4
  __name: "DataTable",
5
5
  props: {
@@ -1,12 +1,12 @@
1
1
  import { computed as p, defineComponent as re, useModel as oe, useTemplateRef as T, openBlock as g, createBlock as Y, mergeProps as E, unref as s, createSlots as ae, withCtx as y, createElementBlock as C, Fragment as H, createVNode as D, createTextVNode as ne, toDisplayString as K, createCommentVNode as M, createElementVNode as O, normalizeClass as le, renderSlot as S, mergeModels as G, mergeDefaults as se, nextTick as J } from "vue";
2
2
  import { useI18n as L } from "vue-i18n";
3
3
  import { _ as ie } from "./DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
4
- import { u as W } from "./format-Dn-BOb-o.js";
4
+ import { u as W } from "./format-D8KUBmbS.js";
5
5
  import { _ as de } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
6
  import { u as ue } from "./mediaQuery-CygcXmFW.js";
7
7
  import { _ as ce } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
8
8
  import { e as me, _ as fe, f as pe, b as be } from "./options-QuOkMKVZ.js";
9
- import { e as q, f as j, m as X, g as Z, h as ve, j as ye, u as ke, k as ge, _ as he, l as xe, c as we } from "./useTypedEntry-KfhdrVqp.js";
9
+ import { e as q, f as j, m as X, g as Z, h as ve, j as ye, u as ke, k as ge, _ as he, l as xe, c as we } from "./useTypedEntry-C_Bk4sI0.js";
10
10
  const _e = ["d", "m", "y"];
11
11
  function $e(o) {
12
12
  const r = o("2033-11-22"), t = { y: r.indexOf("2033") >= 0 ? r.indexOf("2033") : r.indexOf("33"), m: r.indexOf("11"), d: r.indexOf("22") };
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as B, useTemplateRef as C, computed as y, ref as v, openBlock as D, createBlock as z, unref as r, withCtx as m, createVNode as F, createElementVNode as b, normalizeClass as $, toDisplayString as h } from "vue";
2
2
  import { useI18n as q } from "vue-i18n";
3
3
  import { a as k } from "./error-CD7x0Jrz.js";
4
- import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-5QSqmIFj.js";
4
+ import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-DHcekGNn.js";
5
5
  import { u as P } from "./describeError-B-NMa--w.js";
6
- import { u as I } from "./format-Dn-BOb-o.js";
7
- import { e as a, R as O } from "./index-W80SBKUX.js";
6
+ import { u as I } from "./format-D8KUBmbS.js";
7
+ import { e as a, R as O } from "./index-Dz0LkLM8.js";
8
8
  import { _ as W } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
9
9
  import { t as i } from "./toast-CqSDTWRX.js";
10
10
  import { u as Y } from "./useLoad-M7V-AVwR.js";
@@ -1,18 +1,18 @@
1
1
  import { defineComponent as R, computed as N, openBlock as i, createElementBlock as k, createVNode as o, unref as e, withCtx as u, mergeProps as c, createBlock as b, createCommentVNode as d, createElementVNode as p, toDisplayString as v, createTextVNode as S } from "vue";
2
2
  import { useI18n as V } from "vue-i18n";
3
3
  import { RouterLink as B } from "vue-router";
4
- import { u as E } from "./format-Dn-BOb-o.js";
4
+ import { u as E } from "./format-D8KUBmbS.js";
5
5
  import { u as T } from "./useResourceForm-DJ4Q75pq.js";
6
6
  import { _ as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
7
7
  import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js";
8
8
  import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
9
9
  import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
10
10
  import { u as A } from "./useSaveChrome-7huA3FzR.js";
11
- import { P as D, b as G, i as I } from "./index-DLq_tp3t.js";
11
+ import { P as D, b as G, i as I } from "./index-CdtofdcJ.js";
12
12
  import { t as M } from "./toast-CqSDTWRX.js";
13
13
  import { u as O } from "./platform-BQOX_Ntw.js";
14
14
  import { b as U } from "./routeResource-DlTsGTg_.js";
15
- import { u as j } from "./fieldMessages-DuyspfNV.js";
15
+ import { u as j } from "./fieldMessages-B6GHgi40.js";
16
16
  import { _ as $ } from "./ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
17
17
  import { _ as z } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
18
18
  import { u as H } from "./languages-BShG9LpE.js";
@@ -16,7 +16,7 @@ import { _ as P } from "./TextareaField.vue_vue_type_script_setup_true_lang-Dyh4
16
16
  import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
17
17
  import { u as de } from "./useSaveChrome-7huA3FzR.js";
18
18
  import { u as ue } from "./useCommand-Dc8Lgs9h.js";
19
- import { u as _e } from "./format-Dn-BOb-o.js";
19
+ import { u as _e } from "./format-D8KUBmbS.js";
20
20
  import { t as me } from "./toast-CqSDTWRX.js";
21
21
  import { _ as fe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-B9mN7UxZ.js";
22
22
  import { u as pe } from "./platform-BQOX_Ntw.js";
@@ -24,7 +24,7 @@ import { a as be } from "./routeResource-DlTsGTg_.js";
24
24
  import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Cw8mGf_B.js";
25
25
  import { _ as N } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
26
26
  import { _ as q } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
27
- import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-DwgdsKJN.js";
27
+ import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-Dm-sdJJr.js";
28
28
  import { _ as Ne } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
29
29
  const De = { class: "flex min-w-0 items-center gap-2" }, Le = { class: "flex min-w-0 flex-col items-start" }, Ce = { class: "max-w-full truncate text-xs font-semibold text-content-strong" }, Ae = {
30
30
  key: 0,
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as $, useTemplateRef as D, computed as d, openBlock as n, createBlock as m, unref as e, withCtx as i, createVNode as c, createElementBlock as p, toDisplayString as a, createElementVNode as F, createTextVNode as f, createCommentVNode as O } from "vue";
2
2
  import { useI18n as q } from "vue-i18n";
3
3
  import { useRouter as U } from "vue-router";
4
- import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang-5QSqmIFj.js";
5
- import { a as y } from "./rowLayout-DQtop4nN.js";
4
+ import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang-DHcekGNn.js";
5
+ import { a as y } from "./rowLayout-CT8vWYgI.js";
6
6
  import { u as Y } from "./datePresets-DB13HHHd.js";
7
- import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-CAz2W69d.js";
7
+ import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js";
8
8
  import { _ as g } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
9
- import { u as K } from "./format-Dn-BOb-o.js";
9
+ import { u as K } from "./format-D8KUBmbS.js";
10
10
  import { u as G } from "./platform-BQOX_Ntw.js";
11
11
  import { _ as k } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
12
- import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-DwgdsKJN.js";
12
+ import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-Dm-sdJJr.js";
13
13
  const X = {
14
14
  key: 1,
15
15
  class: "flex min-w-0 items-center gap-3"
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as H, ref as _, computed as B, useTemplateRef as K, watch as R, openBlock as q, createBlock as J, mergeProps as L, unref as T, createSlots as Q, withCtx as $, createElementVNode as Z, normalizeClass as E, createElementBlock as G, toDisplayString as I, createCommentVNode as P, isRef as W, renderSlot as N, mergeDefaults as U } from "vue";
2
2
  import { b as X } from "./controlSurface-t7OEFESJ.js";
3
- import { u as Y } from "./format-Dn-BOb-o.js";
3
+ import { u as Y } from "./format-D8KUBmbS.js";
4
4
  import { a as ee, e as te, _ as le, f as ae, b as oe } from "./options-QuOkMKVZ.js";
5
5
  function ne(c) {
6
6
  const r = c.number(1234.5, { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping: !0 }), u = /^\d(\D)\d/.exec(r)?.[1] ?? "";
@@ -4,17 +4,17 @@ import { a as ke } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang
4
4
  import { u as G } from "./platform-BQOX_Ntw.js";
5
5
  import { _ as ee } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
6
6
  import { u as te } from "./useLoad-M7V-AVwR.js";
7
- import { i as S, d as T, c as qe } from "./index-DLq_tp3t.js";
7
+ import { i as S, d as T, c as qe } from "./index-CdtofdcJ.js";
8
8
  import { u as ce } from "./FormErrors.vue_vue_type_script_setup_true_lang-CIggKPtq.js";
9
9
  import { _ as ue } from "./FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js";
10
10
  import { u as Ce, _ as Se, a as Ee, b as Ve } from "./useGroupSheet-DQ6cVG-z.js";
11
11
  import { _ as H, p as Pe } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
12
12
  import { t as C } from "./toast-CqSDTWRX.js";
13
- import { u as W } from "./fieldMessages-DuyspfNV.js";
13
+ import { u as W } from "./fieldMessages-B6GHgi40.js";
14
14
  import { g as K } from "./options-QuOkMKVZ.js";
15
15
  import { _ as F } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
16
16
  import { _ as pe } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
17
- import { u as ae } from "./format-Dn-BOb-o.js";
17
+ import { u as ae } from "./format-D8KUBmbS.js";
18
18
  import { _ as X } from "./ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
19
19
  import { a as Z } from "./error-CD7x0Jrz.js";
20
20
  import { a as Ie } from "./leaveGuard-Cc8yeLxM.js";
@@ -22,7 +22,7 @@ import { _ as Ne } from "./Modal.vue_vue_type_script_setup_true_lang-BlHhdmMy.js
22
22
  import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
23
23
  import { u as Ae, _ as Me } from "./useCommand-Dc8Lgs9h.js";
24
24
  import { _ as Re } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
25
- import { _ as De } from "./SessionList.vue_vue_type_script_setup_true_lang-B04ECmcf.js";
25
+ import { _ as De } from "./SessionList.vue_vue_type_script_setup_true_lang-Cnyt5V8T.js";
26
26
  import { _ as Le } from "./PageBar.vue_vue_type_script_setup_true_lang-qI94fjJv.js";
27
27
  import { _ as Ue } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
28
28
  import { d as Fe, s as Ge, a as Be } from "./signInEvents-DWShrJox.js";
@@ -9,10 +9,10 @@ import { _ as F } from "./useCommand-Dc8Lgs9h.js";
9
9
  import { u as H } from "./useRecordDialog-BTsbHY38.js";
10
10
  import { t as J } from "./toast-CqSDTWRX.js";
11
11
  import { u as S } from "./platform-BQOX_Ntw.js";
12
- import { i as Q, f as W, M as X } from "./index-DLq_tp3t.js";
12
+ import { i as Q, f as W, M as X } from "./index-CdtofdcJ.js";
13
13
  import { r as Y } from "./http-nz92KjdS.js";
14
14
  import { s as l } from "./routes-Beyr5NQo.js";
15
- import { u as ee } from "./fieldMessages-DuyspfNV.js";
15
+ import { u as ee } from "./fieldMessages-B6GHgi40.js";
16
16
  const y = (o) => ({ headers: { "Idempotency-Key": o } }), O = 500;
17
17
  function ae(o) {
18
18
  return {
@@ -7,7 +7,7 @@ import { _ as ee } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9
7
7
  import { _ as ue } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
8
8
  import { _ as V } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
9
9
  import { g as p } from "./options-QuOkMKVZ.js";
10
- import { u as Q } from "./format-Dn-BOb-o.js";
10
+ import { u as Q } from "./format-D8KUBmbS.js";
11
11
  import { _ as te } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
12
12
  import { t as j } from "./toast-CqSDTWRX.js";
13
13
  import { _ as de } from "./RecordHeader.vue_vue_type_script_setup_true_lang-B9mN7UxZ.js";
@@ -15,13 +15,13 @@ import { u as ae } from "./platform-BQOX_Ntw.js";
15
15
  import { u as me, a as ve } from "./routeResource-DlTsGTg_.js";
16
16
  import { a as fe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Cw8mGf_B.js";
17
17
  import { _ as O } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
18
- import { M as ce, R as _e, f as pe, s as ye } from "./index-DLq_tp3t.js";
19
- import { u as W, a as X, _ as ke } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-CrtVy3Ea.js";
18
+ import { M as ce, R as _e, f as pe, s as ye } from "./index-CdtofdcJ.js";
19
+ import { u as W, a as X, _ as ke } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-aWkKwxNe.js";
20
20
  import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
21
21
  import { _ as be } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
22
22
  import { _ as ge } from "./Modal.vue_vue_type_script_setup_true_lang-BlHhdmMy.js";
23
23
  import { _ as xe } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
24
- import { _ as we } from "./DateField.vue_vue_type_script_setup_true_lang-MP9frI9g.js";
24
+ import { _ as we } from "./DateField.vue_vue_type_script_setup_true_lang-BhKdCVFn.js";
25
25
  import { _ as $e } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
26
26
  import { u as he, _ as Ce } from "./useCommand-Dc8Lgs9h.js";
27
27
  async function Se(u) {
@@ -7,14 +7,14 @@ import { _ as K } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
7
7
  import { _ as P } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
8
8
  import { g as H } from "./options-QuOkMKVZ.js";
9
9
  import { _ as J } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
10
- import { u as Q } from "./format-Dn-BOb-o.js";
10
+ import { u as Q } from "./format-D8KUBmbS.js";
11
11
  import { a as W } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js";
12
12
  import { u as X } from "./platform-BQOX_Ntw.js";
13
13
  import { _ as Y } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
14
14
  import { _ as Z } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
15
15
  import { u as ee } from "./useLoad-M7V-AVwR.js";
16
- import { f as te, M as $, s as A } from "./index-DLq_tp3t.js";
17
- import { u as ae, _ as se } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-CrtVy3Ea.js";
16
+ import { f as te, M as $, s as A } from "./index-CdtofdcJ.js";
17
+ import { u as ae, _ as se } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-aWkKwxNe.js";
18
18
  const oe = {
19
19
  class: "flex min-w-0 flex-col gap-group-gap",
20
20
  "data-test": "service-segment"
@@ -2,7 +2,7 @@ import { defineComponent as v, openBlock as t, createBlock as c, unref as n, wit
2
2
  import { useI18n as E } from "vue-i18n";
3
3
  import { _ as y } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
4
4
  import { _ as B } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
5
- import { u as N } from "./format-Dn-BOb-o.js";
5
+ import { u as N } from "./format-D8KUBmbS.js";
6
6
  import { _ as V } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
7
7
  import { g as h } from "./options-QuOkMKVZ.js";
8
8
  import { _ as k } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
@@ -2,14 +2,14 @@ import { defineComponent as x, useTemplateRef as v, computed as w, ref as $, ope
2
2
  import { useI18n as N } from "vue-i18n";
3
3
  import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
4
4
  import { u as A } from "./describeError-B-NMa--w.js";
5
- import { P as D, b as L, e as O, i as g, d as T } from "./index-DLq_tp3t.js";
5
+ import { P as D, b as L, e as O, i as g, d as T } from "./index-CdtofdcJ.js";
6
6
  import { _ as k } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
7
7
  import { t as b } from "./toast-CqSDTWRX.js";
8
8
  import { u as V } from "./platform-BQOX_Ntw.js";
9
9
  import { b as I } from "./routeResource-DlTsGTg_.js";
10
10
  import { _ as j } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
11
11
  import { _ as z } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
12
- import { _ as F } from "./SessionList.vue_vue_type_script_setup_true_lang-B04ECmcf.js";
12
+ import { _ as F } from "./SessionList.vue_vue_type_script_setup_true_lang-Cnyt5V8T.js";
13
13
  const G = {
14
14
  class: "flex min-w-0 flex-col gap-group-gap",
15
15
  "data-person-sessions": ""
@@ -3,13 +3,13 @@ import { useI18n as V } from "vue-i18n";
3
3
  import { useRouter as ae } from "vue-router";
4
4
  import { a as oe } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js";
5
5
  import { t as C } from "./toast-CqSDTWRX.js";
6
- import { u as U } from "./fieldMessages-DuyspfNV.js";
6
+ import { u as U } from "./fieldMessages-B6GHgi40.js";
7
7
  import { _ as W } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
8
- import { n as T, u as le, a as re } from "./index-W80SBKUX.js";
8
+ import { n as T, u as le, a as re } from "./index-Dz0LkLM8.js";
9
9
  import { _ as H } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
10
10
  import { _ as j } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
11
11
  import { _ as ce } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
12
- import { u as ue } from "./format-Dn-BOb-o.js";
12
+ import { u as ue } from "./format-D8KUBmbS.js";
13
13
  import { _ as R } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
14
14
  import { g as x } from "./options-QuOkMKVZ.js";
15
15
  import { _ as de } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
@@ -24,8 +24,8 @@ import { _ as ee } from "./SwitchField.vue_vue_type_script_setup_true_lang-BMA2Y
24
24
  import { _ as _e } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
25
25
  import { u as ve } from "./FormErrors.vue_vue_type_script_setup_true_lang-CIggKPtq.js";
26
26
  import { _ as ge } from "./FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js";
27
- import { _ as A } from "./TimeField.vue_vue_type_script_setup_true_lang-DsWI9A-z.js";
28
- import { a as K, n as be } from "./useTypedEntry-KfhdrVqp.js";
27
+ import { _ as A } from "./TimeField.vue_vue_type_script_setup_true_lang-gGFfQLuK.js";
28
+ import { a as K, n as be } from "./useTypedEntry-C_Bk4sI0.js";
29
29
  const he = {
30
30
  class: "flex min-w-0 flex-col gap-group-gap",
31
31
  "data-notification-devices": ""
@@ -2,11 +2,11 @@ import { defineComponent as P, computed as f, ref as I, openBlock as m, createEl
2
2
  import { useI18n as A } from "vue-i18n";
3
3
  import { _ as B } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
4
4
  import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
5
- import { u as D } from "./format-Dn-BOb-o.js";
5
+ import { u as D } from "./format-D8KUBmbS.js";
6
6
  import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
7
7
  import { g as b } from "./options-QuOkMKVZ.js";
8
8
  import { u as U } from "./describeError-B-NMa--w.js";
9
- import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-DLq_tp3t.js";
9
+ import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-CdtofdcJ.js";
10
10
  import { t as h } from "./toast-CqSDTWRX.js";
11
11
  import { u as j, h as G } from "./platform-BQOX_Ntw.js";
12
12
  import { b as H } from "./routeResource-DlTsGTg_.js";
@@ -6,7 +6,7 @@ import { _ as N } from "./Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js"
6
6
  import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js";
7
7
  import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
8
8
  import { r as $ } from "./guards-Biv_SlGn.js";
9
- import { u as C, a as E } from "./index-DLq_tp3t.js";
9
+ import { u as C, a as E } from "./index-CdtofdcJ.js";
10
10
  const V = { class: "flex flex-1 flex-col items-center justify-center gap-8" }, k = { class: "text-xl font-semibold text-content-strong" }, H = /* @__PURE__ */ d({
11
11
  __name: "SignInPage",
12
12
  setup(q) {
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as y, computed as k, openBlock as _, createElementBlock as b, createVNode as r, unref as t, withCtx as l, createElementVNode as u, toDisplayString as d, createTextVNode as $, ref as v, watch as w, createBlock as I, createCommentVNode as S } from "vue";
2
2
  import { useI18n as h } from "vue-i18n";
3
- import { P as V, i as N } from "./index-DLq_tp3t.js";
3
+ import { P as V, i as N } from "./index-CdtofdcJ.js";
4
4
  import { u as B } from "./platform-BQOX_Ntw.js";
5
5
  import { b as E } from "./routeResource-DlTsGTg_.js";
6
6
  import { _ as R } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
7
7
  import { u as C } from "./useLoad-M7V-AVwR.js";
8
8
  import { _ as P } from "./PageBar.vue_vue_type_script_setup_true_lang-qI94fjJv.js";
9
9
  import { _ as L } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
10
- import { _ as T } from "./DataTable.vue_vue_type_script_setup_true_lang-Ba3vLxt6.js";
10
+ import { _ as T } from "./DataTable.vue_vue_type_script_setup_true_lang-8kBsNRuq.js";
11
11
  import { _ as U } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
12
12
  import { d as q, s as D, a as G } from "./signInEvents-DWShrJox.js";
13
13
  import { _ as K } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js";
@@ -1,12 +1,12 @@
1
1
  import { computed as m, defineComponent as G, useModel as J, useTemplateRef as b, openBlock as d, createBlock as F, mergeProps as T, unref as o, createSlots as O, withCtx as u, createElementBlock as _, Fragment as U, createVNode as c, createTextVNode as X, toDisplayString as Y, createCommentVNode as z, createElementVNode as h, normalizeClass as Z, renderSlot as x, mergeModels as L, mergeDefaults as ee, nextTick as M } from "vue";
2
2
  import { useI18n as R } from "vue-i18n";
3
3
  import { _ as te } from "./DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
4
- import { u as oe } from "./format-Dn-BOb-o.js";
4
+ import { u as oe } from "./format-D8KUBmbS.js";
5
5
  import { _ as le } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
6
  import { u as ae } from "./mediaQuery-CygcXmFW.js";
7
7
  import { _ as re } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
8
8
  import { e as se, _ as ie, f as ne, b as ue } from "./options-QuOkMKVZ.js";
9
- import { d as me, r as de, t as I, p as ce, u as pe, a as fe, i as Q, _ as ve, b as be, c as ye } from "./useTypedEntry-KfhdrVqp.js";
9
+ import { d as me, r as de, t as I, p as ce, u as pe, a as fe, i as Q, _ as ve, b as be, c as ye } from "./useTypedEntry-C_Bk4sI0.js";
10
10
  function ke(s) {
11
11
  const { t: i } = R(), y = m(() => [i("core.form.time.words.now").toLowerCase(), "now"]);
12
12
  return {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as x, computed as s, openBlock as n, createElementBlock as o, createVNode as m, createElementVNode as l, toDisplayString as a, unref as u, createTextVNode as f } from "vue";
2
2
  import { useI18n as v } from "vue-i18n";
3
- import { u as h, t as g } from "./format-Dn-BOb-o.js";
3
+ import { u as h, t as g } from "./format-D8KUBmbS.js";
4
4
  import { _ as w } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
5
5
  import { _ as y } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
6
6
  const k = {
@@ -3,7 +3,7 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { a as F } from "./neighbors-DVfU9T0o.js";
4
4
  import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
5
5
  import { u as J } from "./describeError-B-NMa--w.js";
6
- import { i as w, P as Q, p as W, g as X, h as Y, j as Z, d as ee } from "./index-DLq_tp3t.js";
6
+ import { i as w, P as Q, p as W, g as X, h as Y, j as Z, d as ee } from "./index-CdtofdcJ.js";
7
7
  import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
8
8
  import { t as k } from "./toast-CqSDTWRX.js";
9
9
  import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-B5ove3rM.js";
@@ -17,8 +17,8 @@ import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.
17
17
  import { _ as z } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
18
18
  import { g as B } from "./options-QuOkMKVZ.js";
19
19
  import { u as K, _ as M } from "./useCommand-Dc8Lgs9h.js";
20
- import { u as U } from "./fieldMessages-DuyspfNV.js";
21
- import { u as ce, s as le } from "./status-MUjElKZC.js";
20
+ import { u as U } from "./fieldMessages-B6GHgi40.js";
21
+ import { u as ce, s as le } from "./status-BRA14qwX.js";
22
22
  import { _ as T } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
23
23
  const ue = /* @__PURE__ */ R({
24
24
  __name: "DeactivateDialog",
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as U, openBlock as p, createBlock as C, unref as e, withCtx as c, createVNode as r, mergeProps as i, useTemplateRef as V, computed as q, createTextVNode as z, toDisplayString as $, createCommentVNode as A, createElementBlock as S, normalizeClass as N } from "vue";
2
2
  import { useI18n as B } from "vue-i18n";
3
3
  import { useRouter as P } from "vue-router";
4
- import { u as D, _ as I } from "./CollectionPage.vue_vue_type_script_setup_true_lang-5QSqmIFj.js";
4
+ import { u as D, _ as I } from "./CollectionPage.vue_vue_type_script_setup_true_lang-DHcekGNn.js";
5
5
  import { _ as M } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
6
- import { u as F } from "./format-Dn-BOb-o.js";
6
+ import { u as F } from "./format-D8KUBmbS.js";
7
7
  import { u as L } from "./platform-BQOX_Ntw.js";
8
8
  import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
- import { i as K, g as E, h as W } from "./index-DLq_tp3t.js";
10
- import { U as j, u as H, s as J } from "./status-MUjElKZC.js";
9
+ import { i as K, g as E, h as W } from "./index-CdtofdcJ.js";
10
+ import { U as j, u as H, s as J } from "./status-BRA14qwX.js";
11
11
  import { u as O } from "./environment-Dva-SG8D.js";
12
12
  import { u as Q } from "./languages-BShG9LpE.js";
13
13
  import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
@@ -15,7 +15,7 @@ import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-BP8nAQ
15
15
  import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
16
16
  import { u as Z, _ as ee } from "./useCommand-Dc8Lgs9h.js";
17
17
  import { t as se } from "./toast-CqSDTWRX.js";
18
- import { u as te } from "./fieldMessages-DuyspfNV.js";
18
+ import { u as te } from "./fieldMessages-B6GHgi40.js";
19
19
  const oe = /* @__PURE__ */ U({
20
20
  __name: "NewUserDialog",
21
21
  emits: ["created"],
package/dist/app/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as a, c as p } from "../application-Dqm5sJdZ.js";
1
+ import { A as a, c as p } from "../application-BmXW6iW_.js";
2
2
  import { S as t } from "../contributions-CeG4bszd.js";
3
3
  import { a as s, u as l } from "../environment-Dva-SG8D.js";
4
4
  import { d as c, p as f } from "../feature-DdUAfyi4.js";
@@ -5,7 +5,7 @@ import { effectScope as W, watch as B, defineComponent as me, openBlock as je, c
5
5
  import { useI18n as Fe, createI18n as Ie } from "vue-i18n";
6
6
  import { createRouter as Te, isNavigationFailure as qe } from "vue-router";
7
7
  import { i as De } from "./leaveGuard-Cc8yeLxM.js";
8
- import { c as Pe, i as We, f as Be } from "./format-Dn-BOb-o.js";
8
+ import { c as Pe, i as We, f as Be } from "./format-D8KUBmbS.js";
9
9
  import { coreMessages as re, createMessageRuntime as He } from "./i18n/index.js";
10
10
  import { i as Ve, a as Ge } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
11
11
  import { i as Je, b as ze } from "./bottomDock-BZEiOPYZ.js";
@@ -1,11 +1,11 @@
1
1
  import { D as q, d as z } from "../definition-C7QuyV3i.js";
2
- import { _ as j, a as G, u as U } from "../CollectionPage.vue_vue_type_script_setup_true_lang-5QSqmIFj.js";
2
+ import { _ as j, a as G, u as U } from "../CollectionPage.vue_vue_type_script_setup_true_lang-DHcekGNn.js";
3
3
  import { h as X, l as Z, r as H } from "../http-nz92KjdS.js";
4
4
  import { L as Q } from "../state-6KSYsVw0.js";
5
5
  import { u as Y, a as ee } from "../neighbors-DVfU9T0o.js";
6
6
  import { r as f } from "../route-goWMxDUN.js";
7
- import { b as se, a as ae } from "../rowLayout-DQtop4nN.js";
8
- import { _ as ne } from "../DataTable.vue_vue_type_script_setup_true_lang-Ba3vLxt6.js";
7
+ import { b as se, a as ae } from "../rowLayout-CT8vWYgI.js";
8
+ import { _ as ne } from "../DataTable.vue_vue_type_script_setup_true_lang-8kBsNRuq.js";
9
9
  import { defineComponent as k, openBlock as d, createElementBlock as c, Fragment as C, renderList as g, createBlock as h, unref as m, withCtx as E, normalizeClass as p, createVNode as b, createCommentVNode as S } from "vue";
10
10
  import { _ } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
11
11
  import { _ as T } from "../Tooltip.vue_vue_type_script_setup_true_lang-Dtg5Y6pf.js";
@@ -1,13 +1,13 @@
1
- import { _ as G, i as P } from "../Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
2
- import { defineComponent as c, openBlock as t, createElementBlock as n, createElementVNode as _, toDisplayString as u, createCommentVNode as i, normalizeClass as p, Fragment as d, renderList as w, createBlock as b, createSlots as $, withCtx as x, renderSlot as k, resolveDynamicComponent as B, computed as r, createTextVNode as g } from "vue";
3
- import { _ as D } from "../KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js";
4
- import { u as M } from "../format-Dn-BOb-o.js";
1
+ import { _ as I, i as P } from "../Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
2
+ import { defineComponent as c, openBlock as t, createElementBlock as l, createElementVNode as _, toDisplayString as u, createCommentVNode as m, normalizeClass as i, Fragment as p, renderList as h, createBlock as b, createSlots as w, withCtx as x, renderSlot as g, resolveDynamicComponent as $, computed as r, createTextVNode as v } from "vue";
3
+ import { _ as B } from "../KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js";
4
+ import { u as M } from "../format-D8KUBmbS.js";
5
5
  import { _ as j } from "../Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
6
- import { _ as H } from "../Timestamp.vue_vue_type_script_setup_true_lang-CAz2W69d.js";
7
- const F = {
6
+ import { _ as H } from "../Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js";
7
+ const V = {
8
8
  role: "separator",
9
9
  class: "my-2 flex items-center gap-4"
10
- }, V = {
10
+ }, C = {
11
11
  key: 0,
12
12
  class: "select-none whitespace-nowrap font-mono text-2xs uppercase tracking-widest text-content-muted"
13
13
  }, K = /* @__PURE__ */ c({
@@ -15,61 +15,61 @@ const F = {
15
15
  props: {
16
16
  label: {}
17
17
  },
18
- setup(l) {
19
- return (e, a) => (t(), n("div", F, [
18
+ setup(n) {
19
+ return (e, a) => (t(), l("div", V, [
20
20
  a[0] || (a[0] = _("span", { class: "h-px flex-1 bg-border-separator" }, null, -1)),
21
- l.label ? (t(), n("span", V, u(l.label), 1)) : i("", !0),
21
+ n.label ? (t(), l("span", C, u(n.label), 1)) : m("", !0),
22
22
  a[1] || (a[1] = _("span", { class: "h-px flex-1 bg-border-separator" }, null, -1))
23
23
  ]));
24
24
  }
25
- }), I = /* @__PURE__ */ c({
25
+ }), T = /* @__PURE__ */ c({
26
26
  __name: "KeyValueList",
27
27
  props: {
28
28
  items: {},
29
29
  columns: { default: 1 }
30
30
  },
31
- setup(l) {
32
- const e = l, a = {
31
+ setup(n) {
32
+ const e = n, a = {
33
33
  1: "grid-cols-1",
34
34
  2: "grid-cols-1 sm:grid-cols-2",
35
35
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"
36
36
  };
37
- return (s, f) => (t(), n("dl", {
38
- class: p(["grid gap-x-6 gap-y-3", a[e.columns]])
37
+ return (o, d) => (t(), l("dl", {
38
+ class: i(["grid gap-x-6 gap-y-3", a[e.columns]])
39
39
  }, [
40
- (t(!0), n(d, null, w(e.items, (o) => (t(), b(D, {
41
- key: o.key,
42
- label: o.label,
43
- value: o.value,
44
- "data-key": o.key
45
- }, $({ _: 2 }, [
46
- s.$slots.value ? {
40
+ (t(!0), l(p, null, h(e.items, (s) => (t(), b(B, {
41
+ key: s.key,
42
+ label: s.label,
43
+ value: s.value,
44
+ "data-key": s.key
45
+ }, w({ _: 2 }, [
46
+ o.$slots.value ? {
47
47
  name: "default",
48
48
  fn: x(() => [
49
- k(s.$slots, "value", { item: o })
49
+ g(o.$slots, "value", { item: s })
50
50
  ]),
51
51
  key: "0"
52
52
  } : void 0
53
53
  ]), 1032, ["label", "value", "data-key"]))), 128))
54
54
  ], 2));
55
55
  }
56
- }), T = /* @__PURE__ */ c({
56
+ }), Z = /* @__PURE__ */ c({
57
57
  __name: "MicroLabel",
58
58
  props: {
59
59
  as: { default: "span" }
60
60
  },
61
- setup(l) {
62
- return (e, a) => (t(), b(B(l.as), { class: "text-2xs font-semibold uppercase tracking-[0.06em] text-content-muted" }, {
61
+ setup(n) {
62
+ return (e, a) => (t(), b($(n.as), { class: "text-2xs font-semibold uppercase tracking-[0.06em] text-content-muted" }, {
63
63
  default: x(() => [
64
- k(e.$slots, "default")
64
+ g(e.$slots, "default")
65
65
  ]),
66
66
  _: 3
67
67
  }));
68
68
  }
69
- }), C = {
69
+ }), D = {
70
70
  key: 0,
71
71
  class: "mr-0.5"
72
- }, Z = /* @__PURE__ */ c({
72
+ }, z = /* @__PURE__ */ c({
73
73
  __name: "Money",
74
74
  props: {
75
75
  amount: {},
@@ -79,34 +79,31 @@ const F = {
79
79
  emptyZero: { type: Boolean, default: !1 },
80
80
  signed: { type: Boolean, default: !1 }
81
81
  },
82
- setup(l) {
83
- const e = l, a = M(), s = r(() => typeof e.amount == "number" && Number.isFinite(e.amount) ? e.amount : 0), f = r(() => e.emptyZero && !s.value), o = r(() => !e.signed || !s.value || !Math.round(Math.abs(s.value) * 10 ** e.decimals) ? "" : s.value > 0 ? "+" : "−"), h = r(() => {
84
- const m = e.whole && Number.isInteger(s.value) ? 0 : e.decimals;
85
- return a.number(e.signed ? Math.abs(s.value) : s.value, { minimumFractionDigits: m, maximumFractionDigits: m });
86
- }), y = r(() => o.value === "+" ? "font-medium text-status-success-content" : o.value === "−" ? "font-medium text-status-danger-content" : ""), v = r(() => e.symbol ? a.currencySymbol : "");
87
- return (m, L) => (t(), n("span", {
88
- class: p(["whitespace-nowrap tabular-nums", y.value])
82
+ setup(n) {
83
+ const e = n, a = M(), o = r(() => typeof e.amount == "number" && Number.isFinite(e.amount) ? e.amount : 0), d = r(() => e.emptyZero && !o.value), s = r(() => !e.signed || !o.value || !Math.round(Math.abs(o.value) * 10 ** e.decimals) ? "" : o.value > 0 ? "+" : "−"), k = r(() => a.money(e.signed ? Math.abs(o.value) : o.value, { decimals: e.decimals, whole: e.whole, symbol: !1 })), f = r(() => s.value === "+" ? "font-medium text-status-success-content" : s.value === "−" ? "font-medium text-status-danger-content" : ""), y = r(() => e.symbol ? a.currencySymbol : "");
84
+ return (L, S) => (t(), l("span", {
85
+ class: i(["whitespace-nowrap tabular-nums", f.value])
89
86
  }, [
90
- f.value ? (t(), n(d, { key: 0 }, [
91
- g("—")
92
- ], 64)) : (t(), n(d, { key: 1 }, [
93
- o.value ? (t(), n("span", C, u(o.value), 1)) : i("", !0),
94
- g(u(h.value), 1),
95
- v.value ? (t(), n("span", {
87
+ d.value ? (t(), l(p, { key: 0 }, [
88
+ v("—")
89
+ ], 64)) : (t(), l(p, { key: 1 }, [
90
+ s.value ? (t(), l("span", D, u(s.value), 1)) : m("", !0),
91
+ v(u(k.value), 1),
92
+ y.value ? (t(), l("span", {
96
93
  key: 1,
97
- class: p(["ml-1 font-normal", y.value ? "opacity-75" : "text-content-muted"])
98
- }, u(v.value), 3)) : i("", !0)
94
+ class: i(["ml-1 font-normal", f.value ? "opacity-75" : "text-content-muted"])
95
+ }, u(y.value), 3)) : m("", !0)
99
96
  ], 64))
100
97
  ], 2));
101
98
  }
102
99
  });
103
100
  export {
104
- G as Avatar,
101
+ I as Avatar,
105
102
  K as Divider,
106
- D as KeyValue,
107
- I as KeyValueList,
108
- T as MicroLabel,
109
- Z as Money,
103
+ B as KeyValue,
104
+ T as KeyValueList,
105
+ Z as MicroLabel,
106
+ z as Money,
110
107
  j as Panel,
111
108
  H as Timestamp,
112
109
  P as initialsFor
@@ -1,6 +1,6 @@
1
1
  import { useI18n as f } from "vue-i18n";
2
2
  import { a as c } from "./error-CD7x0Jrz.js";
3
- import { u as m } from "./format-Dn-BOb-o.js";
3
+ import { u as m } from "./format-D8KUBmbS.js";
4
4
  import { u as l } from "./describeError-B-NMa--w.js";
5
5
  function E() {
6
6
  const { t: i, te: u } = f(), a = m(), d = l(), s = (e) => [`errors.${e}`, `core.errors.${e}`].find((t) => u(t));
@@ -16,22 +16,22 @@ import { a as ft } from "../TextField.vue_vue_type_script_setup_true_lang-BFVsqc
16
16
  import { _ as Ao } from "../TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
17
17
  import { u as mt, l as vt } from "../suggestions-BVQhoXzS.js";
18
18
  import { r as Uo } from "../suggestions-BVQhoXzS.js";
19
- import { s as $e, u as Ne, i as pt, o as _e, e as Se, k as bt, _ as yt, l as gt, c as ht, b as kt, t as Le, g as xt, q as wt } from "../useTypedEntry-KfhdrVqp.js";
20
- import { u as $t, a as _t, s as Ct } from "../DateField.vue_vue_type_script_setup_true_lang-MP9frI9g.js";
21
- import { _ as Wo } from "../DateField.vue_vue_type_script_setup_true_lang-MP9frI9g.js";
19
+ import { s as $e, u as Ne, i as pt, o as _e, e as Se, k as bt, _ as yt, l as gt, c as ht, b as kt, t as Le, g as xt, q as wt } from "../useTypedEntry-C_Bk4sI0.js";
20
+ import { u as $t, a as _t, s as Ct } from "../DateField.vue_vue_type_script_setup_true_lang-BhKdCVFn.js";
21
+ import { _ as Wo } from "../DateField.vue_vue_type_script_setup_true_lang-BhKdCVFn.js";
22
22
  import { _ as Xe } from "../DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
23
- import { u as St } from "../format-Dn-BOb-o.js";
23
+ import { u as St } from "../format-D8KUBmbS.js";
24
24
  import { u as Re } from "../mediaQuery-CygcXmFW.js";
25
25
  import { _ as Me } from "../Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
26
- import { u as Bt } from "../TimeField.vue_vue_type_script_setup_true_lang-DsWI9A-z.js";
27
- import { _ as Zo } from "../TimeField.vue_vue_type_script_setup_true_lang-DsWI9A-z.js";
26
+ import { u as Bt } from "../TimeField.vue_vue_type_script_setup_true_lang-gGFfQLuK.js";
27
+ import { _ as Zo } from "../TimeField.vue_vue_type_script_setup_true_lang-gGFfQLuK.js";
28
28
  import { _ as be } from "../Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
29
29
  import { _ as Ft } from "../FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
30
30
  import { a as Qo, c as en, p as tn, r as an, u as ln } from "../FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
31
31
  import { _ as nn } from "../FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js";
32
32
  import { i as Lt } from "../intlLocale-CeRU44qJ.js";
33
33
  import { a as Tt } from "../environment-Dva-SG8D.js";
34
- import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-CLN2COfp.js";
34
+ import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-TGGAq8J-.js";
35
35
  import { _ as Vt } from "../Sheet.vue_vue_type_script_setup_true_lang-B91aRD_y.js";
36
36
  import { b as qt, a as Ge } from "../SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
37
37
  import { _ as rn, u as un } from "../SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
@@ -17,10 +17,21 @@ export interface Formatters {
17
17
  dateTime(value: Date, locale: string): string;
18
18
  time(value: Date, locale: string): string;
19
19
  number(value: number, locale: string, options?: Intl.NumberFormatOptions): string;
20
- money(amount: number, currency: string, locale: string): string;
20
+ /** `options` carries the fraction digits when the caller asked for them; ignoring it is allowed. */
21
+ money(amount: number, currency: string, locale: string, options?: Intl.NumberFormatOptions): string;
21
22
  /** `now` is the moment to count from. */
22
23
  relative(value: Date, locale: string, now: Date): string;
23
24
  }
25
+ export interface MoneyOptions {
26
+ /** An ISO code ("EUR"): `Intl`'s currency style instead of the application's `currencySymbol`. */
27
+ currency?: string;
28
+ /** Fraction digits (default 2; with a `currency`, the currency's own). */
29
+ decimals?: number;
30
+ /** An amount with no fraction shows none ("39.600", not "39.600,00"); any other keeps `decimals`. */
31
+ whole?: boolean;
32
+ /** `false` gives the number alone (default true). */
33
+ symbol?: boolean;
34
+ }
24
35
  /**
25
36
  * Formats values for the active locale. The functions read the locale when called, so a template that
26
37
  * calls them re-renders when the locale changes. A value with nothing to show (null, not a date, NaN)
@@ -35,10 +46,11 @@ export interface Formatting {
35
46
  time(value: DateInput): string;
36
47
  number(value: number | null | undefined, options?: Intl.NumberFormatOptions): string;
37
48
  /**
38
- * With an ISO `currency` ("EUR"): `Intl`'s currency style. Without one: the amount with two decimals, then the
39
- * `currencySymbol` after a space ("1.234,50 KM"), or the bare amount when the application set no symbol.
49
+ * Without a `currency`: the amount through `formatters.number`, then the `currencySymbol` after a space
50
+ * ("1.234,50 KM"), or the bare amount when the application set no symbol. With an ISO `currency` ("EUR"):
51
+ * `Intl`'s currency style. A missing or non-finite amount is the empty string, like the other functions.
40
52
  */
41
- money(amount: number | null | undefined, currency?: string): string;
53
+ money(amount: number | null | undefined, options?: MoneyOptions): string;
42
54
  /** The display symbol the application set (`""` when none), for a caller that draws it apart from the amount. */
43
55
  readonly currencySymbol: string;
44
56
  /** "3 days ago", "in 2 hours", "now": the largest whole unit. */
@@ -1,2 +1,2 @@
1
1
  export { createFormatting, formattingKey, installFormatting, intlFormatters, toDate, useFormat } from "./format";
2
- export type { DateInput, Formatters, Formatting, FormattingOptions } from "./format";
2
+ export type { DateInput, Formatters, Formatting, FormattingOptions, MoneyOptions } from "./format";
@@ -1,4 +1,4 @@
1
- import { c as r, f as s, i as o, a as e, t as i, u as m } from "../format-Dn-BOb-o.js";
1
+ import { c as r, f as s, i as o, a as e, t as i, u as m } from "../format-D8KUBmbS.js";
2
2
  export {
3
3
  r as createFormatting,
4
4
  s as formattingKey,
@@ -0,0 +1,87 @@
1
+ import { d as F } from "./context-Ch1r4fdN.js";
2
+ import { i as s } from "./intlLocale-CeRU44qJ.js";
3
+ const N = /^(\d{4})-(\d{2})-(\d{2})$/;
4
+ function d(r) {
5
+ if (r == null || r === "") return null;
6
+ let n;
7
+ if (r instanceof Date) n = r;
8
+ else if (typeof r == "number") n = new Date(r);
9
+ else {
10
+ const m = N.exec(r);
11
+ n = m ? new Date(Number(m[1]), Number(m[2]) - 1, Number(m[3])) : new Date(r);
12
+ }
13
+ return Number.isNaN(n.getTime()) || n.getTime() <= 0 ? null : n;
14
+ }
15
+ const b = { year: "numeric", month: "2-digit", day: "2-digit" }, y = { hour: "2-digit", minute: "2-digit" }, f = [
16
+ ["year", 31536e3],
17
+ ["month", 2592e3],
18
+ ["week", 604800],
19
+ ["day", 86400],
20
+ ["hour", 3600],
21
+ ["minute", 60],
22
+ ["second", 1]
23
+ ];
24
+ function T() {
25
+ const r = /* @__PURE__ */ new Map(), n = (e, t) => {
26
+ let i = r.get(e);
27
+ return i || (i = t(), r.set(e, i)), i;
28
+ }, m = (e, t) => n(`d|${e}|${JSON.stringify(t)}`, () => new Intl.DateTimeFormat(s(e), t));
29
+ return {
30
+ date: (e, t) => m(t, b).format(e),
31
+ dateTime: (e, t) => m(t, { ...b, ...y }).format(e),
32
+ time: (e, t) => m(t, y).format(e),
33
+ number: (e, t, i) => n(`n|${t}|${JSON.stringify(i ?? {})}`, () => new Intl.NumberFormat(s(t), i)).format(e),
34
+ money: (e, t, i, a) => n(`m|${i}|${t}|${JSON.stringify(a ?? {})}`, () => new Intl.NumberFormat(s(i), { ...a, style: "currency", currency: t })).format(e),
35
+ relative(e, t, i) {
36
+ const a = Math.trunc((e.getTime() - i.getTime()) / 1e3), [u, c] = f.find(([, o]) => Math.abs(a) >= o) ?? f[f.length - 1];
37
+ return n(`r|${t}`, () => new Intl.RelativeTimeFormat(s(t), { numeric: "auto" })).format(Math.trunc(a / c), u);
38
+ }
39
+ };
40
+ }
41
+ function w(r) {
42
+ const n = { ...T(), ...r.formatters }, m = (e) => typeof e == "number" && Number.isFinite(e);
43
+ return {
44
+ get locale() {
45
+ return r.locale();
46
+ },
47
+ date: (e) => {
48
+ const t = d(e);
49
+ return t ? n.date(t, r.locale()) : "";
50
+ },
51
+ dateTime: (e) => {
52
+ const t = d(e);
53
+ return t ? n.dateTime(t, r.locale()) : "";
54
+ },
55
+ time: (e) => {
56
+ const t = d(e);
57
+ return t ? n.time(t, r.locale()) : "";
58
+ },
59
+ number: (e, t) => m(e) ? n.number(e, r.locale(), t) : "",
60
+ get currencySymbol() {
61
+ return r.currencySymbol ?? "";
62
+ },
63
+ money: (e, { currency: t, decimals: i, whole: a, symbol: u = !0 } = {}) => {
64
+ if (!m(e)) return "";
65
+ const c = e, o = a && Number.isInteger(c) ? 0 : i, l = o === void 0 ? void 0 : { minimumFractionDigits: o, maximumFractionDigits: o };
66
+ if (t && u) return n.money(c, t, r.locale(), l);
67
+ const g = n.number(c, r.locale(), l ?? { minimumFractionDigits: 2, maximumFractionDigits: 2 });
68
+ return u && !t && r.currencySymbol ? `${g} ${r.currencySymbol}` : g;
69
+ },
70
+ relative: (e, t = /* @__PURE__ */ new Date()) => {
71
+ const i = d(e);
72
+ return i ? n.relative(i, r.locale(), t) : "";
73
+ }
74
+ };
75
+ }
76
+ const [D, I] = F("vue-core.formatting");
77
+ function S(r, n) {
78
+ r.provide(D, n);
79
+ }
80
+ export {
81
+ T as a,
82
+ w as c,
83
+ D as f,
84
+ S as i,
85
+ d as t,
86
+ I as u
87
+ };
@@ -1,4 +1,4 @@
1
- import { _ as t, k as a, l as o, i as n, m as i, d as r, n as u, o as c, q as d, r as A, t as p, s as R, v as f, w as l, x as m, g as y } from "../index-DLq_tp3t.js";
1
+ import { _ as t, k as a, l as o, i as n, m as i, d as r, n as u, o as c, q as d, r as A, t as p, s as R, v as f, w as l, x as m, g as y } from "../index-CdtofdcJ.js";
2
2
  import { _ as v } from "../ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
3
3
  import { s as I } from "../routes-Beyr5NQo.js";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { h as t, j as i, k as r, l as n, i as a } from "../index-DwgdsKJN.js";
1
+ import { h as t, j as i, k as r, l as n, i as a } from "../index-Dm-sdJJr.js";
2
2
  export {
3
3
  t as MAX_REPORTS_PER_SESSION,
4
4
  i as clientErrorReporter,
@@ -21,7 +21,7 @@ import { u as we } from "./mediaQuery-CygcXmFW.js";
21
21
  import { u as xe } from "./useDialog-DfNmqM-0.js";
22
22
  import { c as Ee } from "./closeOverlays-CjVsIrpL.js";
23
23
  import { u as Se } from "./FormErrors.vue_vue_type_script_setup_true_lang-CIggKPtq.js";
24
- import { u as Te } from "./format-Dn-BOb-o.js";
24
+ import { u as Te } from "./format-D8KUBmbS.js";
25
25
  import { b as ke } from "./routeResource-DlTsGTg_.js";
26
26
  import "./ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
27
27
  import { _ as Ae } from "./AccessGate.vue_vue_type_script_setup_true_lang-CzQbD2Pc.js";
@@ -287,7 +287,7 @@ const De = ["aria-labelledby"], Ve = ["id"], Me = { class: "mt-1 text-subheadlin
287
287
  ]));
288
288
  }
289
289
  }), Je = K({
290
- login: { name: "login", path: "/login", component: () => import("./SignInPage-3nerqsOt.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
290
+ login: { name: "login", path: "/login", component: () => import("./SignInPage-HKC1bm2E.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
291
291
  });
292
292
  function $s(e = {}) {
293
293
  return N({
@@ -355,7 +355,7 @@ function Ls(e) {
355
355
  };
356
356
  }
357
357
  const te = K({
358
- index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-DrKiof1I.js"), meta: { titleKey: "core.profile.title" } }
358
+ index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-BnohZIEg.js"), meta: { titleKey: "core.profile.title" } }
359
359
  }), es = /* @__PURE__ */ w({
360
360
  __name: "ProfileMenuItem",
361
361
  setup(e) {
@@ -379,19 +379,19 @@ function ns(e) {
379
379
  return { name: `users.record.${e.path}`, path: e.path, component: s, meta: { ...e.meta } };
380
380
  }
381
381
  const W = "iam.user:view", Ds = "iam.user:manage", os = "iam.user.activity:view", ne = K({
382
- index: { name: "users.index", path: "/users", component: () => import("./UsersList-C-c8J2XS.js"), meta: { access: W, titleKey: "core.users.title" } },
382
+ index: { name: "users.index", path: "/users", component: () => import("./UsersList-BMkIgIg8.js"), meta: { access: W, titleKey: "core.users.title" } },
383
383
  record: {
384
384
  name: "users.record",
385
385
  path: "/users/:id",
386
- component: () => import("./UserRecord-m4c7H9X9.js"),
386
+ component: () => import("./UserRecord-CtUPpbCt.js"),
387
387
  meta: { access: W, titleKey: "core.users.title", remountOnParam: "id" },
388
388
  children: [
389
- { name: "users.record.general", path: "general", component: () => import("./General-VsiXKARg.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
390
- { name: "users.record.signin", path: "signin", component: () => import("./SignIn-MHbY4kg8.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
391
- { name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-DzyRG4PP.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
392
- { name: "users.record.signins", path: "signins", component: () => import("./SignIns-B3uCHdLX.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
393
- { name: "users.record.changes", path: "changes", component: () => import("./Changes-DDicMqpj.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
394
- { name: "users.record.activity", path: "activity", component: () => import("./Activity-DBy2ZG5b.js"), meta: { access: os, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
389
+ { name: "users.record.general", path: "general", component: () => import("./General-BAG7S6wV.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
390
+ { name: "users.record.signin", path: "signin", component: () => import("./SignIn-CTI_699e.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
391
+ { name: "users.record.sessions", path: "sessions", component: () => import("./Sessions--Gvc0kxw.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
392
+ { name: "users.record.signins", path: "signins", component: () => import("./SignIns-BcqBgWgN.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
393
+ { name: "users.record.changes", path: "changes", component: () => import("./Changes-Dxjdkd_5.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
394
+ { name: "users.record.activity", path: "activity", component: () => import("./Activity-29hsZ28j.js"), meta: { access: os, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
395
395
  ]
396
396
  }
397
397
  });
@@ -452,11 +452,11 @@ const Ms = /* @__PURE__ */ w({
452
452
  }, 8, ["permission"])) : I("", !0);
453
453
  }
454
454
  }), [rs, Bs] = A("vue-core.serviceaccounts"), Y = "iam.serviceaccount:view", js = "iam.serviceaccount:manage", Ws = "iam.serviceaccount:revoke", H = K({
455
- index: { name: "serviceaccounts.index", path: "/iam/service-accounts", component: () => import("./ServiceAccountsList-7OovJ7gR.js"), meta: { access: Y, titleKey: "core.serviceaccounts.title_plural" } },
455
+ index: { name: "serviceaccounts.index", path: "/iam/service-accounts", component: () => import("./ServiceAccountsList-BXE6htxk.js"), meta: { access: Y, titleKey: "core.serviceaccounts.title_plural" } },
456
456
  record: {
457
457
  name: "serviceaccounts.record",
458
458
  path: "/iam/service-accounts/:id",
459
- component: () => import("./ServiceAccountRecord-DnunLV1K.js"),
459
+ component: () => import("./ServiceAccountRecord-bxX9yQkC.js"),
460
460
  meta: { access: Y, titleKey: "core.serviceaccounts.title_plural", remountOnParam: "id" }
461
461
  }
462
462
  });
@@ -14,7 +14,7 @@ import { d as Q } from "./definition-C7QuyV3i.js";
14
14
  import { r as W, l as Y } from "./http-nz92KjdS.js";
15
15
  import { _ as J } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
16
16
  import { d as Z } from "./defineRoutes-BGAdiIrt.js";
17
- import { d as ee } from "./application-Dqm5sJdZ.js";
17
+ import { d as ee } from "./application-BmXW6iW_.js";
18
18
  import { R as te } from "./client-Dg303Pmc.js";
19
19
  import { a as ne } from "./error-CD7x0Jrz.js";
20
20
  const v = {
@@ -263,11 +263,11 @@ const Qe = {
263
263
  }, null, 8, ["label"])) : R("", !0);
264
264
  }
265
265
  }), M = Z({
266
- index: { name: "incidents.index", path: "/incidents", component: () => import("./IncidentsList-DphbU1FK.js"), meta: { access: q, titleKey: "core.incidents.title" } },
266
+ index: { name: "incidents.index", path: "/incidents", component: () => import("./IncidentsList-C0cFl0Db.js"), meta: { access: q, titleKey: "core.incidents.title" } },
267
267
  details: {
268
268
  name: "incidents.details",
269
269
  path: "/incidents/:incidentID",
270
- component: () => import("./IncidentRecord-CoweBFQ8.js"),
270
+ component: () => import("./IncidentRecord-D8aOpNHo.js"),
271
271
  // Previous / next record swaps the id in place.
272
272
  meta: { access: q, titleKey: "core.incidents.title", remountOnParam: "incidentID" }
273
273
  }
@@ -13,7 +13,7 @@ import { _ as Se } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.
13
13
  import { _ as J } from "./HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js";
14
14
  import { useRouter as Te } from "vue-router";
15
15
  import { _ as K } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
16
- import { u as Ee } from "./format-Dn-BOb-o.js";
16
+ import { u as Ee } from "./format-D8KUBmbS.js";
17
17
  import { _ as Pe } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
18
18
  import { _ as Ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
19
19
  const E = {
@@ -135,9 +135,9 @@ function Me(n = ee().http, t = W()) {
135
135
  return { state: $(e), hash: $(i), busy: $(a), inspect: c, enable: u, disable: g };
136
136
  }
137
137
  const Ne = "events.deadletter:view", $t = "events.deadletter:retry", Y = te({
138
- index: { name: "events.deadletters", path: "/events/dead-letters", component: () => import("./DeadLetters-qOY8lQQn.js"), meta: { access: Ne, titleKey: "core.notifications.dead_letters.title" } }
138
+ index: { name: "events.deadletters", path: "/events/dead-letters", component: () => import("./DeadLetters-Bb5pPlOY.js"), meta: { access: Ne, titleKey: "core.notifications.dead_letters.title" } }
139
139
  }), j = te({
140
- index: { name: "notifications.settings", path: "/profile/notifications", component: () => import("./SettingsPage-CaMER5m8.js"), meta: { titleKey: "core.notifications.settings.title" } }
140
+ index: { name: "notifications.settings", path: "/profile/notifications", component: () => import("./SettingsPage-DzDC7gD-.js"), meta: { titleKey: "core.notifications.settings.title" } }
141
141
  }), Oe = /* @__PURE__ */ q({
142
142
  __name: "SettingsMenuItem",
143
143
  setup(n) {
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The version of @wssto2/vue-core (kept equal to package.json by index.test.ts). */
2
- export declare const version = "0.9.2";
2
+ export declare const version = "0.9.3";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const o = "0.9.2";
1
+ const o = "0.9.3";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,4 +1,4 @@
1
- import { d as s, e as a, n as o, b as i, c as n, f as u } from "../index-W80SBKUX.js";
1
+ import { d as s, e as a, n as o, b as i, c as n, f as u } from "../index-Dz0LkLM8.js";
2
2
  export {
3
3
  s as deadLettersRoutes,
4
4
  a as eventsRoutes,
@@ -6,9 +6,9 @@ import { _ as J } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
6
  import { _ as Ne } from "./Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
7
7
  import { _ as ze } from "./Tooltip.vue_vue_type_script_setup_true_lang-Dtg5Y6pf.js";
8
8
  import { _ as he } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
9
- import { u as Fe } from "./format-Dn-BOb-o.js";
9
+ import { u as Fe } from "./format-D8KUBmbS.js";
10
10
  import { _ as Ve } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
11
- import { _ as Oe } from "./Timestamp.vue_vue_type_script_setup_true_lang-CAz2W69d.js";
11
+ import { _ as Oe } from "./Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js";
12
12
  import { a as je } from "./mediaQuery-CygcXmFW.js";
13
13
  function Ue(y, n) {
14
14
  const d = (n ?? "").split(/\s+/).filter((v) => v !== "");
@@ -126,7 +126,7 @@ const We = {
126
126
  value: v.value,
127
127
  precision: n.column.precision ?? "dateTime"
128
128
  }, null, 8, ["value", "precision"]))
129
- ], 64)) : n.column.kind === "number" ? (s(), l("span", qe, C(i(d).number(h.value, n.column.format)), 1)) : n.column.kind === "money" ? (s(), l("span", Je, C(i(d).money(h.value, typeof n.column.currency == "function" ? n.column.currency(n.item) : n.column.currency)), 1)) : n.column.kind === "badge" ? (s(), D(i(Ve), {
129
+ ], 64)) : n.column.kind === "number" ? (s(), l("span", qe, C(i(d).number(h.value, n.column.format)), 1)) : n.column.kind === "money" ? (s(), l("span", Je, C(i(d).money(h.value, { currency: typeof n.column.currency == "function" ? n.column.currency(n.item) : n.column.currency })), 1)) : n.column.kind === "badge" ? (s(), D(i(Ve), {
130
130
  key: 4,
131
131
  tone: n.column.tone(n.item),
132
132
  dot: ""
@@ -1,6 +1,6 @@
1
1
  import { d as o } from "./definition-C7QuyV3i.js";
2
2
  import { r as a } from "./http-nz92KjdS.js";
3
- import { i as r } from "./index-DLq_tp3t.js";
3
+ import { i as r } from "./index-CdtofdcJ.js";
4
4
  const n = ["active", "locked", "inactive", "all"];
5
5
  function v(i) {
6
6
  return o({
@@ -3,7 +3,7 @@ import { createMemoryHistory as P, createRouter as E, RouterView as $ } from "vu
3
3
  import { a as A, i as O } from "../platform-BQOX_Ntw.js";
4
4
  import { createI18n as k } from "vue-i18n";
5
5
  import { coreMessages as M } from "../i18n/index.js";
6
- import { i as R, c as S } from "../format-Dn-BOb-o.js";
6
+ import { i as R, c as S } from "../format-D8KUBmbS.js";
7
7
  function K() {
8
8
  let e, t;
9
9
  return { promise: new Promise((s, r) => {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as K, ref as L, watch as re, computed as _, openBlock as f, createElementBlock as b, Fragment as I, createElementVNode as h, normalizeClass as $, unref as y, createVNode as N, createTextVNode as Ee, toDisplayString as M, renderList as j, useModel as ce, useId as Te, useTemplateRef as me, createCommentVNode as Z, createBlock as ue, mergeModels as fe, nextTick as Ce, onMounted as Fe, onBeforeUnmount as je, normalizeStyle as ee, withCtx as ye } from "vue";
2
2
  import { i as W } from "./intlLocale-CeRU44qJ.js";
3
3
  import { useI18n as X } from "vue-i18n";
4
- import { u as Me } from "./format-Dn-BOb-o.js";
4
+ import { u as Me } from "./format-D8KUBmbS.js";
5
5
  import { _ as Oe } from "./Sheet.vue_vue_type_script_setup_true_lang-B91aRD_y.js";
6
6
  import { _ as F } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
7
7
  import { a as We } from "./mediaQuery-CygcXmFW.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wssto2/vue-core",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "goCore": "v1.12.0",
5
5
  "description": "Shared Vue 3 library for go-core applications: app shell, list / record / form pages and their controls.",
6
6
  "keywords": [
@@ -1,86 +0,0 @@
1
- import { d as y } from "./context-Ch1r4fdN.js";
2
- import { i } from "./intlLocale-CeRU44qJ.js";
3
- const b = /^(\d{4})-(\d{2})-(\d{2})$/;
4
- function c(r) {
5
- if (r == null || r === "") return null;
6
- let n;
7
- if (r instanceof Date) n = r;
8
- else if (typeof r == "number") n = new Date(r);
9
- else {
10
- const a = b.exec(r);
11
- n = a ? new Date(Number(a[1]), Number(a[2]) - 1, Number(a[3])) : new Date(r);
12
- }
13
- return Number.isNaN(n.getTime()) || n.getTime() <= 0 ? null : n;
14
- }
15
- const s = { year: "numeric", month: "2-digit", day: "2-digit" }, f = { hour: "2-digit", minute: "2-digit" }, o = [
16
- ["year", 31536e3],
17
- ["month", 2592e3],
18
- ["week", 604800],
19
- ["day", 86400],
20
- ["hour", 3600],
21
- ["minute", 60],
22
- ["second", 1]
23
- ];
24
- function T() {
25
- const r = /* @__PURE__ */ new Map(), n = (e, t) => {
26
- let m = r.get(e);
27
- return m || (m = t(), r.set(e, m)), m;
28
- }, a = (e, t) => n(`d|${e}|${JSON.stringify(t)}`, () => new Intl.DateTimeFormat(i(e), t));
29
- return {
30
- date: (e, t) => a(t, s).format(e),
31
- dateTime: (e, t) => a(t, { ...s, ...f }).format(e),
32
- time: (e, t) => a(t, f).format(e),
33
- number: (e, t, m) => n(`n|${t}|${JSON.stringify(m ?? {})}`, () => new Intl.NumberFormat(i(t), m)).format(e),
34
- money: (e, t, m) => n(`m|${m}|${t}`, () => new Intl.NumberFormat(i(m), { style: "currency", currency: t })).format(e),
35
- relative(e, t, m) {
36
- const u = Math.trunc((e.getTime() - m.getTime()) / 1e3), [d, l] = o.find(([, g]) => Math.abs(u) >= g) ?? o[o.length - 1];
37
- return n(`r|${t}`, () => new Intl.RelativeTimeFormat(i(t), { numeric: "auto" })).format(Math.trunc(u / l), d);
38
- }
39
- };
40
- }
41
- function h(r) {
42
- const n = { ...T(), ...r.formatters }, a = (e) => typeof e == "number" && Number.isFinite(e);
43
- return {
44
- get locale() {
45
- return r.locale();
46
- },
47
- date: (e) => {
48
- const t = c(e);
49
- return t ? n.date(t, r.locale()) : "";
50
- },
51
- dateTime: (e) => {
52
- const t = c(e);
53
- return t ? n.dateTime(t, r.locale()) : "";
54
- },
55
- time: (e) => {
56
- const t = c(e);
57
- return t ? n.time(t, r.locale()) : "";
58
- },
59
- number: (e, t) => a(e) ? n.number(e, r.locale(), t) : "",
60
- get currencySymbol() {
61
- return r.currencySymbol ?? "";
62
- },
63
- money: (e, t) => {
64
- if (!a(e)) return "";
65
- if (t) return n.money(e, t, r.locale());
66
- const m = n.number(e, r.locale(), { minimumFractionDigits: 2, maximumFractionDigits: 2 });
67
- return r.currencySymbol ? `${m} ${r.currencySymbol}` : m;
68
- },
69
- relative: (e, t = /* @__PURE__ */ new Date()) => {
70
- const m = c(e);
71
- return m ? n.relative(m, r.locale(), t) : "";
72
- }
73
- };
74
- }
75
- const [F, w] = y("vue-core.formatting");
76
- function $(r, n) {
77
- r.provide(F, n);
78
- }
79
- export {
80
- T as a,
81
- h as c,
82
- F as f,
83
- $ as i,
84
- c as t,
85
- w as u
86
- };