lintje 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist-elements/actions.js +1 -1
- package/dist-elements/chunks/{base-CbmWxUig.js → base-CVKIPSLx.js} +151 -145
- package/dist-elements/chunks/chart-styles-JK4clSyA.js +108 -0
- package/dist-elements/chunks/{controls-DxmnDSBr.js → controls-_4ac1Lpz.js} +1 -1
- package/dist-elements/chunks/{date-format-mHtZyBys.js → date-format-DxP9yfDp.js} +1 -1
- package/dist-elements/chunks/{dialog-DChINFxD.js → dialog-D4V467iC.js} +2 -2
- package/dist-elements/chunks/{disclosure-DLkXPUpV.js → disclosure-DVex7Lo_.js} +1 -1
- package/dist-elements/chunks/download-D7ZarlMZ.js +103 -0
- package/dist-elements/chunks/{focus-trap-BwOxE5BX.js → focus-trap-rje9Oz19.js} +1 -1
- package/dist-elements/chunks/input-DEHA2Z_0.js +195 -0
- package/dist-elements/chunks/input-lQTmOMOz.js +4 -0
- package/dist-elements/chunks/{player-B8QXJ0Z5.js → player-DDDWUevR.js} +2 -2
- package/dist-elements/chunks/{sentence-B19AyZBS.js → sentence-mY0Iqu5H.js} +1 -1
- package/dist-elements/chunks/{stagger-BHoOgy0g.js → stagger-Dvkth9_C.js} +116 -107
- package/dist-elements/content.js +2 -0
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +7740 -6789
- package/dist-elements/data-types.json +338 -29
- package/dist-elements/feedback.js +1 -1
- package/dist-elements/guides/loading.md +3 -3
- package/dist-elements/inputs.js +2 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +7346 -5856
- package/dist-elements/overlays.js +1 -1
- package/dist-elements/tag/activity-log.js +1 -1
- package/dist-elements/tag/ai-label.js +1 -1
- package/dist-elements/tag/announcement.js +2 -2
- package/dist-elements/tag/app-search.js +2 -2
- package/dist-elements/tag/audio-player.js +2 -2
- package/dist-elements/tag/badge.d.ts +1 -1
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +1 -1
- package/dist-elements/tag/button.d.ts +1 -1
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +1 -1
- package/dist-elements/tag/card.js +1 -1
- package/dist-elements/tag/chart.js +1168 -794
- package/dist-elements/tag/chat-answer.js +2 -2
- package/dist-elements/tag/chat-composer.js +1 -1
- package/dist-elements/tag/chat-message.js +1 -1
- package/dist-elements/tag/chat-strip.js +1 -1
- package/dist-elements/tag/chat-suggestions.js +1 -1
- package/dist-elements/tag/chat.js +1 -1
- package/dist-elements/tag/checkbox-group.js +3 -2
- package/dist-elements/tag/checkbox.js +3 -2
- package/dist-elements/tag/code.js +1 -1
- package/dist-elements/tag/combobox.js +11 -10
- package/dist-elements/tag/conflict-alert.js +1 -1
- package/dist-elements/tag/copy-button.js +1 -1
- package/dist-elements/tag/data-table.js +179 -178
- package/dist-elements/tag/date-input.js +14 -13
- package/dist-elements/tag/date-range.js +5 -4
- package/dist-elements/tag/description-list.js +1 -1
- package/dist-elements/tag/dialog.js +4 -4
- package/dist-elements/tag/document-viewer.js +1 -1
- package/dist-elements/tag/drawer.js +3 -3
- package/dist-elements/tag/empty-state.js +1 -1
- package/dist-elements/tag/error-page.js +1 -1
- package/dist-elements/tag/error-summary.js +2 -2
- package/dist-elements/tag/expander.js +2 -2
- package/dist-elements/tag/explainer.js +2 -2
- package/dist-elements/tag/field.js +1 -1
- package/dist-elements/tag/file-upload.js +4 -3
- package/dist-elements/tag/filter-bar.js +3 -3
- package/dist-elements/tag/filter-sheet.js +3 -3
- package/dist-elements/tag/filter-zone.js +2 -2
- package/dist-elements/tag/find.d.ts +1 -0
- package/dist-elements/tag/find.js +132 -0
- package/dist-elements/tag/footer.js +1 -1
- package/dist-elements/tag/form-actions.js +2 -2
- package/dist-elements/tag/form-section.js +2 -2
- package/dist-elements/tag/form.js +2 -2
- package/dist-elements/tag/gallery.js +1 -1
- package/dist-elements/tag/grid-item.d.ts +1 -1
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.d.ts +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +1 -1
- package/dist-elements/tag/highlight.js +1 -1
- package/dist-elements/tag/icon-button.d.ts +1 -1
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.d.ts +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +1 -1
- package/dist-elements/tag/kpi-row.js +1 -1
- package/dist-elements/tag/kpi.js +73 -71
- package/dist-elements/tag/level-meter.js +1 -1
- package/dist-elements/tag/list.js +2 -2
- package/dist-elements/tag/log-viewer.d.ts +1 -0
- package/dist-elements/tag/log-viewer.js +847 -0
- package/dist-elements/tag/logo.js +1 -1
- package/dist-elements/tag/map.js +151 -144
- package/dist-elements/tag/menu-button.js +14 -9
- package/dist-elements/tag/modal.js +2 -2
- package/dist-elements/tag/multiselect.js +4 -3
- package/dist-elements/tag/note.js +1 -1
- package/dist-elements/tag/notifications.js +2 -2
- package/dist-elements/tag/number-input.js +3 -2
- package/dist-elements/tag/page-header.js +1 -1
- package/dist-elements/tag/pagination.js +25 -25
- package/dist-elements/tag/popover.d.ts +1 -1
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.d.ts +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +1 -1
- package/dist-elements/tag/qr-code.js +1 -1
- package/dist-elements/tag/radio-group.js +3 -2
- package/dist-elements/tag/range.js +3 -2
- package/dist-elements/tag/recording-status.js +1 -1
- package/dist-elements/tag/repeater.js +1 -1
- package/dist-elements/tag/segmented.js +3 -2
- package/dist-elements/tag/select.js +3 -2
- package/dist-elements/tag/shell.js +3 -3
- package/dist-elements/tag/skeleton.d.ts +1 -1
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +4 -3
- package/dist-elements/tag/sortable-list.js +1 -1
- package/dist-elements/tag/spinner.d.ts +1 -1
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +1 -1
- package/dist-elements/tag/status-dot.d.ts +1 -1
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +1 -1
- package/dist-elements/tag/streaming-text.js +1 -1
- package/dist-elements/tag/sub-nav.js +1 -1
- package/dist-elements/tag/tabs.js +1 -1
- package/dist-elements/tag/tag-input.js +11 -10
- package/dist-elements/tag/text-editor.js +3 -2
- package/dist-elements/tag/text-input.js +3 -2
- package/dist-elements/tag/textarea.js +3 -2
- package/dist-elements/tag/tile.d.ts +1 -1
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +7 -6
- package/dist-elements/tag/toast.js +2 -2
- package/dist-elements/tag/toggle.js +3 -2
- package/dist-elements/tag/toggletip.js +2 -2
- package/dist-elements/tag/token-value.d.ts +1 -0
- package/dist-elements/tag/token-value.js +75 -0
- package/dist-elements/tag/tooltip.d.ts +1 -1
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +1 -1
- package/dist-elements/tag/translator.js +1 -1
- package/dist-elements/tag/tree-view.js +1 -1
- package/dist-elements/tag/user-menu.js +1 -1
- package/dist-elements/tag/video-player.js +2 -2
- package/dist-elements/tokens.css +2 -0
- package/dist-elements/tokens.json +1248 -0
- package/dist-elements/types/bundle/actions.d.ts +3 -3
- package/dist-elements/types/bundle/content.d.ts +2 -0
- package/dist-elements/types/bundle/feedback.d.ts +5 -5
- package/dist-elements/types/bundle/index.d.ts +1 -11
- package/dist-elements/types/bundle/inputs.d.ts +1 -0
- package/dist-elements/types/bundle/layout.d.ts +3 -3
- package/dist-elements/types/bundle/overlays.d.ts +2 -2
- package/dist-elements/types/categories.d.ts +4 -0
- package/dist-elements/types/{primitives → components/actions}/button/button.d.ts +1 -1
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +2 -2
- package/dist-elements/types/{icons → components/actions}/icon/icon.d.ts +2 -2
- package/dist-elements/types/{primitives → components/actions}/icon-button/icon-button.d.ts +1 -1
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +7 -4
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +1 -1
- package/dist-elements/types/components/charts/chart/chart.d.ts +1 -1
- package/dist-elements/types/components/charts/explainer/explainer.d.ts +1 -1
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +3 -3
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -1
- package/dist-elements/types/components/charts/note/note.d.ts +1 -1
- package/dist-elements/types/components/chat/chat/chat.d.ts +1 -1
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +3 -3
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +2 -2
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +1 -1
- package/dist-elements/types/components/content/audio-player/audio-player.d.ts +5 -5
- package/dist-elements/types/components/content/code/code.d.ts +1 -1
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +2 -2
- package/dist-elements/types/components/content/highlight/highlight.d.ts +1 -1
- package/dist-elements/types/components/content/log-viewer/lines.d.ts +33 -0
- package/dist-elements/types/components/content/log-viewer/log-viewer.d.ts +117 -0
- package/dist-elements/types/components/content/prose/prose.d.ts +1 -1
- package/dist-elements/types/components/content/token-value/token-value.d.ts +42 -0
- package/dist-elements/types/components/content/transcript/transcript.d.ts +3 -3
- package/dist-elements/types/components/content/translator/translator.d.ts +1 -1
- package/dist-elements/types/components/content/video-player/video-player.d.ts +1 -1
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +2 -2
- package/dist-elements/types/{primitives → components/feedback}/badge/badge.d.ts +2 -2
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +1 -1
- package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +2 -2
- package/dist-elements/types/components/feedback/job-list/job-list.d.ts +1 -1
- package/dist-elements/types/{primitives → components/feedback}/progress-bar/progress-bar.d.ts +2 -2
- package/dist-elements/types/{primitives → components/feedback}/skeleton/skeleton.d.ts +1 -1
- package/dist-elements/types/{primitives → components/feedback}/spinner/spinner.d.ts +1 -1
- package/dist-elements/types/{primitives → components/feedback}/status-dot/status-dot.d.ts +2 -2
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +2 -2
- package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +2 -2
- package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +1 -1
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +1 -1
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +2 -2
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +1 -1
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +1 -1
- package/dist-elements/types/components/frame/notifications/notifications.d.ts +2 -2
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +1 -1
- package/dist-elements/types/components/frame/shell/shell.d.ts +1 -1
- package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +2 -2
- package/dist-elements/types/components/index.d.ts +45 -3
- package/dist-elements/types/components/inputs/combobox/combobox.d.ts +2 -2
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +1 -1
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +2 -2
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +2 -2
- package/dist-elements/types/components/inputs/find/find.d.ts +52 -0
- package/dist-elements/types/components/inputs/segmented/segmented.d.ts +1 -1
- package/dist-elements/types/components/inputs/shared/input.d.ts +1 -1
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +1 -1
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +2 -2
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +1 -1
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +1 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +1 -1
- package/dist-elements/types/{primitives → components/layout}/grid/grid.d.ts +1 -1
- package/dist-elements/types/{primitives → components/layout}/grid-item/grid-item.d.ts +1 -1
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +1 -1
- package/dist-elements/types/{primitives → components/layout}/tile/tile.d.ts +6 -6
- package/dist-elements/types/components/map/map/map.d.ts +2 -2
- package/dist-elements/types/components/overlays/modal/modal.d.ts +2 -2
- package/dist-elements/types/{primitives → components/overlays}/popover/popover.d.ts +2 -2
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +1 -1
- package/dist-elements/types/{primitives → components/overlays}/tooltip/tooltip.d.ts +2 -2
- package/dist-elements/types/components/shared/charts/index.d.ts +1 -0
- package/dist-elements/types/components/shared/charts/kinds.d.ts +6 -0
- package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/radar-chart/radar-chart.d.ts +31 -0
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +10 -2
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +5 -1
- package/dist-elements/types/components/shared/charts/shared/layer-motion.d.ts +21 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +33 -0
- package/dist-elements/types/components/shared/content-tile.d.ts +1 -1
- package/dist-elements/types/components/{forms/form → shared}/controls.d.ts +3 -2
- package/dist-elements/types/components/shared/download.d.ts +2 -0
- package/dist-elements/types/components/shared/overflow.d.ts +1 -1
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +1 -1
- package/dist-elements/types/components/tables/card/card.d.ts +4 -4
- package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +3 -3
- package/dist-elements/types/components/tables/data-table/editing.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/filters.d.ts +3 -3
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +2 -2
- package/dist-elements/types/components/tables/list/list.d.ts +4 -4
- package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +1 -1
- package/dist-elements/types/core/focus.d.ts +1 -1
- package/dist-elements/types/types.d.ts +51 -7
- package/package.json +1 -1
- package/dist-elements/chunks/download-Ct9q2anY.js +0 -206
- package/dist-elements/chunks/input-CRW_exv_.js +0 -195
- package/dist-elements/types/primitives/index.d.ts +0 -35
- /package/dist-elements/types/components/content/{audio-player → shared}/playback.d.ts +0 -0
- /package/dist-elements/types/components/content/{audio-player → shared}/player.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/announcement-block.d.ts +0 -0
- /package/dist-elements/types/components/{inputs/date-input → shared}/date-format.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/empty-state-block.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/grid-item-element.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/length.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/place.d.ts +0 -0
- /package/dist-elements/types/{primitives → components}/shared/tone.d.ts +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { type TemplateResult } from 'lit';
|
|
7
7
|
import type { ChartOptions } from '../shared/controller.js';
|
|
8
8
|
import type { MapArea, MapSpec, MapValue } from '../shared/types.js';
|
|
9
|
-
import '
|
|
9
|
+
import '../../../overlays/popover/popover.js';
|
|
10
10
|
/** The map's own height in a tile: on a phone taller, so all its buttons fit on the touch size. */
|
|
11
11
|
export declare const MAP_HEIGHT: {
|
|
12
12
|
readonly desktop: 400;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Radar chart: the profile of one to three variables over five to eight axes that share one
|
|
3
|
+
* scale, from 0 in the centre to `max` on the outer ring, with a grey comparison and a norm.
|
|
4
|
+
* Dashed is the norm only: a dashed comparison over it would read as a second norm.
|
|
5
|
+
* Overlapping areas mix into a colour no variable has, so of more layers only the one the
|
|
6
|
+
* reader points at in the legend fills. Below 768 px each axis becomes a row of bars (rule 9).
|
|
7
|
+
*/
|
|
8
|
+
import { type TemplateResult } from 'lit';
|
|
9
|
+
import type { ChartOptions } from '../shared/controller.js';
|
|
10
|
+
import type { ChartSpec } from '../shared/types.js';
|
|
11
|
+
type RadarSpec = Extract<ChartSpec, {
|
|
12
|
+
kind: 'radar';
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* The runs of known values around the circle, as axis indices. Without a gap the one run closes
|
|
16
|
+
* on itself; a gap breaks the line there, as nothing is known to bridge it (rule 15).
|
|
17
|
+
*/
|
|
18
|
+
export declare function radarRuns(values: (number | null)[]): {
|
|
19
|
+
closed: boolean;
|
|
20
|
+
runs: number[][];
|
|
21
|
+
};
|
|
22
|
+
/** The rings: every `step` up to `max`, and `max` itself as the outer one. */
|
|
23
|
+
export declare function radarTicks(max: number, step?: number): number[];
|
|
24
|
+
/** Which layers fill: one alone does; of more, the emphasised one (`emphasis`), all or none. */
|
|
25
|
+
export declare function radarFills(spec: Pick<RadarSpec, 'area'>, shown: {
|
|
26
|
+
label: string;
|
|
27
|
+
comparison: boolean;
|
|
28
|
+
complete: boolean;
|
|
29
|
+
}[], emphasis: string | null): Set<string>;
|
|
30
|
+
export declare function renderRadarChart(spec: RadarSpec, options: ChartOptions): TemplateResult;
|
|
31
|
+
export {};
|
|
@@ -5,6 +5,9 @@ import type { PlotKeys } from './plot-keys.js';
|
|
|
5
5
|
import { type SeriesKey } from './series-shapes.js';
|
|
6
6
|
/** Anything that may go inside the `<svg>`; built with lit's `svg`, since `html` draws nothing. */
|
|
7
7
|
export type SvgSlot = SVGTemplateResult | typeof nothing | false | null | undefined | readonly SvgSlot[];
|
|
8
|
+
/** The legend keys of a chart's references, apart from any series a host calls "Norm". */
|
|
9
|
+
export declare const THRESHOLD_KEY = "reference:threshold";
|
|
10
|
+
export declare const MEDIAN_KEY = "reference:median";
|
|
8
11
|
export interface LegendItem {
|
|
9
12
|
label: string;
|
|
10
13
|
color?: string;
|
|
@@ -13,7 +16,10 @@ export interface LegendItem {
|
|
|
13
16
|
/** The shape the line carries at its end, drawn on its line marker (rule 13). */
|
|
14
17
|
symbol?: SeriesKey;
|
|
15
18
|
hidden?: boolean;
|
|
16
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Never a switch: a key such as "geen gegevens", or a lone series with nothing beside it, which
|
|
21
|
+
* switched off would leave an empty frame. A reference such as a norm is a switch.
|
|
22
|
+
*/
|
|
17
23
|
fixed?: boolean;
|
|
18
24
|
/** What `onToggle` receives; without it the label. */
|
|
19
25
|
key?: string;
|
|
@@ -23,9 +29,11 @@ export interface LegendItem {
|
|
|
23
29
|
* dark-yellow one with the edge of its text colour (`lineCasing`).
|
|
24
30
|
*/
|
|
25
31
|
export declare function renderSymbol(symbol: SeriesKey, color: string | undefined, centre: number): SVGTemplateResult;
|
|
26
|
-
export declare function renderLegend({ items, onToggle, position, }: {
|
|
32
|
+
export declare function renderLegend({ items, onToggle, onEmphasis, position, }: {
|
|
27
33
|
items: LegendItem[];
|
|
28
34
|
onToggle?: (label: string) => void;
|
|
35
|
+
/** A series pointed at or focused, and `null` once it is left. */
|
|
36
|
+
onEmphasis?: (label: string | null) => void;
|
|
29
37
|
position?: 'top' | 'bottom' | 'right';
|
|
30
38
|
}): TemplateResult;
|
|
31
39
|
type XAnchor = 'start' | 'middle' | 'end';
|
|
@@ -35,6 +35,8 @@ export interface TooltipRow {
|
|
|
35
35
|
divider?: boolean;
|
|
36
36
|
/** The series' shape instead of a square swatch, as its legend draws it. */
|
|
37
37
|
symbol?: SeriesKey;
|
|
38
|
+
/** A line instead of a square swatch, plain or dashed (a norm), as its legend draws it. */
|
|
39
|
+
marker?: 'line' | 'dashed';
|
|
38
40
|
}
|
|
39
41
|
export interface TooltipContent {
|
|
40
42
|
title: string;
|
|
@@ -71,6 +73,8 @@ export declare class ChartController {
|
|
|
71
73
|
/** What the keyboard's tooltip says, for the chart's status region; empty otherwise. */
|
|
72
74
|
status: string;
|
|
73
75
|
hiddenSeries: string[];
|
|
76
|
+
/** The series the reader points at or focuses in the legend; `null` for none. */
|
|
77
|
+
emphasis: string | null;
|
|
74
78
|
/** The layers of a stacked map switched off in its legend, by their place in the stack. */
|
|
75
79
|
hiddenLayers: number[];
|
|
76
80
|
hoverSegment: number | null;
|
|
@@ -78,7 +82,6 @@ export declare class ChartController {
|
|
|
78
82
|
row: number;
|
|
79
83
|
column: number;
|
|
80
84
|
} | null;
|
|
81
|
-
dimmedClass: number | null;
|
|
82
85
|
/** What a wheel without its modifier shows, until its timer clears it. */
|
|
83
86
|
mapHint: string | null;
|
|
84
87
|
mapHintTimer: ReturnType<typeof setTimeout> | null;
|
|
@@ -147,6 +150,7 @@ export declare class ChartController {
|
|
|
147
150
|
private watchEscape;
|
|
148
151
|
private unwatchEscape;
|
|
149
152
|
toggleLayer(index: number): void;
|
|
153
|
+
emphasise(label: string | null): void;
|
|
150
154
|
toggleSeries(label: string): void;
|
|
151
155
|
private read;
|
|
152
156
|
/**
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ChartController } from './controller.js';
|
|
2
|
+
/**
|
|
3
|
+
* The weight each part is drawn with, 0 (off) to 1 (on), eased between the two over `--dur-layer`
|
|
4
|
+
* after a legend switch. Points and `d` do not transition in every engine, so the edges are
|
|
5
|
+
* worked out per frame.
|
|
6
|
+
*/
|
|
7
|
+
export interface LayerMotion {
|
|
8
|
+
key: string;
|
|
9
|
+
from: number[];
|
|
10
|
+
to: number[];
|
|
11
|
+
start: number;
|
|
12
|
+
duration: number;
|
|
13
|
+
ease: (t: number) => number;
|
|
14
|
+
frame?: number;
|
|
15
|
+
element?: Element;
|
|
16
|
+
attach: (element: Element | undefined) => void;
|
|
17
|
+
}
|
|
18
|
+
/** The weights to draw now; a new switch starts from where a running one stands. */
|
|
19
|
+
export declare function layerWeights(controller: ChartController, key: string, target: number[]): number[];
|
|
20
|
+
/** The motion of a chart, after `layerWeights`; its `attach` goes on the drawing, for the tokens. */
|
|
21
|
+
export declare function layerMotion(controller: ChartController): LayerMotion;
|
|
@@ -238,7 +238,40 @@ export type ChartSpec = {
|
|
|
238
238
|
/** The text beside the threshold line; default "norm" with its value and unit. */
|
|
239
239
|
thresholdLabel?: string;
|
|
240
240
|
small?: boolean;
|
|
241
|
+
} | {
|
|
242
|
+
kind: 'radar';
|
|
243
|
+
/** The axes' names, five to eight, clockwise from the top. All share one scale. */
|
|
244
|
+
axes: string[];
|
|
245
|
+
/** The layers: at most three variables and one comparison. */
|
|
246
|
+
series: RadarSeriesData[];
|
|
247
|
+
/** The outer ring. The scale starts at 0 in the centre: the area carries the value. */
|
|
248
|
+
max: number;
|
|
249
|
+
/** The distance between the rings; without it five rings. */
|
|
250
|
+
step?: number;
|
|
251
|
+
unit?: string;
|
|
252
|
+
/** A norm on every axis: a dashed polygon in the emphasis colour. */
|
|
253
|
+
threshold?: number;
|
|
254
|
+
thresholdLabel?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Which layer fills. `emphasis` (the default): one layer always does, of more only the
|
|
257
|
+
* one the reader points at in the legend, as overlapping areas mix into a colour no
|
|
258
|
+
* variable has. `always` fills every layer, `never` none.
|
|
259
|
+
*/
|
|
260
|
+
area?: 'emphasis' | 'always' | 'never';
|
|
261
|
+
/** The value under each axis name; with one layer only (all or nothing). Default true. */
|
|
262
|
+
dataLabels?: boolean;
|
|
263
|
+
small?: boolean;
|
|
241
264
|
};
|
|
265
|
+
/**
|
|
266
|
+
* A layer of a radar chart: one value per axis, `null` for no data (rule 15). Without a colour
|
|
267
|
+
* the layers take the data colours in their order; a comparison is grey and dashed.
|
|
268
|
+
*/
|
|
269
|
+
export interface RadarSeriesData {
|
|
270
|
+
label: string;
|
|
271
|
+
values: (number | null)[];
|
|
272
|
+
color?: ChartColor;
|
|
273
|
+
comparison?: boolean;
|
|
274
|
+
}
|
|
242
275
|
export type ChartKind = ChartSpec['kind'];
|
|
243
276
|
/**
|
|
244
277
|
* What a map draws. `polygons` are areas that carry their own outline (`MapValue.polygon`);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* data. The modal's events stop here, like the tile's own, so one action is one line in a log.
|
|
5
5
|
*/
|
|
6
6
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
7
|
-
import { LintjeGridItemElement } from '
|
|
7
|
+
import { LintjeGridItemElement } from './grid-item-element.js';
|
|
8
8
|
import '../overlays/modal/modal.js';
|
|
9
9
|
export interface ExpandModalOptions {
|
|
10
10
|
heading?: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What `lintje-form`, `lintje-form-section
|
|
3
|
-
*
|
|
2
|
+
* What the holders of controls (`lintje-form`, `lintje-form-section`, `lintje-form-actions`,
|
|
3
|
+
* `lintje-dialog`) and the controls themselves share: finding the controls in a light DOM,
|
|
4
|
+
* reading and writing their values, and setting a property on them that can be handed back.
|
|
4
5
|
*
|
|
5
6
|
* A `<fieldset disabled>` in a shadow root disables nothing slotted into it, so each holder
|
|
6
7
|
* disables controls itself and hands back the state it found, or a control the host had
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type CsvCell = string | number | null | undefined;
|
|
7
7
|
export declare function toCsv(rows: CsvCell[][]): string;
|
|
8
|
+
/** Any other text, as a file of its own type (`text/plain`, `application/json`). */
|
|
9
|
+
export declare function downloadText(name: string, text: string, type: string): void;
|
|
8
10
|
export declare function downloadCsv(filename: string, rows: CsvCell[][]): void;
|
|
9
11
|
/** The surface a PNG is drawn on; an empty string leaves the PNG transparent. */
|
|
10
12
|
export declare function surfaceColour(svg: Element): string;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* action goes first, the last never goes, and a menu of one row does not exist.
|
|
11
11
|
*/
|
|
12
12
|
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
|
13
|
-
import type { LintjeButton } from '
|
|
13
|
+
import type { LintjeButton } from '../actions/button/button.js';
|
|
14
14
|
import type { MenuEntry } from '../actions/menu-button/menu-button.js';
|
|
15
15
|
export interface OverflowItem {
|
|
16
16
|
width: number;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
8
8
|
import { LintjeElement } from '../../../core/element.js';
|
|
9
|
-
import '
|
|
9
|
+
import '../../actions/button/button.js';
|
|
10
10
|
export interface ActivityEntry {
|
|
11
11
|
/** A name, or "Systeem". */
|
|
12
12
|
who: string;
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
15
15
|
import { LintjeElement } from '../../../core/element.js';
|
|
16
|
-
import { type Tone } from '
|
|
17
|
-
import '
|
|
18
|
-
import '
|
|
19
|
-
import '
|
|
16
|
+
import { type Tone } from '../../shared/tone.js';
|
|
17
|
+
import '../../actions/button/button.js';
|
|
18
|
+
import '../../actions/icon-button/icon-button.js';
|
|
19
|
+
import '../../feedback/skeleton/skeleton.js';
|
|
20
20
|
export type CardStatusTone = Tone;
|
|
21
21
|
export interface CardStatus {
|
|
22
22
|
/** The word that carries the status: "Je hebt toegang". */
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { type TemplateResult } from 'lit';
|
|
9
9
|
import '../../actions/menu-button/menu-button.js';
|
|
10
|
-
import '
|
|
10
|
+
import '../../actions/button/button.js';
|
|
11
11
|
import type { TableAction } from '../../../types.js';
|
|
12
12
|
/** The rows a Shift+click checks: `anchor` to `target` inclusive; only `target` without an anchor. */
|
|
13
13
|
export declare function rangeIds(order: readonly string[], anchor: string | null, target: string): string[];
|
|
@@ -19,9 +19,9 @@ import '../../feedback/empty-state/empty-state.js';
|
|
|
19
19
|
import '../description-list/description-list.js';
|
|
20
20
|
import '../../actions/menu-button/menu-button.js';
|
|
21
21
|
import '../pagination/pagination.js';
|
|
22
|
-
import '
|
|
23
|
-
import '
|
|
24
|
-
import '
|
|
22
|
+
import '../../feedback/status-dot/status-dot.js';
|
|
23
|
+
import '../../feedback/skeleton/skeleton.js';
|
|
24
|
+
import '../../layout/tile/tile.js';
|
|
25
25
|
import type { DataTableData, SortState } from '../../../types.js';
|
|
26
26
|
import { type FilterValue } from './filters.js';
|
|
27
27
|
type Panel = {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* never keeps the value. Only the desktop table edits.
|
|
8
8
|
*/
|
|
9
9
|
import { type TemplateResult } from 'lit';
|
|
10
|
-
import '
|
|
10
|
+
import '../../feedback/spinner/spinner.js';
|
|
11
11
|
import type { CellValue, DataTableData, TableCellRef, TableColumnData } from '../../../types.js';
|
|
12
12
|
export interface CellPosition {
|
|
13
13
|
row: number;
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* stays first and shown. Range and period filters are not here.
|
|
7
7
|
*/
|
|
8
8
|
import { type TemplateResult } from 'lit';
|
|
9
|
-
import '
|
|
10
|
-
import '
|
|
11
|
-
import '
|
|
9
|
+
import '../../overlays/popover/popover.js';
|
|
10
|
+
import '../../actions/button/button.js';
|
|
11
|
+
import '../../overlays/tooltip/tooltip.js';
|
|
12
12
|
import '../../overlays/drawer/drawer.js';
|
|
13
13
|
import '../sortable-list/sortable-list.js';
|
|
14
14
|
import type { SortableItem } from '../sortable-list/sortable-list.js';
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* Events: `lintje-navigate` `{ href }`.
|
|
8
8
|
*/
|
|
9
9
|
import { type PropertyDeclarations, type TemplateResult } from 'lit';
|
|
10
|
-
import { LintjeGridItemElement } from '
|
|
11
|
-
import { type Tone } from '
|
|
10
|
+
import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
|
|
11
|
+
import { type Tone } from '../../shared/tone.js';
|
|
12
12
|
/** A link on the right of the value, for changing it ("Locatie wijzigen" as accessible name). */
|
|
13
13
|
export interface DescriptionAction {
|
|
14
14
|
href: string;
|
|
@@ -16,11 +16,11 @@ import { LintjeElement } from '../../../core/element.js';
|
|
|
16
16
|
import '../../feedback/empty-state/empty-state.js';
|
|
17
17
|
import '../../actions/menu-button/menu-button.js';
|
|
18
18
|
import '../../inputs/text-input/text-input.js';
|
|
19
|
-
import '
|
|
20
|
-
import '
|
|
21
|
-
import '
|
|
19
|
+
import '../../feedback/badge/badge.js';
|
|
20
|
+
import '../../actions/button/button.js';
|
|
21
|
+
import '../../feedback/progress-bar/progress-bar.js';
|
|
22
22
|
import type { MenuEntry } from '../../actions/menu-button/menu-button.js';
|
|
23
|
-
import type { BadgeTone } from '
|
|
23
|
+
import type { BadgeTone } from '../../feedback/badge/badge.js';
|
|
24
24
|
export interface ListItem {
|
|
25
25
|
id: string;
|
|
26
26
|
title: string;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
|
|
11
11
|
import { LintjeElement } from '../../../core/element.js';
|
|
12
|
-
import '
|
|
12
|
+
import '../../feedback/spinner/spinner.js';
|
|
13
13
|
export interface TreeNode {
|
|
14
14
|
id: string;
|
|
15
15
|
label: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Where the focus is, through every shadow root, and whether a modal dialog stands around a
|
|
3
|
-
* node. In `core/` because
|
|
3
|
+
* node. In `core/` because tags in every category need it.
|
|
4
4
|
*/
|
|
5
5
|
/** The element that really has focus, through every shadow root below it. */
|
|
6
6
|
export declare function deepActiveElement(): HTMLElement | null;
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
* names come from their one list, `tokens/colors.ts`.
|
|
6
6
|
*/
|
|
7
7
|
import type { DataColor } from './tokens/colors.js';
|
|
8
|
-
import type { ContentStateKind, Tone } from './
|
|
9
|
-
import type { StatusTone } from './
|
|
10
|
-
import type { AnnouncementKind } from './
|
|
8
|
+
import type { ContentStateKind, Tone } from './components/shared/tone.js';
|
|
9
|
+
import type { StatusTone } from './components/feedback/status-dot/status-dot.js';
|
|
10
|
+
import type { AnnouncementKind } from './components/shared/announcement-block.js';
|
|
11
11
|
import type { ChartSpec, MapSpec } from './components/shared/charts/shared/types.js';
|
|
12
12
|
import type { MenuEntry } from './components/actions/menu-button/menu-button.js';
|
|
13
13
|
import type { NotificationItem } from './components/frame/notifications/notifications.js';
|
|
14
|
-
export type { BarSeriesData, ChartColor, ChartEvent, ChartKind, ChartSpec, LineSeriesData, MapSpec, MapValue, MapPlotData, MapPlotVariant, MapVariant, ScatterPoint, ScatterSeriesData, WmsBasemap, MapArea, MapControls, } from './components/shared/charts/shared/types.js';
|
|
14
|
+
export type { BarSeriesData, ChartColor, ChartEvent, ChartKind, ChartSpec, LineSeriesData, MapSpec, MapValue, MapPlotData, MapPlotVariant, MapVariant, ScatterPoint, ScatterSeriesData, WmsBasemap, MapArea, MapControls, RadarSeriesData, } from './components/shared/charts/shared/types.js';
|
|
15
15
|
export type { DataColor } from './tokens/colors.js';
|
|
16
|
-
export type { Tone, WorkState, ContentStateKind } from './
|
|
16
|
+
export type { Tone, WorkState, ContentStateKind } from './components/shared/tone.js';
|
|
17
17
|
/** Settings every view receives, taken from the URL by the host. */
|
|
18
18
|
export interface FrameSettings {
|
|
19
19
|
mode?: 'light' | 'dark';
|
|
@@ -26,7 +26,7 @@ export interface ContentState {
|
|
|
26
26
|
lastKnown?: string;
|
|
27
27
|
}
|
|
28
28
|
/** A source's delivery status: the status column's and `lintje-status-dot`'s own words, each a `Tone`. */
|
|
29
|
-
export type { StatusTone } from './
|
|
29
|
+
export type { StatusTone } from './components/feedback/status-dot/status-dot.js';
|
|
30
30
|
export type TrendDirection = 'up' | 'down' | 'flat';
|
|
31
31
|
/**
|
|
32
32
|
* One colour per variable, named after the Rijkshuisstijl colour it is: a `DataColor`, the
|
|
@@ -334,7 +334,7 @@ export interface TableDetailField {
|
|
|
334
334
|
unit?: string;
|
|
335
335
|
}
|
|
336
336
|
/** `outage` interrupts and cannot be closed; `error` is a failure the reader may put away. */
|
|
337
|
-
export type { AnnouncementKind } from './
|
|
337
|
+
export type { AnnouncementKind } from './components/shared/announcement-block.js';
|
|
338
338
|
export interface AnnouncementData {
|
|
339
339
|
kind?: AnnouncementKind;
|
|
340
340
|
title?: string;
|
|
@@ -556,6 +556,50 @@ export interface ShellData extends FrameSettings {
|
|
|
556
556
|
search?: boolean;
|
|
557
557
|
notifications?: NotificationItem[];
|
|
558
558
|
}
|
|
559
|
+
export type LogLevel = 'error' | 'warning' | 'info' | 'debug';
|
|
560
|
+
/** One line of a log. Everything but `id` and `message` may be missing: it is then left out, never guessed. */
|
|
561
|
+
export interface LogEntry {
|
|
562
|
+
id: string;
|
|
563
|
+
/** The text, over more lines where the source wrote them (a stack trace). */
|
|
564
|
+
message: string;
|
|
565
|
+
/** The moment as ISO 8601. */
|
|
566
|
+
at?: string;
|
|
567
|
+
/** The moment as the host writes it: `14:03:27.118`. */
|
|
568
|
+
time?: string;
|
|
569
|
+
level?: LogLevel;
|
|
570
|
+
/** Where it came from: `import`, `api`. */
|
|
571
|
+
source?: string;
|
|
572
|
+
/** The line number in the source, for output without time or level. */
|
|
573
|
+
line?: number;
|
|
574
|
+
/** A longer text or JSON the host has laid out, shown when the line opens. */
|
|
575
|
+
details?: string;
|
|
576
|
+
}
|
|
577
|
+
/** What the reader filters on; the host keeps it in the URL and sends only matching lines. */
|
|
578
|
+
export interface LogFilter {
|
|
579
|
+
level?: LogLevel | 'all';
|
|
580
|
+
/** The term `lintje-find` looks for. Finding marks; it filters only with `onlyHits`. */
|
|
581
|
+
search?: string;
|
|
582
|
+
onlyHits?: boolean;
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Events: `lintje-log-filter-change` `LogFilter`, `lintje-log-select` `string | null` (the chosen
|
|
586
|
+
* line), `lintje-log-action` `string` (one of `actions`), `lintje-log-retry`.
|
|
587
|
+
*/
|
|
588
|
+
export interface LogViewerData extends FrameSettings, TileData, ContentState {
|
|
589
|
+
/** Oldest first. */
|
|
590
|
+
entries: LogEntry[];
|
|
591
|
+
/** The source still writes: the live badge, and the view follows the newest line. */
|
|
592
|
+
live?: boolean;
|
|
593
|
+
filter?: LogFilter;
|
|
594
|
+
/** Lines per level in the whole log, for the counts in the level filter. */
|
|
595
|
+
counts?: Partial<Record<LogLevel | 'all', number>>;
|
|
596
|
+
/** How many older lines the host no longer sends. */
|
|
597
|
+
truncated?: number;
|
|
598
|
+
/** The chosen line's `id`. */
|
|
599
|
+
selected?: string | null;
|
|
600
|
+
/** The host's own actions, in the "Meer" menu after the view's own. */
|
|
601
|
+
actions?: MenuEntry[];
|
|
602
|
+
}
|
|
559
603
|
/**
|
|
560
604
|
* A stretch of a message read as a term: character offsets, end exclusive. `kind` is the Dutch
|
|
561
605
|
* caption ("Periode"). `certain: false`: ambiguous or outside the chosen sources, drawn dashed.
|