lintje 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist-elements/actions.js +1 -1
- package/dist-elements/chunks/{base-Bg-IFOPG.js → base-DRGvkF-r.js} +484 -309
- package/dist-elements/chunks/{controls-B1455oPG.js → controls-_4ac1Lpz.js} +7 -1
- package/dist-elements/chunks/{date-format-mHtZyBys.js → date-format-DxP9yfDp.js} +1 -1
- package/dist-elements/chunks/dialog-B7aRBtjy.js +28 -0
- package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
- package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DirPLy2E.js} +6 -6
- package/dist-elements/chunks/download-C68kcwPj.js +206 -0
- package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-Dv8zu64A.js} +1 -1
- package/dist-elements/chunks/input-BGMLam-O.js +195 -0
- package/dist-elements/chunks/input-lQTmOMOz.js +4 -0
- package/dist-elements/chunks/{player-DXOZEyEy.js → player-BApadXr8.js} +27 -27
- package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-0wO85ZdJ.js} +3 -3
- package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BB_gcxBI.js} +88 -74
- package/dist-elements/content.js +1 -0
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +8858 -7715
- package/dist-elements/data-types.json +6900 -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 +10 -9
- package/dist-elements/guides/page-contents.md +110 -0
- package/dist-elements/guides/start.md +12 -0
- package/dist-elements/inputs.js +3 -1
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +8562 -7138
- 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.d.ts +1 -1
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +15 -15
- package/dist-elements/tag/button.d.ts +1 -1
- 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 +1357 -787
- 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 +60 -0
- package/dist-elements/tag/checkbox.js +9 -8
- package/dist-elements/tag/code.js +9 -9
- package/dist-elements/tag/combobox.js +19 -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 +880 -532
- package/dist-elements/tag/date-input.js +30 -29
- package/dist-elements/tag/date-range.js +39 -38
- 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 +35 -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/find.d.ts +1 -0
- package/dist-elements/tag/find.js +128 -0
- 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.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 +12 -12
- package/dist-elements/tag/highlight.js +5 -5
- 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 +22 -44
- package/dist-elements/tag/kpi-row.js +12 -10
- package/dist-elements/tag/kpi.js +149 -140
- 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 +702 -671
- package/dist-elements/tag/menu-button.js +70 -69
- package/dist-elements/tag/modal.js +28 -37
- package/dist-elements/tag/multiselect.js +35 -34
- package/dist-elements/tag/note.js +5 -5
- package/dist-elements/tag/notifications.js +36 -36
- package/dist-elements/tag/number-input.js +13 -12
- package/dist-elements/tag/page-header.js +140 -37
- package/dist-elements/tag/pagination.js +54 -49
- 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 +6 -6
- package/dist-elements/tag/qr-code.js +7 -7
- package/dist-elements/tag/radio-group.js +13 -12
- package/dist-elements/tag/range.js +23 -22
- package/dist-elements/tag/recording-status.js +14 -14
- package/dist-elements/tag/repeater.js +10 -10
- package/dist-elements/tag/segmented.js +14 -13
- package/dist-elements/tag/select.js +11 -10
- package/dist-elements/tag/shell.js +356 -339
- package/dist-elements/tag/skeleton.d.ts +1 -1
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +16 -15
- package/dist-elements/tag/sortable-list.js +14 -14
- package/dist-elements/tag/spinner.d.ts +1 -1
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +12 -12
- 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 +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 +20 -19
- package/dist-elements/tag/text-editor.js +25 -24
- package/dist-elements/tag/text-input.js +15 -14
- package/dist-elements/tag/textarea.js +15 -14
- package/dist-elements/tag/tile.d.ts +1 -1
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +20 -19
- package/dist-elements/tag/toast.js +32 -23
- package/dist-elements/tag/toggle.js +9 -8
- package/dist-elements/tag/toggletip.js +27 -27
- 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 +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/tokens.json +1244 -0
- package/dist-elements/types/bundle/actions.d.ts +3 -3
- package/dist-elements/types/bundle/content.d.ts +1 -0
- package/dist-elements/types/bundle/feedback.d.ts +6 -5
- package/dist-elements/types/bundle/frame.d.ts +0 -2
- package/dist-elements/types/bundle/index.d.ts +0 -10
- package/dist-elements/types/bundle/inputs.d.ts +2 -0
- package/dist-elements/types/bundle/layout.d.ts +3 -3
- package/dist-elements/types/bundle/overlays.d.ts +3 -3
- package/dist-elements/types/categories.d.ts +4 -0
- package/dist-elements/types/{primitives → components/actions}/button/button.d.ts +13 -10
- package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +8 -9
- package/dist-elements/types/{icons → components/actions}/icon/icon.d.ts +4 -5
- package/dist-elements/types/{primitives → components/actions}/icon-button/icon-button.d.ts +8 -6
- package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +16 -18
- package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +10 -10
- package/dist-elements/types/components/charts/chart/chart.d.ts +6 -5
- package/dist-elements/types/components/charts/explainer/explainer.d.ts +1 -1
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +19 -11
- package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +2 -8
- package/dist-elements/types/components/charts/note/note.d.ts +2 -2
- package/dist-elements/types/components/chat/chat/chat.d.ts +9 -11
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +10 -11
- package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +10 -12
- package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +7 -8
- 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 +15 -17
- package/dist-elements/types/components/content/code/code.d.ts +3 -4
- package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +10 -11
- package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
- package/dist-elements/types/components/content/highlight/highlight.d.ts +5 -4
- package/dist-elements/types/components/content/prose/prose.d.ts +3 -4
- package/dist-elements/types/components/content/token-value/token-value.d.ts +42 -0
- package/dist-elements/types/components/content/transcript/transcript.d.ts +15 -28
- package/dist-elements/types/components/content/translator/translator.d.ts +12 -16
- package/dist-elements/types/components/content/video-player/video-player.d.ts +12 -14
- package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
- package/dist-elements/types/components/feedback/announcement/announcement.d.ts +5 -9
- package/dist-elements/types/{primitives → components/feedback}/badge/badge.d.ts +10 -6
- package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +4 -5
- 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/{primitives → components/feedback}/progress-bar/progress-bar.d.ts +9 -7
- package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
- package/dist-elements/types/{primitives → components/feedback}/skeleton/skeleton.d.ts +2 -2
- package/dist-elements/types/{primitives → components/feedback}/spinner/spinner.d.ts +2 -3
- package/dist-elements/types/{primitives → components/feedback}/status-dot/status-dot.d.ts +5 -6
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +12 -9
- 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 +7 -7
- 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 +6 -7
- package/dist-elements/types/components/forms/form/form.d.ts +5 -5
- package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +10 -8
- package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +15 -9
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +6 -5
- package/dist-elements/types/components/frame/app-search/app-search.d.ts +7 -8
- 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 +7 -11
- package/dist-elements/types/components/frame/page-header/page-header.d.ts +13 -16
- package/dist-elements/types/components/frame/shell/shell.d.ts +15 -14
- 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 +13 -12
- package/dist-elements/types/components/index.d.ts +51 -12
- 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 +14 -8
- package/dist-elements/types/components/inputs/date-input/date-input.d.ts +6 -6
- package/dist-elements/types/components/inputs/date-range/date-range.d.ts +13 -8
- package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +8 -10
- package/dist-elements/types/components/inputs/find/find.d.ts +51 -0
- 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/shared/input.d.ts +1 -1
- 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 +8 -6
- package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +8 -8
- package/dist-elements/types/components/inputs/text-input/text-input.d.ts +12 -7
- package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +8 -9
- package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
- package/dist-elements/types/components/layout/expander/expander.d.ts +10 -11
- package/dist-elements/types/{primitives → components/layout}/grid/grid.d.ts +4 -4
- package/dist-elements/types/{primitives → components/layout}/grid-item/grid-item.d.ts +2 -2
- package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
- package/dist-elements/types/components/layout/tabs/tabs.d.ts +12 -10
- package/dist-elements/types/{primitives → components/layout}/tile/tile.d.ts +22 -10
- package/dist-elements/types/components/map/map/map.d.ts +12 -11
- package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
- package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
- package/dist-elements/types/components/overlays/modal/modal.d.ts +9 -14
- package/dist-elements/types/{primitives → components/overlays}/popover/popover.d.ts +7 -6
- package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +4 -8
- package/dist-elements/types/{primitives → components/overlays}/tooltip/tooltip.d.ts +8 -8
- package/dist-elements/types/components/shared/announcement-block.d.ts +38 -0
- package/dist-elements/types/components/shared/charts/index.d.ts +5 -1
- package/dist-elements/types/components/shared/charts/kinds.d.ts +92 -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/map-chart/map-chart.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/radar-chart/radar-chart.d.ts +31 -0
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +3 -1
- package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +12 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +62 -0
- package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -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/dialog.d.ts +9 -0
- package/dist-elements/types/components/shared/empty-state-block.d.ts +26 -0
- package/dist-elements/types/components/shared/overflow.d.ts +58 -0
- package/dist-elements/types/components/shared/tone.d.ts +18 -0
- package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +3 -4
- package/dist-elements/types/components/tables/card/card.d.ts +17 -23
- package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
- 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 +88 -19
- package/dist-elements/types/components/tables/data-table/editing.d.ts +1 -1
- package/dist-elements/types/components/tables/data-table/filters.d.ts +15 -6
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +13 -12
- package/dist-elements/types/components/tables/list/list.d.ts +13 -24
- 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 +5 -5
- package/dist-elements/types/core/focus.d.ts +1 -1
- 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/register.d.ts +1 -1
- 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
- package/dist-elements/types/primitives/index.d.ts +0 -33
- /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/components/{inputs/date-input → shared}/date-format.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/tag/map.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as
|
|
3
|
-
import { t as
|
|
4
|
-
import { a as
|
|
5
|
-
import { _ as
|
|
1
|
+
import { F as e, Kt as t, O as n, Yt as r, Zt as i, a, bt as o, d as s, en as c, h as l, in as u, l as d, lt as f, nn as p, o as m, q as h, rn as g, tn as _, ut as v, y } from "../chunks/base-DRGvkF-r.js";
|
|
2
|
+
import { n as ee, nextRow as te } from "./menu-button.js";
|
|
3
|
+
import { t as ne } from "./announcement.js";
|
|
4
|
+
import { a as re, c as ie, i as b, n as x, o as ae, s as S, t as oe } from "../chunks/download-C68kcwPj.js";
|
|
5
|
+
import { _ as C, d as se, l as w, m as ce, n as T, r as E, v as D } from "../chunks/stagger-BB_gcxBI.js";
|
|
6
6
|
//#region \0rolldown/runtime.js
|
|
7
|
-
var
|
|
8
|
-
if (t && typeof t == "object" || typeof t == "function") for (var i =
|
|
7
|
+
var O = Object.create, k = Object.defineProperty, A = Object.getOwnPropertyDescriptor, j = Object.getOwnPropertyNames, M = Object.getPrototypeOf, N = Object.prototype.hasOwnProperty, le = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), ue = (e, t, n, r) => {
|
|
8
|
+
if (t && typeof t == "object" || typeof t == "function") for (var i = j(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !N.call(e, s) && s !== n && k(e, s, {
|
|
9
9
|
get: ((e) => t[e]).bind(null, s),
|
|
10
|
-
enumerable: !(r =
|
|
10
|
+
enumerable: !(r = A(t, s)) || r.enumerable
|
|
11
11
|
});
|
|
12
12
|
return e;
|
|
13
|
-
},
|
|
13
|
+
}, P = /* @__PURE__ */ ((e, t, n) => (n = e == null ? {} : O(M(e)), ue(t || !e || !e.__esModule || !N.call(e, "default") ? k(n, "default", {
|
|
14
14
|
value: e,
|
|
15
15
|
enumerable: !0
|
|
16
|
-
}) : n, e)))((/* @__PURE__ */
|
|
16
|
+
}) : n, e)))((/* @__PURE__ */ le(((e, t) => {
|
|
17
17
|
(function(n, r) {
|
|
18
18
|
typeof e == "object" && t !== void 0 ? r(e) : typeof define == "function" && define.amd ? define(["exports"], r) : (n = typeof globalThis < "u" ? globalThis : n || self, r(n.leaflet = {}));
|
|
19
19
|
})(e, (function(e) {
|
|
@@ -86,30 +86,30 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
86
86
|
var _ = Array.isArray || function(e) {
|
|
87
87
|
return Object.prototype.toString.call(e) === "[object Array]";
|
|
88
88
|
};
|
|
89
|
-
function
|
|
89
|
+
function v(e, t) {
|
|
90
90
|
for (var n = 0; n < e.length; n++) if (e[n] === t) return n;
|
|
91
91
|
return -1;
|
|
92
92
|
}
|
|
93
|
-
var
|
|
94
|
-
function
|
|
93
|
+
var y = "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";
|
|
94
|
+
function ee(e) {
|
|
95
95
|
return window["webkit" + e] || window["moz" + e] || window["ms" + e];
|
|
96
96
|
}
|
|
97
|
-
var
|
|
98
|
-
function
|
|
99
|
-
var t = +/* @__PURE__ */ new Date(), n = Math.max(0, 16 - (t -
|
|
100
|
-
return
|
|
97
|
+
var te = 0;
|
|
98
|
+
function ne(e) {
|
|
99
|
+
var t = +/* @__PURE__ */ new Date(), n = Math.max(0, 16 - (t - te));
|
|
100
|
+
return te = t + n, window.setTimeout(e, n);
|
|
101
101
|
}
|
|
102
|
-
var
|
|
102
|
+
var re = window.requestAnimationFrame || ee("RequestAnimationFrame") || ne, ie = window.cancelAnimationFrame || ee("CancelAnimationFrame") || ee("CancelRequestAnimationFrame") || function(e) {
|
|
103
103
|
window.clearTimeout(e);
|
|
104
104
|
};
|
|
105
|
-
function
|
|
106
|
-
if (n &&
|
|
107
|
-
else return
|
|
105
|
+
function b(e, t, n) {
|
|
106
|
+
if (n && re === ne) e.call(t);
|
|
107
|
+
else return re.call(window, i(e, t));
|
|
108
108
|
}
|
|
109
|
-
function
|
|
110
|
-
e &&
|
|
109
|
+
function x(e) {
|
|
110
|
+
e && ie.call(window, e);
|
|
111
111
|
}
|
|
112
|
-
var
|
|
112
|
+
var ae = {
|
|
113
113
|
__proto__: null,
|
|
114
114
|
extend: n,
|
|
115
115
|
create: r,
|
|
@@ -128,43 +128,43 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
128
128
|
getParamString: m,
|
|
129
129
|
template: g,
|
|
130
130
|
isArray: _,
|
|
131
|
-
indexOf:
|
|
132
|
-
emptyImageUrl:
|
|
133
|
-
requestFn:
|
|
134
|
-
cancelFn:
|
|
135
|
-
requestAnimFrame:
|
|
136
|
-
cancelAnimFrame:
|
|
131
|
+
indexOf: v,
|
|
132
|
+
emptyImageUrl: y,
|
|
133
|
+
requestFn: re,
|
|
134
|
+
cancelFn: ie,
|
|
135
|
+
requestAnimFrame: b,
|
|
136
|
+
cancelAnimFrame: x
|
|
137
137
|
};
|
|
138
|
-
function
|
|
139
|
-
|
|
138
|
+
function S() {}
|
|
139
|
+
S.extend = function(e) {
|
|
140
140
|
var t = function() {
|
|
141
141
|
p(this), this.initialize && this.initialize.apply(this, arguments), this.callInitHooks();
|
|
142
142
|
}, i = t.__super__ = this.prototype, a = r(i);
|
|
143
143
|
for (var o in a.constructor = t, t.prototype = a, this) Object.prototype.hasOwnProperty.call(this, o) && o !== "prototype" && o !== "__super__" && (t[o] = this[o]);
|
|
144
|
-
return e.statics && n(t, e.statics), e.includes && (
|
|
144
|
+
return e.statics && n(t, e.statics), e.includes && (oe(e.includes), n.apply(null, [a].concat(e.includes))), n(a, e), delete a.statics, delete a.includes, a.options && (a.options = i.options ? r(i.options) : {}, n(a.options, e.options)), a._initHooks = [], a.callInitHooks = function() {
|
|
145
145
|
if (!this._initHooksCalled) {
|
|
146
146
|
i.callInitHooks && i.callInitHooks.call(this), this._initHooksCalled = !0;
|
|
147
147
|
for (var e = 0, t = a._initHooks.length; e < t; e++) a._initHooks[e].call(this);
|
|
148
148
|
}
|
|
149
149
|
}, t;
|
|
150
|
-
},
|
|
150
|
+
}, S.include = function(e) {
|
|
151
151
|
var t = this.prototype.options;
|
|
152
152
|
return n(this.prototype, e), e.options && (this.prototype.options = t, this.mergeOptions(e.options)), this;
|
|
153
|
-
},
|
|
153
|
+
}, S.mergeOptions = function(e) {
|
|
154
154
|
return n(this.prototype.options, e), this;
|
|
155
|
-
},
|
|
155
|
+
}, S.addInitHook = function(e) {
|
|
156
156
|
var t = Array.prototype.slice.call(arguments, 1), n = typeof e == "function" ? e : function() {
|
|
157
157
|
this[e].apply(this, t);
|
|
158
158
|
};
|
|
159
159
|
return this.prototype._initHooks = this.prototype._initHooks || [], this.prototype._initHooks.push(n), this;
|
|
160
160
|
};
|
|
161
|
-
function
|
|
161
|
+
function oe(e) {
|
|
162
162
|
if (typeof L < "u" && L && L.Mixin) {
|
|
163
163
|
e = _(e) ? e : [e];
|
|
164
164
|
for (var t = 0; t < e.length; t++) e[t] === L.Mixin.Events && console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.", (/* @__PURE__ */ Error()).stack);
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
var
|
|
167
|
+
var C = {
|
|
168
168
|
on: function(e, t, n) {
|
|
169
169
|
if (typeof e == "object") for (var r in e) this._on(r, e[r], t);
|
|
170
170
|
else {
|
|
@@ -269,8 +269,8 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
269
269
|
}, e), !0);
|
|
270
270
|
}
|
|
271
271
|
};
|
|
272
|
-
|
|
273
|
-
var
|
|
272
|
+
C.addEventListener = C.on, C.removeEventListener = C.clearAllEventListeners = C.off, C.addOneTimeEventListener = C.once, C.fireEvent = C.fire, C.hasEventListeners = C.listens;
|
|
273
|
+
var se = S.extend(C);
|
|
274
274
|
function w(e, t, n) {
|
|
275
275
|
this.x = n ? Math.round(e) : e, this.y = n ? Math.round(t) : t;
|
|
276
276
|
}
|
|
@@ -605,11 +605,11 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
605
605
|
function he(e, t) {
|
|
606
606
|
for (var n = "", r = 0, i, a = e.length, o, s, c; r < a; r++) {
|
|
607
607
|
for (s = e[r], i = 0, o = s.length; i < o; i++) c = s[i], n += (i ? "L" : "M") + c.x + " " + c.y;
|
|
608
|
-
n += t ?
|
|
608
|
+
n += t ? B.svg ? "z" : "x" : "";
|
|
609
609
|
}
|
|
610
610
|
return n || "M0 0";
|
|
611
611
|
}
|
|
612
|
-
var ge = document.documentElement.style, _e = "ActiveXObject" in window, ve = _e && !document.addEventListener, ye = "msLaunchUri" in navigator && !("documentMode" in document), F =
|
|
612
|
+
var ge = document.documentElement.style, _e = "ActiveXObject" in window, ve = _e && !document.addEventListener, ye = "msLaunchUri" in navigator && !("documentMode" in document), F = z("webkit"), I = z("android"), be = z("android 2") || z("android 3"), R = parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10), xe = I && z("Google") && R < 537 && !("AudioNode" in window), Se = !!window.opera, Ce = !ye && z("chrome"), we = z("gecko") && !F && !Se && !_e, Te = !Ce && z("safari"), Ee = z("phantom"), De = "OTransition" in ge, Oe = navigator.platform.indexOf("Win") === 0, ke = _e && "transition" in ge, Ae = "WebKitCSSMatrix" in window && "m11" in new window.WebKitCSSMatrix() && !be, je = "MozPerspective" in ge, Me = !window.L_DISABLE_3D && (ke || Ae || je) && !De && !Ee, Ne = typeof orientation < "u" || z("mobile"), Pe = Ne && F, Fe = Ne && Ae, Ie = !window.PointerEvent && window.MSPointerEvent, Le = !!(window.PointerEvent || Ie), Re = "ontouchstart" in window || !!window.TouchEvent, ze = !window.L_NO_TOUCH && (Re || Le), Be = Ne && Se, Ve = Ne && we, He = (window.devicePixelRatio || window.screen.deviceXDPI / window.screen.logicalXDPI) > 1, Ue = function() {
|
|
613
613
|
var e = !1;
|
|
614
614
|
try {
|
|
615
615
|
var t = Object.defineProperty({}, "passive", { get: function() {
|
|
@@ -618,12 +618,12 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
618
618
|
window.addEventListener("testPassiveEventSupport", l, t), window.removeEventListener("testPassiveEventSupport", l, t);
|
|
619
619
|
} catch {}
|
|
620
620
|
return e;
|
|
621
|
-
}(),
|
|
621
|
+
}(), We = function() {
|
|
622
622
|
return !!document.createElement("canvas").getContext;
|
|
623
|
-
}(),
|
|
623
|
+
}(), Ge = !!(document.createElementNS && me("svg").createSVGRect), Ke = !!Ge && (function() {
|
|
624
624
|
var e = document.createElement("div");
|
|
625
625
|
return e.innerHTML = "<svg/>", (e.firstChild && e.firstChild.namespaceURI) === "http://www.w3.org/2000/svg";
|
|
626
|
-
})(),
|
|
626
|
+
})(), qe = !Ge && function() {
|
|
627
627
|
try {
|
|
628
628
|
var e = document.createElement("div");
|
|
629
629
|
e.innerHTML = "<v:shape adj=\"1\"/>";
|
|
@@ -632,49 +632,49 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
632
632
|
} catch {
|
|
633
633
|
return !1;
|
|
634
634
|
}
|
|
635
|
-
}(),
|
|
636
|
-
function
|
|
635
|
+
}(), Je = navigator.platform.indexOf("Mac") === 0, Ye = navigator.platform.indexOf("Linux") === 0;
|
|
636
|
+
function z(e) {
|
|
637
637
|
return navigator.userAgent.toLowerCase().indexOf(e) >= 0;
|
|
638
638
|
}
|
|
639
|
-
var
|
|
639
|
+
var B = {
|
|
640
640
|
ie: _e,
|
|
641
641
|
ielt9: ve,
|
|
642
642
|
edge: ye,
|
|
643
643
|
webkit: F,
|
|
644
|
-
android:
|
|
645
|
-
android23:
|
|
646
|
-
androidStock:
|
|
647
|
-
opera:
|
|
648
|
-
chrome:
|
|
649
|
-
gecko:
|
|
650
|
-
safari:
|
|
651
|
-
phantom:
|
|
652
|
-
opera12:
|
|
653
|
-
win:
|
|
654
|
-
ie3d:
|
|
655
|
-
webkit3d:
|
|
656
|
-
gecko3d:
|
|
657
|
-
any3d:
|
|
658
|
-
mobile:
|
|
659
|
-
mobileWebkit:
|
|
660
|
-
mobileWebkit3d:
|
|
661
|
-
msPointer:
|
|
662
|
-
pointer:
|
|
663
|
-
touch:
|
|
664
|
-
touchNative:
|
|
665
|
-
mobileOpera:
|
|
666
|
-
mobileGecko:
|
|
667
|
-
retina:
|
|
668
|
-
passiveEvents:
|
|
669
|
-
canvas:
|
|
670
|
-
svg:
|
|
671
|
-
vml:
|
|
672
|
-
inlineSvg:
|
|
673
|
-
mac:
|
|
674
|
-
linux:
|
|
675
|
-
},
|
|
676
|
-
touchstart:
|
|
677
|
-
touchmove:
|
|
644
|
+
android: I,
|
|
645
|
+
android23: be,
|
|
646
|
+
androidStock: xe,
|
|
647
|
+
opera: Se,
|
|
648
|
+
chrome: Ce,
|
|
649
|
+
gecko: we,
|
|
650
|
+
safari: Te,
|
|
651
|
+
phantom: Ee,
|
|
652
|
+
opera12: De,
|
|
653
|
+
win: Oe,
|
|
654
|
+
ie3d: ke,
|
|
655
|
+
webkit3d: Ae,
|
|
656
|
+
gecko3d: je,
|
|
657
|
+
any3d: Me,
|
|
658
|
+
mobile: Ne,
|
|
659
|
+
mobileWebkit: Pe,
|
|
660
|
+
mobileWebkit3d: Fe,
|
|
661
|
+
msPointer: Ie,
|
|
662
|
+
pointer: Le,
|
|
663
|
+
touch: ze,
|
|
664
|
+
touchNative: Re,
|
|
665
|
+
mobileOpera: Be,
|
|
666
|
+
mobileGecko: Ve,
|
|
667
|
+
retina: He,
|
|
668
|
+
passiveEvents: Ue,
|
|
669
|
+
canvas: We,
|
|
670
|
+
svg: Ge,
|
|
671
|
+
vml: qe,
|
|
672
|
+
inlineSvg: Ke,
|
|
673
|
+
mac: Je,
|
|
674
|
+
linux: Ye
|
|
675
|
+
}, Xe = B.msPointer ? "MSPointerDown" : "pointerdown", Ze = B.msPointer ? "MSPointerMove" : "pointermove", Qe = B.msPointer ? "MSPointerUp" : "pointerup", $e = B.msPointer ? "MSPointerCancel" : "pointercancel", et = {
|
|
676
|
+
touchstart: Xe,
|
|
677
|
+
touchmove: Ze,
|
|
678
678
|
touchend: Qe,
|
|
679
679
|
touchcancel: $e
|
|
680
680
|
}, tt = {
|
|
@@ -699,7 +699,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
699
699
|
delete nt[e.pointerId];
|
|
700
700
|
}
|
|
701
701
|
function lt() {
|
|
702
|
-
rt ||= (document.addEventListener(
|
|
702
|
+
rt ||= (document.addEventListener(Xe, ot, !0), document.addEventListener(Ze, st, !0), document.addEventListener(Qe, ct, !0), document.addEventListener($e, ct, !0), !0);
|
|
703
703
|
}
|
|
704
704
|
function ut(e, t) {
|
|
705
705
|
if (t.pointerType !== (t.MSPOINTER_TYPE_MOUSE || "mouse")) {
|
|
@@ -823,10 +823,10 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
823
823
|
}
|
|
824
824
|
function kt(e, t, n) {
|
|
825
825
|
var r = t || new w(0, 0);
|
|
826
|
-
e.style[gt] = (
|
|
826
|
+
e.style[gt] = (B.ie3d ? "translate(" + r.x + "px," + r.y + "px)" : "translate3d(" + r.x + "px," + r.y + "px,0)") + (n ? " scale(" + n + ")" : "");
|
|
827
827
|
}
|
|
828
828
|
function K(e, t) {
|
|
829
|
-
e._leaflet_pos = t,
|
|
829
|
+
e._leaflet_pos = t, B.any3d ? kt(e, t) : (e.style.left = t.x + "px", e.style.top = t.y + "px");
|
|
830
830
|
}
|
|
831
831
|
function At(e) {
|
|
832
832
|
return e._leaflet_pos || new w(0, 0);
|
|
@@ -930,7 +930,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
930
930
|
if (arguments.length === 1) Gt(e), delete e[Wt];
|
|
931
931
|
else if (t && typeof t == "object") for (var i in t) Jt(e, i, t[i], n);
|
|
932
932
|
else if (t = f(t), arguments.length === 2) Gt(e, function(e) {
|
|
933
|
-
return
|
|
933
|
+
return v(t, e) !== -1;
|
|
934
934
|
});
|
|
935
935
|
else for (var a = 0, o = t.length; a < o; a++) Jt(e, t[a], n, r);
|
|
936
936
|
return this;
|
|
@@ -952,7 +952,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
952
952
|
var a = function(t) {
|
|
953
953
|
return n.call(r || e, t || window.event);
|
|
954
954
|
}, s = a;
|
|
955
|
-
!
|
|
955
|
+
!B.touchNative && B.pointer && t.indexOf("touch") === 0 ? a = it(e, t, a) : B.touch && t === "dblclick" ? a = mt(e, a) : "addEventListener" in e ? t === "touchstart" || t === "touchmove" || t === "wheel" || t === "mousewheel" ? e.addEventListener(Kt[t] || t, a, B.passiveEvents ? { passive: !1 } : !1) : t === "mouseenter" || t === "mouseleave" ? (a = function(t) {
|
|
956
956
|
t ||= window.event, rn(e, t) && s(t);
|
|
957
957
|
}, e.addEventListener(Kt[t], a, !1)) : e.addEventListener(t, s, !1) : e.attachEvent("on" + t, a), e[Wt] = e[Wt] || {}, e[Wt][i] = a;
|
|
958
958
|
}
|
|
@@ -960,7 +960,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
960
960
|
i ||= t + o(n) + (r ? "_" + o(r) : "");
|
|
961
961
|
var a = e[Wt] && e[Wt][i];
|
|
962
962
|
if (!a) return this;
|
|
963
|
-
!
|
|
963
|
+
!B.touchNative && B.pointer && t.indexOf("touch") === 0 ? at(e, t, a) : B.touch && t === "dblclick" ? ht(e, a) : "removeEventListener" in e ? e.removeEventListener(Kt[t] || t, a, !1) : e.detachEvent("on" + t, a), e[Wt][i] = null;
|
|
964
964
|
}
|
|
965
965
|
function Yt(e) {
|
|
966
966
|
return e.stopPropagation ? e.stopPropagation() : e.originalEvent ? e.originalEvent._stopped = !0 : e.cancelBubble = !0, this;
|
|
@@ -987,9 +987,9 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
987
987
|
var n = Ht(t), r = n.boundingClientRect;
|
|
988
988
|
return new w((e.clientX - r.left) / n.x - t.clientLeft, (e.clientY - r.top) / n.y - t.clientTop);
|
|
989
989
|
}
|
|
990
|
-
var tn =
|
|
990
|
+
var tn = B.linux && B.chrome ? window.devicePixelRatio : B.mac ? window.devicePixelRatio * 3 : window.devicePixelRatio > 0 ? 2 * window.devicePixelRatio : 1;
|
|
991
991
|
function nn(e) {
|
|
992
|
-
return
|
|
992
|
+
return B.edge ? e.wheelDeltaY / 2 : e.deltaY && e.deltaMode === 0 ? -e.deltaY / tn : e.deltaY && e.deltaMode === 1 ? -e.deltaY * 20 : e.deltaY && e.deltaMode === 2 ? -e.deltaY * 60 : e.deltaX || e.deltaZ ? 0 : e.wheelDelta ? (e.wheelDeltaY || e.wheelDelta) / 2 : e.detail && Math.abs(e.detail) < 32765 ? -e.detail * 20 : e.detail ? e.detail / -32765 * 60 : 0;
|
|
993
993
|
}
|
|
994
994
|
function rn(e, t) {
|
|
995
995
|
var n = t.relatedTarget;
|
|
@@ -1016,7 +1016,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1016
1016
|
isExternalTarget: rn,
|
|
1017
1017
|
addListener: q,
|
|
1018
1018
|
removeListener: J
|
|
1019
|
-
}, on =
|
|
1019
|
+
}, on = se.extend({
|
|
1020
1020
|
run: function(e, t, n, r) {
|
|
1021
1021
|
this.stop(), this._el = e, this._inProgress = !0, this._duration = n || .25, this._easeOutPower = 1 / Math.max(r || .5, .2), this._startPos = At(e), this._offset = t.subtract(this._startPos), this._startTime = +/* @__PURE__ */ new Date(), this.fire("start"), this._animate();
|
|
1022
1022
|
},
|
|
@@ -1024,7 +1024,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1024
1024
|
this._inProgress && (this._step(!0), this._complete());
|
|
1025
1025
|
},
|
|
1026
1026
|
_animate: function() {
|
|
1027
|
-
this._animId =
|
|
1027
|
+
this._animId = b(this._animate, this), this._step();
|
|
1028
1028
|
},
|
|
1029
1029
|
_step: function(e) {
|
|
1030
1030
|
var t = +/* @__PURE__ */ new Date() - this._startTime, n = this._duration * 1e3;
|
|
@@ -1035,12 +1035,12 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1035
1035
|
t && n._round(), K(this._el, n), this.fire("step");
|
|
1036
1036
|
},
|
|
1037
1037
|
_complete: function() {
|
|
1038
|
-
|
|
1038
|
+
x(this._animId), this._inProgress = !1, this.fire("end");
|
|
1039
1039
|
},
|
|
1040
1040
|
_easeOut: function(e) {
|
|
1041
1041
|
return 1 - (1 - e) ** this._easeOutPower;
|
|
1042
1042
|
}
|
|
1043
|
-
}), X =
|
|
1043
|
+
}), X = se.extend({
|
|
1044
1044
|
options: {
|
|
1045
1045
|
crs: fe,
|
|
1046
1046
|
center: void 0,
|
|
@@ -1060,7 +1060,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1060
1060
|
trackResize: !0
|
|
1061
1061
|
},
|
|
1062
1062
|
initialize: function(e, t) {
|
|
1063
|
-
t = p(this, t), this._handlers = [], this._layers = {}, this._zoomBoundLayers = {}, this._sizeChanged = !0, this._initContainer(e), this._initLayout(), this._onResize = i(this._onResize, this), this._initEvents(), t.maxBounds && this.setMaxBounds(t.maxBounds), t.zoom !== void 0 && (this._zoom = this._limitZoom(t.zoom)), t.center && t.zoom !== void 0 && this.setView(j(t.center), t.zoom, { reset: !0 }), this.callInitHooks(), this._zoomAnimated = _t &&
|
|
1063
|
+
t = p(this, t), this._handlers = [], this._layers = {}, this._zoomBoundLayers = {}, this._sizeChanged = !0, this._initContainer(e), this._initLayout(), this._onResize = i(this._onResize, this), this._initEvents(), t.maxBounds && this.setMaxBounds(t.maxBounds), t.zoom !== void 0 && (this._zoom = this._limitZoom(t.zoom)), t.center && t.zoom !== void 0 && this.setView(j(t.center), t.zoom, { reset: !0 }), this.callInitHooks(), this._zoomAnimated = _t && B.any3d && !B.mobileOpera && this.options.zoomAnimation, this._zoomAnimated && (this._createAnimProxy(), q(this._proxy, vt, this._catchTransitionEnd, this)), this._addLayers(this.options.layers);
|
|
1064
1064
|
},
|
|
1065
1065
|
setView: function(e, t, r) {
|
|
1066
1066
|
return t = t === void 0 ? this._zoom : this._limitZoom(t), e = this._limitCenter(j(e), t, this.options.maxBounds), r ||= {}, this._stop(), this._loaded && !r.reset && r !== !0 && (r.animate !== void 0 && (r.zoom = n({ animate: r.animate }, r.zoom), r.pan = n({
|
|
@@ -1072,10 +1072,10 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1072
1072
|
return this._loaded ? this.setView(this.getCenter(), e, { zoom: t }) : (this._zoom = e, this);
|
|
1073
1073
|
},
|
|
1074
1074
|
zoomIn: function(e, t) {
|
|
1075
|
-
return e ||=
|
|
1075
|
+
return e ||= B.any3d ? this.options.zoomDelta : 1, this.setZoom(this._zoom + e, t);
|
|
1076
1076
|
},
|
|
1077
1077
|
zoomOut: function(e, t) {
|
|
1078
|
-
return e ||=
|
|
1078
|
+
return e ||= B.any3d ? this.options.zoomDelta : 1, this.setZoom(this._zoom - e, t);
|
|
1079
1079
|
},
|
|
1080
1080
|
setZoomAround: function(e, t, n) {
|
|
1081
1081
|
var r = this.getZoomScale(t), i = this.getSize().divideBy(2), a = (e instanceof w ? e : this.latLngToContainerPoint(e)).subtract(i).multiplyBy(1 - 1 / r), o = this.containerPointToLatLng(i.add(a));
|
|
@@ -1119,7 +1119,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1119
1119
|
return this;
|
|
1120
1120
|
},
|
|
1121
1121
|
flyTo: function(e, t, n) {
|
|
1122
|
-
if (n ||= {}, n.animate === !1 || !
|
|
1122
|
+
if (n ||= {}, n.animate === !1 || !B.any3d) return this.setView(e, t, n);
|
|
1123
1123
|
this._stop();
|
|
1124
1124
|
var r = this.project(this.getCenter()), i = this.project(e), a = this.getSize(), o = this._zoom;
|
|
1125
1125
|
e = j(e), t = t === void 0 ? o : t;
|
|
@@ -1141,18 +1141,18 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1141
1141
|
function _(e) {
|
|
1142
1142
|
return s * (m(g) / m(g + u * e));
|
|
1143
1143
|
}
|
|
1144
|
-
function
|
|
1144
|
+
function v(e) {
|
|
1145
1145
|
return s * (m(g) * h(g + u * e) - p(g)) / d;
|
|
1146
1146
|
}
|
|
1147
|
-
function
|
|
1147
|
+
function y(e) {
|
|
1148
1148
|
return 1 - (1 - e) ** 1.5;
|
|
1149
1149
|
}
|
|
1150
|
-
var
|
|
1151
|
-
function
|
|
1152
|
-
var n = (Date.now() -
|
|
1153
|
-
n <= 1 ? (this._flyToFrame =
|
|
1150
|
+
var ee = Date.now(), te = (f(1) - g) / u, ne = n.duration ? 1e3 * n.duration : 1e3 * te * .8;
|
|
1151
|
+
function re() {
|
|
1152
|
+
var n = (Date.now() - ee) / ne, a = y(n) * te;
|
|
1153
|
+
n <= 1 ? (this._flyToFrame = b(re, this), this._move(this.unproject(r.add(i.subtract(r).multiplyBy(v(a) / l)), o), this.getScaleZoom(s / _(a), o), { flyTo: !0 })) : this._move(e, t)._moveEnd(!0);
|
|
1154
1154
|
}
|
|
1155
|
-
return this._moveStart(!0, n.noMoveStart),
|
|
1155
|
+
return this._moveStart(!0, n.noMoveStart), re.call(this), this;
|
|
1156
1156
|
},
|
|
1157
1157
|
flyToBounds: function(e, t) {
|
|
1158
1158
|
var n = this._getBoundsCenterZoom(e, t);
|
|
@@ -1252,7 +1252,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1252
1252
|
} catch {
|
|
1253
1253
|
this._container._leaflet_id = void 0, this._containerId = void 0;
|
|
1254
1254
|
}
|
|
1255
|
-
for (var e in this._locationWatchId !== void 0 && this.stopLocate(), this._stop(), H(this._mapPane), this._clearControlPos && this._clearControlPos(), this._resizeRequest &&= (
|
|
1255
|
+
for (var e in this._locationWatchId !== void 0 && this.stopLocate(), this._stop(), H(this._mapPane), this._clearControlPos && this._clearControlPos(), this._resizeRequest &&= (x(this._resizeRequest), null), this._clearHandlers(), this._loaded && this.fire("unload"), this._layers) this._layers[e].remove();
|
|
1256
1256
|
for (e in this._panes) H(this._panes[e]);
|
|
1257
1257
|
return this._layers = [], this._panes = [], delete this._mapPane, delete this._renderer, this;
|
|
1258
1258
|
},
|
|
@@ -1278,7 +1278,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1278
1278
|
},
|
|
1279
1279
|
getBoundsZoom: function(e, t, n) {
|
|
1280
1280
|
e = k(e), n = T(n || [0, 0]);
|
|
1281
|
-
var r = this.getZoom() || 0, i = this.getMinZoom(), a = this.getMaxZoom(), o = e.getNorthWest(), s = e.getSouthEast(), c = this.getSize().subtract(n), l = D(this.project(s, r), this.project(o, r)).getSize(), u =
|
|
1281
|
+
var r = this.getZoom() || 0, i = this.getMinZoom(), a = this.getMaxZoom(), o = e.getNorthWest(), s = e.getSouthEast(), c = this.getSize().subtract(n), l = D(this.project(s, r), this.project(o, r)).getSize(), u = B.any3d ? this.options.zoomSnap : 1, d = c.x / l.x, f = c.y / l.y, p = t ? Math.max(d, f) : Math.min(d, f);
|
|
1282
1282
|
return r = this.getScaleZoom(p, r), u && (r = Math.round(r / (u / 100)) * (u / 100), r = t ? Math.ceil(r / u) * u : Math.floor(r / u) * u), Math.max(i, Math.min(a, r));
|
|
1283
1283
|
},
|
|
1284
1284
|
getSize: function() {
|
|
@@ -1365,7 +1365,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1365
1365
|
},
|
|
1366
1366
|
_initLayout: function() {
|
|
1367
1367
|
var e = this._container;
|
|
1368
|
-
this._fadeAnimated = this.options.fadeAnimation &&
|
|
1368
|
+
this._fadeAnimated = this.options.fadeAnimation && B.any3d, U(e, "leaflet-container" + (B.touch ? " leaflet-touch" : "") + (B.retina ? " leaflet-retina" : "") + (B.ielt9 ? " leaflet-oldie" : "") + (B.safari ? " leaflet-safari" : "") + (this._fadeAnimated ? " leaflet-fade-anim" : ""));
|
|
1369
1369
|
var t = bt(e, "position");
|
|
1370
1370
|
t !== "absolute" && t !== "relative" && t !== "fixed" && t !== "sticky" && (e.style.position = "relative"), this._initPanes(), this._initControlPos && this._initControlPos();
|
|
1371
1371
|
},
|
|
@@ -1392,7 +1392,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1392
1392
|
return e && this.fire("zoomend"), this.fire("moveend");
|
|
1393
1393
|
},
|
|
1394
1394
|
_stop: function() {
|
|
1395
|
-
return
|
|
1395
|
+
return x(this._flyToFrame), this._panAnim && this._panAnim.stop(), this;
|
|
1396
1396
|
},
|
|
1397
1397
|
_rawPanBy: function(e) {
|
|
1398
1398
|
K(this._mapPane, this._getMapPanePos().subtract(e));
|
|
@@ -1409,10 +1409,10 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1409
1409
|
_initEvents: function(e) {
|
|
1410
1410
|
this._targets = {}, this._targets[o(this._container)] = this;
|
|
1411
1411
|
var t = e ? J : q;
|
|
1412
|
-
t(this._container, "click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup", this._handleDOMEvent, this), this.options.trackResize && t(window, "resize", this._onResize, this),
|
|
1412
|
+
t(this._container, "click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup", this._handleDOMEvent, this), this.options.trackResize && t(window, "resize", this._onResize, this), B.any3d && this.options.transform3DLimit && (e ? this.off : this.on).call(this, "moveend", this._onMoveEnd);
|
|
1413
1413
|
},
|
|
1414
1414
|
_onResize: function() {
|
|
1415
|
-
|
|
1415
|
+
x(this._resizeRequest), this._resizeRequest = b(function() {
|
|
1416
1416
|
this.invalidateSize({ debounceMoveend: !0 });
|
|
1417
1417
|
}, this);
|
|
1418
1418
|
},
|
|
@@ -1471,7 +1471,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1471
1471
|
var u = c.getLatLng && (!c._radius || c._radius <= 10);
|
|
1472
1472
|
l.containerPoint = u ? this.latLngToContainerPoint(c.getLatLng()) : this.mouseEventToContainerPoint(e), l.layerPoint = this.containerPointToLayerPoint(l.containerPoint), l.latlng = u ? c.getLatLng() : this.layerPointToLatLng(l.layerPoint);
|
|
1473
1473
|
}
|
|
1474
|
-
for (s = 0; s < a.length; s++) if (a[s].fire(t, l, !0), l.originalEvent._stopped || a[s].options.bubblingMouseEvents === !1 &&
|
|
1474
|
+
for (s = 0; s < a.length; s++) if (a[s].fire(t, l, !0), l.originalEvent._stopped || a[s].options.bubblingMouseEvents === !1 && v(this._mouseEvents, t) !== -1) return;
|
|
1475
1475
|
}
|
|
1476
1476
|
},
|
|
1477
1477
|
_draggableMoved: function(e) {
|
|
@@ -1534,7 +1534,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1534
1534
|
return e + t > 0 ? Math.round(e - t) / 2 : Math.max(0, Math.ceil(e)) - Math.max(0, Math.floor(t));
|
|
1535
1535
|
},
|
|
1536
1536
|
_limitZoom: function(e) {
|
|
1537
|
-
var t = this.getMinZoom(), n = this.getMaxZoom(), r =
|
|
1537
|
+
var t = this.getMinZoom(), n = this.getMaxZoom(), r = B.any3d ? this.options.zoomSnap : 1;
|
|
1538
1538
|
return r && (e = Math.round(e / r) * r), Math.max(t, Math.min(n, e));
|
|
1539
1539
|
},
|
|
1540
1540
|
_onPanTransitionStep: function() {
|
|
@@ -1571,7 +1571,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1571
1571
|
if (this._animatingZoom) return !0;
|
|
1572
1572
|
if (n ||= {}, !this._zoomAnimated || n.animate === !1 || this._nothingToAnimate() || Math.abs(t - this._zoom) > this.options.zoomAnimationThreshold) return !1;
|
|
1573
1573
|
var r = this.getZoomScale(t), i = this._getCenterOffset(e)._divideBy(1 - 1 / r);
|
|
1574
|
-
return n.animate !== !0 && !this.getSize().contains(i) ? !1 : (
|
|
1574
|
+
return n.animate !== !0 && !this.getSize().contains(i) ? !1 : (b(function() {
|
|
1575
1575
|
this._moveStart(!0, n.noMoveStart || !1)._animateZoom(e, t, !0);
|
|
1576
1576
|
}, this), !0);
|
|
1577
1577
|
},
|
|
@@ -1589,7 +1589,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1589
1589
|
function sn(e, t) {
|
|
1590
1590
|
return new X(e, t);
|
|
1591
1591
|
}
|
|
1592
|
-
var Z =
|
|
1592
|
+
var Z = S.extend({
|
|
1593
1593
|
options: { position: "topright" },
|
|
1594
1594
|
initialize: function(e) {
|
|
1595
1595
|
p(this, e);
|
|
@@ -1849,7 +1849,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1849
1849
|
}, hn = Z.extend({
|
|
1850
1850
|
options: {
|
|
1851
1851
|
position: "bottomright",
|
|
1852
|
-
prefix: "<a href=\"https://leafletjs.com\" title=\"A JavaScript library for interactive maps\">" + (
|
|
1852
|
+
prefix: "<a href=\"https://leafletjs.com\" title=\"A JavaScript library for interactive maps\">" + (B.inlineSvg ? "<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" class=\"leaflet-attribution-flag\"><path fill=\"#4C7BE1\" d=\"M0 0h12v4H0z\"/><path fill=\"#FFD500\" d=\"M0 4h12v3H0z\"/><path fill=\"#E0BC00\" d=\"M0 7h12v1H0z\"/></svg> " : "") + "Leaflet</a>"
|
|
1853
1853
|
},
|
|
1854
1854
|
initialize: function(e) {
|
|
1855
1855
|
p(this, e), this._attributions = {};
|
|
@@ -1889,7 +1889,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1889
1889
|
}), Z.Layers = ln, Z.Zoom = dn, Z.Scale = pn, Z.Attribution = hn, cn.layers = un, cn.zoom = fn, cn.scale = mn, cn.attribution = function(e) {
|
|
1890
1890
|
return new hn(e);
|
|
1891
1891
|
};
|
|
1892
|
-
var gn =
|
|
1892
|
+
var gn = S.extend({
|
|
1893
1893
|
initialize: function(e) {
|
|
1894
1894
|
this._map = e;
|
|
1895
1895
|
},
|
|
@@ -1906,7 +1906,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
1906
1906
|
gn.addTo = function(e, t) {
|
|
1907
1907
|
return e.addHandler(t, this), this;
|
|
1908
1908
|
};
|
|
1909
|
-
var _n = { Events:
|
|
1909
|
+
var _n = { Events: C }, vn = B.touch ? "touchstart mousedown" : "mousedown", yn = se.extend({
|
|
1910
1910
|
options: { clickTolerance: 3 },
|
|
1911
1911
|
initialize: function(e, t, n, r) {
|
|
1912
1912
|
p(this, r), this._element = e, this._dragStartTarget = t || e, this._preventOutline = n;
|
|
@@ -2137,7 +2137,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
2137
2137
|
infinite: !0
|
|
2138
2138
|
});
|
|
2139
2139
|
M.Earth = N, M.EPSG3395 = Hn, M.EPSG3857 = fe, M.EPSG900913 = pe, M.EPSG4326 = Un, M.Simple = Wn;
|
|
2140
|
-
var $ =
|
|
2140
|
+
var $ = se.extend({
|
|
2141
2141
|
options: {
|
|
2142
2142
|
pane: "overlayPane",
|
|
2143
2143
|
attribution: null,
|
|
@@ -2290,7 +2290,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
2290
2290
|
}
|
|
2291
2291
|
}), Jn = function(e, t) {
|
|
2292
2292
|
return new qn(e, t);
|
|
2293
|
-
}, Yn =
|
|
2293
|
+
}, Yn = S.extend({
|
|
2294
2294
|
options: {
|
|
2295
2295
|
popupAnchor: [0, 0],
|
|
2296
2296
|
tooltipAnchor: [0, 0],
|
|
@@ -2324,7 +2324,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
2324
2324
|
return t ||= document.createElement("img"), t.src = e, t;
|
|
2325
2325
|
},
|
|
2326
2326
|
_getIconUrl: function(e) {
|
|
2327
|
-
return
|
|
2327
|
+
return B.retina && this.options[e + "RetinaUrl"] || this.options[e + "Url"];
|
|
2328
2328
|
}
|
|
2329
2329
|
});
|
|
2330
2330
|
function Xn(e) {
|
|
@@ -2385,21 +2385,21 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
2385
2385
|
var t = this._marker, n = t._map, r = this._marker.options.autoPanSpeed, i = this._marker.options.autoPanPadding, a = At(t._icon), o = n.getPixelBounds(), s = n.getPixelOrigin(), c = D(o.min._subtract(s).add(i), o.max._subtract(s).subtract(i));
|
|
2386
2386
|
if (!c.contains(a)) {
|
|
2387
2387
|
var l = T((Math.max(c.max.x, a.x) - c.max.x) / (o.max.x - c.max.x) - (Math.min(c.min.x, a.x) - c.min.x) / (o.min.x - c.min.x), (Math.max(c.max.y, a.y) - c.max.y) / (o.max.y - c.max.y) - (Math.min(c.min.y, a.y) - c.min.y) / (o.min.y - c.min.y)).multiplyBy(r);
|
|
2388
|
-
n.panBy(l, { animate: !1 }), this._draggable._newPos._add(l), this._draggable._startPos._add(l), K(t._icon, this._draggable._newPos), this._onDrag(e), this._panRequest =
|
|
2388
|
+
n.panBy(l, { animate: !1 }), this._draggable._newPos._add(l), this._draggable._startPos._add(l), K(t._icon, this._draggable._newPos), this._onDrag(e), this._panRequest = b(this._adjustPan.bind(this, e));
|
|
2389
2389
|
}
|
|
2390
2390
|
},
|
|
2391
2391
|
_onDragStart: function() {
|
|
2392
2392
|
this._oldLatLng = this._marker.getLatLng(), this._marker.closePopup && this._marker.closePopup(), this._marker.fire("movestart").fire("dragstart");
|
|
2393
2393
|
},
|
|
2394
2394
|
_onPreDrag: function(e) {
|
|
2395
|
-
this._marker.options.autoPan && (
|
|
2395
|
+
this._marker.options.autoPan && (x(this._panRequest), this._panRequest = b(this._adjustPan.bind(this, e)));
|
|
2396
2396
|
},
|
|
2397
2397
|
_onDrag: function(e) {
|
|
2398
2398
|
var t = this._marker, n = t._shadow, r = At(t._icon), i = t._map.layerPointToLatLng(r);
|
|
2399
2399
|
n && K(n, r), t._latlng = i, e.latlng = i, e.oldLatLng = this._oldLatLng, t.fire("move", e).fire("drag", e);
|
|
2400
2400
|
},
|
|
2401
2401
|
_onDragEnd: function(e) {
|
|
2402
|
-
|
|
2402
|
+
x(this._panRequest), delete this._oldLatLng, this._marker.fire("moveend").fire("dragend", e);
|
|
2403
2403
|
}
|
|
2404
2404
|
}), $n = $.extend({
|
|
2405
2405
|
options: {
|
|
@@ -3420,7 +3420,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3420
3420
|
options: {
|
|
3421
3421
|
tileSize: 256,
|
|
3422
3422
|
opacity: 1,
|
|
3423
|
-
updateWhenIdle:
|
|
3423
|
+
updateWhenIdle: B.mobile,
|
|
3424
3424
|
updateWhenZooming: !0,
|
|
3425
3425
|
updateInterval: 200,
|
|
3426
3426
|
zIndex: 1,
|
|
@@ -3496,7 +3496,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3496
3496
|
isFinite(n) && (this.options.zIndex = n + e(-1, 1), this._updateZIndex());
|
|
3497
3497
|
},
|
|
3498
3498
|
_updateOpacity: function() {
|
|
3499
|
-
if (this._map && !
|
|
3499
|
+
if (this._map && !B.ielt9) {
|
|
3500
3500
|
G(this._container, this.options.opacity);
|
|
3501
3501
|
var e = +/* @__PURE__ */ new Date(), t = !1, n = !1;
|
|
3502
3502
|
for (var r in this._tiles) {
|
|
@@ -3506,7 +3506,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3506
3506
|
G(i.el, a), a < 1 ? t = !0 : (i.active ? n = !0 : this._onOpaqueTile(i), i.active = !0);
|
|
3507
3507
|
}
|
|
3508
3508
|
}
|
|
3509
|
-
n && !this._noPrune && this._pruneTiles(), t && (
|
|
3509
|
+
n && !this._noPrune && this._pruneTiles(), t && (x(this._fadeFrame), this._fadeFrame = b(this._updateOpacity, this));
|
|
3510
3510
|
}
|
|
3511
3511
|
},
|
|
3512
3512
|
_onOpaqueTile: l,
|
|
@@ -3584,7 +3584,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3584
3584
|
},
|
|
3585
3585
|
_setZoomTransform: function(e, t, n) {
|
|
3586
3586
|
var r = this._map.getZoomScale(n, e.zoom), i = e.origin.multiplyBy(r).subtract(this._map._getNewPixelOrigin(t, n)).round();
|
|
3587
|
-
|
|
3587
|
+
B.any3d ? kt(e.el, i, r) : K(e.el, i);
|
|
3588
3588
|
},
|
|
3589
3589
|
_resetGrid: function() {
|
|
3590
3590
|
var e = this._map, t = e.options.crs, n = this._tileSize = this.getTileSize(), r = this._tileZoom, i = this._map.getPixelWorldBounds(this._tileZoom);
|
|
@@ -3667,11 +3667,11 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3667
3667
|
_initTile: function(e) {
|
|
3668
3668
|
U(e, "leaflet-tile");
|
|
3669
3669
|
var t = this.getTileSize();
|
|
3670
|
-
e.style.width = t.x + "px", e.style.height = t.y + "px", e.onselectstart = l, e.onmousemove = l,
|
|
3670
|
+
e.style.width = t.x + "px", e.style.height = t.y + "px", e.onselectstart = l, e.onmousemove = l, B.ielt9 && this.options.opacity < 1 && G(e, this.options.opacity);
|
|
3671
3671
|
},
|
|
3672
3672
|
_addTile: function(e, t) {
|
|
3673
3673
|
var n = this._getTilePos(e), r = this._tileCoordsToKey(e), a = this.createTile(this._wrapCoords(e), i(this._tileReady, this, e));
|
|
3674
|
-
this._initTile(a), this.createTile.length < 2 &&
|
|
3674
|
+
this._initTile(a), this.createTile.length < 2 && b(i(this._tileReady, this, e, null, a)), K(a, n), this._tiles[r] = {
|
|
3675
3675
|
el: a,
|
|
3676
3676
|
coords: e,
|
|
3677
3677
|
current: !0
|
|
@@ -3687,10 +3687,10 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3687
3687
|
coords: e
|
|
3688
3688
|
});
|
|
3689
3689
|
var r = this._tileCoordsToKey(e);
|
|
3690
|
-
n = this._tiles[r], n && (n.loaded = +/* @__PURE__ */ new Date(), this._map._fadeAnimated ? (G(n.el, 0),
|
|
3690
|
+
n = this._tiles[r], n && (n.loaded = +/* @__PURE__ */ new Date(), this._map._fadeAnimated ? (G(n.el, 0), x(this._fadeFrame), this._fadeFrame = b(this._updateOpacity, this)) : (n.active = !0, this._pruneTiles()), t || (U(n.el, "leaflet-tile-loaded"), this.fire("tileload", {
|
|
3691
3691
|
tile: n.el,
|
|
3692
3692
|
coords: e
|
|
3693
|
-
})), this._noTilesToLoad() && (this._loading = !1, this.fire("load"),
|
|
3693
|
+
})), this._noTilesToLoad() && (this._loading = !1, this.fire("load"), B.ielt9 || !this._map._fadeAnimated ? b(this._pruneTiles, this) : setTimeout(i(this._pruneTiles, this), 250)));
|
|
3694
3694
|
},
|
|
3695
3695
|
_getTilePos: function(e) {
|
|
3696
3696
|
return e.scaleBy(this.getTileSize()).subtract(this._level.origin);
|
|
@@ -3725,7 +3725,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3725
3725
|
referrerPolicy: !1
|
|
3726
3726
|
},
|
|
3727
3727
|
initialize: function(e, t) {
|
|
3728
|
-
this._url = e, t = p(this, t), t.detectRetina &&
|
|
3728
|
+
this._url = e, t = p(this, t), t.detectRetina && B.retina && t.maxZoom > 0 ? (t.tileSize = Math.floor(t.tileSize / 2), t.zoomReverse ? (t.zoomOffset--, t.minZoom = Math.min(t.maxZoom, t.minZoom + 1)) : (t.zoomOffset++, t.maxZoom = Math.max(t.minZoom, t.maxZoom - 1)), t.minZoom = Math.max(0, t.minZoom)) : t.zoomReverse ? t.minZoom = Math.min(t.maxZoom, t.minZoom) : t.maxZoom = Math.max(t.minZoom, t.maxZoom), typeof t.subdomains == "string" && (t.subdomains = t.subdomains.split("")), this.on("tileunload", this._onTileRemove);
|
|
3729
3729
|
},
|
|
3730
3730
|
setUrl: function(e, t) {
|
|
3731
3731
|
return this._url === e && t === void 0 && (t = !0), this._url = e, t || this.redraw(), this;
|
|
@@ -3736,7 +3736,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3736
3736
|
},
|
|
3737
3737
|
getTileUrl: function(e) {
|
|
3738
3738
|
var t = {
|
|
3739
|
-
r:
|
|
3739
|
+
r: B.retina ? "@2x" : "",
|
|
3740
3740
|
s: this._getSubdomain(e),
|
|
3741
3741
|
x: e.x,
|
|
3742
3742
|
y: e.y,
|
|
@@ -3749,7 +3749,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3749
3749
|
return g(this._url, n(t, this.options));
|
|
3750
3750
|
},
|
|
3751
3751
|
_tileOnLoad: function(e, t) {
|
|
3752
|
-
|
|
3752
|
+
B.ielt9 ? setTimeout(i(e, this, null, t), 0) : e(null, t);
|
|
3753
3753
|
},
|
|
3754
3754
|
_tileOnError: function(e, t, n) {
|
|
3755
3755
|
var r = this.options.errorTileUrl;
|
|
@@ -3769,7 +3769,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3769
3769
|
_abortLoading: function() {
|
|
3770
3770
|
var e, t;
|
|
3771
3771
|
for (e in this._tiles) if (this._tiles[e].coords.z !== this._tileZoom && (t = this._tiles[e].el, t.onload = l, t.onerror = l, !t.complete)) {
|
|
3772
|
-
t.src =
|
|
3772
|
+
t.src = y;
|
|
3773
3773
|
var n = this._tiles[e].coords;
|
|
3774
3774
|
H(t), delete this._tiles[e], this.fire("tileabort", {
|
|
3775
3775
|
tile: t,
|
|
@@ -3779,10 +3779,10 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3779
3779
|
},
|
|
3780
3780
|
_removeTile: function(e) {
|
|
3781
3781
|
var t = this._tiles[e];
|
|
3782
|
-
if (t) return t.el.setAttribute("src",
|
|
3782
|
+
if (t) return t.el.setAttribute("src", y), Fr.prototype._removeTile.call(this, e);
|
|
3783
3783
|
},
|
|
3784
3784
|
_tileReady: function(e, t, n) {
|
|
3785
|
-
if (!(!this._map || n && n.getAttribute("src") ===
|
|
3785
|
+
if (!(!this._map || n && n.getAttribute("src") === y)) return Fr.prototype._tileReady.call(this, e, t, n);
|
|
3786
3786
|
}
|
|
3787
3787
|
});
|
|
3788
3788
|
function Rr(e, t) {
|
|
@@ -3807,7 +3807,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3807
3807
|
var r = n({}, this.defaultWmsParams);
|
|
3808
3808
|
for (var i in t) i in this.options || (r[i] = t[i]);
|
|
3809
3809
|
t = p(this, t);
|
|
3810
|
-
var a = t.detectRetina &&
|
|
3810
|
+
var a = t.detectRetina && B.retina ? 2 : 1, o = this.getTileSize();
|
|
3811
3811
|
r.width = o.x * a, r.height = o.y * a, this.wmsParams = r;
|
|
3812
3812
|
},
|
|
3813
3813
|
onAdd: function(e) {
|
|
@@ -3865,7 +3865,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3865
3865
|
},
|
|
3866
3866
|
_updateTransform: function(e, t) {
|
|
3867
3867
|
var n = this._map.getZoomScale(t, this._zoom), r = this._map.getSize().multiplyBy(.5 + this.options.padding), i = this._map.project(this._center, t), a = r.multiplyBy(-n).add(i).subtract(this._map._getNewPixelOrigin(e, t));
|
|
3868
|
-
|
|
3868
|
+
B.any3d ? kt(this._container, a, n) : K(this._container, a);
|
|
3869
3869
|
},
|
|
3870
3870
|
_reset: function() {
|
|
3871
3871
|
for (var e in this._update(), this._updateTransform(this._center, this._zoom), this._layers) this._layers[e]._reset();
|
|
@@ -3897,7 +3897,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3897
3897
|
q(e, "mousemove", this._onMouseMove, this), q(e, "click dblclick mousedown mouseup contextmenu", this._onClick, this), q(e, "mouseout", this._handleMouseOut, this), e._leaflet_disable_events = !0, this._ctx = e.getContext("2d");
|
|
3898
3898
|
},
|
|
3899
3899
|
_destroyContainer: function() {
|
|
3900
|
-
|
|
3900
|
+
x(this._redrawRequest), delete this._ctx, H(this._container), J(this._container), delete this._container;
|
|
3901
3901
|
},
|
|
3902
3902
|
_updatePaths: function() {
|
|
3903
3903
|
if (!this._postponeUpdatePaths) {
|
|
@@ -3909,8 +3909,8 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3909
3909
|
_update: function() {
|
|
3910
3910
|
if (!(this._map._animatingZoom && this._bounds)) {
|
|
3911
3911
|
Vr.prototype._update.call(this);
|
|
3912
|
-
var e = this._bounds, t = this._container, n = e.getSize(), r =
|
|
3913
|
-
K(t, e.min), t.width = r * n.x, t.height = r * n.y, t.style.width = n.x + "px", t.style.height = n.y + "px",
|
|
3912
|
+
var e = this._bounds, t = this._container, n = e.getSize(), r = B.retina ? 2 : 1;
|
|
3913
|
+
K(t, e.min), t.width = r * n.x, t.height = r * n.y, t.style.width = n.x + "px", t.style.height = n.y + "px", B.retina && this._ctx.scale(2, 2), this._ctx.translate(-e.min.x, -e.min.y), this.fire("update");
|
|
3914
3914
|
}
|
|
3915
3915
|
},
|
|
3916
3916
|
_reset: function() {
|
|
@@ -3948,7 +3948,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
3948
3948
|
} else e.options._dashArray = e.options.dashArray;
|
|
3949
3949
|
},
|
|
3950
3950
|
_requestRedraw: function(e) {
|
|
3951
|
-
this._map && (this._extendRedrawBounds(e), this._redrawRequest = this._redrawRequest ||
|
|
3951
|
+
this._map && (this._extendRedrawBounds(e), this._redrawRequest = this._redrawRequest || b(this._redraw, this));
|
|
3952
3952
|
},
|
|
3953
3953
|
_extendRedrawBounds: function(e) {
|
|
3954
3954
|
if (e._pxBounds) {
|
|
@@ -4043,7 +4043,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4043
4043
|
}
|
|
4044
4044
|
});
|
|
4045
4045
|
function Ur(e) {
|
|
4046
|
-
return
|
|
4046
|
+
return B.canvas ? new Hr(e) : null;
|
|
4047
4047
|
}
|
|
4048
4048
|
var Wr = (function() {
|
|
4049
4049
|
try {
|
|
@@ -4090,7 +4090,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4090
4090
|
_bringToBack: function(e) {
|
|
4091
4091
|
Ct(e._container);
|
|
4092
4092
|
}
|
|
4093
|
-
}, Kr =
|
|
4093
|
+
}, Kr = B.vml ? Wr : me, qr = Vr.extend({
|
|
4094
4094
|
_initContainer: function() {
|
|
4095
4095
|
this._container = Kr("svg"), this._container.setAttribute("pointer-events", "none"), this._rootGroup = Kr("g"), this._container.appendChild(this._rootGroup);
|
|
4096
4096
|
},
|
|
@@ -4143,9 +4143,9 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4143
4143
|
Ct(e._path);
|
|
4144
4144
|
}
|
|
4145
4145
|
});
|
|
4146
|
-
|
|
4146
|
+
B.vml && qr.include(Gr);
|
|
4147
4147
|
function Jr(e) {
|
|
4148
|
-
return
|
|
4148
|
+
return B.svg || B.vml ? new qr(e) : null;
|
|
4149
4149
|
}
|
|
4150
4150
|
X.include({
|
|
4151
4151
|
getRenderer: function(e) {
|
|
@@ -4320,7 +4320,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4320
4320
|
else {
|
|
4321
4321
|
this._prunePositions(+/* @__PURE__ */ new Date());
|
|
4322
4322
|
var i = this._lastPos.subtract(this._positions[0]), a = (this._lastTime - this._times[0]) / 1e3, o = n.easeLinearity, s = i.multiplyBy(o / a), c = s.distanceTo([0, 0]), l = Math.min(n.inertiaMaxSpeed, c), u = s.multiplyBy(l / c), d = l / (n.inertiaDeceleration * o), f = u.multiplyBy(-d / 2).round();
|
|
4323
|
-
!f.x && !f.y ? t.fire("moveend") : (f = t._limitOffset(f, t.options.maxBounds),
|
|
4323
|
+
!f.x && !f.y ? t.fire("moveend") : (f = t._limitOffset(f, t.options.maxBounds), b(function() {
|
|
4324
4324
|
t.panBy(f, {
|
|
4325
4325
|
duration: d,
|
|
4326
4326
|
easeLinearity: o,
|
|
@@ -4451,7 +4451,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4451
4451
|
X.addInitHook("addHandler", "scrollWheelZoom", ti);
|
|
4452
4452
|
var ni = 600;
|
|
4453
4453
|
X.mergeOptions({
|
|
4454
|
-
tapHold:
|
|
4454
|
+
tapHold: B.touchNative && B.safari && B.mobile,
|
|
4455
4455
|
tapTolerance: 15
|
|
4456
4456
|
});
|
|
4457
4457
|
var ri = gn.extend({
|
|
@@ -4496,7 +4496,7 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4496
4496
|
}
|
|
4497
4497
|
});
|
|
4498
4498
|
X.addInitHook("addHandler", "tapHold", ri), X.mergeOptions({
|
|
4499
|
-
touchZoom:
|
|
4499
|
+
touchZoom: B.touch,
|
|
4500
4500
|
bounceAtZoomLimits: !0
|
|
4501
4501
|
});
|
|
4502
4502
|
var ii = gn.extend({
|
|
@@ -4523,38 +4523,38 @@ var j = Object.create, M = Object.defineProperty, N = Object.getOwnPropertyDescr
|
|
|
4523
4523
|
if (a === 1 && o.x === 0 && o.y === 0) return;
|
|
4524
4524
|
this._center = t.unproject(t.project(this._pinchStartLatLng, this._zoom).subtract(o), this._zoom);
|
|
4525
4525
|
}
|
|
4526
|
-
this._moved ||= (t._moveStart(!0, !1), !0),
|
|
4526
|
+
this._moved ||= (t._moveStart(!0, !1), !0), x(this._animRequest);
|
|
4527
4527
|
var s = i(t._move, t, this._center, this._zoom, {
|
|
4528
4528
|
pinch: !0,
|
|
4529
4529
|
round: !1
|
|
4530
4530
|
}, void 0);
|
|
4531
|
-
this._animRequest =
|
|
4531
|
+
this._animRequest = b(s, this, !0), Y(e);
|
|
4532
4532
|
}
|
|
4533
4533
|
},
|
|
4534
4534
|
_onTouchEnd: function() {
|
|
4535
|
-
!this._moved || !this._zooming ? this._zooming = !1 : (this._zooming = !1,
|
|
4535
|
+
!this._moved || !this._zooming ? this._zooming = !1 : (this._zooming = !1, x(this._animRequest), J(document, "touchmove", this._onTouchMove, this), J(document, "touchend touchcancel", this._onTouchEnd, this), this._map.options.zoomAnimation ? this._map._animateZoom(this._center, this._map._limitZoom(this._zoom), !0, this._map.options.zoomSnap) : this._map._resetView(this._center, this._map._limitZoom(this._zoom)));
|
|
4536
4536
|
}
|
|
4537
4537
|
});
|
|
4538
|
-
X.addInitHook("addHandler", "touchZoom", ii), X.BoxZoom = Zr, X.DoubleClickZoom = Qr, X.Drag = $r, X.Keyboard = ei, X.ScrollWheelZoom = ti, X.TapHold = ri, X.TouchZoom = ii, e.Bounds = E, e.Browser =
|
|
4538
|
+
X.addInitHook("addHandler", "touchZoom", ii), X.BoxZoom = Zr, X.DoubleClickZoom = Qr, X.Drag = $r, X.Keyboard = ei, X.ScrollWheelZoom = ti, X.TapHold = ri, X.TouchZoom = ii, e.Bounds = E, e.Browser = B, e.CRS = M, e.Canvas = Hr, e.Circle = ir, e.CircleMarker = nr, e.Class = S, e.Control = Z, e.DivIcon = Nr, e.DivOverlay = Or, e.DomEvent = an, e.DomUtil = Ut, e.Draggable = yn, e.Evented = se, e.FeatureGroup = qn, e.GeoJSON = ur, e.GridLayer = Fr, e.Handler = gn, e.Icon = Yn, e.ImageOverlay = Sr, e.LatLng = A, e.LatLngBounds = O, e.Layer = $, e.LayerGroup = Gn, e.LineUtil = Rn, e.Map = X, e.Marker = $n, e.Mixin = _n, e.Path = tr, e.Point = w, e.PolyUtil = Cn, e.Polygon = cr, e.Polyline = or, e.Popup = kr, e.PosAnimation = on, e.Projection = Vn, e.Rectangle = Yr, e.Renderer = Vr, e.SVG = qr, e.SVGOverlay = Er, e.TileLayer = Lr, e.Tooltip = jr, e.Transformation = P, e.Util = ae, e.VideoOverlay = wr, e.bind = i, e.bounds = D, e.canvas = Ur, e.circle = ar, e.circleMarker = rr, e.control = cn, e.divIcon = Pr, e.extend = n, e.featureGroup = Jn, e.geoJSON = br, e.geoJson = xr, e.gridLayer = Ir, e.icon = Xn, e.imageOverlay = Cr, e.latLng = j, e.latLngBounds = k, e.layerGroup = Kn, e.map = sn, e.marker = er, e.point = T, e.polygon = lr, e.polyline = sr, e.popup = Ar, e.rectangle = Xr, e.setOptions = p, e.stamp = o, e.svg = Jr, e.svgOverlay = Dr, e.tileLayer = Rr, e.tooltip = Mr, e.transformation = de, e.version = t, e.videoOverlay = Tr;
|
|
4539
4539
|
var ai = window.L;
|
|
4540
4540
|
e.noConflict = function() {
|
|
4541
4541
|
return window.L = ai, this;
|
|
4542
4542
|
}, window.L = e;
|
|
4543
4543
|
}));
|
|
4544
|
-
})))(), 1),
|
|
4545
|
-
function
|
|
4546
|
-
return [...e.querySelectorAll(
|
|
4544
|
+
})))(), 1), de = ".lintje-map-chart__layers, .lintje-map-chart__zoom, .lintje-map-chart__selection, .lintje-map-chart__scale-bar, .leaflet-control";
|
|
4545
|
+
function fe(e) {
|
|
4546
|
+
return [...e.querySelectorAll(de)].map((e) => e.getBoundingClientRect()).filter((e) => e.width > 0 && e.height > 0);
|
|
4547
4547
|
}
|
|
4548
|
-
var
|
|
4548
|
+
var pe = (e, t) => e.left < t.right && t.left < e.right && e.top < t.bottom && t.top < e.bottom, me = (e, t) => e.left >= t.left && e.right <= t.right && e.top >= t.top && e.bottom <= t.bottom, he = (e, t, n) => ({
|
|
4549
4549
|
left: e.left + t,
|
|
4550
4550
|
right: e.right + t,
|
|
4551
4551
|
top: e.top + n,
|
|
4552
4552
|
bottom: e.bottom + n
|
|
4553
4553
|
});
|
|
4554
|
-
function
|
|
4554
|
+
function ge(e, t, n, r) {
|
|
4555
4555
|
let i = (r, i) => {
|
|
4556
|
-
let a =
|
|
4557
|
-
return
|
|
4556
|
+
let a = he(e, r, i);
|
|
4557
|
+
return me(a, t) && !n.some((e) => pe(a, e));
|
|
4558
4558
|
};
|
|
4559
4559
|
if (i(0, 0)) return [0, 0];
|
|
4560
4560
|
let a = [
|
|
@@ -4571,16 +4571,16 @@ function ye(e, t, n, r) {
|
|
|
4571
4571
|
for (let e of a) for (let t of o) s && Math.hypot(e, t) >= Math.hypot(...s) || i(e, t) && (s = [e, t]);
|
|
4572
4572
|
return s;
|
|
4573
4573
|
}
|
|
4574
|
-
function
|
|
4574
|
+
function _e(e, t, n) {
|
|
4575
4575
|
let r = {
|
|
4576
4576
|
left: Math.max(e.left, t.left),
|
|
4577
4577
|
right: Math.min(e.right, t.right),
|
|
4578
4578
|
top: Math.max(e.top, t.top),
|
|
4579
4579
|
bottom: Math.min(e.bottom, t.bottom)
|
|
4580
4580
|
};
|
|
4581
|
-
return r.left >= r.right || r.top >= r.bottom || n.some((e) =>
|
|
4581
|
+
return r.left >= r.right || r.top >= r.bottom || n.some((e) => me(r, e));
|
|
4582
4582
|
}
|
|
4583
|
-
function
|
|
4583
|
+
function ve(e) {
|
|
4584
4584
|
try {
|
|
4585
4585
|
return e.matches(":focus-visible");
|
|
4586
4586
|
} catch {
|
|
@@ -4589,27 +4589,27 @@ function be(e) {
|
|
|
4589
4589
|
}
|
|
4590
4590
|
//#endregion
|
|
4591
4591
|
//#region src/components/shared/charts/map-chart/drawings.ts
|
|
4592
|
-
var
|
|
4592
|
+
var ye = {
|
|
4593
4593
|
polygons: "Vlakken",
|
|
4594
4594
|
points: "Punten",
|
|
4595
4595
|
flows: "Stromen",
|
|
4596
4596
|
choropleth: "Gebieden",
|
|
4597
4597
|
"scope-picker": "Punten"
|
|
4598
|
-
},
|
|
4598
|
+
}, F = (e) => Math.max(1, ...e.map((e) => e.value ?? 0)), I = (e) => {
|
|
4599
4599
|
let t = e.filter((e) => e.value != null).map((e) => e.value);
|
|
4600
|
-
return t.length ? Math.min(...t) :
|
|
4600
|
+
return t.length ? Math.min(...t) : F(e);
|
|
4601
4601
|
};
|
|
4602
|
-
function
|
|
4602
|
+
function be(e, t) {
|
|
4603
4603
|
if (e.variant !== "plots") {
|
|
4604
4604
|
let n = e.values ?? [];
|
|
4605
4605
|
return [{
|
|
4606
4606
|
variant: e.variant,
|
|
4607
4607
|
values: n,
|
|
4608
4608
|
index: 0,
|
|
4609
|
-
name:
|
|
4609
|
+
name: ye[e.variant],
|
|
4610
4610
|
unit: t,
|
|
4611
|
-
max:
|
|
4612
|
-
min:
|
|
4611
|
+
max: F(n),
|
|
4612
|
+
min: I(n),
|
|
4613
4613
|
destination: e.destination,
|
|
4614
4614
|
seriesLabels: e.seriesLabels
|
|
4615
4615
|
}];
|
|
@@ -4620,10 +4620,10 @@ function we(e, t) {
|
|
|
4620
4620
|
variant: n.variant,
|
|
4621
4621
|
values: i,
|
|
4622
4622
|
index: r,
|
|
4623
|
-
name: n.label ??
|
|
4623
|
+
name: n.label ?? ye[n.variant],
|
|
4624
4624
|
unit: n.unit ?? t,
|
|
4625
|
-
max:
|
|
4626
|
-
min:
|
|
4625
|
+
max: F(i),
|
|
4626
|
+
min: I(i),
|
|
4627
4627
|
destination: n.destination ?? e.destination,
|
|
4628
4628
|
seriesLabels: n.seriesLabels ? {
|
|
4629
4629
|
...e.seriesLabels,
|
|
@@ -4632,12 +4632,12 @@ function we(e, t) {
|
|
|
4632
4632
|
};
|
|
4633
4633
|
});
|
|
4634
4634
|
}
|
|
4635
|
-
function
|
|
4635
|
+
function R(e, t) {
|
|
4636
4636
|
return t ? `${e} ${t}` : e;
|
|
4637
4637
|
}
|
|
4638
4638
|
//#endregion
|
|
4639
4639
|
//#region src/components/shared/charts/map-chart/geo.ts
|
|
4640
|
-
var
|
|
4640
|
+
var xe = {
|
|
4641
4641
|
world: {
|
|
4642
4642
|
type: "FeatureCollection",
|
|
4643
4643
|
bbox: [
|
|
@@ -20617,17 +20617,17 @@ var Te = {
|
|
|
20617
20617
|
}]
|
|
20618
20618
|
}
|
|
20619
20619
|
};
|
|
20620
|
-
function
|
|
20621
|
-
return
|
|
20620
|
+
function Se(e) {
|
|
20621
|
+
return xe[e ?? "world"] ?? xe.world;
|
|
20622
20622
|
}
|
|
20623
20623
|
//#endregion
|
|
20624
20624
|
//#region src/components/shared/charts/map-chart/area.ts
|
|
20625
|
-
var
|
|
20626
|
-
function
|
|
20625
|
+
var Ce = 6371;
|
|
20626
|
+
function we([e, t], [n, r]) {
|
|
20627
20627
|
let i = Math.PI / 180, a = (r - t) * i, o = (n - e) * i, s = Math.sin(a / 2) ** 2 + Math.cos(t * i) * Math.cos(r * i) * Math.sin(o / 2) ** 2;
|
|
20628
|
-
return 2 *
|
|
20628
|
+
return 2 * Ce * Math.asin(Math.min(1, Math.sqrt(s)));
|
|
20629
20629
|
}
|
|
20630
|
-
function
|
|
20630
|
+
function Te(e, [t, n]) {
|
|
20631
20631
|
let r = !1;
|
|
20632
20632
|
for (let i = 0, a = e.length - 1; i < e.length; a = i++) {
|
|
20633
20633
|
let [o, s] = e[i], [c, l] = e[a];
|
|
@@ -20635,7 +20635,7 @@ function ke(e, [t, n]) {
|
|
|
20635
20635
|
}
|
|
20636
20636
|
return r;
|
|
20637
20637
|
}
|
|
20638
|
-
function
|
|
20638
|
+
function Ee([e, t], [n, r]) {
|
|
20639
20639
|
return [
|
|
20640
20640
|
[e, t],
|
|
20641
20641
|
[n, t],
|
|
@@ -20643,20 +20643,20 @@ function Ae([e, t], [n, r]) {
|
|
|
20643
20643
|
[e, r]
|
|
20644
20644
|
];
|
|
20645
20645
|
}
|
|
20646
|
-
function
|
|
20646
|
+
function De(e) {
|
|
20647
20647
|
if (e.length !== 4) return !1;
|
|
20648
20648
|
let [t, n, r, i] = e;
|
|
20649
20649
|
return t[1] === n[1] && n[0] === r[0] && r[1] === i[1] && i[0] === t[0];
|
|
20650
20650
|
}
|
|
20651
|
-
var
|
|
20652
|
-
function
|
|
20653
|
-
return e.kind === "circle" ?
|
|
20651
|
+
var Oe = (e) => e.every(([t]) => t === e[0][0]) || e.every(([, t]) => t === e[0][1]);
|
|
20652
|
+
function ke(e, t) {
|
|
20653
|
+
return e.kind === "circle" ? we(e.centre, t) <= e.radiusKm : e.ring.length > 2 && Te(e.ring, t);
|
|
20654
20654
|
}
|
|
20655
|
-
function
|
|
20655
|
+
function Ae([e, t], [n, r], [i, a], [o, s]) {
|
|
20656
20656
|
let c = (e, t, n, r, i, a) => Math.sign((n - e) * (a - t) - (r - t) * (i - e));
|
|
20657
20657
|
return c(e, t, n, r, i, a) * c(e, t, n, r, o, s) < 0 && c(i, a, o, s, e, t) * c(i, a, o, s, n, r) < 0;
|
|
20658
20658
|
}
|
|
20659
|
-
function
|
|
20659
|
+
function je(e) {
|
|
20660
20660
|
let [t, n, r, i] = [
|
|
20661
20661
|
Infinity,
|
|
20662
20662
|
Infinity,
|
|
@@ -20671,8 +20671,8 @@ function Fe(e) {
|
|
|
20671
20671
|
i
|
|
20672
20672
|
];
|
|
20673
20673
|
}
|
|
20674
|
-
function
|
|
20675
|
-
if (e.kind === "lasso") return
|
|
20674
|
+
function Me(e) {
|
|
20675
|
+
if (e.kind === "lasso") return je(e.ring);
|
|
20676
20676
|
let [t, n] = e.centre, r = e.radiusKm / 111.32, i = e.radiusKm / (111.32 * Math.max(.01, Math.cos(n * Math.PI / 180)));
|
|
20677
20677
|
return [
|
|
20678
20678
|
t - i,
|
|
@@ -20681,31 +20681,31 @@ function Ie(e) {
|
|
|
20681
20681
|
n + r
|
|
20682
20682
|
];
|
|
20683
20683
|
}
|
|
20684
|
-
var
|
|
20685
|
-
function
|
|
20686
|
-
if (t.length === 0 || !
|
|
20684
|
+
var Ne = ([e, t, n, r], [i, a, o, s]) => e >= i && n <= o && t >= a && r <= s;
|
|
20685
|
+
function Pe(e, t) {
|
|
20686
|
+
if (t.length === 0 || !Ne(je(t), Me(e)) || !t.every((t) => ke(e, t))) return !1;
|
|
20687
20687
|
if (e.kind === "circle") return !0;
|
|
20688
20688
|
let n = (e) => e.map((t, n) => [t, e[(n + 1) % e.length]]), r = n(e.ring);
|
|
20689
|
-
return n(t).every(([e, t]) => r.every(([n, r]) => !
|
|
20689
|
+
return n(t).every(([e, t]) => r.every(([n, r]) => !Ae(e, t, n, r)));
|
|
20690
20690
|
}
|
|
20691
|
-
function
|
|
20691
|
+
function Fe(e, t) {
|
|
20692
20692
|
let n = Math.hypot(t[0] - e[0], t[1] - e[1]);
|
|
20693
20693
|
return [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2 + n * .18];
|
|
20694
20694
|
}
|
|
20695
|
-
var
|
|
20696
|
-
function
|
|
20697
|
-
let t = e ?? "world", n =
|
|
20695
|
+
var Ie = /* @__PURE__ */ new Map();
|
|
20696
|
+
function Le(e) {
|
|
20697
|
+
let t = e ?? "world", n = Ie.get(t);
|
|
20698
20698
|
if (n) return n;
|
|
20699
20699
|
n = /* @__PURE__ */ new Map();
|
|
20700
|
-
for (let t of
|
|
20701
|
-
return
|
|
20700
|
+
for (let t of Se(e).features) n.set(t.properties.id, t.geometry.coordinates.map((e) => e[0]));
|
|
20701
|
+
return Ie.set(t, n), n;
|
|
20702
20702
|
}
|
|
20703
|
-
function
|
|
20703
|
+
function Re(e, t, n, r) {
|
|
20704
20704
|
if (t.variant === "choropleth") {
|
|
20705
|
-
let t =
|
|
20706
|
-
return !!t?.length && t.every((t) =>
|
|
20705
|
+
let t = Le(r).get(n.id);
|
|
20706
|
+
return !!t?.length && t.every((t) => Pe(e, t));
|
|
20707
20707
|
}
|
|
20708
|
-
if (t.variant === "polygons") return (n.polygon?.length ?? 0) > 2 &&
|
|
20708
|
+
if (t.variant === "polygons") return (n.polygon?.length ?? 0) > 2 && Pe(e, n.polygon);
|
|
20709
20709
|
if (n.lon == null || n.lat == null) return !1;
|
|
20710
20710
|
let i = [n.lon, n.lat];
|
|
20711
20711
|
if (t.variant === "flows") {
|
|
@@ -20715,169 +20715,169 @@ function He(e, t, n, r) {
|
|
|
20715
20715
|
return [
|
|
20716
20716
|
i,
|
|
20717
20717
|
r,
|
|
20718
|
-
|
|
20719
|
-
].every((t) =>
|
|
20718
|
+
Fe(i, r)
|
|
20719
|
+
].every((t) => ke(e, t));
|
|
20720
20720
|
}
|
|
20721
|
-
return
|
|
20721
|
+
return ke(e, i);
|
|
20722
20722
|
}
|
|
20723
|
-
function
|
|
20723
|
+
function ze(e, t, n) {
|
|
20724
20724
|
let r = [];
|
|
20725
|
-
for (let i of t) for (let t of i.values) !r.includes(t.id) &&
|
|
20725
|
+
for (let i of t) for (let t of i.values) !r.includes(t.id) && Re(e, i, t, n) && r.push(t.id);
|
|
20726
20726
|
return r;
|
|
20727
20727
|
}
|
|
20728
20728
|
//#endregion
|
|
20729
20729
|
//#region src/components/shared/charts/map-chart/marks.ts
|
|
20730
|
-
var
|
|
20730
|
+
var Be = [
|
|
20731
20731
|
"var(--color-chart-seq-1)",
|
|
20732
20732
|
"var(--color-chart-seq-2)",
|
|
20733
20733
|
"var(--color-chart-seq-3)",
|
|
20734
20734
|
"var(--color-chart-seq-4)",
|
|
20735
20735
|
"var(--color-chart-seq-5)"
|
|
20736
20736
|
];
|
|
20737
|
-
function
|
|
20737
|
+
function Ve(e, t) {
|
|
20738
20738
|
return t <= 0 ? 0 : Math.min(4, Math.floor(e / t * 5));
|
|
20739
20739
|
}
|
|
20740
|
-
var
|
|
20741
|
-
function
|
|
20740
|
+
var He = (e) => (e.polygon?.length ?? 0) > 2;
|
|
20741
|
+
function Ue(e, t) {
|
|
20742
20742
|
return 3 + Math.sqrt(e / t) * 15;
|
|
20743
20743
|
}
|
|
20744
|
-
var
|
|
20745
|
-
function
|
|
20744
|
+
var We = (e, t) => `${e.index}:${t}`, Ge = (e, t) => e.active === t || e.chosen.has(t), Ke = (e, t, n) => `${Ge(e, t) ? "is-selected" : ""} ${n ? "is-off" : ""}`;
|
|
20745
|
+
function qe(e) {
|
|
20746
20746
|
e.stopPropagation();
|
|
20747
20747
|
}
|
|
20748
|
-
function
|
|
20748
|
+
function Je(e, t) {
|
|
20749
20749
|
return (n) => {
|
|
20750
20750
|
(n.key === "Enter" || n.key === " ") && (n.preventDefault(), e(t));
|
|
20751
20751
|
};
|
|
20752
20752
|
}
|
|
20753
|
-
function
|
|
20753
|
+
function Ye(e) {
|
|
20754
20754
|
let t = new Map([...e].sort((e, t) => e.lon - t.lon).map((e, t) => [e.id, t]));
|
|
20755
|
-
return (n) =>
|
|
20755
|
+
return (n) => T(t.get(n.id) ?? 0, e.length);
|
|
20756
20756
|
}
|
|
20757
|
-
var
|
|
20758
|
-
function
|
|
20759
|
-
return t.tiled ? [] : e.map((e) =>
|
|
20757
|
+
var z = (e, t) => `${e.toFixed(2)} ${t.toFixed(2)}`;
|
|
20758
|
+
function B(e, t) {
|
|
20759
|
+
return t.tiled ? [] : e.map((e) => g`<path d=${e.d} class="lintje-map-chart__land" fill="var(--color-map-land)" />`);
|
|
20760
20760
|
}
|
|
20761
|
-
function
|
|
20761
|
+
function Xe(e, t) {
|
|
20762
20762
|
return e.map(([e, n], r) => {
|
|
20763
20763
|
let [i, a] = t(e, n);
|
|
20764
|
-
return `${r ? "L" : "M"}${
|
|
20764
|
+
return `${r ? "L" : "M"}${z(i, a)}`;
|
|
20765
20765
|
}).join("") + "Z";
|
|
20766
20766
|
}
|
|
20767
|
-
function
|
|
20768
|
-
let { id:
|
|
20769
|
-
return
|
|
20770
|
-
let l =
|
|
20771
|
-
return
|
|
20772
|
-
<g class="lintje-map-chart__polygon is-clickable ${
|
|
20773
|
-
data-mark-id=${
|
|
20774
|
-
role="button" tabindex=${
|
|
20775
|
-
aria-pressed=${String(
|
|
20776
|
-
aria-label=${`${
|
|
20767
|
+
function Ze(e, t, n, r) {
|
|
20768
|
+
let { id: i, controller: a, select: o, project: u } = t, d = new Map(n.map((e) => [e.id, e.d])), f = (t) => e.variant === "choropleth" ? d.get(t.id) : He(t) ? Xe(t.polygon, u) : void 0, p = e.values.filter((e) => f(e));
|
|
20769
|
+
return l(p, (e) => e.id, (n) => {
|
|
20770
|
+
let l = f(n), u = n.value == null, d = u ? "var(--color-chart-hatch)" : Be[Ve(n.value, e.max)], p = u ? "geen gegevens" : R(s(n.value), e.unit);
|
|
20771
|
+
return g`
|
|
20772
|
+
<g class="lintje-map-chart__polygon is-clickable ${Ke(t, n.id, r)}"
|
|
20773
|
+
data-mark-id=${n.id}
|
|
20774
|
+
role="button" tabindex=${r ? -1 : 0} aria-hidden=${r ? "true" : c}
|
|
20775
|
+
aria-pressed=${String(Ge(t, n.id))}
|
|
20776
|
+
aria-label=${`${n.label}: ${p}${n.detail ? `, ${n.detail}` : ""}`}
|
|
20777
20777
|
@click=${(e) => {
|
|
20778
|
-
|
|
20778
|
+
qe(e), o(n);
|
|
20779
20779
|
}}
|
|
20780
|
-
@dblclick=${
|
|
20781
|
-
@mousemove=${(t) =>
|
|
20782
|
-
title: `${
|
|
20780
|
+
@dblclick=${qe}
|
|
20781
|
+
@mousemove=${(t) => a.showTooltip(t, {
|
|
20782
|
+
title: `${n.label}${n.detail ? ` · ${n.detail}` : ""}`,
|
|
20783
20783
|
rows: [{
|
|
20784
20784
|
label: e.unit,
|
|
20785
|
-
value: u ? "geen gegevens" :
|
|
20786
|
-
color:
|
|
20785
|
+
value: u ? "geen gegevens" : s(n.value),
|
|
20786
|
+
color: d
|
|
20787
20787
|
}]
|
|
20788
20788
|
})}
|
|
20789
|
-
@mouseleave=${() =>
|
|
20790
|
-
@keydown=${
|
|
20789
|
+
@mouseleave=${() => a.hideTooltip()}
|
|
20790
|
+
@keydown=${Je(o, n)}>
|
|
20791
20791
|
<path d=${l} class="lintje-map-chart__polygon-ring" />
|
|
20792
20792
|
<path d=${l}
|
|
20793
20793
|
class="lintje-map-chart__polygon-shape ${u ? "lintje-map-chart__polygon-shape--empty" : "lintje-map-chart__polygon-shape--data"}"
|
|
20794
|
-
fill=${u ?
|
|
20795
|
-
${u ?
|
|
20794
|
+
fill=${u ? c : d} />
|
|
20795
|
+
${u ? g`<path d=${l} class="lintje-map-chart__polygon-hatch" fill="url(#map-hatch-${i})" />` : c}
|
|
20796
20796
|
</g>
|
|
20797
20797
|
`;
|
|
20798
20798
|
});
|
|
20799
20799
|
}
|
|
20800
|
-
function
|
|
20801
|
-
let { controller:
|
|
20802
|
-
if (!
|
|
20803
|
-
let
|
|
20804
|
-
return
|
|
20800
|
+
function Qe(e, t, n) {
|
|
20801
|
+
let { controller: r, select: i, project: a } = t, u = e.destination;
|
|
20802
|
+
if (!u) return c;
|
|
20803
|
+
let d = e.values.filter((e) => e.lon != null && e.value != null), f = Ye(d), [p, m] = a(u.lon, u.lat);
|
|
20804
|
+
return g`
|
|
20805
20805
|
<g class="lintje-map-chart__flows">
|
|
20806
|
-
${
|
|
20807
|
-
let [
|
|
20808
|
-
return
|
|
20806
|
+
${l(d, (e) => e.id, (l) => {
|
|
20807
|
+
let [d, h] = a(l.lon, l.lat), _ = (d + p) / 2, v = (h + m) / 2 - Math.hypot(p - d, m - h) * .18, y = 1 + l.value / e.max * 7, ee = `${l.label} → ${u.label}`;
|
|
20808
|
+
return g`
|
|
20809
20809
|
<path
|
|
20810
|
-
d=${`M${
|
|
20810
|
+
d=${`M${z(d, h)}Q${z(_, v)} ${z(p, m)}`}
|
|
20811
20811
|
pathLength="1"
|
|
20812
|
-
${
|
|
20813
|
-
class="lintje-map-chart__flow is-clickable ${
|
|
20814
|
-
stroke-width=${
|
|
20812
|
+
${o(f(l))}
|
|
20813
|
+
class="lintje-map-chart__flow is-clickable ${Ke(t, l.id, n)}"
|
|
20814
|
+
stroke-width=${y}
|
|
20815
20815
|
data-mark-id=${l.id}
|
|
20816
|
-
role="button" tabindex=${
|
|
20817
|
-
aria-pressed=${String(
|
|
20818
|
-
aria-label=${`${
|
|
20819
|
-
@keydown=${
|
|
20816
|
+
role="button" tabindex=${n ? -1 : 0} aria-hidden=${n ? "true" : c}
|
|
20817
|
+
aria-pressed=${String(Ge(t, l.id))}
|
|
20818
|
+
aria-label=${`${ee}: ${R(s(l.value), e.unit)}${l.detail ? `, ${l.detail}` : ""}`}
|
|
20819
|
+
@keydown=${Je(i, l)}
|
|
20820
20820
|
@click=${(e) => {
|
|
20821
|
-
|
|
20821
|
+
qe(e), i(l);
|
|
20822
20822
|
}}
|
|
20823
|
-
@dblclick=${
|
|
20824
|
-
@mousemove=${(t) =>
|
|
20825
|
-
title: `${
|
|
20823
|
+
@dblclick=${qe}
|
|
20824
|
+
@mousemove=${(t) => r.showTooltip(t, {
|
|
20825
|
+
title: `${ee}${l.detail ? ` · ${l.detail}` : ""}`,
|
|
20826
20826
|
rows: [{
|
|
20827
20827
|
label: e.unit,
|
|
20828
|
-
value:
|
|
20829
|
-
color:
|
|
20828
|
+
value: s(l.value),
|
|
20829
|
+
color: se
|
|
20830
20830
|
}]
|
|
20831
20831
|
})}
|
|
20832
|
-
@mouseleave=${() =>
|
|
20832
|
+
@mouseleave=${() => r.hideTooltip()} />
|
|
20833
20833
|
`;
|
|
20834
20834
|
})}
|
|
20835
|
-
<g class="lintje-map-chart__symbol" data-at=${
|
|
20835
|
+
<g class="lintje-map-chart__symbol" data-at=${z(p, m)}>
|
|
20836
20836
|
<circle r="5" class="lintje-map-chart__destination" />
|
|
20837
20837
|
</g>
|
|
20838
20838
|
</g>
|
|
20839
20839
|
`;
|
|
20840
20840
|
}
|
|
20841
|
-
function
|
|
20842
|
-
let { id:
|
|
20843
|
-
return
|
|
20844
|
-
let [l,
|
|
20845
|
-
return
|
|
20846
|
-
<g ${
|
|
20847
|
-
class="lintje-map-chart__point lintje-map-chart__symbol ${
|
|
20848
|
-
data-at=${
|
|
20849
|
-
data-mark-id=${
|
|
20850
|
-
role="button" tabindex=${
|
|
20851
|
-
aria-pressed=${String(
|
|
20852
|
-
aria-label=${`${
|
|
20841
|
+
function $e(e, t, n) {
|
|
20842
|
+
let { id: r, controller: i, select: a, project: u, hidden: d } = t, f = e.values.filter((e) => e.lon != null), p = (t) => n || !!(t.series && d.has(We(e, t.series))), m = Ye(f);
|
|
20843
|
+
return l(f, (e) => e.id, (n) => {
|
|
20844
|
+
let [l, d] = u(n.lon, n.lat), f = e.variant === "points" && n.value != null ? Ue(n.value, e.max) : 6, h = ce(n.series), _ = n.series && e.seriesLabels?.[n.series] || void 0, v = n.value == null ? "geen gegevens" : R(s(n.value), e.unit), y = C(n.series, f);
|
|
20845
|
+
return g`
|
|
20846
|
+
<g ${o(m(n))}
|
|
20847
|
+
class="lintje-map-chart__point lintje-map-chart__symbol ${Ke(t, n.id, p(n))}"
|
|
20848
|
+
data-at=${z(l, d)}
|
|
20849
|
+
data-mark-id=${n.id}
|
|
20850
|
+
role="button" tabindex=${p(n) ? -1 : 0} aria-hidden=${p(n) ? "true" : c}
|
|
20851
|
+
aria-pressed=${String(Ge(t, n.id))}
|
|
20852
|
+
aria-label=${`${n.label}: ${v}${_ ? `, ${_}` : ""}`}
|
|
20853
20853
|
@click=${(e) => {
|
|
20854
|
-
|
|
20854
|
+
qe(e), a(n);
|
|
20855
20855
|
}}
|
|
20856
|
-
@dblclick=${
|
|
20857
|
-
@mousemove=${(t) =>
|
|
20858
|
-
title:
|
|
20856
|
+
@dblclick=${qe}
|
|
20857
|
+
@mousemove=${(t) => i.showTooltip(t, {
|
|
20858
|
+
title: _ ? `${n.label} · ${_}` : n.label,
|
|
20859
20859
|
rows: [{
|
|
20860
20860
|
label: e.unit,
|
|
20861
|
-
value:
|
|
20862
|
-
color:
|
|
20861
|
+
value: n.value == null ? "geen gegevens" : s(n.value),
|
|
20862
|
+
color: h ?? "var(--color-chart-default)"
|
|
20863
20863
|
}]
|
|
20864
20864
|
})}
|
|
20865
|
-
@mouseleave=${() =>
|
|
20866
|
-
@keydown=${
|
|
20865
|
+
@mouseleave=${() => i.hideTooltip()}
|
|
20866
|
+
@keydown=${Je(a, n)}>
|
|
20867
20867
|
<!-- The figure grows in: its own group, as the animation's transform would replace the
|
|
20868
20868
|
placement of the point. The focus ring is behind the shape, shown on focus only. -->
|
|
20869
20869
|
<g class="lintje-map-chart__point-figure">
|
|
20870
|
-
<path d=${
|
|
20871
|
-
<path d=${
|
|
20872
|
-
class="lintje-map-chart__point-shape ${
|
|
20873
|
-
${
|
|
20874
|
-
${
|
|
20870
|
+
<path d=${y} class="lintje-map-chart__point-ring" />
|
|
20871
|
+
<path d=${y}
|
|
20872
|
+
class="lintje-map-chart__point-shape ${n.value == null ? "lintje-map-chart__point-shape--empty" : h ? "lintje-map-chart__point-shape--series" : ""}"
|
|
20873
|
+
${o({ "--lintje-series": h })} />
|
|
20874
|
+
${n.value == null ? g`<path d=${y} class="lintje-map-chart__point-hatch" fill="url(#map-hatch-${r})" />` : c}
|
|
20875
20875
|
</g>
|
|
20876
20876
|
</g>
|
|
20877
20877
|
`;
|
|
20878
20878
|
});
|
|
20879
20879
|
}
|
|
20880
|
-
function
|
|
20880
|
+
function et([e, t], n, r = 72) {
|
|
20881
20881
|
let i = Math.PI / 180, a = n / 6371, o = t * i, s = e * i, c = [];
|
|
20882
20882
|
for (let e = 0; e < r; e++) {
|
|
20883
20883
|
let t = e / r * 2 * Math.PI, n = Math.asin(Math.sin(o) * Math.cos(a) + Math.cos(o) * Math.sin(a) * Math.cos(t)), l = (s + Math.atan2(Math.sin(t) * Math.sin(a) * Math.cos(o), Math.cos(a) - Math.sin(o) * Math.sin(n))) / i, u = c.at(-1)?.[0];
|
|
@@ -20887,56 +20887,56 @@ function rt([e, t], n, r = 72) {
|
|
|
20887
20887
|
}
|
|
20888
20888
|
return c;
|
|
20889
20889
|
}
|
|
20890
|
-
function
|
|
20891
|
-
if (!e) return
|
|
20892
|
-
let
|
|
20890
|
+
function tt(e, t, n = !1) {
|
|
20891
|
+
if (!e) return c;
|
|
20892
|
+
let r = `lintje-map-chart__region ${n ? "lintje-map-chart__region--draft" : ""}`;
|
|
20893
20893
|
if (e.kind === "circle") {
|
|
20894
|
-
let [
|
|
20894
|
+
let [n, i] = t(...e.centre), a = e.radiusKm > 0 ? et(e.centre, e.radiusKm).map(([e, n], r) => {
|
|
20895
20895
|
let [i, a] = t(e, n);
|
|
20896
|
-
return `${r ? "L" : "M"}${
|
|
20896
|
+
return `${r ? "L" : "M"}${z(i, a)}`;
|
|
20897
20897
|
}).join("") + "Z" : "";
|
|
20898
|
-
return
|
|
20899
|
-
${
|
|
20900
|
-
<g class="lintje-map-chart__symbol" data-at=${
|
|
20898
|
+
return g`
|
|
20899
|
+
${a ? g`<path class=${r} d=${a} />` : c}
|
|
20900
|
+
<g class="lintje-map-chart__symbol" data-at=${z(n, i)}>
|
|
20901
20901
|
<circle class="lintje-map-chart__region-centre" r="4" />
|
|
20902
20902
|
</g>
|
|
20903
20903
|
`;
|
|
20904
20904
|
}
|
|
20905
|
-
if (e.ring.length < 2) return
|
|
20906
|
-
let
|
|
20905
|
+
if (e.ring.length < 2) return c;
|
|
20906
|
+
let i = e.ring.map(([e, n], r) => {
|
|
20907
20907
|
let [i, a] = t(e, n);
|
|
20908
|
-
return `${r ? "L" : "M"}${
|
|
20909
|
-
}).join("") + (
|
|
20910
|
-
return
|
|
20908
|
+
return `${r ? "L" : "M"}${z(i, a)}`;
|
|
20909
|
+
}).join("") + (n && !De(e.ring) ? "" : "Z");
|
|
20910
|
+
return g`<path class=${r} d=${i} />`;
|
|
20911
20911
|
}
|
|
20912
|
-
function
|
|
20913
|
-
return
|
|
20912
|
+
function nt(e, t, n, r = null) {
|
|
20913
|
+
return g`
|
|
20914
20914
|
<defs>
|
|
20915
20915
|
<pattern id="map-hatch-${n.id}" class="lintje-map-chart__hatch" width="6" height="6"
|
|
20916
20916
|
patternUnits="userSpaceOnUse">
|
|
20917
20917
|
<line x1="0" y1="0" x2="0" y2="6" stroke="var(--color-chart-hatch)" stroke-width="2" />
|
|
20918
20918
|
</pattern>
|
|
20919
20919
|
</defs>
|
|
20920
|
-
${
|
|
20921
|
-
${
|
|
20920
|
+
${B(e, n)}
|
|
20921
|
+
${l(t, (e) => e.index, (t) => {
|
|
20922
20922
|
let r = n.hiddenLayers.has(t.index);
|
|
20923
|
-
return t.variant === "polygons" || t.variant === "choropleth" ?
|
|
20923
|
+
return t.variant === "polygons" || t.variant === "choropleth" ? Ze(t, n, e, r) : t.variant === "flows" ? Qe(t, n, r) : $e(t, n, r);
|
|
20924
20924
|
})}
|
|
20925
|
-
${
|
|
20925
|
+
${tt(r, n.project)}
|
|
20926
20926
|
`;
|
|
20927
20927
|
}
|
|
20928
20928
|
//#endregion
|
|
20929
20929
|
//#region src/components/shared/charts/map-chart/leaflet.ts
|
|
20930
|
-
var
|
|
20931
|
-
function
|
|
20930
|
+
var rt = "<a href=\"https://leafletjs.com\" title=\"A JavaScript library for interactive maps\">Leaflet</a>", it = [8, 8], at = 3, ot = -4, st = "http://www.w3.org/2000/svg";
|
|
20931
|
+
function ct([, e]) {
|
|
20932
20932
|
return Math.max(1, (90 - Math.abs(e)) * 111.2 - 100);
|
|
20933
20933
|
}
|
|
20934
|
-
var
|
|
20935
|
-
function
|
|
20934
|
+
var lt = 4, ut = 10;
|
|
20935
|
+
function dt(e, t) {
|
|
20936
20936
|
let [n, r] = (e.dataset.at ?? "0 0").split(" ");
|
|
20937
20937
|
return `translate(${n}px, ${r}px) scale(${t})`;
|
|
20938
20938
|
}
|
|
20939
|
-
function
|
|
20939
|
+
function ft(e) {
|
|
20940
20940
|
let t = (e) => .75 * (1 - e) * e * e + e * e * e, n = (e) => 3 * (1 - e) * e * e + e * e * e, r = 0, i = 1;
|
|
20941
20941
|
for (let n = 0; n < 24; n++) {
|
|
20942
20942
|
let n = (r + i) / 2;
|
|
@@ -20944,24 +20944,24 @@ function mt(e) {
|
|
|
20944
20944
|
}
|
|
20945
20945
|
return n((r + i) / 2);
|
|
20946
20946
|
}
|
|
20947
|
-
function
|
|
20947
|
+
function pt(e) {
|
|
20948
20948
|
let t = [];
|
|
20949
20949
|
for (let n = 0; n <= 16; n++) {
|
|
20950
|
-
let r =
|
|
20950
|
+
let r = ft(n / 16);
|
|
20951
20951
|
t.push((e * r / (1 + (e - 1) * r)).toFixed(4));
|
|
20952
20952
|
}
|
|
20953
20953
|
return `linear(${t.join(", ")})`;
|
|
20954
20954
|
}
|
|
20955
|
-
function
|
|
20955
|
+
function mt(e) {
|
|
20956
20956
|
let [t, n, r, i] = e.bbox ?? [
|
|
20957
20957
|
-180,
|
|
20958
20958
|
-85,
|
|
20959
20959
|
180,
|
|
20960
20960
|
85
|
|
20961
20961
|
];
|
|
20962
|
-
return
|
|
20962
|
+
return P.latLngBounds([n, t], [i, r]);
|
|
20963
20963
|
}
|
|
20964
|
-
function
|
|
20964
|
+
function ht(e, t) {
|
|
20965
20965
|
return e.features.map((e) => ({
|
|
20966
20966
|
id: e.properties.id,
|
|
20967
20967
|
name: e.properties.name,
|
|
@@ -20971,7 +20971,7 @@ function _t(e, t) {
|
|
|
20971
20971
|
}).join("") + "Z").join("")
|
|
20972
20972
|
}));
|
|
20973
20973
|
}
|
|
20974
|
-
var
|
|
20974
|
+
var gt = class {
|
|
20975
20975
|
#e;
|
|
20976
20976
|
#t;
|
|
20977
20977
|
#n;
|
|
@@ -20989,8 +20989,9 @@ var vt = class {
|
|
|
20989
20989
|
#m;
|
|
20990
20990
|
#h;
|
|
20991
20991
|
#g;
|
|
20992
|
+
#_;
|
|
20992
20993
|
constructor(e) {
|
|
20993
|
-
this.#t = null, this.#n = null, this.#r = null, this.#i = null, this.#a = null, this.#o = null, this.#s = null, this.#c = null, this.#l =
|
|
20994
|
+
this.#t = null, this.#n = null, this.#r = null, this.#i = null, this.#a = null, this.#o = null, this.#s = null, this.#c = null, this.#l = null, this.#u = "", this.#d = "", this.#f = null, this.#p = !1, this.#m = 0, this.#h = [], this.#g = {
|
|
20994
20995
|
unit: "",
|
|
20995
20996
|
active: null,
|
|
20996
20997
|
hidden: [],
|
|
@@ -21006,24 +21007,29 @@ var vt = class {
|
|
|
21006
21007
|
select: () => {},
|
|
21007
21008
|
clear: () => {},
|
|
21008
21009
|
mobile: !1
|
|
21009
|
-
}, this.#
|
|
21010
|
-
e !== this.#t && (this.destroy(), e instanceof HTMLElement && (this.#t = e, this.#c = new ResizeObserver(() => this.#
|
|
21011
|
-
}, this.#
|
|
21012
|
-
let n = this.#n.project([t, e], this.#
|
|
21010
|
+
}, this.#_ = null, this.attach = (e) => {
|
|
21011
|
+
e !== this.#t && (this.destroy(), e instanceof HTMLElement && (this.#t = e, this.#c = new ResizeObserver(() => this.#v()), this.#c.observe(e), this.#v()));
|
|
21012
|
+
}, this.#O = (e, t) => {
|
|
21013
|
+
let n = this.#n.project([t, e], this.#m);
|
|
21013
21014
|
return [n.x, n.y];
|
|
21014
|
-
}, this.#
|
|
21015
|
-
e.key === "Escape" && this.#
|
|
21016
|
-
}, this.#
|
|
21015
|
+
}, this.#W = (e) => {
|
|
21016
|
+
e.key === "Escape" && this.#g.tool && (e.stopPropagation(), e.preventDefault(), this.#s ? this.#G() : this.#g.stopTool());
|
|
21017
|
+
}, this.#J = 0, this.#e = e;
|
|
21017
21018
|
}
|
|
21018
21019
|
get map() {
|
|
21019
21020
|
return this.#n;
|
|
21020
21021
|
}
|
|
21021
21022
|
sync(e, t) {
|
|
21022
|
-
this.#
|
|
21023
|
+
this.#_ = e, this.#g = t, this.#t && this.#n ? this.#b(e) : this.#v();
|
|
21023
21024
|
}
|
|
21024
|
-
#
|
|
21025
|
+
#v() {
|
|
21025
21026
|
let e = this.#t;
|
|
21026
|
-
e && e.clientWidth && e.clientHeight
|
|
21027
|
+
if (e && e.clientWidth && e.clientHeight) {
|
|
21028
|
+
if (this.#n) {
|
|
21029
|
+
if (this.#p && !this.#l && matchMedia("print").matches) return this.print(!0);
|
|
21030
|
+
this.#n.invalidateSize({ animate: !1 }), this.#T();
|
|
21031
|
+
} else this.#_ && this.#b(this.#_);
|
|
21032
|
+
}
|
|
21027
21033
|
}
|
|
21028
21034
|
zoomIn() {
|
|
21029
21035
|
this.#n?.zoomIn();
|
|
@@ -21039,7 +21045,7 @@ var vt = class {
|
|
|
21039
21045
|
}
|
|
21040
21046
|
scaleBar(e = 96) {
|
|
21041
21047
|
let t = this.#n;
|
|
21042
|
-
if (!t || !this.#
|
|
21048
|
+
if (!t || !this.#p) return null;
|
|
21043
21049
|
let n = t.getSize().y / 2, r = t.distance(t.containerPointToLatLng([0, n]), t.containerPointToLatLng([e, n]));
|
|
21044
21050
|
if (!(r > 0)) return null;
|
|
21045
21051
|
let i = 10 ** Math.floor(Math.log10(r)), a = r / i, o = (a >= 5 ? 5 : a >= 2 ? 2 : 1) * i;
|
|
@@ -21048,19 +21054,39 @@ var vt = class {
|
|
|
21048
21054
|
metres: o
|
|
21049
21055
|
};
|
|
21050
21056
|
}
|
|
21057
|
+
print(e) {
|
|
21058
|
+
let t = this.#n;
|
|
21059
|
+
if (!t || !this.#p) return;
|
|
21060
|
+
if (e) {
|
|
21061
|
+
if (this.#l) return;
|
|
21062
|
+
let e = t.getBounds();
|
|
21063
|
+
this.#l = {
|
|
21064
|
+
centre: t.getCenter(),
|
|
21065
|
+
zoom: t.getZoom()
|
|
21066
|
+
}, this.#y(t), t.fitBounds(e, { animate: !1 });
|
|
21067
|
+
return;
|
|
21068
|
+
}
|
|
21069
|
+
let n = this.#l;
|
|
21070
|
+
this.#l = null, this.#y(t), n && t.setView(n.centre, n.zoom, { animate: !1 });
|
|
21071
|
+
}
|
|
21072
|
+
#y(e) {
|
|
21073
|
+
e.invalidateSize({ animate: !1 }), e.setMinZoom(ot), this.#T();
|
|
21074
|
+
}
|
|
21051
21075
|
home() {
|
|
21052
|
-
this.#e.leafletView = null, this.#n && this.#
|
|
21076
|
+
this.#e.leafletView = null, this.#n && this.#f && this.#n.fitBounds(this.#f, { padding: it });
|
|
21053
21077
|
}
|
|
21054
21078
|
destroy() {
|
|
21055
|
-
document.removeEventListener("keydown", this.#
|
|
21079
|
+
document.removeEventListener("keydown", this.#W, !0), this.#c?.disconnect(), this.#c = null;
|
|
21080
|
+
let e = this.#n;
|
|
21081
|
+
e?._animatingZoom && e._onZoomTransitionEnd(), this.#n?.remove(), this.#n = null, this.#r = null, this.#i = null, this.#a = null, this.#o = null, this.#s = null, this.#u = "", this.#d = "", this.#h = [], this.#p = !1, this.#t = null;
|
|
21056
21082
|
}
|
|
21057
|
-
#
|
|
21058
|
-
let t = this.#
|
|
21059
|
-
this.#
|
|
21083
|
+
#b(e) {
|
|
21084
|
+
let t = this.#x(), n = this.#g.tool != null, { drag: r, zoom: i } = this.#g;
|
|
21085
|
+
this.#g.mobile || n || !r ? t.dragging.disable() : t.dragging.enable(), n || !i ? t.doubleClickZoom.disable() : t.doubleClickZoom.enable(), i ? t.touchZoom.enable() : t.touchZoom.disable(), this.#t?.classList.toggle("is-drawing", n), !n && this.#s && this.#G(), n ? document.addEventListener("keydown", this.#W, !0) : document.removeEventListener("keydown", this.#W, !0), this.#C(t, e.geo ?? "world"), e.basemap ? this.#k(t, e.basemap) : this.#A(t), this.#M(t, e);
|
|
21060
21086
|
}
|
|
21061
|
-
#
|
|
21087
|
+
#x() {
|
|
21062
21088
|
if (this.#n) return this.#n;
|
|
21063
|
-
let e = this.#t, t =
|
|
21089
|
+
let e = this.#t, t = P.map(e, {
|
|
21064
21090
|
zoomControl: !1,
|
|
21065
21091
|
scrollWheelZoom: !1,
|
|
21066
21092
|
zoomSnap: 0,
|
|
@@ -21068,49 +21094,49 @@ var vt = class {
|
|
|
21068
21094
|
maxBoundsViscosity: 1
|
|
21069
21095
|
});
|
|
21070
21096
|
return t.on("moveend zoomend viewreset", () => {
|
|
21071
|
-
this.#
|
|
21072
|
-
}), t.on("zoomend", () => this.#
|
|
21097
|
+
this.#N(), this.#D(), this.#g.scale && this.#e.requestUpdate();
|
|
21098
|
+
}), t.on("zoomend", () => this.#E()), t.on("zoomanim", (e) => this.#P(e.zoom)), t.on("click", () => this.#g.clear()), e.addEventListener("pointerdown", (e) => this.#I(e), !0), e.addEventListener("pointermove", (e) => this.#L(e), !0), e.addEventListener("pointerup", (e) => this.#R(e), !0), e.addEventListener("click", (e) => this.#V(e), !0), e.addEventListener("dblclick", (e) => this.#H(e), !0), P.svg({ padding: .5 }).addTo(t), this.#n = t, t;
|
|
21073
21099
|
}
|
|
21074
|
-
#
|
|
21100
|
+
#S(e) {
|
|
21075
21101
|
if (this.#a) return this.#a;
|
|
21076
21102
|
let t = e.getPane("overlayPane")?.querySelector("svg");
|
|
21077
21103
|
if (!t) return null;
|
|
21078
|
-
let n = document.createElementNS(
|
|
21079
|
-
n.setAttribute("class", "lintje-map-chart__data"), n.addEventListener("focusin", (e) => this.#
|
|
21104
|
+
let n = document.createElementNS(st, "g");
|
|
21105
|
+
n.setAttribute("class", "lintje-map-chart__data"), n.addEventListener("focusin", (e) => this.#Z(e.target)), n.addEventListener("keydown", (e) => {
|
|
21080
21106
|
if (e.key !== "Enter" && e.key !== " ") return;
|
|
21081
21107
|
let t = e.target;
|
|
21082
|
-
requestAnimationFrame(() => this.#
|
|
21108
|
+
requestAnimationFrame(() => this.#Z(t));
|
|
21083
21109
|
}), t.append(n), this.#a = n;
|
|
21084
|
-
let r = document.createElementNS(
|
|
21110
|
+
let r = document.createElementNS(st, "g");
|
|
21085
21111
|
return r.setAttribute("class", "lintje-map-chart__draft"), t.append(r), this.#o = r, n;
|
|
21086
21112
|
}
|
|
21087
|
-
#
|
|
21088
|
-
t !== this.#
|
|
21113
|
+
#C(e, t) {
|
|
21114
|
+
t !== this.#d && (this.#d && (this.#e.leafletView = null), this.#d = t, this.#f = mt(xe[t] ?? xe.world), this.#p = !1, this.#w(), this.#m = e.getZoom(), this.#h = ht(xe[t] ?? xe.world, this.#O));
|
|
21089
21115
|
}
|
|
21090
|
-
#
|
|
21116
|
+
#w() {
|
|
21091
21117
|
let e = this.#n;
|
|
21092
|
-
if (this.#
|
|
21093
|
-
this.#
|
|
21118
|
+
if (this.#p || !e || !this.#f) return;
|
|
21119
|
+
this.#p = !0, this.#T();
|
|
21094
21120
|
let t = this.#e.leafletView;
|
|
21095
|
-
t ? e.setView([t.lat, t.lon], t.zoom, { animate: !1 }) : e.fitBounds(this.#
|
|
21121
|
+
t ? e.setView([t.lat, t.lon], t.zoom, { animate: !1 }) : e.fitBounds(this.#f, { padding: it }), this.#E();
|
|
21096
21122
|
}
|
|
21097
|
-
#
|
|
21123
|
+
#T() {
|
|
21098
21124
|
let e = this.#n;
|
|
21099
|
-
if (!e || !this.#
|
|
21100
|
-
let t = e.getBoundsZoom(this.#
|
|
21101
|
-
e.setMinZoom(t), e.setMaxZoom(t +
|
|
21125
|
+
if (!e || !this.#f) return;
|
|
21126
|
+
let t = e.getBoundsZoom(this.#f, !1, P.point(it));
|
|
21127
|
+
e.setMinZoom(t), e.setMaxZoom(t + at), this.#E();
|
|
21102
21128
|
}
|
|
21103
|
-
#
|
|
21129
|
+
#E() {
|
|
21104
21130
|
let e = this.#n;
|
|
21105
|
-
if (!e || !this.#
|
|
21131
|
+
if (!e || !this.#f) return;
|
|
21106
21132
|
let t = e.getZoom();
|
|
21107
21133
|
if (!Number.isFinite(t)) return;
|
|
21108
|
-
let n = e.getSize().divideBy(2), r = e.project(this.#
|
|
21109
|
-
e.setMaxBounds(
|
|
21134
|
+
let n = e.getSize().divideBy(2), r = e.project(this.#f.getNorthWest(), t).subtract(n), i = e.project(this.#f.getSouthEast(), t).add(n);
|
|
21135
|
+
e.setMaxBounds(P.latLngBounds(e.unproject(r, t), e.unproject(i, t)));
|
|
21110
21136
|
}
|
|
21111
|
-
#
|
|
21137
|
+
#D() {
|
|
21112
21138
|
let e = this.#n;
|
|
21113
|
-
if (!e || !this.#
|
|
21139
|
+
if (!e || !this.#p) return;
|
|
21114
21140
|
let t = e.getCenter();
|
|
21115
21141
|
this.#e.leafletView = {
|
|
21116
21142
|
lat: t.lat,
|
|
@@ -21118,8 +21144,8 @@ var vt = class {
|
|
|
21118
21144
|
zoom: e.getZoom()
|
|
21119
21145
|
};
|
|
21120
21146
|
}
|
|
21121
|
-
#
|
|
21122
|
-
#
|
|
21147
|
+
#O;
|
|
21148
|
+
#k(e, t) {
|
|
21123
21149
|
let n = [
|
|
21124
21150
|
t.url,
|
|
21125
21151
|
t.layers,
|
|
@@ -21128,7 +21154,7 @@ var vt = class {
|
|
|
21128
21154
|
t.transparent,
|
|
21129
21155
|
t.attribution
|
|
21130
21156
|
].join("|");
|
|
21131
|
-
this.#r && n === this.#
|
|
21157
|
+
this.#r && n === this.#u || (this.#r && e.removeLayer(this.#r), this.#u = n, this.#i ??= P.control.attribution({ prefix: rt }).addTo(e), this.#r = P.tileLayer.wms(t.url, {
|
|
21132
21158
|
layers: t.layers,
|
|
21133
21159
|
format: t.format ?? "image/png",
|
|
21134
21160
|
version: t.version ?? "1.3.0",
|
|
@@ -21137,50 +21163,50 @@ var vt = class {
|
|
|
21137
21163
|
noWrap: !0
|
|
21138
21164
|
}), this.#r.addTo(e));
|
|
21139
21165
|
}
|
|
21140
|
-
#
|
|
21141
|
-
this.#r && e.removeLayer(this.#r), this.#r = null, this.#
|
|
21166
|
+
#A(e) {
|
|
21167
|
+
this.#r && e.removeLayer(this.#r), this.#r = null, this.#u = "", this.#i?.remove(), this.#i = null;
|
|
21142
21168
|
}
|
|
21143
|
-
#
|
|
21144
|
-
return
|
|
21169
|
+
#j(e) {
|
|
21170
|
+
return be(e, this.#g.unit).filter((e) => !this.#g.hiddenLayers.includes(e.index));
|
|
21145
21171
|
}
|
|
21146
|
-
#
|
|
21147
|
-
let n = this.#
|
|
21148
|
-
n && (
|
|
21172
|
+
#M(e, t) {
|
|
21173
|
+
let n = this.#S(e);
|
|
21174
|
+
n && (_(nt(this.#h, be(t, this.#g.unit), {
|
|
21149
21175
|
id: this.#e.id,
|
|
21150
|
-
active: this.#
|
|
21176
|
+
active: this.#g.active,
|
|
21151
21177
|
controller: this.#e,
|
|
21152
|
-
select: this.#
|
|
21153
|
-
project: this.#
|
|
21178
|
+
select: this.#g.select,
|
|
21179
|
+
project: this.#O,
|
|
21154
21180
|
tiled: !!t.basemap,
|
|
21155
|
-
hidden: new Set(this.#
|
|
21156
|
-
hiddenLayers: new Set(this.#
|
|
21157
|
-
chosen: new Set(this.#
|
|
21158
|
-
}, this.#
|
|
21181
|
+
hidden: new Set(this.#g.hidden),
|
|
21182
|
+
hiddenLayers: new Set(this.#g.hiddenLayers),
|
|
21183
|
+
chosen: new Set(this.#g.chosen)
|
|
21184
|
+
}, this.#g.area), n), n.classList.toggle("has-area", this.#g.area != null), n.classList.toggle("has-selection", this.#g.area != null || this.#g.active != null), this.#N(e));
|
|
21159
21185
|
}
|
|
21160
|
-
#
|
|
21186
|
+
#N(e = this.#n) {
|
|
21161
21187
|
let t = this.#a;
|
|
21162
21188
|
if (!e || !t) return;
|
|
21163
|
-
let n = e.getZoomScale(e.getZoom(), this.#
|
|
21189
|
+
let n = e.getZoomScale(e.getZoom(), this.#m), r = e.getPixelOrigin(), i = `translate(${-r.x} ${-r.y}) scale(${n})`;
|
|
21164
21190
|
t.setAttribute("transform", i), this.#o?.setAttribute("transform", i);
|
|
21165
21191
|
let a = 1 / n;
|
|
21166
|
-
for (let e of this.#
|
|
21192
|
+
for (let e of this.#K()) e.style.transitionTimingFunction = "", e.style.transform = dt(e, a);
|
|
21167
21193
|
t.querySelector(".lintje-map-chart__hatch")?.setAttribute("patternTransform", `rotate(45) scale(${a})`);
|
|
21168
21194
|
}
|
|
21169
|
-
#
|
|
21195
|
+
#P(e) {
|
|
21170
21196
|
let t = this.#n, n = this.#a;
|
|
21171
21197
|
if (!t || !n) return;
|
|
21172
|
-
let r = t.getZoomScale(e, t.getZoom()), i = 1 / t.getZoomScale(e, this.#
|
|
21173
|
-
for (let e of this.#
|
|
21198
|
+
let r = t.getZoomScale(e, t.getZoom()), i = 1 / t.getZoomScale(e, this.#m), a = pt(r);
|
|
21199
|
+
for (let e of this.#K()) e.style.transitionTimingFunction = a, e.style.transform = dt(e, i);
|
|
21174
21200
|
}
|
|
21175
|
-
#
|
|
21201
|
+
#F(e) {
|
|
21176
21202
|
let t = this.#n.mouseEventToLatLng(e);
|
|
21177
21203
|
return [t.lng, t.lat];
|
|
21178
21204
|
}
|
|
21179
|
-
#
|
|
21180
|
-
let t = this.#
|
|
21205
|
+
#I(e) {
|
|
21206
|
+
let t = this.#g.tool;
|
|
21181
21207
|
if (!t || !this.#n || e.button !== 0) return;
|
|
21182
21208
|
e.stopPropagation(), e.preventDefault();
|
|
21183
|
-
let n = this.#
|
|
21209
|
+
let n = this.#F(e), r = this.#s;
|
|
21184
21210
|
r ? (r.press = {
|
|
21185
21211
|
x: e.clientX,
|
|
21186
21212
|
y: e.clientY
|
|
@@ -21199,88 +21225,88 @@ var vt = class {
|
|
|
21199
21225
|
y: e.clientY
|
|
21200
21226
|
},
|
|
21201
21227
|
dragged: !1
|
|
21202
|
-
}, e.target.setPointerCapture?.(e.pointerId), this.#
|
|
21228
|
+
}, e.target.setPointerCapture?.(e.pointerId), this.#q();
|
|
21203
21229
|
}
|
|
21204
|
-
#
|
|
21230
|
+
#L(e) {
|
|
21205
21231
|
let t = this.#s;
|
|
21206
21232
|
if (!t || !this.#n) return;
|
|
21207
21233
|
e.stopPropagation();
|
|
21208
|
-
let n = this.#
|
|
21234
|
+
let n = this.#F(e), { area: r, press: i } = t;
|
|
21209
21235
|
if (i && !t.dragged) {
|
|
21210
|
-
if (Math.abs(e.clientX - i.x) + Math.abs(e.clientY - i.y) <
|
|
21236
|
+
if (Math.abs(e.clientX - i.x) + Math.abs(e.clientY - i.y) < lt) return;
|
|
21211
21237
|
t.dragged = !0;
|
|
21212
21238
|
}
|
|
21213
|
-
r.kind === "circle" ? r.radiusKm = Math.min(
|
|
21239
|
+
r.kind === "circle" ? r.radiusKm = Math.min(we(r.centre, n), ct(r.centre)) : t.corner ? r.ring = Ee(t.corner, n) : i ? r.ring.push(n) : this.#q(n), (r.kind === "circle" || t.corner || i) && this.#q();
|
|
21214
21240
|
}
|
|
21215
|
-
#
|
|
21241
|
+
#R(e) {
|
|
21216
21242
|
let t = this.#s;
|
|
21217
21243
|
if (!t) return;
|
|
21218
21244
|
e.stopPropagation();
|
|
21219
21245
|
let { area: n, dragged: r } = t;
|
|
21220
|
-
if (t.press = null, r) return this.#
|
|
21246
|
+
if (t.press = null, r) return this.#U();
|
|
21221
21247
|
if (n.kind === "circle") {
|
|
21222
|
-
n.radiusKm > 0 && this.#
|
|
21248
|
+
n.radiusKm > 0 && this.#U();
|
|
21223
21249
|
return;
|
|
21224
21250
|
}
|
|
21225
|
-
let i = this.#
|
|
21226
|
-
if (t.corner) this.#
|
|
21251
|
+
let i = this.#F(e);
|
|
21252
|
+
if (t.corner) this.#z(t.corner, i) && (n.ring = Ee(t.corner, i), this.#U());
|
|
21227
21253
|
else {
|
|
21228
|
-
if (n.ring.length > 2 && this.#
|
|
21229
|
-
(n.ring.length > 1 || this.#
|
|
21254
|
+
if (n.ring.length > 2 && this.#B(e)) return this.#U();
|
|
21255
|
+
(n.ring.length > 1 || this.#z(n.ring[0], i)) && n.ring.push(i), this.#q();
|
|
21230
21256
|
}
|
|
21231
21257
|
}
|
|
21232
|
-
#
|
|
21258
|
+
#z(e, t) {
|
|
21233
21259
|
return e[0] !== t[0] || e[1] !== t[1];
|
|
21234
21260
|
}
|
|
21235
|
-
#
|
|
21261
|
+
#B(e) {
|
|
21236
21262
|
let t = this.#n, n = this.#s?.area;
|
|
21237
21263
|
if (n?.kind !== "lasso") return !1;
|
|
21238
21264
|
let [r, i] = n.ring[0];
|
|
21239
|
-
return t.latLngToContainerPoint([i, r]).distanceTo(t.mouseEventToContainerPoint(e)) <=
|
|
21265
|
+
return t.latLngToContainerPoint([i, r]).distanceTo(t.mouseEventToContainerPoint(e)) <= ut;
|
|
21240
21266
|
}
|
|
21241
|
-
#
|
|
21242
|
-
this.#
|
|
21267
|
+
#V(e) {
|
|
21268
|
+
this.#g.tool && e.stopPropagation();
|
|
21243
21269
|
}
|
|
21244
|
-
#
|
|
21245
|
-
if (!this.#
|
|
21270
|
+
#H(e) {
|
|
21271
|
+
if (!this.#g.tool) return;
|
|
21246
21272
|
e.stopPropagation(), e.preventDefault();
|
|
21247
21273
|
let t = this.#s?.area;
|
|
21248
|
-
t?.kind === "lasso" && t.ring.length > 2 && this.#
|
|
21274
|
+
t?.kind === "lasso" && t.ring.length > 2 && this.#U();
|
|
21249
21275
|
}
|
|
21250
|
-
#
|
|
21276
|
+
#U() {
|
|
21251
21277
|
let e = this.#s?.area;
|
|
21252
|
-
this.#
|
|
21278
|
+
this.#G(), e && (e.kind === "lasso" ? e.ring.length > 2 && !Oe(e.ring) : e.radiusKm > 0) && this.#g.drawn(e);
|
|
21253
21279
|
}
|
|
21254
|
-
#
|
|
21255
|
-
#
|
|
21256
|
-
this.#s = null, this.#o &&
|
|
21280
|
+
#W;
|
|
21281
|
+
#G() {
|
|
21282
|
+
this.#s = null, this.#o && _(c, this.#o), cancelAnimationFrame(this.#J), this.#X(null);
|
|
21257
21283
|
}
|
|
21258
|
-
#
|
|
21284
|
+
#K() {
|
|
21259
21285
|
return [this.#a, this.#o].flatMap((e) => e ? [...e.querySelectorAll(".lintje-map-chart__symbol")] : []);
|
|
21260
21286
|
}
|
|
21261
|
-
#
|
|
21287
|
+
#q(e) {
|
|
21262
21288
|
let t = this.#s;
|
|
21263
21289
|
if (!t || !this.#o) return;
|
|
21264
21290
|
let n = e && t.area.kind === "lasso" ? {
|
|
21265
21291
|
kind: "lasso",
|
|
21266
21292
|
ring: [...t.area.ring, e]
|
|
21267
21293
|
} : t.area;
|
|
21268
|
-
|
|
21294
|
+
_(tt(n, this.#O, !0), this.#o), this.#N(), this.#Y(n);
|
|
21269
21295
|
}
|
|
21270
|
-
#
|
|
21271
|
-
#
|
|
21272
|
-
cancelAnimationFrame(this.#
|
|
21296
|
+
#J;
|
|
21297
|
+
#Y(e) {
|
|
21298
|
+
cancelAnimationFrame(this.#J), this.#J = requestAnimationFrame(() => this.#X(e));
|
|
21273
21299
|
}
|
|
21274
|
-
#
|
|
21275
|
-
let t = this.#a, n = this.#
|
|
21300
|
+
#X(e) {
|
|
21301
|
+
let t = this.#a, n = this.#_;
|
|
21276
21302
|
if (!t || !n) return;
|
|
21277
|
-
let r = e && (e.kind === "lasso" ? e.ring.length > 2 : e.radiusKm > 0) && this.#s != null, i = new Set(r ?
|
|
21303
|
+
let r = e && (e.kind === "lasso" ? e.ring.length > 2 : e.radiusKm > 0) && this.#s != null, i = new Set(r ? ze(e, this.#j(n), n.geo) : []);
|
|
21278
21304
|
for (let e of t.querySelectorAll("[data-mark-id]")) e.classList.toggle("is-preview", i.has(e.getAttribute("data-mark-id")));
|
|
21279
21305
|
t.classList.toggle("is-previewing", r === !0);
|
|
21280
21306
|
}
|
|
21281
|
-
#
|
|
21307
|
+
#Z(e) {
|
|
21282
21308
|
let t = this.#n, n = this.#t;
|
|
21283
|
-
if (!t || !n || !
|
|
21309
|
+
if (!t || !n || !ve(e)) return;
|
|
21284
21310
|
let r = n.getBoundingClientRect(), i = e.getBoundingClientRect(), a = {
|
|
21285
21311
|
left: i.left - r.left,
|
|
21286
21312
|
right: i.right - r.left,
|
|
@@ -21291,16 +21317,16 @@ var vt = class {
|
|
|
21291
21317
|
top: 0,
|
|
21292
21318
|
right: o.x,
|
|
21293
21319
|
bottom: o.y
|
|
21294
|
-
}, c = n.parentElement ?
|
|
21320
|
+
}, c = n.parentElement ? fe(n.parentElement).map((e) => ({
|
|
21295
21321
|
left: e.left - r.left,
|
|
21296
21322
|
right: e.right - r.left,
|
|
21297
21323
|
top: e.top - r.top,
|
|
21298
21324
|
bottom: e.bottom - r.top
|
|
21299
|
-
})) : [], l = !
|
|
21300
|
-
u ? (u[0] || u[1]) && t.panBy([-u[0], -u[1]], { animate: l }) :
|
|
21325
|
+
})) : [], l = !y(), u = ge(a, s, c, 8);
|
|
21326
|
+
u ? (u[0] || u[1]) && t.panBy([-u[0], -u[1]], { animate: l }) : _e(a, s, c) && t.panBy([(a.left + a.right) / 2 - o.x / 2, (a.top + a.bottom) / 2 - o.y / 2], { animate: l });
|
|
21301
21327
|
}
|
|
21302
21328
|
};
|
|
21303
|
-
function
|
|
21329
|
+
function _t(e) {
|
|
21304
21330
|
return [
|
|
21305
21331
|
0,
|
|
21306
21332
|
1,
|
|
@@ -21310,24 +21336,24 @@ function yt(e) {
|
|
|
21310
21336
|
5
|
|
21311
21337
|
].map((t) => e * t / 5);
|
|
21312
21338
|
}
|
|
21313
|
-
function
|
|
21314
|
-
return Math.abs(e) >= 1e4 ?
|
|
21339
|
+
function vt(e) {
|
|
21340
|
+
return Math.abs(e) >= 1e4 ? d(e) : s(e, +!Number.isInteger(e));
|
|
21315
21341
|
}
|
|
21316
|
-
function
|
|
21342
|
+
function yt(e, t) {
|
|
21317
21343
|
let { max: n, unit: r } = e;
|
|
21318
|
-
if (!t) return
|
|
21344
|
+
if (!t) return p`<span class="lintje-map-legend__key">
|
|
21319
21345
|
<span class="lintje-map-legend__figure">0</span>
|
|
21320
|
-
<span class="lintje-map-legend__ramp">${
|
|
21321
|
-
<span class="lintje-map-legend__figure">${
|
|
21346
|
+
<span class="lintje-map-legend__ramp">${Be.map((e) => p`<i ${o({ background: e })}></i>`)}</span>
|
|
21347
|
+
<span class="lintje-map-legend__figure">${R(d(n), r)}</span>
|
|
21322
21348
|
</span>`;
|
|
21323
|
-
let i =
|
|
21324
|
-
label:
|
|
21349
|
+
let i = _t(n), a = Be.map((e, t) => ({
|
|
21350
|
+
label: R(`${vt(i[t])} – ${vt(i[t + 1])}`, t === 4 ? r : ""),
|
|
21325
21351
|
color: e,
|
|
21326
21352
|
fixed: !0
|
|
21327
21353
|
}));
|
|
21328
|
-
return
|
|
21354
|
+
return p`<span class="lintje-map-legend__key lintje-map-legend__classes">${w({ items: a })}</span>`;
|
|
21329
21355
|
}
|
|
21330
|
-
function
|
|
21356
|
+
function bt(e, t) {
|
|
21331
21357
|
let n = Math.sqrt(Math.max(e, 1) * t), r = t / 4;
|
|
21332
21358
|
for (let i = 10 ** Math.floor(Math.log10(Math.max(e, 1))); i <= t; i *= 10) for (let a of [
|
|
21333
21359
|
1,
|
|
@@ -21339,60 +21365,60 @@ function H(e, t) {
|
|
|
21339
21365
|
}
|
|
21340
21366
|
return r;
|
|
21341
21367
|
}
|
|
21342
|
-
function
|
|
21343
|
-
let { min: n, max: r, unit:
|
|
21344
|
-
if (!t || n >= r) return
|
|
21368
|
+
function V(e, t) {
|
|
21369
|
+
let { min: n, max: r, unit: i } = e, a = R(`${d(n)} – ${d(r)}`, i);
|
|
21370
|
+
if (!t || n >= r) return p`<span class="lintje-map-legend__key">
|
|
21345
21371
|
<svg class="lintje-map-legend__sizes" width="49" height="22" aria-hidden="true">
|
|
21346
21372
|
<circle cx="4" cy="11" r="3" /><circle cx="17.5" cy="11" r="6.5" /><circle cx="38" cy="11" r="10" />
|
|
21347
21373
|
</svg>
|
|
21348
|
-
<span class="lintje-map-legend__figure">${
|
|
21374
|
+
<span class="lintje-map-legend__figure">${a}</span>
|
|
21349
21375
|
</span>`;
|
|
21350
|
-
let
|
|
21376
|
+
let o = bt(n, r), s = [
|
|
21351
21377
|
14,
|
|
21352
21378
|
31,
|
|
21353
21379
|
46
|
|
21354
|
-
],
|
|
21380
|
+
], c = [
|
|
21355
21381
|
r,
|
|
21356
|
-
|
|
21382
|
+
o,
|
|
21357
21383
|
n
|
|
21358
21384
|
].map((e, t) => {
|
|
21359
|
-
let n =
|
|
21385
|
+
let n = Ue(e, r);
|
|
21360
21386
|
return {
|
|
21361
21387
|
r: n,
|
|
21362
21388
|
top: 46 - 2 * n,
|
|
21363
|
-
line:
|
|
21364
|
-
label:
|
|
21389
|
+
line: s[t],
|
|
21390
|
+
label: R(d(e), t === 0 ? i : "")
|
|
21365
21391
|
};
|
|
21366
21392
|
});
|
|
21367
|
-
return
|
|
21393
|
+
return p`<span class="lintje-map-legend__key">
|
|
21368
21394
|
<svg class="lintje-map-legend__sizes lintje-map-legend__sizes--nested" width="150" height="48" aria-hidden="true">
|
|
21369
|
-
${
|
|
21395
|
+
${c.map(({ r: e, top: t, line: n, label: r }) => g`
|
|
21370
21396
|
<circle cx="19" cy=${46 - e} r=${e} />
|
|
21371
21397
|
<line x1="19" y1=${t} x2="48" y2=${n - 4} />
|
|
21372
21398
|
<text x="52" y=${n}>${r}</text>`)}
|
|
21373
21399
|
</svg>
|
|
21374
21400
|
</span>`;
|
|
21375
21401
|
}
|
|
21376
|
-
function
|
|
21402
|
+
function H(e) {
|
|
21377
21403
|
let { min: t, max: n, unit: r } = e;
|
|
21378
|
-
return
|
|
21404
|
+
return p`<span class="lintje-map-legend__key">
|
|
21379
21405
|
<svg class="lintje-map-legend__wedge" width="58" height="12" aria-hidden="true"><path d="M0 5.5 L58 2 L58 10 L0 6.5 Z" /></svg>
|
|
21380
|
-
<span class="lintje-map-legend__figure">${
|
|
21406
|
+
<span class="lintje-map-legend__figure">${R(`${d(t)} – ${d(n)}`, r)}</span>
|
|
21381
21407
|
</span>`;
|
|
21382
21408
|
}
|
|
21383
|
-
function
|
|
21409
|
+
function xt(e, t) {
|
|
21384
21410
|
let { variant: n } = e;
|
|
21385
|
-
return n === "choropleth" || n === "polygons" ?
|
|
21411
|
+
return n === "choropleth" || n === "polygons" ? yt(e, t) : n === "flows" ? H(e) : V(e, t);
|
|
21386
21412
|
}
|
|
21387
|
-
function
|
|
21413
|
+
function St(e, t) {
|
|
21388
21414
|
let n = [];
|
|
21389
21415
|
for (let [r, i] of Object.entries(e.seriesLabels ?? {})) {
|
|
21390
21416
|
if (!i || !e.values.some((e) => e.series === r)) continue;
|
|
21391
|
-
let a =
|
|
21417
|
+
let a = We(e, r);
|
|
21392
21418
|
n.push({
|
|
21393
21419
|
key: a,
|
|
21394
21420
|
label: i,
|
|
21395
|
-
color:
|
|
21421
|
+
color: ce(r),
|
|
21396
21422
|
symbol: r,
|
|
21397
21423
|
shape: "point",
|
|
21398
21424
|
hidden: t.includes(a)
|
|
@@ -21404,48 +21430,48 @@ function wt(e, t) {
|
|
|
21404
21430
|
fixed: !0
|
|
21405
21431
|
}), n;
|
|
21406
21432
|
}
|
|
21407
|
-
function
|
|
21408
|
-
let { drawings: t, hiddenLayers:
|
|
21409
|
-
return
|
|
21433
|
+
function Ct(e) {
|
|
21434
|
+
let { drawings: t, hiddenLayers: n, hiddenSeries: r, expanded: i, mobile: a, open: o } = e, s = !i && !o && t.length > 3, l = s ? t.slice(0, 3) : t, u = ["lintje-map-legend", a ? "lintje-map-legend--narrow" : ""].join(" ");
|
|
21435
|
+
return p`
|
|
21410
21436
|
<div class=${u} role="group" aria-label="Legenda">
|
|
21411
21437
|
${l.map((t) => {
|
|
21412
|
-
let
|
|
21438
|
+
let a = n.includes(t.index), o = St(t, r).map((e) => a ? {
|
|
21413
21439
|
...e,
|
|
21414
21440
|
hidden: !0,
|
|
21415
21441
|
fixed: !0
|
|
21416
21442
|
} : e);
|
|
21417
|
-
return
|
|
21418
|
-
<button type="button" class="lintje-map-legend__layer ${
|
|
21419
|
-
aria-pressed=${!
|
|
21420
|
-
<span class="lintje-map-legend__box" aria-hidden="true">${
|
|
21443
|
+
return p`
|
|
21444
|
+
<button type="button" class="lintje-map-legend__layer ${a ? "is-off" : ""}"
|
|
21445
|
+
aria-pressed=${!a} @click=${() => e.onLayer(t.index)}>
|
|
21446
|
+
<span class="lintje-map-legend__box" aria-hidden="true">${v("functioneel-vinkje", { size: 10 })}</span>
|
|
21421
21447
|
<span class="lintje-map-legend__name">${t.name}</span>
|
|
21422
21448
|
</button>
|
|
21423
|
-
<div class="lintje-map-legend__keys ${
|
|
21424
|
-
${
|
|
21425
|
-
${
|
|
21426
|
-
items:
|
|
21449
|
+
<div class="lintje-map-legend__keys ${a ? "is-off" : ""}">
|
|
21450
|
+
${xt(t, i)}
|
|
21451
|
+
${o.length > 0 ? p`<span class="lintje-map-legend__rule" aria-hidden="true"></span>${w({
|
|
21452
|
+
items: o,
|
|
21427
21453
|
onToggle: e.onSeries
|
|
21428
|
-
})}` :
|
|
21454
|
+
})}` : c}
|
|
21429
21455
|
</div>
|
|
21430
21456
|
`;
|
|
21431
21457
|
})}
|
|
21432
|
-
${!
|
|
21433
|
-
@click=${() => e.onOpen(
|
|
21434
|
-
${
|
|
21435
|
-
${
|
|
21458
|
+
${!i && t.length > 3 ? p`<button type="button" class="lintje-map-legend__more" aria-expanded=${!s}
|
|
21459
|
+
@click=${() => e.onOpen(s)}>
|
|
21460
|
+
${s ? `Nog ${t.length - 3} ${t.length - 3 == 1 ? "laag" : "lagen"}` : "Minder lagen"}
|
|
21461
|
+
${v("functioneel-delta-omlaag", {
|
|
21436
21462
|
size: 12,
|
|
21437
|
-
rotate:
|
|
21463
|
+
rotate: s ? void 0 : 180
|
|
21438
21464
|
})}
|
|
21439
|
-
</button>` :
|
|
21465
|
+
</button>` : c}
|
|
21440
21466
|
</div>
|
|
21441
21467
|
`;
|
|
21442
21468
|
}
|
|
21443
21469
|
//#endregion
|
|
21444
21470
|
//#region src/components/shared/charts/map-chart/map-chart.ts
|
|
21445
|
-
var
|
|
21471
|
+
var wt = {
|
|
21446
21472
|
desktop: 400,
|
|
21447
21473
|
mobile: 280
|
|
21448
|
-
},
|
|
21474
|
+
}, U = {
|
|
21449
21475
|
zoom: !0,
|
|
21450
21476
|
wheel: !0,
|
|
21451
21477
|
drag: !0,
|
|
@@ -21455,7 +21481,7 @@ var W = {
|
|
|
21455
21481
|
rect: !1,
|
|
21456
21482
|
scale: !0,
|
|
21457
21483
|
legend: !0
|
|
21458
|
-
},
|
|
21484
|
+
}, W = [
|
|
21459
21485
|
{
|
|
21460
21486
|
tool: "lasso",
|
|
21461
21487
|
name: "functioneel-lasso",
|
|
@@ -21474,7 +21500,7 @@ var W = {
|
|
|
21474
21500
|
text: "Rechthoek",
|
|
21475
21501
|
label: "Selecteer met een rechthoek"
|
|
21476
21502
|
}
|
|
21477
|
-
],
|
|
21503
|
+
], Tt = {
|
|
21478
21504
|
lasso: {
|
|
21479
21505
|
full: "Sleep om te kiezen, of klik de hoeken · Escape stopt",
|
|
21480
21506
|
short: "Sleep om te kiezen"
|
|
@@ -21487,290 +21513,289 @@ var W = {
|
|
|
21487
21513
|
full: "Sleep van hoek naar hoek, of klik twee hoeken · Escape stopt",
|
|
21488
21514
|
short: "Sleep van hoek naar hoek"
|
|
21489
21515
|
}
|
|
21490
|
-
},
|
|
21491
|
-
function
|
|
21516
|
+
}, Et = 200, G = 1500;
|
|
21517
|
+
function Dt(e) {
|
|
21492
21518
|
return e.ctrlKey || e.metaKey;
|
|
21493
21519
|
}
|
|
21494
|
-
function
|
|
21495
|
-
return -(e.deltaMode === 1 ? e.deltaY * 16 : e.deltaMode === 2 ? e.deltaY * 400 : e.deltaY) /
|
|
21520
|
+
function Ot(e) {
|
|
21521
|
+
return -(e.deltaMode === 1 ? e.deltaY * 16 : e.deltaMode === 2 ? e.deltaY * 400 : e.deltaY) / Et;
|
|
21496
21522
|
}
|
|
21497
|
-
function
|
|
21523
|
+
function kt() {
|
|
21498
21524
|
let e = navigator.userAgentData?.platform;
|
|
21499
21525
|
return `Gebruik ${/mac|iphone|ipad/i.test(e ?? navigator.platform) ? "⌘" : "Ctrl"} + scrollen om te zoomen`;
|
|
21500
21526
|
}
|
|
21501
|
-
function
|
|
21502
|
-
e.mapHint =
|
|
21527
|
+
function K(e) {
|
|
21528
|
+
e.mapHint = kt(), e.mapHintTimer && clearTimeout(e.mapHintTimer), e.mapHintTimer = setTimeout(() => {
|
|
21503
21529
|
e.mapHint = null, e.mapHintTimer = null, e.requestUpdate();
|
|
21504
|
-
},
|
|
21530
|
+
}, G), e.requestUpdate();
|
|
21505
21531
|
}
|
|
21506
|
-
function
|
|
21532
|
+
function At(e) {
|
|
21507
21533
|
let t = e >= 1e3, n = t ? e / 1e3 : e;
|
|
21508
|
-
return `${
|
|
21534
|
+
return `${s(n, +!Number.isInteger(n))} ${t ? "km" : "m"}`;
|
|
21509
21535
|
}
|
|
21510
|
-
function
|
|
21511
|
-
return e.kind === "circle" ? `binnen ${
|
|
21536
|
+
function jt(e) {
|
|
21537
|
+
return e.kind === "circle" ? `binnen ${s(Math.round(e.radiusKm * 10) / 10)} km` : De(e.ring) ? "binnen de rechthoek" : "binnen de getekende lijn";
|
|
21512
21538
|
}
|
|
21513
|
-
function
|
|
21514
|
-
let { controller:
|
|
21515
|
-
...
|
|
21539
|
+
function Mt(e, t) {
|
|
21540
|
+
let { controller: n, description: r = e.description, mobile: i = !1, onSelect: a, onClear: l, onLayerChange: u, onArea: d } = t, { unit: f = "aantal", selectedId: g = null, selectedArea: _ = null, layers: y, layer: ee, basemap: ne, selectLabel: re = "Zet als bereik" } = e, ie = !!t.expanded, b = {
|
|
21541
|
+
...U,
|
|
21516
21542
|
...e.controls
|
|
21517
|
-
},
|
|
21518
|
-
|
|
21543
|
+
}, x = W.filter((e) => b[e.tool]);
|
|
21544
|
+
n.mapTool && !b[n.mapTool] && (n.mapTool = null), n.mapLastTool && !b[n.mapLastTool] && (n.mapLastTool = null), n.measure(ie ? {
|
|
21519
21545
|
width: !0,
|
|
21520
21546
|
height: "--chart-h-main",
|
|
21521
|
-
fit: !
|
|
21547
|
+
fit: !i
|
|
21522
21548
|
} : {});
|
|
21523
|
-
let
|
|
21524
|
-
|
|
21525
|
-
let
|
|
21526
|
-
|
|
21527
|
-
let
|
|
21528
|
-
for (let e of se) for (let t of e.values)
|
|
21529
|
-
let j =
|
|
21530
|
-
let e =
|
|
21531
|
-
e != null && (
|
|
21549
|
+
let oe = ie ? n.height : t.height ?? e.height ?? (i ? wt.mobile : wt.desktop), se = be(e, f);
|
|
21550
|
+
n.hostSelection !== g && (n.hostSelection = g, n.mapSelection = g);
|
|
21551
|
+
let w = JSON.stringify(_);
|
|
21552
|
+
n.hostArea !== w && (n.hostArea = w, n.mapArea = _);
|
|
21553
|
+
let T = x.length > 0 ? n.mapArea : null, D = T ? ze(T, se, e.geo) : [], O = n.mapSelection, k = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map();
|
|
21554
|
+
for (let e of se) for (let t of e.values) k.set(t.id, t), A.set(t.id, e);
|
|
21555
|
+
let j = O ? k.get(O) : void 0, M = j ? A.get(j.id) : void 0, N = (e) => e.series && A.get(e.id)?.seriesLabels?.[e.series] || void 0, le = n.hiddenLayers, ue = n.hiddenSeries, P = () => {
|
|
21556
|
+
let e = n.mapSelection;
|
|
21557
|
+
e != null && (n.mapSelection = null, l?.(e), n.requestUpdate());
|
|
21532
21558
|
}, de = () => {
|
|
21533
|
-
|
|
21559
|
+
n.mapArea && (n.mapArea = null, d?.(null, []), n.requestUpdate());
|
|
21534
21560
|
}, fe = (e) => {
|
|
21535
|
-
if (e.id ===
|
|
21536
|
-
|
|
21561
|
+
if (e.id === O) return P();
|
|
21562
|
+
n.mapSelection = e.id, a?.(e), n.requestUpdate();
|
|
21537
21563
|
}, pe = (t) => {
|
|
21538
|
-
|
|
21564
|
+
n.mapArea = t, d?.(t, ze(t, se, e.geo)), n.requestUpdate();
|
|
21539
21565
|
}, me = (e) => {
|
|
21540
|
-
|
|
21566
|
+
n.mapTool = e, e && (n.mapLastTool = e), n.requestUpdate();
|
|
21541
21567
|
};
|
|
21542
|
-
if (j && M && (j.series && ue.includes(
|
|
21543
|
-
let he =
|
|
21568
|
+
if (j && M && (j.series && ue.includes(We(M, j.series)) || le.includes(M.index))) return P(), Mt(e, t);
|
|
21569
|
+
let he = n.leaflet ??= new gt(n);
|
|
21544
21570
|
he.sync(e, {
|
|
21545
|
-
unit:
|
|
21546
|
-
active:
|
|
21571
|
+
unit: f,
|
|
21572
|
+
active: O,
|
|
21547
21573
|
hidden: ue,
|
|
21548
21574
|
hiddenLayers: le,
|
|
21549
|
-
area:
|
|
21550
|
-
chosen:
|
|
21551
|
-
tool:
|
|
21552
|
-
drag:
|
|
21553
|
-
zoom:
|
|
21554
|
-
scale:
|
|
21575
|
+
area: T,
|
|
21576
|
+
chosen: D,
|
|
21577
|
+
tool: n.mapTool,
|
|
21578
|
+
drag: b.drag,
|
|
21579
|
+
zoom: b.zoom,
|
|
21580
|
+
scale: b.scale,
|
|
21555
21581
|
drawn: pe,
|
|
21556
21582
|
stopTool: () => me(null),
|
|
21557
21583
|
select: fe,
|
|
21558
21584
|
clear: P,
|
|
21559
|
-
mobile:
|
|
21585
|
+
mobile: i
|
|
21560
21586
|
});
|
|
21561
|
-
let ge =
|
|
21562
|
-
e === "in" ? he.zoomIn() : e === "out" ? he.zoomOut() : (
|
|
21563
|
-
}, ye = `${
|
|
21587
|
+
let ge = ae.filter((e) => e.action === "home" ? b.reset : b.zoom), _e = b.scale ? he.scaleBar() : null, ve = (e) => {
|
|
21588
|
+
e === "in" ? he.zoomIn() : e === "out" ? he.zoomOut() : (n.mapTool = null, P(), de(), he.home());
|
|
21589
|
+
}, ye = `${n.id}-tools`, F = W.find((e) => e.tool === (n.mapTool ?? n.mapLastTool ?? x[0]?.tool)), I = x.map((e) => ({
|
|
21564
21590
|
value: e.tool,
|
|
21565
21591
|
label: e.text,
|
|
21566
21592
|
icon: e.name,
|
|
21567
21593
|
checked: F?.tool === e.tool,
|
|
21568
21594
|
radio: !0
|
|
21569
21595
|
})), xe = (e, t = "first") => {
|
|
21570
|
-
|
|
21571
|
-
}, Se = () =>
|
|
21596
|
+
n.mapMenuOpen = e, n.mapMenuFocus = e ? t : null, n.requestUpdate();
|
|
21597
|
+
}, Se = () => n.element?.querySelector(".lintje-map-chart__tool"), Ce = (e) => {
|
|
21572
21598
|
xe(!1, null), e && Se()?.focus();
|
|
21573
|
-
},
|
|
21574
|
-
let t = e.currentTarget, n =
|
|
21599
|
+
}, we = (e) => [...e.querySelectorAll(".lintje-menu__row")], Te = (e) => {
|
|
21600
|
+
let t = e.currentTarget, n = we(t), r = t.getRootNode().activeElement, i = n.findIndex((e) => e === r), a = (e) => {
|
|
21575
21601
|
e >= 0 && n[e]?.focus();
|
|
21576
21602
|
};
|
|
21577
21603
|
switch (e.key) {
|
|
21578
|
-
case "ArrowDown": return e.preventDefault(), a(
|
|
21579
|
-
case "ArrowUp": return e.preventDefault(), a(
|
|
21580
|
-
case "Home": return e.preventDefault(), a(
|
|
21581
|
-
case "End": return e.preventDefault(), a(
|
|
21604
|
+
case "ArrowDown": return e.preventDefault(), a(te(I, i, 1));
|
|
21605
|
+
case "ArrowUp": return e.preventDefault(), a(te(I, i < 0 ? I.length : i, -1));
|
|
21606
|
+
case "Home": return e.preventDefault(), a(te(I, -1, 1));
|
|
21607
|
+
case "End": return e.preventDefault(), a(te(I, I.length, -1));
|
|
21582
21608
|
case "Tab": return e.shiftKey || Se()?.focus(), Ce(!1);
|
|
21583
21609
|
default: return;
|
|
21584
21610
|
}
|
|
21585
|
-
},
|
|
21586
|
-
let t =
|
|
21587
|
-
e && t && (
|
|
21588
|
-
let n =
|
|
21611
|
+
}, Ee = (e) => {
|
|
21612
|
+
let t = n.mapMenuFocus;
|
|
21613
|
+
e && t && (n.mapMenuFocus = null, (e.closest("lintje-popover")?.updateComplete ?? Promise.resolve()).then(() => {
|
|
21614
|
+
let n = we(e);
|
|
21589
21615
|
n[t === "first" ? 0 : t === "last" ? n.length - 1 : Math.max(0, n.findIndex((e) => e.getAttribute("aria-checked") === "true"))]?.focus();
|
|
21590
21616
|
}));
|
|
21591
|
-
},
|
|
21617
|
+
}, De = (e) => {
|
|
21592
21618
|
Ce(!0), me(e);
|
|
21593
|
-
},
|
|
21594
|
-
if (
|
|
21595
|
-
let e = ge.length > 0 ? "lintje-map-chart__tip--first" : "", t =
|
|
21596
|
-
return
|
|
21597
|
-
<lintje-tooltip class="lintje-map-chart__tip ${e}" text=${
|
|
21619
|
+
}, Oe = () => {
|
|
21620
|
+
if (x.length === 0 || !F) return c;
|
|
21621
|
+
let e = ge.length > 0 ? "lintje-map-chart__tip--first" : "", t = n.mapTool === F.tool, r = x.length > 1, i = n.mapMenuOpen, a = t ? "Stop met selecteren" : r ? "Selecteren" : F.label, o = t || !r ? F.name : "functioneel-selectie", s = h(o, p`<span class="lintje-map-chart__tool-icon">${S(o, t || !r ? F.text : "Kies")}</span>`);
|
|
21622
|
+
return p`
|
|
21623
|
+
<lintje-tooltip class="lintje-map-chart__tip ${e}" text=${a} placement="left" no-describe>
|
|
21598
21624
|
<button type="button"
|
|
21599
|
-
class="lintje-map-chart__zoom-button lintje-map-chart__tool ${
|
|
21600
|
-
aria-label=${
|
|
21601
|
-
aria-haspopup=${
|
|
21602
|
-
aria-controls=${
|
|
21625
|
+
class="lintje-map-chart__zoom-button lintje-map-chart__tool ${r ? "lintje-map-chart__tool--menu" : ""} ${t ? "is-active" : ""}"
|
|
21626
|
+
aria-label=${a} aria-pressed=${t}
|
|
21627
|
+
aria-haspopup=${r && !t ? "menu" : c} aria-expanded=${r && !t ? String(i) : c}
|
|
21628
|
+
aria-controls=${r && !t ? ye : c}
|
|
21603
21629
|
@click=${() => {
|
|
21604
|
-
t ? me(null) :
|
|
21630
|
+
t ? me(null) : r ? xe(!i, "checked") : me(F.tool);
|
|
21605
21631
|
}}
|
|
21606
21632
|
@keydown=${(e) => {
|
|
21607
|
-
!
|
|
21608
|
-
}}>${
|
|
21633
|
+
!r || t || e.key !== "ArrowDown" && e.key !== "ArrowUp" || (e.preventDefault(), xe(!0, e.key === "ArrowDown" ? "first" : "last"));
|
|
21634
|
+
}}>${s}</button>
|
|
21609
21635
|
</lintje-tooltip>
|
|
21610
|
-
${
|
|
21636
|
+
${r ? ke(i) : c}
|
|
21611
21637
|
`;
|
|
21612
|
-
},
|
|
21638
|
+
}, ke = (e) => p`
|
|
21613
21639
|
<lintje-popover id=${ye} panel-role="menu" label="Andere vorm" placement="left-start" ?open=${e}
|
|
21614
21640
|
@lintje-close=${(e) => {
|
|
21615
21641
|
e.stopPropagation(), Ce(e.detail?.reason === "escape");
|
|
21616
21642
|
}}>
|
|
21617
|
-
${e ?
|
|
21618
|
-
${
|
|
21643
|
+
${e ? p`<div class="lintje-menu lintje-map-chart__menu" ${m(Ee)} @keydown=${Te}>
|
|
21644
|
+
${I.map((e) => p`
|
|
21619
21645
|
<button type="button" class="lintje-menu__row focus-inset" role="menuitemradio" tabindex="-1"
|
|
21620
21646
|
aria-checked=${String(e.checked)}
|
|
21621
|
-
@click=${() =>
|
|
21622
|
-
${
|
|
21647
|
+
@click=${() => De(e.value)}>
|
|
21648
|
+
${v(e.icon, {
|
|
21623
21649
|
size: 16,
|
|
21624
21650
|
className: "lintje-menu__icon"
|
|
21625
21651
|
})}
|
|
21626
21652
|
<span class="lintje-menu__label">${e.label}</span>
|
|
21627
|
-
${e.checked ?
|
|
21653
|
+
${e.checked ? v("functioneel-vinkje", {
|
|
21628
21654
|
size: 16,
|
|
21629
21655
|
className: "lintje-menu__check"
|
|
21630
|
-
}) :
|
|
21656
|
+
}) : c}
|
|
21631
21657
|
</button>`)}
|
|
21632
|
-
</div>` :
|
|
21658
|
+
</div>` : c}
|
|
21633
21659
|
</lintje-popover>
|
|
21634
|
-
`,
|
|
21635
|
-
let e =
|
|
21636
|
-
return j ?
|
|
21660
|
+
`, Ae = () => {
|
|
21661
|
+
let e = i ? "lintje-map-chart__selection--below" : "";
|
|
21662
|
+
return j ? p`
|
|
21637
21663
|
<div class="lintje-map-chart__selection ${e}">
|
|
21638
21664
|
<span class="lintje-map-chart__selection-title">Geselecteerd</span>
|
|
21639
21665
|
<!-- The way out of a selection that is always there, for mouse and
|
|
21640
21666
|
keyboard alike; the focus goes back to the mark it had. -->
|
|
21641
21667
|
<button type="button" class="lintje-map-chart__selection-close"
|
|
21642
21668
|
aria-label="Selectie opheffen"
|
|
21643
|
-
@click=${() => P()}>${
|
|
21669
|
+
@click=${() => P()}>${v("functioneel-kruis", { size: 14 })}</button>
|
|
21644
21670
|
<b>${j.label}</b>
|
|
21645
|
-
${N(j) ?
|
|
21671
|
+
${N(j) ? p`<span class="lintje-map-chart__selection-series">
|
|
21646
21672
|
<svg class="lintje-map-chart__series-swatch" viewBox="0 0 14 14" aria-hidden="true" focusable="false">
|
|
21647
|
-
<path d=${
|
|
21673
|
+
<path d=${C(j.series, 5.5, 7, 7)} fill=${ce(j.series) ?? "currentColor"} />
|
|
21648
21674
|
</svg>${N(j)}
|
|
21649
|
-
</span>` :
|
|
21675
|
+
</span>` : c}
|
|
21650
21676
|
<span class="lintje-map-chart__selection-value">
|
|
21651
|
-
${j.value == null ? "geen gegevens" :
|
|
21677
|
+
${j.value == null ? "geen gegevens" : R(s(j.value), M?.unit ?? f)}${j.detail ? ` · ${j.detail}` : ""}
|
|
21652
21678
|
</span>
|
|
21653
21679
|
<!-- Only when the mark carries a URL the host minted: without one
|
|
21654
21680
|
the link had nowhere to go and did nothing. -->
|
|
21655
|
-
${
|
|
21681
|
+
${a && j.href ? p`
|
|
21656
21682
|
<button type="button" class="lintje-map-chart__set-scope"
|
|
21657
|
-
@click=${() =>
|
|
21658
|
-
${
|
|
21683
|
+
@click=${() => a(j)}>
|
|
21684
|
+
${re} ${v("functioneel-locatiemarker", { size: 14 })}
|
|
21659
21685
|
</button>
|
|
21660
|
-
` :
|
|
21686
|
+
` : c}
|
|
21661
21687
|
</div>
|
|
21662
|
-
` :
|
|
21688
|
+
` : T ? p`
|
|
21663
21689
|
<div class="lintje-map-chart__selection ${e}">
|
|
21664
21690
|
<span class="lintje-map-chart__selection-title">Geselecteerd</span>
|
|
21665
21691
|
<button type="button" class="lintje-map-chart__selection-close"
|
|
21666
21692
|
aria-label="Selectie opheffen"
|
|
21667
|
-
@click=${() => de()}>${
|
|
21668
|
-
<b>${
|
|
21669
|
-
<span class="lintje-map-chart__selection-value">${
|
|
21693
|
+
@click=${() => de()}>${v("functioneel-kruis", { size: 14 })}</button>
|
|
21694
|
+
<b>${D.length === 0 ? "Niets" : D.length === 1 ? "1 op de kaart" : `${s(D.length)} op de kaart`}</b>
|
|
21695
|
+
<span class="lintje-map-chart__selection-value">${jt(T)}</span>
|
|
21670
21696
|
</div>
|
|
21671
|
-
` :
|
|
21672
|
-
},
|
|
21673
|
-
return
|
|
21674
|
-
<div class="lintje-map-chart ${
|
|
21675
|
-
${
|
|
21697
|
+
` : c;
|
|
21698
|
+
}, je = n.mapHint ? n.mapHint : n.mapTool ? Tt[n.mapTool][i ? "short" : "full"] : null;
|
|
21699
|
+
return p`
|
|
21700
|
+
<div class="lintje-map-chart ${i ? "lintje-map-chart--mobile" : ""} ${ne ? "lintje-map-chart--basemap" : ""}"
|
|
21701
|
+
${m(n.attach)} ?data-in-view=${n.inView}
|
|
21676
21702
|
@keydown=${(e) => {
|
|
21677
21703
|
if (e.key === "Escape") {
|
|
21678
|
-
if (
|
|
21679
|
-
else if (
|
|
21680
|
-
else if (
|
|
21704
|
+
if (n.mapTool) n.mapTool = null;
|
|
21705
|
+
else if (O) P();
|
|
21706
|
+
else if (T) de();
|
|
21681
21707
|
else return;
|
|
21682
|
-
e.stopPropagation(),
|
|
21708
|
+
e.stopPropagation(), n.requestUpdate();
|
|
21683
21709
|
}
|
|
21684
21710
|
}}>
|
|
21685
|
-
${
|
|
21711
|
+
${b.legend ? Ct({
|
|
21686
21712
|
drawings: se,
|
|
21687
21713
|
hiddenLayers: le,
|
|
21688
21714
|
hiddenSeries: ue,
|
|
21689
|
-
expanded:
|
|
21690
|
-
mobile:
|
|
21691
|
-
open:
|
|
21692
|
-
onLayer: (e) =>
|
|
21693
|
-
onSeries: (e) =>
|
|
21715
|
+
expanded: ie,
|
|
21716
|
+
mobile: i,
|
|
21717
|
+
open: n.mapLegendOpen,
|
|
21718
|
+
onLayer: (e) => n.toggleLayer(e),
|
|
21719
|
+
onSeries: (e) => n.toggleSeries(e),
|
|
21694
21720
|
onOpen: (e) => {
|
|
21695
|
-
|
|
21721
|
+
n.mapLegendOpen = e, n.requestUpdate();
|
|
21696
21722
|
}
|
|
21697
|
-
}) :
|
|
21698
|
-
<div class="lintje-map-chart__area" ${
|
|
21723
|
+
}) : c}
|
|
21724
|
+
<div class="lintje-map-chart__area" ${o({ height: `${oe}px` })} data-tooltip-anchor
|
|
21699
21725
|
@wheel=${{
|
|
21700
21726
|
handleEvent: (e) => {
|
|
21701
|
-
if (
|
|
21702
|
-
if (!
|
|
21703
|
-
e.preventDefault(), he.zoomBy(e,
|
|
21727
|
+
if (b.wheel) {
|
|
21728
|
+
if (!Dt(e)) return K(n);
|
|
21729
|
+
e.preventDefault(), he.zoomBy(e, Ot(e));
|
|
21704
21730
|
}
|
|
21705
21731
|
},
|
|
21706
21732
|
passive: !1
|
|
21707
21733
|
}}>
|
|
21708
|
-
<p class="visually-hidden">${
|
|
21709
|
-
<div class="lintje-map-chart__leaflet" ${
|
|
21710
|
-
${
|
|
21734
|
+
<p class="visually-hidden">${r}</p>
|
|
21735
|
+
<div class="lintje-map-chart__leaflet" ${m(he.attach)}></div>
|
|
21736
|
+
${E(n)}
|
|
21711
21737
|
|
|
21712
21738
|
<!-- Layer switcher top left. -->
|
|
21713
|
-
${
|
|
21739
|
+
${y && y.length > 1 ? p`
|
|
21714
21740
|
<div class="lintje-map-chart__layers" role="group" aria-label="Kaartlaag">
|
|
21715
|
-
${
|
|
21741
|
+
${y.map((e) => p`
|
|
21716
21742
|
<button type="button"
|
|
21717
|
-
class="lintje-map-chart__layer ${e.value ===
|
|
21718
|
-
aria-pressed=${e.value ===
|
|
21719
|
-
@click=${() =>
|
|
21743
|
+
class="lintje-map-chart__layer ${e.value === ee ? "is-active" : ""}"
|
|
21744
|
+
aria-pressed=${e.value === ee}
|
|
21745
|
+
@click=${() => u?.(e.value)}>${e.label}</button>
|
|
21720
21746
|
`)}
|
|
21721
21747
|
</div>
|
|
21722
|
-
` :
|
|
21748
|
+
` : c}
|
|
21723
21749
|
|
|
21724
|
-
${
|
|
21750
|
+
${je ? p`<p class="lintje-map-chart__hint" role="status">${je}</p>` : c}
|
|
21725
21751
|
|
|
21726
21752
|
<!-- Zoom, reset and the drawing tools top right, those the host keeps. -->
|
|
21727
|
-
${ge.length +
|
|
21753
|
+
${ge.length + x.length > 0 ? p`
|
|
21728
21754
|
<div class="lintje-map-chart__zoom">
|
|
21729
|
-
${ge.map((e) =>
|
|
21755
|
+
${ge.map((e) => p`
|
|
21730
21756
|
<lintje-tooltip class="lintje-map-chart__tip" text=${e.label} placement="left" no-describe>
|
|
21731
21757
|
<button type="button" class="lintje-map-chart__zoom-button" aria-label=${e.label}
|
|
21732
|
-
@click=${() => ve(e.action)}>${
|
|
21758
|
+
@click=${() => ve(e.action)}>${S(e.name, e.text, 16, "flip" in e ? e.flip : void 0)}</button>
|
|
21733
21759
|
</lintje-tooltip>
|
|
21734
21760
|
`)}
|
|
21735
|
-
${
|
|
21761
|
+
${Oe()}
|
|
21736
21762
|
</div>
|
|
21737
|
-
` :
|
|
21763
|
+
` : c}
|
|
21738
21764
|
|
|
21739
21765
|
<!-- The scale bottom right: a round distance, and a bracket as long as it on the map. -->
|
|
21740
|
-
${_e ?
|
|
21741
|
-
<span>${
|
|
21742
|
-
<span class="lintje-map-chart__scale-line" ${
|
|
21743
|
-
</div>` :
|
|
21766
|
+
${_e ? p`<div class="lintje-map-chart__scale-bar" aria-hidden="true">
|
|
21767
|
+
<span>${At(_e.metres)}</span>
|
|
21768
|
+
<span class="lintje-map-chart__scale-line" ${o({ width: `${_e.width}px` })}></span>
|
|
21769
|
+
</div>` : c}
|
|
21744
21770
|
|
|
21745
21771
|
<!-- What was chosen, bottom left; on a phone under the map. -->
|
|
21746
|
-
${
|
|
21772
|
+
${i ? c : Ae()}
|
|
21747
21773
|
</div>
|
|
21748
|
-
${
|
|
21774
|
+
${i ? Ae() : c}
|
|
21749
21775
|
</div>
|
|
21750
21776
|
`;
|
|
21751
21777
|
}
|
|
21752
21778
|
//#endregion
|
|
21753
21779
|
//#region src/components/shared/charts/map-chart/map-chart.css?inline
|
|
21754
|
-
var Ft = "/* Map fixed elements: zoom, reset and the select button top right, layer switcher top left,\n the scale bottom right and the selection panel bottom left, as overlays on the map area; the\n legend stands above the map, as above every chart, and the source line in the tile footer.\n Leaflet is the map (`leaflet.ts`); the drawing in its svg is the design system's own\n (`marks.ts`), styled below as any chart. */\n\n/* The overlays draw compact, like the buttons of a bar; on a phone at the touch floor. */\n.lintje-map-chart { --map-overlay-h: var(--h-button-chrome); }\n.lintje-map-chart--mobile { --map-overlay-h: var(--h-touch); }\n\n.lintje-map-chart__area {\n position: relative;\n background: var(--color-map-water);\n border: 1px solid var(--color-border-default);\n overflow: hidden;\n}\n\n/* --- The surface ---------------------------------------------------------- */\n\n.lintje-map-chart__leaflet {\n position: absolute;\n inset: 0;\n /* Leaflet numbers its panes up to 700 and its controls to 1000; without a stacking\n context the tile's own overlays would end up under the tiles. */\n z-index: 0;\n}\n.lintje-map-chart__layers,\n.lintje-map-chart__zoom,\n.lintje-map-chart__selection { z-index: 1; }\n\n.lintje-map-chart .leaflet-container {\n background: var(--color-map-water);\n font: var(--text-small);\n}\n/* The map takes the focus when a cleared mark is gone; the area clips a ring outside it. The\n ring is a layer over Leaflet's panes: an outline would lie under them and show in pieces. */\n.lintje-map-chart .leaflet-container:focus-visible { outline: none; }\n.lintje-map-chart .leaflet-container:focus-visible::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1000;\n border: var(--focus-width) solid var(--color-focus);\n pointer-events: none;\n}\n/* Leaflet lets no path in its svg take the pointer; a mark of ours does, by its own class. A\n mark drawn after a redraw keeps the view: marks are in the data group, the group is placed. */\n.lintje-map-chart__data .lintje-map-chart__polygon-shape,\n.lintje-map-chart__data .lintje-map-chart__flow,\n.lintje-map-chart__data .lintje-map-chart__point-shape { pointer-events: visiblePainted; }\n.lintje-map-chart__destination { pointer-events: none; }\n/* A tool on: the map is a sheet to draw on, also for a finger. */\n.lintje-map-chart .leaflet-container.is-drawing { cursor: crosshair; touch-action: none; }\n.lintje-map-chart .leaflet-container.is-drawing .lintje-map-chart__data * { cursor: crosshair; }\n/* The area that chose: an outline over the data, the inside barely tinted, never in the way. */\n.lintje-map-chart__region {\n fill: var(--color-text-primary);\n fill-opacity: .06;\n stroke: var(--color-text-primary);\n stroke-width: 2;\n stroke-dasharray: 6 4;\n vector-effect: non-scaling-stroke;\n pointer-events: none;\n}\n.lintje-map-chart__region--draft { fill-opacity: .04; }\n/* While an area is drawn, what it would choose is outlined as chosen and the rest steps back. */\n.lintje-map-chart__data.is-previewing [data-mark-id]:not(.is-preview),\n.lintje-map-chart__data.has-area:not(.is-previewing) [data-mark-id]:not(.is-selected) { opacity: .35; }\n.lintje-map-chart__polygon.is-preview .lintje-map-chart__polygon-shape,\n.lintje-map-chart__point.is-preview .lintje-map-chart__point-shape { stroke: var(--color-text-primary); stroke-width: 2; }\n.lintje-map-chart__flow.is-preview { opacity: 1; }\n/* A circle shows its middle, which is what the reader measures from. */\n.lintje-map-chart__region-centre {\n fill: var(--color-text-primary);\n stroke: var(--color-bg-surface);\n stroke-width: 1.5;\n pointer-events: none;\n}\n/* Through Leaflet's zoom animation a symbol scales back along the curve `leaflet.ts` sets. */\n.lintje-map-chart .leaflet-zoom-anim .lintje-map-chart__symbol { transition: transform 0.25s; }\n\n/* The credit: on the surface, in the map's own text colours, one line of `--space-5` high so\n what stands above it knows where; on a phone it runs to two. */\n.lintje-map-chart .leaflet-control-attribution {\n display: flex; flex-wrap: wrap; align-items: center;\n min-height: var(--space-5);\n padding: 0 var(--space-2);\n background: var(--color-bg-surface);\n color: var(--color-text-muted);\n font: var(--text-axis);\n border: 1px solid var(--color-border-default);\n border-right: 0;\n border-bottom: 0;\n margin: 0;\n}\n/* Underlined: the link differs from the credit around it by 1.24:1 in colour alone. */\n.lintje-map-chart .leaflet-control-attribution a { color: var(--color-link); text-decoration: underline; }\n\n/* --- Shapes --------------------------------------------------------------- */\n\n.lintje-map-chart__land {\n stroke: var(--color-map-border);\n stroke-width: 0.5;\n vector-effect: non-scaling-stroke;\n}\n/* Points and flows drop the browser's own focus box outright: their ring is a stroke. */\n.lintje-map-chart__flow:focus,\n.lintje-map-chart__point:focus { outline: none; }\n\n/* An area with a row — a shape of the geometry or one with its own outline — is drawn as a\n point is: a ring behind the shape for the focus, and without a figure the surface under the\n hatch, so the ring never shows through it. Its edges are those of the land. */\n.lintje-map-chart__polygon { cursor: pointer; }\n.lintje-map-chart__polygon-shape {\n stroke: var(--color-map-border);\n stroke-width: 0.5;\n vector-effect: non-scaling-stroke;\n}\n/* An area with a figure is outlined at 3:1 against the land and the lightest class, which are\n 1.1:1 apart: the lightest class would otherwise read as no data at all. */\n.lintje-map-chart__polygon-shape--data { stroke: var(--color-map-border-data); stroke-width: 1; }\n.lintje-map-chart__polygon-shape--empty { fill: var(--color-bg-surface); }\n.lintje-map-chart__polygon-hatch { pointer-events: none; }\n.lintje-map-chart__polygon:hover .lintje-map-chart__polygon-shape { stroke: var(--color-text-primary); stroke-width: 1.5; }\n.lintje-map-chart__polygon.is-selected .lintje-map-chart__polygon-shape { stroke: var(--color-text-primary); stroke-width: 2; }\n.lintje-map-chart__polygon-ring { fill: none; stroke: none; vector-effect: non-scaling-stroke; }\n.lintje-map-chart__polygon:focus-visible { outline: none; }\n.lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-ring {\n stroke: var(--color-focus);\n stroke-width: calc(var(--focus-width) * 2 + 2px);\n}\n.lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-shape {\n stroke: var(--color-bg-surface);\n stroke-width: 2;\n}\n\n.lintje-map-chart__flow {\n fill: none;\n stroke: var(--color-chart-default);\n stroke-linecap: round;\n opacity: .75;\n cursor: pointer;\n vector-effect: non-scaling-stroke;\n transition: opacity var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-chart__flow:hover,\n.lintje-map-chart__flow.is-selected { opacity: 1; }\n/* Something is chosen, a mark or an area: the flows not chosen step back, further than a point. */\n.lintje-map-chart__data.has-selection .lintje-map-chart__flow:not(.is-selected):not(:focus-visible) { opacity: .22; }\n/* A flow is a line: on focus the line itself is the ring, in the focus colour at full strength,\n also beside the chosen one. */\n.lintje-map-chart__flow:focus-visible { stroke: var(--color-focus); opacity: 1; }\n.lintje-map-chart__destination { fill: var(--color-attention); stroke: var(--color-bg-surface); stroke-width: 2; }\n\n.lintje-map-chart__point { cursor: pointer; }\n.lintje-map-chart__point-shape {\n fill: var(--color-chart-default);\n fill-opacity: .55;\n stroke: var(--color-chart-default);\n stroke-width: 1;\n vector-effect: non-scaling-stroke;\n transition: fill-opacity var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-chart__point:hover .lintje-map-chart__point-shape { fill-opacity: .8; }\n/* A point with a series carries its own colour, handed in as `--lintje-series` so\n the selected and focused outlines below — which are more specific — still win\n over it. The opacity and the hover are the point's own, as always. */\n.lintje-map-chart__point-shape--series {\n fill: var(--lintje-series);\n stroke: var(--lintje-series);\n fill-opacity: .65;\n}\n.lintje-map-chart__point:hover .lintje-map-chart__point-shape--series { fill-opacity: .9; }\n/* No figure: no data colour either. The surface underneath and the hatch over it\n are what the legend's \"geen gegevens\" swatch shows. */\n.lintje-map-chart__point-shape--empty {\n fill: var(--color-bg-surface);\n fill-opacity: 1;\n stroke: var(--color-chart-hatch);\n}\n/* The hatch is a fill attribute on its own path; a `fill` in this sheet would cover it. */\n.lintje-map-chart__point-hatch { pointer-events: none; }\n.lintje-map-chart__point.is-selected .lintje-map-chart__point-shape { stroke: var(--color-text-primary); stroke-width: 2; fill-opacity: .85; }\n/* The focus ring: a wide stroke on a copy of the shape behind it, of which the 3 px outside a\n 1 px edge in the surface show — so an orange point keeps its ring. The shape is opaque while\n focused, or the ring would show through it. */\n.lintje-map-chart__point-ring { fill: none; stroke: none; vector-effect: non-scaling-stroke; }\n.lintje-map-chart__point:focus-visible .lintje-map-chart__point-ring {\n stroke: var(--color-focus);\n stroke-width: calc(var(--focus-width) * 2 + 2px);\n}\n.lintje-map-chart__point:focus-visible .lintje-map-chart__point-shape {\n stroke: var(--color-bg-surface);\n stroke-width: 2;\n fill-opacity: 1;\n}\n\n/* A mark switched off in the legend keeps its element and goes with a motion — a point shrinks,\n an area or a flow fades — and comes back the same way, west to east as it first drew in; gone,\n it is hidden to the pointer, the keyboard and the reader. Every mark is keyed (`marks.ts`), so\n the others stay as they are. */\n.lintje-map-chart__point-figure { transform-box: fill-box; transform-origin: 50% 50%; }\n.lintje-map-chart__data .is-off { visibility: hidden; pointer-events: none; }\n.lintje-map-chart__point.is-off .lintje-map-chart__point-figure { transform: scale(0); opacity: 0; }\n.lintje-map-chart__polygon.is-off,\n.lintje-map-chart__flow.is-off { opacity: 0; }\n\n/* The base map stands at once. Areas fade in, flows are drawn from origin to destination and\n points grow, the last two west to east with the timing of the bars (starts spread over 40 % of\n the draw, each mark the other 60 %). Fill mode `backwards` throughout, so hover, muted and\n selected win once the draw is done. Paused until the map is in view; the paused declarations\n follow the shorthands, see chart.css. */\n@media (prefers-reduced-motion: no-preference) {\n .lintje-map-chart__data [data-mark-id] {\n transition: visibility 0s var(--dur-base), opacity var(--dur-base) var(--ease-in-motion);\n }\n .lintje-map-chart__data [data-mark-id]:not(.is-off) {\n transition-delay: 0s, calc(var(--dur-draw) * 0.4 * var(--lintje-stagger, 0));\n }\n .lintje-map-chart__point-figure {\n transition: transform var(--dur-base) var(--ease-in-motion), opacity var(--dur-base) var(--ease-in-motion);\n }\n .lintje-map-chart__point:not(.is-off) .lintje-map-chart__point-figure {\n transition-delay: calc(var(--dur-draw) * 0.4 * var(--lintje-stagger, 0));\n }\n\n .lintje-map-chart__polygon,\n .lintje-map-chart__flow,\n .lintje-map-chart__point-figure {\n animation-duration: calc(var(--dur-draw) * 0.6);\n animation-timing-function: var(--ease-in-motion);\n animation-delay: calc(var(--dur-draw) * 0.4 * var(--lintje-stagger, 0));\n animation-fill-mode: backwards;\n }\n .lintje-map-chart__polygon { animation-name: lintje-map-fade; }\n .lintje-map-chart__flow { animation-name: lintje-map-draw; }\n .lintje-map-chart__point-figure { animation-name: lintje-point-grow; }\n\n .lintje-map-chart__polygon,\n .lintje-map-chart__flow,\n .lintje-map-chart__point-figure { animation-play-state: paused; }\n [data-in-view] .lintje-map-chart__polygon,\n [data-in-view] .lintje-map-chart__flow,\n [data-in-view] .lintje-map-chart__point-figure { animation-play-state: running; }\n}\n@keyframes lintje-map-fade { from { opacity: 0; } }\n/* With pathLength=\"1\": a dash as long as the flow and a longer gap, started just past the gap's edge, so\n the round caps of the hidden dash leave no dot at either end on the first frame. */\n@keyframes lintje-map-draw {\n from { stroke-dasharray: 1 1.2; stroke-dashoffset: 1.1; }\n to { stroke-dasharray: 1 1.2; stroke-dashoffset: 0; }\n}\n\n/* --- Overlays ------------------------------------------------------------- */\n\n.lintje-map-chart__layers,\n.lintje-map-chart__zoom,\n.lintje-map-chart__selection { position: absolute; }\n\n.lintje-map-chart__layers { top: var(--space-2); left: var(--space-2); display: flex; }\n/* The layers and the zoom buttons touch, like the segments of a segmented control, so each is\n its own target along the row or the stack; across it a transparent hit area reaches\n `--h-target`. */\n.lintje-map-chart__layer {\n position: relative;\n height: var(--map-overlay-h); padding: 0 10px;\n font: var(--text-small);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n margin-left: -1px;\n cursor: pointer;\n}\n.lintje-map-chart__layer::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-map-chart__layer:first-child { margin-left: 0; }\n.lintje-map-chart__layer.is-active {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n /* The button's own 1 px border: the primary in light, the tint in dark, so the\n chosen layer does not melt into the map. */\n border-color: var(--color-action-primary-border);\n font-weight: 700;\n}\n\n.lintje-map-chart__zoom { top: var(--space-2); right: var(--space-2); display: flex; flex-direction: column; }\n.lintje-map-chart__zoom-button {\n position: relative;\n width: var(--map-overlay-h); height: var(--map-overlay-h);\n display: flex; align-items: center; justify-content: center;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n margin-top: -1px;\n cursor: pointer;\n}\n.lintje-map-chart__zoom-button::after {\n content: '';\n position: absolute;\n inset: 0 min(0px, calc((100% - var(--h-target)) / 2));\n}\n.lintje-map-chart__zoom-button:first-child { margin-top: 0; }\n.lintje-map-chart__zoom-button:hover { background: var(--color-bg-subtle); }\n/* Each button sits in its tooltip, which says on hover and focus what the button does. The\n select button stands apart from the zoom. */\n.lintje-map-chart__tip { display: flex; margin-top: -1px; }\n.lintje-map-chart__tip:first-child { margin-top: 0; }\n.lintje-map-chart__tip .lintje-map-chart__zoom-button { margin-top: 0; }\n.lintje-map-chart__tip--first { margin-top: var(--space-2); }\n/* A tool on: the button is primary, with the shape it draws. */\n.lintje-map-chart__tool.is-active {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n border-color: var(--color-action-primary-border);\n}\n/* With two or more shapes the corner says a menu of them stands behind the button, which shows\n the shape in use; a click opens it while no shape is on. A shape taken up or put down grows\n in on the button. */\n.lintje-map-chart__tool-icon { display: flex; }\n@media (prefers-reduced-motion: no-preference) {\n .lintje-map-chart__tool-icon { animation: lintje-map-tool-in var(--dur-base) var(--ease-in-motion); }\n}\n@keyframes lintje-map-tool-in { from { opacity: 0; transform: scale(0.4); } }\n.lintje-map-chart__tool--menu::before {\n content: '';\n position: absolute;\n right: 2px; bottom: 2px;\n border: 4px solid transparent;\n border-right-color: currentColor;\n border-bottom-color: currentColor;\n}\n.lintje-map-chart__menu { min-width: 200px; }\n.lintje-map-chart__menu .lintje-menu__check { margin-left: auto; }\n\n/* How to draw, or how the wheel zooms, along the bottom: out of the way of the data. On a phone\n it wraps. */\n.lintje-map-chart__hint {\n position: absolute;\n z-index: 1;\n left: 50%; bottom: var(--space-2);\n transform: translateX(-50%);\n white-space: nowrap;\n margin: 0;\n padding: var(--space-2) var(--space-3);\n font: var(--text-small);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n text-align: center;\n pointer-events: none;\n}\n.lintje-map-chart--mobile .lintje-map-chart__hint {\n white-space: normal;\n width: max-content;\n max-width: calc(100% - 2 * var(--space-4));\n}\n\n/* The scale bottom right, as on a road map: the distance, then a bracket as long as it on the\n map; without a frame, on a basemap on the surface over the credit. */\n.lintje-map-chart__scale-bar {\n position: absolute; z-index: 1;\n right: var(--space-2); bottom: var(--space-2);\n display: flex; align-items: flex-end; gap: var(--space-2);\n font: var(--text-axis);\n font-variant-numeric: tabular-nums;\n line-height: 1;\n color: var(--color-text-primary);\n white-space: nowrap;\n}\n.lintje-map-chart__scale-line {\n display: block; flex: none;\n height: 8px;\n box-sizing: border-box;\n border: 2px solid var(--color-text-primary);\n border-top: 0;\n}\n.lintje-map-chart--basemap .lintje-map-chart__scale-bar {\n padding: var(--space-1) var(--space-2);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n/* On a basemap what stands at the bottom lifts over the credit strip, which is a condition of\n using the service's tiles; on a phone the credit needs two lines. */\n.lintje-map-chart--basemap .lintje-map-chart__selection,\n.lintje-map-chart--basemap .lintje-map-chart__scale-bar,\n.lintje-map-chart--basemap .lintje-map-chart__hint { bottom: calc(var(--space-2) + var(--space-5)); }\n.lintje-map-chart--basemap.lintje-map-chart--mobile .lintje-map-chart__scale-bar { bottom: calc(var(--space-2) + var(--space-9)); }\n\n/* --- The legend ----------------------------------------------------------- */\n\n/* A line per layer: its name, which switches it, then its key and its series. One layer has no\n name and no switch; on a phone the name stands over its key, and the series on their own line. */\n.lintje-map-legend {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n align-items: center;\n gap: var(--space-2) var(--space-4);\n margin-bottom: var(--space-3);\n font: var(--text-small);\n color: var(--color-text-primary);\n}\n.lintje-map-legend--narrow { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }\n/* The name switches the layer, and says so with the box of a checkbox (input.css), at the\n size of a legend marker: checked while the layer draws. */\n.lintje-map-legend__layer {\n display: flex; align-items: center; gap: var(--space-2);\n min-height: var(--h-target-text);\n font: inherit; font-weight: 700;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n.lintje-map-legend__box {\n width: 16px; height: 16px; flex: none;\n display: flex; align-items: center; justify-content: center;\n border: 2px solid var(--color-border-choice);\n background: var(--color-accent);\n color: var(--color-action-primary-text);\n border-color: var(--color-action-primary-border);\n transition: background-color var(--dur-hover) var(--ease-in-motion),\n border-color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-legend__layer.is-off .lintje-map-legend__box {\n background: var(--color-bg-surface);\n border-color: var(--color-border-choice);\n}\n/* The mark grows in when the layer goes on, as in a checkbox. */\n.lintje-map-legend__box .lintje-icon {\n transition: opacity var(--dur-hover) var(--ease-in-motion),\n transform var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-legend__layer.is-off .lintje-map-legend__box .lintje-icon { opacity: 0; transform: scale(0.4); }\n/* Off: the name is struck through at full contrast and the key behind it steps back; its series\n read as off too (chart.css). `aria-pressed` and the box carry the state. */\n.lintje-map-legend__layer.is-off .lintje-map-legend__name { text-decoration: line-through; }\n.lintje-map-legend__keys {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-4);\n min-height: var(--h-target-text);\n}\n.lintje-map-legend__keys.is-off > .lintje-map-legend__key { opacity: .45; }\n.lintje-map-legend__key { display: flex; align-items: center; gap: 6px; }\n.lintje-map-legend__figure { font: var(--text-axis); color: var(--color-text-secondary); white-space: nowrap; font-variant-numeric: tabular-nums; }\n.lintje-map-legend__rule { width: 1px; align-self: stretch; min-height: 16px; background: var(--color-border-default); }\n.lintje-map-legend--narrow .lintje-map-legend__rule { display: none; }\n.lintje-map-legend--narrow .lintje-map-legend__keys > .lintje-legend { flex-basis: 100%; }\n/* The classes: five steps between 0 and the max, the lightest edged so it shows on the surface;\n in the modal each with its range, as the heatmap lists them. */\n.lintje-map-legend__ramp { display: flex; }\n.lintje-map-legend__ramp i { display: block; width: 16px; height: 10px; }\n.lintje-map-legend__ramp i:first-child,\n.lintje-map-legend__classes .lintje-legend__item:first-child .lintje-legend__marker { box-shadow: inset 0 0 0 1px var(--color-border-default); }\n.lintje-map-legend__sizes circle { fill: none; stroke: var(--color-text-secondary); stroke-width: 1; }\n.lintje-map-legend__sizes--nested { overflow: visible; }\n.lintje-map-legend__sizes--nested line { stroke: var(--color-border-strong); stroke-width: 1; }\n.lintje-map-legend__sizes--nested text { font: var(--text-axis); fill: var(--color-text-secondary); }\n.lintje-map-legend__wedge path { fill: var(--color-chart-default); }\n/* The rest of a long legend folds under a line that opens it. */\n.lintje-map-legend__more {\n grid-column: 2;\n display: flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-target-text);\n font: inherit; font-weight: 700;\n color: var(--color-link);\n cursor: pointer;\n}\n.lintje-map-legend--narrow .lintje-map-legend__more { grid-column: 1; }\n.lintje-map-legend__more:hover { text-decoration: underline; }\n/* The series swatch in the selection panel. */\n.lintje-map-chart__series-swatch { width: 14px; height: 14px; display: block; flex: none; }\n\n/* --- The selection panel -------------------------------------------------- */\n\n/* Bottom left, clear of the buttons and the scale; on a phone a row under the map. */\n.lintje-map-chart__selection {\n left: var(--space-2); bottom: var(--space-2);\n width: 200px;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-strong);\n padding: 10px 12px;\n font-size: 0.875rem;\n display: flex; flex-direction: column; gap: 3px;\n}\n.lintje-map-chart__selection--below {\n position: relative;\n left: auto; bottom: auto;\n width: auto;\n margin-top: var(--space-2);\n flex-direction: row; flex-wrap: wrap; align-items: baseline;\n gap: 2px var(--space-2);\n padding-right: var(--space-10);\n}\n.lintje-map-chart__selection-title {\n font-weight: 700; letter-spacing: .06em; text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-map-chart__selection-value { color: var(--color-text-secondary); }\n.lintje-map-chart__selection-series { display: flex; align-items: center; gap: 5px; }\n/* The way out of a selection, top right of the panel; the title keeps its room. An icon\n button: a 40 px box whose transparent hit area takes the target to 48. */\n.lintje-map-chart__selection-close {\n position: absolute; top: 0; right: 0;\n width: var(--h-icon-button); height: var(--h-icon-button);\n display: flex; align-items: center; justify-content: center;\n background: none; border: 0; padding: 0;\n color: var(--color-text-secondary);\n cursor: pointer;\n}\n.lintje-map-chart__selection-close:hover { color: var(--color-text-primary); }\n.lintje-map-chart__selection-close::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2));\n}\n.lintje-map-chart__selection-title { padding-right: var(--space-8); }\n.lintje-map-chart__set-scope {\n min-height: var(--h-target);\n display: flex; align-items: center; gap: 4px;\n background: none; border: 0; padding: 0;\n font: 700 0.875rem/1.4 var(--font-ui);\n color: var(--color-link);\n cursor: pointer;\n}\n.lintje-map-chart__set-scope:hover { text-decoration: underline; }\n\n\n/* Forced colours: the map's colours are its content, so the drawing and the legend's swatches\n keep them (`forced-color-adjust: none`). The chosen area or point is outlined in CanvasText,\n the focused one in Highlight. The chosen layer's fill is dropped, so its border turns Highlight. */\n@media (forced-colors: active) {\n .lintje-map-chart__data,\n .lintje-map-legend__ramp i,\n .lintje-map-legend__wedge,\n .lintje-map-chart__series-swatch { forced-color-adjust: none; }\n .lintje-map-chart__polygon.is-selected .lintje-map-chart__polygon-shape,\n .lintje-map-chart__point.is-selected .lintje-map-chart__point-shape { stroke: CanvasText; }\n .lintje-map-chart__point:focus-visible .lintje-map-chart__point-ring,\n .lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-ring,\n .lintje-map-chart__flow:focus-visible { stroke: Highlight; }\n .lintje-map-chart__point:focus-visible .lintje-map-chart__point-shape,\n .lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-shape { stroke: Canvas; }\n .lintje-map-chart__layer.is-active { border-color: Highlight; }\n .lintje-map-legend__box { forced-color-adjust: none; background: Highlight; border-color: Highlight; color: HighlightText; }\n .lintje-map-legend__layer.is-off .lintje-map-legend__box { background: Canvas; border-color: CanvasText; }\n .lintje-map-chart .leaflet-container:focus-visible::after { border-color: Highlight; }\n}\n", It = "/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-container,\r\n.leaflet-pane > svg,\r\n.leaflet-pane > canvas,\r\n.leaflet-zoom-box,\r\n.leaflet-image-layer,\r\n.leaflet-layer {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n }\r\n.leaflet-container {\r\n overflow: hidden;\r\n }\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n -webkit-user-drag: none;\r\n }\r\n/* Prevents IE11 from highlighting tiles in blue */\r\n.leaflet-tile::selection {\r\n background: transparent;\r\n}\r\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */\r\n.leaflet-safari .leaflet-tile {\r\n image-rendering: -webkit-optimize-contrast;\r\n }\r\n/* hack that prevents hw layers \"stretching\" when loading new tiles */\r\n.leaflet-safari .leaflet-tile-container {\r\n width: 1600px;\r\n height: 1600px;\r\n -webkit-transform-origin: 0 0;\r\n }\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n display: block;\r\n }\r\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */\r\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */\r\n.leaflet-container .leaflet-overlay-pane svg {\r\n max-width: none !important;\r\n max-height: none !important;\r\n }\r\n.leaflet-container .leaflet-marker-pane img,\r\n.leaflet-container .leaflet-shadow-pane img,\r\n.leaflet-container .leaflet-tile-pane img,\r\n.leaflet-container img.leaflet-image-layer,\r\n.leaflet-container .leaflet-tile {\r\n max-width: none !important;\r\n max-height: none !important;\r\n width: auto;\r\n padding: 0;\r\n }\r\n\r\n.leaflet-container img.leaflet-tile {\r\n /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */\r\n mix-blend-mode: plus-lighter;\r\n}\r\n\r\n.leaflet-container.leaflet-touch-zoom {\r\n -ms-touch-action: pan-x pan-y;\r\n touch-action: pan-x pan-y;\r\n }\r\n.leaflet-container.leaflet-touch-drag {\r\n -ms-touch-action: pinch-zoom;\r\n /* Fallback for FF which doesn't support pinch-zoom */\r\n touch-action: none;\r\n touch-action: pinch-zoom;\r\n}\r\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {\r\n -ms-touch-action: none;\r\n touch-action: none;\r\n}\r\n.leaflet-container {\r\n -webkit-tap-highlight-color: transparent;\r\n}\r\n.leaflet-container a {\r\n -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);\r\n}\r\n.leaflet-tile {\r\n filter: inherit;\r\n visibility: hidden;\r\n }\r\n.leaflet-tile-loaded {\r\n visibility: inherit;\r\n }\r\n.leaflet-zoom-box {\r\n width: 0;\r\n height: 0;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n z-index: 800;\r\n }\r\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */\r\n.leaflet-overlay-pane svg {\r\n -moz-user-select: none;\r\n }\r\n\r\n.leaflet-pane { z-index: 400; }\r\n\r\n.leaflet-tile-pane { z-index: 200; }\r\n.leaflet-overlay-pane { z-index: 400; }\r\n.leaflet-shadow-pane { z-index: 500; }\r\n.leaflet-marker-pane { z-index: 600; }\r\n.leaflet-tooltip-pane { z-index: 650; }\r\n.leaflet-popup-pane { z-index: 700; }\r\n\r\n.leaflet-map-pane canvas { z-index: 100; }\r\n.leaflet-map-pane svg { z-index: 200; }\r\n\r\n.leaflet-vml-shape {\r\n width: 1px;\r\n height: 1px;\r\n }\r\n.lvml {\r\n behavior: url(#default#VML);\r\n display: inline-block;\r\n position: absolute;\r\n }\r\n\r\n\r\n/* control positioning */\r\n\r\n.leaflet-control {\r\n position: relative;\r\n z-index: 800;\r\n pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n pointer-events: auto;\r\n }\r\n.leaflet-top,\r\n.leaflet-bottom {\r\n position: absolute;\r\n z-index: 1000;\r\n pointer-events: none;\r\n }\r\n.leaflet-top {\r\n top: 0;\r\n }\r\n.leaflet-right {\r\n right: 0;\r\n }\r\n.leaflet-bottom {\r\n bottom: 0;\r\n }\r\n.leaflet-left {\r\n left: 0;\r\n }\r\n.leaflet-control {\r\n float: left;\r\n clear: both;\r\n }\r\n.leaflet-right .leaflet-control {\r\n float: right;\r\n }\r\n.leaflet-top .leaflet-control {\r\n margin-top: 10px;\r\n }\r\n.leaflet-bottom .leaflet-control {\r\n margin-bottom: 10px;\r\n }\r\n.leaflet-left .leaflet-control {\r\n margin-left: 10px;\r\n }\r\n.leaflet-right .leaflet-control {\r\n margin-right: 10px;\r\n }\r\n\r\n\r\n/* zoom and fade animations */\r\n\r\n.leaflet-fade-anim .leaflet-popup {\r\n opacity: 0;\r\n -webkit-transition: opacity 0.2s linear;\r\n -moz-transition: opacity 0.2s linear;\r\n transition: opacity 0.2s linear;\r\n }\r\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {\r\n opacity: 1;\r\n }\r\n.leaflet-zoom-animated {\r\n -webkit-transform-origin: 0 0;\r\n -ms-transform-origin: 0 0;\r\n transform-origin: 0 0;\r\n }\r\nsvg.leaflet-zoom-animated {\r\n will-change: transform;\r\n}\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-animated {\r\n -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n transition: transform 0.25s cubic-bezier(0,0,0.25,1);\r\n }\r\n.leaflet-zoom-anim .leaflet-tile,\r\n.leaflet-pan-anim .leaflet-tile {\r\n -webkit-transition: none;\r\n -moz-transition: none;\r\n transition: none;\r\n }\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-hide {\r\n visibility: hidden;\r\n }\r\n\r\n\r\n/* cursors */\r\n\r\n.leaflet-interactive {\r\n cursor: pointer;\r\n }\r\n.leaflet-grab {\r\n cursor: -webkit-grab;\r\n cursor: -moz-grab;\r\n cursor: grab;\r\n }\r\n.leaflet-crosshair,\r\n.leaflet-crosshair .leaflet-interactive {\r\n cursor: crosshair;\r\n }\r\n.leaflet-popup-pane,\r\n.leaflet-control {\r\n cursor: auto;\r\n }\r\n.leaflet-dragging .leaflet-grab,\r\n.leaflet-dragging .leaflet-grab .leaflet-interactive,\r\n.leaflet-dragging .leaflet-marker-draggable {\r\n cursor: move;\r\n cursor: -webkit-grabbing;\r\n cursor: -moz-grabbing;\r\n cursor: grabbing;\r\n }\r\n\r\n/* marker & overlays interactivity */\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-image-layer,\r\n.leaflet-pane > svg path,\r\n.leaflet-tile-container {\r\n pointer-events: none;\r\n }\r\n\r\n.leaflet-marker-icon.leaflet-interactive,\r\n.leaflet-image-layer.leaflet-interactive,\r\n.leaflet-pane > svg path.leaflet-interactive,\r\nsvg.leaflet-image-layer.leaflet-interactive path {\r\n pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n pointer-events: auto;\r\n }\r\n\r\n/* visual tweaks */\r\n\r\n.leaflet-container {\r\n background: #ddd;\r\n outline-offset: 1px;\r\n }\r\n.leaflet-container a {\r\n color: #0078A8;\r\n }\r\n.leaflet-zoom-box {\r\n border: 2px dotted #38f;\r\n background: rgba(255,255,255,0.5);\r\n }\r\n\r\n\r\n/* general typography */\r\n.leaflet-container {\r\n font-family: \"Helvetica Neue\", Arial, Helvetica, sans-serif;\r\n font-size: 12px;\r\n font-size: 0.75rem;\r\n line-height: 1.5;\r\n }\r\n\r\n\r\n/* general toolbar styles */\r\n\r\n.leaflet-bar {\r\n box-shadow: 0 1px 5px rgba(0,0,0,0.65);\r\n border-radius: 4px;\r\n }\r\n.leaflet-bar a {\r\n background-color: #fff;\r\n border-bottom: 1px solid #ccc;\r\n width: 26px;\r\n height: 26px;\r\n line-height: 26px;\r\n display: block;\r\n text-align: center;\r\n text-decoration: none;\r\n color: black;\r\n }\r\n.leaflet-bar a,\r\n.leaflet-control-layers-toggle {\r\n background-position: 50% 50%;\r\n background-repeat: no-repeat;\r\n display: block;\r\n }\r\n.leaflet-bar a:hover,\r\n.leaflet-bar a:focus {\r\n background-color: #f4f4f4;\r\n }\r\n.leaflet-bar a:first-child {\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n }\r\n.leaflet-bar a:last-child {\r\n border-bottom-left-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n border-bottom: none;\r\n }\r\n.leaflet-bar a.leaflet-disabled {\r\n cursor: default;\r\n background-color: #f4f4f4;\r\n color: #bbb;\r\n }\r\n\r\n.leaflet-touch .leaflet-bar a {\r\n width: 30px;\r\n height: 30px;\r\n line-height: 30px;\r\n }\r\n.leaflet-touch .leaflet-bar a:first-child {\r\n border-top-left-radius: 2px;\r\n border-top-right-radius: 2px;\r\n }\r\n.leaflet-touch .leaflet-bar a:last-child {\r\n border-bottom-left-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n }\r\n\r\n/* zoom control */\r\n\r\n.leaflet-control-zoom-in,\r\n.leaflet-control-zoom-out {\r\n font: bold 18px 'Lucida Console', Monaco, monospace;\r\n text-indent: 1px;\r\n }\r\n\r\n.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {\r\n font-size: 22px;\r\n }\r\n\r\n\r\n/* layers control */\r\n\r\n.leaflet-control-layers {\r\n box-shadow: 0 1px 5px rgba(0,0,0,0.4);\r\n background: #fff;\r\n border-radius: 5px;\r\n }\r\n.leaflet-control-layers-toggle {\r\n background-image: url(images/layers.png);\r\n width: 36px;\r\n height: 36px;\r\n }\r\n.leaflet-retina .leaflet-control-layers-toggle {\r\n background-image: url(images/layers-2x.png);\r\n background-size: 26px 26px;\r\n }\r\n.leaflet-touch .leaflet-control-layers-toggle {\r\n width: 44px;\r\n height: 44px;\r\n }\r\n.leaflet-control-layers .leaflet-control-layers-list,\r\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {\r\n display: none;\r\n }\r\n.leaflet-control-layers-expanded .leaflet-control-layers-list {\r\n display: block;\r\n position: relative;\r\n }\r\n.leaflet-control-layers-expanded {\r\n padding: 6px 10px 6px 6px;\r\n color: #333;\r\n background: #fff;\r\n }\r\n.leaflet-control-layers-scrollbar {\r\n overflow-y: scroll;\r\n overflow-x: hidden;\r\n padding-right: 5px;\r\n }\r\n.leaflet-control-layers-selector {\r\n margin-top: 2px;\r\n position: relative;\r\n top: 1px;\r\n }\r\n.leaflet-control-layers label {\r\n display: block;\r\n font-size: 13px;\r\n font-size: 1.08333em;\r\n }\r\n.leaflet-control-layers-separator {\r\n height: 0;\r\n border-top: 1px solid #ddd;\r\n margin: 5px -10px 5px -6px;\r\n }\r\n\r\n/* Default icon URLs */\r\n.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */\r\n background-image: url(images/marker-icon.png);\r\n }\r\n\r\n\r\n/* attribution and scale controls */\r\n\r\n.leaflet-container .leaflet-control-attribution {\r\n background: #fff;\r\n background: rgba(255, 255, 255, 0.8);\r\n margin: 0;\r\n }\r\n.leaflet-control-attribution,\r\n.leaflet-control-scale-line {\r\n padding: 0 5px;\r\n color: #333;\r\n line-height: 1.4;\r\n }\r\n.leaflet-control-attribution a {\r\n text-decoration: none;\r\n }\r\n.leaflet-control-attribution a:hover,\r\n.leaflet-control-attribution a:focus {\r\n text-decoration: underline;\r\n }\r\n.leaflet-attribution-flag {\r\n display: inline !important;\r\n vertical-align: baseline !important;\r\n width: 1em;\r\n height: 0.6669em;\r\n }\r\n.leaflet-left .leaflet-control-scale {\r\n margin-left: 5px;\r\n }\r\n.leaflet-bottom .leaflet-control-scale {\r\n margin-bottom: 5px;\r\n }\r\n.leaflet-control-scale-line {\r\n border: 2px solid #777;\r\n border-top: none;\r\n line-height: 1.1;\r\n padding: 2px 5px 1px;\r\n white-space: nowrap;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n background: rgba(255, 255, 255, 0.8);\r\n text-shadow: 1px 1px #fff;\r\n }\r\n.leaflet-control-scale-line:not(:first-child) {\r\n border-top: 2px solid #777;\r\n border-bottom: none;\r\n margin-top: -2px;\r\n }\r\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {\r\n border-bottom: 2px solid #777;\r\n }\r\n\r\n.leaflet-touch .leaflet-control-attribution,\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n box-shadow: none;\r\n }\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n border: 2px solid rgba(0,0,0,0.2);\r\n background-clip: padding-box;\r\n }\r\n\r\n\r\n/* popup */\r\n\r\n.leaflet-popup {\r\n position: absolute;\r\n text-align: center;\r\n margin-bottom: 20px;\r\n }\r\n.leaflet-popup-content-wrapper {\r\n padding: 1px;\r\n text-align: left;\r\n border-radius: 12px;\r\n }\r\n.leaflet-popup-content {\r\n margin: 13px 24px 13px 20px;\r\n line-height: 1.3;\r\n font-size: 13px;\r\n font-size: 1.08333em;\r\n min-height: 1px;\r\n }\r\n.leaflet-popup-content p {\r\n margin: 17px 0;\r\n margin: 1.3em 0;\r\n }\r\n.leaflet-popup-tip-container {\r\n width: 40px;\r\n height: 20px;\r\n position: absolute;\r\n left: 50%;\r\n margin-top: -1px;\r\n margin-left: -20px;\r\n overflow: hidden;\r\n pointer-events: none;\r\n }\r\n.leaflet-popup-tip {\r\n width: 17px;\r\n height: 17px;\r\n padding: 1px;\r\n\r\n margin: -10px auto 0;\r\n pointer-events: auto;\r\n\r\n -webkit-transform: rotate(45deg);\r\n -moz-transform: rotate(45deg);\r\n -ms-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n }\r\n.leaflet-popup-content-wrapper,\r\n.leaflet-popup-tip {\r\n background: white;\r\n color: #333;\r\n box-shadow: 0 3px 14px rgba(0,0,0,0.4);\r\n }\r\n.leaflet-container a.leaflet-popup-close-button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n border: none;\r\n text-align: center;\r\n width: 24px;\r\n height: 24px;\r\n font: 16px/24px Tahoma, Verdana, sans-serif;\r\n color: #757575;\r\n text-decoration: none;\r\n background: transparent;\r\n }\r\n.leaflet-container a.leaflet-popup-close-button:hover,\r\n.leaflet-container a.leaflet-popup-close-button:focus {\r\n color: #585858;\r\n }\r\n.leaflet-popup-scrolled {\r\n overflow: auto;\r\n }\r\n\r\n.leaflet-oldie .leaflet-popup-content-wrapper {\r\n -ms-zoom: 1;\r\n }\r\n.leaflet-oldie .leaflet-popup-tip {\r\n width: 24px;\r\n margin: 0 auto;\r\n\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";\r\n filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);\r\n }\r\n\r\n.leaflet-oldie .leaflet-control-zoom,\r\n.leaflet-oldie .leaflet-control-layers,\r\n.leaflet-oldie .leaflet-popup-content-wrapper,\r\n.leaflet-oldie .leaflet-popup-tip {\r\n border: 1px solid #999;\r\n }\r\n\r\n\r\n/* div icon */\r\n\r\n.leaflet-div-icon {\r\n background: #fff;\r\n border: 1px solid #666;\r\n }\r\n\r\n\r\n/* Tooltip */\r\n/* Base styles for the element that has a tooltip */\r\n.leaflet-tooltip {\r\n position: absolute;\r\n padding: 6px;\r\n background-color: #fff;\r\n border: 1px solid #fff;\r\n border-radius: 3px;\r\n color: #222;\r\n white-space: nowrap;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n pointer-events: none;\r\n box-shadow: 0 1px 3px rgba(0,0,0,0.4);\r\n }\r\n.leaflet-tooltip.leaflet-interactive {\r\n cursor: pointer;\r\n pointer-events: auto;\r\n }\r\n.leaflet-tooltip-top:before,\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n position: absolute;\r\n pointer-events: none;\r\n border: 6px solid transparent;\r\n background: transparent;\r\n content: \"\";\r\n }\r\n\r\n/* Directions */\r\n\r\n.leaflet-tooltip-bottom {\r\n margin-top: 6px;\r\n}\r\n.leaflet-tooltip-top {\r\n margin-top: -6px;\r\n}\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-top:before {\r\n left: 50%;\r\n margin-left: -6px;\r\n }\r\n.leaflet-tooltip-top:before {\r\n bottom: 0;\r\n margin-bottom: -12px;\r\n border-top-color: #fff;\r\n }\r\n.leaflet-tooltip-bottom:before {\r\n top: 0;\r\n margin-top: -12px;\r\n margin-left: -6px;\r\n border-bottom-color: #fff;\r\n }\r\n.leaflet-tooltip-left {\r\n margin-left: -6px;\r\n}\r\n.leaflet-tooltip-right {\r\n margin-left: 6px;\r\n}\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n top: 50%;\r\n margin-top: -6px;\r\n }\r\n.leaflet-tooltip-left:before {\r\n right: 0;\r\n margin-right: -12px;\r\n border-left-color: #fff;\r\n }\r\n.leaflet-tooltip-right:before {\r\n left: 0;\r\n margin-left: -12px;\r\n border-right-color: #fff;\r\n }\r\n\r\n/* Printing */\r\n\r\n@media print {\r\n /* Prevent printers from removing background-images of controls. */\r\n .leaflet-control {\r\n -webkit-print-color-adjust: exact;\r\n print-color-adjust: exact;\r\n }\r\n }\r\n";
|
|
21780
|
+
var Nt = "/* Map fixed elements: zoom, reset and the select button top right, layer switcher top left,\n the scale bottom right and the selection panel bottom left, as overlays on the map area; the\n legend stands above the map, as above every chart, and the source line in the tile footer.\n Leaflet is the map (`leaflet.ts`); the drawing in its svg is the design system's own\n (`marks.ts`), styled below as any chart. */\n\n/* The overlays draw compact, like the buttons of a bar; on a phone at the touch floor. */\n.lintje-map-chart { --map-overlay-h: var(--h-button-chrome); }\n.lintje-map-chart--mobile { --map-overlay-h: var(--h-touch); }\n\n.lintje-map-chart__area {\n position: relative;\n background: var(--color-map-water);\n border: 1px solid var(--color-border-default);\n overflow: hidden;\n}\n\n/* --- The surface ---------------------------------------------------------- */\n\n.lintje-map-chart__leaflet {\n position: absolute;\n inset: 0;\n /* Leaflet numbers its panes up to 700 and its controls to 1000; without a stacking\n context the tile's own overlays would end up under the tiles. */\n z-index: 0;\n}\n.lintje-map-chart__layers,\n.lintje-map-chart__zoom,\n.lintje-map-chart__selection { z-index: 1; }\n\n.lintje-map-chart .leaflet-container {\n background: var(--color-map-water);\n font: var(--text-small);\n}\n/* The map takes the focus when a cleared mark is gone; the area clips a ring outside it. The\n ring is a layer over Leaflet's panes: an outline would lie under them and show in pieces. */\n.lintje-map-chart .leaflet-container:focus-visible { outline: none; }\n.lintje-map-chart .leaflet-container:focus-visible::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1000;\n border: var(--focus-width) solid var(--color-focus);\n pointer-events: none;\n}\n/* Leaflet lets no path in its svg take the pointer; a mark of ours does, by its own class. A\n mark drawn after a redraw keeps the view: marks are in the data group, the group is placed. */\n.lintje-map-chart__data .lintje-map-chart__polygon-shape,\n.lintje-map-chart__data .lintje-map-chart__flow,\n.lintje-map-chart__data .lintje-map-chart__point-shape { pointer-events: visiblePainted; }\n.lintje-map-chart__destination { pointer-events: none; }\n/* A tool on: the map is a sheet to draw on, also for a finger. */\n.lintje-map-chart .leaflet-container.is-drawing { cursor: crosshair; touch-action: none; }\n.lintje-map-chart .leaflet-container.is-drawing .lintje-map-chart__data * { cursor: crosshair; }\n/* The area that chose: an outline over the data, the inside barely tinted, never in the way. */\n.lintje-map-chart__region {\n fill: var(--color-text-primary);\n fill-opacity: .06;\n stroke: var(--color-text-primary);\n stroke-width: 2;\n stroke-dasharray: 6 4;\n vector-effect: non-scaling-stroke;\n pointer-events: none;\n}\n.lintje-map-chart__region--draft { fill-opacity: .04; }\n/* While an area is drawn, what it would choose is outlined as chosen and the rest steps back. */\n.lintje-map-chart__data.is-previewing [data-mark-id]:not(.is-preview),\n.lintje-map-chart__data.has-area:not(.is-previewing) [data-mark-id]:not(.is-selected) { opacity: .35; }\n.lintje-map-chart__polygon.is-preview .lintje-map-chart__polygon-shape,\n.lintje-map-chart__point.is-preview .lintje-map-chart__point-shape { stroke: var(--color-text-primary); stroke-width: 2; }\n.lintje-map-chart__flow.is-preview { opacity: 1; }\n/* A circle shows its middle, which is what the reader measures from. */\n.lintje-map-chart__region-centre {\n fill: var(--color-text-primary);\n stroke: var(--color-bg-surface);\n stroke-width: 1.5;\n pointer-events: none;\n}\n/* Through Leaflet's zoom animation a symbol scales back along the curve `leaflet.ts` sets. */\n.lintje-map-chart .leaflet-zoom-anim .lintje-map-chart__symbol { transition: transform 0.25s; }\n\n/* The credit: on the surface, in the map's own text colours, one line of `--space-5` high so\n what stands above it knows where; on a phone it runs to two. */\n.lintje-map-chart .leaflet-control-attribution {\n display: flex; flex-wrap: wrap; align-items: center;\n min-height: var(--space-5);\n padding: 0 var(--space-2);\n background: var(--color-bg-surface);\n color: var(--color-text-muted);\n font: var(--text-axis);\n border: 1px solid var(--color-border-default);\n border-right: 0;\n border-bottom: 0;\n margin: 0;\n}\n/* Underlined: the link differs from the credit around it by 1.24:1 in colour alone. */\n.lintje-map-chart .leaflet-control-attribution a { color: var(--color-link); text-decoration: underline; }\n\n/* --- Shapes --------------------------------------------------------------- */\n\n.lintje-map-chart__land {\n stroke: var(--color-map-border);\n stroke-width: 0.5;\n vector-effect: non-scaling-stroke;\n}\n/* Points and flows drop the browser's own focus box outright: their ring is a stroke. */\n.lintje-map-chart__flow:focus,\n.lintje-map-chart__point:focus { outline: none; }\n\n/* An area with a row — a shape of the geometry or one with its own outline — is drawn as a\n point is: a ring behind the shape for the focus, and without a figure the surface under the\n hatch, so the ring never shows through it. Its edges are those of the land. */\n.lintje-map-chart__polygon { cursor: pointer; }\n.lintje-map-chart__polygon-shape {\n stroke: var(--color-map-border);\n stroke-width: 0.5;\n vector-effect: non-scaling-stroke;\n}\n/* An area with a figure is outlined at 3:1 against the land and the lightest class, which are\n 1.1:1 apart: the lightest class would otherwise read as no data at all. */\n.lintje-map-chart__polygon-shape--data { stroke: var(--color-map-border-data); stroke-width: 1; }\n.lintje-map-chart__polygon-shape--empty { fill: var(--color-bg-surface); }\n.lintje-map-chart__polygon-hatch { pointer-events: none; }\n.lintje-map-chart__polygon:hover .lintje-map-chart__polygon-shape { stroke: var(--color-text-primary); stroke-width: 1.5; }\n.lintje-map-chart__polygon.is-selected .lintje-map-chart__polygon-shape { stroke: var(--color-text-primary); stroke-width: 2; }\n.lintje-map-chart__polygon-ring { fill: none; stroke: none; vector-effect: non-scaling-stroke; }\n.lintje-map-chart__polygon:focus-visible { outline: none; }\n.lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-ring {\n stroke: var(--color-focus);\n stroke-width: calc(var(--focus-width) * 2 + 2px);\n}\n.lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-shape {\n stroke: var(--color-bg-surface);\n stroke-width: 2;\n}\n\n.lintje-map-chart__flow {\n fill: none;\n stroke: var(--color-chart-default);\n stroke-linecap: round;\n opacity: .75;\n cursor: pointer;\n vector-effect: non-scaling-stroke;\n transition: opacity var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-chart__flow:hover,\n.lintje-map-chart__flow.is-selected { opacity: 1; }\n/* Something is chosen, a mark or an area: the flows not chosen step back, further than a point. */\n.lintje-map-chart__data.has-selection .lintje-map-chart__flow:not(.is-selected):not(:focus-visible) { opacity: .22; }\n/* A flow is a line: on focus the line itself is the ring, in the focus colour at full strength,\n also beside the chosen one. */\n.lintje-map-chart__flow:focus-visible { stroke: var(--color-focus); opacity: 1; }\n.lintje-map-chart__destination { fill: var(--color-attention); stroke: var(--color-bg-surface); stroke-width: 2; }\n\n.lintje-map-chart__point { cursor: pointer; }\n.lintje-map-chart__point-shape {\n fill: var(--color-chart-default);\n fill-opacity: .55;\n stroke: var(--color-chart-default);\n stroke-width: 1;\n vector-effect: non-scaling-stroke;\n transition: fill-opacity var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-chart__point:hover .lintje-map-chart__point-shape { fill-opacity: .8; }\n/* A point with a series carries its own colour, handed in as `--lintje-series` so\n the selected and focused outlines below — which are more specific — still win\n over it. The opacity and the hover are the point's own, as always. */\n.lintje-map-chart__point-shape--series {\n fill: var(--lintje-series);\n stroke: var(--lintje-series);\n fill-opacity: .65;\n}\n.lintje-map-chart__point:hover .lintje-map-chart__point-shape--series { fill-opacity: .9; }\n/* No figure: no data colour either. The surface underneath and the hatch over it\n are what the legend's \"geen gegevens\" swatch shows. */\n.lintje-map-chart__point-shape--empty {\n fill: var(--color-bg-surface);\n fill-opacity: 1;\n stroke: var(--color-chart-hatch);\n}\n/* The hatch is a fill attribute on its own path; a `fill` in this sheet would cover it. */\n.lintje-map-chart__point-hatch { pointer-events: none; }\n.lintje-map-chart__point.is-selected .lintje-map-chart__point-shape { stroke: var(--color-text-primary); stroke-width: 2; fill-opacity: .85; }\n/* The focus ring: a wide stroke on a copy of the shape behind it, of which the 3 px outside a\n 1 px edge in the surface show — so an orange point keeps its ring. The shape is opaque while\n focused, or the ring would show through it. */\n.lintje-map-chart__point-ring { fill: none; stroke: none; vector-effect: non-scaling-stroke; }\n.lintje-map-chart__point:focus-visible .lintje-map-chart__point-ring {\n stroke: var(--color-focus);\n stroke-width: calc(var(--focus-width) * 2 + 2px);\n}\n.lintje-map-chart__point:focus-visible .lintje-map-chart__point-shape {\n stroke: var(--color-bg-surface);\n stroke-width: 2;\n fill-opacity: 1;\n}\n\n/* A mark switched off in the legend keeps its element and goes with a motion — a point shrinks,\n an area or a flow fades — and comes back the same way, west to east as it first drew in; gone,\n it is hidden to the pointer, the keyboard and the reader. Every mark is keyed (`marks.ts`), so\n the others stay as they are. */\n.lintje-map-chart__point-figure { transform-box: fill-box; transform-origin: 50% 50%; }\n.lintje-map-chart__data .is-off { visibility: hidden; pointer-events: none; }\n.lintje-map-chart__point.is-off .lintje-map-chart__point-figure { transform: scale(0); opacity: 0; }\n.lintje-map-chart__polygon.is-off,\n.lintje-map-chart__flow.is-off { opacity: 0; }\n\n/* The base map stands at once. Areas fade in, flows are drawn from origin to destination and\n points grow, the last two west to east with the timing of the bars (starts spread over 40 % of\n the draw, each mark the other 60 %). Fill mode `backwards` throughout, so hover, muted and\n selected win once the draw is done. Paused until the map is in view; the paused declarations\n follow the shorthands, see chart.css. */\n@media (prefers-reduced-motion: no-preference) {\n .lintje-map-chart__data [data-mark-id] {\n transition: visibility 0s var(--dur-base), opacity var(--dur-base) var(--ease-in-motion);\n }\n .lintje-map-chart__data [data-mark-id]:not(.is-off) {\n transition-delay: 0s, calc(var(--dur-draw) * 0.4 * var(--lintje-stagger, 0));\n }\n .lintje-map-chart__point-figure {\n transition: transform var(--dur-base) var(--ease-in-motion), opacity var(--dur-base) var(--ease-in-motion);\n }\n .lintje-map-chart__point:not(.is-off) .lintje-map-chart__point-figure {\n transition-delay: calc(var(--dur-draw) * 0.4 * var(--lintje-stagger, 0));\n }\n\n .lintje-map-chart__polygon,\n .lintje-map-chart__flow,\n .lintje-map-chart__point-figure {\n animation-duration: calc(var(--dur-draw) * 0.6);\n animation-timing-function: var(--ease-in-motion);\n animation-delay: calc(var(--dur-draw) * 0.4 * var(--lintje-stagger, 0));\n animation-fill-mode: backwards;\n }\n .lintje-map-chart__polygon { animation-name: lintje-map-fade; }\n .lintje-map-chart__flow { animation-name: lintje-map-draw; }\n .lintje-map-chart__point-figure { animation-name: lintje-point-grow; }\n\n .lintje-map-chart__polygon,\n .lintje-map-chart__flow,\n .lintje-map-chart__point-figure { animation-play-state: paused; }\n [data-in-view] .lintje-map-chart__polygon,\n [data-in-view] .lintje-map-chart__flow,\n [data-in-view] .lintje-map-chart__point-figure { animation-play-state: running; }\n}\n@keyframes lintje-map-fade { from { opacity: 0; } }\n/* With pathLength=\"1\": a dash as long as the flow and a longer gap, started just past the gap's edge, so\n the round caps of the hidden dash leave no dot at either end on the first frame. */\n@keyframes lintje-map-draw {\n from { stroke-dasharray: 1 1.2; stroke-dashoffset: 1.1; }\n to { stroke-dasharray: 1 1.2; stroke-dashoffset: 0; }\n}\n\n/* --- Overlays ------------------------------------------------------------- */\n\n.lintje-map-chart__layers,\n.lintje-map-chart__zoom,\n.lintje-map-chart__selection { position: absolute; }\n\n.lintje-map-chart__layers { top: var(--space-2); left: var(--space-2); display: flex; }\n/* The layers and the zoom buttons touch, like the segments of a segmented control, so each is\n its own target along the row or the stack; across it a transparent hit area reaches\n `--h-target`. */\n.lintje-map-chart__layer {\n position: relative;\n height: var(--map-overlay-h); padding: 0 10px;\n font: var(--text-small);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n margin-left: -1px;\n cursor: pointer;\n}\n.lintje-map-chart__layer::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-map-chart__layer:first-child { margin-left: 0; }\n.lintje-map-chart__layer.is-active {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n /* The button's own 1 px border: the primary in light, the tint in dark, so the\n chosen layer does not melt into the map. */\n border-color: var(--color-action-primary-border);\n font-weight: 700;\n}\n\n.lintje-map-chart__zoom { top: var(--space-2); right: var(--space-2); display: flex; flex-direction: column; }\n.lintje-map-chart__zoom-button {\n position: relative;\n width: var(--map-overlay-h); height: var(--map-overlay-h);\n display: flex; align-items: center; justify-content: center;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n margin-top: -1px;\n cursor: pointer;\n}\n.lintje-map-chart__zoom-button::after {\n content: '';\n position: absolute;\n inset: 0 min(0px, calc((100% - var(--h-target)) / 2));\n}\n.lintje-map-chart__zoom-button:first-child { margin-top: 0; }\n.lintje-map-chart__zoom-button:hover { background: var(--color-bg-subtle); }\n/* Each button sits in its tooltip, which says on hover and focus what the button does. The\n select button stands apart from the zoom. */\n.lintje-map-chart__tip { display: flex; margin-top: -1px; }\n.lintje-map-chart__tip:first-child { margin-top: 0; }\n.lintje-map-chart__tip .lintje-map-chart__zoom-button { margin-top: 0; }\n.lintje-map-chart__tip--first { margin-top: var(--space-2); }\n/* A tool on: the button is primary, with the shape it draws. */\n.lintje-map-chart__tool.is-active {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n border-color: var(--color-action-primary-border);\n}\n/* With two or more shapes the corner says a menu of them stands behind the button, which shows\n the shape in use; a click opens it while no shape is on. A shape taken up or put down grows\n in on the button. */\n.lintje-map-chart__tool-icon { display: flex; }\n@media (prefers-reduced-motion: no-preference) {\n .lintje-map-chart__tool-icon { animation: lintje-map-tool-in var(--dur-base) var(--ease-in-motion); }\n}\n@keyframes lintje-map-tool-in { from { opacity: 0; transform: scale(0.4); } }\n.lintje-map-chart__tool--menu::before {\n content: '';\n position: absolute;\n right: 2px; bottom: 2px;\n border: 4px solid transparent;\n border-right-color: currentColor;\n border-bottom-color: currentColor;\n}\n.lintje-map-chart__menu { min-width: 200px; }\n.lintje-map-chart__menu .lintje-menu__check { margin-left: auto; }\n\n/* How to draw, or how the wheel zooms, along the bottom: out of the way of the data. On a phone\n it wraps. */\n.lintje-map-chart__hint {\n position: absolute;\n z-index: 1;\n left: 50%; bottom: var(--space-2);\n transform: translateX(-50%);\n white-space: nowrap;\n margin: 0;\n padding: var(--space-2) var(--space-3);\n font: var(--text-small);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n text-align: center;\n pointer-events: none;\n}\n.lintje-map-chart--mobile .lintje-map-chart__hint {\n white-space: normal;\n width: max-content;\n max-width: calc(100% - 2 * var(--space-4));\n}\n\n/* The scale bottom right, as on a road map: the distance, then a bracket as long as it on the\n map; without a frame, on a basemap on the surface over the credit. */\n.lintje-map-chart__scale-bar {\n position: absolute; z-index: 1;\n right: var(--space-2); bottom: var(--space-2);\n display: flex; align-items: flex-end; gap: var(--space-2);\n font: var(--text-axis);\n font-variant-numeric: tabular-nums;\n line-height: 1;\n color: var(--color-text-primary);\n white-space: nowrap;\n}\n.lintje-map-chart__scale-line {\n display: block; flex: none;\n height: 8px;\n box-sizing: border-box;\n border: 2px solid var(--color-text-primary);\n border-top: 0;\n}\n.lintje-map-chart--basemap .lintje-map-chart__scale-bar {\n padding: var(--space-1) var(--space-2);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n/* On a basemap what stands at the bottom lifts over the credit strip, which is a condition of\n using the service's tiles; on a phone the credit needs two lines. */\n.lintje-map-chart--basemap .lintje-map-chart__selection,\n.lintje-map-chart--basemap .lintje-map-chart__scale-bar,\n.lintje-map-chart--basemap .lintje-map-chart__hint { bottom: calc(var(--space-2) + var(--space-5)); }\n.lintje-map-chart--basemap.lintje-map-chart--mobile .lintje-map-chart__scale-bar { bottom: calc(var(--space-2) + var(--space-9)); }\n\n/* --- The legend ----------------------------------------------------------- */\n\n/* A line per layer: its name, which switches it, then its key and its series. One layer has no\n name and no switch; on a phone the name stands over its key, and the series on their own line. */\n.lintje-map-legend {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n align-items: center;\n gap: var(--space-2) var(--space-4);\n margin-bottom: var(--space-3);\n font: var(--text-small);\n color: var(--color-text-primary);\n}\n.lintje-map-legend--narrow { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }\n/* The name switches the layer, and says so with the box of a checkbox (input.css), at the\n size of a legend marker: checked while the layer draws. */\n.lintje-map-legend__layer {\n display: flex; align-items: center; gap: var(--space-2);\n min-height: var(--h-target-text);\n font: inherit; font-weight: 700;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n.lintje-map-legend__box {\n width: 16px; height: 16px; flex: none;\n display: flex; align-items: center; justify-content: center;\n border: 2px solid var(--color-border-choice);\n background: var(--color-accent);\n color: var(--color-action-primary-text);\n border-color: var(--color-action-primary-border);\n transition: background-color var(--dur-hover) var(--ease-in-motion),\n border-color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-legend__layer.is-off .lintje-map-legend__box {\n background: var(--color-bg-surface);\n border-color: var(--color-border-choice);\n}\n/* The mark grows in when the layer goes on, as in a checkbox. */\n.lintje-map-legend__box .lintje-icon {\n transition: opacity var(--dur-hover) var(--ease-in-motion),\n transform var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-map-legend__layer.is-off .lintje-map-legend__box .lintje-icon { opacity: 0; transform: scale(0.4); }\n/* Off: the name is struck through at full contrast and the key behind it steps back; its series\n read as off too (chart.css). `aria-pressed` and the box carry the state. */\n.lintje-map-legend__layer.is-off .lintje-map-legend__name { text-decoration: line-through; }\n.lintje-map-legend__keys {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-4);\n min-height: var(--h-target-text);\n}\n.lintje-map-legend__keys.is-off > .lintje-map-legend__key { opacity: .45; }\n.lintje-map-legend__key { display: flex; align-items: center; gap: 6px; }\n.lintje-map-legend__figure { font: var(--text-axis); color: var(--color-text-secondary); white-space: nowrap; font-variant-numeric: tabular-nums; }\n.lintje-map-legend__rule { width: 1px; align-self: stretch; min-height: 16px; background: var(--color-border-default); }\n.lintje-map-legend--narrow .lintje-map-legend__rule { display: none; }\n.lintje-map-legend--narrow .lintje-map-legend__keys > .lintje-legend { flex-basis: 100%; }\n/* The classes: five steps between 0 and the max, the lightest edged so it shows on the surface;\n in the modal each with its range, as the heatmap lists them. */\n.lintje-map-legend__ramp { display: flex; }\n.lintje-map-legend__ramp i { display: block; width: 16px; height: 10px; }\n.lintje-map-legend__ramp i:first-child,\n.lintje-map-legend__classes .lintje-legend__item:first-child .lintje-legend__marker { box-shadow: inset 0 0 0 1px var(--color-border-default); }\n.lintje-map-legend__sizes circle { fill: none; stroke: var(--color-text-secondary); stroke-width: 1; }\n.lintje-map-legend__sizes--nested { overflow: visible; }\n.lintje-map-legend__sizes--nested line { stroke: var(--color-border-strong); stroke-width: 1; }\n.lintje-map-legend__sizes--nested text { font: var(--text-axis); fill: var(--color-text-secondary); }\n.lintje-map-legend__wedge path { fill: var(--color-chart-default); }\n/* The rest of a long legend folds under a line that opens it. */\n.lintje-map-legend__more {\n grid-column: 2;\n display: flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-target-text);\n font: inherit; font-weight: 700;\n color: var(--color-link);\n cursor: pointer;\n}\n.lintje-map-legend--narrow .lintje-map-legend__more { grid-column: 1; }\n.lintje-map-legend__more:hover { text-decoration: underline; }\n/* The series swatch in the selection panel. */\n.lintje-map-chart__series-swatch { width: 14px; height: 14px; display: block; flex: none; }\n\n/* --- The selection panel -------------------------------------------------- */\n\n/* Bottom left, clear of the buttons and the scale; on a phone a row under the map. */\n.lintje-map-chart__selection {\n left: var(--space-2); bottom: var(--space-2);\n width: 200px;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-strong);\n padding: 10px 12px;\n font-size: 0.875rem;\n display: flex; flex-direction: column; gap: 3px;\n}\n.lintje-map-chart__selection--below {\n position: relative;\n left: auto; bottom: auto;\n width: auto;\n margin-top: var(--space-2);\n flex-direction: row; flex-wrap: wrap; align-items: baseline;\n gap: 2px var(--space-2);\n padding-right: var(--space-10);\n}\n.lintje-map-chart__selection-title {\n font-weight: 700; letter-spacing: .06em; text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-map-chart__selection-value { color: var(--color-text-secondary); }\n.lintje-map-chart__selection-series { display: flex; align-items: center; gap: 5px; }\n/* The way out of a selection, top right of the panel; the title keeps its room. An icon\n button: a 40 px box whose transparent hit area takes the target to 48. */\n.lintje-map-chart__selection-close {\n position: absolute; top: 0; right: 0;\n width: var(--h-icon-button); height: var(--h-icon-button);\n display: flex; align-items: center; justify-content: center;\n background: none; border: 0; padding: 0;\n color: var(--color-text-secondary);\n cursor: pointer;\n}\n.lintje-map-chart__selection-close:hover { color: var(--color-text-primary); }\n.lintje-map-chart__selection-close::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2));\n}\n.lintje-map-chart__selection-title { padding-right: var(--space-8); }\n.lintje-map-chart__set-scope {\n min-height: var(--h-target);\n display: flex; align-items: center; gap: 4px;\n background: none; border: 0; padding: 0;\n font: 700 0.875rem/1.4 var(--font-ui);\n color: var(--color-link);\n cursor: pointer;\n}\n.lintje-map-chart__set-scope:hover { text-decoration: underline; }\n\n\n/* Forced colours: the map's colours are its content, so the drawing and the legend's swatches\n keep them (`forced-color-adjust: none`). The chosen area or point is outlined in CanvasText,\n the focused one in Highlight. The chosen layer's fill is dropped, so its border turns Highlight. */\n@media (forced-colors: active) {\n .lintje-map-chart__data,\n .lintje-map-legend__ramp i,\n .lintje-map-legend__wedge,\n .lintje-map-chart__series-swatch { forced-color-adjust: none; }\n .lintje-map-chart__polygon.is-selected .lintje-map-chart__polygon-shape,\n .lintje-map-chart__point.is-selected .lintje-map-chart__point-shape { stroke: CanvasText; }\n .lintje-map-chart__point:focus-visible .lintje-map-chart__point-ring,\n .lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-ring,\n .lintje-map-chart__flow:focus-visible { stroke: Highlight; }\n .lintje-map-chart__point:focus-visible .lintje-map-chart__point-shape,\n .lintje-map-chart__polygon:focus-visible .lintje-map-chart__polygon-shape { stroke: Canvas; }\n .lintje-map-chart__layer.is-active { border-color: Highlight; }\n .lintje-map-legend__box { forced-color-adjust: none; background: Highlight; border-color: Highlight; color: HighlightText; }\n .lintje-map-legend__layer.is-off .lintje-map-legend__box { background: Canvas; border-color: CanvasText; }\n .lintje-map-chart .leaflet-container:focus-visible::after { border-color: Highlight; }\n}\n\n/* Zooming, drawing and closing are for the screen; paper shows the map as it stands, with its\n scale, its layers and what is chosen. */\n@media print {\n .lintje-map-chart__zoom,\n .lintje-map-chart__hint,\n .lintje-map-chart__selection-close { display: none; }\n}\n", Pt = "/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-container,\r\n.leaflet-pane > svg,\r\n.leaflet-pane > canvas,\r\n.leaflet-zoom-box,\r\n.leaflet-image-layer,\r\n.leaflet-layer {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n }\r\n.leaflet-container {\r\n overflow: hidden;\r\n }\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n -webkit-user-drag: none;\r\n }\r\n/* Prevents IE11 from highlighting tiles in blue */\r\n.leaflet-tile::selection {\r\n background: transparent;\r\n}\r\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */\r\n.leaflet-safari .leaflet-tile {\r\n image-rendering: -webkit-optimize-contrast;\r\n }\r\n/* hack that prevents hw layers \"stretching\" when loading new tiles */\r\n.leaflet-safari .leaflet-tile-container {\r\n width: 1600px;\r\n height: 1600px;\r\n -webkit-transform-origin: 0 0;\r\n }\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n display: block;\r\n }\r\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */\r\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */\r\n.leaflet-container .leaflet-overlay-pane svg {\r\n max-width: none !important;\r\n max-height: none !important;\r\n }\r\n.leaflet-container .leaflet-marker-pane img,\r\n.leaflet-container .leaflet-shadow-pane img,\r\n.leaflet-container .leaflet-tile-pane img,\r\n.leaflet-container img.leaflet-image-layer,\r\n.leaflet-container .leaflet-tile {\r\n max-width: none !important;\r\n max-height: none !important;\r\n width: auto;\r\n padding: 0;\r\n }\r\n\r\n.leaflet-container img.leaflet-tile {\r\n /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */\r\n mix-blend-mode: plus-lighter;\r\n}\r\n\r\n.leaflet-container.leaflet-touch-zoom {\r\n -ms-touch-action: pan-x pan-y;\r\n touch-action: pan-x pan-y;\r\n }\r\n.leaflet-container.leaflet-touch-drag {\r\n -ms-touch-action: pinch-zoom;\r\n /* Fallback for FF which doesn't support pinch-zoom */\r\n touch-action: none;\r\n touch-action: pinch-zoom;\r\n}\r\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {\r\n -ms-touch-action: none;\r\n touch-action: none;\r\n}\r\n.leaflet-container {\r\n -webkit-tap-highlight-color: transparent;\r\n}\r\n.leaflet-container a {\r\n -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);\r\n}\r\n.leaflet-tile {\r\n filter: inherit;\r\n visibility: hidden;\r\n }\r\n.leaflet-tile-loaded {\r\n visibility: inherit;\r\n }\r\n.leaflet-zoom-box {\r\n width: 0;\r\n height: 0;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n z-index: 800;\r\n }\r\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */\r\n.leaflet-overlay-pane svg {\r\n -moz-user-select: none;\r\n }\r\n\r\n.leaflet-pane { z-index: 400; }\r\n\r\n.leaflet-tile-pane { z-index: 200; }\r\n.leaflet-overlay-pane { z-index: 400; }\r\n.leaflet-shadow-pane { z-index: 500; }\r\n.leaflet-marker-pane { z-index: 600; }\r\n.leaflet-tooltip-pane { z-index: 650; }\r\n.leaflet-popup-pane { z-index: 700; }\r\n\r\n.leaflet-map-pane canvas { z-index: 100; }\r\n.leaflet-map-pane svg { z-index: 200; }\r\n\r\n.leaflet-vml-shape {\r\n width: 1px;\r\n height: 1px;\r\n }\r\n.lvml {\r\n behavior: url(#default#VML);\r\n display: inline-block;\r\n position: absolute;\r\n }\r\n\r\n\r\n/* control positioning */\r\n\r\n.leaflet-control {\r\n position: relative;\r\n z-index: 800;\r\n pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n pointer-events: auto;\r\n }\r\n.leaflet-top,\r\n.leaflet-bottom {\r\n position: absolute;\r\n z-index: 1000;\r\n pointer-events: none;\r\n }\r\n.leaflet-top {\r\n top: 0;\r\n }\r\n.leaflet-right {\r\n right: 0;\r\n }\r\n.leaflet-bottom {\r\n bottom: 0;\r\n }\r\n.leaflet-left {\r\n left: 0;\r\n }\r\n.leaflet-control {\r\n float: left;\r\n clear: both;\r\n }\r\n.leaflet-right .leaflet-control {\r\n float: right;\r\n }\r\n.leaflet-top .leaflet-control {\r\n margin-top: 10px;\r\n }\r\n.leaflet-bottom .leaflet-control {\r\n margin-bottom: 10px;\r\n }\r\n.leaflet-left .leaflet-control {\r\n margin-left: 10px;\r\n }\r\n.leaflet-right .leaflet-control {\r\n margin-right: 10px;\r\n }\r\n\r\n\r\n/* zoom and fade animations */\r\n\r\n.leaflet-fade-anim .leaflet-popup {\r\n opacity: 0;\r\n -webkit-transition: opacity 0.2s linear;\r\n -moz-transition: opacity 0.2s linear;\r\n transition: opacity 0.2s linear;\r\n }\r\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {\r\n opacity: 1;\r\n }\r\n.leaflet-zoom-animated {\r\n -webkit-transform-origin: 0 0;\r\n -ms-transform-origin: 0 0;\r\n transform-origin: 0 0;\r\n }\r\nsvg.leaflet-zoom-animated {\r\n will-change: transform;\r\n}\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-animated {\r\n -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n transition: transform 0.25s cubic-bezier(0,0,0.25,1);\r\n }\r\n.leaflet-zoom-anim .leaflet-tile,\r\n.leaflet-pan-anim .leaflet-tile {\r\n -webkit-transition: none;\r\n -moz-transition: none;\r\n transition: none;\r\n }\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-hide {\r\n visibility: hidden;\r\n }\r\n\r\n\r\n/* cursors */\r\n\r\n.leaflet-interactive {\r\n cursor: pointer;\r\n }\r\n.leaflet-grab {\r\n cursor: -webkit-grab;\r\n cursor: -moz-grab;\r\n cursor: grab;\r\n }\r\n.leaflet-crosshair,\r\n.leaflet-crosshair .leaflet-interactive {\r\n cursor: crosshair;\r\n }\r\n.leaflet-popup-pane,\r\n.leaflet-control {\r\n cursor: auto;\r\n }\r\n.leaflet-dragging .leaflet-grab,\r\n.leaflet-dragging .leaflet-grab .leaflet-interactive,\r\n.leaflet-dragging .leaflet-marker-draggable {\r\n cursor: move;\r\n cursor: -webkit-grabbing;\r\n cursor: -moz-grabbing;\r\n cursor: grabbing;\r\n }\r\n\r\n/* marker & overlays interactivity */\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-image-layer,\r\n.leaflet-pane > svg path,\r\n.leaflet-tile-container {\r\n pointer-events: none;\r\n }\r\n\r\n.leaflet-marker-icon.leaflet-interactive,\r\n.leaflet-image-layer.leaflet-interactive,\r\n.leaflet-pane > svg path.leaflet-interactive,\r\nsvg.leaflet-image-layer.leaflet-interactive path {\r\n pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n pointer-events: auto;\r\n }\r\n\r\n/* visual tweaks */\r\n\r\n.leaflet-container {\r\n background: #ddd;\r\n outline-offset: 1px;\r\n }\r\n.leaflet-container a {\r\n color: #0078A8;\r\n }\r\n.leaflet-zoom-box {\r\n border: 2px dotted #38f;\r\n background: rgba(255,255,255,0.5);\r\n }\r\n\r\n\r\n/* general typography */\r\n.leaflet-container {\r\n font-family: \"Helvetica Neue\", Arial, Helvetica, sans-serif;\r\n font-size: 12px;\r\n font-size: 0.75rem;\r\n line-height: 1.5;\r\n }\r\n\r\n\r\n/* general toolbar styles */\r\n\r\n.leaflet-bar {\r\n box-shadow: 0 1px 5px rgba(0,0,0,0.65);\r\n border-radius: 4px;\r\n }\r\n.leaflet-bar a {\r\n background-color: #fff;\r\n border-bottom: 1px solid #ccc;\r\n width: 26px;\r\n height: 26px;\r\n line-height: 26px;\r\n display: block;\r\n text-align: center;\r\n text-decoration: none;\r\n color: black;\r\n }\r\n.leaflet-bar a,\r\n.leaflet-control-layers-toggle {\r\n background-position: 50% 50%;\r\n background-repeat: no-repeat;\r\n display: block;\r\n }\r\n.leaflet-bar a:hover,\r\n.leaflet-bar a:focus {\r\n background-color: #f4f4f4;\r\n }\r\n.leaflet-bar a:first-child {\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n }\r\n.leaflet-bar a:last-child {\r\n border-bottom-left-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n border-bottom: none;\r\n }\r\n.leaflet-bar a.leaflet-disabled {\r\n cursor: default;\r\n background-color: #f4f4f4;\r\n color: #bbb;\r\n }\r\n\r\n.leaflet-touch .leaflet-bar a {\r\n width: 30px;\r\n height: 30px;\r\n line-height: 30px;\r\n }\r\n.leaflet-touch .leaflet-bar a:first-child {\r\n border-top-left-radius: 2px;\r\n border-top-right-radius: 2px;\r\n }\r\n.leaflet-touch .leaflet-bar a:last-child {\r\n border-bottom-left-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n }\r\n\r\n/* zoom control */\r\n\r\n.leaflet-control-zoom-in,\r\n.leaflet-control-zoom-out {\r\n font: bold 18px 'Lucida Console', Monaco, monospace;\r\n text-indent: 1px;\r\n }\r\n\r\n.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {\r\n font-size: 22px;\r\n }\r\n\r\n\r\n/* layers control */\r\n\r\n.leaflet-control-layers {\r\n box-shadow: 0 1px 5px rgba(0,0,0,0.4);\r\n background: #fff;\r\n border-radius: 5px;\r\n }\r\n.leaflet-control-layers-toggle {\r\n background-image: url(images/layers.png);\r\n width: 36px;\r\n height: 36px;\r\n }\r\n.leaflet-retina .leaflet-control-layers-toggle {\r\n background-image: url(images/layers-2x.png);\r\n background-size: 26px 26px;\r\n }\r\n.leaflet-touch .leaflet-control-layers-toggle {\r\n width: 44px;\r\n height: 44px;\r\n }\r\n.leaflet-control-layers .leaflet-control-layers-list,\r\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {\r\n display: none;\r\n }\r\n.leaflet-control-layers-expanded .leaflet-control-layers-list {\r\n display: block;\r\n position: relative;\r\n }\r\n.leaflet-control-layers-expanded {\r\n padding: 6px 10px 6px 6px;\r\n color: #333;\r\n background: #fff;\r\n }\r\n.leaflet-control-layers-scrollbar {\r\n overflow-y: scroll;\r\n overflow-x: hidden;\r\n padding-right: 5px;\r\n }\r\n.leaflet-control-layers-selector {\r\n margin-top: 2px;\r\n position: relative;\r\n top: 1px;\r\n }\r\n.leaflet-control-layers label {\r\n display: block;\r\n font-size: 13px;\r\n font-size: 1.08333em;\r\n }\r\n.leaflet-control-layers-separator {\r\n height: 0;\r\n border-top: 1px solid #ddd;\r\n margin: 5px -10px 5px -6px;\r\n }\r\n\r\n/* Default icon URLs */\r\n.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */\r\n background-image: url(images/marker-icon.png);\r\n }\r\n\r\n\r\n/* attribution and scale controls */\r\n\r\n.leaflet-container .leaflet-control-attribution {\r\n background: #fff;\r\n background: rgba(255, 255, 255, 0.8);\r\n margin: 0;\r\n }\r\n.leaflet-control-attribution,\r\n.leaflet-control-scale-line {\r\n padding: 0 5px;\r\n color: #333;\r\n line-height: 1.4;\r\n }\r\n.leaflet-control-attribution a {\r\n text-decoration: none;\r\n }\r\n.leaflet-control-attribution a:hover,\r\n.leaflet-control-attribution a:focus {\r\n text-decoration: underline;\r\n }\r\n.leaflet-attribution-flag {\r\n display: inline !important;\r\n vertical-align: baseline !important;\r\n width: 1em;\r\n height: 0.6669em;\r\n }\r\n.leaflet-left .leaflet-control-scale {\r\n margin-left: 5px;\r\n }\r\n.leaflet-bottom .leaflet-control-scale {\r\n margin-bottom: 5px;\r\n }\r\n.leaflet-control-scale-line {\r\n border: 2px solid #777;\r\n border-top: none;\r\n line-height: 1.1;\r\n padding: 2px 5px 1px;\r\n white-space: nowrap;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n background: rgba(255, 255, 255, 0.8);\r\n text-shadow: 1px 1px #fff;\r\n }\r\n.leaflet-control-scale-line:not(:first-child) {\r\n border-top: 2px solid #777;\r\n border-bottom: none;\r\n margin-top: -2px;\r\n }\r\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {\r\n border-bottom: 2px solid #777;\r\n }\r\n\r\n.leaflet-touch .leaflet-control-attribution,\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n box-shadow: none;\r\n }\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n border: 2px solid rgba(0,0,0,0.2);\r\n background-clip: padding-box;\r\n }\r\n\r\n\r\n/* popup */\r\n\r\n.leaflet-popup {\r\n position: absolute;\r\n text-align: center;\r\n margin-bottom: 20px;\r\n }\r\n.leaflet-popup-content-wrapper {\r\n padding: 1px;\r\n text-align: left;\r\n border-radius: 12px;\r\n }\r\n.leaflet-popup-content {\r\n margin: 13px 24px 13px 20px;\r\n line-height: 1.3;\r\n font-size: 13px;\r\n font-size: 1.08333em;\r\n min-height: 1px;\r\n }\r\n.leaflet-popup-content p {\r\n margin: 17px 0;\r\n margin: 1.3em 0;\r\n }\r\n.leaflet-popup-tip-container {\r\n width: 40px;\r\n height: 20px;\r\n position: absolute;\r\n left: 50%;\r\n margin-top: -1px;\r\n margin-left: -20px;\r\n overflow: hidden;\r\n pointer-events: none;\r\n }\r\n.leaflet-popup-tip {\r\n width: 17px;\r\n height: 17px;\r\n padding: 1px;\r\n\r\n margin: -10px auto 0;\r\n pointer-events: auto;\r\n\r\n -webkit-transform: rotate(45deg);\r\n -moz-transform: rotate(45deg);\r\n -ms-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n }\r\n.leaflet-popup-content-wrapper,\r\n.leaflet-popup-tip {\r\n background: white;\r\n color: #333;\r\n box-shadow: 0 3px 14px rgba(0,0,0,0.4);\r\n }\r\n.leaflet-container a.leaflet-popup-close-button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n border: none;\r\n text-align: center;\r\n width: 24px;\r\n height: 24px;\r\n font: 16px/24px Tahoma, Verdana, sans-serif;\r\n color: #757575;\r\n text-decoration: none;\r\n background: transparent;\r\n }\r\n.leaflet-container a.leaflet-popup-close-button:hover,\r\n.leaflet-container a.leaflet-popup-close-button:focus {\r\n color: #585858;\r\n }\r\n.leaflet-popup-scrolled {\r\n overflow: auto;\r\n }\r\n\r\n.leaflet-oldie .leaflet-popup-content-wrapper {\r\n -ms-zoom: 1;\r\n }\r\n.leaflet-oldie .leaflet-popup-tip {\r\n width: 24px;\r\n margin: 0 auto;\r\n\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";\r\n filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);\r\n }\r\n\r\n.leaflet-oldie .leaflet-control-zoom,\r\n.leaflet-oldie .leaflet-control-layers,\r\n.leaflet-oldie .leaflet-popup-content-wrapper,\r\n.leaflet-oldie .leaflet-popup-tip {\r\n border: 1px solid #999;\r\n }\r\n\r\n\r\n/* div icon */\r\n\r\n.leaflet-div-icon {\r\n background: #fff;\r\n border: 1px solid #666;\r\n }\r\n\r\n\r\n/* Tooltip */\r\n/* Base styles for the element that has a tooltip */\r\n.leaflet-tooltip {\r\n position: absolute;\r\n padding: 6px;\r\n background-color: #fff;\r\n border: 1px solid #fff;\r\n border-radius: 3px;\r\n color: #222;\r\n white-space: nowrap;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n pointer-events: none;\r\n box-shadow: 0 1px 3px rgba(0,0,0,0.4);\r\n }\r\n.leaflet-tooltip.leaflet-interactive {\r\n cursor: pointer;\r\n pointer-events: auto;\r\n }\r\n.leaflet-tooltip-top:before,\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n position: absolute;\r\n pointer-events: none;\r\n border: 6px solid transparent;\r\n background: transparent;\r\n content: \"\";\r\n }\r\n\r\n/* Directions */\r\n\r\n.leaflet-tooltip-bottom {\r\n margin-top: 6px;\r\n}\r\n.leaflet-tooltip-top {\r\n margin-top: -6px;\r\n}\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-top:before {\r\n left: 50%;\r\n margin-left: -6px;\r\n }\r\n.leaflet-tooltip-top:before {\r\n bottom: 0;\r\n margin-bottom: -12px;\r\n border-top-color: #fff;\r\n }\r\n.leaflet-tooltip-bottom:before {\r\n top: 0;\r\n margin-top: -12px;\r\n margin-left: -6px;\r\n border-bottom-color: #fff;\r\n }\r\n.leaflet-tooltip-left {\r\n margin-left: -6px;\r\n}\r\n.leaflet-tooltip-right {\r\n margin-left: 6px;\r\n}\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n top: 50%;\r\n margin-top: -6px;\r\n }\r\n.leaflet-tooltip-left:before {\r\n right: 0;\r\n margin-right: -12px;\r\n border-left-color: #fff;\r\n }\r\n.leaflet-tooltip-right:before {\r\n left: 0;\r\n margin-left: -12px;\r\n border-right-color: #fff;\r\n }\r\n\r\n/* Printing */\r\n\r\n@media print {\r\n /* Prevent printers from removing background-images of controls. */\r\n .leaflet-control {\r\n -webkit-print-color-adjust: exact;\r\n print-color-adjust: exact;\r\n }\r\n }\r\n";
|
|
21755
21781
|
//#endregion
|
|
21756
21782
|
//#region src/components/shared/charts/map-chart/map-styles.ts
|
|
21757
|
-
function
|
|
21783
|
+
function Ft(e) {
|
|
21758
21784
|
return e.replace(/[^{}]*\{[^{}]*url\(images\/[^{}]*\}/g, "");
|
|
21759
21785
|
}
|
|
21760
|
-
var
|
|
21761
|
-
|
|
21762
|
-
|
|
21763
|
-
|
|
21764
|
-
|
|
21765
|
-
],
|
|
21786
|
+
var It = u(Nt), Lt = [
|
|
21787
|
+
u(ee),
|
|
21788
|
+
u(Ft(Pt)),
|
|
21789
|
+
It,
|
|
21790
|
+
f
|
|
21791
|
+
], Rt = class extends ie {
|
|
21766
21792
|
static {
|
|
21767
21793
|
this.styles = [
|
|
21768
|
-
|
|
21769
|
-
|
|
21770
|
-
|
|
21771
|
-
r(s),
|
|
21794
|
+
e,
|
|
21795
|
+
i(ne),
|
|
21796
|
+
i(n),
|
|
21772
21797
|
...b,
|
|
21773
|
-
...
|
|
21798
|
+
...Lt
|
|
21774
21799
|
];
|
|
21775
21800
|
}
|
|
21776
21801
|
static {
|
|
@@ -21779,18 +21804,24 @@ var Rt = l(Ft), zt = [
|
|
|
21779
21804
|
layer: { state: !0 }
|
|
21780
21805
|
};
|
|
21781
21806
|
}
|
|
21782
|
-
#e = new
|
|
21807
|
+
#e = new D(() => this.requestUpdate());
|
|
21783
21808
|
#t = null;
|
|
21784
|
-
#n = new
|
|
21809
|
+
#n = new t(this);
|
|
21785
21810
|
#r = void 0;
|
|
21811
|
+
#i = null;
|
|
21786
21812
|
get dataSettings() {
|
|
21787
21813
|
return this.data ?? void 0;
|
|
21788
21814
|
}
|
|
21815
|
+
connectedCallback() {
|
|
21816
|
+
super.connectedCallback(), this.#i = a((e) => {
|
|
21817
|
+
this.#e.leaflet?.print(e), this.isUpdatePending && this.performUpdate();
|
|
21818
|
+
});
|
|
21819
|
+
}
|
|
21789
21820
|
disconnectedCallback() {
|
|
21790
|
-
this.#e.detach(), this.#t?.detach(), this.#t = null, super.disconnectedCallback();
|
|
21821
|
+
this.#i?.(), this.#i = null, this.#e.detach(), this.#t?.detach(), this.#t = null, super.disconnectedCallback();
|
|
21791
21822
|
}
|
|
21792
21823
|
expandChanged(e) {
|
|
21793
|
-
e ? this.#t ??= new
|
|
21824
|
+
e ? this.#t ??= new D(() => this.requestUpdate()) : (this.#t?.detach(), this.#t = null);
|
|
21794
21825
|
}
|
|
21795
21826
|
willUpdate(e) {
|
|
21796
21827
|
super.willUpdate(e), e.has("data") && this.data?.layer !== this.#r && (this.#r = this.data?.layer, this.layer = this.data?.layer);
|
|
@@ -21802,8 +21833,8 @@ var Rt = l(Ft), zt = [
|
|
|
21802
21833
|
csv() {
|
|
21803
21834
|
let e = this.data;
|
|
21804
21835
|
if (!e?.download) return;
|
|
21805
|
-
let t = e.unit ?? "aantal", n =
|
|
21806
|
-
|
|
21836
|
+
let t = e.unit ?? "aantal", n = be(e, t), r = e.variant === "plots", i = n.every((e) => e.unit === t), a = (e) => i || !e.unit ? e.name : `${e.name} (${e.unit})`, o = n.some((e) => e.values.some((e) => e.detail));
|
|
21837
|
+
oe(e.download.filename, [[
|
|
21807
21838
|
"",
|
|
21808
21839
|
i ? t : "",
|
|
21809
21840
|
...r ? ["Laag"] : [],
|
|
@@ -21817,19 +21848,23 @@ var Rt = l(Ft), zt = [
|
|
|
21817
21848
|
}
|
|
21818
21849
|
render() {
|
|
21819
21850
|
let e = this.data;
|
|
21820
|
-
if (!e) return
|
|
21821
|
-
let t = (e.state ?? "ready") === "ready",
|
|
21822
|
-
return
|
|
21823
|
-
id=${this.id ? `${this.id}-tile` :
|
|
21824
|
-
span=${e.span ??
|
|
21825
|
-
heading=${e.title ??
|
|
21826
|
-
icon=${e.icon ??
|
|
21827
|
-
subtitle=${
|
|
21828
|
-
intro=${e.intro ??
|
|
21829
|
-
footnote=${e.footnote ??
|
|
21851
|
+
if (!e) return c;
|
|
21852
|
+
let t = (e.state ?? "ready") === "ready", n = this.#n.matches && e.mobileSubtitle ? e.mobileSubtitle : e.subtitle, r = e.height ?? (this.#n.matches ? wt.mobile : wt.desktop);
|
|
21853
|
+
return p`<lintje-tile
|
|
21854
|
+
id=${this.id ? `${this.id}-tile` : c}
|
|
21855
|
+
span=${e.span ?? c}
|
|
21856
|
+
heading=${e.title ?? c}
|
|
21857
|
+
icon=${e.icon ?? c}
|
|
21858
|
+
subtitle=${n ?? c}
|
|
21859
|
+
intro=${e.intro ?? c}
|
|
21860
|
+
footnote=${e.footnote ?? c}
|
|
21830
21861
|
?legend-below=${!!e.legendBelow}
|
|
21831
21862
|
?expandable=${!!e.expandable && t}
|
|
21832
21863
|
?download=${!!e.download && t}
|
|
21864
|
+
state=${e.state ?? "ready"}
|
|
21865
|
+
message=${e.message ?? c}
|
|
21866
|
+
last-known=${e.lastKnown ?? c}
|
|
21867
|
+
content-height=${`${r}px`}
|
|
21833
21868
|
@lintje-tile-expand=${(e) => {
|
|
21834
21869
|
e.stopPropagation(), this.expand(!0);
|
|
21835
21870
|
}}
|
|
@@ -21837,16 +21872,16 @@ var Rt = l(Ft), zt = [
|
|
|
21837
21872
|
e.stopPropagation(), this.csv();
|
|
21838
21873
|
}}
|
|
21839
21874
|
>
|
|
21840
|
-
${e.notice ?
|
|
21841
|
-
${this.content(`${
|
|
21875
|
+
${e.notice ? p`<lintje-announcement slot="notice" .data=${e.notice}></lintje-announcement>` : c}
|
|
21876
|
+
${this.content(`${r}px`)}
|
|
21842
21877
|
</lintje-tile>
|
|
21843
21878
|
|
|
21844
|
-
${this.renderExpandModal(this.expanded && this.#t ?
|
|
21879
|
+
${this.renderExpandModal(this.expanded && this.#t ? Mt({
|
|
21845
21880
|
...e,
|
|
21846
21881
|
layer: this.layer
|
|
21847
|
-
}, this.mapOptions(this.#t, !0)) :
|
|
21882
|
+
}, this.mapOptions(this.#t, !0)) : c, {
|
|
21848
21883
|
heading: e.title,
|
|
21849
|
-
subtitle:
|
|
21884
|
+
subtitle: n,
|
|
21850
21885
|
footnote: e.footnote,
|
|
21851
21886
|
csv: e.download ? () => this.csv() : void 0,
|
|
21852
21887
|
png: e.basemap ? void 0 : () => this.png()
|
|
@@ -21855,18 +21890,14 @@ var Rt = l(Ft), zt = [
|
|
|
21855
21890
|
content(e) {
|
|
21856
21891
|
let t = this.data;
|
|
21857
21892
|
switch (t.state ?? "ready") {
|
|
21858
|
-
case "loading": return
|
|
21893
|
+
case "loading": return p`<div slot="loading">${re({
|
|
21859
21894
|
kind: "map",
|
|
21860
|
-
height: e
|
|
21861
|
-
});
|
|
21862
|
-
case "empty": return se(t.message, e);
|
|
21863
|
-
case "error": return S({
|
|
21864
|
-
message: t.message,
|
|
21865
|
-
lastKnown: t.lastKnown,
|
|
21866
21895
|
height: e,
|
|
21867
|
-
|
|
21868
|
-
})
|
|
21869
|
-
|
|
21896
|
+
status: !1
|
|
21897
|
+
})}</div>`;
|
|
21898
|
+
case "empty":
|
|
21899
|
+
case "error": return c;
|
|
21900
|
+
default: return Mt({
|
|
21870
21901
|
...t,
|
|
21871
21902
|
layer: this.layer
|
|
21872
21903
|
}, this.mapOptions(this.#e));
|
|
@@ -21905,6 +21936,6 @@ var Rt = l(Ft), zt = [
|
|
|
21905
21936
|
};
|
|
21906
21937
|
}
|
|
21907
21938
|
};
|
|
21908
|
-
|
|
21939
|
+
r("lintje-map", Rt);
|
|
21909
21940
|
//#endregion
|
|
21910
|
-
export {
|
|
21941
|
+
export { Rt as LintjeMap };
|