@genexus/genexus-ide-ui 1.0.17 → 1.0.19

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 (483) hide show
  1. package/dist/cjs/{assets-manager-64c42a1e.js → assets-manager-a318866f.js} +143 -69
  2. package/dist/cjs/assets-manager-a318866f.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +3 -3
  29. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  31. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -3
  39. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -4
  43. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  45. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +4 -27
  47. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +2 -2
  49. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +2 -2
  51. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +228 -0
  53. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -0
  54. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -2
  55. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -7
  57. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-new-object.cjs.entry.js +285 -169
  59. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +8 -7
  61. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +3 -3
  63. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  67. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-start-page.cjs.entry.js +4 -4
  69. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +35 -17
  71. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  73. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  75. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  77. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  80. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  81. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  83. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  85. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +396 -279
  87. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  88. package/dist/cjs/{helpers-b5b4a659.js → helpers-19194a5a.js} +1 -7
  89. package/dist/{genexus-ide-ui/p-c339f703.js.map → cjs/helpers-19194a5a.js.map} +1 -1
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/collection/collection-manifest.json +1 -0
  92. package/dist/collection/common/chameleon-helpers.js +7 -0
  93. package/dist/collection/common/chameleon-helpers.js.map +1 -0
  94. package/dist/collection/components/_helpers/card/card.css +8 -0
  95. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +8 -0
  96. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +2 -2
  97. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +1 -1
  98. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  99. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +19 -332
  100. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +2 -64
  101. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  102. package/dist/collection/components/_helpers/list-selector/list-selector.css +19 -9
  103. package/dist/collection/components/_helpers/list-selector/list-selector.js +2 -75
  104. package/dist/collection/components/_helpers/list-selector/list-selector.js.map +1 -1
  105. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +20 -61
  106. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +34 -17
  107. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  108. package/dist/collection/components/_starting-template/template.css +8 -0
  109. package/dist/collection/components/ai-assistant/ai-assistant.css +8 -0
  110. package/dist/collection/components/ai-assistant/ai-message.css +1 -1
  111. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +16 -0
  112. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +8 -0
  113. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +8 -0
  114. package/dist/collection/components/bpm/import-files/bpm-import-files.css +8 -0
  115. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +8 -0
  116. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +8 -0
  117. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +8 -0
  118. package/dist/collection/components/connect-gx-server/connect-gx-server.css +8 -0
  119. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +8 -0
  120. package/dist/collection/components/dashboard-home/dashboard-home.css +8 -0
  121. package/dist/collection/components/data-selector/data-selector.css +8 -0
  122. package/dist/collection/components/data-selector/data-selector.js +2 -1
  123. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  124. package/dist/collection/components/design-import/design-import.css +8 -0
  125. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +8 -0
  126. package/dist/collection/components/kb-manager-export/kb-manager-export.js +6 -3
  127. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  128. package/dist/collection/components/kb-manager-import/kb-manager-import.css +16 -0
  129. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +8 -0
  130. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +8 -0
  131. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +8 -0
  132. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.en.json +6 -0
  133. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +3 -0
  134. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +3 -0
  135. package/dist/collection/components/navigation-report/helpers.js +17 -0
  136. package/dist/collection/components/navigation-report/helpers.js.map +1 -0
  137. package/dist/collection/components/navigation-report/navigation-report.css +75 -0
  138. package/dist/collection/components/navigation-report/navigation-report.js +407 -0
  139. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -0
  140. package/dist/collection/components/new-environment/new-environment.js +2 -1
  141. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  142. package/dist/collection/components/new-kb/new-kb.js +7 -6
  143. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  144. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json +2 -0
  145. package/dist/collection/components/new-object/gx-ide-assets/new-object/shortcuts.json +3 -3
  146. package/dist/collection/components/new-object/helpers.js +33 -0
  147. package/dist/collection/components/new-object/helpers.js.map +1 -0
  148. package/dist/collection/components/new-object/new-object.css +22 -622
  149. package/dist/collection/components/new-object/new-object.js +349 -296
  150. package/dist/collection/components/new-object/new-object.js.map +1 -1
  151. package/dist/collection/components/object-selector/object-selector.css +8 -0
  152. package/dist/collection/components/object-selector/object-selector.js +5 -4
  153. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  154. package/dist/collection/components/references/references.css +8 -0
  155. package/dist/collection/components/share-kb/share-kb.css +8 -0
  156. package/dist/collection/components/start-page/recent-news.css +9 -1
  157. package/dist/collection/components/start-page/start-page.css +9 -1
  158. package/dist/collection/components/start-page/start-page.js +1 -1
  159. package/dist/collection/components/start-page/start-page.js.map +1 -1
  160. package/dist/collection/components/team-dev/commit/commit.css +16 -0
  161. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +8 -0
  162. package/dist/collection/components/team-dev/update/update.css +16 -0
  163. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +8 -0
  164. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +8 -0
  165. package/dist/collection/components/wf-settings/wf-settings.css +8 -0
  166. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +7 -3
  167. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +8 -4
  168. package/dist/collection/components/ww-images/helpers.js +11 -0
  169. package/dist/collection/components/ww-images/helpers.js.map +1 -0
  170. package/dist/collection/components/ww-images/ww-images.css +90 -712
  171. package/dist/collection/components/ww-images/ww-images.js +465 -413
  172. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  173. package/dist/components/ai-message.js +1 -1
  174. package/dist/components/ai-message.js.map +1 -1
  175. package/dist/components/assets-manager.js +142 -68
  176. package/dist/components/assets-manager.js.map +1 -1
  177. package/dist/components/bpm-objects-selector.js +1 -1
  178. package/dist/components/bpm-objects-selector.js.map +1 -1
  179. package/dist/components/entity-selector.js +2 -2
  180. package/dist/components/entity-selector.js.map +1 -1
  181. package/dist/components/gx-ide-ai-assistant.js +1 -1
  182. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  183. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  184. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  185. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  186. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  187. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  188. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  189. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  190. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  191. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  192. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  193. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  194. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  195. package/dist/components/gx-ide-card.js +1 -1
  196. package/dist/components/gx-ide-card.js.map +1 -1
  197. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  198. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  199. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  200. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  201. package/dist/components/gx-ide-dashboard-home.js +1 -1
  202. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  203. package/dist/components/gx-ide-data-selector.js +3 -2
  204. package/dist/components/gx-ide-data-selector.js.map +1 -1
  205. package/dist/components/gx-ide-design-import.js +1 -1
  206. package/dist/components/gx-ide-design-import.js.map +1 -1
  207. package/dist/components/gx-ide-edit-module-server.js +1 -1
  208. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  209. package/dist/components/gx-ide-empty-state2.js +1 -1
  210. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  211. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  212. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  213. package/dist/components/gx-ide-kb-manager-export.js +6 -3
  214. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  215. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  216. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  217. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  218. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  219. package/dist/components/gx-ide-manage-module-references.js +1 -1
  220. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  221. package/dist/components/gx-ide-navigation-report.d.ts +11 -0
  222. package/dist/components/gx-ide-navigation-report.js +279 -0
  223. package/dist/components/gx-ide-navigation-report.js.map +1 -0
  224. package/dist/components/gx-ide-new-environment.js +2 -1
  225. package/dist/components/gx-ide-new-environment.js.map +1 -1
  226. package/dist/components/gx-ide-new-kb.js +7 -6
  227. package/dist/components/gx-ide-new-kb.js.map +1 -1
  228. package/dist/components/gx-ide-new-object.js +299 -192
  229. package/dist/components/gx-ide-new-object.js.map +1 -1
  230. package/dist/components/gx-ide-object-selector.js +6 -5
  231. package/dist/components/gx-ide-object-selector.js.map +1 -1
  232. package/dist/components/gx-ide-references.js +1 -1
  233. package/dist/components/gx-ide-references.js.map +1 -1
  234. package/dist/components/gx-ide-share-kb.js +1 -1
  235. package/dist/components/gx-ide-share-kb.js.map +1 -1
  236. package/dist/components/gx-ide-start-page.js +2 -2
  237. package/dist/components/gx-ide-start-page.js.map +1 -1
  238. package/dist/components/gx-ide-status-buttons2.js +35 -17
  239. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  240. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  241. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  242. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  243. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  244. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  245. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  246. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  247. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  248. package/dist/components/gx-ide-team-dev-update.js +1 -1
  249. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  250. package/dist/components/gx-ide-template.js +1 -1
  251. package/dist/components/gx-ide-template.js.map +1 -1
  252. package/dist/components/gx-ide-wf-settings.js +1 -1
  253. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  254. package/dist/components/gx-ide-ww-images.js +419 -306
  255. package/dist/components/gx-ide-ww-images.js.map +1 -1
  256. package/dist/components/helpers.js +1 -6
  257. package/dist/components/helpers.js.map +1 -1
  258. package/dist/components/list-selector-item.js +2 -19
  259. package/dist/components/list-selector-item.js.map +1 -1
  260. package/dist/components/list-selector.js +2 -13
  261. package/dist/components/list-selector.js.map +1 -1
  262. package/dist/components/recent-news.js +1 -1
  263. package/dist/components/recent-news.js.map +1 -1
  264. package/dist/esm/{assets-manager-120996e9.js → assets-manager-5ac25bb6.js} +143 -69
  265. package/dist/esm/assets-manager-5ac25bb6.js.map +1 -0
  266. package/dist/esm/genexus-ide-ui.js +1 -1
  267. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  268. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  269. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  270. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  271. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  272. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  273. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  274. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  275. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  276. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  277. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  278. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  279. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  280. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  281. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  282. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  283. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  284. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  285. package/dist/esm/gx-ide-card.entry.js +1 -1
  286. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  287. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  288. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  289. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  290. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  291. package/dist/esm/gx-ide-dashboard-home.entry.js +3 -3
  292. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  293. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  294. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  295. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  296. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  297. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  298. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  299. package/dist/esm/gx-ide-empty-state_2.entry.js +1 -1
  300. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -1
  301. package/dist/esm/gx-ide-entity-selector.entry.js +3 -3
  302. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  303. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  304. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  305. package/dist/esm/gx-ide-kb-manager-export.entry.js +7 -4
  306. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  307. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  308. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  309. package/dist/esm/gx-ide-list-selector_2.entry.js +4 -27
  310. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  311. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -2
  312. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  313. package/dist/esm/gx-ide-manage-module-references.entry.js +2 -2
  314. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  315. package/dist/esm/gx-ide-navigation-report.entry.js +224 -0
  316. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -0
  317. package/dist/esm/gx-ide-new-environment.entry.js +3 -2
  318. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  319. package/dist/esm/gx-ide-new-kb.entry.js +8 -7
  320. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  321. package/dist/esm/gx-ide-new-object.entry.js +285 -169
  322. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  323. package/dist/esm/gx-ide-object-selector.entry.js +8 -7
  324. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  325. package/dist/esm/gx-ide-recent-news.entry.js +3 -3
  326. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  327. package/dist/esm/gx-ide-references.entry.js +1 -1
  328. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  329. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  330. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  331. package/dist/esm/gx-ide-start-page.entry.js +4 -4
  332. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  333. package/dist/esm/gx-ide-status-buttons.entry.js +35 -17
  334. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  336. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  338. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  339. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  340. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  341. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  342. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  343. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  344. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  345. package/dist/esm/gx-ide-template.entry.js +1 -1
  346. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  348. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  349. package/dist/esm/gx-ide-ww-images.entry.js +396 -279
  350. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  351. package/dist/esm/{helpers-64e1dd0b.js → helpers-9ee6ddce.js} +2 -7
  352. package/dist/esm/helpers-9ee6ddce.js.map +1 -0
  353. package/dist/esm/loader.js +1 -1
  354. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  355. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  356. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  357. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.en.json +6 -0
  358. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +3 -0
  359. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +3 -0
  360. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.en.json +2 -0
  361. package/dist/genexus-ide-ui/gx-ide-assets/new-object/shortcuts.json +3 -3
  362. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +7 -3
  363. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +8 -4
  364. package/dist/genexus-ide-ui/{p-faa6fc25.entry.js → p-01581437.entry.js} +2 -2
  365. package/dist/genexus-ide-ui/{p-eb52d685.entry.js → p-037ea55d.entry.js} +2 -2
  366. package/dist/genexus-ide-ui/{p-35c9edc0.entry.js → p-0576a392.entry.js} +6 -6
  367. package/dist/genexus-ide-ui/{p-35c9edc0.entry.js.map → p-0576a392.entry.js.map} +1 -1
  368. package/dist/genexus-ide-ui/{p-c339f703.js → p-066028bc.js} +8 -14
  369. package/dist/genexus-ide-ui/p-066028bc.js.map +1 -0
  370. package/dist/genexus-ide-ui/{p-6df9fab1.js → p-0b0ce806.js} +143 -69
  371. package/dist/genexus-ide-ui/p-0b0ce806.js.map +1 -0
  372. package/dist/genexus-ide-ui/{p-1ad7189f.entry.js → p-0d5fc7ca.entry.js} +2 -2
  373. package/dist/genexus-ide-ui/{p-8b9cf93c.entry.js → p-1ced155b.entry.js} +4 -4
  374. package/dist/genexus-ide-ui/p-1ced155b.entry.js.map +1 -0
  375. package/dist/genexus-ide-ui/{p-e4cbd23c.entry.js → p-1f37f5b5.entry.js} +3 -3
  376. package/dist/genexus-ide-ui/{p-85f7f92d.entry.js → p-20389960.entry.js} +4 -4
  377. package/dist/genexus-ide-ui/p-2465307a.entry.js +418 -0
  378. package/dist/genexus-ide-ui/p-2465307a.entry.js.map +1 -0
  379. package/dist/genexus-ide-ui/{p-ad92d701.entry.js → p-26b2037d.entry.js} +2 -2
  380. package/dist/genexus-ide-ui/{p-4546fa05.entry.js → p-278afab1.entry.js} +4 -4
  381. package/dist/genexus-ide-ui/p-2dd09b01.entry.js +265 -0
  382. package/dist/genexus-ide-ui/p-2dd09b01.entry.js.map +1 -0
  383. package/dist/genexus-ide-ui/{p-36cfb4c0.entry.js → p-352d4aad.entry.js} +36 -36
  384. package/dist/genexus-ide-ui/p-352d4aad.entry.js.map +1 -0
  385. package/dist/genexus-ide-ui/{p-58e33dda.entry.js → p-3f5ea8bf.entry.js} +34 -34
  386. package/dist/genexus-ide-ui/p-3f5ea8bf.entry.js.map +1 -0
  387. package/dist/genexus-ide-ui/{p-edffe8d7.entry.js → p-3f9f8691.entry.js} +2 -2
  388. package/dist/genexus-ide-ui/{p-a5d5fb4d.entry.js → p-44d779c9.entry.js} +8 -8
  389. package/dist/genexus-ide-ui/p-44d779c9.entry.js.map +1 -0
  390. package/dist/genexus-ide-ui/{p-5bff0103.entry.js → p-4ce0a85e.entry.js} +3 -3
  391. package/dist/genexus-ide-ui/p-4ce0a85e.entry.js.map +1 -0
  392. package/dist/genexus-ide-ui/{p-d703bff2.entry.js → p-60cd6b09.entry.js} +3 -3
  393. package/dist/genexus-ide-ui/p-62efd8f2.entry.js +712 -0
  394. package/dist/genexus-ide-ui/p-62efd8f2.entry.js.map +1 -0
  395. package/dist/genexus-ide-ui/{p-c484250c.entry.js → p-68605d06.entry.js} +20 -20
  396. package/dist/genexus-ide-ui/{p-dbfddffd.entry.js → p-69b88e9f.entry.js} +35 -23
  397. package/dist/genexus-ide-ui/p-69b88e9f.entry.js.map +1 -0
  398. package/dist/genexus-ide-ui/{p-e0da6770.entry.js → p-7bbefdcc.entry.js} +2 -2
  399. package/dist/genexus-ide-ui/{p-1d56cc71.entry.js → p-82032e9c.entry.js} +2 -2
  400. package/dist/genexus-ide-ui/{p-b967c6e3.entry.js → p-9346bb01.entry.js} +2 -2
  401. package/dist/genexus-ide-ui/{p-a7be549c.entry.js → p-95c31c66.entry.js} +2 -2
  402. package/dist/genexus-ide-ui/{p-241f3d69.entry.js → p-98b5b178.entry.js} +2 -2
  403. package/dist/genexus-ide-ui/{p-e54bdad1.entry.js → p-9efea53c.entry.js} +12 -12
  404. package/dist/genexus-ide-ui/p-9efea53c.entry.js.map +1 -0
  405. package/dist/genexus-ide-ui/{p-424ed874.entry.js → p-acf0cbac.entry.js} +3 -3
  406. package/dist/genexus-ide-ui/{p-bb1d0ab8.entry.js → p-b113c5b4.entry.js} +5 -5
  407. package/dist/genexus-ide-ui/{p-7f08a5f8.entry.js → p-b1f6fdd6.entry.js} +2 -2
  408. package/dist/genexus-ide-ui/{p-a29d27ed.entry.js → p-b3a336b8.entry.js} +2 -2
  409. package/dist/genexus-ide-ui/p-b785673d.entry.js +683 -0
  410. package/dist/genexus-ide-ui/{p-9a9fdfc0.entry.js → p-bfbce8fb.entry.js} +2 -2
  411. package/dist/genexus-ide-ui/{p-70588f0b.entry.js → p-c2c6f3f0.entry.js} +2 -2
  412. package/dist/genexus-ide-ui/{p-23c9b4e6.entry.js → p-c36effd2.entry.js} +13 -13
  413. package/dist/genexus-ide-ui/p-c36effd2.entry.js.map +1 -0
  414. package/dist/genexus-ide-ui/{p-99d52e11.entry.js → p-c4d1d0ce.entry.js} +3 -3
  415. package/dist/genexus-ide-ui/{p-4bf55012.entry.js → p-d5d0ed5e.entry.js} +2 -2
  416. package/dist/genexus-ide-ui/p-de59d495.entry.js +273 -0
  417. package/dist/genexus-ide-ui/p-de59d495.entry.js.map +1 -0
  418. package/dist/genexus-ide-ui/{p-c10d7879.entry.js → p-dffecb40.entry.js} +2 -2
  419. package/dist/genexus-ide-ui/{p-dbf8b06e.entry.js → p-e7bb68ec.entry.js} +2 -2
  420. package/dist/genexus-ide-ui/{p-d1a76638.entry.js → p-ec6ea5d2.entry.js} +2 -2
  421. package/dist/genexus-ide-ui/{p-15711eed.entry.js → p-f471d180.entry.js} +2 -2
  422. package/dist/genexus-ide-ui/{p-89a7d88f.entry.js → p-fc64d088.entry.js} +2 -2
  423. package/dist/types/common/chameleon-helpers.d.ts +5 -0
  424. package/dist/types/components/_helpers/list-selector/list-selector-item/list-selector-item.d.ts +0 -11
  425. package/dist/types/components/_helpers/list-selector/list-selector.d.ts +0 -13
  426. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +1 -4
  427. package/dist/types/components/navigation-report/helpers.d.ts +5 -0
  428. package/dist/types/components/navigation-report/navigation-report.d.ts +88 -0
  429. package/dist/types/components/new-object/helpers.d.ts +6 -0
  430. package/dist/types/components/new-object/new-object.d.ts +42 -75
  431. package/dist/types/components/ww-images/helpers.d.ts +3 -0
  432. package/dist/types/components/ww-images/ww-images.d.ts +98 -118
  433. package/dist/types/components.d.ts +152 -150
  434. package/package.json +5 -5
  435. package/dist/cjs/assets-manager-64c42a1e.js.map +0 -1
  436. package/dist/cjs/helpers-b5b4a659.js.map +0 -1
  437. package/dist/esm/assets-manager-120996e9.js.map +0 -1
  438. package/dist/esm/helpers-64e1dd0b.js.map +0 -1
  439. package/dist/genexus-ide-ui/p-23c9b4e6.entry.js.map +0 -1
  440. package/dist/genexus-ide-ui/p-36cfb4c0.entry.js.map +0 -1
  441. package/dist/genexus-ide-ui/p-58e33dda.entry.js.map +0 -1
  442. package/dist/genexus-ide-ui/p-5bff0103.entry.js.map +0 -1
  443. package/dist/genexus-ide-ui/p-6df9fab1.js.map +0 -1
  444. package/dist/genexus-ide-ui/p-88fff4f3.entry.js +0 -344
  445. package/dist/genexus-ide-ui/p-88fff4f3.entry.js.map +0 -1
  446. package/dist/genexus-ide-ui/p-8b9cf93c.entry.js.map +0 -1
  447. package/dist/genexus-ide-ui/p-8da18e59.entry.js +0 -287
  448. package/dist/genexus-ide-ui/p-8da18e59.entry.js.map +0 -1
  449. package/dist/genexus-ide-ui/p-a5d5fb4d.entry.js.map +0 -1
  450. package/dist/genexus-ide-ui/p-be640a8a.entry.js +0 -611
  451. package/dist/genexus-ide-ui/p-be640a8a.entry.js.map +0 -1
  452. package/dist/genexus-ide-ui/p-c2fdb419.entry.js +0 -683
  453. package/dist/genexus-ide-ui/p-dbfddffd.entry.js.map +0 -1
  454. package/dist/genexus-ide-ui/p-e54bdad1.entry.js.map +0 -1
  455. /package/dist/genexus-ide-ui/{p-faa6fc25.entry.js.map → p-01581437.entry.js.map} +0 -0
  456. /package/dist/genexus-ide-ui/{p-eb52d685.entry.js.map → p-037ea55d.entry.js.map} +0 -0
  457. /package/dist/genexus-ide-ui/{p-1ad7189f.entry.js.map → p-0d5fc7ca.entry.js.map} +0 -0
  458. /package/dist/genexus-ide-ui/{p-e4cbd23c.entry.js.map → p-1f37f5b5.entry.js.map} +0 -0
  459. /package/dist/genexus-ide-ui/{p-85f7f92d.entry.js.map → p-20389960.entry.js.map} +0 -0
  460. /package/dist/genexus-ide-ui/{p-ad92d701.entry.js.map → p-26b2037d.entry.js.map} +0 -0
  461. /package/dist/genexus-ide-ui/{p-4546fa05.entry.js.map → p-278afab1.entry.js.map} +0 -0
  462. /package/dist/genexus-ide-ui/{p-edffe8d7.entry.js.map → p-3f9f8691.entry.js.map} +0 -0
  463. /package/dist/genexus-ide-ui/{p-d703bff2.entry.js.map → p-60cd6b09.entry.js.map} +0 -0
  464. /package/dist/genexus-ide-ui/{p-c484250c.entry.js.map → p-68605d06.entry.js.map} +0 -0
  465. /package/dist/genexus-ide-ui/{p-e0da6770.entry.js.map → p-7bbefdcc.entry.js.map} +0 -0
  466. /package/dist/genexus-ide-ui/{p-1d56cc71.entry.js.map → p-82032e9c.entry.js.map} +0 -0
  467. /package/dist/genexus-ide-ui/{p-b967c6e3.entry.js.map → p-9346bb01.entry.js.map} +0 -0
  468. /package/dist/genexus-ide-ui/{p-a7be549c.entry.js.map → p-95c31c66.entry.js.map} +0 -0
  469. /package/dist/genexus-ide-ui/{p-241f3d69.entry.js.map → p-98b5b178.entry.js.map} +0 -0
  470. /package/dist/genexus-ide-ui/{p-424ed874.entry.js.map → p-acf0cbac.entry.js.map} +0 -0
  471. /package/dist/genexus-ide-ui/{p-bb1d0ab8.entry.js.map → p-b113c5b4.entry.js.map} +0 -0
  472. /package/dist/genexus-ide-ui/{p-7f08a5f8.entry.js.map → p-b1f6fdd6.entry.js.map} +0 -0
  473. /package/dist/genexus-ide-ui/{p-a29d27ed.entry.js.map → p-b3a336b8.entry.js.map} +0 -0
  474. /package/dist/genexus-ide-ui/{p-c2fdb419.entry.js.map → p-b785673d.entry.js.map} +0 -0
  475. /package/dist/genexus-ide-ui/{p-9a9fdfc0.entry.js.map → p-bfbce8fb.entry.js.map} +0 -0
  476. /package/dist/genexus-ide-ui/{p-70588f0b.entry.js.map → p-c2c6f3f0.entry.js.map} +0 -0
  477. /package/dist/genexus-ide-ui/{p-99d52e11.entry.js.map → p-c4d1d0ce.entry.js.map} +0 -0
  478. /package/dist/genexus-ide-ui/{p-4bf55012.entry.js.map → p-d5d0ed5e.entry.js.map} +0 -0
  479. /package/dist/genexus-ide-ui/{p-c10d7879.entry.js.map → p-dffecb40.entry.js.map} +0 -0
  480. /package/dist/genexus-ide-ui/{p-dbf8b06e.entry.js.map → p-e7bb68ec.entry.js.map} +0 -0
  481. /package/dist/genexus-ide-ui/{p-d1a76638.entry.js.map → p-ec6ea5d2.entry.js.map} +0 -0
  482. /package/dist/genexus-ide-ui/{p-15711eed.entry.js.map → p-f471d180.entry.js.map} +0 -0
  483. /package/dist/genexus-ide-ui/{p-89a7d88f.entry.js.map → p-fc64d088.entry.js.map} +0 -0
@@ -6,7 +6,7 @@ import { d as defineCustomElement$4 } from './container.js';
6
6
  import { d as defineCustomElement$3 } from './entity-selector.js';
7
7
  import { d as defineCustomElement$2 } from './title.js';
8
8
 
9
- const designImportCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.options{padding:var(--gx-ide-container__padding);border-block-end:1px solid var(--gx-ide-container-border-color);grid-template-columns:auto 1fr;grid-template-areas:\"path-url-label path-url-wrapper\" \"access-token-label access-token\" \"style-label style\" \"module-label module\" \"checkboxes-options checkboxes-options\"}.options .path-url-label{grid-area:path-url-label}.options .path-url-wrapper{grid-area:path-url-wrapper;display:flex;flex-direction:row;gap:var(--gx-ide-grid-row-gap)}.options .path-url-wrapper__buttons-container{display:flex;flex-direction:row;gap:var(--gx-ide-container-elements-spacing)}.options .access-token-label{grid-area:access-token-label}.options .access-token{grid-area:access-token}.options .style-label{grid-area:style-label}.options .style{grid-area:style}.options .module-label{grid-area:module-label}.options .module{grid-area:module}.options .checkboxes-options{grid-area:checkboxes-options}.options--hide-access-token{grid-template-areas:\"path-url-label path-url-wrapper\" \"style-label style\" \"module-label module\" \"checkboxes-options checkboxes-options\"}.options .checkboxes-options{display:flex;justify-content:space-between;gap:var(--gx-ide-grid-row-gap)}.options .checkboxes-options__col-right{display:flex;opacity:1;transition:opacity 200ms;gap:var(--gx-ide-grid-row-gap)}.options .checkboxes-options__col-right--hidden{opacity:0}.messages-container{padding:var(--gx-ide-container__padding);height:100%;overflow-y:auto;}.messages-container::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.messages-container::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.messages-container::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.messages-container::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.messages-container::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.main{display:flex;height:100%;justify-content:center;overflow:auto}.main .design-tree,.main .design-tabs{transition:flex 200ms}.main .tree-container{flex:1}.main .design-tabs{flex:2}.main .design-tabs--fit-images img{object-fit:contain;width:100%;height:100%}.main .design-tabs img{display:block}.main--shrunken-tree .tree-container{flex:0.5}.main--shrunken-tree .design-tabs{flex:2.5}.panel-tab{height:100%;display:grid;grid-template-columns:1fr 1fr}.panel-tab .panel-item{width:100%;height:100%;overflow:auto;font-size:var(--mer-font__size--2xs);line-height:normal}.panel-tab .panel-item::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.panel-tab .panel-item::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.panel-tab .panel-item::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.panel-tab .panel-item::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.panel-tab .panel-item::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tab--hidden{display:none}";
9
+ const designImportCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.options{padding:var(--gx-ide-container__padding);border-block-end:1px solid var(--gx-ide-container-border-color);grid-template-columns:auto 1fr;grid-template-areas:\"path-url-label path-url-wrapper\" \"access-token-label access-token\" \"style-label style\" \"module-label module\" \"checkboxes-options checkboxes-options\"}.options .path-url-label{grid-area:path-url-label}.options .path-url-wrapper{grid-area:path-url-wrapper;display:flex;flex-direction:row;gap:var(--gx-ide-grid-row-gap)}.options .path-url-wrapper__buttons-container{display:flex;flex-direction:row;gap:var(--gx-ide-container-elements-spacing)}.options .access-token-label{grid-area:access-token-label}.options .access-token{grid-area:access-token}.options .style-label{grid-area:style-label}.options .style{grid-area:style}.options .module-label{grid-area:module-label}.options .module{grid-area:module}.options .checkboxes-options{grid-area:checkboxes-options}.options--hide-access-token{grid-template-areas:\"path-url-label path-url-wrapper\" \"style-label style\" \"module-label module\" \"checkboxes-options checkboxes-options\"}.options .checkboxes-options{display:flex;justify-content:space-between;gap:var(--gx-ide-grid-row-gap)}.options .checkboxes-options__col-right{display:flex;opacity:1;transition:opacity 200ms;gap:var(--gx-ide-grid-row-gap)}.options .checkboxes-options__col-right--hidden{opacity:0}.messages-container{padding:var(--gx-ide-container__padding);height:100%;overflow-y:auto;}.messages-container::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.messages-container::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.messages-container::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.messages-container::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.messages-container::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.main{display:flex;height:100%;justify-content:center;overflow:auto}.main .design-tree,.main .design-tabs{transition:flex 200ms}.main .tree-container{flex:1}.main .design-tabs{flex:2}.main .design-tabs--fit-images img{object-fit:contain;width:100%;height:100%}.main .design-tabs img{display:block}.main--shrunken-tree .tree-container{flex:0.5}.main--shrunken-tree .design-tabs{flex:2.5}.panel-tab{height:100%;display:grid;grid-template-columns:1fr 1fr}.panel-tab .panel-item{width:100%;height:100%;overflow:auto;font-size:var(--mer-font__size--2xs);line-height:normal}.panel-tab .panel-item::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.panel-tab .panel-item::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.panel-tab .panel-item::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.panel-tab .panel-item::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.panel-tab .panel-item::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tab--hidden{display:none}";
10
10
 
11
11
  const DESIGN_DATA_TYPE_PANELS = "panels";
12
12
  const DESIGN_DATA_TYPE_STENCILS = "stencils";
@@ -1 +1 @@
1
- {"file":"gx-ide-design-import.js","mappings":"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","names":[],"sources":["src/components/design-import/design-import.scss?tag=gx-ide-design-import&encapsulation=shadow","src/components/design-import/design-import.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"~@genexus/gemini/dist/collection/globals/mixins.scss\";\n\n:host {\n}\n\n/*--- Options ---*/\n.options {\n padding: var(--gx-ide-container__padding);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n grid-template-columns: auto 1fr;\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 .path-url-label {\n grid-area: path-url-label;\n }\n .path-url-wrapper {\n grid-area: path-url-wrapper;\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-row-gap);\n\n &__buttons-container {\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-container-elements-spacing);\n }\n }\n .access-token-label {\n grid-area: access-token-label;\n }\n .access-token {\n grid-area: access-token;\n }\n .style-label {\n grid-area: style-label;\n }\n .style {\n grid-area: style;\n }\n .module-label {\n grid-area: module-label;\n }\n .module {\n grid-area: module;\n }\n .checkboxes-options {\n grid-area: checkboxes-options;\n }\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 .checkboxes-options {\n display: flex;\n justify-content: space-between;\n gap: var(--gx-ide-grid-row-gap);\n\n &__col-right {\n display: flex;\n opacity: 1;\n transition: opacity 200ms;\n gap: var(--gx-ide-grid-row-gap);\n &--hidden {\n opacity: 0;\n }\n }\n }\n}\n\n/*--- Messages Grid ---*/\n.messages-container {\n padding: var(--gx-ide-container__padding);\n height: 100%;\n overflow-y: auto;\n @include gxg-scrollbar;\n}\n\n/*--- Main ---*/\n.main {\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: auto;\n .design-tree,\n .design-tabs {\n transition: flex 200ms;\n }\n .tree-container {\n flex: 1;\n }\n .design-tabs {\n flex: 2;\n\n &--fit-images {\n img {\n object-fit: contain;\n width: 100%;\n height: 100%;\n }\n }\n img {\n display: block;\n }\n }\n &--shrunken-tree {\n .tree-container {\n flex: 0.5;\n }\n .design-tabs {\n flex: 2.5;\n }\n }\n}\n.panel-tab {\n height: 100%;\n display: grid;\n grid-template-columns: 1fr 1fr;\n\n .panel-item {\n width: 100%;\n height: 100%;\n overflow: auto;\n @include gxg-scrollbar;\n font-size: var(--mer-font__size--2xs);\n line-height: normal;\n }\n}\n\n/*--- Tabs ---*/\n.tab--hidden {\n display: none;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { EntityData, GxOption } from \"../../common/types\";\nimport { CheckboxInfo } from \"@genexus/gemini\";\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 CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\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 // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /**\n * An array that keeps track of the tree items id's (design system data type + item id) along with the content, that will be used to save and retrieve items information, in order to avoid using a callback to get items information that was already get. loadedItemsArray will be reset every time a new design is loaded.\n */\n private loadedItems: Map<string, ItemLoadedInfo> = new Map();\n\n /**\n * The path/URL value when loadCallback was called for the last time. This is used to determine\n * if there is a difference with the actual path/URL value, in order to know if calling loadCallback\n * again is required on blur on Path/URL/File input.\n */\n private pathOnLoadCallback = \"\";\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDesignImportElement;\n\n /* References needed to collect data */\n private pathURLFile!: HTMLGxgFormTextElement;\n private accessTokenEl!: HTMLGxgFormTextElement;\n private optionStyleEl!: HTMLGxgComboBoxElement;\n private optionImportAsEl!: HTMLGxgFormCheckboxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private messagesList: HTMLElement;\n private panelsSelected: string[] = [];\n private stencilsSelected: string[] = [];\n // private imagesSelected: string[] = [];\n // private designSystemSelected: string[] = [];\n private fontsSelected: string[] = [];\n private codeFactoryRenderEl!: HTMLElement;\n private layoutFactoryRenderEl!: HTMLElement;\n private tokensFactoryRenderEl!: HTMLElement;\n private stylesFactoryRenderEl!: HTMLElement;\n private treeDataEl!: HTMLChTreeViewRenderElement;\n\n // 3.STATE() VARIABLES //\n\n @State() activeTabs: DesignObjectType = {\n panels: \"composition\",\n stencils: \"composition\",\n images: \"composition\",\n fonts: \"composition\",\n design_system: \"tokens\"\n };\n\n /**\n * The path/URL for load the design data\n */\n @State() path = \"\";\n\n /**\n * The design data loaded from file\n */\n @State() designData: DesignData = null;\n @Watch(\"designData\")\n watchDesignDataHandler(newDesignData: DesignData) {\n if (newDesignData) {\n this.designDataTreeDataModel = [\n {\n order: 0,\n id: `parent@${DESIGN_DATA_TYPE_PANELS}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.panels,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.panels.map((item, i) => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_PANELS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true,\n selected: i === 0\n }))\n },\n {\n order: 1,\n id: `parent@${DESIGN_DATA_TYPE_STENCILS}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.stencils,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.stencils.map(item => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_STENCILS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 2,\n id: `parent@${DESIGN_DATA_TYPE_IMAGES}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.images,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.images.map(item => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_IMAGES}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 3,\n id: `parent@${DESIGN_DATA_TYPE_FONTS}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.fonts,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.fonts.map(item => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_FONTS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 4,\n id: `parent@${DESIGN_DATA_TYPE_DESIGN_SYSTEM}`,\n parts: \"category tree-view-item\",\n leaf: true,\n caption: this._componentLocale.tree.designSystem,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true\n }\n ];\n\n this.designDataTreeDataModel;\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 * 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 * When show or not the access token input field\n */\n @State() showAccessToken: any;\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 renderDesignTree, in order to set the first tab as the active tab (setFirstActiveTab()), since calling this method inside objectsTreeSelectedItemsChangedHandler does not always work without a 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 * If true, the left tree will be shrink and expanded to allow more space for the content\n */\n @State() shrinkTree = false;\n @Watch(\"shrinkTree\")\n watchShrinkTreeHandler(shrink: boolean) {\n if (shrink) {\n this.attachTreeMouseListeners();\n } else {\n this.removeTreeMouseListeners();\n }\n }\n\n /**\n * If true the left tree will be shrunken\n */\n @State() shrunkenTree = false;\n\n @State() treeSh = false;\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * The valid extensions for the files that will be loaded in Path/URL (ie.: \".fig, .sketch\")\n */\n @Prop() readonly extensions!: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. It returns the information of the selected object (id and name) or '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 init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that return the information 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 return the information of a Font type of data.\n */\n @Prop() readonly loadFontCallback!: LoadFontCallback;\n\n /**\n * This is a function provided by the developer that return the information 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 return the information of a Panel type of data.\n */\n @Prop() readonly loadPanelDataCallback!: LoadPanelDataCallback;\n\n /**\n * Callback invoked to determinate if accessing to a design requires an authentication token\n */\n @Prop() readonly requiresAccessTokenCallback!: RequiresAccessTokenCallback;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * The styles render in the option style selector\n */\n @Prop() readonly styles!: GxOption[];\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 // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n disconnectedCallback() {\n this.removeTreeMouseListeners();\n }\n\n // 7.LISTENERS //\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 // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private attachTreeMouseListeners = () => {\n this.treeDataEl.addEventListener(\"mouseenter\", this.treeMouseEnter);\n this.treeDataEl.addEventListener(\"mouseleave\", this.treeMouseLeave);\n };\n private removeTreeMouseListeners = () => {\n this.treeDataEl.removeEventListener(\"mouseenter\", this.treeMouseEnter);\n this.treeDataEl.removeEventListener(\"mouseleave\", this.treeMouseLeave);\n };\n private treeMouseEnter = () => {\n this.shrunkenTree = false;\n };\n private treeMouseLeave = () => {\n this.shrunkenTree = true;\n };\n\n private messageType = (message: MessageData): TextType => {\n if (message.type === \"error\") {\n return \"text-alert-error\";\n } else if (message.type === \"warning\") {\n return \"text-alert-warning\";\n } else {\n return \"text-gray\";\n }\n };\n\n private 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 private 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(\"@\");\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.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 }\n }\n };\n\n private getLoadedItem = (id: string): ItemLoadedInfo | undefined => {\n return this.loadedItems?.get(id);\n };\n\n private 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@\")) {\n currentParentId = item.item.id.split(\"@\")[1];\n result[currentParentId] = [];\n } else if (item.item.checked && currentParentId) {\n const parentId = item.item.id.split(\"@\")[1];\n if (parentId === currentParentId) {\n const id = item.item.id.split(\"@\")[0];\n result[currentParentId].push(id);\n }\n }\n }\n // const { designSystem, fonts, images, panels, stencils } = result;\n const { fonts, panels, stencils } = result;\n\n // this.designSystemSelected = designSystem;\n this.fontsSelected = fonts;\n // this.imagesSelected = images;\n this.panelsSelected = panels;\n this.stencilsSelected = stencils;\n };\n\n private selectFile = (): void => {\n this.pathURLFile.openFile();\n };\n\n private pathOnFileSelected = async (e: any) => {\n this.selectedFile = e.detail[0];\n const fileName = e.detail[0].name;\n this.path = fileName;\n this.showAccessToken = await this.requiresAccessTokenCallback(\n this.pathURLFile.value\n );\n };\n\n private pathURLFileBlurHandler = async () => {\n this.showAccessToken = await this.requiresAccessTokenCallback(\n this.pathURLFile.value\n );\n\n if (this.path !== this.pathOnLoadCallback) {\n // if loadOnBlur is true, and the actual path/URL value differs from the one\n // when loadCallback was called the last time, it is required to call loadCallback\n // again, because the DesignData might differ from the actual.\n this.loadData();\n }\n };\n\n private 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 this.designData = null;\n await this.loadCallback(source, token, this.messageCallback).then(\n (designData: DesignData) => {\n // this.isLoading = false;\n this.messages = [];\n this.designData = designData;\n if (this.designData) {\n this.panelsSelected = [\n ...this.designData.panels.map(item => item.id)\n ];\n this.stencilsSelected = [\n ...this.designData.stencils.map(item => item.id)\n ];\n // this.imagesSelected = [\n // ...this.designData.images.map(item => item.id)\n // ];\n // this.designSystemSelected = [\n // ...this.designData.designSystem.map(item => item.id)\n // ];\n this.fontsSelected = [...this.designData.fonts.map(item => item.id)];\n } else {\n // There was probably an error\n this.panelsSelected = [];\n this.stencilsSelected = [];\n // this.imagesSelected = [];\n // this.designSystemSelected = [];\n this.fontsSelected = [];\n }\n }\n );\n this.pathOnLoadCallback = this.path;\n this.isLoading = false;\n };\n\n private messageCallback: LoadMessageCallback = message => {\n this.messages = [...this.messages, message];\n };\n\n private 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 private getCodeFactory(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.textEditorFactoryCallback(\n \"html\",\n this.codeFactoryRenderEl,\n this.selectedDesignItem.code\n );\n this.textEditorFactoryCallback(\n \"html\",\n this.layoutFactoryRenderEl,\n this.selectedDesignItem.layout\n );\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n this.textEditorFactoryCallback(\n \"tokens\",\n this.tokensFactoryRenderEl,\n this.selectedDesignItem.tokens\n );\n this.textEditorFactoryCallback(\n \"styles\",\n this.stylesFactoryRenderEl,\n this.selectedDesignItem.styles\n );\n break;\n }\n }\n\n private confirm = (): void => {\n this.confirmCallback({\n panels: this.panelsSelected,\n stencils: this.stencilsSelected,\n fonts: this.fontsSelected,\n /* images: this.imagesSelected, */\n moduleId: this.filterModuleEl?.value?.id,\n styleName: this.optionStyleEl.value,\n importAsWebPanels: this.optionImportAsEl.checked\n });\n };\n\n private cancel = (): void => {\n this.cancelCallback();\n this.isLoading = false;\n };\n\n private fitImagesHandler = (e: CustomEvent<CheckboxInfo>) => {\n this.fitImages = e.detail.value;\n };\n\n private shrinkTreeHandler = (e: CustomEvent<CheckboxInfo>) => {\n const checked = e.detail.value;\n this.shrinkTree = checked;\n if (checked) {\n this.shrunkenTree = true;\n } else {\n this.shrunkenTree = false;\n }\n };\n\n private importAsWebPanelsChangedHandler = () => {\n // When \"Import as Web Panels\" checkbox value changes, loadCallback has to be\n // called again, because the received DesignData differs between having\n // \"Import as Web Panels\" checked or not. This only makes sense if a file is\n // selected or the Path/URL input is not empty\n if (this.path.length !== 0 || !this.selectedFile) {\n this.loadData();\n }\n };\n\n private pathURLFileValueChangedHandler = (e: CustomEvent<string>) => {\n this.path = e.detail;\n if (this.path.length === 0) {\n this.selectFile === null;\n }\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderOptions = (): Element => {\n return (\n <div\n class={{\n \"options grid\": true,\n \"options--hide-access-token\": !this.showAccessToken\n }}\n >\n {/* #path/url label*/}\n <gxg-label class=\"path-url-label\">\n {this._componentLocale.options.path}\n </gxg-label>\n\n <div class=\"path-url-wrapper\">\n {/* #path/url input*/}\n <gxg-form-text\n value={this.path}\n onFileSelected={this.pathOnFileSelected}\n onBlur={this.pathURLFileBlurHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.pathURLFile = el as HTMLGxgFormTextElement)\n }\n clearButton\n part=\"option-path\"\n disabled={this.isLoading}\n type=\"file\"\n acceptFile={this.extensions}\n class=\"path-url\"\n placeholder={this._componentLocale.options.pathPlaceholder}\n onValueChanged={this.pathURLFileValueChangedHandler}\n ></gxg-form-text>\n\n <div class=\"path-url-wrapper__buttons-container\">\n {/* #select file button*/}\n <gxg-button\n id=\"button-select-file\"\n type=\"primary-text-only\"\n onClick={this.selectFile}\n part=\"gxg-button gxg-button--select-file\"\n disabled={this.isLoading}\n class=\"select-file\"\n >\n ...\n </gxg-button>\n\n {/* #load file button*/}\n <gxg-button\n id=\"button-load\"\n type=\"primary-text-only\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--load\"\n disabled={this.path.length === 0 || this.isLoading}\n class=\"load-file\"\n >\n {this._componentLocale.options.btnLoad}\n </gxg-button>\n </div>\n </div>\n\n {/* #access token*/}\n {this.showAccessToken\n ? [\n <gxg-label class={{ \"access-token-label\": true }}>\n {this._componentLocale.options.accessToken}\n </gxg-label>,\n <gxg-form-text\n class={{ \"access-token\": true }}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.accessTokenEl = el as HTMLGxgFormTextElement)\n }\n part=\"access-token\"\n disabled={this.isLoading}\n ></gxg-form-text>\n ]\n : null}\n\n {/* #style label*/}\n <gxg-label class=\"style-label\">\n {this._componentLocale.options.style}\n </gxg-label>\n\n {/* #style*/}\n <gxg-combo-box\n disabled={!this.styles || this.isLoading}\n display-validation-styles\n display-validation-message\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.optionStyleEl = el as HTMLGxgComboBoxElement)\n }\n part=\"option-style\"\n class=\"style\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.styles ?? [])}\n </gxg-combo-box>\n\n {/* #module label*/}\n <gxg-label class=\"module-label\">\n {this._componentLocale.options.module}\n </gxg-label>\n\n {/* #module*/}\n <gx-ide-entity-selector\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module\"\n ></gx-ide-entity-selector>\n <div class=\"checkboxes-options\">\n {/* # import as web panels*/}\n <gxg-form-checkbox\n label={this._componentLocale.options.importAs}\n class=\"import-as-web-panels\"\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.optionImportAsEl = el as HTMLGxgFormCheckboxElement)\n }\n part=\"option-import-as-web-panels\"\n disabled={this.isLoading}\n onChange={this.importAsWebPanelsChangedHandler}\n ></gxg-form-checkbox>\n\n <div\n class={{\n \"checkboxes-options__col-right\": true,\n \"checkboxes-options__col-right--hidden\":\n !this.designDataTreeDataModel.length\n }}\n >\n {/* # fit images*/}\n <gxg-form-checkbox\n label={this._componentLocale.options.fitImages}\n part=\"fit-images-checkbox\"\n disabled={this.isLoading || !this.designDataTreeDataModel.length}\n onChange={this.fitImagesHandler}\n ></gxg-form-checkbox>\n\n {/* # shrink tree*/}\n <gxg-form-checkbox\n label={this._componentLocale.options.toggleTree}\n part=\"shrink-tree-checkbox\"\n disabled={this.isLoading || !this.designDataTreeDataModel.length}\n onChange={this.shrinkTreeHandler}\n ></gxg-form-checkbox>\n </div>\n </div>\n </div>\n );\n };\n\n private renderMessages = (): Element => {\n return this.messages.length > 0 ? (\n <div\n class=\"messages-container\"\n ref={(el: HTMLElement) => (this.messagesList = el as HTMLElement)}\n >\n {this.messages.map(message => (\n <gxg-text type={this.messageType(message)}>\n {message.type}: {message.text}\n </gxg-text>\n ))}\n </div>\n ) : null;\n };\n\n private 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 private renderMain = () => {\n if (this.designData) {\n return (\n /* #main*/\n <main\n class={{ \"main\": true, \"main--shrunken-tree\": this.shrunkenTree }}\n >\n {[this.renderDesignTree(), this.renderDesignTabs()]}\n </main>\n );\n } else if (!this.isLoading) {\n return <main class=\"main\">{this.renderNoDesignData()}</main>;\n } else {\n return this.renderMessages();\n }\n };\n\n private renderNoDesignData = () => {\n if (!this.isLoading) {\n return (\n <gxg-text\n textAlign={config.gxgMessage.common.textAlign as TextAlign}\n padding={config.gxgMessage.common.textAlign as TextPadding}\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"no-design-selected\"\n >\n {this._componentLocale.messages.noDesignSelected} <br />\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFile}\n part=\"begin-by-loading-one\"\n >\n {this._componentLocale.messages.selectDesign}\n </gxg-text>\n </gxg-text>\n );\n }\n };\n\n private renderDesignTree = (): HTMLChTreeViewElement => {\n return (\n <div class=\"tree-container\">\n <ch-tree-view-render\n part=\"data-tree\"\n class=\"tree-view design-tree\"\n id=\"data-tree\"\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 ref={el => (this.treeDataEl = el as HTMLChTreeViewRenderElement)}\n ></ch-tree-view-render>\n </div>\n );\n };\n\n private renderFooter = () => {\n return [\n <gxg-button\n id=\"button-ok\"\n type=\"primary-text-only\"\n onClick={this.confirm}\n part=\"gxg-button gxg-button--ok\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnOk}\n </gxg-button>,\n <gxg-button\n id=\"button-cancel\"\n type=\"outlined\"\n onClick={this.cancel}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n ];\n };\n\n private 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 &&\n this.selectedDesignItem.composition &&\n this.selectedDesignItem.composition.preview ? (\n <div part=\"data-panel-composition-preview\" class=\"panel-item\">\n <img\n src={\n this.selectedDesignItem && this.selectedDesignItem.composition\n ? this.selectedDesignItem.composition.preview\n : undefined\n }\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 panel-item\"\n model={this.detailTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n ></ch-tree-view-render>\n ) : null}\n </div>\n );\n };\n\n private renderImageTab = () => {\n return (\n <div part=\"data-panel-composition-preview\" class=\"data-preview\">\n <img\n src={this.selectedDesignItem ? this.selectedDesignItem : undefined}\n alt=\"Preview\"\n />\n </div>\n );\n };\n\n private tabActivatedHandler = (tabActivated: CustomEvent<any>) => {\n if (tabActivated.detail) {\n const tab = tabActivated.detail.tab;\n this.activeTabs = { ...this.activeTabs, [this.selectedDesignType]: tab };\n }\n };\n\n private isTabActive = (tab: string): boolean => {\n const activeTab = this.selectedDesignType;\n this.activeTabs[activeTab as keyof DesignObjectType];\n if (this.activeTabs[activeTab as keyof DesignObjectType] === tab) {\n return true;\n } else {\n return false;\n }\n };\n\n private renderDesignTabs = (): Element => {\n return (\n <gxg-tabs\n class={{\n \"design-tabs\": true,\n \"design-tabs--fit-images\": this.fitImages\n }}\n part=\"data-tabs\"\n no-border\n noPadding\n buttonsBorderAbove\n >\n <gxg-tab-bar slot=\"tab-bar-container\">\n {/* tokens*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.tokens}\n tab=\"tokens\"\n key=\"tokens\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"tokens\")}\n ></gxg-tab-button>\n\n {/* styles*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.styles}\n tab=\"styles\"\n key=\"styles\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"styles\")}\n ></gxg-tab-button>\n\n {/* composition*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n this.selectedDesignType === DESIGN_DATA_TYPE_DESIGN_SYSTEM\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.composition}\n tab=\"composition\"\n key=\"composition\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"composition\")}\n ></gxg-tab-button>\n\n {/* layout*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n (this.selectedDesignType !== DESIGN_DATA_TYPE_PANELS &&\n this.selectedDesignType !== DESIGN_DATA_TYPE_STENCILS)\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.layout}\n tab=\"layout\"\n key=\"layout\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"layout\")}\n ></gxg-tab-button>\n\n {/* code*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n (this.selectedDesignType !== DESIGN_DATA_TYPE_PANELS &&\n this.selectedDesignType !== DESIGN_DATA_TYPE_STENCILS)\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.code}\n tab=\"code\"\n key=\"code\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"code\")}\n ></gxg-tab-button>\n </gxg-tab-bar>\n\n {/* tokens */}\n <gxg-tab\n tab=\"tokens\"\n key=\"tokens\"\n isSelected={this.isTabActive(\"tokens\")}\n >\n <div\n ref={(el: HTMLElement) =>\n (this.tokensFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n\n {/* styles */}\n <gxg-tab\n tab=\"styles\"\n key=\"styles\"\n isSelected={this.isTabActive(\"styles\")}\n >\n <div\n ref={(el: HTMLElement) =>\n (this.stylesFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n\n {/* composition */}\n <gxg-tab\n tab=\"composition\"\n key=\"composition\"\n isSelected={this.isTabActive(\"composition\")}\n >\n {this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES ||\n this.selectedDesignType === DESIGN_DATA_TYPE_FONTS\n ? this.renderImageTab()\n : this.renderPanelTab()}\n </gxg-tab>\n\n {/* layout */}\n <gxg-tab\n tab=\"layout\"\n key=\"layout\"\n isSelected={this.isTabActive(\"layout\")}\n >\n <div\n ref={(el: HTMLElement) =>\n (this.layoutFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n\n {/* code */}\n <gxg-tab tab=\"code\" key=\"code\" isSelected={this.isTabActive(\"code\")}>\n <div\n ref={(el: HTMLElement) =>\n (this.codeFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n </gxg-tabs>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n displayBorderBottom\n part=\"options-container\"\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderMain()}\n {this.renderFooter()}\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadMessageCallback = (message: MessageData) => void;\nexport type LoadCallback = (\n source: string | File,\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: HTMLElement,\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}\n\nexport interface DesignItemData {\n id: string;\n name: string;\n}\n\nexport interface DesignPanelData {\n composition: DesignPanelCompositionData;\n code?: 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\ntype TextEditorType = \"html\" | \"styles\" | \"tokens\";\n"],"version":3}
1
+ {"file":"gx-ide-design-import.js","mappings":"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","names":[],"sources":["src/components/design-import/design-import.scss?tag=gx-ide-design-import&encapsulation=shadow","src/components/design-import/design-import.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"~@genexus/gemini/dist/collection/globals/mixins.scss\";\n\n:host {\n}\n\n/*--- Options ---*/\n.options {\n padding: var(--gx-ide-container__padding);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n grid-template-columns: auto 1fr;\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 .path-url-label {\n grid-area: path-url-label;\n }\n .path-url-wrapper {\n grid-area: path-url-wrapper;\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-row-gap);\n\n &__buttons-container {\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-container-elements-spacing);\n }\n }\n .access-token-label {\n grid-area: access-token-label;\n }\n .access-token {\n grid-area: access-token;\n }\n .style-label {\n grid-area: style-label;\n }\n .style {\n grid-area: style;\n }\n .module-label {\n grid-area: module-label;\n }\n .module {\n grid-area: module;\n }\n .checkboxes-options {\n grid-area: checkboxes-options;\n }\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 .checkboxes-options {\n display: flex;\n justify-content: space-between;\n gap: var(--gx-ide-grid-row-gap);\n\n &__col-right {\n display: flex;\n opacity: 1;\n transition: opacity 200ms;\n gap: var(--gx-ide-grid-row-gap);\n &--hidden {\n opacity: 0;\n }\n }\n }\n}\n\n/*--- Messages Grid ---*/\n.messages-container {\n padding: var(--gx-ide-container__padding);\n height: 100%;\n overflow-y: auto;\n @include gxg-scrollbar;\n}\n\n/*--- Main ---*/\n.main {\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: auto;\n .design-tree,\n .design-tabs {\n transition: flex 200ms;\n }\n .tree-container {\n flex: 1;\n }\n .design-tabs {\n flex: 2;\n\n &--fit-images {\n img {\n object-fit: contain;\n width: 100%;\n height: 100%;\n }\n }\n img {\n display: block;\n }\n }\n &--shrunken-tree {\n .tree-container {\n flex: 0.5;\n }\n .design-tabs {\n flex: 2.5;\n }\n }\n}\n.panel-tab {\n height: 100%;\n display: grid;\n grid-template-columns: 1fr 1fr;\n\n .panel-item {\n width: 100%;\n height: 100%;\n overflow: auto;\n @include gxg-scrollbar;\n font-size: var(--mer-font__size--2xs);\n line-height: normal;\n }\n}\n\n/*--- Tabs ---*/\n.tab--hidden {\n display: none;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { EntityData, GxOption } from \"../../common/types\";\nimport { CheckboxInfo } from \"@genexus/gemini\";\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 CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\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 // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /**\n * An array that keeps track of the tree items id's (design system data type + item id) along with the content, that will be used to save and retrieve items information, in order to avoid using a callback to get items information that was already get. loadedItemsArray will be reset every time a new design is loaded.\n */\n private loadedItems: Map<string, ItemLoadedInfo> = new Map();\n\n /**\n * The path/URL value when loadCallback was called for the last time. This is used to determine\n * if there is a difference with the actual path/URL value, in order to know if calling loadCallback\n * again is required on blur on Path/URL/File input.\n */\n private pathOnLoadCallback = \"\";\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDesignImportElement;\n\n /* References needed to collect data */\n private pathURLFile!: HTMLGxgFormTextElement;\n private accessTokenEl!: HTMLGxgFormTextElement;\n private optionStyleEl!: HTMLGxgComboBoxElement;\n private optionImportAsEl!: HTMLGxgFormCheckboxElement;\n private filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n private messagesList: HTMLElement;\n private panelsSelected: string[] = [];\n private stencilsSelected: string[] = [];\n // private imagesSelected: string[] = [];\n // private designSystemSelected: string[] = [];\n private fontsSelected: string[] = [];\n private codeFactoryRenderEl!: HTMLElement;\n private layoutFactoryRenderEl!: HTMLElement;\n private tokensFactoryRenderEl!: HTMLElement;\n private stylesFactoryRenderEl!: HTMLElement;\n private treeDataEl!: HTMLChTreeViewRenderElement;\n\n // 3.STATE() VARIABLES //\n\n @State() activeTabs: DesignObjectType = {\n panels: \"composition\",\n stencils: \"composition\",\n images: \"composition\",\n fonts: \"composition\",\n design_system: \"tokens\"\n };\n\n /**\n * The path/URL for load the design data\n */\n @State() path = \"\";\n\n /**\n * The design data loaded from file\n */\n @State() designData: DesignData = null;\n @Watch(\"designData\")\n watchDesignDataHandler(newDesignData: DesignData) {\n if (newDesignData) {\n this.designDataTreeDataModel = [\n {\n order: 0,\n id: `parent@${DESIGN_DATA_TYPE_PANELS}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.panels,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.panels.map((item, i) => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_PANELS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true,\n selected: i === 0\n }))\n },\n {\n order: 1,\n id: `parent@${DESIGN_DATA_TYPE_STENCILS}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.stencils,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.stencils.map(item => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_STENCILS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 2,\n id: `parent@${DESIGN_DATA_TYPE_IMAGES}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.images,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.images.map(item => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_IMAGES}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 3,\n id: `parent@${DESIGN_DATA_TYPE_FONTS}`,\n parts: \"category tree-view-item\",\n leaf: false,\n caption: this._componentLocale.tree.fonts,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true,\n expanded: true,\n items: this.designData.fonts.map(item => ({\n id: `${item.id}@${DESIGN_DATA_TYPE_FONTS}`,\n class: \"object tree-view-item\",\n leaf: true,\n caption: item.name,\n startImgSrc: \"general/generator\",\n checkbox: true,\n checked: true\n }))\n },\n {\n order: 4,\n id: `parent@${DESIGN_DATA_TYPE_DESIGN_SYSTEM}`,\n parts: \"category tree-view-item\",\n leaf: true,\n caption: this._componentLocale.tree.designSystem,\n startImgSrc: \"general/knowledge-base\",\n checkbox: true,\n checked: true\n }\n ];\n\n this.designDataTreeDataModel;\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 * 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 * When show or not the access token input field\n */\n @State() showAccessToken: any;\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 renderDesignTree, in order to set the first tab as the active tab (setFirstActiveTab()), since calling this method inside objectsTreeSelectedItemsChangedHandler does not always work without a 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 * If true, the left tree will be shrink and expanded to allow more space for the content\n */\n @State() shrinkTree = false;\n @Watch(\"shrinkTree\")\n watchShrinkTreeHandler(shrink: boolean) {\n if (shrink) {\n this.attachTreeMouseListeners();\n } else {\n this.removeTreeMouseListeners();\n }\n }\n\n /**\n * If true the left tree will be shrunken\n */\n @State() shrunkenTree = false;\n\n @State() treeSh = false;\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * The valid extensions for the files that will be loaded in Path/URL (ie.: \".fig, .sketch\")\n */\n @Prop() readonly extensions!: string;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * Callback invoked when the action is executed in the Module/Folder filter. It returns the information of the selected object (id and name) or '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 init the process of import a design.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * This is a function provided by the developer that return the list of types of data loaded from file or url.\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * This is a function provided by the developer that return the information 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 return the information of a Font type of data.\n */\n @Prop() readonly loadFontCallback!: LoadFontCallback;\n\n /**\n * This is a function provided by the developer that return the information 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 return the information of a Panel type of data.\n */\n @Prop() readonly loadPanelDataCallback!: LoadPanelDataCallback;\n\n /**\n * Callback invoked to determinate if accessing to a design requires an authentication token\n */\n @Prop() readonly requiresAccessTokenCallback!: RequiresAccessTokenCallback;\n\n /**\n * Applies a shadow all around\n */\n @Prop() readonly shadow = false;\n\n /**\n * The styles render in the option style selector\n */\n @Prop() readonly styles!: GxOption[];\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 // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n disconnectedCallback() {\n this.removeTreeMouseListeners();\n }\n\n // 7.LISTENERS //\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 // 8.PUBLIC METHODS API //\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private attachTreeMouseListeners = () => {\n this.treeDataEl.addEventListener(\"mouseenter\", this.treeMouseEnter);\n this.treeDataEl.addEventListener(\"mouseleave\", this.treeMouseLeave);\n };\n private removeTreeMouseListeners = () => {\n this.treeDataEl.removeEventListener(\"mouseenter\", this.treeMouseEnter);\n this.treeDataEl.removeEventListener(\"mouseleave\", this.treeMouseLeave);\n };\n private treeMouseEnter = () => {\n this.shrunkenTree = false;\n };\n private treeMouseLeave = () => {\n this.shrunkenTree = true;\n };\n\n private messageType = (message: MessageData): TextType => {\n if (message.type === \"error\") {\n return \"text-alert-error\";\n } else if (message.type === \"warning\") {\n return \"text-alert-warning\";\n } else {\n return \"text-gray\";\n }\n };\n\n private 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 private 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(\"@\");\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.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 }\n }\n };\n\n private getLoadedItem = (id: string): ItemLoadedInfo | undefined => {\n return this.loadedItems?.get(id);\n };\n\n private 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@\")) {\n currentParentId = item.item.id.split(\"@\")[1];\n result[currentParentId] = [];\n } else if (item.item.checked && currentParentId) {\n const parentId = item.item.id.split(\"@\")[1];\n if (parentId === currentParentId) {\n const id = item.item.id.split(\"@\")[0];\n result[currentParentId].push(id);\n }\n }\n }\n // const { designSystem, fonts, images, panels, stencils } = result;\n const { fonts, panels, stencils } = result;\n\n // this.designSystemSelected = designSystem;\n this.fontsSelected = fonts;\n // this.imagesSelected = images;\n this.panelsSelected = panels;\n this.stencilsSelected = stencils;\n };\n\n private selectFile = (): void => {\n this.pathURLFile.openFile();\n };\n\n private pathOnFileSelected = async (e: any) => {\n this.selectedFile = e.detail[0];\n const fileName = e.detail[0].name;\n this.path = fileName;\n this.showAccessToken = await this.requiresAccessTokenCallback(\n this.pathURLFile.value\n );\n };\n\n private pathURLFileBlurHandler = async () => {\n this.showAccessToken = await this.requiresAccessTokenCallback(\n this.pathURLFile.value\n );\n\n if (this.path !== this.pathOnLoadCallback) {\n // if loadOnBlur is true, and the actual path/URL value differs from the one\n // when loadCallback was called the last time, it is required to call loadCallback\n // again, because the DesignData might differ from the actual.\n this.loadData();\n }\n };\n\n private 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 this.designData = null;\n await this.loadCallback(source, token, this.messageCallback).then(\n (designData: DesignData) => {\n // this.isLoading = false;\n this.messages = [];\n this.designData = designData;\n if (this.designData) {\n this.panelsSelected = [\n ...this.designData.panels.map(item => item.id)\n ];\n this.stencilsSelected = [\n ...this.designData.stencils.map(item => item.id)\n ];\n // this.imagesSelected = [\n // ...this.designData.images.map(item => item.id)\n // ];\n // this.designSystemSelected = [\n // ...this.designData.designSystem.map(item => item.id)\n // ];\n this.fontsSelected = [...this.designData.fonts.map(item => item.id)];\n } else {\n // There was probably an error\n this.panelsSelected = [];\n this.stencilsSelected = [];\n // this.imagesSelected = [];\n // this.designSystemSelected = [];\n this.fontsSelected = [];\n }\n }\n );\n this.pathOnLoadCallback = this.path;\n this.isLoading = false;\n };\n\n private messageCallback: LoadMessageCallback = message => {\n this.messages = [...this.messages, message];\n };\n\n private 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 private getCodeFactory(designType: string) {\n switch (designType) {\n case DESIGN_DATA_TYPE_PANELS:\n case DESIGN_DATA_TYPE_STENCILS:\n this.textEditorFactoryCallback(\n \"html\",\n this.codeFactoryRenderEl,\n this.selectedDesignItem.code\n );\n this.textEditorFactoryCallback(\n \"html\",\n this.layoutFactoryRenderEl,\n this.selectedDesignItem.layout\n );\n break;\n case DESIGN_DATA_TYPE_DESIGN_SYSTEM:\n this.textEditorFactoryCallback(\n \"tokens\",\n this.tokensFactoryRenderEl,\n this.selectedDesignItem.tokens\n );\n this.textEditorFactoryCallback(\n \"styles\",\n this.stylesFactoryRenderEl,\n this.selectedDesignItem.styles\n );\n break;\n }\n }\n\n private confirm = (): void => {\n this.confirmCallback({\n panels: this.panelsSelected,\n stencils: this.stencilsSelected,\n fonts: this.fontsSelected,\n /* images: this.imagesSelected, */\n moduleId: this.filterModuleEl?.value?.id,\n styleName: this.optionStyleEl.value,\n importAsWebPanels: this.optionImportAsEl.checked\n });\n };\n\n private cancel = (): void => {\n this.cancelCallback();\n this.isLoading = false;\n };\n\n private fitImagesHandler = (e: CustomEvent<CheckboxInfo>) => {\n this.fitImages = e.detail.value;\n };\n\n private shrinkTreeHandler = (e: CustomEvent<CheckboxInfo>) => {\n const checked = e.detail.value;\n this.shrinkTree = checked;\n if (checked) {\n this.shrunkenTree = true;\n } else {\n this.shrunkenTree = false;\n }\n };\n\n private importAsWebPanelsChangedHandler = () => {\n // When \"Import as Web Panels\" checkbox value changes, loadCallback has to be\n // called again, because the received DesignData differs between having\n // \"Import as Web Panels\" checked or not. This only makes sense if a file is\n // selected or the Path/URL input is not empty\n if (this.path.length !== 0 || !this.selectedFile) {\n this.loadData();\n }\n };\n\n private pathURLFileValueChangedHandler = (e: CustomEvent<string>) => {\n this.path = e.detail;\n if (this.path.length === 0) {\n this.selectFile === null;\n }\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderOptions = (): Element => {\n return (\n <div\n class={{\n \"options grid\": true,\n \"options--hide-access-token\": !this.showAccessToken\n }}\n >\n {/* #path/url label*/}\n <gxg-label class=\"path-url-label\">\n {this._componentLocale.options.path}\n </gxg-label>\n\n <div class=\"path-url-wrapper\">\n {/* #path/url input*/}\n <gxg-form-text\n value={this.path}\n onFileSelected={this.pathOnFileSelected}\n onBlur={this.pathURLFileBlurHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.pathURLFile = el as HTMLGxgFormTextElement)\n }\n clearButton\n part=\"option-path\"\n disabled={this.isLoading}\n type=\"file\"\n acceptFile={this.extensions}\n class=\"path-url\"\n placeholder={this._componentLocale.options.pathPlaceholder}\n onValueChanged={this.pathURLFileValueChangedHandler}\n ></gxg-form-text>\n\n <div class=\"path-url-wrapper__buttons-container\">\n {/* #select file button*/}\n <gxg-button\n id=\"button-select-file\"\n type=\"primary-text-only\"\n onClick={this.selectFile}\n part=\"gxg-button gxg-button--select-file\"\n disabled={this.isLoading}\n class=\"select-file\"\n >\n ...\n </gxg-button>\n\n {/* #load file button*/}\n <gxg-button\n id=\"button-load\"\n type=\"primary-text-only\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--load\"\n disabled={this.path.length === 0 || this.isLoading}\n class=\"load-file\"\n >\n {this._componentLocale.options.btnLoad}\n </gxg-button>\n </div>\n </div>\n\n {/* #access token*/}\n {this.showAccessToken\n ? [\n <gxg-label class={{ \"access-token-label\": true }}>\n {this._componentLocale.options.accessToken}\n </gxg-label>,\n <gxg-form-text\n class={{ \"access-token\": true }}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.accessTokenEl = el as HTMLGxgFormTextElement)\n }\n part=\"access-token\"\n disabled={this.isLoading}\n ></gxg-form-text>\n ]\n : null}\n\n {/* #style label*/}\n <gxg-label class=\"style-label\">\n {this._componentLocale.options.style}\n </gxg-label>\n\n {/* #style*/}\n <gxg-combo-box\n disabled={!this.styles || this.isLoading}\n display-validation-styles\n display-validation-message\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.optionStyleEl = el as HTMLGxgComboBoxElement)\n }\n part=\"option-style\"\n class=\"style\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.styles ?? [])}\n </gxg-combo-box>\n\n {/* #module label*/}\n <gxg-label class=\"module-label\">\n {this._componentLocale.options.module}\n </gxg-label>\n\n {/* #module*/}\n <gx-ide-entity-selector\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module\"\n ></gx-ide-entity-selector>\n <div class=\"checkboxes-options\">\n {/* # import as web panels*/}\n <gxg-form-checkbox\n label={this._componentLocale.options.importAs}\n class=\"import-as-web-panels\"\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.optionImportAsEl = el as HTMLGxgFormCheckboxElement)\n }\n part=\"option-import-as-web-panels\"\n disabled={this.isLoading}\n onChange={this.importAsWebPanelsChangedHandler}\n ></gxg-form-checkbox>\n\n <div\n class={{\n \"checkboxes-options__col-right\": true,\n \"checkboxes-options__col-right--hidden\":\n !this.designDataTreeDataModel.length\n }}\n >\n {/* # fit images*/}\n <gxg-form-checkbox\n label={this._componentLocale.options.fitImages}\n part=\"fit-images-checkbox\"\n disabled={this.isLoading || !this.designDataTreeDataModel.length}\n onChange={this.fitImagesHandler}\n ></gxg-form-checkbox>\n\n {/* # shrink tree*/}\n <gxg-form-checkbox\n label={this._componentLocale.options.toggleTree}\n part=\"shrink-tree-checkbox\"\n disabled={this.isLoading || !this.designDataTreeDataModel.length}\n onChange={this.shrinkTreeHandler}\n ></gxg-form-checkbox>\n </div>\n </div>\n </div>\n );\n };\n\n private renderMessages = (): Element => {\n return this.messages.length > 0 ? (\n <div\n class=\"messages-container\"\n ref={(el: HTMLElement) => (this.messagesList = el as HTMLElement)}\n >\n {this.messages.map(message => (\n <gxg-text type={this.messageType(message)}>\n {message.type}: {message.text}\n </gxg-text>\n ))}\n </div>\n ) : null;\n };\n\n private 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 private renderMain = () => {\n if (this.designData) {\n return (\n /* #main*/\n <main\n class={{ \"main\": true, \"main--shrunken-tree\": this.shrunkenTree }}\n >\n {[this.renderDesignTree(), this.renderDesignTabs()]}\n </main>\n );\n } else if (!this.isLoading) {\n return <main class=\"main\">{this.renderNoDesignData()}</main>;\n } else {\n return this.renderMessages();\n }\n };\n\n private renderNoDesignData = () => {\n if (!this.isLoading) {\n return (\n <gxg-text\n textAlign={config.gxgMessage.common.textAlign as TextAlign}\n padding={config.gxgMessage.common.textAlign as TextPadding}\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"no-design-selected\"\n >\n {this._componentLocale.messages.noDesignSelected} <br />\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFile}\n part=\"begin-by-loading-one\"\n >\n {this._componentLocale.messages.selectDesign}\n </gxg-text>\n </gxg-text>\n );\n }\n };\n\n private renderDesignTree = (): HTMLChTreeViewElement => {\n return (\n <div class=\"tree-container\">\n <ch-tree-view-render\n part=\"data-tree\"\n class=\"tree-view design-tree\"\n id=\"data-tree\"\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 ref={el => (this.treeDataEl = el as HTMLChTreeViewRenderElement)}\n ></ch-tree-view-render>\n </div>\n );\n };\n\n private renderFooter = () => {\n return [\n <gxg-button\n id=\"button-ok\"\n type=\"primary-text-only\"\n onClick={this.confirm}\n part=\"gxg-button gxg-button--ok\"\n disabled={this.isLoading}\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnOk}\n </gxg-button>,\n <gxg-button\n id=\"button-cancel\"\n type=\"outlined\"\n onClick={this.cancel}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n ];\n };\n\n private 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 &&\n this.selectedDesignItem.composition &&\n this.selectedDesignItem.composition.preview ? (\n <div part=\"data-panel-composition-preview\" class=\"panel-item\">\n <img\n src={\n this.selectedDesignItem && this.selectedDesignItem.composition\n ? this.selectedDesignItem.composition.preview\n : undefined\n }\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 panel-item\"\n model={this.detailTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n ></ch-tree-view-render>\n ) : null}\n </div>\n );\n };\n\n private renderImageTab = () => {\n return (\n <div part=\"data-panel-composition-preview\" class=\"data-preview\">\n <img\n src={this.selectedDesignItem ? this.selectedDesignItem : undefined}\n alt=\"Preview\"\n />\n </div>\n );\n };\n\n private tabActivatedHandler = (tabActivated: CustomEvent<any>) => {\n if (tabActivated.detail) {\n const tab = tabActivated.detail.tab;\n this.activeTabs = { ...this.activeTabs, [this.selectedDesignType]: tab };\n }\n };\n\n private isTabActive = (tab: string): boolean => {\n const activeTab = this.selectedDesignType;\n this.activeTabs[activeTab as keyof DesignObjectType];\n if (this.activeTabs[activeTab as keyof DesignObjectType] === tab) {\n return true;\n } else {\n return false;\n }\n };\n\n private renderDesignTabs = (): Element => {\n return (\n <gxg-tabs\n class={{\n \"design-tabs\": true,\n \"design-tabs--fit-images\": this.fitImages\n }}\n part=\"data-tabs\"\n no-border\n noPadding\n buttonsBorderAbove\n >\n <gxg-tab-bar slot=\"tab-bar-container\">\n {/* tokens*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.tokens}\n tab=\"tokens\"\n key=\"tokens\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"tokens\")}\n ></gxg-tab-button>\n\n {/* styles*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.styles}\n tab=\"styles\"\n key=\"styles\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"styles\")}\n ></gxg-tab-button>\n\n {/* composition*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n this.selectedDesignType === DESIGN_DATA_TYPE_DESIGN_SYSTEM\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.composition}\n tab=\"composition\"\n key=\"composition\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"composition\")}\n ></gxg-tab-button>\n\n {/* layout*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n (this.selectedDesignType !== DESIGN_DATA_TYPE_PANELS &&\n this.selectedDesignType !== DESIGN_DATA_TYPE_STENCILS)\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.layout}\n tab=\"layout\"\n key=\"layout\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"layout\")}\n ></gxg-tab-button>\n\n {/* code*/}\n <gxg-tab-button\n hidden={\n !this.selectedDesignType ||\n (this.selectedDesignType !== DESIGN_DATA_TYPE_PANELS &&\n this.selectedDesignType !== DESIGN_DATA_TYPE_STENCILS)\n }\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabs.code}\n tab=\"code\"\n key=\"code\"\n onTabActivated={this.tabActivatedHandler}\n isSelected={this.isTabActive(\"code\")}\n ></gxg-tab-button>\n </gxg-tab-bar>\n\n {/* tokens */}\n <gxg-tab\n tab=\"tokens\"\n key=\"tokens\"\n isSelected={this.isTabActive(\"tokens\")}\n >\n <div\n ref={(el: HTMLElement) =>\n (this.tokensFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n\n {/* styles */}\n <gxg-tab\n tab=\"styles\"\n key=\"styles\"\n isSelected={this.isTabActive(\"styles\")}\n >\n <div\n ref={(el: HTMLElement) =>\n (this.stylesFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n\n {/* composition */}\n <gxg-tab\n tab=\"composition\"\n key=\"composition\"\n isSelected={this.isTabActive(\"composition\")}\n >\n {this.selectedDesignType === DESIGN_DATA_TYPE_IMAGES ||\n this.selectedDesignType === DESIGN_DATA_TYPE_FONTS\n ? this.renderImageTab()\n : this.renderPanelTab()}\n </gxg-tab>\n\n {/* layout */}\n <gxg-tab\n tab=\"layout\"\n key=\"layout\"\n isSelected={this.isTabActive(\"layout\")}\n >\n <div\n ref={(el: HTMLElement) =>\n (this.layoutFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n\n {/* code */}\n <gxg-tab tab=\"code\" key=\"code\" isSelected={this.isTabActive(\"code\")}>\n <div\n ref={(el: HTMLElement) =>\n (this.codeFactoryRenderEl = el as HTMLElement)\n }\n ></div>\n </gxg-tab>\n </gxg-tabs>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noContentGap\n displayBorderBottom\n part=\"options-container\"\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {this.renderOptions()}\n {this.renderMain()}\n {this.renderFooter()}\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadMessageCallback = (message: MessageData) => void;\nexport type LoadCallback = (\n source: string | File,\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: HTMLElement,\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}\n\nexport interface DesignItemData {\n id: string;\n name: string;\n}\n\nexport interface DesignPanelData {\n composition: DesignPanelCompositionData;\n code?: 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\ntype TextEditorType = \"html\" | \"styles\" | \"tokens\";\n"],"version":3}
@@ -3,7 +3,7 @@ import { L as Locale } from './locale.js';
3
3
  import { d as defineCustomElement$3 } from './container.js';
4
4
  import { d as defineCustomElement$2 } from './title.js';
5
5
 
6
- const editModuleServerCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.module-servers-grid-local{gap:var(--spacing-comp-03);display:grid;grid-template-columns:auto 1fr auto}.module-servers-grid-local *:nth-child(3){align-self:end}.module-servers-grid-server{gap:var(--spacing-comp-03);display:grid;grid-template-columns:auto 1fr}.module-servers-grid-server *:nth-child(3){align-self:end}.module-servers-grid-column-1{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(3, 1fr)}.module-servers-grid-column-2{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}.grid-server-auth-column-1{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}.grid-server-auth-column-2{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}";
6
+ const editModuleServerCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.module-servers-grid-local{gap:var(--spacing-comp-03);display:grid;grid-template-columns:auto 1fr auto}.module-servers-grid-local *:nth-child(3){align-self:end}.module-servers-grid-server{gap:var(--spacing-comp-03);display:grid;grid-template-columns:auto 1fr}.module-servers-grid-server *:nth-child(3){align-self:end}.module-servers-grid-column-1{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(3, 1fr)}.module-servers-grid-column-2{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}.grid-server-auth-column-1{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}.grid-server-auth-column-2{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}";
7
7
 
8
8
  const GxIdeEditModuleServer$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeEditModuleServer extends HTMLElement {
9
9
  constructor() {
@@ -1 +1 @@
1
- {"file":"gx-ide-edit-module-server.js","mappings":"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","names":["GxIdeEditModuleServer"],"sources":["src/components/modules/edit-module-server/edit-module-server.scss?tag=gx-ide-edit-module-server&encapsulation=shadow","src/components/modules/edit-module-server/edit-module-server.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n.module-servers-grid-local {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-columns: auto 1fr auto;\n\n *:nth-child(3) {\n align-self: end;\n }\n}\n.module-servers-grid-server {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-columns: auto 1fr;\n\n *:nth-child(3) {\n align-self: end;\n }\n}\n.module-servers-grid-column-1 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(3, 1fr);\n}\n\n.module-servers-grid-column-2 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n.grid-server-auth-column-1 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n\n.grid-server-auth-column-2 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n State,\n EventEmitter\n} from \"@stencil/core\";\n\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport {\n ModuleServerType,\n ModuleServerFullData,\n EditServerModuleResult\n} from \"../types\";\n@Component({\n tag: \"gx-ide-edit-module-server\",\n styleUrl: \"edit-module-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/edit-module-server\"]\n})\nexport class GxIdeEditModuleServer {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEditModuleServerElement;\n private serverTypeEl: HTMLGxgComboBoxElement;\n private nameEl: HTMLGxgFormTextElement;\n private sourceEl: HTMLGxgFormTextElement;\n private userEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedType: \"local\" | \"remote\" = \"local\";\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * The type of the server\n */\n @Prop() readonly types: ModuleServerType[];\n\n /**\n * The name of the server\n */\n @Prop() readonly name: string;\n\n /**\n * Disk path or server url\n */\n @Prop() readonly source: string;\n\n /**\n * Id of the currently selected server type\n */\n @Prop() readonly type: string;\n\n /**\n * Confirm callback\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when wants to select a local folder that have modules inside\n */\n @Prop() readonly selectSourceCallback: SelectSourceCallback;\n\n /**\n * Cancel callback\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Executed when user click on confirm button\n */\n private confirmCallbackHandler = async () => {\n if (this.confirmCallback) {\n const selectedTypeId = this.types.find(\n ({ type }) => type === this.selectedType\n );\n let data = {} as ModuleServerFullData;\n if (selectedTypeId.type === \"remote\") {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value,\n user: this.userEl.value,\n password: this.passwordEl.value\n };\n } else {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value\n };\n }\n const result = await this.confirmCallback(data);\n if (result.success) {\n // display success message\n } else {\n // display error message\n }\n }\n };\n\n /**\n * Executed when user click on cancel button\n */\n private cancelCallbackHandler = async () => {\n await this.cancelCallback();\n };\n private selectSourceCallbackHandle = async () => {\n const path = await this.selectSourceCallback();\n\n if (path) {\n this.sourceEl.value = path;\n }\n };\n\n // 10.LOCAL METHODS //\n\n private renderServerOptions = (): Element[] => {\n return [\n <div class=\"grid-server-auth-column-1\">\n <gxg-label>{this._componentLocale.user}</gxg-label>\n <gxg-label>{this._componentLocale.password}</gxg-label>\n </div>,\n <div class=\"grid-server-auth-column-2\">\n <gxg-form-text\n placeholder={this._componentLocale.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userEl = el as HTMLGxgFormTextElement)\n }\n part=\"user\"\n ></gxg-form-text>\n <gxg-form-text\n password\n placeholder={this._componentLocale.password}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n ></gxg-form-text>\n </div>\n ];\n };\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper gx-ide-overflow\">\n <gx-ide-container slimmerFooter>\n <div\n class={\n this.selectedType === \"local\"\n ? \"grid module-servers-grid-local\"\n : \"grid module-servers-grid-server\"\n }\n >\n <div class=\"module-servers-grid-column-1\">\n <gxg-label> {this._componentLocale.type}</gxg-label>\n <gxg-label> {this._componentLocale.name}</gxg-label>\n <gxg-label> {this._componentLocale.source}</gxg-label>\n </div>\n <div class=\"module-servers-grid-column-2\">\n <gxg-combo-box\n value={this.type}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverTypeEl = el as HTMLGxgComboBoxElement)\n }\n >\n {this.types?.map(type => (\n <gxg-combo-box-item\n value={type.id}\n onItemSelected={item =>\n (this.selectedType = item.detail.value)\n }\n >\n {type.type}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <gxg-form-text\n placeholder={this._componentLocale.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n value={this.name}\n part=\"name\"\n ></gxg-form-text>\n <gxg-form-text\n placeholder={this._componentLocale.source}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.sourceEl = el as HTMLGxgFormTextElement)\n }\n value={this.source}\n part=\"source\"\n ></gxg-form-text>\n </div>\n {this.selectedType === \"local\" && (\n <gxg-button onClick={this.selectSourceCallbackHandle}>\n ...\n </gxg-button>\n )}\n {this.selectedType === \"remote\" && this.renderServerOptions()}\n </div>\n\n <gxg-button\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\nexport type ConfirmCallback = (\n data: ModuleServerFullData\n) => Promise<EditServerModuleResult>;\nexport type CancelCallback = () => Promise<void>;\nexport type SelectSourceCallback = () => Promise<string | undefined>;\n"],"version":3}
1
+ {"file":"gx-ide-edit-module-server.js","mappings":"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","names":["GxIdeEditModuleServer"],"sources":["src/components/modules/edit-module-server/edit-module-server.scss?tag=gx-ide-edit-module-server&encapsulation=shadow","src/components/modules/edit-module-server/edit-module-server.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n.module-servers-grid-local {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-columns: auto 1fr auto;\n\n *:nth-child(3) {\n align-self: end;\n }\n}\n.module-servers-grid-server {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-columns: auto 1fr;\n\n *:nth-child(3) {\n align-self: end;\n }\n}\n.module-servers-grid-column-1 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(3, 1fr);\n}\n\n.module-servers-grid-column-2 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n.grid-server-auth-column-1 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n\n.grid-server-auth-column-2 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n State,\n EventEmitter\n} from \"@stencil/core\";\n\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport {\n ModuleServerType,\n ModuleServerFullData,\n EditServerModuleResult\n} from \"../types\";\n@Component({\n tag: \"gx-ide-edit-module-server\",\n styleUrl: \"edit-module-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/edit-module-server\"]\n})\nexport class GxIdeEditModuleServer {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEditModuleServerElement;\n private serverTypeEl: HTMLGxgComboBoxElement;\n private nameEl: HTMLGxgFormTextElement;\n private sourceEl: HTMLGxgFormTextElement;\n private userEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedType: \"local\" | \"remote\" = \"local\";\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * The type of the server\n */\n @Prop() readonly types: ModuleServerType[];\n\n /**\n * The name of the server\n */\n @Prop() readonly name: string;\n\n /**\n * Disk path or server url\n */\n @Prop() readonly source: string;\n\n /**\n * Id of the currently selected server type\n */\n @Prop() readonly type: string;\n\n /**\n * Confirm callback\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when wants to select a local folder that have modules inside\n */\n @Prop() readonly selectSourceCallback: SelectSourceCallback;\n\n /**\n * Cancel callback\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Executed when user click on confirm button\n */\n private confirmCallbackHandler = async () => {\n if (this.confirmCallback) {\n const selectedTypeId = this.types.find(\n ({ type }) => type === this.selectedType\n );\n let data = {} as ModuleServerFullData;\n if (selectedTypeId.type === \"remote\") {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value,\n user: this.userEl.value,\n password: this.passwordEl.value\n };\n } else {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value\n };\n }\n const result = await this.confirmCallback(data);\n if (result.success) {\n // display success message\n } else {\n // display error message\n }\n }\n };\n\n /**\n * Executed when user click on cancel button\n */\n private cancelCallbackHandler = async () => {\n await this.cancelCallback();\n };\n private selectSourceCallbackHandle = async () => {\n const path = await this.selectSourceCallback();\n\n if (path) {\n this.sourceEl.value = path;\n }\n };\n\n // 10.LOCAL METHODS //\n\n private renderServerOptions = (): Element[] => {\n return [\n <div class=\"grid-server-auth-column-1\">\n <gxg-label>{this._componentLocale.user}</gxg-label>\n <gxg-label>{this._componentLocale.password}</gxg-label>\n </div>,\n <div class=\"grid-server-auth-column-2\">\n <gxg-form-text\n placeholder={this._componentLocale.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userEl = el as HTMLGxgFormTextElement)\n }\n part=\"user\"\n ></gxg-form-text>\n <gxg-form-text\n password\n placeholder={this._componentLocale.password}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n ></gxg-form-text>\n </div>\n ];\n };\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper gx-ide-overflow\">\n <gx-ide-container slimmerFooter>\n <div\n class={\n this.selectedType === \"local\"\n ? \"grid module-servers-grid-local\"\n : \"grid module-servers-grid-server\"\n }\n >\n <div class=\"module-servers-grid-column-1\">\n <gxg-label> {this._componentLocale.type}</gxg-label>\n <gxg-label> {this._componentLocale.name}</gxg-label>\n <gxg-label> {this._componentLocale.source}</gxg-label>\n </div>\n <div class=\"module-servers-grid-column-2\">\n <gxg-combo-box\n value={this.type}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverTypeEl = el as HTMLGxgComboBoxElement)\n }\n >\n {this.types?.map(type => (\n <gxg-combo-box-item\n value={type.id}\n onItemSelected={item =>\n (this.selectedType = item.detail.value)\n }\n >\n {type.type}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <gxg-form-text\n placeholder={this._componentLocale.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n value={this.name}\n part=\"name\"\n ></gxg-form-text>\n <gxg-form-text\n placeholder={this._componentLocale.source}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.sourceEl = el as HTMLGxgFormTextElement)\n }\n value={this.source}\n part=\"source\"\n ></gxg-form-text>\n </div>\n {this.selectedType === \"local\" && (\n <gxg-button onClick={this.selectSourceCallbackHandle}>\n ...\n </gxg-button>\n )}\n {this.selectedType === \"remote\" && this.renderServerOptions()}\n </div>\n\n <gxg-button\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\nexport type ConfirmCallback = (\n data: ModuleServerFullData\n) => Promise<EditServerModuleResult>;\nexport type CancelCallback = () => Promise<void>;\nexport type SelectSourceCallback = () => Promise<string | undefined>;\n"],"version":3}