@rindo/core 1.8.12
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/LICENSE.md +27 -0
- package/bin/rindo +22 -0
- package/build-conditionals/index.d.ts +2 -0
- package/build-conditionals/index.mjs +66 -0
- package/build-conditionals/package.json +6 -0
- package/compiler/index.js +2 -0
- package/compiler/package.json +6 -0
- package/compiler/rindo.js +6765 -0
- package/dist/cli/index.js +6068 -0
- package/dist/client/css-shim-14a9812e.js +656 -0
- package/dist/client/css-shim-69821662.js +658 -0
- package/dist/client/declarations/rindo.core.d.ts +1347 -0
- package/dist/client/dom-68c8fe31.js +139 -0
- package/dist/client/dom-af01458a.js +137 -0
- package/dist/client/index.js +2937 -0
- package/dist/client/index.mjs +2820 -0
- package/dist/client/polyfills/core-js.js +10 -0
- package/dist/client/polyfills/css-shim.js +656 -0
- package/dist/client/polyfills/dom.js +146 -0
- package/dist/client/polyfills/es5-html-element.js +18 -0
- package/dist/client/polyfills/index.js +35 -0
- package/dist/client/polyfills/promise.js +9 -0
- package/dist/client/polyfills/system.js +6 -0
- package/dist/client/shadow-css-6ef31c68.js +386 -0
- package/dist/client/shadow-css-8fd1a9e4.js +388 -0
- package/dist/compiler/app-core/app-es5-disabled.d.ts +2 -0
- package/dist/compiler/app-core/app-polyfills.d.ts +3 -0
- package/dist/compiler/app-core/build-conditionals.d.ts +6 -0
- package/dist/compiler/app-core/bundle-app-core.d.ts +6 -0
- package/dist/compiler/app-core/component-styles.d.ts +4 -0
- package/dist/compiler/app-core/format-component-runtime-meta.d.ts +4 -0
- package/dist/compiler/app-core/optimize-module.d.ts +7 -0
- package/dist/compiler/browser/build-conditionals-client.d.ts +3 -0
- package/dist/compiler/browser/compile-options.d.ts +12 -0
- package/dist/compiler/browser/compile.d.ts +2 -0
- package/dist/compiler/browser/create-compiler.d.ts +14 -0
- package/dist/compiler/browser/index.d.ts +11 -0
- package/dist/compiler/build/build-ctx.d.ts +74 -0
- package/dist/compiler/build/build-finish.d.ts +3 -0
- package/dist/compiler/build/build-hmr.d.ts +2 -0
- package/dist/compiler/build/build-results.d.ts +2 -0
- package/dist/compiler/build/build-stats.d.ts +3 -0
- package/dist/compiler/build/build.d.ts +2 -0
- package/dist/compiler/build/cache-stats.d.ts +4 -0
- package/dist/compiler/build/compiler-build-id.d.ts +6 -0
- package/dist/compiler/build/compiler-ctx.d.ts +44 -0
- package/dist/compiler/build/init-index-html.d.ts +2 -0
- package/dist/compiler/build/validate-files.d.ts +2 -0
- package/dist/compiler/build/write-build.d.ts +2 -0
- package/dist/compiler/cache.d.ts +22 -0
- package/dist/compiler/compiler.d.ts +27 -0
- package/dist/compiler/component-hydrate/bundle-hydrate-factory.d.ts +3 -0
- package/dist/compiler/component-hydrate/generate-hydrate-app.d.ts +2 -0
- package/dist/compiler/component-hydrate/hydrate-factory-closure.d.ts +2 -0
- package/dist/compiler/component-hydrate/update-to-hydrate-components.d.ts +2 -0
- package/dist/compiler/component-hydrate/write-hydrate-outputs.d.ts +3 -0
- package/dist/compiler/component-lazy/generate-cjs.d.ts +3 -0
- package/dist/compiler/component-lazy/generate-esm-browser.d.ts +3 -0
- package/dist/compiler/component-lazy/generate-esm.d.ts +3 -0
- package/dist/compiler/component-lazy/generate-lazy-app.d.ts +3 -0
- package/dist/compiler/component-lazy/generate-lazy-module.d.ts +4 -0
- package/dist/compiler/component-lazy/generate-system.d.ts +3 -0
- package/dist/compiler/component-lazy/update-to-lazy-component.d.ts +2 -0
- package/dist/compiler/component-lazy/write-lazy-entry-module.d.ts +2 -0
- package/dist/compiler/component-native/update-to-native-component.d.ts +2 -0
- package/dist/compiler/config/config-reload.d.ts +3 -0
- package/dist/compiler/config/config-utils.d.ts +4 -0
- package/dist/compiler/config/validate-config.d.ts +4 -0
- package/dist/compiler/config/validate-copy.d.ts +2 -0
- package/dist/compiler/config/validate-dev-server.d.ts +2 -0
- package/dist/compiler/config/validate-docs.d.ts +2 -0
- package/dist/compiler/config/validate-namespace.d.ts +3 -0
- package/dist/compiler/config/validate-output-stats.d.ts +2 -0
- package/dist/compiler/config/validate-outputs-angular.d.ts +2 -0
- package/dist/compiler/config/validate-outputs-custom.d.ts +2 -0
- package/dist/compiler/config/validate-outputs-dist-module.d.ts +2 -0
- package/dist/compiler/config/validate-outputs-dist.d.ts +2 -0
- package/dist/compiler/config/validate-outputs-hydrate-script.d.ts +2 -0
- package/dist/compiler/config/validate-outputs-www.d.ts +2 -0
- package/dist/compiler/config/validate-outputs.d.ts +2 -0
- package/dist/compiler/config/validate-paths.d.ts +2 -0
- package/dist/compiler/config/validate-plugins.d.ts +2 -0
- package/dist/compiler/config/validate-prerender.d.ts +2 -0
- package/dist/compiler/config/validate-rollup-config.d.ts +2 -0
- package/dist/compiler/config/validate-service-worker.d.ts +2 -0
- package/dist/compiler/config/validate-testing.d.ts +2 -0
- package/dist/compiler/config/validate-workers.d.ts +2 -0
- package/dist/compiler/copy/assets-copy-tasks.d.ts +3 -0
- package/dist/compiler/copy/hashed-copy.d.ts +2 -0
- package/dist/compiler/copy/local-copy-tasks.d.ts +3 -0
- package/dist/compiler/docs/constants.d.ts +2 -0
- package/dist/compiler/docs/custom/index.d.ts +2 -0
- package/dist/compiler/docs/docs.d.ts +2 -0
- package/dist/compiler/docs/generate-doc-data.d.ts +3 -0
- package/dist/compiler/docs/json/index.d.ts +3 -0
- package/dist/compiler/docs/readme/docs-util.d.ts +13 -0
- package/dist/compiler/docs/readme/index.d.ts +3 -0
- package/dist/compiler/docs/readme/markdown-css-props.d.ts +2 -0
- package/dist/compiler/docs/readme/markdown-dependencies.d.ts +2 -0
- package/dist/compiler/docs/readme/markdown-events.d.ts +2 -0
- package/dist/compiler/docs/readme/markdown-methods.d.ts +2 -0
- package/dist/compiler/docs/readme/markdown-props.d.ts +2 -0
- package/dist/compiler/docs/readme/markdown-slots.d.ts +2 -0
- package/dist/compiler/docs/readme/markdown-usage.d.ts +6 -0
- package/dist/compiler/docs/readme/output-docs.d.ts +3 -0
- package/dist/compiler/docs/style-docs.d.ts +2 -0
- package/dist/compiler/docs/vscode/index.d.ts +2 -0
- package/dist/compiler/entries/component-bundles.d.ts +3 -0
- package/dist/compiler/entries/component-graph.d.ts +2 -0
- package/dist/compiler/entries/default-bundles.d.ts +3 -0
- package/dist/compiler/entries/entry-modules.d.ts +6 -0
- package/dist/compiler/entries/resolve-component-dependencies.d.ts +2 -0
- package/dist/compiler/events.d.ts +15 -0
- package/dist/compiler/fs-watch/fs-watch-init.d.ts +2 -0
- package/dist/compiler/fs-watch/fs-watch-log.d.ts +2 -0
- package/dist/compiler/fs-watch/fs-watch-rebuild.d.ts +7 -0
- package/dist/compiler/html/inject-module-preloads.d.ts +3 -0
- package/dist/compiler/html/inject-sw-script.d.ts +4 -0
- package/dist/compiler/html/inline-esm-import.d.ts +2 -0
- package/dist/compiler/html/inline-style-sheets.d.ts +2 -0
- package/dist/compiler/html/update-global-styles-link.d.ts +2 -0
- package/dist/compiler/html/used-components.d.ts +2 -0
- package/dist/compiler/html/utils.d.ts +2 -0
- package/dist/compiler/html/validate-manifest-json.d.ts +2 -0
- package/dist/compiler/index.d.ts +10 -0
- package/dist/compiler/index.js +18008 -0
- package/dist/compiler/output-targets/empty-dir.d.ts +6 -0
- package/dist/compiler/output-targets/index.d.ts +2 -0
- package/dist/compiler/output-targets/output-angular.d.ts +4 -0
- package/dist/compiler/output-targets/output-app.d.ts +4 -0
- package/dist/compiler/output-targets/output-collection.d.ts +3 -0
- package/dist/compiler/output-targets/output-copy.d.ts +2 -0
- package/dist/compiler/output-targets/output-custom.d.ts +2 -0
- package/dist/compiler/output-targets/output-docs.d.ts +2 -0
- package/dist/compiler/output-targets/output-hydrate.d.ts +2 -0
- package/dist/compiler/output-targets/output-lazy-loader.d.ts +2 -0
- package/dist/compiler/output-targets/output-module.d.ts +4 -0
- package/dist/compiler/output-targets/output-prerender.d.ts +2 -0
- package/dist/compiler/output-targets/output-service-workers.d.ts +2 -0
- package/dist/compiler/output-targets/output-types.d.ts +2 -0
- package/dist/compiler/output-targets/output-utils.d.ts +54 -0
- package/dist/compiler/output-targets/output-www.d.ts +2 -0
- package/dist/compiler/plugin/plugin.d.ts +6 -0
- package/dist/compiler/polyfills.d.ts +0 -0
- package/dist/compiler/prerender/crawl-urls.d.ts +3 -0
- package/dist/compiler/prerender/host-config.d.ts +12 -0
- package/dist/compiler/prerender/prerender-config.d.ts +2 -0
- package/dist/compiler/prerender/prerender-main.d.ts +2 -0
- package/dist/compiler/prerender/prerender-queue.d.ts +3 -0
- package/dist/compiler/prerender/prerender-template-html.d.ts +2 -0
- package/dist/compiler/prerender/prerendered-write-path.d.ts +2 -0
- package/dist/compiler/prerender/robots-txt.d.ts +2 -0
- package/dist/compiler/prerender/sitemap-xml.d.ts +3 -0
- package/dist/compiler/rollup-plugins/component-entry.d.ts +3 -0
- package/dist/compiler/rollup-plugins/css-transformer.d.ts +3 -0
- package/dist/compiler/rollup-plugins/global-scripts.d.ts +4 -0
- package/dist/compiler/rollup-plugins/image-plugin.d.ts +3 -0
- package/dist/compiler/rollup-plugins/in-memory-fs-read.d.ts +3 -0
- package/dist/compiler/rollup-plugins/loader.d.ts +4 -0
- package/dist/compiler/rollup-plugins/plugin-helper.d.ts +5 -0
- package/dist/compiler/rollup-plugins/rindo-build-conditionals.d.ts +7 -0
- package/dist/compiler/rollup-plugins/rindo-client.d.ts +3 -0
- package/dist/compiler/rollup-plugins/rindo-external-runtime.d.ts +2 -0
- package/dist/compiler/rollup-plugins/rindo-hydrate.d.ts +3 -0
- package/dist/compiler/rollup-plugins/rindo-public-plugin.d.ts +2 -0
- package/dist/compiler/service-worker/generate-sw.d.ts +7 -0
- package/dist/compiler/service-worker/service-worker-util.d.ts +2 -0
- package/dist/compiler/style/cached-styles.d.ts +5 -0
- package/dist/compiler/style/component-styles.d.ts +2 -0
- package/dist/compiler/style/css-imports.d.ts +9 -0
- package/dist/compiler/style/css-to-esm.d.ts +5 -0
- package/dist/compiler/style/generate-styles.d.ts +2 -0
- package/dist/compiler/style/global-styles.d.ts +3 -0
- package/dist/compiler/style/normalize-styles.d.ts +2 -0
- package/dist/compiler/style/optimize-css.d.ts +2 -0
- package/dist/compiler/style/scope-css.d.ts +3 -0
- package/dist/compiler/style/style-utils.d.ts +10 -0
- package/dist/compiler/transformers/add-component-meta-proxy.d.ts +3 -0
- package/dist/compiler/transformers/add-component-meta-static.d.ts +4 -0
- package/dist/compiler/transformers/add-imports.d.ts +3 -0
- package/dist/compiler/transformers/collections/add-external-import.d.ts +2 -0
- package/dist/compiler/transformers/collections/parse-collection-components.d.ts +2 -0
- package/dist/compiler/transformers/collections/parse-collection-deprecated.d.ts +2 -0
- package/dist/compiler/transformers/collections/parse-collection-manifest.d.ts +7 -0
- package/dist/compiler/transformers/collections/parse-collection-module.d.ts +2 -0
- package/dist/compiler/transformers/component-build-conditionals.d.ts +2 -0
- package/dist/compiler/transformers/component-hydrate/hydrate-component.d.ts +3 -0
- package/dist/compiler/transformers/component-hydrate/hydrate-runtime-cmp-meta.d.ts +3 -0
- package/dist/compiler/transformers/component-hydrate/tranform-to-hydrate-component.d.ts +2 -0
- package/dist/compiler/transformers/component-lazy/lazy-component.d.ts +3 -0
- package/dist/compiler/transformers/component-lazy/lazy-constructor.d.ts +3 -0
- package/dist/compiler/transformers/component-lazy/lazy-element-getter.d.ts +3 -0
- package/dist/compiler/transformers/component-lazy/transform-lazy-component.d.ts +4 -0
- package/dist/compiler/transformers/component-native/native-component.d.ts +3 -0
- package/dist/compiler/transformers/component-native/native-connected-callback.d.ts +3 -0
- package/dist/compiler/transformers/component-native/native-constructor.d.ts +3 -0
- package/dist/compiler/transformers/component-native/native-element-getter.d.ts +3 -0
- package/dist/compiler/transformers/component-native/native-static-style.d.ts +3 -0
- package/dist/compiler/transformers/component-native/tranform-to-native-component.d.ts +4 -0
- package/dist/compiler/transformers/core-runtime-apis.d.ts +30 -0
- package/dist/compiler/transformers/create-event.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/component-decorator.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/convert-decorators.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/decorator-utils.d.ts +10 -0
- package/dist/compiler/transformers/decorators-to-static/element-decorator.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/event-decorator.d.ts +4 -0
- package/dist/compiler/transformers/decorators-to-static/listen-decorator.d.ts +6 -0
- package/dist/compiler/transformers/decorators-to-static/method-decorator.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/prop-decorator.d.ts +4 -0
- package/dist/compiler/transformers/decorators-to-static/state-decorator.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/style-to-static.d.ts +3 -0
- package/dist/compiler/transformers/decorators-to-static/watch-decorator.d.ts +3 -0
- package/dist/compiler/transformers/define-custom-element.d.ts +3 -0
- package/dist/compiler/transformers/host-data-transform.d.ts +3 -0
- package/dist/compiler/transformers/legacy-props.d.ts +3 -0
- package/dist/compiler/transformers/remove-static-meta-properties.d.ts +2 -0
- package/dist/compiler/transformers/reserved-public-members.d.ts +3 -0
- package/dist/compiler/transformers/rindo-import-path.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/call-expression.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/class-methods.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/component.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/element-ref.d.ts +2 -0
- package/dist/compiler/transformers/static-to-meta/encapsulation.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/events.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/import.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/listeners.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/methods.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/props.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/states.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/string-literal.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/styles.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/vdom.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/visitor.d.ts +3 -0
- package/dist/compiler/transformers/static-to-meta/watchers.d.ts +3 -0
- package/dist/compiler/transformers/style-imports.d.ts +3 -0
- package/dist/compiler/transformers/transform-utils.d.ts +31 -0
- package/dist/compiler/transformers/update-component-class.d.ts +3 -0
- package/dist/compiler/transformers/update-rindo-core-import.d.ts +3 -0
- package/dist/compiler/transformers/watcher-meta-transform.d.ts +3 -0
- package/dist/compiler/transpile/compiler-options.d.ts +4 -0
- package/dist/compiler/transpile/transpile-app.d.ts +2 -0
- package/dist/compiler/transpile/transpile-module.d.ts +5 -0
- package/dist/compiler/transpile/transpile-service.d.ts +3 -0
- package/dist/compiler/transpile/transpile-to-es5-main.d.ts +2 -0
- package/dist/compiler/transpile/validate-types-main.d.ts +2 -0
- package/dist/compiler/types/generate-app-types.d.ts +2 -0
- package/dist/compiler/types/generate-component-types.d.ts +8 -0
- package/dist/compiler/types/generate-event-types.d.ts +2 -0
- package/dist/compiler/types/generate-method-types.d.ts +2 -0
- package/dist/compiler/types/generate-prop-types.d.ts +2 -0
- package/dist/compiler/types/generate-types.d.ts +2 -0
- package/dist/compiler/types/rindo-types.d.ts +3 -0
- package/dist/compiler/types/types-utils.d.ts +4 -0
- package/dist/compiler/types/update-import-refs.d.ts +11 -0
- package/dist/compiler/types/validate-package-json.d.ts +9 -0
- package/dist/declarations/assets.d.ts +17 -0
- package/dist/declarations/browser-compile.d.ts +47 -0
- package/dist/declarations/build-conditionals.d.ts +91 -0
- package/dist/declarations/build-events.d.ts +19 -0
- package/dist/declarations/build.d.ts +247 -0
- package/dist/declarations/cache.d.ts +11 -0
- package/dist/declarations/collection-manifest.d.ts +106 -0
- package/dist/declarations/collection.d.ts +139 -0
- package/dist/declarations/compiler.d.ts +53 -0
- package/dist/declarations/component-compiler-meta.d.ts +198 -0
- package/dist/declarations/component-constructor.d.ts +61 -0
- package/dist/declarations/component-interfaces.d.ts +123 -0
- package/dist/declarations/config.d.ts +409 -0
- package/dist/declarations/css-var-shim.d.ts +9 -0
- package/dist/declarations/decorators.d.ts +150 -0
- package/dist/declarations/dev-server.d.ts +135 -0
- package/dist/declarations/diagnostics.d.ts +21 -0
- package/dist/declarations/docs.d.ts +101 -0
- package/dist/declarations/entry.d.ts +28 -0
- package/dist/declarations/events.d.ts +13 -0
- package/dist/declarations/file-system.d.ts +91 -0
- package/dist/declarations/fs-watch.d.ts +15 -0
- package/dist/declarations/host-element.d.ts +53 -0
- package/dist/declarations/hydrate.d.ts +99 -0
- package/dist/declarations/in-memory-fs.d.ts +59 -0
- package/dist/declarations/index.d.ts +45 -0
- package/dist/declarations/jsdoc.d.ts +16 -0
- package/dist/declarations/jsx.d.ts +1050 -0
- package/dist/declarations/logger.d.ts +25 -0
- package/dist/declarations/minify-js.d.ts +11 -0
- package/dist/declarations/module.d.ts +35 -0
- package/dist/declarations/optimize-css.d.ts +12 -0
- package/dist/declarations/output-targets.d.ts +189 -0
- package/dist/declarations/plugin.d.ts +23 -0
- package/dist/declarations/prerender.d.ts +79 -0
- package/dist/declarations/render.d.ts +62 -0
- package/dist/declarations/runtime.d.ts +92 -0
- package/dist/declarations/screenshots.d.ts +192 -0
- package/dist/declarations/server.d.ts +19 -0
- package/dist/declarations/style.d.ts +35 -0
- package/dist/declarations/system.d.ts +174 -0
- package/dist/declarations/testing.d.ts +523 -0
- package/dist/declarations/transpile.d.ts +24 -0
- package/dist/declarations/types.d.ts +24 -0
- package/dist/declarations/vdom.d.ts +55 -0
- package/dist/declarations/worker.d.ts +33 -0
- package/dist/dev-server/content-type-db.json +1 -0
- package/dist/dev-server/index.js +887 -0
- package/dist/dev-server/static/app-error.css +257 -0
- package/dist/dev-server/static/dev-server-client.html +13 -0
- package/dist/dev-server/static/favicon.ico +0 -0
- package/dist/dev-server/templates/directory-index.html +132 -0
- package/dist/dev-server/templates/initial-load.html +160 -0
- package/dist/hydrate/index.d.ts +101 -0
- package/dist/hydrate/index.mjs +1281 -0
- package/dist/hydrate/platform.mjs +347 -0
- package/dist/index.d.ts +99 -0
- package/dist/index.js +1 -0
- package/dist/mock-doc/index.d.ts +851 -0
- package/dist/mock-doc/index.js +3982 -0
- package/dist/mock-doc/index.mjs +3954 -0
- package/dist/runtime/index.js +2576 -0
- package/dist/runtime/index.mjs +2521 -0
- package/dist/runtime/shadow-css-6ef31c68.js +386 -0
- package/dist/runtime/shadow-css-8fd1a9e4.js +388 -0
- package/dist/screenshot/connector-base.d.ts +42 -0
- package/dist/screenshot/connector-local.d.ts +7 -0
- package/dist/screenshot/index.d.ts +3 -0
- package/dist/screenshot/index.js +520 -0
- package/dist/screenshot/pixel-match.d.ts +1 -0
- package/dist/screenshot/screenshot-fs.d.ts +15 -0
- package/dist/sys/node/graceful-fs.js +975 -0
- package/dist/sys/node/index.js +33545 -0
- package/dist/sys/node/node-fetch.js +1779 -0
- package/dist/sys/node/open-in-editor.js +734 -0
- package/dist/sys/node/sys-worker.js +67035 -0
- package/dist/sys/node/visualstudio.vbs +82 -0
- package/dist/sys/node/websocket.js +3728 -0
- package/dist/sys/node/xdg-open +1066 -0
- package/dist/testing/build-conditionals.d.ts +4 -0
- package/dist/testing/build-conditionals.js +43 -0
- package/dist/testing/core.d.ts +35 -0
- package/dist/testing/core.js +52 -0
- package/dist/testing/index.d.ts +13 -0
- package/dist/testing/index.js +40511 -0
- package/dist/testing/jest/jest-config.d.ts +4 -0
- package/dist/testing/jest/jest-environment.d.ts +12 -0
- package/dist/testing/jest/jest-preprocessor.d.ts +10 -0
- package/dist/testing/jest/jest-runner.d.ts +5 -0
- package/dist/testing/jest/jest-screenshot.d.ts +2 -0
- package/dist/testing/jest/jest-serializer.d.ts +5 -0
- package/dist/testing/jest/jest-setup-test-framework.d.ts +1 -0
- package/dist/testing/matchers/attributes.d.ts +14 -0
- package/dist/testing/matchers/class-list.d.ts +12 -0
- package/dist/testing/matchers/events.d.ts +13 -0
- package/dist/testing/matchers/html.d.ts +12 -0
- package/dist/testing/matchers/index.d.ts +21 -0
- package/dist/testing/matchers/screenshot.d.ts +5 -0
- package/dist/testing/matchers/text.d.ts +4 -0
- package/dist/testing/mock-fetch.d.ts +46 -0
- package/dist/testing/mocks.d.ts +12 -0
- package/dist/testing/platform.d.ts +23 -0
- package/dist/testing/platform.js +321 -0
- package/dist/testing/puppeteer/puppeteer-browser.d.ts +6 -0
- package/dist/testing/puppeteer/puppeteer-declarations.d.ts +396 -0
- package/dist/testing/puppeteer/puppeteer-element.d.ts +65 -0
- package/dist/testing/puppeteer/puppeteer-emulate.d.ts +2 -0
- package/dist/testing/puppeteer/puppeteer-events.d.ts +21 -0
- package/dist/testing/puppeteer/puppeteer-find.d.ts +5 -0
- package/dist/testing/puppeteer/puppeteer-page.d.ts +2 -0
- package/dist/testing/puppeteer/puppeteer-screenshot.d.ts +4 -0
- package/dist/testing/spec-page.d.ts +5 -0
- package/dist/testing/task-queue.d.ts +15 -0
- package/dist/testing/test-transpile.d.ts +5 -0
- package/dist/testing/testing-fs.d.ts +31 -0
- package/dist/testing/testing-logger.d.ts +23 -0
- package/dist/testing/testing-sys.d.ts +19 -0
- package/dist/testing/testing-utils.d.ts +5 -0
- package/dist/testing/testing.d.ts +12 -0
- package/dist/utils/index.js +1575 -0
- package/dist/utils/index.mjs +1511 -0
- package/internal/client/build-conditionals.mjs +82 -0
- package/internal/client/css-shim.rindo-client.mjs +656 -0
- package/internal/client/dom.rindo-client.mjs +137 -0
- package/internal/client/index.mjs +2859 -0
- package/internal/client/polyfills/core-js.js +10 -0
- package/internal/client/polyfills/css-shim.js +656 -0
- package/internal/client/polyfills/dom.js +146 -0
- package/internal/client/polyfills/es5-html-element.js +18 -0
- package/internal/client/polyfills/index.js +35 -0
- package/internal/client/polyfills/promise.js +9 -0
- package/internal/client/polyfills/system.js +6 -0
- package/internal/client/shadow-css.rindo-client.mjs +386 -0
- package/internal/images.d.ts +5 -0
- package/internal/index.d.ts +18 -0
- package/internal/index.js +1 -0
- package/internal/package.json +6 -0
- package/mock-doc/index.js +2 -0
- package/mock-doc/package.json +10 -0
- package/package.json +186 -0
- package/readme.md +174 -0
- package/runtime/package.json +5 -0
- package/screenshot/compare/assets/favicon.ico +0 -0
- package/screenshot/compare/assets/logo.png +0 -0
- package/screenshot/compare/build/app.css +1 -0
- package/screenshot/compare/build/app.esm.js +1 -0
- package/screenshot/compare/build/app.js +818 -0
- package/screenshot/compare/build/p-020f8d73.js +1 -0
- package/screenshot/compare/build/p-09qdknbg.system.entry.js +1 -0
- package/screenshot/compare/build/p-0a13mpsc.system.entry.js +1 -0
- package/screenshot/compare/build/p-113f7459.js +1 -0
- package/screenshot/compare/build/p-168ec2c4.system.js +1 -0
- package/screenshot/compare/build/p-2ab1fdf1.system.js +1 -0
- package/screenshot/compare/build/p-2pxcsgrj.entry.js +1 -0
- package/screenshot/compare/build/p-42fb7034.system.js +1 -0
- package/screenshot/compare/build/p-54d9d7c2.system.js +1 -0
- package/screenshot/compare/build/p-67c1f911.js +1 -0
- package/screenshot/compare/build/p-68613371.system.js +1 -0
- package/screenshot/compare/build/p-7dvsjpu0.entry.js +1 -0
- package/screenshot/compare/build/p-aa67fb06.js +1 -0
- package/screenshot/compare/build/p-aeb3cec1.system.js +1 -0
- package/screenshot/compare/build/p-b6e44a24.js +1 -0
- package/screenshot/compare/build/p-c1c25b8a.js +1 -0
- package/screenshot/compare/build/p-c9bopbjy.system.entry.js +1 -0
- package/screenshot/compare/build/p-c9iqz1pp.system.entry.js +1 -0
- package/screenshot/compare/build/p-dizjz8rg.entry.js +1 -0
- package/screenshot/compare/build/p-dnta0rwp.system.entry.js +1 -0
- package/screenshot/compare/build/p-e9670d22.system.js +1 -0
- package/screenshot/compare/build/p-efb0eac6.js +1 -0
- package/screenshot/compare/build/p-ei9jkpd0.system.entry.js +1 -0
- package/screenshot/compare/build/p-ejpsp3kx.js +1 -0
- package/screenshot/compare/build/p-ejwcppol.entry.js +1 -0
- package/screenshot/compare/build/p-f6612d5d.system.js +1 -0
- package/screenshot/compare/build/p-foiivsfc.css +1 -0
- package/screenshot/compare/build/p-gpjjyogx.entry.js +1 -0
- package/screenshot/compare/build/p-howklem2.system.entry.js +1 -0
- package/screenshot/compare/build/p-knv9wvoc.entry.js +1 -0
- package/screenshot/compare/build/p-nsqsfhhy.entry.js +1 -0
- package/screenshot/compare/build/p-ojt278pp.entry.js +1 -0
- package/screenshot/compare/build/p-oywass99.entry.js +1 -0
- package/screenshot/compare/build/p-q3ujhub6.entry.js +1 -0
- package/screenshot/compare/build/p-qw4xnmxv.entry.js +1 -0
- package/screenshot/compare/build/p-t1wvevhc.system.entry.js +1 -0
- package/screenshot/compare/build/p-tnjarrex.system.entry.js +1 -0
- package/screenshot/compare/build/p-vhfpd6kk.system.entry.js +1 -0
- package/screenshot/compare/build/p-vk6rhemd.system.entry.js +1 -0
- package/screenshot/compare/build/p-w6bnm16k.entry.js +1 -0
- package/screenshot/compare/build/p-xje6d7zl.system.entry.js +1 -0
- package/screenshot/compare/build/p-y5jlrcha.system.entry.js +1 -0
- package/screenshot/compare/build/p-yh170wkt.entry.js +1 -0
- package/screenshot/compare/host.config.json +15 -0
- package/screenshot/compare/index.html +1 -0
- package/screenshot/compare/manifest.json +13 -0
- package/screenshot/connector.js +3 -0
- package/screenshot/index.js +2 -0
- package/screenshot/local-connector.js +3 -0
- package/screenshot/package.json +13 -0
- package/screenshot/pixel-match.js +2660 -0
- package/sys/node/index.js +2 -0
- package/sys/node/package.json +5 -0
- package/testing/index.js +2 -0
- package/testing/jest-environment.js +3 -0
- package/testing/jest-preprocessor.js +3 -0
- package/testing/jest-preset.js +40 -0
- package/testing/jest-runner.js +3 -0
- package/testing/jest-setuptestframework.js +3 -0
- package/testing/jest.preprocessor.js +7 -0
- package/testing/package.json +6 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
(function(){
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
5
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
6
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
7
|
+
Code distributed by Google as part of the polymer project is also
|
|
8
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
9
|
+
*/
|
|
10
|
+
'use strict';var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}
|
|
11
|
+
function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
|
|
12
|
+
function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if("template"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d)}c=c.firstChild?c.firstChild:n(a,c)}}function r(a,b,d){a[b]=d};function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d)}function ca(a,b){a.b=!0;a.c.push(b)}function da(a,b){a.b=!0;a.f.push(b)}function v(a,b){a.b&&p(b,function(b){return w(a,b)})}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d<a.c.length;d++)a.c[d](b);for(d=0;d<a.f.length;d++)a.f[d](b)}}
|
|
13
|
+
function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c)}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c)}}
|
|
14
|
+
function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e})}})}else f.push(b)},c);if(a.b)for(b=
|
|
15
|
+
0;b<f.length;b++)w(a,f[b]);for(b=0;b<f.length;b++)e(f[b])}
|
|
16
|
+
function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop()}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
|
|
17
|
+
d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}l(b)&&a.connectedCallback(b)}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)};
|
|
18
|
+
u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e)};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function C(a){a.b&&a.b.disconnect()}B.prototype.f=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||C(this);for(b=0;b<a.length;b++)for(var d=a[b].addedNodes,c=0;c<d.length;c++)A(this.c,d[c])};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}function D(a){if(a.a)throw Error("Already resolved.");a.a=void 0;a.b&&a.b(void 0)};function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a)}
|
|
19
|
+
E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.a.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
|
|
20
|
+
return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var t=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var m=b.observedAttributes||[]}catch(q){return}finally{this.c=!1}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,
|
|
21
|
+
a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}))};E.prototype.i=function(a){A(this.a,a)};
|
|
22
|
+
function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e<b.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b)}}});for(e=0;e<d.length;e++)y(a.a,d[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t<f.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e)}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};
|
|
23
|
+
E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})}};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;
|
|
24
|
+
E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,
|
|
25
|
+
"textContent"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,
|
|
26
|
+
pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
|
|
27
|
+
e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}()};function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m<e.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q)}b.apply(this,e);for(e=0;e<f.length;e++)z(a,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&x(a,f)}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append))};function ya(){var a=X;r(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,"importNode",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,"createElementNS",function(b,d){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,
|
|
28
|
+
d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja})};function za(){function a(a,c){Object.defineProperty(a,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,a);if(d)for(a=0;a<d.length;a++)z(b,d[a])}}})}var b=X;r(Node.prototype,"insertBefore",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);
|
|
29
|
+
a=J.call(this,a,c);if(l(this))for(c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e<c.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,"cloneNode",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,
|
|
30
|
+
a);return a});r(Node.prototype,"removeChild",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,"replaceChild",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],
|
|
31
|
+
b=0;b<this.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent)}return a.join("")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&""!==a&&I.call(this,document.createTextNode(a))}})})};function Aa(a){function b(b){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m)}b.apply(this,c);for(c=0;c<k.length;c++)z(a,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&x(a,k)}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&
|
|
32
|
+
r(d,"replaceWith",function(b){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k<e.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h)}k=l(this);ra.apply(this,e);for(e=0;e<d.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e<c.length;e++)d=c[e],d instanceof Element&&x(a,d)});void 0!==sa&&r(d,"remove",function(){var b=l(this);sa.call(this);b&&z(a,this)})};function Ba(){function a(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a)}));b.set.call(this,a);if(d)for(var f=0;f<d.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t)}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}})}function b(a,b){r(a,"insertAdjacentElement",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a})}
|
|
33
|
+
function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b<e.length;b++)A(c,e[b])}r(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this)}else if("afterbegin"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if("beforeend"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if("afterend"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,
|
|
34
|
+
d);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}var c=X;N&&r(Element.prototype,"attachShadow",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e<b.c.length;e++)b.c[e](a)}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},
|
|
35
|
+
set:function(a){var b="template"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0<c.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0<a.childNodes.length;)I.call(c,a.childNodes[0])}})});r(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null)});r(Element.prototype,"setAttributeNS",function(a,
|
|
36
|
+
b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});r(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});r(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,
|
|
37
|
+
a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{h:oa,append:pa});Aa(c)};var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
|
|
38
|
+
}).call(self);
|
|
39
|
+
|
|
40
|
+
// Polyfill document.baseURI
|
|
41
|
+
if (typeof document.baseURI !== 'string') {
|
|
42
|
+
Object.defineProperty(Document.prototype, 'baseURI', {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
configurable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
var base = document.querySelector('base');
|
|
47
|
+
if (base && base.href) {
|
|
48
|
+
return base.href;
|
|
49
|
+
}
|
|
50
|
+
return document.URL;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Polyfill CustomEvent
|
|
56
|
+
if (typeof window.CustomEvent !== 'function') {
|
|
57
|
+
window.CustomEvent = function CustomEvent(event, params) {
|
|
58
|
+
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
|
59
|
+
var evt = document.createEvent( 'CustomEvent' );
|
|
60
|
+
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
|
|
61
|
+
return evt;
|
|
62
|
+
}
|
|
63
|
+
window.CustomEvent.prototype = window.Event.prototype;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Event.composedPath
|
|
67
|
+
(function(E, d, w) {
|
|
68
|
+
if(!E.composedPath) {
|
|
69
|
+
E.composedPath = function() {
|
|
70
|
+
if (this.path) {
|
|
71
|
+
return this.path;
|
|
72
|
+
}
|
|
73
|
+
var target = this.target;
|
|
74
|
+
|
|
75
|
+
this.path = [];
|
|
76
|
+
while (target.parentNode !== null) {
|
|
77
|
+
this.path.push(target);
|
|
78
|
+
target = target.parentNode;
|
|
79
|
+
}
|
|
80
|
+
this.path.push(d, w);
|
|
81
|
+
return this.path;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
})(Event.prototype, document, window);
|
|
85
|
+
|
|
86
|
+
/*!
|
|
87
|
+
Element.closest and Element.matches
|
|
88
|
+
https://github.com/jonathantneal/closest
|
|
89
|
+
Creative Commons Zero v1.0 Universal
|
|
90
|
+
*/
|
|
91
|
+
(function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype);
|
|
92
|
+
|
|
93
|
+
/*!
|
|
94
|
+
Element.getRootNode()
|
|
95
|
+
*/
|
|
96
|
+
(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}"function"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)})})(Element.prototype);
|
|
97
|
+
|
|
98
|
+
/*!
|
|
99
|
+
Element.isConnected()
|
|
100
|
+
*/
|
|
101
|
+
(function(prototype) {
|
|
102
|
+
if (!("isConnected" in prototype)) {
|
|
103
|
+
Object.defineProperty(prototype, 'isConnected', {
|
|
104
|
+
configurable: true,
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function() {
|
|
107
|
+
var root = this.getRootNode({composed: true});
|
|
108
|
+
return root && root.nodeType === 9;
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
}
|
|
112
|
+
})(Element.prototype);
|
|
113
|
+
|
|
114
|
+
/*!
|
|
115
|
+
Element.remove()
|
|
116
|
+
*/
|
|
117
|
+
(function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);
|
|
118
|
+
|
|
119
|
+
/*!
|
|
120
|
+
Element.classList
|
|
121
|
+
*/
|
|
122
|
+
!function(e){'classList'in e||Object.defineProperty(e,"classList",{get:function(){var e=this,t=(e.getAttribute("class")||"").replace(/^\s+|\s$/g,"").split(/\s+/g);function n(){t.length>0?e.setAttribute("class",t.join(" ")):e.removeAttribute("class")}return""===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n()},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n()},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n()},t.item=function(e){return t[e]},t.contains=function(e){return-1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n()},t.value=e.getAttribute("class")||"",t}})}(Element.prototype);
|
|
123
|
+
|
|
124
|
+
/*!
|
|
125
|
+
DOMTokenList
|
|
126
|
+
*/
|
|
127
|
+
(function(prototype){
|
|
128
|
+
try {
|
|
129
|
+
document.body.classList.add();
|
|
130
|
+
} catch (e) {
|
|
131
|
+
var originalAdd = prototype.add;
|
|
132
|
+
var originalRemove = prototype.remove;
|
|
133
|
+
|
|
134
|
+
prototype.add = function() {
|
|
135
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
136
|
+
originalAdd.call(this, arguments[i]);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
prototype.remove = function() {
|
|
141
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
142
|
+
originalRemove.call(this, arguments[i]);
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}(DOMTokenList.prototype));
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
if (
|
|
3
|
+
// No Reflect, no classes, no need for shim because native custom elements
|
|
4
|
+
// require ES2015 classes or Reflect.
|
|
5
|
+
window.Reflect === undefined ||
|
|
6
|
+
window.customElements === undefined
|
|
7
|
+
) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
var BuiltInHTMLElement = HTMLElement;
|
|
11
|
+
window.HTMLElement = /** @this {!Object} */ function HTMLElement() {
|
|
12
|
+
return Reflect.construct(
|
|
13
|
+
BuiltInHTMLElement, [], /** @type {!Function} */ (this.constructor));
|
|
14
|
+
};
|
|
15
|
+
HTMLElement.prototype = BuiltInHTMLElement.prototype;
|
|
16
|
+
HTMLElement.prototype.constructor = HTMLElement;
|
|
17
|
+
Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement);
|
|
18
|
+
})();
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function applyPolyfills() {
|
|
2
|
+
if (typeof window !== 'undefined') {
|
|
3
|
+
var win = window;
|
|
4
|
+
|
|
5
|
+
var promises = [];
|
|
6
|
+
|
|
7
|
+
if (!win.customElements || (win.Element && (!win.Element.prototype.closest || !win.Element.prototype.matches || !win.Element.prototype.remove))) {
|
|
8
|
+
promises.push(import('./dom.js'));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function checkIfURLIsSupported() {
|
|
12
|
+
try {
|
|
13
|
+
var u = new URL('b', 'http://a');
|
|
14
|
+
u.pathname = 'c%20d';
|
|
15
|
+
return (u.href === 'http://a/c%20d') && u.searchParams;
|
|
16
|
+
} catch (e) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (
|
|
22
|
+
'function' !== typeof Object.assign || !Object.entries ||
|
|
23
|
+
!Array.prototype.find || !Array.prototype.includes ||
|
|
24
|
+
!String.prototype.startsWith || !String.prototype.endsWith ||
|
|
25
|
+
(win.NodeList && !win.NodeList.prototype.forEach) ||
|
|
26
|
+
!win.fetch ||
|
|
27
|
+
!checkIfURLIsSupported() ||
|
|
28
|
+
typeof WeakMap == 'undefined'
|
|
29
|
+
) {
|
|
30
|
+
promises.push(import('./core-js.js'));
|
|
31
|
+
}
|
|
32
|
+
return Promise.all(promises);
|
|
33
|
+
}
|
|
34
|
+
return Promise.resolve();
|
|
35
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
es6-promise - a tiny implementation of Promises/A+.
|
|
3
|
+
Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
|
|
4
|
+
Licensed under MIT license
|
|
5
|
+
See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
|
|
6
|
+
https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.auto.min.js
|
|
7
|
+
v4.2.8
|
|
8
|
+
*/
|
|
9
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function e(t){return"function"==typeof t}function n(t){W=t}function r(t){z=t}function o(){return function(){return process.nextTick(a)}}function i(){return"undefined"!=typeof U?function(){U(a)}:c()}function s(){var t=0,e=new H(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}function c(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t<N;t+=2){var e=Q[t],n=Q[t+1];e(n),Q[t]=void 0,Q[t+1]=void 0}N=0}function f(){try{var t=Function("return this")().require("vertx");return U=t.runOnLoop||t.runOnContext,i()}catch(e){return c()}}function l(t,e){var n=this,r=new this.constructor(p);void 0===r[V]&&x(r);var o=n._state;if(o){var i=arguments[o-1];z(function(){return T(o,r,i,n._result)})}else j(n,r,t,e);return r}function h(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(p);return w(n,t),n}function p(){}function v(){return new TypeError("You cannot resolve a promise with itself")}function d(){return new TypeError("A promises callback cannot return that same promise.")}function _(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function y(t,e,n){z(function(t){var r=!1,o=_(n,e,function(n){r||(r=!0,e!==n?w(t,n):A(t,n))},function(e){r||(r=!0,S(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&o&&(r=!0,S(t,o))},t)}function m(t,e){e._state===Z?A(t,e._result):e._state===$?S(t,e._result):j(e,void 0,function(e){return w(t,e)},function(e){return S(t,e)})}function b(t,n,r){n.constructor===t.constructor&&r===l&&n.constructor.resolve===h?m(t,n):void 0===r?A(t,n):e(r)?y(t,n,r):A(t,n)}function w(e,n){if(e===n)S(e,v());else if(t(n)){var r=void 0;try{r=n.then}catch(o){return void S(e,o)}b(e,n,r)}else A(e,n)}function g(t){t._onerror&&t._onerror(t._result),E(t)}function A(t,e){t._state===X&&(t._result=e,t._state=Z,0!==t._subscribers.length&&z(E,t))}function S(t,e){t._state===X&&(t._state=$,t._result=e,z(g,t))}function j(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+Z]=n,o[i+$]=r,0===i&&t._state&&z(E,t)}function E(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,o=void 0,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?T(n,r,o,i):o(i);t._subscribers.length=0}}function T(t,n,r,o){var i=e(r),s=void 0,u=void 0,c=!0;if(i){try{s=r(o)}catch(a){c=!1,u=a}if(n===s)return void S(n,d())}else s=o;n._state!==X||(i&&c?w(n,s):c===!1?S(n,u):t===Z?A(n,s):t===$&&S(n,s))}function M(t,e){try{e(function(e){w(t,e)},function(e){S(t,e)})}catch(n){S(t,n)}}function P(){return tt++}function x(t){t[V]=tt++,t._state=void 0,t._result=void 0,t._subscribers=[]}function C(){return new Error("Array Methods must be provided an Array")}function O(t){return new et(this,t).promise}function k(t){var e=this;return new e(L(t)?function(n,r){for(var o=t.length,i=0;i<o;i++)e.resolve(t[i]).then(n,r)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function F(t){var e=this,n=new e(p);return S(n,t),n}function Y(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function q(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function D(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;if(n){var r=null;try{r=Object.prototype.toString.call(n.resolve())}catch(e){}if("[object Promise]"===r&&!n.cast)return}t.Promise=nt}var K=void 0;K=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var L=K,N=0,U=void 0,W=void 0,z=function(t,e){Q[N]=t,Q[N+1]=e,N+=2,2===N&&(W?W(a):R())},B="undefined"!=typeof window?window:void 0,G=B||{},H=G.MutationObserver||G.WebKitMutationObserver,I="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),J="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Q=new Array(1e3),R=void 0;R=I?o():H?s():J?u():void 0===B&&"function"==typeof require?f():c();var V=Math.random().toString(36).substring(2),X=void 0,Z=1,$=2,tt=0,et=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(p),this.promise[V]||x(this.promise),L(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?A(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&A(this.promise,this._result))):S(this.promise,C())}return t.prototype._enumerate=function(t){for(var e=0;this._state===X&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===h){var o=void 0,i=void 0,s=!1;try{o=t.then}catch(u){s=!0,i=u}if(o===l&&t._state!==X)this._settledAt(t._state,e,t._result);else if("function"!=typeof o)this._remaining--,this._result[e]=t;else if(n===nt){var c=new n(p);s?S(c,i):b(c,t,o),this._willSettleAt(c,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(r(t),e)},t.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===X&&(this._remaining--,t===$?S(r,n):this._result[e]=n),0===this._remaining&&A(r,this._result)},t.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){return n._settledAt(Z,e,t)},function(t){return n._settledAt($,e,t)})},t}(),nt=function(){function t(e){this[V]=P(),this._result=this._state=void 0,this._subscribers=[],p!==e&&("function"!=typeof e&&Y(),this instanceof t?M(this,e):q())}return t.prototype["catch"]=function(t){return this.then(null,t)},t.prototype["finally"]=function(t){var n=this,r=n.constructor;return e(t)?n.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})}):n.then(t,t)},t}();return nt.prototype.then=l,nt.all=O,nt.race=k,nt.resolve=h,nt.reject=F,nt._setScheduler=n,nt._setAsap=r,nt._asap=z,nt.polyfill=D,nt.Promise=nt,nt.polyfill(),nt});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SystemJS 4.0.2
|
|
3
|
+
* MANUAL PATCH: remove script.crossOrigin = "anonymous"
|
|
4
|
+
* MANUAL PATCH: add conditionally apply, n.System=n.System||new u
|
|
5
|
+
*/
|
|
6
|
+
!function(){var e="undefined"!=typeof self,n=e?self:global;var t;if("undefined"!=typeof document){var e=document.querySelector("base[href]");e&&(t=e.href)}if(!t&&"undefined"!=typeof location){var e=(t=location.href.split("#")[0].split("?")[0]).lastIndexOf("/");-1!==e&&(t=t.slice(0,e+1))}var r=/\\/g,o="undefined"!=typeof Symbol,i=o&&Symbol.toStringTag,c=o?Symbol():"@";function u(){this[c]={}}var s=u.prototype;var l;s.import=function(e,n){var t=this;return Promise.resolve(t.resolve(e,n)).then(function(e){var n=function e(n,t,r){var o=n[c][t];if(o)return o;var u=[],s=Object.create(null);i&&Object.defineProperty(s,i,{value:"Module"});var l=Promise.resolve().then(function(){return n.instantiate(t,r)}).then(function(e){if(!e)throw Error("Module "+t+" did not instantiate");var r=e[1](function(e,n){o.h=!0;var t=!1;if("object"!=typeof e)e in s&&s[e]===n||(s[e]=n,t=!0);else for(var n in e){var r=e[n];n in s&&s[n]===r||(s[n]=r,t=!0)}if(t)for(var e=0;e<u.length;e++)u[e](s);return n},2===e[1].length?{import:function(e){return n.import(e,t)},meta:n.createContext(t)}:void 0);return o.e=r.execute||function(){},[e[0],r.setters||[]]});var f=l.then(function(r){return Promise.all(r[0].map(function(o,i){var c=r[1][i];return Promise.resolve(n.resolve(o,t)).then(function(r){var o=e(n,r,t);return Promise.resolve(o.I).then(function(){return c&&(o.i.push(c),!o.h&&o.I||c(o.n)),o})})})).then(function(e){o.d=e})});return f.catch(function(e){o.e=null,o.er=e}),o=n[c][t]={id:t,i:u,n:s,I:l,L:f,h:!1,d:void 0,e:void 0,er:void 0,E:void 0,C:void 0}}(t,e);return n.C||function(e,n){return n.C=function e(n,t,r){if(!r[t.id])return r[t.id]=!0,Promise.resolve(t.L).then(function(){return Promise.all(t.d.map(function(t){return e(n,t,r)}))})}(e,n,{}).then(function(){return function e(n,t,r){if(r[t.id])return;if(r[t.id]=!0,!t.e){if(t.er)throw t.er;return t.E?t.E:void 0}var o;return t.d.forEach(function(t){{var i=e(n,t,r);i&&(o=o||[]).push(i)}}),o?Promise.all(o).then(i):i();function i(){try{var e=t.e.call(f);if(e)return e=e.then(function(){t.C=t.n,t.E=null}),t.E=t.E||e;t.C=t.n}catch(e){throw t.er=e,e}finally{t.L=t.I=void 0,t.e=null}}}(e,n,{})}).then(function(){return n.n})}(t,n)})},s.createContext=function(e){return{url:e}},s.register=function(e,n){l=[e,n]},s.getRegister=function(){var e=l;return l=void 0,e};var f=Object.freeze(Object.create(null));n.System=n.System||new u;var d=s.register;s.register=function(e,n){d.call(this,e,n)},s.instantiate=function(e,n){var t=this;return".json"===e.substr(-5)?fetch(e).then(function(e){return e.text()}).then(function(e){return[[],function(n){return{execute:function(){n("default",JSON.parse(e))}}}]}):new Promise(function(r,o){var i;function c(n){n.filename===e&&(i=n.error)}window.addEventListener("error",c);var u=document.createElement("script");u.charset="utf-8",u.async=!0,u.addEventListener("error",function(){window.removeEventListener("error",c),o(Error("Error loading "+e+(n?" from "+n:"")))}),u.addEventListener("load",function(){window.removeEventListener("error",c),document.head.removeChild(u),i?o(i):r(t.getRegister())}),u.src=e,document.head.appendChild(u)})},e&&"function"==typeof importScripts&&(s.instantiate=function(e){var n=this;return new Promise(function(t,r){try{importScripts(e)}catch(e){r(e)}t(n.getRegister())})}),s.resolve=function(e,n){var o=function(e,n){if(-1!==e.indexOf("\\")&&(e=e.replace(r,"/")),"/"===e[0]&&"/"===e[1])return n.slice(0,n.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){var t=n.slice(0,n.indexOf(":")+1);var r;if(r="/"===n[t.length+1]?"file:"!==t?(r=n.slice(t.length+2)).slice(r.indexOf("/")+1):n.slice(8):n.slice(t.length+("/"===n[t.length])),"/"===e[0])return n.slice(0,n.length-r.length-1)+e;var o=r.slice(0,r.lastIndexOf("/")+1)+e,i=[];var c=-1;for(var e=0;e<o.length;e++)-1!==c?"/"===o[e]&&(i.push(o.slice(c,e+1)),c=-1):"."===o[e]?"."!==o[e+1]||"/"!==o[e+2]&&e+2!==o.length?"/"===o[e+1]||e+1===o.length?e+=1:c=e:(i.pop(),e+=2):c=e;return-1!==c&&i.push(o.slice(c)),n.slice(0,n.length-r.length)+i.join("")}}(e,n||t);if(!o){if(-1!==e.indexOf(":"))return Promise.resolve(e);throw Error('Cannot resolve "'+e+(n?'" from '+n:'"'))}return Promise.resolve(o)}}();
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*
|
|
8
|
+
* This file is a port of shadowCSS from webcomponents.js to TypeScript.
|
|
9
|
+
* https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
|
|
10
|
+
* https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
|
|
11
|
+
*/
|
|
12
|
+
const safeSelector = (selector) => {
|
|
13
|
+
const placeholders = [];
|
|
14
|
+
let index = 0;
|
|
15
|
+
let content;
|
|
16
|
+
// Replaces attribute selectors with placeholders.
|
|
17
|
+
// The WS in [attr="va lue"] would otherwise be interpreted as a selector separator.
|
|
18
|
+
selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => {
|
|
19
|
+
const replaceBy = `__ph-${index}__`;
|
|
20
|
+
placeholders.push(keep);
|
|
21
|
+
index++;
|
|
22
|
+
return replaceBy;
|
|
23
|
+
});
|
|
24
|
+
// Replaces the expression in `:nth-child(2n + 1)` with a placeholder.
|
|
25
|
+
// WS and "+" would otherwise be interpreted as selector separators.
|
|
26
|
+
content = selector.replace(/(:nth-[-\w]+)(\([^)]+\))/g, (_, pseudo, exp) => {
|
|
27
|
+
const replaceBy = `__ph-${index}__`;
|
|
28
|
+
placeholders.push(exp);
|
|
29
|
+
index++;
|
|
30
|
+
return pseudo + replaceBy;
|
|
31
|
+
});
|
|
32
|
+
const ss = {
|
|
33
|
+
content,
|
|
34
|
+
placeholders,
|
|
35
|
+
};
|
|
36
|
+
return ss;
|
|
37
|
+
};
|
|
38
|
+
const restoreSafeSelector = (placeholders, content) => {
|
|
39
|
+
return content.replace(/__ph-(\d+)__/g, (_, index) => placeholders[+index]);
|
|
40
|
+
};
|
|
41
|
+
const _polyfillHost = '-shadowcsshost';
|
|
42
|
+
const _polyfillSlotted = '-shadowcssslotted';
|
|
43
|
+
// note: :host-context pre-processed to -shadowcsshostcontext.
|
|
44
|
+
const _polyfillHostContext = '-shadowcsscontext';
|
|
45
|
+
const _parenSuffix = ')(?:\\((' +
|
|
46
|
+
'(?:\\([^)(]*\\)|[^)(]*)+?' +
|
|
47
|
+
')\\))?([^,{]*)';
|
|
48
|
+
const _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');
|
|
49
|
+
const _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');
|
|
50
|
+
const _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');
|
|
51
|
+
const _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
|
|
52
|
+
const _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
|
|
53
|
+
const _shadowDOMSelectorsRe = [
|
|
54
|
+
/::shadow/g,
|
|
55
|
+
/::content/g
|
|
56
|
+
];
|
|
57
|
+
const _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$';
|
|
58
|
+
const _polyfillHostRe = /-shadowcsshost/gim;
|
|
59
|
+
const _colonHostRe = /:host/gim;
|
|
60
|
+
const _colonSlottedRe = /::slotted/gim;
|
|
61
|
+
const _colonHostContextRe = /:host-context/gim;
|
|
62
|
+
const _commentRe = /\/\*\s*[\s\S]*?\*\//g;
|
|
63
|
+
const stripComments = (input) => {
|
|
64
|
+
return input.replace(_commentRe, '');
|
|
65
|
+
};
|
|
66
|
+
const _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;
|
|
67
|
+
const extractCommentsWithHash = (input) => {
|
|
68
|
+
return input.match(_commentWithHashRe) || [];
|
|
69
|
+
};
|
|
70
|
+
const _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g;
|
|
71
|
+
const _curlyRe = /([{}])/g;
|
|
72
|
+
const OPEN_CURLY = '{';
|
|
73
|
+
const CLOSE_CURLY = '}';
|
|
74
|
+
const BLOCK_PLACEHOLDER = '%BLOCK%';
|
|
75
|
+
const processRules = (input, ruleCallback) => {
|
|
76
|
+
const inputWithEscapedBlocks = escapeBlocks(input);
|
|
77
|
+
let nextBlockIndex = 0;
|
|
78
|
+
return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => {
|
|
79
|
+
const selector = m[2];
|
|
80
|
+
let content = '';
|
|
81
|
+
let suffix = m[4];
|
|
82
|
+
let contentPrefix = '';
|
|
83
|
+
if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {
|
|
84
|
+
content = inputWithEscapedBlocks.blocks[nextBlockIndex++];
|
|
85
|
+
suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);
|
|
86
|
+
contentPrefix = '{';
|
|
87
|
+
}
|
|
88
|
+
const cssRule = {
|
|
89
|
+
selector,
|
|
90
|
+
content
|
|
91
|
+
};
|
|
92
|
+
const rule = ruleCallback(cssRule);
|
|
93
|
+
return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
const escapeBlocks = (input) => {
|
|
97
|
+
const inputParts = input.split(_curlyRe);
|
|
98
|
+
const resultParts = [];
|
|
99
|
+
const escapedBlocks = [];
|
|
100
|
+
let bracketCount = 0;
|
|
101
|
+
let currentBlockParts = [];
|
|
102
|
+
for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {
|
|
103
|
+
const part = inputParts[partIndex];
|
|
104
|
+
if (part === CLOSE_CURLY) {
|
|
105
|
+
bracketCount--;
|
|
106
|
+
}
|
|
107
|
+
if (bracketCount > 0) {
|
|
108
|
+
currentBlockParts.push(part);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
if (currentBlockParts.length > 0) {
|
|
112
|
+
escapedBlocks.push(currentBlockParts.join(''));
|
|
113
|
+
resultParts.push(BLOCK_PLACEHOLDER);
|
|
114
|
+
currentBlockParts = [];
|
|
115
|
+
}
|
|
116
|
+
resultParts.push(part);
|
|
117
|
+
}
|
|
118
|
+
if (part === OPEN_CURLY) {
|
|
119
|
+
bracketCount++;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (currentBlockParts.length > 0) {
|
|
123
|
+
escapedBlocks.push(currentBlockParts.join(''));
|
|
124
|
+
resultParts.push(BLOCK_PLACEHOLDER);
|
|
125
|
+
}
|
|
126
|
+
const strEscapedBlocks = {
|
|
127
|
+
escapedString: resultParts.join(''),
|
|
128
|
+
blocks: escapedBlocks
|
|
129
|
+
};
|
|
130
|
+
return strEscapedBlocks;
|
|
131
|
+
};
|
|
132
|
+
const insertPolyfillHostInCssText = (selector) => {
|
|
133
|
+
selector = selector
|
|
134
|
+
.replace(_colonHostContextRe, _polyfillHostContext)
|
|
135
|
+
.replace(_colonHostRe, _polyfillHost)
|
|
136
|
+
.replace(_colonSlottedRe, _polyfillSlotted);
|
|
137
|
+
return selector;
|
|
138
|
+
};
|
|
139
|
+
const convertColonRule = (cssText, regExp, partReplacer) => {
|
|
140
|
+
// m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule
|
|
141
|
+
return cssText.replace(regExp, (...m) => {
|
|
142
|
+
if (m[2]) {
|
|
143
|
+
const parts = m[2].split(',');
|
|
144
|
+
const r = [];
|
|
145
|
+
for (let i = 0; i < parts.length; i++) {
|
|
146
|
+
const p = parts[i].trim();
|
|
147
|
+
if (!p)
|
|
148
|
+
break;
|
|
149
|
+
r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));
|
|
150
|
+
}
|
|
151
|
+
return r.join(',');
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
return _polyfillHostNoCombinator + m[3];
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
const colonHostPartReplacer = (host, part, suffix) => {
|
|
159
|
+
return host + part.replace(_polyfillHost, '') + suffix;
|
|
160
|
+
};
|
|
161
|
+
const convertColonHost = (cssText) => {
|
|
162
|
+
return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);
|
|
163
|
+
};
|
|
164
|
+
const colonHostContextPartReplacer = (host, part, suffix) => {
|
|
165
|
+
if (part.indexOf(_polyfillHost) > -1) {
|
|
166
|
+
return colonHostPartReplacer(host, part, suffix);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return host + part + suffix + ', ' + part + ' ' + host + suffix;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
const convertColonSlotted = (cssText, slotScopeId) => {
|
|
173
|
+
const slotClass = '.' + slotScopeId + ' > ';
|
|
174
|
+
const selectors = [];
|
|
175
|
+
cssText = cssText.replace(_cssColonSlottedRe, (...m) => {
|
|
176
|
+
if (m[2]) {
|
|
177
|
+
const compound = m[2].trim();
|
|
178
|
+
const suffix = m[3];
|
|
179
|
+
const slottedSelector = slotClass + compound + suffix;
|
|
180
|
+
let prefixSelector = '';
|
|
181
|
+
for (let i = m[4] - 1; i >= 0; i--) {
|
|
182
|
+
const char = m[5][i];
|
|
183
|
+
if (char === '}' || char === ',') {
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
prefixSelector = char + prefixSelector;
|
|
187
|
+
}
|
|
188
|
+
const orgSelector = prefixSelector + slottedSelector;
|
|
189
|
+
const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;
|
|
190
|
+
if (orgSelector.trim() !== addedSelector.trim()) {
|
|
191
|
+
const updatedSelector = `${addedSelector}, ${orgSelector}`;
|
|
192
|
+
selectors.push({
|
|
193
|
+
orgSelector,
|
|
194
|
+
updatedSelector,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return slottedSelector;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
return _polyfillHostNoCombinator + m[3];
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
return {
|
|
204
|
+
selectors,
|
|
205
|
+
cssText
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
const convertColonHostContext = (cssText) => {
|
|
209
|
+
return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);
|
|
210
|
+
};
|
|
211
|
+
const convertShadowDOMSelectors = (cssText) => {
|
|
212
|
+
return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);
|
|
213
|
+
};
|
|
214
|
+
const makeScopeMatcher = (scopeSelector) => {
|
|
215
|
+
const lre = /\[/g;
|
|
216
|
+
const rre = /\]/g;
|
|
217
|
+
scopeSelector = scopeSelector.replace(lre, '\\[').replace(rre, '\\]');
|
|
218
|
+
return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');
|
|
219
|
+
};
|
|
220
|
+
const selectorNeedsScoping = (selector, scopeSelector) => {
|
|
221
|
+
const re = makeScopeMatcher(scopeSelector);
|
|
222
|
+
return !re.test(selector);
|
|
223
|
+
};
|
|
224
|
+
const applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {
|
|
225
|
+
// In Android browser, the lastIndex is not reset when the regex is used in String.replace()
|
|
226
|
+
_polyfillHostRe.lastIndex = 0;
|
|
227
|
+
if (_polyfillHostRe.test(selector)) {
|
|
228
|
+
const replaceBy = `.${hostSelector}`;
|
|
229
|
+
return selector
|
|
230
|
+
.replace(_polyfillHostNoCombinatorRe, (_, selector) => {
|
|
231
|
+
return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {
|
|
232
|
+
return before + replaceBy + colon + after;
|
|
233
|
+
});
|
|
234
|
+
})
|
|
235
|
+
.replace(_polyfillHostRe, replaceBy + ' ');
|
|
236
|
+
}
|
|
237
|
+
return scopeSelector + ' ' + selector;
|
|
238
|
+
};
|
|
239
|
+
const applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {
|
|
240
|
+
const isRe = /\[is=([^\]]*)\]/g;
|
|
241
|
+
scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);
|
|
242
|
+
const className = '.' + scopeSelector;
|
|
243
|
+
const _scopeSelectorPart = (p) => {
|
|
244
|
+
let scopedP = p.trim();
|
|
245
|
+
if (!scopedP) {
|
|
246
|
+
return '';
|
|
247
|
+
}
|
|
248
|
+
if (p.indexOf(_polyfillHostNoCombinator) > -1) {
|
|
249
|
+
scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
// remove :host since it should be unnecessary
|
|
253
|
+
const t = p.replace(_polyfillHostRe, '');
|
|
254
|
+
if (t.length > 0) {
|
|
255
|
+
const matches = t.match(/([^:]*)(:*)(.*)/);
|
|
256
|
+
if (matches) {
|
|
257
|
+
scopedP = matches[1] + className + matches[2] + matches[3];
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return scopedP;
|
|
262
|
+
};
|
|
263
|
+
const safeContent = safeSelector(selector);
|
|
264
|
+
selector = safeContent.content;
|
|
265
|
+
let scopedSelector = '';
|
|
266
|
+
let startIndex = 0;
|
|
267
|
+
let res;
|
|
268
|
+
const sep = /( |>|\+|~(?!=))\s*/g;
|
|
269
|
+
// If a selector appears before :host it should not be shimmed as it
|
|
270
|
+
// matches on ancestor elements and not on elements in the host's shadow
|
|
271
|
+
// `:host-context(div)` is transformed to
|
|
272
|
+
// `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`
|
|
273
|
+
// the `div` is not part of the component in the 2nd selectors and should not be scoped.
|
|
274
|
+
// Historically `component-tag:host` was matching the component so we also want to preserve
|
|
275
|
+
// this behavior to avoid breaking legacy apps (it should not match).
|
|
276
|
+
// The behavior should be:
|
|
277
|
+
// - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)
|
|
278
|
+
// - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a
|
|
279
|
+
// `:host-context(tag)`)
|
|
280
|
+
const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;
|
|
281
|
+
// Only scope parts after the first `-shadowcsshost-no-combinator` when it is present
|
|
282
|
+
let shouldScope = !hasHost;
|
|
283
|
+
while ((res = sep.exec(selector)) !== null) {
|
|
284
|
+
const separator = res[1];
|
|
285
|
+
const part = selector.slice(startIndex, res.index).trim();
|
|
286
|
+
shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
|
|
287
|
+
const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;
|
|
288
|
+
scopedSelector += `${scopedPart} ${separator} `;
|
|
289
|
+
startIndex = sep.lastIndex;
|
|
290
|
+
}
|
|
291
|
+
const part = selector.substring(startIndex);
|
|
292
|
+
shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
|
|
293
|
+
scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
|
|
294
|
+
// replace the placeholders with their original values
|
|
295
|
+
return restoreSafeSelector(safeContent.placeholders, scopedSelector);
|
|
296
|
+
};
|
|
297
|
+
const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => {
|
|
298
|
+
return selector.split(',')
|
|
299
|
+
.map(shallowPart => {
|
|
300
|
+
if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {
|
|
301
|
+
return shallowPart.trim();
|
|
302
|
+
}
|
|
303
|
+
if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {
|
|
304
|
+
return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
return shallowPart.trim();
|
|
308
|
+
}
|
|
309
|
+
})
|
|
310
|
+
.join(', ');
|
|
311
|
+
};
|
|
312
|
+
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
313
|
+
return processRules(cssText, (rule) => {
|
|
314
|
+
let selector = rule.selector;
|
|
315
|
+
let content = rule.content;
|
|
316
|
+
if (rule.selector[0] !== '@') {
|
|
317
|
+
selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
318
|
+
}
|
|
319
|
+
else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||
|
|
320
|
+
rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {
|
|
321
|
+
content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);
|
|
322
|
+
}
|
|
323
|
+
const cssRule = {
|
|
324
|
+
selector: selector.replace(/\s{2,}/g, ' ').trim(),
|
|
325
|
+
content
|
|
326
|
+
};
|
|
327
|
+
return cssRule;
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
const scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) => {
|
|
331
|
+
cssText = insertPolyfillHostInCssText(cssText);
|
|
332
|
+
cssText = convertColonHost(cssText);
|
|
333
|
+
cssText = convertColonHostContext(cssText);
|
|
334
|
+
const slotted = convertColonSlotted(cssText, slotScopeId);
|
|
335
|
+
cssText = slotted.cssText;
|
|
336
|
+
cssText = convertShadowDOMSelectors(cssText);
|
|
337
|
+
if (scopeId) {
|
|
338
|
+
cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);
|
|
339
|
+
}
|
|
340
|
+
cssText = cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);
|
|
341
|
+
cssText = cssText.replace(/>\s*\*\s+([^{, ]+)/gm, ' $1 ');
|
|
342
|
+
return {
|
|
343
|
+
cssText: cssText.trim(),
|
|
344
|
+
slottedSelectors: slotted.selectors,
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
348
|
+
const hostScopeId = scopeId + '-h';
|
|
349
|
+
const slotScopeId = scopeId + '-s';
|
|
350
|
+
const commentsWithHash = extractCommentsWithHash(cssText);
|
|
351
|
+
cssText = stripComments(cssText);
|
|
352
|
+
const orgSelectors = [];
|
|
353
|
+
if (commentOriginalSelector) {
|
|
354
|
+
const processCommentedSelector = (rule) => {
|
|
355
|
+
const placeholder = `/*!@___${orgSelectors.length}___*/`;
|
|
356
|
+
const comment = `/*!@${rule.selector}*/`;
|
|
357
|
+
orgSelectors.push({ placeholder, comment });
|
|
358
|
+
rule.selector = placeholder + rule.selector;
|
|
359
|
+
return rule;
|
|
360
|
+
};
|
|
361
|
+
cssText = processRules(cssText, rule => {
|
|
362
|
+
if (rule.selector[0] !== '@') {
|
|
363
|
+
return processCommentedSelector(rule);
|
|
364
|
+
}
|
|
365
|
+
else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||
|
|
366
|
+
rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {
|
|
367
|
+
rule.content = processRules(rule.content, processCommentedSelector);
|
|
368
|
+
return rule;
|
|
369
|
+
}
|
|
370
|
+
return rule;
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);
|
|
374
|
+
cssText = [scoped.cssText, ...commentsWithHash].join('\n');
|
|
375
|
+
if (commentOriginalSelector) {
|
|
376
|
+
orgSelectors.forEach(({ placeholder, comment }) => {
|
|
377
|
+
cssText = cssText.replace(placeholder, comment);
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
scoped.slottedSelectors.forEach(slottedSelector => {
|
|
381
|
+
cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);
|
|
382
|
+
});
|
|
383
|
+
return cssText;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
export { scopeCss };
|