lintje 0.2.0 → 0.3.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-CbmWxUig.js} +444 -272
- package/dist-elements/chunks/{controls-B1455oPG.js → controls-DxmnDSBr.js} +6 -0
- package/dist-elements/chunks/dialog-DChINFxD.js +28 -0
- package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
- package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DLkXPUpV.js} +6 -6
- package/dist-elements/chunks/download-Ct9q2anY.js +206 -0
- package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-BwOxE5BX.js} +1 -1
- package/dist-elements/chunks/input-CRW_exv_.js +195 -0
- package/dist-elements/chunks/{player-DXOZEyEy.js → player-B8QXJ0Z5.js} +26 -26
- package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-B19AyZBS.js} +3 -3
- package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BHoOgy0g.js} +81 -75
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +980 -670
- package/dist-elements/data-types.json +6798 -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 +8 -7
- package/dist-elements/guides/page-contents.md +110 -0
- package/dist-elements/guides/start.md +12 -0
- package/dist-elements/inputs.js +2 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +6975 -6120
- 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.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +15 -15
- 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 +1050 -795
- 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 +59 -0
- package/dist-elements/tag/checkbox.js +8 -8
- package/dist-elements/tag/code.js +9 -9
- package/dist-elements/tag/combobox.js +18 -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 +878 -530
- package/dist-elements/tag/date-input.js +30 -30
- package/dist-elements/tag/date-range.js +37 -37
- 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 +34 -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/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.js +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.js +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 +146 -137
- 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 +690 -665
- package/dist-elements/tag/menu-button.js +70 -69
- package/dist-elements/tag/modal.js +28 -37
- package/dist-elements/tag/multiselect.js +34 -34
- package/dist-elements/tag/note.js +5 -5
- package/dist-elements/tag/notifications.js +36 -36
- package/dist-elements/tag/number-input.js +12 -12
- package/dist-elements/tag/page-header.js +140 -37
- package/dist-elements/tag/pagination.js +53 -48
- package/dist-elements/tag/popover.js +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 +12 -12
- package/dist-elements/tag/range.js +22 -22
- package/dist-elements/tag/recording-status.js +14 -14
- package/dist-elements/tag/repeater.js +10 -10
- package/dist-elements/tag/segmented.js +13 -13
- package/dist-elements/tag/select.js +10 -10
- package/dist-elements/tag/shell.js +356 -339
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +14 -14
- package/dist-elements/tag/sortable-list.js +14 -14
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +12 -12
- 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 +19 -19
- package/dist-elements/tag/text-editor.js +24 -24
- package/dist-elements/tag/text-input.js +14 -14
- package/dist-elements/tag/textarea.js +14 -14
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +19 -19
- package/dist-elements/tag/toast.js +32 -23
- package/dist-elements/tag/toggle.js +8 -8
- package/dist-elements/tag/toggletip.js +27 -27
- 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/types/bundle/feedback.d.ts +1 -0
- package/dist-elements/types/bundle/frame.d.ts +0 -2
- package/dist-elements/types/bundle/inputs.d.ts +1 -0
- package/dist-elements/types/bundle/overlays.d.ts +1 -1
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +6 -7
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +13 -15
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +9 -9
- package/dist-elements/types/components/charts/chart/chart.d.ts +5 -4
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +16 -8
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -7
- package/dist-elements/types/components/charts/note/note.d.ts +1 -1
- package/dist-elements/types/components/chat/chat/chat.d.ts +8 -10
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +7 -8
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +8 -10
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +6 -7
- 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 +10 -12
- package/dist-elements/types/components/content/code/code.d.ts +2 -3
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +8 -9
- package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
- package/dist-elements/types/components/content/highlight/highlight.d.ts +4 -3
- package/dist-elements/types/components/content/prose/prose.d.ts +2 -3
- package/dist-elements/types/components/content/transcript/transcript.d.ts +12 -25
- package/dist-elements/types/components/content/translator/translator.d.ts +11 -15
- package/dist-elements/types/components/content/video-player/video-player.d.ts +11 -13
- package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +3 -7
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +3 -4
- 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/components/feedback/recording-status/recording-status.d.ts +5 -6
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +10 -7
- 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 +5 -5
- 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 +5 -6
- package/dist-elements/types/components/forms/form/form.d.ts +5 -5
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +9 -7
- package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +13 -7
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +5 -4
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +6 -7
- 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 +5 -9
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +12 -15
- package/dist-elements/types/components/frame/shell/shell.d.ts +14 -13
- 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 +11 -10
- package/dist-elements/types/components/index.d.ts +8 -9
- 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 +12 -6
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +5 -5
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +11 -6
- package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +6 -8
- 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/slot-picker/slot-picker.d.ts +6 -5
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +7 -5
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +6 -6
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +11 -6
- package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +7 -8
- package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +9 -10
- package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +11 -9
- package/dist-elements/types/components/map/map/map.d.ts +10 -9
- 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 +7 -12
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +3 -7
- package/dist-elements/types/components/shared/charts/index.d.ts +4 -1
- package/dist-elements/types/components/shared/charts/kinds.d.ts +86 -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/shared/chart-states.d.ts +8 -19
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +7 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +29 -0
- package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
- package/dist-elements/types/components/shared/dialog.d.ts +9 -0
- package/dist-elements/types/components/shared/overflow.d.ts +58 -0
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +2 -3
- package/dist-elements/types/components/tables/card/card.d.ts +14 -20
- package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +85 -16
- package/dist-elements/types/components/tables/data-table/filters.d.ts +13 -4
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +12 -11
- package/dist-elements/types/components/tables/list/list.d.ts +9 -20
- 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 +4 -4
- 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/icon/icon.d.ts +2 -3
- package/dist-elements/types/icons/register.d.ts +1 -1
- package/dist-elements/types/primitives/badge/badge.d.ts +9 -5
- package/dist-elements/types/primitives/button/button.d.ts +12 -9
- package/dist-elements/types/primitives/grid/grid.d.ts +3 -3
- package/dist-elements/types/primitives/grid-item/grid-item.d.ts +1 -1
- package/dist-elements/types/primitives/icon-button/icon-button.d.ts +7 -5
- package/dist-elements/types/primitives/index.d.ts +3 -1
- package/dist-elements/types/primitives/popover/popover.d.ts +5 -4
- package/dist-elements/types/primitives/progress-bar/progress-bar.d.ts +8 -6
- package/dist-elements/types/primitives/shared/announcement-block.d.ts +38 -0
- package/dist-elements/types/primitives/shared/empty-state-block.d.ts +26 -0
- package/dist-elements/types/primitives/shared/tone.d.ts +18 -0
- package/dist-elements/types/primitives/skeleton/skeleton.d.ts +1 -1
- package/dist-elements/types/primitives/spinner/spinner.d.ts +1 -2
- package/dist-elements/types/primitives/status-dot/status-dot.d.ts +4 -5
- package/dist-elements/types/primitives/tile/tile.d.ts +17 -5
- package/dist-elements/types/primitives/tooltip/tooltip.d.ts +6 -6
- 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
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { H as e, Jt as t, K as n, L as r, Yt as i, Zt as a, en as o, et as s, lt as c, nn as l, nt as u, rt as d, st as f, ut as p } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
//#region src/components/shared/menu.css?inline
|
|
3
|
-
var
|
|
4
|
-
function
|
|
3
|
+
var m = "/* The rows of a menu, in the popover of a menu button, the user menu or a map's select button.\n The trigger is the owner's. */\n\n.lintje-menu {\n display: flex; flex-direction: column;\n min-width: 240px;\n padding: var(--space-1) 0;\n}\n\n.lintje-menu__row {\n display: flex; align-items: center; gap: var(--space-2);\n width: 100%;\n height: var(--h-control);\n padding: 0 var(--space-4);\n font: var(--text-ui);\n color: var(--color-text-primary);\n text-align: left;\n text-decoration: none;\n white-space: nowrap;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-menu__row:hover:not(.is-disabled) { background: var(--color-bg-subtle); }\n.lintje-menu__icon { flex: none; }\n.lintje-menu__slot { width: 16px; height: 16px; }\n.lintje-menu__check { color: var(--color-accent-text); }\n/* One of a choice: the form's radio, at the size of the menu's icons. */\n.lintje-menu__radio {\n box-sizing: border-box;\n width: 16px; height: 16px;\n border: 2px solid var(--color-border-choice);\n border-radius: var(--radius-round);\n background: var(--color-bg-surface);\n display: inline-flex; align-items: center; justify-content: center;\n}\n.lintje-menu__radio.is-checked { border-color: var(--color-accent-line); }\n.lintje-menu__radio.is-checked::after {\n content: '';\n width: 6px; height: 6px;\n border-radius: var(--radius-round);\n background: var(--color-accent);\n}\n@media (forced-colors: active) {\n .lintje-menu__radio.is-checked::after { forced-color-adjust: none; background: Highlight; }\n}\n.lintje-menu__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }\n.lintje-menu__hint {\n flex: none;\n margin-left: var(--space-4);\n font-family: var(--font-mono);\n font-size: 0.875rem;\n color: var(--color-text-muted);\n}\n\n.lintje-menu__row.is-disabled { color: var(--color-text-disabled); cursor: not-allowed; }\n.lintje-menu__row.is-disabled .lintje-menu__hint { color: var(--color-text-disabled); }\n.lintje-menu__row.is-danger { color: var(--color-error-text); font-weight: 700; }\n\n.lintje-menu__separator {\n height: 1px;\n margin: var(--space-1) 0;\n background: var(--color-border-default);\n}\n\n.lintje-menu__tip { display: flex; }\n\n/* The heading stands in line with the labels: the row's padding, the icon and the gap. */\n/* A group's name stands at the menu's edge, over the checks and circles of its rows. */\n.lintje-menu__heading {\n padding: var(--space-1) var(--space-4);\n font: var(--text-small);\n font-weight: 700;\n color: var(--color-text-muted);\n}\n\n@media screen and (max-width: 767px) {\n .lintje-menu__row { height: var(--h-touch); }\n}\n", h = "/* The host is the trigger's box, with the busy sentence beside it; the menu is a fixed popover\n and takes no space. */\n:host {\n display: inline-flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-3);\n min-width: 0;\n vertical-align: middle;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-menu-button__trigger.lintje-button--secondary.is-open { background: var(--color-bg-selected); }\n.lintje-menu-button__trigger.lintje-button--tertiary.is-open { background: var(--color-bg-subtle); }\n.lintje-menu-button__trigger.lintje-icon-button--outlined.is-open { background: var(--color-bg-selected); }\n.lintje-menu-button__trigger.lintje-icon-button--flat.is-open { background: var(--color-bg-subtle); }\n\n\n.lintje-menu-button__trigger.lintje-button { padding-right: var(--space-3); }\n.lintje-menu-button__trigger--flat.lintje-button { padding: 0 var(--space-2); border-color: transparent; }\n/* Split: two halves of one button, the page showing through the 1 px between them. */\n.lintje-menu-button__split { display: inline-flex; gap: 1px; min-width: 0; }\n.lintje-menu-button__split .lintje-menu-button__trigger--split.lintje-button { width: var(--h-button); padding: 0; }\n/* Busy, a split button's ring takes its icon's square: the label stays and nothing moves. */\n.lintje-menu-button__busy {\n flex: none;\n width: 16px; height: 16px;\n margin: 2px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--radius-round);\n animation: lintje-spin var(--dur-skeleton) linear infinite;\n}\n.lintje-menu-button__split .is-working { cursor: progress; }\n@media (prefers-reduced-motion: reduce) {\n .lintje-menu-button__busy { animation: none; }\n}\n.lintje-menu-button__trigger.lintje-button--primary.is-open { background: var(--color-action-primary-hover); }\n/* Disabled, like the link button, it only loses its ink. */\n.lintje-menu-button__trigger--flat.lintje-button.is-disabled { background: none; border-color: transparent; }\n\n/* Without a sentence the live region stays in the tree but takes no room, and no gap. */\n.lintje-menu-button__status { position: absolute; }\n.lintje-menu-button__status.is-busy {\n position: static;\n display: flex; align-items: center; gap: var(--space-2);\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n\n/* The breadcrumbs' \"…\" sits in a line of text, so it reaches the 48 px target upwards and\n downwards only, through a transparent hit area. */\n.lintje-menu-button__trigger--ellipsis {\n position: relative;\n display: inline-flex; align-items: center; justify-content: center;\n min-width: var(--h-chip-field); height: var(--h-chip-field);\n padding: 0 var(--space-2);\n background: var(--color-bg-subtle);\n color: var(--color-accent-text);\n font: var(--text-small);\n font-weight: 700;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-menu-button__trigger--ellipsis::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-menu-button__trigger--ellipsis:hover:not(.is-disabled),\n.lintje-menu-button__trigger--ellipsis.is-open { background: var(--color-bg-selected); }\n.lintje-menu-button__trigger--ellipsis.is-disabled { color: var(--color-text-disabled); cursor: not-allowed; }\n\n/* Forced colours: the disabled \"…\" is `aria-disabled`, so the browser does not gray it. */\n@media (forced-colors: active) {\n .lintje-menu-button__trigger--ellipsis.is-disabled { color: GrayText; }\n}\n", g = (e) => e !== "separator" && !("heading" in e), _ = 0;
|
|
4
|
+
function v(e, t, n) {
|
|
5
5
|
let r = [], i = null, a = () => {
|
|
6
6
|
if (!i) return;
|
|
7
7
|
let e = `${t}-group-${r.length}`;
|
|
8
|
-
r.push(
|
|
8
|
+
r.push(l`<div class="lintje-menu__group" role="group" aria-labelledby=${e}>
|
|
9
9
|
<div class="lintje-menu__heading" id=${e} role="presentation">${i.heading}</div>
|
|
10
10
|
${i.rows}
|
|
11
11
|
</div>`), i = null;
|
|
12
12
|
};
|
|
13
|
-
for (let t of e) t === "separator" ? (a(), r.push(
|
|
13
|
+
for (let t of e) t === "separator" ? (a(), r.push(l`<div class="lintje-menu__separator" role="separator"></div>`)) : g(t) ? i ? i.rows.push(n(t)) : r.push(n(t)) : (a(), i = {
|
|
14
14
|
heading: t.heading,
|
|
15
15
|
rows: []
|
|
16
16
|
});
|
|
17
17
|
return a(), r;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function y(e, t, n) {
|
|
20
20
|
let r = e.length;
|
|
21
21
|
return r === 0 ? -1 : ((t + n) % r + r) % r;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function b(e, t, n) {
|
|
24
24
|
let r = n.toLocaleLowerCase("nl"), i = e.length;
|
|
25
25
|
for (let n = 1; n <= i; n++) {
|
|
26
26
|
let a = (t + n) % i, o = e[a];
|
|
@@ -28,14 +28,15 @@ function y(e, t, n) {
|
|
|
28
28
|
}
|
|
29
29
|
return -1;
|
|
30
30
|
}
|
|
31
|
-
var
|
|
31
|
+
var x = class extends t {
|
|
32
32
|
static {
|
|
33
33
|
this.styles = [
|
|
34
|
-
|
|
35
|
-
a(
|
|
36
|
-
a(
|
|
37
|
-
a(
|
|
38
|
-
a(
|
|
34
|
+
c,
|
|
35
|
+
a(d),
|
|
36
|
+
a(r),
|
|
37
|
+
a(m),
|
|
38
|
+
a(h),
|
|
39
|
+
a(u)
|
|
39
40
|
];
|
|
40
41
|
}
|
|
41
42
|
static {
|
|
@@ -82,7 +83,7 @@ var b = class extends f {
|
|
|
82
83
|
return this.disabled || !!this.busyLabel;
|
|
83
84
|
}
|
|
84
85
|
get rows() {
|
|
85
|
-
return this.items.filter(
|
|
86
|
+
return this.items.filter(g);
|
|
86
87
|
}
|
|
87
88
|
get trigger() {
|
|
88
89
|
return this.renderRoot.querySelector(".lintje-menu-button__trigger");
|
|
@@ -92,15 +93,15 @@ var b = class extends f {
|
|
|
92
93
|
}
|
|
93
94
|
show(e) {
|
|
94
95
|
let t = this.rows;
|
|
95
|
-
this.pendingFocus =
|
|
96
|
+
this.pendingFocus = y(t, e === "first" ? -1 : t.length, e === "first" ? 1 : -1), this.open = !0;
|
|
96
97
|
}
|
|
97
98
|
hide(e) {
|
|
98
99
|
this.open = !1, e && this.trigger?.focus();
|
|
99
100
|
}
|
|
100
101
|
constructor() {
|
|
101
|
-
super(), this.label = "", this.accessibleLabel = "", this.variant = "secondary", this.icon = !1, this.leadingIcon = "", this.disabled = !1, this.busyLabel = "", this.placement = "bottom-start", this.items = [], this.open = !1, this.split = !1, this.action = "", this.menuId = `lintje-menu-${++
|
|
102
|
+
super(), this.label = "", this.accessibleLabel = "", this.variant = "secondary", this.icon = !1, this.leadingIcon = "", this.disabled = !1, this.busyLabel = "", this.placement = "bottom-start", this.items = [], this.open = !1, this.split = !1, this.action = "", this.menuId = `lintje-menu-${++_}`, this.pendingFocus = null, this.onFocusOut = (e) => {
|
|
102
103
|
let t = e.relatedTarget;
|
|
103
|
-
this.open && t && !
|
|
104
|
+
this.open && t && !s(t, this) && !s(this, t) && this.hide(!1);
|
|
104
105
|
}, this.onTriggerKeydown = (e) => {
|
|
105
106
|
this.unavailable || (e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), this.show(e.key === "ArrowDown" ? "first" : "last"));
|
|
106
107
|
}, this.onTriggerClick = () => {
|
|
@@ -109,16 +110,16 @@ var b = class extends f {
|
|
|
109
110
|
let t = this.rows, n = this.currentRow();
|
|
110
111
|
switch (e.key) {
|
|
111
112
|
case "ArrowDown":
|
|
112
|
-
e.preventDefault(), this.focusRow(
|
|
113
|
+
e.preventDefault(), this.focusRow(y(t, n, 1));
|
|
113
114
|
return;
|
|
114
115
|
case "ArrowUp":
|
|
115
|
-
e.preventDefault(), this.focusRow(
|
|
116
|
+
e.preventDefault(), this.focusRow(y(t, n < 0 ? t.length : n, -1));
|
|
116
117
|
return;
|
|
117
118
|
case "Home":
|
|
118
|
-
e.preventDefault(), this.focusRow(
|
|
119
|
+
e.preventDefault(), this.focusRow(y(t, -1, 1));
|
|
119
120
|
return;
|
|
120
121
|
case "End":
|
|
121
|
-
e.preventDefault(), this.focusRow(
|
|
122
|
+
e.preventDefault(), this.focusRow(y(t, t.length, -1));
|
|
122
123
|
return;
|
|
123
124
|
case "Tab":
|
|
124
125
|
e.shiftKey || this.trigger?.focus(), this.hide(!1);
|
|
@@ -128,7 +129,7 @@ var b = class extends f {
|
|
|
128
129
|
t instanceof HTMLAnchorElement && (e.preventDefault(), t.click());
|
|
129
130
|
return;
|
|
130
131
|
}
|
|
131
|
-
default: e.key.length === 1 && e.key !== " " && !e.ctrlKey && !e.metaKey && this.focusRow(
|
|
132
|
+
default: e.key.length === 1 && e.key !== " " && !e.ctrlKey && !e.metaKey && this.focusRow(b(t, n, e.key));
|
|
132
133
|
}
|
|
133
134
|
}, this.addEventListener("focusout", this.onFocusOut);
|
|
134
135
|
}
|
|
@@ -142,12 +143,12 @@ var b = class extends f {
|
|
|
142
143
|
onPopoverClose(e) {
|
|
143
144
|
e.stopPropagation(), this.hide(e.detail?.reason === "escape");
|
|
144
145
|
}
|
|
145
|
-
choose(
|
|
146
|
-
if (
|
|
147
|
-
else if (
|
|
148
|
-
if (!
|
|
149
|
-
this.hide(!0), this.emit("lintje-action",
|
|
150
|
-
} else this.hide(!0), this.emit("lintje-action",
|
|
146
|
+
choose(t, n) {
|
|
147
|
+
if (t.disabled) n.preventDefault();
|
|
148
|
+
else if (t.href) {
|
|
149
|
+
if (!e(n)) return;
|
|
150
|
+
this.hide(!0), this.emit("lintje-action", t.value), this.followLink(t.href, n);
|
|
151
|
+
} else this.hide(!0), this.emit("lintje-action", t.value);
|
|
151
152
|
}
|
|
152
153
|
willUpdate(e) {
|
|
153
154
|
super.willUpdate(e), (e.has("disabled") || e.has("busyLabel")) && this.unavailable && (this.open = !1);
|
|
@@ -159,32 +160,32 @@ var b = class extends f {
|
|
|
159
160
|
}
|
|
160
161
|
}
|
|
161
162
|
renderSplit() {
|
|
162
|
-
let e = this.disabled ? "true" :
|
|
163
|
-
return
|
|
163
|
+
let e = this.disabled ? "true" : o, t = !!this.busyLabel, n = this.variant === "flat" ? "tertiary" : this.variant;
|
|
164
|
+
return l`<span class="lintje-menu-button__split">
|
|
164
165
|
<button
|
|
165
166
|
type="button"
|
|
166
|
-
class=${
|
|
167
|
+
class=${f({
|
|
167
168
|
"lintje-button": !0,
|
|
168
169
|
[`lintje-button--${n}`]: !0,
|
|
169
170
|
"lintje-menu-button__main": !0,
|
|
170
171
|
"is-disabled": this.disabled,
|
|
171
172
|
"is-working": t
|
|
172
173
|
})}
|
|
173
|
-
aria-disabled=${this.disabled ? "true" :
|
|
174
|
-
aria-busy=${t ? "true" :
|
|
174
|
+
aria-disabled=${this.disabled ? "true" : o}
|
|
175
|
+
aria-busy=${t ? "true" : o}
|
|
175
176
|
@click=${() => {
|
|
176
177
|
this.unavailable || this.emit("lintje-action", this.action);
|
|
177
178
|
}}
|
|
178
179
|
>
|
|
179
|
-
${t ?
|
|
180
|
+
${t ? l`<span class="lintje-menu-button__busy" aria-hidden="true"></span>` : this.leadingIcon ? p(this.leadingIcon, {
|
|
180
181
|
size: 20,
|
|
181
182
|
className: "lintje-button__icon"
|
|
182
|
-
}) :
|
|
183
|
+
}) : o}
|
|
183
184
|
<span class="lintje-button__label">${this.label}</span>
|
|
184
185
|
</button>
|
|
185
186
|
<button
|
|
186
187
|
type="button"
|
|
187
|
-
class=${
|
|
188
|
+
class=${f({
|
|
188
189
|
"lintje-button": !0,
|
|
189
190
|
[`lintje-button--${n}`]: !0,
|
|
190
191
|
"lintje-menu-button__trigger": !0,
|
|
@@ -201,7 +202,7 @@ var b = class extends f {
|
|
|
201
202
|
@click=${this.onTriggerClick}
|
|
202
203
|
@keydown=${this.onTriggerKeydown}
|
|
203
204
|
>
|
|
204
|
-
${
|
|
205
|
+
${p("functioneel-delta-omlaag", {
|
|
205
206
|
size: 20,
|
|
206
207
|
rotate: this.open ? 180 : void 0,
|
|
207
208
|
className: "lintje-button__icon"
|
|
@@ -215,10 +216,10 @@ var b = class extends f {
|
|
|
215
216
|
"lintje-menu-button__trigger": !0,
|
|
216
217
|
"is-open": this.open,
|
|
217
218
|
"is-disabled": this.unavailable
|
|
218
|
-
}, t = this.unavailable ? "true" :
|
|
219
|
-
return this.icon ?
|
|
219
|
+
}, t = this.unavailable ? "true" : o;
|
|
220
|
+
return this.icon ? l`<button
|
|
220
221
|
type="button"
|
|
221
|
-
class=${
|
|
222
|
+
class=${f({
|
|
222
223
|
...e,
|
|
223
224
|
"lintje-icon-button": !0,
|
|
224
225
|
"lintje-icon-button--outlined": this.variant !== "tertiary",
|
|
@@ -233,10 +234,10 @@ var b = class extends f {
|
|
|
233
234
|
@click=${this.onTriggerClick}
|
|
234
235
|
@keydown=${this.onTriggerKeydown}
|
|
235
236
|
>
|
|
236
|
-
${
|
|
237
|
-
</button>` : this.variant === "ellipsis" ?
|
|
237
|
+
${p("functioneel-meer", { size: 16 })}
|
|
238
|
+
</button>` : this.variant === "ellipsis" ? l`<button
|
|
238
239
|
type="button"
|
|
239
|
-
class=${
|
|
240
|
+
class=${f({
|
|
240
241
|
...e,
|
|
241
242
|
"lintje-menu-button__trigger--ellipsis": !0
|
|
242
243
|
})}
|
|
@@ -249,15 +250,15 @@ var b = class extends f {
|
|
|
249
250
|
@keydown=${this.onTriggerKeydown}
|
|
250
251
|
>
|
|
251
252
|
…
|
|
252
|
-
</button>` :
|
|
253
|
+
</button>` : l`<button
|
|
253
254
|
type="button"
|
|
254
|
-
class=${
|
|
255
|
+
class=${f({
|
|
255
256
|
...e,
|
|
256
257
|
"lintje-button": !0,
|
|
257
258
|
[`lintje-button--${this.variant === "flat" ? "tertiary" : this.variant}`]: !0,
|
|
258
259
|
"lintje-menu-button__trigger--flat": this.variant === "flat"
|
|
259
260
|
})}
|
|
260
|
-
aria-label=${this.accessibleLabel ||
|
|
261
|
+
aria-label=${this.accessibleLabel || o}
|
|
261
262
|
aria-haspopup="menu"
|
|
262
263
|
aria-expanded=${String(this.open)}
|
|
263
264
|
aria-controls=${this.menuId}
|
|
@@ -265,12 +266,12 @@ var b = class extends f {
|
|
|
265
266
|
@click=${this.onTriggerClick}
|
|
266
267
|
@keydown=${this.onTriggerKeydown}
|
|
267
268
|
>
|
|
268
|
-
${this.leadingIcon ?
|
|
269
|
+
${this.leadingIcon ? p(this.leadingIcon, {
|
|
269
270
|
size: 16,
|
|
270
271
|
className: "lintje-button__icon"
|
|
271
|
-
}) :
|
|
272
|
+
}) : o}
|
|
272
273
|
<span class="lintje-button__label">${this.label}</span>
|
|
273
|
-
${
|
|
274
|
+
${p("functioneel-delta-omlaag", {
|
|
274
275
|
size: 16,
|
|
275
276
|
rotate: this.open ? 180 : void 0,
|
|
276
277
|
className: "lintje-button__icon"
|
|
@@ -278,67 +279,67 @@ var b = class extends f {
|
|
|
278
279
|
</button>`;
|
|
279
280
|
}
|
|
280
281
|
renderRow(e) {
|
|
281
|
-
let t =
|
|
282
|
+
let t = f({
|
|
282
283
|
"lintje-menu__row": !0,
|
|
283
284
|
"focus-inset": !0,
|
|
284
285
|
"is-danger": !!e.danger,
|
|
285
286
|
"is-disabled": !!e.disabled
|
|
286
|
-
}), n = e.checked !== void 0, r = n ? e.radio ? "menuitemradio" : "menuitemcheckbox" : "menuitem",
|
|
287
|
-
n && e.radio ?
|
|
288
|
-
class=${
|
|
287
|
+
}), n = e.checked !== void 0, r = n ? e.radio ? "menuitemradio" : "menuitemcheckbox" : "menuitem", i = o;
|
|
288
|
+
n && e.radio ? i = l`<span
|
|
289
|
+
class=${f({
|
|
289
290
|
"lintje-menu__icon": !0,
|
|
290
291
|
"lintje-menu__radio": !0,
|
|
291
292
|
"is-checked": !!e.checked
|
|
292
293
|
})}
|
|
293
|
-
></span>` : n ?
|
|
294
|
+
></span>` : n ? i = e.checked ? p("functioneel-vinkje", {
|
|
294
295
|
size: 16,
|
|
295
296
|
className: "lintje-menu__icon lintje-menu__check"
|
|
296
|
-
}) :
|
|
297
|
+
}) : l`<span class="lintje-menu__icon lintje-menu__slot"></span>` : e.icon && (i = p(e.icon, {
|
|
297
298
|
size: 16,
|
|
298
299
|
className: "lintje-menu__icon"
|
|
299
300
|
}));
|
|
300
|
-
let
|
|
301
|
+
let a = l`${i}<span class="lintje-menu__label">${e.label}</span>${e.hint ? l`<span class="lintje-menu__hint">${e.hint}</span>` : o}`, s = e.href && !e.disabled ? l`<a
|
|
301
302
|
class=${t}
|
|
302
303
|
role="menuitem"
|
|
303
304
|
tabindex="-1"
|
|
304
305
|
href=${e.href}
|
|
305
306
|
@click=${(t) => this.choose(e, t)}
|
|
306
|
-
>${
|
|
307
|
-
>` :
|
|
307
|
+
>${a}</a
|
|
308
|
+
>` : l`<button
|
|
308
309
|
type="button"
|
|
309
310
|
class=${t}
|
|
310
311
|
role=${r}
|
|
311
312
|
tabindex="-1"
|
|
312
|
-
aria-checked=${n ? String(e.checked) :
|
|
313
|
-
aria-disabled=${e.disabled ? "true" :
|
|
313
|
+
aria-checked=${n ? String(e.checked) : o}
|
|
314
|
+
aria-disabled=${e.disabled ? "true" : o}
|
|
314
315
|
@click=${(t) => this.choose(e, t)}
|
|
315
316
|
>
|
|
316
|
-
${
|
|
317
|
+
${a}
|
|
317
318
|
</button>`;
|
|
318
|
-
return e.disabled && e.reason ?
|
|
319
|
+
return e.disabled && e.reason ? l`<lintje-tooltip class="lintje-menu__tip" text=${e.reason}>${s}</lintje-tooltip>` : s;
|
|
319
320
|
}
|
|
320
321
|
render() {
|
|
321
322
|
let e = !!this.busyLabel;
|
|
322
|
-
return
|
|
323
|
+
return l`${this.renderTrigger()}<lintje-popover
|
|
323
324
|
id=${this.menuId}
|
|
324
325
|
panel-role="menu"
|
|
325
|
-
label=${
|
|
326
|
+
label=${n(this.accessibleLabel || this.label || void 0)}
|
|
326
327
|
placement=${this.placement}
|
|
327
328
|
?open=${this.open}
|
|
328
329
|
@lintje-close=${this.onPopoverClose}
|
|
329
330
|
>
|
|
330
|
-
<div class="lintje-menu" @keydown=${this.onMenuKeydown}>${
|
|
331
|
+
<div class="lintje-menu" @keydown=${this.onMenuKeydown}>${v(this.items, this.menuId, (e) => this.renderRow(e))}</div>
|
|
331
332
|
</lintje-popover
|
|
332
333
|
><div
|
|
333
|
-
class=${
|
|
334
|
+
class=${f({
|
|
334
335
|
"lintje-menu-button__status": !0,
|
|
335
336
|
"is-busy": e && !this.split,
|
|
336
337
|
"visually-hidden": e && this.split
|
|
337
338
|
})}
|
|
338
339
|
role="status"
|
|
339
|
-
>${e ?
|
|
340
|
+
>${e ? l`<lintje-spinner></lintje-spinner><span>${this.busyLabel}</span>` : o}</div>`;
|
|
340
341
|
}
|
|
341
342
|
};
|
|
342
|
-
|
|
343
|
+
i("lintje-menu-button", x);
|
|
343
344
|
//#endregion
|
|
344
|
-
export {
|
|
345
|
+
export { x as LintjeMenuButton, m as n, y as nextRow, v as renderMenuEntries, b as rowByLetter, h as t };
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, ut as o } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { t as s } from "../chunks/dialog-close-u75fVEw4.js";
|
|
3
|
+
import { t as c } from "../chunks/dialog-DChINFxD.js";
|
|
4
4
|
//#region src/components/overlays/modal/modal.css?inline
|
|
5
|
-
var
|
|
5
|
+
var l = "/* `display: contents` keeps the host out of its parent's flex or grid layout. */\n:host {\n display: contents;\n}\n\n/* ------------------------------------------------------------------------ */\n\n/* Covers the whole viewport, above the shell's menu (z-index 30). */\n.lintje-modal__scrim {\n position: fixed; z-index: 80;\n inset: 0;\n background: var(--color-overlay-page);\n display: flex; align-items: center; justify-content: center;\n padding: var(--space-6);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n.lintje-modal {\n width: min(1200px, 100%);\n height: 100%;\n max-height: 100%;\n display: flex; flex-direction: column;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-strong);\n box-shadow: var(--shadow-popover);\n animation: lintje-rise var(--dur-modal) var(--ease-in-motion);\n}\n.lintje-modal:focus { outline: none; }\n\n.lintje-modal__header {\n display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4);\n padding: var(--space-5) var(--space-6);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-modal__title { font: var(--text-h2); }\n.lintje-modal__subtitle { font: var(--text-tile-sub); color: var(--color-text-muted); margin-top: var(--space-1); }\n.lintje-modal__close:hover { color: var(--color-text-primary); }\n\n.lintje-modal__body {\n flex: 1; min-height: 0; overflow: auto;\n padding: var(--space-5) var(--space-6);\n /* LintjeModal sets --chart-h-expanded on this body; a chart reads its own height token. */\n --chart-h-main: var(--chart-h-expanded);\n --chart-h-small: var(--chart-h-expanded);\n}\n\n.lintje-modal__footer {\n display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);\n padding: var(--space-3) var(--space-6);\n border-top: 1px solid var(--color-border-default);\n font: var(--text-meta); color: var(--color-text-muted);\n}\n.lintje-modal__actions { display: flex; gap: var(--space-2); }\n.lintje-modal__actions[hidden] { display: none; }\n\n@media screen and (max-width: 767px) {\n .lintje-modal__scrim { padding: 0; align-items: stretch; }\n .lintje-modal { max-height: 100%; height: 100%; }\n .lintje-modal__body { --chart-h-main: 320px; --chart-h-small: 320px; }\n}\n", u = class extends e {
|
|
6
6
|
constructor(...e) {
|
|
7
|
-
super(...e), this.open = !1, this.heading = "
|
|
8
|
-
e.key === "Escape" && this.#t.isTopmost() && this.close();
|
|
9
|
-
};
|
|
7
|
+
super(...e), this.open = !1, this.heading = "", this.csv = !1, this.png = !1, this.footerSlotted = !1, this.actionsSlotted = !1, this.#e = new c(() => this.close()), this.#t = null;
|
|
10
8
|
}
|
|
11
9
|
static {
|
|
12
10
|
this.styles = [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
i,
|
|
12
|
+
n(s),
|
|
13
|
+
n(l)
|
|
16
14
|
];
|
|
17
15
|
}
|
|
18
16
|
static {
|
|
@@ -25,10 +23,6 @@ var u = "/* `display: contents` keeps the host out of its parent's flex or grid
|
|
|
25
23
|
subtitle: { type: String },
|
|
26
24
|
csv: { type: Boolean },
|
|
27
25
|
png: { type: Boolean },
|
|
28
|
-
narrow: {
|
|
29
|
-
type: Boolean,
|
|
30
|
-
reflect: !0
|
|
31
|
-
},
|
|
32
26
|
footerSlotted: { state: !0 },
|
|
33
27
|
actionsSlotted: { state: !0 }
|
|
34
28
|
};
|
|
@@ -42,45 +36,42 @@ var u = "/* `display: contents` keeps the host out of its parent's flex or grid
|
|
|
42
36
|
}
|
|
43
37
|
#e;
|
|
44
38
|
#t;
|
|
45
|
-
#n;
|
|
46
|
-
#r;
|
|
47
39
|
disconnectedCallback() {
|
|
48
|
-
this.#
|
|
40
|
+
this.#i(), super.disconnectedCallback();
|
|
49
41
|
}
|
|
50
42
|
updated() {
|
|
51
|
-
this.open && !this.#e ? this.#
|
|
43
|
+
this.open && !this.#e.held ? this.#r() : !this.open && this.#e.held && this.#i(), this.open && this.#n();
|
|
52
44
|
}
|
|
53
|
-
#
|
|
45
|
+
#n() {
|
|
54
46
|
let e = this.renderRoot.querySelector(".lintje-modal__body");
|
|
55
47
|
if (!e) return;
|
|
56
48
|
let t = getComputedStyle(e), n = e.clientHeight - parseFloat(t.paddingTop) - parseFloat(t.paddingBottom);
|
|
57
|
-
n > 0 && e.style.setProperty("--chart-h-expanded", `${Math.floor(n)}px`), !this.#
|
|
49
|
+
n > 0 && e.style.setProperty("--chart-h-expanded", `${Math.floor(n)}px`), !this.#t && typeof ResizeObserver < "u" && (this.#t = new ResizeObserver(() => this.#n()), this.#t.observe(e));
|
|
58
50
|
}
|
|
59
51
|
close() {
|
|
60
52
|
this.emit("lintje-close");
|
|
61
53
|
}
|
|
62
|
-
#
|
|
63
|
-
this.#e = i(), document.addEventListener("keydown", this.#r);
|
|
54
|
+
#r() {
|
|
64
55
|
let e = this.renderRoot.querySelector(".lintje-modal");
|
|
65
|
-
e && this.#
|
|
56
|
+
e && (this.#e.hold(e), e.focus());
|
|
66
57
|
}
|
|
67
|
-
#
|
|
68
|
-
this.#e && (this.#
|
|
58
|
+
#i() {
|
|
59
|
+
this.#e.held && (this.#t?.disconnect(), this.#t = null, this.#e.release());
|
|
69
60
|
}
|
|
70
61
|
render() {
|
|
71
|
-
return this.open ?
|
|
62
|
+
return this.open ? a`<div class="lintje-modal__scrim" @click=${() => this.close()}>
|
|
72
63
|
<div
|
|
73
64
|
class="lintje-modal"
|
|
74
65
|
role="dialog"
|
|
75
66
|
aria-modal="true"
|
|
76
|
-
aria-label=${this.heading}
|
|
67
|
+
aria-label=${this.heading.trim() || "Venster"}
|
|
77
68
|
tabindex="-1"
|
|
78
69
|
@click=${(e) => e.stopPropagation()}
|
|
79
70
|
>
|
|
80
71
|
<header class="lintje-modal__header">
|
|
81
72
|
<div>
|
|
82
73
|
<h2 class="lintje-modal__title">${this.heading}</h2>
|
|
83
|
-
${this.subtitle ?
|
|
74
|
+
${this.subtitle ? a`<p class="lintje-modal__subtitle">${this.subtitle}</p>` : r}
|
|
84
75
|
</div>
|
|
85
76
|
<button
|
|
86
77
|
type="button"
|
|
@@ -88,7 +79,7 @@ var u = "/* `display: contents` keeps the host out of its parent's flex or grid
|
|
|
88
79
|
aria-label="Sluiten"
|
|
89
80
|
@click=${() => this.close()}
|
|
90
81
|
>
|
|
91
|
-
${
|
|
82
|
+
${o("functioneel-kruis", { size: 16 })}
|
|
92
83
|
</button>
|
|
93
84
|
</header>
|
|
94
85
|
|
|
@@ -101,27 +92,27 @@ var u = "/* `display: contents` keeps the host out of its parent's flex or grid
|
|
|
101
92
|
<span><slot name="footer" @slotchange=${this.onFooterSlotChange}></slot></span>
|
|
102
93
|
<div class="lintje-modal__actions" ?hidden=${!this.csv && !this.png && !this.actionsSlotted}>
|
|
103
94
|
<slot name="actions" @slotchange=${this.onActionsSlotChange}></slot>
|
|
104
|
-
${this.csv || this.png ?
|
|
105
|
-
${this.csv ?
|
|
95
|
+
${this.csv || this.png ? a`
|
|
96
|
+
${this.csv ? a`<lintje-button
|
|
106
97
|
variant="tertiary"
|
|
107
98
|
size="compact"
|
|
108
99
|
icon="functioneel-downloaden"
|
|
109
100
|
@click=${() => this.emit("lintje-download-csv")}
|
|
110
101
|
>CSV</lintje-button
|
|
111
|
-
>` :
|
|
112
|
-
${this.png ?
|
|
102
|
+
>` : r}
|
|
103
|
+
${this.png ? a`<lintje-button
|
|
113
104
|
variant="tertiary"
|
|
114
105
|
size="compact"
|
|
115
106
|
icon="functioneel-downloaden"
|
|
116
107
|
@click=${() => this.emit("lintje-download-png")}
|
|
117
108
|
>PNG</lintje-button
|
|
118
|
-
>` :
|
|
109
|
+
>` : r}` : r}
|
|
119
110
|
</div>
|
|
120
111
|
</footer>
|
|
121
112
|
</div>
|
|
122
|
-
</div>` :
|
|
113
|
+
</div>` : r;
|
|
123
114
|
}
|
|
124
115
|
};
|
|
125
|
-
t("lintje-modal",
|
|
116
|
+
t("lintje-modal", u);
|
|
126
117
|
//#endregion
|
|
127
|
-
export {
|
|
118
|
+
export { u as LintjeModal };
|