@yoobic/yobi 7.7.41 → 7.7.42

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 (42) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/{draggable-tags-helpers-b353ad65.js → draggable-tags-helpers-2b62a9fa.js} +2 -1
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/yoo-form-categorize-words.cjs.entry.js +1 -1
  6. package/dist/cjs/yoo-form-choice_4.cjs.entry.js +1 -1
  7. package/dist/cjs/yoo-form-connect.cjs.entry.js +204 -323
  8. package/dist/cjs/yoo-form-image-tagging.cjs.entry.js +1 -1
  9. package/dist/cjs/yoo-form-missing-word.cjs.entry.js +1 -1
  10. package/dist/cjs/yoo-form-ranking.cjs.entry.js +1 -1
  11. package/dist/cjs/yoo-form-swipe-cards.cjs.entry.js +1 -1
  12. package/dist/collection/components/form/form-connect/form-connect.css +35 -33
  13. package/dist/collection/components/form/form-connect/form-connect.js +207 -375
  14. package/dist/collection/components/form/form-connect/types/index.js +1 -1
  15. package/dist/collection/utils/helpers/draggable-tags-helpers.js +2 -1
  16. package/dist/design-system/design-system.esm.js +1 -1
  17. package/dist/design-system/index.esm.js +1 -1
  18. package/dist/design-system/p-25ffc253.entry.js +1 -0
  19. package/dist/design-system/{p-d5b214f0.entry.js → p-37f863a9.entry.js} +1 -1
  20. package/dist/design-system/{p-adbb882f.entry.js → p-484eb9f2.entry.js} +1 -1
  21. package/dist/design-system/{p-f013d119.entry.js → p-82954c87.entry.js} +1 -1
  22. package/dist/design-system/{p-619154de.entry.js → p-a6091b4d.entry.js} +1 -1
  23. package/dist/design-system/p-f30db1be.js +1 -0
  24. package/dist/design-system/{p-800cb056.entry.js → p-f4317e29.entry.js} +1 -1
  25. package/dist/design-system/{p-47077c2f.entry.js → p-f61d59d7.entry.js} +1 -1
  26. package/dist/esm/design-system.js +1 -1
  27. package/dist/esm/{draggable-tags-helpers-e3b9cd11.js → draggable-tags-helpers-504b4b6d.js} +2 -1
  28. package/dist/esm/index.js +1 -1
  29. package/dist/esm/loader.js +1 -1
  30. package/dist/esm/yoo-form-categorize-words.entry.js +1 -1
  31. package/dist/esm/yoo-form-choice_4.entry.js +1 -1
  32. package/dist/esm/yoo-form-connect.entry.js +206 -325
  33. package/dist/esm/yoo-form-image-tagging.entry.js +1 -1
  34. package/dist/esm/yoo-form-missing-word.entry.js +1 -1
  35. package/dist/esm/yoo-form-ranking.entry.js +1 -1
  36. package/dist/esm/yoo-form-swipe-cards.entry.js +1 -1
  37. package/dist/types/components/form/form-connect/form-connect.d.ts +31 -48
  38. package/dist/types/components/form/form-connect/types/index.d.ts +4 -5
  39. package/dist/types/components.d.ts +0 -9
  40. package/package.json +1 -1
  41. package/dist/design-system/p-72fe82e5.js +0 -1
  42. package/dist/design-system/p-ab3cb64c.entry.js +0 -1
@@ -7,25 +7,48 @@ const rrule = require('./rrule-f8e7fec2.js');
7
7
  require('./input-bar.interface-b96b7107.js');
8
8
  const index$1 = require('./index-dccbc1a7.js');
9
9
  require('./ResizeObserver.es-a563c836.js');
10
+ const commonHelpers = require('./common-helpers-312e97a3.js');
11
+ const draggableTagsHelpers = require('./draggable-tags-helpers-2b62a9fa.js');
10
12
  const formInputHelpers = require('./form-input-helpers-3a4341c2.js');
13
+ const isEqual = require('./isEqual-35c41499.js');
14
+ const shuffle = require('./shuffle-8d86ba89.js');
15
+ const difference = require('./difference-c83a2044.js');
11
16
  require('./document-2c1b83f3.js');
12
17
  require('./validate-f2c2f205.js');
13
18
  require('./isString-ecd0cbf4.js');
14
19
  require('./isUndefined-8f9cfd10.js');
15
20
  require('./isNumber-4c1ace60.js');
16
- require('./common-helpers-312e97a3.js');
17
21
  require('./get-91c14783.js');
18
22
  require('./_baseGet-89e374f5.js');
23
+ require('./countBy-302d98f4.js');
24
+ require('./_baseAssignValue-88ae85ba.js');
25
+ require('./_defineProperty-87891ae5.js');
26
+ require('./_createAggregator-c627b114.js');
27
+ require('./_baseEach-1273a673.js');
28
+ require('./keys-c78834c2.js');
29
+ require('./_baseUnary-95e872e2.js');
30
+ require('./_baseKeys-38051434.js');
31
+ require('./_baseIteratee-981b7db0.js');
32
+ require('./_Uint8Array-b8bcd85d.js');
33
+ require('./_arrayPush-0b398b4a.js');
34
+ require('./_baseIsEqual-ea3c1968.js');
35
+ require('./_getTag-044b275e.js');
36
+ require('./identity-8189b2e1.js');
37
+ require('./_copyArray-7cf7f5e7.js');
38
+ require('./_baseFlatten-4570005c.js');
39
+ require('./_baseRest-d1fd2600.js');
40
+ require('./_overRest-cf1fc624.js');
41
+ require('./isArrayLikeObject-d16ae561.js');
19
42
 
20
- const formConnectCss = ":root{--ease-in-back:cubic-bezier(0.36, 0, 0.66, -0.56);--ease-in-circ:cubic-bezier(0.55, 0, 1, 0.45);--ease-in-cubic:cubic-bezier(0.32, 0, 0.67, 0);--ease-in-expo:cubic-bezier(0.7, 0, 0.84, 0);--ease-in-quad:cubic-bezier(0.11, 0, 0.5, 0);--ease-in-quart:cubic-bezier(0.5, 0, 0.75, 0);--ease-in-quint:cubic-bezier(0.64, 0, 0.78, 0);--ease-in-sine:cubic-bezier(0.12, 0, 0.39, 0);--ease-out-back:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out-circ:cubic-bezier(0, 0.55, 0.45, 1);--ease-out-cubic:cubic-bezier(0.33, 1, 0.68, 1);--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-out-quad:cubic-bezier(0.5, 1, 0.89, 1);--ease-out-quart:cubic-bezier(0.25, 1, 0.5, 1);--ease-out-quint:cubic-bezier(0.22, 1, 0.36, 1);--ease-out-sine:cubic-bezier(0.61, 1, 0.88, 1);--ease-in-out-back:cubic-bezier(0.68, -0.6, 0.32, 1.6);--ease-in-out-circ:cubic-bezier(0.85, 0, 0.15, 1);--ease-in-out-cubic:cubic-bezier(0.65, 0, 0.35, 1);--ease-in-out-expo:cubic-bezier(0.87, 0, 0.13, 1);--ease-in-out-quad:cubic-bezier(0.45, 0, 0.55, 1);--ease-in-out-quart:cubic-bezier(0.76, 0, 0.24, 1);--ease-in-out-quint:cubic-bezier(0.83, 0, 0.17, 1);--ease-in-out-sine:cubic-bezier(0.37, 0, 0.63, 1)}.tippy-box,.tippy-popper{white-space:pre-wrap}.tippy-box .tippy-tooltip,.tippy-popper .tippy-tooltip{padding:var(--spacing-02, 0.125rem)}.tippy-box{-webkit-box-shadow:var(--shadow-03, 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1));box-shadow:var(--shadow-03, 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1))}.tippy-box .tippy-content.editable{padding:0}.tippy-box .tippy-content .flex{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.tippy-box .tippy-content .hidden{display:none}.tippy-box .tippy-content .editable-content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:var(--dark, #000000)}.tippy-box .tippy-content .editable-content .text-content{min-width:5rem;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.tippy-box .tippy-content .editable-content .text-content>div{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.tippy-box .tippy-content .editable-content.readonly{padding:var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .editable-content .maxchar-content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-item-align:end;align-self:flex-end;height:var(--spacing-24, 1.5rem);padding-right:var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .editable-content .action-content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.tippy-box .tippy-content .editable-content .action-content yoo-button{padding:0 var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .editable-content .action-content .edit-content{-ms-flex-align:center;align-items:center}.tippy-box .tippy-content .editable-content .action-content .edit-content yoo-icon{padding-left:var(--spacing-08, 0.5rem);cursor:pointer}.tippy-box .tippy-content .editable-content .edit-content>*{cursor:pointer}.tippy-box .tippy-content .request-access{padding:var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .request-access .title{margin-bottom:var(--spacing-08, 0.5rem);font-weight:var(--font-weight-700, 700)}.tippy-box .tippy-content .request-access .sub-title{display:-ms-flexbox;display:flex;margin-bottom:var(--spacing-08, 0.5rem);font-weight:var(--font-weight-300, 300);font-size:var(--font-size-14, 0.875rem)}.tippy-box .tippy-content .request-access .sub-title yoo-avatar{margin:0 var(--spacing-04, 0.25rem)}.tippy-box .tippy-content .request-access yoo-button{max-width:8rem}.tippy-box[data-theme~=startameeting] .tippy-content{padding:0;border-radius:var(--border-radius-04, 0.25rem)}.tippy-box[data-theme~=large]{font-size:var(--font-size-16, 1rem)}.tippy-box[data-theme~=large] .tippy-content{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=large] .tippy-content .editable-content{padding:var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=large] .tippy-content .editable-content .text-content{padding-right:var(--spacing-16, 1rem)}.tippy-box[data-theme~=large] .tippy-content .editable-content yoo-icon{margin:0 var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=small]{font-size:var(--font-size-16, 1rem)}.tippy-box[data-theme~=small] .tippy-content{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=small] .tippy-content .editable-content{padding:var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=small] .tippy-content .editable-content .text-content{padding-right:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=small] .tippy-content .editable-content yoo-icon{margin:0 var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=accent]{background-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=accent] .tippy-svg-arrow{fill:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--accent, #276ef1)}.tippy-box[data-theme~=anthracite]{background-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=anthracite] .tippy-svg-arrow{fill:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=app-color]{background-color:var(--app-color)}.tippy-box[data-theme~=app-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=app-color] .tippy-svg-arrow{fill:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--app-color)}.tippy-box[data-theme~=danger]{background-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=danger] .tippy-svg-arrow{fill:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger-light]{background-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=danger-light] .tippy-svg-arrow{fill:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=dark]{background-color:var(--dark, #000000)}.tippy-box[data-theme~=dark] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=dark] .tippy-svg-arrow{fill:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--dark, #000000)}.tippy-box[data-theme~=energized]{background-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=energized] .tippy-svg-arrow{fill:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--energized, #fed05b)}.tippy-box[data-theme~=info]{background-color:var(--info, #fc459e)}.tippy-box[data-theme~=info] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=info] .tippy-svg-arrow{fill:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--info, #fc459e)}.tippy-box[data-theme~=light]{background-color:var(--light, #ffffff)}.tippy-box[data-theme~=light] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=light] .tippy-svg-arrow{fill:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--light, #ffffff)}.tippy-box[data-theme~=light-orange]{background-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=light-orange] .tippy-svg-arrow{fill:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-to-text-color]{background-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=light-to-text-color] .tippy-svg-arrow{fill:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=royal]{background-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=royal] .tippy-svg-arrow{fill:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--royal, #7577ff)}.tippy-box[data-theme~=stable]{background-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable] .tippy-svg-arrow{fill:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable-alt]{background-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable-alt] .tippy-svg-arrow{fill:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-light]{background-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable-light] .tippy-svg-arrow{fill:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-ultralight]{background-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable-ultralight] .tippy-svg-arrow{fill:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=success]{background-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=success] .tippy-svg-arrow{fill:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--success, #3aa76d)}.tippy-box[data-theme~=text-color]{background-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=text-color] .tippy-svg-arrow{fill:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--text-color, #807f83)}.tippy-box[data-theme~=warning]{background-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=warning] .tippy-svg-arrow{fill:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--warning, #ff6402)}.tippy-box[data-theme~=anthracite-to-text-color]{background-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=anthracite-to-text-color] .tippy-svg-arrow{fill:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--anthracite-to-text-color, #1a1a1a)}:root{--safe-area-inset-top:0;--safe-area-inset-right:0;--safe-area-inset-bottom:0;--safe-area-inset-left:0}@supports (top: constant(safe-area-inset-top)){:root{--safe-area-inset-top:constant(safe-area-inset-top);--safe-area-inset-right:constant(safe-area-inset-right);--safe-area-inset-bottom:constant(safe-area-inset-bottom);--safe-area-inset-left:constant(safe-area-inset-left)}}@supports (top: env(safe-area-inset-top)){:root{--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-right:env(safe-area-inset-right);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left)}}.fr-popup.fr-active{z-index:30004 !important;display:block !important;opacity:1 !important}.bg-app-color{background-color:var(--app-color) !important}.app-color{color:var(--app-color);fill:var(--app-color)}.border-app-color{border:var(--border-width-02, 0.125rem) solid var(--app-color)}.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-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-danger-light{background-color:var(--danger-light, #f46885) !important}.danger-light{color:var(--danger-light, #f46885);fill:var(--danger-light, #f46885)}.border-danger-light{border:var(--border-width-02, 0.125rem) solid var(--danger-light, #f46885)}.bg-energized{background-color:var(--energized, #fed05b) !important}.energized{color:var(--energized, #fed05b);fill:var(--energized, #fed05b)}.border-energized{border:var(--border-width-02, 0.125rem) solid var(--energized, #fed05b)}.bg-royal{background-color:var(--royal, #7577ff) !important}.royal{color:var(--royal, #7577ff);fill:var(--royal, #7577ff)}.border-royal{border:var(--border-width-02, 0.125rem) solid var(--royal, #7577ff)}.bg-info{background-color:var(--info, #fc459e) !important}.info{color:var(--info, #fc459e);fill:var(--info, #fc459e)}.border-info{border:var(--border-width-02, 0.125rem) solid var(--info, #fc459e)}.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-dark-to-light{background-color:var(--dark-to-light, #000000) !important}.dark-to-light{color:var(--dark-to-light, #000000);fill:var(--dark-to-light, #000000)}.border-dark-to-light{border:var(--border-width-02, 0.125rem) solid var(--dark-to-light, #000000)}.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-text-color-to-light-60{background-color:var(--text-color-to-light-60, #807f83) !important}.text-color-to-light-60{color:var(--text-color-to-light-60, #807f83);fill:var(--text-color-to-light-60, #807f83)}.border-text-color-to-light-60{border:var(--border-width-02, 0.125rem) solid var(--text-color-to-light-60, #807f83)}.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-light-to-dark{background-color:var(--light-to-dark, #ffffff) !important}.light-to-dark{color:var(--light-to-dark, #ffffff);fill:var(--light-to-dark, #ffffff)}.border-light-to-dark{border:var(--border-width-02, 0.125rem) solid var(--light-to-dark, #ffffff)}.bg-light-orange{background-color:var(--light-orange, #fcae49) !important}.light-orange{color:var(--light-orange, #fcae49);fill:var(--light-orange, #fcae49)}.border-light-orange{border:var(--border-width-02, 0.125rem) solid var(--light-orange, #fcae49)}.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-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-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-warning{background-color:var(--warning, #ff6402) !important}.warning{color:var(--warning, #ff6402);fill:var(--warning, #ff6402)}.border-warning{border:var(--border-width-02, 0.125rem) solid var(--warning, #ff6402)}.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-text-color-to-stable{background-color:var(--text-color-to-stable, #807f83) !important}.text-color-to-stable{color:var(--text-color-to-stable, #807f83);fill:var(--text-color-to-stable, #807f83)}.border-text-color-to-stable{border:var(--border-width-02, 0.125rem) solid var(--text-color-to-stable, #807f83)}.bg-stable-to-stable-20{background-color:var(--stable-to-stable-20, #adadad) !important}.stable-to-stable-20{color:var(--stable-to-stable-20, #adadad);fill:var(--stable-to-stable-20, #adadad)}.border-stable-to-stable-20{border:var(--border-width-02, 0.125rem) solid var(--stable-to-stable-20, #adadad)}.bg-stable-to-light{background-color:var(--stable-to-light, #adadad) !important}.stable-to-light{color:var(--stable-to-light, #adadad);fill:var(--stable-to-light, #adadad)}.border-stable-to-light{border:var(--border-width-02, 0.125rem) solid var(--stable-to-light, #adadad)}.bg-stable-alt-to-light-10{background-color:var(--stable-alt-to-light-10, #d0d0d0) !important}.stable-alt-to-light-10{color:var(--stable-alt-to-light-10, #d0d0d0);fill:var(--stable-alt-to-light-10, #d0d0d0)}.border-stable-alt-to-light-10{border:var(--border-width-02, 0.125rem) solid var(--stable-alt-to-light-10, #d0d0d0)}:host{display:block}:host 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;margin:0;padding:var(--spacing-16, 1rem);overflow:hidden;font-size:var(--font-size-14, 0.875rem);text-align:center}:host yoo-icon{position:absolute;top:var(--spacing-08, 0.5rem);right:var(--spacing-08, 0.5rem);background:var(--light-to-dark, #ffffff);border-radius:50%}:host yoo-img{border-radius:inherit}:host .draggable-container,:host .connectable-container{display:grid;grid-auto-rows:1fr;grid-auto-columns:minmax(0, 1fr)}:host .connect-container{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}:host .connect-container::-webkit-scrollbar{width:0}:host .item-container{display:-ms-flexbox;display:flex;color:var(--dark-to-light, #000000)}:host .connectable-container .item-container{-ms-flex-pack:start;justify-content:flex-start}:host .draggable-container .item-container{-ms-flex-pack:end;justify-content:flex-end}:host .connectable,:host .draggable{position:relative;width:100%;max-width:13rem;background-color:var(--light-to-dark, #ffffff);border-radius:var(--border-radius-08, 0.5rem)}:host .connectable:before,:host .draggable:before{display:block;width:0;height:0;padding-bottom:calc(3 / 4 * 100%);content:\"\"}:host .connectable.animated,:host .draggable.animated{-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.image,:host .draggable.image{padding:0;background-color:transparent}:host .connectable>*:not(yoo-icon),:host .draggable>*:not(yoo-icon){position:absolute;top:0;left:0;width:100%;height:100%}:host .overlay{background-color:inherit;border-radius:inherit;opacity:0.6}:host([readonly]) .connect-container,:host([readonly]) .draggable-container,:host([readonly]) .connectable-container{grid-gap:var(--spacing-16, 1rem)}:host(:not([readonly])) .connect-container,:host(:not([readonly])) .draggable-container,:host(:not([readonly])) .connectable-container{grid-gap:0.0625rem}:host(:not([readonly])) .item-container{padding:var(--spacing-08, 0.5rem);background:var(--stable-light-40-to-stable-light-10, rgba(241, 241, 241, 0.4))}";
43
+ const CONNECT_TYPES = ['draggable', 'connectable'];
44
+
45
+ const formConnectCss = ":root{--ease-in-back:cubic-bezier(0.36, 0, 0.66, -0.56);--ease-in-circ:cubic-bezier(0.55, 0, 1, 0.45);--ease-in-cubic:cubic-bezier(0.32, 0, 0.67, 0);--ease-in-expo:cubic-bezier(0.7, 0, 0.84, 0);--ease-in-quad:cubic-bezier(0.11, 0, 0.5, 0);--ease-in-quart:cubic-bezier(0.5, 0, 0.75, 0);--ease-in-quint:cubic-bezier(0.64, 0, 0.78, 0);--ease-in-sine:cubic-bezier(0.12, 0, 0.39, 0);--ease-out-back:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out-circ:cubic-bezier(0, 0.55, 0.45, 1);--ease-out-cubic:cubic-bezier(0.33, 1, 0.68, 1);--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-out-quad:cubic-bezier(0.5, 1, 0.89, 1);--ease-out-quart:cubic-bezier(0.25, 1, 0.5, 1);--ease-out-quint:cubic-bezier(0.22, 1, 0.36, 1);--ease-out-sine:cubic-bezier(0.61, 1, 0.88, 1);--ease-in-out-back:cubic-bezier(0.68, -0.6, 0.32, 1.6);--ease-in-out-circ:cubic-bezier(0.85, 0, 0.15, 1);--ease-in-out-cubic:cubic-bezier(0.65, 0, 0.35, 1);--ease-in-out-expo:cubic-bezier(0.87, 0, 0.13, 1);--ease-in-out-quad:cubic-bezier(0.45, 0, 0.55, 1);--ease-in-out-quart:cubic-bezier(0.76, 0, 0.24, 1);--ease-in-out-quint:cubic-bezier(0.83, 0, 0.17, 1);--ease-in-out-sine:cubic-bezier(0.37, 0, 0.63, 1)}.tippy-box,.tippy-popper{white-space:pre-wrap}.tippy-box .tippy-tooltip,.tippy-popper .tippy-tooltip{padding:var(--spacing-02, 0.125rem)}.tippy-box{-webkit-box-shadow:var(--shadow-03, 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1));box-shadow:var(--shadow-03, 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1))}.tippy-box .tippy-content.editable{padding:0}.tippy-box .tippy-content .flex{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.tippy-box .tippy-content .hidden{display:none}.tippy-box .tippy-content .editable-content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:var(--dark, #000000)}.tippy-box .tippy-content .editable-content .text-content{min-width:5rem;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.tippy-box .tippy-content .editable-content .text-content>div{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.tippy-box .tippy-content .editable-content.readonly{padding:var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .editable-content .maxchar-content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-item-align:end;align-self:flex-end;height:var(--spacing-24, 1.5rem);padding-right:var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .editable-content .action-content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.tippy-box .tippy-content .editable-content .action-content yoo-button{padding:0 var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .editable-content .action-content .edit-content{-ms-flex-align:center;align-items:center}.tippy-box .tippy-content .editable-content .action-content .edit-content yoo-icon{padding-left:var(--spacing-08, 0.5rem);cursor:pointer}.tippy-box .tippy-content .editable-content .edit-content>*{cursor:pointer}.tippy-box .tippy-content .request-access{padding:var(--spacing-08, 0.5rem)}.tippy-box .tippy-content .request-access .title{margin-bottom:var(--spacing-08, 0.5rem);font-weight:var(--font-weight-700, 700)}.tippy-box .tippy-content .request-access .sub-title{display:-ms-flexbox;display:flex;margin-bottom:var(--spacing-08, 0.5rem);font-weight:var(--font-weight-300, 300);font-size:var(--font-size-14, 0.875rem)}.tippy-box .tippy-content .request-access .sub-title yoo-avatar{margin:0 var(--spacing-04, 0.25rem)}.tippy-box .tippy-content .request-access yoo-button{max-width:8rem}.tippy-box[data-theme~=startameeting] .tippy-content{padding:0;border-radius:var(--border-radius-04, 0.25rem)}.tippy-box[data-theme~=large]{font-size:var(--font-size-16, 1rem)}.tippy-box[data-theme~=large] .tippy-content{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=large] .tippy-content .editable-content{padding:var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=large] .tippy-content .editable-content .text-content{padding-right:var(--spacing-16, 1rem)}.tippy-box[data-theme~=large] .tippy-content .editable-content yoo-icon{margin:0 var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=small]{font-size:var(--font-size-16, 1rem)}.tippy-box[data-theme~=small] .tippy-content{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=small] .tippy-content .editable-content{padding:var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=small] .tippy-content .editable-content .text-content{padding-right:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=small] .tippy-content .editable-content yoo-icon{margin:0 var(--spacing-04, 0.25rem)}.tippy-box[data-theme~=accent]{background-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=accent] .tippy-svg-arrow{fill:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--accent, #276ef1)}.tippy-box[data-theme~=accent][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--accent, #276ef1)}.tippy-box[data-theme~=anthracite]{background-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=anthracite] .tippy-svg-arrow{fill:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=anthracite][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--anthracite, #1a1a1a)}.tippy-box[data-theme~=app-color]{background-color:var(--app-color)}.tippy-box[data-theme~=app-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=app-color] .tippy-svg-arrow{fill:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--app-color)}.tippy-box[data-theme~=app-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--app-color)}.tippy-box[data-theme~=danger]{background-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=danger] .tippy-svg-arrow{fill:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--danger, #d44333)}.tippy-box[data-theme~=danger-light]{background-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=danger-light] .tippy-svg-arrow{fill:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=danger-light][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--danger-light, #f46885)}.tippy-box[data-theme~=dark]{background-color:var(--dark, #000000)}.tippy-box[data-theme~=dark] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=dark] .tippy-svg-arrow{fill:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--dark, #000000)}.tippy-box[data-theme~=dark][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--dark, #000000)}.tippy-box[data-theme~=energized]{background-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=energized] .tippy-svg-arrow{fill:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--energized, #fed05b)}.tippy-box[data-theme~=energized][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--energized, #fed05b)}.tippy-box[data-theme~=info]{background-color:var(--info, #fc459e)}.tippy-box[data-theme~=info] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=info] .tippy-svg-arrow{fill:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--info, #fc459e)}.tippy-box[data-theme~=info][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--info, #fc459e)}.tippy-box[data-theme~=light]{background-color:var(--light, #ffffff)}.tippy-box[data-theme~=light] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=light] .tippy-svg-arrow{fill:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--light, #ffffff)}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--light, #ffffff)}.tippy-box[data-theme~=light-orange]{background-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=light-orange] .tippy-svg-arrow{fill:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-orange][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--light-orange, #fcae49)}.tippy-box[data-theme~=light-to-text-color]{background-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=light-to-text-color] .tippy-svg-arrow{fill:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=light-to-text-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--light-to-text-color, #ffffff)}.tippy-box[data-theme~=royal]{background-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=royal] .tippy-svg-arrow{fill:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--royal, #7577ff)}.tippy-box[data-theme~=royal][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--royal, #7577ff)}.tippy-box[data-theme~=stable]{background-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable] .tippy-svg-arrow{fill:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable, #adadad)}.tippy-box[data-theme~=stable-alt]{background-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable-alt] .tippy-svg-arrow{fill:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-alt][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable-alt, #d0d0d0)}.tippy-box[data-theme~=stable-light]{background-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable-light] .tippy-svg-arrow{fill:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-light][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable-light, #f1f1f1)}.tippy-box[data-theme~=stable-ultralight]{background-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=stable-ultralight] .tippy-svg-arrow{fill:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=stable-ultralight][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--stable-ultralight, #fafafa)}.tippy-box[data-theme~=success]{background-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=success] .tippy-svg-arrow{fill:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--success, #3aa76d)}.tippy-box[data-theme~=success][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--success, #3aa76d)}.tippy-box[data-theme~=text-color]{background-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=text-color] .tippy-svg-arrow{fill:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--text-color, #807f83)}.tippy-box[data-theme~=text-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--text-color, #807f83)}.tippy-box[data-theme~=warning]{background-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=warning] .tippy-svg-arrow{fill:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--warning, #ff6402)}.tippy-box[data-theme~=warning][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--warning, #ff6402)}.tippy-box[data-theme~=anthracite-to-text-color]{background-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color] .tippy-tooltip{padding:var(--spacing-08, 0.5rem)}.tippy-box[data-theme~=anthracite-to-text-color] .tippy-svg-arrow{fill:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=top]>.tippy-arrow::before{border-top-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=left]>.tippy-arrow::before{border-left-color:var(--anthracite-to-text-color, #1a1a1a)}.tippy-box[data-theme~=anthracite-to-text-color][data-placement^=right]>.tippy-arrow::before{border-right-color:var(--anthracite-to-text-color, #1a1a1a)}:root{--safe-area-inset-top:0;--safe-area-inset-right:0;--safe-area-inset-bottom:0;--safe-area-inset-left:0}@supports (top: constant(safe-area-inset-top)){:root{--safe-area-inset-top:constant(safe-area-inset-top);--safe-area-inset-right:constant(safe-area-inset-right);--safe-area-inset-bottom:constant(safe-area-inset-bottom);--safe-area-inset-left:constant(safe-area-inset-left)}}@supports (top: env(safe-area-inset-top)){:root{--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-right:env(safe-area-inset-right);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left)}}.fr-popup.fr-active{z-index:30004 !important;display:block !important;opacity:1 !important}.bg-app-color{background-color:var(--app-color) !important}.app-color{color:var(--app-color);fill:var(--app-color)}.border-app-color{border:var(--border-width-02, 0.125rem) solid var(--app-color)}.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-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-danger-light{background-color:var(--danger-light, #f46885) !important}.danger-light{color:var(--danger-light, #f46885);fill:var(--danger-light, #f46885)}.border-danger-light{border:var(--border-width-02, 0.125rem) solid var(--danger-light, #f46885)}.bg-energized{background-color:var(--energized, #fed05b) !important}.energized{color:var(--energized, #fed05b);fill:var(--energized, #fed05b)}.border-energized{border:var(--border-width-02, 0.125rem) solid var(--energized, #fed05b)}.bg-royal{background-color:var(--royal, #7577ff) !important}.royal{color:var(--royal, #7577ff);fill:var(--royal, #7577ff)}.border-royal{border:var(--border-width-02, 0.125rem) solid var(--royal, #7577ff)}.bg-info{background-color:var(--info, #fc459e) !important}.info{color:var(--info, #fc459e);fill:var(--info, #fc459e)}.border-info{border:var(--border-width-02, 0.125rem) solid var(--info, #fc459e)}.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-dark-to-light{background-color:var(--dark-to-light, #000000) !important}.dark-to-light{color:var(--dark-to-light, #000000);fill:var(--dark-to-light, #000000)}.border-dark-to-light{border:var(--border-width-02, 0.125rem) solid var(--dark-to-light, #000000)}.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-text-color-to-light-60{background-color:var(--text-color-to-light-60, #807f83) !important}.text-color-to-light-60{color:var(--text-color-to-light-60, #807f83);fill:var(--text-color-to-light-60, #807f83)}.border-text-color-to-light-60{border:var(--border-width-02, 0.125rem) solid var(--text-color-to-light-60, #807f83)}.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-light-to-dark{background-color:var(--light-to-dark, #ffffff) !important}.light-to-dark{color:var(--light-to-dark, #ffffff);fill:var(--light-to-dark, #ffffff)}.border-light-to-dark{border:var(--border-width-02, 0.125rem) solid var(--light-to-dark, #ffffff)}.bg-light-orange{background-color:var(--light-orange, #fcae49) !important}.light-orange{color:var(--light-orange, #fcae49);fill:var(--light-orange, #fcae49)}.border-light-orange{border:var(--border-width-02, 0.125rem) solid var(--light-orange, #fcae49)}.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-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-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-warning{background-color:var(--warning, #ff6402) !important}.warning{color:var(--warning, #ff6402);fill:var(--warning, #ff6402)}.border-warning{border:var(--border-width-02, 0.125rem) solid var(--warning, #ff6402)}.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-text-color-to-stable{background-color:var(--text-color-to-stable, #807f83) !important}.text-color-to-stable{color:var(--text-color-to-stable, #807f83);fill:var(--text-color-to-stable, #807f83)}.border-text-color-to-stable{border:var(--border-width-02, 0.125rem) solid var(--text-color-to-stable, #807f83)}.bg-stable-to-stable-20{background-color:var(--stable-to-stable-20, #adadad) !important}.stable-to-stable-20{color:var(--stable-to-stable-20, #adadad);fill:var(--stable-to-stable-20, #adadad)}.border-stable-to-stable-20{border:var(--border-width-02, 0.125rem) solid var(--stable-to-stable-20, #adadad)}.bg-stable-to-light{background-color:var(--stable-to-light, #adadad) !important}.stable-to-light{color:var(--stable-to-light, #adadad);fill:var(--stable-to-light, #adadad)}.border-stable-to-light{border:var(--border-width-02, 0.125rem) solid var(--stable-to-light, #adadad)}.bg-stable-alt-to-light-10{background-color:var(--stable-alt-to-light-10, #d0d0d0) !important}.stable-alt-to-light-10{color:var(--stable-alt-to-light-10, #d0d0d0);fill:var(--stable-alt-to-light-10, #d0d0d0)}.border-stable-alt-to-light-10{border:var(--border-width-02, 0.125rem) solid var(--stable-alt-to-light-10, #d0d0d0)}:host{display:block;width:100%;max-width:24rem;margin:0 auto}:host 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;margin:0;padding:var(--spacing-16, 1rem);overflow:hidden;font-size:var(--font-size-14, 0.875rem);text-align:center}:host yoo-banner{height:0}:host yoo-icon{position:absolute;top:var(--spacing-08, 0.5rem);right:var(--spacing-08, 0.5rem);background:var(--light-to-dark, #ffffff);border-radius:50%}:host yoo-img{border-radius:inherit}:host .inner-container,:host .draggables,:host .connectables{display:grid;grid-gap:var(--spacing-08, 0.5rem)}:host .draggables,:host .connectables{height:-webkit-max-content;height:-moz-max-content;height:max-content;padding:var(--spacing-08, 0.5rem) 0}:host .inner-container{grid-template-rows:repeat(auto-fit, 75%);grid-template-columns:1fr 1fr;padding:0 var(--spacing-08, 0.5rem);overflow:hidden auto;background-color:var(--stable-alt-20, rgba(208, 208, 208, 0.2));border-radius:var(--border-radius-04, 0.25rem);-webkit-transition:height 500ms linear;transition:height 500ms linear;}:host .inner-container::-webkit-scrollbar{width:var(--spacing-08, 0.5rem)}:host .inner-container::-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 .inner-container::-webkit-scrollbar-thumb{background:var(--app-color);border-radius:var(--border-radius-04, 0.25rem)}:host .connectable,:host .draggable{position:relative;width:100%;max-width:12rem;height:100%;background-color:var(--light-to-dark, #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))}:host .connectable:before,:host .draggable:before{display:block;width:0;height:0;padding-bottom:calc(3 / 4 * 100%);content:\"\"}:host .connectable.animated,:host .draggable.animated{-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.image,:host .draggable.image{padding:0;background-color:transparent}:host .connectable>*:not(yoo-icon),:host .draggable>*:not(yoo-icon){position:absolute;top:0;left:0;width:100%;height:100%}:host .overlay{background-color:inherit;border-radius:inherit;opacity:0.6}";
21
46
 
22
- const ITEM_TYPES = ['draggable', 'connectable'];
23
47
  const YooFormConnectComponent = class {
24
48
  constructor(hostRef) {
25
49
  index.registerInstance(this, hostRef);
26
50
  this.validityChanged = index.createEvent(this, "validityChanged", 7);
27
51
  this.inputChanged = index.createEvent(this, "inputChanged", 7);
28
- this.dragEnded = index.createEvent(this, "dragEnded", 7);
29
52
  /**
30
53
  * Read-only mode : true if displayed within a quiz summary
31
54
  */
@@ -42,396 +65,254 @@ const YooFormConnectComponent = class {
42
65
  * true if component's parent slide is visible within a `yoo-form-dynamic`
43
66
  */
44
67
  this.isVisible = false;
45
- this.overlapThreshold = '65%';
46
- this.hoverColor = 'stable-light';
47
- this.subContainerElements = [];
48
68
  this.colors = ['warning', 'accent', 'royal', 'info', 'energized'];
49
- this.defaultColors = ['light-to-dark', 'dark-to-light'];
50
- this.animationDelay = this.animated ? 0.25 : 0;
51
- this.validationClasses = { valid: { icon: 'check', iconColor: 'success' }, invalid: { icon: 'cross', iconColor: 'danger' } };
52
69
  }
53
- onRequireChanged() {
54
- this.checkAnswersValidity();
70
+ onValuesChanged() {
71
+ draggableTagsHelpers.showWarningAlert(this.host, !this.isGameMatchable, 'NOTALLPAIREDVALUES');
55
72
  }
56
- isValid() {
73
+ onValidityChanged() {
57
74
  this.validityChanged.emit(this.validity);
58
75
  }
59
- initValues() {
60
- this.dragEnded.emit(true);
61
- this.initItems();
62
- this.shuffleConnectValues();
63
- this.initUserAnswersArray();
64
- }
65
- onIsVisibleChanged(state) {
66
- if (state) {
67
- this.initConnect();
68
- }
69
- }
70
- onModalAnimationFinished(state) {
71
- if (state) {
72
- this.initConnect();
76
+ onValueChanged() {
77
+ if (!isEqual.isEqual(this.value, this.userAnswers)) {
78
+ this.connectItems();
79
+ this.validateUserAnswers(this.value);
73
80
  }
74
81
  }
75
- componentWillLoad() {
76
- this.initValues();
82
+ initAnswerChanged() {
83
+ this.prepareGame();
77
84
  }
78
- componentDidLoad() {
79
- this.initConnect();
80
- this.preserveColors();
81
- this.updateDraggables();
82
- }
83
- componentDidUpdate() {
84
- if (this.livePreview) {
85
- this.initConnect();
86
- this.preserveColors();
87
- this.updateDraggables();
85
+ async onIsVisibleChanged(state) {
86
+ if (state) {
87
+ await this.scrollToRevealGame();
88
+ this.setScrollableHeight();
88
89
  }
89
90
  }
90
91
  get hasValues() {
91
- var _a;
92
- return !!(((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) && (this.values[0].length || this.values[1].length));
92
+ var _a, _b, _c, _d;
93
+ return !!(((_b = (_a = this.values) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.length) || ((_d = (_c = this.values) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.length));
93
94
  }
94
- get isConnectMatchable() {
95
- var _a, _b;
96
- return ((_a = this.draggables) === null || _a === void 0 ? void 0 : _a.length) === ((_b = this.connectables) === null || _b === void 0 ? void 0 : _b.length);
95
+ get isGameMatchable() {
96
+ var _a, _b, _c, _d;
97
+ return ((_b = (_a = this.values) === null || _a === void 0 ? void 0 : _a[0].filter(v => v)) === null || _b === void 0 ? void 0 : _b.length) === ((_d = (_c = this.values) === null || _c === void 0 ? void 0 : _c[1].filter(v => v)) === null || _d === void 0 ? void 0 : _d.length);
97
98
  }
98
- updateDraggables() {
99
- if (this.draggables) {
100
- this.draggables = this.draggables.map((draggable) => Object.assign(draggable, { draggableInstance: this.getDraggableInstance(draggable.id) }));
101
- }
99
+ get draggableElements() {
100
+ return Array.from(this.host.shadowRoot.querySelectorAll('.draggable') || []);
102
101
  }
103
- initConnect() {
104
- if (this.mainContainerElement) {
105
- this.getScrollableArea();
106
- }
102
+ get connectableElements() {
103
+ return Array.from(this.host.shadowRoot.querySelectorAll('.connectable') || []);
107
104
  }
108
- shuffleObjects(items) {
109
- if (items === null || items === void 0 ? void 0 : items.length) {
110
- const newItems = items;
111
- for (let i = items.length - 1; i > 0; i--) {
112
- const pos = Math.floor(Math.random() * (i + 1));
113
- const temp = newItems[i];
114
- newItems[i] = newItems[pos];
115
- newItems[pos] = temp;
116
- }
117
- return newItems;
118
- }
105
+ componentWillLoad() {
106
+ this.prepareGame();
119
107
  }
120
- shuffleConnectValues() {
108
+ componentWillUpdate() {
121
109
  var _a;
122
- if (((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) && this.shuffled) {
123
- [this.draggables, this.connectables].forEach((items) => (items = this.shuffleObjects(items)));
110
+ if (!((_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find(d => d === null || d === void 0 ? void 0 : d.draggableInstance))) {
111
+ this.initGame();
124
112
  }
125
113
  }
126
- getElement(id, container) {
127
- const containerElement = this.mainContainerElement.querySelector(`div.${container}-container`);
128
- return containerElement === null || containerElement === void 0 ? void 0 : containerElement.querySelector(`[id="${id}"]`);
114
+ componentDidLoad() {
115
+ this.initGame();
129
116
  }
130
- getConnectable(id) {
131
- var _a;
132
- return (_a = this.connectables) === null || _a === void 0 ? void 0 : _a.find((connectable) => connectable.id === id);
117
+ prepareGame() {
118
+ this.prepareItems();
119
+ this.connectItems();
120
+ this.shuffleItems();
133
121
  }
134
- getDraggable(id) {
135
- var _a;
136
- return (_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find((draggable) => draggable.id === id);
137
- }
138
- getScrollableArea() {
139
- var _a, _b, _c;
140
- if (!this.readonly && this.isVisible && ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) && ((_b = this.subContainerElements) === null || _b === void 0 ? void 0 : _b.length)) {
141
- const arrAllElementLoaded = !!(this.subContainerElements[0].childElementCount === ((_c = this.values) === null || _c === void 0 ? void 0 : _c[0].length) && this.subContainerElements[1].childElementCount === this.values[1].length);
142
- if (arrAllElementLoaded) {
143
- setTimeout(() => {
144
- const absoluteConnectContainerHeight = this.subContainerElements[0].clientHeight;
145
- const pageContent = rrule.findParent(this.host, 'form');
146
- if (pageContent) {
147
- const pageContentBR = pageContent.getBoundingClientRect();
148
- const availableHeight = pageContentBR.height - (this.host.getBoundingClientRect().top - pageContentBR.top);
149
- if (availableHeight < absoluteConnectContainerHeight) {
150
- this.mainContainerElement.style.height = `${availableHeight}px`;
151
- this.mainContainerElement.style.overflowY = 'auto';
152
- this.mainContainerElement.style.overflowX = 'hidden';
153
- if (this.draggableInstances) {
154
- this.draggableInstances.forEach((draggableInstance) => (draggableInstance.autoScroll = 1));
155
- }
156
- }
157
- }
158
- }, 500);
159
- }
160
- }
122
+ async initGame() {
123
+ await this.scrollToRevealGame();
124
+ this.setScrollableHeight();
125
+ this.setDraggableObserver();
126
+ this.initDraggables();
161
127
  }
162
- preserveColors() {
128
+ initDraggables() {
163
129
  var _a;
164
- if ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) {
165
- this.value.forEach((couple) => {
166
- const [leftValue, rightValue] = couple;
167
- let draggable = this.draggables.find((drag) => drag.value === leftValue);
168
- let connectable = this.connectables.find((connect) => connect.value === rightValue);
169
- if (!draggable) {
170
- draggable = this.draggables.find((drag) => drag.value === rightValue);
171
- connectable = this.connectables.find((connect) => connect.value === leftValue);
172
- }
173
- if (draggable && connectable) {
174
- this.attachConnectable(draggable, connectable.id);
175
- this.applyColorChanges();
176
- }
177
- });
178
- }
130
+ (_a = this.draggableElements) === null || _a === void 0 ? void 0 : _a.forEach(e => this.initDraggableActions(e));
131
+ }
132
+ async scrollToRevealGame() {
133
+ const scrollElement = this.host.closest('yoo-ion-scroll');
134
+ return scrollElement && new Promise(resolve => {
135
+ setTimeout(() => {
136
+ scrollElement.scrollTo({ top: scrollElement.scrollHeight, behavior: 'smooth' });
137
+ resolve();
138
+ }, 1000);
139
+ });
179
140
  }
180
- applyCorrections(draggable, connectableId) {
181
- draggable.isCorrect = draggable.id === connectableId;
141
+ setScrollableHeight() {
142
+ var _a, _b, _c, _d, _e, _f, _g;
143
+ const GAP_PADDING = 8;
144
+ const { bottom } = this.host.getBoundingClientRect();
145
+ const numberOfItems = ((_b = (_a = this.values) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.length) || 0;
146
+ const formBounding = (_c = this.host.closest('form')) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect();
147
+ const itemHeight = ((_e = (_d = this.innerContainerElement) === null || _d === void 0 ? void 0 : _d.querySelector('[id]')) === null || _e === void 0 ? void 0 : _e.clientHeight) + GAP_PADDING + GAP_PADDING / numberOfItems + 1;
148
+ if (itemHeight && formBounding && bottom > formBounding.bottom && ((_g = (_f = this.values) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.length)) {
149
+ const maxItems = Math.floor(formBounding.height / itemHeight);
150
+ const maxHeight = maxItems * itemHeight + (maxItems + 1) * GAP_PADDING;
151
+ this.innerContainerElement.style.maxHeight = `${Math.min(formBounding.height, maxHeight + GAP_PADDING)}px`;
152
+ }
182
153
  }
183
- initUserAnswersArray() {
184
- this.userAnswers = [];
185
- if (this.values && this.values.length && Array.isArray(this.values[0])) {
186
- this.values[0].forEach((value, index) => {
187
- var _a, _b;
188
- if (value) {
189
- this.userAnswers.push([(_b = (_a = this.draggables) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.id, '']);
154
+ setDraggableObserver() {
155
+ this.draggables = this.draggables.map(d => {
156
+ return new Proxy(d, {
157
+ set: (target, key, value) => {
158
+ if (key === 'connectableId') {
159
+ target[key] = value;
160
+ this.draggables.forEach(d => {
161
+ if (d.connectableId === value && d.id !== target.id) {
162
+ delete d.connectableId;
163
+ }
164
+ });
165
+ this.getUserAnswers();
166
+ this.validateUserAnswers();
167
+ }
168
+ return target[key] = value;
190
169
  }
191
170
  });
192
- }
193
- }
194
- initItems() {
195
- var _a, _b;
196
- const ids = [];
197
- (_b = (_a = this.values) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.forEach(() => {
198
- ids.push(index$1.getUUID());
199
171
  });
200
- ITEM_TYPES.forEach((type, index) => {
172
+ }
173
+ shuffleItems() {
174
+ this.shuffled && CONNECT_TYPES.forEach(type => this[`${type}s`] = shuffle.shuffle(this[`${type}s`]));
175
+ }
176
+ prepareItems() {
177
+ CONNECT_TYPES.forEach((type, index) => {
201
178
  var _a, _b;
202
- this[`${type}s`] =
203
- ((_b = (_a = this.values) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.map((value, valueIndex) => Object.assign({
204
- value,
205
- id: ids[valueIndex]
206
- }, !index
207
- ? {
208
- color: this.colors[valueIndex],
209
- isCorrect: false
210
- }
211
- : {
212
- isConnected: false
213
- }))) || [];
179
+ this[`${type}s`] = ((_b = (_a = this.values) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.map((value, i) => (Object.assign({ value, id: index$1.getUUID() }, (!index && {
180
+ color: this.colors[i]
181
+ }))))) || [];
214
182
  });
215
183
  }
216
- setColor(elements, color) {
217
- const colorValue = rrule.getCssColor(this.colors.includes(color) ? this.defaultColors[0] : this.defaultColors[1]);
218
- const bgColor = rrule.getCssColor(color);
219
- this.updateColor(elements, bgColor, colorValue);
220
- }
221
- removeColor(elements) {
222
- const colorValue = rrule.getCssColor(this.defaultColors[1]);
223
- const bgColor = rrule.getCssColor(this.defaultColors[0]);
224
- const images = elements.filter((el) => el.classList.contains('image'));
225
- const el = elements.filter((val) => !(images === null || images === void 0 ? void 0 : images.includes(val)));
226
- if (images) {
227
- this.updateColor(images, 'transparent', 'transparent');
184
+ connectItems() {
185
+ if (this.value) {
186
+ this.draggables = this.draggables.map(draggable => {
187
+ var _a, _b, _c;
188
+ const [value1, value2] = ((_a = this.value) === null || _a === void 0 ? void 0 : _a.find(v => v.includes(draggable.value))) || [];
189
+ return Object.assign(Object.assign({}, draggable), (value1 && value2 && {
190
+ connectableId: (_c = (_b = this.connectables) === null || _b === void 0 ? void 0 : _b.find(c => c.value === value1 || c.value === value2)) === null || _c === void 0 ? void 0 : _c.id
191
+ }));
192
+ });
228
193
  }
229
- this.updateColor(el, bgColor, colorValue);
230
194
  }
231
- updateColor(els, bgColor, color) {
232
- els === null || els === void 0 ? void 0 : els.forEach((el) => {
233
- if (el) {
234
- el.style.backgroundColor = bgColor;
235
- el.style.color = color;
236
- }
237
- });
238
- }
239
- getDraggableInstance(id) {
240
- if (this.mainContainerElement && id) {
241
- const currentDraggable = this.getDraggable(id);
242
- const currentDragEl = this.getElement(currentDraggable.id, 'draggable');
195
+ initDraggableActions(draggableElement) {
196
+ var _a;
197
+ if (draggableElement) {
198
+ let tempConnectableElement;
199
+ const currentDraggable = (_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find(d => (d === null || d === void 0 ? void 0 : d.id) === draggableElement.id);
243
200
  const onDragElement = () => {
244
- const draggedElementBR = currentDragEl.getBoundingClientRect();
245
- const connectableThreshold = this.subContainerElements[1].getBoundingClientRect().x;
246
- const isInConnectableArea = draggedElementBR.x + draggedElementBR.width >= connectableThreshold;
201
+ var _a, _b;
202
+ const overlapThreshold = '65%';
203
+ const { x, width } = draggableElement.getBoundingClientRect();
204
+ const connectableThreshold = this.innerContainerElement.querySelector('.connectables').getBoundingClientRect().x;
205
+ const isInConnectableArea = x + width >= connectableThreshold;
247
206
  if (isInConnectableArea) {
248
- this.connectables.forEach((connectable) => {
249
- const connectableEl = this.getElement(connectable.id, 'connectable');
250
- if (currentDraggable && isInConnectableArea) {
251
- if (currentDraggable.draggableInstance.hitTest(connectableEl, this.overlapThreshold)) {
252
- currentDraggable.tempConnectableId = connectable.id;
253
- this.setColor([connectableEl], this.hoverColor);
254
- }
207
+ this.connectableElements.forEach(e => {
208
+ var _a, _b;
209
+ 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) {
210
+ tempConnectableElement = e;
211
+ tempConnectableElement.style.backgroundColor = 'var(--stable-light)';
255
212
  }
256
213
  });
257
214
  }
258
- const connectableEl = this.getElement(currentDraggable.tempConnectableId, 'connectable');
259
- if (currentDraggable.tempConnectableId && !currentDraggable.draggableInstance.hitTest(connectableEl, this.overlapThreshold)) {
260
- const tempItem = this.getConnectable(currentDraggable.tempConnectableId);
261
- if (!tempItem.isConnected) {
262
- this.removeColor([connectableEl]);
215
+ if (tempConnectableElement && !currentDraggable.draggableInstance.hitTest(tempConnectableElement, overlapThreshold)) {
216
+ ['color', 'background-color'].forEach(prop => tempConnectableElement.style.removeProperty(prop));
217
+ const connectableColor = (_b = (_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find(d => (d === null || d === void 0 ? void 0 : d.connectableId) === tempConnectableElement.id)) === null || _b === void 0 ? void 0 : _b.color;
218
+ if (connectableColor) {
219
+ tempConnectableElement.style.backgroundColor = `var(--${connectableColor}`;
220
+ tempConnectableElement.style.color = 'var(--light)';
263
221
  }
264
- else {
265
- const sourceColor = this.draggables
266
- .filter((item) => item === null || item === void 0 ? void 0 : item.connectable)
267
- .find((item) => item.connectable.id === currentDraggable.tempConnectableId).color;
268
- this.setColor([connectableEl], sourceColor);
269
- }
270
- delete currentDraggable.tempConnectableId;
222
+ tempConnectableElement = null;
271
223
  }
272
224
  };
273
- const onReleaseElement = () => {
274
- rrule.gsapTo(currentDragEl, this.animationDelay, {
275
- x: 0,
276
- y: 0
277
- }).then(() => {
278
- if (currentDraggable === null || currentDraggable === void 0 ? void 0 : currentDraggable.tempConnectableId) {
279
- // get temp connectable
280
- const connectedElement = this.getElement(currentDraggable.tempConnectableId, 'connectable');
281
- const itemContainerElement = connectedElement.parentElement;
282
- this.setColor([itemContainerElement.firstElementChild], 'transparent');
283
- // attach temp connectable as connected
284
- this.attachConnectable(currentDraggable, currentDraggable.tempConnectableId);
285
- // check for isolated colored connectable
286
- this.removeOldConnectable();
287
- this.applyColorChanges();
288
- this.autoCompleteLastConnection();
289
- this.addAnswer(currentDraggable.id, currentDraggable.tempConnectableId);
290
- delete currentDraggable.tempConnectableId;
291
- }
292
- });
225
+ const onReleaseElement = async () => {
226
+ await rrule.gsapTo(draggableElement, this.animated ? 0.25 : 0, { x: 0, y: 0 });
227
+ if (tempConnectableElement) {
228
+ currentDraggable.connectableId = tempConnectableElement.id;
229
+ this.autoCompleteLastConnection();
230
+ }
231
+ tempConnectableElement = null;
293
232
  };
294
233
  const onCancelConnection = () => {
295
- if (currentDraggable === null || currentDraggable === void 0 ? void 0 : currentDraggable.connectable) {
296
- const connectedElement = this.getElement(currentDraggable.connectable.id, 'connectable');
297
- const clickedDraggableElement = this.getElement(currentDraggable.id, 'draggable');
298
- this.removeColor([clickedDraggableElement, connectedElement]);
299
- this.getConnectable(currentDraggable.connectable.id).isConnected = false;
300
- delete currentDraggable.connectable;
301
- this.addAnswer(currentDraggable.id, '');
302
- }
234
+ delete currentDraggable.connectableId;
235
+ this.autoEraseLastConnection();
236
+ this.getUserAnswers();
237
+ this.validateUserAnswers();
303
238
  };
304
- if (!this.readonly && this.isConnectMatchable && currentDragEl && this.mainContainerElement) {
305
- return new rrule.Draggable(currentDragEl, {
306
- bound: this.mainContainerElement,
239
+ if (!this.readonly && this.isGameMatchable && draggableElement) {
240
+ currentDraggable.draggableInstance = new rrule.Draggable(draggableElement, {
307
241
  autoScroll: 1,
242
+ bound: this.innerContainerElement,
308
243
  onDrag: onDragElement,
309
- onPress: onCancelConnection,
244
+ onClick: onCancelConnection,
310
245
  onRelease: onReleaseElement
311
246
  });
312
247
  }
313
248
  }
314
249
  }
315
- applyColorChanges() {
316
- this.draggables.forEach((draggable) => {
317
- var _a;
318
- if (draggable) {
319
- const sourceColor = draggable.color;
320
- const draggedElement = this.getElement(draggable.id, 'draggable');
321
- const connectableElement = this.getElement((_a = draggable.connectable) === null || _a === void 0 ? void 0 : _a.id, 'connectable');
322
- if (connectableElement) {
323
- if (this.readonly) {
324
- this.applyCorrections(draggable, draggable.connectable.id);
325
- for (const element of [draggedElement, connectableElement]) {
326
- const icon = element.getElementsByTagName('yoo-icon')[0];
327
- icon.name = draggable.isCorrect ? this.validationClasses.valid.icon : this.validationClasses.invalid.icon;
328
- icon.color = draggable.isCorrect ? this.validationClasses.valid.iconColor : this.validationClasses.invalid.iconColor;
329
- }
330
- }
331
- this.setColor([draggedElement, connectableElement], sourceColor);
332
- }
333
- }
334
- });
335
- }
336
- removeOldConnectable() {
337
- this.connectables.forEach((connectable) => {
338
- const isConnected = this.draggables.find((srcItem) => { var _a; return ((_a = srcItem === null || srcItem === void 0 ? void 0 : srcItem.connectable) === null || _a === void 0 ? void 0 : _a.id) === connectable.id; });
339
- if (!isConnected) {
340
- this.removeColor([this.getElement(connectable.id, 'connectable')]);
341
- }
342
- });
250
+ getUserAnswers() {
251
+ this.userAnswers = this.draggables.map(d => [d.value, d.connectableId ? this.connectables.find(c => c.id === d.connectableId).value : '']);
343
252
  }
344
- attachConnectable(draggableToConnect, connectableId) {
345
- const connectable = this.getConnectable(connectableId);
346
- const oldConnectedItem = this.draggables.find((dragItem) => { var _a; return ((_a = dragItem === null || dragItem === void 0 ? void 0 : dragItem.connectable) === null || _a === void 0 ? void 0 : _a.id) === connectableId; });
347
- if (oldConnectedItem && oldConnectedItem.id !== (draggableToConnect === null || draggableToConnect === void 0 ? void 0 : draggableToConnect.id)) {
348
- const oldConnectEl = this.getElement(oldConnectedItem.id, 'draggable');
349
- const oldConnectedEl = this.getElement(oldConnectedItem.connectable.id, 'connectable');
350
- this.removeColor([oldConnectEl, oldConnectedEl]);
351
- oldConnectedItem.connectable.isConnected = false;
352
- delete oldConnectedItem.connectable;
353
- }
354
- draggableToConnect.connectable = connectable;
355
- connectable.isConnected = true;
356
- }
357
- addAnswer(draggableId, connectableId) {
358
- if (draggableId && connectableId) {
359
- const answerIndex = this.userAnswers.findIndex((el) => (el === null || el === void 0 ? void 0 : el[0]) === draggableId);
360
- this.userAnswers[answerIndex] = [draggableId, connectableId];
361
- this.checkAnswersValidity();
362
- }
253
+ validateUserAnswers(userAnswers = this.userAnswers) {
254
+ this.validity = !(userAnswers === null || userAnswers === void 0 ? void 0 : userAnswers.reduce((acc, v) => acc + v.filter(i => !i).length, 0));
255
+ formInputHelpers.setValueAndValidateInput(userAnswers, this);
363
256
  }
364
- checkAnswersValidity() {
365
- var _a, _b;
366
- let _validity = false;
367
- if (((_a = this.userAnswers) === null || _a === void 0 ? void 0 : _a.length) === ((_b = this.answer) === null || _b === void 0 ? void 0 : _b.length)) {
368
- _validity = !this.userAnswers.find((gAnswer) => gAnswer[1] === '');
369
- }
370
- if (_validity !== this.validity) {
371
- this.validity = _validity;
372
- }
373
- if (_validity === true) {
374
- this.valideAnswers();
375
- }
376
- }
377
- valideAnswers() {
378
- if (!this.livePreview) {
379
- this.value = this.userAnswers;
380
- const answerValues = [];
381
- this.value.forEach((answers) => {
382
- const drag = this.getDraggable(answers[0]);
383
- const connect = this.getConnectable(answers[1]);
384
- if ((drag === null || drag === void 0 ? void 0 : drag.value) && (connect === null || connect === void 0 ? void 0 : connect.value)) {
385
- answerValues.push([drag.value, connect.value]);
386
- }
387
- });
388
- formInputHelpers.setValueAndValidateInput(answerValues, this);
257
+ autoEraseLastConnection() {
258
+ const connectedDraggables = this.draggables.filter(d => d.connectableId);
259
+ if ((connectedDraggables === null || connectedDraggables === void 0 ? void 0 : connectedDraggables.length) === 1) {
260
+ const lastDraggable = connectedDraggables[0];
261
+ delete lastDraggable.connectableId;
389
262
  }
390
263
  }
391
264
  autoCompleteLastConnection() {
392
- const freeDraggables = this.draggables.filter((draggable) => !draggable.connectable);
393
- const freeConnectables = this.connectables.filter((connectable) => !connectable.isConnected);
394
- if ((freeDraggables === null || freeDraggables === void 0 ? void 0 : freeDraggables.length) === 1 && (freeConnectables === null || freeConnectables === void 0 ? void 0 : freeConnectables.length) === 1) {
395
- const lastFreeDraggable = freeDraggables[0];
396
- const lastFreeConnectable = freeConnectables[0];
397
- const sourceColor = lastFreeDraggable.color;
398
- lastFreeConnectable.isConnected = true;
399
- this.setColor([this.getElement(lastFreeConnectable.id, 'connectable'), this.getElement(lastFreeDraggable.id, 'draggable')], sourceColor);
400
- lastFreeDraggable.connectable = lastFreeConnectable;
401
- this.addAnswer(lastFreeDraggable.id, lastFreeConnectable.id);
265
+ var _a;
266
+ const freeDraggables = this.draggables.filter(d => !d.connectableId);
267
+ if ((freeDraggables === null || freeDraggables === void 0 ? void 0 : freeDraggables.length) === 1) {
268
+ const lastDraggable = freeDraggables[0];
269
+ const lastConectableId = (_a = difference.difference(this.connectables.map(c => c.id), this.draggables.map(d => d.connectableId))) === null || _a === void 0 ? void 0 : _a[0];
270
+ lastDraggable.connectableId = lastConectableId;
402
271
  }
403
272
  }
404
273
  truncateValue(valueToTruncate) {
405
274
  if (valueToTruncate) {
406
- const maxAuthorizedLength = 50;
275
+ const MAX_LENGTH = 50;
407
276
  const translatedValue = rrule.translateMulti(valueToTruncate);
408
277
  const valueLength = translatedValue.length;
409
- if (valueLength > maxAuthorizedLength) {
410
- return translatedValue.substr(0, maxAuthorizedLength).concat('...');
411
- }
412
- else {
413
- return translatedValue;
414
- }
278
+ const isTruncabled = valueLength > MAX_LENGTH;
279
+ return isTruncabled ? translatedValue.substr(0, MAX_LENGTH).concat('...') : translatedValue;
415
280
  }
416
281
  }
282
+ renderCorrectionIcon(value) {
283
+ const getCouple = (values) => values === null || values === void 0 ? void 0 : values.find(v => v.includes(value));
284
+ const isCorrect = isEqual.isEqual(getCouple(this.value), getCouple(this.answer));
285
+ return index.h("yoo-icon", { size: "medium", name: isCorrect ? 'check' : 'cross', color: isCorrect ? 'success' : 'danger' });
286
+ }
417
287
  renderContainer(name) {
418
- const type = name === 'draggable' ? 0 : 1;
419
- const values = name === 'draggable' ? this.draggables : this.connectables;
420
- return (index.h("div", { class: `${name}-container`, ref: (element) => (this.subContainerElements[type] = element) }, values === null || values === void 0 ? void 0 : values.map((item) => {
421
- const hasImage = !rrule.isNullOrUndefined(item === null || item === void 0 ? void 0 : item.value) && index$1.isImageUrl(item === null || item === void 0 ? void 0 : item.value);
422
- return ((item === null || item === void 0 ? void 0 : item.value) && (index.h("div", { class: "item-container" }, index.h("div", { id: item === null || item === void 0 ? void 0 : item.id, class: { [name]: true, image: hasImage, animated: this.animated } }, !hasImage ? index.h("p", null, this.truncateValue(item.value)) : [index.h("yoo-img", { type: "background", src: item.value }), index.h("div", { class: "overlay" })], this.readonly && index.h("yoo-icon", { size: "medium" })))));
288
+ var _a;
289
+ return (index.h("section", { class: { [`${name}s`]: true } }, (_a = this[`${name}s`]) === null || _a === void 0 ? void 0 : _a.map((item) => {
290
+ var _a, _b;
291
+ const { id, value, connectableId, color } = item || {};
292
+ const isImage = !!(value && index$1.isImageUrl(value));
293
+ const isConnected = !!(connectableId || this.draggables.find(d => d.connectableId === id));
294
+ const tileColor = color || ((_b = (_a = this.draggables) === null || _a === void 0 ? void 0 : _a.find(d => d.connectableId === id)) === null || _b === void 0 ? void 0 : _b.color);
295
+ return !!value && (index.h("div", { class: "tile-container" }, index.h("div", Object.assign({}, (isConnected && {
296
+ style: {
297
+ backgroundColor: `var(--${tileColor})`,
298
+ color: 'var(--light)'
299
+ }
300
+ }), { id: id, key: id, class: { [name]: true, image: isImage, animated: this.animated } }), !isImage ? index.h("p", null, this.truncateValue(value)) : [index.h("yoo-img", { type: "background", src: value }), index.h("div", { class: "overlay" })], this.readonly && this.renderCorrectionIcon(value))));
423
301
  })));
424
302
  }
303
+ renderBanner() {
304
+ return this.livePreview && index.h("yoo-banner", null);
305
+ }
425
306
  render() {
426
- return this.hasValues && (index.h("div", { class: "connect-container", ref: (element) => (this.mainContainerElement = element) }, ITEM_TYPES.map((itemType) => this.renderContainer(itemType))));
307
+ return this.hasValues && (index.h(index.Host, { class: commonHelpers.getAppContext(this.host) }, this.renderBanner(), index.h("div", { class: "inner-container", ref: (element) => (this.innerContainerElement = element) }, CONNECT_TYPES.map(type => this.renderContainer(type)))));
427
308
  }
428
309
  get host() { return index.getElement(this); }
429
310
  static get watchers() { return {
430
- "required": ["onRequireChanged"],
431
- "validity": ["isValid"],
432
- "answer": ["initValues"],
433
- "isVisible": ["onIsVisibleChanged"],
434
- "isAnimationFinished": ["onModalAnimationFinished"]
311
+ "values": ["onValuesChanged"],
312
+ "validity": ["onValidityChanged"],
313
+ "value": ["onValueChanged"],
314
+ "answer": ["initAnswerChanged"],
315
+ "isVisible": ["onIsVisibleChanged"]
435
316
  }; }
436
317
  };
437
318
  YooFormConnectComponent.style = formConnectCss;