@conduction/nextcloud-vue 2.135.0 → 2.136.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 (63) hide show
  1. package/dist/esm/components/CnActionDialog/CnActionDialog.vue.js +1 -1
  2. package/dist/esm/components/CnActionDialog/CnActionDialog.vue2.js +2 -1
  3. package/dist/esm/components/CnActionDialog/CnActionDialog.vue2.js.map +1 -1
  4. package/dist/esm/components/CnActionDialog/CnActionDialog.vue3.js +65 -50
  5. package/dist/esm/components/CnActionDialog/CnActionDialog.vue3.js.map +1 -1
  6. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue.js +1 -1
  7. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue2.js +6 -0
  8. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue2.js.map +1 -1
  9. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue3.js +9 -1
  10. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue3.js.map +1 -1
  11. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue.js +1 -1
  12. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue2.js.map +1 -1
  13. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue3.js +4 -11
  14. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue3.js.map +1 -1
  15. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +12 -0
  16. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  17. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +1 -1
  18. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  19. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +11 -0
  20. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  21. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +1 -1
  22. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  23. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +3 -1
  24. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  25. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +2 -1
  26. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  27. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  28. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +18 -0
  29. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  30. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +38 -23
  31. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  32. package/dist/esm/components/CnWorkingCalendarWidget/CnWorkingCalendarWidget.vue.js +1 -1
  33. package/dist/esm/components/CnWorkingCalendarWidget/CnWorkingCalendarWidget.vue2.js.map +1 -1
  34. package/dist/esm/components/CnWorkingCalendarWidget/CnWorkingCalendarWidget.vue3.js.map +1 -1
  35. package/dist/esm/composables/indexSources.js +69 -3
  36. package/dist/esm/composables/indexSources.js.map +1 -1
  37. package/dist/esm/l10n/en.json.js +20 -20
  38. package/dist/esm/l10n/nl.json.js +21 -21
  39. package/dist/esm/library-style.js +1 -1
  40. package/dist/esm/nextcloud-vue.css +322 -164
  41. package/dist/esm/utils/widgetDispatch.js +3 -1
  42. package/dist/esm/utils/widgetDispatch.js.map +1 -1
  43. package/dist/nextcloud-vue.cjs.js +739 -589
  44. package/dist/nextcloud-vue.cjs.js.map +2 -2
  45. package/dist/nextcloud-vue.css +322 -164
  46. package/l10n/en.json +20 -20
  47. package/l10n/nl.json +21 -21
  48. package/package.json +1 -1
  49. package/src/components/CnActionDialog/CnActionDialog.vue +45 -4
  50. package/src/components/CnAuditTrailCard/CnAuditTrailCard.vue +15 -0
  51. package/src/components/CnAuditTrailWidget/CnAuditTrailWidget.vue +2 -10
  52. package/src/components/CnDataTable/CnDataTable.md +1 -0
  53. package/src/components/CnDataTable/CnDataTable.vue +13 -1
  54. package/src/components/CnDetailPage/CnDetailPage.md +1 -0
  55. package/src/components/CnDetailPage/CnDetailPage.vue +12 -1
  56. package/src/components/CnIndexPage/CnIndexPage.vue +4 -1
  57. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +38 -2
  58. package/src/components/CnWorkingCalendarWidget/CnWorkingCalendarWidget.vue +7 -0
  59. package/src/composables/indexSources.js +69 -3
  60. package/src/css/look-board-detail.css +47 -1
  61. package/src/css/look-board-index.css +26 -1
  62. package/src/css/look-board.css +46 -3
  63. package/src/utils/widgetDispatch.js +3 -1
@@ -91,7 +91,7 @@
91
91
  }
92
92
 
93
93
  .cn-look-board .cn-detail-page .cn-detail-page__header-actions > .button-vue--secondary:hover,
94
- .cn-look-board .cn-detail-page .cn-detail-page__header-actions .action-item--secondary .action-item__menutoggle:hover {
94
+ .cn-look-board .cn-detail-page .cn-detail-page__header-actions .action-item--secondary:not(.action-item--open) .action-item__menutoggle:hover {
95
95
  background: var(--color-background-hover) !important;
96
96
  }
97
97
 
@@ -1317,6 +1317,25 @@
1317
1317
  font-size: 15px;
1318
1318
  }
1319
1319
 
1320
+ /* A card with actions holds them at its end, beside the title and meta (the
1321
+ board's "···" on each task). */
1322
+ .cn-look-board .cn-grouped-cards__item.cn-grouped-cards__item:has(> .cn-grouped-cards__item-actions):not(.cn-look-nextcloud *) {
1323
+ display: grid;
1324
+ grid-template-columns: minmax(0, 1fr) auto;
1325
+ column-gap: 12px;
1326
+ align-items: center;
1327
+ }
1328
+
1329
+ .cn-look-board .cn-grouped-cards__item:has(> .cn-grouped-cards__item-actions) > :not(.cn-grouped-cards__item-actions):not(.cn-look-nextcloud *) {
1330
+ grid-column: 1;
1331
+ }
1332
+
1333
+ .cn-look-board .cn-grouped-cards__item:has(> .cn-grouped-cards__item-actions) > .cn-grouped-cards__item-actions:not(.cn-look-nextcloud *) {
1334
+ grid-column: 2;
1335
+ grid-row: 1 / span 3;
1336
+ margin: 0;
1337
+ }
1338
+
1320
1339
  /* ---- A file's side card (CnFilesBrowser) --------------------------------- */
1321
1340
  /* The board's side card: radius 12, 20px 22px of padding, the title a 15px
1322
1341
  muted heading at 600, the facts 8px 16px apart with the values at 500
@@ -1501,3 +1520,30 @@
1501
1520
  border-radius: var(--cn-board-control-radius);
1502
1521
  overflow: hidden;
1503
1522
  }
1523
+
1524
+ /* ---- A record list drawn as a data table (CnRecordListWidget) ----------- */
1525
+ /* `tableLook: "data"` (DqZaaktype "Berichten aan de aanvrager"): the board's
1526
+ card table rather than the compact grid, a near-white header band at
1527
+ 14px/600 in the muted ink, 10px 12px, and 14px cells, 11px 12px, a
1528
+ hairline above each row. Two classes more than the compact grid's rule.
1529
+ @spec openspec/changes/record-list-data-table-and-notice-footnote/specs/record-list/spec.md#requirement-a-record-list-table-can-be-drawn-as-a-data-table */
1530
+ .cn-look-board .cn-record-list.cn-record-list--table.cn-record-list--data-table .cn-record-list__table th:not(.cn-look-nextcloud *) {
1531
+ --nldesign-component-table-header-background-color: var(--cn-board-table-head-bg, color-mix(in srgb, var(--color-background-hover) 40%, var(--color-main-background)));
1532
+ --nldesign-component-table-header-color: var(--color-text-maxcontrast);
1533
+ --nldesign-component-table-header-font-weight: 600;
1534
+ padding: 10px 12px;
1535
+ border-bottom: 0;
1536
+ background: var(--cn-board-table-head-bg, color-mix(in srgb, var(--color-background-hover) 40%, var(--color-main-background)));
1537
+ color: var(--color-text-maxcontrast);
1538
+ font-size: 14px;
1539
+ font-weight: 600;
1540
+ line-height: 1.2;
1541
+ }
1542
+
1543
+ .cn-look-board .cn-record-list.cn-record-list--table.cn-record-list--data-table .cn-record-list__table td:not(.cn-look-nextcloud *) {
1544
+ padding: 11px 12px;
1545
+ border-top: 1px solid var(--cn-board-hairline);
1546
+ border-bottom: 0;
1547
+ font-size: 14px;
1548
+ line-height: 1.2;
1549
+ }
@@ -89,7 +89,7 @@
89
89
  }
90
90
 
91
91
  .cn-look-board .cn-index-page .cn-index-page__header-buttons > .button-vue--secondary:hover,
92
- .cn-look-board .cn-index-page .cn-index-page__header-buttons > .action-item .button-vue:hover {
92
+ .cn-look-board .cn-index-page .cn-index-page__header-buttons > .action-item:not(.action-item--open) .button-vue:hover {
93
93
  background: var(--color-background-hover) !important;
94
94
  }
95
95
 
@@ -1943,6 +1943,31 @@
1943
1943
  border-radius: 50%;
1944
1944
  }
1945
1945
 
1946
+ /* The panel's words (DqFilterBeheren): a group heading at 15px/700 in the
1947
+ main ink, the group's note and a view's description at 13px in the muted
1948
+ ink, never bold.
1949
+ @spec openspec/changes/board-saved-views-panel-type/specs/board-saved-views-panel-type/spec.md */
1950
+ .cn-look-board .cn-saved-views-panel:not(.cn-look-nextcloud *) .cn-saved-views-panel__section {
1951
+ margin: 12px 0 0;
1952
+ font-size: 15px;
1953
+ font-weight: 700;
1954
+ line-height: 1.2;
1955
+ color: var(--color-main-text);
1956
+ }
1957
+
1958
+ .cn-look-board .cn-saved-views-panel:not(.cn-look-nextcloud *) .cn-saved-views-panel__note {
1959
+ font-size: 13px;
1960
+ font-weight: 400;
1961
+ line-height: 1.3;
1962
+ color: var(--color-text-maxcontrast);
1963
+ }
1964
+
1965
+ .cn-look-board .cn-saved-views-panel:not(.cn-look-nextcloud *) .cn-saved-views-panel__subline {
1966
+ font-size: 13px;
1967
+ font-weight: 400;
1968
+ color: var(--color-text-maxcontrast);
1969
+ }
1970
+
1946
1971
  /* ---- A saved view row's menu ------------------------------------------- */
1947
1972
  /* The menu trigger on a saved view row ("Beheer Termijn deze week") is a
1948
1973
  round 34px button (DqFilterBeheren, DqFilterInMenu); NcActions drew the
@@ -582,6 +582,31 @@
582
582
  background: var(--color-background-hover);
583
583
  }
584
584
 
585
+ /* ---- An ordered list field ----------------------------------------------- */
586
+ /* DqPersoonlijkeInstellingen "Weergaven in mijn menu": a row's labelled remove
587
+ button ("Uit menu halen") is an outlined secondary button, and the select
588
+ that adds a row runs the field's full width.
589
+ @spec openspec/changes/board-ordered-list-field/specs/board-ordered-list-field/spec.md */
590
+ .cn-look-board .cn-ordered-list-field__button--text:not(.cn-look-nextcloud *) {
591
+ box-sizing: border-box;
592
+ height: 34px;
593
+ min-height: 34px;
594
+ padding: 0 14px;
595
+ border: 1px solid var(--cn-board-control-border);
596
+ background: var(--color-main-background);
597
+ color: var(--color-main-text);
598
+ font-size: 14px;
599
+ }
600
+
601
+ .cn-look-board .cn-ordered-list-field__button--text:not(.cn-look-nextcloud *):hover:not(:disabled) {
602
+ background: var(--color-background-hover);
603
+ }
604
+
605
+ .cn-look-board .cn-ordered-list-field__add .v-select:not(.cn-look-nextcloud *) {
606
+ width: 100%;
607
+ max-width: none;
608
+ }
609
+
585
610
  /* ---- A secondary button --------------------------------------------------- */
586
611
  /* The boards draw every secondary button neutral: the main background, a 1px
587
612
  control border, the main text, the hover ground on hover (DqFlow "Testen
@@ -1407,6 +1432,15 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
1407
1432
  color: var(--color-text-maxcontrast);
1408
1433
  }
1409
1434
 
1435
+ /* A linked cell in a settings card's table reads in the text ink, as the index
1436
+ tables do, not in the settings page's link blue (DqInstellingen: a
1437
+ connection's name opens its settings card). The underline marks the link.
1438
+ @spec openspec/changes/settings-table-link-ink/specs/settings-board-look/spec.md */
1439
+ .cn-look-board .settings-section .cn-data-table a.cn-cell-renderer__link:not(.cn-look-nextcloud *) {
1440
+ color: var(--color-main-text);
1441
+ text-decoration: underline;
1442
+ }
1443
+
1410
1444
  /* Section actions sit at the end of the title row. The row is a grid, so a
1411
1445
  long title wraps beside the buttons instead of running under them. A
1412
1446
  half-width card keeps them there (DqVthInstellingen "Inspectiechecklists",
@@ -1801,14 +1835,16 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
1801
1835
  line-height: 1.5;
1802
1836
  }
1803
1837
 
1838
+ /* `!important` on the size: a theme that sizes every paragraph with
1839
+ `!important` (thematiq's paragraph token, 15px) would win otherwise. */
1804
1840
  .cn-look-board .notecard.notecard--info:not(.cn-look-nextcloud *) p {
1805
1841
  color: var(--color-primary-element-light-text) !important;
1806
- font-size: inherit;
1842
+ font-size: inherit !important;
1807
1843
  line-height: inherit;
1808
1844
  }
1809
1845
 
1810
1846
  .cn-look-board .notecard.notecard--info:not(.cn-look-nextcloud *) .notecard__heading {
1811
- font-size: inherit;
1847
+ font-size: inherit !important;
1812
1848
  font-weight: 700 !important;
1813
1849
  }
1814
1850
 
@@ -2886,9 +2922,16 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
2886
2922
  gives the second pixel back so the words stay put. The board draws no
2887
2923
  option icon, only the radio and the words.
2888
2924
  @spec openspec/changes/board-setup-choice-rows/specs/board-setup-choice-rows/spec.md */
2925
+ /* The radio sits 21px inside the option's edge (DqInstellen): 1px border and
2926
+ 20px padding, or 2px and 19px on the chosen option.
2927
+ @spec openspec/changes/board-setup-choice-inset/specs/board-setup-choice-rows/spec.md */
2928
+ .cn-look-board .cn-setup-step .cn-choice-cards .cn-choice-cards__row:not(.cn-look-nextcloud *) {
2929
+ padding: 12px 20px;
2930
+ }
2931
+
2889
2932
  .cn-look-board .cn-setup-step .cn-choice-cards .cn-choice-cards__row--selected:not(.cn-look-nextcloud *),
2890
2933
  .cn-look-board .cn-setup-step .cn-choice-cards .cn-choice-cards__row--selected:hover:not(.cn-look-nextcloud *) {
2891
- padding: 11px 13px;
2934
+ padding: 11px 19px;
2892
2935
  border-width: 2px;
2893
2936
  box-shadow: none;
2894
2937
  }
@@ -55,10 +55,12 @@ import { canonicalWidgetType } from './widgetTypeAliases.js'
55
55
  * and its title come from the host, and the catalog Add does not apply.
56
56
  * `handoff` is one action on one record; the card and title come from the host.
57
57
  * `macros` lists a record's macros with their buttons; the card and title come from the host.
58
+ * `grouped-cards` draws groups of cards (DqZaaktype "Fasen en taken") with no card of
59
+ * its own; the card, title and subtitle come from the host, and it has no Add.
58
60
  *
59
61
  * @type {string[]}
60
62
  */
61
- export const CONTENT_ONLY_TYPES = Object.freeze(['object-list', 'table', 'files', 'flow-runs', 'tasks', 'events', 'facts', 'linked', 'field-list', 'record-list', 'parties', 'map', 'settings-form', 'switch-rows', 'radio-cards', 'chips-field', 'toggle-table', 'choice-picker', 'checklist', 'object-translations', 'row-mark-list', 'slot-grid', 'handoff', 'macros', 'ai-chat'])
63
+ export const CONTENT_ONLY_TYPES = Object.freeze(['object-list', 'table', 'files', 'flow-runs', 'tasks', 'events', 'facts', 'linked', 'field-list', 'record-list', 'parties', 'map', 'settings-form', 'switch-rows', 'radio-cards', 'chips-field', 'toggle-table', 'choice-picker', 'checklist', 'object-translations', 'row-mark-list', 'slot-grid', 'handoff', 'macros', 'ai-chat', 'grouped-cards'])
62
64
 
63
65
  /**
64
66
  * The stored content/config blob for a widget definition.