lintje 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist-elements/actions.js +1 -1
- package/dist-elements/chunks/{base-CbmWxUig.js → base-DRGvkF-r.js} +90 -87
- package/dist-elements/chunks/{controls-DxmnDSBr.js → controls-_4ac1Lpz.js} +1 -1
- package/dist-elements/chunks/{date-format-mHtZyBys.js → date-format-DxP9yfDp.js} +1 -1
- package/dist-elements/chunks/{dialog-DChINFxD.js → dialog-B7aRBtjy.js} +2 -2
- package/dist-elements/chunks/{disclosure-DLkXPUpV.js → disclosure-DirPLy2E.js} +1 -1
- package/dist-elements/chunks/download-C68kcwPj.js +206 -0
- package/dist-elements/chunks/{focus-trap-BwOxE5BX.js → focus-trap-Dv8zu64A.js} +1 -1
- package/dist-elements/chunks/input-BGMLam-O.js +195 -0
- package/dist-elements/chunks/input-lQTmOMOz.js +4 -0
- package/dist-elements/chunks/{player-B8QXJ0Z5.js → player-BApadXr8.js} +2 -2
- package/dist-elements/chunks/{sentence-B19AyZBS.js → sentence-0wO85ZdJ.js} +1 -1
- package/dist-elements/chunks/{stagger-BHoOgy0g.js → stagger-BB_gcxBI.js} +55 -47
- package/dist-elements/content.js +1 -0
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +7635 -6802
- package/dist-elements/data-types.json +130 -28
- package/dist-elements/feedback.js +1 -1
- package/dist-elements/guides/loading.md +3 -3
- package/dist-elements/inputs.js +1 -0
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +6301 -5732
- package/dist-elements/overlays.js +1 -1
- package/dist-elements/tag/activity-log.js +1 -1
- package/dist-elements/tag/ai-label.js +1 -1
- package/dist-elements/tag/announcement.js +2 -2
- package/dist-elements/tag/app-search.js +2 -2
- package/dist-elements/tag/audio-player.js +2 -2
- package/dist-elements/tag/badge.d.ts +1 -1
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +1 -1
- package/dist-elements/tag/button.d.ts +1 -1
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +1 -1
- package/dist-elements/tag/card.js +1 -1
- package/dist-elements/tag/chart.js +721 -406
- package/dist-elements/tag/chat-answer.js +2 -2
- package/dist-elements/tag/chat-composer.js +1 -1
- package/dist-elements/tag/chat-message.js +1 -1
- package/dist-elements/tag/chat-strip.js +1 -1
- package/dist-elements/tag/chat-suggestions.js +1 -1
- package/dist-elements/tag/chat.js +1 -1
- package/dist-elements/tag/checkbox-group.js +3 -2
- package/dist-elements/tag/checkbox.js +3 -2
- package/dist-elements/tag/code.js +1 -1
- package/dist-elements/tag/combobox.js +11 -10
- package/dist-elements/tag/conflict-alert.js +1 -1
- package/dist-elements/tag/copy-button.js +1 -1
- package/dist-elements/tag/data-table.js +137 -137
- package/dist-elements/tag/date-input.js +14 -13
- package/dist-elements/tag/date-range.js +5 -4
- package/dist-elements/tag/description-list.js +1 -1
- package/dist-elements/tag/dialog.js +4 -4
- package/dist-elements/tag/document-viewer.js +1 -1
- package/dist-elements/tag/drawer.js +3 -3
- package/dist-elements/tag/empty-state.js +1 -1
- package/dist-elements/tag/error-page.js +1 -1
- package/dist-elements/tag/error-summary.js +2 -2
- package/dist-elements/tag/expander.js +2 -2
- package/dist-elements/tag/explainer.js +2 -2
- package/dist-elements/tag/field.js +1 -1
- package/dist-elements/tag/file-upload.js +4 -3
- package/dist-elements/tag/filter-bar.js +2 -2
- package/dist-elements/tag/filter-sheet.js +3 -3
- package/dist-elements/tag/filter-zone.js +2 -2
- package/dist-elements/tag/find.d.ts +1 -0
- package/dist-elements/tag/find.js +128 -0
- package/dist-elements/tag/footer.js +1 -1
- package/dist-elements/tag/form-actions.js +2 -2
- package/dist-elements/tag/form-section.js +2 -2
- package/dist-elements/tag/form.js +2 -2
- package/dist-elements/tag/gallery.js +1 -1
- package/dist-elements/tag/grid-item.d.ts +1 -1
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.d.ts +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +1 -1
- package/dist-elements/tag/highlight.js +1 -1
- package/dist-elements/tag/icon-button.d.ts +1 -1
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.d.ts +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +1 -1
- package/dist-elements/tag/kpi-row.js +1 -1
- package/dist-elements/tag/kpi.js +61 -61
- package/dist-elements/tag/level-meter.js +1 -1
- package/dist-elements/tag/list.js +2 -2
- package/dist-elements/tag/logo.js +1 -1
- package/dist-elements/tag/map.js +148 -142
- package/dist-elements/tag/menu-button.js +1 -1
- package/dist-elements/tag/modal.js +2 -2
- package/dist-elements/tag/multiselect.js +4 -3
- package/dist-elements/tag/note.js +1 -1
- package/dist-elements/tag/notifications.js +2 -2
- package/dist-elements/tag/number-input.js +3 -2
- package/dist-elements/tag/page-header.js +1 -1
- package/dist-elements/tag/pagination.js +32 -32
- package/dist-elements/tag/popover.d.ts +1 -1
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.d.ts +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +1 -1
- package/dist-elements/tag/qr-code.js +1 -1
- package/dist-elements/tag/radio-group.js +3 -2
- package/dist-elements/tag/range.js +3 -2
- package/dist-elements/tag/recording-status.js +1 -1
- package/dist-elements/tag/repeater.js +1 -1
- package/dist-elements/tag/segmented.js +3 -2
- package/dist-elements/tag/select.js +3 -2
- package/dist-elements/tag/shell.js +3 -3
- package/dist-elements/tag/skeleton.d.ts +1 -1
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +4 -3
- package/dist-elements/tag/sortable-list.js +1 -1
- package/dist-elements/tag/spinner.d.ts +1 -1
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +1 -1
- package/dist-elements/tag/status-dot.d.ts +1 -1
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +1 -1
- package/dist-elements/tag/streaming-text.js +1 -1
- package/dist-elements/tag/sub-nav.js +1 -1
- package/dist-elements/tag/tabs.js +1 -1
- package/dist-elements/tag/tag-input.js +11 -10
- package/dist-elements/tag/text-editor.js +3 -2
- package/dist-elements/tag/text-input.js +3 -2
- package/dist-elements/tag/textarea.js +3 -2
- package/dist-elements/tag/tile.d.ts +1 -1
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +7 -6
- package/dist-elements/tag/toast.js +2 -2
- package/dist-elements/tag/toggle.js +3 -2
- package/dist-elements/tag/toggletip.js +2 -2
- package/dist-elements/tag/token-value.d.ts +1 -0
- package/dist-elements/tag/token-value.js +75 -0
- package/dist-elements/tag/tooltip.d.ts +1 -1
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +1 -1
- package/dist-elements/tag/translator.js +1 -1
- package/dist-elements/tag/tree-view.js +1 -1
- package/dist-elements/tag/user-menu.js +1 -1
- package/dist-elements/tag/video-player.js +2 -2
- package/dist-elements/tokens.json +1244 -0
- package/dist-elements/types/bundle/actions.d.ts +3 -3
- package/dist-elements/types/bundle/content.d.ts +1 -0
- package/dist-elements/types/bundle/feedback.d.ts +5 -5
- package/dist-elements/types/bundle/index.d.ts +0 -10
- package/dist-elements/types/bundle/inputs.d.ts +1 -0
- package/dist-elements/types/bundle/layout.d.ts +3 -3
- package/dist-elements/types/bundle/overlays.d.ts +2 -2
- package/dist-elements/types/categories.d.ts +4 -0
- package/dist-elements/types/{primitives → components/actions}/button/button.d.ts +1 -1
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +2 -2
- package/dist-elements/types/{icons → components/actions}/icon/icon.d.ts +2 -2
- package/dist-elements/types/{primitives → components/actions}/icon-button/icon-button.d.ts +1 -1
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +3 -3
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +1 -1
- package/dist-elements/types/components/charts/chart/chart.d.ts +1 -1
- package/dist-elements/types/components/charts/explainer/explainer.d.ts +1 -1
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +3 -3
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -1
- package/dist-elements/types/components/charts/note/note.d.ts +1 -1
- package/dist-elements/types/components/chat/chat/chat.d.ts +1 -1
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +3 -3
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +2 -2
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +1 -1
- package/dist-elements/types/components/content/audio-player/audio-player.d.ts +5 -5
- package/dist-elements/types/components/content/code/code.d.ts +1 -1
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +2 -2
- package/dist-elements/types/components/content/highlight/highlight.d.ts +1 -1
- package/dist-elements/types/components/content/prose/prose.d.ts +1 -1
- package/dist-elements/types/components/content/token-value/token-value.d.ts +42 -0
- package/dist-elements/types/components/content/transcript/transcript.d.ts +3 -3
- package/dist-elements/types/components/content/translator/translator.d.ts +1 -1
- package/dist-elements/types/components/content/video-player/video-player.d.ts +1 -1
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +2 -2
- package/dist-elements/types/{primitives → components/feedback}/badge/badge.d.ts +2 -2
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +1 -1
- package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +2 -2
- package/dist-elements/types/components/feedback/job-list/job-list.d.ts +1 -1
- package/dist-elements/types/{primitives → components/feedback}/progress-bar/progress-bar.d.ts +2 -2
- package/dist-elements/types/{primitives → components/feedback}/skeleton/skeleton.d.ts +1 -1
- package/dist-elements/types/{primitives → components/feedback}/spinner/spinner.d.ts +1 -1
- package/dist-elements/types/{primitives → components/feedback}/status-dot/status-dot.d.ts +2 -2
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +2 -2
- package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +2 -2
- package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +1 -1
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +1 -1
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +2 -2
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +1 -1
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +1 -1
- package/dist-elements/types/components/frame/notifications/notifications.d.ts +2 -2
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +1 -1
- package/dist-elements/types/components/frame/shell/shell.d.ts +1 -1
- package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +2 -2
- package/dist-elements/types/components/index.d.ts +43 -3
- package/dist-elements/types/components/inputs/combobox/combobox.d.ts +2 -2
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +1 -1
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +2 -2
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +2 -2
- package/dist-elements/types/components/inputs/find/find.d.ts +51 -0
- package/dist-elements/types/components/inputs/segmented/segmented.d.ts +1 -1
- package/dist-elements/types/components/inputs/shared/input.d.ts +1 -1
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +1 -1
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +2 -2
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +1 -1
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +1 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +1 -1
- package/dist-elements/types/{primitives → components/layout}/grid/grid.d.ts +1 -1
- package/dist-elements/types/{primitives → components/layout}/grid-item/grid-item.d.ts +1 -1
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +1 -1
- package/dist-elements/types/{primitives → components/layout}/tile/tile.d.ts +6 -6
- package/dist-elements/types/components/map/map/map.d.ts +2 -2
- package/dist-elements/types/components/overlays/modal/modal.d.ts +2 -2
- package/dist-elements/types/{primitives → components/overlays}/popover/popover.d.ts +2 -2
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +1 -1
- package/dist-elements/types/{primitives → components/overlays}/tooltip/tooltip.d.ts +2 -2
- package/dist-elements/types/components/shared/charts/index.d.ts +1 -0
- package/dist-elements/types/components/shared/charts/kinds.d.ts +6 -0
- package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/radar-chart/radar-chart.d.ts +31 -0
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +3 -1
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +5 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +33 -0
- package/dist-elements/types/components/shared/content-tile.d.ts +1 -1
- package/dist-elements/types/components/{forms/form → shared}/controls.d.ts +3 -2
- package/dist-elements/types/components/shared/overflow.d.ts +1 -1
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +1 -1
- package/dist-elements/types/components/tables/card/card.d.ts +4 -4
- package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +3 -3
- package/dist-elements/types/components/tables/data-table/editing.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/filters.d.ts +3 -3
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +2 -2
- package/dist-elements/types/components/tables/list/list.d.ts +4 -4
- package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +1 -1
- package/dist-elements/types/core/focus.d.ts +1 -1
- package/dist-elements/types/types.d.ts +7 -7
- package/package.json +1 -1
- package/dist-elements/chunks/download-Ct9q2anY.js +0 -206
- package/dist-elements/chunks/input-CRW_exv_.js +0 -195
- package/dist-elements/types/primitives/index.d.ts +0 -35
- /package/dist-elements/types/components/content/{audio-player → shared}/playback.d.ts +0 -0
- /package/dist-elements/types/components/content/{audio-player → shared}/player.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/announcement-block.d.ts +0 -0
- /package/dist-elements/types/components/{inputs/date-input → shared}/date-format.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/empty-state-block.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/grid-item-element.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/length.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/place.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/tone.d.ts +0 -0
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ opent.
|
|
|
95
95
|
|
|
96
96
|
| | |
|
|
97
97
|
|---|---|
|
|
98
|
-
| [`examples/styleguide/`](examples/styleguide/) | de styleguide: een pagina per element, met zijn voorbeelden, hun code en zijn referentie — properties, events, slots en de velden van `data` |
|
|
98
|
+
| [`examples/styleguide/`](examples/styleguide/) | de styleguide: de tokens met hun waarde en commentaar, en een pagina per element, met zijn voorbeelden, hun code en zijn referentie — properties, events, slots en de velden van `data` |
|
|
99
99
|
| [`docs/guides/`](docs/guides/start.md) | de elementen gebruiken op een eigen pagina: [een eerste pagina](docs/guides/start.md), [laden](docs/guides/loading.md), [thema's](docs/guides/theming.md), [eigen iconen](docs/guides/icons.md), [events](docs/guides/events.md), [een dashboard](docs/guides/dashboard.md), [een inhoudsopgave op de pagina](docs/guides/page-contents.md) |
|
|
100
100
|
| [`docs/DESIGN_SYSTEM.md`](docs/DESIGN_SYSTEM.md) | de uitgangspunten en besluiten van het ontwerp |
|
|
101
101
|
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | bijdragen, en het recept voor een component |
|
package/dist-elements/actions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/core/version.ts
|
|
2
|
-
var e = "0.
|
|
2
|
+
var e = "0.4.0", t = globalThis, n = t.ShadowRoot && (t.ShadyCSS === void 0 || t.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, r = Symbol(), i = /* @__PURE__ */ new WeakMap(), a = class {
|
|
3
3
|
constructor(e, t, n) {
|
|
4
4
|
if (this._$cssResult$ = !0, n !== r) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
5
5
|
this.cssText = e, this.t = t;
|
|
@@ -1486,7 +1486,7 @@ var yn = class extends j {
|
|
|
1486
1486
|
};
|
|
1487
1487
|
M("lintje-badge", yn);
|
|
1488
1488
|
//#endregion
|
|
1489
|
-
//#region src/
|
|
1489
|
+
//#region src/components/actions/button/button.css?inline
|
|
1490
1490
|
var bn = "/*\n * Above the divider: what the element itself needs (`lintje-button` is the box the page lays\n * out). Below it: the block's own BEM CSS, in the shadow root.\n */\n:host {\n display: inline-flex;\n vertical-align: middle;\n}\n:host([hidden]) { display: none; }\n:host(.lintje-button--block),\n:host([block]) { display: flex; }\n:host([block]) .lintje-button { width: 100%; }\n:host([span]) .lintje-button { width: 100%; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-button {\n /* Never wider than its place: in a narrow cell the label is cut with an ellipsis. */\n max-width: 100%;\n min-width: 0;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--space-2);\n height: var(--h-button);\n padding: 0 var(--space-4);\n border: 1px solid transparent;\n font-family: var(--font-ui);\n font-size: 1rem;\n font-weight: 700;\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--radius);\n transition: background var(--dur-hover) var(--ease-in-motion),\n color var(--dur-hover) var(--ease-in-motion),\n border-color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-button__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.lintje-button--compact { height: var(--h-button-compact); padding: 0 var(--space-3); }\n.lintje-button--chrome { height: var(--h-button-chrome); padding: 0 14px; }\n/* The compact and chrome button reach the 48 px target through a transparent hit area, 4 px out\n on each side. A row of them keeps 8 px between the boxes, so hit areas never overlap. */\n.lintje-button--compact::after,\n.lintje-button--chrome::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n\n/* The 1 px border is transparent, so the primary fill fills it in light; in dark it draws the\n tint, the only thing that separates a #0E3B6E box from a #282828 page (1.31:1). */\n.lintje-button--primary {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n border-color: var(--color-action-primary-border);\n}\n.lintje-button--primary:not(.is-disabled, .is-busy, :disabled, [aria-disabled='true']):hover { background: var(--color-action-primary-hover); }\n\n.lintje-button--secondary {\n background: var(--color-bg-surface);\n color: var(--color-accent-text);\n border-color: var(--color-action-secondary-border);\n}\n.lintje-button--secondary:not(.is-disabled, .is-busy, :disabled, [aria-disabled='true']):hover { background: var(--color-bg-selected); }\n\n.lintje-button--tertiary {\n background: transparent;\n color: var(--color-text-primary);\n border-color: var(--color-border-strong);\n}\n.lintje-button--tertiary:not(.is-disabled, .is-busy, :disabled, [aria-disabled='true']):hover { background: var(--color-bg-subtle); }\n\n/* The destructive weight; in dark the border is the red's tint, the only thing reaching 3:1. */\n.lintje-button--danger {\n background: var(--color-action-danger);\n color: var(--color-text-on-fill);\n border-color: var(--color-action-danger-border);\n}\n.lintje-button--danger:not(.is-disabled, .is-busy, :disabled, [aria-disabled='true']):hover { background: var(--color-action-danger-hover); }\n\n/* `danger-secondary`: the quieter destructive form, for a row where the fill would shout. The\n colour is `--color-action-danger-text`. The hover is the tertiary's `--color-bg-subtle`:\n the red word on `--color-error-bg` was 3.96:1 in light. */\n.lintje-button--danger-secondary {\n background: var(--color-bg-surface);\n color: var(--color-action-danger-text);\n border-color: var(--color-action-danger-text);\n}\n.lintje-button--danger-secondary:not(.is-disabled, .is-busy, :disabled, [aria-disabled='true']):hover { background: var(--color-bg-subtle); }\n\n.lintje-button--link {\n height: auto;\n padding: 0;\n color: var(--color-link);\n text-decoration: underline;\n background: none;\n}\n.lintje-button--link:not(.is-disabled, .is-busy, :disabled, [aria-disabled='true']):hover { color: var(--color-link-hover); }\n/* The link reaches the text target (24 px) through a transparent hit area. */\n.lintje-button--link::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target-text)) / 2)) 0;\n}\n\n/* Disabled is `aria-disabled`: the button keeps its tab order and focus ring. A busy button is\n not `is-disabled`: it keeps its variant's colours. Native `<button>`s with these classes get\n the look from `:disabled` or `aria-disabled`, without the class. */\n.lintje-button.is-disabled,\n.lintje-button:disabled,\n.lintje-button[aria-disabled='true']:not(.is-busy) {\n opacity: 1;\n cursor: not-allowed;\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n border-color: var(--color-border-default);\n}\n.lintje-button--link.is-disabled,\n.lintje-button--link:disabled,\n.lintje-button--link[aria-disabled='true']:not(.is-busy) {\n background: none;\n border-color: transparent;\n text-decoration: none;\n}\n\n/* --- Busy --------------------------------------------------------------- */\n/*\n * An action that round-trips. The button keeps its width: label and icons only lose their ink,\n * and the ring is drawn over the middle, so nothing re-flows. The label is transparent, not\n * `visibility: hidden`, so the focused button keeps its name.\n */\n.lintje-button.is-busy { cursor: progress; }\n.lintje-button.is-busy .lintje-button__label { opacity: 0; }\n.lintje-button.is-busy .lintje-button__icon { visibility: hidden; }\n.lintje-button__busy {\n position: absolute;\n top: 50%; left: 50%;\n width: 16px; height: 16px;\n margin: -8px 0 0 -8px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--radius-round);\n opacity: 0.85;\n animation: lintje-spin var(--dur-skeleton) linear infinite;\n}\n/* A keyframe only works in the root that uses it. */\n@keyframes lintje-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n/* Reduced motion: the ring stands still; `aria-busy` carries the state. */\n@media (prefers-reduced-motion: reduce) {\n .lintje-button__busy { animation: none; }\n}\n\n/* Forced colours: `aria-disabled` is not grayed out by the browser. */\n@media (forced-colors: active) {\n .lintje-button.is-disabled,\n .lintje-button:disabled,\n .lintje-button[aria-disabled='true']:not(.is-busy) { color: GrayText; border-color: GrayText; }\n}\n", xn = "/*\n * Adopted by a control that has nothing to say on paper: a button, a question box, a bar of\n * actions. What the reader chose stays in the elements that show it; what to press does not.\n * `!important`, so a page's own `display` on the tag does not bring it back.\n */\n@media print {\n :host { display: none !important; }\n}\n", Sn = "lintje-button-reason", Cn = class extends j {
|
|
1491
1491
|
static {
|
|
1492
1492
|
this.styles = [
|
|
@@ -1658,7 +1658,7 @@ function kn(e) {
|
|
|
1658
1658
|
return t !== null && On(t, e);
|
|
1659
1659
|
}
|
|
1660
1660
|
//#endregion
|
|
1661
|
-
//#region src/
|
|
1661
|
+
//#region src/components/shared/tone.ts
|
|
1662
1662
|
var An = {
|
|
1663
1663
|
success: "functioneel-cirkel-vinkje",
|
|
1664
1664
|
warning: "functioneel-waarschuwing",
|
|
@@ -1752,10 +1752,10 @@ function qn() {
|
|
|
1752
1752
|
};
|
|
1753
1753
|
}
|
|
1754
1754
|
//#endregion
|
|
1755
|
-
//#region src/
|
|
1755
|
+
//#region src/components/overlays/popover/popover.css?inline
|
|
1756
1756
|
var Jn = ":host { display: contents; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Fixed, not absolute: an `overflow` ancestor would cut it off. z-index 85: above the scrim (80),\n below the tooltip (90). */\n.lintje-popover {\n position: fixed;\n z-index: 85;\n max-width: calc(100vw - var(--space-4));\n max-height: var(--lintje-popover-space, none);\n overflow: auto;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-popover);\n box-shadow: var(--shadow-popover);\n font: var(--text-ui);\n animation: lintje-popover-in var(--dur-popover) var(--ease-in-motion);\n}\n";
|
|
1757
1757
|
//#endregion
|
|
1758
|
-
//#region src/
|
|
1758
|
+
//#region src/components/overlays/popover/popover.ts
|
|
1759
1759
|
function Yn(e, t) {
|
|
1760
1760
|
return e ? {
|
|
1761
1761
|
top: e.top === null ? null : `${e.top}px`,
|
|
@@ -1851,7 +1851,7 @@ function Zn(e) {
|
|
|
1851
1851
|
return e.button === 0 && !e.metaKey && !e.ctrlKey && !e.shiftKey && !e.altKey;
|
|
1852
1852
|
}
|
|
1853
1853
|
//#endregion
|
|
1854
|
-
//#region src/
|
|
1854
|
+
//#region src/components/feedback/spinner/spinner.css?inline
|
|
1855
1855
|
var Qn = ":host { display: inline-flex; vertical-align: middle; }\n:host([stacked]) { display: flex; justify-content: center; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-spinner {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n.lintje-spinner--stacked { flex-direction: column; gap: var(--space-3); }\n\n/* A line on a surface (3:1): the accent line, not the fill. */\n.lintje-spinner__ring {\n flex: none;\n width: 1rem; height: 1rem;\n border: 2px solid var(--color-accent-line);\n border-top-color: transparent;\n border-radius: var(--radius-round);\n animation: lintje-spin var(--dur-skeleton) linear infinite;\n}\n/* 16, 24 and 40 px: 1, 1.5 and 2.5rem, so the ring grows with the text beside it. */\n.lintje-spinner--24 .lintje-spinner__ring { width: 1.5rem; height: 1.5rem; }\n.lintje-spinner--40 .lintje-spinner__ring { width: 2.5rem; height: 2.5rem; border-width: 3px; }\n.lintje-spinner--current .lintje-spinner__ring {\n border-color: currentColor;\n border-top-color: transparent;\n}\n\n/* A keyframe only works in the root that uses it. */\n@keyframes lintje-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n@media (prefers-reduced-motion: reduce) {\n .lintje-spinner__ring { animation: none; }\n}\n\n/* Forced colours: the ring draws in CanvasText with its open quarter in Canvas, so it still turns. */\n@media (forced-colors: active) {\n .lintje-spinner__ring,\n .lintje-spinner--current .lintje-spinner__ring {\n border-color: CanvasText;\n border-top-color: Canvas;\n }\n}\n", $n = class extends j {
|
|
1856
1856
|
constructor(...e) {
|
|
1857
1857
|
super(...e), this.size = 16, this.stacked = !1, this.current = !1, this.filled = null, this.#e = 0;
|
|
@@ -1908,7 +1908,7 @@ var Qn = ":host { display: inline-flex; vertical-align: middle; }\n:host([stacke
|
|
|
1908
1908
|
};
|
|
1909
1909
|
M("lintje-spinner", $n);
|
|
1910
1910
|
//#endregion
|
|
1911
|
-
//#region src/
|
|
1911
|
+
//#region src/components/overlays/tooltip/tooltip.css?inline
|
|
1912
1912
|
var er = "/* A box of its own for the pointer and focus to enter; inline, so flow is unchanged. */\n:host { display: inline-flex; vertical-align: middle; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The pointer can rest on it, to read it at a larger zoom; Escape takes it away. */\n.lintje-tooltip {\n position: fixed;\n z-index: 90;\n max-width: 15rem;\n padding: var(--space-2) var(--space-3);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-popover);\n box-shadow: var(--shadow-popover);\n font: var(--text-small);\n animation: lintje-fade-in var(--dur-hover) var(--ease-in-motion);\n}\n", tr = 300, nr = 150;
|
|
1913
1913
|
function rr(e) {
|
|
1914
1914
|
return e ? {
|
|
@@ -2000,7 +2000,7 @@ var ir = class extends j {
|
|
|
2000
2000
|
};
|
|
2001
2001
|
M("lintje-tooltip", ir);
|
|
2002
2002
|
//#endregion
|
|
2003
|
-
//#region src/
|
|
2003
|
+
//#region src/components/actions/icon-button/icon-button.css?inline
|
|
2004
2004
|
var ar = "/* Above the divider: what the element itself needs. Below it: the block's own BEM CSS. */\n:host {\n display: inline-flex;\n vertical-align: middle;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-icon-button {\n position: relative;\n width: var(--h-icon-button);\n height: var(--h-icon-button);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n border-radius: var(--radius);\n transition: opacity var(--dur-hover) var(--ease-in-motion),\n background var(--dur-hover) var(--ease-in-motion);\n}\n/* The target reaches `--h-target` through a transparent hit area; 100 % is the box's own size,\n so the label variant's wider box only grows it upwards and downwards. */\n.lintje-icon-button::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2));\n}\n/* Without a file for its icon the label becomes the text; the square grows as wide as the word. */\n.lintje-icon-button--text { width: auto; min-width: var(--h-icon-button); padding: 0 var(--space-3); }\n.lintje-icon-button__label { font-size: 0.875rem; font-weight: 700; white-space: nowrap; }\n\n/* The box is a line (3:1), the glyph stands in for a word (4.5:1): different tokens. */\n.lintje-icon-button--outlined {\n border: 1px solid var(--color-accent-line);\n background: var(--color-bg-surface);\n color: var(--color-accent-text);\n}\n.lintje-icon-button--outlined:not(.is-disabled):hover { background: var(--color-bg-selected); }\n\n.lintje-icon-button--flat { background: transparent; color: var(--color-text-primary); }\n.lintje-icon-button--flat:not(.is-disabled):hover { background: var(--color-bg-subtle); }\n\n/* Tile actions stand back in the muted text colour, never below 3:1; hover and focus darken them. */\n.lintje-icon-button--tile { background: transparent; color: var(--color-text-muted); }\n.lintje-icon-button--tile:not(.is-disabled):hover, .lintje-icon-button--tile:focus-visible { color: var(--color-text-primary); }\n\n/* The active button takes the primary-fill border, so the square keeps an edge in dark. */\n.lintje-icon-button.is-active {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n border-color: var(--color-action-primary-border);\n}\n\n/* Live: it listens or speaks now. The primary fill with its border, and bars that move beside\n the icon, so the state is never colour alone; the box grows to hold them. */\n.lintje-icon-button.is-live {\n width: auto;\n gap: var(--space-2);\n padding: 0 var(--space-3);\n border: 1px solid var(--color-action-primary-border);\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n}\n.lintje-icon-button.is-live:not(.is-disabled):hover { background: var(--color-action-primary-hover); }\n.lintje-icon-button__waves { display: inline-flex; align-items: center; gap: 2px; height: 16px; }\n.lintje-icon-button__wave {\n width: 2px;\n height: 100%;\n background: currentColor;\n animation: lintje-icon-button-wave var(--dur-wave) var(--ease-in-motion) infinite alternate;\n}\n.lintje-icon-button__wave:nth-child(2) { animation-delay: calc(var(--dur-wave) * -0.5); }\n.lintje-icon-button__wave:nth-child(3) { animation-delay: calc(var(--dur-wave) * -0.25); }\n.lintje-icon-button__wave:nth-child(4) { animation-delay: calc(var(--dur-wave) * -0.75); }\n@keyframes lintje-icon-button-wave {\n from { transform: scaleY(0.25); }\n to { transform: scaleY(1); }\n}\n/* Without motion the bars stand still at different heights: still a wave, never a pulse. */\n@media (prefers-reduced-motion: reduce) {\n .lintje-icon-button__wave { animation: none; transform: scaleY(0.5); }\n .lintje-icon-button__wave:nth-child(2) { transform: scaleY(1); }\n .lintje-icon-button__wave:nth-child(4) { transform: scaleY(0.75); }\n}\n\n/* Disabled is `aria-disabled`: tab order and focus ring stay. After is-active, so it loses the fill. */\n.lintje-icon-button.is-disabled { cursor: not-allowed; color: var(--color-text-disabled); }\n.lintje-icon-button--outlined.is-disabled { background: var(--color-bg-surface); border-color: var(--color-border-default); }\n\n/* Forced colours: the active fill is dropped, so its border turns Highlight. */\n@media (forced-colors: active) {\n .lintje-icon-button.is-active,\n .lintje-icon-button.is-live { border-color: Highlight; }\n .lintje-icon-button.is-disabled { color: GrayText; border-color: GrayText; }\n}\n";
|
|
2005
2005
|
//#endregion
|
|
2006
2006
|
//#region src/core/length.ts
|
|
@@ -2013,7 +2013,7 @@ function sr() {
|
|
|
2013
2013
|
return Number.isFinite(e) && e > 0 ? e : 16;
|
|
2014
2014
|
}
|
|
2015
2015
|
//#endregion
|
|
2016
|
-
//#region src/
|
|
2016
|
+
//#region src/components/shared/grid-item-element.ts
|
|
2017
2017
|
var cr = A("/* `min-width: auto` is the default; tiles hold long words and wide tables that would overflow. */\n:host {\n min-width: 0;\n}\n:host(lintje-grid-item) {\n display: block;\n}\n:host([span]) {\n grid-column: span var(--lintje-span, 1);\n}\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n :host([span='4']) { grid-column: span 6; }\n :host([span='8']) { grid-column: span 12; }\n}\n@media screen and (max-width: 767px) {\n :host([span]) { grid-column: span 1; }\n}\n"), lr = class extends j {
|
|
2018
2018
|
static {
|
|
2019
2019
|
this.properties = { span: {
|
|
@@ -2086,13 +2086,13 @@ function _r(e, t) {
|
|
|
2086
2086
|
</button>` : T}`;
|
|
2087
2087
|
}
|
|
2088
2088
|
//#endregion
|
|
2089
|
-
//#region src/
|
|
2089
|
+
//#region src/components/shared/length.ts
|
|
2090
2090
|
var vr = /^-?\d+(?:\.\d+)?$/;
|
|
2091
2091
|
function yr(e) {
|
|
2092
2092
|
if (e !== void 0) return typeof e == "number" || vr.test(e) ? `${e}px` : e;
|
|
2093
2093
|
}
|
|
2094
2094
|
//#endregion
|
|
2095
|
-
//#region src/
|
|
2095
|
+
//#region src/components/actions/icon-button/icon-button.ts
|
|
2096
2096
|
var br = class extends j {
|
|
2097
2097
|
static {
|
|
2098
2098
|
this.styles = [
|
|
@@ -2165,7 +2165,7 @@ var br = class extends j {
|
|
|
2165
2165
|
};
|
|
2166
2166
|
M("lintje-icon-button", br);
|
|
2167
2167
|
//#endregion
|
|
2168
|
-
//#region src/
|
|
2168
|
+
//#region src/components/feedback/status-dot/status-dot.css?inline
|
|
2169
2169
|
var xr = ":host { display: inline-flex; vertical-align: middle; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-status { display: inline-flex; align-items: center; gap: var(--space-2); font: var(--text-small); }\n.lintje-status__dot { border-radius: var(--radius-round); flex: none; display: block; }\n.lintje-status__dot--success { background: var(--color-success); }\n.lintje-status__dot--warning { background: var(--color-warning); }\n.lintje-status__dot--attention { background: var(--color-attention); }\n.lintje-status__dot--error { background: var(--color-error); }\n.lintje-status__dot--info { background: var(--color-info); }\n.lintje-status__dot--busy { background: var(--color-action-primary); }\n.lintje-status__dot--neutral { background: var(--color-text-muted); }\n.lintje-status__dot--subtle { background: var(--color-text-muted); }\n.lintje-status__dot--live { background: var(--color-error); }\n\n/* Forced colours: the dot's fill is dropped, so it keeps its drawing as one CanvasText dot. */\n@media (forced-colors: active) {\n .lintje-status__dot { forced-color-adjust: none; background: CanvasText; }\n}\n", Sr = {
|
|
2170
2170
|
complete: "success",
|
|
2171
2171
|
delayed: "warning",
|
|
@@ -2209,7 +2209,7 @@ var xr = ":host { display: inline-flex; vertical-align: middle; }\n:host([hidden
|
|
|
2209
2209
|
};
|
|
2210
2210
|
M("lintje-status-dot", wr);
|
|
2211
2211
|
//#endregion
|
|
2212
|
-
//#region src/
|
|
2212
|
+
//#region src/components/feedback/skeleton/skeleton.css?inline
|
|
2213
2213
|
var Tr = "/* The size is on the host so a percentage has a box to resolve against. */\n:host { display: block; }\n:host(lintje-skeleton) .lintje-skeleton { width: 100%; height: 100%; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-skeleton {\n display: block;\n background: linear-gradient(90deg,\n var(--color-bg-subtle) 25%,\n var(--color-border-default) 37%,\n var(--color-bg-subtle) 63%);\n background-size: 200% 100%;\n animation: lintje-shimmer var(--dur-skeleton) linear infinite;\n}\n@media (prefers-reduced-motion: reduce) {\n .lintje-skeleton { animation: none; background: var(--color-bg-subtle); }\n}\n\n/* Forced colours: the gradient is dropped, so the placeholder keeps a 1 px GrayText line. */\n@media (forced-colors: active) {\n .lintje-skeleton { outline: 1px solid GrayText; outline-offset: -1px; }\n}\n", Er = class extends j {
|
|
2214
2214
|
constructor(...e) {
|
|
2215
2215
|
super(...e), this.width = "100%", this.height = 12;
|
|
@@ -2232,7 +2232,7 @@ var Tr = "/* The size is on the host so a percentage has a box to resolve agains
|
|
|
2232
2232
|
};
|
|
2233
2233
|
M("lintje-skeleton", Er);
|
|
2234
2234
|
//#endregion
|
|
2235
|
-
//#region src/
|
|
2235
|
+
//#region src/components/shared/empty-state-block.ts
|
|
2236
2236
|
var Dr = A(".lintje-empty-state {\n display: flex; flex-direction: column; align-items: center;\n gap: var(--space-2);\n padding: var(--space-8) var(--space-4);\n text-align: center;\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n.lintje-empty-state__icon { color: var(--color-text-muted); }\n.lintje-empty-state__heading {\n margin: var(--space-1) 0 0;\n font: var(--text-tile-title);\n color: var(--color-text-primary);\n}\n.lintje-empty-state__text {\n max-width: 280px;\n margin: 0;\n color: var(--color-text-muted);\n}\n.lintje-empty-state__action { margin-top: var(--space-2); }\n\n.lintje-empty-state--compact {\n display: block;\n padding: var(--space-4);\n text-align: left;\n color: var(--color-text-muted);\n}\n\n/* Phone: the action runs the full width. */\n@media screen and (max-width: 767px) {\n .lintje-empty-state:not(.lintje-empty-state--compact) .lintje-empty-state__action {\n align-self: stretch;\n }\n}\n");
|
|
2237
2237
|
function Or(e, t) {
|
|
2238
2238
|
switch (t) {
|
|
@@ -2263,7 +2263,7 @@ function Ar(e) {
|
|
|
2263
2263
|
</div>`}`;
|
|
2264
2264
|
}
|
|
2265
2265
|
//#endregion
|
|
2266
|
-
//#region src/
|
|
2266
|
+
//#region src/components/layout/tile/tile.css?inline
|
|
2267
2267
|
var jr = "/*\n * Above the divider: the host, the grid item the tile fills by its height or, when the host has\n * only a floor, by `min-height: inherit`. Below it: the block's BEM CSS.\n */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n.lintje-tile {\n height: 100%;\n min-height: inherit;\n}\n/* On paper a tile stays on one sheet where it fits, unless it is `breakable`. */\n@media print { :host(:not([breakable])) { break-inside: avoid; } }\n.lintje-chart-state {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n justify-content: center;\n align-items: center;\n min-width: 0;\n}\n.lintje-chart-state--empty { text-align: center; gap: var(--space-3); }\n.lintje-chart-state--empty .lintje-empty-state--compact { text-align: center; font: var(--text-small); }\n/* An announcement measures as a container, so it has no width of its own to centre by. */\n.lintje-chart-state--error { justify-content: flex-start; align-items: stretch; gap: var(--space-4); }\n.lintje-chart-state__last-known { font: var(--text-small); color: var(--color-text-muted); text-align: center; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-tile {\n display: flex;\n flex-direction: column;\n gap: 14px;\n min-width: 0;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n border-radius: var(--radius);\n padding: var(--tile-pad-y) var(--tile-pad-x);\n}\n\n.lintje-tile__head {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--space-4);\n}\n.lintje-tile__heading { min-width: 0; }\n/* With an icon the heading becomes two columns, which centres the icon on the title's line and\n keeps the subtitle under the title text. */\n.lintje-tile__heading--icon {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n}\n/* Only the placement is the tile's; the alignment is `.lintje-leading-icon`. */\n.lintje-tile__icon { grid-row: 1; }\n.lintje-tile__heading--icon .lintje-tile__title,\n.lintje-tile__heading--icon .lintje-tile__sub { grid-column: 2; }\n.lintje-tile__title { font: var(--text-tile-title); color: var(--color-text-primary); }\n.lintje-tile__sub { font: var(--text-tile-sub); color: var(--color-text-muted); margin-top: 2px; }\n/* The actions are 40 px icon buttons beside a title of one line: they stand out above and below\n it, so the head is the title's height and a tile without a subtitle keeps no empty band. */\n.lintje-tile__actions {\n display: flex; gap: var(--space-2); flex: none;\n margin-block: calc(var(--space-2) * -1);\n}\n/* Expand and download appear only while the tile is hovered or holds keyboard focus; without\n hover they stay visible. The tile only hides the action; how the visible action looks is the\n icon button's own. */\n.lintje-tile:not(:hover):not(:focus-within) lintje-icon-button[variant='tile'] { opacity: 0; }\n@media (hover: none) {\n .lintje-tile:not(:hover):not(:focus-within) lintje-icon-button[variant='tile'] { opacity: 1; }\n}\n\n.lintje-tile__intro { font: var(--text-small); color: var(--color-text-secondary); }\n\n/* Body and content are flex columns, so slotted content can place itself in a taller tile. */\n.lintje-tile__body { flex: 1; min-height: 0; min-width: 0; display: flex; flex-direction: column; }\n.lintje-tile__content { flex: 1; min-height: 0; display: flex; flex-direction: column; }\n/* A tile with a height of its own scrolls what does not fit (`content-scroll`). */\n:host([content-scroll]) .lintje-tile__content { overflow: auto; }\n.lintje-tile__body--aside { flex-direction: row; gap: var(--space-5); align-items: stretch; }\n.lintje-tile__body--aside .lintje-tile__content { flex: 1; min-width: 0; }\n.lintje-tile__aside { flex: none; display: flex; flex-direction: column; justify-content: center; }\n/* On a phone the content keeps its full width and the key figure leads above it. */\n@media screen and (max-width: 767px) {\n .lintje-tile__body--aside { flex-direction: column; }\n}\n\n.lintje-tile__footnote {\n font: var(--text-meta);\n color: var(--color-text-muted);\n border-top: 1px solid var(--color-border-default);\n padding-top: var(--space-2);\n margin-top: auto;\n}\n\n/* Flush: the rows' lines reach the frame, and what they draw keeps the heading's indent through\n --lintje-inset, as does a pager under them. The last row's line is the footnote's rule. */\n.lintje-tile--flush .lintje-tile__body {\n margin-inline: calc(var(--tile-pad-x) * -1);\n --lintje-inset: var(--tile-pad-x);\n}\n.lintje-tile--flush .lintje-tile__footnote { border-top: 0; padding-top: 0; }\n/* Without a footnote the last row's line is the frame's: no empty strip under it. A pager under\n the rows gives the strip back through --lintje-inset-end. */\n.lintje-tile--flush:has(> .lintje-tile__footnote[hidden]) > .lintje-tile__body {\n margin-bottom: calc(var(--tile-pad-y) * -1 - 1px);\n --lintje-inset-end: calc(var(--tile-pad-y) + 1px);\n}\n\n/* Enlarging and downloading are for the screen. A tile split over two sheets is a block:\n Chromium sizes a flex column that breaks too short, and what follows overlaps its rows. */\n@media print {\n .lintje-tile__actions { display: none; }\n :host([breakable]) .lintje-tile { display: block; }\n :host([breakable]) .lintje-tile > :not(:first-child) { margin-top: 14px; }\n}\n", Mr = "Gegevens laden…", Nr = class e extends lr {
|
|
2268
2268
|
constructor(...e) {
|
|
2269
2269
|
super(...e), this.footnoteSlotted = !1, this.asideSlotted = !1, this.legendBelow = !1, this.expandable = !1, this.download = !1, this.state = "ready", this.contentHeight = "var(--chart-h-main)", this.contentScroll = !1, this.flush = !1, this.breakable = !1, this.filled = null, this.#e = 0;
|
|
@@ -2437,7 +2437,7 @@ var jr = "/*\n * Above the divider: the host, the grid item the tile fills by it
|
|
|
2437
2437
|
};
|
|
2438
2438
|
M("lintje-tile", Nr);
|
|
2439
2439
|
//#endregion
|
|
2440
|
-
//#region src/
|
|
2440
|
+
//#region src/components/layout/grid/grid.css?inline
|
|
2441
2441
|
var Pr = "/*\n * Written with `:host(…)` and `::slotted()`: a selector from outside cannot reach into an item's\n * own root. An item's width comes from `--lintje-span`, so a media rule can override `grid-column`.\n */\n\n/* --- The grid ------------------------------------------------------------ */\n:host {\n display: grid;\n grid-template-columns: repeat(var(--lintje-grid-columns, 12), minmax(0, 1fr));\n gap: var(--grid-gutter);\n align-items: stretch;\n}\n:host([hidden]) { display: none; }\n\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n :host([variant='kpi-row']) { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n}\n@media screen and (max-width: 767px) {\n :host { grid-template-columns: minmax(0, 1fr); }\n :host([variant='kpi-row']) { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n\n/* --- Every item its column ------------------------------------------------ */\n\n::slotted([span]) {\n min-width: 0;\n grid-column: span var(--lintje-span, 1);\n}\n\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n ::slotted([span='4']) { grid-column: span 6; }\n ::slotted([span='8']) { grid-column: span 12; }\n}\n@media screen and (max-width: 767px) {\n ::slotted([span]) { grid-column: span 1; }\n}\n", Fr = class extends j {
|
|
2442
2442
|
constructor(...e) {
|
|
2443
2443
|
super(...e), this.columns = 12;
|
|
@@ -2463,7 +2463,7 @@ var Pr = "/*\n * Written with `:host(…)` and `::slotted()`: a selector from ou
|
|
|
2463
2463
|
};
|
|
2464
2464
|
M("lintje-grid", Fr);
|
|
2465
2465
|
//#endregion
|
|
2466
|
-
//#region src/
|
|
2466
|
+
//#region src/components/layout/grid-item/grid-item.ts
|
|
2467
2467
|
var Ir = class extends lr {
|
|
2468
2468
|
static {
|
|
2469
2469
|
this.styles = cr;
|
|
@@ -2493,7 +2493,7 @@ function Hr(e) {
|
|
|
2493
2493
|
Rr.delete(e), X?.unobserve(e);
|
|
2494
2494
|
}
|
|
2495
2495
|
//#endregion
|
|
2496
|
-
//#region src/
|
|
2496
|
+
//#region src/components/actions/icon/icon.css?inline
|
|
2497
2497
|
var Ur = "/* `<lintje-icon>`'s own box: the host is the flex child; the glyph inside is a plain block. */\n:host {\n display: inline-flex;\n flex: none;\n}\n:host([hidden]) { display: none; }\n.lintje-icon {\n display: block;\n}\n", Wr = Object.keys(Ft), Gr = class extends j {
|
|
2498
2498
|
constructor(...e) {
|
|
2499
2499
|
super(...e), this.size = 16, this.lazy = !1, this.#e = null, this.#t = !1;
|
|
@@ -2556,7 +2556,7 @@ function Jr() {
|
|
|
2556
2556
|
return typeof matchMedia < "u" && matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
2557
2557
|
}
|
|
2558
2558
|
//#endregion
|
|
2559
|
-
//#region src/
|
|
2559
|
+
//#region src/components/feedback/progress-bar/progress-bar.css?inline
|
|
2560
2560
|
var Yr = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-progress { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }\n.lintje-progress__head {\n display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;\n gap: var(--space-1) var(--space-4);\n font: var(--text-small);\n}\n.lintje-progress__label { font-weight: 700; color: var(--color-text-primary); }\n.lintje-progress__detail { color: var(--color-text-muted); }\n.lintje-progress__mark { margin-right: var(--space-1); vertical-align: -0.125em; }\n.lintje-progress--done .lintje-progress__mark { color: var(--color-success-line); }\n.lintje-progress--error .lintje-progress__mark { color: var(--color-error-line); }\n.lintje-progress--paused .lintje-progress__mark { color: var(--color-text-muted); }\n\n/* The accent LINE, not the fill colour, keeps 3:1 on the dark surface. */\n.lintje-progress__track { height: 6px; background: var(--color-border-default); overflow: hidden; }\n.lintje-progress__fill {\n height: 100%;\n background: var(--color-accent-line);\n transition: width var(--dur-base) var(--ease-in-motion);\n}\n\n.lintje-progress--done .lintje-progress__fill { background: var(--color-success); }\n.lintje-progress--error .lintje-progress__fill { background: var(--color-error); }\n.lintje-progress--error .lintje-progress__label { color: var(--color-error-text); }\n.lintje-progress--paused .lintje-progress__fill { background: var(--color-text-muted); }\n\n.lintje-progress__track.is-indeterminate .lintje-progress__fill {\n width: 30%;\n animation: lintje-progress-slide var(--dur-skeleton) linear infinite alternate;\n}\n@keyframes lintje-progress-slide {\n from { margin-left: 0; }\n to { margin-left: 70%; }\n}\n@media (prefers-reduced-motion: reduce) {\n .lintje-progress__fill { transition: none; }\n .lintje-progress__track.is-indeterminate .lintje-progress__fill { animation: none; margin-left: 35%; }\n}\n\n/* Forced colours: the browser drops fills, so the track keeps a CanvasText edge and the fill\n draws as Highlight. */\n@media (forced-colors: active) {\n .lintje-progress__track { outline: 1px solid CanvasText; outline-offset: -1px; }\n .lintje-progress__fill { forced-color-adjust: none; background: Highlight; }\n}\n", Xr = class extends j {
|
|
2561
2561
|
constructor(...e) {
|
|
2562
2562
|
super(...e), this.label = "", this.hideLabel = !1, this.state = "busy";
|
|
@@ -2683,7 +2683,46 @@ var Zr = (e, t, n) => {
|
|
|
2683
2683
|
}
|
|
2684
2684
|
return this.ut = o, zn(e, c), w;
|
|
2685
2685
|
}
|
|
2686
|
-
})
|
|
2686
|
+
});
|
|
2687
|
+
//#endregion
|
|
2688
|
+
//#region src/core/format.ts
|
|
2689
|
+
function Z(e, t = 0) {
|
|
2690
|
+
return e.toLocaleString("nl-NL", {
|
|
2691
|
+
minimumFractionDigits: t,
|
|
2692
|
+
maximumFractionDigits: t
|
|
2693
|
+
});
|
|
2694
|
+
}
|
|
2695
|
+
function $r(e) {
|
|
2696
|
+
return Math.abs(e) >= 1e6 ? `${Z(e / 1e6, 1)} mln` : Math.abs(e) >= 1e4 ? `${Math.round(e / 1e3)}k` : Z(e);
|
|
2697
|
+
}
|
|
2698
|
+
function ei(e, t) {
|
|
2699
|
+
let n = Z(e);
|
|
2700
|
+
return ni(n, t) ? n : $r(e);
|
|
2701
|
+
}
|
|
2702
|
+
var ti = 6.5;
|
|
2703
|
+
function ni(e, t) {
|
|
2704
|
+
return e.length * ti <= t;
|
|
2705
|
+
}
|
|
2706
|
+
var ri = "'RijksSans', 'Source Sans 3', sans-serif", Q;
|
|
2707
|
+
function ii(e, t, n = "") {
|
|
2708
|
+
if (ai(e, n) <= t) return e;
|
|
2709
|
+
let r = e.length;
|
|
2710
|
+
for (; r > 1;) {
|
|
2711
|
+
--r;
|
|
2712
|
+
let i = `${e.slice(0, r).trimEnd()}…`;
|
|
2713
|
+
if (ai(i, n) <= t) return i;
|
|
2714
|
+
}
|
|
2715
|
+
return "…";
|
|
2716
|
+
}
|
|
2717
|
+
function ai(e, t = "", n = 400) {
|
|
2718
|
+
return Q === void 0 && (Q = typeof document > "u" ? null : document.createElement("canvas").getContext("2d") ?? null), Q ? (Q.font = `${n} 12px ${t.trim() || ri}`, Q.measureText(e).width) : e.length * ti;
|
|
2719
|
+
}
|
|
2720
|
+
function oi(e, t = 0) {
|
|
2721
|
+
return `${Z(e, t)}%`;
|
|
2722
|
+
}
|
|
2723
|
+
//#endregion
|
|
2724
|
+
//#region node_modules/lit-html/directives/live.js
|
|
2725
|
+
var si = R(class extends z {
|
|
2687
2726
|
constructor(e) {
|
|
2688
2727
|
if (super(e), e.type !== L.PROPERTY && e.type !== L.ATTRIBUTE && e.type !== L.BOOLEAN_ATTRIBUTE) throw Error("The `live` directive is not allowed on child or event bindings");
|
|
2689
2728
|
if (!In(e)) throw Error("`live` bindings can only contain a single expression");
|
|
@@ -2701,48 +2740,48 @@ var Zr = (e, t, n) => {
|
|
|
2701
2740
|
} else if (e.type === L.ATTRIBUTE && n.getAttribute(r) === t + "") return w;
|
|
2702
2741
|
return zn(e), t;
|
|
2703
2742
|
}
|
|
2704
|
-
}),
|
|
2743
|
+
}), $ = (e, t) => {
|
|
2705
2744
|
let n = e._$AN;
|
|
2706
2745
|
if (n === void 0) return !1;
|
|
2707
|
-
for (let e of n) e._$AO?.(t, !1),
|
|
2746
|
+
for (let e of n) e._$AO?.(t, !1), $(e, t);
|
|
2708
2747
|
return !0;
|
|
2709
|
-
},
|
|
2748
|
+
}, ci = (e) => {
|
|
2710
2749
|
let t, n;
|
|
2711
2750
|
do {
|
|
2712
2751
|
if ((t = e._$AM) === void 0) break;
|
|
2713
2752
|
n = t._$AN, n.delete(e), e = t;
|
|
2714
2753
|
} while (n?.size === 0);
|
|
2715
|
-
},
|
|
2754
|
+
}, li = (e) => {
|
|
2716
2755
|
for (let t; t = e._$AM; e = t) {
|
|
2717
2756
|
let n = t._$AN;
|
|
2718
2757
|
if (n === void 0) t._$AN = n = /* @__PURE__ */ new Set();
|
|
2719
2758
|
else if (n.has(e)) break;
|
|
2720
|
-
n.add(e),
|
|
2759
|
+
n.add(e), fi(t);
|
|
2721
2760
|
}
|
|
2722
2761
|
};
|
|
2723
|
-
function
|
|
2724
|
-
this._$AN === void 0 ? this._$AM = e : (
|
|
2762
|
+
function ui(e) {
|
|
2763
|
+
this._$AN === void 0 ? this._$AM = e : (ci(this), this._$AM = e, li(this));
|
|
2725
2764
|
}
|
|
2726
|
-
function
|
|
2765
|
+
function di(e, t = !1, n = 0) {
|
|
2727
2766
|
let r = this._$AH, i = this._$AN;
|
|
2728
2767
|
if (i !== void 0 && i.size !== 0) {
|
|
2729
2768
|
if (t) {
|
|
2730
|
-
if (Array.isArray(r)) for (let e = n; e < r.length; e++)
|
|
2731
|
-
else r != null && (
|
|
2732
|
-
} else
|
|
2769
|
+
if (Array.isArray(r)) for (let e = n; e < r.length; e++) $(r[e], !1), ci(r[e]);
|
|
2770
|
+
else r != null && ($(r, !1), ci(r));
|
|
2771
|
+
} else $(this, e);
|
|
2733
2772
|
}
|
|
2734
2773
|
}
|
|
2735
|
-
var
|
|
2736
|
-
e.type == L.CHILD && (e._$AP ??=
|
|
2737
|
-
},
|
|
2774
|
+
var fi = (e) => {
|
|
2775
|
+
e.type == L.CHILD && (e._$AP ??= di, e._$AQ ??= ui);
|
|
2776
|
+
}, pi = class extends z {
|
|
2738
2777
|
constructor() {
|
|
2739
2778
|
super(...arguments), this._$AN = void 0;
|
|
2740
2779
|
}
|
|
2741
2780
|
_$AT(e, t, n) {
|
|
2742
|
-
super._$AT(e, t, n),
|
|
2781
|
+
super._$AT(e, t, n), li(this), this.isConnected = e._$AU;
|
|
2743
2782
|
}
|
|
2744
2783
|
_$AO(e, t = !0) {
|
|
2745
|
-
e !== this.isConnected && (this.isConnected = e, e ? this.reconnected?.() : this.disconnected?.()), t && (
|
|
2784
|
+
e !== this.isConnected && (this.isConnected = e, e ? this.reconnected?.() : this.disconnected?.()), t && ($(this, e), ci(this));
|
|
2746
2785
|
}
|
|
2747
2786
|
setValue(e) {
|
|
2748
2787
|
if (In(this._$Ct)) this._$Ct._$AI(e, this);
|
|
@@ -2753,7 +2792,7 @@ var ii = (e) => {
|
|
|
2753
2792
|
}
|
|
2754
2793
|
disconnected() {}
|
|
2755
2794
|
reconnected() {}
|
|
2756
|
-
},
|
|
2795
|
+
}, mi = /* @__PURE__ */ new WeakMap(), hi = R(class extends pi {
|
|
2757
2796
|
render(e) {
|
|
2758
2797
|
return T;
|
|
2759
2798
|
}
|
|
@@ -2764,13 +2803,13 @@ var ii = (e) => {
|
|
|
2764
2803
|
rt(e) {
|
|
2765
2804
|
if (this.G !== void 0) {
|
|
2766
2805
|
if (this.isConnected || (e = void 0), typeof this.G == "function") {
|
|
2767
|
-
let t = this.ht ?? globalThis, n =
|
|
2768
|
-
n === void 0 && (n = /* @__PURE__ */ new WeakMap(),
|
|
2806
|
+
let t = this.ht ?? globalThis, n = mi.get(t);
|
|
2807
|
+
n === void 0 && (n = /* @__PURE__ */ new WeakMap(), mi.set(t, n)), n.get(this.G) !== void 0 && this.G.call(this.ht, void 0), n.set(this.G, e), e !== void 0 && this.G.call(this.ht, e);
|
|
2769
2808
|
} else this.G.value = e;
|
|
2770
2809
|
}
|
|
2771
2810
|
}
|
|
2772
2811
|
get lt() {
|
|
2773
|
-
return typeof this.G == "function" ?
|
|
2812
|
+
return typeof this.G == "function" ? mi.get(this.ht ?? globalThis)?.get(this.G) : this.G?.value;
|
|
2774
2813
|
}
|
|
2775
2814
|
disconnected() {
|
|
2776
2815
|
this.lt === this.ct && this.rt(void 0);
|
|
@@ -2778,55 +2817,19 @@ var ii = (e) => {
|
|
|
2778
2817
|
reconnected() {
|
|
2779
2818
|
this.rt(this.ct);
|
|
2780
2819
|
}
|
|
2781
|
-
}),
|
|
2782
|
-
function
|
|
2783
|
-
for (let e of
|
|
2820
|
+
}), gi = /* @__PURE__ */ new Set(), _i = !1;
|
|
2821
|
+
function vi() {
|
|
2822
|
+
for (let e of gi) e();
|
|
2784
2823
|
}
|
|
2785
|
-
function
|
|
2786
|
-
return !
|
|
2787
|
-
}
|
|
2788
|
-
var fi = /* @__PURE__ */ new Set(), pi = null;
|
|
2789
|
-
function mi(e) {
|
|
2790
|
-
for (let t of fi) t(e.matches);
|
|
2791
|
-
}
|
|
2792
|
-
function hi(e) {
|
|
2793
|
-
return !pi && typeof matchMedia < "u" && (pi = matchMedia("print"), pi.addEventListener("change", mi)), fi.add(e), () => fi.delete(e);
|
|
2794
|
-
}
|
|
2795
|
-
//#endregion
|
|
2796
|
-
//#region src/core/format.ts
|
|
2797
|
-
function Q(e, t = 0) {
|
|
2798
|
-
return e.toLocaleString("nl-NL", {
|
|
2799
|
-
minimumFractionDigits: t,
|
|
2800
|
-
maximumFractionDigits: t
|
|
2801
|
-
});
|
|
2802
|
-
}
|
|
2803
|
-
function gi(e) {
|
|
2804
|
-
return Math.abs(e) >= 1e6 ? `${Q(e / 1e6, 1)} mln` : Math.abs(e) >= 1e4 ? `${Math.round(e / 1e3)}k` : Q(e);
|
|
2805
|
-
}
|
|
2806
|
-
function _i(e, t) {
|
|
2807
|
-
let n = Q(e);
|
|
2808
|
-
return yi(n, t) ? n : gi(e);
|
|
2809
|
-
}
|
|
2810
|
-
var vi = 6.5;
|
|
2811
|
-
function yi(e, t) {
|
|
2812
|
-
return e.length * vi <= t;
|
|
2813
|
-
}
|
|
2814
|
-
var bi = "'RijksSans', 'Source Sans 3', sans-serif", $;
|
|
2815
|
-
function xi(e, t, n = "") {
|
|
2816
|
-
if (Si(e, n) <= t) return e;
|
|
2817
|
-
let r = e.length;
|
|
2818
|
-
for (; r > 1;) {
|
|
2819
|
-
--r;
|
|
2820
|
-
let i = `${e.slice(0, r).trimEnd()}…`;
|
|
2821
|
-
if (Si(i, n) <= t) return i;
|
|
2822
|
-
}
|
|
2823
|
-
return "…";
|
|
2824
|
+
function yi(e) {
|
|
2825
|
+
return !_i && typeof window < "u" && (window.addEventListener("beforeprint", vi), _i = !0), gi.add(e), () => gi.delete(e);
|
|
2824
2826
|
}
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
+
var bi = /* @__PURE__ */ new Set(), xi = null;
|
|
2828
|
+
function Si(e) {
|
|
2829
|
+
for (let t of bi) t(e.matches);
|
|
2827
2830
|
}
|
|
2828
|
-
function Ci(e
|
|
2829
|
-
return
|
|
2831
|
+
function Ci(e) {
|
|
2832
|
+
return !xi && typeof matchMedia < "u" && (xi = matchMedia("print"), xi.addEventListener("change", Si)), bi.add(e), () => bi.delete(e);
|
|
2830
2833
|
}
|
|
2831
2834
|
//#endregion
|
|
2832
2835
|
//#region src/tokens/colors.ts
|
|
@@ -2856,4 +2859,4 @@ function Ei(e) {
|
|
|
2856
2859
|
return `var(--color-chart-${e})`;
|
|
2857
2860
|
}
|
|
2858
2861
|
//#endregion
|
|
2859
|
-
export { Dn as $, Ue as $t, Cr as A, Nt as At, nr as B, ht as Bt, Fr as C, R as Ct, Er as D, Pt as Dt, kr as E, Ft as Et, cr as F, _t as Ft, qn as G, et as Gt, Zn as H, lt as Ht, or as I, dt as It, An as J, j as Jt, Un as K, it as Kt, ar as L, ft as Lt, mr as M, Ct as Mt, hr as N, Mt as Nt, Tr as O, St as Ot, lr as P, gt as Pt, kn as Q, Ve as Qt, ir as R, mt as Rt, Ir as S, Lt as St, Dr as T, L as Tt, Xn as U, st as Ut, $n as V, ct as Vt, Gn as W, ot as Wt, Mn as X, We as Xt, Nn as Y, M as Yt, wn as Z, A as Zt, Kr as _, an as _t,
|
|
2862
|
+
export { Dn as $, Ue as $t, Cr as A, Nt as At, nr as B, ht as Bt, Fr as C, R as Ct, Er as D, Pt as Dt, kr as E, Ft as Et, cr as F, _t as Ft, qn as G, et as Gt, Zn as H, lt as Ht, or as I, dt as It, An as J, j as Jt, Un as K, it as Kt, ar as L, ft as Lt, mr as M, Ct as Mt, hr as N, Mt as Nt, Tr as O, St as Ot, lr as P, gt as Pt, kn as Q, Ve as Qt, ir as R, mt as Rt, Ir as S, Lt as St, Dr as T, L as Tt, Xn as U, st as Ut, $n as V, ct as Vt, Gn as W, ot as Wt, Mn as X, We as Xt, Nn as Y, M as Yt, wn as Z, A as Zt, Kr as _, an as _t, Ci as a, e as an, _n as at, Wr as b, B as bt, ni as c, pn as ct, Z as d, mn as dt, T as en, On as et, oi as f, nn as ft, Xr as g, rn as gt, Qr as h, tn as ht, yi as i, o as in, yn as it, br as j, jt, wr as k, kt, $r as l, G as lt, ii as m, cn as mt, Ei as n, C as nn, xn as nt, hi as o, vn as ot, ai as p, en as pt, Hn as q, tt as qt, Ti as r, Ce as rn, bn as rt, si as s, q as st, wi as t, Ie as tn, Cn as tt, ei as u, K as ut, qr as v, sn as vt, Nr as w, z as wt, Gr as x, zt as xt, Jr as y, $t as yt, tr as z, pt as zt };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region src/components/
|
|
1
|
+
//#region src/components/shared/date-format.ts
|
|
2
2
|
var e = /^(\d{4})-(\d{2})-(\d{2})$/, t = /^(\d{1,2})[-./](\d{1,2})[-./](\d{2}|\d{4})$/, n = (e, t = 2) => String(e).padStart(t, "0");
|
|
3
3
|
function r(e, t) {
|
|
4
4
|
return new Date(Date.UTC(e, t, 0)).getUTCDate();
|