{"version":3,"file":"js/application-5b827ffe89b35e14e3d5.js","mappings":"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","sources":["webpack://artzip/./app/packs/channels/ sync _channel\\.js$","webpack://artzip/./app/packs/controllers/ sync _controller\\.js$","webpack://artzip/./app/packs/channels/consumer.js","webpack://artzip/./app/packs/channels/index.js","webpack://artzip/./app/packs/javascript/utils/capture_guide_renderer.js","webpack://artzip/./app/packs/controllers/capture_guide_controller.js","webpack://artzip/./app/packs/javascript/stitches/checkout_form.js","webpack://artzip/./app/packs/controllers/checkout_controller.js","webpack://artzip/./app/packs/controllers/commission_rate_fields_controller.js","webpack://artzip/./app/packs/controllers/composition_progress_controller.js","webpack://artzip/./app/packs/controllers/copy_to_clipboard_controller.js","webpack://artzip/./app/packs/controllers/duplicatable_field_controller.js","webpack://artzip/./app/packs/controllers/flash_controller.js","webpack://artzip/./app/packs/controllers/highlight_controller.js","webpack://artzip/./app/packs/controllers/html_attribute_fields_controller.js","webpack://artzip/./app/packs/controllers/integration_token_generator_controller.js","webpack://artzip/./app/packs/controllers/json_fields_controller.js","webpack://artzip/./app/packs/controllers/lightbox_controller.js","webpack://artzip/./app/packs/controllers/linkback_preview_controller.js","webpack://artzip/./app/packs/controllers/modal_controller.js","webpack://artzip/./app/packs/javascript/new_segment_photo_manager.js","webpack://artzip/./app/packs/controllers/new_segment_photos_controller.js","webpack://artzip/./app/packs/controllers/pintura_editor_controller.js","webpack://artzip/./app/packs/controllers/ppi_calculator_controller.js","webpack://artzip/./app/packs/controllers/promo_controller.js","webpack://artzip/./app/packs/javascript/utils/coordinates.js","webpack://artzip/./app/packs/javascript/utils/math.js","webpack://artzip/./app/packs/javascript/utils/rectifier.js","webpack://artzip/./app/packs/controllers/rectification_controller.js","webpack://artzip/./app/packs/controllers/referrer_tree_controller.js","webpack://artzip/./app/packs/controllers/reset_fields_controller.js","webpack://artzip/./app/packs/controllers/search_controller.js","webpack://artzip/./app/packs/controllers/searchable_select_controller.js","webpack://artzip/./app/packs/controllers/slide_deck_controller.js","webpack://artzip/./app/packs/controllers/spinner_overlay_controller.js","webpack://artzip/./app/packs/controllers/stitch_controller.js","webpack://artzip/./app/packs/controllers/table_sorting_controller.js","webpack://artzip/./app/packs/javascript/progressive_fields.js","webpack://artzip/./app/packs/controllers/telephone_fields_controller.js","webpack://artzip/./app/packs/controllers/trix_controller.js","webpack://artzip/./app/packs/controllers/valued_submit_controller.js","webpack://artzip/./app/packs/controllers/vertical_nav_controller.js","webpack://artzip/./app/packs/controllers/video_controller.js","webpack://artzip/./app/packs/controllers/index.js","webpack://artzip/./app/packs/javascript/stitches/new_reference_image_form.js","webpack://artzip/./app/packs/javascript/stitches/edit_reference_image_form.js","webpack://artzip/./app/packs/javascript/stitches.js","webpack://artzip/./app/packs/javascript/utils/duration_field.js","webpack://artzip/./app/packs/javascript/utils/persisted_tabs.js","webpack://artzip/./app/packs/javascript/admin/referrers.js","webpack://artzip/./app/packs/javascript/utils/duplicatable_fields.js","webpack://artzip/./app/packs/javascript/admin/settings.js","webpack://artzip/./app/packs/javascript/trix.js","webpack://artzip/./app/packs/entrypoints/application.js","webpack://artzip/./app/packs/javascript/popovers.js","webpack://artzip/./app/packs/javascript/admin_content.js","webpack://artzip/./app/packs/javascript/lightboxes.js","webpack://artzip/./app/packs/javascript/stitches/composite_image.js","webpack://artzip/./app/packs/javascript/tooltips.js","webpack://artzip/./app/packs/javascript/users.js","webpack://artzip/./app/packs/javascript/utils/bubbled_event_handling.js","webpack://artzip/./app/packs/javascript/utils/images.js","webpack://artzip/./app/packs/javascript/utils/random_string_generator.js","webpack://artzip/./app/packs/plugins/pintura/pintura.min.js","webpack://artzip/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 9391;\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./capture_guide_controller.js\": 519,\n\t\"./checkout_controller.js\": 5827,\n\t\"./commission_rate_fields_controller.js\": 3929,\n\t\"./composition_progress_controller.js\": 7774,\n\t\"./copy_to_clipboard_controller.js\": 6649,\n\t\"./duplicatable_field_controller.js\": 5534,\n\t\"./flash_controller.js\": 928,\n\t\"./highlight_controller.js\": 7437,\n\t\"./html_attribute_fields_controller.js\": 8868,\n\t\"./integration_token_generator_controller.js\": 2129,\n\t\"./json_fields_controller.js\": 745,\n\t\"./lightbox_controller.js\": 1549,\n\t\"./linkback_preview_controller.js\": 3593,\n\t\"./modal_controller.js\": 5363,\n\t\"./new_segment_photos_controller.js\": 7344,\n\t\"./pintura_editor_controller.js\": 8497,\n\t\"./ppi_calculator_controller.js\": 2060,\n\t\"./promo_controller.js\": 9196,\n\t\"./rectification_controller.js\": 3834,\n\t\"./referrer_tree_controller.js\": 958,\n\t\"./reset_fields_controller.js\": 8179,\n\t\"./search_controller.js\": 4857,\n\t\"./searchable_select_controller.js\": 6654,\n\t\"./slide_deck_controller.js\": 7104,\n\t\"./spinner_overlay_controller.js\": 8863,\n\t\"./stitch_controller.js\": 4790,\n\t\"./table_sorting_controller.js\": 5510,\n\t\"./telephone_fields_controller.js\": 5104,\n\t\"./trix_controller.js\": 7158,\n\t\"./valued_submit_controller.js\": 1020,\n\t\"./vertical_nav_controller.js\": 5082,\n\t\"./video_controller.js\": 2246,\n\t\"controllers/capture_guide_controller.js\": 519,\n\t\"controllers/checkout_controller.js\": 5827,\n\t\"controllers/commission_rate_fields_controller.js\": 3929,\n\t\"controllers/composition_progress_controller.js\": 7774,\n\t\"controllers/copy_to_clipboard_controller.js\": 6649,\n\t\"controllers/duplicatable_field_controller.js\": 5534,\n\t\"controllers/flash_controller.js\": 928,\n\t\"controllers/highlight_controller.js\": 7437,\n\t\"controllers/html_attribute_fields_controller.js\": 8868,\n\t\"controllers/integration_token_generator_controller.js\": 2129,\n\t\"controllers/json_fields_controller.js\": 745,\n\t\"controllers/lightbox_controller.js\": 1549,\n\t\"controllers/linkback_preview_controller.js\": 3593,\n\t\"controllers/modal_controller.js\": 5363,\n\t\"controllers/new_segment_photos_controller.js\": 7344,\n\t\"controllers/pintura_editor_controller.js\": 8497,\n\t\"controllers/ppi_calculator_controller.js\": 2060,\n\t\"controllers/promo_controller.js\": 9196,\n\t\"controllers/rectification_controller.js\": 3834,\n\t\"controllers/referrer_tree_controller.js\": 958,\n\t\"controllers/reset_fields_controller.js\": 8179,\n\t\"controllers/search_controller.js\": 4857,\n\t\"controllers/searchable_select_controller.js\": 6654,\n\t\"controllers/slide_deck_controller.js\": 7104,\n\t\"controllers/spinner_overlay_controller.js\": 8863,\n\t\"controllers/stitch_controller.js\": 4790,\n\t\"controllers/table_sorting_controller.js\": 5510,\n\t\"controllers/telephone_fields_controller.js\": 5104,\n\t\"controllers/trix_controller.js\": 7158,\n\t\"controllers/valued_submit_controller.js\": 1020,\n\t\"controllers/vertical_nav_controller.js\": 5082,\n\t\"controllers/video_controller.js\": 2246\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1676;","// Action Cable provides the framework to deal with WebSockets in Rails.\n// You can generate new channels where WebSocket features live using the `bin/rails generate channel` command.\n\nimport { createConsumer } from \"@rails/actioncable\";\n\nexport default createConsumer();\n","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context(\".\", true, /_channel\\.js$/);\nchannels.keys().forEach(channels);\n","import { scaleImage } from \"./images\";\n\n// TODO: Consider computing referenceImageInset to improve UI accuracy\n\nclass PhotoBlock {\n constructor({startX, startY, width, height}) {\n this.startX = startX;\n this.startY = startY;\n this.width = width;\n this.height = height;\n }\n\n get centerPoint() {\n return {\n x: this.startX + this.width / 2,\n y: this.startY + this.height / 2,\n };\n }\n}\n\nexport default class CaptureGuideRenderer {\n onLoadCallback = () => {console.dir(\"no load callback\")};\n referenceImage;\n\n internalWidth = 800;\n referenceImageInset = 50;\n photoBlocks = [];\n\n constructor({canvas, rowCount, columnCount, horizontalOverlap, verticalOverlap}) {\n this.canvas = canvas;\n this.rowCount = rowCount;\n this.columnCount = columnCount;\n this.horizontalOverlap = horizontalOverlap;\n this.verticalOverlap = verticalOverlap;\n\n this.context = this.canvas.getContext(\"2d\");\n }\n\n load(originalImage) {\n scaleImage(originalImage, this.internalWidth - this.referenceImageInset * 2)\n .then((rescaledImage) => {\n this.referenceImage = rescaledImage;\n\n this.canvas.width = this.internalWidth;\n this.canvas.height = this.referenceImage.height + this.referenceImageInset * 2;\n\n this.computePhotoBlocks();\n this.render();\n this.onLoadCallback();\n })\n .catch((_failureEvent) => {\n this.onLoadCallback();\n });\n }\n\n computePhotoBlocks() {\n const nonOverlapX = 1 - this.horizontalOverlap;\n const nonOverlapY = 1 - this.verticalOverlap;\n\n const photoWidth = this.canvas.width / (1 + this.columnCount * nonOverlapX - nonOverlapX);\n const photoHeight = this.canvas.height / (1 + this.rowCount * nonOverlapY - nonOverlapY);\n\n const photoCount = this.rowCount * this.columnCount;\n\n for (let id = 0; id < photoCount; id++) {\n const rowId = Math.floor(id / this.columnCount);\n\n let columnId = id % this.columnCount;\n if ((rowId + 1) % 2 === 0) columnId = this.columnCount - columnId - 1;\n\n const startY = rowId * photoHeight * nonOverlapY;\n const startX = columnId * photoWidth * nonOverlapX;\n\n const photoBlock = new PhotoBlock({startX, startY, width: photoWidth, height: photoHeight})\n this.photoBlocks.push(photoBlock);\n }\n }\n\n render(options = {}) {\n this.clear();\n this.renderBackground();\n this.renderReferenceImage();\n\n if (options.cycle !== undefined) {\n this.renderPhotoBlocks(options);\n } else {\n options.autoCycle = true;\n this.renderPhotoBlock(options);\n }\n }\n\n clear() {\n this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);\n }\n\n renderBackground() {\n this.context.fillStyle = \"#000\";\n this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);\n }\n\n renderReferenceImage() {\n this.context.drawImage(this.referenceImage, this.referenceImageInset, this.referenceImageInset);\n }\n\n renderPhotoBlocks(options) {\n const finalCycle = options.cycle;\n\n for (let currentCycle = 0; currentCycle < finalCycle; currentCycle++) {\n this.renderPhotoBlock({cycle: currentCycle, fogOnly: true});\n }\n\n this.renderPhotoBlock({cycle: finalCycle, autoCycle: true});\n }\n\n renderPhotoBlock(options = {}) {\n const cycle = options.cycle || 0;\n const fogOnly = options.fogOnly || false;\n\n const photoBlock = this.photoBlocks[cycle];\n const {width, height, startX: x, startY: y} = photoBlock;\n\n // === Draw fog ===\n this.context.save();\n this.context.fillStyle = \"rgba(255,255,255,0.25)\";\n this.context.fillRect(x, y, width, height);\n this.context.restore();\n\n if (fogOnly) return;\n\n // === Draw outline ===\n this.context.save();\n\n const lineWidth = 6;\n\n this.context.lineWidth = lineWidth;\n this.context.strokeStyle = \"rgba(255, 255, 255 ,0.75)\";\n\n this.context.beginPath();\n this.context.setLineDash([20, 8]);\n\n this.context.lineTo(x, y);\n this.context.lineTo(x, y + height - lineWidth);\n this.context.lineTo(x + width, y + height - lineWidth);\n this.context.lineTo(x + width, y);\n\n this.context.closePath();\n this.context.stroke();\n this.context.restore();\n\n // === Draw counter bubble ===\n const {x: centerX, y: centerY} = photoBlock.centerPoint;\n\n this.context.fillStyle = \"rgba(255, 255, 255, 0.75)\";\n this.context.strokeStyle = \"rgba(255, 255, 255, 0)\";\n\n this.context.beginPath();\n this.context.arc(centerX, centerY, 50, 0, Math.PI * 2, true);\n this.context.fill();\n this.context.stroke();\n\n this.context.font = \"50px Sans-Serif\";\n this.context.fillStyle = \"#000\";\n this.context.textAlign = \"center\";\n this.context.fillText(String(cycle + 1), centerX, centerY + 15);\n\n // === Draw projection ===\n const projectionColor = \"rgb(13, 153, 255)\";\n const cameraX = this.canvas.width / 2;\n const cameraY = this.canvas.height / 2;\n\n this.context.strokeStyle = projectionColor;\n this.context.lineWidth = 3;\n\n this.context.beginPath();\n\n this.context.moveTo(x, y + height - lineWidth);\n this.context.lineTo(cameraX, cameraY);\n\n this.context.moveTo(x + width, y + height - lineWidth);\n this.context.lineTo(cameraX, cameraY);\n\n this.context.moveTo(x + width, y);\n this.context.lineTo(cameraX, cameraY);\n\n this.context.moveTo(x, y);\n this.context.lineTo(cameraX, cameraY);\n\n this.context.stroke();\n\n // === Draw camera icon ===\n const iconBackgroundColor = projectionColor;\n const iconCameraColor = \"rgb(255, 255, 255)\";\n const iconWidth = 80;\n const iconHeight = 60;\n\n // Background\n this.context.fillStyle = iconBackgroundColor;\n this.#renderCenteredRoundRect(cameraX, cameraY, iconWidth, iconHeight, 18);\n\n // Camera hump\n const humpX = cameraX - iconWidth / 2;\n const humpY = cameraY - iconHeight / 2 + 18;\n\n this.context.fillStyle = iconCameraColor;\n\n this.context.beginPath();\n this.context.moveTo(humpX + 51, humpY);\n this.context.lineTo(humpX + 47, humpY - 8);\n this.context.bezierCurveTo(humpX + 45, humpY - 8, humpX + 46, humpY - 8, humpX + 44, humpY - 9);\n this.context.lineTo(humpX + 36, humpY - 9);\n this.context.bezierCurveTo(humpX + 35, humpY - 8, humpX + 34, humpY - 8, humpX + 33, humpY - 8);\n this.context.lineTo(humpX + 29, humpY);\n this.context.fill();\n\n // Camera body\n this.context.fillStyle = iconCameraColor;\n\n this.#renderCenteredRoundRect(cameraX, cameraY + 2, 52, 30, 10);\n\n // Camera lens\n this.context.fillStyle = iconBackgroundColor;\n\n this.context.beginPath();\n this.context.arc(cameraX, cameraY, 8, 0, 2 * Math.PI);\n this.context.fill();\n\n if (!options.autoCycle) return;\n\n setTimeout(() => {\n const nextCycle = cycle + 1 < this.photoBlocks.length ? cycle + 1 : 0\n this.render({cycle: nextCycle});\n }, 1000);\n }\n\n onLoad(callback) {\n this.onLoadCallback = callback;\n }\n\n #renderCenteredRoundRect(centerX, centerY, width, height, radius) {\n const xStart = centerX - width / 2;\n const yStart = centerY - height / 2;\n const xEnd = xStart + width;\n const yEnd = yStart + height;\n\n this.context.beginPath();\n this.context.moveTo(xStart, yEnd);\n this.context.arcTo(xStart, yStart, xEnd, yStart, radius);\n this.context.arcTo(xEnd, yStart, xEnd, yEnd, radius);\n this.context.arcTo(xEnd, yEnd, xStart, yEnd, radius);\n this.context.arcTo(xStart, yEnd, xStart, yStart, radius);\n this.context.fill();\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { fetchImage } from \"../javascript/utils/images\";\nimport CaptureGuideRenderer from \"../javascript/utils/capture_guide_renderer\"\n\nexport default class extends Controller {\n static targets = [\"canvas\"];\n\n static values = {\n imageUrl: String,\n rowCount: Number,\n columnCount: Number,\n horizontalOverlap: Number,\n verticalOverlap: Number,\n };\n\n captureGuideWriter;\n\n connect() {\n fetchImage(this.imageUrlValue)\n .then((image) => {\n this.#loadCaptureGuideWriter(image);\n })\n .catch(() => {\n alert(\"Failed to load image!\");\n });\n }\n\n showTutorial(event) {\n event.stopPropagation();\n const slideDeckController = this.application.controllers.find((c) => c.identifier === \"slide-deck\");\n slideDeckController.open();\n }\n\n #loadCaptureGuideWriter(image) {\n this.captureGuideWriter = new CaptureGuideRenderer({\n canvas: this.canvasTarget,\n rowCount: this.rowCountValue,\n columnCount: this.columnCountValue,\n horizontalOverlap: this.horizontalOverlapValue,\n verticalOverlap: this.verticalOverlapValue,\n });\n\n this.captureGuideWriter.onLoad(() => {\n this.#hideSpinner();\n this.canvasTarget.classList.add(\"z-2\");\n });\n\n this.captureGuideWriter.load(image);\n }\n\n #hideSpinner() {\n const spinnerController = document.querySelector(\"[data-controller='spinner-overlay']\");\n spinnerController.dataset.spinnerOverlayVisibleValue = \"false\";\n }\n}\n","import { loadStripe } from \"@stripe/stripe-js/pure\";\n\nexport default class CheckoutForm {\n // eslint-disable-next-line lines-between-class-members, prettier/prettier\n stripeJs; stripeElements; cardCvcField; cardNumberField; cardExpiryField;\n\n supportedStripeElementFieldTypes = [\"cardCvc\", \"cardNumber\", \"cardExpiry\"];\n\n constructor(config) {\n this.stripePublicKey = config.key;\n this.stripeInvoiceData = config.stripeInvoiceData;\n this.formElement = config.formElement;\n this.submitElement = config.submitElement;\n }\n\n async loadStripeElements() {\n this.stripeJs = await loadStripe(this.stripePublicKey);\n this.stripeElements = this.stripeJs.elements();\n\n if (this.total !== 0) this.disableSubmit();\n\n return this;\n }\n\n async payWithCard() {\n return this.stripeJs.confirmCardPayment(this.clientSecret, {\n payment_method: {\n card: this.getStripeElementField(\"cardNumber\"),\n },\n setup_future_usage: \"off_session\",\n });\n }\n\n mountCvcField(selector) {\n this.cardCvcField = document.querySelector(selector);\n this.cardCvcField.dataset.type = \"cardCvc\";\n\n this.#mountCardField(\"cardCvc\", selector);\n }\n\n mountNumberField(selector) {\n this.cardNumberField = document.querySelector(selector);\n this.cardNumberField.dataset.type = \"cardNumber\";\n\n this.#mountCardField(\"cardNumber\", selector);\n }\n\n mountExpiryField(selector) {\n this.cardExpiryField = document.querySelector(selector);\n this.cardExpiryField.dataset.type = \"cardExpiry\";\n\n this.#mountCardField(\"cardExpiry\", selector);\n }\n\n disableSubmit(label) {\n if (label) this.submitElement.textContent = label;\n\n this.submitElement.disabled = true;\n this.submitElement.classList.add(\"disabled\");\n }\n\n enableSubmit(label) {\n if (label) this.submitElement.textContent = label;\n\n this.submitElement.disabled = false;\n this.submitElement.classList.remove(\"disabled\");\n }\n\n getStripeElementField(fieldType) {\n if (!this.supportedStripeElementFieldTypes.includes(fieldType)) return false;\n\n return this.stripeElements.getElement(fieldType);\n }\n\n get clientSecret() {\n return this.stripeInvoiceData.payment_intent.client_secret;\n }\n\n get total() {\n let { total } = this.stripeInvoiceData;\n\n (total /= 100.0).toFixed(2);\n\n return total;\n }\n\n get couponName() {\n const { discounts } = this.stripeInvoiceData;\n\n if (discounts.length === 0) return null;\n\n return discounts[0].coupon.name;\n }\n\n get cardFields() {\n const fields = [this.cardCvcField, this.cardNumberField, this.cardExpiryField];\n\n return fields.filter((field) => field);\n }\n\n #mountCardField = (fieldType, selector) => {\n const stripeElementField = this.stripeElements.create(fieldType, {\n style: this.#cardFieldStyle,\n classes: this.#cardClasses,\n });\n\n stripeElementField.mount(selector);\n\n stripeElementField.on(\"change\", this.#validateCardField);\n };\n\n #validateCardField = (event) => {\n const { complete, elementType } = event;\n\n let isComplete = false;\n\n if (complete) {\n // Ignore current field since it hasn't been updated yet\n const otherFields = this.cardFields.filter((field) => field.dataset.type !== elementType);\n isComplete = otherFields.every((field) => field.classList.contains(\"is-complete\"));\n }\n\n if (isComplete) {\n this.enableSubmit();\n } else {\n this.disableSubmit();\n }\n };\n\n #cardClasses = {\n invalid: \"is-invalid\",\n complete: \"is-complete\",\n empty: \"is-empty\",\n };\n\n #cardFieldStyle = {\n base: {\n fontFamily: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial',\n fontSize: \"17.6px\",\n fontWeight: \"400\",\n color: \"#343a40\",\n\n \"::placeholder\": {\n color: \"#868e96\",\n },\n },\n\n invalid: {\n color: \"#d9534f\",\n \":focus\": {\n color: \"#343a40\",\n },\n \"::placeholder\": {\n color: \"#d9534f\",\n },\n },\n };\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Turbo } from \"@hotwired/turbo-rails\";\nimport Rails from \"@rails/ujs\";\nimport CheckoutForm from \"../javascript/stitches/checkout_form\";\n\nexport default class extends Controller {\n static targets = [\"creditCardForm\"];\n\n static values = {\n afterPaySuccessPath: String,\n invoiceDataPath: String,\n stripeKey: String,\n };\n\n checkoutForm = null;\n\n connect() {\n this.showInvoiceTotal();\n\n if (this.hasCreditCardFormTarget) {\n this.creditCardFormTarget.addEventListener(\"submit\", (e) => Rails.stopEverything(e));\n }\n\n Rails.ajax({\n url: this.invoiceDataPathValue,\n type: \"get\",\n success: (data) => {\n if (this.hasCreditCardFormTarget) {\n this.loadStripeElements(data);\n }\n this.showInvoiceTotal(data);\n },\n });\n }\n\n showInvoiceTotal(stripeInvoiceData = undefined) {\n let { invoiceTotal } = window;\n\n if (this.checkoutForm) {\n invoiceTotal = this.checkoutForm.total;\n } else if (stripeInvoiceData) {\n const { total } = stripeInvoiceData;\n\n invoiceTotal = total / 100.0;\n }\n\n if (invoiceTotal) {\n const invoiceTotalLabel = document.getElementById(\"unlock-price-label\");\n invoiceTotalLabel.textContent = `$${invoiceTotal.toFixed(2)}`;\n }\n\n window.invoiceTotal = invoiceTotal;\n }\n\n payWithCard(event) {\n event.preventDefault();\n\n this.checkoutForm.disableSubmit(\"Loading..\");\n\n this.checkoutForm.payWithCard().then((result) => {\n const { error, elementType } = result;\n\n if (elementType) {\n this.checkoutForm.getStripeElementField(elementType).focus();\n }\n\n if (error) {\n this.checkoutForm.enableSubmit(\"Checkout\");\n this.showError(error.message);\n } else {\n Turbo.visit(this.afterPaySuccessPathValue);\n }\n });\n }\n\n loadStripeElements(stripeData) {\n this.checkoutForm = new CheckoutForm({\n key: this.stripeKeyValue,\n formElement: this.creditCardFormTarget,\n submitElement: this.creditCardFormTarget.querySelector(\"#pay-button\"),\n stripeInvoiceData: stripeData,\n });\n\n this.checkoutForm.loadStripeElements().then((form) => {\n form.mountCvcField(\"#card-cvc\");\n form.mountNumberField(\"#card-number\");\n form.mountExpiryField(\"#card-expiry\");\n });\n\n if (this.checkoutForm.couponName) {\n const promoController = this.application.controllers.find((c) => c.identifier === \"promo\");\n promoController.couponNameValue = this.checkoutForm.couponName;\n }\n }\n\n showError = (errorMessage) => {\n const errorBox = document.getElementById(\"errors\");\n errorBox.classList.remove(\"d-none\");\n\n const errorListItem = document.createElement(\"li\");\n errorListItem.classList.add(\"list-group-item\");\n errorListItem.classList.add(\"border-danger\");\n errorListItem.textContent = errorMessage;\n\n const errorList = errorBox.firstElementChild;\n errorList.replaceChildren(errorListItem);\n };\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"rateField\", \"potentialValueLabel\", \"rateStaticField\", \"rateStaticLabel\"];\n\n static values = {\n rate: Number,\n rateStatic: Boolean,\n unlockPrice: Number\n };\n\n connect() {\n this.updateRateStatic();\n this.updateRate();\n }\n\n updateRate() {\n this.rateValue = this.rateFieldTarget.value;\n\n this.#updatePotentialValueLabel();\n }\n\n updateRateStatic() {\n this.rateStaticValue = this.rateStaticFieldTarget.checked;\n\n this.#updateRateStaticLabel();\n this.#updatePotentialValueLabel();\n }\n\n #updatePotentialValueLabel() {\n this.potentialValueLabelTarget.textContent = `$${this.potentialValue}`;\n\n if (this.rateStaticValue) {\n this.potentialValueLabelTarget.classList.add(\"d-none\");\n } else {\n this.potentialValueLabelTarget.classList.remove(\"d-none\");\n }\n }\n\n #updateRateStaticLabel() {\n const rateSigil = this.rateStaticValue ? \"$\" : \"%\";\n this.rateStaticLabelTarget.textContent = rateSigil;\n }\n\n get potentialValue() {\n if (this.rateStaticValue) {\n return this.rateValue;\n } else {\n return (this.unlockPriceValue * this.rateValue).toFixed(2);\n }\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Turbo } from \"@hotwired/turbo-rails\";\nimport consumer from \"../channels/consumer\";\n\nexport default class extends Controller {\n static targets = ['progressBar', 'statusDescription'];\n\n static values = {\n stitchId: Number,\n onCompletePath: String,\n percentComplete: Number,\n };\n\n stitchChannelSubscription;\n\n connect() {\n this.#createStitchChannelSubscription();\n }\n\n disconnect() {\n this.stitchChannelSubscription.unsubscribe();\n }\n\n percentCompleteValueChanged(currentValue, oldValue) {\n this.#updateProgressBar();\n\n // Avoid infinite loops\n if (currentValue === oldValue) return;\n\n if (currentValue === -1) {\n window.location.reload();\n } else if (currentValue === 100) {\n Turbo.visit(this.onCompletePathValue);\n }\n }\n\n #updateProgressBar() {\n const progressBarWidth = this.percentCompleteValue > 5 ? this.percentCompleteValue : 5;\n this.progressBarTarget.style.width = `${progressBarWidth}%`;\n }\n\n #updateStatusDescription(description) {\n this.statusDescriptionTarget.textContent = description;\n }\n\n // ==== ActionCable Event Callbacks ====\n\n #createStitchChannelSubscription() {\n const controller = this;\n\n const stitchChannelIdentifier = {\n channel: \"StitchChannel\",\n stitch_id: this.stitchIdValue,\n }\n\n this.stitchChannelSubscription = consumer.subscriptions.create(\n stitchChannelIdentifier,\n {\n received(event) {\n const eventName = event.event;\n const eventData = event.data;\n\n switch (eventName) {\n case \"percent_complete_updated\":\n controller.percentCompleteDidUpdate(eventData);\n break;\n case \"failed\":\n controller.stitchDidFail(eventData);\n break;\n default:\n break;\n }\n },\n }\n );\n }\n\n percentCompleteDidUpdate(eventData) {\n const percentComplete = parseInt(eventData.percent_complete, 10);\n this.percentCompleteValue = percentComplete;\n }\n\n stitchDidFail(eventData) {\n const errorCode = eventData.code;\n\n const failureDescription = `Error: ${errorCode}`;\n\n this.#updateStatusDescription(failureDescription)\n\n window.location.reload();\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n // eslint-disable-next-line class-methods-use-this\n copy({ params: { target } }) {\n const targetElement = document.getElementById(target);\n\n navigator.clipboard.writeText(targetElement.value);\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static values = {\n entryClass: String,\n template: String,\n };\n\n connect() {\n }\n\n duplicate(e) {\n e.preventDefault();\n this.element.insertAdjacentHTML('beforeend', this.templateValue);\n }\n\n remove(e) {\n e.preventDefault();\n\n const parentEntrySelector = `.${this.entryClassValue}`;\n const parentEntry = e.target.closest(parentEntrySelector);\n\n parentEntry.remove();\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Alert } from \"bootstrap\";\n\nexport default class extends Controller {\n timeout = null;\n\n connect() {\n this.dismissLater(8000);\n }\n\n dismiss() {\n const alert = Alert.getOrCreateInstance(this.element);\n alert.close();\n }\n\n cancelDismissal() {\n clearTimeout(this.timeout);\n }\n\n dismissLater(delay) {\n const dismissalDelay = typeof delay === 'number' ? delay : 750;\n\n if (this.timeout) this.cancelDismissal();\n\n this.timeout = setTimeout(() => {\n this.dismiss();\n }, dismissalDelay);\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport hljs from \"highlight.js/lib/common\";\n\nexport default class extends Controller {\n static target = [\"codeBlock\"];\n\n static values = {\n language: { type: String, default: \"auto\" }\n };\n\n codeBlockTargetConnected(targetElement) {\n if (this.languageValue !== \"auto\") {\n const languageClass = `language-${this.languageValue}`;\n targetElement.classList.add(languageClass);\n }\n\n hljs.highlightElement(targetElement);\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"form\", \"typeField\", \"labelField\", \"placeholderField\", \"choicesFieldset\"];\n\n connect() {\n this.disableUnusableFields();\n }\n\n disableUnusableFields() {\n this.labelFieldTarget.disabled = false;\n this.placeholderFieldTarget.disabled = false;\n\n if (this.hasChoicesFieldsetTarget) this.choicesFieldsetTarget.classList.add('d-none');\n\n if (this.selectedFieldType === 'ignored') {\n this.labelFieldTarget.disabled = true;\n this.placeholderFieldTarget.disabled = true;\n } else if (this.selectedFieldType === 'checkbox') {\n this.placeholderFieldTarget.disabled = true;\n } else if (this.selectedFieldType === 'radios') {\n this.labelFieldTarget.disabled = true;\n this.choicesFieldsetTarget.classList.remove('d-none');\n }\n }\n\n get selectedFieldType() {\n return this.typeFieldTarget.value;\n }\n}\n","import { Controller } from \"stimulus\";\nimport generateRandomString from \"../javascript/utils/random_string_generator\";\n\nexport default class extends Controller {\n // eslint-disable-next-line class-methods-use-this\n generate({ params: { target } }) {\n const integrationToken = generateRandomString(32);\n const targetElement = document.getElementById(target);\n\n targetElement.value = integrationToken;\n }\n}\n","import { Controller } from \"stimulus\";\nimport Tooltip from \"bootstrap/js/src/tooltip\";\n\nexport default class extends Controller {\n destroy() {\n // eslint-disable-next-line no-restricted-globals\n const tooltip = Tooltip.getOrCreateInstance(event.target);\n tooltip.hide();\n\n this.element.remove();\n }\n}\n","import { Controller } from \"stimulus\";\nimport PhotoSwipe from \"photoswipe\";\nimport PhotoSwipeLightbox from \"photoswipe/lightbox\";\nimport { attachCaptionBox, customizePreloader } from \"../javascript/lightboxes\";\n\nexport default class extends Controller {\n\n static targets = [\"trigger\"];\n static values = {\n loadingMessage: { type: String, default: \"Loading Your Preview\" },\n };\n\n options = {\n gallery: this.triggerTargets,\n pswpModule: PhotoSwipe,\n preloaderDelay: 0\n };\n\n connect() {\n const lightbox = new PhotoSwipeLightbox(this.options);\n\n customizePreloader(lightbox, this.loadingMessageValue);\n attachCaptionBox(lightbox);\n\n lightbox.init();\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"button\", \"buttonText\", \"label\"];\n\n static values = {\n buttonText: String,\n buttonUrl: String,\n }\n\n defaultLabelText;\n\n labelTargetConnected() {\n this.defaultLabelText = this.labelTarget.textContent;\n }\n\n checkButtonText({ target: buttonTextField}) {\n this.buttonTextValue = buttonTextField.value;\n }\n\n checkLinkbackUrl({ target: buttonUrlField}) {\n this.buttonUrlValue = buttonUrlField.value;\n }\n\n buttonTextValueChanged() {\n this.buttonTextTarget.textContent = this.buttonTextValue;\n\n if (!this.defaultLabelText) return;\n\n if (this.buttonTextValue === \"\") {\n this.labelTarget.textContent = \"Button must have text\";\n } else {\n this.labelTarget.textContent = this.defaultLabelText;\n }\n }\n\n buttonUrlValueChanged() {\n this.buttonTarget.href = this.buttonUrlValue;\n\n if (!this.defaultLabelText) return;\n\n if (this.buttonUrlValue === \"\") {\n this.labelTarget.textContent = \"Button must have a URL\";\n } else {\n this.labelTarget.textContent = this.defaultLabelText;\n }\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Modal } from \"bootstrap\";\n\nexport default class extends Controller {\n static values = {\n autoShow: Boolean,\n }\n\n bsModal;\n\n connect() {\n this.bsModal = Modal.getOrCreateInstance(this.element);\n\n if (this.autoShowValue) this.show();\n }\n\n show() {\n this.bsModal.show();\n }\n\n hide() {\n this.bsModal.hide();\n }\n\n clear() {\n this.element.innerHTML = '';\n }\n}\n","import { DirectUpload } from \"@rails/activestorage\";\n\nclass StatusCard {\n element; labelElement; dismissButtonElement;\n hiddenElementClass = \"d-none\";\n\n create() {\n // parent element\n this.element = document.createElement(\"div\");\n this.element.classList.add(\"col\");\n this.element.classList.add(\"segment-photo-upload-tracker\");\n\n // parent element > trackerCard\n const trackerCard = document.createElement(\"div\");\n trackerCard.classList.add(\"card\");\n trackerCard.classList.add(\"p-3\");\n trackerCard.classList.add(\"vstack\");\n this.element.appendChild(trackerCard);\n\n // parent element > trackerCard > statusLabel\n this.labelElement = document.createElement(\"p\");\n this.labelElement.classList.add(\"status-label\");\n this.labelElement.classList.add(\"text-center\");\n trackerCard.appendChild(this.labelElement);\n\n // parent element > trackerCard > closeButton\n this.dismissButtonElement = document.createElement(\"div\");\n this.dismissButtonElement.classList.add(\"mt-3\");\n this.dismissButtonElement.classList.add(\"mx-auto\");\n this.dismissButtonElement.classList.add(\"btn\");\n this.dismissButtonElement.classList.add(\"btn-sm\");\n this.dismissButtonElement.classList.add(\"btn-primary\");\n this.dismissButtonElement.classList.add(this.hiddenElementClass);\n this.dismissButtonElement.innerText = \"Remove\";\n trackerCard.appendChild(this.dismissButtonElement);\n\n this.dismissButtonElement.addEventListener(\"click\", () => {\n this.destroy();\n });\n\n return this.element;\n }\n\n setLabel(text) {\n this.labelElement.textContent = text;\n }\n\n showDismissButton() {\n this.dismissButtonElement.classList.remove(this.hiddenElementClass);\n }\n\n destroy() {\n this.element.remove();\n }\n}\n\nconst States = {\n Pending: 'pending',\n Processing: 'processing',\n Succeeded: 'succeeded',\n Failed: 'failed'\n};\n\nclass NewSegmentPhotoManager {\n state = States.Pending;\n statusCard;\n\n constructor(config = {}) {\n this.createSegmentPhotoUrl = config.createSegmentPhotoUrl;\n this.directUploadUrl = config.directUploadUrl;\n this.csrfToken = config.csrfToken;\n this.domFile = config.domFile;\n this.onSucceed = config.onSucceed;\n this.onFail = config.onFail;\n\n // ActiveStorage Direct Uploads API\n this.directUploader = new DirectUpload(\n config.domFile,\n config.directUploadUrl,\n this\n );\n }\n\n renderStatusCard(statusCardsContainerElement) {\n this.statusCard = new StatusCard();\n this.statusCard.create();\n statusCardsContainerElement.prepend(this.statusCard.element);\n }\n\n processFile() {\n this.statusCard?.setLabel(\"Uploading..\");\n this.state = States.Processing;\n\n this.directUploader.create((error, blob) => {\n if (error) {\n this.#fail(\"Upload Failed\");\n } else {\n this.statusCard?.setLabel(\"Loading..\");\n this.#createSegmentPhoto(blob.signed_id);\n }\n });\n }\n\n get processing() {\n return this.state === States.Processing;\n }\n\n #fail(failureDescription) {\n if (!this.processing) return;\n\n this.state = States.Failed;\n this.statusCard?.setLabel(failureDescription);\n this.statusCard?.showDismissButton();\n\n if (this.onFail) this.onFail();\n }\n\n #succeed() {\n if (!this.processing) return;\n\n this.state = States.Succeeded;\n this.statusCard?.destroy();\n\n if (this.onSucceed) this.onSucceed();\n }\n\n #createSegmentPhoto(signedImageId) {\n // Create a formData object to send to the server\n const formData = new FormData();\n formData.append(\"_method\", \"post\");\n formData.append(\"authenticity_token\", this.csrfToken);\n formData.append(\"segment_photo[source_file]\", signedImageId);\n\n // Create a request object\n const request = new XMLHttpRequest();\n request.timeout = 300000;\n request.open(\"POST\", this.createSegmentPhotoUrl);\n\n // Catch errors\n request.onerror = () => { this.#fail(\"Record creation failed unexpectedly\") };\n request.ontimeout = () => { this.#fail(\"Record creation timed out\") };\n\n // Handle success state\n request.onload = () => {\n if (request.status >= 200 && request.status < 300) {\n this.#succeed();\n } else {\n const error = JSON.parse(request.response).message || \"There was a problem processing your image.\"\n this.#fail(error)\n }\n };\n\n // Submit psuedo form\n request.send(formData);\n }\n\n #directUploadDidProgress(percentComplete) {\n this.statusCard?.setLabel(`${percentComplete}%`);\n }\n\n // === Delegate Methods for ActiveStorage Direct Uploads API ===\n\n directUploadWillStoreFileWithXHR(request) {\n request.upload.addEventListener(\"progress\", (event) => {\n const percentComplete = ((event.loaded / event.total) * 100).toFixed(1);\n this.#directUploadDidProgress(percentComplete);\n });\n }\n}\n\nexport default NewSegmentPhotoManager;\n","import { Controller } from \"@hotwired/stimulus\";\nimport Tooltip from \"bootstrap/js/src/tooltip\";\nimport NewSegmentPhotoManager from \"../javascript/new_segment_photo_manager\";\n\nexport default class extends Controller {\n static targets = [\n \"filesField\", \"decoyFilesField\", \"dropZone\", \"stagingArea\",\n \"startZipButton\", \"persistedPhotoPreview\", \"fileNotReadySpinner\",\n \"photoLimitAlert\"\n ];\n\n static values = {\n createSegmentPhotoUrl: String,\n recommendedPhotoLimit: Number,\n };\n\n newSegmentPhotoManagers = [];\n startZipButtonTooltip;\n directUploadUrl;\n csrfToken;\n\n connect() {\n this.csrfToken = document.head.querySelector(\"meta[name='csrf-token']\").content;\n this.directUploadUrl = this.filesFieldTarget.dataset.directUploadUrl;\n\n this.startZipButtonTooltip = Tooltip.getOrCreateInstance(this.startZipButtonTarget, { trigger: \"manual\" });\n this.updateStartZipButton();\n }\n\n persistedPhotoPreviewTargetConnected() {\n this.updatePhotoLimitAlert();\n this.updateStartZipButton();\n }\n\n persistedPhotoPreviewTargetDisconnected() {\n this.updatePhotoLimitAlert();\n this.updateStartZipButton();\n }\n\n fileNotReadySpinnerTargetConnected(spinner) {\n const persistedPhotoFrame = spinner.closest(\"turbo-frame\");\n const persistedPhotoFrameSrc = spinner.dataset.frameSrc;\n\n setTimeout(() => {\n persistedPhotoFrame.src = persistedPhotoFrameSrc;\n }, 3000);\n }\n\n openFilesDialog() {\n this.filesFieldTarget.click();\n }\n\n addHighlightDropZone(event) {\n event.preventDefault();\n this.dropZoneTarget.classList.add(\"awaiting-drop\");\n }\n\n removeHighlightDropZone() {\n this.dropZoneTarget.classList.remove(\"awaiting-drop\");\n }\n\n transferFilesToFilesField(event) {\n event.preventDefault();\n this.removeHighlightDropZone();\n\n const droppedFiles = event.dataTransfer.files;\n\n if (droppedFiles.length < 1) return;\n\n this.filesFieldTarget.files = droppedFiles;\n\n const changeEvent = new Event(\"change\");\n this.filesFieldTarget.dispatchEvent(changeEvent);\n }\n\n beginUploads() {\n Array.from(this.filesFieldTarget.files).forEach((file) => {\n this.#manageSegmentPhotoFile(file);\n });\n\n // Reset the file input field\n this.filesFieldTarget.setAttribute(\"value\", null);\n }\n\n showStartZipTooltip(event) {\n if (!this.startZipButtonTooltipText) return;\n\n event.preventDefault();\n this.startZipButtonTooltip.show();\n\n setTimeout(() => {\n this.startZipButtonTooltip.hide();\n }, 3000);\n }\n\n #manageSegmentPhotoFile(file) {\n const manager = new NewSegmentPhotoManager({\n createSegmentPhotoUrl: this.createSegmentPhotoUrlValue,\n directUploadUrl: this.directUploadUrl,\n csrfToken: this.csrfToken,\n domFile: file,\n onFail: () => this.updateStartZipButton(),\n onSucceed: () => this.updateStartZipButton(),\n });\n\n this.newSegmentPhotoManagers.push(manager);\n manager.renderStatusCard(this.stagingAreaTarget);\n manager.processFile();\n this.updateStartZipButton();\n }\n\n updatePhotoLimitAlert() {\n if (!this.recommendedPhotoLimitValue) return;\n\n if (this.persistedPhotoCount > this.recommendedPhotoLimitValue) {\n this.photoLimitAlertTarget.classList.remove(\"d-none\");\n } else {\n this.photoLimitAlertTarget.classList.add(\"d-none\");\n }\n }\n\n updateStartZipButton() {\n const defaultButtonText = \"Start Zip Now\";\n\n if (this.activeUploadsCount > 0) {\n this.startZipButtonTarget.value = \"Loading Images\";\n this.startZipButtonTarget.classList.add(\"disabled\");\n this.startZipButtonTooltipText = \"Upload in progress\";\n } else if (this.persistedPhotoCount < 2) {\n this.startZipButtonTarget.value = defaultButtonText;\n this.startZipButtonTarget.classList.add(\"disabled\");\n this.startZipButtonTooltipText = \"Upload photos to continue\";\n } else {\n this.startZipButtonTarget.value = defaultButtonText;\n this.startZipButtonTarget.classList.remove(\"disabled\");\n this.startZipButtonTooltipText = \"\";\n }\n }\n\n set startZipButtonTooltipText(tooltipText) {\n this.startZipButtonTarget.setAttribute(\"data-bs-original-title\", tooltipText);\n }\n\n get startZipButtonTooltipText() {\n return this.startZipButtonTarget.dataset.bsOriginalTitle;\n }\n\n get persistedPhotoCount() {\n return this.persistedPhotoPreviewTargets.length;\n }\n\n get activeUploadsCount() {\n const busyManagers = this.newSegmentPhotoManagers.filter((manager) => manager.processing);\n return busyManagers.length;\n }\n}\n","import { Controller } from \"stimulus\";\nimport { initializeEditor } from \"../javascript/stitches/composite_image\";\n\nexport default class extends Controller {\n\n\tstatic values = {\n\t\timageUrl: String,\n\t\tpreviousTransformations: Object,\n\t};\n\n\ttrigger() {\n\t\tinitializeEditor(this.imageUrlValue, this.previousTransformationsValue);\n\t}\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"heightField\", \"widthField\", \"ppiField\", \"ppiPreview\", \"icon\", \"failureCard\", \"successCard\"];\n\n static values = {\n pxHeight: Number,\n pxWidth: Number,\n ppi: Number,\n keepAspectRatio: { type: Boolean, default: true },\n };\n\n get aspectRatio() {\n return this.pxWidthValue / this.pxHeightValue;\n }\n\n updateHeight() {\n if (this.keepAspectRatioValue) {\n this.#calculateOtherField({ height: this.heightFieldTarget.value });\n }\n this.#calculatePpi();\n }\n\n updateWidth() {\n if (this.keepAspectRatioValue) {\n this.#calculateOtherField({ width: this.widthFieldTarget.value });\n }\n this.#calculatePpi();\n }\n\n updatePpi() {\n this.ppiValue = this.ppiFieldTarget.value\n this.widthFieldTarget.value = (this.pxWidthValue / this.ppiFieldTarget.value).toFixed(1);\n this.heightFieldTarget.value = (this.pxHeightValue / this.ppiFieldTarget.value).toFixed(1);\n }\n\n toggleKeepAspectRatio() {\n this.keepAspectRatioValue = !this.keepAspectRatioValue;\n this.#switchIcon();\n }\n\n ppiValueChanged() {\n this.ppiFieldTarget.value = this.ppiValue;\n Array.from(this.ppiPreviewTargets).forEach((ppiPreview) => {\n ppiPreview.innerHTML = this.ppiValue;\n });\n this.#switchFeedbackCard();\n }\n\n #calculatePpi() {\n this.ppiValue = Math.round(\n Math.sqrt(this.pxWidthValue ** 2 + this.pxHeightValue ** 2) /\n Math.sqrt(this.widthFieldTarget.value ** 2 + this.heightFieldTarget.value ** 2)\n );\n }\n\n #calculateOtherField({ height, width }) {\n if (height !== undefined && width !== undefined) {\n return;\n }\n\n if (height !== undefined) {\n this.widthFieldTarget.value = (height * this.aspectRatio).toFixed(1);\n return;\n }\n\n if (width !== undefined) {\n this.heightFieldTarget.value = (width / this.aspectRatio).toFixed(1);\n }\n }\n\n #switchFeedbackCard() {\n if (this.ppiValue === 0 || this.ppiValue === Infinity) {\n this.successCardTarget.classList.add(\"d-none\");\n this.failureCardTarget.classList.add(\"d-none\");\n } else if (this.ppiValue >= 150 ) {\n this.failureCardTarget.classList.add(\"d-none\");\n this.successCardTarget.classList.remove(\"d-none\");\n } else {\n this.successCardTarget.classList.add(\"d-none\");\n this.failureCardTarget.classList.remove(\"d-none\");\n }\n }\n\n #switchIcon() {\n const icon = this.iconTarget;\n if (icon.classList.contains(\"bi-lock\")) {\n icon.classList.remove(\"bi-lock\");\n icon.classList.add(\"bi-unlock\");\n } else {\n icon.classList.remove(\"bi-unlock\");\n icon.classList.add(\"bi-lock\");\n }\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"applyPromoForm\", \"appliedCouponLabel\"];\n\n static values = {\n couponName: String,\n };\n\n connect() {\n this.showCouponName();\n }\n\n disableSubmitButton() {\n const submitButton = this.applyPromoFormTarget.querySelector(\"input[type=submit]\");\n\n submitButton.value = \"Loading..\";\n submitButton.disabled = true;\n }\n\n couponNameValueChanged() {\n this.showCouponName();\n }\n\n showCouponName() {\n if (this.couponNameValue.length === 0) return;\n\n this.appliedCouponLabelTarget.textContent = `Applied: ${this.couponNameValue}`;\n }\n}\n","import cv from \"@techstark/opencv-js\"\n\nexport const distanceBetween = (a, b) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);\n\nexport const pointsToMat = (pts) => cv.matFromArray(pts.length, 1, cv.CV_32FC2, pts.flatMap(pt => [pt.x, pt.y]));\n\nexport const isConvex = (points) => cv.isContourConvex(pointsToMat(points));\n\nexport const rectifiedAspectRatio = (imageWidth, imageHeight, corners) => {\n const topLeft = corners[0];\n const topRight = corners[1];\n const bottomRight = corners[2];\n const bottomLeft = corners[3];\n\n const u0 = imageWidth / 2;\n const v0 = imageHeight / 2;\n\n const m1x = topLeft.x - u0;\n const m1y = topLeft.y - v0;\n const m2x = topRight.x - u0;\n const m2y = topRight.y - v0;\n const m3x = bottomLeft.x - u0;\n const m3y = bottomLeft.y - v0;\n const m4x = bottomRight.x - u0;\n const m4y = bottomRight.y - v0;\n\n const k2 =\n ((m1y - m4y) * m3x - (m1x - m4x) * m3y + m1x * m4y - m1y * m4x) /\n ((m2y - m4y) * m3x - (m2x - m4x) * m3y + m2x * m4y - m2y * m4x);\n\n const k3 =\n ((m1y - m4y) * m2x - (m1x - m4x) * m2y + m1x * m4y - m1y * m4x) /\n ((m3y - m4y) * m2x - (m3x - m4x) * m2y + m3x * m4y - m3y * m4x);\n\n // [See 3.2.3 - Singularity] If no perspective effect\n // TODO: Try replacing && with ||\n if (k2 === 1 && k3 === 1) {\n const aspectRatio = Math.sqrt(\n (Math.pow((m2y - m1y), 2) + Math.pow((m2x - m1x), 2)) /\n (Math.pow((m3y - m1y), 2) + Math.pow((m3x - m1x), 2)));\n return aspectRatio;\n }\n\n const fSquared =\n -((k3 * m3y - m1y) * (k2 * m2y - m1y) + (k3 * m3x - m1x) * (k2 * m2x - m1x)) /\n ((k3 - 1) * (k2 - 1));\n\n const aspectRatio = Math.sqrt(\n (Math.pow((k2 - 1), 2) + Math.pow((k2 * m2y - m1y), 2) / fSquared + Math.pow((k2 * m2x - m1x),2) / fSquared) /\n (Math.pow((k3 - 1), 2) + Math.pow((k3 * m3y - m1y), 2) / fSquared + Math.pow((k3 * m3x - m1x),2) / fSquared)\n );\n\n return aspectRatio;\n};\n\nexport const rectifiedDimensions = (imageWidth, imageHeight, handleLocations) => {\n const aspectRatio = rectifiedAspectRatio(imageWidth, imageHeight, handleLocations);\n if (Number.isNaN(aspectRatio)) return {};\n\n if (!isConvex(handleLocations)) return {};\n\n const topLeft = handleLocations[0];\n const topRight = handleLocations[1];\n const bottomRight = handleLocations[2];\n const bottomLeft = handleLocations[3];\n\n const leftLength = distanceBetween(topLeft, bottomLeft);\n const rightLength = distanceBetween(topRight, bottomRight);\n let targetHeight = Math.max(leftLength, rightLength);\n let targetWidth = targetHeight * aspectRatio;\n\n // Rectified dimensions glitch as 100% width\n if (targetWidth === Infinity) targetWidth = imageWidth;\n if (targetHeight === Infinity) targetHeight = imageHeight;\n\n return { width: targetWidth, height: targetHeight };\n};\n","// Based on popular proposal for Math.clamp extension\n// Spec: https://rwaldron.github.io/proposal-math-extensions/#sec-math.clamp\n// Polyfill: https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.math.clamp.js\nexport const clamp = (x, lower, upper) => {\n return Math.min(upper, Math.max(lower, x));\n}\n","import * as d3 from \"d3\";\nimport cv from \"@techstark/opencv-js\"\nimport {distanceBetween, pointsToMat, rectifiedDimensions} from \"./coordinates\";\nimport {fetchImage, scaleImage} from \"./images\";\nimport { clamp } from \"./math\";\n\n// TODO: Consider combining the Interface class with Rectifier\n\nclass Interface {\n onLoadCallback = () => {};\n failedStateOnlineColor = \"#d9534f\";\n handleRadius = 17;\n\n backgroundImage; // Re-scaled version of original image\n scale; // Canvas pixels per original image pixel\n handles; // Array of x/y objects representing corner points\n d3Transform; // Current zoom/pan transformation object if present\n rectifier;\n\n constructor(canvas) {\n this.canvas = canvas;\n this.context = this.canvas.getContext(\"2d\");\n }\n\n load(originalImage, preferredHandlePositions = [], rectifier) {\n this.rectifier = rectifier;\n\n // Set internal canvas dimensions\n const internalWidth = 700;\n this.scale = internalWidth / originalImage.width;\n this.canvas.width = internalWidth;\n this.canvas.height = originalImage.height * this.scale;\n\n // Set initial handle positions\n this.handles = [\n { x: this.handleRadius * 2, y: this.handleRadius * 2 },\n { x: this.canvas.width - this.handleRadius * 2, y: this.handleRadius * 2 },\n { x: this.canvas.width - this.handleRadius * 2, y: this.canvas.height - this.handleRadius * 2 },\n { x: this.handleRadius * 2, y: this.canvas.height - this.handleRadius * 2 },\n ];\n\n // Prefer input positions if provided\n preferredHandlePositions.forEach((preferredPosition, i) => {\n if (preferredPosition === undefined) return;\n if (preferredPosition.x !== undefined) this.handles[i].x = preferredPosition.x * this.scale;\n if (preferredPosition.y !== undefined) this.handles[i].y = preferredPosition.y * this.scale;\n });\n\n // Scale image down to internal canvas size\n scaleImage(originalImage, internalWidth)\n .then((rescaledImage) => {\n this.backgroundImage = rescaledImage;\n this.render();\n this.onLoadCallback();\n\n d3.select(this.canvas)\n .call(this.dragCallbacks)\n .call(this.zoomCallbacks);\n })\n .catch((_failureEvent) => {\n alert(\"Failed to load image!\");\n });\n }\n\n render(options = {}) {\n if (options.transform) this.d3Transform = options.transform;\n\n const outlineColor = options.outline || \"rgb(13, 153, 255)\";\n\n // Clear canvas\n this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n // Draw fog layer\n this.context.globalCompositeOperation = \"source-over\";\n this.context.fillStyle = \"rgba(255, 255, 255, 0.75)\";\n this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\n // Cut a hole in the fog using the cropped area\n this.context.globalCompositeOperation = \"destination-out\";\n this.context.beginPath();\n\n for (const handlePosition of this.handles) {\n const {x, y} = this.#transformPosition(handlePosition);\n this.context.lineTo(x, y);\n }\n this.context.closePath();\n this.context.fill();\n\n // Draw image behind the fog\n this.context.globalCompositeOperation = \"destination-over\";\n\n const {x: sx, y: sy} = this.#transformPosition({ x: 0, y: 0 });\n const {x: sxe, y: sye} = this.#transformPosition({ x: this.canvas.width, y: this.canvas.height });\n const sw = sxe - sx;\n const sh = sye - sy;\n\n this.context.drawImage(this.backgroundImage,\n sx, sy,\n sw, sh,\n );\n\n // Draw outline\n this.context.globalCompositeOperation = \"source-over\";\n this.context.lineWidth = 4;\n this.context.beginPath();\n for (const handlePosition of this.handles) {\n const {x, y} = this.#transformPosition(handlePosition);\n this.context.lineTo(x, y);\n }\n this.context.closePath();\n this.context.strokeStyle = outlineColor;\n this.context.stroke();\n\n // Draw handles\n this.handles.forEach((handlePosition, id) => {\n const {x, y} = this.#transformPosition(handlePosition);\n\n // Outer\n this.context.beginPath();\n this.context.arc(x, y, this.handleRadius, 0, Math.PI * 2);\n this.context.strokeStyle = outlineColor;\n this.context.stroke();\n\n if (options.selectedHandleId === id) return;\n\n // Inner\n this.context.beginPath();\n this.context.arc(x, y, this.handleRadius * 0.5, 0, Math.PI * 2);\n this.context.fillStyle = outlineColor;\n this.context.fill();\n });\n }\n\n renderForFailedState() {\n if (this.rectifier.failedStateIndicatable) {\n this.render({outline: this.failedStateOnlineColor});\n } else {\n this.render();\n }\n }\n\n clear() {\n this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);\n }\n\n localizeCursorLocation(event, constrain = false) {\n const canvasBoundary = this.canvas.getBoundingClientRect();\n const {left: canvasStart, right: canvasEnd, top: canvasTop, bottom: canvasBottom} = canvasBoundary;\n\n const externalCanvasWidth = canvasEnd - canvasStart;\n const externalCanvasHeight = canvasBottom - canvasTop;\n\n // Get or compute cursor location in client coordinates\n let clientX, clientY;\n\n if (event.clientY) {\n clientX = event.clientX;\n clientY = event.clientY;\n } else if (event.touches) {\n clientX = event.touches[0].clientX;\n clientY = event.touches[0].clientY;\n } else {\n clientX = event.pageX - window.scrollX;\n clientY = event.pageY - window.scrollY;\n }\n\n // Convert to internal canvas coordinates\n let canvasX = (clientX - canvasStart) / externalCanvasWidth * this.canvas.width;\n let canvasY = (clientY - canvasTop) / externalCanvasHeight * this.canvas.height;\n\n // Ensure cursor is overtop of canvas\n if (constrain) {\n canvasX = clamp(canvasX, 0, this.canvas.width);\n canvasY = clamp(canvasY, 0, this.canvas.height);\n } else {\n if (canvasX < 0 || canvasX > this.canvas.width) return;\n if (canvasY < 0 || canvasY > this.canvas.height) return;\n }\n\n return {x: canvasX, y: canvasY};\n }\n\n nearestHandleId(event) {\n let cursor = this.localizeCursorLocation(event);\n\n if (!cursor) return;\n\n const handleDistanceById = this.handles\n .map((handle, id) => ({ id, distance: distanceBetween(this.#transformPosition(handle), cursor) }));\n const {distance, id} = handleDistanceById.reduce((a, b) => a.distance < b.distance ? a : b);\n\n const handleDistanceLimit = 120;\n\n if (distance < handleDistanceLimit) return id\n }\n\n moveHandle(handleId, position) {\n this.handles[handleId] = this.#untransformPosition(position);\n\n // TODO: Reorder handles to avoid crossover or rotation\n this.render({outline: \"rgb(13, 153, 255, 0.5)\", selectedHandleId: handleId});\n }\n\n onLoad(callback) {\n this.onLoadCallback = callback;\n }\n\n // TODO: Refactor\n dragCallbacks = d3.drag()\n // Inject subject object into event object for the callbacks\n .subject((event) => {\n const selectedHandleId = this.nearestHandleId(event.sourceEvent);\n\n if (selectedHandleId != null) return {selectedHandleId};\n })\n // Re-draw magnifier & interface while dragging\n .on(\"drag\", (event) => {\n const { selectedHandleId } = event.subject;\n const interfaceLocation = this.localizeCursorLocation(event.sourceEvent, true);\n\n if (!interfaceLocation) return;\n\n const cursorSource = event.sourceEvent.touches && event.sourceEvent.touches[0] || event.sourceEvent;\n const pageLocation = {x: cursorSource.pageX, y: cursorSource.pageY};\n\n this.moveHandle(selectedHandleId, interfaceLocation);\n this.rectifier.magnifier.render(this.canvas, this.#untransformPosition(interfaceLocation), pageLocation);\n })\n // Close magnifier, validate geometry, rectify\n .on(\"end\", (_event) => {\n this.rectifier.magnifier.close();\n\n const canRectify = this.rectifier.rectify(false);\n this.rectifier.onUpdateCallback({valid: canRectify});\n\n if (canRectify) {\n this.render();\n } else {\n this.renderForFailedState();\n }\n });\n\n zoomCallbacks = d3.zoom()\n .scaleExtent([1, 4])\n .on(\"zoom\", (event) => {\n const {transform} = event;\n\n this.render({transform});\n }).on(\"end\", (event) => {\n const {x: panX, y: panY, k: scale} = event.transform;\n let xReset, yReset;\n\n // Default top-left & bottom-right image position\n const {x: xS, y: yS} = this.#transformPosition({ x: 0, y: 0 });\n const {x: xE, y: yE} = this.#transformPosition({ x: this.canvas.width, y: this.canvas.height });\n\n if (Math.round(xS) > 0) {\n xReset = 0;\n } else if (Math.ceil(xE) < this.canvas.width) {\n const xShift = this.canvas.width - Math.ceil(xE);\n xReset = Math.ceil(panX + xShift);\n }\n\n if (Math.round(yS) > 0) {\n yReset = 0;\n } else if (Math.ceil(yE) < this.canvas.height) {\n const yShift = this.canvas.height - Math.ceil(yE);\n yReset = Math.ceil(panY + yShift);\n }\n\n const eventIsArtificial = !event.sourceEvent;\n\n if (xReset !== undefined || yReset !== undefined) {\n if (xReset === undefined) xReset = panX;\n if (yReset === undefined) yReset = panY;\n let kReset = scale;\n\n if (eventIsArtificial) kReset += 0.05;\n\n const t = d3.zoomIdentity.translate(xReset, yReset).scale(kReset);\n\n d3.select(this.canvas)\n .transition()\n .duration(500)\n .ease(d3.easeLinear) // .easeQuad\n .call(this.zoomCallbacks.transform, t);\n } else {\n const canRectify = this.rectifier.rectify(false);\n this.rectifier.onUpdateCallback({valid: canRectify});\n\n if (!canRectify) this.renderForFailedState();\n }\n });\n\n // Shift coordinate to account for pan\n #transformPosition(point) {\n if (!this.d3Transform) return point;\n\n const xScale = d3.scaleLinear();\n const yScale = d3.scaleLinear();\n\n const rescaledX = this.d3Transform.rescaleX(xScale);\n const rescaledY = this.d3Transform.rescaleY(yScale);\n\n return { x: rescaledX(point.x), y: rescaledY(point.y) }\n }\n\n // Stop accounting for pan\n #untransformPosition(point) {\n if (!this.d3Transform) return point;\n\n const unPoint = this.d3Transform.invert([point.x, point.y]);\n\n return { x: unPoint[0], y: unPoint[1] }\n }\n}\n\nclass Magnifier {\n backgroundWidth;\n backgroundHeight;\n\n constructor() {\n this.element = document.createElement(\"div\");\n this.reticle = document.createElement(\"div\");\n this.focalDot = document.createElement(\"div\");\n this.size = 140;\n this.zoom = 3.0;\n }\n\n load(imageUrl, width, height) {\n // Set imageUrl as background image\n // TODO: Consider scaling background image by zoom level\n\n this.backgroundWidth = width;\n this.backgroundHeight = height;\n\n // Define magnifier element\n this.element.style.borderStyle = \"solid\";\n this.element.style.borderWidth = \"2px\";\n this.element.style.borderColor = \"rgb(255, 255, 255)\";\n this.element.style.position = \"absolute\";\n this.element.style.display = \"none\";\n this.element.style.zIndex = \"101\";\n this.element.style.width = `${this.size}px`;\n this.element.style.height = `${this.size}px`;\n this.element.style.borderRadius = \"50%\";\n this.element.style.backgroundColor = \"#000\";\n this.element.style.backgroundImage = \"url('\" + imageUrl + \"')\";\n this.element.style.backgroundRepeat = \"no-repeat\";\n this.element.style.backgroundSize = `${width}px ${height}px`;\n\n // Define reticle element\n this.reticle.style.borderStyle = \"solid\";\n this.reticle.style.borderWidth = \"2px\";\n this.reticle.style.borderColor = \"rgb(255, 255, 255)\";\n this.reticle.style.position = \"relative\";\n this.reticle.style.zIndex = \"102\";\n this.reticle.style.width = `${this.size / 4}px`;\n this.reticle.style.height = `${this.size / 4}px`;\n this.reticle.style.marginTop = `${140 /2 - 20}px`;\n this.reticle.style.marginLeft = `${140 /2 - 20}px`;\n this.reticle.style.borderRadius = \"50%\";\n\n // Define focal dot element\n this.focalDot.style.borderStyle = \"solid\";\n this.focalDot.style.borderWidth = \"2px\";\n this.focalDot.style.borderColor = \"rgb(255, 255, 255)\";\n this.focalDot.style.backgroundColor = \"rgb(255, 255, 255)\"\n this.focalDot.style.position = \"absolute\";\n this.focalDot.style.zIndex = \"103\";\n this.focalDot.style.width = `${this.size / 25}px`;\n this.focalDot.style.height = `${this.size / 25}px`;\n this.focalDot.style.marginTop = `50%`;\n this.focalDot.style.marginLeft = `50%`;\n this.focalDot.style.transform = \"translate(-50%, -50%)\";\n this.focalDot.style.borderRadius = \"50%\";\n\n document.body.appendChild(this.element);\n this.element.appendChild(this.reticle);\n this.reticle.appendChild(this.focalDot);\n }\n\n render(source, sourceLocation, pageLocation) {\n // Offset background proportionally to handle position\n\n const xPercent = sourceLocation.x / source.width;\n const yPercent = sourceLocation.y / source.height;\n const x = this.backgroundWidth * xPercent;\n const y = this.backgroundHeight * yPercent;\n\n this.element.style.left = (pageLocation.x - this.size / 2) + \"px\";\n this.element.style.top = (pageLocation.y - this.size - 40) + \"px\";\n this.element.style.backgroundPosition = `${this.size / 2 - x}px ${this.size / 2 - y}px`;\n this.element.style.display = \"block\";\n }\n\n close() {\n this.element.style.display = \"none\";\n }\n}\n\nexport default class Rectifier {\n onLoadCallback = () => {};\n onUpdateCallback = () => {};\n beforeRectifyCallback = () => {};\n failedStateIndicatable = false;\n\n constructor({imageUrl, canvas}) {\n this.imageUrl = imageUrl;\n\n this.interface = new Interface(canvas);\n this.magnifier = new Magnifier();\n }\n\n load(preferredHandlePositions) {\n fetchImage(this.imageUrl)\n .then((image) => {\n this.inputImage = image;\n\n this.interface.onLoad(() => {\n this.onLoadCallback();\n });\n\n const {width, height} = this.inputImage;\n\n this.interface.load(this.inputImage, preferredHandlePositions, this);\n this.magnifier.load(this.imageUrl, width, height);\n })\n .catch(() => {\n alert(\"Failed to load image!\");\n });\n }\n\n rectify(render = true) {\n // Scale handle coordinates to input image\n const scale = this.interface.scale;\n const inputCorners = this.interface.handles.map((point) => ({x: point.x / scale, y: point.y / scale}));\n const outputDimensions = rectifiedDimensions(this.inputImage.width, this.inputImage.height, inputCorners);\n const { width: outputWidth, height: outputHeight } = outputDimensions;\n\n // Ensure valid geometry\n const canRectify = !!(outputWidth && outputHeight);\n if (!canRectify) this.interface.renderForFailedState();\n\n if (!render || !canRectify) return canRectify;\n\n this.beforeRectifyCallback();\n\n let inputPixels = cv.imread(this.inputImage);\n let outputPixels = new cv.Mat();\n let outputSize = new cv.Size(outputWidth, outputHeight);\n\n let inputPoints = pointsToMat(inputCorners);\n let outputPoints = cv.matFromArray(4, 1, cv.CV_32FC2, [0, 0, outputWidth, 0, outputWidth, outputHeight, 0, outputHeight]);\n let transformationMatrix = cv.getPerspectiveTransform(inputPoints, outputPoints);\n\n const rectificationCanvas = document.createElement(\"canvas\");\n\n cv.warpPerspective(inputPixels, outputPixels, transformationMatrix, outputSize, cv.INTER_LINEAR, cv.BORDER_CONSTANT, new cv.Scalar());\n cv.imshow(rectificationCanvas, outputPixels);\n\n inputPixels.delete(); outputPixels.delete(); transformationMatrix.delete(); inputPoints.delete(); outputPoints.delete();\n\n return new Promise((resolve) => {\n rectificationCanvas.toBlob((blob) => {\n const file = new File([blob], \"rectified.png\", { type: \"image/png\" });\n rectificationCanvas.remove();\n resolve({file, corners: inputCorners});\n });\n });\n }\n\n onLoad(callback) {\n this.onLoadCallback = callback;\n }\n\n onUpdate(callback) {\n this.onUpdateCallback = callback;\n }\n\n beforeRectify(callback) {\n this.beforeRectifyCallback = callback;\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport Rails from \"@rails/ujs\";\nimport Rectifier from \"../javascript/utils/rectifier\";\n\nexport default class extends Controller {\n static targets = [\"canvas\", \"spinner\", \"errorText\", \"formTrigger\", \"fileField\", \"cornerXField\", \"cornerYField\"];\n\n static values = {\n imageUrl: String,\n statusInfo: Object,\n failedStateIndicatable: Boolean,\n };\n\n rectifier;\n\n connect() {\n this.rectifier = new Rectifier({imageUrl: this.imageUrlValue, canvas: this.canvasTarget})\n\n this.rectifier.onLoad(() => this.hideSpinner());\n this.rectifier.onUpdate((status) => this.statusInfoValue = status);\n this.rectifier.beforeRectify(() => this.showSpinner());\n this.rectifier.load(this.#initialCornerPositions);\n }\n\n populateForm(event) {\n if (!this.rectifier) return;\n\n this.failedStateIndicatableValue = true;\n this.rectifier.failedStateIndicatable = true;\n\n this.formTriggerTarget.text = \"Loading\";\n this.formTriggerTarget.classList.add(\"disabled\");\n\n const didRectify = this.rectifier.rectify();\n\n if (!didRectify) {\n this.formTriggerTarget.text = \"Next\";\n this.#indicateFailedState();\n return;\n }\n\n didRectify.then((rectificationData) => {\n const {file: rectifiedImage, corners: cornerPositions} = rectificationData;\n\n // Set file field\n const dataTransfer = new DataTransfer();\n dataTransfer.items.add(rectifiedImage);\n this.fileFieldTarget.files = dataTransfer.files;\n\n // Set 'x' values for canvas corner fields\n this.cornerXFieldTargets.forEach((field) => {\n const handleId = Number.parseInt(field.dataset.position, 10);\n field.value = cornerPositions[handleId].x;\n });\n\n // Set 'y' values for canvas corner fields\n this.cornerYFieldTargets.forEach((field) => {\n const handleId = Number.parseInt(field.dataset.position, 10);\n field.value = cornerPositions[handleId].y;\n });\n\n const referenceImageForm = this.fileFieldTarget.closest(\"form\");\n Rails.fire(referenceImageForm, \"submit\");\n });\n }\n\n statusInfoValueChanged() {\n if (this.statusInfoValue.valid === false) {\n this.#indicateFailedState();\n } else {\n this.#indicateSuccessState();\n }\n }\n\n hideSpinner() {\n this.canvasTarget.style.zIndex = \"unset\";\n this.spinnerTarget.classList.add(\"d-none\");\n }\n\n showSpinner() {\n this.canvasTarget.style.zIndex = -1;\n this.spinnerTarget.classList.remove(\"d-none\");\n }\n\n #indicateFailedState() {\n if (!this.failedStateIndicatableValue) return;\n\n this.errorTextTarget.classList.remove(\"d-none\");\n this.formTriggerTarget.classList.add(\"disabled\");\n }\n\n #indicateSuccessState() {\n this.errorTextTarget.classList.add(\"d-none\");\n this.formTriggerTarget.classList.remove(\"disabled\");\n }\n\n get #initialCornerPositions() {\n const cornerPositions = [{}, {}, {}, {}]\n\n // Get previous 'x' values from corner fields\n this.cornerXFieldTargets.forEach((field) => {\n const handleId = Number.parseInt(field.dataset.position, 10);\n const value = Number.parseInt(field.value, 10)\n\n if (!isNaN(value)) cornerPositions[handleId].x = value;\n });\n\n // Get previous 'y' values from corner fields\n this.cornerYFieldTargets.forEach((field) => {\n const handleId = Number.parseInt(field.dataset.position, 10);\n const value = Number.parseInt(field.value, 10)\n\n if (!isNaN(value)) cornerPositions[handleId].y = value;\n });\n\n // Note: Values scaled to original image, not the rectification UI\n return cornerPositions;\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Turbo } from \"@hotwired/turbo-rails\";\nimport * as d3 from \"d3\";\nimport { enableTooltips } from \"../javascript/tooltips\";\n\nexport default class extends Controller {\n static targets = [\"container\"];\n\n static values = {\n dataUrl: String,\n referrerViewUrl: String,\n unlockPrice: Number,\n };\n\n connect() {\n this.#fetchReferrerTreeData().then((referrerTreeData) => {\n const referrerTreeChart = this.#createReferrerTreeChart(referrerTreeData);\n this.containerTarget.append(referrerTreeChart);\n enableTooltips(\".tooltip-anchor\");\n });\n }\n\n #visitReferrerView(referrerId) {\n const referrerViewUrl = new URL(this.referrerViewUrlValue);\n referrerViewUrl.searchParams.set(\"id\", referrerId);\n referrerViewUrl.searchParams.set(\"redirect\", \"true\");\n\n Turbo.visit(referrerViewUrl.href);\n }\n\n async #fetchReferrerTreeData() {\n return d3.json(this.dataUrlValue);\n }\n\n #createReferrerTreeChart(data) {\n // Generate D3 Hierarchy\n let i = 0;\n const root = d3.hierarchy(data).eachBefore(d => d.index = i++);\n const nodes = root.descendants();\n\n\n // Define table column titles and contents\n const formatNumber = d3.format(\",\");\n const formatPercent = d3.format(\".2%\");\n const formatCurrency = d3.format(\"$.2f\");\n\n const columns = [\n {\n label: \"Referrers\",\n description: \"Number of direct sub-referrers\",\n text: d => d.children?.length || \"-\",\n x: 250\n },\n {\n label: \"Referrals\",\n description: \"Number of signed-up users that used referral link\",\n text: ({data}) => data.user_referral_count ? formatNumber(data.user_referral_count) : \"-\",\n x: 310\n },\n {\n label: \"Commission\",\n description: \"Value of future commissions on direct sales\",\n text: ({data}) => formatCurrency(data.commission_rate_static ? data.commission_rate : data.commission_rate * this.unlockPriceValue),\n tooltip: ({data}) => data.commission_rate_static ? null : formatPercent(data.commission_rate),\n x: 390\n },\n {\n label: \"Due\",\n description: \"Unpaid earnings on past commissions\",\n text: ({data}) => data.unpaid_earnings > 0 ? formatCurrency(data.unpaid_earnings) : \"-\",\n x: 440\n }\n ];\n\n // Chart Container\n const nodeWidth = 700;\n const nodeHeight = 17;\n\n const chart = d3.create(\"svg\")\n .attr(\"viewBox\", [-nodeHeight / 2, -nodeHeight * 3 / 2, nodeWidth, (nodes.length + 1) * nodeHeight])\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"font-size\", 10)\n .attr(\"width\", \"1000px\")\n .style(\"overflow\", \"visible\");\n\n // Hierarchy Lines\n chart.append(\"g\")\n .attr(\"fill\", \"none\")\n .attr(\"stroke\", \"#999\")\n .selectAll(\"path\")\n .data(root.links())\n .join(\"path\")\n .attr(\"d\", d => `\n M${d.source.depth * nodeHeight}, ${d.source.index * nodeHeight}\n V${d.target.index * nodeHeight}\n h${nodeHeight}\n `);\n\n // Referrer Row\n const node = chart.append(\"g\")\n .selectAll(\"g\")\n .data(nodes)\n .join(\"g\")\n .attr(\"transform\", d => `translate(0, ${d.index * nodeHeight})`)\n .attr(\"class\", \"referrer-tree-row\")\n .on(\"click\", (_event, {data}) => {\n this.#visitReferrerView(data.record_id);\n });\n\n // Referrer Row Background\n node.append(\"rect\")\n .attr(\"fill\", \"white\")\n .attr(\"x\", d => 4 + d.depth * nodeHeight)\n .attr(\"y\", -nodeHeight / 2)\n .attr(\"width\", d => nodeWidth - 250 - d.depth * nodeHeight)\n .attr(\"height\", nodeHeight)\n .attr(\"class\", \"row-background tooltip-anchor\")\n .attr(\"title\", d => d.data.earns_commissions_for_parent ? null : 'Parent ineligible for commissions');\n\n // Bullet Icon\n node.append(\"circle\")\n .attr(\"cx\", d => d.depth * nodeHeight)\n .attr(\"r\", 2.5)\n .attr(\"fill\", d => d.data.earns_commissions_for_parent ? null : \"#999\");\n\n // Organization Name Cell\n node.append(\"text\")\n .attr(\"class\", \"tooltip-anchor\")\n .attr(\"title\", d => d.ancestors().reverse().map(d => d.data.organization_name).join(\"/\"))\n .attr(\"dy\", \"0.32em\")\n .attr(\"x\", d => d.depth * nodeHeight + 6)\n .attr(\"fill\", d => d.data.earns_commissions_for_parent ? null : \"#555\")\n .text(d => d.data.organization_name);\n\n // Iterate over column settings to generate table entries\n for(const {label, description, text, tooltip = () => void 0, x} of columns) {\n chart.append(\"text\")\n .attr(\"dy\", \"0.32em\")\n .attr(\"y\", -nodeHeight)\n .attr(\"x\", x)\n .attr(\"text-anchor\", \"end\")\n .attr(\"font-weight\", \"bold\")\n .attr(\"class\", \"tooltip-anchor\")\n .attr(\"title\", description)\n .text(label);\n\n node.append(\"text\")\n .attr(\"dy\", \"0.32em\")\n .attr(\"x\", x)\n .attr(\"text-anchor\", \"end\")\n .attr(\"fill\", d => d.data.earns_commissions_for_parent ? null : \"#555\")\n .attr(\"text-decoration\", d => tooltip(d) && \"underline\")\n .attr(\"class\", d => tooltip(d) && \"tooltip-anchor\")\n .attr(\"title\", d => tooltip(d))\n .data(root.copy().descendants())\n .text(d => text(d))\n }\n\n return chart.node();\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n // eslint-disable-next-line class-methods-use-this\n reset({ params: { target, value } }) {\n const targetElement = document.getElementById(target);\n targetElement.value = value;\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"form\", \"globalScope\", \"narrowScope\", \"submitButton\"];\n\n connect() {\n this.formTarget.reset();\n }\n\n useScope() {\n this.globalScopeTarget.checked = false;\n\n this.submit();\n }\n\n toggleScopes({ target: toggleScopeBox }) {\n const useScopes = !toggleScopeBox.checked;\n\n this.narrowScopeTargets.forEach((scopeBox) => {\n scopeBox.checked = useScopes;\n });\n\n this.submit();\n }\n\n submit() {\n if (this.hasSubmitButtonTarget) {\n this.submitButtonTarget.click();\n } else {\n this.formTarget.requestSubmit();\n }\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport Rails from \"@rails/ujs\";\n\nexport default class extends Controller {\n static targets = [\n \"selectField\",\n \"selectionLabel\",\n \"searchBox\",\n \"searchField\",\n \"searchResultList\",\n \"searchResultTemplate\",\n \"searchResult\"\n ];\n\n static values = {\n placeholder: String,\n autoSubmit: Boolean,\n selectFieldClass: String\n };\n\n connect() {\n this.#setupSelectField();\n this.#setupSelectionLabel();\n this.#setupSearchBox();\n }\n\n #setupSelectField() {\n const selectFieldSelector = `.${this.selectFieldClassValue}`;\n const selectField = this.element.querySelector(selectFieldSelector);\n\n selectField.classList.add(\"d-none\");\n selectField.dataset.searchableSelectTarget = \"selectField\";\n }\n\n #setupSelectionLabel() {\n const selectedSearchResultId = this.selectFieldTarget.selectedIndex;\n const selectedSearchResult = this.selectFieldTarget.options[selectedSearchResultId];\n const { value: selectionValue, text: selectionText } = selectedSearchResult || {};\n\n const labelText = selectionValue ? selectionText : this.placeholderValue;\n this.selectionLabelTarget.innerText = labelText;\n }\n\n #setupSearchBox() {\n // Define searchResult element from disposable searchResultTemplateTarget\n const searchResultTemplate = this.searchResultTemplateTarget.cloneNode();\n const templateTargets = searchResultTemplate.dataset.searchableSelectTarget;\n const resultTargets = templateTargets.replace(\"searchResultTemplate\", \"searchResult\");\n searchResultTemplate.dataset.searchableSelectTarget = resultTargets;\n this.searchResultTemplateTarget.remove();\n\n // Generate searchResult rows\n for (let { text, value, disabled } of this.selectFieldTarget.options) {\n const searchResult = searchResultTemplate.cloneNode();\n searchResult.text = text;\n searchResult.dataset.value = value;\n if (disabled) searchResult.classList.add(\"disabled\");\n this.searchResultListTarget.appendChild(searchResult);\n }\n\n // Close searchBox if unrelated element clicked\n document.addEventListener(\"click\", (event) => {\n if (this.searchBoxIsClosed) return;\n if (this.element.contains(event.target)) return;\n\n event.preventDefault();\n this.closeSearchBox();\n });\n\n // Close searchBox with \"Escape\" key\n document.addEventListener(\"keydown\", (event) => {\n if (event.key !== \"Escape\" || this.searchBoxIsClosed) return;\n\n event.preventDefault();\n this.closeSearchBox();\n });\n\n // Select first searchResult with \"Enter\" key\n this.searchFieldTarget.addEventListener(\"keydown\", (event) => {\n if (event.key !== \"Enter\") return;\n\n event.preventDefault();\n this.selectResult(this.filteredSearchResults[0]);\n });\n }\n\n toggleSearchBox() {\n this.searchBoxTarget.classList.toggle(\"d-none\");\n this.searchFieldTarget.focus();\n }\n\n closeSearchBox() {\n if (this.searchBoxTarget.classList.contains(\"d-none\")) return;\n\n this.searchBoxTarget.classList.add(\"d-none\");\n }\n\n filterSearchResults() {\n const queryString = this.searchFieldTarget.value.toUpperCase();\n\n this.searchResultTargets.forEach((searchResult) => {\n const resultString = searchResult.text.toUpperCase();\n\n if (resultString.includes(queryString)) {\n searchResult.classList.remove(\"d-none\");\n } else {\n searchResult.classList.add(\"d-none\");\n }\n });\n }\n\n selectResult(eventOrSearchResult) {\n if (!eventOrSearchResult) return;\n\n const searchResult = eventOrSearchResult.target || eventOrSearchResult;\n const { value: selectedValue } = searchResult.dataset;\n const labelText = selectedValue ? searchResult.text : this.placeholderValue;\n\n this.selectFieldTarget.value = selectedValue;\n this.selectionLabelTarget.innerText = labelText;\n\n this.toggleSearchBox();\n\n if (this.autoSubmitValue) Rails.fire(this.selectFieldTarget.form, \"submit\");\n }\n\n get filteredSearchResults() {\n return this.searchResultTargets.filter(searchResult => !searchResult.classList.contains(\"d-none\"));\n }\n\n get searchBoxIsClosed() {\n return this.searchBoxTarget.classList.contains(\"d-none\");\n }\n}\n","import { Carousel } from \"bootstrap\";\nimport { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"slide\", \"indicator\", \"deck\"];\n\n static values = {\n autoShow: { type: Boolean, default: true },\n currentStep: Number,\n };\n\n finalStep;\n carousel;\n\n connect() {\n this.finalStep = this.slideTargets.length - 1;\n\n this.carousel = new Carousel(this.deckTarget, {\n interval: false, // Do not auto-progress\n wrap: false // Do not start over\n });\n\n document.addEventListener('click', ({ target }) => {\n if (!this.element.contains(target)) this.close();\n });\n\n if (this.autoShowValue !== true) {\n this.element.classList.add(\"d-none\");\n }\n }\n\n updateStep({ to: currentStep }) {\n this.currentStepValue = currentStep;\n }\n\n // Params not added until v3.0\n continue({ target }) {\n const stepParam = target && target.dataset.slideDeckStepParam;\n\n if (stepParam) {\n this.carousel.to(stepParam);\n } else if (this.currentStepValue === this.finalStep ) {\n this.close();\n } else {\n this.carousel.next();\n }\n }\n\n open() {\n if (!this.isClosed) return;\n\n this.element.classList.add(\"slide-in-up\");\n this.element.classList.remove(\"slide-out-down\");\n this.element.classList.remove(\"d-none\");\n }\n\n close() {\n if (this.isClosed) return;\n\n this.element.classList.remove(\"slide-in-up\");\n this.element.classList.add(\"slide-out-down\");\n }\n\n currentStepValueChanged() {\n this.indicatorTargets.forEach((indicator) => {\n const associatedStep = Number.parseInt(indicator.dataset.slideDeckStepParam, 10)\n\n if (associatedStep === this.currentStepValue) {\n indicator.classList.remove('bi-record');\n indicator.classList.add('bi-record-fill');\n } else {\n indicator.classList.add('bi-record');\n }\n });\n }\n\n autoShowValueChanged() {\n if (this.autoShowValue === false) return;\n\n this.open();\n }\n\n get isClosed() {\n if (this.element.getBoundingClientRect().height === 0) return true;\n if (this.element.classList.contains(\"slide-out-down\")) return true;\n if (this.element.classList.contains(\"d-none\")) return true;\n\n return false;\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\n// TODO: Refactor reference image views to use this\n\nexport default class extends Controller {\n static targets = [\"container\"];\n\n static values = {\n visible: Boolean,\n };\n\n overlay;\n\n initialize() {\n this.#createOverlay();\n }\n\n visibleValueChanged() {\n if (this.visibleValue) {\n this.#appendSpinner();\n } else {\n this.#removeSpinner();\n }\n }\n\n show() {\n this.visibleValue = true;\n }\n\n hide() {\n this.visibleValue = false;\n }\n\n #createOverlay() {\n const spinnerOverlay = document.createElement(\"div\");\n const spinnerContainer = document.createElement(\"div\");\n const spinner = document.createElement(\"div\");\n\n spinnerOverlay.id = \"spinner-overlay\";\n spinnerContainer.id = \"spinner-container\";\n spinner.id = \"spinner\";\n\n spinnerOverlay.appendChild(spinnerContainer);\n spinnerContainer.appendChild(spinner);\n\n this.overlay = spinnerOverlay;\n }\n\n #appendSpinner() {\n this.containerTarget.appendChild(this.overlay);\n }\n\n #removeSpinner() {\n this.containerTarget.removeChild(this.overlay);\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Turbo } from \"@hotwired/turbo-rails\";\nimport consumer from \"../channels/consumer\";\n\n// DEPRECATED: Use composition-progress controller instead\n\nexport default class extends Controller {\n static values = {\n afterStitchCompletePath: String,\n };\n\n connect() {\n const stitchController = this;\n\n this.subscription = consumer.subscriptions.create(\n {\n channel: \"StitchChannel\",\n stitch_id: stitchController.element.dataset.stitchId,\n },\n {\n connected() {\n stitchController.updateProgressBar(stitchController.element.dataset.percentComplete);\n },\n received(event) {\n const eventName = event.event;\n const eventData = event.data;\n\n switch (eventName) {\n case \"percent_complete_updated\":\n stitchController.percentCompleteDidUpdate(eventData);\n break;\n case \"failed\":\n stitchController.stitchDidFail(eventData);\n break;\n default:\n break;\n }\n },\n }\n );\n }\n\n disconnect() {\n this.subscription.unsubscribe();\n }\n\n percentCompleteDidUpdate(eventData) {\n const percentComplete = parseInt(eventData.percent_complete, 10);\n if (percentComplete === -1) window.location.reload();\n\n this.updateProgressBar(percentComplete);\n\n if (percentComplete === 100) Turbo.visit(this.afterStitchCompletePathValue);\n }\n\n stitchDidFail(eventData) {\n const errorCode = eventData.code;\n\n this.element.textContent = `Error: ${errorCode}`;\n window.location.reload();\n }\n\n updateProgressBar(percentComplete) {\n const progressLabel = this.element.querySelector(\"#progress-label\");\n const progressBar = this.element.querySelector(\".progress-bar\");\n\n progressLabel.textContent = `Progress: ${percentComplete}%`;\n progressBar.style.width = `${percentComplete}%`;\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Turbo } from \"@hotwired/turbo-rails\";\n\nexport default class extends Controller {\n static targets = [\"column\"];\n\n unsortableColumnIDs = [\"ppis_of_unlocked_zips\", \"ppis_of_locked_zips\", \"active_dates\"];\n\n connect() {\n this.#addSortDirectionClasses()\n }\n\n columnTargetConnected(column) {\n // TODO: Find a way to parameterize which columns aren't sortable\n if (!this.unsortableColumnIDs.includes(column.id)) {\n column.addEventListener(\"click\", () => {\n const ascending = !column.classList.contains('asc');\n\n this.#sortTable(column, ascending)\n });\n }\n }\n\n #addSortDirectionClasses() {\n const currentUrl = window.location.href;\n\n // Check if the 'sort' and 'direction' parameters exist in the URL\n const sortParam = this.#getQueryParameter(currentUrl, 'sort');\n const directionParam = this.#getQueryParameter(currentUrl, 'direction');\n\n if (sortParam !== null && directionParam !== null) {\n const column = document.getElementById(sortParam);\n\n if (directionParam === 'asc') {\n column.classList.add('asc');\n column.firstElementChild.classList.add('bi-arrow-up');\n } else {\n column.classList.add('desc');\n column.firstElementChild.classList.add('bi-arrow-down');\n }\n }\n }\n\n #sortTable(column, ascending) {\n const sortingParams = {\n sort: column.id,\n direction: ascending ? 'asc' : 'desc'\n };\n\n const urlObject = new URL(window.location.href);\n\n // Add sort and direction params and keep existing params\n for (const key in sortingParams) {\n urlObject.searchParams.set(key, sortingParams[key]);\n }\n\n Turbo.visit(urlObject.toString())\n }\n\n #getQueryParameter(url, parameterName) {\n const queryParams = new URLSearchParams(new URL(url).search);\n return queryParams.get(parameterName);\n }\n}\n","const perhapsProgressField = (currentField, progressiveFields) => {\n const currentPosition = parseInt(currentField.dataset.position, 10);\n const nextPosition = (currentPosition + 1).toString();\n const nextField = Array.from(progressiveFields).find(({ dataset }) => dataset.position === nextPosition);\n\n if (!nextField) return;\n\n if (currentField.value.length === currentField.maxLength) nextField.select();\n};\n\nconst enableProgressiveFields = (progressiveFields) => {\n progressiveFields.forEach((progressiveInput) => {\n progressiveInput.addEventListener(\"keyup\", (event) => {\n const { key, target: currentField } = event;\n\n if (!/^\\w$/.test(key)) return;\n\n perhapsProgressField(currentField, progressiveFields);\n });\n });\n};\n\nexport default enableProgressiveFields;\n","import { Controller } from \"@hotwired/stimulus\";\nimport enableProgressiveFields from \"../javascript/progressive_fields\";\n\nexport default class extends Controller {\n static targets = [\"areaCodeField\", \"localPrefixField\", \"localSuffixField\"];\n\n static values = {\n hostFieldId: String\n };\n\n connect() {\n const telephoneFields = this.element.querySelectorAll(\"input[type='tel']\");\n\n enableProgressiveFields(telephoneFields);\n this.#updateTelephoneFields();\n\n telephoneFields.forEach((telephoneField) => {\n telephoneField.addEventListener(\"keypress\", (event) => {\n if (!/^\\d$/.test(event.key)) event.preventDefault();\n });\n\n telephoneField.addEventListener(\"change\", () => {\n this.#updateHostField();\n });\n });\n }\n\n #updateTelephoneFields() {\n const phoneNumber = this.hostField.value.toString();\n\n this.areaCodeFieldTarget.value = phoneNumber.slice(0, 3);\n this.localPrefixFieldTarget.value = phoneNumber.slice(3, 6);\n this.localSuffixFieldTarget.value = phoneNumber.slice(6);\n };\n\n #updateHostField() {\n const phoneNumber = `${this.areaCodeFieldTarget.value}${this.localPrefixFieldTarget.value}${this.localSuffixFieldTarget.value}`;\n\n this.hostField.value = phoneNumber;\n };\n\n get hostField() {\n return document.getElementById(this.hostFieldIdValue);\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"editor\", \"foregroundColorPicker\", \"backgroundColorPicker\"];\n\n openForegroundColorPicker() {\n this.foregroundColorPickerTarget.click();\n }\n\n openBackgroundColorPicker() {\n this.backgroundColorPickerTarget.click();\n }\n\n updateForegroundColor() {\n const selectedColor = this.foregroundColorPickerTarget.value;\n this.editorTarget.editor.activateAttribute(\"foregroundColor\", selectedColor);\n }\n\n updateBackgroundColor() {\n const selectedColor = this.backgroundColorPickerTarget.value;\n this.editorTarget.editor.activateAttribute(\"backgroundColor\", selectedColor);\n }\n}\n","import { Controller } from \"stimulus\";\nimport Tooltip from \"bootstrap/js/src/tooltip\";\n\nexport default class extends Controller {\n static targets = [\"field\"];\n\n set({ currentTarget, params: { value } }) {\n this.fieldTarget.value = value;\n\n if (currentTarget.hasAttribute(\"title\")) {\n const tooltip = Tooltip.getOrCreateInstance(currentTarget);\n tooltip.hide();\n }\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { Collapse } from \"bootstrap\";\n\nexport default class extends Controller {\n static targets = [\"primaryLink\", \"nestedLink\", \"rootPageLink\"];\n\n connect() {\n this.updateLinks();\n }\n\n updateLinks() {\n const currentUrl = window.location.pathname;\n let activeNestedLink;\n\n // If a nested link's URL matches current URL, make it `.active`\n this.nestedLinkTargets.forEach((nestedLink) => {\n const linkedUrl = nestedLink.getAttribute(\"href\");\n\n if (linkedUrl === currentUrl) {\n nestedLink.classList.add(\"active\");\n activeNestedLink = nestedLink;\n } else {\n nestedLink.classList.remove(\"active\");\n }\n });\n\n // Repeat for primary links, but also check if it toggles\n // an active link and expand or collapse it accordingly.\n this.primaryLinkTargets.forEach((primaryLink) => {\n const linkedUrl = primaryLink.getAttribute(\"href\");\n\n if (linkedUrl === currentUrl || this.#togglesNestedLink(primaryLink, activeNestedLink)) {\n primaryLink.classList.add(\"active\");\n this.#expandTargetCollapsible(primaryLink);\n } else {\n primaryLink.classList.remove(\"active\");\n this.#collapseTargetCollapsible(primaryLink);\n }\n });\n\n // If no primary link is active, assume we're on the root page\n if (!this.primaryLinkTargets.some((primaryLink) => primaryLink.classList.contains(\"active\"))) {\n this.rootPageLinkTarget.classList.add(\"active\");\n }\n }\n\n #togglesNestedLink(primaryLink, otherLink) {\n if (!otherLink) return false;\n\n const targetCollapsibleSelector = primaryLink.dataset.bsTarget;\n if (!targetCollapsibleSelector) return false;\n\n const targetCollapsible = this.#targetedCollapsible(primaryLink)\n if (!targetCollapsible) return false;\n\n return targetCollapsible.contains(otherLink);\n }\n\n #expandTargetCollapsible = (primaryLink) => {\n const targetCollapsible = this.#targetedCollapsible(primaryLink);\n if (!targetCollapsible) return;\n\n primaryLink.classList.add(\"show\");\n Collapse.getOrCreateInstance(targetCollapsible, {toggle: false}).show();\n }\n\n #collapseTargetCollapsible = (primaryLink) => {\n const targetCollapsible = this.#targetedCollapsible(primaryLink);\n if (!targetCollapsible) return;\n\n Collapse.getOrCreateInstance(targetCollapsible, {toggle: false}).hide();\n }\n\n #targetedCollapsible(primaryLink) {\n const targetCollapsibleSelector = primaryLink.dataset.bsTarget;\n if (!targetCollapsibleSelector) return;\n\n return document.querySelector(targetCollapsibleSelector);\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"player\"];\n\n videoEnabled = false;\n\n // eslint-disable-next-line class-methods-use-this\n playerTargetConnected() {\n // Observe for when the video element leaves the viewport and auto-pause the video\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n // Check if the target element is currently not fully visible in the viewport\n if (entry.intersectionRatio !== 1) {\n this.playerTarget.pause();\n }\n });\n },\n {\n // Set the threshold to 0 to trigger the observer whenever the element leaves the viewport\n threshold: 0,\n }\n );\n\n // Start observing the video player element\n observer.observe(this.playerTarget);\n }\n\n playAndEnableControlsOnce() {\n // eslint-disable-next-line no-unused-expressions\n if (this.videoEnabled) return;\n\n this.playerTarget.play();\n this.playerTarget.setAttribute(\"controls\", \"true\");\n this.videoEnabled = true;\n }\n}\n","// Load all the controllers within this directory and all subdirectories.\n// Controller files must be named *_controller.js.\n\nimport { Application } from '@hotwired/stimulus'\nimport { definitionsFromContext } from '@hotwired/stimulus-webpack-helpers'\nimport '@hotwired/strada';\n\nconst application = Application.start();\nconst context = require.context(\"controllers\", true, /_controller\\.js$/);\n\napplication.load(definitionsFromContext(context));\nwindow.Stimulus = application\n","import Rails from \"@rails/ujs\";\n\nconst showSpinnerOverlay = (coveredElement) => {\n const spinnerOverlay = document.createElement(\"div\");\n const spinnerContainer = document.createElement(\"div\");\n const spinner = document.createElement(\"div\");\n\n spinnerOverlay.id = \"spinner-overlay\";\n spinnerContainer.id = \"spinner-container\";\n spinner.id = \"spinner\";\n\n if (coveredElement.querySelector(`#${spinnerOverlay.id}`)) return;\n\n spinnerOverlay.appendChild(spinnerContainer);\n spinnerContainer.appendChild(spinner);\n coveredElement.appendChild(spinnerOverlay);\n};\n\nconst hideSpinnerOverlay = () => {\n const spinnerOverlay = document.getElementById(\"spinner-overlay\");\n spinnerOverlay?.remove();\n};\n\ndocument.addEventListener(\"turbo:load\", () => {\n const newReferenceImageForm = document.getElementById(\"new-reference-image-form\");\n\n if (!newReferenceImageForm) return;\n\n const fileZone = newReferenceImageForm.querySelector(\".file-zone\");\n const referenceImageField = document.getElementById(\"unedited-reference-image-field\");\n const referenceImageFieldDecoy = document.getElementById(\"unedited-reference-image-field-decoy\");\n\n // Show highlight when dragging over drop area\n fileZone.addEventListener(\"dragover\", (event) => {\n event.preventDefault();\n fileZone.classList.add(\"awaiting-drop\");\n });\n\n // Remove highlight when dragging out of drop area\n fileZone.addEventListener(\"dragleave\", () => {\n fileZone.classList.remove(\"awaiting-drop\");\n });\n\n // Store file in reference image field when dropped\n fileZone.addEventListener(\"drop\", (event) => {\n event.preventDefault();\n fileZone.classList.remove(\"awaiting-drop\");\n showSpinnerOverlay(newReferenceImageForm);\n\n const tempFiles = new DataTransfer();\n const referenceImageFile = event.dataTransfer.files[0];\n\n if (referenceImageFile) {\n tempFiles.items.add(referenceImageFile);\n referenceImageField.files = tempFiles.files;\n\n const changeEvent = new Event(\"change\");\n referenceImageField.dispatchEvent(changeEvent);\n } else {\n hideSpinnerOverlay();\n alert(\"Invalid file\");\n }\n });\n\n // Submit form when file field changes\n referenceImageField.addEventListener(\"change\", () => {\n showSpinnerOverlay(newReferenceImageForm);\n\n Rails.fire(newReferenceImageForm, \"submit\");\n });\n\n // Delegate click event to the actual file field\n referenceImageFieldDecoy.addEventListener(\"click\", () => {\n referenceImageField.click();\n });\n});\n","import Rails from \"@rails/ujs\";\n\n/* eslint-disable camelcase */\n\nimport {\n setPlugins,\n openEditor,\n locale_en_gb,\n plugin_finetune,\n plugin_finetune_defaults,\n createDefaultImageReader,\n createDefaultImageWriter,\n plugin_finetune_locale_en_gb,\n} from \"plugins/pintura\";\n\nconst initializeEditor = (referenceImageUrl) => {\n // Disable tools that can disrupt color transfer process\n let { finetuneOptions } = plugin_finetune_defaults;\n finetuneOptions = finetuneOptions.filter((option) => option[0] !== \"clarity\");\n finetuneOptions = finetuneOptions.filter((option) => option[0] !== \"vignette\");\n plugin_finetune_defaults.finetuneOptions = finetuneOptions;\n\n // Merge all the locale objects\n const locale = { ...locale_en_gb, ...plugin_finetune_locale_en_gb };\n\n // Make a writer that updates and submits the form\n const imageWriter = createDefaultImageWriter({\n copyImageHead: true, // Retain image EXIF data\n orientImage: true, // Fix image orientation\n mimeType: \"image/png\", // Convert input image to png\n quality: 1, // Keep quality at 100%\n\n store: (state) =>\n new Promise((resolve, reject) => {\n const referenceImageField = document.getElementById(\"reference-image-field\");\n const referenceImageForm = referenceImageField.closest(\"form\");\n const referenceImageFile = state.dest;\n const tempFiles = new DataTransfer();\n\n referenceImageForm.addEventListener(\"ajax:error\", (event, xhr, status, error) => {\n reject(error);\n });\n\n tempFiles.items.add(referenceImageFile);\n referenceImageField.files = tempFiles.files;\n Rails.fire(referenceImageForm, \"submit\");\n }),\n });\n\n setPlugins(plugin_finetune);\n\n const editor = openEditor({\n src: referenceImageUrl,\n imageReader: createDefaultImageReader(),\n ...plugin_finetune_defaults,\n imageWriter,\n locale,\n });\n\n editor.on(\"loaderror\", ({error}) => {\n editor.destroy();\n alert(`Failed to load image editor: ${error.message}`);\n });\n\n const cleanUpEditorListener = async () => {\n // This may be flaky due to timing\n // We really need: https://github.com/hotwired/turbo/pull/290\n await editor.close();\n await editor.destroy();\n\n // Manually clear the lock just in case cleanup fails\n document.documentElement.classList.remove(\"PinturaDocumentLock\");\n };\n\n // Clean up editor before moving on (since we replace page w/ turbo)\n document.addEventListener(\"turbo:before-render\", cleanUpEditorListener, { once: true });\n};\n\n/* eslint-enable camelcase */\n\ndocument.addEventListener(\"turbo:load\", () => {\n const editReferenceImageArea = document.getElementById(\"edit-reference-image-area\");\n if (!editReferenceImageArea) return;\n\n const editButton = editReferenceImageArea.querySelector(\"#open-editor-button\");\n const compositeImageUrl = editButton.dataset.imageUrl;\n const autoLaunchEnabled = editButton.dataset.autoLaunch === 'true';\n\n // Auto-open editor unless already unedited\n if (autoLaunchEnabled) {\n initializeEditor(compositeImageUrl);\n }\n\n // Open editor when \"Edit\" button clicked\n editButton.addEventListener(\"click\", () => {\n initializeEditor(compositeImageUrl);\n });\n});\n","import \"javascript/stitches/composite_image\";\nimport \"javascript/stitches/new_reference_image_form\";\nimport \"javascript/stitches/edit_reference_image_form\";\nimport \"javascript/admin_content\";\nimport Rails from \"@rails/ujs\";\n\ndocument.addEventListener(\"turbo:load\", () => {\n const editStitchNameModal = document.getElementById(\"edit-stitch-name-modal\");\n\n if (editStitchNameModal) {\n editStitchNameModal.addEventListener(\"shown.bs.modal\", () => {\n editStitchNameModal.querySelector(\"input#stitch_name\").focus();\n });\n }\n\n const userSelectForm = document.getElementById(\"record-id-filter\");\n if (userSelectForm) {\n const userSelect = userSelectForm.querySelectorAll(\"#user-select\")[0];\n userSelect.addEventListener(\"change\", () => {\n Rails.fire(userSelectForm, \"submit\");\n });\n }\n\n const newStitchForm = document.getElementById(\"new-stitch-form\");\n if (newStitchForm) {\n const heightField = document.getElementById(\"stitch_canvas_height\");\n const widthField = document.getElementById(\"stitch_canvas_width\");\n\n heightField.addEventListener(\"keypress\", (event) => {\n if (!/^\\.|\\d$/.test(event.key)) event.preventDefault();\n });\n\n widthField.addEventListener(\"keypress\", (event) => {\n if (!/^\\.|\\d$/.test(event.key)) event.preventDefault();\n });\n }\n});\n","import moment from \"moment\";\n\n// Read & writes as ISO 8601\n// For use with: app/views/shared/_duration_field\n// https://en.wikipedia.org/wiki/ISO_8601#Durations\n\nclass DurationField {\n constructor(fieldGroup) {\n this.fieldGroup = fieldGroup;\n this.hostField = document.getElementById(fieldGroup.dataset.parentId);\n\n this.partField = fieldGroup.querySelector(`select[name=\"duration_part\"]`);\n this.valueField = fieldGroup.querySelector(`input[name=\"duration_value\"]`);\n }\n\n enable() {\n this.loadDurationFields();\n\n this.fieldGroup.addEventListener(\"change\", () => {\n this.updateHostField();\n });\n }\n\n loadDurationFields() {\n const isoDuration = this.hostField.value;\n if (!isoDuration) return;\n\n const currentDuration = moment.duration(isoDuration);\n let currentPart;\n let currentValue;\n\n // eslint-disable-next-line no-underscore-dangle\n const { years, months, days } = currentDuration._data;\n\n // Check which date parts duration is composed of\n const currentParts = [];\n if (years > 0) currentParts.push(\"years\");\n if (months > 0) currentParts.push(\"months\");\n if (days > 0) currentParts.push(\"days\");\n\n // Convert to \"days\" if multiple parts present\n if (currentParts.length === 1) {\n [currentPart] = currentParts;\n currentValue = currentDuration.as(currentPart);\n } else {\n currentPart = \"days\";\n currentValue = currentDuration.asDays();\n }\n\n // Convert days to weeks if divisible by 7\n if (currentPart === \"days\" && currentValue % 7 === 0) {\n currentPart = \"weeks\";\n currentValue = currentDuration.asWeeks();\n }\n\n this.valueField.value = Math.round(currentValue);\n this.partField.value = currentPart;\n }\n\n updateHostField() {\n const targetPart = this.partField.value;\n const targetValue = this.valueField.value;\n\n if (targetValue) {\n const targetDuration = moment.duration(targetValue, targetPart);\n this.hostField.value = targetDuration.toISOString();\n } else {\n this.hostField.value = null;\n }\n }\n}\n\nconst enableDurationFields = () => {\n const durationFieldInputGroups = document.querySelectorAll(\".duration-field\");\n\n durationFieldInputGroups.forEach((durationFieldInputGroup) => {\n const durationField = new DurationField(durationFieldInputGroup);\n durationField.enable();\n });\n};\n\nexport default enableDurationFields;\n","// Persisted Tabs\n//\n// Used for automatically showing the last used tab after reloading the page.\n// Note: The last opened tab will not persist after leaving the page.\n//\n// Implementation:\n// Apply `.persisted-tabs` to a shared parent element of all the nav links.\n// Enable by importing and calling the `enablePersistedTabs` function.\n\nimport Tab from \"bootstrap/js/src/tab\";\nimport handleBubbledEvent from \"./bubbled_event_handling\";\n\nconst persistTab = (targetPaneSelector) => {\n const persistedTabSelector = `.persisted-tabs [data-bs-target=\"${targetPaneSelector}\"]`;\n sessionStorage.setItem(\"persistedTabSelector\", persistedTabSelector);\n};\n\nconst showPersistedTab = () => {\n const persistedTabSelector = sessionStorage.getItem(\"persistedTabSelector\");\n if (!persistedTabSelector) return;\n\n const persistedTab = document.querySelector(persistedTabSelector);\n\n if (!persistedTab) {\n sessionStorage.setItem(\"persistedTabSelector\", null);\n } else {\n const bootstrapTab = Tab.getOrCreateInstance(persistedTab);\n bootstrapTab.show();\n }\n};\n\nconst enablePersistedTabs = (anchorElementSelector) => {\n const persistableTabsSelector = `${anchorElementSelector} .persisted-tabs a[data-bs-toggle=\"tab\"]`;\n\n handleBubbledEvent(\"shown.bs.tab\", anchorElementSelector, persistableTabsSelector, (event) => {\n const { target: navLink } = event;\n const targetPaneSelector = navLink.dataset.bsTarget;\n persistTab(targetPaneSelector);\n });\n\n showPersistedTab();\n};\n\nexport default enablePersistedTabs;\n","import enableDurationFields from \"../utils/duration_field\";\nimport enablePersistedTabs from \"../utils/persisted_tabs\";\nimport generateRandomString from \"../utils/random_string_generator\";\n\nconst setupIntegrationIdArea = () => {\n const integrationIdArea = document.getElementById(\"integration-id-area\");\n const integrationIdField = integrationIdArea.querySelector(\"#referrer_integration_id\");\n const generateValueButton = integrationIdArea.querySelector(\".generate-button\");\n const clearValueButton = integrationIdArea.querySelector(\".clear-button\");\n\n if (generateValueButton) {\n generateValueButton.addEventListener(\"click\", () => {\n integrationIdField.value = generateRandomString(8, /[a-z0-9]/i);\n });\n }\n\n if (clearValueButton) {\n clearValueButton.addEventListener(\"click\", () => {\n integrationIdField.value = \"\";\n });\n }\n};\n\nconst setupIntegrationTokenArea = () => {\n const integrationTokenArea = document.getElementById(\"integration-token-area\");\n const integrationTokenField = integrationTokenArea.querySelector(\"#referrer_integration_token\");\n const generateValueButton = integrationTokenArea.querySelector(\".generate-button\");\n const clearValueButton = integrationTokenArea.querySelector(\".clear-button\");\n\n generateValueButton.addEventListener(\"click\", () => {\n integrationTokenField.value = generateRandomString(32);\n });\n\n clearValueButton.addEventListener(\"click\", () => {\n integrationTokenField.value = \"\";\n });\n};\n\ndocument.addEventListener(\"turbo:load\", () => {\n const referrerForm = document.getElementById(\"edit-referrer-form\");\n const referrerCards = document.querySelectorAll(\".referrer-card\");\n\n // Admin::Referrers#edit\n if (referrerForm) {\n const applicationContainerSelector = \"#application-container\";\n\n enablePersistedTabs(applicationContainerSelector);\n enableDurationFields();\n\n setupIntegrationIdArea();\n setupIntegrationTokenArea();\n }\n\n // Admin::Referrers#index, #show\n if (referrerCards) {\n referrerCards.forEach((referrerCard) => {\n const referrerCardSelector = `#${referrerCard.id}`;\n enablePersistedTabs(referrerCardSelector);\n });\n }\n});\n","// Expects a clickable element to be present with a `data-duplicate` attribute storing a selector\n// for the duplicatable field. The duplicated element's value will be cleared. Nested elements not supported.\n\nconst duplicateField = (fieldSelector) => {\n const duplicatableElementSelector = `${fieldSelector}:last-of-type`;\n const duplicatableElement = document.querySelector(duplicatableElementSelector);\n\n const duplicatedElement = duplicatableElement.cloneNode();\n duplicatedElement.value = \"\";\n duplicatableElement.insertAdjacentElement(\"afterend\", duplicatedElement);\n};\n\nconst enableFieldDuplication = () => {\n const duplicationButtons = document.querySelectorAll(`[data-duplicate]`);\n\n duplicationButtons.forEach((duplicationButton) => {\n duplicationButton.addEventListener(\"click\", (event) => {\n const duplicatableElementSelector = event.target.dataset.duplicate;\n duplicateField(duplicatableElementSelector);\n });\n });\n};\n\nexport default enableFieldDuplication;\n","import enableDurationFields from \"../utils/duration_field\";\nimport enableFieldDuplication from \"../utils/duplicatable_fields\";\n\ndocument.addEventListener(\"turbo:load\", () => {\n const settingsForm = document.getElementById(\"settings-form\");\n\n if (settingsForm) {\n enableDurationFields();\n enableFieldDuplication();\n }\n});\n","import Trix from \"trix\";\n\nconst removeH1Button = () => {\n const ogHtml = Trix.config.toolbar.getDefaultHTML();\n const parser = new DOMParser();\n const doc = parser.parseFromString(ogHtml, \"text/html\");\n\n const headingButton = doc.querySelector('[data-trix-attribute=\"heading1\"]');\n headingButton.remove();\n const updatedHtml = doc.body.innerHTML;\n\n Trix.config.toolbar.getDefaultHTML = () => {\n return updatedHtml;\n };\n};\n\nconst prependToBlockToolbar = (buttonHtml) => {\n const ogHtml = Trix.config.toolbar.getDefaultHTML();\n const parser = new DOMParser();\n const doc = parser.parseFromString(ogHtml, 'text/html');\n const textToolsGroup = doc.querySelector('.trix-button-group--block-tools');\n\n if (textToolsGroup) textToolsGroup.insertAdjacentHTML('afterbegin', buttonHtml);\n const updatedHtml = doc.body.innerHTML;\n\n Trix.config.toolbar.getDefaultHTML = () => {\n return updatedHtml;\n };\n};\n\nconst appendToBlockToolbar = (buttonHtml) => {\n const ogHtml = Trix.config.toolbar.getDefaultHTML();\n const parser = new DOMParser();\n const doc = parser.parseFromString(ogHtml, \"text/html\");\n const textToolsGroup = doc.querySelector(\".trix-button-group--block-tools\");\n\n if (textToolsGroup) textToolsGroup.insertAdjacentHTML(\"beforeend\", buttonHtml);\n const updatedHtml = doc.body.innerHTML;\n\n Trix.config.toolbar.getDefaultHTML = () => {\n return updatedHtml;\n };\n};\n\nconst appendToTextToolbar = (buttonHtml) => {\n const ogHtml = Trix.config.toolbar.getDefaultHTML();\n const parser = new DOMParser();\n const doc = parser.parseFromString(ogHtml, \"text/html\");\n const textToolsGroup = doc.querySelector('.trix-button-group--text-tools');\n\n if (textToolsGroup) textToolsGroup.insertAdjacentHTML(\"beforeend\", buttonHtml);\n const updatedHtml = doc.body.innerHTML;\n\n Trix.config.toolbar.getDefaultHTML = () => {\n return updatedHtml;\n };\n};\n\nconst defineH1Button = () => {\n Trix.config.blockAttributes.heading1 = {\n tagName: \"h1\",\n terminal: true,\n breakOnReturn: true,\n group: false,\n };\n\n const buttonHtml = `\n \n `;\n\n prependToBlockToolbar(buttonHtml);\n};\n\nconst defineH2Button = () => {\n Trix.config.blockAttributes.heading2 = {\n tagName: \"h2\",\n terminal: true,\n breakOnReturn: true,\n group: false,\n };\n\n const buttonHtml = `\n \n `;\n\n prependToBlockToolbar(buttonHtml);\n};\n\nconst defineH3Button = () => {\n Trix.config.blockAttributes.heading3 = {\n tagName: \"h3\",\n terminal: true,\n breakOnReturn: true,\n group: false,\n };\n\n const buttonHtml = `\n \n `;\n\n prependToBlockToolbar(buttonHtml);\n};\n\nconst defineH4Button = () => {\n Trix.config.blockAttributes.heading4 = {\n tagName: \"h4\",\n terminal: true,\n breakOnReturn: true,\n group: false,\n };\n\n const buttonHtml = `\n \n `;\n\n prependToBlockToolbar(buttonHtml);\n};\n\nconst defineTextForegroundButton = () => {\n Trix.config.textAttributes.foregroundColor = {\n styleProperty: \"color\",\n inheritable: true,\n parser(element) {\n return element.style.color.length > 0;\n },\n };\n\n const buttonHtml = `\n \n\n \n `;\n\n appendToTextToolbar(buttonHtml);\n};\n\nconst defineTextBackgroundButton = () => {\n Trix.config.textAttributes.backgroundColor = {\n styleProperty: \"backgroundColor\",\n inheritable: true,\n parser(element) {\n return element.style.backgroundColor.length > 0;\n },\n };\n\n const buttonHtml = `\n \n\n \n `;\n\n appendToTextToolbar(buttonHtml);\n};\n\nconst defineTextAlignCenterButton = () => {\n Trix.config.blockAttributes.textAlignCenter = {\n tagName: \"centered-div\",\n nestable: false,\n exclusive: true,\n };\n\n const buttonHtml = `\n \n `;\n\n appendToBlockToolbar(buttonHtml);\n};\n\nexport const customizeTrixOnInit = () => {\n document.addEventListener(\"trix-before-initialize\", () => {\n removeH1Button();\n defineH4Button();\n defineH3Button();\n defineH2Button();\n defineH1Button();\n defineTextAlignCenterButton();\n defineTextForegroundButton();\n defineTextBackgroundButton();\n }, { once: true });\n};\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/packs and only use these pack files to reference\n// that code so it'll be compiled.\n\nimport Rails from \"@rails/ujs\";\nimport \"@hotwired/turbo-rails\";\nimport * as ActiveStorage from \"@rails/activestorage\";\nimport \"@rails/actiontext\";\nimport \"channels\";\nimport \"controllers\";\nimport \"bootstrap\";\nimport \"javascript/stitches\";\nimport \"javascript/users\";\nimport \"javascript/admin\";\nimport { enableTooltips } from \"../javascript/tooltips\";\nimport { enablePopovers } from \"../javascript/popovers\";\nimport { enableLightboxes } from \"../javascript/lightboxes\";\nimport { customizeTrixOnInit } from \"../javascript/trix\";\n\nRails.start();\nActiveStorage.start();\n\ncustomizeTrixOnInit();\n\n// Reloads triggered by broadcast stream events won't trigger the \"turbo:load\" callback. See \"turbo:before-stream-render\"\ndocument.addEventListener(\"turbo:load\", () => {\n enableTooltips();\n enablePopovers();\n\n // TODO: deprecate in favor of using the stimulus controller lightbox_controller.js\n enableLightboxes();\n});\n\n// Mobile Safari video fix ref: https://github.com/hotwired/turbo/issues/331\ndocument.addEventListener(\"turbo:render\", () => {\n if (navigator.userAgent.match(/Version\\/[\\d.]+.*Safari/)) {\n document.querySelectorAll(\"video\").forEach((video) => {\n video.outerHTML = video.outerHTML; // eslint-disable-line no-param-reassign, no-self-assign\n });\n }\n});\n","import Popover from \"bootstrap/js/src/popover\";\nimport handleBubbledEvent from \"./utils/bubbled_event_handling\";\n\nexport const enablePopovers = (anchorSelector) => {\n const applicationContainerSelector = \"#application-container\";\n const popoverTriggerSelector = anchorSelector || \"[data-bs-toggle='popover']\";\n\n const showPopover = (event) => {\n const { target: popoverTrigger } = event;\n const sanitizeHtml = popoverTrigger.dataset.bsSanitize !== \"false\";\n\n const popover = Popover.getOrCreateInstance(popoverTrigger, {\n sanitize: sanitizeHtml\n });\n\n document.querySelectorAll(popoverTriggerSelector).forEach(el => {\n const instance = bootstrap.Popover.getInstance(el);\n if (instance && el !== popoverTrigger) {\n instance.hide();\n }\n });\n\n popover.toggle();\n };\n\n handleBubbledEvent(\"mouseover\", applicationContainerSelector, popoverTriggerSelector, showPopover);\n\n handleBubbledEvent(\"click\", applicationContainerSelector, popoverTriggerSelector, showPopover);\n handleBubbledEvent(\"touchstart\", applicationContainerSelector, popoverTriggerSelector, showPopover);\n};\n","// The admin panel is not yet feature complete, and we want to minimize UI differences for admins.\n// Use `.hidden` to hide content, and include `.admin-content` to reveal it from `showAdminContent()`.\n//\n// Example:\n// ```haml\n// %button.admin-content.hidden Secret Button\n// ```\n\nconst showAdminContent = () => {\n const hiddenAdminContent = document.querySelectorAll(\".admin-content.hidden\");\n\n hiddenAdminContent.forEach((hiddenContent) => {\n hiddenContent.classList.remove(\"hidden\");\n });\n};\n\ndocument.addEventListener(\"turbo:load\", () => {\n const adminContent = document.querySelectorAll(\".admin-content\");\n\n if (adminContent.length > 0) {\n // On \"w\" keydown, display admin-only content\n document.addEventListener(\"keydown\", (event) => {\n const activeElementType = document.activeElement.tagName.toLowerCase();\n let key;\n if (event.key) {\n key = event.key.toLowerCase();\n }\n if (key === \"w\" && activeElementType !== \"input\") {\n showAdminContent();\n }\n });\n }\n});\n","import PhotoSwipeLightbox from \"photoswipe/lightbox\";\nimport PhotoSwipe from \"photoswipe\";\n\nexport const enableLightboxes = (triggerSelector) => {\n // TODO: deprecate in favor of using the stimulus controller lightbox_controller.js\n triggerSelector ||= \".lightbox-trigger\";\n\n const triggers = document.querySelectorAll(triggerSelector);\n if (triggers.length === 0) return;\n\n const options = {\n gallery: triggerSelector,\n pswpModule: PhotoSwipe,\n preloaderDelay: 0\n };\n\n const lightbox = new PhotoSwipeLightbox(options);\n\n customizePreloader(lightbox);\n attachCaptionBox(lightbox);\n\n lightbox.init();\n};\n\nexport const customizePreloader = (lightbox, message) => {\n const loadingMessage = message || \"Loading Your Preview\";\n\n lightbox.on(\"uiRegister\", () => {\n const elementDefinitions = lightbox.pswp.ui.uiElementsData;\n const preloaderDefinition = elementDefinitions.find((definition) => definition.name === \"preloader\");\n const originalInitFunction = preloaderDefinition.onInit;\n\n let loadingLabel = null;\n\n preloaderDefinition.onInit = (element, pswp) => {\n if (!loadingLabel) {\n loadingLabel = document.createElement(\"span\");\n\n loadingLabel.innerText = loadingMessage;\n loadingLabel.className = \"preloader-banner-label\";\n\n element.classList.add(\"preloader-banner\");\n element.appendChild(loadingLabel);\n }\n\n originalInitFunction(element, pswp);\n }\n });\n};\n\nexport const attachCaptionBox = (lightbox) => {\n lightbox.on(\"uiRegister\", () => {\n lightbox.pswp.ui.registerElement({\n name: \"caption\",\n order: 9,\n isButton: false,\n appendTo: \"root\",\n onInit: (captionBox) => {\n lightbox.pswp.on(\"change\", () => {\n const currentSlide = lightbox.pswp.currSlide.data.element;\n const caption = currentSlide.getAttribute(\"title\");\n if (caption) {\n captionBox.innerHTML = caption;\n captionBox.classList.remove(\"d-none\");\n } else {\n captionBox.innerHTML = \"\";\n captionBox.classList.add(\"d-none\");\n }\n });\n }\n });\n });\n};\n"," \n\nimport {\n createDefaultImageReader,\n createDefaultImageWriter,\n locale_en_gb,\n openEditor,\n plugin_crop,\n plugin_crop_locale_en_gb,\n setPlugins,\n} from \"plugins/pintura\";\n\nexport const initializeEditor = (sourceUrl, previousTransformations) => {\n const token = document.head.querySelector('meta[name=\"csrf-token\"]').content;\n\n // Replace URL with viewable_composite path\n const stitchBaseURLRegex = /\\/stitches\\/(\\d+)(\\/.*)?$/;\n let uploadURL = document.URL.replace(stitchBaseURLRegex, '/stitches/$1/viewable_composite');\n\n const imageWriter = createDefaultImageWriter({\n canvasMemoryLimit: Infinity, // Remove canvas size limits to avoid downscaling\n orientImage: true, // Fix image orientation\n copyImageHead: true, // Retain image EXIF data\n mimeType: \"image/png\", // Convert input image to png\n quality: 1, // Keep quality at 100%\n\n // Post (patch) images to '/stitches/:stitch_id/viewable_composite'\n store: (state, options, onProgress) =>\n new Promise( async (resolve, reject) => {\n const {imageState} = state;\n const {src} = state;\n\n const {width, height} = await new Promise((resolve, reject) => {\n const img = new Image();\n\n img.onload = function () {\n resolve({width: img.width, height: img.height});\n };\n img.onerror = function () {\n reject(new Error('Failed to load image'));\n };\n\n img.src = URL.createObjectURL(src);\n });\n\n // Create a formData object to send to the server\n const formData = new FormData();\n formData.append(\"_method\", \"patch\");\n formData.append(\"authenticity_token\", token);\n formData.append(\"composite_image[viewable_file_changes]\", JSON.stringify({ ...imageState, width, height }));\n\n // Create a request object\n const request = new XMLHttpRequest();\n request.timeout = 90000;\n request.open(\"PATCH\", uploadURL);\n\n // Show progress in interface\n request.upload.onprogress = onProgress;\n\n // Catch errors\n request.onerror = () => reject(new Error(\"Something went wrong with the your request\"));\n request.ontimeout = () => reject(new Error(\"Your request timed out\"));\n\n // Handle success state\n request.onload = () => {\n if (request.status >= 200 && request.status < 300) {\n // Store request in state so it can be accessed by other processes\n \n state.store = request;\n resolve(state);\n } else {\n reject(new Error(\"Something went wrong!\"));\n }\n };\n\n // Start uploading the image\n request.send(formData);\n }),\n\n // Show all output props\n outputProps: [\"src\", \"dest\", \"imageState\", \"store\"],\n });\n\n setPlugins(plugin_crop);\n\n const locale = { ...locale_en_gb, ...plugin_crop_locale_en_gb };\n const editor = openEditor({\n src: sourceUrl,\n imageReader: createDefaultImageReader(),\n imageWriter,\n locale,\n });\n\n if (previousTransformations) {\n editor.on('load', () => {\n // Add image state to history stack to replicate stored changes\n editor.history.write(previousTransformations);\n });\n }\n};\n","// Note: Expects top-level `#application-container` element for tracking\n// bubbled mouseover events.\n\nimport Tooltip from \"bootstrap/js/src/tooltip\";\nimport handleBubbledEvent from \"./utils/bubbled_event_handling\";\n\nexport const enableTooltips = (anchorSelector) => {\n const applicationContainerSelector = \"#application-container\";\n const tooltipTriggerSelector = anchorSelector || \"[data-bs-toggle='tooltip']\";\n\n handleBubbledEvent(\"mouseover\", applicationContainerSelector, tooltipTriggerSelector, (event) => {\n const { target: tooltipTrigger } = event;\n const tooltip = Tooltip.getOrCreateInstance(tooltipTrigger);\n tooltip.show();\n });\n};\n\nexport const destroyTooltips = () => {\n document.querySelectorAll(\".tooltip\").forEach((tooltipElement) => {\n const tooltip = Tooltip.getOrCreateInstance(tooltipElement);\n tooltip.dispose();\n });\n};\n","document.addEventListener(\"turbo:load\", () => {\n const changePasswordButton = document.getElementById(\"change-password-link\");\n\n if (changePasswordButton) {\n changePasswordButton.addEventListener(\"click\", () => {\n changePasswordButton.style.display = \"none\";\n });\n }\n});\n","// Provides `handleBubbledEvent()` as an alternative to `addEventListener()` which\n// does not trigger reactions for elements rendered after the the listener was added.\n//\n// Works by listening on a designated \"anchor\" element for events as they propagate\n// up the DOM tree. If an event of the specified type targets the specified element,\n// the reaction function is triggered.\n\nconst handleBubbledEvent = (eventType, anchorSelector, targetSelector, reaction) => {\n const anchorElement = document.querySelector(anchorSelector);\n\n anchorElement.addEventListener(eventType, (event) => {\n if (!event.target.matches(targetSelector)) return;\n reaction(event);\n });\n};\n\nexport default handleBubbledEvent;\n","// Asynchronously retrieve image from URL as an Image object.\n/* Example:\nfetchImage(\"https://placekitten.com/500/500\")\n .then((image) => {\n document.body.appendChild(image);\n })\n .catch((image) => {\n alert(\"Failed to load image!\");\n console.dir(image);\n });\n*/\n\nexport const fetchImage = (url) => {\n return new Promise((resolve, reject) => {\n const image = new Image();\n\n image.onload = () => resolve(image);\n image.onerror = () => reject(image);\n\n image.crossOrigin = \"anonymous\";\n image.src = url;\n });\n};\n\n// Re-scale an image to the specified width\n/* Example:\nTODO: Make example\n*/\nexport const scaleImage = (inputImage, targetWidth) => {\n let canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n const originalWidth = inputImage.width;\n const originalHeight = inputImage.height;\n\n const aspectRatio = originalWidth / originalHeight;\n const targetHeight = targetWidth / aspectRatio;\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n\n context.drawImage(inputImage, 0, 0, targetWidth, targetHeight);\n\n return new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n const blobUrl = URL.createObjectURL(blob);\n const outputImage = new Image();\n\n outputImage.onerror = (event) => reject(event);\n\n outputImage.onload = () => {\n URL.revokeObjectURL(blobUrl); // Release blob for garbage collection\n resolve(outputImage);\n };\n\n outputImage.crossOrigin = \"anonymous\";\n outputImage.src = blobUrl;\n });\n });\n};\n","const generateRandomString = (targetLength = 10, constraints = /./) => {\n let availableCharacters = Array.from(\"0123456789abcdefghiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXTZ-_\");\n availableCharacters = availableCharacters.filter((character) => constraints.test(character));\n\n const characterSampler = () => availableCharacters[Math.floor(Math.random() * availableCharacters.length)];\n const sampledCharacters = Array.from({ length: targetLength }, () => characterSampler());\n\n return sampledCharacters.join(\"\");\n};\n\nexport default generateRandomString;\n","/*!\n * Pintura Image Editor 8.19.3\n * (c) 2018-2021 PQINA Inc. - All Rights Reserved\n * License: https://pqina.nl/pintura/license/\n */\n/* eslint-disable */\n\nconst JFIF_MARKER=65504;const EXIF_MARKER=65505;const SOS_MARKER=65498;const Markers={[EXIF_MARKER]:\"exif\",[JFIF_MARKER]:\"jfif\",[SOS_MARKER]:\"sos\"};const JPEG_SOI_MARKER=65496;const JPEG_MARKER_PREFIX=255;var dataViewGetApplicationMarkers=view=>{if(view.getUint16(0)!==JPEG_SOI_MARKER)return undefined;const markerTypes=Object.keys(Markers).map(v=>parseInt(v,10));const length=view.byteLength;let offset=2;let marker;let res=undefined;while(offset{if(view.getUint16(offset)!==APP1_MARKER)return undefined;const size=view.getUint16(offset+2);offset+=4;if(view.getUint32(offset)!==APP1_EXIF_IDENTIFIER)return undefined;offset+=6;const byteAlignment=view.getUint16(offset);if(byteAlignment!==BYTE_ALIGN_INTEL&&byteAlignment!==BYTE_ALIGN_MOTOROLA)return undefined;const storedAsLittleEndian=byteAlignment===BYTE_ALIGN_INTEL;offset+=2;if(view.getUint16(offset,storedAsLittleEndian)!==TIFF_MARKER)return undefined;offset+=view.getUint32(offset+2,storedAsLittleEndian);const getTagOffsets=marker=>{const offsets=[];let i=offset;const max=offset+size-16;for(;i{const tagOffsets=getTagOffsets(address);if(!tagOffsets.length)return undefined;return view.getUint16(tagOffsets[0]+8,storedAsLittleEndian)},write:(address,value)=>{const tagOffsets=getTagOffsets(address);if(!tagOffsets.length)return false;tagOffsets.forEach(offset=>view.setUint16(offset+8,value,storedAsLittleEndian));return true}}};const ORIENTATION_TAG=274;var arrayBufferImageExif=(data,key,value)=>{if(!data)return;const view=new DataView(data);const markers=dataViewGetApplicationMarkers(view);if(!markers||!markers.exif)return;const tags=dataViewGetExifTags(view,markers.exif.offset);if(!tags)return;return value===undefined?tags.read(key):tags.write(key,value)};const backup=\"__pqina_webapi__\";var getNativeAPIRef=API=>window[backup]?window[backup][API]:window[API];var noop$1=(...args)=>{};const FileReaderDataFormat={ArrayBuffer:\"readAsArrayBuffer\"};var readFile=(file,onprogress=noop$1,options={})=>new Promise((resolve,reject)=>{const{dataFormat=FileReaderDataFormat.ArrayBuffer}=options;const reader=new(getNativeAPIRef(\"FileReader\"));reader.onload=()=>resolve(reader.result);reader.onerror=reject;reader.onprogress=onprogress;reader[dataFormat](file)});var blobReadSection=async(blob,slice=[0,blob.size],onprogress)=>await readFile(blob.slice(...slice),onprogress);var getImageOrientationFromFile=async(file,onprogress)=>{const head=await blobReadSection(file,[0,64*2048],onprogress);return arrayBufferImageExif(head,ORIENTATION_TAG)||1};let result$b=null;var isBrowser=()=>{if(result$b===null)result$b=typeof window!==\"undefined\"&&typeof window.document!==\"undefined\";return result$b};let result$a=null;var canOrientImages=()=>new Promise(resolve=>{if(result$a===null){const testSrc=\"data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=\";let testImage=isBrowser()?new Image:{};testImage.onload=()=>{result$a=testImage.naturalWidth===1;testImage=undefined;resolve(result$a)};testImage.src=testSrc;return}return resolve(result$a)});var canvasToImageData=canvas=>{const imageData=canvas.getContext(\"2d\").getImageData(0,0,canvas.width,canvas.height);return imageData};var h=(name,attributes,children=[])=>{const el=document.createElement(name);const descriptors=Object.getOwnPropertyDescriptors(el.__proto__);for(const key in attributes){if(key===\"style\"){el.style.cssText=attributes[key]}else if(descriptors[key]&&descriptors[key].set||/textContent|innerHTML/.test(key)||typeof attributes[key]===\"function\"){el[key]=attributes[key]}else{el.setAttribute(key,attributes[key])}}children.forEach(child=>el.appendChild(child));return el};const MATRICES={1:()=>[1,0,0,1,0,0],2:width=>[-1,0,0,1,width,0],3:(width,height)=>[-1,0,0,-1,width,height],4:(width,height)=>[1,0,0,-1,0,height],5:()=>[0,1,1,0,0,0],6:(width,height)=>[0,1,-1,0,height,0],7:(width,height)=>[0,-1,-1,0,height,width],8:width=>[0,-1,1,0,0,width]};var getImageOrientationMatrix=(width,height,orientation=-1)=>{if(orientation===-1)orientation=1;return MATRICES[orientation](width,height)};var releaseCanvas=canvas=>{canvas.width=1;canvas.height=1;const ctx=canvas.getContext(\"2d\");ctx&&ctx.clearRect(0,0,1,1)};var isImageData=obj=>\"data\"in obj;var imageDataToCanvas=async(imageData,orientation=1)=>{const[width,height]=await canOrientImages()||orientation<5?[imageData.width,imageData.height]:[imageData.height,imageData.width];const canvas=h(\"canvas\",{width:width,height:height});const ctx=canvas.getContext(\"2d\");if(isImageData(imageData)&&!await canOrientImages()&&orientation>1){const inMemoryCanvas=h(\"canvas\",{width:imageData.width,height:imageData.height});const ctx=inMemoryCanvas.getContext(\"2d\");ctx.putImageData(imageData,0,0);imageData=inMemoryCanvas}if(!await canOrientImages()&&orientation>1){ctx.transform.apply(ctx,getImageOrientationMatrix(imageData.width,imageData.height,orientation))}if(isImageData(imageData)){ctx.putImageData(imageData,0,0)}else{ctx.drawImage(imageData,0,0)}if(imageData instanceof HTMLCanvasElement)releaseCanvas(imageData);return canvas};var orientImageData=async(imageData,orientation=1)=>{if(orientation===1)return imageData;if(!await canOrientImages())return canvasToImageData(await imageDataToCanvas(imageData,orientation));return imageData};var isObject=v=>typeof v===\"object\";const copy=val=>isObject(val)?deepCopy(val):val;const deepCopy=src=>{let dst;if(Array.isArray(src)){dst=[];src.forEach((val,i)=>{dst[i]=copy(val)})}else{dst={};Object.keys(src).forEach(key=>{const val=src[key];dst[key]=copy(val)})}return dst};var isString=v=>typeof v===\"string\";var isFunction=v=>typeof v===\"function\";var imageToCanvas=(image,{width,height,canvasMemoryLimit})=>{let canvasWidth=width||image.naturalWidth;let canvasHeight=height||image.naturalHeight;if(!canvasWidth&&!canvasHeight){canvasWidth=300;canvasHeight=150}const requiredCanvasMemory=canvasWidth*canvasHeight;if(canvasMemoryLimit&&requiredCanvasMemory>canvasMemoryLimit){const canvasScalar=Math.sqrt(canvasMemoryLimit)/Math.sqrt(requiredCanvasMemory);canvasWidth=Math.floor(canvasWidth*canvasScalar);canvasHeight=Math.floor(canvasHeight*canvasScalar)}const canvas=h(\"canvas\");canvas.width=canvasWidth;canvas.height=canvasHeight;const ctx=canvas.getContext(\"2d\");ctx.drawImage(image,0,0,canvasWidth,canvasHeight);return canvas};var imageToCanvasSafe=(image,options)=>new Promise((resolve,reject)=>{const ready=()=>resolve(imageToCanvas(image,options));if(image.complete&&image.width){ready()}else{image.onload=ready;image.onerror=reject}});var blobToCanvas=async(imageBlob,canvasMemoryLimit)=>{const imageElement=h(\"img\",{src:URL.createObjectURL(imageBlob)});const canvas=await imageToCanvasSafe(imageElement,{canvasMemoryLimit:canvasMemoryLimit});URL.revokeObjectURL(imageElement.src);return canvas};var canCreateImageBitmap=()=>\"createImageBitmap\"in window;var canCreateOffscreenCanvas=()=>\"OffscreenCanvas\"in window;var isSVGFile=blob=>/svg/.test(blob.type);var getUniqueId=()=>Math.random().toString(36).substr(2,9);var functionToBlob=fn=>new Blob([\"(\",typeof fn===\"function\"?fn.toString():fn,\")()\"],{type:\"application/javascript\"});const wrapFunction=fn=>`function () {self.onmessage = function (message) {(${fn.toString()}).apply(null, message.data.content.concat([function (err, response) {\n response = response || {};\n const transfer = 'data' in response ? [response.data.buffer] : 'width' in response ? [response] : [];\n return self.postMessage({ id: message.data.id, content: response, error: err }, transfer);\n}]))}}`;const workerPool=new Map;var thread=(fn,args,transferList)=>new Promise((resolve,reject)=>{const workerKey=fn.toString();let pooledWorker=workerPool.get(workerKey);if(!pooledWorker){const workerFn=wrapFunction(fn);const url=URL.createObjectURL(functionToBlob(workerFn));const messages=new Map;const worker=new Worker(url);pooledWorker={url:url,worker:worker,messages:messages,terminationTimeout:undefined,terminate:()=>{clearTimeout(pooledWorker.terminationTimeout);pooledWorker.worker.terminate();URL.revokeObjectURL(url);workerPool.delete(workerKey)}};worker.onmessage=function(e){const{id,content,error}=e.data;clearTimeout(pooledWorker.terminationTimeout);pooledWorker.terminationTimeout=setTimeout(()=>{if(messages.size>0)return;pooledWorker.terminate()},500);if(!messages.has(id))return;const message=messages.get(id);messages.delete(id);error!=null?message.reject(error):message.resolve(content)};workerPool.set(workerKey,pooledWorker)}const messageId=getUniqueId();pooledWorker.messages.set(messageId,{resolve:resolve,reject:reject});pooledWorker.worker.postMessage({id:messageId,content:args},transferList)});var blobToImageData=async(imageBlob,canvasMemoryLimit)=>{let imageData;if(canCreateImageBitmap()&&!isSVGFile(imageBlob)&&canCreateOffscreenCanvas()){try{imageData=await thread((file,canvasMemoryLimit,done)=>{createImageBitmap(file).then(bitmap=>{let canvasWidth=bitmap.width;let canvasHeight=bitmap.height;const requiredCanvasMemory=canvasWidth*canvasHeight;if(canvasMemoryLimit&&requiredCanvasMemory>canvasMemoryLimit){const canvasScalar=Math.sqrt(canvasMemoryLimit)/Math.sqrt(requiredCanvasMemory);canvasWidth=Math.floor(canvasWidth*canvasScalar);canvasHeight=Math.floor(canvasHeight*canvasScalar)}const canvas=new OffscreenCanvas(canvasWidth,canvasHeight);const ctx=canvas.getContext(\"2d\");ctx.drawImage(bitmap,0,0,canvasWidth,canvasHeight);const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);done(null,imageData)}).catch(err=>{done(err)})},[imageBlob,canvasMemoryLimit])}catch(err){}}if(!imageData||!imageData.width){const canvas=await blobToCanvas(imageBlob,canvasMemoryLimit);imageData=canvasToImageData(canvas);releaseCanvas(canvas)}return imageData};var canvasToBlob=(canvas,mimeType=undefined,quality=undefined)=>new Promise((resolve,reject)=>{try{canvas.toBlob(blob=>{resolve(blob)},mimeType,quality)}catch(err){reject(err)}});var imageDataToBlob=async(imageData,mimeType,quality)=>{const canvas=await imageDataToCanvas(imageData);const blob=await canvasToBlob(canvas,mimeType,quality);releaseCanvas(canvas);return blob};var blobWriteSection=(blob,section,slice=[0,blob.size])=>{if(!section)return blob;return new Blob([section,blob.slice(...slice)],{type:blob.type})};var getExtensionFromMimeType=mimeType=>(mimeType.match(/\\/([a-z]+)/)||[])[1];var getFilenameWithoutExtension=name=>name.substr(0,name.lastIndexOf(\".\"))||name;var getExtensionFromFilename=filename=>filename.split(\".\").pop();const ImageExtensionsRegex=/avif|bmp|gif|jpg|jpeg|jpe|jif|jfif|png|svg|tiff|webp/;var getMimeTypeFromExtension=ext=>{if(!ImageExtensionsRegex.test(ext))return\"\";return\"image/\"+(/jfif|jif|jpe|jpg/.test(ext)?\"jpeg\":ext===\"svg\"?\"svg+xml\":ext)};var getMimeTypeFromFilename=name=>name&&getMimeTypeFromExtension(getExtensionFromFilename(name).toLowerCase());var matchFilenameToMimeType=(filename,mimeType)=>{const fileMimeType=getMimeTypeFromFilename(filename);if(fileMimeType===mimeType)return filename;const targetMimeTypeExtension=getExtensionFromMimeType(mimeType)||fileMimeType;return`${getFilenameWithoutExtension(filename)}.${targetMimeTypeExtension}`};var blobToFile=(blob,filename,mimetype)=>{const lastModified=(new Date).getTime();const blobHasMimeType=blob.type.length&&!/null|text/.test(blob.type);const blobMimeType=blobHasMimeType?blob.type:mimetype;const name=matchFilenameToMimeType(filename,blobMimeType);try{return new(getNativeAPIRef(\"File\"))([blob],name,{lastModified:lastModified,type:blobHasMimeType?blob.type:blobMimeType})}catch(err){const file=blobHasMimeType?blob.slice():blob.slice(0,blob.size,blobMimeType);file.lastModified=lastModified;file.name=name;return file}};var getAspectRatio=(w,h)=>w/h;var passthrough=v=>v;const PI=Math.PI;const HALF_PI=Math.PI/2;const QUART_PI=HALF_PI/2;var isRotatedSideways=a=>{const rotationLimited=Math.abs(a)%Math.PI;return rotationLimited>QUART_PI&&rotationLimitedpivot+(value-pivot)*scalar;const ellipseCreateFromRect=rect=>({x:rect.x+rect.width*.5,y:rect.y+rect.height*.5,rx:rect.width*.5,ry:rect.height*.5});const vectorCreateEmpty=()=>vectorCreate(0,0);const vectorCreate=(x,y)=>({x:x,y:y});const vectorCreateFromSize=size=>vectorCreate(size.width,size.height);const vectorCreateFromAny=obj=>vectorCreate(obj.x,obj.y);const vectorCreateFromPointerEvent=e=>vectorCreate(e.pageX,e.pageY);const vectorCreateFromPointerEventOffset=e=>vectorCreate(e.offsetX,e.offsetY);const vectorClone=v=>vectorCreate(v.x,v.y);const vectorInvert=v=>{v.x=-v.x;v.y=-v.y;return v};const vectorPerpendicular=v=>{const x=v.x;v.x=-v.y;v.y=x;return v};const vectorRotate=(v,radians,pivot=vectorCreateEmpty())=>{const cos=Math.cos(radians);const sin=Math.sin(radians);const tx=v.x-pivot.x;const ty=v.y-pivot.y;v.x=pivot.x+cos*tx-sin*ty;v.y=pivot.y+sin*tx+cos*ty;return v};const vectorLength=v=>Math.sqrt(v.x*v.x+v.y*v.y);const vectorNormalize=v=>{const length=Math.sqrt(v.x*v.x+v.y*v.y);if(length===0)return vectorCreateEmpty();v.x/=length;v.y/=length;return v};const vectorAngle=v=>Math.atan2(v.y,v.x);const vectorAngleBetween=(a,b)=>Math.atan2(b.y-a.y,b.x-a.x);const vectorEqual=(a,b)=>a.x===b.x&&a.y===b.y;const vectorApply=(v,fn)=>{v.x=fn(v.x);v.y=fn(v.y);return v};const vectorAdd=(a,b)=>{a.x+=b.x;a.y+=b.y;return a};const vectorSubtract=(a,b)=>{a.x-=b.x;a.y-=b.y;return a};const vectorMultiply=(v,f)=>{v.x*=f;v.y*=f;return v};const vectorDot=(a,b)=>a.x*b.x+a.y*b.y;const vectorDistanceSquared=(a,b=vectorCreateEmpty())=>{const x=a.x-b.x;const y=a.y-b.y;return x*x+y*y};const vectorDistance=(a,b=vectorCreateEmpty())=>Math.sqrt(vectorDistanceSquared(a,b));const vectorCenter=v=>{let x=0;let y=0;v.forEach(v=>{x+=v.x;y+=v.y});return vectorCreate(x/v.length,y/v.length)};const vectorsFlip=(points,flipX,flipY,cx,cy)=>{points.forEach(point=>{point.x=flipX?cx-(point.x-cx):point.x;point.y=flipY?cy-(point.y-cy):point.y});return points};const vectorsRotate=(points,angle,cx,cy)=>{const s=Math.sin(angle);const c=Math.cos(angle);points.forEach(p=>{p.x-=cx;p.y-=cy;const rx=p.x*c-p.y*s;const ry=p.x*s+p.y*c;p.x=cx+rx;p.y=cy+ry});return points};const toSize=(width,height)=>({width:width,height:height});const sizeClone=size=>toSize(size.width,size.height);const sizeCreateFromAny=obj=>toSize(obj.width,obj.height);const sizeCreateFromRect=r=>toSize(r.width,r.height);const sizeCreateFromArray=a=>toSize(a[0],a[1]);const sizeCreateFromImageNaturalSize=image=>toSize(image.naturalWidth,image.naturalHeight);const sizeCreateFromElement=element=>{if(/img/i.test(element.nodeName)){return sizeCreateFromImageNaturalSize(element)}return sizeCreateFromAny(element)};const sizeCreate=(width,height)=>toSize(width,height);const sizeEqual=(a,b,format=passthrough)=>format(a.width)===format(b.width)&&format(a.height)===format(b.height);const sizeScale=(size,scalar)=>{size.width*=scalar;size.height*=scalar;return size};const sizeCenter=size=>vectorCreate(size.width*.5,size.height*.5);const sizeRotate=(size,radians)=>{const r=Math.abs(radians);const cos=Math.cos(r);const sin=Math.sin(r);const w=cos*size.width+sin*size.height;const h=sin*size.width+cos*size.height;size.width=w;size.height=h;return size};const sizeTurn=(size,radians)=>{const w=size.width;const h=size.height;if(isRotatedSideways(radians)){size.width=h;size.height=w}return size};const sizeContains=(a,b)=>a.width>=b.width&&a.height>=b.height;const sizeApply=(size,fn)=>{size.width=fn(size.width);size.height=fn(size.height);return size};const sizeHypotenuse=size=>Math.sqrt(size.width*size.width+size.height*size.height);const sizeMin=(a,b)=>sizeCreate(Math.min(a.width,b.width),Math.min(a.height,b.height));const lineCreate=(start,end)=>({start:start,end:end});const lineClone=line=>lineCreate(vectorClone(line.start),vectorClone(line.end));const lineExtend=(line,amount)=>{if(amount===0)return line;const v=vectorCreate(line.start.x-line.end.x,line.start.y-line.end.y);const n=vectorNormalize(v);const m=vectorMultiply(n,amount);line.start.x+=m.x;line.start.y+=m.y;line.end.x-=m.x;line.end.y-=m.y;return line};const lineMultiply=(line,amount)=>{if(amount===0)return line;const v=vectorCreate(line.start.x-line.end.x,line.start.y-line.end.y);const n=vectorNormalize(v);const m=vectorMultiply(n,amount);line.end.x+=m.x;line.end.y+=m.y;return line};const lineExtrude=({start,end},amount)=>{if(amount===0)return[vectorCreate(start.x,start.y),vectorCreate(start.x,start.y),vectorCreate(end.x,end.y),vectorCreate(end.x,end.y)];const a=Math.atan2(end.y-start.y,end.x-start.x);const sina=Math.sin(a)*amount;const cosa=Math.cos(a)*amount;return[vectorCreate(sina+start.x,-cosa+start.y),vectorCreate(-sina+start.x,cosa+start.y),vectorCreate(-sina+end.x,cosa+end.y),vectorCreate(sina+end.x,-cosa+end.y)]};const CornerSigns=[vectorCreate(-1,-1),vectorCreate(-1,1),vectorCreate(1,1),vectorCreate(1,-1)];const toRect=(x,y,width,height)=>({x:x,y:y,width:width,height:height});const rectClone=rect=>toRect(rect.x,rect.y,rect.width,rect.height);const rectCreateEmpty=()=>toRect(0,0,0,0);const rectCreateFromDimensions=(width,height)=>toRect(0,0,width,height);const rectCreateFromSize=size=>toRect(0,0,size.width,size.height);const rectCreateFromAny=obj=>toRect(obj.x||0,obj.y||0,obj.width||0,obj.height||0);const rectCreateFromPoints=(...args)=>{const pts=Array.isArray(args[0])?args[0]:args;let xMin=pts[0].x;let xMax=pts[0].x;let yMin=pts[0].y;let yMax=pts[0].y;pts.forEach(point=>{xMin=Math.min(xMin,point.x);xMax=Math.max(xMax,point.x);yMin=Math.min(yMin,point.y);yMax=Math.max(yMax,point.y)});return toRect(xMin,yMin,xMax-xMin,yMax-yMin)};const rectCreateFromEllipse=ellipse=>rectCreate(ellipse.x-ellipse.rx,ellipse.y-ellipse.ry,ellipse.rx*2,ellipse.ry*2);const rectCreateWithCenter=(center,size)=>toRect(center.x-size.width*.5,center.y-size.height*.5,size.width,size.height);const rectCreate=(x,y,width,height)=>toRect(x,y,width,height);const rectCenter=rect=>vectorCreate(rect.x+rect.width*.5,rect.y+rect.height*.5);const rectTranslate=(rect,t)=>{rect.x+=t.x;rect.y+=t.y;return rect};const rectScale=(rect,scalar,pivot)=>{pivot=pivot||rectCenter(rect);rect.x=scalar*(rect.x-pivot.x)+pivot.x;rect.y=scalar*(rect.y-pivot.y)+pivot.y;rect.width=scalar*rect.width;rect.height=scalar*rect.height;return rect};const rectMultiply=(rect,factor)=>{rect.x*=factor;rect.y*=factor;rect.width*=factor;rect.height*=factor;return rect};const rectDivide=(rect,factor)=>{rect.x/=factor;rect.y/=factor;rect.width/=factor;rect.height/=factor;return rect};const rectSubtract=(a,b)=>{a.x-=b.x;a.y-=b.y;a.width-=b.width;a.height-=b.height;return a};const rectAdd=(a,b)=>{a.x+=b.x;a.y+=b.y;a.width+=b.width;a.height+=b.height;return a};const rectEqual=(a,b,format=passthrough)=>format(a.x)===format(b.x)&&format(a.y)===format(b.y)&&format(a.width)===format(b.width)&&format(a.height)===format(b.height);const rectAspectRatio=rect=>getAspectRatio(rect.width,rect.height);const rectUpdate=(rect,x,y,width,height)=>{rect.x=x;rect.y=y;rect.width=width;rect.height=height;return rect};const rectUpdateWithRect=(a,b)=>{a.x=b.x;a.y=b.y;a.width=b.width;a.height=b.height;return a};const rectRotate=(rect,radians,pivot)=>{if(!pivot)pivot=rectCenter(rect);return rectGetCorners(rect).map(vertex=>vectorRotate(vertex,radians,pivot))};const rectCenterRect=(a,b)=>toRect(a.width*.5-b.width*.5,a.height*.5-b.height*.5,b.width,b.height);const rectContainsPoint=(rect,point)=>{if(point.xrect.x+rect.width)return false;if(point.y>rect.y+rect.height)return false;return true};const rectCoverRect=(rect,aspectRatio,offset=vectorCreateEmpty())=>{if(rect.width===0||rect.height===0)return rectCreateEmpty();const inputAspectRatio=rectAspectRatio(rect);if(!aspectRatio)aspectRatio=inputAspectRatio;let width=rect.width;let height=rect.height;if(aspectRatio>inputAspectRatio){width=height*aspectRatio}else{height=width/aspectRatio}return toRect(offset.x+(rect.width-width)*.5,offset.y+(rect.height-height)*.5,width,height)};const rectContainRect=(rect,aspectRatio=rectAspectRatio(rect),offset=vectorCreateEmpty())=>{if(rect.width===0||rect.height===0)return rectCreateEmpty();let width=rect.width;let height=width/aspectRatio;if(height>rect.height){height=rect.height;width=height*aspectRatio}return toRect(offset.x+(rect.width-width)*.5,offset.y+(rect.height-height)*.5,width,height)};const rectToBounds=rect=>[Math.min(rect.y,rect.y+rect.height),Math.max(rect.x,rect.x+rect.width),Math.max(rect.y,rect.y+rect.height),Math.min(rect.x,rect.x+rect.width)];const rectGetCorners=rect=>[vectorCreate(rect.x,rect.y),vectorCreate(rect.x+rect.width,rect.y),vectorCreate(rect.x+rect.width,rect.y+rect.height),vectorCreate(rect.x,rect.y+rect.height)];const rectApply=(rect,fn)=>{if(!rect)return;rect.x=fn(rect.x);rect.y=fn(rect.y);rect.width=fn(rect.width);rect.height=fn(rect.height);return rect};const rectApplyPerspective=(rect,perspective,pivot=rectCenter(rect))=>rectGetCorners(rect).map((corner,index)=>{const sign=CornerSigns[index];return vectorCreate(scale(corner.x,1+sign.x*perspective.x,pivot.x),scale(corner.y,1+sign.y*perspective.y,pivot.y))});const rectNormalizeOffset=rect=>{rect.x=0;rect.y=0;return rect};const convexPolyCentroid=vertices=>{const first=vertices[0];const last=vertices[vertices.length-1];vertices=vectorEqual(first,last)?vertices:[...vertices,first];let twiceArea=0;let i=0;let x=0;let y=0;let fx=first.x;let fy=first.y;let a;let b;let f;const l=vertices.length;for(;il-1?0:i+1];f=(a.y-fy)*(b.x-fx)-(b.y-fy)*(a.x-fx);twiceArea+=f;x+=(a.x+b.x-2*fx)*f;y+=(a.y+b.y-2*fy)*f}f=twiceArea*3;return vectorCreate(fx+x/f,fy+y/f)};const lineLineIntersection=(a,b)=>getLineLineIntersectionPoint(a.start,a.end,b.start,b.end);const getLineLineIntersectionPoint=(a,b,c,d)=>{const denominator=(d.y-c.y)*(b.x-a.x)-(d.x-c.x)*(b.y-a.y);if(denominator===0)return undefined;const uA=((d.x-c.x)*(a.y-c.y)-(d.y-c.y)*(a.x-c.x))/denominator;const uB=((b.x-a.x)*(a.y-c.y)-(b.y-a.y)*(a.x-c.x))/denominator;if(uA<0||uA>1||uB<0||uB>1)return undefined;return vectorCreate(a.x+uA*(b.x-a.x),a.y+uA*(b.y-a.y))};const linePointsIntersection=(line,points)=>{const l=points.length;const intersections=[];for(let i=0;i{let i=0;let j=0;let c=false;const l=vertices.length;for(i=0,j=l-1;ipoint.y!=vertices[j].y>point.y&&point.x<(vertices[j].x-vertices[i].x)*(point.y-vertices[i].y)/(vertices[j].y-vertices[i].y)+vertices[i].x){c=!c}}return c};const polyIntersectsWithPoly=(a,b)=>{const bContainsCornerOfA=a.find(corner=>pointInPoly$1(corner,b));if(bContainsCornerOfA)return true;const aContainsCornerOfB=b.find(corner=>pointInPoly$1(corner,a));if(aContainsCornerOfB)return true;return false};const quadLines=vertices=>{const arr=[];for(let i=0;i{const points=[];for(let i=0;i{const imageRect=rectCreateFromSize(imageSize);const imageCenter=rectCenter(imageRect);const imageTransformedVertices=rectRotate(imageRect,imageRotation,imageCenter);return rectNormalizeOffset(rectCreateFromPoints(imageTransformedVertices))};var isElement=(v,name)=>v instanceof HTMLElement&&(name?new RegExp(`^${name}$`,\"i\").test(v.nodeName):true);var isFile=v=>v instanceof File;var canvasToFile=async(canvas,mimeType,quality)=>{const blob=await canvasToBlob(canvas,mimeType,quality);return blobToFile(blob,\"canvas\")};var getFilenameFromURL=url=>url.split(\"/\").pop().split(/\\?|\\#/).shift();const supportsReplaceChildren=isBrowser()&&!!Node.prototype.replaceChildren;const fn$1=supportsReplaceChildren?(parent,newChildren)=>parent.replaceChildren(newChildren):(parent,newChildren)=>{while(parent.lastChild){parent.removeChild(parent.lastChild)}if(newChildren!==undefined){parent.append(newChildren)}};const container=isBrowser()&&h(\"div\",{class:\"PinturaMeasure\",style:\"pointer-events:none;left:0;top:0;width:0;height:0;contain:strict;overflow:hidden;position:absolute;\"});let timeoutId;var appendForMeasuring=element=>{fn$1(container,element);if(!container.parentNode)document.body.append(container);clearTimeout(timeoutId);timeoutId=setTimeout(()=>{container.remove()},500);return element};let isSafari=null;var isSafari$1=()=>{if(isSafari===null)isSafari=isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return isSafari};var getImageElementSize=imageElement=>new Promise((resolve,reject)=>{let shouldAutoRemove=false;if(!imageElement.parentNode&&isSafari$1()){shouldAutoRemove=true;imageElement.style.cssText=`position:absolute;visibility:hidden;pointer-events:none;left:0;top:0;width:0;height:0;`;appendForMeasuring(imageElement)}const measure=()=>{const width=imageElement.naturalWidth;const height=imageElement.naturalHeight;const hasSize=width&&height;if(!hasSize)return;if(shouldAutoRemove)imageElement.remove();clearInterval(intervalId);resolve({width:width,height:height})};imageElement.onerror=err=>{clearInterval(intervalId);reject(err)};const intervalId=setInterval(measure,1);measure()});var getImageSize=async image=>{let imageElement=image;if(!imageElement.src){imageElement=new Image;imageElement.src=isString(image)?image:URL.createObjectURL(image)}let size;try{size=await getImageElementSize(imageElement)}finally{isFile(image)&&URL.revokeObjectURL(imageElement.src)}return size};const awaitComplete=image=>new Promise((resolve,reject)=>{if(image.complete)return resolve(image);image.onload=()=>resolve(image);image.onerror=reject});var imageToFile=async imageElement=>{try{const size=await getImageSize(imageElement);const image=await awaitComplete(imageElement);const canvas=document.createElement(\"canvas\");canvas.width=size.width;canvas.height=size.height;const ctx=canvas.getContext(\"2d\");ctx.drawImage(image,0,0);const blob=await canvasToBlob(canvas);return blobToFile(blob,getFilenameFromURL(image.src))}catch(err){throw err}};var isDataURI=str=>/^data:/.test(str);var createProgressEvent=(loaded=0,lengthComputable=true)=>new(getNativeAPIRef(\"ProgressEvent\"))(\"progress\",{loaded:loaded*100,total:100,lengthComputable:lengthComputable});var isImage=file=>/^image/.test(file.type);var dataURIToFile=async(dataURI,filename=\"data-uri\",onprogress=noop$1)=>{onprogress(createProgressEvent(0));const res=await fetch(dataURI);onprogress(createProgressEvent(.33));const blob=await res.blob();let mimeType;if(!isImage(blob))mimeType=`image/${dataURI.includes(\",/9j/\")?\"jpeg\":\"png\"}`;onprogress(createProgressEvent(.66));const file=blobToFile(blob,filename,mimeType);onprogress(createProgressEvent(1));return file};var getResponseHeader=(xhr,header,parse=header=>header)=>xhr.getAllResponseHeaders().indexOf(header)>=0?parse(xhr.getResponseHeader(header)):undefined;var getFilenameFromContentDisposition=header=>{if(!header)return null;const matches=header.split(/filename=|filename\\*=.+''/).splice(1).map(name=>name.trim().replace(/^[\"']|[;\"']{0,2}$/g,\"\")).filter(name=>name.length);return matches.length?decodeURI(matches[matches.length-1]):null};const EditorErrorCode={URL_REQUEST:\"URL_REQUEST\",DOCTYPE_MISSING:\"DOCTYPE_MISSING\"};class EditorError extends Error{constructor(message,code,metadata){super(message);this.name=\"EditorError\";this.code=code;this.metadata=metadata}}var fetchFile=(url,onprogress)=>new Promise((resolve,reject)=>{const handleError=()=>reject(new EditorError(\"Error fetching image\",EditorErrorCode.URL_REQUEST,xhr));const xhr=new XMLHttpRequest;xhr.onprogress=onprogress;xhr.onerror=handleError,xhr.onload=()=>{if(!xhr.response||xhr.status>=300||xhr.status<200)return handleError();const mimetype=getResponseHeader(xhr,\"Content-Type\");const filename=getResponseHeader(xhr,\"Content-Disposition\",getFilenameFromContentDisposition)||getFilenameFromURL(url);resolve(blobToFile(xhr.response,filename,mimetype||getMimeTypeFromFilename(filename)))};xhr.open(\"GET\",url);xhr.responseType=\"blob\";xhr.send()});var urlToFile=(url,onprogress)=>{if(isDataURI(url))return dataURIToFile(url,undefined,onprogress);return fetchFile(url,onprogress)};var isBlob=v=>v instanceof Blob&&!(v instanceof File);var srcToFile=async(src,onprogress)=>{if(isFile(src)||isBlob(src))return src;else if(isString(src))return await urlToFile(src,onprogress);else if(isElement(src,\"canvas\"))return await canvasToFile(src);else if(isElement(src,\"img\"))return await imageToFile(src);else{throw new EditorError(\"Invalid image source\",\"invalid-image-source\")}};let result$9=null;var isMac=()=>{if(result$9===null)result$9=isBrowser()&&/^mac/i.test(navigator.platform);return result$9};var isUserAgent=test=>isBrowser()?RegExp(test).test(window.navigator.userAgent):undefined;let result$8=null;var isIOS=()=>{if(result$8===null)result$8=isBrowser()&&(isUserAgent(/iPhone|iPad|iPod/)||isMac()&&navigator.maxTouchPoints>=1);return result$8};var orientImageSize=async(size,orientation=1)=>{if(await canOrientImages()||isIOS())return size;if(orientation<5)return size;return sizeCreate(size.height,size.width)};var isJPEG=file=>/jpeg/.test(file.type);var isPlainObject=obj=>typeof obj==\"object\"&&obj.constructor==Object;var stringify=value=>!isPlainObject(value)?value:JSON.stringify(value);var post=(url,dataset,options)=>new Promise((resolve,reject)=>{const{token={},beforeSend=noop$1,onprogress=noop$1}=options;token.cancel=()=>request.abort();const request=new XMLHttpRequest;request.upload.onprogress=onprogress;request.onload=()=>request.status>=200&&request.status<300?resolve(request):reject(request);request.onerror=()=>reject(request);request.ontimeout=()=>reject(request);request.open(\"POST\",encodeURI(url));beforeSend(request);request.send(dataset.reduce((formData,args)=>{formData.append(...args.map(stringify));return formData},new FormData))});var ctxRotate=(ctx,rotation=0,pivot)=>{if(rotation===0)return ctx;ctx.translate(pivot.x,pivot.y);ctx.rotate(rotation);ctx.translate(-pivot.x,-pivot.y);return ctx};var ctxTranslate=(ctx,x,y)=>{ctx.translate(x,y);return ctx};var ctxScale=(ctx,x,y)=>{ctx.scale(x,y);return ctx};var cropImageData=async(imageData,options={})=>{const{flipX,flipY,rotation,crop}=options;const imageSize=sizeCreateFromAny(imageData);const shouldFlip=flipX||flipY;const shouldRotate=!!rotation;const cropDefined=crop&&(crop.x||crop.y||crop.width||crop.height);const cropCoversImage=cropDefined&&rectEqual(crop,rectCreateFromSize(imageSize));const shouldCrop=cropDefined&&!cropCoversImage;if(!shouldFlip&&!shouldRotate&&!shouldCrop)return imageData;let imageDataOut;let image=h(\"canvas\",{width:imageData.width,height:imageData.height});image.getContext(\"2d\").putImageData(imageData,0,0);if(shouldFlip){const ctx=h(\"canvas\",{width:image.width,height:image.height}).getContext(\"2d\");ctxScale(ctx,flipX?-1:1,flipY?-1:1);ctx.drawImage(image,flipX?-image.width:0,flipY?-image.height:0);ctx.restore();releaseCanvas(image);image=ctx.canvas}if(shouldRotate){const outputSize=sizeApply(sizeCreateFromRect(rectCreateFromPoints(rectRotate(rectCreateFromAny(image),rotation))),Math.floor);const ctx=h(\"canvas\",{width:crop.width,height:crop.height}).getContext(\"2d\");ctxTranslate(ctx,-crop.x,-crop.y);ctxRotate(ctx,rotation,sizeCenter(outputSize));ctx.drawImage(image,(outputSize.width-image.width)*.5,(outputSize.height-image.height)*.5);ctx.restore();releaseCanvas(image);image=ctx.canvas}else if(shouldCrop){const ctx=image.getContext(\"2d\");imageDataOut=ctx.getImageData(crop.x,crop.y,crop.width,crop.height);releaseCanvas(image);return imageDataOut}const ctx=image.getContext(\"2d\");imageDataOut=ctx.getImageData(0,0,image.width,image.height);releaseCanvas(image);return imageDataOut};var resizeTransform=(options,done)=>{const{imageData,width,height}=options;const inputWidth=imageData.width;const inputHeight=imageData.height;const outputWidth=Math.round(width);const outputHeight=Math.round(height);const inputData=imageData.data;const outputData=new Uint8ClampedArray(outputWidth*outputHeight*4);const scaleX=inputWidth/outputWidth;const scaleY=inputHeight/outputHeight;const scaleXHalf=Math.ceil(scaleX*.5);const scaleYHalf=Math.ceil(scaleY*.5);for(let j=0;j1)continue;weight=2*w*w*w-3*w*w+1;if(weight<=0)continue;dx=4*(xx+yy*inputWidth);const ref=inputData[dx+3];a+=weight*ref;weightsAlpha+=weight;if(ref<255){weight=weight*ref/250}r+=weight*inputData[dx];g+=weight*inputData[dx+1];b+=weight*inputData[dx+2];weights+=weight}}outputData[x2]=r/weights;outputData[x2+1]=g/weights;outputData[x2+2]=b/weights;outputData[x2+3]=a/weightsAlpha}}done(null,{data:outputData,width:outputWidth,height:outputHeight})};var imageDataObjectToImageData=obj=>{if(obj instanceof ImageData){return obj}let imageData;try{imageData=new ImageData(obj.width,obj.height)}catch(err){const canvas=h(\"canvas\");imageData=canvas.getContext(\"2d\").createImageData(obj.width,obj.height)}imageData.data.set(obj.data);return imageData};var resizeImageData=async(imageData,options={},resizeImageData)=>{const{width,height,fit,upscale}=options;if(!width&&!height)return imageData;let targetWidth=width;let targetHeight=height;if(!width){targetWidth=height}else if(!height){targetHeight=width}if(fit!==\"force\"){const scalarWidth=targetWidth/imageData.width;const scalarHeight=targetHeight/imageData.height;let scalar=1;if(fit===\"cover\"){scalar=Math.max(scalarWidth,scalarHeight)}else if(fit===\"contain\"){scalar=Math.min(scalarWidth,scalarHeight)}if(scalar>1&&upscale===false)return imageData;targetWidth=Math.round(imageData.width*scalar);targetHeight=Math.round(imageData.height*scalar)}if(imageData.width===targetWidth&&imageData.height===targetHeight)return imageData;if(resizeImageData)return resizeImageData(imageData,targetWidth,targetHeight);imageData=await thread(resizeTransform,[{imageData:imageData,width:targetWidth,height:targetHeight}],[imageData.data.buffer]);return imageDataObjectToImageData(imageData)};var colorEffect=(options,done)=>{const{imageData,matrix}=options;if(!matrix)return done(null,imageData);const outputData=new Uint8ClampedArray(imageData.width*imageData.height*4);const data=imageData.data;const l=data.length;const m11=matrix[0];const m12=matrix[1];const m13=matrix[2];const m14=matrix[3];const m15=matrix[4];const m21=matrix[5];const m22=matrix[6];const m23=matrix[7];const m24=matrix[8];const m25=matrix[9];const m31=matrix[10];const m32=matrix[11];const m33=matrix[12];const m34=matrix[13];const m35=matrix[14];const m41=matrix[15];const m42=matrix[16];const m43=matrix[17];const m44=matrix[18];const m45=matrix[19];let index=0;let r=0;let g=0;let b=0;let a=0;let mr=0;let mg=0;let mb=0;let ma=0;let or=0;let og=0;let ob=0;for(;index{const{imageData,matrix}=options;if(!matrix)return done(null,imageData);let kernelWeight=matrix.reduce((prev,curr)=>prev+curr);kernelWeight=kernelWeight<=0?1:kernelWeight;const inputWidth=imageData.width;const inputHeight=imageData.height;const inputData=imageData.data;let i=0;let x=0;let y=0;const side=Math.round(Math.sqrt(matrix.length));const sideHalf=Math.floor(side/2);let r=0,g=0,b=0,a=0,cx=0,cy=0,scy=0,scx=0,srcOff=0,weight=0;const outputData=new Uint8ClampedArray(inputWidth*inputHeight*4);for(y=0;y=inputHeight){scy=0}if(scx<0){scx=inputWidth-1}if(scx>=inputWidth){scx=0}srcOff=(scy*inputWidth+scx)*4;weight=matrix[cy*side+cx];r+=inputData[srcOff]*weight;g+=inputData[srcOff+1]*weight;b+=inputData[srcOff+2]*weight;a+=inputData[srcOff+3]*weight}}outputData[i]=r/kernelWeight;outputData[i+1]=g/kernelWeight;outputData[i+2]=b/kernelWeight;outputData[i+3]=a/kernelWeight;i+=4}}done(null,{data:outputData,width:inputWidth,height:inputHeight})};var vignetteEffect=(options,done)=>{let{imageData,strength}=options;if(!strength)return done(null,imageData);const outputData=new Uint8ClampedArray(imageData.width*imageData.height*4);const inputWidth=imageData.width;const inputHeight=imageData.height;const inputData=imageData.data;const dist=(x,y)=>{dx=x-cx;dy=y-cy;return Math.sqrt(dx*dx+dy*dy)};let x=0;let y=0;let cx=inputWidth*.5;let cy=inputHeight*.5;let dx;let dy;let dm=dist(0,0);let fr,fg,fb;let br,bg,bb,ba;let fa;let ca;const blend=(index,input,output,alpha)=>{br=input[index]/255;bg=input[index+1]/255;bb=input[index+2]/255;ba=input[index+3]/255;fa=1-alpha;ca=fa*ba+alpha;output[index]=(fa*ba*br+alpha*fr)/ca*255;output[index+1]=(fa*ba*bg+alpha*fg)/ca*255;output[index+2]=(fa*ba*bb+alpha*fb)/ca*255;output[index+3]=ca*255};if(strength>0){fr=0;fg=0;fb=0}else{strength=Math.abs(strength);fr=1;fg=1;fb=1}for(y=0;y{const{imageData,level,monochrome=false}=options;if(!level)return done(null,imageData);const outputData=new Uint8ClampedArray(imageData.width*imageData.height*4);const data=imageData.data;const l=data.length;let index=0;let r;let g;let b;const rand=()=>(-1+Math.random()*2)*255*level;const pixel=monochrome?()=>{const average=rand();return[average,average,average]}:()=>{return[rand(),rand(),rand()]};for(;index{const{imageData,level}=options;if(!level)return done(null,imageData);const outputData=new Uint8ClampedArray(imageData.width*imageData.height*4);const data=imageData.data;const l=data.length;let index=0;let r;let g;let b;for(;index{const l=matrix.length;let v;let s=l>=20?6:l>=16?5:3;for(let i=0;i{const{colorMatrix,convolutionMatrix,gamma:gammaLevel,noise:noiseLevel,vignette:vignetteStrength}=options;const filters=[];if(convolutionMatrix){filters.push([convolutionEffect,{matrix:convolutionMatrix.clarity}])}if(gammaLevel>0){filters.push([gammaEffect,{level:1/gammaLevel}])}if(colorMatrix&&!isIdentityMatrix(colorMatrix)){filters.push([colorEffect,{matrix:colorMatrix}])}if(noiseLevel>0||noiseLevel<0){filters.push([noiseEffect,{level:noiseLevel}])}if(vignetteStrength>0||vignetteStrength<0){filters.push([vignetteEffect,{strength:vignetteStrength}])}if(!filters.length)return imageData;const chain=(transforms,i)=>`(err, imageData) => {\n (${transforms[i][0].toString()})(Object.assign({ imageData: imageData }, filterInstructions[${i}]), \n ${transforms[i+1]?chain(transforms,i+1):\"done\"})\n }`;const filterChain=`function (options, done) {\n const filterInstructions = options.filterInstructions;\n const imageData = options.imageData;\n (${chain(filters,0)})(null, imageData)\n }`;imageData=await thread(filterChain,[{imageData:imageData,filterInstructions:filters.map(t=>t[1])}],[imageData.data.buffer]);return imageDataObjectToImageData(imageData)};var isNumber=v=>typeof v===\"number\";var isEmoji=str=>isString(str)&&str.match(/(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g)!==null;var hasProp=(obj,key)=>obj.hasOwnProperty(key);var isArray=arr=>Array.isArray(arr);var isApple=()=>isIOS()||isMac();var isWindows=()=>/^win/i.test(navigator.platform);let x=64;let y=102;let fontSize=112;let hasSetValues=false;var getEmojiSVG=(emoji,alt)=>{if(!hasSetValues&&isBrowser()){if(isWindows())y=103;if(isApple()){x=63.5;y=110;fontSize=123}hasSetValues=true}return`${emoji}`};var SVGToDataURL=svg=>`data:image/svg+xml,${svg.replace(\"<\",\"%3C\").replace(\">\",\"%3E\")}`;var isBinary=v=>v instanceof Blob;var toPercentage=(value,total)=>`${value/total*100}%`;var colorArrayToRGBA=color=>`rgba(${Math.round(color[0]*255)}, ${Math.round(color[1]*255)}, ${Math.round(color[2]*255)}, ${isNumber(color[3])?color[3]:1})`;var objectUID=obj=>Object.values(obj).join(\"_\");var timeout=(timeout=0)=>new Promise(resolve=>{setTimeout(resolve,timeout)});const isContextBlank=ctx=>{const buffer=new Uint32Array(ctx.getImageData(0,0,ctx.canvas.width,ctx.canvas.height).data.buffer);return!buffer.some(color=>color!==0)};const width=80;const height=80;const whenSVGSafeForDrawing=async(img,delay=0)=>{const canvas=h(\"canvas\",{width:width,height:height});const ctx=canvas.getContext(\"2d\");await timeout(delay);ctx.drawImage(img,0,0,width,height);if(isContextBlank(ctx)&&delay<=256)return await whenSVGSafeForDrawing(img,delay+16);return true};const safariDrawCache=new Map;var svgToImage=(svg,{safariCacheKey=\"*\"}={})=>new Promise((resolve,reject)=>{const img=new Image;img.onerror=reject;img.onload=()=>{if(!isSafari$1()||!svg.includes(\"@font-face\")||safariDrawCache.has(safariCacheKey))return resolve(img);whenSVGSafeForDrawing(img).then(()=>{safariDrawCache.set(safariCacheKey,true);resolve(img)})};img.src=\"data:image/svg+xml,\"+svg});var blobToDataURL=blob=>new Promise((resolve,reject)=>{const reader=new FileReader;reader.onerror=reject;reader.onload=()=>resolve(reader.result);reader.readAsDataURL(blob)});var pubsub=()=>{let subs=[];return{sub:(event,callback)=>{subs.push({event:event,callback:callback});return()=>subs=subs.filter(subscriber=>subscriber.event!==event||subscriber.callback!==callback)},pub:(event,value)=>{subs.filter(sub=>sub.event===event).forEach(sub=>sub.callback(value))}}};const TextPixelRatio=1;const TextPadding=32;const textGetInitialLineOffset=({fontSize=16,lineHeight=20}={})=>Math.max(0,fontSize-lineHeight)*.5;const textGetStyles=({color=[0,0,0],fontSize=16,fontFamily=\"sans-serif\",fontVariant=\"normal\",fontWeight=\"normal\",fontStyle=\"normal\",textAlign=\"left\",lineHeight=20})=>`font-size:${fontSize}px;font-style:${fontStyle};font-weight:${fontWeight};font-family:${fontFamily};font-variant:${fontVariant};line-height:${lineHeight}px;text-align:${textAlign};color:${colorArrayToRGBA(color)};`;const textGetContentEditableStyles=options=>{const{width,height}=options;const isAutoWidth=!width;const widthValue=isAutoWidth?\"auto\":`${width}px`;const heightValue=height?`${height}px`:\"auto\";const wordBreak=isAutoWidth?\"normal\":\"break-word\";const whiteSpace=isAutoWidth?\"nowrap\":\"pre-line\";const paddingTop=textGetInitialLineOffset(options);return`max-width:none;min-width:auto;width:${widthValue};height:${heightValue};margin-top:0;margin-bottom:0;padding-top:${paddingTop}px;word-break:${wordBreak};word-wrap:normal;white-space:${whiteSpace};overflow:visible;`};const TextMeasureCache=new Map;const textMeasure=(text=\"\",options)=>{const{width=0,fontSize,fontFamily,lineHeight,fontWeight,fontStyle,fontVariant}=options;const uid=objectUID({text:text,fontFamily:fontFamily,fontWeight:fontWeight,fontStyle:fontStyle,fontVariant:fontVariant,fontSize:fontSize,lineHeight:lineHeight,width:width});let measurement=TextMeasureCache.get(uid);if(measurement)return measurement;const endMarker=h(\"span\");const element=appendForMeasuring(h(\"pre\",{contenteditable:\"true\",spellcheck:\"false\",style:`pointer-events:none;visibility:hidden;position:absolute;left:0;top:0;${textGetStyles({fontFamily:fontFamily,fontWeight:fontWeight,fontStyle:fontStyle,fontVariant:fontVariant,fontSize:fontSize,lineHeight:lineHeight})};${textGetContentEditableStyles(options)}\"`,innerHTML:text},[endMarker]));const elementRect=element.getBoundingClientRect();const endMarkerRect=endMarker.getBoundingClientRect();measurement={size:sizeCreateFromAny(elementRect),lastCharPosition:vectorApply(vectorCreateFromAny(endMarkerRect),Math.round)};TextMeasureCache.set(uid,measurement);element.remove();return measurement};const TextSizeCache=new Map;const textToSize=(text=\"\",options)=>{const{width=0,height=0}=options;if(width&&height)return sizeCreate(width,height);const{fontSize,fontFamily,lineHeight,fontWeight,fontStyle,fontVariant}=options;const uid=objectUID({text:text,fontFamily:fontFamily,fontWeight:fontWeight,fontStyle:fontStyle,fontVariant:fontVariant,fontSize:fontSize,lineHeight:lineHeight,width:width});let size=TextSizeCache.get(uid);if(size)return size;const element=appendForMeasuring(h(\"pre\",{contenteditable:\"true\",spellcheck:\"false\",style:`pointer-events:none;visibility:hidden;position:absolute;${textGetStyles(options)};${textGetContentEditableStyles(options)}\"`,innerHTML:text},[h(\"span\")]));const rect=element.getBoundingClientRect();size=sizeCreateFromAny(rect);size.height+=Math.max(0,fontSize-lineHeight);TextSizeCache.set(uid,size);return size};const getPathFromURL=url=>url.pathname.split(\"/\").slice(0,-1).join(\"/\");const createStyleSheetLoader=url=>{const{sub,pub}=pubsub();let text;let error;fetch(url).then(res=>res.text()).then(txt=>{text=txt;pub(\"load\",text)}).catch(err=>{error=err;pub(\"error\",error)});return{sub:(event,cb)=>{if(event===\"load\"&&text)return cb(text);if(event===\"error\"&&error)return cb(error);sub(event,cb)}}};const StyleSheetLoaders=new Map;const loadStylesheet=url=>new Promise((resolve,reject)=>{let loader=StyleSheetLoaders.get(url);if(!loader){loader=createStyleSheetLoader(url);StyleSheetLoaders.set(url,loader)}loader.sub(\"load\",resolve);loader.sub(\"error\",reject)});const getRulesRemote=async src=>{let styleSheetContent;try{styleSheetContent=await loadStylesheet(src)}catch(err){return[]}const style=h(\"style\",{innerHTML:styleSheetContent,id:getUniqueId()});document.head.append(style);const tempStyleSheet=Array.from(document.styleSheets).find(styleSheet=>{const node=styleSheet.ownerNode;return node.id===style.id});style.remove();return Array.from(tempStyleSheet.cssRules)};const RemoteStyleSheetRulesCache=new Map;const filterFontFaceRules=rules=>rules.filter(rule=>rule instanceof CSSFontFaceRule);const getFontFaceRulesSafe=async(styleSheet,willRequestResource=()=>true)=>{if(RemoteStyleSheetRulesCache.has(styleSheet.href))return RemoteStyleSheetRulesCache.get(styleSheet.href);let rules;try{rules=filterFontFaceRules(Array.from(styleSheet.cssRules))}catch(err){const url=styleSheet.href;if(!willRequestResource(url)){RemoteStyleSheetRulesCache.set(url,[]);return[]}rules=filterFontFaceRules(await getRulesRemote(url));RemoteStyleSheetRulesCache.set(url,rules)}return rules};const getCSSPropertyValue=(rule,name)=>rule.style.getPropertyValue(name);const isMatchingFontRule=(rule,fontFamily)=>{const family=getCSSPropertyValue(rule,\"font-family\").replace(/^\"|\"$/g,\"\");return family==fontFamily};const getMatchingFontRule=(rules,fontFamily)=>{const res=[];for(const fontRule of rules){const isMatch=isMatchingFontRule(fontRule,fontFamily);if(!isMatch)continue;res.push(fontRule)}return res};const getDocumentStylesheetFontFaceRules=async willRequestResource=>{const styleSheets=Array.from(document.styleSheets).map(styleSheet=>getFontFaceRulesSafe(styleSheet,willRequestResource));const ruleSets=await Promise.all(styleSheets);const rules=[];ruleSets.forEach(ruleSet=>rules.push(...ruleSet));return rules};const getFontSources=async(fontFamily,willRequestResource)=>{const fontFaceRules=await getDocumentStylesheetFontFaceRules(willRequestResource);const matchingRules=getMatchingFontRule(fontFaceRules,fontFamily);if(!matchingRules.length)return[];return matchingRules.map(rule=>{const url=rule.parentStyleSheet.href&&new URL(rule.parentStyleSheet.href);const styleSheetPath=url?url.origin+getPathFromURL(url)+\"/\":\"\";const fontSources=rule.style.getPropertyValue(\"src\");const fontSrcFirst=fontSources.match(/url\\(\"?(.*?)\"?\\)/)[1];const fontProps=Array.from(rule.style).filter(prop=>prop!=\"src\").reduce((props,key)=>{props+=key+\":\"+getCSSPropertyValue(rule,key)+\";\";return props},\"\");return[/^http/.test(fontSrcFirst)?fontSrcFirst:styleSheetPath+fontSrcFirst,fontProps]})};const FontLocal=new Map;const FontCache=new Map;const getFontFaceEmbed=async(fontFamily,willRequestResource)=>{if(FontLocal.get(fontFamily))return;let fontStyles=FontCache.get(fontFamily);if(!fontStyles){const fontSources=await getFontSources(fontFamily,willRequestResource);if(!fontSources.length){FontLocal.set(fontFamily,true);return}const fontFaces=[];for(const[fontSource,fontProps]of fontSources){const blob=await fetch(fontSource).then(res=>res.blob());const dataType=blob.type.split(\"/\")[1]||\"woff2\";const dataURL=await blobToDataURL(blob);fontFaces.push(`@font-face { src:url(${dataURL}) format('${dataType}');${fontProps};font-display:block; }`)}fontStyles=fontFaces.join(\"\");FontCache.set(fontFamily,fontStyles)}return fontStyles};var textToImage=async(text=\"\",options)=>{if(!text.length)return;const{imageWidth=300,imageHeight=150,paddingLeft=TextPadding,paddingRight=TextPadding,fontFamily,willRequestResource}=options;const width=(imageWidth+paddingLeft+paddingRight)*TextPixelRatio;const height=imageHeight*TextPixelRatio;const textStyles=textGetStyles(options);const textContentEditableStyles=textGetContentEditableStyles(options);const fontEmbed=await getFontFaceEmbed(fontFamily,willRequestResource);const textEncoded=text.replace(/&/g,\"&\").replace(/#/g,\"%23\").replace(/
/g,\"
\").replace(/\\n/g,\"
\");const svg=`
${fontEmbed?``:\"\"}
${textEncoded}
`;return svgToImage(svg,{safariCacheKey:fontFamily})};var fixPrecision=(value,precision=12)=>parseFloat(value.toFixed(precision));const shapeEqual=(a,b)=>{return JSON.stringify(a)===JSON.stringify(b)};const shapeShallowCopy=shape=>{return{...shape}};const shapeDeepCopy=shape=>{const shapeShallowCopy={...shape};const shapeDeepCopy=deepCopy(shapeShallowCopy);return shapeDeepCopy};const getContextSize=(context,size={})=>{const contextAspectRatio=rectAspectRatio(context);let xOut;let yOut;const xIn=size.width||size.rx;const yIn=size.height||size.ry;if(xIn&&yIn)return sizeClone(size);if(xIn||yIn){xOut=parseFloat(xIn||Number.MAX_SAFE_INTEGER);yOut=parseFloat(yIn||Number.MAX_SAFE_INTEGER);const min=Math.min(xOut,yOut);if(isString(xIn)||isString(yIn)){xOut=`${min}%`;yOut=`${min*contextAspectRatio}%`}else{xOut=min;yOut=min}}else{const min=10;xOut=`${min}%`;yOut=`${min*contextAspectRatio}%`}const xProp=size.width?\"width\":size.rx?\"rx\":undefined;const yProp=size.width?\"height\":size.rx?\"ry\":undefined;return{[xProp||\"width\"]:xOut,[yProp||\"height\"]:yOut}};const shapeCreateFromEmoji=(emoji,props={})=>{return{width:undefined,height:undefined,...props,aspectRatio:1,backgroundImage:SVGToDataURL(getEmojiSVG(emoji))}};const shapeCreateFromImage=(src,shapeProps={})=>{const shapeDefaultLayout=shapeIsEllipse(shapeProps)?{}:{width:undefined,height:undefined,aspectRatio:undefined};const shape={backgroundColor:[0,0,0,0],...shapeDefaultLayout,...shapeProps,backgroundImage:isString(src)?src:isBinary(src)?URL.createObjectURL(src):src};return shape};const shapeCreateFromPreset=(preset,parentRect)=>{let shape;if(isString(preset)||isBinary(preset)){const shapeOptions={...getContextSize(parentRect),backgroundSize:\"contain\"};if(isEmoji(preset)){shape=shapeCreateFromEmoji(preset,shapeOptions)}else{shape=shapeCreateFromImage(preset,shapeOptions)}}else{if(preset.src){const contextSize=getContextSize(parentRect,preset.shape||preset);const shapeOptions={...preset.shape,...contextSize};if(preset.width&&preset.height&&!hasProp(shapeOptions,\"aspectRatio\")){const width=shapeGetPropPixelValue(contextSize,\"width\",parentRect);const height=shapeGetPropPixelValue(contextSize,\"height\",parentRect);shapeOptions.aspectRatio=getAspectRatio(width,height)}if(!shapeOptions.backgroundSize&&!preset.shape&&(!preset.width||!preset.height))shapeOptions.backgroundSize=\"contain\";if(isEmoji(preset.src)){shape=shapeCreateFromEmoji(preset.src,shapeOptions)}else{shape=shapeCreateFromImage(preset.src,shapeOptions)}}else if(preset.shape){shape=shapeDeepCopy(preset.shape)}}if(hasProp(shape,\"backgroundImage\")){if(!hasProp(shape,\"backgroundColor\")){shape.backgroundColor=[0,0,0,0]}if(!hasProp(shape,\"disableStyle\")){shape.disableStyle=[\"backgroundColor\",\"strokeColor\",\"strokeWidth\"]}if(!hasProp(shape,\"disableFlip\")){shape.disableFlip=true}}return parentRect?shapeComputeDisplay(shape,parentRect):shape};const shapeLineGetStartPoint=line=>vectorCreate(line.x1,line.y1);const shapeLineGetEndPoint=line=>vectorCreate(line.x2,line.y2);const shapeIsText=shape=>hasProp(shape,\"text\");const shapeIsTextLine=shape=>shapeIsText(shape)&&!(shapeHasRelativeSize(shape)||hasProp(shape,\"width\"));const shapeIsTextBox=shape=>shapeIsText(shape)&&(shapeHasRelativeSize(shape)||hasProp(shape,\"width\"));const shapeIsRect=shape=>!shapeIsText(shape)&&shapeHasComputedSize(shape);const shapeIsEllipse=shape=>hasProp(shape,\"rx\");const shapeIsLine=shape=>hasProp(shape,\"x1\")&&!shapeIsTriangle(shape);const shapeIsTriangle=shape=>hasProp(shape,\"x3\");const shapeIsPath=shape=>hasProp(shape,\"points\");const shapeIsTextEmpty=shape=>shapeIsText(shape)&&!shape.text.length;const shapeIsTextEditing=shape=>shapeIsText(shape)&&shape.isEditing;const shapeIsVisible=shape=>hasProp(shape,\"opacity\")?shape.opacity>0:true;const shapeIsSelected=shape=>shape.isSelected;const shapeIsEditing=shape=>shape.isEditing;const shapeIsDraft=shape=>shape._isDraft;const shapeHasSize=shape=>hasProp(shape,\"width\")&&hasProp(shape,\"height\");const shapeHasNumericStroke=shape=>isNumber(shape.strokeWidth)&&shape.strokeWidth>0;const shapeHasRelativePosition=shape=>{const hasRight=hasProp(shape,\"right\");const hasBottom=hasProp(shape,\"bottom\");return hasRight||hasBottom};const shapeHasTexture=shape=>hasProp(shape,\"backgroundImage\")||hasProp(shape,\"text\");const shapeHasRelativeSize=shape=>(hasProp(shape,\"x\")||hasProp(shape,\"left\"))&&hasProp(shape,\"right\")||(hasProp(shape,\"y\")||hasProp(shape,\"top\"))&&hasProp(shape,\"bottom\");const shapeHasComputedSize=shape=>shapeHasSize(shape)||shapeHasRelativeSize(shape);const shapeSelect=shape=>{shape.isSelected=true;return shape};const shapeMakeDraft=shape=>{shape._isDraft=true;return shape};const shapeMakeFinal=shape=>{shape._isDraft=false;return shape};const shapeCanStyle=(shape,style)=>{if(shape.disableStyle===true)return false;if(isArray(shape.disableStyle)&&style){return!shape.disableStyle.includes(style)}return true};const shapeCanSelect=shape=>shape.disableSelect!==true&&!shapeIsTriangle(shape);const shapeCanRemove=shape=>shape.disableRemove!==true;const shapeCanDuplicate=shape=>shape.disableDuplicate!==true&&shapeCanMove(shape);const shapeCanReorder=shape=>shape.disableReorder!==true;const shapeCanFlip=shape=>{if(shape.disableFlip)return false;if(shapeIsDraft(shape)||shapeHasRelativePosition(shape))return false;return shapeHasTexture(shape)};const shapeCanInput=(shape,input)=>{if(!shapeIsText(shape))return false;if(shape.disableInput===true)return false;if(isFunction(shape.disableInput))return shape.disableInput(input!=null?input:shape.text);return input||true};const shapeCanChangeTextLayout=(shape,layout)=>{if(shape.disableTextLayout===true)return false;if(isArray(shape.disableTextLayout)&&layout){return!shape.disableTextLayout.includes(layout)}return true};const shapeCanManipulate=shape=>shape.disableManipulate!==true&&!shapeIsDraft(shape)&&!shapeHasRelativePosition(shape);const shapeCanMove=shape=>shapeCanManipulate(shape)&&shape.disableMove!==true;const shapeCanResize=shape=>shapeCanManipulate(shape)&&shapeCanMove(shape)&&shape.disableResize!==true&&(shapeHasSize(shape)||shapeIsTextBox(shape)||shapeIsEllipse(shape)||shapeIsLine(shape));const shapeCanRotate=shape=>shapeCanManipulate(shape)&&shape.disableRotate!==true&&(shapeHasSize(shape)||hasProp(shape,\"text\")||shapeIsEllipse(shape));const shapeDeleteRelativeProps=shape=>{delete shape.left;delete shape.right;delete shape.top;delete shape.bottom;return shape};const shapeDeleteTransformProps=shape=>{delete shape.rotation;return shape};const shapeFormatStroke=shape=>{shape.strokeWidth=shape.strokeWidth||1;shape.strokeColor=shape.strokeColor||[0,0,0];return shape};const shapeFormatFill=shape=>{shape.backgroundColor=shape.backgroundColor?shape.backgroundColor:shape.strokeWidth||shape.backgroundImage?undefined:[0,0,0];return shape};const shapeFormatText=shape=>{shape.fontSize=shape.fontSize||\"4%\";shape.fontFamily=shape.fontFamily||\"sans-serif\";shape.fontWeight=shape.fontWeight||\"normal\";shape.fontStyle=shape.fontStyle||\"normal\";shape.fontVariant=shape.fontVariant||\"normal\";shape.lineHeight=shape.lineHeight||\"120%\";shape.color=shape.color||[0,0,0];return shapeIsTextLine(shape)?shapeFormatTextLine(shape):shapeFormatTextBox(shape)};const shapeFormatTextLine=shape=>{delete shape.textAlign;return shapeDeleteRelativeProps(shape)};const shapeFormatTextBox=shape=>{shape.textAlign=shape.textAlign||\"left\";return shape};const shapeFormatRect=shape=>{shape.cornerRadius=shape.cornerRadius||0;shape.strokeWidth=shape.strokeWidth||0;shape.strokeColor=shape.strokeColor||[0,0,0];return shapeFormatFill(shape)};const shapeFormatTriangle=shape=>{shape.strokeWidth=shape.strokeWidth||0;shape.strokeColor=shape.strokeColor||[0,0,0];shapeFormatFill(shape);return shapeDeleteRelativeProps(shape)};const shapeFormatEllipse=shape=>{shape.strokeWidth=shape.strokeWidth||0;shape.strokeColor=shape.strokeColor||[0,0,0];return shapeFormatFill(shape)};const shapeFormatPath=shape=>{shapeFormatStroke(shape);shapeDeleteTransformProps(shape);return shapeDeleteRelativeProps(shape)};const shapeFormatLine=shape=>{shapeFormatStroke(shape);shape.lineStart=shape.lineStart||undefined;shape.lineEnd=shape.lineEnd||undefined;shapeDeleteTransformProps(shape);return shapeDeleteRelativeProps(shape)};const shapeFormatDefaults=shape=>{if(!isString(shape.id))shape.id=getUniqueId();if(!hasProp(shape,\"rotation\"))shape.rotation=0;if(!hasProp(shape,\"opacity\"))shape.opacity=1;if(!hasProp(shape,\"disableErase\"))shape.disableErase=true};const shapeFormat=shape=>{shapeFormatDefaults(shape);if(shapeIsText(shape)){shapeFormatText(shape)}else if(shapeIsRect(shape)){shapeFormatRect(shape)}else if(shapeIsPath(shape)){shapeFormatPath(shape)}else if(shapeIsLine(shape)){shapeFormatLine(shape)}else if(shapeIsEllipse(shape)){shapeFormatEllipse(shape)}else if(shapeIsTriangle(shape)){shapeFormatTriangle(shape)}return shape};const shapeGetDescription=shape=>{if(shapeIsText(shape)){return\"text\"}else if(shapeIsRect(shape)){return\"rectangle\"}else if(shapeIsPath(shape)){return\"path\"}else if(shapeIsLine(shape)){return\"line\"}else if(shapeIsEllipse(shape)){return\"ellipse\"}else if(shapeIsTriangle(shape)){return\"triangle\"}return};const toPixelValue=(percentage,total)=>parseFloat(percentage)/100*total;const xRegExp=new RegExp(/^x|left|^width|rx|fontSize|cornerRadius|strokeWidth/,\"i\");const yRegExp=new RegExp(/^y|top|^height|ry/,\"i\");const rightRegExp=new RegExp(/right/,\"i\");const bottomRegExp=new RegExp(/bottom/,\"i\");const compute=(key,value,{width,height})=>{if(Array.isArray(value)){return value.map(v=>{if(isObject(v)){computeProps(v,{width:width,height:height})}return v})}if(typeof value!==\"string\")return value;if(!value.endsWith(\"%\"))return value;const f=parseFloat(value)/100;if(xRegExp.test(key))return fixPrecision(width*f,6);if(yRegExp.test(key))return fixPrecision(height*f,6);if(rightRegExp.test(key))return fixPrecision(width-width*f,6);if(bottomRegExp.test(key))return fixPrecision(height-height*f,6);return value};const computeProps=(obj,context)=>{Object.entries(obj).map(([key,value])=>{obj[key]=compute(key,value,context)});const lineHeight=obj.lineHeight;if(isString(lineHeight))obj.lineHeight=Math.round(obj.fontSize*(parseFloat(lineHeight)/100))};const shapeComputeDisplay=(shape,context)=>{computeProps(shape,context);shapeComputeRect(shape,context);return shape};const shapeGetPropPixelTotal=(prop,parentRect)=>{let total;if(/^x|width|rx|fontSize|strokeWidth|cornerRadius/.test(prop)){total=parentRect.width}else if(/^y|height|ry/.test(prop)){total=parentRect.height}return total};const shapeUpdateProp=(shape,prop,value,parentRect)=>{if(!isString(shape[prop])){shape[prop]=value;return shape}const total=shapeGetPropPixelTotal(prop,parentRect);shape[prop]=total===undefined?value:toPercentage(value,total);return shape};const shapeGetPropPixelValue=(shape,prop,parentRect)=>{if(!isString(shape[prop]))return shape[prop];return toPixelValue(shape[prop],shapeGetPropPixelTotal(prop,parentRect))};const shapeGetPropsPixelValues=(shape,props,parentRect)=>{return props.reduce((prev,prop)=>{const value=shapeGetPropPixelValue(shape,prop,parentRect);prev[prop]=value;return prev},{})};const shapeUpdateProps=(shape,props,parentRect)=>{Object.keys(props).forEach(key=>shapeUpdateProp(shape,key,props[key],parentRect));return shape};const shapeBounds=shape=>{const rect=rectCreateEmpty();const strokeWidth=shape.strokeWidth||0;if(shapeIsRect(shape)){rect.x=shape.x-strokeWidth*.5;rect.y=shape.y-strokeWidth*.5;rect.width=shape.width+strokeWidth;rect.height=shape.height+strokeWidth}else if(shapeIsLine(shape)){const{x1,y1,x2,y2}=shape;const left=Math.abs(Math.min(x1,x2));const right=Math.abs(Math.max(x1,x2));const top=Math.abs(Math.min(y1,y2));const bottom=Math.abs(Math.min(y1,y2));rect.x=left+strokeWidth*.5;rect.y=right+strokeWidth*.5;rect.width=right-left+strokeWidth;rect.height=bottom-top+strokeWidth}else if(shapeIsEllipse(shape)){rect.x=shape.x-shape.rx+strokeWidth*.5;rect.y=shape.y-shape.ry+strokeWidth*.5;rect.width=shape.rx*2+strokeWidth;rect.height=shape.ry*2+strokeWidth}if(rect&&hasProp(shape,\"rotation\")){rectRotate(rect,shape.rotation)}return rectToBounds(rect)};const shapesBounds=(shapes,parentRect)=>{const bounds=shapes.filter(shape=>shape.x<0||shape.y<0||shape.x1<0||shape.y1<0).reduce((bounds,shape)=>{const[top,right,bottom,left]=shapeBounds(shape);bounds.top=Math.min(top,bounds.top);bounds.left=Math.min(left,bounds.left);bounds.bottom=Math.max(bottom,bounds.bottom);bounds.right=Math.max(right,bounds.right);return bounds},{top:0,right:0,bottom:0,left:0});if(bounds.right>0)bounds.right-=parentRect.width;if(bounds.bottom>0)bounds.bottom-=parentRect.height;return bounds};const shapesFromCompositShape=(shape,parentRect,parser)=>{const shapeCopy=shapeDeepCopy(shape);shapeComputeDisplay(shapeCopy,parentRect);return parser(shapeCopy)};const shapeComputeRect=(shape,context)=>{if(hasProp(shape,\"left\"))shape.x=shape.left;if(hasProp(shape,\"right\")){const r=context.width-shape.right;if(hasProp(shape,\"left\")){shape.x=shape.left;shape.width=Math.max(0,r-shape.left)}else if(hasProp(shape,\"width\")){shape.x=r-shape.width}}if(hasProp(shape,\"top\"))shape.y=shape.top;if(hasProp(shape,\"bottom\")){const b=context.height-shape.bottom;if(hasProp(shape,\"top\")){shape.y=shape.top;shape.height=Math.max(0,b-shape.top)}else if(hasProp(shape,\"height\")){shape.y=b-shape.height}}return shape};const shapeComputeTransform=(shape,translate,scale)=>{if(shapeIsPath(shape)){shape.points.filter(point=>isNumber(point.x)).forEach(point=>{point.x*=scale;point.y*=scale;point.x+=translate.x;point.y+=translate.y})}if(shapeIsTriangle(shape)&&isNumber(shape.x1)){shape.x1*=scale;shape.y1*=scale;shape.x2*=scale;shape.y2*=scale;shape.x3*=scale;shape.y3*=scale;shape.x1+=translate.x;shape.y1+=translate.y;shape.x2+=translate.x;shape.y2+=translate.y;shape.x3+=translate.x;shape.y3+=translate.y}if(shapeIsLine(shape)&&isNumber(shape.x1)){shape.x1*=scale;shape.y1*=scale;shape.x2*=scale;shape.y2*=scale;shape.x1+=translate.x;shape.y1+=translate.y;shape.x2+=translate.x;shape.y2+=translate.y}if(isNumber(shape.x)&&isNumber(shape.y)){shape.x*=scale;shape.y*=scale;shape.x+=translate.x;shape.y+=translate.y}if(isNumber(shape.width)&&isNumber(shape.height)){shape.width*=scale;shape.height*=scale}if(isNumber(shape.rx)&&isNumber(shape.ry)){shape.rx*=scale;shape.ry*=scale}if(shapeHasNumericStroke(shape)){shape.strokeWidth*=scale}if(shapeIsText(shape)){shape._scale=scale;if(isNumber(shape.fontSize)){shape.fontSize*=scale}if(isNumber(shape.lineHeight)){shape.lineHeight*=scale}if(isNumber(shape.width)&&!isNumber(shape.height))shape.width*=scale}if(hasProp(shape,\"cornerRadius\")&&isNumber(shape.cornerRadius)){shape.cornerRadius*=scale}return shape};const shapeGetCenter=shape=>{if(shapeIsRect(shape)){return vectorCreate(shape.x+shape.width*.5,shape.y+shape.height*.5)}if(shapeIsEllipse(shape)){return vectorCreate(shape.x,shape.y)}if(shapeIsTextBox(shape)){const height=shape.height||textToSize(shape.text,shape).height;return vectorCreate(shape.x+shape.width*.5,shape.y+height*.5)}if(shapeIsTextLine(shape)){const size=textToSize(shape.text,shape);return vectorCreate(shape.x+size.width*.5,shape.y+size.height*.5)}if(shapeIsPath(shape)){return vectorCenter(shape.points)}if(shapeIsLine(shape)){return vectorCenter([shapeLineGetStartPoint(shape),shapeLineGetEndPoint(shape)])}return undefined};var ctxRoundRect=(ctx,x,y,width,height,radius)=>{if(width<2*radius)radius=width/2;if(height<2*radius)radius=height/2;ctx.beginPath();ctx.moveTo(x+radius,y);ctx.arcTo(x+width,y,x+width,y+height,radius);ctx.arcTo(x+width,y+height,x,y+height,radius);ctx.arcTo(x,y+height,x,y,radius);ctx.arcTo(x,y,x+width,y,radius);ctx.closePath();return ctx};var isCanvas=element=>/canvas/i.test(element.nodeName);var isRemoteURL=url=>new URL(url,location.href).origin!==location.origin;var loadImage=(image,onSize=undefined)=>new Promise((resolve,reject)=>{let imageElement=image;let sizeCalculated=false;const reportSize=()=>{if(sizeCalculated)return;sizeCalculated=true;isFunction(onSize)&&Promise.resolve().then(()=>onSize(sizeCreate(imageElement.naturalWidth,imageElement.naturalHeight)))};if(!imageElement.src){imageElement=new Image;if(isString(image)&&isRemoteURL(image))imageElement.crossOrigin=\"anonymous\";imageElement.src=isString(image)?image:URL.createObjectURL(image)}if(imageElement.complete){reportSize();return resolve(imageElement)}if(isFunction(onSize))getImageElementSize(imageElement).then(reportSize).catch(reject);imageElement.onload=()=>{reportSize();resolve(imageElement)};imageElement.onerror=reject});const cache=new Map([]);const getImage=(src,options={})=>new Promise((resolve,reject)=>{const{onMetadata=noop$1,onLoad=resolve,onError=reject,onComplete=noop$1}=options;let imageLoadState=cache.get(src);if(!imageLoadState){imageLoadState={loading:false,complete:false,error:false,image:undefined,size:undefined,bus:pubsub()};cache.set(src,imageLoadState)}imageLoadState.bus.sub(\"meta\",onMetadata);imageLoadState.bus.sub(\"load\",onLoad);imageLoadState.bus.sub(\"error\",onError);imageLoadState.bus.sub(\"complete\",onComplete);if(isCanvas(src)){const canvas=src;const image=canvas.cloneNode();imageLoadState.complete=true;imageLoadState.image=image;imageLoadState.size=sizeCreateFromElement(canvas)}if(imageLoadState.complete){imageLoadState.bus.pub(\"meta\",{size:imageLoadState.size});if(imageLoadState.error){imageLoadState.bus.pub(\"error\",imageLoadState.error)}else{imageLoadState.bus.pub(\"load\",imageLoadState.image)}imageLoadState.bus.pub(\"complete\");imageLoadState.bus=pubsub();return}if(imageLoadState.loading)return;imageLoadState.loading=true;loadImage(src,size=>{imageLoadState.size=size;imageLoadState.bus.pub(\"meta\",{size:size})}).then(image=>{imageLoadState.image=image;imageLoadState.bus.pub(\"load\",image)}).catch(err=>{imageLoadState.error=err;imageLoadState.bus.pub(\"error\",err)}).finally(()=>{imageLoadState.complete=true;imageLoadState.loading=false;imageLoadState.bus.pub(\"complete\");imageLoadState.bus=pubsub()})});const drawCanvas=(ctx,image,srcRect,destRect)=>ctx.drawImage(image,srcRect.x,srcRect.x,srcRect.width,srcRect.height,destRect.x,destRect.y,destRect.width,destRect.height);var ctxDrawImage=async(ctx,image,srcRect,destRect,draw=drawCanvas)=>{ctx.save();ctx.clip();await draw(ctx,image,srcRect,destRect);ctx.restore()};const getDrawImageParams=(container,backgroundSize,imageSize,backgroundCorners)=>{let srcRect=rectCreate(0,0,imageSize.width,imageSize.height);const destRect=rectClone(container);if(backgroundCorners){srcRect=rectApply(rectCreateFromPoints(backgroundCorners),fixPrecision);srcRect.x*=imageSize.width;srcRect.width*=imageSize.width;srcRect.y*=imageSize.height;srcRect.height*=imageSize.height}else{if(backgroundSize===\"contain\"){const rect=rectContainRect(container,rectAspectRatio(srcRect));destRect.width=rect.width;destRect.height=rect.height;destRect.x+=rect.x;destRect.y+=rect.y}else if(backgroundSize===\"cover\"){srcRect=rectContainRect(rectCreate(0,0,srcRect.width,srcRect.height),rectAspectRatio(destRect))}}return{srcRect:srcRect,destRect:destRect}};const defineRectShape=(ctx,shape)=>{shape.cornerRadius>0?ctxRoundRect(ctx,shape.x,shape.y,shape.width,shape.height,shape.cornerRadius):ctx.rect(shape.x,shape.y,shape.width,shape.height);return ctx};const fillRectShape=(ctx,shape)=>{shape.backgroundColor&&ctx.fill();return ctx};const strokeRectShape=(ctx,shape)=>{shape.strokeWidth&&ctx.stroke();return ctx};var drawRect=async(ctx,shape,options={})=>new Promise(async(resolve,reject)=>{const{drawImage}=options;ctx.lineWidth=shape.strokeWidth?shape.strokeWidth:1;ctx.strokeStyle=shape.strokeColor?colorArrayToRGBA(shape.strokeColor):\"none\";ctx.fillStyle=shape.backgroundColor?colorArrayToRGBA(shape.backgroundColor):\"none\";ctx.globalAlpha=shape.opacity;if(shape.backgroundImage){let image;try{if(isCanvas(shape.backgroundImage)){image=shape.backgroundImage}else{image=await getImage(shape.backgroundImage)}}catch(err){reject(err)}defineRectShape(ctx,shape);fillRectShape(ctx,shape);const{srcRect,destRect}=getDrawImageParams(shape,shape.backgroundSize,sizeCreateFromElement(image),shape.backgroundCorners);await ctxDrawImage(ctx,image,srcRect,destRect,drawImage);strokeRectShape(ctx,shape);resolve([])}else{defineRectShape(ctx,shape);fillRectShape(ctx,shape);strokeRectShape(ctx,shape);resolve([])}});var drawEllipse=async(ctx,shape,options={})=>new Promise(async(resolve,reject)=>{const{drawImage}=options;ctx.lineWidth=shape.strokeWidth||1;ctx.strokeStyle=shape.strokeColor?colorArrayToRGBA(shape.strokeColor):\"none\";ctx.fillStyle=shape.backgroundColor?colorArrayToRGBA(shape.backgroundColor):\"none\";ctx.globalAlpha=shape.opacity;ctx.ellipse(shape.x,shape.y,shape.rx,shape.ry,0,0,Math.PI*2);shape.backgroundColor&&ctx.fill();if(shape.backgroundImage){let image;try{image=await getImage(shape.backgroundImage)}catch(err){reject(err)}const bounds=rectCreate(shape.x-shape.rx,shape.y-shape.ry,shape.rx*2,shape.ry*2);const{srcRect,destRect}=getDrawImageParams(bounds,shape.backgroundSize,sizeCreateFromElement(image));await ctxDrawImage(ctx,image,srcRect,destRect,drawImage);shape.strokeWidth&&ctx.stroke();resolve([])}else{shape.strokeWidth&&ctx.stroke();resolve([])}});var drawText=async(ctx,shape,options)=>{const size=shape.width&&shape.height?sizeCreateFromAny(shape):textToSize(shape.text,shape);const rect={x:shape.x,y:shape.y,width:size.width,height:size.height};drawRect(ctx,{...shape,...rect,options:options});if(!shape.text.length)return[];const{willRequestResource}=options;const image=await textToImage(shape.text,{...shape,...rect,imageWidth:rect.width,imageHeight:rect.height,willRequestResource:willRequestResource});ctx.drawImage(image,shape.x-TextPadding,shape.y,image.width/TextPixelRatio,image.height/TextPixelRatio);return[]};var drawLine=async(ctx,shape)=>new Promise(async resolve=>{ctx.lineWidth=shape.strokeWidth||1;ctx.strokeStyle=shape.strokeColor?colorArrayToRGBA(shape.strokeColor):\"none\";ctx.globalAlpha=shape.opacity;let lineStartPosition=shapeLineGetStartPoint(shape);let lineEndPosition=shapeLineGetEndPoint(shape);ctx.moveTo(lineStartPosition.x,lineStartPosition.y);ctx.lineTo(lineEndPosition.x,lineEndPosition.y);shape.strokeWidth&&ctx.stroke();resolve([])});var drawPath=async(ctx,shape)=>new Promise((resolve,reject)=>{ctx.lineWidth=shape.strokeWidth||1;ctx.strokeStyle=shape.strokeColor?colorArrayToRGBA(shape.strokeColor):\"none\";ctx.fillStyle=shape.backgroundColor?colorArrayToRGBA(shape.backgroundColor):\"none\";ctx.globalAlpha=shape.opacity;const{points}=shape;if(shape.pathClose)ctx.beginPath();ctx.moveTo(points[0].x,points[0].y);const l=points.length;for(let i=1;i{if(!flipX&&!flipY)return ctx;ctx.translate(pivot.x,pivot.y);ctx.scale(flipX?-1:1,flipY?-1:1);ctx.translate(-pivot.x,-pivot.y);return ctx};const drawShape=async(ctx,shape,options)=>{const center=shapeGetCenter(shape);ctxRotate(ctx,shape.rotation,center);ctxFlip(ctx,shape.flipX,shape.flipY,center);let fn;if(shapeIsRect(shape)){fn=drawRect}else if(shapeIsEllipse(shape)){fn=drawEllipse}else if(shapeIsLine(shape)){fn=drawLine}else if(shapeIsPath(shape)){fn=drawPath}else if(shapeIsText(shape)){fn=drawText}return fn?[shape,...await drawShapes(ctx,await fn(ctx,shape,options),options)]:[]};var drawShapes=async(ctx,shapes,options)=>{let drawnShapes=[];for(const shape of shapes){ctx.save();ctx.beginPath();drawnShapes=[...drawnShapes,...await drawShape(ctx,shape,options)];ctx.restore()}return drawnShapes};var drawImageData=async(imageData,options={})=>{const{shapes=[],context=imageData,contextBounds=imageData,transform=noop$1,drawImage,willRequestResource,preprocessShape=passthrough}=options;if(!shapes.length)return imageData;const canvas=h(\"canvas\");canvas.width=contextBounds.width;canvas.height=contextBounds.height;const ctx=canvas.getContext(\"2d\");ctx.putImageData(imageData,contextBounds.x||0,contextBounds.y||0);const computedShapes=shapes.map(shapeDeepCopy).map(shape=>shapeComputeDisplay(shape,{width:context.width,height:context.height})).map(preprocessShape).flat();transform(ctx);await drawShapes(ctx,computedShapes,{drawImage:drawImage,willRequestResource:willRequestResource});const imageDataOut=ctx.getImageData(0,0,canvas.width,canvas.height);releaseCanvas(canvas);return imageDataOut};var fillImageData=async(imageData,options={})=>{const{backgroundColor}=options;if(!backgroundColor||backgroundColor&&backgroundColor[3]===0)return imageData;const image=h(\"canvas\");image.width=imageData.width;image.height=imageData.height;const ctx=image.getContext(\"2d\");ctx.putImageData(imageData,0,0);ctx.globalCompositeOperation=\"destination-over\";ctx.fillStyle=colorArrayToRGBA(backgroundColor);ctx.fillRect(0,0,image.width,image.height);const imageDataOut=ctx.getImageData(0,0,image.width,image.height);releaseCanvas(image);return imageDataOut};var dotColorMatrix=(a,b)=>{const res=new Array(20);res[0]=a[0]*b[0]+a[1]*b[5]+a[2]*b[10]+a[3]*b[15];res[1]=a[0]*b[1]+a[1]*b[6]+a[2]*b[11]+a[3]*b[16];res[2]=a[0]*b[2]+a[1]*b[7]+a[2]*b[12]+a[3]*b[17];res[3]=a[0]*b[3]+a[1]*b[8]+a[2]*b[13]+a[3]*b[18];res[4]=a[0]*b[4]+a[1]*b[9]+a[2]*b[14]+a[3]*b[19]+a[4];res[5]=a[5]*b[0]+a[6]*b[5]+a[7]*b[10]+a[8]*b[15];res[6]=a[5]*b[1]+a[6]*b[6]+a[7]*b[11]+a[8]*b[16];res[7]=a[5]*b[2]+a[6]*b[7]+a[7]*b[12]+a[8]*b[17];res[8]=a[5]*b[3]+a[6]*b[8]+a[7]*b[13]+a[8]*b[18];res[9]=a[5]*b[4]+a[6]*b[9]+a[7]*b[14]+a[8]*b[19]+a[9];res[10]=a[10]*b[0]+a[11]*b[5]+a[12]*b[10]+a[13]*b[15];res[11]=a[10]*b[1]+a[11]*b[6]+a[12]*b[11]+a[13]*b[16];res[12]=a[10]*b[2]+a[11]*b[7]+a[12]*b[12]+a[13]*b[17];res[13]=a[10]*b[3]+a[11]*b[8]+a[12]*b[13]+a[13]*b[18];res[14]=a[10]*b[4]+a[11]*b[9]+a[12]*b[14]+a[13]*b[19]+a[14];res[15]=a[15]*b[0]+a[16]*b[5]+a[17]*b[10]+a[18]*b[15];res[16]=a[15]*b[1]+a[16]*b[6]+a[17]*b[11]+a[18]*b[16];res[17]=a[15]*b[2]+a[16]*b[7]+a[17]*b[12]+a[18]*b[17];res[18]=a[15]*b[3]+a[16]*b[8]+a[17]*b[13]+a[18]*b[18];res[19]=a[15]*b[4]+a[16]*b[9]+a[17]*b[14]+a[18]*b[19]+a[19];return res};var getColorMatrixFromColorMatrices=colorMatrices=>colorMatrices.length?colorMatrices.reduce((previous,current)=>dotColorMatrix([...previous],current),colorMatrices.shift()):[];var roundFraction=(value,fr=2)=>Math.round(value*fr)/fr;var getImageRedactionScaleFactor=(imageSize,redactionShapes)=>{const imageRes=imageSize.width*imageSize.height;const maxShapeSize=redactionShapes.reduce((max,shape)=>{if(shape.width>max.width&&shape.height>max.height){max.width=shape.width;max.height=shape.height}return max},{width:0,height:0});const maxShapeRes=maxShapeSize.width*maxShapeSize.height;const fraction=Math.max(.5,.5+(1-maxShapeRes/imageRes)/2);return roundFraction(fraction,5)};function noop(){}const identity=x=>x;function assign(tar,src){for(const k in src)tar[k]=src[k];return tar}function run(fn){return fn()}function blank_object(){return Object.create(null)}function run_all(fns){fns.forEach(run)}function is_function(thing){return typeof thing===\"function\"}function safe_not_equal(a,b){return a!=a?b==b:a!==b||(a&&typeof a===\"object\"||typeof a===\"function\")}function is_empty(obj){return Object.keys(obj).length===0}function subscribe(store,...callbacks){if(store==null){return noop}const unsub=store.subscribe(...callbacks);return unsub.unsubscribe?()=>unsub.unsubscribe():unsub}function get_store_value(store){let value;subscribe(store,_=>value=_)();return value}function component_subscribe(component,store,callback){component.$$.on_destroy.push(subscribe(store,callback))}function create_slot(definition,ctx,$$scope,fn){if(definition){const slot_ctx=get_slot_context(definition,ctx,$$scope,fn);return definition[0](slot_ctx)}}function get_slot_context(definition,ctx,$$scope,fn){return definition[1]&&fn?assign($$scope.ctx.slice(),definition[1](fn(ctx))):$$scope.ctx}function get_slot_changes(definition,$$scope,dirty,fn){if(definition[2]&&fn){const lets=definition[2](fn(dirty));if($$scope.dirty===undefined){return lets}if(typeof lets===\"object\"){const merged=[];const len=Math.max($$scope.dirty.length,lets.length);for(let i=0;iwindow.performance.now():()=>Date.now();let raf=is_client?cb=>requestAnimationFrame(cb):noop;const tasks=new Set;function run_tasks(now){tasks.forEach(task=>{if(!task.c(now)){tasks.delete(task);task.f()}});if(tasks.size!==0)raf(run_tasks)}function loop(callback){let task;if(tasks.size===0)raf(run_tasks);return{promise:new Promise(fulfill=>{tasks.add(task={c:callback,f:fulfill})}),abort(){tasks.delete(task)}}}function append(target,node){target.appendChild(node)}function insert(target,node,anchor){target.insertBefore(node,anchor||null)}function detach(node){node.parentNode.removeChild(node)}function element(name){return document.createElement(name)}function svg_element(name){return document.createElementNS(\"http://www.w3.org/2000/svg\",name)}function text(data){return document.createTextNode(data)}function space(){return text(\" \")}function empty(){return text(\"\")}function listen(node,event,handler,options){node.addEventListener(event,handler,options);return()=>node.removeEventListener(event,handler,options)}function prevent_default(fn){return function(event){event.preventDefault();return fn.call(this,event)}}function stop_propagation(fn){return function(event){event.stopPropagation();return fn.call(this,event)}}function attr(node,attribute,value){if(value==null)node.removeAttribute(attribute);else if(node.getAttribute(attribute)!==value)node.setAttribute(attribute,value)}function set_attributes(node,attributes){const descriptors=Object.getOwnPropertyDescriptors(node.__proto__);for(const key in attributes){if(attributes[key]==null){node.removeAttribute(key)}else if(key===\"style\"){node.style.cssText=attributes[key]}else if(key===\"__value\"){node.value=node[key]=attributes[key]}else if(descriptors[key]&&descriptors[key].set){node[key]=attributes[key]}else{attr(node,key,attributes[key])}}}function children(element){return Array.from(element.childNodes)}function set_data(text,data){data=\"\"+data;if(text.wholeText!==data)text.data=data}function set_input_value(input,value){input.value=value==null?\"\":value}function custom_event(type,detail){const e=document.createEvent(\"CustomEvent\");e.initCustomEvent(type,false,false,detail);return e}class HtmlTag{constructor(anchor=null){this.a=anchor;this.e=this.n=null}m(html,target,anchor=null){if(!this.e){this.e=element(target.nodeName);this.t=target;this.h(html)}this.i(anchor)}h(html){this.e.innerHTML=html;this.n=Array.from(this.e.childNodes)}i(anchor){for(let i=0;i>>0}function create_rule(node,a,b,duration,delay,ease,fn,uid=0){const step=16.666/duration;let keyframes=\"{\\n\";for(let p=0;p<=1;p+=step){const t=a+(b-a)*ease(p);keyframes+=p*100+`%{${fn(t,1-t)}}\\n`}const rule=keyframes+`100% {${fn(b,1-b)}}\\n}`;const name=`__svelte_${hash(rule)}_${uid}`;const doc=node.ownerDocument;active_docs.add(doc);const stylesheet=doc.__svelte_stylesheet||(doc.__svelte_stylesheet=doc.head.appendChild(element(\"style\")).sheet);const current_rules=doc.__svelte_rules||(doc.__svelte_rules={});if(!current_rules[name]){current_rules[name]=true;stylesheet.insertRule(`@keyframes ${name} ${rule}`,stylesheet.cssRules.length)}const animation=node.style.animation||\"\";node.style.animation=`${animation?`${animation}, `:\"\"}${name} ${duration}ms linear ${delay}ms 1 both`;active+=1;return name}function delete_rule(node,name){const previous=(node.style.animation||\"\").split(\", \");const next=previous.filter(name?anim=>anim.indexOf(name)<0:anim=>anim.indexOf(\"__svelte\")===-1);const deleted=previous.length-next.length;if(deleted){node.style.animation=next.join(\", \");active-=deleted;if(!active)clear_rules()}}function clear_rules(){raf(()=>{if(active)return;active_docs.forEach(doc=>{const stylesheet=doc.__svelte_stylesheet;let i=stylesheet.cssRules.length;while(i--)stylesheet.deleteRule(i);doc.__svelte_rules={}});active_docs.clear()})}let current_component;function set_current_component(component){current_component=component}function get_current_component(){if(!current_component)throw new Error(\"Function called outside component initialization\");return current_component}function onMount(fn){get_current_component().$$.on_mount.push(fn)}function afterUpdate(fn){get_current_component().$$.after_update.push(fn)}function onDestroy(fn){get_current_component().$$.on_destroy.push(fn)}function createEventDispatcher(){const component=get_current_component();return(type,detail)=>{const callbacks=component.$$.callbacks[type];if(callbacks){const event=custom_event(type,detail);callbacks.slice().forEach(fn=>{fn.call(component,event)})}}}function setContext(key,context){get_current_component().$$.context.set(key,context)}function getContext(key){return get_current_component().$$.context.get(key)}function bubble(component,event){const callbacks=component.$$.callbacks[event.type];if(callbacks){callbacks.slice().forEach(fn=>fn(event))}}const dirty_components=[];const binding_callbacks=[];const render_callbacks=[];const flush_callbacks=[];const resolved_promise=Promise.resolve();let update_scheduled=false;function schedule_update(){if(!update_scheduled){update_scheduled=true;resolved_promise.then(flush)}}function add_render_callback(fn){render_callbacks.push(fn)}function add_flush_callback(fn){flush_callbacks.push(fn)}let flushing=false;const seen_callbacks=new Set;function flush(){if(flushing)return;flushing=true;do{for(let i=0;i{promise=null})}return promise}function dispatch(node,direction,kind){node.dispatchEvent(custom_event(`${direction?\"intro\":\"outro\"}${kind}`))}const outroing=new Set;let outros;function group_outros(){outros={r:0,c:[],p:outros}}function check_outros(){if(!outros.r){run_all(outros.c)}outros=outros.p}function transition_in(block,local){if(block&&block.i){outroing.delete(block);block.i(local)}}function transition_out(block,local,detach,callback){if(block&&block.o){if(outroing.has(block))return;outroing.add(block);outros.c.push(()=>{outroing.delete(block);if(callback){if(detach)block.d(1);callback()}});block.o(local)}}const null_transition={duration:0};function create_bidirectional_transition(node,fn,params,intro){let config=fn(node,params);let t=intro?0:1;let running_program=null;let pending_program=null;let animation_name=null;function clear_animation(){if(animation_name)delete_rule(node,animation_name)}function init(program,duration){const d=program.b-t;duration*=Math.abs(d);return{a:t,b:program.b,d:d,duration:duration,start:program.start,end:program.start+duration,group:program.group}}function go(b){const{delay=0,duration=300,easing=identity,tick=noop,css}=config||null_transition;const program={start:now()+delay,b:b};if(!b){program.group=outros;outros.r+=1}if(running_program||pending_program){pending_program=program}else{if(css){clear_animation();animation_name=create_rule(node,t,b,duration,delay,easing,css)}if(b)tick(0,1);running_program=init(program,duration);add_render_callback(()=>dispatch(node,b,\"start\"));loop(now=>{if(pending_program&&now>pending_program.start){running_program=init(pending_program,duration);pending_program=null;dispatch(node,running_program.b,\"start\");if(css){clear_animation();animation_name=create_rule(node,t,running_program.b,running_program.duration,0,easing,config.css)}}if(running_program){if(now>=running_program.end){tick(t=running_program.b,1-t);dispatch(node,running_program.b,\"end\");if(!pending_program){if(running_program.b){clear_animation()}else{if(!--running_program.group.r)run_all(running_program.group.c)}}running_program=null}else if(now>=running_program.start){const p=now-running_program.start;t=running_program.a+running_program.d*easing(p/running_program.duration);tick(t,1-t)}}return!!(running_program||pending_program)})}}return{run(b){if(is_function(config)){wait().then(()=>{config=config();go(b)})}else{go(b)}},end(){clear_animation();running_program=pending_program=null}}}const globals=typeof window!==\"undefined\"?window:typeof globalThis!==\"undefined\"?globalThis:global;function destroy_block(block,lookup){block.d(1);lookup.delete(block.key)}function outro_and_destroy_block(block,lookup){transition_out(block,1,1,()=>{lookup.delete(block.key)})}function update_keyed_each(old_blocks,dirty,get_key,dynamic,ctx,list,lookup,node,destroy,create_each_block,next,get_context){let o=old_blocks.length;let n=list.length;let i=o;const old_indexes={};while(i--)old_indexes[old_blocks[i].key]=i;const new_blocks=[];const new_lookup=new Map;const deltas=new Map;i=n;while(i--){const child_ctx=get_context(ctx,list,i);const key=get_key(child_ctx);let block=lookup.get(key);if(!block){block=create_each_block(key,child_ctx);block.c()}else if(dynamic){block.p(child_ctx,dirty)}new_lookup.set(key,new_blocks[i]=block);if(key in old_indexes)deltas.set(key,Math.abs(i-old_indexes[key]))}const will_move=new Set;const did_move=new Set;function insert(block){transition_in(block,1);block.m(node,next);lookup.set(block.key,block);next=block.first;n--}while(o&&n){const new_block=new_blocks[n-1];const old_block=old_blocks[o-1];const new_key=new_block.key;const old_key=old_block.key;if(new_block===old_block){next=new_block.first;o--;n--}else if(!new_lookup.has(old_key)){destroy(old_block,lookup);o--}else if(!lookup.has(new_key)||will_move.has(new_key)){insert(new_block)}else if(did_move.has(old_key)){o--}else if(deltas.get(new_key)>deltas.get(old_key)){did_move.add(new_key);insert(new_block)}else{will_move.add(old_key);o--}}while(o--){const old_block=old_blocks[o];if(!new_lookup.has(old_block.key))destroy(old_block,lookup)}while(n)insert(new_blocks[n-1]);return new_blocks}function get_spread_update(levels,updates){const update={};const to_null_out={};const accounted_for={$$scope:1};let i=levels.length;while(i--){const o=levels[i];const n=updates[i];if(n){for(const key in o){if(!(key in n))to_null_out[key]=1}for(const key in n){if(!accounted_for[key]){update[key]=n[key];accounted_for[key]=1}}levels[i]=n}else{for(const key in o){accounted_for[key]=1}}}for(const key in to_null_out){if(!(key in update))update[key]=undefined}return update}function get_spread_object(spread_props){return typeof spread_props===\"object\"&&spread_props!==null?spread_props:{}}function bind(component,name,callback){const index=component.$$.props[name];if(index!==undefined){component.$$.bound[index]=callback;callback(component.$$.ctx[index])}}function create_component(block){block&&block.c()}function mount_component(component,target,anchor,customElement){const{fragment,on_mount,on_destroy,after_update}=component.$$;fragment&&fragment.m(target,anchor);if(!customElement){add_render_callback(()=>{const new_on_destroy=on_mount.map(run).filter(is_function);if(on_destroy){on_destroy.push(...new_on_destroy)}else{run_all(new_on_destroy)}component.$$.on_mount=[]})}after_update.forEach(add_render_callback)}function destroy_component(component,detaching){const $$=component.$$;if($$.fragment!==null){run_all($$.on_destroy);$$.fragment&&$$.fragment.d(detaching);$$.on_destroy=$$.fragment=null;$$.ctx=[]}}function make_dirty(component,i){if(component.$$.dirty[0]===-1){dirty_components.push(component);schedule_update();component.$$.dirty.fill(0)}component.$$.dirty[i/31|0]|=1<{const value=rest.length?rest[0]:ret;if($$.ctx&¬_equal($$.ctx[i],$$.ctx[i]=value)){if(!$$.skip_bound&&$$.bound[i])$$.bound[i](value);if(ready)make_dirty(component,i)}return ret}):[];$$.update();ready=true;run_all($$.before_update);$$.fragment=create_fragment?create_fragment($$.ctx):false;if(options.target){if(options.hydrate){const nodes=children(options.target);$$.fragment&&$$.fragment.l(nodes);nodes.forEach(detach)}else{$$.fragment&&$$.fragment.c()}if(options.intro)transition_in(component.$$.fragment);mount_component(component,options.target,options.anchor,options.customElement);flush()}set_current_component(parent_component)}class SvelteComponent{$destroy(){destroy_component(this,1);this.$destroy=noop}$on(type,callback){const callbacks=this.$$.callbacks[type]||(this.$$.callbacks[type]=[]);callbacks.push(callback);return()=>{const index=callbacks.indexOf(callback);if(index!==-1)callbacks.splice(index,1)}}$set($$props){if(this.$$set&&!is_empty($$props)){this.$$.skip_bound=true;this.$$set($$props);this.$$.skip_bound=false}}}const subscriber_queue=[];function readable(value,start){return{subscribe:writable(value,start).subscribe}}function writable(value,start=noop){let stop;const subscribers=[];function set(new_value){if(safe_not_equal(value,new_value)){value=new_value;if(stop){const run_queue=!subscriber_queue.length;for(let i=0;i{const index=subscribers.indexOf(subscriber);if(index!==-1){subscribers.splice(index,1)}if(subscribers.length===0){stop();stop=null}}}return{set:set,update:update,subscribe:subscribe}}function derived(stores,fn,initial_value){const single=!Array.isArray(stores);const stores_array=single?[stores]:stores;const auto=fn.length<2;return readable(initial_value,set=>{let inited=false;const values=[];let pending=0;let cleanup=noop;const sync=()=>{if(pending){return}cleanup();const result=fn(single?values[0]:values,set);if(auto){set(result)}else{cleanup=is_function(result)?result:noop}};const unsubscribers=stores_array.map((store,i)=>subscribe(store,value=>{values[i]=value;pending&=~(1<{pending|=1<objects.reduce((prev,curr)=>Object.assign(prev,curr),{});const UPDATE_VALUE=updateValue=>({updateValue:updateValue});const DEFAULT_VALUE=defaultValue=>({defaultValue:defaultValue});const CUSTOM_STORE=fn=>({store:fn});const DERIVED_STORE=fn=>({store:(defaultValue,stores)=>derived(...fn(stores))});const UNIQUE_DERIVED_STORE=fn=>({store:(defaultValue,stores)=>{const[selectedStores,update,isEqual=()=>false]=fn(stores);let isFirst=true;let currentValue;return derived(selectedStores,(storeValues,set)=>{update(storeValues,value=>{if(!isFirst&&isEqual(currentValue,value))return;currentValue=value;isFirst=false;set(value)})})}});const MAP_STORE=fn=>({store:(defaultValue,stores)=>{const[valueMapper,observedStores={},sorter=undefined]=fn(stores);let storedItems=[];const $observedStores={};const mapValue=item=>valueMapper(item,$observedStores);const setValue=items=>{if(!storedItems.length&&!items.length)return;storedItems=items;updateValue()};const updateValue=()=>{const mappedItems=storedItems.map(mapValue);if(sorter)mappedItems.sort(sorter);storedItems=[...mappedItems];set(mappedItems)};Object.entries(observedStores).map(([name,store])=>{return store.subscribe(value=>{$observedStores[name]=value;if(!value)return;updateValue()})});const{subscribe,set}=writable(defaultValue||[]);return{set:setValue,update:fn=>setValue(fn(storedItems)),subscribe:subscribe}}});const createStore=(accessors,stores,options)=>{const{store=defaultValue=>writable(defaultValue),defaultValue=noop$1,updateValue=undefined}=options;const storeInstance=store(defaultValue(),stores,accessors);const{subscribe,update=noop$1}=storeInstance;let unsub;const onUpdate=cb=>{let ignoreFirstCallback=true;if(unsub)unsub();unsub=subscribe(value=>{if(ignoreFirstCallback)return ignoreFirstCallback=false;cb(value);unsub();unsub=undefined})};const updateStoreValue=updateValue?updateValue(accessors):passthrough;storeInstance.set=nextValue=>update(previousValue=>updateStoreValue(nextValue,previousValue,onUpdate));storeInstance.defaultValue=defaultValue;return storeInstance};var createStores=props=>{const stores={};const accessors={};props.forEach(([name,...options])=>{const opts=mergeObjects(options);const store=stores[name]=createStore(accessors,stores,opts);const property={get:()=>get_store_value(store),set:store.set};Object.defineProperty(accessors,name,property)});return{stores:stores,accessors:accessors}};var props=[[\"src\"],[\"imageReader\"],[\"imageWriter\"],[\"imageScrambler\"],[\"images\",DEFAULT_VALUE(()=>[])],[\"shapePreprocessor\"],[\"willRequestResource\"]];var capitalizeFirstLetter=str=>str.charAt(0).toUpperCase()+str.slice(1);var defineMethods=(object,api)=>{Object.keys(api).forEach(name=>{const descriptor=isFunction(api[name])?{value:api[name],writable:false}:api[name];Object.defineProperty(object,name,descriptor)})};const pointInPoly=(point,vertices)=>{let i;let a;let b;let aX;let aY;let bX;let bY;let edgeX;let edgeY;let d;const l=vertices.length;for(i=0;il-1?0:i+1];aX=a.x-point.x;aY=a.y-point.y;bX=b.x-point.x;bY=b.y-point.y;edgeX=aX-bX;edgeY=aY-bY;d=edgeX*aY-edgeY*aX;if(d<-1e-5)return false}return true};const scalar=1e4;var offsetRectToFitPolygon=(rect,poly)=>{const polyLines=quadLines(poly);const offset=vectorCreateEmpty();const rectVertexes=rectGetCorners(rect);rectVertexes.forEach(vertex=>{vectorAdd(vertex,offset);if(pointInPoly(vertex,poly))return;polyLines.forEach(line=>{const a=Math.atan2(line.start.y-line.end.y,line.start.x-line.end.x);const x=Math.sin(Math.PI-a)*scalar;const y=Math.cos(Math.PI-a)*scalar;const ray=vectorCreate(vertex.x+x,vertex.y+y);const lineExtended=lineExtend(lineClone(line),scalar);const intersection=lineLineIntersection(lineCreate(vertex,ray),lineExtended);if(!intersection)return;vectorAdd(offset,vectorSubtract(vectorClone(intersection),vertex))})});const rectOffset=rectClone(rect);vectorAdd(rectOffset,offset);const rectOffsetVertices=rectGetCorners(rectOffset);const fits=rectOffsetVertices.every(vertex=>pointInPoly(vertex,poly));if(fits){rectUpdateWithRect(rect,rectOffset);return true}return false};var limitCropRectToImage=(rect,poly)=>{const rectVertexes=rectGetCorners(rect);const polyLines=quadLines(poly).map(line=>lineExtend(line,5));const rectCenterPosition=rectCenter(rect);const intersections=[];rectVertexes.forEach(rectVertex=>{const ray=lineMultiply(lineCreate(vectorClone(rectCenterPosition),vectorClone(rectVertex)),1e6);let intersectionFound=false;polyLines.map(lineClone).forEach(line=>{const intersection=lineLineIntersection(ray,line);if(!intersection||intersectionFound)return;intersections.push(intersection);intersectionFound=true})});const tlbr=vectorDistance(intersections[0],intersections[2]);const trbl=vectorDistance(intersections[1],intersections[3]);const rectLimitedVertices=tlbr{const imageRect=rectCreateFromSize(image);const imageCenter=rectCenter(imageRect);const imagePoly=rectApplyPerspective(imageRect,imagePerspective,imageCenter).map(imageVertex=>vectorRotate(imageVertex,imageRotation,imageCenter));const imagePolyBounds=rectCreateFromPoints(imagePoly);return imagePoly.map(imageVertex=>vectorSubtract(imageVertex,imagePolyBounds))};var getMaxSizeInRect=(size,rotation=0,aspectRatio=rectAspectRatio(size))=>{let width;let height;if(rotation!==0){const innerAngle=Math.atan2(1,aspectRatio);const rotationSigned=Math.sign(rotation)*rotation;const rotationSignedMod=rotationSigned%Math.PI;const rotationSignedModHalf=rotationSigned%HALF_PI;let hyp;let r;if(rotationSignedMod>QUART_PI&&rotationSignedModQUART_PI?rotationSigned:HALF_PI-rotationSignedModHalf}else{r=rotationSignedModHalf>QUART_PI?HALF_PI-rotationSignedModHalf:rotationSigned}hyp=Math.min(Math.abs(size.height/Math.sin(innerAngle+r)),Math.abs(size.width/Math.cos(innerAngle-r)));width=Math.cos(innerAngle)*hyp;height=width/aspectRatio}else{width=size.width;height=width/aspectRatio;if(height>size.height){height=size.height;width=height*aspectRatio}}return sizeCreate(width,height)};var limitRectToImage=(rect,imageSize,imageRotation=0,imagePerspective=vectorCreateEmpty(),minSize)=>{if(isNumber(imageRotation)&&imageRotation!==0||imagePerspective.x||imagePerspective.y){const inputAspectRatio=rectAspectRatio(rect);const imagePolygon=getImagePolygon(imageSize,imageRotation,imagePerspective);const maxSizeInRect=getMaxSizeInRect(imageSize,imageRotation,inputAspectRatio);const canFit=rect.widthmaxSizeInRect.width){rect.width=maxSizeInRect.width;rect.x+=dx}if(rect.height>maxSizeInRect.height){rect.height=maxSizeInRect.height;rect.y+=dy}}offsetRectToFitPolygon(rect,imagePolygon);const wasLimited=limitCropRectToImage(rect,imagePolygon);if(wasLimited)offsetRectToFitPolygon(rect,imagePolygon)}else{let intendedAspectRatio=rectAspectRatio(rect);rect.width=Math.min(rect.width,imageSize.width);rect.height=Math.min(rect.height,imageSize.height);rect.x=Math.max(rect.x,0);if(rect.x+rect.width>imageSize.width){rect.x-=rect.x+rect.width-imageSize.width}rect.y=Math.max(rect.y,0);if(rect.y+rect.height>imageSize.height){rect.y-=rect.y+rect.height-imageSize.height}const intendedCenter=rectCenter(rect);const containedRect=rectContainRect(rect,intendedAspectRatio);containedRect.width=Math.max(minSize.width,containedRect.width);containedRect.height=Math.max(minSize.height,containedRect.height);containedRect.x=intendedCenter.x-containedRect.width*.5;containedRect.y=intendedCenter.y-containedRect.height*.5;rectUpdateWithRect(rect,containedRect)}};var applyCropRectAction=(cropRectPrevious,cropRectNext,imageSize,imageRotation,imagePerspective,cropLimitToImageBounds,cropMinSize,cropMaxSize)=>{const minSize=sizeClone(cropMinSize);const maxSize=sizeClone(cropMaxSize);const maxScalar=fixPrecision(Math.max(cropRectNext.width/maxSize.width,cropRectNext.height/maxSize.height));const minScalar=fixPrecision(Math.min(cropRectNext.width/minSize.width,cropRectNext.height/minSize.height));const cropRectOut=rectClone(cropRectNext);if(minScalar<1||maxScalar>1){const previousCropRectCenter=rectCenter(cropRectPrevious);const nextCropRectCenter=rectCenter(cropRectNext);const scalar=minScalar<1?minScalar:maxScalar;const cx=(nextCropRectCenter.x+previousCropRectCenter.x)/2;const cy=(nextCropRectCenter.y+previousCropRectCenter.y)/2;const cw=cropRectOut.width/scalar;const ch=cropRectOut.height/scalar;rectUpdate(cropRectOut,cx-cw*.5,cy-ch*.5,cw,ch)}if(!cropLimitToImageBounds)return{crop:cropRectOut};limitRectToImage(cropRectOut,imageSize,imageRotation,imagePerspective,minSize);return{crop:cropRectOut}};var getBaseCropRect=(imageSize,transformedCropRect,imageRotation)=>{const imageRect=rectCreateFromSize(imageSize);const imageCenter=rectCenter(imageRect);const imageTransformedVertices=rectRotate(imageRect,imageRotation,imageCenter);const imageRotatedBoundsCenter=rectCenter(rectNormalizeOffset(rectCreateFromPoints(imageTransformedVertices)));const cropCenterInTransformedImage=rectCenter(transformedCropRect);const deRotatedCropCenter=vectorRotate(cropCenterInTransformedImage,-imageRotation,imageRotatedBoundsCenter);const cropFromCenterOfTransformedImage=vectorSubtract(deRotatedCropCenter,imageRotatedBoundsCenter);const originalCropCenterOffset=vectorApply(vectorAdd(imageCenter,cropFromCenterOfTransformedImage),fixPrecision);return rectCreate(originalCropCenterOffset.x-transformedCropRect.width*.5,originalCropCenterOffset.y-transformedCropRect.height*.5,transformedCropRect.width,transformedCropRect.height)};var clamp=(value,min,max)=>Math.max(min,Math.min(value,max));var applyRotationAction=(imageRotationPrevious,imageRotation,imageRotationRange,cropRect,imageSize,imagePerspective,cropLimitToImageBounds,cropRectOrigin,cropMinSize,cropMaxSize)=>{const minSize=sizeClone(cropMinSize);const maxSize=sizeClone(cropMaxSize);if(cropLimitToImageBounds){maxSize.width=Math.min(cropMaxSize.width,imageSize.width);maxSize.height=Math.min(cropMaxSize.height,imageSize.height)}let didAttemptDoubleTurn=false;const rotate=(rotationPrevious,rotation)=>{const cropRectBase=getBaseCropRect(imageSize,cropRect,rotationPrevious);const imageRect=rectCreateFromSize(imageSize);const imageCenter=rectCenter(imageRect);const imageTransformedCorners=rectApplyPerspective(imageRect,imagePerspective,imageCenter);const perspectiveOffset=vectorSubtract(vectorClone(imageCenter),convexPolyCentroid(imageTransformedCorners));const cropCenter=vectorRotate(rectCenter(cropRectBase),rotation,imageCenter);const rotateCropOffset=vectorSubtract(vectorClone(imageCenter),cropCenter);imageTransformedCorners.forEach(imageVertex=>vectorRotate(imageVertex,rotation,imageCenter));const imageBoundsRect=rectCreateFromPoints(imageTransformedCorners);const imageCentroid=convexPolyCentroid(imageTransformedCorners);const cropOffset=vectorAdd(vectorSubtract(vectorSubtract(imageCentroid,rotateCropOffset),imageBoundsRect),perspectiveOffset);const cropRectOut=rectCreate(cropOffset.x-cropRectBase.width*.5,cropOffset.y-cropRectBase.height*.5,cropRectBase.width,cropRectBase.height);if(cropRectOrigin){rectScale(cropRectOut,cropRectOrigin.width/cropRectOut.width)}if(cropLimitToImageBounds){const imagePoly=getImagePolygon(imageSize,rotation,imagePerspective);limitCropRectToImage(cropRectOut,imagePoly)}const minScalar=fixPrecision(Math.min(cropRectOut.width/minSize.width,cropRectOut.height/minSize.height),8);const maxScalar=fixPrecision(Math.max(cropRectOut.width/maxSize.width,cropRectOut.height/maxSize.height),8);if(minScalar<1||maxScalar>1){const isTurn=fixPrecision(Math.abs(rotation-rotationPrevious))===fixPrecision(Math.PI/2);if(isTurn&&!didAttemptDoubleTurn){didAttemptDoubleTurn=true;return rotate(imageRotationPrevious,imageRotationPrevious+Math.sign(rotation-rotationPrevious)*Math.PI)}}return{rotation:rotation,crop:rectApply(cropRectOut,v=>fixPrecision(v,8))}};const imageTurns=Math.sign(imageRotation)*Math.round(Math.abs(imageRotation)/HALF_PI)*HALF_PI;const imageRotationClamped=clamp(imageRotation,imageTurns+imageRotationRange[0],imageTurns+imageRotationRange[1]);return rotate(imageRotationPrevious,imageRotationClamped)};const ORDERED_STATE_PROPS=[\"cropLimitToImage\",\"cropMinSize\",\"cropMaxSize\",\"cropAspectRatio\",\"flipX\",\"flipY\",\"rotation\",\"crop\",\"colorMatrix\",\"convolutionMatrix\",\"gamma\",\"vignette\",\"redaction\",\"annotation\",\"decoration\",\"frame\",\"backgroundColor\",\"targetSize\",\"metadata\"];const clone=value=>{if(isArray(value)){return value.map(clone)}else if(isObject(value)){return{...value}}return value};const filterShapeState=shapes=>shapes.map(shape=>Object.entries(shape).reduce((copy,[key,value])=>{if(key.startsWith(\"_\"))return copy;copy[key]=value;return copy},{}));var stateStore=(_,stores,accessors)=>{const observedStores=ORDERED_STATE_PROPS.map(key=>stores[key]);const{subscribe}=derived(observedStores,(values,set)=>{const state=ORDERED_STATE_PROPS.reduce((prev,curr,i)=>{prev[curr]=clone(values[i]);return prev},{});state.crop&&rectApply(state.crop,Math.round);state.redaction=state.redaction&&filterShapeState(state.redaction);state.annotation=state.annotation&&filterShapeState(state.annotation);state.decoration=state.decoration&&filterShapeState(state.decoration);set(state)});const setState=state=>{if(!state)return;accessors.cropOrigin=undefined;ORDERED_STATE_PROPS.filter(key=>hasProp(state,key)).forEach(key=>{accessors[key]=clone(state[key])})};return{set:setState,update:fn=>setState(fn(null)),subscribe:subscribe}};var toNumericAspectRatio=v=>{if(!v)return undefined;if(/:/.test(v)){const[w,h]=v.split(\":\");return w/h}return parseFloat(v)};var arrayEqual=(a,b)=>{if(a.length!==b.length)return false;for(let i=0;icolor.length===4?color:[...color,opacity];const MIN_ROTATION=-QUART_PI;const MAX_ROTATION=QUART_PI;const isCropCentered=(crop,imageSize,imageRotation)=>{const cropCenter=vectorApply(rectCenter(crop),v=>fixPrecision(v,8));const imageRect=rectCreateFromSize(imageSize);const imageCenter=rectCenter(imageRect);const imageRotatedVertices=rectRotate(imageRect,imageRotation,imageCenter);const imageBoundsCenter=vectorApply(sizeCenter(rectCreateFromPoints(imageRotatedVertices)),v=>fixPrecision(v,8));const dx=Math.abs(imageBoundsCenter.x-cropCenter.x);const dy=Math.abs(imageBoundsCenter.y-cropCenter.y);return dx<1&&dy<1};const isCropMaxSize=(cropRect,imageSize,rotation)=>{const maxSize=getMaxSizeInRect(imageSize,rotation,rectAspectRatio(cropRect));return sizeEqual(sizeApply(maxSize,Math.round),sizeApply(sizeClone(cropRect),Math.round))};const updateCropRect=props=>(cropNext,cropPrevious=cropNext)=>{const{loadState,size,cropMinSize,cropMaxSize,cropLimitToImage,cropAspectRatio,rotation,perspective}=props;if(!cropNext&&!cropPrevious||!loadState||!loadState.beforeComplete)return cropNext;if(!cropNext)cropNext=rectCreateFromSize(getMaxSizeInRect(size,rotation,cropAspectRatio||rectAspectRatio(size)));const res=applyCropRectAction(cropPrevious,cropNext,size,rotation,perspective,cropLimitToImage,cropMinSize,cropMaxSize);const cropOut=rectApply(res.crop,v=>fixPrecision(v,8));return cropOut};const updateCropAspectRatio=props=>(aspectRatioNext,aspectRatioPrevious)=>{const{loadState,crop,size,rotation,cropLimitToImage}=props;const aspectRatio=toNumericAspectRatio(aspectRatioNext);if(!aspectRatio)return undefined;if(!crop||!loadState||!loadState.beforeComplete)return aspectRatio;const aspectRatioDist=aspectRatioPrevious?Math.abs(aspectRatioNext-aspectRatioPrevious):1;if(isCropCentered(crop,size,rotation)&&cropLimitToImage&&aspectRatioDist>=.1){const imageSize=sizeTurn(sizeClone(size),rotation);props.crop=rectApply(rectContainRect(rectCreateFromSize(imageSize),aspectRatioNext),fixPrecision)}else{const cropSize={width:crop.height*aspectRatio,height:crop.height};const tx=(crop.width-cropSize.width)*.5;const ty=(crop.height-cropSize.height)*.5;props.crop=rectApply(rectCreate(crop.x+tx,crop.y+ty,cropSize.width,cropSize.height),fixPrecision)}return aspectRatio};const updateCropLimitToImage=props=>(limitToImageNext,limitToImagePrevious,onUpdate)=>{const{crop}=props;if(!crop)return limitToImageNext;if(!limitToImagePrevious&&limitToImageNext){onUpdate(()=>props.crop=rectClone(props.crop))}return limitToImageNext};const updateRotation=props=>(rotationNext,rotationPrevious,onUpdate)=>{if(rotationNext===rotationPrevious)return rotationNext;const{loadState,size,rotationRange,cropMinSize,cropMaxSize,crop,perspective,cropLimitToImage,cropOrigin}=props;if(!crop||!loadState||!loadState.beforeComplete)return rotationNext;const cropWasAtMaxSize=isCropMaxSize(crop,size,rotationPrevious);const cropWasCentered=isCropCentered(crop,size,rotationPrevious);const res=applyRotationAction(rotationPrevious,rotationNext,rotationRange,crop,size,perspective,cropLimitToImage,cropOrigin,cropMinSize,cropMaxSize);if(cropWasAtMaxSize&&cropWasCentered){const rect=getMaxSizeInRect(size,rotationNext,rectAspectRatio(res.crop));res.crop.x+=res.crop.width*.5;res.crop.y+=res.crop.height*.5;res.crop.x-=rect.width*.5;res.crop.y-=rect.height*.5;res.crop.width=rect.width;res.crop.height=rect.height}onUpdate(()=>{props.crop=rectApply(res.crop,v=>fixPrecision(v,8))});return res.rotation};const updateRotationRange=(imageSize,imageIsRotatedSideways,cropMinSize,cropSize,cropLimitToImage)=>{if(!cropLimitToImage)return[MIN_ROTATION,MAX_ROTATION];const scalar=Math.max(cropMinSize.width/cropSize.width,cropMinSize.height/cropSize.height);const minSize=sizeCreate(cropSize.width*scalar,cropSize.height*scalar);const requiredSpace=sizeHypotenuse(minSize);const availableSpace=Math.min(imageSize.width,imageSize.height);if(requiredSpace{const minSize=sizeClone(cropMinSize);const maxSize=sizeClone(cropMaxSize);if(!cropLimitToImage)return[minSize,maxSize];return[minSize,sizeApply(getMaxSizeInRect(imageSize,rotation,cropAspectRatio),Math.round)]};const formatShape=(shape,options)=>{const{context,props}=options;if(!shape._isFormatted){shape=shapeFormat(shape);shape._isFormatted=true;Object.assign(shape,props)}if(!shape._isDraft&&shapeHasRelativeSize(shape)&&(!shape._context||!rectEqual(context,shape._context))){shape=shapeComputeRect(shape,context);shape._context={...context}}return shape};const updateFrame=()=>frameShapeNext=>{if(!frameShapeNext)return;const shape={frameStyle:undefined,x:0,y:0,width:\"100%\",height:\"100%\",disableStyle:[\"backgroundColor\",\"strokeColor\",\"strokeWidth\"]};if(isString(frameShapeNext)){shape.frameStyle=frameShapeNext}else{Object.assign(shape,frameShapeNext)}return shape};var imageProps=[[\"file\"],[\"size\"],[\"loadState\"],[\"processState\"],[\"aspectRatio\",DERIVED_STORE(({size})=>[size,$size=>$size?rectAspectRatio($size):undefined])],[\"perspectiveX\",DEFAULT_VALUE(()=>0)],[\"perspectiveY\",DEFAULT_VALUE(()=>0)],[\"perspective\",DERIVED_STORE(({perspectiveX,perspectiveY})=>[[perspectiveX,perspectiveY],([x,y])=>({x:x,y:y})])],[\"rotation\",DEFAULT_VALUE(()=>0),UPDATE_VALUE(updateRotation)],[\"flipX\",DEFAULT_VALUE(()=>false)],[\"flipY\",DEFAULT_VALUE(()=>false)],[\"flip\",DERIVED_STORE(({flipX,flipY})=>[[flipX,flipY],([x,y])=>({x:x,y:y})])],[\"isRotatedSideways\",UNIQUE_DERIVED_STORE(({rotation})=>[[rotation],([$rotation],set)=>set(isRotatedSideways($rotation)),(prevValue,nextValue)=>prevValue!==nextValue])],[\"crop\",UPDATE_VALUE(updateCropRect)],[\"cropAspectRatio\",UPDATE_VALUE(updateCropAspectRatio)],[\"cropOrigin\"],[\"cropMinSize\",DEFAULT_VALUE(()=>({width:1,height:1}))],[\"cropMaxSize\",DEFAULT_VALUE(()=>({width:32768,height:32768}))],[\"cropLimitToImage\",DEFAULT_VALUE(()=>true),UPDATE_VALUE(updateCropLimitToImage)],[\"cropSize\",UNIQUE_DERIVED_STORE(({crop})=>[[crop],([$crop],set)=>{if(!$crop)return;set(sizeCreate($crop.width,$crop.height))},(prevValue,nextValue)=>sizeEqual(prevValue,nextValue)])],[\"cropRectAspectRatio\",DERIVED_STORE(({cropSize})=>[[cropSize],([$cropSize],set)=>{if(!$cropSize)return;set(fixPrecision(rectAspectRatio($cropSize),5))}])],[\"cropRange\",UNIQUE_DERIVED_STORE(({size,rotation,cropRectAspectRatio,cropMinSize,cropMaxSize,cropLimitToImage})=>[[size,rotation,cropRectAspectRatio,cropMinSize,cropMaxSize,cropLimitToImage],([$size,$rotation,$cropRectAspectRatio,$cropMinSize,$cropMaxSize,$cropLimitToImage],set)=>{if(!$size)return;const range=updateCropRange($size,$rotation,$cropRectAspectRatio,$cropMinSize,$cropMaxSize,$cropLimitToImage);set(range)},(prevRange,nextRange)=>arrayEqual(prevRange,nextRange)])],[\"rotationRange\",UNIQUE_DERIVED_STORE(({size,isRotatedSideways,cropMinSize,cropSize,cropLimitToImage})=>[[size,isRotatedSideways,cropMinSize,cropSize,cropLimitToImage],([$size,$isRotatedSideways,$cropMinSize,$cropSize,$cropLimitToImage],set)=>{if(!$size||!$cropSize)return;const range=updateRotationRange($size,$isRotatedSideways,$cropMinSize,$cropSize,$cropLimitToImage);set(range)},(prevRange,nextRange)=>arrayEqual(prevRange,nextRange)])],[\"backgroundColor\",UPDATE_VALUE(()=>color=>padColorArray(color))],[\"targetSize\"],[\"colorMatrix\"],[\"convolutionMatrix\"],[\"gamma\"],[\"noise\"],[\"vignette\"],[\"redaction\",MAP_STORE(({size})=>[formatShape,{context:size}])],[\"annotation\",MAP_STORE(({size})=>[formatShape,{context:size}])],[\"decoration\",MAP_STORE(({crop})=>[formatShape,{context:crop}])],[\"frame\",UPDATE_VALUE(updateFrame)],[\"metadata\"],[\"state\",CUSTOM_STORE(stateStore)]];var process=async(value,chainTasks,chainOptions={},processOptions)=>{const{ontaskstart,ontaskprogress,ontaskend,token}=processOptions;let cancelled=false;token.cancel=()=>{cancelled=true};for(const[index,task]of chainTasks.entries()){if(cancelled)return;const[fn,id]=task;ontaskstart(index,id);try{value=await fn(value,{...chainOptions},event=>ontaskprogress(index,id,event))}catch(err){cancelled=true;throw err}ontaskend(index,id)}return value};var createImageCore=({minSize={width:1,height:1}}={})=>{const{stores,accessors}=createStores(imageProps);const{pub,sub}=pubsub();const createProcessingHandler=(stateProp,eventKey)=>{const getStore=()=>accessors[stateProp]||{};const setStore=obj=>accessors[stateProp]={...getStore(),...obj,timeStamp:Date.now()};const hasError=()=>getStore().error;const handleError=error=>{if(hasError())return;setStore({error:error});pub(`${eventKey}error`,{...getStore()})};return{start(){pub(`${eventKey}start`)},onabort(){setStore({abort:true});pub(`${eventKey}abort`,{...getStore()})},ontaskstart(index,id){if(hasError())return;setStore({index:index,task:id,taskProgress:undefined,taskLengthComputable:undefined});pub(`${eventKey}taskstart`,{...getStore()})},ontaskprogress(index,id,event){if(hasError())return;setStore({index:index,task:id,taskProgress:event.loaded/event.total,taskLengthComputable:event.lengthComputable});pub(`${eventKey}taskprogress`,{...getStore()});pub(`${eventKey}progress`,{...getStore()})},ontaskend(index,id){if(hasError())return;setStore({index:index,task:id});pub(`${eventKey}taskend`,{...getStore()})},ontaskerror(error){handleError(error)},error(error){handleError(error)},beforeComplete(data){if(hasError())return;setStore({beforeComplete:true});pub(`before${eventKey}`,data)},complete(data){if(hasError())return;setStore({complete:true});pub(eventKey,data)}}};const read=(src,{reader})=>{if(!reader)return;Object.assign(accessors,{file:undefined,size:undefined,loadState:undefined});let imageReadToken={cancel:noop$1};let imageReadCancelled=false;const imageReadHandler=createProcessingHandler(\"loadState\",\"load\");const processOptions={token:imageReadToken,...imageReadHandler};const readerState={src:src,size:undefined,dest:undefined};const readerOptions={};Promise.resolve().then(async()=>{try{imageReadHandler.start();if(imageReadCancelled)return imageReadHandler.onabort();const output=await process(readerState,reader,readerOptions,processOptions);if(imageReadCancelled)return imageReadHandler.onabort();const{size,dest}=output||{};if(!size||!size.width||!size.height)throw new EditorError(\"Image size missing\",\"IMAGE_SIZE_MISSING\",output);if(size.width{imageReadCancelled=true;imageReadToken&&imageReadToken.cancel();imageReadHandler.onabort()}};const write=(writer,options)=>{if(!accessors.loadState.complete)return;accessors.processState=undefined;const imageWriteHandler=createProcessingHandler(\"processState\",\"process\");const writerState={src:accessors.file,imageState:accessors.state,dest:undefined};if(!writer){imageWriteHandler.start();imageWriteHandler.complete(writerState);return}let imageWriteToken={cancel:noop$1};let imageWriteCancelled=false;const writerOptions=options;const processOptions={token:imageWriteToken,...imageWriteHandler};Promise.resolve().then(async()=>{try{imageWriteHandler.start();if(imageWriteCancelled)return imageWriteHandler.onabort();const output=await process(writerState,writer,writerOptions,processOptions);imageWriteHandler.complete(output)}catch(err){imageWriteHandler.error(err)}finally{imageWriteToken=undefined}});return()=>{imageWriteCancelled=true;imageWriteToken&&imageWriteToken.cancel()}};defineMethods(accessors,{read:read,write:write,on:sub});return{accessors:accessors,stores:stores}};const editorEventsToBubble=[\"loadstart\",\"loadabort\",\"loaderror\",\"loadprogress\",\"load\",\"processstart\",\"processabort\",\"processerror\",\"processprogress\",\"process\"];const imagePrivateProps=[\"flip\",\"cropOrigin\",\"isRotatedSideways\",\"perspective\",\"perspectiveX\",\"perspectiveY\",\"cropRange\"];const editorPrivateProps=[\"images\"];const imagePublicProps=imageProps.map(([prop])=>prop).filter(prop=>!imagePrivateProps.includes(prop));const getImagePropGroupedName=prop=>`image${capitalizeFirstLetter(prop)}`;const getEditorProps$1=()=>{const imageProperties=imagePublicProps.map(getImagePropGroupedName);const editorProperties=props.map(([prop])=>prop).filter(prop=>!editorPrivateProps.includes(prop));return imageProperties.concat(editorProperties)};const isImageSource=src=>isString(src)||isBinary(src)||isElement(src);const isImageState=obj=>hasProp(obj,\"crop\");var createImageEditor=()=>{const{stores,accessors}=createStores(props);const{sub,pub}=pubsub();const bubble=name=>value=>pub(name,value);const getImageObjSafe=()=>accessors.images?accessors.images[0]:{};let initialImageProps={};imagePublicProps.forEach(prop=>{Object.defineProperty(accessors,getImagePropGroupedName(prop),{get:()=>{const image=getImageObjSafe();if(!image)return;return image.accessors[prop]},set:value=>{initialImageProps[getImagePropGroupedName(prop)]=value;const image=getImageObjSafe();if(!image)return;image.accessors[prop]=value}})});const getImage=()=>accessors.images&&accessors.images[0];const unsubSrc=stores.src.subscribe(src=>{if(!src)return accessors.images=[];if(!accessors.imageReader)return;if(accessors.images.length)initialImageProps={};loadSrc(src)});const unsubReader=stores.imageReader.subscribe(reader=>{if(!reader)return;if(accessors.images.length)return;if(!accessors.src)return;loadSrc(accessors.src)});const loadSrc=src=>{Promise.resolve().then(()=>{return loadImage(src,initialImageProps)}).catch(()=>{})};const applyImageOptionsOrState=(image,options)=>{if(isImageState(options)){accessors.imageState=options;return}if(!options.imageCrop){const imageSize=image.accessors.size;const imageRotation=options.imageRotation||0;const cropRect=rectCreateFromSize(sizeRotate(sizeClone(imageSize),imageRotation));const aspectRatio=options.imageCropAspectRatio||(options.imageCropLimitToImage?rectAspectRatio(imageSize):rectAspectRatio(cropRect));const crop=rectContainRect(cropRect,aspectRatio);if(!options.imageCropLimitToImage){crop.x=(imageSize.width-crop.width)/2;crop.y=(imageSize.height-crop.height)/2}options.imageCrop=crop}[\"imageCropLimitToImage\",\"imageCrop\",\"imageCropAspectRatio\",\"imageRotation\"].filter(prop=>hasProp(options,prop)).forEach(prop=>{accessors[prop]=options[prop];delete options[prop]});const{imageCropLimitToImage,imageCrop,imageCropAspectRatio,imageRotation,...remainingOptions}=options;Object.assign(accessors,remainingOptions)};let imageLoadAbort;const loadImage=(src,options={})=>new Promise((resolve,reject)=>{let image=getImage();const cropLimitedToImage=!(options.cropLimitToImage===false||options.imageCropLimitToImage===false);const cropMinSize=options.cropMinSize||options.imageCropMinSize;const minImageSize=cropLimitedToImage?cropMinSize:image&&image.accessors.cropMinSize;if(image)removeImage();image=createImageCore({minSize:minImageSize});editorEventsToBubble.map(event=>image.accessors.on(event,bubble(event)));const fin=()=>{initialImageProps={};unsubs.forEach(unsub=>unsub())};const unsubs=[];unsubs.push(image.accessors.on(\"loaderror\",error=>{fin();reject(error)}));unsubs.push(image.accessors.on(\"loadabort\",()=>{fin();reject({name:\"AbortError\"})}));unsubs.push(image.accessors.on(\"load\",output=>{imageLoadAbort=undefined;fin();resolve(output)}));unsubs.push(image.accessors.on(\"beforeload\",()=>applyImageOptionsOrState(image,options)));accessors.images=[image];if(options.imageReader)accessors.imageReader=options.imageReader;if(options.imageWriter)accessors.imageWriter=options.imageWriter;imageLoadAbort=image.accessors.read(src,{reader:accessors.imageReader})});let imageProcessAbort;const processImage=(src,options)=>new Promise(async(resolve,reject)=>{if(isImageSource(src)){await loadImage(src,options)}else if(src){if(isImageState(src)){accessors.imageState=src}else{Object.assign(accessors,src)}}const image=getImage();if(!image)return reject(\"no image\");const fin=()=>{imageProcessAbort=undefined;unsubs.forEach(unsub=>unsub())};const unsubs=[];unsubs.push(image.accessors.on(\"processerror\",error=>{fin();reject(error)}));unsubs.push(image.accessors.on(\"processabort\",()=>{fin();reject({name:\"AbortError\"})}));unsubs.push(image.accessors.on(\"process\",output=>{fin();resolve(output)}));imageProcessAbort=image.accessors.write(accessors.imageWriter,{shapePreprocessor:accessors.shapePreprocessor||passthrough,imageScrambler:accessors.imageScrambler,willRequestResource:accessors.willRequestResource})});const abortProcessImage=()=>{const image=getImage();if(!image)return;if(imageProcessAbort)imageProcessAbort();image.accessors.processState=undefined};const abortLoadImage=()=>{if(imageLoadAbort)imageLoadAbort();accessors.images=[]};const editImage=(src,options)=>new Promise((resolve,reject)=>{loadImage(src,options).then(()=>{const{images}=accessors;const image=images[0];const done=()=>{unsubReject();unsubResolve()};const unsubReject=image.accessors.on(\"processerror\",error=>{done();reject(error)});const unsubResolve=image.accessors.on(\"process\",output=>{done();resolve(output)})}).catch(reject)});const removeImage=()=>{const image=getImage();if(!image)return;if(imageLoadAbort)imageLoadAbort();image.accessors.loadState=undefined;accessors.images=[]};Object.defineProperty(accessors,\"stores\",{get:()=>stores});defineMethods(accessors,{on:sub,loadImage:loadImage,abortLoadImage:abortLoadImage,editImage:editImage,removeImage:removeImage,processImage:processImage,abortProcessImage:abortProcessImage,destroy:()=>{unsubSrc();unsubReader()}});return accessors};const processImage=(src,options)=>{const{processImage}=createImageEditor();return processImage(src,options)};var getCanvasMemoryLimit=()=>{if(!isSafari$1())return Infinity;const isSafari15=/15_/.test(navigator.userAgent);if(isIOS()){if(isSafari15)return 3840*3840;return 4096*4096}return isSafari15?4096*4096:Infinity};const createCanvasImageDrawer=({imageDataResizer}={})=>async(ctx,image,srcRect,destRect)=>{const{dest}=await processImage(image,{imageReader:createDefaultImageReader$1(),imageWriter:createDefaultImageWriter$1({format:\"canvas\",targetSize:{...destRect,upscale:true},imageDataResizer:imageDataResizer}),imageCrop:srcRect});ctx.drawImage(dest,destRect.x,destRect.y,destRect.width,destRect.height);releaseCanvas(dest)};const connect=(fn,getter=(...args)=>args,setter)=>async(state,options,onprogress)=>{onprogress(createProgressEvent(0,false));let progressUpdated=false;const res=await fn(...getter(state,options,event=>{progressUpdated=true;onprogress(event)}));setter&&setter(state,res);if(!progressUpdated)onprogress(createProgressEvent(1,false));return state};const AnyToFile=({srcProp=\"src\",destProp=\"dest\"}={})=>[connect(srcToFile,(state,options,onprogress)=>[state[srcProp],onprogress],(state,file)=>state[destProp]=file),\"any-to-file\"];const BlobReadImageSize=({srcProp=\"src\",destProp=\"size\"}={})=>[connect(getImageSize,(state,options)=>[state[srcProp]],(state,size)=>state[destProp]=size),\"read-image-size\"];const ImageSizeMatchOrientation=({srcSize=\"size\",srcOrientation=\"orientation\",destSize=\"size\"}={})=>[connect(orientImageSize,state=>[state[srcSize],state[srcOrientation]],(state,size)=>state[destSize]=size),\"image-size-match-orientation\"];const BlobReadImageHead=({srcProp=\"src\",destProp=\"head\"}={})=>[connect((blob,slice)=>isJPEG(blob)?blobReadSection(blob,slice):undefined,state=>[state[srcProp],[0,64*2048],onprogress],(state,head)=>state[destProp]=head),\"read-image-head\"];const ImageHeadReadExifOrientationTag=({srcProp=\"head\",destProp=\"orientation\"}={})=>[connect(arrayBufferImageExif,state=>[state[srcProp],ORIENTATION_TAG],(state,orientation=1)=>state[destProp]=orientation),\"read-exif-orientation-tag\"];const ImageHeadClearExifOrientationTag=({srcProp=\"head\"}={})=>[connect(arrayBufferImageExif,state=>[state[srcProp],ORIENTATION_TAG,1]),\"clear-exif-orientation-tag\"];const CalculateCanvasScalar=({srcImageSize=\"size\",srcCanvasSize=\"imageData\",srcImageState=\"imageState\",destImageSize=\"size\",destScalar=\"scalar\"}={})=>[connect((naturalSize,canvasSize)=>{return[Math.min(canvasSize.width/naturalSize.width,canvasSize.height/naturalSize.height),sizeCreateFromAny(canvasSize)]},state=>[state[srcImageSize],state[srcCanvasSize],state[srcImageState]],(state,[scalar,imageSize])=>{state[destScalar]=scalar;state[destImageSize]=imageSize}),\"calculate-canvas-scalar\"];const BlobToImageData=({srcProp=\"src\",destProp=\"imageData\",canvasMemoryLimit=undefined})=>[connect(blobToImageData,state=>[state[srcProp],canvasMemoryLimit],(state,imageData)=>state[destProp]=imageData),\"blob-to-image-data\"];const ImageDataMatchOrientation=({srcImageData=\"imageData\",srcOrientation=\"orientation\"}={})=>[connect(orientImageData,state=>[state[srcImageData],state[srcOrientation]],(state,imageData)=>state.imageData=imageData),\"image-data-match-orientation\"];const ImageDataFill=({srcImageData=\"imageData\",srcImageState=\"imageState\"}={})=>[connect(fillImageData,state=>[state[srcImageData],{backgroundColor:state[srcImageState].backgroundColor}],(state,imageData)=>state.imageData=imageData),\"image-data-fill\"];const ImageDataCrop=({srcImageData=\"imageData\",srcImageState=\"imageState\",destScalar=\"scalar\"}={})=>[connect(cropImageData,state=>{const scalar=state[destScalar];let{crop}=state[srcImageState];if(crop&&scalar!==1){crop=rectScale(rectClone(crop),scalar,vectorCreateEmpty())}return[state[srcImageData],{crop:crop,rotation:state[srcImageState].rotation,flipX:state[srcImageState].flipX,flipY:state[srcImageState].flipY}]},(state,imageData)=>state.imageData=imageData),\"image-data-crop\"];const hasTargetSize=imageState=>!!(imageState.targetSize&&imageState.targetSize.width||imageState.targetSize&&imageState.targetSize.height);const ImageDataResize=({targetSize={width:undefined,height:undefined,fit:undefined,upscale:undefined},imageDataResizer=undefined,srcProp=\"imageData\",srcImageState=\"imageState\",destImageScaledSize=\"imageScaledSize\"})=>[connect(resizeImageData,state=>[state[srcProp],{width:Math.min(targetSize.width||Number.MAX_SAFE_INTEGER,state[srcImageState].targetSize&&state[srcImageState].targetSize.width||Number.MAX_SAFE_INTEGER),height:Math.min(targetSize.height||Number.MAX_SAFE_INTEGER,state[srcImageState].targetSize&&state[srcImageState].targetSize.height||Number.MAX_SAFE_INTEGER),fit:targetSize.fit||\"contain\",upscale:hasTargetSize(state[srcImageState])?true:targetSize.upscale||false},imageDataResizer],(state,imageData)=>{if(!sizeEqual(state.imageData,imageData))state[destImageScaledSize]=sizeCreateFromAny(imageData);state.imageData=imageData}),\"image-data-resize\"];const ImageDataFilter=({srcImageData=\"imageData\",srcImageState=\"imageState\",destImageData=\"imageData\"}={})=>[connect(filterImageData,state=>{const{colorMatrix}=state[srcImageState];const colorMatrices=colorMatrix&&Object.keys(colorMatrix).map(name=>colorMatrix[name]).filter(Boolean);return[state[srcImageData],{colorMatrix:colorMatrices&&getColorMatrixFromColorMatrices(colorMatrices),convolutionMatrix:state[srcImageState].convolutionMatrix,gamma:state[srcImageState].gamma,noise:state[srcImageState].noise,vignette:state[srcImageState].vignette}]},(state,imageData)=>state[destImageData]=imageData),\"image-data-filter\"];const createImageContextDrawingTransform=(state,{srcSize,srcImageState,destImageScaledSize,destScalar})=>ctx=>{const imageSize=state[srcSize];const{rotation=0,flipX,flipY}=state[srcImageState];const canvasScalar=state[destScalar];let{crop=rectCreateFromSize(imageSize)}=state[srcImageState];if(canvasScalar!==1){crop=rectScale(rectClone(crop),canvasScalar,vectorCreateEmpty())}const rotatedRect=getImageTransformedRect(imageSize,rotation);const rotatedSize={width:rotatedRect.width,height:rotatedRect.height};const scaledSize=state[destImageScaledSize];const scalar=scaledSize?Math.min(scaledSize.width/crop.width,scaledSize.height/crop.height):1;const dx=imageSize.width*.5-rotatedSize.width*.5;const dy=imageSize.height*.5-rotatedSize.height*.5;const center=sizeCenter(imageSize);ctx.scale(scalar,scalar);ctx.translate(-dx,-dy);ctx.translate(-crop.x,-crop.y);ctx.translate(center.x,center.y);ctx.rotate(rotation);ctx.translate(-center.x,-center.y);ctx.scale(flipX?-1:1,flipY?-1:1);ctx.translate(flipX?-imageSize.width:0,flipY?-imageSize.height:0);ctx.rect(0,0,imageSize.width,imageSize.height);ctx.clip()};const ImageDataRedact=({srcImageData=\"imageData\",srcImageState=\"imageState\",destImageData=\"imageData\",destScalar=\"scalar\"}={})=>[connect(async(imageData,imageScrambler,imageBackgroundColor,shapes,scalar)=>{if(!imageScrambler)return imageData;let scrambledCanvas;try{const options={dataSizeScalar:getImageRedactionScaleFactor(imageData,shapes)};if(imageBackgroundColor&&imageBackgroundColor[3]>0){options.backgroundColor=[...imageBackgroundColor]}scrambledCanvas=await imageScrambler(imageData,options)}catch(err){}const canvas=h(\"canvas\");canvas.width=imageData.width;canvas.height=imageData.height;const ctx=canvas.getContext(\"2d\");ctx.putImageData(imageData,0,0);const path=new Path2D;shapes.forEach(shape=>{const rect=rectCreate(shape.x,shape.y,shape.width,shape.height);rectMultiply(rect,scalar);const corners=rectRotate(rectClone(rect),shape.rotation);const poly=new Path2D;corners.forEach((corner,i)=>{if(i===0)return poly.moveTo(corner.x,corner.y);poly.lineTo(corner.x,corner.y)});path.addPath(poly)});ctx.clip(path,\"nonzero\");ctx.imageSmoothingEnabled=false;ctx.drawImage(scrambledCanvas,0,0,canvas.width,canvas.height);releaseCanvas(scrambledCanvas);const imageDataOut=ctx.getImageData(0,0,canvas.width,canvas.height);releaseCanvas(canvas);return imageDataOut},(state,{imageScrambler})=>[state[srcImageData],imageScrambler,state[srcImageState].backgroundColor,state[srcImageState].redaction,state[destScalar]],(state,imageData)=>state[destImageData]=imageData),\"image-data-redact\"];const ImageDataAnnotate=({srcImageData=\"imageData\",srcSize=\"size\",srcImageState=\"imageState\",destImageData=\"imageData\",destImageScaledSize=\"imageScaledSize\",destScalar=\"scalar\",imageDataResizer=undefined}={})=>[connect(drawImageData,(state,{shapePreprocessor,willRequestResource})=>{const scalar=state[destScalar];let{annotation}=state[srcImageState];if(scalar!==1){const translate=vectorCreateEmpty();annotation=annotation.map(shape=>shapeComputeTransform(shapeShallowCopy(shape),translate,scalar))}return[state[srcImageData],{shapes:annotation,context:state[srcSize],transform:createImageContextDrawingTransform(state,{srcSize:srcSize,srcImageState:srcImageState,destImageScaledSize:destImageScaledSize,destScalar:destScalar}),drawImage:createCanvasImageDrawer({imageDataResizer:imageDataResizer}),preprocessShape:shape=>shapePreprocessor(shape,{isPreview:false}),willRequestResource:willRequestResource}]},(state,imageData)=>state[destImageData]=imageData),\"image-data-annotate\"];const ImageDataDecorate=({srcImageData=\"imageData\",srcImageState=\"imageState\",destImageData=\"imageData\",destImageScaledSize=\"imageScaledSize\",imageDataResizer=undefined,destScalar=\"scalar\"}={})=>[connect(drawImageData,(state,{shapePreprocessor,willRequestResource})=>{const scalar=state[destScalar];let{decoration,crop}=state[srcImageState];if(scalar!==1){const translate=vectorCreateEmpty();decoration=decoration.map(shape=>shapeComputeTransform(shapeShallowCopy(shape),translate,scalar));if(crop)crop=rectScale(rectClone(crop),scalar,vectorCreateEmpty())}return[state[srcImageData],{shapes:decoration,context:crop,transform:ctx=>{const scaledSize=state[destImageScaledSize];const contextScalar=scaledSize?Math.min(scaledSize.width/crop.width,scaledSize.height/crop.height):1;ctx.scale(contextScalar,contextScalar)},drawImage:createCanvasImageDrawer({imageDataResizer:imageDataResizer}),preprocessShape:shape=>shapePreprocessor(shape,{isPreview:false}),willRequestResource:willRequestResource}]},(state,imageData)=>state[destImageData]=imageData),\"image-data-decorate\"];const ImageDataFrame=({srcImageData=\"imageData\",srcImageState=\"imageState\",destImageData=\"imageData\",destImageScaledSize=\"imageScaledSize\",imageDataResizer=undefined,destScalar=\"scalar\"}={})=>[connect(drawImageData,(state,{shapePreprocessor,willRequestResource})=>{const frame=state[srcImageState].frame;if(!frame)return[state[srcImageData]];const scalar=state[destScalar];let{crop}=state[srcImageState];if(crop&&scalar!==1){crop=rectScale(rectClone(crop),scalar,vectorCreateEmpty())}const context={...crop};const bounds=shapesBounds(shapesFromCompositShape(frame,context,shapePreprocessor),context);context.x=Math.abs(bounds.left);context.y=Math.abs(bounds.top);context.width+=Math.abs(bounds.left)+Math.abs(bounds.right);context.height+=Math.abs(bounds.top)+Math.abs(bounds.bottom);const scaledSize=state[destImageScaledSize];const contaxtScalar=scaledSize?Math.min(scaledSize.width/crop.width,scaledSize.height/crop.height):1;rectMultiply(context,contaxtScalar);context.x=Math.floor(context.x);context.y=Math.floor(context.y);context.width=Math.floor(context.width);context.height=Math.floor(context.height);return[state[srcImageData],{shapes:[frame],contextBounds:context,transform:ctx=>{ctx.translate(context.x,context.y)},drawImage:createCanvasImageDrawer({imageDataResizer:imageDataResizer}),preprocessShape:shape=>shapePreprocessor(shape,{isPreview:false}),willRequestResource:willRequestResource}]},(state,imageData)=>state[destImageData]=imageData),\"image-data-frame\"];const ImageDataToBlob=({mimeType=undefined,quality=undefined,srcImageData=\"imageData\",srcFile=\"src\",destBlob=\"blob\"}={})=>[connect(imageDataToBlob,state=>[state[srcImageData],mimeType||getMimeTypeFromFilename(state[srcFile].name)||state[srcFile].type,quality],(state,blob)=>state[destBlob]=blob),\"image-data-to-blob\"];const ImageDataToCanvas=({srcImageData=\"imageData\",srcOrientation=\"orientation\",destCanvas=\"dest\"}={})=>[connect(imageDataToCanvas,state=>[state[srcImageData],state[srcOrientation]],(state,canvas)=>state[destCanvas]=canvas),\"image-data-to-canvas\"];const writeImageHead=async(blob,head)=>{if(!isJPEG(blob)||!head)return blob;const view=new DataView(head);const markers=dataViewGetApplicationMarkers(view);if(!markers||!markers.exif)return blob;const{exif}=markers;const exifBuffer=head.slice(0,exif.offset+exif.size+2);return blobWriteSection(blob,exifBuffer,[20])};const BlobWriteImageHead=(srcBlob=\"blob\",srcHead=\"head\",destBlob=\"blob\")=>[connect(writeImageHead,state=>[state[srcBlob],state[srcHead]],(state,blob)=>state[destBlob]=blob),\"blob-write-image-head\"];const BlobToFile=({renameFile=undefined,srcBlob=\"blob\",srcFile=\"src\",destFile=\"dest\",defaultFilename=undefined}={})=>[connect(blobToFile,state=>[state[srcBlob],renameFile?renameFile(state[srcFile]):state[srcFile].name||`${defaultFilename}.${getExtensionFromMimeType(state[srcBlob].type)}`],(state,file)=>state[destFile]=file),\"blob-to-file\"];const Store=({url=\"./\",dataset=state=>[[\"dest\",state.dest,state.dest.name],[\"imageState\",state.imageState]],destStore=\"store\"})=>[connect(async(dataset,onprogress)=>await post(url,dataset,{onprogress:onprogress}),(state,options,onprogress)=>[dataset(state),onprogress],(state,xhr)=>state[destStore]=xhr),\"store\"];const PropFilter=allowlist=>[connect(state=>{if(!allowlist||!allowlist.length)return state;Object.keys(state).forEach(key=>{if(allowlist.includes(key))return;delete state[key]});return state}),\"prop-filter\"];const createDefaultImageReader$1=(options={})=>{const{orientImage=true,outputProps=[\"src\",\"dest\",\"size\"],preprocessImageFile}=options;return[AnyToFile(),preprocessImageFile&&[connect(preprocessImageFile,(state,options,onprogress)=>[state.dest,options,onprogress],(state,file)=>state.dest=file),\"preprocess-image-file\"],BlobReadImageSize({srcProp:\"dest\"}),orientImage&&BlobReadImageHead({srcProp:\"dest\"}),orientImage&&ImageHeadReadExifOrientationTag(),orientImage&&ImageSizeMatchOrientation(),PropFilter(outputProps)].filter(Boolean)};const createDefaultImageWriter$1=(options={})=>{const{canvasMemoryLimit=getCanvasMemoryLimit(),orientImage=true,copyImageHead=true,mimeType=undefined,quality=undefined,renameFile=undefined,targetSize=undefined,imageDataResizer=undefined,store=undefined,format=\"file\",outputProps=[\"src\",\"dest\",\"imageState\",\"store\"],preprocessImageSource,preprocessImageState,postprocessImageData,postprocessImageBlob}=options;return[preprocessImageSource&&[connect(preprocessImageSource,(state,options,onprogress)=>[state.src,options,onprogress],(state,src)=>state.src=src),\"preprocess-image-source\"],(orientImage||copyImageHead)&&BlobReadImageHead(),orientImage&&ImageHeadReadExifOrientationTag(),BlobReadImageSize(),preprocessImageState&&[connect(preprocessImageState,(state,options,onprogress)=>[state.imageState,options,onprogress],(state,imageState)=>state.imageState=imageState),\"preprocess-image-state\"],BlobToImageData({canvasMemoryLimit:canvasMemoryLimit}),orientImage&&ImageSizeMatchOrientation(),orientImage&&ImageDataMatchOrientation(),CalculateCanvasScalar(),ImageDataRedact(),ImageDataCrop(),ImageDataResize({targetSize:targetSize,imageDataResizer:imageDataResizer}),ImageDataFilter(),ImageDataFill(),ImageDataAnnotate({imageDataResizer:imageDataResizer}),ImageDataDecorate({imageDataResizer:imageDataResizer}),ImageDataFrame({imageDataResizer:imageDataResizer}),postprocessImageData&&[connect(postprocessImageData,(state,options,onprogress)=>[state.imageData,options,onprogress],(state,imageData)=>state.imageData=imageData),\"postprocess-image-data\"],format===\"file\"?ImageDataToBlob({mimeType:mimeType,quality:quality}):format===\"canvas\"?ImageDataToCanvas():[state=>{state.dest=state.imageData;return state}],format===\"file\"&&orientImage&&ImageHeadClearExifOrientationTag(),format===\"file\"&©ImageHead&&BlobWriteImageHead(),postprocessImageBlob&&[connect(postprocessImageBlob,({blob,imageData,src},options,onprogress)=>[{blob:blob,imageData:imageData,src:src},options,onprogress],(state,blob)=>state.blob=blob),\"postprocess-image-file\"],format===\"file\"&&BlobToFile({defaultFilename:\"image\",renameFile:renameFile}),format===\"file\"?store&&(isString(store)?Store({url:store}):isFunction(store)?[store,\"store\"]:Store(store)):isFunction(store)&&[store,\"store\"],PropFilter(outputProps)].filter(Boolean)};var scrambleEffect=(options,done)=>{const{imageData,amount=1}=options;const intensity=Math.round(Math.max(1,amount)*2);const range=Math.round(intensity*.5);const inputWidth=imageData.width;const inputHeight=imageData.height;const outputData=new Uint8ClampedArray(inputWidth*inputHeight*4);const inputData=imageData.data;let randomData;let i=0,x,y,r;let xoffset=0;let yoffset=0;let index;const l=inputWidth*inputHeight*4-4;for(y=0;y.5){yoffset=(-range+Math.round(Math.random()*intensity))*(inputWidth*4)}index=Math.min(Math.max(0,i+xoffset+yoffset),l);outputData[i]=inputData[index];outputData[i+1]=inputData[index+1];outputData[i+2]=inputData[index+2];outputData[i+3]=inputData[index+3];i+=4}}done(null,{data:outputData,width:imageData.width,height:imageData.height})};const BLUR_MATRIX=[.0625,.125,.0625,.125,.25,.125,.0625,.125,.0625];var imageDataScramble=async(inputData,options={})=>{if(!inputData)return;const{width,height}=inputData;const{dataSize=96,dataSizeScalar=1,scrambleAmount=4,blurAmount=6,outputFormat=\"canvas\",backgroundColor=[0,0,0]}=options;const size=Math.round(dataSize*dataSizeScalar);const scalar=Math.min(size/width,size/height);const outputWidth=Math.floor(width*scalar);const outputHeight=Math.floor(height*scalar);const scaledOutputCanvas=h(\"canvas\",{width:outputWidth,height:outputHeight});const ctx=scaledOutputCanvas.getContext(\"2d\");backgroundColor.length=3;ctx.fillStyle=colorArrayToRGBA(backgroundColor);ctx.fillRect(0,0,outputWidth,outputHeight);if(isImageData(inputData)){const transferCanvas=h(\"canvas\",{width:width,height:height});transferCanvas.getContext(\"2d\").putImageData(inputData,0,0);ctx.drawImage(transferCanvas,0,0,outputWidth,outputHeight);releaseCanvas(transferCanvas)}else{ctx.drawImage(inputData,0,0,outputWidth,outputHeight)}const imageData=ctx.getImageData(0,0,outputWidth,outputHeight);const filters=[];if(scrambleAmount>0)filters.push([scrambleEffect,{amount:scrambleAmount}]);if(blurAmount>0)for(let i=0;i`(err, imageData) => {\n (${transforms[i][0].toString()})(Object.assign({ imageData: imageData }, filterInstructions[${i}]), \n ${transforms[i+1]?chain(transforms,i+1):\"done\"})\n }`;const filterChain=`function (options, done) {\n const filterInstructions = options.filterInstructions;\n const imageData = options.imageData;\n (${chain(filters,0)})(null, imageData)\n }`;const imageDataObjectScrambled=await thread(filterChain,[{imageData:imageData,filterInstructions:filters.map(t=>t[1])}],[imageData.data.buffer]);imageDataScrambled=imageDataObjectToImageData(imageDataObjectScrambled)}else{imageDataScrambled=imageData}if(outputFormat===\"canvas\"){ctx.putImageData(imageDataScrambled,0,0);return scaledOutputCanvas}return imageDataScrambled};var getComponentExportedProps=Component=>{const descriptors=Object.getOwnPropertyDescriptors(Component.prototype);return Object.keys(descriptors).filter(key=>!!descriptors[key][\"get\"])};function circOut(t){return Math.sqrt(1- --t*t)}function is_date(obj){return Object.prototype.toString.call(obj)===\"[object Date]\"}function get_interpolator(a,b){if(a===b||a!==a)return()=>a;const type=typeof a;if(type!==typeof b||Array.isArray(a)!==Array.isArray(b)){throw new Error(\"Cannot interpolate values of different type\")}if(Array.isArray(a)){const arr=b.map((bi,i)=>{return get_interpolator(a[i],bi)});return t=>arr.map(fn=>fn(t))}if(type===\"object\"){if(!a||!b)throw new Error(\"Object cannot be null\");if(is_date(a)&&is_date(b)){a=a.getTime();b=b.getTime();const delta=b-a;return t=>new Date(a+t*delta)}const keys=Object.keys(b);const interpolators={};keys.forEach(key=>{interpolators[key]=get_interpolator(a[key],b[key])});return t=>{const result={};keys.forEach(key=>{result[key]=interpolators[key](t)});return result}}if(type===\"number\"){const delta=b-a;return t=>a+t*delta}throw new Error(`Cannot interpolate ${type} values`)}function tweened(value,defaults={}){const store=writable(value);let task;let target_value=value;function set(new_value,opts){if(value==null){store.set(value=new_value);return Promise.resolve()}target_value=new_value;let previous_task=task;let started=false;let{delay=0,duration=400,easing=identity,interpolate=get_interpolator}=assign(assign({},defaults),opts);if(duration===0){if(previous_task){previous_task.abort();previous_task=null}store.set(value=target_value);return Promise.resolve()}const start=now()+delay;let fn;task=loop(now=>{if(nowduration){store.set(value=new_value);return false}store.set(value=fn(easing(elapsed/duration)));return true});return task.promise}return{set:set,update:(fn,opts)=>set(fn(target_value,value),opts),subscribe:store.subscribe}}function tick_spring(ctx,last_value,current_value,target_value){if(typeof current_value===\"number\"){const delta=target_value-current_value;const velocity=(current_value-last_value)/(ctx.dt||1/60);const spring=ctx.opts.stiffness*delta;const damper=ctx.opts.damping*velocity;const acceleration=(spring-damper)*ctx.inv_mass;const d=(velocity+acceleration)*ctx.dt;if(Math.abs(d)tick_spring(ctx,last_value[i],current_value[i],target_value[i]))}else if(typeof current_value===\"object\"){const next_value={};for(const k in current_value){next_value[k]=tick_spring(ctx,last_value[k],current_value[k],target_value[k])}return next_value}else{throw new Error(`Cannot spring ${typeof current_value} values`)}}function spring(value,opts={}){const store=writable(value);const{stiffness=.15,damping=.8,precision=.01}=opts;let last_time;let task;let current_token;let last_value=value;let target_value=value;let inv_mass=1;let inv_mass_recovery_rate=0;let cancel_task=false;function set(new_value,opts={}){target_value=new_value;const token=current_token={};if(value==null||opts.hard||spring.stiffness>=1&&spring.damping>=1){cancel_task=true;last_time=null;last_value=new_value;store.set(value=target_value);return Promise.resolve()}else if(opts.soft){const rate=opts.soft===true?.5:+opts.soft;inv_mass_recovery_rate=1/(rate*60);inv_mass=0}if(!task){last_time=null;cancel_task=false;const ctx={inv_mass:undefined,opts:spring,settled:true,dt:undefined};task=loop(now=>{if(last_time===null)last_time=now;if(cancel_task){cancel_task=false;task=null;return false}inv_mass=Math.min(inv_mass+inv_mass_recovery_rate,1);ctx.inv_mass=inv_mass;ctx.opts=spring;ctx.settled=true;ctx.dt=(now-last_time)*60/1e3;const next_value=tick_spring(ctx,last_value,value,target_value);last_time=now;last_value=value;store.set(value=next_value);if(ctx.settled)task=null;return!ctx.settled})}return new Promise(fulfil=>{task.promise.then(()=>{if(token===current_token)fulfil()})})}const spring={set:set,update:(fn,opts)=>set(fn(target_value,value),opts),subscribe:store.subscribe,stiffness:stiffness,damping:damping,precision:precision};return spring}var prefersReducedMotion=readable(false,set=>{const mql=window.matchMedia(\"(prefers-reduced-motion:reduce)\");set(mql.matches);mql.onchange=()=>set(mql.matches)});var hasResizeObserver=()=>\"ResizeObserver\"in window;const rectNext=rectCreateEmpty();const updateNodeRect=(node,x,y,width,height)=>{if(!node.rect)node.rect=rectCreateEmpty();const rect=node.rect;rectUpdate(rectNext,x,y,width,height);if(rectEqual(rect,rectNext))return;rectUpdateWithRect(rect,rectNext);node.dispatchEvent(new CustomEvent(\"measure\",{detail:rect}))};const r=Math.round;const measureViewRect=node=>{const clientRect=node.getBoundingClientRect();updateNodeRect(node,r(clientRect.x),r(clientRect.y),r(clientRect.width),r(clientRect.height))};const measureOffset=node=>updateNodeRect(node,node.offsetLeft,node.offsetTop,node.offsetWidth,node.offsetHeight);const elements=[];let frame=null;function tick(){if(!elements.length){frame=null;return}elements.forEach(node=>node.measure(node));frame=requestAnimationFrame(tick)}let observer;let observedNodes=0;var measurable=(node,options={})=>{const{observePosition=false,observeViewRect=false,once=false,disabled=false}=options;if(disabled)return;if(hasResizeObserver()&&!observePosition&&!observeViewRect){if(!observer){observer=new ResizeObserver(entries=>{entries.forEach(entry=>measureOffset(entry.target))})}observer.observe(node);measureOffset(node);if(once){observer.unobserve(node)}else{observedNodes++}return{destroy(){if(once)return;observer.unobserve(node);observedNodes--;if(observedNodes===0){observer.disconnect();observer=undefined}}}}node.measure=observeViewRect?measureViewRect:measureOffset;elements.push(node);if(!frame)frame=requestAnimationFrame(tick);node.measure(node);return{destroy(){const index=elements.indexOf(node);elements.splice(index,1);delete node.measure}}};var focusvisible=element=>{let isKeyboardInteraction=false;const handlePointerdown=()=>{isKeyboardInteraction=false};const handleKeydown=()=>{isKeyboardInteraction=true};const handleKeyup=()=>{isKeyboardInteraction=false};const handleFocus=e=>{if(!isKeyboardInteraction)return;e.target.dataset.focusVisible=\"\"};const handleBlur=e=>{delete e.target.dataset.focusVisible};const map={pointerdown:handlePointerdown,keydown:handleKeydown,keyup:handleKeyup,focus:handleFocus,blur:handleBlur};Object.keys(map).forEach(event=>element.addEventListener(event,map[event],true));return{destroy(){Object.keys(map).forEach(event=>element.removeEventListener(event,map[event],true))}}};const getResourceFromItem=async item=>new Promise(resolve=>{if(item.kind===\"file\")return resolve(item.getAsFile());item.getAsString(resolve)});const getResourcesFromEvent=e=>new Promise((resolve,reject)=>{const{items}=e.dataTransfer;if(!items)return resolve([]);Promise.all(Array.from(items).map(getResourceFromItem)).then(res=>{resolve(res.filter(item=>isBinary(item)&&isImage(item)||/^http/.test(item)))}).catch(reject)});var dropable=(node,options={})=>{const handleDragOver=e=>{e.preventDefault()};const handleDrop=async e=>{e.preventDefault();e.stopPropagation();try{const resources=await getResourcesFromEvent(e);node.dispatchEvent(new CustomEvent(\"dropfiles\",{detail:{event:e,resources:resources},...options}))}catch(err){}};node.addEventListener(\"drop\",handleDrop);node.addEventListener(\"dragover\",handleDragOver);return{destroy(){node.removeEventListener(\"drop\",handleDrop);node.removeEventListener(\"dragover\",handleDragOver)}}};let result$7=null;var supportsWebGL2=()=>{if(result$7===null){if(\"WebGL2RenderingContext\"in window){let canvas;try{canvas=h(\"canvas\");result$7=!!canvas.getContext(\"webgl2\")}catch(err){result$7=false}canvas&&releaseCanvas(canvas);canvas=undefined}else{result$7=false}}return result$7};var getWebGLContext=(canvas,attrs)=>{if(supportsWebGL2())return canvas.getContext(\"webgl2\",attrs);return canvas.getContext(\"webgl\",attrs)||canvas.getContext(\"experimental-webgl\",attrs)};let result$6=null;var isSoftwareRendering=()=>{if(result$6===null){if(isBrowser()){const canvas=h(\"canvas\");result$6=!getWebGLContext(canvas,{failIfMajorPerformanceCaveat:true});releaseCanvas(canvas)}else{result$6=false}}return result$6};var isPowerOf2=value=>(value&value-1)===0;var stringReplace=(str,entries={},prefix=\"\",postfix=\"\")=>{return Object.keys(entries).filter(key=>!isObject(entries[key])).reduce((prev,curr)=>{return prev.replace(new RegExp(prefix+curr+postfix),entries[curr])},str)};var SHADER_FRAG_HEAD=\"#version 300 es\\nprecision highp float;\\n\\nout vec4 fragColor;\";var SHADER_FRAG_INIT=\"\\nfloat a=1.0;vec4 fillColor=uColor;vec4 textureColor=texture(uTexture,vTexCoord);textureColor*=(1.0-step(1.0,vTexCoord.y))*step(0.0,vTexCoord.y)*(1.0-step(1.0,vTexCoord.x))*step(0.0,vTexCoord.x);\";var SHADER_FRAG_MASK=\"\\nuniform float uMaskFeather[8];uniform float uMaskBounds[4];uniform float uMaskOpacity;float mask(float x,float y,float bounds[4],float opacity){return 1.0-(1.0-(smoothstep(bounds[3],bounds[3]+1.0,x)*(1.0-smoothstep(bounds[1]-1.0,bounds[1],x))*(1.0-step(bounds[0],y))*step(bounds[2],y)))*(1.0-opacity);}\";var SHADER_FRAG_MASK_APPLY=\"\\nfloat m=mask(gl_FragCoord.x,gl_FragCoord.y,uMaskBounds,uMaskOpacity);\";var SHADER_FRAG_MASK_FEATHER_APPLY=\"\\nfloat leftFeatherOpacity=step(uMaskFeather[1],gl_FragCoord.x)*uMaskFeather[0]+((1.0-uMaskFeather[0])*smoothstep(uMaskFeather[1],uMaskFeather[3],gl_FragCoord.x));float rightFeatherOpacity=(1.0-step(uMaskFeather[7],gl_FragCoord.x))*uMaskFeather[4]+((1.0-uMaskFeather[4])*smoothstep(uMaskFeather[7],uMaskFeather[5],gl_FragCoord.x));a*=leftFeatherOpacity*rightFeatherOpacity;\";var SHADER_FRAG_RECT_AA=\"\\nvec2 scaledPoint=vec2(vRectCoord.x*uSize.x,vRectCoord.y*uSize.y);a*=smoothstep(0.0,1.0,uSize.x-scaledPoint.x);a*=smoothstep(0.0,1.0,uSize.y-scaledPoint.y);a*=smoothstep(0.0,1.0,scaledPoint.x);a*=smoothstep(0.0,1.0,scaledPoint.y);\";var SHADER_FRAG_CORNER_RADIUS=\"\\nvec2 s=(uSize-2.0)*.5;vec2 r=(vRectCoord*uSize);vec2 p=r-(uSize*.5);float cornerRadius=uCornerRadius[0];bool left=r.x0.0){vec3 colorFlattened=textureColor.rgb/textureColor.a;if(colorFlattened.r>=.9999&&colorFlattened.g==0.0&&colorFlattened.b>=.9999){textureColor.rgb=uTextureColor.rgb*textureColor.a;}textureColor*=uTextureColor.a;}\";var SHADER_VERT_HEAD=\"#version 300 es\\n\\nin vec4 aPosition;uniform mat4 uMatrix;\";var SHADER_VERT_MULTIPLY_MATRUX=\"\\ngl_Position=uMatrix*vec4(aPosition.x,aPosition.y,0,1);\";var SHADER_VERT_TEXTURE=\"\\nin vec2 aTexCoord;out vec2 vTexCoord;\";const SHADER_VERT_SNIPPETS={head:SHADER_VERT_HEAD,text:SHADER_VERT_TEXTURE,matrix:SHADER_VERT_MULTIPLY_MATRUX};const SHADER_FRAG_SNIPPETS={head:SHADER_FRAG_HEAD,mask:SHADER_FRAG_MASK,init:SHADER_FRAG_INIT,colorize:SHADER_FRAG_TEXTURE_COLORIZE,maskapply:SHADER_FRAG_MASK_APPLY,maskfeatherapply:SHADER_FRAG_MASK_FEATHER_APPLY,edgeaa:SHADER_FRAG_RECT_AA,cornerradius:SHADER_FRAG_CORNER_RADIUS,fragcolor:SHADER_FRAG_SHAPE_BLEND_COLOR};const transpileShader=(gl,src,type)=>{src=stringReplace(src,type===gl.VERTEX_SHADER?SHADER_VERT_SNIPPETS:SHADER_FRAG_SNIPPETS,\"##\").trim();if(supportsWebGL2())return src;src=src.replace(/#version.+/gm,\"\").trim();src=src.replace(/^\\/\\/\\#/gm,\"#\");if(type===gl.VERTEX_SHADER){src=src.replace(/in /gm,\"attribute \").replace(/out /g,\"varying \")}if(type===gl.FRAGMENT_SHADER){src=src.replace(/in /gm,\"varying \").replace(/out.*?;/gm,\"\").replace(/texture\\(/g,\"texture2D(\").replace(/fragColor/g,\"gl_FragColor\")}return`${src}`};const compileShader=(gl,src,type)=>{const shader=gl.createShader(type);const transpiledSrc=transpileShader(gl,src,type);gl.shaderSource(shader,transpiledSrc);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){console.error(gl.getShaderInfoLog(shader))}return shader};const createShader=(gl,vertexShaderCode,fragmentShaderCode,attribs,uniforms)=>{const vertexShader=compileShader(gl,vertexShaderCode,gl.VERTEX_SHADER);const fragmentShader=compileShader(gl,fragmentShaderCode,gl.FRAGMENT_SHADER);const program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);const locations={};attribs.forEach(name=>{locations[name]=gl.getAttribLocation(program,name)});uniforms.forEach(name=>{locations[name]=gl.getUniformLocation(program,name)});return{program:program,locations:locations,destroy(){gl.detachShader(program,vertexShader);gl.detachShader(program,fragmentShader);gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);gl.deleteProgram(program)}}};const canMipMap=source=>{if(supportsWebGL2())return true;return isPowerOf2(source.width)&&isPowerOf2(source.height)};const applyTextureProperties=(gl,source,options)=>{gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,canMipMap(source)?gl.LINEAR_MIPMAP_LINEAR:gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,options.filter);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);if(canMipMap(source))gl.generateMipmap(gl.TEXTURE_2D)};const updateTexture=(gl,texture,source,options)=>{gl.bindTexture(gl.TEXTURE_2D,texture);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,source);applyTextureProperties(gl,source,options);gl.bindTexture(gl.TEXTURE_2D,null);return texture};const applyOpacity=(color,opacity=1)=>color?[color[0],color[1],color[2],isNumber(color[3])?opacity*color[3]:opacity]:[0,0,0,0];const mat4Create=()=>{const mat=new Float32Array(16);mat[0]=1;mat[5]=1;mat[10]=1;mat[15]=1;return mat};const mat4Perspective=(mat,fovy,aspect,near,far)=>{const f=1/Math.tan(fovy/2);const nf=1/(near-far);mat[0]=f/aspect;mat[1]=0;mat[2]=0;mat[3]=0;mat[4]=0;mat[5]=f;mat[6]=0;mat[7]=0;mat[8]=0;mat[9]=0;mat[10]=(far+near)*nf;mat[11]=-1;mat[12]=0;mat[13]=0;mat[14]=2*far*near*nf;mat[15]=0};const mat4Ortho=(mat,left,right,bottom,top,near,far)=>{const lr=1/(left-right);const bt=1/(bottom-top);const nf=1/(near-far);mat[0]=-2*lr;mat[1]=0;mat[2]=0;mat[3]=0;mat[4]=0;mat[5]=-2*bt;mat[6]=0;mat[7]=0;mat[8]=0;mat[9]=0;mat[10]=2*nf;mat[11]=0;mat[12]=(left+right)*lr;mat[13]=(top+bottom)*bt;mat[14]=(far+near)*nf;mat[15]=1};const mat4Translate=(mat,x,y,z)=>{mat[12]=mat[0]*x+mat[4]*y+mat[8]*z+mat[12];mat[13]=mat[1]*x+mat[5]*y+mat[9]*z+mat[13];mat[14]=mat[2]*x+mat[6]*y+mat[10]*z+mat[14];mat[15]=mat[3]*x+mat[7]*y+mat[11]*z+mat[15]};const mat4Scale=(mat,s)=>{mat[0]=mat[0]*s;mat[1]=mat[1]*s;mat[2]=mat[2]*s;mat[3]=mat[3]*s;mat[4]=mat[4]*s;mat[5]=mat[5]*s;mat[6]=mat[6]*s;mat[7]=mat[7]*s;mat[8]=mat[8]*s;mat[9]=mat[9]*s;mat[10]=mat[10]*s;mat[11]=mat[11]*s};const mat4ScaleX=(mat,s)=>{mat[0]=mat[0]*s;mat[1]=mat[1]*s;mat[2]=mat[2]*s;mat[3]=mat[3]*s};const mat4ScaleY=(mat,s)=>{mat[4]=mat[4]*s;mat[5]=mat[5]*s;mat[6]=mat[6]*s;mat[7]=mat[7]*s};const mat4RotateX=(mat,rad)=>{const s=Math.sin(rad);const c=Math.cos(rad);const a10=mat[4];const a11=mat[5];const a12=mat[6];const a13=mat[7];const a20=mat[8];const a21=mat[9];const a22=mat[10];const a23=mat[11];mat[4]=a10*c+a20*s;mat[5]=a11*c+a21*s;mat[6]=a12*c+a22*s;mat[7]=a13*c+a23*s;mat[8]=a20*c-a10*s;mat[9]=a21*c-a11*s;mat[10]=a22*c-a12*s;mat[11]=a23*c-a13*s};const mat4RotateY=(mat,rad)=>{const s=Math.sin(rad);const c=Math.cos(rad);const a00=mat[0];const a01=mat[1];const a02=mat[2];const a03=mat[3];const a20=mat[8];const a21=mat[9];const a22=mat[10];const a23=mat[11];mat[0]=a00*c-a20*s;mat[1]=a01*c-a21*s;mat[2]=a02*c-a22*s;mat[3]=a03*c-a23*s;mat[8]=a00*s+a20*c;mat[9]=a01*s+a21*c;mat[10]=a02*s+a22*c;mat[11]=a03*s+a23*c};const mat4RotateZ=(mat,rad)=>{const s=Math.sin(rad);const c=Math.cos(rad);const a00=mat[0];const a01=mat[1];const a02=mat[2];const a03=mat[3];const a10=mat[4];const a11=mat[5];const a12=mat[6];const a13=mat[7];mat[0]=a00*c+a10*s;mat[1]=a01*c+a11*s;mat[2]=a02*c+a12*s;mat[3]=a03*c+a13*s;mat[4]=a10*c-a00*s;mat[5]=a11*c-a01*s;mat[6]=a12*c-a02*s;mat[7]=a13*c-a03*s};var degToRad=degrees=>degrees*Math.PI/180;var imageFragmentShader=\"\\n##head\\nin vec2 vTexCoord;uniform sampler2D uTexture;uniform sampler2D uTextureMarkup;uniform sampler2D uTextureBlend;uniform vec2 uTextureSize;uniform float uOpacity;uniform vec4 uFillColor;uniform vec4 uOverlayColor;uniform mat4 uColorMatrix;uniform vec4 uColorOffset;uniform float uClarityKernel[9];uniform float uClarityKernelWeight;uniform float uColorGamma;uniform float uColorVignette;uniform float uMaskClip;uniform float uMaskOpacity;uniform float uMaskBounds[4];uniform float uMaskCornerRadius[4];uniform float uMaskFeather[8];vec4 applyGamma(vec4 c,float g){c.r=pow(c.r,g);c.g=pow(c.g,g);c.b=pow(c.b,g);return c;}vec4 applyColorMatrix(vec4 c,mat4 m,vec4 o){vec4 cM=(c*m)+o;cM*=cM.a;return cM;}vec4 applyConvolutionMatrix(vec4 c,float k0,float k1,float k2,float k3,float k4,float k5,float k6,float k7,float k8,float w){vec2 pixel=vec2(1)/uTextureSize;vec4 colorSum=texture(uTexture,vTexCoord-pixel)*k0+texture(uTexture,vTexCoord+pixel*vec2(0.0,-1.0))*k1+texture(uTexture,vTexCoord+pixel*vec2(1.0,-1.0))*k2+texture(uTexture,vTexCoord+pixel*vec2(-1.0,0.0))*k3+texture(uTexture,vTexCoord)*k4+texture(uTexture,vTexCoord+pixel*vec2(1.0,0.0))*k5+texture(uTexture,vTexCoord+pixel*vec2(-1.0,1.0))*k6+texture(uTexture,vTexCoord+pixel*vec2(0.0,1.0))*k7+texture(uTexture,vTexCoord+pixel)*k8;vec4 color=vec4((colorSum/w).rgb,c.a);color.rgb=clamp(color.rgb,0.0,1.0);return color;}vec4 applyVignette(vec4 c,vec2 pos,vec2 center,float v){float d=distance(pos,center)/length(center);float f=1.0-(d*abs(v));if(v>0.0){c.rgb*=f;}else if(v<0.0){c.rgb+=(1.0-f)*(1.0-c.rgb);}return c;}vec4 blendPremultipliedAlpha(vec4 back,vec4 front){return front+(back*(1.0-front.a));}void main(){float x=gl_FragCoord.x;float y=gl_FragCoord.y;float a=1.0;float maskTop=uMaskBounds[0];float maskRight=uMaskBounds[1];float maskBottom=uMaskBounds[2];float maskLeft=uMaskBounds[3];float leftFeatherOpacity=step(uMaskFeather[1],x)*uMaskFeather[0]+((1.0-uMaskFeather[0])*smoothstep(uMaskFeather[1],uMaskFeather[3],x));float rightFeatherOpacity=(1.0-step(uMaskFeather[7],x))*uMaskFeather[4]+((1.0-uMaskFeather[4])*smoothstep(uMaskFeather[7],uMaskFeather[5],x));a*=leftFeatherOpacity*rightFeatherOpacity;float overlayColorAlpha=(smoothstep(maskLeft,maskLeft+1.0,x)*(1.0-smoothstep(maskRight-1.0,maskRight,x))*(1.0-step(maskTop,y))*step(maskBottom,y));if(uOverlayColor.a==0.0){a*=overlayColorAlpha;}vec2 offset=vec2(maskLeft,maskBottom);vec2 size=vec2(maskRight-maskLeft,maskTop-maskBottom)*.5;vec2 center=offset.xy+size.xy;int pixelX=int(step(center.x,x));int pixelY=int(step(y,center.y));float cornerRadius=0.0;if(pixelX==0&&pixelY==0)cornerRadius=uMaskCornerRadius[0];if(pixelX==1&&pixelY==0)cornerRadius=uMaskCornerRadius[1];if(pixelX==0&&pixelY==1)cornerRadius=uMaskCornerRadius[2];if(pixelX==1&&pixelY==1)cornerRadius=uMaskCornerRadius[3];float cornerOffset=sign(cornerRadius)*length(max(abs(gl_FragCoord.xy-size-offset)-size+cornerRadius,0.0))-cornerRadius;float cornerOpacity=1.0-smoothstep(0.0,1.0,cornerOffset);a*=cornerOpacity;vec2 scaledPoint=vec2(vTexCoord.x*uTextureSize.x,vTexCoord.y*uTextureSize.y);a*=smoothstep(0.0,1.0,uTextureSize.x-scaledPoint.x);a*=smoothstep(0.0,1.0,uTextureSize.y-scaledPoint.y);a*=smoothstep(0.0,1.0,scaledPoint.x);a*=smoothstep(0.0,1.0,scaledPoint.y);vec4 color=texture(uTexture,vTexCoord);color=blendPremultipliedAlpha(color,texture(uTextureBlend,vTexCoord));if(uClarityKernelWeight!=-1.0){color=applyConvolutionMatrix(color,uClarityKernel[0],uClarityKernel[1],uClarityKernel[2],uClarityKernel[3],uClarityKernel[4],uClarityKernel[5],uClarityKernel[6],uClarityKernel[7],uClarityKernel[8],uClarityKernelWeight);}color=applyGamma(color,uColorGamma);color=applyColorMatrix(color,uColorMatrix,uColorOffset);color=blendPremultipliedAlpha(uFillColor,color);color*=a;if(uColorVignette!=0.0){vec2 pos=gl_FragCoord.xy-offset;color=applyVignette(color,pos,center-offset,uColorVignette);}color=blendPremultipliedAlpha(color,texture(uTextureMarkup,vTexCoord));vec4 overlayColor=uOverlayColor*(1.0-overlayColorAlpha);overlayColor.rgb*=overlayColor.a;color=blendPremultipliedAlpha(color,overlayColor);if(uOverlayColor.a>0.0&&color.a<1.0&&uFillColor.a>0.0){color=blendPremultipliedAlpha(uFillColor,overlayColor);}color*=uOpacity;fragColor=color;}\";var imageVertexShader=\"\\n##head\\n##text\\nvoid main(){vTexCoord=aTexCoord;gl_Position=uMatrix*aPosition;}\";var pathVertexShader=\"#version 300 es\\n\\nin vec4 aPosition;in vec2 aNormal;in float aMiter;out vec2 vNormal;out float vMiter;out float vWidth;uniform float uWidth;uniform mat4 uMatrix;void main(){vMiter=aMiter;vNormal=aNormal;vWidth=(uWidth*.5)+1.0;gl_Position=uMatrix*vec4(aPosition.x+(aNormal.x*vWidth*aMiter),aPosition.y+(aNormal.y*vWidth*aMiter),0,1);}\";var pathFragmentShader=\"\\n##head\\n##mask\\nin vec2 vNormal;in float vMiter;in float vWidth;uniform float uWidth;uniform vec4 uColor;uniform vec4 uCanvasColor;void main(){vec4 fillColor=uColor;float m=mask(gl_FragCoord.x,gl_FragCoord.y,uMaskBounds,uMaskOpacity);if(m<=0.0)discard;fillColor.a*=clamp(smoothstep(vWidth-.5,vWidth-1.0,abs(vMiter)*vWidth),0.0,1.0);fillColor.rgb*=fillColor.a;fillColor.rgb*=m;fillColor.rgb+=(1.0-m)*(uCanvasColor.rgb*fillColor.a);fragColor=fillColor;}\";var rectVertexShader=\"\\n##head\\n##text\\nin vec2 aRectCoord;out vec2 vRectCoord;void main(){vTexCoord=aTexCoord;vRectCoord=aRectCoord;\\n##matrix\\n}\";var rectFragmentShader=\"\\n##head\\n##mask\\nin vec2 vTexCoord;in vec2 vRectCoord;uniform sampler2D uTexture;uniform vec4 uTextureColor;uniform float uTextureOpacity;uniform vec4 uColor;uniform float uCornerRadius[4];uniform vec2 uSize;uniform vec2 uPosition;uniform vec4 uCanvasColor;uniform int uInverted;void main(){\\n##init\\n##colorize\\n##edgeaa\\n##cornerradius\\n##maskfeatherapply\\nif(uInverted==1)a=1.0-a;\\n##maskapply\\n##fragcolor\\n}\";var ellipseVertexShader=\"\\n##head\\n##text\\nout vec2 vTexCoordDouble;void main(){vTexCoordDouble=vec2(aTexCoord.x*2.0-1.0,aTexCoord.y*2.0-1.0);vTexCoord=aTexCoord;\\n##matrix\\n}\";var ellipseFragmentShader=\"\\n##head\\n##mask\\nin vec2 vTexCoord;in vec2 vTexCoordDouble;uniform sampler2D uTexture;uniform float uTextureOpacity;uniform vec2 uRadius;uniform vec4 uColor;uniform int uInverted;uniform vec4 uCanvasColor;void main(){\\n##init\\nfloat ar=uRadius.x/uRadius.y;vec2 rAA=vec2(uRadius.x-1.0,uRadius.y-(1.0/ar));vec2 scaledPointSq=vec2((vTexCoordDouble.x*uRadius.x)*(vTexCoordDouble.x*uRadius.x),(vTexCoordDouble.y*uRadius.y)*(vTexCoordDouble.y*uRadius.y));float p=(scaledPointSq.x/(uRadius.x*uRadius.x))+(scaledPointSq.y/(uRadius.y*uRadius.y));float pAA=(scaledPointSq.x/(rAA.x*rAA.x))+(scaledPointSq.y/(rAA.y*rAA.y));a=smoothstep(1.0,p/pAA,p);if(uInverted==1)a=1.0-a;\\n##maskapply\\n##fragcolor\\n}\";var triangleVertexShader=\"\\n##head\\nvoid main(){\\n##matrix\\n}\";var triangleFragmentShader=\"\\n##head\\n##mask\\nuniform vec4 uColor;uniform vec4 uCanvasColor;void main(){vec4 fillColor=uColor;\\n##maskapply\\nfillColor.rgb*=fillColor.a;fillColor.rgb*=m;fillColor.rgb+=(1.0-m)*(uCanvasColor.rgb*fillColor.a);fragColor=fillColor;}\";const createPathSegment=(vertices,index,a,b,c)=>{const ab=vectorNormalize(vectorCreate(b.x-a.x,b.y-a.y));const bc=vectorNormalize(vectorCreate(c.x-b.x,c.y-b.y));const tangent=vectorNormalize(vectorCreate(ab.x+bc.x,ab.y+bc.y));const miter=vectorCreate(-tangent.y,tangent.x);const normal=vectorCreate(-ab.y,ab.x);const miterLength=Math.min(1/vectorDot(miter,normal),5);vertices[index]=b.x;vertices[index+1]=b.y;vertices[index+2]=miter.x*miterLength;vertices[index+3]=miter.y*miterLength;vertices[index+4]=-1;vertices[index+5]=b.x;vertices[index+6]=b.y;vertices[index+7]=miter.x*miterLength;vertices[index+8]=miter.y*miterLength;vertices[index+9]=1};const createPathVertices=(points,close)=>{let a,b,c,i=0;const l=points.length;const stride=10;const vertices=new Float32Array((close?l+1:l)*stride);const first=points[0];const last=points[l-1];for(i=0;i{const vertices=new Float32Array(8);vertices[0]=points[3].x;vertices[1]=points[3].y;vertices[2]=points[0].x;vertices[3]=points[0].y;vertices[4]=points[2].x;vertices[5]=points[2].y;vertices[6]=points[1].x;vertices[7]=points[1].y;return vertices};const trianglePointToVertices=points=>{const vertices=new Float32Array(6);vertices[0]=points[0].x;vertices[1]=points[0].y;vertices[2]=points[1].x;vertices[3]=points[1].y;vertices[4]=points[2].x;vertices[5]=points[2].y;return vertices};const createRectPoints=(rect,rotation=0,flipX,flipY)=>{const corners=rectGetCorners(rect);const cx=rect.x+rect.width*.5;const cy=rect.y+rect.height*.5;if(flipX||flipY)vectorsFlip(corners,flipX,flipY,cx,cy);if(rotation!==0)vectorsRotate(corners,rotation,cx,cy);return corners};const createEllipseOutline=(x,y,width,height,rotation,flipX,flipY)=>{const rx=Math.abs(width)*.5;const ry=Math.abs(height)*.5;const size=Math.abs(width)+Math.abs(height);const precision=Math.max(20,Math.round(size/6));return ellipseToPolygon(vectorCreate(x+rx,y+ry),rx,ry,rotation,flipX,flipY,precision)};const createRectOutline=(x,y,width,height,rotation,cornerRadius,flipX,flipY)=>{const points=[];if(cornerRadius.every(v=>v===0)){points.push(vectorCreate(x,y),vectorCreate(x+width,y),vectorCreate(x+width,y+height),vectorCreate(x,y+height))}else{const[tl,tr,bl,br]=cornerRadius;const l=x;const r=x+width;const t=y;const b=y+height;points.push(vectorCreate(l+tl,t));pushRectCornerPoints(points,r-tr,t+tr,tr,-1);points.push(vectorCreate(r,t+tr));pushRectCornerPoints(points,r-br,b-br,br,0);points.push(vectorCreate(r-br,b));pushRectCornerPoints(points,l+bl,b-bl,bl,1);points.push(vectorCreate(l,b-bl));pushRectCornerPoints(points,l+tl,t+tl,tl,2)}if(flipX||flipY)vectorsFlip(points,flipX,flipY,x+width*.5,y+height*.5);if(rotation)vectorsRotate(points,rotation,x+width*.5,y+height*.5);return points};const pushRectCornerPoints=(points,x,y,radius,offset)=>{const precision=Math.min(20,Math.max(4,Math.round(radius/2)));let p=0;let s=0;let rx=0;let ry=0;let i=0;for(;i{if(limit!==null)return limit;let canvas=h(\"canvas\");const gl=getWebGLContext(canvas);limit=gl?gl.getParameter(gl.MAX_TEXTURE_SIZE):undefined;releaseCanvas(canvas);canvas=undefined;return limit};let result$5=null;var isFirefox=()=>{if(result$5===null)result$5=isUserAgent(/Firefox/);return result$5};const RECT_UV=new Float32Array([0,1,0,0,1,1,1,0]);const CLARITY_IDENTITY=[0,0,0,0,1,0,0,0,0];const COLOR_MATRIX_IDENTITY$1=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];const TEXTURE_TRANSPARENT_INDEX=0;const TEXTURE_PREVIEW_BLEND_INDEX=1;const TEXTURE_PREVIEW_MARKUP_INDEX=2;const TEXTURE_PREVIEW_INDEX=3;const TEXTURE_SHAPE_INDEX=4;const COLOR_TRANSPARENT=[0,0,0,0];const NO_CORNERS=[0,0,0,0];const calculateBackgroundUVMap=(width,height,backgroundSize,backgroundPosition,viewPixelDensity)=>{if(!backgroundSize||!backgroundPosition)return RECT_UV;const x=backgroundPosition.x/backgroundSize.width;const y=backgroundPosition.y/backgroundSize.height;let w=width/backgroundSize.width/viewPixelDensity;let h=height/backgroundSize.height/viewPixelDensity;w-=x;h-=y;const ax=-x;const ay=h;const bx=-x;const by=-y;const cx=w;const cy=h;const dx=w;const dy=-y;return new Float32Array([ax,ay,bx,by,cx,cy,dx,dy])};const limitCornerRadius=(r,size)=>{return Math.floor(clamp(r,0,Math.min((size.width-1)*.5,(size.height-1)*.5)))};var createWebGLCanvas=canvas=>{const viewSize={width:0,height:0};const viewSizeVisual={width:0,height:0};const textureSizeLimit=getWebGLTextureSizeLimit()||1024;let viewAspectRatio;let viewPixelDensity;const markupMatrixCanvas=mat4Create();const markupMatrixFrameBuffer=mat4Create();let markupMatrix;let maskTop;let maskRight;let maskBottom;let maskLeft;let maskOpacity;let maskBounds;let IMAGE_MASK_FEATHER;let RECT_MASK_FEATHER;let CANVAS_COLOR_R=0;let CANVAS_COLOR_G=0;let CANVAS_COLOR_B=0;const indexTextureMap=new Map([]);const resize=(width,height,pixelDensity)=>{viewPixelDensity=pixelDensity;viewSizeVisual.width=width;viewSizeVisual.height=height;viewSize.width=width*viewPixelDensity;viewSize.height=height*viewPixelDensity;viewAspectRatio=getAspectRatio(viewSize.width,viewSize.height);canvas.width=viewSize.width;canvas.height=viewSize.height;mat4Ortho(markupMatrixCanvas,0,viewSize.width,viewSize.height,0,-1,1);IMAGE_MASK_FEATHER=[1,0,1,0,1,viewSizeVisual.width,1,viewSizeVisual.width]};const FOV=degToRad(30);const FOV_TAN_HALF=Math.tan(FOV/2);const gl=getWebGLContext(canvas,{antialias:false,alpha:false,premultipliedAlpha:true});if(!gl)return;gl.getExtension(\"OES_standard_derivatives\");gl.disable(gl.DEPTH_TEST);gl.enable(gl.BLEND);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,isFirefox()?false:true);const transparentTexture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,transparentTexture);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,1,1,0,gl.RGBA,gl.UNSIGNED_BYTE,new Uint8Array(COLOR_TRANSPARENT));indexTextureMap.set(TEXTURE_TRANSPARENT_INDEX,transparentTexture);const imageMarkupTexture=gl.createTexture();indexTextureMap.set(TEXTURE_PREVIEW_MARKUP_INDEX,imageMarkupTexture);const markupFramebuffer=gl.createFramebuffer();const imageBlendTexture=gl.createTexture();indexTextureMap.set(TEXTURE_PREVIEW_BLEND_INDEX,imageBlendTexture);const blendFramebuffer=gl.createFramebuffer();const imageShader=createShader(gl,imageVertexShader,imageFragmentShader,[\"aPosition\",\"aTexCoord\"],[\"uMatrix\",\"uTexture\",\"uTextureBlend\",\"uTextureMarkup\",\"uTextureSize\",\"uColorGamma\",\"uColorVignette\",\"uColorOffset\",\"uColorMatrix\",\"uClarityKernel\",\"uClarityKernelWeight\",\"uOpacity\",\"uMaskOpacity\",\"uMaskBounds\",\"uMaskCornerRadius\",\"uMaskFeather\",\"uFillColor\",\"uOverlayColor\"]);const imagePositionsBuffer=gl.createBuffer();const texturePositionsBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePositionsBuffer);gl.bufferData(gl.ARRAY_BUFFER,RECT_UV,gl.STATIC_DRAW);const drawImage=(texture,textureSize,originX,originY,translateX,translateY,rotateX,rotateY,rotateZ,scale,colorMatrix=COLOR_MATRIX_IDENTITY$1,opacity=1,clarity,gamma=1,vignette=0,maskFeather=IMAGE_MASK_FEATHER,maskCornerRadius=NO_CORNERS,imageBackgroundColor=COLOR_TRANSPARENT,imageOverlayColor=COLOR_TRANSPARENT,enableMarkup=false,enableBlend=false)=>{const imageWidth=textureSize.width*viewPixelDensity;const imageHeight=textureSize.height*viewPixelDensity;const l=imageWidth*-.5;const t=imageHeight*.5;const r=imageWidth*.5;const b=imageHeight*-.5;const imagePositions=new Float32Array([l,b,0,l,t,0,r,b,0,r,t,0]);gl.bindBuffer(gl.ARRAY_BUFFER,imagePositionsBuffer);gl.bufferData(gl.ARRAY_BUFFER,imagePositions,gl.STATIC_DRAW);const viewZ=textureSize.height/2/FOV_TAN_HALF*(viewSize.height/textureSize.height)*-1;translateX*=viewPixelDensity;translateY*=viewPixelDensity;originX*=viewPixelDensity;originY*=viewPixelDensity;const{program,locations}=imageShader;const matrix=mat4Create();mat4Perspective(matrix,FOV,viewAspectRatio,1,-viewZ*2);mat4Translate(matrix,translateX,-translateY,viewZ);mat4Translate(matrix,originX,-originY,0);mat4RotateZ(matrix,-rotateZ);mat4Scale(matrix,scale);mat4Translate(matrix,-originX,originY,0);mat4RotateY(matrix,rotateY);mat4RotateX(matrix,rotateX);gl.useProgram(program);gl.enableVertexAttribArray(locations.aPosition);gl.enableVertexAttribArray(locations.aTexCoord);gl.uniform1i(locations.uTexture,TEXTURE_PREVIEW_INDEX);gl.uniform2f(locations.uTextureSize,textureSize.width,textureSize.height);gl.activeTexture(gl.TEXTURE0+TEXTURE_PREVIEW_INDEX);gl.bindTexture(gl.TEXTURE_2D,texture);const blendTextureIndex=enableBlend?TEXTURE_PREVIEW_BLEND_INDEX:TEXTURE_TRANSPARENT_INDEX;const blendTexture=indexTextureMap.get(blendTextureIndex);gl.uniform1i(locations.uTextureBlend,blendTextureIndex);gl.activeTexture(gl.TEXTURE0+blendTextureIndex);gl.bindTexture(gl.TEXTURE_2D,blendTexture);const markupTextureIndex=enableMarkup?TEXTURE_PREVIEW_MARKUP_INDEX:TEXTURE_TRANSPARENT_INDEX;const markupTexture=indexTextureMap.get(markupTextureIndex);gl.uniform1i(locations.uTextureMarkup,markupTextureIndex);gl.activeTexture(gl.TEXTURE0+markupTextureIndex);gl.bindTexture(gl.TEXTURE_2D,markupTexture);gl.bindBuffer(gl.ARRAY_BUFFER,imagePositionsBuffer);gl.vertexAttribPointer(locations.aPosition,3,gl.FLOAT,false,0,0);gl.bindBuffer(gl.ARRAY_BUFFER,texturePositionsBuffer);gl.vertexAttribPointer(locations.aTexCoord,2,gl.FLOAT,false,0,0);gl.uniformMatrix4fv(locations.uMatrix,false,matrix);gl.uniform4fv(locations.uOverlayColor,imageOverlayColor);gl.uniform4fv(locations.uFillColor,imageBackgroundColor);let clarityWeight;if(!clarity||arrayEqual(clarity,CLARITY_IDENTITY)){clarity=CLARITY_IDENTITY;clarityWeight=-1}else{clarityWeight=clarity.reduce((prev,curr)=>prev+curr,0);clarityWeight=clarityWeight<=0?1:clarityWeight}gl.uniform1fv(locations.uClarityKernel,clarity);gl.uniform1f(locations.uClarityKernelWeight,clarityWeight);gl.uniform1f(locations.uColorGamma,1/gamma);gl.uniform1f(locations.uColorVignette,vignette);gl.uniform4f(locations.uColorOffset,colorMatrix[4],colorMatrix[9],colorMatrix[14],colorMatrix[19]);gl.uniformMatrix4fv(locations.uColorMatrix,false,[colorMatrix[0],colorMatrix[1],colorMatrix[2],colorMatrix[3],colorMatrix[5],colorMatrix[6],colorMatrix[7],colorMatrix[8],colorMatrix[10],colorMatrix[11],colorMatrix[12],colorMatrix[13],colorMatrix[15],colorMatrix[16],colorMatrix[17],colorMatrix[18]]);gl.uniform1f(locations.uOpacity,opacity);gl.uniform1f(locations.uMaskOpacity,maskOpacity);gl.uniform1fv(locations.uMaskBounds,maskBounds);gl.uniform1fv(locations.uMaskCornerRadius,maskCornerRadius.map(v=>v*viewPixelDensity));gl.uniform1fv(locations.uMaskFeather,maskFeather.map((v,i)=>i%2===0?v:v*viewPixelDensity));gl.drawArrays(gl.TRIANGLE_STRIP,0,4);gl.disableVertexAttribArray(locations.aPosition);gl.disableVertexAttribArray(locations.aTexCoord)};const pathShader=createShader(gl,pathVertexShader,pathFragmentShader,[\"aPosition\",\"aNormal\",\"aMiter\"],[\"uColor\",\"uCanvasColor\",\"uMatrix\",\"uWidth\",\"uMaskBounds\",\"uMaskOpacity\"]);const pathBuffer=gl.createBuffer();const strokePath=(points,width,color,close=false)=>{const{program,locations}=pathShader;gl.useProgram(program);gl.enableVertexAttribArray(locations.aPosition);gl.enableVertexAttribArray(locations.aNormal);gl.enableVertexAttribArray(locations.aMiter);const vertices=createPathVertices(points,close);const stride=Float32Array.BYTES_PER_ELEMENT*5;const normalOffset=Float32Array.BYTES_PER_ELEMENT*2;const miterOffset=Float32Array.BYTES_PER_ELEMENT*4;gl.uniform1f(locations.uWidth,width);gl.uniform4fv(locations.uColor,color);gl.uniformMatrix4fv(locations.uMatrix,false,markupMatrix);gl.uniform4f(locations.uCanvasColor,CANVAS_COLOR_R,CANVAS_COLOR_G,CANVAS_COLOR_B,1);gl.uniform1fv(locations.uMaskBounds,maskBounds);gl.uniform1f(locations.uMaskOpacity,maskOpacity);gl.bindBuffer(gl.ARRAY_BUFFER,pathBuffer);gl.bufferData(gl.ARRAY_BUFFER,vertices,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aPosition,2,gl.FLOAT,false,stride,0);gl.vertexAttribPointer(locations.aNormal,2,gl.FLOAT,false,stride,normalOffset);gl.vertexAttribPointer(locations.aMiter,1,gl.FLOAT,false,stride,miterOffset);gl.drawArrays(gl.TRIANGLE_STRIP,0,vertices.length/5);gl.disableVertexAttribArray(locations.aPosition);gl.disableVertexAttribArray(locations.aNormal);gl.disableVertexAttribArray(locations.aMiter)};const triangleShader=createShader(gl,triangleVertexShader,triangleFragmentShader,[\"aPosition\"],[\"uColor\",\"uCanvasColor\",\"uMatrix\",\"uMaskBounds\",\"uMaskOpacity\"]);const triangleBuffer=gl.createBuffer();const fillTriangle=(vertices,backgroundColor)=>{const{program,locations}=triangleShader;gl.useProgram(program);gl.enableVertexAttribArray(locations.aPosition);gl.uniform4fv(locations.uColor,backgroundColor);gl.uniformMatrix4fv(locations.uMatrix,false,markupMatrix);gl.uniform1fv(locations.uMaskBounds,maskBounds);gl.uniform1f(locations.uMaskOpacity,maskOpacity);gl.uniform4f(locations.uCanvasColor,CANVAS_COLOR_R,CANVAS_COLOR_G,CANVAS_COLOR_B,1);gl.bindBuffer(gl.ARRAY_BUFFER,triangleBuffer);gl.bufferData(gl.ARRAY_BUFFER,vertices,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aPosition,2,gl.FLOAT,false,0,0);gl.drawArrays(gl.TRIANGLE_STRIP,0,vertices.length/2);gl.disableVertexAttribArray(locations.aPosition);return vertices};const rectShaderAttributes=[\"aPosition\",\"aTexCoord\",\"aRectCoord\"];const rectShaderUniforms=[\"uTexture\",\"uColor\",\"uMatrix\",\"uCanvasColor\",\"uTextureColor\",\"uTextureOpacity\",\"uPosition\",\"uSize\",\"uMaskBounds\",\"uMaskOpacity\",\"uMaskFeather\",\"uCornerRadius\",\"uInverted\"];const rectShader=createShader(gl,rectVertexShader,rectFragmentShader,rectShaderAttributes,rectShaderUniforms);const rectBuffer=gl.createBuffer();const rectTextureBuffer=gl.createBuffer();const rectCornerBuffer=gl.createBuffer();const fillRect=(vertices,width,height,cornerRadius,backgroundColor,backgroundImage=transparentTexture,opacity=1,colorFilter=COLOR_TRANSPARENT,uv=RECT_UV,maskFeather=RECT_MASK_FEATHER,inverted)=>{const{program,locations}=rectShader;gl.useProgram(program);gl.enableVertexAttribArray(locations.aPosition);gl.enableVertexAttribArray(locations.aTexCoord);gl.enableVertexAttribArray(locations.aRectCoord);gl.uniform4fv(locations.uColor,backgroundColor);gl.uniform2fv(locations.uSize,[width,height]);gl.uniform2fv(locations.uPosition,[vertices[2],vertices[3]]);gl.uniform1i(locations.uInverted,inverted?1:0);gl.uniform1fv(locations.uCornerRadius,cornerRadius);gl.uniform4f(locations.uCanvasColor,CANVAS_COLOR_R,CANVAS_COLOR_G,CANVAS_COLOR_B,1);gl.uniform1fv(locations.uMaskFeather,maskFeather.map((v,i)=>i%2===0?v:v*viewPixelDensity));gl.uniform1fv(locations.uMaskBounds,maskBounds);gl.uniform1f(locations.uMaskOpacity,maskOpacity);gl.uniformMatrix4fv(locations.uMatrix,false,markupMatrix);gl.uniform1i(locations.uTexture,TEXTURE_SHAPE_INDEX);gl.uniform4fv(locations.uTextureColor,colorFilter);gl.uniform1f(locations.uTextureOpacity,opacity);gl.activeTexture(gl.TEXTURE0+TEXTURE_SHAPE_INDEX);gl.bindTexture(gl.TEXTURE_2D,backgroundImage);gl.bindBuffer(gl.ARRAY_BUFFER,rectTextureBuffer);gl.bufferData(gl.ARRAY_BUFFER,uv,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aTexCoord,2,gl.FLOAT,false,0,0);gl.bindBuffer(gl.ARRAY_BUFFER,rectCornerBuffer);gl.bufferData(gl.ARRAY_BUFFER,RECT_UV,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aRectCoord,2,gl.FLOAT,false,0,0);gl.bindBuffer(gl.ARRAY_BUFFER,rectBuffer);gl.bufferData(gl.ARRAY_BUFFER,vertices,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aPosition,2,gl.FLOAT,false,0,0);gl.drawArrays(gl.TRIANGLE_STRIP,0,vertices.length/2);gl.disableVertexAttribArray(locations.aPosition);gl.disableVertexAttribArray(locations.aTexCoord);gl.disableVertexAttribArray(locations.aRectCoord);return vertices};const ellipseShader=createShader(gl,ellipseVertexShader,ellipseFragmentShader,[\"aPosition\",\"aTexCoord\"],[\"uTexture\",\"uTextureOpacity\",\"uColor\",\"uCanvasColor\",\"uMatrix\",\"uRadius\",\"uInverted\",\"uMaskBounds\",\"uMaskOpacity\"]);const ellipseBuffer=gl.createBuffer();const ellipseTextureBuffer=gl.createBuffer();const fillEllipse=(vertices,width,height,backgroundColor,backgroundImage=transparentTexture,uv=RECT_UV,opacity=1,inverted=false)=>{const{program,locations}=ellipseShader;gl.useProgram(program);gl.enableVertexAttribArray(locations.aPosition);gl.enableVertexAttribArray(locations.aTexCoord);gl.uniformMatrix4fv(locations.uMatrix,false,markupMatrix);gl.uniform2fv(locations.uRadius,[width*.5,height*.5]);gl.uniform1i(locations.uInverted,inverted?1:0);gl.uniform4fv(locations.uColor,backgroundColor);gl.uniform4f(locations.uCanvasColor,CANVAS_COLOR_R,CANVAS_COLOR_G,CANVAS_COLOR_B,1);gl.uniform1fv(locations.uMaskBounds,maskBounds);gl.uniform1f(locations.uMaskOpacity,maskOpacity);gl.uniform1i(locations.uTexture,TEXTURE_SHAPE_INDEX);gl.uniform1f(locations.uTextureOpacity,opacity);gl.activeTexture(gl.TEXTURE0+TEXTURE_SHAPE_INDEX);gl.bindTexture(gl.TEXTURE_2D,backgroundImage);gl.bindBuffer(gl.ARRAY_BUFFER,ellipseTextureBuffer);gl.bufferData(gl.ARRAY_BUFFER,uv,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aTexCoord,2,gl.FLOAT,false,0,0);gl.bindBuffer(gl.ARRAY_BUFFER,ellipseBuffer);gl.bufferData(gl.ARRAY_BUFFER,vertices,gl.STATIC_DRAW);gl.vertexAttribPointer(locations.aPosition,2,gl.FLOAT,false,0,0);gl.drawArrays(gl.TRIANGLE_STRIP,0,vertices.length/2);gl.disableVertexAttribArray(locations.aPosition);gl.disableVertexAttribArray(locations.aTexCoord)};const drawPath=(points,strokeWidth,strokeColor,strokeClose,opacity)=>{if(points.length<2)return;strokePath(points.map(p=>({x:p.x*viewPixelDensity,y:p.y*viewPixelDensity})),strokeWidth*viewPixelDensity,applyOpacity(strokeColor,opacity),strokeClose)};const drawTriangle=(points,rotation=0,flipX=false,flipY=false,backgroundColor,opacity)=>{if(!backgroundColor)return;const clonedPoints=points.map(p=>({x:p.x*viewPixelDensity,y:p.y*viewPixelDensity}));const center=convexPolyCentroid(clonedPoints);if(flipX||flipY)vectorsFlip(clonedPoints,flipX,flipY,center.x,center.y);vectorsRotate(clonedPoints,rotation,center.x,center.y);const vertices=trianglePointToVertices(clonedPoints);fillTriangle(vertices,applyOpacity(backgroundColor,opacity))};const drawRect=(rect,rotation=0,flipX=false,flipY=false,cornerRadius,backgroundColor,backgroundImage,backgroundSize=undefined,backgroundPosition=undefined,backgroundUVMap=undefined,strokeWidth,strokeColor,opacity,maskFeather=undefined,colorize,inverted)=>{const rectOut=rectMultiply(rectClone(rect),viewPixelDensity);const cornerRadiusOut=cornerRadius.map(r=>limitCornerRadius(r||0,rect)).map(r=>r*viewPixelDensity);if(backgroundColor||backgroundImage){const rectFill=rectClone(rectOut);rectFill.x-=.5;rectFill.y-=.5;rectFill.width+=1;rectFill.height+=1;const points=createRectPoints(rectFill,rotation,flipX,flipY);const vertices=rectPointsToVertices(points);let color;if(colorize){color=applyOpacity(colorize);if(color[3]===0)color[3]=.001}fillRect(vertices,rectFill.width,rectFill.height,cornerRadiusOut,applyOpacity(backgroundColor,opacity),backgroundImage,opacity,color,backgroundUVMap?new Float32Array(backgroundUVMap):calculateBackgroundUVMap(rectFill.width,rectFill.height,backgroundSize,backgroundPosition,viewPixelDensity),maskFeather,inverted)}if(strokeWidth){strokeWidth=Math.min(strokeWidth,rectOut.width,rectOut.height);strokePath(createRectOutline(rectOut.x,rectOut.y,rectOut.width,rectOut.height,rotation,cornerRadiusOut,flipX,flipY),strokeWidth*viewPixelDensity,applyOpacity(strokeColor,opacity),true)}};const drawEllipse=(center,rx,ry,rotation,flipX,flipY,backgroundColor,backgroundImage,backgroundSize=undefined,backgroundPosition=undefined,backgroundUVMap=undefined,strokeWidth,strokeColor,opacity,inverted)=>{const rectOut=rectMultiply(rectCreate(center.x-rx,center.y-ry,rx*2,ry*2),viewPixelDensity);if(backgroundColor||backgroundImage){const rectFill=rectClone(rectOut);rectFill.x-=.5;rectFill.y-=.5;rectFill.width+=1;rectFill.height+=1;const points=createRectPoints(rectFill,rotation,flipX,flipY);const vertices=rectPointsToVertices(points);fillEllipse(vertices,rectFill.width,rectFill.height,applyOpacity(backgroundColor,opacity),backgroundImage,backgroundUVMap?new Float32Array(backgroundUVMap):calculateBackgroundUVMap(rectFill.width,rectFill.height,backgroundSize,backgroundPosition,viewPixelDensity),opacity,inverted)}if(strokeWidth)strokePath(createEllipseOutline(rectOut.x,rectOut.y,rectOut.width,rectOut.height,rotation,flipX,flipY),strokeWidth*viewPixelDensity,applyOpacity(strokeColor,opacity),true)};const glTextures=new Map;const imageFramebufferSize={};imageFramebufferSize[TEXTURE_PREVIEW_MARKUP_INDEX]={width:0,height:0};imageFramebufferSize[TEXTURE_PREVIEW_BLEND_INDEX]={width:0,height:0};const drawToImageFramebuffer=(index,buffer,imageSize)=>{const textureScalar=Math.min(textureSizeLimit/imageSize.width,textureSizeLimit/imageSize.height,1);const textureWidth=Math.floor(textureScalar*imageSize.width);const textureHeight=Math.floor(textureScalar*imageSize.height);if(!sizeEqual(imageSize,imageFramebufferSize[index])){gl.bindTexture(gl.TEXTURE_2D,indexTextureMap.get(index));gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,textureWidth,textureHeight,0,gl.RGBA,gl.UNSIGNED_BYTE,null);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindFramebuffer(gl.FRAMEBUFFER,buffer);gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,indexTextureMap.get(index),0);imageFramebufferSize[index]=imageSize}else{gl.bindFramebuffer(gl.FRAMEBUFFER,buffer)}const w=imageSize.width*viewPixelDensity;const h=imageSize.height*viewPixelDensity;mat4Ortho(markupMatrixFrameBuffer,0,w,h,0,-1,1);mat4Translate(markupMatrixFrameBuffer,0,h,0);mat4ScaleX(markupMatrixFrameBuffer,1);mat4ScaleY(markupMatrixFrameBuffer,-1);markupMatrix=markupMatrixFrameBuffer;gl.viewport(0,0,textureWidth,textureHeight);gl.colorMask(true,true,true,true);gl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);RECT_MASK_FEATHER=[1,0,1,0,1,Math.max(viewSize.width,imageSize.width),1,Math.max(viewSize.width,imageSize.width)]};const textureDelete=(texture,forceRelease=false)=>{const source=glTextures.get(texture);if(source instanceof HTMLCanvasElement){if(!forceRelease&&!source.dataset.retain){releaseCanvas(source)}}glTextures.delete(texture);gl.deleteTexture(texture)};return{drawPath:drawPath,drawTriangle:drawTriangle,drawRect:drawRect,drawEllipse:drawEllipse,drawImage:drawImage,textureFilterNearest:gl.NEAREST,textureFilterLinear:gl.LINEAR,textureCreate:()=>{return gl.createTexture()},textureUpdate:(texture,source,options)=>{glTextures.set(texture,source);return updateTexture(gl,texture,source,options)},textureSize:texture=>{const src=glTextures.get(texture);return sizeCreateFromAny(src)},textureDelete:textureDelete,setCanvasColor(color){CANVAS_COLOR_R=color[0];CANVAS_COLOR_G=color[1];CANVAS_COLOR_B=color[2];gl.clear(gl.COLOR_BUFFER_BIT)},drawToCanvas(){gl.bindFramebuffer(gl.FRAMEBUFFER,null);markupMatrix=markupMatrixCanvas;gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.colorMask(true,true,true,false);gl.clearColor(CANVAS_COLOR_R,CANVAS_COLOR_G,CANVAS_COLOR_B,1);gl.clear(gl.COLOR_BUFFER_BIT);RECT_MASK_FEATHER=[1,0,1,0,1,viewSize.width,1,viewSize.width]},drawToImageBlendBuffer(imageSize){drawToImageFramebuffer(TEXTURE_PREVIEW_BLEND_INDEX,blendFramebuffer,imageSize)},drawToImageOverlayBuffer(imageSize){drawToImageFramebuffer(TEXTURE_PREVIEW_MARKUP_INDEX,markupFramebuffer,imageSize)},enableMask(rect,opacity){const maskX=rect.x*viewPixelDensity;const maskY=rect.y*viewPixelDensity;const maskWidth=rect.width*viewPixelDensity;const maskHeight=rect.height*viewPixelDensity;maskLeft=maskX;maskRight=maskLeft+maskWidth;maskTop=viewSize.height-maskY;maskBottom=viewSize.height-(maskY+maskHeight);maskOpacity=1-opacity;maskBounds=[maskTop,maskRight,maskBottom,maskLeft]},disableMask(){maskLeft=0;maskRight=viewSize.width;maskTop=viewSize.height;maskBottom=0;maskOpacity=1;maskBounds=[maskTop,maskRight,maskBottom,maskLeft]},resize:resize,release(){const textures=Array.from(glTextures.keys());textures.forEach(texture=>textureDelete(texture,true));glTextures.clear();indexTextureMap.forEach(texture=>{gl.deleteTexture(texture)});indexTextureMap.clear();imageShader.destroy();pathShader.destroy();triangleShader.destroy();rectShader.destroy();ellipseShader.destroy();canvas.width=1;canvas.height=1;canvas=undefined}}};var isImageBitmap=obj=>\"close\"in obj;function create_fragment$N(ctx){let div;let canvas_1;let mounted;let dispose;return{c(){div=element(\"div\");canvas_1=element(\"canvas\");attr(div,\"class\",\"PinturaCanvas\")},m(target,anchor){insert(target,div,anchor);append(div,canvas_1);ctx[25](canvas_1);if(!mounted){dispose=[listen(canvas_1,\"measure\",ctx[26]),action_destroyer(measurable.call(null,canvas_1))];mounted=true}},p:noop,i:noop,o:noop,d(detaching){if(detaching)detach(div);ctx[25](null);mounted=false;run_all(dispose)}}}function instance$N($$self,$$props,$$invalidate){let canDraw;let drawUpdate;let $background;let $maskOpacityStore;let $mask;let $imageOverlayColor;let $maskFrameOpacityStore;const blendWithCanvasBackground=(back,front)=>{const[bR,bG,bB]=back;const[fR,fG,fB,fA]=front;return[fR*fA+bR*(1-fA),fG*fA+bG*(1-fA),fB*fA+bB*(1-fA),1]};const dispatch=createEventDispatcher();let{animate}=$$props;let{maskRect}=$$props;let{maskOpacity=1}=$$props;let{maskFrameOpacity=.95}=$$props;let{pixelRatio=1}=$$props;let{backgroundColor}=$$props;let{willRender=passthrough}=$$props;let{willRequestResource=()=>true}=$$props;let{loadImageData=passthrough}=$$props;let{images=[]}=$$props;let{interfaceImages=[]}=$$props;let canvas;let canvasGL=null;let width=null;let height=null;const updateSpring=(spring,value)=>spring.set(value,{hard:!animate});const SPRING_PROPS={precision:1e-4};const SPRING_PROPS_FRACTION={precision:SPRING_PROPS.precision*.01};const background=tweened(undefined,{duration:250});component_subscribe($$self,background,value=>$$invalidate(21,$background=value));const maskOpacityStore=spring(1,SPRING_PROPS_FRACTION);component_subscribe($$self,maskOpacityStore,value=>$$invalidate(22,$maskOpacityStore=value));const maskFrameOpacityStore=spring(1,SPRING_PROPS_FRACTION);component_subscribe($$self,maskFrameOpacityStore,value=>$$invalidate(31,$maskFrameOpacityStore=value));const mask=writable();component_subscribe($$self,mask,value=>$$invalidate(29,$mask=value));const imageOverlayColor=writable();component_subscribe($$self,imageOverlayColor,value=>$$invalidate(30,$imageOverlayColor=value));const Textures=new Map([]);const PlaceholderTextures=new Map([]);const getImageTexture=(image,imageRendering)=>{if(!Textures.has(image)){Textures.set(image,image);const filter=imageRendering===\"pixelated\"?canvasGL.textureFilterNearest:canvasGL.textureFilterLinear;if(!isString(image)&&(isImageBitmap(image)||isImageData(image)||isCanvas(image))){const texture=canvasGL.textureCreate();canvasGL.textureUpdate(texture,image,{filter:filter});Textures.set(image,texture)}else{loadImageData(image).then(data=>{const texture=canvasGL.textureCreate();canvasGL.textureUpdate(texture,data,{filter:filter});Textures.set(image,texture);requestAnimationFrame(drawUpdate)}).catch(err=>{console.error(err)})}}return Textures.get(image)};const getTextTexture=shape=>{if(!shape.text.length){PlaceholderTextures.delete(shape.id);return undefined}let{text,textAlign,fontFamily,fontSize,fontWeight,fontVariant,fontStyle,lineHeight,width,height}=shape;const{lastCharPosition,size}=textMeasure(text,shape);const textUID=objectUID({text:text,textAlign:textAlign,fontFamily:fontFamily,fontSize:fontSize,fontWeight:fontWeight,fontVariant:fontVariant,fontStyle:fontStyle,lineHeight:lineHeight,height:height?Math.min(lastCharPosition.y,Math.ceil(height/lineHeight)*lineHeight):\"auto\",xOffset:lastCharPosition.x,yOffset:lastCharPosition.y});if(!Textures.has(textUID)){Textures.set(textUID,text);const widthRounded=width&&Math.round(width);const heightRounded=height&&Math.round(height);const textureSize=sizeApply(sizeClone(size),v=>Math.min(Math.round(v),getWebGLTextureSizeLimit()));textToImage(text,{fontSize:fontSize,fontFamily:fontFamily,fontWeight:fontWeight,fontVariant:fontVariant,fontStyle:fontStyle,textAlign:textAlign,lineHeight:lineHeight,color:[1,0,1],width:widthRounded,height:heightRounded,imageWidth:textureSize.width,imageHeight:heightRounded?Math.ceil(heightRounded/lineHeight)*lineHeight:textureSize.height,willRequestResource:willRequestResource}).then(image=>{const texture=canvasGL.textureCreate();canvasGL.textureUpdate(texture,image,{filter:canvasGL.textureFilterLinear});Textures.set(textUID,texture);PlaceholderTextures.set(shape.id,texture);requestAnimationFrame(drawUpdate)}).catch(console.error)}const texture=Textures.get(textUID);return isTexture(texture)?texture:PlaceholderTextures.get(shape.id)};const getShapeTexture=shape=>{let texture;if(shape.backgroundImage){texture=getImageTexture(shape.backgroundImage,shape.backgroundImageRendering)}else if(isString(shape.text)){if(shape.width&&shape.width<1||shape.height&&shape.height<1)return undefined;texture=getTextTexture(shape)}return texture};const isTexture=texture=>texture instanceof WebGLTexture;const releaseUnusedTextures=usedTextures=>{Textures.forEach((registeredTexture,key)=>{const isUsed=!!usedTextures.find(usedTexture=>usedTexture===registeredTexture);if(isUsed||!isTexture(registeredTexture))return;if(Array.from(PlaceholderTextures.values()).includes(registeredTexture))return;Textures.delete(key);canvasGL.textureDelete(registeredTexture)})};const drawImageHelper=({data,size,origin,translation,rotation,scale,colorMatrix,opacity,convolutionMatrix,gamma,vignette,maskFeather,maskCornerRadius,backgroundColor,overlayColor,enableShapes,enableBlend})=>{if(backgroundColor&&backgroundColor[3]<1&&backgroundColor[3]>0){backgroundColor=blendWithCanvasBackground($background,backgroundColor)}const texture=getImageTexture(data);canvasGL.drawImage(texture,size,origin.x,origin.y,translation.x,translation.y,rotation.x,rotation.y,rotation.z,scale,colorMatrix,clamp(opacity,0,1),convolutionMatrix,gamma,vignette,maskFeather,maskCornerRadius,backgroundColor,overlayColor,enableShapes,enableBlend);return texture};const backgroundCornersToUVMap=([tl,tr,br,bl])=>{return[bl.x,bl.y,tl.x,tl.y,br.x,br.y,tr.x,tr.y]};const EmptyVector=vectorCreateEmpty();const drawShapes=(shapes=[],maxSize)=>{return shapes.map(shape=>{let shapeTexture=!shape._isLoading&&getShapeTexture(shape);let texture=isTexture(shapeTexture)?shapeTexture:undefined;const scalar=shape._scale||1;const translation=shape._translate||EmptyVector;const strokeWidth=shape.strokeWidth&&shape.strokeWidth*scalar;if(isArray(shape.points)){shape.points.forEach(point=>{point.x*=scalar;point.y*=scalar;point.x+=translation.x;point.y+=translation.y});if(shape.points.length===3&&shape.backgroundColor){canvasGL.drawTriangle(shape.points,shape.rotation,shape.flipX,shape.flipY,shape.backgroundColor,strokeWidth,shape.strokeColor,shape.opacity)}else{canvasGL.drawPath(shape.points,strokeWidth,shape.strokeColor,shape.pathClose,shape.opacity)}}else if(isNumber(shape.rx)&&isNumber(shape.ry)){let x=shape.x;let y=shape.y;x*=scalar;y*=scalar;x+=translation.x;y+=translation.y;canvasGL.drawEllipse(vectorCreate(x,y),shape.rx*scalar,shape.ry*scalar,shape.rotation,shape.flipX,shape.flipY,shape.backgroundColor,texture,undefined,undefined,shape.backgroundCorners&&backgroundCornersToUVMap(shape.backgroundCorners),strokeWidth,shape.strokeColor,shape.opacity,shape.inverted)}else if(isString(shape.text)&&texture||shape.width){const textureSize=texture&&canvasGL.textureSize(texture);let colorize=undefined;let shapeRect;let shapeCornerRadius=[shape.cornerRadius,shape.cornerRadius,shape.cornerRadius,shape.cornerRadius].map(v=>v*scalar);if(shape.width){shapeRect=rectCreateFromAny(shape)}else{shapeRect={x:shape.x,y:shape.y,...textureSize}}if(scalar&&translation){shapeRect.x*=scalar;shapeRect.y*=scalar;shapeRect.x+=translation.x;shapeRect.y+=translation.y;shapeRect.width*=scalar;shapeRect.height*=scalar}let backgroundSize;let backgroundPosition;if(textureSize){if(shape.backgroundImage&&shape.backgroundSize){const textureAspectRatio=getAspectRatio(textureSize.width,textureSize.height);if(shape.backgroundSize===\"contain\"){const rect=rectContainRect(shapeRect,textureAspectRatio,shapeRect);backgroundSize=sizeCreateFromRect(rect);backgroundPosition=vectorCreate((shapeRect.width-backgroundSize.width)*.5,(shapeRect.height-backgroundSize.height)*.5)}else if(shape.backgroundSize===\"cover\"){const rect=rectCoverRect(shapeRect,textureAspectRatio,shapeRect);backgroundSize=sizeCreateFromRect(rect);backgroundPosition=vectorCreate(rect.x,rect.y);backgroundPosition=vectorCreate((shapeRect.width-backgroundSize.width)*.5,(shapeRect.height-backgroundSize.height)*.5)}else{backgroundSize=shape.backgroundSize;backgroundPosition=shape.backgroundPosition}}else if(shape.text){const pixelTextureSize={width:textureSize.width/TextPixelRatio,height:textureSize.height/TextPixelRatio};backgroundPosition=vectorCreate(0,0);backgroundSize={width:pixelTextureSize.width*scalar,height:pixelTextureSize.height*scalar};if(shape.backgroundColor){canvasGL.drawRect({...shapeRect,height:shapeRect.height||textureSize.height*scalar},shape.rotation,shape.flipX,shape.flipY,shapeCornerRadius,shape.backgroundColor,undefined,undefined,undefined,undefined,strokeWidth,shape.strokeColor,shape.opacity,undefined,undefined,shape.inverted)}shape.backgroundColor=undefined;shapeRect.x-=TextPadding*scalar;colorize=shape.color;if(shape.width){shapeRect.height=shapeRect.height||pixelTextureSize.height*scalar;shapeRect.width+=TextPadding*2*scalar;if(shape.textAlign===\"center\"){backgroundPosition.x=(shapeRect.width-backgroundSize.width)*.5}else if(shape.textAlign===\"right\"){backgroundPosition.x=shapeRect.width-backgroundSize.width}}if(shape._prerender)colorize[3]=0}}canvasGL.drawRect(shapeRect,shape.rotation,shape.flipX,shape.flipY,shapeCornerRadius,shape.backgroundColor,texture,backgroundSize,backgroundPosition,shape.backgroundCorners&&backgroundCornersToUVMap(shape.backgroundCorners),strokeWidth,shape.strokeColor,shape.opacity,undefined,colorize,shape.inverted)}return shapeTexture}).filter(Boolean)};const usedTextures=[];const redraw=()=>{usedTextures.length=0;const imagesTop=images[0];const{blendShapes,annotationShapes,interfaceShapes,decorationShapes,frameShapes}=willRender({opacity:imagesTop.opacity,rotation:imagesTop.rotation,scale:imagesTop.scale,images:images,size:sizeCreate(width,height),backgroundColor:[...$background]});const canvasBackgroundColor=[...$background];const imagesMask=$mask;const imagesMaskOpacity=clamp($maskOpacityStore,0,1);const imagesOverlayColor=$imageOverlayColor;const imagesSize=imagesTop.size;const imagesBackgroundColor=imagesTop.backgroundColor;const hasBlendShapes=blendShapes.length>0;const hasAnnotations=annotationShapes.length>0;const hasImageBackgroundColor=imagesBackgroundColor[3]>0;const hasTransparentOverlay=imagesMaskOpacity<1;if(hasTransparentOverlay&&hasImageBackgroundColor){const backR=canvasBackgroundColor[0];const backG=canvasBackgroundColor[1];const backB=canvasBackgroundColor[2];const frontA=1-imagesMaskOpacity;const frontR=imagesBackgroundColor[0]*frontA;const frontG=imagesBackgroundColor[1]*frontA;const frontB=imagesBackgroundColor[2]*frontA;const fA=1-frontA;canvasBackgroundColor[0]=frontR+backR*fA;canvasBackgroundColor[1]=frontG+backG*fA;canvasBackgroundColor[2]=frontB+backB*fA;canvasBackgroundColor[3]=1}canvasGL.setCanvasColor(canvasBackgroundColor);if(hasBlendShapes){canvasGL.disableMask();canvasGL.drawToImageBlendBuffer(imagesSize);usedTextures.push(...drawShapes(blendShapes))}if(hasAnnotations){canvasGL.disableMask();canvasGL.drawToImageOverlayBuffer(imagesSize);usedTextures.push(...drawShapes(annotationShapes))}canvasGL.drawToCanvas();canvasGL.enableMask(imagesMask,imagesMaskOpacity);if(hasImageBackgroundColor){canvasGL.drawRect(imagesMask,0,false,false,[0,0,0,0],blendWithCanvasBackground($background,imagesBackgroundColor))}usedTextures.push(...[...images].reverse().map(image=>{return drawImageHelper({...image,enableShapes:hasAnnotations,enableBlend:hasBlendShapes,mask:imagesMask,maskOpacity:imagesMaskOpacity,overlayColor:imagesOverlayColor})}));canvasGL.enableMask(imagesMask,1);usedTextures.push(...drawShapes(decorationShapes));if(frameShapes.length){const shapesInside=frameShapes.filter(shape=>!shape.expandsCanvas);const shapesOutside=frameShapes.filter(shape=>shape.expandsCanvas);if(shapesInside.length){usedTextures.push(...drawShapes(shapesInside))}if(shapesOutside.length){canvasGL.enableMask({x:imagesMask.x+.5,y:imagesMask.y+.5,width:imagesMask.width-1,height:imagesMask.height-1},$maskFrameOpacityStore);usedTextures.push(...drawShapes(shapesOutside))}}canvasGL.disableMask();usedTextures.push(...drawShapes(interfaceShapes));interfaceImages.forEach(image=>{canvasGL.enableMask(image.mask,image.maskOpacity);if(image.backgroundColor){canvasGL.drawRect(image.mask,0,false,false,image.maskCornerRadius,image.backgroundColor,undefined,undefined,undefined,undefined,undefined,image.opacity,image.maskFeather)}drawImageHelper({...image,translation:{x:image.translation.x+image.offset.x-width*.5,y:image.translation.y+image.offset.y-height*.5}})});canvasGL.disableMask();releaseUnusedTextures(usedTextures)};let lastDraw=Date.now();const redrawThrottled=()=>{const now=Date.now();const dist=now-lastDraw;if(dist<48)return;lastDraw=now;redraw()};const selectFittingRenderFunction=()=>isSoftwareRendering()?redrawThrottled:redraw;afterUpdate(()=>drawUpdate());onMount(()=>$$invalidate(20,canvasGL=createWebGLCanvas(canvas)));onDestroy(()=>{if(!canvasGL)return;canvasGL.release();$$invalidate(20,canvasGL=undefined);$$invalidate(2,canvas=undefined)});function canvas_1_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{canvas=$$value;$$invalidate(2,canvas)})}const measure_handler=e=>{$$invalidate(0,width=e.detail.width);$$invalidate(1,height=e.detail.height);dispatch(\"measure\",{width:width,height:height})};$$self.$$set=$$props=>{if(\"animate\"in $$props)$$invalidate(9,animate=$$props.animate);if(\"maskRect\"in $$props)$$invalidate(10,maskRect=$$props.maskRect);if(\"maskOpacity\"in $$props)$$invalidate(11,maskOpacity=$$props.maskOpacity);if(\"maskFrameOpacity\"in $$props)$$invalidate(12,maskFrameOpacity=$$props.maskFrameOpacity);if(\"pixelRatio\"in $$props)$$invalidate(13,pixelRatio=$$props.pixelRatio);if(\"backgroundColor\"in $$props)$$invalidate(14,backgroundColor=$$props.backgroundColor);if(\"willRender\"in $$props)$$invalidate(15,willRender=$$props.willRender);if(\"willRequestResource\"in $$props)$$invalidate(16,willRequestResource=$$props.willRequestResource);if(\"loadImageData\"in $$props)$$invalidate(17,loadImageData=$$props.loadImageData);if(\"images\"in $$props)$$invalidate(18,images=$$props.images);if(\"interfaceImages\"in $$props)$$invalidate(19,interfaceImages=$$props.interfaceImages)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&16384){backgroundColor&&updateSpring(background,backgroundColor)}if($$self.$$.dirty[0]&2048){updateSpring(maskOpacityStore,isNumber(maskOpacity)?maskOpacity:1)}if($$self.$$.dirty[0]&4096){updateSpring(maskFrameOpacityStore,isNumber(maskFrameOpacity)?maskFrameOpacity:1)}if($$self.$$.dirty[0]&1024){maskRect&&mask.set(maskRect)}if($$self.$$.dirty[0]&6291456){$background&&imageOverlayColor.set([$background[0],$background[1],$background[2],clamp($maskOpacityStore,0,1)])}if($$self.$$.dirty[0]&1310723){$$invalidate(24,canDraw=!!(canvasGL&&width&&height&&images.length))}if($$self.$$.dirty[0]&1056771){width&&height&&canvasGL&&canvasGL.resize(width,height,pixelRatio)}if($$self.$$.dirty[0]&16777216){$$invalidate(23,drawUpdate=canDraw?selectFittingRenderFunction():noop$1)}if($$self.$$.dirty[0]&25165824){canDraw&&drawUpdate&&drawUpdate()}};return[width,height,canvas,dispatch,background,maskOpacityStore,maskFrameOpacityStore,mask,imageOverlayColor,animate,maskRect,maskOpacity,maskFrameOpacity,pixelRatio,backgroundColor,willRender,willRequestResource,loadImageData,images,interfaceImages,canvasGL,$background,$maskOpacityStore,drawUpdate,canDraw,canvas_1_binding,measure_handler]}class Canvas extends SvelteComponent{constructor(options){super();init(this,options,instance$N,create_fragment$N,safe_not_equal,{animate:9,maskRect:10,maskOpacity:11,maskFrameOpacity:12,pixelRatio:13,backgroundColor:14,willRender:15,willRequestResource:16,loadImageData:17,images:18,interfaceImages:19},[-1,-1])}}var arrayJoin=(arr,filter=Boolean,str=\" \")=>arr.filter(filter).join(str);function get_each_context$9(ctx,list,i){const child_ctx=ctx.slice();child_ctx[17]=list[i];return child_ctx}const get_default_slot_changes$1=dirty=>({tab:dirty&4});const get_default_slot_context$1=ctx=>({tab:ctx[17]});function create_if_block$e(ctx){let ul;let each_blocks=[];let each_1_lookup=new Map;let ul_class_value;let current;let each_value=ctx[2];const get_key=ctx=>ctx[17].id;for(let i=0;i{if_block=null});check_outros()}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(if_block)if_block.d(detaching);if(detaching)detach(if_block_anchor)}}}function instance$M($$self,$$props,$$invalidate){let tabNodes;let shouldRender;let{$$slots:slots={},$$scope}=$$props;let root;let{class:klass=undefined}=$$props;let{name}=$$props;let{selected}=$$props;let{tabs=[]}=$$props;let{layout=undefined}=$$props;const dispatch=createEventDispatcher();const focusTab=index=>{const tab=root.querySelectorAll('[role=\"tab\"] button')[index];if(!tab)return;tab.focus()};const handleClickTab=(e,id)=>{e.preventDefault();e.stopPropagation();dispatch(\"select\",id)};const handleKeyTab=({key},id)=>{if(!/arrow/i.test(key))return;const index=tabs.findIndex(tab=>tab.id===id);if(/right|down/i.test(key))return focusTab(index0?index-1:tabs.length-1)};const keydown_handler=(tab,e)=>handleKeyTab(e,tab.id);const click_handler=(tab,e)=>handleClickTab(e,tab.id);function ul_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{root=$$value;$$invalidate(3,root)})}$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(0,klass=$$props.class);if(\"name\"in $$props)$$invalidate(7,name=$$props.name);if(\"selected\"in $$props)$$invalidate(8,selected=$$props.selected);if(\"tabs\"in $$props)$$invalidate(9,tabs=$$props.tabs);if(\"layout\"in $$props)$$invalidate(1,layout=$$props.layout);if(\"$$scope\"in $$props)$$invalidate(10,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty&896){$$invalidate(2,tabNodes=tabs.map(tab=>{const isActive=tab.id===selected;return{...tab,tabId:`tab-${name}-${tab.id}`,href:`#panel-${name}-${tab.id}`,selected:isActive}}))}if($$self.$$.dirty&4){$$invalidate(4,shouldRender=tabNodes.length>1)}};return[klass,layout,tabNodes,root,shouldRender,handleClickTab,handleKeyTab,name,selected,tabs,$$scope,slots,keydown_handler,click_handler,ul_binding]}class TabList extends SvelteComponent{constructor(options){super();init(this,options,instance$M,create_fragment$M,safe_not_equal,{class:0,name:7,selected:8,tabs:9,layout:1})}}const get_default_slot_changes_1=dirty=>({panel:dirty&16});const get_default_slot_context_1=ctx=>({panel:ctx[4][0].id,panelIsActive:true});function get_each_context$8(ctx,list,i){const child_ctx=ctx.slice();child_ctx[14]=list[i].id;child_ctx[15]=list[i].draw;child_ctx[16]=list[i].panelId;child_ctx[17]=list[i].tabindex;child_ctx[18]=list[i].labelledBy;child_ctx[19]=list[i].hidden;child_ctx[3]=list[i].visible;return child_ctx}const get_default_slot_changes=dirty=>({panel:dirty&16,panelIsActive:dirty&16});const get_default_slot_context=ctx=>({panel:ctx[14],panelIsActive:!ctx[19]});function create_else_block$5(ctx){let div1;let div0;let div0_class_value;let current;let mounted;let dispose;const default_slot_template=ctx[11].default;const default_slot=create_slot(default_slot_template,ctx,ctx[10],get_default_slot_context_1);return{c(){div1=element(\"div\");div0=element(\"div\");if(default_slot)default_slot.c();attr(div0,\"class\",div0_class_value=arrayJoin([ctx[1]]));attr(div1,\"class\",ctx[0]);attr(div1,\"style\",ctx[2])},m(target,anchor){insert(target,div1,anchor);append(div1,div0);if(default_slot){default_slot.m(div0,null)}current=true;if(!mounted){dispose=[listen(div1,\"measure\",ctx[13]),action_destroyer(measurable.call(null,div1))];mounted=true}},p(ctx,dirty){if(default_slot){if(default_slot.p&&dirty&1040){update_slot(default_slot,default_slot_template,ctx,ctx[10],dirty,get_default_slot_changes_1,get_default_slot_context_1)}}if(!current||dirty&2&&div0_class_value!==(div0_class_value=arrayJoin([ctx[1]]))){attr(div0,\"class\",div0_class_value)}if(!current||dirty&1){attr(div1,\"class\",ctx[0])}if(!current||dirty&4){attr(div1,\"style\",ctx[2])}},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(div1);if(default_slot)default_slot.d(detaching);mounted=false;run_all(dispose)}}}function create_if_block$d(ctx){let div;let each_blocks=[];let each_1_lookup=new Map;let div_class_value;let current;let mounted;let dispose;let each_value=ctx[4];const get_key=ctx=>ctx[14];for(let i=0;i{if_block=null});check_outros()}if(!current||dirty&2&&div_class_value!==(div_class_value=arrayJoin([\"PinturaTabPanel\",ctx[1]]))){attr(div,\"class\",div_class_value)}if(!current||dirty&16&&div_hidden_value!==(div_hidden_value=ctx[19])){div.hidden=div_hidden_value}if(!current||dirty&16&&div_id_value!==(div_id_value=ctx[16])){attr(div,\"id\",div_id_value)}if(!current||dirty&16&&div_tabindex_value!==(div_tabindex_value=ctx[17])){attr(div,\"tabindex\",div_tabindex_value)}if(!current||dirty&16&&div_aria_labelledby_value!==(div_aria_labelledby_value=ctx[18])){attr(div,\"aria-labelledby\",div_aria_labelledby_value)}if(!current||dirty&16&&div_data_inert_value!==(div_data_inert_value=!ctx[3])){attr(div,\"data-inert\",div_data_inert_value)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(if_block)if_block.d()}}}function create_fragment$L(ctx){let current_block_type_index;let if_block;let if_block_anchor;let current;const if_block_creators=[create_if_block$d,create_else_block$5];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[5])return 0;return 1}current_block_type_index=select_block_type(ctx);if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);return{c(){if_block.c();if_block_anchor=empty()},m(target,anchor){if_blocks[current_block_type_index].m(target,anchor);insert(target,if_block_anchor,anchor);current=true},p(ctx,[dirty]){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if_blocks[current_block_type_index].d(detaching);if(detaching)detach(if_block_anchor)}}}function instance$L($$self,$$props,$$invalidate){let panelNodes;let shouldRender;let{$$slots:slots={},$$scope}=$$props;let{class:klass=undefined}=$$props;let{name}=$$props;let{selected}=$$props;let{visible=undefined}=$$props;let{panelClass=undefined}=$$props;let{panels=[]}=$$props;let{style=undefined}=$$props;const drawCache={};function measure_handler(event){bubble($$self,event)}function measure_handler_1(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(0,klass=$$props.class);if(\"name\"in $$props)$$invalidate(6,name=$$props.name);if(\"selected\"in $$props)$$invalidate(7,selected=$$props.selected);if(\"visible\"in $$props)$$invalidate(3,visible=$$props.visible);if(\"panelClass\"in $$props)$$invalidate(1,panelClass=$$props.panelClass);if(\"panels\"in $$props)$$invalidate(8,panels=$$props.panels);if(\"style\"in $$props)$$invalidate(2,style=$$props.style);if(\"$$scope\"in $$props)$$invalidate(10,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty&968){$$invalidate(4,panelNodes=panels.map(id=>{const isActive=id===selected;const isVisible=visible?visible.indexOf(id)!==-1:true;if(isActive)$$invalidate(9,drawCache[id]=true,drawCache);return{id:id,panelId:`panel-${name}-${id}`,labelledBy:`tab-${name}-${id}`,hidden:!isActive,visible:isVisible,tabindex:isActive?0:-1,draw:isActive||drawCache[id]}}))}if($$self.$$.dirty&16){$$invalidate(5,shouldRender=panelNodes.length>1)}};return[klass,panelClass,style,visible,panelNodes,shouldRender,name,selected,panels,drawCache,$$scope,slots,measure_handler,measure_handler_1]}class TabPanels extends SvelteComponent{constructor(options){super();init(this,options,instance$L,create_fragment$L,safe_not_equal,{class:0,name:6,selected:7,visible:3,panelClass:1,panels:8,style:2})}}function create_fragment$K(ctx){let div;let switch_instance;let updating_name;let div_class_value;let current;const switch_instance_spread_levels=[ctx[7]];function switch_instance_name_binding(value){ctx[19](value)}var switch_value=ctx[11];function switch_props(ctx){let switch_instance_props={};for(let i=0;ibind(switch_instance,\"name\",switch_instance_name_binding));ctx[20](switch_instance);switch_instance.$on(\"measure\",ctx[21])}return{c(){div=element(\"div\");if(switch_instance)create_component(switch_instance.$$.fragment);attr(div,\"data-util\",ctx[5]);attr(div,\"class\",div_class_value=arrayJoin([\"PinturaPanel\",ctx[2]]));attr(div,\"style\",ctx[6])},m(target,anchor){insert(target,div,anchor);if(switch_instance){mount_component(switch_instance,div,null)}current=true},p(ctx,[dirty]){const switch_instance_changes=dirty&128?get_spread_update(switch_instance_spread_levels,[get_spread_object(ctx[7])]):{};if(!updating_name&&dirty&32){updating_name=true;switch_instance_changes.name=ctx[5];add_flush_callback(()=>updating_name=false)}if(switch_value!==(switch_value=ctx[11])){if(switch_instance){group_outros();const old_component=switch_instance;transition_out(old_component.$$.fragment,1,0,()=>{destroy_component(old_component,1)});check_outros()}if(switch_value){switch_instance=new switch_value(switch_props(ctx));binding_callbacks.push(()=>bind(switch_instance,\"name\",switch_instance_name_binding));ctx[20](switch_instance);switch_instance.$on(\"measure\",ctx[21]);create_component(switch_instance.$$.fragment);transition_in(switch_instance.$$.fragment,1);mount_component(switch_instance,div,null)}else{switch_instance=null}}else if(switch_value){switch_instance.$set(switch_instance_changes)}if(!current||dirty&32){attr(div,\"data-util\",ctx[5])}if(!current||dirty&4&&div_class_value!==(div_class_value=arrayJoin([\"PinturaPanel\",ctx[2]]))){attr(div,\"class\",div_class_value)}if(!current||dirty&64){attr(div,\"style\",ctx[6])}},i(local){if(current)return;if(switch_instance)transition_in(switch_instance.$$.fragment,local);current=true},o(local){if(switch_instance)transition_out(switch_instance.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);ctx[20](null);if(switch_instance)destroy_component(switch_instance)}}}function instance$K($$self,$$props,$$invalidate){let style;let componentProps;let $opacityClamped;let $isActivePrivateStore;const dispatch=createEventDispatcher();let{isActive=true}=$$props;let{isAnimated=true}=$$props;let{stores}=$$props;let{content}=$$props;let{component}=$$props;let{locale}=$$props;let{class:klass=undefined}=$$props;let rect;const opacity=spring(0);const opacityClamped=derived(opacity,$opacity=>clamp($opacity,0,1));component_subscribe($$self,opacityClamped,value=>$$invalidate(18,$opacityClamped=value));let isHidden=!isActive;const isActivePrivateStore=writable(isActive);component_subscribe($$self,isActivePrivateStore,value=>$$invalidate(22,$isActivePrivateStore=value));const stateProps={isActive:derived(isActivePrivateStore,$isActivePrivateStore=>$isActivePrivateStore),isActiveFraction:derived(opacityClamped,$opacityClamped=>$opacityClamped),isVisible:derived(opacityClamped,$opacityClamped=>$opacityClamped>0)};const componentView=content.view;const componentExportedProps=getComponentExportedProps(componentView);const componentComputedProps=Object.keys(content.props||{}).reduce((computedProps,key)=>{if(!componentExportedProps.includes(key))return computedProps;computedProps[key]=content.props[key];return computedProps},{});const componentComputedStateProps=Object.keys(stateProps).reduce((computedStateProps,key)=>{if(!componentExportedProps.includes(key))return computedStateProps;computedStateProps[key]=stateProps[key];return computedStateProps},{});let panelName;let hasBeenMounted=false;onMount(()=>{$$invalidate(4,hasBeenMounted=true)});function switch_instance_name_binding(value){panelName=value;$$invalidate(5,panelName)}function switch_instance_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{component=$$value;$$invalidate(0,component)})}const measure_handler=e=>{if(!hasBeenMounted||!isActive)return;$$invalidate(3,rect=e.detail);dispatch(\"measure\",{...rect})};$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$invalidate(1,isActive=$$props.isActive);if(\"isAnimated\"in $$props)$$invalidate(12,isAnimated=$$props.isAnimated);if(\"stores\"in $$props)$$invalidate(13,stores=$$props.stores);if(\"content\"in $$props)$$invalidate(14,content=$$props.content);if(\"component\"in $$props)$$invalidate(0,component=$$props.component);if(\"locale\"in $$props)$$invalidate(15,locale=$$props.locale);if(\"class\"in $$props)$$invalidate(2,klass=$$props.class)};$$self.$$.update=()=>{if($$self.$$.dirty&11){if(rect&&isActive&&component)dispatch(\"measure\",rect)}if($$self.$$.dirty&4098){opacity.set(isActive?1:0,{hard:!isAnimated})}if($$self.$$.dirty&393216){if($opacityClamped<=0&&!isHidden){$$invalidate(17,isHidden=true)}else if($opacityClamped>0&&isHidden){$$invalidate(17,isHidden=false)}}if($$self.$$.dirty&131088){hasBeenMounted&&dispatch(isHidden?\"hide\":\"show\")}if($$self.$$.dirty&262144){dispatch(\"fade\",$opacityClamped)}if($$self.$$.dirty&262144){$$invalidate(6,style=$opacityClamped<1?`opacity: ${$opacityClamped}`:undefined)}if($$self.$$.dirty&2){set_store_value(isActivePrivateStore,$isActivePrivateStore=isActive,$isActivePrivateStore)}if($$self.$$.dirty&40960){$$invalidate(7,componentProps={...componentComputedProps,...componentComputedStateProps,stores:stores,locale:locale})}};return[component,isActive,klass,rect,hasBeenMounted,panelName,style,componentProps,dispatch,opacityClamped,isActivePrivateStore,componentView,isAnimated,stores,content,locale,opacity,isHidden,$opacityClamped,switch_instance_name_binding,switch_instance_binding,measure_handler]}class Panel extends SvelteComponent{constructor(options){super();init(this,options,instance$K,create_fragment$K,safe_not_equal,{isActive:1,isAnimated:12,stores:13,content:14,component:0,locale:15,class:2,opacity:16})}get opacity(){return this.$$.ctx[16]}}function create_fragment$J(ctx){let svg;let svg_viewBox_value;let current;const default_slot_template=ctx[5].default;const default_slot=create_slot(default_slot_template,ctx,ctx[4],null);return{c(){svg=svg_element(\"svg\");if(default_slot)default_slot.c();attr(svg,\"class\",ctx[3]);attr(svg,\"style\",ctx[2]);attr(svg,\"width\",ctx[0]);attr(svg,\"height\",ctx[1]);attr(svg,\"viewBox\",svg_viewBox_value=\"0 0 \"+ctx[0]+\"\\n \"+ctx[1]);attr(svg,\"xmlns\",\"http://www.w3.org/2000/svg\");attr(svg,\"aria-hidden\",\"true\");attr(svg,\"focusable\",\"false\");attr(svg,\"stroke-linecap\",\"round\");attr(svg,\"stroke-linejoin\",\"round\")},m(target,anchor){insert(target,svg,anchor);if(default_slot){default_slot.m(svg,null)}current=true},p(ctx,[dirty]){if(default_slot){if(default_slot.p&&dirty&16){update_slot(default_slot,default_slot_template,ctx,ctx[4],dirty,null,null)}}if(!current||dirty&8){attr(svg,\"class\",ctx[3])}if(!current||dirty&4){attr(svg,\"style\",ctx[2])}if(!current||dirty&1){attr(svg,\"width\",ctx[0])}if(!current||dirty&2){attr(svg,\"height\",ctx[1])}if(!current||dirty&3&&svg_viewBox_value!==(svg_viewBox_value=\"0 0 \"+ctx[0]+\"\\n \"+ctx[1])){attr(svg,\"viewBox\",svg_viewBox_value)}},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(svg);if(default_slot)default_slot.d(detaching)}}}function instance$J($$self,$$props,$$invalidate){let{$$slots:slots={},$$scope}=$$props;let{width=24}=$$props;let{height=24}=$$props;let{style=undefined}=$$props;let{class:klass=undefined}=$$props;$$self.$$set=$$props=>{if(\"width\"in $$props)$$invalidate(0,width=$$props.width);if(\"height\"in $$props)$$invalidate(1,height=$$props.height);if(\"style\"in $$props)$$invalidate(2,style=$$props.style);if(\"class\"in $$props)$$invalidate(3,klass=$$props.class);if(\"$$scope\"in $$props)$$invalidate(4,$$scope=$$props.$$scope)};return[width,height,style,klass,$$scope,slots]}class Icon extends SvelteComponent{constructor(options){super();init(this,options,instance$J,create_fragment$J,safe_not_equal,{width:0,height:1,style:2,class:3})}}var isEventTarget=(e,element)=>element===e.target||element.contains(e.target);function create_if_block_1$d(ctx){let icon_1;let current;icon_1=new Icon({props:{class:\"PinturaButtonIcon\",$$slots:{default:[create_default_slot$h]},$$scope:{ctx:ctx}}});return{c(){create_component(icon_1.$$.fragment)},m(target,anchor){mount_component(icon_1,target,anchor);current=true},p(ctx,dirty){const icon_1_changes={};if(dirty&1048578){icon_1_changes.$$scope={dirty:dirty,ctx:ctx}}icon_1.$set(icon_1_changes)},i(local){if(current)return;transition_in(icon_1.$$.fragment,local);current=true},o(local){transition_out(icon_1.$$.fragment,local);current=false},d(detaching){destroy_component(icon_1,detaching)}}}function create_default_slot$h(ctx){let g;return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=ctx[1]},p(ctx,dirty){if(dirty&2)g.innerHTML=ctx[1]},d(detaching){if(detaching)detach(g)}}}function create_if_block$c(ctx){let span;let t;return{c(){span=element(\"span\");t=text(ctx[0]);attr(span,\"class\",ctx[11])},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&1)set_data(t,ctx[0]);if(dirty&2048){attr(span,\"class\",ctx[11])}},d(detaching){if(detaching)detach(span)}}}function fallback_block$2(ctx){let span;let t;let current;let if_block0=ctx[1]&&create_if_block_1$d(ctx);let if_block1=ctx[0]&&create_if_block$c(ctx);return{c(){span=element(\"span\");if(if_block0)if_block0.c();t=space();if(if_block1)if_block1.c();attr(span,\"class\",ctx[9])},m(target,anchor){insert(target,span,anchor);if(if_block0)if_block0.m(span,null);append(span,t);if(if_block1)if_block1.m(span,null);current=true},p(ctx,dirty){if(ctx[1]){if(if_block0){if_block0.p(ctx,dirty);if(dirty&2){transition_in(if_block0,1)}}else{if_block0=create_if_block_1$d(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(span,t)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(ctx[0]){if(if_block1){if_block1.p(ctx,dirty)}else{if_block1=create_if_block$c(ctx);if_block1.c();if_block1.m(span,null)}}else if(if_block1){if_block1.d(1);if_block1=null}if(!current||dirty&512){attr(span,\"class\",ctx[9])}},i(local){if(current)return;transition_in(if_block0);current=true},o(local){transition_out(if_block0);current=false},d(detaching){if(detaching)detach(span);if(if_block0)if_block0.d();if(if_block1)if_block1.d()}}}function create_fragment$I(ctx){let button;let current;let mounted;let dispose;const default_slot_template=ctx[18].default;const default_slot=create_slot(default_slot_template,ctx,ctx[20],null);const default_slot_or_fallback=default_slot||fallback_block$2(ctx);return{c(){button=element(\"button\");if(default_slot_or_fallback)default_slot_or_fallback.c();attr(button,\"type\",ctx[4]);attr(button,\"style\",ctx[2]);button.disabled=ctx[3];attr(button,\"class\",ctx[10]);attr(button,\"title\",ctx[0])},m(target,anchor){insert(target,button,anchor);if(default_slot_or_fallback){default_slot_or_fallback.m(button,null)}ctx[19](button);current=true;if(!mounted){dispose=[listen(button,\"keydown\",function(){if(is_function(ctx[6]))ctx[6].apply(this,arguments)}),listen(button,\"click\",function(){if(is_function(ctx[5]))ctx[5].apply(this,arguments)}),action_destroyer(ctx[7].call(null,button))];mounted=true}},p(new_ctx,[dirty]){ctx=new_ctx;if(default_slot){if(default_slot.p&&dirty&1048576){update_slot(default_slot,default_slot_template,ctx,ctx[20],dirty,null,null)}}else{if(default_slot_or_fallback&&default_slot_or_fallback.p&&dirty&2563){default_slot_or_fallback.p(ctx,dirty)}}if(!current||dirty&16){attr(button,\"type\",ctx[4])}if(!current||dirty&4){attr(button,\"style\",ctx[2])}if(!current||dirty&8){button.disabled=ctx[3]}if(!current||dirty&1024){attr(button,\"class\",ctx[10])}if(!current||dirty&1){attr(button,\"title\",ctx[0])}},i(local){if(current)return;transition_in(default_slot_or_fallback,local);current=true},o(local){transition_out(default_slot_or_fallback,local);current=false},d(detaching){if(detaching)detach(button);if(default_slot_or_fallback)default_slot_or_fallback.d(detaching);ctx[19](null);mounted=false;run_all(dispose)}}}function instance$I($$self,$$props,$$invalidate){let elButtonInnerClass;let elButtonClass;let elLabelClass;let{$$slots:slots={},$$scope}=$$props;let{class:klass=undefined}=$$props;let{label=undefined}=$$props;let{labelClass=undefined}=$$props;let{innerClass=undefined}=$$props;let{hideLabel=false}=$$props;let{icon=undefined}=$$props;let{style=undefined}=$$props;let{disabled=undefined}=$$props;let{type=\"button\"}=$$props;let{onclick=undefined}=$$props;let{onkeydown=undefined}=$$props;let{action=()=>{}}=$$props;let root;const isEventTarget$1=e=>isEventTarget(e,root);const getElement=()=>root;function button_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{root=$$value;$$invalidate(8,root)})}$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(12,klass=$$props.class);if(\"label\"in $$props)$$invalidate(0,label=$$props.label);if(\"labelClass\"in $$props)$$invalidate(13,labelClass=$$props.labelClass);if(\"innerClass\"in $$props)$$invalidate(14,innerClass=$$props.innerClass);if(\"hideLabel\"in $$props)$$invalidate(15,hideLabel=$$props.hideLabel);if(\"icon\"in $$props)$$invalidate(1,icon=$$props.icon);if(\"style\"in $$props)$$invalidate(2,style=$$props.style);if(\"disabled\"in $$props)$$invalidate(3,disabled=$$props.disabled);if(\"type\"in $$props)$$invalidate(4,type=$$props.type);if(\"onclick\"in $$props)$$invalidate(5,onclick=$$props.onclick);if(\"onkeydown\"in $$props)$$invalidate(6,onkeydown=$$props.onkeydown);if(\"action\"in $$props)$$invalidate(7,action=$$props.action);if(\"$$scope\"in $$props)$$invalidate(20,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty&16384){$$invalidate(9,elButtonInnerClass=arrayJoin([\"PinturaButtonInner\",innerClass]))}if($$self.$$.dirty&36864){$$invalidate(10,elButtonClass=arrayJoin([\"PinturaButton\",hideLabel&&\"PinturaButtonIconOnly\",klass]))}if($$self.$$.dirty&40960){$$invalidate(11,elLabelClass=arrayJoin([hideLabel?\"implicit\":\"PinturaButtonLabel\",labelClass]))}};return[label,icon,style,disabled,type,onclick,onkeydown,action,root,elButtonInnerClass,elButtonClass,elLabelClass,klass,labelClass,innerClass,hideLabel,isEventTarget$1,getElement,slots,button_binding,$$scope]}class Button extends SvelteComponent{constructor(options){super();init(this,options,instance$I,create_fragment$I,safe_not_equal,{class:12,label:0,labelClass:13,innerClass:14,hideLabel:15,icon:1,style:2,disabled:3,type:4,onclick:5,onkeydown:6,action:7,isEventTarget:16,getElement:17})}get isEventTarget(){return this.$$.ctx[16]}get getElement(){return this.$$.ctx[17]}}var arrayRemove=(array,predicate)=>{const index=array.findIndex(predicate);if(index>=0)return array.splice(index,1);return undefined};const INERTIA_THRESHOLD=.25;const INERTIA_DISTANCE_MULTIPLIER=50;const INERTIA_DURATION_MULTIPLIER=80;const TAP_DURATION_MAX=300;const TAP_DISTANCE_MAX=64;const DOUBLE_TAP_DURATION_MAX=700;const DOUBLE_TAP_DISTANCE_MAX=128;const isContextMenuAction=e=>isNumber(e.button)&&e.button!==0;var interactable=(node,options={})=>{const{inertia=false,matchTarget=false,pinch=false,getEventPosition=e=>vectorCreate(e.clientX,e.clientY)}=options;function dispatch(type,detail){node.dispatchEvent(new CustomEvent(type,{detail:detail}))}function resetInertia(){if(inertiaTweenUnsubscribe)inertiaTweenUnsubscribe();inertiaTweenUnsubscribe=undefined}const pointers=[];const getPointerTimestamp=e=>{return e.timeStamp===0?Date.now():e.timeStamp};const addPointer=e=>{const timeStamp=getPointerTimestamp(e);const pointer={timeStamp:timeStamp,timeStampInitial:timeStamp,position:getEventPosition(e),origin:getEventPosition(e),velocity:vectorCreateEmpty(),translation:vectorCreateEmpty(),interactionState:undefined,event:e};pointers.push(pointer);pointer.interactionState=getInteractionState(pointers)};const removePointer=e=>{const pointer=arrayRemove(pointers,pointer=>pointer.event.pointerId===e.pointerId);if(pointer)return pointer[0]};const getPointerIndex=e=>pointers.findIndex(pointer=>pointer.event.pointerId===e.pointerId);const flattenPointerOrigin=pointer=>{pointer.origin.x=pointer.position.x;pointer.origin.y=pointer.position.y;pointer.translation.x=0;pointer.translation.y=0};const updatePointer=e=>{const pointer=getPointer(e);if(!pointer)return;const timeStamp=getPointerTimestamp(e);const eventPosition=getEventPosition(e);const interactionDuration=Math.max(1,timeStamp-pointer.timeStamp);pointer.velocity.x=(eventPosition.x-pointer.position.x)/interactionDuration;pointer.velocity.y=(eventPosition.y-pointer.position.y)/interactionDuration;pointer.translation.x=eventPosition.x-pointer.origin.x;pointer.translation.y=eventPosition.y-pointer.origin.y;pointer.timeStamp=timeStamp;pointer.position.x=eventPosition.x;pointer.position.y=eventPosition.y;pointer.event=e};const getPointer=e=>{const i=getPointerIndex(e);if(i<0)return;return pointers[i]};const isSingleTouching=()=>pointers.length===1;const isMultiTouching=()=>pointers.length===2;const getDistance=(pointers,position)=>{const distanceTotal=pointers.reduce((prev,curr)=>{prev+=vectorDistance(position,curr.position);return prev},0);return distanceTotal/pointers.length};const getInteractionState=pointers=>{const center=vectorCenter(pointers.map(pointer=>pointer.position));const distance=getDistance(pointers,center);return{center:center,distance:distance,velocity:vectorCenter(pointers.map(pointer=>pointer.velocity)),translation:vectorCenter(pointers.map(pointer=>pointer.translation))}};let inertiaTween;let inertiaTweenUnsubscribe;let pinchOffsetDistance;let currentTranslation;let currentScale;let isGesture;let lastTapTimeStamp=0;let lastTapPosition=undefined;node.addEventListener(\"pointerdown\",handlePointerdown);function handlePointerdown(e){if(isMultiTouching())return;if(isContextMenuAction(e))return;if(matchTarget&&e.target!==node)return;resetInertia();addPointer(e);if(isSingleTouching()){document.documentElement.addEventListener(\"pointermove\",handlePointermove);document.documentElement.addEventListener(\"pointerup\",handlePointerup);document.documentElement.addEventListener(\"pointercancel\",handlePointerup);isGesture=false;currentScale=1;currentTranslation=vectorCreateEmpty();pinchOffsetDistance=undefined;dispatch(\"interactionstart\",{origin:vectorClone(getPointer(e).origin)})}else if(pinch){isGesture=true;pinchOffsetDistance=vectorDistance(pointers[0].position,pointers[1].position);currentTranslation.x+=pointers[0].translation.x;currentTranslation.y+=pointers[0].translation.y;flattenPointerOrigin(pointers[0])}}let moveLast=Date.now();function handlePointermove(e){e.preventDefault();updatePointer(e);const translation=vectorClone(pointers[0].translation);let scalar=currentScale;if(pinch&&isMultiTouching()){const pinchCurrentDistance=vectorDistance(pointers[0].position,pointers[1].position);const pinchScalar=pinchCurrentDistance/pinchOffsetDistance;scalar*=pinchScalar;vectorAdd(translation,pointers[1].translation)}translation.x+=currentTranslation.x;translation.y+=currentTranslation.y;const now=Date.now();const dist=now-moveLast;if(dist<16)return;moveLast=now;dispatch(\"interactionupdate\",{translation:translation,scalar:pinch?scalar:undefined})}function handlePointerup(e){if(!getPointer(e))return;const removedPointer=removePointer(e);if(pinch&&isSingleTouching()){const pinchCurrentDistance=vectorDistance(pointers[0].position,removedPointer.position);currentScale*=pinchCurrentDistance/pinchOffsetDistance;currentTranslation.x+=pointers[0].translation.x+removedPointer.translation.x;currentTranslation.y+=pointers[0].translation.y+removedPointer.translation.y;flattenPointerOrigin(pointers[0])}let isTap=false;let isDoubleTap=false;if(!isGesture&&removedPointer){const interactionEnd=performance.now();const interactionDuration=interactionEnd-removedPointer.timeStampInitial;const interactionDistanceSquared=vectorDistanceSquared(removedPointer.translation);isTap=interactionDistanceSquared0)return;document.documentElement.removeEventListener(\"pointermove\",handlePointermove);document.documentElement.removeEventListener(\"pointerup\",handlePointerup);document.documentElement.removeEventListener(\"pointercancel\",handlePointerup);const translation=vectorClone(removedPointer.translation);const velocity=vectorClone(removedPointer.velocity);let inertiaPrevented=false;dispatch(\"interactionrelease\",{isTap:isTap,isDoubleTap:isDoubleTap,translation:translation,scalar:currentScale,preventInertia:()=>inertiaPrevented=true});const force=vectorDistance(velocity);if(inertiaPrevented||!inertia||force{if(!inertiaTweenUnsubscribe)return;handleEnd(get_store_value(inertiaTween),{isTap:isTap,isDoubleTap:isDoubleTap})});inertiaTweenUnsubscribe=inertiaTween.subscribe(handleInertiaUpdate)}function handleInertiaUpdate(inertiaTranslation){if(!inertiaTranslation)return;dispatch(\"interactionupdate\",{translation:inertiaTranslation,scalar:pinch?currentScale:undefined})}function handleEnd(translation,tapState){resetInertia();dispatch(\"interactionend\",{...tapState,translation:translation,scalar:pinch?currentScale:undefined})}return{destroy(){resetInertia();node.removeEventListener(\"pointerdown\",handlePointerdown)}}};var nudgeable=(element,options={})=>{const{direction=undefined,shiftMultiplier=10,bubbles=false,stopKeydownPropagation=true}=options;const isHorizontalDirection=direction===\"horizontal\";const isVerticalDirection=direction===\"vertical\";const handleKeydown=e=>{const{key}=e;const isShift=e.shiftKey;const isVerticalAction=/up|down/i.test(key);const isHorizontalAction=/left|right/i.test(key);if(!isHorizontalAction&&!isVerticalAction)return;if(isHorizontalDirection&&isVerticalAction)return;if(isVerticalDirection&&isHorizontalAction)return;const multiplier=isShift?shiftMultiplier:1;if(stopKeydownPropagation)e.stopPropagation();element.dispatchEvent(new CustomEvent(\"nudge\",{bubbles:bubbles,detail:vectorCreate((/left/i.test(key)?-1:/right/i.test(key)?1:0)*multiplier,(/up/i.test(key)?-1:/down/i.test(key)?1:0)*multiplier)}))};element.addEventListener(\"keydown\",handleKeydown);return{destroy(){element.removeEventListener(\"keydown\",handleKeydown)}}};function elastify(translation,dist){return dist*Math.sign(translation)*Math.log10(1+Math.abs(translation)/dist)}const elastifyRects=(a,b,dist)=>{if(!b)return rectClone(a);const left=a.x+elastify(b.x-a.x,dist);const right=a.x+a.width+elastify(b.x+b.width-(a.x+a.width),dist);const top=a.y+elastify(b.y-a.y,dist);const bottom=a.y+a.height+elastify(b.y+b.height-(a.y+a.height),dist);return{x:left,y:top,width:right-left,height:bottom-top}};var unitToPixels=(value,element)=>{if(!value)return;if(/em/.test(value))return parseInt(value,10)*16;if(/px/.test(value))return parseInt(value,10)};var getWheelDelta=e=>{let d=e.detail||0;const{deltaX,deltaY,wheelDelta,wheelDeltaX,wheelDeltaY}=e;if(isNumber(wheelDeltaX)&&Math.abs(wheelDeltaX)>Math.abs(wheelDeltaY)){d=wheelDeltaX/-120}else if(isNumber(deltaX)&&Math.abs(deltaX)>Math.abs(deltaY)){d=deltaX/20}else if(wheelDelta||wheelDeltaY){d=(wheelDelta||wheelDeltaY)/-120}if(!d){d=deltaY/20}return d};var ArrowKeys={Up:38,Down:40,Left:37,Right:39};function create_fragment$H(ctx){let div1;let div0;let div1_class_value;let nudgeable_action;let current;let mounted;let dispose;const default_slot_template=ctx[37].default;const default_slot=create_slot(default_slot_template,ctx,ctx[36],null);return{c(){div1=element(\"div\");div0=element(\"div\");if(default_slot)default_slot.c();attr(div0,\"style\",ctx[6]);attr(div1,\"class\",div1_class_value=arrayJoin([\"PinturaScrollable\",ctx[0]]));attr(div1,\"style\",ctx[4]);attr(div1,\"data-direction\",ctx[1]);attr(div1,\"data-state\",ctx[5])},m(target,anchor){insert(target,div1,anchor);append(div1,div0);if(default_slot){default_slot.m(div0,null)}ctx[39](div1);current=true;if(!mounted){dispose=[listen(div0,\"interactionstart\",ctx[9]),listen(div0,\"interactionupdate\",ctx[11]),listen(div0,\"interactionend\",ctx[12]),listen(div0,\"interactionrelease\",ctx[10]),action_destroyer(interactable.call(null,div0,{inertia:true})),listen(div0,\"measure\",ctx[38]),action_destroyer(measurable.call(null,div0)),listen(div1,\"wheel\",ctx[14],{passive:false}),listen(div1,\"scroll\",ctx[16]),listen(div1,\"focusin\",ctx[15]),listen(div1,\"nudge\",ctx[17]),listen(div1,\"measure\",ctx[13]),action_destroyer(measurable.call(null,div1,{observePosition:true})),action_destroyer(nudgeable_action=nudgeable.call(null,div1,{direction:ctx[1]===\"x\"?\"horizontal\":\"vertical\",stopKeydownPropagation:false}))];mounted=true}},p(ctx,dirty){if(default_slot){if(default_slot.p&&dirty[1]&32){update_slot(default_slot,default_slot_template,ctx,ctx[36],dirty,null,null)}}if(!current||dirty[0]&64){attr(div0,\"style\",ctx[6])}if(!current||dirty[0]&1&&div1_class_value!==(div1_class_value=arrayJoin([\"PinturaScrollable\",ctx[0]]))){attr(div1,\"class\",div1_class_value)}if(!current||dirty[0]&16){attr(div1,\"style\",ctx[4])}if(!current||dirty[0]&2){attr(div1,\"data-direction\",ctx[1])}if(!current||dirty[0]&32){attr(div1,\"data-state\",ctx[5])}if(nudgeable_action&&is_function(nudgeable_action.update)&&dirty[0]&2)nudgeable_action.update.call(null,{direction:ctx[1]===\"x\"?\"horizontal\":\"vertical\",stopKeydownPropagation:false})},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(div1);if(default_slot)default_slot.d(detaching);ctx[39](null);mounted=false;run_all(dispose)}}}function instance$H($$self,$$props,$$invalidate){let size;let axis;let containerStyle;let containerFeatherSize;let overflows;let containerState;let childStyle;let $scrollOffset;let $keysPressedStore;let{$$slots:slots={},$$scope}=$$props;const dispatch=createEventDispatcher();const ArrowKeyCodes=Object.values(ArrowKeys);const keysPressedStore=getContext(\"keysPressed\");component_subscribe($$self,keysPressedStore,value=>$$invalidate(46,$keysPressedStore=value));let scrollState=\"idle\";let scrollOrigin;let scrollRect;let scrollContainerRect;let scrollReleased;let scrollOffset=spring(0);component_subscribe($$self,scrollOffset,value=>$$invalidate(34,$scrollOffset=value));let{class:klass=undefined}=$$props;let{scrollBlockInteractionDist=5}=$$props;let{scrollStep=10}=$$props;let{scrollFocusMargin=64}=$$props;let{scrollDirection=\"x\"}=$$props;let{scrollAutoCancel=false}=$$props;let{elasticity=0}=$$props;let{onscroll=noop$1}=$$props;let{maskFeatherSize=undefined}=$$props;let{maskFeatherStartOpacity=undefined}=$$props;let{maskFeatherEndOpacity=undefined}=$$props;let{scroll=undefined}=$$props;let container;let overflowStyle=\"\";let scrollAtRest=true;const scrollOffsetUnsub=scrollOffset.subscribe(value=>{const pos=vectorCreateEmpty();pos[scrollDirection]=value;onscroll(pos)});const limitOffsetToContainer=offset=>Math.max(Math.min(0,offset),scrollContainerRect[size]-scrollRect[size]);let scrollFirstMove;let scrollCancelled;let scrollTranslationPrev;const isHorizontalTranslation=translation=>{const velocity=vectorApply(vectorCreate(translation.x-scrollTranslationPrev.x,translation.y-scrollTranslationPrev.y),Math.abs);scrollTranslationPrev=vectorClone(translation);const speed=vectorDistanceSquared(velocity);const diff=velocity.x-velocity.y;return!(speed>1&&diff<-.5)};const handleDragStart=()=>{if(!overflows)return;scrollCancelled=false;scrollFirstMove=true;scrollTranslationPrev=vectorCreate(0,0);scrollReleased=false;$$invalidate(28,scrollState=\"idle\");scrollOrigin=get_store_value(scrollOffset)};const handleDragRelease=({detail})=>{if(!overflows)return;scrollReleased=true;$$invalidate(28,scrollState=\"idle\")};const handleDragMove=({detail})=>{if(!overflows)return;if(scrollCancelled)return;if(scrollFirstMove){scrollFirstMove=false;if(vectorDistanceSquared(detail.translation)<.1)return}if(scrollAutoCancel&&scrollDirection===\"x\"&&!isHorizontalTranslation(detail.translation)){scrollCancelled=true;return}setScrollOffset(scrollOrigin+detail.translation[scrollDirection],{elastic:true})};const handleDragEnd=({detail})=>{if(!overflows)return;if(scrollCancelled)return;const offset=scrollOrigin+detail.translation[scrollDirection];const offsetLimited=limitOffsetToContainer(offset);scrollAtRest=false;scrollOffset.set(offsetLimited).then(res=>{if(!scrollReleased)return;scrollAtRest=true})};const handleResizeScrollContainer=({detail})=>{$$invalidate(29,scrollContainerRect=detail);dispatch(\"measure\",{x:detail.x,y:detail.y,width:detail.width,height:detail.height})};const setScrollOffset=(offset,options={})=>{const{elastic=false,animate=false}=options;if(Math.abs(offset)>scrollBlockInteractionDist&&scrollState===\"idle\"&&!scrollReleased){$$invalidate(28,scrollState=\"scrolling\")}const offsetLimited=limitOffsetToContainer(offset);const offsetVisual=elastic&&elasticity&&!scrollReleased?offsetLimited+elastify(offset-offsetLimited,elasticity):offsetLimited;let snapToPosition=true;if(animate){snapToPosition=false}else if(!scrollAtRest){snapToPosition=!scrollReleased}scrollAtRest=false;scrollOffset.set(offsetVisual,{hard:snapToPosition}).then(res=>{if(!scrollReleased)return;scrollAtRest=true})};const handleWheel=e=>{if(!overflows)return;e.preventDefault();e.stopPropagation();const delta=getWheelDelta(e);const offset=get_store_value(scrollOffset);setScrollOffset(offset+delta*scrollStep,{animate:true})};const handleFocus=e=>{if(!overflows)return;if(!scrollReleased)return;if($keysPressedStore.some(key=>ArrowKeyCodes.includes(key)))return;let target=e.target;if(e.target.classList.contains(\"implicit\"))target=target.parentNode;const start=target[scrollDirection===\"x\"?\"offsetLeft\":\"offsetTop\"];const space=target[scrollDirection===\"x\"?\"offsetWidth\":\"offsetHeight\"];const end=start+space;const currentScrollOffset=get_store_value(scrollOffset);const margin=scrollFocusMargin+maskFeatherSize;if(currentScrollOffset+startscrollContainerRect[size]-margin){setScrollOffset(scrollContainerRect[size]-end-margin,{animate:true})}};const handleScroll=()=>{$$invalidate(3,container[scrollDirection===\"x\"?\"scrollLeft\":\"scrollTop\"]=0,container)};const handleNudge=({detail})=>{const delta=-2*detail[scrollDirection];const offset=get_store_value(scrollOffset);setScrollOffset(offset+delta*scrollStep,{animate:true})};onDestroy(()=>{scrollOffsetUnsub()});const measure_handler=e=>$$invalidate(2,scrollRect=e.detail);function div1_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{container=$$value;$$invalidate(3,container)})}$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(0,klass=$$props.class);if(\"scrollBlockInteractionDist\"in $$props)$$invalidate(21,scrollBlockInteractionDist=$$props.scrollBlockInteractionDist);if(\"scrollStep\"in $$props)$$invalidate(22,scrollStep=$$props.scrollStep);if(\"scrollFocusMargin\"in $$props)$$invalidate(23,scrollFocusMargin=$$props.scrollFocusMargin);if(\"scrollDirection\"in $$props)$$invalidate(1,scrollDirection=$$props.scrollDirection);if(\"scrollAutoCancel\"in $$props)$$invalidate(24,scrollAutoCancel=$$props.scrollAutoCancel);if(\"elasticity\"in $$props)$$invalidate(25,elasticity=$$props.elasticity);if(\"onscroll\"in $$props)$$invalidate(26,onscroll=$$props.onscroll);if(\"maskFeatherSize\"in $$props)$$invalidate(20,maskFeatherSize=$$props.maskFeatherSize);if(\"maskFeatherStartOpacity\"in $$props)$$invalidate(18,maskFeatherStartOpacity=$$props.maskFeatherStartOpacity);if(\"maskFeatherEndOpacity\"in $$props)$$invalidate(19,maskFeatherEndOpacity=$$props.maskFeatherEndOpacity);if(\"scroll\"in $$props)$$invalidate(27,scroll=$$props.scroll);if(\"$$scope\"in $$props)$$invalidate(36,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&2){$$invalidate(30,size=scrollDirection===\"x\"?\"width\":\"height\")}if($$self.$$.dirty[0]&2){$$invalidate(31,axis=scrollDirection.toUpperCase())}if($$self.$$.dirty[0]&8){$$invalidate(32,containerStyle=container&&getComputedStyle(container))}if($$self.$$.dirty[0]&8|$$self.$$.dirty[1]&2){$$invalidate(33,containerFeatherSize=containerStyle&&unitToPixels(containerStyle.getPropertyValue(\"--scrollable-feather-size\")))}if($$self.$$.dirty[0]&1611399172|$$self.$$.dirty[1]&12){if($scrollOffset!=null&&scrollContainerRect&&containerFeatherSize!=null&&scrollRect){const startOffset=-1*$scrollOffset/containerFeatherSize;const endOffset=-(scrollContainerRect[size]-scrollRect[size]-$scrollOffset)/containerFeatherSize;$$invalidate(18,maskFeatherStartOpacity=clamp(1-startOffset,0,1));$$invalidate(19,maskFeatherEndOpacity=clamp(1-endOffset,0,1));$$invalidate(20,maskFeatherSize=containerFeatherSize);$$invalidate(4,overflowStyle=`--scrollable-feather-start-opacity: ${maskFeatherStartOpacity};--scrollable-feather-end-opacity: ${maskFeatherEndOpacity}`)}}if($$self.$$.dirty[0]&134217736){if(container&&scroll!==undefined){if(isNumber(scroll))setScrollOffset(scroll);else setScrollOffset(scroll.scrollOffset,scroll)}}if($$self.$$.dirty[0]&1610612740){$$invalidate(35,overflows=scrollContainerRect&&scrollRect?scrollRect[size]>scrollContainerRect[size]:undefined)}if($$self.$$.dirty[0]&268435456|$$self.$$.dirty[1]&16){$$invalidate(5,containerState=arrayJoin([scrollState,overflows?\"overflows\":undefined]))}if($$self.$$.dirty[1]&25){$$invalidate(6,childStyle=overflows?`transform: translate${axis}(${$scrollOffset}px)`:undefined)}};return[klass,scrollDirection,scrollRect,container,overflowStyle,containerState,childStyle,keysPressedStore,scrollOffset,handleDragStart,handleDragRelease,handleDragMove,handleDragEnd,handleResizeScrollContainer,handleWheel,handleFocus,handleScroll,handleNudge,maskFeatherStartOpacity,maskFeatherEndOpacity,maskFeatherSize,scrollBlockInteractionDist,scrollStep,scrollFocusMargin,scrollAutoCancel,elasticity,onscroll,scroll,scrollState,scrollContainerRect,size,axis,containerStyle,containerFeatherSize,$scrollOffset,overflows,$$scope,slots,measure_handler,div1_binding]}class Scrollable extends SvelteComponent{constructor(options){super();init(this,options,instance$H,create_fragment$H,safe_not_equal,{class:0,scrollBlockInteractionDist:21,scrollStep:22,scrollFocusMargin:23,scrollDirection:1,scrollAutoCancel:24,elasticity:25,onscroll:26,maskFeatherSize:20,maskFeatherStartOpacity:18,maskFeatherEndOpacity:19,scroll:27},[-1,-1])}}function fade$1(node,{delay=0,duration=400,easing=identity}={}){const o=+getComputedStyle(node).opacity;return{delay:delay,duration:duration,easing:easing,css:t=>`opacity: ${t*o}`}}function create_fragment$G(ctx){let span;let t;let span_transition;let current;let mounted;let dispose;return{c(){span=element(\"span\");t=text(ctx[0]);attr(span,\"class\",\"PinturaStatusMessage\")},m(target,anchor){insert(target,span,anchor);append(span,t);current=true;if(!mounted){dispose=[listen(span,\"measure\",function(){if(is_function(ctx[1]))ctx[1].apply(this,arguments)}),action_destroyer(measurable.call(null,span))];mounted=true}},p(new_ctx,[dirty]){ctx=new_ctx;if(!current||dirty&1)set_data(t,ctx[0])},i(local){if(current)return;add_render_callback(()=>{if(!span_transition)span_transition=create_bidirectional_transition(span,fade$1,{},true);span_transition.run(1)});current=true},o(local){if(!span_transition)span_transition=create_bidirectional_transition(span,fade$1,{},false);span_transition.run(0);current=false},d(detaching){if(detaching)detach(span);if(detaching&&span_transition)span_transition.end();mounted=false;run_all(dispose)}}}function instance$G($$self,$$props,$$invalidate){let{text}=$$props;let{onmeasure=noop$1}=$$props;$$self.$$set=$$props=>{if(\"text\"in $$props)$$invalidate(0,text=$$props.text);if(\"onmeasure\"in $$props)$$invalidate(1,onmeasure=$$props.onmeasure)};return[text,onmeasure]}class StatusMessage extends SvelteComponent{constructor(options){super();init(this,options,instance$G,create_fragment$G,safe_not_equal,{text:0,onmeasure:1})}}function create_fragment$F(ctx){let span1;let svg;let g;let circle0;let circle1;let t0;let span0;let t1;return{c(){span1=element(\"span\");svg=svg_element(\"svg\");g=svg_element(\"g\");circle0=svg_element(\"circle\");circle1=svg_element(\"circle\");t0=space();span0=element(\"span\");t1=text(ctx[0]);attr(circle0,\"class\",\"PinturaProgressIndicatorBar\");attr(circle0,\"r\",\"8.5\");attr(circle0,\"cx\",\"10\");attr(circle0,\"cy\",\"10\");attr(circle0,\"stroke-linecap\",\"round\");attr(circle0,\"opacity\",\".25\");attr(circle1,\"class\",\"PinturaProgressIndicatorFill\");attr(circle1,\"r\",\"8.5\");attr(circle1,\"stroke-dasharray\",ctx[1]);attr(circle1,\"cx\",\"10\");attr(circle1,\"cy\",\"10\");attr(circle1,\"transform\",\"rotate(-90) translate(-20)\");attr(g,\"fill\",\"none\");attr(g,\"stroke\",\"currentColor\");attr(g,\"stroke-width\",\"2.5\");attr(g,\"stroke-linecap\",\"round\");attr(g,\"opacity\",ctx[2]);attr(svg,\"width\",\"20\");attr(svg,\"height\",\"20\");attr(svg,\"viewBox\",\"0 0 20 20\");attr(svg,\"xmlns\",\"http://www.w3.org/2000/svg\");attr(svg,\"aria-hidden\",\"true\");attr(svg,\"focusable\",\"false\");attr(span0,\"class\",\"implicit\");attr(span1,\"class\",\"PinturaProgressIndicator\");attr(span1,\"data-status\",ctx[3])},m(target,anchor){insert(target,span1,anchor);append(span1,svg);append(svg,g);append(g,circle0);append(g,circle1);append(span1,t0);append(span1,span0);append(span0,t1)},p(ctx,[dirty]){if(dirty&2){attr(circle1,\"stroke-dasharray\",ctx[1])}if(dirty&4){attr(g,\"opacity\",ctx[2])}if(dirty&1)set_data(t1,ctx[0]);if(dirty&8){attr(span1,\"data-status\",ctx[3])}},i:noop,o:noop,d(detaching){if(detaching)detach(span1)}}}function instance$F($$self,$$props,$$invalidate){let formattedValue;let circleValue;let circleOpacity;let status;let $animatedProgressClamped;const dispatch=createEventDispatcher();let{progress}=$$props;let{min=0}=$$props;let{max=100}=$$props;let{labelBusy=\"Busy\"}=$$props;const animatedValue=spring(0,{precision:.01});const animatedProgressClamped=derived([animatedValue],$animatedValue=>clamp($animatedValue,min,max));component_subscribe($$self,animatedProgressClamped,value=>$$invalidate(9,$animatedProgressClamped=value));const animatedProgressClampedUnsub=animatedProgressClamped.subscribe(value=>{if(progress===1&&Math.round(value)>=100)dispatch(\"complete\")});onDestroy(()=>{animatedProgressClampedUnsub()});$$self.$$set=$$props=>{if(\"progress\"in $$props)$$invalidate(5,progress=$$props.progress);if(\"min\"in $$props)$$invalidate(6,min=$$props.min);if(\"max\"in $$props)$$invalidate(7,max=$$props.max);if(\"labelBusy\"in $$props)$$invalidate(8,labelBusy=$$props.labelBusy)};$$self.$$.update=()=>{if($$self.$$.dirty&32){progress&&progress!==Infinity&&animatedValue.set(progress*100)}if($$self.$$.dirty&800){$$invalidate(0,formattedValue=progress===Infinity?labelBusy:`${Math.round($animatedProgressClamped)}%`)}if($$self.$$.dirty&544){$$invalidate(1,circleValue=progress===Infinity?\"26.5 53\":`${$animatedProgressClamped/100*53} 53`)}if($$self.$$.dirty&544){$$invalidate(2,circleOpacity=Math.min(1,progress===Infinity?1:$animatedProgressClamped/10))}if($$self.$$.dirty&32){$$invalidate(3,status=progress===Infinity?\"busy\":\"loading\")}};return[formattedValue,circleValue,circleOpacity,status,animatedProgressClamped,progress,min,max,labelBusy,$animatedProgressClamped]}class ProgressIndicator extends SvelteComponent{constructor(options){super();init(this,options,instance$F,create_fragment$F,safe_not_equal,{progress:5,min:6,max:7,labelBusy:8})}}function create_fragment$E(ctx){let span;let span_class_value;let current;const default_slot_template=ctx[5].default;const default_slot=create_slot(default_slot_template,ctx,ctx[4],null);return{c(){span=element(\"span\");if(default_slot)default_slot.c();attr(span,\"class\",span_class_value=`PinturaStatusAside ${ctx[0]}`);attr(span,\"style\",ctx[1])},m(target,anchor){insert(target,span,anchor);if(default_slot){default_slot.m(span,null)}current=true},p(ctx,[dirty]){if(default_slot){if(default_slot.p&&dirty&16){update_slot(default_slot,default_slot_template,ctx,ctx[4],dirty,null,null)}}if(!current||dirty&1&&span_class_value!==(span_class_value=`PinturaStatusAside ${ctx[0]}`)){attr(span,\"class\",span_class_value)}if(!current||dirty&2){attr(span,\"style\",ctx[1])}},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(span);if(default_slot)default_slot.d(detaching)}}}function instance$E($$self,$$props,$$invalidate){let style;let{$$slots:slots={},$$scope}=$$props;let{offset=0}=$$props;let{opacity=0}=$$props;let{class:klass=undefined}=$$props;$$self.$$set=$$props=>{if(\"offset\"in $$props)$$invalidate(2,offset=$$props.offset);if(\"opacity\"in $$props)$$invalidate(3,opacity=$$props.opacity);if(\"class\"in $$props)$$invalidate(0,klass=$$props.class);if(\"$$scope\"in $$props)$$invalidate(4,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty&12){$$invalidate(1,style=`transform:translateX(${offset}px);opacity:${opacity}`)}};return[klass,style,offset,opacity,$$scope,slots]}class StatusAside extends SvelteComponent{constructor(options){super();init(this,options,instance$E,create_fragment$E,safe_not_equal,{offset:2,opacity:3,class:0})}}function create_if_block_2$9(ctx){let label;let label_for_value;let current;const default_slot_template=ctx[3].default;const default_slot=create_slot(default_slot_template,ctx,ctx[2],null);let label_levels=[{for:label_for_value=\"_\"},ctx[1]];let label_data={};for(let i=0;i{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}else{if_block=null}}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(~current_block_type_index){if_blocks[current_block_type_index].d(detaching)}if(detaching)detach(if_block_anchor)}}}function instance$D($$self,$$props,$$invalidate){let{$$slots:slots={},$$scope}=$$props;let{name=\"div\"}=$$props;let{attributes={}}=$$props;$$self.$$set=$$props=>{if(\"name\"in $$props)$$invalidate(0,name=$$props.name);if(\"attributes\"in $$props)$$invalidate(1,attributes=$$props.attributes);if(\"$$scope\"in $$props)$$invalidate(2,$$scope=$$props.$$scope)};return[name,attributes,$$scope,slots]}class Tag extends SvelteComponent{constructor(options){super();init(this,options,instance$D,create_fragment$D,safe_not_equal,{name:0,attributes:1})}}var getDevicePixelRatio=()=>isBrowser()&&window.devicePixelRatio||1;let fn=null;var snapToPixel=v=>{if(fn===null)fn=getDevicePixelRatio()===1?Math.round:v=>v;return fn(v)};const get_details_slot_changes=dirty=>({});const get_details_slot_context=ctx=>({});const get_label_slot_changes=dirty=>({});const get_label_slot_context=ctx=>({});function create_default_slot$g(ctx){let current;const label_slot_template=ctx[35].label;const label_slot=create_slot(label_slot_template,ctx,ctx[39],get_label_slot_context);return{c(){if(label_slot)label_slot.c()},m(target,anchor){if(label_slot){label_slot.m(target,anchor)}current=true},p(ctx,dirty){if(label_slot){if(label_slot.p&&dirty[1]&256){update_slot(label_slot,label_slot_template,ctx,ctx[39],dirty,get_label_slot_changes,get_label_slot_context)}}},i(local){if(current)return;transition_in(label_slot,local);current=true},o(local){transition_out(label_slot,local);current=false},d(detaching){if(label_slot)label_slot.d(detaching)}}}function create_if_block_1$b(ctx){let div;let t;let span;let div_class_value;let current;let mounted;let dispose;const details_slot_template=ctx[35].details;const details_slot=create_slot(details_slot_template,ctx,ctx[39],get_details_slot_context);return{c(){div=element(\"div\");if(details_slot)details_slot.c();t=space();span=element(\"span\");attr(span,\"class\",\"PinturaDetailsPanelTip\");attr(span,\"style\",ctx[7]);attr(div,\"class\",div_class_value=arrayJoin([\"PinturaDetailsPanel\",ctx[1]]));attr(div,\"tabindex\",\"-1\");attr(div,\"style\",ctx[6])},m(target,anchor){insert(target,div,anchor);if(details_slot){details_slot.m(div,null)}append(div,t);append(div,span);ctx[37](div);current=true;if(!mounted){dispose=[listen(div,\"keydown\",ctx[17]),listen(div,\"measure\",ctx[38]),action_destroyer(measurable.call(null,div))];mounted=true}},p(ctx,dirty){if(details_slot){if(details_slot.p&&dirty[1]&256){update_slot(details_slot,details_slot_template,ctx,ctx[39],dirty,get_details_slot_changes,get_details_slot_context)}}if(!current||dirty[0]&128){attr(span,\"style\",ctx[7])}if(!current||dirty[0]&2&&div_class_value!==(div_class_value=arrayJoin([\"PinturaDetailsPanel\",ctx[1]]))){attr(div,\"class\",div_class_value)}if(!current||dirty[0]&64){attr(div,\"style\",ctx[6])}},i(local){if(current)return;transition_in(details_slot,local);current=true},o(local){transition_out(details_slot,local);current=false},d(detaching){if(detaching)detach(div);if(details_slot)details_slot.d(detaching);ctx[37](null);mounted=false;run_all(dispose)}}}function create_fragment$C(ctx){let t0;let button;let t1;let t2;let if_block1_anchor;let current;let mounted;let dispose;let button_props={class:arrayJoin([\"PinturaDetailsButton\",ctx[0]]),onkeydown:ctx[16],onclick:ctx[15],$$slots:{default:[create_default_slot$g]},$$scope:{ctx:ctx}};button=new Button({props:button_props});ctx[36](button);let if_block0=ctx[5]&&create_if_block_1$b(ctx);let if_block1=false;return{c(){t0=space();create_component(button.$$.fragment);t1=space();if(if_block0)if_block0.c();t2=space();if_block1_anchor=empty()},m(target,anchor){insert(target,t0,anchor);mount_component(button,target,anchor);insert(target,t1,anchor);if(if_block0)if_block0.m(target,anchor);insert(target,t2,anchor);insert(target,if_block1_anchor,anchor);current=true;if(!mounted){dispose=[listen(document.body,\"pointerdown\",function(){if(is_function(ctx[8]))ctx[8].apply(this,arguments)}),listen(document.body,\"pointerup\",function(){if(is_function(ctx[9]))ctx[9].apply(this,arguments)})];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;const button_changes={};if(dirty[0]&1)button_changes.class=arrayJoin([\"PinturaDetailsButton\",ctx[0]]);if(dirty[1]&256){button_changes.$$scope={dirty:dirty,ctx:ctx}}button.$set(button_changes);if(ctx[5]){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&32){transition_in(if_block0,1)}}else{if_block0=create_if_block_1$b(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t2.parentNode,t2)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}},i(local){if(current)return;transition_in(button.$$.fragment,local);transition_in(if_block0);transition_in(if_block1);current=true},o(local){transition_out(button.$$.fragment,local);transition_out(if_block0);transition_out(if_block1);current=false},d(detaching){if(detaching)detach(t0);ctx[36](null);destroy_component(button,detaching);if(detaching)detach(t1);if(if_block0)if_block0.d(detaching);if(detaching)detach(t2);if(detaching)detach(if_block1_anchor);mounted=false;run_all(dispose)}}}let panelMargin=12;function instance$C($$self,$$props,$$invalidate){let buttonElement;let offsetProgress;let isVisible;let isAnimating;let transform;let style;let tipScale;let tipOpacity;let tipStyle;let handleDown;let handleUp;let $offset;let $portalRootRect;let $position;let $opacity;let $portal;let{$$slots:slots={},$$scope}=$$props;let{buttonClass=undefined}=$$props;let{panelClass=undefined}=$$props;let{isActive=false}=$$props;let{onshow=({panel})=>panel.focus()}=$$props;const portal=getContext(\"rootPortal\");component_subscribe($$self,portal,value=>$$invalidate(34,$portal=value));const portalRootRect=getContext(\"rootRect\");component_subscribe($$self,portalRootRect,value=>$$invalidate(27,$portalRootRect=value));let panelSize;let buttonComponent;let buttonRect;let dir=vectorCreateEmpty();let opacity=spring(0);component_subscribe($$self,opacity,value=>$$invalidate(29,$opacity=value));let shift=vectorCreateEmpty();const position=writable({x:0,y:0});component_subscribe($$self,position,value=>$$invalidate(28,$position=value));const offset=spring(-5,{stiffness:.1,damping:.35,precision:.001});component_subscribe($$self,offset,value=>$$invalidate(26,$offset=value));const isTargetSelf=e=>isEventTarget(e,$portal)||buttonComponent.isEventTarget(e);let downOutsidePanel=false;let detailPanel;let trigger;const handleClick=e=>{if(!isActive)$$invalidate(20,buttonRect=buttonElement.getBoundingClientRect());$$invalidate(24,trigger=e);$$invalidate(18,isActive=!isActive)};const handleButtonKeydown=e=>{if(!/down/i.test(e.key))return;$$invalidate(18,isActive=true);$$invalidate(24,trigger=e)};const handlePanelKeydown=e=>{if(!/esc/i.test(e.key))return;$$invalidate(18,isActive=false);buttonElement.focus()};onDestroy(()=>{if(!$portal||!detailPanel||detailPanel.parentNode)return;$portal.removeChild(detailPanel)});function button_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{buttonComponent=$$value;$$invalidate(3,buttonComponent)})}function div_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{detailPanel=$$value;$$invalidate(4,detailPanel)})}const measure_handler=e=>$$invalidate(2,panelSize=sizeCreateFromAny(e.detail));$$self.$$set=$$props=>{if(\"buttonClass\"in $$props)$$invalidate(0,buttonClass=$$props.buttonClass);if(\"panelClass\"in $$props)$$invalidate(1,panelClass=$$props.panelClass);if(\"isActive\"in $$props)$$invalidate(18,isActive=$$props.isActive);if(\"onshow\"in $$props)$$invalidate(19,onshow=$$props.onshow);if(\"$$scope\"in $$props)$$invalidate(39,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&8){buttonElement=buttonComponent&&buttonComponent.getElement()}if($$self.$$.dirty[0]&8650752){$$invalidate(9,handleUp=isActive?e=>{if(!downOutsidePanel)return;$$invalidate(23,downOutsidePanel=false);if(isTargetSelf(e))return;$$invalidate(18,isActive=false)}:undefined)}if($$self.$$.dirty[0]&262144){opacity.set(isActive?1:0)}if($$self.$$.dirty[0]&262144){offset.set(isActive?0:-5)}if($$self.$$.dirty[0]&67108864){$$invalidate(25,offsetProgress=1-$offset/-5)}if($$self.$$.dirty[0]&135266308){if($portalRootRect&&panelSize&&buttonRect){let x=buttonRect.x-$portalRootRect.x+buttonRect.width*.5-panelSize.width*.5;let y=buttonRect.y-$portalRootRect.y+buttonRect.height;const parentLeft=panelMargin;const parentTop=panelMargin;const parentRight=$portalRootRect.width-panelMargin;const parentBottom=$portalRootRect.height-panelMargin;const panelLeft=x;const panelTop=y;const panelRight=panelLeft+panelSize.width;const panelBottom=panelTop+panelSize.height;if(panelLeftparentRight){$$invalidate(22,shift.x=panelRight-parentRight,shift);x=parentRight-panelSize.width}if(panelBottom>parentBottom){$$invalidate(21,dir.y=-1,dir);const positionedAboveButtonY=y-panelSize.height-buttonRect.height;const panelFitsAboveButton=parentTop0)}if($$self.$$.dirty[0]&536870912){$$invalidate(30,isAnimating=$opacity<1)}if($$self.$$.dirty[0]&337641472){$$invalidate(31,transform=`translateX(${$position.x+dir.x*panelMargin}px) translateY(${$position.y+dir.y*panelMargin+dir.y*$offset}px)`)}if($$self.$$.dirty[0]&1610612736|$$self.$$.dirty[1]&1){$$invalidate(6,style=isAnimating?`opacity: ${$opacity}; pointer-events: ${$opacity<1?\"none\":\"all\"}; transform: ${transform};`:`transform: ${transform}`)}if($$self.$$.dirty[0]&33554432){$$invalidate(32,tipScale=.5+offsetProgress*.5)}if($$self.$$.dirty[0]&33554432){$$invalidate(33,tipOpacity=offsetProgress)}if($$self.$$.dirty[0]&274726916|$$self.$$.dirty[1]&6){$$invalidate(7,tipStyle=$position&&panelSize&&`opacity:${tipOpacity};transform:scaleX(${tipScale})rotate(45deg);top:${dir.y<0?shift.y+panelSize.height:0}px;left:${shift.x+panelSize.width*.5}px`)}if($$self.$$.dirty[0]&262144){$$invalidate(8,handleDown=isActive?e=>{if(isTargetSelf(e))return;$$invalidate(23,downOutsidePanel=true)}:undefined)}if($$self.$$.dirty[0]&48|$$self.$$.dirty[1]&8){if(isVisible&&$portal&&detailPanel&&detailPanel.parentNode!==$portal)$portal.appendChild(detailPanel)}if($$self.$$.dirty[0]&262144){if(!isActive)$$invalidate(24,trigger=undefined)}if($$self.$$.dirty[0]&17301552){if(isVisible&&detailPanel)onshow({e:trigger,panel:detailPanel})}};return[buttonClass,panelClass,panelSize,buttonComponent,detailPanel,isVisible,style,tipStyle,handleDown,handleUp,portal,portalRootRect,opacity,position,offset,handleClick,handleButtonKeydown,handlePanelKeydown,isActive,onshow,buttonRect,dir,shift,downOutsidePanel,trigger,offsetProgress,$offset,$portalRootRect,$position,$opacity,isAnimating,transform,tipScale,tipOpacity,$portal,slots,button_binding,div_binding,measure_handler,$$scope]}class Details extends SvelteComponent{constructor(options){super();init(this,options,instance$C,create_fragment$C,safe_not_equal,{buttonClass:0,panelClass:1,isActive:18,onshow:19},[-1,-1])}}function create_fragment$B(ctx){let li;let input;let t;let label_1;let li_class_value;let current;let mounted;let dispose;const default_slot_template=ctx[14].default;const default_slot=create_slot(default_slot_template,ctx,ctx[13],null);return{c(){li=element(\"li\");input=element(\"input\");t=space();label_1=element(\"label\");if(default_slot)default_slot.c();attr(input,\"type\",\"radio\");attr(input,\"class\",\"implicit\");attr(input,\"id\",ctx[6]);attr(input,\"name\",ctx[0]);input.value=ctx[3];input.disabled=ctx[5];input.checked=ctx[4];attr(label_1,\"for\",ctx[6]);attr(label_1,\"title\",ctx[2]);attr(li,\"class\",li_class_value=arrayJoin([\"PinturaRadioGroupOption\",ctx[1]]));attr(li,\"data-disabled\",ctx[5]);attr(li,\"data-selected\",ctx[4])},m(target,anchor){insert(target,li,anchor);append(li,input);append(li,t);append(li,label_1);if(default_slot){default_slot.m(label_1,null)}current=true;if(!mounted){dispose=[listen(input,\"change\",stop_propagation(ctx[15])),listen(input,\"keydown\",ctx[8]),listen(input,\"click\",ctx[9])];mounted=true}},p(ctx,[dirty]){if(!current||dirty&64){attr(input,\"id\",ctx[6])}if(!current||dirty&1){attr(input,\"name\",ctx[0])}if(!current||dirty&8){input.value=ctx[3]}if(!current||dirty&32){input.disabled=ctx[5]}if(!current||dirty&16){input.checked=ctx[4]}if(default_slot){if(default_slot.p&&dirty&8192){update_slot(default_slot,default_slot_template,ctx,ctx[13],dirty,null,null)}}if(!current||dirty&64){attr(label_1,\"for\",ctx[6])}if(!current||dirty&4){attr(label_1,\"title\",ctx[2])}if(!current||dirty&2&&li_class_value!==(li_class_value=arrayJoin([\"PinturaRadioGroupOption\",ctx[1]]))){attr(li,\"class\",li_class_value)}if(!current||dirty&32){attr(li,\"data-disabled\",ctx[5])}if(!current||dirty&16){attr(li,\"data-selected\",ctx[4])}},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(li);if(default_slot)default_slot.d(detaching);mounted=false;run_all(dispose)}}}function instance$B($$self,$$props,$$invalidate){let inputId;let $keysPressedStored;let{$$slots:slots={},$$scope}=$$props;let{name}=$$props;let{class:klass=undefined}=$$props;let{label}=$$props;let{id}=$$props;let{value}=$$props;let{checked}=$$props;let{onkeydown}=$$props;let{onclick}=$$props;let{disabled=false}=$$props;const ArrowKeyCodes=Object.values(ArrowKeys);const keysPressedStored=getContext(\"keysPressed\");component_subscribe($$self,keysPressedStored,value=>$$invalidate(16,$keysPressedStored=value));const handleKeydown=e=>{onkeydown(e)};const handleClick=e=>{if($keysPressedStored.some(key=>ArrowKeyCodes.includes(key)))return;onclick(e)};function change_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"name\"in $$props)$$invalidate(0,name=$$props.name);if(\"class\"in $$props)$$invalidate(1,klass=$$props.class);if(\"label\"in $$props)$$invalidate(2,label=$$props.label);if(\"id\"in $$props)$$invalidate(10,id=$$props.id);if(\"value\"in $$props)$$invalidate(3,value=$$props.value);if(\"checked\"in $$props)$$invalidate(4,checked=$$props.checked);if(\"onkeydown\"in $$props)$$invalidate(11,onkeydown=$$props.onkeydown);if(\"onclick\"in $$props)$$invalidate(12,onclick=$$props.onclick);if(\"disabled\"in $$props)$$invalidate(5,disabled=$$props.disabled);if(\"$$scope\"in $$props)$$invalidate(13,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty&1025){$$invalidate(6,inputId=`${name}-${id}`)}};return[name,klass,label,value,checked,disabled,inputId,keysPressedStored,handleKeydown,handleClick,id,onkeydown,onclick,$$scope,slots,change_handler]}class RadioItem extends SvelteComponent{constructor(options){super();init(this,options,instance$B,create_fragment$B,safe_not_equal,{name:0,class:1,label:2,id:10,value:3,checked:4,onkeydown:11,onclick:12,disabled:5})}}var flattenOptions=(options=[])=>options.reduce((prev,current)=>{const isGroup=isArray(current)?isArray(current[1]):!!current.options;if(isGroup){return prev.concat(isArray(current)?current[1]:current.options)}prev.push(current);return prev},[]);const mapOption=(option,index,optionMapper)=>{let mappedOption;if(isArray(option)){mappedOption={id:index,value:option[0],label:option[1],...option[2]||{}}}else{mappedOption=option;mappedOption.id=mappedOption.id!=null?mappedOption.id:index}return optionMapper?optionMapper(mappedOption):mappedOption};var mapOptions=(options=[],optionMapper)=>{let index=0;return options.map(option=>{index++;if(isArray(option)){if(isArray(option[1])){return{id:index,label:option[0],options:option[1].map(option=>mapOption(option,++index,optionMapper))}}return mapOption(option,index,optionMapper)}else{if(option.options){return{id:option.id||index,label:option.label,options:option.options.map(option=>mapOption(option,++index,optionMapper))}}return mapOption(option,index,optionMapper)}})};var opop=(fn,...args)=>fn&&fn(...args);var localize=(prop,locale,params)=>isFunction(prop)?prop(locale,params):prop;const localizeOptions=(options,locale)=>options.map(([value,label,props])=>{if(isArray(label)){return[localize(value,locale),localizeOptions(label,locale)]}else{const res=[value,localize(label,locale)];if(props){let obj={...props};if(props.icon)obj.icon=localize(props.icon,locale);res.push(obj)}return res}});var localizeOptions$1=(options,locale)=>localizeOptions(options,locale);var isConfirmKey=key=>/enter| /i.test(key);var isDeepEqual=(a,b)=>{if(Array.isArray(a)&&Array.isArray(b))return arrayEqual(a,b);return a===b};function get_each_context$7(ctx,list,i){const child_ctx=ctx.slice();child_ctx[27]=list[i];return child_ctx}const get_option_slot_changes_1=dirty=>({option:dirty[0]&2048});const get_option_slot_context_1=ctx=>({option:ctx[27]});function get_each_context_1(ctx,list,i){const child_ctx=ctx.slice();child_ctx[27]=list[i];return child_ctx}const get_option_slot_changes=dirty=>({option:dirty[0]&2048});const get_option_slot_context=ctx=>({option:ctx[27]});const get_group_slot_changes=dirty=>({option:dirty[0]&2048});const get_group_slot_context=ctx=>({option:ctx[27]});function create_if_block_1$a(ctx){let fieldset;let t;let ul;let each_blocks=[];let each_1_lookup=new Map;let fieldset_class_value;let current;let if_block=ctx[1]&&create_if_block_7$1(ctx);let each_value=ctx[11];const get_key=ctx=>ctx[27].id;for(let i=0;ictx[27].id;for(let i=0;i{if_block0=null});check_outros()}if(!ctx[27].hideLabel){if(if_block1){if_block1.p(ctx,dirty)}else{if_block1=create_if_block_5$4(ctx);if_block1.c();if_block1.m(t1.parentNode,t1)}}else if(if_block1){if_block1.d(1);if_block1=null}},i(local){if(current)return;transition_in(if_block0);current=true},o(local){transition_out(if_block0);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t0);if(if_block1)if_block1.d(detaching);if(detaching)detach(t1)}}}function create_default_slot_2$4(ctx){let current;const option_slot_template=ctx[22].option;const option_slot=create_slot(option_slot_template,ctx,ctx[23],get_option_slot_context_1);const option_slot_or_fallback=option_slot||fallback_block_2(ctx);return{c(){if(option_slot_or_fallback)option_slot_or_fallback.c()},m(target,anchor){if(option_slot_or_fallback){option_slot_or_fallback.m(target,anchor)}current=true},p(ctx,dirty){if(option_slot){if(option_slot.p&&dirty[0]&8390656){update_slot(option_slot,option_slot_template,ctx,ctx[23],dirty,get_option_slot_changes_1,get_option_slot_context_1)}}else{if(option_slot_or_fallback&&option_slot_or_fallback.p&&dirty[0]&2112){option_slot_or_fallback.p(ctx,dirty)}}},i(local){if(current)return;transition_in(option_slot_or_fallback,local);current=true},o(local){transition_out(option_slot_or_fallback,local);current=false},d(detaching){if(option_slot_or_fallback)option_slot_or_fallback.d(detaching)}}}function fallback_block_1(ctx){let span;let t_value=ctx[27].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value);attr(span,\"class\",\"PinturaRadioGroupOptionGroupLabel\")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty[0]&2048&&t_value!==(t_value=ctx[27].label+\"\"))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_if_block_4$6(ctx){let icon;let current;icon=new Icon({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:ctx}}});return{c(){create_component(icon.$$.fragment)},m(target,anchor){mount_component(icon,target,anchor);current=true},p(ctx,dirty){const icon_changes={};if(dirty[0]&8390656){icon_changes.$$scope={dirty:dirty,ctx:ctx}}icon.$set(icon_changes)},i(local){if(current)return;transition_in(icon.$$.fragment,local);current=true},o(local){transition_out(icon.$$.fragment,local);current=false},d(detaching){destroy_component(icon,detaching)}}}function create_default_slot_1$7(ctx){let g;let raw_value=ctx[27].icon+\"\";return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=raw_value},p(ctx,dirty){if(dirty[0]&2048&&raw_value!==(raw_value=ctx[27].icon+\"\"))g.innerHTML=raw_value},d(detaching){if(detaching)detach(g)}}}function create_if_block_3$7(ctx){let span;let t_value=ctx[27].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value);attr(span,\"class\",ctx[6])},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty[0]&2048&&t_value!==(t_value=ctx[27].label+\"\"))set_data(t,t_value);if(dirty[0]&64){attr(span,\"class\",ctx[6])}},d(detaching){if(detaching)detach(span)}}}function fallback_block$1(ctx){let t0;let t1;let current;let if_block0=ctx[27].icon&&create_if_block_4$6(ctx);let if_block1=!ctx[27].hideLabel&&create_if_block_3$7(ctx);return{c(){if(if_block0)if_block0.c();t0=space();if(if_block1)if_block1.c();t1=space()},m(target,anchor){if(if_block0)if_block0.m(target,anchor);insert(target,t0,anchor);if(if_block1)if_block1.m(target,anchor);insert(target,t1,anchor);current=true},p(ctx,dirty){if(ctx[27].icon){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&2048){transition_in(if_block0,1)}}else{if_block0=create_if_block_4$6(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t0.parentNode,t0)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(!ctx[27].hideLabel){if(if_block1){if_block1.p(ctx,dirty)}else{if_block1=create_if_block_3$7(ctx);if_block1.c();if_block1.m(t1.parentNode,t1)}}else if(if_block1){if_block1.d(1);if_block1=null}},i(local){if(current)return;transition_in(if_block0);current=true},o(local){transition_out(if_block0);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t0);if(if_block1)if_block1.d(detaching);if(detaching)detach(t1)}}}function create_default_slot$f(ctx){let current;const option_slot_template=ctx[22].option;const option_slot=create_slot(option_slot_template,ctx,ctx[23],get_option_slot_context);const option_slot_or_fallback=option_slot||fallback_block$1(ctx);return{c(){if(option_slot_or_fallback)option_slot_or_fallback.c()},m(target,anchor){if(option_slot_or_fallback){option_slot_or_fallback.m(target,anchor)}current=true},p(ctx,dirty){if(option_slot){if(option_slot.p&&dirty[0]&8390656){update_slot(option_slot,option_slot_template,ctx,ctx[23],dirty,get_option_slot_changes,get_option_slot_context)}}else{if(option_slot_or_fallback&&option_slot_or_fallback.p&&dirty[0]&2112){option_slot_or_fallback.p(ctx,dirty)}}},i(local){if(current)return;transition_in(option_slot_or_fallback,local);current=true},o(local){transition_out(option_slot_or_fallback,local);current=false},d(detaching){if(option_slot_or_fallback)option_slot_or_fallback.d(detaching)}}}function create_each_block_1(key_1,ctx){let first;let radioitem;let current;radioitem=new RadioItem({props:{name:ctx[4],label:ctx[27].label,id:ctx[27].id,value:ctx[27].value,disabled:ctx[27].disabled,class:ctx[8],checked:ctx[12](ctx[27])===ctx[0],onkeydown:ctx[13](ctx[27]),onclick:ctx[14](ctx[27]),$$slots:{default:[create_default_slot$f]},$$scope:{ctx:ctx}}});return{key:key_1,first:null,c(){first=empty();create_component(radioitem.$$.fragment);this.first=first},m(target,anchor){insert(target,first,anchor);mount_component(radioitem,target,anchor);current=true},p(new_ctx,dirty){ctx=new_ctx;const radioitem_changes={};if(dirty[0]&16)radioitem_changes.name=ctx[4];if(dirty[0]&2048)radioitem_changes.label=ctx[27].label;if(dirty[0]&2048)radioitem_changes.id=ctx[27].id;if(dirty[0]&2048)radioitem_changes.value=ctx[27].value;if(dirty[0]&2048)radioitem_changes.disabled=ctx[27].disabled;if(dirty[0]&256)radioitem_changes.class=ctx[8];if(dirty[0]&2049)radioitem_changes.checked=ctx[12](ctx[27])===ctx[0];if(dirty[0]&2048)radioitem_changes.onkeydown=ctx[13](ctx[27]);if(dirty[0]&2048)radioitem_changes.onclick=ctx[14](ctx[27]);if(dirty[0]&8390720){radioitem_changes.$$scope={dirty:dirty,ctx:ctx}}radioitem.$set(radioitem_changes)},i(local){if(current)return;transition_in(radioitem.$$.fragment,local);current=true},o(local){transition_out(radioitem.$$.fragment,local);current=false},d(detaching){if(detaching)detach(first);destroy_component(radioitem,detaching)}}}function create_each_block$7(key_1,ctx){let first;let current_block_type_index;let if_block;let if_block_anchor;let current;const if_block_creators=[create_if_block_2$8,create_else_block$4];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[27].options)return 0;return 1}current_block_type_index=select_block_type(ctx);if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);return{key:key_1,first:null,c(){first=empty();if_block.c();if_block_anchor=empty();this.first=first},m(target,anchor){insert(target,first,anchor);if_blocks[current_block_type_index].m(target,anchor);insert(target,if_block_anchor,anchor);current=true},p(new_ctx,dirty){ctx=new_ctx;let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(first);if_blocks[current_block_type_index].d(detaching);if(detaching)detach(if_block_anchor)}}}function create_fragment$A(ctx){let t;let if_block1_anchor;let current;let if_block0=ctx[10].length&&create_if_block_1$a(ctx);let if_block1=false;return{c(){if(if_block0)if_block0.c();t=space();if_block1_anchor=empty()},m(target,anchor){if(if_block0)if_block0.m(target,anchor);insert(target,t,anchor);insert(target,if_block1_anchor,anchor);current=true},p(ctx,dirty){if(ctx[10].length){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&1024){transition_in(if_block0,1)}}else{if_block0=create_if_block_1$a(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t.parentNode,t)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);current=true},o(local){transition_out(if_block0);transition_out(if_block1);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t);if(detaching)detach(if_block1_anchor)}}}function instance$A($$self,$$props,$$invalidate){let localizedOptions;let mappedOptions;let flattenedOptions;let{$$slots:slots={},$$scope}=$$props;const dispatch=createEventDispatcher();let{label=undefined}=$$props;let{hideLabel=true}=$$props;let{class:klass=undefined}=$$props;let{name=`radio-group-${getUniqueId()}`}=$$props;let{selectedIndex=-1}=$$props;let{options=[]}=$$props;let{onchange=undefined}=$$props;let{layout=undefined}=$$props;let{optionMapper=undefined}=$$props;let{optionFilter=undefined}=$$props;let{value=undefined}=$$props;let{optionLabelClass=undefined}=$$props;let{title=undefined}=$$props;let{locale=undefined}=$$props;let{optionClass=undefined}=$$props;let{optionGroupClass=undefined}=$$props;const getUndefinedOptionIndex=options=>options.findIndex(option=>option[0]===undefined);const getOptionIndex=option=>flattenedOptions.findIndex(flattenedOption=>flattenedOption.id===option.id);const changeSelection=(option,e)=>{$$invalidate(0,selectedIndex=getOptionIndex(option));const payload={index:selectedIndex,...option};opop(onchange,payload,e);dispatch(\"change\",payload)};const handleRadioKeydown=option=>e=>{if(!isConfirmKey(e.key))return;changeSelection(option,e)};const handleRadioClick=option=>e=>{changeSelection(option,e)};$$self.$$set=$$props=>{if(\"label\"in $$props)$$invalidate(1,label=$$props.label);if(\"hideLabel\"in $$props)$$invalidate(2,hideLabel=$$props.hideLabel);if(\"class\"in $$props)$$invalidate(3,klass=$$props.class);if(\"name\"in $$props)$$invalidate(4,name=$$props.name);if(\"selectedIndex\"in $$props)$$invalidate(0,selectedIndex=$$props.selectedIndex);if(\"options\"in $$props)$$invalidate(15,options=$$props.options);if(\"onchange\"in $$props)$$invalidate(16,onchange=$$props.onchange);if(\"layout\"in $$props)$$invalidate(5,layout=$$props.layout);if(\"optionMapper\"in $$props)$$invalidate(17,optionMapper=$$props.optionMapper);if(\"optionFilter\"in $$props)$$invalidate(18,optionFilter=$$props.optionFilter);if(\"value\"in $$props)$$invalidate(19,value=$$props.value);if(\"optionLabelClass\"in $$props)$$invalidate(6,optionLabelClass=$$props.optionLabelClass);if(\"title\"in $$props)$$invalidate(7,title=$$props.title);if(\"locale\"in $$props)$$invalidate(20,locale=$$props.locale);if(\"optionClass\"in $$props)$$invalidate(8,optionClass=$$props.optionClass);if(\"optionGroupClass\"in $$props)$$invalidate(9,optionGroupClass=$$props.optionGroupClass);if(\"$$scope\"in $$props)$$invalidate(23,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&1343488){$$invalidate(10,localizedOptions=localizeOptions$1(optionFilter?options.filter(optionFilter):options,locale))}if($$self.$$.dirty[0]&132096){$$invalidate(11,mappedOptions=mapOptions(localizedOptions,optionMapper))}if($$self.$$.dirty[0]&2048){$$invalidate(21,flattenedOptions=flattenOptions(mappedOptions))}if($$self.$$.dirty[0]&2654209){if(selectedIndex<0){$$invalidate(0,selectedIndex=flattenedOptions.findIndex(option=>isDeepEqual(option.value,value)));if(selectedIndex<0){$$invalidate(0,selectedIndex=getUndefinedOptionIndex(options))}}}};return[selectedIndex,label,hideLabel,klass,name,layout,optionLabelClass,title,optionClass,optionGroupClass,localizedOptions,mappedOptions,getOptionIndex,handleRadioKeydown,handleRadioClick,options,onchange,optionMapper,optionFilter,value,locale,flattenedOptions,slots,$$scope]}class RadioGroup extends SvelteComponent{constructor(options){super();init(this,options,instance$A,create_fragment$A,safe_not_equal,{label:1,hideLabel:2,class:3,name:4,selectedIndex:0,options:15,onchange:16,layout:5,optionMapper:17,optionFilter:18,value:19,optionLabelClass:6,title:7,locale:20,optionClass:8,optionGroupClass:9},[-1,-1])}}function create_if_block_1$9(ctx){let icon_1;let current;icon_1=new Icon({props:{class:\"PinturaButtonIcon\",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:ctx}}});return{c(){create_component(icon_1.$$.fragment)},m(target,anchor){mount_component(icon_1,target,anchor);current=true},p(ctx,dirty){const icon_1_changes={};if(dirty&536870976){icon_1_changes.$$scope={dirty:dirty,ctx:ctx}}icon_1.$set(icon_1_changes)},i(local){if(current)return;transition_in(icon_1.$$.fragment,local);current=true},o(local){transition_out(icon_1.$$.fragment,local);current=false},d(detaching){destroy_component(icon_1,detaching)}}}function create_default_slot_1$6(ctx){let g;return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=ctx[6]},p(ctx,dirty){if(dirty&64)g.innerHTML=ctx[6]},d(detaching){if(detaching)detach(g)}}}function create_label_slot$2(ctx){let span1;let t0;let span0;let t1_value=(ctx[2]||ctx[18])+\"\";let t1;let span0_class_value;let span1_title_value;let span1_class_value;let current;let if_block=ctx[6]&&create_if_block_1$9(ctx);return{c(){span1=element(\"span\");if(if_block)if_block.c();t0=space();span0=element(\"span\");t1=text(t1_value);attr(span0,\"class\",span0_class_value=arrayJoin([\"PinturaButtonLabel\",ctx[3],ctx[5]&&\"implicit\"]));attr(span1,\"slot\",\"label\");attr(span1,\"title\",span1_title_value=localize(ctx[1],ctx[15]));attr(span1,\"class\",span1_class_value=arrayJoin([\"PinturaButtonInner\",ctx[4]]))},m(target,anchor){insert(target,span1,anchor);if(if_block)if_block.m(span1,null);append(span1,t0);append(span1,span0);append(span0,t1);current=true},p(ctx,dirty){if(ctx[6]){if(if_block){if_block.p(ctx,dirty);if(dirty&64){transition_in(if_block,1)}}else{if_block=create_if_block_1$9(ctx);if_block.c();transition_in(if_block,1);if_block.m(span1,t0)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}if((!current||dirty&262148)&&t1_value!==(t1_value=(ctx[2]||ctx[18])+\"\"))set_data(t1,t1_value);if(!current||dirty&40&&span0_class_value!==(span0_class_value=arrayJoin([\"PinturaButtonLabel\",ctx[3],ctx[5]&&\"implicit\"]))){attr(span0,\"class\",span0_class_value)}if(!current||dirty&32770&&span1_title_value!==(span1_title_value=localize(ctx[1],ctx[15]))){attr(span1,\"title\",span1_title_value)}if(!current||dirty&16&&span1_class_value!==(span1_class_value=arrayJoin([\"PinturaButtonInner\",ctx[4]]))){attr(span1,\"class\",span1_class_value)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(span1);if(if_block)if_block.d()}}}function create_group_slot$1(ctx){let span;let t_value=ctx[28].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value);attr(span,\"slot\",\"group\")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&268435456&&t_value!==(t_value=ctx[28].label+\"\"))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_if_block$a(ctx){let icon_1;let current;icon_1=new Icon({props:{style:isFunction(ctx[13])?ctx[13](ctx[28].value):ctx[13],$$slots:{default:[create_default_slot$e]},$$scope:{ctx:ctx}}});return{c(){create_component(icon_1.$$.fragment)},m(target,anchor){mount_component(icon_1,target,anchor);current=true},p(ctx,dirty){const icon_1_changes={};if(dirty&268443648)icon_1_changes.style=isFunction(ctx[13])?ctx[13](ctx[28].value):ctx[13];if(dirty&805306368){icon_1_changes.$$scope={dirty:dirty,ctx:ctx}}icon_1.$set(icon_1_changes)},i(local){if(current)return;transition_in(icon_1.$$.fragment,local);current=true},o(local){transition_out(icon_1.$$.fragment,local);current=false},d(detaching){destroy_component(icon_1,detaching)}}}function create_default_slot$e(ctx){let g;let raw_value=ctx[28].icon+\"\";return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=raw_value},p(ctx,dirty){if(dirty&268435456&&raw_value!==(raw_value=ctx[28].icon+\"\"))g.innerHTML=raw_value},d(detaching){if(detaching)detach(g)}}}function create_option_slot$4(ctx){let span1;let t0;let span0;let t1_value=ctx[28].label+\"\";let t1;let span0_style_value;let span0_class_value;let current;let if_block=ctx[28].icon&&create_if_block$a(ctx);return{c(){span1=element(\"span\");if(if_block)if_block.c();t0=space();span0=element(\"span\");t1=text(t1_value);attr(span0,\"style\",span0_style_value=isFunction(ctx[14])?ctx[14](ctx[28].value):ctx[14]);attr(span0,\"class\",span0_class_value=arrayJoin([\"PinturaDropdownOptionLabel\",ctx[10]]));attr(span1,\"slot\",\"option\")},m(target,anchor){insert(target,span1,anchor);if(if_block)if_block.m(span1,null);append(span1,t0);append(span1,span0);append(span0,t1);current=true},p(ctx,dirty){if(ctx[28].icon){if(if_block){if_block.p(ctx,dirty);if(dirty&268435456){transition_in(if_block,1)}}else{if_block=create_if_block$a(ctx);if_block.c();transition_in(if_block,1);if_block.m(span1,t0)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}if((!current||dirty&268435456)&&t1_value!==(t1_value=ctx[28].label+\"\"))set_data(t1,t1_value);if(!current||dirty&268451840&&span0_style_value!==(span0_style_value=isFunction(ctx[14])?ctx[14](ctx[28].value):ctx[14])){attr(span0,\"style\",span0_style_value)}if(!current||dirty&1024&&span0_class_value!==(span0_class_value=arrayJoin([\"PinturaDropdownOptionLabel\",ctx[10]]))){attr(span0,\"class\",span0_class_value)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(span1);if(if_block)if_block.d()}}}function create_details_slot$2(ctx){let div;let radiogroup;let current;let mounted;let dispose;radiogroup=new RadioGroup({props:{name:ctx[7],value:ctx[9],selectedIndex:ctx[8],optionFilter:ctx[11],optionMapper:ctx[12],optionLabelClass:arrayJoin([\"PinturaDropdownOptionLabel\",ctx[10]]),optionGroupClass:\"PinturaDropdownOptionGroup\",optionClass:\"PinturaDropdownOption\",options:ctx[16],onchange:ctx[19],$$slots:{option:[create_option_slot$4,({option})=>({28:option}),({option})=>option?268435456:0],group:[create_group_slot$1,({option})=>({28:option}),({option})=>option?268435456:0]},$$scope:{ctx:ctx}}});return{c(){div=element(\"div\");create_component(radiogroup.$$.fragment);attr(div,\"class\",\"PinturaDropdownPanel\");attr(div,\"slot\",\"details\")},m(target,anchor){insert(target,div,anchor);mount_component(radiogroup,div,null);current=true;if(!mounted){dispose=listen(div,\"keydown\",ctx[21]);mounted=true}},p(ctx,dirty){const radiogroup_changes={};if(dirty&128)radiogroup_changes.name=ctx[7];if(dirty&512)radiogroup_changes.value=ctx[9];if(dirty&256)radiogroup_changes.selectedIndex=ctx[8];if(dirty&2048)radiogroup_changes.optionFilter=ctx[11];if(dirty&4096)radiogroup_changes.optionMapper=ctx[12];if(dirty&1024)radiogroup_changes.optionLabelClass=arrayJoin([\"PinturaDropdownOptionLabel\",ctx[10]]);if(dirty&65536)radiogroup_changes.options=ctx[16];if(dirty&805331968){radiogroup_changes.$$scope={dirty:dirty,ctx:ctx}}radiogroup.$set(radiogroup_changes)},i(local){if(current)return;transition_in(radiogroup.$$.fragment,local);current=true},o(local){transition_out(radiogroup.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(radiogroup);mounted=false;dispose()}}}function create_fragment$z(ctx){let details;let updating_isActive;let current;function details_isActive_binding(value){ctx[26](value)}let details_props={onshow:ctx[20],buttonClass:arrayJoin([\"PinturaDropdownButton\",ctx[0],ctx[5]&&\"PinturaDropdownIconOnly\"]),$$slots:{details:[create_details_slot$2],label:[create_label_slot$2]},$$scope:{ctx:ctx}};if(ctx[17]!==void 0){details_props.isActive=ctx[17]}details=new Details({props:details_props});binding_callbacks.push(()=>bind(details,\"isActive\",details_isActive_binding));return{c(){create_component(details.$$.fragment)},m(target,anchor){mount_component(details,target,anchor);current=true},p(ctx,[dirty]){const details_changes={};if(dirty&33)details_changes.buttonClass=arrayJoin([\"PinturaDropdownButton\",ctx[0],ctx[5]&&\"PinturaDropdownIconOnly\"]);if(dirty&537264126){details_changes.$$scope={dirty:dirty,ctx:ctx}}if(!updating_isActive&&dirty&131072){updating_isActive=true;details_changes.isActive=ctx[17];add_flush_callback(()=>updating_isActive=false)}details.$set(details_changes)},i(local){if(current)return;transition_in(details.$$.fragment,local);current=true},o(local){transition_out(details.$$.fragment,local);current=false},d(detaching){destroy_component(details,detaching)}}}function instance$z($$self,$$props,$$invalidate){let localizedOptions;let selectedLabel;let{class:klass=undefined}=$$props;let{title=undefined}=$$props;let{label=undefined}=$$props;let{labelClass=undefined}=$$props;let{innerClass=undefined}=$$props;let{hideLabel=false}=$$props;let{icon=undefined}=$$props;let{name=undefined}=$$props;let{options=[]}=$$props;let{selectedIndex=-1}=$$props;let{value=undefined}=$$props;let{optionLabelClass=undefined}=$$props;let{optionFilter=undefined}=$$props;let{optionMapper=undefined}=$$props;let{optionIconStyle=undefined}=$$props;let{optionLabelStyle=undefined}=$$props;let{locale=undefined}=$$props;let{onchange=noop$1}=$$props;let{onload=noop$1}=$$props;let{ondestroy=noop$1}=$$props;const getUndefinedOptionLabel=options=>{const option=options.find(option=>option[0]===undefined);if(!option)return undefined;return option[1]};let dropdownVisible;const handleSelect=detail=>{$$invalidate(18,selectedLabel=detail.value);onchange(detail);$$invalidate(17,dropdownVisible=false)};const handleShowPanel=({e,panel})=>{if(e&&e.key&&/up|down/i.test(e.key))return panel.querySelector(\"input:not([disabled])\").focus();panel.querySelector(\"fieldset\").focus()};const handleKeydown=e=>{if(/tab/i.test(e.key))e.preventDefault()};onMount(()=>onload({options:options}));onDestroy(()=>ondestroy({options:options}));function details_isActive_binding(value){dropdownVisible=value;$$invalidate(17,dropdownVisible)}$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(0,klass=$$props.class);if(\"title\"in $$props)$$invalidate(1,title=$$props.title);if(\"label\"in $$props)$$invalidate(2,label=$$props.label);if(\"labelClass\"in $$props)$$invalidate(3,labelClass=$$props.labelClass);if(\"innerClass\"in $$props)$$invalidate(4,innerClass=$$props.innerClass);if(\"hideLabel\"in $$props)$$invalidate(5,hideLabel=$$props.hideLabel);if(\"icon\"in $$props)$$invalidate(6,icon=$$props.icon);if(\"name\"in $$props)$$invalidate(7,name=$$props.name);if(\"options\"in $$props)$$invalidate(22,options=$$props.options);if(\"selectedIndex\"in $$props)$$invalidate(8,selectedIndex=$$props.selectedIndex);if(\"value\"in $$props)$$invalidate(9,value=$$props.value);if(\"optionLabelClass\"in $$props)$$invalidate(10,optionLabelClass=$$props.optionLabelClass);if(\"optionFilter\"in $$props)$$invalidate(11,optionFilter=$$props.optionFilter);if(\"optionMapper\"in $$props)$$invalidate(12,optionMapper=$$props.optionMapper);if(\"optionIconStyle\"in $$props)$$invalidate(13,optionIconStyle=$$props.optionIconStyle);if(\"optionLabelStyle\"in $$props)$$invalidate(14,optionLabelStyle=$$props.optionLabelStyle);if(\"locale\"in $$props)$$invalidate(15,locale=$$props.locale);if(\"onchange\"in $$props)$$invalidate(23,onchange=$$props.onchange);if(\"onload\"in $$props)$$invalidate(24,onload=$$props.onload);if(\"ondestroy\"in $$props)$$invalidate(25,ondestroy=$$props.ondestroy)};$$self.$$.update=()=>{if($$self.$$.dirty&4227072){$$invalidate(16,localizedOptions=locale?localizeOptions$1(options,locale):options)}if($$self.$$.dirty&66048){$$invalidate(18,selectedLabel=localizedOptions.reduce((prev,curr)=>{if(prev)return prev;const item=Array.isArray(curr)?curr:[curr,curr];const[optionValue,optionLabel]=item;if(isDeepEqual(optionValue,value))return optionLabel},undefined)||getUndefinedOptionLabel(localizedOptions)||value)}};return[klass,title,label,labelClass,innerClass,hideLabel,icon,name,selectedIndex,value,optionLabelClass,optionFilter,optionMapper,optionIconStyle,optionLabelStyle,locale,localizedOptions,dropdownVisible,selectedLabel,handleSelect,handleShowPanel,handleKeydown,options,onchange,onload,ondestroy,details_isActive_binding]}class Dropdown extends SvelteComponent{constructor(options){super();init(this,options,instance$z,create_fragment$z,safe_not_equal,{class:0,title:1,label:2,labelClass:3,innerClass:4,hideLabel:5,icon:6,name:7,options:22,selectedIndex:8,value:9,optionLabelClass:10,optionFilter:11,optionMapper:12,optionIconStyle:13,optionLabelStyle:14,locale:15,onchange:23,onload:24,ondestroy:25})}}var numberRoundTo=(value,fraction)=>{fraction=1/fraction;return Math.round(value*fraction)/fraction};var toFraction=(value,min,max)=>(value-min)/(max-min);function create_default_slot_1$5(ctx){let path;return{c(){path=svg_element(\"path\");attr(path,\"d\",\"M8 12 h8 M12 8 v8\")},m(target,anchor){insert(target,path,anchor)},d(detaching){if(detaching)detach(path)}}}function create_default_slot$d(ctx){let path;return{c(){path=svg_element(\"path\");attr(path,\"d\",\"M9 12 h6\")},m(target,anchor){insert(target,path,anchor)},d(detaching){if(detaching)detach(path)}}}function create_fragment$y(ctx){let div4;let div3;let input_1;let t0;let div0;let t1;let div2;let div1;let t2;let button0;let icon0;let t3;let button1;let icon1;let div4_class_value;let current;let mounted;let dispose;icon0=new Icon({props:{$$slots:{default:[create_default_slot_1$5]},$$scope:{ctx:ctx}}});icon1=new Icon({props:{$$slots:{default:[create_default_slot$d]},$$scope:{ctx:ctx}}});return{c(){div4=element(\"div\");div3=element(\"div\");input_1=element(\"input\");t0=space();div0=element(\"div\");t1=space();div2=element(\"div\");div1=element(\"div\");t2=space();button0=element(\"button\");create_component(icon0.$$.fragment);t3=space();button1=element(\"button\");create_component(icon1.$$.fragment);attr(input_1,\"type\",\"range\");attr(input_1,\"id\",ctx[3]);attr(input_1,\"min\",ctx[0]);attr(input_1,\"max\",ctx[1]);attr(input_1,\"step\",ctx[2]);input_1.value=ctx[8];attr(div0,\"class\",\"PinturaSliderTrack\");attr(div0,\"style\",ctx[4]);attr(div1,\"class\",\"PinturaSliderKnob\");attr(div1,\"style\",ctx[5]);attr(div2,\"class\",\"PinturaSliderKnobController\");attr(div2,\"style\",ctx[10]);attr(div3,\"class\",\"PinturaSliderControl\");attr(button0,\"type\",\"button\");attr(button0,\"aria-label\",\"Increase\");attr(button1,\"type\",\"button\");attr(button1,\"aria-label\",\"Decrease\");attr(div4,\"class\",div4_class_value=arrayJoin([\"PinturaSlider\",ctx[7]]));attr(div4,\"data-direction\",ctx[6])},m(target,anchor){insert(target,div4,anchor);append(div4,div3);append(div3,input_1);ctx[22](input_1);append(div3,t0);append(div3,div0);append(div3,t1);append(div3,div2);append(div2,div1);append(div4,t2);append(div4,button0);mount_component(icon0,button0,null);append(div4,t3);append(div4,button1);mount_component(icon1,button1,null);current=true;if(!mounted){dispose=[listen(input_1,\"pointerdown\",ctx[13]),listen(input_1,\"input\",ctx[11]),listen(input_1,\"nudge\",ctx[12]),action_destroyer(nudgeable.call(null,input_1)),listen(button0,\"pointerdown\",ctx[14](1)),listen(button1,\"pointerdown\",ctx[14](-1))];mounted=true}},p(ctx,dirty){if(!current||dirty[0]&8){attr(input_1,\"id\",ctx[3])}if(!current||dirty[0]&1){attr(input_1,\"min\",ctx[0])}if(!current||dirty[0]&2){attr(input_1,\"max\",ctx[1])}if(!current||dirty[0]&4){attr(input_1,\"step\",ctx[2])}if(!current||dirty[0]&256){input_1.value=ctx[8]}if(!current||dirty[0]&16){attr(div0,\"style\",ctx[4])}if(!current||dirty[0]&32){attr(div1,\"style\",ctx[5])}if(!current||dirty[0]&1024){attr(div2,\"style\",ctx[10])}const icon0_changes={};if(dirty[1]&512){icon0_changes.$$scope={dirty:dirty,ctx:ctx}}icon0.$set(icon0_changes);const icon1_changes={};if(dirty[1]&512){icon1_changes.$$scope={dirty:dirty,ctx:ctx}}icon1.$set(icon1_changes);if(!current||dirty[0]&128&&div4_class_value!==(div4_class_value=arrayJoin([\"PinturaSlider\",ctx[7]]))){attr(div4,\"class\",div4_class_value)}if(!current||dirty[0]&64){attr(div4,\"data-direction\",ctx[6])}},i(local){if(current)return;transition_in(icon0.$$.fragment,local);transition_in(icon1.$$.fragment,local);current=true},o(local){transition_out(icon0.$$.fragment,local);transition_out(icon1.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div4);ctx[22](null);destroy_component(icon0);destroy_component(icon1);mounted=false;run_all(dispose)}}}function instance$y($$self,$$props,$$invalidate){let numberValue;let range;let position;let axis;let dimension;let offsetSizeProp;let offsetAxisProp;let pageAxisProp;let knobControllerStyle;let{min=0}=$$props;let{max=100}=$$props;let{step=1}=$$props;let{id=undefined}=$$props;let{value=0}=$$props;let{trackStyle=undefined}=$$props;let{knobStyle=undefined}=$$props;let{onchange=undefined}=$$props;let{direction=\"x\"}=$$props;let{getValue=passthrough}=$$props;let{setValue=passthrough}=$$props;let{class:klass=undefined}=$$props;let input;let inputSize;let inputOffset;let pageOffset;let valuePrev;const formatValue=value=>setValue(numberRoundTo(clamp(value,min,max),step));const setValueByOffset=(offset,size)=>{$$invalidate(15,value=formatValue(min+offset/size*range));if(value===valuePrev)return;valuePrev=value;onchange(value)};const handleInput=e=>{if(inputSize)return;$$invalidate(15,value=setValue(parseFloat(e.target.value)));if(value===valuePrev)return;valuePrev=value;onchange(value)};const handleNudge=e=>{const size=input[offsetSizeProp];const offset=numberValue/range*size;setValueByOffset(offset+e.detail[direction],size)};const handlePointerDown=e=>{e.stopPropagation();inputSize=input[offsetSizeProp];inputOffset=e[offsetAxisProp];pageOffset=e[pageAxisProp];setValueByOffset(inputOffset,inputSize);document.documentElement.addEventListener(\"pointermove\",handlePointerMove);document.documentElement.addEventListener(\"pointerup\",handlePointerUp)};const handlePointerMove=e=>{const d=e[pageAxisProp]-pageOffset;setValueByOffset(inputOffset+d,inputSize)};const handlePointerUp=e=>{inputSize=undefined;document.documentElement.removeEventListener(\"pointermove\",handlePointerMove);document.documentElement.removeEventListener(\"pointerup\",handlePointerUp);onchange(value)};const update=()=>{$$invalidate(15,value=formatValue(numberValue+updateDir*step));onchange(value)};let updateTimer;let updateDir=1;let didUpdate=false;const handleUpdaterDown=dir=>e=>{updateDir=dir;didUpdate=false;updateTimer=setInterval(()=>{didUpdate=true;update()},100);document.addEventListener(\"pointercancel\",handleUpdaterUp);document.addEventListener(\"pointerup\",handleUpdaterUp)};const handleUpdaterUp=e=>{clearTimeout(updateTimer);if(!didUpdate)update();document.removeEventListener(\"pointerup\",handleUpdaterUp)};function input_1_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{input=$$value;$$invalidate(9,input)})}$$self.$$set=$$props=>{if(\"min\"in $$props)$$invalidate(0,min=$$props.min);if(\"max\"in $$props)$$invalidate(1,max=$$props.max);if(\"step\"in $$props)$$invalidate(2,step=$$props.step);if(\"id\"in $$props)$$invalidate(3,id=$$props.id);if(\"value\"in $$props)$$invalidate(15,value=$$props.value);if(\"trackStyle\"in $$props)$$invalidate(4,trackStyle=$$props.trackStyle);if(\"knobStyle\"in $$props)$$invalidate(5,knobStyle=$$props.knobStyle);if(\"onchange\"in $$props)$$invalidate(16,onchange=$$props.onchange);if(\"direction\"in $$props)$$invalidate(6,direction=$$props.direction);if(\"getValue\"in $$props)$$invalidate(17,getValue=$$props.getValue);if(\"setValue\"in $$props)$$invalidate(18,setValue=$$props.setValue);if(\"class\"in $$props)$$invalidate(7,klass=$$props.class)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&163840){$$invalidate(8,numberValue=value!==undefined?getValue(value):0)}if($$self.$$.dirty[0]&3){range=max-min}if($$self.$$.dirty[0]&259){$$invalidate(19,position=toFraction(numberValue,min,max)*100)}if($$self.$$.dirty[0]&64){$$invalidate(20,axis=direction.toUpperCase())}if($$self.$$.dirty[0]&64){$$invalidate(21,dimension=direction===\"x\"?\"Width\":\"Height\")}if($$self.$$.dirty[0]&2097152){offsetSizeProp=`offset${dimension}`}if($$self.$$.dirty[0]&1048576){offsetAxisProp=`offset${axis}`}if($$self.$$.dirty[0]&1048576){pageAxisProp=`page${axis}`}if($$self.$$.dirty[0]&1572864){$$invalidate(10,knobControllerStyle=`transform: translate${axis}(${position}%)`)}};return[min,max,step,id,trackStyle,knobStyle,direction,klass,numberValue,input,knobControllerStyle,handleInput,handleNudge,handlePointerDown,handleUpdaterDown,value,onchange,getValue,setValue,position,axis,dimension,input_1_binding]}class Slider extends SvelteComponent{constructor(options){super();init(this,options,instance$y,create_fragment$y,safe_not_equal,{min:0,max:1,step:2,id:3,value:15,trackStyle:4,knobStyle:5,onchange:16,direction:6,getValue:17,setValue:18,class:7},[-1,-1])}}function create_if_block$9(ctx){let icon_1;let current;icon_1=new Icon({props:{class:\"PinturaButtonIcon\",$$slots:{default:[create_default_slot$c]},$$scope:{ctx:ctx}}});return{c(){create_component(icon_1.$$.fragment)},m(target,anchor){mount_component(icon_1,target,anchor);current=true},p(ctx,dirty){const icon_1_changes={};if(dirty&262148){icon_1_changes.$$scope={dirty:dirty,ctx:ctx}}icon_1.$set(icon_1_changes)},i(local){if(current)return;transition_in(icon_1.$$.fragment,local);current=true},o(local){transition_out(icon_1.$$.fragment,local);current=false},d(detaching){destroy_component(icon_1,detaching)}}}function create_default_slot$c(ctx){let g;return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=ctx[2]},p(ctx,dirty){if(dirty&4)g.innerHTML=ctx[2]},d(detaching){if(detaching)detach(g)}}}function create_label_slot$1(ctx){let span1;let t0;let span0;let t1;let span0_class_value;let span1_title_value;let span1_class_value;let current;let if_block=ctx[2]&&create_if_block$9(ctx);return{c(){span1=element(\"span\");if(if_block)if_block.c();t0=space();span0=element(\"span\");t1=text(ctx[8]);attr(span0,\"class\",span0_class_value=arrayJoin([\"PinturaButtonLabel\",ctx[3],ctx[5]&&\"implicit\"]));attr(span1,\"slot\",\"label\");attr(span1,\"title\",span1_title_value=localize(ctx[1],ctx[6]));attr(span1,\"class\",span1_class_value=arrayJoin([\"PinturaButtonInner\",ctx[4]]))},m(target,anchor){insert(target,span1,anchor);if(if_block)if_block.m(span1,null);append(span1,t0);append(span1,span0);append(span0,t1);current=true},p(ctx,dirty){if(ctx[2]){if(if_block){if_block.p(ctx,dirty);if(dirty&4){transition_in(if_block,1)}}else{if_block=create_if_block$9(ctx);if_block.c();transition_in(if_block,1);if_block.m(span1,t0)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}if(!current||dirty&256)set_data(t1,ctx[8]);if(!current||dirty&40&&span0_class_value!==(span0_class_value=arrayJoin([\"PinturaButtonLabel\",ctx[3],ctx[5]&&\"implicit\"]))){attr(span0,\"class\",span0_class_value)}if(!current||dirty&66&&span1_title_value!==(span1_title_value=localize(ctx[1],ctx[6]))){attr(span1,\"title\",span1_title_value)}if(!current||dirty&16&&span1_class_value!==(span1_class_value=arrayJoin([\"PinturaButtonInner\",ctx[4]]))){attr(span1,\"class\",span1_class_value)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(span1);if(if_block)if_block.d()}}}function create_details_slot$1(ctx){let div;let slider;let current;let mounted;let dispose;const slider_spread_levels=[ctx[11],{value:ctx[7]},{onchange:ctx[10]}];let slider_props={};for(let i=0;i{if(/tab/i.test(e.key))e.preventDefault()};const getLabel=value=>isFunction(label)?label(getValue(value),min,max):label;let currentLabel=getLabel(value);const handleChangeValue=value=>{$$invalidate(8,currentLabel=getLabel(value));onchange(value)};$$self.$$set=$$new_props=>{$$props=assign(assign({},$$props),exclude_internal_props($$new_props));$$invalidate(11,$$restProps=compute_rest_props($$props,omit_props_names));if(\"class\"in $$new_props)$$invalidate(0,klass=$$new_props.class);if(\"title\"in $$new_props)$$invalidate(1,title=$$new_props.title);if(\"label\"in $$new_props)$$invalidate(12,label=$$new_props.label);if(\"icon\"in $$new_props)$$invalidate(2,icon=$$new_props.icon);if(\"labelClass\"in $$new_props)$$invalidate(3,labelClass=$$new_props.labelClass);if(\"innerClass\"in $$new_props)$$invalidate(4,innerClass=$$new_props.innerClass);if(\"hideLabel\"in $$new_props)$$invalidate(5,hideLabel=$$new_props.hideLabel);if(\"locale\"in $$new_props)$$invalidate(6,locale=$$new_props.locale);if(\"value\"in $$new_props)$$invalidate(7,value=$$new_props.value);if(\"onchange\"in $$new_props)$$invalidate(13,onchange=$$new_props.onchange)};return[klass,title,icon,labelClass,innerClass,hideLabel,locale,value,currentLabel,handleKeydown,handleChangeValue,$$restProps,label,onchange]}class ToggleSlider extends SvelteComponent{constructor(options){super();init(this,options,instance$x,create_fragment$x,safe_not_equal,{class:0,title:1,label:12,icon:2,labelClass:3,innerClass:4,hideLabel:5,locale:6,value:7,onchange:13})}}function get_each_context$6(ctx,list,i){const child_ctx=ctx.slice();child_ctx[7]=list[i][0];child_ctx[8]=list[i][1];child_ctx[9]=list[i][2];child_ctx[0]=list[i][3];return child_ctx}function create_else_block$3(ctx){let switch_instance;let switch_instance_anchor;let current;const switch_instance_spread_levels=[ctx[9]];var switch_value=ctx[1][ctx[7]]||ctx[7];function switch_props(ctx){let switch_instance_props={};for(let i=0;i{destroy_component(old_component,1)});check_outros()}if(switch_value){switch_instance=new switch_value(switch_props());create_component(switch_instance.$$.fragment);transition_in(switch_instance.$$.fragment,1);mount_component(switch_instance,switch_instance_anchor.parentNode,switch_instance_anchor)}else{switch_instance=null}}else if(switch_value){switch_instance.$set(switch_instance_changes)}},i(local){if(current)return;if(switch_instance)transition_in(switch_instance.$$.fragment,local);current=true},o(local){if(switch_instance)transition_out(switch_instance.$$.fragment,local);current=false},d(detaching){if(detaching)detach(switch_instance_anchor);if(switch_instance)destroy_component(switch_instance,detaching)}}}function create_if_block$8(ctx){let tag;let current;tag=new Tag({props:{name:ctx[7],attributes:ctx[2](ctx[9]),$$slots:{default:[create_default_slot$b]},$$scope:{ctx:ctx}}});return{c(){create_component(tag.$$.fragment)},m(target,anchor){mount_component(tag,target,anchor);current=true},p(ctx,dirty){const tag_changes={};if(dirty&1)tag_changes.name=ctx[7];if(dirty&1)tag_changes.attributes=ctx[2](ctx[9]);if(dirty&4097){tag_changes.$$scope={dirty:dirty,ctx:ctx}}tag.$set(tag_changes)},i(local){if(current)return;transition_in(tag.$$.fragment,local);current=true},o(local){transition_out(tag.$$.fragment,local);current=false},d(detaching){destroy_component(tag,detaching)}}}function create_if_block_3$6(ctx){let html_tag;let raw_value=ctx[9].innerHTML+\"\";let html_anchor;return{c(){html_anchor=empty();html_tag=new HtmlTag(html_anchor)},m(target,anchor){html_tag.m(raw_value,target,anchor);insert(target,html_anchor,anchor)},p(ctx,dirty){if(dirty&1&&raw_value!==(raw_value=ctx[9].innerHTML+\"\"))html_tag.p(raw_value)},i:noop,o:noop,d(detaching){if(detaching)detach(html_anchor);if(detaching)html_tag.d()}}}function create_if_block_2$7(ctx){let t_value=ctx[9].textContent+\"\";let t;return{c(){t=text(t_value)},m(target,anchor){insert(target,t,anchor)},p(ctx,dirty){if(dirty&1&&t_value!==(t_value=ctx[9].textContent+\"\"))set_data(t,t_value)},i:noop,o:noop,d(detaching){if(detaching)detach(t)}}}function create_if_block_1$8(ctx){let dynamiccomponenttree;let current;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[0],discardEmptyItems:true}});return{c(){create_component(dynamiccomponenttree.$$.fragment)},m(target,anchor){mount_component(dynamiccomponenttree,target,anchor);current=true},p(ctx,dirty){const dynamiccomponenttree_changes={};if(dirty&1)dynamiccomponenttree_changes.items=ctx[0];dynamiccomponenttree.$set(dynamiccomponenttree_changes)},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);current=false},d(detaching){destroy_component(dynamiccomponenttree,detaching)}}}function create_default_slot$b(ctx){let current_block_type_index;let if_block;let t;let current;const if_block_creators=[create_if_block_1$8,create_if_block_2$7,create_if_block_3$6];const if_blocks=[];function select_block_type_1(ctx,dirty){if(ctx[0]&&ctx[0].length)return 0;if(ctx[9].textContent)return 1;if(ctx[9].innerHTML)return 2;return-1}if(~(current_block_type_index=select_block_type_1(ctx))){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx)}return{c(){if(if_block)if_block.c();t=space()},m(target,anchor){if(~current_block_type_index){if_blocks[current_block_type_index].m(target,anchor)}insert(target,t,anchor);current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type_1(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(t.parentNode,t)}else{if_block=null}}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(~current_block_type_index){if_blocks[current_block_type_index].d(detaching)}if(detaching)detach(t)}}}function create_each_block$6(key_1,ctx){let first;let show_if;let current_block_type_index;let if_block;let if_block_anchor;let current;const if_block_creators=[create_if_block$8,create_else_block$3];const if_blocks=[];function select_block_type(ctx,dirty){if(dirty&1)show_if=!!!ctx[3](ctx[7]);if(show_if)return 0;return 1}current_block_type_index=select_block_type(ctx,-1);if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);return{key:key_1,first:null,c(){first=empty();if_block.c();if_block_anchor=empty();this.first=first},m(target,anchor){insert(target,first,anchor);if_blocks[current_block_type_index].m(target,anchor);insert(target,if_block_anchor,anchor);current=true},p(new_ctx,dirty){ctx=new_ctx;let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx,dirty);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(first);if_blocks[current_block_type_index].d(detaching);if(detaching)detach(if_block_anchor)}}}function create_fragment$w(ctx){let each_blocks=[];let each_1_lookup=new Map;let each_1_anchor;let current;let each_value=ctx[0];const get_key=ctx=>ctx[8];for(let i=0;i{const{textContent,innerHTML,...attributes}=props;return attributes};const isComponent=node=>!isString(node)||!!ComponentMap[node];const shouldRenderItem=item=>{if(!item)return false;const[node,,props,children=[]]=item;if(isComponent(node))return true;return children.some(shouldRenderItem)||props.textContent||props.innerHTML};$$self.$$set=$$props=>{if(\"items\"in $$props)$$invalidate(4,items=$$props.items);if(\"discardEmptyItems\"in $$props)$$invalidate(5,discardEmptyItems=$$props.discardEmptyItems)};$$self.$$.update=()=>{if($$self.$$.dirty&48){$$invalidate(0,children=(items&&discardEmptyItems?items.filter(shouldRenderItem):items)||[])}};return[children,ComponentMap,getElementAttributes,isComponent,items,discardEmptyItems]}class DynamicComponentTree_1 extends SvelteComponent{constructor(options){super();init(this,options,instance$w,create_fragment$w,safe_not_equal,{items:4,discardEmptyItems:5})}}var smoothstep=(min,max,value,ease=x=>x*x*(3-2*x))=>ease(Math.max(0,Math.min(1,(value-min)/(max-min))));var canvasClone=canvas=>{const clone=h(\"canvas\",{width:canvas.width,height:canvas.height});clone.getContext(\"2d\").drawImage(canvas,0,0);return clone};const proxy=function(get,set,update){let subscribers=[];return{set:set,update:update,publish:value=>{subscribers.forEach(cb=>cb(value))},subscribe:cb=>{subscribers.push(cb);get(cb);return()=>{subscribers=subscribers.filter(item=>item!==cb)}}}};var createImageProxy=()=>{let unsubs;let image;const ImageStoreProps=[\"file\",\"size\",\"loadState\",\"processState\",\"cropAspectRatio\",\"cropLimitToImage\",\"crop\",\"cropMinSize\",\"cropMaxSize\",\"cropRange\",\"cropOrigin\",\"cropRectAspectRatio\",\"rotation\",\"rotationRange\",\"targetSize\",\"flipX\",\"flipY\",\"perspectiveX\",\"perspectiveY\",\"perspective\",\"colorMatrix\",\"convolutionMatrix\",\"gamma\",\"vignette\",\"noise\",\"redaction\",\"decoration\",\"annotation\",\"frame\",\"backgroundColor\",\"state\"];const proxyStores=ImageStoreProps.reduce((prev,curr)=>{prev[curr]=proxy(cb=>{if(!image)return cb();const unsub=image.stores[curr].subscribe(cb);unsub()},value=>{if(!image)return;image.stores[curr].set(value)},cb=>{if(!image)return;image.stores[curr].update(cb)});return prev},{});const update=newImage=>{image=newImage;if(unsubs){unsubs.forEach(unsub=>unsub());unsubs=undefined}if(!newImage){proxyStores[\"file\"].publish(undefined);proxyStores[\"loadState\"].publish(undefined);return}unsubs=ImageStoreProps.map(prop=>newImage.stores[prop].subscribe(value=>{proxyStores[prop].publish(value)}))};return{update:update,stores:proxyStores,destroy:()=>{if(unsubs)unsubs.forEach(unsub=>unsub())}}};var createPingRouter=(route,cancel=true)=>e=>{if(e.type!==\"ping\")return;if(cancel)e.stopPropagation();route(e.detail.type,e.detail.data)};var createPing=(type,data)=>new CustomEvent(\"ping\",{detail:{type:type,data:data},cancelable:true,bubbles:true});var isTextarea=element=>/textarea/i.test(element.nodeName);var isTextInput=node=>/date|email|number|search|text|url/.test(node.type);var isTextField=node=>isTextarea(node)||isTextInput(node);var toKebabCase=(str,abbr)=>{return(abbr?stringReplace(str,abbr):str).replace(/([a-z])([A-Z])/g,\"$1-$2\").replace(/\\s+/g,\"-\").toLowerCase()};var matchMedia$1=(query,cb)=>{const mql=matchMedia(query);mql.addListener(cb);cb(mql);return{get matches(){return mql.matches},destroy:()=>mql.removeListener(cb)}};var mediaQueryStore=(query,formatValue=passthrough)=>{const{subscribe,set}=writable(undefined);const mm=matchMedia$1(query,({matches})=>set(formatValue(matches)));return{subscribe:subscribe,destroy:mm.destroy}};var canPreventNavSwipe=()=>{if(!isIOS())return false;const matches=navigator.userAgent.match(/OS (\\d+)_(\\d+)_?(\\d+)?/i)||[];const[,major,minor]=matches.map(v=>parseInt(v,10)||0);return major>13||major===13&&minor>=4};var calculateImageTransforms=(stageRect,rootRect,imageSize,cropRect,imageSelectionRect,imageScale,imagePerspectiveX,imagePerspectiveY,imageRotation,imageFlipX,imageFlipY)=>{if(!stageRect||!rootRect||!imageSize||!cropRect||!imageScale)return undefined;const viewRect=rectNormalizeOffset(rectClone(rootRect));const viewCenter=rectCenter(viewRect);const stageCenter=rectCenter(stageRect);const imageRect=rectCreateFromSize(imageSize);const imageCenter=rectCenter(imageRect);const imagePerspective=vectorCreate(imagePerspectiveX,imagePerspectiveY);const cropRectBase=getBaseCropRect(imageSize,cropRect,imageRotation);const cropRectBaseCenter=rectCenter(cropRectBase);const imageTranslation=vectorSubtract(vectorClone(imageCenter),cropRectBaseCenter);const imageOffset=vectorSubtract(vectorClone(stageCenter),viewCenter);imageTranslation.x+=imageOffset.x;imageTranslation.y+=imageOffset.y;const imageOrigin=vectorInvert(vectorClone(imageTranslation));imageOrigin.x+=imageOffset.x;imageOrigin.y+=imageOffset.y;const imageSelectionCenter=rectCenter(rectTranslate(rectClone(imageSelectionRect),stageRect));const imageSelectionOffset=vectorSubtract(imageSelectionCenter,stageCenter);vectorAdd(imageTranslation,imageSelectionOffset);return{origin:imageOrigin,translation:imageTranslation,rotation:{x:imageFlipY?Math.PI:0,y:imageFlipX?Math.PI:0,z:imageRotation},perspective:imagePerspective,scale:imageScale}};var historyCreate=(getState,setState)=>{const{sub,pub}=pubsub();const entries=[];const index=writable(0);const subs=[];const updateSubs=()=>subs.forEach(cb=>cb({index:get_store_value(index),length:entries.length}));const history={get index(){return get_store_value(index)},set index(i){i=Number.isInteger(i)?i:0;i=clamp(i,0,entries.length-1);index.set(i);setState(entries[history.index]);updateSubs()},get state(){return entries[entries.length-1]},length(){return entries.length},undo(){const newIndex=history.index--;pub(\"undo\",newIndex);return newIndex},redo(){const newIndex=history.index++;pub(\"redo\",history.index);return newIndex},revert(){entries.length=1;history.index=0;pub(\"revert\")},write(state){if(state){setState({...getState(),...state})}const newState=getState();const lastState=entries[entries.length-1];if(JSON.stringify(newState)===JSON.stringify(lastState))return;entries.length=history.index+1;entries.push(newState);index.set(entries.length-1);updateSubs()},set(state={}){entries.length=0;history.index=0;const newStateEntries=!Array.isArray(state)?[state]:state;entries.push(...newStateEntries);history.index=entries.length-1},get(){return[...entries]},subscribe(cb){subs.push(cb);cb({index:history.index,length:entries.length});return()=>subs.splice(subs.indexOf(cb),1)},on:sub};return history};var isChrome=()=>isBrowser()&&!!window[\"chrome\"];var imageBitmapToImageData=async imageBitmap=>canvasToImageData(await imageDataToCanvas(imageBitmap));var blobToImageBitmap=(file,ImageOrienter,canvasMemoryLimit)=>new Promise((resolve,reject)=>{(async()=>{const orientation=await ImageOrienter.read(file);const toImageData=file=>blobToImageData(file,canvasMemoryLimit).then(imageData=>ImageOrienter.apply(imageData,orientation)).then(resolve).catch(reject);if(isSVGFile(file)||!canCreateImageBitmap()||isSafari$1()||isIOS())return toImageData(file);let imageBitmap;try{imageBitmap=await thread((file,done)=>createImageBitmap(file).then(bitmap=>done(null,bitmap)).catch(done),[file])}catch(err){}if(!imageBitmap||!imageBitmap.width)return toImageData(file);if(!await canOrientImages())return resolve(ImageOrienter.apply(imageBitmap,orientation));if(isChrome()&&orientation>1)return resolve(await imageBitmapToImageData(imageBitmap));resolve(imageBitmap)})()});var imageDataContain=(imageData,size)=>new Promise(async resolve=>{if(imageData.width{const[,q,w,e]=str.split(\"\");str=str.length===4?`#${q}${q}${w}${w}${e}${e}`:str;const[,r,g,b]=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(str);return[r,g,b].map(v=>parseInt(v,16)/255)};var colorStringToColorArray=color=>{color=color.trim();if(/^rgba/.test(color)){return color.substr(5).split(\",\").map(parseFloat).map((v,i)=>v/(i===3?1:255))}if(/^rgb/.test(color)){return color.substr(4).split(\",\").map(parseFloat).map(v=>v/255)}if(/^#/.test(color)){return hexToRGB(color)}if(/[0-9]{1,3}\\s?,\\s?[0-9]{1,3}\\s?,\\s?[0-9]{1,3}/.test(color)){return color.split(\",\").map(v=>parseInt(v,10)).map(v=>v/255)}};let result$4=null;var supportsWebGL=()=>{if(result$4===null){let canvas=h(\"canvas\");result$4=!!getWebGLContext(canvas);releaseCanvas(canvas);canvas=undefined}return result$4};var isBitmap=file=>/^image/.test(file.type)&&!/svg/.test(file.type);const COLOR_MATRIX_IDENTITY=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];const SPRING_PROPS={precision:1e-4};const SPRING_PROPS_FRACTION={precision:SPRING_PROPS.precision*.01};var createImage=(data,size,options={})=>{const{resize:resizeInitial=1,opacity:opacityInitial=0}=options;const stores={opacity:[spring(opacityInitial,{...SPRING_PROPS,stiffness:.1}),passthrough],resize:[spring(resizeInitial,{...SPRING_PROPS,stiffness:.1}),passthrough],translation:[spring(undefined,SPRING_PROPS),passthrough],rotation:[spring(undefined,SPRING_PROPS_FRACTION),passthrough],origin:[spring(undefined,SPRING_PROPS),passthrough],scale:[spring(undefined,SPRING_PROPS_FRACTION),passthrough],gamma:[spring(undefined,SPRING_PROPS_FRACTION),v=>v||1],vignette:[spring(undefined,SPRING_PROPS_FRACTION),v=>v||0],colorMatrix:[spring([...COLOR_MATRIX_IDENTITY],SPRING_PROPS),v=>v||[...COLOR_MATRIX_IDENTITY]],convolutionMatrix:[writable(undefined),v=>v&&v.clarity||undefined],backgroundColor:[spring(undefined,SPRING_PROPS),passthrough]};const storeEntries=Object.entries(stores).map(([key,value])=>[key,value[0]]);const storeArray=storeEntries.map(([,store])=>store);const storeSetters=Object.entries(stores).reduce((prev,[key,value])=>{const[store,getValue]=value;prev[key]=(value,opts)=>store.set(getValue(value),opts);return prev},{});let stateCache;const state=derived(storeArray,storeValues=>{stateCache=storeValues.reduce((calculatedState,value,index)=>{const key=storeEntries[index][0];calculatedState[key]=value;return calculatedState},{});stateCache.data=data;stateCache.size=size;stateCache.scale*=storeValues[1];return stateCache});state.get=()=>stateCache;state.set=(props,animate)=>{const opts={hard:!animate};Object.entries(props).forEach(([key,value])=>{if(!storeSetters[key])return;storeSetters[key](value,opts)})};return state};var storeList=()=>{const stores=[];const subscribers=[];const state=[];const storeDidUpdate=(store,value)=>{const index=stores.indexOf(store);if(index<0)return;state[index]=value;triggerUpdate()};const triggerUpdate=()=>{subscribers.forEach(fn=>fn(state))};const addStore=store=>{store.unsub=store.subscribe(value=>storeDidUpdate(store,value));triggerUpdate()};const unshift=store=>{stores.unshift(store);addStore(store)};const push=store=>{stores.push(store);addStore(store)};const clear=()=>{stores.forEach(store=>store.unsub());stores.length=0;state.length=0};const remove=store=>{store.unsub();const index=stores.indexOf(store);stores.splice(index,1);state.splice(index,1)};const subscribe=fn=>{subscribers.push(fn);return()=>{subscribers.splice(subscribers.indexOf(fn),1)}};const forEach=fn=>stores.forEach(fn);const filter=fn=>stores.filter(fn);const get=index=>stores[index];return{get length(){return stores.length},clear:clear,unshift:unshift,get:get,push:push,remove:remove,forEach:forEach,filter:filter,subscribe:subscribe}};var isDarkColor=color=>{return color[0]<.25&&color[1]<.25&&color[2]<.25};var browse=()=>new Promise(resolve=>{const fileInput=h(\"input\",{type:\"file\",accept:\"image/*\",onchange:()=>{const[file]=fileInput.files;if(!file)return resolve(undefined);resolve(file)}});fileInput.click()});const{window:window_1$1}=globals;function create_if_block_1$7(ctx){let t;let if_block1_anchor;let current;let if_block0=ctx[26]&&create_if_block_6$1(ctx);let if_block1=ctx[27]&&create_if_block_2$6(ctx);return{c(){if(if_block0)if_block0.c();t=space();if(if_block1)if_block1.c();if_block1_anchor=empty()},m(target,anchor){if(if_block0)if_block0.m(target,anchor);insert(target,t,anchor);if(if_block1)if_block1.m(target,anchor);insert(target,if_block1_anchor,anchor);current=true},p(ctx,dirty){if(ctx[26]){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&67108864){transition_in(if_block0,1)}}else{if_block0=create_if_block_6$1(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t.parentNode,t)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(ctx[27]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&134217728){transition_in(if_block1,1)}}else{if_block1=create_if_block_2$6(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(if_block1_anchor.parentNode,if_block1_anchor)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);current=true},o(local){transition_out(if_block0);transition_out(if_block1);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t);if(if_block1)if_block1.d(detaching);if(detaching)detach(if_block1_anchor)}}}function create_if_block_6$1(ctx){let div;let p;let current_block_type_index;let if_block;let div_style_value;let current;const if_block_creators=[create_if_block_7,create_if_block_8];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[23])return 0;if(ctx[13])return 1;return-1}if(~(current_block_type_index=select_block_type(ctx))){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx)}return{c(){div=element(\"div\");p=element(\"p\");if(if_block)if_block.c();attr(p,\"style\",ctx[39]);attr(div,\"class\",\"PinturaStatus\");attr(div,\"style\",div_style_value=`opacity: ${ctx[25]}`)},m(target,anchor){insert(target,div,anchor);append(div,p);if(~current_block_type_index){if_blocks[current_block_type_index].m(p,null)}current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(p,null)}else{if_block=null}}if(!current||dirty[1]&256){attr(p,\"style\",ctx[39])}if(!current||dirty[0]&33554432&&div_style_value!==(div_style_value=`opacity: ${ctx[25]}`)){attr(div,\"style\",div_style_value)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(~current_block_type_index){if_blocks[current_block_type_index].d()}}}}function create_if_block_8(ctx){let statusmessage;let t;let if_block_anchor;let current;statusmessage=new StatusMessage({props:{text:ctx[13].text||\"\",onmeasure:ctx[129]}});let if_block=ctx[13].aside&&create_if_block_9(ctx);return{c(){create_component(statusmessage.$$.fragment);t=space();if(if_block)if_block.c();if_block_anchor=empty()},m(target,anchor){mount_component(statusmessage,target,anchor);insert(target,t,anchor);if(if_block)if_block.m(target,anchor);insert(target,if_block_anchor,anchor);current=true},p(ctx,dirty){const statusmessage_changes={};if(dirty[0]&8192)statusmessage_changes.text=ctx[13].text||\"\";statusmessage.$set(statusmessage_changes);if(ctx[13].aside){if(if_block){if_block.p(ctx,dirty);if(dirty[0]&8192){transition_in(if_block,1)}}else{if_block=create_if_block_9(ctx);if_block.c();transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}},i(local){if(current)return;transition_in(statusmessage.$$.fragment,local);transition_in(if_block);current=true},o(local){transition_out(statusmessage.$$.fragment,local);transition_out(if_block);current=false},d(detaching){destroy_component(statusmessage,detaching);if(detaching)detach(t);if(if_block)if_block.d(detaching);if(detaching)detach(if_block_anchor)}}}function create_if_block_7(ctx){let statusmessage;let t;let statusaside;let current;statusmessage=new StatusMessage({props:{text:ctx[23],onmeasure:ctx[129]}});statusaside=new StatusAside({props:{class:\"PinturaStatusIcon\",offset:ctx[43],opacity:ctx[44],$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:ctx}}});return{c(){create_component(statusmessage.$$.fragment);t=space();create_component(statusaside.$$.fragment)},m(target,anchor){mount_component(statusmessage,target,anchor);insert(target,t,anchor);mount_component(statusaside,target,anchor);current=true},p(ctx,dirty){const statusmessage_changes={};if(dirty[0]&8388608)statusmessage_changes.text=ctx[23];statusmessage.$set(statusmessage_changes);const statusaside_changes={};if(dirty[1]&4096)statusaside_changes.offset=ctx[43];if(dirty[1]&8192)statusaside_changes.opacity=ctx[44];if(dirty[0]&4|dirty[12]&2048){statusaside_changes.$$scope={dirty:dirty,ctx:ctx}}statusaside.$set(statusaside_changes)},i(local){if(current)return;transition_in(statusmessage.$$.fragment,local);transition_in(statusaside.$$.fragment,local);current=true},o(local){transition_out(statusmessage.$$.fragment,local);transition_out(statusaside.$$.fragment,local);current=false},d(detaching){destroy_component(statusmessage,detaching);if(detaching)detach(t);destroy_component(statusaside,detaching)}}}function create_if_block_9(ctx){let statusaside;let current;statusaside=new StatusAside({props:{class:\"PinturaStatusButton\",offset:ctx[43],opacity:ctx[44],$$slots:{default:[create_default_slot_6]},$$scope:{ctx:ctx}}});return{c(){create_component(statusaside.$$.fragment)},m(target,anchor){mount_component(statusaside,target,anchor);current=true},p(ctx,dirty){const statusaside_changes={};if(dirty[1]&4096)statusaside_changes.offset=ctx[43];if(dirty[1]&8192)statusaside_changes.opacity=ctx[44];if(dirty[0]&8192|dirty[12]&2048){statusaside_changes.$$scope={dirty:dirty,ctx:ctx}}statusaside.$set(statusaside_changes)},i(local){if(current)return;transition_in(statusaside.$$.fragment,local);current=true},o(local){transition_out(statusaside.$$.fragment,local);current=false},d(detaching){destroy_component(statusaside,detaching)}}}function create_if_block_11(ctx){let progressindicator;let current;progressindicator=new ProgressIndicator({props:{progress:ctx[13].progressIndicator.progress}});return{c(){create_component(progressindicator.$$.fragment)},m(target,anchor){mount_component(progressindicator,target,anchor);current=true},p(ctx,dirty){const progressindicator_changes={};if(dirty[0]&8192)progressindicator_changes.progress=ctx[13].progressIndicator.progress;progressindicator.$set(progressindicator_changes)},i(local){if(current)return;transition_in(progressindicator.$$.fragment,local);current=true},o(local){transition_out(progressindicator.$$.fragment,local);current=false},d(detaching){destroy_component(progressindicator,detaching)}}}function create_if_block_10(ctx){let button;let current;const button_spread_levels=[ctx[13].closeButton,{hideLabel:true}];let button_props={};for(let i=0;i{if_block0=null});check_outros()}if(ctx[13].closeButton&&ctx[13].text){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&8192){transition_in(if_block1,1)}}else{if_block1=create_if_block_10(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(if_block1_anchor.parentNode,if_block1_anchor)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);current=true},o(local){transition_out(if_block0);transition_out(if_block1);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t);if(if_block1)if_block1.d(detaching);if(detaching)detach(if_block1_anchor)}}}function create_default_slot_5(ctx){let g;let raw_value=ctx[2].iconSupportError+\"\";return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=raw_value},p(ctx,dirty){if(dirty[0]&4&&raw_value!==(raw_value=ctx[2].iconSupportError+\"\"))g.innerHTML=raw_value},d(detaching){if(detaching)detach(g)}}}function create_default_slot_4$1(ctx){let icon;let current;icon=new Icon({props:{$$slots:{default:[create_default_slot_5]},$$scope:{ctx:ctx}}});return{c(){create_component(icon.$$.fragment)},m(target,anchor){mount_component(icon,target,anchor);current=true},p(ctx,dirty){const icon_changes={};if(dirty[0]&4|dirty[12]&2048){icon_changes.$$scope={dirty:dirty,ctx:ctx}}icon.$set(icon_changes)},i(local){if(current)return;transition_in(icon.$$.fragment,local);current=true},o(local){transition_out(icon.$$.fragment,local);current=false},d(detaching){destroy_component(icon,detaching)}}}function create_if_block_2$6(ctx){let t0;let t1;let current_block_type_index;let if_block2;let t2;let canvas;let t3;let div;let current;let if_block0=ctx[6]&&create_if_block_5$3(ctx);let if_block1=ctx[17]&&ctx[15]&&create_if_block_4$5(ctx);const if_block_creators=[create_if_block_3$5,create_else_block$2];const if_blocks=[];function select_block_type_1(ctx,dirty){if(ctx[17])return 0;return 1}current_block_type_index=select_block_type_1(ctx);if_block2=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);canvas=new Canvas({props:{animate:ctx[18],pixelRatio:ctx[47],backgroundColor:ctx[48],maskRect:ctx[38],maskOpacity:ctx[37]?ctx[37].maskOpacity:1,maskFrameOpacity:ctx[49]===\"frame\"&&ctx[50]?0:.95,images:ctx[22],interfaceImages:ctx[51],loadImageData:ctx[8],willRequestResource:ctx[52],willRender:ctx[286]}});return{c(){if(if_block0)if_block0.c();t0=space();if(if_block1)if_block1.c();t1=space();if_block2.c();t2=space();create_component(canvas.$$.fragment);t3=space();div=element(\"div\");attr(div,\"class\",\"PinturaRootPortal\")},m(target,anchor){if(if_block0)if_block0.m(target,anchor);insert(target,t0,anchor);if(if_block1)if_block1.m(target,anchor);insert(target,t1,anchor);if_blocks[current_block_type_index].m(target,anchor);insert(target,t2,anchor);mount_component(canvas,target,anchor);insert(target,t3,anchor);insert(target,div,anchor);ctx[287](div);current=true},p(ctx,dirty){if(ctx[6]){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&64){transition_in(if_block0,1)}}else{if_block0=create_if_block_5$3(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t0.parentNode,t0)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(ctx[17]&&ctx[15]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&163840){transition_in(if_block1,1)}}else{if_block1=create_if_block_4$5(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(t1.parentNode,t1)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}let previous_block_index=current_block_type_index;current_block_type_index=select_block_type_1(ctx);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block2=if_blocks[current_block_type_index];if(!if_block2){if_block2=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block2.c()}else{if_block2.p(ctx,dirty)}transition_in(if_block2,1);if_block2.m(t2.parentNode,t2)}const canvas_changes={};if(dirty[0]&262144)canvas_changes.animate=ctx[18];if(dirty[1]&65536)canvas_changes.pixelRatio=ctx[47];if(dirty[1]&131072)canvas_changes.backgroundColor=ctx[48];if(dirty[1]&128)canvas_changes.maskRect=ctx[38];if(dirty[1]&64)canvas_changes.maskOpacity=ctx[37]?ctx[37].maskOpacity:1;if(dirty[1]&786432)canvas_changes.maskFrameOpacity=ctx[49]===\"frame\"&&ctx[50]?0:.95;if(dirty[0]&4194304)canvas_changes.images=ctx[22];if(dirty[1]&1048576)canvas_changes.interfaceImages=ctx[51];if(dirty[0]&256)canvas_changes.loadImageData=ctx[8];if(dirty[1]&2097152)canvas_changes.willRequestResource=ctx[52];if(dirty[0]&536870944|dirty[1]&62914560)canvas_changes.willRender=ctx[286];canvas.$set(canvas_changes)},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);transition_in(if_block2);transition_in(canvas.$$.fragment,local);current=true},o(local){transition_out(if_block0);transition_out(if_block1);transition_out(if_block2);transition_out(canvas.$$.fragment,local);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t0);if(if_block1)if_block1.d(detaching);if(detaching)detach(t1);if_blocks[current_block_type_index].d(detaching);if(detaching)detach(t2);destroy_component(canvas,detaching);if(detaching)detach(t3);if(detaching)detach(div);ctx[287](null)}}}function create_if_block_5$3(ctx){let div;let dynamiccomponenttree;let current;let mounted;let dispose;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[40]}});return{c(){div=element(\"div\");create_component(dynamiccomponenttree.$$.fragment);attr(div,\"class\",\"PinturaNav PinturaNavTools\")},m(target,anchor){insert(target,div,anchor);mount_component(dynamiccomponenttree,div,null);current=true;if(!mounted){dispose=[listen(div,\"measure\",ctx[271]),action_destroyer(measurable.call(null,div))];mounted=true}},p(ctx,dirty){const dynamiccomponenttree_changes={};if(dirty[1]&512)dynamiccomponenttree_changes.items=ctx[40];dynamiccomponenttree.$set(dynamiccomponenttree_changes)},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(dynamiccomponenttree);mounted=false;run_all(dispose)}}}function create_if_block_4$5(ctx){let div;let scrollable;let current;scrollable=new Scrollable({props:{elasticity:ctx[4]*scrollElasticity,scrollDirection:ctx[35]?\"y\":\"x\",$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:ctx}}});return{c(){div=element(\"div\");create_component(scrollable.$$.fragment);attr(div,\"class\",\"PinturaNav PinturaNavMain\")},m(target,anchor){insert(target,div,anchor);mount_component(scrollable,div,null);current=true},p(ctx,dirty){const scrollable_changes={};if(dirty[0]&16)scrollable_changes.elasticity=ctx[4]*scrollElasticity;if(dirty[1]&16)scrollable_changes.scrollDirection=ctx[35]?\"y\":\"x\";if(dirty[0]&524288|dirty[1]&3|dirty[12]&2048){scrollable_changes.$$scope={dirty:dirty,ctx:ctx}}scrollable.$set(scrollable_changes)},i(local){if(current)return;transition_in(scrollable.$$.fragment,local);current=true},o(local){transition_out(scrollable.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(scrollable)}}}function create_default_slot_3$1(ctx){let g;let raw_value=ctx[382].icon+\"\";return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=raw_value},p(ctx,dirty){if(dirty[12]&1024&&raw_value!==(raw_value=ctx[382].icon+\"\"))g.innerHTML=raw_value},d(detaching){if(detaching)detach(g)}}}function create_default_slot_2$3(ctx){let icon;let t0;let span;let t1_value=ctx[382].label+\"\";let t1;let current;icon=new Icon({props:{$$slots:{default:[create_default_slot_3$1]},$$scope:{ctx:ctx}}});return{c(){create_component(icon.$$.fragment);t0=space();span=element(\"span\");t1=text(t1_value)},m(target,anchor){mount_component(icon,target,anchor);insert(target,t0,anchor);insert(target,span,anchor);append(span,t1);current=true},p(ctx,dirty){const icon_changes={};if(dirty[12]&3072){icon_changes.$$scope={dirty:dirty,ctx:ctx}}icon.$set(icon_changes);if((!current||dirty[12]&1024)&&t1_value!==(t1_value=ctx[382].label+\"\"))set_data(t1,t1_value)},i(local){if(current)return;transition_in(icon.$$.fragment,local);current=true},o(local){transition_out(icon.$$.fragment,local);current=false},d(detaching){destroy_component(icon,detaching);if(detaching)detach(t0);if(detaching)detach(span)}}}function create_default_slot_1$4(ctx){let tablist;let current;const tablist_spread_levels=[ctx[31],{tabs:ctx[32]}];let tablist_props={$$slots:{default:[create_default_slot_2$3,({tab})=>({382:tab}),({tab})=>[0,0,0,0,0,0,0,0,0,0,0,0,tab?1024:0]]},$$scope:{ctx:ctx}};for(let i=0;ibind(panel,\"component\",panel_component_binding_1));panel.$on(\"measure\",ctx[282]);panel.$on(\"show\",ctx[283]);panel.$on(\"hide\",ctx[284]);panel.$on(\"fade\",ctx[285]);return{c(){create_component(panel.$$.fragment)},m(target,anchor){mount_component(panel,target,anchor);current=true},p(ctx,dirty){const panel_changes={};if(dirty[0]&1572992)panel_changes.content={...ctx[20].find(ctx[280]),props:ctx[7][ctx[19]]};if(dirty[0]&4)panel_changes.locale=ctx[2];if(dirty[0]&262144)panel_changes.isAnimated=ctx[18];if(!updating_component&&dirty[0]&524289){updating_component=true;panel_changes.component=ctx[0][ctx[19]];add_flush_callback(()=>updating_component=false)}panel.$set(panel_changes)},i(local){if(current)return;transition_in(panel.$$.fragment,local);current=true},o(local){transition_out(panel.$$.fragment,local);current=false},d(detaching){destroy_component(panel,detaching)}}}function create_if_block_3$5(ctx){let tabpanels;let current;const tabpanels_spread_levels=[{class:\"PinturaMain\"},{visible:ctx[28]},ctx[31],{panels:ctx[33]}];let tabpanels_props={$$slots:{default:[create_default_slot$a,({panel})=>({381:panel}),({panel})=>[0,0,0,0,0,0,0,0,0,0,0,0,panel?512:0]]},$$scope:{ctx:ctx}};for(let i=0;ibind(panel,\"component\",panel_component_binding));panel.$on(\"measure\",ctx[275]);panel.$on(\"show\",show_handler);panel.$on(\"hide\",hide_handler);panel.$on(\"fade\",fade_handler);return{c(){create_component(panel.$$.fragment)},m(target,anchor){mount_component(panel,target,anchor);current=true},p(new_ctx,dirty){ctx=new_ctx;const panel_changes={};if(dirty[0]&1048704|dirty[12]&512)panel_changes.content={...ctx[20].find(func),props:ctx[7][ctx[381]]};if(dirty[0]&4)panel_changes.locale=ctx[2];if(dirty[0]&524288|dirty[12]&512)panel_changes.isActive=ctx[381]===ctx[19];if(dirty[0]&262144)panel_changes.isAnimated=ctx[18];if(!updating_component&&dirty[0]&1|dirty[12]&512){updating_component=true;panel_changes.component=ctx[0][ctx[381]];add_flush_callback(()=>updating_component=false)}panel.$set(panel_changes)},i(local){if(current)return;transition_in(panel.$$.fragment,local);current=true},o(local){transition_out(panel.$$.fragment,local);current=false},d(detaching){destroy_component(panel,detaching)}}}function create_if_block$7(ctx){let span;let span_style_value;return{c(){span=element(\"span\");attr(span,\"class\",\"PinturaEditorOverlay\");attr(span,\"style\",span_style_value=`opacity:${ctx[57]}`)},m(target,anchor){insert(target,span,anchor)},p(ctx,dirty){if(dirty[1]&67108864&&span_style_value!==(span_style_value=`opacity:${ctx[57]}`)){attr(span,\"style\",span_style_value)}},d(detaching){if(detaching)detach(span)}}}function create_fragment$v(ctx){let div;let t;let current;let mounted;let dispose;add_render_callback(ctx[270]);let if_block0=ctx[41]&&create_if_block_1$7(ctx);let if_block1=ctx[57]>0&&create_if_block$7(ctx);return{c(){div=element(\"div\");if(if_block0)if_block0.c();t=space();if(if_block1)if_block1.c();attr(div,\"id\",ctx[3]);attr(div,\"class\",ctx[34]);attr(div,\"data-env\",ctx[36])},m(target,anchor){insert(target,div,anchor);if(if_block0)if_block0.m(div,null);append(div,t);if(if_block1)if_block1.m(div,null);ctx[288](div);current=true;if(!mounted){dispose=[listen(window_1$1,\"keydown\",ctx[134]),listen(window_1$1,\"keyup\",ctx[135]),listen(window_1$1,\"blur\",ctx[136]),listen(window_1$1,\"paste\",ctx[140]),listen(window_1$1,\"resize\",ctx[270]),listen(div,\"ping\",function(){if(is_function(ctx[42]))ctx[42].apply(this,arguments)}),listen(div,\"contextmenu\",ctx[137]),listen(div,\"touchstart\",ctx[130],{passive:false}),listen(div,\"touchmove\",ctx[131]),listen(div,\"pointermove\",ctx[132]),listen(div,\"transitionend\",ctx[119]),listen(div,\"dropfiles\",ctx[138]),listen(div,\"measure\",ctx[289]),listen(div,\"click\",function(){if(is_function(ctx[24]?ctx[139]:noop$1))(ctx[24]?ctx[139]:noop$1).apply(this,arguments)}),action_destroyer(measurable.call(null,div,{observeViewRect:true})),action_destroyer(focusvisible.call(null,div)),action_destroyer(dropable.call(null,div))];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(ctx[41]){if(if_block0){if_block0.p(ctx,dirty);if(dirty[1]&1024){transition_in(if_block0,1)}}else{if_block0=create_if_block_1$7(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(div,t)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(ctx[57]>0){if(if_block1){if_block1.p(ctx,dirty)}else{if_block1=create_if_block$7(ctx);if_block1.c();if_block1.m(div,null)}}else if(if_block1){if_block1.d(1);if_block1=null}if(!current||dirty[0]&8){attr(div,\"id\",ctx[3])}if(!current||dirty[1]&8){attr(div,\"class\",ctx[34])}if(!current||dirty[1]&32){attr(div,\"data-env\",ctx[36])}},i(local){if(current)return;transition_in(if_block0);current=true},o(local){transition_out(if_block0);current=false},d(detaching){if(detaching)detach(div);if(if_block0)if_block0.d();if(if_block1)if_block1.d();ctx[288](null);mounted=false;run_all(dispose)}}}const imageCropRectElasticity=5;const imageSelectionRectElasticity=1;const STAGE_OVERLAY_ID=\"stage-overlay\";const maxOpacity=.85;const scrollElasticity=10;const rangeInputElasticity=5;function instance$v($$self,$$props,$$invalidate){let isOverlayModeEnabled;let showUtils;let maxImageDataSize;let preprocessShape;let imageTargetSizeCurrent;let overlayTop;let overlayBottom;let overlayLeft;let overlayRight;let gradientOverlays;let canAnimate;let acceptsAnimations;let canUndo;let canRedo;let utilsFiltered;let utilsAvailable;let utilsDefined;let utilsMerged;let utilSelected;let utilTools;let utilsVisibleFraction;let tabsConfig;let tabs;let panels;let shouldRenderTabs;let className;let horizontalSpace;let hasLimitedSpace;let verticalSpace;let isModal;let isCenteredHorizontally;let isCenteredVertically;let isCentered;let isNarrow;let orientation;let isLandscape;let isCompact;let hasSwipeNavigation;let shouldRenderUtilTools;let navigationHorizontalPreference;let navigationVerticalPreference;let rootElementComputedStyle;let envStr;let imageCanvasState;let hasProps;let missingFeatures;let isSupportsError;let isStartLoadingImageSource;let isImageLoadError;let isWaitingForImage;let imageLoadProgress;let isLoadingImageData;let isCreatingImagePreview;let isProcessingImage;let imageLoadShowProgressIndicator;let imageLoadStatusLabel;let imageProcessStatusLabel;let imageProcessProgress;let imageProcessShowProgressIndicator;let isImageProcessingError;let isCustomStatus;let isStatusActive;let isStatusVisible;let hasAside;let statusIndent;let statusTransform;let toolbarItems;let hasClientRect;let canRender;let hasImageRedaction;let imageRedactionScalar;let routePing;let isReady;let $images;let $shapePreprocessor;let $clientRect;let $imageCropAspectRatio;let $rootRect;let $imageLoadState;let $imageCropRect;let $imageCropRectIntent;let $isInteracting;let $imageCropRectSnapshot;let $previewShouldUpscale;let $imageSelectionRect;let $shouldAnimate;let $imageSelectionRectIntent;let $stageRect;let $imageOutputSize;let $stageScalar;let $imageSize;let $presentationScalar;let $imageSelectionRectSnapshot;let $overlayInset;let $imageVisualBounds;let $overlaySize;let $overlayTopOpacity;let $overlayBottomOpacity;let $overlayLeftOpacity;let $overlayRightOpacity;let $imageOverlayMarkup;let $imageFile;let $imagePreview,$$unsubscribe_imagePreview=noop,$$subscribe_imagePreview=()=>($$unsubscribe_imagePreview(),$$unsubscribe_imagePreview=subscribe(imagePreview,$$value=>$$invalidate(207,$imagePreview=$$value)),imagePreview);let $imagePreviewSource;let $prefersReducedMotion;let $imageState;let $tabRect;let $history,$$unsubscribe_history=noop,$$subscribe_history=()=>($$unsubscribe_history(),$$unsubscribe_history=subscribe(history,$$value=>$$invalidate(213,$history=$$value)),history);let $imageProcessingPreparing;let $env;let $pointerAccuracy;let $pointerHoverable;let $imageTransforms;let $imagePreviewModifiers;let $imageProps;let $activeImages;let $imageSelectionRectPresentation;let $imageVisualLoadComplete;let $imageProcessState;let $wasProcessingImage;let $statusOpacity;let $statusWidth;let $asideWidth;let $statusOffset;let $pressedKeysStore;let $imageRedaction;let $imageScrambler;let $imageBackgroundColor;let $rootForegroundColor;let $rootLineColor;let $isInteractingFraction;let $asideOffset;let $asideOpacity;let $toolRect;let $utilRect;let $pixelRatio;let $rootBackgroundColor;let $utilSelectedStore;let $stagePadded;let $interfaceImages;let $willRequestResource;let $imageAnnotation;let $imageDecoration;let $imageFrame;let $imageOverlay;let $disabledTransition;component_subscribe($$self,prefersReducedMotion,$$value=>$$invalidate(211,$prefersReducedMotion=$$value));$$self.$$.on_destroy.push(()=>$$unsubscribe_imagePreview());$$self.$$.on_destroy.push(()=>$$unsubscribe_history());const eventProxy=pubsub();const dispatch=createEventDispatcher();let{class:klass=undefined}=$$props;let{layout:layoutMode=undefined}=$$props;let{stores}=$$props;let{locale=undefined}=$$props;let{id=undefined}=$$props;let{util=undefined}=$$props;let{utils=undefined}=$$props;let{animations=\"auto\"}=$$props;let{disabled=false}=$$props;let{status=undefined}=$$props;let{previewUpscale=false}=$$props;let{elasticityMultiplier=10}=$$props;let{willRevert=()=>Promise.resolve(true)}=$$props;let{willProcessImage=()=>Promise.resolve(true)}=$$props;let{willRenderCanvas=passthrough}=$$props;let{willRenderToolbar=passthrough}=$$props;let{willSetHistoryInitialState=passthrough}=$$props;let{enableButtonExport=true}=$$props;let{enableButtonRevert=true}=$$props;let{enableNavigateHistory=true}=$$props;let{enableToolbar=true}=$$props;let{enableUtils=true}=$$props;let{enableButtonClose=false}=$$props;let{enableDropImage=false}=$$props;let{enablePasteImage=false}=$$props;let{enableBrowseImage=false}=$$props;let{previewImageDataMaxSize=undefined}=$$props;let{layoutDirectionPreference=\"auto\"}=$$props;let{layoutHorizontalUtilsPreference=\"left\"}=$$props;let{layoutVerticalUtilsPreference=\"bottom\"}=$$props;let{imagePreviewSrc=undefined}=$$props;let{imageOrienter={read:()=>1,apply:v=>v}}=$$props;let{pluginComponents=undefined}=$$props;let{pluginOptions={}}=$$props;const sub=eventProxy.sub;const pluginInterface={};let{root}=$$props;let registeredPluginsComponents=[];const disabledTransition=spring();component_subscribe($$self,disabledTransition,value=>$$invalidate(57,$disabledTransition=value));const glMaxTextureSize=getWebGLTextureSizeLimit()||1024;const maxTextureSize=sizeCreate(glMaxTextureSize,glMaxTextureSize);const canvasMemoryLimit=getCanvasMemoryLimit();let{imageSourceToImageData=src=>isString(src)?fetch(src).then(res=>{if(res.status!==200)throw`${res.status} (${res.statusText})`;return res.blob()}).then(blob=>blobToImageBitmap(blob,imageOrienter,canvasMemoryLimit)).then(imageData=>imageDataContain(imageData,maxImageDataSize)):isElement(src)?new Promise(resolve=>resolve(canvasToImageData(src))):blobToImageBitmap(src,imageOrienter,canvasMemoryLimit).then(imageData=>imageDataContain(imageData,maxImageDataSize))}=$$props;const imageProxy=createImageProxy();const{file:imageFile,size:imageSize,loadState:imageLoadState,processState:imageProcessState,cropAspectRatio:imageCropAspectRatio,cropLimitToImage:imageCropLimitToImage,crop:imageCropRect,cropMinSize:imageCropMinSize,cropMaxSize:imageCropMaxSize,cropRange:imageCropRange,cropOrigin:imageCropRectOrigin,cropRectAspectRatio:imageCropRectAspectRatio,rotation:imageRotation,rotationRange:imageRotationRange,targetSize:imageOutputSize,flipX:imageFlipX,flipY:imageFlipY,backgroundColor:imageBackgroundColor,colorMatrix:imageColorMatrix,convolutionMatrix:imageConvolutionMatrix,gamma:imageGamma,vignette:imageVignette,noise:imageNoise,decoration:imageDecoration,annotation:imageAnnotation,redaction:imageRedaction,frame:imageFrame,state:imageState}=imageProxy.stores;component_subscribe($$self,imageFile,value=>$$invalidate(206,$imageFile=value));component_subscribe($$self,imageSize,value=>$$invalidate(191,$imageSize=value));component_subscribe($$self,imageLoadState,value=>$$invalidate(185,$imageLoadState=value));component_subscribe($$self,imageProcessState,value=>$$invalidate(249,$imageProcessState=value));component_subscribe($$self,imageCropAspectRatio,value=>$$invalidate(297,$imageCropAspectRatio=value));component_subscribe($$self,imageCropRect,value=>$$invalidate(186,$imageCropRect=value));component_subscribe($$self,imageOutputSize,value=>$$invalidate(190,$imageOutputSize=value));component_subscribe($$self,imageBackgroundColor,value=>$$invalidate(269,$imageBackgroundColor=value));component_subscribe($$self,imageDecoration,value=>$$invalidate(54,$imageDecoration=value));component_subscribe($$self,imageAnnotation,value=>$$invalidate(53,$imageAnnotation=value));component_subscribe($$self,imageRedaction,value=>$$invalidate(266,$imageRedaction=value));component_subscribe($$self,imageFrame,value=>$$invalidate(55,$imageFrame=value));component_subscribe($$self,imageState,value=>$$invalidate(306,$imageState=value));const{images,shapePreprocessor,imageScrambler,willRequestResource}=stores;component_subscribe($$self,images,value=>$$invalidate(182,$images=value));component_subscribe($$self,shapePreprocessor,value=>$$invalidate(183,$shapePreprocessor=value));component_subscribe($$self,imageScrambler,value=>$$invalidate(268,$imageScrambler=value));component_subscribe($$self,willRequestResource,value=>$$invalidate(52,$willRequestResource=value));const imageStateUnsub=imageState.subscribe(state=>eventProxy.pub(\"update\",state));const utilSelectedStore=writable();component_subscribe($$self,utilSelectedStore,value=>$$invalidate(49,$utilSelectedStore=value));const rootBackgroundColor=writable([0,0,0]);component_subscribe($$self,rootBackgroundColor,value=>$$invalidate(48,$rootBackgroundColor=value));const rootForegroundColor=writable([1,1,1]);component_subscribe($$self,rootForegroundColor,value=>$$invalidate(308,$rootForegroundColor=value));const rootLineColor=spring();component_subscribe($$self,rootLineColor,value=>$$invalidate(309,$rootLineColor=value));const rootColorSecondary=writable();const clientRect=writable();component_subscribe($$self,clientRect,value=>$$invalidate(16,$clientRect=value));const rootRect=writable();component_subscribe($$self,rootRect,value=>$$invalidate(184,$rootRect=value));const syncRootAspectRatio=()=>{const currentAspectRatio=$imageCropAspectRatio;const nextAspectRatio=rectAspectRatio($rootRect);if(currentAspectRatio&¤tAspectRatio===nextAspectRatio)return;imageCropAspectRatio.set(rectAspectRatio($rootRect));setInitialHistoryState()};const tabRect=writable(rectCreateEmpty());component_subscribe($$self,tabRect,value=>$$invalidate(30,$tabRect=value));const toolRect=writable(rectCreateEmpty());component_subscribe($$self,toolRect,value=>$$invalidate(45,$toolRect=value));const utilRect=writable();component_subscribe($$self,utilRect,value=>$$invalidate(46,$utilRect=value));const pointerAccuracy=mediaQueryStore(\"(pointer: fine)\",matches=>matches?\"pointer-fine\":\"pointer-coarse\");component_subscribe($$self,pointerAccuracy,value=>$$invalidate(235,$pointerAccuracy=value));const pointerHoverable=mediaQueryStore(\"(hover: hover)\",matches=>matches?\"pointer-hover\":\"pointer-no-hover\");component_subscribe($$self,pointerHoverable,value=>$$invalidate(236,$pointerHoverable=value));const isInteracting=writable(false);component_subscribe($$self,isInteracting,value=>$$invalidate(187,$isInteracting=value));const isInteractingFraction=readable(undefined,set=>{const animator=spring(0);const updater=value=>{animator.set(value?1:0)};const subs=[isInteracting.subscribe(updater),animator.subscribe(set)];return()=>subs.forEach(unsub=>unsub())});component_subscribe($$self,isInteractingFraction,value=>$$invalidate(310,$isInteractingFraction=value));const previewShouldUpscale=writable(previewUpscale);component_subscribe($$self,previewShouldUpscale,value=>$$invalidate(300,$previewShouldUpscale=value));const imageCropRectSnapshot=writable();component_subscribe($$self,imageCropRectSnapshot,value=>$$invalidate(299,$imageCropRectSnapshot=value));const imageCropRectIntent=writable();component_subscribe($$self,imageCropRectIntent,value=>$$invalidate(298,$imageCropRectIntent=value));const imageCropRectPresentation=readable(undefined,set=>{const animator=spring(undefined,{precision:1e-4});const update=()=>{if(!$imageCropRect)return;const instantUpdate=$imageCropRectIntent===undefined||$isInteracting;const elasticRect=elastifyRects($imageCropRect,$imageCropRectIntent,imageCropRectElasticity*elasticityMultiplier);animator.set(elasticRect,{hard:instantUpdate})};const subs=[imageCropRect.subscribe(update),animator.subscribe(set)];return()=>subs.forEach(unsub=>unsub())});const imageSelectionRect=writable();component_subscribe($$self,imageSelectionRect,value=>$$invalidate(301,$imageSelectionRect=value));const imageSelectionRectSnapshot=writable();component_subscribe($$self,imageSelectionRectSnapshot,value=>$$invalidate(305,$imageSelectionRectSnapshot=value));const imageSelectionRectIntent=writable(undefined);component_subscribe($$self,imageSelectionRectIntent,value=>$$invalidate(302,$imageSelectionRectIntent=value));let prevFramePadding={left:0,right:0,top:0,bottom:0};const framePadding=derived([imageFrame,imageSelectionRect],([$imageFrame,$imageSelectionRect],set)=>{if(!$imageSelectionRect)set(prevFramePadding);let newPadding=getStagePadding($imageSelectionRect,$imageFrame);if(fixPrecision(prevFramePadding.top,4)===fixPrecision(newPadding.top,4)&&fixPrecision(prevFramePadding.bottom,4)===fixPrecision(newPadding.bottom,4)&&fixPrecision(prevFramePadding.right,4)===fixPrecision(newPadding.right,4)&&fixPrecision(prevFramePadding.left,4)===fixPrecision(newPadding.left,4))return;prevFramePadding=newPadding;set(newPadding)});const framePadded=derived([framePadding],([$framePadding],set)=>{set(Object.values($framePadding).some(value=>value>0))});let prevStagePadding={left:0,right:0,top:0,bottom:0};const stagePadding=derived([utilSelectedStore,imageFrame,imageSelectionRect],([$utilSelectedStore,$imageFrame,$imageSelectionRect],set)=>{if(!$imageSelectionRect)set(prevStagePadding);let newPadding;if($utilSelectedStore===\"frame\"){newPadding=getStagePadding($imageSelectionRect,$imageFrame)}else{newPadding={left:0,right:0,top:0,bottom:0}}if(fixPrecision(prevStagePadding.top,4)===fixPrecision(newPadding.top,4)&&fixPrecision(prevStagePadding.bottom,4)===fixPrecision(newPadding.bottom,4)&&fixPrecision(prevStagePadding.right,4)===fixPrecision(newPadding.right,4)&&fixPrecision(prevStagePadding.left,4)===fixPrecision(newPadding.left,4))return;prevStagePadding=newPadding;set(newPadding)});const stagePadded=derived([stagePadding],([$stagePadding],set)=>{set(Object.values($stagePadding).some(value=>value>0))});component_subscribe($$self,stagePadded,value=>$$invalidate(50,$stagePadded=value));const stageRect=derived([utilRect,tabRect,toolRect,stagePadding],([$utilRect,$tabRect,$toolRect,$stagePadding],set)=>{if(!$utilRect)return set(undefined);let utilOffsetY=0;if(utilsFiltered.length===1&&!isOverlayModeEnabled){utilOffsetY=$toolRect.y+$toolRect.height}set(rectCreate($utilRect.x+$tabRect.x+$stagePadding.top,$utilRect.y+$tabRect.y+utilOffsetY+$stagePadding.top,$utilRect.width-($stagePadding.left+$stagePadding.right),$utilRect.height-($stagePadding.top+$stagePadding.bottom)))});component_subscribe($$self,stageRect,value=>$$invalidate(189,$stageRect=value));const stageScalar=derived([stageRect,imageCropRect],([$stageRect,$imageCropRect],set)=>{const isManipulatingImageCropRect=!!($imageCropRectSnapshot||$imageCropRectIntent);if(!$stageRect||!$imageCropRect||isManipulatingImageCropRect)return;const scalar=Math.min($stageRect.width/$imageCropRect.width,$stageRect.height/$imageCropRect.height);const scale=$previewShouldUpscale?scalar:Math.min(1,scalar);set(scale)});component_subscribe($$self,stageScalar,value=>$$invalidate(303,$stageScalar=value));const getStagePadding=(presentationRect,imageFrame)=>{if(!imageFrame||!presentationRect)return{top:0,right:0,bottom:0,left:0};const shapes=shapesFromCompositShape(imageFrame,presentationRect,preprocessShape);const bounds=shapesBounds(shapes,presentationRect);return{top:Math.abs(bounds.top),right:Math.abs(bounds.right),bottom:Math.abs(bounds.bottom),left:Math.abs(bounds.left)}};const imageSelectionRectPresentation=readable(undefined,set=>{const animator=spring(undefined,{precision:1e-4});const updater=()=>{if(!$imageSelectionRect)return;const instantUpdate=$isInteracting||!$shouldAnimate;const elasticRect=elastifyRects($imageSelectionRect,$imageSelectionRectIntent,imageSelectionRectElasticity*elasticityMultiplier);if(elasticRect.width<0){elasticRect.width=0;elasticRect.x=$imageSelectionRect.x}if(elasticRect.height<0){elasticRect.height=0;elasticRect.y=$imageSelectionRect.y}rectTranslate(elasticRect,$stageRect);if($imageCropRect){if(utilSelected===\"resize\"){const visualSize=$imageOutputSize||$imageCropRect;rectScale(elasticRect,visualSize.width/$imageSelectionRect.width||visualSize.height/$imageSelectionRect.height)}}animator.set(elasticRect,{hard:instantUpdate})};const subs=[stageRect.subscribe(updater),imageSelectionRect.subscribe(updater),imageOutputSize.subscribe(updater),imageFrame.subscribe(updater),animator.subscribe(set)];return()=>subs.forEach(unsub=>unsub())});component_subscribe($$self,imageSelectionRectPresentation,value=>$$invalidate(38,$imageSelectionRectPresentation=value));let stageRectPrev;const calculateImageSelectionRect=rect=>{if(isOverlayModeEnabled&&stageRectPrev&&rectEqual(stageRectPrev,rect))return;stageRectPrev=rect;const imageCropRectFitsStage=$imageCropRect.width<=rect.width&&$imageCropRect.height<=rect.height;const centeredImageSelectionRect=imageCropRectFitsStage?rectCenterRect(rect,rectMultiply(rectClone($imageCropRect),$stageScalar||1)):rectContainRect(rect,rectAspectRatio($imageCropRect||$imageSize));imageSelectionRect.set(centeredImageSelectionRect)};let hasSetInitialStageScalar=false;const stageScalarUnsub=stageScalar.subscribe(scalar=>{if(hasSetInitialStageScalar||scalar===undefined||!$imageCropRect)return;calculateImageSelectionRect($stageRect);hasSetInitialStageScalar=true});const stageRectUnsub=stageRect.subscribe(rect=>{if(!rect||$stageScalar===undefined||!$imageCropRect)return;calculateImageSelectionRect(rect)});let presentationScalarSnapshot;const imageSelectionRectSnapshotUnsub=imageSelectionRectSnapshot.subscribe(rect=>{if(!rect){presentationScalarSnapshot=undefined;set_store_value(imageCropRectSnapshot,$imageCropRectSnapshot=undefined,$imageCropRectSnapshot);return}presentationScalarSnapshot=$presentationScalar;const cropRectClone=rectClone($imageCropRect);imageCropRectSnapshot.set(cropRectClone)});const imageSelectionRectUnsub=imageSelectionRect.subscribe(rect=>{if(!rect||!$imageSelectionRectSnapshot)return;const offset=rectSubtract(rectClone(rect),$imageSelectionRectSnapshot);rectDivide(offset,presentationScalarSnapshot);const crop=rectAdd(rectClone($imageCropRectSnapshot),offset);imageCropRect.set(crop)});const imageCropRectUnsub=imageCropRect.subscribe(rect=>{if($isInteracting||$imageSelectionRectSnapshot||$imageCropRectIntent)return;if(!rect||!$imageSelectionRect)return;const imageSelectionRectAspectRatio=rectAspectRatio($imageSelectionRect);const cropRectAspectRatio=rectAspectRatio(rect);if(fixPrecision(imageSelectionRectAspectRatio,6)===fixPrecision(cropRectAspectRatio,6))return;const scalar=Math.min($stageRect.width/$imageCropRect.width,$stageRect.height/$imageCropRect.height);const size=sizeCreate(rect.width*scalar,rect.height*scalar);const tx=($imageSelectionRect.width-size.width)*.5;const ty=($imageSelectionRect.height-size.height)*.5;const selectionRect=rectCreate($imageSelectionRect.x+tx,$imageSelectionRect.y+ty,size.width,size.height);imageSelectionRect.set(selectionRect)});const imageScalar=derived([stageScalar,imageCropRect,imageSelectionRect],([$stageScalar,$imageCropRect,$imageSelectionRect],set)=>{if(!$stageScalar||!$imageCropRect||!$imageSelectionRect)return;const selectionScaledWidth=$imageSelectionRect.width/$imageCropRect.width;const selectionScaledHeight=$imageSelectionRect.height/$imageCropRect.height;let scalar=Math.max(selectionScaledWidth,selectionScaledHeight)/$stageScalar;set(scalar)});const presentationScalar=derived([stageScalar,imageScalar],([$stageScalar,$imageScalar],set)=>{if(!$imageScalar)return;const scalar=$stageScalar*$imageScalar;set(scalar)});component_subscribe($$self,presentationScalar,value=>$$invalidate(304,$presentationScalar=value));const imageOutlineOpacity=spring(.075,{stiffness:.03,damping:.4,precision:.001});const imageVisualBounds=derived([imageSelectionRectPresentation,framePadding],([$rect,$padding],set)=>{if(!$rect)return;let{x,y,width,height}=$rect;let{left,right,top,bottom}=$padding;if(utilSelected===\"resize\"){const visualSize=$imageOutputSize||$imageCropRect;const scalar=visualSize.width/$imageSelectionRect.width||visualSize.height/$imageSelectionRect.height;left*=scalar;right*=scalar;top*=scalar;bottom*=scalar}set({x:x-left,y:y-right,width:width+left+right,height:height+top+bottom})});component_subscribe($$self,imageVisualBounds,value=>$$invalidate(194,$imageVisualBounds=value));const imageOutline=derived([rootLineColor,imageOutlineOpacity,imageSelectionRectPresentation,imageFrame,framePadded,framePadding],([$rootLineColor,$colorOpacity,$rect,$imageFrame,$framePadded,$framePadding],set)=>{if(!$rect||isOverlayModeEnabled)return set([]);let{x,y,width,height}=$rect;x+=.5;y+=.5;width-=.5;height-=.5;const shapes=[];if($framePadded){if($colorOpacity>.1){shapes.push({x:x,y:y,width:width-.5,height:height-.5,strokeWidth:1,strokeColor:$rootLineColor,opacity:$colorOpacity})}let{left,right,top,bottom}=$framePadding;if(utilSelected===\"resize\"){const visualSize=$imageOutputSize||$imageCropRect;const scalar=visualSize.width/$imageSelectionRect.width||visualSize.height/$imageSelectionRect.height;left*=scalar;right*=scalar;top*=scalar;bottom*=scalar}set([...shapes,{x:x-left,y:y-right,width:width+left+right,height:height+top+bottom,strokeWidth:1,strokeColor:$rootLineColor,opacity:.05}]);return}const isDarkLine=isDarkColor($rootLineColor);const isDarkFrame=$imageFrame&&$imageFrame.frameColor&&isDarkColor($imageFrame.frameColor);if(isDarkLine&&isDarkFrame||!isDarkLine&&!isDarkLine){const shadeColor=isDarkLine?[1,1,1,.3]:[0,0,0,.075];shapes.push({x:x,y:y,width:width,height:height,strokeWidth:3.5,strokeColor:shadeColor,opacity:$colorOpacity})}set([...shapes,{x:x,y:y,width:width,height:height,strokeWidth:1,strokeColor:$rootLineColor,opacity:$colorOpacity}])});const imageOverlayMarkup=writable([]);component_subscribe($$self,imageOverlayMarkup,value=>$$invalidate(205,$imageOverlayMarkup=value));const imageOverlay=derived([imageOutline,imageOverlayMarkup],([$imageOutline,$imageOverlayMarkup],set)=>{set([...$imageOutline,...$imageOverlayMarkup])});component_subscribe($$self,imageOverlay,value=>$$invalidate(56,$imageOverlay=value));const getOverlayGradient=(width,height,color)=>{const ctx=h(\"canvas\",{width:Math.max(1,width),height:Math.max(1,height)}).getContext(\"2d\");let gradient=ctx.createLinearGradient(0,0,width,height);[[0,0],[.013,.081],[.049,.155],[.104,.225],[.175,.29],[.259,.353],[.352,.412],[.45,.471],[.55,.529],[.648,.588],[.741,.647],[.825,.71],[.896,.775],[.951,.845],[.987,.919],[1,1]].forEach(([o,s])=>gradient.addColorStop(s,`rgba(${color[0]*255}, ${color[1]*255}, ${color[2]*255}, ${o})`));ctx.fillStyle=gradient;ctx.fillRect(0,0,ctx.canvas.width,ctx.canvas.height);gradient=undefined;return ctx.canvas};const calculateImageTargetSize=(outputSize,cropRect)=>{let{width,height}=outputSize;const aspectRatio=rectAspectRatio(cropRect);if(width&&height)return outputSize;if(width&&!height){height=width/aspectRatio}if(height&&!width){width=height*aspectRatio}if(!width&&!height){width=cropRect.width;height=cropRect.height}return sizeApply(sizeCreate(width,height),Math.round)};const overlayInset=spring(40);component_subscribe($$self,overlayInset,value=>$$invalidate(193,$overlayInset=value));const overlaySize=spring(70);component_subscribe($$self,overlaySize,value=>$$invalidate(196,$overlaySize=value));const overlayLeftOpacity=spring(0);component_subscribe($$self,overlayLeftOpacity,value=>$$invalidate(201,$overlayLeftOpacity=value));const overlayRightOpacity=spring(0);component_subscribe($$self,overlayRightOpacity,value=>$$invalidate(203,$overlayRightOpacity=value));const overlayTopOpacity=spring(0);component_subscribe($$self,overlayTopOpacity,value=>$$invalidate(197,$overlayTopOpacity=value));const overlayBottomOpacity=spring(0);component_subscribe($$self,overlayBottomOpacity,value=>$$invalidate(199,$overlayBottomOpacity=value));let gradientOverlayHorizontal;let gradientOverlayVertical;const rootBackgroundColorUnsub=rootBackgroundColor.subscribe(color=>{if(!color)return;if(gradientOverlayHorizontal)releaseCanvas(gradientOverlayHorizontal);if(gradientOverlayVertical)releaseCanvas(gradientOverlayVertical);$$invalidate(174,gradientOverlayHorizontal=getOverlayGradient(16,0,color));$$invalidate(174,gradientOverlayHorizontal.dataset.retain=1,gradientOverlayHorizontal);$$invalidate(175,gradientOverlayVertical=getOverlayGradient(0,16,color));$$invalidate(175,gradientOverlayVertical.dataset.retain=1,gradientOverlayVertical)});const imageVisualLoadComplete=writable(false);component_subscribe($$self,imageVisualLoadComplete,value=>$$invalidate(246,$imageVisualLoadComplete=value));const imagePreviewSource=writable();component_subscribe($$self,imagePreviewSource,value=>$$invalidate(208,$imagePreviewSource=value));const createImagePreviewLoader=(src,token)=>new Promise((resolve,reject)=>{const minPreviewLoaderDuration=activeImages.length?0:250;let cancelled=false;let timer;token.cancel=()=>cancelled=true;const now=Date.now();imageSourceToImageData(src).then(imageData=>{const dist=Date.now()-now;clearTimeout(timer);timer=setTimeout(()=>{if(cancelled)return;resolve(imageData)},Math.max(0,minPreviewLoaderDuration-dist))}).catch(reject)});let imagePreviewLoaderCancelToken;const imagePreview=derived([imageVisualLoadComplete,imagePreviewSource],([$imageVisualLoadComplete,$imagePreviewSource],set)=>{if(!$imageVisualLoadComplete||!$imagePreviewSource){set(undefined);return}if(imagePreviewLoaderCancelToken){imagePreviewLoaderCancelToken.cancel();$$invalidate(176,imagePreviewLoaderCancelToken=undefined)}if(isCanvas($imagePreviewSource)){return set(canvasClone($imagePreviewSource))}$$invalidate(176,imagePreviewLoaderCancelToken={cancel:noop$1});createImagePreviewLoader($imagePreviewSource,imagePreviewLoaderCancelToken).then(set).catch(err=>{set_store_value(imageLoadState,$imageLoadState.error=err,$imageLoadState)}).finally(()=>{$$invalidate(176,imagePreviewLoaderCancelToken=undefined)})});$$subscribe_imagePreview();let{imagePreviewCurrent=undefined}=$$props;const imagePreviewModifiers=writable({});component_subscribe($$self,imagePreviewModifiers,value=>$$invalidate(238,$imagePreviewModifiers=value));const interfaceImages=writable([]);component_subscribe($$self,interfaceImages,value=>$$invalidate(51,$interfaceImages=value));const resetPreviews=()=>interfaceImages.set([]);const imageTransforms=derived([stageRect,rootRect,imageSize,imageCropRectPresentation,imageSelectionRect,presentationScalar,imageRotation,imageFlipX,imageFlipY,imageOutputSize],([$stageRect,$rootRect,$imageSize,$imageCropRectPresentation,$imageSelectionRect,$presentationScalar,$imageRotation,$imageFlipX,$imageFlipY,$imageOutputSize],set)=>{if(!$stageRect)return;if(utilSelected===\"resize\"){const visualSize=$imageOutputSize||$imageCropRectPresentation;$presentationScalar=visualSize.width/$imageCropRectPresentation.width||visualSize.height/$imageCropRectPresentation.height}set(calculateImageTransforms($stageRect,$rootRect,$imageSize,$imageCropRectPresentation,$imageSelectionRect,$presentationScalar,0,0,$imageRotation,$imageFlipX,$imageFlipY))});component_subscribe($$self,imageTransforms,value=>$$invalidate(237,$imageTransforms=value));const imageEffects=derived([imageColorMatrix,imageConvolutionMatrix,imageGamma,imageVignette,imageNoise],([$colorMatrix,$convolutionMatrix,$gamma,$vignette,$noise],set)=>{const colorMatrices=$colorMatrix&&Object.keys($colorMatrix).map(name=>$colorMatrix[name]).filter(Boolean);const effects={gamma:$gamma||undefined,vignette:$vignette||undefined,noise:$noise||undefined,convolutionMatrix:$convolutionMatrix||undefined,colorMatrix:colorMatrices&&colorMatrices.length&&getColorMatrixFromColorMatrices(colorMatrices)};set(effects)});let windowWidth;let windowHeight;const shouldPreventSwipe=canPreventNavSwipe();const env=writable({});component_subscribe($$self,env,value=>$$invalidate(234,$env=value));const initialPixelRatio=getDevicePixelRatio();const pixelRatio=readable(initialPixelRatio,set=>{const handleResolutionChange=()=>set(getDevicePixelRatio());const resolutionObserver=matchMedia(`(resolution: ${initialPixelRatio}dppx)`);resolutionObserver.addListener(handleResolutionChange);return()=>resolutionObserver.removeListener(handleResolutionChange)});component_subscribe($$self,pixelRatio,value=>$$invalidate(47,$pixelRatio=value));const shouldAnimate=writable();component_subscribe($$self,shouldAnimate,value=>$$invalidate(18,$shouldAnimate=value));const history=historyCreate(()=>{return $imageState},state=>{set_store_value(imageState,$imageState=state,$imageState);tabRect.set($tabRect)});$$subscribe_history();const setInitialHistoryState=()=>{const baseRect={x:0,y:0,...$imageSize};const baseCropRect=rectApply(rectContainRect(baseRect,$imageState.cropAspectRatio),Math.round);const baseEditorState=willSetHistoryInitialState({...$imageState,rotation:0,crop:baseCropRect},$imageState);const editorInitialHistoryState=[baseEditorState];if(JSON.stringify(baseEditorState)!==JSON.stringify($imageState)){editorInitialHistoryState.push({...$imageState})}history.set(editorInitialHistoryState)};const imageLoadStateUnsub=imageLoadState.subscribe(state=>{if(!state||!state.complete)return;setInitialHistoryState()});const revert=()=>willRevert().then(shouldReset=>shouldReset&&history.revert());const imageProcessingPreparing=writable(false);component_subscribe($$self,imageProcessingPreparing,value=>$$invalidate(215,$imageProcessingPreparing=value));const handleExport=()=>{set_store_value(imageProcessingPreparing,$imageProcessingPreparing=true,$imageProcessingPreparing);willProcessImage().then(shouldProcess=>{if(!shouldProcess){set_store_value(imageProcessingPreparing,$imageProcessingPreparing=false,$imageProcessingPreparing);return}let unsub;unsub=statusOpacity.subscribe(value=>{if(value!==1)return;unsub&&unsub();dispatch(\"processImage\")})})};const imageProcessStateUnsub=imageProcessState.subscribe(state=>{if(!state)return;set_store_value(imageProcessingPreparing,$imageProcessingPreparing=true,$imageProcessingPreparing);const{complete,abort}=state;if(complete||abort)set_store_value(imageProcessingPreparing,$imageProcessingPreparing=false,$imageProcessingPreparing)});const utilStores={...stores,imageFile:imageFile,imageSize:imageSize,imageBackgroundColor:imageBackgroundColor,imageCropAspectRatio:imageCropAspectRatio,imageCropMinSize:imageCropMinSize,imageCropMaxSize:imageCropMaxSize,imageCropLimitToImage:imageCropLimitToImage,imageCropRect:imageCropRect,imageCropRectOrigin:imageCropRectOrigin,imageCropRectSnapshot:imageCropRectSnapshot,imageCropRectAspectRatio:imageCropRectAspectRatio,imageCropRange:imageCropRange,imageRotation:imageRotation,imageRotationRange:imageRotationRange,imageFlipX:imageFlipX,imageFlipY:imageFlipY,imageOutputSize:imageOutputSize,imageColorMatrix:imageColorMatrix,imageConvolutionMatrix:imageConvolutionMatrix,imageGamma:imageGamma,imageVignette:imageVignette,imageNoise:imageNoise,imageDecoration:imageDecoration,imageAnnotation:imageAnnotation,imageRedaction:imageRedaction,imageFrame:imageFrame,imagePreview:imagePreview,imagePreviewSource:imagePreviewSource,imageTransforms:imageTransforms,imagePreviewModifiers:imagePreviewModifiers,history:history,animation:shouldAnimate,pixelRatio:pixelRatio,elasticityMultiplier:elasticityMultiplier,scrollElasticity:scrollElasticity,rangeInputElasticity:rangeInputElasticity,pointerAccuracy:pointerAccuracy,pointerHoverable:pointerHoverable,env:env,rootRect:rootRect,stageRect:stageRect,stageScalar:stageScalar,framePadded:framePadded,utilRect:utilRect,presentationScalar:presentationScalar,rootBackgroundColor:rootBackgroundColor,rootForegroundColor:rootForegroundColor,rootLineColor:rootLineColor,rootColorSecondary:rootColorSecondary,imageOutlineOpacity:imageOutlineOpacity,imageOverlayMarkup:imageOverlayMarkup,interfaceImages:interfaceImages,isInteracting:isInteracting,isInteractingFraction:isInteractingFraction,imageCropRectIntent:imageCropRectIntent,imageCropRectPresentation:imageCropRectPresentation,imageSelectionRect:imageSelectionRect,imageSelectionRectIntent:imageSelectionRectIntent,imageSelectionRectPresentation:imageSelectionRectPresentation,imageSelectionRectSnapshot:imageSelectionRectSnapshot,imageScalar:imageScalar};delete utilStores.image;const utilsUniqueId=`util-${getUniqueId()}`;let utilsVisible=[];let iOS=isIOS();const getOrientation=(rect,layoutPreference)=>{if(!$rootRect)return\"landscape\";if(layoutPreference===\"auto\")return rect.width>rect.height?\"landscape\":\"portrait\";if(layoutPreference===\"horizontal\")return rect.width<500?\"portrait\":\"landscape\";if(layoutPreference===\"vertical\")return rect.height<400?\"landscape\":\"portrait\"};const getColorPropertyValue=name=>{const colorString=rootElementComputedStyle.getPropertyValue(name);return colorStringToColorArray(colorString)};const syncColor=(property,store)=>{const colorArray=getColorPropertyValue(property);if(!colorArray||colorArray[3]===0)return;colorArray.length=3;store.set(colorArray)};const syncColors=()=>{syncColor(\"color\",rootForegroundColor);syncColor(\"background-color\",rootBackgroundColor);syncColor(\"outline-color\",rootLineColor);syncColor(\"--color-secondary\",rootColorSecondary)};const handleTransitionEnd=({target,propertyName})=>{if(target!==root||!/background|outline/.test(propertyName))return;syncColors()};const imageProps=derived([imageTransforms,imageEffects,imageBackgroundColor],([$imageTransforms,$imageEffects,backgroundColor])=>{return $imageTransforms&&{...$imageTransforms,...$imageEffects,backgroundColor:backgroundColor}});component_subscribe($$self,imageProps,value=>$$invalidate(240,$imageProps=value));const activeImages=storeList();component_subscribe($$self,activeImages,value=>$$invalidate(22,$activeImages=value));const addImagePreview=()=>{const imageIntro=activeImages.length?undefined:{resize:1.05};const image=createImage($imagePreview,$imageSize,imageIntro);activeImages.unshift(image);updateImagePreviews($imageProps)};const updateImagePreviews=currentImageProps=>{activeImages.forEach((image,index)=>{const opacity=index===0?1:0;const resize=1;image.set({...currentImageProps,opacity:opacity,resize:resize},$shouldAnimate)})};let lastImagePreview;const positionDecorationShape=(shape,canvasState)=>{const context={width:$imageSelectionRectPresentation.width/canvasState.scale,height:$imageSelectionRectPresentation.height/canvasState.scale};return shapeComputeDisplay(shape,context)};const transformDecorationShape=(shape,canvasState)=>{shape._translate=vectorCreateFromAny($imageSelectionRectPresentation);shape._scale=canvasState.scale;return shape};const flattenShapes=shapes=>{const flattenedShapes=[];shapes.forEach(shape=>flattenedShapes.push(flattenShape(shape)));return flattenedShapes.filter(Boolean)};const flattenShape=shape=>{if(shapeIsLine(shape)){shape.points=[vectorCreate(shape.x1,shape.y1),vectorCreate(shape.x2,shape.y2)];return shape}if(shapeIsTriangle(shape)){shape.points=[vectorCreate(shape.x1,shape.y1),vectorCreate(shape.x2,shape.y2),vectorCreate(shape.x3,shape.y3)];return shape}if(shapeIsTextEmpty(shape)){if(shapeIsTextLine(shape)){shape.width=5;shape.height=shape.lineHeight}shape.strokeWidth=1;shape.strokeColor=[1,1,1,.5];shape.backgroundColor=[0,0,0,.1];return shape}return shape};const statusOpacity=tweened(undefined,{duration:500});component_subscribe($$self,statusOpacity,value=>$$invalidate(25,$statusOpacity=value));let loadTimer;const wasProcessingImage=writable(false);component_subscribe($$self,wasProcessingImage,value=>$$invalidate(258,$wasProcessingImage=value));let statusState;const asideOffset=spring(undefined,{stiffness:.1,damping:.7,precision:.25});component_subscribe($$self,asideOffset,value=>$$invalidate(43,$asideOffset=value));const asideOpacity=spring(0,{stiffness:.1,precision:.05});component_subscribe($$self,asideOpacity,value=>$$invalidate(44,$asideOpacity=value));const asideWidth=spring(0,{stiffness:.02,damping:.5,precision:.25});component_subscribe($$self,asideWidth,value=>$$invalidate(262,$asideWidth=value));const statusWidth=spring(undefined,{stiffness:.02,damping:.5,precision:.25});component_subscribe($$self,statusWidth,value=>$$invalidate(260,$statusWidth=value));const statusOffset=spring(undefined,{stiffness:.02,damping:.5,precision:.25});component_subscribe($$self,statusOffset,value=>$$invalidate(263,$statusOffset=value));let asideWidthUpdateTimer;const offsetAside=e=>{const hard=!!(statusState&&statusState.closeButton);statusWidth.set(e.detail.width,{hard:hard});statusOffset.set(Math.round(-e.detail.width*.5),{hard:hard})};const handleCloseImageLoadError=()=>{dispatch(\"abortLoadImage\")};const handleCloseImageProcessError=()=>{dispatch(\"abortProcessImage\");set_store_value(imageProcessingPreparing,$imageProcessingPreparing=false,$imageProcessingPreparing)};const preventDefault=e=>e.preventDefault();const handleTouchStart=shouldPreventSwipe?e=>{const event=e.touches?e.touches[0]:e;if(event.pageX>10&&event.pageX$$invalidate(307,$pressedKeysStore=value));setContext(\"keysPressed\",pressedKeysStore);const handleKeydown=e=>{const{keyCode,metaKey,ctrlKey,shiftKey}=e;if(keyCode===9&&disabled){e.preventDefault();return}if(keyCode===90&&(metaKey||ctrlKey)){if(shiftKey&&metaKey){history.redo()}else{history.undo()}return}else if(keyCode===89&&ctrlKey){history.redo();return}if(keyCode===229)return;if(metaKey||ctrlKey)return;const keySet=new Set([...$pressedKeysStore,keyCode]);pressedKeysStore.set(Array.from(keySet))};const handleKeyup=({keyCode})=>{pressedKeysStore.set($pressedKeysStore.filter(pressedKey=>pressedKey!==keyCode))};const handleWindowBlur=()=>{pressedKeysStore.set([])};const handleContextMenu=e=>{if(isTextField(e.target))return;e.preventDefault()};const handleUserFile=file=>{if(!file||isBinary(file)&&!isBitmap(file)||!isBinary(file)&&!/^http/.test(file))return;dispatch(\"loadImage\",file)};const handleDropFiles=e=>{if(!enableDropImage)return;handleUserFile(e.detail.resources[0])};const handleSelectFile=file=>{if(!file)return;handleUserFile(file)};const browseFileSystem=()=>{if(!enableBrowseImage)return;browse().then(handleSelectFile)};const handlePaste=e=>{if(!enablePasteImage)return;const xPercentage=clamp((windowWidth-Math.abs($rootRect.x))/$rootRect.width,0,1);const yPercentage=clamp((windowHeight-Math.abs($rootRect.y))/$rootRect.height,0,1);if(xPercentage<.75&&yPercentage<.75)return;handleUserFile((e.clipboardData||window.clipboardData).files[0])};let scrambledPreviewImage=undefined;const updateScrambledPreview=(imagePreviewData,imageScrambler,imageRedactionScalar,imageBackgroundColor)=>{if(!imageScrambler)return;const editorOptions={dataSizeScalar:imageRedactionScalar};if(imageBackgroundColor&&imageBackgroundColor[3]>0){editorOptions.backgroundColor=[...imageBackgroundColor]}imageScrambler(imagePreviewData,editorOptions).then(scrambledCanvas=>{if(scrambledPreviewImage)releaseCanvas(scrambledPreviewImage);$$invalidate(180,scrambledPreviewImage=scrambledCanvas)})};let blendShapes=[];const getStageState=()=>({foregroundColor:[...$rootForegroundColor],lineColor:[...$rootLineColor],utilVisibility:{...utilsVisibleFraction},isInteracting:$isInteracting,isInteractingFraction:$isInteractingFraction,rootRect:rectClone($rootRect),stageRect:rectClone($stageRect),selectionRect:rectClone($imageSelectionRectPresentation)});const createCanvasState=(canvasState,blendShapes,annotationShapes,decorationShapes,interfaceShapes,frameShapes)=>({blendShapes:blendShapes.filter(shapeIsVisible).map(shape=>shapeComputeDisplay(shape,$imageSize)),annotationShapes:flattenShapes(annotationShapes.filter(shapeIsVisible).map(shapeDeepCopy).map(shape=>shapeComputeDisplay(shape,$imageSize)).map(preprocessShape).flat()),decorationShapes:flattenShapes(decorationShapes.filter(shapeIsVisible).map(shapeDeepCopy).map(shape=>positionDecorationShape(shape,canvasState)).map(preprocessShape).flat().map(shape=>transformDecorationShape(shape,canvasState))),interfaceShapes:flattenShapes(interfaceShapes.filter(shapeIsVisible)),frameShapes:flattenShapes(frameShapes.map(shapeDeepCopy).map(shape=>positionDecorationShape(shape,canvasState)).map(preprocessShape).flat().map(shape=>transformDecorationShape(shape,canvasState)))});let rootPortal;const rootPortalStore=writable();setContext(\"rootPortal\",rootPortalStore);setContext(\"rootRect\",rootRect);onDestroy(()=>{imageStateUnsub();stageRectUnsub();stageScalarUnsub();imageSelectionRectSnapshotUnsub();imageSelectionRectUnsub();imageCropRectUnsub();rootBackgroundColorUnsub();imageLoadStateUnsub();imageProcessStateUnsub();pointerAccuracy.destroy();pointerHoverable.destroy();imageProxy.destroy();activeImages.clear();$$invalidate(144,imagePreviewCurrent=undefined);$$invalidate(177,lastImagePreview=undefined);if(gradientOverlayHorizontal){releaseCanvas(gradientOverlayHorizontal);$$invalidate(174,gradientOverlayHorizontal=undefined)}if(gradientOverlayVertical){releaseCanvas(gradientOverlayVertical);$$invalidate(175,gradientOverlayVertical=undefined)}});function onwindowresize(){$$invalidate(11,windowWidth=window_1$1.innerWidth);$$invalidate(12,windowHeight=window_1$1.innerHeight)}const measure_handler=e=>set_store_value(toolRect,$toolRect=e.detail,$toolRect);const select_handler=({detail})=>$$invalidate(19,utilSelected=detail);const func=(panel,util)=>util.id===panel;function panel_component_binding(value,panel){if($$self.$$.not_equal(pluginInterface[panel],value)){pluginInterface[panel]=value;$$invalidate(0,pluginInterface),$$invalidate(7,pluginOptions),$$invalidate(171,pluginComponents)}}const measure_handler_1=e=>set_store_value(utilRect,$utilRect=e.detail,$utilRect);const show_handler=panel=>$$invalidate(28,utilsVisible=utilsVisible.concat(panel));const hide_handler=panel=>$$invalidate(28,utilsVisible=utilsVisible.filter(util=>util!==panel));const fade_handler=(panel,{detail})=>$$invalidate(21,utilsVisibleFraction[panel]=detail,utilsVisibleFraction);const measure_handler_2=e=>set_store_value(tabRect,$tabRect=e.detail,$tabRect);const func_1=util=>util.id===utilSelected;function panel_component_binding_1(value){if($$self.$$.not_equal(pluginInterface[utilSelected],value)){pluginInterface[utilSelected]=value;$$invalidate(0,pluginInterface),$$invalidate(7,pluginOptions),$$invalidate(171,pluginComponents)}}const measure_handler_3=e=>set_store_value(utilRect,$utilRect=e.detail,$utilRect);const show_handler_1=()=>$$invalidate(28,utilsVisible=utilsVisible.concat(utilSelected));const hide_handler_1=()=>$$invalidate(28,utilsVisible=utilsVisible.filter(util=>util!==utilSelected));const fade_handler_1=({detail})=>$$invalidate(21,utilsVisibleFraction[utilSelected]=detail,utilsVisibleFraction);const func_2=canvasState=>{const drawState={...canvasState,...getStageState()};const{annotationShapes,decorationShapes,interfaceShapes,frameShapes}=willRenderCanvas({annotationShapes:$imageAnnotation,decorationShapes:$imageDecoration,frameShapes:$imageFrame?[$imageFrame]:[],interfaceShapes:$imageOverlay},drawState);return createCanvasState(drawState,blendShapes,annotationShapes,decorationShapes,interfaceShapes,frameShapes)};function div_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{rootPortal=$$value;$$invalidate(14,rootPortal)})}function div_binding_1($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{root=$$value;$$invalidate(1,root)})}const measure_handler_4=e=>set_store_value(clientRect,$clientRect=e.detail,$clientRect);$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(145,klass=$$props.class);if(\"layout\"in $$props)$$invalidate(146,layoutMode=$$props.layout);if(\"stores\"in $$props)$$invalidate(147,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(2,locale=$$props.locale);if(\"id\"in $$props)$$invalidate(3,id=$$props.id);if(\"util\"in $$props)$$invalidate(148,util=$$props.util);if(\"utils\"in $$props)$$invalidate(149,utils=$$props.utils);if(\"animations\"in $$props)$$invalidate(150,animations=$$props.animations);if(\"disabled\"in $$props)$$invalidate(151,disabled=$$props.disabled);if(\"status\"in $$props)$$invalidate(143,status=$$props.status);if(\"previewUpscale\"in $$props)$$invalidate(152,previewUpscale=$$props.previewUpscale);if(\"elasticityMultiplier\"in $$props)$$invalidate(4,elasticityMultiplier=$$props.elasticityMultiplier);if(\"willRevert\"in $$props)$$invalidate(153,willRevert=$$props.willRevert);if(\"willProcessImage\"in $$props)$$invalidate(154,willProcessImage=$$props.willProcessImage);if(\"willRenderCanvas\"in $$props)$$invalidate(5,willRenderCanvas=$$props.willRenderCanvas);if(\"willRenderToolbar\"in $$props)$$invalidate(155,willRenderToolbar=$$props.willRenderToolbar);if(\"willSetHistoryInitialState\"in $$props)$$invalidate(156,willSetHistoryInitialState=$$props.willSetHistoryInitialState);if(\"enableButtonExport\"in $$props)$$invalidate(157,enableButtonExport=$$props.enableButtonExport);if(\"enableButtonRevert\"in $$props)$$invalidate(158,enableButtonRevert=$$props.enableButtonRevert);if(\"enableNavigateHistory\"in $$props)$$invalidate(159,enableNavigateHistory=$$props.enableNavigateHistory);if(\"enableToolbar\"in $$props)$$invalidate(6,enableToolbar=$$props.enableToolbar);if(\"enableUtils\"in $$props)$$invalidate(160,enableUtils=$$props.enableUtils);if(\"enableButtonClose\"in $$props)$$invalidate(161,enableButtonClose=$$props.enableButtonClose);if(\"enableDropImage\"in $$props)$$invalidate(162,enableDropImage=$$props.enableDropImage);if(\"enablePasteImage\"in $$props)$$invalidate(163,enablePasteImage=$$props.enablePasteImage);if(\"enableBrowseImage\"in $$props)$$invalidate(164,enableBrowseImage=$$props.enableBrowseImage);if(\"previewImageDataMaxSize\"in $$props)$$invalidate(165,previewImageDataMaxSize=$$props.previewImageDataMaxSize);if(\"layoutDirectionPreference\"in $$props)$$invalidate(166,layoutDirectionPreference=$$props.layoutDirectionPreference);if(\"layoutHorizontalUtilsPreference\"in $$props)$$invalidate(167,layoutHorizontalUtilsPreference=$$props.layoutHorizontalUtilsPreference);if(\"layoutVerticalUtilsPreference\"in $$props)$$invalidate(168,layoutVerticalUtilsPreference=$$props.layoutVerticalUtilsPreference);if(\"imagePreviewSrc\"in $$props)$$invalidate(169,imagePreviewSrc=$$props.imagePreviewSrc);if(\"imageOrienter\"in $$props)$$invalidate(170,imageOrienter=$$props.imageOrienter);if(\"pluginComponents\"in $$props)$$invalidate(171,pluginComponents=$$props.pluginComponents);if(\"pluginOptions\"in $$props)$$invalidate(7,pluginOptions=$$props.pluginOptions);if(\"root\"in $$props)$$invalidate(1,root=$$props.root);if(\"imageSourceToImageData\"in $$props)$$invalidate(8,imageSourceToImageData=$$props.imageSourceToImageData);if(\"imagePreviewCurrent\"in $$props)$$invalidate(144,imagePreviewCurrent=$$props.imagePreviewCurrent)};$$self.$$.update=()=>{if($$self.$$.dirty[4]&4194304){$$invalidate(181,isOverlayModeEnabled=layoutMode===\"overlay\")}if($$self.$$.dirty[5]&67108896){$$invalidate(15,showUtils=enableUtils&&!isOverlayModeEnabled)}if($$self.$$.dirty[0]&129){if(pluginOptions){Object.entries(pluginOptions).forEach(([name,plugin])=>{Object.entries(plugin).forEach(([prop,value])=>{if(!pluginInterface[name])return;$$invalidate(0,pluginInterface[name][prop]=value,pluginInterface)})})}}if($$self.$$.dirty[0]&1|$$self.$$.dirty[5]&65536){{let changed=false;pluginComponents.forEach(([key])=>{if(pluginInterface[key])return;$$invalidate(0,pluginInterface[key]={},pluginInterface);changed=true});if(changed){$$invalidate(173,registeredPluginsComponents=[...pluginComponents])}}}if($$self.$$.dirty[4]&134217728){disabledTransition.set(disabled?1:0)}if($$self.$$.dirty[5]&1024){maxImageDataSize=previewImageDataMaxSize?sizeMin(previewImageDataMaxSize,maxTextureSize):maxTextureSize}if($$self.$$.dirty[5]&134217728){imageProxy.update($images[0])}if($$self.$$.dirty[5]&268435456){preprocessShape=$shapePreprocessor?shape=>$shapePreprocessor(shape,{isPreview:true}):passthrough}if($$self.$$.dirty[0]&65536){$clientRect&&rootRect.set(rectCreate($clientRect.x,$clientRect.y,$clientRect.width,$clientRect.height))}if($$self.$$.dirty[5]&1677721600){$rootRect&&isOverlayModeEnabled&&$imageLoadState&&$imageLoadState.complete&&syncRootAspectRatio()}if($$self.$$.dirty[0]&4|$$self.$$.dirty[4]&33554432|$$self.$$.dirty[5]&262144){$$invalidate(188,utilsFiltered=locale&®isteredPluginsComponents.length?utils||registeredPluginsComponents.map(([id])=>id):[])}if($$self.$$.dirty[6]&4){$$invalidate(17,shouldRenderTabs=utilsFiltered.length>1)}if($$self.$$.dirty[0]&131072){if(!shouldRenderTabs)tabRect.set(rectCreateEmpty())}if($$self.$$.dirty[0]&64){if(!enableToolbar)toolRect.set(rectCreateEmpty())}if($$self.$$.dirty[4]&268435456|$$self.$$.dirty[5]&67108864){previewShouldUpscale.set(previewUpscale||isOverlayModeEnabled)}if($$self.$$.dirty[5]&262144|$$self.$$.dirty[6]&4){$$invalidate(216,utilsAvailable=registeredPluginsComponents.filter(([id])=>utilsFiltered.includes(id)))}if($$self.$$.dirty[6]&1073741824){$$invalidate(217,utilsDefined=utilsAvailable.length)}if($$self.$$.dirty[4]&16777216|$$self.$$.dirty[6]&4|$$self.$$.dirty[7]&1){$$invalidate(19,utilSelected=util&&typeof util===\"string\"&&utilsFiltered.includes(util)?util:utilsDefined>0?utilsFiltered[0]:undefined)}if($$self.$$.dirty[0]&524288){utilSelected&&imageOutlineOpacity.set(.075)}if($$self.$$.dirty[0]&524288){overlayInset.set(utilSelected===\"resize\"?40:30)}if($$self.$$.dirty[0]&524288){overlaySize.set(utilSelected===\"resize\"?140:70)}if($$self.$$.dirty[6]&17){$$invalidate(192,imageTargetSizeCurrent=$imageCropRect&&calculateImageTargetSize($imageOutputSize||{},$imageCropRect))}if($$self.$$.dirty[6]&456){imageTargetSizeCurrent&&$stageRect&&overlayTopOpacity.set(smoothstep($stageRect.y,$stageRect.y-$overlayInset,$imageVisualBounds.y))}if($$self.$$.dirty[6]&456){imageTargetSizeCurrent&&$stageRect&&overlayRightOpacity.set(smoothstep($stageRect.x+$stageRect.width,$stageRect.x+$stageRect.width+$overlayInset,$imageVisualBounds.x+$imageVisualBounds.width))}if($$self.$$.dirty[6]&456){imageTargetSizeCurrent&&$stageRect&&overlayBottomOpacity.set(smoothstep($stageRect.y+$stageRect.height,$stageRect.y+$stageRect.height+$overlayInset,$imageVisualBounds.y+$imageVisualBounds.height))}if($$self.$$.dirty[6]&456){imageTargetSizeCurrent&&$stageRect&&overlayLeftOpacity.set(smoothstep($stageRect.x,$stageRect.x-$overlayInset,$imageVisualBounds.x))}if($$self.$$.dirty[5]&537919488|$$self.$$.dirty[6]&3072){$$invalidate(195,overlayTop=$rootRect&&{id:STAGE_OVERLAY_ID,x:0,y:0,width:$rootRect.width,height:$overlaySize,rotation:Math.PI,opacity:maxOpacity*$overlayTopOpacity,backgroundImage:gradientOverlayVertical})}if($$self.$$.dirty[5]&537919488|$$self.$$.dirty[6]&9216){$$invalidate(198,overlayBottom=$rootRect&&{id:STAGE_OVERLAY_ID,x:0,y:$rootRect.height-$overlaySize,width:$rootRect.width,height:$overlaySize,opacity:maxOpacity*$overlayBottomOpacity,backgroundImage:gradientOverlayVertical})}if($$self.$$.dirty[5]&537395200|$$self.$$.dirty[6]&33792){$$invalidate(200,overlayLeft=$rootRect&&{id:STAGE_OVERLAY_ID,x:0,y:0,height:$rootRect.height,width:$overlaySize,rotation:Math.PI,opacity:maxOpacity*$overlayLeftOpacity,backgroundImage:gradientOverlayHorizontal})}if($$self.$$.dirty[5]&537395200|$$self.$$.dirty[6]&132096){$$invalidate(202,overlayRight=$rootRect&&{id:STAGE_OVERLAY_ID,x:$rootRect.width-$overlaySize,y:0,height:$rootRect.height,width:$overlaySize,opacity:maxOpacity*$overlayRightOpacity,backgroundImage:gradientOverlayHorizontal})}if($$self.$$.dirty[6]&86528){$$invalidate(204,gradientOverlays=[overlayTop,overlayRight,overlayBottom,overlayLeft].filter(Boolean))}if($$self.$$.dirty[6]&786432){if(gradientOverlays&&$imageOverlayMarkup){const overlayMarkup=$imageOverlayMarkup.filter(markup=>markup.id!==STAGE_OVERLAY_ID);set_store_value(imageOverlayMarkup,$imageOverlayMarkup=[...overlayMarkup,...gradientOverlays],$imageOverlayMarkup)}}if($$self.$$.dirty[5]&16384|$$self.$$.dirty[6]&1048576){imagePreviewSource.set(imagePreviewSrc?imagePreviewSrc:$imageFile||undefined)}if($$self.$$.dirty[0]&2|$$self.$$.dirty[4]&1048576|$$self.$$.dirty[6]&2097152){{$$invalidate(144,imagePreviewCurrent=$imagePreview);if($imagePreview)root.dispatchEvent(createPing(\"loadpreview\",imagePreviewCurrent))}}if($$self.$$.dirty[6]&4194304){if($imagePreviewSource)resetPreviews()}if($$self.$$.dirty[6]&2){$$invalidate(209,canAnimate=!$isInteracting&&!isSoftwareRendering())}if($$self.$$.dirty[6]&33554432){$$invalidate(210,acceptsAnimations=!$prefersReducedMotion)}if($$self.$$.dirty[4]&67108864|$$self.$$.dirty[6]&25165824){set_store_value(shouldAnimate,$shouldAnimate=animations===\"always\"?canAnimate:animations===\"never\"?false:canAnimate&&acceptsAnimations,$shouldAnimate)}if($$self.$$.dirty[6]&134217728){$$invalidate(212,canUndo=$history.index>0)}if($$self.$$.dirty[6]&134217728){$$invalidate(214,canRedo=$history.index<$history.length-1)}if($$self.$$.dirty[0]&4|$$self.$$.dirty[6]&1073741828){$$invalidate(20,utilsMerged=utilsFiltered.map(utilId=>{const util=utilsAvailable.find(([id])=>utilId===id);if(!util)return;return{id:utilId,view:util[1],tabIcon:locale[`${utilId}Icon`],tabLabel:locale[`${utilId}Label`]}}).filter(Boolean)||[])}if($$self.$$.dirty[0]&524288){utilSelectedStore.set(utilSelected)}if($$self.$$.dirty[0]&524289){$$invalidate(218,utilTools=utilSelected&&pluginInterface[utilSelected].tools||[])}if($$self.$$.dirty[0]&3145728){$$invalidate(21,utilsVisibleFraction=utilsMerged.reduce((prev,curr)=>{prev[curr.id]=utilsVisibleFraction&&utilsVisibleFraction[curr.id]||0;return prev},{}))}if($$self.$$.dirty[0]&524288){$$invalidate(31,tabsConfig={name:utilsUniqueId,selected:utilSelected})}if($$self.$$.dirty[0]&1048576){$$invalidate(32,tabs=utilsMerged.map(util=>({id:util.id,icon:util.tabIcon,label:util.tabLabel})))}if($$self.$$.dirty[0]&1048576){$$invalidate(33,panels=utilsMerged.map(util=>util.id))}if($$self.$$.dirty[4]&2097152){$$invalidate(34,className=arrayJoin([\"PinturaRoot\",\"PinturaRootComponent\",klass]))}if($$self.$$.dirty[5]&536870912){$$invalidate(219,horizontalSpace=$rootRect&&($rootRect.width>1e3?\"wide\":$rootRect.width<600?\"narrow\":undefined))}if($$self.$$.dirty[5]&536870912){$$invalidate(220,hasLimitedSpace=$rootRect&&($rootRect.width<=320||$rootRect.height<=460))}if($$self.$$.dirty[5]&536870912){$$invalidate(221,verticalSpace=$rootRect&&($rootRect.height>1e3?\"tall\":$rootRect.height<600?\"short\":undefined))}if($$self.$$.dirty[0]&2){$$invalidate(222,isModal=root&&root.parentNode&&root.parentNode.classList.contains(\"PinturaModal\"))}if($$self.$$.dirty[0]&2048|$$self.$$.dirty[5]&536870912|$$self.$$.dirty[7]&32){$$invalidate(223,isCenteredHorizontally=isModal&&$rootRect&&windowWidth>$rootRect.width)}if($$self.$$.dirty[0]&4096|$$self.$$.dirty[5]&536870912|$$self.$$.dirty[7]&32){$$invalidate(224,isCenteredVertically=isModal&&$rootRect&&windowHeight>$rootRect.height)}if($$self.$$.dirty[7]&192){$$invalidate(225,isCentered=isCenteredHorizontally&&isCenteredVertically)}if($$self.$$.dirty[7]&4){$$invalidate(226,isNarrow=horizontalSpace===\"narrow\")}if($$self.$$.dirty[5]&536872960){$$invalidate(227,orientation=getOrientation($rootRect,layoutDirectionPreference))}if($$self.$$.dirty[7]&1024){$$invalidate(35,isLandscape=orientation===\"landscape\")}if($$self.$$.dirty[7]&528){$$invalidate(228,isCompact=isNarrow||verticalSpace===\"short\")}if($$self.$$.dirty[0]&2048|$$self.$$.dirty[5]&536870912){$$invalidate(229,hasSwipeNavigation=iOS&&$rootRect&&windowWidth===$rootRect.width&&!shouldPreventSwipe)}if($$self.$$.dirty[5]&67108864|$$self.$$.dirty[7]&18){$$invalidate(230,shouldRenderUtilTools=utilTools.length&&(verticalSpace===\"short\"||isOverlayModeEnabled))}if($$self.$$.dirty[5]&4096){$$invalidate(231,navigationHorizontalPreference=`has-navigation-preference-${layoutHorizontalUtilsPreference}`)}if($$self.$$.dirty[5]&8192){$$invalidate(232,navigationVerticalPreference=`has-navigation-preference-${layoutVerticalUtilsPreference}`)}if($$self.$$.dirty[0]&2){$$invalidate(233,rootElementComputedStyle=root&&getComputedStyle(root))}if($$self.$$.dirty[7]&65536){if(rootElementComputedStyle)syncColors()}if($$self.$$.dirty[0]&426048|$$self.$$.dirty[4]&138412032|$$self.$$.dirty[7]&974332){env.set({...$env,layoutMode:layoutMode,orientation:orientation,horizontalSpace:horizontalSpace,verticalSpace:verticalSpace,navigationHorizontalPreference:navigationHorizontalPreference,navigationVerticalPreference:navigationVerticalPreference,isModal:isModal,isDisabled:disabled,isCentered:isCentered,isCenteredHorizontally:isCenteredHorizontally,isCenteredVertically:isCenteredVertically,isAnimated:$shouldAnimate,pointerAccuracy:$pointerAccuracy,pointerHoverable:$pointerHoverable,isCompact:isCompact,hasSwipeNavigation:hasSwipeNavigation,hasLimitedSpace:hasLimitedSpace,hasToolbar:enableToolbar,hasNavigation:shouldRenderTabs&&showUtils,isIOS:iOS})}if($$self.$$.dirty[7]&131072){$$invalidate(36,envStr=Object.entries($env).map(([key,value])=>{if(/^is|has/.test(key)){return value?toKebabCase(key):undefined}return value}).filter(Boolean).join(\" \"))}if($$self.$$.dirty[7]&3145728){$$invalidate(37,imageCanvasState=$imageTransforms&&Object.entries($imagePreviewModifiers).filter(([,value])=>value!=null).reduce((prev,[,value])=>{prev={...prev,...value};return prev},{}))}if($$self.$$.dirty[5]&1073741824){$$invalidate(239,isStartLoadingImageSource=$imageLoadState&&$imageLoadState.task===\"any-to-file\")}if($$self.$$.dirty[7]&4194304){if(isStartLoadingImageSource&&activeImages){activeImages.clear()}}if($$self.$$.dirty[7]&8388608){$$invalidate(241,hasProps=!!$imageProps&&!!$imageProps.translation)}if($$self.$$.dirty[5]&4194304|$$self.$$.dirty[6]&2097152|$$self.$$.dirty[7]&16777216){if(hasProps&&$imagePreview&&$imagePreview!==lastImagePreview){$$invalidate(177,lastImagePreview=$imagePreview);addImagePreview()}}if($$self.$$.dirty[7]&25165824){hasProps&&updateImagePreviews($imageProps)}if($$self.$$.dirty[0]&4194304){if($activeImages&&$activeImages.length>1){let imagesToRemove=[];activeImages.forEach((image,index)=>{if(index===0)return;if(image.get().opacity<=0)imagesToRemove.push(image)});imagesToRemove.forEach(image=>activeImages.remove(image))}}if($$self.$$.dirty[0]&4|$$self.$$.dirty[7]&33554432){$$invalidate(23,isSupportsError=locale&&missingFeatures.length&&locale.labelSupportError(missingFeatures))}if($$self.$$.dirty[5]&1073741824){$$invalidate(243,isImageLoadError=$imageLoadState&&!!$imageLoadState.error)}if($$self.$$.dirty[5]&1073741824){$$invalidate(24,isWaitingForImage=!$imageLoadState||!$imageLoadState.complete&&$imageLoadState.task===undefined)}if($$self.$$.dirty[5]&1073741824){$$invalidate(244,imageLoadProgress=$imageLoadState&&($imageLoadState.taskLengthComputable?$imageLoadState.taskProgress:Infinity))}if($$self.$$.dirty[7]&4194304){if(isStartLoadingImageSource)set_store_value(imageVisualLoadComplete,$imageVisualLoadComplete=false,$imageVisualLoadComplete)}if($$self.$$.dirty[5]&1082130432){if($imageLoadState&&$imageLoadState.complete){const minLoaderDuration=500;clearTimeout(loadTimer);$$invalidate(178,loadTimer=setTimeout(()=>{set_store_value(imageVisualLoadComplete,$imageVisualLoadComplete=true,$imageVisualLoadComplete)},minLoaderDuration))}}if($$self.$$.dirty[0]&16777216|$$self.$$.dirty[5]&1073741824|$$self.$$.dirty[7]&603979776){$$invalidate(245,isLoadingImageData=$imageLoadState&&!isImageLoadError&&!isWaitingForImage&&!$imageVisualLoadComplete)}if($$self.$$.dirty[5]&2097152|$$self.$$.dirty[6]&6291456){$$invalidate(247,isCreatingImagePreview=!!$imagePreviewSource&&(!$imagePreview||!!imagePreviewLoaderCancelToken))}if($$self.$$.dirty[6]&536870912|$$self.$$.dirty[8]&2){$$invalidate(248,isProcessingImage=$imageProcessingPreparing||$imageProcessState&&$imageProcessState.progress!==undefined&&!$imageProcessState.complete)}if($$self.$$.dirty[0]&16777216|$$self.$$.dirty[5]&1073741824){$$invalidate(250,imageLoadShowProgressIndicator=$imageLoadState&&!($imageLoadState.error||isWaitingForImage))}if($$self.$$.dirty[0]&4|$$self.$$.dirty[5]&1073741824){$$invalidate(251,imageLoadStatusLabel=locale&&(!$imageLoadState?locale.statusLabelLoadImage($imageLoadState):!$imageLoadState.complete||$imageLoadState.error?stringReplace(locale.statusLabelLoadImage($imageLoadState),$imageLoadState.error&&$imageLoadState.error.metadata,\"{\",\"}\"):locale.statusLabelLoadImage({progress:Infinity,task:\"blob-to-bitmap\"})))}if($$self.$$.dirty[0]&4|$$self.$$.dirty[8]&2){$$invalidate(252,imageProcessStatusLabel=$imageProcessState&&locale&&locale.statusLabelProcessImage($imageProcessState))}if($$self.$$.dirty[8]&2){$$invalidate(253,imageProcessProgress=$imageProcessState&&($imageProcessState.taskLengthComputable?$imageProcessState.taskProgress:Infinity))}if($$self.$$.dirty[8]&2){$$invalidate(254,imageProcessShowProgressIndicator=$imageProcessState&&!$imageProcessState.error)}if($$self.$$.dirty[8]&2){$$invalidate(255,isImageProcessingError=$imageProcessState&&$imageProcessState.error)}if($$self.$$.dirty[0]&16777220|$$self.$$.dirty[4]&524288|$$self.$$.dirty[7]&1543503872|$$self.$$.dirty[8]&253){if(status){let label;let progress;let showProgress;let isError;let errorCallback;if(isString(status))label=status;if(isNumber(status))progress=status;else if(Array.isArray(status)){[label,progress,errorCallback]=status;if(progress===false)isError=true;if(isNumber(progress))showProgress=true}$$invalidate(13,statusState=(label||progress)&&{text:label,aside:isError||showProgress,progressIndicator:{visible:showProgress,progress:progress},closeButton:isError&&{label:locale.statusLabelButtonClose,icon:locale.statusIconButtonClose,onclick:errorCallback||(()=>$$invalidate(143,status=undefined))}})}else if(locale&&isWaitingForImage||isImageLoadError||isLoadingImageData||isCreatingImagePreview){$$invalidate(13,statusState={text:imageLoadStatusLabel,aside:isImageLoadError||imageLoadShowProgressIndicator,progressIndicator:{visible:imageLoadShowProgressIndicator,progress:imageLoadProgress},closeButton:isImageLoadError&&{label:locale.statusLabelButtonClose,icon:locale.statusIconButtonClose,onclick:handleCloseImageLoadError}})}else if(locale&&isProcessingImage&&imageProcessStatusLabel){$$invalidate(13,statusState={text:imageProcessStatusLabel,aside:isImageProcessingError||imageProcessShowProgressIndicator,progressIndicator:{visible:imageProcessShowProgressIndicator,progress:imageProcessProgress},closeButton:isImageProcessingError&&{label:locale.statusLabelButtonClose,icon:locale.statusIconButtonClose,onclick:handleCloseImageProcessError}})}else{$$invalidate(13,statusState=undefined)}}if($$self.$$.dirty[4]&524288){$$invalidate(256,isCustomStatus=status!==undefined)}if($$self.$$.dirty[7]&32|$$self.$$.dirty[8]&2){if(isModal&&$imageProcessState&&$imageProcessState.complete){wasProcessingImage.set(true);setTimeout(()=>wasProcessingImage.set(false),100)}}if($$self.$$.dirty[0]&25165824|$$self.$$.dirty[7]&1409286144|$$self.$$.dirty[8]&1281){$$invalidate(257,isStatusActive=$wasProcessingImage||isSupportsError||isWaitingForImage||isImageLoadError||isLoadingImageData||isCreatingImagePreview||isProcessingImage||isCustomStatus)}if($$self.$$.dirty[8]&512){set_store_value(statusOpacity,$statusOpacity=isStatusActive?1:0,$statusOpacity)}if($$self.$$.dirty[0]&33554432){$$invalidate(26,isStatusVisible=$statusOpacity>0)}if($$self.$$.dirty[0]&8192){$$invalidate(259,hasAside=!!(statusState&&statusState.aside))}if($$self.$$.dirty[0]&67117056|$$self.$$.dirty[5]&16777216|$$self.$$.dirty[8]&6144){if(isStatusVisible&&statusState){clearTimeout(asideWidthUpdateTimer);if(hasAside){const hard=!!statusState.error;asideOpacity.set(1);asideOffset.set($statusWidth,{hard:hard});$$invalidate(179,asideWidthUpdateTimer=setTimeout(()=>{asideWidth.set(16)},1))}else{asideOpacity.set(0);$$invalidate(179,asideWidthUpdateTimer=setTimeout(()=>{asideWidth.set(0)},1))}}}if($$self.$$.dirty[0]&67108864){if(!isStatusVisible){statusOffset.set(undefined,{hard:true});asideOffset.set(undefined,{hard:true});asideWidth.set(0,{hard:true})}}if($$self.$$.dirty[8]&16384){$$invalidate(261,statusIndent=$asideWidth*.5)}if($$self.$$.dirty[8]&40960){$$invalidate(39,statusTransform=`transform: translateX(${$statusOffset-statusIndent}px)`)}if($$self.$$.dirty[0]&4|$$self.$$.dirty[5]&93|$$self.$$.dirty[6]&335544320|$$self.$$.dirty[7]&139778){$$invalidate(40,toolbarItems=locale&&willRenderToolbar([[\"div\",\"alpha\",{class:\"PinturaNavGroup\"},[[\"div\",\"alpha-set\",{class:\"PinturaNavSet\"},[enableButtonClose&&[\"Button\",\"close\",{label:locale.labelClose,icon:locale.iconButtonClose,onclick:()=>dispatch(\"close\"),hideLabel:true}],enableButtonRevert&&[\"Button\",\"revert\",{label:locale.labelButtonRevert,icon:locale.iconButtonRevert,disabled:!canUndo,onclick:revert,hideLabel:true}]]]]],[\"div\",\"beta\",{class:\"PinturaNavGroup PinturaNavGroupFloat\"},[enableNavigateHistory&&[\"div\",\"history\",{class:\"PinturaNavSet\"},[[\"Button\",\"undo\",{label:locale.labelButtonUndo,icon:locale.iconButtonUndo,disabled:!canUndo,onclick:history.undo,hideLabel:true}],[\"Button\",\"redo\",{label:locale.labelButtonRedo,icon:locale.iconButtonRedo,disabled:!canRedo,onclick:history.redo,hideLabel:true}]]],shouldRenderUtilTools&&[\"div\",\"plugin-tools\",{class:\"PinturaNavSet\"},utilTools.filter(Boolean).map(([component,key,props])=>[component,key,{...props,hideLabel:true}])]]],[\"div\",\"gamma\",{class:\"PinturaNavGroup\"},[enableButtonExport&&[\"Button\",\"export\",{label:locale.labelButtonExport,icon:isNarrow&&locale.iconButtonExport,class:\"PinturaButtonExport\",onclick:handleExport,hideLabel:isNarrow}]]]],{...$env}))}if($$self.$$.dirty[0]&65536){$$invalidate(264,hasClientRect=$clientRect&&$clientRect.width>0&&$clientRect.height>0)}if($$self.$$.dirty[0]&4|$$self.$$.dirty[7]&1|$$self.$$.dirty[8]&65536){$$invalidate(41,canRender=hasClientRect&&locale&&utilsDefined)}if($$self.$$.dirty[8]&262144){$$invalidate(265,hasImageRedaction=$imageRedaction&&!!$imageRedaction.length)}if($$self.$$.dirty[6]&32|$$self.$$.dirty[8]&393216){$$invalidate(267,imageRedactionScalar=hasImageRedaction&&getImageRedactionScaleFactor($imageSize,$imageRedaction))}if($$self.$$.dirty[6]&2097152|$$self.$$.dirty[8]&3801088){hasImageRedaction&&updateScrambledPreview($imagePreview,$imageScrambler,imageRedactionScalar,$imageBackgroundColor)}if($$self.$$.dirty[5]&33554432|$$self.$$.dirty[6]&32|$$self.$$.dirty[8]&262144){if($imageRedaction&&scrambledPreviewImage&&$imageSize){const{width,height}=$imageSize;$$invalidate(29,blendShapes=$imageRedaction.map(shape=>{const rect=rectCreate(shape.x,shape.y,shape.width,shape.height);const corners=rectRotate(rectClone(rect),shape.rotation);const backgroundCorners=corners.map(corner=>vectorCreate(corner.x/width,corner.y/height));return{...shape,id:\"redaction\",flipX:false,flipY:false,cornerRadius:0,strokeWidth:0,strokeColor:undefined,backgroundColor:[0,0,0],backgroundImage:scrambledPreviewImage,backgroundImageRendering:\"pixelated\",backgroundCorners:backgroundCorners}}))}}if($$self.$$.dirty[0]&16384){rootPortal&&rootPortalStore.set(rootPortal)}if($$self.$$.dirty[0]&8388608|$$self.$$.dirty[6]&2097152){$$invalidate(27,isReady=$imagePreview&&!isSupportsError)}if($$self.$$.dirty[0]&134217730){isReady&&root.dispatchEvent(createPing(\"ready\"))}};$$invalidate(242,missingFeatures=[!supportsWebGL()&&\"WebGL\"].filter(Boolean));$$invalidate(42,routePing=createPingRouter(eventProxy.pub));return[pluginInterface,root,locale,id,elasticityMultiplier,willRenderCanvas,enableToolbar,pluginOptions,imageSourceToImageData,imagePreview,history,windowWidth,windowHeight,statusState,rootPortal,showUtils,$clientRect,shouldRenderTabs,$shouldAnimate,utilSelected,utilsMerged,utilsVisibleFraction,$activeImages,isSupportsError,isWaitingForImage,$statusOpacity,isStatusVisible,isReady,utilsVisible,blendShapes,$tabRect,tabsConfig,tabs,panels,className,isLandscape,envStr,imageCanvasState,$imageSelectionRectPresentation,statusTransform,toolbarItems,canRender,routePing,$asideOffset,$asideOpacity,$toolRect,$utilRect,$pixelRatio,$rootBackgroundColor,$utilSelectedStore,$stagePadded,$interfaceImages,$willRequestResource,$imageAnnotation,$imageDecoration,$imageFrame,$imageOverlay,$disabledTransition,disabledTransition,imageFile,imageSize,imageLoadState,imageProcessState,imageCropAspectRatio,imageCropRect,imageOutputSize,imageBackgroundColor,imageDecoration,imageAnnotation,imageRedaction,imageFrame,imageState,images,shapePreprocessor,imageScrambler,willRequestResource,utilSelectedStore,rootBackgroundColor,rootForegroundColor,rootLineColor,clientRect,rootRect,tabRect,toolRect,utilRect,pointerAccuracy,pointerHoverable,isInteracting,isInteractingFraction,previewShouldUpscale,imageCropRectSnapshot,imageCropRectIntent,imageSelectionRect,imageSelectionRectSnapshot,imageSelectionRectIntent,stagePadded,stageRect,stageScalar,imageSelectionRectPresentation,presentationScalar,imageVisualBounds,imageOverlayMarkup,imageOverlay,overlayInset,overlaySize,overlayLeftOpacity,overlayRightOpacity,overlayTopOpacity,overlayBottomOpacity,imageVisualLoadComplete,imagePreviewSource,imagePreviewModifiers,interfaceImages,imageTransforms,env,pixelRatio,shouldAnimate,imageProcessingPreparing,utilStores,handleTransitionEnd,imageProps,activeImages,statusOpacity,wasProcessingImage,asideOffset,asideOpacity,asideWidth,statusWidth,statusOffset,offsetAside,handleTouchStart,handleTouchMove,handlePointerMove,pressedKeysStore,handleKeydown,handleKeyup,handleWindowBlur,handleContextMenu,handleDropFiles,browseFileSystem,handlePaste,getStageState,createCanvasState,status,imagePreviewCurrent,klass,layoutMode,stores,util,utils,animations,disabled,previewUpscale,willRevert,willProcessImage,willRenderToolbar,willSetHistoryInitialState,enableButtonExport,enableButtonRevert,enableNavigateHistory,enableUtils,enableButtonClose,enableDropImage,enablePasteImage,enableBrowseImage,previewImageDataMaxSize,layoutDirectionPreference,layoutHorizontalUtilsPreference,layoutVerticalUtilsPreference,imagePreviewSrc,imageOrienter,pluginComponents,sub,registeredPluginsComponents,gradientOverlayHorizontal,gradientOverlayVertical,imagePreviewLoaderCancelToken,lastImagePreview,loadTimer,asideWidthUpdateTimer,scrambledPreviewImage,isOverlayModeEnabled,$images,$shapePreprocessor,$rootRect,$imageLoadState,$imageCropRect,$isInteracting,utilsFiltered,$stageRect,$imageOutputSize,$imageSize,imageTargetSizeCurrent,$overlayInset,$imageVisualBounds,overlayTop,$overlaySize,$overlayTopOpacity,overlayBottom,$overlayBottomOpacity,overlayLeft,$overlayLeftOpacity,overlayRight,$overlayRightOpacity,gradientOverlays,$imageOverlayMarkup,$imageFile,$imagePreview,$imagePreviewSource,canAnimate,acceptsAnimations,$prefersReducedMotion,canUndo,$history,canRedo,$imageProcessingPreparing,utilsAvailable,utilsDefined,utilTools,horizontalSpace,hasLimitedSpace,verticalSpace,isModal,isCenteredHorizontally,isCenteredVertically,isCentered,isNarrow,orientation,isCompact,hasSwipeNavigation,shouldRenderUtilTools,navigationHorizontalPreference,navigationVerticalPreference,rootElementComputedStyle,$env,$pointerAccuracy,$pointerHoverable,$imageTransforms,$imagePreviewModifiers,isStartLoadingImageSource,$imageProps,hasProps,missingFeatures,isImageLoadError,imageLoadProgress,isLoadingImageData,$imageVisualLoadComplete,isCreatingImagePreview,isProcessingImage,$imageProcessState,imageLoadShowProgressIndicator,imageLoadStatusLabel,imageProcessStatusLabel,imageProcessProgress,imageProcessShowProgressIndicator,isImageProcessingError,isCustomStatus,isStatusActive,$wasProcessingImage,hasAside,$statusWidth,statusIndent,$asideWidth,$statusOffset,hasClientRect,hasImageRedaction,$imageRedaction,imageRedactionScalar,$imageScrambler,$imageBackgroundColor,onwindowresize,measure_handler,select_handler,func,panel_component_binding,measure_handler_1,show_handler,hide_handler,fade_handler,measure_handler_2,func_1,panel_component_binding_1,measure_handler_3,show_handler_1,hide_handler_1,fade_handler_1,func_2,div_binding,div_binding_1,measure_handler_4]}class Ui extends SvelteComponent{constructor(options){super();init(this,options,instance$v,create_fragment$v,safe_not_equal,{class:145,layout:146,stores:147,locale:2,id:3,util:148,utils:149,animations:150,disabled:151,status:143,previewUpscale:152,elasticityMultiplier:4,willRevert:153,willProcessImage:154,willRenderCanvas:5,willRenderToolbar:155,willSetHistoryInitialState:156,enableButtonExport:157,enableButtonRevert:158,enableNavigateHistory:159,enableToolbar:6,enableUtils:160,enableButtonClose:161,enableDropImage:162,enablePasteImage:163,enableBrowseImage:164,previewImageDataMaxSize:165,layoutDirectionPreference:166,layoutHorizontalUtilsPreference:167,layoutVerticalUtilsPreference:168,imagePreviewSrc:169,imageOrienter:170,pluginComponents:171,pluginOptions:7,sub:172,pluginInterface:0,root:1,imageSourceToImageData:8,imagePreview:9,imagePreviewCurrent:144,history:10},[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}get class(){return this.$$.ctx[145]}set class(klass){this.$set({class:klass});flush()}get layout(){return this.$$.ctx[146]}set layout(layoutMode){this.$set({layout:layoutMode});flush()}get stores(){return this.$$.ctx[147]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[2]}set locale(locale){this.$set({locale:locale});flush()}get id(){return this.$$.ctx[3]}set id(id){this.$set({id:id});flush()}get util(){return this.$$.ctx[148]}set util(util){this.$set({util:util});flush()}get utils(){return this.$$.ctx[149]}set utils(utils){this.$set({utils:utils});flush()}get animations(){return this.$$.ctx[150]}set animations(animations){this.$set({animations:animations});flush()}get disabled(){return this.$$.ctx[151]}set disabled(disabled){this.$set({disabled:disabled});flush()}get status(){return this.$$.ctx[143]}set status(status){this.$set({status:status});flush()}get previewUpscale(){return this.$$.ctx[152]}set previewUpscale(previewUpscale){this.$set({previewUpscale:previewUpscale});flush()}get elasticityMultiplier(){return this.$$.ctx[4]}set elasticityMultiplier(elasticityMultiplier){this.$set({elasticityMultiplier:elasticityMultiplier});flush()}get willRevert(){return this.$$.ctx[153]}set willRevert(willRevert){this.$set({willRevert:willRevert});flush()}get willProcessImage(){return this.$$.ctx[154]}set willProcessImage(willProcessImage){this.$set({willProcessImage:willProcessImage});flush()}get willRenderCanvas(){return this.$$.ctx[5]}set willRenderCanvas(willRenderCanvas){this.$set({willRenderCanvas:willRenderCanvas});flush()}get willRenderToolbar(){return this.$$.ctx[155]}set willRenderToolbar(willRenderToolbar){this.$set({willRenderToolbar:willRenderToolbar});flush()}get willSetHistoryInitialState(){return this.$$.ctx[156]}set willSetHistoryInitialState(willSetHistoryInitialState){this.$set({willSetHistoryInitialState:willSetHistoryInitialState});flush()}get enableButtonExport(){return this.$$.ctx[157]}set enableButtonExport(enableButtonExport){this.$set({enableButtonExport:enableButtonExport});flush()}get enableButtonRevert(){return this.$$.ctx[158]}set enableButtonRevert(enableButtonRevert){this.$set({enableButtonRevert:enableButtonRevert});flush()}get enableNavigateHistory(){return this.$$.ctx[159]}set enableNavigateHistory(enableNavigateHistory){this.$set({enableNavigateHistory:enableNavigateHistory});flush()}get enableToolbar(){return this.$$.ctx[6]}set enableToolbar(enableToolbar){this.$set({enableToolbar:enableToolbar});flush()}get enableUtils(){return this.$$.ctx[160]}set enableUtils(enableUtils){this.$set({enableUtils:enableUtils});flush()}get enableButtonClose(){return this.$$.ctx[161]}set enableButtonClose(enableButtonClose){this.$set({enableButtonClose:enableButtonClose});flush()}get enableDropImage(){return this.$$.ctx[162]}set enableDropImage(enableDropImage){this.$set({enableDropImage:enableDropImage});flush()}get enablePasteImage(){return this.$$.ctx[163]}set enablePasteImage(enablePasteImage){this.$set({enablePasteImage:enablePasteImage});flush()}get enableBrowseImage(){return this.$$.ctx[164]}set enableBrowseImage(enableBrowseImage){this.$set({enableBrowseImage:enableBrowseImage});flush()}get previewImageDataMaxSize(){return this.$$.ctx[165]}set previewImageDataMaxSize(previewImageDataMaxSize){this.$set({previewImageDataMaxSize:previewImageDataMaxSize});flush()}get layoutDirectionPreference(){return this.$$.ctx[166]}set layoutDirectionPreference(layoutDirectionPreference){this.$set({layoutDirectionPreference:layoutDirectionPreference});flush()}get layoutHorizontalUtilsPreference(){return this.$$.ctx[167]}set layoutHorizontalUtilsPreference(layoutHorizontalUtilsPreference){this.$set({layoutHorizontalUtilsPreference:layoutHorizontalUtilsPreference});flush()}get layoutVerticalUtilsPreference(){return this.$$.ctx[168]}set layoutVerticalUtilsPreference(layoutVerticalUtilsPreference){this.$set({layoutVerticalUtilsPreference:layoutVerticalUtilsPreference});flush()}get imagePreviewSrc(){return this.$$.ctx[169]}set imagePreviewSrc(imagePreviewSrc){this.$set({imagePreviewSrc:imagePreviewSrc});flush()}get imageOrienter(){return this.$$.ctx[170]}set imageOrienter(imageOrienter){this.$set({imageOrienter:imageOrienter});flush()}get pluginComponents(){return this.$$.ctx[171]}set pluginComponents(pluginComponents){this.$set({pluginComponents:pluginComponents});flush()}get pluginOptions(){return this.$$.ctx[7]}set pluginOptions(pluginOptions){this.$set({pluginOptions:pluginOptions});flush()}get sub(){return this.$$.ctx[172]}get pluginInterface(){return this.$$.ctx[0]}get root(){return this.$$.ctx[1]}set root(root){this.$set({root:root});flush()}get imageSourceToImageData(){return this.$$.ctx[8]}set imageSourceToImageData(imageSourceToImageData){this.$set({imageSourceToImageData:imageSourceToImageData});flush()}get imagePreview(){return this.$$.ctx[9]}get imagePreviewCurrent(){return this.$$.ctx[144]}set imagePreviewCurrent(imagePreviewCurrent){this.$set({imagePreviewCurrent:imagePreviewCurrent});flush()}get history(){return this.$$.ctx[10]}}const utilPrivateProps=[\"klass\",\"stores\",\"isVisible\",\"isActive\",\"isActiveFraction\",\"locale\"];const viewPrivateProps=[\"history\",\"klass\",\"stores\",\"navButtons\",\"pluginComponents\",\"pluginInterface\",\"pluginOptions\",\"sub\",\"imagePreviewSrc\",\"imagePreview\",\"imagePreviewCurrent\"];let editorProps;const pluginProps=new Set([]);const propPluginRef={};const pluginComponents=new Map;const setEditorViewPlugins=(...args)=>{args.filter(plugin=>!!plugin.util).forEach(plugin=>{const[id,Component]=plugin.util;if(pluginComponents.has(id))return;pluginComponents.set(id,Component);getComponentExportedProps(Component).filter(prop=>!utilPrivateProps.includes(prop)).forEach(prop=>{pluginProps.add(prop);if(propPluginRef[prop]){propPluginRef[prop].push(id);return}propPluginRef[prop]=[id]})})};const getEditorViewProps=()=>{editorProps=new Set(getComponentExportedProps(Ui).filter(prop=>!viewPrivateProps.includes(prop)));return[...editorProps,...pluginProps]};const attachEditorView=(target,stores)=>{const accessors={};const editor=new Ui({target:target,props:{stores:stores,pluginComponents:Array.from(pluginComponents)}});let isDestroyed=false;const destroy=()=>{if(isDestroyed)return;if(isBrowser())window.removeEventListener(\"pagehide\",destroy);if(!editor)return;isDestroyed=true;editor.$destroy()};if(!editorProps)editorProps=new Set(getComponentExportedProps(Ui).filter(prop=>!viewPrivateProps.includes(prop)));editorProps.forEach(prop=>{Object.defineProperty(accessors,prop,{get:()=>editor[prop],set:value=>editor[prop]=value})});Object.defineProperty(accessors,\"previewImageData\",{get:()=>editor.imagePreviewCurrent});pluginProps.forEach(prop=>{const plugins=propPluginRef[prop];const plugin=plugins[0];Object.defineProperty(accessors,prop,{get:()=>editor.pluginInterface[plugin][prop],set:value=>{const opts=plugins.reduce((prev,plugin)=>{prev[plugin]={...editor.pluginOptions[plugin],[prop]:value};return prev},{});editor.pluginOptions={...editor.pluginOptions,...opts}}})});Object.defineProperty(accessors,\"element\",{get:()=>editor.root,set:()=>undefined});const history=editor.history;defineMethods(accessors,{on:(event,cb)=>{if(isDestroyed)return()=>{};if(/undo|redo|revert/.test(event))return history.on(event,cb);const unsubs=[editor.sub(event,cb),editor.$on(event,e=>cb(e instanceof CustomEvent&&!e.detail?undefined:e))].filter(Boolean);return()=>unsubs.forEach(unsub=>unsub())},updateImagePreview:src=>{editor.imagePreviewSrc=src},close:()=>!isDestroyed&&editor.pub(\"close\"),destroy:destroy});Object.defineProperty(accessors,\"history\",{get:()=>({undo:()=>history.undo(),redo:()=>history.redo(),revert:()=>history.revert(),get:()=>history.get(),getCollapsed:()=>{const entries=history.get();return entries.splice(0,history.index+1)},set:entries=>history.set(entries),write:state=>history.write(state),get length(){return history.length()},get index(){return history.index}})});if(isBrowser())window.addEventListener(\"pagehide\",destroy);return accessors};var editorEvents=[...editorEventsToBubble,\"undo\",\"redo\",\"update\",\"revert\",\"destroy\",\"show\",\"hide\",\"close\",\"ready\",\"loadpreview\",\"selectshape\",\"updateshape\",\"addshape\",\"removeshape\"];const dispatchElementEvent=(target,event,detail)=>target.dispatchEvent(new CustomEvent(event,{detail:detail,bubbles:true,cancelable:true}));var dispatchEditorEvents=(editor,handler,options={})=>{const{prefix=\"pintura:\"}=options;return editorEvents.map(event=>editor.on(event,value=>isElement(handler)?dispatchElementEvent(handler,`${prefix}${event}`,value):handler(event,value)))};var arrayInsert=(array,index,item)=>{array.splice(index,0,item);return array};const isNode=item=>isString(item[0]);const isNodeList=item=>!isNode(item);const getNodeId=node=>node[1];const getNodeChildren=node=>node[3]||[];function createNode(instance,id,props,children){if(Array.isArray(props)){children=props;props={}}return[instance,id,props||{},children||[]]}const insertNode=(node,needle,haystack,getIndex=index=>index)=>{const nodeList=findNodeList(needle,haystack);const targetIndex=nodeList.findIndex(item=>getNodeId(item)===needle);arrayInsert(nodeList,getIndex(targetIndex),node)};const insertNodeBefore=(node,needle,haystack)=>insertNode(node,needle,haystack);const insertNodeAfter=(node,needle,haystack)=>insertNode(node,needle,haystack,index=>index+1);const appendNode=(node,haystack)=>{if(isNodeList(haystack))return haystack.push(node);haystack[3]=[...getNodeChildren(haystack),node]};const removeNode=(needle,haystack)=>{const nodeList=findNodeList(needle,haystack);arrayRemove(nodeList,item=>getNodeId(item)===needle);return nodeList};const findNode=(needle,haystack)=>{return isNode(haystack)?getNodeId(haystack)===needle?haystack:findNode(needle,getNodeChildren(haystack)):haystack.find(item=>findNode(needle,item))};const findNodeList=(needle,haystack)=>{if(isNodeList(haystack)){if(haystack.find(item=>getNodeId(item)===needle))return haystack;return haystack.find(item=>findNodeList(needle,getNodeChildren(item)))}return findNodeList(needle,getNodeChildren(haystack))};const propertyMap={borderColor:\"strokeColor\",borderWidth:\"strokeWidth\",lineWidth:\"strokeWidth\",fontColor:\"color\",lineColor:\"strokeColor\",src:\"backgroundImage\",fit:\"backgroundSize\"};const convertValue=value=>{if(value===0)return 0;if(value===\"0%\")return 0;if(value===\"0px\")return 0;if(/px$/.test(value))return parseInt(value,10);if(/\\%$/.test(value))return value;if(value<=1)return`${value*100}%`};const addValues=(a,b)=>{let _a,_b;if(/%$/.test(a)){_a=parseFloat(a);_b=parseFloat(b);return`${_a+_b}%`}if(/px$/.test(a)){_a=parseInt(a,10);_b=parseInt(b,10);return`${_a+_b}px`}};const shapeFromLegacyMarkup=(crop,type,style)=>{const shape=Object.keys(style).reduce((res,prop)=>{let value=style[prop];prop=propertyMap[prop]||prop;if(/px$/.test(value)){value=convertValue(value)}else if(/^(?:x|y|left|right|top|bottom|width|height|fontSize|strokeWidth)$/.test(prop)&&typeof value===\"number\"){if(/strokeWidth/.test(prop))value*=2;value=convertValue(value)}if(/color/i.test(prop)){value=colorStringToColorArray(value)}if(value===null)value=undefined;res[prop]=value;return res},{});if(type===\"line\"){if(shape.lineDecoration.length===1)shape.lineEnd=\"arrow\";if(shape.lineDecoration.length===2)shape.lineStart=\"arrow\";shape.x1=shape.x;shape.y1=shape.y;shape.x2=addValues(shape.x,shape.width);shape.y2=addValues(shape.y,shape.height);delete shape.x;delete shape.y;delete shape.width;delete shape.height;delete shape.lineDecoration;delete shape.lineStyle}if(type===\"text\"){shape.y=addValues(shape.y,\"-\"+shape.fontSize);delete shape.width;delete shape.height;delete shape.borderStyle}if(type===\"ellipse\"){let w,h;if(/%$/.test(shape.width)){w=parseFloat(shape.width)/100;h=parseFloat(shape.height)/100;const widthAbsolute=w*crop.width;const heightAbsolute=h*crop.height;w=widthAbsolute/crop.width*100;h=heightAbsolute/crop.height*100}else{w=shape.width;h=shape.height}shape.rx=w*.5;shape.ry=h*.5;if(/%$/.test(shape.width)){shape.rx+=\"%\";shape.ry+=\"%\"}shape.x=addValues(shape.x,shape.rx);shape.y=addValues(shape.y,shape.ry);delete shape.width;delete shape.height;delete shape.borderStyle}if(type===\"rect\"){delete shape.borderStyle}if(type===\"path\"){shape.points=shape.points.map(point=>{return{x:convertValue(point.x),y:convertValue(point.y)}})}return shape};const getOffsetPointOnEdge=(length,rotation)=>{const a=length;const A=1.5707963267948966;const B=rotation;const C=1.5707963267948966-rotation;const sinA=Math.sin(A);const sinB=Math.sin(B);const sinC=Math.sin(C);const cosC=Math.cos(C);const ratio=a/sinA;const b=ratio*sinB;const c=ratio*sinC;return vectorCreate(cosC*b,cosC*c)};const getRotatedRectSize=(rect,rotation)=>{const w=rect.width;const h=rect.height;const hor=getOffsetPointOnEdge(w,rotation);const ver=getOffsetPointOnEdge(h,rotation);const tl=vectorCreate(rect.x+Math.abs(hor.x),rect.y-Math.abs(hor.y));const tr=vectorCreate(rect.x+rect.width+Math.abs(ver.y),rect.y+Math.abs(ver.x));const bl=vectorCreate(rect.x-Math.abs(ver.y),rect.y+rect.height-Math.abs(ver.x));return{width:vectorDistance(tl,tr),height:vectorDistance(tl,bl)}};const getBoundsAroundCenter=(imageSize,center)=>{const cx=center.x>.5?1-center.x:center.x;const cy=center.y>.5?1-center.y:center.y;return sizeCreate(cx*2*imageSize.width,cy*2*imageSize.height)};const getCanvasSize=(imageSize,canvasAspectRatio,zoom=1)=>{const imageAspectRatio=imageSize.height/imageSize.width;let canvasWidth=1;let canvasHeight=canvasAspectRatio;let imgWidth=1;let imgHeight=imageAspectRatio;if(imgHeight>canvasHeight){imgHeight=canvasHeight;imgWidth=imgHeight/imageAspectRatio}const scalar=Math.max(canvasWidth/imgWidth,canvasHeight/imgHeight);const width=imageSize.width/(zoom*scalar*imgWidth);const height=width*canvasAspectRatio;return{width:width,height:height}};const getCenteredCropRect=(imageSize,aspectRatio)=>{let width=imageSize.width;let height=width*aspectRatio;if(height>imageSize.height){height=imageSize.height;width=height/aspectRatio}const x=(imageSize.width-width)*.5;const y=(imageSize.height-height)*.5;return rectCreate(x,y,width,height)};const getCorrectedLegacyAspectRatio=(imageSize,aspectRatio)=>aspectRatio!=null?1/aspectRatio:imageSize.width/imageSize.height;const imagePropertiesFromLegacyCrop=(imageSize,{flip,aspectRatio,rotation,center,zoom,scaleToFit})=>{const res={};const isCenteredCrop=!center||center&¢er.x===.5&¢er.y===.5;if(flip&&flip.horizontal)res.flipHorizontal=flip.horizontal;if(flip&&flip.vertical)res.flipVertical=flip.vertical;const correctedAspectRatio=getCorrectedLegacyAspectRatio(imageSize,aspectRatio);const cropLimit=!(scaleToFit===false);const canvasSize=getCanvasSize(imageSize,aspectRatio,zoom);const cropSize=isCenteredCrop?imageSize:getBoundsAroundCenter(imageSize,cropLimit?center:{x:.5,y:.5});const cropCentered=getCenteredCropRect(imageSize,aspectRatio);if(aspectRatio||!isCenteredCrop||zoom){res.crop=rectContainRect(rectCreateFromSize(cropSize),correctedAspectRatio)}if(typeof rotation===\"number\"&&rotation!==null){if(rotation!=null)res.rotation=rotation;const rotatedCropSize=getRotatedRectSize(cropCentered,rotation);const scalar=Math.max(rotatedCropSize.width/cropSize.width,rotatedCropSize.height/cropSize.height);const cropCenter=vectorCreate(center.x*imageSize.width,center.y*imageSize.height);const rotatedImageSize=getImageTransformedRect(imageSize,rotation);const rotatedImageCenter=sizeCenter(rotatedImageSize);const rotatedImageOffset=vectorCreate((rotatedImageSize.width-imageSize.width)*.5,(rotatedImageSize.height-imageSize.height)*.5);const cropPoints=rectRotate({x:rotatedImageOffset.x+cropCenter.x-canvasSize.width/scalar*.5,y:rotatedImageOffset.y+cropCenter.y-canvasSize.height/scalar*.5,width:canvasSize.width/scalar,height:canvasSize.height/scalar},rotation);const cropBoundsPoints=vectorsRotate(cropPoints.map(vectorClone),rotation,rotatedImageCenter.x,rotatedImageCenter.y);const cropBoundsPointsCenter=rectCenter(rectCreateFromPoints(cropBoundsPoints));const deRotatedCropBoundsPoints=vectorsRotate(cropBoundsPoints.map(vectorClone),-(rotation*2),cropBoundsPointsCenter.x,cropBoundsPointsCenter.y);res.crop=rectCreateFromPoints(deRotatedCropBoundsPoints)}else if(zoom!=null){rectScale(res.crop,1/zoom)}if(!cropLimit){res.cropLimitToImage=false}return res};const isLegacyData=(data={})=>{if(\"markup\"in data||\"color\"in data||\"filter\"in data)return true;const{crop}=data;if(crop&&(\"flip\"in crop||\"center\"in crop||\"aspectRatio\"in crop||\"rotation\"in crop))return true;return false};var legacyDataToImageState=(editor,imageSize,data={})=>{const res={};if(!isLegacyData(data))return data;if(data.crop){Object.assign(res,imagePropertiesFromLegacyCrop(imageSize,data.crop))}if(data.markup){const markup=Array.isArray(data.markup)?data.markup:Object.values(data.markup);res.decoration=markup.map(markup=>shapeFromLegacyMarkup(res.crop||imageSize,markup[0],markup[1]))}if(data.color){Object.keys(data.color).filter(key=>data.color[key]).map(key=>[key,Array.isArray(data.color[key].matrix)?data.color[key].matrix:Object.values(data.color[key].matrix)]).forEach(([key,value])=>{if(!res.colorMatrix)res.colorMatrix={};res.colorMatrix[key]=value})}if(data.filter){if(!res.colorMatrix)res.colorMatrix={};res.colorMatrix.filter=typeof data.filter===\"string\"&&editor[\"filterFunctions\"][data.filter]?editor[\"filterFunctions\"][data.filter]():data.filter.matrix}return res};const isOperaMini=()=>Object.prototype.toString.call(window[\"operamini\"])===\"[object OperaMini]\";const hasPromises=()=>\"Promise\"in window;const hasCreateObjectURL=()=>\"URL\"in window&&\"createObjectURL\"in window.URL;const hasVisibility=()=>\"visibilityState\"in document;const hasTiming=()=>\"performance\"in window;const hasFileConstructor=()=>\"File\"in window;let result$3=null;var isModernBrowser=()=>{if(result$3===null)result$3=isBrowser()&&!isOperaMini()&&hasVisibility()&&hasPromises()&&hasFileConstructor()&&hasCreateObjectURL()&&hasTiming();return result$3};var toPercentageNumber=v=>Math.round(v*100);const brightness={base:0,min:-.25,max:.25,getLabel:value=>toPercentageNumber(value/.25),getStore:({imageColorMatrix})=>imageColorMatrix,getValue:store=>{if(!store.brightness)return;return store.brightness[4]},setValue:(store,v)=>store.update(matrices=>({...matrices,brightness:[1,0,0,0,v,0,1,0,0,v,0,0,1,0,v,0,0,0,1,0]}))};const contrast={base:1,min:.5,max:1.5,getLabel:value=>toPercentageNumber(-1+(value-.5)*2),getStore:({imageColorMatrix})=>imageColorMatrix,getValue:store=>{if(!store.contrast)return;return store.contrast[0]},setValue:(store,v)=>store.update(matrices=>({...matrices,contrast:[v,0,0,0,.5*(1-v),0,v,0,0,.5*(1-v),0,0,v,0,.5*(1-v),0,0,0,1,0]}))};const saturation={base:1,min:0,max:2,getLabel:value=>toPercentageNumber(value-1),getStore:({imageColorMatrix})=>imageColorMatrix,getValue:store=>{if(!store.saturation)return;return(store.saturation[0]-.213)/.787},setValue:(store,v)=>store.update(matrices=>({...matrices,saturation:[.213+.787*v,.715-.715*v,.072-.072*v,0,0,.213-.213*v,.715+.285*v,.072-.072*v,0,0,.213-.213*v,.715-.715*v,.072+.928*v,0,0,0,0,0,1,0]}))};const exposure={base:1,min:.5,max:1.5,getLabel:value=>toPercentageNumber(-1+(value-.5)*2),getStore:({imageColorMatrix})=>imageColorMatrix,getValue:store=>{if(!store.exposure)return;return store.exposure[0]},setValue:(store,v)=>store.update(matrices=>({...matrices,exposure:[v,0,0,0,0,0,v,0,0,0,0,0,v,0,0,0,0,0,1,0]}))};const gamma={base:1,min:.15,max:4,getLabel:value=>{if(value<1){return toPercentageNumber((value-.15)/.85-1)}return toPercentageNumber((value-1)/3)},getStore:({imageGamma})=>imageGamma};const vignette={base:0,min:-1,max:1,getStore:({imageVignette})=>imageVignette};const clarity={base:0,min:-1,max:1,getStore:({imageConvolutionMatrix})=>imageConvolutionMatrix,getValue:store=>{if(!store.clarity)return;if(store.clarity[0]===0){return store.clarity[1]/-1}else{return store.clarity[1]/-2}},setValue:(store,v)=>{store.update(matrices=>({...matrices,clarity:v>=0?[0,-1*v,0,-1*v,1+4*v,-1*v,0,-1*v,0]:[-1*v,-2*v,-1*v,-2*v,1+-3*v,-2*v,-1*v,-2*v,-1*v]}))}};const temperature={base:0,min:-1,max:1,getStore:({imageColorMatrix})=>imageColorMatrix,getValue:store=>{if(!store.temperature)return;const v=store.temperature[0];if(v>=1){return(v-1)/.1}return(1-v)/-.15},setValue:(store,v)=>store.update(matrices=>({...matrices,temperature:v>0?[1+v*.1,0,0,0,0,0,1,0,0,0,0,0,1+-v*.1,0,0,0,0,0,1,0]:[1+v*.15,0,0,0,0,0,1+v*.05,0,0,0,0,0,1+-v*.15,0,0,0,0,0,1,0]}))};const finetuneControlConfigurationDefault={gamma:gamma,brightness:brightness,contrast:contrast,saturation:saturation,exposure:exposure,temperature:temperature,clarity:clarity,vignette:vignette};const finetuneOptionsDefault=[[\"brightness\",locale=>locale.finetuneLabelBrightness],[\"contrast\",locale=>locale.finetuneLabelContrast],[\"saturation\",locale=>locale.finetuneLabelSaturation],[\"exposure\",locale=>locale.finetuneLabelExposure],[\"temperature\",locale=>locale.finetuneLabelTemperature],[\"gamma\",locale=>locale.finetuneLabelGamma],!isSoftwareRendering()&&[\"clarity\",locale=>locale.finetuneLabelClarity],[\"vignette\",locale=>locale.finetuneLabelVignette]].filter(Boolean);var _plugin_finetune_defaults={finetuneControlConfiguration:finetuneControlConfigurationDefault,finetuneOptions:finetuneOptionsDefault};const pastel=()=>[.75,.25,.25,0,0,.25,.75,.25,0,0,.25,.25,.75,0,0,0,0,0,1,0];const chrome=()=>[1.398,-.316,.065,-.273,.201,-.051,1.278,-.08,-.273,.201,-.051,.119,1.151,-.29,.215,0,0,0,1,0];const fade=()=>[1.073,-.015,.092,-.115,-.017,.107,.859,.184,-.115,-.017,.015,.077,1.104,-.115,-.017,0,0,0,1,0];const warm=()=>[1.06,0,0,0,0,0,1.01,0,0,0,0,0,.93,0,0,0,0,0,1,0];const cold=()=>[1.1,0,0,0,-.1,0,1.1,0,0,-.1,0,0,1.2,0,-.1,0,0,0,1,0];const invert=()=>[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0];const monoDefault=()=>[.212,.715,.114,0,0,.212,.715,.114,0,0,.212,.715,.114,0,0,0,0,0,1,0];const monoNoir=()=>[.15,1.3,-.25,.1,-.2,.15,1.3,-.25,.1,-.2,.15,1.3,-.25,.1,-.2,0,0,0,1,0];const monoWash=()=>[.163,.518,.084,-.01,.208,.163,.529,.082,-.02,.21,.171,.529,.084,0,.214,0,0,0,1,0];const monoStark=()=>[.338,.991,.117,.093,-.196,.302,1.049,.096,.078,-.196,.286,1.016,.146,.101,-.196,0,0,0,1,0];const sepiaDefault=()=>[.393,.768,.188,0,0,.349,.685,.167,0,0,.272,.533,.13,0,0,0,0,0,1,0];const sepiaBlues=()=>[.289,.62,.185,0,.077,.257,.566,.163,0,.115,.2,.43,.128,0,.188,0,0,0,1,0];const sepiaRust=()=>[.269,.764,.172,.05,.1,.239,.527,.152,0,.176,.186,.4,.119,0,.159,0,0,0,1,0];const sepiaColor=()=>[.547,.764,.134,0,-.147,.281,.925,.12,0,-.135,.225,.558,.33,0,-.113,0,0,0,1,0];const filterFunctionsDefault={chrome:chrome,fade:fade,pastel:pastel,cold:cold,warm:warm,monoDefault:monoDefault,monoWash:monoWash,monoNoir:monoNoir,monoStark:monoStark,sepiaDefault:sepiaDefault,sepiaRust:sepiaRust,sepiaBlues:sepiaBlues,sepiaColor:sepiaColor};const filterOptionsDefault=[[\"Default\",[[undefined,locale=>locale.labelDefault]]],[\"Classic\",[[\"chrome\",locale=>locale.filterLabelChrome],[\"fade\",locale=>locale.filterLabelFade],[\"cold\",locale=>locale.filterLabelCold],[\"warm\",locale=>locale.filterLabelWarm],[\"pastel\",locale=>locale.filterLabelPastel]]],[\"Monochrome\",[[\"monoDefault\",locale=>locale.filterLabelMonoDefault],[\"monoNoir\",locale=>locale.filterLabelMonoNoir],[\"monoStark\",locale=>locale.filterLabelMonoStark],[\"monoWash\",locale=>locale.filterLabelMonoWash]]],[\"Sepia\",[[\"sepiaDefault\",locale=>locale.filterLabelSepiaDefault],[\"sepiaRust\",locale=>locale.filterLabelSepiaRust],[\"sepiaBlues\",locale=>locale.filterLabelSepiaBlues],[\"sepiaColor\",locale=>locale.filterLabelSepiaColor]]]];var _plugin_filter_defaults={filterFunctions:filterFunctionsDefault,filterOptions:filterOptionsDefault};const solidSharp={shape:{frameStyle:\"solid\",frameSize:\"2.5%\"},thumb:''};const solidRound={shape:{frameStyle:\"solid\",frameSize:\"2.5%\",frameRound:true},thumb:''};const lineSingle={shape:{frameStyle:\"line\",frameInset:\"2.5%\",frameSize:\".3125%\",frameRadius:0},thumb:'
'};const lineMultiple={shape:{frameStyle:\"line\",frameAmount:2,frameInset:\"2.5%\",frameSize:\".3125%\",frameOffset:\"1.25%\",frameRadius:0},thumb:'
'};const edgeSeparate={shape:{frameStyle:\"edge\",frameInset:\"2.5%\",frameOffset:\"5%\",frameSize:\".3125%\"},thumb:'
'};const edgeCross={shape:{frameStyle:\"edge\",frameInset:\"2.5%\",frameSize:\".3125%\"},thumb:'
'};const edgeOverlap={shape:{frameStyle:\"edge\",frameOffset:\"1.5%\",frameSize:\".3125%\"},thumb:'
'};const hook={shape:{frameStyle:\"hook\",frameInset:\"2.5%\",frameSize:\".3125%\",frameLength:\"5%\"},thumb:'
'};const polaroid={shape:{frameStyle:\"polaroid\"},thumb:''};const frameStylesDefault={solidSharp:solidSharp,solidRound:solidRound,lineSingle:lineSingle,lineMultiple:lineMultiple,edgeSeparate:edgeSeparate,edgeCross:edgeCross,edgeOverlap:edgeOverlap,hook:hook,polaroid:polaroid};const frameOptionsDefault=[[undefined,locale=>locale.labelNone],[\"solidSharp\",locale=>locale.frameLabelMatSharp],[\"solidRound\",locale=>locale.frameLabelMatRound],[\"lineSingle\",locale=>locale.frameLabelLineSingle],[\"lineMultiple\",locale=>locale.frameLabelLineMultiple],[\"edgeCross\",locale=>locale.frameLabelEdgeCross],[\"edgeSeparate\",locale=>locale.frameLabelEdgeSeparate],[\"edgeOverlap\",locale=>locale.frameLabelEdgeOverlap],[\"hook\",locale=>locale.frameLabelCornerHooks],[\"polaroid\",locale=>locale.frameLabelPolaroid]];var _plugin_frame_defaults={frameStyles:frameStylesDefault,frameOptions:frameOptionsDefault};var RGBToHSV=(r,g,b)=>{let v=Math.max(r,g,b),n=v-Math.min(r,g,b);let h=n&&(v==r?(g-b)/n:v==g?2+(b-r)/n:4+(r-g)/n);return[60*(h<0?h+6:h)/360,v&&n/v,v]};var HSVToRGB=(h,s,v)=>{let r,g,b;const i=Math.floor(h*6);const f=h*6-i;const p=v*(1-s);const q=v*(1-f*s);const t=v*(1-(1-f)*s);switch(i%6){case 0:r=v,g=t,b=p;break;case 1:r=q,g=v,b=p;break;case 2:r=p,g=v,b=t;break;case 3:r=p,g=q,b=v;break;case 4:r=t,g=p,b=v;break;case 5:r=v,g=p,b=q;break}return[r,g,b]};function create_fragment$u(ctx){let div;let span;let div_style_value;return{c(){div=element(\"div\");span=element(\"span\");attr(div,\"class\",\"PinturaColorPreview\");attr(div,\"title\",ctx[0]);attr(div,\"style\",div_style_value=`--color:${ctx[1]}`)},m(target,anchor){insert(target,div,anchor);append(div,span)},p(ctx,[dirty]){if(dirty&1){attr(div,\"title\",ctx[0])}if(dirty&2&&div_style_value!==(div_style_value=`--color:${ctx[1]}`)){attr(div,\"style\",div_style_value)}},i:noop,o:noop,d(detaching){if(detaching)detach(div)}}}function instance$u($$self,$$props,$$invalidate){let colorValue;let{color=undefined}=$$props;let{title=undefined}=$$props;$$self.$$set=$$props=>{if(\"color\"in $$props)$$invalidate(2,color=$$props.color);if(\"title\"in $$props)$$invalidate(0,title=$$props.title)};$$self.$$.update=()=>{if($$self.$$.dirty&4){$$invalidate(1,colorValue=color?colorArrayToRGBA(color):\"transparent\")}};return[title,colorValue,color]}class ColorPreview extends SvelteComponent{constructor(options){super();init(this,options,instance$u,create_fragment$u,safe_not_equal,{color:2,title:0})}}function create_if_block_4$4(ctx){let span;let t;return{c(){span=element(\"span\");t=text(ctx[0])},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty[0]&1)set_data(t,ctx[0])},d(detaching){if(detaching)detach(span)}}}function create_label_slot(ctx){let span;let colorpreview;let t;let current;colorpreview=new ColorPreview({props:{color:ctx[4],title:localize(ctx[8],ctx[10])}});let if_block=!ctx[9]&&create_if_block_4$4(ctx);return{c(){span=element(\"span\");create_component(colorpreview.$$.fragment);t=space();if(if_block)if_block.c();attr(span,\"slot\",\"label\");attr(span,\"class\",\"PinturaButtonLabel\")},m(target,anchor){insert(target,span,anchor);mount_component(colorpreview,span,null);append(span,t);if(if_block)if_block.m(span,null);current=true},p(ctx,dirty){const colorpreview_changes={};if(dirty[0]&16)colorpreview_changes.color=ctx[4];if(dirty[0]&1280)colorpreview_changes.title=localize(ctx[8],ctx[10]);colorpreview.$set(colorpreview_changes);if(!ctx[9]){if(if_block){if_block.p(ctx,dirty)}else{if_block=create_if_block_4$4(ctx);if_block.c();if_block.m(span,null)}}else if(if_block){if_block.d(1);if_block=null}},i(local){if(current)return;transition_in(colorpreview.$$.fragment,local);current=true},o(local){transition_out(colorpreview.$$.fragment,local);current=false},d(detaching){if(detaching)detach(span);destroy_component(colorpreview);if(if_block)if_block.d()}}}function create_if_block_2$5(ctx){let div3;let div2;let div1;let div0;let div0_style_value;let div1_style_value;let div2_style_value;let t0;let slider;let t1;let current;let mounted;let dispose;slider=new Slider({props:{class:\"PinturaHuePicker\",knobStyle:`background-color:${ctx[19]}`,onchange:ctx[24],value:ctx[14],min:0,max:1,step:.01}});let if_block=ctx[11]&&create_if_block_3$4(ctx);return{c(){div3=element(\"div\");div2=element(\"div\");div1=element(\"div\");div0=element(\"div\");t0=space();create_component(slider.$$.fragment);t1=space();if(if_block)if_block.c();attr(div0,\"role\",\"button\");attr(div0,\"aria-label\",\"Saturation slider\");attr(div0,\"class\",\"PinturaPickerKnob\");attr(div0,\"tabindex\",\"0\");attr(div0,\"style\",div0_style_value=`background-color:${ctx[18]};`);attr(div1,\"class\",\"PinturaPickerKnobController\");attr(div1,\"style\",div1_style_value=`transform:translate(${ctx[21]}%,${ctx[22]}%)`);attr(div2,\"class\",\"PinturaSaturationPicker\");attr(div2,\"style\",div2_style_value=`background-color: ${ctx[19]}`);attr(div3,\"class\",\"PinturaPicker\")},m(target,anchor){insert(target,div3,anchor);append(div3,div2);append(div2,div1);append(div1,div0);ctx[31](div2);append(div3,t0);mount_component(slider,div3,null);append(div3,t1);if(if_block)if_block.m(div3,null);current=true;if(!mounted){dispose=[listen(div0,\"nudge\",ctx[27]),action_destroyer(nudgeable.call(null,div0)),listen(div2,\"pointerdown\",ctx[26])];mounted=true}},p(ctx,dirty){if(!current||dirty[0]&262144&&div0_style_value!==(div0_style_value=`background-color:${ctx[18]};`)){attr(div0,\"style\",div0_style_value)}if(!current||dirty[0]&6291456&&div1_style_value!==(div1_style_value=`transform:translate(${ctx[21]}%,${ctx[22]}%)`)){attr(div1,\"style\",div1_style_value)}if(!current||dirty[0]&524288&&div2_style_value!==(div2_style_value=`background-color: ${ctx[19]}`)){attr(div2,\"style\",div2_style_value)}const slider_changes={};if(dirty[0]&524288)slider_changes.knobStyle=`background-color:${ctx[19]}`;if(dirty[0]&16384)slider_changes.value=ctx[14];slider.$set(slider_changes);if(ctx[11]){if(if_block){if_block.p(ctx,dirty);if(dirty[0]&2048){transition_in(if_block,1)}}else{if_block=create_if_block_3$4(ctx);if_block.c();transition_in(if_block,1);if_block.m(div3,null)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}},i(local){if(current)return;transition_in(slider.$$.fragment,local);transition_in(if_block);current=true},o(local){transition_out(slider.$$.fragment,local);transition_out(if_block);current=false},d(detaching){if(detaching)detach(div3);ctx[31](null);destroy_component(slider);if(if_block)if_block.d();mounted=false;run_all(dispose)}}}function create_if_block_3$4(ctx){let slider;let current;slider=new Slider({props:{class:\"PinturaOpacityPicker\",knobStyle:`background-color: ${ctx[16]}`,trackStyle:`background-image: linear-gradient(to right, ${ctx[17]}, ${ctx[18]})`,onchange:ctx[25],value:ctx[15],min:0,max:1,step:.01}});return{c(){create_component(slider.$$.fragment)},m(target,anchor){mount_component(slider,target,anchor);current=true},p(ctx,dirty){const slider_changes={};if(dirty[0]&65536)slider_changes.knobStyle=`background-color: ${ctx[16]}`;if(dirty[0]&393216)slider_changes.trackStyle=`background-image: linear-gradient(to right, ${ctx[17]}, ${ctx[18]})`;if(dirty[0]&32768)slider_changes.value=ctx[15];slider.$set(slider_changes)},i(local){if(current)return;transition_in(slider.$$.fragment,local);current=true},o(local){transition_out(slider.$$.fragment,local);current=false},d(detaching){destroy_component(slider,detaching)}}}function create_if_block$6(ctx){let radiogroup;let current;radiogroup=new RadioGroup({props:{label:\"Presets\",class:arrayJoin([\"PinturaColorPresets\",ctx[9]?\"PinturaColorPresetsGrid\":\"PinturaColorPresetsList\"]),hideLabel:false,name:ctx[1],value:ctx[4],optionGroupClass:\"PinturaDropdownOptionGroup\",optionClass:\"PinturaDropdownOption\",options:ctx[2].map(ctx[32]),selectedIndex:ctx[3],optionMapper:ctx[7],optionLabelClass:ctx[6],onchange:ctx[33],$$slots:{option:[create_option_slot$3,({option})=>({44:option}),({option})=>[0,option?8192:0]],group:[create_group_slot,({option})=>({44:option}),({option})=>[0,option?8192:0]]},$$scope:{ctx:ctx}}});return{c(){create_component(radiogroup.$$.fragment)},m(target,anchor){mount_component(radiogroup,target,anchor);current=true},p(ctx,dirty){const radiogroup_changes={};if(dirty[0]&512)radiogroup_changes.class=arrayJoin([\"PinturaColorPresets\",ctx[9]?\"PinturaColorPresetsGrid\":\"PinturaColorPresetsList\"]);if(dirty[0]&2)radiogroup_changes.name=ctx[1];if(dirty[0]&16)radiogroup_changes.value=ctx[4];if(dirty[0]&1028)radiogroup_changes.options=ctx[2].map(ctx[32]);if(dirty[0]&8)radiogroup_changes.selectedIndex=ctx[3];if(dirty[0]&128)radiogroup_changes.optionMapper=ctx[7];if(dirty[0]&64)radiogroup_changes.optionLabelClass=ctx[6];if(dirty[0]&512|dirty[1]&24576){radiogroup_changes.$$scope={dirty:dirty,ctx:ctx}}radiogroup.$set(radiogroup_changes)},i(local){if(current)return;transition_in(radiogroup.$$.fragment,local);current=true},o(local){transition_out(radiogroup.$$.fragment,local);current=false},d(detaching){destroy_component(radiogroup,detaching)}}}function create_group_slot(ctx){let span;let t_value=ctx[44].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value);attr(span,\"slot\",\"group\")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty[1]&8192&&t_value!==(t_value=ctx[44].label+\"\"))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_if_block_1$6(ctx){let span;let t_value=ctx[44].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value);attr(span,\"class\",\"PinturaButtonLabel\")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty[1]&8192&&t_value!==(t_value=ctx[44].label+\"\"))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_option_slot$3(ctx){let span;let colorpreview;let t;let current;colorpreview=new ColorPreview({props:{title:ctx[44].label,color:ctx[44].value}});let if_block=!ctx[9]&&create_if_block_1$6(ctx);return{c(){span=element(\"span\");create_component(colorpreview.$$.fragment);t=space();if(if_block)if_block.c();attr(span,\"slot\",\"option\")},m(target,anchor){insert(target,span,anchor);mount_component(colorpreview,span,null);append(span,t);if(if_block)if_block.m(span,null);current=true},p(ctx,dirty){const colorpreview_changes={};if(dirty[1]&8192)colorpreview_changes.title=ctx[44].label;if(dirty[1]&8192)colorpreview_changes.color=ctx[44].value;colorpreview.$set(colorpreview_changes);if(!ctx[9]){if(if_block){if_block.p(ctx,dirty)}else{if_block=create_if_block_1$6(ctx);if_block.c();if_block.m(span,null)}}else if(if_block){if_block.d(1);if_block=null}},i(local){if(current)return;transition_in(colorpreview.$$.fragment,local);current=true},o(local){transition_out(colorpreview.$$.fragment,local);current=false},d(detaching){if(detaching)detach(span);destroy_component(colorpreview);if(if_block)if_block.d()}}}function create_details_slot(ctx){let div;let t;let current;let if_block0=ctx[13]&&create_if_block_2$5(ctx);let if_block1=ctx[12]&&create_if_block$6(ctx);return{c(){div=element(\"div\");if(if_block0)if_block0.c();t=space();if(if_block1)if_block1.c();attr(div,\"slot\",\"details\");attr(div,\"class\",\"PinturaColorPickerPanel\")},m(target,anchor){insert(target,div,anchor);if(if_block0)if_block0.m(div,null);append(div,t);if(if_block1)if_block1.m(div,null);current=true},p(ctx,dirty){if(ctx[13]){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&8192){transition_in(if_block0,1)}}else{if_block0=create_if_block_2$5(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(div,t)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(ctx[12]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&4096){transition_in(if_block1,1)}}else{if_block1=create_if_block$6(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(div,null)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);current=true},o(local){transition_out(if_block0);transition_out(if_block1);current=false},d(detaching){if(detaching)detach(div);if(if_block0)if_block0.d();if(if_block1)if_block1.d()}}}function create_fragment$t(ctx){let details;let current;details=new Details({props:{buttonClass:arrayJoin([\"PinturaColorPickerButton\",ctx[5]]),$$slots:{details:[create_details_slot],label:[create_label_slot]},$$scope:{ctx:ctx}}});return{c(){create_component(details.$$.fragment)},m(target,anchor){mount_component(details,target,anchor);current=true},p(ctx,dirty){const details_changes={};if(dirty[0]&32)details_changes.buttonClass=arrayJoin([\"PinturaColorPickerButton\",ctx[5]]);if(dirty[0]&8388575|dirty[1]&16384){details_changes.$$scope={dirty:dirty,ctx:ctx}}details.$set(details_changes)},i(local){if(current)return;transition_in(details.$$.fragment,local);current=true},o(local){transition_out(details.$$.fragment,local);current=false},d(detaching){destroy_component(details,detaching)}}}function instance$t($$self,$$props,$$invalidate){let sx;let sy;let{label=undefined}=$$props;let{name=undefined}=$$props;let{options=[]}=$$props;let{selectedIndex=-1}=$$props;let{value=undefined}=$$props;let{buttonClass=undefined}=$$props;let{optionLabelClass=undefined}=$$props;let{optionMapper=undefined}=$$props;let{onchange=undefined}=$$props;let{title=undefined}=$$props;let{hidePresetLabel=true}=$$props;let{locale=undefined}=$$props;let{enableOpacity=true}=$$props;let{enablePresets=true}=$$props;let{enablePicker=true}=$$props;let hue;let saturation;let brightness;let opacity;let valueAsRGB;let valueAsRGBA;let valueAsRGBAFullyTransparent;let valueAsRGBAFullyOpaque;let valueAsRGBAFullySaturated;const updateProps=(color,syncControls)=>{valueAsRGB=[color[0],color[1],color[2]];if(syncControls){let valueAsHSV=RGBToHSV(...valueAsRGB);$$invalidate(14,hue=valueAsHSV[0]);$$invalidate(29,saturation=valueAsHSV[1]);$$invalidate(30,brightness=valueAsHSV[2]);$$invalidate(15,opacity=isNumber(color[3])?color[3]:1)}$$invalidate(16,valueAsRGBA=colorArrayToRGBA(color));$$invalidate(17,valueAsRGBAFullyTransparent=colorArrayToRGBA([...valueAsRGB,0]));$$invalidate(18,valueAsRGBAFullyOpaque=colorArrayToRGBA([...valueAsRGB,1]));$$invalidate(19,valueAsRGBAFullySaturated=colorArrayToRGBA(HSVToRGB(hue,1,1)))};value&&updateProps(value,true);const update=()=>{const rgb=HSVToRGB(hue,saturation,brightness);const rgba=[...rgb,opacity];updateProps(rgba);onchange(rgba)};const updateColorArray=arr=>{const rgba=arr.length===3?[...arr,1]:arr;updateProps(rgba,true);onchange(rgba)};const updateHue=h=>{$$invalidate(14,hue=h);if(opacity===0)$$invalidate(15,opacity=1);update()};const updateSaturationAndBrightness=(s,b)=>{$$invalidate(29,saturation=s);$$invalidate(30,brightness=b);if(opacity===0)$$invalidate(15,opacity=1);update()};const updateOpacity=o=>{$$invalidate(15,opacity=o);update()};const setValueByOffset=(offset,inputSize)=>{const x=clamp(offset.x/inputSize.width,0,1);const y=clamp(offset.y/inputSize.height,0,1);updateSaturationAndBrightness(x,1-y)};let input;let inputSize;let inputOffset;let inputPageOffset;const handlePointerDown=e=>{e.stopPropagation();inputSize=sizeCreate(input.offsetWidth,input.offsetHeight);inputOffset=vectorCreateFromPointerEventOffset(e);inputPageOffset=vectorCreateFromPointerEvent(e);setValueByOffset(inputOffset,inputSize);document.documentElement.addEventListener(\"pointermove\",handlePointerMove);document.documentElement.addEventListener(\"pointerup\",handlePointerUp)};const handlePointerMove=e=>{const d=vectorSubtract(vectorCreateFromPointerEvent(e),inputPageOffset);setValueByOffset(vectorAdd(vectorClone(inputOffset),d),inputSize)};const handlePointerUp=e=>{inputSize=undefined;document.documentElement.removeEventListener(\"pointermove\",handlePointerMove);document.documentElement.removeEventListener(\"pointerup\",handlePointerUp)};const handleNudge=e=>{inputSize=sizeCreate(input.offsetWidth,input.offsetHeight);const x=sx/100*inputSize.width;const y=sy/100*inputSize.height;setValueByOffset({x:x+e.detail.x,y:y+e.detail.y},inputSize)};function div2_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{input=$$value;$$invalidate(20,input)})}const func=([color,label])=>[color,isFunction(label)?label(locale):label];const func_1=detail=>updateColorArray(detail.value);$$self.$$set=$$props=>{if(\"label\"in $$props)$$invalidate(0,label=$$props.label);if(\"name\"in $$props)$$invalidate(1,name=$$props.name);if(\"options\"in $$props)$$invalidate(2,options=$$props.options);if(\"selectedIndex\"in $$props)$$invalidate(3,selectedIndex=$$props.selectedIndex);if(\"value\"in $$props)$$invalidate(4,value=$$props.value);if(\"buttonClass\"in $$props)$$invalidate(5,buttonClass=$$props.buttonClass);if(\"optionLabelClass\"in $$props)$$invalidate(6,optionLabelClass=$$props.optionLabelClass);if(\"optionMapper\"in $$props)$$invalidate(7,optionMapper=$$props.optionMapper);if(\"onchange\"in $$props)$$invalidate(28,onchange=$$props.onchange);if(\"title\"in $$props)$$invalidate(8,title=$$props.title);if(\"hidePresetLabel\"in $$props)$$invalidate(9,hidePresetLabel=$$props.hidePresetLabel);if(\"locale\"in $$props)$$invalidate(10,locale=$$props.locale);if(\"enableOpacity\"in $$props)$$invalidate(11,enableOpacity=$$props.enableOpacity);if(\"enablePresets\"in $$props)$$invalidate(12,enablePresets=$$props.enablePresets);if(\"enablePicker\"in $$props)$$invalidate(13,enablePicker=$$props.enablePicker)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&536870912){$$invalidate(21,sx=saturation*100)}if($$self.$$.dirty[0]&1073741824){$$invalidate(22,sy=100-brightness*100)}};return[label,name,options,selectedIndex,value,buttonClass,optionLabelClass,optionMapper,title,hidePresetLabel,locale,enableOpacity,enablePresets,enablePicker,hue,opacity,valueAsRGBA,valueAsRGBAFullyTransparent,valueAsRGBAFullyOpaque,valueAsRGBAFullySaturated,input,sx,sy,updateColorArray,updateHue,updateOpacity,handlePointerDown,handleNudge,onchange,saturation,brightness,div2_binding,func,func_1]}class ColorPicker extends SvelteComponent{constructor(options){super();init(this,options,instance$t,create_fragment$t,safe_not_equal,{label:0,name:1,options:2,selectedIndex:3,value:4,buttonClass:5,optionLabelClass:6,optionMapper:7,onchange:28,title:8,hidePresetLabel:9,locale:10,enableOpacity:11,enablePresets:12,enablePicker:13},[-1,-1])}}var upperCaseFirstLetter=str=>str.charAt(0).toUpperCase()+str.slice(1);let result$2=null;var canCheckFontAvailability=()=>{if(result$2===null){if(!isBrowser())result$2=false;else{try{result$2=document.fonts.check(\"16px TestNonExistingFont\")===false}catch(err){result$2=false}}}return result$2};const toLocaleFn=(key,localePrefix)=>locale=>locale[localePrefix?`${localePrefix}${upperCaseFirstLetter(key)}`:key];const mapToSizeOption=v=>[v,`${v}`];const createLocaleMapper=(options,localePrefix)=>key=>[options[key],toLocaleFn(key,localePrefix)];const toolColorDefault=[1,.2549,.2118];const toolStrokeColorDefault=[1,1,1,0];const toolShapeDefaults={path:()=>({points:[],disableErase:false}),eraser:()=>({eraseRadius:0}),line:()=>({x1:0,y1:0,x2:0,y2:0,disableErase:false}),rectangle:()=>({x:0,y:0,width:0,height:0}),ellipse:()=>({x:0,y:0,rx:0,ry:0}),text:()=>({x:0,y:0,text:\"Text\"})};const createToolStyle=(type,shape={},options={position:\"relative\"})=>{if(!toolShapeDefaults[type])return;const shapeDef={...toolShapeDefaults[type](),...shape};return[shapeDef,options]};const createToolStyles=tools=>({sharpie:createToolStyle(\"path\",{strokeWidth:\"0.5%\",strokeColor:[...toolColorDefault],disableMove:true}),eraser:createToolStyle(\"eraser\"),line:createToolStyle(\"line\",{strokeColor:[...toolColorDefault],strokeWidth:\"0.5%\"}),arrow:createToolStyle(\"line\",{lineStart:\"none\",lineEnd:\"arrow-solid\",strokeColor:[...toolColorDefault],strokeWidth:\"0.5%\"}),rectangle:createToolStyle(\"rectangle\",{strokeColor:[...toolStrokeColorDefault],backgroundColor:[...toolColorDefault]}),ellipse:createToolStyle(\"ellipse\",{strokeColor:[...toolStrokeColorDefault],backgroundColor:[...toolColorDefault]}),text:createToolStyle(\"text\",{color:[...toolColorDefault],fontSize:\"2%\"}),...tools});const createToolbarItem=(tool,label,props)=>[tool,label||toLocaleFn(tool,\"shapeLabelTool\"),{icon:toLocaleFn(tool,\"shapeIconTool\"),...props}];const createToolbar=(tools=[\"sharpie\",\"eraser\",\"line\",\"arrow\",\"rectangle\",\"ellipse\",\"text\",\"preset\"])=>tools.map(tool=>{if(isString(tool))return createToolbarItem(tool);if(Array.isArray(tool)){if(isObject(tool[1]))return createToolbarItem(tool[0],undefined,tool[1]);return createToolbarItem(tool[0],tool[1],tool[2])}}).filter(Boolean);const createDefaultColorOptions=()=>({transparent:[1,1,1,0],white:[1,1,1],silver:[.8667,.8667,.8667],gray:[.6667,.6667,.6667],black:[0,0,0],navy:[0,.1216,.2471],blue:[0,.4549,.851],aqua:[.498,.8588,1],teal:[.2235,.8,.8],olive:[.2392,.6,.4392],green:[.1804,.8,.251],yellow:[1,.8627,0],orange:[1,.5216,.1059],red:[1,.2549,.2118],maroon:[.5216,.0784,.2941],fuchsia:[.9412,.0706,.7451],purple:[.6941,.051,.7882]});const createDefaultFontSizeOptions=()=>[16,18,20,24,30,36,48,64,72,96,128,144];const createDefaultLineHeightOptions=createDefaultFontSizeOptions;const createDefaultFontScaleOptions=()=>({extraSmall:\"2%\",small:\"4%\",mediumSmall:\"8%\",medium:\"10%\",mediumLarge:\"15%\",large:\"20%\",extraLarge:\"25%\"});const createDefaultLineHeightScaleOptions=()=>({extraSmall:\"40%\",small:\"60%\",mediumSmall:\"100%\",medium:\"120%\",mediumLarge:\"140%\",large:\"180%\",extraLarge:\"220%\"});const createDefaultStrokeWidthOptions=()=>[1,2,3,4,6,8,12,16,20,24,32,48,64];const createDefaultStrokeScaleOptions=()=>({extraSmall:\"0.25%\",small:\"0.5%\",mediumSmall:\"1%\",medium:\"1.75%\",mediumLarge:\"2.5%\",large:\"3.5%\",extraLarge:\"5%\"});const createDefaultLineEndStyleOptions=()=>[\"bar\",\"arrow\",\"arrowSolid\",\"circle\",\"circleSolid\",\"square\",\"squareSolid\"];const createDefaultFontFamilyOptions=()=>[[`Helvetica, Arial, Verdana, 'Droid Sans', sans-serif`,\"Sans Serif\"],[`'Arial Black', 'Avenir-Black', 'Arial Bold'`,\"Black\"],[`'Arial Narrow', 'Futura-CondensedMedium'`,\"Narrow\"],[`'Trebuchet MS'`,\"Humanist\"],[`Georgia, 'Avenir-Black', 'Times New Roman', 'Droid Serif', serif`,\"Serif\"],[`Palatino`,\"Old-Style\"],[`'Times New Roman', 'TimesNewRomanPSMT'`,\"Transitional\"],[`Menlo, Monaco, 'Lucida Console', monospace`,\"Monospaced\"],[`'Courier New', monospace`,\"Slab Serif\"]];const createDefaultTextAlignOptions=()=>[\"left\",\"center\",\"right\"];const createDefaultFontStyleOptions=()=>[[\"normal\",\"bold\"],[\"italic\",\"normal\"],[\"italic\",\"bold\"]];const createColorOptions=colors=>Object.keys(colors).map(createLocaleMapper(colors,\"shapeTitleColor\"));const createFontSizeOptions=sizes=>sizes.map(mapToSizeOption);const createFontScaleOptions=scales=>Object.keys(scales).map(createLocaleMapper(scales,\"labelSize\"));const createLineHeightOptions=sizes=>sizes.map(mapToSizeOption);const createLineHeightScaleOptions=scales=>Object.keys(scales).map(createLocaleMapper(scales,\"labelSize\"));const createStrokeWidthOptions=sizes=>sizes.map(mapToSizeOption);const createStrokeScaleOptions=scales=>Object.keys(scales).map(createLocaleMapper(scales,\"labelSize\"));const createFontFamilyOptions=fonts=>[...fonts];const createFontStyleOptions=styles=>styles.map(style=>[style,locale=>locale[`shapeLabelFontStyle${style.filter(v=>v!==\"normal\").map(upperCaseFirstLetter).join(\"\")}`]]);const createLineEndStyleOptions=styles=>styles.map(style=>[toKebabCase(style),locale=>locale[`shapeTitleLineDecoration${upperCaseFirstLetter(style)}`],{icon:locale=>locale[`shapeIconLineDecoration${upperCaseFirstLetter(style)}`]}]);const createTextAlignOptions=options=>options.map(align=>[align,locale=>locale[`shapeTitleTextAlign${upperCaseFirstLetter(align)}`],{hideLabel:true,icon:locale=>locale[`shapeIconTextAlign${upperCaseFirstLetter(align)}`]}]);const createControlOptions=(items,options)=>{const{defaultKey,defaultValue,defaultOptions}=options||{};const arr=[];if(defaultKey)arr[0]=[defaultValue,locale=>locale[defaultKey],{...defaultOptions}];return[...arr,...items]};const someFontsAvailableInStack=stack=>stack.split(\",\").map(name=>name.trim()).some(name=>{return document.fonts.check(`16px ${name}`)});const createColorControl=items=>[ColorPicker,{title:locale=>locale.labelColor,options:createControlOptions(items)}];const createSliderControl=(options={})=>[ToggleSlider,{...options}];const createFontFamilyControl=fontFamilies=>[Dropdown,{title:locale=>locale.shapeTitleFontFamily,onload:({options=[]})=>{if(!canCheckFontAvailability())return;options.map(([stack])=>stack).filter(Boolean).filter(stack=>!someFontsAvailableInStack(stack)).forEach(stack=>{const testId=`PinturaFontTest-${stack.replace(/[^a-zA-Z0-9]+/g,\"\").toLowerCase()}`;if(document.getElementById(testId))return;appendForMeasuring(h(\"span\",{textContent:\" \",id:testId,style:`font-family:${stack};font-size:0;color:transparent;`}))})},optionLabelStyle:value=>`font-family: ${value}`,options:createControlOptions(fontFamilies,{defaultKey:\"labelDefault\"}),optionFilter:fontFamilyOption=>{if(!canCheckFontAvailability())return true;const[stack]=fontFamilyOption;if(!stack)return true;const res=someFontsAvailableInStack(stack);return res}}];const createBackgroundColorControl=items=>[ColorPicker,{title:locale=>locale.shapeTitleBackgroundColor,options:createControlOptions(items)}];const createStrokeColorControl=(items,options={})=>[ColorPicker,{title:locale=>locale.shapeTitleStrokeColor,options:createControlOptions(items),buttonClass:\"PinturaColorPickerButtonStroke\",onchange:(value,shape)=>{const strokeWidth=shape.strokeWidth;const strokeWidthParsed=isNumber(strokeWidth)||isString(strokeWidth)?parseFloat(strokeWidth):0;if(strokeWidthParsed>0)return;shape.strokeWidth=options&&options.defaultStrokeWidth||\"0.5%\"}}];const createStrokeWidthControl=items=>[Dropdown,{title:locale=>locale.shapeTitleStrokeWidth,options:shape=>{if(hasProp(shape,\"backgroundColor\"))return createControlOptions(items,{defaultKey:\"shapeLabelStrokeNone\"});return createControlOptions(items)}}];const createLineControl=(items,titleKey,optionIconStyle)=>[Dropdown,{title:locale=>locale[titleKey],options:createControlOptions(items,{defaultKey:\"labelNone\",defaultOptions:{icon:``}}),optionIconStyle:optionIconStyle}];const createLineStartStyleControl=items=>createLineControl(items,\"shapeTitleLineStart\",`transform: scaleX(-1)`);const createLineEndStyleControl=items=>createLineControl(items,\"shapeTitleLineEnd\");const createFontColorControl=items=>[ColorPicker,{title:locale=>locale.shapeTitleTextColor,options:createControlOptions(items)}];const createFontStyleControl=items=>[Dropdown,{title:locale=>locale.shapeTitleFontStyle,optionLabelStyle:value=>value&&`font-style:${value[0]};font-weight:${value[1]}`,options:createControlOptions(items,{defaultKey:\"shapeLabelFontStyleNormal\"})}];const createFontSizeControl=items=>{let options;if(!items.find(([value])=>value===\"4%\")){options={defaultKey:\"labelAuto\",defaultValue:\"4%\"}}return[Dropdown,{title:locale=>locale.shapeTitleFontSize,options:createControlOptions(items,options)}]};const createTextAlignControl=items=>[RadioGroup,{title:locale=>locale.shapeTitleTextAlign,options:createControlOptions(items)}];const createLineHeightControl=items=>{let options;if(!items.find(([value])=>value===\"120%\")){options={defaultKey:\"labelAuto\",defaultValue:\"120%\"}}return[Dropdown,{title:locale=>locale.shapeTitleLineHeight,options:createControlOptions(items,options)}]};const autoFormatNumberItems=arr=>arr.map(mapToSizeOption);const createShapeStyleControls=(options={})=>{const{colorOptions=createColorOptions(createDefaultColorOptions()),lineEndStyleOptions=createLineEndStyleOptions(createDefaultLineEndStyleOptions()),fontFamilyOptions=createFontFamilyOptions(createDefaultFontFamilyOptions()),fontStyleOptions=createFontStyleOptions(createDefaultFontStyleOptions()),textAlignOptions=createTextAlignOptions(createDefaultTextAlignOptions())}=options;let{strokeWidthOptions=createStrokeScaleOptions(createDefaultStrokeScaleOptions()),fontSizeOptions=createFontScaleOptions(createDefaultFontScaleOptions()),lineHeightOptions=createLineHeightScaleOptions(createDefaultLineHeightScaleOptions())}=options;[fontSizeOptions,lineHeightOptions,strokeWidthOptions]=[fontSizeOptions,lineHeightOptions,strokeWidthOptions].map(items=>{if(Array.isArray(items)&&items.every(isNumber)){return autoFormatNumberItems(items)}return items});const controls={defaultColor:colorOptions&&createColorControl(colorOptions),defaultNumber:createSliderControl(),defaultPercentage:createSliderControl({getValue:value=>parseFloat(value),setValue:value=>`${value}%`,step:.05,label:(value,min,max)=>`${Math.round(value/max*100)}%`,labelClass:\"PinturaPercentageLabel\"}),backgroundColor:colorOptions&&createBackgroundColorControl(colorOptions),strokeColor:colorOptions&&createStrokeColorControl(colorOptions),strokeWidth:strokeWidthOptions&&createStrokeWidthControl(strokeWidthOptions),lineStart:lineEndStyleOptions&&createLineStartStyleControl(lineEndStyleOptions),lineEnd:lineEndStyleOptions&&createLineEndStyleControl(lineEndStyleOptions),color:colorOptions&&createFontColorControl(colorOptions),fontFamily:fontFamilyOptions&&createFontFamilyControl(fontFamilyOptions),fontStyle_fontWeight:fontStyleOptions&&createFontStyleControl(fontStyleOptions),fontSize:fontSizeOptions&&createFontSizeControl(fontSizeOptions),lineHeight:lineHeightOptions&&createLineHeightControl(lineHeightOptions),textAlign:textAlignOptions&&createTextAlignControl(textAlignOptions),frameColor:[\"defaultColor\"],frameSize:[\"defaultPercentage\",{min:.2,max:10,title:locale=>locale.labelSize}],frameInset:[\"defaultPercentage\",{min:.5,max:10,title:locale=>locale.labelInset}],frameOffset:[\"defaultPercentage\",{min:.5,max:10,title:locale=>locale.labelOffset}],frameRadius:[\"defaultPercentage\",{min:.5,max:10,title:locale=>locale.labelRadius}],frameAmount:[\"defaultNumber\",{min:1,max:5,step:1,title:locale=>locale.labelAmount}]};Object.entries(options).forEach(([key,value])=>{if(controls[key])return;controls[key]=value});return controls};function create_fragment$s(ctx){let div;let current;let mounted;let dispose;const default_slot_template=ctx[3].default;const default_slot=create_slot(default_slot_template,ctx,ctx[2],null);return{c(){div=element(\"div\");if(default_slot)default_slot.c();attr(div,\"class\",ctx[0])},m(target,anchor){insert(target,div,anchor);if(default_slot){default_slot.m(div,null)}current=true;if(!mounted){dispose=[listen(div,\"measure\",ctx[1]),action_destroyer(measurable.call(null,div))];mounted=true}},p(ctx,[dirty]){if(default_slot){if(default_slot.p&&dirty&4){update_slot(default_slot,default_slot_template,ctx,ctx[2],dirty,null,null)}}if(!current||dirty&1){attr(div,\"class\",ctx[0])}},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(div);if(default_slot)default_slot.d(detaching);mounted=false;run_all(dispose)}}}function instance$s($$self,$$props,$$invalidate){let{$$slots:slots={},$$scope}=$$props;const dispatch=createEventDispatcher();let{class:klass=null}=$$props;const handleResize=({detail})=>dispatch(\"measure\",detail);$$self.$$set=$$props=>{if(\"class\"in $$props)$$invalidate(0,klass=$$props.class);if(\"$$scope\"in $$props)$$invalidate(2,$$scope=$$props.$$scope)};return[klass,handleResize,$$scope,slots]}class Measure extends SvelteComponent{constructor(options){super();init(this,options,instance$s,create_fragment$s,safe_not_equal,{class:0})}}const get_footer_slot_changes=dirty=>({});const get_footer_slot_context=ctx=>({});const get_main_slot_changes=dirty=>({});const get_main_slot_context=ctx=>({});const get_header_slot_changes=dirty=>({});const get_header_slot_context=ctx=>({});function create_if_block_2$4(ctx){let div;let current;const header_slot_template=ctx[4].header;const header_slot=create_slot(header_slot_template,ctx,ctx[3],get_header_slot_context);return{c(){div=element(\"div\");if(header_slot)header_slot.c();attr(div,\"class\",\"PinturaUtilHeader\")},m(target,anchor){insert(target,div,anchor);if(header_slot){header_slot.m(div,null)}current=true},p(ctx,dirty){if(header_slot){if(header_slot.p&&dirty&8){update_slot(header_slot,header_slot_template,ctx,ctx[3],dirty,get_header_slot_changes,get_header_slot_context)}}},i(local){if(current)return;transition_in(header_slot,local);current=true},o(local){transition_out(header_slot,local);current=false},d(detaching){if(detaching)detach(div);if(header_slot)header_slot.d(detaching)}}}function fallback_block(ctx){let measure;let current;measure=new Measure({props:{class:\"PinturaStage\"}});measure.$on(\"measure\",ctx[5]);return{c(){create_component(measure.$$.fragment)},m(target,anchor){mount_component(measure,target,anchor);current=true},p:noop,i(local){if(current)return;transition_in(measure.$$.fragment,local);current=true},o(local){transition_out(measure.$$.fragment,local);current=false},d(detaching){destroy_component(measure,detaching)}}}function create_if_block_1$5(ctx){let div;let current;const footer_slot_template=ctx[4].footer;const footer_slot=create_slot(footer_slot_template,ctx,ctx[3],get_footer_slot_context);return{c(){div=element(\"div\");if(footer_slot)footer_slot.c();attr(div,\"class\",\"PinturaUtilFooter\")},m(target,anchor){insert(target,div,anchor);if(footer_slot){footer_slot.m(div,null)}current=true},p(ctx,dirty){if(footer_slot){if(footer_slot.p&&dirty&8){update_slot(footer_slot,footer_slot_template,ctx,ctx[3],dirty,get_footer_slot_changes,get_footer_slot_context)}}},i(local){if(current)return;transition_in(footer_slot,local);current=true},o(local){transition_out(footer_slot,local);current=false},d(detaching){if(detaching)detach(div);if(footer_slot)footer_slot.d(detaching)}}}function create_fragment$r(ctx){let t0;let div;let t1;let t2;let if_block2_anchor;let current;let if_block0=ctx[1]&&create_if_block_2$4(ctx);const main_slot_template=ctx[4].main;const main_slot=create_slot(main_slot_template,ctx,ctx[3],get_main_slot_context);const main_slot_or_fallback=main_slot||fallback_block(ctx);let if_block1=ctx[2]&&create_if_block_1$5(ctx);let if_block2=false;return{c(){if(if_block0)if_block0.c();t0=space();div=element(\"div\");if(main_slot_or_fallback)main_slot_or_fallback.c();t1=space();if(if_block1)if_block1.c();t2=space();if_block2_anchor=empty();attr(div,\"class\",\"PinturaUtilMain\")},m(target,anchor){if(if_block0)if_block0.m(target,anchor);insert(target,t0,anchor);insert(target,div,anchor);if(main_slot_or_fallback){main_slot_or_fallback.m(div,null)}ctx[6](div);insert(target,t1,anchor);if(if_block1)if_block1.m(target,anchor);insert(target,t2,anchor);insert(target,if_block2_anchor,anchor);current=true},p(ctx,[dirty]){if(ctx[1]){if(if_block0){if_block0.p(ctx,dirty);if(dirty&2){transition_in(if_block0,1)}}else{if_block0=create_if_block_2$4(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t0.parentNode,t0)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(main_slot){if(main_slot.p&&dirty&8){update_slot(main_slot,main_slot_template,ctx,ctx[3],dirty,get_main_slot_changes,get_main_slot_context)}}if(ctx[2]){if(if_block1){if_block1.p(ctx,dirty);if(dirty&4){transition_in(if_block1,1)}}else{if_block1=create_if_block_1$5(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(t2.parentNode,t2)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(main_slot_or_fallback,local);transition_in(if_block1);transition_in(if_block2);current=true},o(local){transition_out(if_block0);transition_out(main_slot_or_fallback,local);transition_out(if_block1);transition_out(if_block2);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t0);if(detaching)detach(div);if(main_slot_or_fallback)main_slot_or_fallback.d(detaching);ctx[6](null);if(detaching)detach(t1);if(if_block1)if_block1.d(detaching);if(detaching)detach(t2);if(detaching)detach(if_block2_anchor)}}}function instance$r($$self,$$props,$$invalidate){let{$$slots:slots={},$$scope}=$$props;let{hasHeader=!!$$props.$$slots.header}=$$props;let{hasFooter=!!$$props.$$slots.footer}=$$props;let{root=undefined}=$$props;function measure_handler(event){bubble($$self,event)}function div_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{root=$$value;$$invalidate(0,root)})}$$self.$$set=$$new_props=>{$$invalidate(7,$$props=assign(assign({},$$props),exclude_internal_props($$new_props)));if(\"hasHeader\"in $$new_props)$$invalidate(1,hasHeader=$$new_props.hasHeader);if(\"hasFooter\"in $$new_props)$$invalidate(2,hasFooter=$$new_props.hasFooter);if(\"root\"in $$new_props)$$invalidate(0,root=$$new_props.root);if(\"$$scope\"in $$new_props)$$invalidate(3,$$scope=$$new_props.$$scope)};$$props=exclude_internal_props($$props);return[root,hasHeader,hasFooter,$$scope,slots,measure_handler,div_binding]}class Util extends SvelteComponent{constructor(options){super();init(this,options,instance$r,create_fragment$r,safe_not_equal,{hasHeader:1,hasFooter:2,root:0})}}function create_if_block$5(ctx){let div;let div_style_value;return{c(){div=element(\"div\");attr(div,\"class\",\"PinturaRangeInputMeter\");attr(div,\"style\",div_style_value=`transform: translateX(${ctx[8].x-ctx[9].x}px) translateY(${ctx[8].y-ctx[9].y}px)`)},m(target,anchor){insert(target,div,anchor);div.innerHTML=ctx[6]},p(ctx,dirty){if(dirty[0]&64)div.innerHTML=ctx[6];if(dirty[0]&256&&div_style_value!==(div_style_value=`transform: translateX(${ctx[8].x-ctx[9].x}px) translateY(${ctx[8].y-ctx[9].y}px)`)){attr(div,\"style\",div_style_value)}},d(detaching){if(detaching)detach(div)}}}function create_fragment$q(ctx){let div1;let span;let t0;let t1;let button;let t2;let button_disabled_value;let t3;let div0;let mounted;let dispose;let if_block=ctx[8]&&create_if_block$5(ctx);return{c(){div1=element(\"div\");span=element(\"span\");t0=text(ctx[3]);t1=space();button=element(\"button\");t2=text(ctx[1]);t3=space();div0=element(\"div\");if(if_block)if_block.c();attr(span,\"class\",\"PinturaRangeInputValue\");attr(button,\"class\",\"PinturaRangeInputReset\");attr(button,\"type\",\"button\");button.disabled=button_disabled_value=ctx[0]===ctx[2];attr(div0,\"class\",\"PinturaRangeInputInner\");attr(div0,\"style\",ctx[7]);attr(div0,\"data-value-limited\",ctx[5]);attr(div1,\"class\",\"PinturaRangeInput\");attr(div1,\"tabindex\",\"0\")},m(target,anchor){insert(target,div1,anchor);append(div1,span);append(span,t0);append(div1,t1);append(div1,button);append(button,t2);append(div1,t3);append(div1,div0);if(if_block)if_block.m(div0,null);if(!mounted){dispose=[listen(button,\"click\",ctx[14]),listen(div0,\"interactionstart\",ctx[10]),listen(div0,\"interactionupdate\",ctx[12]),listen(div0,\"interactionend\",ctx[13]),listen(div0,\"interactionrelease\",ctx[11]),action_destroyer(interactable.call(null,div0,{inertia:true})),listen(div0,\"measure\",ctx[32]),action_destroyer(measurable.call(null,div0)),listen(div1,\"wheel\",ctx[16],{passive:false}),listen(div1,\"nudge\",ctx[17]),action_destroyer(nudgeable.call(null,div1,{direction:\"horizontal\"}))];mounted=true}},p(ctx,dirty){if(dirty[0]&8)set_data(t0,ctx[3]);if(dirty[0]&2)set_data(t2,ctx[1]);if(dirty[0]&5&&button_disabled_value!==(button_disabled_value=ctx[0]===ctx[2])){button.disabled=button_disabled_value}if(ctx[8]){if(if_block){if_block.p(ctx,dirty)}else{if_block=create_if_block$5(ctx);if_block.c();if_block.m(div0,null)}}else if(if_block){if_block.d(1);if_block=null}if(dirty[0]&128){attr(div0,\"style\",ctx[7])}if(dirty[0]&32){attr(div0,\"data-value-limited\",ctx[5])}},i:noop,o:noop,d(detaching){if(detaching)detach(div1);if(if_block)if_block.d();mounted=false;run_all(dispose)}}}const radiusBig=2;const radiusSmall=.75;const indicatorSpacing=10;const indicatorInterval=5;const indicatorCount=40;function instance$q($$self,$$props,$$invalidate){let range;let valueMinLimited;let valueMaxLimited;let barSize;let baseFraction;let isLimited;let rangeMask;let $position;let{labelReset=\"Reset\"}=$$props;let{direction=\"x\"}=$$props;let{min=0}=$$props;let{max=1}=$$props;let{base=min}=$$props;let{value=0}=$$props;let{valueLabel=0}=$$props;let{valueMin=undefined}=$$props;let{valueMax=undefined}=$$props;let{oninputstart=noop$1}=$$props;let{oninputmove=noop$1}=$$props;let{oninputend=noop$1}=$$props;let{elasticity=0}=$$props;const round=(number,increment,offset)=>Math.ceil((number-offset)/increment)*increment+offset;let size;let svg;let svgSize;const svgPadding={x:2,y:0};const createPathCircle=(cx,cy,r)=>`M ${cx-r} ${cy} a ${r} ${r} 0 1 0 0 -1`;function getMask(limitedMin,limitedMax){const step=1/indicatorCount;const from=toFraction(limitedMin,min,max);const to=toFraction(limitedMax,min,max);const fromSnapped=fixPrecision(round(from,step,0)-step*.5);const toSnapped=fixPrecision(round(to,step,0)-step*.5);return`--range-mask-from:${fromSnapped*100}%;--range-mask-to:${toSnapped*100}%`}let interactionOrigin=undefined;let interactionReleased=false;let interactionRange;let interactionOptions={snap:false,elastic:false};const handleDragStart=()=>{interactionReleased=false;interactionOrigin=get_store_value(position);interactionRange=[valueToPosition(valueMin!=null?valueMin:min,direction),valueToPosition(valueMax!=null?valueMax:max,direction)];oninputstart()};const handleDragRelease=()=>{interactionReleased=true};const handleDragMove=({detail})=>{interactionOptions.snap=!interactionReleased;interactionOptions.elastic=!interactionReleased;translatePosition(interactionOrigin,detail.translation,interactionOptions)};const handleDragEnd=({detail})=>{interactionOptions.snap=false;interactionOptions.elastic=false;const valueAtPosition=translatePosition(interactionOrigin,detail.translation,interactionOptions);interactionOrigin=undefined;interactionRange=undefined;if(Math.abs(valueAtPosition-base)<.01)return oninputend(base);oninputend(valueAtPosition)};const translatePosition=(origin,translation,options)=>{const target=origin[direction]+translation[direction];const targetLimited=clamp(target,interactionRange[1][direction],interactionRange[0][direction]);const targetElastic=elasticity?targetLimited+elastify(target-targetLimited,elasticity):targetLimited;const targetVisual=options.elastic?targetElastic:targetLimited;const targetValid=vectorCreate(0,0);targetValid[direction]=targetVisual;position.set(targetValid,{hard:options.snap});return clamp(positionToValue(targetValid,direction),min,max)};const handleReset=()=>{$$invalidate(0,value=clamp(base,valueMinLimited,valueMaxLimited));oninputstart();oninputend(value)};const position=spring();component_subscribe($$self,position,value=>$$invalidate(8,$position=value));const valueToPosition=(value,axis)=>{const offset=(size[axis]-barSize[axis])*.5;const fraction=toFraction(value,min,max);const v=fraction*barSize[axis]-barSize[axis]*.5;const pos=offset-v;return{x:axis===\"x\"?pos:0,y:axis===\"y\"?pos:0}};const positionToValue=(position,axis)=>{const dist=position[axis]-size[axis]*.5;const fraction=-(dist/barSize[axis]);return min+fraction*range};const positionUnsub=position.subscribe(currentPosition=>{if(!currentPosition||!interactionOrigin)return;oninputmove(clamp(positionToValue(currentPosition,direction),min,max))});const updatePosition=value=>{const interactionRange=[valueToPosition(valueMin!=null?valueMin:min,direction),valueToPosition(valueMax!=null?valueMax:max,direction)];const target={x:direction===\"x\"?$position.x+value:0,y:direction===\"y\"?$position.y+value:0};const targetLimited=clamp(target[direction],interactionRange[1][direction],interactionRange[0][direction]);const positionTarget={...$position,[direction]:targetLimited};set_store_value(position,$position=positionTarget,$position);const result=clamp(positionToValue(positionTarget,direction),min,max);oninputstart();oninputmove(result);oninputend(result)};const handleWheel=e=>{e.preventDefault();e.stopPropagation();const step=8;const delta=getWheelDelta(e)*step;updatePosition(delta)};const handleNudge=({detail})=>{updatePosition(detail[direction]*8)};onDestroy(()=>{positionUnsub()});const measure_handler=e=>$$invalidate(4,size=vectorCreateFromSize(e.detail));$$self.$$set=$$props=>{if(\"labelReset\"in $$props)$$invalidate(1,labelReset=$$props.labelReset);if(\"direction\"in $$props)$$invalidate(18,direction=$$props.direction);if(\"min\"in $$props)$$invalidate(19,min=$$props.min);if(\"max\"in $$props)$$invalidate(20,max=$$props.max);if(\"base\"in $$props)$$invalidate(2,base=$$props.base);if(\"value\"in $$props)$$invalidate(0,value=$$props.value);if(\"valueLabel\"in $$props)$$invalidate(3,valueLabel=$$props.valueLabel);if(\"valueMin\"in $$props)$$invalidate(21,valueMin=$$props.valueMin);if(\"valueMax\"in $$props)$$invalidate(22,valueMax=$$props.valueMax);if(\"oninputstart\"in $$props)$$invalidate(23,oninputstart=$$props.oninputstart);if(\"oninputmove\"in $$props)$$invalidate(24,oninputmove=$$props.oninputmove);if(\"oninputend\"in $$props)$$invalidate(25,oninputend=$$props.oninputend);if(\"elasticity\"in $$props)$$invalidate(26,elasticity=$$props.elasticity)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&1572864){$$invalidate(28,range=max-min)}if($$self.$$.dirty[0]&2621440){$$invalidate(29,valueMinLimited=valueMin!=null?Math.max(valueMin,min):min)}if($$self.$$.dirty[0]&5242880){$$invalidate(30,valueMaxLimited=valueMax!=null?Math.min(valueMax,max):max)}if($$self.$$.dirty[0]&1572868){$$invalidate(31,baseFraction=toFraction(base,min,max))}if($$self.$$.dirty[0]&16|$$self.$$.dirty[1]&1){if(size){const centerY=size.y*.5;let indicatorCenter=indicatorCount*baseFraction;let d=\"\";let svgWidth;let svgHeight=size.y;let centerShape=\"\";for(let i=0;i<=indicatorCount;i++){const x=svgPadding.x+i*indicatorSpacing;const y=centerY;const r=i%indicatorInterval===0?radiusBig:radiusSmall;d+=createPathCircle(x,y,r)+\" \";svgWidth=x+svgPadding.x;if(i===indicatorCenter){centerShape=``}}$$invalidate(6,svg=`\n ${centerShape}\n \n `);$$invalidate(27,svgSize={x:svgWidth-svgPadding.x*2,y:svgHeight})}}if($$self.$$.dirty[0]&134217744){barSize=size&&svgSize}if($$self.$$.dirty[0]&1612185600){$$invalidate(5,isLimited=valueMinLimited!==min||valueMaxLimited!==max)}if($$self.$$.dirty[0]&1610612768){$$invalidate(7,rangeMask=isLimited?getMask(valueMinLimited,valueMaxLimited):\"\")}if($$self.$$.dirty[0]&268697617){if(range&&size&&size.x&&size.y){position.set(valueToPosition(value,direction))}}};return[value,labelReset,base,valueLabel,size,isLimited,svg,rangeMask,$position,svgPadding,handleDragStart,handleDragRelease,handleDragMove,handleDragEnd,handleReset,position,handleWheel,handleNudge,direction,min,max,valueMin,valueMax,oninputstart,oninputmove,oninputend,elasticity,svgSize,range,valueMinLimited,valueMaxLimited,baseFraction,measure_handler]}class RangeInput extends SvelteComponent{constructor(options){super();init(this,options,instance$q,create_fragment$q,safe_not_equal,{labelReset:1,direction:18,min:19,max:20,base:2,value:0,valueLabel:3,valueMin:21,valueMax:22,oninputstart:23,oninputmove:24,oninputend:25,elasticity:26},[-1,-1])}}function create_fragment$p(ctx){let div1;let div0;let current;let mounted;let dispose;const default_slot_template=ctx[7].default;const default_slot=create_slot(default_slot_template,ctx,ctx[6],null);return{c(){div1=element(\"div\");div0=element(\"div\");if(default_slot)default_slot.c();attr(div0,\"class\",\"PinturaToolbarInner\");attr(div1,\"class\",\"PinturaToolbar\");attr(div1,\"data-layout\",ctx[1]);attr(div1,\"data-overflow\",ctx[0])},m(target,anchor){insert(target,div1,anchor);append(div1,div0);if(default_slot){default_slot.m(div0,null)}current=true;if(!mounted){dispose=[listen(div0,\"measure\",ctx[3]),action_destroyer(measurable.call(null,div0)),listen(div1,\"measure\",ctx[2]),action_destroyer(measurable.call(null,div1))];mounted=true}},p(ctx,[dirty]){if(default_slot){if(default_slot.p&&dirty&64){update_slot(default_slot,default_slot_template,ctx,ctx[6],dirty,null,null)}}if(!current||dirty&2){attr(div1,\"data-layout\",ctx[1])}if(!current||dirty&1){attr(div1,\"data-overflow\",ctx[0])}},i(local){if(current)return;transition_in(default_slot,local);current=true},o(local){transition_out(default_slot,local);current=false},d(detaching){if(detaching)detach(div1);if(default_slot)default_slot.d(detaching);mounted=false;run_all(dispose)}}}function instance$p($$self,$$props,$$invalidate){let layout;let{$$slots:slots={},$$scope}=$$props;let childWidth=0;let childMaxWidth=0;let parentWidth=0;let overflow;const testOverflow=()=>{$$invalidate(0,overflow=layout===\"compact\"&&childWidth>parentWidth?\"overflow\":undefined)};const handleParentResizeEvent=({detail})=>{const{width}=detail;$$invalidate(5,parentWidth=width);testOverflow()};const handleChildResizeEvent=({detail})=>{const{width}=detail;if(width>childMaxWidth){$$invalidate(4,childMaxWidth=width)}childWidth=width;if(!overflow)testOverflow()};$$self.$$set=$$props=>{if(\"$$scope\"in $$props)$$invalidate(6,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty&48){$$invalidate(1,layout=childMaxWidth>parentWidth?\"compact\":\"default\")}};return[overflow,layout,handleParentResizeEvent,handleChildResizeEvent,childMaxWidth,parentWidth,$$scope,slots]}class Toolbar extends SvelteComponent{constructor(options){super();init(this,options,instance$p,create_fragment$p,safe_not_equal,{})}}const Direction={Top:\"t\",Right:\"r\",Bottom:\"b\",Left:\"l\",TopLeft:\"tl\",TopRight:\"tr\",BottomRight:\"br\",BottomLeft:\"bl\"};const{Top,Right,Bottom,Left,TopLeft,TopRight,BottomRight,BottomLeft}=Direction;var DirectionRectMap={[Top]:rect=>({x:rect.x,y:rect.y}),[TopRight]:rect=>({x:rect.x+rect.width,y:rect.y}),[Right]:rect=>({x:rect.x+rect.width,y:rect.y}),[BottomRight]:rect=>({x:rect.x+rect.width,y:rect.y+rect.height}),[Bottom]:rect=>({x:rect.x,y:rect.y+rect.height}),[BottomLeft]:rect=>({x:rect.x,y:rect.y+rect.height}),[Left]:rect=>({x:rect.x,y:rect.y}),[TopLeft]:rect=>({x:rect.x,y:rect.y})};function get_each_context$5(ctx,list,i){const child_ctx=ctx.slice();child_ctx[12]=list[i].key;child_ctx[13]=list[i].translate;child_ctx[14]=list[i].scale;child_ctx[15]=list[i].type;child_ctx[16]=list[i].opacity;return child_ctx}function create_each_block$5(key_1,ctx){let div;let div_aria_label_value;let div_tabindex_value;let div_data_direction_value;let div_data_shape_value;let div_style_value;let mounted;let dispose;return{key:key_1,first:null,c(){div=element(\"div\");attr(div,\"role\",\"button\");attr(div,\"aria-label\",div_aria_label_value=`Drag ${ctx[15]} ${ctx[12]}`);attr(div,\"tabindex\",div_tabindex_value=ctx[15]===\"edge\"?-1:0);attr(div,\"class\",\"PinturaRectManipulator\");attr(div,\"data-direction\",div_data_direction_value=ctx[12]);attr(div,\"data-shape\",div_data_shape_value=`${ctx[15]===\"edge\"?\"edge\":`${ctx[0]}`}`);attr(div,\"style\",div_style_value=`transform: translate3d(${ctx[13].x}px, ${ctx[13].y}px, 0) scale(${ctx[14].x}, ${ctx[14].y}); opacity: ${ctx[16]}`);this.first=div},m(target,anchor){insert(target,div,anchor);if(!mounted){dispose=[listen(div,\"nudge\",function(){if(is_function(ctx[5](ctx[12])))ctx[5](ctx[12]).apply(this,arguments)}),action_destroyer(nudgeable.call(null,div)),listen(div,\"interactionstart\",function(){if(is_function(ctx[4](\"resizestart\",ctx[12])))ctx[4](\"resizestart\",ctx[12]).apply(this,arguments)}),listen(div,\"interactionupdate\",function(){if(is_function(ctx[4](\"resizemove\",ctx[12])))ctx[4](\"resizemove\",ctx[12]).apply(this,arguments)}),listen(div,\"interactionend\",function(){if(is_function(ctx[4](\"resizeend\",ctx[12])))ctx[4](\"resizeend\",ctx[12]).apply(this,arguments)}),action_destroyer(interactable.call(null,div))];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(dirty&2&&div_aria_label_value!==(div_aria_label_value=`Drag ${ctx[15]} ${ctx[12]}`)){attr(div,\"aria-label\",div_aria_label_value)}if(dirty&2&&div_tabindex_value!==(div_tabindex_value=ctx[15]===\"edge\"?-1:0)){attr(div,\"tabindex\",div_tabindex_value)}if(dirty&2&&div_data_direction_value!==(div_data_direction_value=ctx[12])){attr(div,\"data-direction\",div_data_direction_value)}if(dirty&3&&div_data_shape_value!==(div_data_shape_value=`${ctx[15]===\"edge\"?\"edge\":`${ctx[0]}`}`)){attr(div,\"data-shape\",div_data_shape_value)}if(dirty&2&&div_style_value!==(div_style_value=`transform: translate3d(${ctx[13].x}px, ${ctx[13].y}px, 0) scale(${ctx[14].x}, ${ctx[14].y}); opacity: ${ctx[16]}`)){attr(div,\"style\",div_style_value)}},d(detaching){if(detaching)detach(div);mounted=false;run_all(dispose)}}}function create_fragment$o(ctx){let each_blocks=[];let each_1_lookup=new Map;let each_1_anchor;let each_value=ctx[1];const get_key=ctx=>ctx[12];for(let i=0;i$$invalidate(8,$selectionScale=value));const selectionOpacity=spring(0,{precision:.001});component_subscribe($$self,selectionOpacity,value=>$$invalidate(9,$selectionOpacity=value));let currentDirection;const dispatch=createEventDispatcher();const route=(type,direction)=>({detail})=>{if(currentDirection&&direction!==currentDirection)return;if(type!==\"resizestart\"&¤tDirection===undefined)return;if(type===\"resizestart\")currentDirection=direction;if(type===\"resizeend\")currentDirection=undefined;dispatch(type,{direction:direction,translation:detail&&detail.translation})};const nudge=direction=>({detail})=>{dispatch(`resizestart`,{direction:direction,translation:{x:0,y:0}});dispatch(`resizemove`,{direction:direction,translation:detail});dispatch(`resizeend`,{direction:direction,translation:{x:0,y:0}})};$$self.$$set=$$props=>{if(\"rect\"in $$props)$$invalidate(6,rect=$$props.rect);if(\"visible\"in $$props)$$invalidate(7,visible=$$props.visible);if(\"style\"in $$props)$$invalidate(0,style=$$props.style)};$$self.$$.update=()=>{if($$self.$$.dirty&128){selectionScale.set(visible?1:.5)}if($$self.$$.dirty&128){selectionOpacity.set(visible?1:0)}if($$self.$$.dirty&832){$$invalidate(1,mappedDirections=Object.keys(Direction).map((key,i)=>{const direction=Direction[key];const position=DirectionRectMap[direction](rect);const type=direction.length===1?\"edge\":\"corner\";const isCorner=type===\"corner\";return{key:direction,type:type,scale:{x:/^(t|b)$/.test(direction)?rect.width:isCorner?clamp($selectionScale,.5,1.25):1,y:/^(r|l)$/.test(direction)?rect.height:isCorner?clamp($selectionScale,.5,1.25):1},translate:{x:position.x,y:position.y},opacity:$selectionOpacity}}))}};return[style,mappedDirections,selectionScale,selectionOpacity,route,nudge,rect,visible,$selectionScale,$selectionOpacity]}class RectManipulator extends SvelteComponent{constructor(options){super();init(this,options,instance$o,create_fragment$o,safe_not_equal,{rect:6,visible:7,style:0})}}var gesturable=element=>{function dispatch(type,detail){element.dispatchEvent(new CustomEvent(type,{detail:detail}))}const handleGestureStart=e=>{e.preventDefault();element.addEventListener(\"gesturechange\",handleGestureChange);element.addEventListener(\"gestureend\",handleGestureEnd);dispatch(\"gesturedown\")};const handleGestureChange=e=>{e.preventDefault();dispatch(\"gestureupdate\",e.scale)};const handleGestureEnd=e=>{dispatch(\"gestureup\",e.scale);e.preventDefault();clean()};const clean=()=>{element.removeEventListener(\"gesturechange\",handleGestureChange);element.removeEventListener(\"gestureend\",handleGestureEnd)};element.addEventListener(\"gesturestart\",handleGestureStart);return{destroy:()=>{clean();element.removeEventListener(\"gesturestart\",handleGestureStart)}}};var getEventPositionInViewport=e=>vectorCreate(e.clientX,e.clientY);var getEventPositionInStage=(e,viewOffset,stageOffset)=>{const positionInViewport=getEventPositionInViewport(e);return vectorSubtract(vectorSubtract(positionInViewport,viewOffset),stageOffset)};var DirectionInversionTable={[Top]:Bottom,[Right]:Left,[Bottom]:Top,[Left]:Right,[TopLeft]:BottomRight,[TopRight]:BottomLeft,[BottomRight]:TopLeft,[BottomLeft]:TopRight};var DirectionCoordinateTable={[Top]:[.5,0],[Right]:[1,.5],[Bottom]:[.5,1],[Left]:[0,.5],[TopLeft]:[0,0],[TopRight]:[1,0],[BottomRight]:[1,1],[BottomLeft]:[0,1]};var getTranslationInfo=target=>{const translateToRight=target===Right||target===TopRight||target===BottomRight;const translateToLeft=target===Left||target===BottomLeft||target===TopLeft;const translateToTop=target===Top||target===TopRight||target===TopLeft;const translateToBottom=target===Bottom||target===BottomRight||target===BottomLeft;const translateHorizontally=target===Left||target===Right;const translateVertically=target===Top||target===Bottom;const translateAxis=translateHorizontally||translateVertically;return[translateToRight,translateToLeft,translateToTop,translateToBottom,translateHorizontally,translateVertically,translateAxis]};var limitRectDirectionTranslation=(rect,transform,bounds,options={})=>{const{target,translate}=transform;const{aspectRatio,minSize,maxSize}=options;const anchor=DirectionInversionTable[target];const anchorDirectionCoordinates=DirectionCoordinateTable[anchor];const anchorPosition=vectorAdd(vectorCreate(rect.x,rect.y),vectorCreate(anchorDirectionCoordinates[0]*rect.width,anchorDirectionCoordinates[1]*rect.height));const targetDirectionCoordinates=DirectionCoordinateTable[target];const targetPosition=vectorAdd(rectClone(rect),vectorCreate(targetDirectionCoordinates[0]*rect.width,targetDirectionCoordinates[1]*rect.height));const[translateToRight,translateToLeft,translateToTop,translateToBottom,translateHorizontally,translateVertically,translateAxis]=getTranslationInfo(target);let tx=translate.x;let ty=translate.y;if(translateHorizontally)ty=0;else if(translateVertically)tx=0;const interactionBounds=getInteractionBounds(anchorPosition,target,bounds,{aspectRatio:aspectRatio,minSize:minSize,maxSize:maxSize});let[t,r,b,l]=rectToBounds(rect);if(translateToRight)l=anchorPosition.x;else if(translateToLeft)r=anchorPosition.x;if(translateToBottom)t=anchorPosition.y;else if(translateToTop)b=anchorPosition.y;if(translateToRight){const innerR=interactionBounds.inner.x+interactionBounds.inner.width;const outerR=interactionBounds.outer.x+interactionBounds.outer.width;r=clamp(targetPosition.x+tx,innerR,outerR)}else if(translateToLeft){const innerL=interactionBounds.outer.x;const outerL=interactionBounds.inner.x;l=clamp(targetPosition.x+tx,innerL,outerL)}if(translateToBottom){const innerB=interactionBounds.inner.y+interactionBounds.inner.height;const outerB=interactionBounds.outer.y+interactionBounds.outer.height;b=clamp(targetPosition.y+ty,innerB,outerB)}else if(translateToTop){const innerT=interactionBounds.outer.y;const outerT=interactionBounds.inner.y;t=clamp(targetPosition.y+ty,innerT,outerT)}if(aspectRatio){if(translateAxis){let dx=r-l;let dy=b-t;if(translateHorizontally){dy=dx/aspectRatio;t=anchorPosition.y-dy*.5;b=anchorPosition.y+dy*.5}else if(translateVertically){dx=dy*aspectRatio;l=anchorPosition.x-dx*.5;r=anchorPosition.x+dx*.5}}else{const pointer=vectorCreate(targetPosition.x+tx-anchorPosition.x,targetPosition.y+ty-anchorPosition.y);if(target===TopRight){pointer.x=Math.max(0,pointer.x);pointer.y=Math.min(0,pointer.y)}else if(target===BottomRight){pointer.x=Math.max(0,pointer.x);pointer.y=Math.max(0,pointer.y)}else if(target===BottomLeft){pointer.x=Math.min(0,pointer.x);pointer.y=Math.max(0,pointer.y)}else if(target===TopLeft){pointer.x=Math.min(0,pointer.x);pointer.y=Math.min(0,pointer.y)}const pointerLength=vectorLength(pointer);const pointerLengthMin=vectorLength(vectorCreate(interactionBounds.inner.width,interactionBounds.inner.height));const pointerLengthMax=vectorLength(vectorCreate(interactionBounds.outer.width,interactionBounds.outer.height));const pointerLengthLimited=clamp(pointerLength,pointerLengthMin,pointerLengthMax);const pointerAspectRatio=vectorCreate(aspectRatio,1);const pointerScaled=vectorMultiply(vectorNormalize(pointerAspectRatio),pointerLengthLimited);if(target===TopRight){r=anchorPosition.x+pointerScaled.x;t=anchorPosition.y-pointerScaled.y}else if(target===BottomRight){r=anchorPosition.x+pointerScaled.x;b=anchorPosition.y+pointerScaled.y}else if(target===BottomLeft){l=anchorPosition.x-pointerScaled.x;b=anchorPosition.y+pointerScaled.y}else if(target===TopLeft){l=anchorPosition.x-pointerScaled.x;t=anchorPosition.y-pointerScaled.y}}}return rectCreate(l,t,r-l,b-t)};const getInteractionBounds=(anchor,dir,bounds,options)=>{const{aspectRatio,minSize,maxSize}=options;const translateToRight=dir===Right||dir===TopRight||dir===BottomRight;const translateToLeft=dir===Left||dir===BottomLeft||dir===TopLeft;const translateToTop=dir===Top||dir===TopRight||dir===TopLeft;const translateToBottom=dir===Bottom||dir===BottomRight||dir===BottomLeft;const translateHorizontally=dir===Left||dir===Right;const translateVertically=dir===Top||dir===Bottom;const limitedBounds=rectClone(bounds);if(translateToRight){limitedBounds.x=anchor.x;limitedBounds.width-=anchor.x}else if(translateToLeft){limitedBounds.width=anchor.x}if(translateToBottom){limitedBounds.y=anchor.y;limitedBounds.height-=anchor.y}else if(translateToTop){limitedBounds.height=anchor.y}const maxSizeLimitedToBounds=rectCreateFromDimensions(Math.min(limitedBounds.width,maxSize.width),Math.min(limitedBounds.height,maxSize.height));if(aspectRatio){if(translateHorizontally){const verticalSpace=Math.min(anchor.y,bounds.height-anchor.y);maxSizeLimitedToBounds.height=Math.min(verticalSpace*2,maxSizeLimitedToBounds.height)}else if(translateVertically){const horizontalSpace=Math.min(anchor.x,bounds.width-anchor.x);maxSizeLimitedToBounds.width=Math.min(horizontalSpace*2,maxSizeLimitedToBounds.width)}}const maxSizeLimited=aspectRatio?sizeCreateFromRect(rectContainRect(maxSizeLimitedToBounds,aspectRatio)):maxSizeLimitedToBounds;const minSizeLimited=aspectRatio?sizeCreateFromRect(rectCoverRect(rectCreateFromSize(minSize),aspectRatio)):minSize;let l,r,t,b;if(translateToRight)l=anchor.x;else if(translateToLeft)r=anchor.x;if(translateToBottom)t=anchor.y;else if(translateToTop)b=anchor.y;if(translateToRight){r=l+minSizeLimited.width}else if(translateToLeft){l=r-minSizeLimited.width}if(translateToBottom){b=t+minSizeLimited.height}else if(translateToTop){t=b-minSizeLimited.height}if(translateHorizontally){t=anchor.y-minSizeLimited.height*.5;b=anchor.y+minSizeLimited.height*.5}else if(translateVertically){l=anchor.x-minSizeLimited.width*.5;r=anchor.x+minSizeLimited.width*.5}const inner=rectCreateFromPoints(vectorCreate(l,t),vectorCreate(r,b));if(translateToRight){r=l+maxSizeLimited.width}else if(translateToLeft){l=r-maxSizeLimited.width}if(translateToBottom){b=t+maxSizeLimited.height}else if(translateToTop){t=b-maxSizeLimited.height}if(translateHorizontally){t=anchor.y-maxSizeLimited.height*.5;b=anchor.y+maxSizeLimited.height*.5}else if(translateVertically){l=anchor.x-maxSizeLimited.width*.5;r=anchor.x+maxSizeLimited.width*.5}const outer=rectCreateFromPoints(vectorCreate(l,t),vectorCreate(r,b));return{inner:inner,outer:outer}};var applyRectDirectionTranslation=(rect,transform,options={})=>{const{target,translate}=transform;const{aspectRatio}=options;const anchor=DirectionInversionTable[target];const anchorDirectionCoordinates=DirectionCoordinateTable[anchor];const anchorPosition=vectorAdd(rectClone(rect),vectorCreate(anchorDirectionCoordinates[0]*rect.width,anchorDirectionCoordinates[1]*rect.height));const targetDirectionCoordinates=DirectionCoordinateTable[target];const targetPosition=vectorAdd(rectClone(rect),vectorCreate(targetDirectionCoordinates[0]*rect.width,targetDirectionCoordinates[1]*rect.height));const[translateToRight,translateToLeft,translateToTop,translateToBottom,translateHorizontally,translateVertically,translateAxis]=getTranslationInfo(target);let tx=translate.x;let ty=translate.y;if(translateHorizontally)ty=0;else if(translateVertically)tx=0;let[t,r,b,l]=rectToBounds(rect);if(translateToRight)l=anchorPosition.x;else if(translateToLeft)r=anchorPosition.x;if(translateToBottom)t=anchorPosition.y;else if(translateToTop)b=anchorPosition.y;if(translateToRight){r=targetPosition.x+tx}else if(translateToLeft){l=targetPosition.x+tx}if(translateToBottom){b=targetPosition.y+ty}else if(translateToTop){t=targetPosition.y+ty}if(aspectRatio){if(translateAxis){let dx=r-l;let dy=b-t;if(translateHorizontally){dy=dx/aspectRatio;t=anchorPosition.y-dy*.5;b=anchorPosition.y+dy*.5}else if(translateVertically){dx=dy*aspectRatio;l=anchorPosition.x-dx*.5;r=anchorPosition.x+dx*.5}}else{const pointer=vectorCreate(targetPosition.x+tx-anchorPosition.x,targetPosition.y+ty-anchorPosition.y);if(target===TopRight){pointer.x=Math.max(0,pointer.x);pointer.y=Math.min(0,pointer.y)}else if(target===BottomRight){pointer.x=Math.max(0,pointer.x);pointer.y=Math.max(0,pointer.y)}else if(target===BottomLeft){pointer.x=Math.min(0,pointer.x);pointer.y=Math.max(0,pointer.y)}else if(target===TopLeft){pointer.x=Math.min(0,pointer.x);pointer.y=Math.min(0,pointer.y)}const pointerLength=vectorLength(pointer);const pointerAspectRatio=vectorCreate(aspectRatio,1);const pointerScaled=vectorMultiply(vectorNormalize(pointerAspectRatio),pointerLength);if(target===TopRight){r=anchorPosition.x+pointerScaled.x;t=anchorPosition.y-pointerScaled.y}else if(target===BottomRight){r=anchorPosition.x+pointerScaled.x;b=anchorPosition.y+pointerScaled.y}else if(target===BottomLeft){l=anchorPosition.x-pointerScaled.x;b=anchorPosition.y+pointerScaled.y}else if(target===TopLeft){l=anchorPosition.x-pointerScaled.x;t=anchorPosition.y-pointerScaled.y}}}return rectCreate(l,t,r-l,b-t)};var radToDeg=rad=>rad*180/Math.PI;function create_fragment$n(ctx){let div;let rangeinput;let current;rangeinput=new RangeInput({props:{elasticity:ctx[5],min:ctx[7],max:ctx[8],value:ctx[12],valueMin:ctx[0],valueMax:ctx[1],labelReset:ctx[6],base:ctx[11],valueLabel:`${Math.round(radToDeg(ctx[12]))}°`,oninputstart:ctx[2],oninputmove:ctx[14],oninputend:ctx[15]}});return{c(){div=element(\"div\");create_component(rangeinput.$$.fragment);attr(div,\"class\",\"PinturaImageRotator\")},m(target,anchor){insert(target,div,anchor);mount_component(rangeinput,div,null);current=true},p(ctx,[dirty]){const rangeinput_changes={};if(dirty&32)rangeinput_changes.elasticity=ctx[5];if(dirty&128)rangeinput_changes.min=ctx[7];if(dirty&256)rangeinput_changes.max=ctx[8];if(dirty&4096)rangeinput_changes.value=ctx[12];if(dirty&1)rangeinput_changes.valueMin=ctx[0];if(dirty&2)rangeinput_changes.valueMax=ctx[1];if(dirty&64)rangeinput_changes.labelReset=ctx[6];if(dirty&2048)rangeinput_changes.base=ctx[11];if(dirty&4096)rangeinput_changes.valueLabel=`${Math.round(radToDeg(ctx[12]))}°`;if(dirty&4)rangeinput_changes.oninputstart=ctx[2];if(dirty&1544)rangeinput_changes.oninputmove=ctx[14];if(dirty&1552)rangeinput_changes.oninputend=ctx[15];rangeinput.$set(rangeinput_changes)},i(local){if(current)return;transition_in(rangeinput.$$.fragment,local);current=true},o(local){transition_out(rangeinput.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(rangeinput)}}}const MARGIN=1e-9;function instance$n($$self,$$props,$$invalidate){let min;let max;let center;let sign;let turns;let value;const HALF_PI=Math.PI/2;const QUARTER_PI=Math.PI/4;let{rotation}=$$props;let{valueMin}=$$props;let{valueMax}=$$props;let{oninputstart=noop$1}=$$props;let{oninputmove=noop$1}=$$props;let{oninputend=noop$1}=$$props;let{elasticity=0}=$$props;let{labelReset=undefined}=$$props;const func=value=>oninputmove(sign*turns+value);const func_1=value=>oninputend(sign*turns+value);$$self.$$set=$$props=>{if(\"rotation\"in $$props)$$invalidate(13,rotation=$$props.rotation);if(\"valueMin\"in $$props)$$invalidate(0,valueMin=$$props.valueMin);if(\"valueMax\"in $$props)$$invalidate(1,valueMax=$$props.valueMax);if(\"oninputstart\"in $$props)$$invalidate(2,oninputstart=$$props.oninputstart);if(\"oninputmove\"in $$props)$$invalidate(3,oninputmove=$$props.oninputmove);if(\"oninputend\"in $$props)$$invalidate(4,oninputend=$$props.oninputend);if(\"elasticity\"in $$props)$$invalidate(5,elasticity=$$props.elasticity);if(\"labelReset\"in $$props)$$invalidate(6,labelReset=$$props.labelReset)};$$self.$$.update=()=>{if($$self.$$.dirty&384){$$invalidate(11,center=min+(max-min)*.5)}if($$self.$$.dirty&8192){$$invalidate(9,sign=Math.sign(rotation))}if($$self.$$.dirty&8192){$$invalidate(10,turns=Math.round(Math.abs(rotation)/HALF_PI)*HALF_PI)}if($$self.$$.dirty&9728){$$invalidate(12,value=rotation-sign*turns)}};$$invalidate(7,min=-QUARTER_PI+MARGIN);$$invalidate(8,max=QUARTER_PI-MARGIN);return[valueMin,valueMax,oninputstart,oninputmove,oninputend,elasticity,labelReset,min,max,sign,turns,center,value,rotation,func,func_1]}class ImageRotator extends SvelteComponent{constructor(options){super();init(this,options,instance$n,create_fragment$n,safe_not_equal,{rotation:13,valueMin:0,valueMax:1,oninputstart:2,oninputmove:3,oninputend:4,elasticity:5,labelReset:6})}}function create_fragment$m(ctx){let div;let p;let t0;let t1;let t2;return{c(){div=element(\"div\");p=element(\"p\");t0=text(ctx[0]);t1=text(\" × \");t2=text(ctx[1]);attr(div,\"class\",\"PinturaImageInfo\")},m(target,anchor){insert(target,div,anchor);append(div,p);append(p,t0);append(p,t1);append(p,t2)},p(ctx,[dirty]){if(dirty&1)set_data(t0,ctx[0]);if(dirty&2)set_data(t2,ctx[1])},i:noop,o:noop,d(detaching){if(detaching)detach(div)}}}function instance$m($$self,$$props,$$invalidate){let{width}=$$props;let{height}=$$props;$$self.$$set=$$props=>{if(\"width\"in $$props)$$invalidate(0,width=$$props.width);if(\"height\"in $$props)$$invalidate(1,height=$$props.height)};return[width,height]}class ImageInfo extends SvelteComponent{constructor(options){super();init(this,options,instance$m,create_fragment$m,safe_not_equal,{width:0,height:1})}}var getSelectionPresetOptionIcon=(value,options={})=>{const{width=24,height=24,bounds=16,radius=3}=options;let aspectRatio=isArray(value)?getAspectRatio(value[0],value[1]):value;let aspectRatioDefined=!!aspectRatio;aspectRatio=aspectRatioDefined?aspectRatio:1;let x;let y;let w;let h;w=aspectRatio>1?bounds:aspectRatio*bounds;h=w/aspectRatio;x=Math.round((width-w)*.5);y=Math.round((height-h)*.5);const fill=aspectRatioDefined?\"currentColor\":\"none\";const stroke=aspectRatioDefined?\"none\":\"currentColor\";const strokeWidth=width/16;const strokeDashArray=[width/12,width/6].join(\" \");return``};function create_default_slot_2$2(ctx){let dynamiccomponenttree;let current;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[0]}});return{c(){create_component(dynamiccomponenttree.$$.fragment)},m(target,anchor){mount_component(dynamiccomponenttree,target,anchor);current=true},p(ctx,dirty){const dynamiccomponenttree_changes={};if(dirty[0]&1)dynamiccomponenttree_changes.items=ctx[0];dynamiccomponenttree.$set(dynamiccomponenttree_changes)},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);current=false},d(detaching){destroy_component(dynamiccomponenttree,detaching)}}}function create_header_slot(ctx){let div;let toolbar;let current;toolbar=new Toolbar({props:{$$slots:{default:[create_default_slot_2$2]},$$scope:{ctx:ctx}}});return{c(){div=element(\"div\");create_component(toolbar.$$.fragment);attr(div,\"slot\",\"header\")},m(target,anchor){insert(target,div,anchor);mount_component(toolbar,div,null);current=true},p(ctx,dirty){const toolbar_changes={};if(dirty[0]&1|dirty[6]&128){toolbar_changes.$$scope={dirty:dirty,ctx:ctx}}toolbar.$set(toolbar_changes)},i(local){if(current)return;transition_in(toolbar.$$.fragment,local);current=true},o(local){transition_out(toolbar.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(toolbar)}}}function create_if_block_5$2(ctx){let button;let current;button=new Button({props:{onclick:ctx[80],label:ctx[4].cropLabelButtonRecenter,icon:ctx[4].cropIconButtonRecenter,class:\"PinturaButtonCenter\",disabled:!ctx[10],hideLabel:true,style:`opacity: ${ctx[27]}; transform: translate3d(${ctx[28].x}px, ${ctx[28].y}px, 0)`}});return{c(){create_component(button.$$.fragment)},m(target,anchor){mount_component(button,target,anchor);current=true},p(ctx,dirty){const button_changes={};if(dirty[0]&16)button_changes.label=ctx[4].cropLabelButtonRecenter;if(dirty[0]&16)button_changes.icon=ctx[4].cropIconButtonRecenter;if(dirty[0]&1024)button_changes.disabled=!ctx[10];if(dirty[0]&402653184)button_changes.style=`opacity: ${ctx[27]}; transform: translate3d(${ctx[28].x}px, ${ctx[28].y}px, 0)`;button.$set(button_changes)},i(local){if(current)return;transition_in(button.$$.fragment,local);current=true},o(local){transition_out(button.$$.fragment,local);current=false},d(detaching){destroy_component(button,detaching)}}}function create_if_block_4$3(ctx){let rectmanipulator;let current;rectmanipulator=new RectManipulator({props:{rect:ctx[11],visible:ctx[9],style:ctx[2]}});rectmanipulator.$on(\"resizestart\",ctx[60]);rectmanipulator.$on(\"resizemove\",ctx[61]);rectmanipulator.$on(\"resizeend\",ctx[62]);return{c(){create_component(rectmanipulator.$$.fragment)},m(target,anchor){mount_component(rectmanipulator,target,anchor);current=true},p(ctx,dirty){const rectmanipulator_changes={};if(dirty[0]&2048)rectmanipulator_changes.rect=ctx[11];if(dirty[0]&512)rectmanipulator_changes.visible=ctx[9];if(dirty[0]&4)rectmanipulator_changes.style=ctx[2];rectmanipulator.$set(rectmanipulator_changes)},i(local){if(current)return;transition_in(rectmanipulator.$$.fragment,local);current=true},o(local){transition_out(rectmanipulator.$$.fragment,local);current=false},d(detaching){destroy_component(rectmanipulator,detaching)}}}function create_if_block_3$3(ctx){let imageinfo;let current;imageinfo=new ImageInfo({props:{width:Math.round(ctx[7].width),height:Math.round(ctx[7].height)}});return{c(){create_component(imageinfo.$$.fragment)},m(target,anchor){mount_component(imageinfo,target,anchor);current=true},p(ctx,dirty){const imageinfo_changes={};if(dirty[0]&128)imageinfo_changes.width=Math.round(ctx[7].width);if(dirty[0]&128)imageinfo_changes.height=Math.round(ctx[7].height);imageinfo.$set(imageinfo_changes)},i(local){if(current)return;transition_in(imageinfo.$$.fragment,local);current=true},o(local){transition_out(imageinfo.$$.fragment,local);current=false},d(detaching){destroy_component(imageinfo,detaching)}}}function create_main_slot$1(ctx){let div1;let div0;let t0;let interactable_action;let t1;let current;let mounted;let dispose;let if_block0=ctx[17]&&ctx[18]&&create_if_block_5$2(ctx);let if_block1=ctx[17]&&create_if_block_4$3(ctx);let if_block2=ctx[16]&&create_if_block_3$3(ctx);return{c(){div1=element(\"div\");div0=element(\"div\");if(if_block0)if_block0.c();t0=space();if(if_block1)if_block1.c();t1=space();if(if_block2)if_block2.c();attr(div0,\"class\",\"PinturaStage\");attr(div1,\"slot\",\"main\")},m(target,anchor){insert(target,div1,anchor);append(div1,div0);if(if_block0)if_block0.m(div0,null);append(div0,t0);if(if_block1)if_block1.m(div0,null);ctx[146](div0);append(div1,t1);if(if_block2)if_block2.m(div1,null);current=true;if(!mounted){dispose=[listen(div0,\"measure\",ctx[144]),action_destroyer(measurable.call(null,div0)),listen(div0,\"wheel\",function(){if(is_function(ctx[3]&&ctx[79]))(ctx[3]&&ctx[79]).apply(this,arguments)},{passive:false}),listen(div0,\"interactionstart\",ctx[66]),listen(div0,\"interactionupdate\",ctx[67]),listen(div0,\"interactionrelease\",ctx[69]),listen(div0,\"interactionend\",ctx[68]),action_destroyer(interactable_action=interactable.call(null,div0,{drag:true,pinch:ctx[3],inertia:true,matchTarget:true,getEventPosition:ctx[147]})),listen(div0,\"gesturedown\",ctx[76]),listen(div0,\"gestureupdate\",ctx[77]),listen(div0,\"gestureup\",ctx[78]),action_destroyer(gesturable.call(null,div0))];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(ctx[17]&&ctx[18]){if(if_block0){if_block0.p(ctx,dirty);if(dirty[0]&393216){transition_in(if_block0,1)}}else{if_block0=create_if_block_5$2(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(div0,t0)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(ctx[17]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&131072){transition_in(if_block1,1)}}else{if_block1=create_if_block_4$3(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(div0,null)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}if(interactable_action&&is_function(interactable_action.update)&&dirty[0]&32776)interactable_action.update.call(null,{drag:true,pinch:ctx[3],inertia:true,matchTarget:true,getEventPosition:ctx[147]});if(ctx[16]){if(if_block2){if_block2.p(ctx,dirty);if(dirty[0]&65536){transition_in(if_block2,1)}}else{if_block2=create_if_block_3$3(ctx);if_block2.c();transition_in(if_block2,1);if_block2.m(div1,null)}}else if(if_block2){group_outros();transition_out(if_block2,1,1,()=>{if_block2=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);transition_in(if_block2);current=true},o(local){transition_out(if_block0);transition_out(if_block1);transition_out(if_block2);current=false},d(detaching){if(detaching)detach(div1);if(if_block0)if_block0.d();if(if_block1)if_block1.d();ctx[146](null);if(if_block2)if_block2.d();mounted=false;run_all(dispose)}}}function create_if_block$4(ctx){let tablist;let t;let tabpanels;let current;const tablist_spread_levels=[{class:\"PinturaControlList\"},{tabs:ctx[12]},ctx[21]];let tablist_props={$$slots:{default:[create_default_slot_1$3,({tab})=>({192:tab}),({tab})=>[0,0,0,0,0,0,tab?64:0]]},$$scope:{ctx:ctx}};for(let i=0;i({191:panel}),({panel})=>[0,0,0,0,0,0,panel?32:0]]},$$scope:{ctx:ctx}};for(let i=0;i{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}else{if_block=null}}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(~current_block_type_index){if_blocks[current_block_type_index].d(detaching)}if(detaching)detach(if_block_anchor)}}}function create_footer_slot$5(ctx){let div;let current;let if_block=ctx[20]&&create_if_block$4(ctx);return{c(){div=element(\"div\");if(if_block)if_block.c();attr(div,\"slot\",\"footer\");attr(div,\"style\",ctx[23])},m(target,anchor){insert(target,div,anchor);if(if_block)if_block.m(div,null);current=true},p(ctx,dirty){if(ctx[20]){if(if_block){if_block.p(ctx,dirty);if(dirty[0]&1048576){transition_in(if_block,1)}}else{if_block=create_if_block$4(ctx);if_block.c();transition_in(if_block,1);if_block.m(div,null)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}if(!current||dirty[0]&8388608){attr(div,\"style\",ctx[23])}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(if_block)if_block.d()}}}function create_fragment$l(ctx){let util;let updating_root;let current;function util_root_binding(value){ctx[148](value)}let util_props={hasHeader:ctx[19],$$slots:{footer:[create_footer_slot$5],main:[create_main_slot$1],header:[create_header_slot]},$$scope:{ctx:ctx}};if(ctx[13]!==void 0){util_props.root=ctx[13]}util=new Util({props:util_props});binding_callbacks.push(()=>bind(util,\"root\",util_root_binding));util.$on(\"measure\",ctx[149]);return{c(){create_component(util.$$.fragment)},m(target,anchor){mount_component(util,target,anchor);current=true},p(ctx,dirty){const util_changes={};if(dirty[0]&524288)util_changes.hasHeader=ctx[19];if(dirty[0]&536338429|dirty[6]&128){util_changes.$$scope={dirty:dirty,ctx:ctx}}if(!updating_root&&dirty[0]&8192){updating_root=true;util_changes.root=ctx[13];add_flush_callback(()=>updating_root=false)}util.$set(util_changes)},i(local){if(current)return;transition_in(util.$$.fragment,local);current=true},o(local){transition_out(util.$$.fragment,local);current=false},d(detaching){destroy_component(util,detaching)}}}const imageZoomLevelMax=1;const imageZoomLevelBase=0;function instance$l($$self,$$props,$$invalidate){let imageZoomLevelMin;let imageSelectionOffset;let imageSelectionCenter;let imageSelectionCenteredRect;let isImageSelectionDisplayed;let isImageSelectionCentered;let isResizingSelection;let isMaxSelectionRect;let isOverlayMode;let canZoomToCenter;let canCenter;let shouldRenderInfoIndicator;let shouldRenderImageSelection;let shouldRenderImageSelectionRecenterButton;let imageSelectionRectOffset;let hasPlentyVerticalSpace;let shouldRenderPresetSelect;let shouldRenderToolbar;let couldRenderZoomInput;let shouldRenderZoomInput;let shouldRenderFooter;let tabsConfig;let tabs;let panels;let footerStyle;let $imageCropAspectRatio;let $imageCropRect;let $imageSize;let $imageRotation;let $imageFlipY;let $imageFlipX;let $selectedPresetIndex;let $imageOutputSize;let $imageCropMinSize;let $imageCropLimitToImage;let $env;let $isActive,$$unsubscribe_isActive=noop,$$subscribe_isActive=()=>($$unsubscribe_isActive(),$$unsubscribe_isActive=subscribe(isActive,$$value=>$$invalidate(9,$isActive=$$value)),isActive);let $isInteracting;let $imageSelectionRectSnapshot;let $imageSelectionRect;let $presentationScalar;let $imageCropMaxSize;let $imageSelectionRectIntent;let $utilRect;let $imageCropRectOrigin;let $imageCropRectIntent;let $imageCropRange;let $rootRect;let $stageRect;let $imageCropRangeAspectRatio;let $imageSelectionRectPresentation;let $imageScalar;let $framePadded;let $imagePreviewModifiers;let $imageOverlayMarkup;let $imageSelectionGuides;let $animation;let $footerOffset;let $imageRotationRange;let $imageZoomLevelRange;let $imageZoomLevel;let $recenterOpacity;let $recenterOffset;$$self.$$.on_destroy.push(()=>$$unsubscribe_isActive());const name=\"crop\";let{isActive}=$$props;$$subscribe_isActive();let{stores}=$$props;let{cropImageSelectionCornerStyle=\"circle\"}=$$props;let{cropWillRenderImageSelectionGuides=(interaction,interactionFraction)=>{const isRotating=interaction==\"rotate\";return{rows:isRotating?5:3,cols:isRotating?5:3,opacity:interactionFraction*.25}}}=$$props;let{cropAutoCenterImageSelectionTimeout=undefined}=$$props;let{cropEnableZoomMatchImageAspectRatio=true}=$$props;let{cropEnableRotateMatchImageAspectRatio=\"never\"}=$$props;let{cropEnableRotationInput=true}=$$props;let{cropEnableZoom=true}=$$props;let{cropEnableZoomInput=true}=$$props;let{cropEnableZoomAutoHide=true}=$$props;let{cropEnableImageSelection=true}=$$props;let{cropEnableInfoIndicator=false}=$$props;let{cropEnableZoomTowardsWheelPosition=true}=$$props;let{cropEnableLimitWheelInputToCropSelection=true}=$$props;let{cropEnableCenterImageSelection=true}=$$props;let{cropEnableButtonRotateLeft=true}=$$props;let{cropEnableButtonRotateRight=false}=$$props;let{cropEnableButtonFlipHorizontal=true}=$$props;let{cropEnableButtonFlipVertical=false}=$$props;let{cropSelectPresetOptions=undefined}=$$props;let{cropEnableSelectPreset=true}=$$props;let{cropEnableButtonToggleCropLimit=false}=$$props;let{cropWillRenderTools=passthrough}=$$props;let{cropActiveTransformTool=\"rotation\"}=$$props;let{locale={}}=$$props;let{tools=[]}=$$props;let interaction=\"idle\";const isCustomCrop=()=>$imageCropAspectRatio===undefined;const turnAspectRatio=aspectRatio=>1/aspectRatio;const hasValidRotatedCropAspectRatio=()=>{if($imageCropAspectRatio===1)return false;const rotatedImageCropAspectRatio=turnAspectRatio($imageCropAspectRatio);if(!cropSelectPresetOptions)return false;if(!flattenOptions(cropSelectPresetOptions).find(([aspectRatio])=>aspectRatio===rotatedImageCropAspectRatio))return false;return true};const isCropMaxSize=(imageCropRect,imageSize,imageRotation)=>isRotatedSideways(imageRotation)?imageSize.width===Math.round(imageCropRect.height)||imageSize.height===Math.round(imageCropRect.width):imageSize.width===Math.round(imageCropRect.width)||imageSize.height===Math.round(imageCropRect.height);const isCropCentered=(imageCropRect,imageSize,imageRotation)=>{const imageSizeRotated=sizeApply(sizeRotate(sizeClone(imageSize),imageRotation),v=>Math.abs(Math.round(v)));const imageCenter=sizeCenter(imageSizeRotated);const cropCenter=rectCenter(imageCropRect);return vectorEqual(imageCenter,cropCenter)};const canMatchCropAspectRatioToRotation=()=>(isCustomCrop()||cropEnableRotateMatchImageAspectRatio===\"always\"&&hasValidRotatedCropAspectRatio())&&isCropCentered($imageCropRect,$imageSize,$imageRotation)&&isCropMaxSize($imageCropRect,$imageSize,$imageRotation);const applyRotation=value=>{if(cropEnableRotateMatchImageAspectRatio!==\"never\"&&canMatchCropAspectRatioToRotation()){set_store_value(imageRotation,$imageRotation+=value,$imageRotation);const isRotated=isRotatedSideways($imageRotation);const w=isRotated?$imageSize.height:$imageSize.width;const h=isRotated?$imageSize.width:$imageSize.height;set_store_value(imageCropRect,$imageCropRect=rectCreate(0,0,w,h),$imageCropRect);if(!isCustomCrop())set_store_value(imageCropAspectRatio,$imageCropAspectRatio=getAspectRatio(w,h),$imageCropAspectRatio)}else{set_store_value(imageRotation,$imageRotation+=value,$imageRotation)}};const{history,env,isInteracting,isInteractingFraction,rootRect,stageRect,utilRect,rootLineColor,animation,elasticityMultiplier,rangeInputElasticity,presentationScalar,imagePreviewModifiers,imageOutlineOpacity,imageFlipX,imageFlipY,imageRotation,imageRotationRange,imageOutputSize,imageSelectionRect,imageSelectionRectSnapshot,imageSelectionRectIntent,imageSelectionRectPresentation,imageCropRectIntent,imageCropRectOrigin,imageCropRect,imageCropMinSize,imageCropMaxSize,imageCropRange,imageCropAspectRatio,imageCropRectAspectRatio,imageCropLimitToImage,imageSize,imageScalar,imageOverlayMarkup,framePadded}=stores;component_subscribe($$self,env,value=>$$invalidate(119,$env=value));component_subscribe($$self,isInteracting,value=>$$invalidate(120,$isInteracting=value));component_subscribe($$self,rootRect,value=>$$invalidate(15,$rootRect=value));component_subscribe($$self,stageRect,value=>$$invalidate(125,$stageRect=value));component_subscribe($$self,utilRect,value=>$$invalidate(124,$utilRect=value));component_subscribe($$self,animation,value=>$$invalidate(142,$animation=value));component_subscribe($$self,presentationScalar,value=>$$invalidate(123,$presentationScalar=value));component_subscribe($$self,imagePreviewModifiers,value=>$$invalidate(137,$imagePreviewModifiers=value));component_subscribe($$self,imageFlipX,value=>$$invalidate(113,$imageFlipX=value));component_subscribe($$self,imageFlipY,value=>$$invalidate(112,$imageFlipY=value));component_subscribe($$self,imageRotation,value=>$$invalidate(8,$imageRotation=value));component_subscribe($$self,imageRotationRange,value=>$$invalidate(24,$imageRotationRange=value));component_subscribe($$self,imageOutputSize,value=>$$invalidate(160,$imageOutputSize=value));component_subscribe($$self,imageSelectionRect,value=>$$invalidate(122,$imageSelectionRect=value));component_subscribe($$self,imageSelectionRectSnapshot,value=>$$invalidate(121,$imageSelectionRectSnapshot=value));component_subscribe($$self,imageSelectionRectIntent,value=>$$invalidate(162,$imageSelectionRectIntent=value));component_subscribe($$self,imageSelectionRectPresentation,value=>$$invalidate(128,$imageSelectionRectPresentation=value));component_subscribe($$self,imageCropRectIntent,value=>$$invalidate(164,$imageCropRectIntent=value));component_subscribe($$self,imageCropRectOrigin,value=>$$invalidate(163,$imageCropRectOrigin=value));component_subscribe($$self,imageCropRect,value=>$$invalidate(7,$imageCropRect=value));component_subscribe($$self,imageCropMinSize,value=>$$invalidate(117,$imageCropMinSize=value));component_subscribe($$self,imageCropMaxSize,value=>$$invalidate(161,$imageCropMaxSize=value));component_subscribe($$self,imageCropRange,value=>$$invalidate(165,$imageCropRange=value));component_subscribe($$self,imageCropAspectRatio,value=>$$invalidate(159,$imageCropAspectRatio=value));component_subscribe($$self,imageCropLimitToImage,value=>$$invalidate(118,$imageCropLimitToImage=value));component_subscribe($$self,imageSize,value=>$$invalidate(111,$imageSize=value));component_subscribe($$self,imageScalar,value=>$$invalidate(135,$imageScalar=value));component_subscribe($$self,imageOverlayMarkup,value=>$$invalidate(167,$imageOverlayMarkup=value));component_subscribe($$self,framePadded,value=>$$invalidate(136,$framePadded=value));let presentationScalarSnapshot;let imageSelectionRectMinSize;let imageSelectionRectMaxSize;const handleSelectionGrab=()=>{interaction=\"select\";set_store_value(isInteracting,$isInteracting=true,$isInteracting);set_store_value(imageSelectionRectSnapshot,$imageSelectionRectSnapshot=rectClone($imageSelectionRect),$imageSelectionRectSnapshot);presentationScalarSnapshot=$presentationScalar;imageSelectionRectMinSize=sizeScale(sizeClone($imageCropMinSize),presentationScalarSnapshot);imageSelectionRectMaxSize=sizeScale(sizeClone($imageCropMaxSize),presentationScalarSnapshot)};const handleSelectionDrag=({detail})=>{const{boundsLimited,boundsIntent}=translateSelection(detail.direction,detail.translation);set_store_value(imageSelectionRectIntent,$imageSelectionRectIntent=boundsIntent,$imageSelectionRectIntent);set_store_value(imageSelectionRect,$imageSelectionRect=boundsLimited,$imageSelectionRect)};const handleSelectionRelease=({detail})=>{const{boundsLimited}=translateSelection(detail.direction,detail.translation);set_store_value(isInteracting,$isInteracting=false,$isInteracting);set_store_value(imageSelectionRectIntent,$imageSelectionRectIntent=undefined,$imageSelectionRectIntent);if(vectorLength(detail.translation)){set_store_value(imageSelectionRect,$imageSelectionRect=boundsLimited,$imageSelectionRect);history.write()}set_store_value(imageSelectionRectSnapshot,$imageSelectionRectSnapshot=undefined,$imageSelectionRectSnapshot);interaction=undefined};const translateSelection=(target,translate)=>{const directionTranslation={target:target,translate:translate};let rectIntended=applyRectDirectionTranslation($imageSelectionRectSnapshot,directionTranslation,{aspectRatio:$imageCropAspectRatio});let cropAspectRatioLimited;const cropSize=sizeCreateFromRect(rectDivide(rectClone(rectIntended),$presentationScalar));getImagePolygon($imageSize,$imageRotation);if(cropSize.width<$imageCropMinSize.width||cropSize.height<$imageCropMinSize.height){const translateUp=translate.y<0;const translateRight=translate.x>0;const translateLeft=translate.x<0;const translateDown=translate.y>0;const couldExceedBounds=target===\"t\"&&translateUp||target===\"r\"&&translateRight||target===\"b\"&&translateDown||target===\"l\"&&translateLeft||target===\"tr\"&&(translateRight||translateUp)||target===\"tl\"&&(translateLeft||translateUp)||target===\"br\"&&(translateRight||translateDown)||target===\"bl\"&&(translateLeft||translateDown);const cropAspectRatio=rectAspectRatio(cropSize);const cropSizeMax=getMaxSizeInRect($imageSize,$imageRotation,cropAspectRatio);if(couldExceedBounds&&(cropSizeMax.width<$imageCropMinSize.width||cropSizeMax.height<$imageCropMinSize.height)){if($imageRotation!==0){const sign=Math.sign($imageRotation);const turns=Math.round(Math.abs($imageRotation)/HALF_PI)*HALF_PI;const value=$imageRotation-sign*turns;const imageIsRotated=turns/HALF_PI%2===1;const imageWidth=imageIsRotated?$imageSize.height:$imageSize.width;const imageHeight=imageIsRotated?$imageSize.width:$imageSize.height;const r=Math.abs(value);const sin=Math.sin(r);const cos=Math.cos(r);if(cropSize.width<$imageCropMinSize.width){cropSize.width=$imageCropMinSize.width;const w=cos*cropSize.width+sin*cropSize.height;const h=sin*cropSize.width+cos*cropSize.height;const dx=imageWidth-w;const dy=imageHeight-h;if(dx{interaction=\"rotate\";set_store_value(isInteracting,$isInteracting=true,$isInteracting);set_store_value(imageCropRectOrigin,$imageCropRectOrigin=rectClone($imageCropRect),$imageCropRectOrigin)};const handleRotateMove=value=>{set_store_value(imageRotation,$imageRotation=value,$imageRotation)};const handleRotateEnd=value=>{set_store_value(isInteracting,$isInteracting=false,$isInteracting);set_store_value(imageRotation,$imageRotation=value,$imageRotation);history.write();set_store_value(imageCropRectOrigin,$imageCropRectOrigin=undefined,$imageCropRectOrigin)};let interactionCropRect=undefined;let interactionCropRectForce=undefined;const handleImageDragStart=()=>{interaction=\"pan\";interactionCropRectForce=undefined;set_store_value(isInteracting,$isInteracting=true,$isInteracting);interactionCropRect=rectClone($imageCropRect)};const handleImageDrag=({detail})=>manipulateImage(detail);const handleImageDragEnd=({detail})=>{set_store_value(isInteracting,$isInteracting=false,$isInteracting);if(vectorLength(detail.translation)>0||detail.scalar!==0){manipulateImage(detail);history.write()}set_store_value(imageCropRectIntent,$imageCropRectIntent=undefined,$imageCropRectIntent);interactionCropRect=undefined};const handleImageDragRelease=({detail})=>{interactionCropRectForce=detail.translation;set_store_value(isInteracting,$isInteracting=false,$isInteracting)};const manipulateImage=({translation,scalar})=>{const imageSelectionRectZoomFactor=Math.min($imageSelectionRect.width/$imageCropRect.width,$imageSelectionRect.height/$imageCropRect.height);const scaledTranslation=vectorMultiply(vectorClone(translation),1/imageSelectionRectZoomFactor);let cropIntent;if(!interactionCropRectForce){cropIntent=rectTranslate(rectClone(interactionCropRect),vectorInvert(vectorClone(scaledTranslation)));if(scalar!==undefined){rectScale(cropIntent,1/scalar)}}else{const forceTranslation=vectorSubtract(vectorClone(interactionCropRectForce),translation);interactionCropRectForce=translation;cropIntent=rectTranslate(rectClone($imageCropRect),forceTranslation)}set_store_value(imageCropRectIntent,$imageCropRectIntent=cropIntent,$imageCropRectIntent);set_store_value(imageCropRect,$imageCropRect=cropIntent,$imageCropRect)};const calculateZoomLevel=(imageSize,size,imageRotation)=>{if(isRotatedSideways(imageRotation)){return 1-1/Math.min(imageSize.height/size.width,imageSize.width/size.height)}return 1-1/Math.min(imageSize.width/size.width,imageSize.height/size.height)};const imageCropRangeAspectRatio=derived([imageCropRange,imageCropRect],([$imageCropRange,$imageCropRect],set)=>{if(!$imageCropRect)return;const[minSize,maxSize]=$imageCropRange;const aspectRatio=rectAspectRatio($imageCropRect);set([sizeCreateFromRect(rectApply(rectCoverRect(minSize,aspectRatio),fixPrecision)),sizeCreateFromRect(rectApply(rectContainRect(maxSize,aspectRatio),fixPrecision))])});component_subscribe($$self,imageCropRangeAspectRatio,value=>$$invalidate(166,$imageCropRangeAspectRatio=value));const imageZoomLevelRange=derived([imageSize,imageCropLimitToImage,imageCropMinSize,imageCropMaxSize,imageCropRange,imageRotation],([$imageSize,$imageCropLimitToImage,$imageCropMinSize,$imageCropMaxSize,$imageCropRange,$imageRotation],set)=>{if(!$imageSize)return;const rangeMinSize=$imageCropRange[0];const rangeMaxSize=$imageCropRange[1];let minZoom;let maxZoom;if($imageCropLimitToImage){minZoom=calculateZoomLevel($imageSize,rangeMaxSize,$imageRotation);maxZoom=Math.min(rangeMinSize.width/$imageCropMinSize.width,rangeMinSize.height/$imageCropMinSize.height)}else{maxZoom=1;minZoom=-1}const range=[fixPrecision(minZoom),fixPrecision(maxZoom)];set(range)});component_subscribe($$self,imageZoomLevelRange,value=>$$invalidate(25,$imageZoomLevelRange=value));const imageZoomLevel=derived([imageSize,imageCropRect,imageCropRange,imageRotation],([$imageSize,$imageCropRect,$imageCropRange,$imageRotation],set)=>{if(!$imageSize||!$imageCropRect)return set(0);let z;const rangeMinSize=$imageCropRange[0];const rangeMaxSize=$imageCropRange[1];const currentCropWidth=$imageCropRect.width;const currentCropHeight=$imageCropRect.height;const currentCropAspectRatio=rectAspectRatio($imageCropRect);const imageRect=isRotatedSideways($imageRotation)?sizeCreate($imageSize.height,$imageSize.width):$imageSize;const imageCropMaxRect=rectContainRect(imageRect,currentCropAspectRatio);if(currentCropWidth<=imageCropMaxRect.width||currentCropHeight<=imageCropMaxRect.height){const w=imageCropMaxRect.width-rangeMinSize.width;const h=imageCropMaxRect.height-rangeMinSize.height;if(w===0||h===0){z=1}else{z=1-Math.min((currentCropWidth-rangeMinSize.width)/w,(currentCropHeight-rangeMinSize.height)/h)}}else{const w=rangeMaxSize.width-imageCropMaxRect.width;const h=rangeMaxSize.height-imageCropMaxRect.height;const r=rectContainRect({width:w,height:h},currentCropAspectRatio);z=-Math.min((currentCropWidth-imageCropMaxRect.width)/r.width,(currentCropHeight-imageCropMaxRect.height)/r.height)}set(z)});component_subscribe($$self,imageZoomLevel,value=>$$invalidate(26,$imageZoomLevel=value));const snapshotCropRect=()=>{interactionCropRect=rectClone($imageCropRect)};const resizeImage=zoom=>{const aspectRatio=rectAspectRatio(interactionCropRect);let targetWidth;let targetHeight;let r;const imageRect=isRotatedSideways($imageRotation)?sizeCreate($imageSize.height,$imageSize.width):$imageSize;const imageCropMaxRect=rectContainRect(imageRect,aspectRatio);if(zoom>=0){const rangeWidth=imageCropMaxRect.width-$imageCropRange[0].width;const rangeHeight=imageCropMaxRect.height-$imageCropRange[0].height;targetWidth=imageCropMaxRect.width-rangeWidth*zoom;targetHeight=imageCropMaxRect.height-rangeHeight*zoom;r=rectCoverRect({width:targetWidth,height:targetHeight},aspectRatio)}else{const rangeWidth=$imageCropRange[1].width-imageCropMaxRect.width;const rangeHeight=$imageCropRange[1].height-imageCropMaxRect.height;targetWidth=imageCropMaxRect.width+rangeWidth*-zoom;targetHeight=imageCropMaxRect.height+rangeHeight*-zoom;r=rectContainRect({width:targetWidth,height:targetHeight},aspectRatio)}targetWidth=r.width;targetHeight=r.height;const targetX=interactionCropRect.x+interactionCropRect.width*.5-targetWidth*.5;const targetY=interactionCropRect.y+interactionCropRect.height*.5-targetHeight*.5;set_store_value(imageCropRect,$imageCropRect={x:targetX,y:targetY,width:targetWidth,height:targetHeight},$imageCropRect)};const handleResizeStart=()=>{interaction=\"zoom\";set_store_value(isInteracting,$isInteracting=true,$isInteracting);snapshotCropRect()};const handleResizeMove=value=>{resizeImage(value)};const handleResizeEnd=value=>{resizeImage(value);history.write();set_store_value(isInteracting,$isInteracting=false,$isInteracting);interactionCropRect=undefined};let gestureOriginCropRect;const handleGestureStart=()=>{interaction=\"zoom\";if(interactionCropRect)return;gestureOriginCropRect=rectClone($imageCropRect);set_store_value(isInteracting,$isInteracting=true,$isInteracting)};const handleGestureUpdate=({detail})=>{if(!gestureOriginCropRect)return;handleScaleGesture(detail)};const handleScaleGesture=scale=>{const cropIntent=rectScale(rectClone(gestureOriginCropRect),1/scale);set_store_value(imageCropRectIntent,$imageCropRectIntent=cropIntent,$imageCropRectIntent);set_store_value(imageCropRect,$imageCropRect=cropIntent,$imageCropRect)};const handleGestureEnd=({detail})=>{if(!gestureOriginCropRect)return;set_store_value(isInteracting,$isInteracting=false,$isInteracting);handleScaleGesture(detail);set_store_value(imageCropRectIntent,$imageCropRectIntent=undefined,$imageCropRectIntent);gestureOriginCropRect=undefined;history.write()};let zoomHistoryTimeoutId;const handleWheel=e=>{const stageWheelPosition=getEventPositionInStage(e,$rootRect,$stageRect);if(cropEnableLimitWheelInputToCropSelection&&!rectContainsPoint($imageSelectionRect,stageWheelPosition))return;interaction=\"zoom\";set_store_value(isInteracting,$isInteracting=true,$isInteracting);e.preventDefault();e.stopPropagation();const delta=getWheelDelta(e);const scalar=1+delta/100;const currentCropRect=rectClone($imageCropRect);const isMinSize=Math.min($imageCropRect.width/$imageCropMinSize.width,$imageCropRect.height/$imageCropMinSize.height)===1;if(cropEnableZoomMatchImageAspectRatio&&$imageCropLimitToImage){const isAtMaxCropSize=isCropMaxSize($imageCropRect,$imageSize,$imageRotation);if(isCustomCrop()&&isAtMaxCropSize&&delta>0&&isImageSelectionCentered){set_store_value(isInteracting,$isInteracting=false,$isInteracting);const newCropRect=isRotatedSideways($imageRotation)?rectCreateFromSize({height:$imageSize.width,width:$imageSize.height}):rectCreateFromSize($imageSize);if(rectEqual(currentCropRect,newCropRect))return;clearTimeout(zoomHistoryTimeoutId);if(rectEqual(history.state.crop,newCropRect))return;set_store_value(imageCropRect,$imageCropRect=newCropRect,$imageCropRect);history.write();return}}let origin=rectCenter($imageCropRect);if(cropEnableZoomTowardsWheelPosition&&delta<0&&!isMinSize){const selectionOffset=vectorSubtract(vectorClone(stageWheelPosition),$imageSelectionRect);const imageSelectionScale=Math.min($imageSelectionRect.width/$imageCropRect.width,$imageSelectionRect.height/$imageCropRect.height);const expandedImageSelection=rectScale(rectClone($imageSelectionRect),1.1);origin=rectContainsPoint(expandedImageSelection,stageWheelPosition)?vectorAdd(rectClone($imageCropRect),vectorMultiply(selectionOffset,1/imageSelectionScale)):origin}let newCropRect=rectScale(rectClone($imageCropRect),scalar,origin);if(!sizeContains($imageCropRangeAspectRatio[1],newCropRect)){newCropRect=rectCreateWithCenter(rectCenter(newCropRect),$imageCropRangeAspectRatio[1])}if(!sizeContains(newCropRect,$imageCropRangeAspectRatio[0])){newCropRect=rectCreateWithCenter(rectCenter(newCropRect),$imageCropRangeAspectRatio[0])}if(rectEqual(currentCropRect,newCropRect,fixPrecision)){set_store_value(isInteracting,$isInteracting=false,$isInteracting);return}set_store_value(imageCropRect,$imageCropRect=rectApply(newCropRect,v=>fixPrecision(v,5)),$imageCropRect);set_store_value(isInteracting,$isInteracting=false,$isInteracting);clearTimeout(zoomHistoryTimeoutId);zoomHistoryTimeoutId=setTimeout(()=>{history.write()},500)};const dispatch=createEventDispatcher();const handleRecenterAction=()=>{dispatch(\"measure\",rectClone($utilRect))};let cropAutoCenterImageSelectionTimeoutId;const recenterOpacity=spring(0,{precision:1e-4});component_subscribe($$self,recenterOpacity,value=>$$invalidate(27,$recenterOpacity=value));const recenterOffset=spring();component_subscribe($$self,recenterOffset,value=>$$invalidate(28,$recenterOffset=value));const selectedPresetIndex=derived([imageCropAspectRatio,imageOutputSize],([$cropAspectRatio,$imageOutputSize],set)=>{if(!cropSelectPresetOptions)return;const options=flattenOptions(cropSelectPresetOptions);const matchedOptionValue=[...options].map(option=>option[0]).sort((a,b)=>{if(isArray(a[0])&&!isArray(b[0]))return 1;return-1}).find(value=>{if(isArray(value)&&$imageOutputSize){const[width,height]=value;const outputSizeMatches=$imageOutputSize.width===width&&$imageOutputSize.height===height;const aspectRatioMatches=$cropAspectRatio===getAspectRatio(width,height);return outputSizeMatches&&aspectRatioMatches}return value===$cropAspectRatio});const index=options.map(option=>option[0]).findIndex(value=>isArray(value)?arrayEqual(value,matchedOptionValue):value===matchedOptionValue);set(index)});component_subscribe($$self,selectedPresetIndex,value=>$$invalidate(115,$selectedPresetIndex=value));const getAspectRatioBySelectedIndex=selectedIndex=>{if(!cropSelectPresetOptions||selectedIndex===-1)return;const selectedValue=flattenOptions(cropSelectPresetOptions)[selectedIndex][0];return!selectedValue?undefined:isArray(selectedValue)?getAspectRatio(selectedValue[0],selectedValue[1]):selectedValue};const imageSelectionGuides=derived([rootLineColor,imageSelectionRectPresentation,isInteractingFraction],([$rootLineColor,$rect,$isInteractingFraction],set)=>{const{rows,cols,opacity}=cropWillRenderImageSelectionGuides(interaction,$isInteractingFraction);if(!$rect||opacity<=0)return set([]);const{x,y,width,height}=$rect;const w=width/cols;const h=height/rows;const shapes=[];for(let r=1;r<=rows-1;r++){const yo=y+h*r;shapes.push({id:`image-selection-guide-row-${r}`,points:[vectorCreate(x,yo),vectorCreate(x+width,yo)],opacity:opacity,strokeWidth:1,strokeColor:$rootLineColor})}for(let c=1;c<=cols-1;c++){const xo=x+w*c;shapes.push({id:`image-selection-guide-col-${c}`,points:[vectorCreate(xo,y),vectorCreate(xo,y+height)],opacity:opacity,strokeWidth:1,strokeColor:$rootLineColor})}set(shapes)});component_subscribe($$self,imageSelectionGuides,value=>$$invalidate(138,$imageSelectionGuides=value));const syncGuides=()=>{const overlayMarkup=$imageOverlayMarkup.filter(markup=>!/^image\\-selection\\-guide/.test(markup.id));if($isActive){set_store_value(imageOverlayMarkup,$imageOverlayMarkup=[...overlayMarkup,...$imageSelectionGuides],$imageOverlayMarkup)}else{set_store_value(imageOverlayMarkup,$imageOverlayMarkup=overlayMarkup,$imageOverlayMarkup)}};const cropUniqueId=`crop-${getUniqueId()}`;let transformInitial=cropEnableRotationInput?cropActiveTransformTool:\"zoom\";let transformToolInitial=cropUniqueId+\"-\"+transformInitial;let transformSelected=transformToolInitial;let root=undefined;let stageRef;const footerOffset=spring($animation?20:0);component_subscribe($$self,footerOffset,value=>$$invalidate(143,$footerOffset=value));function measure_handler_1(event){bubble($$self,event)}const select_handler=({detail})=>$$invalidate(5,transformSelected=detail);function div0_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{stageRef=$$value;$$invalidate(6,stageRef)})}const interactable_function=e=>getEventPositionInViewport(e);function util_root_binding(value){root=value;$$invalidate(13,root)}function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$subscribe_isActive($$invalidate(1,isActive=$$props.isActive));if(\"stores\"in $$props)$$invalidate(88,stores=$$props.stores);if(\"cropImageSelectionCornerStyle\"in $$props)$$invalidate(2,cropImageSelectionCornerStyle=$$props.cropImageSelectionCornerStyle);if(\"cropWillRenderImageSelectionGuides\"in $$props)$$invalidate(89,cropWillRenderImageSelectionGuides=$$props.cropWillRenderImageSelectionGuides);if(\"cropAutoCenterImageSelectionTimeout\"in $$props)$$invalidate(90,cropAutoCenterImageSelectionTimeout=$$props.cropAutoCenterImageSelectionTimeout);if(\"cropEnableZoomMatchImageAspectRatio\"in $$props)$$invalidate(91,cropEnableZoomMatchImageAspectRatio=$$props.cropEnableZoomMatchImageAspectRatio);if(\"cropEnableRotateMatchImageAspectRatio\"in $$props)$$invalidate(92,cropEnableRotateMatchImageAspectRatio=$$props.cropEnableRotateMatchImageAspectRatio);if(\"cropEnableRotationInput\"in $$props)$$invalidate(93,cropEnableRotationInput=$$props.cropEnableRotationInput);if(\"cropEnableZoom\"in $$props)$$invalidate(3,cropEnableZoom=$$props.cropEnableZoom);if(\"cropEnableZoomInput\"in $$props)$$invalidate(94,cropEnableZoomInput=$$props.cropEnableZoomInput);if(\"cropEnableZoomAutoHide\"in $$props)$$invalidate(95,cropEnableZoomAutoHide=$$props.cropEnableZoomAutoHide);if(\"cropEnableImageSelection\"in $$props)$$invalidate(96,cropEnableImageSelection=$$props.cropEnableImageSelection);if(\"cropEnableInfoIndicator\"in $$props)$$invalidate(97,cropEnableInfoIndicator=$$props.cropEnableInfoIndicator);if(\"cropEnableZoomTowardsWheelPosition\"in $$props)$$invalidate(98,cropEnableZoomTowardsWheelPosition=$$props.cropEnableZoomTowardsWheelPosition);if(\"cropEnableLimitWheelInputToCropSelection\"in $$props)$$invalidate(99,cropEnableLimitWheelInputToCropSelection=$$props.cropEnableLimitWheelInputToCropSelection);if(\"cropEnableCenterImageSelection\"in $$props)$$invalidate(100,cropEnableCenterImageSelection=$$props.cropEnableCenterImageSelection);if(\"cropEnableButtonRotateLeft\"in $$props)$$invalidate(101,cropEnableButtonRotateLeft=$$props.cropEnableButtonRotateLeft);if(\"cropEnableButtonRotateRight\"in $$props)$$invalidate(102,cropEnableButtonRotateRight=$$props.cropEnableButtonRotateRight);if(\"cropEnableButtonFlipHorizontal\"in $$props)$$invalidate(103,cropEnableButtonFlipHorizontal=$$props.cropEnableButtonFlipHorizontal);if(\"cropEnableButtonFlipVertical\"in $$props)$$invalidate(104,cropEnableButtonFlipVertical=$$props.cropEnableButtonFlipVertical);if(\"cropSelectPresetOptions\"in $$props)$$invalidate(105,cropSelectPresetOptions=$$props.cropSelectPresetOptions);if(\"cropEnableSelectPreset\"in $$props)$$invalidate(106,cropEnableSelectPreset=$$props.cropEnableSelectPreset);if(\"cropEnableButtonToggleCropLimit\"in $$props)$$invalidate(107,cropEnableButtonToggleCropLimit=$$props.cropEnableButtonToggleCropLimit);if(\"cropWillRenderTools\"in $$props)$$invalidate(108,cropWillRenderTools=$$props.cropWillRenderTools);if(\"cropActiveTransformTool\"in $$props)$$invalidate(109,cropActiveTransformTool=$$props.cropActiveTransformTool);if(\"locale\"in $$props)$$invalidate(4,locale=$$props.locale);if(\"tools\"in $$props)$$invalidate(0,tools=$$props.tools)};$$self.$$.update=()=>{if($$self.$$.dirty[3]&67108864){$$invalidate(133,isOverlayMode=$env.layoutMode===\"overlay\")}if($$self.$$.dirty[3]&8192|$$self.$$.dirty[4]&512){$$invalidate(114,shouldRenderPresetSelect=cropEnableSelectPreset&&!isOverlayMode)}if($$self.$$.dirty[3]&536870912|$$self.$$.dirty[4]&1){$$invalidate(129,imageSelectionCenteredRect=$utilRect&&$imageSelectionRect&&rectCenterRect($utilRect,$imageSelectionRect))}if($$self.$$.dirty[3]&536870912|$$self.$$.dirty[4]&32){$$invalidate(130,isImageSelectionDisplayed=!!($imageSelectionRect&&imageSelectionCenteredRect))}if($$self.$$.dirty[3]&536870912|$$self.$$.dirty[4]&96){$$invalidate(116,isImageSelectionCentered=isImageSelectionDisplayed&&rectEqual($imageSelectionRect,imageSelectionCenteredRect,value=>fixPrecision(value,5)))}if($$self.$$.dirty[0]&272|$$self.$$.dirty[3]&134012672){$$invalidate(0,tools=cropWillRenderTools([cropEnableButtonRotateLeft&&[\"Button\",\"rotate-left\",{label:locale.cropLabelButtonRotateLeft,labelClass:\"PinturaToolbarContentWide\",icon:locale.cropIconButtonRotateLeft,onclick:()=>{applyRotation(-Math.PI/2);history.write()}}],cropEnableButtonRotateRight&&[\"Button\",\"rotate-right\",{label:locale.cropLabelButtonRotateRight,labelClass:\"PinturaToolbarContentWide\",icon:locale.cropIconButtonRotateRight,onclick:()=>{applyRotation(Math.PI/2);history.write()}}],cropEnableButtonFlipHorizontal&&[\"Button\",\"flip-horizontal\",{label:locale.cropLabelButtonFlipHorizontal,labelClass:\"PinturaToolbarContentWide\",icon:locale.cropIconButtonFlipHorizontal,onclick:()=>{if(isRotatedSideways($imageRotation)){set_store_value(imageFlipY,$imageFlipY=!$imageFlipY,$imageFlipY)}else{set_store_value(imageFlipX,$imageFlipX=!$imageFlipX,$imageFlipX)}history.write()}}],cropEnableButtonFlipVertical&&[\"Button\",\"flip-vertical\",{label:locale.cropLabelButtonFlipVertical,labelClass:\"PinturaToolbarContentWide\",icon:locale.cropIconButtonFlipVertical,onclick:()=>{if(isRotatedSideways($imageRotation)){set_store_value(imageFlipX,$imageFlipX=!$imageFlipX,$imageFlipX)}else{set_store_value(imageFlipY,$imageFlipY=!$imageFlipY,$imageFlipY)}history.write()}}],shouldRenderPresetSelect&&cropSelectPresetOptions&&[\"Dropdown\",\"select-preset\",{icon:localize(locale.cropIconSelectPreset,locale,getAspectRatioBySelectedIndex($selectedPresetIndex)),label:locale.cropLabelSelectPreset,labelClass:\"PinturaToolbarContentWide\",options:cropSelectPresetOptions,selectedIndex:$selectedPresetIndex,onchange:({value})=>{if(isArray(value)){set_store_value(imageCropAspectRatio,$imageCropAspectRatio=getAspectRatio(value[0],value[1]),$imageCropAspectRatio);set_store_value(imageOutputSize,$imageOutputSize=sizeCreateFromArray(value),$imageOutputSize)}else{set_store_value(imageCropAspectRatio,$imageCropAspectRatio=value,$imageCropAspectRatio)}if(isImageSelectionCentered){handleRecenterAction()}history.write()},optionMapper:option=>{let disabled=false;const optionAspectRatio=isArray(option.value)?option.value[0]/option.value[1]:option.value;if(optionAspectRatio){const maxCropSize=getMaxSizeInRect($imageSize,$imageRotation,optionAspectRatio);disabled=maxCropSize.width<$imageCropMinSize.width||maxCropSize.height<$imageCropMinSize.height}option.icon=getSelectionPresetOptionIcon(option.value,{bounds:14});return{...option,disabled:disabled}}}],cropEnableButtonToggleCropLimit&&[\"Dropdown\",\"select-crop-limit\",{icon:localize(locale.cropIconCropBoundary,locale,$imageCropLimitToImage),label:locale.cropLabelCropBoundary,labelClass:\"PinturaToolbarContentWide\",onchange:({value})=>{set_store_value(imageCropLimitToImage,$imageCropLimitToImage=value,$imageCropLimitToImage);history.write()},options:[[true,locale.cropLabelCropBoundaryEdge,{icon:localize(locale.cropIconCropBoundary,locale,true)}],[false,locale.cropLabelCropBoundaryNone,{icon:localize(locale.cropIconCropBoundary,locale,false)}]]}]].filter(Boolean),$env,()=>({})).filter(Boolean))}if($$self.$$.dirty[0]&512){$isActive&&imageOutlineOpacity.set(1)}if($$self.$$.dirty[3]&33554432){$$invalidate(14,imageZoomLevelMin=$imageCropLimitToImage?0:-1)}if($$self.$$.dirty[4]&3){$$invalidate(126,imageSelectionOffset=$utilRect&&vectorCreate(-($stageRect.x-$utilRect.x),-($stageRect.y-$utilRect.y)))}if($$self.$$.dirty[4]&20){$$invalidate(127,imageSelectionCenter=$imageSelectionRectPresentation&&vectorCreate(snapToPixel($imageSelectionRectPresentation.x+$imageSelectionRectPresentation.width*.5+imageSelectionOffset.x),snapToPixel($imageSelectionRectPresentation.y+$imageSelectionRectPresentation.height*.5+imageSelectionOffset.y)))}if($$self.$$.dirty[3]&268435456){$$invalidate(131,isResizingSelection=$imageSelectionRectSnapshot!=null)}if($$self.$$.dirty[4]&33){$$invalidate(132,isMaxSelectionRect=$utilRect&&imageSelectionCenteredRect&&(imageSelectionCenteredRect.height===$utilRect.height||imageSelectionCenteredRect.width===$utilRect.width))}if($$self.$$.dirty[3]&1073741824|$$self.$$.dirty[4]&2304){$$invalidate(134,canZoomToCenter=!isMaxSelectionRect&&$presentationScalar<1&&$imageScalar<1)}if($$self.$$.dirty[3]&8388608|$$self.$$.dirty[4]&1216){$$invalidate(10,canCenter=isImageSelectionDisplayed&&!isResizingSelection&&(!isImageSelectionCentered||canZoomToCenter))}if($$self.$$.dirty[0]&128|$$self.$$.dirty[3]&16|$$self.$$.dirty[4]&512){$$invalidate(16,shouldRenderInfoIndicator=cropEnableInfoIndicator&&!!$imageCropRect&&!isOverlayMode)}if($$self.$$.dirty[4]&20){$$invalidate(11,imageSelectionRectOffset=$imageSelectionRectPresentation&&imageSelectionOffset&&{x:$imageSelectionRectPresentation.x+imageSelectionOffset.x,y:$imageSelectionRectPresentation.y+imageSelectionOffset.y,width:$imageSelectionRectPresentation.width,height:$imageSelectionRectPresentation.height})}if($$self.$$.dirty[0]&2048|$$self.$$.dirty[3]&8|$$self.$$.dirty[4]&512){$$invalidate(17,shouldRenderImageSelection=cropEnableImageSelection&&!!imageSelectionRectOffset&&!isOverlayMode)}if($$self.$$.dirty[2]&268435456|$$self.$$.dirty[3]&128|$$self.$$.dirty[4]&8){$$invalidate(18,shouldRenderImageSelectionRecenterButton=cropEnableCenterImageSelection&&!!imageSelectionCenter&&!cropAutoCenterImageSelectionTimeout)}if($$self.$$.dirty[0]&1024|$$self.$$.dirty[2]&268435456|$$self.$$.dirty[3]&134348800){if(canCenter&&cropAutoCenterImageSelectionTimeout&&!$isInteracting){clearTimeout(cropAutoCenterImageSelectionTimeoutId);$$invalidate(110,cropAutoCenterImageSelectionTimeoutId=setTimeout(handleRecenterAction,cropAutoCenterImageSelectionTimeout))}}if($$self.$$.dirty[3]&134348800){if($isInteracting)clearTimeout(cropAutoCenterImageSelectionTimeoutId)}if($$self.$$.dirty[0]&1024){recenterOpacity.set(canCenter?1:0)}if($$self.$$.dirty[4]&8){recenterOffset.set(imageSelectionCenter)}if($$self.$$.dirty[0]&512|$$self.$$.dirty[4]&12288){if($isActive&&!$framePadded){set_store_value(imagePreviewModifiers,$imagePreviewModifiers[\"crop\"]={maskOpacity:.85,maskMarkupOpacity:.85},$imagePreviewModifiers)}else{delete $imagePreviewModifiers[\"crop\"]}}if($$self.$$.dirty[4]&16384){$imageSelectionGuides&&syncGuides()}if($$self.$$.dirty[3]&67108864){$$invalidate(139,hasPlentyVerticalSpace=$env.verticalSpace!==\"short\")}if($$self.$$.dirty[4]&33280){$$invalidate(19,shouldRenderToolbar=hasPlentyVerticalSpace&&!isOverlayMode)}if($$self.$$.dirty[0]&8|$$self.$$.dirty[3]&2){$$invalidate(140,couldRenderZoomInput=cropEnableZoom&&cropEnableZoomInput)}if($$self.$$.dirty[3]&4|$$self.$$.dirty[4]&98304){$$invalidate(141,shouldRenderZoomInput=cropEnableZoomAutoHide?hasPlentyVerticalSpace&&couldRenderZoomInput:couldRenderZoomInput)}if($$self.$$.dirty[3]&1|$$self.$$.dirty[4]&131072){$$invalidate(20,shouldRenderFooter=cropEnableRotationInput||shouldRenderZoomInput)}if($$self.$$.dirty[4]&131072){if(!shouldRenderZoomInput){$$invalidate(5,transformSelected=transformToolInitial)}}if($$self.$$.dirty[0]&32){$$invalidate(21,tabsConfig={name:cropUniqueId,selected:transformSelected})}if($$self.$$.dirty[0]&16|$$self.$$.dirty[3]&1|$$self.$$.dirty[4]&131072){$$invalidate(12,tabs=[cropEnableRotationInput&&{id:cropUniqueId+\"-rotation\",label:locale.cropLabelTabRotation},shouldRenderZoomInput&&{id:cropUniqueId+\"-zoom\",label:locale.cropLabelTabZoom}].filter(Boolean))}if($$self.$$.dirty[0]&4096){$$invalidate(22,panels=tabs.map(tab=>tab.id))}if($$self.$$.dirty[0]&64|$$self.$$.dirty[4]&512){if(stageRef&&!stageRef.children.length&&isOverlayMode){stageRef.dispatchEvent(new CustomEvent(\"measure\",{detail:stageRef.rect}))}}if($$self.$$.dirty[0]&512|$$self.$$.dirty[4]&262144){$animation&&footerOffset.set($isActive?0:20)}if($$self.$$.dirty[4]&524288){$$invalidate(23,footerStyle=$footerOffset?`transform: translateY(${$footerOffset}px)`:undefined)}};return[tools,isActive,cropImageSelectionCornerStyle,cropEnableZoom,locale,transformSelected,stageRef,$imageCropRect,$imageRotation,$isActive,canCenter,imageSelectionRectOffset,tabs,root,imageZoomLevelMin,$rootRect,shouldRenderInfoIndicator,shouldRenderImageSelection,shouldRenderImageSelectionRecenterButton,shouldRenderToolbar,shouldRenderFooter,tabsConfig,panels,footerStyle,$imageRotationRange,$imageZoomLevelRange,$imageZoomLevel,$recenterOpacity,$recenterOffset,env,isInteracting,rootRect,stageRect,utilRect,animation,elasticityMultiplier,rangeInputElasticity,presentationScalar,imagePreviewModifiers,imageFlipX,imageFlipY,imageRotation,imageRotationRange,imageOutputSize,imageSelectionRect,imageSelectionRectSnapshot,imageSelectionRectIntent,imageSelectionRectPresentation,imageCropRectIntent,imageCropRectOrigin,imageCropRect,imageCropMinSize,imageCropMaxSize,imageCropRange,imageCropAspectRatio,imageCropLimitToImage,imageSize,imageScalar,imageOverlayMarkup,framePadded,handleSelectionGrab,handleSelectionDrag,handleSelectionRelease,handleRotateStart,handleRotateMove,handleRotateEnd,handleImageDragStart,handleImageDrag,handleImageDragEnd,handleImageDragRelease,imageCropRangeAspectRatio,imageZoomLevelRange,imageZoomLevel,handleResizeStart,handleResizeMove,handleResizeEnd,handleGestureStart,handleGestureUpdate,handleGestureEnd,handleWheel,handleRecenterAction,recenterOpacity,recenterOffset,selectedPresetIndex,imageSelectionGuides,cropUniqueId,footerOffset,name,stores,cropWillRenderImageSelectionGuides,cropAutoCenterImageSelectionTimeout,cropEnableZoomMatchImageAspectRatio,cropEnableRotateMatchImageAspectRatio,cropEnableRotationInput,cropEnableZoomInput,cropEnableZoomAutoHide,cropEnableImageSelection,cropEnableInfoIndicator,cropEnableZoomTowardsWheelPosition,cropEnableLimitWheelInputToCropSelection,cropEnableCenterImageSelection,cropEnableButtonRotateLeft,cropEnableButtonRotateRight,cropEnableButtonFlipHorizontal,cropEnableButtonFlipVertical,cropSelectPresetOptions,cropEnableSelectPreset,cropEnableButtonToggleCropLimit,cropWillRenderTools,cropActiveTransformTool,cropAutoCenterImageSelectionTimeoutId,$imageSize,$imageFlipY,$imageFlipX,shouldRenderPresetSelect,$selectedPresetIndex,isImageSelectionCentered,$imageCropMinSize,$imageCropLimitToImage,$env,$isInteracting,$imageSelectionRectSnapshot,$imageSelectionRect,$presentationScalar,$utilRect,$stageRect,imageSelectionOffset,imageSelectionCenter,$imageSelectionRectPresentation,imageSelectionCenteredRect,isImageSelectionDisplayed,isResizingSelection,isMaxSelectionRect,isOverlayMode,canZoomToCenter,$imageScalar,$framePadded,$imagePreviewModifiers,$imageSelectionGuides,hasPlentyVerticalSpace,couldRenderZoomInput,shouldRenderZoomInput,$animation,$footerOffset,measure_handler_1,select_handler,div0_binding,interactable_function,util_root_binding,measure_handler]}class Crop extends SvelteComponent{constructor(options){super();init(this,options,instance$l,create_fragment$l,safe_not_equal,{name:87,isActive:1,stores:88,cropImageSelectionCornerStyle:2,cropWillRenderImageSelectionGuides:89,cropAutoCenterImageSelectionTimeout:90,cropEnableZoomMatchImageAspectRatio:91,cropEnableRotateMatchImageAspectRatio:92,cropEnableRotationInput:93,cropEnableZoom:3,cropEnableZoomInput:94,cropEnableZoomAutoHide:95,cropEnableImageSelection:96,cropEnableInfoIndicator:97,cropEnableZoomTowardsWheelPosition:98,cropEnableLimitWheelInputToCropSelection:99,cropEnableCenterImageSelection:100,cropEnableButtonRotateLeft:101,cropEnableButtonRotateRight:102,cropEnableButtonFlipHorizontal:103,cropEnableButtonFlipVertical:104,cropSelectPresetOptions:105,cropEnableSelectPreset:106,cropEnableButtonToggleCropLimit:107,cropWillRenderTools:108,cropActiveTransformTool:109,locale:4,tools:0},[-1,-1,-1,-1,-1,-1,-1])}get name(){return this.$$.ctx[87]}get isActive(){return this.$$.ctx[1]}set isActive(isActive){this.$set({isActive:isActive});flush()}get stores(){return this.$$.ctx[88]}set stores(stores){this.$set({stores:stores});flush()}get cropImageSelectionCornerStyle(){return this.$$.ctx[2]}set cropImageSelectionCornerStyle(cropImageSelectionCornerStyle){this.$set({cropImageSelectionCornerStyle:cropImageSelectionCornerStyle});flush()}get cropWillRenderImageSelectionGuides(){return this.$$.ctx[89]}set cropWillRenderImageSelectionGuides(cropWillRenderImageSelectionGuides){this.$set({cropWillRenderImageSelectionGuides:cropWillRenderImageSelectionGuides});flush()}get cropAutoCenterImageSelectionTimeout(){return this.$$.ctx[90]}set cropAutoCenterImageSelectionTimeout(cropAutoCenterImageSelectionTimeout){this.$set({cropAutoCenterImageSelectionTimeout:cropAutoCenterImageSelectionTimeout});flush()}get cropEnableZoomMatchImageAspectRatio(){return this.$$.ctx[91]}set cropEnableZoomMatchImageAspectRatio(cropEnableZoomMatchImageAspectRatio){this.$set({cropEnableZoomMatchImageAspectRatio:cropEnableZoomMatchImageAspectRatio});flush()}get cropEnableRotateMatchImageAspectRatio(){return this.$$.ctx[92]}set cropEnableRotateMatchImageAspectRatio(cropEnableRotateMatchImageAspectRatio){this.$set({cropEnableRotateMatchImageAspectRatio:cropEnableRotateMatchImageAspectRatio});flush()}get cropEnableRotationInput(){return this.$$.ctx[93]}set cropEnableRotationInput(cropEnableRotationInput){this.$set({cropEnableRotationInput:cropEnableRotationInput});flush()}get cropEnableZoom(){return this.$$.ctx[3]}set cropEnableZoom(cropEnableZoom){this.$set({cropEnableZoom:cropEnableZoom});flush()}get cropEnableZoomInput(){return this.$$.ctx[94]}set cropEnableZoomInput(cropEnableZoomInput){this.$set({cropEnableZoomInput:cropEnableZoomInput});flush()}get cropEnableZoomAutoHide(){return this.$$.ctx[95]}set cropEnableZoomAutoHide(cropEnableZoomAutoHide){this.$set({cropEnableZoomAutoHide:cropEnableZoomAutoHide});flush()}get cropEnableImageSelection(){return this.$$.ctx[96]}set cropEnableImageSelection(cropEnableImageSelection){this.$set({cropEnableImageSelection:cropEnableImageSelection});flush()}get cropEnableInfoIndicator(){return this.$$.ctx[97]}set cropEnableInfoIndicator(cropEnableInfoIndicator){this.$set({cropEnableInfoIndicator:cropEnableInfoIndicator});flush()}get cropEnableZoomTowardsWheelPosition(){return this.$$.ctx[98]}set cropEnableZoomTowardsWheelPosition(cropEnableZoomTowardsWheelPosition){this.$set({cropEnableZoomTowardsWheelPosition:cropEnableZoomTowardsWheelPosition});flush()}get cropEnableLimitWheelInputToCropSelection(){return this.$$.ctx[99]}set cropEnableLimitWheelInputToCropSelection(cropEnableLimitWheelInputToCropSelection){this.$set({cropEnableLimitWheelInputToCropSelection:cropEnableLimitWheelInputToCropSelection});flush()}get cropEnableCenterImageSelection(){return this.$$.ctx[100]}set cropEnableCenterImageSelection(cropEnableCenterImageSelection){this.$set({cropEnableCenterImageSelection:cropEnableCenterImageSelection});flush()}get cropEnableButtonRotateLeft(){return this.$$.ctx[101]}set cropEnableButtonRotateLeft(cropEnableButtonRotateLeft){this.$set({cropEnableButtonRotateLeft:cropEnableButtonRotateLeft});flush()}get cropEnableButtonRotateRight(){return this.$$.ctx[102]}set cropEnableButtonRotateRight(cropEnableButtonRotateRight){this.$set({cropEnableButtonRotateRight:cropEnableButtonRotateRight});flush()}get cropEnableButtonFlipHorizontal(){return this.$$.ctx[103]}set cropEnableButtonFlipHorizontal(cropEnableButtonFlipHorizontal){this.$set({cropEnableButtonFlipHorizontal:cropEnableButtonFlipHorizontal});flush()}get cropEnableButtonFlipVertical(){return this.$$.ctx[104]}set cropEnableButtonFlipVertical(cropEnableButtonFlipVertical){this.$set({cropEnableButtonFlipVertical:cropEnableButtonFlipVertical});flush()}get cropSelectPresetOptions(){return this.$$.ctx[105]}set cropSelectPresetOptions(cropSelectPresetOptions){this.$set({cropSelectPresetOptions:cropSelectPresetOptions});flush()}get cropEnableSelectPreset(){return this.$$.ctx[106]}set cropEnableSelectPreset(cropEnableSelectPreset){this.$set({cropEnableSelectPreset:cropEnableSelectPreset});flush()}get cropEnableButtonToggleCropLimit(){return this.$$.ctx[107]}set cropEnableButtonToggleCropLimit(cropEnableButtonToggleCropLimit){this.$set({cropEnableButtonToggleCropLimit:cropEnableButtonToggleCropLimit});flush()}get cropWillRenderTools(){return this.$$.ctx[108]}set cropWillRenderTools(cropWillRenderTools){this.$set({cropWillRenderTools:cropWillRenderTools});flush()}get cropActiveTransformTool(){return this.$$.ctx[109]}set cropActiveTransformTool(cropActiveTransformTool){this.$set({cropActiveTransformTool:cropActiveTransformTool});flush()}get locale(){return this.$$.ctx[4]}set locale(locale){this.$set({locale:locale});flush()}get tools(){return this.$$.ctx[0]}set tools(tools){this.$set({tools:tools});flush()}}var _plugin_crop={util:[\"crop\",Crop]};function create_option_slot$2(ctx){let div1;let div0;let option=ctx[68];let t0;let span;let t1_value=(isFunction(ctx[68].label)?ctx[68].label(ctx[2]):ctx[68].label)+\"\";let t1;let mounted;let dispose;function measure_handler_1(...args){return ctx[48](ctx[68],...args)}const assign_div0=()=>ctx[49](div0,option);const unassign_div0=()=>ctx[49](null,option);return{c(){div1=element(\"div\");div0=element(\"div\");t0=space();span=element(\"span\");t1=text(t1_value);attr(div0,\"class\",FILTER_PREVIEW_CLASS_NAME);attr(div1,\"slot\",\"option\");attr(div1,\"class\",\"PinturaFilterOption\")},m(target,anchor){insert(target,div1,anchor);append(div1,div0);assign_div0();append(div1,t0);append(div1,span);append(span,t1);if(!mounted){dispose=[listen(div0,\"measure\",measure_handler_1),action_destroyer(measurable.call(null,div0))];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(option!==ctx[68]){unassign_div0();option=ctx[68];assign_div0()}if(dirty[0]&4|dirty[2]&64&&t1_value!==(t1_value=(isFunction(ctx[68].label)?ctx[68].label(ctx[2]):ctx[68].label)+\"\"))set_data(t1,t1_value)},d(detaching){if(detaching)detach(div1);unassign_div0();mounted=false;run_all(dispose)}}}function create_default_slot$8(ctx){let radiogroup;let current;radiogroup=new RadioGroup({props:{locale:ctx[2],layout:\"row\",options:ctx[3],selectedIndex:ctx[10],onchange:ctx[29],$$slots:{option:[create_option_slot$2,({option})=>({68:option}),({option})=>[0,0,option?64:0]]},$$scope:{ctx:ctx}}});return{c(){create_component(radiogroup.$$.fragment)},m(target,anchor){mount_component(radiogroup,target,anchor);current=true},p(ctx,dirty){const radiogroup_changes={};if(dirty[0]&4)radiogroup_changes.locale=ctx[2];if(dirty[0]&8)radiogroup_changes.options=ctx[3];if(dirty[0]&1024)radiogroup_changes.selectedIndex=ctx[10];if(dirty[0]&516|dirty[2]&192){radiogroup_changes.$$scope={dirty:dirty,ctx:ctx}}radiogroup.$set(radiogroup_changes)},i(local){if(current)return;transition_in(radiogroup.$$.fragment,local);current=true},o(local){transition_out(radiogroup.$$.fragment,local);current=false},d(detaching){destroy_component(radiogroup,detaching)}}}function create_footer_slot$4(ctx){let div;let scrollable;let updating_maskFeatherStartOpacity;let updating_maskFeatherEndOpacity;let updating_maskFeatherSize;let current;let mounted;let dispose;function scrollable_maskFeatherStartOpacity_binding(value){ctx[51](value)}function scrollable_maskFeatherEndOpacity_binding(value){ctx[52](value)}function scrollable_maskFeatherSize_binding(value){ctx[53](value)}let scrollable_props={elasticity:ctx[15]*ctx[16],onscroll:ctx[50],$$slots:{default:[create_default_slot$8]},$$scope:{ctx:ctx}};if(ctx[4]!==void 0){scrollable_props.maskFeatherStartOpacity=ctx[4]}if(ctx[5]!==void 0){scrollable_props.maskFeatherEndOpacity=ctx[5]}if(ctx[6]!==void 0){scrollable_props.maskFeatherSize=ctx[6]}scrollable=new Scrollable({props:scrollable_props});binding_callbacks.push(()=>bind(scrollable,\"maskFeatherStartOpacity\",scrollable_maskFeatherStartOpacity_binding));binding_callbacks.push(()=>bind(scrollable,\"maskFeatherEndOpacity\",scrollable_maskFeatherEndOpacity_binding));binding_callbacks.push(()=>bind(scrollable,\"maskFeatherSize\",scrollable_maskFeatherSize_binding));scrollable.$on(\"measure\",ctx[54]);return{c(){div=element(\"div\");create_component(scrollable.$$.fragment);attr(div,\"slot\",\"footer\");attr(div,\"style\",ctx[11])},m(target,anchor){insert(target,div,anchor);mount_component(scrollable,div,null);current=true;if(!mounted){dispose=listen(div,\"transitionend\",ctx[27]);mounted=true}},p(ctx,dirty){const scrollable_changes={};if(dirty[0]&128)scrollable_changes.onscroll=ctx[50];if(dirty[0]&1548|dirty[2]&128){scrollable_changes.$$scope={dirty:dirty,ctx:ctx}}if(!updating_maskFeatherStartOpacity&&dirty[0]&16){updating_maskFeatherStartOpacity=true;scrollable_changes.maskFeatherStartOpacity=ctx[4];add_flush_callback(()=>updating_maskFeatherStartOpacity=false)}if(!updating_maskFeatherEndOpacity&&dirty[0]&32){updating_maskFeatherEndOpacity=true;scrollable_changes.maskFeatherEndOpacity=ctx[5];add_flush_callback(()=>updating_maskFeatherEndOpacity=false)}if(!updating_maskFeatherSize&&dirty[0]&64){updating_maskFeatherSize=true;scrollable_changes.maskFeatherSize=ctx[6];add_flush_callback(()=>updating_maskFeatherSize=false)}scrollable.$set(scrollable_changes);if(!current||dirty[0]&2048){attr(div,\"style\",ctx[11])}},i(local){if(current)return;transition_in(scrollable.$$.fragment,local);current=true},o(local){transition_out(scrollable.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(scrollable);mounted=false;dispose()}}}function create_fragment$k(ctx){let util;let current;util=new Util({props:{$$slots:{footer:[create_footer_slot$4]},$$scope:{ctx:ctx}}});util.$on(\"measure\",ctx[55]);return{c(){create_component(util.$$.fragment)},m(target,anchor){mount_component(util,target,anchor);current=true},p(ctx,dirty){const util_changes={};if(dirty[0]&4092|dirty[2]&128){util_changes.$$scope={dirty:dirty,ctx:ctx}}util.$set(util_changes)},i(local){if(current)return;transition_in(util.$$.fragment,local);current=true},o(local){transition_out(util.$$.fragment,local);current=false},d(detaching){destroy_component(util,detaching)}}}let FILTER_PREVIEW_CLASS_NAME=\"PinturaFilterPreview\";function instance$k($$self,$$props,$$invalidate){let filterOptionsFlattened;let selectedFilterIndex;let footerStyle;let $imageColorMatrix;let $tileRects;let $canvasSize;let $imageTransforms;let $animation;let $isActive,$$unsubscribe_isActive=noop,$$subscribe_isActive=()=>($$unsubscribe_isActive(),$$unsubscribe_isActive=subscribe(isActive,$$value=>$$invalidate(40,$isActive=$$value)),isActive);let $utilRect;let $stageRect;let $imageGamma;let $imagePreview;let $imageSize;let $imageBackgroundColor;let $isActiveFraction,$$unsubscribe_isActiveFraction=noop,$$subscribe_isActiveFraction=()=>($$unsubscribe_isActiveFraction(),$$unsubscribe_isActiveFraction=subscribe(isActiveFraction,$$value=>$$invalidate(45,$isActiveFraction=$$value)),isActiveFraction);let $footerOffset;let $imageTiles;$$self.$$.on_destroy.push(()=>$$unsubscribe_isActive());$$self.$$.on_destroy.push(()=>$$unsubscribe_isActiveFraction());const name=\"filter\";let{isActive}=$$props;$$subscribe_isActive();let{isActiveFraction}=$$props;$$subscribe_isActiveFraction();let{stores}=$$props;let{locale}=$$props;let{filterFunctions}=$$props;let{filterOptions}=$$props;const{history,interfaceImages,stageRect,utilRect,animation,elasticityMultiplier,scrollElasticity,imageSize,imagePreview,imageCropRect,imageRotation,imageFlipX,imageFlipY,imageBackgroundColor,imageGamma,imageColorMatrix}=stores;component_subscribe($$self,stageRect,value=>$$invalidate(42,$stageRect=value));component_subscribe($$self,utilRect,value=>$$invalidate(41,$utilRect=value));component_subscribe($$self,animation,value=>$$invalidate(39,$animation=value));component_subscribe($$self,imageSize,value=>$$invalidate(57,$imageSize=value));component_subscribe($$self,imagePreview,value=>$$invalidate(44,$imagePreview=value));component_subscribe($$self,imageBackgroundColor,value=>$$invalidate(58,$imageBackgroundColor=value));component_subscribe($$self,imageGamma,value=>$$invalidate(43,$imageGamma=value));component_subscribe($$self,imageColorMatrix,value=>$$invalidate(36,$imageColorMatrix=value));const getFilterIndex=(imageColorMatrix,filterOptionsFlattened)=>{if(!imageColorMatrix||!imageColorMatrix[\"filter\"]||!filterOptionsFlattened)return 0;const filterColorMatrix=imageColorMatrix[\"filter\"];return filterOptionsFlattened.findIndex(([id])=>{if(!filterFunctions[id])return false;const matrix=filterFunctions[id]();return arrayEqual(matrix,filterColorMatrix)})};const tileRects=writable({});component_subscribe($$self,tileRects,value=>$$invalidate(37,$tileRects=value));const handleTileResize=(item,rect)=>set_store_value(tileRects,$tileRects[item.value]=rect,$tileRects);const canvasSize=derived(tileRects,$tileRects=>{if(!$tileRects[undefined])return;const tileRectFirst=$tileRects[undefined];if($canvasSize&&sizeEqual($canvasSize,tileRectFirst))return $canvasSize;return sizeClone(tileRectFirst)});component_subscribe($$self,canvasSize,value=>$$invalidate(56,$canvasSize=value));const imageTransforms=derived([isActive,canvasSize,imageCropRect,imageSize,imageRotation,imageFlipX,imageFlipY],([$isActive,$canvasSize,$imageCropRect,$imageSize,$imageRotation,$imageFlipX,$imageFlipY],set)=>{if(!$isActive||!$canvasSize||!$imageSize)return $imageTransforms;const imageRect=rectCreateFromSize($imageSize);const imageCenter=rectCenter(imageRect);const cropRectBase=getBaseCropRect($imageSize,$imageCropRect,$imageRotation);const cropRectBaseCenter=rectCenter(cropRectBase);const imageTranslation=vectorSubtract(vectorClone(imageCenter),cropRectBaseCenter);const imageOrigin=vectorInvert(vectorClone(imageTranslation));const imageScalar=Math.max($canvasSize.width/$imageCropRect.width,$canvasSize.height/$imageCropRect.height);set({origin:imageOrigin,translation:imageTranslation,rotation:{x:$imageFlipY?Math.PI:0,y:$imageFlipX?Math.PI:0,z:$imageRotation},perspective:vectorCreateEmpty(),scale:imageScalar})});component_subscribe($$self,imageTransforms,value=>$$invalidate(38,$imageTransforms=value));const cloneImageTransforms=imageTransforms=>({origin:vectorClone(imageTransforms.origin),translation:vectorClone(imageTransforms.translation),rotation:{...imageTransforms.rotation},perspective:vectorClone(imageTransforms.perspective),scale:imageTransforms.scale});const footerOffset=spring($animation?20:0);component_subscribe($$self,footerOffset,value=>$$invalidate(46,$footerOffset=value));let tileCornerRadius;const tileElements={};const handleTransitionEnd=e=>{if(e.target.className!==FILTER_PREVIEW_CLASS_NAME)return;$$invalidate(33,tileCornerRadius=Object.keys(tileElements).reduce((prev,curr)=>{const element=tileElements[curr];const style=getComputedStyle(element);const corners=[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].map(corner=>style.getPropertyValue(`border-${corner}-radius`)).map(unitToPixels).map(v=>v*1.25);prev[curr]=corners;return prev},{}))};let tileLeftOpacity;let tileRightOpacity;let tileMargin;let tileScrollOffset={x:0,y:0};let tileScrollContainerRect;let tileWrapperOffset;const imageTiles=writable([]);component_subscribe($$self,imageTiles,value=>$$invalidate(47,$imageTiles=value));const cloneImageTile=tile=>{const clone={...tile,data:$imagePreview,size:$imageSize,offset:{...tile.offset},mask:{...tile.mask},backgroundColor:$imageBackgroundColor};clone.opacity=$isActiveFraction;clone.offset.y+=$footerOffset;clone.mask.y+=$footerOffset;return clone};const handleChangeFilter=({value})=>{set_store_value(imageColorMatrix,$imageColorMatrix={...$imageColorMatrix,filter:isFunction(filterFunctions[value])?filterFunctions[value]():undefined},$imageColorMatrix);history.write()};onDestroy(()=>{interfaceImages.set([])});const measure_handler_1=(option,e)=>handleTileResize(option,e.detail);function div0_binding($$value,option){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{tileElements[option.value]=$$value;$$invalidate(9,tileElements)})}const func=offset=>$$invalidate(7,tileScrollOffset=offset);function scrollable_maskFeatherStartOpacity_binding(value){tileLeftOpacity=value;$$invalidate(4,tileLeftOpacity)}function scrollable_maskFeatherEndOpacity_binding(value){tileRightOpacity=value;$$invalidate(5,tileRightOpacity)}function scrollable_maskFeatherSize_binding(value){tileMargin=value;$$invalidate(6,tileMargin)}const measure_handler_2=e=>$$invalidate(8,tileScrollContainerRect=e.detail);function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$subscribe_isActive($$invalidate(0,isActive=$$props.isActive));if(\"isActiveFraction\"in $$props)$$subscribe_isActiveFraction($$invalidate(1,isActiveFraction=$$props.isActiveFraction));if(\"stores\"in $$props)$$invalidate(31,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(2,locale=$$props.locale);if(\"filterFunctions\"in $$props)$$invalidate(32,filterFunctions=$$props.filterFunctions);if(\"filterOptions\"in $$props)$$invalidate(3,filterOptions=$$props.filterOptions)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&8){$$invalidate(35,filterOptionsFlattened=flattenOptions(filterOptions))}if($$self.$$.dirty[1]&48){$$invalidate(10,selectedFilterIndex=getFilterIndex($imageColorMatrix,filterOptionsFlattened))}if($$self.$$.dirty[1]&768){$animation&&footerOffset.set($isActive?0:20)}if($$self.$$.dirty[1]&3584){if($isActive&&$utilRect&&$stageRect){const tileTopOffset=$stageRect.y+$stageRect.height+$utilRect.y;$$invalidate(34,tileWrapperOffset={x:$stageRect.x-$utilRect.x,y:tileTopOffset})}}if($$self.$$.dirty[0]&496|$$self.$$.dirty[1]&4350){if($imageTransforms&&tileWrapperOffset&&tileScrollOffset&&tileScrollContainerRect&&tileCornerRadius){const boundsX=tileWrapperOffset.x+tileScrollContainerRect.x;const offsetX=boundsX+tileScrollOffset.x;const offsetY=tileWrapperOffset.y;const containerLeft=tileScrollContainerRect.x+tileWrapperOffset.x;const containerRight=containerLeft+tileScrollContainerRect.width;imageTiles.set(filterOptionsFlattened.map(([id],i)=>{const tileRect=$tileRects[id];const tileLeft=tileScrollOffset.x+tileRect.x;const tileRight=tileLeft+tileRect.width;if(tileRight<0||tileLeft>tileScrollContainerRect.width)return false;const x=offsetX+tileRect.x;const y=offsetY+tileRect.y;const preview=cloneImageTransforms($imageTransforms);preview.offset=vectorCreate(tileRect.width*.5+x,tileRect.height*.5+y);let clipX=0;let clipWidth=0;preview.maskOpacity=1;preview.mask=rectCreate(x+clipX,y,tileRect.width+clipWidth,tileRect.height);preview.maskFeather=[1,0,1,0,1,containerRight,1,containerRight];if(tileLefttileScrollContainerRect.width-tileMargin&&tileRightOpacity<1){preview.maskFeather[4]=tileRightOpacity;preview.maskFeather[5]=containerRight-tileMargin;preview.maskFeather[6]=1;preview.maskFeather[7]=containerRight}preview.maskCornerRadius=tileCornerRadius[id];let colorMatrices=$imageColorMatrix&&Object.keys($imageColorMatrix).filter(name=>name!=\"filter\").map(name=>$imageColorMatrix[name])||[];if(isFunction(filterFunctions[id])){colorMatrices.push(filterFunctions[id]())}preview.colorMatrix=colorMatrices.length?getColorMatrixFromColorMatrices(colorMatrices):undefined;preview.gamma=$imageGamma;return preview}).filter(Boolean))}}if($$self.$$.dirty[1]&122880){if($isActiveFraction>0&&$imageTiles){interfaceImages.set($imageTiles.map(cloneImageTile))}else{interfaceImages.set([])}}if($$self.$$.dirty[1]&32768){$$invalidate(11,footerStyle=$footerOffset?`transform: translateY(${$footerOffset}px)`:undefined)}};return[isActive,isActiveFraction,locale,filterOptions,tileLeftOpacity,tileRightOpacity,tileMargin,tileScrollOffset,tileScrollContainerRect,tileElements,selectedFilterIndex,footerStyle,stageRect,utilRect,animation,elasticityMultiplier,scrollElasticity,imageSize,imagePreview,imageBackgroundColor,imageGamma,imageColorMatrix,tileRects,handleTileResize,canvasSize,imageTransforms,footerOffset,handleTransitionEnd,imageTiles,handleChangeFilter,name,stores,filterFunctions,tileCornerRadius,tileWrapperOffset,filterOptionsFlattened,$imageColorMatrix,$tileRects,$imageTransforms,$animation,$isActive,$utilRect,$stageRect,$imageGamma,$imagePreview,$isActiveFraction,$footerOffset,$imageTiles,measure_handler_1,div0_binding,func,scrollable_maskFeatherStartOpacity_binding,scrollable_maskFeatherEndOpacity_binding,scrollable_maskFeatherSize_binding,measure_handler_2,measure_handler]}class Filter extends SvelteComponent{constructor(options){super();init(this,options,instance$k,create_fragment$k,safe_not_equal,{name:30,isActive:0,isActiveFraction:1,stores:31,locale:2,filterFunctions:32,filterOptions:3},[-1,-1,-1])}get name(){return this.$$.ctx[30]}get isActive(){return this.$$.ctx[0]}set isActive(isActive){this.$set({isActive:isActive});flush()}get isActiveFraction(){return this.$$.ctx[1]}set isActiveFraction(isActiveFraction){this.$set({isActiveFraction:isActiveFraction});flush()}get stores(){return this.$$.ctx[31]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[2]}set locale(locale){this.$set({locale:locale});flush()}get filterFunctions(){return this.$$.ctx[32]}set filterFunctions(filterFunctions){this.$set({filterFunctions:filterFunctions});flush()}get filterOptions(){return this.$$.ctx[3]}set filterOptions(filterOptions){this.$set({filterOptions:filterOptions});flush()}}var _plugin_filter={util:[\"filter\",Filter]};function create_default_slot_2$1(ctx){let span;let t_value=ctx[37].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value)},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty[1]&64&&t_value!==(t_value=ctx[37].label+\"\"))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_default_slot_1$2(ctx){let tablist;let current;const tablist_spread_levels=[{class:\"PinturaControlList\"},{tabs:ctx[1]},ctx[3]];let tablist_props={$$slots:{default:[create_default_slot_2$1,({tab})=>({37:tab}),({tab})=>[0,tab?64:0]]},$$scope:{ctx:ctx}};for(let i=0;i({36:panel}),({panel})=>[0,panel?32:0]]},$$scope:{ctx:ctx}};for(let i=0;i($$unsubscribe_isActive(),$$unsubscribe_isActive=subscribe(isActive,$$value=>$$invalidate(20,$isActive=$$value)),isActive);let $footerOffset;$$self.$$.on_destroy.push(()=>$$unsubscribe_isActive());const name=\"finetune\";let{stores}=$$props;let{isActive}=$$props;$$subscribe_isActive();let{locale={}}=$$props;let{finetuneControlConfiguration}=$$props;let{finetuneOptions}=$$props;const{history,animation,scrollElasticity,elasticityMultiplier,rangeInputElasticity,imageColorMatrix,imageConvolutionMatrix,imageGamma,imageVignette,imageNoise}=stores;component_subscribe($$self,animation,value=>$$invalidate(19,$animation=value));const imageEffectStores={imageColorMatrix:imageColorMatrix,imageConvolutionMatrix:imageConvolutionMatrix,imageGamma:imageGamma,imageVignette:imageVignette,imageNoise:imageNoise};const uid=`finetune-${getUniqueId()}`;const panelValues=writable({});component_subscribe($$self,panelValues,value=>$$invalidate(18,$panelValues=value));const rangeInputConfig=writable({});component_subscribe($$self,rangeInputConfig,value=>$$invalidate(5,$rangeInputConfig=value));const updateRangeInputState=()=>{set_store_value(rangeInputConfig,$rangeInputConfig=Object.keys($panelValues).reduce((config,id)=>{const{base,min,max,getLabel,getStore,setValue=(store,v)=>store.set(v)}=finetuneControlConfiguration[id];const store=getStore(imageEffectStores);const value=$panelValues[id]!=null?$panelValues[id]:base;config[id]={base:base,min:min,max:max,value:value,valueLabel:getLabel?getLabel(value,min,max,max-min):Math.round(100*value),oninputmove:v=>{setValue(store,v)},oninputend:v=>{setValue(store,v);history.write()},elasticity:elasticityMultiplier*rangeInputElasticity,labelReset:locale.labelReset};return config},{}),$rangeInputConfig)};let unsubs=[];const subscribePanelStores=config=>{if(unsubs)unsubs.forEach(unsub=>unsub());unsubs=panels.map(id=>{const{getStore,getValue=passthrough}=config[id];const store=getStore(imageEffectStores);return store.subscribe(value=>{const currentValue=value!=null?getValue(value):value;set_store_value(panelValues,$panelValues={...$panelValues,[id]:currentValue},$panelValues)})})};const footerOffset=spring($animation?20:0);component_subscribe($$self,footerOffset,value=>$$invalidate(21,$footerOffset=value));const select_handler=({detail})=>$$invalidate(2,tabSelected=detail);function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"stores\"in $$props)$$invalidate(14,stores=$$props.stores);if(\"isActive\"in $$props)$$subscribe_isActive($$invalidate(0,isActive=$$props.isActive));if(\"locale\"in $$props)$$invalidate(15,locale=$$props.locale);if(\"finetuneControlConfiguration\"in $$props)$$invalidate(16,finetuneControlConfiguration=$$props.finetuneControlConfiguration);if(\"finetuneOptions\"in $$props)$$invalidate(17,finetuneOptions=$$props.finetuneOptions)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&163840){$$invalidate(1,tabs=finetuneOptions?finetuneOptions.map(([id,label])=>({id:id,label:isFunction(label)?label(locale):label})):[])}if($$self.$$.dirty[0]&2){$$invalidate(2,tabSelected=tabs.length&&tabs[0].id)}if($$self.$$.dirty[0]&4){$$invalidate(3,tabsConfig={name:uid,selected:tabSelected})}if($$self.$$.dirty[0]&2){$$invalidate(4,panels=tabs.map(tab=>tab.id))}if($$self.$$.dirty[0]&65536){finetuneControlConfiguration&&subscribePanelStores(finetuneControlConfiguration)}if($$self.$$.dirty[0]&327680){finetuneControlConfiguration&&$panelValues&&updateRangeInputState()}if($$self.$$.dirty[0]&1572864){$animation&&footerOffset.set($isActive?0:20)}if($$self.$$.dirty[0]&2097152){$$invalidate(6,footerStyle=$footerOffset?`transform: translateY(${$footerOffset}px)`:undefined)}};return[isActive,tabs,tabSelected,tabsConfig,panels,$rangeInputConfig,footerStyle,animation,scrollElasticity,elasticityMultiplier,panelValues,rangeInputConfig,footerOffset,name,stores,locale,finetuneControlConfiguration,finetuneOptions,$panelValues,$animation,$isActive,$footerOffset,select_handler,measure_handler]}class Finetune extends SvelteComponent{constructor(options){super();init(this,options,instance$j,create_fragment$j,safe_not_equal,{name:13,stores:14,isActive:0,locale:15,finetuneControlConfiguration:16,finetuneOptions:17},[-1,-1])}get name(){return this.$$.ctx[13]}get stores(){return this.$$.ctx[14]}set stores(stores){this.$set({stores:stores});flush()}get isActive(){return this.$$.ctx[0]}set isActive(isActive){this.$set({isActive:isActive});flush()}get locale(){return this.$$.ctx[15]}set locale(locale){this.$set({locale:locale});flush()}get finetuneControlConfiguration(){return this.$$.ctx[16]}set finetuneControlConfiguration(finetuneControlConfiguration){this.$set({finetuneControlConfiguration:finetuneControlConfiguration});flush()}get finetuneOptions(){return this.$$.ctx[17]}set finetuneOptions(finetuneOptions){this.$set({finetuneOptions:finetuneOptions});flush()}}var _plugin_finetune={util:[\"finetune\",Finetune]};function get_each_context$4(ctx,list,i){const child_ctx=ctx.slice();child_ctx[47]=list[i].key;child_ctx[48]=list[i].index;child_ctx[49]=list[i].translate;child_ctx[50]=list[i].scale;child_ctx[14]=list[i].rotate;child_ctx[51]=list[i].dir;child_ctx[52]=list[i].center;child_ctx[53]=list[i].type;return child_ctx}function create_if_block_1$3(ctx){let div;let div_style_value;return{c(){div=element(\"div\");attr(div,\"class\",\"PinturaShapeManipulator\");attr(div,\"data-control\",\"point\");attr(div,\"style\",div_style_value=`pointer-events:none;transform: translate3d(${ctx[52].x}px, ${ctx[52].y}px, 0) scale(${ctx[5]}, ${ctx[5]}); opacity: ${ctx[6]}`)},m(target,anchor){insert(target,div,anchor)},p(ctx,dirty){if(dirty[0]&104&&div_style_value!==(div_style_value=`pointer-events:none;transform: translate3d(${ctx[52].x}px, ${ctx[52].y}px, 0) scale(${ctx[5]}, ${ctx[5]}); opacity: ${ctx[6]}`)){attr(div,\"style\",div_style_value)}},d(detaching){if(detaching)detach(div)}}}function create_each_block$4(key_1,ctx){let div;let div_aria_label_value;let div_tabindex_value;let div_data_control_value;let div_style_value;let t;let if_block_anchor;let mounted;let dispose;function nudge_handler(...args){return ctx[18](ctx[48],...args)}let if_block=ctx[53]===\"edge\"&&ctx[2]!==\"both\"&&create_if_block_1$3(ctx);return{key:key_1,first:null,c(){div=element(\"div\");t=space();if(if_block)if_block.c();if_block_anchor=empty();attr(div,\"role\",\"button\");attr(div,\"aria-label\",div_aria_label_value=`Drag ${ctx[53]} ${ctx[47]}`);attr(div,\"tabindex\",div_tabindex_value=ctx[53]===\"edge\"?-1:0);attr(div,\"class\",\"PinturaShapeManipulator\");attr(div,\"data-control\",div_data_control_value=ctx[53]);attr(div,\"style\",div_style_value=`cursor: ${ctx[51]?ctx[51]+\"-resize\":\"move\"}; transform: translate3d(${ctx[49].x}px, ${ctx[49].y}px, 0)${ctx[53]===\"edge\"?` rotate(${ctx[14]}rad)`:\"\"} scale(${ctx[53]===\"point\"?ctx[5]:ctx[50].x}, ${ctx[53]===\"point\"?ctx[5]:ctx[50].y}); opacity: ${ctx[6]}`);this.first=div},m(target,anchor){insert(target,div,anchor);insert(target,t,anchor);if(if_block)if_block.m(target,anchor);insert(target,if_block_anchor,anchor);if(!mounted){dispose=[listen(div,\"keydown\",ctx[7]),listen(div,\"keyup\",ctx[8]),listen(div,\"nudge\",nudge_handler),action_destroyer(nudgeable.call(null,div)),listen(div,\"interactionstart\",function(){if(is_function(ctx[11](\"start\",ctx[48])))ctx[11](\"start\",ctx[48]).apply(this,arguments)}),listen(div,\"interactionupdate\",function(){if(is_function(ctx[11](\"move\",ctx[48])))ctx[11](\"move\",ctx[48]).apply(this,arguments)}),listen(div,\"interactionend\",function(){if(is_function(ctx[11](\"end\",ctx[48])))ctx[11](\"end\",ctx[48]).apply(this,arguments)}),action_destroyer(interactable.call(null,div))];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(dirty[0]&8&&div_aria_label_value!==(div_aria_label_value=`Drag ${ctx[53]} ${ctx[47]}`)){attr(div,\"aria-label\",div_aria_label_value)}if(dirty[0]&8&&div_tabindex_value!==(div_tabindex_value=ctx[53]===\"edge\"?-1:0)){attr(div,\"tabindex\",div_tabindex_value)}if(dirty[0]&8&&div_data_control_value!==(div_data_control_value=ctx[53])){attr(div,\"data-control\",div_data_control_value)}if(dirty[0]&104&&div_style_value!==(div_style_value=`cursor: ${ctx[51]?ctx[51]+\"-resize\":\"move\"}; transform: translate3d(${ctx[49].x}px, ${ctx[49].y}px, 0)${ctx[53]===\"edge\"?` rotate(${ctx[14]}rad)`:\"\"} scale(${ctx[53]===\"point\"?ctx[5]:ctx[50].x}, ${ctx[53]===\"point\"?ctx[5]:ctx[50].y}); opacity: ${ctx[6]}`)){attr(div,\"style\",div_style_value)}if(ctx[53]===\"edge\"&&ctx[2]!==\"both\"){if(if_block){if_block.p(ctx,dirty)}else{if_block=create_if_block_1$3(ctx);if_block.c();if_block.m(if_block_anchor.parentNode,if_block_anchor)}}else if(if_block){if_block.d(1);if_block=null}},d(detaching){if(detaching)detach(div);if(detaching)detach(t);if(if_block)if_block.d(detaching);if(detaching)detach(if_block_anchor);mounted=false;run_all(dispose)}}}function create_if_block$3(ctx){let div;let div_style_value;let mounted;let dispose;return{c(){div=element(\"div\");attr(div,\"role\",\"button\");attr(div,\"aria-label\",\"Drag rotator\");attr(div,\"tabindex\",\"0\");attr(div,\"class\",\"PinturaShapeManipulator\");attr(div,\"data-control\",\"rotate\");attr(div,\"style\",div_style_value=`transform: translate3d(${ctx[0].x}px, ${ctx[0].y}px, 0) scale(${ctx[5]}, ${ctx[5]}); opacity: ${ctx[6]}`)},m(target,anchor){insert(target,div,anchor);if(!mounted){dispose=[listen(div,\"keydown\",ctx[7]),listen(div,\"keyup\",ctx[8]),listen(div,\"nudge\",ctx[13]),action_destroyer(nudgeable.call(null,div)),listen(div,\"interactionstart\",ctx[14](\"start\")),listen(div,\"interactionupdate\",ctx[14](\"move\")),listen(div,\"interactionend\",ctx[14](\"end\")),action_destroyer(interactable.call(null,div))];mounted=true}},p(ctx,dirty){if(dirty[0]&97&&div_style_value!==(div_style_value=`transform: translate3d(${ctx[0].x}px, ${ctx[0].y}px, 0) scale(${ctx[5]}, ${ctx[5]}); opacity: ${ctx[6]}`)){attr(div,\"style\",div_style_value)}},d(detaching){if(detaching)detach(div);mounted=false;run_all(dispose)}}}function create_fragment$i(ctx){let each_blocks=[];let each_1_lookup=new Map;let t;let if_block_anchor;let each_value=ctx[3];const get_key=ctx=>ctx[47];for(let i=0;ishiftKey=e.shiftKey;const handleKeyUp=e=>shiftKey=false;const selectionScale=spring(.5,{precision:1e-4,stiffness:.3,damping:.7});component_subscribe($$self,selectionScale,value=>$$invalidate(5,$selectionScale=value));const selectionOpacity=spring(0,{precision:.001,stiffness:.3,damping:.7});component_subscribe($$self,selectionOpacity,value=>$$invalidate(6,$selectionOpacity=value));const rotate=type=>({detail})=>{const translation=detail&&detail.translation?detail.translation:vectorCreate(0,0);dispatch(`rotate${type}`,{translation:translation,shiftKey:shiftKey})};const resize=(type,indexes)=>({detail})=>{const translation=detail&&detail.translation?detail.translation:vectorCreate(0,0);dispatch(`resize${type}`,{indexes:indexes,translation:translation,shiftKey:shiftKey})};const getDirectionByAngle=angle=>{let dir=\"\";const isNorth=angle<=N1&&angle>=N0;const isSouth=angle>=S0&&angle<=S1;const isEast=angle<=E1||angle>=E0;const isWest=angle>=W1&&angle<=W0;const isNorthEast=angle>=NE0&&angle<=NE1;const isNorthWest=angle>=NW0&&angle<=NW1;const isSouthEast=angle<=SE0&&angle>=SE1;const isSouthWest=angle<=SW0&&angle>=SW1;if(isNorth||isSouth)dir=\"ns\";if(isEast||isWest)dir=\"ew\";if(isNorthEast||isSouthWest)dir=\"nesw\";if(isNorthWest||isSouthEast)dir=\"nwse\";return dir};const mapPointsToControls=(points,axis)=>{let i=0;const center=vectorCenter(points);const out=[];const l=points.length;const isLine=l===2;const isAxisLimited=axis!==\"both\";for(;i{dispatch(`resizestart`,{indexes:indexes,translation:vectorCreateEmpty()});dispatch(`resizemove`,{indexes:indexes,translation:translation});dispatch(`resizeend`,{indexes:indexes,translation:vectorCreateEmpty()})};const handleRotateNudge=({detail})=>{dispatch(`rotatestart`,{translation:vectorCreateEmpty()});dispatch(`rotatemove`,{translation:detail});dispatch(`rotateend`,{translation:vectorCreateEmpty()})};const nudge_handler=(index,{detail})=>handleResizeNudge(index,detail);$$self.$$set=$$props=>{if(\"points\"in $$props)$$invalidate(15,points=$$props.points);if(\"rotatorPoint\"in $$props)$$invalidate(0,rotatorPoint=$$props.rotatorPoint);if(\"visible\"in $$props)$$invalidate(16,visible=$$props.visible);if(\"enableResizing\"in $$props)$$invalidate(17,enableResizing=$$props.enableResizing);if(\"enableRotating\"in $$props)$$invalidate(1,enableRotating=$$props.enableRotating)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&65536){selectionScale.set(visible?1:.5)}if($$self.$$.dirty[0]&65536){selectionOpacity.set(visible?1:0)}if($$self.$$.dirty[0]&131072){$$invalidate(2,resizeAxis=!enableResizing?false:isString(enableResizing)?enableResizing:\"both\")}if($$self.$$.dirty[0]&32772){$$invalidate(3,resizeControls=resizeAxis&&mapPointsToControls(points,resizeAxis)||[])}if($$self.$$.dirty[0]&32768){$$invalidate(4,rotationControlActive=points.length>2)}};return[rotatorPoint,enableRotating,resizeAxis,resizeControls,rotationControlActive,$selectionScale,$selectionOpacity,handleKeyDown,handleKeyUp,selectionScale,selectionOpacity,resize,handleResizeNudge,handleRotateNudge,rotate,points,visible,enableResizing,nudge_handler]}class ShapeManipulator extends SvelteComponent{constructor(options){super();init(this,options,instance$i,create_fragment$i,safe_not_equal,{points:15,rotatorPoint:0,visible:16,enableResizing:17,enableRotating:1},[-1,-1])}}var getEventPositionInEditor=(e,viewOffset)=>{const positionInViewport=getEventPositionInViewport(e);return vectorSubtract(positionInViewport,viewOffset)};let result$1=null;var isAndroid=()=>{if(result$1===null)result$1=isUserAgent(/Android/);return result$1};var cursorMoveToEnd=field=>field.selectionStart=field.selectionEnd=field.value.length;let result=null;var supportsVisualViewport=()=>{if(result===null){result=isBrowser()&&\"visualViewport\"in window}return result};var createSoftKeyboardObserver=cb=>{if(!supportsVisualViewport())return false;const heightNormal=visualViewport.height;const testState=()=>{cb(visualViewport.heightvisualViewport.removeEventListener(\"resize\",testState)};function create_fragment$h(ctx){let div2;let div1;let button0;let t0;let div0;let t1;let button1;let current;let mounted;let dispose;button0=new Button({props:{onclick:ctx[1],label:ctx[5],icon:ctx[7],hideLabel:!ctx[6]}});const default_slot_template=ctx[20].default;const default_slot=create_slot(default_slot_template,ctx,ctx[19],null);button1=new Button({props:{onclick:ctx[0],label:ctx[2],icon:ctx[4],hideLabel:!ctx[3],class:\"PinturaInputFormButtonConfirm\"}});return{c(){div2=element(\"div\");div1=element(\"div\");create_component(button0.$$.fragment);t0=space();div0=element(\"div\");if(default_slot)default_slot.c();t1=space();create_component(button1.$$.fragment);attr(div0,\"class\",\"PinturaInputFormFields\");attr(div1,\"class\",\"PinturaInputFormInner\");attr(div2,\"class\",\"PinturaInputForm\");attr(div2,\"style\",ctx[9])},m(target,anchor){insert(target,div2,anchor);append(div2,div1);mount_component(button0,div1,null);append(div1,t0);append(div1,div0);if(default_slot){default_slot.m(div0,null)}append(div1,t1);mount_component(button1,div1,null);ctx[21](div2);current=true;if(!mounted){dispose=[listen(div2,\"focusin\",ctx[10]),listen(div2,\"focusout\",ctx[11]),listen(div2,\"measure\",ctx[12]),action_destroyer(measurable.call(null,div2))];mounted=true}},p(ctx,dirty){const button0_changes={};if(dirty[0]&2)button0_changes.onclick=ctx[1];if(dirty[0]&32)button0_changes.label=ctx[5];if(dirty[0]&128)button0_changes.icon=ctx[7];if(dirty[0]&64)button0_changes.hideLabel=!ctx[6];button0.$set(button0_changes);if(default_slot){if(default_slot.p&&dirty[0]&524288){update_slot(default_slot,default_slot_template,ctx,ctx[19],dirty,null,null)}}const button1_changes={};if(dirty[0]&1)button1_changes.onclick=ctx[0];if(dirty[0]&4)button1_changes.label=ctx[2];if(dirty[0]&16)button1_changes.icon=ctx[4];if(dirty[0]&8)button1_changes.hideLabel=!ctx[3];button1.$set(button1_changes);if(!current||dirty[0]&512){attr(div2,\"style\",ctx[9])}},i(local){if(current)return;transition_in(button0.$$.fragment,local);transition_in(default_slot,local);transition_in(button1.$$.fragment,local);current=true},o(local){transition_out(button0.$$.fragment,local);transition_out(default_slot,local);transition_out(button1.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div2);destroy_component(button0);if(default_slot)default_slot.d(detaching);destroy_component(button1);ctx[21](null);mounted=false;run_all(dispose)}}}const panelDelay=200;function instance$h($$self,$$props,$$invalidate){let computedStyle;let shouldStickToKeyboard;let style;let{$$slots:slots={},$$scope}=$$props;let{onconfirm}=$$props;let{oncancel}=$$props;let{autoFocus=true}=$$props;let{autoPositionCursor=true}=$$props;let{labelConfirm}=$$props;let{labelConfirmShow=true}=$$props;let{iconConfirm}=$$props;let{labelCancel}=$$props;let{labelCancelShow=false}=$$props;let{iconCancel}=$$props;let{panelOffset=vectorCreateEmpty()}=$$props;let panelVisible=false;let panelHeight=undefined;let panelRevealTimeout=undefined;let panelPosition=\"\";let panelOpacity=0;let root;const isTextarea=element=>/textarea/i.test(element);const preventTextAreaScrollingOnIOS=element=>{let lastScreenY;const handleTouchStart=e=>lastScreenY=e.touches[0].screenY;const handleTouchMove=e=>{const currentScreenY=e.touches[0].screenY;const target=e.target;if(/textarea/i.test(target.nodeName)){if(currentScreenY>lastScreenY){if(target.scrollTop==0){e.preventDefault()}}else if(currentScreenY{element.removeEventListener(\"touchstart\",handleTouchStart);element.removeEventListener(\"touchmove\",handleTouchMove)}};const focus=()=>{const field=root.querySelector(\"input, textarea\");field.focus();field.select()};const show=()=>{panelVisible=true;if(!unsubSoftKeyboardListener&&(isIOS()||isAndroid())){$$invalidate(16,panelPosition=\"top:1em;bottom:auto;\")}if(isIOS())preventTextAreaScrollingOnIOS(root);$$invalidate(17,panelOpacity=1)};const hide=()=>{panelVisible=false;$$invalidate(17,panelOpacity=0)};const handleSoftKeyboard=keyboardState=>{if(!shouldStickToKeyboard){$$invalidate(16,panelPosition=`top: 4.5em; bottom: auto`);return}if(keyboardState===\"hidden\"&&!panelVisible){focus();return}clearTimeout(panelRevealTimeout);panelRevealTimeout=undefined;$$invalidate(16,panelPosition=`top:${visualViewport.height-panelHeight-panelOffset.y}px`);if(keyboardState===\"visible\"){$$invalidate(8,root.dataset.layout=\"stick\",root);focus();show()}else{hide()}};let focusDateTime;const handleFocusIn=e=>{if(!isTextarea(e.target))return;focusDateTime=Date.now();if(autoPositionCursor)cursorMoveToEnd(e.target);clearTimeout(panelRevealTimeout);panelRevealTimeout=setTimeout(show,panelDelay)};const handleFocusOut=e=>{const focusDuration=Date.now()-focusDateTime;if(focusDuration>50)return;e.stopPropagation();focus()};const unsubSoftKeyboardListener=createSoftKeyboardObserver(handleSoftKeyboard);const handleMeasure=({detail})=>{panelHeight=detail.height};onMount(()=>{if(!autoFocus)return;focus()});onDestroy(()=>{unsubSoftKeyboardListener&&unsubSoftKeyboardListener()});function div2_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{root=$$value;$$invalidate(8,root)})}$$self.$$set=$$props=>{if(\"onconfirm\"in $$props)$$invalidate(0,onconfirm=$$props.onconfirm);if(\"oncancel\"in $$props)$$invalidate(1,oncancel=$$props.oncancel);if(\"autoFocus\"in $$props)$$invalidate(13,autoFocus=$$props.autoFocus);if(\"autoPositionCursor\"in $$props)$$invalidate(14,autoPositionCursor=$$props.autoPositionCursor);if(\"labelConfirm\"in $$props)$$invalidate(2,labelConfirm=$$props.labelConfirm);if(\"labelConfirmShow\"in $$props)$$invalidate(3,labelConfirmShow=$$props.labelConfirmShow);if(\"iconConfirm\"in $$props)$$invalidate(4,iconConfirm=$$props.iconConfirm);if(\"labelCancel\"in $$props)$$invalidate(5,labelCancel=$$props.labelCancel);if(\"labelCancelShow\"in $$props)$$invalidate(6,labelCancelShow=$$props.labelCancelShow);if(\"iconCancel\"in $$props)$$invalidate(7,iconCancel=$$props.iconCancel);if(\"panelOffset\"in $$props)$$invalidate(15,panelOffset=$$props.panelOffset);if(\"$$scope\"in $$props)$$invalidate(19,$$scope=$$props.$$scope)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&256){$$invalidate(18,computedStyle=root&&getComputedStyle(root))}if($$self.$$.dirty[0]&262144){shouldStickToKeyboard=computedStyle&&computedStyle.getPropertyValue(\"--editor-modal\")===\"1\"}if($$self.$$.dirty[0]&196608){$$invalidate(9,style=`opacity:${panelOpacity};${panelPosition}`)}};return[onconfirm,oncancel,labelConfirm,labelConfirmShow,iconConfirm,labelCancel,labelCancelShow,iconCancel,root,style,handleFocusIn,handleFocusOut,handleMeasure,autoFocus,autoPositionCursor,panelOffset,panelPosition,panelOpacity,computedStyle,$$scope,slots,div2_binding]}class InputForm extends SvelteComponent{constructor(options){super();init(this,options,instance$h,create_fragment$h,safe_not_equal,{onconfirm:0,oncancel:1,autoFocus:13,autoPositionCursor:14,labelConfirm:2,labelConfirmShow:3,iconConfirm:4,labelCancel:5,labelCancelShow:6,iconCancel:7,panelOffset:15},[-1,-1])}}var t=text=>document.createTextNode(text);function create_fragment$g(ctx){let pre;let pre_data_wrap_content_value;let mounted;let dispose;return{c(){pre=element(\"pre\");attr(pre,\"class\",\"PinturaContentEditable\");attr(pre,\"data-wrap-content\",pre_data_wrap_content_value=ctx[3]?\"wrap\":\"nowrap\");attr(pre,\"contenteditable\",\"\");attr(pre,\"spellcheck\",ctx[0]);attr(pre,\"autocorrect\",ctx[1]);attr(pre,\"autocapitalize\",ctx[2]);attr(pre,\"style\",ctx[4])},m(target,anchor){insert(target,pre,anchor);ctx[20](pre);if(!mounted){dispose=[listen(pre,\"input\",ctx[9]),listen(pre,\"paste\",ctx[10]),listen(pre,\"keydown\",ctx[7]),listen(pre,\"keyup\",ctx[8]),listen(pre,\"blur\",ctx[6])];mounted=true}},p(ctx,dirty){if(dirty[0]&8&&pre_data_wrap_content_value!==(pre_data_wrap_content_value=ctx[3]?\"wrap\":\"nowrap\")){attr(pre,\"data-wrap-content\",pre_data_wrap_content_value)}if(dirty[0]&1){attr(pre,\"spellcheck\",ctx[0])}if(dirty[0]&2){attr(pre,\"autocorrect\",ctx[1])}if(dirty[0]&4){attr(pre,\"autocapitalize\",ctx[2])}if(dirty[0]&16){attr(pre,\"style\",ctx[4])}},i:noop,o:noop,d(detaching){if(detaching)detach(pre);ctx[20](null);mounted=false;run_all(dispose)}}}function instance$g($$self,$$props,$$invalidate){let isReady;let{spellcheck=\"false\"}=$$props;let{autocorrect=\"off\"}=$$props;let{autocapitalize=\"off\"}=$$props;let{wrapLines=true}=$$props;let{textStyles=false}=$$props;let{formatInput=passthrough}=$$props;let{formatPaste=passthrough}=$$props;let{style=undefined}=$$props;let{innerHTML=undefined}=$$props;let{oninput=noop$1}=$$props;const confirm=()=>confirmInputState();const focus=()=>element&&element.focus();const select=()=>{if(!element)return;const range=document.createRange();range.selectNodeContents(element);const selection=window.getSelection();selection.removeAllRanges();selection.addRange(range)};const dispatchEvent=createEventDispatcher();let element;if(isBrowser())document.execCommand(\"defaultParagraphSeparator\",false,\"br\");const setInnerHTML=html=>{if(html===element.innerHTML)return;$$invalidate(5,element.innerHTML=html,element);if(element===document.activeElement)select()};const removeTextStyles=html=>{return html.replace(/<\\/?(?:i|b|em|strong)>/,\"\")};const updateInnerHTML=()=>{$$invalidate(11,innerHTML=element.innerHTML);dispatchEvent(\"input\",innerHTML);oninput(innerHTML);requestAnimationFrame(()=>element&&element.scrollTo(0,0))};const confirmInputState=()=>{insertBookmarks(element);const html=textStyles?element.innerHTML:removeTextStyles(element.innerHTML);$$invalidate(5,element.innerHTML=formatInput(html),element);selectBookmarks(element);updateInnerHTML()};const handleBlur=()=>dispatchEvent(\"blur\");const handleKeydown=e=>{if(e.keyCode!==13)return;const caretPosition=getCaretPosition(element);const htmlBreak=caretPosition===element.textContent.length?\"

\":\"
\";wrapLines&&document.execCommand(\"insertHTML\",false,htmlBreak);e.preventDefault()};const handleKeyup=()=>{};const handleInput=e=>{const{inputType}=e;if(inputType===\"insertCompositionText\"||inputType===\"deleteCompositionText\"){return}confirmInputState()};const handlePaste=e=>{e.preventDefault();const plainText=e.clipboardData.getData(\"text/plain\");const html=textStyles?plainText:removeTextStyles(plainText);const text=formatPaste(html);if(!text.length)return;const range=window.getSelection().getRangeAt(0);range.deleteContents();range.insertNode(document.createTextNode(text));updateInnerHTML()};const createBookmark=name=>{const bookmarkNode=h(\"span\");bookmarkNode.dataset.bookmark=name;return bookmarkNode};const insertBookmark=(node,offset,name)=>{const bookmarkNode=createBookmark(name);if(node.nodeType===Node.TEXT_NODE){const text=node.textContent;if(name===\"start\"){const before=t(text.substr(0,offset));const after=t(text.substr(offset));node.replaceWith(before,bookmarkNode,after)}else{const before=t(text.substr(0,offset));const after=t(text.substr(offset));node.replaceWith(before,bookmarkNode,after)}}else if(node.nodeType===Node.ELEMENT_NODE){node.insertBefore(bookmarkNode,node.childNodes[offset])}};const insertBookmarks=element=>{const selection=window.getSelection();if(!(selection.getRangeAt&&selection.rangeCount))return;const range=selection.getRangeAt(0);const{startOffset,endOffset,startContainer,endContainer}=range;if(!element.contains(range.startContainer)||!element.contains(range.endContainer))return;if(startContainer.nodeType===Node.TEXT_NODE&&startContainer===endContainer){const text=startContainer.textContent;const before=text.substr(0,startOffset);const bookmarkStart=createBookmark(\"start\");const selected=endOffset-startOffset>0?text.substr(startOffset,endOffset):\"\";const bookmarkEnd=createBookmark(\"end\");const after=text.substr(endOffset);startContainer.replaceWith(before,bookmarkStart,selected,bookmarkEnd,after)}else{insertBookmark(startContainer,startOffset,\"start\");insertBookmark(endContainer,endOffset+(startContainer===endContainer?1:0),\"end\")}};const selectBookmarks=element=>{const bookmarkStart=findBookmark(element,\"start\");const bookmarkEnd=findBookmark(element,\"end\");if(!bookmarkStart||!bookmarkEnd)return;const range=document.createRange();range.setStart(bookmarkStart,0);range.setEnd(bookmarkEnd,0);const selection=window.getSelection();selection.removeAllRanges();selection.addRange(range);bookmarkStart.remove();bookmarkEnd.remove()};const findBookmark=(element,name)=>{const children=element.children;for(let i=0;i{const range=window.getSelection().getRangeAt(0);const preCaretRange=range.cloneRange();preCaretRange.selectNodeContents(element);preCaretRange.setEnd(range.endContainer,range.endOffset);return preCaretRange.toString().length};function pre_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{element=$$value;$$invalidate(5,element)})}$$self.$$set=$$props=>{if(\"spellcheck\"in $$props)$$invalidate(0,spellcheck=$$props.spellcheck);if(\"autocorrect\"in $$props)$$invalidate(1,autocorrect=$$props.autocorrect);if(\"autocapitalize\"in $$props)$$invalidate(2,autocapitalize=$$props.autocapitalize);if(\"wrapLines\"in $$props)$$invalidate(3,wrapLines=$$props.wrapLines);if(\"textStyles\"in $$props)$$invalidate(12,textStyles=$$props.textStyles);if(\"formatInput\"in $$props)$$invalidate(13,formatInput=$$props.formatInput);if(\"formatPaste\"in $$props)$$invalidate(14,formatPaste=$$props.formatPaste);if(\"style\"in $$props)$$invalidate(4,style=$$props.style);if(\"innerHTML\"in $$props)$$invalidate(11,innerHTML=$$props.innerHTML);if(\"oninput\"in $$props)$$invalidate(15,oninput=$$props.oninput)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&32){$$invalidate(19,isReady=!!element)}if($$self.$$.dirty[0]&526336){if(isReady&&innerHTML)setInnerHTML(innerHTML)}};return[spellcheck,autocorrect,autocapitalize,wrapLines,style,element,handleBlur,handleKeydown,handleKeyup,handleInput,handlePaste,innerHTML,textStyles,formatInput,formatPaste,oninput,confirm,focus,select,isReady,pre_binding]}class ContentEditable extends SvelteComponent{constructor(options){super();init(this,options,instance$g,create_fragment$g,safe_not_equal,{spellcheck:0,autocorrect:1,autocapitalize:2,wrapLines:3,textStyles:12,formatInput:13,formatPaste:14,style:4,innerHTML:11,oninput:15,confirm:16,focus:17,select:18},[-1,-1])}get spellcheck(){return this.$$.ctx[0]}set spellcheck(spellcheck){this.$set({spellcheck:spellcheck});flush()}get autocorrect(){return this.$$.ctx[1]}set autocorrect(autocorrect){this.$set({autocorrect:autocorrect});flush()}get autocapitalize(){return this.$$.ctx[2]}set autocapitalize(autocapitalize){this.$set({autocapitalize:autocapitalize});flush()}get wrapLines(){return this.$$.ctx[3]}set wrapLines(wrapLines){this.$set({wrapLines:wrapLines});flush()}get textStyles(){return this.$$.ctx[12]}set textStyles(textStyles){this.$set({textStyles:textStyles});flush()}get formatInput(){return this.$$.ctx[13]}set formatInput(formatInput){this.$set({formatInput:formatInput});flush()}get formatPaste(){return this.$$.ctx[14]}set formatPaste(formatPaste){this.$set({formatPaste:formatPaste});flush()}get style(){return this.$$.ctx[4]}set style(style){this.$set({style:style});flush()}get innerHTML(){return this.$$.ctx[11]}set innerHTML(innerHTML){this.$set({innerHTML:innerHTML});flush()}get oninput(){return this.$$.ctx[15]}set oninput(oninput){this.$set({oninput:oninput});flush()}get confirm(){return this.$$.ctx[16]}get focus(){return this.$$.ctx[17]}get select(){return this.$$.ctx[18]}}var textToHTML=text=>{const html=text.replace(/ {2,}/g,\" \").replace(/&/g,\"&\").replace(/\\u00a0/g,\" \").replace(//g,\">\").split(\"\\n\").join(\"
\");return html};var htmlToText=html=>{const text=html.split(\"
\").join(\"\\n\").replace(/ /g,String.fromCharCode(160)).replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\");return text};function get_each_context$3(ctx,list,i){const child_ctx=ctx.slice();child_ctx[197]=list[i];child_ctx[199]=i;return child_ctx}function create_each_block$3(key_1,ctx){let li;let button;let colorpreview;let t0;let span;let t1_value=ctx[197].name+\"\";let t1;let button_aria_label_value;let t2;let current;let mounted;let dispose;colorpreview=new ColorPreview({props:{color:ctx[197].color}});function click_handler(...args){return ctx[131](ctx[199],...args)}return{key:key_1,first:null,c(){li=element(\"li\");button=element(\"button\");create_component(colorpreview.$$.fragment);t0=space();span=element(\"span\");t1=text(t1_value);t2=space();attr(button,\"class\",\"PinturaShapeListItem\");attr(button,\"type\",\"button\");attr(button,\"aria-label\",button_aria_label_value=\"Select shape \"+ctx[197].name);this.first=li},m(target,anchor){insert(target,li,anchor);append(li,button);mount_component(colorpreview,button,null);append(button,t0);append(button,span);append(span,t1);append(li,t2);current=true;if(!mounted){dispose=listen(button,\"click\",click_handler);mounted=true}},p(new_ctx,dirty){ctx=new_ctx;const colorpreview_changes={};if(dirty[0]&4194304)colorpreview_changes.color=ctx[197].color;colorpreview.$set(colorpreview_changes);if((!current||dirty[0]&4194304)&&t1_value!==(t1_value=ctx[197].name+\"\"))set_data(t1,t1_value);if(!current||dirty[0]&4194304&&button_aria_label_value!==(button_aria_label_value=\"Select shape \"+ctx[197].name)){attr(button,\"aria-label\",button_aria_label_value)}},i(local){if(current)return;transition_in(colorpreview.$$.fragment,local);current=true},o(local){transition_out(colorpreview.$$.fragment,local);current=false},d(detaching){if(detaching)detach(li);destroy_component(colorpreview);mounted=false;dispose()}}}function create_if_block_4$2(ctx){let shapemanipulator;let current;shapemanipulator=new ShapeManipulator({props:{visible:true,points:ctx[11],rotatorPoint:ctx[16],enableResizing:ctx[15],enableRotating:ctx[9]}});shapemanipulator.$on(\"resizestart\",ctx[28]);shapemanipulator.$on(\"resizemove\",ctx[29]);shapemanipulator.$on(\"resizeend\",ctx[30]);shapemanipulator.$on(\"rotatestart\",ctx[31]);shapemanipulator.$on(\"rotatemove\",ctx[32]);shapemanipulator.$on(\"rotateend\",ctx[33]);return{c(){create_component(shapemanipulator.$$.fragment)},m(target,anchor){mount_component(shapemanipulator,target,anchor);current=true},p(ctx,dirty){const shapemanipulator_changes={};if(dirty[0]&2048)shapemanipulator_changes.points=ctx[11];if(dirty[0]&65536)shapemanipulator_changes.rotatorPoint=ctx[16];if(dirty[0]&32768)shapemanipulator_changes.enableResizing=ctx[15];if(dirty[0]&512)shapemanipulator_changes.enableRotating=ctx[9];shapemanipulator.$set(shapemanipulator_changes)},i(local){if(current)return;transition_in(shapemanipulator.$$.fragment,local);current=true},o(local){transition_out(shapemanipulator.$$.fragment,local);current=false},d(detaching){destroy_component(shapemanipulator,detaching)}}}function create_if_block_1$2(ctx){let current_block_type_index;let if_block;let if_block_anchor;let current;const if_block_creators=[create_if_block_2$2,create_if_block_3$2];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[3]===\"modal\")return 0;if(ctx[3]===\"inline\")return 1;return-1}if(~(current_block_type_index=select_block_type(ctx))){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx)}return{c(){if(if_block)if_block.c();if_block_anchor=empty()},m(target,anchor){if(~current_block_type_index){if_blocks[current_block_type_index].m(target,anchor)}insert(target,if_block_anchor,anchor);current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}else{if_block=null}}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(~current_block_type_index){if_blocks[current_block_type_index].d(detaching)}if(detaching)detach(if_block_anchor)}}}function create_if_block_3$2(ctx){let div;let contenteditable;let current;let contenteditable_props={formatInput:ctx[35],wrapLines:!!ctx[8].width,style:ctx[18]};contenteditable=new ContentEditable({props:contenteditable_props});ctx[134](contenteditable);contenteditable.$on(\"input\",ctx[36]);contenteditable.$on(\"keyup\",ctx[39]);return{c(){div=element(\"div\");create_component(contenteditable.$$.fragment);attr(div,\"class\",\"PinturaInlineInput\");attr(div,\"style\",ctx[19])},m(target,anchor){insert(target,div,anchor);mount_component(contenteditable,div,null);current=true},p(ctx,dirty){const contenteditable_changes={};if(dirty[0]&256)contenteditable_changes.wrapLines=!!ctx[8].width;if(dirty[0]&262144)contenteditable_changes.style=ctx[18];contenteditable.$set(contenteditable_changes);if(!current||dirty[0]&524288){attr(div,\"style\",ctx[19])}},i(local){if(current)return;transition_in(contenteditable.$$.fragment,local);current=true},o(local){transition_out(contenteditable.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);ctx[134](null);destroy_component(contenteditable)}}}function create_if_block_2$2(ctx){let inputform;let current;inputform=new InputForm({props:{panelOffset:ctx[1],onconfirm:ctx[40],oncancel:ctx[41],labelCancel:ctx[4].shapeLabelInputCancel,iconCancel:ctx[4].shapeIconInputCancel,labelConfirm:ctx[4].shapeLabelInputConfirm,iconConfirm:ctx[4].shapeIconInputConfirm,$$slots:{default:[create_default_slot$6]},$$scope:{ctx:ctx}}});return{c(){create_component(inputform.$$.fragment)},m(target,anchor){mount_component(inputform,target,anchor);current=true},p(ctx,dirty){const inputform_changes={};if(dirty[0]&2)inputform_changes.panelOffset=ctx[1];if(dirty[0]&16)inputform_changes.labelCancel=ctx[4].shapeLabelInputCancel;if(dirty[0]&16)inputform_changes.iconCancel=ctx[4].shapeIconInputCancel;if(dirty[0]&16)inputform_changes.labelConfirm=ctx[4].shapeLabelInputConfirm;if(dirty[0]&16)inputform_changes.iconConfirm=ctx[4].shapeIconInputConfirm;if(dirty[0]&393280|dirty[6]&16384){inputform_changes.$$scope={dirty:dirty,ctx:ctx}}inputform.$set(inputform_changes)},i(local){if(current)return;transition_in(inputform.$$.fragment,local);current=true},o(local){transition_out(inputform.$$.fragment,local);current=false},d(detaching){destroy_component(inputform,detaching)}}}function create_default_slot$6(ctx){let textarea;let mounted;let dispose;return{c(){textarea=element(\"textarea\");attr(textarea,\"spellcheck\",\"false\");attr(textarea,\"autocorrect\",\"off\");attr(textarea,\"autocapitalize\",\"off\");attr(textarea,\"style\",ctx[18])},m(target,anchor){insert(target,textarea,anchor);ctx[132](textarea);set_input_value(textarea,ctx[17]);if(!mounted){dispose=[listen(textarea,\"keydown\",ctx[38]),listen(textarea,\"keypress\",ctx[37]),listen(textarea,\"keyup\",ctx[39]),listen(textarea,\"input\",ctx[36]),listen(textarea,\"input\",ctx[133])];mounted=true}},p(ctx,dirty){if(dirty[0]&262144){attr(textarea,\"style\",ctx[18])}if(dirty[0]&131072){set_input_value(textarea,ctx[17])}},d(detaching){if(detaching)detach(textarea);ctx[132](null);mounted=false;run_all(dispose)}}}function create_if_block$2(ctx){let div;let dynamiccomponenttree;let current;let mounted;let dispose;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[21]}});return{c(){div=element(\"div\");create_component(dynamiccomponenttree.$$.fragment);attr(div,\"class\",\"PinturaShapeControls\");attr(div,\"style\",ctx[20])},m(target,anchor){insert(target,div,anchor);mount_component(dynamiccomponenttree,div,null);current=true;if(!mounted){dispose=[listen(div,\"measure\",ctx[135]),action_destroyer(measurable.call(null,div))];mounted=true}},p(ctx,dirty){const dynamiccomponenttree_changes={};if(dirty[0]&2097152)dynamiccomponenttree_changes.items=ctx[21];dynamiccomponenttree.$set(dynamiccomponenttree_changes);if(!current||dirty[0]&1048576){attr(div,\"style\",ctx[20])}},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(dynamiccomponenttree);mounted=false;run_all(dispose)}}}function create_fragment$f(ctx){let div;let nav;let ul;let each_blocks=[];let each_1_lookup=new Map;let t0;let t1;let t2;let interactable_action;let current;let mounted;let dispose;let each_value=ctx[22];const get_key=ctx=>ctx[197].id;for(let i=0;i0&&create_if_block$2(ctx);return{c(){div=element(\"div\");nav=element(\"nav\");ul=element(\"ul\");for(let i=0;i{if_block0=null});check_outros()}if(ctx[12]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&4096){transition_in(if_block1,1)}}else{if_block1=create_if_block_1$2(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(div,t2)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}if(ctx[13]>0){if(if_block2){if_block2.p(ctx,dirty);if(dirty[0]&8192){transition_in(if_block2,1)}}else{if_block2=create_if_block$2(ctx);if_block2.c();transition_in(if_block2,1);if_block2.m(div,null)}}else if(if_block2){group_outros();transition_out(if_block2,1,1,()=>{if_block2=null});check_outros()}if(interactable_action&&is_function(interactable_action.update)&&dirty[0]&4)interactable_action.update.call(null,{drag:true,pinch:true,inertia:true,matchTarget:true,getEventPosition:ctx[136]})},i(local){if(current)return;for(let i=0;itrue}=$$props;let{beforeDeselectShape=()=>true}=$$props;let{beforeRemoveShape=()=>true}=$$props;let{beforeUpdateShape=(shape,props)=>props}=$$props;let{willRenderShapeControls=passthrough}=$$props;let{mapEditorPointToImagePoint}=$$props;let{mapImagePointToEditorPoint}=$$props;let{eraseRadius=undefined}=$$props;let{selectRadius=undefined}=$$props;let{enableButtonFlipVertical=false}=$$props;let{enableTapToAddText=true}=$$props;let{locale}=$$props;const updateShape=(shape,props,parentRect)=>{let propsToUpdate=beforeUpdateShape({...shape},props,{...parentRect});shapeUpdateProps(shape,propsToUpdate,parentRect)};const circleOverlapsWithLine=(point,radius,from,to)=>{const ac=vectorCreate(point.x-from.x,point.y-from.y);const ab=vectorCreate(to.x-from.x,to.y-from.y);const ab2=vectorDot(ab,ab);const acab=vectorDot(ac,ab);let t=acab/ab2;t=t<0?0:t;t=t>1?1:t;const h=vectorCreate(ab.x*t+from.x-point.x,ab.y*t+from.y-point.y);const h2=vectorDot(h,h);return h2<=radius*radius};const circleOverlapsWithPath=(position,radius,points)=>{const l=points.length;for(let i=0;i{if(pointInPoly$1(position,points))return true;if(circleOverlapsWithPath(position,radius,points))return true;return circleOverlapsWithLine(position,radius,points[0],points[points.length-1])};const circleOverlapsWithEllipse=(position,radius,ellipse,rotation,flipX,flipY)=>{const points=ellipseToPolygon(vectorCreate(ellipse.x,ellipse.y),ellipse.rx,ellipse.ry,rotation,flipX,flipY,12);return circleOverlapsWithPolygon(position,radius,points)};const circleOverlapsWithRect=(position,radius,rect,rotation,pivot)=>circleOverlapsWithPolygon(position,radius,rectRotate(rect,rotation,pivot||rectCenter(rect)));const shapeToPoly=(computedShape,resolution=12)=>{if(shapeIsRect(computedShape)){return rectRotate(computedShape,computedShape.rotation,rectCenter(computedShape))}else if(shapeIsText(computedShape)){const computedRect=getMarkupShapeRect(computedShape);return rectRotate(computedRect,computedShape.rotation,rectCenter(computedRect))}else if(shapeIsEllipse(computedShape)){return ellipseToPolygon(vectorCreate(computedShape.x,computedShape.y),computedShape.rx,computedShape.ry,computedShape.rotation,computedShape.flipX,computedShape.flipY,resolution)}return[]};const keysPressedStored=getContext(\"keysPressed\");component_subscribe($$self,keysPressedStored,value=>$$invalidate(146,$keysPressedStored=value));const getShapeUpdateRotation=(rotation,flipX,flipY)=>{if(rotation===0)return rotation;if(flipX&&flipY)return rotation;if(flipX)return-rotation;if(flipY)return-rotation;return rotation};const createShape=(shapeDefault,options={})=>{let interactionOrigin;let interactionRadius;let interactionPosition;let isEllipse=shapeIsEllipse(shapeDefault);let isText=shapeIsText(shapeDefault);let isRelative=options.position===\"relative\";if(shapeIsPath(shapeDefault)){return{start:e=>{const{origin}=e.detail;interactionRadius=4;interactionOrigin=vectorClone(origin);interactionPosition=vectorClone(origin);const originPoint=mapEditorPointToImagePoint(origin);if(isRelative){originPoint.x=isRelative?toPercentage(originPoint.x,parentRect.width):originPoint.x;originPoint.y=isRelative?toPercentage(originPoint.y,parentRect.height):originPoint.y}addMarkupItemDraft({...shapeDefault,points:[originPoint]})},update:e=>{const draft=getMarkupItemDraft();const{translation}=e.detail;const pointerPosition=vectorCreate(interactionOrigin.x+translation.x,interactionOrigin.y+translation.y);const dist=vectorDistance(interactionPosition,pointerPosition);if(fixPrecision(dist,5)<=interactionRadius)return;const angle=vectorAngleBetween(pointerPosition,interactionPosition);const moveDist=interactionRadius-dist;interactionPosition.x+=moveDist*Math.cos(angle);interactionPosition.y+=moveDist*Math.sin(angle);const point=mapEditorPointToImagePoint(interactionPosition);if(point){point.x=isRelative?toPercentage(point.x,parentRect.width):point.x;point.y=isRelative?toPercentage(point.y,parentRect.height):point.y}draft.points=draft.points.concat(point);syncShapes()},release:e=>e.detail.preventInertia(),end:e=>{if(e.detail.isTap)return discardMarkupItemDraft();const shape=confirmMarkupItemDraft();onaddshape(shape)}}}else if(isEllipse||isText||shapeIsRect(shapeDefault)){return{start:e=>{const{origin}=e.detail;interactionOrigin=vectorClone(origin);const mappedOriginPosition=mapEditorPointToImagePoint(interactionOrigin);const draft={...shapeDefault,rotation:-1*getShapeUpdateRotation(contextRotation,contextFlipX,contextFlipY),x:isRelative?toPercentage(mappedOriginPosition.x,parentRect.width):mappedOriginPosition.x,y:isRelative?toPercentage(mappedOriginPosition.y,parentRect.height):mappedOriginPosition.y};draft.flipX=contextFlipX;draft.flipY=contextFlipY;delete draft.position;draft.opacity=0;if(isEllipse){draft.rx=isRelative?toPercentage(0):0;draft.ry=isRelative?toPercentage(0):0}else{draft.width=isRelative?toPercentage(0):0;draft.height=isRelative?toPercentage(0):0}addMarkupItemDraft(draft)},update:e=>{const draft=getMarkupItemDraft();draft.opacity=1;const{aspectRatio}=draft;let{translation}=e.detail;if(aspectRatio){const t=Math.abs(translation.x)*aspectRatio;translation.x=translation.x;translation.y=t*Math.sign(translation.y)}const pointerPosition=vectorCreate(interactionOrigin.x+translation.x,interactionOrigin.y+translation.y);const mappedOriginPosition=mapEditorPointToImagePoint(interactionOrigin);const mappedPointerPosition=mapEditorPointToImagePoint(pointerPosition);const pivot={x:mappedOriginPosition.x+(mappedPointerPosition.x-mappedOriginPosition.x)*.5,y:mappedOriginPosition.y+(mappedPointerPosition.y-mappedOriginPosition.y)*.5};const rotation=getShapeUpdateRotation(contextRotation,contextFlipX,contextFlipY);vectorRotate(mappedOriginPosition,rotation,pivot);vectorRotate(mappedPointerPosition,rotation,pivot);const l=Math.min(mappedOriginPosition.x,mappedPointerPosition.x);const t=Math.min(mappedOriginPosition.y,mappedPointerPosition.y);const r=Math.max(mappedOriginPosition.x,mappedPointerPosition.x);const b=Math.max(mappedOriginPosition.y,mappedPointerPosition.y);let width=r-l;let height=b-t;let props={};if(isEllipse){props.x=l+width*.5;props.y=t+height*.5;props.rx=width*.5;props.ry=height*.5}else{props.x=l;props.y=t;props.width=width;props.height=height}updateShape(draft,props,parentRect);syncShapes()},release:e=>{e.detail.preventInertia()},end:e=>{const draft=getMarkupItemDraft();if(e.detail.isTap){if(!shapeIsText(draft)||!enableTapToAddText||interactionTarget)return discardMarkupItemDraft();delete draft.width;delete draft.height;delete draft.textAlign;const draftComputedShape=shapeComputeDisplay({...draft},parentRect);const size=textToSize(draft.text,draftComputedShape);size.width*=contextScale;size.height*=contextScale;const mappedOriginPosition=mapEditorPointToImagePoint({x:interactionOrigin.x,y:interactionOrigin.y-size.height*.5});const mappedPointerPosition=mapEditorPointToImagePoint({x:interactionOrigin.x+size.width,y:interactionOrigin.y+size.height*.5});const pivot={x:mappedOriginPosition.x+(mappedPointerPosition.x-mappedOriginPosition.x)*.5,y:mappedOriginPosition.y+(mappedPointerPosition.y-mappedOriginPosition.y)*.5};const rotation=getShapeUpdateRotation(contextRotation,contextFlipX,contextFlipY);vectorRotate(mappedOriginPosition,rotation,pivot);vectorRotate(mappedPointerPosition,rotation,pivot);const l=Math.min(mappedOriginPosition.x,mappedPointerPosition.x);const t=Math.min(mappedOriginPosition.y,mappedPointerPosition.y);draft.x=isString(draft.x)?toPercentage(l,parentRect.width):l;draft.y=isString(draft.y)?toPercentage(t,parentRect.height):t}draft.opacity=1;if(!shapeIsText(draft)){const shape=confirmMarkupItemDraft();onaddshape(shape)}selectShape(draft);if(shapeIsText(draft))editMarkupItem(draft)}}}else if(shapeIsLine(shapeDefault)){return{start:e=>{const{origin}=e.detail;const originMapped=mapEditorPointToImagePoint(origin);const originSnapped=vectorApply(originMapped,snapToPixel);interactionOrigin=vectorClone(origin);addMarkupItemDraft({...shapeDefault,x1:isRelative?toPercentage(originSnapped.x,parentRect.width):originSnapped.x,y1:isRelative?toPercentage(originSnapped.y,parentRect.height):originSnapped.y,x2:isRelative?toPercentage(originSnapped.x,parentRect.width):originSnapped.x,y2:isRelative?toPercentage(originSnapped.y,parentRect.height):originSnapped.y,opacity:0})},update:e=>{const draft=getMarkupItemDraft();const{translation}=e.detail;const interactionTarget=vectorAdd(vectorClone(interactionOrigin),translation);if($keysPressedStored.includes(16)){const length=vectorDistance(interactionOrigin,interactionTarget);const angle=vectorAngleBetween(interactionOrigin,interactionTarget);const angleSnapInterval=Math.PI/4;const angleSnapped=angleSnapInterval*Math.round(angle/angleSnapInterval);interactionTarget.x=interactionOrigin.x+length*Math.cos(angleSnapped);interactionTarget.y=interactionOrigin.y+length*Math.sin(angleSnapped)}const point=mapEditorPointToImagePoint(interactionTarget);updateMarkupShape(draft,{x2:isRelative?toPercentage(point.x,parentRect.width):point.x,y2:isRelative?toPercentage(point.y,parentRect.height):point.y,opacity:1});syncShapes()},release:e=>e.detail.preventInertia(),end:e=>{const draft=getMarkupItemDraft();if(e.detail.isTap)return discardMarkupItemDraft();draft.opacity=1;const shape=confirmMarkupItemDraft();onaddshape(shape);selectShape(shape)}}}};const eraseShape=()=>{let origin;let positionPrevious;const eraseRadiusSquared=eraseRadius*eraseRadius;const erase=(positionA,positionB,forceErase=false)=>{const d2=vectorDistanceSquared(positionA,positionB);if(!forceErase&&d2<2)return false;const shapesThatCanBeErased=markup.filter(shape=>!shape.disableErase);let shapesFound;if(d2{origin=vectorCreate(Math.round(e.detail.origin.x),Math.round(e.detail.origin.y));erase(origin,origin,true);positionPrevious=origin},update:e=>{const{translation}=e.detail;const positionCurrent=vectorCreate(Math.round(origin.x+translation.x),Math.round(origin.y+translation.y));if(erase(positionPrevious,positionCurrent)){positionPrevious=vectorClone(positionCurrent)}},release:e=>e.detail.preventInertia(),end:()=>{}}};const getImagePointWithScreenTranslation=(point,translation)=>{const pointInScreenSpace=mapImagePointToEditorPoint(point);return mapEditorPointToImagePoint(vectorAdd(pointInScreenSpace,translation))};const translateShape=(shapeCurrent,shapeOriginComputed,translation)=>{if(shapeIsLine(shapeCurrent)){const beginImageOffset=getImagePointWithScreenTranslation(shapeLineGetStartPoint(shapeOriginComputed),translation);const endImageOffset=getImagePointWithScreenTranslation(shapeLineGetEndPoint(shapeOriginComputed),translation);updateShape(shapeCurrent,{x1:beginImageOffset.x,y1:beginImageOffset.y,x2:endImageOffset.x,y2:endImageOffset.y},parentRect)}else if(shapeIsRect(shapeCurrent)||shapeIsText(shapeCurrent)||shapeIsEllipse(shapeCurrent)){const imagePoint=getImagePointWithScreenTranslation(shapeOriginComputed,translation);updateShape(shapeCurrent,imagePoint,parentRect)}syncShapes()};const IndexFlipXMap={0:1,1:0,2:3,3:2};const IndexFlipYMap={0:3,1:2,2:1,3:0};const resizeShape=(shapeCurrent,shapeOriginComputed,indexes,translation,options)=>{if(shapeIsLine(shapeCurrent)){const[targetIndex]=indexes;const snap=$keysPressedStored.includes(16)?(origin,target)=>{const length=vectorDistance(origin,target);const angle=vectorAngleBetween(origin,target);const angleSnapInterval=Math.PI/4;const angleSnapped=angleSnapInterval*Math.round(angle/angleSnapInterval)-contextRotation%angleSnapInterval;target.x=origin.x+length*Math.cos(angleSnapped);target.y=origin.y+length*Math.sin(angleSnapped)}:(origin,target)=>target;if(targetIndex===0){const point=getImagePointWithScreenTranslation(shapeLineGetStartPoint(shapeOriginComputed),translation);snap(vectorCreate(shapeOriginComputed.x2,shapeOriginComputed.y2),point);updateShape(shapeCurrent,{x1:point.x,y1:point.y},parentRect)}else if(targetIndex===1){const point=getImagePointWithScreenTranslation(shapeLineGetEndPoint(shapeOriginComputed),translation);snap(vectorCreate(shapeOriginComputed.x1,shapeOriginComputed.y1),point);updateShape(shapeCurrent,{x2:point.x,y2:point.y},parentRect)}}else if(shapeHasSize(shapeCurrent)||shapeIsEllipse(shapeCurrent)||shapeIsTextBox(shapeCurrent)){let hasAutoHeight=false;let shapeOriginRect;if(shapeIsEllipse(shapeCurrent)){shapeOriginRect=rectCreateFromEllipse(shapeOriginComputed)}else if(shapeHasSize(shapeCurrent)){shapeOriginRect=rectCreateFromAny(shapeOriginComputed)}else{hasAutoHeight=true;shapeOriginRect=rectCreateFromAny(shapeOriginComputed);const size=textToSize(shapeOriginComputed.text,shapeOriginComputed);shapeOriginRect.height=size.height}let shapeAspectRatio;if(shapeCurrent.aspectRatio){shapeAspectRatio=shapeCurrent.aspectRatio}else if(options.shiftKey&&!hasAutoHeight){shapeAspectRatio=shapeOriginRect.width/shapeOriginRect.height}const rectAligned=rectCreateFromAny(shapeOriginRect);const rectAlignedCenterPosition=rectCenter(rectAligned);const rectRotation=shapeCurrent.rotation;const rectAlignedCorners=rectGetCorners(rectAligned);const rectCorners=rectRotate(rectAligned,rectRotation);if(indexes.length===1){let cornerIndex=indexes[0];if(shapeCurrent.flipX)cornerIndex=IndexFlipXMap[cornerIndex];if(shapeCurrent.flipY)cornerIndex=IndexFlipYMap[cornerIndex];const[tl,tr,br,bl]=rectAlignedCorners;const screenTargetPosition=mapImagePointToEditorPoint(rectCorners[cornerIndex]);vectorAdd(screenTargetPosition,translation);const imageTargetPosition=mapEditorPointToImagePoint(screenTargetPosition);const imageTargetTranslation=vectorCreate(imageTargetPosition.x-rectCorners[cornerIndex].x,imageTargetPosition.y-rectCorners[cornerIndex].y);const imageTargetTranslationAligned=vectorRotate(vectorClone(imageTargetTranslation),-rectRotation);const imageTargetPositionAligned=vectorCreate(rectAlignedCorners[cornerIndex].x+imageTargetTranslationAligned.x,rectAlignedCorners[cornerIndex].y+imageTargetTranslationAligned.y);let anchor;if(cornerIndex===0)anchor=br;if(cornerIndex===1)anchor=bl;if(cornerIndex===2)anchor=tl;if(cornerIndex===3)anchor=tr;const rectAlignedResized=rectCreateFromPoints(anchor,imageTargetPositionAligned);if(shapeAspectRatio){const{width,height}=rectContainRect(rectAlignedResized,shapeAspectRatio);const[t,r,b,l]=rectToBounds(rectAlignedResized);rectAlignedResized.width=width;rectAlignedResized.height=height;if(imageTargetPositionAligned.y{if(shapeCurrent.flipX)index=IndexFlipXMap[index];if(shapeCurrent.flipY)index=IndexFlipYMap[index];return index});const[cornerA,cornerB]=indexes.map(index=>rectCorners[index]);const mid={x:cornerA.x+(cornerB.x-cornerA.x)*.5,y:cornerA.y+(cornerB.y-cornerA.y)*.5};const[cornerAlignedA,cornerAlignedB]=indexes.map(index=>rectAlignedCorners[index]);const[cornerAlignedC,cornerAlignedD]=indexes.map(index=>{const mappedIndex=index+2;if(mappedIndex<4)return rectAlignedCorners[mappedIndex];return rectAlignedCorners[mappedIndex-4]});const midAnchorAligned={x:cornerAlignedC.x+(cornerAlignedD.x-cornerAlignedC.x)*.5,y:cornerAlignedC.y+(cornerAlignedD.y-cornerAlignedC.y)*.5};const screenTargetPosition=mapImagePointToEditorPoint(mid);vectorAdd(screenTargetPosition,translation);const imageTargetPosition=mapEditorPointToImagePoint(screenTargetPosition);const imageTargetTranslation=vectorCreate(imageTargetPosition.x-mid.x,imageTargetPosition.y-mid.y);const imageTargetTranslationAligned=vectorRotate(vectorClone(imageTargetTranslation),-rectRotation);const d=vectorSubtract(vectorClone(cornerAlignedA),cornerAlignedB);const f=vectorApply(d,v=>1-Math.abs(Math.sign(v)));const t=vectorCreate(imageTargetTranslationAligned.x*f.x,imageTargetTranslationAligned.y*f.y);vectorAdd(cornerAlignedA,t);vectorAdd(cornerAlignedB,t);const rectAlignedResized=rectCreateFromPoints(rectAlignedCorners);if(shapeAspectRatio){let width=rectAlignedResized.width;let height=rectAlignedResized.height;if(f.y===0){height=width/shapeAspectRatio}else{width=height*shapeAspectRatio}rectAlignedResized.width=width;rectAlignedResized.height=height;if(f.y===0){rectAlignedResized.y=midAnchorAligned.y-height*.5}else{rectAlignedResized.x=midAnchorAligned.x-width*.5}}const rr=rectRotate(rectAlignedResized,rectRotation,rectAlignedCenterPosition);const rrc=vectorCenter(rr);const p1=vectorRotate(rr[0],-rectRotation,rrc);const p2=vectorRotate(rr[2],-rectRotation,rrc);const rectUpdated=rectCreateFromPoints(p1,p2);let props;if(shapeIsEllipse(shapeCurrent)){props=ellipseCreateFromRect(rectUpdated)}else if(shapeHasSize(shapeCurrent)){props=rectUpdated}else if(hasAutoHeight){props={x:rectUpdated.x,y:rectUpdated.y,width:rectUpdated.width}}updateShape(shapeCurrent,props,parentRect)}}syncShapes()};let rotatorInitialPosition;const rotateShape=(shapeCurrent,shapeOriginComputed,translation,options)=>{const shapeRect=getMarkupShapeRect(shapeComputeDisplay(shapeDeepCopy(shapeCurrent),parentRect));const shapeCenter=rectCenter(shapeRect);const p=getImagePointWithScreenTranslation(rotatorInitialPosition,translation);let shapeRotation=vectorAngleBetween(p,shapeCenter)+Math.PI/2;if(options.shiftKey){const rotatorSnapInterval=Math.PI/16;shapeRotation=rotatorSnapInterval*Math.round(shapeRotation/rotatorSnapInterval)-contextRotation%rotatorSnapInterval}updateShape(shapeCurrent,{rotation:shapeRotation},parentRect);syncShapes()};const getMarkupItemDraft=()=>{if(!markup.length)return;return markup.find(shapeIsDraft)};const getMarkupItemDraftIndex=()=>{if(!markup.length)return;return markup.findIndex(shapeIsDraft)};const addMarkupItemDraft=(shape,sync=true)=>{if(getMarkupItemDraft())return;shapeMakeDraft(shape);return addShape(shape,sync)};const confirmMarkupItemDraft=()=>{const markupItem=getMarkupItemDraft();if(!markupItem)return;shapeMakeFinal(markupItem);syncShapes();return markupItem};const discardMarkupItemDraft=()=>{if(!getMarkupItemDraft())return;markup.splice(getMarkupItemDraftIndex(),1);syncShapes()};const createMarkupItem=(props={})=>({id:getUniqueId(),...props});const syncShapes=()=>$$invalidate(0,markup);const addShape=(shape,sync=true)=>{markup.push(shape);if(sync)syncShapes();return shape};const removeMarkupShapeProps=(shape,props=[],sync=true)=>{props.forEach(prop=>delete shape[prop]);if(!sync)return;syncShapes()};const updateMarkupShape=(shape,props,sync=true)=>{shape=Object.assign(shape,props);if(!sync)return;syncShapes()};const updateMarkupShapeProperty=(shape,name,value,sync=true)=>{shape[name]=value;if(!sync)return;syncShapes()};const updateMarkupItemsShapeProperty=(name,value,sync=true)=>{markup.forEach(shape=>updateMarkupShapeProperty(shape,name,value,false));if(!sync)return;syncShapes()};const updateMarkupShapeItems=(props,sync=true)=>{markup.forEach(markupItem=>updateMarkupShape(markupItem,props,false));if(!sync)return;syncShapes()};const getActiveMarkupItem=()=>[...markup].reverse().find(shapeIsSelected);const hasActiveMarkupItem=()=>!!getActiveMarkupItem();const removeShape=shapeToRemove=>{if(!beforeRemoveShape(shapeToRemove))return false;$$invalidate(0,markup=markup.filter(shape=>shape!==shapeToRemove));onremoveshape(shapeToRemove)};const removeActiveMarkupItem=()=>{const activeShape=getActiveMarkupItem();if(!activeShape)return;const removableShapes=markup.filter(shape=>shapeCanRemove(shape)&&shapeCanSelect(shape));const index=removableShapes.findIndex(shape=>shape===activeShape);const didRemove=removeShape(activeShape);if(didRemove===false)return;previousSelectedShape=activeShape;if(removableShapes.length-1<=0)return blurShapes();const indexNext=index-1<0?removableShapes.length-1:index-1;selectShape(removableShapes[indexNext])};let previousSelectedShape=undefined;const blurShapes=()=>{Object.keys(ShapeTextStateCache).forEach(key=>ShapeTextStateCache[key]={});previousSelectedShape=getSelectedShape();updateMarkupShapeItems({isSelected:false,isEditing:false,_prerender:false})};const getSelectedShape=()=>markup.find(shapeIsSelected);const selectShape=(shape,sync=true)=>{if(shapeIsDraft(shape))return;const selectedShape=getSelectedShape()||previousSelectedShape;previousSelectedShape=undefined;if(!beforeSelectShape(selectedShape,shape))return;blurShapes();shapeSelect(shape);onselectshape(shape);if(!sync)return;syncShapes()};const deselectMarkupItem=markupItem=>{if(textInput&&markupItem.isEditing)textInput.confirm();updateMarkupShape(markupItem,{isSelected:false,isEditing:false,_prerender:false})};const editMarkupItem=markupItem=>{updateMarkupShape(markupItem,{isSelected:true,isEditing:true,_prerender:textInputMode===\"inline\"})};const finishEditMarkupItem=markupItem=>{updateMarkupShape(markupItem,{isSelected:true,isEditing:false,_prerender:false})};const removeMarkupItems=shapesToRemove=>{if(!shapesToRemove.length)return[];const shapesToRemoveFiltered=shapesToRemove.filter(beforeRemoveShape);$$invalidate(0,markup=markup.filter(shape=>!shapesToRemoveFiltered.includes(shape)));return shapesToRemoveFiltered};const getTextShapeRect=shape=>{const size=textToSize(shape.text,shape);return rectCreate(shape.x,shape.y,shape.width?Math.min(shape.width,size.width):size.width,shape.height?Math.min(shape.height,size.height):size.height)};const getMarkupShapeRect=shape=>{if(shapeHasSize(shape))return rectCreateFromAny(shape);if(shapeIsEllipse(shape))return rectCreateFromEllipse(shape);const rect=getTextShapeRect(shape);rect.width=Math.max(MIN_TEXT_MARKUP_WIDTH,shape.width||rect.width);return rect};const getShapesNearPosition=(position,range=0,shapeFilter=v=>true)=>[...markup].reverse().map(shape=>({shape:shape,priority:1})).filter(shapeFilter).filter(result=>{const{shape}=result;const computedShape=shapeComputeDisplay(shapeDeepCopy(shape),parentRect);const r=range+(computedShape.strokeWidth||0);if(shapeIsRect(computedShape)){return circleOverlapsWithRect(position,r,computedShape,shape.rotation)}else if(shapeIsText(computedShape)){const shapeRect=getMarkupShapeRect(computedShape);const isPositionInBounds=circleOverlapsWithRect(position,r,shapeRect,shape.rotation);let isPositionInVisual=false;if(isPositionInBounds&&!shapeIsSelected(shape)){const visualRect=getTextShapeRect(computedShape);if(shape.textAlign===\"right\"&&!shape.flipX){visualRect.x=shapeRect.x+shapeRect.width-visualRect.width}if(shape.textAlign===\"center\"){visualRect.x=shapeRect.x+shapeRect.width*.5-visualRect.width*.5}isPositionInVisual=circleOverlapsWithRect(position,r,visualRect,shape.rotation,rectCenter(shapeRect));if(!isPositionInVisual)result.priority=-1}return isPositionInBounds}else if(shapeIsEllipse(computedShape)){return circleOverlapsWithEllipse(position,r,computedShape,shape.rotation,shape.flipX,shape.flipY)}else if(shapeIsLine(computedShape)){return circleOverlapsWithLine(position,Math.max(16,r),shapeLineGetStartPoint(computedShape),shapeLineGetEndPoint(computedShape))}else if(shapeIsPath(computedShape)){return circleOverlapsWithPath(position,Math.max(16,r),computedShape.points)}return false}).sort((a,b)=>{if(a.priorityb.priority)return-1;return 0}).map(item=>item.shape);const getShapesBetweenPoints=(shapes,a,b,range=0)=>{const r=Math.abs(range);const line=lineCreate(a,b);const eraseLine=lineExtend(line,r);const erasePoly=lineExtrude(eraseLine,r);const res=shapes.filter(shape=>{const computedShape=shapeComputeDisplay(shapeDeepCopy(shape),parentRect);if(shapeIsLine(computedShape)||shapeIsPath(computedShape)){const points=computedShape.points?[...computedShape.points]:[shapeLineGetStartPoint(computedShape),shapeLineGetEndPoint(computedShape)];return!!linePointsIntersection(eraseLine,points)}return polyIntersectsWithPoly(erasePoly,shapeToPoly(computedShape))});return res};let interactionTimer=undefined;let interactionTarget=undefined;let interactionShape=undefined;let interactionShapeOrigin=undefined;let interactionShapeOriginComputed=undefined;let isInteracting=false;const handleInteractionStart=e=>{const{origin}=e.detail;interactionShape=undefined;interactionShapeOrigin=undefined;interactionShapeOriginComputed=undefined;interactionTarget=undefined;clearTimeout(interactionTimer);interactionTimer=setTimeout(()=>$$invalidate(107,isInteracting=true),250);const draft=getMarkupItemDraft();if(draft)confirmMarkupItemDraft();const point=mapEditorPointToImagePoint(vectorClone(origin));const foundShapes=getShapesNearPosition(point,selectRadius,shape=>shapeCanSelect(shape));const targettedMarkupItem=foundShapes.length&&foundShapes.shift();if(!targettedMarkupItem&&activeMarkup&&shapeIsTextEditing(activeMarkup)){deselectMarkupItem(activeMarkup)}if(targettedMarkupItem&&shapeIsSelected(targettedMarkupItem)){interactionShape=targettedMarkupItem;interactionShapeOrigin=shapeDeepCopy(interactionShape);interactionShapeOriginComputed=shapeComputeDisplay(shapeDeepCopy(interactionShape),parentRect);return}interactionTarget=targettedMarkupItem;const didStartInteraction=oninteractionstart(e);if(!didStartInteraction&&targettedMarkupItem){selectShape(targettedMarkupItem);interactionShape=targettedMarkupItem;interactionShapeOrigin=shapeDeepCopy(interactionShape);interactionShapeOriginComputed=shapeComputeDisplay(shapeDeepCopy(interactionShape),parentRect)}};const handleInteractionUpdate=e=>{if(interactionShape){if(!shapeCanMove(interactionShape))return;if(shapeIsTextEditing(interactionShape))return;return translateShape(interactionShape,interactionShapeOriginComputed,e.detail.translation)}oninteractionupdate(e)};const handleInteractionRelease=e=>{clearTimeout(interactionTimer);interactionTimer=undefined;$$invalidate(107,isInteracting=false);if(interactionShape){if(shapeIsTextEditing(interactionShape)){handleTextCancel()}else if(e.detail.isTap&&shapeIsText(interactionShape)&&shapeCanInput(interactionShape)!==false){editMarkupItem(interactionShape)}return}oninteractionrelease(e)};const handleInteractionEnd=e=>{const isSelectInteraction=interactionTarget&&e.detail.isTap;if(interactionShape){if(!shapeEqual(interactionShape,interactionShapeOrigin))onupdateshape(interactionShape);interactionShape=undefined;return}const currentSelectedShape=getSelectedShape();const allowDeselectShape=currentSelectedShape?beforeDeselectShape(currentSelectedShape,interactionTarget):true;if(allowDeselectShape){blurShapes()}oninteractionend(e);if(allowDeselectShape&&isSelectInteraction){selectShape(interactionTarget)}};const getMarkupShapePoints=shape=>{let points;if(shapeIsRect(shape)){const center=rectCenter(shape);points=rectGetCorners(shape);if(shape.flipX||shape.flipY)vectorsFlip(points,shape.flipX,shape.flipY,center.x,center.y);points=vectorsRotate(points,shape.rotation,center.x,center.y)}else if(shapeIsEllipse(shape)){const center=shape;points=rectGetCorners(rectCreateFromEllipse(shape));if(shape.flipX||shape.flipY)vectorsFlip(points,shape.flipX,shape.flipY,center.x,center.y);points=vectorsRotate(points,shape.rotation,center.x,center.y)}else if(shapeIsLine(shape)){points=[shapeLineGetStartPoint(shape),shapeLineGetEndPoint(shape)]}else if(shapeIsPath(shape)){points=[...shape.points]}else if(shapeIsText(shape)){const rect=getMarkupShapeRect(shape);rect.width=Math.max(MIN_TEXT_MARKUP_WIDTH,rect.width);const center=rectCenter(rect);points=rectGetCorners(rect);if(shape.flipX||shape.flipY)vectorsFlip(points,shape.flipX,shape.flipY,center.x,center.y);points=vectorsRotate(points,shape.rotation,center.x,center.y)}return points};const getShapeRotationPoint=shape=>{const points=getMarkupShapePoints(shape);let origin;let dir;if(shape.flipY){origin=vectorCenter([points[0],points[1]]);dir=vectorNormalize(vectorCreate(points[1].x-points[2].x,points[1].y-points[2].y))}else{origin=vectorCenter([points[2],points[3]]);dir=vectorNormalize(vectorCreate(points[2].x-points[1].x,points[2].y-points[1].y))}vectorMultiply(dir,ROTATION_CONTROL_OFFSET/contextScale);return{origin:origin,dir:dir}};const getShapeRotationPointOnScreen=shape=>{const markupPoint=getShapeRotationPoint(shape);const screenPosition=mapImagePointToEditorPoint({x:markupPoint.origin.x+markupPoint.dir.x,y:markupPoint.origin.y+markupPoint.dir.y});const screenOrigin=mapImagePointToEditorPoint(markupPoint.origin);return{origin:screenOrigin,position:screenPosition}};const showHover=shape=>{const points=getMarkupShapePoints(shapeComputeDisplay(shapeDeepCopy(shape),parentRect)).map(mapImagePointToEditorPoint);const pathClose=shapeIsPath(shape)||shapeIsLine(shape)?false:true;const outlineShadow={id:markupHoverShapeId,points:points.map(p=>vectorCreate(p.x+1,p.y+1)),strokeColor:[0,0,0,.1],strokeWidth:2,pathClose:pathClose};const outline={id:markupHoverShapeId,points:points,strokeColor:hoverColor,strokeWidth:2,pathClose:pathClose};hideHover();$$invalidate(47,ui=[...ui,outlineShadow,outline])};const hideHover=()=>{$$invalidate(47,ui=ui.filter(shape=>shape.id!==markupHoverShapeId))};let hoverShape;let shapeManipulatorUid=`markup-manipulator-segment`;const claimManipulatorLines=()=>{$$invalidate(47,ui=ui.map(shape=>{if(shape.id!==shapeManipulatorUid)return shape;shape._group=uid;return shape}))};const shouldManipulateLines=()=>!!ui.find(segment=>segment._group===uid);const redrawManipulatorLines=opacity=>{const current=ui.find(segment=>segment.id===shapeManipulatorUid);const manipulatorOpacity=current?Math.max(current.opacity,opacity):opacity;const segments=[];const shadowOpacity=.1*manipulatorOpacity;const lineOpacity=manipulatorOpacity;const strokeColorShadow=[0,0,0];const strokeColor=[1,1,1];const strokeWidth=1.5;const pathClose=shapeIsPath(activeMarkup)||shapeIsLine(activeMarkup)?false:true;segments.push({id:shapeManipulatorUid,points:shapeActiveScreenPoints.map(p=>vectorCreate(p.x+1,p.y+1)),pathClose:pathClose,strokeColor:strokeColorShadow,strokeWidth:2,opacity:shadowOpacity,_group:uid});if(shapeManipulatorRotationPoint){segments.push({id:shapeManipulatorUid,points:[vectorCreate(shapeManipulatorRotationPoint.origin.x+1,shapeManipulatorRotationPoint.origin.y+1),vectorCreate(shapeManipulatorRotationPoint.position.x+1,shapeManipulatorRotationPoint.position.y+1)],strokeColor:strokeColorShadow,strokeWidth:2,opacity:shadowOpacity,_group:uid})}segments.push({id:shapeManipulatorUid,points:shapeActiveScreenPoints,pathClose:pathClose,strokeColor:strokeColor,strokeWidth:strokeWidth,opacity:lineOpacity,_group:uid});if(shapeManipulatorRotationPoint){segments.push({id:shapeManipulatorUid,points:[{x:shapeManipulatorRotationPoint.origin.x,y:shapeManipulatorRotationPoint.origin.y},{x:shapeManipulatorRotationPoint.position.x,y:shapeManipulatorRotationPoint.position.y}],strokeColor:strokeColor,strokeWidth:strokeWidth,opacity:lineOpacity,_group:uid})}$$invalidate(47,ui=[...ui.filter(guide=>guide.id!==shapeManipulatorUid),...segments])};const removeMarkupManipulatorLines=()=>{$$invalidate(47,ui=ui.filter(guide=>guide.opacity===0&&guide.id!==shapeManipulatorUid))};const togglePrerender=isActive=>{if(!isActive)return updateMarkupShapeItems({_prerender:false});const shape=markup.find(markupItem=>markupItem.isEditing);if(!shape)return;updateMarkupShape(shape,{_prerender:true})};const handleManipulatorResizeGrab=e=>{$$invalidate(107,isInteracting=true);interactionShape=activeMarkup;interactionShapeOriginComputed=activeMarkupComputed};const handleManipulatorResizeDrag=e=>{const{translation,indexes,shiftKey}=e.detail;resizeShape(interactionShape,interactionShapeOriginComputed,indexes,translation,{shiftKey:shiftKey})};const handleManipulatorResizeEnd=e=>{selectShape(interactionShape);interactionShape=undefined;$$invalidate(107,isInteracting=false);onupdateshape(activeMarkup)};const handleManipulatorRotateGrab=e=>{rotatorInitialPosition=getShapeRotationPoint(activeMarkupComputed).origin;$$invalidate(107,isInteracting=true);interactionShape=activeMarkup;interactionShapeOriginComputed=activeMarkupComputed};const handleManipulatorRotateDrag=e=>{const{translation,shiftKey}=e.detail;rotateShape(interactionShape,interactionShapeOriginComputed,translation,{shiftKey:shiftKey})};const handleManipulatorRotateEnd=()=>{selectShape(interactionShape);interactionShape=undefined;$$invalidate(107,isInteracting=false);onupdateshape(activeMarkup)};const handleKey=e=>{if(!hasActiveMarkupItem())return;const{key}=e;if(/escape/i.test(key)){e.preventDefault();e.stopPropagation();return deselectMarkupItem(activeMarkup)}if(/backspace/i.test(key)&&!isTextInputElement(e.target)){e.preventDefault();removeActiveMarkupItem()}};const isTextInputElement=element=>{return element.isContentEditable||/input|textarea/i.test(element.nodeName)};let textInput;const getTextShapeOriginSnapshot=()=>({...activeMarkup});const getTextInputTextStyles=(shapeComputed,mode)=>{const{textAlign=\"left\",fontFamily=\"sans-serif\",fontWeight=\"normal\",fontStyle=\"normal\"}=shapeComputed;const fontSize=shapeComputed.fontSize;const imp=\"!important\";const cosmetic=`text-align:${textAlign}${imp};font-family:${fontFamily}${imp};font-weight:${fontWeight}${imp};font-style:${fontStyle}${imp};`;if(mode===\"modal\")return cosmetic;const color=colorArrayToRGBA(shapeComputed.color);const lineHeight=shapeComputed.lineHeight;const initialLineOffset=Math.max(0,fontSize-lineHeight)*.5;return`--bottom-inset:${initialLineOffset}px;padding:${initialLineOffset}px 0 0${imp};color:${color}${imp};font-size:${fontSize}px${imp};line-height:${lineHeight}px${imp};${cosmetic}`};const getTextInputPositionStyles=(shapeComputed,offset,contextScale,contextRotation)=>{let center;let size;if(shapeComputed.width&&shapeComputed.height){center=rectCenter(shapeComputed);size=sizeCreateFromAny(shapeComputed)}else{size=textToSize(activeMarkup.text,activeMarkupComputed);size.width=activeMarkupComputed.width||size.width;center=vectorCreate(shapeComputed.x+size.width*.5,shapeComputed.y+size.height*.5)}const lineHeight=Math.max(0,shapeComputed.fontSize-shapeComputed.lineHeight)+shapeComputed.lineHeight;const position=mapImagePointToEditorPoint(center);let tx=position.x-offset.x-size.width*.5;let ty=position.y-offset.y-size.height*.5;let flipX=shapeComputed.flipX;let flipY=shapeComputed.flipY;let r=shapeComputed.rotation;if(contextFlipX&&contextFlipY){flipX=!flipX;flipY=!flipY}else if(contextFlipX){flipX=!flipX;r=-r}else if(contextFlipY){flipY=!flipY;r=-r}r+=contextRotation;const sx=contextScale*(flipX?-1:1);const sy=contextScale*(flipY?-1:1);return`--line-height:${lineHeight}px;width:${size.width}px;height:${size.height}px;transform:translate(${tx}px,${ty}px) rotate(${r}rad) scale(${sx}, ${sy})`};const syncTextInput=()=>updateTextInputValue(textInputText);const updateTextInputValue=text=>$$invalidate(6,textInput.innerHTML=textToHTML(text),textInput);const removeLineBreaks=text=>{const lines=text.split(/[\\n\\r]/g);if(lines.length>1){return lines.map(str=>str.trim()).filter(str=>str.length).join(\" \")}return lines[0]};const getTextInputValue=element=>{let textInputValue;if(element.value===undefined){textInputValue=htmlToText(element.innerHTML)}else{textInputValue=element.value}const value=shapeIsTextLine(activeMarkup)?removeLineBreaks(textInputValue):textInputValue;return value};const formatContentEditable=html=>{const canInput=shapeCanInput(activeMarkup,html);return canInput===true?html:canInput};const handleTextInput=()=>{const value=getTextInputValue(textInput);const canInput=shapeCanInput(activeMarkup,value);const text=canInput===true?value:canInput;let x=textShapeDisplayOrigin.x;let y=textShapeDisplayOrigin.y;if(!activeMarkup.height){const originRotatedRect=rectRotate({...textRectDisplayOrigin},activeMarkup.rotation);const size=textToSize(text,activeMarkupComputed);const currentRotatedRect=rectRotate({x:x,y:y,...size},activeMarkup.rotation);const[originTopLeft,,originBottomRight]=originRotatedRect;const[currentTopLeft,,currentBottomRight]=currentRotatedRect;let a=originTopLeft;let b=currentTopLeft;if(activeMarkup.flipX){a=originBottomRight;b=currentBottomRight}const d=vectorSubtract(vectorClone(a),b);x+=d.x;y+=d.y}updateMarkupShape(activeMarkup,{x:isString(textShapeOrigin.x)?toPercentage(x,parentRect.width):x,y:isString(textShapeOrigin.y)?toPercentage(y,parentRect.height):y,text:text})};const handleTextInputAttempt=e=>{const{target,key}=e;const currentValue=target.value||target.innerText;const selectionStart=target.selectionStart||0;const selectionEnd=target.selectionEnd||currentValue.length;const currentValueStart=currentValue.substring(0,selectionStart);const currentValueEnd=currentValue.substring(selectionEnd);const intendedValue=currentValueStart+key+currentValueEnd;const filteredValue=shapeCanInput(activeMarkup,intendedValue);if(filteredValue!==intendedValue)return e.preventDefault()};const handleTextInputKeyDown=e=>{if(shapeIsTextLine(activeMarkup)&&/enter/i.test(e.code))return e.preventDefault();if(/arrow/i.test(e.code))return e.stopPropagation();if(/escape/i.test(e.key))return handleTextCancel()};const handleTextInputKeyUp=e=>{const{key,ctrlKey,altKey}=e;if(/enter/i.test(key)&&(ctrlKey||altKey))return handleTextConfirm()};const handleTextConfirm=()=>{let wasDraft=shapeIsDraft(activeMarkup);if(shapeIsDraft(activeMarkup))confirmMarkupItemDraft();handleTextInput();finishEditMarkupItem(activeMarkup);if(wasDraft)onaddshape(activeMarkup);else onupdateshape(activeMarkup)};const handleTextCancel=()=>{if(shapeIsDraft(activeMarkup)){discardMarkupItemDraft()}else{updateMarkupShape(activeMarkup,{text:textShapeOrigin.text,x:textShapeOrigin.x,y:textShapeOrigin.y});finishEditMarkupItem(activeMarkup)}};const getShapeSizeTranslation=(originRect,targetRect,{flipX,flipY,rotation},anchor=\"top left\")=>{let a,b;const[originTopLeft,originTopRight,originBottomRight,originBottomLeft]=rectRotate(originRect,rotation);const[targetTopLeft,targetTopRight,targetBottomRight,targetBottomLeft]=rectRotate(targetRect,rotation);if(anchor===\"top center\"){const originMid=vectorCenter(flipY?[originBottomLeft,originBottomRight]:[originTopLeft,originTopRight]);const targetMid=vectorCenter(flipY?[targetBottomLeft,targetBottomRight]:[targetTopLeft,targetTopRight]);a=originMid;b=targetMid}else if(anchor===\"top right\"&&!flipX||anchor===\"top left\"&&flipX){a=flipY?originBottomRight:originTopRight;b=flipY?targetBottomRight:targetTopRight}else{a=flipY?originBottomLeft:originTopLeft;b=flipY?targetBottomLeft:targetTopLeft}return vectorSubtract(vectorClone(a),b)};const translateRelative=(current,position,translation)=>vectorCreate(isString(current.x)?toPercentage(position.x+translation.x,parentRect.width):position.x+translation.x,isString(current.y)?toPercentage(position.y+translation.y,parentRect.height):position.y+translation.y);const ShapeTextStateCache={};const handleEditTextActiveMarkup=()=>editMarkupItem(activeMarkup);const handleTextSwitchLayout=()=>{const shapeTextSize=textToSize(activeMarkup.text,activeMarkupComputed);const isFixedBox=hasProp(activeMarkup,\"height\");const isAutoHeightBox=!isFixedBox&&hasProp(activeMarkup,\"width\");const key=activeMarkup.id;let cache=ShapeTextStateCache[key];if(!cache){ShapeTextStateCache[key]={};cache=ShapeTextStateCache[key]}const toAutoWidth=sizeFrom=>{const{width,...autoSizeProps}=activeMarkupComputed;const sizeTo=textToSize(activeMarkup.text,autoSizeProps);const translation=getShapeSizeTranslation(rectCreate(activeMarkupComputed.x,activeMarkupComputed.y,sizeFrom.width,sizeFrom.height),rectCreate(activeMarkupComputed.x,activeMarkupComputed.y,sizeTo.width,sizeTo.height),activeMarkupComputed,`top ${activeMarkup.textAlign}`);removeMarkupShapeProps(activeMarkup,[\"width\",\"height\",\"textAlign\"]);updateMarkupShape(activeMarkup,{...translateRelative(activeMarkup,activeMarkupComputed,translation)})};const toAutoHeight=sizeFrom=>{const sizeTo=sizeCreate(cache.width||activeMarkupComputed.width||shapeTextSize.width,shapeTextSize.height);const textAlign=cache.textAlign||\"left\";const translation=getShapeSizeTranslation(rectCreate(activeMarkupComputed.x,activeMarkupComputed.y,sizeFrom.width,sizeFrom.height),rectCreate(activeMarkupComputed.x,activeMarkupComputed.y,sizeTo.width,sizeTo.height),activeMarkupComputed,`top ${textAlign}`);removeMarkupShapeProps(activeMarkup,[\"height\"]);updateMarkupShape(activeMarkup,{...translateRelative(activeMarkup,activeMarkupComputed,translation),width:isString(activeMarkup.width)?toPercentage(sizeTo.width,parentRect.width):sizeTo.width,textAlign:textAlign})};const toFixedSize=sizeFrom=>{const sizeTo=sizeCreate(cache.width||shapeTextSize.width,cache.height||shapeTextSize.height);const textAlign=cache.textAlign||\"left\";const translation=getShapeSizeTranslation(rectCreate(activeMarkupComputed.x,activeMarkupComputed.y,sizeFrom.width,sizeFrom.height),rectCreate(activeMarkupComputed.x,activeMarkupComputed.y,sizeTo.width,sizeTo.height),activeMarkupComputed,`top ${textAlign}`);updateMarkupShape(activeMarkup,{...translateRelative(activeMarkup,activeMarkupComputed,translation),width:isString(activeMarkup.width)?toPercentage(sizeTo.width,parentRect.width):sizeTo.width,height:isString(activeMarkup.width)?toPercentage(sizeTo.height,parentRect.height):sizeTo.height,textAlign:textAlign})};if(isFixedBox){cache.textAlign=activeMarkup.textAlign;cache.width=activeMarkupComputed.width;cache.height=activeMarkupComputed.height;const sizeFrom=sizeCreate(activeMarkupComputed.width,activeMarkupComputed.height);if(shapeCanChangeTextLayout(activeMarkup,\"auto-height\")){toAutoHeight(sizeFrom)}else if(shapeCanChangeTextLayout(activeMarkup,\"auto-width\")){toAutoWidth(sizeFrom)}}else if(isAutoHeightBox){cache.textAlign=activeMarkup.textAlign;cache.width=activeMarkupComputed.width;const sizeFrom=sizeCreate(activeMarkupComputed.width,shapeTextSize.height);if(shapeCanChangeTextLayout(activeMarkup,\"auto-width\")){toAutoWidth(sizeFrom)}else if(shapeCanChangeTextLayout(activeMarkup,\"fixed-size\")){toFixedSize(sizeFrom)}}else{const sizeFrom=sizeCreate(shapeTextSize.width,shapeTextSize.height);if(shapeCanChangeTextLayout(activeMarkup,\"fixed-size\")){toFixedSize(sizeFrom)}else if(shapeCanChangeTextLayout(activeMarkup,\"auto-height\")){toAutoHeight(sizeFrom)}}};const handleFlipX=e=>{e.stopPropagation();const flipX=activeMarkup.flipX||false;updateMarkupShapeProperty(activeMarkup,\"flipX\",!flipX);onupdateshape(activeMarkup)};const handleFlipY=e=>{e.stopPropagation();const flipY=activeMarkup.flipY||false;updateMarkupShapeProperty(activeMarkup,\"flipY\",!flipY);onupdateshape(activeMarkup)};const handleAdjustOpacity=value=>{updateMarkupShapeProperty(activeMarkup,\"opacity\",value);onupdateshape(activeMarkup)};const handleRemoveActiveMarkup=e=>{e.stopPropagation();e.target.blur();removeActiveMarkupItem()};const handleMoveToFrontActiveMarkup=e=>{e.stopPropagation();const index=markup.findIndex(shape=>shape===activeMarkup);if(index===markup.length-1)return;$$invalidate(0,markup=markup.filter(markupItem=>markupItem!==activeMarkup).concat([activeMarkup]));onupdateshape(activeMarkup)};const handleDuplicateActiveMarkup=e=>{e.stopPropagation();const clone=shapeDeepCopy(activeMarkup);clone.id=getUniqueId();const duplicationOffset=vectorCreate(50,-50);if(shapeIsLine(clone)){const linePosition=shapeGetPropsPixelValues(clone,[\"x1\",\"y1\",\"x2\",\"y2\"],parentRect);linePosition.x1+=duplicationOffset.x;linePosition.y1+=duplicationOffset.y;linePosition.x2+=duplicationOffset.x;linePosition.y2+=duplicationOffset.y;shapeUpdateProps(clone,linePosition,parentRect)}else{const currentPosition=shapeGetPropsPixelValues(clone,[\"x\",\"y\"],parentRect);currentPosition.x+=50;currentPosition.y-=50;shapeUpdateProps(clone,currentPosition,parentRect)}markup.push(clone);onaddshape(clone);selectShape(clone)};const getMarkupControlsAnchorPosition=rect=>vectorApply(vectorCreate(rect.x+rect.width*.5,rect.y),snapToPixel);const markupControlsOpacity=spring(0,{stiffness:.2,damping:.7});component_subscribe($$self,markupControlsOpacity,value=>$$invalidate(13,$markupControlsOpacity=value));let shapeControlsSize;const getShapeControlPositionOnCanvas=position=>{const left=utilRect.x;const top=utilRect.y;const right=left+utilRect.width;let x=Math.max(position.x-shapeControlsSize.width*.5,left);let y=Math.max(position.y-shapeControlsSize.height-shapeControlDist,top);if(x+shapeControlsSize.width>right)x=right-shapeControlsSize.width;return vectorCreate(x,y)};const TextLayoutChangeIcon=(locale,shape)=>{const{disableTextLayout=[]}=shape;if(\"height\"in shape){if(disableTextLayout.includes(\"auto-height\")){return locale.shapeIconButtonTextLayoutAutoWidth}else{return locale.shapeIconButtonTextLayoutAutoHeight}}else if(\"width\"in shape){if(disableTextLayout.includes(\"auto-width\")){return locale.shapeIconButtonTextLayoutFixedSize}else{return locale.shapeIconButtonTextLayoutAutoWidth}}else{if(disableTextLayout.includes(\"fixed-size\")){return locale.shapeIconButtonTextLayoutAutoHeight}else{return locale.shapeIconButtonTextLayoutFixedSize}}};const TextLayoutChangeLabel=(locale,shape)=>{const{disableTextLayout=[]}=shape;if(\"height\"in shape){if(disableTextLayout.includes(\"auto-height\")){return locale.shapeTitleButtonTextLayoutAutoWidth}else{return locale.shapeTitleButtonTextLayoutAutoHeight}}else if(\"width\"in shape){if(disableTextLayout.includes(\"auto-width\")){return locale.shapeTitleButtonTextLayoutFixedSize}else{return locale.shapeTitleButtonTextLayoutAutoWidth}}else{if(disableTextLayout.includes(\"fixed-size\")){return locale.shapeTitleButtonTextLayoutAutoHeight}else{return locale.shapeTitleButtonTextLayoutFixedSize}}};const handleNudge=e=>{const shape=getActiveMarkupItem();if(!shape)return;if(shapeIsTextEditing(shape))return;if(!shapeCanMove(shape))return;interactionShape=shape;interactionShapeOriginComputed=shapeComputeDisplay(shapeDeepCopy(interactionShape),parentRect);translateShape(interactionShape,interactionShapeOriginComputed,e.detail)};let showShapeList=false;const handleFocusIn=e=>{$$invalidate(14,showShapeList=true)};const handleFocusOut=({relatedTarget})=>{if(relatedTarget&&relatedTarget.classList.contains(\"shape-selector__button\"))return;$$invalidate(14,showShapeList=false)};let lastImagePosition=vectorCreateEmpty();const handlePointerMove=e=>{if(isInteracting||interactionTimer)return setHoverShape(undefined);const editorPosition=getEventPositionInEditor(e,rootRect);const imagePosition=vectorApply(mapEditorPointToImagePoint(editorPosition),v=>Math.round(v));if(vectorEqual(imagePosition,lastImagePosition))return;lastImagePosition=vectorClone(imagePosition);onhovercanvas(editorPosition,imagePosition);const[shape]=getShapesNearPosition(imagePosition,0,shape=>shapeCanSelect(shape));setHoverShape(shape)};const setHoverShape=shape=>{onhovershape(shape);$$invalidate(108,hoverShape=shape)};onDestroy(()=>{removeMarkupManipulatorLines()});function measure_handler(event){bubble($$self,event)}const click_handler=(index,e)=>selectShape(markup[index]);function textarea_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{textInput=$$value;$$invalidate(6,textInput)})}function textarea_input_handler(){textInputText=this.value;$$invalidate(17,textInputText),$$invalidate(12,shouldRenderTextInput),$$invalidate(109,activeMarkup),$$invalidate(116,isTextMarkupSelected),$$invalidate(0,markup)}function contenteditable_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{textInput=$$value;$$invalidate(6,textInput)})}const measure_handler_1=e=>$$invalidate(7,shapeControlsSize=e.detail);const interactable_function=e=>getEventPositionInEditor(e,rootRect);$$self.$$set=$$props=>{if(\"uid\"in $$props)$$invalidate(48,uid=$$props.uid);if(\"ui\"in $$props)$$invalidate(47,ui=$$props.ui);if(\"markup\"in $$props)$$invalidate(0,markup=$$props.markup);if(\"offset\"in $$props)$$invalidate(1,offset=$$props.offset);if(\"contextRotation\"in $$props)$$invalidate(49,contextRotation=$$props.contextRotation);if(\"contextFlipX\"in $$props)$$invalidate(50,contextFlipX=$$props.contextFlipX);if(\"contextFlipY\"in $$props)$$invalidate(51,contextFlipY=$$props.contextFlipY);if(\"contextScale\"in $$props)$$invalidate(52,contextScale=$$props.contextScale);if(\"active\"in $$props)$$invalidate(53,active=$$props.active);if(\"opacity\"in $$props)$$invalidate(54,opacity=$$props.opacity);if(\"parentRect\"in $$props)$$invalidate(55,parentRect=$$props.parentRect);if(\"rootRect\"in $$props)$$invalidate(2,rootRect=$$props.rootRect);if(\"utilRect\"in $$props)$$invalidate(56,utilRect=$$props.utilRect);if(\"hoverColor\"in $$props)$$invalidate(57,hoverColor=$$props.hoverColor);if(\"textInputMode\"in $$props)$$invalidate(3,textInputMode=$$props.textInputMode);if(\"oninteractionstart\"in $$props)$$invalidate(58,oninteractionstart=$$props.oninteractionstart);if(\"oninteractionupdate\"in $$props)$$invalidate(59,oninteractionupdate=$$props.oninteractionupdate);if(\"oninteractionrelease\"in $$props)$$invalidate(60,oninteractionrelease=$$props.oninteractionrelease);if(\"oninteractionend\"in $$props)$$invalidate(61,oninteractionend=$$props.oninteractionend);if(\"onaddshape\"in $$props)$$invalidate(62,onaddshape=$$props.onaddshape);if(\"onupdateshape\"in $$props)$$invalidate(63,onupdateshape=$$props.onupdateshape);if(\"onselectshape\"in $$props)$$invalidate(64,onselectshape=$$props.onselectshape);if(\"onremoveshape\"in $$props)$$invalidate(65,onremoveshape=$$props.onremoveshape);if(\"onhovershape\"in $$props)$$invalidate(66,onhovershape=$$props.onhovershape);if(\"onhovercanvas\"in $$props)$$invalidate(67,onhovercanvas=$$props.onhovercanvas);if(\"beforeSelectShape\"in $$props)$$invalidate(68,beforeSelectShape=$$props.beforeSelectShape);if(\"beforeDeselectShape\"in $$props)$$invalidate(69,beforeDeselectShape=$$props.beforeDeselectShape);if(\"beforeRemoveShape\"in $$props)$$invalidate(70,beforeRemoveShape=$$props.beforeRemoveShape);if(\"beforeUpdateShape\"in $$props)$$invalidate(71,beforeUpdateShape=$$props.beforeUpdateShape);if(\"willRenderShapeControls\"in $$props)$$invalidate(72,willRenderShapeControls=$$props.willRenderShapeControls);if(\"mapEditorPointToImagePoint\"in $$props)$$invalidate(73,mapEditorPointToImagePoint=$$props.mapEditorPointToImagePoint);if(\"mapImagePointToEditorPoint\"in $$props)$$invalidate(74,mapImagePointToEditorPoint=$$props.mapImagePointToEditorPoint);if(\"eraseRadius\"in $$props)$$invalidate(75,eraseRadius=$$props.eraseRadius);if(\"selectRadius\"in $$props)$$invalidate(76,selectRadius=$$props.selectRadius);if(\"enableButtonFlipVertical\"in $$props)$$invalidate(77,enableButtonFlipVertical=$$props.enableButtonFlipVertical);if(\"enableTapToAddText\"in $$props)$$invalidate(78,enableTapToAddText=$$props.enableTapToAddText);if(\"locale\"in $$props)$$invalidate(4,locale=$$props.locale)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&1){$$invalidate(109,activeMarkup=markup&&(getMarkupItemDraft()||getActiveMarkupItem()))}if($$self.$$.dirty[3]&65536){$$invalidate(110,activeShapeId=activeMarkup&&!shapeIsDraft(activeMarkup)?activeMarkup.id:undefined)}if($$self.$$.dirty[0]&4|$$self.$$.dirty[1]&16777216|$$self.$$.dirty[3]&65536){$$invalidate(8,activeMarkupComputed=rootRect&&activeMarkup&&shapeComputeDisplay(shapeDeepCopy(activeMarkup),parentRect))}if($$self.$$.dirty[3]&65536){$$invalidate(111,activeMarkupItemIsDraft=!!(activeMarkup&&shapeIsDraft(activeMarkup)))}if($$self.$$.dirty[0]&256|$$self.$$.dirty[1]&8388608|$$self.$$.dirty[3]&65536){$$invalidate(112,shapeActivePoints=activeMarkup&&opacity&&getMarkupShapePoints(activeMarkupComputed)||[])}if($$self.$$.dirty[3]&65536){$$invalidate(113,allowResizeControls=activeMarkup&&shapeCanResize(activeMarkup)&&!shapeIsTextEditing(activeMarkup))}if($$self.$$.dirty[3]&65536){$$invalidate(9,allowRotateControls=activeMarkup&&shapeCanRotate(activeMarkup)&&!shapeIsTextEditing(activeMarkup))}if($$self.$$.dirty[3]&1114112){$$invalidate(15,allowedResizeControls=allowResizeControls&&hasProp(activeMarkup,\"text\")&&!activeMarkup.height?\"horizontal\":allowResizeControls)}if($$self.$$.dirty[3]&589824){$$invalidate(10,shouldRenderShapeManipulator=activeMarkup&&shapeActivePoints.length>1)}if($$self.$$.dirty[2]&4096|$$self.$$.dirty[3]&524288){$$invalidate(114,shapeActiveScreenPoints=shapeActivePoints.map(mapImagePointToEditorPoint))}if($$self.$$.dirty[0]&2|$$self.$$.dirty[3]&2097152){$$invalidate(11,shapeManipulatorPoints=shapeActiveScreenPoints.map(point=>vectorCreate(point.x-offset.x,point.y-offset.y)))}if($$self.$$.dirty[3]&32768){hoverShape&&!shapeIsSelected(hoverShape)&&shapeCanSelect(hoverShape)?showHover(hoverShape):hideHover()}if($$self.$$.dirty[0]&3840|$$self.$$.dirty[1]&8388608){$$invalidate(115,shapeManipulatorRotationPoint=shouldRenderShapeManipulator&&allowRotateControls&&opacity&&shapeManipulatorPoints&&getShapeRotationPointOnScreen(activeMarkupComputed))}if($$self.$$.dirty[0]&2|$$self.$$.dirty[3]&4194304){$$invalidate(16,shapeManipulatorRotationPointPosition=shapeManipulatorRotationPoint&&vectorCreate(shapeManipulatorRotationPoint.position.x-offset.x,shapeManipulatorRotationPoint.position.y-offset.y))}if($$self.$$.dirty[0]&2048|$$self.$$.dirty[1]&12582912|$$self.$$.dirty[3]&65536){if(active){if(opacity>0){claimManipulatorLines();const isPathDraft=activeMarkup&&shapeIsDraft(activeMarkup)&&shapeIsPath(activeMarkup);if(shapeManipulatorPoints.length>2&&!isPathDraft){redrawManipulatorLines(opacity)}else{removeMarkupManipulatorLines()}}else if(!activeMarkup){redrawManipulatorLines(opacity)}}else if(shouldManipulateLines()){redrawManipulatorLines(opacity)}}if($$self.$$.dirty[1]&4194304){togglePrerender(active)}if($$self.$$.dirty[0]&72){if(textInput&&textInputMode===\"inline\")textInput.focus()}if($$self.$$.dirty[3]&65536){$$invalidate(116,isTextMarkupSelected=activeMarkup&&shapeIsText(activeMarkup))}if($$self.$$.dirty[3]&8454144){$$invalidate(12,shouldRenderTextInput=isTextMarkupSelected&&shapeCanInput(activeMarkup)!==false&&shapeIsTextEditing(activeMarkup))}if($$self.$$.dirty[0]&4096){$$invalidate(117,textShapeOrigin=shouldRenderTextInput?getTextShapeOriginSnapshot():undefined)}if($$self.$$.dirty[1]&16777216|$$self.$$.dirty[3]&16777216){$$invalidate(118,textShapeDisplayOrigin=textShapeOrigin&&shapeComputeDisplay({...textShapeOrigin},parentRect))}if($$self.$$.dirty[3]&33554432){$$invalidate(119,textSizeDisplayOrigin=textShapeDisplayOrigin&&textToSize(textShapeDisplayOrigin.text,textShapeDisplayOrigin))}if($$self.$$.dirty[3]&100663296){textRectDisplayOrigin=textShapeDisplayOrigin&&rectCreate(textShapeDisplayOrigin.x,textShapeDisplayOrigin.y,textSizeDisplayOrigin.width,textSizeDisplayOrigin.height)}if($$self.$$.dirty[0]&4096|$$self.$$.dirty[3]&65536){$$invalidate(17,textInputText=shouldRenderTextInput?activeMarkup.text:\"\")}if($$self.$$.dirty[0]&4360){$$invalidate(18,textInputTextStyles=shouldRenderTextInput&&getTextInputTextStyles(activeMarkupComputed,textInputMode))}if($$self.$$.dirty[0]&4354|$$self.$$.dirty[1]&2359296){$$invalidate(19,textInputPositionStyles=shouldRenderTextInput&&getTextInputPositionStyles(activeMarkupComputed,offset,contextScale,contextRotation))}if($$self.$$.dirty[0]&4168){if(shouldRenderTextInput&&textInput&&textInputMode===\"inline\")syncTextInput()}if($$self.$$.dirty[3]&134545408){$$invalidate(120,controlledMarkupItem=activeMarkup&&!activeMarkupItemIsDraft?activeMarkup:controlledMarkupItem)}if($$self.$$.dirty[3]&134217728){$$invalidate(121,allowShapeFlip=controlledMarkupItem&&shapeCanFlip(controlledMarkupItem))}if($$self.$$.dirty[3]&134217728){$$invalidate(122,allowShapeChangeTextLayout=controlledMarkupItem&&shapeCanChangeTextLayout(controlledMarkupItem))}if($$self.$$.dirty[3]&134217728){$$invalidate(123,allowShapeDuplicate=controlledMarkupItem&&shapeCanDuplicate(controlledMarkupItem))}if($$self.$$.dirty[3]&134217728){$$invalidate(124,allowShapeRemove=controlledMarkupItem&&shapeCanRemove(controlledMarkupItem))}if($$self.$$.dirty[3]&134217728){$$invalidate(125,allowShapeReorder=controlledMarkupItem&&shapeCanReorder(controlledMarkupItem))}if($$self.$$.dirty[3]&134217728){$$invalidate(126,allowShapeInput=controlledMarkupItem&&shapeCanInput(controlledMarkupItem)!==false)}if($$self.$$.dirty[3]&134217728){$$invalidate(127,allowShapeAdjustOpacity=controlledMarkupItem&&hasProp(controlledMarkupItem,\"backgroundImage\")&&shapeCanStyle(controlledMarkupItem,\"opacity\"))}if($$self.$$.dirty[0]&4096|$$self.$$.dirty[3]&344064){markupControlsOpacity.set(activeMarkup&&!activeMarkupItemIsDraft&&!isInteracting&&!shouldRenderTextInput?1:0)}if($$self.$$.dirty[0]&2048|$$self.$$.dirty[3]&327680|$$self.$$.dirty[4]&16){$$invalidate(128,markupControlsAnchorPosition=activeMarkup&&!activeMarkupItemIsDraft?getMarkupControlsAnchorPosition(rectCreateFromPoints(shapeManipulatorPoints)):markupControlsAnchorPosition)}if($$self.$$.dirty[0]&128|$$self.$$.dirty[1]&33554432|$$self.$$.dirty[4]&16){$$invalidate(129,shapeControlsPosition=markupControlsAnchorPosition&&shapeControlsSize&&utilRect&&getShapeControlPositionOnCanvas(markupControlsAnchorPosition))}if($$self.$$.dirty[0]&8192|$$self.$$.dirty[4]&32){$$invalidate(20,markupControlsStyle=shapeControlsPosition&&`transform: translate(${shapeControlsPosition.x}px, ${shapeControlsPosition.y}px);opacity:${$markupControlsOpacity}`)}if($$self.$$.dirty[0]&16|$$self.$$.dirty[2]&33792|$$self.$$.dirty[3]&1879244800|$$self.$$.dirty[4]&15){$$invalidate(21,shapeControls=activeShapeId&&willRenderShapeControls([allowShapeAdjustOpacity&&[\"div\",\"alpha\",{class:\"PinturaShapeControlsGroup\"},[[\"Slider\",\"adjust-opacity\",{onchange:handleAdjustOpacity,step:.01,value:hasProp(activeMarkup,\"opacity\")?activeMarkup.opacity:1,label:(value,min,max)=>`${Math.round(value/max*100)}%`,min:0,max:1,direction:\"x\"}]]],[\"div\",\"beta\",{class:\"PinturaShapeControlsGroup\"},[allowShapeFlip&&[\"Button\",\"flip-horizontal\",{onclick:handleFlipX,label:locale.shapeTitleButtonFlipHorizontal,icon:locale.shapeIconButtonFlipHorizontal,hideLabel:true}],allowShapeFlip&&enableButtonFlipVertical&&[\"Button\",\"flip-vertical\",{onclick:handleFlipY,label:locale.shapeTitleButtonFlipVertical,icon:locale.shapeIconButtonFlipVertical,hideLabel:true}],allowShapeReorder&&[\"Button\",\"to-front\",{onclick:handleMoveToFrontActiveMarkup,label:locale.shapeTitleButtonMoveToFront,icon:locale.shapeIconButtonMoveToFront,hideLabel:true}],allowShapeDuplicate&&[\"Button\",\"duplicate\",{onclick:handleDuplicateActiveMarkup,label:locale.shapeTitleButtonDuplicate,icon:locale.shapeIconButtonDuplicate,hideLabel:true}],allowShapeRemove&&[\"Button\",\"remove\",{onclick:handleRemoveActiveMarkup,label:locale.shapeTitleButtonRemove,icon:locale.shapeIconButtonRemove,hideLabel:true}]].filter(Boolean)],allowShapeInput&&allowShapeChangeTextLayout&&[\"div\",\"gamma\",{class:\"PinturaShapeControlsGroup\"},[[\"Button\",\"text-layout\",{onclick:handleTextSwitchLayout,label:localize(TextLayoutChangeLabel,locale,activeMarkup),icon:localize(TextLayoutChangeIcon,locale,activeMarkup),hideLabel:true}]]],allowShapeInput&&[\"div\",\"delta\",{class:\"PinturaShapeControlsGroup\"},[[\"Button\",\"edit-text\",{label:locale.shapeLabelInputText,onclick:handleEditTextActiveMarkup}]]]].filter(Boolean),activeShapeId))}if($$self.$$.dirty[0]&17){$$invalidate(22,shapeNavList=markup.filter(shapeCanSelect).filter(shape=>!shapeIsDraft(shape)).map(shape=>({id:shape.id,color:shapeIsText(shape)?shape.color:shapeIsLine(shape)?shape.strokeColor:shape.backgroundColor,name:shape.name||locale[`shapeLabelTool${capitalizeFirstLetter(shapeGetDescription(shape))}`]})))}};return[markup,offset,rootRect,textInputMode,locale,selectShape,textInput,shapeControlsSize,activeMarkupComputed,allowRotateControls,shouldRenderShapeManipulator,shapeManipulatorPoints,shouldRenderTextInput,$markupControlsOpacity,showShapeList,allowedResizeControls,shapeManipulatorRotationPointPosition,textInputText,textInputTextStyles,textInputPositionStyles,markupControlsStyle,shapeControls,shapeNavList,keysPressedStored,handleInteractionStart,handleInteractionUpdate,handleInteractionRelease,handleInteractionEnd,handleManipulatorResizeGrab,handleManipulatorResizeDrag,handleManipulatorResizeEnd,handleManipulatorRotateGrab,handleManipulatorRotateDrag,handleManipulatorRotateEnd,handleKey,formatContentEditable,handleTextInput,handleTextInputAttempt,handleTextInputKeyDown,handleTextInputKeyUp,handleTextConfirm,handleTextCancel,markupControlsOpacity,handleNudge,handleFocusIn,handleFocusOut,handlePointerMove,ui,uid,contextRotation,contextFlipX,contextFlipY,contextScale,active,opacity,parentRect,utilRect,hoverColor,oninteractionstart,oninteractionupdate,oninteractionrelease,oninteractionend,onaddshape,onupdateshape,onselectshape,onremoveshape,onhovershape,onhovercanvas,beforeSelectShape,beforeDeselectShape,beforeRemoveShape,beforeUpdateShape,willRenderShapeControls,mapEditorPointToImagePoint,mapImagePointToEditorPoint,eraseRadius,selectRadius,enableButtonFlipVertical,enableTapToAddText,createShape,eraseShape,getMarkupItemDraft,getMarkupItemDraftIndex,addMarkupItemDraft,confirmMarkupItemDraft,discardMarkupItemDraft,createMarkupItem,syncShapes,addShape,removeMarkupShapeProps,updateMarkupShape,updateMarkupShapeProperty,updateMarkupItemsShapeProperty,updateMarkupShapeItems,getActiveMarkupItem,hasActiveMarkupItem,removeShape,removeActiveMarkupItem,blurShapes,deselectMarkupItem,editMarkupItem,finishEditMarkupItem,removeMarkupItems,getTextShapeRect,getMarkupShapeRect,getShapesNearPosition,getShapesBetweenPoints,isInteracting,hoverShape,activeMarkup,activeShapeId,activeMarkupItemIsDraft,shapeActivePoints,allowResizeControls,shapeActiveScreenPoints,shapeManipulatorRotationPoint,isTextMarkupSelected,textShapeOrigin,textShapeDisplayOrigin,textSizeDisplayOrigin,controlledMarkupItem,allowShapeFlip,allowShapeChangeTextLayout,allowShapeDuplicate,allowShapeRemove,allowShapeReorder,allowShapeInput,allowShapeAdjustOpacity,markupControlsAnchorPosition,shapeControlsPosition,measure_handler,click_handler,textarea_binding,textarea_input_handler,contenteditable_binding,measure_handler_1,interactable_function]}class ShapeLayoutEditor extends SvelteComponent{constructor(options){super();init(this,options,instance$f,create_fragment$f,safe_not_equal,{uid:48,ui:47,markup:0,offset:1,contextRotation:49,contextFlipX:50,contextFlipY:51,contextScale:52,active:53,opacity:54,parentRect:55,rootRect:2,utilRect:56,hoverColor:57,textInputMode:3,oninteractionstart:58,oninteractionupdate:59,oninteractionrelease:60,oninteractionend:61,onaddshape:62,onupdateshape:63,onselectshape:64,onremoveshape:65,onhovershape:66,onhovercanvas:67,beforeSelectShape:68,beforeDeselectShape:69,beforeRemoveShape:70,beforeUpdateShape:71,willRenderShapeControls:72,mapEditorPointToImagePoint:73,mapImagePointToEditorPoint:74,eraseRadius:75,selectRadius:76,enableButtonFlipVertical:77,enableTapToAddText:78,locale:4,createShape:79,eraseShape:80,getMarkupItemDraft:81,getMarkupItemDraftIndex:82,addMarkupItemDraft:83,confirmMarkupItemDraft:84,discardMarkupItemDraft:85,createMarkupItem:86,syncShapes:87,addShape:88,removeMarkupShapeProps:89,updateMarkupShape:90,updateMarkupShapeProperty:91,updateMarkupItemsShapeProperty:92,updateMarkupShapeItems:93,getActiveMarkupItem:94,hasActiveMarkupItem:95,removeShape:96,removeActiveMarkupItem:97,blurShapes:98,selectShape:5,deselectMarkupItem:99,editMarkupItem:100,finishEditMarkupItem:101,removeMarkupItems:102,getTextShapeRect:103,getMarkupShapeRect:104,getShapesNearPosition:105,getShapesBetweenPoints:106},[-1,-1,-1,-1,-1,-1,-1])}get createShape(){return this.$$.ctx[79]}get eraseShape(){return this.$$.ctx[80]}get getMarkupItemDraft(){return this.$$.ctx[81]}get getMarkupItemDraftIndex(){return this.$$.ctx[82]}get addMarkupItemDraft(){return this.$$.ctx[83]}get confirmMarkupItemDraft(){return this.$$.ctx[84]}get discardMarkupItemDraft(){return this.$$.ctx[85]}get createMarkupItem(){return this.$$.ctx[86]}get syncShapes(){return this.$$.ctx[87]}get addShape(){return this.$$.ctx[88]}get removeMarkupShapeProps(){return this.$$.ctx[89]}get updateMarkupShape(){return this.$$.ctx[90]}get updateMarkupShapeProperty(){return this.$$.ctx[91]}get updateMarkupItemsShapeProperty(){return this.$$.ctx[92]}get updateMarkupShapeItems(){return this.$$.ctx[93]}get getActiveMarkupItem(){return this.$$.ctx[94]}get hasActiveMarkupItem(){return this.$$.ctx[95]}get removeShape(){return this.$$.ctx[96]}get removeActiveMarkupItem(){return this.$$.ctx[97]}get blurShapes(){return this.$$.ctx[98]}get selectShape(){return this.$$.ctx[5]}get deselectMarkupItem(){return this.$$.ctx[99]}get editMarkupItem(){return this.$$.ctx[100]}get finishEditMarkupItem(){return this.$$.ctx[101]}get removeMarkupItems(){return this.$$.ctx[102]}get getTextShapeRect(){return this.$$.ctx[103]}get getMarkupShapeRect(){return this.$$.ctx[104]}get getShapesNearPosition(){return this.$$.ctx[105]}get getShapesBetweenPoints(){return this.$$.ctx[106]}}function get_each_context$2(ctx,list,i){const child_ctx=ctx.slice();child_ctx[7]=list[i];return child_ctx}function create_each_block$2(key_1,ctx){let li;let span;let t0_value=localize(ctx[7].componentProps.title,ctx[1])+\"\";let t0;let t1;let switch_instance;let t2;let current;const switch_instance_spread_levels=[ctx[7].componentProps];var switch_value=ctx[7].component;function switch_props(ctx){let switch_instance_props={};for(let i=0;i{destroy_component(old_component,1)});check_outros()}if(switch_value){switch_instance=new switch_value(switch_props());create_component(switch_instance.$$.fragment);transition_in(switch_instance.$$.fragment,1);mount_component(switch_instance,li,t2)}else{switch_instance=null}}else if(switch_value){switch_instance.$set(switch_instance_changes)}},i(local){if(current)return;if(switch_instance)transition_in(switch_instance.$$.fragment,local);current=true},o(local){if(switch_instance)transition_out(switch_instance.$$.fragment,local);current=false},d(detaching){if(detaching)detach(li);if(switch_instance)destroy_component(switch_instance)}}}function create_default_slot$5(ctx){let ul;let each_blocks=[];let each_1_lookup=new Map;let current;let each_value=ctx[0];const get_key=ctx=>ctx[7].id;for(let i=0;i$$invalidate(6,$opacity=value));$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$invalidate(5,isActive=$$props.isActive);if(\"controls\"in $$props)$$invalidate(0,controls=$$props.controls);if(\"locale\"in $$props)$$invalidate(1,locale=$$props.locale);if(\"scrollElasticity\"in $$props)$$invalidate(2,scrollElasticity=$$props.scrollElasticity)};$$self.$$.update=()=>{if($$self.$$.dirty&32){opacity.set(isActive?1:0)}if($$self.$$.dirty&96){$$invalidate(3,style=`opacity:${$opacity};${!isActive?\"pointer-events:none;\":\"\"}${$opacity<=0?\"visibility:hidden\":\"\"}`)}};return[controls,locale,scrollElasticity,style,opacity,isActive,$opacity]}class ShapeStyleControls extends SvelteComponent{constructor(options){super();init(this,options,instance$e,create_fragment$e,safe_not_equal,{isActive:5,controls:0,locale:1,scrollElasticity:2})}}function get_each_context$1(ctx,list,i){const child_ctx=ctx.slice();child_ctx[11]=list[i].key;child_ctx[2]=list[i].controls;child_ctx[12]=list[i].isActive;return child_ctx}function create_each_block$1(key_1,ctx){let first;let shapestylecontrols;let current;shapestylecontrols=new ShapeStyleControls({props:{isActive:ctx[12],controls:ctx[2],locale:ctx[0],scrollElasticity:ctx[1]}});return{key:key_1,first:null,c(){first=empty();create_component(shapestylecontrols.$$.fragment);this.first=first},m(target,anchor){insert(target,first,anchor);mount_component(shapestylecontrols,target,anchor);current=true},p(new_ctx,dirty){ctx=new_ctx;const shapestylecontrols_changes={};if(dirty&8)shapestylecontrols_changes.isActive=ctx[12];if(dirty&8)shapestylecontrols_changes.controls=ctx[2];if(dirty&1)shapestylecontrols_changes.locale=ctx[0];if(dirty&2)shapestylecontrols_changes.scrollElasticity=ctx[1];shapestylecontrols.$set(shapestylecontrols_changes)},i(local){if(current)return;transition_in(shapestylecontrols.$$.fragment,local);current=true},o(local){transition_out(shapestylecontrols.$$.fragment,local);current=false},d(detaching){if(detaching)detach(first);destroy_component(shapestylecontrols,detaching)}}}function create_fragment$d(ctx){let div;let each_blocks=[];let each_1_lookup=new Map;let current;let each_value=ctx[3];const get_key=ctx=>ctx[11];for(let i=0;i{const activeControls=controlKeys.filter(styleKey=>styleKey.split(\"_\").every(styleKey=>hasProp(shape,styleKey)&&shapeCanStyle(shape,styleKey))).map(styleKey=>{const styleKeys=styleKey.split(\"_\");const currentValue=styleKeys.length>1?styleKeys.map(key=>shape[key]):shape[styleKey];let[component,componentProps]=controls[styleKey];if(isString(component)){if(controls[component]){const componentCustomProps={...componentProps};[component,componentProps]=controls[component];componentProps={...componentProps,...componentCustomProps}}else if(component===\"Dropdown\"){component=Dropdown}else{return}}const options=isFunction(componentProps.options)?componentProps.options(shape):componentProps.options;return{id:styleKey,component:component,componentProps:{...componentProps,options:options,locale:locale,value:currentValue,optionLabelClass:\"PinturaButtonLabel\",onchange:detail=>{const value=isObject(detail)&&!isArray(detail)?detail.value:detail;if(componentProps.onchange)componentProps.onchange(value,shape);const props=styleKeys.length>1?styleKeys.reduce((prev,key,index)=>{return{...prev,[key]:Array.isArray(value)?value[index]:value}},{}):{[styleKey]:value};onchange(props)}}}}).filter(Boolean);return activeControls};const styleControlSets=[];const getStyleControlSets=(key,controls)=>{let controlSet=styleControlSets.find(controlSet=>controlSet.key===key);if(!controlSet){controlSet={key:key,controls:controls};styleControlSets.push(controlSet)}styleControlSets.forEach(controlSet=>controlSet.isActive=false);controlSet.controls=controls;controlSet.isActive=true;return styleControlSets};$$self.$$set=$$props=>{if(\"controls\"in $$props)$$invalidate(2,controls=$$props.controls);if(\"shape\"in $$props)$$invalidate(4,shape=$$props.shape);if(\"onchange\"in $$props)$$invalidate(5,onchange=$$props.onchange);if(\"locale\"in $$props)$$invalidate(0,locale=$$props.locale);if(\"scrollElasticity\"in $$props)$$invalidate(1,scrollElasticity=$$props.scrollElasticity)};$$self.$$.update=()=>{if($$self.$$.dirty&4){$$invalidate(6,controlKeys=Object.keys(controls).filter(key=>controls[key]))}if($$self.$$.dirty&80){$$invalidate(7,activeControls=shape&&controlKeys&&shapeCanStyle(shape)?getShapeControls(shape):[])}if($$self.$$.dirty&144){$$invalidate(3,currentStyleControlSets=getStyleControlSets(shape?Object.keys(shape).join(\"_\"):\"none\",activeControls||[]))}};return[locale,scrollElasticity,controls,currentStyleControlSets,shape,onchange,controlKeys,activeControls]}class ShapeStyleEditor extends SvelteComponent{constructor(options){super();init(this,options,instance$d,create_fragment$d,safe_not_equal,{controls:2,shape:4,onchange:5,locale:0,scrollElasticity:1})}}function create_fragment$c(ctx){let button;let mounted;let dispose;return{c(){button=element(\"button\");attr(button,\"class\",\"PinturaDragButton\");attr(button,\"title\",ctx[1]);button.disabled=ctx[2]},m(target,anchor){insert(target,button,anchor);button.innerHTML=ctx[0];ctx[9](button);if(!mounted){dispose=listen(button,\"pointerdown\",ctx[4]);mounted=true}},p(ctx,[dirty]){if(dirty&1)button.innerHTML=ctx[0];if(dirty&2){attr(button,\"title\",ctx[1])}if(dirty&4){button.disabled=ctx[2]}},i:noop,o:noop,d(detaching){if(detaching)detach(button);ctx[9](null);mounted=false;dispose()}}}function instance$c($$self,$$props,$$invalidate){let{html}=$$props;let{title}=$$props;let{onclick}=$$props;let{disabled=false}=$$props;let{ongrab=noop$1}=$$props;let{ondrag=noop$1}=$$props;let{ondrop=noop$1}=$$props;let element;const isOverButton=e=>vectorDistanceSquared(downPosition,vectorCreate(e.pageX,e.pageY))<256;let downPosition;const handleDown=e=>{downPosition=vectorCreate(e.pageX,e.pageY);ongrab(e);document.documentElement.addEventListener(\"pointermove\",handleMove);document.documentElement.addEventListener(\"pointerup\",handleUp)};const handleUp=e=>{document.documentElement.removeEventListener(\"pointermove\",handleMove);document.documentElement.removeEventListener(\"pointerup\",handleUp);const upPosition=vectorCreate(e.pageX,e.pageY);if(vectorDistanceSquared(downPosition,upPosition)<32)return onclick(e);if(isOverButton(e))return;ondrop(e)};const handleMove=e=>{if(isOverButton(e))return;ondrag(e)};function button_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{element=$$value;$$invalidate(3,element)})}$$self.$$set=$$props=>{if(\"html\"in $$props)$$invalidate(0,html=$$props.html);if(\"title\"in $$props)$$invalidate(1,title=$$props.title);if(\"onclick\"in $$props)$$invalidate(5,onclick=$$props.onclick);if(\"disabled\"in $$props)$$invalidate(2,disabled=$$props.disabled);if(\"ongrab\"in $$props)$$invalidate(6,ongrab=$$props.ongrab);if(\"ondrag\"in $$props)$$invalidate(7,ondrag=$$props.ondrag);if(\"ondrop\"in $$props)$$invalidate(8,ondrop=$$props.ondrop)};return[html,title,disabled,element,handleDown,onclick,ongrab,ondrag,ondrop,button_binding]}class DragButton extends SvelteComponent{constructor(options){super();init(this,options,instance$c,create_fragment$c,safe_not_equal,{html:0,title:1,onclick:5,disabled:2,ongrab:6,ondrag:7,ondrop:8})}}function get_each_context(ctx,list,i){const child_ctx=ctx.slice();child_ctx[14]=list[i];return child_ctx}function create_each_block(key_1,ctx){let li;let dragbutton;let t;let didMountPresetThumb_action;let current;let mounted;let dispose;function func(){return ctx[10](ctx[14])}function func_1(...args){return ctx[11](ctx[14],...args)}function func_2(...args){return ctx[12](ctx[14],...args)}function func_3(...args){return ctx[13](ctx[14],...args)}dragbutton=new DragButton({props:{onclick:func,ongrab:func_1,ondrag:func_2,ondrop:func_3,disabled:ctx[1]||ctx[14].disabled,title:ctx[14].title,html:ctx[14].thumb}});return{key:key_1,first:null,c(){li=element(\"li\");create_component(dragbutton.$$.fragment);t=space();attr(li,\"class\",\"PinturaShapePreset\");attr(li,\"style\",ctx[6]);this.first=li},m(target,anchor){insert(target,li,anchor);mount_component(dragbutton,li,null);append(li,t);current=true;if(!mounted){dispose=action_destroyer(didMountPresetThumb_action=ctx[8].call(null,li,ctx[14]));mounted=true}},p(new_ctx,dirty){ctx=new_ctx;const dragbutton_changes={};if(dirty&5)dragbutton_changes.onclick=func;if(dirty&9)dragbutton_changes.ongrab=func_1;if(dirty&17)dragbutton_changes.ondrag=func_2;if(dirty&33)dragbutton_changes.ondrop=func_3;if(dirty&3)dragbutton_changes.disabled=ctx[1]||ctx[14].disabled;if(dirty&1)dragbutton_changes.title=ctx[14].title;if(dirty&1)dragbutton_changes.html=ctx[14].thumb;dragbutton.$set(dragbutton_changes);if(!current||dirty&64){attr(li,\"style\",ctx[6])}if(didMountPresetThumb_action&&is_function(didMountPresetThumb_action.update)&&dirty&1)didMountPresetThumb_action.update.call(null,ctx[14])},i(local){if(current)return;transition_in(dragbutton.$$.fragment,local);current=true},o(local){transition_out(dragbutton.$$.fragment,local);current=false},d(detaching){if(detaching)detach(li);destroy_component(dragbutton);mounted=false;dispose()}}}function create_fragment$b(ctx){let ul;let each_blocks=[];let each_1_lookup=new Map;let current;let each_value=ctx[0];const get_key=ctx=>ctx[14].id;for(let i=0;i$$invalidate(9,$anim=value));const didMountPresetThumb=(element,item)=>item.mount&&item.mount(element.firstChild,item);onMount(()=>anim.set(1));const func=preset=>onclickpreset(preset.id);const func_1=(preset,e)=>ongrabpreset&&ongrabpreset(preset.id,e);const func_2=(preset,e)=>ondragpreset&&ondragpreset(preset.id,e);const func_3=(preset,e)=>ondroppreset&&ondroppreset(preset.id,e);$$self.$$set=$$props=>{if(\"presets\"in $$props)$$invalidate(0,presets=$$props.presets);if(\"disabled\"in $$props)$$invalidate(1,disabled=$$props.disabled);if(\"onclickpreset\"in $$props)$$invalidate(2,onclickpreset=$$props.onclickpreset);if(\"ongrabpreset\"in $$props)$$invalidate(3,ongrabpreset=$$props.ongrabpreset);if(\"ondragpreset\"in $$props)$$invalidate(4,ondragpreset=$$props.ondragpreset);if(\"ondroppreset\"in $$props)$$invalidate(5,ondroppreset=$$props.ondroppreset)};$$self.$$.update=()=>{if($$self.$$.dirty&512){$$invalidate(6,style=`opacity:${$anim}`)}};return[presets,disabled,onclickpreset,ongrabpreset,ondragpreset,ondroppreset,style,anim,didMountPresetThumb,$anim,func,func_1,func_2,func_3]}class ShapePresetsList extends SvelteComponent{constructor(options){super();init(this,options,instance$b,create_fragment$b,safe_not_equal,{presets:0,disabled:1,onclickpreset:2,ongrabpreset:3,ondragpreset:4,ondroppreset:5})}}var isSVGMarkup=str=>/{if_blocks[previous_block_index]=null});check_outros();if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if_blocks[current_block_type_index].d(detaching);if(detaching)detach(if_block_anchor)}}}function create_else_block$1(ctx){let div;let t;let scrollable;let current;let if_block=ctx[13]&&create_if_block_5$1(ctx);scrollable=new Scrollable({props:{scrollAutoCancel:ctx[6],elasticity:ctx[0],$$slots:{default:[create_default_slot_4]},$$scope:{ctx:ctx}}});return{c(){div=element(\"div\");if(if_block)if_block.c();t=space();create_component(scrollable.$$.fragment);attr(div,\"class\",\"PinturaShapePresetsFlat\")},m(target,anchor){insert(target,div,anchor);if(if_block)if_block.m(div,null);append(div,t);mount_component(scrollable,div,null);current=true},p(ctx,dirty){if(ctx[13]){if(if_block){if_block.p(ctx,dirty);if(dirty&8192){transition_in(if_block,1)}}else{if_block=create_if_block_5$1(ctx);if_block.c();transition_in(if_block,1);if_block.m(div,t)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}const scrollable_changes={};if(dirty&64)scrollable_changes.scrollAutoCancel=ctx[6];if(dirty&1)scrollable_changes.elasticity=ctx[0];if(dirty&536870974){scrollable_changes.$$scope={dirty:dirty,ctx:ctx}}scrollable.$set(scrollable_changes)},i(local){if(current)return;transition_in(if_block);transition_in(scrollable.$$.fragment,local);current=true},o(local){transition_out(if_block);transition_out(scrollable.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);if(if_block)if_block.d();destroy_component(scrollable)}}}function create_if_block_1$1(ctx){let div1;let div0;let t0;let tablist;let t1;let tabpanels;let current;let if_block=ctx[13]&&create_if_block_4$1(ctx);const tablist_spread_levels=[{class:\"PinturaControlList\"},{tabs:ctx[8]},ctx[11],{layout:\"compact\"}];let tablist_props={$$slots:{default:[create_default_slot_2,({tab})=>({28:tab}),({tab})=>tab?268435456:0]},$$scope:{ctx:ctx}};for(let i=0;i({26:panel,27:panelIsActive}),({panel,panelIsActive})=>(panel?67108864:0)|(panelIsActive?134217728:0)]},$$scope:{ctx:ctx}};for(let i=0;i{if_block=null});check_outros()}const tablist_changes=dirty&2304?get_spread_update(tablist_spread_levels,[tablist_spread_levels[0],dirty&256&&{tabs:ctx[8]},dirty&2048&&get_spread_object(ctx[11]),tablist_spread_levels[3]]):{};if(dirty&805306368){tablist_changes.$$scope={dirty:dirty,ctx:ctx}}tablist.$set(tablist_changes);const tabpanels_changes=dirty&6144?get_spread_update(tabpanels_spread_levels,[tabpanels_spread_levels[0],tabpanels_spread_levels[1],dirty&4096&&{panels:ctx[12]},dirty&2048&&get_spread_object(ctx[11])]):{};if(dirty&738198623){tabpanels_changes.$$scope={dirty:dirty,ctx:ctx}}tabpanels.$set(tabpanels_changes)},i(local){if(current)return;transition_in(if_block);transition_in(tablist.$$.fragment,local);transition_in(tabpanels.$$.fragment,local);current=true},o(local){transition_out(if_block);transition_out(tablist.$$.fragment,local);transition_out(tabpanels.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div1);if(if_block)if_block.d();destroy_component(tablist);destroy_component(tabpanels)}}}function create_if_block_5$1(ctx){let dynamiccomponenttree;let current;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[13]}});return{c(){create_component(dynamiccomponenttree.$$.fragment)},m(target,anchor){mount_component(dynamiccomponenttree,target,anchor);current=true},p(ctx,dirty){const dynamiccomponenttree_changes={};if(dirty&8192)dynamiccomponenttree_changes.items=ctx[13];dynamiccomponenttree.$set(dynamiccomponenttree_changes)},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);current=false},d(detaching){destroy_component(dynamiccomponenttree,detaching)}}}function create_default_slot_4(ctx){let shapepresetslist;let current;shapepresetslist=new ShapePresetsList({props:{presets:ctx[5],onclickpreset:ctx[1],ongrabpreset:ctx[2],ondragpreset:ctx[3],ondroppreset:ctx[4]}});return{c(){create_component(shapepresetslist.$$.fragment)},m(target,anchor){mount_component(shapepresetslist,target,anchor);current=true},p(ctx,dirty){const shapepresetslist_changes={};if(dirty&32)shapepresetslist_changes.presets=ctx[5];if(dirty&2)shapepresetslist_changes.onclickpreset=ctx[1];if(dirty&4)shapepresetslist_changes.ongrabpreset=ctx[2];if(dirty&8)shapepresetslist_changes.ondragpreset=ctx[3];if(dirty&16)shapepresetslist_changes.ondroppreset=ctx[4];shapepresetslist.$set(shapepresetslist_changes)},i(local){if(current)return;transition_in(shapepresetslist.$$.fragment,local);current=true},o(local){transition_out(shapepresetslist.$$.fragment,local);current=false},d(detaching){destroy_component(shapepresetslist,detaching)}}}function create_if_block_4$1(ctx){let dynamiccomponenttree;let current;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[13]}});return{c(){create_component(dynamiccomponenttree.$$.fragment)},m(target,anchor){mount_component(dynamiccomponenttree,target,anchor);current=true},p(ctx,dirty){const dynamiccomponenttree_changes={};if(dirty&8192)dynamiccomponenttree_changes.items=ctx[13];dynamiccomponenttree.$set(dynamiccomponenttree_changes)},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);current=false},d(detaching){destroy_component(dynamiccomponenttree,detaching)}}}function create_if_block_3$1(ctx){let icon;let current;icon=new Icon({props:{$$slots:{default:[create_default_slot_3]},$$scope:{ctx:ctx}}});return{c(){create_component(icon.$$.fragment)},m(target,anchor){mount_component(icon,target,anchor);current=true},p(ctx,dirty){const icon_changes={};if(dirty&805306368){icon_changes.$$scope={dirty:dirty,ctx:ctx}}icon.$set(icon_changes)},i(local){if(current)return;transition_in(icon.$$.fragment,local);current=true},o(local){transition_out(icon.$$.fragment,local);current=false},d(detaching){destroy_component(icon,detaching)}}}function create_default_slot_3(ctx){let g;let raw_value=ctx[28].icon+\"\";return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=raw_value},p(ctx,dirty){if(dirty&268435456&&raw_value!==(raw_value=ctx[28].icon+\"\"))g.innerHTML=raw_value},d(detaching){if(detaching)detach(g)}}}function create_if_block_2$1(ctx){let span;let t_value=ctx[28].label+\"\";let t;return{c(){span=element(\"span\");t=text(t_value)},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&268435456&&t_value!==(t_value=ctx[28].label+\"\"))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_default_slot_2(ctx){let t;let if_block1_anchor;let current;let if_block0=ctx[28].icon&&create_if_block_3$1(ctx);let if_block1=!ctx[28].hideLabel&&create_if_block_2$1(ctx);return{c(){if(if_block0)if_block0.c();t=space();if(if_block1)if_block1.c();if_block1_anchor=empty()},m(target,anchor){if(if_block0)if_block0.m(target,anchor);insert(target,t,anchor);if(if_block1)if_block1.m(target,anchor);insert(target,if_block1_anchor,anchor);current=true},p(ctx,dirty){if(ctx[28].icon){if(if_block0){if_block0.p(ctx,dirty);if(dirty&268435456){transition_in(if_block0,1)}}else{if_block0=create_if_block_3$1(ctx);if_block0.c();transition_in(if_block0,1);if_block0.m(t.parentNode,t)}}else if(if_block0){group_outros();transition_out(if_block0,1,1,()=>{if_block0=null});check_outros()}if(!ctx[28].hideLabel){if(if_block1){if_block1.p(ctx,dirty)}else{if_block1=create_if_block_2$1(ctx);if_block1.c();if_block1.m(if_block1_anchor.parentNode,if_block1_anchor)}}else if(if_block1){if_block1.d(1);if_block1=null}},i(local){if(current)return;transition_in(if_block0);current=true},o(local){transition_out(if_block0);current=false},d(detaching){if(if_block0)if_block0.d(detaching);if(detaching)detach(t);if(if_block1)if_block1.d(detaching);if(detaching)detach(if_block1_anchor)}}}function create_default_slot_1$1(ctx){let shapepresetslist;let current;shapepresetslist=new ShapePresetsList({props:{presets:ctx[10][ctx[26]].items,disabled:ctx[10][ctx[26]].disabled,onclickpreset:ctx[1],ongrabpreset:ctx[2],ondragpreset:ctx[3],ondroppreset:ctx[4]}});return{c(){create_component(shapepresetslist.$$.fragment)},m(target,anchor){mount_component(shapepresetslist,target,anchor);current=true},p(ctx,dirty){const shapepresetslist_changes={};if(dirty&67109888)shapepresetslist_changes.presets=ctx[10][ctx[26]].items;if(dirty&67109888)shapepresetslist_changes.disabled=ctx[10][ctx[26]].disabled;if(dirty&2)shapepresetslist_changes.onclickpreset=ctx[1];if(dirty&4)shapepresetslist_changes.ongrabpreset=ctx[2];if(dirty&8)shapepresetslist_changes.ondragpreset=ctx[3];if(dirty&16)shapepresetslist_changes.ondroppreset=ctx[4];shapepresetslist.$set(shapepresetslist_changes)},i(local){if(current)return;transition_in(shapepresetslist.$$.fragment,local);current=true},o(local){transition_out(shapepresetslist.$$.fragment,local);current=false},d(detaching){destroy_component(shapepresetslist,detaching)}}}function create_default_slot$4(ctx){let scrollable;let current;scrollable=new Scrollable({props:{scroll:ctx[27]?{scrollOffset:0,animate:false}:undefined,scrollAutoCancel:ctx[6],elasticity:ctx[0],$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:ctx}}});return{c(){create_component(scrollable.$$.fragment)},m(target,anchor){mount_component(scrollable,target,anchor);current=true},p(ctx,dirty){const scrollable_changes={};if(dirty&134217728)scrollable_changes.scroll=ctx[27]?{scrollOffset:0,animate:false}:undefined;if(dirty&64)scrollable_changes.scrollAutoCancel=ctx[6];if(dirty&1)scrollable_changes.elasticity=ctx[0];if(dirty&603980830){scrollable_changes.$$scope={dirty:dirty,ctx:ctx}}scrollable.$set(scrollable_changes)},i(local){if(current)return;transition_in(scrollable.$$.fragment,local);current=true},o(local){transition_out(scrollable.$$.fragment,local);current=false},d(detaching){destroy_component(scrollable,detaching)}}}function create_fragment$a(ctx){let div;let current_block_type_index;let if_block;let current;const if_block_creators=[create_if_block$1,create_if_block_6];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[6])return 0;if(ctx[13])return 1;return-1}if(~(current_block_type_index=select_block_type(ctx))){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx)}return{c(){div=element(\"div\");if(if_block)if_block.c();attr(div,\"class\",\"PinturaShapePresetsPalette\")},m(target,anchor){insert(target,div,anchor);if(~current_block_type_index){if_blocks[current_block_type_index].m(div,null)}current=true},p(ctx,[dirty]){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(div,null)}else{if_block=null}}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(~current_block_type_index){if_blocks[current_block_type_index].d()}}}}function instance$a($$self,$$props,$$invalidate){let presetsMapped;let shouldRenderPresets;let shouldGroupPresets;let tabs;let presetTabs;let tabSelected;let tabsConfig;let panels;let presetToolbar;let{locale}=$$props;let{presets}=$$props;let{scrollElasticity}=$$props;let{enableSelectImage=true}=$$props;let{willRenderPresetToolbar=passthrough}=$$props;let{onaddpreset=noop$1}=$$props;let{ongrabpreset=undefined}=$$props;let{ondragpreset=undefined}=$$props;let{ondroppreset=undefined}=$$props;const uid=`presets-${getUniqueId()}`;const isPresetGroup=item=>isArray(item)&&isString(item[0])&&isArray(item[1]);const getPresetThumb=(value,alt=\"\")=>{if(isSVGMarkup(value))return value;if(isEmoji(value))return getEmojiSVG(value,alt);return`\"${alt}\"/`};const getAltFromSrc=src=>getFilenameWithoutExtension(getFilenameFromURL(src));const excludedStickerItemProps=[\"src\",\"alt\",\"thumb\",\"shape\",\"id\",\"mount\",\"disabled\"];const mapPreset=item=>{let id=item;let src;let shape;let shapeProps;let thumb;let alt;let mount;let disabled;if(isString(item)){if(isEmoji(item)){src=item;alt=item;thumb=getPresetThumb(src,alt)}else{src=item;alt=getAltFromSrc(src);thumb=getPresetThumb(src,alt)}}else{src=item.src;alt=item.alt||(isString(src)?getAltFromSrc(src):isString(item.thumb)?getAltFromSrc(item.thumb):undefined);thumb=getPresetThumb(item.thumb||src,alt);shape=item.shape;mount=item.mount;disabled=item.disabled;shapeProps=Object.keys(item).reduce((prev,curr)=>{if(excludedStickerItemProps.includes(curr))return prev;prev[curr]=item[curr];return prev},{})}return{id:id,src:src,thumb:thumb,shape:shape,shapeProps:shapeProps,alt:alt,title:alt,mount:mount,disabled:disabled}};const mapPresets=items=>items.map(item=>{if(isPresetGroup(item)){return{...item[2],id:`${uid}-${item[0].toLowerCase()}`,label:item[0],items:mapPresets(item[1])}}return mapPreset(item)});const select_handler=({detail})=>$$invalidate(9,tabSelected=detail);$$self.$$set=$$props=>{if(\"locale\"in $$props)$$invalidate(14,locale=$$props.locale);if(\"presets\"in $$props)$$invalidate(15,presets=$$props.presets);if(\"scrollElasticity\"in $$props)$$invalidate(0,scrollElasticity=$$props.scrollElasticity);if(\"enableSelectImage\"in $$props)$$invalidate(16,enableSelectImage=$$props.enableSelectImage);if(\"willRenderPresetToolbar\"in $$props)$$invalidate(17,willRenderPresetToolbar=$$props.willRenderPresetToolbar);if(\"onaddpreset\"in $$props)$$invalidate(1,onaddpreset=$$props.onaddpreset);if(\"ongrabpreset\"in $$props)$$invalidate(2,ongrabpreset=$$props.ongrabpreset);if(\"ondragpreset\"in $$props)$$invalidate(3,ondragpreset=$$props.ondragpreset);if(\"ondroppreset\"in $$props)$$invalidate(4,ondroppreset=$$props.ondroppreset)};$$self.$$.update=()=>{if($$self.$$.dirty&32768){$$invalidate(5,presetsMapped=mapPresets(presets))}if($$self.$$.dirty&32){$$invalidate(6,shouldRenderPresets=presetsMapped.length)}if($$self.$$.dirty&96){$$invalidate(7,shouldGroupPresets=shouldRenderPresets&&presetsMapped.some(preset=>!!preset.items))}if($$self.$$.dirty&160){$$invalidate(8,tabs=shouldGroupPresets&&presetsMapped)}if($$self.$$.dirty&160){$$invalidate(10,presetTabs=shouldGroupPresets&&presetsMapped.reduce((prev,curr)=>{prev[curr.id]=curr;return prev},{}))}if($$self.$$.dirty&768){$$invalidate(9,tabSelected=tabSelected||tabs&&(tabs.find(tab=>!tab.disabled)||{}).id)}if($$self.$$.dirty&512){$$invalidate(11,tabsConfig={name:uid,selected:tabSelected})}if($$self.$$.dirty&256){$$invalidate(12,panels=tabs&&tabs.map(tab=>tab.id))}if($$self.$$.dirty&212994){$$invalidate(13,presetToolbar=locale&&willRenderPresetToolbar([enableSelectImage&&[\"Button\",\"browse\",{label:locale.shapeLabelButtonSelectSticker,icon:locale.shapeIconButtonSelectSticker,onclick:()=>{browse().then(file=>{if(!file)return;onaddpreset(file)})}}]]))}};return[scrollElasticity,onaddpreset,ongrabpreset,ondragpreset,ondroppreset,presetsMapped,shouldRenderPresets,shouldGroupPresets,tabs,tabSelected,presetTabs,tabsConfig,panels,presetToolbar,locale,presets,enableSelectImage,willRenderPresetToolbar,select_handler]}class ShapePresetsPalette extends SvelteComponent{constructor(options){super();init(this,options,instance$a,create_fragment$a,safe_not_equal,{locale:14,presets:15,scrollElasticity:0,enableSelectImage:16,willRenderPresetToolbar:17,onaddpreset:1,ongrabpreset:2,ondragpreset:3,ondroppreset:4})}}var createPingDispatcher=node=>(type,data)=>{node.dispatchEvent(createPing(type,data))};function create_if_block_5(ctx){let shapelayouteditor;let updating_markup;let updating_ui;let current;const shapelayouteditor_spread_levels=[{locale:ctx[4]},{uid:ctx[14]},{parentRect:ctx[24]},{rootRect:ctx[32]},{utilRect:ctx[26]},{offset:ctx[34]},{contextScale:ctx[44]},{contextRotation:ctx[17]},{contextFlipX:ctx[18]},{contextFlipY:ctx[19]},{active:ctx[25]},{opacity:ctx[29]},{hoverColor:ctx[45]},{eraseRadius:ctx[35]},{selectRadius:ctx[6]},{enableButtonFlipVertical:ctx[9]},{mapEditorPointToImagePoint:ctx[15]},{mapImagePointToEditorPoint:ctx[16]},{enableTapToAddText:ctx[12]},{textInputMode:ctx[7]},{oninteractionstart:ctx[58]},{oninteractionupdate:ctx[59]},{oninteractionrelease:ctx[60]},{oninteractionend:ctx[61]},{onhovershape:ctx[63]},{onaddshape:ctx[95]},{onselectshape:ctx[96]},{onupdateshape:ctx[97]},{onremoveshape:ctx[98]},ctx[41]];function shapelayouteditor_markup_binding(value){ctx[100](value)}function shapelayouteditor_ui_binding(value){ctx[101](value)}let shapelayouteditor_props={};for(let i=0;ibind(shapelayouteditor,\"markup\",shapelayouteditor_markup_binding));binding_callbacks.push(()=>bind(shapelayouteditor,\"ui\",shapelayouteditor_ui_binding));return{c(){create_component(shapelayouteditor.$$.fragment)},m(target,anchor){mount_component(shapelayouteditor,target,anchor);current=true},p(ctx,dirty){const shapelayouteditor_changes=dirty[0]&655348432|dirty[1]&2013291674|dirty[2]&130?get_spread_update(shapelayouteditor_spread_levels,[dirty[0]&16&&{locale:ctx[4]},dirty[0]&16384&&{uid:ctx[14]},dirty[0]&16777216&&{parentRect:ctx[24]},dirty[1]&2&&{rootRect:ctx[32]},dirty[0]&67108864&&{utilRect:ctx[26]},dirty[1]&8&&{offset:ctx[34]},dirty[1]&8192&&{contextScale:ctx[44]},dirty[0]&131072&&{contextRotation:ctx[17]},dirty[0]&262144&&{contextFlipX:ctx[18]},dirty[0]&524288&&{contextFlipY:ctx[19]},dirty[0]&33554432&&{active:ctx[25]},dirty[0]&536870912&&{opacity:ctx[29]},dirty[1]&16384&&{hoverColor:ctx[45]},dirty[1]&16&&{eraseRadius:ctx[35]},dirty[0]&64&&{selectRadius:ctx[6]},dirty[0]&512&&{enableButtonFlipVertical:ctx[9]},dirty[0]&32768&&{mapEditorPointToImagePoint:ctx[15]},dirty[0]&65536&&{mapImagePointToEditorPoint:ctx[16]},dirty[0]&4096&&{enableTapToAddText:ctx[12]},dirty[0]&128&&{textInputMode:ctx[7]},dirty[1]&134217728&&{oninteractionstart:ctx[58]},dirty[1]&268435456&&{oninteractionupdate:ctx[59]},dirty[1]&536870912&&{oninteractionrelease:ctx[60]},dirty[1]&1073741824&&{oninteractionend:ctx[61]},dirty[2]&2&&{onhovershape:ctx[63]},dirty[1]&128|dirty[2]&128&&{onaddshape:ctx[95]},dirty[1]&128&&{onselectshape:ctx[96]},dirty[1]&128|dirty[2]&128&&{onupdateshape:ctx[97]},dirty[1]&128|dirty[2]&128&&{onremoveshape:ctx[98]},dirty[1]&1024&&get_spread_object(ctx[41])]):{};if(!updating_markup&&dirty[0]&134217728){updating_markup=true;shapelayouteditor_changes.markup=ctx[27];add_flush_callback(()=>updating_markup=false)}if(!updating_ui&&dirty[1]&4096){updating_ui=true;shapelayouteditor_changes.ui=ctx[43];add_flush_callback(()=>updating_ui=false)}shapelayouteditor.$set(shapelayouteditor_changes)},i(local){if(current)return;transition_in(shapelayouteditor.$$.fragment,local);current=true},o(local){transition_out(shapelayouteditor.$$.fragment,local);current=false},d(detaching){ctx[99](null);destroy_component(shapelayouteditor,detaching)}}}function create_main_slot(ctx){let div;let div_style_value;let current;let mounted;let dispose;let if_block=ctx[33]&&create_if_block_5(ctx);return{c(){div=element(\"div\");if(if_block)if_block.c();attr(div,\"slot\",\"main\");attr(div,\"style\",div_style_value=`cursor: ${ctx[36]}`)},m(target,anchor){insert(target,div,anchor);if(if_block)if_block.m(div,null);ctx[102](div);current=true;if(!mounted){dispose=[action_destroyer(dropable.call(null,div)),listen(div,\"dropfiles\",function(){if(is_function(ctx[11]?ctx[68]:noop$1))(ctx[11]?ctx[68]:noop$1).apply(this,arguments)}),action_destroyer(measurable.call(null,div)),listen(div,\"measure\",ctx[93])];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(ctx[33]){if(if_block){if_block.p(ctx,dirty);if(dirty[1]&4){transition_in(if_block,1)}}else{if_block=create_if_block_5(ctx);if_block.c();transition_in(if_block,1);if_block.m(div,null)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}if(!current||dirty[1]&32&&div_style_value!==(div_style_value=`cursor: ${ctx[36]}`)){attr(div,\"style\",div_style_value)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(if_block)if_block.d();ctx[102](null);mounted=false;run_all(dispose)}}}function create_if_block_4(ctx){let shapepresetspalette;let current;shapepresetspalette=new ShapePresetsPalette({props:{locale:ctx[4],presets:ctx[13],enableSelectImage:ctx[10],willRenderPresetToolbar:ctx[40],onaddpreset:ctx[67],ongrabpreset:ctx[64],ondragpreset:ctx[65],ondroppreset:ctx[66],scrollElasticity:ctx[39]}});return{c(){create_component(shapepresetspalette.$$.fragment)},m(target,anchor){mount_component(shapepresetspalette,target,anchor);current=true},p(ctx,dirty){const shapepresetspalette_changes={};if(dirty[0]&16)shapepresetspalette_changes.locale=ctx[4];if(dirty[0]&8192)shapepresetspalette_changes.presets=ctx[13];if(dirty[0]&1024)shapepresetspalette_changes.enableSelectImage=ctx[10];if(dirty[1]&512)shapepresetspalette_changes.willRenderPresetToolbar=ctx[40];if(dirty[1]&256)shapepresetspalette_changes.scrollElasticity=ctx[39];shapepresetspalette.$set(shapepresetspalette_changes)},i(local){if(current)return;transition_in(shapepresetspalette.$$.fragment,local);current=true},o(local){transition_out(shapepresetspalette.$$.fragment,local);current=false},d(detaching){destroy_component(shapepresetspalette,detaching)}}}function create_if_block(ctx){let div;let current_block_type_index;let if_block0;let t;let if_block1_anchor;let current;const if_block_creators=[create_if_block_3,create_else_block];const if_blocks=[];function select_block_type_1(ctx,dirty){if(ctx[37])return 0;return 1}current_block_type_index=select_block_type_1(ctx);if_block0=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);let if_block1=ctx[23]&&create_if_block_1(ctx);return{c(){div=element(\"div\");if_block0.c();t=space();if(if_block1)if_block1.c();if_block1_anchor=empty();attr(div,\"class\",\"PinturaControlPanels\")},m(target,anchor){insert(target,div,anchor);if_blocks[current_block_type_index].m(div,null);insert(target,t,anchor);if(if_block1)if_block1.m(target,anchor);insert(target,if_block1_anchor,anchor);current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type_1(ctx);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block0=if_blocks[current_block_type_index];if(!if_block0){if_block0=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block0.c()}else{if_block0.p(ctx,dirty)}transition_in(if_block0,1);if_block0.m(div,null)}if(ctx[23]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&8388608){transition_in(if_block1,1)}}else{if_block1=create_if_block_1(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(if_block1_anchor.parentNode,if_block1_anchor)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}},i(local){if(current)return;transition_in(if_block0);transition_in(if_block1);current=true},o(local){transition_out(if_block0);transition_out(if_block1);current=false},d(detaching){if(detaching)detach(div);if_blocks[current_block_type_index].d();if(detaching)detach(t);if(if_block1)if_block1.d(detaching);if(detaching)detach(if_block1_anchor)}}}function create_else_block(ctx){let div;let shapestyleeditor;let current;shapestyleeditor=new ShapeStyleEditor({props:{locale:ctx[4],shape:ctx[28],onchange:ctx[62],controls:ctx[8],scrollElasticity:ctx[39]}});return{c(){div=element(\"div\");create_component(shapestyleeditor.$$.fragment);attr(div,\"class\",\"PinturaControlPanel\")},m(target,anchor){insert(target,div,anchor);mount_component(shapestyleeditor,div,null);current=true},p(ctx,dirty){const shapestyleeditor_changes={};if(dirty[0]&16)shapestyleeditor_changes.locale=ctx[4];if(dirty[0]&268435456)shapestyleeditor_changes.shape=ctx[28];if(dirty[0]&256)shapestyleeditor_changes.controls=ctx[8];if(dirty[1]&256)shapestyleeditor_changes.scrollElasticity=ctx[39];shapestyleeditor.$set(shapestyleeditor_changes)},i(local){if(current)return;transition_in(shapestyleeditor.$$.fragment,local);current=true},o(local){transition_out(shapestyleeditor.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(shapestyleeditor)}}}function create_if_block_3(ctx){let div;let shapepresetspalette;let current;shapepresetspalette=new ShapePresetsPalette({props:{locale:ctx[4],presets:ctx[13],enableSelectImage:ctx[10],willRenderPresetToolbar:ctx[40],onaddpreset:ctx[67],ongrabpreset:ctx[64],ondragpreset:ctx[65],ondroppreset:ctx[66],scrollElasticity:ctx[39]}});return{c(){div=element(\"div\");create_component(shapepresetspalette.$$.fragment);attr(div,\"class\",\"PinturaControlPanel\")},m(target,anchor){insert(target,div,anchor);mount_component(shapepresetspalette,div,null);current=true},p(ctx,dirty){const shapepresetspalette_changes={};if(dirty[0]&16)shapepresetspalette_changes.locale=ctx[4];if(dirty[0]&8192)shapepresetspalette_changes.presets=ctx[13];if(dirty[0]&1024)shapepresetspalette_changes.enableSelectImage=ctx[10];if(dirty[1]&512)shapepresetspalette_changes.willRenderPresetToolbar=ctx[40];if(dirty[1]&256)shapepresetspalette_changes.scrollElasticity=ctx[39];shapepresetspalette.$set(shapepresetspalette_changes)},i(local){if(current)return;transition_in(shapepresetspalette.$$.fragment,local);current=true},o(local){transition_out(shapepresetspalette.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(shapepresetspalette)}}}function create_if_block_1(ctx){let scrollable;let current;scrollable=new Scrollable({props:{class:\"PinturaControlListScroller\",elasticity:ctx[39],$$slots:{default:[create_default_slot$3]},$$scope:{ctx:ctx}}});return{c(){create_component(scrollable.$$.fragment)},m(target,anchor){mount_component(scrollable,target,anchor);current=true},p(ctx,dirty){const scrollable_changes={};if(dirty[1]&256)scrollable_changes.elasticity=ctx[39];if(dirty[0]&4194321|dirty[3]&536870912){scrollable_changes.$$scope={dirty:dirty,ctx:ctx}}scrollable.$set(scrollable_changes)},i(local){if(current)return;transition_in(scrollable.$$.fragment,local);current=true},o(local){transition_out(scrollable.$$.fragment,local);current=false},d(detaching){destroy_component(scrollable,detaching)}}}function create_if_block_2(ctx){let icon;let current;icon=new Icon({props:{$$slots:{default:[create_default_slot_1]},$$scope:{ctx:ctx}}});return{c(){create_component(icon.$$.fragment)},m(target,anchor){mount_component(icon,target,anchor);current=true},p(ctx,dirty){const icon_changes={};if(dirty[0]&16|dirty[3]&805306368){icon_changes.$$scope={dirty:dirty,ctx:ctx}}icon.$set(icon_changes)},i(local){if(current)return;transition_in(icon.$$.fragment,local);current=true},o(local){transition_out(icon.$$.fragment,local);current=false},d(detaching){destroy_component(icon,detaching)}}}function create_default_slot_1(ctx){let g;let raw_value=(isFunction(ctx[121].icon)?ctx[121].icon(ctx[4]):ctx[121].icon)+\"\";return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=raw_value},p(ctx,dirty){if(dirty[0]&16|dirty[3]&268435456&&raw_value!==(raw_value=(isFunction(ctx[121].icon)?ctx[121].icon(ctx[4]):ctx[121].icon)+\"\"))g.innerHTML=raw_value},d(detaching){if(detaching)detach(g)}}}function create_option_slot$1(ctx){let div;let t0;let span;let t1_value=(isFunction(ctx[121].label)?ctx[121].label(ctx[4]):ctx[121].label)+\"\";let t1;let current;let if_block=ctx[121].icon&&create_if_block_2(ctx);return{c(){div=element(\"div\");if(if_block)if_block.c();t0=space();span=element(\"span\");t1=text(t1_value);attr(div,\"slot\",\"option\")},m(target,anchor){insert(target,div,anchor);if(if_block)if_block.m(div,null);append(div,t0);append(div,span);append(span,t1);current=true},p(ctx,dirty){if(ctx[121].icon){if(if_block){if_block.p(ctx,dirty);if(dirty[3]&268435456){transition_in(if_block,1)}}else{if_block=create_if_block_2(ctx);if_block.c();transition_in(if_block,1);if_block.m(div,t0)}}else if(if_block){group_outros();transition_out(if_block,1,1,()=>{if_block=null});check_outros()}if((!current||dirty[0]&16|dirty[3]&268435456)&&t1_value!==(t1_value=(isFunction(ctx[121].label)?ctx[121].label(ctx[4]):ctx[121].label)+\"\"))set_data(t1,t1_value)},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(if_block)if_block.d()}}}function create_default_slot$3(ctx){let radiogroup;let current;radiogroup=new RadioGroup({props:{locale:ctx[4],class:\"PinturaControlList\",optionClass:\"PinturaControlListOption\",layout:\"row\",options:ctx[22],selectedIndex:ctx[22].findIndex(ctx[94]),onchange:ctx[57],$$slots:{option:[create_option_slot$1,({option})=>({121:option}),({option})=>[0,0,0,option?268435456:0]]},$$scope:{ctx:ctx}}});return{c(){create_component(radiogroup.$$.fragment)},m(target,anchor){mount_component(radiogroup,target,anchor);current=true},p(ctx,dirty){const radiogroup_changes={};if(dirty[0]&16)radiogroup_changes.locale=ctx[4];if(dirty[0]&4194304)radiogroup_changes.options=ctx[22];if(dirty[0]&4194305)radiogroup_changes.selectedIndex=ctx[22].findIndex(ctx[94]);if(dirty[0]&16|dirty[3]&805306368){radiogroup_changes.$$scope={dirty:dirty,ctx:ctx}}radiogroup.$set(radiogroup_changes)},i(local){if(current)return;transition_in(radiogroup.$$.fragment,local);current=true},o(local){transition_out(radiogroup.$$.fragment,local);current=false},d(detaching){destroy_component(radiogroup,detaching)}}}function create_footer_slot$2(ctx){let div;let current_block_type_index;let if_block;let current;const if_block_creators=[create_if_block,create_if_block_4];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[31])return 0;if(ctx[37])return 1;return-1}if(~(current_block_type_index=select_block_type(ctx))){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx)}return{c(){div=element(\"div\");if(if_block)if_block.c();attr(div,\"slot\",\"footer\");attr(div,\"style\",ctx[42])},m(target,anchor){insert(target,div,anchor);if(~current_block_type_index){if_blocks[current_block_type_index].m(div,null)}current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(div,null)}else{if_block=null}}if(!current||dirty[1]&2048){attr(div,\"style\",ctx[42])}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if(detaching)detach(div);if(~current_block_type_index){if_blocks[current_block_type_index].d()}}}}function create_fragment$9(ctx){let util;let current;util=new Util({props:{$$slots:{footer:[create_footer_slot$2],main:[create_main_slot]},$$scope:{ctx:ctx}}});util.$on(\"measure\",ctx[103]);return{c(){create_component(util.$$.fragment)},m(target,anchor){mount_component(util,target,anchor);current=true},p(ctx,dirty){const util_changes={};if(dirty[0]&2146435025|dirty[1]&32767|dirty[3]&536870912){util_changes.$$scope={dirty:dirty,ctx:ctx}}util.$set(util_changes)},i(local){if(current)return;transition_in(util.$$.fragment,local);current=true},o(local){transition_out(util.$$.fragment,local);current=false},d(detaching){destroy_component(util,detaching)}}}function instance$9($$self,$$props,$$invalidate){let toolsFiltered;let hasShapeControls;let showToolbar;let hasTools;let hasActiveTool;let shouldRenderControls;let shouldRenderShapeEditor;let markupOffset;let markupShapeKeys;let markupSelected;let markupToolShape;let markupToolStylesComputed;let markupShapeSelected;let toolEraseRadius;let cursor;let shouldRenderPresets;let shouldStickToImage;let ping;let computedScrollElasticity;let runWillRenderPresetToolbarHook;let layoutEditorHooks;let footerStyle;let $parentRect,$$unsubscribe_parentRect=noop,$$subscribe_parentRect=()=>($$unsubscribe_parentRect(),$$unsubscribe_parentRect=subscribe(parentRect,$$value=>$$invalidate(24,$parentRect=$$value)),parentRect);let $rootRect;let $isActive,$$unsubscribe_isActive=noop,$$subscribe_isActive=()=>($$unsubscribe_isActive(),$$unsubscribe_isActive=subscribe(isActive,$$value=>$$invalidate(25,$isActive=$$value)),isActive);let $imagePreviewModifiers;let $isVisible,$$unsubscribe_isVisible=noop,$$subscribe_isVisible=()=>($$unsubscribe_isVisible(),$$unsubscribe_isVisible=subscribe(isVisible,$$value=>$$invalidate(84,$isVisible=$$value)),isVisible);let $utilRect;let $stageRect;let $shapes,$$unsubscribe_shapes=noop,$$subscribe_shapes=()=>($$unsubscribe_shapes(),$$unsubscribe_shapes=subscribe(shapes,$$value=>$$invalidate(27,$shapes=$$value)),shapes);let $shapePreprocessor;let $isActiveFraction,$$unsubscribe_isActiveFraction=noop,$$subscribe_isActiveFraction=()=>($$unsubscribe_isActiveFraction(),$$unsubscribe_isActiveFraction=subscribe(isActiveFraction,$$value=>$$invalidate(29,$isActiveFraction=$$value)),isActiveFraction);let $imageCropRect;let $env;let $animation;let $footerOffset;let $imageOverlayMarkup;let $presentationScalar;let $rootColorSecondary;$$self.$$.on_destroy.push(()=>$$unsubscribe_parentRect());$$self.$$.on_destroy.push(()=>$$unsubscribe_isActive());$$self.$$.on_destroy.push(()=>$$unsubscribe_isVisible());$$self.$$.on_destroy.push(()=>$$unsubscribe_shapes());$$self.$$.on_destroy.push(()=>$$unsubscribe_isActiveFraction());let{isActive}=$$props;$$subscribe_isActive();let{isActiveFraction}=$$props;$$subscribe_isActiveFraction();let{isVisible}=$$props;$$subscribe_isVisible();let{stores}=$$props;let{locale={}}=$$props;let{shapes}=$$props;$$subscribe_shapes();let{tools=[]}=$$props;let{toolShapes=[]}=$$props;let{toolActive=undefined}=$$props;let{toolSelectRadius=undefined}=$$props;let{textInputMode=undefined}=$$props;let{shapeControls={}}=$$props;let{enableButtonFlipVertical=false}=$$props;let{enablePresetSelectImage=true}=$$props;let{enablePresetDropImage=true}=$$props;let{enableSelectToolToAddShape=false}=$$props;let{enableTapToAddText=false}=$$props;let{willRenderPresetToolbar=undefined}=$$props;let{shapePresets=[]}=$$props;let{utilKey}=$$props;let{mapScreenPointToImagePoint}=$$props;let{mapImagePointToScreenPoint}=$$props;let{imageRotation=0}=$$props;let{imageFlipX=false}=$$props;let{imageFlipY=false}=$$props;let{parentRect}=$$props;$$subscribe_parentRect();let{hooks={}}=$$props;const{env,animation,history,rootRect,rootColorSecondary,stageRect,utilRect,elasticityMultiplier,scrollElasticity,imageOverlayMarkup,imagePreviewModifiers,imageCropRect,imageSize,presentationScalar,shapePreprocessor}=stores;component_subscribe($$self,env,value=>$$invalidate(90,$env=value));component_subscribe($$self,animation,value=>$$invalidate(91,$animation=value));component_subscribe($$self,rootRect,value=>$$invalidate(32,$rootRect=value));component_subscribe($$self,rootColorSecondary,value=>$$invalidate(45,$rootColorSecondary=value));component_subscribe($$self,stageRect,value=>$$invalidate(85,$stageRect=value));component_subscribe($$self,utilRect,value=>$$invalidate(26,$utilRect=value));component_subscribe($$self,imageOverlayMarkup,value=>$$invalidate(43,$imageOverlayMarkup=value));component_subscribe($$self,imagePreviewModifiers,value=>$$invalidate(82,$imagePreviewModifiers=value));component_subscribe($$self,imageCropRect,value=>$$invalidate(108,$imageCropRect=value));component_subscribe($$self,presentationScalar,value=>$$invalidate(44,$presentationScalar=value));component_subscribe($$self,shapePreprocessor,value=>$$invalidate(89,$shapePreprocessor=value));const updateActiveTool=({value},event)=>{$$invalidate(0,toolActive=value);if(enableSelectToolToAddShape||isConfirmKey(event.key)){AddToolDefaultShape(value)}};const AddToolDefaultShape=tool=>{const[shape,options]=toolShapes[tool];let isRelative=options.position===\"relative\";let shapeToAdd;let size;const x=isRelative?\"0%\":0;const y=isRelative?\"0%\":0;if(shapeIsRect(shape)||shapeIsText(shape)){size=isRelative?\"20%\":$parentRect.width*.2;shapeToAdd=shapeDeepCopy(shape);shapeToAdd.x=x;shapeToAdd.y=y;shapeUpdateProps(shapeToAdd,{width:size,height:size},$parentRect)}else if(shapeIsEllipse(shape)){size=isRelative?\"10%\":$parentRect.width*.1;shapeToAdd=shapeDeepCopy(shape);shapeToAdd.x=x;shapeToAdd.y=y;shapeUpdateProps(shapeToAdd,{rx:size,ry:size},$parentRect)}else if(shapeIsLine(shape)){size=isRelative?\"10%\":$parentRect.width*.1;shapeToAdd=shapeDeepCopy(shape);shapeToAdd.x1=x;shapeToAdd.y1=y;shapeToAdd.x2=x;shapeToAdd.y2=y}if(!shapeToAdd)return;Promise.resolve().then(()=>{addShape(createShapeAtPosition(shapeToAdd,undefined,size))})};const mapScreenEventToImagePoint=e=>mapScreenPointToImagePoint(getEventPositionInEditor(e,$rootRect));let markupEditor;let markupToolStyles={};let interactionHandler;const handleInteractionStart=e=>{if(toolActive===\"eraser\"){interactionHandler=markupEditor.eraseShape()}else if(toolActive&&toolShapes[toolActive]){const[shape,options]=toolShapes[toolActive];interactionHandler=markupEditor.createShape({...shape,...markupToolStylesComputed},options)}else{interactionHandler=undefined}if(!interactionHandler)return false;interactionHandler.start(e);return true};const handleInteractionUpdate=e=>{if(!interactionHandler)return false;interactionHandler.update(e);return true};const handleInteractionRelease=e=>{if(!interactionHandler)return false;interactionHandler.release(e);return true};const handleInteractionEnd=e=>{if(!interactionHandler)return false;interactionHandler.end(e);interactionHandler=undefined;return true};const blurOnToolSwitch=()=>{if(!markupEditor)return;markupEditor.blurShapes()};let updateWriteHistoryTimeoutId;function handleUpdateSelectedMarkupShape(props){Object.keys(props).forEach(key=>$$invalidate(77,markupToolStyles[key]=props[key],markupToolStyles));if(!markupSelected)return;markupEditor.updateMarkupShape(markupSelected,props);clearTimeout(updateWriteHistoryTimeoutId);updateWriteHistoryTimeoutId=setTimeout(()=>{handleMarkupUpdate()},200)}let hoverShape;const handleHoverShape=shape=>$$invalidate(78,hoverShape=shape);const getCusor=(shapeUnderPointer,shapeSelected)=>{if(!shapeUnderPointer)return\"crosshair\";let shape=shapeUnderPointer||shapeSelected;if(!shapeIsSelected(shape))return\"crosshair\";if(shapeIsEditing(shape)){if(textInputMode===\"modal\")return\"default\";return\"text\"}if(shapeCanMove(shape))return\"move\";return\"default\"};const createShapeAtPosition=(shape,position,size)=>{let positionIsCenter=false;if(!position){positionIsCenter=true;position=shouldStickToImage?mapScreenPointToImagePoint(rectCenter($stageRect)):rectCenter($imageCropRect)}position.x-=$parentRect.x||0;position.y-=$parentRect.y||0;if(imageFlipX||imageFlipY){shape.flipX=imageFlipX;shape.flipY=imageFlipY}const shapesAlreadyAtPosition=markupEditor.getShapesNearPosition(position);if(positionIsCenter&&shapesAlreadyAtPosition.length){const dist=Math.min($imageCropRect.width,$imageCropRect.height)*.1;position.x+=Math.round(-dist+Math.random()*dist*2);position.y+=Math.round(-dist+Math.random()*dist*2)}if(imageRotation!==0){if(imageFlipX&&imageFlipY)shape.rotation=-imageRotation;else if(imageFlipX)shape.rotation=imageRotation;else if(imageFlipY)shape.rotation=imageRotation;else shape.rotation=-imageRotation}if(hasProp(shape,\"width\")&&hasProp(shape,\"height\")){const{width,height}=shapeGetPropsPixelValues(shape,[\"width\",\"height\"],$parentRect);shapeUpdateProps(shape,{x:position.x-width*.5,y:position.y-height*.5},$parentRect)}else if(shapeIsEllipse(shape)){shapeUpdateProps(shape,{x:position.x,y:position.y},$parentRect)}else if(shapeIsLine(shape)){const{x1,y1,x2,y2}=shapeGetPropsPixelValues(shape,[\"x1\",\"y1\",\"x2\",\"y2\"],$parentRect);const dist=vectorDistance(vectorCreate(x1,y1),vectorCreate(x2,y2));const l=dist||isString(size)?toPixelValue(size,$parentRect.width):size;shapeUpdateProps(shape,{x1:position.x-l,y1:position.y+l,x2:position.x+l,y2:position.y-l},$parentRect)}return shape};const addPreset=(preset,position)=>{const shape=createShapeAtPosition(shapeCreateFromPreset(preset,$imageCropRect),position);return addShape(shape)};const addShape=shape=>{const{beforeAddShape=()=>true}=hooks;if(!beforeAddShape(shape))return;markupEditor.addShape(shape);markupEditor.selectShape(shape);history.write();return shape};let dragCancelled=false;const handleGrabPreset=()=>{dragCancelled=false};const handleDragPreset=(preset,e)=>{if(dragCancelled)return;const{beforeAddShape=()=>true}=hooks;const position=mapScreenEventToImagePoint(e);const draft=markupEditor.getMarkupItemDraft();const inCropRect=rectContainsPoint($imageCropRect,{x:position.x+($parentRect.x||0),y:position.y+($parentRect.y||0)});if(draft&&!inCropRect)markupEditor.discardMarkupItemDraft();if(!inCropRect)return;if(!draft){const shape=createShapeAtPosition(shapeCreateFromPreset(preset,$imageCropRect),position);if(!beforeAddShape(shape)){dragCancelled=true;e.preventDefault();return}shapeMakeDraft(shape);markupEditor.addShape(shape);return}if(shapeIsRect(draft)){position.x-=draft.width*.5;position.y-=draft.height*.5}markupEditor.updateMarkupShape(draft,position)};const handleDropPreset=(_,e)=>{if(dragCancelled)return;const position=mapScreenEventToImagePoint(e);if(!rectContainsPoint($imageCropRect,{x:position.x+($parentRect.x||0),y:position.y+($parentRect.y||0)})){markupEditor.discardMarkupItemDraft();return}const shape=markupEditor.confirmMarkupItemDraft();markupEditor.selectShape(shape);history.write()};const handleAddPreset=preset=>addPreset(preset);const handleAddFiles=(files,position)=>files.forEach(file=>addPreset(file,position));const handleDropFiles=e=>handleAddFiles(e.detail.resources,mapScreenEventToImagePoint(e.detail.event));const handleMarkupUpdate=()=>history.write();let pingHub;const footerOffset=spring($animation?20:0);component_subscribe($$self,footerOffset,value=>$$invalidate(92,$footerOffset=value));function measure_handler_1(event){bubble($$self,event)}const func=option=>option[0]===toolActive;const func_1=shape=>{ping(\"addshape\",shape);handleMarkupUpdate()};const func_2=shape=>{ping(\"selectshape\",shape)};const func_3=shape=>{ping(\"updateshape\",shape);handleMarkupUpdate()};const func_4=shape=>{ping(\"removeshape\",shape);handleMarkupUpdate()};function shapelayouteditor_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{markupEditor=$$value;$$invalidate(30,markupEditor)})}function shapelayouteditor_markup_binding(value){$shapes=value;shapes.set($shapes)}function shapelayouteditor_ui_binding(value){$imageOverlayMarkup=value;imageOverlayMarkup.set($imageOverlayMarkup)}function div_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{pingHub=$$value;$$invalidate(21,pingHub)})}function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$subscribe_isActive($$invalidate(1,isActive=$$props.isActive));if(\"isActiveFraction\"in $$props)$$subscribe_isActiveFraction($$invalidate(2,isActiveFraction=$$props.isActiveFraction));if(\"isVisible\"in $$props)$$subscribe_isVisible($$invalidate(3,isVisible=$$props.isVisible));if(\"stores\"in $$props)$$invalidate(71,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(4,locale=$$props.locale);if(\"shapes\"in $$props)$$subscribe_shapes($$invalidate(5,shapes=$$props.shapes));if(\"tools\"in $$props)$$invalidate(72,tools=$$props.tools);if(\"toolShapes\"in $$props)$$invalidate(73,toolShapes=$$props.toolShapes);if(\"toolActive\"in $$props)$$invalidate(0,toolActive=$$props.toolActive);if(\"toolSelectRadius\"in $$props)$$invalidate(6,toolSelectRadius=$$props.toolSelectRadius);if(\"textInputMode\"in $$props)$$invalidate(7,textInputMode=$$props.textInputMode);if(\"shapeControls\"in $$props)$$invalidate(8,shapeControls=$$props.shapeControls);if(\"enableButtonFlipVertical\"in $$props)$$invalidate(9,enableButtonFlipVertical=$$props.enableButtonFlipVertical);if(\"enablePresetSelectImage\"in $$props)$$invalidate(10,enablePresetSelectImage=$$props.enablePresetSelectImage);if(\"enablePresetDropImage\"in $$props)$$invalidate(11,enablePresetDropImage=$$props.enablePresetDropImage);if(\"enableSelectToolToAddShape\"in $$props)$$invalidate(74,enableSelectToolToAddShape=$$props.enableSelectToolToAddShape);if(\"enableTapToAddText\"in $$props)$$invalidate(12,enableTapToAddText=$$props.enableTapToAddText);if(\"willRenderPresetToolbar\"in $$props)$$invalidate(75,willRenderPresetToolbar=$$props.willRenderPresetToolbar);if(\"shapePresets\"in $$props)$$invalidate(13,shapePresets=$$props.shapePresets);if(\"utilKey\"in $$props)$$invalidate(14,utilKey=$$props.utilKey);if(\"mapScreenPointToImagePoint\"in $$props)$$invalidate(15,mapScreenPointToImagePoint=$$props.mapScreenPointToImagePoint);if(\"mapImagePointToScreenPoint\"in $$props)$$invalidate(16,mapImagePointToScreenPoint=$$props.mapImagePointToScreenPoint);if(\"imageRotation\"in $$props)$$invalidate(17,imageRotation=$$props.imageRotation);if(\"imageFlipX\"in $$props)$$invalidate(18,imageFlipX=$$props.imageFlipX);if(\"imageFlipY\"in $$props)$$invalidate(19,imageFlipY=$$props.imageFlipY);if(\"parentRect\"in $$props)$$subscribe_parentRect($$invalidate(20,parentRect=$$props.parentRect));if(\"hooks\"in $$props)$$invalidate(76,hooks=$$props.hooks)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&8192|$$self.$$.dirty[2]&1024){$$invalidate(22,toolsFiltered=shapePresets.length===0?tools.filter(tool=>tool[0]!==\"preset\"):tools)}if($$self.$$.dirty[0]&256){$$invalidate(79,hasShapeControls=Object.keys(shapeControls).length)}if($$self.$$.dirty[0]&4194304){$$invalidate(23,showToolbar=toolsFiltered.length>1)}if($$self.$$.dirty[0]&4194304){$$invalidate(80,hasTools=!!toolsFiltered.length)}if($$self.$$.dirty[0]&12582913){if(showToolbar&&toolActive===undefined)$$invalidate(0,toolActive=toolsFiltered[0][0])}if($$self.$$.dirty[0]&1){$$invalidate(81,hasActiveTool=toolActive!==undefined)}if($$self.$$.dirty[2]&917504){$$invalidate(31,shouldRenderControls=(!hasActiveTool||hasTools)&&hasShapeControls)}if($$self.$$.dirty[0]&33570816|$$self.$$.dirty[2]&1048576){if($isActive){set_store_value(imagePreviewModifiers,$imagePreviewModifiers[utilKey]={maskMarkupOpacity:.85},$imagePreviewModifiers)}else{delete $imagePreviewModifiers[utilKey]}}if($$self.$$.dirty[0]&1){if(toolActive)blurOnToolSwitch()}if($$self.$$.dirty[2]&4194304){$$invalidate(33,shouldRenderShapeEditor=$isVisible)}if($$self.$$.dirty[0]&67108864|$$self.$$.dirty[2]&8388608){$$invalidate(34,markupOffset=$utilRect&&vectorCreate($stageRect.x-$utilRect.x,$stageRect.y-$utilRect.y))}if($$self.$$.dirty[0]&256){$$invalidate(86,markupShapeKeys=Object.keys(shapeControls))}if($$self.$$.dirty[0]&134217728){$$invalidate(87,markupSelected=$shapes.filter(shapeIsSelected)[0])}if($$self.$$.dirty[0]&33554433|$$self.$$.dirty[2]&2048){$$invalidate(88,markupToolShape=$isActive&&(toolShapes[toolActive]?shapeFormat(shapeDeepCopy(toolShapes[toolActive][0])):{}))}if($$self.$$.dirty[2]&83918848){$$invalidate(83,markupToolStylesComputed=markupToolShape&&Object.keys(markupToolShape).reduce((prev,key)=>{const isDisableStyleProp=key===\"disableStyle\";const isStylableProp=markupShapeKeys.find(shapeKey=>shapeKey.split(\"_\").includes(key));if(!isDisableStyleProp&&!isStylableProp)return prev;if(markupToolShape[key]===undefined)return prev;prev[key]=hasProp(markupToolStyles,key)?markupToolStyles[key]:markupToolShape[key];return prev},{}))}if($$self.$$.dirty[2]&35651584){$$invalidate(28,markupShapeSelected=markupSelected||markupToolStylesComputed)}if($$self.$$.dirty[0]&268435456|$$self.$$.dirty[2]&134217728){if(markupShapeSelected&&markupShapeSelected.lineEnd&&!$shapePreprocessor){console.warn(`Set shapePreprocessor property to draw lineStart and lineEnd styles.\\nhttps://pqina.nl/pintura/docs/v8/api/exports/#createshapepreprocessor`)}}if($$self.$$.dirty[2]&69206016){$$invalidate(35,toolEraseRadius=markupToolShape&&isNumber(markupToolShape.eraseRadius)?(markupToolStylesComputed||markupToolShape).eraseRadius:undefined)}if($$self.$$.dirty[2]&33619968){$$invalidate(36,cursor=getCusor(hoverShape,markupSelected))}if($$self.$$.dirty[0]&536880129){$$invalidate(37,shouldRenderPresets=$isActiveFraction>0&&toolActive===\"preset\"&&(shapePresets.length>0||enablePresetSelectImage))}if($$self.$$.dirty[0]&16777216){shouldStickToImage=!hasProp($parentRect,\"x\")&&!hasProp($parentRect,\"y\")}if($$self.$$.dirty[0]&2097152){$$invalidate(38,ping=pingHub&&createPingDispatcher(pingHub))}if($$self.$$.dirty[2]&268443648){$$invalidate(40,runWillRenderPresetToolbarHook=willRenderPresetToolbar?toolbar=>willRenderPresetToolbar(toolbar,addPreset,{...$env}):passthrough)}if($$self.$$.dirty[2]&16384){$$invalidate(41,layoutEditorHooks=Object.keys(hooks).reduce((prev,curr)=>{if(curr===\"beforeAddShape\")return prev;prev[curr]=hooks[curr];return prev},{}))}if($$self.$$.dirty[0]&33554432|$$self.$$.dirty[2]&536870912){$animation&&footerOffset.set($isActive?0:20)}if($$self.$$.dirty[2]&1073741824){$$invalidate(42,footerStyle=$footerOffset?`transform: translateY(${$footerOffset}px)`:undefined)}};$$invalidate(39,computedScrollElasticity=elasticityMultiplier*scrollElasticity);return[toolActive,isActive,isActiveFraction,isVisible,locale,shapes,toolSelectRadius,textInputMode,shapeControls,enableButtonFlipVertical,enablePresetSelectImage,enablePresetDropImage,enableTapToAddText,shapePresets,utilKey,mapScreenPointToImagePoint,mapImagePointToScreenPoint,imageRotation,imageFlipX,imageFlipY,parentRect,pingHub,toolsFiltered,showToolbar,$parentRect,$isActive,$utilRect,$shapes,markupShapeSelected,$isActiveFraction,markupEditor,shouldRenderControls,$rootRect,shouldRenderShapeEditor,markupOffset,toolEraseRadius,cursor,shouldRenderPresets,ping,computedScrollElasticity,runWillRenderPresetToolbarHook,layoutEditorHooks,footerStyle,$imageOverlayMarkup,$presentationScalar,$rootColorSecondary,env,animation,rootRect,rootColorSecondary,stageRect,utilRect,imageOverlayMarkup,imagePreviewModifiers,imageCropRect,presentationScalar,shapePreprocessor,updateActiveTool,handleInteractionStart,handleInteractionUpdate,handleInteractionRelease,handleInteractionEnd,handleUpdateSelectedMarkupShape,handleHoverShape,handleGrabPreset,handleDragPreset,handleDropPreset,handleAddPreset,handleDropFiles,handleMarkupUpdate,footerOffset,stores,tools,toolShapes,enableSelectToolToAddShape,willRenderPresetToolbar,hooks,markupToolStyles,hoverShape,hasShapeControls,hasTools,hasActiveTool,$imagePreviewModifiers,markupToolStylesComputed,$isVisible,$stageRect,markupShapeKeys,markupSelected,markupToolShape,$shapePreprocessor,$env,$animation,$footerOffset,measure_handler_1,func,func_1,func_2,func_3,func_4,shapelayouteditor_binding,shapelayouteditor_markup_binding,shapelayouteditor_ui_binding,div_binding,measure_handler]}class ShapeUtil extends SvelteComponent{constructor(options){super();init(this,options,instance$9,create_fragment$9,safe_not_equal,{isActive:1,isActiveFraction:2,isVisible:3,stores:71,locale:4,shapes:5,tools:72,toolShapes:73,toolActive:0,toolSelectRadius:6,textInputMode:7,shapeControls:8,enableButtonFlipVertical:9,enablePresetSelectImage:10,enablePresetDropImage:11,enableSelectToolToAddShape:74,enableTapToAddText:12,willRenderPresetToolbar:75,shapePresets:13,utilKey:14,mapScreenPointToImagePoint:15,mapImagePointToScreenPoint:16,imageRotation:17,imageFlipX:18,imageFlipY:19,parentRect:20,hooks:76},[-1,-1,-1,-1])}get isActive(){return this.$$.ctx[1]}set isActive(isActive){this.$set({isActive:isActive});flush()}get isActiveFraction(){return this.$$.ctx[2]}set isActiveFraction(isActiveFraction){this.$set({isActiveFraction:isActiveFraction});flush()}get isVisible(){return this.$$.ctx[3]}set isVisible(isVisible){this.$set({isVisible:isVisible});flush()}get stores(){return this.$$.ctx[71]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[4]}set locale(locale){this.$set({locale:locale});flush()}get shapes(){return this.$$.ctx[5]}set shapes(shapes){this.$set({shapes:shapes});flush()}get tools(){return this.$$.ctx[72]}set tools(tools){this.$set({tools:tools});flush()}get toolShapes(){return this.$$.ctx[73]}set toolShapes(toolShapes){this.$set({toolShapes:toolShapes});flush()}get toolActive(){return this.$$.ctx[0]}set toolActive(toolActive){this.$set({toolActive:toolActive});flush()}get toolSelectRadius(){return this.$$.ctx[6]}set toolSelectRadius(toolSelectRadius){this.$set({toolSelectRadius:toolSelectRadius});flush()}get textInputMode(){return this.$$.ctx[7]}set textInputMode(textInputMode){this.$set({textInputMode:textInputMode});flush()}get shapeControls(){return this.$$.ctx[8]}set shapeControls(shapeControls){this.$set({shapeControls:shapeControls});flush()}get enableButtonFlipVertical(){return this.$$.ctx[9]}set enableButtonFlipVertical(enableButtonFlipVertical){this.$set({enableButtonFlipVertical:enableButtonFlipVertical});flush()}get enablePresetSelectImage(){return this.$$.ctx[10]}set enablePresetSelectImage(enablePresetSelectImage){this.$set({enablePresetSelectImage:enablePresetSelectImage});flush()}get enablePresetDropImage(){return this.$$.ctx[11]}set enablePresetDropImage(enablePresetDropImage){this.$set({enablePresetDropImage:enablePresetDropImage});flush()}get enableSelectToolToAddShape(){return this.$$.ctx[74]}set enableSelectToolToAddShape(enableSelectToolToAddShape){this.$set({enableSelectToolToAddShape:enableSelectToolToAddShape});flush()}get enableTapToAddText(){return this.$$.ctx[12]}set enableTapToAddText(enableTapToAddText){this.$set({enableTapToAddText:enableTapToAddText});flush()}get willRenderPresetToolbar(){return this.$$.ctx[75]}set willRenderPresetToolbar(willRenderPresetToolbar){this.$set({willRenderPresetToolbar:willRenderPresetToolbar});flush()}get shapePresets(){return this.$$.ctx[13]}set shapePresets(shapePresets){this.$set({shapePresets:shapePresets});flush()}get utilKey(){return this.$$.ctx[14]}set utilKey(utilKey){this.$set({utilKey:utilKey});flush()}get mapScreenPointToImagePoint(){return this.$$.ctx[15]}set mapScreenPointToImagePoint(mapScreenPointToImagePoint){this.$set({mapScreenPointToImagePoint:mapScreenPointToImagePoint});flush()}get mapImagePointToScreenPoint(){return this.$$.ctx[16]}set mapImagePointToScreenPoint(mapImagePointToScreenPoint){this.$set({mapImagePointToScreenPoint:mapImagePointToScreenPoint});flush()}get imageRotation(){return this.$$.ctx[17]}set imageRotation(imageRotation){this.$set({imageRotation:imageRotation});flush()}get imageFlipX(){return this.$$.ctx[18]}set imageFlipX(imageFlipX){this.$set({imageFlipX:imageFlipX});flush()}get imageFlipY(){return this.$$.ctx[19]}set imageFlipY(imageFlipY){this.$set({imageFlipY:imageFlipY});flush()}get parentRect(){return this.$$.ctx[20]}set parentRect(parentRect){this.$set({parentRect:parentRect});flush()}get hooks(){return this.$$.ctx[76]}set hooks(hooks){this.$set({hooks:hooks});flush()}}var _mapImagePointToScreenPoint=(imagePoint,canvasSize,imageSize,imageOrigin,imageTranslation,imageRotation,imageScalar,imageFlipX,imageFlipY)=>{const mappedPoint=vectorClone(imagePoint);const imageCenterX=imageSize.width*.5;const imageCenterY=imageSize.height*.5;const canvasCenterX=canvasSize.width*.5;const canvasCenterY=canvasSize.height*.5;const imageOffsetX=imageTranslation.x+imageOrigin.x;const imageOffsetY=imageTranslation.y+imageOrigin.y;if(imageFlipX)mappedPoint.x=imageSize.width-mappedPoint.x;if(imageFlipY)mappedPoint.y=imageSize.height-mappedPoint.y;const c=Math.cos(imageRotation);const s=Math.sin(imageRotation);mappedPoint.x-=imageCenterX;mappedPoint.y-=imageCenterY;const rx=mappedPoint.x*c-mappedPoint.y*s;const ry=mappedPoint.x*s+mappedPoint.y*c;mappedPoint.x=imageCenterX+rx;mappedPoint.y=imageCenterY+ry;mappedPoint.x*=imageScalar;mappedPoint.y*=imageScalar;mappedPoint.x+=canvasCenterX;mappedPoint.y+=canvasCenterY;mappedPoint.x+=imageOffsetX;mappedPoint.y+=imageOffsetY;mappedPoint.x-=imageCenterX*imageScalar;mappedPoint.y-=imageCenterY*imageScalar;const tx=(imageTranslation.x-imageOffsetX)*imageScalar;const ty=(imageTranslation.y-imageOffsetY)*imageScalar;const rtx=tx*c-ty*s;const rty=tx*s+ty*c;mappedPoint.x+=rtx;mappedPoint.y+=rty;return mappedPoint};var _mapScreenPointToImagePoint=(screenPoint,canvasSize,imageSize,imageOrigin,imageTranslation,imageRotation,imageScalar,imageFlipX,imageFlipY)=>{const mappedPoint=vectorClone(screenPoint);const imageCenter=sizeCenter(imageSize);const canvasCenter=sizeCenter(canvasSize);const imageOffset=vectorCreate(imageTranslation.x+imageOrigin.x,imageTranslation.y+imageOrigin.y);const c=Math.cos(imageRotation);const s=Math.sin(imageRotation);mappedPoint.x-=canvasCenter.x;mappedPoint.y-=canvasCenter.y;const tx=(imageTranslation.x-imageOffset.x)*imageScalar;const ty=(imageTranslation.y-imageOffset.y)*imageScalar;const rtx=tx*c-ty*s;const rty=tx*s+ty*c;mappedPoint.x-=rtx;mappedPoint.y-=rty;mappedPoint.x-=imageOffset.x;mappedPoint.y-=imageOffset.y;mappedPoint.x/=imageScalar;mappedPoint.y/=imageScalar;const rx=mappedPoint.x*c+mappedPoint.y*s;const ry=mappedPoint.x*s-mappedPoint.y*c;mappedPoint.x=rx;mappedPoint.y=-ry;mappedPoint.x+=imageCenter.x;mappedPoint.y+=imageCenter.y;if(imageFlipX)mappedPoint.x=imageSize.width-mappedPoint.x;if(imageFlipY)mappedPoint.y=imageSize.height-mappedPoint.y;return mappedPoint};function create_fragment$8(ctx){let shapeutil;let updating_toolActive;let current;function shapeutil_toolActive_binding(value){ctx[43](value)}let shapeutil_props={stores:ctx[4],locale:ctx[5],isActive:ctx[1],isActiveFraction:ctx[2],isVisible:ctx[3],mapScreenPointToImagePoint:ctx[29],mapImagePointToScreenPoint:ctx[30],utilKey:\"annotate\",imageRotation:ctx[31],imageFlipX:ctx[27],imageFlipY:ctx[28],shapes:ctx[33],tools:ctx[12]||ctx[6],toolShapes:ctx[13]||ctx[7],enableSelectToolToAddShape:ctx[19],enableTapToAddText:ctx[20],shapeControls:ctx[14]||ctx[8],shapePresets:ctx[17],enableButtonFlipVertical:ctx[15],parentRect:ctx[34],enablePresetSelectImage:ctx[16],toolSelectRadius:ctx[9],textInputMode:ctx[10],willRenderPresetToolbar:ctx[18]||ctx[11],hooks:{willRenderShapeControls:ctx[21],beforeAddShape:ctx[22],beforeRemoveShape:ctx[23],beforeDeselectShape:ctx[24],beforeSelectShape:ctx[25],beforeUpdateShape:ctx[26]}};if(ctx[0]!==void 0){shapeutil_props.toolActive=ctx[0]}shapeutil=new ShapeUtil({props:shapeutil_props});binding_callbacks.push(()=>bind(shapeutil,\"toolActive\",shapeutil_toolActive_binding));shapeutil.$on(\"measure\",ctx[44]);return{c(){create_component(shapeutil.$$.fragment)},m(target,anchor){mount_component(shapeutil,target,anchor);current=true},p(ctx,dirty){const shapeutil_changes={};if(dirty[0]&16)shapeutil_changes.stores=ctx[4];if(dirty[0]&32)shapeutil_changes.locale=ctx[5];if(dirty[0]&2)shapeutil_changes.isActive=ctx[1];if(dirty[0]&4)shapeutil_changes.isActiveFraction=ctx[2];if(dirty[0]&8)shapeutil_changes.isVisible=ctx[3];if(dirty[0]&536870912)shapeutil_changes.mapScreenPointToImagePoint=ctx[29];if(dirty[0]&1073741824)shapeutil_changes.mapImagePointToScreenPoint=ctx[30];if(dirty[1]&1)shapeutil_changes.imageRotation=ctx[31];if(dirty[0]&134217728)shapeutil_changes.imageFlipX=ctx[27];if(dirty[0]&268435456)shapeutil_changes.imageFlipY=ctx[28];if(dirty[0]&4160)shapeutil_changes.tools=ctx[12]||ctx[6];if(dirty[0]&8320)shapeutil_changes.toolShapes=ctx[13]||ctx[7];if(dirty[0]&524288)shapeutil_changes.enableSelectToolToAddShape=ctx[19];if(dirty[0]&1048576)shapeutil_changes.enableTapToAddText=ctx[20];if(dirty[0]&16640)shapeutil_changes.shapeControls=ctx[14]||ctx[8];if(dirty[0]&131072)shapeutil_changes.shapePresets=ctx[17];if(dirty[0]&32768)shapeutil_changes.enableButtonFlipVertical=ctx[15];if(dirty[0]&65536)shapeutil_changes.enablePresetSelectImage=ctx[16];if(dirty[0]&512)shapeutil_changes.toolSelectRadius=ctx[9];if(dirty[0]&1024)shapeutil_changes.textInputMode=ctx[10];if(dirty[0]&264192)shapeutil_changes.willRenderPresetToolbar=ctx[18]||ctx[11];if(dirty[0]&132120576)shapeutil_changes.hooks={willRenderShapeControls:ctx[21],beforeAddShape:ctx[22],beforeRemoveShape:ctx[23],beforeDeselectShape:ctx[24],beforeSelectShape:ctx[25],beforeUpdateShape:ctx[26]};if(!updating_toolActive&&dirty[0]&1){updating_toolActive=true;shapeutil_changes.toolActive=ctx[0];add_flush_callback(()=>updating_toolActive=false)}shapeutil.$set(shapeutil_changes)},i(local){if(current)return;transition_in(shapeutil.$$.fragment,local);current=true},o(local){transition_out(shapeutil.$$.fragment,local);current=false},d(detaching){destroy_component(shapeutil,detaching)}}}function instance$8($$self,$$props,$$invalidate){let mapScreenPointToImagePoint;let mapImagePointToScreenPoint;let $rootRect;let $imageSize;let $imageTransforms;let $imageFlipX;let $imageFlipY;let $imageRotation;const name=\"annotate\";let{isActive}=$$props;let{isActiveFraction}=$$props;let{isVisible}=$$props;let{stores}=$$props;let{locale={}}=$$props;let{markupEditorToolbar=undefined}=$$props;let{markupEditorToolStyles=undefined}=$$props;let{markupEditorShapeStyleControls=undefined}=$$props;let{markupEditorToolSelectRadius=undefined}=$$props;let{markupEditorTextInputMode=undefined}=$$props;let{willRenderShapePresetToolbar=undefined}=$$props;let{annotateTools=undefined}=$$props;let{annotateToolShapes=undefined}=$$props;let{annotateShapeControls=undefined}=$$props;let{annotateActiveTool=undefined}=$$props;let{annotateEnableButtonFlipVertical=false}=$$props;let{annotateEnableSelectImagePreset=false}=$$props;let{annotatePresets=[]}=$$props;let{annotateWillRenderShapePresetToolbar=undefined}=$$props;let{enableSelectToolToAddShape=undefined}=$$props;let{enableTapToAddText=undefined}=$$props;let{willRenderShapeControls=undefined}=$$props;let{beforeAddShape=undefined}=$$props;let{beforeRemoveShape=undefined}=$$props;let{beforeDeselectShape=undefined}=$$props;let{beforeSelectShape=undefined}=$$props;let{beforeUpdateShape=undefined}=$$props;const{rootRect,imageAnnotation,imageSize,imageTransforms,imageRotation,imageFlipX,imageFlipY}=stores;component_subscribe($$self,rootRect,value=>$$invalidate(40,$rootRect=value));component_subscribe($$self,imageSize,value=>$$invalidate(41,$imageSize=value));component_subscribe($$self,imageTransforms,value=>$$invalidate(42,$imageTransforms=value));component_subscribe($$self,imageRotation,value=>$$invalidate(31,$imageRotation=value));component_subscribe($$self,imageFlipX,value=>$$invalidate(27,$imageFlipX=value));component_subscribe($$self,imageFlipY,value=>$$invalidate(28,$imageFlipY=value));function shapeutil_toolActive_binding(value){annotateActiveTool=value;$$invalidate(0,annotateActiveTool)}function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$invalidate(1,isActive=$$props.isActive);if(\"isActiveFraction\"in $$props)$$invalidate(2,isActiveFraction=$$props.isActiveFraction);if(\"isVisible\"in $$props)$$invalidate(3,isVisible=$$props.isVisible);if(\"stores\"in $$props)$$invalidate(4,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(5,locale=$$props.locale);if(\"markupEditorToolbar\"in $$props)$$invalidate(6,markupEditorToolbar=$$props.markupEditorToolbar);if(\"markupEditorToolStyles\"in $$props)$$invalidate(7,markupEditorToolStyles=$$props.markupEditorToolStyles);if(\"markupEditorShapeStyleControls\"in $$props)$$invalidate(8,markupEditorShapeStyleControls=$$props.markupEditorShapeStyleControls);if(\"markupEditorToolSelectRadius\"in $$props)$$invalidate(9,markupEditorToolSelectRadius=$$props.markupEditorToolSelectRadius);if(\"markupEditorTextInputMode\"in $$props)$$invalidate(10,markupEditorTextInputMode=$$props.markupEditorTextInputMode);if(\"willRenderShapePresetToolbar\"in $$props)$$invalidate(11,willRenderShapePresetToolbar=$$props.willRenderShapePresetToolbar);if(\"annotateTools\"in $$props)$$invalidate(12,annotateTools=$$props.annotateTools);if(\"annotateToolShapes\"in $$props)$$invalidate(13,annotateToolShapes=$$props.annotateToolShapes);if(\"annotateShapeControls\"in $$props)$$invalidate(14,annotateShapeControls=$$props.annotateShapeControls);if(\"annotateActiveTool\"in $$props)$$invalidate(0,annotateActiveTool=$$props.annotateActiveTool);if(\"annotateEnableButtonFlipVertical\"in $$props)$$invalidate(15,annotateEnableButtonFlipVertical=$$props.annotateEnableButtonFlipVertical);if(\"annotateEnableSelectImagePreset\"in $$props)$$invalidate(16,annotateEnableSelectImagePreset=$$props.annotateEnableSelectImagePreset);if(\"annotatePresets\"in $$props)$$invalidate(17,annotatePresets=$$props.annotatePresets);if(\"annotateWillRenderShapePresetToolbar\"in $$props)$$invalidate(18,annotateWillRenderShapePresetToolbar=$$props.annotateWillRenderShapePresetToolbar);if(\"enableSelectToolToAddShape\"in $$props)$$invalidate(19,enableSelectToolToAddShape=$$props.enableSelectToolToAddShape);if(\"enableTapToAddText\"in $$props)$$invalidate(20,enableTapToAddText=$$props.enableTapToAddText);if(\"willRenderShapeControls\"in $$props)$$invalidate(21,willRenderShapeControls=$$props.willRenderShapeControls);if(\"beforeAddShape\"in $$props)$$invalidate(22,beforeAddShape=$$props.beforeAddShape);if(\"beforeRemoveShape\"in $$props)$$invalidate(23,beforeRemoveShape=$$props.beforeRemoveShape);if(\"beforeDeselectShape\"in $$props)$$invalidate(24,beforeDeselectShape=$$props.beforeDeselectShape);if(\"beforeSelectShape\"in $$props)$$invalidate(25,beforeSelectShape=$$props.beforeSelectShape);if(\"beforeUpdateShape\"in $$props)$$invalidate(26,beforeUpdateShape=$$props.beforeUpdateShape)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&402653184|$$self.$$.dirty[1]&3584){$$invalidate(29,mapScreenPointToImagePoint=point=>_mapScreenPointToImagePoint(point,$rootRect,$imageSize,$imageTransforms.origin,$imageTransforms.translation,$imageTransforms.rotation.z,$imageTransforms.scale,$imageFlipX,$imageFlipY))}if($$self.$$.dirty[0]&402653184|$$self.$$.dirty[1]&3584){$$invalidate(30,mapImagePointToScreenPoint=point=>_mapImagePointToScreenPoint(point,$rootRect,$imageSize,$imageTransforms.origin,$imageTransforms.translation,$imageTransforms.rotation.z,$imageTransforms.scale,$imageFlipX,$imageFlipY))}};return[annotateActiveTool,isActive,isActiveFraction,isVisible,stores,locale,markupEditorToolbar,markupEditorToolStyles,markupEditorShapeStyleControls,markupEditorToolSelectRadius,markupEditorTextInputMode,willRenderShapePresetToolbar,annotateTools,annotateToolShapes,annotateShapeControls,annotateEnableButtonFlipVertical,annotateEnableSelectImagePreset,annotatePresets,annotateWillRenderShapePresetToolbar,enableSelectToolToAddShape,enableTapToAddText,willRenderShapeControls,beforeAddShape,beforeRemoveShape,beforeDeselectShape,beforeSelectShape,beforeUpdateShape,$imageFlipX,$imageFlipY,mapScreenPointToImagePoint,mapImagePointToScreenPoint,$imageRotation,rootRect,imageAnnotation,imageSize,imageTransforms,imageRotation,imageFlipX,imageFlipY,name,$rootRect,$imageSize,$imageTransforms,shapeutil_toolActive_binding,measure_handler]}class Annotate extends SvelteComponent{constructor(options){super();init(this,options,instance$8,create_fragment$8,safe_not_equal,{name:39,isActive:1,isActiveFraction:2,isVisible:3,stores:4,locale:5,markupEditorToolbar:6,markupEditorToolStyles:7,markupEditorShapeStyleControls:8,markupEditorToolSelectRadius:9,markupEditorTextInputMode:10,willRenderShapePresetToolbar:11,annotateTools:12,annotateToolShapes:13,annotateShapeControls:14,annotateActiveTool:0,annotateEnableButtonFlipVertical:15,annotateEnableSelectImagePreset:16,annotatePresets:17,annotateWillRenderShapePresetToolbar:18,enableSelectToolToAddShape:19,enableTapToAddText:20,willRenderShapeControls:21,beforeAddShape:22,beforeRemoveShape:23,beforeDeselectShape:24,beforeSelectShape:25,beforeUpdateShape:26},[-1,-1])}get name(){return this.$$.ctx[39]}get isActive(){return this.$$.ctx[1]}set isActive(isActive){this.$set({isActive:isActive});flush()}get isActiveFraction(){return this.$$.ctx[2]}set isActiveFraction(isActiveFraction){this.$set({isActiveFraction:isActiveFraction});flush()}get isVisible(){return this.$$.ctx[3]}set isVisible(isVisible){this.$set({isVisible:isVisible});flush()}get stores(){return this.$$.ctx[4]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[5]}set locale(locale){this.$set({locale:locale});flush()}get markupEditorToolbar(){return this.$$.ctx[6]}set markupEditorToolbar(markupEditorToolbar){this.$set({markupEditorToolbar:markupEditorToolbar});flush()}get markupEditorToolStyles(){return this.$$.ctx[7]}set markupEditorToolStyles(markupEditorToolStyles){this.$set({markupEditorToolStyles:markupEditorToolStyles});flush()}get markupEditorShapeStyleControls(){return this.$$.ctx[8]}set markupEditorShapeStyleControls(markupEditorShapeStyleControls){this.$set({markupEditorShapeStyleControls:markupEditorShapeStyleControls});flush()}get markupEditorToolSelectRadius(){return this.$$.ctx[9]}set markupEditorToolSelectRadius(markupEditorToolSelectRadius){this.$set({markupEditorToolSelectRadius:markupEditorToolSelectRadius});flush()}get markupEditorTextInputMode(){return this.$$.ctx[10]}set markupEditorTextInputMode(markupEditorTextInputMode){this.$set({markupEditorTextInputMode:markupEditorTextInputMode});flush()}get willRenderShapePresetToolbar(){return this.$$.ctx[11]}set willRenderShapePresetToolbar(willRenderShapePresetToolbar){this.$set({willRenderShapePresetToolbar:willRenderShapePresetToolbar});flush()}get annotateTools(){return this.$$.ctx[12]}set annotateTools(annotateTools){this.$set({annotateTools:annotateTools});flush()}get annotateToolShapes(){return this.$$.ctx[13]}set annotateToolShapes(annotateToolShapes){this.$set({annotateToolShapes:annotateToolShapes});flush()}get annotateShapeControls(){return this.$$.ctx[14]}set annotateShapeControls(annotateShapeControls){this.$set({annotateShapeControls:annotateShapeControls});flush()}get annotateActiveTool(){return this.$$.ctx[0]}set annotateActiveTool(annotateActiveTool){this.$set({annotateActiveTool:annotateActiveTool});flush()}get annotateEnableButtonFlipVertical(){return this.$$.ctx[15]}set annotateEnableButtonFlipVertical(annotateEnableButtonFlipVertical){this.$set({annotateEnableButtonFlipVertical:annotateEnableButtonFlipVertical});flush()}get annotateEnableSelectImagePreset(){return this.$$.ctx[16]}set annotateEnableSelectImagePreset(annotateEnableSelectImagePreset){this.$set({annotateEnableSelectImagePreset:annotateEnableSelectImagePreset});flush()}get annotatePresets(){return this.$$.ctx[17]}set annotatePresets(annotatePresets){this.$set({annotatePresets:annotatePresets});flush()}get annotateWillRenderShapePresetToolbar(){return this.$$.ctx[18]}set annotateWillRenderShapePresetToolbar(annotateWillRenderShapePresetToolbar){this.$set({annotateWillRenderShapePresetToolbar:annotateWillRenderShapePresetToolbar});flush()}get enableSelectToolToAddShape(){return this.$$.ctx[19]}set enableSelectToolToAddShape(enableSelectToolToAddShape){this.$set({enableSelectToolToAddShape:enableSelectToolToAddShape});flush()}get enableTapToAddText(){return this.$$.ctx[20]}set enableTapToAddText(enableTapToAddText){this.$set({enableTapToAddText:enableTapToAddText});flush()}get willRenderShapeControls(){return this.$$.ctx[21]}set willRenderShapeControls(willRenderShapeControls){this.$set({willRenderShapeControls:willRenderShapeControls});flush()}get beforeAddShape(){return this.$$.ctx[22]}set beforeAddShape(beforeAddShape){this.$set({beforeAddShape:beforeAddShape});flush()}get beforeRemoveShape(){return this.$$.ctx[23]}set beforeRemoveShape(beforeRemoveShape){this.$set({beforeRemoveShape:beforeRemoveShape});flush()}get beforeDeselectShape(){return this.$$.ctx[24]}set beforeDeselectShape(beforeDeselectShape){this.$set({beforeDeselectShape:beforeDeselectShape});flush()}get beforeSelectShape(){return this.$$.ctx[25]}set beforeSelectShape(beforeSelectShape){this.$set({beforeSelectShape:beforeSelectShape});flush()}get beforeUpdateShape(){return this.$$.ctx[26]}set beforeUpdateShape(beforeUpdateShape){this.$set({beforeUpdateShape:beforeUpdateShape});flush()}}var _plugin_annotate={util:[\"annotate\",Annotate]};function create_fragment$7(ctx){let shapeutil;let updating_toolActive;let current;function shapeutil_toolActive_binding(value){ctx[36](value)}let shapeutil_props={stores:ctx[4],locale:ctx[5],isActive:ctx[1],isActiveFraction:ctx[2],isVisible:ctx[3],mapScreenPointToImagePoint:ctx[27],mapImagePointToScreenPoint:ctx[28],utilKey:\"decorate\",shapes:ctx[30],tools:ctx[12]||ctx[6],toolShapes:ctx[13]||ctx[7],shapeControls:ctx[14]||ctx[8],shapePresets:ctx[17],enableSelectToolToAddShape:ctx[19],enableTapToAddText:ctx[20],enablePresetSelectImage:ctx[16],enableButtonFlipVertical:ctx[15],parentRect:ctx[29],toolSelectRadius:ctx[9],textInputMode:ctx[10],willRenderPresetToolbar:ctx[18]||ctx[11],hooks:{willRenderShapeControls:ctx[21],beforeAddShape:ctx[22],beforeRemoveShape:ctx[23],beforeDeselectShape:ctx[24],beforeSelectShape:ctx[25],beforeUpdateShape:ctx[26]}};if(ctx[0]!==void 0){shapeutil_props.toolActive=ctx[0]}shapeutil=new ShapeUtil({props:shapeutil_props});binding_callbacks.push(()=>bind(shapeutil,\"toolActive\",shapeutil_toolActive_binding));shapeutil.$on(\"measure\",ctx[37]);return{c(){create_component(shapeutil.$$.fragment)},m(target,anchor){mount_component(shapeutil,target,anchor);current=true},p(ctx,dirty){const shapeutil_changes={};if(dirty[0]&16)shapeutil_changes.stores=ctx[4];if(dirty[0]&32)shapeutil_changes.locale=ctx[5];if(dirty[0]&2)shapeutil_changes.isActive=ctx[1];if(dirty[0]&4)shapeutil_changes.isActiveFraction=ctx[2];if(dirty[0]&8)shapeutil_changes.isVisible=ctx[3];if(dirty[0]&134217728)shapeutil_changes.mapScreenPointToImagePoint=ctx[27];if(dirty[0]&268435456)shapeutil_changes.mapImagePointToScreenPoint=ctx[28];if(dirty[0]&4160)shapeutil_changes.tools=ctx[12]||ctx[6];if(dirty[0]&8320)shapeutil_changes.toolShapes=ctx[13]||ctx[7];if(dirty[0]&16640)shapeutil_changes.shapeControls=ctx[14]||ctx[8];if(dirty[0]&131072)shapeutil_changes.shapePresets=ctx[17];if(dirty[0]&524288)shapeutil_changes.enableSelectToolToAddShape=ctx[19];if(dirty[0]&1048576)shapeutil_changes.enableTapToAddText=ctx[20];if(dirty[0]&65536)shapeutil_changes.enablePresetSelectImage=ctx[16];if(dirty[0]&32768)shapeutil_changes.enableButtonFlipVertical=ctx[15];if(dirty[0]&512)shapeutil_changes.toolSelectRadius=ctx[9];if(dirty[0]&1024)shapeutil_changes.textInputMode=ctx[10];if(dirty[0]&264192)shapeutil_changes.willRenderPresetToolbar=ctx[18]||ctx[11];if(dirty[0]&132120576)shapeutil_changes.hooks={willRenderShapeControls:ctx[21],beforeAddShape:ctx[22],beforeRemoveShape:ctx[23],beforeDeselectShape:ctx[24],beforeSelectShape:ctx[25],beforeUpdateShape:ctx[26]};if(!updating_toolActive&&dirty[0]&1){updating_toolActive=true;shapeutil_changes.toolActive=ctx[0];add_flush_callback(()=>updating_toolActive=false)}shapeutil.$set(shapeutil_changes)},i(local){if(current)return;transition_in(shapeutil.$$.fragment,local);current=true},o(local){transition_out(shapeutil.$$.fragment,local);current=false},d(detaching){destroy_component(shapeutil,detaching)}}}function instance$7($$self,$$props,$$invalidate){let mapScreenPointToImagePoint;let mapImagePointToScreenPoint;let $imageSelectionRectPresentation;let $presentationScalar;const name=\"decorate\";let{isActive}=$$props;let{isActiveFraction}=$$props;let{isVisible}=$$props;let{stores}=$$props;let{locale={}}=$$props;let{markupEditorToolbar=undefined}=$$props;let{markupEditorToolStyles=undefined}=$$props;let{markupEditorShapeStyleControls=undefined}=$$props;let{markupEditorToolSelectRadius=undefined}=$$props;let{markupEditorTextInputMode=undefined}=$$props;let{willRenderShapePresetToolbar=undefined}=$$props;let{decorateTools=undefined}=$$props;let{decorateToolShapes=undefined}=$$props;let{decorateShapeControls=undefined}=$$props;let{decorateActiveTool=undefined}=$$props;let{decorateEnableButtonFlipVertical=false}=$$props;let{decorateEnableSelectImagePreset=false}=$$props;let{decoratePresets=[]}=$$props;let{decorateWillRenderShapePresetToolbar=undefined}=$$props;let{enableSelectToolToAddShape=undefined}=$$props;let{enableTapToAddText=undefined}=$$props;let{willRenderShapeControls=undefined}=$$props;let{beforeAddShape=undefined}=$$props;let{beforeRemoveShape=undefined}=$$props;let{beforeDeselectShape=undefined}=$$props;let{beforeSelectShape=undefined}=$$props;let{beforeUpdateShape=undefined}=$$props;const{imageCropRect,imageDecoration,imageSelectionRectPresentation,presentationScalar}=stores;component_subscribe($$self,imageSelectionRectPresentation,value=>$$invalidate(34,$imageSelectionRectPresentation=value));component_subscribe($$self,presentationScalar,value=>$$invalidate(35,$presentationScalar=value));function shapeutil_toolActive_binding(value){decorateActiveTool=value;$$invalidate(0,decorateActiveTool)}function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$invalidate(1,isActive=$$props.isActive);if(\"isActiveFraction\"in $$props)$$invalidate(2,isActiveFraction=$$props.isActiveFraction);if(\"isVisible\"in $$props)$$invalidate(3,isVisible=$$props.isVisible);if(\"stores\"in $$props)$$invalidate(4,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(5,locale=$$props.locale);if(\"markupEditorToolbar\"in $$props)$$invalidate(6,markupEditorToolbar=$$props.markupEditorToolbar);if(\"markupEditorToolStyles\"in $$props)$$invalidate(7,markupEditorToolStyles=$$props.markupEditorToolStyles);if(\"markupEditorShapeStyleControls\"in $$props)$$invalidate(8,markupEditorShapeStyleControls=$$props.markupEditorShapeStyleControls);if(\"markupEditorToolSelectRadius\"in $$props)$$invalidate(9,markupEditorToolSelectRadius=$$props.markupEditorToolSelectRadius);if(\"markupEditorTextInputMode\"in $$props)$$invalidate(10,markupEditorTextInputMode=$$props.markupEditorTextInputMode);if(\"willRenderShapePresetToolbar\"in $$props)$$invalidate(11,willRenderShapePresetToolbar=$$props.willRenderShapePresetToolbar);if(\"decorateTools\"in $$props)$$invalidate(12,decorateTools=$$props.decorateTools);if(\"decorateToolShapes\"in $$props)$$invalidate(13,decorateToolShapes=$$props.decorateToolShapes);if(\"decorateShapeControls\"in $$props)$$invalidate(14,decorateShapeControls=$$props.decorateShapeControls);if(\"decorateActiveTool\"in $$props)$$invalidate(0,decorateActiveTool=$$props.decorateActiveTool);if(\"decorateEnableButtonFlipVertical\"in $$props)$$invalidate(15,decorateEnableButtonFlipVertical=$$props.decorateEnableButtonFlipVertical);if(\"decorateEnableSelectImagePreset\"in $$props)$$invalidate(16,decorateEnableSelectImagePreset=$$props.decorateEnableSelectImagePreset);if(\"decoratePresets\"in $$props)$$invalidate(17,decoratePresets=$$props.decoratePresets);if(\"decorateWillRenderShapePresetToolbar\"in $$props)$$invalidate(18,decorateWillRenderShapePresetToolbar=$$props.decorateWillRenderShapePresetToolbar);if(\"enableSelectToolToAddShape\"in $$props)$$invalidate(19,enableSelectToolToAddShape=$$props.enableSelectToolToAddShape);if(\"enableTapToAddText\"in $$props)$$invalidate(20,enableTapToAddText=$$props.enableTapToAddText);if(\"willRenderShapeControls\"in $$props)$$invalidate(21,willRenderShapeControls=$$props.willRenderShapeControls);if(\"beforeAddShape\"in $$props)$$invalidate(22,beforeAddShape=$$props.beforeAddShape);if(\"beforeRemoveShape\"in $$props)$$invalidate(23,beforeRemoveShape=$$props.beforeRemoveShape);if(\"beforeDeselectShape\"in $$props)$$invalidate(24,beforeDeselectShape=$$props.beforeDeselectShape);if(\"beforeSelectShape\"in $$props)$$invalidate(25,beforeSelectShape=$$props.beforeSelectShape);if(\"beforeUpdateShape\"in $$props)$$invalidate(26,beforeUpdateShape=$$props.beforeUpdateShape)};$$self.$$.update=()=>{if($$self.$$.dirty[1]&24){$$invalidate(27,mapScreenPointToImagePoint=screenPoint=>{const mappedPoint=vectorClone(screenPoint);mappedPoint.x-=$imageSelectionRectPresentation.x;mappedPoint.y-=$imageSelectionRectPresentation.y;mappedPoint.x/=$presentationScalar;mappedPoint.y/=$presentationScalar;return mappedPoint})}if($$self.$$.dirty[1]&24){$$invalidate(28,mapImagePointToScreenPoint=imagePoint=>{const mappedPoint=vectorClone(imagePoint);mappedPoint.x*=$presentationScalar;mappedPoint.y*=$presentationScalar;mappedPoint.x+=$imageSelectionRectPresentation.x;mappedPoint.y+=$imageSelectionRectPresentation.y;return mappedPoint})}};return[decorateActiveTool,isActive,isActiveFraction,isVisible,stores,locale,markupEditorToolbar,markupEditorToolStyles,markupEditorShapeStyleControls,markupEditorToolSelectRadius,markupEditorTextInputMode,willRenderShapePresetToolbar,decorateTools,decorateToolShapes,decorateShapeControls,decorateEnableButtonFlipVertical,decorateEnableSelectImagePreset,decoratePresets,decorateWillRenderShapePresetToolbar,enableSelectToolToAddShape,enableTapToAddText,willRenderShapeControls,beforeAddShape,beforeRemoveShape,beforeDeselectShape,beforeSelectShape,beforeUpdateShape,mapScreenPointToImagePoint,mapImagePointToScreenPoint,imageCropRect,imageDecoration,imageSelectionRectPresentation,presentationScalar,name,$imageSelectionRectPresentation,$presentationScalar,shapeutil_toolActive_binding,measure_handler]}class Decorate extends SvelteComponent{constructor(options){super();init(this,options,instance$7,create_fragment$7,safe_not_equal,{name:33,isActive:1,isActiveFraction:2,isVisible:3,stores:4,locale:5,markupEditorToolbar:6,markupEditorToolStyles:7,markupEditorShapeStyleControls:8,markupEditorToolSelectRadius:9,markupEditorTextInputMode:10,willRenderShapePresetToolbar:11,decorateTools:12,decorateToolShapes:13,decorateShapeControls:14,decorateActiveTool:0,decorateEnableButtonFlipVertical:15,decorateEnableSelectImagePreset:16,decoratePresets:17,decorateWillRenderShapePresetToolbar:18,enableSelectToolToAddShape:19,enableTapToAddText:20,willRenderShapeControls:21,beforeAddShape:22,beforeRemoveShape:23,beforeDeselectShape:24,beforeSelectShape:25,beforeUpdateShape:26},[-1,-1])}get name(){return this.$$.ctx[33]}get isActive(){return this.$$.ctx[1]}set isActive(isActive){this.$set({isActive:isActive});flush()}get isActiveFraction(){return this.$$.ctx[2]}set isActiveFraction(isActiveFraction){this.$set({isActiveFraction:isActiveFraction});flush()}get isVisible(){return this.$$.ctx[3]}set isVisible(isVisible){this.$set({isVisible:isVisible});flush()}get stores(){return this.$$.ctx[4]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[5]}set locale(locale){this.$set({locale:locale});flush()}get markupEditorToolbar(){return this.$$.ctx[6]}set markupEditorToolbar(markupEditorToolbar){this.$set({markupEditorToolbar:markupEditorToolbar});flush()}get markupEditorToolStyles(){return this.$$.ctx[7]}set markupEditorToolStyles(markupEditorToolStyles){this.$set({markupEditorToolStyles:markupEditorToolStyles});flush()}get markupEditorShapeStyleControls(){return this.$$.ctx[8]}set markupEditorShapeStyleControls(markupEditorShapeStyleControls){this.$set({markupEditorShapeStyleControls:markupEditorShapeStyleControls});flush()}get markupEditorToolSelectRadius(){return this.$$.ctx[9]}set markupEditorToolSelectRadius(markupEditorToolSelectRadius){this.$set({markupEditorToolSelectRadius:markupEditorToolSelectRadius});flush()}get markupEditorTextInputMode(){return this.$$.ctx[10]}set markupEditorTextInputMode(markupEditorTextInputMode){this.$set({markupEditorTextInputMode:markupEditorTextInputMode});flush()}get willRenderShapePresetToolbar(){return this.$$.ctx[11]}set willRenderShapePresetToolbar(willRenderShapePresetToolbar){this.$set({willRenderShapePresetToolbar:willRenderShapePresetToolbar});flush()}get decorateTools(){return this.$$.ctx[12]}set decorateTools(decorateTools){this.$set({decorateTools:decorateTools});flush()}get decorateToolShapes(){return this.$$.ctx[13]}set decorateToolShapes(decorateToolShapes){this.$set({decorateToolShapes:decorateToolShapes});flush()}get decorateShapeControls(){return this.$$.ctx[14]}set decorateShapeControls(decorateShapeControls){this.$set({decorateShapeControls:decorateShapeControls});flush()}get decorateActiveTool(){return this.$$.ctx[0]}set decorateActiveTool(decorateActiveTool){this.$set({decorateActiveTool:decorateActiveTool});flush()}get decorateEnableButtonFlipVertical(){return this.$$.ctx[15]}set decorateEnableButtonFlipVertical(decorateEnableButtonFlipVertical){this.$set({decorateEnableButtonFlipVertical:decorateEnableButtonFlipVertical});flush()}get decorateEnableSelectImagePreset(){return this.$$.ctx[16]}set decorateEnableSelectImagePreset(decorateEnableSelectImagePreset){this.$set({decorateEnableSelectImagePreset:decorateEnableSelectImagePreset});flush()}get decoratePresets(){return this.$$.ctx[17]}set decoratePresets(decoratePresets){this.$set({decoratePresets:decoratePresets});flush()}get decorateWillRenderShapePresetToolbar(){return this.$$.ctx[18]}set decorateWillRenderShapePresetToolbar(decorateWillRenderShapePresetToolbar){this.$set({decorateWillRenderShapePresetToolbar:decorateWillRenderShapePresetToolbar});flush()}get enableSelectToolToAddShape(){return this.$$.ctx[19]}set enableSelectToolToAddShape(enableSelectToolToAddShape){this.$set({enableSelectToolToAddShape:enableSelectToolToAddShape});flush()}get enableTapToAddText(){return this.$$.ctx[20]}set enableTapToAddText(enableTapToAddText){this.$set({enableTapToAddText:enableTapToAddText});flush()}get willRenderShapeControls(){return this.$$.ctx[21]}set willRenderShapeControls(willRenderShapeControls){this.$set({willRenderShapeControls:willRenderShapeControls});flush()}get beforeAddShape(){return this.$$.ctx[22]}set beforeAddShape(beforeAddShape){this.$set({beforeAddShape:beforeAddShape});flush()}get beforeRemoveShape(){return this.$$.ctx[23]}set beforeRemoveShape(beforeRemoveShape){this.$set({beforeRemoveShape:beforeRemoveShape});flush()}get beforeDeselectShape(){return this.$$.ctx[24]}set beforeDeselectShape(beforeDeselectShape){this.$set({beforeDeselectShape:beforeDeselectShape});flush()}get beforeSelectShape(){return this.$$.ctx[25]}set beforeSelectShape(beforeSelectShape){this.$set({beforeSelectShape:beforeSelectShape});flush()}get beforeUpdateShape(){return this.$$.ctx[26]}set beforeUpdateShape(beforeUpdateShape){this.$set({beforeUpdateShape:beforeUpdateShape});flush()}}var _plugin_decorate={util:[\"decorate\",Decorate]};function create_fragment$6(ctx){let shapeutil;let current;shapeutil=new ShapeUtil({props:{stores:ctx[3],locale:ctx[4],isActive:ctx[0],isActiveFraction:ctx[1],isVisible:ctx[2],mapScreenPointToImagePoint:ctx[32],mapImagePointToScreenPoint:ctx[33],utilKey:\"sticker\",shapePresets:ctx[5],shapes:ctx[6]?ctx[25]:ctx[26],toolActive:\"preset\",imageFlipX:ctx[6]?ctx[18]:false,imageFlipY:ctx[6]?ctx[19]:false,imageRotation:ctx[6]?ctx[20]:0,parentRect:ctx[6]?ctx[27]:ctx[23],enablePresetSelectImage:ctx[7],enableButtonFlipVertical:ctx[8],toolSelectRadius:ctx[11],willRenderPresetToolbar:ctx[9]||ctx[12],hooks:{willRenderShapeControls:ctx[10],beforeAddShape:ctx[13],beforeRemoveShape:ctx[14],beforeDeselectShape:ctx[15],beforeSelectShape:ctx[16],beforeUpdateShape:ctx[17]}}});shapeutil.$on(\"measure\",ctx[35]);return{c(){create_component(shapeutil.$$.fragment)},m(target,anchor){mount_component(shapeutil,target,anchor);current=true},p(ctx,dirty){const shapeutil_changes={};if(dirty[0]&8)shapeutil_changes.stores=ctx[3];if(dirty[0]&16)shapeutil_changes.locale=ctx[4];if(dirty[0]&1)shapeutil_changes.isActive=ctx[0];if(dirty[0]&2)shapeutil_changes.isActiveFraction=ctx[1];if(dirty[0]&4)shapeutil_changes.isVisible=ctx[2];if(dirty[0]&32)shapeutil_changes.shapePresets=ctx[5];if(dirty[0]&64)shapeutil_changes.shapes=ctx[6]?ctx[25]:ctx[26];if(dirty[0]&262208)shapeutil_changes.imageFlipX=ctx[6]?ctx[18]:false;if(dirty[0]&524352)shapeutil_changes.imageFlipY=ctx[6]?ctx[19]:false;if(dirty[0]&1048640)shapeutil_changes.imageRotation=ctx[6]?ctx[20]:0;if(dirty[0]&64)shapeutil_changes.parentRect=ctx[6]?ctx[27]:ctx[23];if(dirty[0]&128)shapeutil_changes.enablePresetSelectImage=ctx[7];if(dirty[0]&256)shapeutil_changes.enableButtonFlipVertical=ctx[8];if(dirty[0]&2048)shapeutil_changes.toolSelectRadius=ctx[11];if(dirty[0]&4608)shapeutil_changes.willRenderPresetToolbar=ctx[9]||ctx[12];if(dirty[0]&254976)shapeutil_changes.hooks={willRenderShapeControls:ctx[10],beforeAddShape:ctx[13],beforeRemoveShape:ctx[14],beforeDeselectShape:ctx[15],beforeSelectShape:ctx[16],beforeUpdateShape:ctx[17]};shapeutil.$set(shapeutil_changes)},i(local){if(current)return;transition_in(shapeutil.$$.fragment,local);current=true},o(local){transition_out(shapeutil.$$.fragment,local);current=false},d(detaching){destroy_component(shapeutil,detaching)}}}function instance$6($$self,$$props,$$invalidate){let $rootRect;let $imageSize;let $imageTransforms;let $imageFlipX;let $imageFlipY;let $imageSelectionRectPresentation;let $presentationScalar;let $imageRotation;const name=\"sticker\";let{isActive}=$$props;let{isActiveFraction}=$$props;let{isVisible}=$$props;let{stores}=$$props;let{locale={}}=$$props;let{stickers=[]}=$$props;let{stickerStickToImage=false}=$$props;let{stickerEnableSelectImage=true}=$$props;let{stickersEnableButtonFlipVertical=false}=$$props;let{stickersWillRenderShapePresetToolbar=undefined}=$$props;let{willRenderShapeControls=undefined}=$$props;let{markupEditorToolSelectRadius=undefined}=$$props;let{willRenderShapePresetToolbar=undefined}=$$props;let{beforeAddShape=undefined}=$$props;let{beforeRemoveShape=undefined}=$$props;let{beforeDeselectShape=undefined}=$$props;let{beforeSelectShape=undefined}=$$props;let{beforeUpdateShape=undefined}=$$props;const{presentationScalar,rootRect,imageCropRect,imageSelectionRectPresentation,imageAnnotation,imageDecoration,imageSize,imageTransforms,imageRotation,imageFlipX,imageFlipY}=stores;component_subscribe($$self,presentationScalar,value=>$$invalidate(40,$presentationScalar=value));component_subscribe($$self,rootRect,value=>$$invalidate(36,$rootRect=value));component_subscribe($$self,imageSelectionRectPresentation,value=>$$invalidate(39,$imageSelectionRectPresentation=value));component_subscribe($$self,imageSize,value=>$$invalidate(37,$imageSize=value));component_subscribe($$self,imageTransforms,value=>$$invalidate(38,$imageTransforms=value));component_subscribe($$self,imageRotation,value=>$$invalidate(20,$imageRotation=value));component_subscribe($$self,imageFlipX,value=>$$invalidate(18,$imageFlipX=value));component_subscribe($$self,imageFlipY,value=>$$invalidate(19,$imageFlipY=value));const mapScreenPointToImagePoint=stickerStickToImage?point=>_mapScreenPointToImagePoint(point,$rootRect,$imageSize,$imageTransforms.origin,$imageTransforms.translation,$imageTransforms.rotation.z,$imageTransforms.scale,$imageFlipX,$imageFlipY):point=>{const mappedPoint=vectorClone(point);mappedPoint.x-=$imageSelectionRectPresentation.x;mappedPoint.y-=$imageSelectionRectPresentation.y;mappedPoint.x/=$presentationScalar;mappedPoint.y/=$presentationScalar;return mappedPoint};const mapImagePointToScreenPoint=stickerStickToImage?point=>_mapImagePointToScreenPoint(point,$rootRect,$imageSize,$imageTransforms.origin,$imageTransforms.translation,$imageTransforms.rotation.z,$imageTransforms.scale,$imageFlipX,$imageFlipY):point=>{const mappedPoint=vectorClone(point);mappedPoint.x*=$presentationScalar;mappedPoint.y*=$presentationScalar;mappedPoint.x+=$imageSelectionRectPresentation.x;mappedPoint.y+=$imageSelectionRectPresentation.y;return mappedPoint};function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$invalidate(0,isActive=$$props.isActive);if(\"isActiveFraction\"in $$props)$$invalidate(1,isActiveFraction=$$props.isActiveFraction);if(\"isVisible\"in $$props)$$invalidate(2,isVisible=$$props.isVisible);if(\"stores\"in $$props)$$invalidate(3,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(4,locale=$$props.locale);if(\"stickers\"in $$props)$$invalidate(5,stickers=$$props.stickers);if(\"stickerStickToImage\"in $$props)$$invalidate(6,stickerStickToImage=$$props.stickerStickToImage);if(\"stickerEnableSelectImage\"in $$props)$$invalidate(7,stickerEnableSelectImage=$$props.stickerEnableSelectImage);if(\"stickersEnableButtonFlipVertical\"in $$props)$$invalidate(8,stickersEnableButtonFlipVertical=$$props.stickersEnableButtonFlipVertical);if(\"stickersWillRenderShapePresetToolbar\"in $$props)$$invalidate(9,stickersWillRenderShapePresetToolbar=$$props.stickersWillRenderShapePresetToolbar);if(\"willRenderShapeControls\"in $$props)$$invalidate(10,willRenderShapeControls=$$props.willRenderShapeControls);if(\"markupEditorToolSelectRadius\"in $$props)$$invalidate(11,markupEditorToolSelectRadius=$$props.markupEditorToolSelectRadius);if(\"willRenderShapePresetToolbar\"in $$props)$$invalidate(12,willRenderShapePresetToolbar=$$props.willRenderShapePresetToolbar);if(\"beforeAddShape\"in $$props)$$invalidate(13,beforeAddShape=$$props.beforeAddShape);if(\"beforeRemoveShape\"in $$props)$$invalidate(14,beforeRemoveShape=$$props.beforeRemoveShape);if(\"beforeDeselectShape\"in $$props)$$invalidate(15,beforeDeselectShape=$$props.beforeDeselectShape);if(\"beforeSelectShape\"in $$props)$$invalidate(16,beforeSelectShape=$$props.beforeSelectShape);if(\"beforeUpdateShape\"in $$props)$$invalidate(17,beforeUpdateShape=$$props.beforeUpdateShape)};return[isActive,isActiveFraction,isVisible,stores,locale,stickers,stickerStickToImage,stickerEnableSelectImage,stickersEnableButtonFlipVertical,stickersWillRenderShapePresetToolbar,willRenderShapeControls,markupEditorToolSelectRadius,willRenderShapePresetToolbar,beforeAddShape,beforeRemoveShape,beforeDeselectShape,beforeSelectShape,beforeUpdateShape,$imageFlipX,$imageFlipY,$imageRotation,presentationScalar,rootRect,imageCropRect,imageSelectionRectPresentation,imageAnnotation,imageDecoration,imageSize,imageTransforms,imageRotation,imageFlipX,imageFlipY,mapScreenPointToImagePoint,mapImagePointToScreenPoint,name,measure_handler]}class Sticker extends SvelteComponent{constructor(options){super();init(this,options,instance$6,create_fragment$6,safe_not_equal,{name:34,isActive:0,isActiveFraction:1,isVisible:2,stores:3,locale:4,stickers:5,stickerStickToImage:6,stickerEnableSelectImage:7,stickersEnableButtonFlipVertical:8,stickersWillRenderShapePresetToolbar:9,willRenderShapeControls:10,markupEditorToolSelectRadius:11,willRenderShapePresetToolbar:12,beforeAddShape:13,beforeRemoveShape:14,beforeDeselectShape:15,beforeSelectShape:16,beforeUpdateShape:17},[-1,-1])}get name(){return this.$$.ctx[34]}get isActive(){return this.$$.ctx[0]}set isActive(isActive){this.$set({isActive:isActive});flush()}get isActiveFraction(){return this.$$.ctx[1]}set isActiveFraction(isActiveFraction){this.$set({isActiveFraction:isActiveFraction});flush()}get isVisible(){return this.$$.ctx[2]}set isVisible(isVisible){this.$set({isVisible:isVisible});flush()}get stores(){return this.$$.ctx[3]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[4]}set locale(locale){this.$set({locale:locale});flush()}get stickers(){return this.$$.ctx[5]}set stickers(stickers){this.$set({stickers:stickers});flush()}get stickerStickToImage(){return this.$$.ctx[6]}set stickerStickToImage(stickerStickToImage){this.$set({stickerStickToImage:stickerStickToImage});flush()}get stickerEnableSelectImage(){return this.$$.ctx[7]}set stickerEnableSelectImage(stickerEnableSelectImage){this.$set({stickerEnableSelectImage:stickerEnableSelectImage});flush()}get stickersEnableButtonFlipVertical(){return this.$$.ctx[8]}set stickersEnableButtonFlipVertical(stickersEnableButtonFlipVertical){this.$set({stickersEnableButtonFlipVertical:stickersEnableButtonFlipVertical});flush()}get stickersWillRenderShapePresetToolbar(){return this.$$.ctx[9]}set stickersWillRenderShapePresetToolbar(stickersWillRenderShapePresetToolbar){this.$set({stickersWillRenderShapePresetToolbar:stickersWillRenderShapePresetToolbar});flush()}get willRenderShapeControls(){return this.$$.ctx[10]}set willRenderShapeControls(willRenderShapeControls){this.$set({willRenderShapeControls:willRenderShapeControls});flush()}get markupEditorToolSelectRadius(){return this.$$.ctx[11]}set markupEditorToolSelectRadius(markupEditorToolSelectRadius){this.$set({markupEditorToolSelectRadius:markupEditorToolSelectRadius});flush()}get willRenderShapePresetToolbar(){return this.$$.ctx[12]}set willRenderShapePresetToolbar(willRenderShapePresetToolbar){this.$set({willRenderShapePresetToolbar:willRenderShapePresetToolbar});flush()}get beforeAddShape(){return this.$$.ctx[13]}set beforeAddShape(beforeAddShape){this.$set({beforeAddShape:beforeAddShape});flush()}get beforeRemoveShape(){return this.$$.ctx[14]}set beforeRemoveShape(beforeRemoveShape){this.$set({beforeRemoveShape:beforeRemoveShape});flush()}get beforeDeselectShape(){return this.$$.ctx[15]}set beforeDeselectShape(beforeDeselectShape){this.$set({beforeDeselectShape:beforeDeselectShape});flush()}get beforeSelectShape(){return this.$$.ctx[16]}set beforeSelectShape(beforeSelectShape){this.$set({beforeSelectShape:beforeSelectShape});flush()}get beforeUpdateShape(){return this.$$.ctx[17]}set beforeUpdateShape(beforeUpdateShape){this.$set({beforeUpdateShape:beforeUpdateShape});flush()}}var _plugin_sticker={util:[\"sticker\",Sticker]};function create_option_slot(ctx){let div;let html_tag;let raw_value=(ctx[13](ctx[29].value)||\"\")+\"\";let t0;let span;let t1_value=(isFunction(ctx[29].label)?ctx[29].label(ctx[1]):ctx[29].label)+\"\";let t1;return{c(){div=element(\"div\");t0=space();span=element(\"span\");t1=text(t1_value);html_tag=new HtmlTag(t0);attr(div,\"slot\",\"option\")},m(target,anchor){insert(target,div,anchor);html_tag.m(raw_value,div);append(div,t0);append(div,span);append(span,t1)},p(ctx,dirty){if(dirty&536870912&&raw_value!==(raw_value=(ctx[13](ctx[29].value)||\"\")+\"\"))html_tag.p(raw_value);if(dirty&536870914&&t1_value!==(t1_value=(isFunction(ctx[29].label)?ctx[29].label(ctx[1]):ctx[29].label)+\"\"))set_data(t1,t1_value)},d(detaching){if(detaching)detach(div)}}}function create_default_slot$2(ctx){let radiogroup;let current;radiogroup=new RadioGroup({props:{locale:ctx[1],layout:\"row\",options:ctx[2],selectedIndex:ctx[10],onchange:ctx[11],$$slots:{option:[create_option_slot,({option})=>({29:option}),({option})=>option?536870912:0]},$$scope:{ctx:ctx}}});return{c(){create_component(radiogroup.$$.fragment)},m(target,anchor){mount_component(radiogroup,target,anchor);current=true},p(ctx,dirty){const radiogroup_changes={};if(dirty&2)radiogroup_changes.locale=ctx[1];if(dirty&4)radiogroup_changes.options=ctx[2];if(dirty&1610612738){radiogroup_changes.$$scope={dirty:dirty,ctx:ctx}}radiogroup.$set(radiogroup_changes)},i(local){if(current)return;transition_in(radiogroup.$$.fragment,local);current=true},o(local){transition_out(radiogroup.$$.fragment,local);current=false},d(detaching){destroy_component(radiogroup,detaching)}}}function create_footer_slot$1(ctx){let div;let shapestyleeditor;let t;let scrollable;let current;shapestyleeditor=new ShapeStyleEditor({props:{locale:ctx[1],shape:ctx[5],onchange:ctx[12],controls:ctx[3],scrollElasticity:ctx[4]}});scrollable=new Scrollable({props:{elasticity:ctx[8],$$slots:{default:[create_default_slot$2]},$$scope:{ctx:ctx}}});return{c(){div=element(\"div\");create_component(shapestyleeditor.$$.fragment);t=space();create_component(scrollable.$$.fragment);attr(div,\"slot\",\"footer\");attr(div,\"style\",ctx[6])},m(target,anchor){insert(target,div,anchor);mount_component(shapestyleeditor,div,null);append(div,t);mount_component(scrollable,div,null);current=true},p(ctx,dirty){const shapestyleeditor_changes={};if(dirty&2)shapestyleeditor_changes.locale=ctx[1];if(dirty&32)shapestyleeditor_changes.shape=ctx[5];if(dirty&8)shapestyleeditor_changes.controls=ctx[3];if(dirty&16)shapestyleeditor_changes.scrollElasticity=ctx[4];shapestyleeditor.$set(shapestyleeditor_changes);const scrollable_changes={};if(dirty&1073741830){scrollable_changes.$$scope={dirty:dirty,ctx:ctx}}scrollable.$set(scrollable_changes);if(!current||dirty&64){attr(div,\"style\",ctx[6])}},i(local){if(current)return;transition_in(shapestyleeditor.$$.fragment,local);transition_in(scrollable.$$.fragment,local);current=true},o(local){transition_out(shapestyleeditor.$$.fragment,local);transition_out(scrollable.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(shapestyleeditor);destroy_component(scrollable)}}}function create_fragment$5(ctx){let util;let current;util=new Util({props:{$$slots:{footer:[create_footer_slot$1]},$$scope:{ctx:ctx}}});util.$on(\"measure\",ctx[21]);return{c(){create_component(util.$$.fragment)},m(target,anchor){mount_component(util,target,anchor);current=true},p(ctx,[dirty]){const util_changes={};if(dirty&1073741950){util_changes.$$scope={dirty:dirty,ctx:ctx}}util.$set(util_changes)},i(local){if(current)return;transition_in(util.$$.fragment,local);current=true},o(local){transition_out(util.$$.fragment,local);current=false},d(detaching){destroy_component(util,detaching)}}}function instance$5($$self,$$props,$$invalidate){let computedScrollElasticity;let footerStyle;let $imageFrame;let $animation;let $isActive,$$unsubscribe_isActive=noop,$$subscribe_isActive=()=>($$unsubscribe_isActive(),$$unsubscribe_isActive=subscribe(isActive,$$value=>$$invalidate(19,$isActive=$$value)),isActive);let $footerOffset;$$self.$$.on_destroy.push(()=>$$unsubscribe_isActive());const name=\"frame\";let{isActive}=$$props;$$subscribe_isActive();let{stores}=$$props;let{locale={}}=$$props;let{frameStyles={}}=$$props;let{frameOptions=[]}=$$props;let{markupEditorShapeStyleControls=undefined}=$$props;const{history,animation,elasticityMultiplier,scrollElasticity,imageFrame}=stores;component_subscribe($$self,animation,value=>$$invalidate(18,$animation=value));component_subscribe($$self,imageFrame,value=>$$invalidate(5,$imageFrame=value));let selectedFrameIndex=$imageFrame?frameOptions.findIndex(([id])=>id===$imageFrame.id):0;let frameActiveStyles={frameColor:[1,1,1]};const handleChangeFrame=({value})=>{const frameBase=frameStyles[value];if(!frameBase||!frameBase.shape){imageFrame.set(undefined);history.write();return}const frame={id:value,...frameActiveStyles,...shapeDeepCopy(frameBase.shape)};imageFrame.set(frame);history.write()};let updateWriteHistoryTimeoutId;function handleUpdateSelectedFrameShape(props){if(hasProp(props,\"frameColor\"))frameActiveStyles.frameColor=props.frameColor;if(!$imageFrame)return;shapeUpdateProps($imageFrame,props);imageFrame.set($imageFrame);clearTimeout(updateWriteHistoryTimeoutId);updateWriteHistoryTimeoutId=setTimeout(()=>{history.write()},200)}const isIncompleteSVGMarkup=str=>/rect|path|circle|line|/i.test(str);const isHTML=str=>/div/i.test(str);const getThumb=value=>{if(isHTML(value))return value;if(isSVGMarkup(value))return value;if(isIncompleteSVGMarkup(value))return`${value}`;return`\"\"/`};const getOptionThumb=key=>{const frameStyle=frameStyles[key];if(!frameStyle||!frameStyle.thumb)return;return getThumb(frameStyle.thumb)};const footerOffset=spring($animation?20:0);component_subscribe($$self,footerOffset,value=>$$invalidate(20,$footerOffset=value));function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$subscribe_isActive($$invalidate(0,isActive=$$props.isActive));if(\"stores\"in $$props)$$invalidate(16,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(1,locale=$$props.locale);if(\"frameStyles\"in $$props)$$invalidate(17,frameStyles=$$props.frameStyles);if(\"frameOptions\"in $$props)$$invalidate(2,frameOptions=$$props.frameOptions);if(\"markupEditorShapeStyleControls\"in $$props)$$invalidate(3,markupEditorShapeStyleControls=$$props.markupEditorShapeStyleControls)};$$self.$$.update=()=>{if($$self.$$.dirty&786432){$animation&&footerOffset.set($isActive?0:20)}if($$self.$$.dirty&1048576){$$invalidate(6,footerStyle=$footerOffset?`transform: translateY(${$footerOffset}px)`:undefined)}};$$invalidate(4,computedScrollElasticity=elasticityMultiplier*scrollElasticity);return[isActive,locale,frameOptions,markupEditorShapeStyleControls,computedScrollElasticity,$imageFrame,footerStyle,animation,scrollElasticity,imageFrame,selectedFrameIndex,handleChangeFrame,handleUpdateSelectedFrameShape,getOptionThumb,footerOffset,name,stores,frameStyles,$animation,$isActive,$footerOffset,measure_handler]}class Frame extends SvelteComponent{constructor(options){super();init(this,options,instance$5,create_fragment$5,safe_not_equal,{name:15,isActive:0,stores:16,locale:1,frameStyles:17,frameOptions:2,markupEditorShapeStyleControls:3})}get name(){return this.$$.ctx[15]}get isActive(){return this.$$.ctx[0]}set isActive(isActive){this.$set({isActive:isActive});flush()}get stores(){return this.$$.ctx[16]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[1]}set locale(locale){this.$set({locale:locale});flush()}get frameStyles(){return this.$$.ctx[17]}set frameStyles(frameStyles){this.$set({frameStyles:frameStyles});flush()}get frameOptions(){return this.$$.ctx[2]}set frameOptions(frameOptions){this.$set({frameOptions:frameOptions});flush()}get markupEditorShapeStyleControls(){return this.$$.ctx[3]}set markupEditorShapeStyleControls(markupEditorShapeStyleControls){this.$set({markupEditorShapeStyleControls:markupEditorShapeStyleControls});flush()}}var _plugin_frame={util:[\"frame\",Frame]};function create_fragment$4(ctx){let div;let label_1;let t0;let t1;let input;let input_value_value;let mounted;let dispose;return{c(){div=element(\"div\");label_1=element(\"label\");t0=text(ctx[1]);t1=space();input=element(\"input\");attr(label_1,\"for\",ctx[0]);attr(label_1,\"title\",ctx[2]);attr(label_1,\"aria-label\",ctx[2]);attr(input,\"id\",ctx[0]);attr(input,\"type\",\"text\");attr(input,\"inputmode\",\"numeric\");attr(input,\"pattern\",\"[0-9]*\");attr(input,\"data-state\",ctx[3]);attr(input,\"autocomplete\",\"off\");attr(input,\"placeholder\",ctx[4]);input.value=input_value_value=ctx[5]===undefined?\"\":ctx[7](ctx[5]+\"\");attr(div,\"class\",\"PinturaInputDimension\")},m(target,anchor){insert(target,div,anchor);append(div,label_1);append(label_1,t0);append(div,t1);append(div,input);if(!mounted){dispose=listen(input,\"input\",ctx[8]);mounted=true}},p(ctx,[dirty]){if(dirty&2)set_data(t0,ctx[1]);if(dirty&1){attr(label_1,\"for\",ctx[0])}if(dirty&4){attr(label_1,\"title\",ctx[2])}if(dirty&4){attr(label_1,\"aria-label\",ctx[2])}if(dirty&1){attr(input,\"id\",ctx[0])}if(dirty&8){attr(input,\"data-state\",ctx[3])}if(dirty&16){attr(input,\"placeholder\",ctx[4])}if(dirty&160&&input_value_value!==(input_value_value=ctx[5]===undefined?\"\":ctx[7](ctx[5]+\"\"))&&input.value!==input_value_value){input.value=input_value_value}},i:noop,o:noop,d(detaching){if(detaching)detach(div);mounted=false;dispose()}}}function instance$4($$self,$$props,$$invalidate){let{id}=$$props;let{label}=$$props;let{title}=$$props;let{state}=$$props;let{placeholder}=$$props;let{value}=$$props;let{onchange}=$$props;let{format=str=>str.replace(/\\D/g,\"\")}=$$props;const input_handler=e=>onchange(format(e.currentTarget.value));$$self.$$set=$$props=>{if(\"id\"in $$props)$$invalidate(0,id=$$props.id);if(\"label\"in $$props)$$invalidate(1,label=$$props.label);if(\"title\"in $$props)$$invalidate(2,title=$$props.title);if(\"state\"in $$props)$$invalidate(3,state=$$props.state);if(\"placeholder\"in $$props)$$invalidate(4,placeholder=$$props.placeholder);if(\"value\"in $$props)$$invalidate(5,value=$$props.value);if(\"onchange\"in $$props)$$invalidate(6,onchange=$$props.onchange);if(\"format\"in $$props)$$invalidate(7,format=$$props.format)};return[id,label,title,state,placeholder,value,onchange,format,input_handler]}class DimensionInput extends SvelteComponent{constructor(options){super();init(this,options,instance$4,create_fragment$4,safe_not_equal,{id:0,label:1,title:2,state:3,placeholder:4,value:5,onchange:6,format:7})}}function create_default_slot$1(ctx){let g;return{c(){g=svg_element(\"g\")},m(target,anchor){insert(target,g,anchor);g.innerHTML=ctx[2]},p(ctx,dirty){if(dirty&4)g.innerHTML=ctx[2]},d(detaching){if(detaching)detach(g)}}}function create_fragment$3(ctx){let div;let input;let t;let label;let icon_1;let current;let mounted;let dispose;icon_1=new Icon({props:{$$slots:{default:[create_default_slot$1]},$$scope:{ctx:ctx}}});return{c(){div=element(\"div\");input=element(\"input\");t=space();label=element(\"label\");create_component(icon_1.$$.fragment);attr(input,\"id\",ctx[0]);attr(input,\"class\",\"implicit\");attr(input,\"type\",\"checkbox\");input.checked=ctx[1];attr(label,\"for\",ctx[0]);attr(label,\"title\",ctx[3])},m(target,anchor){insert(target,div,anchor);append(div,input);append(div,t);append(div,label);mount_component(icon_1,label,null);current=true;if(!mounted){dispose=listen(input,\"change\",ctx[5]);mounted=true}},p(ctx,[dirty]){if(!current||dirty&1){attr(input,\"id\",ctx[0])}if(!current||dirty&2){input.checked=ctx[1]}const icon_1_changes={};if(dirty&68){icon_1_changes.$$scope={dirty:dirty,ctx:ctx}}icon_1.$set(icon_1_changes);if(!current||dirty&1){attr(label,\"for\",ctx[0])}if(!current||dirty&8){attr(label,\"title\",ctx[3])}},i(local){if(current)return;transition_in(icon_1.$$.fragment,local);current=true},o(local){transition_out(icon_1.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div);destroy_component(icon_1);mounted=false;dispose()}}}function instance$3($$self,$$props,$$invalidate){let{id}=$$props;let{locked}=$$props;let{icon}=$$props;let{title}=$$props;let{onchange}=$$props;const change_handler=e=>onchange(e.currentTarget.checked);$$self.$$set=$$props=>{if(\"id\"in $$props)$$invalidate(0,id=$$props.id);if(\"locked\"in $$props)$$invalidate(1,locked=$$props.locked);if(\"icon\"in $$props)$$invalidate(2,icon=$$props.icon);if(\"title\"in $$props)$$invalidate(3,title=$$props.title);if(\"onchange\"in $$props)$$invalidate(4,onchange=$$props.onchange)};return[id,locked,icon,title,onchange,change_handler]}class DimensionLock extends SvelteComponent{constructor(options){super();init(this,options,instance$3,create_fragment$3,safe_not_equal,{id:0,locked:1,icon:2,title:3,onchange:4})}}function create_default_slot(ctx){let t;return{c(){t=text(\"Save\")},m(target,anchor){insert(target,t,anchor)},d(detaching){if(detaching)detach(t)}}}function create_footer_slot(ctx){let form;let div1;let fieldset;let legend;let t0_value=ctx[1].resizeLabelFormCaption+\"\";let t0;let t1;let div0;let dynamiccomponenttree;let t2;let button;let current;let mounted;let dispose;dynamiccomponenttree=new DynamicComponentTree_1({props:{items:ctx[3]}});button=new Button({props:{type:\"submit\",class:\"implicit\",$$slots:{default:[create_default_slot]},$$scope:{ctx:ctx}}});return{c(){form=element(\"form\");div1=element(\"div\");fieldset=element(\"fieldset\");legend=element(\"legend\");t0=text(t0_value);t1=space();div0=element(\"div\");create_component(dynamiccomponenttree.$$.fragment);t2=space();create_component(button.$$.fragment);attr(legend,\"class\",\"implicit\");attr(div0,\"class\",\"PinturaFieldsetInner\");attr(div1,\"class\",\"PinturaFormInner\");attr(form,\"slot\",\"footer\");attr(form,\"style\",ctx[4])},m(target,anchor){insert(target,form,anchor);append(form,div1);append(div1,fieldset);append(fieldset,legend);append(legend,t0);append(fieldset,t1);append(fieldset,div0);mount_component(dynamiccomponenttree,div0,null);ctx[62](div0);append(div1,t2);mount_component(button,div1,null);current=true;if(!mounted){dispose=[listen(div0,\"focusin\",ctx[13]),listen(div0,\"focusout\",ctx[14]),listen(form,\"submit\",prevent_default(ctx[15]))];mounted=true}},p(ctx,dirty){if((!current||dirty[0]&2)&&t0_value!==(t0_value=ctx[1].resizeLabelFormCaption+\"\"))set_data(t0,t0_value);const dynamiccomponenttree_changes={};if(dirty[0]&8)dynamiccomponenttree_changes.items=ctx[3];dynamiccomponenttree.$set(dynamiccomponenttree_changes);const button_changes={};if(dirty[2]&2097152){button_changes.$$scope={dirty:dirty,ctx:ctx}}button.$set(button_changes);if(!current||dirty[0]&16){attr(form,\"style\",ctx[4])}},i(local){if(current)return;transition_in(dynamiccomponenttree.$$.fragment,local);transition_in(button.$$.fragment,local);current=true},o(local){transition_out(dynamiccomponenttree.$$.fragment,local);transition_out(button.$$.fragment,local);current=false},d(detaching){if(detaching)detach(form);destroy_component(dynamiccomponenttree);ctx[62](null);destroy_component(button);mounted=false;run_all(dispose)}}}function create_fragment$2(ctx){let util;let current;util=new Util({props:{$$slots:{footer:[create_footer_slot]},$$scope:{ctx:ctx}}});util.$on(\"measure\",ctx[63]);return{c(){create_component(util.$$.fragment)},m(target,anchor){mount_component(util,target,anchor);current=true},p(ctx,dirty){const util_changes={};if(dirty[0]&30|dirty[2]&2097152){util_changes.$$scope={dirty:dirty,ctx:ctx}}util.$set(util_changes)},i(local){if(current)return;transition_in(util.$$.fragment,local);current=true},o(local){transition_out(util.$$.fragment,local);current=false},d(detaching){destroy_component(util,detaching)}}}function instance$2($$self,$$props,$$invalidate){let sizePresetLabel;let widthPresetLabel;let heightPresetLabel;let canRenderSizePresets;let canRenderWidthPresets;let canRenderHeightPresets;let canRenderSizeInputs;let tools;let footerStyle;let $imageCropRectAspectRatio;let $imageOutputSize;let $imageCropAspectRatio;let $imageSize;let $formattedResizeSizePresetOptions;let $formattedResizeSizePresetOptionsFlattened;let $formattedResizeWidthPresetOptions;let $formattedResizeWidthPresetOptionsFlattened;let $formattedResizeHeightPresetOptions;let $formattedResizeHeightPresetOptionsFlattened;let $sizePresetSelectedIndex;let $widthPresetSelectedIndex;let $heightPresetSelectedIndex;let $imageCropRect;let $iconActiveFraction;let $env;let $animation;let $isActive,$$unsubscribe_isActive=noop,$$subscribe_isActive=()=>($$unsubscribe_isActive(),$$unsubscribe_isActive=subscribe(isActive,$$value=>$$invalidate(60,$isActive=$$value)),isActive);let $footerOffset;$$self.$$.on_destroy.push(()=>$$unsubscribe_isActive());const formatValue=(value,min=0,max=9999)=>{if(isString(value)){value=value.replace(/\\D/g,\"\");if(!value.length)return}const v=Math.round(value);if(Number.isNaN(v))return;return clamp(v,min,max)};const name=\"resize\";let{isActive}=$$props;$$subscribe_isActive();let{stores}=$$props;let{locale={}}=$$props;let{resizeMinSize=sizeCreate(1,1)}=$$props;let{resizeMaxSize=sizeCreate(9999,9999)}=$$props;let{resizeSizePresetOptions=undefined}=$$props;let{resizeWidthPresetOptions=undefined}=$$props;let{resizeHeightPresetOptions=undefined}=$$props;let{resizeWillRenderFooter=passthrough}=$$props;const iconActiveFraction=spring(0,{stiffness:.15,damping:.3});component_subscribe($$self,iconActiveFraction,value=>$$invalidate(57,$iconActiveFraction=value));const{animation,imageSize,imageCropRect,imageCropRectAspectRatio,imageCropAspectRatio,imageOutputSize,history,env}=stores;component_subscribe($$self,animation,value=>$$invalidate(59,$animation=value));component_subscribe($$self,imageSize,value=>$$invalidate(69,$imageSize=value));component_subscribe($$self,imageCropRect,value=>$$invalidate(52,$imageCropRect=value));component_subscribe($$self,imageCropRectAspectRatio,value=>$$invalidate(39,$imageCropRectAspectRatio=value));component_subscribe($$self,imageCropAspectRatio,value=>$$invalidate(68,$imageCropAspectRatio=value));component_subscribe($$self,imageOutputSize,value=>$$invalidate(67,$imageOutputSize=value));component_subscribe($$self,env,value=>$$invalidate(58,$env=value));const formId=getUniqueId();let fieldsGroup;let maintainAspectRatio=false;let width;let height;let activeField;let lastActiveField;const getState=(value,field,activeField,resizeMinSize,resizeMaxSize)=>value!=null&&activeField!==field?value>=resizeMinSize[field]&&value<=resizeMaxSize[field]?\"valid\":\"invalid\":\"undetermined\";const getWidthPlaceholder=(value,cropAspectRatio,cropRect)=>Math.round(value!=null?value*cropAspectRatio:cropRect.width);const getHeightPlaceholder=(value,cropAspectRatio,cropRect)=>Math.round(value!=null?value/cropAspectRatio:cropRect.height);const handleFocusIn=e=>{const id=e.target.id;if(/width/.test(id)){$$invalidate(37,activeField=\"width\")}else if(/height/.test(id)){$$invalidate(37,activeField=\"height\")}else if(/aspectRatio/i.test(id)){$$invalidate(37,activeField=\"lock\")}else{$$invalidate(37,activeField=undefined)}};const handleFocusOut=e=>{if(!fieldsGroup.contains(e.relatedTarget))handleSubmit();$$invalidate(37,activeField=undefined)};const syncFields=()=>{if(!maintainAspectRatio||!width||!height)return;if(activeField===\"width\"){$$invalidate(36,height=Math.round(width/$imageCropRectAspectRatio))}else if(activeField===\"height\"){$$invalidate(35,width=Math.round(height*$imageCropRectAspectRatio))}else{if(lastActiveField===\"width\"){$$invalidate(36,height=Math.round(width/$imageCropRectAspectRatio))}else if(lastActiveField===\"height\"){$$invalidate(35,width=Math.round(height*$imageCropRectAspectRatio))}consolidateSize()}};const consolidateSize=forcedAspectRatio=>{let inputWidth=formatValue(width);let inputHeight=formatValue(height);let currentWidth=inputWidth;let currentHeight=inputHeight;let bothAxisDefined=currentWidth&¤tHeight;let aspectRatio=forcedAspectRatio||$imageCropRectAspectRatio;if(!currentWidth&&!currentHeight)return;if(currentWidth&&!currentHeight){currentHeight=Math.round(currentWidth/aspectRatio)}else if(currentHeight&&!currentWidth){currentWidth=Math.round(currentHeight*aspectRatio)}aspectRatio=forcedAspectRatio||bothAxisDefined?getAspectRatio(currentWidth,currentHeight):$imageCropRectAspectRatio;let currentSize=sizeCreate(currentWidth,currentHeight);if(!sizeContains(resizeMaxSize,currentSize)){currentSize=rectContainRect(resizeMaxSize,aspectRatio)}if(!sizeContains(currentSize,resizeMinSize)){currentSize=rectCoverRect(resizeMinSize,aspectRatio)}$$invalidate(35,width=inputWidth!=null?Math.round(currentSize.width):undefined);$$invalidate(36,height=inputHeight!=null?Math.round(currentSize.height):undefined)};const handleSubmit=()=>{consolidateSize();const{width:currentWidth,height:currentHeight}=$imageOutputSize||{};if(currentWidth===width&¤tHeight===height)return;if(!width&&!height){set_store_value(imageCropAspectRatio,$imageCropAspectRatio=$imageSize.width/$imageSize.height,$imageCropAspectRatio);set_store_value(imageCropAspectRatio,$imageCropAspectRatio=undefined,$imageCropAspectRatio);set_store_value(imageOutputSize,$imageOutputSize=undefined,$imageOutputSize)}else{if(width&&height)set_store_value(imageCropAspectRatio,$imageCropAspectRatio=width/height,$imageCropAspectRatio);set_store_value(imageOutputSize,$imageOutputSize=sizeCreate(width,height),$imageOutputSize)}history.write()};const imageOutputSizeUnsub=imageOutputSize.subscribe(size=>{if(!size){$$invalidate(35,width=undefined);$$invalidate(36,height=undefined);return}$$invalidate(35,width=size.width);$$invalidate(36,height=size.height);consolidateSize()});const imageCropAspectRatioUnsub=imageCropAspectRatio.subscribe(cropAspectRatio=>{if(!width&&!height)return;if(!cropAspectRatio)return;if(width&&height&&getAspectRatio(width,height)!==cropAspectRatio){$$invalidate(36,height=width/cropAspectRatio);consolidateSize(cropAspectRatio)}else{consolidateSize()}});const formatPresetDimensionOption=option=>{if(isString(option[0])){option[1]=option[1].map(formatPresetDimensionOption);return option}return isNumber(option)?[option,\"\"+option]:option};const formatPresetSizeOption=option=>{if(isString(option[0])){option[1]=option[1].map(formatPresetSizeOption);return option}let[value,label]=option;if(isNumber(value)&&isNumber(label)){const[w,h]=[value,label];label=`${w} × ${h}`;value=[w,h]}return[value,label]};const formattedResizeSizePresetOptions=writable();component_subscribe($$self,formattedResizeSizePresetOptions,value=>$$invalidate(40,$formattedResizeSizePresetOptions=value));const formattedResizeSizePresetOptionsFlattened=writable();component_subscribe($$self,formattedResizeSizePresetOptionsFlattened,value=>$$invalidate(41,$formattedResizeSizePresetOptionsFlattened=value));const formattedResizeWidthPresetOptions=writable();component_subscribe($$self,formattedResizeWidthPresetOptions,value=>$$invalidate(42,$formattedResizeWidthPresetOptions=value));const formattedResizeWidthPresetOptionsFlattened=writable();component_subscribe($$self,formattedResizeWidthPresetOptionsFlattened,value=>$$invalidate(43,$formattedResizeWidthPresetOptionsFlattened=value));const formattedResizeHeightPresetOptions=writable();component_subscribe($$self,formattedResizeHeightPresetOptions,value=>$$invalidate(44,$formattedResizeHeightPresetOptions=value));const formattedResizeHeightPresetOptionsFlattened=writable();component_subscribe($$self,formattedResizeHeightPresetOptionsFlattened,value=>$$invalidate(45,$formattedResizeHeightPresetOptionsFlattened=value));const sizePresetSelectedIndex=derived([imageOutputSize,formattedResizeSizePresetOptionsFlattened],([$imageOutputSize,$formattedResizeSizePresetOptionsFlattened],set)=>{if(!$formattedResizeSizePresetOptionsFlattened)return set(-1);const index=$formattedResizeSizePresetOptionsFlattened.findIndex(([value])=>{if(!value&&!$imageOutputSize)return true;if(!value)return false;const[width,height]=value;return $imageOutputSize.width===width&&$imageOutputSize.height===height});set(index<0?0:index)});component_subscribe($$self,sizePresetSelectedIndex,value=>$$invalidate(47,$sizePresetSelectedIndex=value));const widthPresetSelectedIndex=derived([imageOutputSize,formattedResizeWidthPresetOptionsFlattened],([$imageOutputSize,$formattedResizeWidthPresetOptionsFlattened],set)=>{if(!$formattedResizeWidthPresetOptionsFlattened)return set(-1);const index=$formattedResizeWidthPresetOptionsFlattened.findIndex(([value])=>{if(!value&&!$imageOutputSize)return true;if(!value)return false;return $imageOutputSize.width===value});set(index<0?0:index)});component_subscribe($$self,widthPresetSelectedIndex,value=>$$invalidate(49,$widthPresetSelectedIndex=value));const heightPresetSelectedIndex=derived([imageOutputSize,formattedResizeHeightPresetOptionsFlattened],([$imageOutputSize,$formattedResizeHeightPresetOptionsFlattened],set)=>{if(!$formattedResizeHeightPresetOptionsFlattened)return set(-1);const index=$formattedResizeHeightPresetOptionsFlattened.findIndex(([value])=>{if(!value&&!$imageOutputSize)return true;if(!value)return false;return $imageOutputSize.height===value});set(index<0?0:index)});component_subscribe($$self,heightPresetSelectedIndex,value=>$$invalidate(51,$heightPresetSelectedIndex=value));let storedCropRect=undefined;let storedCropAspectRatio=undefined;const setImageOutputSizeWithArray=size=>{if(size&&!storedCropRect){storedCropRect={...$imageCropRect};storedCropAspectRatio=$imageCropAspectRatio}if(!size){set_store_value(imageCropRect,$imageCropRect=storedCropRect,$imageCropRect);set_store_value(imageCropAspectRatio,$imageCropAspectRatio=storedCropAspectRatio,$imageCropAspectRatio);set_store_value(imageOutputSize,$imageOutputSize=undefined,$imageOutputSize);storedCropRect=undefined;storedCropAspectRatio=undefined}else{set_store_value(imageCropAspectRatio,$imageCropAspectRatio=getAspectRatio(size[0],size[1]),$imageCropAspectRatio);set_store_value(imageOutputSize,$imageOutputSize=sizeCreateFromArray(size),$imageOutputSize)}history.write()};let redrawTrigger={};const footerOffset=spring($animation?20:0);component_subscribe($$self,footerOffset,value=>$$invalidate(61,$footerOffset=value));onDestroy(()=>{imageOutputSizeUnsub();imageCropAspectRatioUnsub()});function div0_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{fieldsGroup=$$value;$$invalidate(2,fieldsGroup)})}function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$subscribe_isActive($$invalidate(0,isActive=$$props.isActive));if(\"stores\"in $$props)$$invalidate(27,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(1,locale=$$props.locale);if(\"resizeMinSize\"in $$props)$$invalidate(28,resizeMinSize=$$props.resizeMinSize);if(\"resizeMaxSize\"in $$props)$$invalidate(29,resizeMaxSize=$$props.resizeMaxSize);if(\"resizeSizePresetOptions\"in $$props)$$invalidate(30,resizeSizePresetOptions=$$props.resizeSizePresetOptions);if(\"resizeWidthPresetOptions\"in $$props)$$invalidate(31,resizeWidthPresetOptions=$$props.resizeWidthPresetOptions);if(\"resizeHeightPresetOptions\"in $$props)$$invalidate(32,resizeHeightPresetOptions=$$props.resizeHeightPresetOptions);if(\"resizeWillRenderFooter\"in $$props)$$invalidate(33,resizeWillRenderFooter=$$props.resizeWillRenderFooter)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&1073741824|$$self.$$.dirty[1]&512){if(resizeSizePresetOptions){set_store_value(formattedResizeSizePresetOptions,$formattedResizeSizePresetOptions=resizeSizePresetOptions.map(formatPresetSizeOption),$formattedResizeSizePresetOptions);set_store_value(formattedResizeSizePresetOptionsFlattened,$formattedResizeSizePresetOptionsFlattened=flattenOptions($formattedResizeSizePresetOptions),$formattedResizeSizePresetOptionsFlattened)}}if($$self.$$.dirty[1]&512){$$invalidate(53,canRenderSizePresets=!!$formattedResizeSizePresetOptions)}if($$self.$$.dirty[1]&66560){$$invalidate(46,sizePresetLabel=$sizePresetSelectedIndex>-1&&$formattedResizeSizePresetOptionsFlattened[$sizePresetSelectedIndex][1])}if($$self.$$.dirty[1]&2049){if(resizeWidthPresetOptions){set_store_value(formattedResizeWidthPresetOptions,$formattedResizeWidthPresetOptions=resizeWidthPresetOptions.map(formatPresetDimensionOption),$formattedResizeWidthPresetOptions);set_store_value(formattedResizeWidthPresetOptionsFlattened,$formattedResizeWidthPresetOptionsFlattened=flattenOptions($formattedResizeWidthPresetOptions),$formattedResizeWidthPresetOptionsFlattened)}}if($$self.$$.dirty[1]&4196352){$$invalidate(54,canRenderWidthPresets=!canRenderSizePresets&&$formattedResizeWidthPresetOptions)}if($$self.$$.dirty[1]&266240){$$invalidate(48,widthPresetLabel=$widthPresetSelectedIndex>-1&&$formattedResizeWidthPresetOptionsFlattened[$widthPresetSelectedIndex][1])}if($$self.$$.dirty[1]&8194){if(resizeHeightPresetOptions){set_store_value(formattedResizeHeightPresetOptions,$formattedResizeHeightPresetOptions=resizeHeightPresetOptions.map(formatPresetDimensionOption),$formattedResizeHeightPresetOptions);set_store_value(formattedResizeHeightPresetOptionsFlattened,$formattedResizeHeightPresetOptionsFlattened=flattenOptions($formattedResizeHeightPresetOptions),$formattedResizeHeightPresetOptionsFlattened)}}if($$self.$$.dirty[1]&4202496){$$invalidate(55,canRenderHeightPresets=!canRenderSizePresets&&$formattedResizeHeightPresetOptions)}if($$self.$$.dirty[1]&1064960){$$invalidate(50,heightPresetLabel=$heightPresetSelectedIndex>-1&&$formattedResizeHeightPresetOptionsFlattened[$heightPresetSelectedIndex][1])}if($$self.$$.dirty[1]&29360128){$$invalidate(56,canRenderSizeInputs=!canRenderSizePresets&&!canRenderWidthPresets&&!canRenderHeightPresets)}if($$self.$$.dirty[0]&805306370|$$self.$$.dirty[1]&268413948){$$invalidate(3,tools=redrawTrigger&&resizeWillRenderFooter([canRenderSizePresets&&[\"Dropdown\",\"size-presets\",{label:sizePresetLabel,options:$formattedResizeSizePresetOptions,onchange:item=>setImageOutputSizeWithArray(item.value),selectedIndex:$sizePresetSelectedIndex}],canRenderWidthPresets&&[\"Dropdown\",\"width-presets\",{label:widthPresetLabel,options:$formattedResizeWidthPresetOptions,onchange:item=>{$$invalidate(35,width=item.value);handleSubmit()},selectedIndex:$widthPresetSelectedIndex}],canRenderWidthPresets&&canRenderHeightPresets&&[\"span\",\"times\",{class:\"PinturaResizeLabel\",innerHTML:\"×\"}],canRenderHeightPresets&&[\"Dropdown\",\"height-presets\",{label:heightPresetLabel,options:$formattedResizeHeightPresetOptions,onchange:item=>{$$invalidate(36,height=item.value);handleSubmit()},selectedIndex:$heightPresetSelectedIndex}],canRenderSizeInputs&&[DimensionInput,\"width-input\",{id:`width-${formId}`,title:locale.resizeTitleInputWidth,label:locale.resizeLabelInputWidth,placeholder:getWidthPlaceholder(formatValue(height),$imageCropRectAspectRatio,$imageCropRect),value:width,state:getState(formatValue(width),\"width\",activeField,resizeMinSize,resizeMaxSize),onchange:value=>{$$invalidate(35,width=value);syncFields()}}],canRenderSizeInputs&&[DimensionLock,\"aspect-ratio-lock\",{id:`aspect-ratio-lock-${formId}`,title:locale.resizeTitleButtonMaintainAspectRatio,icon:isString(locale.resizeIconButtonMaintainAspectRatio)?locale.resizeIconButtonMaintainAspectRatio:locale.resizeIconButtonMaintainAspectRatio(maintainAspectRatio,$iconActiveFraction),locked:maintainAspectRatio,onchange:locked=>{$$invalidate(34,maintainAspectRatio=locked);syncFields()}}],canRenderSizeInputs&&[DimensionInput,\"height-input\",{id:`height-${formId}`,title:locale.resizeTitleInputHeight,label:locale.resizeLabelInputHeight,placeholder:getHeightPlaceholder(formatValue(width),$imageCropRectAspectRatio,$imageCropRect),value:height,state:getState(formatValue(height),\"height\",activeField,resizeMinSize,resizeMaxSize),onchange:value=>{$$invalidate(36,height=value);syncFields()}}]].filter(Boolean),{...$env},()=>$$invalidate(38,redrawTrigger={})).filter(Boolean))}if($$self.$$.dirty[1]&8){iconActiveFraction.set(maintainAspectRatio?1:0)}if($$self.$$.dirty[1]&64){if(activeField)lastActiveField=activeField}if($$self.$$.dirty[1]&805306368){$animation&&footerOffset.set($isActive?0:20)}if($$self.$$.dirty[1]&1073741824){$$invalidate(4,footerStyle=$footerOffset?`transform: translateY(${$footerOffset}px)`:undefined)}};return[isActive,locale,fieldsGroup,tools,footerStyle,iconActiveFraction,animation,imageSize,imageCropRect,imageCropRectAspectRatio,imageCropAspectRatio,imageOutputSize,env,handleFocusIn,handleFocusOut,handleSubmit,formattedResizeSizePresetOptions,formattedResizeSizePresetOptionsFlattened,formattedResizeWidthPresetOptions,formattedResizeWidthPresetOptionsFlattened,formattedResizeHeightPresetOptions,formattedResizeHeightPresetOptionsFlattened,sizePresetSelectedIndex,widthPresetSelectedIndex,heightPresetSelectedIndex,footerOffset,name,stores,resizeMinSize,resizeMaxSize,resizeSizePresetOptions,resizeWidthPresetOptions,resizeHeightPresetOptions,resizeWillRenderFooter,maintainAspectRatio,width,height,activeField,redrawTrigger,$imageCropRectAspectRatio,$formattedResizeSizePresetOptions,$formattedResizeSizePresetOptionsFlattened,$formattedResizeWidthPresetOptions,$formattedResizeWidthPresetOptionsFlattened,$formattedResizeHeightPresetOptions,$formattedResizeHeightPresetOptionsFlattened,sizePresetLabel,$sizePresetSelectedIndex,widthPresetLabel,$widthPresetSelectedIndex,heightPresetLabel,$heightPresetSelectedIndex,$imageCropRect,canRenderSizePresets,canRenderWidthPresets,canRenderHeightPresets,canRenderSizeInputs,$iconActiveFraction,$env,$animation,$isActive,$footerOffset,div0_binding,measure_handler]}class Resize extends SvelteComponent{constructor(options){super();init(this,options,instance$2,create_fragment$2,safe_not_equal,{name:26,isActive:0,stores:27,locale:1,resizeMinSize:28,resizeMaxSize:29,resizeSizePresetOptions:30,resizeWidthPresetOptions:31,resizeHeightPresetOptions:32,resizeWillRenderFooter:33},[-1,-1,-1])}get name(){return this.$$.ctx[26]}get isActive(){return this.$$.ctx[0]}set isActive(isActive){this.$set({isActive:isActive});flush()}get stores(){return this.$$.ctx[27]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[1]}set locale(locale){this.$set({locale:locale});flush()}get resizeMinSize(){return this.$$.ctx[28]}set resizeMinSize(resizeMinSize){this.$set({resizeMinSize:resizeMinSize});flush()}get resizeMaxSize(){return this.$$.ctx[29]}set resizeMaxSize(resizeMaxSize){this.$set({resizeMaxSize:resizeMaxSize});flush()}get resizeSizePresetOptions(){return this.$$.ctx[30]}set resizeSizePresetOptions(resizeSizePresetOptions){this.$set({resizeSizePresetOptions:resizeSizePresetOptions});flush()}get resizeWidthPresetOptions(){return this.$$.ctx[31]}set resizeWidthPresetOptions(resizeWidthPresetOptions){this.$set({resizeWidthPresetOptions:resizeWidthPresetOptions});flush()}get resizeHeightPresetOptions(){return this.$$.ctx[32]}set resizeHeightPresetOptions(resizeHeightPresetOptions){this.$set({resizeHeightPresetOptions:resizeHeightPresetOptions});flush()}get resizeWillRenderFooter(){return this.$$.ctx[33]}set resizeWillRenderFooter(resizeWillRenderFooter){this.$set({resizeWillRenderFooter:resizeWillRenderFooter});flush()}}var _plugin_resize={util:[\"resize\",Resize]};function create_fragment$1(ctx){let shapeutil;let current;shapeutil=new ShapeUtil({props:{stores:ctx[3],locale:ctx[4],isActive:ctx[0],isActiveFraction:ctx[1],isVisible:ctx[2],mapScreenPointToImagePoint:ctx[7],mapImagePointToScreenPoint:ctx[8],utilKey:\"redact\",imageRotation:ctx[9],imageFlipX:ctx[5],imageFlipY:ctx[6],shapes:ctx[10],tools:[\"rect\"],toolShapes:{rectangle:[{x:0,y:0,width:0,height:0}]},toolActive:\"rectangle\",parentRect:ctx[12],enablePresetDropImage:false,enablePresetSelectImage:false,hooks:{willRenderShapeControls:ctx[21]}}});shapeutil.$on(\"measure\",ctx[22]);return{c(){create_component(shapeutil.$$.fragment)},m(target,anchor){mount_component(shapeutil,target,anchor);current=true},p(ctx,[dirty]){const shapeutil_changes={};if(dirty&8)shapeutil_changes.stores=ctx[3];if(dirty&16)shapeutil_changes.locale=ctx[4];if(dirty&1)shapeutil_changes.isActive=ctx[0];if(dirty&2)shapeutil_changes.isActiveFraction=ctx[1];if(dirty&4)shapeutil_changes.isVisible=ctx[2];if(dirty&128)shapeutil_changes.mapScreenPointToImagePoint=ctx[7];if(dirty&256)shapeutil_changes.mapImagePointToScreenPoint=ctx[8];if(dirty&512)shapeutil_changes.imageRotation=ctx[9];if(dirty&32)shapeutil_changes.imageFlipX=ctx[5];if(dirty&64)shapeutil_changes.imageFlipY=ctx[6];shapeutil.$set(shapeutil_changes)},i(local){if(current)return;transition_in(shapeutil.$$.fragment,local);current=true},o(local){transition_out(shapeutil.$$.fragment,local);current=false},d(detaching){destroy_component(shapeutil,detaching)}}}function instance$1($$self,$$props,$$invalidate){let mapScreenPointToImagePoint;let mapImagePointToScreenPoint;let $rootRect;let $imageSize;let $imageTransforms;let $imageFlipX;let $imageFlipY;let $imageRotation;const name=\"redact\";let{isActive}=$$props;let{isActiveFraction}=$$props;let{isVisible}=$$props;let{stores}=$$props;let{locale={}}=$$props;const{imageRedaction,rootRect,imageSize,imageTransforms,imageRotation,imageFlipX,imageFlipY}=stores;component_subscribe($$self,rootRect,value=>$$invalidate(18,$rootRect=value));component_subscribe($$self,imageSize,value=>$$invalidate(19,$imageSize=value));component_subscribe($$self,imageTransforms,value=>$$invalidate(20,$imageTransforms=value));component_subscribe($$self,imageRotation,value=>$$invalidate(9,$imageRotation=value));component_subscribe($$self,imageFlipX,value=>$$invalidate(5,$imageFlipX=value));component_subscribe($$self,imageFlipY,value=>$$invalidate(6,$imageFlipY=value));const func=controls=>{const children=getNodeChildren(controls[0]);removeNode(\"to-front\",children);return controls};function measure_handler(event){bubble($$self,event)}$$self.$$set=$$props=>{if(\"isActive\"in $$props)$$invalidate(0,isActive=$$props.isActive);if(\"isActiveFraction\"in $$props)$$invalidate(1,isActiveFraction=$$props.isActiveFraction);if(\"isVisible\"in $$props)$$invalidate(2,isVisible=$$props.isVisible);if(\"stores\"in $$props)$$invalidate(3,stores=$$props.stores);if(\"locale\"in $$props)$$invalidate(4,locale=$$props.locale)};$$self.$$.update=()=>{if($$self.$$.dirty&1835104){$$invalidate(7,mapScreenPointToImagePoint=point=>_mapScreenPointToImagePoint(point,$rootRect,$imageSize,$imageTransforms.origin,$imageTransforms.translation,$imageTransforms.rotation.z,$imageTransforms.scale,$imageFlipX,$imageFlipY))}if($$self.$$.dirty&1835104){$$invalidate(8,mapImagePointToScreenPoint=point=>_mapImagePointToScreenPoint(point,$rootRect,$imageSize,$imageTransforms.origin,$imageTransforms.translation,$imageTransforms.rotation.z,$imageTransforms.scale,$imageFlipX,$imageFlipY))}};return[isActive,isActiveFraction,isVisible,stores,locale,$imageFlipX,$imageFlipY,mapScreenPointToImagePoint,mapImagePointToScreenPoint,$imageRotation,imageRedaction,rootRect,imageSize,imageTransforms,imageRotation,imageFlipX,imageFlipY,name,$rootRect,$imageSize,$imageTransforms,func,measure_handler]}class Redact extends SvelteComponent{constructor(options){super();init(this,options,instance$1,create_fragment$1,safe_not_equal,{name:17,isActive:0,isActiveFraction:1,isVisible:2,stores:3,locale:4})}get name(){return this.$$.ctx[17]}get isActive(){return this.$$.ctx[0]}set isActive(isActive){this.$set({isActive:isActive});flush()}get isActiveFraction(){return this.$$.ctx[1]}set isActiveFraction(isActiveFraction){this.$set({isActiveFraction:isActiveFraction});flush()}get isVisible(){return this.$$.ctx[2]}set isVisible(isVisible){this.$set({isVisible:isVisible});flush()}get stores(){return this.$$.ctx[3]}set stores(stores){this.$set({stores:stores});flush()}get locale(){return this.$$.ctx[4]}set locale(locale){this.$set({locale:locale});flush()}}var _plugin_redact={util:[\"redact\",Redact]};const IconCross='
';const CharacterA='';var _locale_en_gb={labelReset:\"Reset\",labelDefault:\"Default\",labelAuto:\"Auto\",labelNone:\"None\",labelEdit:\"Edit\",labelClose:\"Close\",labelSupportError:features=>`${features.join(\", \")} not supported on this browser`,labelColor:\"Color\",labelWidth:\"Width\",labelSize:\"Size\",labelOffset:\"Offset\",labelAmount:\"Amount\",labelInset:\"Inset\",labelRadius:\"Radius\",labelSizeExtraSmall:\"Extra small\",labelSizeSmall:\"Small\",labelSizeMediumSmall:\"Medium small\",labelSizeMedium:\"Medium\",labelSizeMediumLarge:\"Medium large\",labelSizeLarge:\"Large\",labelSizeExtraLarge:\"Extra large\",labelButtonRevert:\"Revert\",labelButtonCancel:\"Cancel\",labelButtonUndo:\"Undo\",labelButtonRedo:\"Redo\",labelButtonExport:\"Done\",iconSupportError:``,iconButtonClose:IconCross,iconButtonRevert:``,iconButtonUndo:``,iconButtonRedo:``,iconButtonExport:``,statusLabelButtonClose:\"Close\",statusIconButtonClose:IconCross,statusLabelLoadImage:state=>{if(!state||!state.task)return\"Waiting for image\";if(state.error)return state.error.code===\"IMAGE_TOO_SMALL\"?\"Minimum image size is {minWidth} × {minHeight}\":\"Error loading image\";if(state.task===\"blob-to-bitmap\")return\"Creating preview…\";return\"Loading image…\"},statusLabelProcessImage:state=>{if(!state||!state.task)return undefined;if(state.task===\"store\"){if(state.error)return\"Error uploading image\";return\"Uploading image…\"}if(state.error)return\"Error processing image\";return\"Processing image…\"}};const MarkupEditor={shapeLabelButtonSelectSticker:\"Select image\",shapeIconButtonSelectSticker:``,shapeIconButtonFlipHorizontal:``,shapeIconButtonFlipVertical:``,shapeIconButtonRemove:``,shapeIconButtonDuplicate:``,shapeIconButtonMoveToFront:``,shapeIconButtonTextLayoutAutoWidth:`${CharacterA}`,shapeIconButtonTextLayoutAutoHeight:`${CharacterA}`,shapeIconButtonTextLayoutFixedSize:`${CharacterA}`,shapeTitleButtonTextLayoutAutoWidth:\"Auto width\",shapeTitleButtonTextLayoutAutoHeight:\"Auto height\",shapeTitleButtonTextLayoutFixedSize:\"Fixed size\",shapeTitleButtonFlipHorizontal:\"Flip Horizontal\",shapeTitleButtonFlipVertical:\"Flip Vertical\",shapeTitleButtonRemove:\"Remove\",shapeTitleButtonDuplicate:\"Duplicate\",shapeTitleButtonMoveToFront:\"Move to front\",shapeLabelInputText:\"Edit text\",shapeIconInputCancel:``,shapeIconInputConfirm:``,shapeLabelInputCancel:\"Cancel\",shapeLabelInputConfirm:\"Confirm\",shapeLabelStrokeNone:\"No outline\",shapeLabelFontStyleNormal:\"Normal\",shapeLabelFontStyleBold:\"Bold\",shapeLabelFontStyleItalic:\"Italic\",shapeLabelFontStyleItalicBold:\"Bold Italic\",shapeTitleBackgroundColor:\"Fill color\",shapeTitleFontFamily:\"Font\",shapeTitleFontSize:\"Font size\",shapeTitleFontStyle:\"Font style\",shapeTitleLineHeight:\"Line height\",shapeTitleLineStart:\"Start\",shapeTitleLineEnd:\"End\",shapeTitleStrokeWidth:\"Line width\",shapeTitleStrokeColor:\"Line color\",shapeTitleLineDecorationBar:\"Bar\",shapeTitleLineDecorationCircle:\"Circle\",shapeTitleLineDecorationSquare:\"Square\",shapeTitleLineDecorationArrow:\"Arrow\",shapeTitleLineDecorationCircleSolid:\"Circle solid\",shapeTitleLineDecorationSquareSolid:\"Square solid\",shapeTitleLineDecorationArrowSolid:\"Arrow solid\",shapeIconLineDecorationBar:``,shapeIconLineDecorationCircle:``,shapeIconLineDecorationSquare:``,shapeIconLineDecorationArrow:``,shapeIconLineDecorationCircleSolid:``,shapeIconLineDecorationSquareSolid:``,shapeIconLineDecorationArrowSolid:``,shapeTitleColorTransparent:\"Transparent\",shapeTitleColorWhite:\"White\",shapeTitleColorSilver:\"Silver\",shapeTitleColorGray:\"Gray\",shapeTitleColorBlack:\"Black\",shapeTitleColorNavy:\"Navy\",shapeTitleColorBlue:\"Blue\",shapeTitleColorAqua:\"Aqua\",shapeTitleColorTeal:\"Teal\",shapeTitleColorOlive:\"Olive\",shapeTitleColorGreen:\"Green\",shapeTitleColorYellow:\"Yellow\",shapeTitleColorOrange:\"Orange\",shapeTitleColorRed:\"Red\",shapeTitleColorMaroon:\"Maroon\",shapeTitleColorFuchsia:\"Fuchsia\",shapeTitleColorPurple:\"Purple\",shapeTitleTextColor:\"Font color\",shapeTitleTextAlign:\"Text align\",shapeTitleTextAlignLeft:\"Left align text\",shapeTitleTextAlignCenter:\"Center align text\",shapeTitleTextAlignRight:\"Right align text\",shapeIconTextAlignLeft:``,shapeIconTextAlignCenter:``,shapeIconTextAlignRight:``,shapeLabelToolSharpie:\"Sharpie\",shapeLabelToolEraser:\"Eraser\",shapeLabelToolRectangle:\"Rectangle\",shapeLabelToolEllipse:\"Ellipse\",shapeLabelToolArrow:\"Arrow\",shapeLabelToolLine:\"Line\",shapeLabelToolText:\"Text\",shapeLabelToolPreset:\"Stickers\",shapeIconToolSharpie:``,shapeIconToolEraser:``,shapeIconToolRectangle:``,shapeIconToolEllipse:``,shapeIconToolArrow:``,shapeIconToolLine:``,shapeIconToolText:``,shapeIconToolPreset:``};var _plugin_crop_locale_en_gb={cropLabel:\"Crop\",cropIcon:'',cropIconButtonRecenter:``,cropIconButtonRotateLeft:'',cropIconButtonRotateRight:'',cropIconButtonFlipVertical:'',cropIconButtonFlipHorizontal:'',cropIconSelectPreset:(locale,aspectRatio)=>{const[a,b,c]=!aspectRatio?[.2,.3,.4]:[aspectRatio<1?1:.3,aspectRatio===1?.85:.5,aspectRatio>1?1:.3];return`\n \n \n \n `},cropIconCropBoundary:(locale,isBoundToImage)=>{const[a,b,c,d]=isBoundToImage?[.3,1,0,0]:[0,0,.3,1];return`\n \n \n \n \n `},cropLabelButtonRecenter:\"Recenter\",cropLabelButtonRotateLeft:\"Rotate left\",cropLabelButtonRotateRight:\"Rotate right\",cropLabelButtonFlipHorizontal:\"Flip horizontal\",cropLabelButtonFlipVertical:\"Flip vertical\",cropLabelSelectPreset:\"Crop shape\",cropLabelCropBoundary:\"Crop boundary\",cropLabelCropBoundaryEdge:\"Edge of image\",cropLabelCropBoundaryNone:\"None\",cropLabelTabRotation:\"Rotation\",cropLabelTabZoom:\"Zoom\"};var _plugin_filter_locale_en_gb={filterLabel:\"Filter\",filterIcon:'',filterLabelChrome:\"Chrome\",filterLabelFade:\"Fade\",filterLabelCold:\"Cold\",filterLabelWarm:\"Warm\",filterLabelPastel:\"Pastel\",filterLabelMonoDefault:\"Mono\",filterLabelMonoNoir:\"Noir\",filterLabelMonoWash:\"Wash\",filterLabelMonoStark:\"Stark\",filterLabelSepiaDefault:\"Sepia\",filterLabelSepiaBlues:\"Blues\",filterLabelSepiaRust:\"Rust\",filterLabelSepiaColor:\"Color\"};var _plugin_finetune_locale_en_gb={finetuneLabel:\"Finetune\",finetuneIcon:'',finetuneLabelBrightness:\"Brightness\",finetuneLabelContrast:\"Contrast\",finetuneLabelSaturation:\"Saturation\",finetuneLabelExposure:\"Exposure\",finetuneLabelTemperature:\"Temperature\",finetuneLabelGamma:\"Gamma\",finetuneLabelClarity:\"Clarity\",finetuneLabelVignette:\"Vignette\"};var _plugin_resize_locale_en_gb={resizeLabel:\"Resize\",resizeIcon:'',resizeLabelFormCaption:\"Image output size\",resizeLabelInputWidth:\"w\",resizeTitleInputWidth:\"Width\",resizeLabelInputHeight:\"h\",resizeTitleInputHeight:\"Height\",resizeTitleButtonMaintainAspectRatio:\"Maintain aspectratio\",resizeIconButtonMaintainAspectRatio:(active,activeFraction)=>`\n \n \n \n \n \n \n \n \n \n \n \n `};var _plugin_decorate_locale_en_gb={decorateLabel:\"Decorate\",decorateIcon:''};var _plugin_annotate_locale_en_gb={annotateLabel:\"Annotate\",annotateIcon:''};var _plugin_sticker_locale_en_gb={stickerLabel:\"Sticker\",stickerIcon:''};var _plugin_frame_locale_en_gb={frameLabel:\"Frame\",frameIcon:`\n \n \n `,frameLabelMatSharp:\"Mat\",frameLabelMatRound:\"Bevel\",frameLabelLineSingle:\"Line\",frameLabelLineMultiple:\"Zebra\",frameLabelEdgeSeparate:\"Inset\",frameLabelEdgeOverlap:\"Plus\",frameLabelEdgeCross:\"Lumber\",frameLabelCornerHooks:\"Hook\",frameLabelPolaroid:\"Polaroid\"};var _plugin_redact_locale_en_gb={redactLabel:\"Redact\",redactIcon:`\n \n \n \n \n \n \n \n `};var hasDefinedCustomElement=name=>document.createElement(name).constructor!==HTMLElement;var linkAccessors=(destination,origin)=>{const descriptors=Object.getOwnPropertyDescriptors(destination);Object.keys(descriptors).forEach(key=>{if(!!descriptors[key][\"get\"]){Object.defineProperty(origin,key,{get:()=>destination[key],set:value=>destination[key]=value})}else{origin[key]=destination[key]}})};var hasDoctype=()=>isBrowser()&&document.doctype!==null;var initEditorView=target=>{const accessors={};const{sub,pub}=pubsub();if(!hasDoctype())console.warn(\"Browser is in quirks mode, add to page to fix render issues\");const core=createImageEditor();linkAccessors(core,accessors);const view=attachEditorView(target,core.stores);linkAccessors(view,accessors);const unsubs=[\"loadImage\",\"processImage\",\"abortProcessImage\",\"abortLoadImage\"].map(event=>view.on(event,e=>{const returned=core[event](e&&e.detail);if(returned instanceof Promise)returned.catch(()=>{})}));const subscribe=(event,cb)=>{const unsubInit=sub(event,cb);const unsubCore=core.on(event,cb);const unsubView=view.on(event,cb);return()=>{unsubInit();unsubCore();unsubView()}};accessors.handleEvent=noop$1;const handleEventUnsubs=editorEvents.map(type=>subscribe(type,res=>accessors.handleEvent(type,res)));defineMethods(accessors,{on:subscribe,updateImage:src=>new Promise((resolve,reject)=>{const storedHistory=accessors.history.get();const storedState=accessors.imageState;core.loadImage(src).then(res=>{accessors.history.set(storedHistory);accessors.imageState=storedState;resolve(res)}).catch(reject)}),close:()=>{pub(\"close\")},destroy:()=>{[...unsubs,...handleEventUnsubs].forEach(unsub=>unsub());view.destroy();core.destroy();pub(\"destroy\")}});return accessors};const TAG=\"pintura-editor\";var _defineCustomElements=()=>new Promise(resolve=>{if(!PinturaImageEditorElement)return resolve([]);!hasDefinedCustomElement(TAG)&&customElements.define(TAG,PinturaImageEditorElement);customElements.whenDefined(TAG).then(()=>resolve(document.querySelectorAll(TAG)))});const PinturaImageEditorElement=isBrowser()&&class extends HTMLElement{constructor(){super();this._editor=undefined;this._unsubs=undefined}static get observedAttributes(){return[\"src\"]}attributeChangedCallback(attrName,oldValue,newValue){this[attrName]=newValue}connectedCallback(){this._editor=initEditorView(this);linkAccessors(this._editor,this);this._editor.src=this.getAttribute(\"src\");this._unsubs=dispatchEditorEvents(this._editor,this)}disconnectedCallback(){this._editor.destroy();this._unsubs.forEach(unsub=>unsub())}};const CSS_CLASS_NAME=\"pintura-editor\";var _appendEditor=(target,options={})=>{const element=isString(target)?document.querySelector(target):target;if(!isElement(element))return undefined;options.class=options.class?`${CSS_CLASS_NAME} ${options.class}`:CSS_CLASS_NAME;const accessors=initEditorView(element);return Object.assign(accessors,options)};const{document:document_1,window:window_1}=globals;function create_fragment(ctx){let t;let div;let mounted;let dispose;add_render_callback(ctx[27]);return{c(){t=space();div=element(\"div\");attr(div,\"class\",ctx[5]);attr(div,\"style\",ctx[4])},m(target,anchor){insert(target,t,anchor);insert(target,div,anchor);ctx[28](div);if(!mounted){dispose=[listen(window_1,\"keydown\",ctx[10]),listen(window_1,\"orientationchange\",ctx[11]),listen(window_1,\"resize\",ctx[27]),listen(document_1.body,\"focusin\",function(){if(is_function(!ctx[1]&&ctx[7]))(!ctx[1]&&ctx[7]).apply(this,arguments)}),listen(document_1.body,\"focusout\",function(){if(is_function(ctx[2]&&ctx[8]))(ctx[2]&&ctx[8]).apply(this,arguments)}),listen(div,\"wheel\",ctx[9],{passive:false})];mounted=true}},p(new_ctx,dirty){ctx=new_ctx;if(dirty[0]&32){attr(div,\"class\",ctx[5])}if(dirty[0]&16){attr(div,\"style\",ctx[4])}},i:noop,o:noop,d(detaching){if(detaching)detach(t);if(detaching)detach(div);ctx[28](null);mounted=false;run_all(dispose)}}}function instance($$self,$$props,$$invalidate){let o;let viewportRules;let isOpaque;let isIOSFooterVisible;let style;let className;let scrollsBodyOnInteraction;let $opacity;const dispatch=createEventDispatcher();let{root}=$$props;let{preventZoomViewport=true}=$$props;let{preventScrollBodyIfNeeded=true}=$$props;let{preventFooterOverlapIfNeeded=true}=$$props;let{class:klass=undefined}=$$props;let hidden=true;let hiding=false;let showing=false;let doc=isBrowser()&&document.documentElement;let body=isBrowser()&&document.body;let head=isBrowser()&&document.head;const opacity=spring(0,{precision:.001,damping:.5});component_subscribe($$self,opacity,value=>$$invalidate(23,$opacity=value));const opacityUnsub=opacity.subscribe(o=>{if(showing&&o>=1){$$invalidate(19,showing=false);$$invalidate(1,hidden=false);dispatch(\"show\")}else if(hiding&&o<=0){$$invalidate(18,hiding=false);$$invalidate(1,hidden=true);dispatch(\"hide\")}});let hasFocussedTextField=false;let viewportDefaults=undefined;let themeDefaults=undefined;let showTimeoutId=undefined;const getViewPortElement=()=>document.querySelector(\"meta[name=viewport]\");const getThemeElements=()=>Array.from(document.querySelectorAll(\"meta[name=theme-color]\"));const show=()=>{if(showing||!hidden)return;$$invalidate(19,showing=true);const viewportElement=getViewPortElement()||h(\"meta\",{name:\"viewport\"});viewportDefaults=!viewportDefaults&&viewportElement.getAttribute(\"content\");viewportElement.setAttribute(\"content\",viewportRules+(/cover/.test(viewportDefaults)?\",viewport-fit=cover\":\"\"));if(!viewportElement.parentNode)head.append(viewportElement);const backgroundColor=getComputedStyle(root).getPropertyValue(\"--color-background\");const themeElements=getThemeElements();if(themeElements.length){themeDefaults=themeElements.map(element=>element.getAttribute(\"content\"))}else{const themeElement=h(\"meta\",{name:\"theme-color\"});head.append(themeElement);themeElements.push(themeElement)}themeElements.forEach(element=>element.setAttribute(\"content\",`rgb(${backgroundColor})`));clearTimeout(showTimeoutId);showTimeoutId=setTimeout(()=>opacity.set(1),250)};const hide=()=>{if(hiding||hidden)return;clearTimeout(showTimeoutId);$$invalidate(18,hiding=true);const viewportElement=getViewPortElement();if(viewportDefaults)viewportElement.setAttribute(\"content\",viewportDefaults);else viewportElement.remove();const themeElements=getThemeElements();if(themeDefaults){themeElements.forEach((element,index)=>{element.setAttribute(\"content\",themeDefaults[index])})}else themeElements.forEach(element=>element.remove());opacity.set(0)};let focusOutTimer;let focusInWindowHeight;const handleFocusIn=e=>{if(!/textarea/i.test(e.target))return;$$invalidate(2,hasFocussedTextField=true);focusInWindowHeight=windowHeight};const handleFocusOut=e=>{if(!/textarea/i.test(e.target))return;clearTimeout(focusOutTimer);if(focusInWindowHeight===windowHeight){$$invalidate(2,hasFocussedTextField=false)}else{const windowCurrentHeight=windowHeight;runWhen(()=>windowHeight!==windowCurrentHeight,()=>$$invalidate(2,hasFocussedTextField=false))}};const runWhen=(test,cb)=>{const frame=()=>{if(test()){cb();return}requestAnimationFrame(frame)};requestAnimationFrame(frame)};const handleWheel=e=>{if(e.target&&/PinturaStage/.test(e.target.className))e.preventDefault()};const handleKey=e=>{const{key}=e;if(!/escape/i.test(key))return;const targetElement=e.target;if(targetElement&&/input|textarea/i.test(targetElement.nodeName))return;const modals=document.querySelectorAll(\".PinturaModal\");if(modals[modals.length-1]!==root)return;dispatch(\"close\")};let windowHeight=0;let windowHeightComputed;let measureElement;let measureElementHeight=undefined;const spawnMeasureElement=()=>{if(measureElement)return;measureElement=h(\"div\",{style:\"position:fixed;height:100vh;top:0\"});body.append(measureElement)};onMount(()=>{if(!preventFooterOverlapIfNeeded||!isIOS())return;spawnMeasureElement()});afterUpdate(()=>{if(!measureElement)return;$$invalidate(21,measureElementHeight=measureElement.offsetHeight);measureElement.remove();measureElement=undefined});let scrollOffsetY=undefined;const syncHeight=()=>doc.style.setProperty(\"--pintura-document-height\",`${window.innerHeight}px`);const toggleDocumentLock=isOpaque=>{if(isOpaque){scrollOffsetY=window.scrollY;doc.classList.add(\"PinturaDocumentLock\");syncHeight();window.addEventListener(\"resize\",syncHeight)}else{window.removeEventListener(\"resize\",syncHeight);doc.classList.remove(\"PinturaDocumentLock\");isNumber(scrollOffsetY)&&window.scrollTo(0,scrollOffsetY);scrollOffsetY=undefined}};onDestroy(()=>{doc.classList.remove(\"PinturaModalBodyLock\");opacityUnsub()});function onwindowresize(){$$invalidate(3,windowHeight=window_1.innerHeight)}function div_binding($$value){binding_callbacks[$$value?\"unshift\":\"push\"](()=>{root=$$value;$$invalidate(0,root)})}$$self.$$set=$$props=>{if(\"root\"in $$props)$$invalidate(0,root=$$props.root);if(\"preventZoomViewport\"in $$props)$$invalidate(12,preventZoomViewport=$$props.preventZoomViewport);if(\"preventScrollBodyIfNeeded\"in $$props)$$invalidate(13,preventScrollBodyIfNeeded=$$props.preventScrollBodyIfNeeded);if(\"preventFooterOverlapIfNeeded\"in $$props)$$invalidate(14,preventFooterOverlapIfNeeded=$$props.preventFooterOverlapIfNeeded);if(\"class\"in $$props)$$invalidate(15,klass=$$props.class)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&9175042){$$invalidate(22,o=showing||hiding?$opacity:hidden?0:1)}if($$self.$$.dirty[0]&4096){viewportRules=\"width=device-width,height=device-height,initial-scale=1\"+(preventZoomViewport?\",maximum-scale=1,user-scalable=0\":\"\")}if($$self.$$.dirty[0]&786434){$$invalidate(24,isOpaque=!showing&&!hidden&&!hiding)}if($$self.$$.dirty[0]&12){if(!hasFocussedTextField)$$invalidate(20,windowHeightComputed=windowHeight)}if($$self.$$.dirty[0]&2097160){$$invalidate(25,isIOSFooterVisible=isNumber(measureElementHeight)?`--viewport-pad-footer:${measureElementHeight>windowHeight?0:1}`:\"\")}if($$self.$$.dirty[0]&38797312){$$invalidate(4,style=`opacity:${o};height:${windowHeightComputed}px;--editor-modal:1;${isIOSFooterVisible}`)}if($$self.$$.dirty[0]&32768){$$invalidate(5,className=arrayJoin([\"pintura-editor\",\"PinturaModal\",klass]))}if($$self.$$.dirty[0]&8192){$$invalidate(26,scrollsBodyOnInteraction=preventScrollBodyIfNeeded&&isIOS()&&/15_/.test(navigator.userAgent))}if($$self.$$.dirty[0]&83886080){scrollsBodyOnInteraction&&toggleDocumentLock(isOpaque)}};return[root,hidden,hasFocussedTextField,windowHeight,style,className,opacity,handleFocusIn,handleFocusOut,handleWheel,handleKey,spawnMeasureElement,preventZoomViewport,preventScrollBodyIfNeeded,preventFooterOverlapIfNeeded,klass,show,hide,hiding,showing,windowHeightComputed,measureElementHeight,o,$opacity,isOpaque,isIOSFooterVisible,scrollsBodyOnInteraction,onwindowresize,div_binding]}class Modal extends SvelteComponent{constructor(options){super();init(this,options,instance,create_fragment,safe_not_equal,{root:0,preventZoomViewport:12,preventScrollBodyIfNeeded:13,preventFooterOverlapIfNeeded:14,class:15,show:16,hide:17},[-1,-1])}get root(){return this.$$.ctx[0]}set root(root){this.$set({root:root});flush()}get preventZoomViewport(){return this.$$.ctx[12]}set preventZoomViewport(preventZoomViewport){this.$set({preventZoomViewport:preventZoomViewport});flush()}get preventScrollBodyIfNeeded(){return this.$$.ctx[13]}set preventScrollBodyIfNeeded(preventScrollBodyIfNeeded){this.$set({preventScrollBodyIfNeeded:preventScrollBodyIfNeeded});flush()}get preventFooterOverlapIfNeeded(){return this.$$.ctx[14]}set preventFooterOverlapIfNeeded(preventFooterOverlapIfNeeded){this.$set({preventFooterOverlapIfNeeded:preventFooterOverlapIfNeeded});flush()}get class(){return this.$$.ctx[15]}set class(klass){this.$set({class:klass});flush()}get show(){return this.$$.ctx[16]}get hide(){return this.$$.ctx[17]}}var createModal=(options={},parent)=>new Modal({target:parent||document.body,props:{class:options.class,preventZoomViewport:options.preventZoomViewport,preventScrollBodyIfNeeded:options.preventScrollBodyIfNeeded,preventFooterOverlapIfNeeded:options.preventFooterOverlapIfNeeded}});var _openEditor=(options={},parent)=>{const{sub,pub}=pubsub();const accessors={};const modal=createModal(options,parent);const hide=()=>{if(!modal.hide)return;modal.hide()};const show=()=>{if(!modal.show)return;modal.show()};const view=initEditorView(modal.root);linkAccessors(view,accessors);accessors.handleEvent=noop$1;view.handleEvent=(type,detail)=>accessors.handleEvent(type,detail);view.on(\"close\",async()=>{const{willClose}=options;if(!willClose)return hide();const shouldClose=await willClose();if(shouldClose)hide()});const subscribe=(event,cb)=>{if(/show|hide/.test(event))return sub(event,cb);return view.on(event,cb)};const modalHandleEventUnsubs=[\"show\",\"hide\"].map(type=>subscribe(type,detail=>accessors.handleEvent(type,detail)));const destroy=()=>{modalHandleEventUnsubs.forEach(unsub=>unsub());hide();modal.$destroy();view.destroy()};defineMethods(accessors,{on:subscribe,destroy:destroy,hide:hide,show:show});Object.defineProperty(accessors,\"modal\",{get:()=>modal.root,set:()=>undefined});modal.$on(\"close\",view.close);modal.$on(\"show\",()=>pub(\"show\"));modal.$on(\"hide\",()=>{pub(\"hide\");if(options.enableAutoDestroy!==false)destroy()});if(options.enableAutoHide!==false)view.on(\"process\",hide);view.on(\"loadstart\",show);if(options.enableButtonClose!==false)options.enableButtonClose=true;delete options.class;Object.assign(accessors,options);return accessors};var _overlayEditor=(target,options)=>{const editor=_appendEditor(target,{...options,layout:\"overlay\"});return editor};const getLineEndParams=(start,end,strokeWidth,isSolid)=>{const direction=vectorCreate(end.x-start.x,end.y-start.y);const normal=vectorNormalize(direction);const scaledSize=5*strokeWidth;let scaledSizeHalf;if(isSolid){scaledSizeHalf=scaledSize*.5}else{scaledSizeHalf=Math.ceil((scaledSize-1)*.5)}const offset=vectorMultiply(vectorClone(normal),scaledSizeHalf);return{anchor:vectorClone(start),offset:offset,normal:normal,solid:isSolid,size:scaledSize,sizeHalf:scaledSizeHalf}};const lineEndStyleArrow=({anchor,solid,normal,offset,size,sizeHalf,strokeWidth,strokeColor},anchorRef)=>{const x=anchor.x;const y=anchor.y;const tipOffset=vectorMultiply(vectorClone(normal),size);const inset=vectorCreate(x+tipOffset.x,y+tipOffset.y);vectorMultiply(tipOffset,.55);if(solid){vectorAdd(anchorRef,offset);const arrowOffset=vectorMultiply(vectorClone(normal),sizeHalf*.5);return[{points:[vectorCreate(x-arrowOffset.x,y-arrowOffset.y),vectorCreate(inset.x-tipOffset.y,inset.y+tipOffset.x),vectorCreate(inset.x+tipOffset.y,inset.y-tipOffset.x)],backgroundColor:strokeColor}]}else{const p=vectorMultiply(vectorPerpendicular(vectorClone(normal)),.5);const tipLeft=vectorCreate(x-p.x,y-p.y);const tipRight=vectorCreate(x+p.x,y+p.y);return[{points:[vectorCreate(inset.x+tipOffset.y,inset.y-tipOffset.x),tipLeft,vectorCreate(x,y),tipRight,vectorCreate(inset.x-tipOffset.y,inset.y+tipOffset.x)],strokeWidth:strokeWidth,strokeColor:strokeColor}]}};const lineEndStyleCircle=({anchor,solid,offset,normal,sizeHalf,strokeWidth,strokeColor},anchorRef)=>{vectorAdd(anchorRef,offset);if(solid)vectorAdd(anchorRef,vectorInvert(vectorClone(normal)));return[{x:anchor.x,y:anchor.y,rx:sizeHalf,ry:sizeHalf,backgroundColor:solid?strokeColor:undefined,strokeWidth:solid?undefined:strokeWidth,strokeColor:solid?undefined:strokeColor}]};const lineEndStyleBar=({anchor,offset,strokeWidth,strokeColor})=>{return[{points:[vectorCreate(anchor.x-offset.y,anchor.y+offset.x),vectorCreate(anchor.x+offset.y,anchor.y-offset.x)],strokeWidth:strokeWidth,strokeColor:strokeColor}]};const lineEndStyleSquare=({anchor,solid,offset,normal,sizeHalf,strokeWidth,strokeColor},anchorRef)=>{vectorAdd(anchorRef,offset);return[{x:anchor.x-sizeHalf,y:anchor.y-sizeHalf,width:sizeHalf*2,height:sizeHalf*2,rotation:vectorAngle(normal),backgroundColor:solid?strokeColor:undefined,strokeWidth:solid?undefined:strokeWidth,strokeColor:solid?undefined:strokeColor}]};const createLineEndProcessor=(styles={})=>shape=>{if(!hasProp(shape,\"lineStart\")&&!hasProp(shape,\"lineEnd\"))return;const res=[];const{lineStart,lineEnd,strokeWidth,strokeColor}=shape;const start=vectorCreate(shape.x1,shape.y1);const end=vectorCreate(shape.x2,shape.y2);const points=[start,end];if(lineStart){const[style,solid]=lineStart.split(\"-\");const process=styles[style];if(process){const params=getLineEndParams(start,end,strokeWidth,!!solid);res.push(...process({...params,strokeColor:strokeColor,strokeWidth:strokeWidth},start))}}if(lineEnd){const[style,solid]=lineEnd.split(\"-\");const process=styles[style];if(process){const params=getLineEndParams(end,start,strokeWidth,!!solid);res.push(...process({...params,strokeColor:strokeColor,strokeWidth:strokeWidth},end))}}return[{points:points,strokeWidth:strokeWidth,strokeColor:strokeColor},...res]};const createDefaultLineEndStyles=()=>({arrow:lineEndStyleArrow,circle:lineEndStyleCircle,square:lineEndStyleSquare,bar:lineEndStyleBar});const safeFactor=(value,factor)=>{const v=parseFloat(value)*factor;return isString(value)?`${v}%`:v};const toValue=(value,total)=>isString(value)?toPixelValue(value,total):value;const frameStyleSolid=shape=>[{...shape,frameStyle:\"line\",frameInset:0,frameOffset:0,frameSize:shape.frameSize?safeFactor(shape.frameSize,2):\"2.5%\",frameRadius:shape.frameRound?safeFactor(shape.frameSize,2):0}];const frameStyleNine=({width:contextWidth,height:contextHeight,frameImage,frameSize=\"15%\",frameSlices={x1:.15,y1:.15,x2:.85,y2:.85}},{isPreview})=>{if(!frameImage)return[];const contextSize=Math.sqrt(contextWidth*contextHeight);const size=toValue(frameSize,contextSize);const width=isPreview?size:Math.round(size);const height=width;const{x1,x2,y1,y2}=frameSlices;const shapeCoordinates={x0:0,y0:0,x1:width,y1:height,x2:contextWidth-width,y2:contextHeight-height,x3:contextWidth,y3:contextHeight,cw:width,ch:height,ew:contextWidth-width-width,eh:contextHeight-height-height};const overlap=isPreview?1:0;const overlapDouble=overlap*2;const cornerGeneric={width:shapeCoordinates.cw,height:shapeCoordinates.ch,backgroundImage:frameImage};return[{x:shapeCoordinates.x1-overlap,y:shapeCoordinates.y0,width:shapeCoordinates.ew+overlapDouble,height:shapeCoordinates.ch,backgroundCorners:[{x:x1,y:0},{x:x2,y:0},{x:x2,y:y1},{x:x1,y:y1}],backgroundImage:frameImage},{x:shapeCoordinates.x1-overlap,y:shapeCoordinates.y2,width:shapeCoordinates.ew+overlapDouble,height:shapeCoordinates.ch,backgroundCorners:[{x:x1,y:y2},{x:x2,y:y2},{x:x2,y:1},{x:x1,y:1}],backgroundImage:frameImage},{x:shapeCoordinates.x0,y:shapeCoordinates.y1-overlap,width:shapeCoordinates.cw,height:shapeCoordinates.eh+overlapDouble,backgroundCorners:[{x:0,y:y1},{x:x1,y:y1},{x:x1,y:y2},{x:0,y:y2}],backgroundImage:frameImage},{x:shapeCoordinates.x2,y:shapeCoordinates.y1-overlap,width:shapeCoordinates.cw,height:shapeCoordinates.eh+overlapDouble,backgroundCorners:[{x:x2,y:y1},{x:1,y:y1},{x:1,y:y2},{x:x2,y:y2}],backgroundImage:frameImage},{...cornerGeneric,x:shapeCoordinates.x0,y:shapeCoordinates.y0,backgroundCorners:[{x:0,y:0},{x:x1,y:0},{x:x1,y:y1},{x:0,y:y1}]},{...cornerGeneric,x:shapeCoordinates.x2,y:shapeCoordinates.y0,backgroundCorners:[{x:x2,y:0},{x:1,y:0},{x:1,y:y1},{x:x2,y:y1}]},{...cornerGeneric,x:shapeCoordinates.x2,y:shapeCoordinates.y2,backgroundCorners:[{x:x2,y:y2},{x:1,y:y2},{x:1,y:1},{x:x2,y:1}]},{...cornerGeneric,x:shapeCoordinates.x0,y:shapeCoordinates.y2,backgroundCorners:[{x:0,y:y2},{x:x1,y:y2},{x:x1,y:1},{x:0,y:1}]}]};const frameStyleLine=({x,y,width,height,frameInset=\"3.5%\",frameSize=\".25%\",frameColor=[1,1,1],frameOffset=\"5%\",frameAmount=1,frameRadius=0,expandsCanvas=false},{isPreview})=>{const size=Math.sqrt(width*height);let frameSizeValue=toValue(frameSize,size);const frameInsetValue=toValue(frameInset,size);const frameOffsetValue=toValue(frameOffset,size);let center=0;if(!isPreview){frameSizeValue=Math.max(1,Math.round(frameSizeValue));center=frameSizeValue%2==0?0:.5}const r=toValue(safeFactor(frameRadius,frameAmount),size);return new Array(frameAmount).fill(undefined).map((_,index)=>{const offset=frameOffsetValue*index;let left=x+frameInsetValue+offset;let top=y+frameInsetValue+offset;let right=x+width-frameInsetValue-offset;let bottom=y+height-frameInsetValue-offset;if(!isPreview){left=Math.round(left);top=Math.round(top);right=Math.round(right);bottom=Math.round(bottom)}const radius=r>0?r-offset:0;return{x:left+center,y:top+center,width:right-left,height:bottom-top,cornerRadius:radius,strokeWidth:frameSizeValue,strokeColor:frameColor,expandsCanvas:expandsCanvas}})};const frameStyleEdge=({x,y,width,height,frameSize=\".25%\",frameOffset=0,frameInset=\"2.5%\",frameColor=[1,1,1]},{isPreview})=>{const size=Math.sqrt(width*height);let frameSizeValue=toValue(frameSize,size);let frameInsetValue=toValue(frameInset,size);let frameOffsetValue=toValue(frameOffset,size);let center=0;if(!isPreview){frameSizeValue=Math.max(1,Math.round(frameSizeValue));frameInsetValue=Math.round(frameInsetValue);frameOffsetValue=Math.round(frameOffsetValue);center=frameSizeValue%2==0?0:.5}const offset=frameOffsetValue-frameInsetValue;const left=x+frameInsetValue+center;const top=y+frameInsetValue+center;const right=x+width-frameInsetValue-center;const bottom=y+height-frameInsetValue-center;return[{points:[vectorCreate(left+offset,top),vectorCreate(right-offset,top)]},{points:[vectorCreate(right,top+offset),vectorCreate(right,bottom-offset)]},{points:[vectorCreate(right-offset,bottom),vectorCreate(left+offset,bottom)]},{points:[vectorCreate(left,bottom-offset),vectorCreate(left,top+offset)]}].map(shape=>{shape.strokeWidth=frameSizeValue;shape.strokeColor=frameColor;return shape})};const frameStyleHook=({x,y,width,height,frameSize=\".25%\",frameInset=\"2.5%\",frameLength=\"2.5%\",frameColor=[1,1,1]},{isPreview})=>{const size=Math.sqrt(width*height);let frameSizeValue=toValue(frameSize,size);let frameInsetValue=toValue(frameInset,size);let frameLengthValue=toValue(frameLength,size);let center=0;if(!isPreview){frameSizeValue=Math.max(1,Math.round(frameSizeValue));frameInsetValue=Math.round(frameInsetValue);frameLengthValue=Math.round(frameLengthValue);center=frameSizeValue%2==0?0:.5}const left=x+frameInsetValue+center;const top=y+frameInsetValue+center;const right=x+width-frameInsetValue-center;const bottom=y+height-frameInsetValue-center;return[{points:[vectorCreate(left,top+frameLengthValue),vectorCreate(left,top),vectorCreate(left+frameLengthValue,top)]},{points:[vectorCreate(right-frameLengthValue,top),vectorCreate(right,top),vectorCreate(right,top+frameLengthValue)]},{points:[vectorCreate(right,bottom-frameLengthValue),vectorCreate(right,bottom),vectorCreate(right-frameLengthValue,bottom)]},{points:[vectorCreate(left+frameLengthValue,bottom),vectorCreate(left,bottom),vectorCreate(left,bottom-frameLengthValue)]}].map(shape=>{shape.strokeWidth=frameSizeValue;shape.strokeColor=frameColor;return shape})};const frameStylePolaroid=({x,y,width,height,frameColor=[1,1,1]},{isPreview})=>{const size=Math.sqrt(width*height);const borderWidth=.1*size;let chinHeight=.2*size;const borderWidthHalf=.5*borderWidth;let strokeWidth=.0025*size;if(!isPreview){chinHeight=Math.ceil(chinHeight);strokeWidth=Math.max(2,strokeWidth)}frameColor.length=3;return[{id:\"border\",x:x-borderWidthHalf,y:y-borderWidthHalf,width:width+borderWidth,height:height+chinHeight,frameStyle:\"line\",frameInset:0,frameOffset:0,frameSize:borderWidth,frameColor:frameColor,expandsCanvas:true},{id:\"chin\",x:x-borderWidthHalf,y:height,width:width+borderWidth,height:chinHeight,backgroundColor:frameColor,expandsCanvas:true},isPreview&&{x:x,y:y,width:width,height:height,strokeWidth:strokeWidth,strokeColor:frameColor}].filter(Boolean)};const createFrameStyleProcessor=(styles={})=>(shape,options)=>{if(!hasProp(shape,\"frameStyle\"))return;const style=shape.frameStyle;const process=styles[style];if(!process)return;const{frameStyle,...shapeReadyToParse}=shape;return process(shapeReadyToParse,options)};const createDefaultFrameStyles=()=>({solid:frameStyleSolid,hook:frameStyleHook,line:frameStyleLine,edge:frameStyleEdge,polaroid:frameStylePolaroid,nine:frameStyleNine});const createDefaultLineEndProcessors=()=>createLineEndProcessor(createDefaultLineEndStyles());const createDefaultFrameStyleProcessor=()=>createFrameStyleProcessor(createDefaultFrameStyles());const createDefaultShapeProcessors=()=>[createDefaultFrameStyleProcessor(),createDefaultLineEndProcessors()];const createShapePreprocessor$1=processors=>{const processShape=(shape,options={isPreview:true})=>{const res=processors.map(process=>{const res=process(shape,options);if(!res)return;return res.map(shape=>processShape(shape,options))}).filter(Boolean).flat();return!res.length?shape:res.flat()};return processShape};const createDefaultImageReader=createDefaultImageReader$1;const createDefaultImageWriter=createDefaultImageWriter$1;const createDefaultImageOrienter=()=>({read:getImageOrientationFromFile,apply:orientImageData});const createDefaultImageScrambler=(configurationOptions={})=>{const{blurAmount,scrambleAmount,enableSmoothing,backgroundColor}=configurationOptions;return(imageData,uiOptions)=>imageDataScramble(imageData,{blurAmount:blurAmount,scrambleAmount:scrambleAmount,enableSmoothing:enableSmoothing,backgroundColor:backgroundColor,...uiOptions})};const createEditor=createImageEditor;const getEditorProps=()=>getEditorProps$1().concat(getEditorViewProps());const createMarkupEditorToolbar=createToolbar;const createMarkupEditorToolStyles=createToolStyles;const createMarkupEditorShapeStyleControls=createShapeStyleControls;const markup_editor_defaults={markupEditorToolbar:createToolbar(),markupEditorToolStyles:createToolStyles(),markupEditorShapeStyleControls:createShapeStyleControls()};const setPlugins=setEditorViewPlugins;const plugin_crop=_plugin_crop;const plugin_filter=_plugin_filter;const plugin_finetune=_plugin_finetune;const plugin_annotate=_plugin_annotate;const plugin_decorate=_plugin_decorate;const plugin_sticker=_plugin_sticker;const plugin_frame=_plugin_frame;const plugin_redact=_plugin_redact;const plugin_resize=_plugin_resize;const plugin_finetune_defaults=_plugin_finetune_defaults;const plugin_filter_defaults=_plugin_filter_defaults;const plugin_frame_defaults=_plugin_frame_defaults;const locale_en_gb=_locale_en_gb;const markup_editor_locale_en_gb=MarkupEditor;const plugin_crop_locale_en_gb=_plugin_crop_locale_en_gb;const plugin_filter_locale_en_gb=_plugin_filter_locale_en_gb;const plugin_finetune_locale_en_gb=_plugin_finetune_locale_en_gb;const plugin_resize_locale_en_gb=_plugin_resize_locale_en_gb;const plugin_decorate_locale_en_gb=_plugin_decorate_locale_en_gb;const plugin_annotate_locale_en_gb=_plugin_annotate_locale_en_gb;const plugin_sticker_locale_en_gb=_plugin_sticker_locale_en_gb;const plugin_frame_locale_en_gb=_plugin_frame_locale_en_gb;const plugin_redact_locale_en_gb=_plugin_redact_locale_en_gb;const elementsToEditor=(factory,targets,options={})=>{const elements=isString(targets)?Array.from(document.querySelectorAll(targets)):targets;return elements.filter(Boolean).map(element=>factory(element,deepCopy(options)))};const appendEditor=_appendEditor;const openEditor=_openEditor;const overlayEditor=_overlayEditor;const appendEditors=(targets,options)=>elementsToEditor(appendEditor,targets,options);const createShapePreprocessor=createShapePreprocessor$1;const createDefaultShapePreprocessor=()=>createShapePreprocessor$1(createDefaultShapeProcessors());const getEditorDefaultReadWriteOptions=(options={})=>{let readerProps=undefined;if(!Array.isArray(options.imageWriter)){readerProps=options.imageWriter;delete options.imageReader}let writerProps=undefined;if(!Array.isArray(options.imageWriter)){writerProps=options.imageWriter;delete options.imageWriter}let scramblerProps=undefined;if(!isFunction(options.imageScrambler)){scramblerProps=options.imageScrambler;delete options.imageScrambler}return{imageReader:createDefaultImageReader(readerProps),imageWriter:createDefaultImageWriter(writerProps),imageOrienter:createDefaultImageOrienter(),imageScrambler:createDefaultImageScrambler(scramblerProps)}};const processDefaultImage=(src,options={})=>processImage(src,{...getEditorDefaultReadWriteOptions(options),...options});const getEditorDefaults=(options={})=>{setEditorViewPlugins(...[plugin_crop,plugin_filter,plugin_finetune,plugin_annotate,plugin_decorate,plugin_sticker,plugin_frame,plugin_redact,plugin_resize].filter(Boolean));const utils=[\"crop\",\"filter\",\"finetune\",\"annotate\",\"decorate\",options.stickers&&\"sticker\",\"frame\",\"redact\",\"resize\"].filter(Boolean);const defaultReadWriteOptions=getEditorDefaultReadWriteOptions(options);const locale={...locale_en_gb,...markup_editor_locale_en_gb,...plugin_crop_locale_en_gb,...plugin_filter_locale_en_gb,...plugin_finetune_locale_en_gb,...plugin_frame_locale_en_gb,...plugin_redact_locale_en_gb,...plugin_resize_locale_en_gb,...plugin_decorate_locale_en_gb,...plugin_annotate_locale_en_gb,...plugin_sticker_locale_en_gb,...options.locale};delete options.locale;return mergeObjects([{...defaultReadWriteOptions,shapePreprocessor:createDefaultShapePreprocessor(),utils:utils,...plugin_finetune_defaults,...plugin_filter_defaults,...plugin_frame_defaults,...markup_editor_defaults,stickerStickToImage:true,locale:locale},options])};const defineCustomElements=async(options={})=>{const elements=await _defineCustomElements();elements.forEach(editor=>Object.assign(editor,deepCopy(options)));return elements};const defineDefaultCustomElements=options=>defineCustomElements(getEditorDefaults(options));const openDefaultEditor=options=>openEditor(getEditorDefaults(options));const appendDefaultEditor=(element,options)=>appendEditor(element,getEditorDefaults(options));const overlayDefaultEditor=(element,options)=>overlayEditor(element,getEditorDefaults(options));const appendDefaultEditors=(targets,options)=>elementsToEditor(appendDefaultEditor,targets,options);export{appendDefaultEditor,appendDefaultEditors,appendEditor,appendEditors,appendNode,blobToFile,colorStringToColorArray,createDefaultColorOptions,createDefaultFontFamilyOptions,createDefaultFontScaleOptions,createDefaultFontSizeOptions,createDefaultFontStyleOptions,createDefaultFrameStyles,createDefaultImageOrienter,createDefaultImageReader,createDefaultImageScrambler,createDefaultImageWriter,createDefaultLineEndStyleOptions,createDefaultLineEndStyles,createDefaultLineHeightOptions,createDefaultLineHeightScaleOptions,createDefaultShapePreprocessor,createDefaultStrokeScaleOptions,createDefaultStrokeWidthOptions,createDefaultTextAlignOptions,createEditor,createFrameStyleProcessor,createLineEndProcessor,createBackgroundColorControl as createMarkupEditorBackgroundColorControl,createColorControl as createMarkupEditorColorControl,createColorOptions as createMarkupEditorColorOptions,createFontColorControl as createMarkupEditorFontColorControl,createFontFamilyControl as createMarkupEditorFontFamilyControl,createFontFamilyOptions as createMarkupEditorFontFamilyOptions,createFontScaleOptions as createMarkupEditorFontScaleOptions,createFontSizeControl as createMarkupEditorFontSizeControl,createFontSizeOptions as createMarkupEditorFontSizeOptions,createFontStyleControl as createMarkupEditorFontStyleControl,createFontStyleOptions as createMarkupEditorFontStyleOptions,createLineEndStyleControl as createMarkupEditorLineEndStyleControl,createLineEndStyleOptions as createMarkupEditorLineEndStyleOptions,createLineHeightControl as createMarkupEditorLineHeightControl,createLineHeightOptions as createMarkupEditorLineHeightOptions,createLineHeightScaleOptions as createMarkupEditorLineHeightScaleOptions,createLineStartStyleControl as createMarkupEditorLineStartStyleControl,createMarkupEditorShapeStyleControls,createStrokeColorControl as createMarkupEditorStrokeColorControl,createStrokeScaleOptions as createMarkupEditorStrokeScaleOptions,createStrokeWidthControl as createMarkupEditorStrokeWidthControl,createStrokeWidthOptions as createMarkupEditorStrokeWidthOptions,createTextAlignControl as createMarkupEditorTextAlignControl,createToolStyle as createMarkupEditorToolStyle,createMarkupEditorToolStyles,createMarkupEditorToolbar,createNode,createShapePreprocessor,defineCustomElements,defineDefaultCustomElements,degToRad,dispatchEditorEvents,brightness as effectBrightness,clarity as effectClarity,contrast as effectContrast,exposure as effectExposure,gamma as effectGamma,saturation as effectSaturation,temperature as effectTemperature,vignette as effectVignette,chrome as filterChrome,cold as filterCold,fade as filterFade,invert as filterInvert,monoDefault as filterMonoDefault,monoNoir as filterMonoNoir,monoStark as filterMonoStark,monoWash as filterMonoWash,pastel as filterPastel,sepiaBlues as filterSepiaBlues,sepiaColor as filterSepiaColor,sepiaDefault as filterSepiaDefault,sepiaRust as filterSepiaRust,warm as filterWarm,findNode,edgeCross as frameEdgeCross,edgeOverlap as frameEdgeOverlap,edgeSeparate as frameEdgeSeparate,hook as frameHook,lineMultiple as frameLineMultiple,lineSingle as frameLineSingle,polaroid as framePolaroid,solidRound as frameSolidRound,solidSharp as frameSolidSharp,getEditorDefaults,getEditorProps,insertNodeAfter,insertNodeBefore,isModernBrowser as isSupported,legacyDataToImageState,locale_en_gb,markup_editor_defaults,markup_editor_locale_en_gb,openDefaultEditor,openEditor,overlayDefaultEditor,overlayEditor,plugin_annotate,plugin_annotate_locale_en_gb,plugin_crop,plugin_crop_locale_en_gb,plugin_decorate,plugin_decorate_locale_en_gb,plugin_filter,plugin_filter_defaults,plugin_filter_locale_en_gb,plugin_finetune,plugin_finetune_defaults,plugin_finetune_locale_en_gb,plugin_frame,plugin_frame_defaults,plugin_frame_locale_en_gb,plugin_redact,plugin_redact_locale_en_gb,plugin_resize,plugin_resize_locale_en_gb,plugin_sticker,plugin_sticker_locale_en_gb,processDefaultImage,processImage,removeNode,setPlugins,supportsWebGL};\n","var map = {\n\t\"./af\": 2786,\n\t\"./af.js\": 2786,\n\t\"./ar\": 867,\n\t\"./ar-dz\": 4130,\n\t\"./ar-dz.js\": 4130,\n\t\"./ar-kw\": 6135,\n\t\"./ar-kw.js\": 6135,\n\t\"./ar-ly\": 6440,\n\t\"./ar-ly.js\": 6440,\n\t\"./ar-ma\": 7702,\n\t\"./ar-ma.js\": 7702,\n\t\"./ar-sa\": 6040,\n\t\"./ar-sa.js\": 6040,\n\t\"./ar-tn\": 7100,\n\t\"./ar-tn.js\": 7100,\n\t\"./ar.js\": 867,\n\t\"./az\": 1083,\n\t\"./az.js\": 1083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 8338,\n\t\"./bg.js\": 8338,\n\t\"./bm\": 7438,\n\t\"./bm.js\": 7438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 6225,\n\t\"./bn-bd.js\": 6225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 1560,\n\t\"./bo.js\": 1560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 622,\n\t\"./bs.js\": 622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 877,\n\t\"./cv.js\": 877,\n\t\"./cy\": 7373,\n\t\"./cy.js\": 7373,\n\t\"./da\": 4780,\n\t\"./da.js\": 4780,\n\t\"./de\": 9740,\n\t\"./de-at\": 217,\n\t\"./de-at.js\": 217,\n\t\"./de-ch\": 894,\n\t\"./de-ch.js\": 894,\n\t\"./de.js\": 9740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 837,\n\t\"./el.js\": 837,\n\t\"./en-au\": 8348,\n\t\"./en-au.js\": 8348,\n\t\"./en-ca\": 7925,\n\t\"./en-ca.js\": 7925,\n\t\"./en-gb\": 2243,\n\t\"./en-gb.js\": 2243,\n\t\"./en-ie\": 6436,\n\t\"./en-ie.js\": 6436,\n\t\"./en-il\": 7207,\n\t\"./en-il.js\": 7207,\n\t\"./en-in\": 4175,\n\t\"./en-in.js\": 4175,\n\t\"./en-nz\": 6319,\n\t\"./en-nz.js\": 6319,\n\t\"./en-sg\": 1662,\n\t\"./en-sg.js\": 1662,\n\t\"./eo\": 2915,\n\t\"./eo.js\": 2915,\n\t\"./es\": 5655,\n\t\"./es-do\": 5251,\n\t\"./es-do.js\": 5251,\n\t\"./es-mx\": 6112,\n\t\"./es-mx.js\": 6112,\n\t\"./es-us\": 1146,\n\t\"./es-us.js\": 1146,\n\t\"./es.js\": 5655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 7763,\n\t\"./eu.js\": 7763,\n\t\"./fa\": 6959,\n\t\"./fa.js\": 6959,\n\t\"./fi\": 1897,\n\t\"./fi.js\": 1897,\n\t\"./fil\": 2549,\n\t\"./fil.js\": 2549,\n\t\"./fo\": 4694,\n\t\"./fo.js\": 4694,\n\t\"./fr\": 4470,\n\t\"./fr-ca\": 3049,\n\t\"./fr-ca.js\": 3049,\n\t\"./fr-ch\": 2330,\n\t\"./fr-ch.js\": 2330,\n\t\"./fr.js\": 4470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 9295,\n\t\"./ga.js\": 9295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 8794,\n\t\"./gl.js\": 8794,\n\t\"./gom-deva\": 7884,\n\t\"./gom-deva.js\": 7884,\n\t\"./gom-latn\": 3168,\n\t\"./gom-latn.js\": 3168,\n\t\"./gu\": 5349,\n\t\"./gu.js\": 5349,\n\t\"./he\": 4206,\n\t\"./he.js\": 4206,\n\t\"./hi\": 94,\n\t\"./hi.js\": 94,\n\t\"./hr\": 316,\n\t\"./hr.js\": 316,\n\t\"./hu\": 2138,\n\t\"./hu.js\": 2138,\n\t\"./hy-am\": 1423,\n\t\"./hy-am.js\": 1423,\n\t\"./id\": 9218,\n\t\"./id.js\": 9218,\n\t\"./is\": 135,\n\t\"./is.js\": 135,\n\t\"./it\": 626,\n\t\"./it-ch\": 150,\n\t\"./it-ch.js\": 150,\n\t\"./it.js\": 626,\n\t\"./ja\": 9183,\n\t\"./ja.js\": 9183,\n\t\"./jv\": 4286,\n\t\"./jv.js\": 4286,\n\t\"./ka\": 2105,\n\t\"./ka.js\": 2105,\n\t\"./kk\": 7772,\n\t\"./kk.js\": 7772,\n\t\"./km\": 8758,\n\t\"./km.js\": 8758,\n\t\"./kn\": 9282,\n\t\"./kn.js\": 9282,\n\t\"./ko\": 3730,\n\t\"./ko.js\": 3730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 3291,\n\t\"./ky.js\": 3291,\n\t\"./lb\": 6841,\n\t\"./lb.js\": 6841,\n\t\"./lo\": 5466,\n\t\"./lo.js\": 5466,\n\t\"./lt\": 7010,\n\t\"./lt.js\": 7010,\n\t\"./lv\": 7595,\n\t\"./lv.js\": 7595,\n\t\"./me\": 9861,\n\t\"./me.js\": 9861,\n\t\"./mi\": 5493,\n\t\"./mi.js\": 5493,\n\t\"./mk\": 5966,\n\t\"./mk.js\": 5966,\n\t\"./ml\": 7341,\n\t\"./ml.js\": 7341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 370,\n\t\"./mr.js\": 370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 1237,\n\t\"./ms-my.js\": 1237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 2126,\n\t\"./mt.js\": 2126,\n\t\"./my\": 6165,\n\t\"./my.js\": 6165,\n\t\"./nb\": 4924,\n\t\"./nb.js\": 4924,\n\t\"./ne\": 6744,\n\t\"./ne.js\": 6744,\n\t\"./nl\": 3901,\n\t\"./nl-be\": 9814,\n\t\"./nl-be.js\": 9814,\n\t\"./nl.js\": 3901,\n\t\"./nn\": 3877,\n\t\"./nn.js\": 3877,\n\t\"./oc-lnc\": 2135,\n\t\"./oc-lnc.js\": 2135,\n\t\"./pa-in\": 5858,\n\t\"./pa-in.js\": 5858,\n\t\"./pl\": 4495,\n\t\"./pl.js\": 4495,\n\t\"./pt\": 9520,\n\t\"./pt-br\": 7971,\n\t\"./pt-br.js\": 7971,\n\t\"./pt.js\": 9520,\n\t\"./ro\": 6459,\n\t\"./ro.js\": 6459,\n\t\"./ru\": 1793,\n\t\"./ru.js\": 1793,\n\t\"./sd\": 950,\n\t\"./sd.js\": 950,\n\t\"./se\": 490,\n\t\"./se.js\": 490,\n\t\"./si\": 124,\n\t\"./si.js\": 124,\n\t\"./sk\": 4249,\n\t\"./sk.js\": 4249,\n\t\"./sl\": 4082,\n\t\"./sl.js\": 4082,\n\t\"./sq\": 1104,\n\t\"./sq.js\": 1104,\n\t\"./sr\": 9131,\n\t\"./sr-cyrl\": 9915,\n\t\"./sr-cyrl.js\": 9915,\n\t\"./sr.js\": 9131,\n\t\"./ss\": 5893,\n\t\"./ss.js\": 5893,\n\t\"./sv\": 8760,\n\t\"./sv.js\": 8760,\n\t\"./sw\": 1172,\n\t\"./sw.js\": 1172,\n\t\"./ta\": 7333,\n\t\"./ta.js\": 7333,\n\t\"./te\": 3110,\n\t\"./te.js\": 3110,\n\t\"./tet\": 2095,\n\t\"./tet.js\": 2095,\n\t\"./tg\": 7321,\n\t\"./tg.js\": 7321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 9005,\n\t\"./tk.js\": 9005,\n\t\"./tl-ph\": 5768,\n\t\"./tl-ph.js\": 5768,\n\t\"./tlh\": 9444,\n\t\"./tlh.js\": 9444,\n\t\"./tr\": 2397,\n\t\"./tr.js\": 2397,\n\t\"./tzl\": 8254,\n\t\"./tzl.js\": 8254,\n\t\"./tzm\": 1106,\n\t\"./tzm-latn\": 699,\n\t\"./tzm-latn.js\": 699,\n\t\"./tzm.js\": 1106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 7691,\n\t\"./uk.js\": 7691,\n\t\"./ur\": 3795,\n\t\"./ur.js\": 3795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 588,\n\t\"./uz-latn.js\": 588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 5666,\n\t\"./vi.js\": 5666,\n\t\"./x-pseudo\": 4378,\n\t\"./x-pseudo.js\": 4378,\n\t\"./yo\": 5805,\n\t\"./yo.js\": 5805,\n\t\"./zh-cn\": 3839,\n\t\"./zh-cn.js\": 3839,\n\t\"./zh-hk\": 5726,\n\t\"./zh-hk.js\": 5726,\n\t\"./zh-mo\": 9807,\n\t\"./zh-mo.js\": 9807,\n\t\"./zh-tw\": 4152,\n\t\"./zh-tw.js\": 4152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","createConsumer","channels","require","forEach","PhotoBlock","_ref","startX","startY","width","height","_classCallCheck","this","_createClass","key","get","x","y","_renderCenteredRoundRect","_classPrivateFieldLooseKey","CaptureGuideRenderer","_ref2","canvas","rowCount","columnCount","horizontalOverlap","verticalOverlap","defineProperty","value","_renderCenteredRoundRect2","onLoadCallback","console","dir","referenceImage","internalWidth","referenceImageInset","photoBlocks","context","getContext","originalImage","_this","scaleImage","then","rescaledImage","computePhotoBlocks","render","_failureEvent","nonOverlapX","nonOverlapY","photoWidth","photoHeight","photoCount","rowId","Math","floor","columnId","photoBlock","push","options","arguments","length","undefined","clear","renderBackground","renderReferenceImage","cycle","renderPhotoBlocks","autoCycle","renderPhotoBlock","clearRect","fillStyle","fillRect","drawImage","finalCycle","currentCycle","fogOnly","_this2","save","restore","lineWidth","strokeStyle","beginPath","setLineDash","lineTo","closePath","stroke","_photoBlock$centerPoi","centerPoint","centerX","centerY","arc","PI","fill","font","textAlign","fillText","String","projectionColor","cameraX","cameraY","moveTo","iconBackgroundColor","iconCameraColor","_classPrivateFieldLooseBase","humpX","iconWidth","humpY","iconHeight","bezierCurveTo","setTimeout","nextCycle","callback","radius","xStart","yStart","xEnd","yEnd","arcTo","_loadCaptureGuideWriter","_hideSpinner","_default","_Controller","_len","args","Array","_key","_callSuper","concat","_assertThisInitialized","_hideSpinner2","_loadCaptureGuideWriter2","captureGuideWriter","_inherits","fetchImage","imageUrlValue","image","alert","event","stopPropagation","application","controllers","find","c","identifier","open","Controller","_this3","canvasTarget","rowCountValue","columnCountValue","horizontalOverlapValue","verticalOverlapValue","onLoad","classList","add","load","document","querySelector","dataset","spinnerOverlayVisibleValue","targets","values","imageUrl","Number","_regeneratorRuntime","t","r","prototype","n","hasOwnProperty","i","Symbol","a","iterator","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","apply","err","_defineProperties","target","props","descriptor","_toPropertyKey","toPrimitive","_toPrimitive","receiver","privateKey","_mountCardField","_validateCardField","_cardClasses","_cardFieldStyle","CheckoutForm","config","instance","Constructor","stripeJs","stripeElements","cardCvcField","cardNumberField","cardExpiryField","supportedStripeElementFieldTypes","fieldType","selector","stripeElementField","style","classes","mount","on","elementType","isComplete","cardFields","filter","field","every","contains","enableSubmit","disableSubmit","invalid","empty","base","fontFamily","fontSize","fontWeight","color","stripePublicKey","stripeInvoiceData","formElement","submitElement","protoProps","staticProps","_payWithCard","_loadStripeElements","_callee","_context","loadStripe","elements","total","_callee2","_context2","confirmCardPayment","clientSecret","payment_method","card","getStripeElementField","setup_future_usage","label","textContent","disabled","remove","includes","getElement","payment_intent","client_secret","toFixed","discounts","coupon","checkoutForm","showError","errorMessage","errorBox","getElementById","errorListItem","createElement","firstElementChild","replaceChildren","showInvoiceTotal","hasCreditCardFormTarget","creditCardFormTarget","addEventListener","Rails","url","invoiceDataPathValue","success","data","loadStripeElements","invoiceTotal","window","preventDefault","payWithCard","result","focus","message","Turbo","afterPaySuccessPathValue","stripeData","stripeKeyValue","form","mountCvcField","mountNumberField","mountExpiryField","couponName","couponNameValue","afterPaySuccessPath","invoiceDataPath","stripeKey","_updatePotentialValueLabel","_updateRateStaticLabel","_updateRateStaticLabel2","_updatePotentialValueLabel2","updateRateStatic","updateRate","rateValue","rateFieldTarget","rateStaticValue","rateStaticFieldTarget","checked","unlockPriceValue","potentialValueLabelTarget","potentialValue","rateSigil","rateStaticLabelTarget","rate","rateStatic","Boolean","unlockPrice","_updateProgressBar","_updateStatusDescription","_createStitchChannelSubscription","_createStitchChannelSubscription2","_updateStatusDescription2","_updateProgressBar2","stitchChannelSubscription","unsubscribe","currentValue","oldValue","location","reload","onCompletePathValue","eventData","percentComplete","parseInt","percent_complete","percentCompleteValue","errorCode","failureDescription","progressBarWidth","progressBarTarget","description","statusDescriptionTarget","controller","stitchChannelIdentifier","channel","stitch_id","stitchIdValue","consumer","subscriptions","received","eventName","percentCompleteDidUpdate","stitchDidFail","stitchId","onCompletePath","params","targetElement","navigator","clipboard","writeText","element","insertAdjacentHTML","templateValue","parentEntrySelector","entryClassValue","closest","entryClass","template","timeout","dismissLater","Alert","getOrCreateInstance","close","clearTimeout","delay","dismissalDelay","cancelDismissal","dismiss","languageValue","languageClass","hljs","highlightElement","language","default","disableUnusableFields","labelFieldTarget","placeholderFieldTarget","hasChoicesFieldsetTarget","choicesFieldsetTarget","selectedFieldType","typeFieldTarget","integrationToken","generateRandomString","Tooltip","hide","gallery","triggerTargets","pswpModule","PhotoSwipe","preloaderDelay","lightbox","PhotoSwipeLightbox","customizePreloader","loadingMessageValue","attachCaptionBox","init","loadingMessage","defaultLabelText","labelTarget","buttonTextField","buttonTextValue","buttonUrlField","buttonUrlValue","buttonTextTarget","buttonTarget","href","buttonText","buttonUrl","bsModal","Modal","autoShowValue","show","innerHTML","autoShow","StatusCard","labelElement","dismissButtonElement","hiddenElementClass","trackerCard","appendChild","innerText","destroy","text","States","_fail","_succeed","_createSegmentPhoto","_directUploadDidProgress","NewSegmentPhotoManager","_directUploadDidProgress2","_createSegmentPhoto2","_succeed2","_fail2","state","statusCard","createSegmentPhotoUrl","directUploadUrl","csrfToken","domFile","onSucceed","onFail","directUploader","DirectUpload","statusCardsContainerElement","prepend","_this$statusCard","setLabel","blob","_this2$statusCard","signed_id","request","upload","loaded","_this$statusCard2","_this$statusCard3","processing","showDismissButton","_this$statusCard4","signedImageId","_this4","formData","FormData","append","XMLHttpRequest","onerror","ontimeout","onload","status","JSON","parse","response","send","_this$statusCard5","_manageSegmentPhotoFile","_manageSegmentPhotoFile2","newSegmentPhotoManagers","startZipButtonTooltip","head","content","filesFieldTarget","startZipButtonTarget","trigger","updateStartZipButton","updatePhotoLimitAlert","spinner","persistedPhotoFrame","persistedPhotoFrameSrc","frameSrc","src","click","dropZoneTarget","removeHighlightDropZone","droppedFiles","dataTransfer","files","changeEvent","Event","dispatchEvent","from","file","setAttribute","startZipButtonTooltipText","recommendedPhotoLimitValue","persistedPhotoCount","photoLimitAlertTarget","defaultButtonText","activeUploadsCount","bsOriginalTitle","set","tooltipText","persistedPhotoPreviewTargets","manager","createSegmentPhotoUrlValue","renderStatusCard","stagingAreaTarget","processFile","recommendedPhotoLimit","initializeEditor","previousTransformationsValue","previousTransformations","_calculatePpi","_calculateOtherField","_switchFeedbackCard","_switchIcon","_switchIcon2","_switchFeedbackCard2","_calculateOtherField2","_calculatePpi2","pxWidthValue","pxHeightValue","keepAspectRatioValue","heightFieldTarget","widthFieldTarget","ppiValue","ppiFieldTarget","ppiPreviewTargets","ppiPreview","round","sqrt","pow","aspectRatio","Infinity","successCardTarget","failureCardTarget","icon","iconTarget","pxHeight","pxWidth","ppi","keepAspectRatio","showCouponName","submitButton","applyPromoFormTarget","appliedCouponLabelTarget","distanceBetween","b","pointsToMat","pts","cv","flatMap","pt","rectifiedDimensions","imageWidth","imageHeight","handleLocations","points","corners","topLeft","topRight","bottomRight","bottomLeft","u0","v0","m1x","m1y","m2x","m2y","m3x","m3y","m4x","m4y","k2","k3","fSquared","rectifiedAspectRatio","leftLength","rightLength","targetHeight","max","targetWidth","clamp","lower","upper","min","_transformPosition","_untransformPosition","Interface","_untransformPosition2","_transformPosition2","failedStateOnlineColor","handleRadius","backgroundImage","scale","handles","d3Transform","rectifier","dragCallbacks","d3","subject","selectedHandleId","nearestHandleId","sourceEvent","interfaceLocation","localizeCursorLocation","cursorSource","touches","pageLocation","pageX","pageY","moveHandle","magnifier","_event","canRectify","rectify","onUpdateCallback","valid","renderForFailedState","zoomCallbacks","scaleExtent","transform","xReset","yReset","_event$transform","panX","panY","k","_classPrivateFieldLoo","xS","yS","_classPrivateFieldLoo2","xE","yE","ceil","xShift","yShift","eventIsArtificial","kReset","translate","transition","duration","ease","preferredHandlePositions","preferredPosition","outlineColor","outline","globalCompositeOperation","_step","_iterator","_createForOfIteratorHelper","handlePosition","_classPrivateFieldLoo6","_classPrivateFieldLoo3","sx","sy","_classPrivateFieldLoo4","sw","sh","_step2","_iterator2","_classPrivateFieldLoo7","_classPrivateFieldLoo5","failedStateIndicatable","clientX","clientY","constrain","canvasBoundary","getBoundingClientRect","canvasStart","left","canvasEnd","right","canvasTop","top","externalCanvasWidth","externalCanvasHeight","bottom","scrollX","scrollY","canvasX","canvasY","cursor","handleDistanceById","distance","_handleDistanceById$r","reduce","handleId","position","point","xScale","yScale","rescaledX","rescaleX","rescaledY","rescaleY","unPoint","invert","Magnifier","backgroundWidth","backgroundHeight","reticle","focalDot","size","zoom","borderStyle","borderWidth","borderColor","display","zIndex","borderRadius","backgroundColor","backgroundRepeat","backgroundSize","marginTop","marginLeft","body","source","sourceLocation","xPercent","yPercent","backgroundPosition","Rectifier","beforeRectifyCallback","_this5","inputImage","_this5$inputImage","inputCorners","outputDimensions","outputWidth","outputHeight","inputPixels","outputPixels","outputSize","inputPoints","outputPoints","transformationMatrix","rectificationCanvas","toBlob","File","_indicateFailedState","_indicateSuccessState","_initialCornerPositions","_get_initialCornerPositions","_indicateSuccessState2","_indicateFailedState2","hideSpinner","onUpdate","statusInfoValue","beforeRectify","showSpinner","failedStateIndicatableValue","formTriggerTarget","didRectify","rectificationData","rectifiedImage","cornerPositions","DataTransfer","items","fileFieldTarget","cornerXFieldTargets","cornerYFieldTargets","referenceImageForm","spinnerTarget","errorTextTarget","statusInfo","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","valueOf","bind","ReferenceError","_setPrototypeOf","_visitReferrerView","_fetchReferrerTreeData","_createReferrerTreeChart","_createReferrerTreeChart2","_fetchReferrerTreeData2","_visitReferrerView2","subClass","superClass","referrerTreeData","referrerTreeChart","containerTarget","enableTooltips","referrerId","referrerViewUrl","URL","referrerViewUrlValue","searchParams","_fetchReferrerTreeData3","dataUrlValue","root","eachBefore","index","nodes","descendants","formatNumber","formatPercent","formatCurrency","columns","_d$children","children","user_referral_count","commission_rate_static","commission_rate","tooltip","_ref3","_ref4","unpaid_earnings","nodeHeight","chart","attr","selectAll","links","join","depth","node","_ref5","record_id","nodeWidth","earns_commissions_for_parent","ancestors","organization_name","_ref6$tooltip","_loop","_ref6","_columns","_i","copy","dataUrl","_ref$params","formTarget","globalScopeTarget","submit","useScopes","narrowScopeTargets","scopeBox","hasSubmitButtonTarget","submitButtonTarget","requestSubmit","_setupSelectField","_setupSelectionLabel","_setupSearchBox","_setupSearchBox2","_setupSelectionLabel2","_setupSelectField2","searchBoxTarget","toggle","searchFieldTarget","queryString","toUpperCase","searchResultTargets","searchResult","eventOrSearchResult","selectedValue","labelText","placeholderValue","selectFieldTarget","selectionLabelTarget","toggleSearchBox","autoSubmitValue","selectFieldSelector","selectFieldClassValue","selectField","searchableSelectTarget","selectedSearchResultId","selectedIndex","selectionValue","selectionText","searchResultTemplate","searchResultTemplateTarget","cloneNode","resultTargets","replace","searchResultListTarget","searchBoxIsClosed","closeSearchBox","selectResult","filteredSearchResults","placeholder","autoSubmit","selectFieldClass","finalStep","carousel","slideTargets","Carousel","deckTarget","interval","currentStep","to","currentStepValue","stepParam","slideDeckStepParam","isClosed","indicatorTargets","indicator","_createOverlay","_appendSpinner","_removeSpinner","_removeSpinner2","_appendSpinner2","_createOverlay2","overlay","visibleValue","spinnerOverlay","spinnerContainer","removeChild","visible","stitchController","subscription","connected","updateProgressBar","afterStitchCompletePathValue","progressLabel","progressBar","afterStitchCompletePath","_addSortDirectionClasses","_sortTable","_getQueryParameter","_getQueryParameter2","_sortTable2","_addSortDirectionClasses2","unsortableColumnIDs","column","ascending","currentUrl","sortParam","directionParam","sortingParams","sort","direction","urlObject","toString","parameterName","URLSearchParams","search","progressiveFields","progressiveInput","currentField","test","nextPosition","nextField","maxLength","select","perhapsProgressField","_updateTelephoneFields","_updateHostField","_updateHostField2","_updateTelephoneFields2","telephoneFields","querySelectorAll","enableProgressiveFields","telephoneField","hostFieldIdValue","phoneNumber","hostField","areaCodeFieldTarget","localPrefixFieldTarget","localSuffixFieldTarget","hostFieldId","foregroundColorPickerTarget","backgroundColorPickerTarget","selectedColor","editorTarget","editor","activateAttribute","currentTarget","fieldTarget","hasAttribute","_togglesNestedLink","_expandTargetCollapsible","_collapseTargetCollapsible","_targetedCollapsible","_targetedCollapsible2","_togglesNestedLink2","primaryLink","targetCollapsible","Collapse","updateLinks","activeNestedLink","pathname","nestedLinkTargets","nestedLink","getAttribute","primaryLinkTargets","some","rootPageLinkTarget","otherLink","bsTarget","targetCollapsibleSelector","videoEnabled","IntersectionObserver","entries","entry","intersectionRatio","playerTarget","pause","threshold","observe","play","Application","start","definitionsFromContext","Stimulus","showSpinnerOverlay","coveredElement","newReferenceImageForm","fileZone","referenceImageField","referenceImageFieldDecoy","tempFiles","referenceImageFile","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","referenceImageUrl","finetuneOptions","plugin_finetune_defaults","option","locale","locale_en_gb","plugin_finetune_locale_en_gb","imageWriter","createDefaultImageWriter","copyImageHead","orientImage","mimeType","quality","store","dest","xhr","setPlugins","plugin_finetune","openEditor","imageReader","createDefaultImageReader","cleanUpEditorListener","documentElement","once","editReferenceImageArea","editButton","compositeImageUrl","autoLaunch","editStitchNameModal","userSelectForm","heightField","widthField","DurationField","fieldGroup","parentId","partField","valueField","loadDurationFields","updateHostField","isoDuration","currentPart","currentDuration","moment","_currentDuration$_dat","_data","years","months","days","currentParts","as","asDays","asWeeks","targetPart","targetValue","targetDuration","toISOString","durationFieldInputGroup","enable","anchorElementSelector","persistableTabsSelector","handleBubbledEvent","targetPaneSelector","persistedTabSelector","sessionStorage","setItem","persistTab","getItem","persistedTab","Tab","showPersistedTab","integrationIdArea","integrationIdField","generateValueButton","clearValueButton","referrerForm","referrerCards","enablePersistedTabs","enableDurationFields","integrationTokenArea","integrationTokenField","setupIntegrationTokenArea","referrerCard","referrerCardSelector","duplicationButton","fieldSelector","duplicatableElementSelector","duplicatableElement","duplicatedElement","insertAdjacentElement","duplicateField","duplicate","enableFieldDuplication","prependToBlockToolbar","buttonHtml","ogHtml","Trix","toolbar","getDefaultHTML","doc","DOMParser","parseFromString","textToolsGroup","updatedHtml","appendToTextToolbar","defineTextAlignCenterButton","blockAttributes","textAlignCenter","tagName","nestable","exclusive","appendToBlockToolbar","ActiveStorage","removeH1Button","heading4","terminal","breakOnReturn","group","heading3","heading2","heading1","textAttributes","foregroundColor","styleProperty","inheritable","parser","anchorSelector","applicationContainerSelector","popoverTriggerSelector","showPopover","popoverTrigger","sanitizeHtml","bsSanitize","popover","Popover","sanitize","el","bootstrap","getInstance","enableLightboxes","userAgent","match","video","outerHTML","activeElementType","activeElement","toLowerCase","hiddenContent","triggerSelector","preloaderDefinition","pswp","ui","uiElementsData","definition","originalInitFunction","onInit","loadingLabel","className","registerElement","order","isButton","appendTo","captionBox","caption","currSlide","sourceUrl","token","uploadURL","canvasMemoryLimit","onProgress","imageState","_yield$Promise","img","Image","createObjectURL","stringify","onprogress","_x","_x2","outputProps","plugin_crop","plugin_crop_locale_en_gb","history","write","tooltipTriggerSelector","tooltipTrigger","changePasswordButton","eventType","targetSelector","reaction","matches","crossOrigin","blobUrl","outputImage","revokeObjectURL","targetLength","constraints","availableCharacters","character","random","_toConsumableArray","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","iter","len","arr2","timeoutId","Markers","dataViewGetApplicationMarkers","view","getUint16","marker","markerTypes","byteLength","offset","res","getUint8","arrayBufferImageExif","DataView","markers","exif","tags","getUint32","byteAlignment","storedAsLittleEndian","getTagOffsets","offsets","tagOffset","read","address","tagOffsets","setUint16","dataViewGetExifTags","backup","getNativeAPIRef","API","noop$1","FileReaderDataFormat","readFile","_options$dataFormat","dataFormat","reader","blobReadSection","_args","result$b","isBrowser","result$a","canOrientImages","testImage","naturalWidth","canvasToImageData","getImageData","attributes","descriptors","cssText","child","MATRICES","getImageOrientationMatrix","orientation","releaseCanvas","ctx","isImageData","imageDataToCanvas","_callee3","imageData","inMemoryCanvas","_args3","_context3","t0","t1","_slicedToArray","t3","t2","putImageData","t4","HTMLCanvasElement","_x4","orientImageData","_callee4","_args4","_context4","_x5","isObject","val","deepCopy","dst","isString","isFunction","imageToCanvasSafe","ready","_ref7","canvasWidth","canvasHeight","naturalHeight","requiredCanvasMemory","canvasScalar","imageToCanvas","blobToCanvas","_ref8","_callee5","imageBlob","imageElement","_context5","_x6","_x7","canCreateImageBitmap","isSVGFile","getUniqueId","substr","workerPool","Map","thread","transferList","workerKey","pooledWorker","workerFn","wrapFunction","Blob","functionToBlob","messages","worker","Worker","terminationTimeout","terminate","onmessage","_e$data","has","messageId","postMessage","blobToImageData","_ref9","_callee6","_context6","createImageBitmap","bitmap","OffscreenCanvas","_x8","_x9","canvasToBlob","imageDataToBlob","_ref10","_callee7","_context7","_x10","_x11","_x12","blobWriteSection","section","getExtensionFromMimeType","getFilenameWithoutExtension","lastIndexOf","ImageExtensionsRegex","getMimeTypeFromFilename","ext","filename","split","blobToFile","mimetype","lastModified","Date","getTime","blobHasMimeType","blobMimeType","fileMimeType","targetMimeTypeExtension","matchFilenameToMimeType","getAspectRatio","w","passthrough","HALF_PI","QUART_PI","isRotatedSideways","rotationLimited","abs","scalar","pivot","vectorCreateEmpty","vectorCreate","vectorCreateFromAny","vectorCreateFromPointerEvent","vectorClone","vectorInvert","vectorRotate","radians","cos","sin","tx","ty","vectorLength","vectorNormalize","vectorEqual","vectorApply","vectorAdd","vectorSubtract","vectorMultiply","vectorDot","vectorDistanceSquared","vectorDistance","vectorCenter","vectorsFlip","flipX","flipY","cx","cy","vectorsRotate","angle","rx","ry","toSize","sizeClone","sizeCreateFromAny","sizeCreateFromRect","sizeCreateFromArray","sizeCreateFromElement","nodeName","sizeCreate","sizeEqual","format","sizeScale","sizeCenter","sizeRotate","sizeContains","sizeApply","lineCreate","end","lineClone","line","lineExtend","amount","m","CornerSigns","toRect","rectClone","rect","rectCreateEmpty","rectCreateFromSize","rectCreateFromAny","rectCreateFromPoints","xMin","xMax","yMin","yMax","rectCreateWithCenter","center","rectCreate","rectCenter","rectTranslate","rectScale","rectMultiply","factor","rectDivide","rectEqual","rectAspectRatio","rectUpdate","rectUpdateWithRect","rectRotate","rectGetCorners","vertex","rectCenterRect","rectContainsPoint","rectCoverRect","inputAspectRatio","rectContainRect","rectToBounds","rectApply","rectApplyPerspective","perspective","corner","sign","rectNormalizeOffset","convexPolyCentroid","vertices","first","last","twiceArea","fx","fy","lineLineIntersection","getLineLineIntersectionPoint","denominator","uA","uB","quadLines","ellipseToPolygon","rotation","resolution","getImageTransformedRect","imageSize","imageRotation","imageRect","imageCenter","imageTransformedVertices","isElement","HTMLElement","RegExp","isFile","canvasToFile","_ref12","_callee8","_context8","_x13","_x14","_x15","getFilenameFromURL","shift","supportsReplaceChildren","Node","fn$1","parent","newChildren","lastChild","container","class","appendForMeasuring","parentNode","isSafari","isSafari$1","getImageElementSize","shouldAutoRemove","measure","clearInterval","intervalId","setInterval","getImageSize","_ref13","_callee9","_context9","_x16","awaitComplete","imageToFile","_ref14","_callee10","_context10","_x17","createProgressEvent","lengthComputable","isImage","dataURIToFile","_ref15","_callee11","dataURI","_args11","_context11","fetch","_x18","getResponseHeader","header","getAllResponseHeaders","indexOf","getFilenameFromContentDisposition","splice","trim","decodeURI","EditorErrorCode","EditorError","_Error","metadata","_wrapNativeSuper","urlToFile","handleError","responseType","fetchFile","srcToFile","_ref16","_callee12","_context12","_x19","_x20","result$9","isMac","platform","isUserAgent","result$8","isIOS","maxTouchPoints","orientImageSize","_ref17","_callee13","_args13","_context13","_x21","isJPEG","post","_options$token","_options$beforeSend","beforeSend","_options$onprogress","cancel","abort","encodeURI","ctxRotate","rotate","ctxTranslate","ctxScale","cropImageData","_ref18","_callee14","crop","shouldFlip","shouldRotate","cropDefined","cropCoversImage","shouldCrop","imageDataOut","_ctx2","_ctx3","_ctx4","_args14","_context14","_x22","resizeTransform","inputWidth","inputHeight","inputData","outputData","Uint8ClampedArray","scaleX","scaleY","scaleXHalf","scaleYHalf","j","x2","weight","weights","weightsAlpha","yy","dy","w0","xx","dx","ref","imageDataObjectToImageData","ImageData","createImageData","resizeImageData","_ref19","_callee15","fit","upscale","scalarWidth","scalarHeight","_scalar","_args15","_context15","buffer","_x23","colorEffect","matrix","m11","m12","m13","m14","m15","m21","m22","m23","m24","m25","m31","m32","m33","m34","m35","m41","m42","m43","m44","m45","mr","mg","mb","ma","or","og","ob","convolutionEffect","kernelWeight","curr","side","sideHalf","scy","scx","srcOff","vignetteEffect","strength","fr","fg","fb","br","bg","bb","ba","fa","ca","input","output","alpha","dist","dm","noiseEffect","level","_options$monochrome","monochrome","rand","pixel","average","_pixel2","gammaEffect","isIdentityMatrix","filterImageData","_ref20","_callee16","colorMatrix","convolutionMatrix","gammaLevel","noiseLevel","vignetteStrength","filters","filterChain","_args16","_context16","gamma","noise","vignette","clarity","chain","transforms","filterInstructions","_x24","isNumber","hasProp","isBinary","colorArrayToRGBA","objectUID","isContextBlank","Uint32Array","whenSVGSafeForDrawing","_ref21","_callee17","_args17","_context17","_x25","safariDrawCache","svgToImage","svg","_ref22$safariCacheKey","safariCacheKey","blobToDataURL","FileReader","readAsDataURL","pubsub","subs","sub","subscriber","pub","textGetStyles","_ref24","_ref24$color","_ref24$fontSize","_ref24$fontFamily","_ref24$fontVariant","fontVariant","_ref24$fontWeight","_ref24$fontStyle","fontStyle","_ref24$textAlign","_ref24$lineHeight","lineHeight","textGetContentEditableStyles","isAutoWidth","widthValue","heightValue","wordBreak","whiteSpace","paddingTop","_ref23","_ref23$fontSize","_ref23$lineHeight","textGetInitialLineOffset","TextMeasureCache","TextSizeCache","textToSize","_options$width2","_options$height","uid","contenteditable","spellcheck","getPathFromURL","StyleSheetLoaders","loadStylesheet","loader","_pubsub","txt","cb","createStyleSheetLoader","getRulesRemote","_ref25","_callee18","styleSheetContent","tempStyleSheet","_context18","styleSheets","styleSheet","ownerNode","cssRules","_x26","RemoteStyleSheetRulesCache","filterFontFaceRules","rules","rule","CSSFontFaceRule","getFontFaceRulesSafe","_ref26","_callee19","willRequestResource","_args19","_context19","_x27","getCSSPropertyValue","getPropertyValue","isMatchingFontRule","getMatchingFontRule","fontRule","getDocumentStylesheetFontFaceRules","_ref27","_callee20","ruleSets","_context20","all","ruleSet","_x28","getFontSources","_ref28","_callee21","fontFaceRules","matchingRules","_context21","parentStyleSheet","styleSheetPath","origin","fontSrcFirst","fontProps","prop","_x29","_x30","FontLocal","FontCache","getFontFaceEmbed","_ref29","_callee22","fontStyles","fontSources","fontFaces","_ref30","_ref31","fontSource","dataType","dataURL","_context22","_x31","_x32","textToImage","_ref32","_callee23","_options$imageWidth","_options$imageHeight","_options$paddingLeft","paddingLeft","_options$paddingRight","paddingRight","textStyles","textContentEditableStyles","fontEmbed","textEncoded","_args23","_context23","fixPrecision","precision","parseFloat","shapeShallowCopy","shape","shapeDeepCopy","shapeLineGetStartPoint","x1","y1","shapeLineGetEndPoint","y2","shapeIsText","shapeIsTextLine","shapeHasRelativeSize","shapeIsTextBox","shapeIsRect","shapeHasComputedSize","shapeIsEllipse","shapeIsLine","shapeIsTriangle","shapeIsPath","shapeIsVisible","opacity","shapeHasSize","shapeDeleteRelativeProps","shapeDeleteTransformProps","shapeFormatStroke","strokeWidth","strokeColor","shapeFormatFill","shapeFormatTextLine","shapeFormatTextBox","shapeFormat","disableErase","shapeFormatDefaults","shapeFormatText","cornerRadius","shapeFormatRect","shapeFormatPath","lineStart","lineEnd","shapeFormatLine","shapeFormatEllipse","shapeFormatTriangle","xRegExp","yRegExp","rightRegExp","bottomRegExp","compute","_ref34","computeProps","endsWith","_ref35","_ref36","shapeComputeDisplay","shapeComputeRect","shapesBounds","shapes","parentRect","bounds","_shapeBounds","shapeBounds","_shapeBounds2","shapesFromCompositShape","shapeCopy","shapeComputeTransform","x3","y3","shapeHasNumericStroke","_scale","shapeGetCenter","isCanvas","loadImage","onSize","sizeCalculated","reportSize","cache","getImage","_options$onMetadata","onMetadata","_options$onLoad","_options$onError","onError","_options$onComplete","onComplete","imageLoadState","loading","bus","drawCanvas","srcRect","destRect","ctxDrawImage","_ref37","_callee24","draw","_args24","_context24","clip","_x33","_x34","_x35","_x36","getDrawImageParams","backgroundCorners","defineRectShape","ctxRoundRect","fillRectShape","strokeRectShape","drawRect","_ref38","_callee26","_args26","_context26","_ref39","_callee25","_getDrawImageParams","_context25","globalAlpha","_x39","_x40","_x37","_x38","drawEllipse","_ref40","_callee28","_args28","_context28","_ref41","_callee27","_getDrawImageParams2","_context27","ellipse","_x43","_x44","_x41","_x42","drawText","_ref42","_callee29","_context29","_x45","_x46","_x47","drawLine","_ref43","_callee31","_context31","_ref44","_callee30","lineStartPosition","lineEndPosition","_context30","_x50","_x48","_x49","drawPath","_ref45","_callee32","_context32","pathClose","_x51","_x52","ctxFlip","drawShape","_ref46","_callee33","_context33","drawShapes","t5","t6","t7","t8","_x53","_x54","_x55","_ref47","_callee34","drawnShapes","_iterator3","_step3","_context34","_x56","_x57","_x58","drawImageData","_ref48","_callee35","_options$shapes","_options$context","_options$contextBound","contextBounds","_options$transform","_options$preprocessSh","preprocessShape","computedShapes","_args35","_context35","flat","_x59","fillImageData","_ref49","_callee36","_args36","_context36","_x60","getColorMatrixFromColorMatrices","colorMatrices","previous","current","getImageRedactionScaleFactor","redactionShapes","imageRes","maxShapeSize","maxShapeRes","roundFraction","noop","identity","assign","tar","run","blank_object","run_all","fns","is_function","thing","safe_not_equal","subscribe","_len2","callbacks","_key2","unsub","get_store_value","_","component_subscribe","component","$$","on_destroy","create_slot","$$scope","slot_ctx","get_slot_context","update_slot","slot","slot_definition","dirty","get_slot_changes_fn","get_slot_context_fn","slot_changes","lets","merged","get_slot_changes","slot_context","exclude_internal_props","compute_rest_props","rest","Set","set_store_value","ret","action_destroyer","action_result","is_client","now","performance","raf","requestAnimationFrame","tasks","run_tasks","task","loop","promise","fulfill","insert","anchor","insertBefore","detach","svg_element","createElementNS","createTextNode","space","listen","handler","removeEventListener","stop_propagation","attribute","removeAttribute","set_attributes","set_data","wholeText","custom_event","detail","createEvent","initCustomEvent","current_component","HtmlTag","html","childNodes","active_docs","active","create_rule","step","keyframes","str","hash","charCodeAt","ownerDocument","stylesheet","__svelte_stylesheet","sheet","current_rules","__svelte_rules","insertRule","animation","delete_rule","anim","deleted","deleteRule","set_current_component","get_current_component","onMount","on_mount","afterUpdate","after_update","onDestroy","createEventDispatcher","setContext","bubble","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","add_render_callback","add_flush_callback","flushing","seen_callbacks","flush","update","fragment","before_update","dispatch","kind","outros","outroing","group_outros","check_outros","transition_in","block","local","transition_out","null_transition","create_bidirectional_transition","intro","running_program","pending_program","animation_name","clear_animation","program","go","_ref50","_ref50$delay","_ref50$duration","_ref50$easing","easing","_ref50$tick","tick","css","globals","globalThis","global","destroy_block","lookup","outro_and_destroy_block","update_keyed_each","old_blocks","get_key","dynamic","list","create_each_block","get_context","old_indexes","new_blocks","new_lookup","deltas","child_ctx","will_move","did_move","new_block","old_block","new_key","old_key","get_spread_update","levels","updates","to_null_out","accounted_for","get_spread_object","spread_props","bound","create_component","mount_component","customElement","_component$$$","new_on_destroy","destroy_component","detaching","make_dirty","create_fragment","not_equal","parent_component","on_disconnect","skip_bound","hydrate","SvelteComponent","$destroy","$$props","$$set","subscriber_queue","readable","subscribers","new_value","run_queue","derived","stores","initial_value","single","stores_array","auto","inited","pending","cleanup","sync","unsubscribers","mergeObjects","objects","UPDATE_VALUE","updateValue","DEFAULT_VALUE","defaultValue","DERIVED_STORE","UNIQUE_DERIVED_STORE","_fn2","selectedStores","_fn2$","isEqual","isFirst","storeValues","MAP_STORE","_fn4","valueMapper","_fn4$","observedStores","_fn4$2","sorter","storedItems","$observedStores","mapValue","item","setValue","mappedItems","_ref51","_ref52","_writable","createStores","accessors","_ref53","_ref54","opts","_options$store","_options$defaultValue","_options$updateValue","storeInstance","_storeInstance$update","ignoreFirstCallback","updateStoreValue","nextValue","previousValue","createStore","property","capitalizeFirstLetter","defineMethods","object","api","pointInPoly","aX","aY","offsetRectToFitPolygon","poly","polyLines","atan2","ray","lineExtended","intersection","rectOffset","limitCropRectToImage","rectVertexes","rectCenterPosition","intersections","rectVertex","lineMultiply","intersectionFound","rectLimitedVertices","rectLimitedToImage","getImagePolygon","imagePerspective","imagePoly","imageVertex","imagePolyBounds","getMaxSizeInRect","hyp","innerAngle","rotationSigned","rotationSignedMod","rotationSignedModHalf","applyCropRectAction","cropRectPrevious","cropRectNext","cropLimitToImageBounds","cropMinSize","cropMaxSize","minSize","maxSize","maxScalar","minScalar","cropRectOut","previousCropRectCenter","nextCropRectCenter","cw","ch","imagePolygon","maxSizeInRect","intendedAspectRatio","intendedCenter","containedRect","limitRectToImage","getBaseCropRect","transformedCropRect","imageRotatedBoundsCenter","cropCenterInTransformedImage","deRotatedCropCenter","cropFromCenterOfTransformedImage","originalCropCenterOffset","ORDERED_STATE_PROPS","clone","filterShapeState","_ref55","_ref56","startsWith","arrayEqual","MIN_ROTATION","MAX_ROTATION","isCropCentered","cropCenter","imageRotatedVertices","imageBoundsCenter","updateRotationRange","imageIsRotatedSideways","cropSize","cropLimitToImage","requiredSpace","acos","rangeHorizontal","rangeVertical","asin","range","formatShape","_isFormatted","_isDraft","imageProps","_ref57","$size","_ref58","perspectiveX","perspectiveY","_ref59","_ref60","rotationNext","rotationPrevious","loadState","rotationRange","cropOrigin","beforeComplete","cropRect","cropWasAtMaxSize","cropWasCentered","imageRotationPrevious","imageRotationRange","cropRectOrigin","didAttemptDoubleTurn","imageTurns","imageRotationClamped","cropRectBase","imageTransformedCorners","perspectiveOffset","rotateCropOffset","imageBoundsRect","imageCentroid","cropOffset","applyRotationAction","_ref61","_ref62","_ref63","_ref64","_ref65","$rotation","prevValue","cropNext","cropPrevious","cropAspectRatio","aspectRatioNext","aspectRatioPrevious","_v$split2","toNumericAspectRatio","aspectRatioDist","sizeTurn","limitToImageNext","limitToImagePrevious","_ref67","_ref68","$crop","_ref70","_ref71","$cropSize","_ref73","cropRectAspectRatio","_ref74","_ref75","$cropRectAspectRatio","$cropMinSize","$cropMaxSize","$cropLimitToImage","updateCropRange","prevRange","nextRange","_ref76","_ref77","_ref78","$isRotatedSideways","padColorArray","_ref79","_ref80","_ref81","frameShapeNext","frameStyle","disableStyle","CUSTOM_STORE","redaction","annotation","decoration","setState","process","_ref82","_callee38","chainTasks","chainOptions","processOptions","ontaskstart","ontaskprogress","ontaskend","cancelled","_iterator4","_step4","_ref84","_ret","_args38","_context38","_callee37","_ref83","_task","_context37","_x61","_x62","editorEventsToBubble","imagePrivateProps","imagePublicProps","_ref90","getImagePropGroupedName","isImageSource","isImageState","createImageEditor","_createStores2","_pubsub3","getImageObjSafe","images","initialImageProps","imageLoadAbort","imageProcessAbort","unsubSrc","loadSrc","unsubReader","cropLimitedToImage","imageCropLimitToImage","imageCropMinSize","minImageSize","removeImage","_ref85$minSize","_createStores","_pubsub2","createProcessingHandler","stateProp","eventKey","getStore","setStore","timeStamp","hasError","onabort","taskProgress","taskLengthComputable","ontaskerror","_ref86","imageReadToken","imageReadCancelled","imageReadHandler","readerState","readerOptions","_callee39","_ref88","_context39","minWidth","minHeight","writer","processState","imageWriteHandler","writerState","imageWriteToken","imageWriteCancelled","writerOptions","_callee40","_context40","createImageCore","fin","unsubs","imageCrop","imageCropAspectRatio","remainingOptions","_objectWithoutProperties","_excluded","applyImageOptionsOrState","abortLoadImage","editImage","unsubReject","unsubResolve","processImage","_ref94","_callee41","_context41","shapePreprocessor","imageScrambler","_x63","_x64","abortProcessImage","getCanvasMemoryLimit","isSafari15","createCanvasImageDrawer","imageDataResizer","_ref96","_callee42","_yield$processImage","_context42","createDefaultImageReader$1","createDefaultImageWriter$1","targetSize","_x65","_x66","_x67","_x68","connect","getter","_len3","_key6","setter","_ref97","_callee43","progressUpdated","_context43","_x69","_x70","_x71","AnyToFile","_ref98","_ref98$srcProp","srcProp","_ref98$destProp","destProp","BlobReadImageSize","_ref99","_ref99$srcProp","_ref99$destProp","ImageSizeMatchOrientation","_ref100","_ref100$srcSize","srcSize","_ref100$srcOrientatio","srcOrientation","_ref100$destSize","destSize","BlobReadImageHead","_ref101","_ref101$srcProp","_ref101$destProp","ImageHeadReadExifOrientationTag","_ref102","_ref102$srcProp","_ref102$destProp","ImageHeadClearExifOrientationTag","_ref103$srcProp","CalculateCanvasScalar","_ref104","_ref104$srcImageSize","srcImageSize","_ref104$srcCanvasSize","srcCanvasSize","_ref104$srcImageState","srcImageState","_ref104$destImageSize","destImageSize","_ref104$destScalar","destScalar","naturalSize","canvasSize","_ref105","_ref106","BlobToImageData","_ref107","_ref107$srcProp","_ref107$destProp","_ref107$canvasMemoryL","ImageDataMatchOrientation","_ref108","_ref108$srcImageData","srcImageData","_ref108$srcOrientatio","ImageDataFill","_ref109","_ref109$srcImageData","_ref109$srcImageState","ImageDataCrop","_ref110","_ref110$srcImageData","_ref110$srcImageState","_ref110$destScalar","ImageDataResize","_ref111","_ref111$targetSize","_ref111$imageDataResi","_ref111$srcProp","_ref111$srcImageState","_ref111$destImageScal","destImageScaledSize","MAX_SAFE_INTEGER","ImageDataFilter","_ref112","_ref112$srcImageData","_ref112$srcImageState","_ref112$destImageData","destImageData","createImageContextDrawingTransform","_ref113","_state$srcImageState","_state$srcImageState$","_state$srcImageState$2","rotatedRect","rotatedSize","scaledSize","ImageDataRedact","_ref114","_ref114$srcImageData","_ref114$srcImageState","_ref114$destImageData","_ref114$destScalar","_ref115","_callee44","imageBackgroundColor","scrambledCanvas","path","_context44","dataSizeScalar","Path2D","addPath","imageSmoothingEnabled","_x72","_x73","_x74","_x75","_x76","_ref116","ImageDataAnnotate","_ref117","_ref117$srcImageData","_ref117$srcSize","_ref117$srcImageState","_ref117$destImageData","_ref117$destImageScal","_ref117$destScalar","_ref117$imageDataResi","_ref118","isPreview","ImageDataDecorate","_ref119","_ref119$srcImageData","_ref119$srcImageState","_ref119$destImageData","_ref119$destImageScal","_ref119$imageDataResi","_ref119$destScalar","_ref120","_state$srcImageState2","contextScalar","ImageDataFrame","_ref121","_ref121$srcImageData","_ref121$srcImageState","_ref121$destImageData","_ref121$destImageScal","_ref121$imageDataResi","_ref121$destScalar","_ref122","frame","contaxtScalar","ImageDataToBlob","_ref123","_ref123$mimeType","_ref123$quality","_ref123$srcImageData","_ref123$srcFile","srcFile","_ref123$destBlob","destBlob","ImageDataToCanvas","_ref124","_ref124$srcImageData","_ref124$srcOrientatio","_ref124$destCanvas","destCanvas","writeImageHead","_ref125","_callee45","exifBuffer","_context45","_x77","_x78","BlobWriteImageHead","srcBlob","srcHead","BlobToFile","_ref126","_ref126$renameFile","renameFile","_ref126$srcBlob","_ref126$srcFile","_ref126$destFile","destFile","_ref126$defaultFilena","defaultFilename","Store","_ref127","_ref127$url","_ref127$dataset","_ref127$destStore","destStore","_ref128","_callee46","_context46","_x79","_x80","PropFilter","allowlist","_options$orientImage","_options$outputProps","preprocessImageFile","_options$canvasMemory","_options$orientImage2","_options$copyImageHea","_options$mimeType","_options$quality","_options$renameFile","_options$targetSize","_options$imageDataRes","_options$store2","_options$format","_options$outputProps2","preprocessImageSource","preprocessImageState","postprocessImageData","postprocessImageBlob","_ref129","getComponentExportedProps","Component","circOut","is_date","get_interpolator","bi","delta","interpolators","tweened","defaults","target_value","previous_task","started","_assign","_assign$delay","_assign$duration","_assign$easing","_assign$interpolate","interpolate","elapsed","tick_spring","last_value","current_value","velocity","dt","stiffness","damping","inv_mass","settled","next_value","spring","last_time","current_token","_opts$stiffness","_opts$damping","_opts$precision","inv_mass_recovery_rate","cancel_task","hard","soft","fulfil","observer","prefersReducedMotion","mql","matchMedia","onchange","rectNext","updateNodeRect","CustomEvent","measureViewRect","clientRect","measureOffset","offsetLeft","offsetTop","offsetWidth","offsetHeight","observedNodes","measurable","_options$observePosit","observePosition","_options$observeViewR","observeViewRect","_options$once","_options$disabled","ResizeObserver","unobserve","disconnect","focusvisible","isKeyboardInteraction","pointerdown","keydown","keyup","focusVisible","blur","getResourceFromItem","_ref131","_callee48","_context48","getAsFile","getAsString","_x82","getResourcesFromEvent","dropable","handleDragOver","handleDrop","_ref132","_callee49","resources","_context49","_x83","result$7","supportsWebGL2","getWebGLContext","attrs","result$6","isSoftwareRendering","failIfMajorPerformanceCaveat","isPowerOf2","stringReplace","prefix","postfix","SHADER_VERT_SNIPPETS","SHADER_FRAG_SNIPPETS","mask","colorize","maskapply","maskfeatherapply","edgeaa","cornerradius","fragcolor","compileShader","gl","shader","createShader","transpiledSrc","VERTEX_SHADER","FRAGMENT_SHADER","transpileShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","vertexShaderCode","fragmentShaderCode","attribs","uniforms","vertexShader","fragmentShader","createProgram","attachShader","linkProgram","locations","getAttribLocation","getUniformLocation","detachShader","deleteShader","deleteProgram","canMipMap","updateTexture","texture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_LINEAR","LINEAR","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","generateMipmap","applyTextureProperties","applyOpacity","mat4Create","mat","Float32Array","mat4Ortho","near","far","lr","bt","nf","mat4Translate","z","createPathSegment","ab","bc","tangent","miter","normal","miterLength","rectPointsToVertices","createRectPoints","pushRectCornerPoints","limit","getWebGLTextureSizeLimit","getParameter","MAX_TEXTURE_SIZE","result$5","RECT_UV","CLARITY_IDENTITY","COLOR_MATRIX_IDENTITY$1","COLOR_TRANSPARENT","NO_CORNERS","calculateBackgroundUVMap","viewPixelDensity","createWebGLCanvas","viewAspectRatio","markupMatrix","maskTop","maskRight","maskBottom","maskLeft","maskOpacity","maskBounds","IMAGE_MASK_FEATHER","RECT_MASK_FEATHER","viewSize","viewSizeVisual","textureSizeLimit","markupMatrixCanvas","markupMatrixFrameBuffer","CANVAS_COLOR_R","CANVAS_COLOR_G","CANVAS_COLOR_B","indexTextureMap","FOV","FOV_TAN_HALF","tan","antialias","premultipliedAlpha","getExtension","disable","DEPTH_TEST","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","transparentTexture","createTexture","Uint8Array","imageMarkupTexture","markupFramebuffer","createFramebuffer","imageBlendTexture","blendFramebuffer","imageShader","imagePositionsBuffer","createBuffer","texturePositionsBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","pathShader","pathBuffer","strokePath","useProgram","enableVertexAttribArray","aPosition","aNormal","aMiter","createPathVertices","stride","BYTES_PER_ELEMENT","normalOffset","miterOffset","uniform1f","uWidth","uniform4fv","uColor","uniformMatrix4fv","uMatrix","uniform4f","uCanvasColor","uniform1fv","uMaskBounds","uMaskOpacity","vertexAttribPointer","FLOAT","drawArrays","TRIANGLE_STRIP","disableVertexAttribArray","triangleShader","triangleBuffer","rectShader","rectBuffer","rectTextureBuffer","rectCornerBuffer","ellipseShader","ellipseBuffer","ellipseTextureBuffer","glTextures","imageFramebufferSize","drawToImageFramebuffer","textureScalar","textureWidth","textureHeight","bindFramebuffer","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","mat4ScaleY","viewport","colorMask","clearColor","COLOR_BUFFER_BIT","textureDelete","forceRelease","retain","deleteTexture","strokeClose","drawTriangle","clonedPoints","trianglePointToVertices","fillTriangle","backgroundUVMap","maskFeather","inverted","rectOut","cornerRadiusOut","limitCornerRadius","rectFill","colorFilter","uv","aTexCoord","aRectCoord","uniform2fv","uSize","uPosition","uniform1i","uInverted","uCornerRadius","uMaskFeather","uTexture","uTextureColor","uTextureOpacity","activeTexture","TEXTURE0","_cornerRadius","tl","tr","bl","createRectOutline","uRadius","fillEllipse","createEllipseOutline","textureSize","originX","originY","translateX","translateY","rotateX","rotateY","rotateZ","maskCornerRadius","imageOverlayColor","enableMarkup","enableBlend","imagePositions","viewZ","fovy","aspect","rad","a00","a01","a02","a03","a10","a11","a12","a13","mat4RotateZ","mat4Scale","a20","a21","a22","a23","mat4RotateY","mat4RotateX","uniform2f","uTextureSize","blendTextureIndex","blendTexture","uTextureBlend","clarityWeight","markupTextureIndex","markupTexture","uTextureMarkup","uOverlayColor","uFillColor","uClarityKernel","uClarityKernelWeight","uColorGamma","uColorVignette","uColorOffset","uColorMatrix","uOpacity","uMaskCornerRadius","textureFilterNearest","NEAREST","textureFilterLinear","textureCreate","textureUpdate","setCanvasColor","drawToCanvas","drawingBufferWidth","drawingBufferHeight","drawToImageBlendBuffer","drawToImageOverlayBuffer","enableMask","maskX","maskY","maskWidth","maskHeight","disableMask","resize","pixelDensity","release","create_fragment$N","div","canvas_1","mounted","dispose","instance$N","$$self","$$invalidate","canDraw","drawUpdate","$background","$maskOpacityStore","$mask","$imageOverlayColor","$maskFrameOpacityStore","blendWithCanvasBackground","back","front","_back","bR","bG","bB","_front","fR","fG","fB","fA","animate","maskRect","_$$props$maskOpacity","_$$props$maskFrameOpa","maskFrameOpacity","_$$props$pixelRatio","pixelRatio","_$$props$willRender","willRender","_$$props$willRequestR","_$$props$loadImageDat","loadImageData","_$$props$images","_$$props$interfaceIma","interfaceImages","canvasGL","updateSpring","SPRING_PROPS_FRACTION","background","maskOpacityStore","maskFrameOpacityStore","Textures","PlaceholderTextures","getImageTexture","imageRendering","getTextTexture","_textMeasure","_options$width","measurement","endMarker","elementRect","endMarkerRect","lastCharPosition","textMeasure","textUID","xOffset","yOffset","widthRounded","heightRounded","isTexture","WebGLTexture","drawImageHelper","_ref133","translation","overlayColor","enableShapes","backgroundCornersToUVMap","_ref134","_ref135","EmptyVector","shapeTexture","_isLoading","backgroundImageRendering","getShapeTexture","_translate","shapeRect","shapeCornerRadius","textureAspectRatio","pixelTextureSize","TextPadding","_prerender","usedTextures","redraw","imagesTop","_willRender","blendShapes","annotationShapes","interfaceShapes","decorationShapes","frameShapes","canvasBackgroundColor","imagesMask","imagesMaskOpacity","imagesOverlayColor","imagesSize","imagesBackgroundColor","hasBlendShapes","hasAnnotations","hasImageBackgroundColor","backR","backG","backB","frontA","frontR","frontG","frontB","shapesInside","expandsCanvas","shapesOutside","registeredTexture","usedTexture","releaseUnusedTextures","lastDraw","redrawThrottled","$$value","Canvas","_SvelteComponent","arrayJoin","get_each_context$9","get_default_slot_changes$1","tab","get_default_slot_context$1","create_if_block$e","ul","ul_class_value","each_blocks","each_1_lookup","each_value","create_each_block$9","key_1","li","button","button_disabled_value","li_aria_controls_value","li_id_value","li_aria_selected_value","default_slot_template","default_slot","keydown_handler","_ctx5","_len4","_key7","click_handler","_ctx6","_len5","_key8","tabId","selected","new_ctx","create_fragment$M","if_block_anchor","if_block","_ref136","instance$M","tabNodes","shouldRender","_$$props$$$slots","$$slots","slots","_$$props$class","klass","_$$props$tabs","tabs","_$$props$layout","layout","focusTab","handleClickTab","handleKeyTab","_ref138","findIndex","isActive","TabList","_SvelteComponent2","get_default_slot_changes_1","panel","get_default_slot_context_1","panelIsActive","get_each_context$8","panelId","tabindex","labelledBy","hidden","get_default_slot_changes","get_default_slot_context","create_else_block$5","div1","div0","div0_class_value","create_if_block$d","div_class_value","create_each_block$8","create_if_block_1$e","div_hidden_value","div_id_value","div_tabindex_value","div_aria_labelledby_value","div_data_inert_value","create_fragment$L","current_block_type_index","if_block_creators","if_blocks","select_block_type","_ref139","previous_block_index","instance$L","panelNodes","_$$props$$$slots2","_$$props$class2","_$$props$visible","_$$props$panelClass","panelClass","_$$props$panels","panels","_$$props$style","drawCache","isVisible","TabPanels","_SvelteComponent3","create_fragment$K","switch_instance","updating_name","switch_instance_spread_levels","switch_instance_name_binding","switch_value","switch_props","switch_instance_props","$on","_ref141","switch_instance_changes","old_component","$set","instance$K","componentProps","$opacityClamped","$isActivePrivateStore","_$$props$isActive","_$$props$isAnimated","isAnimated","_$$props$class3","opacityClamped","$opacity","isHidden","isActivePrivateStore","panelName","stateProps","isActiveFraction","componentView","componentExportedProps","componentComputedProps","computedProps","componentComputedStateProps","computedStateProps","hasBeenMounted","Panel","_SvelteComponent4","create_fragment$J","svg_viewBox_value","_ref143","instance$J","_$$props$$$slots3","_$$props$width","_$$props$height","_$$props$style2","_$$props$class4","Icon","_SvelteComponent5","_this6","isEventTarget","create_if_block_1$d","icon_1","create_default_slot$h","icon_1_changes","create_if_block$c","span","create_fragment$I","default_slot_or_fallback","if_block0","if_block1","fallback_block$2","_ref145","instance$I","elButtonInnerClass","elButtonClass","elLabelClass","_$$props$$$slots4","_$$props$class5","_$$props$label","_$$props$labelClass","labelClass","_$$props$innerClass","innerClass","_$$props$hideLabel","hideLabel","_$$props$icon","_$$props$style3","_$$props$disabled","_$$props$type","_$$props$onclick","onclick","_$$props$onkeydown","onkeydown","_$$props$action","action","Button","_SvelteComponent6","_this7","arrayRemove","array","predicate","interactable","_options$inertia","inertia","_options$matchTarget","matchTarget","_options$pinch","pinch","_options$getEventPosi","getEventPosition","resetInertia","inertiaTweenUnsubscribe","inertiaTween","pinchOffsetDistance","currentTranslation","currentScale","isGesture","pointers","getPointerTimestamp","removePointer","pointer","pointerId","flattenPointerOrigin","updatePointer","getPointer","eventPosition","interactionDuration","getPointerIndex","isSingleTouching","isMultiTouching","getInteractionState","getDistance","lastTapTimeStamp","lastTapPosition","handlePointerdown","isContextMenuAction","timeStampInitial","interactionState","addPointer","handlePointermove","handlePointerup","moveLast","removedPointer","pinchCurrentDistance","isTap","isDoubleTap","interactionEnd","interactionDistanceSquared","inertiaPrevented","preventInertia","force","handleEnd","handleInertiaUpdate","inertiaTranslation","tapState","nudgeable","_options$direction","_options$shiftMultipl","shiftMultiplier","_options$bubbles","bubbles","_options$stopKeydownP","stopKeydownPropagation","isHorizontalDirection","isVerticalDirection","handleKeydown","isShift","shiftKey","isVerticalAction","isHorizontalAction","multiplier","elastify","log10","elastifyRects","unitToPixels","getWheelDelta","deltaX","deltaY","wheelDelta","wheelDeltaX","wheelDeltaY","ArrowKeys","Up","Down","Left","Right","create_fragment$H","div1_class_value","nudgeable_action","passive","instance$H","axis","containerStyle","containerFeatherSize","overflows","containerState","childStyle","$scrollOffset","$keysPressedStore","_$$props$$$slots5","ArrowKeyCodes","keysPressedStore","scrollOrigin","scrollRect","scrollContainerRect","scrollReleased","scrollState","scrollOffset","scrollFirstMove","scrollCancelled","scrollTranslationPrev","_$$props$class6","_$$props$scrollBlockI","scrollBlockInteractionDist","_$$props$scrollStep","scrollStep","_$$props$scrollFocusM","scrollFocusMargin","_$$props$scrollDirect","scrollDirection","_$$props$scrollAutoCa","scrollAutoCancel","_$$props$elasticity","elasticity","_$$props$onscroll","onscroll","_$$props$maskFeatherS","maskFeatherSize","_$$props$maskFeatherS2","maskFeatherStartOpacity","_$$props$maskFeatherE","maskFeatherEndOpacity","_$$props$scroll","scroll","overflowStyle","scrollAtRest","scrollOffsetUnsub","pos","limitOffsetToContainer","setScrollOffset","_options$elastic","elastic","_options$animate","offsetLimited","offsetVisual","snapToPosition","getComputedStyle","startOffset","endOffset","_ref147","_ref148","speed","diff","isHorizontalTranslation","_ref149","_ref150","currentScrollOffset","margin","_ref151","Scrollable","_SvelteComponent7","_this8","fade$1","_ref152","_ref152$delay","_ref152$duration","_ref152$easing","create_fragment$G","span_transition","_ref153","instance$G","_$$props$onmeasure","onmeasure","StatusMessage","_SvelteComponent8","_this9","create_fragment$F","span1","circle0","circle1","span0","_ref155","instance$F","formattedValue","circleValue","circleOpacity","$animatedProgressClamped","progress","_$$props$min","_$$props$max","_$$props$labelBusy","labelBusy","animatedValue","animatedProgressClamped","$animatedValue","animatedProgressClampedUnsub","ProgressIndicator","_SvelteComponent9","_this10","create_fragment$E","span_class_value","_ref157","instance$E","_$$props$$$slots6","_$$props$offset","_$$props$opacity","_$$props$class7","StatusAside","_SvelteComponent10","_this11","create_if_block_2$9","label_levels","for","label_data","create_if_block_1$c","div_levels","div_data","create_if_block$b","create_fragment$D","_ref159","instance$D","_$$props$$$slots7","_$$props$name","_$$props$attributes","Tag","_SvelteComponent11","_this12","getDevicePixelRatio","devicePixelRatio","snapToPixel","get_details_slot_changes","get_details_slot_context","get_label_slot_changes","get_label_slot_context","create_default_slot$g","label_slot_template","label_slot","create_if_block_1$b","details_slot_template","details","details_slot","create_fragment$C","if_block1_anchor","button_props","button_changes","panelMargin","instance$C","buttonElement","offsetProgress","isAnimating","tipScale","tipOpacity","tipStyle","handleDown","handleUp","$offset","$portalRootRect","$position","$portal","_$$props$$$slots8","_$$props$buttonClass","buttonClass","_$$props$panelClass2","_$$props$isActive2","_$$props$onshow","onshow","_ref161","portal","panelSize","buttonComponent","buttonRect","portalRootRect","detailPanel","isTargetSelf","downOutsidePanel","parentRight","parentBottom","panelLeft","panelTop","panelRight","panelBottom","Details","_SvelteComponent12","_this13","create_fragment$B","label_1","li_class_value","_ref162","instance$B","inputId","$keysPressedStored","_$$props$$$slots9","_$$props$class8","_$$props$disabled2","keysPressedStored","RadioItem","_SvelteComponent13","_this14","flattenOptions","mapOption","optionMapper","mappedOption","localize","localizeOptions","_ref164","_ref165","localizeOptions$1","isConfirmKey","isDeepEqual","get_each_context$7","get_option_slot_changes_1","get_option_slot_context_1","get_each_context_1","get_option_slot_changes","get_option_slot_context","get_group_slot_changes","get_group_slot_context","create_if_block_1$a","fieldset","fieldset_class_value","create_if_block_7$1","create_each_block$7","legend","legend_class_value","create_else_block$4","radioitem","create_default_slot_2$4","radioitem_changes","create_if_block_2$8","group_slot_template","group_slot","group_slot_or_fallback","t_value","fallback_block_1","each_value_1","create_each_block_1","create_if_block_6$2","create_default_slot_3$2","icon_changes","raw_value","create_if_block_5$4","option_slot_template","option_slot","option_slot_or_fallback","fallback_block_2","create_if_block_4$6","create_default_slot_1$7","create_if_block_3$7","create_default_slot$f","fallback_block$1","create_fragment$A","instance$A","localizedOptions","mappedOptions","flattenedOptions","_$$props$$$slots10","_$$props$label2","_$$props$hideLabel2","_$$props$class9","_$$props$name2","_$$props$selectedInde","_$$props$options","_$$props$onchange","_$$props$layout2","_$$props$optionMapper","_$$props$optionFilter","optionFilter","_$$props$value","_$$props$optionLabelC","optionLabelClass","_$$props$title","title","_$$props$locale","_$$props$optionClass","optionClass","_$$props$optionGroupC","optionGroupClass","getOptionIndex","flattenedOption","changeSelection","payload","_len6","_key9","opop","mapOptions","getUndefinedOptionIndex","RadioGroup","_SvelteComponent14","_this15","create_if_block_1$9","create_default_slot_1$6","create_label_slot$2","span0_class_value","span1_title_value","span1_class_value","t1_value","create_group_slot$1","create_if_block$a","create_default_slot$e","create_option_slot$4","span0_style_value","create_details_slot$2","radiogroup","_ref166","_ref167","_ref168","_ref169","radiogroup_changes","create_fragment$z","updating_isActive","details_isActive_binding","details_props","_ref170","details_changes","instance$z","selectedLabel","dropdownVisible","_$$props$class10","_$$props$title2","_$$props$label3","_$$props$labelClass2","_$$props$innerClass2","_$$props$hideLabel3","_$$props$icon2","_$$props$name3","_$$props$options2","_$$props$selectedInde2","_$$props$value2","_$$props$optionLabelC2","_$$props$optionFilter2","_$$props$optionMapper2","_$$props$optionIconSt","optionIconStyle","_$$props$optionLabelS","optionLabelStyle","_$$props$locale2","_$$props$onchange2","_$$props$onload","_$$props$ondestroy","ondestroy","_item","optionValue","optionLabel","getUndefinedOptionLabel","_ref172","Dropdown","_SvelteComponent15","_this16","toFraction","create_default_slot_1$5","create_default_slot$d","create_fragment$y","div4","div3","input_1","div2","button0","icon0","button1","icon1","div4_class_value","icon0_changes","icon1_changes","instance$y","numberValue","dimension","offsetSizeProp","offsetAxisProp","pageAxisProp","knobControllerStyle","inputSize","inputOffset","pageOffset","valuePrev","updateTimer","_$$props$min2","_$$props$max2","_$$props$step","_$$props$id","_$$props$value3","_$$props$trackStyle","trackStyle","_$$props$knobStyle","knobStyle","_$$props$onchange3","_$$props$direction","_$$props$getValue","getValue","_$$props$setValue","_$$props$class11","formatValue","fraction","numberRoundTo","setValueByOffset","handlePointerMove","handlePointerUp","updateDir","didUpdate","handleUpdaterUp","Slider","_SvelteComponent16","_this17","create_if_block$9","create_default_slot$c","create_label_slot$1","create_details_slot$1","slider","slider_spread_levels","slider_props","slider_changes","create_fragment$x","_ref173","instance$x","omit_props_names","$$restProps","_$$props$class12","_$$props2$title","_$$props3$label","_$$props4$icon","_$$props5$labelClass","_$$props6$innerClass","_$$props7$hideLabel","_$$props8$locale","_$$props9$value","_$$props10$onchange","_$$restProps","_$$restProps$getValue","getLabel","currentLabel","$$new_props","ToggleSlider","_SvelteComponent17","_this18","get_each_context$6","create_else_block$3","switch_instance_anchor","create_if_block$8","tag","create_default_slot$b","tag_changes","create_if_block_3$6","html_tag","html_anchor","create_if_block_2$7","create_if_block_1$8","dynamiccomponenttree","DynamicComponentTree_1","discardEmptyItems","dynamiccomponenttree_changes","select_block_type_1","create_each_block$6","show_if","create_fragment$w","each_1_anchor","_ref175","instance$w","_$$props$discardEmpty","ComponentMap","isComponent","shouldRenderItem","_item2","_item2$","_excluded2","_SvelteComponent18","_this19","smoothstep","createPing","cancelable","toKebabCase","abbr","mediaQueryStore","query","_writable2","mm","addListener","removeListener","matchMedia$1","_ref177","imageBitmapToImageData","_ref178","_callee50","imageBitmap","_context50","_x86","blobToImageBitmap","ImageOrienter","_callee51","toImageData","_context51","imageDataContain","_ref180","_callee52","_context52","_x87","colorStringToColorArray","_str$split2","q","_exec2","exec","hexToRGB","result$4","supportsWebGL","COLOR_MATRIX_IDENTITY","SPRING_PROPS","storeList","triggerUpdate","addStore","storeDidUpdate","unshift","isDarkColor","browse","fileInput","accept","window_1$1","create_if_block_1$7","create_if_block_6$1","create_if_block_2$6","div_style_value","create_if_block_7","create_if_block_8","statusmessage","aside","create_if_block_9","statusmessage_changes","statusaside","create_default_slot_4$1","statusaside_changes","create_default_slot_6","create_if_block_11","progressindicator","progressIndicator","progressindicator_changes","create_if_block_10","button_spread_levels","closeButton","create_default_slot_5","iconSupportError","if_block2","create_if_block_5$3","create_if_block_4$5","create_if_block_3$5","create_else_block$2","canvas_changes","scrollable","scrollElasticity","create_default_slot_1$4","scrollable_changes","create_default_slot_3$1","create_default_slot_2$3","tablist","tablist_spread_levels","tablist_props","_ref33","_ref87","tablist_changes","updating_component","panel_component_binding_1","panel_props","panel_changes","tabpanels","tabpanels_spread_levels","tabpanels_props","create_default_slot$a","_ref89","_ref179","tabpanels_changes","func","_ctx7","_len7","_key10","panel_component_binding","_ctx8","_len8","_key11","create_if_block$7","span_style_value","create_fragment$v","STAGE_OVERLAY_ID","maxOpacity","instance$v","isOverlayModeEnabled","showUtils","maxImageDataSize","imageTargetSizeCurrent","overlayTop","overlayBottom","overlayLeft","overlayRight","gradientOverlays","canAnimate","acceptsAnimations","canUndo","canRedo","utilsFiltered","utilsAvailable","utilsDefined","utilsMerged","utilSelected","utilTools","utilsVisibleFraction","tabsConfig","shouldRenderTabs","horizontalSpace","hasLimitedSpace","verticalSpace","isModal","isCenteredHorizontally","isCenteredVertically","isCentered","isNarrow","isLandscape","isCompact","hasSwipeNavigation","shouldRenderUtilTools","navigationHorizontalPreference","navigationVerticalPreference","rootElementComputedStyle","envStr","imageCanvasState","hasProps","missingFeatures","isSupportsError","isStartLoadingImageSource","isImageLoadError","isWaitingForImage","imageLoadProgress","isLoadingImageData","isCreatingImagePreview","isProcessingImage","imageLoadShowProgressIndicator","imageLoadStatusLabel","imageProcessStatusLabel","imageProcessProgress","imageProcessShowProgressIndicator","isImageProcessingError","isCustomStatus","isStatusActive","isStatusVisible","hasAside","statusIndent","statusTransform","toolbarItems","hasClientRect","canRender","hasImageRedaction","imageRedactionScalar","routePing","isReady","$images","$shapePreprocessor","$clientRect","$imageCropAspectRatio","$rootRect","$imageLoadState","$imageCropRect","$imageCropRectIntent","$isInteracting","$imageCropRectSnapshot","$previewShouldUpscale","$imageSelectionRect","$shouldAnimate","$imageSelectionRectIntent","$stageRect","$imageOutputSize","$stageScalar","$imageSize","$presentationScalar","$imageSelectionRectSnapshot","$overlayInset","$imageVisualBounds","$overlaySize","$overlayTopOpacity","$overlayBottomOpacity","$overlayLeftOpacity","$overlayRightOpacity","$imageOverlayMarkup","$imageFile","$imagePreview","$imagePreviewSource","$prefersReducedMotion","$imageState","$tabRect","$history","$imageProcessingPreparing","$env","$pointerAccuracy","$pointerHoverable","$imageTransforms","$imagePreviewModifiers","$imageProps","$activeImages","$imageSelectionRectPresentation","$imageVisualLoadComplete","$imageProcessState","$wasProcessingImage","$statusOpacity","$statusWidth","$asideWidth","$statusOffset","$pressedKeysStore","$imageRedaction","$imageScrambler","$imageBackgroundColor","$rootForegroundColor","$rootLineColor","$isInteractingFraction","$asideOffset","$asideOpacity","$toolRect","$utilRect","$pixelRatio","$rootBackgroundColor","$utilSelectedStore","$stagePadded","$interfaceImages","$willRequestResource","$imageAnnotation","$imageDecoration","$imageFrame","$imageOverlay","$disabledTransition","$$unsubscribe_imagePreview","$$unsubscribe_history","eventProxy","_$$props$class13","_$$props$layout3","layoutMode","_$$props$locale3","_$$props$id2","_$$props$util","util","_$$props$utils","utils","_$$props$animations","animations","_$$props$disabled3","_$$props$status","_$$props$previewUpsca","previewUpscale","_$$props$elasticityMu","elasticityMultiplier","_$$props$willRevert","willRevert","_$$props$willProcessI","willProcessImage","_$$props$willRenderCa","willRenderCanvas","_$$props$willRenderTo","willRenderToolbar","_$$props$willSetHisto","willSetHistoryInitialState","_$$props$enableButton","enableButtonExport","_$$props$enableButton2","enableButtonRevert","_$$props$enableNaviga","enableNavigateHistory","_$$props$enableToolba","enableToolbar","_$$props$enableUtils","enableUtils","_$$props$enableButton3","enableButtonClose","_$$props$enableDropIm","enableDropImage","_$$props$enablePasteI","enablePasteImage","_$$props$enableBrowse","enableBrowseImage","_$$props$previewImage","previewImageDataMaxSize","_$$props$layoutDirect","layoutDirectionPreference","_$$props$layoutHorizo","layoutHorizontalUtilsPreference","_$$props$layoutVertic","layoutVerticalUtilsPreference","_$$props$imagePreview","imagePreviewSrc","_$$props$imageOriente","imageOrienter","_$$props$pluginCompon","pluginComponents","_$$props$pluginOption","pluginOptions","pluginInterface","registeredPluginsComponents","disabledTransition","ImageStoreProps","proxyStores","glMaxTextureSize","maxTextureSize","_$$props$imageSourceT","imageSourceToImageData","statusText","imageProxy","publish","proxy","newImage","_imageProxy$stores","imageFile","imageProcessState","imageCropRect","imageCropMaxSize","imageCropRange","cropRange","imageCropRectOrigin","imageCropRectAspectRatio","imageOutputSize","imageFlipX","imageFlipY","imageColorMatrix","imageConvolutionMatrix","imageGamma","imageVignette","imageNoise","imageDecoration","imageAnnotation","imageRedaction","imageFrame","_stores","imageStateUnsub","utilSelectedStore","rootBackgroundColor","rootForegroundColor","rootLineColor","rootColorSecondary","rootRect","tabRect","toolRect","utilRect","pointerAccuracy","pointerHoverable","isInteracting","isInteractingFraction","animator","previewShouldUpscale","imageCropRectSnapshot","imageCropRectIntent","imageCropRectPresentation","instantUpdate","elasticRect","imageSelectionRect","imageSelectionRectSnapshot","imageSelectionRectIntent","prevFramePadding","framePadding","_ref189","_ref190","newPadding","getStagePadding","framePadded","_ref191","$framePadding","prevStagePadding","stagePadding","_ref193","_ref194","stagePadded","_ref195","$stagePadding","stageRect","_ref197","_ref198","utilOffsetY","stageScalar","_ref199","_ref200","stageRectPrev","presentationRect","imageSelectionRectPresentation","updater","visualSize","presentationScalarSnapshot","calculateImageSelectionRect","centeredImageSelectionRect","hasSetInitialStageScalar","stageScalarUnsub","stageRectUnsub","imageSelectionRectSnapshotUnsub","cropRectClone","imageSelectionRectUnsub","rectAdd","imageCropRectUnsub","imageSelectionRectAspectRatio","selectionRect","imageScalar","_ref201","_ref202","selectionScaledWidth","selectionScaledHeight","presentationScalar","_ref203","_ref204","$imageScalar","imageOutlineOpacity","imageVisualBounds","_ref205","_ref206","$rect","$padding","imageOutline","_ref207","_ref208","$colorOpacity","$framePadded","isDarkLine","isDarkFrame","frameColor","shadeColor","imageOverlayMarkup","imageOverlay","_ref209","_ref210","$imageOutline","getOverlayGradient","gradient","createLinearGradient","_ref211","_ref212","addColorStop","overlayInset","overlaySize","overlayLeftOpacity","overlayRightOpacity","overlayTopOpacity","gradientOverlayHorizontal","gradientOverlayVertical","overlayBottomOpacity","rootBackgroundColorUnsub","imageVisualLoadComplete","imagePreviewSource","imagePreviewLoaderCancelToken","imagePreview","_ref213","_ref214","canvasClone","timer","minPreviewLoaderDuration","activeImages","_$$props$imagePreview2","imagePreviewCurrent","imagePreviewModifiers","imageTransforms","_ref215","_ref216","$imageCropRectPresentation","$imageRotation","$imageFlipX","$imageFlipY","imageScale","imagePerspectiveX","imagePerspectiveY","viewRect","viewCenter","stageCenter","cropRectBaseCenter","imageTranslation","imageOffset","imageOrigin","imageSelectionCenter","imageSelectionOffset","calculateImageTransforms","windowWidth","windowHeight","imageEffects","_ref217","_ref218","$colorMatrix","$convolutionMatrix","$gamma","$vignette","$noise","shouldPreventSwipe","_matches$map2","major","minor","canPreventNavSwipe","env","initialPixelRatio","handleResolutionChange","resolutionObserver","shouldAnimate","getState","_pubsub4","updateSubs","isInteger","undo","newIndex","redo","revert","newState","lastState","newStateEntries","historyCreate","setInitialHistoryState","baseRect","baseCropRect","baseEditorState","editorInitialHistoryState","imageLoadStateUnsub","shouldReset","imageProcessingPreparing","handleExport","shouldProcess","statusOpacity","imageProcessStateUnsub","utilStores","rangeInputElasticity","utilsUniqueId","utilsVisible","iOS","syncColor","colorString","colorArray","syncColors","_ref220","_ref221","$imageEffects","lastImagePreview","loadTimer","addImagePreview","imageIntro","stateCache","_options$resize","resizeInitial","_options$opacity","storeEntries","_ref181","_ref182","storeArray","_ref183","storeSetters","_ref185","_ref186","_value","calculatedState","_ref187","_ref188","createImage","updateImagePreviews","currentImageProps","positionDecorationShape","canvasState","transformDecorationShape","flattenShapes","flattenedShapes","flattenShape","shapeIsTextEmpty","statusState","wasProcessingImage","asideOffset","asideOpacity","asideWidth","statusWidth","asideWidthUpdateTimer","statusOffset","handleCloseImageLoadError","handleCloseImageProcessError","handleTouchStart","handleTouchMove","pressedKeysStore","rootPortal","handleUserFile","isBitmap","handleSelectFile","scrambledPreviewImage","getStageState","lineColor","utilVisibility","createCanvasState","rootPortalStore","_ref226","_ref227","plugin","_ref228","_ref229","changed","_ref230","currentAspectRatio","nextAspectRatio","layoutPreference","_ref232","_ref234","calculateImageTargetSize","overlayMarkup","markup","utilId","_ref236","tabIcon","tabLabel","tools","isDisabled","hasToolbar","hasNavigation","_ref238","_ref239","_ref240","_ref242","imagesToRemove","labelSupportError","statusLabelLoadImage","statusLabelProcessImage","showProgress","isError","errorCallback","_status2","statusLabelButtonClose","statusIconButtonClose","labelClose","iconButtonClose","labelButtonRevert","iconButtonRevert","labelButtonUndo","iconButtonUndo","labelButtonRedo","iconButtonRedo","_ref244","_ref245","labelButtonExport","iconButtonExport","imagePreviewData","editorOptions","updateScrambledPreview","_$imageSize","route","createPingRouter","_ref219","propertyName","keyCode","metaKey","ctrlKey","keySet","_ref222","pressedKey","isTextarea","isTextInput","xPercentage","yPercentage","clipboardData","innerWidth","innerHeight","_ref223","_ref224","_ref225","drawState","_willRenderCanvas","editorProps","Ui","_SvelteComponent19","_this20","utilPrivateProps","viewPrivateProps","pluginProps","propPluginRef","setEditorViewPlugins","_len9","_key12","_plugin$util","editorEvents","dispatchEditorEvents","_options$prefix","dispatchElementEvent","toPercentageNumber","_plugin_finetune_defaults","finetuneControlConfiguration","_ref253","brightness","_ref249","matrices","contrast","_ref250","saturation","_ref251","exposure","_ref252","temperature","_ref256","_ref255","_ref254","finetuneLabelBrightness","finetuneLabelContrast","finetuneLabelSaturation","finetuneLabelExposure","finetuneLabelTemperature","finetuneLabelGamma","finetuneLabelClarity","finetuneLabelVignette","RGBToHSV","HSVToRGB","create_fragment$u","_ref257","instance$u","colorValue","_$$props$color","_$$props$title3","ColorPreview","_SvelteComponent20","_this21","create_if_block_4$4","create_label_slot","colorpreview","colorpreview_changes","create_if_block_2$5","div0_style_value","div1_style_value","div2_style_value","create_if_block_3$4","create_if_block$6","create_option_slot$3","_ref259","_ref260","create_group_slot","_ref261","_ref262","create_if_block_1$6","create_details_slot","create_fragment$t","instance$t","hue","valueAsRGB","valueAsRGBA","valueAsRGBAFullyTransparent","valueAsRGBAFullyOpaque","valueAsRGBAFullySaturated","_$$props$label4","_$$props$name4","_$$props$options3","_$$props$selectedInde3","_$$props$value4","_$$props$buttonClass2","_$$props$optionLabelC3","_$$props$optionMapper3","_$$props$onchange4","_$$props$title4","_$$props$hidePresetLa","hidePresetLabel","_$$props$locale4","_$$props$enableOpacit","enableOpacity","_$$props$enablePreset","enablePresets","_$$props$enablePicker","enablePicker","updateProps","syncControls","valueAsHSV","inputPageOffset","rgb","rgba","updateColorArray","offsetX","offsetY","vectorCreateFromPointerEventOffset","_ref263","_ref264","ColorPicker","_SvelteComponent21","_this22","upperCaseFirstLetter","result$2","canCheckFontAvailability","fonts","check","toLocaleFn","localePrefix","mapToSizeOption","createLocaleMapper","toolColorDefault","toolStrokeColorDefault","toolShapeDefaults","eraser","eraseRadius","rectangle","createToolStyle","createToolStyles","sharpie","disableMove","arrow","createToolbarItem","tool","createToolbar","createControlOptions","_ref265","defaultKey","defaultOptions","someFontsAvailableInStack","stack","createSliderControl","createBackgroundColorControl","shapeTitleBackgroundColor","createStrokeColorControl","shapeTitleStrokeColor","defaultStrokeWidth","createStrokeWidthControl","shapeTitleStrokeWidth","createLineControl","titleKey","createLineStartStyleControl","createLineEndStyleControl","createFontColorControl","shapeTitleTextColor","createFontStyleControl","shapeTitleFontStyle","createFontSizeControl","_ref269","shapeTitleFontSize","createTextAlignControl","shapeTitleTextAlign","createLineHeightControl","_ref271","shapeTitleLineHeight","createShapeStyleControls","colors","scales","_options$colorOptions","colorOptions","transparent","white","silver","gray","black","navy","blue","aqua","teal","olive","green","yellow","orange","red","maroon","fuchsia","purple","_options$lineEndStyle","lineEndStyleOptions","_options$fontFamilyOp","fontFamilyOptions","_options$fontStyleOpt","fontStyleOptions","styles","createFontStyleOptions","_options$textAlignOpt","textAlignOptions","align","createTextAlignOptions","_options$strokeWidthO","strokeWidthOptions","extraSmall","small","mediumSmall","medium","mediumLarge","large","extraLarge","_options$fontSizeOpti","fontSizeOptions","createFontScaleOptions","_options$lineHeightOp","lineHeightOptions","createLineHeightScaleOptions","_map","_map2","fontFamilies","controls","defaultColor","labelColor","defaultNumber","defaultPercentage","shapeTitleFontFamily","_ref266","_ref266$options","_ref267","testId","fontFamilyOption","fontStyle_fontWeight","frameSize","labelSize","frameInset","labelInset","frameOffset","labelOffset","frameRadius","labelRadius","frameAmount","labelAmount","_ref273","_ref274","create_fragment$s","_ref275","instance$s","_$$props$$$slots11","_$$props$class14","_ref277","Measure","_SvelteComponent22","_this23","get_footer_slot_changes","get_footer_slot_context","get_main_slot_changes","get_main_slot_context","get_header_slot_changes","get_header_slot_context","create_if_block_2$4","header_slot_template","header_slot","create_if_block_1$5","footer_slot_template","footer","footer_slot","create_fragment$r","if_block2_anchor","main_slot_template","main","main_slot","main_slot_or_fallback","fallback_block","_ref278","instance$r","_$$props11","_$$props11$$$slots","_$$props12$hasHeader","hasHeader","_$$props13$hasFooter","hasFooter","_$$props14$root","Util","_SvelteComponent23","_this24","create_if_block$5","create_fragment$q","instance$q","valueMinLimited","valueMaxLimited","barSize","baseFraction","isLimited","rangeMask","svgSize","_$$props$labelReset","labelReset","_$$props$direction2","_$$props$min3","_$$props$max3","_$$props$base","_$$props$value5","_$$props$valueLabel","valueLabel","_$$props$valueMin","valueMin","_$$props$valueMax","valueMax","_$$props$oninputstart","oninputstart","_$$props$oninputmove","oninputmove","_$$props$oninputend","oninputend","_$$props$elasticity2","number","increment","svgPadding","createPathCircle","interactionRange","interactionOrigin","interactionReleased","interactionOptions","snap","translatePosition","targetLimited","targetElastic","targetVisual","targetValid","positionToValue","valueToPosition","positionUnsub","currentPosition","updatePosition","positionTarget","svgWidth","indicatorCenter","svgHeight","centerShape","limitedMax","fromSnapped","toSnapped","_ref280","_ref281","valueAtPosition","_ref282","vectorCreateFromSize","RangeInput","_SvelteComponent24","_this25","create_fragment$p","_ref283","instance$p","overflow","_$$props$$$slots12","childWidth","childMaxWidth","parentWidth","testOverflow","_ref285","_ref286","Toolbar","_SvelteComponent25","_this26","Direction","Top","Bottom","TopLeft","TopRight","BottomRight","BottomLeft","DirectionRectMap","get_each_context$5","create_each_block$5","div_aria_label_value","div_data_direction_value","div_data_shape_value","create_fragment$o","_ref287","instance$o","mappedDirections","$selectionScale","$selectionOpacity","_$$props$rect","_$$props$visible2","_$$props$style4","selectionScale","currentDirection","selectionOpacity","isCorner","_ref289","_ref290","RectManipulator","_SvelteComponent26","_this27","gesturable","handleGestureStart","handleGestureChange","handleGestureEnd","clean","getEventPositionInViewport","DirectionInversionTable","DirectionCoordinateTable","getTranslationInfo","translateHorizontally","translateVertically","getInteractionBounds","translateToRight","translateToLeft","translateToTop","translateToBottom","limitedBounds","maxSizeLimitedToBounds","rectCreateFromDimensions","maxSizeLimited","minSizeLimited","inner","outer","applyRectDirectionTranslation","anchorDirectionCoordinates","anchorPosition","targetDirectionCoordinates","targetPosition","_getTranslationInfo4","translateAxis","_rectToBounds4","pointerLength","pointerAspectRatio","pointerScaled","radToDeg","create_fragment$n","rangeinput","_ref291","rangeinput_changes","instance$n","turns","QUARTER_PI","_$$props$oninputstart2","_$$props$oninputmove2","_$$props$oninputend2","_$$props$elasticity3","_$$props$labelReset2","ImageRotator","_SvelteComponent27","_this28","create_fragment$m","_ref293","instance$m","ImageInfo","_SvelteComponent28","_this29","create_default_slot_2$2","create_header_slot","toolbar_changes","create_if_block_5$2","cropLabelButtonRecenter","cropIconButtonRecenter","create_if_block_4$3","rectmanipulator","rectmanipulator_changes","create_if_block_3$3","imageinfo","imageinfo_changes","create_main_slot$1","interactable_action","drag","create_if_block$4","create_default_slot_1$3","_ref295","_ref296","create_default_slot$9","_ref297","_ref298","create_if_block_2$3","imageZoomLevelBase","imageZoomLevelMax","create_if_block_1$4","imagerotator","imagerotator_changes","create_footer_slot$5","create_fragment$l","updating_root","util_root_binding","util_props","util_changes","instance$l","imageZoomLevelMin","imageSelectionCenteredRect","isImageSelectionDisplayed","isImageSelectionCentered","isResizingSelection","isMaxSelectionRect","isOverlayMode","canZoomToCenter","canCenter","shouldRenderInfoIndicator","shouldRenderImageSelection","shouldRenderImageSelectionRecenterButton","imageSelectionRectOffset","hasPlentyVerticalSpace","shouldRenderPresetSelect","shouldRenderToolbar","couldRenderZoomInput","shouldRenderZoomInput","shouldRenderFooter","footerStyle","$selectedPresetIndex","$imageCropMinSize","$imageCropLimitToImage","$isActive","$imageCropMaxSize","$imageCropRectOrigin","$imageCropRange","$imageCropRangeAspectRatio","$imageSelectionGuides","$animation","$footerOffset","$imageRotationRange","$imageZoomLevelRange","$imageZoomLevel","$recenterOpacity","$recenterOffset","$$unsubscribe_isActive","$$subscribe_isActive","imageSelectionRectMinSize","imageSelectionRectMaxSize","_$$props$cropImageSel","cropImageSelectionCornerStyle","_$$props$cropWillRend","cropWillRenderImageSelectionGuides","interaction","interactionFraction","isRotating","rows","cols","_$$props$cropAutoCent","cropAutoCenterImageSelectionTimeout","_$$props$cropEnableZo","cropEnableZoomMatchImageAspectRatio","_$$props$cropEnableRo","cropEnableRotateMatchImageAspectRatio","_$$props$cropEnableRo2","cropEnableRotationInput","_$$props$cropEnableZo2","cropEnableZoom","_$$props$cropEnableZo3","cropEnableZoomInput","_$$props$cropEnableZo4","cropEnableZoomAutoHide","_$$props$cropEnableIm","cropEnableImageSelection","_$$props$cropEnableIn","cropEnableInfoIndicator","_$$props$cropEnableZo5","cropEnableZoomTowardsWheelPosition","_$$props$cropEnableLi","cropEnableLimitWheelInputToCropSelection","_$$props$cropEnableCe","cropEnableCenterImageSelection","_$$props$cropEnableBu","cropEnableButtonRotateLeft","_$$props$cropEnableBu2","cropEnableButtonRotateRight","_$$props$cropEnableBu3","cropEnableButtonFlipHorizontal","_$$props$cropEnableBu4","cropEnableButtonFlipVertical","_$$props$cropSelectPr","cropSelectPresetOptions","_$$props$cropEnableSe","cropEnableSelectPreset","_$$props$cropEnableBu5","cropEnableButtonToggleCropLimit","_$$props$cropWillRend2","cropWillRenderTools","_$$props$cropActiveTr","cropActiveTransformTool","_$$props$locale5","_$$props$tools","isCustomCrop","isCropMaxSize","canMatchCropAspectRatioToRotation","rotatedImageCropAspectRatio","_ref299","hasValidRotatedCropAspectRatio","imageSizeRotated","applyRotation","isRotated","_stores2","translateSelection","cropAspectRatioLimited","directionTranslation","rectIntended","translateUp","translateRight","translateLeft","translateDown","couldExceedBounds","cropSizeMax","imageIsRotated","rectLimited","_getTranslationInfo2","interactionBounds","_rectToBounds2","innerR","outerR","innerL","outerL","innerB","outerB","innerT","outerT","pointerLengthMin","pointerLengthMax","pointerLengthLimited","limitRectDirectionTranslation","boundsLimited","boundsIntent","interactionCropRect","interactionCropRectForce","manipulateImage","_ref306","cropIntent","imageSelectionRectZoomFactor","scaledTranslation","forceTranslation","imageCropRangeAspectRatio","_ref307","_ref308","_$imageCropRange","imageZoomLevelRange","_ref309","_ref310","minZoom","maxZoom","rangeMinSize","rangeMaxSize","calculateZoomLevel","imageZoomLevel","_ref311","_ref312","currentCropWidth","currentCropHeight","currentCropAspectRatio","imageCropMaxRect","gestureOriginCropRect","zoomHistoryTimeoutId","cropAutoCenterImageSelectionTimeoutId","resizeImage","rangeWidth","rangeHeight","targetX","targetY","handleScaleGesture","handleRecenterAction","recenterOpacity","recenterOffset","selectedPresetIndex","_ref315","_ref316","$cropAspectRatio","matchedOptionValue","_value2","outputSizeMatches","aspectRatioMatches","getAspectRatioBySelectedIndex","imageSelectionGuides","_ref317","_ref318","_cropWillRenderImageS","yo","xo","stageRef","cropUniqueId","transformToolInitial","transformSelected","footerOffset","cropLabelButtonRotateLeft","cropIconButtonRotateLeft","cropLabelButtonRotateRight","cropIconButtonRotateRight","cropLabelButtonFlipHorizontal","cropIconButtonFlipHorizontal","cropLabelButtonFlipVertical","cropIconButtonFlipVertical","cropIconSelectPreset","cropLabelSelectPreset","_ref320","optionAspectRatio","maxCropSize","_options$width3","_options$height2","_options$bounds","_options$radius","aspectRatioDefined","strokeDashArray","getSelectionPresetOptionIcon","cropIconCropBoundary","cropLabelCropBoundary","_ref321","cropLabelCropBoundaryEdge","cropLabelCropBoundaryNone","maskMarkupOpacity","cropLabelTabRotation","cropLabelTabZoom","_ref301","_translateSelection","_ref302","_ref303","_ref304","_ref305","_ref313","_ref314","stageWheelPosition","viewOffset","stageOffset","positionInViewport","getEventPositionInStage","currentCropRect","isMinSize","isAtMaxCropSize","newCropRect","selectionOffset","imageSelectionScale","expandedImageSelection","_ref319","_plugin_crop","_SvelteComponent29","Crop","_this30","create_default_slot_2$1","create_default_slot_1$2","_ref331","_ref332","create_default_slot$7","rangeinput_spread_levels","rangeinput_props","create_footer_slot$3","_ref333","_ref334","create_fragment$j","instance$j","tabSelected","$rangeInputConfig","$panelValues","_$$props$locale6","_stores4","imageEffectStores","panelValues","rangeInputConfig","_ref336","_ref337","_config$id","_config$id$getValue","_finetuneControlConfi","_finetuneControlConfi2","_ref335","_plugin_finetune","_SvelteComponent31","Finetune","_this32","IconCross","CharacterA","_locale_en_gb","labelDefault","labelAuto","labelNone","labelEdit","features","labelWidth","labelSizeExtraSmall","labelSizeSmall","labelSizeMediumSmall","labelSizeMedium","labelSizeMediumLarge","labelSizeLarge","labelSizeExtraLarge","labelButtonCancel","_plugin_crop_locale_en_gb","cropLabel","cropIcon","_ref391","isBoundToImage","_ref393","linkAccessors","destination","initEditorView","_pubsub5","doctype","warn","core","isDestroyed","plugins","updateImagePreview","getCollapsed","attachEditorView","returned","unsubInit","unsubCore","unsubView","handleEvent","handleEventUnsubs","updateImage","storedHistory","storedState","document_1","window_1","viewportRules","isOpaque","isIOSFooterVisible","scrollsBodyOnInteraction","_$$props$preventZoomV","preventZoomViewport","_$$props$preventScrol","preventScrollBodyIfNeeded","_$$props$preventFoote","preventFooterOverlapIfNeeded","_$$props$class15","hiding","showing","focusInWindowHeight","windowHeightComputed","measureElement","opacityUnsub","hasFocussedTextField","viewportDefaults","themeDefaults","showTimeoutId","getViewPortElement","getThemeElements","runWhen","measureElementHeight","spawnMeasureElement","scrollOffsetY","syncHeight","setProperty","scrollTo","toggleDocumentLock","focusOutTimer","windowCurrentHeight","modals","viewportElement","themeElements","themeElement","_SvelteComponent50","_this52","finetuneLabel","finetuneIcon","_pubsub6","modal","createModal","_callee53","willClose","_context53","modalHandleEventUnsubs","enableAutoDestroy","enableAutoHide"],"sourceRoot":""}