@yoobic/yobi 8.4.9 → 8.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/yoo-form-capture.cjs.entry.js +70 -77
- package/dist/cjs/yoo-form-dynamic.cjs.entry.js +1 -1
- package/dist/collection/components/form/form-capture/form-capture-helper.js +17 -0
- package/dist/collection/components/form/form-capture/form-capture.js +60 -80
- package/dist/collection/components/form/form-dynamic/form-dynamic.js +1 -1
- package/dist/design-system/yoo-form-capture.entry.js +71 -78
- package/dist/design-system/yoo-form-dynamic.entry.js +1 -1
- package/dist/esm/yoo-form-capture.entry.js +71 -78
- package/dist/esm/yoo-form-dynamic.entry.js +1 -1
- package/dist/types/components/form/form-capture/form-capture-helper.d.ts +1 -0
- package/dist/types/components/form/form-capture/form-capture.d.ts +5 -7
- package/dist/types/components.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, i as createEvent, h, j as Build, e as Host, g as getElement } from './index-53ad1641.js';
|
|
2
2
|
import { P as PictureSourceType, M as MediaType, i as importMultipleFromLibrary, g as getPicture, b as getVideo, s as showAudioRecorder, c as MediaCapture, a as getVideoDevices } from './camera-helpers-fba25106.js';
|
|
3
|
-
import {
|
|
3
|
+
import { aV as isImageUrl, cm as addFilePrefix, k as isAndroid, cp as moveToImageDirectory, t as translate, b5 as showToast, dL as getFormCapturedFileSize, ae as showAlert, ar as pipes, X as isNullOrUndefined, A as isWeb, ai as isImage, ah as isGif, dG as isUnsplashUrl, ag as isVideo, dF as isAudio, j as isNativeMobile, z as showModal, H as isIOS, G as isIphoneX, b$ as StatusBar, a3 as getSession, dM as isLenovo, af as showActionSheet, dx as asyncWaterfall, dN as updatePathSessionId, bS as isSafari, P as getAsyncExtraData, cn as read, R as isNativeFilePath, aj as downloadFile, an as isFile, dO as getMimeType, bn as isOffline, dP as hasLargeFile, Z as translateMulti, aD as showContextMenu, ay as isPhotoEdited, du as images, dQ as audios, dv as videos, az as changeExtension, av as isCloudinaryLink } from './overlays-0e0fc170.js';
|
|
4
4
|
import './index-1abbeecd.js';
|
|
5
5
|
import { k as keys, z as intersection, a as isNumber, i as isArray, a4 as assignInWith, s as assign, n as compact, t as clone, E as isUndefined } from './lodash-653c0bcd.js';
|
|
6
6
|
import { c as querySelectorAllDeep, q as querySelectorDeep, j as showImageCropper, e as showPhotoEditor, a as showSlidesMedia, g as getAppContext } from './common-helpers-bda026b8.js';
|
|
@@ -15,6 +15,22 @@ function shouldUseLowPerformanceCamera(user, isNativeMobile, useLibrary) {
|
|
|
15
15
|
return !!(enableLowPerformanceCamera ||
|
|
16
16
|
(enableLowPerformanceCamera === undefined && isLowEndDevice)) && isNativeMobile && !useLibrary;
|
|
17
17
|
}
|
|
18
|
+
async function processMediaPath(mediaPath) {
|
|
19
|
+
if (mediaPath === null || mediaPath === void 0 ? void 0 : mediaPath.includes('?')) {
|
|
20
|
+
return mediaPath.substring(0, mediaPath.indexOf('?'));
|
|
21
|
+
}
|
|
22
|
+
else if (!isImageUrl(mediaPath)) {
|
|
23
|
+
return addFilePrefix(mediaPath);
|
|
24
|
+
}
|
|
25
|
+
else if (!isAndroid() && ['cache', 'tmp'].includes(mediaPath)) {
|
|
26
|
+
try {
|
|
27
|
+
return await moveToImageDirectory(addFilePrefix(mediaPath));
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
throw new Error(err);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
18
34
|
|
|
19
35
|
const formCaptureCss = "svg:not(:root){overflow:hidden}:host{--width-readonly-preview:100%;--height-readonly-preview:250px;--play-icon-size:var(--font-size-54, 3.375rem);--camera-selector-container-size:98px;--camera-container-height:98px;--edit-icon-bottom-pos:var(--spacing-16, 1rem)}:host .url-capture-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .url-capture-container yoo-form-input{padding-left:var(--spacing-08, 0.5rem)}:host .distance{display:-ms-flexbox;display:flex;width:100%;margin-top:0.8rem}:host .distance .inner-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:var(--spacing-04, 0.25rem) var(--spacing-08, 0.5rem);font-size:var(--font-size-12, 0.75rem);background-color:var(--light, #ffffff);border:solid 1px var(--stable-light, #f1f1f1);border-radius:var(--border-radius-16, 1rem)}:host .distance .inner-container span{padding-left:var(--spacing-04, 0.25rem)}:host .outer-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start}:host .outer-container.uploading{padding-bottom:var(--spacing-16, 1rem);opacity:0.6}:host .outer-container .upload-overlay{position:absolute;z-index:999;width:100%;height:100%;background:transparent}:host .outer-container .progressbar-wrapper{bottom:0;width:100%}:host .outer-container .progressbar-wrapper yoo-progress-bar.photo-progress{margin-bottom:-10px}:host .outer-container .progressbar-wrapper .main-wrapper{height:var(--spacing-32, 2rem)}:host .outer-container .progressbar-wrapper .main-wrapper yoo-progress-bar{--progress-bar-color:var(--app-color, #5a30f4)}:host .outer-container .camera-container{position:relative;width:var(--camera-container-height, 6.125rem);height:var(--camera-container-height, 6.125rem);border:var(--border-width-01, 0.0625rem) solid var(--stable-40, rgba(173, 173, 173, 0.4));border-radius:0.5rem;cursor:pointer;-webkit-box-sizing:initial;box-sizing:initial;min-width:var(--camera-container-height, 6.125rem);overflow:visible;background-color:var(--app-color-10, rgba(90, 48, 244, 0.1));border:none}:host .outer-container .camera-container .required{position:absolute;top:auto;right:auto;bottom:auto;left:0.625rem;color:var(--success, #3aa76d);font-size:var(--font-size-14, 0.875rem)}:host .outer-container .camera-container yoo-icon{position:absolute;top:50%;left:50%;font-size:var(--camera-container-size, 1.875rem);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host .outer-container .camera-container yoo-icon.light{color:var(--light, #ffffff)}:host .outer-container .camera-container yoo-icon.success{color:var(--success, #3aa76d)}:host .outer-container .camera-container .preview,:host .outer-container .camera-container .edit,:host .outer-container .camera-container .overlay{position:absolute;top:0;right:auto;bottom:auto;left:auto;width:var(--camera-container-height, 6.125rem);height:var(--camera-container-height, 6.125rem);border-radius:0.5rem}:host .outer-container .camera-container .preview.edit,:host .outer-container .camera-container .edit.edit,:host .outer-container .camera-container .overlay.edit{position:absolute;top:0;right:auto;bottom:auto;left:0;z-index:0}:host .outer-container .camera-container .overlay{background:var(--dark-60, rgba(0, 0, 0, 0.6));opacity:0.5}:host .outer-container .camera-container input[type=file]{position:absolute;top:0;right:auto;bottom:auto;left:50%;display:block;width:var(--camera-container-height, 6.125rem);min-width:var(--camera-container-height, 6.125rem);height:var(--camera-container-height, 6.125rem);margin-left:-50px;text-align:right;background:var(--light, #ffffff);border-radius:50%;outline:none;cursor:inherit;opacity:0;filter:alpha(opacity=0);pointer-events:none}:host .outer-container .camera-container.rotate{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host .outer-container .camera-container.rotate .progressbar-wrapper{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host .outer-container .camera-container .tag-icon-container{position:absolute;right:5px;bottom:5px}:host .outer-container .camera-container .edit-icon-container{position:absolute;bottom:var(--spacing-04, 0.25rem);left:var(--spacing-04, 0.25rem)}:host .outer-container .camera-container .progressbar-wrapper{position:absolute}:host .outer-container .multiple{position:relative;width:100%;margin-bottom:-0.75rem}:host .outer-container .multiple.selector-mode{margin-bottom:0}:host .outer-container .multiple .capture-status{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:var(--font-size-14, 0.875rem)}:host .outer-container .multiple .capture-status.image-reco{padding-bottom:var(--spacing-08, 0.5rem)}:host .outer-container .multiple .capture-status .action{padding-left:var(--spacing-16, 1rem);color:var(--app-color, #5a30f4);text-align:right;cursor:pointer}:host .outer-container .multiple .capture-status .status{width:100%;padding-right:var(--spacing-16, 1rem);color:var(--stable, #adadad);white-space:nowrap;text-align:left}:host .outer-container .multiple .capture-status .status.max-reached{color:var(--dark, #000000)}:host .outer-container .multiple .camera-containers{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--spacing-08, 0.5rem);-ms-flex-align:center;align-items:center;margin-bottom:var(--spacing-08, 0.5rem)}:host .outer-container .multiple .camera-containers:not(.no-padding){padding-top:var(--spacing-08, 0.5rem)}:host .outer-container .multiple .camera-containers .camera-container yoo-img{--border-radius:var(--border-radius-08, 0.5rem)}:host .outer-container .multiple .camera-selector-container{position:relative;display:inline-block;width:var(--camera-selector-container-size);min-width:var(--camera-selector-container-size);height:var(--camera-selector-container-size);margin-right:var(--spacing-16, 1rem)}:host .outer-container .multiple .camera-selector-container .preview{--border-radius:var(--border-radius-04, 0.25rem);width:100%;height:100%}:host .outer-container .multiple .camera-selector-container yoo-icon{position:absolute;top:5px;right:5px;min-width:initial}:host .outer-container .multiple .camera-selector-container yoo-icon.circle{z-index:2}:host .outer-container .multiple .camera-selector-container yoo-icon.check{z-index:3;color:var(--app-color, #5a30f4)}:host .outer-container .multiple .camera-selector-container .media-overlay{position:absolute;width:100%;height:100%;background-color:var(--dark-20, rgba(0, 0, 0, 0.2));border-radius:var(--border-radius-04, 0.25rem)}:host .outer-container .multiple .camera-selector-container .media-overlay yoo-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host .outer-container .multiple .camera-selector-container .media-overlay yoo-icon.rtl{top:50%;right:50%;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host .outer-container .multiple .camera-selector-container.rotate{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host .outer-container .multiple .camera-selector-container.rotate yoo-icon{right:0;left:5px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host .outer-container .multiple .bottom-action-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:45px;margin-top:var(--spacing-16, 1rem);color:var(--stable, #adadad);background:var(--stable-light, #f1f1f1);border:solid var(--border-width-01, 0.0625rem) var(--stable-light, #f1f1f1);border-radius:var(--border-radius-04, 0.25rem);-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out}:host .outer-container .multiple .bottom-action-container.active{color:var(--dark, #000000);background-color:var(--light, #ffffff);border:solid var(--border-width-01, 0.0625rem) var(--dark, #000000)}:host .outer-container .multiple .top-action-container{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;padding-bottom:var(--spacing-16, 1rem);font-size:var(--font-size-14, 0.875rem)}:host .outer-container .multiple .top-action-container .left-action,:host .outer-container .multiple .top-action-container .right-action{width:100%;color:var(--app-color, #5a30f4);cursor:pointer}:host .outer-container .multiple .top-action-container .left-action{text-align:left}:host .outer-container .multiple .top-action-container .right-action{text-align:right}:host .outer-container .single{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between;width:100%}:host .outer-container .single .button-containers{-ms-flex-align:center;align-items:center;margin-bottom:0;margin-left:1rem}:host .outer-container .single .button-containers.kpi{display:grid;grid-template-columns:99%;padding-left:var(--spacing-16, 1rem)}:host .outer-container .button-containers{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;width:100%;margin-bottom:1rem}:host .outer-container .button-containers.kpi{display:grid;grid-gap:var(--spacing-08, 0.5rem);grid-template-columns:49% 49%}:host .outer-container .button-containers .button-container{display:block;width:100%}:host .outer-container .button-containers .button-container yoo-button{display:block}:host .outer-container .tags{width:100%;margin-top:0.5rem}:host .readonly{padding:0.5rem 0rem}:host .readonly .inner-ssr-container{display:-ms-flexbox;display:flex}:host .readonly .inner-ssr-container .readonly-container{padding-right:var(--spacing-16, 1rem)}:host .readonly .readonly-container{position:relative}:host .readonly .readonly-container.multiple:not(:last-child){margin-bottom:var(--spacing-08, 0.5rem)}:host .readonly .readonly-container .preview{--border-radius:var(--border-radius-04, 0.25rem);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:var(--width-readonly-preview);height:var(--height-readonly-preview);margin-right:auto;margin-bottom:1rem;margin-left:auto}:host .readonly .readonly-container .overlay{position:absolute;top:0;width:100%;height:100%;background-color:var(--dark-40, rgba(0, 0, 0, 0.4))}:host .readonly .readonly-container .overlay .control-container{position:relative;position:absolute;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;background:transparent}:host .readonly .readonly-container .overlay .control-container yoo-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host .readonly .readonly-container .edit-icon-container{position:absolute;bottom:var(--edit-icon-bottom-pos);left:var(--spacing-16, 1rem)}:host .readonly .button-container{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:row;flex-direction:row;-ms-flex-line-pack:center;align-content:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0.5rem}:host(.disabled) .outer-container .camera-container{background-color:var(--stable-light, #f1f1f1);pointer-events:none}:host([size=medium]){--camera-container-height:var(--spacing-48, 3rem);--camera-selector-container-size:var(--spacing-48, 3rem);--camera-container-size:var(--spacing-24, 1.5rem)}:host([size=medium]) .readonly .readonly-container yoo-img{width:100%;max-width:100px;height:auto !important;max-height:100px;margin-bottom:0;margin-left:0}:host([size=small]){--camera-container-height:var(--spacing-32, 2rem);--camera-selector-container-size:var(--spacing-32, 2rem);--camera-container-size:var(--spacing-16, 1rem)}:host([size=small]) .readonly .readonly-container yoo-img{width:auto;max-width:100px;height:auto !important;max-height:100px;margin-bottom:0;margin-left:0}:host([size=small]) .outer-container .multiple .capture-status .action{padding-left:0}:host([size=small]) .outer-container .multiple .bottom-action-container{height:initial;font-size:var(--font-size-12, 0.75rem)}:host([size=small]) .outer-container .multiple .top-action-container{padding-bottom:0}:host(.audio) .readonly .readonly-container{width:100%}:host(.no-padding) .readonly,:host(.no-padding) .readonly .readonly-container,:host(.no-padding) .readonly .readonly-container .preview{height:100%;margin:0;padding:0}:host(.history) .readonly{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 !important}:host(.history) .readonly .readonly-container .preview{--border-radius:var(--border-radius-02, 0.125rem) !important;margin:0 !important}:host(.history) .readonly .readonly-container.multiple{width:initial;min-width:initial;padding-right:0.3125rem;padding-bottom:0.3125rem}:host(.history) .readonly .preview .overlay{background-color:unset}:host(.history) .readonly.truncate{max-height:1.875rem;overflow:hidden}:host(.history) .more-button{display:-ms-flexbox;display:flex;float:right;margin-left:auto;color:var(--stable, #adadad)}:host(.forcedhistory) .readonly.truncate{max-height:8.125rem}:host(.truncate) .readonly{max-height:70px;overflow:hidden}:host(.has-distance){--edit-icon-bottom-pos:var(--spacing-64, 4rem)}:host(.no-radius) .readonly .readonly-container .preview{border-radius:0}:host(.video.web) .readonly .readonly-container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.detail-view){--detail-view-container-width:100%;width:100%}:host(.detail-view) .readonly{padding:0}:host(.detail-view) .title-wrapper{padding-bottom:var(--spacing-16, 1rem)}:host(.detail-view) .detail-view-container{width:var(--detail-view-container-width);padding-top:var(--spacing-16, 1rem);page-break-inside:auto}:host(.detail-view) .detail-view-container.multiple.pdf{display:block;padding-top:0}:host(.detail-view) .detail-view-container.multiple.pdf .pdf-photo-container{display:block;page-break-after:auto;page-break-before:auto;page-break-inside:avoid}:host(.detail-view) .detail-view-container.multiple.pdf .pdf-photo-container .wrapper{display:-ms-flexbox;display:flex}:host(.detail-view) .detail-view-container.multiple.pdf .pdf-photo-container yoo-items{display:inline-block;margin-right:0.5rem;margin-bottom:0.5rem;padding-bottom:0}:host(.detail-view) .detail-view-container.multiple.pdf .distance{margin-top:var(--spacing-04, 0.25rem);margin-bottom:0}:host(.detail-view) .detail-view-container.multiple .description-outer-container:not(:last-child){margin-bottom:var(--spacing-16, 1rem);padding-bottom:var(--spacing-16, 1rem)}:host(.detail-view) .detail-view-container.multiple .description-outer-container{border-bottom:var(--border-width-01, 0.0625rem) solid var(--stable-light, #f1f1f1)}:host(.detail-view) .detail-view-container.multiple .distance{margin-top:0;margin-bottom:var(--spacing-16, 1rem)}:host(.detail-view) .detail-view-container:not(.appendix) .image-container yoo-img{height:100%}:host(.detail-view) .detail-view-container.summary:not(.appendix) .image-container{width:min(21.4375rem, 100%)}:host(.detail-view) .detail-view-container.pdf:not(.appendix) .image-container{width:18.5625rem}:host(.detail-view) .detail-view-container.summary.appendix{--detail-view-container-width:21.4375rem}:host(.detail-view) .detail-view-container.pdf.appendix{--detail-view-container-width:29.1875rem}:host(.detail-view) .detail-view-container.appendix.max-width.summary{--detail-view-container-width:100%}:host(.detail-view) .detail-view-container.summary.multiple .description-outer-container{margin-bottom:0;border-bottom:none}:host(.detail-view) .detail-view-container .description-outer-container{grid-auto-columns:initial}:host(.detail-view) .detail-view-container .description-outer-container .image-container{position:relative}:host(.detail-view) .detail-view-container .description-outer-container .image-container .tags{position:absolute;z-index:2}:host(.detail-view) .detail-view-container .description-outer-container .image-container .tags.right{top:var(--spacing-16, 1rem);right:var(--spacing-16, 1rem)}:host(.detail-view) .detail-view-container .description-outer-container .image-container .tags.left{bottom:var(--spacing-16, 1rem);left:var(--spacing-08, 0.5rem)}:host(.detail-view) .detail-view-container .description-outer-container .image-container yoo-photo-editor{--editor-background:transparent;display:block}:host(.detail-view) .detail-view-container .description-outer-container .description-heading{color:var(--stable, #adadad);font-size:var(--font-size-14, 0.875rem)}:host(.detail-view) .detail-view-container .description-outer-container .annotation-container{grid-auto-columns:initial}:host(.detail-view) .detail-view-container .description-outer-container .annotation-container .annotation{display:-ms-flexbox;display:flex;width:100%}:host(.detail-view) .detail-view-container .description-outer-container .annotation-container .annotation yoo-badge{margin-top:var(--spacing-04, 0.25rem);margin-right:var(--spacing-08, 0.5rem)}@media only screen and (max-width: 360px){:host{--camera-selector-container-size:93px !important;--camera-container-height:93px !important}:host .outer-container .camera-container{position:relative;width:var(--camera-container-height-medium-screen, 5.8125rem);height:var(--camera-container-height-medium-screen, 5.8125rem);border:var(--border-width-01, 0.0625rem) solid var(--stable-40, rgba(173, 173, 173, 0.4));border-radius:0.5rem;cursor:pointer}:host .outer-container .camera-container .required{position:absolute;top:auto;right:auto;bottom:auto;left:0.625rem;color:var(--success, #3aa76d);font-size:var(--font-size-14, 0.875rem)}:host .outer-container .camera-container yoo-icon{position:absolute;top:50%;left:50%;font-size:var(--camera-container-size, 1.875rem);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host .outer-container .camera-container yoo-icon.light{color:var(--light, #ffffff)}:host .outer-container .camera-container yoo-icon.success{color:var(--success, #3aa76d)}:host .outer-container .camera-container .preview,:host .outer-container .camera-container .edit,:host .outer-container .camera-container .overlay{position:absolute;top:0;right:auto;bottom:auto;left:auto;width:var(--camera-container-height-medium-screen, 5.8125rem);height:var(--camera-container-height-medium-screen, 5.8125rem);border-radius:0.5rem}:host .outer-container .camera-container .preview.edit,:host .outer-container .camera-container .edit.edit,:host .outer-container .camera-container .overlay.edit{position:absolute;top:0;right:auto;bottom:auto;left:0;z-index:0}:host .outer-container .camera-container .overlay{background:var(--dark-60, rgba(0, 0, 0, 0.6));opacity:0.5}}@media only screen and (max-width: 320px){:host{--camera-selector-container-size:60px !important;--camera-container-height:70px !important}:host .outer-container .camera-container{position:relative;width:var(--camera-container-height-small-screen, 4.375rem);height:var(--camera-container-height-small-screen, 4.375rem);border:var(--border-width-01, 0.0625rem) solid var(--stable-40, rgba(173, 173, 173, 0.4));border-radius:0.5rem;cursor:pointer}:host .outer-container .camera-container .required{position:absolute;top:auto;right:auto;bottom:auto;left:0.625rem;color:var(--success, #3aa76d);font-size:var(--font-size-14, 0.875rem)}:host .outer-container .camera-container yoo-icon{position:absolute;top:50%;left:50%;font-size:var(--camera-container-size, 1.875rem);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host .outer-container .camera-container yoo-icon.light{color:var(--light, #ffffff)}:host .outer-container .camera-container yoo-icon.success{color:var(--success, #3aa76d)}:host .outer-container .camera-container .preview,:host .outer-container .camera-container .edit,:host .outer-container .camera-container .overlay{position:absolute;top:0;right:auto;bottom:auto;left:auto;width:var(--camera-container-height-small-screen, 4.375rem);height:var(--camera-container-height-small-screen, 4.375rem);border-radius:0.5rem}:host .outer-container .camera-container .preview.edit,:host .outer-container .camera-container .edit.edit,:host .outer-container .camera-container .overlay.edit{position:absolute;top:0;right:auto;bottom:auto;left:0;z-index:0}:host .outer-container .camera-container .overlay{background:var(--dark-60, rgba(0, 0, 0, 0.6));opacity:0.5}:host .outer-container .single .button-containers.kpi{width:190px}}@media print{:host{page-break-before:avoid !important;page-break-inside:auto !important}:host .pdf-photo-container,:host .description-outer-container,:host .inner-ssr-container{page-break-after:auto;page-break-before:avoid;page-break-inside:avoid}:host .tags{display:none}}";
|
|
20
36
|
|
|
@@ -58,9 +74,15 @@ const YooFormCaptureComponent = class {
|
|
|
58
74
|
this.updateExtraData(extraData);
|
|
59
75
|
}
|
|
60
76
|
/** If there is index, the field is a multiphoto */
|
|
61
|
-
async setFieldValue(data) {
|
|
62
|
-
|
|
63
|
-
|
|
77
|
+
async setFieldValue(index, data) {
|
|
78
|
+
if (index === undefined) {
|
|
79
|
+
setValueAndValidateInput(data, this);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const newValue = this.value ? [...this.value] : [];
|
|
83
|
+
newValue[index] = data;
|
|
84
|
+
setValueAndValidateInput(newValue, this);
|
|
85
|
+
}
|
|
64
86
|
}
|
|
65
87
|
async stopImageRecognitionProcess(isCancelled = false) {
|
|
66
88
|
this.imageRecoCancelled = isCancelled;
|
|
@@ -252,7 +274,7 @@ const YooFormCaptureComponent = class {
|
|
|
252
274
|
}
|
|
253
275
|
allowCrop(file) {
|
|
254
276
|
var _a;
|
|
255
|
-
return (((_a = this.cropperOptions) === null || _a === void 0 ? void 0 : _a.cropRatio) > 0 || this.showCropper) && isImage(file) && !isGif(file) && (!(typeof file === 'string' && isUnsplashUrl(file)) || isWeb(this.host));
|
|
277
|
+
return isWeb(this.host) && (((_a = this.cropperOptions) === null || _a === void 0 ? void 0 : _a.cropRatio) > 0 || this.showCropper) && isImage(file) && !isGif(file) && (!(typeof file === 'string' && isUnsplashUrl(file)) || isWeb(this.host));
|
|
256
278
|
}
|
|
257
279
|
removeAllCapture() {
|
|
258
280
|
this.value = [];
|
|
@@ -280,7 +302,7 @@ const YooFormCaptureComponent = class {
|
|
|
280
302
|
}
|
|
281
303
|
/** for webcam, choose which device to take photo/video */
|
|
282
304
|
capture(device, index) {
|
|
283
|
-
var _a, _b;
|
|
305
|
+
var _a, _b, _c;
|
|
284
306
|
let newIndex = index;
|
|
285
307
|
if (index < 0) {
|
|
286
308
|
newIndex = (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
@@ -288,7 +310,7 @@ const YooFormCaptureComponent = class {
|
|
|
288
310
|
if (isNativeMobile()) {
|
|
289
311
|
let newIndex = index;
|
|
290
312
|
if (index < 0) {
|
|
291
|
-
if (this.value
|
|
313
|
+
if ((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) {
|
|
292
314
|
newIndex = this.value.length;
|
|
293
315
|
}
|
|
294
316
|
else {
|
|
@@ -312,33 +334,19 @@ const YooFormCaptureComponent = class {
|
|
|
312
334
|
}
|
|
313
335
|
}
|
|
314
336
|
async processMediaData(mediaData, index) {
|
|
315
|
-
if (mediaData === null || mediaData === void 0 ? void 0 : mediaData.includes('?')) {
|
|
316
|
-
mediaData = mediaData.substring(0, mediaData.indexOf('?'));
|
|
317
|
-
}
|
|
318
|
-
else if (mediaData && !isImageUrl(mediaData)) {
|
|
319
|
-
mediaData = addFilePrefix(mediaData);
|
|
320
|
-
if (!isAndroid() && ['cache', 'tmp'].includes(mediaData)) {
|
|
321
|
-
try {
|
|
322
|
-
mediaData = await moveToImageDirectory(mediaData, getSession().user ? getSession().user.disablePhotoOrientationAutoFix : false);
|
|
323
|
-
}
|
|
324
|
-
catch (err) {
|
|
325
|
-
throw new Error(err);
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
337
|
try {
|
|
338
|
+
!isImageUrl(mediaData) && (mediaData = await processMediaPath(mediaData));
|
|
330
339
|
if (this.shouldTagImage()) {
|
|
331
340
|
const tag = await this.showPhotoTagDialog(mediaData);
|
|
332
341
|
(tag === null || tag === void 0 ? void 0 : tag.data) && this.updateTagData(tag, index);
|
|
333
342
|
}
|
|
334
|
-
await this.setFieldValue(mediaData);
|
|
343
|
+
await this.setFieldValue(index, mediaData);
|
|
335
344
|
this.clearPhotoEdit(index);
|
|
336
345
|
this.saveGeoloc && this.captureGeoloc(index);
|
|
337
346
|
}
|
|
338
347
|
catch (err) {
|
|
339
348
|
throw new Error(err);
|
|
340
349
|
}
|
|
341
|
-
return mediaData;
|
|
342
350
|
}
|
|
343
351
|
showPhotoTagDialog(imageSrc, value) {
|
|
344
352
|
const imageTag = document.createElement('yoo-form-capture-tag-dialog');
|
|
@@ -346,7 +354,8 @@ const YooFormCaptureComponent = class {
|
|
|
346
354
|
imageTag.imageSrc = imageSrc;
|
|
347
355
|
imageTag.value = value;
|
|
348
356
|
imageTag.addEventListener('fetchData', (ev) => {
|
|
349
|
-
|
|
357
|
+
ev.stopPropagation();
|
|
358
|
+
this.fetchData.emit(ev.detail);
|
|
350
359
|
});
|
|
351
360
|
return showModal(imageTag, null, '', 'slideYEnterAnimation', 'slideYLeaveAnimation');
|
|
352
361
|
}
|
|
@@ -400,7 +409,7 @@ const YooFormCaptureComponent = class {
|
|
|
400
409
|
});
|
|
401
410
|
}
|
|
402
411
|
async capturePhoto(useLibrary, index) {
|
|
403
|
-
var _a, _b, _c;
|
|
412
|
+
var _a, _b, _c, _d, _e;
|
|
404
413
|
const quality = this.isImageRecognition ? 100 : 70;
|
|
405
414
|
const sourceType = useLibrary ? PictureSourceType.PHOTOLIBRARY : PictureSourceType.CAMERA;
|
|
406
415
|
const mediaType = this.type === 'video' ? MediaType.VIDEO : MediaType.PICTURE;
|
|
@@ -470,26 +479,22 @@ const YooFormCaptureComponent = class {
|
|
|
470
479
|
if (!res && this.showImageLoader) {
|
|
471
480
|
this.showImageLoader = false;
|
|
472
481
|
}
|
|
482
|
+
const newIndex = index < 0 ? ((_e = (_d = this.value) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0) : index;
|
|
473
483
|
const imagesData = Array.isArray(res) ? res : [res];
|
|
474
484
|
const hasUnsplash = imagesData.some(d => isUnsplashUrl(d));
|
|
475
|
-
const processImage = async (imageData,
|
|
476
|
-
var _a;
|
|
485
|
+
const processImage = async (imageData, i) => {
|
|
477
486
|
try {
|
|
478
|
-
let extractedData = (imageData === null || imageData === void 0 ? void 0 : imageData['data']) || (imageData === null || imageData === void 0 ? void 0 : imageData['path']) || (imageData === null || imageData === void 0 ? void 0 : imageData['fullPath']) || imageData;
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
extractedData = await this.onOpenCropper(imageData);
|
|
484
|
-
}
|
|
485
|
-
await this.processMediaData(extractedData, newIndex);
|
|
486
|
-
}
|
|
487
|
+
let extractedData = await processMediaPath((imageData === null || imageData === void 0 ? void 0 : imageData['data']) || (imageData === null || imageData === void 0 ? void 0 : imageData['path']) || (imageData === null || imageData === void 0 ? void 0 : imageData['fullPath']) || imageData);
|
|
488
|
+
const shouldOpenCropper = !hasUnsplash && imagesData.length === 1 && this.allowCrop(extractedData);
|
|
489
|
+
shouldOpenCropper && (extractedData = await this.onOpenCropper(imageData));
|
|
490
|
+
const updatingIndex = this.multiple ? newIndex + i : undefined;
|
|
491
|
+
await this.processMediaData(extractedData, updatingIndex);
|
|
487
492
|
}
|
|
488
493
|
catch (err) {
|
|
489
494
|
this.showImageLoader = false;
|
|
490
495
|
}
|
|
491
496
|
};
|
|
492
|
-
await
|
|
497
|
+
await asyncWaterfall(imagesData.map((data, i) => processImage(data, i)));
|
|
493
498
|
this.showImageLoader = false;
|
|
494
499
|
}
|
|
495
500
|
catch (err) {
|
|
@@ -497,36 +502,29 @@ const YooFormCaptureComponent = class {
|
|
|
497
502
|
throw new Error(err);
|
|
498
503
|
}
|
|
499
504
|
}
|
|
500
|
-
captureVideo(index) {
|
|
501
|
-
const
|
|
502
|
-
|
|
503
|
-
this.processMediaData(this.fixPathAndGetValue(files), index);
|
|
504
|
-
});
|
|
505
|
+
async captureVideo(index) {
|
|
506
|
+
const files = await getVideo({ limit: 1, duration: this.duration || 60, saveToPhotoAlbum: true });
|
|
507
|
+
await Promise.all(files === null || files === void 0 ? void 0 : files.map(file => this.processMediaData(this.fixPathAndGetValue(file), index)));
|
|
505
508
|
}
|
|
506
509
|
async captureAudio(index) {
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
510
|
+
try {
|
|
511
|
+
if (isAndroid()) {
|
|
512
|
+
const { data } = await showAudioRecorder(this.host);
|
|
513
|
+
this.processMediaData(data, index);
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
const files = await MediaCapture.captureAudio({ limit: 1, duration: this.duration || 60 });
|
|
517
|
+
await Promise.all(files === null || files === void 0 ? void 0 : files.map(file => this.processMediaData(this.fixPathAndGetValue(file), index)));
|
|
511
518
|
}
|
|
512
519
|
}
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
})
|
|
519
|
-
.catch((err) => {
|
|
520
|
-
if (err.code !== 3) {
|
|
521
|
-
this.noAudio();
|
|
522
|
-
}
|
|
523
|
-
});
|
|
520
|
+
catch (err) {
|
|
521
|
+
if (err.code !== 3) {
|
|
522
|
+
showAlert(translate('AUDIO'), [translate('YOOBICOK')], translate('NOAUDIO'));
|
|
523
|
+
}
|
|
524
|
+
throw new Error(err);
|
|
524
525
|
}
|
|
525
526
|
}
|
|
526
|
-
|
|
527
|
-
showAlert(translate('AUDIO'), [translate('YOOBICOK')], translate('NOAUDIO'));
|
|
528
|
-
}
|
|
529
|
-
fixSessionIdPath() {
|
|
527
|
+
async fixSessionIdPath() {
|
|
530
528
|
if (isIOS() && isNativeMobile() && this.value && typeof this.value !== 'undefined') {
|
|
531
529
|
if (Array.isArray(this.value)) {
|
|
532
530
|
const newValue = [];
|
|
@@ -548,11 +546,8 @@ const YooFormCaptureComponent = class {
|
|
|
548
546
|
}
|
|
549
547
|
}
|
|
550
548
|
}
|
|
551
|
-
fixPathAndGetValue(
|
|
552
|
-
|
|
553
|
-
return addFilePrefix(files[0].fullPath);
|
|
554
|
-
}
|
|
555
|
-
return '';
|
|
549
|
+
fixPathAndGetValue(file) {
|
|
550
|
+
return addFilePrefix(file === null || file === void 0 ? void 0 : file.fullPath) || '';
|
|
556
551
|
}
|
|
557
552
|
captureFromWebcam(device, index) {
|
|
558
553
|
let webcam = document.createElement('yoo-form-capture-webcam-dialog');
|
|
@@ -563,7 +558,7 @@ const YooFormCaptureComponent = class {
|
|
|
563
558
|
this.showPhotoTagDialog(ret.data).then((tag) => {
|
|
564
559
|
if (!isNullOrUndefined(tag === null || tag === void 0 ? void 0 : tag.data)) {
|
|
565
560
|
this.updateTagData(tag, index);
|
|
566
|
-
this.setFieldValue(ret.data);
|
|
561
|
+
this.setFieldValue(index, ret.data);
|
|
567
562
|
this.clearPhotoEdit(index);
|
|
568
563
|
if (this.saveGeoloc) {
|
|
569
564
|
this.captureGeoloc();
|
|
@@ -572,7 +567,7 @@ const YooFormCaptureComponent = class {
|
|
|
572
567
|
});
|
|
573
568
|
}
|
|
574
569
|
else {
|
|
575
|
-
this.setFieldValue(ret.data);
|
|
570
|
+
this.setFieldValue(index, ret.data);
|
|
576
571
|
this.clearPhotoEdit(index);
|
|
577
572
|
if (this.saveGeoloc) {
|
|
578
573
|
this.captureGeoloc();
|
|
@@ -672,7 +667,7 @@ const YooFormCaptureComponent = class {
|
|
|
672
667
|
}
|
|
673
668
|
else {
|
|
674
669
|
if (this.multiple && (newImages === null || newImages === void 0 ? void 0 : newImages.length) > 0) {
|
|
675
|
-
this.setFieldValue(newImages);
|
|
670
|
+
this.setFieldValue(index, newImages);
|
|
676
671
|
}
|
|
677
672
|
else if (newImages === null || newImages === void 0 ? void 0 : newImages.length) {
|
|
678
673
|
this.value = newImages[0];
|
|
@@ -683,9 +678,10 @@ const YooFormCaptureComponent = class {
|
|
|
683
678
|
});
|
|
684
679
|
}
|
|
685
680
|
captureGeoloc(index) {
|
|
681
|
+
var _a;
|
|
686
682
|
let newIndex = index;
|
|
687
683
|
if (this.saveGeoloc) {
|
|
688
|
-
if (isNullOrUndefined(newIndex) && this.multiple && this.value
|
|
684
|
+
if (isNullOrUndefined(newIndex) && this.multiple && ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) - 1 > -1) {
|
|
689
685
|
newIndex = this.value.length - 1;
|
|
690
686
|
}
|
|
691
687
|
this.getGeoloc.emit(newIndex);
|
|
@@ -711,10 +707,6 @@ const YooFormCaptureComponent = class {
|
|
|
711
707
|
this.captureFromDisk(index);
|
|
712
708
|
}
|
|
713
709
|
}
|
|
714
|
-
onFetchGridData(ev) {
|
|
715
|
-
ev.stopPropagation();
|
|
716
|
-
this.fetchData.emit(ev.detail);
|
|
717
|
-
}
|
|
718
710
|
getTargetElement(index) {
|
|
719
711
|
return index !== undefined ? Array.from(this.fileInputs).find((_, ind) => ind === index) : this.fileInputs;
|
|
720
712
|
}
|
|
@@ -735,17 +727,17 @@ const YooFormCaptureComponent = class {
|
|
|
735
727
|
const tag = await this.showPhotoTagDialog(data);
|
|
736
728
|
if (!isNullOrUndefined(tag === null || tag === void 0 ? void 0 : tag.data)) {
|
|
737
729
|
this.updateTagData(tag, index);
|
|
738
|
-
this.setFieldValue(data);
|
|
730
|
+
this.setFieldValue(index, data);
|
|
739
731
|
this.clearPhotoEdit(index);
|
|
740
732
|
}
|
|
741
733
|
}
|
|
742
734
|
else {
|
|
743
|
-
this.setFieldValue(data);
|
|
735
|
+
this.setFieldValue(index, data);
|
|
744
736
|
this.clearPhotoEdit(index);
|
|
745
737
|
}
|
|
746
738
|
}
|
|
747
739
|
else {
|
|
748
|
-
this.setFieldValue(f);
|
|
740
|
+
this.setFieldValue(index, f);
|
|
749
741
|
this.clearPhotoEdit(index);
|
|
750
742
|
}
|
|
751
743
|
targetElement.value = null;
|
|
@@ -1572,7 +1564,8 @@ const YooFormCaptureComponent = class {
|
|
|
1572
1564
|
}
|
|
1573
1565
|
}
|
|
1574
1566
|
shouldTagImage() {
|
|
1575
|
-
|
|
1567
|
+
var _a;
|
|
1568
|
+
return ((_a = this.tags) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
1576
1569
|
}
|
|
1577
1570
|
onCancelImageReco() {
|
|
1578
1571
|
showAlert('', [translate('YOOBICNO'), translate('YOOBICYES')], translate('STOPIMAGERECO')).then((res) => {
|
|
@@ -491,7 +491,7 @@ const YooFormDynamicComponent = class {
|
|
|
491
491
|
const videoValue = fieldData.value;
|
|
492
492
|
const videoElement = el;
|
|
493
493
|
if (videoValue) {
|
|
494
|
-
videoElement.setFieldValue(videoValue);
|
|
494
|
+
videoElement.setFieldValue(undefined, videoValue);
|
|
495
495
|
}
|
|
496
496
|
break;
|
|
497
497
|
}
|