@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.
Files changed (46) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/yoo-form-capture.cjs.entry.js +71 -92
  4. package/dist/cjs/yoo-form-date-time.cjs.entry.js +1 -1
  5. package/dist/cjs/yoo-form-dynamic.cjs.entry.js +1 -1
  6. package/dist/cjs/yoo-grid-calendar.cjs.entry.js +2 -2
  7. package/dist/cjs/yoo-image-cropper-dialog.cjs.entry.js +25 -19
  8. package/dist/cjs/yoo-mission-details.cjs.entry.js +1 -1
  9. package/dist/cjs/yoo-mission-heading.cjs.entry.js +1 -1
  10. package/dist/cjs/yoo-text-sequence.cjs.entry.js +5 -2
  11. package/dist/collection/components/2.molecules/text-sequence/text-sequence.js +5 -2
  12. package/dist/collection/components/form/form-capture/form-capture-helper.js +20 -0
  13. package/dist/collection/components/form/form-capture/form-capture.js +59 -96
  14. package/dist/collection/components/form/form-date-time/form-date-time.js +1 -1
  15. package/dist/collection/components/form/form-dynamic/form-dynamic.js +1 -1
  16. package/dist/collection/components/form/image-cropper-dialog/image-cropper-dialog.css +4 -0
  17. package/dist/collection/components/form/image-cropper-dialog/image-cropper-dialog.js +27 -21
  18. package/dist/collection/components/grid/grid-calendar/grid-calendar.js +19 -2
  19. package/dist/collection/feature-operate/mission/mission-details/mission-details.js +1 -1
  20. package/dist/collection/feature-operate/mission/mission-heading/mission-heading.js +1 -1
  21. package/dist/design-system/design-system.esm.js +1 -1
  22. package/dist/design-system/yoo-form-capture.entry.js +72 -93
  23. package/dist/design-system/yoo-form-date-time.entry.js +1 -1
  24. package/dist/design-system/yoo-form-dynamic.entry.js +1 -1
  25. package/dist/design-system/yoo-grid-calendar.entry.js +2 -2
  26. package/dist/design-system/yoo-image-cropper-dialog.entry.js +27 -21
  27. package/dist/design-system/yoo-mission-details.entry.js +1 -1
  28. package/dist/design-system/yoo-mission-heading.entry.js +1 -1
  29. package/dist/design-system/yoo-text-sequence.entry.js +5 -2
  30. package/dist/esm/design-system.js +1 -1
  31. package/dist/esm/loader.js +1 -1
  32. package/dist/esm/yoo-form-capture.entry.js +72 -93
  33. package/dist/esm/yoo-form-date-time.entry.js +1 -1
  34. package/dist/esm/yoo-form-dynamic.entry.js +1 -1
  35. package/dist/esm/yoo-grid-calendar.entry.js +2 -2
  36. package/dist/esm/yoo-image-cropper-dialog.entry.js +27 -21
  37. package/dist/esm/yoo-mission-details.entry.js +1 -1
  38. package/dist/esm/yoo-mission-heading.entry.js +1 -1
  39. package/dist/esm/yoo-text-sequence.entry.js +5 -2
  40. package/dist/types/components/2.molecules/text-sequence/text-sequence.d.ts +1 -0
  41. package/dist/types/components/form/form-capture/form-capture-helper.d.ts +1 -0
  42. package/dist/types/components/form/form-capture/form-capture.d.ts +6 -6
  43. package/dist/types/components/form/image-cropper-dialog/image-cropper-dialog.d.ts +2 -2
  44. package/dist/types/components/grid/grid-calendar/grid-calendar.d.ts +1 -0
  45. package/dist/types/components.d.ts +5 -3
  46. package/package.json +1 -1
@@ -19,6 +19,25 @@ function shouldUseLowPerformanceCamera(user, isNativeMobile, useLibrary) {
19
19
  return !!(enableLowPerformanceCamera ||
20
20
  (enableLowPerformanceCamera === undefined && isLowEndDevice)) && isNativeMobile && !useLibrary;
21
21
  }
22
+ async function processMediaPath(mediaPath) {
23
+ if (overlays.isBase64(mediaPath)) {
24
+ return mediaPath;
25
+ }
26
+ else if (mediaPath === null || mediaPath === void 0 ? void 0 : mediaPath.includes('?')) {
27
+ return mediaPath.substring(0, mediaPath.indexOf('?'));
28
+ }
29
+ else if (!overlays.isImageUrl(mediaPath)) {
30
+ return overlays.addFilePrefix(mediaPath);
31
+ }
32
+ else if (!overlays.isAndroid() && ['cache', 'tmp'].includes(mediaPath)) {
33
+ try {
34
+ return await overlays.moveToImageDirectory(overlays.addFilePrefix(mediaPath));
35
+ }
36
+ catch (err) {
37
+ throw new Error(err);
38
+ }
39
+ }
40
+ }
22
41
 
23
42
  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)}";
24
43
 
@@ -62,9 +81,15 @@ const YooFormCaptureComponent = class {
62
81
  this.updateExtraData(extraData);
63
82
  }
64
83
  /** If there is index, the field is a multiphoto */
65
- async setFieldValue(data) {
66
- this.multiple ? this.value.push(data) : this.value = data;
67
- formInputHelpers.setValueAndValidateInput(this.value, this);
84
+ async setFieldValue(index, data) {
85
+ if (index === undefined) {
86
+ formInputHelpers.setValueAndValidateInput(data, this);
87
+ }
88
+ else {
89
+ const newValue = this.value ? [...this.value] : [];
90
+ newValue[index] = data;
91
+ formInputHelpers.setValueAndValidateInput(newValue, this);
92
+ }
68
93
  }
69
94
  async stopImageRecognitionProcess(isCancelled = false) {
70
95
  this.imageRecoCancelled = isCancelled;
@@ -254,9 +279,9 @@ const YooFormCaptureComponent = class {
254
279
  this.fileInputs = commonHelpers.querySelectorDeep(this.host, '.camera-input');
255
280
  }
256
281
  }
257
- allowCrop(file) {
282
+ allowCrop(data) {
258
283
  var _a;
259
- return (((_a = this.cropperOptions) === null || _a === void 0 ? void 0 : _a.cropRatio) > 0 || this.showCropper) && overlays.isImage(file) && !overlays.isGif(file) && (!(typeof file === 'string' && overlays.isUnsplashUrl(file)) || overlays.isWeb(this.host));
284
+ return overlays.isWeb(this.host) && (((_a = this.cropperOptions) === null || _a === void 0 ? void 0 : _a.cropRatio) > 0 || this.showCropper) && (overlays.isImage(data) || overlays.isBase64(data)) && !overlays.isGif(data) && (!(typeof data === 'string' && overlays.isUnsplashUrl(data)) || overlays.isWeb(this.host));
260
285
  }
261
286
  removeAllCapture() {
262
287
  this.value = [];
@@ -316,33 +341,19 @@ const YooFormCaptureComponent = class {
316
341
  }
317
342
  }
318
343
  async processMediaData(mediaData, index) {
319
- if (mediaData === null || mediaData === void 0 ? void 0 : mediaData.includes('?')) {
320
- mediaData = mediaData.substring(0, mediaData.indexOf('?'));
321
- }
322
- else if (mediaData && !overlays.isImageUrl(mediaData)) {
323
- mediaData = overlays.addFilePrefix(mediaData);
324
- if (!overlays.isAndroid() && ['cache', 'tmp'].includes(mediaData)) {
325
- try {
326
- mediaData = await overlays.moveToImageDirectory(mediaData, overlays.getSession().user ? overlays.getSession().user.disablePhotoOrientationAutoFix : false);
327
- }
328
- catch (err) {
329
- throw new Error(err);
330
- }
331
- }
332
- }
333
344
  try {
345
+ !overlays.isImageUrl(mediaData) && (mediaData = await processMediaPath(mediaData));
334
346
  if (this.shouldTagImage()) {
335
347
  const tag = await this.showPhotoTagDialog(mediaData);
336
348
  (tag === null || tag === void 0 ? void 0 : tag.data) && this.updateTagData(tag, index);
337
349
  }
338
- await this.setFieldValue(mediaData);
350
+ await this.setFieldValue(index, mediaData);
339
351
  this.clearPhotoEdit(index);
340
352
  this.saveGeoloc && this.captureGeoloc(index);
341
353
  }
342
354
  catch (err) {
343
355
  throw new Error(err);
344
356
  }
345
- return mediaData;
346
357
  }
347
358
  showPhotoTagDialog(imageSrc, value) {
348
359
  const imageTag = document.createElement('yoo-form-capture-tag-dialog');
@@ -404,7 +415,7 @@ const YooFormCaptureComponent = class {
404
415
  });
405
416
  }
406
417
  async capturePhoto(useLibrary, index) {
407
- var _a, _b, _c;
418
+ var _a, _b, _c, _d, _e;
408
419
  const quality = this.isImageRecognition ? 100 : 70;
409
420
  const sourceType = useLibrary ? cameraHelpers.PictureSourceType.PHOTOLIBRARY : cameraHelpers.PictureSourceType.CAMERA;
410
421
  const mediaType = this.type === 'video' ? cameraHelpers.MediaType.VIDEO : cameraHelpers.MediaType.PICTURE;
@@ -474,26 +485,22 @@ const YooFormCaptureComponent = class {
474
485
  if (!res && this.showImageLoader) {
475
486
  this.showImageLoader = false;
476
487
  }
488
+ const newIndex = index < 0 ? ((_e = (_d = this.value) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0) : index;
477
489
  const imagesData = Array.isArray(res) ? res : [res];
478
490
  const hasUnsplash = imagesData.some(d => overlays.isUnsplashUrl(d));
479
- const processImage = async (imageData, index) => {
480
- var _a;
491
+ const processImage = async (imageData, i) => {
481
492
  try {
482
- 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;
483
- if (!this.shouldTagImage()) {
484
- const shouldOpenCropper = !hasUnsplash && imagesData.length === 1 && this.allowCrop(imageData);
485
- const newIndex = Array.isArray(this.value) ? (_a = this.value) === null || _a === void 0 ? void 0 : _a.length : index;
486
- if (shouldOpenCropper) {
487
- extractedData = await this.onOpenCropper(imageData);
488
- }
489
- await this.processMediaData(extractedData, newIndex);
490
- }
493
+ 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);
494
+ const shouldOpenCropper = !hasUnsplash && imagesData.length === 1 && this.allowCrop(extractedData);
495
+ shouldOpenCropper && (extractedData = await this.onOpenCropper(imageData));
496
+ const updatingIndex = this.multiple ? newIndex + i : undefined;
497
+ await this.processMediaData(extractedData, updatingIndex);
491
498
  }
492
499
  catch (err) {
493
500
  this.showImageLoader = false;
494
501
  }
495
502
  };
496
- await Promise.all(imagesData.map((data, index) => processImage(data, index)));
503
+ await overlays.asyncWaterfall(imagesData.map((data, i) => processImage(data, i)));
497
504
  this.showImageLoader = false;
498
505
  }
499
506
  catch (err) {
@@ -501,30 +508,26 @@ const YooFormCaptureComponent = class {
501
508
  throw new Error(err);
502
509
  }
503
510
  }
504
- captureVideo(index) {
505
- const options = { limit: 1, duration: this.duration || 60, saveToPhotoAlbum: true };
506
- return cameraHelpers.getVideo(options).then((files) => {
507
- this.processMediaData(this.fixPathAndGetValue(files), index);
508
- });
511
+ async captureVideo(index) {
512
+ const files = await cameraHelpers.getVideo({ limit: 1, duration: this.duration || 60, saveToPhotoAlbum: true });
513
+ await Promise.all(files === null || files === void 0 ? void 0 : files.map(file => this.processMediaData(this.fixPathAndGetValue(file), index)));
509
514
  }
510
515
  async captureAudio(index) {
511
- if (overlays.isAndroid()) {
512
- const ret = await cameraHelpers.showAudioRecorder(this.host);
513
- if (ret && ret.data) {
514
- return this.processMediaData(ret.data, index);
516
+ try {
517
+ if (overlays.isAndroid()) {
518
+ const { data } = await cameraHelpers.showAudioRecorder(this.host);
519
+ this.processMediaData(data, index);
520
+ }
521
+ else {
522
+ const files = await cameraHelpers.MediaCapture.captureAudio({ limit: 1, duration: this.duration || 60 });
523
+ await Promise.all(files === null || files === void 0 ? void 0 : files.map(file => this.processMediaData(this.fixPathAndGetValue(file), index)));
515
524
  }
516
525
  }
517
- else {
518
- const options = { limit: 1, duration: this.duration || 60 };
519
- return cameraHelpers.MediaCapture.captureAudio(options)
520
- .then((files) => {
521
- this.processMediaData(this.fixPathAndGetValue(files), index);
522
- })
523
- .catch((err) => {
524
- if (err.code !== 3) {
525
- this.noAudio();
526
- }
527
- });
526
+ catch (err) {
527
+ if (err.code !== 3) {
528
+ overlays.showAlert(overlays.translate('AUDIO'), [overlays.translate('YOOBICOK')], overlays.translate('NOAUDIO'));
529
+ }
530
+ throw new Error(err);
528
531
  }
529
532
  }
530
533
  noAudio() {
@@ -552,39 +555,14 @@ const YooFormCaptureComponent = class {
552
555
  }
553
556
  }
554
557
  }
555
- fixPathAndGetValue(files) {
556
- if ((files === null || files === void 0 ? void 0 : files.length) > 0) {
557
- return overlays.addFilePrefix(files[0].fullPath);
558
- }
559
- return '';
558
+ fixPathAndGetValue(file) {
559
+ return overlays.addFilePrefix(file === null || file === void 0 ? void 0 : file.fullPath) || '';
560
560
  }
561
- captureFromWebcam(device, index) {
562
- let webcam = document.createElement('yoo-form-capture-webcam-dialog');
563
- webcam.device = device;
564
- overlays.showModal(webcam, null, !overlays.isWeb(this.host) ? '' : 'fullscreen', 'fadeEnterAnimation', 'fadeLeaveAnimation').then((ret) => {
565
- if (ret === null || ret === void 0 ? void 0 : ret.data) {
566
- if (this.shouldTagImage()) {
567
- this.showPhotoTagDialog(ret.data).then((tag) => {
568
- if (!overlays.isNullOrUndefined(tag === null || tag === void 0 ? void 0 : tag.data)) {
569
- this.updateTagData(tag, index);
570
- this.setFieldValue(ret.data);
571
- this.clearPhotoEdit(index);
572
- if (this.saveGeoloc) {
573
- this.captureGeoloc();
574
- }
575
- }
576
- });
577
- }
578
- else {
579
- this.setFieldValue(ret.data);
580
- this.clearPhotoEdit(index);
581
- if (this.saveGeoloc) {
582
- this.captureGeoloc();
583
- }
584
- }
585
- }
586
- webcam = null;
587
- });
561
+ async captureFromWebcam(device, index) {
562
+ var _a;
563
+ const mediaData = (_a = (await overlays.showModal(Object.assign(document.createElement('yoo-form-capture-webcam-dialog'), { device }), null, !overlays.isWeb(this.host) ? '' : 'fullscreen', 'fadeEnterAnimation', 'fadeLeaveAnimation'))) === null || _a === void 0 ? void 0 : _a.data;
564
+ // this.allowCrop(mediaData) && (mediaData = await this.onOpenCropper(mediaData));
565
+ mediaData && await this.processMediaData(mediaData, index);
588
566
  }
589
567
  captureFromDisk(index) {
590
568
  const targetElement = index && index < 0 ? this.getAddFileInput() : this.getTargetElement(index);
@@ -676,7 +654,7 @@ const YooFormCaptureComponent = class {
676
654
  }
677
655
  else {
678
656
  if (this.multiple && (newImages === null || newImages === void 0 ? void 0 : newImages.length) > 0) {
679
- this.setFieldValue(newImages);
657
+ this.setFieldValue(index, newImages);
680
658
  }
681
659
  else if (newImages === null || newImages === void 0 ? void 0 : newImages.length) {
682
660
  this.value = newImages[0];
@@ -739,24 +717,24 @@ const YooFormCaptureComponent = class {
739
717
  const tag = await this.showPhotoTagDialog(data);
740
718
  if (!overlays.isNullOrUndefined(tag === null || tag === void 0 ? void 0 : tag.data)) {
741
719
  this.updateTagData(tag, index);
742
- this.setFieldValue(data);
720
+ this.setFieldValue(index, data);
743
721
  this.clearPhotoEdit(index);
744
722
  }
745
723
  }
746
724
  else {
747
- this.setFieldValue(data);
725
+ this.setFieldValue(index, data);
748
726
  this.clearPhotoEdit(index);
749
727
  }
750
728
  }
751
729
  else {
752
- this.setFieldValue(f);
730
+ this.setFieldValue(index, f);
753
731
  this.clearPhotoEdit(index);
754
732
  }
755
733
  targetElement.value = null;
756
734
  }
757
735
  async onOpenCropper(file) {
758
736
  var _a;
759
- return (_a = (await commonHelpers.showImageCropper(this.host, { file, upload: true, maintainQuality: true, ...this.cropperOptions || {} }))) === null || _a === void 0 ? void 0 : _a.data;
737
+ return (_a = (await commonHelpers.showImageCropper(this.host, { file, maintainQuality: true, ...this.cropperOptions || {} }))) === null || _a === void 0 ? void 0 : _a.data;
760
738
  }
761
739
  clearPhotoEdit(index) {
762
740
  var _a, _b;
@@ -1576,7 +1554,8 @@ const YooFormCaptureComponent = class {
1576
1554
  }
1577
1555
  }
1578
1556
  shouldTagImage() {
1579
- return this.tags && this.tags.length > 0;
1557
+ var _a;
1558
+ return ((_a = this.tags) === null || _a === void 0 ? void 0 : _a.length) > 0;
1580
1559
  }
1581
1560
  onCancelImageReco() {
1582
1561
  overlays.showAlert('', [overlays.translate('YOOBICNO'), overlays.translate('YOOBICYES')], overlays.translate('STOPIMAGERECO')).then((res) => {
@@ -171,7 +171,7 @@ const YooFormDateTimeComponent = class {
171
171
  if (!this.value) {
172
172
  const value = new Date();
173
173
  const oldMinutes = value.getMinutes();
174
- const newMinutes = overlays.getRoundedMinutes(value, this.timeStep);
174
+ const newMinutes = +overlays.getRoundedMinutes(value, this.timeStep);
175
175
  value.setMinutes(+newMinutes, 0, 0);
176
176
  if (newMinutes === 0 && oldMinutes !== newMinutes) {
177
177
  value.setHours(value.getHours() + 1);
@@ -495,7 +495,7 @@ const YooFormDynamicComponent = class {
495
495
  const videoValue = fieldData.value;
496
496
  const videoElement = el;
497
497
  if (videoValue) {
498
- videoElement.setFieldValue(videoValue);
498
+ videoElement.setFieldValue(undefined, videoValue);
499
499
  }
500
500
  break;
501
501
  }
@@ -590,11 +590,11 @@ const YooGridCalendarComponent = class {
590
590
  var _a, _b;
591
591
  return (index.h("div", { class: { 'left-container': overlays.isWeb(this.host), hidden: !overlays.isWeb(this.host) && !this.showMobileCalendar } }, (overlays.isWeb(this.host)) && (index.h("yoo-calendar", { class: { 'no-border': true, 'no-margin-top': !overlays.isWeb(this.host) }, isDatePicker: true, size: "small", markers: this.markers, displayMode: "month", onDateChanged: (ev) => this.onLeftCalendarDateChanged(ev) })), overlays.isWeb(this.host) && ((_a = this.types) === null || _a === void 0 ? void 0 : _a.length) > 0 && !this.hideFilters && index.h("div", { class: "types" }, index.h("yoo-collapsible", { class: "bold", collapsed: false, header: overlays.translate('YOOBICTYPE') }, this.types.map((t) => {
592
592
  var _a;
593
- return index.h("yoo-form-checkbox", { class: overlays.getEventTypeColor(t), iconColor: overlays.getEventTypeColor(t), onClick: () => this.onToggleType(t), value: !(((_a = this.hiddenTypes) === null || _a === void 0 ? void 0 : _a.indexOf(t)) > 0), header: overlays.translate(index$1.CALENDAR_TRANSLATIONS[t]) });
593
+ return index.h("yoo-form-checkbox", { animated: this.animated, class: overlays.getEventTypeColor(t), iconColor: overlays.getEventTypeColor(t), onClick: () => this.onToggleType(t), value: !(((_a = this.hiddenTypes) === null || _a === void 0 ? void 0 : _a.indexOf(t)) > 0), header: overlays.translate(index$1.CALENDAR_TRANSLATIONS[t]) });
594
594
  })), index.h("slot", { name: "filters" }), ((_b = this.eventStatuses) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
595
595
  index.h("yoo-collapsible", { class: "bold margin-top", collapsed: false, header: overlays.translate('EVENTATTENDANCE') }, this.eventStatuses.map((t) => {
596
596
  var _a;
597
- return index.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: overlays.translate(index$1.ATTENDANCE_TRANSLATIONS[t]) });
597
+ return index.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: overlays.translate(index$1.ATTENDANCE_TRANSLATIONS[t]) });
598
598
  })), index.h("slot", { name: "more-filters" }))));
599
599
  }
600
600
  renderHeader(calendar, type) {