lintje 0.1.1 → 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/charts.js +1 -1
- package/dist-elements/chunks/{base-rBLTcEIv.js → base-CbmWxUig.js} +538 -337
- package/dist-elements/chunks/{controls-B1455oPG.js → controls-DxmnDSBr.js} +6 -0
- package/dist-elements/chunks/{date-format-B5DPGjAw.js → date-format-mHtZyBys.js} +28 -2
- package/dist-elements/chunks/dialog-DChINFxD.js +28 -0
- package/dist-elements/chunks/disclosure-D39vAR5q.js +4 -0
- package/dist-elements/chunks/{disclosure-CHasOudX.js → disclosure-DLkXPUpV.js} +10 -10
- package/dist-elements/chunks/download-Ct9q2anY.js +206 -0
- package/dist-elements/chunks/{focus-trap-w3vCamJ6.js → focus-trap-BwOxE5BX.js} +1 -1
- package/dist-elements/chunks/input-CRW_exv_.js +195 -0
- package/dist-elements/chunks/{player-Bq9YGnpt.js → player-B8QXJ0Z5.js} +35 -35
- package/dist-elements/chunks/{sentence-CLNJOeXz.js → sentence-B19AyZBS.js} +1 -1
- package/dist-elements/chunks/{stagger-9hYzxhMG.js → stagger-BHoOgy0g.js} +163 -135
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +2049 -1329
- 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 +9 -1
- package/dist-elements/guides/events.md +7 -7
- package/dist-elements/guides/loading.md +10 -9
- package/dist-elements/guides/page-contents.md +110 -0
- package/dist-elements/guides/start.md +13 -1
- package/dist-elements/inputs.js +3 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +24508 -23210
- package/dist-elements/map.js +1 -1
- 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 +18 -18
- package/dist-elements/tag/ai-label.js +11 -11
- package/dist-elements/tag/announcement.js +36 -76
- package/dist-elements/tag/app-search.js +50 -50
- package/dist-elements/tag/audio-player.js +57 -57
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +20 -20
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +12 -12
- package/dist-elements/tag/card.js +51 -56
- package/dist-elements/tag/chart.d.ts +1 -0
- package/dist-elements/tag/chart.js +2123 -0
- package/dist-elements/tag/chat-answer.js +51 -51
- package/dist-elements/tag/chat-composer.js +75 -71
- package/dist-elements/tag/chat-message.js +13 -13
- 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 +4 -4
- package/dist-elements/tag/code.js +7 -7
- package/dist-elements/tag/combobox.js +18 -18
- package/dist-elements/tag/conflict-alert.js +12 -12
- package/dist-elements/tag/copy-button.js +17 -17
- package/dist-elements/tag/data-table.js +880 -532
- package/dist-elements/tag/date-input.js +44 -52
- package/dist-elements/tag/date-range.js +42 -42
- 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 +29 -29
- package/dist-elements/tag/drawer.js +27 -31
- 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 +16 -16
- package/dist-elements/tag/expander.js +7 -7
- package/dist-elements/tag/explainer.js +11 -11
- package/dist-elements/tag/field.js +7 -7
- package/dist-elements/tag/file-upload.js +32 -32
- package/dist-elements/tag/filter-bar.js +57 -57
- package/dist-elements/tag/filter-sheet.js +12 -12
- package/dist-elements/tag/filter-zone.js +31 -31
- package/dist-elements/tag/footer.js +21 -21
- package/dist-elements/tag/form-actions.js +30 -26
- package/dist-elements/tag/form-section.js +7 -7
- package/dist-elements/tag/form.js +12 -12
- package/dist-elements/tag/gallery.js +16 -16
- 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 +9 -9
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +23 -45
- package/dist-elements/tag/kpi-row.js +14 -10
- package/dist-elements/tag/kpi.js +276 -77
- package/dist-elements/tag/level-meter.js +11 -11
- package/dist-elements/tag/list.js +63 -63
- package/dist-elements/tag/logo.js +34 -34
- package/dist-elements/tag/map.d.ts +1 -0
- package/dist-elements/tag/map.js +21935 -0
- package/dist-elements/tag/menu-button.js +70 -68
- package/dist-elements/tag/modal.js +27 -36
- package/dist-elements/tag/multiselect.js +33 -33
- package/dist-elements/tag/note.js +6 -6
- package/dist-elements/tag/notifications.js +36 -36
- package/dist-elements/tag/number-input.js +6 -6
- package/dist-elements/tag/page-header.js +138 -35
- package/dist-elements/tag/pagination.js +54 -49
- 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 +8 -8
- package/dist-elements/tag/radio-group.js +7 -7
- package/dist-elements/tag/range.js +28 -28
- package/dist-elements/tag/recording-status.js +16 -16
- package/dist-elements/tag/repeater.js +10 -10
- package/dist-elements/tag/segmented.js +9 -9
- package/dist-elements/tag/select.js +6 -6
- package/dist-elements/tag/shell.js +356 -339
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.d.ts +1 -0
- package/dist-elements/tag/slot-picker.js +74 -0
- package/dist-elements/tag/sortable-list.js +18 -18
- 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 +21 -21
- package/dist-elements/tag/sub-nav.js +40 -39
- package/dist-elements/tag/tabs.js +38 -38
- package/dist-elements/tag/tag-input.js +19 -19
- package/dist-elements/tag/text-editor.js +19 -19
- package/dist-elements/tag/text-input.js +6 -6
- package/dist-elements/tag/textarea.js +16 -16
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +136 -42
- package/dist-elements/tag/toast.js +32 -23
- package/dist-elements/tag/toggle.js +4 -4
- package/dist-elements/tag/toggletip.js +27 -27
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +47 -47
- package/dist-elements/tag/translator.js +13 -13
- package/dist-elements/tag/tree-view.js +20 -20
- package/dist-elements/tag/user-menu.js +42 -41
- package/dist-elements/tag/video-player.js +21 -21
- package/dist-elements/tokens.css +122 -96
- package/dist-elements/types/bundle/charts.d.ts +1 -1
- 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/index.d.ts +1 -1
- package/dist-elements/types/bundle/inputs.d.ts +2 -0
- package/dist-elements/types/bundle/map.d.ts +1 -1
- 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-tile/chart-tile.d.ts → chart/chart.d.ts} +12 -11
- package/dist-elements/types/components/charts/kpi/gauge.d.ts +18 -0
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +38 -5
- 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 +8 -9
- 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 +16 -14
- 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-format.d.ts +4 -0
- 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 +42 -0
- 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-format.d.ts +4 -0
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +25 -7
- 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-tile/map-tile.d.ts → map/map.d.ts} +16 -11
- package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
- package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
- package/dist-elements/types/components/overlays/modal/modal.d.ts +7 -12
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +3 -7
- package/dist-elements/types/components/shared/charts/histogram-chart/histogram-chart.d.ts +33 -0
- package/dist-elements/types/components/shared/charts/index.d.ts +7 -2
- 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/area.d.ts +16 -0
- package/dist-elements/types/components/shared/charts/map-chart/drawings.d.ts +6 -2
- package/dist-elements/types/components/shared/charts/map-chart/geo.d.ts +6 -0
- package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +45 -2
- package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +17 -3
- package/dist-elements/types/components/shared/charts/map-chart/map-legend.d.ts +26 -0
- package/dist-elements/types/components/shared/charts/map-chart/marks.d.ts +47 -0
- package/dist-elements/types/components/shared/charts/map-chart/reveal.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/scatter-chart/scatter-chart.d.ts +29 -0
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +21 -4
- package/dist-elements/types/components/shared/charts/shared/chart-icons.d.ts +4 -3
- 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 +34 -15
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +141 -6
- 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/format.d.ts +5 -2
- 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/place.d.ts +1 -1
- 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 +8 -6
- package/dist-elements/types/types.d.ts +106 -16
- package/dist-icons/functioneel-cirkelselectie.svg +1 -0
- package/dist-icons/functioneel-kolommen.svg +1 -0
- package/dist-icons/functioneel-lasso.svg +1 -0
- package/dist-icons/functioneel-punaise-outline.svg +1 -0
- package/dist-icons/functioneel-punaise.svg +1 -0
- package/dist-icons/functioneel-rechthoekselectie.svg +1 -0
- package/dist-icons/functioneel-selectie.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/disclosure-Z7Ny17sS.js +0 -4
- package/dist-elements/chunks/download-lFooAfD1.js +0 -226
- package/dist-elements/chunks/input-jQVTln7H.js +0 -195
- package/dist-elements/tag/chart-tile.d.ts +0 -1
- package/dist-elements/tag/chart-tile.js +0 -1474
- package/dist-elements/tag/confirm-dialog.d.ts +0 -1
- package/dist-elements/tag/confirm-dialog.js +0 -118
- package/dist-elements/tag/map-tile.d.ts +0 -1
- package/dist-elements/tag/map-tile.js +0 -22292
- 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,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-select>` — a select, bold once the value differs from the default.
|
|
3
|
-
* The filter bar passes no `name` and sets `hide-label`. The width is the host's, not inline,
|
|
4
|
-
* so `filter-layout.css` can narrow it from outside.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
4
|
+
* In a filter bar it is `hide-label` and nameless. Its width is the host's, so the filter layout
|
|
5
|
+
* can narrow it from outside.
|
|
6
|
+
*
|
|
7
|
+
* Events: `lintje-change` `string`, `lintje-values-change` `{ [name]: value }` (with a `name`),
|
|
8
|
+
* `lintje-reset` (the reset link was pressed).
|
|
7
9
|
*/
|
|
8
10
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
9
11
|
import { LintjeInputElement } from '../shared/input.js';
|
|
@@ -12,6 +14,7 @@ export declare class LintjeSelect extends LintjeInputElement {
|
|
|
12
14
|
static styles: import("lit").CSSResult[];
|
|
13
15
|
static properties: PropertyDeclarations;
|
|
14
16
|
value: string;
|
|
17
|
+
/** Bold the value, as a modified filter does. */
|
|
15
18
|
bold: boolean;
|
|
16
19
|
stacked: boolean;
|
|
17
20
|
options?: FilterOption[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<lintje-slot-picker>` — a time for an appointment: days side by side, each with its times as
|
|
3
|
+
* options.
|
|
4
|
+
*
|
|
5
|
+
* The days are the host's: it sends the ones it offers, and pages them itself. One radio group
|
|
6
|
+
* spans every day, so Tab stops once. A full time stays, disabled, with the word "Vol" beside it.
|
|
7
|
+
*
|
|
8
|
+
* Events: `lintje-change` `string` (the chosen time's `value`), `lintje-values-change`
|
|
9
|
+
* `{ [name]: value }` (with a `name`), `lintje-reset` (the reset link was pressed).
|
|
10
|
+
*/
|
|
11
|
+
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
12
|
+
import { LintjeInputElement } from '../shared/input.js';
|
|
13
|
+
export interface TimeSlot {
|
|
14
|
+
/** What crosses in `lintje-change`: an id, or an ISO date-time. */
|
|
15
|
+
value: string;
|
|
16
|
+
/** The time as the reader sees it: "09:30". */
|
|
17
|
+
label: string;
|
|
18
|
+
/** Taken: drawn disabled, with "Vol" beside the time. */
|
|
19
|
+
full?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface SlotDay {
|
|
22
|
+
/** The day as ISO (`2026-10-12`); the heading and each time's name come from it. */
|
|
23
|
+
date: string;
|
|
24
|
+
/** In the order they are drawn; `[]` says "Geen tijden". */
|
|
25
|
+
slots: TimeSlot[];
|
|
26
|
+
}
|
|
27
|
+
export declare class LintjeSlotPicker extends LintjeInputElement {
|
|
28
|
+
static styles: import("lit").CSSResult[];
|
|
29
|
+
static properties: PropertyDeclarations;
|
|
30
|
+
/** The chosen time's `value`; `''` while nothing is chosen. */
|
|
31
|
+
value: string;
|
|
32
|
+
days?: SlotDay[];
|
|
33
|
+
private choose;
|
|
34
|
+
protected render(): TemplateResult;
|
|
35
|
+
private renderDay;
|
|
36
|
+
private renderSlot;
|
|
37
|
+
}
|
|
38
|
+
declare global {
|
|
39
|
+
interface HTMLElementTagNameMap {
|
|
40
|
+
'lintje-slot-picker': LintjeSlotPicker;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-tag-input>` — free keywords as chips in one field.
|
|
3
|
-
* or leaving the field makes chips; a duplicate lights up its chip and is said instead of being
|
|
4
|
-
* added. With `.options` it also suggests options, and still takes a word that is not among them.
|
|
5
|
-
* A chip's cross is its one control: the arrows walk the crosses, Backspace and Delete remove.
|
|
2
|
+
* `<lintje-tag-input>` — free keywords as chips in one field.
|
|
6
3
|
*
|
|
7
|
-
*
|
|
4
|
+
* Enter, a comma, a paste with commas or leaving the field makes chips; a duplicate is pointed out
|
|
5
|
+
* instead of added. With `options` it also suggests, and still takes a word that is not among
|
|
6
|
+
* them.
|
|
7
|
+
*
|
|
8
|
+
* Events: `lintje-change` `string[]`, `lintje-values-change` `{ [name]: value }` (with a `name`),
|
|
9
|
+
* `lintje-reset` (the reset link was pressed).
|
|
8
10
|
*/
|
|
9
11
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
10
12
|
import '../../../primitives/popover/popover.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-text-editor>` — formatted text
|
|
3
|
-
* the value is markdown (`markdown.ts`). Formatting uses `document.execCommand`, the one API
|
|
4
|
-
* every browser has for a `contenteditable` selection; the markdown writer reads only the five
|
|
5
|
-
* formats from whatever markup it leaves. Commits when the surface loses focus, if changed.
|
|
6
|
-
* A link is http(s), mailto, tel or relative; any other scheme is dropped.
|
|
2
|
+
* `<lintje-text-editor>` — formatted text: bold, italic, one heading, a bullet list and a link.
|
|
7
3
|
*
|
|
8
|
-
*
|
|
4
|
+
* The value is markdown, committed when the surface loses focus, if changed. A link is http(s),
|
|
5
|
+
* mailto, tel or relative; any other scheme is dropped.
|
|
6
|
+
*
|
|
7
|
+
* Events: `lintje-change` `string` (the markdown), `lintje-values-change` `{ [name]: value }`
|
|
8
|
+
* (with a `name`), `lintje-reset` (the reset link was pressed).
|
|
9
9
|
*/
|
|
10
10
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
11
11
|
import { LintjeInputElement } from '../shared/input.js';
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-text-input>` — a text field:
|
|
3
|
-
* search, password or email. It checks nothing itself; the host sets `error`.
|
|
2
|
+
* `<lintje-text-input>` — a text field: text, search, password or email.
|
|
4
3
|
*
|
|
5
|
-
* It commits on `change` (leaving the field,
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* It checks nothing itself: the host sets `error`. It commits on `change` (leaving the field,
|
|
5
|
+
* Enter), since every commit is a URL change and a tile reload, and never commits the same value
|
|
6
|
+
* twice.
|
|
7
|
+
*
|
|
8
|
+
* Events: `lintje-change` `string`, `lintje-values-change` `{ [name]: value }` (with a `name`),
|
|
9
|
+
* `lintje-reset` (the reset link was pressed).
|
|
8
10
|
*/
|
|
9
11
|
import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
10
12
|
import '../../../primitives/button/button.js';
|
|
@@ -22,7 +24,10 @@ export declare class LintjeTextInput extends LintjeFormInputElement {
|
|
|
22
24
|
clearable: boolean;
|
|
23
25
|
stacked: boolean;
|
|
24
26
|
type: TextInputType;
|
|
25
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* The attribute `commit`; `commit()` is the method every input commits through. `input`
|
|
29
|
+
* bundles keystrokes and commits 300 ms after the last.
|
|
30
|
+
*/
|
|
26
31
|
commitOn: CommitOn;
|
|
27
32
|
/** Passed to the native input as is. */
|
|
28
33
|
autocomplete: string;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-textarea>` — the multi-line text field: three to twelve lines
|
|
3
|
-
*
|
|
4
|
-
* focus ring, takes the type of where it stands and fills its height, for a surface that frames
|
|
5
|
-
* the text and draws the ring itself (`lintje-translator`). Typing past the limit is allowed (a paste lands whole); the field
|
|
6
|
-
* shows the error, alerted once as the text crosses the limit. The counter is read out from 90 %
|
|
7
|
-
* of the limit on.
|
|
2
|
+
* `<lintje-textarea>` — the multi-line text field: three to twelve lines, with a counter when
|
|
3
|
+
* there is a `maxlength`.
|
|
8
4
|
*
|
|
9
|
-
*
|
|
5
|
+
* It commits like `lintje-text-input`; Ctrl+Enter commits and submits a host's form. Typing past
|
|
6
|
+
* the limit is allowed, so a paste lands whole: the field shows the error. The counter is
|
|
7
|
+
* `part="counter"`, so a surface can stand it on its own line.
|
|
10
8
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Events: `lintje-change` `string`, `lintje-values-change` `{ [name]: value }` (with a `name`),
|
|
10
|
+
* `lintje-reset` (the reset link was pressed).
|
|
13
11
|
*/
|
|
14
12
|
import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
15
13
|
import { LintjeFormInputElement } from '../shared/input.js';
|
|
@@ -24,14 +22,17 @@ export declare class LintjeTextarea extends LintjeFormInputElement {
|
|
|
24
22
|
static properties: PropertyDeclarations;
|
|
25
23
|
value: string;
|
|
26
24
|
placeholder: string;
|
|
27
|
-
/** The limit the counter counts to. */
|
|
25
|
+
/** The limit the counter counts to; the counter is read out from 90 % of it on. */
|
|
28
26
|
maxlength?: number;
|
|
29
27
|
/** The attribute `commit`; `commit()` is the method every input commits through. */
|
|
30
28
|
commitOn: CommitOn;
|
|
31
29
|
stacked: boolean;
|
|
32
30
|
/** The least number of lines the field shows. */
|
|
33
31
|
rows: number;
|
|
34
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* `field` (default): the bordered field. `plain`: no box and no focus ring, the type of where it
|
|
34
|
+
* stands and the full height, for a surface that frames the text and draws the ring itself.
|
|
35
|
+
*/
|
|
35
36
|
variant: TextareaVariant;
|
|
36
37
|
private readonly typing;
|
|
37
38
|
private get counterId();
|
|
@@ -20,3 +20,7 @@ export declare function addMinutes(time: string, count: number): string;
|
|
|
20
20
|
/** The time on the clock now, rounded to the nearest `step` minutes: 10:52 with 15 is 10:45. */
|
|
21
21
|
export declare function nowRounded(step: number, now?: Date): string;
|
|
22
22
|
export declare function clampTime(time: string, min?: string | null, max?: string | null): string;
|
|
23
|
+
/** The times from `min` (default 00:00) to `max` (default the end of the day), `step` minutes apart. */
|
|
24
|
+
export declare function timesBetween(min?: string | null, max?: string | null, step?: number): string[];
|
|
25
|
+
/** The first of a sorted list at or after `time`, else its last; `''` for an empty list. */
|
|
26
|
+
export declare function timeAtOrAfter(times: string[], time: string): string;
|
|
@@ -1,34 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-time-input>` — a time of day, `HH:MM` on a 24-hour clock, or
|
|
3
|
-
* Typed text is read on leaving the field or Enter (`time-format.ts`). It checks its own text
|
|
4
|
-
* and shows a message in place of the hint; a host's `error` wins. It knows no day or time zone.
|
|
2
|
+
* `<lintje-time-input>` — a time of day, `HH:MM` on a 24-hour clock, typed or picked from a list.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
4
|
+
* The element reads typed text on leaving the field or Enter, checks it and shows a message in
|
|
5
|
+
* place of the hint; a host's `error` wins. A typed time between two in the list stays as typed.
|
|
6
|
+
* It knows no day or time zone. Tab out of the element closes the list.
|
|
7
|
+
*
|
|
8
|
+
* Events: `lintje-change` `string | null` (`HH:MM`), `lintje-values-change` `{ [name]: value }`
|
|
9
|
+
* (with a `name`), `lintje-reset` (the reset link was pressed).
|
|
7
10
|
*/
|
|
8
11
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
9
12
|
import { LintjeInputElement } from '../shared/input.js';
|
|
13
|
+
import '../../../primitives/popover/popover.js';
|
|
10
14
|
export declare class LintjeTimeInput extends LintjeInputElement {
|
|
11
15
|
static styles: import("lit").CSSResult[];
|
|
12
16
|
static properties: PropertyDeclarations;
|
|
13
17
|
value: string | null;
|
|
14
|
-
/** The earliest time, `HH:MM
|
|
18
|
+
/** The earliest time, `HH:MM`; the list starts here, else at 00:00. */
|
|
15
19
|
min?: string;
|
|
16
|
-
/** The latest time, `HH:MM
|
|
20
|
+
/** The latest time, `HH:MM`; the list ends at the last time at or before it, else 23:59. */
|
|
17
21
|
max?: string;
|
|
18
|
-
/** The minutes PageUp and PageDown move. */
|
|
22
|
+
/** The minutes between the times in the list, and that PageUp and PageDown move in the field. */
|
|
19
23
|
step: number;
|
|
20
24
|
placeholder: string;
|
|
21
25
|
stacked: boolean;
|
|
26
|
+
/** Whether the list is open. Reflected, so a sheet can leave Escape to it. */
|
|
27
|
+
open: boolean;
|
|
22
28
|
hint: string | undefined;
|
|
23
29
|
protected text: string;
|
|
24
30
|
protected problem: string;
|
|
31
|
+
/** The time the keys stand on in the list. */
|
|
32
|
+
protected focusTime: string;
|
|
25
33
|
private get message();
|
|
26
34
|
protected get footMessage(): string;
|
|
35
|
+
private get times();
|
|
27
36
|
protected willUpdate(changed: PropertyValues<this>): void;
|
|
28
37
|
private outOfBounds;
|
|
29
38
|
private choose;
|
|
30
39
|
private onChange;
|
|
31
40
|
private onKeydown;
|
|
41
|
+
private openList;
|
|
42
|
+
private toggle;
|
|
43
|
+
/** On opening the time stands mid-list, so earlier and later are both in view. */
|
|
44
|
+
private focusOption;
|
|
45
|
+
private onPopoverClose;
|
|
46
|
+
private onFocusOut;
|
|
47
|
+
private pick;
|
|
48
|
+
private onListKeydown;
|
|
49
|
+
private renderList;
|
|
32
50
|
protected render(): TemplateResult;
|
|
33
51
|
}
|
|
34
52
|
declare global {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-toggle>` — a switch for immediate effect: it commits when switched, never in a form.
|
|
3
|
+
*
|
|
3
4
|
* A value that waits for a button is a checkbox.
|
|
4
5
|
*
|
|
5
|
-
* Events: `lintje-change
|
|
6
|
+
* Events: `lintje-change` `boolean`, `lintje-values-change` `{ [name]: value }` (with a `name`),
|
|
7
|
+
* `lintje-reset` (the reset link was pressed).
|
|
6
8
|
*/
|
|
7
9
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
8
10
|
import { LintjeInputElement } from '../shared/input.js';
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-expander>` — a title you press; what is slotted under it shows or hides.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* `leading` puts the chevron before the title and the content in line with the title's text, for
|
|
8
|
-
* a stack of expanders that read as rows. `columns` sets the title in a column of its own
|
|
9
|
-
* (`--lintje-expander-label`) with the content beside it, as rows of text do beside their speaker;
|
|
10
|
-
* a narrow expander stacks them again.
|
|
4
|
+
* Closed, the content stays in the DOM, out of the tab order and the accessibility tree. What is
|
|
5
|
+
* slotted in `actions` stands beside the title, outside its button: a few icon buttons about the
|
|
6
|
+
* content.
|
|
11
7
|
*
|
|
12
|
-
* Events: `lintje-toggle` (open, after the reader pressed the title).
|
|
8
|
+
* Events: `lintje-toggle` `boolean` (open, after the reader pressed the title).
|
|
13
9
|
*/
|
|
14
10
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
15
11
|
import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
|
|
@@ -24,9 +20,12 @@ export declare class LintjeExpander extends LintjeGridItemElement {
|
|
|
24
20
|
open: boolean;
|
|
25
21
|
/** No surface of its own: an expander inside a tile is not a second card. */
|
|
26
22
|
flat: boolean;
|
|
27
|
-
/** The chevron before the title, the content under the title's text. */
|
|
23
|
+
/** The chevron before the title, the content under the title's text: expanders read as rows. */
|
|
28
24
|
leading: boolean;
|
|
29
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* The title in a column of its own (`--lintje-expander-label`), the content beside it, as rows
|
|
27
|
+
* of text beside their speaker; a narrow expander stacks them again.
|
|
28
|
+
*/
|
|
30
29
|
columns: boolean;
|
|
31
30
|
protected updated(changed: PropertyValues<this>): void;
|
|
32
31
|
protected render(): TemplateResult;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-split-pane>` — two panels side by side with a split the reader moves.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* it
|
|
4
|
+
* It moves without dragging too: a click on the strip lifts the split and the next click places
|
|
5
|
+
* it; Escape or a click outside puts it back, a double click returns to 50/50. Below 768 px there
|
|
6
|
+
* are never two panels: a segmented control chooses which one shows.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* Events: `lintje-split-change` (the percentage), `lintje-pane-change` (`'start'` | `'end'`).
|
|
8
|
+
* Events: `lintje-split-change` `number` (the percentage), `lintje-pane-change`
|
|
9
|
+
* `'start' | 'end'`.
|
|
11
10
|
*/
|
|
12
11
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
13
12
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -31,6 +30,7 @@ export declare class LintjeSplitPane extends LintjeElement {
|
|
|
31
30
|
/** The two panels' names, for the phone's choice. */
|
|
32
31
|
startLabel: string;
|
|
33
32
|
endLabel: string;
|
|
33
|
+
/** The panel shown below 768 px; a host that keeps it in the URL sets it back. */
|
|
34
34
|
pane: SplitPaneSide;
|
|
35
35
|
protected dragging: boolean;
|
|
36
36
|
protected willUpdate(changed: PropertyValues<this>): void;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-tabs>` — switches between panels slotted under each tab's `value`.
|
|
3
|
-
* `value`; the tabs only ask. A modified click on a link tab is the browser's.
|
|
4
|
-
* The row is one tab stop: arrows choose at once, and a disabled tab is reached but not chosen.
|
|
5
|
-
* `variant="panel"` draws large tabs that head a panel: each with an icon and a hint, the chosen
|
|
6
|
-
* one running into the panel below; on a phone the icon stands above the label and the hint goes.
|
|
7
|
-
* When every tab is a link, the row is a `<nav>` of links, the chosen one `aria-current="page"`,
|
|
8
|
-
* with the same look: pages are no tabs, and the content under it is the page's, not a tabpanel.
|
|
2
|
+
* `<lintje-tabs>` — switches between panels slotted under each tab's `value`.
|
|
9
3
|
*
|
|
10
|
-
*
|
|
4
|
+
* The host holds `value`: the tabs only ask. The row is one tab stop; arrows choose at once. When
|
|
5
|
+
* every tab is a link, the row is a `<nav>` of links with the same look, and the content under it
|
|
6
|
+
* is the page's, not a tab panel.
|
|
7
|
+
*
|
|
8
|
+
* Events: `lintje-tab-change` `string` (the value), `lintje-navigate` `{ href }` (a tab with an
|
|
9
|
+
* `href`).
|
|
11
10
|
*/
|
|
12
11
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
13
12
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -40,7 +39,10 @@ export declare class LintjeTabs extends LintjeElement {
|
|
|
40
39
|
/** The chosen tab's value; the first tab when unset. */
|
|
41
40
|
value?: string;
|
|
42
41
|
label: string;
|
|
43
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* `line` (default): a row over the content. `panel`: large tabs that head a bordered panel, each
|
|
44
|
+
* with an icon and a hint; on a phone the icon stands above the label and the hint goes.
|
|
45
|
+
*/
|
|
44
46
|
variant: TabsVariant;
|
|
45
47
|
protected edges: {
|
|
46
48
|
start: boolean;
|
|
@@ -1,33 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-map
|
|
3
|
-
* to confirm it in the next `data`. `tile.expandable` shows the same map again in the modal; the
|
|
4
|
-
* modal's own events stop here.
|
|
2
|
+
* `<lintje-map>` — a map in its tile.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* `
|
|
9
|
-
*
|
|
4
|
+
* A new layer shows at once and expects the host to confirm it in the next `data`. With
|
|
5
|
+
* `tile.expandable` the same map shows again in the modal, whose own events stop here. With
|
|
6
|
+
* `data.controls.lasso`, `.circle` or `.rect` a drawn area chooses every mark in it; the host
|
|
7
|
+
* keeps the area in its URL and sends it back as `selectedArea`.
|
|
8
|
+
*
|
|
9
|
+
* Events: `lintje-mark-select` `{ id, label, href? }` (deselected, `id: null` and
|
|
10
|
+
* `href: data.clearHref`), `lintje-layer-change` `string` (the chosen layer's value),
|
|
11
|
+
* `lintje-area-select` `{ area, ids }` (undone, `{ area: null, ids: [] }`).
|
|
10
12
|
*/
|
|
11
13
|
import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
12
14
|
import { type FrameSettings } from '../../../core/element.js';
|
|
13
15
|
import { LintjeContentTileElement } from '../../shared/content-tile.js';
|
|
14
16
|
import '../../feedback/announcement/announcement.js';
|
|
15
17
|
import '../../../primitives/tile/tile.js';
|
|
16
|
-
import
|
|
17
|
-
|
|
18
|
+
import '../../../primitives/tooltip/tooltip.js';
|
|
19
|
+
import type { MapData } from '../../../types.js';
|
|
20
|
+
export declare class LintjeMap extends LintjeContentTileElement {
|
|
18
21
|
#private;
|
|
19
22
|
static styles: import("lit").CSSResult[];
|
|
20
23
|
static properties: PropertyDeclarations;
|
|
21
|
-
data?:
|
|
24
|
+
data?: MapData | null;
|
|
22
25
|
/** The chosen layer, shown before the host confirms it. */
|
|
23
26
|
layer?: string;
|
|
24
27
|
protected get dataSettings(): FrameSettings | undefined;
|
|
28
|
+
connectedCallback(): void;
|
|
25
29
|
disconnectedCallback(): void;
|
|
26
30
|
protected expandChanged(open: boolean): void;
|
|
27
31
|
protected willUpdate(changed: PropertyValues<this>): void;
|
|
28
32
|
private png;
|
|
29
33
|
private csv;
|
|
30
34
|
protected render(): TemplateResult | typeof nothing;
|
|
35
|
+
/** The map, or its skeleton for the tile's `loading` slot; empty and error are the tile's. */
|
|
31
36
|
private content;
|
|
32
37
|
/** Refocuses the chosen mark so clearing does not drop a keyboard user at the top; the map area
|
|
33
38
|
* takes the focus when the mark is gone after a redraw. */
|
|
@@ -36,6 +41,6 @@ export declare class LintjeMapTile extends LintjeContentTileElement {
|
|
|
36
41
|
}
|
|
37
42
|
declare global {
|
|
38
43
|
interface HTMLElementTagNameMap {
|
|
39
|
-
'lintje-map
|
|
44
|
+
'lintje-map': LintjeMap;
|
|
40
45
|
}
|
|
41
46
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<lintje-dialog>` — the small window: a question that needs an answer, or a short form. The
|
|
3
|
+
* large window for content is `<lintje-modal>`.
|
|
4
|
+
*
|
|
5
|
+
* The host holds `open` and puts its own buttons in `actions`: Escape, the close button and the
|
|
6
|
+
* scrim only ask. Focus goes to the slotted element with `autofocus`, else the first field; an
|
|
7
|
+
* alert without one takes it itself, so Enter never confirms. Below 768 px the buttons stack
|
|
8
|
+
* with the last on top: put the safe one first.
|
|
9
|
+
*
|
|
10
|
+
* Events: `lintje-close` `{ reason: 'escape' | 'scrim' | 'button' }`.
|
|
11
|
+
*/
|
|
12
|
+
import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
13
|
+
import { LintjeElement } from '../../../core/element.js';
|
|
14
|
+
export type DialogCloseReason = 'escape' | 'scrim' | 'button';
|
|
15
|
+
export declare class LintjeDialog extends LintjeElement {
|
|
16
|
+
#private;
|
|
17
|
+
static styles: import("lit").CSSResult[];
|
|
18
|
+
static properties: PropertyDeclarations;
|
|
19
|
+
/** The owner's: the dialog asks to be closed and never closes itself. */
|
|
20
|
+
open: boolean;
|
|
21
|
+
/** The question or the task, and the dialog's accessible name. */
|
|
22
|
+
heading: string;
|
|
23
|
+
/** A question that needs an answer: an `alertdialog`, without a close button. */
|
|
24
|
+
alert: boolean;
|
|
25
|
+
/** Escape and the scrim ask nothing, for a question that must be answered. */
|
|
26
|
+
persistent: boolean;
|
|
27
|
+
/** As wide as a short form reads, instead of a question. */
|
|
28
|
+
wide: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The answer is under way: nothing asks to close, the last primary or danger button in
|
|
31
|
+
* `actions` turns busy and the others disabled.
|
|
32
|
+
*/
|
|
33
|
+
busy: boolean;
|
|
34
|
+
protected footerSlotted: boolean;
|
|
35
|
+
private ask;
|
|
36
|
+
private get frame();
|
|
37
|
+
private get buttons();
|
|
38
|
+
/** Read once on opening, before the slots exist to report; `slotchange` keeps it current. */
|
|
39
|
+
protected willUpdate(changed: PropertyValues<this>): void;
|
|
40
|
+
disconnectedCallback(): void;
|
|
41
|
+
protected updated(changed: PropertyValues<this>): void;
|
|
42
|
+
private onSlotChange;
|
|
43
|
+
protected render(): TemplateResult | typeof nothing;
|
|
44
|
+
}
|
|
45
|
+
declare global {
|
|
46
|
+
interface HTMLElementTagNameMap {
|
|
47
|
+
'lintje-dialog': LintjeDialog;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-drawer>` — a side panel over the page, for a detail or a short form.
|
|
3
3
|
*
|
|
4
|
-
* The host holds `open`: Escape, the close button and the scrim only ask.
|
|
5
|
-
*
|
|
6
|
-
* hidden when empty. A dialog on the shared focus-trap stack; focus goes to the first field,
|
|
7
|
-
* else the close button.
|
|
4
|
+
* The host holds `open`: Escape, the close button and the scrim only ask. While `busy` none
|
|
5
|
+
* of them asks. Focus goes to the first field, else the close button.
|
|
8
6
|
*
|
|
9
7
|
* Events: `lintje-close` `{ reason: 'escape' | 'button' | 'scrim' }`.
|
|
10
8
|
*/
|
|
@@ -15,7 +13,10 @@ export declare class LintjeDrawer extends LintjeElement {
|
|
|
15
13
|
#private;
|
|
16
14
|
static styles: import("lit").CSSResult[];
|
|
17
15
|
static properties: PropertyDeclarations;
|
|
18
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* The host's: the drawer only asks to be closed. Whether unsaved input needs confirming first
|
|
18
|
+
* is the host's call.
|
|
19
|
+
*/
|
|
19
20
|
open: boolean;
|
|
20
21
|
/** The title and the dialog's accessible name; without it the dialog is "Zijpaneel". */
|
|
21
22
|
heading: string;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-modal>` — the
|
|
2
|
+
* `<lintje-modal>` — the large window for content: a title, the content and a footer. A question
|
|
3
|
+
* or a short form goes in the small `<lintje-dialog>`.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* reports its content again.
|
|
5
|
+
* The host holds `open`: Escape, the close button and the scrim only ask. It is `position: fixed`
|
|
6
|
+
* above the app frame, so no ancestor may carry a `transform`, `filter` or `contain`.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* with a sentence in `footer` on the left and its buttons in `actions` on the right.
|
|
10
|
-
*
|
|
11
|
-
* Events: `lintje-close` (the host owns `open`), `lintje-download-csv`, `lintje-download-png`.
|
|
8
|
+
* Events: `lintje-close`, `lintje-download-csv`, `lintje-download-png`.
|
|
12
9
|
*/
|
|
13
10
|
import { nothing, type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
14
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -20,14 +17,12 @@ export declare class LintjeModal extends LintjeElement {
|
|
|
20
17
|
static properties: PropertyDeclarations;
|
|
21
18
|
/** The host owns it; `lintje-close` asks for `false`. */
|
|
22
19
|
open: boolean;
|
|
23
|
-
/** The dialog's accessible name and its title line. */
|
|
20
|
+
/** The dialog's accessible name and its title line; without it the dialog is "Venster". */
|
|
24
21
|
heading: string;
|
|
25
22
|
subtitle?: string;
|
|
26
|
-
/** The footer's CSV and PNG buttons
|
|
23
|
+
/** The footer's CSV and PNG buttons, for content that can be downloaded. */
|
|
27
24
|
csv: boolean;
|
|
28
25
|
png: boolean;
|
|
29
|
-
/** A dialog with a form: its content's height, a form's width. */
|
|
30
|
-
narrow: boolean;
|
|
31
26
|
footerSlotted: boolean;
|
|
32
27
|
actionsSlotted: boolean;
|
|
33
28
|
private onActionsSlotChange;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-toggletip>` — a small "i" button that shows a short explanation on a click.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* region that is always rendered, empty and `.visually-hidden` while closed: filling a region
|
|
7
|
-
* that already exists is what a screen reader announces. Escape is taken in the capture phase
|
|
8
|
-
* and stopped, so a modal or sheet around it stays open. The popover is fixed to the viewport
|
|
9
|
-
* and placed by `place()`, so a scrolling tile cannot cut it off.
|
|
4
|
+
* Escape closes it and stops there, so a modal or sheet around it stays open. The explanation is
|
|
5
|
+
* fixed to the viewport, so a scrolling tile cannot cut it off.
|
|
10
6
|
*
|
|
11
|
-
* Events: `lintje-toggle`
|
|
7
|
+
* Events: `lintje-toggle` `{ open }`.
|
|
12
8
|
*/
|
|
13
9
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
14
10
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A histogram: counts in classes that touch, on an x-axis that runs on, so the labels stand on
|
|
3
|
+
* the class bounds. A median is a solid emphasis line, a threshold a dashed one.
|
|
4
|
+
*/
|
|
5
|
+
import { type TemplateResult } from 'lit';
|
|
6
|
+
import { type PlotArea } from '../shared/scale.js';
|
|
7
|
+
import { type ChartOptions } from '../shared/controller.js';
|
|
8
|
+
import type { ChartSpec } from '../shared/types.js';
|
|
9
|
+
type HistogramSpec = Extract<ChartSpec, {
|
|
10
|
+
kind: 'histogram';
|
|
11
|
+
}>;
|
|
12
|
+
/** A class as the tooltip and the table name it: "8 tot 10 dagen", "30 dagen of meer". */
|
|
13
|
+
export declare function binLabel(bin: {
|
|
14
|
+
from: number;
|
|
15
|
+
to: number | null;
|
|
16
|
+
}, unit?: string): string;
|
|
17
|
+
export interface LineLabel {
|
|
18
|
+
x: number;
|
|
19
|
+
text: string;
|
|
20
|
+
/** Bold, as the median's label is, and measured so. */
|
|
21
|
+
bold?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Where the labels of the median and the threshold stand: right of their line, or left of it
|
|
25
|
+
* where they would leave the drawing, and the right one a line lower when the two would touch.
|
|
26
|
+
*/
|
|
27
|
+
export declare function placeLineLabels(labels: LineLabel[], area: PlotArea, fontFamily?: string): {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
anchor: 'start' | 'end';
|
|
31
|
+
}[];
|
|
32
|
+
export declare function renderHistogramChart(spec: HistogramSpec, options: ChartOptions): TemplateResult;
|
|
33
|
+
export {};
|
|
@@ -3,22 +3,27 @@
|
|
|
3
3
|
* `renderMap` a map. See README.md for the contract.
|
|
4
4
|
*/
|
|
5
5
|
export { renderChart } from './shared/render-chart.js';
|
|
6
|
+
export { CHART_KINDS, CHART_QUESTIONS } from './kinds.js';
|
|
7
|
+
export type { ChartKindGuide, ChartQuestion } from './kinds.js';
|
|
6
8
|
export { renderLineChart } from './line-chart/line-chart.js';
|
|
7
9
|
export { renderBarChart, TINTS } from './bar-chart/bar-chart.js';
|
|
8
10
|
export { renderHorizontalBarChart, rowsHeight } from './horizontal-bar-chart/horizontal-bar-chart.js';
|
|
9
11
|
export { renderTargetProgressChart } from './target-progress-chart/target-progress-chart.js';
|
|
10
12
|
export { renderGroupedBarChart } from './grouped-bar-chart/grouped-bar-chart.js';
|
|
11
13
|
export { renderStackedBarChart } from './stacked-bar-chart/stacked-bar-chart.js';
|
|
14
|
+
export { renderStackedAreaChart } from './stacked-area-chart/stacked-area-chart.js';
|
|
12
15
|
export { renderPieChart } from './pie-chart/pie-chart.js';
|
|
13
16
|
export { renderDualAxisChart } from './dual-axis-chart/dual-axis-chart.js';
|
|
17
|
+
export { renderScatterChart } from './scatter-chart/scatter-chart.js';
|
|
14
18
|
export { renderHeatmap, heatmapBounds, heatmapClasses } from './heatmap-chart/heatmap-chart.js';
|
|
15
19
|
export type { HeatmapClass } from './heatmap-chart/heatmap-chart.js';
|
|
20
|
+
export { renderHistogramChart } from './histogram-chart/histogram-chart.js';
|
|
16
21
|
export { renderMap } from './map-chart/map-chart.js';
|
|
17
22
|
export type { MapOptions } from './map-chart/map-chart.js';
|
|
18
23
|
export { renderChartFrame, renderLegend, renderAsOfMarker } from './shared/axes.js';
|
|
19
24
|
export type { ChartFrameOptions, LegendItem, SvgSlot } from './shared/axes.js';
|
|
20
25
|
export { renderTooltip } from './shared/tooltip.js';
|
|
21
|
-
export { renderChartSkeleton
|
|
26
|
+
export { renderChartSkeleton } from './shared/chart-states.js';
|
|
22
27
|
export type { ChartSkeletonKind } from './shared/chart-states.js';
|
|
23
28
|
export { ChartController, chartArea } from './shared/controller.js';
|
|
24
29
|
export type { ChartOptions, MeasureSpec, TooltipContent, TooltipRow, TooltipState, } from './shared/controller.js';
|
|
@@ -34,4 +39,4 @@ export { staggerStyle, gridStaggerStyle } from './shared/stagger.js';
|
|
|
34
39
|
export type { StyleInfo } from './shared/stagger.js';
|
|
35
40
|
export { chartStyles, chartFrameStyles, pieChartStyles, heatmapStyles } from './shared/chart-styles.js';
|
|
36
41
|
export { mapStyles, mapChartStyles } from './map-chart/map-styles.js';
|
|
37
|
-
export type { ChartSpec, ChartKind, ChartColor, ChartLink, LineSeriesData, BarSeriesData,
|
|
42
|
+
export type { ChartSpec, ChartKind, ChartColor, ChartLink, LineSeriesData, BarSeriesData, ScatterPoint, ScatterSeriesData, MapSpec, MapValue, MapVariant, MapPlotData, MapPlotVariant, } from './shared/types.js';
|