@conduction/nextcloud-vue 2.147.0 → 2.148.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +71 -8
  2. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  3. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +2 -2
  4. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  5. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue.js +1 -1
  6. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +6 -1
  7. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
  8. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
  9. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue.js +1 -1
  10. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js +8 -0
  11. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js.map +1 -1
  12. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js.map +1 -1
  13. package/dist/esm/components/CnStepper/CnStepper.vue.js +1 -1
  14. package/dist/esm/components/CnStepper/CnStepper.vue2.js.map +1 -1
  15. package/dist/esm/components/CnStepper/CnStepper.vue3.js.map +1 -1
  16. package/dist/esm/dialogs/CnAccessPurposeDialog.vue.js +1 -1
  17. package/dist/esm/dialogs/CnAccessPurposeDialog.vue2.js +3 -1
  18. package/dist/esm/dialogs/CnAccessPurposeDialog.vue2.js.map +1 -1
  19. package/dist/esm/dialogs/CnAccessPurposeDialog.vue3.js +26 -15
  20. package/dist/esm/dialogs/CnAccessPurposeDialog.vue3.js.map +1 -1
  21. package/dist/esm/l10n/en.json.js +2 -1
  22. package/dist/esm/l10n/en.json.js.map +1 -1
  23. package/dist/esm/l10n/nl.json.js +2 -1
  24. package/dist/esm/l10n/nl.json.js.map +1 -1
  25. package/dist/esm/library-style.js +1 -1
  26. package/dist/esm/nextcloud-vue.css +160 -126
  27. package/dist/esm/utils/builtInFormatters.js +53 -1
  28. package/dist/esm/utils/builtInFormatters.js.map +1 -1
  29. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  30. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  31. package/dist/nextcloud-vue.cjs.js +1357 -1217
  32. package/dist/nextcloud-vue.cjs.js.map +2 -2
  33. package/dist/nextcloud-vue.css +160 -126
  34. package/l10n/en.json +2 -1
  35. package/l10n/nl.json +2 -1
  36. package/package.json +1 -1
  37. package/src/components/CnDetailPage/CnDetailPage.md +1 -1
  38. package/src/components/CnDetailPage/CnDetailPage.vue +73 -10
  39. package/src/components/CnFactsWidget/CnFactsWidget.vue +6 -1
  40. package/src/components/CnObjectDataWidget/CnObjectDataWidget.md +1 -1
  41. package/src/components/CnObjectDataWidget/CnObjectDataWidget.vue +8 -0
  42. package/src/components/CnStepper/CnStepper.vue +10 -2
  43. package/src/css/dialog.css +5 -2
  44. package/src/css/look-board-index.css +14 -0
  45. package/src/css/look-board.css +3 -0
  46. package/src/dialogs/CnAccessPurposeDialog.vue +27 -12
  47. package/src/schemas/app-manifest-v2.schema.json +4 -2
  48. package/src/utils/builtInFormatters.js +52 -0
  49. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -3,7 +3,7 @@ export { FACTS_REVEAL_CHANNEL } from './CnFactsWidget.vue2.js';
3
3
  import { render } from './CnFactsWidget.vue3.js';
4
4
 
5
5
  script.render = render;
6
- script.__scopeId = "data-v-6351bc64";
6
+ script.__scopeId = "data-v-48761b13";
7
7
  const __sfc_main = script;
8
8
 
9
9
  export { __sfc_main as default };
@@ -15,6 +15,7 @@ import { useRefLabels } from '../../composables/useRefLabels.js';
15
15
  import { dispatchAction } from '../../utils/actionsDispatcher.js';
16
16
  import { isBadgeVariant } from '../../utils/badgeVariants.js';
17
17
  import { formatBoardDate } from '../../utils/boardDate.js';
18
+ import { formatTermDuration } from '../../utils/builtInFormatters.js';
18
19
  import { conditionalLine } from '../../utils/conditionalLine.js';
19
20
  import { parseDateValue } from '../../utils/dateVariant.js';
20
21
  import { fetchListTotal } from '../../utils/fetchFilterCounts.js';
@@ -238,7 +239,7 @@ var script = {
238
239
  * - `headerPill` — a status pill in the card header (reported through the `header` event): `{ path?, text?, map?, variant?, variantMap?, colorMap? }`, read from the record like a `pill` entry (DqBezwaar "Advies ontvangen"); nothing shows while the value is empty.
239
240
  * - `notice` — `{ text, variant? }`, a note band inside the card under the facts (`info` by default; `success`, `warning` or `error`); the text is translated.
240
241
  * - `footnote` — a plain muted line under the facts, without a band (DqZaakBesluiten "Na het ondertekenen ..."); the text is translated.
241
- * `format` is `text` (default), `date` (board short date), `date-long` (always with the year), `longdate` (the month written out, the year only outside this year: "3 oktober"), `year` ("2026"), `list` (an array joined by ", ", each item read at `itemPath` and written in `itemFormat`), `group` (a Nextcloud group by its display name), `bytes` (a size, "1.5 MB"), `number` (in the reader's language, `decimals` fraction digits when set), `months` (a number of months in words, whole years as years: 240 is "20 jaar") or `currency` (a money amount in the reader's language, "€ 1.234,50": the code in `currency`, else the record's `currencyField`, else the app's reporting currency, else EUR; `decimals` defaults to 2).
242
+ * `format` is `text` (default), `date` (board short date), `date-long` (always with the year), `longdate` (the month written out, the year only outside this year: "3 oktober"), `duration` (an ISO period in words, "4 weken"; `extendBy` names the extension period on the record: "4 weken, te verdagen met 2"), `year` ("2026"), `list` (an array joined by ", ", each item read at `itemPath` and written in `itemFormat`), `group` (a Nextcloud group by its display name), `bytes` (a size, "1.5 MB"), `number` (in the reader's language, `decimals` fraction digits when set), `months` (a number of months in words, whole years as years: 240 is "20 jaar") or `currency` (a money amount in the reader's language, "€ 1.234,50": the code in `currency`, else the record's `currencyField`, else the app's reporting currency, else EUR; `decimals` defaults to 2).
242
243
  * `map` turns a raw value into a label (translated). `parts` (on a `line`) lists paths, or `{ path, label?, format? }`, joined by `separator` (default " · "); empty parts are dropped.
243
244
  * - `source` — `{ register, schema, id }` or `{ url }`; omitted = the current object. `{ register, schema, filter, sort? }` without `id` reads the first object that matches `filter` in `sort` order (`{ field, dir }`): the latest count of a shift. An entry with `from: "object"` reads the current object even then (a client card that also shows the ticket's channel).
244
245
  * - `endpointSource` — `{ url, method?, params?, responsePath? }`, the block a stat or chart takes: the facts read an app endpoint, shared and cached like those.
@@ -1646,6 +1647,10 @@ var script = {
1646
1647
  const date = parseDateValue(raw);
1647
1648
  return date === null ? '' : String(date.getFullYear())
1648
1649
  }
1650
+ // A term in words, with the extension at `extendBy` on the record: "4 weken, te verdagen met 2".
1651
+ if (format === 'duration') {
1652
+ return formatTermDuration(raw, typeof spec.extendBy === 'string' && record ? readPath(record, spec.extendBy) : null)
1653
+ }
1649
1654
  // The month written out, the year only outside this year: "3 oktober".
1650
1655
  if (format === 'longdate') {
1651
1656
  return formatLongDate(raw)