@yoobic/yobi 8.5.0-46 → 8.5.0-47
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/design-system.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/yoo-form-capture.cjs.entry.js +71 -92
- package/dist/cjs/yoo-form-date-time.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-dynamic.cjs.entry.js +1 -1
- package/dist/cjs/yoo-grid-calendar.cjs.entry.js +2 -2
- package/dist/cjs/yoo-image-cropper-dialog.cjs.entry.js +25 -19
- package/dist/cjs/yoo-mission-details.cjs.entry.js +1 -1
- package/dist/cjs/yoo-mission-heading.cjs.entry.js +1 -1
- package/dist/cjs/yoo-text-sequence.cjs.entry.js +5 -2
- package/dist/collection/components/2.molecules/text-sequence/text-sequence.js +5 -2
- package/dist/collection/components/form/form-capture/form-capture-helper.js +20 -0
- package/dist/collection/components/form/form-capture/form-capture.js +59 -96
- package/dist/collection/components/form/form-date-time/form-date-time.js +1 -1
- package/dist/collection/components/form/form-dynamic/form-dynamic.js +1 -1
- package/dist/collection/components/form/image-cropper-dialog/image-cropper-dialog.css +4 -0
- package/dist/collection/components/form/image-cropper-dialog/image-cropper-dialog.js +27 -21
- package/dist/collection/components/grid/grid-calendar/grid-calendar.js +19 -2
- package/dist/collection/feature-operate/mission/mission-details/mission-details.js +1 -1
- package/dist/collection/feature-operate/mission/mission-heading/mission-heading.js +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/yoo-form-capture.entry.js +72 -93
- package/dist/design-system/yoo-form-date-time.entry.js +1 -1
- package/dist/design-system/yoo-form-dynamic.entry.js +1 -1
- package/dist/design-system/yoo-grid-calendar.entry.js +2 -2
- package/dist/design-system/yoo-image-cropper-dialog.entry.js +27 -21
- package/dist/design-system/yoo-mission-details.entry.js +1 -1
- package/dist/design-system/yoo-mission-heading.entry.js +1 -1
- package/dist/design-system/yoo-text-sequence.entry.js +5 -2
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/yoo-form-capture.entry.js +72 -93
- package/dist/esm/yoo-form-date-time.entry.js +1 -1
- package/dist/esm/yoo-form-dynamic.entry.js +1 -1
- package/dist/esm/yoo-grid-calendar.entry.js +2 -2
- package/dist/esm/yoo-image-cropper-dialog.entry.js +27 -21
- package/dist/esm/yoo-mission-details.entry.js +1 -1
- package/dist/esm/yoo-mission-heading.entry.js +1 -1
- package/dist/esm/yoo-text-sequence.entry.js +5 -2
- package/dist/types/components/2.molecules/text-sequence/text-sequence.d.ts +1 -0
- 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 +6 -6
- package/dist/types/components/form/image-cropper-dialog/image-cropper-dialog.d.ts +2 -2
- package/dist/types/components/grid/grid-calendar/grid-calendar.d.ts +1 -0
- package/dist/types/components.d.ts +5 -3
- 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-0a59e2a1.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-3e2eccbc.js';
|
3
|
-
import {
|
3
|
+
import { cm as isBase64, aZ as isImageUrl, cr as addFilePrefix, p as isAndroid, cu as moveToImageDirectory, t as translate, b9 as showToast, dQ as getFormCapturedFileSize, aj as showAlert, av as pipes, k as isNullOrUndefined, H as isWeb, am as isImage, al as isGif, dL as isUnsplashUrl, ak as isVideo, dK as isAudio, o as isNativeMobile, G as showModal, N as isIOS, M as isIphoneX, c3 as StatusBar, a8 as getSession, dR as isLenovo, co as showActionSheet, dC as asyncWaterfall, dS as updatePathSessionId, bW as isSafari, W as getAsyncExtraData, cs as read, Z as isNativeFilePath, an as downloadFile, ar as isFile, dT as getMimeType, br as isOffline, dU as hasLargeFile, a3 as translateMulti, aH as showContextMenu, aC as isPhotoEdited, dz as images, dV as audios, dA as videos, aD as changeExtension, az as isCloudinaryLink } from './overlays-0cc9a656.js';
|
4
4
|
import './index-d375d097.js';
|
5
5
|
import { k as keys, z as intersection, a as isNumber, i as isArray, a5 as assignInWith, s as assign, n as compact, t as clone, E as isUndefined } from './lodash-777f91de.js';
|
6
6
|
import { c as querySelectorAllDeep, q as querySelectorDeep, i as showImageCropper, e as showPhotoEditor, a as showSlidesMedia, g as getAppContext } from './common-helpers-c2933562.js';
|
@@ -15,6 +15,25 @@ 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 (isBase64(mediaPath)) {
|
20
|
+
return mediaPath;
|
21
|
+
}
|
22
|
+
else if (mediaPath === null || mediaPath === void 0 ? void 0 : mediaPath.includes('?')) {
|
23
|
+
return mediaPath.substring(0, mediaPath.indexOf('?'));
|
24
|
+
}
|
25
|
+
else if (!isImageUrl(mediaPath)) {
|
26
|
+
return addFilePrefix(mediaPath);
|
27
|
+
}
|
28
|
+
else if (!isAndroid() && ['cache', 'tmp'].includes(mediaPath)) {
|
29
|
+
try {
|
30
|
+
return await moveToImageDirectory(addFilePrefix(mediaPath));
|
31
|
+
}
|
32
|
+
catch (err) {
|
33
|
+
throw new Error(err);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
18
37
|
|
19
38
|
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:start}: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([size=extra-small]){--camera-container-height:var(--spacing-24, 1.5rem);--camera-selector-container-size:var(--spacing-24, 1.5rem);--camera-container-size:var(--spacing-08, 0.5rem)}:host([size=extra-small]) .readonly{padding:var(--spacing-08, 0.5rem) 0 0 0}:host([size=extra-small]) .readonly .readonly-container yoo-img{width:var(--spacing-48, 3rem);max-width:var(--spacing-48, 3rem);height:var(--spacing-48, 3rem) !important;max-height:var(--spacing-48, 3rem);margin-bottom:0;margin-left:0}:host([size=extra-small]) .outer-container .multiple .capture-status .action{padding-left:0}:host([size=extra-small]) .outer-container .multiple .bottom-action-container{height:initial;font-size:var(--font-size-12, 0.75rem)}:host([size=extra-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}}:host(.rtl) .outer-container .multiple .capture-status .status{padding-right:0;padding-left:var(--spacing-16, 1rem)}";
|
20
39
|
|
@@ -58,9 +77,15 @@ const YooFormCaptureComponent = class {
|
|
58
77
|
this.updateExtraData(extraData);
|
59
78
|
}
|
60
79
|
/** If there is index, the field is a multiphoto */
|
61
|
-
async setFieldValue(data) {
|
62
|
-
|
63
|
-
|
80
|
+
async setFieldValue(index, data) {
|
81
|
+
if (index === undefined) {
|
82
|
+
setValueAndValidateInput(data, this);
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
const newValue = this.value ? [...this.value] : [];
|
86
|
+
newValue[index] = data;
|
87
|
+
setValueAndValidateInput(newValue, this);
|
88
|
+
}
|
64
89
|
}
|
65
90
|
async stopImageRecognitionProcess(isCancelled = false) {
|
66
91
|
this.imageRecoCancelled = isCancelled;
|
@@ -250,9 +275,9 @@ const YooFormCaptureComponent = class {
|
|
250
275
|
this.fileInputs = querySelectorDeep(this.host, '.camera-input');
|
251
276
|
}
|
252
277
|
}
|
253
|
-
allowCrop(
|
278
|
+
allowCrop(data) {
|
254
279
|
var _a;
|
255
|
-
return (((_a = this.cropperOptions) === null || _a === void 0 ? void 0 : _a.cropRatio) > 0 || this.showCropper) && isImage(
|
280
|
+
return isWeb(this.host) && (((_a = this.cropperOptions) === null || _a === void 0 ? void 0 : _a.cropRatio) > 0 || this.showCropper) && (isImage(data) || isBase64(data)) && !isGif(data) && (!(typeof data === 'string' && isUnsplashUrl(data)) || isWeb(this.host));
|
256
281
|
}
|
257
282
|
removeAllCapture() {
|
258
283
|
this.value = [];
|
@@ -312,33 +337,19 @@ const YooFormCaptureComponent = class {
|
|
312
337
|
}
|
313
338
|
}
|
314
339
|
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
340
|
try {
|
341
|
+
!isImageUrl(mediaData) && (mediaData = await processMediaPath(mediaData));
|
330
342
|
if (this.shouldTagImage()) {
|
331
343
|
const tag = await this.showPhotoTagDialog(mediaData);
|
332
344
|
(tag === null || tag === void 0 ? void 0 : tag.data) && this.updateTagData(tag, index);
|
333
345
|
}
|
334
|
-
await this.setFieldValue(mediaData);
|
346
|
+
await this.setFieldValue(index, mediaData);
|
335
347
|
this.clearPhotoEdit(index);
|
336
348
|
this.saveGeoloc && this.captureGeoloc(index);
|
337
349
|
}
|
338
350
|
catch (err) {
|
339
351
|
throw new Error(err);
|
340
352
|
}
|
341
|
-
return mediaData;
|
342
353
|
}
|
343
354
|
showPhotoTagDialog(imageSrc, value) {
|
344
355
|
const imageTag = document.createElement('yoo-form-capture-tag-dialog');
|
@@ -400,7 +411,7 @@ const YooFormCaptureComponent = class {
|
|
400
411
|
});
|
401
412
|
}
|
402
413
|
async capturePhoto(useLibrary, index) {
|
403
|
-
var _a, _b, _c;
|
414
|
+
var _a, _b, _c, _d, _e;
|
404
415
|
const quality = this.isImageRecognition ? 100 : 70;
|
405
416
|
const sourceType = useLibrary ? PictureSourceType.PHOTOLIBRARY : PictureSourceType.CAMERA;
|
406
417
|
const mediaType = this.type === 'video' ? MediaType.VIDEO : MediaType.PICTURE;
|
@@ -470,26 +481,22 @@ const YooFormCaptureComponent = class {
|
|
470
481
|
if (!res && this.showImageLoader) {
|
471
482
|
this.showImageLoader = false;
|
472
483
|
}
|
484
|
+
const newIndex = index < 0 ? ((_e = (_d = this.value) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0) : index;
|
473
485
|
const imagesData = Array.isArray(res) ? res : [res];
|
474
486
|
const hasUnsplash = imagesData.some(d => isUnsplashUrl(d));
|
475
|
-
const processImage = async (imageData,
|
476
|
-
var _a;
|
487
|
+
const processImage = async (imageData, i) => {
|
477
488
|
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
|
-
}
|
489
|
+
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);
|
490
|
+
const shouldOpenCropper = !hasUnsplash && imagesData.length === 1 && this.allowCrop(extractedData);
|
491
|
+
shouldOpenCropper && (extractedData = await this.onOpenCropper(imageData));
|
492
|
+
const updatingIndex = this.multiple ? newIndex + i : undefined;
|
493
|
+
await this.processMediaData(extractedData, updatingIndex);
|
487
494
|
}
|
488
495
|
catch (err) {
|
489
496
|
this.showImageLoader = false;
|
490
497
|
}
|
491
498
|
};
|
492
|
-
await
|
499
|
+
await asyncWaterfall(imagesData.map((data, i) => processImage(data, i)));
|
493
500
|
this.showImageLoader = false;
|
494
501
|
}
|
495
502
|
catch (err) {
|
@@ -497,30 +504,26 @@ const YooFormCaptureComponent = class {
|
|
497
504
|
throw new Error(err);
|
498
505
|
}
|
499
506
|
}
|
500
|
-
captureVideo(index) {
|
501
|
-
const
|
502
|
-
|
503
|
-
this.processMediaData(this.fixPathAndGetValue(files), index);
|
504
|
-
});
|
507
|
+
async captureVideo(index) {
|
508
|
+
const files = await getVideo({ limit: 1, duration: this.duration || 60, saveToPhotoAlbum: true });
|
509
|
+
await Promise.all(files === null || files === void 0 ? void 0 : files.map(file => this.processMediaData(this.fixPathAndGetValue(file), index)));
|
505
510
|
}
|
506
511
|
async captureAudio(index) {
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
512
|
+
try {
|
513
|
+
if (isAndroid()) {
|
514
|
+
const { data } = await showAudioRecorder(this.host);
|
515
|
+
this.processMediaData(data, index);
|
516
|
+
}
|
517
|
+
else {
|
518
|
+
const files = await MediaCapture.captureAudio({ limit: 1, duration: this.duration || 60 });
|
519
|
+
await Promise.all(files === null || files === void 0 ? void 0 : files.map(file => this.processMediaData(this.fixPathAndGetValue(file), index)));
|
511
520
|
}
|
512
521
|
}
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
})
|
519
|
-
.catch((err) => {
|
520
|
-
if (err.code !== 3) {
|
521
|
-
this.noAudio();
|
522
|
-
}
|
523
|
-
});
|
522
|
+
catch (err) {
|
523
|
+
if (err.code !== 3) {
|
524
|
+
showAlert(translate('AUDIO'), [translate('YOOBICOK')], translate('NOAUDIO'));
|
525
|
+
}
|
526
|
+
throw new Error(err);
|
524
527
|
}
|
525
528
|
}
|
526
529
|
noAudio() {
|
@@ -548,39 +551,14 @@ const YooFormCaptureComponent = class {
|
|
548
551
|
}
|
549
552
|
}
|
550
553
|
}
|
551
|
-
fixPathAndGetValue(
|
552
|
-
|
553
|
-
return addFilePrefix(files[0].fullPath);
|
554
|
-
}
|
555
|
-
return '';
|
554
|
+
fixPathAndGetValue(file) {
|
555
|
+
return addFilePrefix(file === null || file === void 0 ? void 0 : file.fullPath) || '';
|
556
556
|
}
|
557
|
-
captureFromWebcam(device, index) {
|
558
|
-
|
559
|
-
webcam
|
560
|
-
|
561
|
-
|
562
|
-
if (this.shouldTagImage()) {
|
563
|
-
this.showPhotoTagDialog(ret.data).then((tag) => {
|
564
|
-
if (!isNullOrUndefined(tag === null || tag === void 0 ? void 0 : tag.data)) {
|
565
|
-
this.updateTagData(tag, index);
|
566
|
-
this.setFieldValue(ret.data);
|
567
|
-
this.clearPhotoEdit(index);
|
568
|
-
if (this.saveGeoloc) {
|
569
|
-
this.captureGeoloc();
|
570
|
-
}
|
571
|
-
}
|
572
|
-
});
|
573
|
-
}
|
574
|
-
else {
|
575
|
-
this.setFieldValue(ret.data);
|
576
|
-
this.clearPhotoEdit(index);
|
577
|
-
if (this.saveGeoloc) {
|
578
|
-
this.captureGeoloc();
|
579
|
-
}
|
580
|
-
}
|
581
|
-
}
|
582
|
-
webcam = null;
|
583
|
-
});
|
557
|
+
async captureFromWebcam(device, index) {
|
558
|
+
var _a;
|
559
|
+
const mediaData = (_a = (await showModal(Object.assign(document.createElement('yoo-form-capture-webcam-dialog'), { device }), null, !isWeb(this.host) ? '' : 'fullscreen', 'fadeEnterAnimation', 'fadeLeaveAnimation'))) === null || _a === void 0 ? void 0 : _a.data;
|
560
|
+
// this.allowCrop(mediaData) && (mediaData = await this.onOpenCropper(mediaData));
|
561
|
+
mediaData && await this.processMediaData(mediaData, index);
|
584
562
|
}
|
585
563
|
captureFromDisk(index) {
|
586
564
|
const targetElement = index && index < 0 ? this.getAddFileInput() : this.getTargetElement(index);
|
@@ -672,7 +650,7 @@ const YooFormCaptureComponent = class {
|
|
672
650
|
}
|
673
651
|
else {
|
674
652
|
if (this.multiple && (newImages === null || newImages === void 0 ? void 0 : newImages.length) > 0) {
|
675
|
-
this.setFieldValue(newImages);
|
653
|
+
this.setFieldValue(index, newImages);
|
676
654
|
}
|
677
655
|
else if (newImages === null || newImages === void 0 ? void 0 : newImages.length) {
|
678
656
|
this.value = newImages[0];
|
@@ -735,24 +713,24 @@ const YooFormCaptureComponent = class {
|
|
735
713
|
const tag = await this.showPhotoTagDialog(data);
|
736
714
|
if (!isNullOrUndefined(tag === null || tag === void 0 ? void 0 : tag.data)) {
|
737
715
|
this.updateTagData(tag, index);
|
738
|
-
this.setFieldValue(data);
|
716
|
+
this.setFieldValue(index, data);
|
739
717
|
this.clearPhotoEdit(index);
|
740
718
|
}
|
741
719
|
}
|
742
720
|
else {
|
743
|
-
this.setFieldValue(data);
|
721
|
+
this.setFieldValue(index, data);
|
744
722
|
this.clearPhotoEdit(index);
|
745
723
|
}
|
746
724
|
}
|
747
725
|
else {
|
748
|
-
this.setFieldValue(f);
|
726
|
+
this.setFieldValue(index, f);
|
749
727
|
this.clearPhotoEdit(index);
|
750
728
|
}
|
751
729
|
targetElement.value = null;
|
752
730
|
}
|
753
731
|
async onOpenCropper(file) {
|
754
732
|
var _a;
|
755
|
-
return (_a = (await showImageCropper(this.host, { file,
|
733
|
+
return (_a = (await showImageCropper(this.host, { file, maintainQuality: true, ...this.cropperOptions || {} }))) === null || _a === void 0 ? void 0 : _a.data;
|
756
734
|
}
|
757
735
|
clearPhotoEdit(index) {
|
758
736
|
var _a, _b;
|
@@ -1572,7 +1550,8 @@ const YooFormCaptureComponent = class {
|
|
1572
1550
|
}
|
1573
1551
|
}
|
1574
1552
|
shouldTagImage() {
|
1575
|
-
|
1553
|
+
var _a;
|
1554
|
+
return ((_a = this.tags) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
1576
1555
|
}
|
1577
1556
|
onCancelImageReco() {
|
1578
1557
|
showAlert('', [translate('YOOBICNO'), translate('YOOBICYES')], translate('STOPIMAGERECO')).then((res) => {
|
@@ -167,7 +167,7 @@ const YooFormDateTimeComponent = class {
|
|
167
167
|
if (!this.value) {
|
168
168
|
const value = new Date();
|
169
169
|
const oldMinutes = value.getMinutes();
|
170
|
-
const newMinutes = getRoundedMinutes(value, this.timeStep);
|
170
|
+
const newMinutes = +getRoundedMinutes(value, this.timeStep);
|
171
171
|
value.setMinutes(+newMinutes, 0, 0);
|
172
172
|
if (newMinutes === 0 && oldMinutes !== newMinutes) {
|
173
173
|
value.setHours(value.getHours() + 1);
|
@@ -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
|
}
|
@@ -586,11 +586,11 @@ const YooGridCalendarComponent = class {
|
|
586
586
|
var _a, _b;
|
587
587
|
return (h("div", { class: { 'left-container': isWeb(this.host), hidden: !isWeb(this.host) && !this.showMobileCalendar } }, (isWeb(this.host)) && (h("yoo-calendar", { class: { 'no-border': true, 'no-margin-top': !isWeb(this.host) }, isDatePicker: true, size: "small", markers: this.markers, displayMode: "month", onDateChanged: (ev) => this.onLeftCalendarDateChanged(ev) })), isWeb(this.host) && ((_a = this.types) === null || _a === void 0 ? void 0 : _a.length) > 0 && !this.hideFilters && h("div", { class: "types" }, h("yoo-collapsible", { class: "bold", collapsed: false, header: translate('YOOBICTYPE') }, this.types.map((t) => {
|
588
588
|
var _a;
|
589
|
-
return h("yoo-form-checkbox", { class: getEventTypeColor(t), iconColor: getEventTypeColor(t), onClick: () => this.onToggleType(t), value: !(((_a = this.hiddenTypes) === null || _a === void 0 ? void 0 : _a.indexOf(t)) > 0), header: translate(CALENDAR_TRANSLATIONS[t]) });
|
589
|
+
return h("yoo-form-checkbox", { animated: this.animated, class: getEventTypeColor(t), iconColor: getEventTypeColor(t), onClick: () => this.onToggleType(t), value: !(((_a = this.hiddenTypes) === null || _a === void 0 ? void 0 : _a.indexOf(t)) > 0), header: translate(CALENDAR_TRANSLATIONS[t]) });
|
590
590
|
})), h("slot", { name: "filters" }), ((_b = this.eventStatuses) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
|
591
591
|
h("yoo-collapsible", { class: "bold margin-top", collapsed: false, header: translate('EVENTATTENDANCE') }, this.eventStatuses.map((t) => {
|
592
592
|
var _a;
|
593
|
-
return h("yoo-form-checkbox", { class: "app-color", onClick: () => this.onToggleAttendance(t), value: !(((_a = this.hiddenStatuses) === null || _a === void 0 ? void 0 : _a.indexOf(t)) > 0), header: translate(ATTENDANCE_TRANSLATIONS[t]) });
|
593
|
+
return h("yoo-form-checkbox", { animated: this.animated, class: "app-color", onClick: () => this.onToggleAttendance(t), value: !(((_a = this.hiddenStatuses) === null || _a === void 0 ? void 0 : _a.indexOf(t)) > 0), header: translate(ATTENDANCE_TRANSLATIONS[t]) });
|
594
594
|
})), h("slot", { name: "more-filters" }))));
|
595
595
|
}
|
596
596
|
renderHeader(calendar, type) {
|