capacitor-camera-multicapture 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CameraMultiCapture.podspec +17 -0
- package/LICENSE +21 -0
- package/Package.swift +28 -0
- package/README.md +551 -0
- package/android/build.gradle +69 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/CameraConfig.java +45 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/CameraConfigMapper.java +98 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/CameraMultiCapture.java +10 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/CameraMultiCapturePlugin.java +1340 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/ExifWrapper.java +108 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/GenericUploadWorker.java +173 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/ImageUtils.java +215 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/PluginVersion.java +6 -0
- package/android/src/main/java/dev/hemang/cameramulticapture/ThumbnailGenerator.java +48 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/esm/controllers/camera-controller.d.ts +127 -0
- package/dist/esm/controllers/camera-controller.js +388 -0
- package/dist/esm/controllers/camera-controller.js.map +1 -0
- package/dist/esm/controllers/gallery-controller.d.ts +66 -0
- package/dist/esm/controllers/gallery-controller.js +333 -0
- package/dist/esm/controllers/gallery-controller.js.map +1 -0
- package/dist/esm/definitions.d.ts +372 -0
- package/dist/esm/definitions.js +6 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/overlay-manager.d.ts +124 -0
- package/dist/esm/overlay-manager.js +732 -0
- package/dist/esm/overlay-manager.js.map +1 -0
- package/dist/esm/overlay.d.ts +2 -0
- package/dist/esm/overlay.js +39 -0
- package/dist/esm/overlay.js.map +1 -0
- package/dist/esm/registration.d.ts +5 -0
- package/dist/esm/registration.js +8 -0
- package/dist/esm/registration.js.map +1 -0
- package/dist/esm/types/ui-types.d.ts +78 -0
- package/dist/esm/types/ui-types.js +2 -0
- package/dist/esm/types/ui-types.js.map +1 -0
- package/dist/esm/ui/capture-gesture-handler.d.ts +15 -0
- package/dist/esm/ui/capture-gesture-handler.js +87 -0
- package/dist/esm/ui/capture-gesture-handler.js.map +1 -0
- package/dist/esm/ui/default-styles.d.ts +27 -0
- package/dist/esm/ui/default-styles.js +134 -0
- package/dist/esm/ui/default-styles.js.map +1 -0
- package/dist/esm/ui/image-editor.d.ts +10 -0
- package/dist/esm/ui/image-editor.js +103 -0
- package/dist/esm/ui/image-editor.js.map +1 -0
- package/dist/esm/ui/layout-manager.d.ts +42 -0
- package/dist/esm/ui/layout-manager.js +199 -0
- package/dist/esm/ui/layout-manager.js.map +1 -0
- package/dist/esm/ui/media-viewer.d.ts +2 -0
- package/dist/esm/ui/media-viewer.js +267 -0
- package/dist/esm/ui/media-viewer.js.map +1 -0
- package/dist/esm/ui/pinch-zoom-handler.d.ts +37 -0
- package/dist/esm/ui/pinch-zoom-handler.js +118 -0
- package/dist/esm/ui/pinch-zoom-handler.js.map +1 -0
- package/dist/esm/ui/ui-factory.d.ts +39 -0
- package/dist/esm/ui/ui-factory.js +272 -0
- package/dist/esm/ui/ui-factory.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +3 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/esm/web.d.ts +69 -0
- package/dist/esm/web.js +122 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +6274 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +6276 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Sources/CameraMultiCapturePlugin/CameraMultiCapture.swift +8 -0
- package/ios/Sources/CameraMultiCapturePlugin/CameraMultiCapturePlugin.swift +1551 -0
- package/ios/Sources/CameraMultiCapturePlugin/PluginVersion.swift +2 -0
- package/ios/Tests/CameraMultiCapturePluginTests/CameraMultiCapturePluginTests.swift +15 -0
- package/package.json +93 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/controllers/camera-controller.js","../node_modules/@capacitor/synapse/dist/synapse.mjs","../node_modules/@capacitor/filesystem/dist/esm/definitions.js","../node_modules/@capacitor/filesystem/dist/esm/index.js","esm/ui/ui-factory.js","../node_modules/bigger-picture/dist/bigger-picture.mjs","../node_modules/bigger-picture/css-text.js","esm/ui/media-viewer.js","esm/controllers/gallery-controller.js","esm/ui/default-styles.js","esm/ui/layout-manager.js","esm/ui/pinch-zoom-handler.js","esm/ui/capture-gesture-handler.js","esm/overlay-manager.js","esm/registration.js","esm/overlay.js","../node_modules/@capacitor/filesystem/dist/esm/web.js","../node_modules/markerjs2/markerjs2.esm.js","esm/ui/image-editor.js","esm/version.js","esm/web.js"],"sourcesContent":["export var TorchState;\n(function (TorchState) {\n TorchState[TorchState[\"Off\"] = 0] = \"Off\";\n TorchState[TorchState[\"On\"] = 1] = \"On\";\n})(TorchState || (TorchState = {}));\n//# sourceMappingURL=definitions.js.map","/**\n * Controller for camera operations\n */\nimport { Capacitor } from '@capacitor/core';\nimport { TorchState } from '../definitions';\n/**\n * Manages camera operations\n */\nexport class CameraController {\n constructor(plugin, options) {\n var _a;\n this.flashMode = 'off';\n this.flashAutoModeEnabled = true;\n this.torchState = TorchState.Off;\n this.isRecording = false;\n this.currentZoom = 1;\n this.preRecordingState = null;\n this.availableCameras = null;\n this.plugin = plugin;\n this.options = options;\n this.flashAutoModeEnabled = (_a = options.flashAutoModeEnabled) !== null && _a !== void 0 ? _a : true;\n }\n /**\n * Initializes the camera\n */\n async initialize(containerElement, quality) {\n try {\n const rect = containerElement.getBoundingClientRect();\n const startOptions = {\n quality,\n direction: 'back',\n previewRect: {\n width: rect.width,\n height: rect.height,\n x: rect.x,\n y: rect.y\n },\n containerId: containerElement.id || 'camera-container',\n maxRecordingDuration: this.options.maxRecordingDuration,\n enableSaving: this.options.enableSaving,\n galleryAlbumName: this.options.galleryAlbumName,\n };\n await this.plugin.start(startOptions);\n }\n catch (error) {\n console.error('Failed to start camera', error);\n throw error;\n }\n }\n /**\n * Captures an image\n */\n async captureImage() {\n var _a;\n try {\n const result = await this.plugin.capture();\n console.log('Capture result:', result);\n if (!((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.uri)) {\n throw new Error('No URI returned from native capture');\n }\n result.value.webPath = Capacitor.convertFileSrc(result.value.uri);\n return result === null || result === void 0 ? void 0 : result.value;\n }\n catch (error) {\n console.error('Failed to capture photo', error);\n throw error;\n }\n }\n async startVideoRecording() {\n try {\n this.preRecordingState = {\n flash: this.flashMode,\n torch: this.torchState,\n zoom: this.currentZoom,\n };\n await this.plugin.startVideoRecording();\n this.isRecording = true;\n }\n catch (error) {\n this.preRecordingState = null;\n console.error('Failed to start video recording', error);\n throw error;\n }\n }\n async stopVideoRecording() {\n var _a;\n try {\n const result = await this.plugin.stopVideoRecording();\n this.isRecording = false;\n if (!((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.uri)) {\n throw new Error('No URI returned from native video recording');\n }\n result.value.webPath = Capacitor.convertFileSrc(result.value.uri);\n await this.restorePreRecordingState();\n return result.value;\n }\n catch (error) {\n this.isRecording = false;\n await this.restorePreRecordingState();\n console.error('Failed to stop video recording', error);\n throw error;\n }\n }\n async restorePreRecordingState() {\n const saved = this.preRecordingState;\n this.preRecordingState = null;\n if (!saved)\n return;\n try {\n await this.setFlash(saved.flash);\n await this.setTorch(saved.torch);\n await this.setZoom(saved.zoom);\n }\n catch (e) {\n console.warn('Failed to restore pre-recording camera state', e);\n }\n }\n /**\n * Returns whether video recording is currently active.\n */\n getRecordingState() {\n return this.isRecording;\n }\n /**\n * Sets the zoom level\n */\n async setZoom(level) {\n try {\n this.currentZoom = level; // important\n await this.plugin.setZoom({ zoom: level });\n }\n catch (error) {\n console.error('Failed to set zoom', error);\n throw error;\n }\n }\n /**\n * Gets the current zoom level (tracked after setZoom calls)\n */\n getCurrentZoom() {\n return this.currentZoom;\n }\n /**\n * Gets available cameras information\n */\n async getAvailableCameras() {\n try {\n if (!this.availableCameras) {\n this.availableCameras = await this.plugin.getAvailableCameras();\n }\n return this.availableCameras;\n }\n catch (error) {\n console.error('Failed to get available cameras', error);\n // Return default values\n return {\n hasUltrawide: false,\n hasWide: true,\n hasTelephoto: false,\n wideZoomFactor: 1.0\n };\n }\n }\n /**\n * Switches to a physical camera based on zoom factor\n * This will switch to the appropriate lens (ultrawide, wide, telephoto)\n */\n async switchToPhysicalCamera(zoomFactor) {\n try {\n await this.plugin.switchToPhysicalCamera({ zoomFactor });\n this.currentZoom = zoomFactor;\n }\n catch (error) {\n console.error('Failed to switch physical camera', error);\n await this.setZoom(zoomFactor);\n }\n }\n /**\n * Gets available zoom levels for the current camera\n */\n async getAvailableZoomLevels() {\n return await this.plugin.getAvailableZoomLevels();\n }\n /**\n * Switches between front and back camera\n */\n async switchCamera() {\n try {\n await this.plugin.switchCamera();\n // Invalidate cached camera info since capabilities differ per camera position\n this.availableCameras = null;\n }\n catch (error) {\n console.error('Failed to switch camera', error);\n throw error;\n }\n }\n /**\n * Stops the camera\n */\n async stop() {\n try {\n await this.plugin.stop();\n }\n catch (error) {\n console.warn('Failed to stop camera', error);\n }\n }\n /**\n * Sets the flash mode\n */\n async setFlash(mode) {\n try {\n await this.plugin.setFlash({ flashMode: mode });\n this.flashMode = mode;\n }\n catch (error) {\n console.error('Failed to set flash mode', error);\n throw error;\n }\n }\n /**\n * Gets the current flash mode\n */\n getFlashMode() {\n return this.flashMode;\n }\n /**\n * Toggles flash mode between off, on, and optionally auto\n */\n async toggleFlash() {\n let newMode;\n if (this.flashAutoModeEnabled) {\n // 3-mode cycle: off → on → auto → off\n switch (this.flashMode) {\n case 'off':\n newMode = 'on';\n break;\n case 'on':\n newMode = 'auto';\n break;\n case 'auto':\n default:\n newMode = 'off';\n break;\n }\n }\n else {\n // 2-mode cycle: off → on → off\n switch (this.flashMode) {\n case 'off':\n newMode = 'on';\n break;\n case 'on':\n case 'auto': // If somehow in auto mode, go to off\n default:\n newMode = 'off';\n break;\n }\n }\n await this.setFlash(newMode);\n return newMode;\n }\n /**\n * Gets whether auto mode is enabled\n */\n isFlashAutoModeEnabled() {\n return this.flashAutoModeEnabled;\n }\n /**\n * Sets the torch (flashlight) state.\n */\n async setTorch(state) {\n try {\n await this.plugin.setTorch({ enabled: state === TorchState.On });\n this.torchState = state;\n }\n catch (error) {\n console.error('Failed to set torch', error);\n throw error;\n }\n }\n /**\n * Gets the current torch state.\n */\n async getTorch() {\n try {\n const result = await this.plugin.getTorch();\n this.torchState = result.enabled ? TorchState.On : TorchState.Off;\n return this.torchState;\n }\n catch (error) {\n console.error('Failed to get torch state', error);\n return this.torchState;\n }\n }\n /**\n * Toggles the torch state and returns the new value.\n */\n async toggleTorch() {\n const current = await this.getTorch();\n const next = current === TorchState.On ? TorchState.Off : TorchState.On;\n await this.setTorch(next);\n return next;\n }\n /**\n * Updates the camera preview rectangle dimensions\n * Call this method when the container size changes (e.g., orientation change)\n */\n async refresh() {\n setTimeout(async () => {\n try {\n const containerElement = document.getElementById(this.options.containerId);\n if (!containerElement) {\n throw new Error(`Container with ID ${this.options.containerId} not found`);\n }\n const rect = containerElement.getBoundingClientRect();\n await this.plugin.updatePreviewRect({\n width: rect.width,\n height: rect.height,\n x: rect.x,\n y: rect.y\n });\n }\n catch (error) {\n console.error('Failed to update preview rect', error);\n throw error;\n }\n }, 100);\n }\n /**\n * Gets smart zoom levels that include physical camera switches\n * Returns an array of zoom levels and whether each is a physical camera\n */\n async getSmartZoomLevels() {\n const cameras = await this.getAvailableCameras();\n const zoomLevels = [];\n // Add ultrawide if available\n if (cameras.hasUltrawide && cameras.ultrawideZoomFactor) {\n zoomLevels.push({ level: cameras.ultrawideZoomFactor, isPhysicalCamera: true });\n }\n // Always add wide (1x)\n zoomLevels.push({ level: cameras.wideZoomFactor, isPhysicalCamera: true });\n // Add telephoto at its real zoom factor (derived from virtual device switch-over points)\n if (cameras.hasTelephoto && cameras.telephotoZoomFactor) {\n zoomLevels.push({ level: cameras.telephotoZoomFactor, isPhysicalCamera: true });\n }\n // Add intermediate and extended digital zoom levels\n const digitalZoomLevels = [2, 3, 5, 10];\n const zoomInfo = await this.getAvailableZoomLevels();\n for (const level of digitalZoomLevels) {\n // Only add if not already covered by a physical camera and within device capabilities\n const alreadyCovered = zoomLevels.some(z => Math.abs(z.level - level) < 0.1);\n if (!alreadyCovered && level > cameras.wideZoomFactor && level <= zoomInfo.maxZoom) {\n zoomLevels.push({ level, isPhysicalCamera: false });\n }\n }\n // Sort by zoom level\n zoomLevels.sort((a, b) => a.level - b.level);\n return zoomLevels;\n }\n /**\n * Performs smart zoom - switches physical cameras when appropriate\n */\n async performSmartZoom(targetZoom) {\n const cameras = await this.getAvailableCameras();\n // Determine if this zoom level should trigger a physical camera switch\n const physicalCameraZooms = [];\n if (cameras.hasUltrawide && cameras.ultrawideZoomFactor) {\n physicalCameraZooms.push(cameras.ultrawideZoomFactor);\n }\n physicalCameraZooms.push(cameras.wideZoomFactor);\n if (cameras.hasTelephoto && cameras.telephotoZoomFactor) {\n physicalCameraZooms.push(cameras.telephotoZoomFactor);\n }\n // Check if target zoom matches a physical camera\n const matchingPhysicalCamera = physicalCameraZooms.find(z => Math.abs(z - targetZoom) < 0.1);\n if (matchingPhysicalCamera) {\n // Switch to the physical camera\n await this.switchToPhysicalCamera(targetZoom);\n }\n else {\n // Use digital zoom\n await this.setZoom(targetZoom);\n }\n }\n}\n//# sourceMappingURL=camera-controller.js.map","function s(t) {\n t.CapacitorUtils.Synapse = new Proxy(\n {},\n {\n get(e, n) {\n return new Proxy({}, {\n get(w, o) {\n return (c, p, r) => {\n const i = t.Capacitor.Plugins[n];\n if (i === void 0) {\n r(new Error(`Capacitor plugin ${n} not found`));\n return;\n }\n if (typeof i[o] != \"function\") {\n r(new Error(`Method ${o} not found in Capacitor plugin ${n}`));\n return;\n }\n (async () => {\n try {\n const a = await i[o](c);\n p(a);\n } catch (a) {\n r(a);\n }\n })();\n };\n }\n });\n }\n }\n );\n}\nfunction u(t) {\n t.CapacitorUtils.Synapse = new Proxy(\n {},\n {\n get(e, n) {\n return t.cordova.plugins[n];\n }\n }\n );\n}\nfunction f(t = !1) {\n typeof window > \"u\" || (window.CapacitorUtils = window.CapacitorUtils || {}, window.Capacitor !== void 0 && !t ? s(window) : window.cordova !== void 0 && u(window));\n}\nexport {\n f as exposeSynapse\n};\n","export var Directory;\n(function (Directory) {\n /**\n * The Documents directory.\n * On iOS it's the app's documents directory.\n * Use this directory to store user-generated content.\n * On Android it's the Public Documents folder, so it's accessible from other apps.\n * It's not accessible on Android 10 unless the app enables legacy External Storage\n * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n * in the `AndroidManifest.xml`.\n * On Android 11 or newer the app can only access the files/folders the app created.\n *\n * @since 1.0.0\n */\n Directory[\"Documents\"] = \"DOCUMENTS\";\n /**\n * The Data directory.\n * On iOS it will use the Documents directory.\n * On Android it's the directory holding application files.\n * Files will be deleted when the application is uninstalled.\n *\n * @since 1.0.0\n */\n Directory[\"Data\"] = \"DATA\";\n /**\n * The Library directory.\n * On iOS it will use the Library directory.\n * On Android it's the directory holding application files.\n * Files will be deleted when the application is uninstalled.\n *\n * @since 1.1.0\n */\n Directory[\"Library\"] = \"LIBRARY\";\n /**\n * The Cache directory.\n * Can be deleted in cases of low memory, so use this directory to write app-specific files.\n * that your app can re-create easily.\n *\n * @since 1.0.0\n */\n Directory[\"Cache\"] = \"CACHE\";\n /**\n * The external directory.\n * On iOS it will use the Documents directory.\n * On Android it's the directory on the primary shared/external\n * storage device where the application can place persistent files it owns.\n * These files are internal to the applications, and not typically visible\n * to the user as media.\n * Files will be deleted when the application is uninstalled.\n *\n * @since 1.0.0\n */\n Directory[\"External\"] = \"EXTERNAL\";\n /**\n * The external storage directory.\n * On iOS it will use the Documents directory.\n * On Android it's the primary shared/external storage directory.\n * It's not accessible on Android 10 unless the app enables legacy External Storage\n * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n * in the `AndroidManifest.xml`.\n * It's not accessible on Android 11 or newer.\n *\n * @since 1.0.0\n */\n Directory[\"ExternalStorage\"] = \"EXTERNAL_STORAGE\";\n /**\n * The external cache directory.\n * On iOS it will use the Documents directory.\n * On Android it's the primary shared/external cache.\n *\n * @since 7.1.0\n */\n Directory[\"ExternalCache\"] = \"EXTERNAL_CACHE\";\n /**\n * The Library directory without cloud backup. Used in iOS.\n * On Android it's the directory holding application files.\n *\n * @since 7.1.0\n */\n Directory[\"LibraryNoCloud\"] = \"LIBRARY_NO_CLOUD\";\n /**\n * A temporary directory for iOS.\n * On Android it's the directory holding the application cache.\n *\n * @since 7.1.0\n */\n Directory[\"Temporary\"] = \"TEMPORARY\";\n})(Directory || (Directory = {}));\nexport var Encoding;\n(function (Encoding) {\n /**\n * Eight-bit UCS Transformation Format\n *\n * @since 1.0.0\n */\n Encoding[\"UTF8\"] = \"utf8\";\n /**\n * Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the\n * Unicode character set\n * This encoding is only supported on Android.\n *\n * @since 1.0.0\n */\n Encoding[\"ASCII\"] = \"ascii\";\n /**\n * Sixteen-bit UCS Transformation Format, byte order identified by an\n * optional byte-order mark\n * This encoding is only supported on Android.\n *\n * @since 1.0.0\n */\n Encoding[\"UTF16\"] = \"utf16\";\n})(Encoding || (Encoding = {}));\n/**\n * @deprecated Use `Directory`.\n * @since 1.0.0\n */\nexport const FilesystemDirectory = Directory;\n/**\n * @deprecated Use `Encoding`.\n * @since 1.0.0\n */\nexport const FilesystemEncoding = Encoding;\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nimport { exposeSynapse } from '@capacitor/synapse';\nconst Filesystem = registerPlugin('Filesystem', {\n web: () => import('./web').then((m) => new m.FilesystemWeb()),\n});\nexposeSynapse();\nexport * from './definitions';\nexport { Filesystem };\n//# sourceMappingURL=index.js.map","/**\n * Loads an icon from either an inline SVG string or a file path\n */\nasync function loadIcon(iconSource) {\n // Check if it's an inline SVG (starts with <svg)\n if (iconSource.trim().startsWith('<svg')) {\n return iconSource;\n }\n // Check if it's a file path (ends with .svg)\n if (iconSource.endsWith('.svg')) {\n try {\n const response = await fetch(iconSource);\n if (!response.ok) {\n throw new Error(`Failed to load SVG: ${response.status} ${response.statusText}`);\n }\n const svgContent = await response.text();\n return svgContent;\n }\n catch (error) {\n console.error(`Failed to load SVG from path: ${iconSource}`, error);\n // Re-throw error - let the existing fallback system handle it\n throw error;\n }\n }\n // If it's neither, treat as inline SVG\n return iconSource;\n}\n/**\n * Sets the icon for a button element, supporting both inline SVG and file paths\n */\nexport async function setButtonIcon(element, iconSource) {\n // Only proceed if iconSource is provided and not empty\n if (!iconSource || iconSource.trim() === '') {\n return;\n }\n const svgContent = await loadIcon(iconSource);\n element.innerHTML = svgContent;\n // Apply size styling if specified\n const style = element.__buttonStyle;\n if ((style === null || style === void 0 ? void 0 : style.size) && element.querySelector('svg')) {\n const svg = element.querySelector('svg');\n svg === null || svg === void 0 ? void 0 : svg.setAttribute('width', `${style.size}px`);\n svg === null || svg === void 0 ? void 0 : svg.setAttribute('height', `${style.size}px`);\n }\n}\n/**\n * Creates a button with the specified configuration\n */\nexport function createButton(config, text) {\n const btn = document.createElement('button');\n // Store style reference for later use in setButtonIcon\n btn.__buttonStyle = config.style;\n if (text) {\n btn.textContent = text;\n }\n else if (config.text) {\n btn.textContent = config.text;\n }\n else if (config.icon) {\n // Only load icon if one is provided\n setButtonIcon(btn, config.icon).catch(error => {\n console.error('Failed to set button icon:', error);\n });\n }\n const style = config.style || {};\n applyButtonStyle(btn, style);\n return btn;\n}\n/**\n * Applies styles to a button element\n */\nexport function applyButtonStyle(element, style) {\n Object.assign(element.style, {\n borderRadius: style.radius ? `${style.radius}px` : '30px',\n padding: style.padding || '10px',\n backgroundColor: style.backgroundColor || '#ffffff',\n color: style.color || '#000000',\n border: style.border || 'none',\n opacity: style.opacity !== undefined ? style.opacity.toString() : '1',\n boxShadow: style.boxShadow || 'none',\n filter: style.filter || 'none',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n outline: 'none',\n minWidth: '44px',\n minHeight: '44px'\n });\n if (style.size && element.querySelector('svg')) {\n const svg = element.querySelector('svg');\n svg === null || svg === void 0 ? void 0 : svg.setAttribute('width', `${style.size}px`);\n svg === null || svg === void 0 ? void 0 : svg.setAttribute('height', `${style.size}px`);\n }\n}\n/**\n * Creates a thumbnail image container\n */\nexport function createThumbnailContainer(thumbnailData, thumbnailStyle, onRemove, options) {\n const thumbnailContainer = document.createElement('div');\n const width = (thumbnailStyle === null || thumbnailStyle === void 0 ? void 0 : thumbnailStyle.width) || '80px';\n const height = (thumbnailStyle === null || thumbnailStyle === void 0 ? void 0 : thumbnailStyle.height) || '80px';\n Object.assign(thumbnailContainer.style, {\n position: 'relative',\n display: 'inline-block',\n width: width,\n height: height,\n marginRight: '10px',\n borderRadius: '4px',\n overflow: 'hidden',\n flexShrink: '0',\n boxSizing: 'border-box',\n contentVisibility: 'auto',\n containIntrinsicSize: `${width} ${height}`\n });\n const thumbnail = document.createElement('img');\n thumbnail.src = thumbnailData;\n thumbnail.loading = 'lazy';\n thumbnail.decoding = 'async';\n Object.assign(thumbnail.style, {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: '4px',\n cursor: 'pointer'\n });\n if (options === null || options === void 0 ? void 0 : options.onTap) {\n const tapHandler = options.onTap;\n thumbnail.addEventListener('click', (e) => {\n e.stopPropagation();\n tapHandler();\n });\n }\n thumbnailContainer.appendChild(thumbnail);\n if (options === null || options === void 0 ? void 0 : options.isVideo) {\n const playBadge = document.createElement('div');\n playBadge.innerHTML = '▶';\n Object.assign(playBadge.style, {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n width: '28px',\n height: '28px',\n borderRadius: '50%',\n background: 'rgba(0, 0, 0, 0.55)',\n color: '#ffffff',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '14px',\n zIndex: '2',\n pointerEvents: 'none'\n });\n thumbnailContainer.appendChild(playBadge);\n if (typeof options.duration === 'number') {\n const durationBadge = document.createElement('div');\n durationBadge.textContent = formatDuration(options.duration);\n Object.assign(durationBadge.style, {\n position: 'absolute',\n left: '4px',\n bottom: '4px',\n background: 'rgba(0, 0, 0, 0.7)',\n color: '#ffffff',\n fontSize: '10px',\n lineHeight: '14px',\n borderRadius: '8px',\n padding: '1px 6px',\n zIndex: '2',\n pointerEvents: 'none'\n });\n thumbnailContainer.appendChild(durationBadge);\n }\n }\n if (onRemove) {\n const removeBtn = createRemoveButton(onRemove);\n thumbnailContainer.appendChild(removeBtn);\n }\n return thumbnailContainer;\n}\nfunction formatDuration(seconds) {\n const safe = Math.max(0, Math.floor(seconds));\n const mins = Math.floor(safe / 60);\n const secs = safe % 60;\n return `${mins}:${secs.toString().padStart(2, '0')}`;\n}\n/**\n * Creates a remove button for thumbnails\n */\nexport function createRemoveButton(onRemove) {\n const removeBtn = document.createElement('button');\n Object.assign(removeBtn.style, {\n position: 'absolute',\n top: '3px',\n right: '3px',\n width: '24px',\n height: '24px',\n borderRadius: '50%',\n background: 'rgba(0, 0, 0, 0.5)',\n color: 'white',\n border: 'none',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '0',\n fontSize: '14px',\n fontWeight: 'bold',\n zIndex: '3'\n });\n removeBtn.innerHTML = '×';\n removeBtn.onclick = (e) => {\n e.stopPropagation();\n onRemove(e);\n };\n return removeBtn;\n}\n/**\n * Creates a shot counter element with animation\n */\nexport function createShotCounter() {\n const counter = document.createElement('div');\n counter.id = 'shot-counter';\n Object.assign(counter.style, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '40px',\n height: '40px',\n borderRadius: '20px',\n backgroundColor: 'rgba(0, 0, 0, 0.6)',\n color: '#ffffff',\n fontSize: '16px',\n fontWeight: 'bold',\n margin: '0', // Remove default margin since it's now handled by container gap\n transition: 'all 0.3s ease',\n transform: 'scale(1)',\n opacity: '0',\n pointerEvents: 'none',\n zIndex: '3'\n });\n counter.textContent = '0';\n return counter;\n}\n/**\n * Updates the shot counter with animation\n */\nexport function updateShotCounter(counter, count) {\n const displayCount = count > 99 ? '99+' : count.toString();\n // Show counter if it's hidden and count > 0\n if (count > 0 && counter.style.opacity === '0') {\n counter.style.opacity = '1';\n }\n // Hide counter if count is 0\n if (count === 0) {\n counter.style.opacity = '0';\n counter.textContent = '0';\n return;\n }\n // Animation effect\n counter.style.transform = 'scale(1.2)';\n counter.style.backgroundColor = 'rgba(40, 167, 69, 0.8)'; // Green flash\n // Update the text\n counter.textContent = displayCount;\n // Reset animation after a short delay\n setTimeout(() => {\n counter.style.transform = 'scale(1)';\n counter.style.backgroundColor = 'rgba(0, 0, 0, 0.6)';\n }, 200);\n}\n//# sourceMappingURL=ui-factory.js.map","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nlet now = () => globalThis.performance.now()\n ;\nlet raf = cb => requestAnimationFrame(cb) ;\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value);\n }\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nlet stylesheet;\nlet active = 0;\nlet current_rules = {};\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\n// function hash(str) {\n// let hash = 5381;\n// let i = str.length;\n// while (i--)\n// hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n// return hash >>> 0;\n// }\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `_bp_${Math.round(Math.random() * 1e9)}_${uid}`;\n if (!current_rules[name]) {\n if (!stylesheet) {\n const style = element('style');\n document.head.appendChild(style);\n stylesheet = style.sheet;\n }\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n node.style.animation = (node.style.animation || '')\n .split(', ')\n .filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('_bp') === -1 // remove all Svelte animations\n )\n .join(', ');\n if (name && !--active)\n clear_rules();\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n current_rules = {};\n });\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: {},\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: {},\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\n\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\n\nconst subscriber_queue = [];\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = new Set();\n function set(new_value) {\n if (not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\n\nfunction get_interpolator(a, b) {\n if (a === b || a !== a)\n return () => a;\n const type = typeof a;\n if (Array.isArray(a)) {\n const arr = b.map((bi, i) => {\n return get_interpolator(a[i], bi);\n });\n return t => arr.map(fn => fn(t));\n }\n if (type === 'number') {\n const delta = b - a;\n return t => a + t * delta;\n }\n \n}\nfunction tweened(value, defaults = {}) {\n const store = writable(value);\n let task;\n let target_value = value;\n function set(new_value, opts) {\n if (value == null) {\n store.set(value = new_value);\n return Promise.resolve();\n }\n target_value = new_value;\n let previous_task = task;\n let started = false;\n let { delay = 0, duration = 400, easing = identity, interpolate = get_interpolator } = assign(assign({}, defaults), opts);\n if (duration === 0) {\n if (previous_task) {\n previous_task.abort();\n previous_task = null;\n }\n store.set(value = target_value);\n return Promise.resolve();\n }\n const start = now() + delay;\n let fn;\n task = loop(now => {\n if (now < start)\n return true;\n if (!started) {\n fn = interpolate(value, new_value);\n if (typeof duration === 'function')\n duration = duration(value, new_value);\n started = true;\n }\n if (previous_task) {\n previous_task.abort();\n previous_task = null;\n }\n const elapsed = now - start;\n if (elapsed > duration) {\n store.set(value = new_value);\n return false;\n }\n // @ts-ignore\n store.set(value = fn(easing(elapsed / duration)));\n return true;\n });\n return task.promise;\n }\n return {\n set,\n update: (fn, opts) => set(fn(target_value, value), opts),\n subscribe: store.subscribe\n };\n}\n\n/** true if gallery is in the process of closing */\nconst closing = writable(0);\n\n/** if user prefers reduced motion */\nconst prefersReducedMotion = globalThis.matchMedia?.(\n\t'(prefers-reduced-motion: reduce)'\n).matches;\n\n/** default options for tweens / transitions\n * @param {number} duration\n */\nconst defaultTweenOptions = (duration) => ({\n\teasing: cubicOut,\n\tduration: prefersReducedMotion ? 0 : duration,\n});\n\nconst getThumbBackground = (activeItem) =>\n\t!activeItem.thumb || `url(${activeItem.thumb})`;\n\n/**\n * Adds attributes to the given node based on the provided object.\n *\n * @param {HTMLElement} node - The node to which attributes will be added\n * @param {Record<string, string | boolean> | string} obj - The object containing key-value pairs of attributes to be added\n */\nconst addAttributes = (node, obj) => {\n\tif (!obj) {\n\t\treturn\n\t}\n\tif (typeof obj === 'string') {\n\t\tobj = JSON.parse(obj);\n\t}\n\tfor (const key in obj) {\n\t\tnode.setAttribute(key, obj[key]);\n\t}\n};\n\n/* src/components/loading.svelte generated by Svelte v3.55.1 */\n\nfunction create_if_block_1$2(ctx) {\n\tlet div;\n\tlet div_outro;\n\tlet current;\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tdiv.innerHTML = `<span class=\"bp-bar\"></span><span class=\"bp-o\"></span>`;\n\t\t\tattr(div, \"class\", \"bp-load\");\n\t\t\tset_style(div, \"background-image\", getThumbBackground(/*activeItem*/ ctx[0]));\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty & /*activeItem*/ 1) {\n\t\t\t\tset_style(div, \"background-image\", getThumbBackground(/*activeItem*/ ctx[0]));\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (div_outro) div_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\tif (local) {\n\t\t\t\tdiv_outro = create_out_transition(div, fly, { duration: 480 });\n\t\t\t}\n\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif (detaching && div_outro) div_outro.end();\n\t\t}\n\t};\n}\n\n// (11:57) {#if $closing}\nfunction create_if_block$2(ctx) {\n\tlet div;\n\tlet div_intro;\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tattr(div, \"class\", \"bp-load\");\n\t\t\tset_style(div, \"background-image\", getThumbBackground(/*activeItem*/ ctx[0]));\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty & /*activeItem*/ 1) {\n\t\t\t\tset_style(div, \"background-image\", getThumbBackground(/*activeItem*/ ctx[0]));\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (!div_intro) {\n\t\t\t\tadd_render_callback(() => {\n\t\t\t\t\tdiv_intro = create_in_transition(div, fly, { duration: 480 });\n\t\t\t\t\tdiv_intro.start();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\nfunction create_fragment$4(ctx) {\n\tlet if_block0_anchor;\n\tlet if_block1_anchor;\n\tlet if_block0 = !/*loaded*/ ctx[1] && create_if_block_1$2(ctx);\n\tlet if_block1 = /*$closing*/ ctx[2] && create_if_block$2(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tif (if_block0) if_block0.c();\n\t\t\tif_block0_anchor = empty();\n\t\t\tif (if_block1) if_block1.c();\n\t\t\tif_block1_anchor = empty();\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tif (if_block0) if_block0.m(target, anchor);\n\t\t\tinsert(target, if_block0_anchor, anchor);\n\t\t\tif (if_block1) if_block1.m(target, anchor);\n\t\t\tinsert(target, if_block1_anchor, anchor);\n\t\t},\n\t\tp(ctx, [dirty]) {\n\t\t\tif (!/*loaded*/ ctx[1]) {\n\t\t\t\tif (if_block0) {\n\t\t\t\t\tif_block0.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty & /*loaded*/ 2) {\n\t\t\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block0 = create_if_block_1$2(ctx);\n\t\t\t\t\tif_block0.c();\n\t\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\t\tif_block0.m(if_block0_anchor.parentNode, if_block0_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block0) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block0, 1, 1, () => {\n\t\t\t\t\tif_block0 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\n\t\t\tif (/*$closing*/ ctx[2]) {\n\t\t\t\tif (if_block1) {\n\t\t\t\t\tif_block1.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty & /*$closing*/ 4) {\n\t\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block1 = create_if_block$2(ctx);\n\t\t\t\t\tif_block1.c();\n\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\tif_block1.m(if_block1_anchor.parentNode, if_block1_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block1) {\n\t\t\t\tif_block1.d(1);\n\t\t\t\tif_block1 = null;\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\ttransition_in(if_block0);\n\t\t\ttransition_in(if_block1);\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block0);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (if_block0) if_block0.d(detaching);\n\t\t\tif (detaching) detach(if_block0_anchor);\n\t\t\tif (if_block1) if_block1.d(detaching);\n\t\t\tif (detaching) detach(if_block1_anchor);\n\t\t}\n\t};\n}\n\nfunction instance$4($$self, $$props, $$invalidate) {\n\tlet $closing;\n\tcomponent_subscribe($$self, closing, $$value => $$invalidate(2, $closing = $$value));\n\tlet { activeItem } = $$props;\n\tlet { loaded } = $$props;\n\n\t$$self.$$set = $$props => {\n\t\tif ('activeItem' in $$props) $$invalidate(0, activeItem = $$props.activeItem);\n\t\tif ('loaded' in $$props) $$invalidate(1, loaded = $$props.loaded);\n\t};\n\n\treturn [activeItem, loaded, $closing];\n}\n\nclass Loading extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$4, create_fragment$4, not_equal, { activeItem: 0, loaded: 1 });\n\t}\n}\n\n/* src/components/image.svelte generated by Svelte v3.55.1 */\n\nfunction create_if_block_1$1(ctx) {\n\tlet img;\n\tlet img_sizes_value;\n\tlet img_outro;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"sizes\", img_sizes_value = /*opts*/ ctx[8].sizes || `${/*sizes*/ ctx[1]}px`);\n\t\t\tattr(img, \"alt\", /*activeItem*/ ctx[7].alt);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\taction_destroyer(/*addSrc*/ ctx[21].call(null, img)),\n\t\t\t\t\tlisten(img, \"error\", /*error_handler*/ ctx[27])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (!current || dirty[0] & /*sizes*/ 2 && img_sizes_value !== (img_sizes_value = /*opts*/ ctx[8].sizes || `${/*sizes*/ ctx[1]}px`)) {\n\t\t\t\tattr(img, \"sizes\", img_sizes_value);\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (img_outro) img_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\timg_outro = create_out_transition(img, fly, {});\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t\tif (detaching && img_outro) img_outro.end();\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\n// (384:10) {#if showLoader}\nfunction create_if_block$1(ctx) {\n\tlet loading;\n\tlet current;\n\n\tloading = new Loading({\n\t\t\tprops: {\n\t\t\t\tactiveItem: /*activeItem*/ ctx[7],\n\t\t\t\tloaded: /*loaded*/ ctx[2]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(loading.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(loading, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tconst loading_changes = {};\n\t\t\tif (dirty[0] & /*loaded*/ 4) loading_changes.loaded = /*loaded*/ ctx[2];\n\t\t\tloading.$set(loading_changes);\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(loading.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(loading.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(loading, detaching);\n\t\t}\n\t};\n}\n\nfunction create_fragment$3(ctx) {\n\tlet div1;\n\tlet div0;\n\tlet if_block0_anchor;\n\tlet style_transform = `translate3d(${/*$imageDimensions*/ ctx[0][0] / -2 + /*$zoomDragTranslate*/ ctx[6][0]}px, ${/*$imageDimensions*/ ctx[0][1] / -2 + /*$zoomDragTranslate*/ ctx[6][1]}px, 0)`;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\tlet if_block0 = /*loaded*/ ctx[2] && create_if_block_1$1(ctx);\n\tlet if_block1 = /*showLoader*/ ctx[3] && create_if_block$1(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tdiv1 = element(\"div\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tif (if_block0) if_block0.c();\n\t\t\tif_block0_anchor = empty();\n\t\t\tif (if_block1) if_block1.c();\n\t\t\tattr(div0, \"class\", \"bp-img\");\n\t\t\tset_style(div0, \"width\", /*$imageDimensions*/ ctx[0][0] + \"px\");\n\t\t\tset_style(div0, \"height\", /*$imageDimensions*/ ctx[0][1] + \"px\");\n\t\t\ttoggle_class(div0, \"bp-drag\", /*pointerDown*/ ctx[4]);\n\t\t\ttoggle_class(div0, \"bp-canzoom\", /*maxZoom*/ ctx[11] > 1 && /*$imageDimensions*/ ctx[0][0] < /*naturalWidth*/ ctx[12]);\n\t\t\tset_style(div0, \"background-image\", getThumbBackground(/*activeItem*/ ctx[7]));\n\t\t\tset_style(div0, \"transform\", style_transform);\n\t\t\tattr(div1, \"class\", \"bp-img-wrap\");\n\t\t\ttoggle_class(div1, \"bp-close\", /*closingWhileZoomed*/ ctx[5]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div1, anchor);\n\t\t\tappend(div1, div0);\n\t\t\tif (if_block0) if_block0.m(div0, null);\n\t\t\tappend(div0, if_block0_anchor);\n\t\t\tif (if_block1) if_block1.m(div0, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\taction_destroyer(/*onMount*/ ctx[20].call(null, div0)),\n\t\t\t\t\tlisten(div1, \"wheel\", /*onWheel*/ ctx[15]),\n\t\t\t\t\tlisten(div1, \"pointerdown\", /*onPointerDown*/ ctx[16]),\n\t\t\t\t\tlisten(div1, \"pointermove\", /*onPointerMove*/ ctx[17]),\n\t\t\t\t\tlisten(div1, \"pointerup\", /*onPointerUp*/ ctx[19]),\n\t\t\t\t\tlisten(div1, \"pointercancel\", /*removeEventFromCache*/ ctx[18])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (/*loaded*/ ctx[2]) {\n\t\t\t\tif (if_block0) {\n\t\t\t\t\tif_block0.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*loaded*/ 4) {\n\t\t\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block0 = create_if_block_1$1(ctx);\n\t\t\t\t\tif_block0.c();\n\t\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\t\tif_block0.m(div0, if_block0_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block0) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block0, 1, 1, () => {\n\t\t\t\t\tif_block0 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\n\t\t\tif (/*showLoader*/ ctx[3]) {\n\t\t\t\tif (if_block1) {\n\t\t\t\t\tif_block1.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*showLoader*/ 8) {\n\t\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block1 = create_if_block$1(ctx);\n\t\t\t\t\tif_block1.c();\n\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\tif_block1.m(div0, null);\n\t\t\t\t}\n\t\t\t} else if (if_block1) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block1, 1, 1, () => {\n\t\t\t\t\tif_block1 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*$imageDimensions*/ 1) {\n\t\t\t\tset_style(div0, \"width\", /*$imageDimensions*/ ctx[0][0] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*$imageDimensions*/ 1) {\n\t\t\t\tset_style(div0, \"height\", /*$imageDimensions*/ ctx[0][1] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*pointerDown*/ 16) {\n\t\t\t\ttoggle_class(div0, \"bp-drag\", /*pointerDown*/ ctx[4]);\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*maxZoom, $imageDimensions, naturalWidth*/ 6145) {\n\t\t\t\ttoggle_class(div0, \"bp-canzoom\", /*maxZoom*/ ctx[11] > 1 && /*$imageDimensions*/ ctx[0][0] < /*naturalWidth*/ ctx[12]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*$imageDimensions, $zoomDragTranslate*/ 65 && style_transform !== (style_transform = `translate3d(${/*$imageDimensions*/ ctx[0][0] / -2 + /*$zoomDragTranslate*/ ctx[6][0]}px, ${/*$imageDimensions*/ ctx[0][1] / -2 + /*$zoomDragTranslate*/ ctx[6][1]}px, 0)`)) {\n\t\t\t\tset_style(div0, \"transform\", style_transform);\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*closingWhileZoomed*/ 32) {\n\t\t\t\ttoggle_class(div1, \"bp-close\", /*closingWhileZoomed*/ ctx[5]);\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(if_block0);\n\t\t\ttransition_in(if_block1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block0);\n\t\t\ttransition_out(if_block1);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div1);\n\t\t\tif (if_block0) if_block0.d();\n\t\t\tif (if_block1) if_block1.d();\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance$3($$self, $$props, $$invalidate) {\n\tlet $zoomed;\n\tlet $zoomDragTranslate;\n\tlet $closing;\n\tlet $imageDimensions;\n\tcomponent_subscribe($$self, closing, $$value => $$invalidate(26, $closing = $$value));\n\tlet { props } = $$props;\n\tlet { smallScreen } = $$props;\n\tlet { activeItem, opts, prev, next, zoomed, container } = props;\n\tcomponent_subscribe($$self, zoomed, value => $$invalidate(25, $zoomed = value));\n\tlet maxZoom = activeItem.maxZoom || opts.maxZoom || 10;\n\tlet calculatedDimensions = props.calculateDimensions(activeItem);\n\n\t/** value of sizes attribute */\n\tlet sizes = calculatedDimensions[0];\n\n\t/** tracks load state of image */\n\tlet loaded, showLoader;\n\n\t/** stores pinch info if multiple touch events active */\n\tlet pinchDetails;\n\n\t/** image html element (.bp-img) */\n\tlet bpImg;\n\n\t/** track distance for pinch events */\n\tlet prevDiff = 0;\n\n\tlet pointerDown, hasDragged;\n\tlet dragStartX, dragStartY;\n\n\t/** zoomDragTranslate values on start of drag */\n\tlet dragStartTranslateX, dragStartTranslateY;\n\n\t/** if true, adds class to .bp-wrap to avoid image cropping */\n\tlet closingWhileZoomed;\n\n\tconst naturalWidth = +activeItem.width;\n\n\t/** store positions for drag inertia */\n\tconst dragPositions = [];\n\n\t/** cache pointer events to handle pinch */\n\tconst pointerCache = new Map();\n\n\t/** tween to control image size */\n\tconst imageDimensions = tweened(calculatedDimensions, defaultTweenOptions(400));\n\n\tcomponent_subscribe($$self, imageDimensions, value => $$invalidate(0, $imageDimensions = value));\n\n\t/** translate transform for pointerDown */\n\tconst zoomDragTranslate = tweened([0, 0], defaultTweenOptions(400));\n\n\tcomponent_subscribe($$self, zoomDragTranslate, value => $$invalidate(6, $zoomDragTranslate = value));\n\n\t/** calculate translate position with bounds */\n\tconst boundTranslateValues = ([x, y], newDimensions = $imageDimensions) => {\n\t\t// image drag translate bounds\n\t\tconst maxTranslateX = (newDimensions[0] - container.w) / 2;\n\n\t\tconst maxTranslateY = (newDimensions[1] - container.h) / 2;\n\n\t\t// x max drag\n\t\tif (maxTranslateX < 0) {\n\t\t\tx = 0;\n\t\t} else if (x > maxTranslateX) {\n\t\t\tif (smallScreen) {\n\t\t\t\t// bound to left side (allow slight over drag)\n\t\t\t\tx = pointerDown\n\t\t\t\t? maxTranslateX + (x - maxTranslateX) / 10\n\t\t\t\t: maxTranslateX;\n\n\t\t\t\t// previous item if dragged past threshold\n\t\t\t\tif (x > maxTranslateX + 20) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = prev());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx = maxTranslateX;\n\t\t\t}\n\t\t} else if (x < -maxTranslateX) {\n\t\t\t// bound to right side (allow slight over drag)\n\t\t\tif (smallScreen) {\n\t\t\t\tx = pointerDown\n\t\t\t\t? -maxTranslateX - (-maxTranslateX - x) / 10\n\t\t\t\t: -maxTranslateX;\n\n\t\t\t\t// next item if dragged past threshold\n\t\t\t\tif (x < -maxTranslateX - 20) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = next());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx = -maxTranslateX;\n\t\t\t}\n\t\t}\n\n\t\t// y max drag\n\t\tif (maxTranslateY < 0) {\n\t\t\ty = 0;\n\t\t} else if (y > maxTranslateY) {\n\t\t\ty = maxTranslateY;\n\t\t} else if (y < -maxTranslateY) {\n\t\t\ty = -maxTranslateY;\n\t\t}\n\n\t\treturn [x, y];\n\t};\n\n\t/** updates zoom level in or out based on amt value */\n\tfunction changeZoom(amt = maxZoom, e) {\n\t\tif ($closing) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxWidth = calculatedDimensions[0] * maxZoom;\n\t\tlet newWidth = $imageDimensions[0] + $imageDimensions[0] * amt;\n\t\tlet newHeight = $imageDimensions[1] + $imageDimensions[1] * amt;\n\n\t\tif (amt > 0) {\n\t\t\tif (newWidth > maxWidth) {\n\t\t\t\t// requesting size large than max zoom\n\t\t\t\tnewWidth = maxWidth;\n\n\t\t\t\tnewHeight = calculatedDimensions[1] * maxZoom;\n\t\t\t}\n\n\t\t\tif (newWidth > naturalWidth) {\n\t\t\t\t// if requesting zoom larger than natural size\n\t\t\t\tnewWidth = naturalWidth;\n\n\t\t\t\tnewHeight = +activeItem.height;\n\t\t\t}\n\t\t} else if (newWidth < calculatedDimensions[0]) {\n\t\t\t// if requesting image smaller than starting size\n\t\t\timageDimensions.set(calculatedDimensions);\n\n\t\t\treturn zoomDragTranslate.set([0, 0]);\n\t\t}\n\n\t\tlet { x, y, width, height } = bpImg.getBoundingClientRect();\n\n\t\t// distance clicked from center of image\n\t\tconst offsetX = e ? e.clientX - x - width / 2 : 0;\n\n\t\tconst offsetY = e ? e.clientY - y - height / 2 : 0;\n\t\tx = -offsetX * (newWidth / width) + offsetX;\n\t\ty = -offsetY * (newHeight / height) + offsetY;\n\t\tconst newDimensions = [newWidth, newHeight];\n\n\t\t// set new dimensions and update sizes property\n\t\timageDimensions.set(newDimensions).then(() => {\n\t\t\t$$invalidate(1, sizes = Math.round(Math.max(sizes, newWidth)));\n\t\t});\n\n\t\t// update translate value\n\t\tzoomDragTranslate.set(boundTranslateValues([$zoomDragTranslate[0] + x, $zoomDragTranslate[1] + y], newDimensions));\n\t}\n\n\t// allow zoom to be read / set externally\n\tObject.defineProperty(activeItem, 'zoom', {\n\t\tconfigurable: true,\n\t\tget: () => $zoomed,\n\t\tset: bool => changeZoom(bool ? maxZoom : -maxZoom)\n\t});\n\n\tconst onWheel = e => {\n\t\t// return if scrolling past inline gallery w/ wheel\n\t\tif (opts.inline && !$zoomed) {\n\t\t\treturn;\n\t\t}\n\n\t\t// preventDefault to stop scrolling on zoomed inline image\n\t\te.preventDefault();\n\n\t\t// change zoom on wheel\n\t\tchangeZoom(e.deltaY / -300, e);\n\t};\n\n\t/** on drag start, store initial position and image translate values */\n\tconst onPointerDown = e => {\n\t\t// don't run if right click\n\t\tif (e.button !== 2) {\n\t\t\te.preventDefault();\n\t\t\t$$invalidate(4, pointerDown = true);\n\t\t\tpointerCache.set(e.pointerId, e);\n\t\t\tdragStartX = e.clientX;\n\t\t\tdragStartY = e.clientY;\n\t\t\tdragStartTranslateX = $zoomDragTranslate[0];\n\t\t\tdragStartTranslateY = $zoomDragTranslate[1];\n\t\t}\n\t};\n\n\t/** on drag, update image translate val */\n\tconst onPointerMove = e => {\n\t\tif (pointerCache.size > 1) {\n\t\t\t// if multiple pointer events, pass to handlePinch function\n\t\t\t$$invalidate(4, pointerDown = false);\n\n\t\t\treturn opts.noPinch?.(container.el) || handlePinch(e);\n\t\t}\n\n\t\tif (!pointerDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet x = e.clientX;\n\t\tlet y = e.clientY;\n\n\t\t// store positions for drag inertia, flag drag by distance \n\t\tdragPositions.push({ x, y });\n\n\t\thasDragged ||= Math.hypot(x - dragStartX, y - dragStartY) > 5;\n\n\t\t// overall drag diff from start location\n\t\tx = x - dragStartX;\n\n\t\ty = y - dragStartY;\n\n\t\t// handle unzoomed left / right / up swipes\n\t\tif (!$zoomed) {\n\t\t\t// close if swipe up\n\t\t\tif (y < -90) {\n\t\t\t\t$$invalidate(4, pointerDown = !opts.noClose && props.close());\n\t\t\t}\n\n\t\t\t// only handle left / right if not swiping vertically\n\t\t\tif (Math.abs(y) < 30) {\n\t\t\t\t// previous if swipe left\n\t\t\t\tif (x > 40) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = prev());\n\t\t\t\t}\n\n\t\t\t\t// next if swipe right\n\t\t\t\tif (x < -40) {\n\t\t\t\t\t// pointerdown = undefined to stop pointermove from running again\n\t\t\t\t\t$$invalidate(4, pointerDown = next());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// image drag when zoomed\n\t\tif ($zoomed && hasDragged && !$closing) {\n\t\t\tzoomDragTranslate.set(boundTranslateValues([dragStartTranslateX + x, dragStartTranslateY + y]), { duration: 0 });\n\t\t}\n\t};\n\n\tconst handlePinch = e => {\n\t\t// update event in cache and get values\n\t\tconst [p1, p2] = pointerCache.set(e.pointerId, e).values();\n\n\t\t// Calculate the distance between the two pointers\n\t\tconst dx = p1.clientX - p2.clientX;\n\n\t\tconst dy = p1.clientY - p2.clientY;\n\t\tconst curDiff = Math.hypot(dx, dy);\n\n\t\t// cache the original pinch center\n\t\tpinchDetails = pinchDetails || {\n\t\t\tclientX: (p1.clientX + p2.clientX) / 2,\n\t\t\tclientY: (p1.clientY + p2.clientY) / 2\n\t\t};\n\n\t\t// scale image\n\t\tchangeZoom(((prevDiff || curDiff) - curDiff) / -35, pinchDetails);\n\n\t\t// Cache the distance for the next move event\n\t\tprevDiff = curDiff;\n\t};\n\n\t/** remove event from pointer event cache */\n\tconst removeEventFromCache = e => pointerCache.delete(e.pointerId);\n\n\tfunction onPointerUp(e) {\n\t\tremoveEventFromCache(e);\n\n\t\tif (pinchDetails) {\n\t\t\t// reset prevDiff and clear pointerDown to trigger return below\n\t\t\t$$invalidate(4, pointerDown = prevDiff = 0);\n\n\t\t\t// set pinchDetails to null after last finger lifts\n\t\t\tpinchDetails = pointerCache.size ? pinchDetails : null;\n\t\t}\n\n\t\t// make sure pointer events don't carry over to next image\n\t\tif (!pointerDown) {\n\t\t\treturn;\n\t\t}\n\n\t\t$$invalidate(4, pointerDown = false);\n\n\t\t// close if overlay is clicked\n\t\tif (e.target === this && !opts.noClose) {\n\t\t\treturn props.close();\n\t\t}\n\n\t\t// add drag inertia / snap back to bounds\n\t\tif (hasDragged) {\n\t\t\tconst [posOne, posTwo, posThree] = dragPositions.slice(-3);\n\t\t\tconst xDiff = posTwo.x - posThree.x;\n\t\t\tconst yDiff = posTwo.y - posThree.y;\n\n\t\t\tif (Math.hypot(xDiff, yDiff) > 5) {\n\t\t\t\tzoomDragTranslate.set(boundTranslateValues([\n\t\t\t\t\t$zoomDragTranslate[0] - (posOne.x - posThree.x) * 5,\n\t\t\t\t\t$zoomDragTranslate[1] - (posOne.y - posThree.y) * 5\n\t\t\t\t]));\n\t\t\t}\n\t\t} else if (!opts.onImageClick?.(container.el, activeItem)) {\n\t\t\tchangeZoom($zoomed ? -maxZoom : maxZoom, e);\n\t\t}\n\n\t\t// reset pointer states\n\t\thasDragged = false;\n\n\t\t// reset dragPositions\n\t\tdragPositions.length = 0;\n\t}\n\n\tconst onMount = node => {\n\t\tbpImg = node;\n\n\t\t// handle globalThis resize\n\t\tprops.setResizeFunc(() => {\n\t\t\t$$invalidate(24, calculatedDimensions = props.calculateDimensions(activeItem));\n\n\t\t\t// adjust image size / zoom on resize, but not on mobile because\n\t\t\t// some browsers (ios safari 15) constantly resize screen on drag\n\t\t\tif (opts.inline || !smallScreen) {\n\t\t\t\timageDimensions.set(calculatedDimensions);\n\t\t\t\tzoomDragTranslate.set([0, 0]);\n\t\t\t}\n\t\t});\n\n\t\t// decode initial image before rendering\n\t\tprops.loadImage(activeItem).then(() => {\n\t\t\t$$invalidate(2, loaded = true);\n\t\t\tprops.preloadNext();\n\t\t});\n\n\t\t// show loading indicator if needed\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\t$$invalidate(3, showLoader = !loaded);\n\t\t\t},\n\t\t\t250\n\t\t);\n\t};\n\n\tconst addSrc = node => {\n\t\taddAttributes(node, activeItem.attr);\n\t\tnode.srcset = activeItem.img;\n\t};\n\n\tconst error_handler = error => opts.onError?.(container, activeItem, error);\n\n\t$$self.$$set = $$props => {\n\t\t\n\t\tif ('smallScreen' in $$props) $$invalidate(23, smallScreen = $$props.smallScreen);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[0] & /*$imageDimensions, calculatedDimensions*/ 16777217) {\n\t\t\tzoomed.set($imageDimensions[0] - 10 > calculatedDimensions[0]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*$closing, $zoomed, calculatedDimensions*/ 117440512) {\n\t\t\t// if zoomed while closing, zoom out image and add class\n\t\t\t// to change contain value on .bp-wrap to avoid cropping\n\t\t\tif ($closing && $zoomed && !opts.intro) {\n\t\t\t\tconst closeTweenOpts = defaultTweenOptions(480);\n\t\t\t\tzoomDragTranslate.set([0, 0], closeTweenOpts);\n\t\t\t\timageDimensions.set(calculatedDimensions, closeTweenOpts);\n\t\t\t\t$$invalidate(5, closingWhileZoomed = true);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\t$imageDimensions,\n\t\tsizes,\n\t\tloaded,\n\t\tshowLoader,\n\t\tpointerDown,\n\t\tclosingWhileZoomed,\n\t\t$zoomDragTranslate,\n\t\tactiveItem,\n\t\topts,\n\t\tzoomed,\n\t\tcontainer,\n\t\tmaxZoom,\n\t\tnaturalWidth,\n\t\timageDimensions,\n\t\tzoomDragTranslate,\n\t\tonWheel,\n\t\tonPointerDown,\n\t\tonPointerMove,\n\t\tremoveEventFromCache,\n\t\tonPointerUp,\n\t\tonMount,\n\t\taddSrc,\n\t\tprops,\n\t\tsmallScreen,\n\t\tcalculatedDimensions,\n\t\t$zoomed,\n\t\t$closing,\n\t\terror_handler\n\t];\n}\n\nclass Image extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$3, create_fragment$3, not_equal, { props: 22, smallScreen: 23 }, null, [-1, -1]);\n\t}\n}\n\n/* src/components/iframe.svelte generated by Svelte v3.55.1 */\n\nfunction create_fragment$2(ctx) {\n\tlet div;\n\tlet iframe;\n\tlet loading;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\n\tloading = new Loading({\n\t\t\tprops: {\n\t\t\t\tactiveItem: /*activeItem*/ ctx[2],\n\t\t\t\tloaded: /*loaded*/ ctx[0]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tiframe = element(\"iframe\");\n\t\t\tcreate_component(loading.$$.fragment);\n\t\t\tattr(iframe, \"allow\", \"autoplay; fullscreen\");\n\t\t\tattr(iframe, \"title\", /*activeItem*/ ctx[2].title);\n\t\t\tattr(div, \"class\", \"bp-if\");\n\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, iframe);\n\t\t\tmount_component(loading, div, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\taction_destroyer(/*addSrc*/ ctx[3].call(null, iframe)),\n\t\t\t\t\tlisten(iframe, \"load\", /*load_handler*/ ctx[5])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, [dirty]) {\n\t\t\tconst loading_changes = {};\n\t\t\tif (dirty & /*loaded*/ 1) loading_changes.loaded = /*loaded*/ ctx[0];\n\t\t\tloading.$set(loading_changes);\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(loading.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(loading.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tdestroy_component(loading);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance$2($$self, $$props, $$invalidate) {\n\tlet { props } = $$props;\n\tlet loaded, dimensions;\n\tconst { activeItem } = props;\n\tconst setDimensions = () => $$invalidate(1, dimensions = props.calculateDimensions(activeItem));\n\tsetDimensions();\n\tprops.setResizeFunc(setDimensions);\n\n\tconst addSrc = node => {\n\t\taddAttributes(node, activeItem.attr);\n\t\tnode.src = activeItem.iframe;\n\t};\n\n\tconst load_handler = () => $$invalidate(0, loaded = true);\n\n\t\n\n\treturn [loaded, dimensions, activeItem, addSrc, props, load_handler];\n}\n\nclass Iframe extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$2, create_fragment$2, not_equal, { props: 4 });\n\t}\n}\n\n/* src/components/video.svelte generated by Svelte v3.55.1 */\n\nfunction create_fragment$1(ctx) {\n\tlet div;\n\tlet loading;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\n\tloading = new Loading({\n\t\t\tprops: {\n\t\t\t\tactiveItem: /*activeItem*/ ctx[2],\n\t\t\t\tloaded: /*loaded*/ ctx[0]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tcreate_component(loading.$$.fragment);\n\t\t\tattr(div, \"class\", \"bp-vid\");\n\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t\tset_style(div, \"background-image\", getThumbBackground(/*activeItem*/ ctx[2]));\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tmount_component(loading, div, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = action_destroyer(/*onMount*/ ctx[3].call(null, div));\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, [dirty]) {\n\t\t\tconst loading_changes = {};\n\t\t\tif (dirty & /*loaded*/ 1) loading_changes.loaded = /*loaded*/ ctx[0];\n\t\t\tloading.$set(loading_changes);\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"width\", /*dimensions*/ ctx[1][0] + \"px\");\n\t\t\t}\n\n\t\t\tif (!current || dirty & /*dimensions*/ 2) {\n\t\t\t\tset_style(div, \"height\", /*dimensions*/ ctx[1][1] + \"px\");\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(loading.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(loading.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tdestroy_component(loading);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\nfunction instance$1($$self, $$props, $$invalidate) {\n\tlet { props } = $$props;\n\tlet loaded, dimensions;\n\tconst { activeItem, opts, container } = props;\n\tconst setDimensions = () => $$invalidate(1, dimensions = props.calculateDimensions(activeItem));\n\tsetDimensions();\n\tprops.setResizeFunc(setDimensions);\n\n\t/** create audo / video element */\n\tconst onMount = node => {\n\t\tlet mediaElement;\n\n\t\t/** takes supplied object and creates elements in video */\n\t\tconst appendToVideo = (tag, arr) => {\n\t\t\tif (!Array.isArray(arr)) {\n\t\t\t\tarr = JSON.parse(arr);\n\t\t\t}\n\n\t\t\tfor (const obj of arr) {\n\t\t\t\t// create media element if it doesn't exist\n\t\t\t\tif (!mediaElement) {\n\t\t\t\t\tmediaElement = document.createElement((obj.type?.includes('audio')) ? 'audio' : 'video');\n\n\t\t\t\t\taddAttributes(mediaElement, {\n\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\tautoplay: true,\n\t\t\t\t\t\tplaysinline: true,\n\t\t\t\t\t\ttabindex: '0'\n\t\t\t\t\t});\n\n\t\t\t\t\taddAttributes(mediaElement, activeItem.attr);\n\t\t\t\t}\n\n\t\t\t\t// add sources / tracks to media element\n\t\t\t\tconst el = document.createElement(tag);\n\n\t\t\t\taddAttributes(el, obj);\n\n\t\t\t\tif (tag == 'source') {\n\t\t\t\t\tel.onError = error => opts.onError?.(container, activeItem, error);\n\t\t\t\t}\n\n\t\t\t\tmediaElement.append(el);\n\t\t\t}\n\t\t};\n\n\t\tappendToVideo('source', activeItem.sources);\n\t\tappendToVideo('track', activeItem.tracks || []);\n\t\tmediaElement.oncanplay = () => $$invalidate(0, loaded = true);\n\t\tnode.append(mediaElement);\n\t};\n\n\t\n\n\treturn [loaded, dimensions, activeItem, onMount, props];\n}\n\nclass Video extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tinit(this, options, instance$1, create_fragment$1, not_equal, { props: 4 });\n\t}\n}\n\n/* src/bigger-picture.svelte generated by Svelte v3.55.1 */\n\nfunction create_if_block(ctx) {\n\tlet div2;\n\tlet div0;\n\tlet div0_outro;\n\tlet previous_key = /*activeItem*/ ctx[6].i;\n\tlet div1;\n\tlet button;\n\tlet div1_outro;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\tlet key_block = create_key_block(ctx);\n\tlet if_block = /*items*/ ctx[0].length > 1 && create_if_block_1(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tdiv2 = element(\"div\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tkey_block.c();\n\t\t\tdiv1 = element(\"div\");\n\t\t\tbutton = element(\"button\");\n\t\t\tif (if_block) if_block.c();\n\t\t\tattr(button, \"class\", \"bp-x\");\n\t\t\tattr(button, \"title\", \"Close\");\n\t\t\tattr(button, \"aria-label\", \"Close\");\n\t\t\tattr(div1, \"class\", \"bp-controls\");\n\t\t\tattr(div2, \"class\", \"bp-wrap\");\n\t\t\ttoggle_class(div2, \"bp-zoomed\", /*$zoomed*/ ctx[10]);\n\t\t\ttoggle_class(div2, \"bp-inline\", /*inline*/ ctx[8]);\n\t\t\ttoggle_class(div2, \"bp-small\", /*smallScreen*/ ctx[7]);\n\t\t\ttoggle_class(div2, \"bp-noclose\", /*opts*/ ctx[5].noClose);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div2, anchor);\n\t\t\tappend(div2, div0);\n\t\t\tkey_block.m(div2, null);\n\t\t\tappend(div2, div1);\n\t\t\tappend(div1, button);\n\t\t\tif (if_block) if_block.m(div1, null);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(button, \"click\", /*close*/ ctx[1]),\n\t\t\t\t\taction_destroyer(/*containerActions*/ ctx[14].call(null, div2))\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*activeItem*/ 64 && not_equal(previous_key, previous_key = /*activeItem*/ ctx[6].i)) {\n\t\t\t\tgroup_outros();\n\t\t\t\ttransition_out(key_block, 1, 1, noop);\n\t\t\t\tcheck_outros();\n\t\t\t\tkey_block = create_key_block(ctx);\n\t\t\t\tkey_block.c();\n\t\t\t\ttransition_in(key_block, 1);\n\t\t\t\tkey_block.m(div2, div1);\n\t\t\t} else {\n\t\t\t\tkey_block.p(ctx, dirty);\n\t\t\t}\n\n\t\t\tif (/*items*/ ctx[0].length > 1) {\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t\t} else {\n\t\t\t\t\tif_block = create_if_block_1(ctx);\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(div1, null);\n\t\t\t\t}\n\t\t\t} else if (if_block) {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = null;\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*$zoomed*/ 1024) {\n\t\t\t\ttoggle_class(div2, \"bp-zoomed\", /*$zoomed*/ ctx[10]);\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*inline*/ 256) {\n\t\t\t\ttoggle_class(div2, \"bp-inline\", /*inline*/ ctx[8]);\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*smallScreen*/ 128) {\n\t\t\t\ttoggle_class(div2, \"bp-small\", /*smallScreen*/ ctx[7]);\n\t\t\t}\n\n\t\t\tif (!current || dirty[0] & /*opts*/ 32) {\n\t\t\t\ttoggle_class(div2, \"bp-noclose\", /*opts*/ ctx[5].noClose);\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (div0_outro) div0_outro.end(1);\n\t\t\ttransition_in(key_block);\n\t\t\tif (div1_outro) div1_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\tif (local) {\n\t\t\t\tdiv0_outro = create_out_transition(div0, fly, { duration: 480 });\n\t\t\t}\n\n\t\t\ttransition_out(key_block);\n\n\t\t\tif (local) {\n\t\t\t\tdiv1_outro = create_out_transition(div1, fly, {});\n\t\t\t}\n\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div2);\n\t\t\tif (detaching && div0_outro) div0_outro.end();\n\t\t\tkey_block.d(detaching);\n\t\t\tif (if_block) if_block.d();\n\t\t\tif (detaching && div1_outro) div1_outro.end();\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\n// (311:199) {:else}\nfunction create_else_block(ctx) {\n\tlet div;\n\tlet raw_value = (/*activeItem*/ ctx[6].html ?? /*activeItem*/ ctx[6].element.outerHTML) + \"\";\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tattr(div, \"class\", \"bp-html\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tdiv.innerHTML = raw_value;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*activeItem*/ 64 && raw_value !== (raw_value = (/*activeItem*/ ctx[6].html ?? /*activeItem*/ ctx[6].element.outerHTML) + \"\")) div.innerHTML = raw_value;\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (311:165) \nfunction create_if_block_5(ctx) {\n\tlet iframe;\n\tlet current;\n\n\tiframe = new Iframe({\n\t\t\tprops: { props: /*getChildProps*/ ctx[13]() }\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(iframe.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(iframe, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp: noop,\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(iframe.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(iframe.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(iframe, detaching);\n\t\t}\n\t};\n}\n\n// (311:104) \nfunction create_if_block_4(ctx) {\n\tlet video;\n\tlet current;\n\n\tvideo = new Video({\n\t\t\tprops: { props: /*getChildProps*/ ctx[13]() }\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(video.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(video, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp: noop,\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(video.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(video.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(video, detaching);\n\t\t}\n\t};\n}\n\n// (311:4) {#if activeItem.img}\nfunction create_if_block_3(ctx) {\n\tlet imageitem;\n\tlet current;\n\n\timageitem = new Image({\n\t\t\tprops: {\n\t\t\t\tprops: /*getChildProps*/ ctx[13](),\n\t\t\t\tsmallScreen: /*smallScreen*/ ctx[7]\n\t\t\t}\n\t\t});\n\n\treturn {\n\t\tc() {\n\t\t\tcreate_component(imageitem.$$.fragment);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tmount_component(imageitem, target, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tconst imageitem_changes = {};\n\t\t\tif (dirty[0] & /*smallScreen*/ 128) imageitem_changes.smallScreen = /*smallScreen*/ ctx[7];\n\t\t\timageitem.$set(imageitem_changes);\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(imageitem.$$.fragment, local);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(imageitem.$$.fragment, local);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tdestroy_component(imageitem, detaching);\n\t\t}\n\t};\n}\n\n// (311:299) {#if activeItem.caption}\nfunction create_if_block_2(ctx) {\n\tlet div;\n\tlet raw_value = /*activeItem*/ ctx[6].caption + \"\";\n\tlet div_outro;\n\tlet current;\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tattr(div, \"class\", \"bp-cap\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tdiv.innerHTML = raw_value;\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif ((!current || dirty[0] & /*activeItem*/ 64) && raw_value !== (raw_value = /*activeItem*/ ctx[6].caption + \"\")) div.innerHTML = raw_value;\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\tif (div_outro) div_outro.end(1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\tdiv_outro = create_out_transition(div, fly, { duration: 200 });\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif (detaching && div_outro) div_outro.end();\n\t\t}\n\t};\n}\n\n// (300:43) {#key activeItem.i}\nfunction create_key_block(ctx) {\n\tlet div;\n\tlet current_block_type_index;\n\tlet if_block0;\n\tlet div_intro;\n\tlet div_outro;\n\tlet if_block1_anchor;\n\tlet current;\n\tlet mounted;\n\tlet dispose;\n\tconst if_block_creators = [create_if_block_3, create_if_block_4, create_if_block_5, create_else_block];\n\tconst if_blocks = [];\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*activeItem*/ ctx[6].img) return 0;\n\t\tif (/*activeItem*/ ctx[6].sources) return 1;\n\t\tif (/*activeItem*/ ctx[6].iframe) return 2;\n\t\treturn 3;\n\t}\n\n\tcurrent_block_type_index = select_block_type(ctx);\n\tif_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);\n\tlet if_block1 = /*activeItem*/ ctx[6].caption && create_if_block_2(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tif_block0.c();\n\t\t\tif (if_block1) if_block1.c();\n\t\t\tif_block1_anchor = empty();\n\t\t\tattr(div, \"class\", \"bp-inner\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tif_blocks[current_block_type_index].m(div, null);\n\t\t\tif (if_block1) if_block1.m(target, anchor);\n\t\t\tinsert(target, if_block1_anchor, anchor);\n\t\t\tcurrent = true;\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(div, \"pointerdown\", /*pointerdown_handler*/ ctx[20]),\n\t\t\t\t\tlisten(div, \"pointerup\", /*pointerup_handler*/ ctx[21])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tlet previous_block_index = current_block_type_index;\n\t\t\tcurrent_block_type_index = select_block_type(ctx);\n\n\t\t\tif (current_block_type_index === previous_block_index) {\n\t\t\t\tif_blocks[current_block_type_index].p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_blocks[previous_block_index], 1, 1, () => {\n\t\t\t\t\tif_blocks[previous_block_index] = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t\tif_block0 = if_blocks[current_block_type_index];\n\n\t\t\t\tif (!if_block0) {\n\t\t\t\t\tif_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);\n\t\t\t\t\tif_block0.c();\n\t\t\t\t} else {\n\t\t\t\t\tif_block0.p(ctx, dirty);\n\t\t\t\t}\n\n\t\t\t\ttransition_in(if_block0, 1);\n\t\t\t\tif_block0.m(div, null);\n\t\t\t}\n\n\t\t\tif (/*activeItem*/ ctx[6].caption) {\n\t\t\t\tif (if_block1) {\n\t\t\t\t\tif_block1.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*activeItem*/ 64) {\n\t\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block1 = create_if_block_2(ctx);\n\t\t\t\t\tif_block1.c();\n\t\t\t\t\ttransition_in(if_block1, 1);\n\t\t\t\t\tif_block1.m(if_block1_anchor.parentNode, if_block1_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block1) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block1, 1, 1, () => {\n\t\t\t\t\tif_block1 = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(if_block0);\n\n\t\t\tadd_render_callback(() => {\n\t\t\t\tif (div_outro) div_outro.end(1);\n\t\t\t\tdiv_intro = create_in_transition(div, /*mediaTransition*/ ctx[12], true);\n\t\t\t\tdiv_intro.start();\n\t\t\t});\n\n\t\t\ttransition_in(if_block1);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block0);\n\t\t\tif (div_intro) div_intro.invalidate();\n\t\t\tdiv_outro = create_out_transition(div, /*mediaTransition*/ ctx[12], false);\n\t\t\ttransition_out(if_block1);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif_blocks[current_block_type_index].d();\n\t\t\tif (detaching && div_outro) div_outro.end();\n\t\t\tif (if_block1) if_block1.d(detaching);\n\t\t\tif (detaching) detach(if_block1_anchor);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\n// (311:554) {#if items.length > 1}\nfunction create_if_block_1(ctx) {\n\tlet div;\n\tlet raw_value = `${/*position*/ ctx[4] + 1} / ${/*items*/ ctx[0].length}` + \"\";\n\tlet button0;\n\tlet button1;\n\tlet mounted;\n\tlet dispose;\n\n\treturn {\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tbutton1 = element(\"button\");\n\t\t\tattr(div, \"class\", \"bp-count\");\n\t\t\tattr(button0, \"class\", \"bp-prev\");\n\t\t\tattr(button0, \"title\", \"Previous\");\n\t\t\tattr(button0, \"aria-label\", \"Previous\");\n\t\t\tattr(button1, \"class\", \"bp-next\");\n\t\t\tattr(button1, \"title\", \"Next\");\n\t\t\tattr(button1, \"aria-label\", \"Next\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tdiv.innerHTML = raw_value;\n\t\t\tinsert(target, button0, anchor);\n\t\t\tinsert(target, button1, anchor);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(button0, \"click\", /*prev*/ ctx[2]),\n\t\t\t\t\tlisten(button1, \"click\", /*next*/ ctx[3])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*position, items*/ 17 && raw_value !== (raw_value = `${/*position*/ ctx[4] + 1} / ${/*items*/ ctx[0].length}` + \"\")) div.innerHTML = raw_value;\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t\tif (detaching) detach(button0);\n\t\t\tif (detaching) detach(button1);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet if_block_anchor;\n\tlet current;\n\tlet if_block = /*items*/ ctx[0] && create_if_block(ctx);\n\n\treturn {\n\t\tc() {\n\t\t\tif (if_block) if_block.c();\n\t\t\tif_block_anchor = empty();\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tif (if_block) if_block.m(target, anchor);\n\t\t\tinsert(target, if_block_anchor, anchor);\n\t\t\tcurrent = true;\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (/*items*/ ctx[0]) {\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.p(ctx, dirty);\n\n\t\t\t\t\tif (dirty[0] & /*items*/ 1) {\n\t\t\t\t\t\ttransition_in(if_block, 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif_block = create_if_block(ctx);\n\t\t\t\t\tif_block.c();\n\t\t\t\t\ttransition_in(if_block, 1);\n\t\t\t\t\tif_block.m(if_block_anchor.parentNode, if_block_anchor);\n\t\t\t\t}\n\t\t\t} else if (if_block) {\n\t\t\t\tgroup_outros();\n\n\t\t\t\ttransition_out(if_block, 1, 1, () => {\n\t\t\t\t\tif_block = null;\n\t\t\t\t});\n\n\t\t\t\tcheck_outros();\n\t\t\t}\n\t\t},\n\t\ti(local) {\n\t\t\tif (current) return;\n\t\t\ttransition_in(if_block);\n\t\t\tcurrent = true;\n\t\t},\n\t\to(local) {\n\t\t\ttransition_out(if_block);\n\t\t\tcurrent = false;\n\t\t},\n\t\td(detaching) {\n\t\t\tif (if_block) if_block.d(detaching);\n\t\t\tif (detaching) detach(if_block_anchor);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet $zoomed;\n\tlet { items = undefined } = $$props;\n\tlet { target = undefined } = $$props;\n\tconst html = document.documentElement;\n\n\t/** index of current active item */\n\tlet position;\n\n\t/** options passed via open method */\n\tlet opts;\n\n\t/** bool tracks open state */\n\tlet isOpen;\n\n\t/** dom element to restore focus to on close */\n\tlet focusTrigger;\n\n\t/** bool true if container width < 769 */\n\tlet smallScreen;\n\n\t/** bool value of inline option passed in open method */\n\tlet inline;\n\n\t/** when position is set */\n\tlet movement;\n\n\t/** stores target on pointerdown (ref for overlay close) */\n\tlet clickedEl;\n\n\t/** active item object */\n\tlet activeItem;\n\n\t/** returns true if `activeItem` is html */\n\tconst activeItemIsHtml = () => !activeItem.img && !activeItem.sources && !activeItem.iframe;\n\n\t/** function set by child component to run when container resized */\n\tlet resizeFunc;\n\n\t/** used by child components to set resize function */\n\tconst setResizeFunc = fn => resizeFunc = fn;\n\n\t/** container element (el) / width (w) / height (h) */\n\tconst container = {};\n\n\t// /** true if image is currently zoomed past starting size */\n\tconst zoomed = writable(0);\n\n\tcomponent_subscribe($$self, zoomed, value => $$invalidate(10, $zoomed = value));\n\n\tconst open = options => {\n\t\t$$invalidate(5, opts = options);\n\t\t$$invalidate(8, inline = opts.inline);\n\n\t\t// add class to hide scroll if not inline gallery\n\t\tif (!inline && html.scrollHeight > html.clientHeight) {\n\t\t\thtml.classList.add('bp-lock');\n\t\t}\n\n\t\t// update trigger element to restore focus\n\t\tfocusTrigger = document.activeElement;\n\n\t\t$$invalidate(19, container.w = target.offsetWidth, container);\n\n\t\t$$invalidate(\n\t\t\t19,\n\t\t\tcontainer.h = target === document.body\n\t\t\t? globalThis.innerHeight\n\t\t\t: target.clientHeight,\n\t\t\tcontainer\n\t\t);\n\n\t\t$$invalidate(7, smallScreen = container.w < 769);\n\t\t$$invalidate(4, position = opts.position || 0);\n\n\t\t// set items\n\t\t$$invalidate(0, items = []);\n\n\t\tfor (let i = 0; i < (opts.items.length || 1); i++) {\n\t\t\tlet item = opts.items[i] || opts.items;\n\n\t\t\tif ('dataset' in item) {\n\t\t\t\titems.push({ element: item, i, ...item.dataset });\n\t\t\t} else {\n\t\t\t\titem.i = i;\n\t\t\t\titems.push(item);\n\n\t\t\t\t// set item to element for position check below\n\t\t\t\titem = item.element;\n\t\t\t}\n\n\t\t\t// override gallery position if needed\n\t\t\tif (opts.el && opts.el === item) {\n\t\t\t\t$$invalidate(4, position = i);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst close = () => {\n\t\topts.onClose?.(container.el, activeItem);\n\t\tclosing.set(true);\n\t\t$$invalidate(0, items = null);\n\n\t\t// restore focus to trigger element\n\t\tfocusTrigger?.focus({ preventScroll: true });\n\t};\n\n\tconst prev = () => setPosition(position - 1);\n\tconst next = () => setPosition(position + 1);\n\n\tconst setPosition = index => {\n\t\tmovement = index - position;\n\t\t$$invalidate(4, position = getNextPosition(index));\n\t};\n\n\t/**\n * returns next gallery position (looped if neccessary)\n * @param {number} index\n */\n\tconst getNextPosition = index => (index + items.length) % items.length;\n\n\tconst onKeydown = e => {\n\t\tconst { key, shiftKey } = e;\n\n\t\tif (key === 'Escape') {\n\t\t\t!opts.noClose && close();\n\t\t} else if (key === 'ArrowRight') {\n\t\t\tnext();\n\t\t} else if (key === 'ArrowLeft') {\n\t\t\tprev();\n\t\t} else if (key === 'Tab') {\n\t\t\t// trap focus on tab press\n\t\t\tconst { activeElement } = document;\n\n\t\t\t// allow browser to handle tab into video controls only\n\t\t\tif (shiftKey || !activeElement.controls) {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst { focusWrap = container.el } = opts;\n\t\t\t\tconst tabbable = [...focusWrap.querySelectorAll('*')].filter(node => node.tabIndex >= 0);\n\t\t\t\tlet index = tabbable.indexOf(activeElement);\n\t\t\t\tindex += tabbable.length + (shiftKey ? -1 : 1);\n\t\t\t\ttabbable[index % tabbable.length].focus();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n * calculate dimensions of height / width resized to fit within container\n * @param {object} item object with height / width properties\n * @returns {Array} [width: number, height: number]\n */\n\tconst calculateDimensions = ({ width = 1920, height = 1080 }) => {\n\t\tconst { scale = 0.99 } = opts;\n\t\tconst ratio = Math.min(1, container.w / width * scale, container.h / height * scale);\n\n\t\t// round number so we don't use a float as the sizes attribute\n\t\treturn [Math.round(width * ratio), Math.round(height * ratio)];\n\t};\n\n\t/** preloads images for previous and next items in gallery */\n\tconst preloadNext = () => {\n\t\tif (items) {\n\t\t\tconst nextItem = items[getNextPosition(position + 1)];\n\t\t\tconst prevItem = items[getNextPosition(position - 1)];\n\t\t\t!nextItem.preload && loadImage(nextItem);\n\t\t\t!prevItem.preload && loadImage(prevItem);\n\t\t}\n\t};\n\n\t/** loads / decodes image for item */\n\tconst loadImage = item => {\n\t\tif (item.img) {\n\t\t\tconst image = document.createElement('img');\n\t\t\timage.sizes = opts.sizes || `${calculateDimensions(item)[0]}px`;\n\t\t\timage.srcset = item.img;\n\t\t\titem.preload = true;\n\n\t\t\treturn image.decode().catch(error => {\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t};\n\n\t/** svelte transition to control opening / changing */\n\tconst mediaTransition = (node, isEntering) => {\n\t\tif (!isOpen || !items) {\n\t\t\t// entrance / exit transition\n\t\t\t$$invalidate(18, isOpen = isEntering);\n\n\t\t\treturn opts.intro\n\t\t\t? fly(node, { y: isEntering ? 10 : -10 })\n\t\t\t: scaleIn(node);\n\t\t}\n\n\t\t// forward / backward transition\n\t\treturn fly(node, {\n\t\t\tx: (movement > 0 ? 20 : -20) * (isEntering ? 1 : -1),\n\t\t\tduration: 250\n\t\t});\n\t};\n\n\t/** custom svelte transition for entrance zoom */\n\tconst scaleIn = node => {\n\t\tlet dimensions;\n\n\t\tif (activeItemIsHtml()) {\n\t\t\tconst bpItem = node.firstChild.firstChild;\n\t\t\tdimensions = [bpItem.clientWidth, bpItem.clientHeight];\n\t\t} else {\n\t\t\tdimensions = calculateDimensions(activeItem);\n\t\t}\n\n\t\t// rect is bounding rect of trigger element\n\t\tconst rect = (activeItem.element || focusTrigger).getBoundingClientRect();\n\n\t\tconst leftOffset = rect.left - (container.w - rect.width) / 2;\n\t\tconst centerTop = rect.top - (container.h - rect.height) / 2;\n\t\tconst scaleWidth = rect.width / dimensions[0];\n\t\tconst scaleHeight = rect.height / dimensions[1];\n\n\t\treturn {\n\t\t\tduration: 480,\n\t\t\teasing: cubicOut,\n\t\t\tcss: (t, u) => {\n\t\t\t\treturn `transform:translate3d(${leftOffset * u}px, ${centerTop * u}px, 0) scale3d(${scaleWidth + t * (1 - scaleWidth)}, ${scaleHeight + t * (1 - scaleHeight)}, 1)`;\n\t\t\t}\n\t\t};\n\t};\n\n\t/** provides object w/ needed funcs / data to child components */\n\tconst getChildProps = () => ({\n\t\tactiveItem,\n\t\tcalculateDimensions,\n\t\tloadImage,\n\t\tpreloadNext,\n\t\topts,\n\t\tprev,\n\t\tnext,\n\t\tclose,\n\t\tsetResizeFunc,\n\t\tzoomed,\n\t\tcontainer\n\t});\n\n\t/** code to run on mount / destroy */\n\tconst containerActions = node => {\n\t\t$$invalidate(19, container.el = node, container);\n\t\tlet roActive;\n\t\topts.onOpen?.(container.el, activeItem);\n\n\t\t// don't use keyboard events for inline galleries\n\t\tif (!inline) {\n\t\t\tglobalThis.addEventListener('keydown', onKeydown);\n\t\t}\n\n\t\t// set up resize observer\n\t\tconst ro = new ResizeObserver(entries => {\n\t\t\t\t// use roActive to avoid running on initial open\n\t\t\t\tif (roActive) {\n\t\t\t\t\t$$invalidate(19, container.w = entries[0].contentRect.width, container);\n\t\t\t\t\t$$invalidate(19, container.h = entries[0].contentRect.height, container);\n\t\t\t\t\t$$invalidate(7, smallScreen = container.w < 769);\n\n\t\t\t\t\t// run child component resize function\n\t\t\t\t\tif (!activeItemIsHtml()) {\n\t\t\t\t\t\tresizeFunc?.();\n\t\t\t\t\t}\n\n\t\t\t\t\t// run user defined onResize function\n\t\t\t\t\topts.onResize?.(container.el, activeItem);\n\t\t\t\t}\n\n\t\t\t\troActive = true;\n\t\t\t});\n\n\t\tro.observe(node);\n\n\t\treturn {\n\t\t\tdestroy() {\n\t\t\t\tro.disconnect();\n\t\t\t\tglobalThis.removeEventListener('keydown', onKeydown);\n\t\t\t\tclosing.set(false);\n\n\t\t\t\t// remove class hiding scroll\n\t\t\t\thtml.classList.remove('bp-lock');\n\n\t\t\t\topts.onClosed?.();\n\t\t\t}\n\t\t};\n\t};\n\n\tconst pointerdown_handler = e => $$invalidate(9, clickedEl = e.target);\n\n\tconst pointerup_handler = function (e) {\n\t\t// only close if left click on self and not dragged\n\t\tif (e.button !== 2 && e.target === this && clickedEl === this) {\n\t\t\t!opts.noClose && close();\n\t\t}\n\t};\n\n\t$$self.$$set = $$props => {\n\t\tif ('items' in $$props) $$invalidate(0, items = $$props.items);\n\t\tif ('target' in $$props) $$invalidate(15, target = $$props.target);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[0] & /*items, position, isOpen, opts, container, activeItem*/ 786545) {\n\t\t\tif (items) {\n\t\t\t\t// update active item when position changes\n\t\t\t\t$$invalidate(6, activeItem = items[position]);\n\n\t\t\t\tif (isOpen) {\n\t\t\t\t\t// run onUpdate when items updated\n\t\t\t\t\topts.onUpdate?.(container.el, activeItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\titems,\n\t\tclose,\n\t\tprev,\n\t\tnext,\n\t\tposition,\n\t\topts,\n\t\tactiveItem,\n\t\tsmallScreen,\n\t\tinline,\n\t\tclickedEl,\n\t\t$zoomed,\n\t\tzoomed,\n\t\tmediaTransition,\n\t\tgetChildProps,\n\t\tcontainerActions,\n\t\ttarget,\n\t\topen,\n\t\tsetPosition,\n\t\tisOpen,\n\t\tcontainer,\n\t\tpointerdown_handler,\n\t\tpointerup_handler\n\t];\n}\n\nclass Bigger_picture extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tnot_equal,\n\t\t\t{\n\t\t\t\titems: 0,\n\t\t\t\ttarget: 15,\n\t\t\t\topen: 16,\n\t\t\t\tclose: 1,\n\t\t\t\tprev: 2,\n\t\t\t\tnext: 3,\n\t\t\t\tsetPosition: 17\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1]\n\t\t);\n\t}\n\n\tget items() {\n\t\treturn this.$$.ctx[0];\n\t}\n\n\n\n\tget target() {\n\t\treturn this.$$.ctx[15];\n\t}\n\n\n\n\tget open() {\n\t\treturn this.$$.ctx[16];\n\t}\n\n\tget close() {\n\t\treturn this.$$.ctx[1];\n\t}\n\n\tget prev() {\n\t\treturn this.$$.ctx[2];\n\t}\n\n\tget next() {\n\t\treturn this.$$.ctx[3];\n\t}\n\n\tget setPosition() {\n\t\treturn this.$$.ctx[17];\n\t}\n}\n\n/**\n * Initializes BiggerPicture\n * @param {{target: HTMLElement}} options\n * @returns BiggerPicture instance\n */\nfunction biggerPicture (options) {\n\treturn new Bigger_picture({\n\t\t...options,\n\t\tprops: options,\n\t})\n}\n\nexport { biggerPicture as default };\n","// Auto-generated from dist/bigger-picture.css\nconst bpCss = \"@keyframes bp-fadein {\\n from {\\n opacity: 0.01;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n@keyframes bp-bar {\\n from {\\n transform: translateX(-100%);\\n }\\n to {\\n transform: translateX(0);\\n }\\n}\\n@keyframes bp-o {\\n from {\\n transform: rotate(0deg);\\n }\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.bp-wrap {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n z-index: 999;\\n /* If you're mounting on a portion of the screen and need visible\\n overflow on .bp-wrap, change contain to \\\"layout\\\" on that instance */\\n contain: strict;\\n touch-action: none;\\n -webkit-tap-highlight-color: transparent;\\n}\\n.bp-wrap > div:first-child {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.75);\\n animation: bp-fadein 0.48s cubic-bezier(0.215, 0.61, 0.355, 1);\\n}\\n\\n.bp-vid audio {\\n position: absolute;\\n left: 14px;\\n width: calc(100% - 28px);\\n bottom: 14px;\\n height: 50px;\\n}\\n\\n.bp-inner {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n display: flex;\\n}\\n\\n.bp-html {\\n display: contents;\\n}\\n.bp-html > :first-child {\\n margin: auto;\\n}\\n\\n.bp-img-wrap {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n contain: strict;\\n}\\n.bp-img-wrap .bp-canzoom {\\n cursor: zoom-in;\\n}\\n.bp-img-wrap .bp-drag {\\n cursor: grabbing;\\n}\\n\\n.bp-close {\\n contain: layout size;\\n}\\n\\n.bp-img {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n user-select: none;\\n background-size: 100% 100%;\\n}\\n.bp-img img,\\n.bp-img div {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.bp-img .bp-o {\\n display: none;\\n}\\n\\n.bp-zoomed .bp-img:not(.bp-drag) {\\n cursor: grab;\\n}\\n.bp-zoomed .bp-cap {\\n opacity: 0;\\n animation: none !important;\\n}\\n\\n.bp-zoomed.bp-small .bp-controls {\\n opacity: 0;\\n}\\n.bp-zoomed.bp-small .bp-controls button {\\n pointer-events: none;\\n}\\n\\n.bp-controls {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n text-align: left;\\n transition: opacity 0.3s;\\n animation: bp-fadein 0.3s;\\n}\\n.bp-controls button {\\n pointer-events: auto;\\n cursor: pointer;\\n position: absolute;\\n border: 0;\\n background: rgba(0, 0, 0, 0.15);\\n opacity: 0.9;\\n transition: all 0.1s;\\n contain: content;\\n}\\n.bp-controls button:hover {\\n background-color: rgba(0, 0, 0, 0.2);\\n opacity: 1;\\n}\\n.bp-controls svg {\\n fill: #fff;\\n}\\n\\n.bp-count {\\n position: absolute;\\n color: rgba(255, 255, 255, 0.9);\\n line-height: 1;\\n margin: 16px;\\n height: 50px;\\n width: 100px;\\n}\\n\\n.bp-prev,\\n.bp-next {\\n top: 50%;\\n right: 0;\\n margin-top: -32px;\\n height: 64px;\\n width: 58px;\\n border-radius: 3px 0 0 3px;\\n}\\n.bp-prev:hover:before,\\n.bp-next:hover:before {\\n transform: translateX(-2px);\\n}\\n.bp-prev:before,\\n.bp-next:before {\\n content: url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z'/%3E%3C/svg%3E\\\");\\n position: absolute;\\n left: 7px;\\n top: 9px;\\n width: 46px;\\n transition: all 0.2s;\\n}\\n\\n.bp-prev {\\n right: auto;\\n left: 0;\\n transform: scalex(-1);\\n}\\n\\n.bp-x {\\n top: 0;\\n right: 0;\\n height: 55px;\\n width: 58px;\\n border-radius: 0 0 0 3px;\\n}\\n.bp-x:before {\\n content: url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23fff'%3E%3Cpath d='M24 10l-2-2-6 6-6-6-2 2 6 6-6 6 2 2 6-6 6 6 2-2-6-6z'/%3E%3C/svg%3E\\\");\\n position: absolute;\\n width: 37px;\\n top: 8px;\\n right: 10px;\\n}\\n\\n.bp-if,\\n.bp-vid {\\n position: relative;\\n margin: auto;\\n background: #000;\\n background-size: 100% 100%;\\n}\\n.bp-if iframe,\\n.bp-if video,\\n.bp-if div,\\n.bp-vid iframe,\\n.bp-vid video,\\n.bp-vid div {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n border: 0;\\n}\\n\\n.bp-load {\\n display: flex;\\n background-size: 100% 100%;\\n overflow: hidden;\\n z-index: 1;\\n}\\n\\n.bp-bar {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 3px;\\n width: 100%;\\n transform: translateX(-100%);\\n background: rgba(255, 255, 255, 0.9);\\n border-radius: 0 3px 3px 0;\\n animation: bp-bar 4s both;\\n}\\n\\n.bp-o,\\n.bp-o:after {\\n border-radius: 50%;\\n width: 90px;\\n height: 90px;\\n}\\n\\n.bp-o {\\n margin: auto;\\n border: 10px solid rgba(255, 255, 255, 0.2);\\n border-left-color: rgba(255, 255, 255, 0.9);\\n animation: bp-o 1s infinite linear;\\n}\\n\\n.bp-cap {\\n position: absolute;\\n bottom: 2%;\\n background: rgba(9, 9, 9, 0.8);\\n color: rgba(255, 255, 255, 0.9);\\n border-radius: 4px;\\n max-width: 95%;\\n line-height: 1.3;\\n padding: 0.6em 1.2em;\\n left: 50%;\\n transform: translateX(-50%);\\n width: fit-content;\\n width: -moz-fit-content;\\n display: table;\\n transition: opacity 0.3s;\\n animation: bp-fadein 0.2s;\\n}\\n.bp-cap a {\\n color: inherit;\\n}\\n\\n.bp-inline {\\n position: absolute;\\n}\\n\\n.bp-lock {\\n overflow-y: hidden;\\n}\\n.bp-lock body {\\n overflow: scroll;\\n}\\n\\n.bp-noclose .bp-x {\\n display: none;\\n}\\n.bp-noclose:not(.bp-zoomed) {\\n touch-action: pan-y;\\n}\\n.bp-noclose:not(.bp-zoomed) .bp-img-wrap {\\n cursor: zoom-in;\\n}\\n\\n@media (prefers-reduced-motion) {\\n .bp-wrap * {\\n animation-duration: 0s !important;\\n }\\n}\\n@media (max-width: 500px) {\\n .bp-x {\\n height: 47px;\\n width: 47px;\\n }\\n .bp-x:before {\\n width: 34px;\\n top: 6px;\\n right: 6px;\\n }\\n .bp-prev,\\n .bp-next {\\n margin-top: -27px;\\n height: 54px;\\n width: 45px;\\n }\\n .bp-prev:before,\\n .bp-next:before {\\n top: 7px;\\n left: 2px;\\n width: 43px;\\n }\\n .bp-o,\\n .bp-o:after {\\n border-width: 6px;\\n width: 60px;\\n height: 60px;\\n }\\n .bp-count {\\n margin: 12px 10px;\\n }\\n}\\n\";\n\nexport default bpCss;\n","import BiggerPicture from 'bigger-picture';\nimport bpCss from 'bigger-picture/css-text';\nconst BP_STYLES_ID = 'cmmc-bigger-picture-styles';\nlet bpInstance = null;\nlet activeBackHandler = null;\nconst DEFAULT_MEDIA_WIDTH = 1920;\nconst DEFAULT_MEDIA_HEIGHT = 1080;\nfunction ensureStyles() {\n const existing = document.getElementById(BP_STYLES_ID);\n if (existing && existing.tagName.toLowerCase() !== 'style') {\n existing.remove();\n }\n const style = document.getElementById(BP_STYLES_ID);\n if (style) {\n return;\n }\n const styleEl = document.createElement('style');\n styleEl.id = BP_STYLES_ID;\n styleEl.textContent = `${bpCss}\n .bp-wrap,\n .bp-wrap * {\n animation-duration: 0ms !important;\n transition-duration: 0ms !important;\n transition-delay: 0ms !important;\n }\n .bp-wrap {\n --cmmc-safe-top-extra: 0px;\n --cmmc-safe-bottom-extra: 0px;\n }\n .bp-wrap > div:first-child {\n background: #000 !important;\n }\n .bp-x {\n top: env(safe-area-inset-top) !important;\n }\n .bp-img-wrap {\n top: calc(env(safe-area-inset-top) + var(--cmmc-safe-top-extra)) !important;\n bottom: calc(env(safe-area-inset-bottom) + var(--cmmc-safe-bottom-extra)) !important;\n height: auto !important;\n }\n .bp-vid,\n .bp-if {\n max-height: calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--cmmc-safe-top-extra) - var(--cmmc-safe-bottom-extra)) !important;\n margin-top: calc(env(safe-area-inset-top) + var(--cmmc-safe-top-extra)) !important;\n margin-bottom: calc(env(safe-area-inset-bottom) + var(--cmmc-safe-bottom-extra)) !important;\n }\n .bp-controls .cmmc-bp-edit {\n position: absolute;\n top: env(safe-area-inset-top);\n left: 0;\n z-index: 10;\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n color: #fff;\n padding: 0;\n -webkit-tap-highlight-color: transparent;\n }\n .bp-controls .cmmc-bp-edit:hover {\n background: none;\n }\n .bp-controls .cmmc-bp-edit svg {\n filter: drop-shadow(0 1px 3px rgba(0,0,0,0.6));\n }\n `;\n document.head.appendChild(styleEl);\n}\nfunction getInstance() {\n if (bpInstance) {\n return bpInstance;\n }\n bpInstance = BiggerPicture({\n target: document.body,\n });\n return bpInstance;\n}\nfunction getMimeType(src) {\n const normalized = src.toLowerCase();\n if (normalized.endsWith('.webm'))\n return 'video/webm';\n if (normalized.endsWith('.mov'))\n return 'video/quicktime';\n return 'video/mp4';\n}\nfunction readSafeAreaInset(property) {\n const probe = document.createElement('div');\n probe.style.position = 'fixed';\n probe.style.visibility = 'hidden';\n probe.style.pointerEvents = 'none';\n probe.style.zIndex = '-1';\n if (property === 'top') {\n probe.style.top = '0';\n probe.style.paddingTop = 'env(safe-area-inset-top)';\n }\n else {\n probe.style.bottom = '0';\n probe.style.paddingBottom = 'env(safe-area-inset-bottom)';\n }\n document.body.appendChild(probe);\n const computed = window.getComputedStyle(probe);\n const raw = property === 'top' ? computed.paddingTop : computed.paddingBottom;\n probe.remove();\n const parsed = Number.parseFloat(raw);\n return Number.isFinite(parsed) ? parsed : 0;\n}\nfunction applyDynamicSafeArea(container) {\n const closeButton = container.querySelector('.bp-x');\n const media = container.querySelector('.bp-vid, .bp-if, .bp-img');\n if (!closeButton || !media) {\n container.style.setProperty('--cmmc-safe-top-extra', '0px');\n container.style.setProperty('--cmmc-safe-bottom-extra', '0px');\n return;\n }\n const closeRect = closeButton.getBoundingClientRect();\n const mediaRect = media.getBoundingClientRect();\n const safeBottom = readSafeAreaInset('bottom');\n const topOverlap = Math.max(0, closeRect.bottom - mediaRect.top);\n const bottomLimit = window.innerHeight - safeBottom;\n const bottomOverlap = Math.max(0, mediaRect.bottom - bottomLimit);\n container.style.setProperty('--cmmc-safe-top-extra', `${topOverlap}px`);\n container.style.setProperty('--cmmc-safe-bottom-extra', `${bottomOverlap}px`);\n}\nfunction getImageDimensions(src) {\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n if (img.naturalWidth > 0 && img.naturalHeight > 0) {\n resolve({ width: img.naturalWidth, height: img.naturalHeight });\n }\n else {\n resolve(null);\n }\n };\n img.onerror = () => resolve(null);\n img.src = src;\n });\n}\nfunction getVideoDimensions(src) {\n return new Promise((resolve) => {\n const video = document.createElement('video');\n video.preload = 'metadata';\n video.playsInline = true;\n const cleanup = () => {\n video.removeAttribute('src');\n video.load();\n };\n video.onloadedmetadata = () => {\n const width = video.videoWidth;\n const height = video.videoHeight;\n cleanup();\n if (width > 0 && height > 0) {\n resolve({ width, height });\n }\n else {\n resolve(null);\n }\n };\n video.onerror = () => {\n cleanup();\n resolve(null);\n };\n video.src = src;\n });\n}\nfunction injectEditButton(container, onEdit) {\n const controls = container.querySelector('.bp-controls');\n if (!controls || controls.querySelector('.cmmc-bp-edit'))\n return;\n const btn = document.createElement('button');\n btn.className = 'cmmc-bp-edit';\n btn.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"/></svg>`;\n btn.onclick = (e) => {\n e.stopPropagation();\n getInstance().close();\n onEdit();\n };\n controls.appendChild(btn);\n}\nfunction registerBackHandler() {\n removeBackHandler();\n const handler = () => {\n getInstance().close();\n };\n activeBackHandler = handler;\n document.addEventListener('backbutton', handler);\n}\nfunction removeBackHandler() {\n if (activeBackHandler) {\n document.removeEventListener('backbutton', activeBackHandler);\n activeBackHandler = null;\n }\n}\nexport function openImagePreview(src, thumb, onEdit) {\n void (async () => {\n var _a, _b;\n ensureStyles();\n const dimensions = await getImageDimensions(src);\n const items = [\n {\n img: src,\n thumb: thumb || src,\n width: (_a = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _a !== void 0 ? _a : DEFAULT_MEDIA_WIDTH,\n height: (_b = dimensions === null || dimensions === void 0 ? void 0 : dimensions.height) !== null && _b !== void 0 ? _b : DEFAULT_MEDIA_HEIGHT,\n },\n ];\n getInstance().open({\n items,\n el: document.body,\n scale: 1,\n intro: 'fadeup',\n onOpen: (container) => {\n applyDynamicSafeArea(container);\n registerBackHandler();\n if (onEdit) {\n injectEditButton(container, onEdit);\n }\n },\n onClose: () => {\n removeBackHandler();\n },\n onResize: (container) => {\n if (!container)\n return;\n applyDynamicSafeArea(container);\n },\n });\n })();\n}\nexport function openVideoPreview(src, thumb) {\n void (async () => {\n var _a, _b;\n ensureStyles();\n const dimensions = await getVideoDimensions(src);\n const items = [\n {\n thumb: thumb || src,\n sources: [{ src, type: getMimeType(src) }],\n width: (_a = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _a !== void 0 ? _a : DEFAULT_MEDIA_WIDTH,\n height: (_b = dimensions === null || dimensions === void 0 ? void 0 : dimensions.height) !== null && _b !== void 0 ? _b : DEFAULT_MEDIA_HEIGHT,\n },\n ];\n getInstance().open({\n items,\n el: document.body,\n scale: 1,\n intro: 'fadeup',\n onOpen: (container) => {\n applyDynamicSafeArea(container);\n registerBackHandler();\n },\n onClose: () => {\n removeBackHandler();\n },\n onResize: (container) => {\n if (!container)\n return;\n applyDynamicSafeArea(container);\n },\n });\n })();\n}\n//# sourceMappingURL=media-viewer.js.map","/**\n * Controller for gallery operations and captured images\n */\nimport { Capacitor } from '@capacitor/core';\nimport { Filesystem, Directory } from '@capacitor/filesystem';\nimport { createThumbnailContainer } from '../ui/ui-factory';\nimport { openImagePreview, openVideoPreview } from '../ui/media-viewer';\n/**\n * Manages gallery operations and captured images\n */\nexport class GalleryController {\n constructor(galleryElement, thumbnailStyle = { width: '80px' }, onImageRemoved, onPhotoAdded, onPhotoUpdated, onPhotoRemoved, onVideoAdded, onVideoRemoved, onMediaCountChanged, enableEditing, markerJsLicenseKey) {\n this.images = [];\n this.videos = [];\n this.captureOrder = [];\n this.galleryElement = galleryElement;\n this.thumbnailStyle = thumbnailStyle;\n this.onImageRemoved = onImageRemoved || (() => { });\n this.onPhotoAdded = onPhotoAdded;\n this.onPhotoUpdated = onPhotoUpdated;\n this.onPhotoRemoved = onPhotoRemoved;\n this.onVideoAdded = onVideoAdded;\n this.onVideoRemoved = onVideoRemoved;\n this.onMediaCountChanged = onMediaCountChanged;\n this.enableEditing = enableEditing !== null && enableEditing !== void 0 ? enableEditing : false;\n this.markerJsLicenseKey = markerJsLicenseKey;\n }\n notifyMediaCountChanged() {\n var _a;\n (_a = this.onMediaCountChanged) === null || _a === void 0 ? void 0 : _a.call(this, this.images.length + this.videos.length);\n }\n /**\n * Adds a new image to the gallery\n */\n addImage(imageData) {\n console.log('Adding image to gallery:', imageData);\n const id = `img_${Date.now()}_${this.images.length}`;\n const newImage = { id, data: imageData };\n this.images.push(newImage);\n this.captureOrder.push({ type: 'image', item: newImage });\n this.renderGallery();\n this.scrollToLatest();\n this.notifyMediaCountChanged();\n // Trigger photoAdded callback with detailed logging\n const eventData = {\n imageId: id,\n image: imageData,\n totalCount: this.images.length\n };\n console.log('[CameraMultiCapture] Photo added to gallery:', {\n imageId: id,\n totalCount: this.images.length,\n imageUri: imageData.uri,\n timestamp: new Date().toISOString()\n });\n if (this.onPhotoAdded) {\n try {\n this.onPhotoAdded(eventData);\n console.log('[CameraMultiCapture] photoAdded callback executed successfully');\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to execute photoAdded callback:', error);\n }\n }\n else {\n console.log('[CameraMultiCapture] No photoAdded callback registered');\n }\n }\n /**\n * Removes an image from the gallery\n */\n removeImage(imageId) {\n const imageToRemove = this.images.find(img => img.id === imageId);\n this.images = this.images.filter(img => img.id !== imageId);\n this.captureOrder = this.captureOrder.filter(entry => !(entry.type === 'image' && entry.item.id === imageId));\n this.renderGallery();\n this.onImageRemoved(this.images);\n this.notifyMediaCountChanged();\n // Trigger photoRemoved callback with detailed logging\n const eventData = {\n imageId,\n totalCount: this.images.length\n };\n console.log('[CameraMultiCapture] Photo removed from gallery:', {\n removedImageId: imageId,\n remainingCount: this.images.length,\n removedImageUri: (imageToRemove === null || imageToRemove === void 0 ? void 0 : imageToRemove.data.uri) || 'unknown',\n timestamp: new Date().toISOString()\n });\n if (this.onPhotoRemoved) {\n try {\n this.onPhotoRemoved(eventData);\n console.log('[CameraMultiCapture] photoRemoved callback executed successfully');\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to execute photoRemoved callback:', error);\n }\n }\n else {\n console.log('[CameraMultiCapture] No photoRemoved callback registered');\n }\n }\n /**\n * Adds a new video to the gallery\n */\n addVideo(videoData) {\n const id = `vid_${Date.now()}_${this.videos.length}`;\n const newVideo = { id, data: videoData };\n this.videos.push(newVideo);\n this.captureOrder.push({ type: 'video', item: newVideo });\n this.renderGallery();\n this.scrollToLatest();\n this.notifyMediaCountChanged();\n // Trigger videoAdded callback\n const eventData = {\n videoId: id,\n video: videoData,\n totalCount: this.videos.length\n };\n console.log('[CameraMultiCapture] Video added to gallery:', {\n videoId: id,\n totalCount: this.videos.length,\n videoUri: videoData.uri,\n timestamp: new Date().toISOString()\n });\n if (this.onVideoAdded) {\n try {\n this.onVideoAdded(eventData);\n console.log('[CameraMultiCapture] videoAdded callback executed successfully');\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to execute videoAdded callback:', error);\n }\n }\n else {\n console.log('[CameraMultiCapture] No videoAdded callback registered');\n }\n }\n /**\n * Removes a video from the gallery\n */\n removeVideo(videoId) {\n const videoToRemove = this.videos.find(vid => vid.id === videoId);\n this.videos = this.videos.filter(vid => vid.id !== videoId);\n this.captureOrder = this.captureOrder.filter(entry => !(entry.type === 'video' && entry.item.id === videoId));\n this.renderGallery();\n this.notifyMediaCountChanged();\n // Trigger videoRemoved callback\n const eventData = {\n videoId,\n totalCount: this.videos.length\n };\n console.log('[CameraMultiCapture] Video removed from gallery:', {\n removedVideoId: videoId,\n remainingCount: this.videos.length,\n removedVideoUri: (videoToRemove === null || videoToRemove === void 0 ? void 0 : videoToRemove.data.uri) || 'unknown',\n timestamp: new Date().toISOString()\n });\n if (this.onVideoRemoved) {\n try {\n this.onVideoRemoved(eventData);\n console.log('[CameraMultiCapture] videoRemoved callback executed successfully');\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to execute videoRemoved callback:', error);\n }\n }\n else {\n console.log('[CameraMultiCapture] No videoRemoved callback registered');\n }\n }\n /**\n * Clears all images from the gallery\n */\n clearGallery() {\n // Store items to remove before clearing\n const imagesToRemove = [...this.images];\n const videosToRemove = [...this.videos];\n this.images = [];\n this.videos = [];\n this.captureOrder = [];\n this.renderGallery();\n this.onImageRemoved(this.images);\n this.notifyMediaCountChanged();\n console.log(`[CameraMultiCapture] Clearing gallery - triggering ${imagesToRemove.length} photoRemoved callbacks`);\n // Trigger photoRemoved callbacks for each cleared image\n if (this.onPhotoRemoved) {\n imagesToRemove.forEach((image, index) => {\n const eventData = {\n imageId: image.id,\n totalCount: 0 // All images are being cleared\n };\n console.log(`[CameraMultiCapture] Triggering photoRemoved callback ${index + 1}/${imagesToRemove.length}:`, {\n removedImageId: image.id,\n imageUri: image.data.uri,\n timestamp: new Date().toISOString()\n });\n try {\n this.onPhotoRemoved(eventData);\n console.log(`[CameraMultiCapture] photoRemoved callback ${index + 1} executed successfully`);\n }\n catch (error) {\n console.error(`[CameraMultiCapture] Failed to execute photoRemoved callback ${index + 1}:`, error);\n }\n });\n }\n else {\n console.log('[CameraMultiCapture] No photoRemoved callback registered for gallery clear');\n }\n // Trigger videoRemoved callbacks for each cleared video\n if (this.onVideoRemoved) {\n videosToRemove.forEach((video, index) => {\n const eventData = {\n videoId: video.id,\n totalCount: 0 // All videos are being cleared\n };\n console.log(`[CameraMultiCapture] Triggering videoRemoved callback ${index + 1}/${videosToRemove.length}:`, {\n removedVideoId: video.id,\n videoUri: video.data.uri,\n timestamp: new Date().toISOString()\n });\n try {\n this.onVideoRemoved(eventData);\n console.log(`[CameraMultiCapture] videoRemoved callback ${index + 1} executed successfully`);\n }\n catch (error) {\n console.error(`[CameraMultiCapture] Failed to execute videoRemoved callback ${index + 1}:`, error);\n }\n });\n }\n else {\n console.log('[CameraMultiCapture] No videoRemoved callback registered for gallery clear');\n }\n }\n /**\n * Gets all captured images\n */\n getImages() {\n return this.images;\n }\n /**\n * Gets all captured videos\n */\n getVideos() {\n return this.videos;\n }\n /**\n * Replaces an existing image's data (e.g. after annotation) and re-renders.\n */\n updateImage(imageId, newData) {\n const target = this.images.find(img => img.id === imageId);\n if (!target)\n return;\n target.data = newData;\n const entry = this.captureOrder.find(e => e.type === 'image' && e.item.id === imageId);\n if (entry && entry.type === 'image') {\n entry.item.data = newData;\n }\n this.renderGallery();\n }\n /**\n * Opens marker.js editor on the given image and replaces it on save.\n */\n async handleEditImage(image) {\n var _a, _b;\n const { openImageEditor, isEditorActive } = await import('../ui/image-editor');\n if (isEditorActive())\n return;\n const src = image.data.webPath || image.data.uri;\n try {\n const result = await openImageEditor(src, image.data.editorState, this.markerJsLicenseKey);\n if (!result)\n return;\n // Write annotated image to disk so uri is a native file path\n const fileName = `annotated_${Date.now()}.jpg`;\n const base64Data = result.dataUrl.split(',')[1];\n const savedFile = await Filesystem.writeFile({\n path: fileName,\n data: base64Data,\n directory: Directory.Cache,\n });\n const fileUri = savedFile.uri;\n const webPath = Capacitor.convertFileSrc(fileUri);\n const updatedData = Object.assign(Object.assign({}, image.data), { sourceUri: (_a = image.data.sourceUri) !== null && _a !== void 0 ? _a : image.data.uri, uri: fileUri, webPath, thumbnail: result.dataUrl, editorState: result.state });\n this.updateImage(image.id, updatedData);\n (_b = this.onPhotoUpdated) === null || _b === void 0 ? void 0 : _b.call(this, {\n imageId: image.id,\n image: updatedData,\n totalCount: this.images.length,\n });\n }\n catch (err) {\n console.error('[CameraMultiCapture] Image editor error:', err);\n }\n }\n /**\n * Renders the gallery in chronological capture order\n */\n renderGallery() {\n this.galleryElement.innerHTML = '';\n this.captureOrder.forEach(entry => {\n if (entry.type === 'image') {\n const image = entry.item;\n const src = image.data.webPath || image.data.uri;\n const thumbnailContainer = createThumbnailContainer(image.data.thumbnail, this.thumbnailStyle, () => this.removeImage(image.id), {\n onTap: () => openImagePreview(src, image.data.thumbnail, this.enableEditing ? () => this.handleEditImage(image) : undefined),\n });\n this.galleryElement.appendChild(thumbnailContainer);\n }\n else {\n const video = entry.item;\n const src = video.data.webPath || video.data.uri;\n const thumbnailContainer = createThumbnailContainer(video.data.thumbnail, this.thumbnailStyle, () => this.removeVideo(video.id), {\n isVideo: true,\n duration: video.data.duration,\n onTap: () => openVideoPreview(src, video.data.thumbnail),\n });\n this.galleryElement.appendChild(thumbnailContainer);\n }\n });\n }\n scrollToLatest() {\n if (this.captureOrder.length === 0)\n return;\n requestAnimationFrame(() => {\n this.galleryElement.scrollTo({\n left: this.galleryElement.scrollWidth,\n behavior: 'smooth'\n });\n });\n }\n}\n//# sourceMappingURL=gallery-controller.js.map","/**\n * Default SVG icons for camera controls\n */\nexport const defaultIcons = {\n captureIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"currentColor\"/></svg>`,\n doneIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z\" fill=\"currentColor\"/></svg>`,\n cancelIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\" fill=\"currentColor\"/></svg>`,\n switchCameraIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 11.5V13H9v2.5L5.5 12 9 8.5V11h6V8.5l3.5 3.5-3.5 3.5z\" fill=\"currentColor\"/></svg>`,\n zoomIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" fill=\"currentColor\"/><path d=\"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z\" fill=\"currentColor\"/></svg>`,\n flashOffIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M17 10h-4l3-8H7v11h3v9l7-12zm-7-8V4h2.17l-2.17 6H8.83L10 2z\" fill=\"currentColor\"/><path d=\"M2.81 2.81L1.39 4.22l6.39 6.39H7v11h3v9l1.68-2.9 9.12 9.12 1.41-1.41L2.81 2.81z\" fill=\"currentColor\"/></svg>`,\n flashOnIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M7 2v11h3v9l7-12h-4l3-8z\" fill=\"currentColor\"/></svg>`,\n flashAutoIcon: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M7 2v11h3v9l7-12h-4l3-8z\" fill=\"currentColor\"/><text x=\"12\" y=\"20\" text-anchor=\"middle\" font-size=\"8\" font-weight=\"bold\" fill=\"currentColor\">A</text></svg>`,\n torchOffIcon: `<svg width=\"194px\" height=\"194px\" viewBox=\"0 0 194 194\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Group 2</title>\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"Group-2\" transform=\"translate(0.000000, 0.805826)\" fill=\"currentColor\">\n <path d=\"M87.7530483,65.2720779 L127.351028,104.870058 L48.1550686,184.066017 L8.55708883,144.468037 L87.7530483,65.2720779 Z M92.9246212,94.2842712 C89.8004269,91.1600769 84.735107,91.1600769 81.6109127,94.2842712 L81.6109127,94.2842712 L63.9332432,111.961941 C60.8090488,115.086135 60.8090488,120.151455 63.9332432,123.275649 L63.9332432,123.275649 L68.8829906,128.225397 C72.007185,131.349591 77.0725048,131.349591 80.1966991,128.225397 L80.1966991,128.225397 L97.8743687,110.547727 C100.998563,107.423533 100.998563,102.358213 97.8743687,99.2340187 L97.8743687,99.2340187 Z\" id=\"Combined-Shape\"></path>\n <rect id=\"Rectangle\" transform=\"translate(149.500000, 44.194174) rotate(-45.000000) translate(-149.500000, -44.194174) \" x=\"135\" y=\"-3.80582618\" width=\"29\" height=\"96\"></rect>\n <polygon id=\"Polygon\" transform=\"translate(122.916857, 69.909099) rotate(45.000000) translate(-122.916857, -69.909099) \" points=\"122.916857 52.6185734 168.416857 52.409099 151.037404 87.409099 94.7963109 87.409099 77.4168574 52.409099\"></polygon>\n <circle id=\"Oval\" cx=\"27.75\" cy=\"164.944174\" r=\"27.75\"></circle>\n </g>\n </g>\n </svg>`,\n torchOnIcon: `<svg width=\"223px\" height=\"223px\" viewBox=\"0 0 223 223\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Group 3</title>\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"Group-3\" transform=\"translate(0.000000, 0.614339)\" fill=\"currentColor\">\n <g id=\"Group-2\" transform=\"translate(0.000000, 29.191487)\">\n <path d=\"M87.7530483,65.2720779 L127.351028,104.870058 L48.1550686,184.066017 L8.55708883,144.468037 L87.7530483,65.2720779 Z M92.9246212,94.2842712 C89.8004269,91.1600769 84.735107,91.1600769 81.6109127,94.2842712 L81.6109127,94.2842712 L63.9332432,111.961941 C60.8090488,115.086135 60.8090488,120.151455 63.9332432,123.275649 L63.9332432,123.275649 L68.8829906,128.225397 C72.007185,131.349591 77.0725048,131.349591 80.1966991,128.225397 L80.1966991,128.225397 L97.8743687,110.547727 C100.998563,107.423533 100.998563,102.358213 97.8743687,99.2340187 L97.8743687,99.2340187 Z\" id=\"Combined-Shape\"></path>\n <rect id=\"Rectangle\" transform=\"translate(149.500000, 44.194174) rotate(-45.000000) translate(-149.500000, -44.194174) \" x=\"135\" y=\"-3.80582618\" width=\"29\" height=\"96\"></rect>\n <polygon id=\"Polygon\" transform=\"translate(122.916857, 69.909099) rotate(45.000000) translate(-122.916857, -69.909099) \" points=\"122.916857 52.6185734 168.416857 52.409099 151.037404 87.409099 94.7963109 87.409099 77.4168574 52.409099\"></polygon>\n <circle id=\"Oval\" cx=\"27.75\" cy=\"164.944174\" r=\"27.75\"></circle>\n </g>\n <rect id=\"Rectangle\" transform=\"translate(162.530697, 22.848726) rotate(9.000000) translate(-162.530697, -22.848726) \" x=\"158.530697\" y=\"0.348725524\" width=\"8\" height=\"45\" rx=\"4\"></rect>\n <path d=\"M188.82359,10.0558323 C191.032729,10.0558323 192.82359,11.8466933 192.82359,14.0558323 L192.82359,53.0558323 C192.82359,55.2649713 191.032729,57.0558323 188.82359,57.0558323 C186.614451,57.0558323 184.82359,55.2649713 184.82359,53.0558323 L184.82359,25.3323417 L184.82359,25.3323417 L184.82359,14.0558323 C184.82359,11.8466933 186.614451,10.0558323 188.82359,10.0558323 Z\" id=\"Rectangle\" transform=\"translate(188.823590, 33.555832) rotate(45.000000) translate(-188.823590, -33.555832) \"></path>\n <path d=\"M199.327317,37.616767 C201.536456,37.616767 203.327317,39.407628 203.327317,41.616767 L203.327317,79.616767 C203.327317,81.825906 201.536456,83.616767 199.327317,83.616767 C197.118178,83.616767 195.327317,81.825906 195.327317,79.616767 L195.327317,52.5682443 L195.327317,52.5682443 L195.327317,41.616767 C195.327317,39.407628 197.118178,37.616767 199.327317,37.616767 Z\" id=\"Rectangle\" transform=\"translate(199.327317, 60.616767) rotate(83.000000) translate(-199.327317, -60.616767) \"></path>\n </g>\n </g>\n </svg>`,\n};\n/**\n * Default button style\n */\nexport const defaultButtonStyle = {\n radius: 30,\n backgroundColor: '#ffffff',\n color: '#000000',\n padding: '10px',\n size: 24\n};\n/**\n * Default button configurations\n */\nexport const defaultButtons = {\n capture: {\n icon: defaultIcons.captureIcon,\n style: {\n radius: 40,\n backgroundColor: '#ffffff',\n color: '#000000',\n padding: '12px',\n size: 32\n },\n position: 'center'\n },\n done: {\n icon: defaultIcons.doneIcon,\n style: {\n radius: 30,\n backgroundColor: '#28a745',\n color: '#ffffff',\n padding: '10px',\n size: 24\n }\n },\n cancel: {\n icon: defaultIcons.cancelIcon,\n style: {\n radius: 30,\n backgroundColor: '#dc3545',\n color: '#ffffff',\n padding: '10px',\n size: 24\n }\n },\n switchCamera: {\n icon: defaultIcons.switchCameraIcon,\n style: {\n radius: 30,\n backgroundColor: 'rgba(0,0,0,0.5)',\n color: '#ffffff',\n padding: '10px',\n size: 24\n },\n position: 'topRight'\n },\n torch: {\n offIcon: defaultIcons.torchOffIcon,\n onIcon: defaultIcons.torchOnIcon,\n style: {\n radius: 30,\n backgroundColor: 'rgba(0,0,0,0.5)',\n color: '#ffffff',\n padding: '10px',\n size: 24\n },\n position: 'topRight'\n },\n zoom: {\n icon: defaultIcons.zoomIcon,\n style: {\n radius: 30,\n backgroundColor: 'rgba(0,0,0,0.5)',\n color: '#ffffff',\n padding: '10px',\n size: 24\n },\n levels: [1, 2, 3, 4]\n },\n flash: {\n offIcon: defaultIcons.flashOffIcon,\n onIcon: defaultIcons.flashOnIcon,\n autoIcon: defaultIcons.flashAutoIcon,\n style: {\n radius: 30,\n backgroundColor: 'rgba(0,0,0,0.5)',\n color: '#ffffff',\n padding: '10px',\n size: 24\n },\n position: 'topLeft'\n }\n};\n//# sourceMappingURL=default-styles.js.map","/**\n * Creates and styles the overlay container\n */\nexport function createOverlayContainer(containerId) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Container element with ID '${containerId}' not found`);\n }\n // Make sure the container has position relative for proper positioning of child elements\n if (getComputedStyle(container).position === 'static') {\n container.style.position = 'relative';\n }\n const overlay = document.createElement('div');\n overlay.id = 'camera-overlay';\n Object.assign(overlay.style, {\n position: 'absolute',\n top: '0', left: '0', width: '100%', height: '100%',\n background: 'transparent',\n zIndex: '1',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n alignItems: 'center',\n padding: '10px',\n color: '#000',\n boxSizing: 'border-box'\n });\n container.appendChild(overlay);\n return overlay;\n}\n/**\n * Creates the position containers for UI elements\n */\nexport function createPositionContainers(overlay) {\n const positions = {\n topLeft: document.createElement('div'),\n topRight: document.createElement('div'),\n center: document.createElement('div'),\n bottomGrid: document.createElement('div'),\n zoomRow: document.createElement('div')\n };\n Object.assign(positions.topLeft.style, {\n position: 'absolute',\n top: '10px',\n left: '10px',\n display: 'flex',\n gap: '10px',\n zIndex: '2'\n });\n Object.assign(positions.topRight.style, {\n position: 'absolute',\n top: '10px',\n right: '10px',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n gap: '10px',\n zIndex: '2'\n });\n Object.assign(positions.center.style, {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'flex',\n gap: '10px',\n zIndex: '2'\n });\n Object.assign(positions.bottomGrid.style, {\n position: 'absolute',\n bottom: '20px',\n left: '0',\n width: '100%',\n display: 'grid',\n gridTemplateColumns: '1fr 1fr 1fr', // 3 equal columns\n alignItems: 'center',\n padding: '0 10px',\n boxSizing: 'border-box',\n zIndex: '2',\n height: '70px' // Fixed height to prevent overlap\n });\n Object.assign(positions.zoomRow.style, {\n position: 'absolute',\n bottom: '110px', // Increased distance from bottom grid\n left: '0',\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n gap: '10px',\n padding: '10px',\n boxSizing: 'border-box',\n zIndex: '2',\n height: '40px' // Fixed height for zoom row\n });\n Object.values(positions).forEach(posContainer => {\n overlay.appendChild(posContainer);\n });\n return positions;\n}\n/**\n * Creates the bottom grid cells\n */\nexport function createBottomGridCells(bottomGrid) {\n const cells = {\n left: document.createElement('div'),\n middle: document.createElement('div'),\n right: document.createElement('div')\n };\n Object.assign(cells.left.style, {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n });\n Object.assign(cells.middle.style, {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative'\n });\n Object.assign(cells.right.style, {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n });\n bottomGrid.appendChild(cells.left);\n bottomGrid.appendChild(cells.middle);\n bottomGrid.appendChild(cells.right);\n return cells;\n}\n/**\n * Creates the gallery container for thumbnails\n */\nexport function createGallery(overlay) {\n const gallery = document.createElement('div');\n Object.assign(gallery.style, {\n position: 'absolute',\n bottom: '160px',\n left: '0',\n width: '100%',\n display: 'flex',\n gap: '10px',\n padding: '10px',\n overflowX: 'auto',\n overflowY: 'hidden',\n whiteSpace: 'nowrap',\n justifyContent: 'center',\n zIndex: '2',\n scrollbarWidth: 'none',\n WebkitOverflowScrolling: 'touch',\n flexWrap: 'nowrap'\n });\n gallery.style.setProperty('-ms-overflow-style', 'none');\n // Function to update justify-content based on content overflow\n const updateJustification = () => {\n if (gallery.scrollWidth > gallery.clientWidth) {\n gallery.style.justifyContent = 'flex-start';\n }\n else {\n gallery.style.justifyContent = 'center';\n }\n };\n // Create a MutationObserver to watch for content changes\n const observer = new MutationObserver(updateJustification);\n observer.observe(gallery, { childList: true, subtree: true });\n // Also update on resize (with fallback for browsers without ResizeObserver)\n if (typeof window.ResizeObserver !== 'undefined') {\n const resizeObserver = new window.ResizeObserver(updateJustification);\n resizeObserver.observe(gallery);\n }\n else {\n // Fallback: use window resize event\n window.addEventListener('resize', updateJustification);\n }\n gallery.addEventListener('mouseenter', () => {\n gallery.style.overflow = 'auto';\n });\n gallery.addEventListener('mouseleave', () => {\n gallery.style.overflow = 'hidden';\n });\n overlay.appendChild(gallery);\n return gallery;\n}\n/**\n * Gets the position container based on the specified position\n */\nexport function getPositionContainer(positions, position) {\n switch (position) {\n case 'topLeft':\n return positions.topLeft;\n case 'topRight':\n return positions.topRight;\n case 'center':\n return positions.center;\n default:\n return positions.topRight; // Default fallback\n }\n}\n//# sourceMappingURL=layout-manager.js.map","/**\n * Encapsulates JavaScript pinch-to-zoom gesture handling for the camera overlay.\n */\nexport class PinchZoomHandler {\n constructor(cameraController, config, updateZoomSelection) {\n this.cameraController = cameraController;\n this.config = config;\n this.updateZoomSelection = updateZoomSelection;\n this.pinchElement = null;\n this.pinchStartDistance = 0;\n this.pinchStartZoom = 1;\n this.pinchMinZoom = 1;\n this.pinchMaxZoom = 1;\n this.pinchPresetLevels = [];\n this.isPinching = false;\n this.boundPinchStart = null;\n this.boundPinchMove = null;\n this.boundPinchEnd = null;\n }\n /**\n * Attach pinch handlers to the given container and initialise zoom ranges.\n */\n async attach(container) {\n var _a;\n try {\n const zoomInfo = await this.cameraController.getAvailableZoomLevels();\n this.pinchMinZoom = zoomInfo.minZoom;\n this.pinchMaxZoom = zoomInfo.maxZoom;\n this.pinchPresetLevels = ((_a = zoomInfo.presetLevels) === null || _a === void 0 ? void 0 : _a.length)\n ? zoomInfo.presetLevels\n : [zoomInfo.minZoom, 1, zoomInfo.maxZoom];\n }\n catch (_b) {\n this.pinchMinZoom = 1;\n this.pinchMaxZoom = 10;\n this.pinchPresetLevels = [1, 2, 3, 5, 10];\n }\n this.pinchElement = container;\n this.boundPinchStart = this.onPinchStart.bind(this);\n this.boundPinchMove = this.onPinchMove.bind(this);\n this.boundPinchEnd = this.onPinchEnd.bind(this);\n container.addEventListener('touchstart', this.boundPinchStart, { passive: true });\n container.addEventListener('touchmove', this.boundPinchMove, { passive: false });\n container.addEventListener('touchend', this.boundPinchEnd, { passive: true });\n container.addEventListener('touchcancel', this.boundPinchEnd, { passive: true });\n }\n /**\n * Detach pinch handlers and clear state.\n */\n detach() {\n const el = this.pinchElement;\n if (!el || !this.boundPinchStart || !this.boundPinchMove || !this.boundPinchEnd)\n return;\n el.removeEventListener('touchstart', this.boundPinchStart);\n el.removeEventListener('touchmove', this.boundPinchMove);\n el.removeEventListener('touchend', this.boundPinchEnd);\n el.removeEventListener('touchcancel', this.boundPinchEnd);\n this.pinchElement = null;\n this.boundPinchStart = null;\n this.boundPinchMove = null;\n this.boundPinchEnd = null;\n }\n getPinchDistance(touches) {\n if (touches.length < 2)\n return 0;\n const a = touches[0];\n const b = touches[1];\n return Math.hypot(b.clientX - a.clientX, b.clientY - a.clientY);\n }\n onPinchStart(e) {\n if (e.touches.length === 2) {\n this.isPinching = true;\n this.pinchStartDistance = this.getPinchDistance(e.touches);\n this.pinchStartZoom = this.cameraController.getCurrentZoom();\n }\n }\n onPinchMove(e) {\n if (e.touches.length !== 2 || !this.isPinching || this.pinchStartDistance <= 0)\n return;\n e.preventDefault();\n const dist = this.getPinchDistance(e.touches);\n const scale = dist / this.pinchStartDistance;\n let zoom = this.pinchStartZoom * scale;\n zoom = Math.max(this.pinchMinZoom, Math.min(this.pinchMaxZoom, zoom));\n this.cameraController.setZoom(zoom).catch((err) => console.warn('Set zoom failed', err));\n this.updateZoomSelection(zoom);\n }\n onPinchEnd(e) {\n var _a;\n if (e.touches.length >= 2)\n return;\n if (!this.isPinching)\n return;\n this.isPinching = false;\n this.pinchStartDistance = 0;\n const lockToNearest = ((_a = this.config.options.pinchToZoom) === null || _a === void 0 ? void 0 : _a.lockToNearestStep) === true;\n if (lockToNearest && this.pinchPresetLevels.length > 0) {\n const current = this.cameraController.getCurrentZoom();\n let nearest = this.pinchPresetLevels[0];\n let best = Math.abs(nearest - current);\n for (const level of this.pinchPresetLevels) {\n const d = Math.abs(level - current);\n if (d < best) {\n best = d;\n nearest = level;\n }\n }\n this.cameraController.setZoom(nearest).catch((err) => console.warn('Set zoom failed', err));\n this.updateZoomSelection(nearest);\n }\n else {\n // Even without snapping, move the highlight to the closest zoom button\n const current = this.cameraController.getCurrentZoom();\n this.updateZoomSelection(current);\n }\n }\n}\n//# sourceMappingURL=pinch-zoom-handler.js.map","/**\n * Binds capture button gestures:\n * - quick tap triggers photo capture\n * - hold for holdDelayMs triggers video recording start\n * - release stops active video recording\n */\nexport function bindCaptureGestures(captureBtn, handlers, holdDelayMs = 500) {\n let holdTimerId = null;\n let suppressNextClickAfterHold = false;\n // Prevent iOS from hijacking long-press touches. On newer iPhones (15+)\n // with Haptic Touch, without these properties iOS fires pointercancel or\n // pointerleave ~4 seconds into a hold, interrupting video recording.\n captureBtn.style.touchAction = 'none';\n captureBtn.style.webkitTouchCallout = 'none';\n captureBtn.style.webkitUserSelect = 'none';\n captureBtn.style.userSelect = 'none';\n const clearHoldTimer = () => {\n if (holdTimerId === null)\n return;\n clearTimeout(holdTimerId);\n holdTimerId = null;\n };\n const startHoldTimer = () => {\n clearHoldTimer();\n holdTimerId = window.setTimeout(async () => {\n suppressNextClickAfterHold = true;\n await handlers.onHoldStart();\n }, holdDelayMs);\n };\n const clickHandler = async () => {\n if (suppressNextClickAfterHold) {\n suppressNextClickAfterHold = false;\n return;\n }\n await handlers.onTap();\n };\n const releaseHandler = async () => {\n clearHoldTimer();\n await handlers.onHoldEnd();\n };\n captureBtn.addEventListener('click', clickHandler);\n if ('PointerEvent' in window) {\n const onPointerDown = (e) => {\n // Capture the pointer so the element keeps receiving events even if the\n // finger drifts slightly off the button. This prevents spurious\n // pointerleave events on iOS that would stop recording prematurely.\n captureBtn.setPointerCapture(e.pointerId);\n startHoldTimer();\n };\n captureBtn.addEventListener('pointerdown', onPointerDown);\n captureBtn.addEventListener('pointerup', releaseHandler);\n captureBtn.addEventListener('pointercancel', releaseHandler);\n return {\n detach: () => {\n clearHoldTimer();\n captureBtn.removeEventListener('click', clickHandler);\n captureBtn.removeEventListener('pointerdown', onPointerDown);\n captureBtn.removeEventListener('pointerup', releaseHandler);\n captureBtn.removeEventListener('pointercancel', releaseHandler);\n },\n };\n }\n // Touch/mouse fallback for browsers without PointerEvent\n const onTouchStart = (e) => {\n e.preventDefault();\n startHoldTimer();\n };\n captureBtn.addEventListener('touchstart', onTouchStart, { passive: false });\n captureBtn.addEventListener('touchend', releaseHandler);\n captureBtn.addEventListener('touchcancel', releaseHandler);\n captureBtn.addEventListener('mousedown', startHoldTimer);\n captureBtn.addEventListener('mouseup', releaseHandler);\n captureBtn.addEventListener('mouseleave', releaseHandler);\n return {\n detach: () => {\n clearHoldTimer();\n captureBtn.removeEventListener('click', clickHandler);\n captureBtn.removeEventListener('touchstart', onTouchStart);\n captureBtn.removeEventListener('touchend', releaseHandler);\n captureBtn.removeEventListener('touchcancel', releaseHandler);\n captureBtn.removeEventListener('mousedown', startHoldTimer);\n captureBtn.removeEventListener('mouseup', releaseHandler);\n captureBtn.removeEventListener('mouseleave', releaseHandler);\n },\n };\n}\n//# sourceMappingURL=capture-gesture-handler.js.map","/**\n * Overlay Manager - Main controller for camera overlay UI\n */\nimport { TorchState } from './definitions';\nimport { CameraController } from './controllers/camera-controller';\nimport { GalleryController } from './controllers/gallery-controller';\nimport { merge } from 'lodash';\nimport { defaultButtons } from './ui/default-styles';\nimport { createButton, createShotCounter, updateShotCounter, setButtonIcon } from './ui/ui-factory';\nimport { createOverlayContainer, createPositionContainers, createBottomGridCells, createGallery, } from './ui/layout-manager';\nimport { PinchZoomHandler } from './ui/pinch-zoom-handler';\nimport { bindCaptureGestures } from './ui/capture-gesture-handler';\n/**\n * Main class to manage camera overlay UI\n */\nexport class OverlayManager {\n constructor(plugin, options) {\n this.overlayElement = null;\n this.galleryController = null;\n this.isActive = false;\n this.resolvePromise = null;\n this.bodyBackgroundColor = null;\n this.zoomContainer = null;\n this.zoomConfig = null;\n this.zoomButtonsList = [];\n this.zoomButtonLevels = [];\n this.shotCounter = null;\n this.shotCount = 0;\n this.torchButton = null;\n this.torchConfig = null;\n this.pinchHandler = null;\n this.isRecordingVideo = false;\n this.captureButton = null;\n this.captureGestureBinding = null;\n this.recordingIndicator = null;\n this.recordingTimerText = null;\n this.recordingStartedAt = 0;\n this.recordingIntervalId = null;\n this.boundOrientationHandler = null;\n this.options = options;\n this.cameraController = new CameraController(plugin, options);\n }\n /**\n * Emits photoAdded event using pure JavaScript events\n */\n emitPhotoAddedEvent(eventData) {\n try {\n const event = new CustomEvent('photoAdded', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit photoAdded event:', error);\n }\n }\n /**\n * Emits photoUpdated event using pure JavaScript events\n */\n emitPhotoUpdatedEvent(eventData) {\n try {\n const event = new CustomEvent('photoUpdated', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit photoUpdated event:', error);\n }\n }\n /**\n * Emits photoRemoved event using pure JavaScript events\n */\n emitPhotoRemovedEvent(eventData) {\n try {\n const event = new CustomEvent('photoRemoved', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit photoRemoved event:', error);\n }\n }\n /**\n * Emits videoRecordingStarted event using pure JavaScript events.\n */\n emitVideoRecordingStartedEvent(eventData) {\n try {\n const event = new CustomEvent('videoRecordingStarted', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit videoRecordingStarted event:', error);\n }\n }\n /**\n * Emits videoRecordingStopped event using pure JavaScript events.\n */\n emitVideoRecordingStoppedEvent(eventData) {\n try {\n const event = new CustomEvent('videoRecordingStopped', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit videoRecordingStopped event:', error);\n }\n }\n /**\n * Emits videoAdded event using pure JavaScript events.\n */\n emitVideoAddedEvent(eventData) {\n try {\n const event = new CustomEvent('videoAdded', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit videoAdded event:', error);\n }\n }\n /**\n * Emits videoRemoved event using pure JavaScript events.\n */\n emitVideoRemovedEvent(eventData) {\n try {\n const event = new CustomEvent('videoRemoved', { detail: eventData });\n window.dispatchEvent(event);\n }\n catch (error) {\n console.error('[CameraMultiCapture] Failed to emit videoRemoved event:', error);\n }\n }\n /**\n * Shows the camera overlay and returns captured images\n */\n async setup() {\n // Only allow one active overlay at a time\n if (this.isActive) {\n throw new Error('Camera overlay is already active');\n }\n this.isActive = true;\n return new Promise(async (resolve) => {\n var _a, _b;\n this.resolvePromise = resolve;\n try {\n this.createOverlayUI();\n const container = document.getElementById(this.options.containerId);\n if (!container) {\n throw new Error(`Container with ID ${this.options.containerId} not found`);\n }\n this.bodyBackgroundColor = document.body.style.backgroundColor;\n document.body.style.backgroundColor = 'transparent';\n await this.cameraController.initialize(container, (_a = this.options.quality) !== null && _a !== void 0 ? _a : 90);\n // Create zoom buttons after camera init\n if (this.zoomContainer && this.zoomConfig) {\n await this.createZoomButtonsAfterInit();\n }\n // JavaScript pinch-to-zoom when enabled\n if ((_b = this.options.pinchToZoom) === null || _b === void 0 ? void 0 : _b.enabled) {\n this.pinchHandler = new PinchZoomHandler(this.cameraController, { options: this.options }, (zoom) => this.updateZoomButtonSelection(zoom));\n await this.pinchHandler.attach(container);\n }\n }\n catch (error) {\n console.error('Failed to initialize camera overlay', error);\n resolve({ images: [], videos: [], cancelled: true });\n this.cleanup();\n }\n });\n }\n async refresh() {\n await this.cameraController.refresh();\n }\n handleOrientationChange() {\n this.refresh();\n }\n /**\n * Creates the overlay UI\n */\n createOverlayUI() {\n var _a;\n const container = document.getElementById(this.options.containerId);\n if (!container) {\n throw new Error(`Container with ID ${this.options.containerId} not found`);\n }\n // Create overlay container\n this.overlayElement = createOverlayContainer(this.options.containerId);\n // Create position containers\n const positions = createPositionContainers(this.overlayElement);\n // Create bottom grid cells\n const bottomCells = createBottomGridCells(positions.bottomGrid);\n const galleryElement = createGallery(this.overlayElement);\n if (this.options.maxCaptures === 1) {\n galleryElement.style.display = 'none';\n }\n this.galleryController = new GalleryController(galleryElement, this.options.thumbnailStyle, undefined, (eventData) => {\n this.emitPhotoAddedEvent(eventData);\n }, (eventData) => {\n this.emitPhotoUpdatedEvent(eventData);\n }, (eventData) => {\n this.emitPhotoRemovedEvent(eventData);\n }, (eventData) => {\n this.emitVideoAddedEvent(eventData);\n }, (eventData) => {\n this.emitVideoRemovedEvent(eventData);\n }, (totalCount) => {\n if (this.options.showShotCounter) {\n this.shotCount = totalCount;\n if (this.shotCounter) {\n updateShotCounter(this.shotCounter, this.shotCount);\n }\n }\n }, typeof this.options.enableEditing === 'object' ? true : ((_a = this.options.enableEditing) !== null && _a !== void 0 ? _a : false), typeof this.options.enableEditing === 'object' ? this.options.enableEditing.markerJsLicenseKey : undefined);\n // Merge default buttons with user-provided options\n const buttons = merge(defaultButtons, this.options.buttons || {});\n // Create buttons\n const captureBtn = createButton(buttons.capture);\n this.captureButton = captureBtn;\n // Create shot counter only if enabled\n if (this.options.showShotCounter) {\n this.shotCounter = createShotCounter();\n }\n // Place capture button back in center (no container needed)\n bottomCells.middle.appendChild(captureBtn);\n this.ensureRecordingGlowStyles();\n this.recordingIndicator = this.createRecordingIndicator();\n Object.assign(this.recordingIndicator.style, {\n position: 'absolute',\n top: '12px',\n left: '50%',\n transform: 'translateX(-50%)',\n });\n this.overlayElement.appendChild(this.recordingIndicator);\n this.captureGestureBinding = bindCaptureGestures(captureBtn, {\n onTap: () => this.handleCaptureTap(),\n onHoldStart: () => this.handleCaptureHoldStart(),\n onHoldEnd: () => this.handleCaptureRelease(),\n });\n // Only show Done button if not in single capture mode\n if (this.options.maxCaptures !== 1) {\n const doneBtn = createButton(buttons.done);\n // If counter is enabled, create a container with counter and done button\n if (this.shotCounter) {\n const rightContainer = document.createElement('div');\n Object.assign(rightContainer.style, {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '0.625rem',\n });\n rightContainer.appendChild(this.shotCounter);\n rightContainer.appendChild(doneBtn);\n bottomCells.right.appendChild(rightContainer);\n }\n else {\n // No counter, just add done button directly\n bottomCells.right.appendChild(doneBtn);\n }\n doneBtn.onclick = () => {\n this.completeCapture(false);\n };\n }\n else {\n // Single capture mode - if counter is enabled, show it in the right cell\n if (this.shotCounter) {\n bottomCells.right.appendChild(this.shotCounter);\n }\n }\n const cancelBtn = createButton(buttons.cancel);\n bottomCells.left.appendChild(cancelBtn);\n cancelBtn.onclick = () => {\n this.completeCapture(true);\n };\n if (buttons.switchCamera) {\n this.createSwitchCameraButton(buttons.switchCamera, positions.topRight);\n }\n if (buttons.torch) {\n this.createTorchButton(buttons.torch, positions.topRight);\n }\n if (buttons.flash) {\n this.createFlashButton(buttons.flash, positions.topLeft);\n }\n if (buttons.zoom) {\n // Store zoom config and container for later creation\n this.zoomConfig = buttons.zoom;\n this.zoomContainer = positions.zoomRow;\n }\n this.boundOrientationHandler = () => this.handleOrientationChange();\n window.addEventListener('orientationchange', this.boundOrientationHandler);\n }\n /**\n * Creates the switch camera button\n */\n createSwitchCameraButton(config, container) {\n const switchBtn = createButton(config);\n switchBtn.onclick = async () => {\n try {\n await this.cameraController.switchCamera();\n await this.refreshTorchIconFromState();\n }\n catch (error) {\n console.error('Failed to switch camera', error);\n }\n };\n container.appendChild(switchBtn);\n }\n /**\n * Creates the torch (flashlight) toggle button, stacked below the switch camera button.\n */\n createTorchButton(config, container) {\n const torchBtn = createButton(Object.assign(Object.assign({}, config), { icon: config.offIcon }));\n this.torchButton = torchBtn;\n this.torchConfig = config;\n const updateTorchIcon = async (state) => {\n const icon = state === TorchState.On ? config.onIcon : config.offIcon;\n if (icon) {\n await setButtonIcon(torchBtn, icon);\n }\n };\n torchBtn.onclick = async () => {\n try {\n const state = await this.cameraController.toggleTorch();\n await updateTorchIcon(state);\n }\n catch (error) {\n console.error('Failed to toggle torch', error);\n }\n };\n // Best-effort initial state sync; defaults to off if call fails.\n this.cameraController.getTorch()\n .then((state) => updateTorchIcon(state))\n .catch(() => { });\n container.appendChild(torchBtn);\n }\n /**\n * Refreshes the torch icon based on current native torch state.\n */\n async refreshTorchIconFromState() {\n if (!this.torchButton || !this.torchConfig)\n return;\n try {\n const state = await this.cameraController.getTorch();\n const icon = state === TorchState.On ? this.torchConfig.onIcon : this.torchConfig.offIcon;\n if (icon) {\n await setButtonIcon(this.torchButton, icon);\n }\n }\n catch (_a) {\n // state sync failure is non-blocking; keep current icon\n }\n }\n /**\n * Creates zoom buttons after camera initialization\n */\n async createZoomButtonsAfterInit() {\n if (!this.zoomContainer || !this.zoomConfig)\n return;\n let smartZoomLevels;\n try {\n // Get smart zoom levels that include physical camera switches\n smartZoomLevels = await this.cameraController.getSmartZoomLevels();\n }\n catch (error) {\n // Use fallback zoom levels\n const fallbackLevels = this.zoomConfig.levels || [1, 2, 3, 4];\n smartZoomLevels = fallbackLevels.map((level) => ({ level, isPhysicalCamera: false }));\n }\n // Create zoom buttons with the smart levels\n this.createZoomButtons(smartZoomLevels, this.zoomContainer);\n }\n /**\n * Creates smart zoom buttons with physical camera indication\n */\n createZoomButtons(levels, container) {\n const config = this.zoomConfig || {};\n // Track buttons and their corresponding zoom levels so we can update them from pinch and clicks\n this.zoomButtonsList = [];\n this.zoomButtonLevels = levels.map((z) => z.level);\n let currentZoomLevel = 1; // Default zoom level\n // Add zoom buttons in a horizontal row\n levels.forEach((zoomInfo) => {\n const level = zoomInfo.level;\n // Format zoom level display\n let displayText;\n if (level === 1) {\n // Special case for 1x - always show as \"1x\"\n displayText = '1x';\n }\n else if (level % 1 === 0) {\n // Show as integer for whole numbers (2x, 3x, etc.)\n displayText = `${Math.round(level)}x`;\n }\n else {\n // Round to one decimal place for fractional numbers (0.673434 -> 0.7x)\n displayText = `${Math.round(level * 10) / 10}x`;\n }\n // Create a button for each zoom level\n const zoomBtn = createButton(Object.assign(Object.assign({}, config), { text: displayText }));\n // Make zoom buttons smaller and more compact\n Object.assign(zoomBtn.style, {\n padding: '5px 8px',\n minWidth: '40px',\n minHeight: '30px',\n margin: '0 3px',\n fontSize: '14px',\n fontWeight: '500',\n transition: 'all 0.2s ease',\n });\n zoomBtn.onclick = async () => {\n try {\n // Use smart zoom to handle physical camera switching\n await this.cameraController.performSmartZoom(level);\n currentZoomLevel = level;\n // Update button states based on the new zoom level\n this.updateZoomButtonSelection(currentZoomLevel);\n }\n catch (error) {\n console.error(`Failed to set zoom to ${level}x`, error);\n }\n };\n this.zoomButtonsList.push(zoomBtn);\n container.appendChild(zoomBtn);\n });\n // Initial highlight (typically 1x)\n this.updateZoomButtonSelection(currentZoomLevel);\n }\n /**\n * Updates zoom button styles so the button closest to currentZoom is highlighted.\n */\n updateZoomButtonSelection(currentZoom) {\n if (!this.zoomButtonsList.length || !this.zoomButtonLevels.length)\n return;\n // Find the zoom level closest to the current zoom\n let nearestIdx = 0;\n let bestDist = Math.abs(this.zoomButtonLevels[0] - currentZoom);\n for (let i = 1; i < this.zoomButtonLevels.length; i++) {\n const d = Math.abs(this.zoomButtonLevels[i] - currentZoom);\n if (d < bestDist) {\n bestDist = d;\n nearestIdx = i;\n }\n }\n // Highlight only the nearest button\n this.zoomButtonsList.forEach((btn, idx) => {\n if (idx === nearestIdx) {\n Object.assign(btn.style, {\n backgroundColor: '#ffffff',\n color: '#000000',\n fontWeight: '700',\n });\n }\n else {\n Object.assign(btn.style, {\n backgroundColor: 'rgba(0,0,0,0.5)',\n color: '#ffffff',\n fontWeight: '500',\n });\n }\n });\n }\n /**\n * Creates the flash toggle button\n */\n createFlashButton(config, container) {\n const flashBtn = createButton(Object.assign(Object.assign({}, config), { icon: config.offIcon // Start with off icon\n }));\n const updateFlashIcon = async (mode) => {\n let icon;\n switch (mode) {\n case 'on':\n icon = config.onIcon;\n break;\n case 'auto':\n // Only show auto icon if auto mode is enabled, otherwise show off icon\n icon = this.cameraController.isFlashAutoModeEnabled() ? config.autoIcon : config.offIcon;\n break;\n case 'off':\n default:\n icon = config.offIcon;\n break;\n }\n // Only update icon if one is provided\n if (icon) {\n await setButtonIcon(flashBtn, icon);\n }\n };\n flashBtn.onclick = async () => {\n try {\n const newMode = await this.cameraController.toggleFlash();\n await updateFlashIcon(newMode);\n }\n catch (error) {\n console.error('Failed to toggle flash', error);\n }\n };\n container.appendChild(flashBtn);\n }\n /**\n * Handles quick tap capture for still images.\n */\n async handleCaptureTap() {\n try {\n // Turn off torch before capture when flash is enabled to prevent LED conflict\n const flashMode = this.cameraController.getFlashMode();\n if (flashMode === 'on' || flashMode === 'auto') {\n const torchState = await this.cameraController.getTorch();\n if (torchState === TorchState.On) {\n await this.cameraController.setTorch(TorchState.Off);\n await this.refreshTorchIconFromState();\n }\n }\n const imageData = await this.cameraController.captureImage();\n if (!imageData || !this.galleryController)\n return;\n this.galleryController.addImage(imageData);\n if (this.options.maxCaptures && this.galleryController.getImages().length >= this.options.maxCaptures) {\n setTimeout(() => this.completeCapture(false), 100);\n }\n }\n catch (error) {\n console.error('Failed to capture image', error);\n }\n }\n /**\n * Handles long press start to begin video recording.\n */\n async handleCaptureHoldStart() {\n if (this.isRecordingVideo || this.cameraController.getRecordingState()) {\n return;\n }\n try {\n await this.cameraController.startVideoRecording();\n this.isRecordingVideo = true;\n this.recordingStartedAt = Date.now();\n this.startRecordingTimer();\n this.showRecordingIndicator(true);\n this.setCaptureGlow(true);\n this.emitVideoRecordingStartedEvent({ timestamp: this.recordingStartedAt });\n }\n catch (error) {\n this.isRecordingVideo = false;\n console.error('Failed to start video recording', error);\n }\n }\n /**\n * Handles pointer release for either tap photo or stop video recording.\n */\n async handleCaptureRelease() {\n if (!this.isRecordingVideo) {\n return;\n }\n try {\n const videoData = await this.cameraController.stopVideoRecording();\n this.isRecordingVideo = false;\n this.stopRecordingTimer();\n this.showRecordingIndicator(false);\n this.setCaptureGlow(false);\n if (videoData && this.galleryController) {\n this.galleryController.addVideo(videoData);\n this.emitVideoRecordingStoppedEvent({\n video: videoData,\n totalCount: this.galleryController.getVideos().length,\n });\n }\n await this.refreshTorchIconFromState();\n }\n catch (error) {\n this.isRecordingVideo = false;\n this.stopRecordingTimer();\n this.showRecordingIndicator(false);\n this.setCaptureGlow(false);\n console.error('Failed to stop video recording', error);\n }\n }\n ensureRecordingGlowStyles() {\n const id = 'cmmc-recording-glow-styles';\n if (document.getElementById(id))\n return;\n const style = document.createElement('style');\n style.id = id;\n style.textContent = `\n @keyframes cmmcCaptureGlow {\n 0% { filter: drop-shadow(0 0 6px rgba(255, 59, 48, 0.7)); }\n 50% { filter: drop-shadow(0 0 18px rgba(255, 59, 48, 1)) drop-shadow(0 0 40px rgba(255, 59, 48, 0.5)); }\n 100% { filter: drop-shadow(0 0 6px rgba(255, 59, 48, 0.7)); }\n }\n .cmmc-capture-recording {\n animation: cmmcCaptureGlow 1.2s ease-in-out infinite !important;\n filter: drop-shadow(0 0 6px rgba(255, 59, 48, 0.7)) !important;\n }\n `;\n document.head.appendChild(style);\n }\n setCaptureGlow(active) {\n if (!this.captureButton)\n return;\n if (active) {\n this.captureButton.classList.add('cmmc-capture-recording');\n }\n else {\n this.captureButton.classList.remove('cmmc-capture-recording');\n }\n }\n createRecordingIndicator() {\n const indicator = document.createElement('div');\n const dot = document.createElement('span');\n const timer = document.createElement('span');\n timer.textContent = '00:00';\n Object.assign(indicator.style, {\n display: 'none',\n alignItems: 'center',\n gap: '6px',\n padding: '6px 10px',\n borderRadius: '14px',\n background: 'rgba(0, 0, 0, 0.55)',\n color: '#ffffff',\n fontSize: '12px',\n fontWeight: '600',\n pointerEvents: 'none',\n zIndex: '4',\n });\n Object.assign(dot.style, {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n background: '#ff3b30',\n boxShadow: '0 0 10px rgba(255, 59, 48, 0.9)',\n animation: 'cmmcRecordPulse 1s infinite',\n });\n const styleTag = document.createElement('style');\n styleTag.textContent = `\n @keyframes cmmcRecordPulse {\n 0% { opacity: 1; transform: scale(1); }\n 50% { opacity: 0.35; transform: scale(0.9); }\n 100% { opacity: 1; transform: scale(1); }\n }\n `;\n indicator.appendChild(styleTag);\n indicator.appendChild(dot);\n indicator.appendChild(timer);\n this.recordingTimerText = timer;\n return indicator;\n }\n showRecordingIndicator(visible) {\n if (!this.recordingIndicator)\n return;\n this.recordingIndicator.style.display = visible ? 'flex' : 'none';\n if (!visible && this.recordingTimerText) {\n this.recordingTimerText.textContent = '00:00';\n }\n }\n startRecordingTimer() {\n this.stopRecordingTimer();\n this.recordingIntervalId = window.setInterval(() => {\n if (!this.recordingTimerText)\n return;\n const elapsedSeconds = Math.floor((Date.now() - this.recordingStartedAt) / 1000);\n if (this.options.maxRecordingDuration && elapsedSeconds >= this.options.maxRecordingDuration) {\n // Prevent duplicate stop calls while awaiting native stop completion.\n this.stopRecordingTimer();\n void this.handleCaptureRelease();\n return;\n }\n const minutes = Math.floor(elapsedSeconds / 60);\n const seconds = elapsedSeconds % 60;\n this.recordingTimerText.textContent = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\n }, 200);\n }\n stopRecordingTimer() {\n if (this.recordingIntervalId !== null) {\n clearInterval(this.recordingIntervalId);\n this.recordingIntervalId = null;\n }\n }\n /**\n * Completes the capture process\n */\n completeCapture(cancelled) {\n var _a, _b;\n const images = ((_a = this.galleryController) === null || _a === void 0 ? void 0 : _a.getImages()) || [];\n const videos = ((_b = this.galleryController) === null || _b === void 0 ? void 0 : _b.getVideos()) || [];\n this.cleanup();\n if (this.resolvePromise) {\n this.resolvePromise({\n images: !cancelled ? images.map(img => img.data) : [],\n videos: !cancelled ? videos.map(vid => vid.data) : [],\n cancelled\n });\n this.resolvePromise = null;\n }\n }\n /**\n * Cleans up resources\n */\n cleanup() {\n if (this.captureGestureBinding) {\n this.captureGestureBinding.detach();\n this.captureGestureBinding = null;\n }\n if (this.isRecordingVideo) {\n this.cameraController.stopVideoRecording().catch(() => {\n // best effort stop during cleanup\n });\n this.isRecordingVideo = false;\n }\n this.stopRecordingTimer();\n this.showRecordingIndicator(false);\n this.setCaptureGlow(false);\n this.recordingIndicator = null;\n this.recordingTimerText = null;\n this.captureButton = null;\n this.torchButton = null;\n this.torchConfig = null;\n if (this.pinchHandler) {\n this.pinchHandler.detach();\n this.pinchHandler = null;\n }\n this.cameraController.stop().catch((err) => {\n console.warn('Error stopping camera', err);\n });\n if (this.overlayElement && this.overlayElement.parentElement) {\n this.overlayElement.parentElement.removeChild(this.overlayElement);\n }\n this.overlayElement = null;\n this.galleryController = null;\n this.isActive = false;\n this.shotCounter = null;\n this.shotCount = 0; // Reset shot count for next session\n if (this.bodyBackgroundColor) {\n document.body.style.backgroundColor = this.bodyBackgroundColor;\n }\n if (this.boundOrientationHandler) {\n window.removeEventListener('orientationchange', this.boundOrientationHandler);\n this.boundOrientationHandler = null;\n }\n }\n}\n//# sourceMappingURL=overlay-manager.js.map","import { registerPlugin } from '@capacitor/core';\n/**\n * Register the CameraMultiCapture plugin with Capacitor\n */\nexport const CameraMultiCapture = registerPlugin('CameraMultiCapture', {\n web: () => import('./web').then((m) => new m.CameraMultiCaptureWeb()),\n});\n//# sourceMappingURL=registration.js.map","import { OverlayManager } from './overlay-manager';\nimport { CameraMultiCapture } from './registration';\n// Helper function to convert CameraOverlayButtons to ButtonsConfig\nfunction convertButtonsConfig(buttons) {\n if (!buttons)\n return undefined;\n return {\n capture: buttons.capture,\n done: buttons.done,\n cancel: buttons.cancel,\n switchCamera: buttons.switchCamera,\n zoom: buttons.zoom,\n flash: buttons.flash,\n torch: buttons.torch,\n };\n}\nexport const initialize = (options) => {\n var _a;\n const plugin = CameraMultiCapture;\n // Create an overlay manager with the provided options\n // Map the public API options to internal UI options\n const uiOptions = {\n containerId: options.containerId,\n quality: options.quality,\n thumbnailStyle: options.thumbnailStyle,\n buttons: convertButtonsConfig(options.buttons),\n maxCaptures: options.maxCaptures,\n maxRecordingDuration: options.maxRecordingDuration,\n flashAutoModeEnabled: options.flashAutoModeEnabled,\n showShotCounter: (_a = options.showShotCounter) !== null && _a !== void 0 ? _a : true, // Default to true for backward compatibility\n pinchToZoom: options.pinchToZoom,\n enableEditing: options.enableEditing,\n enableSaving: options.enableSaving,\n galleryAlbumName: options.galleryAlbumName,\n };\n const overlayManager = new OverlayManager(plugin, uiOptions);\n return overlayManager.setup();\n};\n//# sourceMappingURL=overlay.js.map","import { WebPlugin, buildRequestInit } from '@capacitor/core';\nimport { Encoding } from './definitions';\nfunction resolve(path) {\n const posix = path.split('/').filter((item) => item !== '.');\n const newPosix = [];\n posix.forEach((item) => {\n if (item === '..' && newPosix.length > 0 && newPosix[newPosix.length - 1] !== '..') {\n newPosix.pop();\n }\n else {\n newPosix.push(item);\n }\n });\n return newPosix.join('/');\n}\nfunction isPathParent(parent, children) {\n parent = resolve(parent);\n children = resolve(children);\n const pathsA = parent.split('/');\n const pathsB = children.split('/');\n return parent !== children && pathsA.every((value, index) => value === pathsB[index]);\n}\nexport class FilesystemWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.DB_VERSION = 1;\n this.DB_NAME = 'Disc';\n this._writeCmds = ['add', 'put', 'delete'];\n /**\n * Function that performs a http request to a server and downloads the file to the specified destination\n *\n * @deprecated Use the @capacitor/file-transfer plugin instead.\n * @param options the options for the download operation\n * @returns a promise that resolves with the download file result\n */\n this.downloadFile = async (options) => {\n var _a, _b;\n const requestInit = buildRequestInit(options, options.webFetchExtra);\n const response = await fetch(options.url, requestInit);\n let blob;\n if (!options.progress)\n blob = await response.blob();\n else if (!(response === null || response === void 0 ? void 0 : response.body))\n blob = new Blob();\n else {\n const reader = response.body.getReader();\n let bytes = 0;\n const chunks = [];\n const contentType = response.headers.get('content-type');\n const contentLength = parseInt(response.headers.get('content-length') || '0', 10);\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n break;\n chunks.push(value);\n bytes += (value === null || value === void 0 ? void 0 : value.length) || 0;\n const status = {\n url: options.url,\n bytes,\n contentLength,\n };\n this.notifyListeners('progress', status);\n }\n const allChunks = new Uint8Array(bytes);\n let position = 0;\n for (const chunk of chunks) {\n if (typeof chunk === 'undefined')\n continue;\n allChunks.set(chunk, position);\n position += chunk.length;\n }\n blob = new Blob([allChunks.buffer], { type: contentType || undefined });\n }\n const result = await this.writeFile({\n path: options.path,\n directory: (_a = options.directory) !== null && _a !== void 0 ? _a : undefined,\n recursive: (_b = options.recursive) !== null && _b !== void 0 ? _b : false,\n data: blob,\n });\n return { path: result.uri, blob };\n };\n }\n readFileInChunks(_options, _callback) {\n throw this.unavailable('Method not implemented.');\n }\n async initDb() {\n if (this._db !== undefined) {\n return this._db;\n }\n if (!('indexedDB' in window)) {\n throw this.unavailable(\"This browser doesn't support IndexedDB\");\n }\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.DB_NAME, this.DB_VERSION);\n request.onupgradeneeded = FilesystemWeb.doUpgrade;\n request.onsuccess = () => {\n this._db = request.result;\n resolve(request.result);\n };\n request.onerror = () => reject(request.error);\n request.onblocked = () => {\n console.warn('db blocked');\n };\n });\n }\n static doUpgrade(event) {\n const eventTarget = event.target;\n const db = eventTarget.result;\n switch (event.oldVersion) {\n case 0:\n case 1:\n default: {\n if (db.objectStoreNames.contains('FileStorage')) {\n db.deleteObjectStore('FileStorage');\n }\n const store = db.createObjectStore('FileStorage', { keyPath: 'path' });\n store.createIndex('by_folder', 'folder');\n }\n }\n }\n async dbRequest(cmd, args) {\n const readFlag = this._writeCmds.indexOf(cmd) !== -1 ? 'readwrite' : 'readonly';\n return this.initDb().then((conn) => {\n return new Promise((resolve, reject) => {\n const tx = conn.transaction(['FileStorage'], readFlag);\n const store = tx.objectStore('FileStorage');\n const req = store[cmd](...args);\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n });\n }\n async dbIndexRequest(indexName, cmd, args) {\n const readFlag = this._writeCmds.indexOf(cmd) !== -1 ? 'readwrite' : 'readonly';\n return this.initDb().then((conn) => {\n return new Promise((resolve, reject) => {\n const tx = conn.transaction(['FileStorage'], readFlag);\n const store = tx.objectStore('FileStorage');\n const index = store.index(indexName);\n const req = index[cmd](...args);\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n });\n }\n getPath(directory, uriPath) {\n const cleanedUriPath = uriPath !== undefined ? uriPath.replace(/^[/]+|[/]+$/g, '') : '';\n let fsPath = '';\n if (directory !== undefined)\n fsPath += '/' + directory;\n if (uriPath !== '')\n fsPath += '/' + cleanedUriPath;\n return fsPath;\n }\n async clear() {\n const conn = await this.initDb();\n const tx = conn.transaction(['FileStorage'], 'readwrite');\n const store = tx.objectStore('FileStorage');\n store.clear();\n }\n /**\n * Read a file from disk\n * @param options options for the file read\n * @return a promise that resolves with the read file data result\n */\n async readFile(options) {\n const path = this.getPath(options.directory, options.path);\n // const encoding = options.encoding;\n const entry = (await this.dbRequest('get', [path]));\n if (entry === undefined)\n throw Error('File does not exist.');\n return { data: entry.content ? entry.content : '' };\n }\n /**\n * Write a file to disk in the specified location on device\n * @param options options for the file write\n * @return a promise that resolves with the file write result\n */\n async writeFile(options) {\n const path = this.getPath(options.directory, options.path);\n let data = options.data;\n const encoding = options.encoding;\n const doRecursive = options.recursive;\n const occupiedEntry = (await this.dbRequest('get', [path]));\n if (occupiedEntry && occupiedEntry.type === 'directory')\n throw Error('The supplied path is a directory.');\n const parentPath = path.substr(0, path.lastIndexOf('/'));\n const parentEntry = (await this.dbRequest('get', [parentPath]));\n if (parentEntry === undefined) {\n const subDirIndex = parentPath.indexOf('/', 1);\n if (subDirIndex !== -1) {\n const parentArgPath = parentPath.substr(subDirIndex);\n await this.mkdir({\n path: parentArgPath,\n directory: options.directory,\n recursive: doRecursive,\n });\n }\n }\n if (!encoding && !(data instanceof Blob)) {\n data = data.indexOf(',') >= 0 ? data.split(',')[1] : data;\n if (!this.isBase64String(data))\n throw Error('The supplied data is not valid base64 content.');\n }\n const now = Date.now();\n const pathObj = {\n path: path,\n folder: parentPath,\n type: 'file',\n size: data instanceof Blob ? data.size : data.length,\n ctime: now,\n mtime: now,\n content: data,\n };\n await this.dbRequest('put', [pathObj]);\n return {\n uri: pathObj.path,\n };\n }\n /**\n * Append to a file on disk in the specified location on device\n * @param options options for the file append\n * @return a promise that resolves with the file write result\n */\n async appendFile(options) {\n const path = this.getPath(options.directory, options.path);\n let data = options.data;\n const encoding = options.encoding;\n const parentPath = path.substr(0, path.lastIndexOf('/'));\n const now = Date.now();\n let ctime = now;\n const occupiedEntry = (await this.dbRequest('get', [path]));\n if (occupiedEntry && occupiedEntry.type === 'directory')\n throw Error('The supplied path is a directory.');\n const parentEntry = (await this.dbRequest('get', [parentPath]));\n if (parentEntry === undefined) {\n const subDirIndex = parentPath.indexOf('/', 1);\n if (subDirIndex !== -1) {\n const parentArgPath = parentPath.substr(subDirIndex);\n await this.mkdir({\n path: parentArgPath,\n directory: options.directory,\n recursive: true,\n });\n }\n }\n if (!encoding && !this.isBase64String(data))\n throw Error('The supplied data is not valid base64 content.');\n if (occupiedEntry !== undefined) {\n if (occupiedEntry.content instanceof Blob) {\n throw Error('The occupied entry contains a Blob object which cannot be appended to.');\n }\n if (occupiedEntry.content !== undefined && !encoding) {\n data = btoa(atob(occupiedEntry.content) + atob(data));\n }\n else {\n data = occupiedEntry.content + data;\n }\n ctime = occupiedEntry.ctime;\n }\n const pathObj = {\n path: path,\n folder: parentPath,\n type: 'file',\n size: data.length,\n ctime: ctime,\n mtime: now,\n content: data,\n };\n await this.dbRequest('put', [pathObj]);\n }\n /**\n * Delete a file from disk\n * @param options options for the file delete\n * @return a promise that resolves with the deleted file data result\n */\n async deleteFile(options) {\n const path = this.getPath(options.directory, options.path);\n const entry = (await this.dbRequest('get', [path]));\n if (entry === undefined)\n throw Error('File does not exist.');\n const entries = await this.dbIndexRequest('by_folder', 'getAllKeys', [IDBKeyRange.only(path)]);\n if (entries.length !== 0)\n throw Error('Folder is not empty.');\n await this.dbRequest('delete', [path]);\n }\n /**\n * Create a directory.\n * @param options options for the mkdir\n * @return a promise that resolves with the mkdir result\n */\n async mkdir(options) {\n const path = this.getPath(options.directory, options.path);\n const doRecursive = options.recursive;\n const parentPath = path.substr(0, path.lastIndexOf('/'));\n const depth = (path.match(/\\//g) || []).length;\n const parentEntry = (await this.dbRequest('get', [parentPath]));\n const occupiedEntry = (await this.dbRequest('get', [path]));\n if (depth === 1)\n throw Error('Cannot create Root directory');\n if (occupiedEntry !== undefined)\n throw Error('Current directory does already exist.');\n if (!doRecursive && depth !== 2 && parentEntry === undefined)\n throw Error('Parent directory must exist');\n if (doRecursive && depth !== 2 && parentEntry === undefined) {\n const parentArgPath = parentPath.substr(parentPath.indexOf('/', 1));\n await this.mkdir({\n path: parentArgPath,\n directory: options.directory,\n recursive: doRecursive,\n });\n }\n const now = Date.now();\n const pathObj = {\n path: path,\n folder: parentPath,\n type: 'directory',\n size: 0,\n ctime: now,\n mtime: now,\n };\n await this.dbRequest('put', [pathObj]);\n }\n /**\n * Remove a directory\n * @param options the options for the directory remove\n */\n async rmdir(options) {\n const { path, directory, recursive } = options;\n const fullPath = this.getPath(directory, path);\n const entry = (await this.dbRequest('get', [fullPath]));\n if (entry === undefined)\n throw Error('Folder does not exist.');\n if (entry.type !== 'directory')\n throw Error('Requested path is not a directory');\n const readDirResult = await this.readdir({ path, directory });\n if (readDirResult.files.length !== 0 && !recursive)\n throw Error('Folder is not empty');\n for (const entry of readDirResult.files) {\n const entryPath = `${path}/${entry.name}`;\n const entryObj = await this.stat({ path: entryPath, directory });\n if (entryObj.type === 'file') {\n await this.deleteFile({ path: entryPath, directory });\n }\n else {\n await this.rmdir({ path: entryPath, directory, recursive });\n }\n }\n await this.dbRequest('delete', [fullPath]);\n }\n /**\n * Return a list of files from the directory (not recursive)\n * @param options the options for the readdir operation\n * @return a promise that resolves with the readdir directory listing result\n */\n async readdir(options) {\n const path = this.getPath(options.directory, options.path);\n const entry = (await this.dbRequest('get', [path]));\n if (options.path !== '' && entry === undefined)\n throw Error('Folder does not exist.');\n const entries = await this.dbIndexRequest('by_folder', 'getAllKeys', [IDBKeyRange.only(path)]);\n const files = await Promise.all(entries.map(async (e) => {\n let subEntry = (await this.dbRequest('get', [e]));\n if (subEntry === undefined) {\n subEntry = (await this.dbRequest('get', [e + '/']));\n }\n return {\n name: e.substring(path.length + 1),\n type: subEntry.type,\n size: subEntry.size,\n ctime: subEntry.ctime,\n mtime: subEntry.mtime,\n uri: subEntry.path,\n };\n }));\n return { files: files };\n }\n /**\n * Return full File URI for a path and directory\n * @param options the options for the stat operation\n * @return a promise that resolves with the file stat result\n */\n async getUri(options) {\n const path = this.getPath(options.directory, options.path);\n let entry = (await this.dbRequest('get', [path]));\n if (entry === undefined) {\n entry = (await this.dbRequest('get', [path + '/']));\n }\n return {\n uri: (entry === null || entry === void 0 ? void 0 : entry.path) || path,\n };\n }\n /**\n * Return data about a file\n * @param options the options for the stat operation\n * @return a promise that resolves with the file stat result\n */\n async stat(options) {\n const path = this.getPath(options.directory, options.path);\n let entry = (await this.dbRequest('get', [path]));\n if (entry === undefined) {\n entry = (await this.dbRequest('get', [path + '/']));\n }\n if (entry === undefined)\n throw Error('Entry does not exist.');\n return {\n name: entry.path.substring(path.length + 1),\n type: entry.type,\n size: entry.size,\n ctime: entry.ctime,\n mtime: entry.mtime,\n uri: entry.path,\n };\n }\n /**\n * Rename a file or directory\n * @param options the options for the rename operation\n * @return a promise that resolves with the rename result\n */\n async rename(options) {\n await this._copy(options, true);\n return;\n }\n /**\n * Copy a file or directory\n * @param options the options for the copy operation\n * @return a promise that resolves with the copy result\n */\n async copy(options) {\n return this._copy(options, false);\n }\n async requestPermissions() {\n return { publicStorage: 'granted' };\n }\n async checkPermissions() {\n return { publicStorage: 'granted' };\n }\n /**\n * Function that can perform a copy or a rename\n * @param options the options for the rename operation\n * @param doRename whether to perform a rename or copy operation\n * @return a promise that resolves with the result\n */\n async _copy(options, doRename = false) {\n let { toDirectory } = options;\n const { to, from, directory: fromDirectory } = options;\n if (!to || !from) {\n throw Error('Both to and from must be provided');\n }\n // If no \"to\" directory is provided, use the \"from\" directory\n if (!toDirectory) {\n toDirectory = fromDirectory;\n }\n const fromPath = this.getPath(fromDirectory, from);\n const toPath = this.getPath(toDirectory, to);\n // Test that the \"to\" and \"from\" locations are different\n if (fromPath === toPath) {\n return {\n uri: toPath,\n };\n }\n if (isPathParent(fromPath, toPath)) {\n throw Error('To path cannot contain the from path');\n }\n // Check the state of the \"to\" location\n let toObj;\n try {\n toObj = await this.stat({\n path: to,\n directory: toDirectory,\n });\n }\n catch (e) {\n // To location does not exist, ensure the directory containing \"to\" location exists and is a directory\n const toPathComponents = to.split('/');\n toPathComponents.pop();\n const toPath = toPathComponents.join('/');\n // Check the containing directory of the \"to\" location exists\n if (toPathComponents.length > 0) {\n const toParentDirectory = await this.stat({\n path: toPath,\n directory: toDirectory,\n });\n if (toParentDirectory.type !== 'directory') {\n throw new Error('Parent directory of the to path is a file');\n }\n }\n }\n // Cannot overwrite a directory\n if (toObj && toObj.type === 'directory') {\n throw new Error('Cannot overwrite a directory with a file');\n }\n // Ensure the \"from\" object exists\n const fromObj = await this.stat({\n path: from,\n directory: fromDirectory,\n });\n // Set the mtime/ctime of the supplied path\n const updateTime = async (path, ctime, mtime) => {\n const fullPath = this.getPath(toDirectory, path);\n const entry = (await this.dbRequest('get', [fullPath]));\n entry.ctime = ctime;\n entry.mtime = mtime;\n await this.dbRequest('put', [entry]);\n };\n const ctime = fromObj.ctime ? fromObj.ctime : Date.now();\n switch (fromObj.type) {\n // The \"from\" object is a file\n case 'file': {\n // Read the file\n const file = await this.readFile({\n path: from,\n directory: fromDirectory,\n });\n // Optionally remove the file\n if (doRename) {\n await this.deleteFile({\n path: from,\n directory: fromDirectory,\n });\n }\n let encoding;\n if (!(file.data instanceof Blob) && !this.isBase64String(file.data)) {\n encoding = Encoding.UTF8;\n }\n // Write the file to the new location\n const writeResult = await this.writeFile({\n path: to,\n directory: toDirectory,\n data: file.data,\n encoding: encoding,\n });\n // Copy the mtime/ctime of a renamed file\n if (doRename) {\n await updateTime(to, ctime, fromObj.mtime);\n }\n // Resolve promise\n return writeResult;\n }\n case 'directory': {\n if (toObj) {\n throw Error('Cannot move a directory over an existing object');\n }\n try {\n // Create the to directory\n await this.mkdir({\n path: to,\n directory: toDirectory,\n recursive: false,\n });\n // Copy the mtime/ctime of a renamed directory\n if (doRename) {\n await updateTime(to, ctime, fromObj.mtime);\n }\n }\n catch (e) {\n // ignore\n }\n // Iterate over the contents of the from location\n const contents = (await this.readdir({\n path: from,\n directory: fromDirectory,\n })).files;\n for (const filename of contents) {\n // Move item from the from directory to the to directory\n await this._copy({\n from: `${from}/${filename.name}`,\n to: `${to}/${filename.name}`,\n directory: fromDirectory,\n toDirectory,\n }, doRename);\n }\n // Optionally remove the original from directory\n if (doRename) {\n await this.rmdir({\n path: from,\n directory: fromDirectory,\n });\n }\n }\n }\n return {\n uri: toPath,\n };\n }\n isBase64String(str) {\n try {\n return btoa(atob(str)) == str;\n }\n catch (err) {\n return false;\n }\n }\n}\nFilesystemWeb._debug = true;\n//# sourceMappingURL=web.js.map","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)};function e(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}function i(t,e,i,o){return new(i||(i=Promise))((function(s,r){function n(t){try{h(o.next(t))}catch(t){r(t)}}function a(t){try{h(o.throw(t))}catch(t){r(t)}}function h(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(n,a)}h((o=o.apply(t,e||[])).next())}))}function o(t,e){var i,o,s,r,n={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(i)throw new TypeError(\"Generator is already executing.\");for(;n;)try{if(i=1,o&&(s=2&r[0]?o.return:r[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,r[1])).done)return s;switch(o=0,s&&(r=[2&r[0],s.value]),r[0]){case 0:case 1:s=r;break;case 4:return n.label++,{value:r[1],done:!1};case 5:n.label++,o=r[1],r=[0];continue;case 7:r=n.ops.pop(),n.trys.pop();continue;default:if(!(s=n.trys,(s=s.length>0&&s[s.length-1])||6!==r[0]&&2!==r[0])){n=0;continue}if(3===r[0]&&(!s||r[1]>s[0]&&r[1]<s[3])){n.label=r[1];break}if(6===r[0]&&n.label<s[1]){n.label=s[1],s=r;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(r);break}s[2]&&n.ops.pop(),n.trys.pop();continue}r=e.call(t,n)}catch(t){r=[6,t],o=0}finally{i=s=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}}function s(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var o=Array(t),s=0;for(e=0;e<i;e++)for(var r=arguments[e],n=0,a=r.length;n<a;n++,s++)o[s]=r[n];return o}var r=function(){function t(){}return t.createDefs=function(){return document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\")},t.setAttributes=function(t,e){for(var i=0,o=e;i<o.length;i++){var s=o[i],r=s[0],n=s[1];t.setAttribute(r,n)}},t.createRect=function(e,i,o){var s=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");return s.setAttribute(\"width\",e.toString()),s.setAttribute(\"height\",i.toString()),o&&t.setAttributes(s,o),s},t.createLine=function(e,i,o,s,r){var n=document.createElementNS(\"http://www.w3.org/2000/svg\",\"line\");return n.setAttribute(\"x1\",e.toString()),n.setAttribute(\"y1\",i.toString()),n.setAttribute(\"x2\",o.toString()),n.setAttribute(\"y2\",s.toString()),r&&t.setAttributes(n,r),n},t.createPolygon=function(e,i){var o=document.createElementNS(\"http://www.w3.org/2000/svg\",\"polygon\");return o.setAttribute(\"points\",e),i&&t.setAttributes(o,i),o},t.createCircle=function(e,i){var o=document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\");return o.setAttribute(\"cx\",(e/2).toString()),o.setAttribute(\"cy\",(e/2).toString()),o.setAttribute(\"r\",e.toString()),i&&t.setAttributes(o,i),o},t.createEllipse=function(e,i,o){var s=document.createElementNS(\"http://www.w3.org/2000/svg\",\"ellipse\");return s.setAttribute(\"cx\",(e/2).toString()),s.setAttribute(\"cy\",(i/2).toString()),s.setAttribute(\"rx\",(e/2).toString()),s.setAttribute(\"ry\",(i/2).toString()),o&&t.setAttributes(s,o),s},t.createGroup=function(e){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\");return e&&t.setAttributes(i,e),i},t.createTransform=function(){return document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\").createSVGTransform()},t.createMarker=function(e,i,o,s,r,n,a){var h=document.createElementNS(\"http://www.w3.org/2000/svg\",\"marker\");return t.setAttributes(h,[[\"id\",e],[\"orient\",i],[\"markerWidth\",o.toString()],[\"markerHeight\",s.toString()],[\"refX\",r.toString()],[\"refY\",n.toString()]]),h.appendChild(a),h},t.createText=function(e){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\");return i.setAttribute(\"x\",\"0\"),i.setAttribute(\"y\",\"0\"),e&&t.setAttributes(i,e),i},t.createTSpan=function(e,i){var o=document.createElementNS(\"http://www.w3.org/2000/svg\",\"tspan\");return o.textContent=e,i&&t.setAttributes(o,i),o},t.createImage=function(e){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\");return e&&t.setAttributes(i,e),i},t.createPoint=function(t,e){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\").createSVGPoint();return i.x=t,i.y=e,i},t.createPath=function(e,i){var o=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");return o.setAttribute(\"d\",e),i&&t.setAttributes(o,i),o},t}(),n=function(){function t(){}return t.addKey=function(e){t.key=e},Object.defineProperty(t,\"isLicensed\",{get:function(){return!!t.key&&new RegExp(/^MJS2-[A-Z][0-9]{3}-[A-Z][0-9]{3}-[0-9]{4}$/,\"i\").test(t.key)},enumerable:!1,configurable:!0}),t}(),a=function(){function t(){this.naturalSize=!1,this.imageType=\"image/png\",this.markersOnly=!1}return t.prototype.rasterize=function(t,e,i){var o=this;return new Promise((function(s){var r=void 0!==i?i:document.createElement(\"canvas\");null===t&&(o.markersOnly=!0,o.naturalSize=!1);var n=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");n.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),n.setAttribute(\"width\",e.width.baseVal.valueAsString),n.setAttribute(\"height\",e.height.baseVal.valueAsString),n.setAttribute(\"viewBox\",\"0 0 \"+e.viewBox.baseVal.width.toString()+\" \"+e.viewBox.baseVal.height.toString()),n.innerHTML=e.innerHTML,!0===o.naturalSize?(n.width.baseVal.value=t.naturalWidth,n.height.baseVal.value=t.naturalHeight):void 0!==o.width&&void 0!==o.height&&(n.width.baseVal.value=o.width,n.height.baseVal.value=o.height),r.width=n.width.baseVal.value,r.height=n.height.baseVal.value;var a=n.outerHTML,h=r.getContext(\"2d\");!0!==o.markersOnly&&h.drawImage(t,0,0,r.width,r.height);var l=window.URL,p=new Image(r.width,r.height);p.setAttribute(\"crossOrigin\",\"anonymous\");var c=new Blob([a],{type:\"image/svg+xml\"}),d=l.createObjectURL(c);p.onload=function(){h.drawImage(p,0,0),l.revokeObjectURL(d);var t=r.toDataURL(o.imageType,o.imageQuality);s(t)},p.src=d}))},t}(),h=function(){},l=function(){function t(t){this._classNamePrefixBase=\"__markerjs2_\",this.classes=[],this.rules=[],this.settings=this.defaultSettings,this._classNamePrefix=this._classNamePrefixBase+\"_\"+t+\"_\"}return Object.defineProperty(t.prototype,\"classNamePrefixBase\",{get:function(){return this._classNamePrefixBase},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"classNamePrefix\",{get:function(){return this._classNamePrefix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"defaultSettings\",{get:function(){return{canvasBackgroundColor:\"#ffffff\",toolbarBackgroundColor:\"#111111\",toolbarBackgroundHoverColor:\"#333333\",toolbarColor:\"#eeeeee\",toolbarHeight:40,toolboxColor:\"#eeeeee\",toolboxAccentColor:\"#3080c3\",undoButtonVisible:!0,redoButtonVisible:!1,zoomButtonVisible:!1,zoomOutButtonVisible:!1,clearButtonVisible:!1,resultButtonBlockVisible:!0,logoPosition:\"left\"}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"fadeInAnimationClassName\",{get:function(){return this.classNamePrefix+\"fade_in\"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"fadeOutAnimationClassName\",{get:function(){return this.classNamePrefix+\"fade_out\"},enumerable:!1,configurable:!0}),t.prototype.addClass=function(t){return void 0===this.styleSheet&&this.addStyleSheet(),t.name=\"\"+this.classNamePrefix+t.localName,this.classes.push(t),this.styleSheet.sheet.insertRule(\".\"+t.name+\" {\"+t.style+\"}\",this.styleSheet.sheet.cssRules.length),t},t.prototype.addRule=function(t){void 0===this.styleSheet&&this.addStyleSheet(),this.rules.push(t),this.styleSheet.sheet.insertRule(t.selector+\" {\"+t.style+\"}\",this.styleSheet.sheet.cssRules.length)},t.prototype.addStyleSheet=function(){var t;this.styleSheet=document.createElement(\"style\"),(null!==(t=this.styleSheetRoot)&&void 0!==t?t:document.head).appendChild(this.styleSheet),this.addRule(new p(\".\"+this.classNamePrefix+\" h3\",\"font-family: sans-serif\")),this.addRule(new p(\"@keyframes \"+this.classNamePrefix+\"_fade_in_animation_frames\",\"\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n \")),this.addRule(new p(\"@keyframes \"+this.classNamePrefix+\"_fade_out_animation_frames\",\"\\n from {\\n opacity: 1;\\n }\\n to {\\n opacity: 0;\\n }\\n \")),this.addClass(new c(\"fade_in\",\"\\n animation-duration: 0.3s;\\n animation-name: \"+this.classNamePrefix+\"_fade_in_animation_frames;\\n \")),this.addClass(new c(\"fade_out\",\"\\n animation-duration: 0.3s;\\n animation-name: \"+this.classNamePrefix+\"_fade_out_animation_frames;\\n \"))},t.prototype.removeStyleSheet=function(){var t;this.styleSheet&&((null!==(t=this.styleSheetRoot)&&void 0!==t?t:document.head).removeChild(this.styleSheet),this.styleSheet=void 0)},t}(),p=function(t,e){this.selector=t,this.style=e},c=function(t,e){this.localName=t,this.style=e},d=function(){function t(t,e,i,o,s){this.buttons=[],this.markerButtons=[],this.buttonClickListeners=[],this.markerjsContainer=t,this.displayMode=e,this.markerItems=i,this.uiStyleSettings=o,this.styles=s,this.addStyles(),this.adjustLayout=this.adjustLayout.bind(this),this.overflowButtonClicked=this.overflowButtonClicked.bind(this),this.setCurrentMarker=this.setCurrentMarker.bind(this)}return t.prototype.show=function(t){var e=this;this.uiContainer=document.createElement(\"div\"),this.uiContainer.style.visibility=t,this.uiContainer.className=this.toolbarStyleClass.name+\" \"+this.styles.fadeInAnimationClassName+\" \"+(this.uiStyleSettings.toolbarStyleColorsClassName?this.uiStyleSettings.toolbarStyleColorsClassName:this.toolbarStyleColorsClass.name);var i=document.createElement(\"div\");i.className=this.toolbarBlockStyleClass.name,i.style.whiteSpace=\"nowrap\",this.uiContainer.appendChild(i),this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M10.07 14.27a.997.997 0 011.33.48l2.3 4.99 1.8-.85-2.31-4.98c-.24-.5-.02-1.1.48-1.33l.28-.08 2.3-.45L8 5.12V15.9l1.82-1.47.25-.16m3.57 7.7a.99.99 0 01-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 01-1-1V3a1 1 0 011-1c.24 0 .47.09.64.23l.01-.01 11.49 9.64a1.001 1.001 0 01-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69z\"/></svg>',\"select\",\"Select mode\"),this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M9 3v1H4v2h1v13a2 2 0 002 2h10a2 2 0 002-2V6h1V4h-5V3H9M7 6h10v13H7V6m2 2v9h2V8H9m4 0v9h2V8h-2z\"/></svg>',\"delete\",\"Delete marker\"),this.uiStyleSettings.clearButtonVisible&&this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M19.36 2.72l1.42 1.42-5.72 5.71c1.07 1.54 1.22 3.39.32 4.59L9.06 8.12c1.2-.9 3.05-.75 4.59.32l5.71-5.72M5.93 17.57c-2.01-2.01-3.24-4.41-3.58-6.65l4.88-2.09 7.44 7.44-2.09 4.88c-2.24-.34-4.64-1.57-6.65-3.58z\"/></svg>',\"clear\",\"Delete all markers\"),this.uiStyleSettings.undoButtonVisible&&this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z\"/></svg>',\"undo\",\"Undo\"),this.uiStyleSettings.redoButtonVisible&&this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M18.4 10.6C16.55 9 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 017.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z\"/></svg>',\"redo\",\"Redo\"),this.uiStyleSettings.zoomButtonVisible&&this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M15.5 14l5 5-1.5 1.5-5-5v-.79l-.27-.28A6.471 6.471 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3 6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.57 4.23l.28.27h.79m-6 0C12 14 14 12 14 9.5S12 5 9.5 5 5 7 5 9.5 7 14 9.5 14m2.5-4h-2v2H9v-2H7V9h2V7h1v2h2v1z\"/></svg>',\"zoom\",\"Zoom in\"),this.uiStyleSettings.zoomButtonVisible&&this.uiStyleSettings.zoomOutButtonVisible&&this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 009.5 3 6.5 6.5 0 003 9.5 6.5 6.5 0 009.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 5 1.5-1.5-5-5m-6 0C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14M7 9h5v1H7V9z\"/></svg>',\"zoom-out\",\"Zoom out\"),this.uiStyleSettings.notesButtonVisible&&this.addActionButton(i,'<svg viewBox=\"0 0 24 24\"><path d=\"M18.13 12l1.26-1.26c.44-.44 1-.68 1.61-.74V9l-6-6H5c-1.11 0-2 .89-2 2v14a2 2 0 002 2h6v-1.87l.13-.13H5V5h7v7h6.13M14 4.5l5.5 5.5H14V4.5m5.13 9.33l2.04 2.04L15.04 22H13v-2.04l6.13-6.13m3.72.36l-.98.98-2.04-2.04.98-.98c.19-.2.52-.2.72 0l1.32 1.32c.2.2.2.53 0 .72z\"/></svg>',\"notes\",\"Notes\"),this.markerButtonBlock=document.createElement(\"div\"),this.markerButtonBlock.className=this.toolbarBlockStyleClass.name,this.markerButtonBlock.style.flexGrow=\"2\",this.markerButtonBlock.style.textAlign=\"center\",this.uiContainer.appendChild(this.markerButtonBlock),this.markerButtonOverflowBlock=document.createElement(\"div\"),this.markerButtonOverflowBlock.className=this.toolbarOverflowBlockStyleClass.name+\" \"+(this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName?this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName:this.toolbarOverflowBlockStyleColorsClass.name),this.markerButtonOverflowBlock.style.display=\"none\",this.uiContainer.appendChild(this.markerButtonOverflowBlock),this.markerItems&&(this.markerItems.forEach((function(t){var i=document.createElement(\"div\");i.className=\"\"+e.toolbarButtonStyleClass.name,i.setAttribute(\"data-type-name\",t.typeName),i.setAttribute(\"aria-label\",t.title),i.setAttribute(\"title\",t.title),i.innerHTML=t.icon,i.addEventListener(\"click\",(function(){e.markerToolbarButtonClicked(i,t)})),e.buttons.push(i),e.markerButtons.push(i)})),this.overflowButton=document.createElement(\"div\"),this.overflowButton.className=this.toolbarButtonStyleClass.name+\" \"+(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name),this.overflowButton.innerHTML='<svg viewBox=\"0 0 24 24\"><path d=\"M12 16a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2m0-6a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2m0-6a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2z\"/></svg>',this.overflowButton.addEventListener(\"click\",this.overflowButtonClicked),this.markerButtonBlock.appendChild(this.overflowButton));var o=document.createElement(\"div\");o.className=this.toolbarBlockStyleClass.name,o.style.whiteSpace=\"nowrap\",o.style.display=!1!==this.uiStyleSettings.resultButtonBlockVisible?\"\":\"none\",this.uiContainer.appendChild(o),this.addActionButton(o,'<svg viewBox=\"0 0 24 24\"><path d=\"M9 20.42l-6.21-6.21 2.83-2.83L9 14.77l9.88-9.89 2.83 2.83L9 20.42z\"/></svg>',\"render\",\"Save and close\"),this.addActionButton(o,'<svg viewBox=\"0 0 24 24\"><path d=\"M20 6.91L17.09 4 12 9.09 6.91 4 4 6.91 9.09 12 4 17.09 6.91 20 12 14.91 17.09 20 20 17.09 14.91 12 20 6.91z\"/></svg>',\"close\",\"Close\"),this.markerjsContainer.appendChild(this.uiContainer),this.setSelectMode(),this.setCurrentMarker(),this.adjustLayout()},t.prototype.addButtonClickListener=function(t){this.buttonClickListeners.push(t)},t.prototype.removeButtonClickListener=function(t){this.buttonClickListeners.indexOf(t)>-1&&this.buttonClickListeners.splice(this.buttonClickListeners.indexOf(t),1)},t.prototype.setSelectMode=function(){this.resetButtonStyles(),this.setActiveButton(this.buttons[0])},t.prototype.adjustLayout=function(){if(this.markerButtons&&this.markerButtons.length>0){var t=Math.floor(this.markerButtonBlock.clientWidth/this.uiStyleSettings.toolbarHeight)-1;this.markerButtonBlock.innerHTML=\"\",this.markerButtonOverflowBlock.innerHTML=\"\";for(var e=0;e<this.markerButtons.length;e++)e<t||e===t&&this.markerButtons.length-1===t?this.markerButtonBlock.appendChild(this.markerButtons[e]):(e===t&&this.markerButtonBlock.appendChild(this.overflowButton),this.markerButtonOverflowBlock.appendChild(this.markerButtons[e]))}},t.prototype.overflowButtonClicked=function(){\"none\"!==this.markerButtonOverflowBlock.style.display?(this.markerButtonOverflowBlock.className=this.markerButtonOverflowBlock.className.replace(this.styles.fadeInAnimationClassName,\"\"),this.markerButtonOverflowBlock.style.display=\"none\"):(this.markerButtonOverflowBlock.className+=\" \"+this.styles.fadeInAnimationClassName,this.markerButtonOverflowBlock.style.top=this.uiContainer.offsetTop+this.overflowButton.offsetHeight+\"px\",this.markerButtonOverflowBlock.style.right=this.uiContainer.offsetWidth-this.overflowButton.offsetLeft-this.overflowButton.offsetWidth+2*this.uiContainer.offsetLeft+\"px\",this.markerButtonOverflowBlock.style.display=\"inline-block\")},t.prototype.resetButtonStyles=function(){var t=this;this.buttons.forEach((function(e){e.className=e.className.replace(t.uiStyleSettings.toolbarButtonStyleColorsClassName?t.uiStyleSettings.toolbarButtonStyleColorsClassName:t.toolbarButtonStyleColorsClass.name,\"\").trim(),e.className=e.className.replace(t.uiStyleSettings.toolbarActiveButtonStyleColorsClassName?t.uiStyleSettings.toolbarActiveButtonStyleColorsClassName:t.toolbarActiveButtonStyleColorsClass.name,\"\").trim(),e.className+=\" \"+(t.uiStyleSettings.toolbarButtonStyleColorsClassName?t.uiStyleSettings.toolbarButtonStyleColorsClassName:t.toolbarButtonStyleColorsClass.name)}))},t.prototype.addActionButton=function(t,e,i,o){var s=this,r=document.createElement(\"div\");switch(r.className=\"\"+this.toolbarButtonStyleClass.name,r.innerHTML=e,r.setAttribute(\"role\",\"button\"),r.setAttribute(\"data-action\",i),r.title=o,r.setAttribute(\"aria-label\",o),r.addEventListener(\"click\",(function(){s.actionToolbarButtonClicked(r,i)})),i){case\"select\":r.style.fill=this.uiStyleSettings.selectButtonColor;break;case\"delete\":case\"clear\":r.style.fill=this.uiStyleSettings.deleteButtonColor;break;case\"undo\":case\"redo\":r.style.fill=this.uiStyleSettings.selectButtonColor;break;case\"render\":r.style.fill=this.uiStyleSettings.okButtonColor;break;case\"close\":r.style.fill=this.uiStyleSettings.closeButtonColor}t.appendChild(r),this.buttons.push(r)},t.prototype.addStyles=function(){this.toolbarStyleClass=this.styles.addClass(new c(\"toolbar\",\"\\n width: 100%;\\n flex-shrink: 0;\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between; \\n height: \"+this.uiStyleSettings.toolbarHeight+\"px;\\n box-sizing: content-box;\\n \"+(\"inline\"===this.displayMode?\"border-top-left-radius: \"+Math.round(this.uiStyleSettings.toolbarHeight/10)+\"px;\":\"\")+\"\\n \"+(\"inline\"===this.displayMode?\"border-top-right-radius: \"+Math.round(this.uiStyleSettings.toolbarHeight/10)+\"px;\":\"\")+\"\\n overflow: hidden;\\n \")),this.toolbarStyleColorsClass=this.styles.addClass(new c(\"toolbar_colors\",\"\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundColor+\";\\n box-shadow: 0px 3px rgba(33, 33, 33, 0.1);\\n \")),this.toolbarBlockStyleClass=this.styles.addClass(new c(\"toolbar-block\",\"\\n display: inline-block;\\n box-sizing: content-box;\\n \")),this.toolbarOverflowBlockStyleClass=this.styles.addClass(new c(\"toolbar-overflow-block\",\"\\n position: absolute;\\n top: \"+this.uiStyleSettings.toolbarHeight+\"px;\\n max-width: \"+2*this.uiStyleSettings.toolbarHeight+\"px;\\n z-index: 10;\\n box-sizing: content-box;\\n \")),this.toolbarOverflowBlockStyleColorsClass=this.styles.addClass(new c(\"toolbar-overflow-block_colors\",\"\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundColor+\";\\n \"));var t=this.uiStyleSettings.toolbarHeight/4;this.toolbarButtonStyleClass=this.styles.addClass(new c(\"toolbar_button\",\"\\n display: inline-block;\\n width: \"+(this.uiStyleSettings.toolbarHeight-2*t)+\"px;\\n height: \"+(this.uiStyleSettings.toolbarHeight-2*t)+\"px;\\n padding: \"+t+\"px;\\n box-sizing: content-box;\\n \")),this.toolbarButtonStyleColorsClass=this.styles.addClass(new c(\"toolbar_button_colors\",\"\\n fill: \"+this.uiStyleSettings.toolbarColor+\";\\n \")),this.toolbarActiveButtonStyleColorsClass=this.styles.addClass(new c(\"toolbar_active_button\",\"\\n fill: \"+this.uiStyleSettings.toolbarColor+\";\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundHoverColor+\"\\n \")),this.styles.addRule(new p(\".\"+this.toolbarButtonStyleClass.name+\" svg\",\"\\n height: \"+this.uiStyleSettings.toolbarHeight/2+\"px;\\n \")),this.styles.addRule(new p(\".\"+this.toolbarButtonStyleColorsClass.name+\":hover\",\"\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundHoverColor+\"\\n \"))},t.prototype.markerToolbarButtonClicked=function(t,e){this.setActiveButton(t),this.buttonClickListeners&&this.buttonClickListeners.length>0&&this.buttonClickListeners.forEach((function(t){return t(\"marker\",e)})),this.markerButtonOverflowBlock.style.display=\"none\"},t.prototype.actionToolbarButtonClicked=function(t,e){this.buttonClickListeners&&this.buttonClickListeners.length>0&&this.buttonClickListeners.forEach((function(t){return t(\"action\",e)})),this.markerButtonOverflowBlock.style.display=\"none\",this.setActiveButton(this.buttons[0])},t.prototype.setActiveButton=function(t){this.resetButtonStyles(),t.className=t.className.replace(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name,\"\").trim(),t.className+=\" \"+(this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName?this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName:this.toolbarActiveButtonStyleColorsClass.name)},t.prototype.setActiveMarkerButton=function(t){var e=this.markerButtons.find((function(e){return e.getAttribute(\"data-type-name\")===t}));e&&this.setActiveButton(e)},t.prototype.setCurrentMarker=function(t){var e=this;this.currentMarker=t,this.buttons.filter((function(t){return/delete|notes/.test(t.getAttribute(\"data-action\"))})).forEach((function(t){void 0===e.currentMarker?(t.style.fillOpacity=\"0.4\",t.style.pointerEvents=\"none\"):(t.style.fillOpacity=\"1\",t.style.pointerEvents=\"all\")}))},t}(),u=function(){function t(t,e,i,o){this.panels=[],this.panelButtons=[],this.markerjsContainer=t,this.displayMode=e,this.uiStyleSettings=i,this.styles=o,this.panelButtonClick=this.panelButtonClick.bind(this),this.addStyles()}return t.prototype.addStyles=function(){var t;this.toolboxStyleClass=this.styles.addClass(new c(\"toolbox\",\"\\n width: 100%;\\n flex-shrink: 0;\\n display: flex;\\n flex-direction: column;\\n font-family: sans-serif;\\n \"+(\"popup\"===this.displayMode?\"height:\"+2.5*this.uiStyleSettings.toolbarHeight+\"px;\":\"\")+\"\\n box-sizing: content-box;\\n \"+(\"popup\"===this.displayMode?\"background-color: \"+this.uiStyleSettings.canvasBackgroundColor+\";\":\"\")+\"\\n \"+(\"inline\"===this.displayMode?\"border-bottom-left-radius: \"+Math.round(this.uiStyleSettings.toolbarHeight/10)+\"px;\":\"\")+\"\\n \"+(\"inline\"===this.displayMode?\"border-bottom-right-radius: \"+Math.round(this.uiStyleSettings.toolbarHeight/10)+\"px;\":\"\")+\"\\n overflow: hidden;\\n \")),this.toolboxStyleColorsClass=this.styles.addClass(new c(\"toolbox_colors\",\"\\n color: \"+this.uiStyleSettings.toolboxColor+\";\\n \"));var e=this.uiStyleSettings.toolbarHeight/4;this.toolboxButtonRowStyleClass=this.styles.addClass(new c(\"toolbox-button-row\",\"\\n display: flex;\\n cursor: default;\\n box-sizing: content-box;\\n \")),this.toolboxButtonRowStyleColorsClass=this.styles.addClass(new c(\"toolbox-button-row_colors\",\"\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundColor+\";\\n \")),this.toolboxPanelRowStyleClass=this.styles.addClass(new c(\"toolbox-panel-row\",\"\\n display: flex;\\n \"+(\"inline\"===this.displayMode?\"position: absolute;\":\"\")+\"\\n \"+(\"inline\"===this.displayMode?\"bottom: \"+this.uiStyleSettings.toolbarHeight+\"px;\":\"\")+\"\\n cursor: default;\\n height: \"+1.5*this.uiStyleSettings.toolbarHeight+\"px;\\n \"+(\"inline\"===this.displayMode?\"width: 100%;\":\"\")+\"\\n box-sizing: content-box;\\n \")),this.toolboxPanelRowStyleColorsClass=this.styles.addClass(new c(\"toolbox-panel-row_colors\",\"\\n background-color: \"+(null!==(t=this.uiStyleSettings.toolboxBackgroundColor)&&void 0!==t?t:this.uiStyleSettings.toolbarBackgroundHoverColor)+\";\\n \")),this.toolboxButtonStyleClass=this.styles.addClass(new c(\"toolbox_button\",\"\\n display: inline-block;\\n width: \"+(this.uiStyleSettings.toolbarHeight-2*e)+\"px;\\n height: \"+(this.uiStyleSettings.toolbarHeight-2*e)+\"px;\\n padding: \"+e+\"px;\\n box-sizing: content-box;\\n \")),this.toolboxButtonStyleColorsClass=this.styles.addClass(new c(\"toolbox-button_colors\",\"\\n fill: \"+this.uiStyleSettings.toolbarColor+\";\\n \")),this.toolboxActiveButtonStyleColorsClass=this.styles.addClass(new c(\"toolbox-active-button_colors\",\"\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundHoverColor+\";\\n fill: \"+this.uiStyleSettings.toolbarColor+\";\\n \")),this.styles.addRule(new p(\".\"+this.toolboxButtonStyleColorsClass.name+\":hover\",\"\\n background-color: \"+this.uiStyleSettings.toolbarBackgroundHoverColor+\"\\n \")),this.styles.addRule(new p(\".\"+this.toolboxButtonStyleClass.name+\" svg\",\"\\n height: \"+this.uiStyleSettings.toolbarHeight/2+\"px;\\n \")),this.styles.addRule(new p(\".\"+this.toolboxPanelRowStyleClass.name+\" > div\",\"\\n scrollbar-width: thin;\\n \")),this.styles.addRule(new p(\".\"+this.toolboxPanelRowStyleClass.name+\" > div::-webkit-scrollbar\",\"\\n height: 10px;\\n width: 10px;\\n \")),this.styles.addRule(new p(\".\"+this.toolboxPanelRowStyleClass.name+\" > div::-webkit-scrollbar-track\",\"\\n background-color: transparent;\\n \")),this.styles.addRule(new p(\".\"+this.toolboxPanelRowStyleClass.name+\" > div::-webkit-scrollbar-thumb\",\"\\n background-color: #444;\\n border-radius: 20px;\\n border: 2px solid #aaa;\\n \"))},t.prototype.show=function(t){var e;this.uiContainer=document.createElement(\"div\"),this.uiContainer.style.visibility=t,this.uiContainer.className=this.toolboxStyleClass.name+\" \"+(null!==(e=this.uiStyleSettings.toolboxStyleColorsClassName)&&void 0!==e?e:this.toolboxStyleColorsClass.name),this.markerjsContainer.appendChild(this.uiContainer)},t.prototype.setPanelButtons=function(t){var e,i,o=this;this.panels=t,void 0!==this.uiContainer&&(this.uiContainer.innerHTML=\"\",this.panelRow=document.createElement(\"div\"),this.panelRow.className=this.toolboxPanelRowStyleClass.name+\" \"+(null!==(e=this.uiStyleSettings.toolboxPanelRowStyleColorsClassName)&&void 0!==e?e:this.toolboxPanelRowStyleColorsClass.name),this.uiContainer.appendChild(this.panelRow),this.buttonRow=document.createElement(\"div\"),this.buttonRow.className=this.toolboxButtonRowStyleClass.name+\" \"+(null!==(i=this.uiStyleSettings.toolboxButtonRowStyleColorsClassName)&&void 0!==i?i:this.toolboxButtonRowStyleColorsClass.name)+\" \",this.uiContainer.appendChild(this.buttonRow),this.panelButtons.splice(0),this.panels.forEach((function(t){var e;t.uiStyleSettings=o.uiStyleSettings;var i=document.createElement(\"div\");i.className=o.toolboxButtonStyleClass.name+\" \"+(null!==(e=o.uiStyleSettings.toolboxButtonStyleColorsClassName)&&void 0!==e?e:o.toolboxButtonStyleColorsClass.name),i.innerHTML=t.icon,i.title=t.title,i.setAttribute(\"role\",\"button\"),i.setAttribute(\"aria-label\",t.title),t.id&&i.setAttribute(\"data-action\",t.id),i.addEventListener(\"click\",(function(){o.panelButtonClick(t)})),o.panelButtons.push(i),o.buttonRow.appendChild(i)})),\"inline\"===this.displayMode?this.panelRow.style.display=\"none\":this.panelRow.style.visibility=\"hidden\")},t.prototype.panelButtonClick=function(t){var e=this,i=-1;if(t!==this.activePanel){i=this.panels.indexOf(t),this.panelRow.innerHTML=\"\";var o=t.getUi();o.style.margin=this.uiStyleSettings.toolbarHeight/4+\"px\",this.panelRow.appendChild(o),this.panelRow.style.display=\"flex\",this.panelRow.style.visibility=\"visible\",this.panelRow.className=this.panelRow.className.replace(this.styles.fadeOutAnimationClassName,\"\"),this.panelRow.className+=\" \"+this.styles.fadeInAnimationClassName,this.activePanel=t}else this.activePanel=void 0,this.panelRow.className=this.panelRow.className.replace(this.styles.fadeInAnimationClassName,\"\"),this.panelRow.className+=\" \"+this.styles.fadeOutAnimationClassName,setTimeout((function(){\"inline\"===e.displayMode?e.panelRow.style.display=\"none\":e.panelRow.style.visibility=\"hidden\"}),200);this.panelButtons.forEach((function(t,o){var s,r;t.className=e.toolboxButtonStyleClass.name+\" \"+(o===i?\"\"+(null!==(s=e.uiStyleSettings.toolboxActiveButtonStyleColorsClassName)&&void 0!==s?s:e.toolboxActiveButtonStyleColorsClass.name):\"\"+(null!==(r=e.uiStyleSettings.toolboxButtonStyleColorsClassName)&&void 0!==r?r:e.toolboxButtonStyleColorsClass.name))}))},t}(),y=function(){function t(t,e,i){this.title=t,this.icon=e,this._id=i}return Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!1,configurable:!0}),t}(),g=function(t){function i(e,i,o,s,r){var n=t.call(this,e,s||'<svg viewBox=\"0 0 24 24\"><path d=\"M17.5 12a1.5 1.5 0 01-1.5-1.5A1.5 1.5 0 0117.5 9a1.5 1.5 0 011.5 1.5 1.5 1.5 0 01-1.5 1.5m-3-4A1.5 1.5 0 0113 6.5 1.5 1.5 0 0114.5 5 1.5 1.5 0 0116 6.5 1.5 1.5 0 0114.5 8m-5 0A1.5 1.5 0 018 6.5 1.5 1.5 0 019.5 5 1.5 1.5 0 0111 6.5 1.5 1.5 0 019.5 8m-3 4A1.5 1.5 0 015 10.5 1.5 1.5 0 016.5 9 1.5 1.5 0 018 10.5 1.5 1.5 0 016.5 12M12 3a9 9 0 00-9 9 9 9 0 009 9 1.5 1.5 0 001.5-1.5c0-.39-.15-.74-.39-1-.23-.27-.38-.62-.38-1a1.5 1.5 0 011.5-1.5H16a5 5 0 005-5c0-4.42-4.03-8-9-8z\"/></svg>',r||\"color-picker-panel\")||this;return n.colors=[],n.addTransparent=!1,n.colorBoxes=[],n.colors=i,n.currentColor=o,n.setCurrentColor=n.setCurrentColor.bind(n),n.getColorBox=n.getColorBox.bind(n),n}return e(i,t),i.prototype.getUi=function(){var t=this,e=document.createElement(\"div\");return e.style.overflow=\"hidden\",e.style.overflowX=\"auto\",e.style.whiteSpace=\"nowrap\",this.colors.forEach((function(i){var o=t.getColorBox(i);e.appendChild(o),t.colorBoxes.push(o)})),e},i.prototype.getColorBox=function(t){var e=this,i=this.uiStyleSettings.toolbarHeight/4,o=this.uiStyleSettings.toolbarHeight-i,s=document.createElement(\"div\");s.style.display=\"inline-block\",s.style.boxSizing=\"content-box\",s.style.width=o-2+\"px\",s.style.height=o-2+\"px\",s.style.padding=\"1px\",s.style.marginRight=\"2px\",s.style.marginBottom=\"2px\",s.style.borderWidth=\"2px\",s.style.borderStyle=\"solid\",s.style.borderRadius=(o+2)/2+\"px\",s.style.borderColor=t===this.currentColor?this.uiStyleSettings.toolboxAccentColor:\"transparent\",s.addEventListener(\"click\",(function(){e.setCurrentColor(t,s)}));var r=document.createElement(\"div\");return r.style.display=\"inline-block\",r.style.width=o-2+\"px\",r.style.height=o-2+\"px\",r.style.backgroundColor=t,r.style.borderRadius=o/2+\"px\",\"transparent\"===t&&(r.style.fill=this.uiStyleSettings.toolboxAccentColor,r.innerHTML='<svg viewBox=\"0 0 24 24\">\\n <path d=\"M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z\" />\\n </svg>'),s.appendChild(r),s},i.prototype.setCurrentColor=function(t,e){var i=this;this.currentColor=t,this.colorBoxes.forEach((function(t){t.style.borderColor=t===e?i.uiStyleSettings.toolboxAccentColor:\"transparent\"})),this.onColorChanged&&this.onColorChanged(t)},i}(y),f=function(){function t(t,e,i){this._state=\"new\",this._isSelected=!1,this._container=t,this._overlayContainer=e,this.globalSettings=i,this.stateChanged=this.stateChanged.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this)}return Object.defineProperty(t.prototype,\"typeName\",{get:function(){return Object.getPrototypeOf(this).constructor.typeName},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"container\",{get:function(){return this._container},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"overlayContainer\",{get:function(){return this._overlayContainer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{get:function(){return this._state},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"toolboxPanels\",{get:function(){return[]},enumerable:!1,configurable:!0}),t.prototype.ownsTarget=function(t){return!1},Object.defineProperty(t.prototype,\"isSelected\",{get:function(){return this._isSelected},enumerable:!1,configurable:!0}),t.prototype.select=function(){this.container.style.cursor=\"move\",this._isSelected=!0,this.manipulationStartState=this.getState()},t.prototype.deselect=function(){this.container.style.cursor=\"default\",this._isSelected=!1,this.stateChanged()},t.prototype.pointerDown=function(t,e){},t.prototype.dblClick=function(t,e){},t.prototype.manipulate=function(t){},t.prototype.pointerUp=function(t){this.stateChanged()},t.prototype.dispose=function(){},t.prototype.addMarkerVisualToContainer=function(t){this.container.childNodes.length>0?this.container.insertBefore(t,this.container.childNodes[0]):this.container.appendChild(t)},t.prototype.getState=function(){return{typeName:t.typeName,state:this.state,notes:this.notes}},t.prototype.restoreState=function(t){this._state=t.state,this.notes=t.notes},t.prototype.scale=function(t,e){},t.prototype.colorChanged=function(t){this.onColorChanged&&this.onColorChanged(t),this.stateChanged()},t.prototype.fillColorChanged=function(t){this.onFillColorChanged&&this.onFillColorChanged(t),this.stateChanged()},t.prototype.stateChanged=function(){if(this.onStateChanged&&\"creating\"!==this.state&&\"new\"!==this.state){var t=this.getState();void 0!==this.manipulationStartState&&(this.manipulationStartState.state=\"select\"),t.state=\"select\",JSON.stringify(this.manipulationStartState)!=JSON.stringify(t)&&this.onStateChanged(this)}},t.typeName=\"MarkerBase\",t}(),v=function(){function t(){this.findGripByVisual=this.findGripByVisual.bind(this)}return t.prototype.findGripByVisual=function(t){return this.topLeft.ownsTarget(t)?this.topLeft:this.topCenter.ownsTarget(t)?this.topCenter:this.topRight.ownsTarget(t)?this.topRight:this.centerLeft.ownsTarget(t)?this.centerLeft:this.centerRight.ownsTarget(t)?this.centerRight:this.bottomLeft.ownsTarget(t)?this.bottomLeft:this.bottomCenter.ownsTarget(t)?this.bottomCenter:this.bottomRight.ownsTarget(t)?this.bottomRight:void 0},t}(),m=function(){function t(){this.GRIP_SIZE=10,this.visual=r.createGroup(),this.visual.appendChild(r.createCircle(1.5*this.GRIP_SIZE,[[\"fill\",\"transparent\"]])),this.visual.appendChild(r.createCircle(this.GRIP_SIZE,[[\"fill\",\"#cccccc\"],[\"fill-opacity\",\"0.7\"],[\"stroke\",\"#333333\"],[\"stroke-width\",\"2\"],[\"stroke-opacity\",\"0.7\"]]))}return t.prototype.ownsTarget=function(t){return t===this.visual||t===this.visual.childNodes[0]||t===this.visual.childNodes[1]},t}(),C=function(){function t(){}return t.toITransformMatrix=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,e:t.e,f:t.f}},t.toSVGMatrix=function(t,e){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t.e=e.e,t.f=e.f,t},t}(),b=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.left=0,s.top=0,s.width=0,s.height=0,s.defaultSize={x:50,y:20},s.offsetX=0,s.offsetY=0,s.rotationAngle=0,s.CB_DISTANCE=10,s._suppressMarkerCreateEvent=!1,s.container.transform.baseVal.appendItem(r.createTransform()),s.setupControlBox(),s}return e(i,t),Object.defineProperty(i.prototype,\"centerX\",{get:function(){return this.left+this.width/2},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"centerY\",{get:function(){return this.top+this.height/2},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"visual\",{get:function(){return this._visual},set:function(t){this._visual=t;var e=r.createTransform();this._visual.transform.baseVal.appendItem(e)},enumerable:!1,configurable:!0}),i.prototype.ownsTarget=function(e){return!!t.prototype.ownsTarget.call(this,e)||!!(void 0!==this.controlGrips.findGripByVisual(e)||void 0!==this.rotatorGrip&&this.rotatorGrip.ownsTarget(e))},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),\"new\"===this.state&&(this.left=e.x,this.top=e.y),this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.manipulationStartWidth=this.width,this.manipulationStartHeight=this.height;var o=this.unrotatePoint(e);if(this.manipulationStartX=o.x,this.manipulationStartY=o.y,this.offsetX=o.x-this.left,this.offsetY=o.y-this.top,\"new\"!==this.state)if(this.select(),this.activeGrip=this.controlGrips.findGripByVisual(i),void 0!==this.activeGrip)this._state=\"resize\";else if(void 0!==this.rotatorGrip&&this.rotatorGrip.ownsTarget(i)){this.activeGrip=this.rotatorGrip;var s=this.rotatePoint({x:this.centerX,y:this.centerY});this.left=s.x-this.width/2,this.top=s.y-this.height/2,this.moveVisual({x:this.left,y:this.top});var r=this.container.transform.baseVal.getItem(0);r.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(r,0),this.adjustControlBox(),this._state=\"rotate\"}else this._state=\"move\"},i.prototype.pointerUp=function(e){var i=this.state;t.prototype.pointerUp.call(this,e),\"creating\"===this.state&&this.width<10&&this.height<10?(this.width=this.defaultSize.x,this.height=this.defaultSize.y):this.manipulate(e),this._state=\"select\",\"creating\"===i&&this.onMarkerCreated&&!1===this._suppressMarkerCreateEvent&&this.onMarkerCreated(this)},i.prototype.moveVisual=function(t){this.visual.style.transform=\"translate(\"+t.x+\"px, \"+t.y+\"px)\"},i.prototype.manipulate=function(t){var e=this.unrotatePoint(t);\"creating\"===this.state?this.resize(t):\"move\"===this.state?(this.left=this.manipulationStartLeft+(e.x-this.manipulationStartLeft)-this.offsetX,this.top=this.manipulationStartTop+(e.y-this.manipulationStartTop)-this.offsetY,this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()):\"resize\"===this.state?this.resize(e):\"rotate\"===this.state&&this.rotate(t)},i.prototype.resize=function(t){var e=this.manipulationStartLeft,i=this.manipulationStartWidth,o=this.manipulationStartTop,s=this.manipulationStartHeight;switch(this.activeGrip){case this.controlGrips.bottomLeft:case this.controlGrips.centerLeft:case this.controlGrips.topLeft:e=this.manipulationStartLeft+t.x-this.manipulationStartX,i=this.manipulationStartWidth+this.manipulationStartLeft-e;break;case this.controlGrips.bottomRight:case this.controlGrips.centerRight:case this.controlGrips.topRight:case void 0:i=this.manipulationStartWidth+t.x-this.manipulationStartX}switch(this.activeGrip){case this.controlGrips.topCenter:case this.controlGrips.topLeft:case this.controlGrips.topRight:o=this.manipulationStartTop+t.y-this.manipulationStartY,s=this.manipulationStartHeight+this.manipulationStartTop-o;break;case this.controlGrips.bottomCenter:case this.controlGrips.bottomLeft:case this.controlGrips.bottomRight:case void 0:s=this.manipulationStartHeight+t.y-this.manipulationStartY}i>=0?(this.left=e,this.width=i):(this.left=e+i,this.width=-i),s>=0?(this.top=o,this.height=s):(this.top=o+s,this.height=-s),this.setSize()},i.prototype.setSize=function(){this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()},i.prototype.rotate=function(t){if(Math.abs(t.x-this.centerX)>.1){var e=Math.sign(t.x-this.centerX);this.rotationAngle=180*Math.atan((t.y-this.centerY)/(t.x-this.centerX))/Math.PI+90*e,this.applyRotation()}},i.prototype.applyRotation=function(){var t=this.container.transform.baseVal.getItem(0);t.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(t,0)},i.prototype.rotatePoint=function(t){if(0===this.rotationAngle)return t;var e=this.container.getCTM(),i=r.createPoint(t.x,t.y);return{x:(i=i.matrixTransform(e)).x,y:i.y}},i.prototype.unrotatePoint=function(t){if(0===this.rotationAngle)return t;var e=this.container.getCTM();e=e.inverse();var i=r.createPoint(t.x,t.y);return{x:(i=i.matrixTransform(e)).x,y:i.y}},i.prototype.select=function(){t.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=\"\"},i.prototype.deselect=function(){t.prototype.deselect.call(this),this.controlBox.style.display=\"none\"},i.prototype.setupControlBox=function(){this.controlBox=r.createGroup();var t=r.createTransform();t.setTranslate(-this.CB_DISTANCE/2,-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.appendItem(t),this.container.appendChild(this.controlBox),this.controlRect=r.createRect(this.width+this.CB_DISTANCE,this.height+this.CB_DISTANCE,[[\"stroke\",\"black\"],[\"stroke-width\",\"1\"],[\"stroke-opacity\",\"0.5\"],[\"stroke-dasharray\",\"3, 2\"],[\"fill\",\"transparent\"],[\"pointer-events\",\"none\"]]),this.controlBox.appendChild(this.controlRect),!0!==this.globalSettings.disableRotation&&(this.rotatorGripLine=r.createLine((this.width+2*this.CB_DISTANCE)/2,this.top-this.CB_DISTANCE,(this.width+2*this.CB_DISTANCE)/2,this.top-3*this.CB_DISTANCE,[[\"stroke\",\"black\"],[\"stroke-width\",\"1\"],[\"stroke-opacity\",\"0.5\"],[\"stroke-dasharray\",\"3, 2\"]]),this.controlBox.appendChild(this.rotatorGripLine)),this.controlGrips=new v,this.addControlGrips(),this.controlBox.style.display=\"none\"},i.prototype.adjustControlBox=function(){var t=this.controlBox.transform.baseVal.getItem(0);t.setTranslate(this.left-this.CB_DISTANCE/2,this.top-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.replaceItem(t,0),this.controlRect.setAttribute(\"width\",(this.width+this.CB_DISTANCE).toString()),this.controlRect.setAttribute(\"height\",(this.height+this.CB_DISTANCE).toString()),void 0!==this.rotatorGripLine&&(this.rotatorGripLine.setAttribute(\"x1\",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute(\"y1\",(-this.CB_DISTANCE/2).toString()),this.rotatorGripLine.setAttribute(\"x2\",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute(\"y2\",(3*-this.CB_DISTANCE).toString())),this.positionGrips()},i.prototype.addControlGrips=function(){this.controlGrips.topLeft=this.createGrip(),this.controlGrips.topCenter=this.createGrip(),this.controlGrips.topRight=this.createGrip(),this.controlGrips.centerLeft=this.createGrip(),this.controlGrips.centerRight=this.createGrip(),this.controlGrips.bottomLeft=this.createGrip(),this.controlGrips.bottomCenter=this.createGrip(),this.controlGrips.bottomRight=this.createGrip(),!0!==this.globalSettings.disableRotation&&(this.rotatorGrip=this.createGrip()),this.positionGrips()},i.prototype.createGrip=function(){var t=new m;return t.visual.transform.baseVal.appendItem(r.createTransform()),this.controlBox.appendChild(t.visual),t},i.prototype.positionGrips=function(){var t=this.controlGrips.topLeft.GRIP_SIZE,e=-t/2,i=e,o=(this.width+this.CB_DISTANCE)/2-t/2,s=(this.height+this.CB_DISTANCE)/2-t/2,r=this.height+this.CB_DISTANCE-t/2,n=this.width+this.CB_DISTANCE-t/2;this.positionGrip(this.controlGrips.topLeft.visual,e,i),this.positionGrip(this.controlGrips.topCenter.visual,o,i),this.positionGrip(this.controlGrips.topRight.visual,n,i),this.positionGrip(this.controlGrips.centerLeft.visual,e,s),this.positionGrip(this.controlGrips.centerRight.visual,n,s),this.positionGrip(this.controlGrips.bottomLeft.visual,e,r),this.positionGrip(this.controlGrips.bottomCenter.visual,o,r),this.positionGrip(this.controlGrips.bottomRight.visual,n,r),void 0!==this.rotatorGrip&&this.positionGrip(this.rotatorGrip.visual,o,i-3*this.CB_DISTANCE)},i.prototype.positionGrip=function(t,e,i){var o=t.transform.baseVal.getItem(0);o.setTranslate(e,i),t.transform.baseVal.replaceItem(o,0)},i.prototype.hideControlBox=function(){this.controlBox.style.display=\"none\"},i.prototype.showControlBox=function(){this.controlBox.style.display=\"\"},i.prototype.getState=function(){return Object.assign({left:this.left,top:this.top,width:this.width,height:this.height,rotationAngle:this.rotationAngle,visualTransformMatrix:C.toITransformMatrix(this.visual.transform.baseVal.getItem(0).matrix),containerTransformMatrix:C.toITransformMatrix(this.container.transform.baseVal.getItem(0).matrix)},t.prototype.getState.call(this))},i.prototype.restoreState=function(e){t.prototype.restoreState.call(this,e);var i=e;this.left=i.left,this.top=i.top,this.width=i.width,this.height=i.height,this.rotationAngle=i.rotationAngle,this.visual.transform.baseVal.getItem(0).setMatrix(C.toSVGMatrix(this.visual.transform.baseVal.getItem(0).matrix,i.visualTransformMatrix)),this.container.transform.baseVal.getItem(0).setMatrix(C.toSVGMatrix(this.container.transform.baseVal.getItem(0).matrix,i.containerTransformMatrix))},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i);var o=this.rotatePoint({x:this.left,y:this.top}),s=this.unrotatePoint({x:o.x*e,y:o.y*i});this.left=s.x,this.top=s.y,this.width=this.width*e,this.height=this.height*i,this.adjustControlBox()},i}(f),x=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.fillColor=\"transparent\",s.strokeColor=\"transparent\",s.strokeWidth=0,s.strokeDasharray=\"\",s.opacity=1,s.setStrokeColor=s.setStrokeColor.bind(s),s.setFillColor=s.setFillColor.bind(s),s.setStrokeWidth=s.setStrokeWidth.bind(s),s.setStrokeDasharray=s.setStrokeDasharray.bind(s),s.createVisual=s.createVisual.bind(s),s}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.visual)},i.prototype.createVisual=function(){this.visual=r.createRect(1,1,[[\"fill\",this.fillColor],[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()],[\"stroke-dasharray\",this.strokeDasharray],[\"opacity\",this.opacity.toString()]]),this.addMarkerVisualToContainer(this.visual)},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),\"new\"===this.state&&(this.createVisual(),this.moveVisual(e),this._state=\"creating\")},i.prototype.manipulate=function(e){t.prototype.manipulate.call(this,e)},i.prototype.resize=function(e){t.prototype.resize.call(this,e),this.setSize()},i.prototype.setSize=function(){t.prototype.setSize.call(this),r.setAttributes(this.visual,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]])},i.prototype.pointerUp=function(e){t.prototype.pointerUp.call(this,e),this.setSize()},i.prototype.setStrokeColor=function(t){this.strokeColor=t,this.visual&&r.setAttributes(this.visual,[[\"stroke\",this.strokeColor]]),this.colorChanged(t),this.stateChanged()},i.prototype.setFillColor=function(t){this.fillColor=t,this.visual&&r.setAttributes(this.visual,[[\"fill\",this.fillColor]]),this.stateChanged()},i.prototype.setStrokeWidth=function(t){this.strokeWidth=t,this.visual&&r.setAttributes(this.visual,[[\"stroke-width\",this.strokeWidth.toString()]]),this.stateChanged()},i.prototype.setStrokeDasharray=function(t){this.strokeDasharray=t,this.visual&&r.setAttributes(this.visual,[[\"stroke-dasharray\",this.strokeDasharray]]),this.stateChanged()},i.prototype.getState=function(){return Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:this.opacity},t.prototype.getState.call(this))},i.prototype.restoreState=function(e){var i=e;this.fillColor=i.fillColor,this.strokeColor=i.strokeColor,this.strokeWidth=i.strokeWidth,this.strokeDasharray=i.strokeDasharray,this.opacity=i.opacity,this.createVisual(),t.prototype.restoreState.call(this,e),this.setSize()},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.setSize()},i.title=\"Rectangle marker\",i}(b),S=function(t){function i(e,i,o,s,r){var n=t.call(this,e,s||'<svg viewBox=\"0 0 24 24\"><path d=\"M3 17h18v-2H3v2m0 3h18v-1H3v1m0-7h18v-3H3v3m0-9v4h18V4H3z\"/></svg>',r||\"line-width-panel\")||this;return n.widths=[],n.widthBoxes=[],n.widths=i,n.currentWidth=o,n.setCurrentWidth=n.setCurrentWidth.bind(n),n}return e(i,t),i.prototype.getUi=function(){var t=this,e=document.createElement(\"div\");return e.style.display=\"flex\",e.style.overflow=\"hidden\",e.style.flexGrow=\"2\",this.widths.forEach((function(i){var o=document.createElement(\"div\");o.style.display=\"flex\",o.style.flexGrow=\"2\",o.style.alignItems=\"center\",o.style.justifyContent=\"space-between\",o.style.padding=\"5px\",o.style.borderWidth=\"2px\",o.style.borderStyle=\"solid\",o.style.borderColor=i===t.currentWidth?t.uiStyleSettings.toolboxAccentColor:\"transparent\",o.addEventListener(\"click\",(function(){t.setCurrentWidth(i,o)})),e.appendChild(o);var s=document.createElement(\"div\");s.innerText=i.toString(),s.style.marginRight=\"5px\",o.appendChild(s);var r=document.createElement(\"div\");r.style.minHeight=\"20px\",r.style.flexGrow=\"2\",r.style.display=\"flex\",r.style.alignItems=\"center\";var n=document.createElement(\"hr\");n.style.minWidth=\"20px\",n.style.border=\"0px\",n.style.borderTop=i+\"px solid \"+t.uiStyleSettings.toolboxColor,n.style.flexGrow=\"2\",r.appendChild(n),o.appendChild(r),t.widthBoxes.push(o)})),e},i.prototype.setCurrentWidth=function(t,e){var i=this;this.currentWidth=t,this.widthBoxes.forEach((function(t){t.style.borderColor=t===e?i.uiStyleSettings.toolboxAccentColor:\"transparent\"})),this.onWidthChanged&&this.onWidthChanged(this.currentWidth)},i}(y),k=function(t){function i(e,i,o,s,r){var n=t.call(this,e,s||'<svg viewBox=\"0 0 24 24\"><path d=\"M3 16h5v-2H3v2m6.5 0h5v-2h-5v2m6.5 0h5v-2h-5v2M3 20h2v-2H3v2m4 0h2v-2H7v2m4 0h2v-2h-2v2m4 0h2v-2h-2v2m4 0h2v-2h-2v2M3 12h8v-2H3v2m10 0h8v-2h-8v2M3 4v4h18V4H3z\"/></svg>',r||\"line-style-panel\")||this;return n.styles=[],n.styleBoxes=[],n.styles=i,n.currentStyle=o,n.setCurrentStyle=n.setCurrentStyle.bind(n),n}return e(i,t),i.prototype.getUi=function(){var t=this,e=document.createElement(\"div\");return e.style.display=\"flex\",e.style.overflow=\"hidden\",e.style.flexGrow=\"2\",this.styles.forEach((function(i){var o=document.createElement(\"div\");o.style.display=\"flex\",o.style.alignItems=\"center\",o.style.justifyContent=\"space-between\",o.style.padding=\"5px\",o.style.borderWidth=\"2px\",o.style.borderStyle=\"solid\",o.style.overflow=\"hidden\",o.style.maxWidth=100/t.styles.length-5+\"%\",o.style.borderColor=i===t.currentStyle?t.uiStyleSettings.toolboxAccentColor:\"transparent\",o.addEventListener(\"click\",(function(){t.setCurrentStyle(i,o)})),e.appendChild(o);var s=document.createElement(\"div\");s.style.minHeight=\"20px\",s.style.flexGrow=\"2\",s.style.overflow=\"hidden\";var r='<svg width=\"100\" height=\"20\">\\n <line x1=\"0\" y1=\"10\" x2=\"100\" y2=\"10\" stroke=\"'+t.uiStyleSettings.toolboxColor+'\" stroke-width=\"3\" '+(\"\"!==i?'stroke-dasharray=\"'+i+'\"':\"\")+\" />\\n </svg>\";s.innerHTML=r,o.appendChild(s),t.styleBoxes.push(o)})),e},i.prototype.setCurrentStyle=function(t,e){var i=this;this.currentStyle=t,this.styleBoxes.forEach((function(t){t.style.borderColor=t===e?i.uiStyleSettings.toolboxAccentColor:\"transparent\"})),this.onStyleChanged&&this.onStyleChanged(this.currentStyle)},i}(y),w=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.strokeColor=o.defaultColor,s.strokeWidth=o.defaultStrokeWidth,s.strokeDasharray=o.defaultStrokeDasharray,s.strokePanel=new g(\"Line color\",o.defaultColorSet,o.defaultColor),s.strokePanel.onColorChanged=s.setStrokeColor,s.strokeWidthPanel=new S(\"Line width\",o.defaultStrokeWidths,o.defaultStrokeWidth),s.strokeWidthPanel.onWidthChanged=s.setStrokeWidth,s.strokeStylePanel=new k(\"Line style\",o.defaultStrokeDasharrays,o.defaultStrokeDasharray),s.strokeStylePanel.onStyleChanged=s.setStrokeDasharray,s}return e(i,t),Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=t.prototype.getState.call(this);return e.typeName=i.typeName,e},i.typeName=\"FrameMarker\",i.title=\"Frame marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M4 6v13h16V6H4m14 11H6V8h12v9z\"/></svg>',i}(x),B=function(){this.defaultColorSet=[\"#EF4444\",\"#10B981\",\"#2563EB\",\"#FFFF00\",\"#7C3AED\",\"#F472B6\",\"#000000\",\"#FFFFFF\"],this.defaultColor=this.defaultColorSet[0],this.defaultFillColor=this.defaultColorSet[0],this.defaultStrokeColor=this.defaultColorSet[7],this.defaultHighlightColor=this.defaultColorSet[3],this.defaultStrokeWidth=3,this.defaultStrokeDasharray=\"\",this.defaultHighlightOpacity=.5,this.defaultFontFamily=\"Helvetica, Arial, sans-serif\",this.defaultStrokeWidths=[1,2,3,5,10],this.defaultStrokeDasharrays=[\"\",\"3\",\"12 3\",\"9 6 3 6\"],this.defaultOpacitySteps=[.1,.25,.5,.75,1],this.displayMode=\"inline\",this.defaultFontFamilies=['Times, \"Times New Roman\", serif',\"Helvetica, Arial, sans-serif\",'Courier, \"Courier New\", monospace',\"cursive\",\"fantasy\"],this.popupMargin=30,this.newFreehandMarkerOnPointerUp=!1,this.defaultColorsFollowCurrentColors=!1,this.freehandPixelRatio=1,this.disableRotation=!1,this.defaultCaptionFontSize=\"1rem\",this.defaultCaptionText=\"Text\",this.wrapText=!1,this.defaultText=\"Your text here\"},E=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.x1=0,s.y1=0,s.x2=0,s.y2=0,s.defaultLength=50,s.manipulationStartX=0,s.manipulationStartY=0,s.manipulationStartX1=0,s.manipulationStartY1=0,s.manipulationStartX2=0,s.manipulationStartY2=0,s.setupControlBox(),s}return e(i,t),i.prototype.ownsTarget=function(e){return!!t.prototype.ownsTarget.call(this,e)||!(!this.grip1.ownsTarget(e)&&!this.grip2.ownsTarget(e))},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),this.manipulationStartX=e.x,this.manipulationStartY=e.y,\"new\"===this.state&&(this.x1=e.x,this.y1=e.y,this.x2=e.x,this.y2=e.y),this.manipulationStartX1=this.x1,this.manipulationStartY1=this.y1,this.manipulationStartX2=this.x2,this.manipulationStartY2=this.y2,\"new\"!==this.state&&(this.select(),this.grip1.ownsTarget(i)?this.activeGrip=this.grip1:this.grip2.ownsTarget(i)?this.activeGrip=this.grip2:this.activeGrip=void 0,this.activeGrip?this._state=\"resize\":this._state=\"move\")},i.prototype.pointerUp=function(e){var i=this.state;t.prototype.pointerUp.call(this,e),\"creating\"===this.state&&Math.abs(this.x1-this.x2)<10&&Math.abs(this.y1-this.y2)<10?(this.x2=this.x1+this.defaultLength,this.adjustVisual(),this.adjustControlBox()):this.manipulate(e),this._state=\"select\",\"creating\"===i&&this.onMarkerCreated&&this.onMarkerCreated(this)},i.prototype.adjustVisual=function(){},i.prototype.manipulate=function(t){\"creating\"===this.state?this.resize(t):\"move\"===this.state?(this.x1=this.manipulationStartX1+t.x-this.manipulationStartX,this.y1=this.manipulationStartY1+t.y-this.manipulationStartY,this.x2=this.manipulationStartX2+t.x-this.manipulationStartX,this.y2=this.manipulationStartY2+t.y-this.manipulationStartY,this.adjustVisual(),this.adjustControlBox()):\"resize\"===this.state&&this.resize(t)},i.prototype.resize=function(t){switch(this.activeGrip){case this.grip1:this.x1=t.x,this.y1=t.y;break;case this.grip2:case void 0:this.x2=t.x,this.y2=t.y}this.adjustVisual(),this.adjustControlBox()},i.prototype.select=function(){t.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=\"\"},i.prototype.deselect=function(){t.prototype.deselect.call(this),this.controlBox.style.display=\"none\"},i.prototype.setupControlBox=function(){this.controlBox=r.createGroup(),this.container.appendChild(this.controlBox),this.addControlGrips(),this.controlBox.style.display=\"none\"},i.prototype.adjustControlBox=function(){this.positionGrips()},i.prototype.addControlGrips=function(){this.grip1=this.createGrip(),this.grip2=this.createGrip(),this.positionGrips()},i.prototype.createGrip=function(){var t=new m;return t.visual.transform.baseVal.appendItem(r.createTransform()),this.controlBox.appendChild(t.visual),t},i.prototype.positionGrips=function(){var t=this.grip1.GRIP_SIZE;this.positionGrip(this.grip1.visual,this.x1-t/2,this.y1-t/2),this.positionGrip(this.grip2.visual,this.x2-t/2,this.y2-t/2)},i.prototype.positionGrip=function(t,e,i){var o=t.transform.baseVal.getItem(0);o.setTranslate(e,i),t.transform.baseVal.replaceItem(o,0)},i.prototype.getState=function(){return Object.assign({x1:this.x1,y1:this.y1,x2:this.x2,y2:this.y2},t.prototype.getState.call(this))},i.prototype.restoreState=function(e){t.prototype.restoreState.call(this,e);var i=e;this.x1=i.x1,this.y1=i.y1,this.x2=i.x2,this.y2=i.y2},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.x1=this.x1*e,this.y1=this.y1*i,this.x2=this.x2*e,this.y2=this.y2*i,this.adjustVisual(),this.adjustControlBox()},i}(f),T=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.strokeColor=\"transparent\",s.strokeWidth=0,s.strokeDasharray=\"\",s.setStrokeColor=s.setStrokeColor.bind(s),s.setStrokeWidth=s.setStrokeWidth.bind(s),s.setStrokeDasharray=s.setStrokeDasharray.bind(s),s.strokeColor=o.defaultColor,s.strokeWidth=o.defaultStrokeWidth,s.strokeDasharray=o.defaultStrokeDasharray,s.strokePanel=new g(\"Line color\",o.defaultColorSet,o.defaultColor),s.strokePanel.onColorChanged=s.setStrokeColor,s.strokeWidthPanel=new S(\"Line width\",o.defaultStrokeWidths,o.defaultStrokeWidth),s.strokeWidthPanel.onWidthChanged=s.setStrokeWidth,s.strokeStylePanel=new k(\"Line style\",o.defaultStrokeDasharrays,o.defaultStrokeDasharray),s.strokeStylePanel.onStyleChanged=s.setStrokeDasharray,s}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.visual&&e!==this.selectorLine&&e!==this.visibleLine)},i.prototype.createVisual=function(){this.visual=r.createGroup(),this.selectorLine=r.createLine(this.x1,this.y1,this.x2,this.y2,[[\"stroke\",\"transparent\"],[\"stroke-width\",(this.strokeWidth+10).toString()]]),this.visibleLine=r.createLine(this.x1,this.y1,this.x2,this.y2,[[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()]]),this.visual.appendChild(this.selectorLine),this.visual.appendChild(this.visibleLine),this.addMarkerVisualToContainer(this.visual)},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),\"new\"===this.state&&(this.createVisual(),this.adjustVisual(),this._state=\"creating\")},i.prototype.adjustVisual=function(){this.selectorLine&&this.visibleLine&&(this.selectorLine.setAttribute(\"x1\",this.x1.toString()),this.selectorLine.setAttribute(\"y1\",this.y1.toString()),this.selectorLine.setAttribute(\"x2\",this.x2.toString()),this.selectorLine.setAttribute(\"y2\",this.y2.toString()),this.visibleLine.setAttribute(\"x1\",this.x1.toString()),this.visibleLine.setAttribute(\"y1\",this.y1.toString()),this.visibleLine.setAttribute(\"x2\",this.x2.toString()),this.visibleLine.setAttribute(\"y2\",this.y2.toString()),r.setAttributes(this.visibleLine,[[\"stroke\",this.strokeColor]]),r.setAttributes(this.visibleLine,[[\"stroke-width\",this.strokeWidth.toString()]]),r.setAttributes(this.visibleLine,[[\"stroke-dasharray\",this.strokeDasharray.toString()]]))},i.prototype.setStrokeColor=function(t){this.strokeColor=t,this.adjustVisual(),this.colorChanged(t)},i.prototype.setStrokeWidth=function(t){this.strokeWidth=t,this.adjustVisual()},i.prototype.setStrokeDasharray=function(t){this.strokeDasharray=t,this.adjustVisual(),this.stateChanged()},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){t.prototype.restoreState.call(this,e);var i=e;this.strokeColor=i.strokeColor,this.strokeWidth=i.strokeWidth,this.strokeDasharray=i.strokeDasharray,this.createVisual(),this.adjustVisual()},i.typeName=\"LineMarker\",i.title=\"Line marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M19 13H5v-2h14v2z\"/></svg>',i}(E),M=function(t){function i(e,i,o,s,r){var n=t.call(this,e,s||'<svg viewBox=\"0 0 24 24\"><path d=\"M17 8h3v12h1v1h-4v-1h1v-3h-4l-1.5 3H14v1h-4v-1h1l6-12m1 1l-3.5 7H18V9M5 3h5c1.11 0 2 .89 2 2v11H9v-5H6v5H3V5c0-1.11.89-2 2-2m1 2v4h3V5H6z\"/></svg>',r||\"font-family-panel\")||this;return n.fonts=[],n.fontBoxes=[],n.fonts=i,n.currentFont=o,n.setCurrentFont=n.setCurrentFont.bind(n),n}return e(i,t),i.prototype.getUi=function(){var t=this,e=document.createElement(\"div\");return e.style.overflow=\"hidden\",e.style.flexGrow=\"2\",this.fonts.forEach((function(i){var o=document.createElement(\"div\");o.style.display=\"inline-block\",o.style.alignItems=\"center\",o.style.justifyContent=\"space-between\",o.style.padding=\"5px\",o.style.borderWidth=\"2px\",o.style.borderStyle=\"solid\",o.style.overflow=\"hidden\",o.style.maxWidth=100/t.fonts.length-5+\"%\",o.style.borderColor=i===t.currentFont?t.uiStyleSettings.toolboxAccentColor:\"transparent\",o.addEventListener(\"click\",(function(){t.setCurrentFont(i,o)})),e.appendChild(o);var s=document.createElement(\"div\");s.style.display=\"flex\",s.style.minHeight=\"20px\",s.style.flexGrow=\"2\",s.style.fontFamily=i,s.style.overflow=\"hidden\";var r=document.createElement(\"div\");r.style.whiteSpace=\"nowrap\",r.style.overflow=\"hidden\",r.style.textOverflow=\"ellipsis\",r.innerHTML=\"The quick brown fox jumps over the lazy dog\",s.appendChild(r),o.appendChild(s),t.fontBoxes.push(o)})),e},i.prototype.setCurrentFont=function(t,e){var i=this;this.currentFont=t,this.fontBoxes.forEach((function(t){t.style.borderColor=t===e?i.uiStyleSettings.toolboxAccentColor:\"transparent\"})),this.onFontChanged&&this.onFontChanged(this.currentFont)},i}(y),P=function(t){function i(e,i,o){var s,r=t.call(this,e,i,o)||this;return r.color=\"transparent\",r.padding=5,r.DEFAULT_TEXT=\"your text here\",r.isMoved=!1,r.color=o.defaultColor,r.fontFamily=o.defaultFontFamily,r.text=null!==(s=o.defaultText)&&void 0!==s?s:r.DEFAULT_TEXT,r.defaultSize={x:100,y:30},r.setColor=r.setColor.bind(r),r.setFont=r.setFont.bind(r),r.renderText=r.renderText.bind(r),r.sizeText=r.sizeText.bind(r),r.textEditDivClicked=r.textEditDivClicked.bind(r),r.showTextEditor=r.showTextEditor.bind(r),r.setSize=r.setSize.bind(r),r.positionTextEditor=r.positionTextEditor.bind(r),r.wrapText=r.wrapText.bind(r),r.colorPanel=new g(\"Color\",o.defaultColorSet,o.defaultColor),r.colorPanel.onColorChanged=r.setColor,r.fontFamilyPanel=new M(\"Font\",o.defaultFontFamilies,o.defaultFontFamily),r.fontFamilyPanel.onFontChanged=r.setFont,r}return e(i,t),i.prototype.ownsTarget=function(e){if(t.prototype.ownsTarget.call(this,e)||e===this.visual||e===this.textElement||e===this.bgRectangle)return!0;var i=!1;return this.textElement.childNodes.forEach((function(t){t===e&&(i=!0)})),i},i.prototype.createVisual=function(){this.visual=r.createGroup(),this.bgRectangle=r.createRect(1,1,[[\"fill\",\"transparent\"]]),this.visual.appendChild(this.bgRectangle),this.textElement=r.createText([[\"fill\",this.color],[\"font-family\",this.fontFamily],[\"font-size\",\"16px\"],[\"x\",\"0\"],[\"y\",\"0\"]]),this.textElement.transform.baseVal.appendItem(r.createTransform()),this.textElement.transform.baseVal.appendItem(r.createTransform()),this.visual.appendChild(this.textElement),this.addMarkerVisualToContainer(this.visual),this.renderText()},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),this.isMoved=!1,this.pointerDownPoint=e,this.pointerDownTimestamp=Date.now(),\"new\"===this.state&&(this.createVisual(),this.moveVisual(e),this._state=\"creating\")},i.prototype.wrapText=function(){function t(t){var e=t[0].length;return t.forEach((function(t){t.length>e&&(e=t.length)})),.35*e/t.length}if(\"\"!==this.text){for(var e=this.text.split(/\\r\\n|[\\n\\v\\f\\r\\x85\\u2028\\u2029]/),i=1*this.width/this.height,o=new(Array.bind.apply(Array,s([void 0],e))),r=t(o),n=Number.MAX_VALUE,a=function(){var i=o[0];o.forEach((function(t){t.length>i.length&&(i=t)})),(n=i.lastIndexOf(\" \",n-1))>0?(o=[],e.forEach((function(t){for(var e=t;e.length>n;){var i=e.lastIndexOf(\" \",n);i<0&&(i=e.indexOf(\" \")),i>0?(o.push(e.substring(0,i)),e=e.substring(i).trim()):(o.push(e),e=\"\")}o.push(e)})),r=t(o)):r=-1};r>i;)a();return o.join(\"\\r\\n\")}return this.text},i.prototype.renderText=function(){var t=this;if(this.textElement){for(;this.textElement.lastChild;)this.textElement.removeChild(this.textElement.lastChild);(this.globalSettings.wrapText?this.wrapText():this.text).split(/\\r\\n|[\\n\\v\\f\\r\\x85\\u2028\\u2029]/).forEach((function(e){t.textElement.appendChild(r.createTSpan(\"\"===e.trim()?\" \":e.trim(),[[\"x\",\"0\"],[\"dy\",\"1.2em\"]]))})),setTimeout(this.sizeText,10)}},i.prototype.getTextScale=function(){var t=this.textElement.getBBox(),e=1;if(t.width>0&&t.height>0){var i=(1*this.width-this.width*this.padding*2/100)/t.width,o=(1*this.height-this.height*this.padding*2/100)/t.height;e=Math.min(i,o)}return e},i.prototype.getTextPosition=function(t){var e=\"rtl\"===window.getComputedStyle(this.textElement).direction?1:-1,i=this.textElement.getBBox(),o=0,s=0;return i.width>0&&i.height>0&&(o=(this.width+e*i.width*t)/2,s=this.height/2-i.height*t/2),{x:o,y:s}},i.prototype.sizeText=function(){var t=this.textElement.getBBox(),e=this.getTextScale(),i=this.getTextPosition(e);i.y-=t.y*e,navigator.userAgent.indexOf(\"Edge/\")>-1?this.textElement.style.transform=\"translate(\"+i.x+\"px, \"+i.y+\"px) scale(\"+e+\", \"+e+\")\":(this.textElement.transform.baseVal.getItem(0).setTranslate(i.x,i.y),this.textElement.transform.baseVal.getItem(1).setScale(e,e))},i.prototype.manipulate=function(e){t.prototype.manipulate.call(this,e),void 0!==this.pointerDownPoint&&(this.isMoved=Math.abs(e.x-this.pointerDownPoint.x)>5||Math.abs(e.y-this.pointerDownPoint.y)>5)},i.prototype.resize=function(e){t.prototype.resize.call(this,e),this.isMoved=!0,this.setSize(),this.globalSettings.wrapText?this.renderText():this.sizeText()},i.prototype.setSize=function(){t.prototype.setSize.call(this),this.visual&&this.bgRectangle&&(r.setAttributes(this.visual,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]]),r.setAttributes(this.bgRectangle,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]]))},i.prototype.pointerUp=function(e){var i=this.state;\"creating\"===i&&(this._suppressMarkerCreateEvent=!0),t.prototype.pointerUp.call(this,e),this.setSize(),(\"creating\"===i||!this.isMoved&&Date.now()-this.pointerDownTimestamp>500)&&this.showTextEditor(),this.pointerDownPoint=void 0},i.prototype.showTextEditor=function(){var t=this;this._state=\"edit\",this.overlayContainer.innerHTML=\"\",this.textEditDiv=document.createElement(\"div\"),this.textEditDiv.style.flexGrow=\"2\",this.textEditDiv.style.alignItems=\"center\",this.textEditDiv.style.justifyContent=\"center\",this.textEditDiv.style.pointerEvents=\"auto\",this.textEditDiv.style.overflow=\"hidden\",this.textEditor=document.createElement(\"div\"),this.textEditor.style.position=\"absolute\",this.textEditor.style.fontFamily=this.fontFamily,this.textEditor.style.lineHeight=\"1em\",this.textEditor.innerText=this.text,this.textEditor.contentEditable=\"true\",this.textEditor.style.color=this.color,this.textEditor.style.whiteSpace=\"pre\",this.positionTextEditor(),this.textEditor.addEventListener(\"pointerup\",(function(t){t.stopPropagation()})),this.globalSettings.wrapText||this.textEditor.addEventListener(\"input\",(function(){for(var e=Number.parseFloat(t.textEditor.style.fontSize);t.textEditor.clientWidth>=Number.parseInt(t.textEditor.style.maxWidth)&&e>.9;)e-=.1,t.textEditor.style.fontSize=Math.max(e,.9)+\"em\"})),this.textEditor.addEventListener(\"keyup\",(function(t){t.cancelBubble=!0})),this.textEditor.addEventListener(\"paste\",(function(t){if(t.clipboardData){var e=t.clipboardData.getData(\"text\"),i=window.getSelection();if(!i.rangeCount)return!1;i.deleteFromDocument(),i.getRangeAt(0).insertNode(document.createTextNode(e)),t.preventDefault()}})),this.textEditDiv.addEventListener(\"pointerup\",(function(){t.textEditDivClicked(t.textEditor.innerText)})),this.textEditDiv.appendChild(this.textEditor),this.overlayContainer.appendChild(this.textEditDiv),this.hideVisual(),this.textEditor.focus(),document.execCommand(\"selectAll\")},i.prototype.positionTextEditor=function(){if(\"edit\"===this.state)if(void 0===this.textEditor)this.showTextEditor();else if(this.globalSettings.wrapText)this.textEditor.style.left=this.left+this.padding+\"px\",this.textEditor.style.top=this.top+this.padding+\"px\",this.textEditor.style.width=this.width-2*this.padding+\"px\",this.textEditor.style.height=this.height-2*this.padding+\"px\",this.textEditor.style.maxHeight=this.textEditor.style.height,this.textEditor.style.whiteSpace=\"wrap\";else{this.textElement.style.display=\"\";var t=this.getTextScale(),e=this.rotatePoint({x:this.left+this.width/2,y:this.top+this.height/2}),i=this.textElement.getBBox(),o={x:i.width*t,y:i.height*t};e.x-=o.x/2,e.y-=o.y/2,this.textEditor.style.top=e.y+\"px\",this.textEditor.style.left=e.x+\"px\",this.textEditor.style.maxWidth=this.overlayContainer.offsetWidth-e.x+\"px\",this.textEditor.style.fontSize=Math.max(16*t,12)+\"px\",this.textElement.style.display=\"none\"}},i.prototype.textEditDivClicked=function(t){this.text=t.trim(),this.overlayContainer.innerHTML=\"\",this.renderText(),this.showVisual(),this._suppressMarkerCreateEvent&&(this._suppressMarkerCreateEvent=!1,this.onMarkerCreated&&this.onMarkerCreated(this)),this.stateChanged()},i.prototype.select=function(){t.prototype.select.call(this),\"edit\"===this.state&&this.textEditDivClicked(this.textEditor.innerText)},i.prototype.deselect=function(){\"edit\"===this.state&&this.textEditDivClicked(this.textEditor.innerText),t.prototype.deselect.call(this)},i.prototype.dblClick=function(e,i){t.prototype.dblClick.call(this,e,i),this.showTextEditor()},i.prototype.setColor=function(t){this.textElement&&r.setAttributes(this.textElement,[[\"fill\",t]]),this.color=t,this.textEditor&&(this.textEditor.style.color=this.color),this.colorChanged(t)},i.prototype.setFont=function(t){this.textElement&&r.setAttributes(this.textElement,[[\"font-family\",t]]),this.fontFamily=t,this.textEditor&&(this.textEditor.style.fontFamily=this.fontFamily),this.renderText(),this.stateChanged()},i.prototype.hideVisual=function(){this.textElement.style.display=\"none\",this.hideControlBox()},i.prototype.showVisual=function(){\"edit\"===this.state&&(this._state=\"select\"),this.textElement.style.display=\"\",this.showControlBox()},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.colorPanel,this.fontFamilyPanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({color:this.color,fontFamily:this.fontFamily,padding:this.padding,text:this.text,wrapText:this.globalSettings.wrapText},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){var i=e;this.color=i.color,this.fontFamily=i.fontFamily,this.padding=i.padding,this.text=i.text,this.createVisual(),t.prototype.restoreState.call(this,e),this.setSize(),this.globalSettings.wrapText&&this.renderText()},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.setSize(),this.sizeText(),this.positionTextEditor()},i.typeName=\"TextMarker\",i.title=\"Text marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M9.6 14L12 7.7l2.4 6.3M11 5L5.5 19h2.2l1.1-3H15l1.1 3h2.2L13 5h-2z\"/></svg>',i}(b),L=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.color=\"transparent\",s.lineWidth=3,s.drawing=!1,s.pixelRatio=1,s.color=o.defaultColor,s.lineWidth=o.defaultStrokeWidth,s.pixelRatio=o.freehandPixelRatio,s.setColor=s.setColor.bind(s),s.addCanvas=s.addCanvas.bind(s),s.finishCreation=s.finishCreation.bind(s),s.setLineWidth=s.setLineWidth.bind(s),s.colorPanel=new g(\"Color\",o.defaultColorSet,o.defaultColor),s.colorPanel.onColorChanged=s.setColor,s.lineWidthPanel=new S(\"Line width\",o.defaultStrokeWidths,o.defaultStrokeWidth),s.lineWidthPanel.onWidthChanged=s.setLineWidth,s}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.visual&&e!==this.drawingImage)},i.prototype.createVisual=function(){this.visual=r.createGroup(),this.drawingImage=r.createImage(),this.visual.appendChild(this.drawingImage);var t=r.createTransform();this.visual.transform.baseVal.appendItem(t),this.addMarkerVisualToContainer(this.visual)},i.prototype.pointerDown=function(e,i){\"new\"===this.state&&(this.addCanvas(),this.createVisual(),this._state=\"creating\"),\"creating\"===this.state?(this.canvasContext.strokeStyle=this.color,this.canvasContext.lineWidth=this.lineWidth,this.canvasContext.beginPath(),this.canvasContext.moveTo(e.x,e.y),this.drawing=!0):t.prototype.pointerDown.call(this,e,i)},i.prototype.manipulate=function(e){\"creating\"===this.state?this.drawing&&(this.canvasContext.lineTo(e.x,e.y),this.canvasContext.stroke()):t.prototype.manipulate.call(this,e)},i.prototype.resize=function(e){t.prototype.resize.call(this,e),r.setAttributes(this.visual,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]]),r.setAttributes(this.drawingImage,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]])},i.prototype.pointerUp=function(e){\"creating\"===this._state?this.drawing&&(this.canvasContext.closePath(),this.drawing=!1,this.globalSettings.newFreehandMarkerOnPointerUp&&this.finishCreation()):t.prototype.pointerUp.call(this,e)},i.prototype.addCanvas=function(){this.overlayContainer.innerHTML=\"\",this.canvasElement=document.createElement(\"canvas\"),this.canvasElement.width=this.overlayContainer.clientWidth*this.pixelRatio,this.canvasElement.height=this.overlayContainer.clientHeight*this.pixelRatio,this.canvasContext=this.canvasElement.getContext(\"2d\"),this.canvasContext.scale(this.pixelRatio,this.pixelRatio),this.overlayContainer.appendChild(this.canvasElement)},i.prototype.select=function(){\"creating\"===this.state&&this.finishCreation(),t.prototype.select.call(this)},i.prototype.deselect=function(){\"creating\"===this.state&&this.finishCreation(),t.prototype.deselect.call(this)},i.prototype.finishCreation=function(){for(var t=this.canvasContext.getImageData(0,0,this.canvasElement.width,this.canvasElement.height),e=[this.canvasElement.width+1,this.canvasElement.height+1,-1,-1],i=e[0],o=e[1],s=e[2],r=e[3],n=!1,a=0;a<this.canvasElement.height;a++)for(var h=0;h<this.canvasElement.width;h++){t.data[a*this.canvasElement.width*4+4*h+3]>0&&(n=!0,a<o&&(o=a),h<i&&(i=h),a>r&&(r=a),h>s&&(s=h))}if(n){this.left=i/this.pixelRatio,this.top=o/this.pixelRatio,this.width=(s-i)/this.pixelRatio,this.height=(r-o)/this.pixelRatio;var l=document.createElement(\"canvas\");l.width=s-i,l.height=r-o,l.getContext(\"2d\").putImageData(this.canvasContext.getImageData(i,o,s-i,r-o),0,0),this.drawingImgUrl=l.toDataURL(\"image/png\"),this.setDrawingImage(),this._state=\"select\",this.onMarkerCreated&&this.onMarkerCreated(this)}this.overlayContainer.innerHTML=\"\"},i.prototype.setDrawingImage=function(){r.setAttributes(this.drawingImage,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]]),r.setAttributes(this.drawingImage,[[\"href\",this.drawingImgUrl]]),this.moveVisual({x:this.left,y:this.top})},i.prototype.setColor=function(t){this.color=t,this.colorChanged(t)},i.prototype.setLineWidth=function(t){this.lineWidth=t},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return\"new\"===this.state||\"creating\"===this.state?[this.colorPanel,this.lineWidthPanel]:[]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({drawingImgUrl:this.drawingImgUrl},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){this.createVisual(),t.prototype.restoreState.call(this,e),this.drawingImgUrl=e.drawingImgUrl,this.setDrawingImage()},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.setDrawingImage()},i.typeName=\"FreehandMarker\",i.title=\"Freehand marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M9.75 20.85c1.78-.7 1.39-2.63.49-3.85-.89-1.25-2.12-2.11-3.36-2.94A9.817 9.817 0 014.54 12c-.28-.33-.85-.94-.27-1.06.59-.12 1.61.46 2.13.68.91.38 1.81.82 2.65 1.34l1.01-1.7C8.5 10.23 6.5 9.32 4.64 9.05c-1.06-.16-2.18.06-2.54 1.21-.32.99.19 1.99.77 2.77 1.37 1.83 3.5 2.71 5.09 4.29.34.33.75.72.95 1.18.21.44.16.47-.31.47-1.24 0-2.79-.97-3.8-1.61l-1.01 1.7c1.53.94 4.09 2.41 5.96 1.79m11.09-15.6c.22-.22.22-.58 0-.79l-1.3-1.3a.562.562 0 00-.78 0l-1.02 1.02 2.08 2.08M11 10.92V13h2.08l6.15-6.15-2.08-2.08L11 10.92z\"/></svg>',i}(b),D=function(t){function i(e,i,o,s){var r=t.call(this,e,o||'<svg viewBox=\"0 0 24 24\"><path d=\"M8 14v4l-6-6 6-6v4h8V6l6 6-6 6v-4H8z\"/></svg>',s||\"arrow-type-panel\")||this;return r.typeBoxes=[],r.currentType=i,r.setCurrentType=r.setCurrentType.bind(r),r}return e(i,t),i.prototype.getUi=function(){var t=this,e=document.createElement(\"div\");e.style.display=\"flex\",e.style.overflow=\"hidden\",e.style.flexGrow=\"2\";for(var i=function(i){var s=\"both\";switch(i){case 0:s=\"both\";break;case 1:s=\"start\";break;case 2:s=\"end\";break;case 3:s=\"none\"}var r=document.createElement(\"div\");if(r.style.display=\"flex\",r.style.flexGrow=\"2\",r.style.alignItems=\"center\",r.style.justifyContent=\"space-between\",r.style.padding=\"5px\",r.style.borderWidth=\"2px\",r.style.borderStyle=\"solid\",r.style.borderColor=s===o.currentType?o.uiStyleSettings.toolboxAccentColor:\"transparent\",r.addEventListener(\"click\",(function(){t.setCurrentType(s,r)})),e.appendChild(r),\"both\"===s||\"start\"===s){var n=document.createElement(\"div\");n.style.display=\"flex\",n.style.alignItems=\"center\",n.style.minHeight=\"20px\",n.innerHTML='<svg viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" xmlns=\"http://www.w3.org/2000/svg\">\\n <polygon points=\"0,5 10,0 10,10\" fill=\"'+(void 0!==o.uiStyleSettings?o.uiStyleSettings.toolboxColor:\"#eeeeee\")+'\" />\\n </svg>',n.style.marginLeft=\"5px\",r.appendChild(n)}var a=document.createElement(\"div\");a.style.display=\"flex\",a.style.alignItems=\"center\",a.style.minHeight=\"20px\",a.style.flexGrow=\"2\";var h=document.createElement(\"hr\");if(h.style.minWidth=\"20px\",h.style.border=\"0px\",h.style.borderTop=\"3px solid \"+(void 0!==o.uiStyleSettings?o.uiStyleSettings.toolboxColor:\"#eeeeee\"),h.style.flexGrow=\"2\",a.appendChild(h),r.appendChild(a),\"both\"===s||\"end\"===s){var l=document.createElement(\"div\");l.style.display=\"flex\",l.style.alignItems=\"center\",l.style.minHeight=\"20px\",l.innerHTML='<svg viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" xmlns=\"http://www.w3.org/2000/svg\">\\n <polygon points=\"0,0 10,5 0,10\" fill=\"'+(void 0!==o.uiStyleSettings?o.uiStyleSettings.toolboxColor:\"#eeeeee\")+'\" />\\n </svg>',l.style.marginRight=\"5px\",r.appendChild(l)}o.typeBoxes.push(r)},o=this,s=0;s<4;s++)i(s);return e},i.prototype.setCurrentType=function(t,e){var i=this;this.currentType=t,this.typeBoxes.forEach((function(t){t.style.borderColor=t===e?void 0!==i.uiStyleSettings?i.uiStyleSettings.toolboxAccentColor:\"#3080c3\":\"transparent\"})),this.onArrowTypeChanged&&this.onArrowTypeChanged(this.currentType)},i}(y),A=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.arrowType=\"end\",s.arrowBaseHeight=10,s.arrowBaseWidth=10,s.getArrowPoints=s.getArrowPoints.bind(s),s.setArrowType=s.setArrowType.bind(s),s.arrowTypePanel=new D(\"Arrow type\",\"end\"),s.arrowTypePanel.onArrowTypeChanged=s.setArrowType,s}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.arrow1&&e!==this.arrow2)},i.prototype.getArrowPoints=function(t,e){var i=this.arrowBaseWidth+2*this.strokeWidth,o=this.arrowBaseHeight+2*this.strokeWidth;return t-i/2+\",\"+(e+o/2)+\" \"+t+\",\"+(e-o/2)+\" \"+(t+i/2)+\",\"+(e+o/2)},i.prototype.createTips=function(){this.arrow1=r.createPolygon(this.getArrowPoints(this.x1,this.y1),[[\"fill\",this.strokeColor]]),this.arrow1.transform.baseVal.appendItem(r.createTransform()),this.visual.appendChild(this.arrow1),this.arrow2=r.createPolygon(this.getArrowPoints(this.x2,this.y2),[[\"fill\",this.strokeColor]]),this.arrow2.transform.baseVal.appendItem(r.createTransform()),this.visual.appendChild(this.arrow2)},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),\"creating\"===this.state&&this.createTips()},i.prototype.adjustVisual=function(){if(t.prototype.adjustVisual.call(this),this.arrow1&&this.arrow2){this.arrow1.style.display=\"both\"===this.arrowType||\"start\"===this.arrowType?\"\":\"none\",this.arrow2.style.display=\"both\"===this.arrowType||\"end\"===this.arrowType?\"\":\"none\",r.setAttributes(this.arrow1,[[\"points\",this.getArrowPoints(this.x1,this.y1)],[\"fill\",this.strokeColor]]),r.setAttributes(this.arrow2,[[\"points\",this.getArrowPoints(this.x2,this.y2)],[\"fill\",this.strokeColor]]);var e=0;Math.abs(this.x1-this.x2)>.1&&(e=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2));var i=this.arrow1.transform.baseVal.getItem(0);i.setRotate(e,this.x1,this.y1),this.arrow1.transform.baseVal.replaceItem(i,0);var o=this.arrow2.transform.baseVal.getItem(0);o.setRotate(e+180,this.x2,this.y2),this.arrow2.transform.baseVal.replaceItem(o,0)}},i.prototype.setArrowType=function(t){this.arrowType=t,this.adjustVisual(),this.stateChanged()},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel,this.arrowTypePanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({arrowType:this.arrowType},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){t.prototype.restoreState.call(this,e);var i=e;this.arrowType=i.arrowType,this.createTips(),this.adjustVisual()},i.typeName=\"ArrowMarker\",i.title=\"Arrow marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 7 15.59V9H5v10h10v-2H8.41L19 6.41z\"/></svg>',i}(T),_=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.fillColor=o.defaultFillColor,s.strokeWidth=0,s.fillPanel=new g(\"Color\",o.defaultColorSet,o.defaultFillColor),s.fillPanel.onColorChanged=s.setFillColor,s}return e(i,t),Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.fillPanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=t.prototype.getState.call(this);return e.typeName=i.typeName,e},i.typeName=\"CoverMarker\",i.title=\"Cover marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M4 6v13h16V6H4z\"/></svg>',i}(x),I=function(t){function i(e,i,o,s,r){var n=t.call(this,e,s||'<svg viewBox=\"0 0 24 24\"><path d=\"M17.66 8L12 2.35 6.34 8A8.02 8.02 0 004 13.64c0 2 .78 4.11 2.34 5.67a7.99 7.99 0 0011.32 0c1.56-1.56 2.34-3.67 2.34-5.67S19.22 9.56 17.66 8M6 14c0-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 18 12 18 14H6z\"/></svg>',r||\"opacity-panel\")||this;return n.opacities=[],n.opacityBoxes=[],n.opacities=i,n.currentOpacity=o,n.setCurrentOpacity=n.setCurrentOpacity.bind(n),n}return e(i,t),i.prototype.getUi=function(){var t=this,e=document.createElement(\"div\");return e.style.display=\"flex\",e.style.overflow=\"hidden\",e.style.flexGrow=\"2\",e.style.justifyContent=\"space-between\",this.opacities.forEach((function(i){var o=document.createElement(\"div\");o.style.display=\"flex\",o.style.alignItems=\"center\",o.style.justifyContent=\"center\",o.style.padding=\"5px\",o.style.borderWidth=\"2px\",o.style.borderStyle=\"solid\",o.style.borderColor=i===t.currentOpacity?t.uiStyleSettings.toolboxAccentColor:\"transparent\",o.addEventListener(\"click\",(function(){t.setCurrentOpacity(i,o)})),e.appendChild(o);var s=document.createElement(\"div\");s.innerText=100*i+\"%\",o.appendChild(s),t.opacityBoxes.push(o)})),e},i.prototype.setCurrentOpacity=function(t,e){var i=this;this.currentOpacity=t,this.opacityBoxes.forEach((function(t){t.style.borderColor=t===e?i.uiStyleSettings.toolboxAccentColor:\"transparent\"})),this.onOpacityChanged&&this.onOpacityChanged(this.currentOpacity)},i}(y),W=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.setOpacity=s.setOpacity.bind(s),s.fillColor=o.defaultHighlightColor,s.strokeWidth=0,s.opacity=o.defaultHighlightOpacity,s.fillPanel=new g(\"Color\",o.defaultColorSet,s.fillColor),s.fillPanel.onColorChanged=s.setFillColor,s.opacityPanel=new I(\"Opacity\",o.defaultOpacitySteps,s.opacity),s.opacityPanel.onOpacityChanged=s.setOpacity,s}return e(i,t),i.prototype.setOpacity=function(t){this.opacity=t,this.visual&&r.setAttributes(this.visual,[[\"opacity\",this.opacity.toString()]]),this.stateChanged()},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.fillPanel,this.opacityPanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=t.prototype.getState.call(this);return e.typeName=i.typeName,e},i.typeName=\"HighlightMarker\",i.title=\"Highlight marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M18.5 1.15c-.53 0-1.04.19-1.43.58l-5.81 5.82 5.65 5.65 5.82-5.81c.77-.78.77-2.04 0-2.83l-2.84-2.83c-.39-.39-.89-.58-1.39-.58M10.3 8.5l-5.96 5.96c-.78.78-.78 2.04.02 2.85C3.14 18.54 1.9 19.77.67 21h5.66l.86-.86c.78.76 2.03.75 2.81-.02l5.95-5.96\"/></svg>',i}(_),N='<svg viewBox=\"0 0 24 24\"><path d=\"M9.62 12L12 5.67 14.37 12M11 3L5.5 17h2.25l1.12-3h6.25l1.13 3h2.25L13 3h-2z\"/></svg>',H='<svg viewBox=\"0 0 24 24\"><path d=\"M19 11.5s-2 2.17-2 3.5a2 2 0 002 2 2 2 0 002-2c0-1.33-2-3.5-2-3.5M5.21 10L10 5.21 14.79 10m1.77-1.06L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.56-.59 1.53 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.59.59-1.56 0-2.12z\"/></svg>',z=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.bgColor=\"transparent\",s.tipPosition={x:0,y:0},s.tipBase1Position={x:0,y:0},s.tipBase2Position={x:0,y:0},s.tipMoving=!1,s.color=o.defaultStrokeColor,s.bgColor=o.defaultFillColor,s.fontFamily=o.defaultFontFamily,s.defaultSize={x:100,y:30},s.setBgColor=s.setBgColor.bind(s),s.getTipPoints=s.getTipPoints.bind(s),s.positionTip=s.positionTip.bind(s),s.setTipPoints=s.setTipPoints.bind(s),s.colorPanel=new g(\"Text color\",o.defaultColorSet,s.color,N,\"text-color-panel\"),s.colorPanel.onColorChanged=s.setColor,s.bgColorPanel=new g(\"Fill color\",o.defaultColorSet,s.bgColor,H,\"fill-color-panel\"),s.bgColorPanel.onColorChanged=s.setBgColor,s.fontFamilyPanel=new M(\"Font\",o.defaultFontFamilies,o.defaultFontFamily),s.fontFamilyPanel.onFontChanged=s.setFont,s.tipGrip=new m,s.tipGrip.visual.transform.baseVal.appendItem(r.createTransform()),s.controlBox.appendChild(s.tipGrip.visual),s}return e(i,t),i.prototype.ownsTarget=function(e){return t.prototype.ownsTarget.call(this,e)||this.tipGrip.ownsTarget(e)||this.tip===e},i.prototype.createTip=function(){r.setAttributes(this.bgRectangle,[[\"fill\",this.bgColor],[\"rx\",\"10px\"]]),this.tip=r.createPolygon(this.getTipPoints(),[[\"fill\",this.bgColor]]),this.visual.appendChild(this.tip)},i.prototype.pointerDown=function(e,i){\"new\"===this.state&&t.prototype.pointerDown.call(this,e,i),\"creating\"===this.state?this.createTip():this.tipGrip.ownsTarget(i)?(this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.tipMoving=!0):t.prototype.pointerDown.call(this,e,i)},i.prototype.pointerUp=function(e){if(this.tipMoving)this.tipMoving=!1,this.isMoved=!0,t.prototype.pointerUp.call(this,e);else{var i=\"creating\"===this.state;t.prototype.pointerUp.call(this,e),this.setTipPoints(i),this.positionTip()}},i.prototype.manipulate=function(e){if(this.tipMoving){var i=this.unrotatePoint(e);this.tipPosition={x:i.x-this.manipulationStartLeft,y:i.y-this.manipulationStartTop},this.positionTip()}else t.prototype.manipulate.call(this,e)},i.prototype.setBgColor=function(t){this.bgRectangle&&this.tip&&(r.setAttributes(this.bgRectangle,[[\"fill\",t]]),r.setAttributes(this.tip,[[\"fill\",t]])),this.bgColor=t,this.fillColorChanged(t)},i.prototype.getTipPoints=function(){return this.setTipPoints(\"creating\"===this.state),this.tipBase1Position.x+\",\"+this.tipBase1Position.y+\" \"+this.tipBase2Position.x+\",\"+this.tipBase2Position.y+\" \"+this.tipPosition.x+\",\"+this.tipPosition.y},i.prototype.setTipPoints=function(t){void 0===t&&(t=!1);var e=Math.min(this.height/2,15),i=this.height/5;t&&(this.tipPosition={x:e+i/2,y:this.height+20});var o=Math.atan(this.height/2/(this.width/2));if(this.tipPosition.x<this.width/2&&this.tipPosition.y<this.height/2)o<Math.atan((this.height/2-this.tipPosition.y)/(this.width/2-this.tipPosition.x))?(i=this.width/5,e=Math.min(this.width/2,15),this.tipBase1Position={x:e,y:0},this.tipBase2Position={x:e+i,y:0}):(this.tipBase1Position={x:0,y:e},this.tipBase2Position={x:0,y:e+i});else if(this.tipPosition.x>=this.width/2&&this.tipPosition.y<this.height/2){o<Math.atan((this.height/2-this.tipPosition.y)/(this.tipPosition.x-this.width/2))?(i=this.width/5,e=Math.min(this.width/2,15),this.tipBase1Position={x:this.width-e-i,y:0},this.tipBase2Position={x:this.width-e,y:0}):(this.tipBase1Position={x:this.width,y:e},this.tipBase2Position={x:this.width,y:e+i})}else if(this.tipPosition.x>=this.width/2&&this.tipPosition.y>=this.height/2){o<Math.atan((this.tipPosition.y-this.height/2)/(this.tipPosition.x-this.width/2))?(i=this.width/5,e=Math.min(this.width/2,15),this.tipBase1Position={x:this.width-e-i,y:this.height},this.tipBase2Position={x:this.width-e,y:this.height}):(this.tipBase1Position={x:this.width,y:this.height-e-i},this.tipBase2Position={x:this.width,y:this.height-e})}else{o<Math.atan((this.tipPosition.y-this.height/2)/(this.width/2-this.tipPosition.x))?(i=this.width/5,e=Math.min(this.width/2,15),this.tipBase1Position={x:e,y:this.height},this.tipBase2Position={x:e+i,y:this.height}):(this.tipBase1Position={x:0,y:this.height-e},this.tipBase2Position={x:0,y:this.height-e-i})}},i.prototype.resize=function(e){t.prototype.resize.call(this,e),this.positionTip()},i.prototype.positionTip=function(){r.setAttributes(this.tip,[[\"points\",this.getTipPoints()]]);var t=this.tipGrip.visual.transform.baseVal.getItem(0);t.setTranslate(this.tipPosition.x,this.tipPosition.y),this.tipGrip.visual.transform.baseVal.replaceItem(t,0)},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.colorPanel,this.bgColorPanel,this.fontFamilyPanel]},enumerable:!1,configurable:!0}),i.prototype.select=function(){this.positionTip(),t.prototype.select.call(this)},i.prototype.getState=function(){var e=Object.assign({bgColor:this.bgColor,tipPosition:this.tipPosition},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){var i=e;this.bgColor=i.bgColor,this.tipPosition=i.tipPosition,t.prototype.restoreState.call(this,e),this.createTip(),this.setTipPoints()},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.tipPosition={x:this.tipPosition.x*e,y:this.tipPosition.y*i},this.positionTip()},i.typeName=\"CalloutMarker\",i.title=\"Callout marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M4 2h16a2 2 0 012 2v12a2 2 0 01-2 2h-4l-4 4-4-4H4a2 2 0 01-2-2V4a2 2 0 012-2m0 2v12h4.83L12 19.17 15.17 16H20V4H4m2 3h12v2H6V7m0 4h10v2H6v-2z\"/></svg>',i}(P),R=function(t){function i(e,i,o){var r=t.call(this,e,i,o)||this;return r.fillColor=\"transparent\",r.strokeColor=\"transparent\",r.strokeWidth=0,r.strokeDasharray=\"\",r.opacity=1,r.strokeColor=o.defaultColor,r.strokeWidth=o.defaultStrokeWidth,r.strokeDasharray=o.defaultStrokeDasharray,r.fillColor=o.defaultFillColor,r.setStrokeColor=r.setStrokeColor.bind(r),r.setFillColor=r.setFillColor.bind(r),r.setStrokeWidth=r.setStrokeWidth.bind(r),r.setStrokeDasharray=r.setStrokeDasharray.bind(r),r.setOpacity=r.setOpacity.bind(r),r.createVisual=r.createVisual.bind(r),r.strokePanel=new g(\"Line color\",s(o.defaultColorSet,[\"transparent\"]),o.defaultColor,void 0,\"stroke-color-panel\"),r.strokePanel.onColorChanged=r.setStrokeColor,r.fillPanel=new g(\"Fill color\",s(o.defaultColorSet,[\"transparent\"]),r.fillColor,H,\"fill-color-panel\"),r.fillPanel.onColorChanged=r.setFillColor,r.strokeWidthPanel=new S(\"Line width\",o.defaultStrokeWidths,o.defaultStrokeWidth),r.strokeWidthPanel.onWidthChanged=r.setStrokeWidth,r.strokeStylePanel=new k(\"Line style\",o.defaultStrokeDasharrays,o.defaultStrokeDasharray),r.strokeStylePanel.onStyleChanged=r.setStrokeDasharray,r.opacityPanel=new I(\"Opacity\",o.defaultOpacitySteps,r.opacity),r.opacityPanel.onOpacityChanged=r.setOpacity,r}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.visual)},i.prototype.createVisual=function(){this.visual=r.createEllipse(this.width/2,this.height/2,[[\"fill\",this.fillColor],[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()],[\"stroke-dasharray\",this.strokeDasharray],[\"opacity\",this.opacity.toString()]]),this.addMarkerVisualToContainer(this.visual)},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),\"new\"===this.state&&(this.createVisual(),this.moveVisual(e),this._state=\"creating\")},i.prototype.manipulate=function(e){t.prototype.manipulate.call(this,e)},i.prototype.resize=function(e){t.prototype.resize.call(this,e),this.setSize()},i.prototype.setSize=function(){t.prototype.setSize.call(this),r.setAttributes(this.visual,[[\"cx\",(this.width/2).toString()],[\"cy\",(this.height/2).toString()],[\"rx\",(this.width/2).toString()],[\"ry\",(this.height/2).toString()]])},i.prototype.pointerUp=function(e){t.prototype.pointerUp.call(this,e),this.setSize()},i.prototype.setStrokeColor=function(t){this.strokeColor=t,this.visual&&r.setAttributes(this.visual,[[\"stroke\",this.strokeColor]]),this.colorChanged(t),this.stateChanged()},i.prototype.setFillColor=function(t){this.fillColor=t,this.visual&&r.setAttributes(this.visual,[[\"fill\",this.fillColor]]),this.fillColorChanged(t),this.stateChanged()},i.prototype.setStrokeWidth=function(t){this.strokeWidth=t,this.visual&&r.setAttributes(this.visual,[[\"stroke-width\",this.strokeWidth.toString()]]),this.stateChanged()},i.prototype.setStrokeDasharray=function(t){this.strokeDasharray=t,this.visual&&r.setAttributes(this.visual,[[\"stroke-dasharray\",this.strokeDasharray]]),this.stateChanged()},i.prototype.setOpacity=function(t){this.opacity=t,this.visual&&r.setAttributes(this.visual,[[\"opacity\",this.opacity.toString()]]),this.stateChanged()},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.fillPanel,this.strokeWidthPanel,this.strokeStylePanel,this.opacityPanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:this.opacity},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){var i=e;this.fillColor=i.fillColor,this.strokeColor=i.strokeColor,this.strokeWidth=i.strokeWidth,this.strokeDasharray=i.strokeDasharray,this.opacity=i.opacity,this.createVisual(),t.prototype.restoreState.call(this,e),this.setSize()},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.setSize()},i.typeName=\"EllipseMarker\",i.title=\"Ellipse marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M12 4C6.5 4 2 7.58 2 12s4.5 8 10 8 10-3.58 10-8-4.5-8-10-8z\"/></svg>',i}(b),O=function(t){function i(e,i,o){return t.call(this,e,i,o)||this}return e(i,t),Object.defineProperty(i.prototype,\"tipLength\",{get:function(){return 10+3*this.strokeWidth},enumerable:!1,configurable:!0}),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.tip1&&e!==this.tip2)},i.prototype.createTips=function(){this.tip1=r.createLine(this.x1-this.tipLength/2,this.y1,this.x1+this.tipLength/2,this.y1,[[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()]]),this.tip1.transform.baseVal.appendItem(r.createTransform()),this.visual.appendChild(this.tip1),this.tip2=r.createLine(this.x2-this.tipLength/2,this.y2,this.x2+this.tipLength/2,this.y2,[[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()]]),this.tip2.transform.baseVal.appendItem(r.createTransform()),this.visual.appendChild(this.tip2)},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),\"creating\"===this.state&&this.createTips()},i.prototype.adjustVisual=function(){if(t.prototype.adjustVisual.call(this),this.tip1&&this.tip2&&(r.setAttributes(this.tip1,[[\"x1\",(this.x1-this.tipLength/2).toString()],[\"y1\",this.y1.toString()],[\"x2\",(this.x1+this.tipLength/2).toString()],[\"y2\",this.y1.toString()],[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()]]),r.setAttributes(this.tip2,[[\"x1\",(this.x2-this.tipLength/2).toString()],[\"y1\",this.y2.toString()],[\"x2\",(this.x2+this.tipLength/2).toString()],[\"y2\",this.y2.toString()],[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()]]),Math.abs(this.x1-this.x2)>.1)){var e=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2),i=this.tip1.transform.baseVal.getItem(0);i.setRotate(e,this.x1,this.y1),this.tip1.transform.baseVal.replaceItem(i,0);var o=this.tip2.transform.baseVal.getItem(0);o.setRotate(e+180,this.x2,this.y2),this.tip2.transform.baseVal.replaceItem(o,0)}},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=t.prototype.getState.call(this);return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){t.prototype.restoreState.call(this,e),this.createTips(),this.adjustVisual()},i.typeName=\"MeasurementMarker\",i.title=\"Measurement marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M1.39 18.36l1.77-1.76L4.58 18l1.06-1.05-1.42-1.41 1.42-1.42 2.47 2.48 1.06-1.06-2.47-2.48 1.41-1.41 1.42 1.41L10.59 12l-1.42-1.41 1.42-1.42 2.47 2.48 1.06-1.06-2.47-2.48 1.41-1.41 1.41 1.41 1.07-1.06-1.42-1.41 1.42-1.42L18 6.7l1.07-1.06-2.47-2.48 1.76-1.77 4.25 4.25L5.64 22.61l-4.25-4.25z\"/></svg>',i}(T),V=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.strokePanel.colors=o.defaultColorSet,s.fillColor=\"transparent\",s}return e(i,t),Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=t.prototype.getState.call(this);return e.typeName=i.typeName,e},i.typeName=\"EllipseFrameMarker\",i.title=\"Ellipse frame marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M12 6c4.41 0 8 2.69 8 6s-3.59 6-8 6-8-2.69-8-6 3.59-6 8-6m0-2C6.5 4 2 7.58 2 12s4.5 8 10 8 10-3.58 10-8-4.5-8-10-8z\"/></svg>',i}(R),G=function(){function t(){this.undoStack=[],this.redoStack=[]}return Object.defineProperty(t.prototype,\"isUndoPossible\",{get:function(){return this.undoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isRedoPossible\",{get:function(){return this.redoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"undoStepCount\",{get:function(){return this.undoStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"redoStepCount\",{get:function(){return this.redoStack.length},enumerable:!1,configurable:!0}),t.prototype.addUndoStep=function(t){0!==this.undoStack.length&&JSON.stringify(this.undoStack[this.undoStack.length-1])===JSON.stringify(t)||(this.undoStack.push(t),JSON.stringify(this.lastRedoStep)!==JSON.stringify(t)&&this.redoStack.splice(0,this.redoStack.length))},t.prototype.replaceLastUndoStep=function(t){this.undoStack.length>0&&(this.undoStack[this.undoStack.length-1]=t)},t.prototype.getLastUndoStep=function(){return this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0},t.prototype.undo=function(){if(this.undoStack.length>1){var t=this.undoStack.pop();return void 0!==t&&this.redoStack.push(t),this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0}},t.prototype.redo=function(){return this.lastRedoStep=this.redoStack.pop(),this.lastRedoStep},t}(),F=function(t){function i(e,i,o){var s=t.call(this,e,i,o)||this;return s.strokeColor=\"transparent\",s.strokeWidth=0,s.strokeDasharray=\"\",s.curveX=0,s.curveY=0,s.manipulationStartCurveX=0,s.manipulationStartCurveY=0,s.setStrokeColor=s.setStrokeColor.bind(s),s.setStrokeWidth=s.setStrokeWidth.bind(s),s.setStrokeDasharray=s.setStrokeDasharray.bind(s),s.positionGrips=s.positionGrips.bind(s),s.addControlGrips=s.addControlGrips.bind(s),s.adjustVisual=s.adjustVisual.bind(s),s.setupControlBox=s.setupControlBox.bind(s),s.resize=s.resize.bind(s),s.strokeColor=o.defaultColor,s.strokeWidth=o.defaultStrokeWidth,s.strokeDasharray=o.defaultStrokeDasharray,s.strokePanel=new g(\"Line color\",o.defaultColorSet,o.defaultColor),s.strokePanel.onColorChanged=s.setStrokeColor,s.strokeWidthPanel=new S(\"Line width\",o.defaultStrokeWidths,o.defaultStrokeWidth),s.strokeWidthPanel.onWidthChanged=s.setStrokeWidth,s.strokeStylePanel=new k(\"Line style\",o.defaultStrokeDasharrays,o.defaultStrokeDasharray),s.strokeStylePanel.onStyleChanged=s.setStrokeDasharray,s}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.visual&&e!==this.selectorCurve&&e!==this.visibleCurve&&!this.curveGrip.ownsTarget(e))},i.prototype.getPathD=function(){return\"M \"+this.x1+\" \"+this.y1+\" Q \"+this.curveX+\" \"+this.curveY+\", \"+this.x2+\" \"+this.y2},i.prototype.createVisual=function(){this.visual=r.createGroup(),this.selectorCurve=r.createPath(this.getPathD(),[[\"stroke\",\"transparent\"],[\"stroke-width\",(this.strokeWidth+10).toString()],[\"fill\",\"transparent\"]]),this.visibleCurve=r.createPath(this.getPathD(),[[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()],[\"fill\",\"transparent\"]]),this.visual.appendChild(this.selectorCurve),this.visual.appendChild(this.visibleCurve),this.addMarkerVisualToContainer(this.visual)},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),this.manipulationStartCurveX=this.curveX,this.manipulationStartCurveY=this.curveY,\"new\"===this.state&&(this.curveX=e.x,this.curveY=e.y),\"new\"===this.state?(this.createVisual(),this.adjustVisual(),this._state=\"creating\"):this.curveGrip.ownsTarget(i)&&(this.activeGrip=this.curveGrip,this._state=\"resize\")},i.prototype.adjustVisual=function(){this.selectorCurve&&this.visibleCurve&&(this.selectorCurve.setAttribute(\"d\",this.getPathD()),this.visibleCurve.setAttribute(\"d\",this.getPathD()),r.setAttributes(this.visibleCurve,[[\"stroke\",this.strokeColor]]),r.setAttributes(this.visibleCurve,[[\"stroke-width\",this.strokeWidth.toString()]]),r.setAttributes(this.visibleCurve,[[\"stroke-dasharray\",this.strokeDasharray.toString()]]))},i.prototype.setupControlBox=function(){t.prototype.setupControlBox.call(this),this.curveControlLine1=r.createLine(this.x1,this.y1,this.curveX,this.curveY,[[\"stroke\",\"black\"],[\"stroke-width\",\"1\"],[\"stroke-opacity\",\"0.5\"],[\"stroke-dasharray\",\"3, 2\"]]),this.curveControlLine2=r.createLine(this.x2,this.y2,this.curveX,this.curveY,[[\"stroke\",\"black\"],[\"stroke-width\",\"1\"],[\"stroke-opacity\",\"0.5\"],[\"stroke-dasharray\",\"3, 2\"]]),this.controlBox.insertBefore(this.curveControlLine1,this.controlBox.firstChild),this.controlBox.insertBefore(this.curveControlLine2,this.controlBox.firstChild)},i.prototype.addControlGrips=function(){this.curveGrip=this.createGrip(),this.curveX=0,this.curveY=0,t.prototype.addControlGrips.call(this)},i.prototype.positionGrips=function(){t.prototype.positionGrips.call(this);var e=this.curveGrip.GRIP_SIZE;this.positionGrip(this.curveGrip.visual,this.curveX-e/2,this.curveY-e/2),this.curveControlLine1&&this.curveControlLine2&&(this.curveControlLine1.setAttribute(\"x1\",this.x1.toString()),this.curveControlLine1.setAttribute(\"y1\",this.y1.toString()),this.curveControlLine1.setAttribute(\"x2\",this.curveX.toString()),this.curveControlLine1.setAttribute(\"y2\",this.curveY.toString()),this.curveControlLine2.setAttribute(\"x1\",this.x2.toString()),this.curveControlLine2.setAttribute(\"y1\",this.y2.toString()),this.curveControlLine2.setAttribute(\"x2\",this.curveX.toString()),this.curveControlLine2.setAttribute(\"y2\",this.curveY.toString()))},i.prototype.manipulate=function(e){\"move\"===this.state&&(this.curveX=this.manipulationStartCurveX+e.x-this.manipulationStartX,this.curveY=this.manipulationStartCurveY+e.y-this.manipulationStartY),t.prototype.manipulate.call(this,e)},i.prototype.resize=function(e){this.activeGrip===this.curveGrip&&(this.curveX=e.x,this.curveY=e.y),t.prototype.resize.call(this,e),\"creating\"===this.state&&(this.curveX=this.x1+(this.x2-this.x1)/2,this.curveY=this.y1+(this.y2-this.y1)/2)},i.prototype.setStrokeColor=function(t){this.strokeColor=t,this.adjustVisual(),this.colorChanged(t)},i.prototype.setStrokeWidth=function(t){this.strokeWidth=t,this.adjustVisual()},i.prototype.setStrokeDasharray=function(t){this.strokeDasharray=t,this.adjustVisual()},i.prototype.scale=function(e,i){this.curveX=this.curveX*e,this.curveY=this.curveY*i,t.prototype.scale.call(this,e,i)},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,curveX:this.curveX,curveY:this.curveY},t.prototype.getState.call(this));return e.typeName=i.typeName,e},i.prototype.restoreState=function(e){t.prototype.restoreState.call(this,e);var i=e;this.strokeColor=i.strokeColor,this.strokeWidth=i.strokeWidth,this.strokeDasharray=i.strokeDasharray,this.curveX=i.curveX,this.curveY=i.curveY,this.createVisual(),this.adjustVisual()},i.typeName=\"CurveMarker\",i.title=\"Curve marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M18.5 2A1.5 1.5 0 0120 3.5 1.5 1.5 0 0118.5 5c-.23 0-.45-.05-.65-.15l-3.69 3.7.34.45c2.19-1.26 4.76-2 7.5-2l1 .03v2.01L22 9c-2.58 0-5 .75-7 2.04A3.96 3.96 0 0111.04 15C9.75 17 9 19.42 9 22l.04 1H7.03L7 22c0-2.74.74-5.31 2-7.5l-.45-.34-3.7 3.69c.1.2.15.42.15.65A1.5 1.5 0 013.5 20 1.5 1.5 0 012 18.5 1.5 1.5 0 013.5 17c.23 0 .45.05.65.15l3.69-3.7C7.31 12.78 7 11.92 7 11a4 4 0 014-4c.92 0 1.78.31 2.45.84l3.7-3.69c-.1-.2-.15-.42-.15-.65A1.5 1.5 0 0118.5 2M11 9a2 2 0 00-2 2 2 2 0 002 2 2 2 0 002-2 2 2 0 00-2-2z\"/></svg>',i}(E),j=function(t){function i(e,i,o){var r=t.call(this,e,i,o)||this;return r.fillColor=\"transparent\",r.strokeColor=\"transparent\",r.strokeWidth=0,r.strokeDasharray=\"\",r.textColor=\"transparent\",r.fontSize=\"1rem\",r.isMoved=!1,r.captionText=\"Caption\",r.PADDING=5,r.captionBoxWidth=0,r.captionBoxHeight=0,r.strokeColor=o.defaultColor,r.strokeWidth=o.defaultStrokeWidth,r.strokeDasharray=o.defaultStrokeDasharray,r.fillColor=o.defaultFillColor,r.textColor=o.defaultStrokeColor,r.fontFamily=o.defaultFontFamily,r.fontSize=o.defaultCaptionFontSize,r.captionText=o.defaultCaptionText,r.setStrokeColor=r.setStrokeColor.bind(r),r.setFillColor=r.setFillColor.bind(r),r.setStrokeWidth=r.setStrokeWidth.bind(r),r.setStrokeDasharray=r.setStrokeDasharray.bind(r),r.createVisual=r.createVisual.bind(r),r.sizeCaption=r.sizeCaption.bind(r),r.setCaptionText=r.setCaptionText.bind(r),r.showTextEditor=r.showTextEditor.bind(r),r.positionTextEditor=r.positionTextEditor.bind(r),r.finishTextEditing=r.finishTextEditing.bind(r),r.setFont=r.setFont.bind(r),r.setTextColor=r.setTextColor.bind(r),r.strokePanel=new g(\"Line color\",s(o.defaultColorSet,[\"transparent\"]),r.strokeColor,void 0,\"stroke-color-panel\"),r.strokePanel.onColorChanged=r.setStrokeColor,r.fillPanel=new g(\"Fill color\",s(o.defaultColorSet,[\"transparent\"]),r.fillColor,H,\"fill-color-panel\"),r.fillPanel.onColorChanged=r.setFillColor,r.strokeWidthPanel=new S(\"Line width\",o.defaultStrokeWidths,o.defaultStrokeWidth),r.strokeWidthPanel.onWidthChanged=r.setStrokeWidth,r.strokeStylePanel=new k(\"Line style\",o.defaultStrokeDasharrays,o.defaultStrokeDasharray),r.strokeStylePanel.onStyleChanged=r.setStrokeDasharray,r.fontFamilyPanel=new M(\"Font\",o.defaultFontFamilies,o.defaultFontFamily),r.fontFamilyPanel.onFontChanged=r.setFont,r.textColorPanel=new g(\"Text color\",o.defaultColorSet,r.textColor,N,\"text-color-panel\"),r.textColorPanel.onColorChanged=r.setTextColor,r}return e(i,t),i.prototype.ownsTarget=function(e){return!(!t.prototype.ownsTarget.call(this,e)&&e!==this.visual&&e!==this.frame&&e!==this.captionBg&&e!==this.captionElement)},i.prototype.createVisual=function(){this.visual=r.createGroup(),this.addMarkerVisualToContainer(this.visual),this.captionBg=r.createRect(1,1,[[\"fill\",this.fillColor]]),this.visual.appendChild(this.captionBg),this.captionElement=r.createText([[\"fill\",this.textColor],[\"font-family\",this.fontFamily]]),this.captionElement.style.fontSize=this.fontSize,this.captionElement.style.textAnchor=\"start\",this.captionElement.style.dominantBaseline=\"text-before-edge\",this.captionElement.textContent=this.captionText,this.visual.appendChild(this.captionElement),this.frame=r.createRect(this.width,this.height,[[\"fill\",\"transparent\"],[\"stroke\",this.strokeColor],[\"stroke-width\",this.strokeWidth.toString()],[\"stroke-dasharray\",this.strokeDasharray]]),this.visual.appendChild(this.frame),this.sizeCaption()},i.prototype.setCaptionText=function(t){this.captionText=t,this.captionElement.textContent=this.captionText,this.sizeCaption()},i.prototype.pointerDown=function(e,i){t.prototype.pointerDown.call(this,e,i),this.isMoved=!1,this.pointerDownPoint=e,this.pointerDownTimestamp=Date.now(),\"new\"===this.state&&(this.createVisual(),this.moveVisual(e),this._state=\"creating\")},i.prototype.manipulate=function(e){t.prototype.manipulate.call(this,e),void 0!==this.pointerDownPoint&&(this.isMoved=Math.abs(e.x-this.pointerDownPoint.x)>5||Math.abs(e.y-this.pointerDownPoint.y)>5)},i.prototype.resize=function(e){t.prototype.resize.call(this,e),this.setSize()},i.prototype.sizeCaption=function(){var t=this.captionElement.getBBox();\"\"!==this.captionText.trim()?(this.captionBoxWidth=t.width+2*this.PADDING,this.captionBoxHeight=t.height+2*this.PADDING):(this.captionBoxWidth=0,this.captionBoxHeight=0),r.setAttributes(this.captionBg,[[\"width\",this.captionBoxWidth.toString()],[\"height\",this.captionBoxHeight.toString()],[\"clip-path\",\"path('M0,0 H\"+this.width+\" V\"+this.height+\" H\"+-this.width+\" Z')\"]]),r.setAttributes(this.captionElement,[[\"x\",this.PADDING.toString()],[\"y\",this.PADDING.toString()],[\"clip-path\",\"path('M0,0 H\"+(this.width-this.PADDING)+\" V\"+this.height+\" H\"+(-this.width-this.PADDING)+\" Z')\"]])},i.prototype.showTextEditor=function(){var t=this;this._state=\"edit\",this.overlayContainer.innerHTML=\"\",this.textEditDiv=document.createElement(\"div\"),this.textEditDiv.style.flexGrow=\"2\",this.textEditDiv.style.alignItems=\"center\",this.textEditDiv.style.justifyContent=\"center\",this.textEditDiv.style.pointerEvents=\"auto\",this.textEditDiv.style.overflow=\"hidden\",this.textEditBox=document.createElement(\"input\"),this.textEditBox.style.position=\"absolute\",this.textEditBox.style.width=this.width+\"px\",this.captionBoxHeight>0&&(this.textEditBox.style.height=this.captionBoxHeight+\"px\"),this.textEditBox.style.fontSize=this.fontSize,this.textEditBox.style.fontFamily=this.fontFamily,this.textEditBox.style.backgroundColor=this.fillColor,this.textEditBox.style.color=this.textColor,this.textEditBox.style.borderWidth=\"0\",this.textEditBox.setAttribute(\"value\",this.captionText),this.textEditBox.select(),this.textEditDiv.appendChild(this.textEditBox),this.overlayContainer.appendChild(this.textEditDiv),this.textEditBox.addEventListener(\"pointerup\",(function(t){t.stopPropagation()})),this.textEditBox.addEventListener(\"keypress\",(function(e){\"Enter\"===e.key&&t.finishTextEditing(t.textEditBox.value)})),this.textEditBox.addEventListener(\"keyup\",(function(t){t.cancelBubble=!0})),this.textEditBox.addEventListener(\"blur\",(function(){t.finishTextEditing(t.textEditBox.value)})),this.textEditDiv.addEventListener(\"pointerup\",(function(){t.finishTextEditing(t.textEditBox.value)})),this.positionTextEditor(),this.textEditBox.focus()},i.prototype.positionTextEditor=function(){\"edit\"===this.state&&(void 0===this.textEditBox?this.showTextEditor():(this.textEditBox.style.left=this.left+\"px\",this.textEditBox.style.top=this.top+\"px\",this.textEditBox.style.transform=\"rotate(\"+this.rotationAngle+\"deg)\",this.textEditBox.style.transformOrigin=this.width/2+\"px \"+this.height/2+\"px\"))},i.prototype.finishTextEditing=function(t){this.setCaptionText(t.trim()),this.overlayContainer.innerHTML=\"\",this.stateChanged()},i.prototype.setFont=function(t){this.captionElement&&r.setAttributes(this.captionElement,[[\"font-family\",t]]),this.fontFamily=t,this.textEditBox&&(this.textEditBox.style.fontFamily=this.fontFamily),this.sizeCaption(),this.stateChanged()},i.prototype.setTextColor=function(t){this.captionElement&&r.setAttributes(this.captionElement,[[\"fill\",t]]),this.textColor=t,this.textEditBox&&(this.textEditBox.style.color=this.textColor),this.stateChanged()},i.prototype.setSize=function(){t.prototype.setSize.call(this),r.setAttributes(this.frame,[[\"width\",this.width.toString()],[\"height\",this.height.toString()]]),this.sizeCaption()},i.prototype.pointerUp=function(e){t.prototype.pointerUp.call(this,e),this.setSize(),!this.isMoved&&Date.now()-this.pointerDownTimestamp>500&&this.showTextEditor(),this.pointerDownPoint=void 0},i.prototype.dblClick=function(e,i){t.prototype.dblClick.call(this,e,i),this.showTextEditor()},i.prototype.setStrokeColor=function(t){this.strokeColor=t,this.frame&&r.setAttributes(this.frame,[[\"stroke\",this.strokeColor]]),this.colorChanged(t),this.stateChanged()},i.prototype.setFillColor=function(t){this.fillColor=t,this.captionBg&&r.setAttributes(this.captionBg,[[\"fill\",this.fillColor]]),this.fillColorChanged(t),this.stateChanged()},i.prototype.setStrokeWidth=function(t){this.strokeWidth=t,this.frame&&r.setAttributes(this.frame,[[\"stroke-width\",this.strokeWidth.toString()]]),this.stateChanged()},i.prototype.setStrokeDasharray=function(t){this.strokeDasharray=t,this.frame&&r.setAttributes(this.frame,[[\"stroke-dasharray\",this.strokeDasharray]]),this.stateChanged()},Object.defineProperty(i.prototype,\"toolboxPanels\",{get:function(){return[this.strokePanel,this.fillPanel,this.strokeWidthPanel,this.strokeStylePanel,this.fontFamilyPanel,this.textColorPanel]},enumerable:!1,configurable:!0}),i.prototype.getState=function(){var e=Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:1,textColor:this.textColor,fontFamily:this.fontFamily,fontSize:this.fontSize,captionText:this.captionText},t.prototype.getState.call(this));return e.typeName=this.typeName,e},i.prototype.restoreState=function(e){var i=e;this.fillColor=i.fillColor,this.strokeColor=i.strokeColor,this.strokeWidth=i.strokeWidth,this.strokeDasharray=i.strokeDasharray,this.textColor=i.textColor,this.fontFamily=i.fontFamily,this.captionText=i.captionText,this.fontSize=i.fontSize,this.createVisual(),t.prototype.restoreState.call(this,e),this.setSize()},i.prototype.scale=function(e,i){t.prototype.scale.call(this,e,i),this.setSize()},i.typeName=\"CaptionFrameMarker\",i.title=\"Caption frame marker\",i.icon='<svg viewBox=\"0 0 24 24\"><path d=\"M5 3c-1.11 0-2 .89-2 2v14c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2H5m0 2h14v14H5V5m2 2v2h10V7H7z\"/></svg>',i}(b),U=function(){function t(t,e){void 0===e&&(e=!1),this.cancelable=!1,this._defaultPrevented=!1,this.markerArea=t,this.cancelable=e}return Object.defineProperty(t.prototype,\"defaultPrevented\",{get:function(){return this._defaultPrevented},enumerable:!1,configurable:!0}),t.prototype.preventDefault=function(){this._defaultPrevented=!0},t}(),X=function(t){function i(e,i,o){var s=t.call(this,e,!1)||this;return s.dataUrl=i,s.state=o,s}return e(i,t),i}(U),Y=function(t){function i(e,i,o){void 0===o&&(o=!1);var s=t.call(this,e,o)||this;return s.marker=i,s}return e(i,t),i}(U),Z=function(){function t(){this.render=[],this.beforeclose=[],this.close=[],this.show=[],this.restorestate=[],this.statechange=[],this.markerselect=[],this.markerdeselect=[],this.markercreating=[],this.markercreate=[],this.markerbeforedelete=[],this.markerdelete=[],this.markerchange=[],this.focus=[],this.blur=[]}return t.prototype.addEventListener=function(t,e){this[t].push(e)},t.prototype.removeEventListener=function(t,e){var i=this[t].indexOf(e);i>-1&&this[t].splice(i,1)},t}(),K=function(){function t(e){this.touchPoints=0,this._availableMarkerTypes=this.DEFAULT_MARKER_TYPES,this.mode=\"select\",this.markers=[],this.isDragging=!1,this.renderEventListeners=[],this.closeEventListeners=[],this.settings=new B,this._isOpen=!1,this.undoRedoManager=new G,this.renderAtNaturalSize=!1,this.renderImageType=\"image/png\",this.renderMarkersOnly=!1,this.zoomSteps=[1,1.5,2,4],this._zoomLevel=1,this._isResizing=!1,this.prevPanPoint={x:0,y:0},this.eventListeners=new Z,this._silentRenderMode=!1,this._isFocused=!1,this._instanceNo=t.instanceCounter++,this.styles=new l(this.instanceNo),this.uiStyleSettings=this.styles.settings,this.target=e,this.targetRoot=document.body,this.width=e.clientWidth,this.height=e.clientHeight,this.styles.removeStyleSheet(),this.open=this.open.bind(this),this.setTopLeft=this.setTopLeft.bind(this),this.toolbarButtonClicked=this.toolbarButtonClicked.bind(this),this.createNewMarker=this.createNewMarker.bind(this),this.addNewMarker=this.addNewMarker.bind(this),this.markerCreated=this.markerCreated.bind(this),this.setCurrentMarker=this.setCurrentMarker.bind(this),this.onPointerDown=this.onPointerDown.bind(this),this.onDblClick=this.onDblClick.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOut=this.onPointerOut.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.overrideOverflow=this.overrideOverflow.bind(this),this.restoreOverflow=this.restoreOverflow.bind(this),this.close=this.close.bind(this),this.closeUI=this.closeUI.bind(this),this.addCloseEventListener=this.addCloseEventListener.bind(this),this.removeCloseEventListener=this.removeCloseEventListener.bind(this),this.addRenderEventListener=this.addRenderEventListener.bind(this),this.removeRenderEventListener=this.removeRenderEventListener.bind(this),this.clientToLocalCoordinates=this.clientToLocalCoordinates.bind(this),this.onWindowResize=this.onWindowResize.bind(this),this.deleteSelectedMarker=this.deleteSelectedMarker.bind(this),this.setWindowHeight=this.setWindowHeight.bind(this),this.removeMarker=this.removeMarker.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this),this.onPopupTargetResize=this.onPopupTargetResize.bind(this),this.showNotesEditor=this.showNotesEditor.bind(this),this.hideNotesEditor=this.hideNotesEditor.bind(this),this.stepZoom=this.stepZoom.bind(this),this.focus=this.focus.bind(this),this.blur=this.blur.bind(this),this.markerStateChanged=this.markerStateChanged.bind(this),this.switchToSelectMode=this.switchToSelectMode.bind(this),this.addDefs=this.addDefs.bind(this),this.addDefsToImage=this.addDefsToImage.bind(this),this.addMarkerEvents=this.addMarkerEvents.bind(this)}return Object.defineProperty(t.prototype,\"ALL_MARKER_TYPES\",{get:function(){return[w,L,A,P,V,R,W,z,O,_,T,F,j]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"DEFAULT_MARKER_TYPES\",{get:function(){return[w,L,A,P,R,W,z]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"BASIC_MARKER_TYPES\",{get:function(){return[w,L,A,P,W]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"availableMarkerTypes\",{get:function(){return this._availableMarkerTypes},set:function(t){var e=this;this._availableMarkerTypes.splice(0),t.forEach((function(t){if(\"string\"==typeof t){var i=e.ALL_MARKER_TYPES.find((function(e){return e.typeName===t}));void 0!==i&&e._availableMarkerTypes.push(i)}else e._availableMarkerTypes.push(t)}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"currentMarker\",{get:function(){return this._currentMarker},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isOpen\",{get:function(){return this._isOpen},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isUndoPossible\",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isUndoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isRedoPossible\",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isRedoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"zoomLevel\",{get:function(){return this._zoomLevel},set:function(t){this._zoomLevel=t,this.editorCanvas&&this.contentDiv&&(this.editorCanvas.style.transform=\"scale(\"+this._zoomLevel+\")\",this.contentDiv.scrollTo({left:(this.editorCanvas.clientWidth*this._zoomLevel-this.contentDiv.clientWidth)/2,top:(this.editorCanvas.clientHeight*this._zoomLevel-this.contentDiv.clientHeight)/2}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"instanceNo\",{get:function(){return this._instanceNo},enumerable:!1,configurable:!0}),t.prototype.open=function(){this.setupResizeObserver(),this.setEditingTarget(),this.setTopLeft(),this.initMarkerCanvas(),this.initOverlay(),this.attachEvents(),\"popup\"===this.settings.displayMode&&this.onPopupTargetResize(),n.isLicensed||this.addLogo(),this._isOpen=!0,this._isFocused=!0},t.prototype.show=function(){var t=this;void 0===this.styles.styleSheetRoot&&void 0!==h.styleSheetRoot&&(this.styles.styleSheetRoot=h.styleSheetRoot),this.markers.splice(0),this.setWindowHeight(),this.showUI(),this.open(),this.eventListeners.show.forEach((function(e){return e(new U(t))}))},t.prototype.render=function(){return i(this,void 0,void 0,(function(){var t;return o(this,(function(e){switch(e.label){case 0:return this.setCurrentMarker(),(t=new a).naturalSize=this.renderAtNaturalSize,t.imageType=this.renderImageType,t.imageQuality=this.renderImageQuality,t.markersOnly=this.renderMarkersOnly,t.width=this.renderWidth,t.height=this.renderHeight,[4,t.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 1:return e.sent(),[4,t.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 2:return[2,e.sent()]}}))}))},t.prototype.close=function(t){var e=this;if(void 0===t&&(t=!1),this.isOpen){var i=!1;t||this.eventListeners.beforeclose.forEach((function(t){var o=new U(e,!0);t(o),o.defaultPrevented&&(i=!0)})),i||(this.coverDiv&&this.closeUI(),this.targetObserver&&(this.targetObserver.unobserve(this.target),this.targetObserver.unobserve(this.editorCanvas)),\"popup\"===this.settings.displayMode&&window.removeEventListener(\"resize\",this.setWindowHeight),this.eventListeners.close.forEach((function(t){return t(new U(e))})),this.detachEvents(),this._isOpen=!1)}},t.prototype.addMarkersToToolbar=function(){for(var t,e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];(t=this._availableMarkerTypes).push.apply(t,e)},t.prototype.addRenderEventListener=function(t){this.addEventListener(\"render\",(function(e){t(e.dataUrl,e.state)}))},t.prototype.removeRenderEventListener=function(t){},t.prototype.addCloseEventListener=function(t){this.addEventListener(\"close\",(function(){t()}))},t.prototype.removeCloseEventListener=function(t){},t.prototype.setupResizeObserver=function(){var t=this;\"inline\"===this.settings.displayMode?window.ResizeObserver&&(this.targetObserver=new ResizeObserver((function(){t.resize(t.target.clientWidth,t.target.clientHeight)})),this.targetObserver.observe(this.target)):\"popup\"===this.settings.displayMode&&(window.ResizeObserver&&(this.targetObserver=new ResizeObserver((function(){return t.onPopupTargetResize()})),this.targetObserver.observe(this.editorCanvas)),window.addEventListener(\"resize\",this.setWindowHeight))},t.prototype.onPopupTargetResize=function(){var t=1*this.target.clientWidth/this.target.clientHeight,e=this.editorCanvas.clientWidth/t>this.editorCanvas.clientHeight?this.editorCanvas.clientHeight*t:this.editorCanvas.clientWidth,i=e<this.editorCanvas.clientWidth?this.editorCanvas.clientHeight:this.editorCanvas.clientWidth/t;this.resize(e,i)},t.prototype.setWindowHeight=function(){this.windowHeight=window.innerHeight},t.prototype.resize=function(t,e){this._isResizing=!0;var i=t/this.imageWidth,o=e/this.imageHeight;this.imageWidth=Math.round(t),this.imageHeight=Math.round(e),this.target instanceof HTMLImageElement&&this.editingTarget instanceof HTMLImageElement&&(this.editingTarget.src=this.target.src),this.editingTarget.width=this.imageWidth,this.editingTarget.height=this.imageHeight,this.editingTarget.style.width=this.imageWidth+\"px\",this.editingTarget.style.height=this.imageHeight+\"px\",this.markerImage.setAttribute(\"width\",this.imageWidth.toString()),this.markerImage.setAttribute(\"height\",this.imageHeight.toString()),this.markerImage.setAttribute(\"viewBox\",\"0 0 \"+this.imageWidth.toString()+\" \"+this.imageHeight.toString()),this.markerImageHolder.style.width=this.imageWidth+\"px\",this.markerImageHolder.style.height=this.imageHeight+\"px\",this.overlayContainer.style.width=this.imageWidth+\"px\",this.overlayContainer.style.height=this.imageHeight+\"px\",\"popup\"!==this.settings.displayMode?this.coverDiv.style.width=this.imageWidth.toString()+\"px\":(this.setTopLeft(),this.positionMarkerImage()),void 0!==this.toolbar&&this.toolbar.adjustLayout(),this.positionLogo(),this.scaleMarkers(i,o),this._isResizing=!1},t.prototype.scaleMarkers=function(t,e){var i,o=this;this._currentMarker&&this._currentMarker instanceof P?this._currentMarker.scale(t,e):(i=this._currentMarker,this.setCurrentMarker()),this.markers.forEach((function(i){i!==o._currentMarker&&i.scale(t,e)})),void 0!==i&&this.setCurrentMarker(i)},t.prototype.setEditingTarget=function(){this.imageWidth=Math.round(this.target.clientWidth),this.imageHeight=Math.round(this.target.clientHeight),this.target instanceof HTMLImageElement&&this.editingTarget instanceof HTMLImageElement&&(this.editingTarget.src=this.target.src),this.editingTarget.width=this.imageWidth,this.editingTarget.height=this.imageHeight,this.editingTarget.style.width=this.imageWidth+\"px\",this.editingTarget.style.height=this.imageHeight+\"px\"},t.prototype.setTopLeft=function(){var t=this.editingTarget.getBoundingClientRect(),e=this.editorCanvas.getBoundingClientRect();this.left=t.left-e.left,this.top=t.top-e.top},t.prototype.initMarkerCanvas=function(){this.markerImageHolder=document.createElement(\"div\"),this.markerImageHolder.style.setProperty(\"touch-action\",\"pinch-zoom\"),this.markerImage=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.markerImage.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),this.markerImage.setAttribute(\"width\",this.imageWidth.toString()),this.markerImage.setAttribute(\"height\",this.imageHeight.toString()),this.markerImage.setAttribute(\"viewBox\",\"0 0 \"+this.imageWidth.toString()+\" \"+this.imageHeight.toString()),this.markerImage.style.pointerEvents=\"auto\",this.markerImageHolder.style.position=\"absolute\",this.markerImageHolder.style.width=this.imageWidth+\"px\",this.markerImageHolder.style.height=this.imageHeight+\"px\",this.markerImageHolder.style.transformOrigin=\"top left\",this.positionMarkerImage(),this.markerImageHolder.appendChild(this.markerImage),this.editorCanvas.appendChild(this.markerImageHolder)},t.prototype.addDefs=function(){for(var t,e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];this.defs=r.createDefs(),this.addDefsToImage(),(t=this.defs).append.apply(t,e)},t.prototype.addDefsToImage=function(){this.defs&&this.markerImage.insertBefore(this.defs,this.markerImage.firstChild)},t.prototype.initOverlay=function(){this.overlayContainer=document.createElement(\"div\"),this.overlayContainer.style.position=\"absolute\",this.overlayContainer.style.left=\"0px\",this.overlayContainer.style.top=\"0px\",this.overlayContainer.style.width=this.imageWidth+\"px\",this.overlayContainer.style.height=this.imageHeight+\"px\",this.overlayContainer.style.display=\"flex\",this.markerImageHolder.appendChild(this.overlayContainer)},t.prototype.positionMarkerImage=function(){this.markerImageHolder.style.top=this.top/this.zoomLevel+\"px\",this.markerImageHolder.style.left=this.left/this.zoomLevel+\"px\"},t.prototype.attachEvents=function(){this.markerImage.addEventListener(\"pointerdown\",this.onPointerDown),this.markerImage.addEventListener(\"touchmove\",(function(t){return t.preventDefault()})),this.markerImage.addEventListener(\"dblclick\",this.onDblClick),this.attachWindowEvents()},t.prototype.attachWindowEvents=function(){window.addEventListener(\"pointermove\",this.onPointerMove),window.addEventListener(\"pointerup\",this.onPointerUp),window.addEventListener(\"pointercancel\",this.onPointerOut),window.addEventListener(\"pointerout\",this.onPointerOut),window.addEventListener(\"pointerleave\",this.onPointerUp),window.addEventListener(\"resize\",this.onWindowResize),window.addEventListener(\"keyup\",this.onKeyUp)},t.prototype.detachEvents=function(){this.markerImage.removeEventListener(\"pointerdown\",this.onPointerDown),this.markerImage.removeEventListener(\"dblclick\",this.onDblClick),this.detachWindowEvents()},t.prototype.detachWindowEvents=function(){window.removeEventListener(\"pointermove\",this.onPointerMove),window.removeEventListener(\"pointerup\",this.onPointerUp),window.removeEventListener(\"pointercancel\",this.onPointerOut),window.removeEventListener(\"pointerout\",this.onPointerOut),window.removeEventListener(\"pointerleave\",this.onPointerUp),window.removeEventListener(\"resize\",this.onWindowResize),window.removeEventListener(\"keyup\",this.onKeyUp)},t.prototype.addLogo=function(){this.logoUI=document.createElement(\"div\"),this.logoUI.style.display=\"inline-block\",this.logoUI.style.margin=\"0px\",this.logoUI.style.padding=\"0px\",this.logoUI.style.fill=\"#333333\";var t=document.createElement(\"a\");t.href=\"https://markerjs.com/\",t.target=\"_blank\",t.innerHTML='<svg viewBox=\"0 0 112 96\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"1.414\"><path fill=\"#e5f20d\" fill-opacity=\".647\" d=\"M0 40.386h111.96V95.62H0z\"/><path d=\"M93.61 61.452c0 .987-.328 1.831-.987 2.53-.657.7-1.52 1.048-2.591 1.048-1.481 0-2.222-.74-2.222-2.22 0-16.617-.533-29.347-1.604-38.192-1.068-8.842-2.92-13.265-5.552-13.265-4.443 0-10.94 15.509-19.497 46.52v.124c0 .987-.328 1.831-.987 2.53-.657.7-1.52 1.048-2.592 1.048-1.48 0-2.22-.74-2.22-2.22 0-3.29.165-8.392.493-15.302.33-7.732.494-13.82.494-18.262 0-6.17-.186-10.55-.556-13.142-.37-2.591-1.172-3.887-2.406-3.887-2.796 0-6.333 5.12-10.612 15.363C38.494 34.367 34.01 46.44 29.32 60.34l-1.11 3.209a5.714 5.714 0 01-1.42 2.097c-.617.578-1.295.864-2.036.864-.987 0-1.644-.081-1.974-.247-.328-.162-.533-.656-.617-1.48-.41-4.03-.74-9.418-.987-16.165-.163-1.728-.329-4.566-.494-8.515-.822-13.901-1.562-23.3-2.221-28.196-.657-4.893-.987-7.628-.987-8.205 0-.657.33-1.44.987-2.345.659-.903 1.276-1.357 1.85-1.357 1.319 0 2.387.947 3.21 2.838.411.906.863 4.526 1.357 10.859.493 6.335.905 14.19 1.233 23.568l.617 18.88c4.527-13.983 9.216-26.673 14.068-38.068C45.65 6.686 50.093.988 54.123.988c2.715 0 4.566 1.974 5.553 5.923.987 3.949 1.481 9.667 1.481 17.152 0 3.949-.081 9.625-.247 17.029l-.123 5.676c3.373-11.762 6.725-21.634 10.057-29.615 3.331-7.979 6.685-11.97 10.056-11.97 8.475 0 12.71 18.757 12.71 56.269z\" fill-rule=\"nonzero\"/></svg>',t.title=\"Powered by marker.js\",t.style.display=\"grid\",t.style.alignItems=\"center\",t.style.justifyItems=\"center\",t.style.padding=\"3px\",t.style.width=\"20px\",t.style.height=\"20px\",this.logoUI.appendChild(t),this.editorCanvas.appendChild(this.logoUI),this.logoUI.style.position=\"absolute\",this.logoUI.style.pointerEvents=\"all\",this.positionLogo()},t.prototype.positionLogo=function(){this.logoUI&&(\"right\"!==this.uiStyleSettings.logoPosition?this.logoUI.style.left=this.markerImageHolder.offsetLeft+10+\"px\":this.logoUI.style.left=this.markerImageHolder.offsetLeft+this.markerImageHolder.offsetWidth-this.logoUI.clientWidth-10+\"px\",this.logoUI.style.top=this.markerImageHolder.offsetTop+this.markerImageHolder.offsetHeight-this.logoUI.clientHeight-10+\"px\")},t.prototype.overrideOverflow=function(){this.scrollXState=window.scrollX,this.scrollYState=window.scrollY,this.bodyOverflowState=document.body.style.overflow,window.scroll({top:0,left:0}),document.body.style.overflow=\"hidden\"},t.prototype.restoreOverflow=function(){document.body.style.overflow=this.bodyOverflowState,window.scroll({top:this.scrollYState,left:this.scrollXState})},t.prototype.showUI=function(){var t;switch(\"popup\"===this.settings.displayMode&&this.overrideOverflow(),this.coverDiv=document.createElement(\"div\"),this.coverDiv.style.visibility=this._silentRenderMode?\"hidden\":\"visible\",this.coverDiv.className=this.styles.classNamePrefixBase+\" \"+this.styles.classNamePrefix,this.coverDiv.style.fontSize=\"16px\",this.coverDiv.style.userSelect=\"none\",this.settings.displayMode){case\"inline\":this.coverDiv.style.position=\"absolute\";var e=void 0!==this.settings.uiOffsetTop?this.target.offsetTop+this.settings.uiOffsetTop:this.target.offsetTop>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0,i=this.target.offsetLeft+(null!==(t=this.settings.uiOffsetLeft)&&void 0!==t?t:0);this.coverDiv.style.top=e+\"px\",this.coverDiv.style.left=i+\"px\",this.coverDiv.style.width=this.target.offsetWidth.toString()+\"px\",this.coverDiv.style.zIndex=void 0!==this.uiStyleSettings.zIndex?this.uiStyleSettings.zIndex:\"5\";break;case\"popup\":this.coverDiv.style.position=\"fixed\",this.coverDiv.style.top=\"0px\",this.coverDiv.style.left=\"0px\",this.coverDiv.style.width=\"100vw\",this.coverDiv.style.height=window.innerHeight+\"px\",this.coverDiv.style.backgroundColor=\"rgba(0, 0, 0, 0.75)\",this.coverDiv.style.zIndex=void 0!==this.uiStyleSettings.zIndex?this.uiStyleSettings.zIndex:\"1000\",this.coverDiv.style.display=\"flex\"}this.targetRoot.appendChild(this.coverDiv),this.uiDiv=document.createElement(\"div\"),this.uiDiv.style.display=\"flex\",this.uiDiv.style.flexDirection=\"column\",this.uiDiv.style.flexGrow=\"2\",this.uiDiv.style.margin=\"popup\"===this.settings.displayMode?this.settings.popupMargin+\"px\":\"0px\",\"popup\"===this.settings.displayMode&&(this.uiDiv.style.maxWidth=\"calc(100vw - \"+2*this.settings.popupMargin+\"px\"),this.uiDiv.style.border=\"0px\",this.coverDiv.appendChild(this.uiDiv),this.toolbar=new d(this.uiDiv,this.settings.displayMode,this._availableMarkerTypes,this.uiStyleSettings,this.styles),this.toolbar.addButtonClickListener(this.toolbarButtonClicked),this.toolbar.show(this._silentRenderMode||this.uiStyleSettings.hideToolbar?\"hidden\":\"visible\"),this.contentDiv=document.createElement(\"div\"),this.contentDiv.style.display=\"flex\",this.contentDiv.style.flexDirection=\"row\",this.contentDiv.style.flexGrow=\"2\",this.contentDiv.style.flexShrink=\"1\",\"popup\"===this.settings.displayMode&&(this.contentDiv.style.backgroundColor=this.uiStyleSettings.canvasBackgroundColor,this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.uiStyleSettings.toolbarHeight+\"px\",this.contentDiv.style.maxWidth=\"calc(100vw - \"+2*this.settings.popupMargin+\"px)\"),this.contentDiv.style.overflow=\"auto\",this.uiDiv.appendChild(this.contentDiv),this.editorCanvas=document.createElement(\"div\"),this.editorCanvas.style.flexGrow=\"2\",this.editorCanvas.style.flexShrink=\"1\",this.editorCanvas.style.position=\"relative\",this.editorCanvas.style.overflow=\"hidden\",this.editorCanvas.style.display=\"flex\",\"popup\"===this.settings.displayMode&&(this.editorCanvas.style.alignItems=\"center\",this.editorCanvas.style.justifyContent=\"center\"),this.editorCanvas.style.pointerEvents=\"none\",this.editorCanvas.style.transformOrigin=\"left top\",this.editorCanvas.style.transform=\"scale(\"+this.zoomLevel+\")\",this.contentDiv.appendChild(this.editorCanvas),this.editingTarget=this.target instanceof HTMLImageElement?document.createElement(\"img\"):document.createElement(\"canvas\"),\"inline\"===this.settings.displayMode&&void 0===this.settings.uiOffsetTop&&this.target.offsetTop<this.styles.settings.toolbarHeight&&(this.editingTarget.style.marginTop=this.target.offsetTop-this.styles.settings.toolbarHeight+\"px\"),this.editorCanvas.appendChild(this.editingTarget),this.toolbox=new u(this.uiDiv,this.settings.displayMode,this.uiStyleSettings,this.styles),this.toolbox.show(this._silentRenderMode||this.uiStyleSettings.hideToolbox?\"hidden\":\"visible\")},t.prototype.closeUI=function(){\"popup\"===this.settings.displayMode&&this.restoreOverflow(),this.targetRoot.removeChild(this.coverDiv),this.coverDiv.remove(),this.coverDiv=null},t.prototype.removeMarker=function(t){this.markerImage.removeChild(t.container),this.markers.indexOf(t)>-1&&this.markers.splice(this.markers.indexOf(t),1),t.dispose()},t.prototype.switchToSelectMode=function(){this.mode=\"select\",this.hideNotesEditor(),void 0!==this._currentMarker&&(\"new\"!==this._currentMarker.state?this._currentMarker.select():(this.removeMarker(this._currentMarker),this.setCurrentMarker(),this.markerImage.style.cursor=\"default\"),this.addUndoStep()),this.toolbar.setSelectMode()},t.prototype.toolbarButtonClicked=function(t,e){if(\"marker\"===t&&void 0!==e)this.createNewMarker(e);else if(\"action\"===t)switch(e){case\"select\":this.switchToSelectMode(),this.switchToSelectMode();break;case\"delete\":this.deleteSelectedMarker();break;case\"clear\":this.clear();break;case\"undo\":this.undo();break;case\"redo\":this.redo();break;case\"zoom\":this.stepZoom();break;case\"zoom-out\":this.zoomLevel=1;break;case\"notes\":void 0===this.notesArea?(this.switchToSelectMode(),this.zoomLevel=1,this.showNotesEditor()):this.switchToSelectMode();break;case\"close\":this.close();break;case\"render\":this.switchToSelectMode(),this.startRenderAndClose()}},t.prototype.deleteSelectedMarker=function(){var t=this;if(void 0!==this._currentMarker&&\"select\"===this._currentMarker.state){var e=!1;if(this.eventListeners.markerbeforedelete.forEach((function(i){var o=new Y(t,t._currentMarker,!0);i(o),o.defaultPrevented&&(e=!0)})),!e){var i=this._currentMarker;this._currentMarker.dispose(),this.markerImage.removeChild(this._currentMarker.container),this.markers.splice(this.markers.indexOf(this._currentMarker),1),this.setCurrentMarker(),this.addUndoStep(),this.eventListeners.markerdelete.forEach((function(e){return e(new Y(t,i))}))}}},t.prototype.clear=function(){var t=this,e=!1;if(this.markers.length>0&&(this.eventListeners.markerbeforedelete.forEach((function(i){var o=new Y(t,void 0,!0);i(o),o.defaultPrevented&&(e=!0)})),!e)){this.setCurrentMarker();for(var i=function(e){var i=o.markers[e];o.setCurrentMarker(o.markers[e]),o._currentMarker.dispose(),o.markerImage.removeChild(o._currentMarker.container),o.markers.splice(o.markers.indexOf(o._currentMarker),1),o.eventListeners.markerdelete.forEach((function(e){return e(new Y(t,i))}))},o=this,s=this.markers.length-1;s>=0;s--)i(s);this.addUndoStep()}},Object.defineProperty(t.prototype,\"isNotesAreaOpen\",{get:function(){return void 0!==this.notesArea},enumerable:!1,configurable:!0}),t.prototype.showNotesEditor=function(){var t;void 0!==this._currentMarker&&(this.overlayContainer.innerHTML=\"\",this.notesArea=document.createElement(\"textarea\"),this.notesArea.className=this.uiStyleSettings.notesAreaStyleClassName,this.notesArea.style.pointerEvents=\"auto\",this.notesArea.style.alignSelf=\"stretch\",this.notesArea.style.width=\"100%\",this.notesArea.style.margin=this.uiStyleSettings.toolbarHeight/4+\"px\",this.notesArea.value=null!==(t=this._currentMarker.notes)&&void 0!==t?t:\"\",this.overlayContainer.appendChild(this.notesArea))},t.prototype.hideNotesEditor=function(){this.isNotesAreaOpen&&(void 0!==this._currentMarker&&(this._currentMarker.notes=\"\"!==this.notesArea.value.trim()?this.notesArea.value:void 0),this.overlayContainer.removeChild(this.notesArea),this.notesArea=void 0)},t.prototype.selectLastMarker=function(){this.markers.length>0?this.setCurrentMarker(this.markers[this.markers.length-1]):this.setCurrentMarker()},t.prototype.addUndoStep=function(){var t=this;if(void 0===this._currentMarker||\"edit\"!==this._currentMarker.state){var e=this.getState(),i=this.undoRedoManager.getLastUndoStep();if(!i||i.width===e.width&&i.height===e.height){var o=this.undoRedoManager.undoStepCount;this.undoRedoManager.addUndoStep(e),o<this.undoRedoManager.undoStepCount&&this.eventListeners.statechange.forEach((function(e){return e(new U(t))}))}else this.undoRedoManager.replaceLastUndoStep(e)}},t.prototype.undo=function(){this.switchToSelectMode(),this.addUndoStep(),this.undoStep()},t.prototype.undoStep=function(){var t=this,e=this.undoRedoManager.undo();void 0!==e&&(this.restoreState(e),this.addDefsToImage(),this.selectLastMarker(),this.eventListeners.statechange.forEach((function(e){return e(new U(t))})))},t.prototype.redo=function(){this.switchToSelectMode(),this.redoStep()},t.prototype.redoStep=function(){var t=this,e=this.undoRedoManager.redo();void 0!==e&&(this.restoreState(e),this.addDefsToImage(),this.selectLastMarker(),this.eventListeners.statechange.forEach((function(e){return e(new U(t))})))},t.prototype.stepZoom=function(){var t=this.zoomSteps.indexOf(this.zoomLevel);this.zoomLevel=t<this.zoomSteps.length-1?this.zoomSteps[t+1]:this.zoomSteps[0]},t.prototype.panTo=function(t){this.contentDiv.scrollBy({left:this.prevPanPoint.x-t.x,top:this.prevPanPoint.y-t.y}),this.prevPanPoint=t},t.prototype.startRenderAndClose=function(){return i(this,void 0,void 0,(function(){var t,e,i=this;return o(this,(function(o){switch(o.label){case 0:return[4,this.render()];case 1:return t=o.sent(),e=this.getState(),this.eventListeners.render.forEach((function(o){return o(new X(i,t,e))})),this.close(!0),[2]}}))}))},t.prototype.getState=function(t){!0===t&&this.setCurrentMarker();var e={width:this.imageWidth,height:this.imageHeight,markers:[]};return this.markers.forEach((function(t){return e.markers.push(t.getState())})),e},t.prototype.restoreState=function(t){var e=this;for(this.markers.splice(0);this.markerImage.lastChild;)this.markerImage.removeChild(this.markerImage.lastChild);t.markers.forEach((function(t){var i=e._availableMarkerTypes.find((function(e){return e.typeName===t.typeName}));if(void 0!==i){var o=e.addNewMarker(i);o.restoreState(t),e.addMarkerEvents(o),e.markers.push(o)}})),t.width&&t.height&&(t.width!==this.imageWidth||t.height!==this.imageHeight)&&this.scaleMarkers(this.imageWidth/t.width,this.imageHeight/t.height),this.eventListeners.restorestate.forEach((function(t){return t(new U(e))}))},t.prototype.addNewMarker=function(t){var e=r.createGroup();return this.markerImage.appendChild(e),new t(e,this.overlayContainer,this.settings)},t.prototype.createNewMarker=function(t){var e,i=this;(e=\"string\"==typeof t?this._availableMarkerTypes.find((function(e){return e.typeName===t})):t)&&(this.setCurrentMarker(),this.addUndoStep(),this._currentMarker=this.addNewMarker(e),this.addMarkerEvents(this._currentMarker),this.markerImage.style.cursor=\"crosshair\",this.toolbar.setActiveMarkerButton(e.typeName),this.toolbox.setPanelButtons(this._currentMarker.toolboxPanels),this.eventListeners.markercreating.forEach((function(t){return t(new Y(i,i._currentMarker))})))},t.prototype.addMarkerEvents=function(t){t.onMarkerCreated=this.markerCreated,t.onColorChanged=this.colorChanged,t.onFillColorChanged=this.fillColorChanged,t.onStateChanged=this.markerStateChanged},t.prototype.markerCreated=function(t){var e=this;this.mode=\"select\",this.markerImage.style.cursor=\"default\",this.markers.push(t),this.setCurrentMarker(t),t instanceof L&&this.settings.newFreehandMarkerOnPointerUp?this.createNewMarker(L):this.toolbar.setSelectMode(),this.addUndoStep(),this.eventListeners.markercreate.forEach((function(i){return i(new Y(e,t))}))},t.prototype.colorChanged=function(t){this.settings.defaultColorsFollowCurrentColors&&(this.settings.defaultColor=t,this.settings.defaultStrokeColor=t)},t.prototype.fillColorChanged=function(t){this.settings.defaultColorsFollowCurrentColors&&(this.settings.defaultFillColor=t)},t.prototype.markerStateChanged=function(t){var e=this;this.eventListeners.markerchange.forEach((function(i){return i(new Y(e,t))}))},t.prototype.setCurrentMarker=function(t){var e=this;this._currentMarker!==t&&void 0!==this._currentMarker&&(this._currentMarker.deselect(),this.toolbar.setCurrentMarker(),this.toolbox.setPanelButtons([]),this._isResizing||this.eventListeners.markerdeselect.forEach((function(t){return t(new Y(e,e._currentMarker))}))),this._currentMarker=t,void 0===this._currentMarker||this._currentMarker.isSelected||(\"new\"!==this._currentMarker.state&&this._currentMarker.select(),this.toolbar.setCurrentMarker(this._currentMarker),this.toolbox.setPanelButtons(this._currentMarker.toolboxPanels),this._isResizing||this.eventListeners.markerselect.forEach((function(t){return t(new Y(e,e._currentMarker))})))},t.prototype.onPointerDown=function(t){if(this._isFocused||this.focus(),this.touchPoints++,1===this.touchPoints||\"touch\"!==t.pointerType)if(void 0===this._currentMarker||\"new\"!==this._currentMarker.state&&\"creating\"!==this._currentMarker.state){if(\"select\"===this.mode){var e=this.markers.find((function(e){return e.ownsTarget(t.target)}));void 0!==e?(this.setCurrentMarker(e),this.isDragging=!0,this._currentMarker.pointerDown(this.clientToLocalCoordinates(t.clientX,t.clientY),t.target)):(this.setCurrentMarker(),this.isDragging=!0,this.prevPanPoint={x:t.clientX,y:t.clientY})}}else this.isDragging=!0,this._currentMarker.pointerDown(this.clientToLocalCoordinates(t.clientX,t.clientY))},t.prototype.onDblClick=function(t){if(this._isFocused||this.focus(),\"select\"===this.mode){var e=this.markers.find((function(e){return e.ownsTarget(t.target)}));void 0!==e&&e!==this._currentMarker&&this.setCurrentMarker(e),void 0!==this._currentMarker?this._currentMarker.dblClick(this.clientToLocalCoordinates(t.clientX,t.clientY),t.target):this.setCurrentMarker()}},t.prototype.onPointerMove=function(t){1!==this.touchPoints&&\"touch\"===t.pointerType||(void 0!==this._currentMarker||this.isDragging)&&(void 0!==this._currentMarker&&\"edit\"===this._currentMarker.state||t.preventDefault(),void 0!==this._currentMarker?this._currentMarker.manipulate(this.clientToLocalCoordinates(t.clientX,t.clientY)):this.zoomLevel>1&&this.panTo({x:t.clientX,y:t.clientY}))},t.prototype.onPointerUp=function(t){this.touchPoints>0&&this.touchPoints--,0===this.touchPoints&&(this.isDragging&&void 0!==this._currentMarker&&this._currentMarker.pointerUp(this.clientToLocalCoordinates(t.clientX,t.clientY)),this.isDragging=!1,this.addUndoStep())},t.prototype.onPointerOut=function(){this.touchPoints>0&&this.touchPoints--},t.prototype.onKeyUp=function(t){void 0===this._currentMarker||void 0!==this.notesArea||\"Delete\"!==t.key&&\"Backspace\"!==t.key||this.deleteSelectedMarker()},t.prototype.clientToLocalCoordinates=function(t,e){var i=this.markerImage.getBoundingClientRect(),o=i.width/this.imageWidth/this.zoomLevel,s=i.height/this.imageHeight/this.zoomLevel;return{x:(t-i.left)/this.zoomLevel/o,y:(e-i.top)/this.zoomLevel/s}},t.prototype.onWindowResize=function(){this.positionUI()},t.prototype.positionUI=function(){switch(this.setTopLeft(),this.settings.displayMode){case\"inline\":var t=this.target.getClientRects(),e=t.length>0&&t.item(0)&&t.item(0).y>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=e+\"px\",this.coverDiv.style.left=this.target.offsetLeft.toString()+\"px\";break;case\"popup\":this.coverDiv.style.top=\"0px\",this.coverDiv.style.left=\"0px\",this.coverDiv.style.width=\"100vw\",this.coverDiv.style.height=this.windowHeight+\"px\",this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.styles.settings.toolbarHeight+\"px\"}this.positionMarkerImage(),this.positionLogo()},t.prototype.addLicenseKey=function(t){n.addKey(t)},t.prototype.addEventListener=function(t,e){this.eventListeners.addEventListener(t,e)},t.prototype.removeEventListener=function(t,e){this.eventListeners.removeEventListener(t,e)},t.prototype.renderState=function(t){this._silentRenderMode=!0,this.settings.displayMode=\"inline\",this.isOpen||this.show(),this.restoreState(t),this.startRenderAndClose(),this._silentRenderMode=!1},Object.defineProperty(t.prototype,\"isFocused\",{get:function(){return this._isFocused},enumerable:!1,configurable:!0}),t.prototype.focus=function(){var t=this;this._isFocused||(this.attachWindowEvents(),this._isFocused=!0,void 0!==this._previousCurrentMarker&&this.setCurrentMarker(this._previousCurrentMarker),this.eventListeners.focus.forEach((function(e){return e(new U(t))})))},t.prototype.blur=function(){var t=this;this._isFocused&&(this.detachWindowEvents(),this._isFocused=!1,this._previousCurrentMarker=this._currentMarker,this.setCurrentMarker(),this.eventListeners.blur.forEach((function(e){return e(new U(t))})))},t.instanceCounter=0,t}();export{n as Activator,A as ArrowMarker,D as ArrowTypePanel,z as CalloutMarker,j as CaptionFrameMarker,g as ColorPickerPanel,_ as CoverMarker,F as CurveMarker,V as EllipseFrameMarker,R as EllipseMarker,Z as EventListenerRepository,M as FontFamilyPanel,w as FrameMarker,L as FreehandMarker,W as HighlightMarker,T as LineMarker,k as LineStylePanel,S as LineWidthPanel,E as LinearMarkerBase,K as MarkerArea,U as MarkerAreaEvent,X as MarkerAreaRenderEvent,f as MarkerBase,Y as MarkerEvent,O as MeasurementMarker,I as OpacityPanel,x as RectangleMarker,b as RectangularBoxMarkerBase,v as RectangularBoxMarkerGrips,m as ResizeGrip,B as Settings,h as Style,c as StyleClass,l as StyleManager,r as SvgHelper,P as TextMarker,y as ToolboxPanel,C as TransformMatrix};\n//# sourceMappingURL=markerjs2.esm.js.map\n","import { Activator, MarkerArea } from 'markerjs2';\nconst EDITOR_STYLES_ID = 'cmmc-image-editor-styles';\nlet editorOpen = false;\nfunction ensureEditorStyles() {\n if (document.getElementById(EDITOR_STYLES_ID))\n return;\n const style = document.createElement('style');\n style.id = EDITOR_STYLES_ID;\n style.textContent = `\n .cmmc-editor-backdrop {\n position: fixed;\n inset: 0;\n z-index: 99999;\n background: #000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding-top: env(safe-area-inset-top);\n padding-bottom: env(safe-area-inset-bottom);\n box-sizing: border-box;\n }\n .cmmc-editor-backdrop img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n }\n `;\n document.head.appendChild(style);\n}\nfunction loadImageElement(src) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => resolve(img);\n img.onerror = () => reject(new Error(`Failed to load image: ${src}`));\n img.src = src;\n });\n}\n/**\n * Opens the Marker.js 2 annotation editor on a given image source.\n * Resolves with the annotated image data-URL and editor state, or null if cancelled.\n */\nexport function openImageEditor(src, previousState, licenseKey) {\n if (editorOpen)\n return Promise.resolve(null);\n editorOpen = true;\n ensureEditorStyles();\n return new Promise((resolve) => {\n let settled = false;\n const finish = (value) => {\n if (settled)\n return;\n settled = true;\n editorOpen = false;\n resolve(value);\n };\n void (async () => {\n let backdrop = null;\n try {\n backdrop = document.createElement('div');\n backdrop.className = 'cmmc-editor-backdrop';\n document.body.appendChild(backdrop);\n if (licenseKey && licenseKey.trim()) {\n Activator.addKey(licenseKey.trim());\n }\n const img = await loadImageElement(src);\n backdrop.appendChild(img);\n const markerArea = new MarkerArea(img);\n markerArea.targetRoot = backdrop;\n markerArea.renderAtNaturalSize = true;\n markerArea.renderImageType = 'image/jpeg';\n markerArea.renderImageQuality = 1;\n markerArea.addEventListener('render', (event) => {\n backdrop === null || backdrop === void 0 ? void 0 : backdrop.remove();\n backdrop = null;\n finish({ dataUrl: event.dataUrl, state: event.state });\n });\n markerArea.addEventListener('close', () => {\n backdrop === null || backdrop === void 0 ? void 0 : backdrop.remove();\n backdrop = null;\n finish(null);\n });\n markerArea.show();\n if (previousState) {\n try {\n markerArea.restoreState(previousState);\n }\n catch (_a) {\n /* e.g. state from an older editor version */\n }\n }\n }\n catch (_err) {\n backdrop === null || backdrop === void 0 ? void 0 : backdrop.remove();\n finish(null);\n }\n })();\n });\n}\nexport function isEditorActive() {\n return editorOpen;\n}\n//# sourceMappingURL=image-editor.js.map","// Auto-generated from package.json — do not edit. Run npm run build to update.\nexport const PLUGIN_VERSION = '0.12.2';\n//# sourceMappingURL=version.js.map","import { WebPlugin } from '@capacitor/core';\nimport { PLUGIN_VERSION } from './version';\nexport class CameraMultiCaptureWeb extends WebPlugin {\n async capture() {\n console.warn('[CameraMultiCapture] capture() not available on web.');\n return { value: { uri: '', thumbnail: '', webPath: '' } };\n }\n async stop() {\n console.warn('[CameraMultiCapture] stop() not available on web.');\n }\n async start(_options) {\n console.warn('[CameraMultiCapture] start() not available on web. Use initialize instead.');\n return { images: [], videos: [], cancelled: true };\n }\n async startVideoRecording() {\n console.warn('[CameraMultiCapture] startVideoRecording() not available on web.');\n }\n async stopVideoRecording() {\n console.warn('[CameraMultiCapture] stopVideoRecording() not available on web.');\n return { value: { uri: '', thumbnail: '', webPath: '', duration: 0 } };\n }\n async switchCamera() {\n console.warn('[CameraMultiCapture] switchCamera() not available on web.');\n }\n async setZoom(_options) {\n console.warn('[CameraMultiCapture] setZoom() not available on web.');\n }\n async getFlash() {\n console.warn('[CameraMultiCapture] getFlash() not available on web.');\n return { flashMode: 'off' };\n }\n async setFlash(_options) {\n console.warn('[CameraMultiCapture] setFlash() not available on web.');\n }\n async setTorch(_options) {\n console.warn('[CameraMultiCapture] setTorch() not available on web.');\n }\n async getTorch() {\n console.warn('[CameraMultiCapture] getTorch() not available on web.');\n return { enabled: false };\n }\n async getAvailableZoomLevels() {\n console.warn('[CameraMultiCapture] getAvailableZoomLevels() not available on web.');\n // Return default values for web\n return {\n minZoom: 1.0,\n maxZoom: 4.0,\n presetLevels: [1, 2, 3, 4]\n };\n }\n async updatePreviewRect(_options) {\n console.warn('[CameraMultiCapture] updatePreviewRect() not available on web.');\n }\n async getAvailableCameras() {\n console.warn('[CameraMultiCapture] getAvailableCameras() not available on web.');\n return {\n hasUltrawide: false,\n hasWide: true,\n hasTelephoto: false,\n wideZoomFactor: 1.0\n };\n }\n async switchToPhysicalCamera(_options) {\n console.warn('[CameraMultiCapture] switchToPhysicalCamera() not available on web.');\n }\n async checkPermissions() {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser.');\n }\n try {\n // Check camera permission\n const cameraResult = await navigator.permissions.query({ name: 'camera' });\n return {\n camera: cameraResult.state,\n audio: 'granted'\n };\n }\n catch (error) {\n // If permission query fails, assume we need to prompt\n return {\n camera: 'prompt',\n audio: 'granted'\n };\n }\n }\n async requestPermissions() {\n if (typeof navigator === 'undefined' || !navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {\n throw this.unavailable('Camera API not available in this browser.');\n }\n try {\n // Request camera access - this will prompt the user\n const stream = await navigator.mediaDevices.getUserMedia({ video: true });\n // Stop the stream immediately since we only needed it for permission\n stream.getTracks().forEach(track => track.stop());\n // After successful camera access, check permissions again\n return await this.checkPermissions();\n }\n catch (error) {\n // Permission was denied or error occurred\n console.error('Camera permission request failed:', error);\n // Return denied state\n return {\n camera: 'denied',\n audio: 'granted'\n };\n }\n }\n async queueBackgroundUpload(_options) {\n console.warn('[CameraMultiCapture] queueBackgroundUpload() not available on web.');\n return { jobId: 'web-not-supported' };\n }\n async getUploadStatus(_options) {\n console.warn('[CameraMultiCapture] getUploadStatus() not available on web.');\n return { status: 'failed', error: 'Web platform not supported' };\n }\n async getVersion() {\n return { version: PLUGIN_VERSION };\n }\n}\nconst CameraMultiCapture = new CameraMultiCaptureWeb();\nexport { CameraMultiCapture };\n//# sourceMappingURL=web.js.map"],"names":["TorchState","Capacitor","s","u","f","registerPlugin","exposeSynapse","Image","BiggerPicture","merge","WebPlugin","buildRequestInit","Activator","MarkerArea"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,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,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC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","x_google_ignoreList":[2,3,4,6,7,17,18]}
|