{"version":3,"file":"asoftwareworld-form-builder-pro-utils.mjs","sources":["../../src/components/utils/image-crop/blob.utils.ts","../../src/components/utils/image-crop/exif.utils.ts","../../src/components/utils/image-crop/hammer.utils.ts","../../src/components/utils/image-crop/keyboard.utils.ts","../../src/components/utils/image-crop/percentage.utils.ts","../../src/components/utils/image-crop/resize.utils.ts","../../src/components/utils/defined-utils.ts","../../src/components/utils/objectutils.ts","../../src/components/utils/translate-utils.ts","../../src/components/utils/public_api.ts","../../src/components/utils/asoftwareworld-form-builder-pro-utils.ts"],"sourcesContent":["/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport function base64ToFile(base64Image: string): Blob {\n    const split = base64Image.split(',');\n    const type = split[0].replace('data:', '').replace(';base64', '');\n    const byteString = atob(split[1]);\n    const ab = new ArrayBuffer(byteString.length);\n    const ia = new Uint8Array(ab);\n    for (let i = 0; i < byteString.length; i += 1) {\n        ia[i] = byteString.charCodeAt(i);\n    }\n    return new Blob([ab], { type });\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nimport { ExifTransform } from '@asoftwareworld/form-builder-pro/api';\n\n// Black 2x1 JPEG, with the following meta information set:\n// - EXIF Orientation: 6 (Rotated 90° CCW)\n// Source: https://github.com/blueimp/JavaScript-Load-Image\nconst testAutoOrientationImageURL =\n    'data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAA' +\n    'AAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA' +\n    'QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE' +\n    'BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/x' +\n    'ABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAA' +\n    'AAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==';\n\nexport function supportsAutomaticRotation(): Promise<boolean> {\n    return new Promise((resolve) => {\n        const img = new Image();\n        img.onload = () => {\n            // Check if browser supports automatic image orientation:\n            const supported = img.width === 1 && img.height === 2;\n            resolve(supported);\n        };\n        img.src = testAutoOrientationImageURL;\n    });\n}\n\nexport function getTransformationsFromExifData(exifRotationOrArrayBuffer: number | ArrayBufferLike | any): ExifTransform {\n    if (typeof exifRotationOrArrayBuffer === 'object') {\n        exifRotationOrArrayBuffer = getExifRotation(exifRotationOrArrayBuffer);\n    }\n    switch (exifRotationOrArrayBuffer) {\n        case 2:\n            return { rotate: 0, flip: true };\n        case 3:\n            return { rotate: 2, flip: false };\n        case 4:\n            return { rotate: 2, flip: true };\n        case 5:\n            return { rotate: 1, flip: true };\n        case 6:\n            return { rotate: 1, flip: false };\n        case 7:\n            return { rotate: 3, flip: true };\n        case 8:\n            return { rotate: 3, flip: false };\n        default:\n            return { rotate: 0, flip: false };\n    }\n}\n\nfunction getExifRotation(arrayBuffer: ArrayBufferLike): number {\n    const view = new DataView(arrayBuffer);\n    if (view.getUint16(0, false) !== 0xffd8) {\n        return -2;\n    }\n    const length = view.byteLength;\n    let offset = 2;\n    while (offset < length) {\n        if (view.getUint16(offset + 2, false) <= 8) return -1;\n        const marker = view.getUint16(offset, false);\n        offset += 2;\n        if (marker == 0xffe1) {\n            if (view.getUint32((offset += 2), false) !== 0x45786966) {\n                return -1;\n            }\n\n            const little = view.getUint16((offset += 6), false) == 0x4949;\n            offset += view.getUint32(offset + 4, little);\n            const tags = view.getUint16(offset, little);\n            offset += 2;\n            for (let i = 0; i < tags; i++) {\n                if (view.getUint16(offset + i * 12, little) == 0x0112) {\n                    return view.getUint16(offset + i * 12 + 8, little);\n                }\n            }\n        } else if ((marker & 0xff00) !== 0xff00) {\n            break;\n        } else {\n            offset += view.getUint16(offset, false);\n        }\n    }\n    return -1;\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport type HammerStatic = new (element: HTMLElement | SVGElement, options?: any) => HammerManager;\n\n/** @docs-private */\nexport interface HammerManager {\n    get(eventName: string): HammerManager;\n    set(options: any): HammerManager;\n    on(eventName: string, handler: (ev: any) => any): any;\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport function getPositionForKey(key: string): string {\n    switch (key) {\n        case 'ArrowUp':\n            return 'top';\n        case 'ArrowRight':\n            return 'right';\n        case 'ArrowDown':\n            return 'bottom';\n        case 'ArrowLeft':\n        default:\n            return 'left';\n    }\n}\n\nexport function getInvertedPositionForKey(key: string): string {\n    switch (key) {\n        case 'ArrowUp':\n            return 'bottom';\n        case 'ArrowRight':\n            return 'left';\n        case 'ArrowDown':\n            return 'top';\n        case 'ArrowLeft':\n        default:\n            return 'right';\n    }\n}\n\nexport function getEventForKey(key: string, stepSize: number): any {\n    switch (key) {\n        case 'ArrowUp':\n            return { clientX: 0, clientY: stepSize * -1 };\n        case 'ArrowRight':\n            return { clientX: stepSize, clientY: 0 };\n        case 'ArrowDown':\n            return { clientX: 0, clientY: stepSize };\n        case 'ArrowLeft':\n        default:\n            return { clientX: stepSize * -1, clientY: 0 };\n    }\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport function percentage(percent: number, totalValue: number): number {\n    return (percent / 100) * totalValue;\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport function resizeCanvas(canvas: HTMLCanvasElement, width: number, height: number): void {\n    const WIDTH_SOURCE = canvas.width;\n    const HEIGHT_SOURCE = canvas.height;\n    width = Math.round(width);\n    height = Math.round(height);\n\n    const RATIO_W = WIDTH_SOURCE / width;\n    const RATIO_H = HEIGHT_SOURCE / height;\n    const RATIO_W_HALF = Math.ceil(RATIO_W / 2);\n    const RATIO_H_HALF = Math.ceil(RATIO_H / 2);\n\n    const ctx = canvas.getContext('2d');\n    if (ctx) {\n        const img = ctx.getImageData(0, 0, WIDTH_SOURCE, HEIGHT_SOURCE);\n        const img2 = ctx.createImageData(width, height);\n        const data = img.data;\n        const data2 = img2.data;\n\n        for (let j = 0; j < height; j++) {\n            for (let i = 0; i < width; i++) {\n                const x2 = (i + j * width) * 4;\n                const CENTER_Y = j * RATIO_H;\n                let weight = 0;\n                let weights = 0;\n                let WEIGHTS_ALPHA = 0;\n                let GX_R = 0;\n                let GX_G = 0;\n                let GX_B = 0;\n                let GX_A = 0;\n\n                const XX_START = Math.floor(i * RATIO_W);\n                const YY_START = Math.floor(j * RATIO_H);\n                let XX_STOP = Math.ceil((i + 1) * RATIO_W);\n                let YY_STOP = Math.ceil((j + 1) * RATIO_H);\n                XX_STOP = Math.min(XX_STOP, WIDTH_SOURCE);\n                YY_STOP = Math.min(YY_STOP, HEIGHT_SOURCE);\n\n                for (let yy = YY_START; yy < YY_STOP; yy++) {\n                    const dy = Math.abs(CENTER_Y - yy) / RATIO_H_HALF;\n                    const CENTER_X = i * RATIO_W;\n                    const w0 = dy * dy; // pre-calc part of w\n                    for (let xx = XX_START; xx < XX_STOP; xx++) {\n                        const dx = Math.abs(CENTER_X - xx) / RATIO_W_HALF;\n                        const w = Math.sqrt(w0 + dx * dx);\n                        if (w >= 1) {\n                            // pixel too far\n                            continue;\n                        }\n                        // hermite filter\n                        weight = 2 * w * w * w - 3 * w * w + 1;\n                        const POS_X = 4 * (xx + yy * WIDTH_SOURCE);\n                        // alpha\n                        GX_A += weight * data[POS_X + 3];\n                        WEIGHTS_ALPHA += weight;\n                        // colors\n                        if (data[POS_X + 3] < 255) {\n                            weight = (weight * data[POS_X + 3]) / 250;\n                        }\n                        GX_R += weight * data[POS_X];\n                        GX_G += weight * data[POS_X + 1];\n                        GX_B += weight * data[POS_X + 2];\n                        weights += weight;\n                    }\n                }\n                data2[x2] = GX_R / weights;\n                data2[x2 + 1] = GX_G / weights;\n                data2[x2 + 2] = GX_B / weights;\n                data2[x2 + 3] = GX_A / WEIGHTS_ALPHA;\n            }\n        }\n\n        canvas.width = width;\n        canvas.height = height;\n\n        // draw\n        ctx.putImageData(img2, 0, 0);\n    }\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport function isDefined(value: any): boolean {\n    return value !== undefined && value !== null;\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nimport { ControlOption } from '@asoftwareworld/form-builder-pro/api';\n\nexport class ObjectUtils {\n    public static keyPressNumbersWithDecimal(event: any): boolean {\n        const charCode = event.which ? event.which : event.keyCode;\n        if (charCode !== 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\n            event.preventDefault();\n            return false;\n        }\n        return true;\n    }\n\n    public static resetForm(formContainer: any[]): any[] {\n        formContainer.forEach((control) => {\n            control.value = '';\n            if (control.controlType === 'select' || control.controlType === 'multi-select' || control.controlType === 'radio' || control.controlType === 'checkbox' || control.controlType === 'autocomplete') {\n                control.options.forEach((option: ControlOption) => {\n                    option.isChecked = false;\n                });\n            }\n        });\n        this.resetChildControls(formContainer);\n        return formContainer;\n    }\n\n    private static resetChildControls(formContainer: any[]): void {\n        const columnControls = formContainer.filter((x) => x.controlType === 'columns');\n        columnControls.forEach((control) => {\n            control.columns.forEach((column: any) => {\n                column.components.forEach((component: any) => {\n                    if (component.controlType === 'columns') {\n                        this.resetChildControls(column.components);\n                    } else {\n                        component.value = '';\n                        if (component.controlType === 'select' || component.controlType === 'multi-select' || component.controlType === 'radio' || component.controlType === 'checkbox' || component.controlType === 'autocomplete') {\n                            component.options.forEach((option: ControlOption) => {\n                                option.isChecked = false;\n                            });\n                        }\n                    }\n                });\n            });\n        });\n    }\n\n    public static generateUUID(control: any): any {\n        const id = this.UUID();\n        if (control) {\n            control.guid = control.guid ? control.guid : id;\n            control.id = control.id ? control.id : id;\n        }\n        return control;\n    }\n\n    public static validateForm(formContainer: any[]): any {\n        const data = formContainer.filter((x) => x.isRequired);\n        let requiredControls: any[] = [];\n        data.forEach((control) => {\n            if (!control.value?.length) {\n                requiredControls.push(control);\n            }\n        });\n        this.validateFormChilds(formContainer, requiredControls);\n        requiredControls = [...new Set(requiredControls.map((control) => control))];\n        const labels = requiredControls.map((control) => control.label);\n        return { isFormValid: labels.length ? false : true, labels };\n    }\n\n    private static validateFormChilds(formContainer: any[], requiredControls: any[]): void {\n        const columnControls = formContainer.filter((x) => x.controlType === 'columns');\n        columnControls.forEach((control) => {\n            control.columns.forEach((column: any) => {\n                column.components.forEach((component: any) => {\n                    if (component.controlType === 'columns') {\n                        this.validateFormChilds(column.components, requiredControls);\n                    }\n                    if (component.isRequired && !component.value?.length) {\n                        requiredControls.push(component);\n                    }\n                });\n            });\n        });\n    }\n\n    public static calculateValue(operations: any[]): number {\n        if (operations.length) {\n            let sum = Number(operations[0].value);\n            operations.forEach((operation: any, index: number) => {\n                if (index !== 0) {\n                    switch (operation.operationValue) {\n                        case '+':\n                            sum += Number(operation.value);\n                            break;\n                        case '-':\n                            sum -= operation.value;\n                            break;\n                        case '*':\n                            sum *= operation.value;\n                            break;\n                        case '/':\n                            sum /= operation.value;\n                            break;\n                        case 'x̄':\n                            sum /= index;\n                            break;\n                    }\n                }\n            });\n            return sum;\n        }\n        return 0;\n    }\n\n    public static missingOrEmpty<T>(value?: T[] | string | null): boolean {\n        return value == null || value.length === 0;\n    }\n\n    public static exists(value: any, allowEmptyString = false): boolean {\n        return value != null && (value !== '' || allowEmptyString);\n    }\n\n    static stringToUtf8Arr(sDOMStr: string): Uint8Array {\n        let nChr;\n        let nArrLen = 0;\n        const nStrLen = sDOMStr.length;\n        /* mapping... */\n        for (let nMapIdx = 0; nMapIdx < nStrLen; nMapIdx++) {\n            nChr = sDOMStr.charCodeAt(nMapIdx);\n            nArrLen += nChr < 0x80 ? 1 : nChr < 0x800 ? 2 : nChr < 0x10000 ? 3 : nChr < 0x200000 ? 4 : nChr < 0x4000000 ? 5 : 6;\n        }\n\n        const aBytes = new Uint8Array(nArrLen);\n\n        /* transcription... */\n\n        for (let nIdx = 0, nChrIdx = 0; nIdx < nArrLen; nChrIdx++) {\n            nChr = sDOMStr.charCodeAt(nChrIdx);\n            if (nChr < 128) {\n                /* one byte */\n                aBytes[nIdx++] = nChr;\n            } else if (nChr < 0x800) {\n                /* two bytes */\n                aBytes[nIdx++] = 192 + (nChr >>> 6);\n                aBytes[nIdx++] = 128 + (nChr & 63);\n            } else if (nChr < 0x10000) {\n                /* three bytes */\n                aBytes[nIdx++] = 224 + (nChr >>> 12);\n                aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);\n                aBytes[nIdx++] = 128 + (nChr & 63);\n            } else if (nChr < 0x200000) {\n                /* four bytes */\n                aBytes[nIdx++] = 240 + (nChr >>> 18);\n                aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);\n                aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);\n                aBytes[nIdx++] = 128 + (nChr & 63);\n            } else if (nChr < 0x4000000) {\n                /* five bytes */\n                aBytes[nIdx++] = 248 + (nChr >>> 24);\n                aBytes[nIdx++] = 128 + ((nChr >>> 18) & 63);\n                aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);\n                aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);\n                aBytes[nIdx++] = 128 + (nChr & 63);\n            } /* if (nChr <= 0x7fffffff) */ else {\n                /* six bytes */\n                aBytes[nIdx++] = 252 + (nChr >>> 30);\n                aBytes[nIdx++] = 128 + ((nChr >>> 24) & 63);\n                aBytes[nIdx++] = 128 + ((nChr >>> 18) & 63);\n                aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);\n                aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);\n                aBytes[nIdx++] = 128 + (nChr & 63);\n            }\n        }\n\n        return aBytes;\n    }\n\n    /**\n     * Converst string to ArrayBuffer\n     */\n    static stringToArrayBuffer(dataString: string): ArrayBuffer {\n        const data = new ArrayBuffer(dataString.length);\n        const dataView = new Uint8Array(data);\n        for (let i = 0; i < dataString.length; i++) {\n            dataView[i] = dataString.charCodeAt(i);\n        }\n        return data;\n    }\n\n    /**\n     * Converts Uint8Array to a string\n     */\n    static utf8ArrToString(aBytes: Uint8Array): string {\n        let sView = '';\n        for (let nPart, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {\n            nPart = aBytes[nIdx];\n            sView += String.fromCharCode(\n                nPart > 251 && nPart < 254 && nIdx + 5 < nLen\n                    ? /* six bytes */\n                      /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */\n                      (nPart - 252) * 1073741824 + ((aBytes[++nIdx] - 128) << 24) + ((aBytes[++nIdx] - 128) << 18) + ((aBytes[++nIdx] - 128) << 12) + ((aBytes[++nIdx] - 128) << 6) + aBytes[++nIdx] - 128\n                    : nPart > 247 && nPart < 252 && nIdx + 4 < nLen\n                      ? /* five bytes */\n                        ((nPart - 248) << 24) + ((aBytes[++nIdx] - 128) << 18) + ((aBytes[++nIdx] - 128) << 12) + ((aBytes[++nIdx] - 128) << 6) + aBytes[++nIdx] - 128\n                      : nPart > 239 && nPart < 248 && nIdx + 3 < nLen\n                        ? /* four bytes */\n                          ((nPart - 240) << 18) + ((aBytes[++nIdx] - 128) << 12) + ((aBytes[++nIdx] - 128) << 6) + aBytes[++nIdx] - 128\n                        : nPart > 223 && nPart < 240 && nIdx + 2 < nLen /* three bytes */\n                          ? ((nPart - 224) << 12) + ((aBytes[++nIdx] - 128) << 6) + aBytes[++nIdx] - 128\n                          : nPart > 191 && nPart < 224 && nIdx + 1 < nLen /* two bytes */\n                            ? ((nPart - 192) << 6) + aBytes[++nIdx] - 128\n                            : /* nPart < 127 ? */ /* one byte */\n                              nPart\n            );\n        }\n        return sView;\n    }\n\n    /**\n     * Returns stringified jwk.\n     */\n    static getSortedObjectString(obj: object): string {\n        return JSON.stringify(obj, Object.keys(obj).sort());\n    }\n\n    static findDeviceSize(containerWidth: number): number {\n        if (containerWidth >= 1400) {\n            return 0.375;\n        } else if (containerWidth >= 1200) {\n            return 0.775;\n        } else if (containerWidth >= 992) {\n            return 0.775;\n        } else if (containerWidth >= 768) {\n            return 0.775;\n        } else if (containerWidth >= 576) {\n            return 0.775;\n        } else if (containerWidth < 576) {\n            return 0.775;\n        } else {\n            return 0.775;\n        }\n    }\n\n    public static UUID(): string {\n        if (typeof window !== 'undefined' && typeof window.crypto !== 'undefined' && typeof window.crypto.getRandomValues !== 'undefined') {\n            // If we have a cryptographically secure PRNG, use that\n            // http://stackoverflow.com/questions/6906916/collisions-when-generating-uuids-in-javascript\n            const buf: Uint16Array = new Uint16Array(8);\n            window.crypto.getRandomValues(buf);\n            return this.pad4(buf[0]) + this.pad4(buf[1]) + '-' + this.pad4(buf[2]) + '-' + this.pad4(buf[3]) + '-' + this.pad4(buf[4]) + '-' + this.pad4(buf[5]) + this.pad4(buf[6]) + this.pad4(buf[7]);\n        } else {\n            // Otherwise, just use Math.random\n            // https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\n            // https://stackoverflow.com/questions/11605068/why-does-jshint-argue-against-bitwise-operators-how-should-i-express-this-code\n            return this.random4() + this.random4() + '-' + this.random4() + '-' + this.random4() + '-' + this.random4() + '-' + this.random4() + this.random4() + this.random4();\n        }\n    }\n\n    private static pad4(num: number): string {\n        let ret: string = num.toString(16);\n        while (ret.length < 4) {\n            ret = '0' + ret;\n        }\n        return ret;\n    }\n\n    private static random4(): string {\n        return Math.floor((1 + Math.random()) * 0x10000)\n            .toString(16)\n            .substring(1);\n    }\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport function equals(o1: any, o2: any): boolean {\n    if (o1 === o2) {\n        return true;\n    }\n    if (o1 === null || o2 === null) {\n        return false;\n    }\n    if (o1 !== o1 && o2 !== o2) {\n        return true;\n    } // NaN === NaN\n\n    const t1 = typeof o1;\n    const t2 = typeof o2;\n    let length: number;\n    let key: any;\n    let keySet: any;\n    if (t1 === t2 && t1 === 'object') {\n        if (Array.isArray(o1)) {\n            if (!Array.isArray(o2)) {\n                return false;\n            }\n            const val = (length = o1.length);\n            if (val === o2.length) {\n                for (key = 0; key < length; key++) {\n                    if (!equals(o1[key], o2[key])) {\n                        return false;\n                    }\n                }\n                return true;\n            }\n        } else {\n            if (Array.isArray(o2)) {\n                return false;\n            }\n            keySet = Object.create(null);\n            // tslint:disable-next-line:forin\n            for (key in o1) {\n                if (!equals(o1[key], o2[key])) {\n                    return false;\n                }\n                keySet[key] = true;\n            }\n            for (key in o2) {\n                if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n    return false;\n}\n\nexport function isObject(item: any): boolean {\n    return item && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function mergeDeep(target: any, source: any): any {\n    const output = Object.assign({}, target);\n    if (isObject(target) && isObject(source)) {\n        Object.keys(source).forEach((key: any) => {\n            if (isObject(source[key])) {\n                if (!(key in target)) {\n                    Object.assign(output, { [key]: source[key] });\n                } else {\n                    output[key] = mergeDeep(target[key], source[key]);\n                }\n            } else {\n                Object.assign(output, { [key]: source[key] });\n            }\n        });\n    }\n    return output;\n}\n","/**\n * @license\n * Copyright ASW (A Software World) All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file\n */\n\nexport * from './image-crop/blob.utils';\nexport * from './image-crop/exif.utils';\nexport * from './image-crop/hammer.utils';\nexport * from './image-crop/keyboard.utils';\nexport * from './image-crop/percentage.utils';\nexport * from './image-crop/resize.utils';\nexport * from './defined-utils';\nexport * from './objectutils';\nexport * from './translate-utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}