@wix/bex-core 2.332.0 → 2.333.0

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 (149) hide show
  1. package/dist/cjs/assets/locale/messages_ar.json +3 -0
  2. package/dist/cjs/assets/locale/messages_bg.json +3 -0
  3. package/dist/cjs/assets/locale/messages_ca.json +3 -0
  4. package/dist/cjs/assets/locale/messages_cs.json +3 -0
  5. package/dist/cjs/assets/locale/messages_da.json +3 -0
  6. package/dist/cjs/assets/locale/messages_de.json +3 -0
  7. package/dist/cjs/assets/locale/messages_el.json +3 -0
  8. package/dist/cjs/assets/locale/messages_en.json +3 -0
  9. package/dist/cjs/assets/locale/messages_es.json +3 -0
  10. package/dist/cjs/assets/locale/messages_fi.json +3 -0
  11. package/dist/cjs/assets/locale/messages_fr.json +3 -0
  12. package/dist/cjs/assets/locale/messages_he.json +3 -0
  13. package/dist/cjs/assets/locale/messages_hi.json +3 -0
  14. package/dist/cjs/assets/locale/messages_hu.json +3 -0
  15. package/dist/cjs/assets/locale/messages_id.json +3 -0
  16. package/dist/cjs/assets/locale/messages_it.json +3 -0
  17. package/dist/cjs/assets/locale/messages_ja.json +3 -0
  18. package/dist/cjs/assets/locale/messages_ko.json +3 -0
  19. package/dist/cjs/assets/locale/messages_lt.json +3 -0
  20. package/dist/cjs/assets/locale/messages_ms.json +3 -0
  21. package/dist/cjs/assets/locale/messages_nl.json +3 -0
  22. package/dist/cjs/assets/locale/messages_no.json +3 -0
  23. package/dist/cjs/assets/locale/messages_pl.json +3 -0
  24. package/dist/cjs/assets/locale/messages_pt.json +3 -0
  25. package/dist/cjs/assets/locale/messages_ro.json +3 -0
  26. package/dist/cjs/assets/locale/messages_ru.json +3 -0
  27. package/dist/cjs/assets/locale/messages_sk.json +3 -0
  28. package/dist/cjs/assets/locale/messages_sl.json +3 -0
  29. package/dist/cjs/assets/locale/messages_sv.json +3 -0
  30. package/dist/cjs/assets/locale/messages_th.json +3 -0
  31. package/dist/cjs/assets/locale/messages_tl.json +3 -0
  32. package/dist/cjs/assets/locale/messages_tr.json +3 -0
  33. package/dist/cjs/assets/locale/messages_uk.json +3 -0
  34. package/dist/cjs/assets/locale/messages_vi.json +3 -0
  35. package/dist/cjs/assets/locale/messages_zh.json +3 -0
  36. package/dist/cjs/assets/locale/version_file +1 -1
  37. package/dist/cjs/assets/visual-e2e-locale/messages_visuale2e.json +29 -2
  38. package/dist/cjs/hooks/index.js +0 -6
  39. package/dist/cjs/hooks/index.js.map +1 -1
  40. package/dist/cjs/index.js +0 -7
  41. package/dist/cjs/index.js.map +1 -1
  42. package/dist/cjs/services/translations.js.map +1 -1
  43. package/dist/cjs/state/CustomFieldModalState.js +12 -0
  44. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  45. package/dist/cjs/state/ImportState/ImportState.js +324 -133
  46. package/dist/cjs/state/ImportState/ImportState.js.map +1 -1
  47. package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js +413 -79
  48. package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
  49. package/dist/cjs/state/ImportState/detectFieldType.js +23 -0
  50. package/dist/cjs/state/ImportState/detectFieldType.js.map +1 -1
  51. package/dist/cjs/state/ImportState/fieldEdit.js +49 -0
  52. package/dist/cjs/state/ImportState/fieldEdit.js.map +1 -1
  53. package/dist/cjs/testkit/createInMemorySchemaSource.js +186 -0
  54. package/dist/cjs/testkit/createInMemorySchemaSource.js.map +1 -0
  55. package/dist/cjs/testkit/hubJobImportMocks.js +18 -2
  56. package/dist/cjs/testkit/hubJobImportMocks.js.map +1 -1
  57. package/dist/cjs/testkit/index.js +6 -0
  58. package/dist/cjs/testkit/index.js.map +1 -1
  59. package/dist/cjs/types/SchemaSource.js +2 -1
  60. package/dist/cjs/types/SchemaSource.js.map +1 -1
  61. package/dist/esm/assets/locale/messages_ar.json +3 -0
  62. package/dist/esm/assets/locale/messages_bg.json +3 -0
  63. package/dist/esm/assets/locale/messages_ca.json +3 -0
  64. package/dist/esm/assets/locale/messages_cs.json +3 -0
  65. package/dist/esm/assets/locale/messages_da.json +3 -0
  66. package/dist/esm/assets/locale/messages_de.json +3 -0
  67. package/dist/esm/assets/locale/messages_el.json +3 -0
  68. package/dist/esm/assets/locale/messages_en.json +3 -0
  69. package/dist/esm/assets/locale/messages_es.json +3 -0
  70. package/dist/esm/assets/locale/messages_fi.json +3 -0
  71. package/dist/esm/assets/locale/messages_fr.json +3 -0
  72. package/dist/esm/assets/locale/messages_he.json +3 -0
  73. package/dist/esm/assets/locale/messages_hi.json +3 -0
  74. package/dist/esm/assets/locale/messages_hu.json +3 -0
  75. package/dist/esm/assets/locale/messages_id.json +3 -0
  76. package/dist/esm/assets/locale/messages_it.json +3 -0
  77. package/dist/esm/assets/locale/messages_ja.json +3 -0
  78. package/dist/esm/assets/locale/messages_ko.json +3 -0
  79. package/dist/esm/assets/locale/messages_lt.json +3 -0
  80. package/dist/esm/assets/locale/messages_ms.json +3 -0
  81. package/dist/esm/assets/locale/messages_nl.json +3 -0
  82. package/dist/esm/assets/locale/messages_no.json +3 -0
  83. package/dist/esm/assets/locale/messages_pl.json +3 -0
  84. package/dist/esm/assets/locale/messages_pt.json +3 -0
  85. package/dist/esm/assets/locale/messages_ro.json +3 -0
  86. package/dist/esm/assets/locale/messages_ru.json +3 -0
  87. package/dist/esm/assets/locale/messages_sk.json +3 -0
  88. package/dist/esm/assets/locale/messages_sl.json +3 -0
  89. package/dist/esm/assets/locale/messages_sv.json +3 -0
  90. package/dist/esm/assets/locale/messages_th.json +3 -0
  91. package/dist/esm/assets/locale/messages_tl.json +3 -0
  92. package/dist/esm/assets/locale/messages_tr.json +3 -0
  93. package/dist/esm/assets/locale/messages_uk.json +3 -0
  94. package/dist/esm/assets/locale/messages_vi.json +3 -0
  95. package/dist/esm/assets/locale/messages_zh.json +3 -0
  96. package/dist/esm/assets/locale/version_file +1 -1
  97. package/dist/esm/assets/visual-e2e-locale/messages_visuale2e.json +29 -2
  98. package/dist/esm/hooks/index.js +0 -1
  99. package/dist/esm/hooks/index.js.map +1 -1
  100. package/dist/esm/index.js +0 -1
  101. package/dist/esm/index.js.map +1 -1
  102. package/dist/esm/state/CustomFieldModalState.js +8 -0
  103. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  104. package/dist/esm/state/ImportState/ImportState.js +246 -111
  105. package/dist/esm/state/ImportState/ImportState.js.map +1 -1
  106. package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js +293 -67
  107. package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
  108. package/dist/esm/state/ImportState/detectFieldType.js +19 -0
  109. package/dist/esm/state/ImportState/detectFieldType.js.map +1 -1
  110. package/dist/esm/state/ImportState/fieldEdit.js +44 -0
  111. package/dist/esm/state/ImportState/fieldEdit.js.map +1 -1
  112. package/dist/esm/testkit/createInMemorySchemaSource.js +140 -0
  113. package/dist/esm/testkit/createInMemorySchemaSource.js.map +1 -0
  114. package/dist/esm/testkit/hubJobImportMocks.js +17 -1
  115. package/dist/esm/testkit/hubJobImportMocks.js.map +1 -1
  116. package/dist/esm/testkit/index.js +1 -0
  117. package/dist/esm/testkit/index.js.map +1 -1
  118. package/dist/esm/types/SchemaSource.js.map +1 -1
  119. package/dist/types/hooks/index.d.ts +0 -1
  120. package/dist/types/hooks/index.d.ts.map +1 -1
  121. package/dist/types/index.d.ts +0 -1
  122. package/dist/types/index.d.ts.map +1 -1
  123. package/dist/types/services/translations.d.ts +7 -1
  124. package/dist/types/services/translations.d.ts.map +1 -1
  125. package/dist/types/state/CustomFieldModalState.d.ts +9 -0
  126. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  127. package/dist/types/state/ImportState/ImportState.d.ts +165 -61
  128. package/dist/types/state/ImportState/ImportState.d.ts.map +1 -1
  129. package/dist/types/state/ImportState/detectFieldType.d.ts +2 -0
  130. package/dist/types/state/ImportState/detectFieldType.d.ts.map +1 -1
  131. package/dist/types/state/ImportState/fieldEdit.d.ts +6 -0
  132. package/dist/types/state/ImportState/fieldEdit.d.ts.map +1 -1
  133. package/dist/types/testkit/WixPatternsContainer.driver.d.ts +4 -0
  134. package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
  135. package/dist/types/testkit/createInMemorySchemaSource.d.ts +41 -0
  136. package/dist/types/testkit/createInMemorySchemaSource.d.ts.map +1 -0
  137. package/dist/types/testkit/hubJobImportMocks.d.ts +11 -1
  138. package/dist/types/testkit/hubJobImportMocks.d.ts.map +1 -1
  139. package/dist/types/testkit/index.d.ts +1 -0
  140. package/dist/types/testkit/index.d.ts.map +1 -1
  141. package/dist/types/types/SchemaSource.d.ts +6 -4
  142. package/dist/types/types/SchemaSource.d.ts.map +1 -1
  143. package/package.json +4 -4
  144. package/dist/cjs/hooks/useImportConfig.js +0 -12
  145. package/dist/cjs/hooks/useImportConfig.js.map +0 -1
  146. package/dist/esm/hooks/useImportConfig.js +0 -6
  147. package/dist/esm/hooks/useImportConfig.js.map +0 -1
  148. package/dist/types/hooks/useImportConfig.d.ts +0 -5
  149. package/dist/types/hooks/useImportConfig.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImportState.js","sourceRoot":"","sources":["../../../../src/state/ImportState/ImportState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EACL,WAAW,GAIZ,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EACL,SAAS,EACT,WAAW,GAGZ,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAkB,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAgB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgE1C,gFAAgF;AAChF,gFAAgF;AAEhF,+EAA+E;AAC/E,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAoI9E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,uBAAuB;AACvB,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,iFAAiF;AACjF,4EAA4E;AAC5E,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,yDAAyD;AACzD,0CAA0C;AAC1C,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,KAAK,GAAG,MAAM;SACjB,IAAI,EAAE;SACN,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,KAAK,KAAK,CAAC;QACT,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACjD;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,6EAA6E;AAC7E,yEAAyE;AACzE,+EAA+E;AAC/E,0EAA0E;AAC1E,2EAA2E;AAC3E,iFAAiF;AACjF,kBAAkB;AAClB,SAAS,qBAAqB,CAC5B,MAAc,EACd,SAAsB,EACtB,QAAqB;IAErB,IAAI,WAAW,GAAG,MAAM,CAAC;IACzB,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACrD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;SAC7B;QACD,WAAW,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;KACrC;AACH,CAAC;AAED,MAAM,OAAO,WAAW;IA+DtB,YAAY,KAAuB;QAnD1B,wBAAmB,GAAG,IAAI,qBAAqB,EAErD,CAAC;QAEJ,gBAAW,GAAe,QAAQ,CAAC;QACnC,iBAAY,GAAsC;YAChD,GAAG,WAAW,CAAC,IAAI;SACpB,CAAC;QACF,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAa,EAAE,CAAC;QAC1B,YAAO,GAAe,EAAE,CAAC;QACzB,6EAA6E;QAC7E,6EAA6E;QAC7E,2EAA2E;QAC3E,4EAA4E;QAC5E,wEAAwE;QACxE,mBAAc,GAAa,EAAE,CAAC;QAC9B,oBAAe,GAAkC,EAAE,CAAC;QACpD,6EAA6E;QAC7E,sEAAsE;QACtE,sEAAsE;QACtE,mCAAmC;QACnC,EAAE;QACF,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,0CAA0C;QAC1C,gBAAW,GAAgB,WAAW,CAAC,SAAS,CAAC;QACjD,mBAAc,GAAG,CAAC,CAAC;QACnB,eAAU,GAAG,CAAC,CAAC;QACf,WAAM,GAAiB;YACrB,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;SACV,CAAC;QACF,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAG,KAAK,CAAC;QACZ,cAAS,GAAoD,IAAI,CAAC;QAClE,eAAU,GAAG,KAAK,CAAC;QACnB,qBAAgB,GAA2B,IAAI,CAAC;QACxD,8EAA8E;QAC9E,kDAAkD;QAC1C,WAAM,GAAkB,IAAI,CAAC;QACrC,4EAA4E;QAC5E,8EAA8E;QAC9E,6CAA6C;QACrC,mBAAc,GAAkB,IAAI,CAAC;QAO3C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;QAEH,cAAc,CAAC,IAAI,EAAE;YACnB,WAAW,EAAE,UAAU,CAAC,GAAG;YAC3B,YAAY,EAAE,UAAU,CAAC,GAAG;YAC5B,QAAQ,EAAE,UAAU,CAAC,GAAG;YACxB,UAAU,EAAE,UAAU,CAAC,GAAG;YAC1B,OAAO,EAAE,UAAU,CAAC,GAAG;YACvB,cAAc,EAAE,UAAU,CAAC,GAAG;YAC9B,eAAe,EAAE,UAAU,CAAC,GAAG;YAC/B,WAAW,EAAE,UAAU,CAAC,GAAG;YAC3B,cAAc,EAAE,UAAU,CAAC,GAAG;YAC9B,UAAU,EAAE,UAAU,CAAC,GAAG;YAC1B,MAAM,EAAE,UAAU,CAAC,GAAG;YACtB,WAAW,EAAE,UAAU,CAAC,GAAG;YAC3B,WAAW,EAAE,UAAU,CAAC,GAAG;YAC3B,aAAa,EAAE,QAAQ;YACvB,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,QAAQ;YACzB,gBAAgB,EAAE,QAAQ;YAC1B,cAAc,EAAE,QAAQ;YACxB,cAAc,EAAE,MAAM,CAAC,KAAK;YAC5B,gBAAgB,EAAE,MAAM,CAAC,KAAK;YAC9B,UAAU,EAAE,MAAM,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,KAAK;YACxB,kBAAkB,EAAE,MAAM,CAAC,KAAK;YAChC,iBAAiB,EAAE,MAAM,CAAC,KAAK;YAC/B,cAAc,EAAE,MAAM,CAAC,KAAK;YAC5B,cAAc,EAAE,MAAM,CAAC,KAAK;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,cAAc,EAAE,MAAM,CAAC,KAAK;YAC5B,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAE7E,2DAA2D;IAC3D,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,2EAA2E;IAC3E,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,+EAA+E;IAC/E,8CAA8C;IAC9C,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC;IAChD,CAAC;IAED,IAAI;QACF,OAAO,GAAG,EAAE;YACV,2EAA2E;YAC3E,2EAA2E;YAC3E,sEAAsE;YACtE,2EAA2E;YAC3E,0EAA0E;YAC1E,eAAe;YACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACH,IAAI,eAAe;QACjB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAC1C,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;gBACxC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,EACD,EAAE,CACH,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAChC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;aAChC,MAAM,CACL,CAAC,CAAC,EAA8C,EAAE,CAChD,CAAC,EAAE,IAAI,KAAK,UAAU,CACzB;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACzB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,IAAI,cAAc;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CACd,OAAO,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,CACjE,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,MAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;IACtE,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,WAAW,CAAC,IAAI;SACpB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;SACV,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,4EAA4E;QAC5E,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;YAE/B,yEAAyE;YACzE,+CAA+C;YAC/C,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI;oBACF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnD;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;iBACrD;aACF;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;aAC7B;YAED,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBACxC,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;QAE1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI;YACF,MAAM,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC3C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SACxC;QACD,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,MAAM,KAAK,WAAW,EAAE;YAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,MAAM,KAAK,WAAW,EAAE;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;SACpC;IACH,CAAC;IAEO,iBAAiB,CAAC,OAAiB;QACzC,MAAM,OAAO,GAAkC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;SAC3B,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CACR,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,gBAAgB;gBACxC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAC/C,CAAC;YAEF,IAAI,OAAO,EAAE,EAAE,EAAE;gBACf,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;aAC7D;iBAAM;gBACL,wEAAwE;gBACxE,gEAAgE;gBAChE,kCAAkC;gBAClC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB;oBACtC,CAAC,CAAC;wBACE,IAAI,EAAE,KAAK;wBACX,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;qBAC7D;oBACH,CAAC,CAAC,IAAI,CAAC;aACV;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,uEAAuE;IAC/D,aAAa,CAAC,WAAmB;QACvC,OAAO,IAAI,CAAC,OAAO;aAChB,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;aAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,gFAAgF;IAChF,0EAA0E;IAClE,wBAAwB,CAAC,OAAiB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,OAAO,QAAQ,IAAI,IAAI;YACrB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,QAAgB,EAAE,SAAyB;QAChE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjE,yEAAyE;QACzE,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAiB;QACpC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;YACtD,OAAO;SACR;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YACrD,OAAO;SACR;QAED,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAU;QACrC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEO,WAAW,CAAC,KAAkB;QACpC,IAAI;YACF,oEAAoE;YACpE,mEAAmE;YACnE,2DAA2D;YAC3D,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChE;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEO,WAAW,CAAC,IAAU,EAAE,UAA4B;QAC1D,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,IAAU;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC;YACtD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;gBAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACxC,kBAAkB,EAAE,IAAI;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,kCAAkC,EAAE;gBAC1D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;aACxC,CAAC;YACF,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC;gBACvD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACzC,kBAAkB,EAAE,IAAI;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,IAAI,OAAiB,CAAC;QACtB,IAAI;YACF,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;SACpD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO;SACR;QAED,MAAM,UAAU,GAAG,OAAO;aACvB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,GAAG,EAAmB,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAEjD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO;SACR;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,6EAA6E;IAC7E,+CAA+C;IAC/C,2EAA2E;IAC3E,+EAA+E;IAC/E,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,4EAA4E;IAC5E,mEAAmE;IAC3D,KAAK,CAAC,sBAAsB,CAAC,KAAa;QAChD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,MAA0B,CAAC;QAE/B,GAAG;YACD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACvE,KAAK,EACL,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAChC,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE;oBAC5C,SAAS;iBACV;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAC3B,IACE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;oBACvB,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAC3B;oBACA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrB;aACF;YAED,MAAM;gBACJ,CAAC,cAAc,EAAE,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC;SAC1E,QAAQ,MAAM,EAAE;QAEjB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,OAAsB;QAC/C,IAAI,CAAC,eAAe,GAAG;YACrB,GAAG,IAAI,CAAC,eAAe;YACvB,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;SACjE,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GACb,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG;YACrB,GAAG,IAAI,CAAC,eAAe;YACvB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;SACrC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CACf,MAAc,EACd,IAIC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,eAAe,GAAG;YACrB,GAAG,IAAI,CAAC,eAAe;YACvB,CAAC,MAAM,CAAC,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC5C;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAgB;QAC7B,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,aAAa,CACzB,eAA8C;QAE9C,MAAM,GAAG,GAAG,yBAAyB,CACnC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,eAAe,CAChB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE;YAC1D,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;YACpD,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;SACjC,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,oBAAoB;YACpB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QAED,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EACpC,KAAK,EACL;YACE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;YAClC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;SACvD,CACF,CAAC;QAEF,qEAAqE;QACrE,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;YACnC,mEAAmE;YACnE,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,0EAA0E;YAC1E,2EAA2E;YAC3E,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,mBAAmB;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,EACrD,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CACrE,CAAC;YACF,MAAM,GAAG,GAAG,GAAqB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE1D,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,uEAAuE;gBACvE,gEAAgE;gBAChE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,MAAM,KAAK,CAAC;SACb;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,mEAAmE;IACnE,4EAA4E;IAC5E,6EAA6E;IAC7E,gDAAgD;IACxC,YAAY;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QACD,OAAO;YACL,iBAAiB,EAAE;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;aACtE;SACF,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,GAAoB;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,QAAQ,EAAE,eAAe,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,EAAE,aAAa,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,SAAS,GAAG,MAAM,CAAC;QAExD,yEAAyE;QACzE,0EAA0E;QAC1E,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,KAAK,CAAC;SACd;QAED,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAiB,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO,IAAI,CAAC;aACb;YACD,IAAI,MAAM,EAAE,OAAO,EAAE;gBACnB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;aACjC;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO,IAAI,CAAC;aACb;YACD,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,WAAW,CAAC,KAAK;oBACpB,KAAK;iBACN,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACb;QAED,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CACnC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,oBAAoB;QAChC,MAAM,QAAQ,GAAkC,EAAE,CAAC;QACnD,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,6EAA6E;QAC7E,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxE,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aAC5B,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAClD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE7C,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;aACzB;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;gBACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;aACpC;iBAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC5B,oEAAoE;gBACpE,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;gBACvD,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,qBAAqB,CAChD,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG;oBACH,IAAI,EAAE,OAAO,CAAC,SAAS;oBACvB,WAAW;oBACX,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;iBAClD,CAAC,CAAC;gBACH,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;aACxB;iBAAM;gBACL,0EAA0E;gBAC1E,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;aACzB;SACF;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7C,6EAA6E;YAC7E,0EAA0E;YAC1E,8EAA8E;YAC9E,0EAA0E;YAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,iBAAiB;gBACpB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACpE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,6EAA6E;QAC7E,+EAA+E;QAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEvC,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC,uEAAuE;YACvE,oDAAoD;YACpD,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG;gBACZ,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,CAAC;aACV,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,0EAA0E;YAC1E,4BAA4B;YAC5B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,YAAY,EAAE;YAChB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,+CAA+C;QAC/C,IAAI,eAA8C,CAAC;QACnD,IAAI;YACF,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrD;QAAC,OAAO,KAAK,EAAE;YACd,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,WAAW,CAAC,KAAK;oBACpB,KAAK;iBACN,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,WAAW,CAAC,OAAO;YACtB,OAAO;SACR,CAAC;QAEF,+EAA+E;QAC/E,4EAA4E;QAC5E,gFAAgF;QAChF,oDAAoD;QACpD,IAAI,aAA2C,CAAC;QAChD,IAAI;YACF,MAAM,OAAO,CAAC;YACd,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YAED,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,WAAW,CAAC,OAAO;oBACtB,IAAI,EAAE,IAAI,CAAC,MAAM;iBAClB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,iBAAiB;YACjB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,OAAO;iBACR;aACF;YAED,8EAA8E;YAC9E,qEAAqE;YACrE,2EAA2E;YAC3E,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAEvC,WAAW,CAAC,GAAG,EAAE;gBACf,sEAAsE;gBACtE,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBACjC;gBAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,WAAW,CAAC,KAAK;oBACpB,KAAK;iBACN,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,4EAA4E;QAC5E,8EAA8E;QAC9E,+EAA+E;QAC/E,+EAA+E;QAC/E,kDAAkD;QAClD,IAAI,aAAa,EAAE;YACjB,IAAI;gBACF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC;aAC1C;YAAC,OAAO,KAAK,EAAE;gBACd,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;aAC/D;SACF;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ImportState.js","sourceRoot":"","sources":["../../../../src/state/ImportState/ImportState.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,13 @@ jest.mock('../hubJobClient');
13
13
  const COMPLETED_JOB = {
14
14
  id: 'job-1',
15
15
  status: JobStatus.COMPLETED,
16
- progress: { itemsSuccessful: 2, itemsRejected: 0, total: 2, current: 2 },
16
+ progress: {
17
+ itemsSuccessful: 2,
18
+ itemsRejected: 0,
19
+ total: 2,
20
+ current: 2,
21
+ itemsSuccessfulInfo: { itemsCreated: 1, itemsUpdated: 1 },
22
+ },
17
23
  };
18
24
  function setup(clientOverrides = {}, extra = {}) {
19
25
  const client = {
@@ -32,11 +38,24 @@ function setup(clientOverrides = {}, extra = {}) {
32
38
  const showToast = jest.fn();
33
39
  const downloadCsv = jest.fn();
34
40
  const translate = (key, params) => params ? `${key}:${JSON.stringify(params)}` : key;
35
- const { detectColumnType, config: configOverride, ...configOverrides } = extra;
41
+ const { detectColumnType, config: configOverride, collectionId, destination, updateSchema, createFields, fieldManagement, mergeFields, fields, idFieldKey, backup, jobApplicationErrorMap, } = extra;
42
+ const dataSource = destination
43
+ ? {
44
+ destination,
45
+ ...(createFields && { createFields }),
46
+ ...(fieldManagement && { fieldManagement }),
47
+ }
48
+ : {
49
+ collectionId: collectionId ?? 'Movies',
50
+ ...(updateSchema && { updateSchema }),
51
+ };
36
52
  const config = configOverride ?? {
37
- fields: [{ id: 'name', header: 'Name' }],
38
- collectionId: 'Movies',
39
- ...configOverrides,
53
+ fields: fields ?? [{ id: 'name', header: 'Name' }],
54
+ dataSource,
55
+ ...(mergeFields && { mergeFields }),
56
+ ...(idFieldKey && { idFieldKey }),
57
+ ...(backup && { backup }),
58
+ ...(jobApplicationErrorMap && { jobApplicationErrorMap }),
40
59
  };
41
60
  const props = {
42
61
  config,
@@ -72,8 +91,8 @@ function setup(clientOverrides = {}, extra = {}) {
72
91
  }
73
92
  describe('ImportState engine (data-hub job)', () => {
74
93
  beforeEach(() => {
75
- // The success path awaits a real setTimeout (completion linger); make sure
76
- // timers are real even if the preset defaults to fake ones.
94
+ // The poll loop awaits real setTimeouts between polls; make sure timers are
95
+ // real even if the preset defaults to fake ones.
77
96
  jest.useRealTimers();
78
97
  });
79
98
  it('uploads the aligned file, submits a job, and reports success', async () => {
@@ -86,14 +105,53 @@ describe('ImportState engine (data-hub job)', () => {
86
105
  name: 'data.csv',
87
106
  destination: { wixDataCollection: { collectionId: 'Movies' } },
88
107
  });
89
- expect(state.result).toEqual({ succeeded: 2, failed: 0 });
108
+ // created/updated come from the job's itemsSuccessfulInfo.
109
+ expect(state.result).toEqual({
110
+ succeeded: 2,
111
+ failed: 0,
112
+ created: 1,
113
+ updated: 1,
114
+ });
90
115
  expect(state.importStatus.status).toBe('success');
91
- expect(importModalState.close).toHaveBeenCalled();
116
+ // The modal stays open on the summary step; the collection is refreshed now
117
+ // so the table is current once the user closes it via `done`.
118
+ expect(state.currentStep).toBe('summary');
119
+ expect(importModalState.close).not.toHaveBeenCalled();
92
120
  expect(collection.clearResultAndMoveToStart).toHaveBeenCalledWith({
93
121
  force: true,
94
122
  });
95
123
  });
96
- it('shows a partial-success toast when some rows are rejected', async () => {
124
+ it('holds the completed (100%) progress bar on the progress step before the summary (CAIRO-4476)', async () => {
125
+ const { state } = setup();
126
+ // The job reports counts only when it finishes, so the bar can only reach
127
+ // 100% at the very end. Capture the step + counts at the moment the linger
128
+ // starts to prove the user sees the completed bar before the summary
129
+ // replaces it.
130
+ let atLinger = null;
131
+ const spy = jest
132
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
133
+ .spyOn(state, '_lingerOnCompletion')
134
+ .mockImplementation(() => {
135
+ atLinger = {
136
+ step: state.currentStep,
137
+ processed: state.processedCount,
138
+ total: state.totalCount,
139
+ };
140
+ return Promise.resolve();
141
+ });
142
+ await state.startImport();
143
+ expect(atLinger).toEqual({ step: 'progress', processed: 2, total: 2 });
144
+ expect(state.currentStep).toBe('summary');
145
+ spy.mockRestore();
146
+ });
147
+ it('closes the modal only when the user dismisses the summary via done', async () => {
148
+ const { state, importModalState } = setup();
149
+ await state.startImport();
150
+ expect(importModalState.close).not.toHaveBeenCalled();
151
+ state.done();
152
+ expect(importModalState.close).toHaveBeenCalled();
153
+ });
154
+ it('shows the summary step (no toast) when some rows are rejected', async () => {
97
155
  const { state, showToast, importModalState } = setup({
98
156
  getJob: jest.fn(async () => ({
99
157
  id: 'job-1',
@@ -103,16 +161,24 @@ describe('ImportState engine (data-hub job)', () => {
103
161
  itemsRejected: 1,
104
162
  total: 2,
105
163
  current: 2,
164
+ itemsSuccessfulInfo: { itemsCreated: 1, itemsUpdated: 0 },
106
165
  },
107
166
  })),
108
167
  });
109
168
  await state.startImport();
110
- expect(state.result).toEqual({ succeeded: 1, failed: 1 });
111
- expect(showToast).toHaveBeenCalledWith(expect.objectContaining({ type: 'WARNING' }));
112
- expect(importModalState.close).toHaveBeenCalled();
169
+ expect(state.result).toEqual({
170
+ succeeded: 1,
171
+ failed: 1,
172
+ created: 1,
173
+ updated: 0,
174
+ });
175
+ expect(state.currentStep).toBe('summary');
176
+ // The completion toast is gone — the summary step reports the outcome.
177
+ expect(showToast).not.toHaveBeenCalled();
178
+ expect(importModalState.close).not.toHaveBeenCalled();
113
179
  });
114
180
  it('maps the failed "row N" by record (unaffected by an embedded-newline cell)', async () => {
115
- const { state, downloadCsv, showToast } = setup({
181
+ const { state, downloadCsv } = setup({
116
182
  getJob: jest.fn(async () => ({
117
183
  id: 'job-1',
118
184
  status: JobStatus.PARTIALLY_SUCCESSFUL,
@@ -142,15 +208,14 @@ describe('ImportState engine (data-hub job)', () => {
142
208
  };
143
209
  });
144
210
  await state.startImport();
145
- const toast = showToast.mock.calls[0][0];
146
- await toast.action.onClick();
211
+ await state.downloadFailedRows();
147
212
  // "row 4" → csvRows[2] (Mango), NOT shifted by the embedded newline in row 0.
148
213
  const [content] = downloadCsv.mock.calls[0];
149
214
  expect(content).toContain('Mango');
150
215
  expect(content).not.toContain('Apple');
151
216
  });
152
- it('downloads a re-importable CSV of the failed rows from the partial toast action', async () => {
153
- const { state, client, showToast, downloadCsv } = setup({
217
+ it('downloads a re-importable CSV of the failed rows, each prefixed with its failure reason', async () => {
218
+ const { state, client, downloadCsv } = setup({
154
219
  getJob: jest.fn(async () => ({
155
220
  id: 'job-1',
156
221
  status: JobStatus.PARTIALLY_SUCCESSFUL,
@@ -159,18 +224,21 @@ describe('ImportState engine (data-hub job)', () => {
159
224
  // csvRows[1] (the "Pear" row) failed → file line 3 → "row 3".
160
225
  listMovementLogs: jest.fn(async () => ({
161
226
  logs: [
162
- { sourceItemId: 'row 3', failure: { code: 'bad', description: 'x' } },
227
+ {
228
+ sourceItemId: 'row 3',
229
+ failure: { code: 'bad', description: 'Invalid value' },
230
+ },
163
231
  ],
164
232
  pagingMetadata: { hasNext: false },
165
233
  })),
166
234
  });
167
235
  await state.startImport();
168
- // Trigger the toast's download action.
169
- const toast = showToast.mock.calls[0][0];
170
- await toast.action.onClick();
236
+ await state.downloadFailedRows();
171
237
  expect(client.listMovementLogs).toHaveBeenCalledWith('job-1', undefined);
172
- // Original headers + only the failed row, ready to fix and re-upload.
173
- expect(downloadCsv).toHaveBeenCalledWith('Name\r\nPear', 'failed-data.csv');
238
+ // A leading reason column (the translated header) + original headers, then
239
+ // the failed row prefixed with the server's failure reason — ready to fix
240
+ // and re-upload. `translate` here echoes the key for the column header.
241
+ expect(downloadCsv).toHaveBeenCalledWith('cairo.import.failureReasonColumn,Name\r\nInvalid value,Pear', 'failed-data.csv');
174
242
  });
175
243
  it('surfaces an error state with an application-error-shaped error when the job fails', async () => {
176
244
  const { state, importModalState, collection } = setup({
@@ -190,26 +258,21 @@ describe('ImportState engine (data-hub job)', () => {
190
258
  expect(importModalState.close).not.toHaveBeenCalled();
191
259
  expect(collection.clearResultAndMoveToStart).not.toHaveBeenCalled();
192
260
  });
193
- it('hands a failed job to onJobError, which surfaces the wrapped error', async () => {
194
- // Wiring only: the consumer forwards `run` to their withErrorHandler exactly
195
- // as documented, and the error it re-rejects is the one surfaced to the UI
196
- // (with the application-error-shaped code intact). End-to-end resolution
197
- // against the real error handler is covered in the cairo
198
- // Table.importButton spec, which has a real errorHandler instance.
199
- // Mirror `(run) => errorHandler.withErrorHandler(run, errorCodesMap)`;
200
- // a passthrough stub, so this just runs `run` and re-rejects.
201
- const withErrorHandler = (fn) => fn();
202
- const onJobError = jest.fn((run) => withErrorHandler(run));
261
+ it('resolves a failed job through the consumer jobApplicationErrorMap', async () => {
262
+ // ImportState wraps the failure with `errorHandler.withErrorHandler(run,
263
+ // jobApplicationErrorMap)` itself; the consumer only supplies the per-code
264
+ // map. The surfaced error keeps the application-error-shaped code intact.
265
+ // End-to-end resolution against the real error handler (getResolvedError) is
266
+ // covered in the cairo Table.importButton spec.
267
+ const jobApplicationErrorMap = { duplicate_key: () => ({ message: 'Bad rows' }) };
203
268
  const { state } = setup({
204
269
  getJob: jest.fn(async () => ({
205
270
  id: 'job-1',
206
271
  status: JobStatus.FAILED,
207
272
  error: { code: 'duplicate_key', description: 'Bad rows' },
208
273
  })),
209
- }, { onJobError });
274
+ }, { jobApplicationErrorMap });
210
275
  await state.startImport();
211
- expect(onJobError).toHaveBeenCalledTimes(1);
212
- expect(typeof onJobError.mock.calls[0][0]).toBe('function');
213
276
  expect(state.importStatus.status).toBe('error');
214
277
  const error = state.importStatus.error;
215
278
  expect(error.response?.data?.details?.applicationError?.code).toBe('duplicate_key');
@@ -251,30 +314,20 @@ describe('ImportState engine (data-hub job)', () => {
251
314
  // forever; it must stop after the first fetch.
252
315
  expect(client.getJob).toHaveBeenCalledTimes(1);
253
316
  });
254
- it('does not restore when closed during the success completion linger', async () => {
317
+ it('does not restore a completed import when the summary is closed', async () => {
255
318
  const restoreFn = jest.fn().mockResolvedValue(undefined);
256
319
  const { state, importModalState, collection } = setup({}, { backup: async () => ({ restore: restoreFn }) });
257
- // A 0ms macrotask drains the pending async chain without firing the 600ms
258
- // linger timer.
259
- const flush = () => new Promise((resolve) => setTimeout(resolve, 0));
260
- const promise = state.startImport();
261
- // Run backup → upload → submit → poll (terminal) → success, parking on the
262
- // 600ms completion linger (still on the 'progress' step) without firing it.
263
- await flush();
264
- await flush();
265
- await flush();
320
+ await state.startImport();
321
+ // The import finished on the summary step and the collection was refreshed.
266
322
  expect(state.importStatus.isSuccess).toBe(true);
267
- expect(state.currentStep).toBe('progress');
268
- // User closes the modal mid-linger.
269
- await state.close();
270
- await promise;
271
- // A successful import must not be reverted; the modal closes and the
272
- // collection refreshes.
273
- expect(restoreFn).not.toHaveBeenCalled();
274
- expect(importModalState.close).toHaveBeenCalled();
323
+ expect(state.currentStep).toBe('summary');
275
324
  expect(collection.clearResultAndMoveToStart).toHaveBeenCalledWith({
276
325
  force: true,
277
326
  });
327
+ // Closing the summary must not revert a successful import.
328
+ await state.close();
329
+ expect(restoreFn).not.toHaveBeenCalled();
330
+ expect(importModalState.close).toHaveBeenCalled();
278
331
  });
279
332
  });
280
333
  describe('ImportState writePolicy (id-collision handling)', () => {
@@ -475,6 +528,84 @@ describe('ImportState platformized destination (non–Wix-Data)', () => {
475
528
  const wixData = setup().state;
476
529
  expect(wixData.canConfigureWritePolicy).toBe(true);
477
530
  });
531
+ describe('DataExtension create fields (destination branch)', () => {
532
+ it('enables create-new-field when the destination branch supplies createFields', () => {
533
+ const withCreate = setup({}, {
534
+ destination: { storesCatalogProducts: {} },
535
+ createFields: jest.fn(async () => undefined),
536
+ }).state;
537
+ expect(withCreate.canCreateNewField).toBe(true);
538
+ const withoutCreate = setup({}, { destination: { storesCatalogProducts: {} } }).state;
539
+ expect(withoutCreate.canCreateNewField).toBe(false);
540
+ });
541
+ it('hands createFields the deduped pending columns (source builds its own def)', async () => {
542
+ const createFields = jest.fn(async () => undefined);
543
+ const { state, client } = setup({}, { destination: { storesCatalogProducts: {} }, createFields });
544
+ runInAction(() => {
545
+ state.csvHeaders = ['Name', 'Color'];
546
+ state.csvRows = [
547
+ ['Apple', 'Red'],
548
+ ['Pear', 'Green'],
549
+ ];
550
+ state.mappingByHeader = {
551
+ Name: { kind: 'existing', fieldId: 'name' },
552
+ Color: { kind: 'new', fieldType: 'text' },
553
+ };
554
+ });
555
+ await state.startImport();
556
+ expect(createFields).toHaveBeenCalledTimes(1);
557
+ // Core passes the neutral pending column (deduped key + name + the mapping);
558
+ // the DataExtension source turns it into its own field shape.
559
+ expect(createFields).toHaveBeenCalledWith([
560
+ {
561
+ key: 'color',
562
+ displayName: 'Color',
563
+ mapping: { kind: 'new', fieldType: 'text' },
564
+ },
565
+ ]);
566
+ // The consumer's destination is still sent verbatim.
567
+ expect(client.submitImportJob).toHaveBeenCalledWith(expect.objectContaining({
568
+ destination: { storesCatalogProducts: {} },
569
+ }));
570
+ });
571
+ it('carries the edited mapping config (precise type, permissions, PII) in the pending column', async () => {
572
+ const createFields = jest.fn(async () => undefined);
573
+ const { state } = setup({}, { destination: { storesCatalogProducts: {} }, createFields });
574
+ const config = {
575
+ deType: 'decimal',
576
+ isPii: true,
577
+ permissions: {
578
+ installedApps: { defaultRead: true, defaultWrite: false },
579
+ },
580
+ };
581
+ runInAction(() => {
582
+ state.csvHeaders = ['Name', 'Count'];
583
+ state.csvRows = [['Apple', '3']];
584
+ state.mappingByHeader = {
585
+ Name: { kind: 'existing', fieldId: 'name' },
586
+ Count: {
587
+ kind: 'new',
588
+ fieldType: 'number',
589
+ displayName: 'Count',
590
+ config,
591
+ },
592
+ };
593
+ });
594
+ await state.startImport();
595
+ expect(createFields).toHaveBeenCalledWith([
596
+ {
597
+ key: 'count',
598
+ displayName: 'Count',
599
+ mapping: {
600
+ kind: 'new',
601
+ fieldType: 'number',
602
+ displayName: 'Count',
603
+ config,
604
+ },
605
+ },
606
+ ]);
607
+ });
608
+ });
478
609
  describe('created fields (CAIRO-4400)', () => {
479
610
  const RETURNED_FIELDS = {
480
611
  name: { id: 'name', displayName: 'Name', type: 'SHORT_TEXT' },
@@ -558,25 +689,29 @@ describe('ImportState platformized destination (non–Wix-Data)', () => {
558
689
  throw new Error('merge boom');
559
690
  });
560
691
  const updateSchema = jest.fn(async () => RETURNED_FIELDS);
561
- const { state, importModalState, collection } = setup({}, { updateSchema, mergeFields });
692
+ const { state, collection } = setup({}, { updateSchema, mergeFields });
562
693
  withNewFieldMapping(state);
563
694
  await state.startImport();
564
695
  expect(mergeFields).toHaveBeenCalledTimes(1);
565
696
  // A throwing merge is swallowed — the completed import is untouched.
566
697
  expect(state.importStatus.status).toBe('success');
567
- expect(importModalState.close).toHaveBeenCalled();
698
+ expect(state.currentStep).toBe('summary');
568
699
  expect(collection.clearResultAndMoveToStart).toHaveBeenCalled();
569
700
  consoleError.mockRestore();
570
701
  });
571
702
  });
572
703
  describe('schema-backed config (live getters + create-field permission)', () => {
573
- // A schema-backed config sets canAddFields explicitly and supplies
574
- // updateSchema/idFieldKey the shape a SchemaImportRef satisfies.
704
+ // A schema-backed config: the CMS `dataSource` branch a SchemaImportRef
705
+ // satisfies. It supplies `updateSchema` only when create is permitted — its
706
+ // presence is the create-new-field opt-in (no separate flag).
575
707
  const schemaConfig = (over = {}) => ({
576
- fields: [{ id: 'name', header: 'Name' }],
577
- collectionId: 'RefCollection',
578
- canAddFields: false,
579
- ...over,
708
+ fields: over.fields ?? [{ id: 'name', header: 'Name' }],
709
+ dataSource: {
710
+ collectionId: over.collectionId ?? 'RefCollection',
711
+ ...(over.updateSchema && { updateSchema: over.updateSchema }),
712
+ },
713
+ ...(over.idFieldKey && { idFieldKey: over.idFieldKey }),
714
+ ...(over.mergeFields && { mergeFields: over.mergeFields }),
580
715
  });
581
716
  it('reads fields live from the config rather than snapshotting them', () => {
582
717
  const config = schemaConfig();
@@ -591,10 +726,12 @@ describe('ImportState platformized destination (non–Wix-Data)', () => {
591
726
  config.fields = updated;
592
727
  expect(state.fields).toBe(updated);
593
728
  });
594
- it('gates create-new-field on canAddFields even when updateSchema is present', () => {
595
- const off = setup({}, { config: schemaConfig({ canAddFields: false, updateSchema: jest.fn() }) });
729
+ it('gates create-new-field on the presence of a create callback (updateSchema)', () => {
730
+ // No create callback create-new-field off (the source didn't permit it).
731
+ const off = setup({}, { config: schemaConfig() });
596
732
  expect(off.state.canCreateNewField).toBe(false);
597
- const on = setup({}, { config: schemaConfig({ canAddFields: true }) });
733
+ // A create callback present on.
734
+ const on = setup({}, { config: schemaConfig({ updateSchema: jest.fn() }) });
598
735
  expect(on.state.canCreateNewField).toBe(true);
599
736
  });
600
737
  it('builds the destination from the config collectionId', async () => {
@@ -609,7 +746,7 @@ describe('ImportState platformized destination (non–Wix-Data)', () => {
609
746
  name: { id: 'name', displayName: 'Name', type: 'SHORT_TEXT' },
610
747
  year: { id: 'year', displayName: 'Year', type: 'NUMBER' },
611
748
  }));
612
- const { state } = setup({}, { config: schemaConfig({ canAddFields: true, updateSchema }) });
749
+ const { state } = setup({}, { config: schemaConfig({ updateSchema }) });
613
750
  runInAction(() => {
614
751
  state.csvHeaders = ['Name', 'Year'];
615
752
  state.csvRows = [['Apple', '1999']];
@@ -632,4 +769,93 @@ describe('ImportState platformized destination (non–Wix-Data)', () => {
632
769
  });
633
770
  });
634
771
  });
772
+ describe('ImportState required fields (CAIRO-4452)', () => {
773
+ beforeEach(() => {
774
+ jest.useRealTimers();
775
+ });
776
+ it('is satisfied when a required field has a column mapped to it', () => {
777
+ const { state } = setup({}, {
778
+ config: {
779
+ fields: [{ id: 'name', header: 'Name', required: true }],
780
+ dataSource: { collectionId: 'Movies' },
781
+ },
782
+ });
783
+ // The seeded mapping maps the "Name" column to the `name` field.
784
+ expect(state.hasMissingRequiredFields).toBe(false);
785
+ expect(state.missingRequiredFields).toEqual([]);
786
+ });
787
+ it('flags a required field the user set to "don\'t import"', () => {
788
+ const { state } = setup({}, {
789
+ config: {
790
+ fields: [{ id: 'name', header: 'Name', required: true }],
791
+ dataSource: { collectionId: 'Movies' },
792
+ },
793
+ });
794
+ state.setMapping('Name', null);
795
+ expect(state.hasMissingRequiredFields).toBe(true);
796
+ expect(state.missingRequiredFields.map((f) => f.id)).toEqual(['name']);
797
+ });
798
+ it('ignores unmapped fields that are not required', () => {
799
+ const { state } = setup({}, {
800
+ config: {
801
+ fields: [
802
+ { id: 'name', header: 'Name' },
803
+ { id: 'year', header: 'Year', required: false },
804
+ ],
805
+ dataSource: { collectionId: 'Movies' },
806
+ },
807
+ });
808
+ state.setMapping('Name', null);
809
+ expect(state.hasMissingRequiredFields).toBe(false);
810
+ });
811
+ it('is not satisfied by a create-new-field mapping', () => {
812
+ const { state } = setup({}, {
813
+ config: {
814
+ fields: [{ id: 'name', header: 'Name', required: true }],
815
+ dataSource: {
816
+ collectionId: 'Movies',
817
+ updateSchema: async () => undefined,
818
+ },
819
+ },
820
+ });
821
+ // Mapping the column to a brand-new field can't fill the existing required
822
+ // field, so it stays missing.
823
+ state.setNewFieldMapping('Name');
824
+ expect(state.hasMissingRequiredFields).toBe(true);
825
+ });
826
+ it('blocks startImport and shows an error toast when a required field is missing', async () => {
827
+ const { state, client, showToast } = setup({}, {
828
+ config: {
829
+ fields: [
830
+ { id: 'name', header: 'Name', required: true },
831
+ { id: 'year', header: 'Year' },
832
+ ],
833
+ dataSource: { collectionId: 'Movies' },
834
+ },
835
+ });
836
+ // Keep a mapping (so the import isn't blocked by "no mappings") but leave the
837
+ // required `name` field unmapped.
838
+ runInAction(() => {
839
+ state.csvHeaders = ['Name', 'Year'];
840
+ state.csvRows = [['Apple', '2020']];
841
+ });
842
+ state.setMapping('Name', null);
843
+ state.setMapping('Year', 'year');
844
+ await state.startImport();
845
+ expect(client.uploadFile).not.toHaveBeenCalled();
846
+ expect(client.submitImportJob).not.toHaveBeenCalled();
847
+ expect(state.currentStep).not.toBe('progress');
848
+ expect(showToast).toHaveBeenCalledWith(expect.objectContaining({ type: 'ERROR' }));
849
+ });
850
+ it('proceeds with import when all required fields are mapped', async () => {
851
+ const { state, client } = setup({}, {
852
+ config: {
853
+ fields: [{ id: 'name', header: 'Name', required: true }],
854
+ dataSource: { collectionId: 'Movies' },
855
+ },
856
+ });
857
+ await state.startImport();
858
+ expect(client.submitImportJob).toHaveBeenCalledTimes(1);
859
+ });
860
+ });
635
861
  //# sourceMappingURL=ImportState.engine.spec.js.map