lintje 0.2.0 → 0.4.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/README.md +2 -2
- package/dist-elements/actions.js +1 -1
- package/dist-elements/chunks/{base-Bg-IFOPG.js → base-DRGvkF-r.js} +484 -309
- package/dist-elements/chunks/{controls-B1455oPG.js → controls-_4ac1Lpz.js} +7 -1
- package/dist-elements/chunks/{date-format-mHtZyBys.js → date-format-DxP9yfDp.js} +1 -1
- package/dist-elements/chunks/dialog-B7aRBtjy.js +28 -0
- package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
- package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DirPLy2E.js} +6 -6
- package/dist-elements/chunks/download-C68kcwPj.js +206 -0
- package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-Dv8zu64A.js} +1 -1
- package/dist-elements/chunks/input-BGMLam-O.js +195 -0
- package/dist-elements/chunks/input-lQTmOMOz.js +4 -0
- package/dist-elements/chunks/{player-DXOZEyEy.js → player-BApadXr8.js} +27 -27
- package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-0wO85ZdJ.js} +3 -3
- package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BB_gcxBI.js} +88 -74
- package/dist-elements/content.js +1 -0
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +8858 -7715
- package/dist-elements/data-types.json +6900 -0
- package/dist-elements/feedback.js +2 -1
- package/dist-elements/frame.js +0 -2
- package/dist-elements/guides/dashboard.md +8 -0
- package/dist-elements/guides/events.md +4 -5
- package/dist-elements/guides/loading.md +10 -9
- package/dist-elements/guides/page-contents.md +110 -0
- package/dist-elements/guides/start.md +12 -0
- package/dist-elements/inputs.js +3 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +8562 -7138
- package/dist-elements/overlays.js +2 -2
- package/dist-elements/skills/lintje/SKILL.md +1 -1
- package/dist-elements/tables.js +1 -1
- package/dist-elements/tag/activity-log.js +15 -15
- package/dist-elements/tag/ai-label.js +10 -10
- package/dist-elements/tag/announcement.js +36 -76
- package/dist-elements/tag/app-search.js +49 -49
- package/dist-elements/tag/audio-player.js +57 -57
- package/dist-elements/tag/badge.d.ts +1 -1
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +15 -15
- package/dist-elements/tag/button.d.ts +1 -1
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +12 -12
- package/dist-elements/tag/card.js +39 -44
- package/dist-elements/tag/chart.js +1357 -787
- package/dist-elements/tag/chat-answer.js +49 -49
- package/dist-elements/tag/chat-composer.js +75 -71
- package/dist-elements/tag/chat-message.js +8 -8
- package/dist-elements/tag/chat-strip.js +22 -22
- package/dist-elements/tag/chat-suggestions.js +12 -12
- package/dist-elements/tag/chat.js +56 -56
- package/dist-elements/tag/checkbox-group.d.ts +1 -0
- package/dist-elements/tag/checkbox-group.js +60 -0
- package/dist-elements/tag/checkbox.js +9 -8
- package/dist-elements/tag/code.js +9 -9
- package/dist-elements/tag/combobox.js +19 -18
- package/dist-elements/tag/conflict-alert.js +12 -12
- package/dist-elements/tag/copy-button.js +14 -14
- package/dist-elements/tag/data-table.js +880 -532
- package/dist-elements/tag/date-input.js +30 -29
- package/dist-elements/tag/date-range.js +39 -38
- package/dist-elements/tag/description-list.js +29 -32
- package/dist-elements/tag/dialog.d.ts +1 -0
- package/dist-elements/tag/dialog.js +144 -0
- package/dist-elements/tag/document-viewer.js +23 -23
- package/dist-elements/tag/drawer.js +28 -32
- package/dist-elements/tag/empty-state.js +19 -30
- package/dist-elements/tag/error-page.d.ts +1 -0
- package/dist-elements/tag/error-page.js +109 -0
- package/dist-elements/tag/error-summary.js +10 -10
- package/dist-elements/tag/expander.js +8 -8
- package/dist-elements/tag/explainer.js +11 -11
- package/dist-elements/tag/field.js +5 -5
- package/dist-elements/tag/file-upload.js +35 -34
- package/dist-elements/tag/filter-bar.js +56 -56
- package/dist-elements/tag/filter-sheet.js +11 -11
- package/dist-elements/tag/filter-zone.js +31 -31
- package/dist-elements/tag/find.d.ts +1 -0
- package/dist-elements/tag/find.js +128 -0
- package/dist-elements/tag/footer.js +21 -21
- package/dist-elements/tag/form-actions.js +29 -25
- package/dist-elements/tag/form-section.js +6 -6
- package/dist-elements/tag/form.js +12 -12
- package/dist-elements/tag/gallery.js +14 -14
- package/dist-elements/tag/grid-item.d.ts +1 -1
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.d.ts +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +12 -12
- package/dist-elements/tag/highlight.js +5 -5
- package/dist-elements/tag/icon-button.d.ts +1 -1
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.d.ts +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +22 -44
- package/dist-elements/tag/kpi-row.js +12 -10
- package/dist-elements/tag/kpi.js +149 -140
- package/dist-elements/tag/level-meter.js +11 -11
- package/dist-elements/tag/list.js +55 -55
- package/dist-elements/tag/logo.js +30 -30
- package/dist-elements/tag/map.js +702 -671
- package/dist-elements/tag/menu-button.js +70 -69
- package/dist-elements/tag/modal.js +28 -37
- package/dist-elements/tag/multiselect.js +35 -34
- package/dist-elements/tag/note.js +5 -5
- package/dist-elements/tag/notifications.js +36 -36
- package/dist-elements/tag/number-input.js +13 -12
- package/dist-elements/tag/page-header.js +140 -37
- package/dist-elements/tag/pagination.js +54 -49
- package/dist-elements/tag/popover.d.ts +1 -1
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.d.ts +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +6 -6
- package/dist-elements/tag/qr-code.js +7 -7
- package/dist-elements/tag/radio-group.js +13 -12
- package/dist-elements/tag/range.js +23 -22
- package/dist-elements/tag/recording-status.js +14 -14
- package/dist-elements/tag/repeater.js +10 -10
- package/dist-elements/tag/segmented.js +14 -13
- package/dist-elements/tag/select.js +11 -10
- package/dist-elements/tag/shell.js +356 -339
- package/dist-elements/tag/skeleton.d.ts +1 -1
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +16 -15
- package/dist-elements/tag/sortable-list.js +14 -14
- package/dist-elements/tag/spinner.d.ts +1 -1
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +12 -12
- package/dist-elements/tag/status-dot.d.ts +1 -1
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +21 -21
- package/dist-elements/tag/streaming-text.js +13 -13
- package/dist-elements/tag/sub-nav.js +39 -38
- package/dist-elements/tag/tabs.js +38 -38
- package/dist-elements/tag/tag-input.js +20 -19
- package/dist-elements/tag/text-editor.js +25 -24
- package/dist-elements/tag/text-input.js +15 -14
- package/dist-elements/tag/textarea.js +15 -14
- package/dist-elements/tag/tile.d.ts +1 -1
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +20 -19
- package/dist-elements/tag/toast.js +32 -23
- package/dist-elements/tag/toggle.js +9 -8
- package/dist-elements/tag/toggletip.js +27 -27
- package/dist-elements/tag/token-value.d.ts +1 -0
- package/dist-elements/tag/token-value.js +75 -0
- package/dist-elements/tag/tooltip.d.ts +1 -1
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +48 -48
- package/dist-elements/tag/translator.js +13 -13
- package/dist-elements/tag/tree-view.js +13 -13
- package/dist-elements/tag/user-menu.js +37 -37
- package/dist-elements/tag/video-player.js +21 -21
- package/dist-elements/tokens.css +120 -96
- package/dist-elements/tokens.json +1244 -0
- package/dist-elements/types/bundle/actions.d.ts +3 -3
- package/dist-elements/types/bundle/content.d.ts +1 -0
- package/dist-elements/types/bundle/feedback.d.ts +6 -5
- package/dist-elements/types/bundle/frame.d.ts +0 -2
- package/dist-elements/types/bundle/index.d.ts +0 -10
- package/dist-elements/types/bundle/inputs.d.ts +2 -0
- package/dist-elements/types/bundle/layout.d.ts +3 -3
- package/dist-elements/types/bundle/overlays.d.ts +3 -3
- package/dist-elements/types/categories.d.ts +4 -0
- package/dist-elements/types/{primitives → components/actions}/button/button.d.ts +13 -10
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +8 -9
- package/dist-elements/types/{icons → components/actions}/icon/icon.d.ts +4 -5
- package/dist-elements/types/{primitives → components/actions}/icon-button/icon-button.d.ts +8 -6
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +16 -18
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +10 -10
- package/dist-elements/types/components/charts/chart/chart.d.ts +6 -5
- package/dist-elements/types/components/charts/explainer/explainer.d.ts +1 -1
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +19 -11
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +2 -8
- package/dist-elements/types/components/charts/note/note.d.ts +2 -2
- package/dist-elements/types/components/chat/chat/chat.d.ts +9 -11
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +10 -11
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +10 -12
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +7 -8
- package/dist-elements/types/components/chat/chat-strip/chat-strip.d.ts +5 -5
- package/dist-elements/types/components/chat/chat-suggestions/chat-suggestions.d.ts +9 -10
- package/dist-elements/types/components/content/audio-player/audio-player.d.ts +15 -17
- package/dist-elements/types/components/content/code/code.d.ts +3 -4
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +10 -11
- package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
- package/dist-elements/types/components/content/highlight/highlight.d.ts +5 -4
- package/dist-elements/types/components/content/prose/prose.d.ts +3 -4
- package/dist-elements/types/components/content/token-value/token-value.d.ts +42 -0
- package/dist-elements/types/components/content/transcript/transcript.d.ts +15 -28
- package/dist-elements/types/components/content/translator/translator.d.ts +12 -16
- package/dist-elements/types/components/content/video-player/video-player.d.ts +12 -14
- package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +5 -9
- package/dist-elements/types/{primitives → components/feedback}/badge/badge.d.ts +10 -6
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +4 -5
- package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +5 -8
- package/dist-elements/types/components/feedback/error-page/error-page.d.ts +52 -0
- package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -12
- package/dist-elements/types/components/feedback/level-meter/level-meter.d.ts +4 -6
- package/dist-elements/types/{primitives → components/feedback}/progress-bar/progress-bar.d.ts +9 -7
- package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
- package/dist-elements/types/{primitives → components/feedback}/skeleton/skeleton.d.ts +2 -2
- package/dist-elements/types/{primitives → components/feedback}/spinner/spinner.d.ts +2 -3
- package/dist-elements/types/{primitives → components/feedback}/status-dot/status-dot.d.ts +5 -6
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +12 -9
- package/dist-elements/types/components/feedback/toast/toast.d.ts +8 -9
- package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +9 -4
- package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +7 -7
- package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +4 -4
- package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +6 -7
- package/dist-elements/types/components/forms/form/form.d.ts +5 -5
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +10 -8
- package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +15 -9
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +6 -5
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +7 -8
- package/dist-elements/types/components/frame/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist-elements/types/components/frame/footer/footer.d.ts +3 -2
- package/dist-elements/types/components/frame/hero/hero.d.ts +7 -9
- package/dist-elements/types/components/frame/notifications/notifications.d.ts +7 -11
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +13 -16
- package/dist-elements/types/components/frame/shell/shell.d.ts +15 -14
- package/dist-elements/types/components/frame/sub-nav/sub-nav.d.ts +10 -6
- package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +13 -12
- package/dist-elements/types/components/index.d.ts +51 -12
- package/dist-elements/types/components/inputs/checkbox/checkbox.d.ts +4 -4
- package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +33 -0
- package/dist-elements/types/components/inputs/combobox/combobox.d.ts +14 -8
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +6 -6
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +13 -8
- package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +8 -10
- package/dist-elements/types/components/inputs/find/find.d.ts +51 -0
- package/dist-elements/types/components/inputs/multiselect/multiselect.d.ts +4 -6
- package/dist-elements/types/components/inputs/number-input/number-input.d.ts +8 -7
- package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +2 -4
- package/dist-elements/types/components/inputs/range/range.d.ts +5 -6
- package/dist-elements/types/components/inputs/segmented/segmented.d.ts +7 -4
- package/dist-elements/types/components/inputs/select/select.d.ts +6 -3
- package/dist-elements/types/components/inputs/shared/input.d.ts +1 -1
- package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +6 -5
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +8 -6
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +8 -8
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +12 -7
- package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +8 -9
- package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +10 -11
- package/dist-elements/types/{primitives → components/layout}/grid/grid.d.ts +4 -4
- package/dist-elements/types/{primitives → components/layout}/grid-item/grid-item.d.ts +2 -2
- package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +12 -10
- package/dist-elements/types/{primitives → components/layout}/tile/tile.d.ts +22 -10
- package/dist-elements/types/components/map/map/map.d.ts +12 -11
- package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
- package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
- package/dist-elements/types/components/overlays/modal/modal.d.ts +9 -14
- package/dist-elements/types/{primitives → components/overlays}/popover/popover.d.ts +7 -6
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +4 -8
- package/dist-elements/types/{primitives → components/overlays}/tooltip/tooltip.d.ts +8 -8
- package/dist-elements/types/components/shared/announcement-block.d.ts +38 -0
- package/dist-elements/types/components/shared/charts/index.d.ts +5 -1
- package/dist-elements/types/components/shared/charts/kinds.d.ts +92 -0
- package/dist-elements/types/components/shared/charts/line-chart/line-chart.d.ts +2 -2
- package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +5 -0
- package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/radar-chart/radar-chart.d.ts +31 -0
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +3 -1
- package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +12 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +62 -0
- package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
- package/dist-elements/types/components/shared/content-tile.d.ts +1 -1
- package/dist-elements/types/components/{forms/form → shared}/controls.d.ts +3 -2
- package/dist-elements/types/components/shared/dialog.d.ts +9 -0
- package/dist-elements/types/components/shared/empty-state-block.d.ts +26 -0
- package/dist-elements/types/components/shared/overflow.d.ts +58 -0
- package/dist-elements/types/components/shared/tone.d.ts +18 -0
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +3 -4
- package/dist-elements/types/components/tables/card/card.d.ts +17 -23
- package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
- package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +88 -19
- package/dist-elements/types/components/tables/data-table/editing.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/filters.d.ts +15 -6
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +13 -12
- package/dist-elements/types/components/tables/list/list.d.ts +13 -24
- package/dist-elements/types/components/tables/pagination/pagination.d.ts +12 -11
- package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +5 -6
- package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +5 -5
- package/dist-elements/types/core/focus.d.ts +1 -1
- package/dist-elements/types/core/media.d.ts +2 -2
- package/dist-elements/types/core/motion.d.ts +5 -0
- package/dist-elements/types/core/print.d.ts +15 -0
- package/dist-elements/types/core/shortcuts.d.ts +2 -2
- package/dist-elements/types/icons/register.d.ts +1 -1
- package/dist-elements/types/types.d.ts +70 -10
- package/dist-icons/functioneel-kolommen.svg +1 -0
- package/dist-icons/functioneel-trechter.svg +1 -0
- package/package.json +1 -1
- package/dist-elements/chunks/confirm-dialog-D5EVGuil.js +0 -4
- package/dist-elements/chunks/download-y528pIHP.js +0 -230
- package/dist-elements/chunks/input-BtuNFSWk.js +0 -195
- package/dist-elements/tag/confirm-dialog.d.ts +0 -1
- package/dist-elements/tag/confirm-dialog.js +0 -118
- package/dist-elements/tag/session-expiry.d.ts +0 -1
- package/dist-elements/tag/session-expiry.js +0 -184
- package/dist-elements/tag/shortcuts.d.ts +0 -1
- package/dist-elements/tag/shortcuts.js +0 -104
- package/dist-elements/types/components/frame/session-expiry/session-expiry.d.ts +0 -55
- package/dist-elements/types/components/frame/shortcuts/shortcuts.d.ts +0 -41
- package/dist-elements/types/components/overlays/confirm-dialog/confirm-dialog.d.ts +0 -41
- package/dist-elements/types/primitives/index.d.ts +0 -33
- /package/dist-elements/types/components/content/{audio-player → shared}/playback.d.ts +0 -0
- /package/dist-elements/types/components/content/{audio-player → shared}/player.d.ts +0 -0
- /package/dist-elements/types/components/{inputs/date-input → shared}/date-format.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/grid-item-element.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/length.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/place.d.ts +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as m } from "../chunks/focus-trap-
|
|
1
|
+
import { H as e, Jt as t, Kt as n, Q as r, Yt as i, Z as a, Zt as o, bt as s, en as c, h as l, lt as u, nn as d, st as f, ut as p } from "../chunks/base-DRGvkF-r.js";
|
|
2
|
+
import { n as m } from "../chunks/focus-trap-Dv8zu64A.js";
|
|
3
3
|
import "./menu-button.js";
|
|
4
4
|
import "./empty-state.js";
|
|
5
5
|
import "./text-input.js";
|
|
6
6
|
//#region src/components/tables/list/list.css?inline
|
|
7
|
-
var h = "/* The action is a `lintje-menu-button`; here it is only shown or hidden, never restyled. */\n:host { display: block; min-width: 0; container-type: inline-size; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-list {\n list-style: none; margin: 0; padding: 0;\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n\n.lintje-list__row {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto auto;\n grid-template-areas: 'main facts actions';\n align-items: center;\n column-gap: var(--space-3);\n min-height: var(--h-target);\n padding: 10px var(--lintje-inset, var(--space-3));\n border-bottom: 1px solid var(--color-border-default);\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-list__row.has-icon {\n grid-template-columns: auto minmax(0, 1fr) auto auto;\n grid-template-areas: 'icon main facts actions';\n}\n/* Renaming in place: the field and its two buttons take the whole row. */\n.lintje-list__row.is-renaming { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'main'; }\n.lintje-list__rename { grid-area: main; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }\n/* The field is as low as the buttons under it: a name in a row, not a form. */\n.lintje-list__rename lintje-text-input { --h-control: var(--h-button-compact); }\n.lintje-list__rename-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); }\n/* A data colour along the row says whose it is; the title beside it names it. */\n.lintje-list__row.has-swatch {\n position: relative;\n padding-left: calc(var(--lintje-inset, var(--space-3)) + var(--space-2));\n}\n.lintje-list__row.has-swatch::before {\n content: '';\n position: absolute;\n top: var(--space-2);\n bottom: var(--space-2);\n left: 0;\n width: var(--space-1);\n background: var(--lintje-swatch);\n}\n.lintje-list__row:hover { background: var(--color-bg-subtle); }\n.lintje-list__row.is-static { cursor: auto; }\n.lintje-list__row.is-static:hover { background: none; }\n.lintje-list__row.is-selected {\n background: var(--color-bg-selected);\n box-shadow: inset 4px 0 0 var(--color-accent-line);\n}\n/* The ring goes inside the whole row: the outside would be cut off by the list's container. */\n.lintje-list__row:has(.lintje-list__title:focus-visible) {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n.lintje-list__title:focus-visible { outline: none; }\n\n.lintje-list__main {\n grid-area: main;\n display: flex; flex-direction: column;\n min-width: 0;\n}\n/* One line, so every row is as high as the next, where a pointer finds the whole title in the\n tooltip; below 768 px, without hover and under the keyboard's focus it wraps. Dark, not\n the link colour: the row is the target, and a column of blue reads as a column of links. */\n.lintje-list__title {\n align-self: flex-start;\n display: block;\n max-width: 100%;\n overflow: hidden;\n font: var(--text-ui);\n font-weight: 700;\n color: var(--color-text-primary);\n text-align: left;\n text-decoration: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n/* A tooltip needs a pointer: with the keyboard on the title, or the focus in a row whose title is\n no stop, the whole title stands in it. */\n.lintje-list__row:has(.lintje-list__title:focus-visible) .lintje-list__title,\n.lintje-list__row.is-static:focus-within .lintje-list__title { white-space: normal; overflow-wrap: anywhere; }\n.lintje-list__row:not(.is-static):hover .lintje-list__title,\n.lintje-list__title[href]:hover { text-decoration: underline; }\n.lintje-list__sub { font: var(--text-small); color: var(--color-text-muted); }\n.lintje-list__progress { margin-top: var(--space-1); }\n.lintje-list__icon { grid-area: icon; color: var(--color-text-muted); }\n.lintje-list__facts { grid-area: facts; display: flex; align-items: center; gap: var(--space-3); }\n.lintje-list__meta {\n font: var(--text-meta);\n color: var(--color-text-muted);\n white-space: nowrap;\n}\n.lintje-list__actions { grid-area: actions; display: flex; align-items: center; gap: var(--space-1); }\n.lintje-list__link {\n display: inline-flex;\n align-items: center;\n min-height: var(--h-target);\n font: var(--text-ui);\n font-weight: 700;\n color: var(--color-link);\n text-decoration: underline;\n}\n.lintje-list__link:hover { color: var(--color-link-hover); }\n\n/* A run's heading: the moment its rows share. The list under it draws no second top line. */\n.lintje-list__group {\n padding: var(--space-2) var(--lintje-inset, var(--space-3));\n border-top: 1px solid var(--color-border-default);\n border-bottom: 1px solid var(--color-border-default);\n background: var(--color-bg-subtle);\n font: var(--text-meta);\n font-weight: 700;\n color: var(--color-text-muted);\n}\n.lintje-list__group + .lintje-list,\n.lintje-list + .lintje-list__group,\n.lintje-list + .lintje-list { border-top: 0; }\n\n@media (hover: hover) {\n .lintje-list__action { opacity: 0; transition: opacity var(--dur-hover) var(--ease-in-motion); }\n .lintje-list__row:hover .lintje-list__action,\n .lintje-list__row:focus-within .lintje-list__action,\n .lintje-list__action[open] { opacity: 1; }\n}\n\n@media (max-width: 767px) {\n .lintje-list__row {\n grid-template-columns: minmax(0, 1fr) auto;\n grid-template-areas: 'main actions' 'facts actions';\n }\n .lintje-list__row.has-icon {\n grid-template-columns: auto minmax(0, 1fr) auto;\n grid-template-areas: 'icon main actions' 'icon facts actions';\n }\n .lintje-list__icon { align-self: start; }\n .lintje-list__facts { flex-wrap: wrap; gap: var(--space-1) var(--space-2); margin-top: var(--space-2); }\n .lintje-list__meta { white-space: normal; }\n .lintje-list__action { opacity: 1; }\n}\n\n/* A narrow column beside other content: the same two lines as on a phone. */\n@container (max-width: 32rem) {\n .lintje-list__row {\n grid-template-columns: minmax(0, 1fr) auto;\n grid-template-areas: 'main actions' 'facts actions';\n }\n .lintje-list__row.has-icon {\n grid-template-columns: auto minmax(0, 1fr) auto;\n grid-template-areas: 'icon main actions' 'icon facts actions';\n }\n .lintje-list__icon { align-self: start; }\n .lintje-list__facts { flex-wrap: wrap; gap: var(--space-1) var(--space-2); margin-top: var(--space-2); }\n .lintje-list__meta { white-space: normal; }\n}\n\n/* Below 768 px (set from script) and without hover there is no tooltip: the title wraps. */\n.lintje-list__row.is-narrow .lintje-list__title { white-space: normal; overflow-wrap: anywhere; }\n@media (hover: none) {\n .lintje-list__title { white-space: normal; overflow-wrap: anywhere; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-list__row,\n .lintje-list__action { transition: none; }\n}\n\n/* Forced colours: the fill and inset bar are dropped. The bar becomes a real border (Canvas at\n rest, Highlight when chosen), so choosing a row moves nothing. */\n@media (forced-colors: active) {\n .lintje-list__row { border-left: 4px solid Canvas; }\n .lintje-list__row.is-selected { border-left-color: Highlight; }\n}\n";
|
|
7
|
+
var h = "/* The action is a `lintje-menu-button`; here it is only shown or hidden, never restyled. */\n:host { display: block; min-width: 0; container-type: inline-size; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-list {\n list-style: none; margin: 0; padding: 0;\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n\n.lintje-list__row {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto auto;\n grid-template-areas: 'main facts actions';\n align-items: center;\n column-gap: var(--space-3);\n min-height: var(--h-target);\n padding: 10px var(--lintje-inset, var(--space-3));\n border-bottom: 1px solid var(--color-border-default);\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-list__row.has-icon {\n grid-template-columns: auto minmax(0, 1fr) auto auto;\n grid-template-areas: 'icon main facts actions';\n}\n/* Renaming in place: the field and its two buttons take the whole row. */\n.lintje-list__row.is-renaming { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'main'; }\n.lintje-list__rename { grid-area: main; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }\n/* The field is as low as the buttons under it: a name in a row, not a form. */\n.lintje-list__rename lintje-text-input { --h-control: var(--h-button-compact); }\n.lintje-list__rename-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); }\n/* A data colour along the row says whose it is; the title beside it names it. */\n.lintje-list__row.has-swatch {\n position: relative;\n padding-left: calc(var(--lintje-inset, var(--space-3)) + var(--space-2));\n}\n.lintje-list__row.has-swatch::before {\n content: '';\n position: absolute;\n top: var(--space-2);\n bottom: var(--space-2);\n left: 0;\n width: var(--space-1);\n background: var(--lintje-swatch);\n}\n.lintje-list__row:hover { background: var(--color-bg-subtle); }\n.lintje-list__row.is-static { cursor: auto; }\n.lintje-list__row.is-static:hover { background: none; }\n.lintje-list__row.is-selected {\n background: var(--color-bg-selected);\n box-shadow: inset 4px 0 0 var(--color-accent-line);\n}\n/* The ring goes inside the whole row: the outside would be cut off by the list's container. */\n.lintje-list__row:has(.lintje-list__title:focus-visible) {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n.lintje-list__title:focus-visible { outline: none; }\n\n.lintje-list__main {\n grid-area: main;\n display: flex; flex-direction: column;\n min-width: 0;\n}\n/* One line, so every row is as high as the next, where a pointer finds the whole title in the\n tooltip; below 768 px, without hover and under the keyboard's focus it wraps. Dark, not\n the link colour: the row is the target, and a column of blue reads as a column of links. */\n.lintje-list__title {\n align-self: flex-start;\n display: block;\n max-width: 100%;\n overflow: hidden;\n font: var(--text-ui);\n font-weight: 700;\n color: var(--color-text-primary);\n text-align: left;\n text-decoration: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n/* A tooltip needs a pointer: with the keyboard on the title, or the focus in a row whose title is\n no stop, the whole title stands in it. */\n.lintje-list__row:has(.lintje-list__title:focus-visible) .lintje-list__title,\n.lintje-list__row.is-static:focus-within .lintje-list__title { white-space: normal; overflow-wrap: anywhere; }\n.lintje-list__row:not(.is-static):hover .lintje-list__title,\n.lintje-list__title[href]:hover { text-decoration: underline; }\n.lintje-list__sub { font: var(--text-small); color: var(--color-text-muted); }\n.lintje-list__progress { margin-top: var(--space-1); }\n.lintje-list__icon { grid-area: icon; color: var(--color-text-muted); }\n.lintje-list__facts { grid-area: facts; display: flex; align-items: center; gap: var(--space-3); }\n.lintje-list__meta {\n font: var(--text-meta);\n color: var(--color-text-muted);\n white-space: nowrap;\n}\n.lintje-list__actions { grid-area: actions; display: flex; align-items: center; gap: var(--space-1); }\n.lintje-list__link {\n display: inline-flex;\n align-items: center;\n min-height: var(--h-target);\n font: var(--text-ui);\n font-weight: 700;\n color: var(--color-link);\n text-decoration: underline;\n}\n.lintje-list__link:hover { color: var(--color-link-hover); }\n\n/* A run's heading: the moment its rows share. The list under it draws no second top line. */\n.lintje-list__group {\n padding: var(--space-2) var(--lintje-inset, var(--space-3));\n border-top: 1px solid var(--color-border-default);\n border-bottom: 1px solid var(--color-border-default);\n background: var(--color-bg-subtle);\n font: var(--text-meta);\n font-weight: 700;\n color: var(--color-text-muted);\n}\n.lintje-list__group + .lintje-list,\n.lintje-list + .lintje-list__group,\n.lintje-list + .lintje-list { border-top: 0; }\n\n@media (hover: hover) {\n .lintje-list__action { opacity: 0; transition: opacity var(--dur-hover) var(--ease-in-motion); }\n .lintje-list__row:hover .lintje-list__action,\n .lintje-list__row:focus-within .lintje-list__action,\n .lintje-list__action[open] { opacity: 1; }\n}\n\n@media screen and (max-width: 767px) {\n .lintje-list__row {\n grid-template-columns: minmax(0, 1fr) auto;\n grid-template-areas: 'main actions' 'facts actions';\n }\n .lintje-list__row.has-icon {\n grid-template-columns: auto minmax(0, 1fr) auto;\n grid-template-areas: 'icon main actions' 'icon facts actions';\n }\n .lintje-list__icon { align-self: start; }\n .lintje-list__facts { flex-wrap: wrap; gap: var(--space-1) var(--space-2); margin-top: var(--space-2); }\n .lintje-list__meta { white-space: normal; }\n .lintje-list__action { opacity: 1; }\n}\n\n/* A narrow column beside other content: the same two lines as on a phone. */\n@container (max-width: 32rem) {\n .lintje-list__row {\n grid-template-columns: minmax(0, 1fr) auto;\n grid-template-areas: 'main actions' 'facts actions';\n }\n .lintje-list__row.has-icon {\n grid-template-columns: auto minmax(0, 1fr) auto;\n grid-template-areas: 'icon main actions' 'icon facts actions';\n }\n .lintje-list__icon { align-self: start; }\n .lintje-list__facts { flex-wrap: wrap; gap: var(--space-1) var(--space-2); margin-top: var(--space-2); }\n .lintje-list__meta { white-space: normal; }\n}\n\n/* Below 768 px (set from script) and without hover there is no tooltip: the title wraps. */\n.lintje-list__row.is-narrow .lintje-list__title { white-space: normal; overflow-wrap: anywhere; }\n@media (hover: none) {\n .lintje-list__title { white-space: normal; overflow-wrap: anywhere; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-list__row,\n .lintje-list__action { transition: none; }\n}\n\n/* Forced colours: the fill and inset bar are dropped. The bar becomes a real border (Canvas at\n rest, Highlight when chosen), so choosing a row moves nothing. */\n@media (forced-colors: active) {\n .lintje-list__row { border-left: 4px solid Canvas; }\n .lintje-list__row.is-selected { border-left-color: Highlight; }\n}\n";
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/components/tables/list/list.ts
|
|
10
10
|
function g(e) {
|
|
@@ -18,12 +18,12 @@ function g(e) {
|
|
|
18
18
|
}
|
|
19
19
|
return t;
|
|
20
20
|
}
|
|
21
|
-
var _ = class extends
|
|
21
|
+
var _ = class extends t {
|
|
22
22
|
constructor(...e) {
|
|
23
|
-
super(...e), this.#e = new
|
|
23
|
+
super(...e), this.#e = new n(this), this.items = [], this.emptyText = "Er is hier nog niets.", this.headingLevel = 3, this.held = null, this.renaming = null;
|
|
24
24
|
}
|
|
25
25
|
static {
|
|
26
|
-
this.styles = [
|
|
26
|
+
this.styles = [u, o(h)];
|
|
27
27
|
}
|
|
28
28
|
#e;
|
|
29
29
|
static {
|
|
@@ -55,20 +55,20 @@ var _ = class extends p {
|
|
|
55
55
|
return (t ? [n, ...r] : [...r, n]).filter((e) => e !== null);
|
|
56
56
|
}
|
|
57
57
|
heldFocus(e) {
|
|
58
|
-
let t = this.rowElements(), n = t.findIndex((e) =>
|
|
59
|
-
if (
|
|
58
|
+
let t = this.rowElements(), n = t.findIndex((e) => r(e)), i = t[n];
|
|
59
|
+
if (i?.classList.contains("is-renaming")) return {
|
|
60
60
|
items: e,
|
|
61
61
|
index: n,
|
|
62
|
-
control:
|
|
62
|
+
control: i,
|
|
63
63
|
onTitle: !0,
|
|
64
64
|
renaming: !0
|
|
65
65
|
};
|
|
66
|
-
let
|
|
67
|
-
return !
|
|
66
|
+
let a = i && this.controls(i).find((e) => r(e));
|
|
67
|
+
return !i || !a ? null : {
|
|
68
68
|
items: e,
|
|
69
69
|
index: n,
|
|
70
|
-
control:
|
|
71
|
-
onTitle:
|
|
70
|
+
control: a,
|
|
71
|
+
onTitle: a.classList.contains("lintje-list__title")
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
landing(e) {
|
|
@@ -89,18 +89,18 @@ var _ = class extends p {
|
|
|
89
89
|
let t = this.landing(e);
|
|
90
90
|
if (!t) return;
|
|
91
91
|
await t.updateComplete;
|
|
92
|
-
let n =
|
|
92
|
+
let n = a();
|
|
93
93
|
n && n !== document.body && n.isConnected || m(t).focus();
|
|
94
94
|
}
|
|
95
95
|
updated(e) {
|
|
96
96
|
super.updated(e);
|
|
97
97
|
let t = this.held;
|
|
98
|
-
this.held = null, t && !(t.control.isConnected &&
|
|
98
|
+
this.held = null, t && !(t.control.isConnected && r(t.control)) && !r(this) && this.refocus(t);
|
|
99
99
|
let n = this.items.find((e) => e.rename)?.id ?? null;
|
|
100
100
|
if (n === this.renaming || (this.renaming = n, !n)) return;
|
|
101
|
-
let
|
|
102
|
-
|
|
103
|
-
let e =
|
|
101
|
+
let i = this.renderRoot.querySelector(".lintje-list__rename lintje-text-input");
|
|
102
|
+
i?.updateComplete.then(() => {
|
|
103
|
+
let e = i.shadowRoot?.querySelector("input");
|
|
104
104
|
e?.focus(), e?.select();
|
|
105
105
|
});
|
|
106
106
|
}
|
|
@@ -113,13 +113,13 @@ var _ = class extends p {
|
|
|
113
113
|
}
|
|
114
114
|
renderRename(e) {
|
|
115
115
|
return d`<li
|
|
116
|
-
class=${
|
|
116
|
+
class=${f({
|
|
117
117
|
"lintje-list__row": !0,
|
|
118
118
|
"is-static": !0,
|
|
119
119
|
"is-renaming": !0,
|
|
120
120
|
"has-swatch": !!e.swatch
|
|
121
121
|
})}
|
|
122
|
-
${
|
|
122
|
+
${s({ "--lintje-swatch": e.swatch ? `var(--color-chart-${e.swatch})` : null })}
|
|
123
123
|
>
|
|
124
124
|
<div
|
|
125
125
|
class="lintje-list__rename"
|
|
@@ -132,7 +132,7 @@ var _ = class extends p {
|
|
|
132
132
|
label=${`Nieuwe naam voor ${e.title}`}
|
|
133
133
|
hide-label
|
|
134
134
|
value=${e.title}
|
|
135
|
-
error=${e.rename?.error ||
|
|
135
|
+
error=${e.rename?.error || c}
|
|
136
136
|
></lintje-text-input>
|
|
137
137
|
<div class="lintje-list__rename-actions">
|
|
138
138
|
<lintje-button variant="primary" size="compact" @click=${() => this.saveRename(e)}
|
|
@@ -158,11 +158,11 @@ var _ = class extends p {
|
|
|
158
158
|
label: e.title
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
|
-
onRowClick(
|
|
162
|
-
let
|
|
163
|
-
if (
|
|
164
|
-
let
|
|
165
|
-
(!
|
|
161
|
+
onRowClick(t, n) {
|
|
162
|
+
let r = t.composedPath();
|
|
163
|
+
if (r.some((e) => e instanceof HTMLElement && e.dataset.part === "action")) return;
|
|
164
|
+
let i = n.href && r.some((e) => e instanceof HTMLAnchorElement);
|
|
165
|
+
(!i || e(t)) && (!this.emit("lintje-row-click", this.detail(n)) || !i) && t.preventDefault();
|
|
166
166
|
}
|
|
167
167
|
onAction(e, t) {
|
|
168
168
|
e.stopPropagation(), this.emit("lintje-row-action", {
|
|
@@ -172,7 +172,7 @@ var _ = class extends p {
|
|
|
172
172
|
});
|
|
173
173
|
}
|
|
174
174
|
renderTitle(e) {
|
|
175
|
-
let t = e.id === this.selectedId ? "true" :
|
|
175
|
+
let t = e.id === this.selectedId ? "true" : c;
|
|
176
176
|
return e.href ? d`<a
|
|
177
177
|
class="lintje-list__title"
|
|
178
178
|
href=${e.href}
|
|
@@ -192,9 +192,9 @@ var _ = class extends p {
|
|
|
192
192
|
}
|
|
193
193
|
renderAction(e) {
|
|
194
194
|
let t = e.action;
|
|
195
|
-
if (!t) return
|
|
196
|
-
let
|
|
197
|
-
return t.href ? d`<a class="lintje-list__link" data-part="action" href=${t.href}>${
|
|
195
|
+
if (!t) return c;
|
|
196
|
+
let n = d`${t.label}<span class="visually-hidden"> ${e.title}</span>`;
|
|
197
|
+
return t.href ? d`<a class="lintje-list__link" data-part="action" href=${t.href}>${n}</a>` : d`<lintje-button
|
|
198
198
|
variant="link"
|
|
199
199
|
size="compact"
|
|
200
200
|
data-part="action"
|
|
@@ -203,47 +203,47 @@ var _ = class extends p {
|
|
|
203
203
|
label: e.title,
|
|
204
204
|
value: t.value
|
|
205
205
|
})}
|
|
206
|
-
>${
|
|
206
|
+
>${n}</lintje-button
|
|
207
207
|
>`;
|
|
208
208
|
}
|
|
209
209
|
row(e) {
|
|
210
210
|
if (e.rename) return this.renderRename(e);
|
|
211
|
-
let t = e.id === this.selectedId,
|
|
211
|
+
let t = e.id === this.selectedId, n = e.clickable !== !1, r = (e.actions?.length ?? 0) > 0, i = typeof e.progress == "number" && !Number.isNaN(e.progress);
|
|
212
212
|
return d`<li
|
|
213
|
-
class=${
|
|
213
|
+
class=${f({
|
|
214
214
|
"lintje-list__row": !0,
|
|
215
215
|
"is-selected": t,
|
|
216
|
-
"is-static": !
|
|
216
|
+
"is-static": !n,
|
|
217
217
|
"has-icon": !!e.icon,
|
|
218
|
-
"has-actions":
|
|
218
|
+
"has-actions": r,
|
|
219
219
|
"has-swatch": !!e.swatch,
|
|
220
220
|
"is-narrow": this.#e.matches
|
|
221
221
|
})}
|
|
222
|
-
${
|
|
223
|
-
@click=${
|
|
222
|
+
${s({ "--lintje-swatch": e.swatch ? `var(--color-chart-${e.swatch})` : null })}
|
|
223
|
+
@click=${n ? (t) => this.onRowClick(t, e) : c}
|
|
224
224
|
>
|
|
225
|
-
${e.icon ?
|
|
225
|
+
${e.icon ? p(e.icon, {
|
|
226
226
|
size: 24,
|
|
227
227
|
className: "lintje-list__icon"
|
|
228
|
-
}) :
|
|
228
|
+
}) : c}
|
|
229
229
|
<div class="lintje-list__main">
|
|
230
230
|
${this.renderTitle(e)}
|
|
231
|
-
${e.sub ? d`<span class="lintje-list__sub">${e.sub}</span>` :
|
|
232
|
-
${
|
|
231
|
+
${e.sub ? d`<span class="lintje-list__sub">${e.sub}</span>` : c}
|
|
232
|
+
${i ? d`<lintje-progress-bar
|
|
233
233
|
class="lintje-list__progress"
|
|
234
234
|
hide-label
|
|
235
235
|
label=${`Voortgang ${e.title}`}
|
|
236
236
|
.value=${e.progress}
|
|
237
|
-
|
|
238
|
-
></lintje-progress-bar>` :
|
|
237
|
+
state=${e.status?.tone === "warning" ? "paused" : "busy"}
|
|
238
|
+
></lintje-progress-bar>` : c}
|
|
239
239
|
</div>
|
|
240
240
|
${e.status || e.meta ? d`<div class="lintje-list__facts">
|
|
241
|
-
${e.status ? d`<lintje-badge tone=${e.status.tone ?? "neutral"}>${e.status.label}</lintje-badge>` :
|
|
242
|
-
${e.meta ? d`<span class="lintje-list__meta">${e.meta}</span>` :
|
|
243
|
-
</div>` :
|
|
244
|
-
${e.action ||
|
|
241
|
+
${e.status ? d`<lintje-badge tone=${e.status.tone ?? "neutral"}>${e.status.label}</lintje-badge>` : c}
|
|
242
|
+
${e.meta ? d`<span class="lintje-list__meta">${e.meta}</span>` : c}
|
|
243
|
+
</div>` : c}
|
|
244
|
+
${e.action || r ? d`<div class="lintje-list__actions">
|
|
245
245
|
${this.renderAction(e)}
|
|
246
|
-
${
|
|
246
|
+
${r ? d`<lintje-menu-button
|
|
247
247
|
class="lintje-list__action"
|
|
248
248
|
data-part="action"
|
|
249
249
|
icon
|
|
@@ -251,12 +251,12 @@ var _ = class extends p {
|
|
|
251
251
|
label=${`Acties voor ${e.title}`}
|
|
252
252
|
.items=${e.actions ?? []}
|
|
253
253
|
@lintje-action=${(t) => this.onAction(t, e)}
|
|
254
|
-
></lintje-menu-button>` :
|
|
255
|
-
</div>` :
|
|
254
|
+
></lintje-menu-button>` : c}
|
|
255
|
+
</div>` : c}
|
|
256
256
|
</li>`;
|
|
257
257
|
}
|
|
258
|
-
renderRun(e, t,
|
|
259
|
-
let
|
|
258
|
+
renderRun(e, t, n) {
|
|
259
|
+
let r = l(e.items, (e) => e.id, (e) => this.row(e));
|
|
260
260
|
return e.label ? d`<div
|
|
261
261
|
class="lintje-list__group"
|
|
262
262
|
id="lintje-list-group-${t}"
|
|
@@ -264,18 +264,18 @@ var _ = class extends p {
|
|
|
264
264
|
aria-level=${this.headingLevel}
|
|
265
265
|
>${e.label}</div
|
|
266
266
|
>
|
|
267
|
-
<ul class="lintje-list" aria-labelledby="lintje-list-group-${t}">${
|
|
267
|
+
<ul class="lintje-list" aria-labelledby="lintje-list-group-${t}">${r}</ul>` : d`<ul class="lintje-list" aria-label=${n ?? c}>${r}</ul>`;
|
|
268
268
|
}
|
|
269
269
|
render() {
|
|
270
270
|
if (!this.items.length) return d`<lintje-empty-state compact text=${this.emptyText}
|
|
271
271
|
><slot name="empty"></slot
|
|
272
272
|
></lintje-empty-state>`;
|
|
273
273
|
let e = g(this.items), [t] = e;
|
|
274
|
-
return e.length === 1 && t && !t.label ? this.renderRun(t, 0, this.label) : d`<div role="group" aria-label=${this.label ??
|
|
274
|
+
return e.length === 1 && t && !t.label ? this.renderRun(t, 0, this.label) : d`<div role="group" aria-label=${this.label ?? c}>
|
|
275
275
|
${e.map((e, t) => this.renderRun(e, t))}
|
|
276
276
|
</div>`;
|
|
277
277
|
}
|
|
278
278
|
};
|
|
279
|
-
|
|
279
|
+
i("lintje-list", _);
|
|
280
280
|
//#endregion
|
|
281
281
|
export { _ as LintjeList, g as groupRuns };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, _t as r, bt as i, ct as a, en as o, nn as s, rn as c, vt as l, xt as u } from "../chunks/base-DRGvkF-r.js";
|
|
2
2
|
//#region src/components/actions/logo/logo.css?inline
|
|
3
|
-
var d = "/* The emblem's own box: `display: block; flex: none` on `:host`, the drawing fills it. */\n:host {\n display: block;\n flex: none;\n}\n:host([hidden]) { display: none; }\n.lintje-logo { display: block; }\n/* The emblem file's lintblauw ribbon; in dark it takes the house style's lighter tint. */\n.lintje-logo [fill='#154273' i] { fill: var(--color-logo-ribbon); }\n/* The frame is the window on the drawing; it narrows to the ribbon on the menu's duration. */\n.lintje-logo__frame {\n display: block;\n overflow: hidden;\n transition: width var(--dur-rail, 180ms) var(--ease-in-motion, ease);\n}\n@media (prefers-reduced-motion: reduce) {\n .lintje-logo__frame { transition: none; }\n}\n\n/* The name hangs outside the drawing's box, so the ribbon keeps its place whatever the name's\n length. Its left is set inline, in px, from the ribbon's width. */\n.lintje-logo__lockup { position: relative; display: block; }\n.lintje-logo__name {\n position: absolute;\n top: 55%;\n display: flex;\n flex-direction: column;\n margin-left: var(--space-3);\n width: max-content;\n max-width: 20rem;\n font: 700 1rem/1.2 var(--font-ui);\n color: inherit;\n}\n.lintje-logo__byline { font-weight: 400; font-style: italic; }\n@media (max-width: 767px) {\n .lintje-logo__name { max-width: 9rem; font-size: 0.875rem; }\n}\n", f = {
|
|
3
|
+
var d = "/* The emblem's own box: `display: block; flex: none` on `:host`, the drawing fills it. */\n:host {\n display: block;\n flex: none;\n}\n:host([hidden]) { display: none; }\n.lintje-logo { display: block; }\n/* The emblem file's lintblauw ribbon; in dark it takes the house style's lighter tint. */\n.lintje-logo [fill='#154273' i] { fill: var(--color-logo-ribbon); }\n/* The frame is the window on the drawing; it narrows to the ribbon on the menu's duration. */\n.lintje-logo__frame {\n display: block;\n overflow: hidden;\n transition: width var(--dur-rail, 180ms) var(--ease-in-motion, ease);\n}\n@media (prefers-reduced-motion: reduce) {\n .lintje-logo__frame { transition: none; }\n}\n\n/* The name hangs outside the drawing's box, so the ribbon keeps its place whatever the name's\n length. Its left is set inline, in px, from the ribbon's width. */\n.lintje-logo__lockup { position: relative; display: block; }\n.lintje-logo__name {\n position: absolute;\n top: 55%;\n display: flex;\n flex-direction: column;\n margin-left: var(--space-3);\n width: max-content;\n max-width: 20rem;\n font: 700 1rem/1.2 var(--font-ui);\n color: inherit;\n}\n.lintje-logo__byline { font-weight: 400; font-style: italic; }\n@media screen and (max-width: 767px) {\n .lintje-logo__name { max-width: 9rem; font-size: 0.875rem; }\n}\n", f = {
|
|
4
4
|
x: 154,
|
|
5
5
|
width: 38,
|
|
6
6
|
height: 75
|
|
7
|
-
}, p = 192, m = "0 0 346 75", h = 346, g = class extends
|
|
7
|
+
}, p = 192, m = "0 0 346 75", h = 346, g = class extends e {
|
|
8
8
|
constructor(...e) {
|
|
9
9
|
super(...e), this.width = 44, this.alt = "", this.open = !1, this.full = !1, this.#e = null;
|
|
10
10
|
}
|
|
@@ -24,82 +24,82 @@ var d = "/* The emblem's own box: `display: block; flex: none` on `:host`, the d
|
|
|
24
24
|
}
|
|
25
25
|
#e;
|
|
26
26
|
connectedCallback() {
|
|
27
|
-
super.connectedCallback(), this.#e =
|
|
27
|
+
super.connectedCallback(), this.#e = r(() => this.requestUpdate());
|
|
28
28
|
}
|
|
29
29
|
disconnectedCallback() {
|
|
30
30
|
this.#e?.(), this.#e = null, super.disconnectedCallback();
|
|
31
31
|
}
|
|
32
|
-
#t(e,
|
|
32
|
+
#t(e, t) {
|
|
33
33
|
return !(this.full || this.open) || !this.alt ? e : s`<span class="lintje-logo__lockup">
|
|
34
34
|
${e}
|
|
35
35
|
<span
|
|
36
36
|
class="lintje-logo__name"
|
|
37
37
|
aria-hidden="true"
|
|
38
|
-
${
|
|
39
|
-
><span class="lintje-logo__name-line">${this.alt}</span>${this.byline ? s`<span class="lintje-logo__byline">${this.byline}</span>` :
|
|
38
|
+
${i({ left: `${t}px` })}
|
|
39
|
+
><span class="lintje-logo__name-line">${this.alt}</span>${this.byline ? s`<span class="lintje-logo__byline">${this.byline}</span>` : o}</span
|
|
40
40
|
>
|
|
41
41
|
</span>`;
|
|
42
42
|
}
|
|
43
43
|
render() {
|
|
44
|
-
let e = this.width / f.width,
|
|
44
|
+
let e = this.width / f.width, t = Math.round(f.height * e), n = Math.round(p * e), r = Math.round(h * e), d = this.full ? r : this.open ? n : this.width;
|
|
45
45
|
if (this.src) return s`<img
|
|
46
46
|
class="lintje-logo"
|
|
47
47
|
src=${this.src}
|
|
48
48
|
alt=${this.alt}
|
|
49
49
|
width=${this.width}
|
|
50
|
-
height=${
|
|
50
|
+
height=${t}
|
|
51
51
|
/>`;
|
|
52
|
-
let g = this.name, _ =
|
|
53
|
-
if (!_) return g &&
|
|
52
|
+
let g = this.name, _ = a(g);
|
|
53
|
+
if (!_) return g && l(g), s`<span
|
|
54
54
|
class="lintje-logo lintje-logo--pending"
|
|
55
|
-
${
|
|
55
|
+
${i({
|
|
56
56
|
width: `${d}px`,
|
|
57
|
-
height: `${
|
|
57
|
+
height: `${t}px`
|
|
58
58
|
})}
|
|
59
|
-
role=${g && this.alt ? "img" :
|
|
60
|
-
aria-label=${g && this.alt ? this.alt :
|
|
59
|
+
role=${g && this.alt ? "img" : o}
|
|
60
|
+
aria-label=${g && this.alt ? this.alt : o}
|
|
61
61
|
></span>`;
|
|
62
62
|
if (_.viewBox !== m) {
|
|
63
|
-
let [, , e,
|
|
63
|
+
let [, , e, t] = _.viewBox.split(/\s+/).map(Number);
|
|
64
64
|
return this.#t(s`<svg
|
|
65
65
|
class="lintje-logo"
|
|
66
66
|
xmlns="http://www.w3.org/2000/svg"
|
|
67
67
|
width=${this.width}
|
|
68
|
-
height=${Math.round(this.width *
|
|
68
|
+
height=${Math.round(this.width * t / e)}
|
|
69
69
|
viewBox=${_.viewBox}
|
|
70
|
-
role=${this.alt ? "img" :
|
|
71
|
-
aria-hidden=${this.alt ?
|
|
72
|
-
aria-label=${this.alt ||
|
|
70
|
+
role=${this.alt ? "img" : o}
|
|
71
|
+
aria-hidden=${this.alt ? o : "true"}
|
|
72
|
+
aria-label=${this.alt || o}
|
|
73
73
|
fill=${_.attributes.fill ?? "currentColor"}
|
|
74
74
|
>
|
|
75
|
-
${
|
|
75
|
+
${c`${u(_.body)}`}
|
|
76
76
|
</svg>`, this.width);
|
|
77
77
|
}
|
|
78
78
|
let v = s`<span
|
|
79
79
|
class="lintje-logo__frame"
|
|
80
|
-
${
|
|
80
|
+
${i({
|
|
81
81
|
width: `${d}px`,
|
|
82
|
-
height: `${
|
|
82
|
+
height: `${t}px`
|
|
83
83
|
})}
|
|
84
84
|
>
|
|
85
85
|
<svg
|
|
86
86
|
class="lintje-logo"
|
|
87
87
|
xmlns="http://www.w3.org/2000/svg"
|
|
88
|
-
width=${this.full ?
|
|
89
|
-
height=${
|
|
88
|
+
width=${this.full ? r : n}
|
|
89
|
+
height=${t}
|
|
90
90
|
viewBox=${this.full ? m : `${f.x} 0 ${p} ${f.height}`}
|
|
91
91
|
preserveAspectRatio="xMinYMin meet"
|
|
92
|
-
role=${this.alt ? "img" :
|
|
93
|
-
aria-hidden=${this.alt ?
|
|
94
|
-
aria-label=${this.alt ||
|
|
92
|
+
role=${this.alt ? "img" : o}
|
|
93
|
+
aria-hidden=${this.alt ? o : "true"}
|
|
94
|
+
aria-label=${this.alt || o}
|
|
95
95
|
fill=${_.attributes.fill ?? "currentColor"}
|
|
96
96
|
>
|
|
97
|
-
${
|
|
97
|
+
${c`${u(_.body)}`}
|
|
98
98
|
</svg>
|
|
99
99
|
</span>`, y = this.full ? Math.round((f.x + f.width) * e) : this.width;
|
|
100
100
|
return this.#t(v, y);
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
|
-
|
|
103
|
+
t("lintje-logo", g);
|
|
104
104
|
//#endregion
|
|
105
105
|
export { g as LintjeLogo };
|