@oiz/stzh-components 2.3.0-alpha → 2.3.0-alpha2
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/dist/cjs/{app-globals-13e786d3.js → app-globals-03f189c4.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
- package/dist/cjs/stzh-appnav.cjs.entry.js +1 -1
- package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
- package/dist/cjs/stzh-badge_3.cjs.entry.js +6 -2
- package/dist/cjs/stzh-card_3.cjs.entry.js +4 -3
- package/dist/cjs/stzh-cell.cjs.entry.js +1 -1
- package/dist/cjs/stzh-chart.cjs.entry.js +406 -1473
- package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +1 -1
- package/dist/cjs/stzh-chip_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-components.cjs.js +2 -2
- package/dist/cjs/stzh-contact.cjs.entry.js +1 -1
- package/dist/cjs/stzh-container.cjs.entry.js +1 -1
- package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datalist_2.cjs.entry.js +20 -7
- package/dist/cjs/stzh-datepicker_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-details.cjs.entry.js +1 -1
- package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
- package/dist/cjs/stzh-dropdown.cjs.entry.js +6 -2
- package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
- package/dist/cjs/stzh-footer.cjs.entry.js +1 -1
- package/dist/cjs/stzh-ghettobox_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-header.cjs.entry.js +1 -1
- package/dist/cjs/stzh-hspace.cjs.entry.js +1 -1
- package/dist/cjs/stzh-icon-sprite.cjs.entry.js +1 -1
- package/dist/cjs/stzh-input.cjs.entry.js +1 -1
- package/dist/cjs/stzh-link.cjs.entry.js +1 -1
- package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagebottom.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-popover.cjs.entry.js +1 -1
- package/dist/cjs/stzh-progressbar-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-row.cjs.entry.js +1 -1
- package/dist/cjs/stzh-section.cjs.entry.js +1 -1
- package/dist/cjs/stzh-sortable.cjs.entry.js +2 -2
- package/dist/cjs/stzh-space.cjs.entry.js +1 -1
- package/dist/cjs/stzh-status.cjs.entry.js +1 -1
- package/dist/cjs/stzh-table.cjs.entry.js +1 -1
- package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
- package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/stzh-upload.cjs.entry.js +2 -2
- package/dist/cjs/stzh-vspace.cjs.entry.js +1 -1
- package/dist/cjs/{utils-ff153309.js → utils-a2ff9f84.js} +39 -11
- package/dist/collection/assets/i18n/de.json +3 -3
- package/dist/collection/assets/icons/mono/calculator.svg +10 -0
- package/dist/collection/components/stzh-button/stzh-button.css +26 -2
- package/dist/collection/components/stzh-button/stzh-button.js +40 -0
- package/dist/collection/components/stzh-button/stzh-button.stories.js +9 -0
- package/dist/collection/components/stzh-card/stzh-card.css +3 -0
- package/dist/collection/components/stzh-card-list/stzh-card-list.js +2 -2
- package/dist/collection/components/stzh-cell/stzh-cell.css +5 -0
- package/dist/collection/components/stzh-chart/stzh-chart.css +37 -55
- package/dist/collection/components/stzh-chip/stzh-chip.css +7 -3
- package/dist/collection/components/stzh-chip/stzh-chip.js +2 -2
- package/dist/collection/components/stzh-chip-select/stzh-chip-select.js +1 -0
- package/dist/collection/components/stzh-container/stzh-container.css +8 -0
- package/dist/collection/components/stzh-cspace/stzh-cspace.css +8 -6
- package/dist/collection/components/stzh-datalist/stzh-datalist.css +3 -3
- package/dist/collection/components/stzh-datalist/stzh-datalist.js +5 -5
- package/dist/collection/components/stzh-datalist/stzh-datalist.stories.js +18 -6
- package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +57 -18
- package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +70 -4
- package/dist/collection/components/stzh-datatable/stzh-datatable.js +1 -1
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +22 -2
- package/dist/collection/components/stzh-hspace/stzh-hspace.css +19 -13
- package/dist/collection/components/stzh-icon-sprite/assets/svgsprites/symbol/sprite.symbol.html +47 -34
- package/dist/collection/components/stzh-icon-sprite/assets/svgsprites/symbol/svg/sprite.symbol.svg +1 -1
- package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.css +0 -3
- package/dist/collection/components/stzh-row/stzh-row.css +5 -0
- package/dist/collection/components/stzh-section/stzh-section.css +6 -0
- package/dist/collection/components/stzh-sortable/stzh-sortable.js +3 -3
- package/dist/collection/components/stzh-space/stzh-space.css +6 -0
- package/dist/collection/components/stzh-status/stzh-status.css +5 -1
- package/dist/collection/components/stzh-status/stzh-status.js +1 -1
- package/dist/collection/components/stzh-table/stzh-table.js +1 -1
- package/dist/collection/components/stzh-upload/stzh-upload.js +1 -1
- package/dist/collection/components/stzh-vspace/stzh-vspace.css +6 -0
- package/dist/collection/pages/website.stories.js +4 -1
- package/dist/collection/utils/utils.js +41 -20
- package/dist/components/index.js +1 -1
- package/dist/components/stzh-button2.js +7 -1
- package/dist/components/stzh-card-list2.js +2 -2
- package/dist/components/stzh-card2.js +1 -1
- package/dist/components/stzh-cell.js +1 -1
- package/dist/components/stzh-chart.js +406 -1473
- package/dist/components/stzh-chip-select2.js +1 -0
- package/dist/components/stzh-chip2.js +1 -1
- package/dist/components/stzh-contact.js +18 -12
- package/dist/components/stzh-container.js +1 -1
- package/dist/components/stzh-cspace.js +1 -1
- package/dist/components/stzh-datalist-item2.js +33 -11
- package/dist/components/stzh-datalist2.js +17 -11
- package/dist/components/stzh-dropdown2.js +6 -1
- package/dist/components/stzh-hspace.js +1 -1
- package/dist/components/stzh-icon-sprite.js +1 -1
- package/dist/components/stzh-progressbar-item2.js +1 -1
- package/dist/components/stzh-row.js +1 -1
- package/dist/components/stzh-section.js +1 -1
- package/dist/components/stzh-sitemap.js +16 -10
- package/dist/components/stzh-sortable2.js +2 -2
- package/dist/components/stzh-space.js +1 -1
- package/dist/components/stzh-status2.js +2 -2
- package/dist/components/stzh-upload.js +1 -1
- package/dist/components/stzh-vspace.js +1 -1
- package/dist/components/utils.js +39 -11
- package/dist/esm/{app-globals-2e508622.js → app-globals-02f560cd.js} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/stzh-actions.entry.js +1 -1
- package/dist/esm/stzh-appnav.entry.js +1 -1
- package/dist/esm/stzh-audio.entry.js +1 -1
- package/dist/esm/stzh-badge_3.entry.js +6 -2
- package/dist/esm/stzh-card_3.entry.js +4 -3
- package/dist/esm/stzh-cell.entry.js +1 -1
- package/dist/esm/stzh-chart.entry.js +406 -1473
- package/dist/esm/stzh-checkbox.entry.js +1 -1
- package/dist/esm/stzh-checkboxgroup.entry.js +1 -1
- package/dist/esm/stzh-chip_2.entry.js +1 -1
- package/dist/esm/stzh-components.js +2 -2
- package/dist/esm/stzh-contact.entry.js +1 -1
- package/dist/esm/stzh-container.entry.js +1 -1
- package/dist/esm/stzh-cspace.entry.js +1 -1
- package/dist/esm/stzh-datalist_2.entry.js +20 -7
- package/dist/esm/stzh-datepicker_3.entry.js +1 -1
- package/dist/esm/stzh-details.entry.js +1 -1
- package/dist/esm/stzh-dialog.entry.js +1 -1
- package/dist/esm/stzh-dropdown.entry.js +6 -2
- package/dist/esm/stzh-figure.entry.js +1 -1
- package/dist/esm/stzh-footer.entry.js +1 -1
- package/dist/esm/stzh-ghettobox_2.entry.js +1 -1
- package/dist/esm/stzh-header.entry.js +1 -1
- package/dist/esm/stzh-hspace.entry.js +1 -1
- package/dist/esm/stzh-icon-sprite.entry.js +1 -1
- package/dist/esm/stzh-input.entry.js +1 -1
- package/dist/esm/stzh-link.entry.js +1 -1
- package/dist/esm/stzh-menu_2.entry.js +1 -1
- package/dist/esm/stzh-pagebottom.entry.js +1 -1
- package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
- package/dist/esm/stzh-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-popover.entry.js +1 -1
- package/dist/esm/stzh-progressbar-item.entry.js +1 -1
- package/dist/esm/stzh-readspeaker.entry.js +1 -1
- package/dist/esm/stzh-row.entry.js +1 -1
- package/dist/esm/stzh-section.entry.js +1 -1
- package/dist/esm/stzh-sortable.entry.js +2 -2
- package/dist/esm/stzh-space.entry.js +1 -1
- package/dist/esm/stzh-status.entry.js +1 -1
- package/dist/esm/stzh-table.entry.js +1 -1
- package/dist/esm/stzh-textandimage.entry.js +1 -1
- package/dist/esm/stzh-toggle.entry.js +1 -1
- package/dist/esm/stzh-tooltip.entry.js +1 -1
- package/dist/esm/stzh-upload.entry.js +2 -2
- package/dist/esm/stzh-vspace.entry.js +1 -1
- package/dist/esm/{utils-92a77db5.js → utils-51148d9a.js} +39 -11
- package/dist/esm-es5/app-globals-02f560cd.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/stzh-actions.entry.js +1 -1
- package/dist/esm-es5/stzh-appnav.entry.js +1 -1
- package/dist/esm-es5/stzh-audio.entry.js +1 -1
- package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
- package/dist/esm-es5/stzh-card_3.entry.js +1 -1
- package/dist/esm-es5/stzh-cell.entry.js +1 -1
- package/dist/esm-es5/stzh-chart.entry.js +3 -3
- package/dist/esm-es5/stzh-checkbox.entry.js +1 -1
- package/dist/esm-es5/stzh-checkboxgroup.entry.js +1 -1
- package/dist/esm-es5/stzh-chip_2.entry.js +1 -1
- package/dist/esm-es5/stzh-components.js +1 -1
- package/dist/esm-es5/stzh-contact.entry.js +1 -1
- package/dist/esm-es5/stzh-container.entry.js +1 -1
- package/dist/esm-es5/stzh-cspace.entry.js +1 -1
- package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
- package/dist/esm-es5/stzh-datepicker_3.entry.js +1 -1
- package/dist/esm-es5/stzh-details.entry.js +1 -1
- package/dist/esm-es5/stzh-dialog.entry.js +1 -1
- package/dist/esm-es5/stzh-dropdown.entry.js +2 -2
- package/dist/esm-es5/stzh-figure.entry.js +1 -1
- package/dist/esm-es5/stzh-footer.entry.js +1 -1
- package/dist/esm-es5/stzh-ghettobox_2.entry.js +1 -1
- package/dist/esm-es5/stzh-header.entry.js +1 -1
- package/dist/esm-es5/stzh-hspace.entry.js +1 -1
- package/dist/esm-es5/stzh-icon-sprite.entry.js +1 -1
- package/dist/esm-es5/stzh-input.entry.js +1 -1
- package/dist/esm-es5/stzh-link.entry.js +1 -1
- package/dist/esm-es5/stzh-menu_2.entry.js +1 -1
- package/dist/esm-es5/stzh-pagebottom.entry.js +1 -1
- package/dist/esm-es5/stzh-pagetitle-hero.entry.js +1 -1
- package/dist/esm-es5/stzh-pagetitle.entry.js +1 -1
- package/dist/esm-es5/stzh-popover.entry.js +1 -1
- package/dist/esm-es5/stzh-progressbar-item.entry.js +1 -1
- package/dist/esm-es5/stzh-readspeaker.entry.js +1 -1
- package/dist/esm-es5/stzh-row.entry.js +1 -1
- package/dist/esm-es5/stzh-section.entry.js +1 -1
- package/dist/esm-es5/stzh-sortable.entry.js +2 -2
- package/dist/esm-es5/stzh-space.entry.js +1 -1
- package/dist/esm-es5/stzh-status.entry.js +1 -1
- package/dist/esm-es5/stzh-table.entry.js +1 -1
- package/dist/esm-es5/stzh-textandimage.entry.js +1 -1
- package/dist/esm-es5/stzh-toggle.entry.js +1 -1
- package/dist/esm-es5/stzh-tooltip.entry.js +1 -1
- package/dist/esm-es5/stzh-upload.entry.js +1 -1
- package/dist/esm-es5/stzh-vspace.entry.js +1 -1
- package/dist/esm-es5/utils-51148d9a.js +1 -0
- package/dist/stzh-components/assets/i18n/de.json +3 -3
- package/dist/stzh-components/assets/icons/mono/calculator.svg +10 -0
- package/dist/stzh-components/assets/svgsprites/symbol/sprite.symbol.html +47 -34
- package/dist/stzh-components/assets/svgsprites/symbol/svg/sprite.symbol.svg +1 -1
- package/dist/stzh-components/{p-d6a11daa.entry.js → p-02d51685.entry.js} +1 -1
- package/dist/stzh-components/p-0759cd7e.entry.js +1 -0
- package/dist/stzh-components/{p-6c80b920.system.entry.js → p-07dc23a3.system.entry.js} +1 -1
- package/dist/stzh-components/{p-bb82fa2d.system.entry.js → p-088b16c6.system.entry.js} +1 -1
- package/dist/stzh-components/{p-2ba88798.entry.js → p-0ba944ab.entry.js} +1 -1
- package/dist/stzh-components/{p-06f5abab.system.entry.js → p-0ffd0de8.system.entry.js} +1 -1
- package/dist/stzh-components/{p-2c490268.system.entry.js → p-102e2bcd.system.entry.js} +1 -1
- package/dist/stzh-components/{p-a2b2cfac.system.entry.js → p-12856e02.system.entry.js} +1 -1
- package/dist/stzh-components/{p-b9427914.entry.js → p-155ecf6c.entry.js} +1 -1
- package/dist/stzh-components/p-16c0b9ae.entry.js +3 -0
- package/dist/stzh-components/p-18e20038.entry.js +1 -0
- package/dist/stzh-components/{p-f433e62a.system.entry.js → p-1a98470f.system.entry.js} +1 -1
- package/dist/stzh-components/p-1bcda13d.system.entry.js +1 -0
- package/dist/stzh-components/p-1d435dd8.system.entry.js +1 -0
- package/dist/stzh-components/{p-8972cf20.entry.js → p-1f74846f.entry.js} +1 -1
- package/dist/stzh-components/{p-ac3e3b2a.system.entry.js → p-215d2cf6.system.entry.js} +1 -1
- package/dist/stzh-components/{p-1f925e84.system.entry.js → p-25d8a9c0.system.entry.js} +1 -1
- package/dist/stzh-components/{p-97e4272b.system.entry.js → p-2674dc69.system.entry.js} +1 -1
- package/dist/stzh-components/p-29e9ad9f.system.entry.js +1 -0
- package/dist/stzh-components/p-2c42ae68.entry.js +1 -0
- package/dist/stzh-components/{p-d32965be.system.entry.js → p-309fc559.system.entry.js} +1 -1
- package/dist/stzh-components/p-30a9de85.system.entry.js +1 -0
- package/dist/stzh-components/{p-64e27ac1.entry.js → p-31b995e8.entry.js} +1 -1
- package/dist/stzh-components/p-326fcb23.js +1 -0
- package/dist/stzh-components/{p-705aa56d.entry.js → p-32a03d1c.entry.js} +1 -1
- package/dist/stzh-components/p-37920e74.system.entry.js +1 -0
- package/dist/stzh-components/{p-125a8244.entry.js → p-4633b93d.entry.js} +1 -1
- package/dist/stzh-components/{p-81b4b0e6.system.entry.js → p-48e79dc0.system.entry.js} +1 -1
- package/dist/stzh-components/p-4c60da30.entry.js +1 -0
- package/dist/stzh-components/p-4eee30ea.system.entry.js +1 -0
- package/dist/stzh-components/{p-41fa7e81.entry.js → p-532b4218.entry.js} +1 -1
- package/dist/stzh-components/{p-668b4025.system.entry.js → p-552d0e82.system.entry.js} +1 -1
- package/dist/stzh-components/p-57235597.system.entry.js +1 -0
- package/dist/stzh-components/p-5c697491.js +1 -0
- package/dist/stzh-components/{p-a0a033bd.system.entry.js → p-5c72664e.system.entry.js} +1 -1
- package/dist/stzh-components/p-5d55a672.system.entry.js +1 -0
- package/dist/stzh-components/p-63bb1d5e.system.js +1 -0
- package/dist/stzh-components/{p-7b0c04b3.system.entry.js → p-6606e17e.system.entry.js} +1 -1
- package/dist/stzh-components/{p-8ee705ed.entry.js → p-66692130.entry.js} +1 -1
- package/dist/stzh-components/{p-bc36fda4.system.entry.js → p-6769b9a8.system.entry.js} +1 -1
- package/dist/stzh-components/{p-04d390eb.entry.js → p-67816aa4.entry.js} +1 -1
- package/dist/stzh-components/{p-e7e9b295.system.entry.js → p-6a94e520.system.entry.js} +1 -1
- package/dist/stzh-components/p-6deb516e.entry.js +1 -0
- package/dist/stzh-components/{p-ed58b644.system.entry.js → p-72a62d0d.system.entry.js} +1 -1
- package/dist/stzh-components/p-761ee059.entry.js +1 -0
- package/dist/stzh-components/{p-c33b7d23.entry.js → p-77320d20.entry.js} +1 -1
- package/dist/stzh-components/p-798ac79c.entry.js +1 -0
- package/dist/stzh-components/{p-7185f634.entry.js → p-7f857e56.entry.js} +1 -1
- package/dist/stzh-components/{p-9d5c70ee.system.entry.js → p-809ed955.system.entry.js} +1 -1
- package/dist/stzh-components/{p-fa615b51.system.entry.js → p-84a6e023.system.entry.js} +1 -1
- package/dist/stzh-components/p-89bd0d46.entry.js +1 -0
- package/dist/stzh-components/{p-5c717080.system.entry.js → p-8f577bc6.system.entry.js} +1 -1
- package/dist/stzh-components/{p-cbe6d2ea.entry.js → p-919cf183.entry.js} +1 -1
- package/dist/stzh-components/p-94918f2a.system.entry.js +1 -0
- package/dist/stzh-components/p-951b04ab.entry.js +1 -0
- package/dist/stzh-components/{p-da98a8bb.system.entry.js → p-963a7526.system.entry.js} +1 -1
- package/dist/stzh-components/{p-126a0f14.entry.js → p-9be21c72.entry.js} +1 -1
- package/dist/stzh-components/p-9de8b25b.entry.js +1 -0
- package/dist/stzh-components/{p-fe5d5fc8.entry.js → p-a1727d35.entry.js} +1 -1
- package/dist/stzh-components/{p-7e94b787.entry.js → p-a2df0ea1.entry.js} +1 -1
- package/dist/stzh-components/{p-6496df0a.system.entry.js → p-a32ae73a.system.entry.js} +2 -2
- package/dist/stzh-components/{p-8c5a6832.system.entry.js → p-a7eb3e02.system.entry.js} +1 -1
- package/dist/stzh-components/p-acf59d10.entry.js +1 -0
- package/dist/stzh-components/p-ad62a793.system.entry.js +1 -0
- package/dist/stzh-components/{p-4370efe7.entry.js → p-ae38f1d2.entry.js} +1 -1
- package/dist/stzh-components/p-b04a9d0f.system.entry.js +1 -0
- package/dist/stzh-components/p-b422041d.entry.js +1 -0
- package/dist/stzh-components/{p-b050c1f4.entry.js → p-b9372a2a.entry.js} +1 -1
- package/dist/stzh-components/{p-f5b2c12e.entry.js → p-bb698e26.entry.js} +1 -1
- package/dist/stzh-components/{p-dbe5320f.entry.js → p-bc2af057.entry.js} +1 -1
- package/dist/stzh-components/{p-1c2c9ca8.entry.js → p-bc545121.entry.js} +1 -1
- package/dist/stzh-components/{p-d5644c25.entry.js → p-be97cb22.entry.js} +1 -1
- package/dist/stzh-components/{p-b6e6f847.entry.js → p-c2a22eb8.entry.js} +1 -1
- package/dist/stzh-components/{p-0af8a184.system.entry.js → p-c4c620fa.system.entry.js} +1 -1
- package/dist/stzh-components/p-c87e9b71.entry.js +1 -0
- package/dist/stzh-components/p-cc722b35.system.entry.js +3 -0
- package/dist/stzh-components/{p-38e7645a.entry.js → p-d1cfe06b.entry.js} +1 -1
- package/dist/stzh-components/p-d4b7a303.system.js +1 -0
- package/dist/stzh-components/p-d4c006e8.entry.js +1 -0
- package/dist/stzh-components/{p-a3c7aa63.entry.js → p-d9ae09b5.entry.js} +4 -4
- package/dist/stzh-components/p-db6aa108.system.js +1 -0
- package/dist/stzh-components/{p-8715198b.entry.js → p-de76e01b.entry.js} +1 -1
- package/dist/stzh-components/{p-a44527f8.entry.js → p-e1b2785b.entry.js} +1 -1
- package/dist/stzh-components/{p-00c4c8c0.system.entry.js → p-e4a8f1bc.system.entry.js} +1 -1
- package/dist/stzh-components/p-e59c2adc.system.entry.js +1 -0
- package/dist/stzh-components/p-e9994d05.system.entry.js +1 -0
- package/dist/stzh-components/{p-e78fe899.system.entry.js → p-ed783154.system.entry.js} +1 -1
- package/dist/stzh-components/{p-4d8c81b2.system.entry.js → p-eed126cf.system.entry.js} +1 -1
- package/dist/stzh-components/{p-f3d69226.system.entry.js → p-f3276ca5.system.entry.js} +1 -1
- package/dist/stzh-components/p-f4deacf4.system.entry.js +1 -0
- package/dist/stzh-components/{p-99aacd74.entry.js → p-f7e18135.entry.js} +1 -1
- package/dist/stzh-components/{p-09f582cd.entry.js → p-febba79b.entry.js} +1 -1
- package/dist/stzh-components/{p-5f9b58fb.system.entry.js → p-ff328114.system.entry.js} +1 -1
- package/dist/stzh-components/stzh-components.esm.js +1 -1
- package/dist/stzh-components/stzh-components.js +1 -1
- package/dist/types/components.d.ts +58 -14
- package/dist/types/index.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +4 -2
- package/dist/vscode-data.json +46 -6
- package/package.json +2 -2
- package/dist/esm-es5/app-globals-2e508622.js +0 -1
- package/dist/esm-es5/utils-92a77db5.js +0 -1
- package/dist/stzh-components/p-0447b178.system.entry.js +0 -1
- package/dist/stzh-components/p-0ada0b0a.system.entry.js +0 -1
- package/dist/stzh-components/p-0afba769.entry.js +0 -1
- package/dist/stzh-components/p-101f9b11.system.entry.js +0 -1
- package/dist/stzh-components/p-2ad73c0c.system.entry.js +0 -1
- package/dist/stzh-components/p-2f4c5e18.entry.js +0 -1
- package/dist/stzh-components/p-3238b0bf.entry.js +0 -1
- package/dist/stzh-components/p-3e433996.entry.js +0 -1
- package/dist/stzh-components/p-4a298117.system.entry.js +0 -1
- package/dist/stzh-components/p-537adcfe.system.entry.js +0 -3
- package/dist/stzh-components/p-563b1abc.system.entry.js +0 -1
- package/dist/stzh-components/p-5cb1cd93.system.entry.js +0 -1
- package/dist/stzh-components/p-6414454e.system.entry.js +0 -1
- package/dist/stzh-components/p-65ea23f6.entry.js +0 -1
- package/dist/stzh-components/p-74d6e349.system.entry.js +0 -1
- package/dist/stzh-components/p-791bc813.system.js +0 -1
- package/dist/stzh-components/p-86a29c35.js +0 -1
- package/dist/stzh-components/p-8ccefd49.system.entry.js +0 -1
- package/dist/stzh-components/p-906caf97.js +0 -1
- package/dist/stzh-components/p-9380fb85.entry.js +0 -1
- package/dist/stzh-components/p-99e27f57.system.js +0 -1
- package/dist/stzh-components/p-99e43fb0.entry.js +0 -1
- package/dist/stzh-components/p-9be29697.entry.js +0 -1
- package/dist/stzh-components/p-a4dd5ba3.entry.js +0 -1
- package/dist/stzh-components/p-a51dd210.system.entry.js +0 -1
- package/dist/stzh-components/p-b689b882.entry.js +0 -1
- package/dist/stzh-components/p-bf071e77.system.js +0 -1
- package/dist/stzh-components/p-c0ec905d.entry.js +0 -1
- package/dist/stzh-components/p-c646c712.entry.js +0 -1
- package/dist/stzh-components/p-ccf023da.entry.js +0 -3
- package/dist/stzh-components/p-da85cf73.system.entry.js +0 -1
- package/dist/stzh-components/p-dd5f29aa.entry.js +0 -1
- package/dist/stzh-components/p-de9edaf2.entry.js +0 -1
- package/dist/stzh-components/p-fd3acd16.system.entry.js +0 -1
- package/dist/stzh-components/p-fe9acc68.system.entry.js +0 -1
|
@@ -5036,10 +5036,10 @@ function ribbon() {
|
|
|
5036
5036
|
|
|
5037
5037
|
var prefix = "$";
|
|
5038
5038
|
|
|
5039
|
-
function Map
|
|
5039
|
+
function Map() {}
|
|
5040
5040
|
|
|
5041
|
-
Map
|
|
5042
|
-
constructor: Map
|
|
5041
|
+
Map.prototype = map$1.prototype = {
|
|
5042
|
+
constructor: Map,
|
|
5043
5043
|
has: function(key) {
|
|
5044
5044
|
return (prefix + key) in this;
|
|
5045
5045
|
},
|
|
@@ -5087,10 +5087,10 @@ Map$1.prototype = map$1.prototype = {
|
|
|
5087
5087
|
};
|
|
5088
5088
|
|
|
5089
5089
|
function map$1(object, f) {
|
|
5090
|
-
var map = new Map
|
|
5090
|
+
var map = new Map;
|
|
5091
5091
|
|
|
5092
5092
|
// Copy constructor.
|
|
5093
|
-
if (object instanceof Map
|
|
5093
|
+
if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });
|
|
5094
5094
|
|
|
5095
5095
|
// Index array by numeric index or specified key function.
|
|
5096
5096
|
else if (Array.isArray(object)) {
|
|
@@ -5180,12 +5180,12 @@ function setMap(map, key, value) {
|
|
|
5180
5180
|
map.set(key, value);
|
|
5181
5181
|
}
|
|
5182
5182
|
|
|
5183
|
-
function Set
|
|
5183
|
+
function Set() {}
|
|
5184
5184
|
|
|
5185
5185
|
var proto = map$1.prototype;
|
|
5186
5186
|
|
|
5187
|
-
Set
|
|
5188
|
-
constructor: Set
|
|
5187
|
+
Set.prototype = set.prototype = {
|
|
5188
|
+
constructor: Set,
|
|
5189
5189
|
has: proto.has,
|
|
5190
5190
|
add: function(value) {
|
|
5191
5191
|
value += "";
|
|
@@ -5201,10 +5201,10 @@ Set$1.prototype = set.prototype = {
|
|
|
5201
5201
|
};
|
|
5202
5202
|
|
|
5203
5203
|
function set(object, f) {
|
|
5204
|
-
var set = new Set
|
|
5204
|
+
var set = new Set;
|
|
5205
5205
|
|
|
5206
5206
|
// Copy constructor.
|
|
5207
|
-
if (object instanceof Set
|
|
5207
|
+
if (object instanceof Set) object.each(function(value) { set.add(value); });
|
|
5208
5208
|
|
|
5209
5209
|
// Otherwise, assume it’s an array.
|
|
5210
5210
|
else if (object) {
|
|
@@ -17159,945 +17159,46 @@ const d3 = /*#__PURE__*/Object.freeze({
|
|
|
17159
17159
|
const require$$0 = /*@__PURE__*/_commonjsHelpers.getAugmentedNamespace(d3);
|
|
17160
17160
|
|
|
17161
17161
|
var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
17162
|
-
/*! sszvis v2.
|
|
17162
|
+
/*! sszvis v2.1.1, Copyright 2014-present Statistik Stadt Zürich */
|
|
17163
17163
|
(function (global, factory) {
|
|
17164
17164
|
factory(exports, require$$0) ;
|
|
17165
17165
|
}(_commonjsHelpers.commonjsGlobal, (function (exports, d3) {
|
|
17166
|
-
var d3__default = 'default' in d3 ? d3['default'] : d3;
|
|
17167
|
-
|
|
17168
|
-
function n(n){for(var t=arguments.length,r=Array(t>1?t-1:0),e=1;e<t;e++)r[e-1]=arguments[e];throw Error("[Immer] minified error nr: "+n+(r.length?" "+r.join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function t(n){return !!n&&!!n[Q]}function r(n){return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var t=Object.getPrototypeOf(n);return !t||t===Object.prototype}(n)||Array.isArray(n)||!!n[L]||!!n.constructor[L]||s(n)||v(n))}function i(n,t,r){void 0===r&&(r=!1),0===o(n)?(r?Object.keys:Z)(n).forEach((function(e){r&&"symbol"==typeof e||t(e,n[e],n);})):n.forEach((function(r,e){return t(e,r,n)}));}function o(n){var t=n[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,t){return 2===o(n)?n.has(t):Object.prototype.hasOwnProperty.call(n,t)}function a(n,t){return 2===o(n)?n.get(t):n[t]}function f(n,t,r){var e=o(n);2===e?n.set(t,r):3===e?(n.delete(t),n.add(r)):n[t]=r;}function c(n,t){return n===t?0!==n||1/n==1/t:n!=n&&t!=t}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return n.slice();var t=nn(n);delete t[Q];for(var r=Z(t),e=0;e<r.length;e++){var i=r[e],o=t[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(t[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),t)}function d(n,e){b(n)||t(n)||!r(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,t){return d(t,!0)}),!0));}function h(){n(2);}function b(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function y(t){var r=tn[t];return r||n(19,t),r}function m(n,t){tn[n]=t;}function _(){return U}function j(n,t){t&&(y("Patches"),n.u=[],n.s=[],n.v=t);}function g(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var t=n[Q];0===t.i||1===t.i?t.j():t.g=!0;}function P(t,e){e._=e.p.length;var i=e.p[0],o=void 0!==t&&t!==i;return e.h.O||y("ES5").S(e,t,o),o?(i[Q].P&&(g(e),n(4)),r(t)&&(t=M(e,t),e.l||x(e,t)),e.u&&y("Patches").M(i[Q],t,e.u,e.s)):t=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),t!==H?t:void 0}function M(n,t,r){if(b(t))return t;var e=t[Q];if(!e)return i(t,(function(i,o){return A(n,e,t,i,o,r)}),!0),t;if(e.A!==n)return t;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(t,i){return A(n,e,o,t,i,r)})),x(n,o,!1),r&&n.u&&y("Patches").R(e,r,n.u,n.s);}return e.o}function A(e,i,o,a,c,s){if(t(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!t(v))return;e.m=!1;}if(r(c)&&!b(c)){if(!e.h.N&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,t,r){void 0===r&&(r=!1),n.h.N&&n.m&&d(t,r);}function z(n,t){var r=n[Q];return (r?p(r):n)[t]}function I(n,t){if(t in n)for(var r=Object.getPrototypeOf(n);r;){var e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=Object.getPrototypeOf(r);}}function E(n){n.P||(n.P=!0,n.l&&E(n.l));}function k(n){n.o||(n.o=l(n.t));}function R(n,t,r){var e=s(t)?y("MapSet").T(t,r):v(t)?y("MapSet").F(t,r):n.O?function(n,t){var r=Array.isArray(n),e={i:r?1:0,A:t?t.A:_(),P:!1,I:!1,D:{},l:t,t:n,k:null,o:null,j:null,C:!1},i=e,o=rn;r&&(i=[e],o=en);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(t,r):y("ES5").J(t,r);return (r?r.A:_()).p.push(e),e}function D(e){return t(e)||n(22,e),function n(t){if(!r(t))return t;var e,u=t[Q],c=o(t);if(u){if(!u.P&&(u.i<4||!y("ES5").K(u)))return u.t;u.I=!0,e=N(t,c),u.I=!1;}else e=N(t,c);return i(e,(function(t,r){u&&a(u.t,t)===r||f(e,t,n(r));})),3===c?new Set(e):e}(e)}function N(n,t){switch(t){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function T(){function r(n,t){var r=s[n];return r?r.enumerable=t:s[n]=r={configurable:!0,enumerable:t,get:function(){var t=this[Q];return rn.get(t,n)},set:function(t){var r=this[Q];rn.set(r,n,t);}},r}function e(n){for(var t=n.length-1;t>=0;t--){var r=n[t][Q];if(!r.P)switch(r.i){case 5:a(r)&&E(r);break;case 4:o(r)&&E(r);}}}function o(n){for(var t=n.t,r=n.k,e=Z(r),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=t[o];if(void 0===a&&!u(t,o))return !0;var f=r[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return !0}}var v=!!t[Q];return e.length!==Z(t).length+(v?0:1)}function a(n){var t=n.k;if(t.length!==n.t.length)return !0;var r=Object.getOwnPropertyDescriptor(t,t.length-1);return !(!r||r.get)}var s={};m("ES5",{J:function(n,t){var e=Array.isArray(n),i=function(n,t){if(n){for(var e=Array(t.length),i=0;i<t.length;i++)Object.defineProperty(e,""+i,r(i,!0));return e}var o=nn(t);delete o[Q];for(var u=Z(o),a=0;a<u.length;a++){var f=u[a];o[f]=r(f,n||!!o[f].enumerable);}return Object.create(Object.getPrototypeOf(t),o)}(e,n),o={i:e?5:4,A:t?t.A:_(),P:!1,I:!1,D:{},l:t,t:n,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Q,{value:o,writable:!0}),i},S:function(n,r,o){o?t(r)&&r[Q].A===n&&e(n.p):(n.u&&function n(t){if(t&&"object"==typeof t){var r=t[Q];if(r){var e=r.t,o=r.k,f=r.D,c=r.i;if(4===c)i(o,(function(t){t!==Q&&(void 0!==e[t]||u(e,t)?f[t]||n(o[t]):(f[t]=!0,E(r)));})),i(e,(function(n){void 0!==o[n]||u(o,n)||(f[n]=!1,E(r));}));else if(5===c){if(a(r)&&(E(r),f.length=!0),o.length<e.length)for(var s=o.length;s<e.length;s++)f[s]=!1;else for(var v=e.length;v<o.length;v++)f[v]=!0;for(var p=Math.min(o.length,e.length),l=0;l<p;l++)void 0===f[l]&&n(o[l]);}}}}(n.p[0]),e(n.p));},K:function(n){return 4===n.i?o(n):a(n)}});}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Z="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,nn=Object.getOwnPropertyDescriptors||function(n){var t={};return Z(n).forEach((function(r){t[r]=Object.getOwnPropertyDescriptor(n,r);})),t},tn={},rn={get:function(n,t){if(t===Q)return n;var e=p(n);if(!u(e,t))return function(n,t,r){var e,i=I(t,r);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,t);var i=e[t];return n.I||!r(i)?i:i===z(n.t,t)?(k(n),n.o[t]=R(n.A.h,i,n)):i},has:function(n,t){return t in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,t,r){var e=I(p(n),t);if(null==e?void 0:e.set)return e.set.call(n.k,r),!0;if(n.D[t]=!0,!n.P){if(c(r,z(p(n),t))&&(void 0!==r||u(n.t,t)))return !0;k(n),E(n);}return n.o[t]=r,!0},deleteProperty:function(n,t){return void 0!==z(n.t,t)||t in n.t?(n.D[t]=!1,k(n),E(n)):delete n.D[t],n.o&&delete n.o[t],!0},getOwnPropertyDescriptor:function(n,t){var r=p(n),e=Reflect.getOwnPropertyDescriptor(r,t);return e?{writable:!0,configurable:1!==n.i||"length"!==t,enumerable:e.enumerable,value:r[t]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},en={};i(rn,(function(n,t){en[n]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};})),en.deleteProperty=function(t,r){return rn.deleteProperty.call(this,t[0],r)},en.set=function(t,r,e){return rn.set.call(this,t[0],r,e,t[0])};var on=function(){function e(n){this.O=B,this.N="production"!=="production","boolean"==typeof(null==n?void 0:n.useProxies)&&this.setUseProxies(n.useProxies),"boolean"==typeof(null==n?void 0:n.autoFreeze)&&this.setAutoFreeze(n.autoFreeze),this.produce=this.produce.bind(this),this.produceWithPatches=this.produceWithPatches.bind(this);}var i=e.prototype;return i.produce=function(t,e,i){if("function"==typeof t&&"function"!=typeof e){var o=e;e=t;var u=this;return function(n){var t=this;void 0===n&&(n=o);for(var r=arguments.length,i=Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];return u.produce(n,(function(n){var r;return (r=e).call.apply(r,[t,n].concat(i))}))}}var a;if("function"!=typeof e&&n(6),void 0!==i&&"function"!=typeof i&&n(7),r(t)){var f=w(this),c=R(this,t,void 0),s=!0;try{a=e(c),s=!1;}finally{s?g(f):O(f);}return "undefined"!=typeof Promise&&a instanceof Promise?a.then((function(n){return j(f,i),P(n,f)}),(function(n){throw g(f),n})):(j(f,i),P(a,f))}if(!t||"object"!=typeof t){if((a=e(t))===H)return;return void 0===a&&(a=t),this.N&&d(a,!0),a}n(21,t);},i.produceWithPatches=function(n,t){var r,e,i=this;return "function"==typeof n?function(t){for(var r=arguments.length,e=Array(r>1?r-1:0),o=1;o<r;o++)e[o-1]=arguments[o];return i.produceWithPatches(t,(function(t){return n.apply(void 0,[t].concat(e))}))}:[this.produce(n,t,(function(n,t){r=n,e=t;})),r,e]},i.createDraft=function(e){r(e)||n(8),t(e)&&(e=D(e));var i=w(this),o=R(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(t,r){var e=t&&t[Q];var i=e.A;return j(i,r),P(void 0,i)},i.setAutoFreeze=function(n){this.N=n;},i.setUseProxies=function(t){t&&!B&&n(20),this.O=t;},i.applyPatches=function(n,r){var e;for(e=r.length-1;e>=0;e--){var i=r[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}var o=y("Patches").$;return t(n)?o(n,r):this.produce(n,(function(n){return o(n,r.slice(e+1))}))},e}(),un=new on;un.produceWithPatches.bind(un);var cn=un.setAutoFreeze.bind(un);un.setUseProxies.bind(un);un.applyPatches.bind(un);var pn=un.createDraft.bind(un),ln=un.finishDraft.bind(un);
|
|
17169
|
-
|
|
17170
17166
|
/**
|
|
17171
|
-
*
|
|
17167
|
+
* d3.selection plugin to simplify creating idempotent divs that are not
|
|
17168
|
+
* recreated when rendered again.
|
|
17169
|
+
*
|
|
17170
|
+
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
17171
|
+
*
|
|
17172
|
+
* @param {String} key - the name of the group
|
|
17173
|
+
* @return {d3.selection}
|
|
17172
17174
|
*/
|
|
17173
|
-
function finallyConstructor(callback) {
|
|
17174
|
-
var constructor = this.constructor;
|
|
17175
|
-
return this.then(
|
|
17176
|
-
function(value) {
|
|
17177
|
-
// @ts-ignore
|
|
17178
|
-
return constructor.resolve(callback()).then(function() {
|
|
17179
|
-
return value;
|
|
17180
|
-
});
|
|
17181
|
-
},
|
|
17182
|
-
function(reason) {
|
|
17183
|
-
// @ts-ignore
|
|
17184
|
-
return constructor.resolve(callback()).then(function() {
|
|
17185
|
-
// @ts-ignore
|
|
17186
|
-
return constructor.reject(reason);
|
|
17187
|
-
});
|
|
17188
|
-
}
|
|
17189
|
-
);
|
|
17190
|
-
}
|
|
17191
|
-
|
|
17192
|
-
// Store setTimeout reference so promise-polyfill will be unaffected by
|
|
17193
|
-
// other code modifying setTimeout (like sinon.useFakeTimers())
|
|
17194
|
-
var setTimeoutFunc = setTimeout;
|
|
17195
|
-
|
|
17196
|
-
function isArray(x) {
|
|
17197
|
-
return Boolean(x && typeof x.length !== 'undefined');
|
|
17198
|
-
}
|
|
17199
17175
|
|
|
17200
|
-
function
|
|
17201
|
-
|
|
17202
|
-
|
|
17203
|
-
function bind(fn, thisArg) {
|
|
17204
|
-
return function() {
|
|
17205
|
-
fn.apply(thisArg, arguments);
|
|
17206
|
-
};
|
|
17207
|
-
}
|
|
17208
|
-
|
|
17209
|
-
/**
|
|
17210
|
-
* @constructor
|
|
17211
|
-
* @param {Function} fn
|
|
17212
|
-
*/
|
|
17213
|
-
function Promise$1(fn) {
|
|
17214
|
-
if (!(this instanceof Promise$1))
|
|
17215
|
-
throw new TypeError('Promises must be constructed via new');
|
|
17216
|
-
if (typeof fn !== 'function') throw new TypeError('not a function');
|
|
17217
|
-
/** @type {!number} */
|
|
17218
|
-
this._state = 0;
|
|
17219
|
-
/** @type {!boolean} */
|
|
17220
|
-
this._handled = false;
|
|
17221
|
-
/** @type {Promise|undefined} */
|
|
17222
|
-
this._value = undefined;
|
|
17223
|
-
/** @type {!Array<!Function>} */
|
|
17224
|
-
this._deferreds = [];
|
|
17225
|
-
|
|
17226
|
-
doResolve(fn, this);
|
|
17227
|
-
}
|
|
17228
|
-
|
|
17229
|
-
function handle(self, deferred) {
|
|
17230
|
-
while (self._state === 3) {
|
|
17231
|
-
self = self._value;
|
|
17232
|
-
}
|
|
17233
|
-
if (self._state === 0) {
|
|
17234
|
-
self._deferreds.push(deferred);
|
|
17235
|
-
return;
|
|
17236
|
-
}
|
|
17237
|
-
self._handled = true;
|
|
17238
|
-
Promise$1._immediateFn(function() {
|
|
17239
|
-
var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
|
|
17240
|
-
if (cb === null) {
|
|
17241
|
-
(self._state === 1 ? resolve : reject)(deferred.promise, self._value);
|
|
17242
|
-
return;
|
|
17243
|
-
}
|
|
17244
|
-
var ret;
|
|
17245
|
-
try {
|
|
17246
|
-
ret = cb(self._value);
|
|
17247
|
-
} catch (e) {
|
|
17248
|
-
reject(deferred.promise, e);
|
|
17249
|
-
return;
|
|
17250
|
-
}
|
|
17251
|
-
resolve(deferred.promise, ret);
|
|
17176
|
+
d3.selection.prototype.selectDiv = function (key) {
|
|
17177
|
+
var div = this.selectAll('[data-d3-selectdiv="' + key + '"]').data(function (d) {
|
|
17178
|
+
return [d];
|
|
17252
17179
|
});
|
|
17253
|
-
|
|
17254
|
-
|
|
17255
|
-
|
|
17256
|
-
try {
|
|
17257
|
-
// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
|
|
17258
|
-
if (newValue === self)
|
|
17259
|
-
throw new TypeError('A promise cannot be resolved with itself.');
|
|
17260
|
-
if (
|
|
17261
|
-
newValue &&
|
|
17262
|
-
(typeof newValue === 'object' || typeof newValue === 'function')
|
|
17263
|
-
) {
|
|
17264
|
-
var then = newValue.then;
|
|
17265
|
-
if (newValue instanceof Promise$1) {
|
|
17266
|
-
self._state = 3;
|
|
17267
|
-
self._value = newValue;
|
|
17268
|
-
finale(self);
|
|
17269
|
-
return;
|
|
17270
|
-
} else if (typeof then === 'function') {
|
|
17271
|
-
doResolve(bind(then, newValue), self);
|
|
17272
|
-
return;
|
|
17273
|
-
}
|
|
17274
|
-
}
|
|
17275
|
-
self._state = 1;
|
|
17276
|
-
self._value = newValue;
|
|
17277
|
-
finale(self);
|
|
17278
|
-
} catch (e) {
|
|
17279
|
-
reject(self, e);
|
|
17280
|
-
}
|
|
17281
|
-
}
|
|
17282
|
-
|
|
17283
|
-
function reject(self, newValue) {
|
|
17284
|
-
self._state = 2;
|
|
17285
|
-
self._value = newValue;
|
|
17286
|
-
finale(self);
|
|
17287
|
-
}
|
|
17288
|
-
|
|
17289
|
-
function finale(self) {
|
|
17290
|
-
if (self._state === 2 && self._deferreds.length === 0) {
|
|
17291
|
-
Promise$1._immediateFn(function() {
|
|
17292
|
-
if (!self._handled) {
|
|
17293
|
-
Promise$1._unhandledRejectionFn(self._value);
|
|
17294
|
-
}
|
|
17295
|
-
});
|
|
17296
|
-
}
|
|
17297
|
-
|
|
17298
|
-
for (var i = 0, len = self._deferreds.length; i < len; i++) {
|
|
17299
|
-
handle(self, self._deferreds[i]);
|
|
17300
|
-
}
|
|
17301
|
-
self._deferreds = null;
|
|
17302
|
-
}
|
|
17303
|
-
|
|
17304
|
-
/**
|
|
17305
|
-
* @constructor
|
|
17306
|
-
*/
|
|
17307
|
-
function Handler(onFulfilled, onRejected, promise) {
|
|
17308
|
-
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
|
17309
|
-
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
|
17310
|
-
this.promise = promise;
|
|
17311
|
-
}
|
|
17180
|
+
var newDiv = div.enter().append("div").attr("data-d3-selectdiv", key).style("position", "absolute");
|
|
17181
|
+
return div.merge(newDiv);
|
|
17182
|
+
};
|
|
17312
17183
|
|
|
17313
17184
|
/**
|
|
17314
|
-
*
|
|
17315
|
-
*
|
|
17185
|
+
* d3.selection plugin to simplify creating idempotent groups that are not
|
|
17186
|
+
* recreated when rendered again.
|
|
17187
|
+
*
|
|
17188
|
+
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
17316
17189
|
*
|
|
17317
|
-
*
|
|
17190
|
+
* @param {String} key The name of the group
|
|
17191
|
+
* @return {d3.selection}
|
|
17318
17192
|
*/
|
|
17319
|
-
function doResolve(fn, self) {
|
|
17320
|
-
var done = false;
|
|
17321
|
-
try {
|
|
17322
|
-
fn(
|
|
17323
|
-
function(value) {
|
|
17324
|
-
if (done) return;
|
|
17325
|
-
done = true;
|
|
17326
|
-
resolve(self, value);
|
|
17327
|
-
},
|
|
17328
|
-
function(reason) {
|
|
17329
|
-
if (done) return;
|
|
17330
|
-
done = true;
|
|
17331
|
-
reject(self, reason);
|
|
17332
|
-
}
|
|
17333
|
-
);
|
|
17334
|
-
} catch (ex) {
|
|
17335
|
-
if (done) return;
|
|
17336
|
-
done = true;
|
|
17337
|
-
reject(self, ex);
|
|
17338
|
-
}
|
|
17339
|
-
}
|
|
17340
17193
|
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
|
|
17344
|
-
|
|
17345
|
-
Promise$1.prototype.then = function(onFulfilled, onRejected) {
|
|
17346
|
-
// @ts-ignore
|
|
17347
|
-
var prom = new this.constructor(noop);
|
|
17348
|
-
|
|
17349
|
-
handle(this, new Handler(onFulfilled, onRejected, prom));
|
|
17350
|
-
return prom;
|
|
17351
|
-
};
|
|
17352
|
-
|
|
17353
|
-
Promise$1.prototype['finally'] = finallyConstructor;
|
|
17354
|
-
|
|
17355
|
-
Promise$1.all = function(arr) {
|
|
17356
|
-
return new Promise$1(function(resolve, reject) {
|
|
17357
|
-
if (!isArray(arr)) {
|
|
17358
|
-
return reject(new TypeError('Promise.all accepts an array'));
|
|
17359
|
-
}
|
|
17360
|
-
|
|
17361
|
-
var args = Array.prototype.slice.call(arr);
|
|
17362
|
-
if (args.length === 0) return resolve([]);
|
|
17363
|
-
var remaining = args.length;
|
|
17364
|
-
|
|
17365
|
-
function res(i, val) {
|
|
17366
|
-
try {
|
|
17367
|
-
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
|
17368
|
-
var then = val.then;
|
|
17369
|
-
if (typeof then === 'function') {
|
|
17370
|
-
then.call(
|
|
17371
|
-
val,
|
|
17372
|
-
function(val) {
|
|
17373
|
-
res(i, val);
|
|
17374
|
-
},
|
|
17375
|
-
reject
|
|
17376
|
-
);
|
|
17377
|
-
return;
|
|
17378
|
-
}
|
|
17379
|
-
}
|
|
17380
|
-
args[i] = val;
|
|
17381
|
-
if (--remaining === 0) {
|
|
17382
|
-
resolve(args);
|
|
17383
|
-
}
|
|
17384
|
-
} catch (ex) {
|
|
17385
|
-
reject(ex);
|
|
17386
|
-
}
|
|
17387
|
-
}
|
|
17388
|
-
|
|
17389
|
-
for (var i = 0; i < args.length; i++) {
|
|
17390
|
-
res(i, args[i]);
|
|
17391
|
-
}
|
|
17392
|
-
});
|
|
17393
|
-
};
|
|
17394
|
-
|
|
17395
|
-
Promise$1.resolve = function(value) {
|
|
17396
|
-
if (value && typeof value === 'object' && value.constructor === Promise$1) {
|
|
17397
|
-
return value;
|
|
17398
|
-
}
|
|
17399
|
-
|
|
17400
|
-
return new Promise$1(function(resolve) {
|
|
17401
|
-
resolve(value);
|
|
17402
|
-
});
|
|
17403
|
-
};
|
|
17404
|
-
|
|
17405
|
-
Promise$1.reject = function(value) {
|
|
17406
|
-
return new Promise$1(function(resolve, reject) {
|
|
17407
|
-
reject(value);
|
|
17408
|
-
});
|
|
17409
|
-
};
|
|
17410
|
-
|
|
17411
|
-
Promise$1.race = function(arr) {
|
|
17412
|
-
return new Promise$1(function(resolve, reject) {
|
|
17413
|
-
if (!isArray(arr)) {
|
|
17414
|
-
return reject(new TypeError('Promise.race accepts an array'));
|
|
17415
|
-
}
|
|
17416
|
-
|
|
17417
|
-
for (var i = 0, len = arr.length; i < len; i++) {
|
|
17418
|
-
Promise$1.resolve(arr[i]).then(resolve, reject);
|
|
17419
|
-
}
|
|
17420
|
-
});
|
|
17421
|
-
};
|
|
17422
|
-
|
|
17423
|
-
// Use polyfill for setImmediate for performance gains
|
|
17424
|
-
Promise$1._immediateFn =
|
|
17425
|
-
// @ts-ignore
|
|
17426
|
-
(typeof setImmediate === 'function' &&
|
|
17427
|
-
function(fn) {
|
|
17428
|
-
// @ts-ignore
|
|
17429
|
-
setImmediate(fn);
|
|
17430
|
-
}) ||
|
|
17431
|
-
function(fn) {
|
|
17432
|
-
setTimeoutFunc(fn, 0);
|
|
17433
|
-
};
|
|
17434
|
-
|
|
17435
|
-
Promise$1._unhandledRejectionFn = function _unhandledRejectionFn(err) {
|
|
17436
|
-
if (typeof console !== 'undefined' && console) {
|
|
17437
|
-
console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console
|
|
17438
|
-
}
|
|
17439
|
-
};
|
|
17440
|
-
|
|
17441
|
-
/** @suppress {undefinedVars} */
|
|
17442
|
-
var globalNS = (function() {
|
|
17443
|
-
// the only reliable means to get the global object is
|
|
17444
|
-
// `Function('return this')()`
|
|
17445
|
-
// However, this causes CSP violations in Chrome apps.
|
|
17446
|
-
if (typeof self !== 'undefined') {
|
|
17447
|
-
return self;
|
|
17448
|
-
}
|
|
17449
|
-
if (typeof window !== 'undefined') {
|
|
17450
|
-
return window;
|
|
17451
|
-
}
|
|
17452
|
-
if (typeof _commonjsHelpers.commonjsGlobal !== 'undefined') {
|
|
17453
|
-
return _commonjsHelpers.commonjsGlobal;
|
|
17454
|
-
}
|
|
17455
|
-
throw new Error('unable to locate global object');
|
|
17456
|
-
})();
|
|
17457
|
-
|
|
17458
|
-
if (!('Promise' in globalNS)) {
|
|
17459
|
-
globalNS['Promise'] = Promise$1;
|
|
17460
|
-
} else if (!globalNS.Promise.prototype['finally']) {
|
|
17461
|
-
globalNS.Promise.prototype['finally'] = finallyConstructor;
|
|
17462
|
-
}
|
|
17463
|
-
|
|
17464
|
-
var global$1 = (function(self) {
|
|
17465
|
-
return self
|
|
17466
|
-
// eslint-disable-next-line no-invalid-this
|
|
17467
|
-
})(typeof self !== 'undefined' ? self : window);
|
|
17468
|
-
var support = {
|
|
17469
|
-
searchParams: 'URLSearchParams' in global$1,
|
|
17470
|
-
iterable: 'Symbol' in global$1 && 'iterator' in Symbol,
|
|
17471
|
-
blob:
|
|
17472
|
-
'FileReader' in global$1 &&
|
|
17473
|
-
'Blob' in global$1 &&
|
|
17474
|
-
(function() {
|
|
17475
|
-
try {
|
|
17476
|
-
new Blob();
|
|
17477
|
-
return true
|
|
17478
|
-
} catch (e) {
|
|
17479
|
-
return false
|
|
17480
|
-
}
|
|
17481
|
-
})(),
|
|
17482
|
-
formData: 'FormData' in global$1,
|
|
17483
|
-
arrayBuffer: 'ArrayBuffer' in global$1
|
|
17484
|
-
};
|
|
17485
|
-
|
|
17486
|
-
function isDataView(obj) {
|
|
17487
|
-
return obj && DataView.prototype.isPrototypeOf(obj)
|
|
17488
|
-
}
|
|
17489
|
-
|
|
17490
|
-
if (support.arrayBuffer) {
|
|
17491
|
-
var viewClasses = [
|
|
17492
|
-
'[object Int8Array]',
|
|
17493
|
-
'[object Uint8Array]',
|
|
17494
|
-
'[object Uint8ClampedArray]',
|
|
17495
|
-
'[object Int16Array]',
|
|
17496
|
-
'[object Uint16Array]',
|
|
17497
|
-
'[object Int32Array]',
|
|
17498
|
-
'[object Uint32Array]',
|
|
17499
|
-
'[object Float32Array]',
|
|
17500
|
-
'[object Float64Array]'
|
|
17501
|
-
];
|
|
17502
|
-
|
|
17503
|
-
var isArrayBufferView =
|
|
17504
|
-
ArrayBuffer.isView ||
|
|
17505
|
-
function(obj) {
|
|
17506
|
-
return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
|
|
17507
|
-
};
|
|
17508
|
-
}
|
|
17509
|
-
|
|
17510
|
-
function normalizeName(name) {
|
|
17511
|
-
if (typeof name !== 'string') {
|
|
17512
|
-
name = String(name);
|
|
17513
|
-
}
|
|
17514
|
-
if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {
|
|
17515
|
-
throw new TypeError('Invalid character in header field name')
|
|
17516
|
-
}
|
|
17517
|
-
return name.toLowerCase()
|
|
17518
|
-
}
|
|
17519
|
-
|
|
17520
|
-
function normalizeValue(value) {
|
|
17521
|
-
if (typeof value !== 'string') {
|
|
17522
|
-
value = String(value);
|
|
17523
|
-
}
|
|
17524
|
-
return value
|
|
17525
|
-
}
|
|
17526
|
-
|
|
17527
|
-
// Build a destructive iterator for the value list
|
|
17528
|
-
function iteratorFor(items) {
|
|
17529
|
-
var iterator = {
|
|
17530
|
-
next: function() {
|
|
17531
|
-
var value = items.shift();
|
|
17532
|
-
return {done: value === undefined, value: value}
|
|
17533
|
-
}
|
|
17534
|
-
};
|
|
17535
|
-
|
|
17536
|
-
if (support.iterable) {
|
|
17537
|
-
iterator[Symbol.iterator] = function() {
|
|
17538
|
-
return iterator
|
|
17539
|
-
};
|
|
17540
|
-
}
|
|
17541
|
-
|
|
17542
|
-
return iterator
|
|
17543
|
-
}
|
|
17544
|
-
|
|
17545
|
-
function Headers(headers) {
|
|
17546
|
-
this.map = {};
|
|
17547
|
-
|
|
17548
|
-
if (headers instanceof Headers) {
|
|
17549
|
-
headers.forEach(function(value, name) {
|
|
17550
|
-
this.append(name, value);
|
|
17551
|
-
}, this);
|
|
17552
|
-
} else if (Array.isArray(headers)) {
|
|
17553
|
-
headers.forEach(function(header) {
|
|
17554
|
-
this.append(header[0], header[1]);
|
|
17555
|
-
}, this);
|
|
17556
|
-
} else if (headers) {
|
|
17557
|
-
Object.getOwnPropertyNames(headers).forEach(function(name) {
|
|
17558
|
-
this.append(name, headers[name]);
|
|
17559
|
-
}, this);
|
|
17560
|
-
}
|
|
17561
|
-
}
|
|
17562
|
-
|
|
17563
|
-
Headers.prototype.append = function(name, value) {
|
|
17564
|
-
name = normalizeName(name);
|
|
17565
|
-
value = normalizeValue(value);
|
|
17566
|
-
var oldValue = this.map[name];
|
|
17567
|
-
this.map[name] = oldValue ? oldValue + ', ' + value : value;
|
|
17568
|
-
};
|
|
17569
|
-
|
|
17570
|
-
Headers.prototype['delete'] = function(name) {
|
|
17571
|
-
delete this.map[normalizeName(name)];
|
|
17572
|
-
};
|
|
17573
|
-
|
|
17574
|
-
Headers.prototype.get = function(name) {
|
|
17575
|
-
name = normalizeName(name);
|
|
17576
|
-
return this.has(name) ? this.map[name] : null
|
|
17577
|
-
};
|
|
17578
|
-
|
|
17579
|
-
Headers.prototype.has = function(name) {
|
|
17580
|
-
return this.map.hasOwnProperty(normalizeName(name))
|
|
17581
|
-
};
|
|
17582
|
-
|
|
17583
|
-
Headers.prototype.set = function(name, value) {
|
|
17584
|
-
this.map[normalizeName(name)] = normalizeValue(value);
|
|
17585
|
-
};
|
|
17586
|
-
|
|
17587
|
-
Headers.prototype.forEach = function(callback, thisArg) {
|
|
17588
|
-
for (var name in this.map) {
|
|
17589
|
-
if (this.map.hasOwnProperty(name)) {
|
|
17590
|
-
callback.call(thisArg, this.map[name], name, this);
|
|
17591
|
-
}
|
|
17592
|
-
}
|
|
17593
|
-
};
|
|
17594
|
-
|
|
17595
|
-
Headers.prototype.keys = function() {
|
|
17596
|
-
var items = [];
|
|
17597
|
-
this.forEach(function(value, name) {
|
|
17598
|
-
items.push(name);
|
|
17599
|
-
});
|
|
17600
|
-
return iteratorFor(items)
|
|
17601
|
-
};
|
|
17602
|
-
|
|
17603
|
-
Headers.prototype.values = function() {
|
|
17604
|
-
var items = [];
|
|
17605
|
-
this.forEach(function(value) {
|
|
17606
|
-
items.push(value);
|
|
17607
|
-
});
|
|
17608
|
-
return iteratorFor(items)
|
|
17609
|
-
};
|
|
17610
|
-
|
|
17611
|
-
Headers.prototype.entries = function() {
|
|
17612
|
-
var items = [];
|
|
17613
|
-
this.forEach(function(value, name) {
|
|
17614
|
-
items.push([name, value]);
|
|
17615
|
-
});
|
|
17616
|
-
return iteratorFor(items)
|
|
17617
|
-
};
|
|
17618
|
-
|
|
17619
|
-
if (support.iterable) {
|
|
17620
|
-
Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
|
|
17621
|
-
}
|
|
17622
|
-
|
|
17623
|
-
function consumed(body) {
|
|
17624
|
-
if (body.bodyUsed) {
|
|
17625
|
-
return Promise.reject(new TypeError('Already read'))
|
|
17626
|
-
}
|
|
17627
|
-
body.bodyUsed = true;
|
|
17628
|
-
}
|
|
17629
|
-
|
|
17630
|
-
function fileReaderReady(reader) {
|
|
17631
|
-
return new Promise(function(resolve, reject) {
|
|
17632
|
-
reader.onload = function() {
|
|
17633
|
-
resolve(reader.result);
|
|
17634
|
-
};
|
|
17635
|
-
reader.onerror = function() {
|
|
17636
|
-
reject(reader.error);
|
|
17637
|
-
};
|
|
17638
|
-
})
|
|
17639
|
-
}
|
|
17640
|
-
|
|
17641
|
-
function readBlobAsArrayBuffer(blob) {
|
|
17642
|
-
var reader = new FileReader();
|
|
17643
|
-
var promise = fileReaderReady(reader);
|
|
17644
|
-
reader.readAsArrayBuffer(blob);
|
|
17645
|
-
return promise
|
|
17646
|
-
}
|
|
17647
|
-
|
|
17648
|
-
function readBlobAsText(blob) {
|
|
17649
|
-
var reader = new FileReader();
|
|
17650
|
-
var promise = fileReaderReady(reader);
|
|
17651
|
-
reader.readAsText(blob);
|
|
17652
|
-
return promise
|
|
17653
|
-
}
|
|
17654
|
-
|
|
17655
|
-
function readArrayBufferAsText(buf) {
|
|
17656
|
-
var view = new Uint8Array(buf);
|
|
17657
|
-
var chars = new Array(view.length);
|
|
17658
|
-
|
|
17659
|
-
for (var i = 0; i < view.length; i++) {
|
|
17660
|
-
chars[i] = String.fromCharCode(view[i]);
|
|
17661
|
-
}
|
|
17662
|
-
return chars.join('')
|
|
17663
|
-
}
|
|
17664
|
-
|
|
17665
|
-
function bufferClone(buf) {
|
|
17666
|
-
if (buf.slice) {
|
|
17667
|
-
return buf.slice(0)
|
|
17668
|
-
} else {
|
|
17669
|
-
var view = new Uint8Array(buf.byteLength);
|
|
17670
|
-
view.set(new Uint8Array(buf));
|
|
17671
|
-
return view.buffer
|
|
17672
|
-
}
|
|
17673
|
-
}
|
|
17674
|
-
|
|
17675
|
-
function Body() {
|
|
17676
|
-
this.bodyUsed = false;
|
|
17677
|
-
|
|
17678
|
-
this._initBody = function(body) {
|
|
17679
|
-
/*
|
|
17680
|
-
fetch-mock wraps the Response object in an ES6 Proxy to
|
|
17681
|
-
provide useful test harness features such as flush. However, on
|
|
17682
|
-
ES5 browsers without fetch or Proxy support pollyfills must be used;
|
|
17683
|
-
the proxy-pollyfill is unable to proxy an attribute unless it exists
|
|
17684
|
-
on the object before the Proxy is created. This change ensures
|
|
17685
|
-
Response.bodyUsed exists on the instance, while maintaining the
|
|
17686
|
-
semantic of setting Request.bodyUsed in the constructor before
|
|
17687
|
-
_initBody is called.
|
|
17688
|
-
*/
|
|
17689
|
-
this.bodyUsed = this.bodyUsed;
|
|
17690
|
-
this._bodyInit = body;
|
|
17691
|
-
if (!body) {
|
|
17692
|
-
this._bodyText = '';
|
|
17693
|
-
} else if (typeof body === 'string') {
|
|
17694
|
-
this._bodyText = body;
|
|
17695
|
-
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
|
|
17696
|
-
this._bodyBlob = body;
|
|
17697
|
-
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
|
|
17698
|
-
this._bodyFormData = body;
|
|
17699
|
-
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
17700
|
-
this._bodyText = body.toString();
|
|
17701
|
-
} else if (support.arrayBuffer && support.blob && isDataView(body)) {
|
|
17702
|
-
this._bodyArrayBuffer = bufferClone(body.buffer);
|
|
17703
|
-
// IE 10-11 can't handle a DataView body.
|
|
17704
|
-
this._bodyInit = new Blob([this._bodyArrayBuffer]);
|
|
17705
|
-
} else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
|
|
17706
|
-
this._bodyArrayBuffer = bufferClone(body);
|
|
17707
|
-
} else {
|
|
17708
|
-
this._bodyText = body = Object.prototype.toString.call(body);
|
|
17709
|
-
}
|
|
17710
|
-
|
|
17711
|
-
if (!this.headers.get('content-type')) {
|
|
17712
|
-
if (typeof body === 'string') {
|
|
17713
|
-
this.headers.set('content-type', 'text/plain;charset=UTF-8');
|
|
17714
|
-
} else if (this._bodyBlob && this._bodyBlob.type) {
|
|
17715
|
-
this.headers.set('content-type', this._bodyBlob.type);
|
|
17716
|
-
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
17717
|
-
this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
|
|
17718
|
-
}
|
|
17719
|
-
}
|
|
17720
|
-
};
|
|
17721
|
-
|
|
17722
|
-
if (support.blob) {
|
|
17723
|
-
this.blob = function() {
|
|
17724
|
-
var rejected = consumed(this);
|
|
17725
|
-
if (rejected) {
|
|
17726
|
-
return rejected
|
|
17727
|
-
}
|
|
17728
|
-
|
|
17729
|
-
if (this._bodyBlob) {
|
|
17730
|
-
return Promise.resolve(this._bodyBlob)
|
|
17731
|
-
} else if (this._bodyArrayBuffer) {
|
|
17732
|
-
return Promise.resolve(new Blob([this._bodyArrayBuffer]))
|
|
17733
|
-
} else if (this._bodyFormData) {
|
|
17734
|
-
throw new Error('could not read FormData body as blob')
|
|
17735
|
-
} else {
|
|
17736
|
-
return Promise.resolve(new Blob([this._bodyText]))
|
|
17737
|
-
}
|
|
17738
|
-
};
|
|
17739
|
-
|
|
17740
|
-
this.arrayBuffer = function() {
|
|
17741
|
-
if (this._bodyArrayBuffer) {
|
|
17742
|
-
return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
|
|
17743
|
-
} else {
|
|
17744
|
-
return this.blob().then(readBlobAsArrayBuffer)
|
|
17745
|
-
}
|
|
17746
|
-
};
|
|
17747
|
-
}
|
|
17748
|
-
|
|
17749
|
-
this.text = function() {
|
|
17750
|
-
var rejected = consumed(this);
|
|
17751
|
-
if (rejected) {
|
|
17752
|
-
return rejected
|
|
17753
|
-
}
|
|
17754
|
-
|
|
17755
|
-
if (this._bodyBlob) {
|
|
17756
|
-
return readBlobAsText(this._bodyBlob)
|
|
17757
|
-
} else if (this._bodyArrayBuffer) {
|
|
17758
|
-
return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))
|
|
17759
|
-
} else if (this._bodyFormData) {
|
|
17760
|
-
throw new Error('could not read FormData body as text')
|
|
17761
|
-
} else {
|
|
17762
|
-
return Promise.resolve(this._bodyText)
|
|
17763
|
-
}
|
|
17764
|
-
};
|
|
17765
|
-
|
|
17766
|
-
if (support.formData) {
|
|
17767
|
-
this.formData = function() {
|
|
17768
|
-
return this.text().then(decode)
|
|
17769
|
-
};
|
|
17770
|
-
}
|
|
17771
|
-
|
|
17772
|
-
this.json = function() {
|
|
17773
|
-
return this.text().then(JSON.parse)
|
|
17774
|
-
};
|
|
17775
|
-
|
|
17776
|
-
return this
|
|
17777
|
-
}
|
|
17778
|
-
|
|
17779
|
-
// HTTP methods whose capitalization should be normalized
|
|
17780
|
-
var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];
|
|
17781
|
-
|
|
17782
|
-
function normalizeMethod(method) {
|
|
17783
|
-
var upcased = method.toUpperCase();
|
|
17784
|
-
return methods.indexOf(upcased) > -1 ? upcased : method
|
|
17785
|
-
}
|
|
17786
|
-
|
|
17787
|
-
function Request(input, options) {
|
|
17788
|
-
options = options || {};
|
|
17789
|
-
var body = options.body;
|
|
17790
|
-
|
|
17791
|
-
if (input instanceof Request) {
|
|
17792
|
-
if (input.bodyUsed) {
|
|
17793
|
-
throw new TypeError('Already read')
|
|
17794
|
-
}
|
|
17795
|
-
this.url = input.url;
|
|
17796
|
-
this.credentials = input.credentials;
|
|
17797
|
-
if (!options.headers) {
|
|
17798
|
-
this.headers = new Headers(input.headers);
|
|
17799
|
-
}
|
|
17800
|
-
this.method = input.method;
|
|
17801
|
-
this.mode = input.mode;
|
|
17802
|
-
this.signal = input.signal;
|
|
17803
|
-
if (!body && input._bodyInit != null) {
|
|
17804
|
-
body = input._bodyInit;
|
|
17805
|
-
input.bodyUsed = true;
|
|
17806
|
-
}
|
|
17807
|
-
} else {
|
|
17808
|
-
this.url = String(input);
|
|
17809
|
-
}
|
|
17810
|
-
|
|
17811
|
-
this.credentials = options.credentials || this.credentials || 'same-origin';
|
|
17812
|
-
if (options.headers || !this.headers) {
|
|
17813
|
-
this.headers = new Headers(options.headers);
|
|
17814
|
-
}
|
|
17815
|
-
this.method = normalizeMethod(options.method || this.method || 'GET');
|
|
17816
|
-
this.mode = options.mode || this.mode || null;
|
|
17817
|
-
this.signal = options.signal || this.signal;
|
|
17818
|
-
this.referrer = null;
|
|
17819
|
-
|
|
17820
|
-
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
|
|
17821
|
-
throw new TypeError('Body not allowed for GET or HEAD requests')
|
|
17822
|
-
}
|
|
17823
|
-
this._initBody(body);
|
|
17824
|
-
|
|
17825
|
-
if (this.method === 'GET' || this.method === 'HEAD') {
|
|
17826
|
-
if (options.cache === 'no-store' || options.cache === 'no-cache') {
|
|
17827
|
-
// Search for a '_' parameter in the query string
|
|
17828
|
-
var reParamSearch = /([?&])_=[^&]*/;
|
|
17829
|
-
if (reParamSearch.test(this.url)) {
|
|
17830
|
-
// If it already exists then set the value with the current time
|
|
17831
|
-
this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());
|
|
17832
|
-
} else {
|
|
17833
|
-
// Otherwise add a new '_' parameter to the end with the current time
|
|
17834
|
-
var reQueryString = /\?/;
|
|
17835
|
-
this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();
|
|
17836
|
-
}
|
|
17837
|
-
}
|
|
17838
|
-
}
|
|
17839
|
-
}
|
|
17840
|
-
|
|
17841
|
-
Request.prototype.clone = function() {
|
|
17842
|
-
return new Request(this, {body: this._bodyInit})
|
|
17843
|
-
};
|
|
17844
|
-
|
|
17845
|
-
function decode(body) {
|
|
17846
|
-
var form = new FormData();
|
|
17847
|
-
body
|
|
17848
|
-
.trim()
|
|
17849
|
-
.split('&')
|
|
17850
|
-
.forEach(function(bytes) {
|
|
17851
|
-
if (bytes) {
|
|
17852
|
-
var split = bytes.split('=');
|
|
17853
|
-
var name = split.shift().replace(/\+/g, ' ');
|
|
17854
|
-
var value = split.join('=').replace(/\+/g, ' ');
|
|
17855
|
-
form.append(decodeURIComponent(name), decodeURIComponent(value));
|
|
17856
|
-
}
|
|
17857
|
-
});
|
|
17858
|
-
return form
|
|
17859
|
-
}
|
|
17860
|
-
|
|
17861
|
-
function parseHeaders(rawHeaders) {
|
|
17862
|
-
var headers = new Headers();
|
|
17863
|
-
// Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
|
|
17864
|
-
// https://tools.ietf.org/html/rfc7230#section-3.2
|
|
17865
|
-
var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ');
|
|
17866
|
-
preProcessedHeaders.split(/\r?\n/).forEach(function(line) {
|
|
17867
|
-
var parts = line.split(':');
|
|
17868
|
-
var key = parts.shift().trim();
|
|
17869
|
-
if (key) {
|
|
17870
|
-
var value = parts.join(':').trim();
|
|
17871
|
-
headers.append(key, value);
|
|
17872
|
-
}
|
|
17194
|
+
d3.selection.prototype.selectGroup = function (key) {
|
|
17195
|
+
var group = this.selectAll('[data-d3-selectgroup="' + key + '"]').data(function (d) {
|
|
17196
|
+
return [d];
|
|
17873
17197
|
});
|
|
17874
|
-
|
|
17875
|
-
|
|
17876
|
-
|
|
17877
|
-
Body.call(Request.prototype);
|
|
17878
|
-
|
|
17879
|
-
function Response(bodyInit, options) {
|
|
17880
|
-
if (!options) {
|
|
17881
|
-
options = {};
|
|
17882
|
-
}
|
|
17883
|
-
|
|
17884
|
-
this.type = 'default';
|
|
17885
|
-
this.status = options.status === undefined ? 200 : options.status;
|
|
17886
|
-
this.ok = this.status >= 200 && this.status < 300;
|
|
17887
|
-
this.statusText = 'statusText' in options ? options.statusText : '';
|
|
17888
|
-
this.headers = new Headers(options.headers);
|
|
17889
|
-
this.url = options.url || '';
|
|
17890
|
-
this._initBody(bodyInit);
|
|
17891
|
-
}
|
|
17892
|
-
|
|
17893
|
-
Body.call(Response.prototype);
|
|
17894
|
-
|
|
17895
|
-
Response.prototype.clone = function() {
|
|
17896
|
-
return new Response(this._bodyInit, {
|
|
17897
|
-
status: this.status,
|
|
17898
|
-
statusText: this.statusText,
|
|
17899
|
-
headers: new Headers(this.headers),
|
|
17900
|
-
url: this.url
|
|
17901
|
-
})
|
|
17902
|
-
};
|
|
17903
|
-
|
|
17904
|
-
Response.error = function() {
|
|
17905
|
-
var response = new Response(null, {status: 0, statusText: ''});
|
|
17906
|
-
response.type = 'error';
|
|
17907
|
-
return response
|
|
17908
|
-
};
|
|
17909
|
-
|
|
17910
|
-
var redirectStatuses = [301, 302, 303, 307, 308];
|
|
17911
|
-
|
|
17912
|
-
Response.redirect = function(url, status) {
|
|
17913
|
-
if (redirectStatuses.indexOf(status) === -1) {
|
|
17914
|
-
throw new RangeError('Invalid status code')
|
|
17915
|
-
}
|
|
17916
|
-
|
|
17917
|
-
return new Response(null, {status: status, headers: {location: url}})
|
|
17198
|
+
var newGroup = group.enter().append("g").attr("data-d3-selectgroup", key);
|
|
17199
|
+
return group.merge(newGroup);
|
|
17918
17200
|
};
|
|
17919
17201
|
|
|
17920
|
-
var DOMException = global$1.DOMException;
|
|
17921
|
-
|
|
17922
|
-
if (typeof DOMException !== 'function') {
|
|
17923
|
-
DOMException = function(message, name) {
|
|
17924
|
-
this.message = message;
|
|
17925
|
-
this.name = name;
|
|
17926
|
-
var error = Error(message);
|
|
17927
|
-
this.stack = error.stack;
|
|
17928
|
-
};
|
|
17929
|
-
DOMException.prototype = Object.create(Error.prototype);
|
|
17930
|
-
DOMException.prototype.constructor = DOMException;
|
|
17931
|
-
}
|
|
17932
|
-
|
|
17933
|
-
function fetch(input, init) {
|
|
17934
|
-
return new Promise(function(resolve, reject) {
|
|
17935
|
-
var request = new Request(input, init);
|
|
17936
|
-
|
|
17937
|
-
if (request.signal && request.signal.aborted) {
|
|
17938
|
-
return reject(new DOMException('Aborted', 'AbortError'))
|
|
17939
|
-
}
|
|
17940
|
-
|
|
17941
|
-
var xhr = new XMLHttpRequest();
|
|
17942
|
-
|
|
17943
|
-
function abortXhr() {
|
|
17944
|
-
xhr.abort();
|
|
17945
|
-
}
|
|
17946
|
-
|
|
17947
|
-
xhr.onload = function() {
|
|
17948
|
-
var options = {
|
|
17949
|
-
status: xhr.status,
|
|
17950
|
-
statusText: xhr.statusText,
|
|
17951
|
-
headers: parseHeaders(xhr.getAllResponseHeaders() || '')
|
|
17952
|
-
};
|
|
17953
|
-
options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');
|
|
17954
|
-
var body = 'response' in xhr ? xhr.response : xhr.responseText;
|
|
17955
|
-
setTimeout(function() {
|
|
17956
|
-
resolve(new Response(body, options));
|
|
17957
|
-
}, 0);
|
|
17958
|
-
};
|
|
17959
|
-
|
|
17960
|
-
xhr.onerror = function() {
|
|
17961
|
-
setTimeout(function() {
|
|
17962
|
-
reject(new TypeError('Network request failed'));
|
|
17963
|
-
}, 0);
|
|
17964
|
-
};
|
|
17965
|
-
|
|
17966
|
-
xhr.ontimeout = function() {
|
|
17967
|
-
setTimeout(function() {
|
|
17968
|
-
reject(new TypeError('Network request failed'));
|
|
17969
|
-
}, 0);
|
|
17970
|
-
};
|
|
17971
|
-
|
|
17972
|
-
xhr.onabort = function() {
|
|
17973
|
-
setTimeout(function() {
|
|
17974
|
-
reject(new DOMException('Aborted', 'AbortError'));
|
|
17975
|
-
}, 0);
|
|
17976
|
-
};
|
|
17977
|
-
|
|
17978
|
-
function fixUrl(url) {
|
|
17979
|
-
try {
|
|
17980
|
-
return url === '' && global$1.location.href ? global$1.location.href : url
|
|
17981
|
-
} catch (e) {
|
|
17982
|
-
return url
|
|
17983
|
-
}
|
|
17984
|
-
}
|
|
17985
|
-
|
|
17986
|
-
xhr.open(request.method, fixUrl(request.url), true);
|
|
17987
|
-
|
|
17988
|
-
if (request.credentials === 'include') {
|
|
17989
|
-
xhr.withCredentials = true;
|
|
17990
|
-
} else if (request.credentials === 'omit') {
|
|
17991
|
-
xhr.withCredentials = false;
|
|
17992
|
-
}
|
|
17993
|
-
|
|
17994
|
-
if ('responseType' in xhr) {
|
|
17995
|
-
if (support.blob) {
|
|
17996
|
-
xhr.responseType = 'blob';
|
|
17997
|
-
} else if (
|
|
17998
|
-
support.arrayBuffer &&
|
|
17999
|
-
request.headers.get('Content-Type') &&
|
|
18000
|
-
request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1
|
|
18001
|
-
) {
|
|
18002
|
-
xhr.responseType = 'arraybuffer';
|
|
18003
|
-
}
|
|
18004
|
-
}
|
|
18005
|
-
|
|
18006
|
-
request.headers.forEach(function(value, name) {
|
|
18007
|
-
xhr.setRequestHeader(name, value);
|
|
18008
|
-
});
|
|
18009
|
-
|
|
18010
|
-
if (request.signal) {
|
|
18011
|
-
request.signal.addEventListener('abort', abortXhr);
|
|
18012
|
-
|
|
18013
|
-
xhr.onreadystatechange = function() {
|
|
18014
|
-
// DONE (success or failure)
|
|
18015
|
-
if (xhr.readyState === 4) {
|
|
18016
|
-
request.signal.removeEventListener('abort', abortXhr);
|
|
18017
|
-
}
|
|
18018
|
-
};
|
|
18019
|
-
}
|
|
18020
|
-
|
|
18021
|
-
xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);
|
|
18022
|
-
})
|
|
18023
|
-
}
|
|
18024
|
-
|
|
18025
|
-
fetch.polyfill = true;
|
|
18026
|
-
|
|
18027
|
-
if (!global$1.fetch) {
|
|
18028
|
-
global$1.fetch = fetch;
|
|
18029
|
-
global$1.Headers = Headers;
|
|
18030
|
-
global$1.Request = Request;
|
|
18031
|
-
global$1.Response = Response;
|
|
18032
|
-
}
|
|
18033
|
-
|
|
18034
|
-
/**
|
|
18035
|
-
* d3-request shim
|
|
18036
|
-
*
|
|
18037
|
-
* This module shims [d3-request](https://github.com/d3/d3-request) from d3v4 using
|
|
18038
|
-
* the new [d3-fetch](https://github.com/d3/d3-fetch) from d3v5. This makes it
|
|
18039
|
-
* possible to use d3v4 code with d3v5 for the use cases in SSZVIS, but not when
|
|
18040
|
-
* using more advanced functionality of d3-request (e.g. setting headers).
|
|
18041
|
-
*
|
|
18042
|
-
* Example from d3v4 that works thanks to this shim:
|
|
18043
|
-
*
|
|
18044
|
-
* d3.csv("http://example.com")
|
|
18045
|
-
* .row(function(x) {
|
|
18046
|
-
* return {
|
|
18047
|
-
* year: parseInt(x.Jahr, 10)
|
|
18048
|
-
* }
|
|
18049
|
-
* })
|
|
18050
|
-
* .get(function(error, data) {
|
|
18051
|
-
* if (error) {
|
|
18052
|
-
* sszvis.loadError(error);
|
|
18053
|
-
* return;
|
|
18054
|
-
* }
|
|
18055
|
-
* actions.prepareState(data);
|
|
18056
|
-
* })
|
|
18057
|
-
*
|
|
18058
|
-
* With d3v5 this can now be written like:
|
|
18059
|
-
*
|
|
18060
|
-
* d3.csv("http://example.com", function(x) { return x })
|
|
18061
|
-
* .then(actions.prepareState)
|
|
18062
|
-
* .catch(sszvis.loadError)
|
|
18063
|
-
*
|
|
18064
|
-
* Supported d3 versions:
|
|
18065
|
-
* - d3 5.0: Fully supported
|
|
18066
|
-
* - d3 4.0: Partially supported (only "get" and "row" methods have been implemented)
|
|
18067
|
-
*/
|
|
18068
|
-
d3__default.csv = mkShim(d3__default.csv);
|
|
18069
|
-
d3__default.json = mkShim(d3__default.json); // -----------------------------------------------------------------------------
|
|
18070
|
-
|
|
18071
|
-
function mkShim(request) {
|
|
18072
|
-
function mkGet() {
|
|
18073
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
18074
|
-
args[_key] = arguments[_key];
|
|
18075
|
-
}
|
|
18076
|
-
|
|
18077
|
-
return function (cb) {
|
|
18078
|
-
request.apply(void 0, args).then(function (data) {
|
|
18079
|
-
cb(undefined, data);
|
|
18080
|
-
}).catch(cb);
|
|
18081
|
-
};
|
|
18082
|
-
}
|
|
18083
|
-
|
|
18084
|
-
return function (url, parseNew) {
|
|
18085
|
-
return {
|
|
18086
|
-
// This is the "new" d3-fetch way of loading data that uses a Promise
|
|
18087
|
-
then: function then(cb) {
|
|
18088
|
-
return request(url, parseNew).then(cb);
|
|
18089
|
-
},
|
|
18090
|
-
// This is the "old" d3-request way of loading data using an XMLHttpRequest
|
|
18091
|
-
get: mkGet(url),
|
|
18092
|
-
row: function row(parseRow) {
|
|
18093
|
-
return {
|
|
18094
|
-
get: mkGet(url, parseRow)
|
|
18095
|
-
};
|
|
18096
|
-
}
|
|
18097
|
-
};
|
|
18098
|
-
};
|
|
18099
|
-
}
|
|
18100
|
-
|
|
18101
17202
|
/* eslint-disable */
|
|
18102
17203
|
|
|
18103
17204
|
/**
|
|
@@ -18198,64 +17299,17 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
18198
17299
|
throw new Error("Error parsing XML string");
|
|
18199
17300
|
}
|
|
18200
17301
|
}
|
|
18201
|
-
}); // The innerSVG DOM property for SVGElement.
|
|
18202
|
-
|
|
18203
|
-
Object.defineProperty(SVGElement.prototype, "innerSVG", {
|
|
18204
|
-
get: function get() {
|
|
18205
|
-
return this.innerHTML;
|
|
18206
|
-
},
|
|
18207
|
-
set: function set(markupText) {
|
|
18208
|
-
this.innerHTML = markupText;
|
|
18209
|
-
}
|
|
18210
|
-
});
|
|
18211
|
-
})();
|
|
18212
|
-
|
|
18213
|
-
// This is the more strict version of `isNaN`. We need to polyfill it for Internet Explorer,
|
|
18214
|
-
// all other browsers support this.
|
|
18215
|
-
// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
|
|
18216
|
-
Number.isNaN = Number.isNaN || function isNaN(input) {
|
|
18217
|
-
return typeof input === "number" && input !== input;
|
|
18218
|
-
};
|
|
18219
|
-
|
|
18220
|
-
T(); // d3 mutates state in many places, which is why we have to turn this off.
|
|
18221
|
-
|
|
18222
|
-
cn(false);
|
|
18223
|
-
|
|
18224
|
-
/**
|
|
18225
|
-
* d3.selection plugin to simplify creating idempotent divs that are not
|
|
18226
|
-
* recreated when rendered again.
|
|
18227
|
-
*
|
|
18228
|
-
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
18229
|
-
*
|
|
18230
|
-
* @param {String} key - the name of the group
|
|
18231
|
-
* @return {d3.selection}
|
|
18232
|
-
*/
|
|
18233
|
-
|
|
18234
|
-
d3.selection.prototype.selectDiv = function (key) {
|
|
18235
|
-
var div = this.selectAll('[data-d3-selectdiv="' + key + '"]').data(function (d) {
|
|
18236
|
-
return [d];
|
|
18237
|
-
});
|
|
18238
|
-
var newDiv = div.enter().append("div").attr("data-d3-selectdiv", key).style("position", "absolute");
|
|
18239
|
-
return div.merge(newDiv);
|
|
18240
|
-
};
|
|
18241
|
-
|
|
18242
|
-
/**
|
|
18243
|
-
* d3.selection plugin to simplify creating idempotent groups that are not
|
|
18244
|
-
* recreated when rendered again.
|
|
18245
|
-
*
|
|
18246
|
-
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
18247
|
-
*
|
|
18248
|
-
* @param {String} key The name of the group
|
|
18249
|
-
* @return {d3.selection}
|
|
18250
|
-
*/
|
|
18251
|
-
|
|
18252
|
-
d3.selection.prototype.selectGroup = function (key) {
|
|
18253
|
-
var group = this.selectAll('[data-d3-selectgroup="' + key + '"]').data(function (d) {
|
|
18254
|
-
return [d];
|
|
17302
|
+
}); // The innerSVG DOM property for SVGElement.
|
|
17303
|
+
|
|
17304
|
+
Object.defineProperty(SVGElement.prototype, "innerSVG", {
|
|
17305
|
+
get: function get() {
|
|
17306
|
+
return this.innerHTML;
|
|
17307
|
+
},
|
|
17308
|
+
set: function set(markupText) {
|
|
17309
|
+
this.innerHTML = markupText;
|
|
17310
|
+
}
|
|
18255
17311
|
});
|
|
18256
|
-
|
|
18257
|
-
return group.merge(newGroup);
|
|
18258
|
-
};
|
|
17312
|
+
})();
|
|
18259
17313
|
|
|
18260
17314
|
/**
|
|
18261
17315
|
* A collection of functional programming helper functions
|
|
@@ -18427,7 +17481,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
18427
17481
|
*/
|
|
18428
17482
|
|
|
18429
17483
|
var defined = function defined(val) {
|
|
18430
|
-
return typeof val !== "undefined" && val != null
|
|
17484
|
+
return typeof val !== "undefined" && val != null;
|
|
18431
17485
|
};
|
|
18432
17486
|
/**
|
|
18433
17487
|
* fn.derivedSet
|
|
@@ -18667,7 +17721,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
18667
17721
|
*/
|
|
18668
17722
|
|
|
18669
17723
|
var isNumber = function isNumber(val) {
|
|
18670
|
-
return Object.prototype.toString.call(val) === "[object Number]"
|
|
17724
|
+
return Object.prototype.toString.call(val) === "[object Number]";
|
|
18671
17725
|
};
|
|
18672
17726
|
/**
|
|
18673
17727
|
* fn.isObject
|
|
@@ -18943,22 +17997,10 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
18943
17997
|
};
|
|
18944
17998
|
}
|
|
18945
17999
|
|
|
18946
|
-
var
|
|
18947
|
-
var
|
|
18948
|
-
var
|
|
18949
|
-
var
|
|
18950
|
-
var mediumRed = "#DB247D";
|
|
18951
|
-
var lightRed = "#FB737E";
|
|
18952
|
-
var darkGreen = "#007C78";
|
|
18953
|
-
var mediumGreen = "#1D942E";
|
|
18954
|
-
var lightGreen = "#99C32E";
|
|
18955
|
-
var darkBrown = "#9A5B01";
|
|
18956
|
-
var mediumBrown = "#FF720C";
|
|
18957
|
-
var lightBrown = "#FBB900";
|
|
18958
|
-
var scaleQual12 = qualColorScale([darkBlue, mediumBlue, lightBlue, darkRed, mediumRed, lightRed, darkGreen, mediumGreen, lightGreen, darkBrown, mediumBrown, lightBrown]);
|
|
18959
|
-
var scaleQual6 = qualColorScale([darkBlue, mediumRed, mediumGreen, lightBrown, lightBlue, mediumBrown]);
|
|
18960
|
-
var scaleQual6a = qualColorScale([darkBlue, mediumBlue, lightBlue, darkRed, mediumRed, lightRed]);
|
|
18961
|
-
var scaleQual6b = qualColorScale([darkGreen, mediumGreen, lightGreen, darkBrown, mediumBrown, lightBrown]);
|
|
18000
|
+
var scaleQual12 = qualColorScale(["#5182B3", "#B8CFE6", "#60BF97", "#B8E6D2", "#94BF69", "#CFE6B8", "#E6CF73", "#FAEBAF", "#E67D73", "#F2CEC2", "#CC6788", "#E6B7C7"]);
|
|
18001
|
+
var scaleQual6 = qualColorScale(["#5182B3", "#60BF97", "#94BF69", "#E6CF73", "#E67D73", "#CC6788"]);
|
|
18002
|
+
var scaleQual6a = qualColorScale(["#5182B3", "#B8CFE6", "#60BF97", "#B8E6D2", "#94BF69", "#CFE6B8"]);
|
|
18003
|
+
var scaleQual6b = qualColorScale(["#E6CF73", "#FAEBAF", "#E67D73", "#F2CEC2", "#CC6788", "#E6B7C7"]);
|
|
18962
18004
|
|
|
18963
18005
|
function seqColorScale(colors) {
|
|
18964
18006
|
return function () {
|
|
@@ -18967,10 +18009,10 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
18967
18009
|
};
|
|
18968
18010
|
}
|
|
18969
18011
|
|
|
18970
|
-
var scaleSeqBlu = seqColorScale(["#
|
|
18971
|
-
var scaleSeqRed = seqColorScale(["#
|
|
18972
|
-
var scaleSeqGrn = seqColorScale(["#
|
|
18973
|
-
var scaleSeqBrn = seqColorScale(["#
|
|
18012
|
+
var scaleSeqBlu = seqColorScale(["#DDE9FE", "#3B76B3", "#343F4D"]);
|
|
18013
|
+
var scaleSeqRed = seqColorScale(["#FEECEC", "#CC6171", "#4D353A"]);
|
|
18014
|
+
var scaleSeqGrn = seqColorScale(["#D2DFDE", "#4A807C", "#2C3C3F"]);
|
|
18015
|
+
var scaleSeqBrn = seqColorScale(["#E9DFD6", "#A67D5A", "#4C3735"]);
|
|
18974
18016
|
|
|
18975
18017
|
function divColorScale(colors) {
|
|
18976
18018
|
return function () {
|
|
@@ -18979,10 +18021,10 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
18979
18021
|
};
|
|
18980
18022
|
}
|
|
18981
18023
|
|
|
18982
|
-
var scaleDivVal = divColorScale(["#
|
|
18983
|
-
var scaleDivValGry = divColorScale(["#
|
|
18984
|
-
var scaleDivNtr = divColorScale(["#
|
|
18985
|
-
var scaleDivNtrGry = divColorScale(["#
|
|
18024
|
+
var scaleDivVal = divColorScale(["#CC6171", "#FFFFFF", "#3B76B3"]);
|
|
18025
|
+
var scaleDivValGry = divColorScale(["#CC6171", "#F3F3F3", "#3B76B3"]);
|
|
18026
|
+
var scaleDivNtr = divColorScale(["#A67D5A", "#FFFFFF", "#4A807C"]);
|
|
18027
|
+
var scaleDivNtrGry = divColorScale(["#A67D5A", "#F3F3F3", "#4A807C"]);
|
|
18986
18028
|
|
|
18987
18029
|
function greyColorScale(colors) {
|
|
18988
18030
|
return function () {
|
|
@@ -19831,7 +18873,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
19831
18873
|
* @return {sszvis.component}
|
|
19832
18874
|
*/
|
|
19833
18875
|
function rangeRuler () {
|
|
19834
|
-
return component().prop("x", functor).prop("y0", functor).prop("y1", functor).prop("top").prop("bottom").prop("label").
|
|
18876
|
+
return component().prop("x", functor).prop("y0", functor).prop("y1", functor).prop("top").prop("bottom").prop("label").label(functor("")).prop("total").prop("flip", functor).flip(false).render(function (data) {
|
|
19835
18877
|
var selection = d3.select(this);
|
|
19836
18878
|
var props = selection.props();
|
|
19837
18879
|
var crispX = compose(halfPixel, props.x);
|
|
@@ -19870,11 +18912,6 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
19870
18912
|
.style("text-anchor", function (d) {
|
|
19871
18913
|
return props.flip(d) ? "end" : "start";
|
|
19872
18914
|
}).text(compose(formatNumber, props.label));
|
|
19873
|
-
|
|
19874
|
-
if (!props.removeStroke) {
|
|
19875
|
-
marks.attr("stroke", "white").attr("stroke-width", 0.5).attr("stroke-opacity", 0.75);
|
|
19876
|
-
}
|
|
19877
|
-
|
|
19878
18915
|
var total = selection.selectAll(".sszvis-rangeRuler__total").data([last(data)]);
|
|
19879
18916
|
var newTotal = total.enter().append("text").classed("sszvis-rangeRuler__total", true);
|
|
19880
18917
|
total.exit().remove();
|
|
@@ -19885,10 +18922,6 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
19885
18922
|
}).attr("y", props.top - 10).style("text-anchor", function (d) {
|
|
19886
18923
|
return props.flip(d) ? "end" : "start";
|
|
19887
18924
|
}).text("Total " + formatNumber(props.total));
|
|
19888
|
-
|
|
19889
|
-
if (!props.removeStroke) {
|
|
19890
|
-
total.attr("stroke", "white").attr("stroke-width", 0.5).attr("stroke-opacity", 0.75);
|
|
19891
|
-
}
|
|
19892
18925
|
});
|
|
19893
18926
|
}
|
|
19894
18927
|
|
|
@@ -20223,367 +19256,129 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
20223
19256
|
* formatTable
|
|
20224
19257
|
*/
|
|
20225
19258
|
|
|
20226
|
-
|
|
20227
|
-
function formatTable(rows) {
|
|
20228
|
-
var tableBody = rows.map(function (row) {
|
|
20229
|
-
return "<tr>" + row.map(function (cell) {
|
|
20230
|
-
return "<td>" + cell + "</td>";
|
|
20231
|
-
}).join("") + "</tr>";
|
|
20232
|
-
}).join("");
|
|
20233
|
-
return '<table class="sszvis-tooltip__body__table">' + tableBody + "</table>";
|
|
20234
|
-
}
|
|
20235
|
-
/**
|
|
20236
|
-
* Tooltip background generator
|
|
20237
|
-
*
|
|
20238
|
-
* Generates a path description with a tip on the specified side.
|
|
20239
|
-
*
|
|
20240
|
-
* top
|
|
20241
|
-
* ________
|
|
20242
|
-
* left | | right
|
|
20243
|
-
* |___ ___|
|
|
20244
|
-
* \/
|
|
20245
|
-
* bottom
|
|
20246
|
-
*
|
|
20247
|
-
* @param {Vector} a Top-left corner of the tooltip rectangle (x, y)
|
|
20248
|
-
* @param {Vector} b Bottom-right corner of the tooltip rectangle (x, y)
|
|
20249
|
-
* @param {String} orientation The tip will point in this direction (top, right, bottom, left)
|
|
20250
|
-
*
|
|
20251
|
-
* @return {Path} SVG path description
|
|
20252
|
-
*/
|
|
20253
|
-
|
|
20254
|
-
|
|
20255
|
-
function tooltipBackgroundGenerator(a, b, orientation, radius) {
|
|
20256
|
-
switch (orientation) {
|
|
20257
|
-
case "top":
|
|
20258
|
-
a[1] = a[1] + TIP_SIZE;
|
|
20259
|
-
break;
|
|
20260
|
-
|
|
20261
|
-
case "bottom":
|
|
20262
|
-
b[1] = b[1] - TIP_SIZE;
|
|
20263
|
-
break;
|
|
20264
|
-
|
|
20265
|
-
case "left":
|
|
20266
|
-
a[0] = a[0] + TIP_SIZE;
|
|
20267
|
-
break;
|
|
20268
|
-
|
|
20269
|
-
case "right":
|
|
20270
|
-
b[0] = b[0] - TIP_SIZE;
|
|
20271
|
-
break;
|
|
20272
|
-
}
|
|
20273
|
-
|
|
20274
|
-
function x(d) {
|
|
20275
|
-
return d[0];
|
|
20276
|
-
}
|
|
20277
|
-
|
|
20278
|
-
function y(d) {
|
|
20279
|
-
return d[1];
|
|
20280
|
-
}
|
|
20281
|
-
|
|
20282
|
-
function side(cx, cy, x0, y0, x1, y1, showTip) {
|
|
20283
|
-
var mx = x0 + (x1 - x0) / 2;
|
|
20284
|
-
var my = y0 + (y1 - y0) / 2;
|
|
20285
|
-
var corner = ["Q", cx, cy, x0, y0];
|
|
20286
|
-
var tip = [];
|
|
20287
|
-
|
|
20288
|
-
if (showTip && y0 === y1) {
|
|
20289
|
-
if (x0 < x1) {
|
|
20290
|
-
// Top
|
|
20291
|
-
tip = ["L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my];
|
|
20292
|
-
} else {
|
|
20293
|
-
// Bottom
|
|
20294
|
-
tip = ["L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my];
|
|
20295
|
-
}
|
|
20296
|
-
} else if (showTip && x0 === x1) {
|
|
20297
|
-
if (y0 < y1) {
|
|
20298
|
-
// Right
|
|
20299
|
-
tip = ["L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE];
|
|
20300
|
-
} else {
|
|
20301
|
-
// Left
|
|
20302
|
-
tip = ["L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE];
|
|
20303
|
-
}
|
|
20304
|
-
}
|
|
20305
|
-
|
|
20306
|
-
var end = ["L", x1, y1];
|
|
20307
|
-
return [].concat(corner, tip, end);
|
|
20308
|
-
}
|
|
20309
|
-
|
|
20310
|
-
return [// Start
|
|
20311
|
-
["M", x(a), y(a) + radius], // Top side
|
|
20312
|
-
side(x(a), y(a), x(a) + radius, y(a), x(b) - radius, y(a), orientation === "top"), // Right side
|
|
20313
|
-
side(x(b), y(a), x(b), y(a) + radius, x(b), y(b) - radius, orientation === "right"), // Bottom side
|
|
20314
|
-
side(x(b), y(b), x(b) - radius, y(b), x(a) + radius, y(b), orientation === "bottom"), // Left side
|
|
20315
|
-
side(x(a), y(b), x(a), y(b) - radius, x(a), y(a) + radius, orientation === "left")].map(function (d) {
|
|
20316
|
-
return d.join(" ");
|
|
20317
|
-
}).join(" ");
|
|
20318
|
-
}
|
|
20319
|
-
/**
|
|
20320
|
-
* Detect whether the current browser supports SVG filters
|
|
20321
|
-
*/
|
|
20322
|
-
|
|
20323
|
-
|
|
20324
|
-
function supportsSVGFilters() {
|
|
20325
|
-
return window["SVGFEColorMatrixElement"] !== undefined && SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;
|
|
20326
|
-
}
|
|
20327
|
-
|
|
20328
|
-
/**
|
|
20329
|
-
* @function sszvis.tooltipFit
|
|
20330
|
-
*
|
|
20331
|
-
* This is a useful default function for making a tooltip fit within a horizontal space.
|
|
20332
|
-
* You provide a default orientation for the tooltip, but also provide the bounds of the
|
|
20333
|
-
* space within which the tooltip should stay. When the tooltip is too close to the left
|
|
20334
|
-
* or right edge of the bounds, it is oriented away from the edge. Otherwise the default
|
|
20335
|
-
* is used.
|
|
20336
|
-
*
|
|
20337
|
-
* @param {String} defaultValue The default value for the tooltip orientation
|
|
20338
|
-
* @param {Object} bounds The bounds object within which the tooltip should stay.
|
|
20339
|
-
*
|
|
20340
|
-
* @returns {Function} A function for calculating the orientation of the tooltips.
|
|
20341
|
-
*/
|
|
20342
|
-
function fitTooltip (defaultVal, bounds) {
|
|
20343
|
-
var lo = Math.min(bounds.innerWidth * 1 / 4, 100);
|
|
20344
|
-
var hi = Math.max(bounds.innerWidth * 3 / 4, bounds.innerWidth - 100);
|
|
20345
|
-
return function (d) {
|
|
20346
|
-
var x = d.x;
|
|
20347
|
-
return x > hi ? "right" : x < lo ? "left" : defaultVal;
|
|
20348
|
-
};
|
|
20349
|
-
}
|
|
20350
|
-
|
|
20351
|
-
/**
|
|
20352
|
-
* Fallback handling
|
|
20353
|
-
*
|
|
20354
|
-
* Defaults to rendering a fallback image with standard chart proportions.
|
|
20355
|
-
*
|
|
20356
|
-
* @example
|
|
20357
|
-
* if (sszvis.fallback.unsupported()) {
|
|
20358
|
-
* sszvis.fallback.render('#sszvis-chart', {src: '../fallback.png', height: 300});
|
|
20359
|
-
* return;
|
|
20360
|
-
* }
|
|
20361
|
-
*
|
|
20362
|
-
* @module sszvis/fallback
|
|
20363
|
-
*/
|
|
20364
|
-
var fallbackUnsupported = function fallbackUnsupported() {
|
|
20365
|
-
var supportsSVG = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect;
|
|
20366
|
-
return !supportsSVG;
|
|
20367
|
-
};
|
|
20368
|
-
var fallbackCanvasUnsupported = function fallbackCanvasUnsupported() {
|
|
20369
|
-
var supportsCanvas = !!document.createElement("canvas").getContext;
|
|
20370
|
-
return !supportsCanvas;
|
|
20371
|
-
};
|
|
20372
|
-
var fallbackRender = function fallbackRender(selector, options) {
|
|
20373
|
-
options || (options = {});
|
|
20374
|
-
options.src || (options.src = "fallback.png");
|
|
20375
|
-
var selection = isSelection(selector) ? selector : d3.select(selector);
|
|
20376
|
-
selection.append("img").attr("class", "sszvis-fallback-image").attr("src", options.src);
|
|
20377
|
-
};
|
|
20378
|
-
|
|
20379
|
-
var nanoThrottle = function (callback, ms, trailing) {
|
|
20380
|
-
var t = 0, call;
|
|
20381
|
-
arguments.length < 3 && (trailing = true);
|
|
20382
|
-
return function () {
|
|
20383
|
-
var args = arguments;
|
|
20384
|
-
var self = this;
|
|
20385
|
-
call = function () {
|
|
20386
|
-
callback.apply(self, args);
|
|
20387
|
-
t = new Date().getTime() + ms;
|
|
20388
|
-
call = null;
|
|
20389
|
-
trailing && setTimeout(function () {
|
|
20390
|
-
call && call();
|
|
20391
|
-
}, ms);
|
|
20392
|
-
};
|
|
20393
|
-
if (new Date().getTime() > t) call();
|
|
20394
|
-
}
|
|
20395
|
-
};
|
|
20396
|
-
|
|
20397
|
-
/**
|
|
20398
|
-
* Viewport Resize watcher
|
|
20399
|
-
*
|
|
20400
|
-
* The resize watcher in the sszvis.viewport module can be used for alerting user code to
|
|
20401
|
-
* changes in the browser window size. This includes window resizing on desktop computers
|
|
20402
|
-
* and browsers, but also orientation changes on mobile browsers. Functions which listen
|
|
20403
|
-
* to the 'resize' event of the sszvis.viewport module will be fired on window resize.
|
|
20404
|
-
* You can add a resize listener to your application very easily:
|
|
20405
|
-
*
|
|
20406
|
-
* sszvis.viewport.on('resize', listenerFunction);
|
|
20407
|
-
*
|
|
20408
|
-
* The listener function will be called once per resize event, but at a slight delay. This is because,
|
|
20409
|
-
* while a user is resizing their browser window, many resize events can fire very quickly. This component
|
|
20410
|
-
* automatically throttles the rate at which the listener function is called, since you probably don't need
|
|
20411
|
-
* to respond to every single resize event. This throttling provides for a smoother user experience as they
|
|
20412
|
-
* resize the browser, and increases performance across the board. The listener function will always be
|
|
20413
|
-
* called after one or more window resize events, it just won't be called as often as the window fires the
|
|
20414
|
-
* events.
|
|
20415
|
-
*
|
|
20416
|
-
* @module sszvis/viewport
|
|
20417
|
-
*
|
|
20418
|
-
* @function {string, function} on the .on() function is used to listen to the resize event itself.
|
|
20419
|
-
* There is only one event supported by this component at the moment, so
|
|
20420
|
-
* the first argument to .on must be 'resize' for it to have any effect.
|
|
20421
|
-
* Although this is somewhat redundant, it is done to keep this component's
|
|
20422
|
-
* API clear and in line with other components.
|
|
20423
|
-
*
|
|
20424
|
-
* @return {Object}
|
|
20425
|
-
*/
|
|
20426
|
-
// sszvis.viewport.on('resize', callback);
|
|
20427
|
-
// While still enabling the user to register multiple callbacks for the 'resize'
|
|
20428
|
-
// event. Multiple callbacks are a feature which simply returning a d3.dispatch('resize')
|
|
20429
|
-
// object would not allow.
|
|
20430
|
-
|
|
20431
|
-
var callbacks = {
|
|
20432
|
-
resize: []
|
|
20433
|
-
};
|
|
20434
|
-
|
|
20435
|
-
if (typeof window !== "undefined") {
|
|
20436
|
-
d3.select(window).on("resize", nanoThrottle(function () {
|
|
20437
|
-
trigger("resize");
|
|
20438
|
-
}, 500));
|
|
20439
|
-
}
|
|
20440
|
-
|
|
20441
|
-
var on$1 = function on(name, cb) {
|
|
20442
|
-
if (!callbacks[name]) {
|
|
20443
|
-
callbacks[name] = [];
|
|
20444
|
-
}
|
|
20445
|
-
|
|
20446
|
-
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
20447
|
-
return fn !== cb;
|
|
20448
|
-
}).concat(cb);
|
|
20449
|
-
return this;
|
|
20450
|
-
};
|
|
20451
|
-
|
|
20452
|
-
var off = function off(name, cb) {
|
|
20453
|
-
if (!callbacks[name]) {
|
|
20454
|
-
return this;
|
|
20455
|
-
}
|
|
20456
|
-
|
|
20457
|
-
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
20458
|
-
return fn !== cb;
|
|
20459
|
-
});
|
|
20460
|
-
return this;
|
|
20461
|
-
};
|
|
20462
|
-
|
|
20463
|
-
var trigger = function trigger(name) {
|
|
20464
|
-
var evtArgs = Array.prototype.slice.call(arguments, 1);
|
|
20465
|
-
|
|
20466
|
-
if (callbacks[name]) {
|
|
20467
|
-
callbacks[name].forEach(function (fn) {
|
|
20468
|
-
fn.apply(null, evtArgs);
|
|
20469
|
-
});
|
|
20470
|
-
}
|
|
20471
|
-
|
|
20472
|
-
return this;
|
|
20473
|
-
};
|
|
20474
|
-
|
|
20475
|
-
var viewport = {
|
|
20476
|
-
on: on$1,
|
|
20477
|
-
off: off,
|
|
20478
|
-
trigger: trigger
|
|
20479
|
-
};
|
|
20480
|
-
|
|
19259
|
+
|
|
19260
|
+
function formatTable(rows) {
|
|
19261
|
+
var tableBody = rows.map(function (row) {
|
|
19262
|
+
return "<tr>" + row.map(function (cell) {
|
|
19263
|
+
return "<td>" + cell + "</td>";
|
|
19264
|
+
}).join("") + "</tr>";
|
|
19265
|
+
}).join("");
|
|
19266
|
+
return '<table class="sszvis-tooltip__body__table">' + tableBody + "</table>";
|
|
19267
|
+
}
|
|
20481
19268
|
/**
|
|
20482
|
-
*
|
|
20483
|
-
*
|
|
20484
|
-
* Creates a stateful app that can be interacted with through actions. By providing
|
|
20485
|
-
* a structured approach, this allows us to optimize the render loop and clarifies
|
|
20486
|
-
* the relationship between state and actions.
|
|
20487
|
-
*
|
|
20488
|
-
* Within an app, state can only be modified through actions. During the render phase,
|
|
20489
|
-
* state is immutable and an error will be thrown if it is modified accidentally.
|
|
20490
|
-
*
|
|
20491
|
-
* Conceptually, an app works like this:
|
|
20492
|
-
*
|
|
20493
|
-
* init
|
|
20494
|
-
* ⇣
|
|
20495
|
-
* state ⭢ render
|
|
20496
|
-
* ⮤ action ⮠
|
|
20497
|
-
*
|
|
20498
|
-
* The basis of an app are the following three types:
|
|
20499
|
-
*
|
|
20500
|
-
* Dispatch can be used to schedule an action after rendering has been completed. In the
|
|
20501
|
-
* render function, dispatch is not directly accessible; instead, an actions object is
|
|
20502
|
-
* provided to dispatch actions by calling them as functions.
|
|
20503
|
-
* @typedef {(action: string, p?: Props) => void} Dispatch
|
|
20504
|
-
*
|
|
20505
|
-
* An effect can be returned from an action to schedule further actions using dispatch.
|
|
20506
|
-
* @typedef {(d: Dispatch, p?: Props) => void} Effect
|
|
19269
|
+
* Tooltip background generator
|
|
20507
19270
|
*
|
|
20508
|
-
*
|
|
20509
|
-
* actions should be called after this one, an action can return an Effect.
|
|
20510
|
-
* @typedef {(s: Draft, p?: Props) => Effect | void} Action
|
|
20511
|
-
* @see {@link https://immerjs.github.io/immer/docs/produce/}
|
|
19271
|
+
* Generates a path description with a tip on the specified side.
|
|
20512
19272
|
*
|
|
20513
|
-
*
|
|
19273
|
+
* top
|
|
19274
|
+
* ________
|
|
19275
|
+
* left | | right
|
|
19276
|
+
* |___ ___|
|
|
19277
|
+
* \/
|
|
19278
|
+
* bottom
|
|
20514
19279
|
*
|
|
20515
|
-
* @
|
|
20516
|
-
* @
|
|
20517
|
-
*
|
|
20518
|
-
* @prop {(s: State, as: Record<keyof props.actions, (p?: Props) => void>)} props.render - Update
|
|
20519
|
-
* the DOM from the state and optionally dispatch actions
|
|
20520
|
-
* @prop {Record<string, Action>} [props.actions] - Functions to transition the
|
|
20521
|
-
* application state
|
|
20522
|
-
* @prop {{element: string, src: string}} [props.fallback] - Render a fallback image
|
|
19280
|
+
* @param {Vector} a Top-left corner of the tooltip rectangle (x, y)
|
|
19281
|
+
* @param {Vector} b Bottom-right corner of the tooltip rectangle (x, y)
|
|
19282
|
+
* @param {String} orientation The tip will point in this direction (top, right, bottom, left)
|
|
20523
19283
|
*
|
|
20524
|
-
* @
|
|
19284
|
+
* @return {Path} SVG path description
|
|
20525
19285
|
*/
|
|
20526
19286
|
|
|
20527
|
-
var app = function app(_ref) {
|
|
20528
|
-
var init = _ref.init,
|
|
20529
|
-
render = _ref.render,
|
|
20530
|
-
_ref$actions = _ref.actions,
|
|
20531
|
-
actions = _ref$actions === void 0 ? {} : _ref$actions,
|
|
20532
|
-
fallback = _ref.fallback;
|
|
20533
|
-
var doing;
|
|
20534
|
-
var state;
|
|
20535
|
-
invariant(isFunction$1(init), 'An "init" function returning a Promise must be provided.');
|
|
20536
|
-
invariant(isFunction$1(render), 'A "render" function must be provided.');
|
|
20537
|
-
var actionDispatchers = Object.keys(actions).reduce(function (acc, key) {
|
|
20538
|
-
acc[key] = function (args) {
|
|
20539
|
-
dispatch(key, args);
|
|
20540
|
-
};
|
|
20541
19287
|
|
|
20542
|
-
|
|
20543
|
-
|
|
19288
|
+
function tooltipBackgroundGenerator(a, b, orientation, radius) {
|
|
19289
|
+
switch (orientation) {
|
|
19290
|
+
case "top":
|
|
19291
|
+
a[1] = a[1] + TIP_SIZE;
|
|
19292
|
+
break;
|
|
20544
19293
|
|
|
20545
|
-
|
|
20546
|
-
|
|
20547
|
-
|
|
20548
|
-
|
|
20549
|
-
|
|
20550
|
-
|
|
20551
|
-
|
|
20552
|
-
|
|
19294
|
+
case "bottom":
|
|
19295
|
+
b[1] = b[1] - TIP_SIZE;
|
|
19296
|
+
break;
|
|
19297
|
+
|
|
19298
|
+
case "left":
|
|
19299
|
+
a[0] = a[0] + TIP_SIZE;
|
|
19300
|
+
break;
|
|
19301
|
+
|
|
19302
|
+
case "right":
|
|
19303
|
+
b[0] = b[0] - TIP_SIZE;
|
|
19304
|
+
break;
|
|
19305
|
+
}
|
|
20553
19306
|
|
|
20554
|
-
|
|
19307
|
+
function x(d) {
|
|
19308
|
+
return d[0];
|
|
20555
19309
|
}
|
|
20556
19310
|
|
|
20557
|
-
function
|
|
20558
|
-
|
|
20559
|
-
var draft = pn(state);
|
|
20560
|
-
var effect = actions[action](draft, props);
|
|
20561
|
-
state = ln(draft);
|
|
20562
|
-
scheduleUpdate(effect);
|
|
19311
|
+
function y(d) {
|
|
19312
|
+
return d[1];
|
|
20563
19313
|
}
|
|
20564
19314
|
|
|
20565
|
-
|
|
20566
|
-
|
|
20567
|
-
|
|
20568
|
-
|
|
20569
|
-
|
|
20570
|
-
|
|
20571
|
-
|
|
20572
|
-
|
|
20573
|
-
|
|
20574
|
-
|
|
20575
|
-
|
|
20576
|
-
|
|
20577
|
-
|
|
19315
|
+
function side(cx, cy, x0, y0, x1, y1, showTip) {
|
|
19316
|
+
var mx = x0 + (x1 - x0) / 2;
|
|
19317
|
+
var my = y0 + (y1 - y0) / 2;
|
|
19318
|
+
var corner = ["Q", cx, cy, x0, y0];
|
|
19319
|
+
var tip = [];
|
|
19320
|
+
|
|
19321
|
+
if (showTip && y0 === y1) {
|
|
19322
|
+
if (x0 < x1) {
|
|
19323
|
+
// Top
|
|
19324
|
+
tip = ["L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my];
|
|
19325
|
+
} else {
|
|
19326
|
+
// Bottom
|
|
19327
|
+
tip = ["L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my];
|
|
19328
|
+
}
|
|
19329
|
+
} else if (showTip && x0 === x1) {
|
|
19330
|
+
if (y0 < y1) {
|
|
19331
|
+
// Right
|
|
19332
|
+
tip = ["L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE];
|
|
19333
|
+
} else {
|
|
19334
|
+
// Left
|
|
19335
|
+
tip = ["L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE];
|
|
19336
|
+
}
|
|
19337
|
+
}
|
|
20578
19338
|
|
|
20579
|
-
|
|
20580
|
-
|
|
20581
|
-
throw new Error("[sszvis.app] ".concat(message));
|
|
19339
|
+
var end = ["L", x1, y1];
|
|
19340
|
+
return [].concat(corner, tip, end);
|
|
20582
19341
|
}
|
|
19342
|
+
|
|
19343
|
+
return [// Start
|
|
19344
|
+
["M", x(a), y(a) + radius], // Top side
|
|
19345
|
+
side(x(a), y(a), x(a) + radius, y(a), x(b) - radius, y(a), orientation === "top"), // Right side
|
|
19346
|
+
side(x(b), y(a), x(b), y(a) + radius, x(b), y(b) - radius, orientation === "right"), // Bottom side
|
|
19347
|
+
side(x(b), y(b), x(b) - radius, y(b), x(a) + radius, y(b), orientation === "bottom"), // Left side
|
|
19348
|
+
side(x(a), y(b), x(a), y(b) - radius, x(a), y(a) + radius, orientation === "left")].map(function (d) {
|
|
19349
|
+
return d.join(" ");
|
|
19350
|
+
}).join(" ");
|
|
19351
|
+
}
|
|
19352
|
+
/**
|
|
19353
|
+
* Detect whether the current browser supports SVG filters
|
|
19354
|
+
*/
|
|
19355
|
+
|
|
19356
|
+
|
|
19357
|
+
function supportsSVGFilters() {
|
|
19358
|
+
return window["SVGFEColorMatrixElement"] !== undefined && SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;
|
|
20583
19359
|
}
|
|
20584
19360
|
|
|
20585
|
-
|
|
20586
|
-
|
|
19361
|
+
/**
|
|
19362
|
+
* @function sszvis.tooltipFit
|
|
19363
|
+
*
|
|
19364
|
+
* This is a useful default function for making a tooltip fit within a horizontal space.
|
|
19365
|
+
* You provide a default orientation for the tooltip, but also provide the bounds of the
|
|
19366
|
+
* space within which the tooltip should stay. When the tooltip is too close to the left
|
|
19367
|
+
* or right edge of the bounds, it is oriented away from the edge. Otherwise the default
|
|
19368
|
+
* is used.
|
|
19369
|
+
*
|
|
19370
|
+
* @param {String} defaultValue The default value for the tooltip orientation
|
|
19371
|
+
* @param {Object} bounds The bounds object within which the tooltip should stay.
|
|
19372
|
+
*
|
|
19373
|
+
* @returns {Function} A function for calculating the orientation of the tooltips.
|
|
19374
|
+
*/
|
|
19375
|
+
function fitTooltip (defaultVal, bounds) {
|
|
19376
|
+
var lo = Math.min(bounds.innerWidth * 1 / 4, 100);
|
|
19377
|
+
var hi = Math.max(bounds.innerWidth * 3 / 4, bounds.innerWidth - 100);
|
|
19378
|
+
return function (d) {
|
|
19379
|
+
var x = d.x;
|
|
19380
|
+
return x > hi ? "right" : x < lo ? "left" : defaultVal;
|
|
19381
|
+
};
|
|
20587
19382
|
}
|
|
20588
19383
|
|
|
20589
19384
|
/**
|
|
@@ -21181,7 +19976,6 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
21181
19976
|
*
|
|
21182
19977
|
* @property {boolean} alignOuterLabels Whether or not to align the outer labels to the axis extent so that they do not fall outside the axis space.
|
|
21183
19978
|
* @property {boolean} contour Specify a 'contour' background for the axis labels.
|
|
21184
|
-
* @property {boolean} removeStroke Removes the default stroke applied to the text
|
|
21185
19979
|
* @property {number} hideBorderTickThreshold Specifies the pixel distance threshold for the visible tick correction. Ticks which are closer than
|
|
21186
19980
|
* this threshold to the end of the axis (i.e. a tick which is 1 or two pixels from the end) will be
|
|
21187
19981
|
* hidden from view. This prevents the display of a tick very close to the ending line.
|
|
@@ -21216,7 +20010,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
21216
20010
|
var axis = function axis() {
|
|
21217
20011
|
// var axisDelegate = d3.axisBottom();
|
|
21218
20012
|
// axisDelegate.orient = function() { return 'bottom'; };
|
|
21219
|
-
var axisComponent = component().prop("scale").prop("orient").prop("ticks").prop("tickValues").prop("tickSize").prop("tickSizeInner").prop("tickSizeOuter").prop("tickPadding").prop("tickFormat").prop("_scale").prop("orient").orient("bottom").prop("alignOuterLabels").alignOuterLabels(false).prop("contour").prop("
|
|
20013
|
+
var axisComponent = component().prop("scale").prop("orient").prop("ticks").prop("tickValues").prop("tickSize").prop("tickSizeInner").prop("tickSizeOuter").prop("tickPadding").prop("tickFormat").prop("_scale").prop("orient").orient("bottom").prop("alignOuterLabels").alignOuterLabels(false).prop("contour").prop("hideBorderTickThreshold").hideBorderTickThreshold(TICK_PROXIMITY_THRESHOLD).prop("hideLabelThreshold").hideLabelThreshold(LABEL_PROXIMITY_THRESHOLD).prop("highlightTick", functor).prop("showZeroY").showZeroY(false).prop("slant").prop("textWrap").prop("tickLength").prop("title").prop("titleAnchor") // start, end, or middle
|
|
21220
20014
|
.prop("titleCenter") // a boolean value - whether to center the title
|
|
21221
20015
|
.prop("dxTitle") // a numeric value for the left offset of the title
|
|
21222
20016
|
.prop("dyTitle") // a numeric value for the top offset of the title
|
|
@@ -21460,14 +20254,6 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
21460
20254
|
textContour.text(textNode.textContent);
|
|
21461
20255
|
});
|
|
21462
20256
|
}
|
|
21463
|
-
|
|
21464
|
-
if (!props.removeStroke) {
|
|
21465
|
-
tickGroups.each(function () {
|
|
21466
|
-
var g = d3.select(this);
|
|
21467
|
-
var textNode = g.select("text");
|
|
21468
|
-
textNode.attr("stroke", "white").attr("stroke-width", 0.5).attr("stroke-opacity", 0.75);
|
|
21469
|
-
});
|
|
21470
|
-
}
|
|
21471
20257
|
}); // axisComponent.__delegate__ = axisDelegate;
|
|
21472
20258
|
|
|
21473
20259
|
return axisComponent;
|
|
@@ -22860,7 +21646,6 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
22860
21646
|
return component().prop("radius").prop("fill").prop("stroke").prop("angle", functor).render(function (data) {
|
|
22861
21647
|
var selection = d3.select(this);
|
|
22862
21648
|
var props = selection.props();
|
|
22863
|
-
var stroke = props.stroke || "#FFFFFF";
|
|
22864
21649
|
var angle = 0;
|
|
22865
21650
|
data.forEach(function (value) {
|
|
22866
21651
|
// In order for an angle transition to work correctly in d3, the transition must be done in data space.
|
|
@@ -22891,7 +21676,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
22891
21676
|
data[i].a1 = d.a1;
|
|
22892
21677
|
}
|
|
22893
21678
|
}).data(data);
|
|
22894
|
-
var newSegments = segments.enter().append("path").classed("sszvis-path", true).attr("transform", "translate(" + props.radius + "," + props.radius + ")").attr("fill", props.fill).attr("stroke", stroke);
|
|
21679
|
+
var newSegments = segments.enter().append("path").classed("sszvis-path", true).attr("transform", "translate(" + props.radius + "," + props.radius + ")").attr("fill", props.fill).attr("stroke", props.stroke);
|
|
22895
21680
|
segments.exit().remove();
|
|
22896
21681
|
segments = segments.merge(newSegments);
|
|
22897
21682
|
segments.transition(defaultTransition()).attr("transform", "translate(" + props.radius + "," + props.radius + ")").attrTween("d", function (d) {
|
|
@@ -22902,7 +21687,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
22902
21687
|
d.a1 = angle1Interp(t);
|
|
22903
21688
|
return arcGen(d);
|
|
22904
21689
|
};
|
|
22905
|
-
}).attr("fill", props.fill).attr("stroke", stroke);
|
|
21690
|
+
}).attr("fill", props.fill).attr("stroke", props.stroke);
|
|
22906
21691
|
var ta = tooltipAnchor().position(function (d) {
|
|
22907
21692
|
// The correction by - Math.PI / 2 is necessary because d3 automatically (and with brief, buried documentation!)
|
|
22908
21693
|
// makes the same correction to svg.arc() angles :o
|
|
@@ -23263,7 +22048,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
23263
22048
|
paths = paths.transition(defaultTransition());
|
|
23264
22049
|
}
|
|
23265
22050
|
|
|
23266
|
-
paths.attr("d", areaGen).attr("fill", props.fill).attr("stroke", props.stroke
|
|
22051
|
+
paths.attr("d", areaGen).attr("fill", props.fill).attr("stroke", props.stroke);
|
|
23267
22052
|
});
|
|
23268
22053
|
}
|
|
23269
22054
|
|
|
@@ -23392,7 +22177,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
23392
22177
|
return component().prop("xScale", functor).prop("width", functor).prop("yScale", functor).prop("height", functor).prop("fill").prop("stroke").render(function (data) {
|
|
23393
22178
|
var selection = d3.select(this);
|
|
23394
22179
|
var props = selection.props();
|
|
23395
|
-
var barGen = bar().x(config.x(props)).y(config.y(props)).width(config.width(props)).height(config.height(props)).fill(props.fill).stroke(props.stroke
|
|
22180
|
+
var barGen = bar().x(config.x(props)).y(config.y(props)).width(config.width(props)).height(config.height(props)).fill(props.fill).stroke(props.stroke);
|
|
23396
22181
|
var groups = selection.selectAll(".sszvis-stack").data(data);
|
|
23397
22182
|
var newGroups = groups.enter().append("g").classed("sszvis-stack", true);
|
|
23398
22183
|
groups.exit().remove();
|
|
@@ -24092,6 +22877,34 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
24092
22877
|
return viewport.merge(viewportEnter);
|
|
24093
22878
|
}
|
|
24094
22879
|
|
|
22880
|
+
/**
|
|
22881
|
+
* Fallback handling
|
|
22882
|
+
*
|
|
22883
|
+
* Defaults to rendering a fallback image with standard chart proportions.
|
|
22884
|
+
*
|
|
22885
|
+
* @example
|
|
22886
|
+
* if (sszvis.fallback.unsupported()) {
|
|
22887
|
+
* sszvis.fallback.render('#sszvis-chart', {src: '../fallback.png', height: 300});
|
|
22888
|
+
* return;
|
|
22889
|
+
* }
|
|
22890
|
+
*
|
|
22891
|
+
* @module sszvis/fallback
|
|
22892
|
+
*/
|
|
22893
|
+
var fallbackUnsupported = function fallbackUnsupported() {
|
|
22894
|
+
var supportsSVG = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect;
|
|
22895
|
+
return !supportsSVG;
|
|
22896
|
+
};
|
|
22897
|
+
var fallbackCanvasUnsupported = function fallbackCanvasUnsupported() {
|
|
22898
|
+
var supportsCanvas = !!document.createElement("canvas").getContext;
|
|
22899
|
+
return !supportsCanvas;
|
|
22900
|
+
};
|
|
22901
|
+
var fallbackRender = function fallbackRender(selector, options) {
|
|
22902
|
+
options || (options = {});
|
|
22903
|
+
options.src || (options.src = "fallback.png");
|
|
22904
|
+
var selection = isSelection(selector) ? selector : d3.select(selector);
|
|
22905
|
+
selection.append("img").attr("class", "sszvis-fallback-image").attr("src", options.src);
|
|
22906
|
+
};
|
|
22907
|
+
|
|
24095
22908
|
/**
|
|
24096
22909
|
* Ordinal Color Scale Legend
|
|
24097
22910
|
*
|
|
@@ -25534,44 +24347,44 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25534
24347
|
*
|
|
25535
24348
|
* @return {sszvis.component}
|
|
25536
24349
|
*/
|
|
25537
|
-
var datumAcc = prop(
|
|
24350
|
+
var datumAcc = prop('datum');
|
|
25538
24351
|
function bubble () {
|
|
25539
|
-
var event = d3.dispatch(
|
|
25540
|
-
var anchoredCirclesComponent = component().prop(
|
|
24352
|
+
var event = d3.dispatch('over', 'out', 'click');
|
|
24353
|
+
var anchoredCirclesComponent = component().prop('mergedData').prop('mapPath').prop('radius', functor).prop('fill', functor).prop('strokeColor', functor).strokeColor('#ffffff').prop('strokeWidth', functor).strokeWidth(1).prop('transition').transition(true).render(function () {
|
|
25541
24354
|
var selection = d3.select(this);
|
|
25542
24355
|
var props = selection.props();
|
|
25543
24356
|
var radiusAcc = compose(props.radius, datumAcc);
|
|
25544
|
-
var anchoredCircles = selection.selectGroup(
|
|
24357
|
+
var anchoredCircles = selection.selectGroup('anchoredCircles').selectAll('.sszvis-anchored-circle').data(props.mergedData, function (d) {
|
|
25545
24358
|
return d.geoJson.id;
|
|
25546
24359
|
});
|
|
25547
|
-
anchoredCircles.enter().append(
|
|
25548
|
-
event.call(
|
|
25549
|
-
}).on(
|
|
25550
|
-
event.call(
|
|
25551
|
-
}).on(
|
|
25552
|
-
event.call(
|
|
25553
|
-
}).merge(anchoredCircles).attr(
|
|
24360
|
+
anchoredCircles.enter().append('circle').attr('class', 'sszvis-anchored-circle sszvis-anchored-circle--entering').attr('r', radiusAcc).on('mouseover', function (d) {
|
|
24361
|
+
event.call('over', this, d.datum);
|
|
24362
|
+
}).on('mouseout', function (d) {
|
|
24363
|
+
event.call('out', this, d.datum);
|
|
24364
|
+
}).on('click', function (d) {
|
|
24365
|
+
event.call('click', this, d.datum);
|
|
24366
|
+
}).merge(anchoredCircles).attr('transform', function (d) {
|
|
25554
24367
|
var position = props.mapPath.projection()(getGeoJsonCenter(d.geoJson));
|
|
25555
24368
|
return translateString(position[0], position[1]);
|
|
25556
|
-
}).style(
|
|
24369
|
+
}).style('fill', function (d) {
|
|
25557
24370
|
return props.fill(d.datum);
|
|
25558
|
-
}).style(
|
|
24371
|
+
}).style('stroke', function (d) {
|
|
25559
24372
|
return props.strokeColor(d.datum);
|
|
25560
|
-
}).style(
|
|
24373
|
+
}).style('stroke-width', function (d) {
|
|
25561
24374
|
return props.strokeWidth(d.datum);
|
|
25562
24375
|
}).sort(function (a, b) {
|
|
25563
24376
|
return props.radius(b.datum) - props.radius(a.datum);
|
|
25564
24377
|
}); // Remove the --entering modifier from the updating circles
|
|
25565
24378
|
|
|
25566
|
-
anchoredCircles.classed(
|
|
24379
|
+
anchoredCircles.classed('sszvis-anchored-circle--entering', false);
|
|
25567
24380
|
|
|
25568
24381
|
if (props.transition) {
|
|
25569
24382
|
var t = defaultTransition();
|
|
25570
|
-
anchoredCircles.exit().transition(t).attr(
|
|
25571
|
-
anchoredCircles.transition(t).attr(
|
|
24383
|
+
anchoredCircles.exit().transition(t).attr('r', 0).remove();
|
|
24384
|
+
anchoredCircles.transition(t).attr('r', radiusAcc);
|
|
25572
24385
|
} else {
|
|
25573
24386
|
anchoredCircles.exit().remove();
|
|
25574
|
-
anchoredCircles.attr(
|
|
24387
|
+
anchoredCircles.attr('r', radiusAcc);
|
|
25575
24388
|
}
|
|
25576
24389
|
});
|
|
25577
24390
|
|
|
@@ -25606,45 +24419,45 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25606
24419
|
* @return {sszvis.component}
|
|
25607
24420
|
*/
|
|
25608
24421
|
function mapRendererBase () {
|
|
25609
|
-
return component().prop(
|
|
25610
|
-
.prop(
|
|
25611
|
-
return
|
|
24422
|
+
return component().prop('mergedData').prop('geoJson').prop('mapPath').prop('defined', functor).defined(true) // a predicate function to determine whether a datum has a defined value
|
|
24423
|
+
.prop('fill', functor).fill(function () {
|
|
24424
|
+
return 'black';
|
|
25612
24425
|
}) // a function for the entity fill color. default is black
|
|
25613
|
-
.prop(
|
|
24426
|
+
.prop('transitionColor').transitionColor(true).render(function () {
|
|
25614
24427
|
var selection = d3.select(this);
|
|
25615
24428
|
var props = selection.props(); // render the missing value pattern
|
|
25616
24429
|
|
|
25617
|
-
ensureDefsElement(selection,
|
|
24430
|
+
ensureDefsElement(selection, 'pattern', 'missing-pattern').call(mapMissingValuePattern); // map fill function - returns the missing value pattern if the datum doesn't exist or fails the props.defined test
|
|
25618
24431
|
|
|
25619
24432
|
function getMapFill(d) {
|
|
25620
|
-
return props.defined(d.datum) ? props.fill(d.datum) :
|
|
24433
|
+
return props.defined(d.datum) ? props.fill(d.datum) : 'url(#missing-pattern)';
|
|
25621
24434
|
}
|
|
25622
24435
|
|
|
25623
|
-
var mapAreas = selection.selectAll(
|
|
24436
|
+
var mapAreas = selection.selectAll('.sszvis-map__area').data(props.mergedData); // add the base map paths - these are filled according to the map fill function
|
|
25624
24437
|
|
|
25625
|
-
var newMapAreas = mapAreas.enter().append(
|
|
25626
|
-
mapAreas.classed(
|
|
24438
|
+
var newMapAreas = mapAreas.enter().append('path').classed('sszvis-map__area', true).classed('sszvis-map__area--entering', true).attr('data-event-target', '').attr('fill', getMapFill);
|
|
24439
|
+
mapAreas.classed('sszvis-map__area--entering', false);
|
|
25627
24440
|
mapAreas.exit().remove();
|
|
25628
24441
|
mapAreas = mapAreas.merge(newMapAreas);
|
|
25629
|
-
selection.selectAll(
|
|
24442
|
+
selection.selectAll('.sszvis-map__area--undefined').attr('fill', getMapFill); // change the fill if necessary
|
|
25630
24443
|
|
|
25631
|
-
mapAreas.classed(
|
|
24444
|
+
mapAreas.classed('sszvis-map__area--undefined', function (d) {
|
|
25632
24445
|
return !defined(d.datum) || !props.defined(d.datum);
|
|
25633
|
-
}).attr(
|
|
24446
|
+
}).attr('d', function (d) {
|
|
25634
24447
|
return props.mapPath(d.geoJson);
|
|
25635
24448
|
});
|
|
25636
24449
|
|
|
25637
24450
|
if (props.transitionColor) {
|
|
25638
|
-
mapAreas.transition().call(slowTransition).attr(
|
|
24451
|
+
mapAreas.transition().call(slowTransition).attr('fill', getMapFill);
|
|
25639
24452
|
} else {
|
|
25640
|
-
mapAreas.attr(
|
|
24453
|
+
mapAreas.attr('fill', getMapFill);
|
|
25641
24454
|
} // the tooltip anchor generator
|
|
25642
24455
|
|
|
25643
24456
|
|
|
25644
24457
|
var ta = tooltipAnchor().position(function (d) {
|
|
25645
24458
|
return props.mapPath.projection()(getGeoJsonCenter(d.geoJson));
|
|
25646
24459
|
});
|
|
25647
|
-
var tooltipGroup = selection.selectGroup(
|
|
24460
|
+
var tooltipGroup = selection.selectGroup('tooltipAnchors').datum(props.mergedData); // attach tooltip anchors
|
|
25648
24461
|
|
|
25649
24462
|
tooltipGroup.call(ta);
|
|
25650
24463
|
});
|
|
@@ -25673,12 +24486,12 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25673
24486
|
* @return {sszvis.component}
|
|
25674
24487
|
*/
|
|
25675
24488
|
function geojson () {
|
|
25676
|
-
var event = d3.dispatch(
|
|
25677
|
-
var geojsonComponent = component().prop(
|
|
24489
|
+
var event = d3.dispatch('over', 'out', 'click');
|
|
24490
|
+
var geojsonComponent = component().prop('dataKeyName').dataKeyName(GEO_KEY_DEFAULT).prop('geoJsonKeyName').geoJsonKeyName('id').prop('geoJson').prop('mapPath').prop('defined', functor).defined(true).prop('fill', functor).fill('black').prop('stroke', functor).stroke('black').prop('strokeWidth', functor).strokeWidth(1.25).prop('transitionColor').transitionColor(true).render(function (data) {
|
|
25678
24491
|
var selection = d3.select(this);
|
|
25679
24492
|
var props = selection.props(); // render the missing value pattern
|
|
25680
24493
|
|
|
25681
|
-
ensureDefsElement(selection,
|
|
24494
|
+
ensureDefsElement(selection, 'pattern', 'missing-pattern').call(mapMissingValuePattern); // getDataKeyName will be called on data values. It should return a map entity id.
|
|
25682
24495
|
// getMapKeyName will be called on the 'properties' of each map feature. It should
|
|
25683
24496
|
// return a map entity id. Data values are matched with corresponding map features using
|
|
25684
24497
|
// these entity ids.
|
|
@@ -25697,36 +24510,36 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25697
24510
|
});
|
|
25698
24511
|
|
|
25699
24512
|
function getMapFill(d) {
|
|
25700
|
-
return defined(d.datum) && props.defined(d.datum) ? props.fill(d.datum) :
|
|
24513
|
+
return defined(d.datum) && props.defined(d.datum) ? props.fill(d.datum) : 'url(#missing-pattern)';
|
|
25701
24514
|
}
|
|
25702
24515
|
|
|
25703
24516
|
function getMapStroke(d) {
|
|
25704
|
-
return defined(d.datum) && props.defined(d.datum) ? props.stroke(d.datum) :
|
|
24517
|
+
return defined(d.datum) && props.defined(d.datum) ? props.stroke(d.datum) : '';
|
|
25705
24518
|
}
|
|
25706
24519
|
|
|
25707
|
-
var geoElements = selection.selectAll(
|
|
25708
|
-
var newGeoElements = geoElements.enter().append(
|
|
24520
|
+
var geoElements = selection.selectAll('.sszvis-map__geojsonelement').data(mergedData);
|
|
24521
|
+
var newGeoElements = geoElements.enter().append('path').classed('sszvis-map__geojsonelement', true).attr('data-event-target', '').attr('fill', getMapFill);
|
|
25709
24522
|
geoElements.exit().remove();
|
|
25710
24523
|
geoElements = geoElements.merge(newGeoElements);
|
|
25711
|
-
selection.selectAll(
|
|
25712
|
-
geoElements.classed(
|
|
24524
|
+
selection.selectAll('.sszvis-map__geojsonelement--undefined').attr('fill', getMapFill);
|
|
24525
|
+
geoElements.classed('sszvis-map__geojsonelement--undefined', function (d) {
|
|
25713
24526
|
return !defined(d.datum) || !props.defined(d.datum);
|
|
25714
|
-
}).attr(
|
|
24527
|
+
}).attr('d', function (d) {
|
|
25715
24528
|
return props.mapPath(d.geoJson);
|
|
25716
24529
|
});
|
|
25717
24530
|
|
|
25718
24531
|
if (props.transitionColor) {
|
|
25719
|
-
geoElements.transition().call(slowTransition).attr(
|
|
24532
|
+
geoElements.transition().call(slowTransition).attr('fill', getMapFill);
|
|
25720
24533
|
} else {
|
|
25721
|
-
geoElements.attr(
|
|
24534
|
+
geoElements.attr('fill', getMapFill);
|
|
25722
24535
|
}
|
|
25723
24536
|
|
|
25724
|
-
geoElements.attr(
|
|
25725
|
-
selection.selectAll(
|
|
24537
|
+
geoElements.attr('stroke', getMapStroke).attr('stroke-width', props.strokeWidth);
|
|
24538
|
+
selection.selectAll('[data-event-target]').on('mouseover', function (d) {
|
|
25726
24539
|
event.over(d.datum);
|
|
25727
|
-
}).on(
|
|
24540
|
+
}).on('mouseout', function (d) {
|
|
25728
24541
|
event.out(d.datum);
|
|
25729
|
-
}).on(
|
|
24542
|
+
}).on('click', function (d) {
|
|
25730
24543
|
event.click(d.datum);
|
|
25731
24544
|
}); // the tooltip anchor generator
|
|
25732
24545
|
|
|
@@ -25740,7 +24553,7 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25740
24553
|
|
|
25741
24554
|
return props.mapPath.projection()(sphericalCentroid);
|
|
25742
24555
|
});
|
|
25743
|
-
var tooltipGroup = selection.selectGroup(
|
|
24556
|
+
var tooltipGroup = selection.selectGroup('tooltipAnchors').datum(mergedData); // attach tooltip anchors
|
|
25744
24557
|
|
|
25745
24558
|
tooltipGroup.call(ta);
|
|
25746
24559
|
});
|
|
@@ -25771,13 +24584,13 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25771
24584
|
* @return {sszvis.component}
|
|
25772
24585
|
*/
|
|
25773
24586
|
function mapRendererHighlight () {
|
|
25774
|
-
return component().prop(
|
|
25775
|
-
.prop(
|
|
25776
|
-
.prop(
|
|
25777
|
-
.prop(
|
|
24587
|
+
return component().prop('keyName').keyName(GEO_KEY_DEFAULT) // the name of the data key that identifies which map entity it belongs to
|
|
24588
|
+
.prop('geoJson').prop('mapPath').prop('highlight').highlight([]) // an array of data values to highlight
|
|
24589
|
+
.prop('highlightStroke', functor).highlightStroke('white') // a function for highlighted entity stroke colors (default: white)
|
|
24590
|
+
.prop('highlightStrokeWidth', functor).highlightStrokeWidth(2).render(function () {
|
|
25778
24591
|
var selection = d3.select(this);
|
|
25779
24592
|
var props = selection.props();
|
|
25780
|
-
var highlightBorders = selection.selectAll(
|
|
24593
|
+
var highlightBorders = selection.selectAll('.sszvis-map__highlight');
|
|
25781
24594
|
|
|
25782
24595
|
if (!props.highlight.length) {
|
|
25783
24596
|
highlightBorders.remove();
|
|
@@ -25800,14 +24613,14 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25800
24613
|
return m;
|
|
25801
24614
|
}, []);
|
|
25802
24615
|
highlightBorders = highlightBorders.data(mergedHighlight);
|
|
25803
|
-
var newHighlightBorders = highlightBorders.enter().append(
|
|
24616
|
+
var newHighlightBorders = highlightBorders.enter().append('path').classed('sszvis-map__highlight', true);
|
|
25804
24617
|
highlightBorders.exit().remove();
|
|
25805
24618
|
highlightBorders = highlightBorders.merge(newHighlightBorders);
|
|
25806
|
-
highlightBorders.attr(
|
|
24619
|
+
highlightBorders.attr('d', function (d) {
|
|
25807
24620
|
return props.mapPath(d.geoJson);
|
|
25808
|
-
}).style(
|
|
24621
|
+
}).style('stroke', function (d) {
|
|
25809
24622
|
return props.highlightStroke(d.datum);
|
|
25810
|
-
}).style(
|
|
24623
|
+
}).style('stroke-width', function (d) {
|
|
25811
24624
|
return props.highlightStrokeWidth(d.datum);
|
|
25812
24625
|
});
|
|
25813
24626
|
});
|
|
@@ -25841,17 +24654,17 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25841
24654
|
* @return {sszvis.component}
|
|
25842
24655
|
*/
|
|
25843
24656
|
function image () {
|
|
25844
|
-
return component().prop(
|
|
24657
|
+
return component().prop('projection').prop('src').prop('geoBounds').prop('opacity').opacity(1).render(function () {
|
|
25845
24658
|
var selection = d3.select(this);
|
|
25846
24659
|
var props = selection.props();
|
|
25847
|
-
var image = selection.selectAll(
|
|
24660
|
+
var image = selection.selectAll('.sszvis-map__image').data([0]); // At the moment, 1 image per container
|
|
25848
24661
|
|
|
25849
|
-
var newImage = image.enter().append(
|
|
24662
|
+
var newImage = image.enter().append('img').classed('sszvis-map__image', true);
|
|
25850
24663
|
image.exit().remove();
|
|
25851
24664
|
image = image.merge(newImage);
|
|
25852
24665
|
var topLeft = props.projection(props.geoBounds[0]);
|
|
25853
24666
|
var bottomRight = props.projection(props.geoBounds[1]);
|
|
25854
|
-
image.attr(
|
|
24667
|
+
image.attr('src', props.src).style('left', Math.round(topLeft[0]) + 'px').style('top', Math.round(topLeft[1]) + 'px').style('width', Math.round(bottomRight[0] - topLeft[0]) + 'px').style('height', Math.round(bottomRight[1] - topLeft[1]) + 'px').style('opacity', props.opacity);
|
|
25855
24668
|
});
|
|
25856
24669
|
}
|
|
25857
24670
|
|
|
@@ -25873,16 +24686,16 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25873
24686
|
* @return {sszvis.component}
|
|
25874
24687
|
*/
|
|
25875
24688
|
function mapRendererMesh () {
|
|
25876
|
-
return component().prop(
|
|
25877
|
-
.prop(
|
|
24689
|
+
return component().prop('geoJson').prop('mapPath').prop('borderColor').borderColor('white') // A function or string for the color of all borders. Note: all borders have the same color
|
|
24690
|
+
.prop('strokeWidth').strokeWidth(1.25).render(function () {
|
|
25878
24691
|
var selection = d3.select(this);
|
|
25879
24692
|
var props = selection.props(); // add the map borders. These are rendered as one single path element
|
|
25880
24693
|
|
|
25881
|
-
var meshLine = selection.selectAll(
|
|
25882
|
-
var newMeshLine = meshLine.enter().append(
|
|
24694
|
+
var meshLine = selection.selectAll('.sszvis-map__border').data([props.geoJson]);
|
|
24695
|
+
var newMeshLine = meshLine.enter().append('path').classed('sszvis-map__border', true);
|
|
25883
24696
|
meshLine.exit().remove();
|
|
25884
24697
|
meshLine = meshLine.merge(newMeshLine);
|
|
25885
|
-
meshLine.attr(
|
|
24698
|
+
meshLine.attr('d', props.mapPath).style('stroke', props.borderColor).style('stroke-width', props.strokeWidth);
|
|
25886
24699
|
});
|
|
25887
24700
|
}
|
|
25888
24701
|
|
|
@@ -25903,41 +24716,41 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25903
24716
|
* @return {sszvis.component}
|
|
25904
24717
|
*/
|
|
25905
24718
|
function mapRendererPatternedLakeOverlay () {
|
|
25906
|
-
return component().prop(
|
|
24719
|
+
return component().prop('mapPath').prop('lakeFeature').prop('lakeBounds').prop('lakePathColor').prop('fadeOut').fadeOut(true).render(function () {
|
|
25907
24720
|
var selection = d3.select(this);
|
|
25908
24721
|
var props = selection.props(); // the lake texture
|
|
25909
24722
|
|
|
25910
|
-
ensureDefsElement(selection,
|
|
24723
|
+
ensureDefsElement(selection, 'pattern', 'lake-pattern').call(mapLakePattern);
|
|
25911
24724
|
|
|
25912
24725
|
if (props.fadeOut) {
|
|
25913
24726
|
// the fade gradient
|
|
25914
|
-
ensureDefsElement(selection,
|
|
24727
|
+
ensureDefsElement(selection, 'linearGradient', 'lake-fade-gradient').call(mapLakeFadeGradient); // the mask, which uses the fade gradient
|
|
25915
24728
|
|
|
25916
|
-
ensureDefsElement(selection,
|
|
24729
|
+
ensureDefsElement(selection, 'mask', 'lake-fade-mask').call(mapLakeGradientMask);
|
|
25917
24730
|
} // generate the Lake Zurich path
|
|
25918
24731
|
|
|
25919
24732
|
|
|
25920
|
-
var zurichSee = selection.selectAll(
|
|
25921
|
-
var newZurichSee = zurichSee.enter().append(
|
|
24733
|
+
var zurichSee = selection.selectAll('.sszvis-map__lakezurich').data([props.lakeFeature]);
|
|
24734
|
+
var newZurichSee = zurichSee.enter().append('path').classed('sszvis-map__lakezurich', true);
|
|
25922
24735
|
zurichSee.exit().remove();
|
|
25923
24736
|
zurichSee = zurichSee.merge(newZurichSee);
|
|
25924
|
-
zurichSee.attr(
|
|
24737
|
+
zurichSee.attr('d', props.mapPath).attr('fill', 'url(#lake-pattern)');
|
|
25925
24738
|
|
|
25926
24739
|
if (props.fadeOut) {
|
|
25927
24740
|
// this mask applies the fade effect
|
|
25928
|
-
zurichSee.attr(
|
|
24741
|
+
zurichSee.attr('mask', 'url(#lake-fade-mask)');
|
|
25929
24742
|
} // add a path for the boundaries of map entities which extend over the lake.
|
|
25930
24743
|
// This path is rendered as a dotted line over the lake shape
|
|
25931
24744
|
|
|
25932
24745
|
|
|
25933
|
-
var lakePath = selection.selectAll(
|
|
25934
|
-
var newLakePath = lakePath.enter().append(
|
|
24746
|
+
var lakePath = selection.selectAll('.sszvis-map__lakepath').data([props.lakeBounds]);
|
|
24747
|
+
var newLakePath = lakePath.enter().append('path').classed('sszvis-map__lakepath', true);
|
|
25935
24748
|
lakePath.exit().remove();
|
|
25936
24749
|
lakePath = lakePath.merge(newLakePath);
|
|
25937
|
-
lakePath.attr(
|
|
24750
|
+
lakePath.attr('d', props.mapPath);
|
|
25938
24751
|
|
|
25939
24752
|
if (props.lakePathColor) {
|
|
25940
|
-
lakePath.style(
|
|
24753
|
+
lakePath.style('stroke', props.lakePathColor);
|
|
25941
24754
|
}
|
|
25942
24755
|
});
|
|
25943
24756
|
}
|
|
@@ -25964,21 +24777,21 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
25964
24777
|
* @return {sszvis.component}
|
|
25965
24778
|
*/
|
|
25966
24779
|
function raster () {
|
|
25967
|
-
return component().prop(
|
|
24780
|
+
return component().prop('debug').debug(false).prop('width').prop('height').prop('position').prop('cellSide').cellSide(2).prop('fill', functor).prop('opacity').opacity(1).render(function (data) {
|
|
25968
24781
|
var selection = d3.select(this);
|
|
25969
24782
|
var props = selection.props();
|
|
25970
|
-
var canvas = selection.selectAll(
|
|
25971
|
-
var newCanvas = canvas.enter().append(
|
|
24783
|
+
var canvas = selection.selectAll('.sszvis-map__rasterimage').data([0]);
|
|
24784
|
+
var newCanvas = canvas.enter().append('canvas').classed('sszvis-map__rasterimage', true);
|
|
25972
24785
|
canvas.exit().remove();
|
|
25973
24786
|
canvas = canvas.merge(newCanvas);
|
|
25974
|
-
canvas.attr(
|
|
25975
|
-
var ctx = canvas.node().getContext(
|
|
24787
|
+
canvas.attr('width', props.width).attr('height', props.height).style('opacity', props.opacity);
|
|
24788
|
+
var ctx = canvas.node().getContext('2d');
|
|
25976
24789
|
ctx.clearRect(0, 0, props.width, props.height);
|
|
25977
24790
|
|
|
25978
24791
|
if (props.debug) {
|
|
25979
24792
|
// Displays a rectangle that fills the canvas.
|
|
25980
24793
|
// Useful for checking alignment with other render layers.
|
|
25981
|
-
ctx.fillStyle =
|
|
24794
|
+
ctx.fillStyle = 'rgba(255, 0, 0, 0.2)';
|
|
25982
24795
|
ctx.fillRect(0, 0, props.width, props.height);
|
|
25983
24796
|
}
|
|
25984
24797
|
|
|
@@ -26458,6 +25271,127 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
26458
25271
|
var modularTextHTML = makeTextWithFormat(formatHTML());
|
|
26459
25272
|
var modularTextSVG = makeTextWithFormat(formatSVG());
|
|
26460
25273
|
|
|
25274
|
+
/**
|
|
25275
|
+
* Viewport Resize watcher
|
|
25276
|
+
*
|
|
25277
|
+
* The resize watcher in the sszvis.viewport module can be used for alerting user code to
|
|
25278
|
+
* changes in the browser window size. This includes window resizing on desktop computers
|
|
25279
|
+
* and browsers, but also orientation changes on mobile browsers. Functions which listen
|
|
25280
|
+
* to the 'resize' event of the sszvis.viewport module will be fired on window resize.
|
|
25281
|
+
* You can add a resize listener to your application very easily:
|
|
25282
|
+
*
|
|
25283
|
+
* sszvis.viewport.on('resize', listenerFunction);
|
|
25284
|
+
*
|
|
25285
|
+
* The listener function will be called once per resize event, but at a slight delay. This is because,
|
|
25286
|
+
* while a user is resizing their browser window, many resize events can fire very quickly. This component
|
|
25287
|
+
* automatically throttles the rate at which the listener function is called, since you probably don't need
|
|
25288
|
+
* to respond to every single resize event. This throttling provides for a smoother user experience as they
|
|
25289
|
+
* resize the browser, and increases performance across the board. The listener function will always be
|
|
25290
|
+
* called after one or more window resize events, it just won't be called as often as the window fires the
|
|
25291
|
+
* events.
|
|
25292
|
+
*
|
|
25293
|
+
* @module sszvis/viewport
|
|
25294
|
+
*
|
|
25295
|
+
* @function {string, function} on the .on() function is used to listen to the resize event itself.
|
|
25296
|
+
* There is only one event supported by this component at the moment, so
|
|
25297
|
+
* the first argument to .on must be 'resize' for it to have any effect.
|
|
25298
|
+
* Although this is somewhat redundant, it is done to keep this component's
|
|
25299
|
+
* API clear and in line with other components.
|
|
25300
|
+
*
|
|
25301
|
+
* @return {Object}
|
|
25302
|
+
*/
|
|
25303
|
+
|
|
25304
|
+
function throttle(wait, func) {
|
|
25305
|
+
var context, args, result;
|
|
25306
|
+
var timeout = null;
|
|
25307
|
+
var previous = 0;
|
|
25308
|
+
|
|
25309
|
+
var lastCall = function lastCall() {
|
|
25310
|
+
previous = 0;
|
|
25311
|
+
result = func.apply(context, args);
|
|
25312
|
+
timeout = context = args = null;
|
|
25313
|
+
};
|
|
25314
|
+
|
|
25315
|
+
return function () {
|
|
25316
|
+
var now = Date.now();
|
|
25317
|
+
if (!previous) previous = now; // Sets up so that the function isn't called immediately
|
|
25318
|
+
|
|
25319
|
+
var remaining = wait - (now - previous);
|
|
25320
|
+
context = this;
|
|
25321
|
+
args = arguments;
|
|
25322
|
+
|
|
25323
|
+
if (remaining <= 0 || remaining > wait) {
|
|
25324
|
+
if (timeout) {
|
|
25325
|
+
clearTimeout(timeout);
|
|
25326
|
+
timeout = null;
|
|
25327
|
+
}
|
|
25328
|
+
|
|
25329
|
+
previous = now;
|
|
25330
|
+
result = func.apply(context, args);
|
|
25331
|
+
if (!timeout) context = args = null;
|
|
25332
|
+
} else if (!timeout) {
|
|
25333
|
+
timeout = setTimeout(lastCall, remaining);
|
|
25334
|
+
}
|
|
25335
|
+
|
|
25336
|
+
return result;
|
|
25337
|
+
};
|
|
25338
|
+
} // This rather strange set of functions is designed to support the API:
|
|
25339
|
+
// sszvis.viewport.on('resize', callback);
|
|
25340
|
+
// While still enabling the user to register multiple callbacks for the 'resize'
|
|
25341
|
+
// event. Multiple callbacks are a feature which simply returning a d3.dispatch('resize')
|
|
25342
|
+
// object would not allow.
|
|
25343
|
+
|
|
25344
|
+
|
|
25345
|
+
var callbacks = {
|
|
25346
|
+
resize: []
|
|
25347
|
+
};
|
|
25348
|
+
|
|
25349
|
+
if (typeof window !== "undefined") {
|
|
25350
|
+
d3.select(window).on("resize", throttle(500, function () {
|
|
25351
|
+
trigger("resize");
|
|
25352
|
+
}));
|
|
25353
|
+
}
|
|
25354
|
+
|
|
25355
|
+
var on = function on(name, cb) {
|
|
25356
|
+
if (!callbacks[name]) {
|
|
25357
|
+
callbacks[name] = [];
|
|
25358
|
+
}
|
|
25359
|
+
|
|
25360
|
+
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
25361
|
+
return fn !== cb;
|
|
25362
|
+
}).concat(cb);
|
|
25363
|
+
return this;
|
|
25364
|
+
};
|
|
25365
|
+
|
|
25366
|
+
var off = function off(name, cb) {
|
|
25367
|
+
if (!callbacks[name]) {
|
|
25368
|
+
return this;
|
|
25369
|
+
}
|
|
25370
|
+
|
|
25371
|
+
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
25372
|
+
return fn !== cb;
|
|
25373
|
+
});
|
|
25374
|
+
return this;
|
|
25375
|
+
};
|
|
25376
|
+
|
|
25377
|
+
var trigger = function trigger(name) {
|
|
25378
|
+
var evtArgs = Array.prototype.slice.call(arguments, 1);
|
|
25379
|
+
|
|
25380
|
+
if (callbacks[name]) {
|
|
25381
|
+
callbacks[name].forEach(function (fn) {
|
|
25382
|
+
fn.apply(null, evtArgs);
|
|
25383
|
+
});
|
|
25384
|
+
}
|
|
25385
|
+
|
|
25386
|
+
return this;
|
|
25387
|
+
};
|
|
25388
|
+
|
|
25389
|
+
var viewport = {
|
|
25390
|
+
on: on,
|
|
25391
|
+
off: off,
|
|
25392
|
+
trigger: trigger
|
|
25393
|
+
};
|
|
25394
|
+
|
|
26461
25395
|
exports.AGGLOMERATION_2012_KEY = AGGLOMERATION_2012_KEY;
|
|
26462
25396
|
exports.DEFAULT_LEGEND_COLOR_ORDINAL_ROW_HEIGHT = DEFAULT_LEGEND_COLOR_ORDINAL_ROW_HEIGHT;
|
|
26463
25397
|
exports.DEFAULT_WIDTH = DEFAULT_WIDTH;
|
|
@@ -26474,7 +25408,6 @@ var sszvis = _commonjsHelpers.createCommonjsModule(function (module, exports) {
|
|
|
26474
25408
|
exports.annotationRangeRuler = rangeRuler;
|
|
26475
25409
|
exports.annotationRectangle = rectangle;
|
|
26476
25410
|
exports.annotationRuler = ruler;
|
|
26477
|
-
exports.app = app;
|
|
26478
25411
|
exports.arity = arity;
|
|
26479
25412
|
exports.aspectRatio = aspectRatio;
|
|
26480
25413
|
exports.aspectRatio12to5 = aspectRatio12to5;
|
|
@@ -27156,7 +26089,7 @@ const topojson = /*#__PURE__*/Object.freeze({
|
|
|
27156
26089
|
untransform: untransform
|
|
27157
26090
|
});
|
|
27158
26091
|
|
|
27159
|
-
const stzhChartCss = "@charset \"UTF-8\";:host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sszvis-outer-container{clear:both;position:relative}.sszvis-svg-layer{position:relative}.sszvis-html-layer{position:absolute}.sszvis-fallback-image{display:block;margin:0 auto;max-width:32.25rem;width:100%}.sszvis-interactive{cursor:default;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-touch-callout:none}.sszvis-interactive.sszvis-interactive--draggable{cursor:pointer;cursor:grab;cursor:-webkit-grab}.sszvis-interactive.sszvis-interactive--draggable:active{cursor:grabbing;cursor:-webkit-grabbing}:root{--stzh-font:var(--stzh-font-family-regular, \"Helvetica Neue\", Helvetica, Arial, sans-serif)}.sszvis-axis text{fill:#767676;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-axis path,.sszvis-axis line{fill:none;stroke:#b8b8b8;shape-rendering:crispEdges}.sszvis-axis .tick text.active{fill:#545454}.sszvis-axis .tick text.hidden{display:none}.sszvis-axis .tick line.hidden{display:none}.sszvis-axis.sszvis-axis--top path{display:none}.sszvis-axis.sszvis-axis--vertical path{display:none}.sszvis-axis.sszvis-axis--slider path{stroke:none}.sszvis-axis__label-contour{fill:#ffffff;opacity:0.8;stroke:#ffffff;stroke-width:3}.sszvis-bar--missing{stroke:#a4a4a4}.sszvis-line{fill:none;stroke-width:1.1}.sszvis-pyramid__referenceline{fill:none;stroke:#aaa;stroke-width:2;stroke-dasharray:3 3}.sszvis-sankey-label{alignment-baseline:central;dominant-baseline:central;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-sankey-strong-label{fill:#545454}.sszvis-sankey-weak-label{fill:#767676}.sszvis-sankey-column-label{text-anchor:middle}.sszvis-sankey-column-label-tick{stroke:#b8b8b8}.sszvis-sankey-link-source-label{text-anchor:start}.sszvis-sankey-link-target-label{text-anchor:end}.sszvis-map__area{stroke:none}.sszvis-map__border{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__highlight{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakezurich{pointer-events:none;stroke:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakepath{fill:none;pointer-events:none;stroke:#d3d3d3;stroke-width:1.25;stroke-dasharray:3 3;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__geojsonelement{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__image{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__rasterimage{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup{display:inline-block;position:absolute;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup__item{background-color:#ffffff;border:0.0625rem solid #767676;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#767676;cursor:pointer;display:table-cell;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;line-height:normal;padding:0.5625rem 0.75rem;text-align:center;vertical-align:middle}.sszvis-control-buttonGroup__item.selected{background-color:#767676;color:#ffffff}.sszvis-control-buttonGroup__item:first-child{border-left:0.0625rem solid #767676;border-top-left-radius:0.1875rem;border-bottom-left-radius:0.1875rem}.sszvis-control-buttonGroup__item:last-child{border-top-right-radius:0.1875rem;border-bottom-right-radius:0.1875rem}.sszvis-control-select{border:0.0625rem solid #767676;border-radius:0.1875rem;background-color:#ffffff;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABQElEQVR4nO3TzW2DUBDEcZdACSnBpe1lVhzdCSXZnaQE55JJSOJgMO9rH/OTOK70/iNxOomIiIiIiMi3cRzfar8hlc0tAM4A3gFMeZ5UDoDps+W86sDMBgBXd7+7+z3yCACmWcfVzIbFg9/xkUeYx68a4b/4iCM8in86wlJ8pBGW4ucj/Dhy98uzowgjrImffZevQzMb3P0WeYSN8bc/v0HkEXbHU8QRksVTpBGSx1OEEbLFU8sjZI+nFkcoFk8tjVA8nloYoVo81RyhejzVGKGZeCo5QnPxVGKEZuMp5wjNx1OOEcLEU8oRwsVTihHCxtOeEcLH0ysjdBNPW0foKp4yjBAnnhKOEC+eEowQN552jBA/nl4YoZ942jBCf/G0YoR+42lhhP7j6cEIx4mn2QjHiyczGw4bLyIiIiIiUtMHjJmBk7uXEiAAAAAASUVORK5CYII=\");background-position:96% 51%;background-repeat:no-repeat;background-size:0.75rem 0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:2.125rem;overflow:hidden}.sszvis-control-select__element{background:transparent;border:0.0625rem solid #ffffff;color:#767676;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:1rem;height:2.125rem;outline:0}.sszvis-control-select__element:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.sszvis-control-select__metrics{font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;height:auto;position:absolute;visibility:hidden;width:auto;white-space:nowrap}.sszvis-control-slider__handle{cursor:pointer}.sszvis-control-slider--label{fill:#545454;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;text-anchor:middle}.sszvis-control-slider__handlebox{fill:#fff;stroke:#545454}.sszvis-control-slider__handleline{stroke:#545454}.sszvis-handleRuler__handle{fill:#ffffff;stroke:#808184}.sszvis-handleRuler__handle-mark{stroke:#a6a8ab}.sszvis-ruler__rule{shape-rendering:crispEdges;stroke:#cccccc}.sszvis-ruler__dot{stroke:#ffffff;stroke-width:1.5}.sszvis-ruler__label,.sszvis-ruler__label-outline{font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;font-style:normal;font-weight:normal}.sszvis-ruler__label{fill:#545454}.sszvis-ruler__label-outline{stroke:#ffffff;stroke-width:3}.sszvis-rangeFlag__mark{fill:#efefef;stroke:#7c7c7c;stroke-width:1.5}.sszvis-rangeRuler__rule{opacity:0.25;shape-rendering:crispEdges;stroke:#000000}.sszvis-rangeRuler__p1,.sszvis-rangeRuler__p2{fill:#000000;opacity:0.25}.sszvis-rangeRuler__label,.sszvis-rangeRuler__total{font-size:0.625rem;fill:#545454;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-style:normal}.sszvis-tooltip{min-width:3.75rem;position:absolute}.sszvis-tooltip__background{position:absolute}.sszvis-tooltip__background path{fill:rgba(255, 255, 255, 0.9)}.sszvis-tooltip__background.sszvis-tooltip__background--fallback path{stroke:#ddd;stroke-width:1}.sszvis-tooltip__content{font-family:Arial;padding:0.625rem 0.625rem 0.4375rem 0.625rem;position:relative;white-space:nowrap;z-index:1}.sszvis-tooltip__content strong{font-weight:bold}.sszvis-tooltip__content em{font-weight:bold}.sszvis-tooltip__header{color:#545454;font-size:0.75rem;line-height:1.3333;vertical-align:middle}.sszvis-tooltip__body{color:#7c7c7c;font-size:0.6875rem;line-height:1.4545;vertical-align:middle}.sszvis-tooltip--small .sszvis-tooltip__content{padding:0.375rem 0.625rem 0.25rem 0.625rem;text-align:center}.sszvis-tooltip__body__table,.sszvis-tooltip__body__table td{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:top}.sszvis-tooltip__body__table{border:none !important;border-collapse:collapse;border-spacing:0;min-width:7.5rem;margin-top:0.375rem;width:100%}.sszvis-tooltip__body__table tr{border-top:0.0625rem solid #e5e6e7}.sszvis-tooltip__body__table td{border:none !important;padding:0.4375rem 0.5em 0.4375rem 0 !important;text-align:left;vertical-align:top}.sszvis-tooltip__body__table tr:last-child td{padding-bottom:0.1875rem}.sszvis-tooltip__body__table td:last-child{color:#545454;font-weight:bold;padding-right:0;text-align:right}.sszvis-tooltipAnchor{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-referenceline{stroke-width:1.5;stroke:#aaa;stroke-dasharray:3 3}.sszvis-referenceline__caption{fill:#7c7c7c;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.6875rem;text-anchor:middle;-webkit-backface-visibility:hidden}.sszvis-dataareacircle__caption{fill:#7c7c7c;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.6875rem;text-anchor:middle}.sszvis-dataarearectangle__caption{fill:#7c7c7c;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.6875rem;text-anchor:middle}.sszvis-legend__label{fill:#767676;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;font-style:normal;font-weight:normal;text-anchor:start}.sszvis-legend__label--small{fill:#767676;font-size:0.625rem}.sszvis-legend__axislabel{fill:#767676;font-family:\"Helvetica Neue\", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-legend__crispmark{shape-rendering:crispEdges}.sszvis-legend__greyline{fill:none;stroke:#b8b8b8;stroke-width:1.1}.sszvis-legend__dashedline{stroke:#cccccc;stroke-dasharray:2 3;stroke-width:1}stzh-chart{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}stzh-chart[hidden]{display:none}stzh-chart *,stzh-chart *::before,stzh-chart *::after{-webkit-box-sizing:border-box;box-sizing:border-box}";
|
|
26092
|
+
const stzhChartCss = "@charset \"UTF-8\";:host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sszvis-outer-container{clear:both;position:relative}.sszvis-svg-layer{position:relative}.sszvis-html-layer{position:absolute}.sszvis-fallback-image{display:block;margin:0 auto;max-width:32.25rem;width:100%}.sszvis-interactive{cursor:default;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-touch-callout:none}.sszvis-interactive.sszvis-interactive--draggable{cursor:pointer;cursor:grab;cursor:-webkit-grab}.sszvis-interactive.sszvis-interactive--draggable:active{cursor:grabbing;cursor:-webkit-grabbing}.sszvis-axis text{fill:#767676;font-family:Arial, sans-serif;font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-axis path,.sszvis-axis line{fill:none;stroke:#B8B8B8;shape-rendering:crispEdges}.sszvis-axis .tick text.active{fill:#545454}.sszvis-axis .tick text.hidden{display:none}.sszvis-axis .tick line.hidden{display:none}.sszvis-axis.sszvis-axis--top path{display:none}.sszvis-axis.sszvis-axis--vertical path{display:none}.sszvis-axis.sszvis-axis--slider path{stroke:none}.sszvis-axis__label-contour{fill:#FFFFFF;opacity:0.8;stroke:#FFFFFF;stroke-width:3}.sszvis-bar--missing{stroke:#A4A4A4}.sszvis-line{fill:none;stroke-width:1.1}.sszvis-pyramid__referenceline{fill:none;stroke:#aaa;stroke-width:2;stroke-dasharray:3 3}.sszvis-sankey-label{alignment-baseline:central;dominant-baseline:central;font-family:Arial, sans-serif;font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-sankey-strong-label{fill:#545454}.sszvis-sankey-weak-label{fill:#767676}.sszvis-sankey-column-label{text-anchor:middle}.sszvis-sankey-column-label-tick{stroke:#B8B8B8}.sszvis-sankey-link-source-label{text-anchor:start}.sszvis-sankey-link-target-label{text-anchor:end}.sszvis-map__area{stroke:none}.sszvis-map__border{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__highlight{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakezurich{pointer-events:none;stroke:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakepath{fill:none;pointer-events:none;stroke:#d3d3d3;stroke-width:1.25;stroke-dasharray:3 3;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__geojsonelement{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__image{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__rasterimage{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup{display:inline-block;position:absolute;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup__item{background-color:#FFFFFF;border:0.0625rem solid #767676;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#767676;cursor:pointer;display:table-cell;font-family:Arial, sans-serif;font-size:0.75rem;line-height:normal;padding:0.5625rem 0.75rem;text-align:center;vertical-align:middle}.sszvis-control-buttonGroup__item.selected{background-color:#767676;color:#FFFFFF}.sszvis-control-buttonGroup__item:first-child{border-left:0.0625rem solid #767676;border-top-left-radius:0.1875rem;border-bottom-left-radius:0.1875rem}.sszvis-control-buttonGroup__item:last-child{border-top-right-radius:0.1875rem;border-bottom-right-radius:0.1875rem}.sszvis-control-select{border:0.0625rem solid #767676;border-radius:0.1875rem;background-color:#FFFFFF;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABQElEQVR4nO3TzW2DUBDEcZdACSnBpe1lVhzdCSXZnaQE55JJSOJgMO9rH/OTOK70/iNxOomIiIiIiMi3cRzfar8hlc0tAM4A3gFMeZ5UDoDps+W86sDMBgBXd7+7+z3yCACmWcfVzIbFg9/xkUeYx68a4b/4iCM8in86wlJ8pBGW4ucj/Dhy98uzowgjrImffZevQzMb3P0WeYSN8bc/v0HkEXbHU8QRksVTpBGSx1OEEbLFU8sjZI+nFkcoFk8tjVA8nloYoVo81RyhejzVGKGZeCo5QnPxVGKEZuMp5wjNx1OOEcLEU8oRwsVTihHCxtOeEcLH0ysjdBNPW0foKp4yjBAnnhKOEC+eEowQN552jBA/nl4YoZ942jBCf/G0YoR+42lhhP7j6cEIx4mn2QjHiyczGw4bLyIiIiIiUtMHjJmBk7uXEiAAAAAASUVORK5CYII=\");background-position:96% 51%;background-repeat:no-repeat;background-size:0.75rem 0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:2.125rem;overflow:hidden}.sszvis-control-select__element{background:transparent;border:0.0625rem solid #FFFFFF;color:#767676;font-family:Arial, sans-serif;font-size:1rem;height:2.125rem;outline:0}.sszvis-control-select__element:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.sszvis-control-select__metrics{font-family:Arial, sans-serif;font-size:0.75rem;height:auto;position:absolute;visibility:hidden;width:auto;white-space:nowrap}.sszvis-control-slider__handle{cursor:pointer}.sszvis-control-slider--label{fill:#545454;font-family:Arial, sans-serif;font-size:0.625rem;text-anchor:middle}.sszvis-control-slider__handlebox{fill:#fff;stroke:#545454}.sszvis-control-slider__handleline{stroke:#545454}.sszvis-handleRuler__handle{fill:#FFFFFF;stroke:#808184}.sszvis-handleRuler__handle-mark{stroke:#A6A8AB}.sszvis-ruler__rule{shape-rendering:crispEdges;stroke:#CCCCCC}.sszvis-ruler__dot{stroke:#FFFFFF;stroke-width:1.5}.sszvis-ruler__label,.sszvis-ruler__label-outline{font-family:Arial, sans-serif;font-size:0.75rem;font-style:normal;font-weight:normal}.sszvis-ruler__label{fill:#545454}.sszvis-ruler__label-outline{stroke:#FFFFFF;stroke-width:3}.sszvis-rangeFlag__mark{fill:#EFEFEF;stroke:#7C7C7C;stroke-width:1.5}.sszvis-rangeRuler__rule{opacity:0.25;shape-rendering:crispEdges;stroke:#000000}.sszvis-rangeRuler__p1,.sszvis-rangeRuler__p2{fill:#000000;opacity:0.25}.sszvis-rangeRuler__label,.sszvis-rangeRuler__total{font-size:0.625rem;fill:#545454;font-family:Arial, sans-serif;font-style:normal}.sszvis-tooltip{min-width:3.75rem;position:absolute}.sszvis-tooltip__background{position:absolute}.sszvis-tooltip__background path{fill:rgba(255, 255, 255, 0.9)}.sszvis-tooltip__background.sszvis-tooltip__background--fallback path{stroke:#ddd;stroke-width:1}.sszvis-tooltip__content{font-family:Arial;padding:0.625rem 0.625rem 0.4375rem 0.625rem;position:relative;white-space:nowrap;z-index:1}.sszvis-tooltip__content strong{font-weight:bold}.sszvis-tooltip__content em{font-weight:bold}.sszvis-tooltip__header{color:#545454;font-size:0.75rem;line-height:1.3333;vertical-align:middle}.sszvis-tooltip__body{color:#7C7C7C;font-size:0.6875rem;line-height:1.4545;vertical-align:middle}.sszvis-tooltip--small .sszvis-tooltip__content{padding:0.375rem 0.625rem 0.25rem 0.625rem;text-align:center}.sszvis-tooltip__body__table,.sszvis-tooltip__body__table td{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:top}.sszvis-tooltip__body__table{border:none !important;border-collapse:collapse;border-spacing:0;min-width:7.5rem;margin-top:0.375rem;width:100%}.sszvis-tooltip__body__table tr{border-top:0.0625rem solid #E5E6E7}.sszvis-tooltip__body__table td{border:none !important;padding:0.4375rem 0.5em 0.4375rem 0 !important;text-align:left;vertical-align:top}.sszvis-tooltip__body__table tr:last-child td{padding-bottom:0.1875rem}.sszvis-tooltip__body__table td:last-child{color:#545454;font-weight:bold;padding-right:0;text-align:right}.sszvis-tooltipAnchor{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-referenceline{stroke-width:1.5;stroke:#aaa;stroke-dasharray:3 3}.sszvis-referenceline__caption{fill:#7C7C7C;font-family:Arial, sans-serif;font-size:0.6875rem;text-anchor:middle;-webkit-backface-visibility:hidden}.sszvis-dataareacircle__caption{fill:#7C7C7C;font-family:Arial, sans-serif;font-size:0.6875rem;text-anchor:middle}.sszvis-dataarearectangle__caption{fill:#7C7C7C;font-family:Arial, sans-serif;font-size:0.6875rem;text-anchor:middle}.sszvis-legend__label{fill:#767676;font-family:Arial, sans-serif;font-size:0.75rem;font-style:normal;font-weight:normal;text-anchor:start}.sszvis-legend__label--small{fill:#767676;font-size:0.625rem}.sszvis-legend__axislabel{fill:#767676;font-family:Arial, sans-serif;font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-legend__crispmark{shape-rendering:crispEdges}.sszvis-legend__greyline{fill:none;stroke:#B8B8B8;stroke-width:1.1}.sszvis-legend__dashedline{stroke:#CCCCCC;stroke-dasharray:2 3;stroke-width:1}stzh-chart{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}stzh-chart[hidden]{display:none}stzh-chart *,stzh-chart *::before,stzh-chart *::after{-webkit-box-sizing:border-box;box-sizing:border-box}";
|
|
27160
26093
|
|
|
27161
26094
|
const StzhChart = class {
|
|
27162
26095
|
constructor(hostRef) {
|