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,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
import { t as o } from "./chat-composer.js";
|
|
3
3
|
//#region src/components/chat/chat-message/chat-message.css?inline
|
|
4
|
-
var s = "/* The host is a full-width block, so a view can make it stick while its answer scrolls. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Visual order is reversed from document order, so the question is read first. The gaps keep\n the edit button's hit area off the time and the bar. */\n.lintje-chat-message {\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-message__text {\n min-width: 0;\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-subtle);\n font: var(--text-body);\n color: var(--color-text-primary);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.lintje-chat-message__meta {\n flex: none;\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n}\n.lintje-chat-message__time { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* A term is underlined, never recoloured; dashed gray marks an uncertain one. */\n.lintje-chat-message__term {\n text-decoration: underline solid var(--color-term-line);\n text-decoration-thickness: 2px;\n text-underline-offset: var(--space-1);\n}\n.lintje-chat-message__term.is-uncertain {\n text-decoration-style: dashed;\n text-decoration-color: var(--color-border-suggestion);\n}\n\n.lintje-chat-message--editing {\n flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n width: 100%;\n}\n.lintje-chat-message__head { display: flex; align-items: baseline; gap: var(--space-2); }\n.lintje-chat-message__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-message__frame { align-self: stretch; }\n.lintje-chat-message__note { font: var(--text-small); color: var(--color-text-muted); }\n\n/* A phone keeps room on the left so the bar reads as the reader's side. */\n@media (max-width: 767px) {\n .lintje-chat-message { flex-direction: column; align-items: flex-end; margin-left: var(--space-10); }\n .lintje-chat-message--editing { margin-left: 0; }\n}\n\n/* Forced colours drop the bar's fill; a line keeps the question apart from the answer. */\n@media (forced-colors: active) {\n .lintje-chat-message__text { outline: 1px solid CanvasText; outline-offset: -1px; }\n}\n", c = class extends
|
|
4
|
+
var s = "/* The host is a full-width block, so a view can make it stick while its answer scrolls. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Visual order is reversed from document order, so the question is read first. The gaps keep\n the edit button's hit area off the time and the bar. */\n.lintje-chat-message {\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-message__text {\n min-width: 0;\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-subtle);\n font: var(--text-body);\n color: var(--color-text-primary);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.lintje-chat-message__meta {\n flex: none;\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n}\n.lintje-chat-message__time { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* A term is underlined, never recoloured; dashed gray marks an uncertain one. */\n.lintje-chat-message__term {\n text-decoration: underline solid var(--color-term-line);\n text-decoration-thickness: 2px;\n text-underline-offset: var(--space-1);\n}\n.lintje-chat-message__term.is-uncertain {\n text-decoration-style: dashed;\n text-decoration-color: var(--color-border-suggestion);\n}\n\n.lintje-chat-message--editing {\n flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n width: 100%;\n}\n.lintje-chat-message__head { display: flex; align-items: baseline; gap: var(--space-2); }\n.lintje-chat-message__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-message__frame { align-self: stretch; }\n.lintje-chat-message__note { font: var(--text-small); color: var(--color-text-muted); }\n\n/* A phone keeps room on the left so the bar reads as the reader's side. */\n@media screen and (max-width: 767px) {\n .lintje-chat-message { flex-direction: column; align-items: flex-end; margin-left: var(--space-10); }\n .lintje-chat-message--editing { margin-left: 0; }\n}\n\n/* Forced colours drop the bar's fill; a line keeps the question apart from the answer. */\n@media (forced-colors: active) {\n .lintje-chat-message__text { outline: 1px solid CanvasText; outline-offset: -1px; }\n}\n", c = class extends e {
|
|
5
5
|
constructor(...e) {
|
|
6
6
|
super(...e), this.text = "", this.editable = !1, this.editing = !1;
|
|
7
7
|
}
|
|
@@ -47,18 +47,18 @@ var s = "/* The host is a full-width block, so a view can make it stick while it
|
|
|
47
47
|
label="Vraag bewerken"
|
|
48
48
|
variant="flat"
|
|
49
49
|
@click=${() => this.setEditing(!0)}
|
|
50
|
-
></lintje-icon-button>` :
|
|
51
|
-
${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` :
|
|
50
|
+
></lintje-icon-button>` : r}
|
|
51
|
+
${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` : r}
|
|
52
52
|
</div>
|
|
53
53
|
</div>`;
|
|
54
54
|
}
|
|
55
55
|
renderText() {
|
|
56
56
|
let e = o(this.text, this.terms).map((e) => e.term ? i`<span
|
|
57
|
-
class=${
|
|
57
|
+
class=${a({
|
|
58
58
|
"lintje-chat-message__term": !0,
|
|
59
59
|
"is-uncertain": e.term.certain === !1
|
|
60
60
|
})}
|
|
61
|
-
title=${e.term.kind ??
|
|
61
|
+
title=${e.term.kind ?? r}
|
|
62
62
|
>${e.text}</span
|
|
63
63
|
>` : e.text);
|
|
64
64
|
return i`<span class="visually-hidden">Jij: </span>${e}`;
|
|
@@ -67,7 +67,7 @@ var s = "/* The host is a full-width block, so a view can make it stick while it
|
|
|
67
67
|
return i`<div class="lintje-chat-message lintje-chat-message--editing">
|
|
68
68
|
<div class="lintje-chat-message__head">
|
|
69
69
|
<span class="lintje-chat-message__label">Jij, bewerken</span>
|
|
70
|
-
${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` :
|
|
70
|
+
${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` : r}
|
|
71
71
|
</div>
|
|
72
72
|
<lintje-chat-composer
|
|
73
73
|
class="lintje-chat-message__frame"
|
|
@@ -91,6 +91,6 @@ var s = "/* The host is a full-width block, so a view can make it stick while it
|
|
|
91
91
|
</div>`;
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
|
-
|
|
94
|
+
t("lintje-chat-message", c);
|
|
95
95
|
//#endregion
|
|
96
96
|
export { c as LintjeChatMessage };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as c } from "../chunks/disclosure-
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, st as o, ut as s } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { t as c } from "../chunks/disclosure-D39vAR5q.js";
|
|
3
3
|
//#region src/components/chat/chat-strip/chat-strip.css?inline
|
|
4
|
-
var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-strip {\n border-top: 1px solid var(--color-border-default);\n border-bottom: 1px solid var(--color-border-default);\n color: var(--color-text-primary);\n}\n.lintje-chat-strip__row {\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n padding: var(--space-2) 0;\n}\n.lintje-chat-strip__items {\n flex: 1 1 auto; min-width: 0;\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n margin: 0;\n}\n.lintje-chat-strip__item { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-width: 0; }\n.lintje-chat-strip__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-strip__value { margin: 0; min-width: 0; font: var(--text-ui); }\n\n/* Every form of a value is one line, so a row of mixed forms shares a baseline. */\n.lintje-chat-strip__text,\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion {\n display: inline-flex; align-items: center;\n min-height: var(--h-chip-field);\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion.is-pressed {\n background: var(--color-term-bg);\n border-bottom: 2px solid var(--color-term-line);\n}\n.lintje-chat-strip__term {\n position: relative;\n gap: var(--space-1);\n padding: 0 0 0 var(--space-1);\n}\n/* The native select lies invisibly over the drawing for pointer, keyboard and the phone's picker.\n It reaches the target height above and below only, never over a neighbouring value. */\n.lintje-chat-strip__select {\n position: absolute; inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n width: 100%; height: auto;\n opacity: 0;\n cursor: pointer;\n appearance: none;\n}\n.lintje-chat-strip__term:focus-within {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: var(--focus-offset);\n}\n\n/* Dashed while only a suggestion. Like the select, it and the toggle get a transparent hit area. */\n.lintje-chat-strip__suggestion,\n.lintje-chat-strip__toggle { position: relative; }\n.lintje-chat-strip__suggestion::after,\n.lintje-chat-strip__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-chat-strip__suggestion {\n padding: 0 var(--space-1);\n border-bottom: 2px dashed var(--color-border-suggestion);\n transition: background var(--dur-hover);\n}\n.lintje-chat-strip__suggestion:hover { background: var(--color-bg-subtle); }\n.lintje-chat-strip__suggestion.is-pressed:hover { background: var(--color-term-bg); }\n\n.lintje-chat-strip__toggle {\n display: inline-flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-chip-field);\n margin-left: auto;\n font: var(--text-small); font-weight: 700;\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__details {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n gap: var(--space-2) var(--space-4);\n margin: 0;\n padding: 0 0 var(--space-3);\n font: var(--text-ui);\n}\n.lintje-chat-strip__detail { display: contents; }\n.lintje-chat-strip__detail-term { color: var(--color-text-muted); }\n.lintje-chat-strip__detail-text { margin: 0; color: var(--color-text-primary); }\n\n/* Below 768 px the strip switches representation (rule 9). */\n@media (max-width: 767px) {\n .lintje-chat-strip__row { display: block; padding: var(--space-1) 0 0; }\n .lintje-chat-strip__items {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 0 var(--space-4);\n align-items: stretch;\n }\n .lintje-chat-strip__item { justify-content: center; min-height: var(--h-touch); }\n .lintje-chat-strip__item--fixed { grid-column: 1 / -1; }\n .lintje-chat-strip__select,\n .lintje-chat-strip__suggestion::after { inset: calc(var(--space-6) * -1) 0 calc(var(--space-2) * -1); }\n .lintje-chat-strip__toggle {\n width: 100%; min-height: var(--h-touch);\n justify-content: space-between;\n margin: var(--space-1) 0 0;\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui); font-weight: 700;\n }\n .lintje-chat-strip__details { grid-template-columns: minmax(0, 1fr); gap: 0; }\n .lintje-chat-strip__detail-text { margin-bottom: var(--space-2); }\n}\n", u = class extends
|
|
4
|
+
var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-strip {\n border-top: 1px solid var(--color-border-default);\n border-bottom: 1px solid var(--color-border-default);\n color: var(--color-text-primary);\n}\n.lintje-chat-strip__row {\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n padding: var(--space-2) 0;\n}\n.lintje-chat-strip__items {\n flex: 1 1 auto; min-width: 0;\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n margin: 0;\n}\n.lintje-chat-strip__item { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-width: 0; }\n.lintje-chat-strip__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-strip__value { margin: 0; min-width: 0; font: var(--text-ui); }\n\n/* Every form of a value is one line, so a row of mixed forms shares a baseline. */\n.lintje-chat-strip__text,\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion {\n display: inline-flex; align-items: center;\n min-height: var(--h-chip-field);\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion.is-pressed {\n background: var(--color-term-bg);\n border-bottom: 2px solid var(--color-term-line);\n}\n.lintje-chat-strip__term {\n position: relative;\n gap: var(--space-1);\n padding: 0 0 0 var(--space-1);\n}\n/* The native select lies invisibly over the drawing for pointer, keyboard and the phone's picker.\n It reaches the target height above and below only, never over a neighbouring value. */\n.lintje-chat-strip__select {\n position: absolute; inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n width: 100%; height: auto;\n opacity: 0;\n cursor: pointer;\n appearance: none;\n}\n.lintje-chat-strip__term:focus-within {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: var(--focus-offset);\n}\n\n/* Dashed while only a suggestion. Like the select, it and the toggle get a transparent hit area. */\n.lintje-chat-strip__suggestion,\n.lintje-chat-strip__toggle { position: relative; }\n.lintje-chat-strip__suggestion::after,\n.lintje-chat-strip__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-chat-strip__suggestion {\n padding: 0 var(--space-1);\n border-bottom: 2px dashed var(--color-border-suggestion);\n transition: background var(--dur-hover);\n}\n.lintje-chat-strip__suggestion:hover { background: var(--color-bg-subtle); }\n.lintje-chat-strip__suggestion.is-pressed:hover { background: var(--color-term-bg); }\n\n.lintje-chat-strip__toggle {\n display: inline-flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-chip-field);\n margin-left: auto;\n font: var(--text-small); font-weight: 700;\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__details {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n gap: var(--space-2) var(--space-4);\n margin: 0;\n padding: 0 0 var(--space-3);\n font: var(--text-ui);\n}\n.lintje-chat-strip__detail { display: contents; }\n.lintje-chat-strip__detail-term { color: var(--color-text-muted); }\n.lintje-chat-strip__detail-text { margin: 0; color: var(--color-text-primary); }\n\n/* Below 768 px the strip switches representation (rule 9). */\n@media screen and (max-width: 767px) {\n .lintje-chat-strip__row { display: block; padding: var(--space-1) 0 0; }\n .lintje-chat-strip__items {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 0 var(--space-4);\n align-items: stretch;\n }\n .lintje-chat-strip__item { justify-content: center; min-height: var(--h-touch); }\n .lintje-chat-strip__item--fixed { grid-column: 1 / -1; }\n .lintje-chat-strip__select,\n .lintje-chat-strip__suggestion::after { inset: calc(var(--space-6) * -1) 0 calc(var(--space-2) * -1); }\n .lintje-chat-strip__toggle {\n width: 100%; min-height: var(--h-touch);\n justify-content: space-between;\n margin: var(--space-1) 0 0;\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui); font-weight: 700;\n }\n .lintje-chat-strip__details { grid-template-columns: minmax(0, 1fr); gap: 0; }\n .lintje-chat-strip__detail-text { margin-bottom: var(--space-2); }\n}\n", u = class extends e {
|
|
5
5
|
constructor(...e) {
|
|
6
6
|
super(...e), this.detailsLabel = "Berekening", this.disabled = !1, this.open = !1;
|
|
7
7
|
}
|
|
8
8
|
static {
|
|
9
9
|
this.styles = [
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
i,
|
|
11
|
+
n(c),
|
|
12
|
+
n(l)
|
|
13
13
|
];
|
|
14
14
|
}
|
|
15
15
|
static {
|
|
@@ -47,9 +47,9 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
47
47
|
value(e) {
|
|
48
48
|
if (e.options && !this.disabled) {
|
|
49
49
|
let t = e.options.find((t) => t.value === e.value);
|
|
50
|
-
return
|
|
50
|
+
return a`<span class="lintje-chat-strip__term">
|
|
51
51
|
<span class="lintje-chat-strip__term-text">${t?.label ?? e.value}</span>
|
|
52
|
-
${
|
|
52
|
+
${s("functioneel-delta-omlaag", { size: 16 })}
|
|
53
53
|
<select
|
|
54
54
|
class="lintje-chat-strip__select"
|
|
55
55
|
aria-label=${e.label}
|
|
@@ -59,13 +59,13 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
59
59
|
n.value = e.value, r !== e.value && this.change(e.key, r);
|
|
60
60
|
}}
|
|
61
61
|
>
|
|
62
|
-
${e.options.map((e) =>
|
|
62
|
+
${e.options.map((e) => a`<option value=${e.value}>${e.label}</option>`)}
|
|
63
63
|
</select>
|
|
64
64
|
</span>`;
|
|
65
65
|
}
|
|
66
|
-
if (e.pressed !== void 0 && !this.disabled) return
|
|
66
|
+
if (e.pressed !== void 0 && !this.disabled) return a`<button
|
|
67
67
|
type="button"
|
|
68
|
-
class=${
|
|
68
|
+
class=${o({
|
|
69
69
|
"lintje-chat-strip__suggestion": !0,
|
|
70
70
|
"is-pressed": e.pressed
|
|
71
71
|
})}
|
|
@@ -75,12 +75,12 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
75
75
|
${e.value}
|
|
76
76
|
</button>`;
|
|
77
77
|
let t = e.options?.find((t) => t.value === e.value);
|
|
78
|
-
return
|
|
78
|
+
return a`<span class="lintje-chat-strip__text">${t?.label ?? e.value}</span>`;
|
|
79
79
|
}
|
|
80
80
|
render() {
|
|
81
81
|
let e = (this.items ?? []).filter((e) => !(this.disabled && e.pressed === !1)), t = this.details ?? [];
|
|
82
|
-
return !e.length && !t.length ?
|
|
83
|
-
class=${
|
|
82
|
+
return !e.length && !t.length ? r : a`<div
|
|
83
|
+
class=${o({
|
|
84
84
|
"lintje-chat-strip": !0,
|
|
85
85
|
"lintje-disclosure": !0,
|
|
86
86
|
"is-open": this.open
|
|
@@ -90,8 +90,8 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
90
90
|
>
|
|
91
91
|
<div class="lintje-chat-strip__row">
|
|
92
92
|
<dl class="lintje-chat-strip__items">
|
|
93
|
-
${e.map((e) =>
|
|
94
|
-
class=${
|
|
93
|
+
${e.map((e) => a`<div
|
|
94
|
+
class=${o({
|
|
95
95
|
"lintje-chat-strip__item": !0,
|
|
96
96
|
"lintje-chat-strip__item--fixed": !e.options && e.pressed === void 0
|
|
97
97
|
})}
|
|
@@ -100,7 +100,7 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
100
100
|
<dd class="lintje-chat-strip__value">${this.value(e)}</dd>
|
|
101
101
|
</div>`)}
|
|
102
102
|
</dl>
|
|
103
|
-
${t.length ?
|
|
103
|
+
${t.length ? a`<button
|
|
104
104
|
type="button"
|
|
105
105
|
class="lintje-chat-strip__toggle"
|
|
106
106
|
aria-expanded=${String(this.open)}
|
|
@@ -110,22 +110,22 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
110
110
|
}}
|
|
111
111
|
>
|
|
112
112
|
<span>${this.detailsLabel}</span>
|
|
113
|
-
${
|
|
113
|
+
${s("functioneel-delta-omlaag", {
|
|
114
114
|
size: 16,
|
|
115
115
|
className: "lintje-disclosure__chevron"
|
|
116
116
|
})}
|
|
117
|
-
</button>` :
|
|
117
|
+
</button>` : r}
|
|
118
118
|
</div>
|
|
119
|
-
${t.length ?
|
|
119
|
+
${t.length ? a`<div class="lintje-disclosure__body">
|
|
120
120
|
<div id="details" class="lintje-disclosure__body-inner">
|
|
121
121
|
<dl class="lintje-chat-strip__details">
|
|
122
|
-
${t.map((e) =>
|
|
122
|
+
${t.map((e) => a`<div class="lintje-chat-strip__detail">
|
|
123
123
|
<dt class="lintje-chat-strip__detail-term">${e.term}</dt>
|
|
124
124
|
<dd class="lintje-chat-strip__detail-text">${e.description}</dd>
|
|
125
125
|
</div>`)}
|
|
126
126
|
</dl>
|
|
127
127
|
</div>
|
|
128
|
-
</div>` :
|
|
128
|
+
</div>` : r}
|
|
129
129
|
</div>`;
|
|
130
130
|
}
|
|
131
131
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, en as r, nn as i, nt as a } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
//#region src/components/chat/chat-suggestions/chat-suggestions.css?inline
|
|
3
|
-
var
|
|
3
|
+
var o = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-suggestions {\n display: flex; flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-suggestions__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-suggestions__list {\n display: flex; flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__list {\n flex-direction: row; flex-wrap: wrap; justify-content: flex-end;\n}\n\n.lintje-chat-suggestions__item {\n min-height: var(--h-touch);\n padding: var(--space-2) var(--space-4);\n font: var(--text-body);\n color: var(--color-text-primary);\n text-align: left;\n transition: background var(--dur-hover);\n}\n.lintje-chat-suggestions__item:hover { background: var(--color-bg-subtle); }\n\n.lintje-chat-suggestions--suggestion .lintje-chat-suggestions__item {\n border: 1px dashed var(--color-border-suggestion);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__item {\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-choice);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__item:hover { background: var(--color-bg-subtle); }\n\n.lintje-chat-suggestions__hint { font: var(--text-small); color: var(--color-text-muted); }\n\n/* Outside a conversation: left, the sentences side by side, the full width of the column. */\n.lintje-chat-suggestions--start { align-items: flex-start; max-width: none; margin-left: 0; }\n.lintje-chat-suggestions--start .lintje-chat-suggestions__list {\n flex-direction: row; flex-wrap: wrap; align-items: stretch; justify-content: flex-start;\n}\n\n@media screen and (max-width: 767px) {\n .lintje-chat-suggestions { margin-left: var(--space-10); }\n .lintje-chat-suggestions--start { margin-left: 0; }\n}\n", s = class extends e {
|
|
4
4
|
constructor(...e) {
|
|
5
5
|
super(...e), this.kind = "suggestion", this.align = "end";
|
|
6
6
|
}
|
|
7
7
|
static {
|
|
8
|
-
this.styles = n(a);
|
|
8
|
+
this.styles = [n(o), n(a)];
|
|
9
9
|
}
|
|
10
10
|
static {
|
|
11
11
|
this.properties = {
|
|
@@ -36,15 +36,15 @@ var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
38
|
let e = this.items ?? [];
|
|
39
|
-
return e.length ?
|
|
39
|
+
return e.length ? i`<div
|
|
40
40
|
class="lintje-chat-suggestions lintje-chat-suggestions--${this.kind} lintje-chat-suggestions--${this.align}"
|
|
41
41
|
role="group"
|
|
42
|
-
aria-labelledby=${this.label ? "label" :
|
|
43
|
-
aria-label=${this.label ?
|
|
42
|
+
aria-labelledby=${this.label ? "label" : r}
|
|
43
|
+
aria-label=${this.label ? r : "Suggesties"}
|
|
44
44
|
>
|
|
45
|
-
${this.label ?
|
|
45
|
+
${this.label ? i`<span id="label" class="lintje-chat-suggestions__label">${this.label}</span>` : r}
|
|
46
46
|
<div class="lintje-chat-suggestions__list">
|
|
47
|
-
${e.map((e) =>
|
|
47
|
+
${e.map((e) => i`<button
|
|
48
48
|
type="button"
|
|
49
49
|
class="lintje-chat-suggestions__item"
|
|
50
50
|
@click=${() => this.select(e)}
|
|
@@ -52,10 +52,10 @@ var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
|
|
|
52
52
|
${e.label}
|
|
53
53
|
</button>`)}
|
|
54
54
|
</div>
|
|
55
|
-
${this.hint ?
|
|
56
|
-
</div>` :
|
|
55
|
+
${this.hint ? i`<p class="lintje-chat-suggestions__hint">${this.hint}</p>` : r}
|
|
56
|
+
</div>` : r;
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
t("lintje-chat-suggestions", s);
|
|
60
60
|
//#endregion
|
|
61
|
-
export {
|
|
61
|
+
export { s as LintjeChatSuggestions };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Jt as e, Q as t, Ut as n, Yt as r, Z as i, Zt as a, en as o, h as s, nn as c, st as l, y as u } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
import "./chat-suggestions.js";
|
|
3
3
|
import "./chat-answer.js";
|
|
4
4
|
import "./chat-composer.js";
|
|
5
5
|
import "./chat-message.js";
|
|
6
6
|
//#region src/components/chat/chat/chat.css?inline
|
|
7
|
-
var d = "/* A grid, so the chat fills a host box that is taller than the conversation. */\n:host {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* In the flow: it grows with the conversation and scrolls with what scrolls around it. */\n.lintje-chat {\n display: flex; flex-direction: column;\n min-width: 0;\n background: var(--color-bg-page);\n color: var(--color-text-primary);\n}\n\n.lintje-chat__log { flex: 1 0 auto; min-width: 0; display: flex; flex-direction: column; }\n\n.lintje-chat__list,\n.lintje-chat__start {\n width: 100%;\n max-width: calc(var(--w-text) + 2 * var(--space-6));\n margin: 0 auto;\n padding: var(--space-6);\n display: flex; flex-direction: column;\n gap: var(--space-10);\n}\n.lintje-chat__start { margin: auto; }\n.lintje-chat__turn { display: flex; flex-direction: column; gap: var(--space-6); }\n\n/* The question sticks while its answer scrolls under it, painting the page behind itself so\n nothing shows through. Not on a phone (it would keep a fifth of the screen), nor while edited. */\n@media (min-width: 768px) {\n .lintje-chat__message:not([editing]) {\n position: sticky; top: 0; z-index: 3;\n margin: calc(var(--space-2) * -1) 0;\n padding: var(--space-2) 0;\n background: var(--color-bg-page);\n }\n /* The page scrolls: the shell's pinned bar stands over the top of the viewport. */\n .lintje-chat--page .lintje-chat__message:not([editing]) {\n top: var(--h-topbar);\n }\n}\n\n.lintje-chat__answer { transition: opacity var(--dur-base) var(--ease-in-motion); }\n.lintje-chat__answer.is-replaced { opacity: 0.45; }\n\n/* Floats over the conversation, above the question box; only the button takes the pointer. */\n.lintje-chat__latest {\n position: absolute; left: 0; right: 0; bottom: calc(100% + var(--space-4));\n display: flex; justify-content: center;\n pointer-events: none;\n animation: lintje-fade-in var(--dur-base) var(--ease-in-motion) both;\n}\n.lintje-chat__latest-button {\n display: inline-flex;\n background: var(--color-bg-surface);\n box-shadow: var(--shadow-popover);\n pointer-events: auto;\n}\n\n/* Stays in view at the bottom of what scrolls; the conversation passes under it. */\n.lintje-chat__footer {\n flex: none;\n position: sticky; bottom: 0; z-index: 4;\n padding: var(--space-4) var(--space-6) var(--space-5);\n background: var(--color-bg-surface);\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-chat__composer { max-width: var(--w-text); margin: 0 auto; }\n\n/* --- The start screen --- */\n.lintje-chat__intro { display: flex; flex-direction: column; gap: var(--space-4); max-width: 640px; }\n.lintje-chat__title { font: var(--text-h1-display); color: var(--color-text-primary); }\n.lintje-chat__lede { font: var(--text-body); margin-top: calc(var(--space-2) * -1); }\n.lintje-chat__note { font: var(--text-small); color: var(--color-text-muted); }\n\n.lintje-chat__sources {\n display: flex; flex-direction: column; gap: var(--space-2);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-chat__sources-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }\n.lintje-chat__sources-title { font: var(--text-tile-title); }\n.lintje-chat__source {\n display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;\n gap: var(--space-1) var(--space-3);\n min-height: var(--h-button-chrome);\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-chat__source-meta { font: var(--text-small); color: var(--color-text-muted); }\n\n@media (max-width: 767px) {\n .lintje-chat__list,\n .lintje-chat__start { padding: var(--space-4); gap: var(--space-8); }\n .lintje-chat__title { font: var(--text-h1); }\n .lintje-chat__footer { padding: var(--space-3) var(--space-4) var(--space-4); }\n .lintje-chat__sources { padding: var(--space-3) var(--space-4); }\n}\n";
|
|
7
|
+
var d = "/* A grid, so the chat fills a host box that is taller than the conversation. */\n:host {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* In the flow: it grows with the conversation and scrolls with what scrolls around it. */\n.lintje-chat {\n display: flex; flex-direction: column;\n min-width: 0;\n background: var(--color-bg-page);\n color: var(--color-text-primary);\n}\n\n.lintje-chat__log { flex: 1 0 auto; min-width: 0; display: flex; flex-direction: column; }\n\n.lintje-chat__list,\n.lintje-chat__start {\n width: 100%;\n max-width: calc(var(--w-text) + 2 * var(--space-6));\n margin: 0 auto;\n padding: var(--space-6);\n display: flex; flex-direction: column;\n gap: var(--space-10);\n}\n.lintje-chat__start { margin: auto; }\n.lintje-chat__turn { display: flex; flex-direction: column; gap: var(--space-6); }\n\n/* The question sticks while its answer scrolls under it, painting the page behind itself so\n nothing shows through. Not on a phone (it would keep a fifth of the screen), nor while edited. */\n@media (min-width: 768px) {\n .lintje-chat__message:not([editing]) {\n position: sticky; top: 0; z-index: 3;\n margin: calc(var(--space-2) * -1) 0;\n padding: var(--space-2) 0;\n background: var(--color-bg-page);\n }\n /* The page scrolls: the shell's pinned bar stands over the top of the viewport. */\n .lintje-chat--page .lintje-chat__message:not([editing]) {\n top: var(--h-topbar);\n }\n}\n\n.lintje-chat__answer { transition: opacity var(--dur-base) var(--ease-in-motion); }\n.lintje-chat__answer.is-replaced { opacity: 0.45; }\n\n/* Floats over the conversation, above the question box; only the button takes the pointer. */\n.lintje-chat__latest {\n position: absolute; left: 0; right: 0; bottom: calc(100% + var(--space-4));\n display: flex; justify-content: center;\n pointer-events: none;\n animation: lintje-fade-in var(--dur-base) var(--ease-in-motion) both;\n}\n.lintje-chat__latest-button {\n display: inline-flex;\n background: var(--color-bg-surface);\n box-shadow: var(--shadow-popover);\n pointer-events: auto;\n}\n\n/* Stays in view at the bottom of what scrolls; the conversation passes under it. */\n.lintje-chat__footer {\n flex: none;\n position: sticky; bottom: 0; z-index: 4;\n padding: var(--space-4) var(--space-6) var(--space-5);\n background: var(--color-bg-surface);\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-chat__composer { max-width: var(--w-text); margin: 0 auto; }\n\n/* --- The start screen --- */\n.lintje-chat__intro { display: flex; flex-direction: column; gap: var(--space-4); max-width: 640px; }\n.lintje-chat__title { font: var(--text-h1-display); color: var(--color-text-primary); }\n.lintje-chat__lede { font: var(--text-body); margin-top: calc(var(--space-2) * -1); }\n.lintje-chat__note { font: var(--text-small); color: var(--color-text-muted); }\n\n.lintje-chat__sources {\n display: flex; flex-direction: column; gap: var(--space-2);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-chat__sources-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }\n.lintje-chat__sources-title { font: var(--text-tile-title); }\n.lintje-chat__source {\n display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;\n gap: var(--space-1) var(--space-3);\n min-height: var(--h-button-chrome);\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-chat__source-meta { font: var(--text-small); color: var(--color-text-muted); }\n\n@media screen and (max-width: 767px) {\n .lintje-chat__list,\n .lintje-chat__start { padding: var(--space-4); gap: var(--space-8); }\n .lintje-chat__title { font: var(--text-h1); }\n .lintje-chat__footer { padding: var(--space-3) var(--space-4) var(--space-4); }\n .lintje-chat__sources { padding: var(--space-3) var(--space-4); }\n}\n";
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/components/chat/chat/chat.ts
|
|
10
10
|
function f(e) {
|
|
11
11
|
let t = e;
|
|
12
12
|
for (;;) {
|
|
13
|
-
if (t = t.assignedSlot ?? t.parentElement ?? t.getRootNode().host ?? null, !t || t === document.body || t === document.documentElement) return
|
|
13
|
+
if (t = t.assignedSlot ?? t.parentElement ?? t.getRootNode().host ?? null, !t || t === document.body || t === document.documentElement) return n();
|
|
14
14
|
let e = getComputedStyle(t).overflowY;
|
|
15
15
|
if (e === "auto" || e === "scroll") return t;
|
|
16
16
|
}
|
|
@@ -33,15 +33,15 @@ var p = class {
|
|
|
33
33
|
let e = this.#e;
|
|
34
34
|
e && e.style[this.side] === this.#n && (e.style[this.side] = this.#t), this.#e = null, this.#n = "";
|
|
35
35
|
}
|
|
36
|
-
}, m = class
|
|
37
|
-
constructor(...
|
|
38
|
-
super(...
|
|
39
|
-
let
|
|
40
|
-
|
|
36
|
+
}, m = class r extends e {
|
|
37
|
+
constructor(...e) {
|
|
38
|
+
super(...e), this.editingId = null, this.away = !1, this.paged = !1, this.#e = 0, this.#t = !0, this.#n = 0, this.#r = null, this.#i = null, this.#a = new p("scrollPaddingTop"), this.#o = new p("scrollPaddingBottom"), this.#s = () => {
|
|
39
|
+
let e = f(this)?.scrollTop ?? 0, t = this.beyond();
|
|
40
|
+
e < this.#n && (this.#t = !1), t <= r.AT_END && (this.#t = !0), this.#n = e, this.away = !this.#t && t > r.AWAY;
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
static {
|
|
44
|
-
this.styles =
|
|
44
|
+
this.styles = a(d);
|
|
45
45
|
}
|
|
46
46
|
static {
|
|
47
47
|
this.properties = {
|
|
@@ -103,14 +103,14 @@ var p = class {
|
|
|
103
103
|
return this.renderRoot.querySelector(".lintje-chat__composer");
|
|
104
104
|
}
|
|
105
105
|
toLatest() {
|
|
106
|
-
this.toEnd(
|
|
106
|
+
this.toEnd(u() ? "auto" : "smooth"), this.composer?.focus();
|
|
107
107
|
}
|
|
108
108
|
willUpdate(e) {
|
|
109
|
-
super.willUpdate(e), this.paged = f(this) ===
|
|
109
|
+
super.willUpdate(e), this.paged = f(this) === n(), (e.has("data") || e.has("editingId")) && t(this) && this.keepFocus();
|
|
110
110
|
}
|
|
111
111
|
async keepFocus() {
|
|
112
112
|
await this.updateComplete, await new Promise((e) => requestAnimationFrame(e));
|
|
113
|
-
let e =
|
|
113
|
+
let e = i();
|
|
114
114
|
this.isConnected && (!e || e === document.body) && this.composer?.focus();
|
|
115
115
|
}
|
|
116
116
|
updated(e) {
|
|
@@ -128,17 +128,17 @@ var p = class {
|
|
|
128
128
|
}
|
|
129
129
|
render() {
|
|
130
130
|
let e = this.data;
|
|
131
|
-
if (!e) return
|
|
132
|
-
let
|
|
133
|
-
return
|
|
131
|
+
if (!e) return o;
|
|
132
|
+
let t = e.turns ?? [], n = t[t.length - 1];
|
|
133
|
+
return c`<div class=${l({
|
|
134
134
|
"lintje-chat": !0,
|
|
135
135
|
"lintje-chat--page": this.paged
|
|
136
136
|
})}>
|
|
137
137
|
<div class="lintje-chat__log" role="log" aria-label="Gesprek">
|
|
138
|
-
${
|
|
138
|
+
${t.length ? this.renderTurns(t, e) : this.renderStart(e.start ?? {}, e.sources)}
|
|
139
139
|
</div>
|
|
140
140
|
<div class="lintje-chat__footer">
|
|
141
|
-
${this.away &&
|
|
141
|
+
${this.away && t.length ? c`<div class="lintje-chat__latest">
|
|
142
142
|
<span class="lintje-chat__latest-button">
|
|
143
143
|
<lintje-button
|
|
144
144
|
variant="tertiary"
|
|
@@ -148,12 +148,12 @@ var p = class {
|
|
|
148
148
|
>Naar nieuwste</lintje-button
|
|
149
149
|
>
|
|
150
150
|
</span>
|
|
151
|
-
</div>` :
|
|
151
|
+
</div>` : o}
|
|
152
152
|
<lintje-chat-composer
|
|
153
153
|
class="lintje-chat__composer"
|
|
154
|
-
placeholder=${e.placeholder ??
|
|
155
|
-
recall=${
|
|
156
|
-
?busy=${
|
|
154
|
+
placeholder=${e.placeholder ?? o}
|
|
155
|
+
recall=${n?.message.text ?? o}
|
|
156
|
+
?busy=${t.some((e) => e.answer?.state === "streaming")}
|
|
157
157
|
.sources=${e.sources}
|
|
158
158
|
.vocabulary=${e.vocabulary}
|
|
159
159
|
.draftTerms=${e.draftTerms}
|
|
@@ -161,55 +161,55 @@ var p = class {
|
|
|
161
161
|
</div>
|
|
162
162
|
</div>`;
|
|
163
163
|
}
|
|
164
|
-
renderTurns(e,
|
|
165
|
-
let
|
|
166
|
-
return
|
|
167
|
-
${
|
|
168
|
-
let u =
|
|
169
|
-
return
|
|
164
|
+
renderTurns(e, t) {
|
|
165
|
+
let n = e.findIndex((e) => e.id === this.editingId), r = n !== -1, i = e.some((e) => e.answer?.state === "streaming");
|
|
166
|
+
return c`<div class="lintje-chat__list">
|
|
167
|
+
${s(e, (e) => e.id, (a, s) => {
|
|
168
|
+
let u = a.answer, d = r && s >= n;
|
|
169
|
+
return c`<section class="lintje-chat__turn">
|
|
170
170
|
<lintje-chat-message
|
|
171
171
|
class="lintje-chat__message"
|
|
172
|
-
turn-id=${
|
|
173
|
-
text=${
|
|
174
|
-
time=${
|
|
175
|
-
.terms=${
|
|
176
|
-
.vocabulary=${
|
|
177
|
-
.sources=${
|
|
178
|
-
?editable=${!
|
|
172
|
+
turn-id=${a.id}
|
|
173
|
+
text=${a.message.text}
|
|
174
|
+
time=${a.message.time ?? o}
|
|
175
|
+
.terms=${a.message.terms}
|
|
176
|
+
.vocabulary=${t.vocabulary}
|
|
177
|
+
.sources=${t.sources}
|
|
178
|
+
?editable=${!i && (!r || s === n)}
|
|
179
179
|
@lintje-editing-change=${this.onEditingChange}
|
|
180
180
|
></lintje-chat-message>
|
|
181
|
-
${u ?
|
|
182
|
-
class=${
|
|
181
|
+
${u ? c`<lintje-chat-answer
|
|
182
|
+
class=${l({
|
|
183
183
|
"lintje-chat__answer": !0,
|
|
184
184
|
"is-replaced": d
|
|
185
185
|
})}
|
|
186
|
-
turn-id=${
|
|
186
|
+
turn-id=${a.id}
|
|
187
187
|
state=${u.state ?? "ready"}
|
|
188
|
-
lead=${u.lead ??
|
|
189
|
-
text=${u.text ??
|
|
190
|
-
status=${u.status ??
|
|
188
|
+
lead=${u.lead ?? o}
|
|
189
|
+
text=${u.text ?? o}
|
|
190
|
+
status=${u.status ?? o}
|
|
191
191
|
.blocks=${u.blocks}
|
|
192
192
|
.strip=${u.strip}
|
|
193
193
|
.error=${u.error}
|
|
194
194
|
.choices=${u.choices}
|
|
195
195
|
.followUps=${u.followUps}
|
|
196
|
-
?current=${
|
|
196
|
+
?current=${s === e.length - 1 && !r}
|
|
197
197
|
?inert=${d}
|
|
198
|
-
></lintje-chat-answer>` :
|
|
198
|
+
></lintje-chat-answer>` : o}
|
|
199
199
|
</section>`;
|
|
200
200
|
})}
|
|
201
201
|
</div>`;
|
|
202
202
|
}
|
|
203
|
-
renderStart(e,
|
|
204
|
-
let
|
|
205
|
-
return
|
|
203
|
+
renderStart(e, t = []) {
|
|
204
|
+
let n = t.filter((e) => e.selected);
|
|
205
|
+
return c`<div class="lintje-chat__start">
|
|
206
206
|
<div class="lintje-chat__intro">
|
|
207
207
|
<h3 class="lintje-chat__title">
|
|
208
208
|
<span class="visually-hidden">Assistent: </span>${e.title ?? "Waar wil je meer over weten?"}
|
|
209
209
|
</h3>
|
|
210
|
-
${e.intro ?
|
|
211
|
-
${
|
|
212
|
-
${e.note ?
|
|
210
|
+
${e.intro ? c`<p class="lintje-chat__lede">${e.intro}</p>` : o}
|
|
211
|
+
${t.length ? this.renderSources(n) : o}
|
|
212
|
+
${e.note ? c`<p class="lintje-chat__note">${e.note}</p>` : o}
|
|
213
213
|
</div>
|
|
214
214
|
<lintje-chat-suggestions
|
|
215
215
|
label="Jij, als eerste vraag"
|
|
@@ -218,10 +218,10 @@ var p = class {
|
|
|
218
218
|
</div>`;
|
|
219
219
|
}
|
|
220
220
|
renderSources(e) {
|
|
221
|
-
let
|
|
222
|
-
return
|
|
221
|
+
let t = e.length === 0 ? "Je hebt geen bron gekozen" : `Je vraagt over ${e.length} ${e.length === 1 ? "bron" : "bronnen"}`;
|
|
222
|
+
return c`<section class="lintje-chat__sources" aria-labelledby="sources">
|
|
223
223
|
<div class="lintje-chat__sources-head">
|
|
224
|
-
<h4 id="sources" class="lintje-chat__sources-title">${
|
|
224
|
+
<h4 id="sources" class="lintje-chat__sources-title">${t}</h4>
|
|
225
225
|
<lintje-button
|
|
226
226
|
variant="link"
|
|
227
227
|
size="compact"
|
|
@@ -229,15 +229,15 @@ var p = class {
|
|
|
229
229
|
>Wijzigen</lintje-button
|
|
230
230
|
>
|
|
231
231
|
</div>
|
|
232
|
-
${e.length ?
|
|
233
|
-
${e.map((e) =>
|
|
232
|
+
${e.length ? c`<ul class="lintje-chat__source-list">
|
|
233
|
+
${e.map((e) => c`<li class="lintje-chat__source">
|
|
234
234
|
<span>${e.label}</span>
|
|
235
|
-
${e.asOf ?
|
|
235
|
+
${e.asOf ? c`<span class="lintje-chat__source-meta">${e.asOf}</span>` : o}
|
|
236
236
|
</li>`)}
|
|
237
|
-
</ul>` :
|
|
237
|
+
</ul>` : o}
|
|
238
238
|
</section>`;
|
|
239
239
|
}
|
|
240
240
|
};
|
|
241
|
-
|
|
241
|
+
r("lintje-chat", m);
|
|
242
242
|
//#endregion
|
|
243
243
|
export { m as LintjeChat };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../types/components/inputs/checkbox-group/checkbox-group.js'
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Yt as e, Zt as t, en as n, lt as r, nn as i } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { r as a, t as o } from "../chunks/input-CRW_exv_.js";
|
|
3
|
+
import "./checkbox.js";
|
|
4
|
+
//#region src/components/inputs/checkbox-group/checkbox-group.css?inline
|
|
5
|
+
var s = "/* The group's stack; each row is a `lintje-checkbox`, which draws the box and its hint. */\n\n.lintje-checkbox-group { display: flex; flex-direction: column; }\n", c = class extends a {
|
|
6
|
+
constructor(...e) {
|
|
7
|
+
super(...e), this.selected = [];
|
|
8
|
+
}
|
|
9
|
+
static {
|
|
10
|
+
this.styles = [
|
|
11
|
+
r,
|
|
12
|
+
t(o),
|
|
13
|
+
t(s)
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
static {
|
|
17
|
+
this.properties = {
|
|
18
|
+
options: { attribute: !1 },
|
|
19
|
+
selected: { attribute: !1 }
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
toggle(e, t) {
|
|
23
|
+
let n = new Set(this.selected);
|
|
24
|
+
t ? n.add(e) : n.delete(e);
|
|
25
|
+
let r = (this.options ?? []).map((e) => e.value), i = [...r.filter((e) => n.has(e)), ...[...n].filter((e) => !r.includes(e))];
|
|
26
|
+
this.selected = i, this.announce(i);
|
|
27
|
+
}
|
|
28
|
+
focusControl(e) {
|
|
29
|
+
this.disabled || this.renderRoot.querySelector("lintje-checkbox")?.focus(e);
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
let e = this.selected ?? [];
|
|
33
|
+
return i`<div
|
|
34
|
+
class="lintje-field"
|
|
35
|
+
role="group"
|
|
36
|
+
aria-labelledby=${this.labelId}
|
|
37
|
+
aria-describedby=${this.describedBy}
|
|
38
|
+
aria-invalid=${this.error ? "true" : n}
|
|
39
|
+
>
|
|
40
|
+
${this.renderLabel()}
|
|
41
|
+
<div class="lintje-checkbox-group">
|
|
42
|
+
${(this.options ?? []).map((t) => i`<lintje-checkbox
|
|
43
|
+
class="lintje-checkbox-group__option"
|
|
44
|
+
label=${t.label}
|
|
45
|
+
hint=${t.description ?? n}
|
|
46
|
+
.checked=${e.includes(t.value)}
|
|
47
|
+
?disabled=${this.disabled}
|
|
48
|
+
@lintje-change=${(e) => {
|
|
49
|
+
e.stopPropagation(), this.toggle(t.value, e.detail);
|
|
50
|
+
}}
|
|
51
|
+
></lintje-checkbox>`)}
|
|
52
|
+
</div>
|
|
53
|
+
${this.renderFoot()}
|
|
54
|
+
</div>`;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
e("lintje-checkbox-group", c);
|
|
58
|
+
//#endregion
|
|
59
|
+
export { c as LintjeCheckboxGroup };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as o, t as s } from "../chunks/input-
|
|
1
|
+
import { Yt as e, Zt as t, en as n, lt as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { r as o, t as s } from "../chunks/input-CRW_exv_.js";
|
|
3
3
|
//#region src/components/inputs/checkbox/checkbox.ts
|
|
4
4
|
var c = class extends o {
|
|
5
5
|
constructor(...e) {
|
|
6
6
|
super(...e), this.checked = !1, this.indeterminate = !1;
|
|
7
7
|
}
|
|
8
8
|
static {
|
|
9
|
-
this.styles = [
|
|
9
|
+
this.styles = [r, t(s)];
|
|
10
10
|
}
|
|
11
11
|
static {
|
|
12
12
|
this.properties = {
|
|
@@ -25,8 +25,8 @@ var c = class extends o {
|
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
27
|
let e = this.indeterminate && !this.checked;
|
|
28
|
-
return
|
|
29
|
-
<label class=${
|
|
28
|
+
return i`<div class="lintje-field">
|
|
29
|
+
<label class=${a({
|
|
30
30
|
"lintje-choice": !0,
|
|
31
31
|
"is-disabled": this.disabled
|
|
32
32
|
})}>
|
|
@@ -44,18 +44,18 @@ var c = class extends o {
|
|
|
44
44
|
<span class="lintje-choice__box" aria-hidden="true"
|
|
45
45
|
><span class="lintje-choice__mark">${e ? "–" : "✓"}</span></span
|
|
46
46
|
>
|
|
47
|
-
<span class=${
|
|
47
|
+
<span class=${a({
|
|
48
48
|
"lintje-choice__label": !0,
|
|
49
49
|
"is-modified": this.modified
|
|
50
50
|
})}
|
|
51
51
|
>${this.label} ${this.renderLabelSuffix()}</span
|
|
52
52
|
>
|
|
53
|
-
${this.modified ?
|
|
53
|
+
${this.modified ? i`<span class="lintje-label__dot"><span class="visually-hidden">afwijkend van standaard</span></span>` : n}
|
|
54
54
|
</label>
|
|
55
55
|
${this.renderFoot()}
|
|
56
56
|
</div>`;
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
e("lintje-checkbox", c);
|
|
60
60
|
//#endregion
|
|
61
61
|
export { c as LintjeCheckbox };
|