lintje 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist-elements/actions.js +1 -1
- package/dist-elements/chunks/{base-Bg-IFOPG.js → base-CbmWxUig.js} +444 -272
- package/dist-elements/chunks/{controls-B1455oPG.js → controls-DxmnDSBr.js} +6 -0
- package/dist-elements/chunks/dialog-DChINFxD.js +28 -0
- package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
- package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DLkXPUpV.js} +6 -6
- package/dist-elements/chunks/download-Ct9q2anY.js +206 -0
- package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-BwOxE5BX.js} +1 -1
- package/dist-elements/chunks/input-CRW_exv_.js +195 -0
- package/dist-elements/chunks/{player-DXOZEyEy.js → player-B8QXJ0Z5.js} +26 -26
- package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-B19AyZBS.js} +3 -3
- package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BHoOgy0g.js} +81 -75
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +980 -670
- package/dist-elements/data-types.json +6798 -0
- package/dist-elements/feedback.js +2 -1
- package/dist-elements/frame.js +0 -2
- package/dist-elements/guides/dashboard.md +8 -0
- package/dist-elements/guides/events.md +4 -5
- package/dist-elements/guides/loading.md +8 -7
- package/dist-elements/guides/page-contents.md +110 -0
- package/dist-elements/guides/start.md +12 -0
- package/dist-elements/inputs.js +2 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +6975 -6120
- package/dist-elements/overlays.js +2 -2
- package/dist-elements/skills/lintje/SKILL.md +1 -1
- package/dist-elements/tables.js +1 -1
- package/dist-elements/tag/activity-log.js +15 -15
- package/dist-elements/tag/ai-label.js +10 -10
- package/dist-elements/tag/announcement.js +36 -76
- package/dist-elements/tag/app-search.js +49 -49
- package/dist-elements/tag/audio-player.js +57 -57
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +15 -15
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +12 -12
- package/dist-elements/tag/card.js +39 -44
- package/dist-elements/tag/chart.js +1050 -795
- package/dist-elements/tag/chat-answer.js +49 -49
- package/dist-elements/tag/chat-composer.js +75 -71
- package/dist-elements/tag/chat-message.js +8 -8
- package/dist-elements/tag/chat-strip.js +22 -22
- package/dist-elements/tag/chat-suggestions.js +12 -12
- package/dist-elements/tag/chat.js +56 -56
- package/dist-elements/tag/checkbox-group.d.ts +1 -0
- package/dist-elements/tag/checkbox-group.js +59 -0
- package/dist-elements/tag/checkbox.js +8 -8
- package/dist-elements/tag/code.js +9 -9
- package/dist-elements/tag/combobox.js +18 -18
- package/dist-elements/tag/conflict-alert.js +12 -12
- package/dist-elements/tag/copy-button.js +14 -14
- package/dist-elements/tag/data-table.js +878 -530
- package/dist-elements/tag/date-input.js +30 -30
- package/dist-elements/tag/date-range.js +37 -37
- package/dist-elements/tag/description-list.js +29 -32
- package/dist-elements/tag/dialog.d.ts +1 -0
- package/dist-elements/tag/dialog.js +144 -0
- package/dist-elements/tag/document-viewer.js +23 -23
- package/dist-elements/tag/drawer.js +28 -32
- package/dist-elements/tag/empty-state.js +19 -30
- package/dist-elements/tag/error-page.d.ts +1 -0
- package/dist-elements/tag/error-page.js +109 -0
- package/dist-elements/tag/error-summary.js +10 -10
- package/dist-elements/tag/expander.js +8 -8
- package/dist-elements/tag/explainer.js +11 -11
- package/dist-elements/tag/field.js +5 -5
- package/dist-elements/tag/file-upload.js +34 -34
- package/dist-elements/tag/filter-bar.js +56 -56
- package/dist-elements/tag/filter-sheet.js +11 -11
- package/dist-elements/tag/filter-zone.js +31 -31
- package/dist-elements/tag/footer.js +21 -21
- package/dist-elements/tag/form-actions.js +29 -25
- package/dist-elements/tag/form-section.js +6 -6
- package/dist-elements/tag/form.js +12 -12
- package/dist-elements/tag/gallery.js +14 -14
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +12 -12
- package/dist-elements/tag/highlight.js +5 -5
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +22 -44
- package/dist-elements/tag/kpi-row.js +12 -10
- package/dist-elements/tag/kpi.js +146 -137
- package/dist-elements/tag/level-meter.js +11 -11
- package/dist-elements/tag/list.js +55 -55
- package/dist-elements/tag/logo.js +30 -30
- package/dist-elements/tag/map.js +690 -665
- package/dist-elements/tag/menu-button.js +70 -69
- package/dist-elements/tag/modal.js +28 -37
- package/dist-elements/tag/multiselect.js +34 -34
- package/dist-elements/tag/note.js +5 -5
- package/dist-elements/tag/notifications.js +36 -36
- package/dist-elements/tag/number-input.js +12 -12
- package/dist-elements/tag/page-header.js +140 -37
- package/dist-elements/tag/pagination.js +53 -48
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +6 -6
- package/dist-elements/tag/qr-code.js +7 -7
- package/dist-elements/tag/radio-group.js +12 -12
- package/dist-elements/tag/range.js +22 -22
- package/dist-elements/tag/recording-status.js +14 -14
- package/dist-elements/tag/repeater.js +10 -10
- package/dist-elements/tag/segmented.js +13 -13
- package/dist-elements/tag/select.js +10 -10
- package/dist-elements/tag/shell.js +356 -339
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +14 -14
- package/dist-elements/tag/sortable-list.js +14 -14
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +12 -12
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +21 -21
- package/dist-elements/tag/streaming-text.js +13 -13
- package/dist-elements/tag/sub-nav.js +39 -38
- package/dist-elements/tag/tabs.js +38 -38
- package/dist-elements/tag/tag-input.js +19 -19
- package/dist-elements/tag/text-editor.js +24 -24
- package/dist-elements/tag/text-input.js +14 -14
- package/dist-elements/tag/textarea.js +14 -14
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +19 -19
- package/dist-elements/tag/toast.js +32 -23
- package/dist-elements/tag/toggle.js +8 -8
- package/dist-elements/tag/toggletip.js +27 -27
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +48 -48
- package/dist-elements/tag/translator.js +13 -13
- package/dist-elements/tag/tree-view.js +13 -13
- package/dist-elements/tag/user-menu.js +37 -37
- package/dist-elements/tag/video-player.js +21 -21
- package/dist-elements/tokens.css +120 -96
- package/dist-elements/types/bundle/feedback.d.ts +1 -0
- package/dist-elements/types/bundle/frame.d.ts +0 -2
- package/dist-elements/types/bundle/inputs.d.ts +1 -0
- package/dist-elements/types/bundle/overlays.d.ts +1 -1
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +6 -7
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +13 -15
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +9 -9
- package/dist-elements/types/components/charts/chart/chart.d.ts +5 -4
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +16 -8
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -7
- package/dist-elements/types/components/charts/note/note.d.ts +1 -1
- package/dist-elements/types/components/chat/chat/chat.d.ts +8 -10
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +7 -8
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +8 -10
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +6 -7
- package/dist-elements/types/components/chat/chat-strip/chat-strip.d.ts +5 -5
- package/dist-elements/types/components/chat/chat-suggestions/chat-suggestions.d.ts +9 -10
- package/dist-elements/types/components/content/audio-player/audio-player.d.ts +10 -12
- package/dist-elements/types/components/content/code/code.d.ts +2 -3
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +8 -9
- package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
- package/dist-elements/types/components/content/highlight/highlight.d.ts +4 -3
- package/dist-elements/types/components/content/prose/prose.d.ts +2 -3
- package/dist-elements/types/components/content/transcript/transcript.d.ts +12 -25
- package/dist-elements/types/components/content/translator/translator.d.ts +11 -15
- package/dist-elements/types/components/content/video-player/video-player.d.ts +11 -13
- package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +3 -7
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +3 -4
- package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +5 -8
- package/dist-elements/types/components/feedback/error-page/error-page.d.ts +52 -0
- package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -12
- package/dist-elements/types/components/feedback/level-meter/level-meter.d.ts +4 -6
- package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +10 -7
- package/dist-elements/types/components/feedback/toast/toast.d.ts +8 -9
- package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +9 -4
- package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +5 -5
- package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +4 -4
- package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +5 -6
- package/dist-elements/types/components/forms/form/form.d.ts +5 -5
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +9 -7
- package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +13 -7
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +5 -4
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +6 -7
- package/dist-elements/types/components/frame/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist-elements/types/components/frame/footer/footer.d.ts +3 -2
- package/dist-elements/types/components/frame/hero/hero.d.ts +7 -9
- package/dist-elements/types/components/frame/notifications/notifications.d.ts +5 -9
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +12 -15
- package/dist-elements/types/components/frame/shell/shell.d.ts +14 -13
- package/dist-elements/types/components/frame/sub-nav/sub-nav.d.ts +10 -6
- package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +11 -10
- package/dist-elements/types/components/index.d.ts +8 -9
- package/dist-elements/types/components/inputs/checkbox/checkbox.d.ts +4 -4
- package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +33 -0
- package/dist-elements/types/components/inputs/combobox/combobox.d.ts +12 -6
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +5 -5
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +11 -6
- package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +6 -8
- package/dist-elements/types/components/inputs/multiselect/multiselect.d.ts +4 -6
- package/dist-elements/types/components/inputs/number-input/number-input.d.ts +8 -7
- package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +2 -4
- package/dist-elements/types/components/inputs/range/range.d.ts +5 -6
- package/dist-elements/types/components/inputs/segmented/segmented.d.ts +7 -4
- package/dist-elements/types/components/inputs/select/select.d.ts +6 -3
- package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +6 -5
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +7 -5
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +6 -6
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +11 -6
- package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +7 -8
- package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +9 -10
- package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +11 -9
- package/dist-elements/types/components/map/map/map.d.ts +10 -9
- package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
- package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
- package/dist-elements/types/components/overlays/modal/modal.d.ts +7 -12
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +3 -7
- package/dist-elements/types/components/shared/charts/index.d.ts +4 -1
- package/dist-elements/types/components/shared/charts/kinds.d.ts +86 -0
- package/dist-elements/types/components/shared/charts/line-chart/line-chart.d.ts +2 -2
- package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +5 -0
- package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +7 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +29 -0
- package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
- package/dist-elements/types/components/shared/dialog.d.ts +9 -0
- package/dist-elements/types/components/shared/overflow.d.ts +58 -0
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +2 -3
- package/dist-elements/types/components/tables/card/card.d.ts +14 -20
- package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +85 -16
- package/dist-elements/types/components/tables/data-table/filters.d.ts +13 -4
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +12 -11
- package/dist-elements/types/components/tables/list/list.d.ts +9 -20
- package/dist-elements/types/components/tables/pagination/pagination.d.ts +12 -11
- package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +5 -6
- package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +4 -4
- package/dist-elements/types/core/media.d.ts +2 -2
- package/dist-elements/types/core/motion.d.ts +5 -0
- package/dist-elements/types/core/print.d.ts +15 -0
- package/dist-elements/types/core/shortcuts.d.ts +2 -2
- package/dist-elements/types/icons/icon/icon.d.ts +2 -3
- package/dist-elements/types/icons/register.d.ts +1 -1
- package/dist-elements/types/primitives/badge/badge.d.ts +9 -5
- package/dist-elements/types/primitives/button/button.d.ts +12 -9
- package/dist-elements/types/primitives/grid/grid.d.ts +3 -3
- package/dist-elements/types/primitives/grid-item/grid-item.d.ts +1 -1
- package/dist-elements/types/primitives/icon-button/icon-button.d.ts +7 -5
- package/dist-elements/types/primitives/index.d.ts +3 -1
- package/dist-elements/types/primitives/popover/popover.d.ts +5 -4
- package/dist-elements/types/primitives/progress-bar/progress-bar.d.ts +8 -6
- package/dist-elements/types/primitives/shared/announcement-block.d.ts +38 -0
- package/dist-elements/types/primitives/shared/empty-state-block.d.ts +26 -0
- package/dist-elements/types/primitives/shared/tone.d.ts +18 -0
- package/dist-elements/types/primitives/skeleton/skeleton.d.ts +1 -1
- package/dist-elements/types/primitives/spinner/spinner.d.ts +1 -2
- package/dist-elements/types/primitives/status-dot/status-dot.d.ts +4 -5
- package/dist-elements/types/primitives/tile/tile.d.ts +17 -5
- package/dist-elements/types/primitives/tooltip/tooltip.d.ts +6 -6
- package/dist-elements/types/types.d.ts +70 -10
- package/dist-icons/functioneel-kolommen.svg +1 -0
- package/dist-icons/functioneel-trechter.svg +1 -0
- package/package.json +1 -1
- package/dist-elements/chunks/confirm-dialog-D5EVGuil.js +0 -4
- package/dist-elements/chunks/download-y528pIHP.js +0 -230
- package/dist-elements/chunks/input-BtuNFSWk.js +0 -195
- package/dist-elements/tag/confirm-dialog.d.ts +0 -1
- package/dist-elements/tag/confirm-dialog.js +0 -118
- package/dist-elements/tag/session-expiry.d.ts +0 -1
- package/dist-elements/tag/session-expiry.js +0 -184
- package/dist-elements/tag/shortcuts.d.ts +0 -1
- package/dist-elements/tag/shortcuts.js +0 -104
- package/dist-elements/types/components/frame/session-expiry/session-expiry.d.ts +0 -55
- package/dist-elements/types/components/frame/shortcuts/shortcuts.d.ts +0 -41
- package/dist-elements/types/components/overlays/confirm-dialog/confirm-dialog.d.ts +0 -41
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as o, t as s } from "../chunks/input-
|
|
1
|
+
import { Yt as e, Zt as t, bt as n, en as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { r as o, t as s } from "../chunks/input-CRW_exv_.js";
|
|
3
3
|
//#region src/components/inputs/range/range-ticks.ts
|
|
4
4
|
var c = [
|
|
5
5
|
1,
|
|
@@ -52,7 +52,7 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
52
52
|
super(...e), this.from = 0, this.to = 0, this.value = null, this.single = !1, this.stacked = !1, this.draft = null, this.draftPair = null, this.trackWidth = 0;
|
|
53
53
|
}
|
|
54
54
|
static {
|
|
55
|
-
this.styles = [
|
|
55
|
+
this.styles = [t(s), t(p)];
|
|
56
56
|
}
|
|
57
57
|
static {
|
|
58
58
|
this.properties = {
|
|
@@ -161,28 +161,28 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
161
161
|
aria-valuemax=${(this.steps ?? [])[e] ?? 0}
|
|
162
162
|
aria-valuenow=${(this.steps ?? [])[this.index] ?? 0}
|
|
163
163
|
aria-valuetext=${this.valueText}
|
|
164
|
-
aria-invalid=${this.error ? "true" :
|
|
164
|
+
aria-invalid=${this.error ? "true" : r}
|
|
165
165
|
@keydown=${this.key}
|
|
166
166
|
@input=${(e) => {
|
|
167
167
|
this.draft = Number(e.target.value);
|
|
168
168
|
}}
|
|
169
169
|
@change=${(e) => this.commitStep(Number(e.target.value))}
|
|
170
170
|
/>`;
|
|
171
|
-
let [
|
|
171
|
+
let [t, n] = this.pair;
|
|
172
172
|
return i`<input
|
|
173
173
|
type="range"
|
|
174
|
-
class=${
|
|
174
|
+
class=${a({
|
|
175
175
|
"lintje-range__input": !0,
|
|
176
|
-
"is-raised":
|
|
176
|
+
"is-raised": t === n && n === e
|
|
177
177
|
})}
|
|
178
178
|
min="0"
|
|
179
179
|
max=${e}
|
|
180
|
-
.value=${String(
|
|
180
|
+
.value=${String(t)}
|
|
181
181
|
?disabled=${this.disabled}
|
|
182
182
|
aria-label="${this.label} van${this.labelSuffixText}"
|
|
183
|
-
aria-valuetext=${this.stepText(
|
|
183
|
+
aria-valuetext=${this.stepText(t)}
|
|
184
184
|
aria-describedby=${this.describedBy}
|
|
185
|
-
aria-invalid=${this.error ? "true" :
|
|
185
|
+
aria-invalid=${this.error ? "true" : r}
|
|
186
186
|
@input=${(e) => this.moveHandle("from", e)}
|
|
187
187
|
@change=${(e) => this.commitRange(...this.moveHandle("from", e))}
|
|
188
188
|
/>
|
|
@@ -191,18 +191,18 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
191
191
|
class="lintje-range__input"
|
|
192
192
|
min="0"
|
|
193
193
|
max=${e}
|
|
194
|
-
.value=${String(
|
|
194
|
+
.value=${String(n)}
|
|
195
195
|
?disabled=${this.disabled}
|
|
196
196
|
aria-label="${this.label} tot en met${this.labelSuffixText}"
|
|
197
|
-
aria-valuetext=${this.stepText(
|
|
197
|
+
aria-valuetext=${this.stepText(n)}
|
|
198
198
|
aria-describedby=${this.describedBy}
|
|
199
|
-
aria-invalid=${this.error ? "true" :
|
|
199
|
+
aria-invalid=${this.error ? "true" : r}
|
|
200
200
|
@input=${(e) => this.moveHandle("to", e)}
|
|
201
201
|
@change=${(e) => this.commitRange(...this.moveHandle("to", e))}
|
|
202
202
|
/>`;
|
|
203
203
|
}
|
|
204
204
|
render() {
|
|
205
|
-
let e = this.steps ?? [],
|
|
205
|
+
let e = this.steps ?? [], t = this.lastIndex, o = e.reduce((e, t) => Math.max(e, String(t).length), 1), s = f({
|
|
206
206
|
count: e.length,
|
|
207
207
|
width: this.trackWidth,
|
|
208
208
|
labelWidth: o * m
|
|
@@ -210,7 +210,7 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
210
210
|
left: "0",
|
|
211
211
|
right: null,
|
|
212
212
|
transform: "none"
|
|
213
|
-
} : e ===
|
|
213
|
+
} : e === t ? {
|
|
214
214
|
left: null,
|
|
215
215
|
right: "0",
|
|
216
216
|
transform: "none"
|
|
@@ -221,9 +221,9 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
221
221
|
}, u = this.single ? 0 : this.pair[0], d = this.single ? this.index : this.pair[1];
|
|
222
222
|
return i`<div class="lintje-field">
|
|
223
223
|
${this.renderLabel(void 0, i`<span class="lintje-field__value">${this.valueText}</span>`)}
|
|
224
|
-
${this.hideLabel ? i`<span class="lintje-range__values">${this.valueText}</span>` :
|
|
224
|
+
${this.hideLabel ? i`<span class="lintje-range__values">${this.valueText}</span>` : r}
|
|
225
225
|
<div
|
|
226
|
-
class=${
|
|
226
|
+
class=${a({
|
|
227
227
|
"lintje-range": !0,
|
|
228
228
|
"is-error": !!this.error
|
|
229
229
|
})}
|
|
@@ -232,7 +232,7 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
232
232
|
<span class="lintje-range__track"></span>
|
|
233
233
|
<span
|
|
234
234
|
class="lintje-range__fill"
|
|
235
|
-
${
|
|
235
|
+
${n({
|
|
236
236
|
left: `${this.percent(u)}%`,
|
|
237
237
|
right: `${100 - this.percent(d)}%`
|
|
238
238
|
})}
|
|
@@ -241,18 +241,18 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
|
|
|
241
241
|
</div>
|
|
242
242
|
<div class="lintje-range__scale" aria-hidden="true">
|
|
243
243
|
${s.marks.map((e) => i`<span
|
|
244
|
-
class=${
|
|
244
|
+
class=${a({
|
|
245
245
|
"lintje-range__mark": !0,
|
|
246
246
|
"is-labelled": c.has(e)
|
|
247
247
|
})}
|
|
248
|
-
${
|
|
248
|
+
${n({ left: `${this.percent(e)}%` })}
|
|
249
249
|
></span>`)}
|
|
250
250
|
${s.labels.map((t) => i`<span
|
|
251
|
-
class=${
|
|
251
|
+
class=${a({
|
|
252
252
|
"lintje-range__step": !0,
|
|
253
253
|
"is-active": this.single ? t === this.index : t >= u && t <= d
|
|
254
254
|
})}
|
|
255
|
-
${
|
|
255
|
+
${n(l(t))}
|
|
256
256
|
>${e[t]}</span
|
|
257
257
|
>`)}
|
|
258
258
|
</div>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { levelWord as o } from "./level-meter.js";
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
|
|
3
2
|
import "./description-list.js";
|
|
3
|
+
import { levelWord as o } from "./level-meter.js";
|
|
4
4
|
//#region src/components/feedback/recording-status/recording-status.css?inline
|
|
5
|
-
var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The cells are the description list's; what stands here is the connection's own meter. */\n.lintje-recording-status__connection { display: flex; align-items: center; gap: var(--space-3); font-weight: 400; }\n\n/* The connection: four rising steps, as many lit as it is strong. */\n.lintje-recording-status__signal {\n display: inline-flex;\n align-items: flex-end;\n gap: 3px;\n height: var(--space-6);\n}\n.lintje-recording-status__step {\n width: 5px;\n background: var(--color-border-default);\n}\n.lintje-recording-status__step:nth-child(1) { height: 30%; }\n.lintje-recording-status__step:nth-child(2) { height: 55%; }\n.lintje-recording-status__step:nth-child(3) { height: 78%; }\n.lintje-recording-status__step:nth-child(4) { height: 100%; }\n.is-good .lintje-recording-status__step.is-lit { background: var(--color-success); }\n.is-weak .lintje-recording-status__step.is-lit { background: var(--color-warning); }\n.lintje-recording-status__words { display: flex; flex-direction: column; line-height: 1.2; }\n.lintje-recording-status__sub { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* Forced colours drop the fills: the bars keep a border, the words carry the rest. */\n@media (forced-colors: active) {\n .lintje-recording-status__step.is-lit { background: CanvasText; }\n .lintje-recording-status__step { border: 1px solid CanvasText; }\n}\n", c = {
|
|
5
|
+
var s = "/* Its list measures its own width, so it takes the room it stands in, also in a hero's column. */\n:host { display: block; width: 100%; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The cells are the description list's; what stands here is the connection's own meter. */\n.lintje-recording-status__connection { display: flex; align-items: center; gap: var(--space-3); font-weight: 400; }\n\n/* The connection: four rising steps, as many lit as it is strong. */\n.lintje-recording-status__signal {\n display: inline-flex;\n align-items: flex-end;\n gap: 3px;\n height: var(--space-6);\n}\n.lintje-recording-status__step {\n width: 5px;\n background: var(--color-border-default);\n}\n.lintje-recording-status__step:nth-child(1) { height: 30%; }\n.lintje-recording-status__step:nth-child(2) { height: 55%; }\n.lintje-recording-status__step:nth-child(3) { height: 78%; }\n.lintje-recording-status__step:nth-child(4) { height: 100%; }\n.is-good .lintje-recording-status__step.is-lit { background: var(--color-success); }\n.is-weak .lintje-recording-status__step.is-lit { background: var(--color-warning); }\n.lintje-recording-status__words { display: flex; flex-direction: column; line-height: 1.2; }\n.lintje-recording-status__sub { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* Forced colours drop the fills: the bars keep a border, the words carry the rest. */\n@media (forced-colors: active) {\n .lintje-recording-status__step.is-lit { background: CanvasText; }\n .lintje-recording-status__step { border: 1px solid CanvasText; }\n}\n", c = {
|
|
6
6
|
good: "Goed",
|
|
7
7
|
weak: "Zwak",
|
|
8
8
|
lost: "Verbroken"
|
|
@@ -15,7 +15,7 @@ function u(e) {
|
|
|
15
15
|
let t = Math.max(0, Math.floor(e)), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = String(t % 60).padStart(2, "0");
|
|
16
16
|
return n ? `${n}:${String(r).padStart(2, "0")}:${i}` : `${r}:${i}`;
|
|
17
17
|
}
|
|
18
|
-
var d = class extends
|
|
18
|
+
var d = class extends e {
|
|
19
19
|
static {
|
|
20
20
|
this.styles = n(s);
|
|
21
21
|
}
|
|
@@ -28,12 +28,12 @@ var d = class extends a {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
renderLevel() {
|
|
31
|
-
return this.level == null ?
|
|
31
|
+
return this.level == null ? r : i`<lintje-level-meter slot="level" .level=${this.level}></lintje-level-meter>`;
|
|
32
32
|
}
|
|
33
33
|
renderConnection(e) {
|
|
34
|
-
let
|
|
34
|
+
let t = l[e], n = e === "lost" ? "Wacht op verbinding" : this.delay == null ? "" : `${this.delay} ${this.delay === 1 ? "seconde" : "seconden"} achter`;
|
|
35
35
|
return i`<span slot="connection" class="lintje-recording-status__connection"><span
|
|
36
|
-
class=${
|
|
36
|
+
class=${a({
|
|
37
37
|
"lintje-recording-status__signal": !0,
|
|
38
38
|
[`is-${e}`]: !0
|
|
39
39
|
})}
|
|
@@ -45,19 +45,19 @@ var d = class extends a {
|
|
|
45
45
|
3,
|
|
46
46
|
4
|
|
47
47
|
].map((e) => i`<span
|
|
48
|
-
class=${
|
|
48
|
+
class=${a({
|
|
49
49
|
"lintje-recording-status__step": !0,
|
|
50
|
-
"is-lit": e <=
|
|
50
|
+
"is-lit": e <= t
|
|
51
51
|
})}
|
|
52
52
|
></span>`)}
|
|
53
53
|
</span>
|
|
54
54
|
<span class="lintje-recording-status__words">
|
|
55
55
|
<strong>${c[e]}</strong>
|
|
56
|
-
${
|
|
56
|
+
${n ? i`<span class="lintje-recording-status__sub">${n}</span>` : r}
|
|
57
57
|
</span></span>`;
|
|
58
58
|
}
|
|
59
59
|
render() {
|
|
60
|
-
let e = this.connection,
|
|
60
|
+
let e = this.connection, t = [
|
|
61
61
|
{
|
|
62
62
|
label: "Looptijd",
|
|
63
63
|
icon: "functioneel-klok",
|
|
@@ -77,11 +77,11 @@ var d = class extends a {
|
|
|
77
77
|
slot: "connection"
|
|
78
78
|
}] : []
|
|
79
79
|
];
|
|
80
|
-
return i`<lintje-description-list layout="grid" surface .columns=${
|
|
81
|
-
${this.renderLevel()} ${e ? this.renderConnection(e) :
|
|
80
|
+
return i`<lintje-description-list layout="grid" surface .columns=${t.length} .items=${t}>
|
|
81
|
+
${this.renderLevel()} ${e ? this.renderConnection(e) : r}
|
|
82
82
|
</lintje-description-list>`;
|
|
83
83
|
}
|
|
84
84
|
};
|
|
85
|
-
|
|
85
|
+
t("lintje-recording-status", d);
|
|
86
86
|
//#endregion
|
|
87
87
|
export { d as LintjeRecordingStatus, u as clockOf, o as levelWord };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Jt as e, Yt as t, Zt as n, en as r, nn as i } from "../chunks/base-CbmWxUig.js";
|
|
2
2
|
//#region src/components/forms/repeater/repeater.css?inline
|
|
3
|
-
var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-repeater {\n min-width: 0;\n margin: 0; padding: 0; border: 0;\n}\n/* The legend stands above its rows as a field's label does above its control; the gap lives in\n the body, because browsers differ on whether a legend takes part in a fieldset's flex gap. */\n.lintje-repeater__legend {\n padding: 0 0 6px;\n font-size: 0.875rem; font-weight: 700;\n color: var(--color-text-primary);\n}\n.lintje-repeater__body { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n:host([disabled]) .lintje-repeater__legend { color: var(--color-text-disabled); }\n.lintje-repeater__rows { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n.lintje-repeater__foot {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-repeater__count { font: var(--text-meta); color: var(--color-text-muted); }\n\n@media (max-width: 767px) {\n .lintje-repeater__rows { gap: var(--space-5); }\n}\n", o = "/* One row of a repeater: the host's fields side by side, then the remove icon button. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n@media (max-width: 767px) {\n :host(:not([index='0'])) {\n padding-top: var(--space-5);\n border-top: 1px solid var(--color-border-default);\n }\n}\n\n/* --- */\n\n/* The button aligns with the controls' bottom edge when a field carries its label above it. */\n.lintje-repeater-row { display: flex; align-items: flex-end; gap: var(--space-2); min-width: 0; }\n.lintje-repeater-row__fields { flex: 1; min-width: 0; display: flex; gap: var(--space-2); }\n.lintje-repeater-row__fields ::slotted(*) { flex: 1 1 0; min-width: 0; }\n/* A square as high as the controls beside it. */\n.lintje-repeater-row__remove { flex: none; --h-icon-button: var(--h-control); }\n\n/* Below 768 px the fields stack and the remove button stands beside the first. */\n@media (max-width: 767px) {\n .lintje-repeater-row { align-items: flex-start; }\n .lintje-repeater-row__fields { flex-direction: column; }\n}\n", s = "input, select, textarea, button, [contenteditable=\"true\"], [tabindex]";
|
|
3
|
+
var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-repeater {\n min-width: 0;\n margin: 0; padding: 0; border: 0;\n}\n/* The legend stands above its rows as a field's label does above its control; the gap lives in\n the body, because browsers differ on whether a legend takes part in a fieldset's flex gap. */\n.lintje-repeater__legend {\n padding: 0 0 6px;\n font-size: 0.875rem; font-weight: 700;\n color: var(--color-text-primary);\n}\n.lintje-repeater__body { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n:host([disabled]) .lintje-repeater__legend { color: var(--color-text-disabled); }\n.lintje-repeater__rows { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n.lintje-repeater__foot {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-repeater__count { font: var(--text-meta); color: var(--color-text-muted); }\n\n@media screen and (max-width: 767px) {\n .lintje-repeater__rows { gap: var(--space-5); }\n}\n", o = "/* One row of a repeater: the host's fields side by side, then the remove icon button. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n@media screen and (max-width: 767px) {\n :host(:not([index='0'])) {\n padding-top: var(--space-5);\n border-top: 1px solid var(--color-border-default);\n }\n}\n\n/* --- */\n\n/* The button aligns with the controls' bottom edge when a field carries its label above it. */\n.lintje-repeater-row { display: flex; align-items: flex-end; gap: var(--space-2); min-width: 0; }\n.lintje-repeater-row__fields { flex: 1; min-width: 0; display: flex; gap: var(--space-2); }\n.lintje-repeater-row__fields ::slotted(*) { flex: 1 1 0; min-width: 0; }\n/* A square as high as the controls beside it. */\n.lintje-repeater-row__remove { flex: none; --h-icon-button: var(--h-control); }\n\n/* Below 768 px the fields stack and the remove button stands beside the first. */\n@media screen and (max-width: 767px) {\n .lintje-repeater-row { align-items: flex-start; }\n .lintje-repeater-row__fields { flex-direction: column; }\n}\n", s = "input, select, textarea, button, [contenteditable=\"true\"], [tabindex]";
|
|
4
4
|
function c(e) {
|
|
5
5
|
let t = e;
|
|
6
6
|
if (t.matches(s) && !t.matches(":disabled") && t.getAttribute("tabindex") !== "-1") return t;
|
|
@@ -10,7 +10,7 @@ function c(e) {
|
|
|
10
10
|
}
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
13
|
-
var l = class extends
|
|
13
|
+
var l = class extends e {
|
|
14
14
|
constructor(...e) {
|
|
15
15
|
super(...e), this.index = 0, this.label = "", this.removable = !0, this.disabled = !1;
|
|
16
16
|
}
|
|
@@ -39,7 +39,7 @@ var l = class extends i {
|
|
|
39
39
|
this.removable && !this.disabled && this.emit("lintje-row-remove", this.index);
|
|
40
40
|
}
|
|
41
41
|
render() {
|
|
42
|
-
return
|
|
42
|
+
return i`<div class="lintje-repeater-row" role="group" aria-label=${this.label || r}>
|
|
43
43
|
<div class="lintje-repeater-row__fields"><slot></slot></div>
|
|
44
44
|
<lintje-icon-button
|
|
45
45
|
class="lintje-repeater-row__remove"
|
|
@@ -51,7 +51,7 @@ var l = class extends i {
|
|
|
51
51
|
></lintje-icon-button>
|
|
52
52
|
</div>`;
|
|
53
53
|
}
|
|
54
|
-
}, u = class extends
|
|
54
|
+
}, u = class extends e {
|
|
55
55
|
constructor(...e) {
|
|
56
56
|
super(...e), this.legend = "", this.itemLabel = "", this.min = 0, this.disabled = !1, this.count = 0, this.spoken = "", this.pending = null, this.onRowRemove = (e) => {
|
|
57
57
|
let t = e.detail;
|
|
@@ -119,8 +119,8 @@ var l = class extends i {
|
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
async afterRows(
|
|
123
|
-
await this.updateComplete,
|
|
122
|
+
async afterRows(t) {
|
|
123
|
+
await this.updateComplete, t instanceof e && await t.updateComplete, await new Promise((e) => requestAnimationFrame(e));
|
|
124
124
|
}
|
|
125
125
|
focusAdd() {
|
|
126
126
|
let e = this.renderRoot.querySelector("lintje-button");
|
|
@@ -134,7 +134,7 @@ var l = class extends i {
|
|
|
134
134
|
}
|
|
135
135
|
render() {
|
|
136
136
|
let e = this.addLabel ?? (this.itemLabel ? `${this.itemLabel} toevoegen` : "Rij toevoegen");
|
|
137
|
-
return
|
|
137
|
+
return i`<fieldset class="lintje-repeater" ?disabled=${this.disabled}>
|
|
138
138
|
<legend class="lintje-repeater__legend">${this.legend}</legend>
|
|
139
139
|
<div class="lintje-repeater__body">
|
|
140
140
|
<div class="lintje-repeater__rows"><slot @slotchange=${this.sync}></slot></div>
|
|
@@ -146,13 +146,13 @@ var l = class extends i {
|
|
|
146
146
|
@click=${this.add}
|
|
147
147
|
>${e}</lintje-button
|
|
148
148
|
>
|
|
149
|
-
${this.max == null ?
|
|
149
|
+
${this.max == null ? r : i`<span class="lintje-repeater__count">${this.count} van hoogstens ${this.max}</span>`}
|
|
150
150
|
</div>
|
|
151
151
|
</div>
|
|
152
152
|
<span class="visually-hidden" aria-live="polite">${this.spoken}</span>
|
|
153
153
|
</fieldset>`;
|
|
154
154
|
}
|
|
155
155
|
};
|
|
156
|
-
|
|
156
|
+
t("lintje-repeater-row", l), t("lintje-repeater", u);
|
|
157
157
|
//#endregion
|
|
158
158
|
export { u as LintjeRepeater, l as LintjeRepeaterRow, c as firstFocusable };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as a, t as o } from "../chunks/input-
|
|
1
|
+
import { Yt as e, Zt as t, en as n, nn as r, st as i } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { r as a, t as o } from "../chunks/input-CRW_exv_.js";
|
|
3
3
|
//#region src/components/inputs/segmented/segmented.css?inline
|
|
4
|
-
var s = "/* The segmented control keeps `min-width: auto`: it never shrinks below its options. */\n:host { display: block; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame hugs its options: a wider host leaves its room outside the border, not in it. It\n never grows past its room, so the element can read that room off the frame. */\n.lintje-segmented {\n display: flex;\n width: fit-content;\n max-width: 100%;\n height: var(--h-control);\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n}\n.lintje-segmented.is-error { border: 2px solid var(--color-error); }\n/* Disabled keeps the quiet border, also over an error. */\n:host([disabled]) .lintje-segmented { border: 1px solid var(--color-border-strong); }\n.lintje-segmented__option {\n display: flex; align-items: center;\n padding: 0 var(--space-3);\n font-size: 1rem;\n color: var(--color-text-primary);\n white-space: nowrap;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-segmented__option:hover:not(.is-active) { background: var(--color-bg-subtle); }\n.lintje-segmented__option:disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-segmented__option:disabled:hover { background: var(--color-bg-subtle); }\n/* Chosen is quiet, not filled: a filled surface is the page's one primary action. The edge is a\n ring half inside, half over the frame, so it covers the frame's line instead of standing in it;\n a real border would push the neighbouring segments over. */\n.lintje-segmented__option.is-active {\n position: relative;\n z-index: 1;\n background: var(--color-choice-active-bg);\n color: var(--color-accent-text);\n box-shadow: 0 0 0 1px var(--color-accent-line), inset 0 0 0 1px var(--color-accent-line);\n font-weight: 700;\n}\n.lintje-segmented__option:disabled.is-active {\n background: var(--color-border-strong);\n color: var(--color-text-disabled);\n box-shadow: none;\n}\n\n.lintje-segmented__description {\n margin: var(--space-2) 0 0;\n padding: var(--space-2) var(--space-3);\n background: var(--color-bg-subtle);\n font: var(--text-small);\n color: var(--color-text-primary);\n}\n\n/* The bar cannot reach into the shadow root, so the control carries the bar's breakpoints. */\n@media (min-width: 1024px) and (max-width: 1439px) {\n :host(:not([stacked])) .lintje-segmented__option { padding: 0 10px; }\n}\n@media (min-width: 768px) and (max-width: 1023px) {\n :host { width: 100%; }\n .lintje-segmented { width: 100%; }\n .lintje-segmented__option { flex: 1; justify-content: center; }\n}\n:host([stacked]) .lintje-segmented { width: 100%; }\n:host([stacked]) .lintje-segmented__option { flex: 1; justify-content: center; }\n\n/* A row wider than its room: the options stand under each other, each the full width. */\n.lintje-segmented.is-column { flex-direction: column; width: 100%; height: auto; }\n.lintje-segmented.is-column .lintje-segmented__option { min-height: var(--h-touch); }\n\n/* Forced colours drop the fill and ring: every segment has a 1 px border, so nothing moves. */\n@media (forced-colors: active) {\n .lintje-segmented__option { border: 1px solid Canvas; }\n .lintje-segmented__option.is-active { border-color: Highlight; }\n :host([disabled]) .lintje-segmented__option.is-active { border-color: GrayText; }\n}\n", c = "lintje-segmented-description", l = class extends a {
|
|
4
|
+
var s = "/* The segmented control keeps `min-width: auto`: it never shrinks below its options. */\n:host { display: block; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame hugs its options: a wider host leaves its room outside the border, not in it. It\n never grows past its room, so the element can read that room off the frame. */\n.lintje-segmented {\n display: flex;\n width: fit-content;\n max-width: 100%;\n height: var(--h-control);\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n}\n.lintje-segmented.is-error { border: 2px solid var(--color-error); }\n/* Disabled keeps the quiet border, also over an error. */\n:host([disabled]) .lintje-segmented { border: 1px solid var(--color-border-strong); }\n.lintje-segmented__option {\n display: flex; align-items: center; gap: var(--space-2);\n padding: 0 var(--space-3);\n font-size: 1rem;\n color: var(--color-text-primary);\n white-space: nowrap;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-segmented__option:hover:not(.is-active) { background: var(--color-bg-subtle); }\n.lintje-segmented__option:disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-segmented__option:disabled:hover { background: var(--color-bg-subtle); }\n/* Chosen is quiet, not filled: a filled surface is the page's one primary action. The edge is a\n ring half inside, half over the frame, so it covers the frame's line instead of standing in it;\n a real border would push the neighbouring segments over. */\n.lintje-segmented__option.is-active {\n position: relative;\n z-index: 1;\n background: var(--color-choice-active-bg);\n color: var(--color-accent-text);\n box-shadow: 0 0 0 1px var(--color-accent-line), inset 0 0 0 1px var(--color-accent-line);\n font-weight: 700;\n}\n.lintje-segmented__option:disabled.is-active {\n background: var(--color-border-strong);\n color: var(--color-text-disabled);\n box-shadow: none;\n}\n\n.lintje-segmented__description {\n margin: var(--space-2) 0 0;\n padding: var(--space-2) var(--space-3);\n background: var(--color-bg-subtle);\n font: var(--text-small);\n color: var(--color-text-primary);\n}\n\n/* The bar cannot reach into the shadow root, so the control carries the bar's breakpoints. */\n@media (min-width: 1024px) and (max-width: 1439px) {\n :host(:not([stacked])) .lintje-segmented__option { padding: 0 10px; }\n}\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n :host { width: 100%; }\n .lintje-segmented { width: 100%; }\n .lintje-segmented__option { flex: 1; justify-content: center; }\n}\n:host([stacked]) .lintje-segmented { width: 100%; }\n:host([stacked]) .lintje-segmented__option { flex: 1; justify-content: center; }\n\n/* A row wider than its room: the options stand under each other, each the full width. */\n.lintje-segmented.is-column { flex-direction: column; width: 100%; height: auto; }\n.lintje-segmented.is-column .lintje-segmented__option { min-height: var(--h-touch); }\n\n/* Forced colours drop the fill and ring: every segment has a 1 px border, so nothing moves. */\n@media (forced-colors: active) {\n .lintje-segmented__option { border: 1px solid Canvas; }\n .lintje-segmented__option.is-active { border-color: Highlight; }\n :host([disabled]) .lintje-segmented__option.is-active { border-color: GrayText; }\n}\n", c = "lintje-segmented-description", l = class extends a {
|
|
5
5
|
constructor(...e) {
|
|
6
6
|
super(...e), this.value = "", this.bold = !1, this.stacked = !1, this.column = !1, this.#e = 0, this.#t = null;
|
|
7
7
|
}
|
|
8
8
|
static {
|
|
9
|
-
this.styles = [
|
|
9
|
+
this.styles = [t(s), t(o)];
|
|
10
10
|
}
|
|
11
11
|
static {
|
|
12
12
|
this.properties = {
|
|
@@ -45,23 +45,23 @@ var s = "/* The segmented control keeps `min-width: auto`: it never shrinks belo
|
|
|
45
45
|
this.value = e, this.commit(e);
|
|
46
46
|
}
|
|
47
47
|
render() {
|
|
48
|
-
let e = (this.options ?? []).find((e) => e.value === this.value)?.description,
|
|
49
|
-
return
|
|
48
|
+
let e = (this.options ?? []).find((e) => e.value === this.value)?.description, t = [e ? c : "", this.describedBy === n ? "" : this.describedBy].filter(Boolean).join(" ");
|
|
49
|
+
return r`<div class="lintje-field">
|
|
50
50
|
${this.renderLabel()}
|
|
51
51
|
<div
|
|
52
|
-
class=${
|
|
52
|
+
class=${i({
|
|
53
53
|
"lintje-segmented": !0,
|
|
54
54
|
"is-column": this.column,
|
|
55
55
|
"is-error": !!this.error
|
|
56
56
|
})}
|
|
57
57
|
role="group"
|
|
58
58
|
aria-labelledby=${this.labelId}
|
|
59
|
-
aria-describedby=${
|
|
60
|
-
aria-invalid=${this.error ? "true" :
|
|
59
|
+
aria-describedby=${t || n}
|
|
60
|
+
aria-invalid=${this.error ? "true" : n}
|
|
61
61
|
>
|
|
62
|
-
${(this.options ?? []).map((e) =>
|
|
62
|
+
${(this.options ?? []).map((e) => r`<button
|
|
63
63
|
type="button"
|
|
64
|
-
class=${
|
|
64
|
+
class=${i({
|
|
65
65
|
"lintje-segmented__option": !0,
|
|
66
66
|
"is-active": e.value === this.value,
|
|
67
67
|
"is-bold": this.bold && e.value === this.value
|
|
@@ -70,10 +70,10 @@ var s = "/* The segmented control keeps `min-width: auto`: it never shrinks belo
|
|
|
70
70
|
?disabled=${this.disabled}
|
|
71
71
|
@click=${() => this.choose(e.value)}
|
|
72
72
|
>
|
|
73
|
-
${e.label}
|
|
73
|
+
${e.label}${typeof e.count == "number" ? r`<lintje-badge variant="count">${e.count}</lintje-badge>` : n}
|
|
74
74
|
</button>`)}
|
|
75
75
|
</div>
|
|
76
|
-
${e ?
|
|
76
|
+
${e ? r`<p class="lintje-segmented__description" id=${c}>${e}</p>` : n}
|
|
77
77
|
${this.renderFoot()}
|
|
78
78
|
</div>`;
|
|
79
79
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as s, t as c } from "../chunks/input-
|
|
1
|
+
import { Yt as e, Zt as t, en as n, lt as r, nn as i, st as a, ut as o } from "../chunks/base-CbmWxUig.js";
|
|
2
|
+
import { r as s, t as c } from "../chunks/input-CRW_exv_.js";
|
|
3
3
|
//#region src/components/inputs/select/select.css?inline
|
|
4
4
|
var l = "/* The select. Its width is the host's, set from outside by tag. */\n:host { display: block; width: 180px; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-select { position: relative; display: flex; align-items: center; }\n.lintje-select__control {\n appearance: none;\n width: 100%;\n height: var(--h-control);\n padding: 0 34px 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n font-size: 1rem;\n color: var(--color-text-primary);\n border-radius: var(--radius);\n}\n.lintje-select__control.is-bold { font-weight: 700; }\n.lintje-select__control.is-error { border: 2px solid var(--color-error); }\n.lintje-select__control:disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-select__control:disabled { border: 1px solid var(--color-border-strong); }\n.lintje-select__icon { position: absolute; right: 12px; pointer-events: none; color: var(--color-text-primary); }\n", u = class extends s {
|
|
5
5
|
constructor(...e) {
|
|
@@ -7,9 +7,9 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
|
|
|
7
7
|
}
|
|
8
8
|
static {
|
|
9
9
|
this.styles = [
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
r,
|
|
11
|
+
t(l),
|
|
12
|
+
t(c)
|
|
13
13
|
];
|
|
14
14
|
}
|
|
15
15
|
static {
|
|
@@ -27,12 +27,12 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
|
|
|
27
27
|
this.value = e.target.value, this.commit(this.value);
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
|
-
return
|
|
30
|
+
return i`<div class="lintje-field">
|
|
31
31
|
${this.renderLabel(this.controlId)}
|
|
32
32
|
<div class="lintje-select">
|
|
33
33
|
<select
|
|
34
34
|
id=${this.controlId}
|
|
35
|
-
class=${
|
|
35
|
+
class=${a({
|
|
36
36
|
"lintje-select__control": !0,
|
|
37
37
|
"is-bold": this.bold,
|
|
38
38
|
"is-error": !!this.error
|
|
@@ -45,11 +45,11 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
|
|
|
45
45
|
.value=${this.value}
|
|
46
46
|
@change=${this.choose}
|
|
47
47
|
>
|
|
48
|
-
${(this.options ?? []).map((e) =>
|
|
48
|
+
${(this.options ?? []).map((e) => i`<option value=${e.value} ?selected=${e.value === this.value}>
|
|
49
49
|
${e.label}
|
|
50
50
|
</option>`)}
|
|
51
51
|
</select>
|
|
52
|
-
${
|
|
52
|
+
${o("functioneel-delta-omlaag", {
|
|
53
53
|
size: 16,
|
|
54
54
|
className: "lintje-select__icon"
|
|
55
55
|
})}
|
|
@@ -58,6 +58,6 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
|
|
|
58
58
|
</div>`;
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
|
-
|
|
61
|
+
e("lintje-select", u);
|
|
62
62
|
//#endregion
|
|
63
63
|
export { u as LintjeSelect };
|