@conduction/nextcloud-vue 2.148.0 → 2.150.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.
- package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue.js +1 -1
- package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue2.js +24 -7
- package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue2.js.map +1 -1
- package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue3.js.map +1 -1
- package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue.js +1 -1
- package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue2.js +12 -1
- package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue3.js +2 -1
- package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +12 -0
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnChecklistRunWidget/CnChecklistRunWidget.vue.js +1 -1
- package/dist/esm/components/CnChecklistRunWidget/CnChecklistRunWidget.vue2.js +23 -1
- package/dist/esm/components/CnChecklistRunWidget/CnChecklistRunWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnChecklistRunWidget/CnChecklistRunWidget.vue3.js +1 -1
- package/dist/esm/components/CnChecklistRunWidget/CnChecklistRunWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +34 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue.js +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue3.js.map +1 -1
- package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue.js +1 -1
- package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnDuplicateWarning/CnDuplicateWarning.vue.js +1 -1
- package/dist/esm/components/CnDuplicateWarning/CnDuplicateWarning.vue2.js +64 -8
- package/dist/esm/components/CnDuplicateWarning/CnDuplicateWarning.vue2.js.map +1 -1
- package/dist/esm/components/CnDuplicateWarning/CnDuplicateWarning.vue3.js +14 -4
- package/dist/esm/components/CnDuplicateWarning/CnDuplicateWarning.vue3.js.map +1 -1
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue.js +1 -1
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +26 -3
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js +10 -2
- package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue.js +1 -1
- package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js +84 -1
- package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js +61 -33
- package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue.js +1 -1
- package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue2.js +49 -2
- package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue3.js +90 -59
- package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnFollowingWidgetHost/CnFollowingWidgetHost.vue2.js +3 -1
- package/dist/esm/components/CnFollowingWidgetHost/CnFollowingWidgetHost.vue2.js.map +1 -1
- package/dist/esm/components/CnFollowingWidgetHost/CnFollowingWidgetHost.vue3.js.map +1 -1
- package/dist/esm/components/CnNotesCard/CnNotesCard.vue.js +1 -1
- package/dist/esm/components/CnNotesCard/CnNotesCard.vue2.js +10 -0
- package/dist/esm/components/CnNotesCard/CnNotesCard.vue2.js.map +1 -1
- package/dist/esm/components/CnNotesCard/CnNotesCard.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectCard/CnObjectCard.vue.js +1 -1
- package/dist/esm/components/CnObjectCard/CnObjectCard.vue2.js +11 -0
- package/dist/esm/components/CnObjectCard/CnObjectCard.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectCard/CnObjectCard.vue3.js +28 -21
- package/dist/esm/components/CnObjectCard/CnObjectCard.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +3 -15
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +123 -115
- package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue.js +1 -1
- package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue2.js +4 -0
- package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue2.js.map +1 -1
- package/dist/esm/components/CnRegisterMapping/CnRegisterMapping.vue3.js.map +1 -1
- package/dist/esm/l10n/en.json.js +2 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +2 -1
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/library-style.js +1 -1
- package/dist/esm/nextcloud-vue.css +761 -520
- package/dist/esm/utils/fillTemplate.js +19 -2
- package/dist/esm/utils/fillTemplate.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +1368 -945
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +761 -520
- package/l10n/en.json +2 -1
- package/l10n/nl.json +2 -1
- package/package.json +1 -1
- package/src/components/CnAuditTrailCard/CnAuditTrailCard.vue +24 -7
- package/src/components/CnAuditTrailWidget/CnAuditTrailWidget.vue +13 -1
- package/src/components/CnChartWidget/CnChartWidget.md +1 -1
- package/src/components/CnChartWidget/CnChartWidget.vue +12 -0
- package/src/components/CnChecklistRunWidget/CnChecklistRunWidget.vue +29 -2
- package/src/components/CnDataTable/CnDataTable.vue +34 -1
- package/src/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue +6 -1
- package/src/components/CnDeviceFramesWidget/CnDeviceFramesWidget.vue +1 -0
- package/src/components/CnDuplicateWarning/CnDuplicateWarning.vue +74 -10
- package/src/components/CnFactsWidget/CnFactsWidget.vue +35 -3
- package/src/components/CnFieldListWidget/CnFieldListWidget.vue +131 -3
- package/src/components/CnFlowRunsWidget/CnFlowRunsWidget.vue +103 -5
- package/src/components/CnFollowingWidgetHost/CnFollowingWidgetHost.vue +3 -1
- package/src/components/CnNotesCard/CnNotesCard.vue +10 -0
- package/src/components/CnObjectCard/CnObjectCard.vue +16 -0
- package/src/components/CnObjectListWidget/CnObjectListWidget.vue +1 -1
- package/src/components/CnRecordListWidget/CnRecordListWidget.vue +19 -19
- package/src/components/CnRegisterMapping/CnRegisterMapping.vue +4 -0
- package/src/css/board.css +2 -0
- package/src/css/dialog.css +17 -0
- package/src/css/look-board-detail.css +52 -3
- package/src/css/look-board-index.css +42 -2
- package/src/css/look-board.css +45 -5
- package/src/css/table.css +5 -2
- package/src/utils/fillTemplate.js +19 -2
|
@@ -751,6 +751,14 @@
|
|
|
751
751
|
padding: calc(12px - var(--cn-board-first-line-leading)) var(--cn-board-card-inline-padding) 20px;
|
|
752
752
|
}
|
|
753
753
|
|
|
754
|
+
/* A card that opens on a record-list table starts 12px under its title: the
|
|
755
|
+
table's head row sets its own padding and line height, so no first line
|
|
756
|
+
carries the half-leading the rule above takes off (r31 DqZaaktype
|
|
757
|
+
"Berichten aan de aanvrager" sat 2.2px high). */
|
|
758
|
+
.cn-look-board .cn-detail-page .cn-widget-wrapper__content:has(> .cn-record-list > .cn-record-list__table:first-child):not(.cn-look-nextcloud *) {
|
|
759
|
+
padding-top: 12px;
|
|
760
|
+
}
|
|
761
|
+
|
|
754
762
|
/* A history card with stacked rows (DqTaak "Historie") opens on the first
|
|
755
763
|
row's hairline 6px under the title, the row's own 12px padding above its
|
|
756
764
|
text, as drawn: 19px from the title to the first action.
|
|
@@ -841,6 +849,15 @@
|
|
|
841
849
|
font-weight: 500;
|
|
842
850
|
}
|
|
843
851
|
|
|
852
|
+
/* The files table's checkbox column is the board's 42px (12px either side
|
|
853
|
+
of the 18px box): DqZaakDocumenten and DqDocumentenBeheer both draw it so.
|
|
854
|
+
The component's 36px pushed the file icon and name 6px left (r31: name 96
|
|
855
|
+
vs 100; probed with the rule: icon 54 as drawn, name 102).
|
|
856
|
+
@spec openspec/changes/board-files-select-column-42/specs/board-files-select-column-42/spec.md#requirement-the-files-tables-checkbox-column-is-42px */
|
|
857
|
+
.cn-look-board .cn-files-browser__col-select:not(.cn-look-nextcloud *) {
|
|
858
|
+
width: 42px;
|
|
859
|
+
}
|
|
860
|
+
|
|
844
861
|
/* A labelled select in a page card is the board's field, as in a board
|
|
845
862
|
dialog (dialog.css): its label above the control at 14px/600 on the normal
|
|
846
863
|
line (the theme's label weight token set to 600 here), the control 40px,
|
|
@@ -1584,10 +1601,10 @@
|
|
|
1584
1601
|
|
|
1585
1602
|
/* The buttons above the groups are the card's 34px controls ("Bekijken als
|
|
1586
1603
|
flow", "Taak toevoegen"), not the page's 40px ones. */
|
|
1587
|
-
/* The buttons sit 14px
|
|
1588
|
-
|
|
1604
|
+
/* The buttons sit 14px above the groups, the card's gap; above them the
|
|
1605
|
+
content's own top padding is the space under the subtitle. */
|
|
1589
1606
|
.cn-look-board .cn-grouped-cards__actions.cn-grouped-cards__actions:not(.cn-look-nextcloud *) {
|
|
1590
|
-
margin-block:
|
|
1607
|
+
margin-block: 0 14px;
|
|
1591
1608
|
}
|
|
1592
1609
|
|
|
1593
1610
|
.cn-look-board .cn-grouped-cards__actions:not(.cn-look-nextcloud *) .button-vue {
|
|
@@ -2379,3 +2396,35 @@
|
|
|
2379
2396
|
.cn-look-board .cn-timeline-manage__draft-label:not(.cn-look-nextcloud *) {
|
|
2380
2397
|
line-height: 1.2;
|
|
2381
2398
|
}
|
|
2399
|
+
|
|
2400
|
+
/* A facts card's link with an icon (Werkinstructie) sets the icon beside its
|
|
2401
|
+
text, 10px apart, the text on the normal line starting 10px under the
|
|
2402
|
+
title, as the Dq boards draw it. The anchor was a block, so the icon stood
|
|
2403
|
+
on its own line above the text (r31).
|
|
2404
|
+
@spec openspec/changes/board-facts-link-icon-beside-text/specs/facts-widget/spec.md */
|
|
2405
|
+
.cn-look-board .cn-facts-widget .cn-facts-widget__link:has(> .material-design-icon):not(.cn-look-nextcloud *) {
|
|
2406
|
+
display: flex;
|
|
2407
|
+
align-items: center;
|
|
2408
|
+
gap: 10px;
|
|
2409
|
+
margin-top: var(--cn-board-first-line-leading);
|
|
2410
|
+
line-height: normal;
|
|
2411
|
+
}
|
|
2412
|
+
|
|
2413
|
+
/* A table in a detail page card names each row in the link colour at 14px,
|
|
2414
|
+
as DqZaakGerelateerd draws "Deelzaken" and "Objecten" (r31: 15px in the
|
|
2415
|
+
body ink). The row opens the record, so its name reads as the link.
|
|
2416
|
+
@spec openspec/changes/board-detail-table-title-cells/specs/board-tables/spec.md */
|
|
2417
|
+
.cn-look-board .cn-detail-page .cn-object-list-widget td.cn-table-col--title:not(.cn-look-nextcloud *),
|
|
2418
|
+
.cn-look-board .cn-detail-page .cn-object-list-widget td.cn-table-col--title .cn-cell-renderer:not(.cn-look-nextcloud *) {
|
|
2419
|
+
font-size: 14px;
|
|
2420
|
+
line-height: 1.2;
|
|
2421
|
+
color: var(--color-primary-element);
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
/* A data card keeps its 14px under a subtitle too (DqZaakBetrokkenen
|
|
2425
|
+
"Zetels"): the subtitle rule's 12px won over the data card's 14px, so the
|
|
2426
|
+
labels sat 2.2px high (r31).
|
|
2427
|
+
@spec openspec/changes/board-data-card-under-subtitle/specs/board-card/spec.md */
|
|
2428
|
+
.cn-look-board .cn-detail-page .cn-widget-wrapper:not(.cn-detail-page__side *):has(> .cn-widget-wrapper__header .cn-widget-wrapper__subtitle) > .cn-widget-wrapper__content:has(> .cn-object-data-widget__grid-wrap) {
|
|
2429
|
+
padding-top: 14px;
|
|
2430
|
+
}
|
|
@@ -1079,8 +1079,9 @@
|
|
|
1079
1079
|
@spec openspec/changes/board-avatar-chip/specs/data-table/spec.md#requirement-a-board-avatar-cell-draws-the-initials-chip */
|
|
1080
1080
|
.cn-look-board .cn-table-container--board .cn-data-table .cn-cell-renderer__avatar-initials--neutral {
|
|
1081
1081
|
background: var(--color-background-dark);
|
|
1082
|
-
color: var(--
|
|
1082
|
+
color: var(--cn-board-text-soft);
|
|
1083
1083
|
font-size: 13px;
|
|
1084
|
+
line-height: normal;
|
|
1084
1085
|
}
|
|
1085
1086
|
|
|
1086
1087
|
.cn-look-board .cn-table-container--board .cn-data-table .cn-cell-renderer__avatar:has(.cn-cell-renderer__avatar-initials--neutral) {
|
|
@@ -1513,17 +1514,19 @@
|
|
|
1513
1514
|
margin: 0;
|
|
1514
1515
|
font-size: 17px;
|
|
1515
1516
|
font-weight: 700;
|
|
1516
|
-
line-height:
|
|
1517
|
+
line-height: normal;
|
|
1517
1518
|
text-decoration: none;
|
|
1518
1519
|
white-space: normal;
|
|
1519
1520
|
}
|
|
1520
1521
|
|
|
1521
1522
|
.cn-look-board .cn-object-card--board .cn-object-card__record-meta {
|
|
1522
1523
|
--nldesign-component-paragraph-font-size: 14px;
|
|
1524
|
+
--nldesign-component-paragraph-line-height: normal;
|
|
1523
1525
|
--nldesign-component-paragraph-color: var(--color-text-maxcontrast);
|
|
1524
1526
|
margin: 0;
|
|
1525
1527
|
color: var(--color-text-maxcontrast);
|
|
1526
1528
|
font-size: 14px;
|
|
1529
|
+
line-height: normal;
|
|
1527
1530
|
}
|
|
1528
1531
|
|
|
1529
1532
|
/* The meta line, note and description are paragraphs: each hands the theme,
|
|
@@ -1531,11 +1534,13 @@
|
|
|
1531
1534
|
.cn-look-board .cn-object-card--board .cn-object-card__record-note {
|
|
1532
1535
|
--nldesign-component-paragraph-font-size: 13px;
|
|
1533
1536
|
--nldesign-component-paragraph-font-weight: 600;
|
|
1537
|
+
--nldesign-component-paragraph-line-height: normal;
|
|
1534
1538
|
--nldesign-component-paragraph-color: var(--cn-board-text-soft);
|
|
1535
1539
|
margin: 0;
|
|
1536
1540
|
color: var(--cn-board-text-soft);
|
|
1537
1541
|
font-size: 13px;
|
|
1538
1542
|
font-weight: 600;
|
|
1543
|
+
line-height: normal;
|
|
1539
1544
|
}
|
|
1540
1545
|
|
|
1541
1546
|
.cn-look-board .cn-object-card--board .cn-object-card__record-note--purple {
|
|
@@ -1703,9 +1708,19 @@
|
|
|
1703
1708
|
--app-sidebar-width: 360px;
|
|
1704
1709
|
}
|
|
1705
1710
|
|
|
1711
|
+
/* The subtitle 2px under the title at a normal line height, and the tab's
|
|
1712
|
+
content 20px in from the panel edge (the tab's 10px and 10px here), as
|
|
1713
|
+
DqFilterBeheren draws the side panel.
|
|
1714
|
+
@spec openspec/changes/board-side-panel-rhythm/specs/board-side-panel-rhythm/spec.md */
|
|
1706
1715
|
.cn-look-board:has(.cn-index-page) > .app-sidebar .app-sidebar-header__subname {
|
|
1716
|
+
margin-top: 2px;
|
|
1707
1717
|
color: var(--color-text-maxcontrast);
|
|
1708
1718
|
font-size: 14px;
|
|
1719
|
+
line-height: normal;
|
|
1720
|
+
}
|
|
1721
|
+
|
|
1722
|
+
.cn-look-board:has(.cn-index-page) > .app-sidebar .cn-index-sidebar__section {
|
|
1723
|
+
padding: 10px;
|
|
1709
1724
|
}
|
|
1710
1725
|
|
|
1711
1726
|
.cn-look-board:has(.cn-index-page) > .app-sidebar .app-sidebar__close {
|
|
@@ -1924,9 +1939,33 @@
|
|
|
1924
1939
|
@spec openspec/changes/board-index-sidebar-title-inset/specs/board-index-sidebar-title-inset/spec.md#requirement-the-index-side-panel-title-is-inset-as-the-board-draws-it */
|
|
1925
1940
|
.cn-look-board .cn-index-sidebar-panel .app-sidebar-header.app-sidebar-header .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc {
|
|
1926
1941
|
padding-block-start: 15px;
|
|
1942
|
+
padding-block-end: 0;
|
|
1927
1943
|
padding-inline-start: 20px;
|
|
1928
1944
|
}
|
|
1929
1945
|
|
|
1946
|
+
/* The line under the title is a paragraph the theme sets with `!important`
|
|
1947
|
+
(15px, its own leading): 14px muted at its normal leading, 2px under the
|
|
1948
|
+
title, so the tab row starts 14px under it and the first field 20px under
|
|
1949
|
+
the tabs (DqZakenSorteren, DqFilterBeheren: title 20, line 46, tabs 77,
|
|
1950
|
+
search field 137).
|
|
1951
|
+
@spec openspec/changes/board-side-panel-header-rhythm/specs/board-side-panel-header-rhythm/spec.md#requirement-the-side-panel-header-and-first-field-sit-as-the-boards-draw-them */
|
|
1952
|
+
.cn-look-board .cn-index-sidebar-panel .app-sidebar-header__subname {
|
|
1953
|
+
--nldesign-component-paragraph-font-size: 14px;
|
|
1954
|
+
--nldesign-component-paragraph-line-height: normal;
|
|
1955
|
+
--nldesign-component-paragraph-color: var(--color-text-maxcontrast);
|
|
1956
|
+
font-size: 14px !important;
|
|
1957
|
+
line-height: normal !important;
|
|
1958
|
+
margin-block-start: -3px !important;
|
|
1959
|
+
}
|
|
1960
|
+
|
|
1961
|
+
.cn-look-board .cn-index-sidebar-panel .cn-index-sidebar__tab-content > .cn-index-sidebar__section:first-child {
|
|
1962
|
+
padding-top: 8px;
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
.cn-look-board .cn-index-sidebar-panel .cn-index-sidebar__tab-content > .cn-index-sidebar__section:first-child > .input-field {
|
|
1966
|
+
margin-top: 0;
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1930
1969
|
.cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__nav[role="tablist"] {
|
|
1931
1970
|
justify-content: flex-start;
|
|
1932
1971
|
gap: 4px;
|
|
@@ -2119,6 +2158,7 @@
|
|
|
2119
2158
|
.cn-look-board .cn-saved-views-panel:not(.cn-look-nextcloud *) .cn-saved-views-panel__name-text {
|
|
2120
2159
|
font-size: 14px;
|
|
2121
2160
|
font-weight: 600;
|
|
2161
|
+
line-height: normal;
|
|
2122
2162
|
}
|
|
2123
2163
|
|
|
2124
2164
|
/* A view's count: a grey pill at the end of its row (DqFilterBeheren). */
|
package/src/css/look-board.css
CHANGED
|
@@ -942,14 +942,15 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
|
|
|
942
942
|
}
|
|
943
943
|
|
|
944
944
|
/* A saved view's manage menu (DqFilterBeheren, DqFilterInMenu "Beheer
|
|
945
|
-
<view>"):
|
|
945
|
+
<view>"): 278px wide outside (the board's 264px of content, 6px in and a
|
|
946
|
+
1px line), rows of at least 40px, 6px 10px in, 8px rounded,
|
|
946
947
|
the icon 12px before a 14px label at 600 with its explanation under it in
|
|
947
948
|
12px muted text at 400; the separator in the soft line, and Delete in the
|
|
948
949
|
error red. Its rows carry the panel's `cn-saved-views-` test ids.
|
|
949
950
|
@spec openspec/changes/board-saved-view-manage-menu/specs/board-saved-view-manage-menu/spec.md#requirement-a-saved-views-manage-menu-is-the-boards-menu */
|
|
950
951
|
body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-item__popper:has(li[data-testid^="cn-saved-views-"]) .v-popper__wrapper .v-popper__inner {
|
|
951
952
|
box-sizing: border-box;
|
|
952
|
-
width:
|
|
953
|
+
width: 278px;
|
|
953
954
|
max-width: calc(100vw - 32px);
|
|
954
955
|
}
|
|
955
956
|
|
|
@@ -1520,8 +1521,8 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
|
|
|
1520
1521
|
text-align: start;
|
|
1521
1522
|
}
|
|
1522
1523
|
|
|
1523
|
-
/* Body
|
|
1524
|
-
A row header (dossiq's prerequisites) reads as a strong cell, not as a
|
|
1524
|
+
/* Body cells read 14px at 1.2, as the boards' settings tables do; a row's
|
|
1525
|
+
height comes from its content (a pill or a 34px button). A row header (dossiq's prerequisites) reads as a strong cell, not as a
|
|
1525
1526
|
head: the theme paints every th, so its tokens are handed the cell's. */
|
|
1526
1527
|
.cn-look-board .settings-section table:not(.cn-data-table):not(.cn-look-nextcloud *) td,
|
|
1527
1528
|
.cn-look-board .settings-section table:not(.cn-data-table):not(.cn-look-nextcloud *) tbody th {
|
|
@@ -1529,7 +1530,7 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
|
|
|
1529
1530
|
border-bottom: 1px solid var(--color-background-dark);
|
|
1530
1531
|
color: var(--color-main-text);
|
|
1531
1532
|
font-size: 14px;
|
|
1532
|
-
line-height: 1.
|
|
1533
|
+
line-height: 1.2;
|
|
1533
1534
|
vertical-align: middle;
|
|
1534
1535
|
}
|
|
1535
1536
|
|
|
@@ -1660,6 +1661,38 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
|
|
|
1660
1661
|
min-width: 0;
|
|
1661
1662
|
}
|
|
1662
1663
|
|
|
1664
|
+
/* A settings card's first line sits where the boards draw it: an
|
|
1665
|
+
"Uitleg tonen" link, a switch or a note adds no height beyond its text, so
|
|
1666
|
+
the first text is 16px under the subtitle (DqBeheerinstellingen
|
|
1667
|
+
"Zaak-e-mail" and "AI-ondersteunde verwerking", DqBeheerGeavanceerd "KCC"
|
|
1668
|
+
and "Storeregister": 7px and 29px lower live). The controls keep their full
|
|
1669
|
+
hit area; the negative margin only takes it out of the line.
|
|
1670
|
+
@spec openspec/changes/board-settings-first-line/specs/settings-board-look/spec.md */
|
|
1671
|
+
.cn-look-board .cn-settings-fields__hints-toggle:not(.cn-look-nextcloud *) {
|
|
1672
|
+
margin-block: -8px;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
.cn-look-board .cn-settings-field--switch:not(.cn-look-nextcloud *) > .checkbox-radio-switch {
|
|
1676
|
+
margin-block: -8px;
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
.cn-look-board .cn-settings-field--status:not(.cn-look-nextcloud *) > .notecard {
|
|
1680
|
+
margin: 0;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
/* A card's longer explanation reads as the boards' second paragraph: 14px
|
|
1684
|
+
muted at 1.5, the fields 14px under it (DqBeheerGeavanceerd "Urgentie in de
|
|
1685
|
+
werkvoorraad": 15px and 30px live). The theme sizes every paragraph through
|
|
1686
|
+
its tokens. */
|
|
1687
|
+
.cn-look-board .cn-settings-section__description-text:not(.cn-look-nextcloud *) {
|
|
1688
|
+
--nldesign-component-paragraph-font-size: 14px;
|
|
1689
|
+
--nldesign-component-paragraph-line-height: 1.5;
|
|
1690
|
+
--nldesign-component-paragraph-color: var(--color-text-maxcontrast);
|
|
1691
|
+
margin: 0;
|
|
1692
|
+
font-size: 14px;
|
|
1693
|
+
line-height: 1.5;
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1663
1696
|
@container (max-width: 400px) {
|
|
1664
1697
|
.cn-look-board .settings-section:not(.cn-look-nextcloud *) > .cn-settings-section__actions,
|
|
1665
1698
|
.cn-look-board .settings-section:not(.cn-look-nextcloud *):has(> .settings-section__desc) > .cn-settings-section__actions {
|
|
@@ -2614,6 +2647,12 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
|
|
|
2614
2647
|
font-weight: 500;
|
|
2615
2648
|
}
|
|
2616
2649
|
|
|
2650
|
+
/* A compact card keeps its 15px/700 title on a dashboard page too (DqInspectie). */
|
|
2651
|
+
.cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-record-list--compact .cn-record-list__card .cn-record-list__title {
|
|
2652
|
+
font-weight: 700;
|
|
2653
|
+
line-height: 1.2;
|
|
2654
|
+
}
|
|
2655
|
+
|
|
2617
2656
|
.cn-look-board .cn-dashboard-page:not(.cn-look-nextcloud *) .cn-record-list--compact .cn-record-list__main {
|
|
2618
2657
|
gap: 2px;
|
|
2619
2658
|
}
|
|
@@ -3472,4 +3511,5 @@ html :where(.cn-look-board) :is(h2, h3, h5, h6):where(.cn-inner-heading) {
|
|
|
3472
3511
|
.cn-look-board .cn-saved-view-share__mode:not(.cn-look-nextcloud *) {
|
|
3473
3512
|
border-radius: 8px;
|
|
3474
3513
|
background: var(--cn-board-sunken-ground);
|
|
3514
|
+
line-height: normal;
|
|
3475
3515
|
}
|
package/src/css/table.css
CHANGED
|
@@ -616,10 +616,13 @@
|
|
|
616
616
|
cursor: grab;
|
|
617
617
|
}
|
|
618
618
|
|
|
619
|
-
/* The handle before a reorderable row's name: a muted 16px grip 10px before
|
|
619
|
+
/* The handle before a reorderable row's name: a muted 16px grip 10px before
|
|
620
|
+
it. It floats, so a name that wraps in a narrow cell wraps beside the grip
|
|
621
|
+
instead of dropping under it. */
|
|
620
622
|
.cn-table-row__handle {
|
|
621
623
|
display: inline-flex;
|
|
622
|
-
|
|
624
|
+
float: inline-start;
|
|
625
|
+
margin-block-start: 1px;
|
|
623
626
|
margin-inline-end: 10px;
|
|
624
627
|
color: var(--color-text-maxcontrast);
|
|
625
628
|
cursor: grab;
|
|
@@ -60,6 +60,22 @@ export function formatLongDate(value, now = new Date(), withYear = false) {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
/**
|
|
64
|
+
* How many entries a list holds; with a key, the entries of that list in each
|
|
65
|
+
* of its entries summed (`{sections|count:items}`: the questions of every
|
|
66
|
+
* section of a checklist).
|
|
67
|
+
*
|
|
68
|
+
* @param {Array} list The list.
|
|
69
|
+
* @param {string} key The key of each entry's own list, or '' to count the entries.
|
|
70
|
+
* @return {number} The count.
|
|
71
|
+
*/
|
|
72
|
+
function countEntries(list, key) {
|
|
73
|
+
if (key === '') {
|
|
74
|
+
return list.length
|
|
75
|
+
}
|
|
76
|
+
return list.reduce((sum, entry) => sum + (entry && Array.isArray(entry[key]) ? entry[key].length : 0), 0)
|
|
77
|
+
}
|
|
78
|
+
|
|
63
79
|
/**
|
|
64
80
|
* Format one token value.
|
|
65
81
|
*
|
|
@@ -76,7 +92,7 @@ export function formatLongDate(value, now = new Date(), withYear = false) {
|
|
|
76
92
|
function formatValue(value, format, now, arg = '', object = null, config = null, formatters = null) {
|
|
77
93
|
// `{list|count}`: how many entries a list holds, nothing for an empty one.
|
|
78
94
|
if (format === 'count') {
|
|
79
|
-
const count = Array.isArray(value) ? value
|
|
95
|
+
const count = Array.isArray(value) ? countEntries(value, arg) : Number(value)
|
|
80
96
|
return Number.isFinite(count) && count > 0 ? String(count) : ''
|
|
81
97
|
}
|
|
82
98
|
if (value === null || value === undefined || value === '' || typeof value === 'object') {
|
|
@@ -160,7 +176,8 @@ function formatValue(value, format, now, arg = '', object = null, config = null,
|
|
|
160
176
|
* ("vandaag, 09.42"), `{path|ago}` says how long ago it was ("10 min
|
|
161
177
|
* geleden", "vanochtend", "vrijdag"), and `{path|days}` is the
|
|
162
178
|
* whole days since that date ("has waited {createdAt|days} days"),
|
|
163
|
-
* `{path|count}` is how many entries a list holds (nothing for an empty one
|
|
179
|
+
* `{path|count}` is how many entries a list holds (nothing for an empty one;
|
|
180
|
+
* `{path|count:key}` sums the `key` list of each entry),
|
|
164
181
|
* `{path|lower}` writes the value in lower case ("Step 2: {statusLabel|lower}"
|
|
165
182
|
* reads "Step 2: in progress" mid-sentence), and any other name is one of
|
|
166
183
|
* the app's formatters, passed as `context.formatters` (`{id|caseAddress}`).
|