native-fn 1.0.38 → 1.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -1
- package/dist/native.cjs +23 -2
- package/dist/native.min.cjs +1 -1
- package/dist/native.min.mjs +1 -1
- package/dist/native.mjs +23 -2
- package/dist/native.umd.js +23 -2
- package/dist/native.umd.min.js +1 -1
- package/dist/plugin/app/index.cjs +352 -192
- package/dist/plugin/app/index.d.ts +12 -18
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +352 -192
- package/dist/plugin/app/index.umd.js +352 -192
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/constants/platform.d.ts +17 -2
- package/dist/plugin/app/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/app/src/plugin/app/constants/app.d.ts +1 -2
- package/dist/plugin/app/src/plugin/app/cores/app.d.ts +1 -1
- package/dist/plugin/app/src/plugin/app/index.d.ts +5 -5
- package/dist/plugin/app/src/plugin/app/types/app.d.ts +7 -16
- package/dist/plugin/app/src/plugin/app/types/index.d.ts +4 -4
- package/dist/plugin/app/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/plugin/app/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/plugin/app/src/plugin/camera/index.d.ts +8 -0
- package/dist/plugin/app/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/plugin/app/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/plugin/app/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/app/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
- package/dist/plugin/app/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/plugin/app/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/app/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/app/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/app/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/app/src/plugin/clipboard/utils/copy.d.ts +1 -0
- package/dist/plugin/app/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
- package/dist/plugin/app/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/plugin/app/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/app/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/app/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/app/src/plugin/media/constants/media.d.ts +5 -0
- package/dist/plugin/app/src/plugin/media/cores/media.d.ts +3 -0
- package/dist/plugin/app/src/plugin/media/index.d.ts +5 -0
- package/dist/plugin/app/src/plugin/media/types/index.d.ts +13 -0
- package/dist/plugin/app/src/plugin/media/types/media.d.ts +4 -0
- package/dist/plugin/app/src/plugin/media/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/app/src/plugin/platform/cores/platform.d.ts +1 -1
- package/dist/plugin/app/src/plugin/platform/index.d.ts +9 -3
- package/dist/plugin/app/src/plugin/platform/types/index.d.ts +2 -2
- package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +3 -1
- package/dist/plugin/app/src/plugin/theme/constants/theme.d.ts +1 -3
- package/dist/plugin/app/src/plugin/theme/cores/theme.d.ts +1 -1
- package/dist/plugin/app/src/plugin/theme/index.d.ts +5 -5
- package/dist/plugin/app/src/plugin/theme/types/index.d.ts +4 -4
- package/dist/plugin/app/src/plugin/theme/types/theme.d.ts +7 -7
- package/dist/plugin/app/src/plugin/theme/utils/parse-color.d.ts +1 -1
- package/dist/plugin/app/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
- package/dist/plugin/app/src/types/clipboard-utils.d.ts +4 -0
- package/dist/plugin/app/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/app/src/types/index.d.ts +1 -1
- package/dist/plugin/app/src/types/native.d.ts +5 -0
- package/dist/plugin/app/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/plugin/app/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/app/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/app/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/app/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/app/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/plugin/app/src/utils/get-tag-name.d.ts +1 -0
- package/dist/plugin/app/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/app/src/utils/is-secure-context.d.ts +1 -0
- package/dist/plugin/camera/index.cjs +377 -0
- package/dist/plugin/camera/index.d.ts +34 -0
- package/dist/plugin/camera/index.min.cjs +1 -0
- package/dist/plugin/camera/index.min.mjs +1 -0
- package/dist/plugin/camera/index.mjs +375 -0
- package/dist/plugin/camera/index.umd.js +383 -0
- package/dist/plugin/camera/index.umd.min.js +1 -0
- package/dist/plugin/camera/src/constants/platform.d.ts +50 -0
- package/dist/plugin/camera/src/constants/user-agent.d.ts +1 -0
- package/dist/plugin/camera/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/camera/src/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/camera/src/plugin/app/constants/app.d.ts +12 -0
- package/dist/plugin/camera/src/plugin/app/cores/app.d.ts +3 -0
- package/dist/plugin/camera/src/plugin/app/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/camera/src/plugin/app/index.d.ts +12 -0
- package/dist/plugin/camera/src/plugin/app/types/app.d.ts +45 -0
- package/dist/plugin/camera/src/plugin/app/types/index.d.ts +16 -0
- package/dist/plugin/camera/src/plugin/app/utils/try-open-url.d.ts +1 -0
- package/dist/plugin/camera/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/plugin/camera/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/plugin/camera/src/plugin/camera/index.d.ts +8 -0
- package/dist/plugin/camera/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/plugin/camera/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/plugin/camera/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/camera/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
- package/dist/plugin/camera/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/plugin/camera/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/camera/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/camera/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/camera/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/camera/src/plugin/clipboard/utils/copy.d.ts +1 -0
- package/dist/plugin/camera/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
- package/dist/plugin/camera/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/plugin/camera/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/camera/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/camera/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/camera/src/plugin/platform/cores/platform.d.ts +3 -0
- package/dist/plugin/camera/src/plugin/platform/index.d.ts +11 -0
- package/dist/plugin/camera/src/plugin/platform/types/index.d.ts +7 -0
- package/dist/plugin/camera/src/plugin/platform/types/platform.d.ts +15 -0
- package/dist/plugin/camera/src/plugin/theme/constants/theme.d.ts +14 -0
- package/dist/plugin/camera/src/plugin/theme/cores/theme.d.ts +3 -0
- package/dist/plugin/camera/src/plugin/theme/errors/easing-error.d.ts +6 -0
- package/dist/plugin/camera/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/camera/src/plugin/theme/index.d.ts +17 -0
- package/dist/plugin/camera/src/plugin/theme/types/color.d.ts +17 -0
- package/dist/plugin/camera/src/plugin/theme/types/easing-syntax.d.ts +16 -0
- package/dist/plugin/camera/src/plugin/theme/types/index.d.ts +23 -0
- package/dist/plugin/camera/src/plugin/theme/types/theme.d.ts +23 -0
- package/dist/plugin/camera/src/plugin/theme/utils/parse-color.d.ts +2 -0
- package/dist/plugin/camera/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
- package/dist/plugin/camera/src/types/clipboard-utils.d.ts +4 -0
- package/dist/plugin/camera/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/camera/src/types/index.d.ts +1 -0
- package/dist/plugin/camera/src/types/native.d.ts +27 -0
- package/dist/plugin/camera/src/utils/assign.d.ts +1 -0
- package/dist/plugin/camera/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/plugin/camera/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/camera/src/utils/create-custom-error.d.ts +1 -0
- package/dist/plugin/camera/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/camera/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/camera/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/camera/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/plugin/camera/src/utils/get-tag-name.d.ts +1 -0
- package/dist/plugin/camera/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/camera/src/utils/is-secure-context.d.ts +1 -0
- package/dist/plugin/clipboard/index.cjs +491 -0
- package/dist/plugin/clipboard/index.d.ts +27 -0
- package/dist/plugin/clipboard/index.min.cjs +1 -0
- package/dist/plugin/clipboard/index.min.mjs +1 -0
- package/dist/plugin/clipboard/index.mjs +489 -0
- package/dist/plugin/clipboard/index.umd.js +497 -0
- package/dist/plugin/clipboard/index.umd.min.js +1 -0
- package/dist/plugin/clipboard/src/constants/platform.d.ts +50 -0
- package/dist/plugin/clipboard/src/constants/user-agent.d.ts +1 -0
- package/dist/plugin/clipboard/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/clipboard/src/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/clipboard/src/plugin/app/constants/app.d.ts +12 -0
- package/dist/plugin/clipboard/src/plugin/app/cores/app.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/app/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/clipboard/src/plugin/app/index.d.ts +12 -0
- package/dist/plugin/clipboard/src/plugin/app/types/app.d.ts +45 -0
- package/dist/plugin/clipboard/src/plugin/app/types/index.d.ts +16 -0
- package/dist/plugin/clipboard/src/plugin/app/utils/try-open-url.d.ts +1 -0
- package/dist/plugin/clipboard/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/plugin/clipboard/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/camera/index.d.ts +8 -0
- package/dist/plugin/clipboard/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/plugin/clipboard/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/plugin/clipboard/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/utils/copy.d.ts +1 -0
- package/dist/plugin/clipboard/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
- package/dist/plugin/clipboard/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/clipboard/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/clipboard/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/clipboard/src/plugin/platform/cores/platform.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/platform/index.d.ts +11 -0
- package/dist/plugin/clipboard/src/plugin/platform/types/index.d.ts +7 -0
- package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +15 -0
- package/dist/plugin/clipboard/src/plugin/theme/constants/theme.d.ts +14 -0
- package/dist/plugin/clipboard/src/plugin/theme/cores/theme.d.ts +3 -0
- package/dist/plugin/clipboard/src/plugin/theme/errors/easing-error.d.ts +6 -0
- package/dist/plugin/clipboard/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/clipboard/src/plugin/theme/index.d.ts +17 -0
- package/dist/plugin/clipboard/src/plugin/theme/types/color.d.ts +17 -0
- package/dist/plugin/clipboard/src/plugin/theme/types/easing-syntax.d.ts +16 -0
- package/dist/plugin/clipboard/src/plugin/theme/types/index.d.ts +23 -0
- package/dist/plugin/clipboard/src/plugin/theme/types/theme.d.ts +23 -0
- package/dist/plugin/clipboard/src/plugin/theme/utils/parse-color.d.ts +2 -0
- package/dist/plugin/clipboard/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
- package/dist/plugin/clipboard/src/types/clipboard-utils.d.ts +4 -0
- package/dist/plugin/clipboard/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/clipboard/src/types/index.d.ts +1 -0
- package/dist/plugin/clipboard/src/types/native.d.ts +27 -0
- package/dist/plugin/clipboard/src/utils/assign.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/plugin/clipboard/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/create-custom-error.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/clipboard/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/plugin/clipboard/src/utils/get-tag-name.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/clipboard/src/utils/is-secure-context.d.ts +1 -0
- package/dist/plugin/fullscreen/index.cjs +521 -0
- package/dist/plugin/fullscreen/index.d.ts +33 -0
- package/dist/plugin/fullscreen/index.min.cjs +1 -0
- package/dist/plugin/fullscreen/index.min.mjs +1 -0
- package/dist/plugin/fullscreen/index.mjs +519 -0
- package/dist/plugin/fullscreen/index.umd.js +527 -0
- package/dist/plugin/fullscreen/index.umd.min.js +1 -0
- package/dist/plugin/fullscreen/src/constants/platform.d.ts +50 -0
- package/dist/plugin/fullscreen/src/constants/user-agent.d.ts +1 -0
- package/dist/plugin/fullscreen/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/fullscreen/src/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/fullscreen/src/plugin/app/constants/app.d.ts +12 -0
- package/dist/plugin/fullscreen/src/plugin/app/cores/app.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/app/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/fullscreen/src/plugin/app/index.d.ts +12 -0
- package/dist/plugin/fullscreen/src/plugin/app/types/app.d.ts +45 -0
- package/dist/plugin/fullscreen/src/plugin/app/types/index.d.ts +16 -0
- package/dist/plugin/fullscreen/src/plugin/app/utils/try-open-url.d.ts +1 -0
- package/dist/plugin/fullscreen/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/plugin/fullscreen/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/camera/index.d.ts +8 -0
- package/dist/plugin/fullscreen/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/plugin/fullscreen/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/plugin/fullscreen/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/fullscreen/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/fullscreen/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/fullscreen/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/fullscreen/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/fullscreen/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/fullscreen/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/fullscreen/src/plugin/platform/cores/platform.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/platform/index.d.ts +11 -0
- package/dist/plugin/fullscreen/src/plugin/platform/types/index.d.ts +7 -0
- package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +15 -0
- package/dist/plugin/fullscreen/src/plugin/theme/constants/theme.d.ts +14 -0
- package/dist/plugin/fullscreen/src/plugin/theme/cores/theme.d.ts +3 -0
- package/dist/plugin/fullscreen/src/plugin/theme/errors/easing-error.d.ts +6 -0
- package/dist/plugin/fullscreen/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/fullscreen/src/plugin/theme/index.d.ts +17 -0
- package/dist/plugin/fullscreen/src/plugin/theme/types/color.d.ts +17 -0
- package/dist/plugin/fullscreen/src/plugin/theme/types/easing-syntax.d.ts +16 -0
- package/dist/plugin/fullscreen/src/plugin/theme/types/index.d.ts +23 -0
- package/dist/plugin/fullscreen/src/plugin/theme/types/theme.d.ts +23 -0
- package/dist/plugin/fullscreen/src/plugin/theme/utils/parse-color.d.ts +2 -0
- package/dist/plugin/fullscreen/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
- package/dist/plugin/fullscreen/src/types/clipboard-utils.d.ts +4 -0
- package/dist/plugin/fullscreen/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/fullscreen/src/types/index.d.ts +1 -0
- package/dist/plugin/fullscreen/src/types/native.d.ts +27 -0
- package/dist/plugin/fullscreen/src/utils/assign.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/plugin/fullscreen/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/create-custom-error.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/fullscreen/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/plugin/fullscreen/src/utils/get-tag-name.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/fullscreen/src/utils/is-secure-context.d.ts +1 -0
- package/dist/plugin/media/index.cjs +241 -0
- package/dist/plugin/media/index.d.ts +33 -0
- package/dist/plugin/media/index.min.cjs +1 -0
- package/dist/plugin/media/index.min.mjs +1 -0
- package/dist/plugin/media/index.mjs +239 -0
- package/dist/plugin/media/index.umd.js +247 -0
- package/dist/plugin/media/index.umd.min.js +1 -0
- package/dist/plugin/media/src/constants/platform.d.ts +35 -0
- package/dist/plugin/media/src/constants/user-agent.d.ts +1 -0
- package/dist/plugin/media/src/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/media/src/plugin/app/constants/app.d.ts +13 -0
- package/dist/plugin/media/src/plugin/app/cores/app.d.ts +3 -0
- package/dist/plugin/media/src/plugin/app/errors/url-open-error.d.ts +2 -0
- package/dist/plugin/media/src/plugin/app/index.d.ts +12 -0
- package/dist/plugin/media/src/plugin/app/types/app.d.ts +43 -0
- package/dist/plugin/media/src/plugin/app/types/index.d.ts +16 -0
- package/dist/plugin/media/src/plugin/app/utils/try-open-url.d.ts +1 -0
- package/dist/plugin/media/src/plugin/media/constants/media.d.ts +5 -0
- package/dist/plugin/media/src/plugin/media/cores/media.d.ts +3 -0
- package/dist/plugin/media/src/plugin/media/index.d.ts +5 -0
- package/dist/plugin/media/src/plugin/media/types/index.d.ts +13 -0
- package/dist/plugin/media/src/plugin/media/types/media.d.ts +4 -0
- package/dist/plugin/media/src/plugin/media/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/media/src/plugin/platform/cores/platform.d.ts +3 -0
- package/dist/plugin/media/src/plugin/platform/index.d.ts +5 -0
- package/dist/plugin/media/src/plugin/platform/types/index.d.ts +7 -0
- package/dist/plugin/media/src/plugin/platform/types/platform.d.ts +13 -0
- package/dist/plugin/media/src/plugin/theme/constants/theme.d.ts +16 -0
- package/dist/plugin/media/src/plugin/theme/cores/theme.d.ts +3 -0
- package/dist/plugin/media/src/plugin/theme/errors/easing-error.d.ts +6 -0
- package/dist/plugin/media/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/media/src/plugin/theme/index.d.ts +17 -0
- package/dist/plugin/media/src/plugin/theme/types/color.d.ts +17 -0
- package/dist/plugin/media/src/plugin/theme/types/easing-syntax.d.ts +16 -0
- package/dist/plugin/media/src/plugin/theme/types/index.d.ts +23 -0
- package/dist/plugin/media/src/plugin/theme/types/theme.d.ts +23 -0
- package/dist/plugin/media/src/plugin/theme/utils/parse-color.d.ts +2 -0
- package/dist/plugin/media/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
- package/dist/plugin/media/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/media/src/types/index.d.ts +2 -0
- package/dist/plugin/media/src/types/native.d.ts +27 -0
- package/dist/plugin/media/src/utils/assign.d.ts +1 -0
- package/dist/plugin/media/src/utils/create-custom-error.d.ts +1 -0
- package/dist/plugin/media/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/media/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/media/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/platform/index.cjs +164 -62
- package/dist/plugin/platform/index.d.ts +21 -1
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +164 -62
- package/dist/plugin/platform/index.umd.js +164 -62
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/constants/platform.d.ts +17 -2
- package/dist/plugin/platform/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/platform/src/plugin/app/constants/app.d.ts +1 -2
- package/dist/plugin/platform/src/plugin/app/cores/app.d.ts +1 -1
- package/dist/plugin/platform/src/plugin/app/index.d.ts +5 -5
- package/dist/plugin/platform/src/plugin/app/types/app.d.ts +7 -16
- package/dist/plugin/platform/src/plugin/app/types/index.d.ts +4 -4
- package/dist/plugin/platform/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/plugin/platform/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/plugin/platform/src/plugin/camera/index.d.ts +8 -0
- package/dist/plugin/platform/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/plugin/platform/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/plugin/platform/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/platform/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
- package/dist/plugin/platform/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/plugin/platform/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/platform/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/platform/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/platform/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/platform/src/plugin/clipboard/utils/copy.d.ts +1 -0
- package/dist/plugin/platform/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
- package/dist/plugin/platform/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/plugin/platform/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/platform/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/platform/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/platform/src/plugin/media/constants/media.d.ts +5 -0
- package/dist/plugin/platform/src/plugin/media/cores/media.d.ts +3 -0
- package/dist/plugin/platform/src/plugin/media/index.d.ts +5 -0
- package/dist/plugin/platform/src/plugin/media/types/index.d.ts +13 -0
- package/dist/plugin/platform/src/plugin/media/types/media.d.ts +4 -0
- package/dist/plugin/platform/src/plugin/media/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/platform/src/plugin/platform/cores/platform.d.ts +1 -1
- package/dist/plugin/platform/src/plugin/platform/index.d.ts +9 -3
- package/dist/plugin/platform/src/plugin/platform/types/index.d.ts +2 -2
- package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +3 -1
- package/dist/plugin/platform/src/plugin/theme/constants/theme.d.ts +1 -3
- package/dist/plugin/platform/src/plugin/theme/cores/theme.d.ts +1 -1
- package/dist/plugin/platform/src/plugin/theme/index.d.ts +5 -5
- package/dist/plugin/platform/src/plugin/theme/types/index.d.ts +4 -4
- package/dist/plugin/platform/src/plugin/theme/types/theme.d.ts +7 -7
- package/dist/plugin/platform/src/plugin/theme/utils/parse-color.d.ts +1 -1
- package/dist/plugin/platform/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
- package/dist/plugin/platform/src/types/clipboard-utils.d.ts +4 -0
- package/dist/plugin/platform/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/platform/src/types/index.d.ts +1 -1
- package/dist/plugin/platform/src/types/native.d.ts +5 -0
- package/dist/plugin/platform/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/plugin/platform/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/platform/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/platform/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/platform/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/platform/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/plugin/platform/src/utils/get-tag-name.d.ts +1 -0
- package/dist/plugin/platform/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/platform/src/utils/is-secure-context.d.ts +1 -0
- package/dist/plugin/theme/index.cjs +317 -50
- package/dist/plugin/theme/index.d.ts +5 -5
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +317 -50
- package/dist/plugin/theme/index.umd.js +317 -50
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/constants/platform.d.ts +17 -2
- package/dist/plugin/theme/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/plugin/theme/src/plugin/app/constants/app.d.ts +1 -2
- package/dist/plugin/theme/src/plugin/app/cores/app.d.ts +1 -1
- package/dist/plugin/theme/src/plugin/app/index.d.ts +5 -5
- package/dist/plugin/theme/src/plugin/app/types/app.d.ts +7 -16
- package/dist/plugin/theme/src/plugin/app/types/index.d.ts +4 -4
- package/dist/plugin/theme/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/plugin/theme/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/plugin/theme/src/plugin/camera/index.d.ts +8 -0
- package/dist/plugin/theme/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/plugin/theme/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/plugin/theme/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/theme/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
- package/dist/plugin/theme/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/plugin/theme/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
- package/dist/plugin/theme/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/plugin/theme/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/plugin/theme/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/plugin/theme/src/plugin/clipboard/utils/copy.d.ts +1 -0
- package/dist/plugin/theme/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
- package/dist/plugin/theme/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/plugin/theme/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/plugin/theme/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/plugin/theme/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/plugin/theme/src/plugin/media/constants/media.d.ts +5 -0
- package/dist/plugin/theme/src/plugin/media/cores/media.d.ts +3 -0
- package/dist/plugin/theme/src/plugin/media/index.d.ts +5 -0
- package/dist/plugin/theme/src/plugin/media/types/index.d.ts +13 -0
- package/dist/plugin/theme/src/plugin/media/types/media.d.ts +4 -0
- package/dist/plugin/theme/src/plugin/media/utils/try-open-camera.d.ts +2 -0
- package/dist/plugin/theme/src/plugin/platform/cores/platform.d.ts +1 -1
- package/dist/plugin/theme/src/plugin/platform/index.d.ts +9 -3
- package/dist/plugin/theme/src/plugin/platform/types/index.d.ts +2 -2
- package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +3 -1
- package/dist/plugin/theme/src/plugin/theme/constants/theme.d.ts +1 -3
- package/dist/plugin/theme/src/plugin/theme/cores/theme.d.ts +1 -1
- package/dist/plugin/theme/src/plugin/theme/index.d.ts +5 -5
- package/dist/plugin/theme/src/plugin/theme/types/index.d.ts +4 -4
- package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +7 -7
- package/dist/plugin/theme/src/plugin/theme/utils/parse-color.d.ts +1 -1
- package/dist/plugin/theme/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
- package/dist/plugin/theme/src/types/clipboard-utils.d.ts +4 -0
- package/dist/plugin/theme/src/types/event-listener-util.d.ts +11 -0
- package/dist/plugin/theme/src/types/index.d.ts +1 -1
- package/dist/plugin/theme/src/types/native.d.ts +5 -0
- package/dist/plugin/theme/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/plugin/theme/src/utils/compare-version.d.ts +1 -0
- package/dist/plugin/theme/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/plugin/theme/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/plugin/theme/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/plugin/theme/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/plugin/theme/src/utils/get-tag-name.d.ts +1 -0
- package/dist/plugin/theme/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/plugin/theme/src/utils/is-secure-context.d.ts +1 -0
- package/dist/src/constants/platform.d.ts +17 -2
- package/dist/src/errors/plugin-not-extended-error.d.ts +2 -0
- package/dist/src/plugin/app/constants/app.d.ts +1 -2
- package/dist/src/plugin/app/cores/app.d.ts +1 -1
- package/dist/src/plugin/app/index.d.ts +5 -5
- package/dist/src/plugin/app/types/app.d.ts +7 -16
- package/dist/src/plugin/app/types/index.d.ts +4 -4
- package/dist/src/plugin/camera/constants/camera.d.ts +4 -0
- package/dist/src/plugin/camera/cores/camera.d.ts +3 -0
- package/dist/src/plugin/camera/index.d.ts +8 -0
- package/dist/src/plugin/camera/types/camera.d.ts +4 -0
- package/dist/src/plugin/camera/types/index.d.ts +13 -0
- package/dist/src/plugin/camera/utils/try-open-camera.d.ts +2 -0
- package/dist/src/plugin/clipboard/constants/clipboard.d.ts +4 -0
- package/dist/src/plugin/clipboard/cores/clipboard.d.ts +3 -0
- package/dist/src/plugin/clipboard/errors/unsupported-color-error.d.ts +2 -0
- package/dist/src/plugin/clipboard/index.d.ts +5 -0
- package/dist/src/plugin/clipboard/types/clipboard.d.ts +4 -0
- package/dist/src/plugin/clipboard/types/index.d.ts +11 -0
- package/dist/src/plugin/clipboard/utils/copy.d.ts +1 -0
- package/dist/src/plugin/clipboard/utils/html-string-to-plain-string.d.ts +1 -0
- package/dist/src/plugin/fullscreen/cores/fullscreen.d.ts +3 -0
- package/dist/src/plugin/fullscreen/index.d.ts +5 -0
- package/dist/src/plugin/fullscreen/types/fullscreen.d.ts +10 -0
- package/dist/src/plugin/fullscreen/types/index.d.ts +11 -0
- package/dist/src/plugin/media/constants/media.d.ts +5 -0
- package/dist/src/plugin/media/cores/media.d.ts +3 -0
- package/dist/src/plugin/media/index.d.ts +5 -0
- package/dist/src/plugin/media/types/index.d.ts +13 -0
- package/dist/src/plugin/media/types/media.d.ts +4 -0
- package/dist/src/plugin/media/utils/try-open-camera.d.ts +2 -0
- package/dist/src/plugin/platform/cores/platform.d.ts +1 -1
- package/dist/src/plugin/platform/index.d.ts +9 -3
- package/dist/src/plugin/platform/types/index.d.ts +2 -2
- package/dist/src/plugin/platform/types/platform.d.ts +3 -1
- package/dist/src/plugin/theme/constants/theme.d.ts +1 -3
- package/dist/src/plugin/theme/cores/theme.d.ts +1 -1
- package/dist/src/plugin/theme/index.d.ts +5 -5
- package/dist/src/plugin/theme/types/index.d.ts +4 -4
- package/dist/src/plugin/theme/types/theme.d.ts +7 -7
- package/dist/src/plugin/theme/utils/parse-color.d.ts +1 -1
- package/dist/src/plugin/theme/utils/parse-easing-function.d.ts +1 -1
- package/dist/src/types/clipboard-utils.d.ts +4 -0
- package/dist/src/types/event-listener-util.d.ts +11 -0
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/native.d.ts +5 -0
- package/dist/src/utils/clipboard-utils.d.ts +4 -0
- package/dist/src/utils/compare-version.d.ts +1 -0
- package/dist/src/utils/create-hidden-element.d.ts +1 -0
- package/dist/src/utils/dispatch-click-event.d.ts +1 -0
- package/dist/src/utils/event-listener-utils.d.ts +3 -0
- package/dist/src/utils/fullscreen-utils.d.ts +44 -0
- package/dist/src/utils/get-tag-name.d.ts +1 -0
- package/dist/src/utils/get-topmost-window.d.ts +1 -0
- package/dist/src/utils/is-secure-context.d.ts +1 -0
- package/package.json +22 -1
|
@@ -2,27 +2,244 @@
|
|
|
2
2
|
|
|
3
3
|
var USER_AGENT = navigator.userAgent;
|
|
4
4
|
|
|
5
|
+
var OS;
|
|
6
|
+
(function (OS) {
|
|
7
|
+
OS["Unknown"] = "Unknown";
|
|
8
|
+
OS["Android"] = "Android";
|
|
9
|
+
OS["iOS"] = "iOS";
|
|
10
|
+
OS["Windows"] = "Windows";
|
|
11
|
+
OS["MacOS"] = "MacOS";
|
|
12
|
+
})(OS || (OS = {}));
|
|
13
|
+
var Devices;
|
|
14
|
+
(function (Devices) {
|
|
15
|
+
Devices["Unknown"] = "Unknown";
|
|
16
|
+
Devices["Mobile"] = "Mobile";
|
|
17
|
+
Devices["Desktop"] = "Desktop";
|
|
18
|
+
})(Devices || (Devices = {}));
|
|
19
|
+
var Engines;
|
|
20
|
+
(function (Engines) {
|
|
21
|
+
Engines["Unknown"] = "Unknown";
|
|
22
|
+
Engines["EdgeHTML"] = "EdgeHTML";
|
|
23
|
+
Engines["ArkWeb"] = "ArkWeb";
|
|
24
|
+
Engines["Blink"] = "Blink";
|
|
25
|
+
Engines["Presto"] = "Presto";
|
|
26
|
+
Engines["WebKit"] = "WebKit";
|
|
27
|
+
Engines["Trident"] = "Trident";
|
|
28
|
+
Engines["NetFront"] = "NetFront";
|
|
29
|
+
Engines["KHTML"] = "KHTML";
|
|
30
|
+
Engines["Tasman"] = "Tasman";
|
|
31
|
+
Engines["Gecko"] = "Gecko";
|
|
32
|
+
})(Engines || (Engines = {}));
|
|
33
|
+
var Browsers;
|
|
34
|
+
(function (Browsers) {
|
|
35
|
+
Browsers["Unknown"] = "Unknown";
|
|
36
|
+
Browsers["Chrome"] = "Chrome";
|
|
37
|
+
Browsers["Safari"] = "Safari";
|
|
38
|
+
Browsers["Edge"] = "Edge";
|
|
39
|
+
Browsers["Firefox"] = "Firefox";
|
|
40
|
+
Browsers["Opera"] = "Opera";
|
|
41
|
+
Browsers["IE"] = "IE";
|
|
42
|
+
Browsers["SamsungInternet"] = "SamsungInternet";
|
|
43
|
+
})(Browsers || (Browsers = {}));
|
|
44
|
+
var DEVICE_NAME = Devices.Unknown;
|
|
45
|
+
var OS_NAME = OS.Unknown;
|
|
46
|
+
Engines.Unknown;
|
|
47
|
+
var BROWSER_NAME = Browsers.Unknown;
|
|
48
|
+
var BROWSER_VERSION = '';
|
|
49
|
+
function resolveWindowsVersion(string) {
|
|
50
|
+
if (string === undefined)
|
|
51
|
+
return '';
|
|
52
|
+
var mapped = {
|
|
53
|
+
'4.90': 'ME',
|
|
54
|
+
'NT3.51': 'NT 3.11',
|
|
55
|
+
'NT4.0': 'NT 4.0',
|
|
56
|
+
'NT 5.0': '2000',
|
|
57
|
+
'NT 5.1': 'XP',
|
|
58
|
+
'NT 5.2': 'XP',
|
|
59
|
+
'NT 6.0': 'Vista',
|
|
60
|
+
'NT 6.1': '7',
|
|
61
|
+
'NT 6.2': '8',
|
|
62
|
+
'NT 6.3': '8.1',
|
|
63
|
+
'NT 6.4': '10',
|
|
64
|
+
'NT 10.0': '10',
|
|
65
|
+
'ARM': 'RT'
|
|
66
|
+
}[string];
|
|
67
|
+
if (mapped !== undefined)
|
|
68
|
+
return mapped;
|
|
69
|
+
return string;
|
|
70
|
+
}
|
|
71
|
+
function resolveUnderscoreVersion(string) {
|
|
72
|
+
if (string === undefined)
|
|
73
|
+
return '';
|
|
74
|
+
return string.replace(/_/g, '.');
|
|
75
|
+
}
|
|
76
|
+
function resolveVersion(string, resolver) {
|
|
77
|
+
if (typeof resolver === 'function')
|
|
78
|
+
return resolver(string);
|
|
79
|
+
if (typeof resolver === 'string')
|
|
80
|
+
return resolver;
|
|
81
|
+
if (string === undefined)
|
|
82
|
+
return '';
|
|
83
|
+
return string;
|
|
84
|
+
}
|
|
85
|
+
var OS_RESOLVER_MAP = [
|
|
86
|
+
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
87
|
+
[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
|
|
88
|
+
[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i, OS.Windows, resolveWindowsVersion],
|
|
89
|
+
[/windows nt ?([\d.)]*)(?!.+xbox)/i, OS.Windows, resolveWindowsVersion],
|
|
90
|
+
[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i, OS.Windows, resolveWindowsVersion],
|
|
91
|
+
[/windows ce\/?([\d.]*)/i, OS.Windows, resolveWindowsVersion],
|
|
92
|
+
[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i, OS.iOS, resolveUnderscoreVersion],
|
|
93
|
+
[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i, OS.iOS, resolveUnderscoreVersion],
|
|
94
|
+
[/cfnetwork\/.+darwin/i, OS.iOS, resolveUnderscoreVersion],
|
|
95
|
+
[/mac os x ?([\w. ]*)/i, OS.MacOS, resolveUnderscoreVersion],
|
|
96
|
+
[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i, OS.MacOS, resolveUnderscoreVersion],
|
|
97
|
+
[/droid ([\w.]+)\b.+(android[- ]x86)/i, OS.Android],
|
|
98
|
+
[/android\w*[-\/.; ]?([\d.]*)/i, OS.Android],
|
|
99
|
+
];
|
|
100
|
+
var ENGINE_RESOLVER_MAP = [
|
|
101
|
+
[/windows.+ edge\/([\w.]+)/i, Engines.EdgeHTML],
|
|
102
|
+
[/arkweb\/([\w.]+)/i, Engines.ArkWeb],
|
|
103
|
+
[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i, Engines.Blink],
|
|
104
|
+
[/presto\/([\w.]+)/i, Engines.Presto],
|
|
105
|
+
[/webkit\/([\w.]+)/i, Engines.WebKit],
|
|
106
|
+
[/trident\/([\w.]+)/i, Engines.Trident],
|
|
107
|
+
[/netfront\/([\w.]+)/i, Engines.NetFront],
|
|
108
|
+
[/khtml[\/ ]\(?([\w.]+)/i, Engines.KHTML],
|
|
109
|
+
[/tasman[\/ ]\(?([\w.]+)/i, Engines.Tasman],
|
|
110
|
+
[/rv:([\w.]{1,9})\b.+gecko/i, Engines.Gecko]
|
|
111
|
+
];
|
|
112
|
+
var BROWSER_RESOLVER_MAP = [
|
|
113
|
+
[/\b(?:crmo|crios)\/([\w.]+)/i, Browsers.Chrome],
|
|
114
|
+
[/webview.+edge\/([\w.]+)/i, Browsers.Edge],
|
|
115
|
+
[/edg(?:e|ios|a)?\/([\w.]+)/i, Browsers.Edge],
|
|
116
|
+
[/opera mini\/([-\w.]+)/i, Browsers.Opera],
|
|
117
|
+
[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i, Browsers.Opera],
|
|
118
|
+
[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i, Browsers.Opera],
|
|
119
|
+
[/opios[\/ ]+([\w.]+)/i, Browsers.Opera],
|
|
120
|
+
[/\bop(?:rg)?x\/([\w.]+)/i, Browsers.Opera],
|
|
121
|
+
[/\bopr\/([\w.]+)/i, Browsers.Opera],
|
|
122
|
+
[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i, Browsers.IE],
|
|
123
|
+
[/(?:ms|\()ie ([\w.]+)/i, Browsers.IE],
|
|
124
|
+
[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i, Browsers.IE],
|
|
125
|
+
[/\bfocus\/([\w.]+)/i, Browsers.Firefox],
|
|
126
|
+
[/\bopt\/([\w.]+)/i, Browsers.Opera],
|
|
127
|
+
[/coast\/([\w.]+)/i, Browsers.Opera],
|
|
128
|
+
[/fxios\/([\w.-]+)/i, Browsers.Firefox],
|
|
129
|
+
[/samsungbrowser\/([\w.]+)/i, Browsers.SamsungInternet],
|
|
130
|
+
[/headlesschrome(?:\/([\w.]+)| )/i, Browsers.Chrome],
|
|
131
|
+
[/wv\).+chrome\/([\w.]+).+edgw\//i, Browsers.Edge],
|
|
132
|
+
[/ wv\).+(chrome)\/([\w.]+)/i, Browsers.Chrome],
|
|
133
|
+
[/chrome\/([\w.]+) mobile/i, Browsers.Chrome],
|
|
134
|
+
[/chrome\/v?([\w.]+)/i, Browsers.Chrome],
|
|
135
|
+
[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
|
|
136
|
+
[/iphone .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
|
|
137
|
+
[/version\/([\w.,]+) .*safari/i, Browsers.Safari],
|
|
138
|
+
[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i, Browsers.Safari, '1'],
|
|
139
|
+
[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i, Browsers.Firefox],
|
|
140
|
+
[/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
|
|
141
|
+
[/firefox\/([\w.]+)/i, Browsers.Firefox],
|
|
142
|
+
];
|
|
143
|
+
for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
|
|
144
|
+
var map = OS_RESOLVER_MAP[i];
|
|
145
|
+
var regexp = map[0];
|
|
146
|
+
var os = map[1];
|
|
147
|
+
var resolver = map[2];
|
|
148
|
+
var matched = USER_AGENT.match(regexp);
|
|
149
|
+
if (matched !== null) {
|
|
150
|
+
OS_NAME = os;
|
|
151
|
+
resolveVersion(matched[1], resolver);
|
|
152
|
+
if (os === OS.iOS || os === OS.Android)
|
|
153
|
+
DEVICE_NAME = Devices.Mobile;
|
|
154
|
+
else if (os === OS.Windows || os === OS.MacOS)
|
|
155
|
+
DEVICE_NAME = Devices.Desktop;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
|
|
160
|
+
var map = ENGINE_RESOLVER_MAP[i];
|
|
161
|
+
var regexp = map[0];
|
|
162
|
+
map[1];
|
|
163
|
+
var resolver = map[2];
|
|
164
|
+
var matched = USER_AGENT.match(regexp);
|
|
165
|
+
if (matched !== null) {
|
|
166
|
+
resolveVersion(matched[1], resolver);
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
|
|
171
|
+
var map = BROWSER_RESOLVER_MAP[i];
|
|
172
|
+
var regexp = map[0];
|
|
173
|
+
var browser = map[1];
|
|
174
|
+
var resolver = map[2];
|
|
175
|
+
var matched = USER_AGENT.match(regexp);
|
|
176
|
+
if (matched !== null) {
|
|
177
|
+
BROWSER_NAME = browser;
|
|
178
|
+
BROWSER_VERSION = resolveVersion(matched[1], resolver);
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
((function () {
|
|
183
|
+
var canvas = globalThis.document.createElement('canvas');
|
|
184
|
+
if (typeof canvas.getContext !== 'function')
|
|
185
|
+
return '';
|
|
186
|
+
var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
|
|
187
|
+
if (context === null)
|
|
188
|
+
return '';
|
|
189
|
+
if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
|
|
190
|
+
var extension = context.getExtension('WEBGL_debug_renderer_info');
|
|
191
|
+
if (extension === null)
|
|
192
|
+
return context.getParameter(context.RENDERER);
|
|
193
|
+
else
|
|
194
|
+
return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
return '';
|
|
198
|
+
}
|
|
199
|
+
}))();
|
|
200
|
+
var IS_MOBILE = DEVICE_NAME === Devices.Mobile;
|
|
201
|
+
DEVICE_NAME === Devices.Desktop;
|
|
202
|
+
var IS_STANDALONE = (function () {
|
|
203
|
+
if (OS_NAME === OS.iOS)
|
|
204
|
+
return 'standalone' in navigator && !!navigator.standalone;
|
|
205
|
+
else
|
|
206
|
+
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
207
|
+
})();
|
|
208
|
+
|
|
209
|
+
function compareVersion(lhs, rhs) {
|
|
210
|
+
var pa = lhs.split('.');
|
|
211
|
+
var pb = rhs.split('.');
|
|
212
|
+
var length = Math.max(pa.length, pb.length);
|
|
213
|
+
for (var i = 0; i < length; i++) {
|
|
214
|
+
var a = void 0;
|
|
215
|
+
var b = void 0;
|
|
216
|
+
if (i < pa.length)
|
|
217
|
+
a = parseInt(pa[i], 10);
|
|
218
|
+
else
|
|
219
|
+
a = 0;
|
|
220
|
+
if (i < pb.length)
|
|
221
|
+
b = parseInt(pb[i], 10);
|
|
222
|
+
else
|
|
223
|
+
b = 0;
|
|
224
|
+
if (a > b)
|
|
225
|
+
return 1;
|
|
226
|
+
if (a < b)
|
|
227
|
+
return -1;
|
|
228
|
+
}
|
|
229
|
+
return 0;
|
|
230
|
+
}
|
|
231
|
+
|
|
5
232
|
var Appearances;
|
|
6
233
|
(function (Appearances) {
|
|
7
234
|
Appearances["Unknown"] = "unknown";
|
|
8
235
|
Appearances["Light"] = "light";
|
|
9
236
|
Appearances["Dark"] = "dark";
|
|
10
237
|
})(Appearances || (Appearances = {}));
|
|
11
|
-
var
|
|
12
|
-
var matched = USER_AGENT.match(/chrome\/([\w.]+) mobile/i);
|
|
13
|
-
if (matched === null)
|
|
14
|
-
return NaN;
|
|
15
|
-
var version = parseInt(matched[1]);
|
|
16
|
-
if (isNaN(version))
|
|
17
|
-
return NaN;
|
|
18
|
-
return version;
|
|
19
|
-
})();
|
|
20
|
-
var MEDIA_QUERY_LIST = window.matchMedia('(prefers-color-scheme: dark)');
|
|
238
|
+
var MEDIA_QUERY_LIST = globalThis.matchMedia('(prefers-color-scheme: dark)');
|
|
21
239
|
var SUPPORT_PREFERS_COLOR_SCHEME = MEDIA_QUERY_LIST.media !== 'not all';
|
|
22
|
-
var IS_FULL_SUPPORT_THEME_COLOR =
|
|
23
|
-
var CONTEXT = document.createElement('canvas').getContext('2d', { willReadFrequently: true });
|
|
240
|
+
var IS_FULL_SUPPORT_THEME_COLOR = BROWSER_NAME !== Browsers.Chrome || (IS_MOBILE && compareVersion(BROWSER_VERSION, '92') >= 0);
|
|
241
|
+
var CONTEXT = globalThis.document.createElement('canvas').getContext('2d', { willReadFrequently: true });
|
|
24
242
|
var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+';
|
|
25
|
-
var IS_SAMSUNG = /Samsung/i.test(USER_AGENT);
|
|
26
243
|
var IS_IE_MOBILE = /iemobile/i.test(USER_AGENT);
|
|
27
244
|
var IS_WINDOWS_PHONE = /windows phone/i.test(USER_AGENT);
|
|
28
245
|
var ENTRIES = [];
|
|
@@ -294,8 +511,8 @@ function parseLinear(easingFunction) {
|
|
|
294
511
|
points.push({ position: 1, value: 1 });
|
|
295
512
|
return points;
|
|
296
513
|
}
|
|
297
|
-
function getLinearValue(
|
|
298
|
-
var points = parseLinear(
|
|
514
|
+
function getLinearValue(string) {
|
|
515
|
+
var points = parseLinear(string);
|
|
299
516
|
return function (t) {
|
|
300
517
|
t = clamp(t, 0, 1);
|
|
301
518
|
if (t <= points[0].position)
|
|
@@ -372,6 +589,58 @@ function parseEasingFunction(easingFunction) {
|
|
|
372
589
|
|
|
373
590
|
var UnsupportedColorError = createCustomError('UnsupportedColorError');
|
|
374
591
|
|
|
592
|
+
function createHiddenElement(tagName, focusable) {
|
|
593
|
+
if (focusable === void 0) { focusable = true; }
|
|
594
|
+
var element = globalThis.document.createElement(tagName);
|
|
595
|
+
if ('width' in element)
|
|
596
|
+
element.width = '0';
|
|
597
|
+
if ('height' in element)
|
|
598
|
+
element.height = '0';
|
|
599
|
+
if ('border' in element)
|
|
600
|
+
element.border = '0';
|
|
601
|
+
if ('frameBorder' in element)
|
|
602
|
+
element.frameBorder = '0';
|
|
603
|
+
if ('scrolling' in element)
|
|
604
|
+
element.scrolling = 'no';
|
|
605
|
+
if ('cellPadding' in element)
|
|
606
|
+
element.cellPadding = '0';
|
|
607
|
+
if ('cellSpacing' in element)
|
|
608
|
+
element.cellSpacing = '0';
|
|
609
|
+
if ('frame' in element)
|
|
610
|
+
element.frame = 'void';
|
|
611
|
+
if ('rules' in element)
|
|
612
|
+
element.rules = 'none';
|
|
613
|
+
if ('noWrap' in element)
|
|
614
|
+
element.noWrap = true;
|
|
615
|
+
element.tabIndex = -1;
|
|
616
|
+
element.setAttribute('role', 'presentation');
|
|
617
|
+
if (focusable) {
|
|
618
|
+
element.style.width = '1px';
|
|
619
|
+
element.style.height = '1px';
|
|
620
|
+
}
|
|
621
|
+
else {
|
|
622
|
+
element.setAttribute('aria-hidden', 'true');
|
|
623
|
+
element.style.width = '0';
|
|
624
|
+
element.style.height = '0';
|
|
625
|
+
element.style.zIndex = '-9999';
|
|
626
|
+
element.style.display = 'none';
|
|
627
|
+
element.style.visibility = 'hidden';
|
|
628
|
+
element.style.pointerEvents = 'none';
|
|
629
|
+
}
|
|
630
|
+
element.style.position = 'absolute';
|
|
631
|
+
element.style.top = '0';
|
|
632
|
+
element.style.left = '0';
|
|
633
|
+
element.style.padding = '0';
|
|
634
|
+
element.style.margin = '0';
|
|
635
|
+
element.style.border = 'none';
|
|
636
|
+
element.style.outline = 'none';
|
|
637
|
+
element.style.clip = 'rect(1px, 1px, 1px, 1px)';
|
|
638
|
+
element.style.clipPath = 'inset(50%)';
|
|
639
|
+
element.style.overflow = 'hidden';
|
|
640
|
+
element.style.whiteSpace = 'nowrap';
|
|
641
|
+
return element;
|
|
642
|
+
}
|
|
643
|
+
|
|
375
644
|
function parseColor(color) {
|
|
376
645
|
if (typeof CSS !== 'undefined' && CSS.supports && !CSS.supports('color', color))
|
|
377
646
|
throw new UnsupportedColorError('Unsupported color: \"' + color + '\".');
|
|
@@ -391,16 +660,11 @@ function parseColor(color) {
|
|
|
391
660
|
catch (_) {
|
|
392
661
|
}
|
|
393
662
|
}
|
|
394
|
-
var div =
|
|
395
|
-
div.style.position = 'absolute';
|
|
396
|
-
div.style.top = '-9999px';
|
|
397
|
-
div.style.left = '-9999px';
|
|
398
|
-
div.style.width = '1px';
|
|
399
|
-
div.style.height = '1px';
|
|
663
|
+
var div = createHiddenElement('div');
|
|
400
664
|
div.style.color = color;
|
|
401
|
-
document.body.appendChild(div);
|
|
665
|
+
globalThis.document.body.appendChild(div);
|
|
402
666
|
try {
|
|
403
|
-
var computedColor =
|
|
667
|
+
var computedColor = globalThis.getComputedStyle(div).color;
|
|
404
668
|
var legacyMatch = computedColor.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/);
|
|
405
669
|
var modernMatch = computedColor.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/);
|
|
406
670
|
var matched = legacyMatch || modernMatch;
|
|
@@ -411,11 +675,11 @@ function parseColor(color) {
|
|
|
411
675
|
var blue = parseInt(matched[3], 10);
|
|
412
676
|
var alpha = 1;
|
|
413
677
|
if (matched[4] !== undefined) {
|
|
414
|
-
var
|
|
415
|
-
if (
|
|
416
|
-
alpha = parseFloat((parseFloat(
|
|
678
|
+
var alphaString = matched[4];
|
|
679
|
+
if (alphaString.charAt(alphaString.length - 1) === '%')
|
|
680
|
+
alpha = parseFloat((parseFloat(alphaString) / 100).toFixed(2));
|
|
417
681
|
else
|
|
418
|
-
alpha = parseFloat(parseFloat(
|
|
682
|
+
alpha = parseFloat(parseFloat(alphaString).toFixed(2));
|
|
419
683
|
}
|
|
420
684
|
if (isNaN(red) || isNaN(green) || isNaN(blue) || isNaN(alpha))
|
|
421
685
|
throw new UnsupportedColorError('Failed to parse color values from: \"' + color + '\".');
|
|
@@ -427,7 +691,7 @@ function parseColor(color) {
|
|
|
427
691
|
};
|
|
428
692
|
}
|
|
429
693
|
finally {
|
|
430
|
-
document.body.removeChild(div);
|
|
694
|
+
globalThis.document.body.removeChild(div);
|
|
431
695
|
}
|
|
432
696
|
}
|
|
433
697
|
|
|
@@ -453,7 +717,7 @@ function getThemeColorMeta(appearance) {
|
|
|
453
717
|
var meta = themeColorMetaGroup[effective];
|
|
454
718
|
if (meta !== undefined)
|
|
455
719
|
return meta;
|
|
456
|
-
meta = document.createElement('meta');
|
|
720
|
+
meta = globalThis.document.createElement('meta');
|
|
457
721
|
if (IS_IE_MOBILE)
|
|
458
722
|
meta.setAttribute('name', 'msapplication-navbutton-color');
|
|
459
723
|
else if (IS_WINDOWS_PHONE)
|
|
@@ -462,20 +726,20 @@ function getThemeColorMeta(appearance) {
|
|
|
462
726
|
meta.setAttribute('name', 'theme-color');
|
|
463
727
|
if (appearance !== 'default')
|
|
464
728
|
meta.setAttribute('media', '(prefers-color-scheme: ' + effective + ')');
|
|
465
|
-
document.head.prepend(meta);
|
|
729
|
+
globalThis.document.head.prepend(meta);
|
|
466
730
|
return themeColorMetaGroup[appearance] = meta;
|
|
467
731
|
}
|
|
468
732
|
function estimateDefaultThemeColor() {
|
|
469
|
-
if (
|
|
470
|
-
if (
|
|
733
|
+
if (BROWSER_NAME === Browsers.Safari) {
|
|
734
|
+
if (IS_STANDALONE) {
|
|
471
735
|
if (detectFromMediaQuery() === Appearances.Dark)
|
|
472
736
|
return '#ffffffff';
|
|
473
737
|
else
|
|
474
738
|
return '#000000ff';
|
|
475
739
|
}
|
|
476
|
-
return rgbaToHex(parseColor(
|
|
740
|
+
return rgbaToHex(parseColor(globalThis.getComputedStyle(globalThis.document.body).backgroundColor));
|
|
477
741
|
}
|
|
478
|
-
if (
|
|
742
|
+
if (BROWSER_NAME === Browsers.Chrome) {
|
|
479
743
|
if (detectFromMediaQuery() === Appearances.Dark)
|
|
480
744
|
return '#28292cff';
|
|
481
745
|
else
|
|
@@ -486,9 +750,12 @@ function estimateDefaultThemeColor() {
|
|
|
486
750
|
function toHex(n) {
|
|
487
751
|
var hex = n.toString(16);
|
|
488
752
|
switch (hex.length) {
|
|
489
|
-
case 0:
|
|
490
|
-
|
|
491
|
-
|
|
753
|
+
case 0:
|
|
754
|
+
return '00';
|
|
755
|
+
case 1:
|
|
756
|
+
return '0' + hex;
|
|
757
|
+
default:
|
|
758
|
+
return hex;
|
|
492
759
|
}
|
|
493
760
|
}
|
|
494
761
|
function rgbaToHex(rgba) {
|
|
@@ -529,7 +796,7 @@ function startPolling() {
|
|
|
529
796
|
.then(function (appearance) {
|
|
530
797
|
currentAppearance = appearance;
|
|
531
798
|
});
|
|
532
|
-
appearanceIntervalId =
|
|
799
|
+
appearanceIntervalId = globalThis.setInterval(function () {
|
|
533
800
|
detectFromEngine()
|
|
534
801
|
.then(function (appearance) {
|
|
535
802
|
if (appearance !== currentAppearance) {
|
|
@@ -582,7 +849,7 @@ function removeEntry(entry) {
|
|
|
582
849
|
if (index !== -1)
|
|
583
850
|
ENTRIES.splice(index, 1);
|
|
584
851
|
if (ENTRIES.length === 0) {
|
|
585
|
-
if (
|
|
852
|
+
if (BROWSER_NAME === Browsers.SamsungInternet)
|
|
586
853
|
stopPolling();
|
|
587
854
|
else
|
|
588
855
|
removeListener(entry.capture);
|
|
@@ -603,7 +870,7 @@ function syncThemeColorMeta() {
|
|
|
603
870
|
selector = 'meta[name=\"msapplication-TileColor\"]';
|
|
604
871
|
else
|
|
605
872
|
selector = 'meta[name=\"theme-color\"]';
|
|
606
|
-
var nodes = document.querySelectorAll(selector);
|
|
873
|
+
var nodes = globalThis.document.querySelectorAll(selector);
|
|
607
874
|
if (!IS_FULL_SUPPORT_THEME_COLOR || !SUPPORT_PREFERS_COLOR_SCHEME || IS_IE_MOBILE || IS_WINDOWS_PHONE) {
|
|
608
875
|
themeColorMetaGroup.default = nodes[0];
|
|
609
876
|
return;
|
|
@@ -623,12 +890,12 @@ function syncThemeColorMeta() {
|
|
|
623
890
|
}
|
|
624
891
|
function getCurrentAppliedThemeColorMeta() {
|
|
625
892
|
if (IS_IE_MOBILE)
|
|
626
|
-
return document.querySelector('meta[name=\"msapplication-navbutton-color\"]');
|
|
893
|
+
return globalThis.document.querySelector('meta[name=\"msapplication-navbutton-color\"]');
|
|
627
894
|
if (IS_WINDOWS_PHONE)
|
|
628
|
-
return document.querySelector('meta[name=\"msapplication-TileColor\"]');
|
|
895
|
+
return globalThis.document.querySelector('meta[name=\"msapplication-TileColor\"]');
|
|
629
896
|
if (!IS_FULL_SUPPORT_THEME_COLOR || !SUPPORT_PREFERS_COLOR_SCHEME)
|
|
630
|
-
return document.querySelector('meta[name=\"theme-color\"]');
|
|
631
|
-
var nodes = document.querySelectorAll('meta[name=\"theme-color\"]');
|
|
897
|
+
return globalThis.document.querySelector('meta[name=\"theme-color\"]');
|
|
898
|
+
var nodes = globalThis.document.querySelectorAll('meta[name=\"theme-color\"]');
|
|
632
899
|
var isDark = detectFromMediaQuery() === Appearances.Dark;
|
|
633
900
|
var query;
|
|
634
901
|
if (isDark)
|
|
@@ -663,7 +930,7 @@ function init() {
|
|
|
663
930
|
MEDIA_QUERY_LIST.addEventListener('change', syncThemeColorMeta);
|
|
664
931
|
else if (typeof MEDIA_QUERY_LIST.addListener === 'function')
|
|
665
932
|
MEDIA_QUERY_LIST.addListener(syncThemeColorMeta);
|
|
666
|
-
observer.observe(document.head, { childList: true });
|
|
933
|
+
observer.observe(globalThis.document.head, { childList: true });
|
|
667
934
|
syncThemeColorMeta();
|
|
668
935
|
}
|
|
669
936
|
init();
|
|
@@ -673,7 +940,7 @@ function setThemeColor(color, options) {
|
|
|
673
940
|
var easingFn = parseEasingFunction(options.easingFunction);
|
|
674
941
|
var appearance = options.appearance;
|
|
675
942
|
if (themeIntervalId !== null) {
|
|
676
|
-
|
|
943
|
+
globalThis.cancelAnimationFrame(themeIntervalId);
|
|
677
944
|
themeIntervalId = null;
|
|
678
945
|
if (currentResolve !== null) {
|
|
679
946
|
currentResolve(getThemeColor());
|
|
@@ -715,7 +982,7 @@ function setThemeColor(color, options) {
|
|
|
715
982
|
};
|
|
716
983
|
getThemeColorMeta(appearance).setAttribute('content', rgbaToHex(current));
|
|
717
984
|
if (t < 1) {
|
|
718
|
-
themeIntervalId =
|
|
985
|
+
themeIntervalId = globalThis.requestAnimationFrame(animate);
|
|
719
986
|
}
|
|
720
987
|
else {
|
|
721
988
|
themeIntervalId = null;
|
|
@@ -725,7 +992,7 @@ function setThemeColor(color, options) {
|
|
|
725
992
|
}
|
|
726
993
|
}
|
|
727
994
|
}
|
|
728
|
-
themeIntervalId =
|
|
995
|
+
themeIntervalId = globalThis.requestAnimationFrame(animate);
|
|
729
996
|
});
|
|
730
997
|
}
|
|
731
998
|
function getThemeColor() {
|
|
@@ -742,7 +1009,7 @@ function removeThemeColor(appearance) {
|
|
|
742
1009
|
themeColorMetaGroup[appearance] = undefined;
|
|
743
1010
|
}
|
|
744
1011
|
function detectAppearance() {
|
|
745
|
-
if (
|
|
1012
|
+
if (BROWSER_NAME === Browsers.SamsungInternet)
|
|
746
1013
|
return detectFromEngine();
|
|
747
1014
|
else
|
|
748
1015
|
return Promise.resolve(detectFromMediaQuery());
|
|
@@ -762,7 +1029,7 @@ function onAppearanceChange(listener, options) {
|
|
|
762
1029
|
if (index === -1) {
|
|
763
1030
|
ENTRIES.push(entry);
|
|
764
1031
|
if (ENTRIES.length === 1) {
|
|
765
|
-
if (
|
|
1032
|
+
if (BROWSER_NAME === Browsers.SamsungInternet)
|
|
766
1033
|
startPolling();
|
|
767
1034
|
else
|
|
768
1035
|
addListener(entry.capture);
|
|
@@ -62,11 +62,11 @@ declare interface SetThemeColorOptions {
|
|
|
62
62
|
defaultColor?: string;
|
|
63
63
|
}
|
|
64
64
|
declare interface ThemeInstance {
|
|
65
|
-
setThemeColor
|
|
66
|
-
getThemeColor
|
|
67
|
-
removeThemeColor
|
|
68
|
-
detectAppearance
|
|
69
|
-
onAppearanceChange
|
|
65
|
+
setThemeColor(color: Color, options?: SetThemeColorOptions): Promise<string | undefined>;
|
|
66
|
+
getThemeColor(): Color | undefined;
|
|
67
|
+
removeThemeColor(appearance?: ThemeColorMetaAppearanceKeys): void;
|
|
68
|
+
detectAppearance(): Promise<Appearances>;
|
|
69
|
+
onAppearanceChange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
declare const UnsupportedColorError: ErrorConstructor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=navigator.userAgent;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var r=function(){var e=t.match(/chrome\/([\w.]+) mobile/i);if(null===e)return NaN;var r=parseInt(e[1]);return isNaN(r)?NaN:r}(),n=window.matchMedia("(prefers-color-scheme: dark)"),a="not all"!==n.media,o=isNaN(r)||r>=92,i=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}),u=/Samsung/i.test(t),l=/iemobile/i.test(t),s=/windows phone/i.test(t),c=[];function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(e,t){function r(n){if(!(this instanceof r))return new r(n);var a=new t(n||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(a,r.prototype):a.__proto__=r.prototype,a.name=e,void 0!==n&&(a.message=n),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(a,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(a,r);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(a,r);else try{var o=new t;o.stack&&(a.stack=o.stack)}catch(e){}return a}void 0===t&&(t=Error),r.prototype=Object.create(t.prototype,{constructor:{value:r,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(r.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{r.prototype.name=e}catch(e){}}try{Object.defineProperty(r,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return r}"function"==typeof SuppressedError&&SuppressedError;var p=d("EasingError"),v=d("CubicBezierSyntaxError",p),m=d("LinearSyntaxError",p),h=d("StepSyntaxError",p),b=d("UnsupportedEasingFunctionError",p),g={linear:"linear(0, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)","step-start":"steps(1, jump-start)","step-end":"steps(1, jump-end)"};function y(e,t,r){return e<t?t:e>r?r:e}function w(e){var t=function(e){var t=e.match(/cubic-bezier\((.*)\)/);if(null===t)throw new v("Invalid cubic-bezier syntax");var r=t[1].trim().split(","),n=[];if(4!==r.length)throw new v("Cubic-bezier must have exactly 4 numeric values");for(var a=0;a<4;a++){var o=parseFloat(r[a]);if(isNaN(o))throw new v("Cubic-bezier must have exactly 4 numeric values");if(a%2==0&&(o<0||o>1))throw new v("x1 and x2 must be between 0 and 1");n.push(o)}return{x1:n[0],y1:n[1],x2:n[2],y2:n[3]}}(e),r=t.x1,n=t.x2,a=t.y1,o=t.y2;return function(e){if(0===(e=y(e,0,1))||1===e)return e;var t=function(e,t,a){if(void 0===t&&(t=1e-6),void 0===a&&(a=50),e<=0)return 0;if(e>=1)return 1;for(var o=e,i=0;i<a;i++){var u=3*(1-o)*(1-o)*o*r+3*(1-o)*o*o*n+o*o*o,l=3*(1-o)*(1-o)*r+6*(1-o)*o*(n-r)+3*o*o*(1-n);if(Math.abs(l)<t)break;var s=o-(u-e)/l;if(Math.abs(s-o)<t){o=s;break}o=Math.max(0,Math.min(1,s))}return o}(e);return 3*(1-t)*(1-t)*t*a+3*(1-t)*t*t*o+t*t*t}}function S(e){var t=function(e){var t,r,n=e.match(/linear\((.*)\)/);if(null===n)throw new m("Invalid linear syntax");var a=n[1].trim();if(""===a)throw new m("Linear function must have at least one point");for(var o=a.split(","),i=[],u=0;u<o.length;u++){var l=o[u].trim(),s=l.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===s){var c=l.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=l.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new m('Invalid linear point format: "'+l+'"');i.push({position:1===o.length?0:u/(o.length-1),value:parseFloat(d[1])})}else i.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var p=parseFloat(s[1]),v=s[2].trim().split(/\s+/);try{for(var h=(t=void 0,f(v)),b=h.next();!b.done;b=h.next()){var g=b.value;i.push({value:p,position:parseFloat(g)/100})}}catch(e){t={error:e}}finally{try{b&&!b.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}}if(0===i.length)throw new m("No valid points found in linear function");return i.sort((function(e,t){return e.position-t.position})),i[0].position>0&&i.unshift({position:0,value:0}),i[i.length-1].position<1&&i.push({position:1,value:1}),i}(e);return function(e){if((e=y(e,0,1))<=t[0].position)return t[0].value;if(e>=t[t.length-1].position)return t[t.length-1].value;for(var r=0;r<t.length-1;r++){var n=t[r],a=t[r+1];if(e>=n.position&&e<=a.position){if(n.position===a.position)return a.value;var o=(e-n.position)/(a.position-n.position);return n.value+(a.value-n.value)*o}}return t[t.length-1].value}}function E(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=g[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return w(e);if(function(e){return/linear\(/.test(e)}(e))return S(e);if(function(e){return/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/.test(e)}(e))return function(e){var t=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===t)throw new h("Invalid steps syntax");var r=parseInt(t[1],10),n=t[2];if(r<=0)throw new h("Steps count must be a positive integer");if("jump-none"===n&&r<2)throw new h("jump-none requires at least 2 steps");return function(e){switch(e=y(e,0,1),n){case"start":case"jump-start":return 0===e?1/r:1===e?1:Math.ceil(e*r)/r;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*r)/r;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(r+1))/(r+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(r-1))/(r-1);default:throw new h('Unsupported step position: "'+n+'"')}}}(e);throw new b('Unsupported easing function: "'+e+'"')}var x=d("UnsupportedColorError");function k(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new x('Unsupported color: "'+e+'".');if(null!==i)try{i.clearRect(0,0,1,1),i.fillStyle=e,i.fillRect(0,0,1,1);var t=i.getImageData(0,0,1,1).data;return{red:t[0],green:t[1],blue:t[2],alpha:parseFloat((t[3]/255).toFixed(2))}}catch(e){}var r=document.createElement("div");r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",r.style.width="1px",r.style.height="1px",r.style.color=e,document.body.appendChild(r);try{var n=window.getComputedStyle(r).color,a=n.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),o=n.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),u=a||o;if(null===u)throw new x('Unsupported color: "'+e+'".');var l=parseInt(u[1],10),s=parseInt(u[2],10),c=parseInt(u[3],10),f=1;if(void 0!==u[4]){var d=u[4];f="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(l)||isNaN(s)||isNaN(c)||isNaN(f))throw new x('Failed to parse color values from: "'+e+'".');return{red:l,green:s,blue:c,alpha:f}}finally{document.body.removeChild(r)}}var C,j={},L=null,I=null,F=null,M=null,N={setThemeColor:function(t,r){void 0===r&&(r={duration:0,easingFunction:"linear",appearance:"default"});var n=r.duration,i=E(r.easingFunction),u=r.appearance;null!==L&&(window.cancelAnimationFrame(L),L=null,null!==I&&(I(R()),I=null));var c=R();void 0===c&&(c=void 0!==r.defaultColor?r.defaultColor:P()===e.Dark?"#181818ff":"#dcdcdcff");var f=k(c),d=k(t);return new Promise((function(e){I=e;var t=null;L=window.requestAnimationFrame((function r(c){null===t&&(t=c);var p,v=c-t;p=0===n?1:Math.min(v/n,1);var m=i(p),h={red:Math.round(f.red+(d.red-f.red)*m),green:Math.round(f.green+(d.green-f.green)*m),blue:Math.round(f.blue+(d.blue-f.blue)*m),alpha:+(f.alpha+(d.alpha-f.alpha)*m).toFixed(2)};(function(e){void 0===e&&(e="default");var t;t=!o||!a||l||s?"default":e;var r=j[t];if(void 0!==r)return r;r=document.createElement("meta"),l?r.setAttribute("name","msapplication-navbutton-color"):s?r.setAttribute("name","msapplication-TileColor"):r.setAttribute("name","theme-color");"default"!==e&&r.setAttribute("media","(prefers-color-scheme: "+t+")");return document.head.prepend(r),j[e]=r})(u).setAttribute("content",T(h)),p<1?L=window.requestAnimationFrame(r):(L=null,null!==I&&(e(R()),L=null))}))}))},getThemeColor:R,removeThemeColor:function(e){void 0===e&&(e="default");var t=j[e];void 0!==t&&t.remove();j[e]=void 0},detectAppearance:function(){return u?z():Promise.resolve(P())},onAppearanceChange:function(e,t){void 0===t&&(t=!1);var r={fn:e,capture:!1,once:!1};"boolean"==typeof t&&(t={capture:t});void 0!==t.capture&&(r.capture=t.capture);void 0!==t.once&&(r.once=t.once);void 0!==t.signal&&(r.signal=t.signal);var a=q(r);-1===a?(c.push(r),1===c.length&&(u?(z().then((function(e){F=e})),M=window.setInterval((function(){z().then((function(e){e!==F&&(F=e,U(e))}))}),2e3)):(o=r.capture,F=P(),"function"==typeof n.addEventListener?n.addEventListener("change",D,o):"function"==typeof n.addListener&&n.addListener(D))),this.detectAppearance().then(U)):c[a].once&&!r.once&&(c[a].once=!1);var o;void 0!==r.signal&&(r.signal.aborted?O(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),O(r)})));return function(){O(r)}}};function A(e){var t=e.toString(16);switch(t.length){case 0:return"00";case 1:return"0"+t;default:return t}}function T(e){return"#"+A(e.red)+A(e.green)+A(e.blue)+A(Math.round(255*e.alpha))}function z(){return new Promise((function(t){var r=new Image;r.onload=function(){if(null===i)return t(e.Light);i.drawImage(r,0,0);var n=i.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?t(e.Dark):t(e.Light)},r.onerror=function(){t(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function P(){return a?n.matches?e.Dark:e.Light:e.Unknown}function D(t){var r;(r=t.matches?e.Dark:e.Light)!==F&&U(F=r)}function U(e){for(var t=0;t<c.length;t++){var r=c[t];r.fn(e),r.once&&O(r)}}function O(e){var t,r=q(e);-1!==r&&c.splice(r,1),0===c.length&&(u?(F=null,null!==M&&(clearInterval(M),M=null)):(t=e.capture,F=null,"function"==typeof n.removeEventListener?n.removeEventListener("change",D,t):"function"==typeof n.removeListener&&n.removeListener(D)))}function q(e){for(var t=0;t<c.length;t++)if(c[t].fn===e.fn&&c[t].capture===e.capture)return t;return-1}function H(){var e;j={},e=l?'meta[name="msapplication-navbutton-color"]':s?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var t=document.querySelectorAll(e);if(o&&a&&!l&&!s)for(var r=0;r<t.length;r++){var n=t.item(r),i=n.getAttribute("media");if("(prefers-color-scheme: dark)"===i&&void 0===j.dark?j.dark=n:"(prefers-color-scheme: light)"===i&&void 0===j.light?j.light=n:null===i&&void 0===j.default&&(j.default=n),void 0!==j.dark&&void 0!==j.light&&void 0!==j.default)return}else j.default=t[0]}function R(){var r=function(){if(l)return document.querySelector('meta[name="msapplication-navbutton-color"]');if(s)return document.querySelector('meta[name="msapplication-TileColor"]');if(!o||!a)return document.querySelector('meta[name="theme-color"]');var t,r=document.querySelectorAll('meta[name="theme-color"]');t=P()===e.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<r.length;n++){var i=r.item(n);if(i.hasAttribute("content")){var u=i.getAttribute("media");if(null===u||u===t)return i}}return null}();return null!==r?r.getAttribute("content"):/version\/[\w.,]+ .*safari/i.test(t)?navigator.standalone?P()===e.Dark?"#ffffffff":"#000000ff":T(k(window.getComputedStyle(document.body).backgroundColor)):/\b(?:crmo|crios)\/[\w.]+/i.test(t)||/chrome\/[\w.]+ mobile/i.test(t)?P()===e.Dark?"#28292cff":"#ffffffff":void 0}C=new MutationObserver((function(e){for(var t=0;t<e.length;t++){for(var r=e[t],n=r.addedNodes,a=r.removedNodes,o=0;o<n.length;o++)if(n[o]instanceof HTMLMetaElement)return H();for(o=0;o<a.length;o++)if(a[o]instanceof HTMLMetaElement)return H()}})),"function"==typeof n.addEventListener?n.addEventListener("change",H):"function"==typeof n.addListener&&n.addListener(H),C.observe(document.head,{childList:!0}),H();var Z={installed:!1,name:"Theme",module:N,Constants:{Appearances:e},Errors:{EasingError:p,UnsupportedEasingFunctionError:b,StepSyntaxError:h,LinearSyntaxError:m,CubicBezierSyntaxError:v,UnsupportedColorError:x}};module.exports=Z;
|
|
1
|
+
"use strict";var e,t,n,r,o=navigator.userAgent;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(e||(e={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(t||(t={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(n||(n={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(r||(r={}));var i=t.Unknown,a=e.Unknown;n.Unknown;var l=r.Unknown,s="";function u(e){if(void 0===e)return"";var t={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==t?t:e}function c(e){return void 0===e?"":e.replace(/_/g,".")}function d(e,t){return"function"==typeof t?t(e):"string"==typeof t?t:void 0===e?"":e}for(var f=[[/windows nt (6\.[23]); arm/i,e.Windows,u],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,u],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,u],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,u],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,u],[/windows ce\/?([\d.]*)/i,e.Windows,u],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,c],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,c],[/cfnetwork\/.+darwin/i,e.iOS,c],[/mac os x ?([\w. ]*)/i,e.MacOS,c],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,c],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],p=[[/windows.+ edge\/([\w.]+)/i,n.EdgeHTML],[/arkweb\/([\w.]+)/i,n.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,n.Blink],[/presto\/([\w.]+)/i,n.Presto],[/webkit\/([\w.]+)/i,n.WebKit],[/trident\/([\w.]+)/i,n.Trident],[/netfront\/([\w.]+)/i,n.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,n.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,n.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,n.Gecko]],m=[[/\b(?:crmo|crios)\/([\w.]+)/i,r.Chrome],[/webview.+edge\/([\w.]+)/i,r.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,r.Edge],[/opera mini\/([-\w.]+)/i,r.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,r.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,r.Opera],[/opios[\/ ]+([\w.]+)/i,r.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,r.Opera],[/\bopr\/([\w.]+)/i,r.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,r.IE],[/(?:ms|\()ie ([\w.]+)/i,r.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,r.IE],[/\bfocus\/([\w.]+)/i,r.Firefox],[/\bopt\/([\w.]+)/i,r.Opera],[/coast\/([\w.]+)/i,r.Opera],[/fxios\/([\w.-]+)/i,r.Firefox],[/samsungbrowser\/([\w.]+)/i,r.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,r.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,r.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,r.Chrome],[/chrome\/([\w.]+) mobile/i,r.Chrome],[/chrome\/v?([\w.]+)/i,r.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,r.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,r.Safari],[/version\/([\w.,]+) .*safari/i,r.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,r.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,r.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,r.Firefox],[/firefox\/([\w.]+)/i,r.Firefox]],h=0;h<f.length;h++){var v=(w=f[h])[0],b=w[1],g=w[2];if(null!==(y=o.match(v))){a=b,d(y[1],g),b===e.iOS||b===e.Android?i=t.Mobile:b!==e.Windows&&b!==e.MacOS||(i=t.Desktop);break}}for(h=0;h<p.length;h++){v=(w=p[h])[0];w[1];g=w[2];if(null!==(y=o.match(v))){d(y[1],g);break}}for(h=0;h<m.length;h++){v=(w=m[h])[0];var w,y,S=w[1];g=w[2];if(null!==(y=o.match(v))){l=S,s=d(y[1],g);break}}!function(){var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var t=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===t)return"";if(t instanceof WebGLRenderingContext||"getParameter"in t&&"function"==typeof t.getParameter){var n=t.getExtension("WEBGL_debug_renderer_info");return null===n?t.getParameter(t.RENDERER):t.getParameter(n.UNMASKED_RENDERER_WEBGL)}}();var k=i===t.Mobile;t.Desktop;var x,T=a===e.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(x||(x={}));var E=globalThis.matchMedia("(prefers-color-scheme: dark)"),M="not all"!==E.media,C=l!==r.Chrome||k&&function(e,t){for(var n=e.split("."),r=t.split("."),o=Math.max(n.length,r.length),i=0;i<o;i++){var a=void 0,l=void 0;if((a=i<n.length?parseInt(n[i],10):0)>(l=i<r.length?parseInt(r[i],10):0))return 1;if(a<l)return-1}return 0}(s,"92")>=0,I=globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}),L=/iemobile/i.test(o),F=/windows phone/i.test(o),N=[];function A(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function O(e,t){function n(r){if(!(this instanceof n))return new n(r);var o=new t(r||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(o,n.prototype):o.__proto__=n.prototype,o.name=e,void 0!==r&&(o.message=r),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(o,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(o,n);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(o,n);else try{var i=new t;i.stack&&(o.stack=i.stack)}catch(e){}return o}void 0===t&&(t=Error),n.prototype=Object.create(t.prototype,{constructor:{value:n,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(n.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{n.prototype.name=e}catch(e){}}try{Object.defineProperty(n,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return n}"function"==typeof SuppressedError&&SuppressedError;var j=O("EasingError"),P=O("CubicBezierSyntaxError",j),U=O("LinearSyntaxError",j),W=O("StepSyntaxError",j),D=O("UnsupportedEasingFunctionError",j),z={linear:"linear(0, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)","step-start":"steps(1, jump-start)","step-end":"steps(1, jump-end)"};function R(e,t,n){return e<t?t:e>n?n:e}function H(e){var t=function(e){var t=e.match(/cubic-bezier\((.*)\)/);if(null===t)throw new P("Invalid cubic-bezier syntax");var n=t[1].trim().split(","),r=[];if(4!==n.length)throw new P("Cubic-bezier must have exactly 4 numeric values");for(var o=0;o<4;o++){var i=parseFloat(n[o]);if(isNaN(i))throw new P("Cubic-bezier must have exactly 4 numeric values");if(o%2==0&&(i<0||i>1))throw new P("x1 and x2 must be between 0 and 1");r.push(i)}return{x1:r[0],y1:r[1],x2:r[2],y2:r[3]}}(e),n=t.x1,r=t.x2,o=t.y1,i=t.y2;return function(e){if(0===(e=R(e,0,1))||1===e)return e;var t=function(e,t,o){if(void 0===t&&(t=1e-6),void 0===o&&(o=50),e<=0)return 0;if(e>=1)return 1;for(var i=e,a=0;a<o;a++){var l=3*(1-i)*(1-i)*i*n+3*(1-i)*i*i*r+i*i*i,s=3*(1-i)*(1-i)*n+6*(1-i)*i*(r-n)+3*i*i*(1-r);if(Math.abs(s)<t)break;var u=i-(l-e)/s;if(Math.abs(u-i)<t){i=u;break}i=Math.max(0,Math.min(1,u))}return i}(e);return 3*(1-t)*(1-t)*t*o+3*(1-t)*t*t*i+t*t*t}}function B(e){var t=function(e){var t,n,r=e.match(/linear\((.*)\)/);if(null===r)throw new U("Invalid linear syntax");var o=r[1].trim();if(""===o)throw new U("Linear function must have at least one point");for(var i=o.split(","),a=[],l=0;l<i.length;l++){var s=i[l].trim(),u=s.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===u){var c=s.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=s.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new U('Invalid linear point format: "'+s+'"');a.push({position:1===i.length?0:l/(i.length-1),value:parseFloat(d[1])})}else a.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var f=parseFloat(u[1]),p=u[2].trim().split(/\s+/);try{for(var m=(t=void 0,A(p)),h=m.next();!h.done;h=m.next()){var v=h.value;a.push({value:f,position:parseFloat(v)/100})}}catch(e){t={error:e}}finally{try{h&&!h.done&&(n=m.return)&&n.call(m)}finally{if(t)throw t.error}}}}if(0===a.length)throw new U("No valid points found in linear function");return a.sort((function(e,t){return e.position-t.position})),a[0].position>0&&a.unshift({position:0,value:0}),a[a.length-1].position<1&&a.push({position:1,value:1}),a}(e);return function(e){if((e=R(e,0,1))<=t[0].position)return t[0].value;if(e>=t[t.length-1].position)return t[t.length-1].value;for(var n=0;n<t.length-1;n++){var r=t[n],o=t[n+1];if(e>=r.position&&e<=o.position){if(r.position===o.position)return o.value;var i=(e-r.position)/(o.position-r.position);return r.value+(o.value-r.value)*i}}return t[t.length-1].value}}function _(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=z[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return H(e);if(function(e){return/linear\(/.test(e)}(e))return B(e);if(function(e){return/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/.test(e)}(e))return function(e){var t=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===t)throw new W("Invalid steps syntax");var n=parseInt(t[1],10),r=t[2];if(n<=0)throw new W("Steps count must be a positive integer");if("jump-none"===r&&n<2)throw new W("jump-none requires at least 2 steps");return function(e){switch(e=R(e,0,1),r){case"start":case"jump-start":return 0===e?1/n:1===e?1:Math.ceil(e*n)/n;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*n)/n;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(n+1))/(n+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(n-1))/(n-1);default:throw new W('Unsupported step position: "'+r+'"')}}}(e);throw new D('Unsupported easing function: "'+e+'"')}var q=O("UnsupportedColorError");function G(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new q('Unsupported color: "'+e+'".');if(null!==I)try{I.clearRect(0,0,1,1),I.fillStyle=e,I.fillRect(0,0,1,1);var t=I.getImageData(0,0,1,1).data;return{red:t[0],green:t[1],blue:t[2],alpha:parseFloat((t[3]/255).toFixed(2))}}catch(e){}var n=function(e,t){void 0===t&&(t=!0);var n=globalThis.document.createElement(e);return"width"in n&&(n.width="0"),"height"in n&&(n.height="0"),"border"in n&&(n.border="0"),"frameBorder"in n&&(n.frameBorder="0"),"scrolling"in n&&(n.scrolling="no"),"cellPadding"in n&&(n.cellPadding="0"),"cellSpacing"in n&&(n.cellSpacing="0"),"frame"in n&&(n.frame="void"),"rules"in n&&(n.rules="none"),"noWrap"in n&&(n.noWrap=!0),n.tabIndex=-1,n.setAttribute("role","presentation"),t?(n.style.width="1px",n.style.height="1px"):(n.setAttribute("aria-hidden","true"),n.style.width="0",n.style.height="0",n.style.zIndex="-9999",n.style.display="none",n.style.visibility="hidden",n.style.pointerEvents="none"),n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.padding="0",n.style.margin="0",n.style.border="none",n.style.outline="none",n.style.clip="rect(1px, 1px, 1px, 1px)",n.style.clipPath="inset(50%)",n.style.overflow="hidden",n.style.whiteSpace="nowrap",n}("div");n.style.color=e,globalThis.document.body.appendChild(n);try{var r=globalThis.getComputedStyle(n).color,o=r.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),i=r.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),a=o||i;if(null===a)throw new q('Unsupported color: "'+e+'".');var l=parseInt(a[1],10),s=parseInt(a[2],10),u=parseInt(a[3],10),c=1;if(void 0!==a[4]){var d=a[4];c="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(l)||isNaN(s)||isNaN(u)||isNaN(c))throw new q('Failed to parse color values from: "'+e+'".');return{red:l,green:s,blue:u,alpha:c}}finally{globalThis.document.body.removeChild(n)}}var K,Z={},$=null,X=null,V=null,Q=null,J={setThemeColor:function(e,t){void 0===t&&(t={duration:0,easingFunction:"linear",appearance:"default"});var n=t.duration,r=_(t.easingFunction),o=t.appearance;null!==$&&(globalThis.cancelAnimationFrame($),$=null,null!==X&&(X(se()),X=null));var i=se();void 0===i&&(i=void 0!==t.defaultColor?t.defaultColor:ne()===x.Dark?"#181818ff":"#dcdcdcff");var a=G(i),l=G(e);return new Promise((function(e){X=e;var t=null;$=globalThis.requestAnimationFrame((function i(s){null===t&&(t=s);var u,c=s-t;u=0===n?1:Math.min(c/n,1);var d=r(u),f={red:Math.round(a.red+(l.red-a.red)*d),green:Math.round(a.green+(l.green-a.green)*d),blue:Math.round(a.blue+(l.blue-a.blue)*d),alpha:+(a.alpha+(l.alpha-a.alpha)*d).toFixed(2)};(function(e){void 0===e&&(e="default");var t;t=!C||!M||L||F?"default":e;var n=Z[t];if(void 0!==n)return n;n=globalThis.document.createElement("meta"),L?n.setAttribute("name","msapplication-navbutton-color"):F?n.setAttribute("name","msapplication-TileColor"):n.setAttribute("name","theme-color");"default"!==e&&n.setAttribute("media","(prefers-color-scheme: "+t+")");return globalThis.document.head.prepend(n),Z[e]=n})(o).setAttribute("content",ee(f)),u<1?$=globalThis.requestAnimationFrame(i):($=null,null!==X&&(e(se()),$=null))}))}))},getThemeColor:se,removeThemeColor:function(e){void 0===e&&(e="default");var t=Z[e];void 0!==t&&t.remove();Z[e]=void 0},detectAppearance:function(){return l===r.SamsungInternet?te():Promise.resolve(ne())},onAppearanceChange:function(e,t){void 0===t&&(t=!1);var n={fn:e,capture:!1,once:!1};"boolean"==typeof t&&(t={capture:t});void 0!==t.capture&&(n.capture=t.capture);void 0!==t.once&&(n.once=t.once);void 0!==t.signal&&(n.signal=t.signal);var o=ae(n);-1===o?(N.push(n),1===N.length&&(l===r.SamsungInternet?(te().then((function(e){V=e})),Q=globalThis.setInterval((function(){te().then((function(e){e!==V&&(V=e,oe(e))}))}),2e3)):(i=n.capture,V=ne(),"function"==typeof E.addEventListener?E.addEventListener("change",re,i):"function"==typeof E.addListener&&E.addListener(re))),this.detectAppearance().then(oe)):N[o].once&&!n.once&&(N[o].once=!1);var i;void 0!==n.signal&&(n.signal.aborted?ie(n):n.signal.addEventListener("abort",(function e(){void 0!==n.signal&&n.signal.removeEventListener("abort",e),ie(n)})));return function(){ie(n)}}};function Y(e){var t=e.toString(16);switch(t.length){case 0:return"00";case 1:return"0"+t;default:return t}}function ee(e){return"#"+Y(e.red)+Y(e.green)+Y(e.blue)+Y(Math.round(255*e.alpha))}function te(){return new Promise((function(e){var t=new Image;t.onload=function(){if(null===I)return e(x.Light);I.drawImage(t,0,0);var n=I.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?e(x.Dark):e(x.Light)},t.onerror=function(){e(x.Unknown)},t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function ne(){return M?E.matches?x.Dark:x.Light:x.Unknown}function re(e){var t;(t=e.matches?x.Dark:x.Light)!==V&&oe(V=t)}function oe(e){for(var t=0;t<N.length;t++){var n=N[t];n.fn(e),n.once&&ie(n)}}function ie(e){var t,n=ae(e);-1!==n&&N.splice(n,1),0===N.length&&(l===r.SamsungInternet?(V=null,null!==Q&&(clearInterval(Q),Q=null)):(t=e.capture,V=null,"function"==typeof E.removeEventListener?E.removeEventListener("change",re,t):"function"==typeof E.removeListener&&E.removeListener(re)))}function ae(e){for(var t=0;t<N.length;t++)if(N[t].fn===e.fn&&N[t].capture===e.capture)return t;return-1}function le(){var e;Z={},e=L?'meta[name="msapplication-navbutton-color"]':F?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var t=globalThis.document.querySelectorAll(e);if(C&&M&&!L&&!F)for(var n=0;n<t.length;n++){var r=t.item(n),o=r.getAttribute("media");if("(prefers-color-scheme: dark)"===o&&void 0===Z.dark?Z.dark=r:"(prefers-color-scheme: light)"===o&&void 0===Z.light?Z.light=r:null===o&&void 0===Z.default&&(Z.default=r),void 0!==Z.dark&&void 0!==Z.light&&void 0!==Z.default)return}else Z.default=t[0]}function se(){var e=function(){if(L)return globalThis.document.querySelector('meta[name="msapplication-navbutton-color"]');if(F)return globalThis.document.querySelector('meta[name="msapplication-TileColor"]');if(!C||!M)return globalThis.document.querySelector('meta[name="theme-color"]');var e,t=globalThis.document.querySelectorAll('meta[name="theme-color"]');e=ne()===x.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<t.length;n++){var r=t.item(n);if(r.hasAttribute("content")){var o=r.getAttribute("media");if(null===o||o===e)return r}}return null}();return null!==e?e.getAttribute("content"):l===r.Safari?T?ne()===x.Dark?"#ffffffff":"#000000ff":ee(G(globalThis.getComputedStyle(globalThis.document.body).backgroundColor)):l===r.Chrome?ne()===x.Dark?"#28292cff":"#ffffffff":void 0}K=new MutationObserver((function(e){for(var t=0;t<e.length;t++){for(var n=e[t],r=n.addedNodes,o=n.removedNodes,i=0;i<r.length;i++)if(r[i]instanceof HTMLMetaElement)return le();for(i=0;i<o.length;i++)if(o[i]instanceof HTMLMetaElement)return le()}})),"function"==typeof E.addEventListener?E.addEventListener("change",le):"function"==typeof E.addListener&&E.addListener(le),K.observe(globalThis.document.head,{childList:!0}),le();var ue={installed:!1,name:"Theme",module:J,Constants:{Appearances:x},Errors:{EasingError:j,UnsupportedEasingFunctionError:D,StepSyntaxError:W,LinearSyntaxError:U,CubicBezierSyntaxError:P,UnsupportedColorError:q}};module.exports=ue;
|