@genexus/genexus-ide-ui 1.0.28 → 1.0.30

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 (359) hide show
  1. package/README.md +38 -6
  2. package/dist/cjs/MERCURY_ASSETS-56ba4d5e.js +9 -0
  3. package/dist/cjs/MERCURY_ASSETS-56ba4d5e.js.map +1 -0
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +4 -4
  16. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +3 -3
  18. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +3 -3
  20. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-design-import.cjs.entry.js +23 -9
  22. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +4 -4
  25. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -7
  28. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +6 -6
  30. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +4 -4
  32. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +4 -4
  34. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
  37. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +10 -10
  39. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +4 -4
  42. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  44. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +3 -3
  45. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-start-page.cjs.entry.js +6 -6
  48. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  50. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  52. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  54. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +3 -3
  57. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  59. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  60. package/dist/cjs/locale-ff30a5f3.js +53 -0
  61. package/dist/cjs/locale-ff30a5f3.js.map +1 -0
  62. package/dist/collection/common/locale.js +16 -36
  63. package/dist/collection/common/locale.js.map +1 -1
  64. package/dist/collection/common/types.js.map +1 -1
  65. package/dist/collection/components/_helpers/card/gx-ide-assets/card/langs/card.lang.zh.json +8 -1
  66. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json +7 -0
  67. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +7 -0
  68. package/dist/collection/components/_helpers/status-buttons/gx-ide-assets/status-buttons/langs/status-buttons.lang.zh.json +4 -4
  69. package/dist/collection/components/_starting-template/gx-ide-assets/template/langs/template.lang.zh.json +8 -1
  70. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -1
  71. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -1
  72. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +7 -1
  73. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +2 -1
  74. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +2 -1
  75. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +13 -1
  76. package/dist/collection/components/bpm/assign-roles/gx-ide-assets/bpm-assign-roles/langs/bpm-assign-roles.lang.zh.json +22 -1
  77. package/dist/collection/components/bpm/export-xpdl/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.zh.json +17 -1
  78. package/dist/collection/components/bpm/import-files/gx-ide-assets/bpm-import-files/langs/bpm-import-files.lang.zh.json +16 -1
  79. package/dist/collection/components/bpm/import-gxpm/gx-ide-assets/bpm-import-gxpm/langs/bpm-import-gxpm.lang.zh.json +15 -1
  80. package/dist/collection/components/bpm/objects-selector/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.zh.json +15 -1
  81. package/dist/collection/components/bpm/timer-duration/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.zh.json +17 -1
  82. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +41 -1
  83. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +24 -1
  84. package/dist/collection/components/design-import/design-import.js +18 -4
  85. package/dist/collection/components/design-import/design-import.js.map +1 -1
  86. package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.ja.json +4 -1
  87. package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.zh.json +40 -1
  88. package/dist/collection/components/gam-installation-settings/gx-ide-assets/gam-installation-settings/langs/gam-installation-settings.lang.zh.json +41 -1
  89. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.zh.json +25 -1
  90. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +31 -1
  91. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  92. package/dist/collection/components/modules/edit-module-server/gx-ide-assets/edit-module-server/langs/edit-module-server.lang.zh.json +9 -1
  93. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +37 -1
  94. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +37 -1
  95. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +4 -1
  96. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +4 -1
  97. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +0 -1
  98. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +26 -1
  99. package/dist/collection/components/new-environment/new-environment.js +1 -1
  100. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  101. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +2 -2
  102. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +75 -1
  103. package/dist/collection/components/new-kb/new-kb.js +26 -20
  104. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  105. package/dist/collection/components/new-kb/tests/new-kb.e2e.js +153 -0
  106. package/dist/collection/components/new-kb/tests/new-kb.e2e.js.map +1 -0
  107. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.ja.json +3 -1
  108. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.zh.json +13 -7
  109. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +0 -1
  110. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.zh.json +48 -1
  111. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.zh.json +13 -1
  112. package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.ja.json +1 -0
  113. package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.zh.json +1 -0
  114. package/dist/collection/components/team-dev/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -1
  115. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +11 -1
  116. package/dist/collection/components/team-dev/connect-gx-server/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +11 -1
  117. package/dist/collection/components/team-dev/select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.zh.json +3 -1
  118. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +43 -1
  119. package/dist/collection/components/team-dev/update/update.js +1 -1
  120. package/dist/collection/components/team-dev/update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +15 -1
  121. package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +9 -1
  122. package/dist/collection/components/wf-settings/gx-ide-assets/wf-settings/langs/wf-settings.lang.zh.json +23 -1
  123. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +47 -1
  124. package/dist/collection/testing/locale.e2e.js +155 -0
  125. package/dist/collection/testing/locale.e2e.js.map +1 -0
  126. package/dist/collection/testing/same-structure.e2e.js +29 -0
  127. package/dist/collection/testing/same-structure.e2e.js.map +1 -0
  128. package/dist/components/MERCURY_ASSETS.js +7 -0
  129. package/dist/components/MERCURY_ASSETS.js.map +1 -0
  130. package/dist/components/entity-selector.js +1 -1
  131. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  132. package/dist/components/gx-ide-dashboard-home.js +1 -1
  133. package/dist/components/gx-ide-data-selector.js +1 -1
  134. package/dist/components/gx-ide-design-import.js +19 -5
  135. package/dist/components/gx-ide-design-import.js.map +1 -1
  136. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  137. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  138. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  139. package/dist/components/gx-ide-manage-module-references.js +1 -1
  140. package/dist/components/gx-ide-new-environment.js +1 -1
  141. package/dist/components/gx-ide-new-environment.js.map +1 -1
  142. package/dist/components/gx-ide-new-kb.js +8 -8
  143. package/dist/components/gx-ide-new-kb.js.map +1 -1
  144. package/dist/components/gx-ide-object-selector.js +1 -1
  145. package/dist/components/gx-ide-share-kb.js +1 -1
  146. package/dist/components/gx-ide-start-page.js +1 -1
  147. package/dist/components/gx-ide-welcome-page.js +1 -1
  148. package/dist/components/locale.js +17 -36
  149. package/dist/components/locale.js.map +1 -1
  150. package/dist/esm/MERCURY_ASSETS-827056e0.js +7 -0
  151. package/dist/esm/MERCURY_ASSETS-827056e0.js.map +1 -0
  152. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  153. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  154. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  155. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  156. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  157. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  158. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  159. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  160. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  161. package/dist/esm/gx-ide-card.entry.js +1 -1
  162. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  163. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  164. package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
  165. package/dist/esm/gx-ide-data-selector.entry.js +2 -2
  166. package/dist/esm/gx-ide-design-import.entry.js +20 -6
  167. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  168. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  169. package/dist/esm/gx-ide-entity-selector.entry.js +2 -2
  170. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  171. package/dist/esm/gx-ide-kb-manager-export.entry.js +2 -2
  172. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  173. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -2
  174. package/dist/esm/gx-ide-manage-module-references.entry.js +2 -2
  175. package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
  176. package/dist/esm/gx-ide-new-environment.entry.js +2 -2
  177. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  178. package/dist/esm/gx-ide-new-kb.entry.js +9 -9
  179. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  180. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  181. package/dist/esm/gx-ide-object-selector.entry.js +2 -2
  182. package/dist/esm/gx-ide-references.entry.js +1 -1
  183. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  184. package/dist/esm/gx-ide-splash.entry.js +1 -1
  185. package/dist/esm/gx-ide-start-page.entry.js +2 -2
  186. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  187. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  188. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  189. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  190. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  191. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  192. package/dist/esm/gx-ide-template.entry.js +1 -1
  193. package/dist/esm/gx-ide-welcome-page.entry.js +2 -2
  194. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  195. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  196. package/dist/esm/locale-e5107fad.js +51 -0
  197. package/dist/esm/locale-e5107fad.js.map +1 -0
  198. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  199. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -1
  200. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -1
  201. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +7 -1
  202. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +2 -1
  203. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +2 -1
  204. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +13 -1
  205. package/dist/genexus-ide-ui/gx-ide-assets/bpm-assign-roles/langs/bpm-assign-roles.lang.zh.json +22 -1
  206. package/dist/genexus-ide-ui/gx-ide-assets/bpm-export-xpdl/langs/bpm-export-xpdl.lang.zh.json +17 -1
  207. package/dist/genexus-ide-ui/gx-ide-assets/bpm-import-files/langs/bpm-import-files.lang.zh.json +16 -1
  208. package/dist/genexus-ide-ui/gx-ide-assets/bpm-import-gxpm/langs/bpm-import-gxpm.lang.zh.json +15 -1
  209. package/dist/genexus-ide-ui/gx-ide-assets/bpm-objects-selector/langs/bpm-objects-selector.lang.zh.json +15 -1
  210. package/dist/genexus-ide-ui/gx-ide-assets/bpm-timer-duration/langs/bpm-timer-duration.lang.zh.json +17 -1
  211. package/dist/genexus-ide-ui/gx-ide-assets/card/langs/card.lang.zh.json +8 -1
  212. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.ja.json +11 -1
  213. package/dist/genexus-ide-ui/gx-ide-assets/connect-gx-server/langs/connect-gx-server.lang.zh.json +11 -1
  214. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +41 -1
  215. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +24 -1
  216. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.ja.json +4 -1
  217. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.zh.json +40 -1
  218. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-server/langs/edit-module-server.lang.zh.json +9 -1
  219. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.ja.json +7 -0
  220. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.zh.json +7 -0
  221. package/dist/genexus-ide-ui/gx-ide-assets/gam-installation-settings/langs/gam-installation-settings.lang.zh.json +41 -1
  222. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.zh.json +25 -1
  223. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +31 -1
  224. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +37 -1
  225. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +37 -1
  226. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +4 -1
  227. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +4 -1
  228. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +0 -1
  229. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +26 -1
  230. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +2 -2
  231. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +75 -1
  232. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.ja.json +3 -1
  233. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.zh.json +13 -7
  234. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +0 -1
  235. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.zh.json +48 -1
  236. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.zh.json +13 -1
  237. package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.ja.json +1 -0
  238. package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.zh.json +1 -0
  239. package/dist/genexus-ide-ui/gx-ide-assets/status-buttons/langs/status-buttons.lang.zh.json +4 -4
  240. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.zh.json +20 -1
  241. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.zh.json +3 -1
  242. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.zh.json +43 -1
  243. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-partial-selection/langs/team-dev-update-partial-selection.lang.zh.json +15 -1
  244. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/langs/team-dev-update-to-revision.lang.zh.json +9 -1
  245. package/dist/genexus-ide-ui/gx-ide-assets/template/langs/template.lang.zh.json +8 -1
  246. package/dist/genexus-ide-ui/gx-ide-assets/wf-settings/langs/wf-settings.lang.zh.json +23 -1
  247. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +47 -1
  248. package/dist/genexus-ide-ui/{p-917ce3e0.entry.js → p-040bd0c5.entry.js} +2 -2
  249. package/dist/genexus-ide-ui/{p-9443457d.entry.js → p-092609aa.entry.js} +2 -2
  250. package/dist/genexus-ide-ui/{p-0a972eba.entry.js → p-0a690a6b.entry.js} +2 -2
  251. package/dist/genexus-ide-ui/{p-a502bb27.entry.js → p-10da0eee.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/{p-d5640c94.entry.js → p-2b658e35.entry.js} +15 -15
  253. package/dist/genexus-ide-ui/p-311eedf3.js +54 -0
  254. package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
  255. package/dist/genexus-ide-ui/{p-35ef493e.entry.js → p-31511545.entry.js} +3 -3
  256. package/dist/genexus-ide-ui/{p-67b85b1e.entry.js → p-324af897.entry.js} +2 -2
  257. package/dist/genexus-ide-ui/{p-ebf039c0.entry.js → p-33a1c48f.entry.js} +3 -3
  258. package/dist/genexus-ide-ui/{p-419f2d72.entry.js → p-3637528d.entry.js} +2 -2
  259. package/dist/genexus-ide-ui/{p-2505fcf6.entry.js → p-390498e4.entry.js} +3 -3
  260. package/dist/genexus-ide-ui/{p-57179086.entry.js → p-3c3b276e.entry.js} +2 -2
  261. package/dist/genexus-ide-ui/{p-dfab6c94.entry.js → p-5dfd773c.entry.js} +2 -2
  262. package/dist/genexus-ide-ui/{p-8a9c91ee.entry.js → p-64e09524.entry.js} +15 -15
  263. package/dist/genexus-ide-ui/p-64e09524.entry.js.map +1 -0
  264. package/dist/genexus-ide-ui/{p-bc631b8c.entry.js → p-67b7c308.entry.js} +2 -2
  265. package/dist/genexus-ide-ui/{p-ce0ee69b.entry.js → p-6f3f4f54.entry.js} +3 -3
  266. package/dist/genexus-ide-ui/{p-a8504de9.entry.js → p-70a8edd9.entry.js} +3 -3
  267. package/dist/genexus-ide-ui/{p-7c0ad31a.entry.js → p-7754ae2e.entry.js} +2 -2
  268. package/dist/genexus-ide-ui/{p-05b4f908.entry.js → p-793248c8.entry.js} +2 -2
  269. package/dist/genexus-ide-ui/{p-a9fa775a.entry.js → p-7cdfbdba.entry.js} +2 -2
  270. package/dist/genexus-ide-ui/{p-0b0ce806.js → p-7d4c5a43.js} +5462 -5467
  271. package/dist/genexus-ide-ui/p-7d4c5a43.js.map +1 -0
  272. package/dist/genexus-ide-ui/{p-d1e2298a.entry.js → p-848b26be.entry.js} +2 -2
  273. package/dist/genexus-ide-ui/{p-4ca0f260.entry.js → p-8bb81d6f.entry.js} +2 -2
  274. package/dist/genexus-ide-ui/{p-92ce3790.entry.js → p-a0724750.entry.js} +12 -12
  275. package/dist/genexus-ide-ui/{p-0a831ef6.entry.js → p-a7027cf7.entry.js} +2 -2
  276. package/dist/genexus-ide-ui/{p-bc6bace4.entry.js → p-ad521974.entry.js} +21 -21
  277. package/dist/genexus-ide-ui/p-ad521974.entry.js.map +1 -0
  278. package/dist/genexus-ide-ui/{p-3504f246.entry.js → p-b42dfccc.entry.js} +3 -3
  279. package/dist/genexus-ide-ui/{p-9860323f.entry.js → p-ba307cf6.entry.js} +64 -64
  280. package/dist/genexus-ide-ui/p-ba307cf6.entry.js.map +1 -0
  281. package/dist/genexus-ide-ui/{p-5a0f8455.entry.js → p-bb9df26f.entry.js} +2 -2
  282. package/dist/genexus-ide-ui/{p-d4a0054d.entry.js → p-be0c10de.entry.js} +3 -3
  283. package/dist/genexus-ide-ui/{p-8cc0163b.entry.js → p-c2274796.entry.js} +2 -2
  284. package/dist/genexus-ide-ui/{p-42cd5e14.entry.js → p-cc0fbef2.entry.js} +3 -3
  285. package/dist/genexus-ide-ui/{p-7c07dcb9.entry.js → p-ccbd4dab.entry.js} +2 -2
  286. package/dist/genexus-ide-ui/{p-aa312e3c.entry.js → p-d18718c7.entry.js} +2 -2
  287. package/dist/genexus-ide-ui/{p-449ffb10.entry.js → p-d5aa2525.entry.js} +2 -2
  288. package/dist/genexus-ide-ui/{p-3faefc49.entry.js → p-de797eeb.entry.js} +2 -2
  289. package/dist/genexus-ide-ui/{p-59861b76.entry.js → p-e5712f63.entry.js} +2 -2
  290. package/dist/genexus-ide-ui/{p-63e03eac.entry.js → p-e5fb0c12.entry.js} +2 -2
  291. package/dist/genexus-ide-ui/{p-b72200db.entry.js → p-e774109a.entry.js} +3 -3
  292. package/dist/genexus-ide-ui/{p-925133b6.entry.js → p-ecd748ba.entry.js} +3 -3
  293. package/dist/genexus-ide-ui/{p-5949c9fc.entry.js → p-fa69428e.entry.js} +3 -3
  294. package/dist/genexus-ide-ui/{p-6ed93102.entry.js → p-faea4a40.entry.js} +2 -2
  295. package/dist/genexus-ide-ui/{p-05802b21.entry.js → p-fc61a10f.entry.js} +2 -2
  296. package/dist/types/common/locale.d.ts +0 -6
  297. package/dist/types/common/types.d.ts +16 -0
  298. package/dist/types/components/new-kb/new-kb.d.ts +1 -1
  299. package/dist/types/components.d.ts +7 -7
  300. package/package.json +9 -8
  301. package/dist/cjs/assets-manager-a318866f.js +0 -14743
  302. package/dist/cjs/assets-manager-a318866f.js.map +0 -1
  303. package/dist/cjs/locale-bf43b87c.js +0 -74
  304. package/dist/cjs/locale-bf43b87c.js.map +0 -1
  305. package/dist/collection/utils/utils.js +0 -4
  306. package/dist/collection/utils/utils.js.map +0 -1
  307. package/dist/collection/utils/utils.spec.js +0 -16
  308. package/dist/collection/utils/utils.spec.js.map +0 -1
  309. package/dist/components/assets-manager.js +0 -14741
  310. package/dist/components/assets-manager.js.map +0 -1
  311. package/dist/esm/assets-manager-5ac25bb6.js +0 -14741
  312. package/dist/esm/assets-manager-5ac25bb6.js.map +0 -1
  313. package/dist/esm/locale-3c32f251.js +0 -72
  314. package/dist/esm/locale-3c32f251.js.map +0 -1
  315. package/dist/genexus-ide-ui/p-0b0ce806.js.map +0 -1
  316. package/dist/genexus-ide-ui/p-74d59062.js +0 -63
  317. package/dist/genexus-ide-ui/p-74d59062.js.map +0 -1
  318. package/dist/genexus-ide-ui/p-8a9c91ee.entry.js.map +0 -1
  319. package/dist/genexus-ide-ui/p-9860323f.entry.js.map +0 -1
  320. package/dist/genexus-ide-ui/p-bc6bace4.entry.js.map +0 -1
  321. package/dist/types/utils/utils.d.ts +0 -1
  322. /package/dist/genexus-ide-ui/{p-917ce3e0.entry.js.map → p-040bd0c5.entry.js.map} +0 -0
  323. /package/dist/genexus-ide-ui/{p-9443457d.entry.js.map → p-092609aa.entry.js.map} +0 -0
  324. /package/dist/genexus-ide-ui/{p-0a972eba.entry.js.map → p-0a690a6b.entry.js.map} +0 -0
  325. /package/dist/genexus-ide-ui/{p-a502bb27.entry.js.map → p-10da0eee.entry.js.map} +0 -0
  326. /package/dist/genexus-ide-ui/{p-d5640c94.entry.js.map → p-2b658e35.entry.js.map} +0 -0
  327. /package/dist/genexus-ide-ui/{p-35ef493e.entry.js.map → p-31511545.entry.js.map} +0 -0
  328. /package/dist/genexus-ide-ui/{p-67b85b1e.entry.js.map → p-324af897.entry.js.map} +0 -0
  329. /package/dist/genexus-ide-ui/{p-ebf039c0.entry.js.map → p-33a1c48f.entry.js.map} +0 -0
  330. /package/dist/genexus-ide-ui/{p-419f2d72.entry.js.map → p-3637528d.entry.js.map} +0 -0
  331. /package/dist/genexus-ide-ui/{p-2505fcf6.entry.js.map → p-390498e4.entry.js.map} +0 -0
  332. /package/dist/genexus-ide-ui/{p-57179086.entry.js.map → p-3c3b276e.entry.js.map} +0 -0
  333. /package/dist/genexus-ide-ui/{p-dfab6c94.entry.js.map → p-5dfd773c.entry.js.map} +0 -0
  334. /package/dist/genexus-ide-ui/{p-bc631b8c.entry.js.map → p-67b7c308.entry.js.map} +0 -0
  335. /package/dist/genexus-ide-ui/{p-ce0ee69b.entry.js.map → p-6f3f4f54.entry.js.map} +0 -0
  336. /package/dist/genexus-ide-ui/{p-a8504de9.entry.js.map → p-70a8edd9.entry.js.map} +0 -0
  337. /package/dist/genexus-ide-ui/{p-7c0ad31a.entry.js.map → p-7754ae2e.entry.js.map} +0 -0
  338. /package/dist/genexus-ide-ui/{p-05b4f908.entry.js.map → p-793248c8.entry.js.map} +0 -0
  339. /package/dist/genexus-ide-ui/{p-a9fa775a.entry.js.map → p-7cdfbdba.entry.js.map} +0 -0
  340. /package/dist/genexus-ide-ui/{p-d1e2298a.entry.js.map → p-848b26be.entry.js.map} +0 -0
  341. /package/dist/genexus-ide-ui/{p-4ca0f260.entry.js.map → p-8bb81d6f.entry.js.map} +0 -0
  342. /package/dist/genexus-ide-ui/{p-92ce3790.entry.js.map → p-a0724750.entry.js.map} +0 -0
  343. /package/dist/genexus-ide-ui/{p-0a831ef6.entry.js.map → p-a7027cf7.entry.js.map} +0 -0
  344. /package/dist/genexus-ide-ui/{p-3504f246.entry.js.map → p-b42dfccc.entry.js.map} +0 -0
  345. /package/dist/genexus-ide-ui/{p-5a0f8455.entry.js.map → p-bb9df26f.entry.js.map} +0 -0
  346. /package/dist/genexus-ide-ui/{p-d4a0054d.entry.js.map → p-be0c10de.entry.js.map} +0 -0
  347. /package/dist/genexus-ide-ui/{p-8cc0163b.entry.js.map → p-c2274796.entry.js.map} +0 -0
  348. /package/dist/genexus-ide-ui/{p-42cd5e14.entry.js.map → p-cc0fbef2.entry.js.map} +0 -0
  349. /package/dist/genexus-ide-ui/{p-7c07dcb9.entry.js.map → p-ccbd4dab.entry.js.map} +0 -0
  350. /package/dist/genexus-ide-ui/{p-aa312e3c.entry.js.map → p-d18718c7.entry.js.map} +0 -0
  351. /package/dist/genexus-ide-ui/{p-449ffb10.entry.js.map → p-d5aa2525.entry.js.map} +0 -0
  352. /package/dist/genexus-ide-ui/{p-3faefc49.entry.js.map → p-de797eeb.entry.js.map} +0 -0
  353. /package/dist/genexus-ide-ui/{p-59861b76.entry.js.map → p-e5712f63.entry.js.map} +0 -0
  354. /package/dist/genexus-ide-ui/{p-63e03eac.entry.js.map → p-e5fb0c12.entry.js.map} +0 -0
  355. /package/dist/genexus-ide-ui/{p-b72200db.entry.js.map → p-e774109a.entry.js.map} +0 -0
  356. /package/dist/genexus-ide-ui/{p-925133b6.entry.js.map → p-ecd748ba.entry.js.map} +0 -0
  357. /package/dist/genexus-ide-ui/{p-5949c9fc.entry.js.map → p-fa69428e.entry.js.map} +0 -0
  358. /package/dist/genexus-ide-ui/{p-6ed93102.entry.js.map → p-faea4a40.entry.js.map} +0 -0
  359. /package/dist/genexus-ide-ui/{p-05802b21.entry.js.map → p-fc61a10f.entry.js.map} +0 -0
@@ -1,10 +1,10 @@
1
1
  import { r as t, h as e, H as s, g as i } from "./p-49712340.js";
2
2
 
3
- import { g as a } from "./p-0b0ce806.js";
3
+ import { g as a } from "./p-7d4c5a43.js";
4
4
 
5
5
  import { c as o } from "./p-78b90603.js";
6
6
 
7
- import { L as n } from "./p-74d59062.js";
7
+ import { L as n } from "./p-311eedf3.js";
8
8
 
9
9
  const mapStylesToComboBoxItemModel = t => t === null || t === void 0 ? void 0 : t.map((t => ({
10
10
  value: t.id,
@@ -94,7 +94,7 @@ var p = undefined && undefined.__classPrivateFieldSet || function(t, e, s, i, a)
94
94
  return i === "a" ? a.call(t, s) : a ? a.value = s : e.set(t, s), s;
95
95
  };
96
96
 
97
- var u, f, m, b, g, k, w, v, y, x, M, W, I, _, C, $, j, S, D, T, z, q, P, A, E, V, F, L, G, H, O, B, N, Y, J, K, Q, R, U, X, Z, tt, et, st, it, at, ot, nt, lt, rt;
97
+ var f, u, m, b, g, k, w, v, y, x, M, W, I, _, C, $, j, S, D, T, z, P, q, A, E, V, F, L, G, H, O, B, N, Y, J, K, Q, R, U, X, Z, tt, et, st, it, at, ot, nt, lt, rt;
98
98
 
99
99
  const ht = "panels";
100
100
 
@@ -104,9 +104,9 @@ const dt = "images";
104
104
 
105
105
  const pt = "design_system";
106
106
 
107
- const ut = "fonts";
107
+ const ft = "fonts";
108
108
 
109
- const ft = "@@@";
109
+ const ut = "@@@";
110
110
 
111
111
  // ch-checkbox
112
112
  const mt = "on";
@@ -133,12 +133,12 @@ const wt = [ "resets/box-sizing", "utils/form", "utils/layout", "utils/typograph
133
133
  const vt = class {
134
134
  constructor(s) {
135
135
  t(this, s);
136
- u.add(this);
136
+ f.add(this);
137
137
  /**
138
138
  * The component hard-coded strings translations.
139
139
  */
140
140
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
141
- f.set(this, void 0);
141
+ u.set(this, void 0);
142
142
  /**
143
143
  * An array that keeps track of the tree items id's (design system data type
144
144
  * + item id) along with the content, that will be used to save and retrieve
@@ -187,7 +187,7 @@ const vt = class {
187
187
  if (t.detail.length) {
188
188
  const s = (e = t.detail[0]) === null || e === void 0 ? void 0 : e.item;
189
189
  const i = s.id;
190
- const a = i.split(ft);
190
+ const a = i.split(ut);
191
191
  const o = a[0];
192
192
  const n = a[1];
193
193
  const l = o && o !== "parent";
@@ -206,8 +206,8 @@ const vt = class {
206
206
  // Item has been queried already. The item content exists already.
207
207
  this.selectedDesignType = t.designType;
208
208
  this.selectedDesignItem = t.designDataDetail;
209
- d(this, u, "m", H).call(this, t.designType);
210
- d(this, u, "m", et).call(this, t.designType);
209
+ d(this, f, "m", H).call(this, t.designType);
210
+ d(this, f, "m", et).call(this, t.designType);
211
211
  }
212
212
  this.renderedTabs.clear();
213
213
  this.renderedTabs.add(this.activeTabs.get(this.selectedDesignType));
@@ -218,7 +218,7 @@ const vt = class {
218
218
  var e;
219
219
  return (e = d(this, m, "f")) === null || e === void 0 ? void 0 : e.get(t);
220
220
  }));
221
- q.set(this, (t => {
221
+ P.set(this, (t => {
222
222
  const e = /^(\/|\.\/|(\w:))[^:*?"<>|]*\.(sketch|gxsketch)$/i;
223
223
  // Match valid file paths
224
224
  const s = /^https?:\/\/(www\.)?figma\.com/;
@@ -228,18 +228,18 @@ const vt = class {
228
228
  const a = e.test(t) || s.test(t) || i.test(t);
229
229
  return a;
230
230
  }));
231
- P.set(this, (t => {
231
+ q.set(this, (t => {
232
232
  const e = Array.from(t.detail.values());
233
233
  let s = null;
234
234
  const i = {};
235
235
  for (const t of e) {
236
- if (t.item.id.startsWith(`parent${ft}`)) {
237
- s = t.item.id.split(ft)[1];
236
+ if (t.item.id.startsWith(`parent${ut}`)) {
237
+ s = t.item.id.split(ut)[1];
238
238
  i[s] = [];
239
239
  } else if (t.item.checked && s) {
240
- const e = t.item.id.split(ft)[1];
240
+ const e = t.item.id.split(ut)[1];
241
241
  if (e === s) {
242
- const e = t.item.id.split(ft)[0];
242
+ const e = t.item.id.split(ut)[0];
243
243
  i[s].push(e);
244
244
  }
245
245
  }
@@ -314,7 +314,7 @@ const vt = class {
314
314
  s = this.loadDesignSystemCallback;
315
315
  break;
316
316
 
317
- case ut:
317
+ case ft:
318
318
  s = this.loadFontCallback;
319
319
  break;
320
320
 
@@ -327,8 +327,8 @@ const vt = class {
327
327
  await s(t).then((t => {
328
328
  this.selectedDesignType = e;
329
329
  this.selectedDesignItem = t;
330
- d(this, u, "m", H).call(this, e);
331
- d(this, u, "m", et).call(this, e);
330
+ d(this, f, "m", H).call(this, e);
331
+ d(this, f, "m", et).call(this, e);
332
332
  i = t;
333
333
  }));
334
334
  return i;
@@ -402,11 +402,11 @@ const vt = class {
402
402
  const l = !this.pathIsValid && this.path.length > 0;
403
403
  let r;
404
404
  if (this.pathIsValid && this.path === this.lastLoadCallbackSettingValues.path) {
405
- r = d(this, f, "f").header.btnReload;
405
+ r = d(this, u, "f").header.btnReload;
406
406
  } else if (this.pathIsValid) {
407
- r = d(this, f, "f").header.btnLoad;
407
+ r = d(this, u, "f").header.btnLoad;
408
408
  } else {
409
- r = d(this, f, "f").header.selectFileButton;
409
+ r = d(this, u, "f").header.selectFileButton;
410
410
  }
411
411
  return e("header", {
412
412
  class: {
@@ -421,7 +421,7 @@ const vt = class {
421
421
  }, e("label", {
422
422
  // path/url label
423
423
  class: "label path-url-label"
424
- }, d(this, f, "f").header.path), e("div", {
424
+ }, d(this, u, "f").header.path), e("div", {
425
425
  class: "path-url-wrapper buttons-spacer"
426
426
  }, e("ch-edit", {
427
427
  // path/url/file input
@@ -438,7 +438,7 @@ const vt = class {
438
438
  onInput: d(this, X, "f"),
439
439
  onBlur: this.reactiveSettings.path && d(this, S, "f"),
440
440
  disabled: this.isLoading,
441
- placeholder: `${d(this, f, "f").header.pathPlaceholder}`,
441
+ placeholder: `${d(this, u, "f").header.pathPlaceholder}`,
442
442
  startImgSrc: kt,
443
443
  ref: t => p(this, C, t, "f")
444
444
  }), l && e("ch-tooltip", {
@@ -447,7 +447,7 @@ const vt = class {
447
447
  blockAlign: o.tooltipSettings.blockAlign,
448
448
  inlineAlign: o.tooltipSettings.inlineAlign,
449
449
  delay: o.tooltipSettings.delay
450
- }, d(this, f, "f").header.pathErrorMessage, " ", d(this, g, "f")), e("input", {
450
+ }, d(this, u, "f").header.pathErrorMessage, " ", d(this, g, "f")), e("input", {
451
451
  hidden: true,
452
452
  type: "file",
453
453
  accept: d(this, g, "f"),
@@ -456,8 +456,8 @@ const vt = class {
456
456
  }), e("div", {
457
457
  class: "buttons-spacer"
458
458
  }, e("button", {
459
- "aria-label": d(this, f, "f").header.removeFileSelection,
460
- title: d(this, f, "f").header.removeFileSelection,
459
+ "aria-label": d(this, u, "f").header.removeFileSelection,
460
+ title: d(this, u, "f").header.removeFileSelection,
461
461
  id: "reset-all-button",
462
462
  class: "button-tertiary button-icon-only",
463
463
  part: "reset-all-button",
@@ -482,7 +482,7 @@ const vt = class {
482
482
  }, r))), this.requiresAccessToken && [ e("label", {
483
483
  // access token label
484
484
  class: "label access-token-label"
485
- }, d(this, f, "f").header.accessToken), e("div", null, e("ch-edit", {
485
+ }, d(this, u, "f").header.accessToken), e("div", null, e("ch-edit", {
486
486
  class: {
487
487
  input: true,
488
488
  "access-token": true,
@@ -490,7 +490,7 @@ const vt = class {
490
490
  },
491
491
  ref: t => p(this, k, t, "f"),
492
492
  value: this.accessToken,
493
- placeholder: d(this, f, "f").header.accessTokenPlaceholder,
493
+ placeholder: d(this, u, "f").header.accessTokenPlaceholder,
494
494
  onFocus: d(this, R, "f"),
495
495
  onBlur: d(this, U, "f"),
496
496
  part: "access-token",
@@ -502,10 +502,10 @@ const vt = class {
502
502
  blockAlign: o.tooltipSettings.blockAlign,
503
503
  inlineAlign: o.tooltipSettings.inlineAlign,
504
504
  delay: o.tooltipSettings.delay
505
- }, d(this, f, "f").header.accessTokenErrorMessage)) ], e("label", {
505
+ }, d(this, u, "f").header.accessTokenErrorMessage)) ], e("label", {
506
506
  // style label
507
507
  class: "label style-label"
508
- }, d(this, f, "f").header.style), e("ch-combo-box-render", {
508
+ }, d(this, u, "f").header.style), e("ch-combo-box-render", {
509
509
  // style combo box
510
510
  suggest: true,
511
511
  suggestOptions: {
@@ -520,7 +520,7 @@ const vt = class {
520
520
  }), e("label", {
521
521
  // module label
522
522
  class: "label module-label"
523
- }, d(this, f, "f").header.module), e("gx-ide-entity-selector", {
523
+ }, d(this, u, "f").header.module), e("gx-ide-entity-selector", {
524
524
  // module entity selector
525
525
  labelPosition: "none",
526
526
  value: this.defaultModule,
@@ -534,7 +534,7 @@ const vt = class {
534
534
  // import as web panels
535
535
  class: "checkboxes-options field-group"
536
536
  }, e("ch-checkbox", {
537
- caption: d(this, f, "f").header.importAs,
537
+ caption: d(this, u, "f").header.importAs,
538
538
  checkedValue: mt,
539
539
  class: "checkbox import-as-web-panels",
540
540
  ref: t => p(this, w, t, "f"),
@@ -549,7 +549,7 @@ const vt = class {
549
549
  }
550
550
  }, e("ch-checkbox", {
551
551
  // fit images
552
- caption: d(this, f, "f").header.fitImages,
552
+ caption: d(this, u, "f").header.fitImages,
553
553
  checkedValue: mt,
554
554
  class: "checkbox",
555
555
  part: "fit-images-checkbox",
@@ -585,13 +585,13 @@ const vt = class {
585
585
  class: "empty-state scrollable",
586
586
  stateIconSrc: gt,
587
587
  isAnimated: d(this, b, "f"),
588
- stateTitle: d(this, f, "f").messages.noDesignSelected,
588
+ stateTitle: d(this, u, "f").messages.noDesignSelected,
589
589
  key: "no-objects-empty-state"
590
590
  }, e("button", {
591
591
  // begin by selecting a file
592
592
  class: "button-tertiary empty-state-button",
593
593
  onClick: d(this, A, "f")
594
- }, d(this, f, "f").messages.selectDesign));
594
+ }, d(this, u, "f").messages.selectDesign));
595
595
  }
596
596
  }));
597
597
  it.set(this, (() => e("ch-tree-view-render", {
@@ -605,7 +605,7 @@ const vt = class {
605
605
  toggleCheckboxes: true,
606
606
  checkbox: true,
607
607
  checked: true,
608
- onCheckedItemsChange: d(this, P, "f"),
608
+ onCheckedItemsChange: d(this, q, "f"),
609
609
  onSelectedItemsChange: d(this, T, "f")
610
610
  })));
611
611
  at.set(this, (() => {
@@ -623,7 +623,7 @@ const vt = class {
623
623
  onClick: d(this, B, "f"),
624
624
  part: "button button--cancel",
625
625
  slot: "footer-end"
626
- }, d(this, f, "f").footer.btnCancel), e("button", {
626
+ }, d(this, u, "f").footer.btnCancel), e("button", {
627
627
  // button ok
628
628
  id: "button-ok",
629
629
  class: "button-primary button-ok",
@@ -632,7 +632,7 @@ const vt = class {
632
632
  part: "button button--ok",
633
633
  disabled: s,
634
634
  slot: "footer-end"
635
- }, d(this, f, "f").footer.btnOk)));
635
+ }, d(this, u, "f").footer.btnOk)));
636
636
  }));
637
637
  ot.set(this, (() => {
638
638
  var t, s;
@@ -682,7 +682,7 @@ const vt = class {
682
682
  scrollable: true,
683
683
  "fit-images": this.fitImages
684
684
  },
685
- direction: "block",
685
+ tabListPosition: "block-start",
686
686
  model: this.tabsModel,
687
687
  selectedId: this.activeTabs.get(this.selectedDesignType),
688
688
  overflow: "auto",
@@ -710,7 +710,7 @@ const vt = class {
710
710
  style: {
711
711
  display: this.renderedTabs.has(l.composition.id) ? "" : "none"
712
712
  }
713
- }, this.selectedDesignType === dt || this.selectedDesignType === ut ? d(this, nt, "f").call(this) : d(this, ot, "f").call(this)), e("div", {
713
+ }, this.selectedDesignType === dt || this.selectedDesignType === ft ? d(this, nt, "f").call(this) : d(this, ot, "f").call(this)), e("div", {
714
714
  slot: l.layout.slot,
715
715
  class: "spacing-body",
716
716
  style: {
@@ -789,15 +789,15 @@ const vt = class {
789
789
  const t = d(this, Y, "f").call(this, this.designData.panels);
790
790
  this.designDataTreeDataModel = [ {
791
791
  order: 0,
792
- id: `parent${ft}${ht}`,
792
+ id: `parent${ut}${ht}`,
793
793
  leaf: false,
794
- caption: d(this, f, "f").tree.panels,
794
+ caption: d(this, u, "f").tree.panels,
795
795
  startImgSrc: "objects/panel-for-sd",
796
796
  checkbox: true,
797
797
  checked: true,
798
798
  expanded: true,
799
799
  items: this.designData.panels.map(((e, s) => ({
800
- id: `${e.id}${ft}${ht}`,
800
+ id: `${e.id}${ut}${ht}`,
801
801
  class: "object tree-view-item",
802
802
  leaf: true,
803
803
  caption: e.name,
@@ -808,15 +808,15 @@ const vt = class {
808
808
  })))
809
809
  }, {
810
810
  order: 1,
811
- id: `parent${ft}${ct}`,
811
+ id: `parent${ut}${ct}`,
812
812
  leaf: false,
813
- caption: d(this, f, "f").tree.stencils,
813
+ caption: d(this, u, "f").tree.stencils,
814
814
  startImgSrc: "objects/stencil",
815
815
  checkbox: true,
816
816
  checked: true,
817
817
  expanded: true,
818
818
  items: this.designData.stencils.map((t => ({
819
- id: `${t.id}${ft}${ct}`,
819
+ id: `${t.id}${ut}${ct}`,
820
820
  class: "object tree-view-item",
821
821
  leaf: true,
822
822
  caption: t.name,
@@ -826,16 +826,16 @@ const vt = class {
826
826
  })))
827
827
  }, {
828
828
  order: 2,
829
- id: `parent${ft}${dt}`,
829
+ id: `parent${ut}${dt}`,
830
830
  parts: "category tree-view-item",
831
831
  leaf: false,
832
- caption: d(this, f, "f").tree.images,
832
+ caption: d(this, u, "f").tree.images,
833
833
  startImgSrc: "objects/image",
834
834
  checkbox: true,
835
835
  checked: true,
836
836
  expanded: true,
837
837
  items: this.designData.images.map((t => ({
838
- id: `${t.id}${ft}${dt}`,
838
+ id: `${t.id}${ut}${dt}`,
839
839
  class: "object tree-view-item",
840
840
  leaf: true,
841
841
  caption: t.name,
@@ -845,15 +845,15 @@ const vt = class {
845
845
  })))
846
846
  }, {
847
847
  order: 3,
848
- id: `parent${ft}${ut}`,
848
+ id: `parent${ut}${ft}`,
849
849
  leaf: false,
850
- caption: d(this, f, "f").tree.fonts,
850
+ caption: d(this, u, "f").tree.fonts,
851
851
  startImgSrc: "controls/font",
852
852
  checkbox: true,
853
853
  checked: true,
854
854
  expanded: true,
855
855
  items: this.designData.fonts.map((t => ({
856
- id: `${t.id}${ft}${ut}`,
856
+ id: `${t.id}${ut}${ft}`,
857
857
  class: "object tree-view-item",
858
858
  leaf: true,
859
859
  caption: t.name,
@@ -863,9 +863,9 @@ const vt = class {
863
863
  })))
864
864
  }, {
865
865
  order: 4,
866
- id: `${this.designData.designSystem.length > 0 ? this.designData.designSystem[0].id : "parent"}${ft}${pt}`,
866
+ id: `${this.designData.designSystem.length > 0 ? this.designData.designSystem[0].id : "parent"}${ut}${pt}`,
867
867
  leaf: true,
868
- caption: d(this, f, "f").tree.designSystem,
868
+ caption: d(this, u, "f").tree.designSystem,
869
869
  startImgSrc: "objects/dso",
870
870
  checkbox: true,
871
871
  checked: true
@@ -875,7 +875,7 @@ const vt = class {
875
875
  pathChanged(t) {
876
876
  var e;
877
877
  const s = ((e = this.selectedFile) === null || e === void 0 ? void 0 : e.size) > 0;
878
- const i = d(this, q, "f").call(this, t) || s;
878
+ const i = d(this, P, "f").call(this, t) || s;
879
879
  this.pathIsValid = i;
880
880
  }
881
881
  accessTokenChanged(t) {
@@ -891,7 +891,7 @@ const vt = class {
891
891
  }
892
892
  async componentWillLoad() {
893
893
  var t, e;
894
- p(this, f, await n.getComponentStrings(this.el), "f");
894
+ p(this, u, await n.getComponentStrings(this.el), "f");
895
895
  p(this, g, this.extensions.map((t => `.${t}`)).join(", "), "f");
896
896
  this.stylesChanged(this.styles);
897
897
  d(this, $, "f").call(this);
@@ -932,16 +932,16 @@ const vt = class {
932
932
  }
933
933
  };
934
934
 
935
- f = new WeakMap, m = new WeakMap, b = new WeakMap, g = new WeakMap, k = new WeakMap,
935
+ u = new WeakMap, m = new WeakMap, b = new WeakMap, g = new WeakMap, k = new WeakMap,
936
936
  w = new WeakMap, v = new WeakMap, y = new WeakMap, x = new WeakMap, M = new WeakMap,
937
937
  W = new WeakMap, I = new WeakMap, _ = new WeakMap, C = new WeakMap, $ = new WeakMap,
938
- j = new WeakMap, S = new WeakMap, T = new WeakMap, z = new WeakMap, q = new WeakMap,
939
- P = new WeakMap, A = new WeakMap, E = new WeakMap, V = new WeakMap, F = new WeakMap,
938
+ j = new WeakMap, S = new WeakMap, T = new WeakMap, z = new WeakMap, P = new WeakMap,
939
+ q = new WeakMap, A = new WeakMap, E = new WeakMap, V = new WeakMap, F = new WeakMap,
940
940
  L = new WeakMap, G = new WeakMap, O = new WeakMap, B = new WeakMap, N = new WeakMap,
941
941
  Y = new WeakMap, J = new WeakMap, K = new WeakMap, Q = new WeakMap, R = new WeakMap,
942
942
  U = new WeakMap, X = new WeakMap, Z = new WeakMap, tt = new WeakMap, st = new WeakMap,
943
943
  it = new WeakMap, at = new WeakMap, ot = new WeakMap, nt = new WeakMap, lt = new WeakMap,
944
- rt = new WeakMap, u = new WeakSet, D = function _GxIdeImportFromDesign_loadTreeItemCompositionModel(t) {
944
+ rt = new WeakMap, f = new WeakSet, D = function _GxIdeImportFromDesign_loadTreeItemCompositionModel(t) {
945
945
  const e = [];
946
946
  for (const s of t) {
947
947
  let t = {
@@ -954,7 +954,7 @@ rt = new WeakMap, u = new WeakSet, D = function _GxIdeImportFromDesign_loadTreeI
954
954
  };
955
955
  if (s.controls) {
956
956
  t = Object.assign(Object.assign({}, t), {
957
- items: d(this, u, "m", _GxIdeImportFromDesign_loadTreeItemCompositionModel).call(this, s.controls)
957
+ items: d(this, f, "m", _GxIdeImportFromDesign_loadTreeItemCompositionModel).call(this, s.controls)
958
958
  });
959
959
  }
960
960
  e.push(t);
@@ -977,7 +977,7 @@ rt = new WeakMap, u = new WeakSet, D = function _GxIdeImportFromDesign_loadTreeI
977
977
  switch (t) {
978
978
  case ht:
979
979
  case ct:
980
- this.detailTreeModel = d(this, u, "m", D).call(this, this.selectedDesignItem.composition.controls);
980
+ this.detailTreeModel = d(this, f, "m", D).call(this, this.selectedDesignItem.composition.controls);
981
981
  break;
982
982
  }
983
983
  };
@@ -985,4 +985,4 @@ rt = new WeakMap, u = new WeakSet, D = function _GxIdeImportFromDesign_loadTreeI
985
985
  vt.style = c;
986
986
 
987
987
  export { vt as gx_ide_design_import };
988
- //# sourceMappingURL=p-9860323f.entry.js.map
988
+ //# sourceMappingURL=p-ba307cf6.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapStylesToComboBoxItemModel","styles","map","style","value","id","caption","label","name","TAB_DATA","layout","slot","code","tokens","composition","TAB_MODEL","panels","stencils","images","fonts","designSystem","DESIGN_TYPE_TO_TAB_MODEL_MAP","Map","designImportCss","DESIGN_DATA_TYPE_PANELS","DESIGN_DATA_TYPE_STENCILS","DESIGN_DATA_TYPE_IMAGES","DESIGN_DATA_TYPE_DESIGN_SYSTEM","DESIGN_DATA_TYPE_FONTS","ITEM_COMPOSE_ID_SEPARATOR","CHECKED_VALUE","MENU_DELETE","getIconPath","category","colorType","DESIGN","FILE_UPLOAD","CSS_BUNDLES","GxIdeImportFromDesign","_GxIdeImportFromDesign_componentLocale","set","this","_GxIdeImportFromDesign_loadedItems","_GxIdeImportFromDesign_emptyStateAnimated","_GxIdeImportFromDesign_formattedExtensions","_GxIdeImportFromDesign_accessTokenEl","_GxIdeImportFromDesign_importAsWebPanelsEl","_GxIdeImportFromDesign_moduleEl","_GxIdeImportFromDesign_messagesList","_GxIdeImportFromDesign_panelsSelected","_GxIdeImportFromDesign_stencilsSelected","_GxIdeImportFromDesign_imagesSelected","_GxIdeImportFromDesign_fontsSelected","_GxIdeImportFromDesign_fileInputHiddenEl","_GxIdeImportFromDesign_pathEl","_GxIdeImportFromDesign_initializeActiveTabs","activeTabs","_GxIdeImportFromDesign_evaluateAccessTokenRender","async","requiresAccessToken","requiresAccessTokenCallback","path","accessToken","length","accessTokenHasError","_GxIdeImportFromDesign_pathURLBlurHandler","loadDataCondition1","isLoaded","reactiveSettings","pathIsValid","lastLoadCallbackSettingValues","loadDataCondition2","__classPrivateFieldGet","_GxIdeImportFromDesign_loadData","call","_GxIdeImportFromDesign_objectsTreeSelectedItemsChangedHandler","event","detail","item","_a","itemComposedId","idList","split","itemId","itemDesignType","isChildNode","isDesignSystem","tabsModel","get","selectedDesignType","loadedItem","_GxIdeImportFromDesign_getLoadedItem","designDataDetail","_GxIdeImportFromDesign_getDesignDataDetail","designType","selectedDesignItem","_GxIdeImportFromDesign_instances","_GxIdeImportFromDesign_getCodeFactory","_GxIdeImportFromDesign_renderDetailDataTree","renderedTabs","clear","add","_GxIdeImportFromDesign_validatePath","validPathRegex","figmaURLRegex","urlWithExtensionRegex","test","_GxIdeImportFromDesign_objectsTreeCheckedItemsChangedHandler","items","Array","from","values","currentParentId","result","startsWith","checked","parentId","push","__classPrivateFieldSet","_GxIdeImportFromDesign_selectFileHandler","click","_GxIdeImportFromDesign_styleComboBoxInputHandler","styleValue","target","_GxIdeImportFromDesign_moduleInputHandler","module","defaultModule","isLoading","source","selectedFile","token","undefined","importAsWebPanels","designData","loadCallback","_GxIdeImportFromDesign_messageCallback","messages","success","firstDesignSystemName","_b","moduleId","message","loadFn","loadImageCallback","loadDesignSystemCallback","loadFontCallback","loadPanelDataCallback","returnedData","then","data","_GxIdeImportFromDesign_confirm","confirmCallback","styleName","_GxIdeImportFromDesign_cancel","cancelCallback","_GxIdeImportFromDesign_fitImagesHandler","fitImages","_GxIdeImportFromDesign_getPanelsSelectedItem","reduce","minIndex","index","_GxIdeImportFromDesign_importAsWebPanelsChangedHandler","loadData","_GxIdeImportFromDesign_removeFileSelection","_GxIdeImportFromDesign_selectFileInputChangedHandler","files","_GxIdeImportFromDesign_accessFocusHandler","element","type","_GxIdeImportFromDesign_accessBlurHandler","accessTokenChanged","_GxIdeImportFromDesign_pathUrlInputHandler","_GxIdeImportFromDesign_renderHeader","primaryButtonDisabled","clearFileButtonDisabled","stylesComboDisabled","moduleDisabled","pathWithErrorStyles","displayPathErrorTooltip","primaryButtonCaption","header","btnReload","btnLoad","selectFileButton","h","class","input","debounce","config","inputDebounce","part","onInput","onBlur","disabled","placeholder","pathPlaceholder","startImgSrc","ref","el","actionElement","blockAlign","tooltipSettings","inlineAlign","delay","pathErrorMessage","hidden","accept","onChange","removeFileSelection","title","onClick","src","accessTokenPlaceholder","onFocus","accessTokenErrorMessage","suggest","suggestOptions","alreadyProcessed","model","stylesAsComboBoxModel","labelPosition","defaultValue","selectEntityCallback","selectModuleCallback","onValueChanged","importAs","checkedValue","designDataTreeDataModel","_GxIdeImportFromDesign_renderMessages","text","_GxIdeImportFromDesign_renderMain","_GxIdeImportFromDesign_renderDesignTree","_GxIdeImportFromDesign_renderDesignTabsCh","stateIconSrc","isAnimated","stateTitle","noDesignSelected","key","selectDesign","showLines","dragDisabled","dropDisabled","toggleCheckboxes","checkbox","onCheckedItemsChange","onSelectedItemsChange","_GxIdeImportFromDesign_renderFooter","buttonOkDisabled","footer","btnCancel","btnOk","_GxIdeImportFromDesign_renderPanelTab","renderControlsTree","detailTreeModel","preview","alt","_GxIdeImportFromDesign_renderImageTab","height","_GxIdeImportFromDesign_tabSelectionChangedHandler","newSelectedId","reRenderCounter","tab","scrollable","tabListPosition","selectedId","overflow","contain","onSelectedItemChange","display","has","Set","pathIsValidChanged","designDataChanged","newDesignData","panelsSelectedItem","order","leaf","tree","expanded","i","selected","parts","pathChanged","newPath","fileIsLoaded","size","validatePathResult","newAccessToken","trim","stylesChanged","newStyles","componentWillLoad","Locale","getComponentStrings","extensions","ext","join","watchMessagesHandler","newValue","oldValue","scrollTop","scrollHeight","render","Host","controls","modelList","control","Object","assign","_GxIdeImportFromDesign_loadTreeItemCompositionModel","textEditorFactoryCallback"],"sources":["src/components/design-import/helpers.ts","src/components/design-import/models.ts","src/components/design-import/design-import.scss?tag=gx-ide-design-import&encapsulation=shadow","src/components/design-import/design-import.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../../common/types\";\n\nexport const mapStylesToComboBoxItemModel = (\n styles: GxOption[]\n): ComboBoxModel =>\n styles?.map(style => ({\n value: style.id,\n caption: style.label || style.name\n }));\n","import { TabModel } from \"@genexus/chameleon-controls-library\";\nimport { DesignType } from \"./design-import\";\n\nexport const TAB_DATA: { [key in TAB_SELECTOR]: TabData } = {\n layout: { id: \"layout\", caption: \"Layout\", slot: \"layout\" },\n code: { id: \"code\", caption: \"Code\", slot: \"code\" },\n tokens: { id: \"tokens\", caption: \"Tokens\", slot: \"tokens\" },\n styles: { id: \"styles\", caption: \"Styles\", slot: \"styles\" },\n composition: {\n id: \"composition\",\n caption: \"Composition\",\n slot: \"composition\"\n }\n};\n\nexport const TAB_MODEL: TabDataModel = {\n panels: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n },\n {\n id: TAB_DATA.layout.id,\n name: TAB_DATA.layout.caption\n },\n {\n id: TAB_DATA.code.id,\n name: TAB_DATA.code.caption\n }\n ],\n stencils: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n },\n {\n id: TAB_DATA.layout.id,\n name: TAB_DATA.layout.caption\n },\n {\n id: TAB_DATA.code.id,\n name: TAB_DATA.code.caption\n }\n ],\n images: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n }\n ],\n fonts: [\n {\n id: TAB_DATA.composition.id,\n name: TAB_DATA.composition.caption\n }\n ],\n designSystem: [\n {\n id: TAB_DATA.tokens.id,\n name: TAB_DATA.tokens.caption\n },\n {\n id: TAB_DATA.styles.id,\n name: TAB_DATA.styles.caption\n }\n ]\n};\n\nexport type TabDataModel = {\n panels: TabModel;\n stencils: TabModel;\n images: TabModel;\n fonts: TabModel;\n designSystem: TabModel;\n};\n\ntype TabData = {\n id: TAB_SELECTOR;\n caption: string;\n slot: TAB_SELECTOR;\n};\n\nexport type TAB_SELECTOR =\n | \"layout\"\n | \"code\"\n | \"tokens\"\n | \"styles\"\n | \"composition\";\n\nexport const DESIGN_TYPE_TO_TAB_MODEL_MAP = new Map<DesignType, TabModel>([\n [\"panels\", TAB_MODEL.panels],\n [\"stencils\", TAB_MODEL.stencils],\n [\"images\", TAB_MODEL.images],\n [\"design_system\", TAB_MODEL.designSystem],\n [\"fonts\", TAB_MODEL.fonts]\n]);\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - - -\n\n.header {\n display: grid;\n grid-auto-rows: max-content;\n // 88px is the inline-size of the largest label (Access Token) that is not always visible.\n // Setting 88px as the minimum inline size prevents an undesired difference when Access Token\n // is visible. This fix has been made for english only. The value should work with .ja and .zh also.\n grid-template-columns: minmax(88px, max-content) 1fr !important;\n\n &--show-access-token {\n grid-template-areas:\n \"path-url-label path-url-wrapper\"\n \"access-token-label access-token\"\n \"style-label style\"\n \"module-label module\"\n \"checkboxes-options checkboxes-options\";\n }\n &--hide-access-token {\n grid-template-areas:\n \"path-url-label path-url-wrapper\"\n \"style-label style\"\n \"module-label module\"\n \"checkboxes-options checkboxes-options\";\n }\n}\n// path url\n.path-url-wrapper {\n grid-template-columns: 1fr max-content;\n}\n.path-url-label {\n grid-area: path-url-label;\n}\n.path-url-control {\n flex-grow: 1;\n}\n.select-load-button {\n min-inline-size: 80px;\n}\n// access token\n.access-token-label {\n grid-area: access-token-label;\n}\n.access-token {\n grid-area: access-token;\n}\n// style\n.style-label {\n grid-area: style-label;\n}\n.style {\n grid-area: style;\n}\n// module\n.module-label {\n grid-area: module-label;\n}\n.module {\n grid-area: module;\n}\n// checkboxes options\n.checkboxes-options {\n grid-area: checkboxes-options;\n grid-template-columns: max-content max-content;\n justify-content: space-between;\n}\n\n// - - - - - - - - - - - - -\n// Main\n// - - - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 250px 1fr;\n block-size: 100%;\n overflow: auto;\n\n &--loading {\n grid-template-columns: 1fr;\n }\n}\n\n.panel-tab {\n block-size: 100%;\n display: grid;\n grid-template-columns: 1fr 300px;\n\n .panel-item {\n overflow: auto;\n }\n}\n\n.tree-view {\n padding-block: var(--mer-spacing--2xs);\n}\n\n.tree-view-panel-item {\n border-inline-start: var(--section-common-border);\n}\n\n.checker-board {\n --white-square-color: #fff1;\n --black-square-color: #0000;\n background:\n linear-gradient( 45deg, var(--white-square-color) 25%, var(--black-square-color) 25%),\n linear-gradient(-45deg, var(--white-square-color) 25%, var(--black-square-color) 25%),\n linear-gradient( 45deg, var(--black-square-color) 75%, var(--white-square-color) 75%),\n linear-gradient(-45deg, var(--black-square-color) 75%, var(--white-square-color) 75%);\n background-size: 20px 20px;\n background-position: 0 0, 0 10px, 10px -10px, -10px 0px;\n}\n\n/*--- Tabs ---*/\n.tab {\n border-width: 0 !important; // WA/TODO this should be a class on mercury\n}\n.tab.fit-images .composition-tab-slot {\n font-size: 0; // WA to prevent scroll\n}\n.tab.fit-images img {\n object-fit: scale-down;\n object-position: left top;\n max-height: 100%;\n}\n.tab--hidden {\n display: none;\n}\n\n// - - - - - - - - - - - - -\n// Footer\n// - - - - - - - - - - - - -\n\n.button-cancel,\n.button-ok {\n min-inline-size: var(--mer-spacing--4xl);\n}\n\n// - - - - - - - - - - - - -\n// Other\n// - - - - - - - - - - - - -\n\n.messages-slot-container {\n block-size: 100%;\n}\n\n.composition-tab-slot {\n block-size: 100%;\n overflow: auto;\n}\n\n.empty-state {\n overflow: auto;\n}\n.empty-state-button {\n // WA (It looks more pleasing with a little bit less of gap)\n transform: translateY(-12px);\n}\n\n// Messages Styles\n.messages-container {\n}\n.message {\n animation: fadeIn var(--mer-timing--fast) ease-in-out forwards;\n\n &--info {\n color: var(--mer-text__on-surface);\n }\n &--warning {\n color: var(--mer-text__warning);\n }\n &--error {\n color: var(--mer-text__error);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n// WA\n\n.combo-box.ch-disabled {\n --control__bg-color: var(--control__background-color--disabled);\n --control__border-color: var(--control__border-color--disabled);\n --control__color: var(--control__color--disabled);\n --ch-placeholder-color: var(--control-placeholder__color--disabled);\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport {\n ChCheckboxCustomEvent,\n ChEditCustomEvent,\n ComboBoxModel,\n TabModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../common/config\";\nimport { mapStylesToComboBoxItemModel } from \"./helpers\";\nimport { Locale } from \"../../common/locale\";\nimport { EntityData, GxOption } from \"../../common/types\";\nimport { TAB_DATA, DESIGN_TYPE_TO_TAB_MODEL_MAP, TAB_MODEL } from \"./models\";\n\nconst DESIGN_DATA_TYPE_PANELS = \"panels\";\nconst DESIGN_DATA_TYPE_STENCILS = \"stencils\";\nconst DESIGN_DATA_TYPE_IMAGES = \"images\";\nconst DESIGN_DATA_TYPE_DESIGN_SYSTEM = \"design_system\";\nconst DESIGN_DATA_TYPE_FONTS = \"fonts\";\n\nconst ITEM_COMPOSE_ID_SEPARATOR = \"@@@\";\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\n\n// Icons\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\nconst DESIGN = getIconPath({\n category: \"objects\",\n name: \"design\"\n});\nconst FILE_UPLOAD = getIconPath({\n category: \"controls\",\n name: \"file-upload\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\",\n \"components/combo-box\",\n \"components/tab\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-design-import\",\n styleUrl: \"design-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/design-import\"]\n})\nexport class GxIdeImportFromDesign {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n /**\n * An array that keeps track of the tree items id's (design system data type\n * + item id) along with the content, that will be used to save and retrieve\n * items information, in order to avoid using a callback to get items\n * information that was already get. loadedItemsArray will be reset every time\n * a new design is loaded.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #loadedItems: Map<string, ItemLoadedInfo> = new Map();\n\n #emptyStateAnimated: boolean = false;\n #formattedExtensions: string;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDesignImportElement;\n\n /* References needed to collect data */\n #accessTokenEl!: HTMLChEditElement;\n #importAsWebPanelsEl!: HTMLChCheckboxElement;\n #moduleEl!: HTMLGxIdeEntitySelectorElement;\n #messagesList: HTMLElement;\n #panelsSelected: string[] = [];\n #stencilsSelected: string[] = [];\n #imagesSelected: string[] = [];\n #fontsSelected: string[] = [];\n #fileInputHiddenEl: HTMLInputElement;\n #pathEl: HTMLChEditElement;\n\n // Use to force a re-render\n @State() reRenderCounter: number = 0;\n\n // Maps to Chameleon Models:\n @State() stylesAsComboBoxModel: ComboBoxModel;\n\n // The current style value\n @State() styleValue: string = \"\";\n\n @State() accessTokenHasError: boolean = false;\n\n @State() pathIsValid: boolean;\n @Watch(\"pathIsValid\")\n pathIsValidChanged(pathIsValid: boolean) {\n if (pathIsValid) {\n this.#evaluateAccessTokenRender();\n } else {\n // hide access token input if path is not valid\n this.requiresAccessToken = false;\n }\n }\n\n @State() tabsModel: TabModel = [];\n\n @State() activeTabs: Map<DesignType, string> = new Map();\n\n @State() renderedTabs: Set<string> = new Set();\n\n /**\n * The design data loaded from file\n */\n @State() designData: DesignData = null;\n @Watch(\"designData\")\n designDataChanged(newDesignData: DesignData) {\n if (newDesignData) {\n const panelsSelectedItem = this.#getPanelsSelectedItem(\n this.designData.panels\n );\n this.designDataTreeDataModel = [\n {\n order: 0,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_PANELS}`,\n leaf: false,\n caption: this.#componentLocale.tree.panels,\n startImgSrc: \"objects/panel-for-sd\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.panels.map((item, i) => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_PANELS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"objects/panel-for-sd\",\n checkbox: true,\n checked: true,\n selected: i === panelsSelectedItem\n }))\n },\n {\n order: 1,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_STENCILS}`,\n leaf: false,\n caption: this.#componentLocale.tree.stencils,\n startImgSrc: \"objects/stencil\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.stencils.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_STENCILS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"objects/stencil\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 2,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_IMAGES}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this.#componentLocale.tree.images,\n startImgSrc: \"objects/image\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.images.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_IMAGES}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"objects/image\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 3,\n id: `parent${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_FONTS}`,\n leaf: false,\n caption: this.#componentLocale.tree.fonts,\n startImgSrc: \"controls/font\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.fonts.map(item => ({\n id: `${item.id}${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_FONTS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"controls/font\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 4,\n id: `${\n this.designData.designSystem.length > 0\n ? this.designData.designSystem[0].id\n : \"parent\"\n }${ITEM_COMPOSE_ID_SEPARATOR}${DESIGN_DATA_TYPE_DESIGN_SYSTEM}`,\n leaf: true,\n caption: this.#componentLocale.tree.designSystem,\n startImgSrc: \"objects/dso\",\n checkbox: true,\n checked: true\n }\n ];\n }\n }\n\n /**\n * The model data loaded into the detail tree\n */\n @State() detailTreeModel: TreeViewItemModel[] = [];\n\n /**\n * If the design data is loading or not, for disabled actions\n */\n @State() isLoading = false;\n\n /**\n * If the design data is loaded or not, for conditioning input file\n */\n @State() isLoaded = false;\n\n /**\n * The messages receive when the file is loading\n */\n @State() messages: MessageData[] = [];\n\n /**\n * The file selected for load the design data\n */\n @State() selectedFile: File;\n\n /**\n * The type of the design data selected for show it visual tabs\n */\n @State() selectedDesignType: DesignType;\n\n /**\n * The item of the design data selected for show its contents on visual tabs\n */\n @State() selectedDesignItem: any;\n\n /**\n * Whether to show or not the access token input field\n */\n @State() requiresAccessToken: boolean;\n\n /**\n * the design data tree view data model\n */\n @State() designDataTreeDataModel: TreeViewItemModel[] = [];\n\n /**\n * Used to trigger a re-render after an item has been selected on\n * renderDesignTree, in order to set the first tab as the active tab\n * (setFirstActiveTab()), since calling this method inside\n * objectsTreeSelectedItemsChangedHandler does not always work without a\n * setTimeOut.\n */\n @State() updateTabsActiveTab: boolean = false;\n\n /**\n * If true, images will be fitted in the container\n */\n @State() fitImages = false;\n\n /**\n * Represents a collection of settings where each key is a specific option. Its\n * boolean value determines whether changes to that option are listened to and\n * trigger the loadCallback callback.\n */\n @Prop() readonly reactiveSettings: ReactiveSettings = {\n path: true,\n style: false,\n module: false,\n importAsWebPanels: true\n };\n\n /**\n * Used to keep track of the settings values since the last loadCallback.\n * Used to know if loadCallback is required to be called again, when any\n * of these values are changed.\n */\n @State() lastLoadCallbackSettingValues: ReactiveSettingsValues = {\n path: undefined,\n style: undefined,\n moduleId: undefined,\n importAsWebPanels: undefined\n };\n\n /**\n * The valid extensions for the files that will be loaded in Path/URL\n * (ie.: \".fig, .sketch\")\n */\n @Prop() readonly extensions!: string[];\n\n /**\n * Default value for the 'Module' field.\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * The path/URL for load the design data\n */\n @Prop({ mutable: true }) path: string = \"\";\n @Watch(\"path\")\n pathChanged(newPath: string) {\n const fileIsLoaded = this.selectedFile?.size > 0;\n const validatePathResult = this.#validatePath(newPath) || fileIsLoaded;\n this.pathIsValid = validatePathResult;\n }\n\n /**\n * The access token for the given path, which is not always required\n */\n @Prop({ mutable: true }) accessToken: string = \"\";\n @Watch(\"accessToken\")\n accessTokenChanged(newAccessToken: string) {\n if (!newAccessToken.trim().length) {\n this.accessTokenHasError = true;\n return;\n }\n this.accessTokenHasError = false;\n this.accessToken = newAccessToken;\n }\n\n /**\n * The value for \"Import as Web Panels\" checkbox.\n */\n @Prop() readonly importAsWebPanels: boolean = false;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter.\n * It returns the information of the selected object (id and name) or\n * 'undefined' if it was canceled.\n */\n @Prop() readonly selectModuleCallback: SelectModuleCallback;\n\n /**\n * This is a function provided by the developer that cancel the load operation.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * This is a function provided by the developer that initiates the process\n * of importing a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that returns the list of\n * data types loaded from a file or URL.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Design System type of data.\n */\n // eslint-disable-next-line prettier/prettier\n @Prop() readonly loadDesignSystemCallback!: LoadDesignSystemCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Font type of data.\n */\n @Prop() readonly loadFontCallback!: LoadFontCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of an Image System type of data.\n */\n @Prop() readonly loadImageCallback!: LoadImageCallback;\n\n /**\n * This is a function provided by the developer that returns the information\n * of a Panel type of data.\n */\n @Prop() readonly loadPanelDataCallback!: LoadPanelDataCallback;\n\n /**\n * Callback invoked to determine if accessing a design requires an authentication token.\n */\n @Prop() readonly requiresAccessTokenCallback!: RequiresAccessTokenCallback;\n\n /**\n * The styles render in the option style selector\n */\n @Prop() readonly styles!: GxOption[];\n @Watch(\"styles\")\n stylesChanged(newStyles: GxOption[]) {\n this.stylesAsComboBoxModel = mapStylesToComboBoxItemModel(newStyles);\n }\n\n /**\n * This is a function provided by the developer for create an instance of a text editor.\n */\n // eslint-disable-next-line prettier/prettier\n @Prop() readonly textEditorFactoryCallback!: TextEditorFactoryCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#formattedExtensions = this.extensions\n .map(ext => `.${ext}`)\n .join(\", \");\n this.stylesChanged(this.styles);\n this.#initializeActiveTabs();\n this.pathChanged(this.path);\n this.styleValue =\n this.stylesAsComboBoxModel?.length > 0\n ? this.stylesAsComboBoxModel[0]?.value\n : \"\";\n }\n\n @Watch(\"messages\")\n watchMessagesHandler(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n if (this.#messagesList) {\n this.#messagesList.scrollTop = this.#messagesList.scrollHeight;\n }\n }\n }\n\n // 9.LOCAL METHODS //\n\n #initializeActiveTabs = () => {\n this.activeTabs.set(\"panels\", TAB_MODEL.panels[0].id);\n this.activeTabs.set(\"stencils\", TAB_MODEL.stencils[0].id);\n this.activeTabs.set(\"images\", TAB_MODEL.images[0].id);\n this.activeTabs.set(\"fonts\", TAB_MODEL.fonts[0].id);\n this.activeTabs.set(\"design_system\", TAB_MODEL.designSystem[0].id);\n };\n\n #evaluateAccessTokenRender = async () => {\n this.requiresAccessToken = await this.requiresAccessTokenCallback(\n this.path\n );\n // evaluate access token error\n if (this.accessToken.length) {\n this.accessTokenHasError = false;\n }\n };\n\n #pathURLBlurHandler = async () => {\n const loadDataCondition1 =\n this.isLoaded &&\n this.reactiveSettings.path &&\n this.pathIsValid &&\n this.path !== this.lastLoadCallbackSettingValues.path;\n const loadDataCondition2 =\n !this.requiresAccessToken ||\n (this.requiresAccessToken && this.accessToken.length > 0);\n if (loadDataCondition1 && loadDataCondition2) {\n this.#loadData();\n }\n };\n\n #loadTreeItemCompositionModel(\n controls: DesignPanelControlData[]\n ): TreeViewItemModel[] {\n const modelList: TreeViewItemModel[] = [];\n for (const control of controls) {\n let model: TreeViewItemModel = {\n id: control.name,\n caption: control.name,\n startImgSrc: control.type,\n checkbox: false,\n expanded: true,\n leaf: control.leaf\n };\n if (control.controls) {\n model = {\n ...model,\n items: this.#loadTreeItemCompositionModel(control.controls)\n };\n }\n modelList.push(model);\n }\n return modelList;\n }\n\n #objectsTreeSelectedItemsChangedHandler = async (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (event.detail.length) {\n const item = event.detail[0]?.item;\n const itemComposedId = item.id;\n const idList = itemComposedId.split(ITEM_COMPOSE_ID_SEPARATOR);\n const itemId = idList[0];\n const itemDesignType: DesignType = idList[1] as DesignType;\n const isChildNode = itemId && itemId !== \"parent\";\n const isDesignSystem = itemDesignType === \"design_system\";\n if (isChildNode || isDesignSystem) {\n this.tabsModel = DESIGN_TYPE_TO_TAB_MODEL_MAP.get(itemDesignType);\n this.selectedDesignType = itemDesignType;\n const loadedItem = this.#getLoadedItem(itemComposedId);\n if (!loadedItem) {\n const designDataDetail: DesignItemDataDetail =\n await this.#getDesignDataDetail(itemId, this.selectedDesignType);\n this.#loadedItems.set(itemComposedId, {\n designType: this.selectedDesignType,\n designDataDetail: designDataDetail\n });\n } else {\n // Item has been queried already. The item content exists already.\n this.selectedDesignType = loadedItem.designType;\n this.selectedDesignItem = loadedItem.designDataDetail;\n this.#getCodeFactory(loadedItem.designType);\n this.#renderDetailDataTree(loadedItem.designType);\n }\n this.renderedTabs.clear();\n this.renderedTabs.add(this.activeTabs.get(this.selectedDesignType));\n }\n }\n };\n\n #getLoadedItem = (id: string): ItemLoadedInfo | undefined => {\n return this.#loadedItems?.get(id);\n };\n\n #validatePath = (path: string): boolean => {\n const validPathRegex = /^(\\/|\\.\\/|(\\w:))[^:*?\"<>|]*\\.(sketch|gxsketch)$/i; // Match valid file paths\n const figmaURLRegex = /^https?:\\/\\/(www\\.)?figma\\.com/; // Match URLs containing \"www.figma.com\"\n const urlWithExtensionRegex =\n /^https?:\\/\\/[^\\s/$.?#].[^\\s]*\\.(sketch|gxsketch)$/i; // Match URLs ending with .sketch or .gxsketch\n const pathIsValid =\n validPathRegex.test(path) ||\n figmaURLRegex.test(path) ||\n urlWithExtensionRegex.test(path);\n return pathIsValid;\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const items = Array.from(event.detail.values());\n let currentParentId = null;\n const result: { [key: string]: string[] } = {};\n\n for (const item of items) {\n if (item.item.id.startsWith(`parent${ITEM_COMPOSE_ID_SEPARATOR}`)) {\n currentParentId = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[1];\n result[currentParentId] = [];\n } else if (item.item.checked && currentParentId) {\n const parentId = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[1];\n if (parentId === currentParentId) {\n const id = item.item.id.split(ITEM_COMPOSE_ID_SEPARATOR)[0];\n result[currentParentId].push(id);\n }\n }\n }\n // const { designSystem, fonts, images, panels, stencils } = result;\n const { fonts, panels, stencils, images } = result;\n\n // this.designSystemSelected = designSystem;\n this.#panelsSelected = panels;\n this.#stencilsSelected = stencils;\n this.#imagesSelected = images;\n this.#fontsSelected = fonts;\n };\n\n #selectFileHandler = (): void => {\n this.#fileInputHiddenEl.click();\n };\n\n #styleComboBoxInputHandler = (event: CustomEvent<string> | InputEvent) => {\n this.styleValue = (event.target as HTMLChComboBoxRenderElement).value;\n if (\n this.reactiveSettings.style &&\n this.styleValue !== this.lastLoadCallbackSettingValues.style\n ) {\n this.#loadData();\n }\n };\n\n #moduleInputHandler = (event: CustomEvent<EntityData>) => {\n if (\n this.reactiveSettings.module &&\n this.defaultModule.id !== event.detail.id &&\n this.pathIsValid\n ) {\n this.#loadData();\n }\n };\n\n #loadData = async (): Promise<void> => {\n this.isLoading = true;\n const source = this.selectedFile ? this.selectedFile : this.path;\n const token = this.#accessTokenEl ? this.#accessTokenEl.value : undefined;\n const style = this.styleValue;\n const importAsWebPanels = this.#importAsWebPanelsEl.value === CHECKED_VALUE;\n const designData: DesignData = await this.loadCallback(\n source,\n style,\n importAsWebPanels,\n token,\n this.#messageCallback\n );\n\n // clear\n this.#panelsSelected = [];\n this.#stencilsSelected = [];\n this.#fontsSelected = [];\n this.selectedDesignType = undefined;\n this.selectedDesignItem = undefined;\n this.messages = [];\n\n this.designData = designData;\n this.isLoaded = designData?.success ?? false;\n this.isLoading = false;\n\n const firstDesignSystemName = designData.designSystem[0]?.name;\n if (firstDesignSystemName && !this.styleValue)\n this.styleValue = firstDesignSystemName;\n\n // update the settings that were used for the last load\n if (this.reactiveSettings.path && this.pathIsValid) {\n this.lastLoadCallbackSettingValues.path = this.path;\n }\n if (this.reactiveSettings.style) {\n this.lastLoadCallbackSettingValues.style = style;\n }\n if (this.reactiveSettings.module) {\n this.lastLoadCallbackSettingValues.moduleId = this.#moduleEl.value.id;\n }\n if (this.reactiveSettings.importAsWebPanels) {\n this.lastLoadCallbackSettingValues.importAsWebPanels = importAsWebPanels;\n }\n };\n\n #messageCallback: LoadMessageCallback = message => {\n this.messages = [...this.messages, message];\n };\n\n #getDesignDataDetail = async (\n id: string,\n designType: DesignType\n ): Promise<DesignItemDataDetail> => {\n let loadFn:\n | LoadPanelDataCallback\n | LoadImageCallback\n | LoadFontCallback\n | LoadDesignSystemCallback;\n\n switch (designType) {\n case DESIGN_DATA_TYPE_IMAGES:\n loadFn = this.loadImageCallback;\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n loadFn = this.loadDesignSystemCallback;\n break;\n case DESIGN_DATA_TYPE_FONTS:\n loadFn = this.loadFontCallback;\n break;\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n loadFn = this.loadPanelDataCallback;\n break;\n }\n\n let returnedData: DesignItemDataDetail;\n await loadFn(id).then((data: DesignItemDataDetail) => {\n this.selectedDesignType = designType;\n this.selectedDesignItem = data;\n this.#getCodeFactory(designType);\n this.#renderDetailDataTree(designType);\n returnedData = data;\n });\n\n return returnedData;\n };\n\n #getCodeFactory(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.textEditorFactoryCallback(\n \"code\",\n TAB_DATA.code.slot,\n this.selectedDesignItem.code\n );\n this.textEditorFactoryCallback(\n \"html\",\n TAB_DATA.layout.slot,\n this.selectedDesignItem.layout\n );\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n this.textEditorFactoryCallback(\n \"tokens\",\n TAB_DATA.tokens.slot,\n this.selectedDesignItem.tokens\n );\n this.textEditorFactoryCallback(\n \"styles\",\n TAB_DATA.styles.slot,\n this.selectedDesignItem.styles\n );\n break;\n }\n }\n\n #confirm = (): void => {\n this.confirmCallback({\n panels: this.#panelsSelected,\n stencils: this.#stencilsSelected,\n fonts: this.#fontsSelected,\n images: this.#imagesSelected,\n moduleId: this.#moduleEl?.value?.id,\n styleName: this.styleValue,\n importAsWebPanels: this.#importAsWebPanelsEl.value === CHECKED_VALUE\n });\n };\n\n #cancel = (): void => {\n this.cancelCallback();\n this.isLoading = false;\n };\n\n #fitImagesHandler = (event: ChCheckboxCustomEvent<any> | InputEvent) => {\n this.fitImages = event.detail === CHECKED_VALUE;\n };\n\n #getPanelsSelectedItem = (panels: DesignItemData[]): number => {\n return panels.reduce((minIndex, item, index, panels) => {\n return panels[minIndex].name <= item.name ? minIndex : index;\n }, 0);\n };\n\n #importAsWebPanelsChangedHandler = () => {\n const loadData =\n this.reactiveSettings.importAsWebPanels && this.pathIsValid;\n if (loadData) {\n this.#loadData();\n }\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.path = \"\";\n this.accessToken = \"\";\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n };\n\n #selectFileInputChangedHandler = (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n this.path = this.selectedFile.name;\n // we know the path is valid because the extensions are restricted by \"extensions\" Prop.\n }\n };\n\n #accessFocusHandler = (event: ChEditCustomEvent<string> | FocusEvent) => {\n const element = event.target as HTMLChEditElement;\n element.type = \"text\"; // display token on focus\n };\n\n #accessBlurHandler = (event: ChEditCustomEvent<string> | FocusEvent) => {\n const element = event.target as HTMLChEditElement;\n element.type = \"password\"; // hide token on blur\n\n this.accessTokenChanged(element.value);\n };\n\n #pathUrlInputHandler = async (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.path = event.detail as string;\n this.#evaluateAccessTokenRender();\n this.selectedFile = null;\n if (!this.path.length) this.designData = null;\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n #renderHeader = (): Element => {\n const primaryButtonDisabled =\n this.isLoading ||\n (this.pathIsValid &&\n this.requiresAccessToken &&\n this.accessToken.length === 0);\n const clearFileButtonDisabled = this.isLoading || this.path.length === 0;\n const stylesComboDisabled = this.isLoading;\n const moduleDisabled = this.isLoading;\n const pathWithErrorStyles = !this.pathIsValid && this.path.length > 0;\n const displayPathErrorTooltip = !this.pathIsValid && this.path.length > 0;\n let primaryButtonCaption;\n if (\n this.pathIsValid &&\n this.path === this.lastLoadCallbackSettingValues.path\n ) {\n primaryButtonCaption = this.#componentLocale.header.btnReload;\n } else if (this.pathIsValid) {\n primaryButtonCaption = this.#componentLocale.header.btnLoad;\n } else {\n primaryButtonCaption = this.#componentLocale.header.selectFileButton;\n }\n\n return (\n <header\n class={{\n \"header\": true,\n \"control-header-with-border\": true,\n \"spacing-body-inline\": true,\n \"spacing-body-block-start\": true,\n \"header--show-access-token\": this.requiresAccessToken,\n \"header--hide-access-token\": !this.requiresAccessToken,\n \"field-group-cols-2\": true\n }}\n >\n <label\n // path/url label\n class=\"label path-url-label\"\n >\n {this.#componentLocale.header.path}\n </label>\n <div class=\"path-url-wrapper buttons-spacer\">\n <ch-edit\n // path/url/file input\n id=\"path-url\"\n class={{\n \"input\": true,\n \"input-error\": pathWithErrorStyles,\n \"path-url-control\": true\n }}\n debounce={config.inputDebounce}\n part=\"option-path\"\n type=\"text\"\n value={this.path}\n onInput={this.#pathUrlInputHandler}\n onBlur={this.reactiveSettings.path && this.#pathURLBlurHandler}\n disabled={this.isLoading}\n placeholder={`${this.#componentLocale.header.pathPlaceholder}`}\n startImgSrc={FILE_UPLOAD}\n ref={(el: HTMLChEditElement) =>\n (this.#pathEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {displayPathErrorTooltip && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={this.#pathEl as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.pathErrorMessage}{\" \"}\n {this.#formattedExtensions}\n </ch-tooltip>\n )}\n\n <input\n hidden\n type=\"file\"\n accept={this.#formattedExtensions}\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n\n <div class=\"buttons-spacer\">\n <button\n // remove file selection\n aria-label={this.#componentLocale.header.removeFileSelection}\n title={this.#componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n disabled={clearFileButtonDisabled}\n onClick={!clearFileButtonDisabled && this.#removeFileSelection}\n >\n <ch-image\n class=\"icon-md\"\n src={MENU_DELETE}\n disabled={clearFileButtonDisabled}\n ></ch-image>\n </button>\n <button\n // load file button\n id=\"button-load\"\n type=\"primary-text-only\"\n onClick={\n this.pathIsValid ? this.#loadData : this.#selectFileHandler\n }\n part=\"button button--load\"\n disabled={primaryButtonDisabled}\n class={{\n \"button-primary\": this.pathIsValid,\n \"button-secondary\": !this.pathIsValid,\n \"select-load-button\": true\n }}\n >\n {primaryButtonCaption}\n </button>\n </div>\n </div>\n\n {this.requiresAccessToken && [\n <label\n // access token label\n class=\"label access-token-label\"\n >\n {this.#componentLocale.header.accessToken}\n </label>,\n <div>\n <ch-edit\n class={{\n \"input\": true,\n \"access-token\": true,\n \"input-error\": this.accessTokenHasError\n }}\n ref={(el: HTMLChEditElement) =>\n (this.#accessTokenEl = el as HTMLChEditElement)\n }\n value={this.accessToken}\n placeholder={this.#componentLocale.header.accessTokenPlaceholder}\n onFocus={this.#accessFocusHandler}\n onBlur={this.#accessBlurHandler}\n part=\"access-token\"\n disabled={this.isLoading}\n type=\"password\"\n ></ch-edit>\n {this.accessTokenHasError && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#accessTokenEl as unknown as HTMLButtonElement\n }\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#componentLocale.header.accessTokenErrorMessage}\n </ch-tooltip>\n )}\n </div>\n ]}\n <label\n // style label\n class=\"label style-label\"\n >\n {this.#componentLocale.header.style}\n </label>\n <ch-combo-box-render\n // style combo box\n suggest={true}\n suggestOptions={{\n alreadyProcessed: true\n }}\n disabled={stylesComboDisabled}\n model={this.stylesAsComboBoxModel}\n value={this.styleValue}\n onInput={this.#styleComboBoxInputHandler}\n part=\"option-style\"\n class=\"combo-box style\"\n ></ch-combo-box-render>\n\n <label\n // module label\n class=\"label module-label\"\n >\n {this.#componentLocale.header.module}\n </label>\n <gx-ide-entity-selector\n // module entity selector\n labelPosition=\"none\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#moduleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n onValueChanged={\n this.reactiveSettings.module && this.#moduleInputHandler\n }\n disabled={moduleDisabled}\n class=\"module\"\n ></gx-ide-entity-selector>\n\n <div\n // import as web panels\n class=\"checkboxes-options field-group\"\n >\n <ch-checkbox\n caption={this.#componentLocale.header.importAs}\n checkedValue={CHECKED_VALUE}\n class=\"checkbox import-as-web-panels\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#importAsWebPanelsEl = el as HTMLChCheckboxElement)\n }\n value={this.importAsWebPanels ? CHECKED_VALUE : undefined}\n part=\"option-import-as-web-panels\"\n disabled={this.isLoading}\n onInput={this.#importAsWebPanelsChangedHandler}\n ></ch-checkbox>\n\n <div\n class={{\n \"field-group-inline\": true,\n \"checkboxes-options__col-right\": true\n }}\n >\n <ch-checkbox\n // fit images\n caption={this.#componentLocale.header.fitImages}\n checkedValue={CHECKED_VALUE}\n class=\"checkbox\"\n part=\"fit-images-checkbox\"\n disabled={this.isLoading || !this.designDataTreeDataModel.length}\n onInput={this.#fitImagesHandler}\n ></ch-checkbox>\n </div>\n </div>\n </header>\n );\n };\n\n #renderMessages = (): HTMLParagraphElement[] => {\n return (\n this.messages.length > 0 &&\n this.messages.map(message => (\n <p\n class={{\n \"text-body-regular-m\": true,\n \"message\": true,\n [`message--${message.type}`]: true\n }}\n >\n {message.type}: {message.text}\n </p>\n ))\n );\n };\n\n #renderDetailDataTree(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.detailTreeModel = this.#loadTreeItemCompositionModel(\n this.selectedDesignItem.composition.controls\n );\n break;\n }\n }\n\n #renderMain = () => {\n if (this.isLoading || this.designData?.success === false) {\n return (\n <div\n class=\"main main--loading scrollable\"\n ref={(el: HTMLElement) => (this.#messagesList = el as HTMLElement)}\n >\n {this.#renderMessages()}\n <div class=\"text-body-regular-m spacing-body\">\n <slot name=\"messages\"></slot>\n </div>\n </div>\n );\n } else if (this.designData?.success) {\n return (\n /* #main*/\n <div class=\"main\">\n {[this.#renderDesignTree(), this.#renderDesignTabsCh()]}\n </div>\n );\n } else {\n return (\n <gx-ide-empty-state\n class=\"empty-state scrollable\"\n stateIconSrc={DESIGN}\n isAnimated={this.#emptyStateAnimated}\n stateTitle={this.#componentLocale.messages.noDesignSelected}\n key=\"no-objects-empty-state\"\n >\n <button\n // begin by selecting a file\n class=\"button-tertiary empty-state-button\"\n onClick={this.#selectFileHandler}\n >\n {this.#componentLocale.messages.selectDesign}\n </button>\n </gx-ide-empty-state>\n );\n }\n };\n\n #renderDesignTree = (): HTMLChTreeViewElement => {\n return (\n <ch-tree-view-render\n part=\"data-tree\"\n class=\"tree-view\"\n id=\"data-tree\"\n showLines=\"last\"\n model={this.designDataTreeDataModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n onSelectedItemsChange={this.#objectsTreeSelectedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #renderFooter = () => {\n const buttonOkDisabled =\n this.designData?.success !== true || this.isLoading;\n return (\n <footer class=\"control-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n // button cancel\n id=\"button-cancel\"\n class=\"button-secondary button-cancel\"\n type=\"outlined\"\n onClick={this.#cancel}\n part=\"button button--cancel\"\n slot=\"footer-end\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // button ok\n id=\"button-ok\"\n class=\"button-primary button-ok\"\n type=\"primary-text-only\"\n onClick={!buttonOkDisabled && this.#confirm}\n part=\"button button--ok\"\n disabled={buttonOkDisabled}\n slot=\"footer-end\"\n >\n {this.#componentLocale.footer.btnOk}\n </button>\n </div>\n </footer>\n );\n };\n\n #renderPanelTab = (): Element => {\n const renderControlsTree =\n (this.selectedDesignType === DESIGN_DATA_TYPE_PANELS ||\n this.selectedDesignType === DESIGN_DATA_TYPE_STENCILS) &&\n this.detailTreeModel.length > 0;\n\n return (\n <div\n class={{\n \"panel-tab\": true,\n \"panel-tab--controls-tree\": renderControlsTree\n }}\n part=\"data-panel-composition-container\"\n >\n {this.selectedDesignItem?.composition?.preview ? (\n <div\n part=\"data-panel-composition-preview\"\n class=\"panel-item scrollable\"\n >\n <img\n src={this.selectedDesignItem.composition.preview}\n alt=\"Preview\"\n />\n </div>\n ) : null}\n\n {renderControlsTree ? (\n <ch-tree-view-render\n part=\"data-panel-composition-tree\"\n class=\"tree-view tree-view-panel-item scrollable\"\n showLines=\"last\"\n model={this.detailTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n ></ch-tree-view-render>\n ) : null}\n </div>\n );\n };\n\n #renderImageTab = () => {\n return (\n <div\n part=\"data-panel-composition-preview\"\n class=\"data-preview\"\n style={{ height: \"100%\" }}\n >\n <img\n src={this.selectedDesignItem ? this.selectedDesignItem : undefined}\n alt=\"Preview\"\n class={\n this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES\n ? \"checker-board\"\n : undefined\n }\n />\n </div>\n );\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.renderedTabs.clear();\n this.renderedTabs.add(event.detail.newSelectedId);\n this.reRenderCounter++;\n this.activeTabs.set(this.selectedDesignType, event.detail.newSelectedId);\n };\n\n #renderDesignTabsCh = (): HTMLChTabRenderElement => {\n return (\n <ch-tab-render\n // main section\n class={{\n \"tab\": true,\n \"scrollable\": true,\n \"fit-images\": this.fitImages\n }}\n tabListPosition=\"block-start\"\n model={this.tabsModel}\n selectedId={this.activeTabs.get(this.selectedDesignType)}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n >\n <div\n slot={TAB_DATA.tokens.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.tokens.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.tokens.slot}></slot>\n </div>\n\n <div\n slot={TAB_DATA.styles.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.styles.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.styles.slot}></slot>\n </div>\n\n <div\n class=\"composition-tab-slot scrollable\"\n slot={TAB_DATA.composition.slot}\n style={{\n display: this.renderedTabs.has(TAB_DATA.composition.id)\n ? \"\"\n : \"none\"\n }}\n >\n {this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES ||\n this.selectedDesignType === DESIGN_DATA_TYPE_FONTS\n ? this.#renderImageTab()\n : this.#renderPanelTab()}\n </div>\n\n <div\n slot={TAB_DATA.layout.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.layout.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.layout.slot}></slot>\n </div>\n\n <div\n slot={TAB_DATA.code.slot}\n class=\"spacing-body\"\n style={{\n display: this.renderedTabs.has(TAB_DATA.code.id) ? \"\" : \"none\"\n }}\n >\n <slot name={TAB_DATA.code.slot}></slot>\n </div>\n </ch-tab-render>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n {this.#renderHeader()}\n {this.#renderMain()}\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type LoadMessageCallback = (message: MessageData) => void;\nexport type LoadCallback = (\n source: string | File,\n designSystem: string,\n importAsWebPanels: boolean,\n token: string | undefined,\n onMessage: LoadMessageCallback\n) => Promise<DesignData | undefined>;\nexport type LoadPanelDataCallback = (id: string) => Promise<DesignPanelData>;\nexport type LoadImageCallback = (id: string) => Promise<string>;\nexport type LoadFontCallback = (id: string) => Promise<string>;\nexport type LoadDesignSystemCallback = (\n id: string\n) => Promise<DesignSystemData>;\nexport type TextEditorFactoryCallback = (\n type: TextEditorType,\n parent: string,\n text: string\n) => Promise<void>;\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type RequiresAccessTokenCallback = (source: string) => Promise<boolean>;\nexport type ConfirmCallback = (data: DesignImportData) => Promise<boolean>;\nexport type CancelCallback = () => Promise<void>;\n\nexport interface MessageData {\n type: \"error\" | \"warning\" | \"info\";\n text: string;\n}\n\nexport interface DesignData {\n panels: DesignItemData[];\n stencils: DesignItemData[];\n images: DesignItemData[];\n designSystem: DesignItemData[];\n fonts: DesignItemData[];\n success: boolean;\n}\n\nexport interface DesignItemData {\n id: string;\n name: string;\n}\n\nexport interface DesignPanelData {\n composition: DesignPanelCompositionData;\n code?: string;\n layout?: string;\n}\n\nexport interface DesignPanelCompositionData {\n preview?: string;\n controls: DesignPanelControlData[];\n}\n\nexport interface DesignPanelControlData {\n name: string;\n type: string;\n leaf?: boolean;\n controls: DesignPanelControlData[];\n}\n\nexport interface DesignSystemData {\n tokens: string;\n styles: string;\n}\n\ntype DesignItemDataDetail = DesignPanelData | DesignSystemData | string;\n\nexport interface DesignImportData {\n panels: string[];\n stencils: string[];\n fonts: string[];\n moduleId: string;\n images: string[];\n styleName: string;\n importAsWebPanels: boolean;\n}\n\nexport type DesignType =\n | typeof DESIGN_DATA_TYPE_PANELS\n | typeof DESIGN_DATA_TYPE_STENCILS\n | typeof DESIGN_DATA_TYPE_IMAGES\n | typeof DESIGN_DATA_TYPE_DESIGN_SYSTEM\n | typeof DESIGN_DATA_TYPE_FONTS;\n\nexport type DesignObjectType = {\n [Key in DesignType]: string;\n};\n\nexport type ItemLoadedInfo = {\n designType: DesignType;\n designDataDetail: DesignItemDataDetail;\n};\n\nexport type TextEditorType = \"code\" | \"html\" | \"styles\" | \"tokens\";\n\nexport type ReactiveSettings = {\n path: boolean;\n style: boolean;\n module: boolean;\n importAsWebPanels: boolean;\n};\n\ntype ReactiveSettingsValues = {\n path: string;\n style: string;\n moduleId: string;\n importAsWebPanels: boolean;\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { r as e, c as t, h as r, H as o, g as a } from "./p-49712340.js";
2
2
 
3
- import { L as i } from "./p-74d59062.js";
3
+ import { L as i } from "./p-311eedf3.js";
4
4
 
5
5
  import { c as s } from "./p-78b90603.js";
6
6
 
@@ -229,4 +229,4 @@ const n = class {
229
229
  n.style = l;
230
230
 
231
231
  export { n as gx_ide_bpm_assign_roles };
232
- //# sourceMappingURL=p-5a0f8455.entry.js.map
232
+ //# sourceMappingURL=p-bb9df26f.entry.js.map