@oiz/stzh-components 2.3.0-alpha → 2.3.0-beta
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-335f1552.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-d8ec4e57.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-d8ec4e57.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-705aa56d.entry.js → p-32a03d1c.entry.js} +1 -1
- package/dist/stzh-components/p-3327aeae.system.js +1 -0
- package/dist/stzh-components/p-37920e74.system.entry.js +1 -0
- package/dist/stzh-components/p-3f954bc3.system.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-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-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-ec0654ed.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
|
@@ -5032,10 +5032,10 @@ function ribbon() {
|
|
|
5032
5032
|
|
|
5033
5033
|
var prefix = "$";
|
|
5034
5034
|
|
|
5035
|
-
function Map
|
|
5035
|
+
function Map() {}
|
|
5036
5036
|
|
|
5037
|
-
Map
|
|
5038
|
-
constructor: Map
|
|
5037
|
+
Map.prototype = map$1.prototype = {
|
|
5038
|
+
constructor: Map,
|
|
5039
5039
|
has: function(key) {
|
|
5040
5040
|
return (prefix + key) in this;
|
|
5041
5041
|
},
|
|
@@ -5083,10 +5083,10 @@ Map$1.prototype = map$1.prototype = {
|
|
|
5083
5083
|
};
|
|
5084
5084
|
|
|
5085
5085
|
function map$1(object, f) {
|
|
5086
|
-
var map = new Map
|
|
5086
|
+
var map = new Map;
|
|
5087
5087
|
|
|
5088
5088
|
// Copy constructor.
|
|
5089
|
-
if (object instanceof Map
|
|
5089
|
+
if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });
|
|
5090
5090
|
|
|
5091
5091
|
// Index array by numeric index or specified key function.
|
|
5092
5092
|
else if (Array.isArray(object)) {
|
|
@@ -5176,12 +5176,12 @@ function setMap(map, key, value) {
|
|
|
5176
5176
|
map.set(key, value);
|
|
5177
5177
|
}
|
|
5178
5178
|
|
|
5179
|
-
function Set
|
|
5179
|
+
function Set() {}
|
|
5180
5180
|
|
|
5181
5181
|
var proto = map$1.prototype;
|
|
5182
5182
|
|
|
5183
|
-
Set
|
|
5184
|
-
constructor: Set
|
|
5183
|
+
Set.prototype = set.prototype = {
|
|
5184
|
+
constructor: Set,
|
|
5185
5185
|
has: proto.has,
|
|
5186
5186
|
add: function(value) {
|
|
5187
5187
|
value += "";
|
|
@@ -5197,10 +5197,10 @@ Set$1.prototype = set.prototype = {
|
|
|
5197
5197
|
};
|
|
5198
5198
|
|
|
5199
5199
|
function set(object, f) {
|
|
5200
|
-
var set = new Set
|
|
5200
|
+
var set = new Set;
|
|
5201
5201
|
|
|
5202
5202
|
// Copy constructor.
|
|
5203
|
-
if (object instanceof Set
|
|
5203
|
+
if (object instanceof Set) object.each(function(value) { set.add(value); });
|
|
5204
5204
|
|
|
5205
5205
|
// Otherwise, assume it’s an array.
|
|
5206
5206
|
else if (object) {
|
|
@@ -17155,945 +17155,46 @@ const d3 = /*#__PURE__*/Object.freeze({
|
|
|
17155
17155
|
const require$$0 = /*@__PURE__*/getAugmentedNamespace(d3);
|
|
17156
17156
|
|
|
17157
17157
|
var sszvis = createCommonjsModule(function (module, exports) {
|
|
17158
|
-
/*! sszvis v2.
|
|
17158
|
+
/*! sszvis v2.1.1, Copyright 2014-present Statistik Stadt Zürich */
|
|
17159
17159
|
(function (global, factory) {
|
|
17160
17160
|
factory(exports, require$$0) ;
|
|
17161
17161
|
}(commonjsGlobal, (function (exports, d3) {
|
|
17162
|
-
var d3__default = 'default' in d3 ? d3['default'] : d3;
|
|
17163
|
-
|
|
17164
|
-
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);
|
|
17165
|
-
|
|
17166
17162
|
/**
|
|
17167
|
-
*
|
|
17163
|
+
* d3.selection plugin to simplify creating idempotent divs that are not
|
|
17164
|
+
* recreated when rendered again.
|
|
17165
|
+
*
|
|
17166
|
+
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
17167
|
+
*
|
|
17168
|
+
* @param {String} key - the name of the group
|
|
17169
|
+
* @return {d3.selection}
|
|
17168
17170
|
*/
|
|
17169
|
-
function finallyConstructor(callback) {
|
|
17170
|
-
var constructor = this.constructor;
|
|
17171
|
-
return this.then(
|
|
17172
|
-
function(value) {
|
|
17173
|
-
// @ts-ignore
|
|
17174
|
-
return constructor.resolve(callback()).then(function() {
|
|
17175
|
-
return value;
|
|
17176
|
-
});
|
|
17177
|
-
},
|
|
17178
|
-
function(reason) {
|
|
17179
|
-
// @ts-ignore
|
|
17180
|
-
return constructor.resolve(callback()).then(function() {
|
|
17181
|
-
// @ts-ignore
|
|
17182
|
-
return constructor.reject(reason);
|
|
17183
|
-
});
|
|
17184
|
-
}
|
|
17185
|
-
);
|
|
17186
|
-
}
|
|
17187
|
-
|
|
17188
|
-
// Store setTimeout reference so promise-polyfill will be unaffected by
|
|
17189
|
-
// other code modifying setTimeout (like sinon.useFakeTimers())
|
|
17190
|
-
var setTimeoutFunc = setTimeout;
|
|
17191
|
-
|
|
17192
|
-
function isArray(x) {
|
|
17193
|
-
return Boolean(x && typeof x.length !== 'undefined');
|
|
17194
|
-
}
|
|
17195
17171
|
|
|
17196
|
-
function
|
|
17197
|
-
|
|
17198
|
-
|
|
17199
|
-
function bind(fn, thisArg) {
|
|
17200
|
-
return function() {
|
|
17201
|
-
fn.apply(thisArg, arguments);
|
|
17202
|
-
};
|
|
17203
|
-
}
|
|
17204
|
-
|
|
17205
|
-
/**
|
|
17206
|
-
* @constructor
|
|
17207
|
-
* @param {Function} fn
|
|
17208
|
-
*/
|
|
17209
|
-
function Promise$1(fn) {
|
|
17210
|
-
if (!(this instanceof Promise$1))
|
|
17211
|
-
throw new TypeError('Promises must be constructed via new');
|
|
17212
|
-
if (typeof fn !== 'function') throw new TypeError('not a function');
|
|
17213
|
-
/** @type {!number} */
|
|
17214
|
-
this._state = 0;
|
|
17215
|
-
/** @type {!boolean} */
|
|
17216
|
-
this._handled = false;
|
|
17217
|
-
/** @type {Promise|undefined} */
|
|
17218
|
-
this._value = undefined;
|
|
17219
|
-
/** @type {!Array<!Function>} */
|
|
17220
|
-
this._deferreds = [];
|
|
17221
|
-
|
|
17222
|
-
doResolve(fn, this);
|
|
17223
|
-
}
|
|
17224
|
-
|
|
17225
|
-
function handle(self, deferred) {
|
|
17226
|
-
while (self._state === 3) {
|
|
17227
|
-
self = self._value;
|
|
17228
|
-
}
|
|
17229
|
-
if (self._state === 0) {
|
|
17230
|
-
self._deferreds.push(deferred);
|
|
17231
|
-
return;
|
|
17232
|
-
}
|
|
17233
|
-
self._handled = true;
|
|
17234
|
-
Promise$1._immediateFn(function() {
|
|
17235
|
-
var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
|
|
17236
|
-
if (cb === null) {
|
|
17237
|
-
(self._state === 1 ? resolve : reject)(deferred.promise, self._value);
|
|
17238
|
-
return;
|
|
17239
|
-
}
|
|
17240
|
-
var ret;
|
|
17241
|
-
try {
|
|
17242
|
-
ret = cb(self._value);
|
|
17243
|
-
} catch (e) {
|
|
17244
|
-
reject(deferred.promise, e);
|
|
17245
|
-
return;
|
|
17246
|
-
}
|
|
17247
|
-
resolve(deferred.promise, ret);
|
|
17172
|
+
d3.selection.prototype.selectDiv = function (key) {
|
|
17173
|
+
var div = this.selectAll('[data-d3-selectdiv="' + key + '"]').data(function (d) {
|
|
17174
|
+
return [d];
|
|
17248
17175
|
});
|
|
17249
|
-
|
|
17250
|
-
|
|
17251
|
-
|
|
17252
|
-
try {
|
|
17253
|
-
// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
|
|
17254
|
-
if (newValue === self)
|
|
17255
|
-
throw new TypeError('A promise cannot be resolved with itself.');
|
|
17256
|
-
if (
|
|
17257
|
-
newValue &&
|
|
17258
|
-
(typeof newValue === 'object' || typeof newValue === 'function')
|
|
17259
|
-
) {
|
|
17260
|
-
var then = newValue.then;
|
|
17261
|
-
if (newValue instanceof Promise$1) {
|
|
17262
|
-
self._state = 3;
|
|
17263
|
-
self._value = newValue;
|
|
17264
|
-
finale(self);
|
|
17265
|
-
return;
|
|
17266
|
-
} else if (typeof then === 'function') {
|
|
17267
|
-
doResolve(bind(then, newValue), self);
|
|
17268
|
-
return;
|
|
17269
|
-
}
|
|
17270
|
-
}
|
|
17271
|
-
self._state = 1;
|
|
17272
|
-
self._value = newValue;
|
|
17273
|
-
finale(self);
|
|
17274
|
-
} catch (e) {
|
|
17275
|
-
reject(self, e);
|
|
17276
|
-
}
|
|
17277
|
-
}
|
|
17278
|
-
|
|
17279
|
-
function reject(self, newValue) {
|
|
17280
|
-
self._state = 2;
|
|
17281
|
-
self._value = newValue;
|
|
17282
|
-
finale(self);
|
|
17283
|
-
}
|
|
17284
|
-
|
|
17285
|
-
function finale(self) {
|
|
17286
|
-
if (self._state === 2 && self._deferreds.length === 0) {
|
|
17287
|
-
Promise$1._immediateFn(function() {
|
|
17288
|
-
if (!self._handled) {
|
|
17289
|
-
Promise$1._unhandledRejectionFn(self._value);
|
|
17290
|
-
}
|
|
17291
|
-
});
|
|
17292
|
-
}
|
|
17293
|
-
|
|
17294
|
-
for (var i = 0, len = self._deferreds.length; i < len; i++) {
|
|
17295
|
-
handle(self, self._deferreds[i]);
|
|
17296
|
-
}
|
|
17297
|
-
self._deferreds = null;
|
|
17298
|
-
}
|
|
17299
|
-
|
|
17300
|
-
/**
|
|
17301
|
-
* @constructor
|
|
17302
|
-
*/
|
|
17303
|
-
function Handler(onFulfilled, onRejected, promise) {
|
|
17304
|
-
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
|
17305
|
-
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
|
17306
|
-
this.promise = promise;
|
|
17307
|
-
}
|
|
17176
|
+
var newDiv = div.enter().append("div").attr("data-d3-selectdiv", key).style("position", "absolute");
|
|
17177
|
+
return div.merge(newDiv);
|
|
17178
|
+
};
|
|
17308
17179
|
|
|
17309
17180
|
/**
|
|
17310
|
-
*
|
|
17311
|
-
*
|
|
17181
|
+
* d3.selection plugin to simplify creating idempotent groups that are not
|
|
17182
|
+
* recreated when rendered again.
|
|
17183
|
+
*
|
|
17184
|
+
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
17312
17185
|
*
|
|
17313
|
-
*
|
|
17186
|
+
* @param {String} key The name of the group
|
|
17187
|
+
* @return {d3.selection}
|
|
17314
17188
|
*/
|
|
17315
|
-
function doResolve(fn, self) {
|
|
17316
|
-
var done = false;
|
|
17317
|
-
try {
|
|
17318
|
-
fn(
|
|
17319
|
-
function(value) {
|
|
17320
|
-
if (done) return;
|
|
17321
|
-
done = true;
|
|
17322
|
-
resolve(self, value);
|
|
17323
|
-
},
|
|
17324
|
-
function(reason) {
|
|
17325
|
-
if (done) return;
|
|
17326
|
-
done = true;
|
|
17327
|
-
reject(self, reason);
|
|
17328
|
-
}
|
|
17329
|
-
);
|
|
17330
|
-
} catch (ex) {
|
|
17331
|
-
if (done) return;
|
|
17332
|
-
done = true;
|
|
17333
|
-
reject(self, ex);
|
|
17334
|
-
}
|
|
17335
|
-
}
|
|
17336
17189
|
|
|
17337
|
-
|
|
17338
|
-
|
|
17339
|
-
|
|
17340
|
-
|
|
17341
|
-
Promise$1.prototype.then = function(onFulfilled, onRejected) {
|
|
17342
|
-
// @ts-ignore
|
|
17343
|
-
var prom = new this.constructor(noop);
|
|
17344
|
-
|
|
17345
|
-
handle(this, new Handler(onFulfilled, onRejected, prom));
|
|
17346
|
-
return prom;
|
|
17347
|
-
};
|
|
17348
|
-
|
|
17349
|
-
Promise$1.prototype['finally'] = finallyConstructor;
|
|
17350
|
-
|
|
17351
|
-
Promise$1.all = function(arr) {
|
|
17352
|
-
return new Promise$1(function(resolve, reject) {
|
|
17353
|
-
if (!isArray(arr)) {
|
|
17354
|
-
return reject(new TypeError('Promise.all accepts an array'));
|
|
17355
|
-
}
|
|
17356
|
-
|
|
17357
|
-
var args = Array.prototype.slice.call(arr);
|
|
17358
|
-
if (args.length === 0) return resolve([]);
|
|
17359
|
-
var remaining = args.length;
|
|
17360
|
-
|
|
17361
|
-
function res(i, val) {
|
|
17362
|
-
try {
|
|
17363
|
-
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
|
17364
|
-
var then = val.then;
|
|
17365
|
-
if (typeof then === 'function') {
|
|
17366
|
-
then.call(
|
|
17367
|
-
val,
|
|
17368
|
-
function(val) {
|
|
17369
|
-
res(i, val);
|
|
17370
|
-
},
|
|
17371
|
-
reject
|
|
17372
|
-
);
|
|
17373
|
-
return;
|
|
17374
|
-
}
|
|
17375
|
-
}
|
|
17376
|
-
args[i] = val;
|
|
17377
|
-
if (--remaining === 0) {
|
|
17378
|
-
resolve(args);
|
|
17379
|
-
}
|
|
17380
|
-
} catch (ex) {
|
|
17381
|
-
reject(ex);
|
|
17382
|
-
}
|
|
17383
|
-
}
|
|
17384
|
-
|
|
17385
|
-
for (var i = 0; i < args.length; i++) {
|
|
17386
|
-
res(i, args[i]);
|
|
17387
|
-
}
|
|
17388
|
-
});
|
|
17389
|
-
};
|
|
17390
|
-
|
|
17391
|
-
Promise$1.resolve = function(value) {
|
|
17392
|
-
if (value && typeof value === 'object' && value.constructor === Promise$1) {
|
|
17393
|
-
return value;
|
|
17394
|
-
}
|
|
17395
|
-
|
|
17396
|
-
return new Promise$1(function(resolve) {
|
|
17397
|
-
resolve(value);
|
|
17398
|
-
});
|
|
17399
|
-
};
|
|
17400
|
-
|
|
17401
|
-
Promise$1.reject = function(value) {
|
|
17402
|
-
return new Promise$1(function(resolve, reject) {
|
|
17403
|
-
reject(value);
|
|
17404
|
-
});
|
|
17405
|
-
};
|
|
17406
|
-
|
|
17407
|
-
Promise$1.race = function(arr) {
|
|
17408
|
-
return new Promise$1(function(resolve, reject) {
|
|
17409
|
-
if (!isArray(arr)) {
|
|
17410
|
-
return reject(new TypeError('Promise.race accepts an array'));
|
|
17411
|
-
}
|
|
17412
|
-
|
|
17413
|
-
for (var i = 0, len = arr.length; i < len; i++) {
|
|
17414
|
-
Promise$1.resolve(arr[i]).then(resolve, reject);
|
|
17415
|
-
}
|
|
17416
|
-
});
|
|
17417
|
-
};
|
|
17418
|
-
|
|
17419
|
-
// Use polyfill for setImmediate for performance gains
|
|
17420
|
-
Promise$1._immediateFn =
|
|
17421
|
-
// @ts-ignore
|
|
17422
|
-
(typeof setImmediate === 'function' &&
|
|
17423
|
-
function(fn) {
|
|
17424
|
-
// @ts-ignore
|
|
17425
|
-
setImmediate(fn);
|
|
17426
|
-
}) ||
|
|
17427
|
-
function(fn) {
|
|
17428
|
-
setTimeoutFunc(fn, 0);
|
|
17429
|
-
};
|
|
17430
|
-
|
|
17431
|
-
Promise$1._unhandledRejectionFn = function _unhandledRejectionFn(err) {
|
|
17432
|
-
if (typeof console !== 'undefined' && console) {
|
|
17433
|
-
console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console
|
|
17434
|
-
}
|
|
17435
|
-
};
|
|
17436
|
-
|
|
17437
|
-
/** @suppress {undefinedVars} */
|
|
17438
|
-
var globalNS = (function() {
|
|
17439
|
-
// the only reliable means to get the global object is
|
|
17440
|
-
// `Function('return this')()`
|
|
17441
|
-
// However, this causes CSP violations in Chrome apps.
|
|
17442
|
-
if (typeof self !== 'undefined') {
|
|
17443
|
-
return self;
|
|
17444
|
-
}
|
|
17445
|
-
if (typeof window !== 'undefined') {
|
|
17446
|
-
return window;
|
|
17447
|
-
}
|
|
17448
|
-
if (typeof commonjsGlobal !== 'undefined') {
|
|
17449
|
-
return commonjsGlobal;
|
|
17450
|
-
}
|
|
17451
|
-
throw new Error('unable to locate global object');
|
|
17452
|
-
})();
|
|
17453
|
-
|
|
17454
|
-
if (!('Promise' in globalNS)) {
|
|
17455
|
-
globalNS['Promise'] = Promise$1;
|
|
17456
|
-
} else if (!globalNS.Promise.prototype['finally']) {
|
|
17457
|
-
globalNS.Promise.prototype['finally'] = finallyConstructor;
|
|
17458
|
-
}
|
|
17459
|
-
|
|
17460
|
-
var global$1 = (function(self) {
|
|
17461
|
-
return self
|
|
17462
|
-
// eslint-disable-next-line no-invalid-this
|
|
17463
|
-
})(typeof self !== 'undefined' ? self : window);
|
|
17464
|
-
var support = {
|
|
17465
|
-
searchParams: 'URLSearchParams' in global$1,
|
|
17466
|
-
iterable: 'Symbol' in global$1 && 'iterator' in Symbol,
|
|
17467
|
-
blob:
|
|
17468
|
-
'FileReader' in global$1 &&
|
|
17469
|
-
'Blob' in global$1 &&
|
|
17470
|
-
(function() {
|
|
17471
|
-
try {
|
|
17472
|
-
new Blob();
|
|
17473
|
-
return true
|
|
17474
|
-
} catch (e) {
|
|
17475
|
-
return false
|
|
17476
|
-
}
|
|
17477
|
-
})(),
|
|
17478
|
-
formData: 'FormData' in global$1,
|
|
17479
|
-
arrayBuffer: 'ArrayBuffer' in global$1
|
|
17480
|
-
};
|
|
17481
|
-
|
|
17482
|
-
function isDataView(obj) {
|
|
17483
|
-
return obj && DataView.prototype.isPrototypeOf(obj)
|
|
17484
|
-
}
|
|
17485
|
-
|
|
17486
|
-
if (support.arrayBuffer) {
|
|
17487
|
-
var viewClasses = [
|
|
17488
|
-
'[object Int8Array]',
|
|
17489
|
-
'[object Uint8Array]',
|
|
17490
|
-
'[object Uint8ClampedArray]',
|
|
17491
|
-
'[object Int16Array]',
|
|
17492
|
-
'[object Uint16Array]',
|
|
17493
|
-
'[object Int32Array]',
|
|
17494
|
-
'[object Uint32Array]',
|
|
17495
|
-
'[object Float32Array]',
|
|
17496
|
-
'[object Float64Array]'
|
|
17497
|
-
];
|
|
17498
|
-
|
|
17499
|
-
var isArrayBufferView =
|
|
17500
|
-
ArrayBuffer.isView ||
|
|
17501
|
-
function(obj) {
|
|
17502
|
-
return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
|
|
17503
|
-
};
|
|
17504
|
-
}
|
|
17505
|
-
|
|
17506
|
-
function normalizeName(name) {
|
|
17507
|
-
if (typeof name !== 'string') {
|
|
17508
|
-
name = String(name);
|
|
17509
|
-
}
|
|
17510
|
-
if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {
|
|
17511
|
-
throw new TypeError('Invalid character in header field name')
|
|
17512
|
-
}
|
|
17513
|
-
return name.toLowerCase()
|
|
17514
|
-
}
|
|
17515
|
-
|
|
17516
|
-
function normalizeValue(value) {
|
|
17517
|
-
if (typeof value !== 'string') {
|
|
17518
|
-
value = String(value);
|
|
17519
|
-
}
|
|
17520
|
-
return value
|
|
17521
|
-
}
|
|
17522
|
-
|
|
17523
|
-
// Build a destructive iterator for the value list
|
|
17524
|
-
function iteratorFor(items) {
|
|
17525
|
-
var iterator = {
|
|
17526
|
-
next: function() {
|
|
17527
|
-
var value = items.shift();
|
|
17528
|
-
return {done: value === undefined, value: value}
|
|
17529
|
-
}
|
|
17530
|
-
};
|
|
17531
|
-
|
|
17532
|
-
if (support.iterable) {
|
|
17533
|
-
iterator[Symbol.iterator] = function() {
|
|
17534
|
-
return iterator
|
|
17535
|
-
};
|
|
17536
|
-
}
|
|
17537
|
-
|
|
17538
|
-
return iterator
|
|
17539
|
-
}
|
|
17540
|
-
|
|
17541
|
-
function Headers(headers) {
|
|
17542
|
-
this.map = {};
|
|
17543
|
-
|
|
17544
|
-
if (headers instanceof Headers) {
|
|
17545
|
-
headers.forEach(function(value, name) {
|
|
17546
|
-
this.append(name, value);
|
|
17547
|
-
}, this);
|
|
17548
|
-
} else if (Array.isArray(headers)) {
|
|
17549
|
-
headers.forEach(function(header) {
|
|
17550
|
-
this.append(header[0], header[1]);
|
|
17551
|
-
}, this);
|
|
17552
|
-
} else if (headers) {
|
|
17553
|
-
Object.getOwnPropertyNames(headers).forEach(function(name) {
|
|
17554
|
-
this.append(name, headers[name]);
|
|
17555
|
-
}, this);
|
|
17556
|
-
}
|
|
17557
|
-
}
|
|
17558
|
-
|
|
17559
|
-
Headers.prototype.append = function(name, value) {
|
|
17560
|
-
name = normalizeName(name);
|
|
17561
|
-
value = normalizeValue(value);
|
|
17562
|
-
var oldValue = this.map[name];
|
|
17563
|
-
this.map[name] = oldValue ? oldValue + ', ' + value : value;
|
|
17564
|
-
};
|
|
17565
|
-
|
|
17566
|
-
Headers.prototype['delete'] = function(name) {
|
|
17567
|
-
delete this.map[normalizeName(name)];
|
|
17568
|
-
};
|
|
17569
|
-
|
|
17570
|
-
Headers.prototype.get = function(name) {
|
|
17571
|
-
name = normalizeName(name);
|
|
17572
|
-
return this.has(name) ? this.map[name] : null
|
|
17573
|
-
};
|
|
17574
|
-
|
|
17575
|
-
Headers.prototype.has = function(name) {
|
|
17576
|
-
return this.map.hasOwnProperty(normalizeName(name))
|
|
17577
|
-
};
|
|
17578
|
-
|
|
17579
|
-
Headers.prototype.set = function(name, value) {
|
|
17580
|
-
this.map[normalizeName(name)] = normalizeValue(value);
|
|
17581
|
-
};
|
|
17582
|
-
|
|
17583
|
-
Headers.prototype.forEach = function(callback, thisArg) {
|
|
17584
|
-
for (var name in this.map) {
|
|
17585
|
-
if (this.map.hasOwnProperty(name)) {
|
|
17586
|
-
callback.call(thisArg, this.map[name], name, this);
|
|
17587
|
-
}
|
|
17588
|
-
}
|
|
17589
|
-
};
|
|
17590
|
-
|
|
17591
|
-
Headers.prototype.keys = function() {
|
|
17592
|
-
var items = [];
|
|
17593
|
-
this.forEach(function(value, name) {
|
|
17594
|
-
items.push(name);
|
|
17595
|
-
});
|
|
17596
|
-
return iteratorFor(items)
|
|
17597
|
-
};
|
|
17598
|
-
|
|
17599
|
-
Headers.prototype.values = function() {
|
|
17600
|
-
var items = [];
|
|
17601
|
-
this.forEach(function(value) {
|
|
17602
|
-
items.push(value);
|
|
17603
|
-
});
|
|
17604
|
-
return iteratorFor(items)
|
|
17605
|
-
};
|
|
17606
|
-
|
|
17607
|
-
Headers.prototype.entries = function() {
|
|
17608
|
-
var items = [];
|
|
17609
|
-
this.forEach(function(value, name) {
|
|
17610
|
-
items.push([name, value]);
|
|
17611
|
-
});
|
|
17612
|
-
return iteratorFor(items)
|
|
17613
|
-
};
|
|
17614
|
-
|
|
17615
|
-
if (support.iterable) {
|
|
17616
|
-
Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
|
|
17617
|
-
}
|
|
17618
|
-
|
|
17619
|
-
function consumed(body) {
|
|
17620
|
-
if (body.bodyUsed) {
|
|
17621
|
-
return Promise.reject(new TypeError('Already read'))
|
|
17622
|
-
}
|
|
17623
|
-
body.bodyUsed = true;
|
|
17624
|
-
}
|
|
17625
|
-
|
|
17626
|
-
function fileReaderReady(reader) {
|
|
17627
|
-
return new Promise(function(resolve, reject) {
|
|
17628
|
-
reader.onload = function() {
|
|
17629
|
-
resolve(reader.result);
|
|
17630
|
-
};
|
|
17631
|
-
reader.onerror = function() {
|
|
17632
|
-
reject(reader.error);
|
|
17633
|
-
};
|
|
17634
|
-
})
|
|
17635
|
-
}
|
|
17636
|
-
|
|
17637
|
-
function readBlobAsArrayBuffer(blob) {
|
|
17638
|
-
var reader = new FileReader();
|
|
17639
|
-
var promise = fileReaderReady(reader);
|
|
17640
|
-
reader.readAsArrayBuffer(blob);
|
|
17641
|
-
return promise
|
|
17642
|
-
}
|
|
17643
|
-
|
|
17644
|
-
function readBlobAsText(blob) {
|
|
17645
|
-
var reader = new FileReader();
|
|
17646
|
-
var promise = fileReaderReady(reader);
|
|
17647
|
-
reader.readAsText(blob);
|
|
17648
|
-
return promise
|
|
17649
|
-
}
|
|
17650
|
-
|
|
17651
|
-
function readArrayBufferAsText(buf) {
|
|
17652
|
-
var view = new Uint8Array(buf);
|
|
17653
|
-
var chars = new Array(view.length);
|
|
17654
|
-
|
|
17655
|
-
for (var i = 0; i < view.length; i++) {
|
|
17656
|
-
chars[i] = String.fromCharCode(view[i]);
|
|
17657
|
-
}
|
|
17658
|
-
return chars.join('')
|
|
17659
|
-
}
|
|
17660
|
-
|
|
17661
|
-
function bufferClone(buf) {
|
|
17662
|
-
if (buf.slice) {
|
|
17663
|
-
return buf.slice(0)
|
|
17664
|
-
} else {
|
|
17665
|
-
var view = new Uint8Array(buf.byteLength);
|
|
17666
|
-
view.set(new Uint8Array(buf));
|
|
17667
|
-
return view.buffer
|
|
17668
|
-
}
|
|
17669
|
-
}
|
|
17670
|
-
|
|
17671
|
-
function Body() {
|
|
17672
|
-
this.bodyUsed = false;
|
|
17673
|
-
|
|
17674
|
-
this._initBody = function(body) {
|
|
17675
|
-
/*
|
|
17676
|
-
fetch-mock wraps the Response object in an ES6 Proxy to
|
|
17677
|
-
provide useful test harness features such as flush. However, on
|
|
17678
|
-
ES5 browsers without fetch or Proxy support pollyfills must be used;
|
|
17679
|
-
the proxy-pollyfill is unable to proxy an attribute unless it exists
|
|
17680
|
-
on the object before the Proxy is created. This change ensures
|
|
17681
|
-
Response.bodyUsed exists on the instance, while maintaining the
|
|
17682
|
-
semantic of setting Request.bodyUsed in the constructor before
|
|
17683
|
-
_initBody is called.
|
|
17684
|
-
*/
|
|
17685
|
-
this.bodyUsed = this.bodyUsed;
|
|
17686
|
-
this._bodyInit = body;
|
|
17687
|
-
if (!body) {
|
|
17688
|
-
this._bodyText = '';
|
|
17689
|
-
} else if (typeof body === 'string') {
|
|
17690
|
-
this._bodyText = body;
|
|
17691
|
-
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
|
|
17692
|
-
this._bodyBlob = body;
|
|
17693
|
-
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
|
|
17694
|
-
this._bodyFormData = body;
|
|
17695
|
-
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
17696
|
-
this._bodyText = body.toString();
|
|
17697
|
-
} else if (support.arrayBuffer && support.blob && isDataView(body)) {
|
|
17698
|
-
this._bodyArrayBuffer = bufferClone(body.buffer);
|
|
17699
|
-
// IE 10-11 can't handle a DataView body.
|
|
17700
|
-
this._bodyInit = new Blob([this._bodyArrayBuffer]);
|
|
17701
|
-
} else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
|
|
17702
|
-
this._bodyArrayBuffer = bufferClone(body);
|
|
17703
|
-
} else {
|
|
17704
|
-
this._bodyText = body = Object.prototype.toString.call(body);
|
|
17705
|
-
}
|
|
17706
|
-
|
|
17707
|
-
if (!this.headers.get('content-type')) {
|
|
17708
|
-
if (typeof body === 'string') {
|
|
17709
|
-
this.headers.set('content-type', 'text/plain;charset=UTF-8');
|
|
17710
|
-
} else if (this._bodyBlob && this._bodyBlob.type) {
|
|
17711
|
-
this.headers.set('content-type', this._bodyBlob.type);
|
|
17712
|
-
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
17713
|
-
this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
|
|
17714
|
-
}
|
|
17715
|
-
}
|
|
17716
|
-
};
|
|
17717
|
-
|
|
17718
|
-
if (support.blob) {
|
|
17719
|
-
this.blob = function() {
|
|
17720
|
-
var rejected = consumed(this);
|
|
17721
|
-
if (rejected) {
|
|
17722
|
-
return rejected
|
|
17723
|
-
}
|
|
17724
|
-
|
|
17725
|
-
if (this._bodyBlob) {
|
|
17726
|
-
return Promise.resolve(this._bodyBlob)
|
|
17727
|
-
} else if (this._bodyArrayBuffer) {
|
|
17728
|
-
return Promise.resolve(new Blob([this._bodyArrayBuffer]))
|
|
17729
|
-
} else if (this._bodyFormData) {
|
|
17730
|
-
throw new Error('could not read FormData body as blob')
|
|
17731
|
-
} else {
|
|
17732
|
-
return Promise.resolve(new Blob([this._bodyText]))
|
|
17733
|
-
}
|
|
17734
|
-
};
|
|
17735
|
-
|
|
17736
|
-
this.arrayBuffer = function() {
|
|
17737
|
-
if (this._bodyArrayBuffer) {
|
|
17738
|
-
return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
|
|
17739
|
-
} else {
|
|
17740
|
-
return this.blob().then(readBlobAsArrayBuffer)
|
|
17741
|
-
}
|
|
17742
|
-
};
|
|
17743
|
-
}
|
|
17744
|
-
|
|
17745
|
-
this.text = function() {
|
|
17746
|
-
var rejected = consumed(this);
|
|
17747
|
-
if (rejected) {
|
|
17748
|
-
return rejected
|
|
17749
|
-
}
|
|
17750
|
-
|
|
17751
|
-
if (this._bodyBlob) {
|
|
17752
|
-
return readBlobAsText(this._bodyBlob)
|
|
17753
|
-
} else if (this._bodyArrayBuffer) {
|
|
17754
|
-
return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))
|
|
17755
|
-
} else if (this._bodyFormData) {
|
|
17756
|
-
throw new Error('could not read FormData body as text')
|
|
17757
|
-
} else {
|
|
17758
|
-
return Promise.resolve(this._bodyText)
|
|
17759
|
-
}
|
|
17760
|
-
};
|
|
17761
|
-
|
|
17762
|
-
if (support.formData) {
|
|
17763
|
-
this.formData = function() {
|
|
17764
|
-
return this.text().then(decode)
|
|
17765
|
-
};
|
|
17766
|
-
}
|
|
17767
|
-
|
|
17768
|
-
this.json = function() {
|
|
17769
|
-
return this.text().then(JSON.parse)
|
|
17770
|
-
};
|
|
17771
|
-
|
|
17772
|
-
return this
|
|
17773
|
-
}
|
|
17774
|
-
|
|
17775
|
-
// HTTP methods whose capitalization should be normalized
|
|
17776
|
-
var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];
|
|
17777
|
-
|
|
17778
|
-
function normalizeMethod(method) {
|
|
17779
|
-
var upcased = method.toUpperCase();
|
|
17780
|
-
return methods.indexOf(upcased) > -1 ? upcased : method
|
|
17781
|
-
}
|
|
17782
|
-
|
|
17783
|
-
function Request(input, options) {
|
|
17784
|
-
options = options || {};
|
|
17785
|
-
var body = options.body;
|
|
17786
|
-
|
|
17787
|
-
if (input instanceof Request) {
|
|
17788
|
-
if (input.bodyUsed) {
|
|
17789
|
-
throw new TypeError('Already read')
|
|
17790
|
-
}
|
|
17791
|
-
this.url = input.url;
|
|
17792
|
-
this.credentials = input.credentials;
|
|
17793
|
-
if (!options.headers) {
|
|
17794
|
-
this.headers = new Headers(input.headers);
|
|
17795
|
-
}
|
|
17796
|
-
this.method = input.method;
|
|
17797
|
-
this.mode = input.mode;
|
|
17798
|
-
this.signal = input.signal;
|
|
17799
|
-
if (!body && input._bodyInit != null) {
|
|
17800
|
-
body = input._bodyInit;
|
|
17801
|
-
input.bodyUsed = true;
|
|
17802
|
-
}
|
|
17803
|
-
} else {
|
|
17804
|
-
this.url = String(input);
|
|
17805
|
-
}
|
|
17806
|
-
|
|
17807
|
-
this.credentials = options.credentials || this.credentials || 'same-origin';
|
|
17808
|
-
if (options.headers || !this.headers) {
|
|
17809
|
-
this.headers = new Headers(options.headers);
|
|
17810
|
-
}
|
|
17811
|
-
this.method = normalizeMethod(options.method || this.method || 'GET');
|
|
17812
|
-
this.mode = options.mode || this.mode || null;
|
|
17813
|
-
this.signal = options.signal || this.signal;
|
|
17814
|
-
this.referrer = null;
|
|
17815
|
-
|
|
17816
|
-
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
|
|
17817
|
-
throw new TypeError('Body not allowed for GET or HEAD requests')
|
|
17818
|
-
}
|
|
17819
|
-
this._initBody(body);
|
|
17820
|
-
|
|
17821
|
-
if (this.method === 'GET' || this.method === 'HEAD') {
|
|
17822
|
-
if (options.cache === 'no-store' || options.cache === 'no-cache') {
|
|
17823
|
-
// Search for a '_' parameter in the query string
|
|
17824
|
-
var reParamSearch = /([?&])_=[^&]*/;
|
|
17825
|
-
if (reParamSearch.test(this.url)) {
|
|
17826
|
-
// If it already exists then set the value with the current time
|
|
17827
|
-
this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());
|
|
17828
|
-
} else {
|
|
17829
|
-
// Otherwise add a new '_' parameter to the end with the current time
|
|
17830
|
-
var reQueryString = /\?/;
|
|
17831
|
-
this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();
|
|
17832
|
-
}
|
|
17833
|
-
}
|
|
17834
|
-
}
|
|
17835
|
-
}
|
|
17836
|
-
|
|
17837
|
-
Request.prototype.clone = function() {
|
|
17838
|
-
return new Request(this, {body: this._bodyInit})
|
|
17839
|
-
};
|
|
17840
|
-
|
|
17841
|
-
function decode(body) {
|
|
17842
|
-
var form = new FormData();
|
|
17843
|
-
body
|
|
17844
|
-
.trim()
|
|
17845
|
-
.split('&')
|
|
17846
|
-
.forEach(function(bytes) {
|
|
17847
|
-
if (bytes) {
|
|
17848
|
-
var split = bytes.split('=');
|
|
17849
|
-
var name = split.shift().replace(/\+/g, ' ');
|
|
17850
|
-
var value = split.join('=').replace(/\+/g, ' ');
|
|
17851
|
-
form.append(decodeURIComponent(name), decodeURIComponent(value));
|
|
17852
|
-
}
|
|
17853
|
-
});
|
|
17854
|
-
return form
|
|
17855
|
-
}
|
|
17856
|
-
|
|
17857
|
-
function parseHeaders(rawHeaders) {
|
|
17858
|
-
var headers = new Headers();
|
|
17859
|
-
// Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
|
|
17860
|
-
// https://tools.ietf.org/html/rfc7230#section-3.2
|
|
17861
|
-
var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ');
|
|
17862
|
-
preProcessedHeaders.split(/\r?\n/).forEach(function(line) {
|
|
17863
|
-
var parts = line.split(':');
|
|
17864
|
-
var key = parts.shift().trim();
|
|
17865
|
-
if (key) {
|
|
17866
|
-
var value = parts.join(':').trim();
|
|
17867
|
-
headers.append(key, value);
|
|
17868
|
-
}
|
|
17190
|
+
d3.selection.prototype.selectGroup = function (key) {
|
|
17191
|
+
var group = this.selectAll('[data-d3-selectgroup="' + key + '"]').data(function (d) {
|
|
17192
|
+
return [d];
|
|
17869
17193
|
});
|
|
17870
|
-
|
|
17871
|
-
|
|
17872
|
-
|
|
17873
|
-
Body.call(Request.prototype);
|
|
17874
|
-
|
|
17875
|
-
function Response(bodyInit, options) {
|
|
17876
|
-
if (!options) {
|
|
17877
|
-
options = {};
|
|
17878
|
-
}
|
|
17879
|
-
|
|
17880
|
-
this.type = 'default';
|
|
17881
|
-
this.status = options.status === undefined ? 200 : options.status;
|
|
17882
|
-
this.ok = this.status >= 200 && this.status < 300;
|
|
17883
|
-
this.statusText = 'statusText' in options ? options.statusText : '';
|
|
17884
|
-
this.headers = new Headers(options.headers);
|
|
17885
|
-
this.url = options.url || '';
|
|
17886
|
-
this._initBody(bodyInit);
|
|
17887
|
-
}
|
|
17888
|
-
|
|
17889
|
-
Body.call(Response.prototype);
|
|
17890
|
-
|
|
17891
|
-
Response.prototype.clone = function() {
|
|
17892
|
-
return new Response(this._bodyInit, {
|
|
17893
|
-
status: this.status,
|
|
17894
|
-
statusText: this.statusText,
|
|
17895
|
-
headers: new Headers(this.headers),
|
|
17896
|
-
url: this.url
|
|
17897
|
-
})
|
|
17898
|
-
};
|
|
17899
|
-
|
|
17900
|
-
Response.error = function() {
|
|
17901
|
-
var response = new Response(null, {status: 0, statusText: ''});
|
|
17902
|
-
response.type = 'error';
|
|
17903
|
-
return response
|
|
17904
|
-
};
|
|
17905
|
-
|
|
17906
|
-
var redirectStatuses = [301, 302, 303, 307, 308];
|
|
17907
|
-
|
|
17908
|
-
Response.redirect = function(url, status) {
|
|
17909
|
-
if (redirectStatuses.indexOf(status) === -1) {
|
|
17910
|
-
throw new RangeError('Invalid status code')
|
|
17911
|
-
}
|
|
17912
|
-
|
|
17913
|
-
return new Response(null, {status: status, headers: {location: url}})
|
|
17194
|
+
var newGroup = group.enter().append("g").attr("data-d3-selectgroup", key);
|
|
17195
|
+
return group.merge(newGroup);
|
|
17914
17196
|
};
|
|
17915
17197
|
|
|
17916
|
-
var DOMException = global$1.DOMException;
|
|
17917
|
-
|
|
17918
|
-
if (typeof DOMException !== 'function') {
|
|
17919
|
-
DOMException = function(message, name) {
|
|
17920
|
-
this.message = message;
|
|
17921
|
-
this.name = name;
|
|
17922
|
-
var error = Error(message);
|
|
17923
|
-
this.stack = error.stack;
|
|
17924
|
-
};
|
|
17925
|
-
DOMException.prototype = Object.create(Error.prototype);
|
|
17926
|
-
DOMException.prototype.constructor = DOMException;
|
|
17927
|
-
}
|
|
17928
|
-
|
|
17929
|
-
function fetch(input, init) {
|
|
17930
|
-
return new Promise(function(resolve, reject) {
|
|
17931
|
-
var request = new Request(input, init);
|
|
17932
|
-
|
|
17933
|
-
if (request.signal && request.signal.aborted) {
|
|
17934
|
-
return reject(new DOMException('Aborted', 'AbortError'))
|
|
17935
|
-
}
|
|
17936
|
-
|
|
17937
|
-
var xhr = new XMLHttpRequest();
|
|
17938
|
-
|
|
17939
|
-
function abortXhr() {
|
|
17940
|
-
xhr.abort();
|
|
17941
|
-
}
|
|
17942
|
-
|
|
17943
|
-
xhr.onload = function() {
|
|
17944
|
-
var options = {
|
|
17945
|
-
status: xhr.status,
|
|
17946
|
-
statusText: xhr.statusText,
|
|
17947
|
-
headers: parseHeaders(xhr.getAllResponseHeaders() || '')
|
|
17948
|
-
};
|
|
17949
|
-
options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');
|
|
17950
|
-
var body = 'response' in xhr ? xhr.response : xhr.responseText;
|
|
17951
|
-
setTimeout(function() {
|
|
17952
|
-
resolve(new Response(body, options));
|
|
17953
|
-
}, 0);
|
|
17954
|
-
};
|
|
17955
|
-
|
|
17956
|
-
xhr.onerror = function() {
|
|
17957
|
-
setTimeout(function() {
|
|
17958
|
-
reject(new TypeError('Network request failed'));
|
|
17959
|
-
}, 0);
|
|
17960
|
-
};
|
|
17961
|
-
|
|
17962
|
-
xhr.ontimeout = function() {
|
|
17963
|
-
setTimeout(function() {
|
|
17964
|
-
reject(new TypeError('Network request failed'));
|
|
17965
|
-
}, 0);
|
|
17966
|
-
};
|
|
17967
|
-
|
|
17968
|
-
xhr.onabort = function() {
|
|
17969
|
-
setTimeout(function() {
|
|
17970
|
-
reject(new DOMException('Aborted', 'AbortError'));
|
|
17971
|
-
}, 0);
|
|
17972
|
-
};
|
|
17973
|
-
|
|
17974
|
-
function fixUrl(url) {
|
|
17975
|
-
try {
|
|
17976
|
-
return url === '' && global$1.location.href ? global$1.location.href : url
|
|
17977
|
-
} catch (e) {
|
|
17978
|
-
return url
|
|
17979
|
-
}
|
|
17980
|
-
}
|
|
17981
|
-
|
|
17982
|
-
xhr.open(request.method, fixUrl(request.url), true);
|
|
17983
|
-
|
|
17984
|
-
if (request.credentials === 'include') {
|
|
17985
|
-
xhr.withCredentials = true;
|
|
17986
|
-
} else if (request.credentials === 'omit') {
|
|
17987
|
-
xhr.withCredentials = false;
|
|
17988
|
-
}
|
|
17989
|
-
|
|
17990
|
-
if ('responseType' in xhr) {
|
|
17991
|
-
if (support.blob) {
|
|
17992
|
-
xhr.responseType = 'blob';
|
|
17993
|
-
} else if (
|
|
17994
|
-
support.arrayBuffer &&
|
|
17995
|
-
request.headers.get('Content-Type') &&
|
|
17996
|
-
request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1
|
|
17997
|
-
) {
|
|
17998
|
-
xhr.responseType = 'arraybuffer';
|
|
17999
|
-
}
|
|
18000
|
-
}
|
|
18001
|
-
|
|
18002
|
-
request.headers.forEach(function(value, name) {
|
|
18003
|
-
xhr.setRequestHeader(name, value);
|
|
18004
|
-
});
|
|
18005
|
-
|
|
18006
|
-
if (request.signal) {
|
|
18007
|
-
request.signal.addEventListener('abort', abortXhr);
|
|
18008
|
-
|
|
18009
|
-
xhr.onreadystatechange = function() {
|
|
18010
|
-
// DONE (success or failure)
|
|
18011
|
-
if (xhr.readyState === 4) {
|
|
18012
|
-
request.signal.removeEventListener('abort', abortXhr);
|
|
18013
|
-
}
|
|
18014
|
-
};
|
|
18015
|
-
}
|
|
18016
|
-
|
|
18017
|
-
xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);
|
|
18018
|
-
})
|
|
18019
|
-
}
|
|
18020
|
-
|
|
18021
|
-
fetch.polyfill = true;
|
|
18022
|
-
|
|
18023
|
-
if (!global$1.fetch) {
|
|
18024
|
-
global$1.fetch = fetch;
|
|
18025
|
-
global$1.Headers = Headers;
|
|
18026
|
-
global$1.Request = Request;
|
|
18027
|
-
global$1.Response = Response;
|
|
18028
|
-
}
|
|
18029
|
-
|
|
18030
|
-
/**
|
|
18031
|
-
* d3-request shim
|
|
18032
|
-
*
|
|
18033
|
-
* This module shims [d3-request](https://github.com/d3/d3-request) from d3v4 using
|
|
18034
|
-
* the new [d3-fetch](https://github.com/d3/d3-fetch) from d3v5. This makes it
|
|
18035
|
-
* possible to use d3v4 code with d3v5 for the use cases in SSZVIS, but not when
|
|
18036
|
-
* using more advanced functionality of d3-request (e.g. setting headers).
|
|
18037
|
-
*
|
|
18038
|
-
* Example from d3v4 that works thanks to this shim:
|
|
18039
|
-
*
|
|
18040
|
-
* d3.csv("http://example.com")
|
|
18041
|
-
* .row(function(x) {
|
|
18042
|
-
* return {
|
|
18043
|
-
* year: parseInt(x.Jahr, 10)
|
|
18044
|
-
* }
|
|
18045
|
-
* })
|
|
18046
|
-
* .get(function(error, data) {
|
|
18047
|
-
* if (error) {
|
|
18048
|
-
* sszvis.loadError(error);
|
|
18049
|
-
* return;
|
|
18050
|
-
* }
|
|
18051
|
-
* actions.prepareState(data);
|
|
18052
|
-
* })
|
|
18053
|
-
*
|
|
18054
|
-
* With d3v5 this can now be written like:
|
|
18055
|
-
*
|
|
18056
|
-
* d3.csv("http://example.com", function(x) { return x })
|
|
18057
|
-
* .then(actions.prepareState)
|
|
18058
|
-
* .catch(sszvis.loadError)
|
|
18059
|
-
*
|
|
18060
|
-
* Supported d3 versions:
|
|
18061
|
-
* - d3 5.0: Fully supported
|
|
18062
|
-
* - d3 4.0: Partially supported (only "get" and "row" methods have been implemented)
|
|
18063
|
-
*/
|
|
18064
|
-
d3__default.csv = mkShim(d3__default.csv);
|
|
18065
|
-
d3__default.json = mkShim(d3__default.json); // -----------------------------------------------------------------------------
|
|
18066
|
-
|
|
18067
|
-
function mkShim(request) {
|
|
18068
|
-
function mkGet() {
|
|
18069
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
18070
|
-
args[_key] = arguments[_key];
|
|
18071
|
-
}
|
|
18072
|
-
|
|
18073
|
-
return function (cb) {
|
|
18074
|
-
request.apply(void 0, args).then(function (data) {
|
|
18075
|
-
cb(undefined, data);
|
|
18076
|
-
}).catch(cb);
|
|
18077
|
-
};
|
|
18078
|
-
}
|
|
18079
|
-
|
|
18080
|
-
return function (url, parseNew) {
|
|
18081
|
-
return {
|
|
18082
|
-
// This is the "new" d3-fetch way of loading data that uses a Promise
|
|
18083
|
-
then: function then(cb) {
|
|
18084
|
-
return request(url, parseNew).then(cb);
|
|
18085
|
-
},
|
|
18086
|
-
// This is the "old" d3-request way of loading data using an XMLHttpRequest
|
|
18087
|
-
get: mkGet(url),
|
|
18088
|
-
row: function row(parseRow) {
|
|
18089
|
-
return {
|
|
18090
|
-
get: mkGet(url, parseRow)
|
|
18091
|
-
};
|
|
18092
|
-
}
|
|
18093
|
-
};
|
|
18094
|
-
};
|
|
18095
|
-
}
|
|
18096
|
-
|
|
18097
17198
|
/* eslint-disable */
|
|
18098
17199
|
|
|
18099
17200
|
/**
|
|
@@ -18194,64 +17295,17 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
18194
17295
|
throw new Error("Error parsing XML string");
|
|
18195
17296
|
}
|
|
18196
17297
|
}
|
|
18197
|
-
}); // The innerSVG DOM property for SVGElement.
|
|
18198
|
-
|
|
18199
|
-
Object.defineProperty(SVGElement.prototype, "innerSVG", {
|
|
18200
|
-
get: function get() {
|
|
18201
|
-
return this.innerHTML;
|
|
18202
|
-
},
|
|
18203
|
-
set: function set(markupText) {
|
|
18204
|
-
this.innerHTML = markupText;
|
|
18205
|
-
}
|
|
18206
|
-
});
|
|
18207
|
-
})();
|
|
18208
|
-
|
|
18209
|
-
// This is the more strict version of `isNaN`. We need to polyfill it for Internet Explorer,
|
|
18210
|
-
// all other browsers support this.
|
|
18211
|
-
// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
|
|
18212
|
-
Number.isNaN = Number.isNaN || function isNaN(input) {
|
|
18213
|
-
return typeof input === "number" && input !== input;
|
|
18214
|
-
};
|
|
18215
|
-
|
|
18216
|
-
T(); // d3 mutates state in many places, which is why we have to turn this off.
|
|
18217
|
-
|
|
18218
|
-
cn(false);
|
|
18219
|
-
|
|
18220
|
-
/**
|
|
18221
|
-
* d3.selection plugin to simplify creating idempotent divs that are not
|
|
18222
|
-
* recreated when rendered again.
|
|
18223
|
-
*
|
|
18224
|
-
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
18225
|
-
*
|
|
18226
|
-
* @param {String} key - the name of the group
|
|
18227
|
-
* @return {d3.selection}
|
|
18228
|
-
*/
|
|
18229
|
-
|
|
18230
|
-
d3.selection.prototype.selectDiv = function (key) {
|
|
18231
|
-
var div = this.selectAll('[data-d3-selectdiv="' + key + '"]').data(function (d) {
|
|
18232
|
-
return [d];
|
|
18233
|
-
});
|
|
18234
|
-
var newDiv = div.enter().append("div").attr("data-d3-selectdiv", key).style("position", "absolute");
|
|
18235
|
-
return div.merge(newDiv);
|
|
18236
|
-
};
|
|
18237
|
-
|
|
18238
|
-
/**
|
|
18239
|
-
* d3.selection plugin to simplify creating idempotent groups that are not
|
|
18240
|
-
* recreated when rendered again.
|
|
18241
|
-
*
|
|
18242
|
-
* @see https://github.com/mbostock/d3/wiki/Selections
|
|
18243
|
-
*
|
|
18244
|
-
* @param {String} key The name of the group
|
|
18245
|
-
* @return {d3.selection}
|
|
18246
|
-
*/
|
|
18247
|
-
|
|
18248
|
-
d3.selection.prototype.selectGroup = function (key) {
|
|
18249
|
-
var group = this.selectAll('[data-d3-selectgroup="' + key + '"]').data(function (d) {
|
|
18250
|
-
return [d];
|
|
17298
|
+
}); // The innerSVG DOM property for SVGElement.
|
|
17299
|
+
|
|
17300
|
+
Object.defineProperty(SVGElement.prototype, "innerSVG", {
|
|
17301
|
+
get: function get() {
|
|
17302
|
+
return this.innerHTML;
|
|
17303
|
+
},
|
|
17304
|
+
set: function set(markupText) {
|
|
17305
|
+
this.innerHTML = markupText;
|
|
17306
|
+
}
|
|
18251
17307
|
});
|
|
18252
|
-
|
|
18253
|
-
return group.merge(newGroup);
|
|
18254
|
-
};
|
|
17308
|
+
})();
|
|
18255
17309
|
|
|
18256
17310
|
/**
|
|
18257
17311
|
* A collection of functional programming helper functions
|
|
@@ -18423,7 +17477,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
18423
17477
|
*/
|
|
18424
17478
|
|
|
18425
17479
|
var defined = function defined(val) {
|
|
18426
|
-
return typeof val !== "undefined" && val != null
|
|
17480
|
+
return typeof val !== "undefined" && val != null;
|
|
18427
17481
|
};
|
|
18428
17482
|
/**
|
|
18429
17483
|
* fn.derivedSet
|
|
@@ -18663,7 +17717,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
18663
17717
|
*/
|
|
18664
17718
|
|
|
18665
17719
|
var isNumber = function isNumber(val) {
|
|
18666
|
-
return Object.prototype.toString.call(val) === "[object Number]"
|
|
17720
|
+
return Object.prototype.toString.call(val) === "[object Number]";
|
|
18667
17721
|
};
|
|
18668
17722
|
/**
|
|
18669
17723
|
* fn.isObject
|
|
@@ -18939,22 +17993,10 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
18939
17993
|
};
|
|
18940
17994
|
}
|
|
18941
17995
|
|
|
18942
|
-
var
|
|
18943
|
-
var
|
|
18944
|
-
var
|
|
18945
|
-
var
|
|
18946
|
-
var mediumRed = "#DB247D";
|
|
18947
|
-
var lightRed = "#FB737E";
|
|
18948
|
-
var darkGreen = "#007C78";
|
|
18949
|
-
var mediumGreen = "#1D942E";
|
|
18950
|
-
var lightGreen = "#99C32E";
|
|
18951
|
-
var darkBrown = "#9A5B01";
|
|
18952
|
-
var mediumBrown = "#FF720C";
|
|
18953
|
-
var lightBrown = "#FBB900";
|
|
18954
|
-
var scaleQual12 = qualColorScale([darkBlue, mediumBlue, lightBlue, darkRed, mediumRed, lightRed, darkGreen, mediumGreen, lightGreen, darkBrown, mediumBrown, lightBrown]);
|
|
18955
|
-
var scaleQual6 = qualColorScale([darkBlue, mediumRed, mediumGreen, lightBrown, lightBlue, mediumBrown]);
|
|
18956
|
-
var scaleQual6a = qualColorScale([darkBlue, mediumBlue, lightBlue, darkRed, mediumRed, lightRed]);
|
|
18957
|
-
var scaleQual6b = qualColorScale([darkGreen, mediumGreen, lightGreen, darkBrown, mediumBrown, lightBrown]);
|
|
17996
|
+
var scaleQual12 = qualColorScale(["#5182B3", "#B8CFE6", "#60BF97", "#B8E6D2", "#94BF69", "#CFE6B8", "#E6CF73", "#FAEBAF", "#E67D73", "#F2CEC2", "#CC6788", "#E6B7C7"]);
|
|
17997
|
+
var scaleQual6 = qualColorScale(["#5182B3", "#60BF97", "#94BF69", "#E6CF73", "#E67D73", "#CC6788"]);
|
|
17998
|
+
var scaleQual6a = qualColorScale(["#5182B3", "#B8CFE6", "#60BF97", "#B8E6D2", "#94BF69", "#CFE6B8"]);
|
|
17999
|
+
var scaleQual6b = qualColorScale(["#E6CF73", "#FAEBAF", "#E67D73", "#F2CEC2", "#CC6788", "#E6B7C7"]);
|
|
18958
18000
|
|
|
18959
18001
|
function seqColorScale(colors) {
|
|
18960
18002
|
return function () {
|
|
@@ -18963,10 +18005,10 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
18963
18005
|
};
|
|
18964
18006
|
}
|
|
18965
18007
|
|
|
18966
|
-
var scaleSeqBlu = seqColorScale(["#
|
|
18967
|
-
var scaleSeqRed = seqColorScale(["#
|
|
18968
|
-
var scaleSeqGrn = seqColorScale(["#
|
|
18969
|
-
var scaleSeqBrn = seqColorScale(["#
|
|
18008
|
+
var scaleSeqBlu = seqColorScale(["#DDE9FE", "#3B76B3", "#343F4D"]);
|
|
18009
|
+
var scaleSeqRed = seqColorScale(["#FEECEC", "#CC6171", "#4D353A"]);
|
|
18010
|
+
var scaleSeqGrn = seqColorScale(["#D2DFDE", "#4A807C", "#2C3C3F"]);
|
|
18011
|
+
var scaleSeqBrn = seqColorScale(["#E9DFD6", "#A67D5A", "#4C3735"]);
|
|
18970
18012
|
|
|
18971
18013
|
function divColorScale(colors) {
|
|
18972
18014
|
return function () {
|
|
@@ -18975,10 +18017,10 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
18975
18017
|
};
|
|
18976
18018
|
}
|
|
18977
18019
|
|
|
18978
|
-
var scaleDivVal = divColorScale(["#
|
|
18979
|
-
var scaleDivValGry = divColorScale(["#
|
|
18980
|
-
var scaleDivNtr = divColorScale(["#
|
|
18981
|
-
var scaleDivNtrGry = divColorScale(["#
|
|
18020
|
+
var scaleDivVal = divColorScale(["#CC6171", "#FFFFFF", "#3B76B3"]);
|
|
18021
|
+
var scaleDivValGry = divColorScale(["#CC6171", "#F3F3F3", "#3B76B3"]);
|
|
18022
|
+
var scaleDivNtr = divColorScale(["#A67D5A", "#FFFFFF", "#4A807C"]);
|
|
18023
|
+
var scaleDivNtrGry = divColorScale(["#A67D5A", "#F3F3F3", "#4A807C"]);
|
|
18982
18024
|
|
|
18983
18025
|
function greyColorScale(colors) {
|
|
18984
18026
|
return function () {
|
|
@@ -19827,7 +18869,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
19827
18869
|
* @return {sszvis.component}
|
|
19828
18870
|
*/
|
|
19829
18871
|
function rangeRuler () {
|
|
19830
|
-
return component().prop("x", functor).prop("y0", functor).prop("y1", functor).prop("top").prop("bottom").prop("label").
|
|
18872
|
+
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) {
|
|
19831
18873
|
var selection = d3.select(this);
|
|
19832
18874
|
var props = selection.props();
|
|
19833
18875
|
var crispX = compose(halfPixel, props.x);
|
|
@@ -19866,11 +18908,6 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
19866
18908
|
.style("text-anchor", function (d) {
|
|
19867
18909
|
return props.flip(d) ? "end" : "start";
|
|
19868
18910
|
}).text(compose(formatNumber, props.label));
|
|
19869
|
-
|
|
19870
|
-
if (!props.removeStroke) {
|
|
19871
|
-
marks.attr("stroke", "white").attr("stroke-width", 0.5).attr("stroke-opacity", 0.75);
|
|
19872
|
-
}
|
|
19873
|
-
|
|
19874
18911
|
var total = selection.selectAll(".sszvis-rangeRuler__total").data([last(data)]);
|
|
19875
18912
|
var newTotal = total.enter().append("text").classed("sszvis-rangeRuler__total", true);
|
|
19876
18913
|
total.exit().remove();
|
|
@@ -19881,10 +18918,6 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
19881
18918
|
}).attr("y", props.top - 10).style("text-anchor", function (d) {
|
|
19882
18919
|
return props.flip(d) ? "end" : "start";
|
|
19883
18920
|
}).text("Total " + formatNumber(props.total));
|
|
19884
|
-
|
|
19885
|
-
if (!props.removeStroke) {
|
|
19886
|
-
total.attr("stroke", "white").attr("stroke-width", 0.5).attr("stroke-opacity", 0.75);
|
|
19887
|
-
}
|
|
19888
18921
|
});
|
|
19889
18922
|
}
|
|
19890
18923
|
|
|
@@ -20219,367 +19252,129 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
20219
19252
|
* formatTable
|
|
20220
19253
|
*/
|
|
20221
19254
|
|
|
20222
|
-
|
|
20223
|
-
function formatTable(rows) {
|
|
20224
|
-
var tableBody = rows.map(function (row) {
|
|
20225
|
-
return "<tr>" + row.map(function (cell) {
|
|
20226
|
-
return "<td>" + cell + "</td>";
|
|
20227
|
-
}).join("") + "</tr>";
|
|
20228
|
-
}).join("");
|
|
20229
|
-
return '<table class="sszvis-tooltip__body__table">' + tableBody + "</table>";
|
|
20230
|
-
}
|
|
20231
|
-
/**
|
|
20232
|
-
* Tooltip background generator
|
|
20233
|
-
*
|
|
20234
|
-
* Generates a path description with a tip on the specified side.
|
|
20235
|
-
*
|
|
20236
|
-
* top
|
|
20237
|
-
* ________
|
|
20238
|
-
* left | | right
|
|
20239
|
-
* |___ ___|
|
|
20240
|
-
* \/
|
|
20241
|
-
* bottom
|
|
20242
|
-
*
|
|
20243
|
-
* @param {Vector} a Top-left corner of the tooltip rectangle (x, y)
|
|
20244
|
-
* @param {Vector} b Bottom-right corner of the tooltip rectangle (x, y)
|
|
20245
|
-
* @param {String} orientation The tip will point in this direction (top, right, bottom, left)
|
|
20246
|
-
*
|
|
20247
|
-
* @return {Path} SVG path description
|
|
20248
|
-
*/
|
|
20249
|
-
|
|
20250
|
-
|
|
20251
|
-
function tooltipBackgroundGenerator(a, b, orientation, radius) {
|
|
20252
|
-
switch (orientation) {
|
|
20253
|
-
case "top":
|
|
20254
|
-
a[1] = a[1] + TIP_SIZE;
|
|
20255
|
-
break;
|
|
20256
|
-
|
|
20257
|
-
case "bottom":
|
|
20258
|
-
b[1] = b[1] - TIP_SIZE;
|
|
20259
|
-
break;
|
|
20260
|
-
|
|
20261
|
-
case "left":
|
|
20262
|
-
a[0] = a[0] + TIP_SIZE;
|
|
20263
|
-
break;
|
|
20264
|
-
|
|
20265
|
-
case "right":
|
|
20266
|
-
b[0] = b[0] - TIP_SIZE;
|
|
20267
|
-
break;
|
|
20268
|
-
}
|
|
20269
|
-
|
|
20270
|
-
function x(d) {
|
|
20271
|
-
return d[0];
|
|
20272
|
-
}
|
|
20273
|
-
|
|
20274
|
-
function y(d) {
|
|
20275
|
-
return d[1];
|
|
20276
|
-
}
|
|
20277
|
-
|
|
20278
|
-
function side(cx, cy, x0, y0, x1, y1, showTip) {
|
|
20279
|
-
var mx = x0 + (x1 - x0) / 2;
|
|
20280
|
-
var my = y0 + (y1 - y0) / 2;
|
|
20281
|
-
var corner = ["Q", cx, cy, x0, y0];
|
|
20282
|
-
var tip = [];
|
|
20283
|
-
|
|
20284
|
-
if (showTip && y0 === y1) {
|
|
20285
|
-
if (x0 < x1) {
|
|
20286
|
-
// Top
|
|
20287
|
-
tip = ["L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my];
|
|
20288
|
-
} else {
|
|
20289
|
-
// Bottom
|
|
20290
|
-
tip = ["L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my];
|
|
20291
|
-
}
|
|
20292
|
-
} else if (showTip && x0 === x1) {
|
|
20293
|
-
if (y0 < y1) {
|
|
20294
|
-
// Right
|
|
20295
|
-
tip = ["L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE];
|
|
20296
|
-
} else {
|
|
20297
|
-
// Left
|
|
20298
|
-
tip = ["L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE];
|
|
20299
|
-
}
|
|
20300
|
-
}
|
|
20301
|
-
|
|
20302
|
-
var end = ["L", x1, y1];
|
|
20303
|
-
return [].concat(corner, tip, end);
|
|
20304
|
-
}
|
|
20305
|
-
|
|
20306
|
-
return [// Start
|
|
20307
|
-
["M", x(a), y(a) + radius], // Top side
|
|
20308
|
-
side(x(a), y(a), x(a) + radius, y(a), x(b) - radius, y(a), orientation === "top"), // Right side
|
|
20309
|
-
side(x(b), y(a), x(b), y(a) + radius, x(b), y(b) - radius, orientation === "right"), // Bottom side
|
|
20310
|
-
side(x(b), y(b), x(b) - radius, y(b), x(a) + radius, y(b), orientation === "bottom"), // Left side
|
|
20311
|
-
side(x(a), y(b), x(a), y(b) - radius, x(a), y(a) + radius, orientation === "left")].map(function (d) {
|
|
20312
|
-
return d.join(" ");
|
|
20313
|
-
}).join(" ");
|
|
20314
|
-
}
|
|
20315
|
-
/**
|
|
20316
|
-
* Detect whether the current browser supports SVG filters
|
|
20317
|
-
*/
|
|
20318
|
-
|
|
20319
|
-
|
|
20320
|
-
function supportsSVGFilters() {
|
|
20321
|
-
return window["SVGFEColorMatrixElement"] !== undefined && SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;
|
|
20322
|
-
}
|
|
20323
|
-
|
|
20324
|
-
/**
|
|
20325
|
-
* @function sszvis.tooltipFit
|
|
20326
|
-
*
|
|
20327
|
-
* This is a useful default function for making a tooltip fit within a horizontal space.
|
|
20328
|
-
* You provide a default orientation for the tooltip, but also provide the bounds of the
|
|
20329
|
-
* space within which the tooltip should stay. When the tooltip is too close to the left
|
|
20330
|
-
* or right edge of the bounds, it is oriented away from the edge. Otherwise the default
|
|
20331
|
-
* is used.
|
|
20332
|
-
*
|
|
20333
|
-
* @param {String} defaultValue The default value for the tooltip orientation
|
|
20334
|
-
* @param {Object} bounds The bounds object within which the tooltip should stay.
|
|
20335
|
-
*
|
|
20336
|
-
* @returns {Function} A function for calculating the orientation of the tooltips.
|
|
20337
|
-
*/
|
|
20338
|
-
function fitTooltip (defaultVal, bounds) {
|
|
20339
|
-
var lo = Math.min(bounds.innerWidth * 1 / 4, 100);
|
|
20340
|
-
var hi = Math.max(bounds.innerWidth * 3 / 4, bounds.innerWidth - 100);
|
|
20341
|
-
return function (d) {
|
|
20342
|
-
var x = d.x;
|
|
20343
|
-
return x > hi ? "right" : x < lo ? "left" : defaultVal;
|
|
20344
|
-
};
|
|
20345
|
-
}
|
|
20346
|
-
|
|
20347
|
-
/**
|
|
20348
|
-
* Fallback handling
|
|
20349
|
-
*
|
|
20350
|
-
* Defaults to rendering a fallback image with standard chart proportions.
|
|
20351
|
-
*
|
|
20352
|
-
* @example
|
|
20353
|
-
* if (sszvis.fallback.unsupported()) {
|
|
20354
|
-
* sszvis.fallback.render('#sszvis-chart', {src: '../fallback.png', height: 300});
|
|
20355
|
-
* return;
|
|
20356
|
-
* }
|
|
20357
|
-
*
|
|
20358
|
-
* @module sszvis/fallback
|
|
20359
|
-
*/
|
|
20360
|
-
var fallbackUnsupported = function fallbackUnsupported() {
|
|
20361
|
-
var supportsSVG = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect;
|
|
20362
|
-
return !supportsSVG;
|
|
20363
|
-
};
|
|
20364
|
-
var fallbackCanvasUnsupported = function fallbackCanvasUnsupported() {
|
|
20365
|
-
var supportsCanvas = !!document.createElement("canvas").getContext;
|
|
20366
|
-
return !supportsCanvas;
|
|
20367
|
-
};
|
|
20368
|
-
var fallbackRender = function fallbackRender(selector, options) {
|
|
20369
|
-
options || (options = {});
|
|
20370
|
-
options.src || (options.src = "fallback.png");
|
|
20371
|
-
var selection = isSelection(selector) ? selector : d3.select(selector);
|
|
20372
|
-
selection.append("img").attr("class", "sszvis-fallback-image").attr("src", options.src);
|
|
20373
|
-
};
|
|
20374
|
-
|
|
20375
|
-
var nanoThrottle = function (callback, ms, trailing) {
|
|
20376
|
-
var t = 0, call;
|
|
20377
|
-
arguments.length < 3 && (trailing = true);
|
|
20378
|
-
return function () {
|
|
20379
|
-
var args = arguments;
|
|
20380
|
-
var self = this;
|
|
20381
|
-
call = function () {
|
|
20382
|
-
callback.apply(self, args);
|
|
20383
|
-
t = new Date().getTime() + ms;
|
|
20384
|
-
call = null;
|
|
20385
|
-
trailing && setTimeout(function () {
|
|
20386
|
-
call && call();
|
|
20387
|
-
}, ms);
|
|
20388
|
-
};
|
|
20389
|
-
if (new Date().getTime() > t) call();
|
|
20390
|
-
}
|
|
20391
|
-
};
|
|
20392
|
-
|
|
20393
|
-
/**
|
|
20394
|
-
* Viewport Resize watcher
|
|
20395
|
-
*
|
|
20396
|
-
* The resize watcher in the sszvis.viewport module can be used for alerting user code to
|
|
20397
|
-
* changes in the browser window size. This includes window resizing on desktop computers
|
|
20398
|
-
* and browsers, but also orientation changes on mobile browsers. Functions which listen
|
|
20399
|
-
* to the 'resize' event of the sszvis.viewport module will be fired on window resize.
|
|
20400
|
-
* You can add a resize listener to your application very easily:
|
|
20401
|
-
*
|
|
20402
|
-
* sszvis.viewport.on('resize', listenerFunction);
|
|
20403
|
-
*
|
|
20404
|
-
* The listener function will be called once per resize event, but at a slight delay. This is because,
|
|
20405
|
-
* while a user is resizing their browser window, many resize events can fire very quickly. This component
|
|
20406
|
-
* automatically throttles the rate at which the listener function is called, since you probably don't need
|
|
20407
|
-
* to respond to every single resize event. This throttling provides for a smoother user experience as they
|
|
20408
|
-
* resize the browser, and increases performance across the board. The listener function will always be
|
|
20409
|
-
* called after one or more window resize events, it just won't be called as often as the window fires the
|
|
20410
|
-
* events.
|
|
20411
|
-
*
|
|
20412
|
-
* @module sszvis/viewport
|
|
20413
|
-
*
|
|
20414
|
-
* @function {string, function} on the .on() function is used to listen to the resize event itself.
|
|
20415
|
-
* There is only one event supported by this component at the moment, so
|
|
20416
|
-
* the first argument to .on must be 'resize' for it to have any effect.
|
|
20417
|
-
* Although this is somewhat redundant, it is done to keep this component's
|
|
20418
|
-
* API clear and in line with other components.
|
|
20419
|
-
*
|
|
20420
|
-
* @return {Object}
|
|
20421
|
-
*/
|
|
20422
|
-
// sszvis.viewport.on('resize', callback);
|
|
20423
|
-
// While still enabling the user to register multiple callbacks for the 'resize'
|
|
20424
|
-
// event. Multiple callbacks are a feature which simply returning a d3.dispatch('resize')
|
|
20425
|
-
// object would not allow.
|
|
20426
|
-
|
|
20427
|
-
var callbacks = {
|
|
20428
|
-
resize: []
|
|
20429
|
-
};
|
|
20430
|
-
|
|
20431
|
-
if (typeof window !== "undefined") {
|
|
20432
|
-
d3.select(window).on("resize", nanoThrottle(function () {
|
|
20433
|
-
trigger("resize");
|
|
20434
|
-
}, 500));
|
|
20435
|
-
}
|
|
20436
|
-
|
|
20437
|
-
var on$1 = function on(name, cb) {
|
|
20438
|
-
if (!callbacks[name]) {
|
|
20439
|
-
callbacks[name] = [];
|
|
20440
|
-
}
|
|
20441
|
-
|
|
20442
|
-
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
20443
|
-
return fn !== cb;
|
|
20444
|
-
}).concat(cb);
|
|
20445
|
-
return this;
|
|
20446
|
-
};
|
|
20447
|
-
|
|
20448
|
-
var off = function off(name, cb) {
|
|
20449
|
-
if (!callbacks[name]) {
|
|
20450
|
-
return this;
|
|
20451
|
-
}
|
|
20452
|
-
|
|
20453
|
-
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
20454
|
-
return fn !== cb;
|
|
20455
|
-
});
|
|
20456
|
-
return this;
|
|
20457
|
-
};
|
|
20458
|
-
|
|
20459
|
-
var trigger = function trigger(name) {
|
|
20460
|
-
var evtArgs = Array.prototype.slice.call(arguments, 1);
|
|
20461
|
-
|
|
20462
|
-
if (callbacks[name]) {
|
|
20463
|
-
callbacks[name].forEach(function (fn) {
|
|
20464
|
-
fn.apply(null, evtArgs);
|
|
20465
|
-
});
|
|
20466
|
-
}
|
|
20467
|
-
|
|
20468
|
-
return this;
|
|
20469
|
-
};
|
|
20470
|
-
|
|
20471
|
-
var viewport = {
|
|
20472
|
-
on: on$1,
|
|
20473
|
-
off: off,
|
|
20474
|
-
trigger: trigger
|
|
20475
|
-
};
|
|
20476
|
-
|
|
19255
|
+
|
|
19256
|
+
function formatTable(rows) {
|
|
19257
|
+
var tableBody = rows.map(function (row) {
|
|
19258
|
+
return "<tr>" + row.map(function (cell) {
|
|
19259
|
+
return "<td>" + cell + "</td>";
|
|
19260
|
+
}).join("") + "</tr>";
|
|
19261
|
+
}).join("");
|
|
19262
|
+
return '<table class="sszvis-tooltip__body__table">' + tableBody + "</table>";
|
|
19263
|
+
}
|
|
20477
19264
|
/**
|
|
20478
|
-
*
|
|
20479
|
-
*
|
|
20480
|
-
* Creates a stateful app that can be interacted with through actions. By providing
|
|
20481
|
-
* a structured approach, this allows us to optimize the render loop and clarifies
|
|
20482
|
-
* the relationship between state and actions.
|
|
20483
|
-
*
|
|
20484
|
-
* Within an app, state can only be modified through actions. During the render phase,
|
|
20485
|
-
* state is immutable and an error will be thrown if it is modified accidentally.
|
|
20486
|
-
*
|
|
20487
|
-
* Conceptually, an app works like this:
|
|
20488
|
-
*
|
|
20489
|
-
* init
|
|
20490
|
-
* ⇣
|
|
20491
|
-
* state ⭢ render
|
|
20492
|
-
* ⮤ action ⮠
|
|
20493
|
-
*
|
|
20494
|
-
* The basis of an app are the following three types:
|
|
20495
|
-
*
|
|
20496
|
-
* Dispatch can be used to schedule an action after rendering has been completed. In the
|
|
20497
|
-
* render function, dispatch is not directly accessible; instead, an actions object is
|
|
20498
|
-
* provided to dispatch actions by calling them as functions.
|
|
20499
|
-
* @typedef {(action: string, p?: Props) => void} Dispatch
|
|
20500
|
-
*
|
|
20501
|
-
* An effect can be returned from an action to schedule further actions using dispatch.
|
|
20502
|
-
* @typedef {(d: Dispatch, p?: Props) => void} Effect
|
|
19265
|
+
* Tooltip background generator
|
|
20503
19266
|
*
|
|
20504
|
-
*
|
|
20505
|
-
* actions should be called after this one, an action can return an Effect.
|
|
20506
|
-
* @typedef {(s: Draft, p?: Props) => Effect | void} Action
|
|
20507
|
-
* @see {@link https://immerjs.github.io/immer/docs/produce/}
|
|
19267
|
+
* Generates a path description with a tip on the specified side.
|
|
20508
19268
|
*
|
|
20509
|
-
*
|
|
19269
|
+
* top
|
|
19270
|
+
* ________
|
|
19271
|
+
* left | | right
|
|
19272
|
+
* |___ ___|
|
|
19273
|
+
* \/
|
|
19274
|
+
* bottom
|
|
20510
19275
|
*
|
|
20511
|
-
* @
|
|
20512
|
-
* @
|
|
20513
|
-
*
|
|
20514
|
-
* @prop {(s: State, as: Record<keyof props.actions, (p?: Props) => void>)} props.render - Update
|
|
20515
|
-
* the DOM from the state and optionally dispatch actions
|
|
20516
|
-
* @prop {Record<string, Action>} [props.actions] - Functions to transition the
|
|
20517
|
-
* application state
|
|
20518
|
-
* @prop {{element: string, src: string}} [props.fallback] - Render a fallback image
|
|
19276
|
+
* @param {Vector} a Top-left corner of the tooltip rectangle (x, y)
|
|
19277
|
+
* @param {Vector} b Bottom-right corner of the tooltip rectangle (x, y)
|
|
19278
|
+
* @param {String} orientation The tip will point in this direction (top, right, bottom, left)
|
|
20519
19279
|
*
|
|
20520
|
-
* @
|
|
19280
|
+
* @return {Path} SVG path description
|
|
20521
19281
|
*/
|
|
20522
19282
|
|
|
20523
|
-
var app = function app(_ref) {
|
|
20524
|
-
var init = _ref.init,
|
|
20525
|
-
render = _ref.render,
|
|
20526
|
-
_ref$actions = _ref.actions,
|
|
20527
|
-
actions = _ref$actions === void 0 ? {} : _ref$actions,
|
|
20528
|
-
fallback = _ref.fallback;
|
|
20529
|
-
var doing;
|
|
20530
|
-
var state;
|
|
20531
|
-
invariant(isFunction$1(init), 'An "init" function returning a Promise must be provided.');
|
|
20532
|
-
invariant(isFunction$1(render), 'A "render" function must be provided.');
|
|
20533
|
-
var actionDispatchers = Object.keys(actions).reduce(function (acc, key) {
|
|
20534
|
-
acc[key] = function (args) {
|
|
20535
|
-
dispatch(key, args);
|
|
20536
|
-
};
|
|
20537
19283
|
|
|
20538
|
-
|
|
20539
|
-
|
|
19284
|
+
function tooltipBackgroundGenerator(a, b, orientation, radius) {
|
|
19285
|
+
switch (orientation) {
|
|
19286
|
+
case "top":
|
|
19287
|
+
a[1] = a[1] + TIP_SIZE;
|
|
19288
|
+
break;
|
|
20540
19289
|
|
|
20541
|
-
|
|
20542
|
-
|
|
20543
|
-
|
|
20544
|
-
|
|
20545
|
-
|
|
20546
|
-
|
|
20547
|
-
|
|
20548
|
-
|
|
19290
|
+
case "bottom":
|
|
19291
|
+
b[1] = b[1] - TIP_SIZE;
|
|
19292
|
+
break;
|
|
19293
|
+
|
|
19294
|
+
case "left":
|
|
19295
|
+
a[0] = a[0] + TIP_SIZE;
|
|
19296
|
+
break;
|
|
19297
|
+
|
|
19298
|
+
case "right":
|
|
19299
|
+
b[0] = b[0] - TIP_SIZE;
|
|
19300
|
+
break;
|
|
19301
|
+
}
|
|
20549
19302
|
|
|
20550
|
-
|
|
19303
|
+
function x(d) {
|
|
19304
|
+
return d[0];
|
|
20551
19305
|
}
|
|
20552
19306
|
|
|
20553
|
-
function
|
|
20554
|
-
|
|
20555
|
-
var draft = pn(state);
|
|
20556
|
-
var effect = actions[action](draft, props);
|
|
20557
|
-
state = ln(draft);
|
|
20558
|
-
scheduleUpdate(effect);
|
|
19307
|
+
function y(d) {
|
|
19308
|
+
return d[1];
|
|
20559
19309
|
}
|
|
20560
19310
|
|
|
20561
|
-
|
|
20562
|
-
|
|
20563
|
-
|
|
20564
|
-
|
|
20565
|
-
|
|
20566
|
-
|
|
20567
|
-
|
|
20568
|
-
|
|
20569
|
-
|
|
20570
|
-
|
|
20571
|
-
|
|
20572
|
-
|
|
20573
|
-
|
|
19311
|
+
function side(cx, cy, x0, y0, x1, y1, showTip) {
|
|
19312
|
+
var mx = x0 + (x1 - x0) / 2;
|
|
19313
|
+
var my = y0 + (y1 - y0) / 2;
|
|
19314
|
+
var corner = ["Q", cx, cy, x0, y0];
|
|
19315
|
+
var tip = [];
|
|
19316
|
+
|
|
19317
|
+
if (showTip && y0 === y1) {
|
|
19318
|
+
if (x0 < x1) {
|
|
19319
|
+
// Top
|
|
19320
|
+
tip = ["L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my];
|
|
19321
|
+
} else {
|
|
19322
|
+
// Bottom
|
|
19323
|
+
tip = ["L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my];
|
|
19324
|
+
}
|
|
19325
|
+
} else if (showTip && x0 === x1) {
|
|
19326
|
+
if (y0 < y1) {
|
|
19327
|
+
// Right
|
|
19328
|
+
tip = ["L", mx, my - TIP_SIZE, "L", mx + TIP_SIZE, my, "L", mx, my + TIP_SIZE];
|
|
19329
|
+
} else {
|
|
19330
|
+
// Left
|
|
19331
|
+
tip = ["L", mx, my + TIP_SIZE, "L", mx - TIP_SIZE, my, "L", mx, my - TIP_SIZE];
|
|
19332
|
+
}
|
|
19333
|
+
}
|
|
20574
19334
|
|
|
20575
|
-
|
|
20576
|
-
|
|
20577
|
-
throw new Error("[sszvis.app] ".concat(message));
|
|
19335
|
+
var end = ["L", x1, y1];
|
|
19336
|
+
return [].concat(corner, tip, end);
|
|
20578
19337
|
}
|
|
19338
|
+
|
|
19339
|
+
return [// Start
|
|
19340
|
+
["M", x(a), y(a) + radius], // Top side
|
|
19341
|
+
side(x(a), y(a), x(a) + radius, y(a), x(b) - radius, y(a), orientation === "top"), // Right side
|
|
19342
|
+
side(x(b), y(a), x(b), y(a) + radius, x(b), y(b) - radius, orientation === "right"), // Bottom side
|
|
19343
|
+
side(x(b), y(b), x(b) - radius, y(b), x(a) + radius, y(b), orientation === "bottom"), // Left side
|
|
19344
|
+
side(x(a), y(b), x(a), y(b) - radius, x(a), y(a) + radius, orientation === "left")].map(function (d) {
|
|
19345
|
+
return d.join(" ");
|
|
19346
|
+
}).join(" ");
|
|
19347
|
+
}
|
|
19348
|
+
/**
|
|
19349
|
+
* Detect whether the current browser supports SVG filters
|
|
19350
|
+
*/
|
|
19351
|
+
|
|
19352
|
+
|
|
19353
|
+
function supportsSVGFilters() {
|
|
19354
|
+
return window["SVGFEColorMatrixElement"] !== undefined && SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;
|
|
20579
19355
|
}
|
|
20580
19356
|
|
|
20581
|
-
|
|
20582
|
-
|
|
19357
|
+
/**
|
|
19358
|
+
* @function sszvis.tooltipFit
|
|
19359
|
+
*
|
|
19360
|
+
* This is a useful default function for making a tooltip fit within a horizontal space.
|
|
19361
|
+
* You provide a default orientation for the tooltip, but also provide the bounds of the
|
|
19362
|
+
* space within which the tooltip should stay. When the tooltip is too close to the left
|
|
19363
|
+
* or right edge of the bounds, it is oriented away from the edge. Otherwise the default
|
|
19364
|
+
* is used.
|
|
19365
|
+
*
|
|
19366
|
+
* @param {String} defaultValue The default value for the tooltip orientation
|
|
19367
|
+
* @param {Object} bounds The bounds object within which the tooltip should stay.
|
|
19368
|
+
*
|
|
19369
|
+
* @returns {Function} A function for calculating the orientation of the tooltips.
|
|
19370
|
+
*/
|
|
19371
|
+
function fitTooltip (defaultVal, bounds) {
|
|
19372
|
+
var lo = Math.min(bounds.innerWidth * 1 / 4, 100);
|
|
19373
|
+
var hi = Math.max(bounds.innerWidth * 3 / 4, bounds.innerWidth - 100);
|
|
19374
|
+
return function (d) {
|
|
19375
|
+
var x = d.x;
|
|
19376
|
+
return x > hi ? "right" : x < lo ? "left" : defaultVal;
|
|
19377
|
+
};
|
|
20583
19378
|
}
|
|
20584
19379
|
|
|
20585
19380
|
/**
|
|
@@ -21177,7 +19972,6 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
21177
19972
|
*
|
|
21178
19973
|
* @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.
|
|
21179
19974
|
* @property {boolean} contour Specify a 'contour' background for the axis labels.
|
|
21180
|
-
* @property {boolean} removeStroke Removes the default stroke applied to the text
|
|
21181
19975
|
* @property {number} hideBorderTickThreshold Specifies the pixel distance threshold for the visible tick correction. Ticks which are closer than
|
|
21182
19976
|
* this threshold to the end of the axis (i.e. a tick which is 1 or two pixels from the end) will be
|
|
21183
19977
|
* hidden from view. This prevents the display of a tick very close to the ending line.
|
|
@@ -21212,7 +20006,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
21212
20006
|
var axis = function axis() {
|
|
21213
20007
|
// var axisDelegate = d3.axisBottom();
|
|
21214
20008
|
// axisDelegate.orient = function() { return 'bottom'; };
|
|
21215
|
-
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("
|
|
20009
|
+
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
|
|
21216
20010
|
.prop("titleCenter") // a boolean value - whether to center the title
|
|
21217
20011
|
.prop("dxTitle") // a numeric value for the left offset of the title
|
|
21218
20012
|
.prop("dyTitle") // a numeric value for the top offset of the title
|
|
@@ -21456,14 +20250,6 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
21456
20250
|
textContour.text(textNode.textContent);
|
|
21457
20251
|
});
|
|
21458
20252
|
}
|
|
21459
|
-
|
|
21460
|
-
if (!props.removeStroke) {
|
|
21461
|
-
tickGroups.each(function () {
|
|
21462
|
-
var g = d3.select(this);
|
|
21463
|
-
var textNode = g.select("text");
|
|
21464
|
-
textNode.attr("stroke", "white").attr("stroke-width", 0.5).attr("stroke-opacity", 0.75);
|
|
21465
|
-
});
|
|
21466
|
-
}
|
|
21467
20253
|
}); // axisComponent.__delegate__ = axisDelegate;
|
|
21468
20254
|
|
|
21469
20255
|
return axisComponent;
|
|
@@ -22856,7 +21642,6 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
22856
21642
|
return component().prop("radius").prop("fill").prop("stroke").prop("angle", functor).render(function (data) {
|
|
22857
21643
|
var selection = d3.select(this);
|
|
22858
21644
|
var props = selection.props();
|
|
22859
|
-
var stroke = props.stroke || "#FFFFFF";
|
|
22860
21645
|
var angle = 0;
|
|
22861
21646
|
data.forEach(function (value) {
|
|
22862
21647
|
// In order for an angle transition to work correctly in d3, the transition must be done in data space.
|
|
@@ -22887,7 +21672,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
22887
21672
|
data[i].a1 = d.a1;
|
|
22888
21673
|
}
|
|
22889
21674
|
}).data(data);
|
|
22890
|
-
var newSegments = segments.enter().append("path").classed("sszvis-path", true).attr("transform", "translate(" + props.radius + "," + props.radius + ")").attr("fill", props.fill).attr("stroke", stroke);
|
|
21675
|
+
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);
|
|
22891
21676
|
segments.exit().remove();
|
|
22892
21677
|
segments = segments.merge(newSegments);
|
|
22893
21678
|
segments.transition(defaultTransition()).attr("transform", "translate(" + props.radius + "," + props.radius + ")").attrTween("d", function (d) {
|
|
@@ -22898,7 +21683,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
22898
21683
|
d.a1 = angle1Interp(t);
|
|
22899
21684
|
return arcGen(d);
|
|
22900
21685
|
};
|
|
22901
|
-
}).attr("fill", props.fill).attr("stroke", stroke);
|
|
21686
|
+
}).attr("fill", props.fill).attr("stroke", props.stroke);
|
|
22902
21687
|
var ta = tooltipAnchor().position(function (d) {
|
|
22903
21688
|
// The correction by - Math.PI / 2 is necessary because d3 automatically (and with brief, buried documentation!)
|
|
22904
21689
|
// makes the same correction to svg.arc() angles :o
|
|
@@ -23259,7 +22044,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
23259
22044
|
paths = paths.transition(defaultTransition());
|
|
23260
22045
|
}
|
|
23261
22046
|
|
|
23262
|
-
paths.attr("d", areaGen).attr("fill", props.fill).attr("stroke", props.stroke
|
|
22047
|
+
paths.attr("d", areaGen).attr("fill", props.fill).attr("stroke", props.stroke);
|
|
23263
22048
|
});
|
|
23264
22049
|
}
|
|
23265
22050
|
|
|
@@ -23388,7 +22173,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
23388
22173
|
return component().prop("xScale", functor).prop("width", functor).prop("yScale", functor).prop("height", functor).prop("fill").prop("stroke").render(function (data) {
|
|
23389
22174
|
var selection = d3.select(this);
|
|
23390
22175
|
var props = selection.props();
|
|
23391
|
-
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
|
|
22176
|
+
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);
|
|
23392
22177
|
var groups = selection.selectAll(".sszvis-stack").data(data);
|
|
23393
22178
|
var newGroups = groups.enter().append("g").classed("sszvis-stack", true);
|
|
23394
22179
|
groups.exit().remove();
|
|
@@ -24088,6 +22873,34 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
24088
22873
|
return viewport.merge(viewportEnter);
|
|
24089
22874
|
}
|
|
24090
22875
|
|
|
22876
|
+
/**
|
|
22877
|
+
* Fallback handling
|
|
22878
|
+
*
|
|
22879
|
+
* Defaults to rendering a fallback image with standard chart proportions.
|
|
22880
|
+
*
|
|
22881
|
+
* @example
|
|
22882
|
+
* if (sszvis.fallback.unsupported()) {
|
|
22883
|
+
* sszvis.fallback.render('#sszvis-chart', {src: '../fallback.png', height: 300});
|
|
22884
|
+
* return;
|
|
22885
|
+
* }
|
|
22886
|
+
*
|
|
22887
|
+
* @module sszvis/fallback
|
|
22888
|
+
*/
|
|
22889
|
+
var fallbackUnsupported = function fallbackUnsupported() {
|
|
22890
|
+
var supportsSVG = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect;
|
|
22891
|
+
return !supportsSVG;
|
|
22892
|
+
};
|
|
22893
|
+
var fallbackCanvasUnsupported = function fallbackCanvasUnsupported() {
|
|
22894
|
+
var supportsCanvas = !!document.createElement("canvas").getContext;
|
|
22895
|
+
return !supportsCanvas;
|
|
22896
|
+
};
|
|
22897
|
+
var fallbackRender = function fallbackRender(selector, options) {
|
|
22898
|
+
options || (options = {});
|
|
22899
|
+
options.src || (options.src = "fallback.png");
|
|
22900
|
+
var selection = isSelection(selector) ? selector : d3.select(selector);
|
|
22901
|
+
selection.append("img").attr("class", "sszvis-fallback-image").attr("src", options.src);
|
|
22902
|
+
};
|
|
22903
|
+
|
|
24091
22904
|
/**
|
|
24092
22905
|
* Ordinal Color Scale Legend
|
|
24093
22906
|
*
|
|
@@ -25530,44 +24343,44 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25530
24343
|
*
|
|
25531
24344
|
* @return {sszvis.component}
|
|
25532
24345
|
*/
|
|
25533
|
-
var datumAcc = prop(
|
|
24346
|
+
var datumAcc = prop('datum');
|
|
25534
24347
|
function bubble () {
|
|
25535
|
-
var event = d3.dispatch(
|
|
25536
|
-
var anchoredCirclesComponent = component().prop(
|
|
24348
|
+
var event = d3.dispatch('over', 'out', 'click');
|
|
24349
|
+
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 () {
|
|
25537
24350
|
var selection = d3.select(this);
|
|
25538
24351
|
var props = selection.props();
|
|
25539
24352
|
var radiusAcc = compose(props.radius, datumAcc);
|
|
25540
|
-
var anchoredCircles = selection.selectGroup(
|
|
24353
|
+
var anchoredCircles = selection.selectGroup('anchoredCircles').selectAll('.sszvis-anchored-circle').data(props.mergedData, function (d) {
|
|
25541
24354
|
return d.geoJson.id;
|
|
25542
24355
|
});
|
|
25543
|
-
anchoredCircles.enter().append(
|
|
25544
|
-
event.call(
|
|
25545
|
-
}).on(
|
|
25546
|
-
event.call(
|
|
25547
|
-
}).on(
|
|
25548
|
-
event.call(
|
|
25549
|
-
}).merge(anchoredCircles).attr(
|
|
24356
|
+
anchoredCircles.enter().append('circle').attr('class', 'sszvis-anchored-circle sszvis-anchored-circle--entering').attr('r', radiusAcc).on('mouseover', function (d) {
|
|
24357
|
+
event.call('over', this, d.datum);
|
|
24358
|
+
}).on('mouseout', function (d) {
|
|
24359
|
+
event.call('out', this, d.datum);
|
|
24360
|
+
}).on('click', function (d) {
|
|
24361
|
+
event.call('click', this, d.datum);
|
|
24362
|
+
}).merge(anchoredCircles).attr('transform', function (d) {
|
|
25550
24363
|
var position = props.mapPath.projection()(getGeoJsonCenter(d.geoJson));
|
|
25551
24364
|
return translateString(position[0], position[1]);
|
|
25552
|
-
}).style(
|
|
24365
|
+
}).style('fill', function (d) {
|
|
25553
24366
|
return props.fill(d.datum);
|
|
25554
|
-
}).style(
|
|
24367
|
+
}).style('stroke', function (d) {
|
|
25555
24368
|
return props.strokeColor(d.datum);
|
|
25556
|
-
}).style(
|
|
24369
|
+
}).style('stroke-width', function (d) {
|
|
25557
24370
|
return props.strokeWidth(d.datum);
|
|
25558
24371
|
}).sort(function (a, b) {
|
|
25559
24372
|
return props.radius(b.datum) - props.radius(a.datum);
|
|
25560
24373
|
}); // Remove the --entering modifier from the updating circles
|
|
25561
24374
|
|
|
25562
|
-
anchoredCircles.classed(
|
|
24375
|
+
anchoredCircles.classed('sszvis-anchored-circle--entering', false);
|
|
25563
24376
|
|
|
25564
24377
|
if (props.transition) {
|
|
25565
24378
|
var t = defaultTransition();
|
|
25566
|
-
anchoredCircles.exit().transition(t).attr(
|
|
25567
|
-
anchoredCircles.transition(t).attr(
|
|
24379
|
+
anchoredCircles.exit().transition(t).attr('r', 0).remove();
|
|
24380
|
+
anchoredCircles.transition(t).attr('r', radiusAcc);
|
|
25568
24381
|
} else {
|
|
25569
24382
|
anchoredCircles.exit().remove();
|
|
25570
|
-
anchoredCircles.attr(
|
|
24383
|
+
anchoredCircles.attr('r', radiusAcc);
|
|
25571
24384
|
}
|
|
25572
24385
|
});
|
|
25573
24386
|
|
|
@@ -25602,45 +24415,45 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25602
24415
|
* @return {sszvis.component}
|
|
25603
24416
|
*/
|
|
25604
24417
|
function mapRendererBase () {
|
|
25605
|
-
return component().prop(
|
|
25606
|
-
.prop(
|
|
25607
|
-
return
|
|
24418
|
+
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
|
|
24419
|
+
.prop('fill', functor).fill(function () {
|
|
24420
|
+
return 'black';
|
|
25608
24421
|
}) // a function for the entity fill color. default is black
|
|
25609
|
-
.prop(
|
|
24422
|
+
.prop('transitionColor').transitionColor(true).render(function () {
|
|
25610
24423
|
var selection = d3.select(this);
|
|
25611
24424
|
var props = selection.props(); // render the missing value pattern
|
|
25612
24425
|
|
|
25613
|
-
ensureDefsElement(selection,
|
|
24426
|
+
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
|
|
25614
24427
|
|
|
25615
24428
|
function getMapFill(d) {
|
|
25616
|
-
return props.defined(d.datum) ? props.fill(d.datum) :
|
|
24429
|
+
return props.defined(d.datum) ? props.fill(d.datum) : 'url(#missing-pattern)';
|
|
25617
24430
|
}
|
|
25618
24431
|
|
|
25619
|
-
var mapAreas = selection.selectAll(
|
|
24432
|
+
var mapAreas = selection.selectAll('.sszvis-map__area').data(props.mergedData); // add the base map paths - these are filled according to the map fill function
|
|
25620
24433
|
|
|
25621
|
-
var newMapAreas = mapAreas.enter().append(
|
|
25622
|
-
mapAreas.classed(
|
|
24434
|
+
var newMapAreas = mapAreas.enter().append('path').classed('sszvis-map__area', true).classed('sszvis-map__area--entering', true).attr('data-event-target', '').attr('fill', getMapFill);
|
|
24435
|
+
mapAreas.classed('sszvis-map__area--entering', false);
|
|
25623
24436
|
mapAreas.exit().remove();
|
|
25624
24437
|
mapAreas = mapAreas.merge(newMapAreas);
|
|
25625
|
-
selection.selectAll(
|
|
24438
|
+
selection.selectAll('.sszvis-map__area--undefined').attr('fill', getMapFill); // change the fill if necessary
|
|
25626
24439
|
|
|
25627
|
-
mapAreas.classed(
|
|
24440
|
+
mapAreas.classed('sszvis-map__area--undefined', function (d) {
|
|
25628
24441
|
return !defined(d.datum) || !props.defined(d.datum);
|
|
25629
|
-
}).attr(
|
|
24442
|
+
}).attr('d', function (d) {
|
|
25630
24443
|
return props.mapPath(d.geoJson);
|
|
25631
24444
|
});
|
|
25632
24445
|
|
|
25633
24446
|
if (props.transitionColor) {
|
|
25634
|
-
mapAreas.transition().call(slowTransition).attr(
|
|
24447
|
+
mapAreas.transition().call(slowTransition).attr('fill', getMapFill);
|
|
25635
24448
|
} else {
|
|
25636
|
-
mapAreas.attr(
|
|
24449
|
+
mapAreas.attr('fill', getMapFill);
|
|
25637
24450
|
} // the tooltip anchor generator
|
|
25638
24451
|
|
|
25639
24452
|
|
|
25640
24453
|
var ta = tooltipAnchor().position(function (d) {
|
|
25641
24454
|
return props.mapPath.projection()(getGeoJsonCenter(d.geoJson));
|
|
25642
24455
|
});
|
|
25643
|
-
var tooltipGroup = selection.selectGroup(
|
|
24456
|
+
var tooltipGroup = selection.selectGroup('tooltipAnchors').datum(props.mergedData); // attach tooltip anchors
|
|
25644
24457
|
|
|
25645
24458
|
tooltipGroup.call(ta);
|
|
25646
24459
|
});
|
|
@@ -25669,12 +24482,12 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25669
24482
|
* @return {sszvis.component}
|
|
25670
24483
|
*/
|
|
25671
24484
|
function geojson () {
|
|
25672
|
-
var event = d3.dispatch(
|
|
25673
|
-
var geojsonComponent = component().prop(
|
|
24485
|
+
var event = d3.dispatch('over', 'out', 'click');
|
|
24486
|
+
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) {
|
|
25674
24487
|
var selection = d3.select(this);
|
|
25675
24488
|
var props = selection.props(); // render the missing value pattern
|
|
25676
24489
|
|
|
25677
|
-
ensureDefsElement(selection,
|
|
24490
|
+
ensureDefsElement(selection, 'pattern', 'missing-pattern').call(mapMissingValuePattern); // getDataKeyName will be called on data values. It should return a map entity id.
|
|
25678
24491
|
// getMapKeyName will be called on the 'properties' of each map feature. It should
|
|
25679
24492
|
// return a map entity id. Data values are matched with corresponding map features using
|
|
25680
24493
|
// these entity ids.
|
|
@@ -25693,36 +24506,36 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25693
24506
|
});
|
|
25694
24507
|
|
|
25695
24508
|
function getMapFill(d) {
|
|
25696
|
-
return defined(d.datum) && props.defined(d.datum) ? props.fill(d.datum) :
|
|
24509
|
+
return defined(d.datum) && props.defined(d.datum) ? props.fill(d.datum) : 'url(#missing-pattern)';
|
|
25697
24510
|
}
|
|
25698
24511
|
|
|
25699
24512
|
function getMapStroke(d) {
|
|
25700
|
-
return defined(d.datum) && props.defined(d.datum) ? props.stroke(d.datum) :
|
|
24513
|
+
return defined(d.datum) && props.defined(d.datum) ? props.stroke(d.datum) : '';
|
|
25701
24514
|
}
|
|
25702
24515
|
|
|
25703
|
-
var geoElements = selection.selectAll(
|
|
25704
|
-
var newGeoElements = geoElements.enter().append(
|
|
24516
|
+
var geoElements = selection.selectAll('.sszvis-map__geojsonelement').data(mergedData);
|
|
24517
|
+
var newGeoElements = geoElements.enter().append('path').classed('sszvis-map__geojsonelement', true).attr('data-event-target', '').attr('fill', getMapFill);
|
|
25705
24518
|
geoElements.exit().remove();
|
|
25706
24519
|
geoElements = geoElements.merge(newGeoElements);
|
|
25707
|
-
selection.selectAll(
|
|
25708
|
-
geoElements.classed(
|
|
24520
|
+
selection.selectAll('.sszvis-map__geojsonelement--undefined').attr('fill', getMapFill);
|
|
24521
|
+
geoElements.classed('sszvis-map__geojsonelement--undefined', function (d) {
|
|
25709
24522
|
return !defined(d.datum) || !props.defined(d.datum);
|
|
25710
|
-
}).attr(
|
|
24523
|
+
}).attr('d', function (d) {
|
|
25711
24524
|
return props.mapPath(d.geoJson);
|
|
25712
24525
|
});
|
|
25713
24526
|
|
|
25714
24527
|
if (props.transitionColor) {
|
|
25715
|
-
geoElements.transition().call(slowTransition).attr(
|
|
24528
|
+
geoElements.transition().call(slowTransition).attr('fill', getMapFill);
|
|
25716
24529
|
} else {
|
|
25717
|
-
geoElements.attr(
|
|
24530
|
+
geoElements.attr('fill', getMapFill);
|
|
25718
24531
|
}
|
|
25719
24532
|
|
|
25720
|
-
geoElements.attr(
|
|
25721
|
-
selection.selectAll(
|
|
24533
|
+
geoElements.attr('stroke', getMapStroke).attr('stroke-width', props.strokeWidth);
|
|
24534
|
+
selection.selectAll('[data-event-target]').on('mouseover', function (d) {
|
|
25722
24535
|
event.over(d.datum);
|
|
25723
|
-
}).on(
|
|
24536
|
+
}).on('mouseout', function (d) {
|
|
25724
24537
|
event.out(d.datum);
|
|
25725
|
-
}).on(
|
|
24538
|
+
}).on('click', function (d) {
|
|
25726
24539
|
event.click(d.datum);
|
|
25727
24540
|
}); // the tooltip anchor generator
|
|
25728
24541
|
|
|
@@ -25736,7 +24549,7 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25736
24549
|
|
|
25737
24550
|
return props.mapPath.projection()(sphericalCentroid);
|
|
25738
24551
|
});
|
|
25739
|
-
var tooltipGroup = selection.selectGroup(
|
|
24552
|
+
var tooltipGroup = selection.selectGroup('tooltipAnchors').datum(mergedData); // attach tooltip anchors
|
|
25740
24553
|
|
|
25741
24554
|
tooltipGroup.call(ta);
|
|
25742
24555
|
});
|
|
@@ -25767,13 +24580,13 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25767
24580
|
* @return {sszvis.component}
|
|
25768
24581
|
*/
|
|
25769
24582
|
function mapRendererHighlight () {
|
|
25770
|
-
return component().prop(
|
|
25771
|
-
.prop(
|
|
25772
|
-
.prop(
|
|
25773
|
-
.prop(
|
|
24583
|
+
return component().prop('keyName').keyName(GEO_KEY_DEFAULT) // the name of the data key that identifies which map entity it belongs to
|
|
24584
|
+
.prop('geoJson').prop('mapPath').prop('highlight').highlight([]) // an array of data values to highlight
|
|
24585
|
+
.prop('highlightStroke', functor).highlightStroke('white') // a function for highlighted entity stroke colors (default: white)
|
|
24586
|
+
.prop('highlightStrokeWidth', functor).highlightStrokeWidth(2).render(function () {
|
|
25774
24587
|
var selection = d3.select(this);
|
|
25775
24588
|
var props = selection.props();
|
|
25776
|
-
var highlightBorders = selection.selectAll(
|
|
24589
|
+
var highlightBorders = selection.selectAll('.sszvis-map__highlight');
|
|
25777
24590
|
|
|
25778
24591
|
if (!props.highlight.length) {
|
|
25779
24592
|
highlightBorders.remove();
|
|
@@ -25796,14 +24609,14 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25796
24609
|
return m;
|
|
25797
24610
|
}, []);
|
|
25798
24611
|
highlightBorders = highlightBorders.data(mergedHighlight);
|
|
25799
|
-
var newHighlightBorders = highlightBorders.enter().append(
|
|
24612
|
+
var newHighlightBorders = highlightBorders.enter().append('path').classed('sszvis-map__highlight', true);
|
|
25800
24613
|
highlightBorders.exit().remove();
|
|
25801
24614
|
highlightBorders = highlightBorders.merge(newHighlightBorders);
|
|
25802
|
-
highlightBorders.attr(
|
|
24615
|
+
highlightBorders.attr('d', function (d) {
|
|
25803
24616
|
return props.mapPath(d.geoJson);
|
|
25804
|
-
}).style(
|
|
24617
|
+
}).style('stroke', function (d) {
|
|
25805
24618
|
return props.highlightStroke(d.datum);
|
|
25806
|
-
}).style(
|
|
24619
|
+
}).style('stroke-width', function (d) {
|
|
25807
24620
|
return props.highlightStrokeWidth(d.datum);
|
|
25808
24621
|
});
|
|
25809
24622
|
});
|
|
@@ -25837,17 +24650,17 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25837
24650
|
* @return {sszvis.component}
|
|
25838
24651
|
*/
|
|
25839
24652
|
function image () {
|
|
25840
|
-
return component().prop(
|
|
24653
|
+
return component().prop('projection').prop('src').prop('geoBounds').prop('opacity').opacity(1).render(function () {
|
|
25841
24654
|
var selection = d3.select(this);
|
|
25842
24655
|
var props = selection.props();
|
|
25843
|
-
var image = selection.selectAll(
|
|
24656
|
+
var image = selection.selectAll('.sszvis-map__image').data([0]); // At the moment, 1 image per container
|
|
25844
24657
|
|
|
25845
|
-
var newImage = image.enter().append(
|
|
24658
|
+
var newImage = image.enter().append('img').classed('sszvis-map__image', true);
|
|
25846
24659
|
image.exit().remove();
|
|
25847
24660
|
image = image.merge(newImage);
|
|
25848
24661
|
var topLeft = props.projection(props.geoBounds[0]);
|
|
25849
24662
|
var bottomRight = props.projection(props.geoBounds[1]);
|
|
25850
|
-
image.attr(
|
|
24663
|
+
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);
|
|
25851
24664
|
});
|
|
25852
24665
|
}
|
|
25853
24666
|
|
|
@@ -25869,16 +24682,16 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25869
24682
|
* @return {sszvis.component}
|
|
25870
24683
|
*/
|
|
25871
24684
|
function mapRendererMesh () {
|
|
25872
|
-
return component().prop(
|
|
25873
|
-
.prop(
|
|
24685
|
+
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
|
|
24686
|
+
.prop('strokeWidth').strokeWidth(1.25).render(function () {
|
|
25874
24687
|
var selection = d3.select(this);
|
|
25875
24688
|
var props = selection.props(); // add the map borders. These are rendered as one single path element
|
|
25876
24689
|
|
|
25877
|
-
var meshLine = selection.selectAll(
|
|
25878
|
-
var newMeshLine = meshLine.enter().append(
|
|
24690
|
+
var meshLine = selection.selectAll('.sszvis-map__border').data([props.geoJson]);
|
|
24691
|
+
var newMeshLine = meshLine.enter().append('path').classed('sszvis-map__border', true);
|
|
25879
24692
|
meshLine.exit().remove();
|
|
25880
24693
|
meshLine = meshLine.merge(newMeshLine);
|
|
25881
|
-
meshLine.attr(
|
|
24694
|
+
meshLine.attr('d', props.mapPath).style('stroke', props.borderColor).style('stroke-width', props.strokeWidth);
|
|
25882
24695
|
});
|
|
25883
24696
|
}
|
|
25884
24697
|
|
|
@@ -25899,41 +24712,41 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25899
24712
|
* @return {sszvis.component}
|
|
25900
24713
|
*/
|
|
25901
24714
|
function mapRendererPatternedLakeOverlay () {
|
|
25902
|
-
return component().prop(
|
|
24715
|
+
return component().prop('mapPath').prop('lakeFeature').prop('lakeBounds').prop('lakePathColor').prop('fadeOut').fadeOut(true).render(function () {
|
|
25903
24716
|
var selection = d3.select(this);
|
|
25904
24717
|
var props = selection.props(); // the lake texture
|
|
25905
24718
|
|
|
25906
|
-
ensureDefsElement(selection,
|
|
24719
|
+
ensureDefsElement(selection, 'pattern', 'lake-pattern').call(mapLakePattern);
|
|
25907
24720
|
|
|
25908
24721
|
if (props.fadeOut) {
|
|
25909
24722
|
// the fade gradient
|
|
25910
|
-
ensureDefsElement(selection,
|
|
24723
|
+
ensureDefsElement(selection, 'linearGradient', 'lake-fade-gradient').call(mapLakeFadeGradient); // the mask, which uses the fade gradient
|
|
25911
24724
|
|
|
25912
|
-
ensureDefsElement(selection,
|
|
24725
|
+
ensureDefsElement(selection, 'mask', 'lake-fade-mask').call(mapLakeGradientMask);
|
|
25913
24726
|
} // generate the Lake Zurich path
|
|
25914
24727
|
|
|
25915
24728
|
|
|
25916
|
-
var zurichSee = selection.selectAll(
|
|
25917
|
-
var newZurichSee = zurichSee.enter().append(
|
|
24729
|
+
var zurichSee = selection.selectAll('.sszvis-map__lakezurich').data([props.lakeFeature]);
|
|
24730
|
+
var newZurichSee = zurichSee.enter().append('path').classed('sszvis-map__lakezurich', true);
|
|
25918
24731
|
zurichSee.exit().remove();
|
|
25919
24732
|
zurichSee = zurichSee.merge(newZurichSee);
|
|
25920
|
-
zurichSee.attr(
|
|
24733
|
+
zurichSee.attr('d', props.mapPath).attr('fill', 'url(#lake-pattern)');
|
|
25921
24734
|
|
|
25922
24735
|
if (props.fadeOut) {
|
|
25923
24736
|
// this mask applies the fade effect
|
|
25924
|
-
zurichSee.attr(
|
|
24737
|
+
zurichSee.attr('mask', 'url(#lake-fade-mask)');
|
|
25925
24738
|
} // add a path for the boundaries of map entities which extend over the lake.
|
|
25926
24739
|
// This path is rendered as a dotted line over the lake shape
|
|
25927
24740
|
|
|
25928
24741
|
|
|
25929
|
-
var lakePath = selection.selectAll(
|
|
25930
|
-
var newLakePath = lakePath.enter().append(
|
|
24742
|
+
var lakePath = selection.selectAll('.sszvis-map__lakepath').data([props.lakeBounds]);
|
|
24743
|
+
var newLakePath = lakePath.enter().append('path').classed('sszvis-map__lakepath', true);
|
|
25931
24744
|
lakePath.exit().remove();
|
|
25932
24745
|
lakePath = lakePath.merge(newLakePath);
|
|
25933
|
-
lakePath.attr(
|
|
24746
|
+
lakePath.attr('d', props.mapPath);
|
|
25934
24747
|
|
|
25935
24748
|
if (props.lakePathColor) {
|
|
25936
|
-
lakePath.style(
|
|
24749
|
+
lakePath.style('stroke', props.lakePathColor);
|
|
25937
24750
|
}
|
|
25938
24751
|
});
|
|
25939
24752
|
}
|
|
@@ -25960,21 +24773,21 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
25960
24773
|
* @return {sszvis.component}
|
|
25961
24774
|
*/
|
|
25962
24775
|
function raster () {
|
|
25963
|
-
return component().prop(
|
|
24776
|
+
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) {
|
|
25964
24777
|
var selection = d3.select(this);
|
|
25965
24778
|
var props = selection.props();
|
|
25966
|
-
var canvas = selection.selectAll(
|
|
25967
|
-
var newCanvas = canvas.enter().append(
|
|
24779
|
+
var canvas = selection.selectAll('.sszvis-map__rasterimage').data([0]);
|
|
24780
|
+
var newCanvas = canvas.enter().append('canvas').classed('sszvis-map__rasterimage', true);
|
|
25968
24781
|
canvas.exit().remove();
|
|
25969
24782
|
canvas = canvas.merge(newCanvas);
|
|
25970
|
-
canvas.attr(
|
|
25971
|
-
var ctx = canvas.node().getContext(
|
|
24783
|
+
canvas.attr('width', props.width).attr('height', props.height).style('opacity', props.opacity);
|
|
24784
|
+
var ctx = canvas.node().getContext('2d');
|
|
25972
24785
|
ctx.clearRect(0, 0, props.width, props.height);
|
|
25973
24786
|
|
|
25974
24787
|
if (props.debug) {
|
|
25975
24788
|
// Displays a rectangle that fills the canvas.
|
|
25976
24789
|
// Useful for checking alignment with other render layers.
|
|
25977
|
-
ctx.fillStyle =
|
|
24790
|
+
ctx.fillStyle = 'rgba(255, 0, 0, 0.2)';
|
|
25978
24791
|
ctx.fillRect(0, 0, props.width, props.height);
|
|
25979
24792
|
}
|
|
25980
24793
|
|
|
@@ -26454,6 +25267,127 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
26454
25267
|
var modularTextHTML = makeTextWithFormat(formatHTML());
|
|
26455
25268
|
var modularTextSVG = makeTextWithFormat(formatSVG());
|
|
26456
25269
|
|
|
25270
|
+
/**
|
|
25271
|
+
* Viewport Resize watcher
|
|
25272
|
+
*
|
|
25273
|
+
* The resize watcher in the sszvis.viewport module can be used for alerting user code to
|
|
25274
|
+
* changes in the browser window size. This includes window resizing on desktop computers
|
|
25275
|
+
* and browsers, but also orientation changes on mobile browsers. Functions which listen
|
|
25276
|
+
* to the 'resize' event of the sszvis.viewport module will be fired on window resize.
|
|
25277
|
+
* You can add a resize listener to your application very easily:
|
|
25278
|
+
*
|
|
25279
|
+
* sszvis.viewport.on('resize', listenerFunction);
|
|
25280
|
+
*
|
|
25281
|
+
* The listener function will be called once per resize event, but at a slight delay. This is because,
|
|
25282
|
+
* while a user is resizing their browser window, many resize events can fire very quickly. This component
|
|
25283
|
+
* automatically throttles the rate at which the listener function is called, since you probably don't need
|
|
25284
|
+
* to respond to every single resize event. This throttling provides for a smoother user experience as they
|
|
25285
|
+
* resize the browser, and increases performance across the board. The listener function will always be
|
|
25286
|
+
* called after one or more window resize events, it just won't be called as often as the window fires the
|
|
25287
|
+
* events.
|
|
25288
|
+
*
|
|
25289
|
+
* @module sszvis/viewport
|
|
25290
|
+
*
|
|
25291
|
+
* @function {string, function} on the .on() function is used to listen to the resize event itself.
|
|
25292
|
+
* There is only one event supported by this component at the moment, so
|
|
25293
|
+
* the first argument to .on must be 'resize' for it to have any effect.
|
|
25294
|
+
* Although this is somewhat redundant, it is done to keep this component's
|
|
25295
|
+
* API clear and in line with other components.
|
|
25296
|
+
*
|
|
25297
|
+
* @return {Object}
|
|
25298
|
+
*/
|
|
25299
|
+
|
|
25300
|
+
function throttle(wait, func) {
|
|
25301
|
+
var context, args, result;
|
|
25302
|
+
var timeout = null;
|
|
25303
|
+
var previous = 0;
|
|
25304
|
+
|
|
25305
|
+
var lastCall = function lastCall() {
|
|
25306
|
+
previous = 0;
|
|
25307
|
+
result = func.apply(context, args);
|
|
25308
|
+
timeout = context = args = null;
|
|
25309
|
+
};
|
|
25310
|
+
|
|
25311
|
+
return function () {
|
|
25312
|
+
var now = Date.now();
|
|
25313
|
+
if (!previous) previous = now; // Sets up so that the function isn't called immediately
|
|
25314
|
+
|
|
25315
|
+
var remaining = wait - (now - previous);
|
|
25316
|
+
context = this;
|
|
25317
|
+
args = arguments;
|
|
25318
|
+
|
|
25319
|
+
if (remaining <= 0 || remaining > wait) {
|
|
25320
|
+
if (timeout) {
|
|
25321
|
+
clearTimeout(timeout);
|
|
25322
|
+
timeout = null;
|
|
25323
|
+
}
|
|
25324
|
+
|
|
25325
|
+
previous = now;
|
|
25326
|
+
result = func.apply(context, args);
|
|
25327
|
+
if (!timeout) context = args = null;
|
|
25328
|
+
} else if (!timeout) {
|
|
25329
|
+
timeout = setTimeout(lastCall, remaining);
|
|
25330
|
+
}
|
|
25331
|
+
|
|
25332
|
+
return result;
|
|
25333
|
+
};
|
|
25334
|
+
} // This rather strange set of functions is designed to support the API:
|
|
25335
|
+
// sszvis.viewport.on('resize', callback);
|
|
25336
|
+
// While still enabling the user to register multiple callbacks for the 'resize'
|
|
25337
|
+
// event. Multiple callbacks are a feature which simply returning a d3.dispatch('resize')
|
|
25338
|
+
// object would not allow.
|
|
25339
|
+
|
|
25340
|
+
|
|
25341
|
+
var callbacks = {
|
|
25342
|
+
resize: []
|
|
25343
|
+
};
|
|
25344
|
+
|
|
25345
|
+
if (typeof window !== "undefined") {
|
|
25346
|
+
d3.select(window).on("resize", throttle(500, function () {
|
|
25347
|
+
trigger("resize");
|
|
25348
|
+
}));
|
|
25349
|
+
}
|
|
25350
|
+
|
|
25351
|
+
var on = function on(name, cb) {
|
|
25352
|
+
if (!callbacks[name]) {
|
|
25353
|
+
callbacks[name] = [];
|
|
25354
|
+
}
|
|
25355
|
+
|
|
25356
|
+
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
25357
|
+
return fn !== cb;
|
|
25358
|
+
}).concat(cb);
|
|
25359
|
+
return this;
|
|
25360
|
+
};
|
|
25361
|
+
|
|
25362
|
+
var off = function off(name, cb) {
|
|
25363
|
+
if (!callbacks[name]) {
|
|
25364
|
+
return this;
|
|
25365
|
+
}
|
|
25366
|
+
|
|
25367
|
+
callbacks[name] = callbacks[name].filter(function (fn) {
|
|
25368
|
+
return fn !== cb;
|
|
25369
|
+
});
|
|
25370
|
+
return this;
|
|
25371
|
+
};
|
|
25372
|
+
|
|
25373
|
+
var trigger = function trigger(name) {
|
|
25374
|
+
var evtArgs = Array.prototype.slice.call(arguments, 1);
|
|
25375
|
+
|
|
25376
|
+
if (callbacks[name]) {
|
|
25377
|
+
callbacks[name].forEach(function (fn) {
|
|
25378
|
+
fn.apply(null, evtArgs);
|
|
25379
|
+
});
|
|
25380
|
+
}
|
|
25381
|
+
|
|
25382
|
+
return this;
|
|
25383
|
+
};
|
|
25384
|
+
|
|
25385
|
+
var viewport = {
|
|
25386
|
+
on: on,
|
|
25387
|
+
off: off,
|
|
25388
|
+
trigger: trigger
|
|
25389
|
+
};
|
|
25390
|
+
|
|
26457
25391
|
exports.AGGLOMERATION_2012_KEY = AGGLOMERATION_2012_KEY;
|
|
26458
25392
|
exports.DEFAULT_LEGEND_COLOR_ORDINAL_ROW_HEIGHT = DEFAULT_LEGEND_COLOR_ORDINAL_ROW_HEIGHT;
|
|
26459
25393
|
exports.DEFAULT_WIDTH = DEFAULT_WIDTH;
|
|
@@ -26470,7 +25404,6 @@ var sszvis = createCommonjsModule(function (module, exports) {
|
|
|
26470
25404
|
exports.annotationRangeRuler = rangeRuler;
|
|
26471
25405
|
exports.annotationRectangle = rectangle;
|
|
26472
25406
|
exports.annotationRuler = ruler;
|
|
26473
|
-
exports.app = app;
|
|
26474
25407
|
exports.arity = arity;
|
|
26475
25408
|
exports.aspectRatio = aspectRatio;
|
|
26476
25409
|
exports.aspectRatio12to5 = aspectRatio12to5;
|
|
@@ -27152,7 +26085,7 @@ const topojson = /*#__PURE__*/Object.freeze({
|
|
|
27152
26085
|
untransform: untransform
|
|
27153
26086
|
});
|
|
27154
26087
|
|
|
27155
|
-
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}";
|
|
26088
|
+
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}";
|
|
27156
26089
|
|
|
27157
26090
|
const StzhChart = class {
|
|
27158
26091
|
constructor(hostRef) {
|