From cc0701f1dc2aafb2b34a47c8eab4a6bc8f948610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6?= <14975046+skjnldsv@users.noreply.github.com> Date: Tue, 27 Oct 2026 12:44:18 +0100 Subject: [PATCH 1/2] fix: open recommended files with the viewer library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OCA.Viewer is gone in Nextcloud 36. Ask the viewer library whether it shows the file, and open it alone rather than with its folder. Assisted-by: ClaudeCode:claude-opus-5-5 Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com> --- package-lock.json | 1075 +++++++++++++++++++++++++++- package.json | 1 + src/components/RecommendedFile.vue | 24 +- 3 files changed, 1077 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 728a6108..44b9a4e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@nextcloud/l10n": "^3.4.1", "@nextcloud/paths": "^3.1.0", "@nextcloud/router": "^3.2.0", + "@nextcloud/viewer": "^2.0.0-beta.19", "@nextcloud/vue": "^9.14.0", "lodash": "^4.18.1", "pinia": "^4.1.0", @@ -1054,6 +1055,19 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1125,6 +1139,43 @@ "license": "MIT", "peer": true }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.6.0.tgz", + "integrity": "sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/context": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.6.tgz", + "integrity": "sha512-M26qDE6UkQbZA2mQ3RjJ3Gzd8TxP+/0obMgE5HfkfLhEEyYE3Bui4A5XHiGPjy0MUGAyxB3QgVuw2ciS0kHn6A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.6.2 || ^2.1.0" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0" + } + }, + "node_modules/@mdi/js": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", + "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@mdi/svg": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz", + "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==", + "license": "Apache-2.0" + }, "node_modules/@microsoft/api-extractor": { "version": "7.58.12", "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.58.12.tgz", @@ -1364,6 +1415,36 @@ "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, + "node_modules/@nextcloud/dialogs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-7.6.0.tgz", + "integrity": "sha512-s6PZDNioK+iWbVm/Y2utlpWDCKqlxfh0oUaOkiQWaxZq8j5UQsh1iI1bKAnhCRFlNc/yKmj1EOVBMRQ2EDGkNQ==", + "license": "AGPL-3.0-or-later", + "peer": true, + "dependencies": { + "@mdi/js": "^7.4.47", + "@nextcloud/auth": "^2.6.0", + "@nextcloud/axios": "^2.6.0", + "@nextcloud/browser-storage": "^0.5.0", + "@nextcloud/event-bus": "^3.3.3", + "@nextcloud/files": "^4.0.0", + "@nextcloud/initial-state": "^3.0.0", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/paths": "^3.1.0", + "@nextcloud/router": "^3.2.0", + "@nextcloud/sharing": "^0.4.0", + "@nextcloud/vue": "^9.13.1", + "@types/toastify-js": "^1.12.4", + "@vueuse/core": "^15.0.0", + "p-queue": "^9.3.3", + "toastify-js": "^1.12.0", + "vue": "^3.5.44", + "webdav": "^5.11.0" + }, + "engines": { + "node": "^22.18 || ^24 || >=26" + } + }, "node_modules/@nextcloud/eslint-config": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-9.0.1.tgz", @@ -1429,6 +1510,24 @@ "node": "^24.0.0 || >=26.0.0" } }, + "node_modules/@nextcloud/image-editor": { + "version": "1.0.0-beta.7", + "resolved": "https://registry.npmjs.org/@nextcloud/image-editor/-/image-editor-1.0.0-beta.7.tgz", + "integrity": "sha512-JZG4HCX3XMm2hc54xvEs8xPo60q4g+qvevJu7WWEAqeGTK3erl6q70224OhGC7gDijMZE+kC753WKpJLnYBMwA==", + "license": "AGPL-3.0-or-later", + "dependencies": { + "@nextcloud/l10n": "^3.4.0", + "konva": "~10.3.2" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" + }, + "peerDependencies": { + "@nextcloud/dialogs": "^7.0.0", + "@nextcloud/vue": "^9.0.0", + "vue": "^3.5.0" + } + }, "node_modules/@nextcloud/initial-state": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", @@ -1533,6 +1632,41 @@ "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, + "node_modules/@nextcloud/viewer": { + "version": "2.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@nextcloud/viewer/-/viewer-2.0.0-beta.19.tgz", + "integrity": "sha512-qP9Ca3VChDz/J2KWVTUig4kcd/iLOdO+VWOXLxNCW8xAWwTxhc7ZJINt2G0wRhCTGc1ux/523Y7PBYn2JOHCug==", + "license": "AGPL-3.0-or-later", + "dependencies": { + "@mdi/svg": "^7.4.47", + "@nextcloud/auth": "^2.6.0", + "@nextcloud/image-editor": "^1.0.0-beta.6", + "@nextcloud/logger": "^3.0.3", + "@nextcloud/vue": "^9.13.0", + "@videojs/html": "^10.0.1", + "debounce": "^3.0.0", + "dompurify": "^3.4.14", + "opensheetmusicdisplay": "^2.1.3", + "vue": "^3.5.0", + "vue-material-design-icons": "^5.3.1", + "webdav": "^5.10.0" + }, + "engines": { + "node": "^24.0.0 || >=26.0.0" + }, + "peerDependencies": { + "@nextcloud/axios": "^2.5.2", + "@nextcloud/capabilities": "^1.2.1", + "@nextcloud/dialogs": "^7.5.0", + "@nextcloud/event-bus": "^3.3.3", + "@nextcloud/files": "^4.0.0", + "@nextcloud/initial-state": "^3.0.0", + "@nextcloud/l10n": "^3.4.1", + "@nextcloud/paths": "^3.1.0", + "@nextcloud/router": "^3.1.0", + "@nextcloud/sharing": "^0.4.0 || ^1.0.0-beta.2" + } + }, "node_modules/@nextcloud/vite-config": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/@nextcloud/vite-config/-/vite-config-2.5.4.tgz", @@ -2726,6 +2860,13 @@ "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==", "license": "MIT" }, + "node_modules/@types/toastify-js": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz", + "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==", + "license": "MIT", + "peer": true + }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", @@ -2739,6 +2880,12 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/vexflow": { + "version": "1.2.42", + "resolved": "https://registry.npmjs.org/@types/vexflow/-/vexflow-1.2.42.tgz", + "integrity": "sha512-bj3If1sm1FYJN0tJMV2BJNrwoeQ6xfrTt+rbmFvUytyxUhklLlW79MR4uwQ+upzrNJLVy012TnC7oZqSpEglSw==", + "license": "MIT" + }, "node_modules/@types/web-bluetooth": { "version": "0.0.21", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", @@ -3033,6 +3180,165 @@ "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", "license": "ISC" }, + "node_modules/@videojs/core": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/core/-/core-10.2.0.tgz", + "integrity": "sha512-xYF4aWKq4Us0SzxwAZmpbeONgTSogH3gF0yfDlZEusaPrpx1rsXwAELas1PjcwzUC+jwMAQ54C6q3RAZ/xbHwA==", + "license": "Apache-2.0", + "dependencies": { + "@videojs/media": "10.2.0", + "@videojs/store": "10.2.0", + "@videojs/utils": "10.2.0", + "video.js": "10.2.0" + } + }, + "node_modules/@videojs/element": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/element/-/element-10.2.0.tgz", + "integrity": "sha512-eGsRhK7nxUkPbjrXGHZDlNJsVTovJCzg6w1+B3aOOWOpfxvLSEUwR8KJ+VPtzqAcbS3lZ5LQjxFyomv1dirh+Q==", + "license": "Apache-2.0", + "dependencies": { + "@lit/context": "^1.1.0" + } + }, + "node_modules/@videojs/html": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/html/-/html-10.2.0.tgz", + "integrity": "sha512-Bas9JqHlbiLx9oLhLvCWJr+UoUQ9Xb/Z156O7d/DQ8ujxuV8I7f6vWgkcLOjUjp78rBZjPIy/O+wMPBNbIJpSw==", + "license": "Apache-2.0", + "dependencies": { + "@videojs/core": "10.2.0", + "@videojs/element": "10.2.0", + "@videojs/media": "10.2.0", + "@videojs/native-hls-video": "10.2.0", + "@videojs/spf": "10.2.0", + "@videojs/store": "10.2.0", + "@videojs/utils": "10.2.0" + }, + "peerDependencies": { + "@videojs/cloudflare-video": "10.2.0", + "@videojs/dash-video": "10.2.0", + "@videojs/google-cast": "10.2.0", + "@videojs/hlsjs-video": "10.2.0", + "@videojs/mux-audio": "10.2.0", + "@videojs/mux-data": "10.2.0", + "@videojs/mux-video": "10.2.0", + "@videojs/playerjs-video": "10.2.0", + "@videojs/shaka-video": "10.2.0", + "@videojs/spotify-audio": "10.2.0", + "@videojs/tiktok-video": "10.2.0", + "@videojs/twitch-video": "10.2.0", + "@videojs/vimeo-video": "10.2.0", + "@videojs/wistia-video": "10.2.0", + "@videojs/youtube-video": "10.2.0" + }, + "peerDependenciesMeta": { + "@videojs/cloudflare-video": { + "optional": true + }, + "@videojs/dash-video": { + "optional": true + }, + "@videojs/google-cast": { + "optional": true + }, + "@videojs/hlsjs-video": { + "optional": true + }, + "@videojs/mux-audio": { + "optional": true + }, + "@videojs/mux-data": { + "optional": true + }, + "@videojs/mux-video": { + "optional": true + }, + "@videojs/playerjs-video": { + "optional": true + }, + "@videojs/shaka-video": { + "optional": true + }, + "@videojs/spotify-audio": { + "optional": true + }, + "@videojs/tiktok-video": { + "optional": true + }, + "@videojs/twitch-video": { + "optional": true + }, + "@videojs/vimeo-video": { + "optional": true + }, + "@videojs/wistia-video": { + "optional": true + }, + "@videojs/youtube-video": { + "optional": true + } + } + }, + "node_modules/@videojs/media": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/media/-/media-10.2.0.tgz", + "integrity": "sha512-bdlq1nav3xeuWsmxN1eWEdJcbS1QxHoMZq2+4DJ19yWAGSheXDt52xDNTgNhoKY0FoJFTdNEsv/4qxR/eW+IjA==", + "license": "Apache-2.0", + "dependencies": { + "@videojs/utils": "10.2.0" + } + }, + "node_modules/@videojs/native-hls-video": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/native-hls-video/-/native-hls-video-10.2.0.tgz", + "integrity": "sha512-+0ISYTxbPtXc530CvTqCkoKrOPzxpAqvdgw79cRTOAG/7sR4xgQqt341O+P0HesH5kYeMwkLfWcSM964FAcMTw==", + "license": "Apache-2.0", + "dependencies": { + "@videojs/media": "10.2.0", + "@videojs/spf": "10.2.0", + "@videojs/utils": "10.2.0" + } + }, + "node_modules/@videojs/spf": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/spf/-/spf-10.2.0.tgz", + "integrity": "sha512-ovoHDqR5td0nfeZeCu2GWbdb3SVqP9udEAZr/4/VNUKYKstOg21rlGYS/We/our17kkxcp6Dvg7H98xLzn83pQ==", + "license": "Apache-2.0", + "dependencies": { + "@videojs/media": "10.2.0", + "@videojs/utils": "10.2.0", + "signal-polyfill": "^0.2.2" + } + }, + "node_modules/@videojs/store": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/store/-/store-10.2.0.tgz", + "integrity": "sha512-rKV2tCigF1ifVFk1n+svGMpWLdEsBl3LHYbD9hrHQZtSI2SAwgwvD5W5vA0hcc0W3f9cblsrS0zgT/JxQlKfrw==", + "license": "Apache-2.0", + "dependencies": { + "@videojs/utils": "10.2.0", + "react-compiler-runtime": "^1.0.0" + }, + "peerDependencies": { + "@videojs/element": "10.2.0", + "react": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@videojs/element": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@videojs/utils": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@videojs/utils/-/utils-10.2.0.tgz", + "integrity": "sha512-+uV+rg5Dtq0OpPT3OQsybA+grWyDaluFIQ6f5X8Jqb98gy0momQBo7yPA92TlVL7eiUrPpYb4eX0xeTXLKL73Q==", + "license": "Apache-2.0" + }, "node_modules/@vitejs/plugin-vue": { "version": "6.0.8", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.8.tgz", @@ -3357,6 +3663,16 @@ "vue": "^3.5.0" } }, + "node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "license": "ISC", + "optional": true, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/acorn": { "version": "8.17.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", @@ -3747,7 +4063,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -3777,6 +4093,16 @@ "node": ">=6.0.0" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/birpc": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", @@ -3786,6 +4112,25 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==", + "license": "MIT", + "optional": true + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/blurhash": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", @@ -4058,7 +4403,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -4269,6 +4614,16 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "optional": true, + "engines": { + "node": ">=18" + } + }, "node_modules/cipher-base": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", @@ -4417,7 +4772,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, "license": "MIT" }, "node_modules/cosmiconfig": { @@ -4667,6 +5021,32 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4968,6 +5348,16 @@ "license": "MIT", "peer": true }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -4986,9 +5376,8 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, + "devOptional": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -5563,6 +5952,23 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0", + "optional": true + }, "node_modules/exsolve": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.0.tgz", @@ -5759,6 +6165,13 @@ "flat-cache": "^6.1.23" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT", + "optional": true + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5912,6 +6325,13 @@ "node": ">=12.20.0" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT", + "optional": true + }, "node_modules/fs-extra": { "version": "11.3.6", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.6.tgz", @@ -6021,6 +6441,32 @@ "url": "https://github.com/fisker/git-hooks-list?sponsor=1" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT", + "optional": true + }, + "node_modules/gl": { + "version": "9.0.0-rc.10", + "resolved": "https://registry.npmjs.org/gl/-/gl-9.0.0-rc.10.tgz", + "integrity": "sha512-G6lYaWoan0d2d8UO0UmaSS8zqyyZwYt6q2dFVJ2hD62sRWUwkMIH+Jp7gEoQesLlo28Nzelh+GIYz1qOUa5WmQ==", + "hasInstallScript": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "bindings": "^1.5.0", + "bit-twiddle": "^1.0.2", + "glsl-tokenizer": "^2.1.5", + "nan": "^2.26.2", + "node-gyp": "^12.2.0", + "prebuild-install": "^7.1.3" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -6100,6 +6546,16 @@ "license": "MIT", "peer": true }, + "node_modules/glsl-tokenizer": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", + "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", + "license": "MIT", + "optional": true, + "dependencies": { + "through2": "^0.6.3" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -6116,7 +6572,7 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/has-flag": { @@ -6416,7 +6872,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -6444,6 +6900,12 @@ "node": ">= 4" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, "node_modules/immutable": { "version": "5.1.9", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", @@ -6506,17 +6968,15 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC", - "peer": true - }, + "devOptional": true, + "license": "ISC" + }, "node_modules/inline-style-parser": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", @@ -6929,6 +7389,54 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/keyv": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", @@ -6966,6 +7474,38 @@ "dev": true, "license": "MIT" }, + "node_modules/konva": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/konva/-/konva-10.3.3.tgz", + "integrity": "sha512-j3Rrn504bYFwJ0zV0ZbSOQRsM9KMBLOpEq6xZuyIjbaKeFbBXwgiM5SA4IDq4nwM1l49GVKs66Mo+sl7+4G7PQ==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/lavrton" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/konva" + }, + { + "type": "github", + "url": "https://github.com/sponsors/lavrton" + } + ], + "license": "MIT", + "peerDependencies": { + "canvas": "^3.0.0", + "skia-canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + }, + "skia-canvas": { + "optional": true + } + } + }, "node_modules/layerr": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/layerr/-/layerr-3.0.0.tgz", @@ -6986,6 +7526,15 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -7047,6 +7596,19 @@ "license": "MIT", "peer": true }, + "node_modules/loglevel": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz", + "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -7900,6 +8462,19 @@ "node": ">= 0.6" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -7929,6 +8504,46 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "optional": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT", + "optional": true + }, "node_modules/mlly": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz", @@ -7980,6 +8595,13 @@ "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", "license": "MIT" }, + "node_modules/nan": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.30.0.tgz", + "integrity": "sha512-P5mokDkSvCGBz6mZDD/2l+w9QoICRXdCyZ9ONGmTePr40oihJg3Kpn0YU3twKd6PJnwSlLBWNQeOT6yWEV2c4A==", + "license": "MIT", + "optional": true + }, "node_modules/nanoid": { "version": "3.3.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", @@ -7998,6 +8620,13 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT", + "optional": true + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8021,6 +8650,19 @@ "integrity": "sha512-yFehXNWRs4cM0+dz7QxCd06hTbWbSkV0ISsqBfkntU6TOY4Qm3Q88fRRLOddkGh2Qq6dZvnKVAahfhjcUvLnyA==", "license": "MIT" }, + "node_modules/node-abi": { + "version": "3.101.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.101.0.tgz", + "integrity": "sha512-bkb/RkuWCE64eWu1PCh3Fu2pGc9mKRs+kOE+FU2bGHRYlQa86/D321DSATV54AsCQMKz3/xSt9sRgraZTpqdhQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", @@ -8066,6 +8708,57 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/node-gyp": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.4.0.tgz", + "integrity": "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==", + "license": "MIT", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "license": "BlueOak-1.0.0", + "optional": true, + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "license": "ISC", + "optional": true, + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/node-releases": { "version": "2.0.51", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", @@ -8122,6 +8815,22 @@ "dev": true, "license": "MIT" }, + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -8220,6 +8929,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/opensheetmusicdisplay": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/opensheetmusicdisplay/-/opensheetmusicdisplay-2.2.1.tgz", + "integrity": "sha512-2DqI2lQKKzDDoIe7yD8yNyWTofSdRbFZYTD3nGRzEo1XmTK2DJWcUXLRXZ2E5xzOt7Pd+RmSGL1quFQZRCqDMw==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/vexflow": "^1.2.38", + "jszip": "3.10.1", + "loglevel": "^1.8.0", + "typescript-collections": "^1.3.3", + "vexflow": "1.2.93" + }, + "optionalDependencies": { + "gl": "^9.0.0-rc.10" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -8323,7 +9058,6 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true, "license": "(MIT AND Zlib)" }, "node_modules/parent-module": { @@ -8719,6 +9453,34 @@ "license": "MIT", "peer": true }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -8729,6 +9491,16 @@ "node": ">= 0.8.0" } }, + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "license": "ISC", + "optional": true, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -8743,7 +9515,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, "license": "MIT" }, "node_modules/property-information": { @@ -8787,6 +9558,17 @@ "dev": true, "license": "MIT" }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -8911,11 +9693,46 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "19.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.3.1.tgz", + "integrity": "sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-compiler-runtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-compiler-runtime/-/react-compiler-runtime-1.0.0.tgz", + "integrity": "sha512-rRfjYv66HlG8896yPUDONgKzG5BxZD1nV9U6rkm+7VCuvQc903C4MjcoZR4zPw53IKSOX9wMQVpA1IAbRtzQ7w==", + "license": "MIT", + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -9342,7 +10159,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -9447,7 +10264,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true, "license": "MIT" }, "node_modules/sha.js": { @@ -9586,6 +10402,59 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/signal-polyfill": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/signal-polyfill/-/signal-polyfill-0.2.2.tgz", + "integrity": "sha512-p63Y4Er5/eMQ9RHg0M0Y64NlsQKpiu6MDdhBXpyywRuWiPywhJTpKJ1iB5K2hJEbFZ0BnDS7ZkJ+0AfTuL37Rg==", + "license": "Apache-2.0" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -9809,7 +10678,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -9902,6 +10771,16 @@ "node": ">=8" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/striptags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", @@ -10431,6 +11310,98 @@ "node": ">=8" } }, + "node_modules/tar": { + "version": "7.5.22", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.22.tgz", + "integrity": "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==", + "license": "BlueOak-1.0.0", + "optional": true, + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar-fs": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.5.tgz", + "integrity": "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==", + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC", + "optional": true + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", + "license": "MIT", + "optional": true, + "dependencies": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT", + "optional": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT", + "optional": true + }, "node_modules/timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -10506,6 +11477,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/toastify-js": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.12.0.tgz", + "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==", + "license": "MIT", + "peer": true + }, "node_modules/tributejs": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/tributejs/-/tributejs-5.1.3.tgz", @@ -10561,6 +11539,19 @@ "dev": true, "license": "MIT" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -10603,6 +11594,12 @@ "node": ">=14.17" } }, + "node_modules/typescript-collections": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/typescript-collections/-/typescript-collections-1.3.3.tgz", + "integrity": "sha512-7sI4e/bZijOzyURng88oOFZCISQPTHozfE2sUu5AviFYk5QV7fYGb6YiDl+vKjF/pICA354JImBImL9XJWUvdQ==", + "license": "MIT" + }, "node_modules/typescript-eslint": { "version": "8.72.1", "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.72.1.tgz", @@ -10639,6 +11636,16 @@ "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", "license": "MIT" }, + "node_modules/undici": { + "version": "6.29.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.29.1.tgz", + "integrity": "sha512-EvRlUt/QqAEvXdQeRMYUfwOQsfzpDztykrG2owGEE/rBOBoYv9uF39ZzsNDh4lTFHhTr2XOZjKkYgueD12ZmGA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18.17" + } + }, "node_modules/unicorn-magic": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", @@ -10951,7 +11958,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, + "license": "MIT" + }, + "node_modules/vexflow": { + "version": "1.2.93", + "resolved": "https://registry.npmjs.org/vexflow/-/vexflow-1.2.93.tgz", + "integrity": "sha512-LwHQDCc257Lwju35BhyZuPYcVWu0hIUqEdM7j9+B+bq91bSelssnAG5JR8odTUtgGuwwvGwLhXw37wtmHNCS6Q==", "license": "MIT" }, "node_modules/vfile": { @@ -10982,6 +11994,12 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/video.js": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/video.js/-/video.js-10.2.0.tgz", + "integrity": "sha512-YoezDYXY6iDkuhLGnyOz96XBKjwB0cQbPNq5ck1FAf2JcqfLnnwkNQ4ofbwhlpAM55RFp6VDhSvKe5wVcFV11Q==", + "license": "Apache-2.0" + }, "node_modules/vite": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.7.tgz", @@ -11810,6 +12828,13 @@ "node": ">=0.10.0" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC", + "optional": true + }, "node_modules/write-file-atomic": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz", @@ -11853,12 +12878,22 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.4" } }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "optional": true, + "engines": { + "node": ">=18" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index f3b361cd..c9e1aaf9 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "@nextcloud/l10n": "^3.4.1", "@nextcloud/paths": "^3.1.0", "@nextcloud/router": "^3.2.0", + "@nextcloud/viewer": "^2.0.0-beta.19", "@nextcloud/vue": "^9.14.0", "lodash": "^4.18.1", "pinia": "^4.1.0", diff --git a/src/components/RecommendedFile.vue b/src/components/RecommendedFile.vue index d033b868..fe9a3be9 100644 --- a/src/components/RecommendedFile.vue +++ b/src/components/RecommendedFile.vue @@ -38,9 +38,12 @@ v-if="extension" \n","const _String = String\n\nexport default _String.fromCodePoint ||\n function stringFromCodePoint() {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint)\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xd800\n lowSurrogate = (codePoint % 0x400) + 0xdc00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += String.fromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n","import stringFromCodePoint from '../polyfills/stringFromCodePoint'\n\nfunction unifiedToNative(unified) {\n var unicodes = unified.split('-'),\n codePoints = unicodes.map((u) => `0x${u}`)\n\n return stringFromCodePoint.apply(null, codePoints)\n}\n\nfunction uniq(arr) {\n return arr.reduce((acc, item) => {\n if (acc.indexOf(item) === -1) {\n acc.push(item)\n }\n return acc\n }, [])\n}\n\nfunction intersect(a, b) {\n const uniqA = uniq(a)\n const uniqB = uniq(b)\n\n return uniqA.filter((item) => uniqB.indexOf(item) >= 0)\n}\n\nfunction deepMerge(a, b) {\n var o = {}\n\n for (let key in a) {\n let originalValue = a[key],\n value = originalValue\n\n if (Object.prototype.hasOwnProperty.call(b, key)) {\n value = b[key]\n }\n\n if (typeof value === 'object') {\n value = deepMerge(originalValue, value)\n }\n\n o[key] = value\n }\n\n return o\n}\n\n// https://github.com/sonicdoe/measure-scrollbar\nfunction measureScrollbar() {\n if (typeof document == 'undefined') return 0\n const div = document.createElement('div')\n\n div.style.width = '100px'\n div.style.height = '100px'\n div.style.overflow = 'scroll'\n div.style.position = 'absolute'\n div.style.top = '-9999px'\n\n document.body.appendChild(div)\n const scrollbarWidth = div.offsetWidth - div.clientWidth\n document.body.removeChild(div)\n\n return scrollbarWidth\n}\n\nexport { uniq, intersect, deepMerge, unifiedToNative, measureScrollbar }\n","import { intersect, unifiedToNative } from './index'\nimport { uncompress, buildSearch } from './data'\nimport frequently from './frequently'\n\nconst SHEET_COLUMNS = 61\nconst COLONS_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/\n// Skin tones\nconst SKINS = ['1F3FA', '1F3FB', '1F3FC', '1F3FD', '1F3FE', '1F3FF']\n\n/**\n * Emoji data structure:\n * {\n * \"compressed\": false,\n * \"aliases\": {\n * collision: \"boom\"\n * cooking: \"fried_egg\"\n * envelope: \"email\"\n * face_with_finger_covering_closed_lips: \"shushing_face\"\n * ...\n * },\n * \"categories\": [ {\n * id: \"people\",\n * name: \"Smileys & Emotion\",\n * emojis: [ \"grinning\", \"grin\", \"joy\", ... ]\n * }, {\n * id: \"nature\",\n * name: \"Animals & Nature\",\n * emojis: [ \"monkey_face\", \"money\", \"gorilla\", ... ]\n * },\n * ...\n * ],\n * \"emojis\": [\n * smiley: {\n * added_in: \"6.0\",\n * emoticons: [\"=)\", \"=-)\"],\n * has_img_apple: true,\n * has_img_facebook: true,\n * has_img_google: true,\n * has_img_twitter: true,\n * keywords: [\"face\", \"happy\", \"joy\", \"haha\", \":D\", \":)\", \"smile\", \"funny\"],\n * name: \"Smiling Face with Open Mouth\",\n * non_qualified: undefined,\n * search: \"smiley,smiling,face,with,open,mouth,happy,joy,haha,:d,:),smile,funny,=),=-)\",\n * sheet_x: 30,\n * sheet_y: 27,\n * short_names: [\"smiley\"],\n * text: \":)\",\n * unified: \"1F603\",\n * }, {\n * +1: { // emoji with skin_variations\n * ..., // all the regular fields are present\n * name: \"Thumbs Up Sign\",\n * short_names: (2) [\"+1\", \"thumbsup\"],\n * skin_variations: {\n * 1F3FB: // each variation has additional set of fields:\n * added_in: \"8.0\",\n * has_img_apple: true,\n * has_img_facebook: true,\n * has_img_google: true,\n * has_img_twitter: true,\n * image: \"1f44d-1f3fb.png\",\n * non_qualified: null,\n * sheet_x: 14,\n * sheet_y: 50,\n * unified: \"1F44D-1F3FB\",\n * 1F3FB: {…},\n * 1F3FC: {…},\n * 1F3FD: {…},\n * 1F3FE: {…},\n * 1F3FF: {…}\n * },\n * ...\n * },\n * a: { // emoji with non_qualified field set\n * added_in: \"6.0\",\n * emoticons: undefined,\n * has_img_apple: true,\n * ...\n * non_qualified: \"1F170\",\n * unified: \"1F170-FE0F\",\n * },\n * ...\n * ]\n * }\n */\n\n/**\n * Wraps raw jason emoji data, serves as data source for\n * emoji picker components.\n *\n * Usage:\n *\n * import data from '../data/all.json'\n * let index = new EmojiIndex(data)\n *\n */\nexport class EmojiIndex {\n /**\n * Constructor.\n *\n * @param {object} data - Raw json data, see the structure above.\n * @param {object} options - additional options, as an object:\n * @param {Function} emojisToShowFilter - optional, function to filter out\n * some emojis, function(emoji) { return true|false }\n * where `emoji` is an raw emoji object, see data.emojis above.\n * @param {Array} include - optional, a list of category ids to include.\n * @param {Array} exclude - optional, a list of category ids to exclude.\n * @param {Array} custom - optional, a list custom emojis, each emoji is\n * an object, see data.emojis above for examples.\n */\n constructor(\n data,\n {\n emojisToShowFilter,\n include,\n exclude,\n custom,\n recent,\n recentLength = 20,\n } = {},\n ) {\n this._data = uncompress(data)\n // Callback to exclude specific emojis\n this._emojisFilter = emojisToShowFilter || null\n // Categories to include / exclude\n this._include = include || null\n this._exclude = exclude || null\n // Custom emojis\n this._custom = custom || []\n // Recent emojis\n // TODO: make parameter configurable\n this._recent = recent || frequently.get(recentLength)\n\n this._emojis = {}\n this._nativeEmojis = {}\n this._emoticons = {}\n\n this._categories = []\n this._recentCategory = { id: 'recent', name: 'Recent', emojis: [] }\n this._customCategory = { id: 'custom', name: 'Custom', emojis: [] }\n this._searchIndex = {}\n this.buildIndex()\n Object.freeze(this)\n }\n\n buildIndex() {\n let allCategories = this._data.categories\n\n if (this._include) {\n // Remove categories that are not in the include list.\n allCategories = allCategories.filter((item) => {\n return this._include.includes(item.id)\n })\n // Sort categories according to the include list.\n allCategories = allCategories.sort((a, b) => {\n const indexA = this._include.indexOf(a.id)\n const indexB = this._include.indexOf(b.id)\n if (indexA < indexB) {\n return -1\n }\n if (indexA > indexB) {\n return 1\n }\n return 0\n })\n }\n\n allCategories.forEach((categoryData) => {\n if (!this.isCategoryNeeded(categoryData.id)) {\n return\n }\n let category = {\n id: categoryData.id,\n name: categoryData.name,\n emojis: [],\n }\n categoryData.emojis.forEach((emojiId) => {\n let emoji = this.addEmoji(emojiId)\n if (emoji) {\n category.emojis.push(emoji)\n }\n })\n if (category.emojis.length) {\n this._categories.push(category)\n }\n })\n\n if (this.isCategoryNeeded('custom')) {\n if (this._custom.length > 0) {\n for (let customEmoji of this._custom) {\n this.addCustomEmoji(customEmoji)\n }\n }\n if (this._customCategory.emojis.length) {\n this._categories.push(this._customCategory)\n }\n }\n\n if (this.isCategoryNeeded('recent')) {\n if (this._recent.length) {\n this._recent.map((id) => {\n for (let customEmoji of this._customCategory.emojis) {\n if (customEmoji.id === id) {\n this._recentCategory.emojis.push(customEmoji)\n return\n }\n }\n if (this.hasEmoji(id)) {\n this._recentCategory.emojis.push(this.emoji(id))\n }\n return\n })\n }\n // Add recent category to the top\n if (this._recentCategory.emojis.length) {\n this._categories.unshift(this._recentCategory)\n }\n }\n }\n\n /**\n * Find the emoji from the string\n */\n findEmoji(emoji, skin) {\n // 1. Parse as :emoji_name:skin-tone-xx:\n let matches = emoji.match(COLONS_REGEX)\n\n if (matches) {\n emoji = matches[1]\n if (matches[2]) {\n skin = parseInt(matches[2], 10)\n }\n }\n\n // 2. Check if the specified emoji is an alias\n if (this._data.aliases.hasOwnProperty(emoji)) {\n emoji = this._data.aliases[emoji]\n }\n\n // 3. Check if we have the specified emoji\n if (this._emojis.hasOwnProperty(emoji)) {\n let emojiObject = this._emojis[emoji]\n if (skin) {\n return emojiObject.getSkin(skin)\n }\n return emojiObject\n }\n\n // 4. Check if we have the specified native emoji\n if (this._nativeEmojis.hasOwnProperty(emoji)) {\n return this._nativeEmojis[emoji]\n }\n return null\n }\n\n categories() {\n return this._categories\n }\n\n emoji(emojiId) {\n if (this._data.aliases.hasOwnProperty(emojiId)) {\n emojiId = this._data.aliases[emojiId]\n }\n let emoji = this._emojis[emojiId]\n if (!emoji) {\n throw new Error('Can not find emoji by id: ' + emojiId)\n }\n return emoji\n }\n\n firstEmoji() {\n let emoji = this._emojis[Object.keys(this._emojis)[0]]\n if (!emoji) {\n throw new Error('Can not get first emoji')\n }\n return emoji\n }\n\n hasEmoji(emojiId) {\n if (this._data.aliases.hasOwnProperty(emojiId)) {\n emojiId = this._data.aliases[emojiId]\n }\n if (this._emojis[emojiId]) {\n return true\n }\n return false\n }\n\n nativeEmoji(unicodeEmoji) {\n if (this._nativeEmojis.hasOwnProperty(unicodeEmoji)) {\n return this._nativeEmojis[unicodeEmoji]\n }\n return null\n }\n\n search(value, maxResults) {\n maxResults || (maxResults = 75)\n if (!value.length) {\n return null\n }\n if (value == '-' || value == '-1') {\n return [this.emoji('-1')]\n }\n\n let values = value.toLowerCase().split(/[\\s|,|\\-|_]+/)\n let allResults = []\n\n if (values.length > 2) {\n values = [values[0], values[1]]\n }\n\n allResults = values\n .map((value) => {\n // Start searchin in the global list of emojis\n let emojis = this._emojis\n let currentIndex = this._searchIndex\n let length = 0\n\n for (let charIndex = 0; charIndex < value.length; charIndex++) {\n const char = value[charIndex]\n length++\n\n currentIndex[char] || (currentIndex[char] = {})\n currentIndex = currentIndex[char]\n\n if (!currentIndex.results) {\n let scores = {}\n currentIndex.results = []\n currentIndex.emojis = {}\n\n for (let emojiId in emojis) {\n let emoji = emojis[emojiId]\n // search is a comma-separated string with words, related\n // to the emoji, for example:\n // search: \"smiley,smiling,face,joy,haha,:d,:),smile,funny,=),=-)\",\n let search = emoji._data.search\n let sub = value.substr(0, length)\n let subIndex = search.indexOf(sub)\n if (subIndex != -1) {\n let score = subIndex + 1\n if (sub == emojiId) score = 0\n\n currentIndex.results.push(emoji)\n currentIndex.emojis[emojiId] = emoji\n\n scores[emojiId] = score\n }\n }\n currentIndex.results.sort((a, b) => {\n var aScore = scores[a.id],\n bScore = scores[b.id]\n return aScore - bScore\n })\n }\n\n // continue search in the reduced set of emojis\n emojis = currentIndex.emojis\n }\n return currentIndex.results\n // The \"filter\" call removes undefined values from allResults\n // array, for example, if we have \"test \" (with trailing space),\n // we will get \"[Array, undefined]\" for allResults and after\n // the \"filter\" call it will turn into \"[Array]\"\n })\n .filter((a) => a)\n\n var results = null\n if (allResults.length > 1) {\n results = intersect.apply(null, allResults)\n } else if (allResults.length) {\n results = allResults[0]\n } else {\n results = []\n }\n if (results && results.length > maxResults) {\n results = results.slice(0, maxResults)\n }\n return results\n }\n\n addCustomEmoji(customEmoji) {\n let emojiData = Object.assign({}, customEmoji, {\n id: customEmoji.short_names[0],\n custom: true,\n })\n if (!emojiData.search) {\n emojiData.search = buildSearch(emojiData)\n }\n let emoji = new EmojiData(emojiData)\n this._emojis[emoji.id] = emoji\n this._customCategory.emojis.push(emoji)\n return emoji\n }\n\n addEmoji(emojiId) {\n // We expect the correct emoji id that is present in the emojis data.\n let data = this._data.emojis[emojiId]\n\n if (!this.isEmojiNeeded(data)) {\n return false\n }\n\n let emoji = new EmojiData(data)\n this._emojis[emojiId] = emoji\n if (emoji.native) {\n this._nativeEmojis[emoji.native] = emoji\n }\n if (emoji._skins) {\n for (let idx in emoji._skins) {\n let skin = emoji._skins[idx]\n if (skin.native) {\n this._nativeEmojis[skin.native] = skin\n }\n }\n }\n\n if (emoji.emoticons) {\n emoji.emoticons.forEach((emoticon) => {\n if (this._emoticons[emoticon]) {\n return\n }\n this._emoticons[emoticon] = emojiId\n })\n }\n return emoji\n }\n\n /**\n * Check if we need to include given category.\n *\n * @param {string} category_id - The category id.\n * @return {boolean} - Whether to include the emoji.\n */\n isCategoryNeeded(category_id) {\n let isIncluded =\n this._include && this._include.length\n ? this._include.indexOf(category_id) > -1\n : true\n let isExcluded =\n this._exclude && this._exclude.length\n ? this._exclude.indexOf(category_id) > -1\n : false\n if (!isIncluded || isExcluded) {\n return false\n }\n return true\n }\n\n /**\n * Check if we need to include given emoji.\n *\n * @param {object} emoji - The raw emoji object.\n * @return {boolean} - Whether to include the emoji.\n */\n isEmojiNeeded(emoji) {\n if (this._emojisFilter) {\n return this._emojisFilter(emoji)\n }\n return true\n }\n}\n\nexport class EmojiData {\n constructor(data) {\n this._data = Object.assign({}, data)\n this._skins = null\n if (this._data.skin_variations) {\n this._skins = []\n for (var skinIdx in SKINS) {\n let skinKey = SKINS[skinIdx]\n let variationData = this._data.skin_variations[skinKey]\n let skinData = Object.assign({}, data)\n for (let k in variationData) {\n skinData[k] = variationData[k]\n }\n delete skinData.skin_variations\n skinData['skin_tone'] = parseInt(skinIdx) + 1\n this._skins.push(new EmojiData(skinData))\n }\n }\n this._sanitized = sanitize(this._data)\n for (let key in this._sanitized) {\n this[key] = this._sanitized[key]\n }\n this.short_names = this._data.short_names\n this.short_name = this._data.short_names[0]\n Object.freeze(this)\n }\n\n getSkin(skinIdx) {\n if (skinIdx && skinIdx != 'native' && this._skins) {\n return this._skins[skinIdx - 1]\n }\n return this\n }\n\n getPosition() {\n let adjustedColumns = SHEET_COLUMNS - 1,\n x = +((100 / adjustedColumns) * this._data.sheet_x).toFixed(2),\n y = +((100 / adjustedColumns) * this._data.sheet_y).toFixed(2)\n return `${x}% ${y}%`\n }\n\n ariaLabel() {\n return [this.native].concat(this.short_names).filter(Boolean).join(', ')\n }\n}\n\nexport class EmojiView {\n /**\n * emoji - Emoji to display\n * set - string, emoji set name\n * native - boolean, whether to render native emoji\n * fallback - fallback function to render missing emoji, optional\n * emojiTooltip - wether we need to show the emoji tooltip, optional\n * emojiSize - emoji size in pixels, optional\n */\n constructor(emoji, skin, set, native, fallback, emojiTooltip, emojiSize) {\n this._emoji = emoji\n this._native = native\n this._skin = skin\n this._set = set\n this._fallback = fallback\n\n this.canRender = this._canRender()\n this.cssClass = this._cssClass()\n this.cssStyle = this._cssStyle(emojiSize)\n this.content = this._content()\n this.title = emojiTooltip === true ? emoji.short_name : null\n this.ariaLabel = emoji.ariaLabel()\n\n Object.freeze(this)\n }\n\n getEmoji() {\n return this._emoji.getSkin(this._skin)\n }\n\n _canRender() {\n return (\n this._isCustom() || this._isNative() || this._hasEmoji() || this._fallback\n )\n }\n\n _cssClass() {\n return ['emoji-set-' + this._set, 'emoji-type-' + this._emojiType()]\n }\n\n _cssStyle(emojiSize) {\n let cssStyle = {}\n if (this._isCustom()) {\n cssStyle = {\n backgroundImage: 'url(' + this.getEmoji()._data.imageUrl + ')',\n backgroundSize: '100%',\n width: emojiSize + 'px',\n height: emojiSize + 'px',\n }\n } else if (this._hasEmoji() && !this._isNative()) {\n cssStyle = {\n backgroundPosition: this.getEmoji().getPosition(),\n }\n }\n if (emojiSize) {\n if (this._isNative()) {\n // Set font-size for native emoji.\n cssStyle = Object.assign(cssStyle, {\n // font-size is used for native emoji which we need\n // to scale with 0.95 factor to have them look approximately\n // the same size as image-based emoji.\n fontSize: Math.round(emojiSize * 0.95 * 10) / 10 + 'px',\n })\n } else {\n // Set width/height for image emoji.\n cssStyle = Object.assign(cssStyle, {\n width: emojiSize + 'px',\n height: emojiSize + 'px',\n })\n }\n }\n return cssStyle\n }\n\n _content() {\n if (this._isCustom()) {\n return ''\n }\n if (this._isNative()) {\n return this.getEmoji().native\n }\n if (this._hasEmoji()) {\n return ''\n }\n return this._fallback ? this._fallback(this.getEmoji()) : null\n }\n\n _isNative() {\n return this._native\n }\n\n _isCustom() {\n return this.getEmoji().custom\n }\n\n _hasEmoji() {\n if (!this.getEmoji()._data) {\n // Return false if we have no data.\n return false\n }\n const hasImage = this.getEmoji()._data['has_img_' + this._set]\n if (hasImage === undefined) {\n // If there is no has_img_xxx in the data, we are working with\n // specific data file, like facebook.json, so we assume all\n // emojis are available (the :set setting for picker should\n // match the data file).\n return true\n }\n // Otherwise, we are using all.json and can switch between different\n // sets - in this case the `has_img_{set_name}` is a boolean that\n // indicates if there is such image or not for a given set.\n return hasImage\n }\n\n _emojiType() {\n if (this._isCustom()) {\n return 'custom'\n }\n if (this._isNative()) {\n return 'native'\n }\n if (this._hasEmoji()) {\n return 'image'\n }\n return 'fallback'\n }\n}\n\nexport function sanitize(emoji) {\n var {\n name,\n short_names,\n skin_tone,\n skin_variations,\n emoticons,\n unified,\n custom,\n imageUrl,\n } = emoji,\n id = emoji.id || short_names[0],\n colons = `:${id}:`\n\n if (custom) {\n return {\n id,\n name,\n colons,\n emoticons,\n custom,\n imageUrl,\n }\n }\n\n if (skin_tone) {\n colons += `:skin-tone-${skin_tone}:`\n }\n\n return {\n id,\n name,\n colons,\n emoticons,\n unified: unified.toLowerCase(),\n skin: skin_tone || (skin_variations ? 1 : null),\n native: unifiedToNative(unified),\n }\n}\n","const EmojiProps = {\n native: {\n type: Boolean,\n default: false,\n },\n tooltip: {\n type: Boolean,\n default: false,\n },\n fallback: {\n type: Function,\n },\n skin: {\n type: Number,\n default: 1,\n },\n set: {\n type: String,\n default: 'apple',\n },\n emoji: {\n type: [String, Object],\n required: true,\n },\n size: {\n type: Number,\n default: null,\n },\n tag: {\n type: String,\n default: 'span',\n },\n}\n\nconst PickerProps = {\n perLine: {\n type: Number,\n default: 9,\n },\n maxSearchResults: {\n type: Number,\n default: 75,\n },\n emojiSize: {\n type: Number,\n default: 24,\n },\n title: {\n type: String,\n default: 'Emoji Mart™',\n },\n emoji: {\n type: String,\n default: 'department_store',\n },\n color: {\n type: String,\n default: '#ae65c5',\n },\n set: {\n type: String,\n default: 'apple',\n },\n skin: {\n type: Number,\n default: null,\n },\n defaultSkin: {\n type: Number,\n default: 1,\n },\n native: {\n type: Boolean,\n default: false,\n },\n emojiTooltip: {\n type: Boolean,\n default: false,\n },\n autoFocus: {\n type: Boolean,\n default: false,\n },\n i18n: {\n type: Object,\n default() {\n return {}\n },\n },\n showPreview: {\n type: Boolean,\n default: true,\n },\n showSearch: {\n type: Boolean,\n default: true,\n },\n showCategories: {\n type: Boolean,\n default: true,\n },\n showSkinTones: {\n type: Boolean,\n default: true,\n },\n infiniteScroll: {\n type: Boolean,\n default: true,\n },\n pickerStyles: {\n type: Object,\n default() {\n return {}\n },\n },\n}\n\nexport { EmojiProps, PickerProps }\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\n\n// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel\n\n// MIT license\n\nvar isWindowAvailable = typeof window !== 'undefined'\n\nisWindowAvailable &&\n (function () {\n var lastTime = 0\n var vendors = ['ms', 'moz', 'webkit', 'o']\n\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n window.requestAnimationFrame =\n window[vendors[x] + 'RequestAnimationFrame']\n window.cancelAnimationFrame =\n window[vendors[x] + 'CancelAnimationFrame'] ||\n window[vendors[x] + 'CancelRequestAnimationFrame']\n }\n\n if (!window.requestAnimationFrame)\n window.requestAnimationFrame = function (callback, element) {\n var currTime = new Date().getTime()\n var timeToCall = Math.max(0, 16 - (currTime - lastTime))\n var id = window.setTimeout(function () {\n callback(currTime + timeToCall)\n }, timeToCall)\n\n lastTime = currTime + timeToCall\n return id\n }\n\n if (!window.cancelAnimationFrame)\n window.cancelAnimationFrame = function (id) {\n clearTimeout(id)\n }\n })()\n","export class PickerView {\n constructor(pickerComponent) {\n this._vm = pickerComponent\n this._data = pickerComponent.data\n this._perLine = pickerComponent.perLine\n\n this._categories = []\n this._categories.push(...this._data.categories())\n this._categories = this._categories.filter((category) => {\n return category.emojis.length > 0\n })\n\n this._categories[0].first = true\n Object.freeze(this._categories)\n\n this.activeCategory = this._categories[0]\n this.searchEmojis = null\n\n // Preview emoji, shown on mouse over or when we move\n // with arrow keys.\n this.previewEmoji = null\n // Indexes are used to keep the position when moving\n // with arrows: current category and current emoji\n // inside the category.\n this.previewEmojiCategoryIdx = 0\n this.previewEmojiIdx = -1\n }\n\n onScroll() {\n const scrollElement = this._vm.$refs.scroll\n\n if (!scrollElement) {\n // Reported in https://github.com/serebrov/emoji-mart-vue/issues/305\n // Would be good to understand how it can happen, but at least\n // exiting early we prevent the error.\n return\n }\n\n const scrollTop = scrollElement.scrollTop\n\n let activeCategory = this.filteredCategories[0]\n for (let i = 0, l = this.filteredCategories.length; i < l; i++) {\n let category = this.filteredCategories[i]\n let component = this._vm.getCategoryComponent(i)\n // The `-50` offset switches active category (selected in the\n // anchors bar) a bit eariler, before it actually reaches the top.\n if (component && component.$el.offsetTop - 50 > scrollTop) {\n break\n }\n activeCategory = category\n }\n this.activeCategory = activeCategory\n }\n\n get allCategories() {\n return this._categories\n }\n\n get filteredCategories() {\n if (this.searchEmojis) {\n return [\n {\n id: 'search',\n name: 'Search',\n emojis: this.searchEmojis,\n },\n ]\n }\n return this._categories.filter((category) => {\n let hasEmojis = category.emojis.length > 0\n return hasEmojis\n })\n }\n\n get previewEmojiCategory() {\n if (this.previewEmojiCategoryIdx >= 0) {\n return this.filteredCategories[this.previewEmojiCategoryIdx]\n }\n return null\n }\n\n onAnchorClick(category) {\n if (this.searchEmojis) {\n // No categories are shown when search is active.\n return\n }\n let i = this.filteredCategories.indexOf(category)\n let component = this._vm.getCategoryComponent(i)\n let scrollToComponent = () => {\n if (component) {\n let top = component.$el.offsetTop\n if (category.first) {\n top = 0\n }\n this._vm.$refs.scroll.scrollTop = top\n }\n }\n if (this._vm.infiniteScroll) {\n scrollToComponent()\n } else {\n this.activeCategory = this.filteredCategories[i]\n }\n }\n\n onSearch(value) {\n let emojis = this._data.search(value, this.maxSearchResults)\n this.searchEmojis = emojis\n\n this.previewEmojiCategoryIdx = 0\n this.previewEmojiIdx = 0\n this.updatePreviewEmoji()\n }\n\n onEmojiEnter(emoji) {\n this.previewEmoji = emoji\n this.previewEmojiIdx = -1\n this.previewEmojiCategoryIdx = -1\n }\n\n onEmojiLeave(emoji) {\n this.previewEmoji = null\n }\n\n onArrowLeft() {\n // Moving left, decrease emoji index.\n if (this.previewEmojiIdx > 0) {\n this.previewEmojiIdx -= 1\n } else {\n // If emoji index is zero, go to the previous category.\n this.previewEmojiCategoryIdx -= 1\n if (this.previewEmojiCategoryIdx < 0) {\n // If we reached first category, keep it.\n this.previewEmojiCategoryIdx = 0\n } else {\n // Update emoji index - we moved to the previous category,\n // get the last emoji in it.\n this.previewEmojiIdx =\n this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length -\n 1\n }\n }\n this.updatePreviewEmoji()\n }\n\n onArrowRight() {\n if (\n this.previewEmojiIdx <\n this.emojisLength(this.previewEmojiCategoryIdx) - 1\n ) {\n // Moving right within category, increase emoji index.\n this.previewEmojiIdx += 1\n } else {\n // Go to the next category.\n this.previewEmojiCategoryIdx += 1\n if (this.previewEmojiCategoryIdx >= this.filteredCategories.length) {\n // If we reached the last category - keep it.\n this.previewEmojiCategoryIdx = this.filteredCategories.length - 1\n } else {\n // If we moved to the next category, update emoji index to the\n // first emoji in the new category.\n this.previewEmojiIdx = 0\n }\n }\n this.updatePreviewEmoji()\n }\n\n onArrowDown() {\n // If we are out of the emoji control (index is -1), select the first\n // emoji in the first category by calling `onArrowRight`.\n if (this.previewEmojiIdx == -1) {\n return this.onArrowRight()\n }\n\n const categoryLength =\n this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length\n\n // When moving down, we can move `_perLine` icons right to\n // jump to the same position in the next row.\n let diff = this._perLine\n\n // TODO: previewCategory should match activeCategory\n // (so it would be both highlighted in UI and used\n // when we start moving with arrows after clicking\n // the category).\n\n // Note: probably we can alwasy take current row length\n // as a `diff` - it will fit both case of any row and\n // special case of the last row.\n // Note: it can be also easier to update indexes\n // directly here instead of calling onArrowRight.\n // Same is true for `onArrowUp`.\n\n // Unless if we are on the last row of the category and\n // there are less then `_perLine` emojis in it.\n // In this case we use the last row length as diff\n // so we go straight down, for example:\n //\n // 1 2 3 4 5 6\n // 7 8 9\n // A B C D E F\n //\n // If we go down from `8`, we need to move 3 emojis right\n // to lend at `B` (and 3 is the length of the last row of\n // this category).\n // And if we used 6 instead (row length, `_perLine`), we would\n // lend up at `E`.\n if (this.previewEmojiIdx + diff > categoryLength) {\n // Calculate the last row length.\n diff = categoryLength % this._perLine\n }\n for (let i = 0; i < diff; i++) {\n this.onArrowRight()\n }\n this.updatePreviewEmoji()\n }\n\n onArrowUp() {\n // Similar to `onArrowDown`, to move up we can move left\n // by `_perLine` number of emojis.\n let diff = this._perLine\n\n if (this.previewEmojiIdx - diff < 0) {\n if (this.previewEmojiCategoryIdx > 0) {\n // Unless if we are on the first line of the category and\n // the last line in the previous category is shorter than\n // `_perLine`.\n // In this case we use the last row length as diff, so\n // we go straight up, for example:\n //\n // 1 2 3 4 5\n // 6 7 8\n // 9 A B C D\n //\n // If we go up from `A`, we need to move 3 emojis left to get\n // to `7` (and 3 is the length of the last row of the previous\n // category).\n const prevCategoryLastRowLength =\n this.filteredCategories[this.previewEmojiCategoryIdx - 1].emojis\n .length % this._perLine\n // diff = this.previewEmojiIdx + prevCategoryLastRowLength\n diff = prevCategoryLastRowLength\n } else {\n diff = 0\n }\n }\n for (let i = 0; i < diff; i++) {\n this.onArrowLeft()\n }\n this.updatePreviewEmoji()\n }\n\n updatePreviewEmoji() {\n this.previewEmoji =\n this.filteredCategories[this.previewEmojiCategoryIdx].emojis[\n this.previewEmojiIdx\n ]\n\n this._vm.$nextTick(() => {\n // Scroll the view if the `previewEmoji` goes out of the visible area.\n const scrollEl = this._vm.$refs.scroll\n\n // Note: it would be more Vue-ish to mark all emojis with `ref`s\n // and then do something similar here to what we do in the\n // `getCategories` instead of using `querySelector` directly,\n // but I am not sure if having many refs would affect the performance\n // (it might, so I use `querySelector` for now).\n const emojiEl = scrollEl.querySelector('.emoji-mart-emoji-selected')\n\n const scrollHeight = scrollEl.offsetTop - scrollEl.offsetHeight\n if (\n emojiEl &&\n emojiEl.offsetTop + emojiEl.offsetHeight >\n scrollHeight + scrollEl.scrollTop\n ) {\n scrollEl.scrollTop += emojiEl.offsetHeight\n }\n if (emojiEl && emojiEl.offsetTop < scrollEl.scrollTop) {\n scrollEl.scrollTop -= emojiEl.offsetHeight\n }\n })\n }\n\n emojisLength(categoryIdx) {\n if (categoryIdx == -1) {\n return 0\n }\n return this.filteredCategories[categoryIdx].emojis.length\n }\n}\n","\n\n\n","const name = 'VueColor';\n// 自定义组件前缀\nconst prefix = '';\nconst cssPrefix = '';\nconst size = 'medium';\n\nexport { cssPrefix, name, prefix, size };\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport { styleInject as s };\n","import { prefix } from '../defaultConfig.js';\n\nconst install = function (app, options) {\n const { componentPrefix = prefix } = options || {};\n app.component(`${componentPrefix}${this.name}`, this);\n};\n\nexport { install };\n","import { openBlock, createElementBlock, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nconst _checkboardCache = {};\n\nvar script = {\n name: 'Checkboard',\n props: {\n size: {\n type: [Number, String],\n default: 8,\n },\n white: {\n type: String,\n default: '#fff',\n },\n grey: {\n type: String,\n default: '#e6e6e6',\n },\n },\n computed: {\n bgStyle() {\n return {\n 'background-image': `url(${getCheckboard(this.white, this.grey, this.size)})`,\n };\n },\n },\n};\n\n/**\n * get base 64 data by canvas\n *\n * @param {String} c1 hex color\n * @param {String} c2 hex color\n * @param {Number} size\n */\n\nfunction renderCheckboard(c1, c2, size) {\n // Dont Render On Server\n if (typeof document === 'undefined')\n return null;\n\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = size * 2;\n const ctx = canvas.getContext('2d');\n // If no context can be found, return early.\n if (!ctx)\n return null;\n\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n}\n\n/**\n * get checkboard base data and cache\n *\n * @param {String} c1 hex color\n * @param {String} c2 hex color\n * @param {Number} size\n */\n\nfunction getCheckboard(c1, c2, size) {\n const key = `${c1},${c2},${size}`;\n\n if (_checkboardCache[key])\n return _checkboardCache[key];\n\n const checkboard = renderCheckboard(c1, c2, size);\n _checkboardCache[key] = checkboard;\n return checkboard;\n}\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n class: \"vc-checkerboard\",\n style: normalizeStyle($options.bgStyle)\n }, null, 4 /* STYLE */))\n}\n\nvar css_248z = \".vc-checkerboard{background-size:contain;bottom:0;left:0;position:absolute;right:0;top:0}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/checkboard/checkboard.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import script$1 from '../checkboard/index.js';\nimport { resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Alpha',\n components: {\n Checkboard: script$1,\n },\n props: {\n value: Object,\n onChange: Function,\n },\n computed: {\n colors() {\n return this.value;\n },\n gradientColor() {\n const { rgba } = this.colors;\n const rgbStr = [rgba.r, rgba.g, rgba.b].join(',');\n return `linear-gradient(to right, rgba(${rgbStr}, 0) 0%, rgba(${rgbStr}, 1) 100%)`;\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const left = pageX - xOffset;\n\n let a;\n if (left < 0)\n a = 0;\n else if (left > containerWidth)\n a = 1;\n else\n a = Math.round(left * 100 / containerWidth) / 100;\n\n if (this.colors.a !== a) {\n this.$emit('change', {\n h: this.colors.hsl.h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a,\n source: 'rgba',\n });\n }\n },\n handleMouseDown(e) {\n this.handleChange(e, true);\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp() {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = { class: \"vc-alpha\" };\nconst _hoisted_2 = { class: \"vc-alpha-checkboard-wrap\" };\nconst _hoisted_3 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-alpha-picker\" }, null, -1 /* HOISTED */);\nconst _hoisted_4 = [\n _hoisted_3\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Checkboard = resolveComponent(\"Checkboard\");\n\n return (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, [\n createVNode(_component_Checkboard)\n ]),\n createElementVNode(\"div\", {\n class: \"vc-alpha-gradient\",\n style: normalizeStyle({ background: $options.gradientColor })\n }, null, 4 /* STYLE */),\n createElementVNode(\"div\", {\n ref: \"container\",\n class: \"vc-alpha-container\",\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n createElementVNode(\"div\", {\n class: \"vc-alpha-pointer\",\n style: normalizeStyle({ left: `${$options.colors.a * 100}%` })\n }, _hoisted_4, 4 /* STYLE */)\n ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)\n ]))\n}\n\nvar css_248z = \".vc-alpha,.vc-alpha-checkboard-wrap{bottom:0;left:0;position:absolute;right:0;top:0}.vc-alpha-checkboard-wrap{overflow:hidden}.vc-alpha-gradient{bottom:0;left:0;position:absolute;right:0;top:0}.vc-alpha-container{cursor:pointer;height:100%;margin:0 3px;position:relative;z-index:2}.vc-alpha-pointer{position:absolute;z-index:2}.vc-alpha-picker{background:#fff;border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);cursor:pointer;height:8px;margin-top:1px;transform:translateX(-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/alpha/alpha.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { TinyColor } from '@ctrl/tinycolor';\n\nfunction tinycolor(...args) {\n return new TinyColor(...args);\n}\n\nfunction _colorChange(data, oldHue) {\n const alpha = data && data.a;\n let color;\n\n // hsl is better than hex between conversions\n if (data && data.hsl)\n color = tinycolor(data.hsl);\n else if (data && data.hex && data.hex.length > 0)\n color = tinycolor(data.hex);\n else if (data && data.hsv)\n color = tinycolor(data.hsv);\n else if (data && data.rgba)\n color = tinycolor(data.rgba);\n else if (data && data.rgb)\n color = tinycolor(data.rgb);\n else\n color = tinycolor(data);\n\n if (color && (color._a === undefined || color._a === null))\n color.setAlpha(alpha || color.getAlpha());\n\n const hsl = color.toHsl();\n const hsv = color.toHsv();\n\n if (hsl.s === 0)\n hsv.h = hsl.h = data.h || (data.hsl && data.hsl.h) || oldHue || 0;\n\n /* --- comment this block to fix #109, may cause #25 again --- */\n // when the hsv.v is less than 0.0164 (base on test)\n // because of possible loss of precision\n // the result of hue and saturation would be miscalculated\n if (hsv.v < 0.0164) {\n hsv.h = data.h || (data.hsv && data.hsv.h) || 0;\n hsv.s = data.s || (data.hsv && data.hsv.s) || 0;\n }\n\n if (hsl.l < 0.01) {\n hsl.h = data.h || (data.hsl && data.hsl.h) || 0;\n hsl.s = data.s || (data.hsl && data.hsl.s) || 0;\n }\n /* ------ */\n\n return {\n hsl,\n hex: color.toHexString().toUpperCase(),\n hex8: color.toHex8String().toUpperCase(),\n rgba: color.toRgb(),\n hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source,\n a: color.getAlpha(),\n };\n}\n\nvar colorMixin = {\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: ['modelValue'],\n data() {\n return {\n val: _colorChange(this.modelValue),\n };\n },\n computed: {\n colors: {\n get() {\n return this.val;\n },\n set(newVal) {\n this.val = newVal;\n this.$emit('update:modelValue', newVal);\n },\n },\n },\n watch: {\n modelValue(newVal) {\n this.val = _colorChange(newVal);\n },\n },\n methods: {\n colorChange(data, oldHue) {\n this.oldHue = this.colors.hsl.h;\n this.colors = _colorChange(data, oldHue || this.oldHue);\n },\n isValidHex(hex) {\n return tinycolor(hex).isValid;\n },\n simpleCheckForValidColor(data) {\n const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n let checked = 0;\n let passed = 0;\n\n for (let i = 0; i < keysToCheck.length; i++) {\n const letter = keysToCheck[i];\n if (data[letter]) {\n checked++;\n if (!isNaN(data[letter]))\n passed++;\n }\n }\n\n if (checked === passed)\n return data;\n },\n paletteUpperCase(palette) {\n return palette.map(c => c.toUpperCase());\n },\n isTransparent(color) {\n return tinycolor(color).getAlpha() === 0;\n },\n },\n};\n\nexport { colorMixin as default };\n","import { openBlock, createElementBlock, withDirectives, createElementVNode, vModelText, toDisplayString } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'EditableInput',\n props: {\n label: String,\n labelText: String,\n desc: String,\n value: [String, Number],\n max: Number,\n min: Number,\n arrowOffset: {\n type: Number,\n default: 1,\n },\n },\n computed: {\n val: {\n get() {\n return this.value;\n },\n set(v) {\n // TODO: min\n if (!(this.max === undefined) && +v > this.max)\n this.$refs.input.value = this.max;\n else\n return v;\n },\n },\n labelId() {\n return `input__label__${this.label}__${Math.random().toString().slice(2, 5)}`;\n },\n labelSpanText() {\n return this.labelText || this.label;\n },\n },\n methods: {\n update(e) {\n this.handleChange(e.target.value);\n },\n handleChange(newVal) {\n const data = {};\n data[this.label] = newVal;\n if (data.hex === undefined && data['#'] === undefined)\n this.$emit('change', data);\n else if (newVal.length > 5)\n this.$emit('change', data);\n },\n // **** unused\n // handleBlur (e) {\n // console.log(e)\n // },\n handleKeyDown(e) {\n let { val } = this;\n const number = Number(val);\n\n if (number) {\n const amount = this.arrowOffset || 1;\n\n // Up\n if (e.keyCode === 38) {\n val = number + amount;\n this.handleChange(val);\n e.preventDefault();\n }\n\n // Down\n if (e.keyCode === 40) {\n val = number - amount;\n this.handleChange(val);\n e.preventDefault();\n }\n }\n },\n // **** unused\n // handleDrag (e) {\n // console.log(e)\n // },\n // handleMouseDown (e) {\n // console.log(e)\n // }\n },\n};\n\nconst _hoisted_1 = { class: \"vc-editable-input\" };\nconst _hoisted_2 = [\"aria-labelledby\"];\nconst _hoisted_3 = [\"id\", \"for\"];\nconst _hoisted_4 = { class: \"vc-input__desc\" };\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => (($options.val) = $event)),\n \"aria-labelledby\": $options.labelId,\n class: \"vc-input__input\",\n onKeydown: _cache[1] || (_cache[1] = (...args) => ($options.handleKeyDown && $options.handleKeyDown(...args))),\n onInput: _cache[2] || (_cache[2] = (...args) => ($options.update && $options.update(...args)))\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_2), [\n [vModelText, $options.val]\n ]),\n createElementVNode(\"span\", {\n id: $options.labelId,\n for: $props.label,\n class: \"vc-input__label\"\n }, toDisplayString($options.labelSpanText), 9 /* TEXT, PROPS */, _hoisted_3),\n createElementVNode(\"span\", _hoisted_4, toDisplayString($props.desc), 1 /* TEXT */)\n ]))\n}\n\nvar css_248z = \".vc-editable-input{position:relative}.vc-input__input{border:0;outline:none;padding:0}.vc-input__label{text-transform:capitalize}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/editable-input/editable-input.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","function clamp(value, min, max) {\n return min < max\n ? (value < min ? min : value > max ? max : value)\n : (value < max ? max : value > min ? min : value);\n}\n\nexport { clamp };\n","import { clamp } from '../../utils/utils.js';\nimport { openBlock, createElementBlock, normalizeStyle, createElementVNode } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Saturation',\n props: {\n value: Object,\n },\n computed: {\n colors() {\n return this.value;\n },\n bgColor() {\n return `hsl(${this.colors.hsv.h}, 100%, 50%)`;\n },\n pointerTop() {\n return `${(-(this.colors.hsv.v * 100) + 1) + 100}%`;\n },\n pointerLeft() {\n return `${this.colors.hsv.s * 100}%`;\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);\n const left = clamp(pageX - xOffset, 0, containerWidth);\n const top = clamp(pageY - yOffset, 0, containerHeight);\n const saturation = left / containerWidth;\n const bright = clamp(-(top / containerHeight) + 1, 0, 1);\n\n this.onChange({\n h: this.colors.hsv.h,\n s: saturation,\n v: bright,\n a: this.colors.hsv.a,\n source: 'hsva',\n });\n },\n onChange(param) {\n this.$emit('change', param);\n },\n handleMouseDown(e) {\n // this.handleChange(e, true)\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp(e) {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation--white\" }, null, -1 /* HOISTED */);\nconst _hoisted_2 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation--black\" }, null, -1 /* HOISTED */);\nconst _hoisted_3 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation-circle\" }, null, -1 /* HOISTED */);\nconst _hoisted_4 = [\n _hoisted_3\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n ref: \"container\",\n class: \"vc-saturation\",\n style: normalizeStyle({ background: $options.bgColor }),\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n _hoisted_1,\n _hoisted_2,\n createElementVNode(\"div\", {\n class: \"vc-saturation-pointer\",\n style: normalizeStyle({ top: $options.pointerTop, left: $options.pointerLeft })\n }, _hoisted_4, 4 /* STYLE */)\n ], 36 /* STYLE, HYDRATE_EVENTS */))\n}\n\nvar css_248z = \".vc-saturation,.vc-saturation--black,.vc-saturation--white{bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.vc-saturation--white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vc-saturation--black{background:linear-gradient(0deg,#000,transparent)}.vc-saturation-pointer{cursor:pointer;position:absolute}.vc-saturation-circle{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/saturation/saturation.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import { openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Hue',\n props: {\n value: Object,\n direction: {\n type: String,\n // [horizontal | vertical]\n default: 'horizontal',\n },\n },\n data() {\n return {\n oldHue: 0,\n pullDirection: '',\n };\n },\n computed: {\n colors() {\n return this.value;\n },\n directionClass() {\n return {\n 'vc-hue--horizontal': this.direction === 'horizontal',\n 'vc-hue--vertical': this.direction === 'vertical',\n };\n },\n pointerTop() {\n if (this.direction === 'vertical') {\n if (this.colors.hsl.h === 0 && this.pullDirection === 'right')\n return 0;\n return `${-((this.colors.hsl.h * 100) / 360) + 100}%`;\n }\n return 0;\n },\n pointerLeft() {\n if (this.direction === 'vertical')\n return 0;\n\n if (this.colors.hsl.h === 0 && this.pullDirection === 'right')\n return '100%';\n return `${(this.colors.hsl.h * 100) / 360}%`;\n },\n },\n watch: {\n value: {\n handler(value, oldVal) {\n const { h } = value.hsl;\n if (h !== 0 && h - this.oldHue > 0)\n this.pullDirection = 'right';\n if (h !== 0 && h - this.oldHue < 0)\n this.pullDirection = 'left';\n this.oldHue = h;\n },\n deep: true,\n immediate: true,\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);\n const left = pageX - xOffset;\n const top = pageY - yOffset;\n\n let h;\n let percent;\n\n if (this.direction === 'vertical') {\n if (top < 0) {\n h = 360;\n }\n else if (top > containerHeight) {\n h = 0;\n }\n else {\n percent = -(top * 100 / containerHeight) + 100;\n h = (360 * percent / 100);\n }\n\n if (this.colors.hsl.h !== h) {\n this.$emit('change', {\n h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a: this.colors.hsl.a,\n source: 'hsl',\n });\n }\n }\n else {\n if (left < 0) {\n h = 0;\n }\n else if (left > containerWidth) {\n h = 360;\n }\n else {\n percent = left * 100 / containerWidth;\n h = (360 * percent / 100);\n }\n\n if (this.colors.hsl.h !== h) {\n this.$emit('change', {\n h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a: this.colors.hsl.a,\n source: 'hsl',\n });\n }\n }\n },\n handleMouseDown(e) {\n this.handleChange(e, true);\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp(e) {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = [\"aria-valuenow\"];\nconst _hoisted_2 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-hue-picker\" }, null, -1 /* HOISTED */);\nconst _hoisted_3 = [\n _hoisted_2\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vc-hue\", [$options.directionClass]])\n }, [\n createElementVNode(\"div\", {\n ref: \"container\",\n class: \"vc-hue-container\",\n role: \"slider\",\n \"aria-valuenow\": $options.colors.hsl.h,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"360\",\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n createElementVNode(\"div\", {\n class: \"vc-hue-pointer\",\n style: normalizeStyle({ top: $options.pointerTop, left: $options.pointerLeft }),\n role: \"presentation\"\n }, _hoisted_3, 4 /* STYLE */)\n ], 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1)\n ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-hue{border-radius:2px;bottom:0;left:0;position:absolute;right:0;top:0}.vc-hue--horizontal{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue--vertical{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue-container{cursor:pointer;height:100%;margin:0 2px;position:relative}.vc-hue-pointer{position:absolute;z-index:2}.vc-hue-picker{background:#fff;border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);cursor:pointer;height:8px;margin-top:1px;transform:translateX(-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/hue/hue.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import colorMixin from '../../mixin/color.js';\nimport script$4 from '../editable-input/index.js';\nimport script$1 from '../saturation/index.js';\nimport script$2 from '../hue/index.js';\nimport script$3 from '../alpha/index.js';\nimport script$5 from '../checkboard/index.js';\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, normalizeStyle, createBlock, createCommentVNode, withDirectives, vShow } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '@ctrl/tinycolor';\nimport '../../utils/utils.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Chrome',\n components: {\n Saturation: script$1,\n Hue: script$2,\n Alpha: script$3,\n EdIn: script$4,\n Checkboard: script$5,\n },\n mixins: [colorMixin],\n props: {\n disableAlpha: {\n type: Boolean,\n default: false,\n },\n disableFields: {\n type: Boolean,\n default: false,\n },\n format: {\n type: String,\n default: 'hex',\n },\n },\n data() {\n return {\n fieldsIndex: 'hex',\n highlight: false,\n };\n },\n computed: {\n hsl() {\n const { h, s, l } = this.colors.hsl;\n return {\n h: h.toFixed(),\n s: `${(s * 100).toFixed()}%`,\n l: `${(l * 100).toFixed()}%`,\n };\n },\n activeColor() {\n const { rgba } = this.colors;\n return `rgba(${[rgba.r, rgba.g, rgba.b, rgba.a].join(',')})`;\n },\n hasAlpha() {\n return this.colors.a < 1;\n },\n },\n watch: {\n format: {\n handler(val) {\n this.fieldsIndex = val;\n },\n immediate: true,\n },\n },\n methods: {\n childChange(data) {\n this.colorChange(data);\n },\n inputChange(data) {\n if (!data)\n return;\n\n if (data.hex) {\n this.isValidHex(data.hex) && this.colorChange({\n hex: data.hex,\n source: 'hex',\n });\n }\n else if (data.r || data.g || data.b || data.a) {\n this.colorChange({\n r: data.r || this.colors.rgba.r,\n g: data.g || this.colors.rgba.g,\n b: data.b || this.colors.rgba.b,\n a: data.a || this.colors.rgba.a,\n source: 'rgba',\n });\n }\n else if (data.h || data.s || data.l) {\n const s = data.s ? (data.s.replace('%', '') / 100) : this.colors.hsl.s;\n const l = data.l ? (data.l.replace('%', '') / 100) : this.colors.hsl.l;\n\n this.colorChange({\n h: data.h || this.colors.hsl.h,\n s,\n l,\n source: 'hsl',\n });\n }\n },\n toggleViews() {\n switch (this.fieldsIndex) {\n case 'hex':\n this.fieldsIndex = `rgb${this.disableAlpha ? '' : 'a'}`;\n break;\n case 'rgb':\n case 'rgba':\n this.fieldsIndex = `hsl${this.disableAlpha ? '' : 'a'}`;\n break;\n default:\n this.fieldsIndex = 'hex';\n break;\n }\n this.$emit('update:format', this.fieldsIndex);\n },\n showHighlight() {\n this.highlight = true;\n },\n hideHighlight() {\n this.highlight = false;\n },\n },\n};\n\nconst _hoisted_1 = { class: \"vc-chrome-saturation-wrap\" };\nconst _hoisted_2 = { class: \"vc-chrome-body\" };\nconst _hoisted_3 = { class: \"vc-chrome-controls\" };\nconst _hoisted_4 = { class: \"vc-chrome-color-wrap\" };\nconst _hoisted_5 = [\"aria-label\"];\nconst _hoisted_6 = { class: \"vc-chrome-sliders\" };\nconst _hoisted_7 = { class: \"vc-chrome-hue-wrap\" };\nconst _hoisted_8 = {\n key: 0,\n class: \"vc-chrome-alpha-wrap\"\n};\nconst _hoisted_9 = {\n key: 0,\n class: \"vc-chrome-fields-wrap\"\n};\nconst _hoisted_10 = { class: \"vc-chrome-fields\" };\nconst _hoisted_11 = { class: \"vc-chrome-field\" };\nconst _hoisted_12 = { class: \"vc-chrome-fields\" };\nconst _hoisted_13 = { class: \"vc-chrome-field\" };\nconst _hoisted_14 = { class: \"vc-chrome-field\" };\nconst _hoisted_15 = { class: \"vc-chrome-field\" };\nconst _hoisted_16 = {\n key: 0,\n class: \"vc-chrome-field\"\n};\nconst _hoisted_17 = { class: \"vc-chrome-fields\" };\nconst _hoisted_18 = { class: \"vc-chrome-field\" };\nconst _hoisted_19 = { class: \"vc-chrome-field\" };\nconst _hoisted_20 = { class: \"vc-chrome-field\" };\nconst _hoisted_21 = {\n key: 0,\n class: \"vc-chrome-field\"\n};\nconst _hoisted_22 = { class: \"vc-chrome-toggle-icon\" };\nconst _hoisted_23 = /*#__PURE__*/createElementVNode(\"path\", {\n fill: \"#333\",\n d: \"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"\n}, null, -1 /* HOISTED */);\nconst _hoisted_24 = [\n _hoisted_23\n];\nconst _hoisted_25 = { class: \"vc-chrome-toggle-icon-highlight\" };\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Saturation = resolveComponent(\"Saturation\");\n const _component_Checkboard = resolveComponent(\"Checkboard\");\n const _component_Hue = resolveComponent(\"Hue\");\n const _component_Alpha = resolveComponent(\"Alpha\");\n const _component_EdIn = resolveComponent(\"EdIn\");\n\n return (openBlock(), createElementBlock(\"div\", {\n role: \"application\",\n \"aria-label\": \"Chrome color picker\",\n class: normalizeClass([\"vc-chrome\", [$props.disableAlpha ? 'vc-chrome__disable-alpha' : '']])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createVNode(_component_Saturation, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n createElementVNode(\"div\", {\n \"aria-label\": `current color is ${_ctx.colors.hex}`,\n class: \"vc-chrome-active-color\",\n style: normalizeStyle({ background: $options.activeColor })\n }, null, 12 /* STYLE, PROPS */, _hoisted_5),\n (!$props.disableAlpha)\n ? (openBlock(), createBlock(_component_Checkboard, { key: 0 }))\n : createCommentVNode(\"v-if\", true)\n ]),\n createElementVNode(\"div\", _hoisted_6, [\n createElementVNode(\"div\", _hoisted_7, [\n createVNode(_component_Hue, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_8, [\n createVNode(_component_Alpha, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ])\n ]),\n (!$props.disableFields)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_9, [\n withDirectives(createElementVNode(\"div\", _hoisted_10, [\n createCommentVNode(\" hex \"),\n createElementVNode(\"div\", _hoisted_11, [\n (!$options.hasAlpha)\n ? (openBlock(), createBlock(_component_EdIn, {\n key: 0,\n label: \"hex\",\n value: _ctx.colors.hex,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"]))\n : createCommentVNode(\"v-if\", true),\n ($options.hasAlpha)\n ? (openBlock(), createBlock(_component_EdIn, {\n key: 1,\n label: \"hex\",\n value: _ctx.colors.hex8,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"]))\n : createCommentVNode(\"v-if\", true)\n ])\n ], 512 /* NEED_PATCH */), [\n [vShow, $data.fieldsIndex === 'hex']\n ]),\n withDirectives(createElementVNode(\"div\", _hoisted_12, [\n createCommentVNode(\" rgba \"),\n createElementVNode(\"div\", _hoisted_13, [\n createVNode(_component_EdIn, {\n label: \"r\",\n value: _ctx.colors.rgba.r,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_14, [\n createVNode(_component_EdIn, {\n label: \"g\",\n value: _ctx.colors.rgba.g,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_15, [\n createVNode(_component_EdIn, {\n label: \"b\",\n value: _ctx.colors.rgba.b,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_16, [\n createVNode(_component_EdIn, {\n label: \"a\",\n value: _ctx.colors.a,\n \"arrow-offset\": 0.01,\n max: 1,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"arrow-offset\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ], 512 /* NEED_PATCH */), [\n [vShow, ['rgb', 'rgba'].includes($data.fieldsIndex)]\n ]),\n withDirectives(createElementVNode(\"div\", _hoisted_17, [\n createCommentVNode(\" hsla \"),\n createElementVNode(\"div\", _hoisted_18, [\n createVNode(_component_EdIn, {\n label: \"h\",\n value: $options.hsl.h,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_19, [\n createVNode(_component_EdIn, {\n label: \"s\",\n value: $options.hsl.s,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_20, [\n createVNode(_component_EdIn, {\n label: \"l\",\n value: $options.hsl.l,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_21, [\n createVNode(_component_EdIn, {\n label: \"a\",\n value: _ctx.colors.a,\n \"arrow-offset\": 0.01,\n max: 1,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"arrow-offset\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ], 512 /* NEED_PATCH */), [\n [vShow, ['hsl', 'hsla'].includes($data.fieldsIndex)]\n ]),\n createCommentVNode(\" btn \"),\n createElementVNode(\"div\", {\n class: \"vc-chrome-toggle-btn\",\n role: \"button\",\n \"aria-label\": \"Change another color definition\",\n onClick: _cache[3] || (_cache[3] = (...args) => ($options.toggleViews && $options.toggleViews(...args)))\n }, [\n createElementVNode(\"div\", _hoisted_22, [\n (openBlock(), createElementBlock(\"svg\", {\n style: {\"width\":\"24px\",\"height\":\"24px\"},\n viewBox: \"0 0 24 24\",\n onMouseover: _cache[0] || (_cache[0] = (...args) => ($options.showHighlight && $options.showHighlight(...args))),\n onMouseenter: _cache[1] || (_cache[1] = (...args) => ($options.showHighlight && $options.showHighlight(...args))),\n onMouseout: _cache[2] || (_cache[2] = (...args) => ($options.hideHighlight && $options.hideHighlight(...args)))\n }, _hoisted_24, 32 /* HYDRATE_EVENTS */))\n ]),\n withDirectives(createElementVNode(\"div\", _hoisted_25, null, 512 /* NEED_PATCH */), [\n [vShow, $data.highlight]\n ])\n ]),\n createCommentVNode(\" btn \")\n ]))\n : createCommentVNode(\"v-if\", true)\n ])\n ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-chrome{background:#fff;background-color:#fff;border-radius:2px;box-shadow:0 0 2px rgba(0,0,0,.3),0 4px 8px rgba(0,0,0,.3);box-sizing:initial;font-family:Menlo;width:225px}.vc-chrome-controls{display:flex}.vc-chrome-color-wrap{position:relative;width:36px}.vc-chrome-active-color{border-radius:15px;height:30px;overflow:hidden;position:relative;width:30px;z-index:1}.vc-chrome-color-wrap .vc-checkerboard{background-size:auto;border-radius:15px;height:30px;width:30px}.vc-chrome-sliders{flex:1}.vc-chrome-fields-wrap{display:flex;padding-top:16px}.vc-chrome-fields{display:flex;flex:1;margin-left:-6px}.vc-chrome-field{padding-left:6px;width:100%}.vc-chrome-toggle-btn{position:relative;text-align:right;width:32px}.vc-chrome-toggle-icon{cursor:pointer;margin-right:-4px;margin-top:12px;position:relative;z-index:2}.vc-chrome-toggle-icon-highlight{background:#eee;border-radius:4px;height:28px;left:12px;position:absolute;top:10px;width:24px}.vc-chrome-hue-wrap{margin-bottom:8px}.vc-chrome-alpha-wrap,.vc-chrome-hue-wrap{height:10px;position:relative}.vc-chrome-alpha-wrap .vc-alpha-gradient,.vc-chrome-hue-wrap .vc-hue{border-radius:2px}.vc-chrome-alpha-wrap .vc-alpha-picker,.vc-chrome-hue-wrap .vc-hue-picker{background-color:#f8f8f8;border-radius:6px;box-shadow:0 1px 4px 0 rgba(0,0,0,.37);height:12px;transform:translate(-6px,-2px);width:12px}.vc-chrome-body{background-color:#fff;padding:16px 16px 12px}.vc-chrome-saturation-wrap{border-radius:2px 2px 0 0;overflow:hidden;padding-bottom:55%;position:relative;width:100%}.vc-chrome-saturation-wrap .vc-saturation-circle{height:12px;width:12px}.vc-chrome-fields .vc-input__input{border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #dadada;color:#333;font-size:11px;height:21px;text-align:center;width:100%}.vc-chrome-fields .vc-input__label{color:#969696;display:block;font-size:11px;line-height:11px;margin-top:12px;text-align:center;text-transform:uppercase}.vc-chrome__disable-alpha .vc-chrome-active-color{height:18px;width:18px}.vc-chrome__disable-alpha .vc-chrome-color-wrap{width:30px}.vc-chrome__disable-alpha .vc-chrome-hue-wrap{margin-bottom:4px;margin-top:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/chrome/chrome.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import '../assets/NcColorPicker.css';\nimport { defineComponent, useModel, ref, computed, openBlock, createBlock, unref, withCtx, createElementVNode, normalizeClass, createVNode, Transition, createElementBlock, Fragment, renderList, normalizeStyle, createCommentVNode, createTextVNode, toDisplayString, renderSlot, normalizeProps, guardReactiveProps, mergeModels } from \"vue\";\nimport { Chrome } from \"@ckpack/vue-color\";\nimport { d as mdiCheck, u as mdiCloseCircleOutline, v as mdiArrowLeft, w as mdiDotsHorizontal } from \"./mdi.mjs\";\nimport { r as register, x as t1, a as t } from \"./_l10n.mjs\";\nimport { d as defaultPalette, a as COLOR_BLACK, b as COLOR_WHITE } from \"./colors.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { l as logger } from \"./logger.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { N as NcPopover } from \"./NcPopover.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nregister(t1);\nconst _hoisted_1 = [\"aria-label\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"color-picker__simple\"\n};\nconst _hoisted_3 = [\"aria-label\", \"name\", \"checked\", \"onClick\"];\nconst _hoisted_4 = [\"title\"];\nconst _hoisted_5 = [\"aria-label\", \"name\", \"checked\"];\nconst _hoisted_6 = {\n key: 0,\n class: \"color-picker__navigation\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcColorPicker\",\n props: /* @__PURE__ */ mergeModels({\n advancedFields: { type: Boolean },\n clearable: { type: Boolean },\n container: { default: \"body\" },\n palette: { default: () => [] },\n paletteOnly: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {},\n \"open\": { type: Boolean },\n \"openModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"submit\", \"closed\"], [\"update:modelValue\", \"update:open\"]),\n setup(__props, { emit: __emit }) {\n const currentColor = useModel(__props, \"modelValue\");\n const open = useModel(__props, \"open\");\n const props = __props;\n const emit = __emit;\n const HEX_REGEX = /^#([a-f0-9]{3}|[a-f0-9]{6})$/i;\n const id = createElementId();\n const advanced = ref(false);\n const normalizedPalette = computed(() => {\n let palette = props.palette;\n for (const color of palette) {\n if (typeof color === \"string\" && !color.match(HEX_REGEX) || typeof color === \"object\" && !color.color?.match(HEX_REGEX)) {\n logger.error(\"[NcColorPicker] Invalid palette passed\", { color });\n palette = [];\n break;\n }\n }\n if (palette.length === 0) {\n palette = props.clearable ? [...defaultPalette, COLOR_BLACK, COLOR_WHITE] : [...defaultPalette];\n }\n return palette.map((item) => ({\n color: typeof item === \"object\" ? item.color : item,\n name: typeof item === \"object\" && item.name ? item.name : t(\"A color with a HEX value {hex}\", { hex: typeof item === \"string\" ? item : item.color })\n }));\n });\n function handleConfirm(hideCallback) {\n emit(\"submit\", currentColor.value);\n hideCallback();\n advanced.value = false;\n }\n function toggleColor(color) {\n color = typeof color === \"string\" ? color : color.color;\n if (props.clearable && currentColor.value === color) {\n currentColor.value = void 0;\n } else {\n currentColor.value = color;\n }\n }\n function pickCustomColor(color) {\n currentColor.value = color.hex;\n }\n function getContrastColor(color) {\n return calculateLuma(color) > 0.5 ? COLOR_BLACK.color : COLOR_WHITE.color;\n }\n function calculateLuma(color) {\n const [red, green, blue] = hexToRGB(color);\n return (0.2126 * red + 0.7152 * green + 0.0722 * blue) / 255;\n }\n function hexToRGB(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result) {\n return [0, 0, 0];\n }\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)];\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcPopover), {\n shown: open.value,\n \"onUpdate:shown\": _cache[3] || (_cache[3] = ($event) => open.value = $event),\n container: __props.container,\n popupRole: \"dialog\",\n onApplyHide: _cache[4] || (_cache[4] = ($event) => emit(\"closed\"))\n }, {\n trigger: withCtx((slotProps) => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(slotProps)), void 0, true)\n ]),\n default: withCtx((slotProps) => [\n createElementVNode(\"div\", {\n role: \"dialog\",\n class: normalizeClass([\"color-picker\", {\n \"color-picker--advanced-fields\": advanced.value && __props.advancedFields,\n \"color-picker--clearable\": __props.clearable\n }]),\n \"aria-modal\": \"true\",\n \"aria-label\": unref(t)(\"Color picker\")\n }, [\n createVNode(Transition, {\n name: \"slide\",\n mode: \"out-in\"\n }, {\n default: withCtx(() => [\n !advanced.value ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPalette.value, ({ color, name }, index) => {\n return openBlock(), createElementBlock(\"label\", {\n key: index,\n class: normalizeClass([\"color-picker__simple-color-circle\", { \"color-picker__simple-color-circle--active\": color === currentColor.value }]),\n style: normalizeStyle({\n backgroundColor: color,\n color: getContrastColor(color)\n })\n }, [\n color === currentColor.value ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createElementVNode(\"input\", {\n type: \"radio\",\n class: \"hidden-visually\",\n \"aria-label\": name,\n name: `color-picker-${unref(id)}`,\n checked: color === currentColor.value,\n onClick: ($event) => toggleColor(color)\n }, null, 8, _hoisted_3)\n ], 6);\n }), 128)),\n __props.clearable ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"color-picker__clear\",\n title: unref(t)(\"No color\")\n }, [\n createVNode(unref(NcIconSvgWrapper), {\n size: currentColor.value ? 28 : 34,\n path: unref(mdiCloseCircleOutline)\n }, null, 8, [\"size\", \"path\"]),\n createElementVNode(\"input\", {\n type: \"radio\",\n class: \"hidden-visually\",\n \"aria-label\": unref(t)(\"No color\"),\n name: `color-picker-${unref(id)}`,\n checked: !currentColor.value,\n onClick: _cache[0] || (_cache[0] = ($event) => currentColor.value = void 0)\n }, null, 8, _hoisted_5)\n ], 8, _hoisted_4)) : createCommentVNode(\"\", true)\n ])) : (openBlock(), createBlock(unref(Chrome), {\n key: 1,\n class: \"color-picker__advanced\",\n disableAlpha: \"\",\n disableFields: !__props.advancedFields,\n modelValue: currentColor.value ?? \"#000000\",\n \"onUpdate:modelValue\": pickCustomColor\n }, null, 8, [\"disableFields\", \"modelValue\"]))\n ]),\n _: 1\n }),\n !__props.paletteOnly ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n advanced.value ? (openBlock(), createBlock(unref(NcButton), {\n key: 0,\n \"aria-label\": unref(t)(\"Back\"),\n title: unref(t)(\"Back\"),\n variant: \"tertiary\",\n onClick: _cache[1] || (_cache[1] = ($event) => advanced.value = false)\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowLeft)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"])) : (openBlock(), createBlock(unref(NcButton), {\n key: 1,\n \"aria-label\": unref(t)(\"More options\"),\n title: unref(t)(\"More options\"),\n variant: \"tertiary\",\n onClick: _cache[2] || (_cache[2] = ($event) => advanced.value = true)\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), { path: unref(mdiDotsHorizontal) }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"])),\n createVNode(unref(NcButton), {\n variant: \"primary\",\n onClick: ($event) => handleConfirm(slotProps.hide)\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Choose\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1)\n ]),\n _: 3\n }, 8, [\"shown\", \"container\"]);\n };\n }\n});\nconst NcColorPicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-fab7cffe\"]]);\nexport {\n NcColorPicker as N\n};\n//# sourceMappingURL=NcColorPicker.mjs.map\n","import '../assets/NcEmojiPicker.css';\nimport data from \"emoji-mart-vue-fast/data/all.json\";\nimport { Picker, Emoji, EmojiIndex } from \"emoji-mart-vue-fast/src/index.js\";\nimport { isFocusable } from \"tabbable\";\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, resolveComponent, createBlock, withCtx, createVNode, withKeys, withModifiers, createSlots, normalizeStyle, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcColorPicker } from \"./NcColorPicker.mjs\";\nimport { u as useTrapStackControl } from \"./useTrapStackControl.mjs\";\nimport { s as setCurrentSkinTone, g as getCurrentSkinTone } from \"./emoji.mjs\";\nimport { r as register, s as t46, u as t40, v as t17, w as t5, a as t } from \"./_l10n.mjs\";\nimport { C as Color } from \"./colors.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { N as NcPopover } from \"./NcPopover.mjs\";\nimport { _ as _sfc_main$2 } from \"./NcTextField.vue_vue_type_script_setup_true_lang.mjs\";\nconst _sfc_main$1 = {\n name: \"CircleIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon circle-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" }, null, -1))\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst IconCircle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1]]);\nregister(t5, t17, t40, t46);\nlet emojiIndex;\nconst i18n = {\n search: t(\"Search emoji\"),\n notfound: t(\"No emoji found\"),\n categories: {\n search: t(\"Search results\"),\n recent: t(\"Frequently used\"),\n smileys: t(\"Smileys & Emotion\"),\n people: t(\"People & Body\"),\n nature: t(\"Animals & Nature\"),\n foods: t(\"Food & Drink\"),\n activity: t(\"Activities\"),\n places: t(\"Travel & Places\"),\n objects: t(\"Objects\"),\n symbols: t(\"Symbols\"),\n flags: t(\"Flags\"),\n custom: t(\"Custom\")\n }\n};\nconst skinTonePalette = [\n new Color(255, 222, 52, t(\"Neutral skin color\")),\n new Color(228, 205, 166, t(\"Light skin tone\")),\n new Color(250, 221, 192, t(\"Medium light skin tone\")),\n new Color(174, 129, 87, t(\"Medium skin tone\")),\n new Color(158, 113, 88, t(\"Medium dark skin tone\")),\n new Color(96, 79, 69, t(\"Dark skin tone\"))\n];\nconst _sfc_main = {\n name: \"NcEmojiPicker\",\n components: {\n IconCircle,\n NcButton,\n NcColorPicker,\n NcPopover,\n NcTextField: _sfc_main$2,\n Emoji,\n Picker\n },\n props: {\n /**\n * The emoji-set\n */\n activeSet: {\n type: String,\n default: \"native\"\n },\n /**\n * Show preview section when hovering emoji\n */\n showPreview: {\n type: Boolean,\n default: false\n },\n /**\n * Allow unselecting the selected emoji\n */\n allowUnselect: {\n type: Boolean,\n default: false\n },\n /**\n * Selected emoji to allow unselecting\n */\n selectedEmoji: {\n type: String,\n default: \"\"\n },\n /**\n * The fallback emoji in the preview section\n */\n previewFallbackEmoji: {\n type: String,\n default: \"grinning\"\n },\n /**\n * The fallback text in the preview section\n */\n previewFallbackName: {\n type: String,\n default: t(\"Pick an emoji\")\n },\n /**\n * Whether to close the emoji picker after picking one\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Selector for the popover container\n */\n container: {\n type: [Boolean, String, Object, Element],\n default: \"body\"\n }\n },\n emits: [\n \"select\",\n \"selectData\",\n \"unselect\"\n ],\n setup() {\n if (!emojiIndex) {\n emojiIndex = new EmojiIndex(data);\n }\n return {\n // Non-reactive constants\n emojiIndex,\n skinTonePalette,\n i18n\n };\n },\n data() {\n const currentSkinTone = getCurrentSkinTone();\n return {\n /**\n * The current active color from the skin tone palette\n */\n currentColor: skinTonePalette[currentSkinTone - 1],\n /**\n * The current active skin tone\n *\n * @type {1|2|3|4|5|6}\n */\n currentSkinTone,\n search: \"\",\n open: false\n };\n },\n computed: {\n native() {\n return this.activeSet === \"native\";\n }\n },\n created() {\n useTrapStackControl(() => this.open);\n },\n methods: {\n t,\n clearSearch() {\n this.search = \"\";\n this.$refs.search.focus();\n },\n /**\n * Update the current skin tone by the result of the color picker\n *\n * @param {string} color Color set\n */\n onChangeSkinTone(color) {\n const index = this.skinTonePalette.findIndex((tone) => tone.color.toLowerCase() === color.toLowerCase());\n if (index > -1) {\n this.currentSkinTone = index + 1;\n this.currentColor = this.skinTonePalette[index];\n setCurrentSkinTone(this.currentSkinTone);\n }\n },\n select(emojiObject) {\n this.$emit(\"select\", emojiObject.native);\n this.$emit(\"selectData\", emojiObject);\n if (this.closeOnSelect) {\n this.open = false;\n }\n },\n unselect() {\n this.$emit(\"unselect\");\n },\n afterShow() {\n this.$refs.search.focus();\n },\n afterHide() {\n if (!document.activeElement || this.$refs.picker.$el.contains(document.activeElement) || !isFocusable(document.activeElement)) {\n this.$refs.popover.$el.querySelector('button, [role=\"button\"]')?.focus();\n }\n },\n /**\n * Manually handle Tab navigation skipping emoji buttons.\n * Navigation over emojis is handled by Arrow keys.\n *\n * @param {KeyboardEvent} event - Keyboard event\n */\n handleTabNavigationSkippingEmojis(event) {\n const current = event.target;\n const focusable = Array.from(this.$refs.picker.$el.querySelectorAll(\"button:not(.emoji-mart-emoji), input\"));\n if (!event.shiftKey) {\n const nextNode = focusable.find((node) => current.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_FOLLOWING) || focusable[0];\n nextNode.focus();\n } else {\n const prevNode = focusable.findLast((node) => current.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_PRECEDING) || focusable.at(-1);\n prevNode.focus();\n }\n },\n /**\n * Handle arrow navigation via 's handlers with scroll bug fix\n *\n * @param {'onArrowLeft' | 'onArrowRight' | 'onArrowDown' | 'onArrowUp'} originalHandlerName - Picker's arrow keydown handler name\n * @param {KeyboardEvent} event - Keyboard event\n */\n async callPickerArrowHandlerWithScrollFix(originalHandlerName, event) {\n this.$refs.picker[originalHandlerName](event);\n await this.$nextTick();\n const selectedEmoji = this.$refs.picker.$el.querySelector(\".emoji-mart-emoji-selected\");\n selectedEmoji?.scrollIntoView({\n block: \"center\",\n inline: \"center\"\n });\n }\n }\n};\nconst _hoisted_1 = { class: \"nc-emoji-picker-container\" };\nconst _hoisted_2 = { class: \"search__wrapper\" };\nconst _hoisted_3 = { class: \"emoji-mart-category-label\" };\nconst _hoisted_4 = { class: \"emoji-mart-category-label\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcTextField = resolveComponent(\"NcTextField\");\n const _component_IconCircle = resolveComponent(\"IconCircle\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcColorPicker = resolveComponent(\"NcColorPicker\");\n const _component_Emoji = resolveComponent(\"Emoji\");\n const _component_Picker = resolveComponent(\"Picker\");\n const _component_NcPopover = resolveComponent(\"NcPopover\");\n return openBlock(), createBlock(_component_NcPopover, {\n ref: \"popover\",\n shown: $data.open,\n \"onUpdate:shown\": _cache[6] || (_cache[6] = ($event) => $data.open = $event),\n container: $props.container,\n popupRole: \"dialog\",\n noFocusTrap: true,\n onAfterShow: $options.afterShow,\n onAfterHide: $options.afterHide\n }, {\n trigger: withCtx((slotProps) => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(slotProps)), void 0, true)\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n createVNode(_component_Picker, mergeProps({\n ref: \"picker\",\n color: \"var(--color-primary-element)\",\n data: $setup.emojiIndex,\n emoji: $props.previewFallbackEmoji,\n i18n: $setup.i18n,\n native: $options.native,\n emojiSize: 20,\n perLine: 8,\n pickerStyles: { width: \"320px\" },\n showPreview: $props.showPreview,\n skin: $data.currentSkinTone,\n showSkinTones: false,\n title: $props.previewFallbackName,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-label\": $options.t(\"Emoji picker\")\n }, _ctx.$attrs, {\n onKeydown: withKeys(withModifiers($options.handleTabNavigationSkippingEmojis, [\"prevent\"]), [\"tab\"]),\n onSelect: $options.select\n }), createSlots({\n searchTemplate: withCtx(({ onSearch }) => [\n createElementVNode(\"div\", _hoisted_2, [\n createVNode(_component_NcTextField, {\n ref: \"search\",\n modelValue: $data.search,\n \"onUpdate:modelValue\": [\n _cache[0] || (_cache[0] = ($event) => $data.search = $event),\n ($event) => onSearch($data.search)\n ],\n class: \"search\",\n label: $options.t(\"Search\"),\n labelVisible: true,\n placeholder: $setup.i18n.search,\n trailingButtonIcon: \"close\",\n trailingButtonLabel: $options.t(\"Clear search\"),\n showTrailingButton: $data.search !== \"\",\n onKeydown: [\n _cache[1] || (_cache[1] = withKeys(($event) => $options.callPickerArrowHandlerWithScrollFix(\"onArrowLeft\", $event), [\"left\"])),\n _cache[2] || (_cache[2] = withKeys(($event) => $options.callPickerArrowHandlerWithScrollFix(\"onArrowRight\", $event), [\"right\"])),\n _cache[3] || (_cache[3] = withKeys(($event) => $options.callPickerArrowHandlerWithScrollFix(\"onArrowDown\", $event), [\"down\"])),\n _cache[4] || (_cache[4] = withKeys(($event) => $options.callPickerArrowHandlerWithScrollFix(\"onArrowUp\", $event), [\"up\"])),\n _cache[5] || (_cache[5] = withKeys(($event) => _ctx.$refs.picker.onEnter($event), [\"enter\"]))\n ],\n onTrailingButtonClick: ($event) => {\n $options.clearSearch();\n onSearch(\"\");\n }\n }, null, 8, [\"modelValue\", \"label\", \"placeholder\", \"trailingButtonLabel\", \"showTrailingButton\", \"onTrailingButtonClick\", \"onUpdate:modelValue\"]),\n createVNode(_component_NcColorPicker, {\n paletteOnly: \"\",\n container: $props.container,\n palette: $setup.skinTonePalette,\n modelValue: $data.currentColor.color,\n \"onUpdate:modelValue\": $options.onChangeSkinTone\n }, {\n default: withCtx(() => [\n createVNode(_component_NcButton, {\n \"aria-label\": $options.t(\"Skin tone\"),\n variant: \"tertiary-no-background\"\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconCircle, {\n style: normalizeStyle({ color: $data.currentColor.color }),\n title: $data.currentColor.name,\n size: 20\n }, null, 8, [\"style\", \"title\"])\n ]),\n _: 1\n }, 8, [\"aria-label\"])\n ]),\n _: 1\n }, 8, [\"container\", \"palette\", \"modelValue\", \"onUpdate:modelValue\"])\n ])\n ]),\n _: 2\n }, [\n $props.allowUnselect && $props.selectedEmoji ? {\n name: \"customCategory\",\n fn: withCtx(() => [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"h3\", _hoisted_4, toDisplayString($options.t(\"Selected\")), 1)\n ]),\n createVNode(_component_Emoji, {\n class: \"emoji-selected\",\n data: $setup.emojiIndex,\n emoji: $props.selectedEmoji,\n native: \"\",\n size: 32,\n onClick: $options.unselect\n }, null, 8, [\"data\", \"emoji\", \"onClick\"]),\n createVNode(_component_Emoji, {\n class: \"emoji-delete\",\n data: $setup.emojiIndex,\n emoji: \":x:\",\n native: \"\",\n size: 10,\n onClick: $options.unselect\n }, null, 8, [\"data\", \"onClick\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"data\", \"emoji\", \"i18n\", \"native\", \"showPreview\", \"skin\", \"title\", \"aria-label\", \"onKeydown\", \"onSelect\"])\n ])\n ]),\n _: 3\n }, 8, [\"shown\", \"container\", \"onAfterShow\", \"onAfterHide\"]);\n}\nconst NcEmojiPicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-11acdb77\"]]);\nexport {\n NcEmojiPicker as N\n};\n//# sourceMappingURL=NcEmojiPicker.mjs.map\n","import '../assets/NcActionSeparator.css';\nimport { openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = {\n name: \"NcActionSeparator\"\n};\nconst _hoisted_1 = {\n class: \"action action-separator action--disabled\",\n role: \"separator\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n}\nconst NcActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-3e2324b7\"]]);\nexport {\n NcActionSeparator as N\n};\n//# sourceMappingURL=NcActionSeparator.mjs.map\n","import './assets/index.css';\nimport { shallowRef, computed, defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, mergeProps, createElementVNode, toDisplayString, createCommentVNode, normalizeStyle, createTextVNode, watch, provide, inject, Fragment, renderList, createVNode, withCtx, createBlock, resolveDynamicComponent, unref, createSlots, withModifiers, ref, useTemplateRef, onMounted, onBeforeUnmount, withDirectives, withKeys, vModelText } from \"vue\";\nimport { showConfirmation } from \"@nextcloud/dialogs\";\nimport Konva from \"konva\";\nimport NcButton from \"@nextcloud/vue/components/NcButton\";\nimport NcLoadingIcon from \"@nextcloud/vue/components/NcLoadingIcon\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\nimport { emojiSearch } from \"@nextcloud/vue/functions/emoji\";\nimport NcEmojiPicker from \"@nextcloud/vue/components/NcEmojiPicker\";\nimport NcActionButton from \"@nextcloud/vue/components/NcActionButton\";\nimport NcActions from \"@nextcloud/vue/components/NcActions\";\nimport NcActionSeparator from \"@nextcloud/vue/components/NcActionSeparator\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcNoteCard from \"@nextcloud/vue/components/NcNoteCard\";\nimport { e as estimateJpegQuality, r as readMetadataSegments, w as withMetadata } from \"./chunks/jpeg.mjs\";\nimport { D, i, a, b, s } from \"./chunks/jpeg.mjs\";\nfunction useHistory(capacity = 100) {\n if (!Number.isInteger(capacity) || capacity < 1) {\n throw new RangeError(\"History capacity must be a positive integer\");\n }\n const entries = shallowRef([]);\n const index = shallowRef(-1);\n const canUndo = computed(() => index.value > 0);\n const canRedo = computed(() => index.value < entries.value.length - 1);\n const current = computed(() => entries.value[index.value]?.snapshot);\n function push(snapshot, label) {\n const kept = [...entries.value.slice(0, index.value + 1), { snapshot, label }];\n entries.value = kept.slice(Math.max(0, kept.length - capacity));\n index.value = entries.value.length - 1;\n }\n function jumpTo(target) {\n if (target === index.value || target < 0 || target >= entries.value.length) {\n return void 0;\n }\n index.value = target;\n return current.value;\n }\n function undo() {\n return canUndo.value ? jumpTo(index.value - 1) : void 0;\n }\n function redo() {\n return canRedo.value ? jumpTo(index.value + 1) : void 0;\n }\n function clear() {\n entries.value = [];\n index.value = -1;\n }\n return {\n canUndo,\n canRedo,\n current,\n entries: computed(() => entries.value),\n index: computed(() => index.value),\n push,\n undo,\n redo,\n jumpTo,\n clear\n };\n}\nfunction newId() {\n if (typeof crypto.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n return [...crypto.getRandomValues(new Uint8Array(16))].map((byte) => byte.toString(16).padStart(2, \"0\")).join(\"\");\n}\nfunction createInitialState() {\n return {\n rotation: 0,\n fineRotation: 0,\n zoom: 1,\n flipX: false,\n flipY: false,\n crop: null,\n adjustments: {\n exposure: 0,\n brightness: 0,\n contrast: 0,\n saturation: 0,\n temperature: 0,\n tint: 0,\n sharpen: 0,\n highlights: 0,\n shadows: 0,\n vignette: 0\n },\n preset: \"none\",\n annotations: []\n };\n}\nfunction normaliseState(state) {\n const defaults = createInitialState().adjustments;\n const repaired = Object.entries(defaults).filter(([key]) => !Number.isFinite(state.adjustments[key]));\n if (repaired.length === 0) {\n return state;\n }\n return {\n ...state,\n adjustments: { ...state.adjustments, ...Object.fromEntries(repaired) }\n };\n}\nfunction isPristine(state) {\n return state.rotation === 0 && state.fineRotation === 0 && state.zoom === 1 && !state.flipX && !state.flipY && state.crop === null && Object.values(state.adjustments).every((value) => value === 0) && state.preset === \"none\" && state.annotations.length === 0;\n}\nfunction orientedSize(natural, rotation) {\n return rotation % 180 === 0 ? { width: natural.width, height: natural.height } : { width: natural.height, height: natural.width };\n}\nfunction clampRect(rect, bounds) {\n const x = Math.min(Math.max(rect.x, 0), bounds.width - 1);\n const y = Math.min(Math.max(rect.y, 0), bounds.height - 1);\n return {\n x,\n y,\n width: Math.max(1, Math.min(rect.width, bounds.width - x)),\n height: Math.max(1, Math.min(rect.height, bounds.height - y))\n };\n}\nfunction sameRect(a2, b2) {\n if (a2 === null || b2 === null) {\n return a2 === b2;\n }\n return a2.x === b2.x && a2.y === b2.y && a2.width === b2.width && a2.height === b2.height;\n}\nfunction mapPointsCW(points, height) {\n const mapped = [];\n for (let i2 = 0; i2 < points.length; i2 += 2) {\n mapped.push(height - (points[i2 + 1] ?? 0), points[i2] ?? 0);\n }\n return mapped;\n}\nfunction mapRectCW(rect, height) {\n return {\n x: height - rect.y - rect.height,\n y: rect.x,\n width: rect.height,\n height: rect.width\n };\n}\nfunction mapAnnotationCW(annotation, height) {\n switch (annotation.type) {\n case \"draw\":\n return { ...annotation, points: mapPointsCW(annotation.points, height) };\n case \"arrow\":\n case \"line\":\n return { ...annotation, points: mapPointsCW(annotation.points, height) };\n case \"rectangle\":\n case \"ellipse\":\n return {\n ...annotation,\n rect: { ...annotation.rect, x: height - annotation.rect.y, y: annotation.rect.x },\n rotation: (annotation.rotation + 90) % 360\n };\n case \"redact\":\n return { ...annotation, rect: mapRectCW(annotation.rect, height) };\n case \"text\":\n case \"sticker\":\n return {\n ...annotation,\n x: height - annotation.y,\n y: annotation.x,\n rotation: (annotation.rotation + 90) % 360\n };\n }\n}\nfunction rotateCW(state, oriented) {\n return {\n ...state,\n rotation: (state.rotation + 90) % 360,\n crop: state.crop && mapRectCW(state.crop, oriented.height),\n annotations: state.annotations.map((annotation) => mapAnnotationCW(annotation, oriented.height))\n };\n}\nfunction mapAnnotationFlipX(annotation, width) {\n switch (annotation.type) {\n case \"draw\":\n case \"arrow\":\n case \"line\": {\n const points = annotation.points.map((value, i2) => i2 % 2 === 0 ? width - value : value);\n return { ...annotation, points };\n }\n case \"rectangle\":\n case \"ellipse\": {\n const radians = annotation.rotation * Math.PI / 180;\n return {\n ...annotation,\n rect: {\n ...annotation.rect,\n x: width - annotation.rect.x - annotation.rect.width * Math.cos(radians),\n y: annotation.rect.y + annotation.rect.width * Math.sin(radians)\n },\n rotation: (360 - annotation.rotation) % 360\n };\n }\n case \"redact\":\n return {\n ...annotation,\n rect: { ...annotation.rect, x: width - annotation.rect.x - annotation.rect.width }\n };\n case \"text\":\n case \"sticker\":\n return {\n ...annotation,\n x: width - annotation.x,\n rotation: (360 - annotation.rotation) % 360\n };\n }\n}\nfunction flipHorizontal(state, oriented) {\n const sideways = state.rotation % 180 !== 0;\n return {\n ...state,\n flipX: sideways ? state.flipX : !state.flipX,\n flipY: sideways ? !state.flipY : state.flipY,\n fineRotation: -state.fineRotation,\n crop: state.crop && { ...state.crop, x: oriented.width - state.crop.x - state.crop.width },\n annotations: state.annotations.map((annotation) => mapAnnotationFlipX(annotation, oriented.width))\n };\n}\nfunction mapAnnotationFlipY(annotation, height) {\n switch (annotation.type) {\n case \"draw\":\n case \"arrow\":\n case \"line\": {\n const points = annotation.points.map((value, i2) => i2 % 2 === 1 ? height - value : value);\n return { ...annotation, points };\n }\n case \"rectangle\":\n case \"ellipse\": {\n const radians = annotation.rotation * Math.PI / 180;\n return {\n ...annotation,\n rect: {\n ...annotation.rect,\n x: annotation.rect.x - annotation.rect.height * Math.sin(radians),\n y: height - annotation.rect.y - annotation.rect.height * Math.cos(radians)\n },\n rotation: (360 - annotation.rotation) % 360\n };\n }\n case \"redact\":\n return {\n ...annotation,\n rect: { ...annotation.rect, y: height - annotation.rect.y - annotation.rect.height }\n };\n case \"text\":\n case \"sticker\":\n return {\n ...annotation,\n y: height - annotation.y,\n rotation: (360 - annotation.rotation) % 360\n };\n }\n}\nfunction flipVertical(state, oriented) {\n const sideways = state.rotation % 180 !== 0;\n return {\n ...state,\n flipX: sideways ? !state.flipX : state.flipX,\n flipY: sideways ? state.flipY : !state.flipY,\n fineRotation: -state.fineRotation,\n crop: state.crop && { ...state.crop, y: oriented.height - state.crop.y - state.crop.height },\n annotations: state.annotations.map((annotation) => mapAnnotationFlipY(annotation, oriented.height))\n };\n}\nfunction translateAnnotation(annotation, dx, dy) {\n switch (annotation.type) {\n case \"draw\":\n case \"arrow\":\n case \"line\": {\n const points = annotation.points.map((value, i2) => value + (i2 % 2 === 0 ? dx : dy));\n return { ...annotation, points };\n }\n case \"rectangle\":\n case \"ellipse\":\n case \"redact\":\n return {\n ...annotation,\n rect: { ...annotation.rect, x: annotation.rect.x + dx, y: annotation.rect.y + dy }\n };\n case \"text\":\n case \"sticker\":\n return { ...annotation, x: annotation.x + dx, y: annotation.y + dy };\n }\n}\nfunction duplicateAnnotation(annotation, offset = 16) {\n return { ...translateAnnotation(annotation, offset, offset), id: newId() };\n}\nconst _sfc_main$13 = /* @__PURE__ */ defineComponent({\n __name: \"GlassSurface\",\n props: {\n variant: {},\n opaque: { type: Boolean }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"glass-surface\", [`glass-surface--${__props.variant ?? \"card\"}`, { \"glass-surface--opaque\": __props.opaque }]])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst GlassSurface = /* @__PURE__ */ _export_sfc(_sfc_main$13, [[\"__scopeId\", \"data-v-ffbdec7e\"]]);\nconst _sfc_main$12 = {\n name: \"BoxShadowIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$10 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$X = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$T = { d: \"M3,3H18V18H3V3M19,19H21V21H19V19M19,16H21V18H19V16M19,13H21V15H19V13M19,10H21V12H19V10M19,7H21V9H19V7M16,19H18V21H16V19M13,19H15V21H13V19M10,19H12V21H10V19M7,19H9V21H7V19Z\" };\nconst _hoisted_4$S = { key: 0 };\nfunction _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon box-shadow-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$T, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$S, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$X))\n ], 16, _hoisted_1$10);\n}\nconst BoxShadow = /* @__PURE__ */ _export_sfc(_sfc_main$12, [[\"render\", _sfc_render$O]]);\nconst _sfc_main$11 = {\n name: \"CameraIrisIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$$ = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$W = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$S = { d: \"M13.73,15L9.83,21.76C10.53,21.91 11.25,22 12,22C14.4,22 16.6,21.15 18.32,19.75L14.66,13.4M2.46,15C3.38,17.92 5.61,20.26 8.45,21.34L12.12,15M8.54,12L4.64,5.25C3,7 2,9.39 2,12C2,12.68 2.07,13.35 2.2,14H9.69M21.8,10H14.31L14.6,10.5L19.36,18.75C21,16.97 22,14.6 22,12C22,11.31 21.93,10.64 21.8,10M21.54,9C20.62,6.07 18.39,3.74 15.55,2.66L11.88,9M9.4,10.5L14.17,2.24C13.47,2.09 12.75,2 12,2C9.6,2 7.4,2.84 5.68,4.25L9.34,10.6L9.4,10.5Z\" };\nconst _hoisted_4$R = { key: 0 };\nfunction _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon camera-iris-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$S, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$R, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$W))\n ], 16, _hoisted_1$$);\n}\nconst CameraIris = /* @__PURE__ */ _export_sfc(_sfc_main$11, [[\"render\", _sfc_render$N]]);\nconst _sfc_main$10 = {\n name: \"CircleOpacityIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$_ = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$V = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$R = { d: \"M18 10V8H20V10H18M18 12V10H16V12H18M18 8V6H16V8H18M16 2.84V4H18C17.37 3.54 16.71 3.15 16 2.84M18 4V6H20C19.42 5.25 18.75 4.58 18 4M20 6V8H21.16C20.85 7.29 20.46 6.63 20 6M22 12C22 11.32 21.93 10.65 21.8 10H20V12H22M16 6V4H14V6H16M16 16H18V14H16V16M18 18H20L20 18V16H18V18M16 20H18L18 20V18H16V20M14 21.8C14.7 21.66 15.36 21.44 16 21.16V20H14V21.8M18 14H20V12H18V14M16 8H14V10H16V8M20 16H21.16C21.44 15.36 21.66 14.7 21.8 14H20V16M16 12H14V14H16V12M12 18V16H14V14H12V12H14V10H12V8H14V6H12V4H14V2.2C13.35 2.07 12.69 2 12 2C6.5 2 2 6.5 2 12S6.5 22 12 22V20H14V18H12M14 18H16V16H14V18Z\" };\nconst _hoisted_4$Q = { key: 0 };\nfunction _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon circle-opacity-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$R, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$Q, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$V))\n ], 16, _hoisted_1$_);\n}\nconst CircleOpacity = /* @__PURE__ */ _export_sfc(_sfc_main$10, [[\"render\", _sfc_render$M]]);\nconst _sfc_main$$ = {\n name: \"ContrastCircleIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$Z = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$U = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$Q = { d: \"M12,20C9.79,20 7.79,19.1 6.34,17.66L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20M6,8H8V6H9.5V8H11.5V9.5H9.5V11.5H8V9.5H6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16H17V14.5H12V16Z\" };\nconst _hoisted_4$P = { key: 0 };\nfunction _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon contrast-circle-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$Q, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$P, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$U))\n ], 16, _hoisted_1$Z);\n}\nconst ContrastCircle = /* @__PURE__ */ _export_sfc(_sfc_main$$, [[\"render\", _sfc_render$L]]);\nconst _sfc_main$_ = {\n name: \"ImageFilterCenterFocusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$Y = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$T = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$P = { d: \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M19,19H15V21H19A2,2 0 0,0 21,19V15H19M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M5,5H9V3H5A2,2 0 0,0 3,5V9H5M5,15H3V19A2,2 0 0,0 5,21H9V19H5V15Z\" };\nconst _hoisted_4$O = { key: 0 };\nfunction _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon image-filter-center-focus-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$P, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$O, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$T))\n ], 16, _hoisted_1$Y);\n}\nconst ImageFilterCenterFocus = /* @__PURE__ */ _export_sfc(_sfc_main$_, [[\"render\", _sfc_render$K]]);\nconst _sfc_main$Z = {\n name: \"InvertColorsIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$X = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$S = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$O = { d: \"M12,19.58V19.58C10.4,19.58 8.89,18.96 7.76,17.83C6.62,16.69 6,15.19 6,13.58C6,12 6.62,10.47 7.76,9.34L12,5.1M17.66,7.93L12,2.27V2.27L6.34,7.93C3.22,11.05 3.22,16.12 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C14.05,21.58 16.1,20.8 17.66,19.24C20.78,16.12 20.78,11.05 17.66,7.93Z\" };\nconst _hoisted_4$N = { key: 0 };\nfunction _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon invert-colors-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$O, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$N, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$S))\n ], 16, _hoisted_1$X);\n}\nconst InvertColors = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [[\"render\", _sfc_render$J]]);\nconst _sfc_main$Y = {\n name: \"SpotlightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$W = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$R = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$N = { d: \"M2,6L7.09,8.55C6.4,9.5 6,10.71 6,12C6,13.29 6.4,14.5 7.09,15.45L2,18V6M6,3H18L15.45,7.09C14.5,6.4 13.29,6 12,6C10.71,6 9.5,6.4 8.55,7.09L6,3M22,6V18L16.91,15.45C17.6,14.5 18,13.29 18,12C18,10.71 17.6,9.5 16.91,8.55L22,6M18,21H6L8.55,16.91C9.5,17.6 10.71,18 12,18C13.29,18 14.5,17.6 15.45,16.91L18,21M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\" };\nconst _hoisted_4$M = { key: 0 };\nfunction _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon spotlight-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$N, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$M, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$R))\n ], 16, _hoisted_1$W);\n}\nconst Spotlight = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [[\"render\", _sfc_render$I]]);\nconst _sfc_main$X = {\n name: \"ThermometerIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$V = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$Q = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$M = { d: \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z\" };\nconst _hoisted_4$L = { key: 0 };\nfunction _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon thermometer-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$M, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$L, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$Q))\n ], 16, _hoisted_1$V);\n}\nconst Thermometer = /* @__PURE__ */ _export_sfc(_sfc_main$X, [[\"render\", _sfc_render$H]]);\nconst _sfc_main$W = {\n name: \"WhiteBalanceIridescentIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$U = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$P = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$L = { d: \"M4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53M3.55,4.46L5.34,6.26L6.76,4.84L4.96,3.05M20.45,18.53L18.66,16.74L17.24,18.15L19.04,19.95M13,22.45V19.5H11V22.45C11.32,22.45 13,22.45 13,22.45M19.04,3.05L17.24,4.84L18.66,6.26L20.45,4.46M11,3.5H13V0.55H11M5,14.5H19V8.5H5V14.5Z\" };\nconst _hoisted_4$K = { key: 0 };\nfunction _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon white-balance-iridescent-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$L, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$K, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$P))\n ], 16, _hoisted_1$U);\n}\nconst WhiteBalanceIridescent = /* @__PURE__ */ _export_sfc(_sfc_main$W, [[\"render\", _sfc_render$G]]);\nconst _sfc_main$V = {\n name: \"WhiteBalanceSunnyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$T = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$O = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$K = { d: \"M3.55 19.09L4.96 20.5L6.76 18.71L5.34 17.29M12 6C8.69 6 6 8.69 6 12S8.69 18 12 18 18 15.31 18 12C18 8.68 15.31 6 12 6M20 13H23V11H20M17.24 18.71L19.04 20.5L20.45 19.09L18.66 17.29M20.45 5L19.04 3.6L17.24 5.39L18.66 6.81M13 1H11V4H13M6.76 5.39L4.96 3.6L3.55 5L5.34 6.81L6.76 5.39M1 13H4V11H1M13 20H11V23H13\" };\nconst _hoisted_4$J = { key: 0 };\nfunction _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon white-balance-sunny-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$K, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$J, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$O))\n ], 16, _hoisted_1$T);\n}\nconst WhiteBalanceSunny = /* @__PURE__ */ _export_sfc(_sfc_main$V, [[\"render\", _sfc_render$F]]);\nconst SNAP_RATIO = 0.02;\nfunction defaultOrigin(min, max) {\n return min < 0 && max > 0 ? 0 : null;\n}\nfunction originPosition(origin, min, max) {\n return (origin - min) / (max - min);\n}\nfunction snapToOrigin(value, origin, min, max) {\n if (origin === null) {\n return value;\n }\n return Math.abs(value - origin) <= (max - min) * SNAP_RATIO ? origin : value;\n}\nconst _hoisted_1$S = { class: \"editor-slider\" };\nconst _hoisted_2$N = { class: \"editor-slider__track\" };\nconst _hoisted_3$J = [\"value\", \"data-test\", \"disabled\", \"aria-label\", \"min\", \"max\", \"step\"];\nconst _sfc_main$U = /* @__PURE__ */ defineComponent({\n __name: \"EditorSlider\",\n props: {\n value: {},\n min: {},\n max: {},\n step: {},\n label: {},\n display: {},\n dataTest: {},\n disabled: { type: Boolean },\n origin: {}\n },\n emits: [\"input\", \"commit\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const origin = computed(() => props.origin ?? defaultOrigin(props.min, props.max));\n const originOffset = computed(() => origin.value === null ? null : `calc(var(--slider-thumb-size) / 2 + (100% - var(--slider-thumb-size)) * ${originPosition(origin.value, props.min, props.max)})`);\n function onInput(event) {\n const input = event.target;\n const value = snapToOrigin(Number(input.value), origin.value, props.min, props.max);\n input.value = String(value);\n emit(\"input\", value);\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$S, [\n createElementVNode(\"div\", _hoisted_2$N, [\n originOffset.value !== null ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: \"editor-slider__origin\",\n \"aria-hidden\": \"true\",\n style: normalizeStyle({ insetInlineStart: originOffset.value })\n }, null, 4)) : createCommentVNode(\"\", true),\n createElementVNode(\"input\", {\n value: props.value,\n \"data-test\": __props.dataTest,\n disabled: __props.disabled,\n \"aria-label\": __props.label,\n type: \"range\",\n min: __props.min,\n max: __props.max,\n step: __props.step,\n onInput,\n onChange: _cache[0] || (_cache[0] = ($event) => emit(\"commit\"))\n }, null, 40, _hoisted_3$J)\n ]),\n createElementVNode(\"output\", null, [\n renderSlot(_ctx.$slots, \"preview\", {}, () => [\n createTextVNode(toDisplayString(__props.display ?? props.value), 1)\n ], true)\n ])\n ]);\n };\n }\n});\nconst EditorSlider = /* @__PURE__ */ _export_sfc(_sfc_main$U, [[\"__scopeId\", \"data-v-b180b2e1\"]]);\nconst _hoisted_1$R = [\"disabled\", \"data-test\", \"aria-pressed\", \"aria-label\", \"title\"];\nconst _hoisted_2$M = { key: 0 };\nconst _sfc_main$T = /* @__PURE__ */ defineComponent({\n __name: \"IconTab\",\n props: {\n label: {},\n active: { type: Boolean },\n disabled: { type: Boolean },\n iconOnly: { type: Boolean },\n dataTest: {}\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const emit = __emit;\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n type: \"button\",\n class: normalizeClass([\"icon-tab\", { \"icon-tab--active\": __props.active, \"icon-tab--icon-only\": __props.iconOnly }]),\n disabled: __props.disabled,\n \"data-test\": __props.dataTest,\n \"aria-pressed\": __props.active,\n \"aria-label\": __props.iconOnly ? __props.label : void 0,\n title: __props.iconOnly ? __props.label : void 0,\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true),\n !__props.iconOnly ? (openBlock(), createElementBlock(\"span\", _hoisted_2$M, toDisplayString(__props.label), 1)) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1$R);\n };\n }\n});\nconst IconTab = /* @__PURE__ */ _export_sfc(_sfc_main$T, [[\"__scopeId\", \"data-v-92c91076\"]]);\nconst gtBuilder = getGettextBuilder().detectLocale();\n[].map((data) => gtBuilder.addTranslation(data.locale, data.json));\nconst gt = gtBuilder.build();\ngt.ngettext.bind(gt);\nconst t = gt.gettext.bind(gt);\nconst FONT_STACKS = {\n sans: \"Helvetica, Arial, sans-serif\",\n serif: 'Georgia, \"Times New Roman\", serif',\n mono: 'Menlo, Consolas, \"Courier New\", monospace'\n};\nconst DEFAULT_FONT = \"sans\";\nfunction fontStack(font) {\n return FONT_STACKS[font ?? DEFAULT_FONT] ?? FONT_STACKS[DEFAULT_FONT];\n}\nconst REDACT_SHAPES = [\"rectangle\", \"ellipse\"];\nconst DEFAULT_REDACT_SHAPE = \"rectangle\";\nfunction redactShape(shape) {\n return REDACT_SHAPES.includes(shape) ? shape : DEFAULT_REDACT_SHAPE;\n}\nconst TEXT_ALIGNS = [\"left\", \"center\", \"right\"];\nconst DEFAULT_ALIGN = \"left\";\nfunction textAlign(align) {\n return TEXT_ALIGNS.includes(align) ? align : DEFAULT_ALIGN;\n}\nconst VIEW_MARGIN = 16;\nconst PAN_SLACK = 1 / 3;\nconst FIT_ZOOM = 1;\nconst MIN_ZOOM = 0.5;\nconst MAX_ZOOM = 4;\nconst ZOOM_SNAP = 1.05;\nconst PINCH_TOLERANCE = 0.01;\nconst WHEEL_LINE = 16;\nconst WHEEL_CLAMP = 300;\nconst WHEEL_SENSITIVITY = 15e-4;\nfunction panBounds(visible, scale, container) {\n return {\n x: Math.max(Math.abs(visible.width * scale - container.width) / 2, container.width * PAN_SLACK) + VIEW_MARGIN,\n y: Math.max(Math.abs(visible.height * scale - container.height) / 2, container.height * PAN_SLACK) + VIEW_MARGIN\n };\n}\nfunction clampPan(pan, bounds) {\n return {\n x: Math.min(bounds.x, Math.max(-bounds.x, pan.x)),\n y: Math.min(bounds.y, Math.max(-bounds.y, pan.y))\n };\n}\nfunction clampZoom(zoom, previous = FIT_ZOOM) {\n const bounded = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, zoom));\n const crossed = (previous - FIT_ZOOM) * (bounded - FIT_ZOOM) < 0;\n const near = bounded > FIT_ZOOM / ZOOM_SNAP && bounded < FIT_ZOOM * ZOOM_SNAP;\n return crossed && near ? FIT_ZOOM : bounded;\n}\nfunction anchoredPan(pan, cursor, factor) {\n return {\n x: cursor.x - factor * (cursor.x - pan.x),\n y: cursor.y - factor * (cursor.y - pan.y)\n };\n}\nfunction wheelZoomFactor(deltaY, deltaMode, pageHeight) {\n const scaled = deltaMode === 1 ? deltaY * WHEEL_LINE : deltaMode === 2 ? deltaY * pageHeight : deltaY;\n const bounded = Math.min(WHEEL_CLAMP, Math.max(-WHEEL_CLAMP, scaled));\n return Math.exp(-bounded * WHEEL_SENSITIVITY);\n}\nconst MODE_DEFAULT_TOOL = {\n select: \"select\",\n crop: \"crop\",\n finetune: \"adjust\",\n filter: \"adjust\",\n annotate: \"draw\",\n sticker: \"sticker\",\n redact: \"redact\"\n};\nconst EDITOR_CONTEXT = /* @__PURE__ */ Symbol(\"nextcloud:image-editor\");\nfunction createEditorContext() {\n const history = useHistory();\n const state = shallowRef(createInitialState());\n const viewZoom = shallowRef(FIT_ZOOM);\n const cropChanged = shallowRef(false);\n const viewPan = shallowRef({ x: 0, y: 0 });\n const viewFit = shallowRef(null);\n const boundsAt = (zoom) => {\n const fit = viewFit.value;\n return fit === null ? { x: 0, y: 0 } : panBounds(fit.visible, fit.scale * zoom, fit.container);\n };\n const activeMode = shallowRef(\"crop\");\n const activeTool = shallowRef(MODE_DEFAULT_TOOL.crop);\n history.push(state.value, t(\"Original\"));\n const context = {\n state,\n activeMode,\n activeTool,\n setMode(mode) {\n activeMode.value = mode;\n activeTool.value = MODE_DEFAULT_TOOL[mode];\n context.selectedId.value = null;\n },\n drawColor: shallowRef(\"#ff0000\"),\n strokeWidth: shallowRef(6),\n fontSize: shallowRef(24),\n textOutline: shallowRef(false),\n textBackground: shallowRef(false),\n textFont: shallowRef(DEFAULT_FONT),\n textAlign: shallowRef(DEFAULT_ALIGN),\n textBold: shallowRef(false),\n textItalic: shallowRef(false),\n textUnderline: shallowRef(false),\n textStrikethrough: shallowRef(false),\n sticker: shallowRef(\"😀\"),\n redactStyle: shallowRef(\"pixelate\"),\n redactShape: shallowRef(DEFAULT_REDACT_SHAPE),\n cropAspect: shallowRef(null),\n viewZoom,\n viewPan,\n viewFit,\n cropChanged,\n panning: shallowRef(false),\n setViewZoom(zoom, anchor) {\n const previous = viewZoom.value;\n const next = clampZoom(zoom, previous);\n viewZoom.value = next;\n const panned = anchor === void 0 ? viewPan.value : anchoredPan(viewPan.value, anchor, next / previous);\n viewPan.value = clampPan(panned, boundsAt(next));\n },\n setViewPan(pan) {\n viewPan.value = clampPan(pan, boundsAt(viewZoom.value));\n },\n interacting: shallowRef(false),\n selectedId: shallowRef(null),\n canUndo: history.canUndo,\n canRedo: history.canRedo,\n historyEntries: history.entries,\n historyIndex: history.index,\n commit(next, label) {\n context.interacting.value = false;\n state.value = next;\n history.push(next, label);\n },\n preview(next) {\n context.interacting.value = true;\n state.value = next;\n },\n undo() {\n const snapshot = history.undo();\n if (snapshot !== void 0) {\n state.value = snapshot;\n }\n },\n redo() {\n const snapshot = history.redo();\n if (snapshot !== void 0) {\n state.value = snapshot;\n }\n },\n jumpTo(index) {\n const snapshot = history.jumpTo(index);\n if (snapshot !== void 0) {\n state.value = snapshot;\n }\n },\n reset(next) {\n history.clear();\n state.value = next === void 0 ? createInitialState() : normaliseState(next);\n activeMode.value = \"crop\";\n activeTool.value = MODE_DEFAULT_TOOL.crop;\n context.selectedId.value = null;\n viewZoom.value = FIT_ZOOM;\n viewPan.value = { x: 0, y: 0 };\n context.panning.value = false;\n history.push(state.value, next === void 0 ? t(\"Original\") : t(\"Restored\"));\n }\n };\n watch(activeTool, (tool) => {\n if (tool !== \"select\") {\n context.selectedId.value = null;\n }\n });\n provide(EDITOR_CONTEXT, context);\n return context;\n}\nfunction useEditorContext() {\n const context = inject(EDITOR_CONTEXT, null);\n if (context === null) {\n throw new Error(\"useEditorContext() called outside of an ImageEditor tree\");\n }\n return context;\n}\nconst _hoisted_1$Q = { class: \"adjust-panel\" };\nconst _hoisted_2$L = { class: \"adjust-panel__tabs\" };\nconst _sfc_main$S = /* @__PURE__ */ defineComponent({\n __name: \"AdjustPanel\",\n props: {\n loaded: { type: Boolean }\n },\n setup(__props) {\n const context = useEditorContext();\n const adjustments = [\n { id: \"exposure\", label: t(\"Exposure\"), icon: CameraIris },\n { id: \"brightness\", label: t(\"Brightness\"), icon: WhiteBalanceSunny },\n { id: \"contrast\", label: t(\"Contrast\"), icon: ContrastCircle },\n { id: \"saturation\", label: t(\"Saturation\"), icon: InvertColors },\n { id: \"temperature\", label: t(\"Temperature\"), icon: Thermometer },\n { id: \"tint\", label: t(\"Tint\"), icon: WhiteBalanceIridescent },\n { id: \"sharpen\", label: t(\"Sharpen\"), icon: ImageFilterCenterFocus },\n { id: \"highlights\", label: t(\"Highlights\"), icon: Spotlight },\n { id: \"shadows\", label: t(\"Shadows\"), icon: BoxShadow },\n { id: \"vignette\", label: t(\"Vignette\"), icon: CircleOpacity }\n ];\n const activeAdjustment = shallowRef(\"exposure\");\n const display = computed(() => {\n const value = context.state.value.adjustments[activeAdjustment.value];\n return value > 0 ? `+${value}` : `${value}`;\n });\n function select(id, event) {\n activeAdjustment.value = id;\n event.currentTarget?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n function onAdjustInput(value) {\n const state = context.state.value;\n context.preview({\n ...state,\n adjustments: { ...state.adjustments, [activeAdjustment.value]: value }\n });\n }\n function onSliderCommit() {\n context.commit(context.state.value, adjustments.find((entry) => entry.id === activeAdjustment.value).label);\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$Q, [\n createElementVNode(\"div\", _hoisted_2$L, [\n (openBlock(), createElementBlock(Fragment, null, renderList(adjustments, (adjustment) => {\n return createVNode(IconTab, {\n key: adjustment.id,\n label: adjustment.label,\n active: activeAdjustment.value === adjustment.id,\n disabled: !__props.loaded,\n \"data-test\": `tab-${adjustment.id}`,\n onClick: ($event) => select(adjustment.id, $event)\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(adjustment.icon), { size: 20 }))\n ]),\n _: 2\n }, 1032, [\"label\", \"active\", \"disabled\", \"data-test\", \"onClick\"]);\n }), 64))\n ]),\n createVNode(EditorSlider, {\n value: unref(context).state.value.adjustments[activeAdjustment.value],\n min: -100,\n max: 100,\n step: 1,\n label: adjustments.find((entry) => entry.id === activeAdjustment.value).label,\n display: display.value,\n \"data-test\": `adjust-${activeAdjustment.value}`,\n disabled: !__props.loaded,\n onInput: onAdjustInput,\n onCommit: onSliderCommit\n }, null, 8, [\"value\", \"label\", \"display\", \"data-test\", \"disabled\"])\n ]);\n };\n }\n});\nconst AdjustPanel = /* @__PURE__ */ _export_sfc(_sfc_main$S, [[\"__scopeId\", \"data-v-1450b457\"]]);\nconst _sfc_main$R = {\n name: \"ArrowTopRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$P = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$K = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$I = { d: \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\" };\nconst _hoisted_4$I = { key: 0 };\nfunction _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-top-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$I, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$I, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$K))\n ], 16, _hoisted_1$P);\n}\nconst ArrowTopRight = /* @__PURE__ */ _export_sfc(_sfc_main$R, [[\"render\", _sfc_render$E]]);\nconst _sfc_main$Q = {\n name: \"EllipseOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$O = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$J = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$H = { d: \"M12,6C16.41,6 20,8.69 20,12C20,15.31 16.41,18 12,18C7.59,18 4,15.31 4,12C4,8.69 7.59,6 12,6M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\" };\nconst _hoisted_4$H = { key: 0 };\nfunction _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon ellipse-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$H, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$H, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$J))\n ], 16, _hoisted_1$O);\n}\nconst EllipseOutline = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [[\"render\", _sfc_render$D]]);\nconst _sfc_main$P = {\n name: \"FormatTextIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$N = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$I = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$G = { d: \"M18.5,4L19.66,8.35L18.7,8.61C18.25,7.74 17.79,6.87 17.26,6.43C16.73,6 16.11,6 15.5,6H13V16.5C13,17 13,17.5 13.33,17.75C13.67,18 14.33,18 15,18V19H9V18C9.67,18 10.33,18 10.67,17.75C11,17.5 11,17 11,16.5V6H8.5C7.89,6 7.27,6 6.74,6.43C6.21,6.87 5.75,7.74 5.3,8.61L4.34,8.35L5.5,4H18.5Z\" };\nconst _hoisted_4$G = { key: 0 };\nfunction _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-text-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$G, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$G, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$I))\n ], 16, _hoisted_1$N);\n}\nconst FormatText = /* @__PURE__ */ _export_sfc(_sfc_main$P, [[\"render\", _sfc_render$C]]);\nconst _sfc_main$O = {\n name: \"PencilIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$M = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$H = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$F = { d: \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" };\nconst _hoisted_4$F = { key: 0 };\nfunction _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$F, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$F, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$H))\n ], 16, _hoisted_1$M);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$O, [[\"render\", _sfc_render$B]]);\nconst _sfc_main$N = {\n name: \"RectangleOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$L = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$G = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$E = { d: \"M4,6V19H20V6H4M18,17H6V8H18V17Z\" };\nconst _hoisted_4$E = { key: 0 };\nfunction _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon rectangle-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$E, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$E, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$G))\n ], 16, _hoisted_1$L);\n}\nconst RectangleOutline = /* @__PURE__ */ _export_sfc(_sfc_main$N, [[\"render\", _sfc_render$A]]);\nconst _sfc_main$M = {\n name: \"VectorLineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$K = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$F = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$D = { d: \"M15,3V7.59L7.59,15H3V21H9V16.42L16.42,9H21V3M17,5H19V7H17M5,17H7V19H5\" };\nconst _hoisted_4$D = { key: 0 };\nfunction _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon vector-line-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$D, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$D, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$F))\n ], 16, _hoisted_1$K);\n}\nconst VectorLine = /* @__PURE__ */ _export_sfc(_sfc_main$M, [[\"render\", _sfc_render$z]]);\nfunction useAnnotationColor(context) {\n function recolorable() {\n const annotation = context.state.value.annotations.find((entry) => entry.id === context.selectedId.value);\n return annotation !== void 0 && \"color\" in annotation && annotation.type !== \"sticker\" ? annotation : void 0;\n }\n function apply(color) {\n const annotation = recolorable();\n if (annotation === void 0 || annotation.color === color) {\n return;\n }\n const state = context.state.value;\n context.preview({\n ...state,\n annotations: state.annotations.map((entry) => entry.id === annotation.id ? { ...entry, color } : entry)\n });\n }\n return {\n preview(color) {\n context.drawColor.value = color;\n apply(color);\n },\n commit(color) {\n context.drawColor.value = color;\n apply(color);\n if (recolorable() !== void 0) {\n context.commit(context.state.value, t(\"Color\"));\n }\n }\n };\n}\nconst _hoisted_1$J = { class: \"annotate-panel\" };\nconst _hoisted_2$E = { class: \"annotate-panel__row\" };\nconst _hoisted_3$C = { class: \"annotate-panel__option\" };\nconst _hoisted_4$C = [\"value\"];\nconst FONT_SAMPLE = \"A\";\nconst PREVIEW_CAP = 44;\nconst _sfc_main$L = /* @__PURE__ */ defineComponent({\n __name: \"AnnotatePanel\",\n props: {\n loaded: { type: Boolean }\n },\n setup(__props) {\n const context = useEditorContext();\n const color = useAnnotationColor(context);\n const labels = {\n color: t(\"Color\"),\n strokeWidth: t(\"Stroke width\"),\n fontSize: t(\"Font size\")\n };\n const subTools = [\n { id: \"draw\", label: t(\"Draw\"), icon: Pencil },\n { id: \"rectangle\", label: t(\"Rectangle\"), icon: RectangleOutline },\n { id: \"ellipse\", label: t(\"Ellipse\"), icon: EllipseOutline },\n { id: \"arrow\", label: t(\"Arrow\"), icon: ArrowTopRight },\n { id: \"line\", label: t(\"Line\"), icon: VectorLine },\n { id: \"text\", label: t(\"Text\"), icon: FormatText }\n ];\n const showStrokeOptions = computed(() => [\"draw\", \"rectangle\", \"ellipse\", \"arrow\", \"line\"].includes(context.activeTool.value));\n const viewScale = computed(() => (context.viewFit.value?.scale ?? 1) * context.viewZoom.value);\n const strokePreview = computed(() => Math.min(PREVIEW_CAP, Math.max(2, context.strokeWidth.value * viewScale.value)));\n const fontPreview = computed(() => Math.min(PREVIEW_CAP, Math.max(8, context.fontSize.value * viewScale.value)));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$J, [\n createElementVNode(\"div\", _hoisted_2$E, [\n (openBlock(), createElementBlock(Fragment, null, renderList(subTools, (tool) => {\n return createVNode(IconTab, {\n key: tool.id,\n label: tool.label,\n active: unref(context).activeTool.value === tool.id,\n disabled: !__props.loaded,\n iconOnly: \"\",\n onClick: ($event) => unref(context).activeTool.value = tool.id\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(tool.icon), { size: 20 }))\n ]),\n _: 2\n }, 1032, [\"label\", \"active\", \"disabled\", \"onClick\"]);\n }), 64)),\n _cache[4] || (_cache[4] = createElementVNode(\"span\", { class: \"annotate-panel__divider\" }, null, -1)),\n createElementVNode(\"label\", _hoisted_3$C, [\n createTextVNode(toDisplayString(labels.color) + \" \", 1),\n createElementVNode(\"input\", {\n value: unref(context).drawColor.value,\n type: \"color\",\n \"data-test\": \"color\",\n onInput: _cache[0] || (_cache[0] = ($event) => unref(color).preview($event.target.value)),\n onChange: _cache[1] || (_cache[1] = ($event) => unref(color).commit($event.target.value))\n }, null, 40, _hoisted_4$C)\n ])\n ]),\n showStrokeOptions.value ? (openBlock(), createBlock(EditorSlider, {\n key: 0,\n value: unref(context).strokeWidth.value,\n min: 1,\n max: 32,\n step: 1,\n label: labels.strokeWidth,\n onInput: _cache[2] || (_cache[2] = ($event) => unref(context).strokeWidth.value = $event),\n onCommit: () => {\n }\n }, {\n preview: withCtx(() => [\n createElementVNode(\"span\", {\n class: \"annotate-panel__dot\",\n \"data-test\": \"stroke-preview\",\n style: normalizeStyle({\n inlineSize: `${strokePreview.value}px`,\n blockSize: `${strokePreview.value}px`,\n backgroundColor: unref(context).drawColor.value\n })\n }, null, 4)\n ]),\n _: 1\n }, 8, [\"value\", \"label\"])) : unref(context).activeTool.value === \"text\" ? (openBlock(), createBlock(EditorSlider, {\n key: 1,\n value: unref(context).fontSize.value,\n min: 8,\n max: 128,\n step: 1,\n label: labels.fontSize,\n onInput: _cache[3] || (_cache[3] = ($event) => unref(context).fontSize.value = $event),\n onCommit: () => {\n }\n }, {\n preview: withCtx(() => [\n createElementVNode(\"span\", {\n class: \"annotate-panel__glyph\",\n \"data-test\": \"font-preview\",\n style: normalizeStyle({\n fontSize: `${fontPreview.value}px`,\n color: unref(context).drawColor.value\n })\n }, toDisplayString(FONT_SAMPLE), 4)\n ]),\n _: 1\n }, 8, [\"value\", \"label\"])) : createCommentVNode(\"\", true)\n ]);\n };\n }\n});\nconst AnnotatePanel = /* @__PURE__ */ _export_sfc(_sfc_main$L, [[\"__scopeId\", \"data-v-f1bf58b5\"]]);\nconst _sfc_main$K = {\n name: \"FlipHorizontalIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$I = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$D = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$B = { d: \"M15 21H17V19H15M19 9H21V7H19M3 5V19C3 20.1 3.9 21 5 21H9V19H5V5H9V3H5C3.9 3 3 3.9 3 5M19 3V5H21C21 3.9 20.1 3 19 3M11 23H13V1H11M19 17H21V15H19M15 5H17V3H15M19 13H21V11H19M19 21C20.1 21 21 20.1 21 19H19Z\" };\nconst _hoisted_4$B = { key: 0 };\nfunction _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon flip-horizontal-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$B, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$B, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$D))\n ], 16, _hoisted_1$I);\n}\nconst FlipHorizontal = /* @__PURE__ */ _export_sfc(_sfc_main$K, [[\"render\", _sfc_render$y]]);\nconst _sfc_main$J = {\n name: \"FlipVerticalIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$H = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$C = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$A = { d: \"M3 15V17H5V15M15 19V21H17V19M19 3H5C3.9 3 3 3.9 3 5V9H5V5H19V9H21V5C21 3.9 20.1 3 19 3M21 19H19V21C20.1 21 21 20.1 21 19M1 11V13H23V11M7 19V21H9V19M19 15V17H21V15M11 19V21H13V19M3 19C3 20.1 3.9 21 5 21V19Z\" };\nconst _hoisted_4$A = { key: 0 };\nfunction _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon flip-vertical-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$A, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$A, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$C))\n ], 16, _hoisted_1$H);\n}\nconst FlipVertical = /* @__PURE__ */ _export_sfc(_sfc_main$J, [[\"render\", _sfc_render$x]]);\nconst _sfc_main$I = {\n name: \"RotateLeftIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$G = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$B = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$z = { d: \"M13,4.07V1L8.45,5.55L13,10V6.09C15.84,6.57 18,9.03 18,12C18,14.97 15.84,17.43 13,17.91V19.93C16.95,19.44 20,16.08 20,12C20,7.92 16.95,4.56 13,4.07M7.1,18.32C8.26,19.22 9.61,19.76 11,19.93V17.9C10.13,17.75 9.29,17.41 8.54,16.87L7.1,18.32M6.09,13H4.07C4.24,14.39 4.79,15.73 5.69,16.89L7.1,15.47C6.58,14.72 6.23,13.88 6.09,13M7.11,8.53L5.7,7.11C4.8,8.27 4.24,9.61 4.07,11H6.09C6.23,10.13 6.58,9.28 7.11,8.53Z\" };\nconst _hoisted_4$z = { key: 0 };\nfunction _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon rotate-left-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$z, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$z, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$B))\n ], 16, _hoisted_1$G);\n}\nconst RotateLeft = /* @__PURE__ */ _export_sfc(_sfc_main$I, [[\"render\", _sfc_render$w]]);\nconst _sfc_main$H = {\n name: \"RotateRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$F = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$A = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$y = { d: \"M16.89,15.5L18.31,16.89C19.21,15.73 19.76,14.39 19.93,13H17.91C17.77,13.87 17.43,14.72 16.89,15.5M13,17.9V19.92C14.39,19.75 15.74,19.21 16.9,18.31L15.46,16.87C14.71,17.41 13.87,17.76 13,17.9M19.93,11C19.76,9.61 19.21,8.27 18.31,7.11L16.89,8.53C17.43,9.28 17.77,10.13 17.91,11M15.55,5.55L11,1V4.07C7.06,4.56 4,7.92 4,12C4,16.08 7.05,19.44 11,19.93V17.91C8.16,17.43 6,14.97 6,12C6,9.03 8.16,6.57 11,6.09V10L15.55,5.55Z\" };\nconst _hoisted_4$y = { key: 0 };\nfunction _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon rotate-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$y, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$y, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$A))\n ], 16, _hoisted_1$F);\n}\nconst RotateRight = /* @__PURE__ */ _export_sfc(_sfc_main$H, [[\"render\", _sfc_render$v]]);\nconst EDITOR_COMMANDS = /* @__PURE__ */ Symbol(\"nextcloud:image-editor:commands\");\nfunction provideEditorCommands(commands) {\n provide(EDITOR_COMMANDS, commands);\n return commands;\n}\nfunction useEditorCommands() {\n const commands = inject(EDITOR_COMMANDS, null);\n if (commands === null) {\n throw new Error(\"useEditorCommands() called outside of an ImageEditor tree\");\n }\n return commands;\n}\nconst _hoisted_1$E = { class: \"crop-panel\" };\nconst _hoisted_2$z = { class: \"crop-panel__row\" };\nconst _hoisted_3$x = { class: \"crop-panel__row\" };\nconst _hoisted_4$x = {\n key: 0,\n class: \"crop-panel__divider\",\n \"data-test\": \"crop-divider\"\n};\nconst _sfc_main$G = /* @__PURE__ */ defineComponent({\n __name: \"CropPanel\",\n props: {\n loaded: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const context = useEditorContext();\n const commands = useEditorCommands();\n const labels = {\n rotateLeft: t(\"Rotate left\"),\n rotateRight: t(\"Rotate right\"),\n flipHorizontal: t(\"Flip horizontal\"),\n flipVertical: t(\"Flip vertical\"),\n applyCrop: t(\"Apply crop\"),\n resetCrop: t(\"Reset crop\"),\n rotation: t(\"Rotation\"),\n scale: t(\"Scale\")\n };\n const aspectPresets = [\n { id: null, label: t(\"Free\") },\n { id: \"original\", label: t(\"Original\") },\n { id: 1, label: \"1:1\" },\n { id: 4 / 3, label: \"4:3\" },\n { id: 16 / 9, label: \"16:9\" }\n ];\n const cropControls = [\n { id: \"rotation\", label: labels.rotation },\n { id: \"scale\", label: labels.scale }\n ];\n const activeCropControl = shallowRef(\"rotation\");\n const display = computed(() => activeCropControl.value === \"rotation\" ? `${context.state.value.fineRotation}°` : `×${context.state.value.zoom.toFixed(2)}`);\n const hasCropActions = computed(() => props.loaded && (context.state.value.crop !== null || context.cropChanged.value));\n function onTransformInput(value) {\n context.preview(activeCropControl.value === \"rotation\" ? { ...context.state.value, fineRotation: value } : { ...context.state.value, zoom: value });\n }\n function onSliderCommit() {\n context.commit(context.state.value, activeCropControl.value === \"rotation\" ? labels.rotation : labels.scale);\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$E, [\n createElementVNode(\"div\", _hoisted_2$z, [\n (openBlock(), createElementBlock(Fragment, null, renderList(aspectPresets, (preset) => {\n return createVNode(IconTab, {\n key: String(preset.id),\n \"data-test\": `aspect-${preset.id === null ? \"free\" : preset.id === \"original\" ? \"original\" : preset.label}`,\n label: preset.label,\n active: unref(context).cropAspect.value === preset.id,\n disabled: !__props.loaded,\n onClick: ($event) => unref(context).cropAspect.value = preset.id\n }, null, 8, [\"data-test\", \"label\", \"active\", \"disabled\", \"onClick\"]);\n }), 64))\n ]),\n createElementVNode(\"div\", _hoisted_3$x, [\n createVNode(unref(NcButton), {\n \"aria-label\": labels.rotateLeft,\n title: labels.rotateLeft,\n disabled: !__props.loaded,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => unref(commands).rotateCCW())\n }, {\n icon: withCtx(() => [\n createVNode(RotateLeft, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n createVNode(unref(NcButton), {\n \"aria-label\": labels.rotateRight,\n title: labels.rotateRight,\n disabled: !__props.loaded,\n variant: \"tertiary\",\n onClick: _cache[1] || (_cache[1] = ($event) => unref(commands).rotateCW())\n }, {\n icon: withCtx(() => [\n createVNode(RotateRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n createVNode(unref(NcButton), {\n \"aria-label\": labels.flipHorizontal,\n title: labels.flipHorizontal,\n disabled: !__props.loaded,\n variant: \"tertiary\",\n onClick: _cache[2] || (_cache[2] = ($event) => unref(commands).flipHorizontal())\n }, {\n icon: withCtx(() => [\n createVNode(FlipHorizontal, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n createVNode(unref(NcButton), {\n \"aria-label\": labels.flipVertical,\n title: labels.flipVertical,\n disabled: !__props.loaded,\n variant: \"tertiary\",\n onClick: _cache[3] || (_cache[3] = ($event) => unref(commands).flipVertical())\n }, {\n icon: withCtx(() => [\n createVNode(FlipVertical, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n _cache[6] || (_cache[6] = createElementVNode(\"span\", {\n class: \"crop-panel__divider\",\n \"data-test\": \"crop-divider\"\n }, null, -1)),\n (openBlock(), createElementBlock(Fragment, null, renderList(cropControls, (control) => {\n return createVNode(IconTab, {\n key: control.id,\n \"data-test\": `tab-${control.id}`,\n label: control.label,\n active: activeCropControl.value === control.id,\n disabled: !__props.loaded,\n onClick: ($event) => activeCropControl.value = control.id\n }, null, 8, [\"data-test\", \"label\", \"active\", \"disabled\", \"onClick\"]);\n }), 64)),\n hasCropActions.value ? (openBlock(), createElementBlock(\"span\", _hoisted_4$x)) : createCommentVNode(\"\", true),\n __props.loaded && unref(context).state.value.crop !== null ? (openBlock(), createBlock(unref(NcButton), {\n key: 1,\n \"data-test\": \"reset-crop\",\n variant: \"tertiary\",\n onClick: _cache[4] || (_cache[4] = ($event) => unref(commands).resetCrop())\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(labels.resetCrop), 1)\n ]),\n _: 1\n })) : createCommentVNode(\"\", true),\n __props.loaded && unref(context).cropChanged.value ? (openBlock(), createBlock(unref(NcButton), {\n key: 2,\n \"data-test\": \"apply-crop\",\n variant: \"tertiary\",\n onClick: _cache[5] || (_cache[5] = ($event) => unref(commands).applyCrop())\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(labels.applyCrop), 1)\n ]),\n _: 1\n })) : createCommentVNode(\"\", true)\n ]),\n activeCropControl.value === \"rotation\" ? (openBlock(), createBlock(EditorSlider, {\n key: 0,\n value: unref(context).state.value.fineRotation,\n min: -45,\n max: 45,\n step: 1,\n label: labels.rotation,\n display: display.value,\n \"data-test\": \"fine-rotation\",\n disabled: !__props.loaded,\n onInput: onTransformInput,\n onCommit: onSliderCommit\n }, null, 8, [\"value\", \"label\", \"display\", \"disabled\"])) : (openBlock(), createBlock(EditorSlider, {\n key: 1,\n value: unref(context).state.value.zoom,\n min: 1,\n max: 3,\n step: 0.05,\n label: labels.scale,\n display: display.value,\n \"data-test\": \"zoom\",\n disabled: !__props.loaded,\n onInput: onTransformInput,\n onCommit: onSliderCommit\n }, null, 8, [\"value\", \"label\", \"display\", \"disabled\"]))\n ]);\n };\n }\n});\nconst CropPanel = /* @__PURE__ */ _export_sfc(_sfc_main$G, [[\"__scopeId\", \"data-v-091ea9a4\"]]);\nconst FLOOR_AREA = 512 * 512;\nconst REFINEMENTS = 4;\nlet largestGood = 0;\nlet smallestBad = Number.POSITIVE_INFINITY;\nfunction paints(area) {\n const side = Math.floor(Math.sqrt(area));\n const canvas = document.createElement(\"canvas\");\n canvas.width = side;\n canvas.height = side;\n const context = canvas.getContext(\"2d\");\n if (context === null) {\n return false;\n }\n try {\n context.fillStyle = \"#ffffff\";\n context.fillRect(side - 1, side - 1, 1, 1);\n return context.getImageData(side - 1, side - 1, 1, 1).data[3] === 255;\n } catch {\n return false;\n } finally {\n canvas.width = 0;\n canvas.height = 0;\n }\n}\nfunction fits(area) {\n if (area <= largestGood) {\n return true;\n }\n if (area >= smallestBad) {\n return false;\n }\n if (paints(area)) {\n largestGood = area;\n return true;\n }\n smallestBad = area;\n return false;\n}\nfunction canvasScaleFor(size) {\n const area = size.width * size.height;\n if (area <= 0 || fits(area)) {\n return 1;\n }\n let bad = area;\n let good = 0;\n for (let candidate = area / 2; candidate >= FLOOR_AREA; candidate /= 2) {\n if (fits(candidate)) {\n good = candidate;\n break;\n }\n bad = candidate;\n }\n if (good === 0) {\n return Math.min(1, Math.sqrt(FLOOR_AREA / area));\n }\n for (let step = 0; step < REFINEMENTS; step++) {\n const middle = (good + bad) / 2;\n if (fits(middle)) {\n good = middle;\n } else {\n bad = middle;\n }\n }\n return Math.min(1, Math.sqrt(good / area));\n}\nfunction luma(r, g, b2) {\n return 0.299 * r + 0.587 * g + 0.114 * b2;\n}\nconst EXPOSURE_RANGE = 2;\nconst TEMPERATURE_RANGE = 0.25;\nconst TINT_RANGE = 0.25;\nfunction tone(imageData) {\n const { data } = imageData;\n const exposure = 2 ** ((this.getAttr(\"exposure\") ?? 0) * EXPOSURE_RANGE);\n const temperature = (this.getAttr(\"temperature\") ?? 0) * TEMPERATURE_RANGE;\n const tint = (this.getAttr(\"tint\") ?? 0) * TINT_RANGE;\n const red = exposure * (1 + temperature) * (1 + tint / 2);\n const green = exposure * (1 - tint);\n const blue = exposure * (1 - temperature) * (1 + tint / 2);\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n data[i2] = data[i2] * red;\n data[i2 + 1] = data[i2 + 1] * green;\n data[i2 + 2] = data[i2 + 2] * blue;\n }\n}\nconst HIGHLIGHTS_RANGE = 0.6;\nconst SHADOWS_RANGE = 0.6;\nfunction tonal(imageData) {\n const highlights = (this.getAttr(\"highlights\") ?? 0) * HIGHLIGHTS_RANGE;\n const shadows = (this.getAttr(\"shadows\") ?? 0) * SHADOWS_RANGE;\n if (highlights === 0 && shadows === 0) {\n return;\n }\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const level = luma(data[i2], data[i2 + 1], data[i2 + 2]) / 255;\n const bright = level * level;\n const dark = (1 - level) * (1 - level);\n const gain = 1 + highlights * bright + shadows * dark;\n data[i2] = data[i2] * gain;\n data[i2 + 1] = data[i2 + 1] * gain;\n data[i2 + 2] = data[i2 + 2] * gain;\n }\n}\nconst VIGNETTE_RANGE = 0.9;\nconst VIGNETTE_START = 0.35;\nfunction vignette(imageData) {\n const amount = (this.getAttr(\"vignette\") ?? 0) * VIGNETTE_RANGE;\n if (amount === 0) {\n return;\n }\n const { data, width, height } = imageData;\n const centreX = width / 2;\n const centreY = height / 2;\n for (let y = 0; y < height; y++) {\n const dy = (y - centreY) / centreY;\n for (let x = 0; x < width; x++) {\n const dx = (x - centreX) / centreX;\n const distance = Math.sqrt(dx * dx + dy * dy);\n const t2 = Math.min(1, Math.max(0, (distance - VIGNETTE_START) / (1 - VIGNETTE_START)));\n const gain = 1 - amount * t2 * t2 * (3 - 2 * t2);\n const i2 = (y * width + x) * 4;\n data[i2] = data[i2] * gain;\n data[i2 + 1] = data[i2 + 1] * gain;\n data[i2 + 2] = data[i2 + 2] * gain;\n }\n }\n}\nconst SHARPEN_RANGE = 1.2;\nfunction sharpen(imageData) {\n const amount = (this.getAttr(\"sharpen\") ?? 0) * SHARPEN_RANGE;\n if (amount === 0) {\n return;\n }\n const { data, width, height } = imageData;\n const source = new Uint8ClampedArray(data);\n const stride = width * 4;\n for (let y = 1; y < height - 1; y++) {\n for (let x = 1; x < width - 1; x++) {\n const centre = y * stride + x * 4;\n for (let channel = 0; channel < 3; channel++) {\n const i2 = centre + channel;\n const neighbours = source[i2 - 4] + source[i2 + 4] + source[i2 - stride] + source[i2 + stride];\n data[i2] = source[i2] * (1 + 4 * amount) - amount * neighbours;\n }\n }\n }\n}\nfunction saturate(imageData) {\n const { data } = imageData;\n const factor = this.saturation() + 1;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const gray = luma(data[i2], data[i2 + 1], data[i2 + 2]);\n data[i2] = gray + (data[i2] - gray) * factor;\n data[i2 + 1] = gray + (data[i2 + 1] - gray) * factor;\n data[i2 + 2] = gray + (data[i2 + 2] - gray) * factor;\n }\n}\nfunction warm(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n data[i2] = Math.min(255, data[i2] * 1.12);\n data[i2 + 2] = data[i2 + 2] * 0.9;\n }\n}\nfunction cool(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n data[i2] = data[i2] * 0.9;\n data[i2 + 2] = Math.min(255, data[i2 + 2] * 1.12);\n }\n}\nfunction fade(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const luma2 = 0.299 * data[i2] + 0.587 * data[i2 + 1] + 0.114 * data[i2 + 2];\n data[i2] = 28 + (0.7 * data[i2] + 0.3 * luma2) * 0.86 * 1.04;\n data[i2 + 1] = 28 + (0.7 * data[i2 + 1] + 0.3 * luma2) * 0.86;\n data[i2 + 2] = 28 + (0.7 * data[i2 + 2] + 0.3 * luma2) * 0.86 * 0.96;\n }\n}\nfunction noir(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const luma2 = 0.299 * data[i2] + 0.587 * data[i2 + 1] + 0.114 * data[i2 + 2];\n const value = Math.min(255, Math.max(0, (luma2 - 128) * 1.35 + 118));\n data[i2] = value;\n data[i2 + 1] = value;\n data[i2 + 2] = value;\n }\n}\nfunction golden(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n data[i2] = data[i2] * 1.12 + 12;\n data[i2 + 1] = data[i2 + 1] * 1.04 + 5;\n data[i2 + 2] = data[i2 + 2] * 0.82;\n }\n}\nfunction coast(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const luma2 = 0.299 * data[i2] + 0.587 * data[i2 + 1] + 0.114 * data[i2 + 2];\n const shadow = Math.max(0, 1 - luma2 / 140);\n data[i2] = (data[i2] - 128) * 1.12 + 132;\n data[i2 + 1] = (data[i2 + 1] - 128) * 1.12 + 132 + 10 * shadow;\n data[i2 + 2] = (data[i2 + 2] - 128) * 1.12 + 132 + 22 * shadow;\n }\n}\nfunction mist(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const luma2 = 0.299 * data[i2] + 0.587 * data[i2 + 1] + 0.114 * data[i2 + 2];\n data[i2] = 22 + (0.6 * data[i2] + 0.4 * luma2) * 0.84;\n data[i2 + 1] = 22 + (0.6 * data[i2 + 1] + 0.4 * luma2) * 0.84;\n data[i2 + 2] = 26 + (0.6 * data[i2 + 2] + 0.4 * luma2) * 0.84;\n }\n}\nfunction berry(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n data[i2] = (data[i2] - 128) * 1.08 + 128 + 10;\n data[i2 + 1] = (data[i2 + 1] - 128) * 1.08 + 128 - 12;\n data[i2 + 2] = (data[i2 + 2] - 128) * 1.08 + 128 + 8;\n }\n}\nfunction cinema(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const luma2 = 0.299 * data[i2] + 0.587 * data[i2 + 1] + 0.114 * data[i2 + 2];\n const balance = (luma2 - 128) / 128;\n data[i2] = (data[i2] - 128) * 1.06 + 128 + 16 * balance;\n data[i2 + 1] = (data[i2 + 1] - 128) * 1.06 + 128;\n data[i2 + 2] = (data[i2 + 2] - 128) * 1.06 + 128 - 20 * balance;\n }\n}\nfunction luna(imageData) {\n const { data } = imageData;\n for (let i2 = 0; i2 < data.length; i2 += 4) {\n const luma2 = 0.299 * data[i2] + 0.587 * data[i2 + 1] + 0.114 * data[i2 + 2];\n const value = 18 + luma2 * 0.9;\n data[i2] = value;\n data[i2 + 1] = value;\n data[i2 + 2] = value + 4;\n }\n}\nconst jsContent = '(function() {\\n \"use strict\";\\n function halve(source) {\\n const canvas = new OffscreenCanvas(\\n Math.max(1, Math.ceil(source.width / 2)),\\n Math.max(1, Math.ceil(source.height / 2))\\n );\\n const context = canvas.getContext(\"2d\");\\n if (context === null) {\\n throw new Error(\"Canvas 2D context unavailable\");\\n }\\n context.imageSmoothingQuality = \"high\";\\n context.drawImage(source, 0, 0, canvas.width, canvas.height);\\n return canvas.transferToImageBitmap();\\n }\\n self.addEventListener(\"message\", async (event) => {\\n const request = event.data;\\n try {\\n if (request.kind === \"decode\") {\\n const bitmap = await createImageBitmap(request.blob);\\n const response2 = { id: request.id, kind: \"decode\", bitmap };\\n self.postMessage(response2, { transfer: [bitmap] });\\n return;\\n }\\n let level = request.bitmap;\\n const levels = [];\\n for (let step = 0; step < request.steps && (level.width > 1 || level.height > 1); step++) {\\n level = halve(level);\\n levels.push(level);\\n }\\n request.bitmap.close();\\n const response = { id: request.id, kind: \"levels\", levels };\\n self.postMessage(response, { transfer: levels });\\n } catch (error) {\\n const response = {\\n id: request.id,\\n kind: \"error\",\\n message: error instanceof Error ? error.message : String(error)\\n };\\n self.postMessage(response);\\n }\\n });\\n})();\\n//# sourceMappingURL=image.worker-CCbQx30t.js.map\\n';\nconst blob = typeof self !== \"undefined\" && self.Blob && new Blob([\"(self.URL || self.webkitURL).revokeObjectURL(self.location.href);\", jsContent], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper(options) {\n let objURL;\n try {\n objURL = blob && (self.URL || self.webkitURL).createObjectURL(blob);\n if (!objURL) throw \"\";\n const worker = new Worker(objURL, {\n name: options?.name\n });\n worker.addEventListener(\"error\", () => {\n (self.URL || self.webkitURL).revokeObjectURL(objURL);\n });\n return worker;\n } catch (e) {\n return new Worker(\n \"data:text/javascript;charset=utf-8,\" + encodeURIComponent(jsContent),\n {\n name: options?.name\n }\n );\n }\n}\nfunction createImageWorkerClient(worker) {\n const pending = /* @__PURE__ */ new Map();\n let nextId = 0;\n let broken = false;\n function fail() {\n broken = true;\n const waiting = [...pending.values()];\n pending.clear();\n waiting.forEach((one) => one.reject(new Error(\"The image worker stopped\")));\n }\n worker.addEventListener(\"error\", fail);\n worker.addEventListener(\"messageerror\", fail);\n worker.addEventListener(\"message\", (event) => {\n const response = event.data;\n const waiting = pending.get(response.id);\n if (waiting === void 0) {\n return;\n }\n pending.delete(response.id);\n if (response.kind === \"error\") {\n waiting.reject(new Error(response.message));\n return;\n }\n waiting.resolve(response.kind === \"decode\" ? response.bitmap : response.levels);\n });\n function ask(request, transfer) {\n if (broken) {\n return Promise.reject(new Error(\"The image worker stopped\"));\n }\n const id = nextId++;\n return new Promise((resolve, reject) => {\n pending.set(id, { resolve, reject });\n worker.postMessage({ ...request, id }, transfer);\n });\n }\n return {\n decode: (blob2) => ask({ kind: \"decode\", blob: blob2 }, []),\n levels: (bitmap, steps) => ask({ kind: \"levels\", bitmap, steps }, [bitmap])\n };\n}\nlet client;\nfunction imageWorker() {\n if (client !== void 0) {\n return client;\n }\n client = null;\n if (typeof Worker === \"undefined\" || typeof OffscreenCanvas === \"undefined\" || typeof createImageBitmap === \"undefined\") {\n return client;\n }\n try {\n client = createImageWorkerClient(new WorkerWrapper());\n } catch {\n client = null;\n }\n return client;\n}\nconst halves = /* @__PURE__ */ new WeakMap();\nconst PREBUILT_LEVELS = 4;\nfunction halve(source) {\n const canvas = document.createElement(\"canvas\");\n canvas.width = Math.max(1, Math.ceil(source.width / 2));\n canvas.height = Math.max(1, Math.ceil(source.height / 2));\n const context = canvas.getContext(\"2d\");\n if (context === null) {\n throw new Error(\"Canvas 2D context unavailable\");\n }\n context.imageSmoothingQuality = \"high\";\n context.drawImage(source, 0, 0, canvas.width, canvas.height);\n return canvas;\n}\nasync function prepareLevels(source) {\n const worker = imageWorker();\n if (worker === null || halves.has(source)) {\n return;\n }\n try {\n const bitmap = await createImageBitmap(source);\n const levels = await worker.levels(bitmap, PREBUILT_LEVELS);\n halves.set(source, levels);\n } catch {\n }\n}\nfunction levelFor(source, scale) {\n let level = source;\n let drawn = scale;\n let depth = 0;\n while (drawn <= 0.5 && (level.width > 1 || level.height > 1)) {\n const cached = halves.get(source) ?? [];\n level = cached[depth] ?? halve(level);\n cached[depth] = level;\n halves.set(source, cached);\n drawn *= 2;\n depth += 1;\n }\n return level;\n}\nconst TEXT_EMPHASES = [\"bold\", \"italic\", \"underline\", \"strikethrough\"];\nfunction fontStyle(text) {\n if (text.italic === true) {\n return text.bold === true ? \"italic bold\" : \"italic\";\n }\n return text.bold === true ? \"bold\" : \"normal\";\n}\nfunction textDecoration(text) {\n if (text.underline === true) {\n return text.strikethrough === true ? \"underline line-through\" : \"underline\";\n }\n return text.strikethrough === true ? \"line-through\" : \"\";\n}\nconst OUTLINE_RATIO = 8;\nfunction outlineColor(color) {\n const hex = /^#?([0-9a-f]{6})$/i.exec(color)?.[1];\n if (hex === void 0) {\n return \"#000000\";\n }\n const red = Number.parseInt(hex.slice(0, 2), 16);\n const green = Number.parseInt(hex.slice(2, 4), 16);\n const blue = Number.parseInt(hex.slice(4, 6), 16);\n const luma2 = 0.299 * red + 0.587 * green + 0.114 * blue;\n return luma2 > 140 ? \"#000000\" : \"#ffffff\";\n}\nfunction outlineWidth(fontSize) {\n return Math.max(1, Math.round(fontSize / OUTLINE_RATIO));\n}\nfunction visibleRect(state, oriented) {\n return state.crop ?? { x: 0, y: 0, ...oriented };\n}\nfunction context2d(canvas) {\n const context = canvas.getContext(\"2d\");\n if (context === null) {\n throw new Error(\"Canvas 2D context unavailable\");\n }\n return context;\n}\nfunction supportsContextFilter(context) {\n if (context === null) {\n return false;\n }\n context.filter = \"blur(1px)\";\n return context.filter !== \"none\";\n}\nlet contextFilterSupport = null;\nfunction contextFilterAvailable() {\n contextFilterSupport ??= supportsContextFilter(document.createElement(\"canvas\").getContext(\"2d\"));\n return contextFilterSupport;\n}\nfunction obfuscateRegion(region, style, strength) {\n const out = document.createElement(\"canvas\");\n out.width = region.width;\n out.height = region.height;\n const context = context2d(out);\n if (style === \"blur\" && contextFilterAvailable()) {\n context.filter = `blur(${strength}px)`;\n context.drawImage(region, 0, 0);\n return out;\n }\n const small = document.createElement(\"canvas\");\n small.width = Math.max(1, Math.ceil(region.width / strength));\n small.height = Math.max(1, Math.ceil(region.height / strength));\n context2d(small).drawImage(region, 0, 0, small.width, small.height);\n context.imageSmoothingEnabled = false;\n context.drawImage(small, 0, 0, out.width, out.height);\n return out;\n}\nfunction cutEllipse(patch, x, y, width, height) {\n const out = document.createElement(\"canvas\");\n out.width = width;\n out.height = height;\n const context = context2d(out);\n context.drawImage(patch, x, y, width, height, 0, 0, width, height);\n context.globalCompositeOperation = \"destination-in\";\n context.beginPath();\n context.ellipse(width / 2, height / 2, width / 2, height / 2, 0, 0, Math.PI * 2);\n context.fill();\n return out;\n}\nfunction redactStrength(source) {\n return Math.max(4, Math.round(Math.min(source.width, source.height) / 40));\n}\nfunction redactSceneFunc(annotation, strength) {\n return (context, shape) => {\n const canvas = context.canvas;\n if (canvas.hitCanvas === true) {\n return;\n }\n const width = shape.width();\n const height = shape.height();\n const transform = shape.getAbsoluteTransform();\n const topLeft = transform.point({ x: 0, y: 0 });\n const bottomRight = transform.point({ x: width, y: height });\n const ratio = canvas.pixelRatio || 1;\n const left = Math.round(topLeft.x * ratio);\n const top = Math.round(topLeft.y * ratio);\n const deviceWidth = Math.round(bottomRight.x * ratio) - left;\n const deviceHeight = Math.round(bottomRight.y * ratio) - top;\n if (deviceWidth < 1 || deviceHeight < 1 || width <= 0 || height <= 0) {\n return;\n }\n const deviceStrength = Math.max(2, Math.round(strength * (deviceWidth / width)));\n const pad = annotation.style === \"blur\" ? deviceStrength * 2 : 0;\n const readLeft = Math.max(0, left - pad);\n const readTop = Math.max(0, top - pad);\n const readWidth = Math.min(canvas.width, left + deviceWidth + pad) - readLeft;\n const readHeight = Math.min(canvas.height, top + deviceHeight + pad) - readTop;\n if (readWidth < 1 || readHeight < 1) {\n return;\n }\n const region = document.createElement(\"canvas\");\n region.width = readWidth;\n region.height = readHeight;\n context2d(region).putImageData(context.getImageData(readLeft, readTop, readWidth, readHeight), 0, 0);\n const patch = obfuscateRegion(region, annotation.style, deviceStrength);\n if (redactShape(annotation.shape) === \"ellipse\") {\n const cut = cutEllipse(patch, left - readLeft, top - readTop, deviceWidth, deviceHeight);\n context.drawImage(cut, 0, 0, width, height);\n return;\n }\n context.drawImage(\n patch,\n left - readLeft,\n top - readTop,\n deviceWidth,\n deviceHeight,\n 0,\n 0,\n width,\n height\n );\n };\n}\nfunction backgroundPadding(fontSize) {\n return Math.max(2, Math.round(fontSize / 6));\n}\nconst MIN_HIT_AREA = 24;\nfunction hitAreaWidth(strokeWidth, scale) {\n return Math.max(strokeWidth, MIN_HIT_AREA / Math.max(scale, Number.EPSILON));\n}\nfunction buildAnnotationNode(annotation, source) {\n const base = { id: annotation.id, name: \"annotation\" };\n switch (annotation.type) {\n case \"draw\":\n return new Konva.Line({\n ...base,\n points: annotation.points,\n stroke: annotation.color,\n strokeWidth: annotation.strokeWidth,\n lineCap: \"round\",\n lineJoin: \"round\"\n });\n case \"line\":\n return new Konva.Line({\n ...base,\n points: [...annotation.points],\n stroke: annotation.color,\n strokeWidth: annotation.strokeWidth,\n lineCap: \"round\"\n });\n case \"arrow\":\n return new Konva.Arrow({\n ...base,\n points: [...annotation.points],\n stroke: annotation.color,\n fill: annotation.color,\n strokeWidth: annotation.strokeWidth,\n pointerLength: annotation.strokeWidth * 4,\n pointerWidth: annotation.strokeWidth * 4\n });\n case \"rectangle\":\n return new Konva.Rect({\n ...base,\n ...annotation.rect,\n rotation: annotation.rotation,\n stroke: annotation.color,\n strokeWidth: annotation.strokeWidth\n });\n case \"ellipse\":\n return new Konva.Ellipse({\n ...base,\n x: annotation.rect.x,\n y: annotation.rect.y,\n offsetX: -annotation.rect.width / 2,\n offsetY: -annotation.rect.height / 2,\n radiusX: annotation.rect.width / 2,\n radiusY: annotation.rect.height / 2,\n rotation: annotation.rotation,\n stroke: annotation.color,\n strokeWidth: annotation.strokeWidth\n });\n case \"text\":\n case \"sticker\": {\n const text = new Konva.Text({\n ...base,\n x: annotation.x,\n y: annotation.y,\n text: annotation.text,\n fill: annotation.color,\n fontSize: annotation.fontSize,\n rotation: annotation.rotation,\n // Kept in sync with the text overlay for WYSIWYG editing\n fontFamily: fontStack(annotation.font),\n fontStyle: fontStyle(annotation),\n textDecoration: textDecoration(annotation),\n align: textAlign(annotation.align),\n ...annotation.outline === true ? {\n stroke: outlineColor(annotation.color),\n strokeWidth: outlineWidth(annotation.fontSize),\n // The edge sits behind the glyph rather than eating\n // into it, which is what keeps small text legible\n fillAfterStrokeEnabled: true\n } : {},\n ...annotation.background === true ? { padding: backgroundPadding(annotation.fontSize) } : {}\n });\n if (annotation.background !== true) {\n return text;\n }\n const label = new Konva.Label({ ...base, x: annotation.x, y: annotation.y, rotation: annotation.rotation });\n text.position({ x: 0, y: 0 });\n text.rotation(0);\n label.add(new Konva.Tag({ fill: outlineColor(annotation.color), cornerRadius: 2 }));\n label.add(text);\n return label;\n }\n case \"redact\": {\n if (source === void 0) {\n throw new Error(\"Redaction requires the source image size\");\n }\n const { rect } = annotation;\n return new Konva.Shape({\n ...base,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n // Something has to be fillable for the shape to register on\n // the hit canvas; what is drawn there is the hit colour\n fill: \"black\",\n sceneFunc: redactSceneFunc(annotation, redactStrength(source)),\n hitFunc: (context, shape) => {\n const shapeWidth = shape.width();\n const shapeHeight = shape.height();\n context.beginPath();\n if (redactShape(annotation.shape) === \"ellipse\") {\n context.ellipse(\n shapeWidth / 2,\n shapeHeight / 2,\n shapeWidth / 2,\n shapeHeight / 2,\n 0,\n 0,\n Math.PI * 2\n );\n } else {\n context.rect(0, 0, shapeWidth, shapeHeight);\n }\n context.closePath();\n context.fillStrokeShape(shape);\n }\n });\n }\n }\n}\nfunction applyFilters(node, state, pixelRatio = 1) {\n const { exposure, brightness, contrast, saturation, temperature, tint } = state.adjustments;\n const { highlights, shadows } = state.adjustments;\n const filters = [];\n if (exposure !== 0 || temperature !== 0 || tint !== 0) {\n filters.push(tone);\n }\n if (brightness !== 0) {\n filters.push(Konva.Filters.Brighten);\n }\n if (contrast !== 0) {\n filters.push(Konva.Filters.Contrast);\n }\n if (saturation !== 0) {\n filters.push(saturate);\n }\n if (highlights !== 0 || shadows !== 0) {\n filters.push(tonal);\n }\n const presetFilters = {\n none: null,\n grayscale: Konva.Filters.Grayscale,\n noir,\n luna,\n sepia: Konva.Filters.Sepia,\n fade,\n warm,\n cool,\n golden,\n coast,\n mist,\n berry,\n cinema,\n invert: Konva.Filters.Invert,\n solarize: Konva.Filters.Solarize,\n posterize: Konva.Filters.Posterize,\n pop: Konva.Filters.Enhance\n }[state.preset];\n if (presetFilters !== null) {\n filters.push(presetFilters);\n }\n if (state.adjustments.sharpen !== 0) {\n filters.push(sharpen);\n }\n if (state.adjustments.vignette !== 0) {\n filters.push(vignette);\n }\n if (filters.length === 0) {\n node.filters([]);\n node.clearCache();\n return;\n }\n node.filters(filters);\n node.brightness(brightness / 100);\n node.contrast(contrast);\n node.saturation(saturation / 100);\n node.setAttr(\"exposure\", exposure / 100);\n node.setAttr(\"temperature\", temperature / 100);\n node.setAttr(\"tint\", tint / 100);\n node.setAttr(\"sharpen\", state.adjustments.sharpen / 100);\n node.setAttr(\"highlights\", highlights / 100);\n node.setAttr(\"shadows\", shadows / 100);\n node.setAttr(\"vignette\", state.adjustments.vignette / 100);\n if (state.preset === \"posterize\") {\n node.levels(0.02);\n }\n if (state.preset === \"pop\") {\n node.enhance(0.25);\n }\n const cacheFit = canvasScaleFor({\n width: node.width() * pixelRatio,\n height: node.height() * pixelRatio\n });\n node.cache({ pixelRatio: pixelRatio * cacheFit });\n}\nfunction thumbnailKey(state) {\n const { crop, adjustments } = state;\n return [\n crop?.x,\n crop?.y,\n crop?.width,\n crop?.height,\n ...Object.values(adjustments)\n ].join(\"|\");\n}\nfunction presetThumbnail(oriented, state, preset, size = 96) {\n const visible = visibleRect(state, { width: oriented.width, height: oriented.height });\n const scale = Math.min(size / visible.width, size / visible.height);\n const thumb = document.createElement(\"canvas\");\n thumb.width = Math.max(1, Math.round(visible.width * scale));\n thumb.height = Math.max(1, Math.round(visible.height * scale));\n context2d(thumb).drawImage(oriented, visible.x, visible.y, visible.width, visible.height, 0, 0, thumb.width, thumb.height);\n const stage = new Konva.Stage({\n container: document.createElement(\"div\"),\n width: thumb.width,\n height: thumb.height\n });\n try {\n const node = new Konva.Image({ image: thumb, listening: false });\n applyFilters(node, { ...state, preset });\n const layer = new Konva.Layer();\n layer.add(node);\n stage.add(layer);\n return stage.toDataURL();\n } finally {\n stage.destroy();\n }\n}\nfunction createScene(stage) {\n const layer = new Konva.Layer();\n const viewGroup = new Konva.Group({ name: \"view\" });\n const contentGroup = new Konva.Group({ name: \"content\" });\n const imageNode = new Konva.Image({ image: void 0, listening: false });\n contentGroup.add(imageNode);\n viewGroup.add(contentGroup);\n layer.add(viewGroup);\n stage.add(layer);\n const built = /* @__PURE__ */ new Map();\n let filterKey = \"\";\n const update = (oriented, state, options) => {\n const level = levelFor(oriented, options.scale * layer.getCanvas().getPixelRatio());\n const imageChanged = imageNode.image() !== level;\n if (imageChanged) {\n imageNode.image(level);\n imageNode.scale({ x: oriented.width / level.width, y: oriented.height / level.height });\n }\n const origin = options.showCropped ? visibleRect(state, { width: oriented.width, height: oriented.height }) : { x: 0, y: 0 };\n viewGroup.position({\n x: options.offset.x - origin.x * options.scale,\n y: options.offset.y - origin.y * options.scale\n });\n viewGroup.scale({ x: options.scale, y: options.scale });\n if (options.showCropped && state.crop !== null) {\n viewGroup.clip(state.crop);\n } else {\n viewGroup.clipWidth(void 0);\n viewGroup.clipHeight(void 0);\n }\n const pixelRatio = options.fastFilters ? Math.min(1, options.scale * imageNode.scaleX() * (globalThis.devicePixelRatio || 1)) : 1;\n const nextFilterKey = `${Object.values(state.adjustments).join(\"|\")}|${state.preset}|${pixelRatio}`;\n if (imageChanged || nextFilterKey !== filterKey) {\n applyFilters(imageNode, state, pixelRatio);\n filterKey = nextFilterKey;\n }\n const seen = /* @__PURE__ */ new Set();\n const sourceSize = { width: oriented.width, height: oriented.height };\n for (const annotation of state.annotations) {\n seen.add(annotation.id);\n const entry = built.get(annotation.id);\n if (entry !== void 0 && entry.annotation === annotation) {\n continue;\n }\n entry?.node.destroy();\n const node = buildAnnotationNode(annotation, sourceSize);\n contentGroup.add(node);\n built.set(annotation.id, { annotation, node });\n }\n for (const [id, entry] of built) {\n if (!seen.has(id)) {\n entry.node.destroy();\n built.delete(id);\n }\n }\n for (const { node } of built.values()) {\n if (node instanceof Konva.Shape && node.strokeWidth() > 0) {\n node.hitStrokeWidth(hitAreaWidth(node.strokeWidth(), options.scale));\n }\n }\n imageNode.zIndex(0);\n state.annotations.forEach((annotation, index) => built.get(annotation.id).node.zIndex(index + 1));\n layer.batchDraw();\n };\n return {\n viewGroup,\n contentGroup,\n imageNode,\n update,\n destroy: () => {\n built.clear();\n layer.destroy();\n }\n };\n}\nfunction renderScene(stage, oriented, state, options) {\n const scene = createScene(stage);\n scene.update(oriented, state, options);\n return scene;\n}\nfunction renderToCanvas(oriented, state, maxSize) {\n const visible = visibleRect(state, { width: oriented.width, height: oriented.height });\n const requested = maxSize === void 0 ? 1 : Math.min(1, maxSize / Math.max(visible.width, visible.height));\n const pixelRatio = requested * canvasScaleFor({\n width: visible.width * requested,\n height: visible.height * requested\n });\n const stage = new Konva.Stage({\n // Detached container: the export stage is never displayed\n container: document.createElement(\"div\"),\n width: visible.width,\n height: visible.height\n });\n try {\n renderScene(stage, oriented, state, {\n scale: 1,\n offset: { x: 0, y: 0 },\n showCropped: true\n });\n return stage.toCanvas({ pixelRatio });\n } finally {\n stage.destroy();\n }\n}\nfunction toImageCoords(pointer, state, oriented, options) {\n const visible = visibleRect(state, oriented);\n return {\n x: (pointer.x - options.offset.x) / options.scale + (options.showCropped ? visible.x : 0),\n y: (pointer.y - options.offset.y) / options.scale + (options.showCropped ? visible.y : 0)\n };\n}\nconst _hoisted_1$D = [\"src\", \"alt\"];\nconst _sfc_main$F = /* @__PURE__ */ defineComponent({\n __name: \"FilterStrip\",\n props: {\n loaded: { type: Boolean },\n oriented: {}\n },\n setup(__props) {\n const props = __props;\n const context = useEditorContext();\n const presets = [\n { id: \"none\", label: t(\"No filter\") },\n { id: \"pop\", label: t(\"Pop\") },\n { id: \"golden\", label: t(\"Golden\") },\n { id: \"coast\", label: t(\"Coast\") },\n { id: \"cinema\", label: t(\"Cinema\") },\n { id: \"berry\", label: t(\"Berry\") },\n { id: \"mist\", label: t(\"Mist\") },\n { id: \"warm\", label: t(\"Warm\") },\n { id: \"cool\", label: t(\"Cool\") },\n { id: \"fade\", label: t(\"Fade\") },\n { id: \"grayscale\", label: t(\"Grayscale\") },\n { id: \"noir\", label: t(\"Noir\") },\n { id: \"luna\", label: t(\"Luna\") },\n { id: \"sepia\", label: t(\"Sepia\") },\n { id: \"invert\", label: t(\"Invert\") },\n { id: \"solarize\", label: t(\"Solarize\") },\n { id: \"posterize\", label: t(\"Posterize\") }\n ];\n const presetPreviews = shallowRef([]);\n watch(\n [() => props.oriented, () => thumbnailKey(context.state.value)],\n ([oriented]) => {\n presetPreviews.value = oriented ? presets.map((preset) => ({\n ...preset,\n url: presetThumbnail(oriented, context.state.value, preset.id)\n })) : [];\n },\n { immediate: true }\n );\n function setPreset(preset, label) {\n context.commit({ ...context.state.value, preset }, label);\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(GlassSurface, {\n variant: \"strip\",\n class: \"filter-strip\"\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(presetPreviews.value, (preset) => {\n return openBlock(), createBlock(IconTab, {\n key: preset.id,\n label: preset.label,\n active: unref(context).state.value.preset === preset.id,\n disabled: !__props.loaded,\n \"data-test\": `preset-${preset.id}`,\n onClick: ($event) => setPreset(preset.id, preset.label)\n }, {\n default: withCtx(() => [\n createElementVNode(\"img\", {\n src: preset.url,\n alt: preset.label\n }, null, 8, _hoisted_1$D)\n ]),\n _: 2\n }, 1032, [\"label\", \"active\", \"disabled\", \"data-test\", \"onClick\"]);\n }), 128))\n ]),\n _: 1\n });\n };\n }\n});\nconst FilterStrip = /* @__PURE__ */ _export_sfc(_sfc_main$F, [[\"__scopeId\", \"data-v-ceab69b4\"]]);\nconst _hoisted_1$C = { class: \"redact-panel\" };\nconst _sfc_main$E = /* @__PURE__ */ defineComponent({\n __name: \"RedactPanel\",\n props: {\n loaded: { type: Boolean }\n },\n setup(__props) {\n const context = useEditorContext();\n const labels = {\n pixelate: t(\"Pixelate\"),\n blur: t(\"Smooth\"),\n rectangle: t(\"Rectangular area\"),\n ellipse: t(\"Oval area\")\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$C, [\n createVNode(IconTab, {\n \"data-test\": \"redact-pixelate\",\n label: labels.pixelate,\n active: unref(context).redactStyle.value === \"pixelate\",\n disabled: !__props.loaded,\n onClick: _cache[0] || (_cache[0] = ($event) => unref(context).redactStyle.value = \"pixelate\")\n }, null, 8, [\"label\", \"active\", \"disabled\"]),\n createVNode(IconTab, {\n \"data-test\": \"redact-blur\",\n label: labels.blur,\n active: unref(context).redactStyle.value === \"blur\",\n disabled: !__props.loaded,\n onClick: _cache[1] || (_cache[1] = ($event) => unref(context).redactStyle.value = \"blur\")\n }, null, 8, [\"label\", \"active\", \"disabled\"]),\n _cache[4] || (_cache[4] = createElementVNode(\"span\", { class: \"redact-panel__divider\" }, null, -1)),\n createVNode(IconTab, {\n \"data-test\": \"redact-rectangle\",\n label: labels.rectangle,\n active: unref(context).redactShape.value === \"rectangle\",\n disabled: !__props.loaded,\n iconOnly: \"\",\n onClick: _cache[2] || (_cache[2] = ($event) => unref(context).redactShape.value = \"rectangle\")\n }, {\n default: withCtx(() => [\n createVNode(RectangleOutline, { size: 20 })\n ]),\n _: 1\n }, 8, [\"label\", \"active\", \"disabled\"]),\n createVNode(IconTab, {\n \"data-test\": \"redact-ellipse\",\n label: labels.ellipse,\n active: unref(context).redactShape.value === \"ellipse\",\n disabled: !__props.loaded,\n iconOnly: \"\",\n onClick: _cache[3] || (_cache[3] = ($event) => unref(context).redactShape.value = \"ellipse\")\n }, {\n default: withCtx(() => [\n createVNode(EllipseOutline, { size: 20 })\n ]),\n _: 1\n }, 8, [\"label\", \"active\", \"disabled\"])\n ]);\n };\n }\n});\nconst RedactPanel = /* @__PURE__ */ _export_sfc(_sfc_main$E, [[\"__scopeId\", \"data-v-ca1eeeeb\"]]);\nconst _hoisted_1$B = { class: \"select-panel\" };\nconst _hoisted_2$y = { class: \"select-panel__hint\" };\nconst _sfc_main$D = /* @__PURE__ */ defineComponent({\n __name: \"SelectPanel\",\n setup(__props) {\n const context = useEditorContext();\n const hint = t(\"Click an annotation to move, resize or recolor it\");\n const transformHint = t(\"Drag to move, use the handles to resize\");\n const selected = computed(() => context.selectedId.value !== null);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$B, [\n createElementVNode(\"span\", _hoisted_2$y, toDisplayString(selected.value ? unref(transformHint) : unref(hint)), 1)\n ]);\n };\n }\n});\nconst SelectPanel = /* @__PURE__ */ _export_sfc(_sfc_main$D, [[\"__scopeId\", \"data-v-6c179f9e\"]]);\nconst _hoisted_1$A = { class: \"sticker-panel\" };\nconst _sfc_main$C = /* @__PURE__ */ defineComponent({\n __name: \"StickerPanel\",\n props: {\n loaded: { type: Boolean }\n },\n setup(__props) {\n const context = useEditorContext();\n const moreLabel = t(\"More emojis\");\n const FALLBACK_STICKERS = [\"😀\", \"😍\", \"🎉\", \"👍\", \"❤️\", \"⭐\", \"🔥\", \"💡\", \"✅\", \"❌\", \"❓\", \"⚠️\"];\n function frequentStickers() {\n try {\n const frequent = emojiSearch(\"\", 12).map((emoji) => emoji.native).filter((native) => typeof native === \"string\" && native !== \"\");\n return frequent.length >= 6 ? frequent : FALLBACK_STICKERS;\n } catch {\n return FALLBACK_STICKERS;\n }\n }\n const DEFAULT_STICKERS = frequentStickers();\n const stickers = computed(() => DEFAULT_STICKERS.includes(context.sticker.value) ? DEFAULT_STICKERS : [context.sticker.value, ...DEFAULT_STICKERS.slice(0, 11)]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$A, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(stickers.value, (sticker) => {\n return openBlock(), createBlock(IconTab, {\n key: sticker,\n label: sticker,\n active: unref(context).sticker.value === sticker,\n disabled: !__props.loaded,\n class: \"sticker-panel__emoji\",\n iconOnly: \"\",\n onClick: ($event) => unref(context).sticker.value = sticker\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(sticker), 1)\n ]),\n _: 2\n }, 1032, [\"label\", \"active\", \"disabled\", \"onClick\"]);\n }), 128)),\n createVNode(unref(NcEmojiPicker), {\n onSelect: _cache[0] || (_cache[0] = ($event) => unref(context).sticker.value = $event)\n }, {\n default: withCtx(() => [\n createVNode(unref(NcButton), {\n \"data-test\": \"emoji-picker\",\n variant: \"tertiary\"\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(moreLabel)), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]);\n };\n }\n});\nconst StickerPanel = /* @__PURE__ */ _export_sfc(_sfc_main$C, [[\"__scopeId\", \"data-v-02765a0d\"]]);\nconst _sfc_main$B = /* @__PURE__ */ defineComponent({\n __name: \"EditorPanel\",\n props: {\n loaded: { type: Boolean },\n oriented: {}\n },\n setup(__props) {\n const context = useEditorContext();\n return (_ctx, _cache) => {\n return unref(context).activeMode.value === \"filter\" ? (openBlock(), createBlock(FilterStrip, {\n key: 0,\n loaded: __props.loaded,\n oriented: __props.oriented\n }, null, 8, [\"loaded\", \"oriented\"])) : (openBlock(), createBlock(GlassSurface, {\n key: 1,\n variant: \"card\",\n class: \"editor-card\"\n }, {\n default: withCtx(() => [\n unref(context).activeMode.value === \"crop\" ? (openBlock(), createBlock(CropPanel, {\n key: 0,\n loaded: __props.loaded\n }, null, 8, [\"loaded\"])) : unref(context).activeMode.value === \"finetune\" ? (openBlock(), createBlock(AdjustPanel, {\n key: 1,\n loaded: __props.loaded\n }, null, 8, [\"loaded\"])) : unref(context).activeMode.value === \"annotate\" ? (openBlock(), createBlock(AnnotatePanel, {\n key: 2,\n loaded: __props.loaded\n }, null, 8, [\"loaded\"])) : unref(context).activeMode.value === \"select\" ? (openBlock(), createBlock(SelectPanel, { key: 3 })) : unref(context).activeMode.value === \"sticker\" ? (openBlock(), createBlock(StickerPanel, {\n key: 4,\n loaded: __props.loaded\n }, null, 8, [\"loaded\"])) : unref(context).activeMode.value === \"redact\" ? (openBlock(), createBlock(RedactPanel, {\n key: 5,\n loaded: __props.loaded\n }, null, 8, [\"loaded\"])) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }));\n };\n }\n});\nconst EditorPanel = /* @__PURE__ */ _export_sfc(_sfc_main$B, [[\"__scopeId\", \"data-v-25ead0dc\"]]);\nconst _sfc_main$A = {\n name: \"BlurIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$z = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$x = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$w = { d: \"M14,8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 14,11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5M14,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,14A1.5,1.5 0 0,0 14,12.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M10,8.5A1.5,1.5 0 0,0 8.5,10A1.5,1.5 0 0,0 10,11.5A1.5,1.5 0 0,0 11.5,10A1.5,1.5 0 0,0 10,8.5M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18A1,1 0 0,0 14,17M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5M18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13M10,12.5A1.5,1.5 0 0,0 8.5,14A1.5,1.5 0 0,0 10,15.5A1.5,1.5 0 0,0 11.5,14A1.5,1.5 0 0,0 10,12.5M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10A1,1 0 0,0 6,9M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13Z\" };\nconst _hoisted_4$w = { key: 0 };\nfunction _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon blur-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$w, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$w, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$x))\n ], 16, _hoisted_1$z);\n}\nconst Blur = /* @__PURE__ */ _export_sfc(_sfc_main$A, [[\"render\", _sfc_render$u]]);\nconst _sfc_main$z = {\n name: \"CropIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$y = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$w = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$v = { d: \"M7,17V1H5V5H1V7H5V17A2,2 0 0,0 7,19H17V23H19V19H23V17M17,15H19V7C19,5.89 18.1,5 17,5H9V7H17V15Z\" };\nconst _hoisted_4$v = { key: 0 };\nfunction _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon crop-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$v, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$v, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$w))\n ], 16, _hoisted_1$y);\n}\nconst Crop = /* @__PURE__ */ _export_sfc(_sfc_main$z, [[\"render\", _sfc_render$t]]);\nconst _sfc_main$y = {\n name: \"CursorDefaultOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$x = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$v = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$u = { d: \"M10.07,14.27C10.57,14.03 11.16,14.25 11.4,14.75L13.7,19.74L15.5,18.89L13.19,13.91C12.95,13.41 13.17,12.81 13.67,12.58L13.95,12.5L16.25,12.05L8,5.12V15.9L9.82,14.43L10.07,14.27M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\" };\nconst _hoisted_4$u = { key: 0 };\nfunction _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon cursor-default-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$u, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$u, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$v))\n ], 16, _hoisted_1$x);\n}\nconst CursorDefaultOutline = /* @__PURE__ */ _export_sfc(_sfc_main$y, [[\"render\", _sfc_render$s]]);\nconst _sfc_main$x = {\n name: \"PaletteOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$w = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$u = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$t = { d: \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2C17.5,2 22,6 22,11A6,6 0 0,1 16,17H14.2C13.9,17 13.7,17.2 13.7,17.5C13.7,17.6 13.8,17.7 13.8,17.8C14.2,18.3 14.4,18.9 14.4,19.5C14.5,20.9 13.4,22 12,22M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C12.3,20 12.5,19.8 12.5,19.5C12.5,19.3 12.4,19.2 12.4,19.1C12,18.6 11.8,18.1 11.8,17.5C11.8,16.1 12.9,15 14.3,15H16A4,4 0 0,0 20,11C20,7.1 16.4,4 12,4M6.5,10C7.3,10 8,10.7 8,11.5C8,12.3 7.3,13 6.5,13C5.7,13 5,12.3 5,11.5C5,10.7 5.7,10 6.5,10M9.5,6C10.3,6 11,6.7 11,7.5C11,8.3 10.3,9 9.5,9C8.7,9 8,8.3 8,7.5C8,6.7 8.7,6 9.5,6M14.5,6C15.3,6 16,6.7 16,7.5C16,8.3 15.3,9 14.5,9C13.7,9 13,8.3 13,7.5C13,6.7 13.7,6 14.5,6M17.5,10C18.3,10 19,10.7 19,11.5C19,12.3 18.3,13 17.5,13C16.7,13 16,12.3 16,11.5C16,10.7 16.7,10 17.5,10Z\" };\nconst _hoisted_4$t = { key: 0 };\nfunction _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon palette-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$t, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$t, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$u))\n ], 16, _hoisted_1$w);\n}\nconst PaletteOutline = /* @__PURE__ */ _export_sfc(_sfc_main$x, [[\"render\", _sfc_render$r]]);\nconst _sfc_main$w = {\n name: \"StickerEmojiIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$v = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$t = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$s = { d: \"M5.5,2C3.56,2 2,3.56 2,5.5V18.5C2,20.44 3.56,22 5.5,22H16L22,16V5.5C22,3.56 20.44,2 18.5,2H5.5M5.75,4H18.25A1.75,1.75 0 0,1 20,5.75V15H18.5C16.56,15 15,16.56 15,18.5V20H5.75A1.75,1.75 0 0,1 4,18.25V5.75A1.75,1.75 0 0,1 5.75,4M14.44,6.77C14.28,6.77 14.12,6.79 13.97,6.83C13.03,7.09 12.5,8.05 12.74,9C12.79,9.15 12.86,9.3 12.95,9.44L16.18,8.56C16.18,8.39 16.16,8.22 16.12,8.05C15.91,7.3 15.22,6.77 14.44,6.77M8.17,8.5C8,8.5 7.85,8.5 7.7,8.55C6.77,8.81 6.22,9.77 6.47,10.7C6.5,10.86 6.59,11 6.68,11.16L9.91,10.28C9.91,10.11 9.89,9.94 9.85,9.78C9.64,9 8.95,8.5 8.17,8.5M16.72,11.26L7.59,13.77C8.91,15.3 11,15.94 12.95,15.41C14.9,14.87 16.36,13.25 16.72,11.26Z\" };\nconst _hoisted_4$s = { key: 0 };\nfunction _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon sticker-emoji-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$s, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$s, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$t))\n ], 16, _hoisted_1$v);\n}\nconst StickerEmoji = /* @__PURE__ */ _export_sfc(_sfc_main$w, [[\"render\", _sfc_render$q]]);\nconst _sfc_main$v = {\n name: \"TuneIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$u = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$s = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$r = { d: \"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\" };\nconst _hoisted_4$r = { key: 0 };\nfunction _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon tune-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$r, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$r, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$s))\n ], 16, _hoisted_1$u);\n}\nconst Tune = /* @__PURE__ */ _export_sfc(_sfc_main$v, [[\"render\", _sfc_render$p]]);\nconst _hoisted_1$t = { class: \"editor-sidebar__nav\" };\nconst _sfc_main$u = /* @__PURE__ */ defineComponent({\n __name: \"EditorSidebar\",\n props: {\n loaded: { type: Boolean }\n },\n setup(__props) {\n const context = useEditorContext();\n const modes = [\n { id: \"select\", label: t(\"Select\"), icon: CursorDefaultOutline },\n { id: \"crop\", label: t(\"Crop\"), icon: Crop },\n { id: \"finetune\", label: t(\"Adjust\"), icon: Tune },\n { id: \"filter\", label: t(\"Filter\"), icon: PaletteOutline },\n { id: \"annotate\", label: t(\"Annotate\"), icon: Pencil },\n { id: \"sticker\", label: t(\"Sticker\"), icon: StickerEmoji },\n { id: \"redact\", label: t(\"Blur\"), icon: Blur }\n ];\n return (_ctx, _cache) => {\n return openBlock(), createBlock(GlassSurface, {\n variant: \"card\",\n opaque: \"\",\n class: \"editor-sidebar\"\n }, {\n default: withCtx(() => [\n createElementVNode(\"nav\", _hoisted_1$t, [\n (openBlock(), createElementBlock(Fragment, null, renderList(modes, (mode) => {\n return createVNode(IconTab, {\n key: mode.id,\n label: mode.label,\n active: unref(context).activeMode.value === mode.id,\n disabled: !__props.loaded,\n onClick: ($event) => unref(context).setMode(mode.id)\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(mode.icon), { size: 20 }))\n ]),\n _: 2\n }, 1032, [\"label\", \"active\", \"disabled\", \"onClick\"]);\n }), 64))\n ])\n ]),\n _: 1\n });\n };\n }\n});\nconst EditorSidebar = /* @__PURE__ */ _export_sfc(_sfc_main$u, [[\"__scopeId\", \"data-v-54ce7748\"]]);\nconst _sfc_main$t = {\n name: \"ChevronDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$s = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$r = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$q = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4$q = { key: 0 };\nfunction _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$q, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$q, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$r))\n ], 16, _hoisted_1$s);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main$t, [[\"render\", _sfc_render$o]]);\nconst _sfc_main$s = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$r = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$q = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$p = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4$p = { key: 0 };\nfunction _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$p, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$p, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$q))\n ], 16, _hoisted_1$r);\n}\nconst Close = /* @__PURE__ */ _export_sfc(_sfc_main$s, [[\"render\", _sfc_render$n]]);\nconst _sfc_main$r = {\n name: \"ContentCopyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$q = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$p = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$o = { d: \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\" };\nconst _hoisted_4$o = { key: 0 };\nfunction _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon content-copy-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$o, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$o, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$p))\n ], 16, _hoisted_1$q);\n}\nconst ContentCopy = /* @__PURE__ */ _export_sfc(_sfc_main$r, [[\"render\", _sfc_render$m]]);\nconst _sfc_main$q = {\n name: \"HistoryIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$p = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$o = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$n = { d: \"M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3\" };\nconst _hoisted_4$n = { key: 0 };\nfunction _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon history-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$n, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$n, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$o))\n ], 16, _hoisted_1$p);\n}\nconst History = /* @__PURE__ */ _export_sfc(_sfc_main$q, [[\"render\", _sfc_render$l]]);\nconst _sfc_main$p = {\n name: \"MagnifyMinusOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$o = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$n = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$m = { d: \"M15.5,14H14.71L14.43,13.73C15.41,12.59 16,11.11 16,9.5A6.5,6.5 0 0,0 9.5,3A6.5,6.5 0 0,0 3,9.5A6.5,6.5 0 0,0 9.5,16C11.11,16 12.59,15.41 13.73,14.43L14,14.71V15.5L19,20.5L20.5,19L15.5,14M9.5,14C7,14 5,12 5,9.5C5,7 7,5 9.5,5C12,5 14,7 14,9.5C14,12 12,14 9.5,14M7,9H12V10H7V9Z\" };\nconst _hoisted_4$m = { key: 0 };\nfunction _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon magnify-minus-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$m, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$m, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$n))\n ], 16, _hoisted_1$o);\n}\nconst MagnifyMinusOutline = /* @__PURE__ */ _export_sfc(_sfc_main$p, [[\"render\", _sfc_render$k]]);\nconst _sfc_main$o = {\n name: \"MagnifyPlusOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$n = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$m = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$l = { d: \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14M12,10H10V12H9V10H7V9H9V7H10V9H12V10Z\" };\nconst _hoisted_4$l = { key: 0 };\nfunction _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon magnify-plus-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$l, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$l, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$m))\n ], 16, _hoisted_1$n);\n}\nconst MagnifyPlusOutline = /* @__PURE__ */ _export_sfc(_sfc_main$o, [[\"render\", _sfc_render$j]]);\nconst _sfc_main$n = {\n name: \"RedoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$m = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$l = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$k = { d: \"M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z\" };\nconst _hoisted_4$k = { key: 0 };\nfunction _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon redo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$k, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$k, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$l))\n ], 16, _hoisted_1$m);\n}\nconst Redo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [[\"render\", _sfc_render$i]]);\nconst _sfc_main$m = {\n name: \"RestoreIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$l = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$k = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$j = { d: \"M13,3A9,9 0 0,0 4,12H1L4.89,15.89L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3Z\" };\nconst _hoisted_4$j = { key: 0 };\nfunction _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon restore-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$j, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$j, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$k))\n ], 16, _hoisted_1$l);\n}\nconst Restore = /* @__PURE__ */ _export_sfc(_sfc_main$m, [[\"render\", _sfc_render$h]]);\nconst _sfc_main$l = {\n name: \"UndoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$k = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$j = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$i = { d: \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" };\nconst _hoisted_4$i = { key: 0 };\nfunction _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$i, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$i, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$j))\n ], 16, _hoisted_1$k);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$l, [[\"render\", _sfc_render$g]]);\nconst _sfc_main$k = {\n name: \"ArrowExpandIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$j = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$i = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$h = { d: \"M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z\" };\nconst _hoisted_4$h = { key: 0 };\nfunction _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-expand-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$h, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$h, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$i))\n ], 16, _hoisted_1$j);\n}\nconst ArrowExpand = /* @__PURE__ */ _export_sfc(_sfc_main$k, [[\"render\", _sfc_render$f]]);\nconst _sfc_main$j = {\n name: \"BorderOutsideIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$i = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$h = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$g = { d: \"M9,11H7V13H9M13,15H11V17H13M19,19H5V5H19M3,21H21V3H3M17,11H15V13H17M13,11H11V13H13M13,7H11V9H13V7Z\" };\nconst _hoisted_4$g = { key: 0 };\nfunction _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon border-outside-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$g, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$g, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$h))\n ], 16, _hoisted_1$i);\n}\nconst BorderOutside = /* @__PURE__ */ _export_sfc(_sfc_main$j, [[\"render\", _sfc_render$e]]);\nconst _sfc_main$i = {\n name: \"CropFreeIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$h = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$g = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$f = { d: \"M19,3H15V5H19V9H21V5C21,3.89 20.1,3 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M5,15H3V19A2,2 0 0,0 5,21H9V19H5M3,5V9H5V5H9V3H5A2,2 0 0,0 3,5Z\" };\nconst _hoisted_4$f = { key: 0 };\nfunction _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon crop-free-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$f, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$f, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$g))\n ], 16, _hoisted_1$h);\n}\nconst CropFree = /* @__PURE__ */ _export_sfc(_sfc_main$i, [[\"render\", _sfc_render$d]]);\nconst _sfc_main$h = {\n name: \"CursorMoveIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$g = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$f = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$e = { d: \"M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z\" };\nconst _hoisted_4$e = { key: 0 };\nfunction _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon cursor-move-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$e, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$e, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$f))\n ], 16, _hoisted_1$g);\n}\nconst CursorMove = /* @__PURE__ */ _export_sfc(_sfc_main$h, [[\"render\", _sfc_render$c]]);\nconst _sfc_main$g = {\n name: \"DeleteIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$f = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$e = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$d = { d: \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\" };\nconst _hoisted_4$d = { key: 0 };\nfunction _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon delete-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$d, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$d, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$e))\n ], 16, _hoisted_1$f);\n}\nconst Delete = /* @__PURE__ */ _export_sfc(_sfc_main$g, [[\"render\", _sfc_render$b]]);\nconst _sfc_main$f = {\n name: \"FormatAlignLeftIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$e = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$d = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$c = { d: \"M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z\" };\nconst _hoisted_4$c = { key: 0 };\nfunction _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-align-left-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$c, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$c, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$d))\n ], 16, _hoisted_1$e);\n}\nconst FormatAlignLeft = /* @__PURE__ */ _export_sfc(_sfc_main$f, [[\"render\", _sfc_render$a]]);\nconst _sfc_main$e = {\n name: \"FormatBoldIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$d = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$c = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$b = { d: \"M13.5,15.5H10V12.5H13.5A1.5,1.5 0 0,1 15,14A1.5,1.5 0 0,1 13.5,15.5M10,6.5H13A1.5,1.5 0 0,1 14.5,8A1.5,1.5 0 0,1 13,9.5H10M15.6,10.79C16.57,10.11 17.25,9 17.25,8C17.25,5.74 15.5,4 13.25,4H7V18H14.04C16.14,18 17.75,16.3 17.75,14.21C17.75,12.69 16.89,11.39 15.6,10.79Z\" };\nconst _hoisted_4$b = { key: 0 };\nfunction _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-bold-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$b, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$b, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$c))\n ], 16, _hoisted_1$d);\n}\nconst FormatBold = /* @__PURE__ */ _export_sfc(_sfc_main$e, [[\"render\", _sfc_render$9]]);\nconst _sfc_main$d = {\n name: \"FormatColorHighlightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$c = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$b = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$a = { d: \"M4,17L6.75,14.25L6.72,14.23C6.14,13.64 6.14,12.69 6.72,12.11L11.46,7.37L15.7,11.61L10.96,16.35C10.39,16.93 9.46,16.93 8.87,16.37L8.24,17H4M15.91,2.91C16.5,2.33 17.45,2.33 18.03,2.91L20.16,5.03C20.74,5.62 20.74,6.57 20.16,7.16L16.86,10.45L12.62,6.21L15.91,2.91Z\" };\nconst _hoisted_4$a = { key: 0 };\nfunction _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-color-highlight-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$a, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$a, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$b))\n ], 16, _hoisted_1$c);\n}\nconst FormatColorHighlight = /* @__PURE__ */ _export_sfc(_sfc_main$d, [[\"render\", _sfc_render$8]]);\nconst _sfc_main$c = {\n name: \"FormatFontIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$b = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$a = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$9 = { d: \"M17,8H20V20H21V21H17V20H18V17H14L12.5,20H14V21H10V20H11L17,8M18,9L14.5,16H18V9M5,3H10C11.11,3 12,3.89 12,5V16H9V11H6V16H3V5C3,3.89 3.89,3 5,3M6,5V9H9V5H6Z\" };\nconst _hoisted_4$9 = { key: 0 };\nfunction _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-font-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$9, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$9, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$a))\n ], 16, _hoisted_1$b);\n}\nconst FormatFont = /* @__PURE__ */ _export_sfc(_sfc_main$c, [[\"render\", _sfc_render$7]]);\nconst _sfc_main$b = {\n name: \"FormatItalicIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$a = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$9 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$8 = { d: \"M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z\" };\nconst _hoisted_4$8 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-italic-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$8, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$8, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$9))\n ], 16, _hoisted_1$a);\n}\nconst FormatItalic = /* @__PURE__ */ _export_sfc(_sfc_main$b, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$a = {\n name: \"FormatStrikethroughIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$9 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$8 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$7 = { d: \"M3,14H21V12H3M5,4V7H10V10H14V7H19V4M10,19H14V16H10V19Z\" };\nconst _hoisted_4$7 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-strikethrough-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$7, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$7, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$8))\n ], 16, _hoisted_1$9);\n}\nconst FormatStrikethrough = /* @__PURE__ */ _export_sfc(_sfc_main$a, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$9 = {\n name: \"FormatUnderlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$8 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$7 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$6 = { d: \"M5,21H19V19H5V21M12,17A6,6 0 0,0 18,11V3H15.5V11A3.5,3.5 0 0,1 12,14.5A3.5,3.5 0 0,1 8.5,11V3H6V11A6,6 0 0,0 12,17Z\" };\nconst _hoisted_4$6 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-underline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$6, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$6, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$7))\n ], 16, _hoisted_1$8);\n}\nconst FormatUnderline = /* @__PURE__ */ _export_sfc(_sfc_main$9, [[\"render\", _sfc_render$4]]);\nconst _sfc_main$8 = {\n name: \"ImageOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$7 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$6 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$5 = { d: \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z\" };\nconst _hoisted_4$5 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon image-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$5, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$5, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$6))\n ], 16, _hoisted_1$7);\n}\nconst ImageOutline = /* @__PURE__ */ _export_sfc(_sfc_main$8, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$7 = {\n name: \"PaletteIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$6 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$5 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$4 = { d: \"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\" };\nconst _hoisted_4$4 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon palette-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$4, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$5))\n ], 16, _hoisted_1$6);\n}\nconst Palette = /* @__PURE__ */ _export_sfc(_sfc_main$7, [[\"render\", _sfc_render$2]]);\nconst ICONS = /* @__PURE__ */ new Map([\n [t(\"Original\"), ImageOutline],\n [t(\"Restored\"), ImageOutline],\n [t(\"Revert all changes\"), Restore],\n [t(\"Crop\"), Crop],\n [t(\"Reset crop\"), CropFree],\n [t(\"Rotate left\"), RotateLeft],\n [t(\"Rotate right\"), RotateRight],\n [t(\"Flip horizontal\"), FlipHorizontal],\n [t(\"Flip vertical\"), FlipVertical],\n [t(\"Rotation\"), RotateRight],\n [t(\"Scale\"), ArrowExpand],\n [t(\"Exposure\"), CameraIris],\n [t(\"Brightness\"), WhiteBalanceSunny],\n [t(\"Contrast\"), ContrastCircle],\n [t(\"Saturation\"), InvertColors],\n [t(\"Temperature\"), Thermometer],\n [t(\"Tint\"), WhiteBalanceIridescent],\n [t(\"Sharpen\"), ImageFilterCenterFocus],\n [t(\"Highlights\"), Spotlight],\n [t(\"Shadows\"), BoxShadow],\n [t(\"Vignette\"), CircleOpacity],\n [t(\"Draw\"), Pencil],\n [t(\"Rectangle\"), RectangleOutline],\n [t(\"Ellipse\"), EllipseOutline],\n [t(\"Arrow\"), ArrowTopRight],\n [t(\"Line\"), VectorLine],\n [t(\"Text\"), FormatText],\n [t(\"Sticker\"), StickerEmoji],\n [t(\"Blur\"), Blur],\n [t(\"Color\"), Palette],\n [t(\"Duplicate\"), ContentCopy],\n [t(\"Delete\"), Delete],\n [t(\"Move or resize\"), CursorMove],\n [t(\"Bold\"), FormatBold],\n [t(\"Italic\"), FormatItalic],\n [t(\"Underline\"), FormatUnderline],\n [t(\"Strikethrough\"), FormatStrikethrough],\n [t(\"Outline\"), BorderOutside],\n [t(\"Background\"), FormatColorHighlight],\n [t(\"Font\"), FormatFont],\n [t(\"Alignment\"), FormatAlignLeft],\n // Every filter preset is recorded under its own name\n [t(\"No filter\"), PaletteOutline],\n [t(\"Pop\"), PaletteOutline],\n [t(\"Golden\"), PaletteOutline],\n [t(\"Coast\"), PaletteOutline],\n [t(\"Cinema\"), PaletteOutline],\n [t(\"Berry\"), PaletteOutline],\n [t(\"Mist\"), PaletteOutline],\n [t(\"Warm\"), PaletteOutline],\n [t(\"Cool\"), PaletteOutline],\n [t(\"Fade\"), PaletteOutline],\n [t(\"Grayscale\"), PaletteOutline],\n [t(\"Noir\"), PaletteOutline],\n [t(\"Luna\"), PaletteOutline],\n [t(\"Sepia\"), PaletteOutline],\n [t(\"Invert\"), PaletteOutline],\n [t(\"Solarize\"), PaletteOutline],\n [t(\"Posterize\"), PaletteOutline],\n [t(\"Edit\"), Tune]\n]);\nfunction historyIcon(label) {\n return ICONS.get(label) ?? Tune;\n}\n[...ICONS.keys()];\nconst _hoisted_1$5 = { class: \"editor-topbar\" };\nconst _hoisted_2$4 = { class: \"editor-topbar__history\" };\nconst _hoisted_3$3 = [\"aria-label\", \"title\", \"disabled\"];\nconst _hoisted_4$3 = { class: \"editor-topbar__actions\" };\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"EditorTopBar\",\n props: {\n loaded: { type: Boolean },\n saving: { type: Boolean },\n popoverContainer: {},\n canSaveAs: { type: Boolean }\n },\n emits: [\"save\", \"saveAs\", \"cancel\"],\n setup(__props, { emit: __emit }) {\n const emit = __emit;\n const context = useEditorContext();\n const commands = useEditorCommands();\n const labels = {\n undo: t(\"Undo\"),\n redo: t(\"Redo\"),\n revert: t(\"Revert all changes\"),\n revertText: t(\"All edits will be discarded. This action cannot be undone.\"),\n zoomIn: t(\"Zoom in\"),\n zoomOut: t(\"Zoom out\"),\n resetZoom: t(\"Reset zoom\"),\n save: t(\"Save\"),\n saveOptions: t(\"More ways to save\"),\n saveAs: t(\"Save as copy\"),\n cancel: t(\"Cancel\"),\n close: t(\"Close the editor\"),\n unsaved: t(\"Save your edits before closing?\"),\n unsavedText: t(\"The image has edits that were never saved.\"),\n discard: t(\"Discard changes\"),\n history: t(\"Edit history\"),\n step: t(\"Edit\")\n };\n const historySteps = computed(() => context.historyEntries.value.map((entry, index) => ({\n index,\n label: entry.label ?? labels.step,\n icon: historyIcon(entry.label ?? labels.step)\n })).reverse());\n function stepZoom(direction) {\n const factor = direction === 1 ? 1.5 : 1 / 1.5;\n context.setViewZoom(context.viewZoom.value * factor);\n }\n function resetZoom() {\n context.setViewZoom(FIT_ZOOM);\n context.setViewPan({ x: 0, y: 0 });\n }\n const closing = shallowRef(false);\n function onClose() {\n if (isPristine(context.state.value)) {\n emit(\"cancel\");\n return;\n }\n closing.value = true;\n }\n function onCloseAnswer(answer) {\n closing.value = false;\n if (answer === \"save\") {\n emit(\"save\");\n } else if (answer === \"discard\") {\n emit(\"cancel\");\n }\n }\n async function onRevert() {\n if (await showConfirmation({\n name: labels.revert,\n text: labels.revertText,\n labelConfirm: labels.revert,\n labelReject: labels.cancel,\n severity: \"warning\"\n })) {\n commands.revert();\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$5, [\n _cache[11] || (_cache[11] = createElementVNode(\"span\", { class: \"editor-topbar__spacer\" }, null, -1)),\n createElementVNode(\"div\", _hoisted_2$4, [\n createVNode(unref(NcActions), {\n forceMenu: \"\",\n container: __props.popoverContainer ?? \"body\",\n \"aria-label\": labels.history,\n title: labels.history,\n disabled: !__props.loaded || !unref(context).canUndo.value,\n variant: \"tertiary\",\n \"data-test\": \"history\"\n }, {\n icon: withCtx(() => [\n createVNode(History, { size: 20 })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcActionButton), {\n \"data-test\": \"revert\",\n onClick: onRevert\n }, {\n icon: withCtx(() => [\n createVNode(Restore, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(labels.revert), 1)\n ]),\n _: 1\n }),\n createVNode(unref(NcActionSeparator)),\n (openBlock(true), createElementBlock(Fragment, null, renderList(historySteps.value, (step) => {\n return openBlock(), createBlock(unref(NcActionButton), {\n key: step.index,\n type: \"radio\",\n modelValue: String(unref(context).historyIndex.value),\n value: String(step.index),\n \"data-test\": `history-step-${step.index}`,\n onClick: ($event) => unref(context).jumpTo(step.index)\n }, {\n icon: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(step.icon), { size: 20 }))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(step.label), 1)\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"value\", \"data-test\", \"onClick\"]);\n }), 128))\n ]),\n _: 1\n }, 8, [\"container\", \"aria-label\", \"title\", \"disabled\"]),\n createVNode(unref(NcButton), {\n \"data-test\": \"undo\",\n \"aria-label\": labels.undo,\n title: labels.undo,\n disabled: !__props.loaded || !unref(context).canUndo.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => unref(context).undo())\n }, {\n icon: withCtx(() => [\n createVNode(Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n createVNode(unref(NcButton), {\n \"aria-label\": labels.redo,\n title: labels.redo,\n disabled: !__props.loaded || !unref(context).canRedo.value,\n variant: \"tertiary\",\n onClick: _cache[1] || (_cache[1] = ($event) => unref(context).redo())\n }, {\n icon: withCtx(() => [\n createVNode(Redo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n _cache[10] || (_cache[10] = createElementVNode(\"span\", { class: \"editor-topbar__separator\" }, null, -1)),\n createVNode(unref(NcButton), {\n \"data-test\": \"zoom-out\",\n \"aria-label\": labels.zoomOut,\n title: labels.zoomOut,\n disabled: !__props.loaded || unref(context).viewZoom.value <= unref(MIN_ZOOM),\n variant: \"tertiary\",\n onClick: _cache[2] || (_cache[2] = ($event) => stepZoom(-1))\n }, {\n icon: withCtx(() => [\n createVNode(MagnifyMinusOutline, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"]),\n createElementVNode(\"button\", {\n type: \"button\",\n class: \"editor-topbar__zoom\",\n \"data-test\": \"zoom-reset\",\n \"aria-label\": labels.resetZoom,\n title: labels.resetZoom,\n disabled: !__props.loaded,\n onClick: resetZoom\n }, toDisplayString(Math.round(unref(context).viewZoom.value * 100)) + \"% \", 9, _hoisted_3$3),\n createVNode(unref(NcButton), {\n \"data-test\": \"zoom-in\",\n \"aria-label\": labels.zoomIn,\n title: labels.zoomIn,\n disabled: !__props.loaded || unref(context).viewZoom.value >= unref(MAX_ZOOM),\n variant: \"tertiary\",\n onClick: _cache[3] || (_cache[3] = ($event) => stepZoom(1))\n }, {\n icon: withCtx(() => [\n createVNode(MagnifyPlusOutline, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"disabled\"])\n ]),\n createElementVNode(\"div\", _hoisted_4$3, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"editor-topbar__save\", { \"editor-topbar__save--split\": __props.canSaveAs }])\n }, [\n createVNode(unref(NcButton), {\n \"data-test\": \"save\",\n variant: \"primary\",\n disabled: !__props.loaded || __props.saving,\n onClick: _cache[4] || (_cache[4] = ($event) => emit(\"save\"))\n }, createSlots({\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(labels.save), 1)\n ]),\n _: 2\n }, [\n __props.saving ? {\n name: \"icon\",\n fn: withCtx(() => [\n createVNode(unref(NcLoadingIcon), {\n size: 20,\n \"data-test\": \"saving\"\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"disabled\"]),\n __props.canSaveAs ? (openBlock(), createBlock(unref(NcActions), {\n key: 0,\n \"data-test\": \"save-menu\",\n forceMenu: \"\",\n variant: \"primary\",\n \"aria-label\": labels.saveOptions,\n container: __props.popoverContainer ?? \"body\",\n disabled: !__props.loaded || __props.saving\n }, {\n icon: withCtx(() => [\n createVNode(ChevronDown, { size: 20 })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcActionButton), {\n \"data-test\": \"save-as\",\n closeAfterClick: \"\",\n onClick: _cache[5] || (_cache[5] = ($event) => emit(\"saveAs\"))\n }, {\n icon: withCtx(() => [\n createVNode(ContentCopy, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(labels.saveAs), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"container\", \"disabled\"])) : createCommentVNode(\"\", true)\n ], 2),\n createVNode(unref(NcButton), {\n \"data-test\": \"cancel\",\n \"aria-label\": labels.close,\n title: labels.close,\n variant: \"tertiary\",\n onClick: onClose\n }, {\n icon: withCtx(() => [\n createVNode(Close, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"])\n ]),\n closing.value ? (openBlock(), createBlock(unref(NcDialog), {\n key: 0,\n name: labels.unsaved,\n noClose: \"\",\n \"data-test\": \"closing-dialog\",\n \"onUpdate:open\": _cache[9] || (_cache[9] = ($event) => onCloseAnswer(\"stay\"))\n }, {\n actions: withCtx(() => [\n createVNode(unref(NcButton), {\n class: \"editor-topbar__stay\",\n \"data-test\": \"closing-cancel\",\n variant: \"tertiary\",\n onClick: _cache[6] || (_cache[6] = ($event) => onCloseAnswer(\"stay\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(labels.cancel), 1)\n ]),\n _: 1\n }),\n createVNode(unref(NcButton), {\n \"data-test\": \"closing-discard\",\n variant: \"error\",\n onClick: _cache[7] || (_cache[7] = ($event) => onCloseAnswer(\"discard\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(labels.discard), 1)\n ]),\n _: 1\n }),\n createVNode(unref(NcButton), {\n \"data-test\": \"closing-save\",\n variant: \"primary\",\n onClick: _cache[8] || (_cache[8] = ($event) => onCloseAnswer(\"save\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(labels.save), 1)\n ]),\n _: 1\n })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcNoteCard), {\n type: \"warning\",\n text: labels.unsavedText\n }, null, 8, [\"text\"])\n ]),\n _: 1\n }, 8, [\"name\"])) : createCommentVNode(\"\", true)\n ]);\n };\n }\n});\nconst EditorTopBar = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"__scopeId\", \"data-v-da1c3a53\"]]);\nconst _sfc_main$5 = {\n name: \"FormatAlignCenterIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-align-center-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst FormatAlignCenter = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$1]]);\nconst _sfc_main$4 = {\n name: \"FormatAlignRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M3,3H21V5H3V3M9,7H21V9H9V7M3,11H21V13H3V11M9,15H21V17H9V15M3,19H21V21H3V19Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon format-align-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst FormatAlignRight = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render]]);\nconst SWITCH_DEFAULTS = {\n outline: \"textOutline\",\n background: \"textBackground\",\n bold: \"textBold\",\n italic: \"textItalic\",\n underline: \"textUnderline\",\n strikethrough: \"textStrikethrough\"\n};\nfunction useTextStyle(context) {\n function styleable() {\n const annotation = context.state.value.annotations.find((entry) => entry.id === context.selectedId.value);\n return annotation?.type === \"text\" ? annotation : void 0;\n }\n function toggle(key, label) {\n const fallback = SWITCH_DEFAULTS[key];\n return computed({\n get() {\n return styleable()?.[key] ?? context[fallback].value;\n },\n set(value) {\n context[fallback].value = value;\n const annotation = styleable();\n if (annotation === void 0) {\n return;\n }\n const state = context.state.value;\n context.commit({\n ...state,\n annotations: state.annotations.map((entry) => entry.id === annotation.id ? { ...entry, [key]: value } : entry)\n }, label);\n }\n });\n }\n function choice(key, fallback, label) {\n return computed({\n get() {\n return styleable()?.[key] ?? context[fallback].value;\n },\n set(value) {\n context[fallback].value = value;\n const annotation = styleable();\n if (annotation === void 0 || annotation[key] === value) {\n return;\n }\n const state = context.state.value;\n context.commit({\n ...state,\n annotations: state.annotations.map((entry) => entry.id === annotation.id ? { ...entry, [key]: value } : entry)\n }, label);\n }\n });\n }\n return {\n outline: toggle(\"outline\", t(\"Outline\")),\n background: toggle(\"background\", t(\"Background\")),\n font: choice(\"font\", \"textFont\", t(\"Font\")),\n align: choice(\"align\", \"textAlign\", t(\"Alignment\")),\n bold: toggle(\"bold\", t(\"Bold\")),\n italic: toggle(\"italic\", t(\"Italic\")),\n underline: toggle(\"underline\", t(\"Underline\")),\n strikethrough: toggle(\"strikethrough\", t(\"Strikethrough\"))\n };\n}\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"TextEmphasisButtons\",\n props: {\n testPrefix: {},\n size: {}\n },\n setup(__props) {\n const textStyle = useTextStyle(useEditorContext());\n const META = {\n bold: { label: t(\"Bold\"), icon: FormatBold },\n italic: { label: t(\"Italic\"), icon: FormatItalic },\n underline: { label: t(\"Underline\"), icon: FormatUnderline },\n strikethrough: { label: t(\"Strikethrough\"), icon: FormatStrikethrough }\n };\n const emphases = TEXT_EMPHASES.map((id) => ({ id, ...META[id] }));\n return (_ctx, _cache) => {\n return openBlock(true), createElementBlock(Fragment, null, renderList(unref(emphases), (entry) => {\n return openBlock(), createBlock(IconTab, {\n key: entry.id,\n label: entry.label,\n active: unref(textStyle)[entry.id].value,\n \"data-test\": `${__props.testPrefix}-${entry.id}`,\n iconOnly: \"\",\n onClick: ($event) => unref(textStyle)[entry.id].value = !unref(textStyle)[entry.id].value\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(entry.icon), { size: __props.size }, null, 8, [\"size\"]))\n ]),\n _: 2\n }, 1032, [\"label\", \"active\", \"data-test\", \"onClick\"]);\n }), 128);\n };\n }\n});\nconst _hoisted_1$2 = {\n key: 0,\n class: \"floating-toolbar__color\"\n};\nconst _hoisted_2$1 = [\"value\", \"aria-label\", \"title\"];\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"FloatingToolbar\",\n props: {\n box: {},\n typing: { type: Boolean }\n },\n emits: [\"duplicate\", \"delete\", \"refocus\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const context = useEditorContext();\n const color = useAnnotationColor(context);\n const textStyle = useTextStyle(context);\n const selected = computed(() => context.state.value.annotations.find((entry) => entry.id === context.selectedId.value));\n const isText = computed(() => props.typing === true || selected.value?.type === \"text\");\n const recolorable = computed(() => props.typing === true || selected.value !== void 0 && selected.value.type !== \"sticker\" && selected.value.type !== \"redact\");\n const lift = computed(() => props.typing === true ? 52 : 76);\n const labels = {\n color: t(\"Color\"),\n duplicate: t(\"Duplicate\"),\n delete: t(\"Delete\"),\n outline: t(\"Outline\"),\n background: t(\"Background\"),\n font: t(\"Font\"),\n align: t(\"Alignment\")\n };\n const fonts = [\n { id: \"sans\", label: t(\"Sans serif\") },\n { id: \"serif\", label: t(\"Serif\") },\n { id: \"mono\", label: t(\"Monospace\") }\n ];\n const ALIGN_META = {\n left: { label: t(\"Align left\"), icon: FormatAlignLeft },\n center: { label: t(\"Align centre\"), icon: FormatAlignCenter },\n right: { label: t(\"Align right\"), icon: FormatAlignRight }\n };\n const alignments = TEXT_ALIGNS.map((id) => ({ id, ...ALIGN_META[id] }));\n const alignment = computed(() => ALIGN_META[textAlign(textStyle.align.value)]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(GlassSurface, {\n variant: \"pill\",\n class: \"floating-toolbar\",\n \"data-test\": \"floating-toolbar\",\n style: normalizeStyle({\n insetInlineStart: `${__props.box.x + __props.box.width / 2}px`,\n // Below only when the top edge would clip the bar\n insetBlockStart: __props.box.y - lift.value >= 4 ? `${__props.box.y - lift.value}px` : `${__props.box.y + __props.box.height + 12}px`\n }),\n onMousedown: _cache[8] || (_cache[8] = withModifiers(() => {\n }, [\"prevent\"]))\n }, {\n default: withCtx(() => [\n recolorable.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1$2, [\n createElementVNode(\"input\", {\n value: unref(context).drawColor.value,\n type: \"color\",\n \"aria-label\": labels.color,\n title: labels.color,\n \"data-test\": \"toolbar-color\",\n onInput: _cache[0] || (_cache[0] = ($event) => unref(color).preview($event.target.value)),\n onChange: _cache[1] || (_cache[1] = ($event) => unref(color).commit($event.target.value))\n }, null, 40, _hoisted_2$1)\n ])) : createCommentVNode(\"\", true),\n isText.value ? (openBlock(), createBlock(unref(NcActions), {\n key: 1,\n forceMenu: \"\",\n \"aria-label\": labels.font,\n title: labels.font,\n variant: \"tertiary\",\n \"data-test\": \"toolbar-font\",\n onClose: _cache[2] || (_cache[2] = ($event) => emit(\"refocus\"))\n }, {\n icon: withCtx(() => [\n createVNode(FormatFont, { size: 18 })\n ]),\n default: withCtx(() => [\n (openBlock(), createElementBlock(Fragment, null, renderList(fonts, (entry) => {\n return createVNode(unref(NcActionButton), {\n key: entry.id,\n type: \"radio\",\n closeAfterClick: \"\",\n modelValue: unref(textStyle).font.value,\n value: entry.id,\n \"data-test\": `toolbar-font-${entry.id}`,\n onClick: ($event) => unref(textStyle).font.value = entry.id\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(entry.label), 1)\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"value\", \"data-test\", \"onClick\"]);\n }), 64))\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"])) : createCommentVNode(\"\", true),\n isText.value ? (openBlock(), createBlock(unref(NcActions), {\n key: 2,\n forceMenu: \"\",\n \"aria-label\": labels.align,\n title: labels.align,\n variant: \"tertiary\",\n \"data-test\": \"toolbar-align\",\n onClose: _cache[3] || (_cache[3] = ($event) => emit(\"refocus\"))\n }, {\n icon: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(alignment.value.icon), { size: 18 }))\n ]),\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(alignments), (entry) => {\n return openBlock(), createBlock(unref(NcActionButton), {\n key: entry.id,\n type: \"radio\",\n closeAfterClick: \"\",\n modelValue: unref(textStyle).align.value,\n value: entry.id,\n \"data-test\": `toolbar-align-${entry.id}`,\n onClick: ($event) => unref(textStyle).align.value = entry.id\n }, {\n icon: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(entry.icon), { size: 20 }))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(entry.label), 1)\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"value\", \"data-test\", \"onClick\"]);\n }), 128))\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"])) : createCommentVNode(\"\", true),\n isText.value ? (openBlock(), createBlock(_sfc_main$3, {\n key: 3,\n testPrefix: \"toolbar\",\n size: 18\n })) : createCommentVNode(\"\", true),\n isText.value ? (openBlock(), createBlock(IconTab, {\n key: 4,\n \"data-test\": \"toolbar-outline\",\n label: labels.outline,\n active: unref(textStyle).outline.value,\n iconOnly: \"\",\n onClick: _cache[4] || (_cache[4] = ($event) => unref(textStyle).outline.value = !unref(textStyle).outline.value)\n }, {\n default: withCtx(() => [\n createVNode(BorderOutside, { size: 18 })\n ]),\n _: 1\n }, 8, [\"label\", \"active\"])) : createCommentVNode(\"\", true),\n isText.value ? (openBlock(), createBlock(IconTab, {\n key: 5,\n \"data-test\": \"toolbar-background\",\n label: labels.background,\n active: unref(textStyle).background.value,\n iconOnly: \"\",\n onClick: _cache[5] || (_cache[5] = ($event) => unref(textStyle).background.value = !unref(textStyle).background.value)\n }, {\n default: withCtx(() => [\n createVNode(FormatColorHighlight, { size: 18 })\n ]),\n _: 1\n }, 8, [\"label\", \"active\"])) : createCommentVNode(\"\", true),\n !__props.typing ? (openBlock(), createElementBlock(Fragment, { key: 6 }, [\n createVNode(unref(NcButton), {\n \"data-test\": \"duplicate\",\n \"aria-label\": labels.duplicate,\n title: labels.duplicate,\n variant: \"tertiary\",\n onClick: _cache[6] || (_cache[6] = ($event) => emit(\"duplicate\"))\n }, {\n icon: withCtx(() => [\n createVNode(ContentCopy, { size: 18 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"]),\n createVNode(unref(NcButton), {\n \"data-test\": \"delete\",\n \"aria-label\": labels.delete,\n title: labels.delete,\n variant: \"tertiary\",\n onClick: _cache[7] || (_cache[7] = ($event) => emit(\"delete\"))\n }, {\n icon: withCtx(() => [\n createVNode(Delete, { size: 18 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\"])\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"style\"]);\n };\n }\n});\nconst FloatingToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"__scopeId\", \"data-v-b2b848a3\"]]);\nconst _hoisted_1$1 = [\"aria-label\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"TextOverlay\",\n props: {\n x: {},\n y: {},\n fontSize: {},\n color: {},\n initial: {},\n outline: { type: Boolean },\n background: { type: Boolean },\n font: {},\n align: {},\n bold: { type: Boolean },\n italic: { type: Boolean },\n underline: { type: Boolean },\n strikethrough: { type: Boolean }\n },\n emits: [\"confirm\", \"cancel\", \"resize\"],\n setup(__props, { expose: __expose, emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const inputLabel = t(\"Annotation text\");\n const value = ref(props.initial);\n const input = useTemplateRef(\"input\");\n function autosize() {\n const element = input.value;\n if (element === null) {\n return;\n }\n element.style.width = \"0\";\n element.style.height = \"0\";\n element.style.width = `${Math.max(element.scrollWidth + 4, props.fontSize * 2)}px`;\n element.style.height = `${Math.max(element.scrollHeight, props.fontSize * 1.2)}px`;\n emit(\"resize\", { width: element.offsetWidth, height: element.offsetHeight });\n }\n function onPointerDown(event) {\n const target = event.target;\n if (!(target instanceof Element) || target === input.value || target.closest(\".floating-toolbar, .v-popper__popper\") !== null) {\n return;\n }\n emit(\"confirm\", value.value);\n }\n function focus() {\n input.value?.focus();\n }\n __expose({ focus });\n onMounted(() => {\n autosize();\n input.value.focus();\n input.value.select();\n document.addEventListener(\"pointerdown\", onPointerDown, { capture: true });\n });\n onBeforeUnmount(() => {\n document.removeEventListener(\"pointerdown\", onPointerDown, { capture: true });\n });\n function onEnter(event) {\n if (!event.shiftKey) {\n event.preventDefault();\n emit(\"confirm\", value.value);\n }\n }\n return (_ctx, _cache) => {\n return withDirectives((openBlock(), createElementBlock(\"textarea\", {\n ref_key: \"input\",\n ref: input,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => value.value = $event),\n class: \"text-overlay\",\n \"aria-label\": unref(inputLabel),\n \"data-test\": \"text-overlay\",\n style: normalizeStyle({\n insetInlineStart: `${__props.x}px`,\n insetBlockStart: `${__props.y}px`,\n fontSize: `${__props.fontSize}px`,\n color: __props.color,\n // The same stack the canvas uses, or the overlay would measure\n // and wrap differently from what gets drawn\n fontFamily: unref(fontStack)(__props.font),\n fontWeight: __props.bold === true ? \"bold\" : \"normal\",\n fontStyle: __props.italic === true ? \"italic\" : \"normal\",\n textDecorationLine: unref(textDecoration)({ underline: __props.underline, strikethrough: __props.strikethrough }) || \"none\",\n textAlign: unref(textAlign)(__props.align),\n ...__props.background === true ? {\n backgroundColor: unref(outlineColor)(__props.color),\n padding: `${Math.max(2, Math.round(__props.fontSize / 6))}px`\n } : {},\n ...__props.outline === true ? {\n // Mirrors the stroke the canvas draws, so what is typed\n // is what gets saved. paintOrder keeps the edge behind\n // the glyph the way fillAfterStrokeEnabled does there.\n webkitTextStrokeWidth: `${unref(outlineWidth)(__props.fontSize)}px`,\n webkitTextStrokeColor: unref(outlineColor)(__props.color),\n paintOrder: \"stroke fill\"\n } : {}\n }),\n rows: \"1\",\n onInput: autosize,\n onKeydown: [\n withKeys(onEnter, [\"enter\"]),\n _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => emit(\"cancel\"), [\"stop\"]), [\"esc\"]))\n ]\n }, null, 44, _hoisted_1$1)), [\n [vModelText, value.value]\n ]);\n };\n }\n});\nconst TextOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-9a528a49\"]]);\nfunction imageSize(image) {\n return \"naturalWidth\" in image ? { width: image.naturalWidth, height: image.naturalHeight } : { width: image.width, height: image.height };\n}\nfunction needsCors(url) {\n let target;\n try {\n target = new URL(url, window.location.href);\n } catch {\n return false;\n }\n return (target.protocol === \"http:\" || target.protocol === \"https:\") && target.origin !== window.location.origin;\n}\nasync function loadImage(source) {\n const url = typeof source === \"string\" ? source : URL.createObjectURL(source);\n try {\n return await new Promise((resolve, reject) => {\n const image = new Image();\n if (needsCors(url)) {\n image.crossOrigin = \"anonymous\";\n }\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(t(\"Image could not be decoded\")));\n image.src = url;\n });\n } finally {\n if (typeof source !== \"string\") {\n URL.revokeObjectURL(url);\n }\n }\n}\nasync function sourceBytes(source) {\n if (typeof source !== \"string\") {\n return source;\n }\n try {\n const response = await fetch(source, needsCors(source) ? { mode: \"cors\", credentials: \"omit\" } : { credentials: \"same-origin\" });\n return response.ok ? await response.blob() : null;\n } catch {\n return null;\n }\n}\nasync function decodeImage(source) {\n const worker = imageWorker();\n if (worker !== null) {\n const bytes = await sourceBytes(source);\n if (bytes !== null) {\n try {\n return await worker.decode(bytes);\n } catch {\n }\n }\n }\n return await loadImage(source);\n}\nasync function canvasToBlob(canvas, type = \"image/png\", quality) {\n return new Promise((resolve, reject) => {\n canvas.toBlob((blob2) => {\n if (blob2 === null) {\n reject(new Error(t(\"Canvas could not be encoded\")));\n return;\n }\n resolve(blob2);\n }, type, quality);\n });\n}\nfunction primaryColor() {\n const value = getComputedStyle(document.body).getPropertyValue(\"--color-primary-element\").trim();\n return value !== \"\" ? value : \"#0082c9\";\n}\nfunction ambientBackdrop(canvas) {\n const sample = document.createElement(\"canvas\");\n const { width, height } = imageSize(canvas);\n if (width === 0 || height === 0) {\n return \"\";\n }\n sample.width = 24;\n sample.height = Math.max(1, Math.round(24 * height / width));\n const context = sample.getContext(\"2d\");\n if (context === null) {\n return \"\";\n }\n context.drawImage(canvas, 0, 0, sample.width, sample.height);\n try {\n return sample.toDataURL();\n } catch {\n return \"\";\n }\n}\nfunction useAmbient(source) {\n const backdrop = ref(\"\");\n watch(source, (image) => {\n if (image !== null) {\n backdrop.value = ambientBackdrop(image);\n }\n });\n return { backdrop };\n}\nfunction useAnnouncements(context) {\n const message = ref(\"\");\n const modeLabels = {\n select: t(\"Select\"),\n crop: t(\"Crop\"),\n finetune: t(\"Adjust\"),\n filter: t(\"Filter\"),\n annotate: t(\"Annotate\"),\n sticker: t(\"Sticker\"),\n redact: t(\"Blur\")\n };\n watch(context.activeMode, (mode) => {\n message.value = t(\"{mode} mode\", { mode: modeLabels[mode] ?? mode });\n });\n let annotationCount = 0;\n watch(context.state, (state) => {\n if (state.annotations.length > annotationCount) {\n message.value = t(\"Annotation added\");\n } else if (state.annotations.length < annotationCount) {\n message.value = t(\"Annotation removed\");\n }\n annotationCount = state.annotations.length;\n });\n let historyLength = 0;\n watch(context.historyIndex, (index) => {\n const entries = context.historyEntries.value;\n const moved = entries.length === historyLength;\n historyLength = entries.length;\n const entry = entries[index];\n if (moved && entry !== void 0) {\n message.value = t(\"Jumped to {step}\", { step: entry.label ?? t(\"Edit\") });\n }\n });\n watch(() => context.state.value.preset, (preset) => {\n message.value = preset === \"none\" ? t(\"Filter removed\") : t(\"Filter applied\");\n });\n return message;\n}\nconst TEXT_ENTRY = \"input, textarea, select, [contenteditable]\";\nconst ACTIVATABLE = 'button, [role=\"button\"], a[href], summary';\nfunction ownsTextEntry(target) {\n return target instanceof HTMLElement && target.closest(TEXT_ENTRY) !== null;\n}\nfunction ownsSpaceKey(target) {\n return target instanceof HTMLElement && target.closest(`${TEXT_ENTRY}, ${ACTIVATABLE}`) !== null;\n}\nconst NUDGE_KEYS = {\n ArrowLeft: [-1, 0],\n ArrowRight: [1, 0],\n ArrowUp: [0, -1],\n ArrowDown: [0, 1]\n};\nfunction useEditorShortcuts(deps) {\n const { context } = deps;\n let nudging = false;\n function nudgeSelection(event) {\n const id = context.selectedId.value;\n const direction = NUDGE_KEYS[event.key];\n if (id === null || direction === void 0) {\n return;\n }\n event.preventDefault();\n const step = event.shiftKey ? 10 : 1;\n const state = context.state.value;\n nudging = true;\n context.preview({\n ...state,\n annotations: state.annotations.map((annotation) => annotation.id === id ? translateAnnotation(annotation, direction[0] * step, direction[1] * step) : annotation)\n });\n }\n function onKeydown(event) {\n if (deps.isTextEditing() || ownsTextEntry(event.target)) {\n return;\n }\n const meta = event.ctrlKey || event.metaKey;\n if (meta && !event.shiftKey && event.key.toLowerCase() === \"z\") {\n event.preventDefault();\n context.undo();\n return;\n }\n if (meta && event.shiftKey && event.key.toLowerCase() === \"z\" || meta && event.key.toLowerCase() === \"y\") {\n event.preventDefault();\n context.redo();\n return;\n }\n if (event.key === \"+\" || event.key === \"=\") {\n context.setViewZoom(context.viewZoom.value * 1.25);\n return;\n }\n if (event.key === \"-\") {\n context.setViewZoom(context.viewZoom.value / 1.25);\n return;\n }\n if (event.key in NUDGE_KEYS && context.selectedId.value !== null) {\n nudgeSelection(event);\n return;\n }\n if ((event.key === \"Delete\" || event.key === \"Backspace\") && context.selectedId.value !== null) {\n event.preventDefault();\n deps.onDelete();\n } else if (event.key === \"Escape\") {\n deps.onEscape();\n }\n }\n function onKeyup(event) {\n if (ownsTextEntry(event.target)) {\n return;\n }\n if (nudging && event.key in NUDGE_KEYS) {\n nudging = false;\n context.commit(context.state.value, t(\"Move or resize\"));\n }\n }\n onMounted(() => {\n window.addEventListener(\"keydown\", onKeydown);\n window.addEventListener(\"keyup\", onKeyup);\n });\n onBeforeUnmount(() => {\n window.removeEventListener(\"keydown\", onKeydown);\n window.removeEventListener(\"keyup\", onKeyup);\n });\n}\nlet converts;\nfunction convertsToSrgb() {\n if (converts !== void 0) {\n return converts;\n }\n converts = false;\n try {\n const canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const context = canvas.getContext(\"2d\", { colorSpace: \"display-p3\" });\n converts = context?.getContextAttributes().colorSpace === \"display-p3\";\n } catch {\n }\n return converts;\n}\nconst DEFAULT_QUALITY = 0.92;\nconst MIN_QUALITY = 0.75;\nconst MAX_QUALITY = 0.97;\nasync function painted() {\n await new Promise((resolve) => {\n requestAnimationFrame(() => requestAnimationFrame(() => resolve(null)));\n });\n}\nfunction useExportImage(deps) {\n const exporting = ref(false);\n const ENCODABLE = [\"image/jpeg\", \"image/png\", \"image/webp\"];\n function sourceFormat() {\n const type = deps.source()?.type;\n return type !== void 0 && ENCODABLE.includes(type) ? type : void 0;\n }\n async function jpegSource(mimeType) {\n const source = deps.source();\n if (source === null || mimeType !== \"image/jpeg\" || source.type !== \"image/jpeg\") {\n return null;\n }\n return new Uint8Array(await source.arrayBuffer());\n }\n function qualityFor(source) {\n const estimated = source === null ? void 0 : estimateJpegQuality(source);\n if (estimated === void 0) {\n return DEFAULT_QUALITY;\n }\n return Math.min(MAX_QUALITY, Math.max(MIN_QUALITY, estimated / 100));\n }\n async function carryMetadata(blob2, canvas, source) {\n if (source === null || blob2.type !== \"image/jpeg\") {\n return blob2;\n }\n const segments = readMetadataSegments(source, { icc: !convertsToSrgb() });\n if (segments.length === 0) {\n return blob2;\n }\n const carried = withMetadata(\n new Uint8Array(await blob2.arrayBuffer()),\n segments,\n { width: canvas.width, height: canvas.height }\n );\n return new Blob([carried], { type: blob2.type });\n }\n async function exportImage(options = {}) {\n const oriented = deps.oriented();\n if (oriented === null) {\n throw new Error(\"No image loaded\");\n }\n const source = deps.source();\n if (source !== null && source.type !== \"\" && isPristine(deps.getState()) && options.maxSize === void 0 && (options.format === void 0 || options.format === source.type)) {\n return { blob: source, width: oriented.width, height: oriented.height, mimeType: source.type, downscaled: false };\n }\n exporting.value = true;\n await painted();\n try {\n return await encode(oriented, options);\n } finally {\n exporting.value = false;\n }\n }\n async function encode(oriented, options) {\n const canvas = renderToCanvas(oriented, deps.getState(), options.maxSize);\n const mimeType = options.format ?? sourceFormat() ?? \"image/png\";\n try {\n const source = await jpegSource(mimeType);\n const quality = options.quality ?? (mimeType === \"image/jpeg\" ? qualityFor(source) : void 0);\n let blob2 = await canvasToBlob(canvas, mimeType, quality);\n blob2 = await carryMetadata(blob2, canvas, source);\n const visible = visibleRect(deps.getState(), { width: oriented.width, height: oriented.height });\n const wanted = options.maxSize === void 0 ? Math.max(visible.width, visible.height) : Math.min(options.maxSize, Math.max(visible.width, visible.height));\n return {\n blob: blob2,\n width: canvas.width,\n height: canvas.height,\n mimeType,\n downscaled: Math.max(canvas.width, canvas.height) < Math.floor(wanted)\n };\n } catch (error) {\n if (error instanceof DOMException && error.name === \"SecurityError\") {\n throw new Error(\n t(\"The image cannot be exported because it was loaded without cross-origin access\"),\n { cause: error }\n );\n }\n throw error;\n }\n }\n async function save(onSaved = deps.onSaved) {\n try {\n onSaved(await exportImage(deps.saveOptions()));\n } catch (error) {\n deps.onError(error instanceof Error ? error : new Error(String(error)));\n }\n }\n return { exporting, exportImage, save };\n}\nfunction useTextEditing(deps) {\n const { context } = deps;\n const textEdit = ref(null);\n function startTextEdit(position, existing) {\n const options = deps.viewOptions();\n const oriented = deps.oriented();\n if (options === null || oriented === null) {\n return;\n }\n const origin = options.showCropped ? visibleRect(context.state.value, { width: oriented.width, height: oriented.height }) : { x: 0, y: 0 };\n textEdit.value = {\n sceneX: position.x,\n sceneY: position.y,\n screenX: options.offset.x + (position.x - origin.x) * options.scale,\n screenY: options.offset.y + (position.y - origin.y) * options.scale,\n screenFontSize: (existing?.fontSize ?? context.fontSize.value) * options.scale,\n value: existing?.text ?? \"\",\n id: existing?.id ?? null\n };\n }\n function confirmTextEdit(text) {\n const edit = textEdit.value;\n textEdit.value = null;\n if (edit === null) {\n return;\n }\n const state = context.state.value;\n const trimmed = text.trim();\n if (edit.id !== null) {\n context.commit({\n ...state,\n annotations: trimmed === \"\" ? state.annotations.filter((annotation) => annotation.id !== edit.id) : state.annotations.map((annotation) => annotation.id === edit.id ? { ...annotation, text: trimmed } : annotation)\n }, trimmed === \"\" ? t(\"Delete\") : t(\"Text\"));\n } else if (trimmed !== \"\") {\n context.commit({\n ...state,\n annotations: [...state.annotations, {\n id: newId(),\n type: \"text\",\n x: edit.sceneX,\n y: edit.sceneY,\n text: trimmed,\n color: context.drawColor.value,\n fontSize: context.fontSize.value,\n rotation: 0,\n outline: context.textOutline.value,\n background: context.textBackground.value,\n font: context.textFont.value,\n align: context.textAlign.value,\n bold: context.textBold.value,\n italic: context.textItalic.value,\n underline: context.textUnderline.value,\n strikethrough: context.textStrikethrough.value\n }]\n }, t(\"Text\"));\n }\n }\n return { textEdit, startTextEdit, confirmTextEdit };\n}\nfunction useWheelControls(element, context) {\n let dragFrom = null;\n let pinch = null;\n const pointers = /* @__PURE__ */ new Map();\n const spaceHeld = shallowRef(false);\n const toolFreeDrag = () => context.activeTool.value === \"adjust\";\n const panArmed = computed(() => spaceHeld.value || context.activeTool.value === \"adjust\");\n function anchorAt(position) {\n const rect = element.value?.getBoundingClientRect();\n if (rect === void 0) {\n return void 0;\n }\n return {\n x: position.x - rect.x - rect.width / 2,\n y: position.y - rect.y - rect.height / 2\n };\n }\n function currentPinch() {\n if (pointers.size !== 2) {\n return null;\n }\n const [a2, b2] = [...pointers.values()];\n return {\n distance: Math.hypot(a2.x - b2.x, a2.y - b2.y),\n centroid: { x: (a2.x + b2.x) / 2, y: (a2.y + b2.y) / 2 }\n };\n }\n function onWheel(event) {\n event.preventDefault();\n if (event.deltaY === 0) {\n return;\n }\n const height = element.value?.clientHeight ?? window.innerHeight;\n const factor = wheelZoomFactor(event.deltaY, event.deltaMode, height);\n context.setViewZoom(context.viewZoom.value * factor, anchorAt({ x: event.clientX, y: event.clientY }));\n }\n function onPointerDown(event) {\n if (event.pointerType === \"touch\") {\n pointers.set(event.pointerId, { x: event.clientX, y: event.clientY });\n if (pointers.size === 2) {\n pinch = currentPinch();\n context.panning.value = true;\n event.stopPropagation();\n }\n return;\n }\n const wantsPan = event.button === 1 || event.button === 0 && (spaceHeld.value || toolFreeDrag());\n if (!wantsPan) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n dragFrom = {\n pointer: { x: event.clientX, y: event.clientY },\n pan: context.viewPan.value\n };\n context.panning.value = true;\n element.value?.setPointerCapture(event.pointerId);\n }\n function onPointerMove(event) {\n if (event.pointerType === \"touch\" && pointers.has(event.pointerId)) {\n pointers.set(event.pointerId, { x: event.clientX, y: event.clientY });\n const next = currentPinch();\n if (next === null || pinch === null) {\n return;\n }\n event.stopPropagation();\n const ratio = next.distance / pinch.distance;\n if (Math.abs(ratio - 1) > PINCH_TOLERANCE) {\n context.setViewZoom(context.viewZoom.value * ratio, anchorAt(next.centroid));\n } else {\n context.setViewPan({\n x: context.viewPan.value.x + next.centroid.x - pinch.centroid.x,\n y: context.viewPan.value.y + next.centroid.y - pinch.centroid.y\n });\n }\n pinch = next;\n return;\n }\n if (dragFrom === null) {\n return;\n }\n event.stopPropagation();\n context.setViewPan({\n x: dragFrom.pan.x + (event.clientX - dragFrom.pointer.x),\n y: dragFrom.pan.y + (event.clientY - dragFrom.pointer.y)\n });\n }\n function onPointerUp(event) {\n if (event !== void 0) {\n pointers.delete(event.pointerId);\n }\n pinch = currentPinch();\n dragFrom = null;\n if (pointers.size < 2) {\n context.panning.value = false;\n }\n }\n function onKeydown(event) {\n if (event.code !== \"Space\" || ownsSpaceKey(event.target)) {\n return;\n }\n event.preventDefault();\n spaceHeld.value = true;\n }\n function onKeyup(event) {\n if (event.code === \"Space\") {\n spaceHeld.value = false;\n }\n }\n onMounted(() => {\n const target = element.value;\n target?.addEventListener(\"wheel\", onWheel, { passive: false });\n target?.addEventListener(\"pointerdown\", onPointerDown, { capture: true });\n target?.addEventListener(\"pointermove\", onPointerMove, { capture: true });\n target?.addEventListener(\"pointerup\", onPointerUp);\n target?.addEventListener(\"pointercancel\", onPointerUp);\n window.addEventListener(\"keydown\", onKeydown);\n window.addEventListener(\"keyup\", onKeyup);\n });\n onBeforeUnmount(() => {\n const target = element.value;\n target?.removeEventListener(\"wheel\", onWheel);\n target?.removeEventListener(\"pointerdown\", onPointerDown, { capture: true });\n target?.removeEventListener(\"pointermove\", onPointerMove, { capture: true });\n target?.removeEventListener(\"pointerup\", onPointerUp);\n target?.removeEventListener(\"pointercancel\", onPointerUp);\n window.removeEventListener(\"keydown\", onKeydown);\n window.removeEventListener(\"keyup\", onKeyup);\n });\n return { panArmed };\n}\nconst DURATION = 0.3;\nfunction prefersReducedMotion() {\n return typeof window.matchMedia === \"function\" && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n}\nfunction pivotOnCenter(target) {\n target.node.offset(target.pivot);\n target.node.position(target.pivot);\n}\nfunction playTransition(kind, deps, context) {\n if (prefersReducedMotion()) {\n return;\n }\n const { scale } = deps;\n const easing = Konva.Easings.EaseInOut;\n const ratio = context.previousScale / scale;\n for (const target of deps.targets) {\n const { node } = target;\n node.setAttrs({ x: 0, y: 0, offsetX: 0, offsetY: 0, rotation: 0, scaleX: 1, scaleY: 1, opacity: 1 });\n switch (kind) {\n case \"load\":\n pivotOnCenter(target);\n node.opacity(0);\n node.scale({ x: 0.96, y: 0.96 });\n node.to({ opacity: 1, scaleX: 1, scaleY: 1, duration: DURATION, easing });\n break;\n case \"rotate-cw\":\n case \"rotate-ccw\":\n pivotOnCenter(target);\n node.rotation(kind === \"rotate-cw\" ? -90 : 90);\n node.scale({ x: ratio, y: ratio });\n node.to({ rotation: 0, scaleX: 1, scaleY: 1, duration: DURATION, easing });\n break;\n case \"flip-h\":\n pivotOnCenter(target);\n node.scaleX(-1);\n node.to({ scaleX: 1, duration: DURATION, easing });\n break;\n case \"flip-v\":\n pivotOnCenter(target);\n node.scaleY(-1);\n node.to({ scaleY: 1, duration: DURATION, easing });\n break;\n case \"crop\": {\n const { previousScale, previousOffset, previousOrigin } = context;\n node.scale({ x: ratio, y: ratio });\n node.position({\n x: (previousOffset.x - previousOrigin.x * previousScale - (deps.offset.x - deps.origin.x * scale)) * target.unit,\n y: (previousOffset.y - previousOrigin.y * previousScale - (deps.offset.y - deps.origin.y * scale)) * target.unit\n });\n node.to({ x: 0, y: 0, scaleX: 1, scaleY: 1, duration: DURATION, easing });\n break;\n }\n }\n }\n}\nfunction clampCropBox(bounds, oldBox, newBox, keepRatio) {\n const right = bounds.x + bounds.width;\n const bottom = bounds.y + bounds.height;\n let { x, y, width, height } = newBox;\n if (x < bounds.x) {\n width -= bounds.x - x;\n x = bounds.x;\n }\n if (y < bounds.y) {\n height -= bounds.y - y;\n y = bounds.y;\n }\n width = Math.min(width, right - x);\n height = Math.min(height, bottom - y);\n if (keepRatio && oldBox.height > 0) {\n const ratio = oldBox.width / oldBox.height;\n if (width / height > ratio) {\n width = height * ratio;\n } else {\n height = width / ratio;\n }\n if (Math.abs(newBox.x - oldBox.x) > 0.01) {\n x = Math.min(newBox.x + newBox.width, right) - width;\n }\n if (Math.abs(newBox.y - oldBox.y) > 0.01) {\n y = Math.min(newBox.y + newBox.height, bottom) - height;\n }\n }\n return {\n ...newBox,\n x,\n y,\n width: Math.max(8, width),\n height: Math.max(8, height)\n };\n}\nfunction attachCropOverlay(deps) {\n const view = { oriented: deps.oriented, scale: deps.scale, offset: deps.offset };\n const toStage = (rect) => ({\n x: view.offset.x + rect.x * view.scale,\n y: view.offset.y + rect.y * view.scale,\n width: rect.width * view.scale,\n height: rect.height * view.scale\n });\n const toScene = (rect) => ({\n x: (rect.x - view.offset.x) / view.scale,\n y: (rect.y - view.offset.y) / view.scale,\n width: rect.width / view.scale,\n height: rect.height / view.scale\n });\n let imageBounds = toStage({ x: 0, y: 0, ...view.oriented });\n const layer = new Konva.Layer({ name: \"crop\" });\n const makeShade = () => new Konva.Rect({\n fill: \"rgba(0, 0, 0, 0.5)\",\n listening: false\n });\n const shadeTop = makeShade();\n const shadeLeft = makeShade();\n const shadeRight = makeShade();\n const shadeBottom = makeShade();\n for (const shade of [shadeTop, shadeLeft, shadeRight, shadeBottom]) {\n layer.add(shade);\n }\n const cropNode = new Konva.Rect({\n // Named so it can be told apart from the four shade rects\n name: \"crop-rect\",\n ...toStage(clampRect(deps.initial ?? { x: 0, y: 0, ...view.oriented }, view.oriented)),\n stroke: \"rgba(255, 255, 255, 0.9)\",\n strokeWidth: 1,\n draggable: true,\n strokeScaleEnabled: false\n });\n layer.add(cropNode);\n const stageRect = () => ({\n x: cropNode.x(),\n y: cropNode.y(),\n width: cropNode.width() * cropNode.scaleX(),\n height: cropNode.height() * cropNode.scaleY()\n });\n const gridLines = Array.from({ length: 4 }, () => new Konva.Line({\n stroke: \"rgba(255, 255, 255, 0.35)\",\n strokeWidth: 1,\n listening: false\n }));\n for (const line of gridLines) {\n layer.add(line);\n }\n const clampToImage = (rect) => {\n const x = Math.min(Math.max(rect.x, imageBounds.x), imageBounds.x + imageBounds.width - rect.width);\n const y = Math.min(Math.max(rect.y, imageBounds.y), imageBounds.y + imageBounds.height - rect.height);\n return { ...rect, x, y };\n };\n const sceneRect = () => {\n const scene = toScene(stageRect());\n return clampRect({\n x: Math.round(scene.x),\n y: Math.round(scene.y),\n width: Math.round(scene.width),\n height: Math.round(scene.height)\n }, view.oriented);\n };\n const updateOverlay = () => {\n const rect = stageRect();\n const { x, y, width, height } = imageBounds;\n shadeTop.setAttrs({ x, y, width, height: rect.y - y });\n shadeLeft.setAttrs({ x, y: rect.y, width: rect.x - x, height: rect.height });\n shadeRight.setAttrs({ x: rect.x + rect.width, y: rect.y, width: x + width - rect.x - rect.width, height: rect.height });\n shadeBottom.setAttrs({ x, y: rect.y + rect.height, width, height: y + height - rect.y - rect.height });\n gridLines[0].points([rect.x + rect.width / 3, rect.y, rect.x + rect.width / 3, rect.y + rect.height]);\n gridLines[1].points([rect.x + rect.width * 2 / 3, rect.y, rect.x + rect.width * 2 / 3, rect.y + rect.height]);\n gridLines[2].points([rect.x, rect.y + rect.height / 3, rect.x + rect.width, rect.y + rect.height / 3]);\n gridLines[3].points([rect.x, rect.y + rect.height * 2 / 3, rect.x + rect.width, rect.y + rect.height * 2 / 3]);\n deps.onChange?.(sceneRect());\n };\n let ratioLocked = false;\n const transformer = new Konva.Transformer({\n nodes: [cropNode],\n rotateEnabled: false,\n flipEnabled: false,\n keepRatio: false,\n // Round corner dots, light with a dark ring: the image behind them\n // is any image, and a dark dot disappears into half of them\n enabledAnchors: [\"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\"],\n anchorSize: 14,\n anchorCornerRadius: 7,\n anchorFill: \"#fff\",\n anchorStroke: \"rgba(0, 0, 0, 0.5)\",\n anchorStrokeWidth: 1,\n borderStroke: \"rgba(255, 255, 255, 0.7)\",\n boundBoxFunc: (oldBox, newBox) => ({ ...newBox, ...clampCropBox(imageBounds, oldBox, newBox, ratioLocked) })\n });\n layer.add(transformer);\n cropNode.dragBoundFunc((position) => clampToImage({\n ...position,\n width: cropNode.width() * cropNode.scaleX(),\n height: cropNode.height() * cropNode.scaleY()\n }));\n cropNode.on(\"dragmove transform\", updateOverlay);\n const setAspect = (aspect) => {\n ratioLocked = aspect !== null;\n transformer.keepRatio(ratioLocked);\n if (aspect === null) {\n return;\n }\n const current = stageRect();\n const width = Math.min(\n Math.max(current.width, current.height * aspect),\n imageBounds.width,\n imageBounds.height * aspect\n );\n const height = width / aspect;\n const center = { x: current.x + current.width / 2, y: current.y + current.height / 2 };\n const position = clampToImage({\n x: center.x - width / 2,\n y: center.y - height / 2,\n width,\n height\n });\n cropNode.setAttrs({ ...position, width, height, scaleX: 1, scaleY: 1 });\n transformer.forceUpdate();\n updateOverlay();\n };\n updateOverlay();\n deps.stage.add(layer);\n return {\n layer,\n setAspect,\n update(next) {\n const scene = toScene(stageRect());\n view.oriented = next.oriented;\n view.scale = next.scale;\n view.offset = next.offset;\n imageBounds = toStage({ x: 0, y: 0, ...view.oriented });\n cropNode.setAttrs({ ...toStage(scene), scaleX: 1, scaleY: 1 });\n transformer.forceUpdate();\n updateOverlay();\n },\n getRect: sceneRect,\n destroy() {\n transformer.destroy();\n layer.destroy();\n }\n };\n}\nfunction coverScale(box, degrees) {\n if (box.width <= 0 || box.height <= 0) {\n throw new RangeError(\"Dimensions must be positive\");\n }\n const radians = degrees * Math.PI / 180;\n const cos = Math.abs(Math.cos(radians));\n const sin = Math.abs(Math.sin(radians));\n return Math.max(\n (box.width * cos + box.height * sin) / box.width,\n (box.width * sin + box.height * cos) / box.height\n );\n}\nfunction fitContain(content, container) {\n if (content.width <= 0 || content.height <= 0 || container.width <= 0 || container.height <= 0) {\n throw new RangeError(\"Dimensions must be positive\");\n }\n const scale = Math.min(\n container.width / content.width,\n container.height / content.height,\n 1\n );\n const width = content.width * scale;\n const height = content.height * scale;\n return {\n scale,\n width,\n height,\n x: (container.width - width) / 2,\n y: (container.height - height) / 2\n };\n}\nfunction snapAngle(from, to, step = Math.PI / 4) {\n const dx = to.x - from.x;\n const dy = to.y - from.y;\n if (dx === 0 && dy === 0) {\n return to;\n }\n const length = Math.hypot(dx, dy);\n const angle = Math.round(Math.atan2(dy, dx) / step) * step;\n const round = (value) => Math.abs(value) < 1e-9 ? 0 : value;\n return {\n x: from.x + length * round(Math.cos(angle)),\n y: from.y + length * round(Math.sin(angle))\n };\n}\nfunction orientImage(image, state) {\n const natural = imageSize(image);\n const full = orientedSize(natural, state.rotation);\n const fit = canvasScaleFor(full);\n const oriented = {\n width: Math.max(1, Math.floor(full.width * fit)),\n height: Math.max(1, Math.floor(full.height * fit))\n };\n const canvas = document.createElement(\"canvas\");\n canvas.width = oriented.width;\n canvas.height = oriented.height;\n const context = canvas.getContext(\"2d\");\n if (context === null) {\n throw new Error(\"Canvas 2D context unavailable\");\n }\n const cover = coverScale(oriented, state.fineRotation) * Math.max(1, state.zoom) * fit;\n context.translate(oriented.width / 2, oriented.height / 2);\n context.rotate(state.fineRotation * Math.PI / 180);\n context.scale(cover, cover);\n context.rotate(state.rotation * Math.PI / 180);\n context.scale(state.flipX ? -1 : 1, state.flipY ? -1 : 1);\n context.drawImage(image, -natural.width / 2, -natural.height / 2);\n return canvas;\n}\nfunction transformPoints(points, node) {\n const radians = node.rotation() * Math.PI / 180;\n const cos = Math.cos(radians);\n const sin = Math.sin(radians);\n const result = [];\n for (let i2 = 0; i2 < points.length; i2 += 2) {\n const x = points[i2] * node.scaleX();\n const y = points[i2 + 1] * node.scaleY();\n result.push(node.x() + x * cos - y * sin, node.y() + x * sin + y * cos);\n }\n return result;\n}\nfunction applyNodeTransform(annotation, node) {\n switch (annotation.type) {\n case \"draw\":\n case \"arrow\":\n case \"line\": {\n const points = transformPoints(annotation.points, node);\n const scale = (Math.abs(node.scaleX()) + Math.abs(node.scaleY())) / 2;\n const strokeWidth = Math.max(1, annotation.strokeWidth * scale);\n return { ...annotation, points, strokeWidth };\n }\n case \"redact\":\n return {\n ...annotation,\n rect: {\n x: node.x(),\n y: node.y(),\n width: Math.max(1, annotation.rect.width * node.scaleX()),\n height: Math.max(1, annotation.rect.height * node.scaleY())\n }\n };\n case \"rectangle\":\n case \"ellipse\":\n return {\n ...annotation,\n rect: {\n x: node.x(),\n y: node.y(),\n width: Math.max(1, annotation.rect.width * node.scaleX()),\n height: Math.max(1, annotation.rect.height * node.scaleY())\n },\n rotation: node.rotation()\n };\n case \"text\":\n case \"sticker\":\n return {\n ...annotation,\n x: node.x(),\n y: node.y(),\n fontSize: Math.max(4, annotation.fontSize * node.scaleY()),\n rotation: node.rotation()\n };\n }\n}\nfunction attachSelection(deps) {\n const accent = primaryColor();\n const transformer = new Konva.Transformer({\n rotateEnabled: true,\n flipEnabled: false,\n ignoreStroke: true,\n // A plain square with four corner handles\n enabledAnchors: [\"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\"],\n anchorSize: 12,\n anchorCornerRadius: 6,\n anchorFill: \"#fff\",\n anchorStroke: accent,\n borderStroke: accent,\n rotateAnchorOffset: 24,\n rotationSnaps: [0, 45, 90, 135, 180, 225, 270, 315],\n rotationSnapTolerance: 6\n });\n const layer = new Konva.Layer({ name: \"selection\" });\n layer.add(transformer);\n deps.stage.add(layer);\n const findAnnotation = (id) => deps.getState().annotations.find((annotation) => annotation.id === id);\n const findNode = (id) => id === null ? null : deps.stage.find(\".annotation\").find((node) => node.id() === id) ?? null;\n const reportRect = () => {\n const node = findNode(deps.getSelectedId());\n deps.onSelectionRect(node ? node.getClientRect() : null);\n };\n const syncTransformer = () => {\n const id = deps.getSelectedId();\n const node = findNode(id);\n if (node === null || node === void 0) {\n transformer.nodes([]);\n deps.onSelectionRect(null);\n return;\n }\n const annotation = findAnnotation(id);\n transformer.rotateEnabled(annotation !== void 0 && annotation.type !== \"redact\");\n transformer.nodes([node]);\n deps.onSelectionRect(node.getClientRect());\n };\n const sync = () => {\n const selected = deps.getSelectedId();\n const dragAny = (deps.dragMode ?? \"any\") === \"any\";\n deps.stage.find(\".annotation\").forEach((node) => node.draggable(dragAny || node.id() === selected));\n syncTransformer();\n };\n sync();\n const onWriteBack = (event) => {\n const node = event.target;\n const annotation = findAnnotation(node.id());\n if (annotation === void 0) {\n return;\n }\n const state = deps.getState();\n deps.commit({\n ...state,\n annotations: state.annotations.map((entry) => entry.id === annotation.id ? applyNodeTransform(annotation, node) : entry)\n }, t(\"Move or resize\"));\n };\n const onClick = (event) => {\n if (event.target.hasName(\"annotation\")) {\n deps.select(event.target.id());\n } else if (event.target === deps.stage || event.target instanceof Konva.Image) {\n deps.select(null);\n }\n sync();\n };\n const onDblClick = (event) => {\n const annotation = findAnnotation(event.target.id());\n if (annotation?.type === \"text\") {\n deps.editText(annotation);\n }\n };\n deps.stage.on(\"click.selection tap.selection\", onClick);\n deps.stage.on(\"dblclick.selection dbltap.selection\", onDblClick);\n deps.stage.on(\"dragend.selection transformend.selection\", onWriteBack);\n deps.stage.on(\"dragmove.selection transform.selection\", reportRect);\n return {\n sync,\n detach() {\n deps.stage.off(\".selection\");\n deps.stage.find(\".annotation\").forEach((node) => node.draggable(false));\n deps.onSelectionRect(null);\n transformer.destroy();\n layer.destroy();\n }\n };\n}\nconst TOOL_LABELS = {\n draw: t(\"Draw\"),\n rectangle: t(\"Rectangle\"),\n ellipse: t(\"Ellipse\"),\n arrow: t(\"Arrow\"),\n line: t(\"Line\"),\n sticker: t(\"Sticker\"),\n redact: t(\"Blur\")\n};\nconst DRAG_THRESHOLD = 4;\nfunction movedEnough(from, to) {\n return Math.hypot(to.x - from.x, to.y - from.y) >= DRAG_THRESHOLD;\n}\nfunction attachPointerTools(tool, deps) {\n if (![\"draw\", \"rectangle\", \"ellipse\", \"arrow\", \"line\", \"text\", \"sticker\", \"redact\"].includes(tool)) {\n return () => {\n };\n }\n let active = null;\n let previewNode = null;\n let start = { x: 0, y: 0 };\n let pendingText = null;\n let deferred = null;\n let last = { x: 0, y: 0 };\n let constrained = false;\n let gestureBox = null;\n const imageBounds = () => {\n const canvas = deps.oriented();\n if (canvas === null) {\n return null;\n }\n return visibleRect(deps.getState(), { width: canvas.width, height: canvas.height });\n };\n const clampToImage = (point) => {\n const bounds = imageBounds();\n if (bounds === null) {\n return point;\n }\n return {\n x: Math.min(bounds.x + bounds.width, Math.max(bounds.x, point.x)),\n y: Math.min(bounds.y + bounds.height, Math.max(bounds.y, point.y))\n };\n };\n const onImage = (point) => {\n const bounds = imageBounds();\n return bounds === null || point.x >= bounds.x && point.x <= bounds.x + bounds.width && point.y >= bounds.y && point.y <= bounds.y + bounds.height;\n };\n const reachedImage = () => {\n const bounds = imageBounds();\n if (bounds === null || gestureBox === null) {\n return true;\n }\n return gestureBox.x2 >= bounds.x && gestureBox.x1 <= bounds.x + bounds.width && gestureBox.y2 >= bounds.y && gestureBox.y1 <= bounds.y + bounds.height;\n };\n const scenePointer = () => {\n const pointer = deps.stage.getPointerPosition();\n return pointer === null ? null : deps.toScene(pointer);\n };\n const refreshPreview = () => {\n if (active === null) {\n previewNode?.destroy();\n previewNode = null;\n return;\n }\n if (previewNode !== null && (active.type === \"draw\" || active.type === \"arrow\" || active.type === \"line\")) {\n previewNode.points(active.points);\n return;\n }\n previewNode?.destroy();\n previewNode = null;\n const oriented = deps.oriented();\n const source = oriented === null ? void 0 : { width: oriented.width, height: oriented.height };\n if (active.type === \"redact\" && source === void 0) {\n return;\n }\n previewNode = buildAnnotationNode(active, source);\n deps.contentGroup()?.add(previewNode);\n };\n const discard = () => {\n active = null;\n pendingText = null;\n deferred = null;\n previewNode?.destroy();\n previewNode = null;\n };\n const beginAnnotation = (point) => {\n const options = deps.options();\n start = point;\n last = point;\n switch (tool) {\n case \"draw\":\n active = { id: newId(), type: \"draw\", points: [point.x, point.y], color: options.color, strokeWidth: options.strokeWidth };\n break;\n case \"arrow\":\n case \"line\":\n active = { id: newId(), type: tool, points: [point.x, point.y, point.x, point.y], color: options.color, strokeWidth: options.strokeWidth };\n break;\n case \"rectangle\":\n case \"ellipse\":\n active = { id: newId(), type: tool, rect: { x: point.x, y: point.y, width: 1, height: 1 }, rotation: 0, color: options.color, strokeWidth: options.strokeWidth };\n break;\n case \"redact\":\n active = {\n id: newId(),\n type: \"redact\",\n rect: { x: point.x, y: point.y, width: 1, height: 1 },\n style: options.redactStyle,\n shape: options.redactShape\n };\n break;\n case \"text\":\n pendingText = point;\n return;\n case \"sticker\": {\n const state = deps.getState();\n const sticker = {\n id: newId(),\n type: \"sticker\",\n x: point.x,\n y: point.y,\n text: options.sticker,\n color: options.color,\n fontSize: options.fontSize * 2,\n rotation: 0\n };\n deps.commit({ ...state, annotations: [...state.annotations, sticker] }, TOOL_LABELS.sticker);\n return;\n }\n }\n refreshPreview();\n };\n const onPointerDown = (event) => {\n const point = scenePointer();\n if (point === null || deps.panning()) {\n return;\n }\n if (!onImage(point) && (tool === \"sticker\" || tool === \"text\")) {\n return;\n }\n gestureBox = { x1: point.x, y1: point.y, x2: point.x, y2: point.y };\n constrained = event !== void 0 && (event.evt.shiftKey || event.evt.ctrlKey);\n const target = event?.target;\n if (target?.getLayer()?.name() === \"selection\") {\n return;\n }\n if (target?.hasName(\"annotation\")) {\n if (target.id() === deps.selectedId()) {\n return;\n }\n const pointer = deps.stage.getPointerPosition();\n deferred = pointer === null ? null : { scene: point, stage: pointer };\n if (deferred !== null) {\n return;\n }\n }\n beginAnnotation(clampToImage(point));\n };\n const followLine = () => {\n if (active === null || active.type !== \"arrow\" && active.type !== \"line\") {\n return;\n }\n const end = constrained ? snapAngle(start, last) : last;\n active.points = [start.x, start.y, end.x, end.y];\n };\n const onPointerMove = (event) => {\n if (deferred !== null) {\n const pointer = deps.stage.getPointerPosition();\n if (pointer === null || deps.panning()) {\n return;\n }\n if (!movedEnough(deferred.stage, pointer)) {\n return;\n }\n const from = deferred.scene;\n deferred = null;\n beginAnnotation(clampToImage(from));\n }\n if (active === null) {\n return;\n }\n if (deps.panning()) {\n discard();\n return;\n }\n const raw = scenePointer();\n if (raw === null) {\n return;\n }\n gestureBox = gestureBox === null ? { x1: raw.x, y1: raw.y, x2: raw.x, y2: raw.y } : {\n x1: Math.min(gestureBox.x1, raw.x),\n y1: Math.min(gestureBox.y1, raw.y),\n x2: Math.max(gestureBox.x2, raw.x),\n y2: Math.max(gestureBox.y2, raw.y)\n };\n const point = clampToImage(raw);\n last = point;\n if (event !== void 0) {\n constrained = event.evt.shiftKey || event.evt.ctrlKey;\n }\n switch (active.type) {\n case \"draw\":\n active.points.push(point.x, point.y);\n break;\n case \"arrow\":\n case \"line\":\n followLine();\n break;\n case \"rectangle\":\n case \"ellipse\":\n case \"redact\":\n active = {\n ...active,\n rect: {\n x: Math.min(start.x, point.x),\n y: Math.min(start.y, point.y),\n width: Math.abs(point.x - start.x) || 1,\n height: Math.abs(point.y - start.y) || 1\n }\n };\n break;\n }\n refreshPreview();\n };\n const onPointerUp = () => {\n if (deferred !== null) {\n deferred = null;\n return;\n }\n if (pendingText !== null) {\n deps.startTextEdit(pendingText);\n pendingText = null;\n return;\n }\n if (active === null) {\n return;\n }\n if (!reachedImage()) {\n discard();\n return;\n }\n const state = deps.getState();\n deps.commit({ ...state, annotations: [...state.annotations, active] }, TOOL_LABELS[tool]);\n discard();\n };\n const onModifier = (event) => {\n if (event.key !== \"Shift\" && event.key !== \"Control\") {\n return;\n }\n constrained = event.type === \"keydown\";\n followLine();\n refreshPreview();\n };\n deps.stage.on(\"pointerdown.tool\", onPointerDown);\n deps.stage.on(\"pointermove.tool\", onPointerMove);\n deps.stage.on(\"pointerup.tool\", onPointerUp);\n window.addEventListener(\"pointerup\", onPointerUp);\n window.addEventListener(\"pointercancel\", discard);\n window.addEventListener(\"keydown\", onModifier);\n window.addEventListener(\"keyup\", onModifier);\n return () => {\n deps.stage.off(\".tool\");\n window.removeEventListener(\"pointerup\", onPointerUp);\n window.removeEventListener(\"pointercancel\", discard);\n window.removeEventListener(\"keydown\", onModifier);\n window.removeEventListener(\"keyup\", onModifier);\n previewNode?.destroy();\n };\n}\nconst _hoisted_1 = { class: \"image-editor__shell\" };\nconst _hoisted_2 = { class: \"image-editor__frame\" };\nconst _hoisted_3 = { class: \"image-editor__viewport\" };\nconst _hoisted_4 = { class: \"image-editor__stage\" };\nconst _hoisted_5 = [\"aria-label\"];\nconst _hoisted_6 = {\n key: 1,\n class: \"image-editor__error\",\n \"data-test\": \"load-error\"\n};\nconst _hoisted_7 = {\n class: \"hidden-visually\",\n role: \"status\",\n \"aria-live\": \"polite\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"ImageEditor\",\n props: {\n src: {},\n label: {},\n exportOptions: {},\n initialState: {},\n saving: { type: Boolean },\n canSaveAs: { type: Boolean }\n },\n emits: [\"save\", \"saveAs\", \"cancel\", \"error\", \"change\"],\n setup(__props, { expose: __expose, emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const labels = {\n canvas: t(\"Image editor\"),\n failed: t(\"The image could not be loaded\"),\n retry: t(\"Try again\"),\n tooLarge: t(\"This image is larger than this browser can edit\"),\n tooLargeConfirm: t(\"Continue with a smaller copy\"),\n tooLargeReject: t(\"Close the editor\")\n };\n function confirmDownscale(full, fit) {\n const megapixels = (size) => Math.round(size.width * size.height / 1e5) / 10;\n return showConfirmation({\n name: labels.tooLarge,\n text: t(\n \"{name} is {source} megapixels and this browser can only edit {limit}. Continuing means the saved image is {width} by {height} pixels instead, and the detail beyond that is lost.\",\n {\n name: props.label ?? props.src.toString(),\n source: String(megapixels(full)),\n limit: String(megapixels({ width: full.width * fit, height: full.height * fit })),\n width: String(Math.floor(full.width * fit)),\n height: String(Math.floor(full.height * fit))\n }\n ),\n labelConfirm: labels.tooLargeConfirm,\n labelReject: labels.tooLargeReject,\n severity: \"warning\"\n });\n }\n let loadAttempt = 0;\n const context = createEditorContext();\n const root = useTemplateRef(\"root\");\n const container = useTemplateRef(\"container\");\n const loaded = ref(false);\n const errored = ref(false);\n const containerSize = shallowRef({ width: 0, height: 0 });\n const orientedCanvas = shallowRef(null);\n const sourceImage = shallowRef(null);\n const { backdrop } = useAmbient(sourceImage);\n const { panArmed } = useWheelControls(container, context);\n const announcement = useAnnouncements(context);\n const selectionBox = shallowRef(null);\n let stage = null;\n let scene = null;\n let cropOverlay = null;\n let selection = null;\n let detachTool = null;\n let attached = null;\n let resizeObserver = null;\n let pendingTransition = null;\n let lastView = null;\n const canvasCursor = computed(() => {\n if (context.panning.value) {\n return \"grabbing\";\n }\n if (panArmed.value) {\n return \"grab\";\n }\n const tool = context.activeTool.value;\n if ([\"draw\", \"rectangle\", \"ellipse\", \"arrow\", \"line\", \"text\", \"sticker\", \"redact\"].includes(tool)) {\n return \"crosshair\";\n }\n return \"default\";\n });\n const viewFit = computed(() => {\n const oriented = orientedCanvas.value;\n if (oriented === null || containerSize.value.width === 0 || containerSize.value.height === 0) {\n return null;\n }\n const showCropped = context.activeTool.value !== \"crop\";\n const visible = showCropped ? visibleRect(context.state.value, { width: oriented.width, height: oriented.height }) : { x: 0, y: 0, width: oriented.width, height: oriented.height };\n const container2 = containerSize.value;\n const fit = fitContain(\n { width: visible.width, height: visible.height },\n {\n width: Math.max(1, container2.width - VIEW_MARGIN * 2),\n height: Math.max(1, container2.height - VIEW_MARGIN * 2)\n }\n );\n return { scale: fit.scale, visible, container: container2, showCropped };\n });\n const viewOptions = computed(() => {\n const fit = viewFit.value;\n if (fit === null) {\n return null;\n }\n const scale = fit.scale * context.viewZoom.value;\n const pan = clampPan(context.viewPan.value, panBounds(fit.visible, scale, fit.container));\n return {\n scale,\n offset: {\n x: (fit.container.width - fit.visible.width * scale) / 2 + pan.x,\n y: (fit.container.height - fit.visible.height * scale) / 2 + pan.y\n },\n showCropped: fit.showCropped,\n fastFilters: context.interacting.value\n };\n });\n const { textEdit, startTextEdit, confirmTextEdit } = useTextEditing({\n context,\n viewOptions: () => viewOptions.value,\n oriented: () => orientedCanvas.value\n });\n const overlaySize = shallowRef({ width: 0, height: 0 });\n const overlay = useTemplateRef(\"overlay\");\n const toolbarBox = computed(() => {\n const edit = textEdit.value;\n if (edit !== null) {\n return { x: edit.screenX, y: edit.screenY, ...overlaySize.value };\n }\n return selectionBox.value;\n });\n const textStyle = useTextStyle(context);\n const { exporting, exportImage, save: onSave } = useExportImage({\n oriented: () => orientedCanvas.value,\n getState: () => context.state.value,\n source: () => props.src instanceof Blob ? props.src : null,\n saveOptions: () => props.exportOptions ?? {},\n onSaved: (result) => emit(\"save\", result),\n onError: (error) => emit(\"error\", error)\n });\n function captureView() {\n return lastView ?? { previousScale: 1, previousOffset: { x: 0, y: 0 }, previousOrigin: { x: 0, y: 0 } };\n }\n function commitWithTransition(kind, next, label) {\n pendingTransition = { kind, context: captureView() };\n context.commit(next, label);\n }\n function renderView() {\n const oriented = orientedCanvas.value;\n const options = viewOptions.value;\n if (stage === null || oriented === null || options === null) {\n return;\n }\n stage.size(containerSize.value);\n scene ??= createScene(stage);\n scene.update(oriented, context.state.value, options);\n const renderedOrigin = options.showCropped ? visibleRect(context.state.value, { width: oriented.width, height: oriented.height }) : { x: 0, y: 0 };\n syncTools(oriented, options);\n if (pendingTransition !== null) {\n const visible = options.showCropped ? visibleRect(context.state.value, { width: oriented.width, height: oriented.height }) : { x: 0, y: 0, width: oriented.width, height: oriented.height };\n const center = {\n x: visible.x + visible.width / 2,\n y: visible.y + visible.height / 2\n };\n const targets = [{\n node: scene.contentGroup,\n pivot: center,\n unit: 1 / options.scale\n }];\n if (cropOverlay !== null) {\n targets.push({\n node: cropOverlay.layer,\n pivot: {\n x: options.offset.x + (center.x - renderedOrigin.x) * options.scale,\n y: options.offset.y + (center.y - renderedOrigin.y) * options.scale\n },\n unit: 1\n });\n }\n playTransition(pendingTransition.kind, {\n targets,\n scale: options.scale,\n offset: options.offset,\n origin: renderedOrigin\n }, pendingTransition.context);\n pendingTransition = null;\n }\n lastView = {\n previousScale: options.scale,\n previousOffset: options.offset,\n previousOrigin: { x: renderedOrigin.x, y: renderedOrigin.y }\n };\n }\n function syncTools(oriented, options) {\n if (stage === null) {\n return;\n }\n const tool = context.activeTool.value;\n const crop = context.state.value.crop;\n const fresh = attached !== null && attached.tool === tool && attached.oriented === oriented && attached.crop === crop;\n if (fresh) {\n selection?.sync();\n cropOverlay?.update({\n oriented: { width: oriented.width, height: oriented.height },\n scale: options.scale,\n offset: options.offset\n });\n return;\n }\n detachTool?.();\n detachTool = null;\n selection?.detach();\n selection = null;\n cropOverlay?.destroy();\n cropOverlay = null;\n attached = { tool, oriented, crop };\n if (tool !== \"crop\" && tool !== \"adjust\") {\n selection = attachSelection({\n stage,\n getState: () => context.state.value,\n commit: context.commit,\n select: (id) => {\n context.selectedId.value = id;\n },\n getSelectedId: () => context.selectedId.value,\n editText: (annotation) => startTextEdit({ x: annotation.x, y: annotation.y }, annotation),\n onSelectionRect: (rect) => {\n selectionBox.value = rect;\n },\n dragMode: tool === \"select\" ? \"any\" : \"selected\"\n });\n }\n if (tool === \"crop\") {\n cropOverlay = attachCropOverlay({\n stage,\n oriented: { width: oriented.width, height: oriented.height },\n scale: options.scale,\n offset: options.offset,\n initial: crop,\n onChange: (rect) => {\n context.cropChanged.value = !sameRect(rect, visibleRect(context.state.value, currentOriented()));\n }\n });\n applyCropAspect();\n } else if (tool !== \"adjust\" && tool !== \"select\") {\n detachTool = attachPointerTools(tool, {\n stage,\n contentGroup: () => scene?.contentGroup ?? null,\n oriented: () => orientedCanvas.value,\n getState: () => context.state.value,\n commit: context.commit,\n selectedId: () => context.selectedId.value,\n // Read the live view: the tool outlives the transform it was\n // attached under\n toScene: (pointer) => toImageCoords(\n pointer,\n context.state.value,\n { width: oriented.width, height: oriented.height },\n viewOptions.value ?? options\n ),\n panning: () => context.panning.value,\n options: () => ({\n color: context.drawColor.value,\n strokeWidth: context.strokeWidth.value,\n fontSize: context.fontSize.value,\n sticker: context.sticker.value,\n redactStyle: context.redactStyle.value,\n redactShape: context.redactShape.value\n }),\n startTextEdit: (position) => startTextEdit(position)\n });\n }\n }\n function applyCropAspect() {\n if (cropOverlay === null) {\n return;\n }\n const aspect = context.cropAspect.value;\n const oriented = orientedCanvas.value;\n if (aspect === \"original\" && oriented !== null) {\n cropOverlay.setAspect(oriented.width / oriented.height);\n } else {\n cropOverlay.setAspect(typeof aspect === \"number\" ? aspect : null);\n }\n }\n function refreshOrientedCanvas() {\n if (sourceImage.value === null) {\n return;\n }\n const oriented = orientImage(sourceImage.value, context.state.value);\n orientedCanvas.value = oriented;\n prepareLevels(oriented);\n }\n function seedState(seed, image) {\n if (seed.crop === null) {\n return seed;\n }\n const oriented = orientedSize(imageSize(image), seed.rotation);\n return { ...seed, crop: clampRect(seed.crop, oriented) };\n }\n async function load() {\n const attempt = ++loadAttempt;\n loaded.value = false;\n errored.value = false;\n try {\n const image = await decodeImage(props.src);\n if (attempt !== loadAttempt) {\n return;\n }\n const full = imageSize(image);\n const fit = canvasScaleFor(full);\n if (fit < 1 && !await confirmDownscale(full, fit)) {\n emit(\"cancel\");\n return;\n }\n if (attempt !== loadAttempt) {\n return;\n }\n sourceImage.value = image;\n context.reset(props.initialState === void 0 ? void 0 : seedState(props.initialState, image));\n const minDimension = Math.min(full.width, full.height);\n context.fontSize.value = Math.min(128, Math.max(12, Math.round(minDimension / 15)));\n pendingTransition = { kind: \"load\", context: captureView() };\n refreshOrientedCanvas();\n loaded.value = true;\n } catch (error) {\n if (attempt !== loadAttempt) {\n return;\n }\n errored.value = true;\n emit(\"error\", error instanceof Error ? error : new Error(String(error)));\n }\n }\n function currentOriented() {\n const oriented = orientedCanvas.value;\n return { width: oriented.width, height: oriented.height };\n }\n function onRotateCW() {\n commitWithTransition(\"rotate-cw\", rotateCW(context.state.value, currentOriented()), t(\"Rotate right\"));\n }\n function onRotateCCW() {\n let state = context.state.value;\n let oriented = currentOriented();\n for (let i2 = 0; i2 < 3; i2++) {\n state = rotateCW(state, oriented);\n oriented = { width: oriented.height, height: oriented.width };\n }\n commitWithTransition(\"rotate-ccw\", state, t(\"Rotate left\"));\n }\n function onFlipHorizontal() {\n commitWithTransition(\"flip-h\", flipHorizontal(context.state.value, currentOriented()), t(\"Flip horizontal\"));\n }\n function onFlipVertical() {\n commitWithTransition(\"flip-v\", flipVertical(context.state.value, currentOriented()), t(\"Flip vertical\"));\n }\n function onApplyCrop() {\n if (cropOverlay === null) {\n return;\n }\n const crop = cropOverlay.getRect();\n if (sameRect(crop, visibleRect(context.state.value, currentOriented()))) {\n return;\n }\n pendingTransition = { kind: \"crop\", context: captureView() };\n context.commit({ ...context.state.value, crop }, t(\"Crop\"));\n }\n function onDuplicateSelection() {\n const id = context.selectedId.value;\n const state = context.state.value;\n const annotation = state.annotations.find((entry) => entry.id === id);\n if (annotation === void 0) {\n return;\n }\n const copy = duplicateAnnotation(annotation);\n context.commit({ ...state, annotations: [...state.annotations, copy] }, t(\"Duplicate\"));\n context.selectedId.value = copy.id;\n renderView();\n }\n function onRevert() {\n context.commit(createInitialState(), t(\"Revert all changes\"));\n }\n function onResetCrop() {\n context.commit({ ...context.state.value, crop: null }, t(\"Reset crop\"));\n }\n function onDeleteSelection() {\n const id = context.selectedId.value;\n if (id === null) {\n return;\n }\n const state = context.state.value;\n context.selectedId.value = null;\n context.commit({\n ...state,\n annotations: state.annotations.filter((annotation) => annotation.id !== id)\n }, t(\"Delete\"));\n }\n useEditorShortcuts({\n context,\n isTextEditing: () => textEdit.value !== null,\n onDelete: onDeleteSelection,\n onEscape: () => {\n if (context.selectedId.value !== null) {\n context.selectedId.value = null;\n renderView();\n } else if (context.activeMode.value === \"crop\") {\n context.setMode(\"select\");\n } else if (context.activeMode.value === \"annotate\" && context.activeTool.value !== \"select\") {\n context.activeTool.value = \"select\";\n }\n }\n });\n watch(viewFit, (fit) => {\n context.viewFit.value = fit;\n }, { immediate: true });\n provideEditorCommands({\n rotateCW: onRotateCW,\n rotateCCW: onRotateCCW,\n flipHorizontal: onFlipHorizontal,\n flipVertical: onFlipVertical,\n applyCrop: onApplyCrop,\n resetCrop: onResetCrop,\n revert: onRevert\n });\n watch(() => props.src, load);\n watch(\n [\n () => context.state.value.rotation,\n () => context.state.value.flipX,\n () => context.state.value.flipY,\n () => context.state.value.fineRotation,\n () => context.state.value.zoom\n ],\n refreshOrientedCanvas\n );\n watch(\n [context.state, context.activeTool, context.activeMode, context.viewZoom, context.viewPan, context.interacting, orientedCanvas, containerSize],\n renderView\n );\n watch(context.cropAspect, applyCropAspect);\n watch(context.selectedId, (id) => {\n const annotation = context.state.value.annotations.find((entry) => entry.id === id);\n if (annotation !== void 0 && \"color\" in annotation && annotation.type !== \"sticker\") {\n context.drawColor.value = annotation.color;\n }\n });\n watch([context.state, context.interacting], () => {\n if (!context.interacting.value) {\n emit(\"change\", structuredClone(context.state.value));\n }\n });\n onMounted(() => {\n stage = new Konva.Stage({ container: container.value, width: 1, height: 1 });\n resizeObserver = new ResizeObserver(() => {\n const { clientWidth, clientHeight } = container.value;\n containerSize.value = { width: clientWidth, height: clientHeight };\n });\n resizeObserver.observe(container.value);\n load();\n });\n onBeforeUnmount(() => {\n resizeObserver?.disconnect();\n detachTool?.();\n selection?.detach();\n cropOverlay?.destroy();\n scene?.destroy();\n scene = null;\n stage?.destroy();\n stage = null;\n });\n __expose({\n exportImage,\n /**\n * Start over, optionally from a given state.\n *\n * @param state state to reset to, defaulting to a pristine one\n */\n reset: (state) => context.reset(state)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"root\",\n ref: root,\n class: \"image-editor\",\n style: normalizeStyle({\n \"--editor-backdrop\": unref(backdrop) ? `url(${unref(backdrop)})` : \"none\"\n })\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n createElementVNode(\"div\", {\n ref_key: \"container\",\n ref: container,\n class: \"image-editor__canvas\",\n style: normalizeStyle({ cursor: canvasCursor.value }),\n role: \"img\",\n \"aria-label\": __props.label ?? labels.canvas\n }, null, 12, _hoisted_5),\n unref(textEdit) !== null ? (openBlock(), createBlock(TextOverlay, {\n key: 0,\n ref_key: \"overlay\",\n ref: overlay,\n x: unref(textEdit).screenX,\n y: unref(textEdit).screenY,\n \"font-size\": unref(textEdit).screenFontSize,\n color: unref(context).drawColor.value,\n initial: unref(textEdit).value,\n outline: unref(textStyle).outline.value,\n background: unref(textStyle).background.value,\n font: unref(textStyle).font.value,\n align: unref(textStyle).align.value,\n bold: unref(textStyle).bold.value,\n italic: unref(textStyle).italic.value,\n underline: unref(textStyle).underline.value,\n strikethrough: unref(textStyle).strikethrough.value,\n onResize: _cache[0] || (_cache[0] = ($event) => overlaySize.value = $event),\n onConfirm: unref(confirmTextEdit),\n onCancel: _cache[1] || (_cache[1] = ($event) => textEdit.value = null)\n }, null, 8, [\"x\", \"y\", \"font-size\", \"color\", \"initial\", \"outline\", \"background\", \"font\", \"align\", \"bold\", \"italic\", \"underline\", \"strikethrough\", \"onConfirm\"])) : createCommentVNode(\"\", true),\n toolbarBox.value !== null ? (openBlock(), createBlock(FloatingToolbar, {\n key: 1,\n box: toolbarBox.value,\n typing: unref(textEdit) !== null,\n onRefocus: _cache[2] || (_cache[2] = ($event) => overlay.value?.focus()),\n onDuplicate: onDuplicateSelection,\n onDelete: onDeleteSelection\n }, null, 8, [\"box\", \"typing\"])) : createCommentVNode(\"\", true)\n ]),\n !loaded.value && !errored.value ? (openBlock(), createBlock(unref(NcLoadingIcon), {\n key: 0,\n class: \"image-editor__loading\",\n size: 44\n })) : createCommentVNode(\"\", true),\n errored.value ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n createElementVNode(\"p\", null, toDisplayString(labels.failed), 1),\n createVNode(unref(NcButton), {\n variant: \"secondary\",\n \"data-test\": \"retry\",\n onClick: _cache[3] || (_cache[3] = ($event) => load())\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(labels.retry), 1)\n ]),\n _: 1\n })\n ])) : createCommentVNode(\"\", true)\n ]),\n createVNode(EditorTopBar, {\n class: \"image-editor__topbar\",\n loaded: loaded.value,\n popoverContainer: root.value,\n saving: unref(exporting) || __props.saving === true,\n canSaveAs: __props.canSaveAs === true,\n onSave: _cache[4] || (_cache[4] = ($event) => unref(onSave)()),\n onSaveAs: _cache[5] || (_cache[5] = ($event) => unref(onSave)((result) => emit(\"saveAs\", result))),\n onCancel: _cache[6] || (_cache[6] = ($event) => emit(\"cancel\"))\n }, null, 8, [\"loaded\", \"popoverContainer\", \"saving\", \"canSaveAs\"]),\n createVNode(EditorPanel, {\n class: normalizeClass(unref(context).activeMode.value === \"filter\" ? \"image-editor__strip\" : \"image-editor__controls\"),\n loaded: loaded.value,\n oriented: orientedCanvas.value\n }, null, 8, [\"class\", \"loaded\", \"oriented\"]),\n createVNode(EditorSidebar, {\n class: \"image-editor__rail\",\n loaded: loaded.value\n }, null, 8, [\"loaded\"]),\n createElementVNode(\"span\", _hoisted_7, toDisplayString(unref(announcement)), 1)\n ])\n ])\n ], 4);\n };\n }\n});\nconst ImageEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-c8e207c9\"]]);\nexport {\n D as DEFAULT_ORIENTATION,\n ImageEditor,\n createInitialState,\n i as isOrientation,\n isPristine,\n a as readJpegOrientation,\n b as rotateOrientation,\n s as setJpegOrientation,\n useHistory\n};\n//# sourceMappingURL=index.mjs.map\n","import '../assets/ImageEditor.css';\nimport { defineComponent, ref, computed, openBlock, createBlock, unref } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport { showSuccess, showError } from \"@nextcloud/dialogs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { ImageEditor as ImageEditor$1 } from \"@nextcloud/image-editor\";\nimport { t, l as logger } from \"./index.mjs\";\nimport \"@nextcloud/image-editor/style\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"ImageEditor\",\n props: {\n file: {}\n },\n emits: [\"close\", \"saved\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit$1 = __emit;\n const saving = ref(false);\n const exportOptions = computed(() => {\n if (props.file.mime === \"image/jpeg\" || props.file.mime === \"image/webp\") {\n return { format: props.file.mime, quality: 0.9 };\n }\n return { format: \"image/png\" };\n });\n async function onSave(result) {\n saving.value = true;\n try {\n const known = props.file.attributes.etag;\n const response = await axios.put(props.file.encodedSource, result.blob, {\n headers: known ? { \"If-Match\": `\"${String(known).replace(/"|\"/g, \"\")}\"` } : void 0\n });\n const etag = response.headers?.[\"oc-etag\"] ?? response.headers?.etag;\n if (etag) {\n props.file.attributes.etag = String(etag).replace(/\"/g, \"\");\n }\n emit$1(\"saved\", URL.createObjectURL(result.blob));\n emit(\"files:node:updated\", props.file);\n showSuccess(t(\"Image saved\"));\n emit$1(\"close\");\n } catch (error) {\n logger.error(\"Failed to save the edited image\", { error });\n if (error.response?.status === 412) {\n showError(t(\"The file was changed elsewhere while you were editing it. Reload the page to edit the new version.\"));\n return;\n }\n showError(t(\"Could not save the image\"));\n } finally {\n saving.value = false;\n }\n }\n function onCancel() {\n emit$1(\"close\");\n }\n function onError(error) {\n logger.error(\"Image editor error\", { error });\n showError(t(\"The image could not be edited.\"));\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(ImageEditor$1), {\n src: __props.file.encodedSource,\n label: __props.file.displayname,\n exportOptions: exportOptions.value,\n saving: saving.value,\n class: \"viewer__image-editor\",\n onSave,\n onCancel,\n onError\n }, null, 8, [\"src\", \"label\", \"exportOptions\", \"saving\"]);\n };\n }\n});\nconst ImageEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-7d237de6\"]]);\nexport {\n ImageEditor as default\n};\n//# sourceMappingURL=ImageEditor.mjs.map\n"],"names":["spawnDialog","dialog","props","options","container","element","resolve","reject","app","createApp","rest","payload","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","defineComponent","__props","shouldShowAlert","computed","iconPath","mdiAlertDecagram","mdiCheckboxMarkedCircle","mdiInformation","mdiAlert","_ctx","_cache","openBlock","createElementBlock","normalizeClass","unref","isLegacy","renderSlot","createVNode","NcIconSvgWrapper","createElementVNode","toDisplayString","createCommentVNode","NcNoteCard","_export_sfc","GenericDialog_default","__emit","emit","dialogButtons","button","handleUnload","onMounted","onUnmounted","createBlock","NcDialog","$event","withCtx","Dialog","#name","#text","#buttons","#severity","name","text","buttons","severity","showConfirmation","t","promise","PI_OVER_180","detectBrowser","glob","global","Konva","param","angle","_a","_b","_registerNode","NodeClass","NODE_ERROR","ensureBrowser","Transform","m","tr","point","x","y","sx","sy","rad","c","s","m11","m12","m21","m22","matrix","dx","dy","d","m0","m1","m2","m3","m4","m5","a","b","e","f","delta","result","r","Util","OBJECT_ARRAY","OBJECT_NUMBER","OBJECT_STRING","OBJECT_BOOLEAN","PI_OVER_DEG180","DEG180_OVER_PI","HASH","EMPTY_STRING","ZERO","KONVA_WARNING","KONVA_ERROR","COLORS","_isCanvasFarblingActive","defaultWindow","animQueues","requestFrame","win","capitalizeCache","splitColorComponents","str","components","NUMBER_SOURCE","COLOR_COMPONENT_REGEX","parseColorComponent","value","max","match","HEX_COLOR_REGEX","clamp01","HUE_REGEX","HUE_UNITS","obj","val","selector","firstChar","number","callback","target","queue","cb","canvas","el","url","imageObj","g","hex","bigint","randColor","ctx","isFarbling","i","color","rgb","parts","hue","unit","degrees","h","l","t2","t1","t3","r1","r2","retObj","key","arr","deg","radians","cached","out","func","left","right","x1","y1","x2","y2","x3","y3","dist","pd2","u","pt","line","isClosed","pc","p1","p2","proj","px","py","pdist","startArray","endArray","start","end","temp","n","newStart","pr","desc","source","evt","canvases","context","width","height","cornerRadius","xOrigin","yOrigin","topLeft","topRight","bottomLeft","bottomRight","points","sides","radius","prev","curr","next","vec1","vec2","len1","len2","currCornerRadius","normalVec1","normalVec2","simplifyArray","retArr","len","util","COMMA","OPEN_PAREN","CLOSE_PAREN","OPEN_PAREN_BRACKET","CLOSE_BRACKET_PAREN","SEMICOLON","DOUBLE_PAREN","EQUALS","CONTEXT_METHODS","CONTEXT_PROPERTIES","traceArrMax","_cssFiltersSupported","isCSSFiltersSupported","Context","shape","relaxed","rounded","traceArr","trace","method","args","pixelRatio","bounds","lineCap","absOpacity","lineJoin","miterLimit","attr","startAngle","endAngle","counterClockwise","cp1x","cp1y","cp2x","cp2y","x0","y0","image","repetition","r0","sWidth","sHeight","dWidth","dHeight","_context","radiusX","radiusY","rotation","counterclockwise","path","fillRule","maxWidth","sw","sh","radii","imageData","cpx","cpy","segments","path2d","that","origSetter","methodName","origMethod","ret","prop","node","op","SceneContext","willReadFrequently","fill","grd","hasColor","fillPriority","hasPattern","hasLinearGradient","hasRadialGradient","colorStops","dash","strokeScaleEnabled","_c","blur","offset","scale","ratio","scaleX","scaleY","HitContext","hitStrokeWidth","strokeWidth","_pixelRatio","getDevicePixelRatio","devicePixelRatio","backingStoreRatio","Canvas","config","previousRatio","mimeType","quality","err","SceneCanvas","HitCanvas","DD","flag","elem","endDragBefore","drag","nodesToFireEvents","stage","pos","dragDistance","drawNodes","drawNode","_formatValue","RGBComponent","getNumberValidator","getNumberOrArrayOfNumbersValidator","noOfElements","isNumber","isValidArray","getNumberOrAutoValidator","getStringValidator","getStringOrGradientValidator","isString","isGradient","getNumberArrayValidator","TypedArray","item","getBooleanValidator","getComponentValidator","GET","SET","Factory","constructor","def","validator","after","capitalize","getter","setter","component","basicValidator","oldVal","capitalizedAttr","message","methods","oldMethodName","newMethodName","oldGetter","oldSetter","deprecated","parseCSSFilters","cssFilter","filterRegex","filterName","filterValue","blurRadius","KonvaFilters","brightness","contrast","konvaContrast","ABSOLUTE_OPACITY","ALL_LISTENERS","ABSOLUTE_TRANSFORM","ABSOLUTE_SCALE","CANVAS","CHANGE","CHILDREN","KONVA","LISTENING","MOUSEENTER","MOUSELEAVE","POINTERENTER","POINTERLEAVE","TOUCHENTER","TOUCHLEAVE","SHAPE","SPACE","STAGE","TRANSFORM","UPPER_STAGE","VISIBLE","TRANSFORM_CHANGE_STR","idCounter","Node$1","Node","privateGetter","cache","deps","depsString","dep","scene","filter","hit","conf","rect","drawBorder","hitCanvasPixelRatio","extraPaddingX","extraPaddingY","cachedSceneCanvas","cachedFilterCanvas","sceneContext","bufferCanvas","bufferContext","top","hitCanvas","hitContext","minX","minY","maxX","maxY","trans","transformed","canvasCache","cacheCanvas","filters","cachedCanvas","sceneCanvas","filterCanvas","filterContext","useNativeOnly","finalFilter","evtStr","selectorOrHandler","events","baseEvent","event","type","handler","stopNode","targets","parent","ancestors","relativeTo","skipDragCheck","layer","layerUnderDrag","dragSkip","depth","index","nodes","child","addChildren","children","transform","haveCachedParent","absoluteMatrix","absoluteTransform","origTrans","it","change","changeX","changeY","family","theta","zIndex","newContainer","attrs","defaultValue","nonPlainObject","includeSelf","res","ancestor","selectorArr","sel","eventType","bubble","at","transformsEnabled","offsetX","offsetY","skewX","skewY","allListeners","listener","box","img","blob","size","evtListeners","evtName","newVal","oldName","newName","fullName","names","compareShape","nonBubbling","stopBubble","nodeType","seen","hierarchyEvents","entry","topListeners","selfListeners","list","origLen","liveListeners","pointerId","ap","bubbleEvent","newNodePos","dbf","bounded","draggable","hasDraggingChild","dragElement","isDragging","isReady","margin","screenRect","data","className","no","Class","addGetterSetter","Container","filterFunc","findOne","valid","fn","shouldStop","isAbsTransform","callbacks","can","caching","cachedHitCanvas","drawMethod","clipWidth","clipHeight","clipFunc","hasClip","selfCache","clipArgs","clipX","clipY","hasComposition","skipTransform","selfRect","shapes","hasVisible","Captures","SUPPORT_POINTER_EVENTS","getCapturedShape","createEvent","hasPointerCapture","setPointerCapture","releaseCapture","STRING","PX","MOUSEOUT","MOUSEOVER","MOUSEMOVE","MOUSEDOWN","MOUSEUP","POINTERMOVE","POINTERDOWN","POINTERUP","POINTERCANCEL","LOSTPOINTERCAPTURE","POINTEROUT","POINTEROVER","CONTEXTMENU","TOUCHSTART","TOUCHEND","TOUCHMOVE","TOUCHCANCEL","WHEEL","MAX_LAYERS_NUMBER","EVENTS","EVENTS_MAP","getEventType","getEventsMap","checkNoClip","NO_POINTERS_MESSAGE","stages","listeningWindows","listenToWindow","Stage","isLayer","isFastLayer","style","id","layers","content","p","layerCanvas","length","PointerEvents.hasPointerCapture","PointerEvents.setPointerCapture","PointerEvents.releaseCapture","evenType","targetShape","eventsEnabled","triggeredOnShape","isTouch","isTouchPointer","processedShapesIds","PointerEvents.getCapturedShape","differentTarget","wasDragged","listenClick","clickStartShape","clickEndShape","skipPointerUpTrigger","fireDblClick","PointerEvents.createEvent","contentPosition","touch","HAS_SHADOW","SHADOW_RGBA","patternImage","linearGradient","radialGradient","dummyContext","getDummyContext","_fillFunc","_strokeFunc","_fillFuncHit","_strokeFuncHit","_clearHasShadowCache","_clearGetShadowRGBACache","_clearFillPatternCache","_clearLinearGradientCache","_clearRadialGradientCache","Shape","attempts","pattern","rgba","bufferHitCanvas","forceFill","hasFill","hasStroke","isTransparent","hasShadow","strokeForShadow","hasCachedParent","fillRect","fillAndStrokeWidth","fillAndStrokeHeight","applyShadow","shadowOffsetX","shadowOffsetY","preWidth","preHeight","drawFunc","cachingSelf","bc","o","alphaThreshold","hitWidth","hitHeight","hitImageData","hitData","rgbColorKey","BEFORE_DRAW","DRAW","INTERSECTION_OFFSETS","INTERSECTION_OFFSETS_LEN","Layer","_canvas","listening","spiralSearchDistance","continueSearch","intersectionOffset","p3","colorKey","FastLayer","Group","now","Animation","lays","animations","time","anim","layerHash","layersLen","needRedraw","Anim","blacklist","PAUSED","PLAYING","REVERSING","colorAttrs","colorToRGBA","TweenEngine","propFunc","begin","finish","duration","yoyo","Tween","nodeId","easing","Easings","diff","trueEnd","trueStart","endRGBA","tweenId","startRGBA","thisId","params","onFinish","Global","Arc","clockwise","innerRadius","outerRadius","rawAngle","boundLeftRatio","boundRightRatio","boundTopRatio","boundBottomRatio","boundLeft","boundRight","boundTop","boundBottom","tValues","cValues","binomialCoefficients","getCubicArcLength","xs","ys","sum","correctedT","z","BFunc","getQuadraticArcLength","ax","ay","bx","by","A","B","C","k","uuk","bbk","term","xbase","getDerivative","ybase","combined","derivative","vs","_vs","t2length","totalLength","error","step","numIterations","increasedTLength","increasedTError","decreasedTLength","decreasedTError","quadraticAt","p0","mt","getQuadraticExtremaPoints","extrema","axis","cubicAt","getCubicExtremaPoints","discriminant","q","getControlPoints","d01","d12","dSum","fa","fb","p1x","p1y","p2x","p2y","expandPoints","tension","allPoints","cp","getBezierExtremaPoints","Line","onQuadratic","onCubic","closed","tp","bezier","_x0","_y0","firstControlPoints","lastControlPoints","middle","Path","ca","cx","cy","rx","ry","dTheta","psi","fs","inc","dataArray","pathLength","ii","j","P1x","P1y","P2x","P2y","fromX","fromY","run","rise","ix","iy","pRise","pRun","adjustedRun","adjustedRise","pct","P3x","P3y","P4x","P4y","CB1","CB2","CB3","CB4","QB1","QB2","QB3","cosPsi","sinPsi","cs","cc","coords","re","arcParamIndex","jlen","token","parsedArc","parsed","cmd","startX","startY","prevCmd","ctlPtx","ctlPty","idx","psiDeg","xp","yp","lambda","cxp","cyp","vMag","v","vRatio","vAngle","Arrow","PI2","fromTension","lp","lastLength","previous","isDashEnabled","lineRect","Circle","Ellipse","Image","hasCornerRadius","cropWidth","cropHeight","onError","ATTR_CHANGE_LIST","CHANGE_KONVA","NONE","UP","RIGHT","DOWN","LEFT","attrChangeListLen","Label","tag","pointerDirection","pointerWidth","pointerHeight","Tag","direction","Rect","RegularPolygon","PIx2","Ring","Sprite","updated","ix4","set","offsets","ix2","animation","Star","numPoints","stringToArray","string","acc","char","array","nextChar","AUTO","CENTER","INHERIT","JUSTIFY","CONTEXT_2D","DASH","TEXT","TEXT_UPPER","TOP","BOTTOM","MIDDLE","NORMAL","PX_SPACE","RTL","WORD","CHAR","ELLIPSIS","_shadowOpacityBuggy","hasShadowOpacityBug","normalizeFontFamily","fontFamily","hasSpace","hasQuotes","checkDefaultFill","Text","textArr","textArrLen","padding","fontSize","lineHeightPx","verticalAlign","alignY","align","totalWidth","letterSpacing","charRenderFunc","textDecoration","underlineOffset","shouldUnderline","shouldLineThrough","translateY","baseline","metrics","ascent","descent","fillStyleBefore","strokeStyleBefore","lineTranslateX","lineTranslateY","lastLine","yOffset","lineWidth","gradient","lineThroughStartX","spacesNumber","li","letter","previousGraphemes","charIndex","fillStyleAfter","strokeStyleAfter","_d","_e","_f","_g","_h","_j","_k","_l","scaleFactor","lines","textWidth","fixedWidth","fixedHeight","maxHeightPx","currentHeightPx","wrap","shouldWrap","wrapAtWord","shouldAddEllipsis","additionalWidth","lineArray","low","high","matchWidth","mid","substr","substrWidth","matchArray","nextIsSpaceOrDash","wrapIndex","lastSpaceIndex","lastDashIndex","hasLine","TextPath","glyphInfo","hasUnderline","hasLineThrough","charArr","chars","fullTextWidth","kerningFunc","kerningAdjustment","offsetToGlyph","charStartPoint","glyphWidth","numberOfSpaces","charEndLength","charEndPoint","kern","midpoint","info","EVENTS_NAME","NODES_RECT","ANGLES","TOUCH_DEVICE","getCursor","anchorName","rotateCursor","ANCHORS_NAMES","getCenter","rotateAroundPoint","angleRad","rotateAroundCenter","deltaRad","center","getSnap","snaps","newRotationRad","tol","snapped","absDiff","activeTransformersCount","Transformer","filteredNodes","onChange","additionalEvents","lastPos","abs","otherNode","otherAbs","rot","relative","absScale","absPos","totalPoints","anchor","self","cursor","back","rotateAnchorAngle","rotateAnchorOffset","dirX","dirY","edgeX","edgeY","sign","endX","endY","hypotenuse","newHypotenuse","anchorNode","pp","oldAbs","newAbs","rotateAnchorAngleRad","newRotation","shiftBehavior","keepProportion","centeredScaling","anchorProjected","comparePoint","reverseX","reverseY","topOffsetX","topOffsetY","bottomOffsetX","bottomOffsetY","newAttrs","prevAutoDraw","oldAttrs","minSize","flipPadding","widthFlip","heightFlip","flip","baseSize","oldTr","newTr","newScaleX","newScaleY","layersToDraw","parentTransform","localTransform","newLocalTransform","enabledAnchors","resizeEnabled","anchorSize","anchors","styleFunc","validateAnchors","Wedge","BlurStack","mul_table","shg_table","filterGaussBlurRGBA","pixels","yi","yw","r_sum","g_sum","b_sum","a_sum","r_out_sum","g_out_sum","b_out_sum","a_out_sum","r_in_sum","g_in_sum","b_in_sum","a_in_sum","pg","pb","pa","rbs","div","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","mul_sum","shg_sum","stackEnd","stack","stackIn","stackOut","Blur","Brighten","Brightness","Contrast","adjust","nPixels","red","green","blue","Emboss","w","strength01","whiteLevel01","directionDeg","blend","strength","bias","dirRad","SCALE","src","lum","Gx","Gy","OFF","clamp8","outGray","oTop","oBot","oL","oR","remap","fromValue","fromMin","fromMax","toMin","toMax","fromRange","toRange","toValue","Enhance","nSubPixels","rMin","rMax","gMin","gMax","bMin","bMax","enhanceAmount","rGoalMax","rGoalMin","gGoalMax","gGoalMin","bGoalMax","bGoalMin","rMid","gMid","bMid","Grayscale","HSL","vsu","vsw","rr","rg","rb","gr","gg","gb","br","bg","bb","HSV","Invert","ToPolar","dst","opt","srcPixels","dstPixels","xSize","ySize","xMid","yMid","rSize","tSize","conversion","sin","cos","FromPolar","phaseShift","Kaleidoscope","xoff","srcPos","dstPos","power","tempCanvas","scratchData","minSectionSize","sectionSize","xStart","xEnd","xDelta","pixelAt","idata","rgbDistance","rgbMean","pTab","backgroundMask","threshold","rgbv_no","rgbv_ne","rgbv_so","rgbv_se","thres","mean","mask","applyMask","erodeMask","weights","side","halfSide","maskResult","so","scy","scx","srcOff","wt","dilateMask","smoothEdgeMask","Mask","Noise","amount","half","Pixelate","pixelSize","nBinsX","nBinsY","xBin","yBin","alpha","xBinStart","xBinEnd","yBinStart","yBinEnd","pixelsInBin","Posterize","levels","RGB","RGBA","ia","Sepia","Solarize","Threshold","level","Core","module","this","X","J","N","R","$","se","G","Q","Z","D","_","E","S","O","P","M","I","F","L","T","H","U","V","W","K","Y","ee","te","ie","ne","oe","storage","getBuilder","emojiIndex","emojiSearch","query","maxResults","EmojiIndex","currentSkinTone","getCurrentSkinTone","results","frequently","emoji","skinTone","setCurrentSkinTone","NAMESPACE","_JSON","isLocalStorageSupported","setHandlers","handlers","setNamespace","namespace","update","state","get","store","mapping","buildSearch","search","addToSearch","strings","split","deepFreeze","object","propNames","uncompress","DEFAULTS","initialized","defaults","init","add","maxNumber","defaultLength","quantity","frequentlyKeys","sliced","last","frequently$1","SVGs","svgs","_openBlock","_createElementBlock","_Fragment","_renderList","$props","category","_normalizeClass","_normalizeStyle","_createElementVNode","_String","stringFromCodePoint","MAX_SIZE","codeUnits","highSurrogate","lowSurrogate","codePoint","unifiedToNative","unified","unicodes","codePoints","uniq","intersect","uniqA","uniqB","deepMerge","originalValue","measureScrollbar","scrollbarWidth","SHEET_COLUMNS","COLONS_REGEX","SKINS","emojisToShowFilter","include","exclude","custom","recent","recentLength","allCategories","indexA","indexB","categoryData","emojiId","customEmoji","skin","matches","emojiObject","unicodeEmoji","values","allResults","emojis","currentIndex","scores","sub","subIndex","score","aScore","bScore","emojiData","EmojiData","emoticon","category_id","isIncluded","isExcluded","skinIdx","skinKey","variationData","skinData","sanitize","adjustedColumns","EmojiView","native","fallback","emojiTooltip","emojiSize","cssStyle","hasImage","short_names","skin_tone","skin_variations","emoticons","imageUrl","colons","EmojiProps","PickerProps","$options","_createBlock","_resolveDynamicComponent","_toDisplayString","emojiView","Emoji","_hoisted_6","_hoisted_5","_createVNode","_component_emoji","$data","Skins","_hoisted_4","_hoisted_7","_hoisted_8","_hoisted_9","shortName","_hoisted_10","_component_skins","$input","isWindowAvailable","lastTime","vendors","currTime","timeToCall","PickerView","pickerComponent","scrollElement","scrollTop","activeCategory","scrollToComponent","categoryLength","scrollEl","emojiEl","scrollHeight","categoryIdx","I18N","oldIdx","Anchors","Category","Preview","Search","_component_anchors","_renderSlot","_component_search","_component_category","_vShow","_component_preview","prefix","styleInject","css","ref","insertAt","head","install","componentPrefix","_checkboardCache","script","getCheckboard","renderCheckboard","c1","c2","checkboard","render","$setup","normalizeStyle","css_248z","script$1","rgbStr","skip","containerWidth","xOffset","_component_Checkboard","resolveComponent","bound01","isOnePointZero","isPercent","isPercentage","boundAlpha","convertToPercentage","pad2","rgbToRgb","rgbToHsl","min","hue2rgb","hslToRgb","rgbToHsv","hsvToRgb","mod","rgbToHex","allow3Char","rgbaToHex","allow4Char","convertDecimalToHex","convertHexToDecimal","parseIntFromHex","numberInputToObject","inputToRGB","ok","format","stringInputToObject","isValidCSSUnit","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","named","TinyColor","opts","RsRGB","GsRGB","BsRGB","hsv","hsl","allowShortChar","fmt","rnd","_i","formatSet","formattedString","hasAlpha","needsAlphaFormat","rgb1","rgb2","slices","part","modification","background","fg","increment","tinycolor","_colorChange","oldHue","colorMixin","keysToCheck","checked","passed","palette","withDirectives","vModelText","clamp","containerHeight","pageX","pageY","saturation","bright","percent","script$2","script$3","script$4","script$5","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_component_Saturation","_component_Hue","_component_Alpha","_component_EdIn","vShow","register","mergeModels","currentColor","useModel","open","HEX_REGEX","createElementId","advanced","normalizedPalette","logger","defaultPalette","COLOR_BLACK","COLOR_WHITE","handleConfirm","hideCallback","toggleColor","pickCustomColor","getContrastColor","calculateLuma","hexToRGB","NcPopover","slotProps","normalizeProps","guardReactiveProps","Transition","Chrome","Fragment","renderList","mdiCheck","mdiCloseCircleOutline","NcButton","mdiArrowLeft","mdiDotsHorizontal","createTextVNode","NcColorPicker","_sfc_main$1","_hoisted_1$1","_hoisted_2$1","_hoisted_3$1","_sfc_render$1","mergeProps","IconCircle","t5","t17","t40","t46","i18n","skinTonePalette","Color","_sfc_main$2","Picker","useTrapStackControl","tone","isFocusable","current","focusable","originalHandlerName","_sfc_render","_component_NcTextField","_component_IconCircle","_component_NcButton","_component_NcColorPicker","_component_Emoji","_component_Picker","_component_NcPopover","withKeys","withModifiers","createSlots","onSearch","NcEmojiPicker","NcActionSeparator","useHistory","capacity","entries","shallowRef","canUndo","canRedo","push","snapshot","label","kept","jumpTo","undo","redo","clear","newId","byte","createInitialState","normaliseState","repaired","isPristine","orientedSize","natural","clampRect","sameRect","a2","b2","mapPointsCW","mapped","i2","mapRectCW","mapAnnotationCW","annotation","rotateCW","oriented","mapAnnotationFlipX","flipHorizontal","sideways","mapAnnotationFlipY","flipVertical","translateAnnotation","duplicateAnnotation","_sfc_main$13","sfc","GlassSurface","_sfc_main$12","_hoisted_1$10","_hoisted_2$X","_hoisted_3$T","_hoisted_4$S","_sfc_render$O","BoxShadow","_sfc_main$11","_hoisted_1$$","_hoisted_2$W","_hoisted_3$S","_hoisted_4$R","_sfc_render$N","CameraIris","_sfc_main$10","_hoisted_1$_","_hoisted_2$V","_hoisted_3$R","_hoisted_4$Q","_sfc_render$M","CircleOpacity","_sfc_main$$","_hoisted_1$Z","_hoisted_2$U","_hoisted_3$Q","_hoisted_4$P","_sfc_render$L","ContrastCircle","_sfc_main$_","_hoisted_1$Y","_hoisted_2$T","_hoisted_3$P","_hoisted_4$O","_sfc_render$K","ImageFilterCenterFocus","_sfc_main$Z","_hoisted_1$X","_hoisted_2$S","_hoisted_3$O","_hoisted_4$N","_sfc_render$J","InvertColors","_sfc_main$Y","_hoisted_1$W","_hoisted_2$R","_hoisted_3$N","_hoisted_4$M","_sfc_render$I","Spotlight","_sfc_main$X","_hoisted_1$V","_hoisted_2$Q","_hoisted_3$M","_hoisted_4$L","_sfc_render$H","Thermometer","_sfc_main$W","_hoisted_1$U","_hoisted_2$P","_hoisted_3$L","_hoisted_4$K","_sfc_render$G","WhiteBalanceIridescent","_sfc_main$V","_hoisted_1$T","_hoisted_2$O","_hoisted_3$K","_hoisted_4$J","_sfc_render$F","WhiteBalanceSunny","SNAP_RATIO","defaultOrigin","originPosition","origin","snapToOrigin","_hoisted_1$S","_hoisted_2$N","_hoisted_3$J","_sfc_main$U","originOffset","onInput","input","EditorSlider","_hoisted_1$R","_hoisted_2$M","_sfc_main$T","IconTab","gtBuilder","getGettextBuilder","gt","FONT_STACKS","DEFAULT_FONT","fontStack","font","REDACT_SHAPES","DEFAULT_REDACT_SHAPE","redactShape","TEXT_ALIGNS","DEFAULT_ALIGN","textAlign","VIEW_MARGIN","PAN_SLACK","FIT_ZOOM","MIN_ZOOM","MAX_ZOOM","ZOOM_SNAP","PINCH_TOLERANCE","WHEEL_LINE","WHEEL_CLAMP","WHEEL_SENSITIVITY","panBounds","visible","clampPan","pan","clampZoom","zoom","crossed","near","anchoredPan","factor","wheelZoomFactor","deltaY","deltaMode","pageHeight","scaled","MODE_DEFAULT_TOOL","EDITOR_CONTEXT","createEditorContext","history","viewZoom","cropChanged","viewPan","viewFit","boundsAt","fit","activeMode","activeTool","mode","panned","watch","tool","provide","useEditorContext","inject","_hoisted_1$Q","_hoisted_2$L","_sfc_main$S","adjustments","activeAdjustment","display","select","onAdjustInput","onSliderCommit","adjustment","resolveDynamicComponent","AdjustPanel","_sfc_main$R","_hoisted_1$P","_hoisted_2$K","_hoisted_3$I","_hoisted_4$I","_sfc_render$E","ArrowTopRight","_sfc_main$Q","_hoisted_1$O","_hoisted_2$J","_hoisted_3$H","_hoisted_4$H","_sfc_render$D","EllipseOutline","_sfc_main$P","_hoisted_1$N","_hoisted_2$I","_hoisted_3$G","_hoisted_4$G","_sfc_render$C","FormatText","_sfc_main$O","_hoisted_1$M","_hoisted_2$H","_hoisted_3$F","_hoisted_4$F","_sfc_render$B","Pencil","_sfc_main$N","_hoisted_1$L","_hoisted_2$G","_hoisted_3$E","_hoisted_4$E","_sfc_render$A","RectangleOutline","_sfc_main$M","_hoisted_1$K","_hoisted_2$F","_hoisted_3$D","_hoisted_4$D","_sfc_render$z","VectorLine","useAnnotationColor","recolorable","apply","_hoisted_1$J","_hoisted_2$E","_hoisted_3$C","_hoisted_4$C","FONT_SAMPLE","PREVIEW_CAP","_sfc_main$L","labels","subTools","showStrokeOptions","viewScale","strokePreview","fontPreview","AnnotatePanel","_sfc_main$K","_hoisted_1$I","_hoisted_2$D","_hoisted_3$B","_hoisted_4$B","_sfc_render$y","FlipHorizontal","_sfc_main$J","_hoisted_1$H","_hoisted_2$C","_hoisted_3$A","_hoisted_4$A","_sfc_render$x","FlipVertical","_sfc_main$I","_hoisted_1$G","_hoisted_2$B","_hoisted_3$z","_hoisted_4$z","_sfc_render$w","RotateLeft","_sfc_main$H","_hoisted_1$F","_hoisted_2$A","_hoisted_3$y","_hoisted_4$y","_sfc_render$v","RotateRight","EDITOR_COMMANDS","provideEditorCommands","commands","useEditorCommands","_hoisted_1$E","_hoisted_2$z","_hoisted_3$x","_hoisted_4$x","_sfc_main$G","aspectPresets","cropControls","activeCropControl","hasCropActions","onTransformInput","preset","control","CropPanel","FLOOR_AREA","REFINEMENTS","largestGood","smallestBad","paints","area","fits","canvasScaleFor","bad","good","candidate","luma","EXPOSURE_RANGE","TEMPERATURE_RANGE","TINT_RANGE","exposure","temperature","tint","HIGHLIGHTS_RANGE","SHADOWS_RANGE","tonal","highlights","shadows","dark","gain","VIGNETTE_RANGE","VIGNETTE_START","vignette","centreX","centreY","distance","SHARPEN_RANGE","sharpen","stride","centre","channel","neighbours","saturate","gray","warm","cool","fade","luma2","noir","golden","coast","shadow","mist","berry","cinema","balance","luna","jsContent","WorkerWrapper","objURL","worker","createImageWorkerClient","pending","nextId","broken","fail","waiting","one","response","ask","request","transfer","blob2","bitmap","steps","client","imageWorker","halves","PREBUILT_LEVELS","halve","prepareLevels","levelFor","drawn","TEXT_EMPHASES","fontStyle","OUTLINE_RATIO","outlineColor","outlineWidth","visibleRect","context2d","supportsContextFilter","contextFilterSupport","contextFilterAvailable","obfuscateRegion","region","small","cutEllipse","patch","redactStrength","redactSceneFunc","deviceWidth","deviceHeight","deviceStrength","pad","readLeft","readTop","readWidth","readHeight","cut","backgroundPadding","MIN_HIT_AREA","hitAreaWidth","buildAnnotationNode","base","shapeWidth","shapeHeight","applyFilters","presetFilters","cacheFit","thumbnailKey","crop","presetThumbnail","thumb","createScene","viewGroup","contentGroup","imageNode","built","filterKey","imageChanged","nextFilterKey","sourceSize","renderScene","renderToCanvas","maxSize","requested","toImageCoords","pointer","_hoisted_1$D","_sfc_main$F","presets","presetPreviews","setPreset","FilterStrip","_hoisted_1$C","_sfc_main$E","RedactPanel","_hoisted_1$B","_hoisted_2$y","_sfc_main$D","hint","transformHint","selected","SelectPanel","_hoisted_1$A","_sfc_main$C","moreLabel","FALLBACK_STICKERS","frequentStickers","frequent","DEFAULT_STICKERS","stickers","sticker","StickerPanel","_sfc_main$B","EditorPanel","_sfc_main$A","_hoisted_1$z","_hoisted_2$x","_hoisted_3$w","_hoisted_4$w","_sfc_render$u","_sfc_main$z","_hoisted_1$y","_hoisted_2$w","_hoisted_3$v","_hoisted_4$v","_sfc_render$t","Crop","_sfc_main$y","_hoisted_1$x","_hoisted_2$v","_hoisted_3$u","_hoisted_4$u","_sfc_render$s","CursorDefaultOutline","_sfc_main$x","_hoisted_1$w","_hoisted_2$u","_hoisted_3$t","_hoisted_4$t","_sfc_render$r","PaletteOutline","_sfc_main$w","_hoisted_1$v","_hoisted_2$t","_hoisted_3$s","_hoisted_4$s","_sfc_render$q","StickerEmoji","_sfc_main$v","_hoisted_1$u","_hoisted_2$s","_hoisted_3$r","_hoisted_4$r","_sfc_render$p","Tune","_hoisted_1$t","_sfc_main$u","modes","EditorSidebar","_sfc_main$t","_hoisted_1$s","_hoisted_2$r","_hoisted_3$q","_hoisted_4$q","_sfc_render$o","ChevronDown","_sfc_main$s","_hoisted_1$r","_hoisted_2$q","_hoisted_3$p","_hoisted_4$p","_sfc_render$n","Close","_sfc_main$r","_hoisted_1$q","_hoisted_2$p","_hoisted_3$o","_hoisted_4$o","_sfc_render$m","ContentCopy","_sfc_main$q","_hoisted_1$p","_hoisted_2$o","_hoisted_3$n","_hoisted_4$n","_sfc_render$l","History","_sfc_main$p","_hoisted_1$o","_hoisted_2$n","_hoisted_3$m","_hoisted_4$m","_sfc_render$k","MagnifyMinusOutline","_sfc_main$o","_hoisted_1$n","_hoisted_2$m","_hoisted_3$l","_hoisted_4$l","_sfc_render$j","MagnifyPlusOutline","_sfc_main$n","_hoisted_1$m","_hoisted_2$l","_hoisted_3$k","_hoisted_4$k","_sfc_render$i","Redo","_sfc_main$m","_hoisted_1$l","_hoisted_2$k","_hoisted_3$j","_hoisted_4$j","_sfc_render$h","Restore","_sfc_main$l","_hoisted_1$k","_hoisted_2$j","_hoisted_3$i","_hoisted_4$i","_sfc_render$g","Undo","_sfc_main$k","_hoisted_1$j","_hoisted_2$i","_hoisted_3$h","_hoisted_4$h","_sfc_render$f","ArrowExpand","_sfc_main$j","_hoisted_1$i","_hoisted_2$h","_hoisted_3$g","_hoisted_4$g","_sfc_render$e","BorderOutside","_sfc_main$i","_hoisted_1$h","_hoisted_2$g","_hoisted_3$f","_hoisted_4$f","_sfc_render$d","CropFree","_sfc_main$h","_hoisted_1$g","_hoisted_2$f","_hoisted_3$e","_hoisted_4$e","_sfc_render$c","CursorMove","_sfc_main$g","_hoisted_1$f","_hoisted_2$e","_hoisted_3$d","_hoisted_4$d","_sfc_render$b","Delete","_sfc_main$f","_hoisted_1$e","_hoisted_2$d","_hoisted_3$c","_hoisted_4$c","_sfc_render$a","FormatAlignLeft","_sfc_main$e","_hoisted_1$d","_hoisted_2$c","_hoisted_3$b","_hoisted_4$b","_sfc_render$9","FormatBold","_sfc_main$d","_hoisted_1$c","_hoisted_2$b","_hoisted_3$a","_hoisted_4$a","_sfc_render$8","FormatColorHighlight","_sfc_main$c","_hoisted_1$b","_hoisted_2$a","_hoisted_3$9","_hoisted_4$9","_sfc_render$7","FormatFont","_sfc_main$b","_hoisted_1$a","_hoisted_2$9","_hoisted_3$8","_hoisted_4$8","_sfc_render$6","FormatItalic","_sfc_main$a","_hoisted_1$9","_hoisted_2$8","_hoisted_3$7","_hoisted_4$7","_sfc_render$5","FormatStrikethrough","_sfc_main$9","_hoisted_1$8","_hoisted_2$7","_hoisted_3$6","_hoisted_4$6","_sfc_render$4","FormatUnderline","_sfc_main$8","_hoisted_1$7","_hoisted_2$6","_hoisted_3$5","_hoisted_4$5","_sfc_render$3","ImageOutline","_sfc_main$7","_hoisted_1$6","_hoisted_2$5","_hoisted_3$4","_hoisted_4$4","_sfc_render$2","Palette","ICONS","historyIcon","_hoisted_1$5","_hoisted_2$4","_hoisted_3$3","_hoisted_4$3","_sfc_main$6","historySteps","stepZoom","resetZoom","closing","onClose","onCloseAnswer","answer","onRevert","NcActions","NcActionButton","NcLoadingIcon","EditorTopBar","_sfc_main$5","_hoisted_1$4","_hoisted_2$3","_hoisted_3$2","_hoisted_4$2","FormatAlignCenter","_sfc_main$4","_hoisted_1$3","_hoisted_2$2","_hoisted_4$1","FormatAlignRight","SWITCH_DEFAULTS","useTextStyle","styleable","toggle","choice","_sfc_main$3","textStyle","META","emphases","_hoisted_1$2","isText","lift","fonts","ALIGN_META","alignments","alignment","FloatingToolbar","__expose","inputLabel","useTemplateRef","autosize","onPointerDown","focus","onBeforeUnmount","onEnter","TextOverlay","imageSize","needsCors","loadImage","sourceBytes","decodeImage","bytes","canvasToBlob","primaryColor","ambientBackdrop","sample","useAmbient","backdrop","useAnnouncements","modeLabels","annotationCount","historyLength","moved","TEXT_ENTRY","ACTIVATABLE","ownsTextEntry","ownsSpaceKey","NUDGE_KEYS","useEditorShortcuts","nudging","nudgeSelection","onKeydown","meta","onKeyup","converts","convertsToSrgb","DEFAULT_QUALITY","MIN_QUALITY","MAX_QUALITY","painted","useExportImage","exporting","ENCODABLE","sourceFormat","jpegSource","qualityFor","estimated","estimateJpegQuality","carryMetadata","readMetadataSegments","carried","withMetadata","exportImage","encode","wanted","save","onSaved","useTextEditing","textEdit","startTextEdit","position","existing","confirmTextEdit","edit","trimmed","useWheelControls","dragFrom","pinch","pointers","spaceHeld","toolFreeDrag","panArmed","anchorAt","currentPinch","onWheel","onPointerMove","onPointerUp","DURATION","prefersReducedMotion","pivotOnCenter","playTransition","kind","previousScale","previousOffset","previousOrigin","clampCropBox","oldBox","newBox","keepRatio","bottom","attachCropOverlay","view","toStage","toScene","imageBounds","makeShade","shadeTop","shadeLeft","shadeRight","shadeBottom","shade","cropNode","stageRect","gridLines","clampToImage","sceneRect","updateOverlay","ratioLocked","transformer","setAspect","aspect","coverScale","fitContain","snapAngle","from","to","round","orientImage","full","cover","transformPoints","applyNodeTransform","attachSelection","accent","findAnnotation","findNode","reportRect","syncTransformer","sync","dragAny","onWriteBack","onClick","onDblClick","TOOL_LABELS","DRAG_THRESHOLD","movedEnough","attachPointerTools","active","previewNode","pendingText","deferred","constrained","gestureBox","onImage","reachedImage","scenePointer","refreshPreview","discard","beginAnnotation","followLine","raw","onModifier","confirmDownscale","megapixels","loadAttempt","root","loaded","errored","containerSize","orientedCanvas","sourceImage","announcement","selectionBox","cropOverlay","selection","detachTool","attached","resizeObserver","pendingTransition","lastView","canvasCursor","showCropped","container2","viewOptions","overlaySize","overlay","toolbarBox","onSave","captureView","commitWithTransition","renderView","renderedOrigin","syncTools","currentOriented","applyCropAspect","refreshOrientedCanvas","seedState","seed","load","attempt","minDimension","onRotateCW","onRotateCCW","onFlipHorizontal","onFlipVertical","onApplyCrop","onDuplicateSelection","copy","onResetCrop","onDeleteSelection","clientWidth","clientHeight","ImageEditor","emit$1","saving","exportOptions","known","axios","etag","showSuccess","showError","onCancel","ImageEditor$1"],"mappings":"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D,GAC7E,MAAO,CACH,EAAGO,EACH,EAAGR,EAAY,GAAKW,EAAcD,EAClC,MAAOD,EAAaD,EACpB,OAAQG,EAAcD,CAClC,CACI,CACJ,CACAX,GAAI,UAAU,UAAY,GAC1BA,GAAI,UAAU,UAAY,MAC1BA,GAAI,UAAU,oBAAsB,CAChC,cACA,cACA,QACA,WACJ,EACAnqB,GAAcmqB,EAAG,EACjBtX,EAAQ,gBAAgBsX,GAAK,cAAe,EAAGvY,EAAkB,CAAE,EACnEiB,EAAQ,gBAAgBsX,GAAK,cAAe,EAAGvY,EAAkB,CAAE,EACnEiB,EAAQ,gBAAgBsX,GAAK,QAAS,EAAGvY,EAAkB,CAAE,EAC7DiB,EAAQ,gBAAgBsX,GAAK,YAAa,GAAO1X,GAAmB,CAAE,ECtE/D,MAAMuY,GAAU,CACnB,CAAA,EACA,CAAA,EACA,CACI,mBACA,iBACR,EACI,CACI,EAAG,mBACH,iBACR,EACI,CACI,oBACA,mBACA,mBACA,iBACR,EACI,CACI,EAAG,mBACH,kBACA,kBACA,gBACR,EACI,CACI,kBACA,mBACA,mBACA,kBACA,kBACA,gBACR,EACI,CACI,EAAG,kBACH,mBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,mBACH,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,oBACH,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,kBACA,gBACR,EACI,CACI,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,mBACH,kBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,oBACA,mBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,oBACH,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,kBACA,iBACA,mBACA,iBACR,EACI,CACI,oBACA,mBACA,mBACA,kBACA,oBACA,mBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,oBACH,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,mBACA,kBACA,mBACA,kBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,oBACH,mBACA,oBACA,mBACA,oBACA,mBACA,kBACA,iBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,iBACA,gBACA,mBACA,iBACR,EACI,CACI,oBACA,mBACA,oBACA,mBACA,oBACA,mBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,mBACH,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,oBACA,mBACA,oBACA,mBACA,oBACA,mBACA,kBACA,iBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,EAAG,mBACH,kBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,EACI,CACI,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,mBACA,kBACA,mBACA,kBACA,mBACA,iBACR,CACA,EACaC,GAAU,CACnB,CAAA,EACA,CAAA,EACA,CAAC,EAAK,CAAG,EACT,CACI,kBACA,kBACA,iBACR,EACI,CACI,kBACA,kBACA,mBACA,kBACR,EACI,CACI,kBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,kBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,kBACA,kBACA,mBACA,mBACA,kBACA,iBACR,EACI,CACI,iBACA,iBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,kBACR,EACI,CACI,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,kBACR,EACI,CACI,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACR,EACI,CACI,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,oBACA,mBACR,EACI,CACI,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,kBACR,EACI,CACI,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,kBACR,EACI,CACI,kBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,gBACA,gBACA,mBACA,mBACA,kBACA,kBACA,oBACA,mBACR,EACI,CACI,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,mBACR,EACI,CACI,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,oBACA,oBACA,oBACA,oBACA,oBACA,mBACR,EACI,CACI,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,mBACA,mBACA,kBACA,iBACR,EACI,CACI,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,oBACA,mBACR,EACI,CACI,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,kBACA,iBACR,CACA,EACaC,GAAuB,CAAC,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5DC,GAAoB,CAACC,EAAIC,EAAI,IAAM,CAC5C,IAAIC,EACAC,EAEJ,MAAMC,EAAI,EAAI,EACdF,EAAM,EACN,QAAS/lB,EAAI,EAAGA,EAAI,GAAGA,IACnBgmB,EAAaC,EAAIR,GAAQ,EAAC,EAAEzlB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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]} \ No newline at end of file diff --git a/js/ImageEditor-CC5NAjCj.chunk.mjs.map.license b/js/ImageEditor-CC5NAjCj.chunk.mjs.map.license new file mode 120000 index 00000000..d3c1b840 --- /dev/null +++ b/js/ImageEditor-CC5NAjCj.chunk.mjs.map.license @@ -0,0 +1 @@ +ImageEditor-CC5NAjCj.chunk.mjs.license \ No newline at end of file diff --git a/js/Images-D15tD-uO.chunk.mjs b/js/Images-D15tD-uO.chunk.mjs new file mode 100644 index 00000000..ce04f67e --- /dev/null +++ b/js/Images-D15tD-uO.chunk.mjs @@ -0,0 +1,3 @@ +(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".image-differences[data-v-c9b762ef]{position:relative;margin:0;max-width:100%;max-height:100%}.image-differences__image[data-v-c9b762ef]{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.image-differences__label[data-v-c9b762ef]{position:absolute;transition:opacity var(--animation-quick, .1s);top:calc(2 * var(--default-grid-baseline));padding:calc(1.5 * var(--default-grid-baseline)) calc(3 * var(--default-grid-baseline));border-radius:var(--border-radius-element, var(--border-radius-large));background-color:#000000bf;color:#fff;font-size:var(--default-font-size, 15px);font-weight:700;line-height:1.3;pointer-events:none;box-sizing:border-box;max-width:calc(50% - 3 * var(--default-grid-baseline))}.image-differences__label--base[data-v-c9b762ef]{inset-inline-start:calc(2 * var(--default-grid-baseline))}.image-differences__label--other[data-v-c9b762ef]{inset-inline-end:calc(2 * var(--default-grid-baseline))}.image-differences--touched .image-differences__label[data-v-c9b762ef]{opacity:0}@media(hover:hover){.image-differences:hover .image-differences__label[data-v-c9b762ef]{opacity:0}}.image-differences__divider[data-v-c9b762ef]{position:absolute;top:0;bottom:0;width:2px;margin-inline-start:-1px;background-color:#fff;box-shadow:0 0 4px #0009;pointer-events:none}.image-differences__slider[data-v-c9b762ef]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.image-differences__slider:focus-visible+.image-differences__divider[data-v-c9b762ef]{width:4px;margin-inline-start:-2px;outline:2px solid var(--color-primary-element)}.image_container[data-v-7d63f0cd]{display:flex;align-items:center;height:100%;justify-content:center}img[data-v-7d63f0cd],video[data-v-7d63f0cd]{align-self:center;justify-self:center;background-color:#000;transition:none!important;touch-action:none}img[data-v-7d63f0cd]:hover,video[data-v-7d63f0cd]:hover{background-image:linear-gradient(45deg,#efefef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#efefef 75%),linear-gradient(45deg,transparent 75%,#efefef 75%),linear-gradient(45deg,#efefef 25%,#fff 25%);background-size:16px 16px;background-position:0 0,0 0,-8px -8px,8px 8px}img.loaded[data-v-7d63f0cd],video.loaded[data-v-7d63f0cd]{background-color:#fff}img.zoomed[data-v-7d63f0cd],video.zoomed[data-v-7d63f0cd]{z-index:10010;cursor:move}img.dragging[data-v-7d63f0cd],video.dragging[data-v-7d63f0cd]{transition:none!important;cursor:move}.live-photo_play_button[data-v-7d63f0cd]{position:absolute;top:0;margin:16px!important;display:flex;align-items:center;border:none;gap:4px;border-radius:var(--border-radius);padding:4px 8px;background-color:var(--color-main-background-blur)}")),document.head.appendChild(e)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})(); +import{d as Oe,f as r,p as ze,w as H,l as Y,h as E,n as ea,o as aa,j as la,_ as ta,k as h,m as fe,q as x,F as Ae,s as f,u as V,v as me,x as N,y as Xe,z as na,A as C,B as Q,N as ua,C as ia,D as ee,E as v,G as oa,H as ra,I as va,J as sa}from"./store-DT5_o2He.chunk.mjs";import{_ as ge}from"./_plugin-vue_export-helper-D8VWKLTF.chunk.mjs";import{g as pe,a as da}from"./previewUtils-a7UGvJa0.chunk.mjs";import{u as ca,p as fa,a as De,b as ha}from"./useViewerProps-BgGfCZKj.chunk.mjs";import{c as he}from"./canDownload-C1jVjD_-.chunk.mjs";import{f as ma}from"./livePhotoUtils-C4mNnUu-.chunk.mjs";const pa={name:"PlayCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ga=["aria-hidden","aria-label"],ya=["fill","width","height"],wa={d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z"},xa={key:0};function ba(p,R,a,d,L,m){return h(),x("span",sa(p.$attrs,{"aria-hidden":a.title?null:"true","aria-label":a.title,class:"material-design-icon play-circle-outline-icon",role:"img",onClick:R[0]||(R[0]=g=>p.$emit("click",g))}),[(h(),x("svg",{fill:a.fillColor,class:"material-design-icon__svg",width:a.size,height:a.size,viewBox:"0 0 24 24"},[C("path",wa,[a.title?(h(),x("title",xa,ee(a.title),1)):N("",!0)])],8,ya))],16,ga)}const _a=ge(pa,[["render",ba]]),ka=["alt","src"],Ma=["alt","src"],Sa={class:"image-differences__label image-differences__label--base"},Ca={class:"image-differences__label image-differences__label--other"},La=["aria-label"],Wa=Oe({__name:"ImageDifferences",props:{files:{},maxWidth:{},maxHeight:{},shown:{type:Boolean}},emits:["loaded","errored","update:canSwipe","update:editing","update:playing"],setup(p,{emit:R}){const a=p,d=R,L=oa("slider");H(()=>a.shown,u=>{u&&L.value?.focus({preventScroll:!0})});const m=v(()=>a.files[0]),g=v(()=>a.files[1]),y=v(()=>({width:a.maxWidth,height:a.maxHeight})),w=v(()=>pe(m.value,y.value)),W=v(()=>pe(g.value,y.value)),b=r(),U=v(()=>{if(b.value===void 0)return{width:a.maxWidth,height:a.maxHeight};const{width:u,height:i}=b.value,c=Math.min(1,a.maxWidth/u,a.maxHeight/i);return{width:Math.round(u*c),height:Math.round(i*c)}}),I=r(50),P=r(!1);ra(()=>d("update:canSwipe",!1));let s=0,_=!1;function k(u){const{naturalWidth:i,naturalHeight:c}=u.target;b.value===void 0&&i>0&&c>0&&(b.value={width:i,height:c}),s++,s===2&&d("loaded")}function $(){_||(_=!0,d("errored",new Error(E("Failed to load image."))))}return(u,i)=>(h(),x("figure",{class:me(["image-differences",{"image-differences--touched":P.value}]),style:V({width:`${U.value.width}px`,height:`${U.value.height}px`})},[C("img",{class:"image-differences__image",alt:m.value.displayname,src:w.value,onLoad:k,onError:$},null,40,ka),C("img",{class:"image-differences__image",alt:g.value.displayname,src:W.value,style:V({clipPath:`inset(0 0 0 ${I.value}%)`}),onLoad:k,onError:$},null,44,Ma),C("span",Sa,ee(m.value.displayname),1),C("span",Ca,ee(g.value.displayname),1),Xe(C("input",{ref_key:"slider",ref:L,"onUpdate:modelValue":i[0]||(i[0]=c=>I.value=c),class:"image-differences__slider",type:"range",min:"0",max:"100","aria-label":Q(E)("Slide to compare {base} with {other}",{base:m.value.displayname,other:g.value.displayname}),onPointerdown:i[1]||(i[1]=c=>P.value=!0),onPointerup:i[2]||(i[2]=c=>P.value=!1),onPointercancel:i[3]||(i[3]=c=>P.value=!1)},null,40,La),[[va,I.value,void 0,{number:!0}]]),C("span",{class:"image-differences__divider",style:V({insetInlineStart:`${I.value}%`})},null,4)],6))}}),Ia=ge(Wa,[["__scopeId","data-v-c9b762ef"]]),Pa={key:1,class:"image_container"},$a=["alt","src"],Ha=["poster","src"],Ea=["disabled","aria-label"],Fe=5,Ra=4,Ua=Oe({name:"ViewerImages",__name:"Images",props:{file:{},files:{},maxHeight:{},maxWidth:{},editing:{type:Boolean,default:!1},isSidebarShown:{type:Boolean},shown:{type:Boolean},turns:{},localSource:{},comparison:{},embedded:{type:Boolean}},emits:["loaded","errored","update:canSwipe","update:editing","update:playing"],setup(p,{emit:R}){const a=p,d=R,L=a.comparison==="differences",{filename:m,src:g}=ca(a),y=r(),w=r(),W=r(!1),b=r(0),U=r(0),I=r(0),P=r(1),s=r([]),_=r(0),k=r(0),$=r(!1),u=r(1),i=r(null),c=r(!1),B=r(!1),z=r(!1),T=r(0),M=r(0),q=r(!1),A=r(ze(a.file)?.width??0);let G=null,ae=!1,J=null;const ye=v(()=>M.value>0?Math.max(Fe,Ra*A.value/M.value):Fe),le=v(()=>a.file.mime),te=v(()=>a.file.attributes?.hasPreview??!1),ne=v(()=>a.file.attributes?.previewUrl),we=v(()=>a.file.attributes?.["metadata-files-live-photo"]),xe=v(()=>pe(a.file,{width:a.maxWidth,height:a.maxHeight})),Z=v(()=>Number(a.turns??0)%4),D=v(()=>Z.value%2===1),F=v(()=>D.value?T.value:M.value),O=v(()=>D.value?M.value:T.value),ue=v(()=>Math.round(T.value*u.value)),ie=v(()=>Math.round(M.value*u.value)),Ye=v(()=>a.file.displayname),be=v(()=>{const e=Z.value===0?void 0:`rotate(${-90*Z.value}deg)`,l=D.value?(ue.value-ie.value)/2:0,t=D.value?(ie.value-ue.value)/2:0,n=u.value===1?{x:0,y:0}:{x:_.value*2,y:k.value*2};return{marginTop:Math.round(n.y+t)+"px",marginBottom:Math.round(t)+"px",marginLeft:Math.round(n.x+l)+"px",marginRight:Math.round(l)+"px",height:ue.value+"px",width:ie.value+"px",transform:e}}),_e=v(()=>{if(we.value!==void 0)return ma(we.value,a.files)}),Ve=v(()=>_e.value?.encodedSource??null);let j=null,X=null;function ke(e){X!==null&&URL.revokeObjectURL(X),X=e,i.value=e}H(()=>a.file.source,()=>{L||(Ne(),Me())}),H(i,e=>{e!==null&&e===G||(z.value=!1,je())}),H(()=>a.localSource,e=>{e&&(i.value=e)}),L||Me();function Me(){Se().catch(e=>{Y.error(`Loading of file ${m.value} failed`,{error:e}),d("errored",new Error(E("Failed to load image.")))})}async function Se(){j!==null&&j.source!==a.file.source&&j.controller.abort();const e=new AbortController;j={controller:e,source:a.file.source};const{signal:l}=e;if(q.value=!1,a.localSource){i.value=a.localSource;return}if(le.value==="image/svg+xml"){i.value=await Te(l);return}if(c.value){const t=he(a.file);ke(t?await fa(a.file,l):await De(xe.value,l)),q.value=!t&&te.value&&!ne.value;return}if(le.value==="image/gif"){i.value=g.value;return}if(a.file.source&&!te.value&&!ne.value){i.value=g.value;return}i.value=xe.value,q.value=te.value&&!ne.value}async function je(){await ea();const e=y.value;e?.complete&&e.naturalWidth>0&&!z.value&&oe()}function oe(){z.value=!0,A.value=Math.max(A.value,y.value?.naturalWidth??0),!(i.value!==null&&i.value===G)&&K()}async function Ce(){if(ae||!q.value)return;const e=da(a.file);if(e===void 0)return;ae=!0;const l=new AbortController;J=l;const{signal:t}=l;let n=null;try{const o=he(a.file)?e:await De(e,t);n=o===e?null:o;const S=await ha(o,t);if(t.aborted||(A.value=Math.max(A.value,S),S<=(y.value?.naturalWidth??0)))return;G=o,n===null?i.value=o:(ke(o),n=null)}catch(o){t.aborted||Y.debug(`Could not fetch a sharper preview of ${m.value}`,{error:o})}finally{n!==null&&URL.revokeObjectURL(n)}}function Ne(){J?.abort(),J=null,G=null,ae=!1,A.value=ze(a.file)?.width??0}H(z,e=>{e&&d("loaded")},{flush:"post"});function K(){const e=y.value?.naturalWidth||w.value?.videoWidth,l=y.value?.naturalHeight||w.value?.videoHeight;if(!e||!l)return;const t=D.value?l:e,n=D.value?e:l,o=Math.min(a.maxHeight/n,a.maxWidth/t);M.value=Math.floor(e*o),T.value=Math.floor(l*o)}H([()=>a.maxWidth,()=>a.maxHeight],K),H(Z,()=>{re(),K()}),aa(()=>{j?.controller.abort(),J?.abort(),X!==null&&(URL.revokeObjectURL(X),X=null)});async function Te(e){const l=await la.get(g.value,{signal:e}),{default:t}=await ta(async()=>{const{default:o}=await import("./store-DT5_o2He.chunk.mjs").then(S=>S.bA);return{default:o}},[],import.meta.url),n=t.sanitize(l.data);return`data:${le.value};base64,${btoa(unescape(encodeURIComponent(n)))}`}function Le(e,l,t){const n=F.value*t-F.value,o=O.value*t-O.value;_.value=Math.min(Math.max(e,-n/2),n/2),k.value=Math.min(Math.max(l,-o/2),o/2)}function We(e,l,t){const n=y.value??w.value;if(!n)return;const o=e-n.getBoundingClientRect().x-F.value*u.value/2,S=l-n.getBoundingClientRect().y-O.value*u.value/2,ce=o/(F.value*u.value),Ge=S/(O.value*u.value),Je=F.value*t-F.value*u.value,Ze=O.value*t-O.value*u.value,Ke=_.value-ce*Je,Qe=k.value-Ge*Ze;Le(Ke,Qe,t),u.value=t,t>1&&Ce()}function Ie(){const e=s.value[0],l=s.value[1];if(!e||!l)return 0;const t=l.x-e.x,n=l.y-e.y;return Math.sqrt(t*t+n*n)}function Pe(e){const l=e.deltaY<0?Math.min(u.value*1.1,ye.value):Math.max(u.value/1.1,1);if(l===1)return re();d("update:canSwipe",!1),We(e.clientX,e.clientY,l)}function re(){d("update:canSwipe",!0),u.value=1,_.value=0,k.value=0}function $e(e){s.value.push({pointerId:e.pointerId,x:e.clientX,y:e.clientY}),s.value.length===1&&(b.value=e.clientX,U.value=e.clientY,W.value=!0),s.value.length===2&&(I.value=Ie(),P.value=u.value,$.value=!0,d("update:canSwipe",!1))}function ve(e){const l=s.value.findIndex(t=>t.pointerId===e.pointerId);l!==-1&&(s.value.splice(l,1),W.value=!1,$.value=!1)}function He(e){ve(e),s.value.length===0&&u.value===1&&d("update:canSwipe",!0)}function Ee(e){if(s.value.length>0){const l=s.value.findIndex(n=>n.pointerId===e.pointerId),t=l>=0?s.value[l]:void 0;t&&(t.x=e.clientX,t.y=e.clientY)}if(s.value.length===1&&W.value&&!$.value&&u.value>1){const{clientX:l,clientY:t}=e,n=_.value+(l-b.value),o=k.value+(t-U.value);Le(n,o,u.value),b.value=l,U.value=t}if(s.value.length===2&&$.value){const l=Ie(),t=Math.min(Math.max(P.value*(l/I.value),1),ye.value),n=s.value[0],o=s.value[1];if(!n||!o)return;const S=(n.x+o.x)/2,ce=(n.y+o.y)/2;We(S,ce,t)}}function Re(){u.value>1?re():(u.value=1.3,Ce())}function Ue(){return he(a.file)?E("Failed to load image."):E("No preview available, download is disabled.")}async function Be(){if(c.value){Y.error(`Loading of file ${m.value} failed even after fallback`),d("errored",new Error(Ue()));return}Y.error(`Loading of file ${m.value} failed, falling back to fetching it by hand`),c.value=!0;try{await Se()}catch(e){Y.error(`Fallback fetch of ${m.value} failed`,{error:e}),d("errored",new Error(Ue()))}}function qe(){B.value=!0,oe()}function se(){!B.value||!w.value||w.value.play().catch(e=>{Y.debug("The browser refused to play the live photo",{error:e})})}function de(){w.value&&w.value.load()}return(e,l)=>L?(h(),fe(Ia,{key:0,files:p.files,maxWidth:p.maxWidth,maxHeight:p.maxHeight,shown:p.shown,onLoaded:l[0]||(l[0]=t=>d("loaded")),onErrored:l[1]||(l[1]=t=>d("errored",t)),"onUpdate:canSwipe":l[2]||(l[2]=t=>d("update:canSwipe",t))},null,8,["files","maxWidth","maxHeight","shown"])):(h(),x("div",Pa,[i.value!==null?(h(),x(Ae,{key:0},[B.value?N("",!0):(h(),x("img",{key:0,ref_key:"image",ref:y,alt:Ye.value,class:me({dragging:W.value,loaded:z.value,zoomed:u.value>1}),src:i.value,style:V(be.value),onErrorCapture:f(Be,["prevent","stop"]),onLoad:oe,onWheel:f(Pe,["stop","prevent"]),onDblclick:f(Re,["prevent"]),onPointerdown:f($e,["prevent"]),onPointerup:f(ve,["prevent"]),onPointercancel:f(He,["prevent"]),onPointermove:f(Ee,["prevent"])},null,46,$a)),_e.value?(h(),x(Ae,{key:1},[Xe(C("video",{ref_key:"video",ref:w,class:me({dragging:W.value,loaded:z.value,zoomed:u.value>1}),style:V(be.value),playsinline:!0,muted:"",poster:i.value??void 0,src:Ve.value??void 0,preload:"metadata",onCanplaythrough:qe,onLoadedmetadata:K,onWheel:f(Pe,["stop","prevent"]),onErrorCaptureOnce:f(Be,["prevent","stop"]),onDblclick:f(Re,["prevent"]),onPointerdown:f($e,["prevent"]),onPointerup:f(ve,["prevent"]),onPointercancel:f(He,["prevent"]),onPointermove:f(Ee,["prevent"]),onEnded:de},null,46,Ha),[[na,B.value]]),M.value!==0?(h(),x("button",{key:0,class:"live-photo_play_button",style:V({left:`calc(50% - ${M.value/2}px)`}),disabled:!B.value,"aria-label":Q(E)("Play the live photo"),onClick:se,onPointerenter:se,onFocus:se,onPointerleave:de,onBlur:de},[B.value?(h(),fe(_a,{key:0})):(h(),fe(Q(ua),{key:1})),ia(" "+ee(Q(E)("LIVE")),1)],44,Ea)):N("",!0)],64)):N("",!0)],64)):N("",!0)]))}}),Xa=ge(Ua,[["__scopeId","data-v-7d63f0cd"]]);export{Xa as default}; +//# sourceMappingURL=Images-D15tD-uO.chunk.mjs.map diff --git a/js/Images-D15tD-uO.chunk.mjs.license b/js/Images-D15tD-uO.chunk.mjs.license new file mode 100644 index 00000000..61d3f05d --- /dev/null +++ b/js/Images-D15tD-uO.chunk.mjs.license @@ -0,0 +1,7 @@ +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors + +This file is generated from multiple sources. Included packages: +- @nextcloud/viewer + - version: 2.0.0-beta.19 + - license: AGPL-3.0-or-later diff --git a/js/Images-D15tD-uO.chunk.mjs.map b/js/Images-D15tD-uO.chunk.mjs.map new file mode 100644 index 00000000..007aaf4d --- /dev/null +++ b/js/Images-D15tD-uO.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"mappings":"klBAWA,GAAMA,IACJ,KAAM,2BACN,GAAO,MAAC,OACR,IACE,SACE,OAAM,QAER,MAAW,CACT,OAAM,OACN,MAAS,cACf,KACI,EAAM,QACE,MACN,UAEN,CACA,IACMC,CAAe,GAAC,eAAe,WAC/BC,MAAgB,OAAQ,SAAS,OACjCC,GAAe,CAAE,QAAG,kMACpBC,CAAe,CAAE,OACvB,mBAA2CC,CAAQC,MACjD,MAAOC,EAAS,QAAuB,OAAmBC,CAAK,OAAQ,GACrE,aAAeC,CAAO,SAAQ,KAAO,SACrC,SAAcA,CAAO,WACrB,CAAO,kDACP,SACA,SAASC,CAAO,KAAOA,MAAaC,EAAWH,MAAK,YAAqB,CAC7E,KACKD,EAAS,KAAuB,mBAClB,KACb,WAAO,wCAEP,KAAe,WACf,CAAS,kBAEU,KAAQJ,QAClB,QAAkB,CAAIS,GAAmB,OAASR,OAA8BK,CAAO,KAAK,EAAG,GAAC,CAAKI,UAEpH,MAAsB,EACtB,GAAK,IAAgB,CACrB,MACA,CAAMC,GAAoCC,IAAYf,EAAa,IAAE,QAAUgB,CAAW,MACpFC,CAAe,IAAC,OAAO,CAAK,mBAE5BC,KAAiB,WAAO,mDAAyD,MAChE,UAAO,4DACV,4BAEV,uBACR,IACE,OAAO,CACP,YACA,aACA,UAAS,IAAM,QAEjB,QAAQ,QAAU,kBAAW,gBAAmB,cAAkB,aAAgB,MAClF,OAAiB,IAAY,EAAI,OACzBC,QAEAC,OAAwB,SAC9BC,CAAM,UAAY,EAAQC,KACpBA,KACK,WAAO,CAAM,CAAE,iBAAqB,CAE/C,OACA,KAAaC,CAAS,MAAY,WAC5BC,CAAQD,KAAS,CAAMJ,IAAM,WACrBI,CAAS,KAAO,SAAe,aAAU,KAAc,SAAS,EAAG,SACrD,CAAME,MAAqB,MAAOC,CAAM,KAAK,CAAC,SAC7C,CAAMD,MAAsB,WAAa,CAAK,KAC3DE,OACJJ,CAAS,QACfK,MAAQ,QAAU,GACpB,aAAgBT,GAAM,SAAU,SAAc,kBAExC,IAAAU,EAAO,OAAAC,EAAM,CAAKF,EAAQ,MAC5BG,SAAa,MAAa,YAAkBZ,CAAM,WAAkB,GAC1E,SAAS,SAAY,MAAMU,CAAQE,CAAK,MAAG,GAAQ,MAAK,KAAMD,WAE/CH,CAAI,IACfK,KAAc,CAAK,IACzBC,CAAU,UAAW,cAAmB,EAAK,CAAC,EAC9C,IAAIC,IACAC,IAAS,CACb,cACE,KAAM,CAAE,iBAAc,YAAAC,CAAa,EAAKC,QAAM,CAC1CT,WAAkB,OAAUU,IAAe,CAAKF,GAAgB,OAC1D,KAAU,WAAqB,OAAqB,CAE9DF,MACIA,KACFK,EAAK,SAET,CACA,SAASC,KACFL,OACM,CACTI,IAAK,aAAe,KAAME,EAAE,yBAAyB,KAGzD,WAAc/B,CACLH,WAAgC,KACrC,UAAuB,oCAAuB,gBAAsC,UACpF,SAAwB,KAAO,QAAO,KAAM,UAAW,QAAWmC,KAAI,MAAM,MAAM,CAAI,MAEtFC,CAAmB,MAAO,CACxB,QAAO,yBACP,MAAU,OAAM,aAChB,IAAgB,WAChB,MACA,MAAAH,CACV,KAAW,KAAUvB,WACM,CAAO,IACxB,GAAO,4BACP,GAAKO,EAAM,MAAM,gBACZoB,EAAY,WACjB,CAAOC,GAAiB,SAAU,eAAeC","names":["_sfc_main$2","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","$setup","$data","openBlock","_ctx","$props","_cache","$event","createElementBlock","createCommentVNode","PlayCircleOutline","_export_sfc","_sfc_render","_hoisted_1$1","_hoisted_3$1","props","slider","watch","shown","computed","other","getPreviewIfAny","space","ref","natural","width","height","scale","touched","onMounted","loadedImages","failed","naturalHeight","event","naturalWidth","emit","onError","t","box","createElementVNode","otherSource","normalizeStyle","position"],"ignoreList":[0],"sources":["../node_modules/@nextcloud/viewer/dist/chunks/Images.mjs"],"sourcesContent":["import '../assets/Images.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, useTemplateRef, watch, computed, ref, onMounted, normalizeStyle, normalizeClass, withDirectives, unref, vModelText, nextTick, onUnmounted, createBlock, Fragment, withModifiers, vShow, createTextVNode } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport NcLoadingIcon from \"@nextcloud/vue/components/NcLoadingIcon\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { t, p as photoSize, l as logger } from \"./index.mjs\";\nimport { a as getPreviewIfAny, b as getLargestPreview } from \"./previewUtils.mjs\";\nimport { u as useViewerProps } from \"./useViewerProps.mjs\";\nimport { a as preloadMedia, b as preloadPreview, c as preloadImage } from \"./mediaPreloader.mjs\";\nimport { c as canDownload } from \"./canDownload.mjs\";\nimport { f as findLivePhotoPeerFromFileId } from \"./livePhotoUtils.mjs\";\nconst _sfc_main$2 = {\n name: \"PlayCircleOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon play-circle-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst PlayCircleOutline = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render]]);\nconst _hoisted_1$1 = [\"alt\", \"src\"];\nconst _hoisted_2$1 = [\"alt\", \"src\"];\nconst _hoisted_3$1 = { class: \"image-differences__label image-differences__label--base\" };\nconst _hoisted_4$1 = { class: \"image-differences__label image-differences__label--other\" };\nconst _hoisted_5 = [\"aria-label\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"ImageDifferences\",\n props: {\n files: {},\n maxWidth: {},\n maxHeight: {},\n shown: { type: Boolean }\n },\n emits: [\"loaded\", \"errored\", \"update:canSwipe\", \"update:editing\", \"update:playing\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const slider = useTemplateRef(\"slider\");\n watch(() => props.shown, (shown) => {\n if (shown) {\n slider.value?.focus({ preventScroll: true });\n }\n });\n const base = computed(() => props.files[0]);\n const other = computed(() => props.files[1]);\n const space = computed(() => ({ width: props.maxWidth, height: props.maxHeight }));\n const baseSource = computed(() => getPreviewIfAny(base.value, space.value));\n const otherSource = computed(() => getPreviewIfAny(other.value, space.value));\n const natural = ref();\n const box = computed(() => {\n if (natural.value === void 0) {\n return { width: props.maxWidth, height: props.maxHeight };\n }\n const { width, height } = natural.value;\n const scale = Math.min(1, props.maxWidth / width, props.maxHeight / height);\n return { width: Math.round(width * scale), height: Math.round(height * scale) };\n });\n const position = ref(50);\n const touched = ref(false);\n onMounted(() => emit(\"update:canSwipe\", false));\n let loadedImages = 0;\n let failed = false;\n function onLoad(event) {\n const { naturalWidth, naturalHeight } = event.target;\n if (natural.value === void 0 && naturalWidth > 0 && naturalHeight > 0) {\n natural.value = { width: naturalWidth, height: naturalHeight };\n }\n loadedImages++;\n if (loadedImages === 2) {\n emit(\"loaded\");\n }\n }\n function onError() {\n if (!failed) {\n failed = true;\n emit(\"errored\", new Error(t(\"Failed to load image.\")));\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"figure\", {\n class: normalizeClass([\"image-differences\", { \"image-differences--touched\": touched.value }]),\n style: normalizeStyle({ width: `${box.value.width}px`, height: `${box.value.height}px` })\n }, [\n createElementVNode(\"img\", {\n class: \"image-differences__image\",\n alt: base.value.displayname,\n src: baseSource.value,\n onLoad,\n onError\n }, null, 40, _hoisted_1$1),\n createElementVNode(\"img\", {\n class: \"image-differences__image\",\n alt: other.value.displayname,\n src: otherSource.value,\n style: normalizeStyle({ clipPath: `inset(0 0 0 ${position.value}%)` }),\n onLoad,\n onError\n }, null, 44, _hoisted_2$1),\n createElementVNode(\"span\", _hoisted_3$1, toDisplayString(base.value.displayname), 1),\n createElementVNode(\"span\", _hoisted_4$1, toDisplayString(other.value.displayname), 1),\n withDirectives(createElementVNode(\"input\", {\n ref_key: \"slider\",\n ref: slider,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => position.value = $event),\n class: \"image-differences__slider\",\n type: \"range\",\n min: \"0\",\n max: \"100\",\n \"aria-label\": unref(t)(\"Slide to compare {base} with {other}\", { base: base.value.displayname, other: other.value.displayname }),\n onPointerdown: _cache[1] || (_cache[1] = ($event) => touched.value = true),\n onPointerup: _cache[2] || (_cache[2] = ($event) => touched.value = false),\n onPointercancel: _cache[3] || (_cache[3] = ($event) => touched.value = false)\n }, null, 40, _hoisted_5), [\n [\n vModelText,\n position.value,\n void 0,\n { number: true }\n ]\n ]),\n createElementVNode(\"span\", {\n class: \"image-differences__divider\",\n style: normalizeStyle({ insetInlineStart: `${position.value}%` })\n }, null, 4)\n ], 6);\n };\n }\n});\nconst ImageDifferences = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-c9b762ef\"]]);\nconst _hoisted_1 = {\n key: 1,\n class: \"image_container\"\n};\nconst _hoisted_2 = [\"alt\", \"src\"];\nconst _hoisted_3 = [\"poster\", \"src\"];\nconst _hoisted_4 = [\"disabled\", \"aria-label\"];\nconst MIN_ZOOM_LIMIT = 5;\nconst PIXEL_ZOOM_LIMIT = 4;\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n name: \"ViewerImages\"\n },\n __name: \"Images\",\n props: {\n file: {},\n files: {},\n maxHeight: {},\n maxWidth: {},\n editing: { type: Boolean, default: false },\n isSidebarShown: { type: Boolean },\n shown: { type: Boolean },\n turns: {},\n localSource: {},\n comparison: {},\n embedded: { type: Boolean }\n },\n emits: [\"loaded\", \"errored\", \"update:canSwipe\", \"update:editing\", \"update:playing\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const showsDifferences = props.comparison === \"differences\";\n const { filename, src } = useViewerProps(props);\n const image = ref();\n const video = ref();\n const dragging = ref(false);\n const dragX = ref(0);\n const dragY = ref(0);\n const pinchDistance = ref(0);\n const pinchStartZoomRatio = ref(1);\n const pointerCache = ref([]);\n const shiftX = ref(0);\n const shiftY = ref(0);\n const zooming = ref(false);\n const zoomRatio = ref(1);\n const data = ref(null);\n const fallback = ref(false);\n const livePhotoCanBePlayed = ref(false);\n const loaded = ref(false);\n const height = ref(0);\n const width = ref(0);\n const shownFromPreview = ref(false);\n const nativeWidth = ref(photoSize(props.file)?.width ?? 0);\n let detailSource = null;\n let detailRequested = false;\n let detailController = null;\n const zoomLimit = computed(() => width.value > 0 ? Math.max(MIN_ZOOM_LIMIT, PIXEL_ZOOM_LIMIT * nativeWidth.value / width.value) : MIN_ZOOM_LIMIT);\n const mime = computed(() => props.file.mime);\n const hasPreview = computed(() => props.file.attributes?.hasPreview ?? false);\n const previewUrl = computed(() => props.file.attributes?.previewUrl);\n const metadataFilesLivePhoto = computed(() => props.file.attributes?.[\"metadata-files-live-photo\"]);\n const previewPath = computed(() => getPreviewIfAny(props.file, { width: props.maxWidth, height: props.maxHeight }));\n const turns = computed(() => Number(props.turns ?? 0) % 4);\n const quarterTurned = computed(() => turns.value % 2 === 1);\n const screenWidth = computed(() => quarterTurned.value ? height.value : width.value);\n const screenHeight = computed(() => quarterTurned.value ? width.value : height.value);\n const zoomHeight = computed(() => Math.round(height.value * zoomRatio.value));\n const zoomWidth = computed(() => Math.round(width.value * zoomRatio.value));\n const alt = computed(() => props.file.displayname);\n const imgStyle = computed(() => {\n const transform = turns.value === 0 ? void 0 : `rotate(${-90 * turns.value}deg)`;\n const inline = quarterTurned.value ? (zoomHeight.value - zoomWidth.value) / 2 : 0;\n const block = quarterTurned.value ? (zoomWidth.value - zoomHeight.value) / 2 : 0;\n const shift = zoomRatio.value === 1 ? { x: 0, y: 0 } : { x: shiftX.value * 2, y: shiftY.value * 2 };\n return {\n marginTop: Math.round(shift.y + block) + \"px\",\n marginBottom: Math.round(block) + \"px\",\n marginLeft: Math.round(shift.x + inline) + \"px\",\n marginRight: Math.round(inline) + \"px\",\n height: zoomHeight.value + \"px\",\n width: zoomWidth.value + \"px\",\n transform\n };\n });\n const livePhoto = computed(() => {\n if (metadataFilesLivePhoto.value === void 0) {\n return void 0;\n }\n return findLivePhotoPeerFromFileId(metadataFilesLivePhoto.value, props.files);\n });\n const livePhotoSrc = computed(() => livePhoto.value?.encodedSource ?? null);\n let inFlight = null;\n let ownedUrl = null;\n function showOwnedUrl(url) {\n if (ownedUrl !== null) {\n URL.revokeObjectURL(ownedUrl);\n }\n ownedUrl = url;\n data.value = url;\n }\n watch(() => props.file.source, () => {\n if (showsDifferences) {\n return;\n }\n forgetDetail();\n load();\n });\n watch(data, (source) => {\n if (source !== null && source === detailSource) {\n return;\n }\n loaded.value = false;\n catchUpIfLoaded();\n });\n watch(() => props.localSource, (source) => {\n if (source) {\n data.value = source;\n }\n });\n if (!showsDifferences) {\n load();\n }\n function load() {\n loadData().catch((error) => {\n logger.error(`Loading of file ${filename.value} failed`, { error });\n emit(\"errored\", new Error(t(\"Failed to load image.\")));\n });\n }\n async function loadData() {\n if (inFlight !== null && inFlight.source !== props.file.source) {\n inFlight.controller.abort();\n }\n const controller = new AbortController();\n inFlight = { controller, source: props.file.source };\n const { signal } = controller;\n shownFromPreview.value = false;\n if (props.localSource) {\n data.value = props.localSource;\n return;\n }\n if (mime.value === \"image/svg+xml\") {\n data.value = await getBase64FromImage(signal);\n return;\n }\n if (fallback.value) {\n const allowed = canDownload(props.file);\n showOwnedUrl(allowed ? await preloadMedia(props.file, signal) : await preloadPreview(previewPath.value, signal));\n shownFromPreview.value = !allowed && hasPreview.value && !previewUrl.value;\n return;\n }\n if (mime.value === \"image/gif\") {\n data.value = src.value;\n return;\n }\n if (props.file.source && !hasPreview.value && !previewUrl.value) {\n data.value = src.value;\n return;\n }\n data.value = previewPath.value;\n shownFromPreview.value = hasPreview.value && !previewUrl.value;\n }\n async function catchUpIfLoaded() {\n await nextTick();\n const element = image.value;\n if (element?.complete && element.naturalWidth > 0 && !loaded.value) {\n onDoneLoading();\n }\n }\n function onDoneLoading() {\n loaded.value = true;\n nativeWidth.value = Math.max(nativeWidth.value, image.value?.naturalWidth ?? 0);\n if (data.value !== null && data.value === detailSource) {\n return;\n }\n updateImageSize();\n }\n async function fetchDetail() {\n if (detailRequested || !shownFromPreview.value) {\n return;\n }\n const url = getLargestPreview(props.file);\n if (url === void 0) {\n return;\n }\n detailRequested = true;\n const controller = new AbortController();\n detailController = controller;\n const { signal } = controller;\n let unshown = null;\n try {\n const source = canDownload(props.file) ? url : await preloadPreview(url, signal);\n unshown = source === url ? null : source;\n const detailWidth = await preloadImage(source, signal);\n if (signal.aborted) {\n return;\n }\n nativeWidth.value = Math.max(nativeWidth.value, detailWidth);\n if (detailWidth <= (image.value?.naturalWidth ?? 0)) {\n return;\n }\n detailSource = source;\n if (unshown === null) {\n data.value = source;\n } else {\n showOwnedUrl(source);\n unshown = null;\n }\n } catch (error) {\n if (!signal.aborted) {\n logger.debug(`Could not fetch a sharper preview of ${filename.value}`, { error });\n }\n } finally {\n if (unshown !== null) {\n URL.revokeObjectURL(unshown);\n }\n }\n }\n function forgetDetail() {\n detailController?.abort();\n detailController = null;\n detailSource = null;\n detailRequested = false;\n nativeWidth.value = photoSize(props.file)?.width ?? 0;\n }\n watch(loaded, (isLoaded) => {\n if (isLoaded) {\n emit(\"loaded\");\n }\n }, { flush: \"post\" });\n function updateImageSize() {\n const mediaWidth = image.value?.naturalWidth || video.value?.videoWidth;\n const mediaHeight = image.value?.naturalHeight || video.value?.videoHeight;\n if (!mediaWidth || !mediaHeight) {\n return;\n }\n const boxWidth = quarterTurned.value ? mediaHeight : mediaWidth;\n const boxHeight = quarterTurned.value ? mediaWidth : mediaHeight;\n const ratio = Math.min(props.maxHeight / boxHeight, props.maxWidth / boxWidth);\n width.value = Math.floor(mediaWidth * ratio);\n height.value = Math.floor(mediaHeight * ratio);\n }\n watch([() => props.maxWidth, () => props.maxHeight], updateImageSize);\n watch(turns, () => {\n resetZoom();\n updateImageSize();\n });\n onUnmounted(() => {\n inFlight?.controller.abort();\n detailController?.abort();\n if (ownedUrl !== null) {\n URL.revokeObjectURL(ownedUrl);\n ownedUrl = null;\n }\n });\n async function getBase64FromImage(signal) {\n const file = await axios.get(src.value, { signal });\n const { default: DOMPurify } = await import(\"dompurify\");\n const sanitized = DOMPurify.sanitize(file.data);\n return `data:${mime.value};base64,${btoa(unescape(encodeURIComponent(sanitized)))}`;\n }\n function updateShift(newShiftX, newShiftY, newZoomRatio) {\n const maxShiftX = screenWidth.value * newZoomRatio - screenWidth.value;\n const maxShiftY = screenHeight.value * newZoomRatio - screenHeight.value;\n shiftX.value = Math.min(Math.max(newShiftX, -maxShiftX / 2), maxShiftX / 2);\n shiftY.value = Math.min(Math.max(newShiftY, -maxShiftY / 2), maxShiftY / 2);\n }\n function updateZoomAndShift(stableX, stableY, newZoomRatio) {\n const element = image.value ?? video.value;\n if (!element) {\n return;\n }\n const scrollX = stableX - element.getBoundingClientRect().x - screenWidth.value * zoomRatio.value / 2;\n const scrollY = stableY - element.getBoundingClientRect().y - screenHeight.value * zoomRatio.value / 2;\n const scrollPercX = scrollX / (screenWidth.value * zoomRatio.value);\n const scrollPercY = scrollY / (screenHeight.value * zoomRatio.value);\n const growX = screenWidth.value * newZoomRatio - screenWidth.value * zoomRatio.value;\n const growY = screenHeight.value * newZoomRatio - screenHeight.value * zoomRatio.value;\n const newShiftX = shiftX.value - scrollPercX * growX;\n const newShiftY = shiftY.value - scrollPercY * growY;\n updateShift(newShiftX, newShiftY, newZoomRatio);\n zoomRatio.value = newZoomRatio;\n if (newZoomRatio > 1) {\n fetchDetail();\n }\n }\n function distanceBetweenTouches() {\n const t0 = pointerCache.value[0];\n const t1 = pointerCache.value[1];\n if (!t0 || !t1) {\n return 0;\n }\n const diffX = t1.x - t0.x;\n const diffY = t1.y - t0.y;\n return Math.sqrt(diffX * diffX + diffY * diffY);\n }\n function updateZoom(event) {\n const isZoomIn = event.deltaY < 0;\n const newZoomRatio = isZoomIn ? Math.min(zoomRatio.value * 1.1, zoomLimit.value) : Math.max(zoomRatio.value / 1.1, 1);\n if (newZoomRatio === 1) {\n return resetZoom();\n }\n emit(\"update:canSwipe\", false);\n updateZoomAndShift(event.clientX, event.clientY, newZoomRatio);\n }\n function resetZoom() {\n emit(\"update:canSwipe\", true);\n zoomRatio.value = 1;\n shiftX.value = 0;\n shiftY.value = 0;\n }\n function pointerDown(event) {\n pointerCache.value.push({ pointerId: event.pointerId, x: event.clientX, y: event.clientY });\n if (pointerCache.value.length === 1) {\n dragX.value = event.clientX;\n dragY.value = event.clientY;\n dragging.value = true;\n }\n if (pointerCache.value.length === 2) {\n pinchDistance.value = distanceBetweenTouches();\n pinchStartZoomRatio.value = zoomRatio.value;\n zooming.value = true;\n emit(\"update:canSwipe\", false);\n }\n }\n function pointerUp(event) {\n const index = pointerCache.value.findIndex((cachedEv) => cachedEv.pointerId === event.pointerId);\n if (index === -1) {\n return;\n }\n pointerCache.value.splice(index, 1);\n dragging.value = false;\n zooming.value = false;\n }\n function pointerCancel(event) {\n pointerUp(event);\n if (pointerCache.value.length === 0 && zoomRatio.value === 1) {\n emit(\"update:canSwipe\", true);\n }\n }\n function pointerMove(event) {\n if (pointerCache.value.length > 0) {\n const index = pointerCache.value.findIndex((cachedEv) => cachedEv.pointerId === event.pointerId);\n const cached = index >= 0 ? pointerCache.value[index] : void 0;\n if (cached) {\n cached.x = event.clientX;\n cached.y = event.clientY;\n }\n }\n if (pointerCache.value.length === 1 && dragging.value && !zooming.value && zoomRatio.value > 1) {\n const { clientX, clientY } = event;\n const newShiftX = shiftX.value + (clientX - dragX.value);\n const newShiftY = shiftY.value + (clientY - dragY.value);\n updateShift(newShiftX, newShiftY, zoomRatio.value);\n dragX.value = clientX;\n dragY.value = clientY;\n }\n if (pointerCache.value.length === 2 && zooming.value) {\n const newDistance = distanceBetweenTouches();\n const newZoomRatio = Math.min(Math.max(pinchStartZoomRatio.value * (newDistance / pinchDistance.value), 1), zoomLimit.value);\n const t0 = pointerCache.value[0];\n const t1 = pointerCache.value[1];\n if (!t0 || !t1) {\n return;\n }\n const stableX = (t0.x + t1.x) / 2;\n const stableY = (t0.y + t1.y) / 2;\n updateZoomAndShift(stableX, stableY, newZoomRatio);\n }\n }\n function onDblclick() {\n if (zoomRatio.value > 1) {\n resetZoom();\n } else {\n zoomRatio.value = 1.3;\n fetchDetail();\n }\n }\n function failureMessage() {\n return canDownload(props.file) ? t(\"Failed to load image.\") : t(\"No preview available, download is disabled.\");\n }\n async function onFail() {\n if (fallback.value) {\n logger.error(`Loading of file ${filename.value} failed even after fallback`);\n emit(\"errored\", new Error(failureMessage()));\n return;\n }\n logger.error(`Loading of file ${filename.value} failed, falling back to fetching it by hand`);\n fallback.value = true;\n try {\n await loadData();\n } catch (error) {\n logger.error(`Fallback fetch of ${filename.value} failed`, { error });\n emit(\"errored\", new Error(failureMessage()));\n }\n }\n function doneLoadingLivePhoto() {\n livePhotoCanBePlayed.value = true;\n onDoneLoading();\n }\n function playLivePhoto() {\n if (!livePhotoCanBePlayed.value || !video.value) {\n return;\n }\n video.value.play().catch((error) => {\n logger.debug(\"The browser refused to play the live photo\", { error });\n });\n }\n function stopLivePhoto() {\n if (!video.value) {\n return;\n }\n video.value.load();\n }\n return (_ctx, _cache) => {\n return showsDifferences ? (openBlock(), createBlock(ImageDifferences, {\n key: 0,\n files: __props.files,\n maxWidth: __props.maxWidth,\n maxHeight: __props.maxHeight,\n shown: __props.shown,\n onLoaded: _cache[0] || (_cache[0] = ($event) => emit(\"loaded\")),\n onErrored: _cache[1] || (_cache[1] = (error) => emit(\"errored\", error)),\n \"onUpdate:canSwipe\": _cache[2] || (_cache[2] = (canSwipe) => emit(\"update:canSwipe\", canSwipe))\n }, null, 8, [\"files\", \"maxWidth\", \"maxHeight\", \"shown\"])) : (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n data.value !== null ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !livePhotoCanBePlayed.value ? (openBlock(), createElementBlock(\"img\", {\n key: 0,\n ref_key: \"image\",\n ref: image,\n alt: alt.value,\n class: normalizeClass({\n dragging: dragging.value,\n loaded: loaded.value,\n zoomed: zoomRatio.value > 1\n }),\n src: data.value,\n style: normalizeStyle(imgStyle.value),\n onErrorCapture: withModifiers(onFail, [\"prevent\", \"stop\"]),\n onLoad: onDoneLoading,\n onWheel: withModifiers(updateZoom, [\"stop\", \"prevent\"]),\n onDblclick: withModifiers(onDblclick, [\"prevent\"]),\n onPointerdown: withModifiers(pointerDown, [\"prevent\"]),\n onPointerup: withModifiers(pointerUp, [\"prevent\"]),\n onPointercancel: withModifiers(pointerCancel, [\"prevent\"]),\n onPointermove: withModifiers(pointerMove, [\"prevent\"])\n }, null, 46, _hoisted_2)) : createCommentVNode(\"\", true),\n livePhoto.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n withDirectives(createElementVNode(\"video\", {\n ref_key: \"video\",\n ref: video,\n class: normalizeClass({\n dragging: dragging.value,\n loaded: loaded.value,\n zoomed: zoomRatio.value > 1\n }),\n style: normalizeStyle(imgStyle.value),\n playsinline: true,\n muted: \"\",\n poster: data.value ?? void 0,\n src: livePhotoSrc.value ?? void 0,\n preload: \"metadata\",\n onCanplaythrough: doneLoadingLivePhoto,\n onLoadedmetadata: updateImageSize,\n onWheel: withModifiers(updateZoom, [\"stop\", \"prevent\"]),\n onErrorCaptureOnce: withModifiers(onFail, [\"prevent\", \"stop\"]),\n onDblclick: withModifiers(onDblclick, [\"prevent\"]),\n onPointerdown: withModifiers(pointerDown, [\"prevent\"]),\n onPointerup: withModifiers(pointerUp, [\"prevent\"]),\n onPointercancel: withModifiers(pointerCancel, [\"prevent\"]),\n onPointermove: withModifiers(pointerMove, [\"prevent\"]),\n onEnded: stopLivePhoto\n }, null, 46, _hoisted_3), [\n [vShow, livePhotoCanBePlayed.value]\n ]),\n width.value !== 0 ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n class: \"live-photo_play_button\",\n style: normalizeStyle({ left: `calc(50% - ${width.value / 2}px)` }),\n disabled: !livePhotoCanBePlayed.value,\n \"aria-label\": unref(t)(\"Play the live photo\"),\n onClick: playLivePhoto,\n onPointerenter: playLivePhoto,\n onFocus: playLivePhoto,\n onPointerleave: stopLivePhoto,\n onBlur: stopLivePhoto\n }, [\n livePhotoCanBePlayed.value ? (openBlock(), createBlock(PlayCircleOutline, { key: 0 })) : (openBlock(), createBlock(unref(NcLoadingIcon), { key: 1 })),\n createTextVNode(\" \" + toDisplayString(unref(t)(\"LIVE\")), 1)\n ], 44, _hoisted_4)) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ]));\n };\n }\n});\nconst Images = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-7d63f0cd\"]]);\nexport {\n Images as default\n};\n//# sourceMappingURL=Images.mjs.map\n"],"file":"Images-D15tD-uO.chunk.mjs"} \ No newline at end of file diff --git a/js/Images-D15tD-uO.chunk.mjs.map.license b/js/Images-D15tD-uO.chunk.mjs.map.license new file mode 120000 index 00000000..ed1bc706 --- /dev/null +++ b/js/Images-D15tD-uO.chunk.mjs.map.license @@ -0,0 +1 @@ +Images-D15tD-uO.chunk.mjs.license \ No newline at end of file diff --git a/js/NcActionButton-B2udyVne.chunk.mjs b/js/NcActionButton-B2udyVne.chunk.mjs new file mode 100644 index 00000000..8b90c5c7 --- /dev/null +++ b/js/NcActionButton-B2udyVne.chunk.mjs @@ -0,0 +1,3 @@ +(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode(".material-design-icon[data-v-6c2daf4e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-6c2daf4e]:hover,li.action.active[data-v-6c2daf4e]{border-radius:6px;padding:0}li.action[data-v-6c2daf4e]:hover{background-color:var(--color-background-hover)}.action--disabled[data-v-6c2daf4e]{pointer-events:none;opacity:.5}.action--disabled[data-v-6c2daf4e]:hover,.action--disabled[data-v-6c2daf4e]:focus{cursor:default;opacity:.5}.action--disabled[data-v-6c2daf4e] *{opacity:1!important}.action-button[data-v-6c2daf4e]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:var(--font-weight-element, normal);font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-button>span[data-v-6c2daf4e]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-6c2daf4e]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-6c2daf4e] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);align-self:flex-start;opacity:1}.action-button[data-v-6c2daf4e] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button__longtext-wrapper[data-v-6c2daf4e],.action-button__longtext[data-v-6c2daf4e]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-6c2daf4e]{cursor:pointer;white-space:pre-wrap!important}.action-button__name[data-v-6c2daf4e]{font-weight:var(--font-weight-heading, bold);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-button__description[data-v-6c2daf4e]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);font-weight:var(--font-weight-default, normal);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-button__menu-icon[data-v-6c2daf4e],.action-button__pressed-icon[data-v-6c2daf4e]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action-button[data-v-6c2daf4e] *{cursor:pointer}")),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); +import{b as m,c as b,m as y,d as k}from"./mdi-Cw2wacGo.chunk.mjs";import{K as f,a0 as x,a1 as g,k as i,q as n,A as l,M as C,u as _,v as r,D as s,x as o,m as h,J as v}from"./store-DT5_o2He.chunk.mjs";const V={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?.()[0].children?.trim?.()||""}}},S={mixins:[V],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},inject:{closeMenu:{from:m}},emits:["click"],created(){"ariaHidden"in this.$attrs},computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(t){this.$emit("click",t),this.closeAfterClick&&this.closeMenu(!1)}}},I={name:"NcActionButton",components:{NcIconSvgWrapper:x},mixins:[S],inject:{isInSemanticMenu:{from:b,default:!1}},props:{disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:t=>["button","checkbox","radio","reset","submit"].includes(t)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},emits:["update:modelValue"],setup(){return{mdiCheck:k,mdiChevronRight:y}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const t={};return this.isInSemanticMenu?(t.role="menuitem",this.type==="radio"?(t.role="menuitemradio",t["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(t.role="menuitemcheckbox",t["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(t["aria-pressed"]=this.modelValue?"true":"false"),t}},methods:{handleClick(t){this.onClick(t),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}},T=["role"],M=["aria-label","disabled","title","type"],A={class:"action-button__longtext-wrapper"},$={key:0,class:"action-button__name"},B=["textContent"],L={key:2,class:"action-button__text"},U=["textContent"],w={key:2,class:"action-button__pressed-icon material-design-icon"};function N(t,c,a,u,R,e){const d=g("NcIconSvgWrapper");return i(),n("li",{class:r(["action",{"action--disabled":a.disabled}]),role:e.isInSemanticMenu&&"presentation"},[l("button",v({"aria-label":t.ariaLabel,class:["action-button button-vue",{"action-button--active":e.isChecked,focusable:e.isFocusable}],disabled:a.disabled,title:t.title,type:e.nativeType},e.buttonAttributes,{onClick:c[0]||(c[0]=(...p)=>e.handleClick&&e.handleClick(...p))}),[C(t.$slots,"icon",{},()=>[l("span",{class:r([[t.isIconUrl?"action-button__icon--url":t.icon],"action-button__icon"]),style:_({backgroundImage:t.isIconUrl?`url(${t.icon})`:null}),"aria-hidden":"true"},null,6)],!0),l("span",A,[t.name?(i(),n("strong",$,s(t.name),1)):o("",!0),t.isLongText?(i(),n("span",{key:1,class:"action-button__longtext",textContent:s(t.text)},null,8,B)):(i(),n("span",L,s(t.text),1)),a.description?(i(),n("span",{key:3,class:"action-button__description",textContent:s(a.description)},null,8,U)):o("",!0)]),a.isMenu?(i(),h(d,{key:0,class:"action-button__menu-icon",directional:"",path:u.mdiChevronRight},null,8,["path"])):e.isChecked?(i(),h(d,{key:1,path:u.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):e.isChecked===!1?(i(),n("span",w)):o("",!0),o("",!0)],16,M)],10,T)}const F=f(I,[["render",N],["__scopeId","data-v-6c2daf4e"]]);export{S as A,F as N}; +//# sourceMappingURL=NcActionButton-B2udyVne.chunk.mjs.map diff --git a/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.license b/js/NcActionButton-B2udyVne.chunk.mjs.license similarity index 100% rename from js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.license rename to js/NcActionButton-B2udyVne.chunk.mjs.license diff --git a/js/NcActionButton-B2udyVne.chunk.mjs.map b/js/NcActionButton-B2udyVne.chunk.mjs.map new file mode 100644 index 00000000..d3546105 --- /dev/null +++ b/js/NcActionButton-B2udyVne.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"NcActionButton-B2udyVne.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/actionGlobal.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton.mjs"],"sourcesContent":["const ActionGlobalMixin = {\n beforeUpdate() {\n this.text = this.getText();\n },\n data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText() {\n return this.$slots.default?.()[0].children?.trim?.() || \"\";\n }\n }\n};\nexport {\n ActionGlobalMixin as A\n};\n//# sourceMappingURL=actionGlobal.mjs.map\n","import { warn } from \"vue\";\nimport { N as NC_ACTIONS_CLOSE_MENU } from \"./useNcActions.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal.mjs\";\nconst ActionTextMixin = {\n mixins: [ActionGlobalMixin],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n inject: {\n closeMenu: {\n from: NC_ACTIONS_CLOSE_MENU\n }\n },\n emits: [\n \"click\"\n ],\n created() {\n if (\"ariaHidden\" in this.$attrs) {\n warn(\"[NcAction*]: Do not set the ariaHidden attribute as the root element will inherit the incorrect aria-hidden.\");\n }\n },\n computed: {\n /**\n * Check if icon prop is an URL\n *\n * @return {boolean} Whether the icon prop is an URL\n */\n isIconUrl() {\n try {\n return !!new URL(this.icon, this.icon.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n }\n },\n methods: {\n onClick(event) {\n this.$emit(\"click\", event);\n if (this.closeAfterClick) {\n this.closeMenu(false);\n }\n }\n }\n};\nexport {\n ActionTextMixin as A\n};\n//# sourceMappingURL=actionText.mjs.map\n","import '../assets/NcActionButton.css';\nimport { c as mdiChevronRight, d as mdiCheck } from \"./mdi.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { A as ActionTextMixin } from \"./actionText.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, normalizeStyle, toDisplayString, createCommentVNode, createBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = {\n name: \"NcActionButton\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * If this is a menu, a chevron icon will\n * be added at the end of the line\n */\n isMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n * This extends the native HTML button type attribute.\n */\n type: {\n type: String,\n default: \"button\",\n validator: (behavior) => [\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(behavior)\n },\n /**\n * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n * For checkbox and toggle button behavior - boolean value.\n * For radio button behavior - could be a boolean checked or a string with the value of the button.\n * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n *\n * **This is not availabe for `type='submit'` or `type='reset'`**\n *\n * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n * For `type='radio'` `null` is equal to `false`\n */\n modelValue: {\n type: [Boolean, String],\n default: null\n },\n /**\n * The value used for the `modelValue` when this component is used with radio behavior\n * Similar to the `value` attribute of ``\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Small underlying text content of the entry\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"update:modelValue\"],\n setup() {\n return {\n mdiCheck,\n mdiChevronRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * The current \"checked\" or \"pressed\" state for the model behavior\n */\n isChecked() {\n if (this.type === \"radio\" && typeof this.modelValue !== \"boolean\") {\n return this.modelValue === this.value;\n }\n return this.modelValue;\n },\n /**\n * The native HTML type to set on the button\n */\n nativeType() {\n if (this.type === \"submit\" || this.type === \"reset\") {\n return this.type;\n }\n return \"button\";\n },\n /**\n * HTML attributes to bind to the