@thegetty/quire-cli 0.20.2 → 0.20.3
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/index.js +20 -0
- package/package.json +1 -1
- package/CHANGELOG.md +0 -46
- package/bin/.DS_Store +0 -0
- package/bin/go-iiif/.DS_Store +0 -0
- package/bin/index.js +0 -2
- package/bin/starters/README.md +0 -0
- package/bin/starters/default/.circleci/config.yml +0 -98
- package/bin/starters/default/.gitignore +0 -14
- package/bin/starters/default/.nojekyll +0 -0
- package/bin/starters/default/CHANGELOG.md +0 -38
- package/bin/starters/default/README.md +0 -25
- package/bin/starters/default/bin/deploy.sh +0 -25
- package/bin/starters/default/config/_default/config.yml +0 -53
- package/bin/starters/default/config/development/config.yml +0 -14
- package/bin/starters/default/config/environments/dev.yml +0 -14
- package/bin/starters/default/config/environments/github.yml +0 -15
- package/bin/starters/default/config/environments/netlify.yml +0 -18
- package/bin/starters/default/config/epub.yml +0 -15
- package/bin/starters/default/config/pdf.yml +0 -16
- package/bin/starters/default/config/site.yml +0 -13
- package/bin/starters/default/config.yml +0 -53
- package/bin/starters/default/content/about.md +0 -20
- package/bin/starters/default/content/bibliography.md +0 -7
- package/bin/starters/default/content/catalogue/1.md +0 -28
- package/bin/starters/default/content/catalogue/2.md +0 -29
- package/bin/starters/default/content/catalogue/3.md +0 -20
- package/bin/starters/default/content/catalogue/4.md +0 -22
- package/bin/starters/default/content/catalogue/catalogue-index.md +0 -8
- package/bin/starters/default/content/contents.md +0 -7
- package/bin/starters/default/content/contributors.md +0 -7
- package/bin/starters/default/content/cover.md +0 -11
- package/bin/starters/default/content/essay.md +0 -80
- package/bin/starters/default/content/intro.md +0 -21
- package/bin/starters/default/content/search-index.md +0 -8
- package/bin/starters/default/data/figures.yml +0 -90
- package/bin/starters/default/data/objects.yml +0 -49
- package/bin/starters/default/data/publication.yml +0 -149
- package/bin/starters/default/data/references.yml +0 -11
- package/bin/starters/default/static/css/custom.css +0 -0
- package/bin/starters/default/static/data/sample-geojson.json +0 -16
- package/bin/starters/default/static/downloads/.gitkeep +0 -0
- package/bin/starters/default/static/downloads/output.epub +0 -0
- package/bin/starters/default/static/downloads/output.mobi +0 -0
- package/bin/starters/default/static/downloads/output.pdf +0 -0
- package/bin/starters/default/static/img/contributors/judith-keller.jpg +0 -0
- package/bin/starters/default/static/img/cover.png +0 -0
- package/bin/starters/default/static/img/figures/duo.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-burroughs.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-child.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-graveyard.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-hymns.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-legionnaire.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-refugee.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-sons.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-video-still.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans-washroom.jpg +0 -0
- package/bin/starters/default/static/img/figures/evans.jpg +0 -0
- package/bin/starters/default/static/img/figures/family.jpg +0 -0
- package/bin/starters/default/static/img/figures/lange-house.jpg +0 -0
- package/bin/starters/default/static/img/figures/lange.jpg +0 -0
- package/bin/starters/default/static/img/figures/mother-b.jpg +0 -0
- package/bin/starters/default/static/img/figures/mother-c.jpg +0 -0
- package/bin/starters/default/static/img/figures/mother.jpg +0 -0
- package/bin/starters/default/static/img/figures/pickers.jpg +0 -0
- package/bin/starters/default/static/img/logo-getty.png +0 -0
- package/bin/starters/default/static/img/pattern-spiral-overlay.png +0 -0
- package/bin/starters/default/static/js/custom.js +0 -4
- package/bin/themes/README.md +0 -0
- package/bin/themes/default/.circleci/config.yml +0 -62
- package/bin/themes/default/.eslintrc.js +0 -16
- package/bin/themes/default/.gitignore +0 -13
- package/bin/themes/default/.scss-lint.yml +0 -239
- package/bin/themes/default/CHANGELOG.md +0 -73
- package/bin/themes/default/LICENSE.md +0 -20
- package/bin/themes/default/README.md +0 -112
- package/bin/themes/default/archetypes/default.md +0 -2
- package/bin/themes/default/cypress.json +0 -7
- package/bin/themes/default/layouts/404.html +0 -0
- package/bin/themes/default/layouts/_default/baseof.html +0 -43
- package/bin/themes/default/layouts/_default/single.html +0 -26
- package/bin/themes/default/layouts/contents/single.html +0 -37
- package/bin/themes/default/layouts/cover/single.html +0 -128
- package/bin/themes/default/layouts/data/search-index.html +0 -65
- package/bin/themes/default/layouts/entry/single.html +0 -372
- package/bin/themes/default/layouts/essay/single.html +0 -24
- package/bin/themes/default/layouts/partials/analytics.html +0 -29
- package/bin/themes/default/layouts/partials/cite-this.html +0 -348
- package/bin/themes/default/layouts/partials/contents-list/card-image.html +0 -13
- package/bin/themes/default/layouts/partials/contents-list/closing-tags.html +0 -59
- package/bin/themes/default/layouts/partials/contents-list/contents-list.html +0 -179
- package/bin/themes/default/layouts/partials/contents-list/file-dir.html +0 -7
- package/bin/themes/default/layouts/partials/contents-list/file-path.html +0 -10
- package/bin/themes/default/layouts/partials/contents-list/list-item-type.html +0 -9
- package/bin/themes/default/layouts/partials/contents-list/list-item-types/abstract.html +0 -17
- package/bin/themes/default/layouts/partials/contents-list/list-item-types/brief.html +0 -7
- package/bin/themes/default/layouts/partials/contents-list/list-item-types/default.html +0 -9
- package/bin/themes/default/layouts/partials/contents-list/list-item-types/grid.html +0 -30
- package/bin/themes/default/layouts/partials/contents-list/section-heading.html +0 -5
- package/bin/themes/default/layouts/partials/contents-list.html +0 -207
- package/bin/themes/default/layouts/partials/contributor-info.html +0 -78
- package/bin/themes/default/layouts/partials/contributor-list.html +0 -102
- package/bin/themes/default/layouts/partials/copyright.html +0 -155
- package/bin/themes/default/layouts/partials/debug-contents.html +0 -8
- package/bin/themes/default/layouts/partials/dublin-core.html +0 -21
- package/bin/themes/default/layouts/partials/error-message.html +0 -19
- package/bin/themes/default/layouts/partials/figure-caption.html +0 -1
- package/bin/themes/default/layouts/partials/figure-fallback.html +0 -31
- package/bin/themes/default/layouts/partials/figure-image.html +0 -44
- package/bin/themes/default/layouts/partials/figure-label.html +0 -15
- package/bin/themes/default/layouts/partials/figure-soundcloud.html +0 -25
- package/bin/themes/default/layouts/partials/figure-table.html +0 -44
- package/bin/themes/default/layouts/partials/figure-vimeo.html +0 -24
- package/bin/themes/default/layouts/partials/figure-website.html +0 -21
- package/bin/themes/default/layouts/partials/figure-youtube.html +0 -23
- package/bin/themes/default/layouts/partials/figures/caption.html +0 -44
- package/bin/themes/default/layouts/partials/figures/label.html +0 -35
- package/bin/themes/default/layouts/partials/figures/media-types/fallback.html +0 -32
- package/bin/themes/default/layouts/partials/figures/media-types/image.html +0 -54
- package/bin/themes/default/layouts/partials/figures/media-types/soundcloud.html +0 -35
- package/bin/themes/default/layouts/partials/figures/media-types/table.html +0 -53
- package/bin/themes/default/layouts/partials/figures/media-types/vimeo.html +0 -32
- package/bin/themes/default/layouts/partials/figures/media-types/website.html +0 -24
- package/bin/themes/default/layouts/partials/figures/media-types/youtube.html +0 -29
- package/bin/themes/default/layouts/partials/footer-buttons.html +0 -29
- package/bin/themes/default/layouts/partials/head.html +0 -46
- package/bin/themes/default/layouts/partials/icon.html +0 -20
- package/bin/themes/default/layouts/partials/icons-cc.html +0 -86
- package/bin/themes/default/layouts/partials/icons.html +0 -54
- package/bin/themes/default/layouts/partials/json-ld.html +0 -117
- package/bin/themes/default/layouts/partials/link-list-arrow.html +0 -16
- package/bin/themes/default/layouts/partials/link-list.html +0 -11
- package/bin/themes/default/layouts/partials/menu-header.html +0 -25
- package/bin/themes/default/layouts/partials/menu.html +0 -69
- package/bin/themes/default/layouts/partials/metadata.html +0 -27
- package/bin/themes/default/layouts/partials/navbar.html +0 -173
- package/bin/themes/default/layouts/partials/open-graph.html +0 -43
- package/bin/themes/default/layouts/partials/page-abstract.html +0 -7
- package/bin/themes/default/layouts/partials/page-bibliography.html +0 -59
- package/bin/themes/default/layouts/partials/page-class.html +0 -9
- package/bin/themes/default/layouts/partials/page-contributor.html +0 -48
- package/bin/themes/default/layouts/partials/page-header.html +0 -22
- package/bin/themes/default/layouts/partials/page-title.html +0 -9
- package/bin/themes/default/layouts/partials/page-tombstone.html +0 -36
- package/bin/themes/default/layouts/partials/pdf-info.html +0 -20
- package/bin/themes/default/layouts/partials/pdf-title-pages.html +0 -39
- package/bin/themes/default/layouts/partials/scripts.html +0 -5
- package/bin/themes/default/layouts/partials/search.html +0 -52
- package/bin/themes/default/layouts/partials/site-title.html +0 -9
- package/bin/themes/default/layouts/partials/tests/check-node-modules.html +0 -9
- package/bin/themes/default/layouts/partials/tests/check-page-one-class.html +0 -21
- package/bin/themes/default/layouts/partials/tests/check-page-weights.html +0 -49
- package/bin/themes/default/layouts/partials/tests/run.html +0 -13
- package/bin/themes/default/layouts/partials/twitter-card.html +0 -23
- package/bin/themes/default/layouts/shortcodes/q-bibliography.html +0 -61
- package/bin/themes/default/layouts/shortcodes/q-cite.html +0 -79
- package/bin/themes/default/layouts/shortcodes/q-class.html +0 -3
- package/bin/themes/default/layouts/shortcodes/q-contributor.html +0 -327
- package/bin/themes/default/layouts/shortcodes/q-contributors.html +0 -11
- package/bin/themes/default/layouts/shortcodes/q-figure-group.html +0 -457
- package/bin/themes/default/layouts/shortcodes/q-figure-new.html +0 -70
- package/bin/themes/default/layouts/shortcodes/q-figure-zoom.html +0 -408
- package/bin/themes/default/layouts/shortcodes/q-figure.html +0 -86
- package/bin/themes/default/layouts/sitemap.xml +0 -24
- package/bin/themes/default/layouts/splash/single.html +0 -67
- package/bin/themes/default/package-lock.json +0 -13198
- package/bin/themes/default/package.json +0 -96
- package/bin/themes/default/source/css/application.scss +0 -30
- package/bin/themes/default/source/css/bulma-components.scss +0 -21
- package/bin/themes/default/source/css/colors.scss +0 -16
- package/bin/themes/default/source/css/components/_all.scss +0 -15
- package/bin/themes/default/source/css/components/container.sass +0 -35
- package/bin/themes/default/source/css/components/quire-buttons.scss +0 -95
- package/bin/themes/default/source/css/components/quire-citation.scss +0 -77
- package/bin/themes/default/source/css/components/quire-contents-list.scss +0 -329
- package/bin/themes/default/source/css/components/quire-contributors.scss +0 -131
- package/bin/themes/default/source/css/components/quire-copyright.scss +0 -28
- package/bin/themes/default/source/css/components/quire-cover.scss +0 -216
- package/bin/themes/default/source/css/components/quire-deepzoom.scss +0 -181
- package/bin/themes/default/source/css/components/quire-entry.scss +0 -651
- package/bin/themes/default/source/css/components/quire-figure.scss +0 -589
- package/bin/themes/default/source/css/components/quire-map.scss +0 -17
- package/bin/themes/default/source/css/components/quire-menu.scss +0 -209
- package/bin/themes/default/source/css/components/quire-navbar.scss +0 -366
- package/bin/themes/default/source/css/components/quire-page.scss +0 -920
- package/bin/themes/default/source/css/components/quire-popup.scss +0 -233
- package/bin/themes/default/source/css/components/quire-search.scss +0 -121
- package/bin/themes/default/source/css/epub.scss +0 -549
- package/bin/themes/default/source/css/fonts.scss +0 -159
- package/bin/themes/default/source/css/layout.scss +0 -186
- package/bin/themes/default/source/css/print.scss +0 -613
- package/bin/themes/default/source/css/utilities.scss +0 -345
- package/bin/themes/default/source/css/variables.scss +0 -144
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bold.eot +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bold.woff +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bold.woff2 +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bolditalic.eot +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bolditalic.woff +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bolditalic.woff2 +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-italic.eot +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-italic.woff +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-italic.woff2 +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-regular.eot +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-regular.woff +0 -0
- package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-regular.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-bold.eot +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-bold.woff +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-bold.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-bolditalic.eot +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-bolditalic.woff +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-bolditalic.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-italic.eot +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-italic.woff +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-italic.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-regular.eot +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-regular.woff +0 -0
- package/bin/themes/default/source/fonts/noto-sans/notosans-regular.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-bold.eot +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-bold.woff +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-bold.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-bolditalic.eot +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-bolditalic.woff +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-bolditalic.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-italic.eot +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-italic.woff +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-italic.woff2 +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-regular.eot +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-regular.woff +0 -0
- package/bin/themes/default/source/fonts/noto-serif/notoserif-regular.woff2 +0 -0
- package/bin/themes/default/source/img/cover.png +0 -0
- package/bin/themes/default/source/img/fullscreen.png +0 -0
- package/bin/themes/default/source/img/icons/arrow_forward.png +0 -0
- package/bin/themes/default/source/img/icons/baseline-headset-24px.png +0 -0
- package/bin/themes/default/source/img/icons/baseline-videocam-24px.png +0 -0
- package/bin/themes/default/source/img/icons/baseline-website-24px.png +0 -0
- package/bin/themes/default/source/img/icons/cc-by-nc-nd.png +0 -0
- package/bin/themes/default/source/img/icons/cc-by-nc-sa.png +0 -0
- package/bin/themes/default/source/img/icons/cc-by-nc.png +0 -0
- package/bin/themes/default/source/img/icons/cc-by-nd.png +0 -0
- package/bin/themes/default/source/img/icons/cc-by-sa.png +0 -0
- package/bin/themes/default/source/img/icons/cc-by.png +0 -0
- package/bin/themes/default/source/img/icons/cc-zero.png +0 -0
- package/bin/themes/default/source/img/icons/close.png +0 -0
- package/bin/themes/default/source/img/icons/down-arrow.png +0 -0
- package/bin/themes/default/source/img/icons/download.png +0 -0
- package/bin/themes/default/source/img/icons/favicon.ico +0 -0
- package/bin/themes/default/source/img/icons/home.png +0 -0
- package/bin/themes/default/source/img/icons/left-arrow.png +0 -0
- package/bin/themes/default/source/img/icons/link.png +0 -0
- package/bin/themes/default/source/img/icons/nav.png +0 -0
- package/bin/themes/default/source/img/icons/right-arrow.png +0 -0
- package/bin/themes/default/source/img/icons/search.png +0 -0
- package/bin/themes/default/source/img/icons/start.png +0 -0
- package/bin/themes/default/source/img/layers-2x.png +0 -0
- package/bin/themes/default/source/img/layers.png +0 -0
- package/bin/themes/default/source/img/marker-icon.png +0 -0
- package/bin/themes/default/source/img/pattern-spiral-overlay.png +0 -0
- package/bin/themes/default/source/img/promo-screenshots/classic-catalogue.png +0 -0
- package/bin/themes/default/source/img/promo-screenshots/classic-entry.png +0 -0
- package/bin/themes/default/source/img/promo-screenshots/classic-essay.png +0 -0
- package/bin/themes/default/source/img/promo-screenshots/modern-contents.png +0 -0
- package/bin/themes/default/source/img/promo-screenshots/modern-cover.png +0 -0
- package/bin/themes/default/source/img/promo-screenshots/modern-essay.png +0 -0
- package/bin/themes/default/source/js/application.js +0 -604
- package/bin/themes/default/source/js/deepzoom.js +0 -186
- package/bin/themes/default/source/js/epub.js +0 -9
- package/bin/themes/default/source/js/fullscreen.js +0 -190
- package/bin/themes/default/source/js/helper.js +0 -197
- package/bin/themes/default/source/js/map.js +0 -94
- package/bin/themes/default/source/js/navigation.js +0 -59
- package/bin/themes/default/source/js/popup.js +0 -307
- package/bin/themes/default/source/js/search.js +0 -35
- package/bin/themes/default/source/js/soundcloud-api.js +0 -1
- package/bin/themes/default/static/css/epub.css +0 -401
- package/bin/themes/default/static/fonts/MaterialIcons-Regular.eot +0 -0
- package/bin/themes/default/static/fonts/MaterialIcons-Regular.woff +0 -0
- package/bin/themes/default/static/fonts/MaterialIcons-Regular.woff2 +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-bold.eot +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-bold.woff +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-bold.woff2 +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-bolditalic.eot +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-bolditalic.woff +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-bolditalic.woff2 +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-italic.eot +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-italic.woff +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-italic.woff2 +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-regular.eot +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-regular.woff +0 -0
- package/bin/themes/default/static/fonts/ibmplexsanscondensed-regular.woff2 +0 -0
- package/bin/themes/default/static/fonts/notosans-bold.eot +0 -0
- package/bin/themes/default/static/fonts/notosans-bold.woff +0 -0
- package/bin/themes/default/static/fonts/notosans-bold.woff2 +0 -0
- package/bin/themes/default/static/fonts/notosans-bolditalic.eot +0 -0
- package/bin/themes/default/static/fonts/notosans-bolditalic.woff +0 -0
- package/bin/themes/default/static/fonts/notosans-bolditalic.woff2 +0 -0
- package/bin/themes/default/static/fonts/notosans-italic.eot +0 -0
- package/bin/themes/default/static/fonts/notosans-italic.woff +0 -0
- package/bin/themes/default/static/fonts/notosans-italic.woff2 +0 -0
- package/bin/themes/default/static/fonts/notosans-regular.eot +0 -0
- package/bin/themes/default/static/fonts/notosans-regular.woff +0 -0
- package/bin/themes/default/static/fonts/notosans-regular.woff2 +0 -0
- package/bin/themes/default/static/fonts/notoserif-bold.eot +0 -0
- package/bin/themes/default/static/fonts/notoserif-bold.woff +0 -0
- package/bin/themes/default/static/fonts/notoserif-bold.woff2 +0 -0
- package/bin/themes/default/static/fonts/notoserif-bolditalic.eot +0 -0
- package/bin/themes/default/static/fonts/notoserif-bolditalic.woff +0 -0
- package/bin/themes/default/static/fonts/notoserif-bolditalic.woff2 +0 -0
- package/bin/themes/default/static/fonts/notoserif-italic.eot +0 -0
- package/bin/themes/default/static/fonts/notoserif-italic.woff +0 -0
- package/bin/themes/default/static/fonts/notoserif-italic.woff2 +0 -0
- package/bin/themes/default/static/fonts/notoserif-regular.eot +0 -0
- package/bin/themes/default/static/fonts/notoserif-regular.woff +0 -0
- package/bin/themes/default/static/fonts/notoserif-regular.woff2 +0 -0
- package/bin/themes/default/static/img/baseline-website-24px.png +0 -0
- package/bin/themes/default/static/img/cover.png +0 -0
- package/bin/themes/default/static/img/fullscreen.png +0 -0
- package/bin/themes/default/static/img/fullscreen@2x.png +0 -0
- package/bin/themes/default/static/img/icons/arrow_forward.png +0 -0
- package/bin/themes/default/static/img/icons/baseline-headset-24px.png +0 -0
- package/bin/themes/default/static/img/icons/baseline-videocam-24px.png +0 -0
- package/bin/themes/default/static/img/icons/baseline-website-24px.png +0 -0
- package/bin/themes/default/static/img/icons/cc-by-nc-nd.png +0 -0
- package/bin/themes/default/static/img/icons/cc-by-nc-sa.png +0 -0
- package/bin/themes/default/static/img/icons/cc-by-nc.png +0 -0
- package/bin/themes/default/static/img/icons/cc-by-nd.png +0 -0
- package/bin/themes/default/static/img/icons/cc-by-sa.png +0 -0
- package/bin/themes/default/static/img/icons/cc-by.png +0 -0
- package/bin/themes/default/static/img/icons/cc-zero.png +0 -0
- package/bin/themes/default/static/img/icons/close.png +0 -0
- package/bin/themes/default/static/img/icons/down-arrow.png +0 -0
- package/bin/themes/default/static/img/icons/download.png +0 -0
- package/bin/themes/default/static/img/icons/favicon.ico +0 -0
- package/bin/themes/default/static/img/icons/home.png +0 -0
- package/bin/themes/default/static/img/icons/left-arrow.png +0 -0
- package/bin/themes/default/static/img/icons/link.png +0 -0
- package/bin/themes/default/static/img/icons/nav.png +0 -0
- package/bin/themes/default/static/img/icons/right-arrow.png +0 -0
- package/bin/themes/default/static/img/icons/search.png +0 -0
- package/bin/themes/default/static/img/icons/soundcloud.png +0 -0
- package/bin/themes/default/static/img/icons/start.png +0 -0
- package/bin/themes/default/static/img/icons/vimeo.png +0 -0
- package/bin/themes/default/static/img/icons/website.png +0 -0
- package/bin/themes/default/static/img/icons/youtube.png +0 -0
- package/bin/themes/default/static/img/layers-2x.png +0 -0
- package/bin/themes/default/static/img/layers.png +0 -0
- package/bin/themes/default/static/img/marker-icon.png +0 -0
- package/bin/themes/default/static/img/pattern-spiral-overlay.png +0 -0
- package/bin/themes/default/tests/.gitkeep +0 -0
- package/bin/themes/default/tests/e2e/.eslintrc.js +0 -9
- package/bin/themes/default/tests/e2e/fixtures/blns.json +0 -483
- package/bin/themes/default/tests/e2e/plugins/index.js +0 -22
- package/bin/themes/default/tests/e2e/specs/quire-contents.spec.js +0 -52
- package/bin/themes/default/tests/e2e/specs/quire-contributors.spec.js +0 -66
- package/bin/themes/default/tests/e2e/specs/quire-entry.spec.js +0 -104
- package/bin/themes/default/tests/e2e/specs/quire-essay.spec.js +0 -105
- package/bin/themes/default/tests/e2e/specs/quire-menu.spec.js +0 -38
- package/bin/themes/default/tests/e2e/specs/quire-modal.spec.js +0 -69
- package/bin/themes/default/tests/e2e/specs/quire-next-back-buttons.spec.js +0 -27
- package/bin/themes/default/tests/e2e/specs/quire-page.spec.js +0 -28
- package/bin/themes/default/tests/e2e/specs/quire-search.spec.js +0 -48
- package/bin/themes/default/tests/e2e/specs/quire-splash.spec.js +0 -38
- package/bin/themes/default/tests/e2e/support/commands.js +0 -25
- package/bin/themes/default/tests/e2e/support/index.js +0 -20
- package/bin/themes/default/theme.toml +0 -22
- package/bin/themes/default/tsconfig.json +0 -5
- package/bin/themes/default/webpack/webpack.config.dev.js +0 -128
- package/bin/themes/default/webpack/webpack.config.epub.js +0 -140
- package/bin/themes/default/webpack/webpack.config.pdf.js +0 -135
- package/bin/themes/default/webpack/webpack.config.prod.js +0 -133
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
//@ts-check
|
|
2
|
-
|
|
3
|
-
import L from "leaflet";
|
|
4
|
-
import "leaflet-iiif";
|
|
5
|
-
class DeepZoom {
|
|
6
|
-
// add map array to access map objects outside of Deepzoom class
|
|
7
|
-
constructor(id, mapArr) {
|
|
8
|
-
this.id = id;
|
|
9
|
-
this.el = document.querySelector(`#${this.id}`);
|
|
10
|
-
|
|
11
|
-
// remove and refresh before init
|
|
12
|
-
// @ts-ignore
|
|
13
|
-
if (figureModal) {
|
|
14
|
-
if (window["mapID"] != undefined || window["mapID"] != undefined) {
|
|
15
|
-
window["mapID"].off();
|
|
16
|
-
window["mapID"].remove();
|
|
17
|
-
}
|
|
18
|
-
let node = document.getElementById(id);
|
|
19
|
-
if (node) {
|
|
20
|
-
while (node.firstChild) {
|
|
21
|
-
node.removeChild(node.firstChild);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
this.catalogueEntry = this.el.getAttribute("data-catalogue-entry");
|
|
27
|
-
this.imageURL = this.el.getAttribute("src");
|
|
28
|
-
this.iiif = this.el.getAttribute("data-iiif");
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Leaflet options object
|
|
32
|
-
* https://leafletjs.com/reference-1.7.1.html#map-option
|
|
33
|
-
*/
|
|
34
|
-
const options = {
|
|
35
|
-
maxZoom: this.el.getAttribute('data-zoom-max') || 6,
|
|
36
|
-
minZoom: 1,
|
|
37
|
-
scrollWheelZoom: !this.catalogueEntry,
|
|
38
|
-
touchZoom: !this.catalogueEntry,
|
|
39
|
-
zoom: 1
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
if (this.imageURL) {
|
|
43
|
-
let image = new Image();
|
|
44
|
-
image.src = this.imageURL;
|
|
45
|
-
this.addImageProcess(image)
|
|
46
|
-
.then(arr => {
|
|
47
|
-
this.imgHeight = arr.height;
|
|
48
|
-
this.imgWidth = arr.width;
|
|
49
|
-
this.center = [0, 0];
|
|
50
|
-
this.map = this.createMap(options);
|
|
51
|
-
// add leaflet objects to array
|
|
52
|
-
mapArr.push(this.map);
|
|
53
|
-
if (this.catalogueEntry === undefined) {
|
|
54
|
-
window["mapID"] = this.map;
|
|
55
|
-
}
|
|
56
|
-
this.southWest = this.map.unproject(
|
|
57
|
-
[0, this.imgHeight],
|
|
58
|
-
this.map.getMaxZoom() - 1
|
|
59
|
-
);
|
|
60
|
-
this.northEast = this.map.unproject(
|
|
61
|
-
[this.imgWidth, 0],
|
|
62
|
-
this.map.getMaxZoom() - 1
|
|
63
|
-
);
|
|
64
|
-
let bounds = new L.LatLngBounds(this.southWest, this.northEast);
|
|
65
|
-
this.addTiles(bounds);
|
|
66
|
-
// well invalidate
|
|
67
|
-
// this.runMapTimeouts(this.map);
|
|
68
|
-
})
|
|
69
|
-
.catch(error => console.error(error));
|
|
70
|
-
} else if (this.imageURL && this.iiif) {
|
|
71
|
-
this.center = [0, 0];
|
|
72
|
-
this.map = this.createMap(options);
|
|
73
|
-
if (this.catalogueEntry === undefined) {
|
|
74
|
-
window["mapID"] = this.map;
|
|
75
|
-
}
|
|
76
|
-
this.addLayer(this.iiif, this.map);
|
|
77
|
-
this.runMapTimeouts(this.map);
|
|
78
|
-
} else {
|
|
79
|
-
this.center = [0, 0];
|
|
80
|
-
this.map = this.createMap(options);
|
|
81
|
-
if (this.catalogueEntry === undefined) {
|
|
82
|
-
window["mapID"] = this.map;
|
|
83
|
-
}
|
|
84
|
-
this.addLayer(this.iiif, this.map);
|
|
85
|
-
this.runMapTimeouts(this.map);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* validateSize
|
|
91
|
-
* @description
|
|
92
|
-
* invalidateSize map as a promise
|
|
93
|
-
* @param {object} map must be an integer
|
|
94
|
-
*/
|
|
95
|
-
validateSize(map) {
|
|
96
|
-
return new Promise((resolve, reject) => {
|
|
97
|
-
if (!map) reject(new Error("No map!"));
|
|
98
|
-
setTimeout(() => {
|
|
99
|
-
let modal = document.querySelector(".mfp-content");
|
|
100
|
-
if (modal) {
|
|
101
|
-
if (
|
|
102
|
-
map._container ===
|
|
103
|
-
modal.getElementsByTagName("figure")[0].children[0]
|
|
104
|
-
) {
|
|
105
|
-
resolve(map.invalidateSize());
|
|
106
|
-
}
|
|
107
|
-
} else {
|
|
108
|
-
resolve(map.invalidateSize());
|
|
109
|
-
}
|
|
110
|
-
}, 250);
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* runMapTimeouts
|
|
116
|
-
* @description
|
|
117
|
-
* run map timeout functions
|
|
118
|
-
* @param {object} map must be an integer
|
|
119
|
-
*/
|
|
120
|
-
runMapTimeouts(map) {
|
|
121
|
-
setTimeout(() => {
|
|
122
|
-
this.validateSize(map);
|
|
123
|
-
}, 100);
|
|
124
|
-
if ($(window)) {
|
|
125
|
-
$(window).on("resize", event => {
|
|
126
|
-
if (map) {
|
|
127
|
-
this.validateSize(map);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* addImageProcess
|
|
135
|
-
* @description
|
|
136
|
-
* return an array of the natural height and width of the current image being processed
|
|
137
|
-
* @param {object} img must be an integer
|
|
138
|
-
*/
|
|
139
|
-
addImageProcess(img) {
|
|
140
|
-
return new Promise((resolve, reject) => {
|
|
141
|
-
img.onload = () => {
|
|
142
|
-
let arr = [];
|
|
143
|
-
arr["height"] = img.naturalHeight;
|
|
144
|
-
arr["width"] = img.naturalWidth;
|
|
145
|
-
resolve(arr);
|
|
146
|
-
};
|
|
147
|
-
img.onerror = reject;
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* @param {object} Leaflet options
|
|
153
|
-
*/
|
|
154
|
-
createMap(options) {
|
|
155
|
-
return L.map(this.id, {
|
|
156
|
-
center: [0, 0],
|
|
157
|
-
crs: L.CRS.Simple,
|
|
158
|
-
renderer: L.canvas(),
|
|
159
|
-
...options
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
addLayer(json, map) {
|
|
164
|
-
if (json) {
|
|
165
|
-
L.tileLayer.iiif(json).addTo(map);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
addTiles(bounds) {
|
|
170
|
-
if (bounds) {
|
|
171
|
-
this.map.setMaxBounds(bounds);
|
|
172
|
-
this.map.fitBounds(bounds);
|
|
173
|
-
let imageOverlay = L.imageOverlay(this.imageURL, bounds, {
|
|
174
|
-
opacity: 0.0
|
|
175
|
-
});
|
|
176
|
-
this.map.addLayer(imageOverlay);
|
|
177
|
-
imageOverlay.on("load", event => {
|
|
178
|
-
setTimeout(() => {
|
|
179
|
-
imageOverlay.setOpacity(1.0);
|
|
180
|
-
}, 250);
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export default DeepZoom;
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
(function() {
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var document =
|
|
5
|
-
typeof window !== "undefined" && typeof window.document !== "undefined"
|
|
6
|
-
? window.document
|
|
7
|
-
: {};
|
|
8
|
-
var isCommonjs = typeof module !== "undefined" && module.exports;
|
|
9
|
-
var keyboardAllowed =
|
|
10
|
-
typeof Element !== "undefined" && "ALLOW_KEYBOARD_INPUT" in Element;
|
|
11
|
-
|
|
12
|
-
var fn = (function() {
|
|
13
|
-
var val;
|
|
14
|
-
|
|
15
|
-
var fnMap = [
|
|
16
|
-
[
|
|
17
|
-
"requestFullscreen",
|
|
18
|
-
"exitFullscreen",
|
|
19
|
-
"fullscreenElement",
|
|
20
|
-
"fullscreenEnabled",
|
|
21
|
-
"fullscreenchange",
|
|
22
|
-
"fullscreenerror"
|
|
23
|
-
],
|
|
24
|
-
// New WebKit
|
|
25
|
-
[
|
|
26
|
-
"webkitRequestFullscreen",
|
|
27
|
-
"webkitExitFullscreen",
|
|
28
|
-
"webkitFullscreenElement",
|
|
29
|
-
"webkitFullscreenEnabled",
|
|
30
|
-
"webkitfullscreenchange",
|
|
31
|
-
"webkitfullscreenerror"
|
|
32
|
-
],
|
|
33
|
-
// Old WebKit (Safari 5.1)
|
|
34
|
-
[
|
|
35
|
-
"webkitRequestFullScreen",
|
|
36
|
-
"webkitCancelFullScreen",
|
|
37
|
-
"webkitCurrentFullScreenElement",
|
|
38
|
-
"webkitCancelFullScreen",
|
|
39
|
-
"webkitfullscreenchange",
|
|
40
|
-
"webkitfullscreenerror"
|
|
41
|
-
],
|
|
42
|
-
[
|
|
43
|
-
"mozRequestFullScreen",
|
|
44
|
-
"mozCancelFullScreen",
|
|
45
|
-
"mozFullScreenElement",
|
|
46
|
-
"mozFullScreenEnabled",
|
|
47
|
-
"mozfullscreenchange",
|
|
48
|
-
"mozfullscreenerror"
|
|
49
|
-
],
|
|
50
|
-
[
|
|
51
|
-
"msRequestFullscreen",
|
|
52
|
-
"msExitFullscreen",
|
|
53
|
-
"msFullscreenElement",
|
|
54
|
-
"msFullscreenEnabled",
|
|
55
|
-
"MSFullscreenChange",
|
|
56
|
-
"MSFullscreenError"
|
|
57
|
-
]
|
|
58
|
-
];
|
|
59
|
-
|
|
60
|
-
var i = 0;
|
|
61
|
-
var l = fnMap.length;
|
|
62
|
-
var ret = {};
|
|
63
|
-
|
|
64
|
-
for (; i < l; i++) {
|
|
65
|
-
val = fnMap[i];
|
|
66
|
-
if (val && val[1] in document) {
|
|
67
|
-
for (i = 0; i < val.length; i++) {
|
|
68
|
-
ret[fnMap[0][i]] = val[i];
|
|
69
|
-
}
|
|
70
|
-
return ret;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return false;
|
|
75
|
-
})();
|
|
76
|
-
|
|
77
|
-
var eventNameMap = {
|
|
78
|
-
change: fn.fullscreenchange,
|
|
79
|
-
error: fn.fullscreenerror
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
var screenfull = {
|
|
83
|
-
request: function(elem) {
|
|
84
|
-
return new Promise(
|
|
85
|
-
function(resolve) {
|
|
86
|
-
var request = fn.requestFullscreen;
|
|
87
|
-
|
|
88
|
-
var onFullScreenEntered = function() {
|
|
89
|
-
this.off("change", onFullScreenEntered);
|
|
90
|
-
resolve();
|
|
91
|
-
}.bind(this);
|
|
92
|
-
|
|
93
|
-
elem = elem || document.documentElement;
|
|
94
|
-
|
|
95
|
-
// Work around Safari 5.1 bug: reports support for
|
|
96
|
-
// keyboard in fullscreen even though it doesn't.
|
|
97
|
-
// Browser sniffing, since the alternative with
|
|
98
|
-
// setTimeout is even worse.
|
|
99
|
-
if (/ Version\/5\.1(?:\.\d+)? Safari\//.test(navigator.userAgent)) {
|
|
100
|
-
elem[request]();
|
|
101
|
-
} else {
|
|
102
|
-
elem[request](keyboardAllowed ? Element.ALLOW_KEYBOARD_INPUT : {});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
this.on("change", onFullScreenEntered);
|
|
106
|
-
}.bind(this)
|
|
107
|
-
);
|
|
108
|
-
},
|
|
109
|
-
exit: function() {
|
|
110
|
-
return new Promise(
|
|
111
|
-
function(resolve) {
|
|
112
|
-
if (!this.isFullscreen) {
|
|
113
|
-
resolve();
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
var onFullScreenExit = function() {
|
|
118
|
-
this.off("change", onFullScreenExit);
|
|
119
|
-
resolve();
|
|
120
|
-
}.bind(this);
|
|
121
|
-
|
|
122
|
-
document[fn.exitFullscreen]();
|
|
123
|
-
|
|
124
|
-
this.on("change", onFullScreenExit);
|
|
125
|
-
}.bind(this)
|
|
126
|
-
);
|
|
127
|
-
},
|
|
128
|
-
toggle: function(elem) {
|
|
129
|
-
return this.isFullscreen ? this.exit() : this.request(elem);
|
|
130
|
-
},
|
|
131
|
-
onchange: function(callback) {
|
|
132
|
-
this.on("change", callback);
|
|
133
|
-
},
|
|
134
|
-
onerror: function(callback) {
|
|
135
|
-
this.on("error", callback);
|
|
136
|
-
},
|
|
137
|
-
on: function(event, callback) {
|
|
138
|
-
var eventName = eventNameMap[event];
|
|
139
|
-
if (eventName) {
|
|
140
|
-
document.addEventListener(eventName, callback, false);
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
off: function(event, callback) {
|
|
144
|
-
var eventName = eventNameMap[event];
|
|
145
|
-
if (eventName) {
|
|
146
|
-
document.removeEventListener(eventName, callback, false);
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
raw: fn
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
if (!fn) {
|
|
153
|
-
if (isCommonjs) {
|
|
154
|
-
module.exports = false;
|
|
155
|
-
} else {
|
|
156
|
-
window.screenfull = false;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
Object.defineProperties(screenfull, {
|
|
163
|
-
isFullscreen: {
|
|
164
|
-
get: function() {
|
|
165
|
-
return Boolean(document[fn.fullscreenElement]);
|
|
166
|
-
}
|
|
167
|
-
},
|
|
168
|
-
element: {
|
|
169
|
-
enumerable: true,
|
|
170
|
-
get: function() {
|
|
171
|
-
return document[fn.fullscreenElement];
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
enabled: {
|
|
175
|
-
enumerable: true,
|
|
176
|
-
get: function() {
|
|
177
|
-
// Coerce to boolean in case of old WebKit
|
|
178
|
-
return Boolean(document[fn.fullscreenEnabled]);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
if (isCommonjs) {
|
|
184
|
-
module.exports = screenfull;
|
|
185
|
-
// TODO: remove this in the next major version
|
|
186
|
-
module.exports.default = screenfull;
|
|
187
|
-
} else {
|
|
188
|
-
window.screenfull = screenfull;
|
|
189
|
-
}
|
|
190
|
-
})();
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import SmoothScroll from "smooth-scroll";
|
|
2
|
-
import fullscreen from "./fullscreen";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @fileOverview
|
|
6
|
-
* @name helper.js
|
|
7
|
-
* @description This file contains functions that are used to aid core concepts in other files.
|
|
8
|
-
* Also some of these functions are more utility in nature.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Prevent and store scroll for expanded menu
|
|
13
|
-
* @description When the show/hide for nav is triggered we want to
|
|
14
|
-
* lock the position of the users state in scroll and also prevent
|
|
15
|
-
* the nav from going back to 0,0 in fixed state. These functions prevent that.
|
|
16
|
-
*/
|
|
17
|
-
export const preventDefault = e => {
|
|
18
|
-
e = e || window.event;
|
|
19
|
-
if (e.preventDefault) e.preventDefault();
|
|
20
|
-
e.returnValue = false;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const preventDefaultForScrollKeys = e => {
|
|
24
|
-
/*
|
|
25
|
-
left: 37,
|
|
26
|
-
up: 38,
|
|
27
|
-
right: 39,
|
|
28
|
-
down: 40,
|
|
29
|
-
spacebar: 32,
|
|
30
|
-
pageup: 33,
|
|
31
|
-
pagedown: 34,
|
|
32
|
-
end: 35,
|
|
33
|
-
home: 36
|
|
34
|
-
*/
|
|
35
|
-
let keys = {
|
|
36
|
-
37: 1,
|
|
37
|
-
38: 1,
|
|
38
|
-
39: 1,
|
|
39
|
-
40: 1
|
|
40
|
-
};
|
|
41
|
-
if (keys[e.keyCode]) {
|
|
42
|
-
preventDefault(e);
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* function to trigger and use smooth scrolling, docs: https://www.npmjs.com/package/smooth-scroll
|
|
49
|
-
* scroll behavior specifications:
|
|
50
|
-
* - https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
|
|
51
|
-
* - https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTo
|
|
52
|
-
*/
|
|
53
|
-
export const smoothScroll = e => {
|
|
54
|
-
return new SmoothScroll('a[href*="#"]', {
|
|
55
|
-
// Selectors
|
|
56
|
-
ignore: ".quire-navbar, .quire-figure a", // Selector for links to ignore (must be a valid CSS selector)
|
|
57
|
-
header: ".quire-navbar", // Selector for fixed headers (must be a valid CSS selector)
|
|
58
|
-
topOnEmtyHash: true, // Scroll to the top of the page for links with href="#"
|
|
59
|
-
// Speed & Duration
|
|
60
|
-
speed: 500, // Integer. Amount of time in milliseconds it should take to scroll 1000px
|
|
61
|
-
speedAsDuration: false, // If true, use speed as the total duration of the scroll animation
|
|
62
|
-
durationMax: null, // Integer. The maximum amount of time the scroll animation should take
|
|
63
|
-
durationMin: null, // Integer. The minimum amount of time the scroll animation should take
|
|
64
|
-
clip: true, // If true, adjust scroll distance to prevent abrupt stops near the bottom of the page
|
|
65
|
-
offset: 50, // Integer or Function returning an integer. How far to offset the scrolling anchor location in pixels
|
|
66
|
-
// Easing
|
|
67
|
-
easing: "easeInOutCubic",
|
|
68
|
-
// History
|
|
69
|
-
updateURL: true, // Update the URL on scroll
|
|
70
|
-
popstate: true, // Animate scrolling with the forward/backward browser buttons (requires updateURL to be true)
|
|
71
|
-
emitEvents: true // Emit custom events
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Disable scroll on element
|
|
77
|
-
* @param {Element} element The element that will be disabled
|
|
78
|
-
*/
|
|
79
|
-
export const disableScroll = element => {
|
|
80
|
-
document.querySelector("html").style.overflow = "hidden";
|
|
81
|
-
if (element.addEventListener)
|
|
82
|
-
// older FF
|
|
83
|
-
element.addEventListener("DOMMouseScroll", preventDefault, false);
|
|
84
|
-
element.onwheel = preventDefault; // modern standard
|
|
85
|
-
element.onmousewheel = element.onmousewheel = preventDefault; // older browsers, IE
|
|
86
|
-
element.ontouchmove = preventDefault; // mobile
|
|
87
|
-
element.onkeydown = preventDefaultForScrollKeys;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Enable scroll on element
|
|
92
|
-
* @param {Element} element The element that will be enabled
|
|
93
|
-
*/
|
|
94
|
-
export const enableScroll = element => {
|
|
95
|
-
document.querySelector("html").style.overflow = "";
|
|
96
|
-
if (element.removeEventListener)
|
|
97
|
-
element.removeEventListener("DOMMouseScroll", preventDefault, false);
|
|
98
|
-
element.onmousewheel = element.onmousewheel = null;
|
|
99
|
-
element.onwheel = null;
|
|
100
|
-
element.ontouchmove = null;
|
|
101
|
-
element.onkeydown = null;
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Preload Images
|
|
106
|
-
* @param {Array} srcs array of images
|
|
107
|
-
* @return {Promise}
|
|
108
|
-
*/
|
|
109
|
-
export const preloadImages = (srcs) => {
|
|
110
|
-
return new Promise((resolve) => {
|
|
111
|
-
if (!srcs.length) resolve();
|
|
112
|
-
for (let i = srcs.length; i >= 0; --i) {
|
|
113
|
-
const img = new Image();
|
|
114
|
-
img.onload = () => {
|
|
115
|
-
if (i <= 0) resolve();
|
|
116
|
-
};
|
|
117
|
-
img.src = srcs[i];
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Stop an iframe or HTML5 <video> from playing
|
|
124
|
-
* @param {Element} element The element that contains the video
|
|
125
|
-
*/
|
|
126
|
-
export const stopVideo = element => {
|
|
127
|
-
let iframe = element.querySelector("iframe");
|
|
128
|
-
let video = element.querySelector("video");
|
|
129
|
-
if (iframe) {
|
|
130
|
-
let iframeSrc = iframe.src;
|
|
131
|
-
iframe.src = iframeSrc;
|
|
132
|
-
}
|
|
133
|
-
if (video) {
|
|
134
|
-
video.pause();
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* @description toggle fullscreen for entry leaflet images
|
|
140
|
-
* Also pass in the maps array to invalidate size after transition.
|
|
141
|
-
* @param {array} mapArr must be an integer
|
|
142
|
-
* @param {element} fullscreenButton must be an element
|
|
143
|
-
* @param {element} elementToFullscreen must be an element
|
|
144
|
-
*/
|
|
145
|
-
export const toggleFullscreen = (
|
|
146
|
-
mapArr,
|
|
147
|
-
fullscreenButton,
|
|
148
|
-
elementToFullscreen
|
|
149
|
-
) => {
|
|
150
|
-
/**
|
|
151
|
-
* validateSize
|
|
152
|
-
* @description
|
|
153
|
-
* invalidateSize map as a promise
|
|
154
|
-
* @param {object} map must be an object
|
|
155
|
-
*/
|
|
156
|
-
function validateSize(map) {
|
|
157
|
-
return new Promise((resolve, reject) => {
|
|
158
|
-
if (!map) reject(new Error("No map!"));
|
|
159
|
-
setTimeout(() => {
|
|
160
|
-
let modal = document.querySelector(".mfp-content");
|
|
161
|
-
if (modal) {
|
|
162
|
-
if (
|
|
163
|
-
map._container ===
|
|
164
|
-
modal.getElementsByTagName("figure")[0].children[0]
|
|
165
|
-
) {
|
|
166
|
-
resolve(map.invalidateSize());
|
|
167
|
-
}
|
|
168
|
-
} else {
|
|
169
|
-
resolve(map.invalidateSize());
|
|
170
|
-
}
|
|
171
|
-
}, 250);
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
const el = elementToFullscreen;
|
|
176
|
-
let toggleFullscreen = fullscreenButton;
|
|
177
|
-
if (toggleFullscreen) {
|
|
178
|
-
toggleFullscreen.addEventListener("click", event => {
|
|
179
|
-
event.stopPropagation();
|
|
180
|
-
event.preventDefault();
|
|
181
|
-
if (fullscreen.enabled && el) {
|
|
182
|
-
el.classList.toggle("fullscreen", !el.classList.contains("fullscreen"));
|
|
183
|
-
// @ts-ignore
|
|
184
|
-
event.target.classList.toggle(
|
|
185
|
-
"fullscreen",
|
|
186
|
-
// @ts-ignore
|
|
187
|
-
!event.target.classList.contains("fullscreen")
|
|
188
|
-
);
|
|
189
|
-
fullscreen.toggle(el);
|
|
190
|
-
mapArr.forEach(v => {
|
|
191
|
-
validateSize(v).catch(err => console.log(err));
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
return false;
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import L from 'leaflet'
|
|
2
|
-
import 'leaflet-fullscreen'
|
|
3
|
-
// import leafletImage from 'leaflet-image'
|
|
4
|
-
|
|
5
|
-
class Map {
|
|
6
|
-
constructor(id) {
|
|
7
|
-
|
|
8
|
-
// remove and refresh before init
|
|
9
|
-
if (figureModal) {
|
|
10
|
-
if (window.mapID != undefined || window.mapID != undefined) {
|
|
11
|
-
window.mapID.off()
|
|
12
|
-
window.mapID.remove()
|
|
13
|
-
}
|
|
14
|
-
let node = document.getElementById(id);
|
|
15
|
-
if (node) {
|
|
16
|
-
while (node.firstChild) {
|
|
17
|
-
node.removeChild(node.firstChild)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (id) {
|
|
24
|
-
this.el = id
|
|
25
|
-
this.tiles = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
|
|
26
|
-
this.attribution = 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors'
|
|
27
|
-
this.data = $(`#${this.el}`).data('geojson')
|
|
28
|
-
this.center = this.getCoordinates()
|
|
29
|
-
this.defaultZoom = 6
|
|
30
|
-
this.map = this.createMap()
|
|
31
|
-
window.mapID = this.map
|
|
32
|
-
this.addTiles()
|
|
33
|
-
|
|
34
|
-
this.map.on('fullscreenchange', function () {
|
|
35
|
-
this.invalidateSize(true)
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
if (this.data) {
|
|
39
|
-
this.getData()
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
setTimeout(() => {
|
|
43
|
-
this.map.invalidateSize()
|
|
44
|
-
}, 100)
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
createMap() {
|
|
49
|
-
return L.map(this.el, {
|
|
50
|
-
fullscreenControl: {
|
|
51
|
-
pseudoFullscreen: false // if true, fullscreen to page width and height
|
|
52
|
-
}
|
|
53
|
-
})
|
|
54
|
-
.setView(this.center, this.defaultZoom)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
addTiles() {
|
|
58
|
-
L.tileLayer(this.tiles, {
|
|
59
|
-
// options
|
|
60
|
-
attribution: this.attribution
|
|
61
|
-
}).addTo(this.map)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
getCoordinates() {
|
|
65
|
-
let lat = $('#' + this.el).data('lat')
|
|
66
|
-
let long = $('#' + this.el).data('long')
|
|
67
|
-
return [lat, long]
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
getData() {
|
|
71
|
-
$.getJSON(this.data, json => {
|
|
72
|
-
L.geoJson(json, {
|
|
73
|
-
// Change the style here as desired
|
|
74
|
-
pointToLayer: (feature, latlng) => {
|
|
75
|
-
return L.circleMarker(latlng, {
|
|
76
|
-
radius: 8,
|
|
77
|
-
fillColor: '#333',
|
|
78
|
-
color: '#000',
|
|
79
|
-
weight: 1,
|
|
80
|
-
opacity: 1,
|
|
81
|
-
fillOpacity: 0.75
|
|
82
|
-
})
|
|
83
|
-
},
|
|
84
|
-
// Change styles here as desired
|
|
85
|
-
onEachFeature: (feature, layer) => {
|
|
86
|
-
let options = { minWidth: 100, maxHeight: 250 }
|
|
87
|
-
layer.bindPopup(feature.properties.description, options)
|
|
88
|
-
}
|
|
89
|
-
}).addTo(this.map)
|
|
90
|
-
})
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export default Map
|