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
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Gt as e, Jt as t, Kt as n, Yt as r, Zt as i, en as a, lt as o, nn as s, ut as c } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { n as l, r as u } from "../chunks/focus-trap-BwOxE5BX.js";
|
|
3
|
+
import { t as d } from "../chunks/dialog-close-u75fVEw4.js";
|
|
4
|
+
import { n as f, t as p } from "../chunks/controls-DxmnDSBr.js";
|
|
5
|
+
import { t as m } from "../chunks/dialog-DChINFxD.js";
|
|
6
|
+
//#region src/components/overlays/dialog/dialog.css?inline
|
|
7
|
+
var h = "/* `display: contents` keeps the host out of its parent's flex or grid layout. */\n:host { display: contents; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Covers the whole viewport, above the shell's menu (z-index 30). */\n.lintje-dialog__scrim {\n position: fixed;\n z-index: 80;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--space-6);\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n\n.lintje-dialog {\n width: min(440px, 100%);\n max-height: 100%;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n padding: var(--space-6);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n border-radius: var(--radius);\n box-shadow: var(--shadow-popover);\n animation: lintje-rise var(--dur-modal) var(--ease-in-motion);\n}\n:host([wide]) .lintje-dialog { width: min(calc(15 * var(--space-10)), 100%); }\n/* The window takes focus only in an alert or when the trap pulls stray focus back; no ring. */\n.lintje-dialog:focus { outline: none; }\n\n.lintje-dialog__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-4);\n}\n.lintje-dialog__heading { font: var(--text-h2); }\n/* The close button reaches into the padding, so it does not make the heading's line taller. */\n.lintje-dialog__close { margin: calc(var(--space-2) * -1) calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0; }\n.lintje-dialog__close:hover { color: var(--color-text-primary); }\n\n/* A long form scrolls here; the padding keeps a field's focus ring inside the scroll box. */\n.lintje-dialog__body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n margin: calc(var(--focus-width) * -1) calc(var(--space-6) * -1);\n padding: var(--focus-width) var(--space-6);\n font: var(--text-body);\n}\n\n.lintje-dialog__footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-2) var(--space-4);\n margin-top: var(--space-3);\n}\n.lintje-dialog__footer[hidden] { display: none; }\n.lintje-dialog__note { font: var(--text-ui); }\n.lintje-dialog__actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--space-2);\n margin-left: auto;\n}\n\n/* Phone: the buttons stack, the last (the answer) on top and the safe one at the bottom. */\n@media screen and (max-width: 767px) {\n .lintje-dialog__scrim { padding: var(--space-4); }\n .lintje-dialog { width: 100%; }\n .lintje-dialog__footer { flex-direction: column; align-items: stretch; }\n .lintje-dialog__actions { flex-direction: column-reverse; margin-left: 0; }\n}\n", g = "input:not([type=\"hidden\"], [type=\"checkbox\"], [type=\"radio\"]), select, textarea, [contenteditable]";
|
|
8
|
+
function _(e) {
|
|
9
|
+
return e.assignedNodes({ flatten: !0 }).some((e) => e.nodeType !== Node.TEXT_NODE || (e.textContent ?? "").trim() !== "");
|
|
10
|
+
}
|
|
11
|
+
var v = class extends t {
|
|
12
|
+
constructor(...t) {
|
|
13
|
+
super(...t), this.open = !1, this.heading = "", this.alert = !1, this.persistent = !1, this.wide = !1, this.busy = !1, this.footerSlotted = !1, this.#e = new n(this, e), this.#t = new m(() => this.ask("escape")), this.#n = new f("busy"), this.#r = new f("disabled"), this.#i = new p("block");
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.styles = [
|
|
17
|
+
o,
|
|
18
|
+
i(d),
|
|
19
|
+
i(h)
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
static {
|
|
23
|
+
this.properties = {
|
|
24
|
+
open: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
reflect: !0
|
|
27
|
+
},
|
|
28
|
+
heading: { type: String },
|
|
29
|
+
alert: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
reflect: !0
|
|
32
|
+
},
|
|
33
|
+
persistent: {
|
|
34
|
+
type: Boolean,
|
|
35
|
+
reflect: !0
|
|
36
|
+
},
|
|
37
|
+
wide: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
reflect: !0
|
|
40
|
+
},
|
|
41
|
+
busy: {
|
|
42
|
+
type: Boolean,
|
|
43
|
+
reflect: !0
|
|
44
|
+
},
|
|
45
|
+
footerSlotted: { state: !0 }
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
#e;
|
|
49
|
+
#t;
|
|
50
|
+
#n;
|
|
51
|
+
#r;
|
|
52
|
+
#i;
|
|
53
|
+
ask(e) {
|
|
54
|
+
this.busy || this.persistent && e !== "button" || this.emit("lintje-close", { reason: e });
|
|
55
|
+
}
|
|
56
|
+
get frame() {
|
|
57
|
+
return this.renderRoot.querySelector(".lintje-dialog");
|
|
58
|
+
}
|
|
59
|
+
get buttons() {
|
|
60
|
+
return Array.from(this.querySelectorAll(":scope > [slot=\"actions\"]"));
|
|
61
|
+
}
|
|
62
|
+
willUpdate(e) {
|
|
63
|
+
super.willUpdate(e), e.has("open") && this.open && (this.footerSlotted = this.querySelector(":scope > [slot=\"footer\"], :scope > [slot=\"actions\"]") !== null);
|
|
64
|
+
}
|
|
65
|
+
disconnectedCallback() {
|
|
66
|
+
this.#s(), super.disconnectedCallback();
|
|
67
|
+
}
|
|
68
|
+
updated(e) {
|
|
69
|
+
super.updated(e), this.open && !this.#t.held ? this.#a() : !this.open && this.#t.held && this.#s(), this.#c();
|
|
70
|
+
}
|
|
71
|
+
#a() {
|
|
72
|
+
let e = this.frame;
|
|
73
|
+
if (!e) return;
|
|
74
|
+
this.#t.hold(e);
|
|
75
|
+
let t = Array.from(this.querySelectorAll("*"), (e) => "updateComplete" in e ? e.updateComplete : null).filter((e) => e !== null);
|
|
76
|
+
Promise.all(t).then(() => {
|
|
77
|
+
this.open && this.#t.isTopmost() && this.#o();
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
#o() {
|
|
81
|
+
let e = this.frame;
|
|
82
|
+
if (!e) return;
|
|
83
|
+
let t = this.querySelector("[autofocus]");
|
|
84
|
+
if (t) return l(t).focus();
|
|
85
|
+
if (this.alert) return e.focus();
|
|
86
|
+
let n = this.renderRoot.querySelector(".lintje-dialog__body"), r = n ? u(n).find((e) => e.matches(g)) : void 0, i = this.renderRoot.querySelector(".lintje-dialog__close");
|
|
87
|
+
(r ?? i ?? e).focus();
|
|
88
|
+
}
|
|
89
|
+
#s() {
|
|
90
|
+
this.#t.release(), this.#n.release(), this.#r.release(), this.#i.release();
|
|
91
|
+
}
|
|
92
|
+
#c() {
|
|
93
|
+
if (!this.open) return;
|
|
94
|
+
let e = this.buttons;
|
|
95
|
+
if (this.busy) {
|
|
96
|
+
let t = e.filter((e) => ["primary", "danger"].includes(e.getAttribute("variant") ?? "")).at(-1) ?? e.at(-1);
|
|
97
|
+
this.#n.apply(t ? [t] : [], !0), this.#r.apply(e.filter((e) => e !== t), !0);
|
|
98
|
+
} else this.#n.release(), this.#r.release();
|
|
99
|
+
this.#e.matches ? this.#i.apply(e, !0) : this.#i.release();
|
|
100
|
+
}
|
|
101
|
+
onSlotChange() {
|
|
102
|
+
let e = this.renderRoot.querySelectorAll("slot[name]");
|
|
103
|
+
this.footerSlotted = Array.from(e).some(_), this.#c();
|
|
104
|
+
}
|
|
105
|
+
render() {
|
|
106
|
+
return this.open ? s`<div class="lintje-dialog__scrim" @click=${() => this.ask("scrim")}>
|
|
107
|
+
<div
|
|
108
|
+
class="lintje-dialog"
|
|
109
|
+
role=${this.alert ? "alertdialog" : "dialog"}
|
|
110
|
+
aria-modal="true"
|
|
111
|
+
aria-labelledby="lintje-dialog-heading"
|
|
112
|
+
aria-describedby=${this.alert ? "lintje-dialog-text" : a}
|
|
113
|
+
aria-busy=${this.busy ? "true" : a}
|
|
114
|
+
tabindex="-1"
|
|
115
|
+
@click=${(e) => e.stopPropagation()}
|
|
116
|
+
>
|
|
117
|
+
<header class="lintje-dialog__header">
|
|
118
|
+
<h2 id="lintje-dialog-heading" class="lintje-dialog__heading">${this.heading}</h2>
|
|
119
|
+
${this.alert ? a : s`<button
|
|
120
|
+
type="button"
|
|
121
|
+
class="lintje-dialog-close lintje-dialog__close"
|
|
122
|
+
aria-label="Sluiten"
|
|
123
|
+
aria-disabled=${this.busy ? "true" : a}
|
|
124
|
+
@click=${() => this.ask("button")}
|
|
125
|
+
>
|
|
126
|
+
${c("functioneel-kruis", { size: 16 })}
|
|
127
|
+
</button>`}
|
|
128
|
+
</header>
|
|
129
|
+
<div id="lintje-dialog-text" class="lintje-dialog__body"><slot></slot></div>
|
|
130
|
+
<div class="lintje-dialog__footer" ?hidden=${!this.footerSlotted}>
|
|
131
|
+
<div class="lintje-dialog__note">
|
|
132
|
+
<slot name="footer" @slotchange=${this.onSlotChange}></slot>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="lintje-dialog__actions">
|
|
135
|
+
<slot name="actions" @slotchange=${this.onSlotChange}></slot>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</div>` : a;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
r("lintje-dialog", v);
|
|
143
|
+
//#endregion
|
|
144
|
+
export { v as LintjeDialog };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Jt as e, L as t, Yt as n, Zt as r, bt as i, en as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
import "./empty-state.js";
|
|
3
3
|
//#region src/components/content/document-viewer/document-viewer.css?inline
|
|
4
|
-
var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-document-viewer {\n display: flex;\n flex-direction: column;\n height: 100%;\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n}\n\n.lintje-document-viewer__toolbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-2) var(--space-4);\n padding: var(--space-1) var(--space-3);\n border-bottom: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-document-viewer__name {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 700;\n}\n.lintje-document-viewer__group { display: flex; align-items: center; gap: var(--space-1); }\n.lintje-document-viewer__button { height: var(--h-button); min-width: var(--h-button); }\n.lintje-document-viewer__figure { font-variant-numeric: tabular-nums; white-space: nowrap; }\n.lintje-document-viewer__zoom { min-width: 7ch; text-align: center; }\n\n.lintje-document-viewer__view {\n position: relative;\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n padding: var(--space-6);\n background: var(--color-bg-subtle);\n touch-action: pan-x pan-y pinch-zoom;\n}\n\n/* Auto margins centre the page; a wider page scrolls to its left edge instead of being cut. */\n.lintje-document-viewer__page {\n margin: 0 auto;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-document-viewer__page.is-fit { width: 100%; }\n.lintje-document-viewer__page.is-loading {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n}\n.lintje-document-viewer__image { display: block; width: 100%; height: auto; }\n\n.lintje-document-viewer__skeleton {\n display: block;\n width: 100%;\n max-width: 420px;\n margin: 0 auto;\n aspect-ratio: 210 / 297;\n}\n\n@media (max-width: 767px) {\n .lintje-document-viewer__name { flex-basis: 100%; }\n .lintje-document-viewer__view { padding: var(--space-2) 0; }\n}\n", d = 50, f = 400, p = 25;
|
|
4
|
+
var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-document-viewer {\n display: flex;\n flex-direction: column;\n height: 100%;\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n}\n\n.lintje-document-viewer__toolbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-2) var(--space-4);\n padding: var(--space-1) var(--space-3);\n border-bottom: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-document-viewer__name {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 700;\n}\n.lintje-document-viewer__group { display: flex; align-items: center; gap: var(--space-1); }\n.lintje-document-viewer__button { height: var(--h-button); min-width: var(--h-button); }\n.lintje-document-viewer__figure { font-variant-numeric: tabular-nums; white-space: nowrap; }\n.lintje-document-viewer__zoom { min-width: 7ch; text-align: center; }\n\n.lintje-document-viewer__view {\n position: relative;\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n padding: var(--space-6);\n background: var(--color-bg-subtle);\n touch-action: pan-x pan-y pinch-zoom;\n}\n\n/* Auto margins centre the page; a wider page scrolls to its left edge instead of being cut. */\n.lintje-document-viewer__page {\n margin: 0 auto;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-document-viewer__page.is-fit { width: 100%; }\n.lintje-document-viewer__page.is-loading {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n}\n.lintje-document-viewer__image { display: block; width: 100%; height: auto; }\n\n.lintje-document-viewer__skeleton {\n display: block;\n width: 100%;\n max-width: 420px;\n margin: 0 auto;\n aspect-ratio: 210 / 297;\n}\n\n@media screen and (max-width: 767px) {\n .lintje-document-viewer__name { flex-basis: 100%; }\n .lintje-document-viewer__view { padding: var(--space-2) 0; }\n}\n", d = 50, f = 400, p = 25;
|
|
5
5
|
function m(e) {
|
|
6
6
|
if (e === "fit" || e == null || e === "") return "fit";
|
|
7
7
|
let t = Number(String(e).replace("%", ""));
|
|
@@ -20,14 +20,14 @@ function _(e, t) {
|
|
|
20
20
|
function v(e, t) {
|
|
21
21
|
return `Pagina ${e} van ${Math.max(t, 1)}`;
|
|
22
22
|
}
|
|
23
|
-
var y = class extends
|
|
23
|
+
var y = class extends e {
|
|
24
24
|
constructor(...e) {
|
|
25
25
|
super(...e), this.pages = [], this.src = "", this.name = "", this.page = 1, this.zoom = "fit", this.loaded = !1, this.failed = !1, this.naturalWidth = 0, this.fitPercent = 100, this.said = "", this.shown = null;
|
|
26
26
|
}
|
|
27
27
|
static {
|
|
28
28
|
this.styles = [
|
|
29
|
-
|
|
30
|
-
r(
|
|
29
|
+
o,
|
|
30
|
+
r(t),
|
|
31
31
|
r(u)
|
|
32
32
|
];
|
|
33
33
|
}
|
|
@@ -141,26 +141,26 @@ var y = class extends l {
|
|
|
141
141
|
let n = this.url;
|
|
142
142
|
n !== this.shown && (this.shown = n, this.loaded = !1, this.failed = !1);
|
|
143
143
|
}
|
|
144
|
-
renderButton(e, t,
|
|
145
|
-
let
|
|
144
|
+
renderButton(e, t, n, r = {}) {
|
|
145
|
+
let i = r.disabled ?? !1;
|
|
146
146
|
return s`<button
|
|
147
147
|
type="button"
|
|
148
|
-
class=${
|
|
148
|
+
class=${c({
|
|
149
149
|
"lintje-icon-button": !0,
|
|
150
150
|
"lintje-icon-button--flat": !0,
|
|
151
151
|
"lintje-document-viewer__button": !0,
|
|
152
|
-
"is-disabled":
|
|
152
|
+
"is-disabled": i
|
|
153
153
|
})}
|
|
154
154
|
aria-label=${t}
|
|
155
155
|
title=${t}
|
|
156
|
-
aria-disabled=${
|
|
156
|
+
aria-disabled=${i ? "true" : a}
|
|
157
157
|
@click=${() => {
|
|
158
|
-
|
|
158
|
+
i || n();
|
|
159
159
|
}}
|
|
160
160
|
>
|
|
161
|
-
${
|
|
161
|
+
${l(e, {
|
|
162
162
|
size: 18,
|
|
163
|
-
flip:
|
|
163
|
+
flip: r.flip ? "horizontal" : void 0
|
|
164
164
|
})}
|
|
165
165
|
</button>`;
|
|
166
166
|
}
|
|
@@ -213,29 +213,29 @@ var y = class extends l {
|
|
|
213
213
|
>Downloaden</lintje-button
|
|
214
214
|
>
|
|
215
215
|
</lintje-empty-state>`;
|
|
216
|
-
let e = this.count, t = _(this.page, e),
|
|
217
|
-
return s`${this.loaded ?
|
|
216
|
+
let e = this.count, t = _(this.page, e), n = this.url, r = this.zoom, o = r === "fit" || !this.naturalWidth ? null : `${this.naturalWidth * r / 100}px`;
|
|
217
|
+
return s`${this.loaded ? a : s`<lintje-skeleton class="lintje-document-viewer__skeleton" height="auto"></lintje-skeleton>`}
|
|
218
218
|
<div
|
|
219
|
-
class=${
|
|
219
|
+
class=${c({
|
|
220
220
|
"lintje-document-viewer__page": !0,
|
|
221
|
-
"is-fit":
|
|
221
|
+
"is-fit": r === "fit",
|
|
222
222
|
"is-loading": !this.loaded
|
|
223
223
|
})}
|
|
224
224
|
role="img"
|
|
225
225
|
aria-label=${`${v(t, e)}${this.name ? ` van ${this.name}` : ""}`}
|
|
226
|
-
${
|
|
226
|
+
${i({ width: o })}
|
|
227
227
|
>
|
|
228
|
-
${
|
|
228
|
+
${n ? s`<img
|
|
229
229
|
class="lintje-document-viewer__image"
|
|
230
|
-
src=${
|
|
230
|
+
src=${n}
|
|
231
231
|
alt=""
|
|
232
232
|
@load=${this.onLoad}
|
|
233
233
|
@error=${this.onError}
|
|
234
|
-
/>` :
|
|
234
|
+
/>` : a}
|
|
235
235
|
</div>
|
|
236
236
|
${this.texts?.[t - 1] ? s`<div class="visually-hidden lintje-document-viewer__text">
|
|
237
237
|
${this.texts[t - 1]}
|
|
238
|
-
</div>` :
|
|
238
|
+
</div>` : a}`;
|
|
239
239
|
}
|
|
240
240
|
render() {
|
|
241
241
|
return s`<div class="lintje-document-viewer" @keydown=${this.onKeydown}>
|
|
@@ -251,6 +251,6 @@ var y = class extends l {
|
|
|
251
251
|
</div>`;
|
|
252
252
|
}
|
|
253
253
|
};
|
|
254
|
-
|
|
254
|
+
n("lintje-document-viewer", y);
|
|
255
255
|
//#endregion
|
|
256
256
|
export { y as LintjeDocumentViewer, f as ZOOM_MAX, d as ZOOM_MIN, p as ZOOM_STEP, _ as clampPage, v as pageLabel, m as parseZoom, h as stepZoom, g as zoomLabel };
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r 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 { r as s } from "../chunks/focus-trap-BwOxE5BX.js";
|
|
3
|
+
import { t as c } from "../chunks/dialog-close-u75fVEw4.js";
|
|
4
|
+
import { t as l } from "../chunks/dialog-DChINFxD.js";
|
|
4
5
|
//#region src/components/overlays/drawer/drawer.css?inline
|
|
5
|
-
var
|
|
6
|
+
var u = ":host { display: contents; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The modal's z-index: above the shell's menu. */\n.lintje-drawer__scrim {\n position: fixed; inset: 0; z-index: 80;\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n\n.lintje-drawer {\n position: fixed; top: 0; right: 0; bottom: 0; z-index: 81;\n width: min(480px, 100vw);\n display: flex; flex-direction: column;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border-left: 1px solid var(--color-border-strong);\n box-shadow: var(--shadow-popover);\n animation: lintje-drawer-in var(--dur-sheet) var(--ease-in-motion);\n}\n.lintje-drawer:focus { outline: none; }\n\n.lintje-drawer__header {\n display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3);\n padding: var(--space-5) var(--space-6);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-drawer__heading { min-width: 0; }\n.lintje-drawer__title { font: var(--text-h2); }\n.lintje-drawer__subtitle { font: var(--text-small); color: var(--color-text-muted); margin-top: var(--space-1); }\n/* No hover while the close button is unavailable. */\n.lintje-drawer__close:not([aria-disabled='true']):hover { color: var(--color-text-primary); }\n\n.lintje-drawer__body {\n flex: 1; min-height: 0; overflow-y: auto;\n padding: var(--space-5) var(--space-6);\n display: flex; flex-direction: column; gap: var(--space-4);\n}\n\n.lintje-drawer__footer {\n display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-2);\n padding: var(--space-3) var(--space-6);\n border-top: 1px solid var(--color-border-default);\n}\n\n/* A keyframe only works in the root that uses it. */\n@keyframes lintje-drawer-in {\n from { transform: translateX(100%); }\n to { transform: none; }\n}\n\n@media screen and (max-width: 767px) {\n .lintje-drawer {\n inset: 0;\n width: 100%;\n border-left: 0;\n animation-name: lintje-sheet-in;\n }\n .lintje-drawer__header,\n .lintje-drawer__body,\n .lintje-drawer__footer { padding-left: var(--space-4); padding-right: var(--space-4); }\n}\n", d = "input:not([type=\"hidden\"]), select, textarea", f = "Zijpaneel", p = class extends e {
|
|
6
7
|
constructor(...e) {
|
|
7
|
-
super(...e), this.open = !1, this.heading = "", this.busy = !1, this.footerSlotted = !1, this.#e =
|
|
8
|
-
e.key === "Escape" && this.#t.isTopmost() && this.close("escape");
|
|
9
|
-
};
|
|
8
|
+
super(...e), this.open = !1, this.heading = "", this.busy = !1, this.footerSlotted = !1, this.#e = new l(() => this.close("escape"));
|
|
10
9
|
}
|
|
11
10
|
static {
|
|
12
11
|
this.styles = [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
i,
|
|
13
|
+
n(c),
|
|
14
|
+
n(u)
|
|
16
15
|
];
|
|
17
16
|
}
|
|
18
17
|
static {
|
|
@@ -31,8 +30,6 @@ var d = ":host { display: contents; }\n\n/* ------------------------------------
|
|
|
31
30
|
};
|
|
32
31
|
}
|
|
33
32
|
#e;
|
|
34
|
-
#t;
|
|
35
|
-
#n;
|
|
36
33
|
close(e) {
|
|
37
34
|
this.busy || this.emit("lintje-close", { reason: e });
|
|
38
35
|
}
|
|
@@ -47,55 +44,54 @@ var d = ":host { display: contents; }\n\n/* ------------------------------------
|
|
|
47
44
|
super.willUpdate(e), e.has("open") && this.open && (this.footerSlotted = this.querySelector(":scope > [slot=\"footer\"]") !== null);
|
|
48
45
|
}
|
|
49
46
|
disconnectedCallback() {
|
|
50
|
-
this.#
|
|
47
|
+
this.#n(), super.disconnectedCallback();
|
|
51
48
|
}
|
|
52
49
|
updated(e) {
|
|
53
|
-
super.updated(e), this.open && !this.#e ? this.#
|
|
50
|
+
super.updated(e), this.open && !this.#e.held ? this.#t() : !this.open && this.#e.held && this.#n();
|
|
54
51
|
}
|
|
55
52
|
focusFirst() {
|
|
56
53
|
let e = this.panel;
|
|
57
54
|
if (!e) return;
|
|
58
|
-
let t = this.renderRoot.querySelector(".lintje-drawer__body"), n = t ?
|
|
55
|
+
let t = this.renderRoot.querySelector(".lintje-drawer__body"), n = t ? s(t).find((e) => e.matches(d)) : void 0, r = this.renderRoot.querySelector(".lintje-drawer__close");
|
|
59
56
|
(n ?? r ?? e).focus();
|
|
60
57
|
}
|
|
61
|
-
#
|
|
62
|
-
this.#e = i(), document.addEventListener("keydown", this.#n);
|
|
58
|
+
#t() {
|
|
63
59
|
let e = this.panel;
|
|
64
|
-
e && this.#
|
|
60
|
+
e && this.#e.hold(e);
|
|
65
61
|
let t = Array.from(this.querySelectorAll("*"), (e) => "updateComplete" in e ? e.updateComplete : null).filter((e) => e !== null);
|
|
66
62
|
Promise.all(t).then(() => {
|
|
67
|
-
this.open && this.#
|
|
63
|
+
this.open && this.#e.isTopmost() && this.focusFirst();
|
|
68
64
|
});
|
|
69
65
|
}
|
|
70
|
-
#
|
|
71
|
-
this.#e
|
|
66
|
+
#n() {
|
|
67
|
+
this.#e.release();
|
|
72
68
|
}
|
|
73
69
|
render() {
|
|
74
|
-
if (!this.open) return
|
|
70
|
+
if (!this.open) return r;
|
|
75
71
|
let e = this.heading.trim() !== "";
|
|
76
|
-
return
|
|
72
|
+
return a`<div class="lintje-drawer__scrim" @click=${() => this.close("scrim")}></div>
|
|
77
73
|
<div
|
|
78
74
|
class="lintje-drawer"
|
|
79
75
|
role="dialog"
|
|
80
76
|
aria-modal="true"
|
|
81
|
-
aria-labelledby=${e ? "lintje-drawer-title" :
|
|
82
|
-
aria-label=${e ?
|
|
83
|
-
aria-busy=${this.busy ? "true" :
|
|
77
|
+
aria-labelledby=${e ? "lintje-drawer-title" : r}
|
|
78
|
+
aria-label=${e ? r : f}
|
|
79
|
+
aria-busy=${this.busy ? "true" : r}
|
|
84
80
|
tabindex="-1"
|
|
85
81
|
>
|
|
86
82
|
<header class="lintje-drawer__header">
|
|
87
83
|
<div class="lintje-drawer__heading">
|
|
88
|
-
${e ?
|
|
89
|
-
${this.subtitle ?
|
|
84
|
+
${e ? a`<h2 id="lintje-drawer-title" class="lintje-drawer__title">${this.heading}</h2>` : r}
|
|
85
|
+
${this.subtitle ? a`<p class="lintje-drawer__subtitle">${this.subtitle}</p>` : r}
|
|
90
86
|
</div>
|
|
91
87
|
<button
|
|
92
88
|
type="button"
|
|
93
89
|
class="lintje-dialog-close lintje-drawer__close"
|
|
94
90
|
aria-label="Sluiten"
|
|
95
|
-
aria-disabled=${this.busy ? "true" :
|
|
91
|
+
aria-disabled=${this.busy ? "true" : r}
|
|
96
92
|
@click=${() => this.close("button")}
|
|
97
93
|
>
|
|
98
|
-
${
|
|
94
|
+
${o("functioneel-kruis", { size: 16 })}
|
|
99
95
|
</button>
|
|
100
96
|
</header>
|
|
101
97
|
<div class="lintje-drawer__body"><slot></slot></div>
|
|
@@ -105,6 +101,6 @@ var d = ":host { display: contents; }\n\n/* ------------------------------------
|
|
|
105
101
|
</div>`;
|
|
106
102
|
}
|
|
107
103
|
};
|
|
108
|
-
t("lintje-drawer",
|
|
104
|
+
t("lintje-drawer", p);
|
|
109
105
|
//#endregion
|
|
110
|
-
export {
|
|
106
|
+
export { p as LintjeDrawer };
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as e, Jt as t, T as n, Yt as r, Zt as i, lt as a, nn as o } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
//#region src/components/feedback/empty-state/empty-state.css?inline
|
|
3
|
-
var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n
|
|
3
|
+
var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n", c = class extends t {
|
|
4
4
|
constructor(...e) {
|
|
5
5
|
super(...e), this.compact = !1, this.level = 3, this.status = !1, this.slotted = !1, this.filled = !1, this.#e = 0;
|
|
6
6
|
}
|
|
7
7
|
static {
|
|
8
|
-
this.styles = [
|
|
8
|
+
this.styles = [
|
|
9
|
+
a,
|
|
10
|
+
i(s),
|
|
11
|
+
n
|
|
12
|
+
];
|
|
9
13
|
}
|
|
10
14
|
static {
|
|
11
15
|
this.properties = {
|
|
@@ -35,35 +39,20 @@ var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
35
39
|
let t = e.target.assignedNodes({ flatten: !0 });
|
|
36
40
|
this.slotted = t.some((e) => e.nodeType !== Node.TEXT_NODE || (e.textContent ?? "").trim() !== "");
|
|
37
41
|
}
|
|
38
|
-
renderHeading() {
|
|
39
|
-
if (!this.heading) return n;
|
|
40
|
-
let e = this.heading;
|
|
41
|
-
switch (this.level) {
|
|
42
|
-
case 2: return a`<h2 class="lintje-empty-state__heading">${e}</h2>`;
|
|
43
|
-
case 4: return a`<h4 class="lintje-empty-state__heading">${e}</h4>`;
|
|
44
|
-
case 5: return a`<h5 class="lintje-empty-state__heading">${e}</h5>`;
|
|
45
|
-
case 6: return a`<h6 class="lintje-empty-state__heading">${e}</h6>`;
|
|
46
|
-
default: return a`<h3 class="lintje-empty-state__heading">${e}</h3>`;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
42
|
render() {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
${this.text ? a`<p class="lintje-empty-state__text">${this.text}</p>` : n}
|
|
62
|
-
<div class="lintje-empty-state__action" ?hidden=${!this.slotted}>
|
|
63
|
-
<slot @slotchange=${this.onSlotChange}></slot>
|
|
64
|
-
</div>`;
|
|
43
|
+
return e({
|
|
44
|
+
heading: this.heading,
|
|
45
|
+
text: this.text,
|
|
46
|
+
icon: this.icon,
|
|
47
|
+
level: this.level,
|
|
48
|
+
compact: this.compact,
|
|
49
|
+
status: this.status,
|
|
50
|
+
filled: this.filled,
|
|
51
|
+
action: o`<slot @slotchange=${this.onSlotChange}></slot>`,
|
|
52
|
+
actionShown: this.slotted
|
|
53
|
+
});
|
|
65
54
|
}
|
|
66
55
|
};
|
|
67
|
-
|
|
56
|
+
r("lintje-empty-state", c);
|
|
68
57
|
//#endregion
|
|
69
58
|
export { c as LintjeEmptyState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../types/components/feedback/error-page/error-page.js'
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { H as e, Jt as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s, ut as c } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import "./copy-button.js";
|
|
3
|
+
import "./description-list.js";
|
|
4
|
+
//#region src/components/feedback/error-page/error-page.css?inline
|
|
5
|
+
var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-error-page {\n display: flex; flex-direction: column;\n gap: var(--space-6);\n max-width: var(--w-text);\n padding: var(--space-10) 0;\n font: var(--text-body);\n color: var(--color-text-primary);\n}\n.lintje-error-page__head { display: flex; flex-direction: column; gap: var(--space-2); }\n.lintje-error-page__code {\n display: flex; align-items: center; gap: var(--space-2);\n margin: 0;\n font: var(--text-small);\n color: var(--color-text-muted);\n}\n.lintje-error-page__mark--error { color: var(--color-error-line); }\n.lintje-error-page__heading {\n margin: 0;\n font: var(--text-h1);\n color: var(--color-text-primary);\n overflow-wrap: anywhere;\n}\n.lintje-error-page__text { margin: 0; }\n.lintje-error-page__reference {\n display: flex; flex-direction: column; align-items: flex-start;\n gap: var(--space-3);\n}\n.lintje-error-page__pairs { align-self: stretch; }\n\n.lintje-error-page__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }\n.lintje-error-page__actions.is-empty { display: none; }\n\n.lintje-error-page__links { display: flex; flex-direction: column; gap: var(--space-2); }\n.lintje-error-page__links-heading { margin: 0; font: var(--text-h2); }\n.lintje-error-page__list {\n margin: 0; padding: 0;\n list-style: none;\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-error-page__item { border-bottom: 1px solid var(--color-border-default); }\n.lintje-error-page__link {\n display: flex; align-items: center; gap: var(--space-2);\n min-height: var(--h-target);\n color: var(--color-link);\n text-decoration: none;\n}\n.lintje-error-page__link:hover { color: var(--color-link-hover); text-decoration: underline; }\n\n@media screen and (max-width: 767px) {\n .lintje-error-page { padding: var(--space-8) 0; }\n .lintje-error-page__heading { font: var(--text-h1-mobile); }\n .lintje-error-page__actions { flex-direction: column; align-items: stretch; }\n}\n";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/components/feedback/error-page/error-page.ts
|
|
8
|
+
function u(e) {
|
|
9
|
+
let t = Number(e);
|
|
10
|
+
return t === 401 || t === 403 ? {
|
|
11
|
+
icon: "gebruiksvoorwerpen-hangslot-dicht",
|
|
12
|
+
tone: "lock"
|
|
13
|
+
} : t >= 500 && t < 600 ? {
|
|
14
|
+
icon: "functioneel-foutmelding",
|
|
15
|
+
tone: "error"
|
|
16
|
+
} : null;
|
|
17
|
+
}
|
|
18
|
+
var d = class extends t {
|
|
19
|
+
constructor(...e) {
|
|
20
|
+
super(...e), this.level = 2, this.links = [], this.hasActions = !1;
|
|
21
|
+
}
|
|
22
|
+
static {
|
|
23
|
+
this.styles = [a, r(l)];
|
|
24
|
+
}
|
|
25
|
+
static {
|
|
26
|
+
this.properties = {
|
|
27
|
+
code: { type: String },
|
|
28
|
+
heading: { type: String },
|
|
29
|
+
text: { type: String },
|
|
30
|
+
level: { type: Number },
|
|
31
|
+
links: { attribute: !1 },
|
|
32
|
+
reference: { type: String },
|
|
33
|
+
occurred: { type: String },
|
|
34
|
+
hasActions: { state: !0 }
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
follow(t, n) {
|
|
38
|
+
e(t) && this.followLink(n, t);
|
|
39
|
+
}
|
|
40
|
+
renderCode() {
|
|
41
|
+
if (!this.code) return i;
|
|
42
|
+
let e = u(this.code);
|
|
43
|
+
return o`<p class="lintje-error-page__code">
|
|
44
|
+
${e ? c(e.icon, {
|
|
45
|
+
size: 16,
|
|
46
|
+
className: `lintje-error-page__mark lintje-error-page__mark--${e.tone}`
|
|
47
|
+
}) : i}Foutcode ${this.code}
|
|
48
|
+
</p>`;
|
|
49
|
+
}
|
|
50
|
+
renderHeading() {
|
|
51
|
+
return this.heading ? this.level === 1 ? o`<h1 class="lintje-error-page__heading">${this.heading}</h1>` : o`<h2 class="lintje-error-page__heading">${this.heading}</h2>` : i;
|
|
52
|
+
}
|
|
53
|
+
renderReference() {
|
|
54
|
+
if (!this.reference) return i;
|
|
55
|
+
let e = [{
|
|
56
|
+
label: "Referentie",
|
|
57
|
+
value: this.reference
|
|
58
|
+
}];
|
|
59
|
+
return this.occurred && e.push({
|
|
60
|
+
label: "Tijdstip",
|
|
61
|
+
value: this.occurred
|
|
62
|
+
}), o`<div class="lintje-error-page__reference">
|
|
63
|
+
<lintje-description-list
|
|
64
|
+
class="lintje-error-page__pairs"
|
|
65
|
+
.items=${e}
|
|
66
|
+
></lintje-description-list>
|
|
67
|
+
<lintje-copy-button text=${this.reference}></lintje-copy-button>
|
|
68
|
+
</div>`;
|
|
69
|
+
}
|
|
70
|
+
renderLinks() {
|
|
71
|
+
if (this.links.length === 0) return i;
|
|
72
|
+
let e = "Verder naar";
|
|
73
|
+
return o`<nav class="lintje-error-page__links" aria-labelledby="links-heading">
|
|
74
|
+
${this.level === 1 ? o`<h2 id="links-heading" class="lintje-error-page__links-heading">${e}</h2>` : o`<h3 id="links-heading" class="lintje-error-page__links-heading">${e}</h3>`}
|
|
75
|
+
<ul class="lintje-error-page__list">
|
|
76
|
+
${this.links.map((e) => o`<li class="lintje-error-page__item">
|
|
77
|
+
<a
|
|
78
|
+
class="lintje-error-page__link"
|
|
79
|
+
href=${e.href}
|
|
80
|
+
@click=${(t) => this.follow(t, e.href)}
|
|
81
|
+
>${c("functioneel-delta-rechts", { size: 16 })}${e.label}</a
|
|
82
|
+
>
|
|
83
|
+
</li>`)}
|
|
84
|
+
</ul>
|
|
85
|
+
</nav>`;
|
|
86
|
+
}
|
|
87
|
+
render() {
|
|
88
|
+
return o`<div class="lintje-error-page">
|
|
89
|
+
<div class="lintje-error-page__head">${this.renderCode()}${this.renderHeading()}</div>
|
|
90
|
+
${this.text ? o`<p class="lintje-error-page__text">${this.text}</p>` : i}
|
|
91
|
+
<slot></slot>
|
|
92
|
+
${this.renderReference()}
|
|
93
|
+
<slot
|
|
94
|
+
name="actions"
|
|
95
|
+
class=${s({
|
|
96
|
+
"lintje-error-page__actions": !0,
|
|
97
|
+
"is-empty": !this.hasActions
|
|
98
|
+
})}
|
|
99
|
+
@slotchange=${(e) => {
|
|
100
|
+
this.hasActions = e.target.assignedElements().length > 0;
|
|
101
|
+
}}
|
|
102
|
+
></slot>
|
|
103
|
+
${this.renderLinks()}
|
|
104
|
+
</div>`;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
n("lintje-error-page", d);
|
|
108
|
+
//#endregion
|
|
109
|
+
export { d as LintjeErrorPage };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as s, i as c, o as l } from "../chunks/controls-
|
|
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 { c as s, i as c, o as l } from "../chunks/controls-DxmnDSBr.js";
|
|
3
3
|
//#region src/components/forms/error-summary/error-summary.css?inline
|
|
4
|
-
var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame takes the focus after a failed attempt and keeps its own red under the ring. */\n.lintje-error-summary {\n display: flex;\n align-items: flex-start;\n gap: var(--space-3);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 2px solid var(--color-error);\n border-radius: var(--radius);\n}\n.lintje-error-summary__icon {\n flex: none;\n margin-top: 2px;\n color: var(--color-error);\n}\n.lintje-error-summary__body { min-width: 0; }\n.lintje-error-summary__heading {\n margin: 0 0 var(--space-1);\n font: var(--text-tile-title);\n}\n\n.lintje-error-summary__list {\n margin: 0;\n padding-left: var(--space-5);\n list-style: disc;\n font: var(--text-ui);\n}\n.lintje-error-summary__link {\n color: var(--color-link);\n text-decoration: underline;\n transition: color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-error-summary__link:hover { color: var(--color-link-hover); }\n\n.lintje-error-summary__message {\n margin: 0;\n font: var(--text-ui);\n}\n\n@media (max-width: 767px) {\n .lintje-error-summary { padding: var(--space-3) var(--space-4); }\n}\n";
|
|
4
|
+
var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame takes the focus after a failed attempt and keeps its own red under the ring. */\n.lintje-error-summary {\n display: flex;\n align-items: flex-start;\n gap: var(--space-3);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 2px solid var(--color-error);\n border-radius: var(--radius);\n}\n.lintje-error-summary__icon {\n flex: none;\n margin-top: 2px;\n color: var(--color-error);\n}\n.lintje-error-summary__body { min-width: 0; }\n.lintje-error-summary__heading {\n margin: 0 0 var(--space-1);\n font: var(--text-tile-title);\n}\n\n.lintje-error-summary__list {\n margin: 0;\n padding-left: var(--space-5);\n list-style: disc;\n font: var(--text-ui);\n}\n.lintje-error-summary__link {\n color: var(--color-link);\n text-decoration: underline;\n transition: color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-error-summary__link:hover { color: var(--color-link-hover); }\n\n.lintje-error-summary__message {\n margin: 0;\n font: var(--text-ui);\n}\n\n@media screen and (max-width: 767px) {\n .lintje-error-summary { padding: var(--space-3) var(--space-4); }\n}\n";
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/forms/error-summary/error-summary.ts
|
|
7
7
|
function d(e) {
|
|
@@ -20,12 +20,12 @@ function m(e, t) {
|
|
|
20
20
|
}
|
|
21
21
|
return n.nodeType === Node.DOCUMENT_NODE ? f(n, t) : null;
|
|
22
22
|
}
|
|
23
|
-
var h = class extends
|
|
23
|
+
var h = class extends e {
|
|
24
24
|
constructor(...e) {
|
|
25
25
|
super(...e), this.items = [];
|
|
26
26
|
}
|
|
27
27
|
static {
|
|
28
|
-
this.styles = [
|
|
28
|
+
this.styles = [i, n(u)];
|
|
29
29
|
}
|
|
30
30
|
static {
|
|
31
31
|
this.properties = {
|
|
@@ -47,7 +47,7 @@ var h = class extends o {
|
|
|
47
47
|
n && (n.scrollIntoView?.({ block: "center" }), l(n, { preventScroll: !0 }));
|
|
48
48
|
}
|
|
49
49
|
render() {
|
|
50
|
-
if (!this.hasErrors) return
|
|
50
|
+
if (!this.hasErrors) return r;
|
|
51
51
|
let e = this.heading ?? (this.items.length ? d(this.items.length) : "Opslaan is niet gelukt");
|
|
52
52
|
return a`<div
|
|
53
53
|
class="lintje-error-summary"
|
|
@@ -55,7 +55,7 @@ var h = class extends o {
|
|
|
55
55
|
aria-labelledby="lintje-error-summary-heading"
|
|
56
56
|
tabindex="-1"
|
|
57
57
|
>
|
|
58
|
-
${
|
|
58
|
+
${o("functioneel-waarschuwing", {
|
|
59
59
|
size: 20,
|
|
60
60
|
className: "lintje-error-summary__icon"
|
|
61
61
|
})}
|
|
@@ -70,13 +70,13 @@ var h = class extends o {
|
|
|
70
70
|
>${e.label ? `${e.label}: ${e.message}` : e.message}</a
|
|
71
71
|
>` : e.message}
|
|
72
72
|
</li>`)}
|
|
73
|
-
</ul>` :
|
|
73
|
+
</ul>` : r}
|
|
74
74
|
${this.message ? a`<p class="lintje-error-summary__message">
|
|
75
75
|
${this.message}
|
|
76
76
|
${this.retry ? a`<lintje-button variant="link" @click=${() => this.emit("lintje-retry")}
|
|
77
77
|
>${this.retry}</lintje-button
|
|
78
|
-
>` :
|
|
79
|
-
</p>` :
|
|
78
|
+
>` : r}
|
|
79
|
+
</p>` : r}
|
|
80
80
|
</div>
|
|
81
81
|
</div>`;
|
|
82
82
|
}
|