lintje 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist-elements/actions.js +1 -1
- package/dist-elements/chunks/{base-Bg-IFOPG.js → base-CbmWxUig.js} +444 -272
- package/dist-elements/chunks/{controls-B1455oPG.js → controls-DxmnDSBr.js} +6 -0
- package/dist-elements/chunks/dialog-DChINFxD.js +28 -0
- package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
- package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DLkXPUpV.js} +6 -6
- package/dist-elements/chunks/download-Ct9q2anY.js +206 -0
- package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-BwOxE5BX.js} +1 -1
- package/dist-elements/chunks/input-CRW_exv_.js +195 -0
- package/dist-elements/chunks/{player-DXOZEyEy.js → player-B8QXJ0Z5.js} +26 -26
- package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-B19AyZBS.js} +3 -3
- package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BHoOgy0g.js} +81 -75
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +980 -670
- package/dist-elements/data-types.json +6798 -0
- package/dist-elements/feedback.js +2 -1
- package/dist-elements/frame.js +0 -2
- package/dist-elements/guides/dashboard.md +8 -0
- package/dist-elements/guides/events.md +4 -5
- package/dist-elements/guides/loading.md +8 -7
- package/dist-elements/guides/page-contents.md +110 -0
- package/dist-elements/guides/start.md +12 -0
- package/dist-elements/inputs.js +2 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +6975 -6120
- package/dist-elements/overlays.js +2 -2
- package/dist-elements/skills/lintje/SKILL.md +1 -1
- package/dist-elements/tables.js +1 -1
- package/dist-elements/tag/activity-log.js +15 -15
- package/dist-elements/tag/ai-label.js +10 -10
- package/dist-elements/tag/announcement.js +36 -76
- package/dist-elements/tag/app-search.js +49 -49
- package/dist-elements/tag/audio-player.js +57 -57
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +15 -15
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +12 -12
- package/dist-elements/tag/card.js +39 -44
- package/dist-elements/tag/chart.js +1050 -795
- package/dist-elements/tag/chat-answer.js +49 -49
- package/dist-elements/tag/chat-composer.js +75 -71
- package/dist-elements/tag/chat-message.js +8 -8
- package/dist-elements/tag/chat-strip.js +22 -22
- package/dist-elements/tag/chat-suggestions.js +12 -12
- package/dist-elements/tag/chat.js +56 -56
- package/dist-elements/tag/checkbox-group.d.ts +1 -0
- package/dist-elements/tag/checkbox-group.js +59 -0
- package/dist-elements/tag/checkbox.js +8 -8
- package/dist-elements/tag/code.js +9 -9
- package/dist-elements/tag/combobox.js +18 -18
- package/dist-elements/tag/conflict-alert.js +12 -12
- package/dist-elements/tag/copy-button.js +14 -14
- package/dist-elements/tag/data-table.js +878 -530
- package/dist-elements/tag/date-input.js +30 -30
- package/dist-elements/tag/date-range.js +37 -37
- package/dist-elements/tag/description-list.js +29 -32
- package/dist-elements/tag/dialog.d.ts +1 -0
- package/dist-elements/tag/dialog.js +144 -0
- package/dist-elements/tag/document-viewer.js +23 -23
- package/dist-elements/tag/drawer.js +28 -32
- package/dist-elements/tag/empty-state.js +19 -30
- package/dist-elements/tag/error-page.d.ts +1 -0
- package/dist-elements/tag/error-page.js +109 -0
- package/dist-elements/tag/error-summary.js +10 -10
- package/dist-elements/tag/expander.js +8 -8
- package/dist-elements/tag/explainer.js +11 -11
- package/dist-elements/tag/field.js +5 -5
- package/dist-elements/tag/file-upload.js +34 -34
- package/dist-elements/tag/filter-bar.js +56 -56
- package/dist-elements/tag/filter-sheet.js +11 -11
- package/dist-elements/tag/filter-zone.js +31 -31
- package/dist-elements/tag/footer.js +21 -21
- package/dist-elements/tag/form-actions.js +29 -25
- package/dist-elements/tag/form-section.js +6 -6
- package/dist-elements/tag/form.js +12 -12
- package/dist-elements/tag/gallery.js +14 -14
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +12 -12
- package/dist-elements/tag/highlight.js +5 -5
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +22 -44
- package/dist-elements/tag/kpi-row.js +12 -10
- package/dist-elements/tag/kpi.js +146 -137
- package/dist-elements/tag/level-meter.js +11 -11
- package/dist-elements/tag/list.js +55 -55
- package/dist-elements/tag/logo.js +30 -30
- package/dist-elements/tag/map.js +690 -665
- package/dist-elements/tag/menu-button.js +70 -69
- package/dist-elements/tag/modal.js +28 -37
- package/dist-elements/tag/multiselect.js +34 -34
- package/dist-elements/tag/note.js +5 -5
- package/dist-elements/tag/notifications.js +36 -36
- package/dist-elements/tag/number-input.js +12 -12
- package/dist-elements/tag/page-header.js +140 -37
- package/dist-elements/tag/pagination.js +53 -48
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +6 -6
- package/dist-elements/tag/qr-code.js +7 -7
- package/dist-elements/tag/radio-group.js +12 -12
- package/dist-elements/tag/range.js +22 -22
- package/dist-elements/tag/recording-status.js +14 -14
- package/dist-elements/tag/repeater.js +10 -10
- package/dist-elements/tag/segmented.js +13 -13
- package/dist-elements/tag/select.js +10 -10
- package/dist-elements/tag/shell.js +356 -339
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +14 -14
- package/dist-elements/tag/sortable-list.js +14 -14
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +12 -12
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +21 -21
- package/dist-elements/tag/streaming-text.js +13 -13
- package/dist-elements/tag/sub-nav.js +39 -38
- package/dist-elements/tag/tabs.js +38 -38
- package/dist-elements/tag/tag-input.js +19 -19
- package/dist-elements/tag/text-editor.js +24 -24
- package/dist-elements/tag/text-input.js +14 -14
- package/dist-elements/tag/textarea.js +14 -14
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +19 -19
- package/dist-elements/tag/toast.js +32 -23
- package/dist-elements/tag/toggle.js +8 -8
- package/dist-elements/tag/toggletip.js +27 -27
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +48 -48
- package/dist-elements/tag/translator.js +13 -13
- package/dist-elements/tag/tree-view.js +13 -13
- package/dist-elements/tag/user-menu.js +37 -37
- package/dist-elements/tag/video-player.js +21 -21
- package/dist-elements/tokens.css +120 -96
- package/dist-elements/types/bundle/feedback.d.ts +1 -0
- package/dist-elements/types/bundle/frame.d.ts +0 -2
- package/dist-elements/types/bundle/inputs.d.ts +1 -0
- package/dist-elements/types/bundle/overlays.d.ts +1 -1
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +6 -7
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +13 -15
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +9 -9
- package/dist-elements/types/components/charts/chart/chart.d.ts +5 -4
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +16 -8
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -7
- package/dist-elements/types/components/charts/note/note.d.ts +1 -1
- package/dist-elements/types/components/chat/chat/chat.d.ts +8 -10
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +7 -8
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +8 -10
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +6 -7
- package/dist-elements/types/components/chat/chat-strip/chat-strip.d.ts +5 -5
- package/dist-elements/types/components/chat/chat-suggestions/chat-suggestions.d.ts +9 -10
- package/dist-elements/types/components/content/audio-player/audio-player.d.ts +10 -12
- package/dist-elements/types/components/content/code/code.d.ts +2 -3
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +8 -9
- package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
- package/dist-elements/types/components/content/highlight/highlight.d.ts +4 -3
- package/dist-elements/types/components/content/prose/prose.d.ts +2 -3
- package/dist-elements/types/components/content/transcript/transcript.d.ts +12 -25
- package/dist-elements/types/components/content/translator/translator.d.ts +11 -15
- package/dist-elements/types/components/content/video-player/video-player.d.ts +11 -13
- package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +3 -7
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +3 -4
- package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +5 -8
- package/dist-elements/types/components/feedback/error-page/error-page.d.ts +52 -0
- package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -12
- package/dist-elements/types/components/feedback/level-meter/level-meter.d.ts +4 -6
- package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +10 -7
- package/dist-elements/types/components/feedback/toast/toast.d.ts +8 -9
- package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +9 -4
- package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +5 -5
- package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +4 -4
- package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +5 -6
- package/dist-elements/types/components/forms/form/form.d.ts +5 -5
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +9 -7
- package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +13 -7
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +5 -4
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +6 -7
- package/dist-elements/types/components/frame/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist-elements/types/components/frame/footer/footer.d.ts +3 -2
- package/dist-elements/types/components/frame/hero/hero.d.ts +7 -9
- package/dist-elements/types/components/frame/notifications/notifications.d.ts +5 -9
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +12 -15
- package/dist-elements/types/components/frame/shell/shell.d.ts +14 -13
- package/dist-elements/types/components/frame/sub-nav/sub-nav.d.ts +10 -6
- package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +11 -10
- package/dist-elements/types/components/index.d.ts +8 -9
- package/dist-elements/types/components/inputs/checkbox/checkbox.d.ts +4 -4
- package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +33 -0
- package/dist-elements/types/components/inputs/combobox/combobox.d.ts +12 -6
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +5 -5
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +11 -6
- package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +6 -8
- package/dist-elements/types/components/inputs/multiselect/multiselect.d.ts +4 -6
- package/dist-elements/types/components/inputs/number-input/number-input.d.ts +8 -7
- package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +2 -4
- package/dist-elements/types/components/inputs/range/range.d.ts +5 -6
- package/dist-elements/types/components/inputs/segmented/segmented.d.ts +7 -4
- package/dist-elements/types/components/inputs/select/select.d.ts +6 -3
- package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +6 -5
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +7 -5
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +6 -6
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +11 -6
- package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +7 -8
- package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +9 -10
- package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +11 -9
- package/dist-elements/types/components/map/map/map.d.ts +10 -9
- package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
- package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
- package/dist-elements/types/components/overlays/modal/modal.d.ts +7 -12
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +3 -7
- package/dist-elements/types/components/shared/charts/index.d.ts +4 -1
- package/dist-elements/types/components/shared/charts/kinds.d.ts +86 -0
- package/dist-elements/types/components/shared/charts/line-chart/line-chart.d.ts +2 -2
- package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +5 -0
- package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +7 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +29 -0
- package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
- package/dist-elements/types/components/shared/dialog.d.ts +9 -0
- package/dist-elements/types/components/shared/overflow.d.ts +58 -0
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +2 -3
- package/dist-elements/types/components/tables/card/card.d.ts +14 -20
- package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +85 -16
- package/dist-elements/types/components/tables/data-table/filters.d.ts +13 -4
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +12 -11
- package/dist-elements/types/components/tables/list/list.d.ts +9 -20
- package/dist-elements/types/components/tables/pagination/pagination.d.ts +12 -11
- package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +5 -6
- package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +4 -4
- package/dist-elements/types/core/media.d.ts +2 -2
- package/dist-elements/types/core/motion.d.ts +5 -0
- package/dist-elements/types/core/print.d.ts +15 -0
- package/dist-elements/types/core/shortcuts.d.ts +2 -2
- package/dist-elements/types/icons/icon/icon.d.ts +2 -3
- package/dist-elements/types/icons/register.d.ts +1 -1
- package/dist-elements/types/primitives/badge/badge.d.ts +9 -5
- package/dist-elements/types/primitives/button/button.d.ts +12 -9
- package/dist-elements/types/primitives/grid/grid.d.ts +3 -3
- package/dist-elements/types/primitives/grid-item/grid-item.d.ts +1 -1
- package/dist-elements/types/primitives/icon-button/icon-button.d.ts +7 -5
- package/dist-elements/types/primitives/index.d.ts +3 -1
- package/dist-elements/types/primitives/popover/popover.d.ts +5 -4
- package/dist-elements/types/primitives/progress-bar/progress-bar.d.ts +8 -6
- package/dist-elements/types/primitives/shared/announcement-block.d.ts +38 -0
- package/dist-elements/types/primitives/shared/empty-state-block.d.ts +26 -0
- package/dist-elements/types/primitives/shared/tone.d.ts +18 -0
- package/dist-elements/types/primitives/skeleton/skeleton.d.ts +1 -1
- package/dist-elements/types/primitives/spinner/spinner.d.ts +1 -2
- package/dist-elements/types/primitives/status-dot/status-dot.d.ts +4 -5
- package/dist-elements/types/primitives/tile/tile.d.ts +17 -5
- package/dist-elements/types/primitives/tooltip/tooltip.d.ts +6 -6
- package/dist-elements/types/types.d.ts +70 -10
- package/dist-icons/functioneel-kolommen.svg +1 -0
- package/dist-icons/functioneel-trechter.svg +1 -0
- package/package.json +1 -1
- package/dist-elements/chunks/confirm-dialog-D5EVGuil.js +0 -4
- package/dist-elements/chunks/download-y528pIHP.js +0 -230
- package/dist-elements/chunks/input-BtuNFSWk.js +0 -195
- package/dist-elements/tag/confirm-dialog.d.ts +0 -1
- package/dist-elements/tag/confirm-dialog.js +0 -118
- package/dist-elements/tag/session-expiry.d.ts +0 -1
- package/dist-elements/tag/session-expiry.js +0 -184
- package/dist-elements/tag/shortcuts.d.ts +0 -1
- package/dist-elements/tag/shortcuts.js +0 -104
- package/dist-elements/types/components/frame/session-expiry/session-expiry.d.ts +0 -55
- package/dist-elements/types/components/frame/shortcuts/shortcuts.d.ts +0 -41
- package/dist-elements/types/components/overlays/confirm-dialog/confirm-dialog.d.ts +0 -41
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<lintje-error-page>` — the page in place of the one the reader asked for: not found, no
|
|
3
|
+
* access, a failure, or not available.
|
|
4
|
+
*
|
|
5
|
+
* It says why in words and shows the way onward. The server sends the HTTP status and the
|
|
6
|
+
* document's `<title>`; the element only draws. The default slot takes what helps under the text,
|
|
7
|
+
* such as a search field. Below 768 px the actions stand under each other, and a `lintje-button`
|
|
8
|
+
* with `block` fills the width.
|
|
9
|
+
*
|
|
10
|
+
* Events: `lintje-navigate` `{ href }` (a plain click on one of `links`).
|
|
11
|
+
*/
|
|
12
|
+
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
13
|
+
import { LintjeElement } from '../../../core/element.js';
|
|
14
|
+
import '../../actions/copy-button/copy-button.js';
|
|
15
|
+
import '../../tables/description-list/description-list.js';
|
|
16
|
+
export interface ErrorPageLink {
|
|
17
|
+
label: string;
|
|
18
|
+
href: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class LintjeErrorPage extends LintjeElement {
|
|
21
|
+
static styles: import("lit").CSSResult[];
|
|
22
|
+
static properties: PropertyDeclarations;
|
|
23
|
+
/**
|
|
24
|
+
* The HTTP status as the server sent it ("404"): a small line above the heading, with the lock
|
|
25
|
+
* for 401 and 403 and the outage mark for a 5xx. Without it there is no code line.
|
|
26
|
+
*/
|
|
27
|
+
code?: string;
|
|
28
|
+
/** What is the matter, in words: "Deze pagina bestaat niet". */
|
|
29
|
+
heading?: string;
|
|
30
|
+
/** Why, and what the reader can do. */
|
|
31
|
+
text?: string;
|
|
32
|
+
/** 2 in `lintje-shell`, whose `name` is the page's h1; 1 for a page outside the shell. */
|
|
33
|
+
level: 1 | 2;
|
|
34
|
+
/** "Verder naar": the pages a reader most likely wanted instead. */
|
|
35
|
+
links: ErrorPageLink[];
|
|
36
|
+
/** The code the service desk looks the failure up by, with a copy button. */
|
|
37
|
+
reference?: string;
|
|
38
|
+
/** When it happened, as the host wrote it ("11 oktober 2026, 14.32 uur"). */
|
|
39
|
+
occurred?: string;
|
|
40
|
+
hasActions: boolean;
|
|
41
|
+
private follow;
|
|
42
|
+
private renderCode;
|
|
43
|
+
private renderHeading;
|
|
44
|
+
private renderReference;
|
|
45
|
+
private renderLinks;
|
|
46
|
+
protected render(): TemplateResult;
|
|
47
|
+
}
|
|
48
|
+
declare global {
|
|
49
|
+
interface HTMLElementTagNameMap {
|
|
50
|
+
'lintje-error-page': LintjeErrorPage;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-job-list>` — the queue of long tasks: what runs, what is done and what went wrong
|
|
3
|
-
*
|
|
4
|
-
* action in plain sight per state, and a row with an `href` opening it: a done job's result, or
|
|
5
|
-
* what runs where it can be followed (a live recording). "Verwijderen" is behind a done job's ⋮. Where every job is done, "Klaar" is left out: in a list of finished work alone
|
|
6
|
-
* the state is noise.
|
|
2
|
+
* `<lintje-job-list>` — the queue of long tasks: what runs, what is done and what went wrong, in
|
|
3
|
+
* the work list's rows (`lintje-list`).
|
|
7
4
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* moves. When the last job goes with the focus on it, the focus goes to that region.
|
|
5
|
+
* It never fetches: the host sets `jobs` again when a job moves. A job that changes state is read
|
|
6
|
+
* out once, as a sentence, from a status region of its own; the list itself is not live. A row
|
|
7
|
+
* with an `href` opens a done job's result, or what runs where it can be followed.
|
|
12
8
|
*
|
|
13
|
-
* Events: `lintje-job-cancel`, `lintje-job-retry`, `lintje-job-resume`, `lintje-job-remove
|
|
14
|
-
* (
|
|
9
|
+
* Events: `lintje-job-cancel`, `lintje-job-retry`, `lintje-job-resume`, `lintje-job-remove`, each
|
|
10
|
+
* `string` (the job's id), `lintje-navigate` `{ href }` (a row with an `href`; cancel it to route).
|
|
15
11
|
*/
|
|
16
12
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
17
13
|
import { LintjeElement } from '../../../core/element.js';
|
|
18
14
|
import '../../tables/list/list.js';
|
|
19
15
|
import type { ListItem } from '../../tables/list/list.js';
|
|
20
|
-
|
|
16
|
+
import { type WorkState } from '../../../primitives/shared/tone.js';
|
|
17
|
+
export type JobState = WorkState;
|
|
21
18
|
export interface Job {
|
|
22
19
|
id: string;
|
|
23
20
|
name: string;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-level-meter>` — how loud the sound comes in, as bars with a word beside them: before a
|
|
3
|
-
* recording to show the microphone works, during it to show it still does.
|
|
4
|
-
* sets `level` as often as it likes; the bars follow, without motion under reduced motion.
|
|
3
|
+
* recording to show the microphone works, during it to show it still does.
|
|
5
4
|
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
* Events: none.
|
|
5
|
+
* The host measures and sets `level` as often as it likes; the bars follow, without motion under
|
|
6
|
+
* reduced motion.
|
|
9
7
|
*/
|
|
10
8
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
11
9
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -14,7 +12,7 @@ export declare function levelWord(level: number): string;
|
|
|
14
12
|
export declare class LintjeLevelMeter extends LintjeElement {
|
|
15
13
|
static styles: import("lit").CSSResult;
|
|
16
14
|
static properties: PropertyDeclarations;
|
|
17
|
-
/** The sound coming in, 0 to 1; `null` before it is measured. */
|
|
15
|
+
/** The sound coming in, 0 to 1; `null` before it is measured: flat bars, a dash, never "Stil". */
|
|
18
16
|
level?: number | null;
|
|
19
17
|
/** Draw the word beside the bars; without, the host says it (it is still the bars' name). */
|
|
20
18
|
words: boolean;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-recording-status>` — how a running recording is doing, in the description list's
|
|
3
|
-
* how long it runs, how the sound comes in and, for a recording made elsewhere (a phone),
|
|
4
|
-
*
|
|
2
|
+
* `<lintje-recording-status>` — how a running recording is doing, in the description list's
|
|
3
|
+
* cells: how long it runs, how the sound comes in and, for a recording made elsewhere (a phone),
|
|
4
|
+
* how the connection holds.
|
|
5
5
|
*
|
|
6
|
-
* The host measures; the element only shows.
|
|
7
|
-
*
|
|
8
|
-
* Events: none.
|
|
6
|
+
* The host measures; the element only shows. Each meter has its word beside it, and a value it
|
|
7
|
+
* does not have is a dash, never zero.
|
|
9
8
|
*/
|
|
10
9
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
11
10
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-streaming-text>` — text that streams in while the server writes it.
|
|
3
|
-
* HTML; a host wanting prose slots a `<lintje-prose>` once the stream is `done`. A screen reader
|
|
4
|
-
* hears it per sentence from a polite live region; the visible box is `aria-busy` until the end.
|
|
5
|
-
* The host owns the connection and sets `text` and `state`. `variant="plain"` drops the box and
|
|
6
|
-
* takes the type of where it stands, for a surface that frames the text itself.
|
|
2
|
+
* `<lintje-streaming-text>` — text that streams in while the server writes it.
|
|
7
3
|
*
|
|
8
|
-
*
|
|
4
|
+
* The host owns the connection and sets `text` and `state`. Plain text, never HTML: a host that
|
|
5
|
+
* wants prose slots a `<lintje-prose>` once the stream is `done`. A screen reader hears it per
|
|
6
|
+
* sentence.
|
|
7
|
+
*
|
|
8
|
+
* Events: `lintje-stop` ("Stoppen" was pressed), `lintje-retry` ("Opnieuw" was pressed).
|
|
9
9
|
*/
|
|
10
10
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
11
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -22,7 +22,10 @@ export declare class LintjeStreamingText extends LintjeElement {
|
|
|
22
22
|
/** What happened, for `error`. Without it: the connection dropped and the text is not done. */
|
|
23
23
|
message?: string;
|
|
24
24
|
label: string;
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* `box` (default): the text in a framed box. `plain`: no box and the type of where it stands, for
|
|
27
|
+
* a surface that frames the text itself.
|
|
28
|
+
*/
|
|
26
29
|
variant: 'box' | 'plain';
|
|
27
30
|
spoken: string[];
|
|
28
31
|
private said;
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-toast>` —
|
|
3
|
-
* (rule 13). An error, and a toast with an action, stay until closed. A plain `ok` toast closes
|
|
4
|
-
* after six seconds; the pointer on it or the focus in it holds it, and its six seconds start
|
|
5
|
-
* again when both have left. Closing with the focus inside, it gives the focus back first.
|
|
2
|
+
* `<lintje-toast>` — a short message about what just happened; a glyph carries its meaning.
|
|
6
3
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The host owns whether it exists. A toast that closes by itself is held while the pointer is on
|
|
5
|
+
* it or the focus in it, and its six seconds start again when both have left. Closing with the
|
|
6
|
+
* focus inside, it gives the focus back first.
|
|
9
7
|
*
|
|
10
|
-
* Events: `lintje-close` (timed out or closed), `lintje-action
|
|
8
|
+
* Events: `lintje-close` (timed out or closed), `lintje-action` (its action was pressed).
|
|
11
9
|
*/
|
|
12
10
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
13
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
12
|
+
export type ToastKind = 'ok' | 'error' | 'info' | 'warning';
|
|
14
13
|
export declare class LintjeToast extends LintjeElement {
|
|
15
14
|
#private;
|
|
16
15
|
static styles: import("lit").CSSResult[];
|
|
17
16
|
static properties: PropertyDeclarations;
|
|
18
|
-
/** `ok`
|
|
19
|
-
kind:
|
|
17
|
+
/** `ok` and `info` close after six seconds unless they have an action; `error` and `warning` stay. */
|
|
18
|
+
kind: ToastKind;
|
|
20
19
|
/** The label of the one action, e.g. "Ongedaan maken". Without it there is none. */
|
|
21
20
|
action?: string;
|
|
22
21
|
filled: boolean;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-filter-bar>` — the host's declared filters in the filter zone and, below 768 px,
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* `<lintje-filter-bar>` — the host's declared filters in the filter zone and, below 768 px, the
|
|
3
|
+
* sheet.
|
|
4
|
+
*
|
|
5
|
+
* Values cross as the canonical strings the host writes to the URL. A change in the bar commits at
|
|
6
|
+
* once, the sheet on "Toepassen"; the host confirms with the next `data`. Put one filter bar on a
|
|
7
|
+
* page: two would both write the count and own the sheet.
|
|
8
|
+
*
|
|
9
|
+
* Events: `lintje-values-change` `{ [key]: value }` (the filters that commit),
|
|
10
|
+
* `lintje-filters-open-change` `boolean` (the reader shows or hides the controls).
|
|
6
11
|
*/
|
|
7
12
|
import { type PropertyDeclarations, type TemplateResult, type PropertyValues } from 'lit';
|
|
8
13
|
import { LintjeElement, type FrameSettings } from '../../../core/element.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-filter-sheet>` — the filters below 768 px
|
|
3
|
-
* owner keeps the draft and supplies the controls. Escape in an open popover closes only that
|
|
4
|
-
* popover. Focus is trapped while open (`FocusTrap`).
|
|
2
|
+
* `<lintje-filter-sheet>` — the filters below 768 px, in a sheet that traps the focus while open.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Nothing applies before "Toepassen": the owner keeps the draft and supplies the controls. Escape
|
|
5
|
+
* in an open popover closes only that popover.
|
|
6
|
+
*
|
|
7
|
+
* Events: `lintje-filters-apply`, `lintje-sheet-close`, `lintje-filters-reset`.
|
|
8
8
|
*/
|
|
9
9
|
import { nothing, type PropertyDeclarations, type TemplateResult, type PropertyValues } from 'lit';
|
|
10
10
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-filter-zone>` — the filter bar: one place for everything that narrows the numbers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* The controls come in through the slot and the sentence as parts; the owner keeps the state. The
|
|
5
|
+
* zone is expanded, scrolled (a sticky summary bar) or, below 768 px, the sentence only.
|
|
6
6
|
*
|
|
7
|
-
* Events
|
|
8
|
-
* `lintje-zone-scrolled-change`
|
|
7
|
+
* Events: `lintje-filters-reset`, `lintje-zone-open-change` `boolean`,
|
|
8
|
+
* `lintje-zone-scrolled-change` `boolean`.
|
|
9
9
|
*/
|
|
10
10
|
import { type PropertyDeclarations, type TemplateResult, type PropertyValues } from 'lit';
|
|
11
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-error-summary>` — the error summary above a form, with a link to each field.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* the summary's own tree
|
|
6
|
-
*
|
|
7
|
-
* action bar below, however deep it stands in the form.
|
|
8
|
-
* It never validates. `focus()` puts the focus on the frame (`tabindex="-1"`).
|
|
4
|
+
* It never validates, and with nothing to show it draws nothing. A link focuses the field, found
|
|
5
|
+
* by `name` or `id` in the summary's own tree or, from a shadow root, in its host's light DOM, and
|
|
6
|
+
* scrolls it into view clear of a sticky top bar and the form's action bar.
|
|
9
7
|
*
|
|
10
|
-
* Events: `lintje-retry`
|
|
8
|
+
* Events: `lintje-retry` ("Opnieuw proberen" was pressed).
|
|
11
9
|
*/
|
|
12
10
|
import { nothing, type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
13
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -33,6 +31,7 @@ export declare class LintjeErrorSummary extends LintjeElement {
|
|
|
33
31
|
/** The label of the retry button under `message`; without it there is none. */
|
|
34
32
|
retry?: string;
|
|
35
33
|
get hasErrors(): boolean;
|
|
34
|
+
/** Puts the focus on the frame (`tabindex="-1"`). */
|
|
36
35
|
focus(options?: FocusOptions): void;
|
|
37
36
|
private goTo;
|
|
38
37
|
protected render(): TemplateResult | typeof nothing;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* `<lintje-form>` — collects the values of its light-DOM fields, keeps the draft, asks for one
|
|
3
3
|
* submit and puts the host's errors under their fields.
|
|
4
4
|
*
|
|
5
|
-
* Its `<form>` is in the shadow root, so slotted fields have no form owner:
|
|
6
|
-
*
|
|
7
|
-
* reaches the URL.
|
|
5
|
+
* Its `<form>` is in the shadow root, so slotted fields have no form owner: Enter and a submit
|
|
6
|
+
* button reach it through the element's own handlers, once. It stops `lintje-values-change`, so
|
|
7
|
+
* form input never reaches the URL.
|
|
8
8
|
*
|
|
9
|
-
* Events: `lintje-submit` `{ values }`, `lintje-invalid`
|
|
10
|
-
*
|
|
9
|
+
* Events: `lintje-submit` `{ values }`, `lintje-invalid` `FormErrors`, `lintje-dirty-change`
|
|
10
|
+
* `boolean`.
|
|
11
11
|
*/
|
|
12
12
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
13
13
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-form-actions>` — the sticky action bar of a form: draft status left,
|
|
3
|
-
* `lintje-button`s right
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* not hidden behind it (WCAG 2.4.11). Events: none.
|
|
2
|
+
* `<lintje-form-actions>` — the sticky action bar of a form: the draft status on the left, the
|
|
3
|
+
* slotted `lintje-button`s on the right, the last one primary.
|
|
4
|
+
*
|
|
5
|
+
* While connected it reserves its height as the page scroller's `scroll-padding-bottom`, so a
|
|
6
|
+
* field the focus scrolls to is not hidden behind it.
|
|
8
7
|
*/
|
|
9
8
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
10
9
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -16,7 +15,10 @@ export declare class LintjeFormActions extends LintjeElement {
|
|
|
16
15
|
#private;
|
|
17
16
|
static styles: import("lit").CSSResult[];
|
|
18
17
|
static properties: PropertyDeclarations;
|
|
19
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Set by the surrounding `lintje-form` (with `saved-at`); standing alone, the host sets it. On
|
|
20
|
+
* `busy` the primary button turns `busy` and the others `disabled`; after, each has what it had.
|
|
21
|
+
*/
|
|
20
22
|
state: FormActionsState;
|
|
21
23
|
/** When it was saved: "10:42" or anything `Date` parses. */
|
|
22
24
|
savedAt?: string;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-form-section>` — a group of fields with a heading and an explanation: a `<fieldset>`
|
|
3
|
-
*
|
|
4
|
-
* a tile, or a tile itself (`variant="tile"`).
|
|
5
|
-
*
|
|
6
|
-
* `disabled` sets `disabled` on every slotted control itself and hands back what each had: a
|
|
7
|
-
* `<fieldset disabled>` in a shadow root disables nothing slotted.
|
|
3
|
+
* whose legend holds an `<h3>`, so the heading is in the page's outline.
|
|
8
4
|
*/
|
|
9
5
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
10
6
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -16,7 +12,12 @@ export declare class LintjeFormSection extends LintjeElement {
|
|
|
16
12
|
/** The legend; as a tile, the tile title. */
|
|
17
13
|
heading: string;
|
|
18
14
|
description?: string;
|
|
15
|
+
/** `plain`: bare, inside a tile; `tile`: a tile itself. */
|
|
19
16
|
variant: FormSectionVariant;
|
|
17
|
+
/**
|
|
18
|
+
* Sets `disabled` on every slotted control and hands back what each had: a
|
|
19
|
+
* `<fieldset disabled>` in a shadow root disables nothing slotted.
|
|
20
|
+
*/
|
|
20
21
|
disabled: boolean;
|
|
21
22
|
protected updated(changed: PropertyValues<this>): void;
|
|
22
23
|
disconnectedCallback(): void;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<lintje-repeater>` — a group of fields that repeats.
|
|
3
|
-
* list; the repeater asks, numbers and names the rows, and bounds them by `min` and `max`.
|
|
4
|
-
* After an add, focus goes to the new row's first field; after a remove, to the remove button
|
|
5
|
-
* of the row above (the add button when none is left). A live region says both.
|
|
6
|
-
* It keeps no values and draws no undo toast.
|
|
2
|
+
* `<lintje-repeater>` — a group of fields that repeats.
|
|
7
3
|
*
|
|
8
|
-
*
|
|
9
|
-
* `
|
|
4
|
+
* The host writes the rows and owns the list; the repeater asks, numbers and names the rows, and
|
|
5
|
+
* bounds them by `min` and `max`. It keeps no values and draws no undo toast. After an add the
|
|
6
|
+
* focus goes to the new row's first field, after a remove to the remove button of the row above,
|
|
7
|
+
* else the add button.
|
|
8
|
+
*
|
|
9
|
+
* Events: `lintje-row-add` `number` (the index the new row gets), `lintje-row-remove` `number`
|
|
10
|
+
* (the row's index, from the row).
|
|
10
11
|
*/
|
|
11
12
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
12
13
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -14,6 +15,11 @@ import '../../../primitives/button/button.js';
|
|
|
14
15
|
import '../../../primitives/icon-button/icon-button.js';
|
|
15
16
|
/** The first focusable control inside an element, through the shadow roots on the way. */
|
|
16
17
|
export declare function firstFocusable(root: Element): HTMLElement | null;
|
|
18
|
+
/**
|
|
19
|
+
* `<lintje-repeater-row>` — one row of a `lintje-repeater`, which numbers and names it.
|
|
20
|
+
*
|
|
21
|
+
* Events: `lintje-row-remove` `number` (the row's index).
|
|
22
|
+
*/
|
|
17
23
|
export declare class LintjeRepeaterRow extends LintjeElement {
|
|
18
24
|
static styles: import("lit").CSSResult;
|
|
19
25
|
static properties: PropertyDeclarations;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-stepper>` — the steps of a form that takes more than one screen, or the phases of a
|
|
3
|
-
* process.
|
|
4
|
-
*
|
|
5
|
-
* current; the element never reads the URL. A
|
|
6
|
-
*
|
|
3
|
+
* process.
|
|
4
|
+
*
|
|
5
|
+
* The host decides which step is current; the element never reads the URL. A step still to come
|
|
6
|
+
* does nothing: jumping ahead is not possible. A plain click on a done step is sent as
|
|
7
|
+
* `lintje-navigate`, which a host that routes cancels.
|
|
7
8
|
*
|
|
8
9
|
* Events: `lintje-navigate` `{ href }`.
|
|
9
10
|
*/
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-app-search>` — one search field over everything in an application, opened with `/`.
|
|
3
3
|
*
|
|
4
|
-
* The
|
|
5
|
-
*
|
|
4
|
+
* The host holds `open`, `groups` and `loading`: the element asks to be opened and closed, and
|
|
5
|
+
* searches nothing itself. It is a dialog that traps the focus; below 768 px it opens from below
|
|
6
|
+
* as a sheet.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* Events: `lintje-open`, `lintje-search` (the term), `lintje-navigate` `{ href }`, `lintje-action`
|
|
11
|
-
* (the id), `lintje-close` `{ reason: 'escape' | 'scrim' | 'button' | 'choice' }`.
|
|
8
|
+
* Events: `lintje-open`, `lintje-search` `string` (the term), `lintje-navigate` `{ href }`,
|
|
9
|
+
* `lintje-action` `string` (the row's id),
|
|
10
|
+
* `lintje-close` `{ reason: 'escape' | 'scrim' | 'button' | 'choice' }`.
|
|
12
11
|
*/
|
|
13
12
|
import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
14
13
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-breadcrumbs>` — the breadcrumb trail above a page's title.
|
|
3
3
|
*
|
|
4
|
-
* The last item is the current page
|
|
5
|
-
*
|
|
4
|
+
* The last item is the current page, never a link. Past four levels the middle collapses into a
|
|
5
|
+
* "…" menu. It never reads the URL: the host passes the levels.
|
|
6
6
|
*
|
|
7
7
|
* Events: `lintje-navigate` `{ href }`.
|
|
8
8
|
*/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-footer>` — the foot of a site or an application: a line that says what it is, columns
|
|
3
3
|
* of links under a heading, and a row of the links every page carries (privacy, accessibility).
|
|
4
|
+
*
|
|
4
5
|
* It stands on the menu's own fill and runs edge to edge; in `lintje-shell` it goes in the
|
|
5
6
|
* `footer` slot. Below 768 px the columns stand under each other.
|
|
6
7
|
*
|
|
7
|
-
* Events: `lintje-navigate` `{ href }`
|
|
8
|
+
* Events: `lintje-navigate` `{ href }` (a plain click on a link).
|
|
8
9
|
*/
|
|
9
10
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
10
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -26,7 +27,7 @@ export interface FooterData {
|
|
|
26
27
|
note?: string;
|
|
27
28
|
}
|
|
28
29
|
export declare class LintjeFooter extends LintjeElement {
|
|
29
|
-
static styles: import("lit").CSSResult;
|
|
30
|
+
static styles: import("lit").CSSResult[];
|
|
30
31
|
static properties: PropertyDeclarations;
|
|
31
32
|
data?: FooterData;
|
|
32
33
|
private onLink;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-hero>` — the opening band of a start page: a large title, a line of introduction and
|
|
3
|
-
* one way onward, on the theme's wash.
|
|
4
|
-
* content column. In `lintje-shell` it goes in the `full` slot, above the page's content.
|
|
3
|
+
* one way onward, on the theme's wash.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* out below 1024 px
|
|
10
|
-
*
|
|
11
|
-
* half over the band's lower edge, such as a panel of tabs.
|
|
5
|
+
* It runs from edge to edge, its text in the content column; in `lintje-shell` it goes in the
|
|
6
|
+
* `full` slot. The title is an h2: the page's h1 is the shell's `name`. The default slot takes a
|
|
7
|
+
* search field or a short form under the introduction, `aside` one picture beside the text (left
|
|
8
|
+
* out below 1024 px), `panel` content beside the text, and `overlap` what stands half over the
|
|
9
|
+
* band's lower edge, such as a panel of tabs.
|
|
12
10
|
*
|
|
13
|
-
* Events: `lintje-navigate` `{ href }`
|
|
11
|
+
* Events: `lintje-navigate` `{ href }` (the action).
|
|
14
12
|
*/
|
|
15
13
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
16
14
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-notifications>` — the bell with its unread counter, and the panel it opens.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* focus-trap stack. It fetches and marks nothing: the host sets `.items`.
|
|
4
|
+
* It fetches and marks nothing: the host sets `items`. More unread items than before are spoken
|
|
5
|
+
* from a status region beside the bell. Above 768 px the panel is a popover; below, a full-screen
|
|
6
|
+
* sheet that traps the focus.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Events: `lintje-notification-open` `{ id, href? }` — a plain click on a title with an `href`
|
|
13
|
-
* is cancelled and left to the host —, `lintje-notifications-read` ("Alles gelezen").
|
|
8
|
+
* Events: `lintje-notification-open` `{ id, href? }` (a title was clicked; with an `href`, cancel
|
|
9
|
+
* it to route), `lintje-notifications-read` ("Alles gelezen" was pressed).
|
|
14
10
|
*/
|
|
15
11
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
16
12
|
import { LintjeElement } from '../../../core/element.js';
|
|
@@ -1,38 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `<lintje-page-header>` — the title zone of a page, with an announcement above it.
|
|
3
3
|
*
|
|
4
|
-
* The title is an h2: the page's h1 is the shell's `name`.
|
|
5
|
-
*
|
|
4
|
+
* The title is an h2: the page's h1 is the shell's `name`. Actions that do not fit on one line go
|
|
5
|
+
* into one menu, "Meer": the first goes first, the last never, and a chosen row clicks its button,
|
|
6
|
+
* so the host's own listener sees the click. In the page's content it is a band that tells the
|
|
7
|
+
* shell when the title scrolls under the top bar.
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
* title scrolls under the top bar. The observer watches the title itself: a sentinel element in
|
|
9
|
-
* this column would pick up the gap and push the page down 6 px.
|
|
10
|
-
*
|
|
11
|
-
* In `lintje-shell`'s `header` slot it stands flush in the shell's content column, as an
|
|
12
|
-
* application's title row: no band, the description at every width, no observer.
|
|
13
|
-
*
|
|
14
|
-
* `editable` puts a pencil beside the title, shown while the title is pointed at or focused: the
|
|
15
|
-
* way to rename what the page is about. The page renames; the header only asks.
|
|
16
|
-
*
|
|
17
|
-
* Events: `lintje-title-edit` (the pencil was pressed).
|
|
9
|
+
* Events: `lintje-title-edit` (the pencil was pressed: the page renames, the header only asks).
|
|
18
10
|
*/
|
|
19
11
|
import { nothing, type PropertyDeclarations, type TemplateResult, type PropertyValues } from 'lit';
|
|
20
12
|
import { LintjeElement, type FrameSettings } from '../../../core/element.js';
|
|
21
13
|
import '../../feedback/announcement/announcement.js';
|
|
14
|
+
import '../../actions/menu-button/menu-button.js';
|
|
22
15
|
import '../../../primitives/icon-button/icon-button.js';
|
|
23
16
|
import type { PageHeaderData } from '../../../types.js';
|
|
24
17
|
export declare class LintjePageHeader extends LintjeElement {
|
|
25
18
|
static styles: import("lit").CSSResult;
|
|
26
19
|
static properties: PropertyDeclarations;
|
|
27
20
|
data?: PageHeaderData | null;
|
|
28
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* In `lintje-shell`'s `header` slot: an application's title row, flush in the content column,
|
|
23
|
+
* with no band, the description at every width and no top bar to tell.
|
|
24
|
+
*/
|
|
29
25
|
inShell: boolean;
|
|
30
26
|
/** An empty actions slot takes no place, so a long title never wraps onto an empty line. */
|
|
31
27
|
hasActions: boolean;
|
|
32
|
-
/** A pencil beside the title asks to rename it. */
|
|
28
|
+
/** A pencil beside the title, shown while it is pointed at or focused, asks to rename it. */
|
|
33
29
|
editable: boolean;
|
|
34
30
|
protected get dataSettings(): FrameSettings | undefined;
|
|
35
31
|
private readonly mobile;
|
|
32
|
+
private readonly overflow;
|
|
36
33
|
private observer;
|
|
37
34
|
connectedCallback(): void;
|
|
38
35
|
disconnectedCallback(): void;
|