@yoobic/yobi 8.6.35 → 8.6.36

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 (43) hide show
  1. package/dist/cjs/{grid-renderers-bdf3d9df.js → grid-renderers-48827440.js} +4 -3
  2. package/dist/cjs/yoo-ag-grid.cjs.entry.js +1 -1
  3. package/dist/cjs/yoo-chat.cjs.entry.js +3 -2
  4. package/dist/cjs/yoo-form-catalog.cjs.entry.js +11 -2
  5. package/dist/cjs/yoo-form-connect.cjs.entry.js +47 -48
  6. package/dist/cjs/yoo-form-input.cjs.entry.js +1 -1
  7. package/dist/cjs/yoo-form-multi-input.cjs.entry.js +2 -2
  8. package/dist/cjs/yoo-form-scorm.cjs.entry.js +1 -1
  9. package/dist/cjs/yoo-grid.cjs.entry.js +2 -1
  10. package/dist/cjs/yoo-pivot-table.cjs.entry.js +1 -1
  11. package/dist/collection/components/form/form-catalog/form-catalog.js +11 -2
  12. package/dist/collection/components/form/form-connect/form-connect.css +15 -14
  13. package/dist/collection/components/form/form-connect/form-connect.js +46 -47
  14. package/dist/collection/components/form/form-multi-input/form-multi-input.js +2 -2
  15. package/dist/collection/components/form/form-scorm/form-scorm.js +2 -2
  16. package/dist/collection/components/grid/ag-grid/grid-renderers.js +4 -3
  17. package/dist/collection/components/grid/grid/grid.js +1 -0
  18. package/dist/collection/feature-communicate/chat/chat/chat.js +3 -2
  19. package/dist/design-system/{grid-renderers-649f8b12.js → grid-renderers-4dd1c6d7.js} +4 -3
  20. package/dist/design-system/yoo-ag-grid.entry.js +1 -1
  21. package/dist/design-system/yoo-chat.entry.js +3 -2
  22. package/dist/design-system/yoo-form-catalog.entry.js +11 -2
  23. package/dist/design-system/yoo-form-connect.entry.js +47 -48
  24. package/dist/design-system/yoo-form-input.entry.js +1 -1
  25. package/dist/design-system/yoo-form-multi-input.entry.js +2 -2
  26. package/dist/design-system/yoo-form-scorm.entry.js +2 -2
  27. package/dist/design-system/yoo-grid.entry.js +2 -1
  28. package/dist/design-system/yoo-pivot-table.entry.js +1 -1
  29. package/dist/esm/{grid-renderers-649f8b12.js → grid-renderers-4dd1c6d7.js} +4 -3
  30. package/dist/esm/yoo-ag-grid.entry.js +1 -1
  31. package/dist/esm/yoo-chat.entry.js +3 -2
  32. package/dist/esm/yoo-form-catalog.entry.js +11 -2
  33. package/dist/esm/yoo-form-connect.entry.js +47 -48
  34. package/dist/esm/yoo-form-input.entry.js +1 -1
  35. package/dist/esm/yoo-form-multi-input.entry.js +2 -2
  36. package/dist/esm/yoo-form-scorm.entry.js +2 -2
  37. package/dist/esm/yoo-grid.entry.js +2 -1
  38. package/dist/esm/yoo-pivot-table.entry.js +1 -1
  39. package/dist/types/components/form/form-connect/form-connect.d.ts +1 -2
  40. package/dist/types/components/form/form-connect/form-connect.interfaces.d.ts +1 -4
  41. package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/communicate/broadcast/broadcast.interface.d.ts +1 -0
  42. package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/ui/chat/chat.interface.d.ts +1 -0
  43. package/package.json +1 -1
@@ -1343,6 +1343,7 @@ function incentiveRankingRenderer(params) {
1343
1343
  function courseStatusRenderer(params) {
1344
1344
  var _a, _b;
1345
1345
  const status = lodash.isString(params.value) ? params.value : (_a = params.value) === null || _a === void 0 ? void 0 : _a.tag;
1346
+ const finishedDate = (_b = params === null || params === void 0 ? void 0 : params.data) === null || _b === void 0 ? void 0 : _b.finishedDate;
1346
1347
  const _STATUS = {
1347
1348
  '-': {
1348
1349
  color: 'stable',
@@ -1354,7 +1355,7 @@ function courseStatusRenderer(params) {
1354
1355
  },
1355
1356
  completed: {
1356
1357
  color: 'success-20',
1357
- content: `<yoo-icon size="small" slot="start" name="check"></yoo-icon>${index.translate('COMPLETEDON')} ${index.dateFormat((_b = params === null || params === void 0 ? void 0 : params.data) === null || _b === void 0 ? void 0 : _b.finishedDate, index.translate('FORMATDATE'))}`
1358
+ content: `<yoo-icon size="small" slot="start" name="check"></yoo-icon>${index.translate(finishedDate ? 'COMPLETEDON' : 'COMPLETED')} ${finishedDate ? index.dateFormat(finishedDate, index.translate('FORMATDATE')) : ''}`
1358
1359
  },
1359
1360
  notstarted: {
1360
1361
  color: 'danger-20',
@@ -1816,8 +1817,8 @@ class CustomLoadingCellRenderer {
1816
1817
  init(params) {
1817
1818
  this.eGui = document.createElement('div');
1818
1819
  this.eGui.innerHTML = `
1819
- <div class="ag-custom-loading-cell" style="padding-left: 10px; line-height: 25px;">
1820
- <i class="fas fa-spinner fa-pulse"></i>
1820
+ <div class="ag-custom-loading-cell" style="padding-left: 10px; line-height: 25px;">
1821
+ <i class="fas fa-spinner fa-pulse"></i>
1821
1822
  <span>${params.loadingMessage} </span>
1822
1823
  </div>
1823
1824
  `;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index$1 = require('./index-91f073fd.js');
6
6
  const lodash = require('./lodash-1f7fff24.js');
7
7
  const commonHelpers = require('./common-helpers-907b7aa0.js');
8
- const gridRenderers = require('./grid-renderers-bdf3d9df.js');
8
+ const gridRenderers = require('./grid-renderers-48827440.js');
9
9
  const index = require('./index-0dc9b21d.js');
10
10
  require('./index-c09665da.js');
11
11
  require('./incentive-helpers-62a363bb.js');
@@ -576,7 +576,7 @@ const YooChatComponent = class {
576
576
  ], this.broadcastParams.finished && this.broadcastParams.shareOptions && this.renderShareOptions(this.broadcastParams.shareOptions), !this.broadcastParams.isLive && !this.broadcastParams.finished && this.broadcastParams.footerAction && button_factory.getButton(this.broadcastParams.footerAction)));
577
577
  }
578
578
  renderVideo() {
579
- var _a;
579
+ var _a, _b;
580
580
  const notCordova = !index$1.isNativeMobile() && this.broadcastParams.isLive;
581
581
  if (!((_a = this.broadcastParams) === null || _a === void 0 ? void 0 : _a.videoSrc) && !notCordova) {
582
582
  return;
@@ -592,7 +592,8 @@ const YooChatComponent = class {
592
592
  extraClass: 'fullscreen'
593
593
  },
594
594
  preventVcAuto: true,
595
- preventAutoPauseOnBlur: true
595
+ preventAutoPauseOnBlur: true,
596
+ type: (((_b = this.broadcastParams) === null || _b === void 0 ? void 0 : _b.useHTML5) ? 'html5' : 'videojs')
596
597
  };
597
598
  return (index.h("div", { ref: (el) => (this.videoElWrapper = el), class: {
598
599
  'video-outer-container': true,
@@ -198,9 +198,14 @@ const YooFormCatalogComponent = class {
198
198
  else {
199
199
  value[product._id] = quantity > 0 ? quantity : 0;
200
200
  }
201
- if (this.products && !this.products.find((p) => p._id === product._id)) {
201
+ this.products = this.products || [];
202
+ const index = this.products.findIndex((p) => p._id === product._id);
203
+ if (index < 0) {
202
204
  this.products.push(product);
203
205
  }
206
+ else {
207
+ this.products[index] = product;
208
+ }
204
209
  this.setValue(value);
205
210
  }
206
211
  addProduct(product) {
@@ -218,9 +223,13 @@ const YooFormCatalogComponent = class {
218
223
  value[product._id] = product.step || 1;
219
224
  }
220
225
  this.products = this.products || [];
221
- if (this.products && !this.products.find((p) => p._id === product._id)) {
226
+ const index = this.products.findIndex((p) => p._id === product._id);
227
+ if (index < 0) {
222
228
  this.products.push(product);
223
229
  }
230
+ else {
231
+ this.products[index] = product;
232
+ }
224
233
  this.setValue(value);
225
234
  }
226
235
  clearProduct(product) {
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-91f073fd.js');
6
6
  const index$1 = require('./index-0dc9b21d.js');
7
+ const index$2 = require('./index-c1061eaf.js');
7
8
  const draggableTagsHelpers = require('./draggable-tags-helpers-f479c293.js');
8
9
  const formInputHelpers = require('./form-input-helpers-c26411fc.js');
9
10
  const lodash = require('./lodash-1f7fff24.js');
@@ -13,7 +14,7 @@ require('./common-helpers-907b7aa0.js');
13
14
 
14
15
  const CONNECT_TYPES = ['draggable', 'connectable'];
15
16
 
16
- const formConnectCss = "svg:not(:root){overflow:hidden}.bg-accent{background-color:var(--accent, #276ef1) !important}.accent{color:var(--accent, #276ef1);fill:var(--accent, #276ef1)}.border-accent{border:var(--border-width-02, 0.125rem) solid var(--accent, #276ef1)}.bg-app-color{background-color:var(--app-color, #5a30f4) !important}.app-color{color:var(--app-color, #5a30f4);fill:var(--app-color, #5a30f4)}.border-app-color{border:var(--border-width-02, 0.125rem) solid var(--app-color, #5a30f4)}.bg-danger{background-color:var(--danger, #d44333) !important}.danger{color:var(--danger, #d44333);fill:var(--danger, #d44333)}.border-danger{border:var(--border-width-02, 0.125rem) solid var(--danger, #d44333)}.bg-dark{background-color:var(--dark, #000000) !important}.dark{color:var(--dark, #000000);fill:var(--dark, #000000)}.border-dark{border:var(--border-width-02, 0.125rem) solid var(--dark, #000000)}.bg-energized{background-color:var(--energized, #ffc043) !important}.energized{color:var(--energized, #ffc043);fill:var(--energized, #ffc043)}.border-energized{border:var(--border-width-02, 0.125rem) solid var(--energized, #ffc043)}.bg-info{background-color:var(--info, #d84c96) !important}.info{color:var(--info, #d84c96);fill:var(--info, #d84c96)}.border-info{border:var(--border-width-02, 0.125rem) solid var(--info, #d84c96)}.bg-light{background-color:var(--light, #ffffff) !important}.light{color:var(--light, #ffffff);fill:var(--light, #ffffff)}.border-light{border:var(--border-width-02, 0.125rem) solid var(--light, #ffffff)}.bg-stable{background-color:var(--stable, #adadad) !important}.stable{color:var(--stable, #adadad);fill:var(--stable, #adadad)}.border-stable{border:var(--border-width-02, 0.125rem) solid var(--stable, #adadad)}.bg-stable-alt{background-color:var(--stable-alt, #d0d0d0) !important}.stable-alt{color:var(--stable-alt, #d0d0d0);fill:var(--stable-alt, #d0d0d0)}.border-stable-alt{border:var(--border-width-02, 0.125rem) solid var(--stable-alt, #d0d0d0)}.bg-stable-light{background-color:var(--stable-light, #f1f1f1) !important}.stable-light{color:var(--stable-light, #f1f1f1);fill:var(--stable-light, #f1f1f1)}.border-stable-light{border:var(--border-width-02, 0.125rem) solid var(--stable-light, #f1f1f1)}.bg-stable-ultralight{background-color:var(--stable-ultralight, #fafafa) !important}.stable-ultralight{color:var(--stable-ultralight, #fafafa);fill:var(--stable-ultralight, #fafafa)}.border-stable-ultralight{border:var(--border-width-02, 0.125rem) solid var(--stable-ultralight, #fafafa)}.bg-success{background-color:var(--success, #3aa76d) !important}.success{color:var(--success, #3aa76d);fill:var(--success, #3aa76d)}.border-success{border:var(--border-width-02, 0.125rem) solid var(--success, #3aa76d)}.bg-text-color{background-color:var(--text-color, #807f83) !important}.text-color{color:var(--text-color, #807f83);fill:var(--text-color, #807f83)}.border-text-color{border:var(--border-width-02, 0.125rem) solid var(--text-color, #807f83)}.bg-warning{background-color:var(--warning, #ed6e33) !important}.warning{color:var(--warning, #ed6e33);fill:var(--warning, #ed6e33)}.border-warning{border:var(--border-width-02, 0.125rem) solid var(--warning, #ed6e33)}.bg-wood{background-color:var(--wood, #99644c) !important}.wood{color:var(--wood, #99644c);fill:var(--wood, #99644c)}.border-wood{border:var(--border-width-02, 0.125rem) solid var(--wood, #99644c)}:host{display:block;width:100%;max-width:30rem}:host yoo-banner{height:0}:host yoo-banner p{padding:0}:host yoo-icon{position:absolute;top:var(--spacing-08, 0.5rem);right:var(--spacing-08, 0.5rem);background:var(--light, #ffffff);border-radius:50%}:host yoo-img{border-radius:inherit}:host main,:host #draggables,:host #connectables{display:grid;grid-gap:var(--spacing-08, 0.5rem)}:host #draggables,:host #connectables{position:relative;height:-webkit-max-content;height:-moz-max-content;height:max-content;padding:var(--spacing-08, 0.5rem) 0}:host main{grid-template-rows:repeat(auto-fit, 75%);grid-template-columns:1fr 1fr;padding:0 var(--spacing-08, 0.5rem);word-break:break-word;background-color:var(--stable-alt-20, rgba(208, 208, 208, 0.2));border-radius:var(--border-radius-04, 0.25rem);-webkit-transition:height 750ms ease-in-out;transition:height 750ms ease-in-out}:host main[style*=height]{overflow:hidden auto}:host main.overflowing{overflow:hidden auto}:host main.overflowing::-webkit-scrollbar{width:var(--spacing-08, 0.5rem)}:host main.overflowing::-webkit-scrollbar-track{border-radius:var(--border-radius-04, 0.25rem);-webkit-box-shadow:inset 0 0 5px var(--stable, #adadad);box-shadow:inset 0 0 5px var(--stable, #adadad)}:host main.overflowing::-webkit-scrollbar-thumb{background:var(--app-color, #5a30f4);border-radius:var(--border-radius-04, 0.25rem)}:host .connectable,:host .draggable{position:relative;width:100%;max-width:15rem;height:100%;background-color:var(--light, #ffffff);border-radius:var(--border-radius-08, 0.5rem);-webkit-box-shadow:var(--shadow-02, 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1));box-shadow:var(--shadow-02, 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1));cursor:pointer;-webkit-transition:background-color 0.25s ease-in-out, color 0.25s ease-in-out;transition:background-color 0.25s ease-in-out, color 0.25s ease-in-out}:host .connectable:before,:host .draggable:before{display:block;width:0;height:0;padding-bottom:75%;content:\"\"}:host .connectable[type=image],:host .draggable[type=image]{padding:0}:host .connectable[type=image]:not([hit]),:host .draggable[type=image]:not([hit]){background-color:transparent}:host .connectable[type=image][hit] yoo-img,:host .draggable[type=image][hit] yoo-img{opacity:0.6;-webkit-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out}:host .connectable[type=image]>*:not(yoo-icon),:host .draggable[type=image]>*:not(yoo-icon){top:0;left:0;width:100%;height:100%}:host .connectable[type=text][hit],:host .draggable[type=text][hit]{background-color:var(--stable-light, #f1f1f1)}:host .connectable[type=text] p,:host .draggable[type=text] p{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;max-height:calc(100% - var(--spacing-16, 1rem));margin:0;padding:var(--spacing-16, 1rem);overflow:hidden;font-size:var(--font-size-14, 0.875rem);text-align:center}:host .connectable[type=text]>*:not(yoo-icon),:host .draggable[type=text]>*:not(yoo-icon){position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host .connectable>*:not(yoo-icon),:host .draggable>*:not(yoo-icon){position:absolute}:host #overlay{background-color:inherit;border-radius:inherit;opacity:0.6}";
17
+ const formConnectCss = "svg:not(:root){overflow:hidden}.bg-accent{background-color:var(--accent, #276ef1) !important}.accent{color:var(--accent, #276ef1);fill:var(--accent, #276ef1)}.border-accent{border:var(--border-width-02, 0.125rem) solid var(--accent, #276ef1)}.bg-app-color{background-color:var(--app-color, #5a30f4) !important}.app-color{color:var(--app-color, #5a30f4);fill:var(--app-color, #5a30f4)}.border-app-color{border:var(--border-width-02, 0.125rem) solid var(--app-color, #5a30f4)}.bg-danger{background-color:var(--danger, #d44333) !important}.danger{color:var(--danger, #d44333);fill:var(--danger, #d44333)}.border-danger{border:var(--border-width-02, 0.125rem) solid var(--danger, #d44333)}.bg-dark{background-color:var(--dark, #000000) !important}.dark{color:var(--dark, #000000);fill:var(--dark, #000000)}.border-dark{border:var(--border-width-02, 0.125rem) solid var(--dark, #000000)}.bg-energized{background-color:var(--energized, #ffc043) !important}.energized{color:var(--energized, #ffc043);fill:var(--energized, #ffc043)}.border-energized{border:var(--border-width-02, 0.125rem) solid var(--energized, #ffc043)}.bg-info{background-color:var(--info, #d84c96) !important}.info{color:var(--info, #d84c96);fill:var(--info, #d84c96)}.border-info{border:var(--border-width-02, 0.125rem) solid var(--info, #d84c96)}.bg-light{background-color:var(--light, #ffffff) !important}.light{color:var(--light, #ffffff);fill:var(--light, #ffffff)}.border-light{border:var(--border-width-02, 0.125rem) solid var(--light, #ffffff)}.bg-stable{background-color:var(--stable, #adadad) !important}.stable{color:var(--stable, #adadad);fill:var(--stable, #adadad)}.border-stable{border:var(--border-width-02, 0.125rem) solid var(--stable, #adadad)}.bg-stable-alt{background-color:var(--stable-alt, #d0d0d0) !important}.stable-alt{color:var(--stable-alt, #d0d0d0);fill:var(--stable-alt, #d0d0d0)}.border-stable-alt{border:var(--border-width-02, 0.125rem) solid var(--stable-alt, #d0d0d0)}.bg-stable-light{background-color:var(--stable-light, #f1f1f1) !important}.stable-light{color:var(--stable-light, #f1f1f1);fill:var(--stable-light, #f1f1f1)}.border-stable-light{border:var(--border-width-02, 0.125rem) solid var(--stable-light, #f1f1f1)}.bg-stable-ultralight{background-color:var(--stable-ultralight, #fafafa) !important}.stable-ultralight{color:var(--stable-ultralight, #fafafa);fill:var(--stable-ultralight, #fafafa)}.border-stable-ultralight{border:var(--border-width-02, 0.125rem) solid var(--stable-ultralight, #fafafa)}.bg-success{background-color:var(--success, #3aa76d) !important}.success{color:var(--success, #3aa76d);fill:var(--success, #3aa76d)}.border-success{border:var(--border-width-02, 0.125rem) solid var(--success, #3aa76d)}.bg-text-color{background-color:var(--text-color, #807f83) !important}.text-color{color:var(--text-color, #807f83);fill:var(--text-color, #807f83)}.border-text-color{border:var(--border-width-02, 0.125rem) solid var(--text-color, #807f83)}.bg-warning{background-color:var(--warning, #ed6e33) !important}.warning{color:var(--warning, #ed6e33);fill:var(--warning, #ed6e33)}.border-warning{border:var(--border-width-02, 0.125rem) solid var(--warning, #ed6e33)}.bg-wood{background-color:var(--wood, #99644c) !important}.wood{color:var(--wood, #99644c);fill:var(--wood, #99644c)}.border-wood{border:var(--border-width-02, 0.125rem) solid var(--wood, #99644c)}:host{display:block;width:100%;max-width:30rem}:host yoo-banner{height:0}:host yoo-banner p{padding:0}:host yoo-icon{position:absolute;top:var(--spacing-08, 0.5rem);right:var(--spacing-08, 0.5rem);background:var(--light, #ffffff);border-radius:50%}:host yoo-img{border-radius:inherit}:host #draggables,:host #connectables{position:relative;width:calc(50% - var(--spacing-08, 0.5rem));height:-webkit-max-content;height:-moz-max-content;height:max-content}:host main{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;padding-top:var(--spacing-08, 0.5rem);word-break:break-word;background-color:var(--stable-alt-20, rgba(208, 208, 208, 0.2));border-radius:var(--border-radius-04, 0.25rem);-webkit-transition:height 750ms ease-in-out;transition:height 750ms ease-in-out}:host main:first-of-type{padding-left:var(--spacing-08, 0.5rem)}:host main:last-of-type{padding-right:var(--spacing-08, 0.5rem)}:host main[style*=height]{overflow:hidden auto}:host main.overflowing{overflow:hidden auto}:host main.overflowing::-webkit-scrollbar{width:var(--spacing-08, 0.5rem)}:host main.overflowing::-webkit-scrollbar-track{border-radius:var(--border-radius-04, 0.25rem);-webkit-box-shadow:inset 0 0 5px var(--stable, #adadad);box-shadow:inset 0 0 5px var(--stable, #adadad)}:host main.overflowing::-webkit-scrollbar-thumb{background:var(--app-color, #5a30f4);border-radius:var(--border-radius-04, 0.25rem)}:host [type],:host .overlay{-webkit-transition:background-color 0.25s ease-in-out, color 0.25s ease-in-out;transition:background-color 0.25s ease-in-out, color 0.25s ease-in-out}:host .connectable,:host .draggable{position:relative;max-width:15rem;margin-bottom:var(--spacing-08, 0.5rem);background-color:var(--light, #ffffff);border-radius:var(--border-radius-08, 0.5rem);-webkit-box-shadow:var(--shadow-02, 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1));box-shadow:var(--shadow-02, 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1));cursor:pointer}:host .connectable:before,:host .draggable:before{display:block;width:0;height:0;padding-bottom:75%;content:\"\"}:host .connectable[type=image],:host .draggable[type=image]{padding:0}:host .connectable[type=image]:not([hit]),:host .draggable[type=image]:not([hit]){background-color:transparent}:host .connectable[type=image][hit] yoo-img,:host .draggable[type=image][hit] yoo-img{opacity:0.6;-webkit-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out}:host .connectable[type=image]>*:not(yoo-icon),:host .draggable[type=image]>*:not(yoo-icon){top:0;left:0;width:100%;height:100%}:host .connectable[type=text][hit],:host .draggable[type=text][hit]{background-color:var(--stable-light, #f1f1f1)}:host .connectable[type=text] p,:host .draggable[type=text] p{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;max-height:calc(100% - var(--spacing-16, 1rem));margin:0;padding:var(--spacing-16, 1rem);overflow:hidden;font-size:var(--font-size-14, 0.875rem);text-align:center}:host .connectable[type=text]>*:not(yoo-icon),:host .draggable[type=text]>*:not(yoo-icon){position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host .connectable>*:not(yoo-icon),:host .draggable>*:not(yoo-icon){position:absolute}:host .overlay{background-color:inherit;border-radius:inherit;opacity:0.6}";
17
18
 
18
19
  const DEFAULT_TILES_COLORS = ['warning', 'accent', 'app-color', 'info', 'energized'];
19
20
  const YooFormConnectComponent = class {
@@ -59,10 +60,6 @@ const YooFormConnectComponent = class {
59
60
  var _a, _b, _c, _d, _e, _f;
60
61
  return ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) && ((_c = (_b = this.values[0]) === null || _b === void 0 ? void 0 : _b.filter(v => v)) === null || _c === void 0 ? void 0 : _c.length) === ((_f = (_e = (_d = this.values) === null || _d === void 0 ? void 0 : _d[1]) === null || _e === void 0 ? void 0 : _e.filter(v => v)) === null || _f === void 0 ? void 0 : _f.length);
61
62
  }
62
- get columnElements() {
63
- var _a;
64
- return Array.from(((_a = this.mainElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll('section')) || []);
65
- }
66
63
  get draggableElements() {
67
64
  var _a;
68
65
  return Array.from(((_a = this.mainElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.draggable')) || []);
@@ -132,14 +129,6 @@ const YooFormConnectComponent = class {
132
129
  }
133
130
  });
134
131
  this.getUserAnswers();
135
- this.validate();
136
- }
137
- if (key === 'hit') {
138
- this.draggables.map(dr => {
139
- if ((dr.id !== draggable.id)) {
140
- delete dr.hit;
141
- }
142
- });
143
132
  }
144
133
  return true;
145
134
  }
@@ -180,11 +169,26 @@ const YooFormConnectComponent = class {
180
169
  const currentDraggable = draggableElement && ((_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find(({ id }) => id === draggableElement.id));
181
170
  if (currentDraggable) {
182
171
  let tempConnectableElement;
183
- const onPressTile = () => {
184
- if (!draggableElement.style.width) {
185
- this.columnElements.forEach(e => (e === null || e === void 0 ? void 0 : e.clientWidth) && (e.style.width = `${e.clientWidth}px`));
186
- draggableElement.style.width = `${draggableElement.clientWidth}px`;
187
- }
172
+ const onClickTile = () => {
173
+ this.draggables.forEach(draggable => {
174
+ const selectedDraggable = draggable.id === currentDraggable.id && draggable;
175
+ draggable.selected = selectedDraggable && !currentDraggable.selected;
176
+ if (selectedDraggable.connectableId) {
177
+ draggable.selected = false;
178
+ delete draggable.connectableId;
179
+ }
180
+ else {
181
+ this.getUserAnswers();
182
+ }
183
+ });
184
+ };
185
+ const onPressTile = (scope) => {
186
+ index$2.updateBounds({
187
+ dragHandler: draggableElement,
188
+ dragHandlerZone: draggableElement.parentElement,
189
+ draggable: scope,
190
+ host: this.host
191
+ });
188
192
  };
189
193
  const onDragStartTile = () => {
190
194
  draggableElement.removeAttribute('hit');
@@ -192,17 +196,20 @@ const YooFormConnectComponent = class {
192
196
  };
193
197
  const onDragTile = () => {
194
198
  var _a, _b;
195
- const overlapThreshold = '65%';
199
+ const overlapThreshold = '45%';
196
200
  const { x, width } = draggableElement.getBoundingClientRect();
197
201
  const connectableThreshold = this.mainElement.querySelector('#connectables').getBoundingClientRect().x;
198
202
  const isInConnectableArea = x + width >= connectableThreshold;
199
203
  if (isInConnectableArea) {
200
- this.connectableElements.forEach(e => {
204
+ this.connectableElements.forEach(element => {
201
205
  var _a, _b;
202
- if (((_b = (_a = currentDraggable === null || currentDraggable === void 0 ? void 0 : currentDraggable.draggableInstance) === null || _a === void 0 ? void 0 : _a.hitTest) === null || _b === void 0 ? void 0 : _b.call(_a, e, overlapThreshold)) && e.id !== currentDraggable.connectableId) {
203
- tempConnectableElement = e;
206
+ if (((_b = (_a = currentDraggable === null || currentDraggable === void 0 ? void 0 : currentDraggable.draggableInstance) === null || _a === void 0 ? void 0 : _a.hitTest) === null || _b === void 0 ? void 0 : _b.call(_a, element, overlapThreshold)) && element.id !== currentDraggable.connectableId) {
207
+ tempConnectableElement = element;
204
208
  tempConnectableElement.setAttribute('hit', 'true');
205
209
  }
210
+ else {
211
+ element.removeAttribute('hit');
212
+ }
206
213
  });
207
214
  }
208
215
  if (tempConnectableElement && !currentDraggable.draggableInstance.hitTest(tempConnectableElement, overlapThreshold)) {
@@ -214,7 +221,6 @@ const YooFormConnectComponent = class {
214
221
  color: index$1.getContrastColor(connectableColor)
215
222
  });
216
223
  }
217
- tempConnectableElement.removeAttribute('hit');
218
224
  tempConnectableElement = null;
219
225
  }
220
226
  };
@@ -222,9 +228,10 @@ const YooFormConnectComponent = class {
222
228
  await index$1.gsapTo(draggableElement, this.animated ? 0.25 : 0, { x: 0, y: 0 });
223
229
  draggableElement.style.removeProperty('z-index');
224
230
  if (tempConnectableElement) {
231
+ currentDraggable.selected = false;
225
232
  currentDraggable.connectableId = tempConnectableElement.id;
226
- [...this.connectableElements, ...this.draggableElements].forEach(e => e.removeAttribute('hit'));
227
233
  this.autoCompleteLastConnection();
234
+ tempConnectableElement.removeAttribute('hit');
228
235
  }
229
236
  tempConnectableElement = null;
230
237
  };
@@ -232,8 +239,8 @@ const YooFormConnectComponent = class {
232
239
  currentDraggable.draggableInstance = new index$1.Draggable(draggableElement, {
233
240
  zIndexBoost: false,
234
241
  autoScroll: 1,
235
- bound: this.mainElement,
236
- onPress: () => onPressTile,
242
+ onClick: onClickTile,
243
+ onPress() { onPressTile(this); },
237
244
  onDragStart: onDragStartTile,
238
245
  onDrag: onDragTile,
239
246
  onRelease: onReleaseTile
@@ -250,7 +257,7 @@ const YooFormConnectComponent = class {
250
257
  var _a, _b;
251
258
  const freeDraggables = this.draggables.filter(d => !d.connectableId);
252
259
  if ((freeDraggables === null || freeDraggables === void 0 ? void 0 : freeDraggables.length) === 1 && ((_a = this.draggables) === null || _a === void 0 ? void 0 : _a.length) > 1) {
253
- const lastDraggable = freeDraggables[0];
260
+ const [lastDraggable] = freeDraggables;
254
261
  const lastConectableId = (_b = lodash.difference(this.connectables.map(({ id }) => id), this.draggables.map(({ connectableId }) => connectableId))) === null || _b === void 0 ? void 0 : _b[0];
255
262
  lastDraggable.connectableId = lastConectableId;
256
263
  }
@@ -264,33 +271,25 @@ const YooFormConnectComponent = class {
264
271
  var _a;
265
272
  const tileType = `${name}s`;
266
273
  const onConnectableClick = (connectable) => {
267
- const hitDraggable = this.draggables.find(d => { var _a; return (_a = d.hit) === null || _a === void 0 ? void 0 : _a.value; });
268
- if (hitDraggable && connectable) {
269
- hitDraggable.connectableId = connectable.id;
270
- this.autoCompleteLastConnection();
271
- }
272
- };
273
- const onDraggableClick = (draggable) => {
274
- var _a, _b;
275
- const currentDraggable = (_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find(({ id }) => id === draggable.id);
276
- currentDraggable.hit = { value: !((_b = currentDraggable.hit) === null || _b === void 0 ? void 0 : _b.value) && !currentDraggable.connectableId };
277
- delete currentDraggable.connectableId;
278
- this.getUserAnswers();
279
- this.validate();
274
+ this.draggables.forEach(draggable => {
275
+ const selectedDraggable = draggable.selected && draggable;
276
+ if (selectedDraggable && connectable) {
277
+ draggable.selected = false;
278
+ draggable.connectableId = connectable.id;
279
+ this.autoCompleteLastConnection();
280
+ }
281
+ });
280
282
  };
281
283
  return (index.h("section", { id: tileType }, (_a = this[tileType]) === null || _a === void 0 ? void 0 : _a.map((item) => {
282
284
  const isDraggable = name === 'draggable';
283
- const { id, value, connectableId, color, hit } = item || {};
285
+ const { id, value, connectableId, selected } = item || {};
284
286
  const isImage = value && index$1.isImageUrl(value);
285
287
  const connectable = this.draggables.find(({ connectableId }) => connectableId === id);
286
288
  const isConnected = !!(connectableId || connectable);
287
- const tileColor = color || (connectable === null || connectable === void 0 ? void 0 : connectable.color);
288
- const connectedAttributes = { style: { backgroundColor: tileColor, color: index$1.getContrastColor(tileColor) }, connected: true };
289
- const tileAttr = {
290
- ...(isConnected && connectedAttributes), hit: !!(hit === null || hit === void 0 ? void 0 : hit.value) && isDraggable, type: isImage ? 'image' : 'text'
291
- };
292
- const tileClick = () => isDraggable ? onDraggableClick(item) : onConnectableClick(item);
293
- return !!value && index.h("div", { ...tileAttr, id: id, key: id, class: name, onTouchStart: () => tileClick(), onClick: () => tileClick() }, !isImage ? index.h("p", null, index$1.translateMulti(value)) : [index.h("yoo-img", { type: "background", src: value }), index.h("div", { id: "overlay" })], this.readonly && this.renderCorrectionIcon(value));
289
+ const tileColor = item.color || (connectable === null || connectable === void 0 ? void 0 : connectable.color);
290
+ const { backgroundColor, color } = { backgroundColor: index$1.getCssColor(tileColor), color: index$1.getContrastColor(tileColor) };
291
+ const tileAttr = { type: isImage ? 'image' : 'text', connected: isConnected, hit: isDraggable && !isConnected && selected };
292
+ return (!!value && (index.h("div", { ...tileAttr, style: isConnected && !isImage && { backgroundColor, color }, id: id, key: id, class: name, ...(!isDraggable && { onTouchStart: () => onConnectableClick(item), onClick: () => onConnectableClick(item) }) }, !isImage ? index.h("p", null, index$1.translateMulti(value)) : [index.h("yoo-img", { type: "background", src: value }), index.h("div", { class: "overlay", style: isConnected && { backgroundColor, color } })], this.readonly && this.renderCorrectionIcon(value))));
294
293
  })));
295
294
  }
296
295
  renderBanner() {
@@ -7,7 +7,7 @@ const index$1 = require('./index-0dc9b21d.js');
7
7
  const commonHelpers = require('./common-helpers-907b7aa0.js');
8
8
  const formInputHelpers = require('./form-input-helpers-c26411fc.js');
9
9
  const lodash = require('./lodash-1f7fff24.js');
10
- const gridRenderers = require('./grid-renderers-bdf3d9df.js');
10
+ const gridRenderers = require('./grid-renderers-48827440.js');
11
11
  require('./_commonjsHelpers-94df2ea7.js');
12
12
  require('./index-c09665da.js');
13
13
  require('./incentive-helpers-62a363bb.js');
@@ -228,7 +228,7 @@ const YooFormMultiInputComponent = class {
228
228
  const rowsCount = Math.max(...[this.getMaxRowsOf('init'), this.getMaxRowsOf('min'), values.length]) || 1;
229
229
  this.rows = Array.from({ length: rowsCount }).map((_, rowIndex) => {
230
230
  return this.columnsDefinition.map((column, colIndex) => {
231
- const { hasImage, maxRows, hasText } = column;
231
+ const { hasImage, maxRows, hasText, forceObjectValue } = column;
232
232
  const rowValue = values === null || values === void 0 ? void 0 : values[rowIndex];
233
233
  const value = Array.isArray(rowValue) ? rowValue === null || rowValue === void 0 ? void 0 : rowValue[colIndex] : rowValue;
234
234
  const [text, file, selection] = ['text', 'file', 'selection'].map((type) => (Array.isArray(value) ? value[colIndex] : typeof value === 'object' ? value === null || value === void 0 ? void 0 : value[type] : value));
@@ -237,7 +237,7 @@ const YooFormMultiInputComponent = class {
237
237
  rowIndex,
238
238
  column,
239
239
  hidden: rowIndex + 1 > maxRows || (!value && rowIndex + 1 > column.initRows),
240
- value: {
240
+ value: forceObjectValue ? { text: value } : {
241
241
  ...(hasText && { text }),
242
242
  ...(hasImage && { file: index$1.isImageUrl(file) ? file : '' }),
243
243
  ...(selection && { selection })
@@ -92,7 +92,7 @@ const YooFormScormComponent = class {
92
92
  }
93
93
  if (ret === null || ret === void 0 ? void 0 : ret.launchLink) {
94
94
  if (index$2.isNativeMobile()) {
95
- const iab = window.open(ret.launchLink, index$2.isNativeMobile() ? '_blank' : '_system', `location=${index$2.isAndroid() ? 'yes,hideurlbar=yes' : 'no'},toolbar=yes,hidenavigationbuttons=${index$2.isAndroid() ? 'yes' : 'no'},closebuttoncaption=${index$2.translate('CLOSE')},beforeload=yes,allowInlineMediaPlayback=yes,closebuttoncolor=${index$2.getCssColor('app-color')}`);
95
+ const iab = window.open(ret.launchLink, index$2.isNativeMobile() ? '_blank' : '_system', `location=${index$2.isAndroid() ? 'yes,hideurlbar=yes' : 'no'},toolbar=yes,hidenavigationbuttons=${index$2.isAndroid() ? 'yes' : 'no'},closebuttoncaption=${index$2.translate('CLOSE')},beforeload=yes,allowInlineMediaPlayback=yes`);
96
96
  iab.addEventListener('exit', () => {
97
97
  if (!this.isPreview) {
98
98
  this.onCloseScormPlayer();
@@ -15,7 +15,7 @@ const formInputHelpers = require('./form-input-helpers-c26411fc.js');
15
15
  const textHelpers = require('./text-helpers-2d98f1b7.js');
16
16
  const lodash = require('./lodash-1f7fff24.js');
17
17
  const sortable_esm = require('./sortable.esm-00e15691.js');
18
- const gridRenderers = require('./grid-renderers-bdf3d9df.js');
18
+ const gridRenderers = require('./grid-renderers-48827440.js');
19
19
  const itemSliding_interface = require('./item-sliding.interface-7206925b.js');
20
20
  require('./_commonjsHelpers-94df2ea7.js');
21
21
  require('./workflow.interface-ffda8358.js');
@@ -999,6 +999,7 @@ const YooGridComponent = class {
999
999
  this.finalGridConfig = {
1000
1000
  ...this.gridConfig,
1001
1001
  treeData: this.isTree(),
1002
+ onSortChanged: () => this.onGridStateUpdate(),
1002
1003
  onColumnResized: () => this.onGridStateUpdate(),
1003
1004
  onColumnMoved: () => this.onGridStateUpdate(),
1004
1005
  onColumnVisible: () => this.onGridStateUpdate(),
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-91f073fd.js');
6
6
  const index$1 = require('./index-0dc9b21d.js');
7
- const gridRenderers = require('./grid-renderers-bdf3d9df.js');
7
+ const gridRenderers = require('./grid-renderers-48827440.js');
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-94df2ea7.js');
9
9
  const lodash = require('./lodash-1f7fff24.js');
10
10
  require('./index-c09665da.js');
@@ -179,9 +179,14 @@ export class YooFormCatalogComponent {
179
179
  else {
180
180
  value[product._id] = quantity > 0 ? quantity : 0;
181
181
  }
182
- if (this.products && !this.products.find((p) => p._id === product._id)) {
182
+ this.products = this.products || [];
183
+ const index = this.products.findIndex((p) => p._id === product._id);
184
+ if (index < 0) {
183
185
  this.products.push(product);
184
186
  }
187
+ else {
188
+ this.products[index] = product;
189
+ }
185
190
  this.setValue(value);
186
191
  }
187
192
  addProduct(product) {
@@ -199,9 +204,13 @@ export class YooFormCatalogComponent {
199
204
  value[product._id] = product.step || 1;
200
205
  }
201
206
  this.products = this.products || [];
202
- if (this.products && !this.products.find((p) => p._id === product._id)) {
207
+ const index = this.products.findIndex((p) => p._id === product._id);
208
+ if (index < 0) {
203
209
  this.products.push(product);
204
210
  }
211
+ else {
212
+ this.products[index] = product;
213
+ }
205
214
  this.setValue(value);
206
215
  }
207
216
  clearProduct(product) {
@@ -421,27 +421,27 @@ svg:not(:root) {
421
421
  :host yoo-img {
422
422
  border-radius: inherit;
423
423
  }
424
- :host main,
425
- :host #draggables,
426
- :host #connectables {
427
- display: grid;
428
- grid-gap: var(--spacing-08, 0.5rem);
429
- }
430
424
  :host #draggables,
431
425
  :host #connectables {
432
426
  position: relative;
427
+ width: calc(50% - var(--spacing-08, 0.5rem));
433
428
  height: max-content;
434
- padding: var(--spacing-08, 0.5rem) 0;
435
429
  }
436
430
  :host main {
437
- grid-template-rows: repeat(auto-fit, 75%);
438
- grid-template-columns: 1fr 1fr;
439
- padding: 0 var(--spacing-08, 0.5rem);
431
+ display: flex;
432
+ justify-content: space-around;
433
+ padding-top: var(--spacing-08, 0.5rem);
440
434
  word-break: break-word;
441
435
  background-color: var(--stable-alt-20, rgba(208, 208, 208, 0.2));
442
436
  border-radius: var(--border-radius-04, 0.25rem);
443
437
  transition: height 750ms ease-in-out;
444
438
  }
439
+ :host main:first-of-type {
440
+ padding-left: var(--spacing-08, 0.5rem);
441
+ }
442
+ :host main:last-of-type {
443
+ padding-right: var(--spacing-08, 0.5rem);
444
+ }
445
445
  :host main[style*=height] {
446
446
  overflow: hidden auto;
447
447
  }
@@ -459,17 +459,18 @@ svg:not(:root) {
459
459
  background: var(--app-color, #5a30f4);
460
460
  border-radius: var(--border-radius-04, 0.25rem);
461
461
  }
462
+ :host [type], :host .overlay {
463
+ transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
464
+ }
462
465
  :host .connectable,
463
466
  :host .draggable {
464
467
  position: relative;
465
- width: 100%;
466
468
  max-width: 15rem;
467
- height: 100%;
469
+ margin-bottom: var(--spacing-08, 0.5rem);
468
470
  background-color: var(--light, #ffffff);
469
471
  border-radius: var(--border-radius-08, 0.5rem);
470
472
  box-shadow: var(--shadow-02, 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1));
471
473
  cursor: pointer;
472
- transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
473
474
  }
474
475
  :host .connectable:before,
475
476
  :host .draggable:before {
@@ -528,7 +529,7 @@ svg:not(:root) {
528
529
  :host .draggable > *:not(yoo-icon) {
529
530
  position: absolute;
530
531
  }
531
- :host #overlay {
532
+ :host .overlay {
532
533
  background-color: inherit;
533
534
  border-radius: inherit;
534
535
  opacity: 0.6;