@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.
@@ -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 { t as translate, b5 as showToast, dL as getFormCapturedFileSize, ae as showAlert, ar as pipes, X as isNullOrUndefined, ai as isImage, ah as isGif, dG as isUnsplashUrl, A as isWeb, ag as isVideo, dF as isAudio, j as isNativeMobile, aV as isImageUrl, cm as addFilePrefix, k as isAndroid, cp as moveToImageDirectory, a3 as getSession, z as showModal, H as isIOS, G as isIphoneX, b$ as StatusBar, dM as isLenovo, af as showActionSheet, dN as updatePathSessionId, bS as isSafari, P as getAsyncExtraData, dx as asyncWaterfall, 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';
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
- this.multiple ? this.value.push(data) : this.value = data;
63
- setValueAndValidateInput(this.value, this);
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 && this.value.length) {
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
- this.onFetchGridData(ev);
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, index) => {
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
- if (!this.shouldTagImage()) {
480
- const shouldOpenCropper = !hasUnsplash && imagesData.length === 1 && this.allowCrop(imageData);
481
- const newIndex = Array.isArray(this.value) ? (_a = this.value) === null || _a === void 0 ? void 0 : _a.length : index;
482
- if (shouldOpenCropper) {
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 Promise.all(imagesData.map((data, index) => processImage(data, index)));
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 options = { limit: 1, duration: this.duration || 60, saveToPhotoAlbum: true };
502
- return getVideo(options).then((files) => {
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
- if (isAndroid()) {
508
- const ret = await showAudioRecorder(this.host);
509
- if (ret && ret.data) {
510
- return this.processMediaData(ret.data, index);
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
- else {
514
- const options = { limit: 1, duration: this.duration || 60 };
515
- return MediaCapture.captureAudio(options)
516
- .then((files) => {
517
- this.processMediaData(this.fixPathAndGetValue(files), index);
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
- noAudio() {
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(files) {
552
- if ((files === null || files === void 0 ? void 0 : files.length) > 0) {
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 && this.value.length - 1 > -1) {
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
- return this.tags && this.tags.length > 0;
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
  }