@genexus/genexus-ide-ui 1.0.19 → 1.0.21

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 (230) hide show
  1. package/dist/cjs/{form-validation-df39cabb.js → form-validation-0019e158.js} +2 -2
  2. package/dist/cjs/form-validation-0019e158.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  8. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gx-ide-empty-state.cjs.entry.js} +3 -56
  9. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  10. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-loader.cjs.entry.js +61 -0
  12. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -0
  13. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
  14. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
  15. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-splash.cjs.entry.js +76 -0
  18. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -0
  19. package/dist/cjs/gx-ide-start-page.cjs.entry.js +2644 -104
  20. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +257 -0
  24. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -0
  25. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +279 -396
  26. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  27. package/dist/cjs/{helpers-19194a5a.js → helpers-b5b4a659.js} +7 -1
  28. package/dist/cjs/helpers-b5b4a659.js.map +1 -0
  29. package/dist/cjs/loader.cjs.js +1 -1
  30. package/dist/collection/collection-manifest.json +3 -2
  31. package/dist/collection/common/form-validation.js +1 -1
  32. package/dist/collection/common/form-validation.js.map +1 -1
  33. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -1
  34. package/dist/collection/components/_helpers/ide-loader/ide-loader.js +2 -2
  35. package/dist/collection/components/_helpers/ide-loader/ide-loader.js.map +1 -1
  36. package/dist/collection/components/splash/gx-ide-assets/splash/images/copyrights-illustration.png +0 -0
  37. package/dist/collection/components/splash/gx-ide-assets/splash/images/icon-next.svg +4 -0
  38. package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.en.json +14 -0
  39. package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.ja.json +13 -0
  40. package/dist/collection/components/splash/gx-ide-assets/splash/langs/splash.lang.zh.json +13 -0
  41. package/dist/collection/components/splash/splash.css +56 -0
  42. package/dist/collection/components/splash/splash.js +125 -0
  43. package/dist/collection/components/splash/splash.js.map +1 -0
  44. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +19 -27
  45. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +18 -26
  46. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +23 -1
  47. package/dist/collection/components/start-page/start-page.css +142 -624
  48. package/dist/collection/components/start-page/start-page.js +198 -181
  49. package/dist/collection/components/start-page/start-page.js.map +1 -1
  50. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/arrow-next.svg +3 -0
  51. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/copyrights-base.svg +61 -0
  52. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/copyrights-illustration.png +0 -0
  53. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-ellipse-blurred.svg +21 -0
  54. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-ellipse-bottom-left.svg +14 -0
  55. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-ellipse-top-left.svg +14 -0
  56. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/fig-polygon.svg +14 -0
  57. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/icon-next.svg +4 -0
  58. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-1.svg +115 -0
  59. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-2.svg +67 -0
  60. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-3.svg +138 -0
  61. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-4.svg +97 -0
  62. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/images/slide-5.svg +83 -0
  63. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/langs/welcome-page.lang.en.json +13 -0
  64. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/langs/welcome-page.lang.ja.json +13 -0
  65. package/dist/collection/components/welcome-page/gx-ide-assets/welcome-page/langs/welcome-page.lang.zh.json +13 -0
  66. package/dist/collection/components/welcome-page/welcome-page.css +264 -0
  67. package/dist/collection/components/welcome-page/welcome-page.js +360 -0
  68. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -0
  69. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +3 -7
  70. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +4 -8
  71. package/dist/collection/components/ww-images/ww-images.css +733 -80
  72. package/dist/collection/components/ww-images/ww-images.js +413 -465
  73. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  74. package/dist/collection/pages/assets/images/welcome-page/slide-1.svg +115 -0
  75. package/dist/collection/pages/assets/images/welcome-page/slide-2.svg +67 -0
  76. package/dist/collection/pages/assets/images/welcome-page/slide-3.svg +138 -0
  77. package/dist/collection/pages/assets/images/welcome-page/slide-4.svg +97 -0
  78. package/dist/collection/pages/assets/images/welcome-page/slide-5.svg +83 -0
  79. package/dist/components/form-validation.js +1 -1
  80. package/dist/components/form-validation.js.map +1 -1
  81. package/dist/components/{gx-ide-recent-news.d.ts → gx-ide-splash.d.ts} +4 -4
  82. package/dist/components/gx-ide-splash.js +96 -0
  83. package/dist/components/gx-ide-splash.js.map +1 -0
  84. package/dist/components/gx-ide-start-page.js +2654 -126
  85. package/dist/components/gx-ide-start-page.js.map +1 -1
  86. package/dist/components/gx-ide-welcome-page.d.ts +11 -0
  87. package/dist/components/gx-ide-welcome-page.js +283 -0
  88. package/dist/components/gx-ide-welcome-page.js.map +1 -0
  89. package/dist/components/gx-ide-ww-images.js +306 -419
  90. package/dist/components/gx-ide-ww-images.js.map +1 -1
  91. package/dist/components/helpers.js +6 -1
  92. package/dist/components/helpers.js.map +1 -1
  93. package/dist/components/ide-loader.js +3 -3
  94. package/dist/components/ide-loader.js.map +1 -1
  95. package/dist/esm/{form-validation-8b3f527c.js → form-validation-44b2c2a8.js} +2 -2
  96. package/dist/esm/form-validation-44b2c2a8.js.map +1 -0
  97. package/dist/esm/genexus-ide-ui.js +1 -1
  98. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  99. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  100. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  101. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  102. package/dist/esm/{gx-ide-empty-state_2.entry.js → gx-ide-empty-state.entry.js} +5 -57
  103. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  104. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  105. package/dist/esm/gx-ide-loader.entry.js +57 -0
  106. package/dist/esm/gx-ide-loader.entry.js.map +1 -0
  107. package/dist/esm/gx-ide-new-environment.entry.js +2 -2
  108. package/dist/esm/gx-ide-new-kb.entry.js +2 -2
  109. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  110. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  111. package/dist/esm/gx-ide-splash.entry.js +72 -0
  112. package/dist/esm/gx-ide-splash.entry.js.map +1 -0
  113. package/dist/esm/gx-ide-start-page.entry.js +2644 -104
  114. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  115. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  116. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  117. package/dist/esm/gx-ide-welcome-page.entry.js +253 -0
  118. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -0
  119. package/dist/esm/gx-ide-ww-images.entry.js +279 -396
  120. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  121. package/dist/esm/{helpers-9ee6ddce.js → helpers-64e1dd0b.js} +7 -2
  122. package/dist/esm/helpers-64e1dd0b.js.map +1 -0
  123. package/dist/esm/loader.js +1 -1
  124. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  125. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  126. package/dist/genexus-ide-ui/gx-ide-assets/splash/images/copyrights-illustration.png +0 -0
  127. package/dist/genexus-ide-ui/gx-ide-assets/splash/images/icon-next.svg +4 -0
  128. package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.en.json +14 -0
  129. package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.ja.json +13 -0
  130. package/dist/genexus-ide-ui/gx-ide-assets/splash/langs/splash.lang.zh.json +13 -0
  131. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +19 -27
  132. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +18 -26
  133. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +23 -1
  134. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/arrow-next.svg +3 -0
  135. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/copyrights-base.svg +61 -0
  136. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/copyrights-illustration.png +0 -0
  137. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-ellipse-blurred.svg +21 -0
  138. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-ellipse-bottom-left.svg +14 -0
  139. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-ellipse-top-left.svg +14 -0
  140. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/fig-polygon.svg +14 -0
  141. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/icon-next.svg +4 -0
  142. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-1.svg +115 -0
  143. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-2.svg +67 -0
  144. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-3.svg +138 -0
  145. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-4.svg +97 -0
  146. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/images/slide-5.svg +83 -0
  147. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/langs/welcome-page.lang.en.json +13 -0
  148. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/langs/welcome-page.lang.ja.json +13 -0
  149. package/dist/genexus-ide-ui/gx-ide-assets/welcome-page/langs/welcome-page.lang.zh.json +13 -0
  150. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +3 -7
  151. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +4 -8
  152. package/dist/genexus-ide-ui/{p-d5d0ed5e.entry.js → p-02bc66c1.entry.js} +2 -2
  153. package/dist/genexus-ide-ui/p-120d283a.entry.js +2419 -0
  154. package/dist/genexus-ide-ui/p-120d283a.entry.js.map +1 -0
  155. package/dist/genexus-ide-ui/{p-c4d1d0ce.entry.js → p-39792ac8.entry.js} +2 -2
  156. package/dist/genexus-ide-ui/{p-c36effd2.entry.js → p-4a0dab98.entry.js} +3 -3
  157. package/dist/genexus-ide-ui/{p-acf0cbac.entry.js → p-4ce47bcd.entry.js} +2 -2
  158. package/dist/genexus-ide-ui/{p-fc64d088.entry.js → p-58e13823.entry.js} +2 -2
  159. package/dist/genexus-ide-ui/p-62f4ad99.entry.js +612 -0
  160. package/dist/genexus-ide-ui/p-62f4ad99.entry.js.map +1 -0
  161. package/dist/genexus-ide-ui/{p-98b5b178.entry.js → p-658755d5.entry.js} +18 -87
  162. package/dist/genexus-ide-ui/p-658755d5.entry.js.map +1 -0
  163. package/dist/genexus-ide-ui/{p-278afab1.entry.js → p-6abe5291.entry.js} +2 -2
  164. package/dist/genexus-ide-ui/p-7a2d3f1c.entry.js +304 -0
  165. package/dist/genexus-ide-ui/p-7a2d3f1c.entry.js.map +1 -0
  166. package/dist/genexus-ide-ui/p-7ec19ed6.entry.js +73 -0
  167. package/dist/genexus-ide-ui/p-7ec19ed6.entry.js.map +1 -0
  168. package/dist/genexus-ide-ui/{p-4ce0a85e.entry.js → p-ac670f62.entry.js} +2 -2
  169. package/dist/genexus-ide-ui/{p-41ea711a.js → p-b8624c0b.js} +2 -2
  170. package/dist/genexus-ide-ui/p-b8624c0b.js.map +1 -0
  171. package/dist/genexus-ide-ui/{p-066028bc.js → p-c339f703.js} +14 -8
  172. package/dist/{cjs/helpers-19194a5a.js.map → genexus-ide-ui/p-c339f703.js.map} +1 -1
  173. package/dist/genexus-ide-ui/p-c8b4f34c.entry.js +113 -0
  174. package/dist/genexus-ide-ui/p-c8b4f34c.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/{p-b785673d.entry.js → p-ca8b0024.entry.js} +2 -2
  176. package/dist/genexus-ide-ui/{p-b1f6fdd6.entry.js → p-cf2c8b3c.entry.js} +2 -2
  177. package/dist/genexus-ide-ui/{p-44d779c9.entry.js → p-e8975ac0.entry.js} +2 -2
  178. package/dist/genexus-ide-ui/{p-352d4aad.entry.js → p-f1558097.entry.js} +3 -3
  179. package/dist/types/components/splash/splash.d.ts +20 -0
  180. package/dist/types/components/start-page/start-page.d.ts +31 -53
  181. package/dist/types/components/welcome-page/welcome-page.d.ts +63 -0
  182. package/dist/types/components/ww-images/ww-images.d.ts +118 -98
  183. package/dist/types/components.d.ts +156 -99
  184. package/package.json +6 -3
  185. package/dist/cjs/form-validation-df39cabb.js.map +0 -1
  186. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +0 -1
  187. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +0 -163
  188. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
  189. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +0 -24
  190. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +0 -24
  191. package/dist/collection/components/start-page/gx-ide-assets/recent-news/langs/recent-news.lang.zh.json +0 -3
  192. package/dist/collection/components/start-page/recent-news.css +0 -641
  193. package/dist/collection/components/start-page/recent-news.js +0 -240
  194. package/dist/collection/components/start-page/recent-news.js.map +0 -1
  195. package/dist/collection/components/ww-images/helpers.js +0 -11
  196. package/dist/collection/components/ww-images/helpers.js.map +0 -1
  197. package/dist/components/gx-ide-recent-news.js +0 -8
  198. package/dist/components/gx-ide-recent-news.js.map +0 -1
  199. package/dist/components/recent-news.js +0 -197
  200. package/dist/components/recent-news.js.map +0 -1
  201. package/dist/esm/form-validation-8b3f527c.js.map +0 -1
  202. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  203. package/dist/esm/gx-ide-recent-news.entry.js +0 -159
  204. package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
  205. package/dist/esm/helpers-9ee6ddce.js.map +0 -1
  206. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.en.json +0 -24
  207. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.ja.json +0 -24
  208. package/dist/genexus-ide-ui/gx-ide-assets/recent-news/langs/recent-news.lang.zh.json +0 -3
  209. package/dist/genexus-ide-ui/p-0576a392.entry.js +0 -233
  210. package/dist/genexus-ide-ui/p-0576a392.entry.js.map +0 -1
  211. package/dist/genexus-ide-ui/p-066028bc.js.map +0 -1
  212. package/dist/genexus-ide-ui/p-20389960.entry.js +0 -211
  213. package/dist/genexus-ide-ui/p-20389960.entry.js.map +0 -1
  214. package/dist/genexus-ide-ui/p-41ea711a.js.map +0 -1
  215. package/dist/genexus-ide-ui/p-62efd8f2.entry.js +0 -712
  216. package/dist/genexus-ide-ui/p-62efd8f2.entry.js.map +0 -1
  217. package/dist/genexus-ide-ui/p-98b5b178.entry.js.map +0 -1
  218. package/dist/types/components/start-page/recent-news.d.ts +0 -43
  219. package/dist/types/components/ww-images/helpers.d.ts +0 -3
  220. /package/dist/genexus-ide-ui/{p-d5d0ed5e.entry.js.map → p-02bc66c1.entry.js.map} +0 -0
  221. /package/dist/genexus-ide-ui/{p-c4d1d0ce.entry.js.map → p-39792ac8.entry.js.map} +0 -0
  222. /package/dist/genexus-ide-ui/{p-c36effd2.entry.js.map → p-4a0dab98.entry.js.map} +0 -0
  223. /package/dist/genexus-ide-ui/{p-acf0cbac.entry.js.map → p-4ce47bcd.entry.js.map} +0 -0
  224. /package/dist/genexus-ide-ui/{p-fc64d088.entry.js.map → p-58e13823.entry.js.map} +0 -0
  225. /package/dist/genexus-ide-ui/{p-278afab1.entry.js.map → p-6abe5291.entry.js.map} +0 -0
  226. /package/dist/genexus-ide-ui/{p-4ce0a85e.entry.js.map → p-ac670f62.entry.js.map} +0 -0
  227. /package/dist/genexus-ide-ui/{p-b785673d.entry.js.map → p-ca8b0024.entry.js.map} +0 -0
  228. /package/dist/genexus-ide-ui/{p-b1f6fdd6.entry.js.map → p-cf2c8b3c.entry.js.map} +0 -0
  229. /package/dist/genexus-ide-ui/{p-44d779c9.entry.js.map → p-e8975ac0.entry.js.map} +0 -0
  230. /package/dist/genexus-ide-ui/{p-352d4aad.entry.js.map → p-f1558097.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"helpers-19194a5a.js","mappings":"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","names":["h"],"sources":["src/common/helpers.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nexport type ChCheckboxArray = HTMLChCheckboxElement[] | null;\n\nimport { GxOption } from \"./types\";\n\nconst daysOfWeek = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\n\n/**\n * @param element an HTMLElement\n * @returns an alphabetically ordered array of all the parts and exportparts the element contains.\n */\nexport const getElementSelectorParts = (element: HTMLElement) => {\n const queries: string[] = [];\n const elementParts = element.shadowRoot?.querySelectorAll(`[part]`);\n const elementExportParts =\n element.shadowRoot?.querySelectorAll(`[exportparts]`);\n\n elementParts?.forEach(el => {\n queries.push(\n `${element.tagName.toLowerCase()}::part(${el.getAttribute(\"part\")})`\n );\n });\n elementExportParts?.forEach(el => {\n queries.push(\n ...[\n ...el.getAttribute(\"exportparts\").matchAll(/(?:[\\w-]+:)?([\\w-]+)/g)\n ].map(item => `${element.tagName.toLowerCase()}::part(${item[1]})`)\n );\n });\n\n return queries.sort();\n};\n\n/**\n * @param selector a part selector\n * @returns A reference to the element the part belongs to.\n */\nexport const querySelectorPart = (selector: string) => {\n const querySelectorDeep = (\n element: HTMLElement,\n parts: string\n ): HTMLElement => {\n const shadow = element.shadowRoot;\n const partList = parts.split(\" \");\n\n const partElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[part~=\"${partName}\"]`).join(\"\")\n );\n if (partElement) {\n return partElement;\n }\n\n const exportPartElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[exportparts*=\"${partName}\"]`).join(\"\")\n );\n if (exportPartElement) {\n const exportPartList: string[] = [];\n const exportparts = exportPartElement.getAttribute(\"exportparts\");\n\n partList.forEach(partItem => {\n const exportPartName = exportparts.match(\n `(?:([\\\\w-]+):)?(${partItem})`\n )[1];\n if (exportPartName) {\n exportPartList.push(exportPartName);\n }\n });\n\n if (partList.length === exportPartList.length) {\n return querySelectorDeep(exportPartElement, exportPartList.join(\" \"));\n }\n }\n\n return null;\n };\n\n const selectorItems = selector.match(\"(.*)::part\\\\(([^)]+)\\\\)\");\n const entity = selectorItems[1];\n const partName = selectorItems[2];\n\n return querySelectorDeep(document.querySelector(entity), partName);\n};\n\nconst daysFromToday = (date: Date): number => {\n const today = new Date();\n // To calculate the time difference of two dates\n const timeDifference = today.getTime() - date.getTime();\n // To calculate the no. of days between two dates\n const daysDifference = timeDifference / (1000 * 3600 * 24);\n return Math.floor(daysDifference);\n};\n\n// - - - - - - - - - - - -\n// Date Functions\n// - - - - - - - - - - - -\n\nconst isToday = (date: Date): boolean => {\n const today = new Date();\n if (today.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nconst isYesterday = (date: Date): boolean => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n if (yesterday.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nexport const formatDate = (\n date: Date,\n type: FormatDateType = \"date-time\"\n): string => {\n let formattedDate;\n // validate date\n // undefined or null\n if (date === undefined || date === null) {\n return \"\";\n }\n // If the date object is invalid it will return 'NaN' on getTime() and NaN is never equal to itself\n const dateIsValid = date.getTime() === date.getTime();\n if (!dateIsValid) {\n return \"Invalid date\";\n }\n let locale = \"en-US\";\n const lang = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf();\n if (lang === \"es\") {\n locale = \"es-ES\";\n }\n formattedDate = date.toLocaleDateString(locale);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n const time = `${hours}:${minutes}`;\n if (type === \"date-time\") {\n formattedDate += ` / ${date.toLocaleTimeString()}`;\n } else if (type === \"date-time-short\") {\n // No seconds\n if (locale === \"es-ES\") {\n formattedDate = `${year}-${month}-${day} ${time}`;\n } else {\n formattedDate = `${month}/${day}/${year} ${time}`;\n }\n } else if (\"pretty\") {\n const daysPassedFromToday = daysFromToday(date);\n const today = new Date();\n const currentYear = today.getFullYear();\n if (isToday(date)) {\n return `Today ${time}`;\n } else if (isYesterday(date)) {\n return `Yesterday ${time}`;\n } else if (daysPassedFromToday <= 7) {\n // If one week or less, just show the day of the week, and the time\n const day = daysOfWeek[date.getDay()];\n return `${day} ${time}`;\n } else if (currentYear === year) {\n // If current year, show day number and month name. Example: November 17th\n if (locale === \"es-ES\") {\n formattedDate = `${day} de ${date.toLocaleString(\"es-ES\", {\n month: \"long\"\n })} ${time}`;\n } else {\n formattedDate = `${date.toLocaleString(\"en-US\", {\n month: \"long\"\n })} ${day} ${time}`;\n }\n } else {\n // Display date as usual\n formattedDate = formatDate(date, \"date-time-short\");\n }\n }\n return formattedDate;\n};\n\nexport type FormatDateType =\n | \"date\"\n | \"date-time\"\n | \"date-time-short\"\n | \"pretty\";\n\n// - - - - - - - - - - - -\n// /End of Date Functions\n// - - - - - - - - - - - -\n\n/* Count the total tree nodes (by default it does not count the first level nodes)*/\nexport const countTreeItems = (\n treeModel: TreeViewItemModel[],\n children = false\n): number => {\n let totalNodes = 0;\n treeModel.forEach(node => {\n children && totalNodes++;\n if (node.items) {\n totalNodes += countTreeItems(node.items, true);\n }\n });\n return totalNodes;\n};\n\n/**\n * @description it evaluates the initial selected combo item\n * @param options an array of GxOption\n * @returns the initial combo value, which in this case is the id\n */\nexport const setInitialComboValue = (options: GxOption[]): string => {\n const selected = options.find(option => option.selected);\n if (selected) {\n return selected.value || selected.id;\n } else {\n return options[0].value || options[0].id;\n }\n};\n\nexport const escapeRegExp = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\n/**\n * @description this function highlights the character(s) that match(es) the filter value.\n * hiChar comes from (hi)light (Char)acters\n * @param text the string to find the filter value on\n * @param filterValue the filter value\n * @returns a span element\n */\nexport const hiChar = function (text: string, filterValue: string) {\n if (text && filterValue) {\n const escapedFilterValue = escapeRegExp(filterValue);\n const re = new RegExp(escapedFilterValue, \"gi\");\n return (\n <span\n innerHTML={text.replace(re, '<span class=\"hiChar\">$&</span>')}\n ></span>\n );\n } else {\n return text;\n }\n};\n\nexport const closeOnOutsideClickHandler = (\n eventInfo: PointerEvent,\n ref: HTMLElement\n): true | void => {\n if (!eventInfo.composedPath().includes(ref)) {\n return true;\n }\n};\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel =>\n options.map(option => ({\n value: option.id,\n caption: option.label\n // startImgSrc: option.iconName\n }));\n\nexport const renderChCheckboxItems = (\n options: GxOption[] | undefined,\n frontEndCheckboxInputHandler: (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => void,\n checkedIds: string[]\n): HTMLChCheckboxElement[] => {\n return options?.map(option => {\n const value = checkedIds?.find(\n id => option.value === id || option.id === id\n );\n return (\n <ch-checkbox\n name={option.name}\n class=\"checkbox\"\n checkedValue={option.value || option.id}\n caption={option.label}\n disabled={option.disabled}\n value={value}\n onInput={frontEndCheckboxInputHandler}\n startImgSrc={option.iconName}\n key={option.value || option.id}\n ></ch-checkbox>\n );\n });\n};\n"],"version":3}
1
+ {"version":3,"names":["daysOfWeek","daysFromToday","date","today","Date","timeDifference","getTime","daysDifference","Math","floor","isToday","toDateString","isYesterday","yesterday","setDate","getDate","formatDate","type","formattedDate","undefined","dateIsValid","locale","lang","_a","document","getElementsByTagName","getAttribute","valueOf","toLocaleDateString","year","getFullYear","month","String","getMonth","padStart","day","hours","getHours","minutes","getMinutes","time","toLocaleTimeString","daysPassedFromToday","currentYear","getDay","toLocaleString","countTreeItems","treeModel","children","totalNodes","forEach","node","items","escapeRegExp","str","replace","hiChar","text","filterValue","escapedFilterValue","re","RegExp","h","innerHTML","closeOnOutsideClickHandler","eventInfo","ref","composedPath","includes","mapOptionsToComboBoxItemModel","options","map","option","value","id","caption","label","renderChCheckboxItems","frontEndCheckboxInputHandler","checkedIds","find","name","class","checkedValue","disabled","onInput","startImgSrc","iconName","key"],"sources":["src/common/helpers.tsx"],"sourcesContent":["import { h } from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\nexport type ChCheckboxArray = HTMLChCheckboxElement[] | null;\n\nimport { GxOption } from \"./types\";\n\nconst daysOfWeek = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n];\n\n/**\n * @param element an HTMLElement\n * @returns an alphabetically ordered array of all the parts and exportparts the element contains.\n */\nexport const getElementSelectorParts = (element: HTMLElement) => {\n const queries: string[] = [];\n const elementParts = element.shadowRoot?.querySelectorAll(`[part]`);\n const elementExportParts =\n element.shadowRoot?.querySelectorAll(`[exportparts]`);\n\n elementParts?.forEach(el => {\n queries.push(\n `${element.tagName.toLowerCase()}::part(${el.getAttribute(\"part\")})`\n );\n });\n elementExportParts?.forEach(el => {\n queries.push(\n ...[\n ...el.getAttribute(\"exportparts\").matchAll(/(?:[\\w-]+:)?([\\w-]+)/g)\n ].map(item => `${element.tagName.toLowerCase()}::part(${item[1]})`)\n );\n });\n\n return queries.sort();\n};\n\n/**\n * @param selector a part selector\n * @returns A reference to the element the part belongs to.\n */\nexport const querySelectorPart = (selector: string) => {\n const querySelectorDeep = (\n element: HTMLElement,\n parts: string\n ): HTMLElement => {\n const shadow = element.shadowRoot;\n const partList = parts.split(\" \");\n\n const partElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[part~=\"${partName}\"]`).join(\"\")\n );\n if (partElement) {\n return partElement;\n }\n\n const exportPartElement: HTMLElement = shadow.querySelector(\n partList.map(partName => `[exportparts*=\"${partName}\"]`).join(\"\")\n );\n if (exportPartElement) {\n const exportPartList: string[] = [];\n const exportparts = exportPartElement.getAttribute(\"exportparts\");\n\n partList.forEach(partItem => {\n const exportPartName = exportparts.match(\n `(?:([\\\\w-]+):)?(${partItem})`\n )[1];\n if (exportPartName) {\n exportPartList.push(exportPartName);\n }\n });\n\n if (partList.length === exportPartList.length) {\n return querySelectorDeep(exportPartElement, exportPartList.join(\" \"));\n }\n }\n\n return null;\n };\n\n const selectorItems = selector.match(\"(.*)::part\\\\(([^)]+)\\\\)\");\n const entity = selectorItems[1];\n const partName = selectorItems[2];\n\n return querySelectorDeep(document.querySelector(entity), partName);\n};\n\nconst daysFromToday = (date: Date): number => {\n const today = new Date();\n // To calculate the time difference of two dates\n const timeDifference = today.getTime() - date.getTime();\n // To calculate the no. of days between two dates\n const daysDifference = timeDifference / (1000 * 3600 * 24);\n return Math.floor(daysDifference);\n};\n\n// - - - - - - - - - - - -\n// Date Functions\n// - - - - - - - - - - - -\n\nconst isToday = (date: Date): boolean => {\n const today = new Date();\n if (today.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nconst isYesterday = (date: Date): boolean => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n if (yesterday.toDateString() === date.toDateString()) {\n return true;\n }\n return false;\n};\n\nexport const formatDate = (\n date: Date,\n type: FormatDateType = \"date-time\"\n): string => {\n let formattedDate;\n // validate date\n // undefined or null\n if (date === undefined || date === null) {\n return \"\";\n }\n // If the date object is invalid it will return 'NaN' on getTime() and NaN is never equal to itself\n const dateIsValid = date.getTime() === date.getTime();\n if (!dateIsValid) {\n return \"Invalid date\";\n }\n let locale = \"en-US\";\n const lang = document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf();\n if (lang === \"es\") {\n locale = \"es-ES\";\n }\n formattedDate = date.toLocaleDateString(locale);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n const time = `${hours}:${minutes}`;\n if (type === \"date-time\") {\n formattedDate += ` / ${date.toLocaleTimeString()}`;\n } else if (type === \"date-time-short\") {\n // No seconds\n if (locale === \"es-ES\") {\n formattedDate = `${year}-${month}-${day} ${time}`;\n } else {\n formattedDate = `${month}/${day}/${year} ${time}`;\n }\n } else if (\"pretty\") {\n const daysPassedFromToday = daysFromToday(date);\n const today = new Date();\n const currentYear = today.getFullYear();\n if (isToday(date)) {\n return `Today ${time}`;\n } else if (isYesterday(date)) {\n return `Yesterday ${time}`;\n } else if (daysPassedFromToday <= 7) {\n // If one week or less, just show the day of the week, and the time\n const day = daysOfWeek[date.getDay()];\n return `${day} ${time}`;\n } else if (currentYear === year) {\n // If current year, show day number and month name. Example: November 17th\n if (locale === \"es-ES\") {\n formattedDate = `${day} de ${date.toLocaleString(\"es-ES\", {\n month: \"long\"\n })} ${time}`;\n } else {\n formattedDate = `${date.toLocaleString(\"en-US\", {\n month: \"long\"\n })} ${day} ${time}`;\n }\n } else {\n // Display date as usual\n formattedDate = formatDate(date, \"date-time-short\");\n }\n }\n return formattedDate;\n};\n\nexport type FormatDateType =\n | \"date\"\n | \"date-time\"\n | \"date-time-short\"\n | \"pretty\";\n\n// - - - - - - - - - - - -\n// /End of Date Functions\n// - - - - - - - - - - - -\n\n/* Count the total tree nodes (by default it does not count the first level nodes)*/\nexport const countTreeItems = (\n treeModel: TreeViewItemModel[],\n children = false\n): number => {\n let totalNodes = 0;\n treeModel.forEach(node => {\n children && totalNodes++;\n if (node.items) {\n totalNodes += countTreeItems(node.items, true);\n }\n });\n return totalNodes;\n};\n\n/**\n * @description it evaluates the initial selected combo item\n * @param options an array of GxOption\n * @returns the initial combo value, which in this case is the id\n */\nexport const setInitialComboValue = (options: GxOption[]): string => {\n const selected = options.find(option => option.selected);\n if (selected) {\n return selected.value || selected.id;\n } else {\n return options[0].value || options[0].id;\n }\n};\n\nexport const escapeRegExp = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\n/**\n * @description this function highlights the character(s) that match(es) the filter value.\n * hiChar comes from (hi)light (Char)acters\n * @param text the string to find the filter value on\n * @param filterValue the filter value\n * @returns a span element\n */\nexport const hiChar = function (text: string, filterValue: string) {\n if (text && filterValue) {\n const escapedFilterValue = escapeRegExp(filterValue);\n const re = new RegExp(escapedFilterValue, \"gi\");\n return (\n <span\n innerHTML={text.replace(re, '<span class=\"hiChar\">$&</span>')}\n ></span>\n );\n } else {\n return text;\n }\n};\n\nexport const closeOnOutsideClickHandler = (\n eventInfo: PointerEvent,\n ref: HTMLElement\n): true | void => {\n if (!eventInfo.composedPath().includes(ref)) {\n return true;\n }\n};\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel =>\n options.map(option => ({\n value: option.id,\n caption: option.label\n // startImgSrc: option.iconName\n }));\n\nexport const renderChCheckboxItems = (\n options: GxOption[] | undefined,\n frontEndCheckboxInputHandler: (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => void,\n checkedIds: string[]\n): HTMLChCheckboxElement[] => {\n return options?.map(option => {\n const value = checkedIds?.find(\n id => option.value === id || option.id === id\n );\n return (\n <ch-checkbox\n name={option.name}\n class=\"checkbox\"\n checkedValue={option.value || option.id}\n caption={option.label}\n disabled={option.disabled}\n value={value}\n onInput={frontEndCheckboxInputHandler}\n startImgSrc={option.iconName}\n key={option.value || option.id}\n ></ch-checkbox>\n );\n });\n};\n"],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { a as e, r as i, h as s, H as t, g as a } from "./p-aaed592c.js";
2
+
3
+ import { L as r } from "./p-74d59062.js";
4
+
5
+ const n = ":host{display:grid;block-size:100%;inline-size:100%;align-items:center;justify-content:center;padding:var(--mer-spacing--xl)}.slide{display:grid;max-inline-size:1100px;grid-template-columns:1fr 550px;background-color:var(--mer-surface__elevation--01);border-radius:var(--mer-spacing--md);overflow:hidden;opacity:0;transition:var(--slide-fade-duration) opacity}.slide--visible{opacity:1}.slide__illustration{overflow:hidden;max-block-size:700px}.slide__copy{display:grid;block-size:100%;inline-size:100%;padding:var(--mer-spacing--3xl)}.slide__copy-container{display:grid;gap:var(--mer-spacing--md);max-inline-size:480px;place-self:center}.slide__copy-header{display:grid;gap:var(--mer-spacing--md)}.slide__copy-title{font-size:var(--mer-font__size--xl);color:var(--mer-text__on-surface);letter-spacing:0.02em;font-weight:var(--mer-font__weight--semi-bold)}.slide__copy-description{display:grid;color:var(--mer-text__complementary);gap:var(--mer-spacing--md);font-size:var(--mer-font__size--sm);font-weight:var(--mer-font__weight--light);line-height:var(--mer-line-height--spaced)}";
6
+
7
+ var o = undefined && undefined.__classPrivateFieldSet || function(e, i, s, t, a) {
8
+ if (t === "m") throw new TypeError("Private method is not writable");
9
+ if (t === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof i === "function" ? e !== i || !a : !i.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return t === "a" ? a.call(e, s) : a ? a.value = s : i.set(e, s), s;
12
+ };
13
+
14
+ var l = undefined && undefined.__classPrivateFieldGet || function(e, i, s, t) {
15
+ if (s === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
16
+ if (typeof i === "function" ? e !== i || !t : !i.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
17
+ return s === "m" ? t : s === "a" ? t.call(e) : t ? t.value : i.get(e);
18
+ };
19
+
20
+ var d;
21
+
22
+ const c = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
23
+
24
+ const p = e(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
25
+
26
+ const h = 300;
27
+
28
+ const m = [ "resets/box-sizing", "utils/typography" ];
29
+
30
+ const f = class {
31
+ constructor(e) {
32
+ i(this, e);
33
+ /**
34
+ * The component hard-coded strings translations.
35
+ */
36
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
37
+ d.set(this, void 0);
38
+ this.splashVisible = false;
39
+ this.version = undefined;
40
+ this.removeSplash = false;
41
+ }
42
+ removeSplashChanged(e) {
43
+ if (e) {
44
+ this.splashVisible = false;
45
+ setTimeout((() => {
46
+ // wait until the slide disappears, then remove.
47
+ this.el.remove();
48
+ }), h);
49
+ }
50
+ }
51
+ async componentWillLoad() {
52
+ o(this, d, await r.getComponentStrings(this.el), "f");
53
+ }
54
+ componentDidLoad() {
55
+ this.splashVisible = true;
56
+ }
57
+ render() {
58
+ const e = (new Date).getFullYear();
59
+ return s(t, null, s("ch-theme", {
60
+ model: m
61
+ }), s("section", {
62
+ class: {
63
+ slide: true,
64
+ "slide--visible": this.splashVisible
65
+ },
66
+ style: {
67
+ "--slide-fade-duration": `${h}ms`
68
+ }
69
+ }, s("div", {
70
+ class: "slide__illustration",
71
+ role: "img",
72
+ "aria-label": l(this, d, "f").copyright.illustrationAriaLabel
73
+ }, s("img", {
74
+ // base image (acts like a background)
75
+ src: c,
76
+ class: "slide__illustration",
77
+ alt: l(this, d, "f").copyright.illustrationFigureAriaLabel
78
+ })), s("section", {
79
+ class: "slide__copy"
80
+ }, s("div", {
81
+ class: "slide__copy-container"
82
+ }, s("header", {
83
+ class: "slide__copy-header"
84
+ }, s("img", {
85
+ src: p,
86
+ alt: l(this, d, "f").copyright.illustrationAlternativeText
87
+ }), s("h2", {
88
+ class: "slide__copy-title"
89
+ }, l(this, d, "f").copyright.title)), s("div", {
90
+ class: "slide__copy-description"
91
+ }, s("p", null, s("span", {
92
+ class: "version"
93
+ }, l(this, d, "f").copyright.version, s("span", null, this.version)), s("span", null, l(this, d, "f").copyright.c1988), s("span", null, " — ", e, " "), s("span", null, l(this, d, "f").copyright.allRightsReserved)), s("p", null, l(this, d, "f").copyright.description))))));
94
+ }
95
+ static get assetsDirs() {
96
+ return [ "gx-ide-assets/splash" ];
97
+ }
98
+ get el() {
99
+ return a(this);
100
+ }
101
+ static get watchers() {
102
+ return {
103
+ removeSplash: [ "removeSplashChanged" ]
104
+ };
105
+ }
106
+ };
107
+
108
+ d = new WeakMap;
109
+
110
+ f.style = n;
111
+
112
+ export { f as gx_ide_splash };
113
+ //# sourceMappingURL=p-c8b4f34c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["splashCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","SLIDE_FADE_DURATION","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","removeSplashChanged","removeSplash","splashVisible","setTimeout","el","remove","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","componentDidLoad","render","currentYear","Date","getFullYear","h","Host","model","class","slide","style","role","__classPrivateFieldGet","copyright","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","version","c1988","allRightsReserved","description"],"sources":["src/components/splash/splash.scss?tag=gx-ide-splash&encapsulation=shadow","src/components/splash/splash.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n max-inline-size: 1100px;\n grid-template-columns: 1fr 550px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n opacity: 0;\n transition: var(--slide-fade-duration) opacity;\n\n &--visible {\n opacity: 1;\n }\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__copy {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__copy-container {\n display: grid;\n gap: var(--mer-spacing--md);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__copy-header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n\n &__copy-title {\n font-size: var(--mer-font__size--xl);\n color: var(--mer-text__on-surface);\n letter-spacing: 0.02em;\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &__copy-description {\n display: grid;\n color: var(--mer-text__complementary);\n gap: var(--mer-spacing--md);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst SLIDE_FADE_DURATION = 300;\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"utils/typography\"];\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() splashVisible: boolean = false;\n\n /**\n * The copyright version. ie.: \"Salto 103300\"\n */\n @Prop() readonly version!: string;\n\n /**\n * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.\n */\n @Prop() readonly removeSplash: boolean = false;\n @Watch(\"removeSplash\")\n removeSplashChanged(removeSplash: boolean) {\n if (removeSplash) {\n this.splashVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n }, SLIDE_FADE_DURATION);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.splashVisible = true;\n }\n\n render() {\n const currentYear = new Date().getFullYear();\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section\n class={{ \"slide\": true, \"slide--visible\": this.splashVisible }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.copyright.illustrationFigureAriaLabel}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img\n src={ICON_NEXT}\n alt={\n this.#componentLocale.copyright.illustrationAlternativeText\n }\n />\n <h2 class=\"slide__copy-title\">\n {this.#componentLocale.copyright.title}\n </h2>\n </header>\n <div class=\"slide__copy-description\">\n <p>\n <span class=\"version\">\n {this.#componentLocale.copyright.version}\n <span>{this.version}</span>\n </span>\n <span>{this.#componentLocale.copyright.c1988}</span>\n <span> — {currentYear} </span>\n <span>\n {this.#componentLocale.copyright.allRightsReserved}\n </span>\n </p>\n <p>{this.#componentLocale.copyright.description}</p>\n </div>\n </div>\n </section>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;;;;;;;;;;;;;;;;ACgBlB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAAsB;;AAC5B,MAAMC,IAA8B,EAAC,qBAAqB;;MAQ7CC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;yBAOkC;;wBAUO;;EAEzC,mBAAAC,CAAoBC;IAClB,IAAIA,GAAc;MAChBF,KAAKG,gBAAgB;MACrBC,YAAW;;QAETJ,KAAKK,GAAGC;AAAQ,UACfX;;;EAIP,uBAAMY;IACJC,EAAAR,MAAIF,SAA0BW,EAAOC,oBAAoBV,KAAKK,KAAG;;EAGnE,gBAAAM;IACEX,KAAKG,gBAAgB;;EAGvB,MAAAS;IACE,MAAMC,KAAc,IAAIC,MAAOC;IAE/B,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOtB;QACjBoB,EAAA;MACEG,OAAO;QAAEC,OAAS;QAAM,kBAAkBpB,KAAKG;;MAC/CkB,OAAO;QAAE,yBAAyB,GAAG1B;;OAErCqB,EAAA;MACEG,OAAM;MACNG,MAAK;MAAK,cACEC,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUC;OAE5CT,EAAA;;MAEEU,KAAKlC;MACL2B,OAAM;MACNQ,KAAKJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUI;SAGzCZ,EAAA;MAASG,OAAM;OACbH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEU,KAAKhC;MACLiC,KACEJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUK;QAGpCb,EAAA;MAAIG,OAAM;OACPI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUM,SAGrCd,EAAA;MAAKG,OAAM;OACTH,EAAA,WACEA,EAAA;MAAMG,OAAM;OACTI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUO,SACjCf,EAAA,cAAOhB,KAAK+B,WAEdf,EAAA,cAAOO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUQ,QACvChB,EAAA,qBAAUH,GAAW,MACrBG,EAAA,cACGO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUS,qBAGrCjB,EAAA,WAAIO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUU"}
@@ -4,7 +4,7 @@ import { L as o } from "./p-74d59062.js";
4
4
 
5
5
  import { c } from "./p-78b90603.js";
6
6
 
7
- import { c as n } from "./p-066028bc.js";
7
+ import { c as n } from "./p-c339f703.js";
8
8
 
9
9
  /* objects in file metadata*/ const s = "object";
10
10
 
@@ -680,4 +680,4 @@ const d = class {
680
680
  d.style = _;
681
681
 
682
682
  export { d as gx_ide_kb_manager_import };
683
- //# sourceMappingURL=p-b785673d.entry.js.map
683
+ //# sourceMappingURL=p-ca8b0024.entry.js.map
@@ -4,7 +4,7 @@ import { L as s } from "./p-74d59062.js";
4
4
 
5
5
  import { r as l } from "./p-3ef5a5a6.js";
6
6
 
7
- import { f as n } from "./p-41ea711a.js";
7
+ import { f as n } from "./p-b8624c0b.js";
8
8
 
9
9
  const g = ":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;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.grid-data{grid-template-columns:repeat(2, 1fr)}.grid-data-account{grid-template-columns:auto 1fr}.grid-data-account>:nth-child(1){grid-area:1/1/2/3}.grid-data-account>:nth-child(6){grid-area:4/2/5/3}.grid-data-kbs{display:flex;flex-direction:column;gap:var(--gx-ide-grid-row-gap)}.grid-data-kbs .search-kbs{width:100%;display:flex}.grid-data-kbs .box-kbs{height:150px}.grid-data-kbs-footer{display:flex}.flex{display:flex}.flex>:nth-child(2){flex:1}";
10
10
 
@@ -238,4 +238,4 @@ const d = class {
238
238
  d.style = g;
239
239
 
240
240
  export { d as gx_ide_create_kb_from_server };
241
- //# sourceMappingURL=p-b1f6fdd6.entry.js.map
241
+ //# sourceMappingURL=p-cf2c8b3c.entry.js.map
@@ -6,7 +6,7 @@ import { L as o } from "./p-74d59062.js";
6
6
 
7
7
  import { c as r } from "./p-78b90603.js";
8
8
 
9
- import { f as n } from "./p-066028bc.js";
9
+ import { f as n } from "./p-c339f703.js";
10
10
 
11
11
  import { F as c } from "./p-13feb5cf.js";
12
12
 
@@ -522,4 +522,4 @@ L = new WeakMap, K = new WeakMap, V = new WeakMap, A = new WeakMap, B = new Weak
522
522
  O.style = d;
523
523
 
524
524
  export { O as gx_ide_object_selector };
525
- //# sourceMappingURL=p-44d779c9.entry.js.map
525
+ //# sourceMappingURL=p-e8975ac0.entry.js.map
@@ -8,9 +8,9 @@ import { L as h } from "./p-74d59062.js";
8
8
 
9
9
  import { g as l } from "./p-3ef5a5a6.js";
10
10
 
11
- import { r, m as d } from "./p-066028bc.js";
11
+ import { r, m as d } from "./p-c339f703.js";
12
12
 
13
- import { v as c } from "./p-41ea711a.js";
13
+ import { v as c } from "./p-b8624c0b.js";
14
14
 
15
15
  import { r as f } from "./p-1252519a.js";
16
16
 
@@ -731,4 +731,4 @@ et = new WeakMap;
731
731
  dt.style = p;
732
732
 
733
733
  export { dt as gx_ide_new_kb };
734
- //# sourceMappingURL=p-352d4aad.entry.js.map
734
+ //# sourceMappingURL=p-f1558097.entry.js.map
@@ -0,0 +1,20 @@
1
+ export declare class GxIdeUiSplash {
2
+ #private;
3
+ el: HTMLGxIdeSplashElement;
4
+ /**
5
+ * When true the slider will be visible. Used to display and hide the slide with a smooth transition.
6
+ */
7
+ splashVisible: boolean;
8
+ /**
9
+ * The copyright version. ie.: "Salto 103300"
10
+ */
11
+ readonly version: string;
12
+ /**
13
+ * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.
14
+ */
15
+ readonly removeSplash: boolean;
16
+ removeSplashChanged(removeSplash: boolean): void;
17
+ componentWillLoad(): Promise<void>;
18
+ componentDidLoad(): void;
19
+ render(): any;
20
+ }
@@ -1,82 +1,60 @@
1
1
  export declare class GxIdeStartPage {
2
2
  #private;
3
- /**
4
- * The component hard-coded strings translations.
5
- */
6
- private _componentLocale;
7
3
  el: HTMLGxIdeStartPageElement;
4
+ kbFilterValue: string;
5
+ kbFilterValueChanged(newKbFilterValue: string): void;
8
6
  /**
9
- * The condition required to display the kbs filter
10
- */
11
- displayKbsFilter: boolean;
12
- /**
13
- * The condition required to display the news filter
14
- */
15
- displayNewsFilter: boolean;
16
- /**
17
- * The filtered KBs after user input
7
+ * The kbs after the filter value.
18
8
  */
19
9
  filteredKbs: RecentKBData[];
20
10
  /**
21
- * The filtered news after user input
22
- */
23
- filteredNews: NewsData[];
24
- /**
25
- * True if kbs have been not loaded yet.
26
- */
27
- loadingKbs: boolean;
28
- /**
29
- * A list of recent news
11
+ * True if the start page is waiting, either for the kb's list or the secondary section.
30
12
  */
31
- news: NewsData[];
32
- watchNews(news: NewsData[]): void;
13
+ loading: boolean;
33
14
  /**
34
- * The filter value for the recent news set by the user input
15
+ * Callback invoked to create a new KB. It must be specified whether this create is create from server or not, through the parameter 'fromServer'.
35
16
  */
36
- newsFilterValue: string;
17
+ readonly createKBCallback: (fromServer: boolean) => Promise<void>;
37
18
  /**
38
- * True if the component has been rendered for the first time.
19
+ * Callback invoked to open a KB when the user clicks on a KB card.
39
20
  */
40
- renderedFirstTime: boolean;
21
+ readonly openKbCallback: (id: string) => Promise<void>;
41
22
  /**
42
- * Callback invoked to load the news feed (right panel "Recent News").
23
+ * The secondary section that will appear below the "Create a new Knowledge Base" main section. This section will be displayed if there are no recent kbs.
43
24
  */
44
- readonly getNewsCallback: GetNewsCallback;
25
+ readonly secondarySection?: SecondarySection;
45
26
  /**
46
- * Ann array of the user's KB's
27
+ * User's kbs array
47
28
  */
48
29
  readonly kbs: RecentKBData[];
49
- kbsChanged(kbs: RecentKBData[]): void;
30
+ kbsChanged(newKbs: RecentKBData[]): void;
50
31
  /**
51
- * The minimum number of "kbs" that is required to display the kb's filter.
32
+ * The minimum required of kbs to display a filter.
52
33
  */
53
34
  readonly kbsFilterThreshold: number;
54
- /**
55
- * The minimum number of "news" that is required to display the news's filter.
56
- */
57
- readonly newsFilterThreshold: number;
58
- /**
59
- * Callback invoked to open a knowledge base when the user clicks on a KB card.
60
- */
61
- readonly openKbCallback: OpenKbCallback;
62
- /**
63
- * Callback invoked to open a news article.
64
- */
65
- readonly openNewsCallback: OpenNewsCallback;
66
35
  componentWillLoad(): Promise<void>;
67
- componentDidLoad(): void;
68
36
  render(): any;
69
37
  }
70
- export type OpenKbCallback = (id: string) => Promise<void>;
71
- export type GetNewsCallback = () => Promise<NewsData[]>;
72
- export type OpenNewsCallback = (id: string) => Promise<void>;
73
38
  export type RecentKBData = {
74
- id: string;
39
+ id?: string;
75
40
  name: string;
76
41
  lastOpenedDate?: Date;
42
+ icon: string;
43
+ };
44
+ export type SecondarySection = {
45
+ title: string;
46
+ cards: CardInfo[];
77
47
  };
78
- export type NewsData = {
79
- id: string;
48
+ export type CardInfo = {
49
+ icon?: {
50
+ src: string;
51
+ ariaLabel: string;
52
+ };
80
53
  title: string;
81
- body: string;
54
+ description: string[];
55
+ action?: {
56
+ iconSrc: string;
57
+ caption: string;
58
+ callback?: () => void;
59
+ };
82
60
  };
@@ -0,0 +1,63 @@
1
+ export declare class GxIdeWelcomePage {
2
+ #private;
3
+ el: HTMLGxIdeWelcomePageElement;
4
+ /**
5
+ * The current active slide index from 'slides' Prop. It does not considers the very first slide "Copyright".
6
+ */
7
+ activeSlideIndex: number;
8
+ /**
9
+ * When true the slider will be visible. Used to display and hide the slide with a smooth transition.
10
+ */
11
+ displaySlider: boolean;
12
+ /**
13
+ * True if the very first slide is visible (The copyright slide)
14
+ */
15
+ copyrightsVisible: boolean;
16
+ /**
17
+ * True if the user has reached the last slide. Used to hide/disable the navigation.
18
+ */
19
+ lastSlideReached: boolean;
20
+ /**
21
+ * When true the slider will be visible. Used to display and hide the slider with a smooth transition.
22
+ */
23
+ sliderVisible: boolean;
24
+ /**
25
+ * True if a slide is transitioning, false otherwise. Used to disable the navigation arrows while transitioning.
26
+ */
27
+ slideTransitioning: boolean;
28
+ /**
29
+ * True if the user has changed slides by clicking on the navigation dots, or by using the keyboard arrows. This is used to know evaluate the slide transition setTimeOut. If the user has navigated, automatic slide transition should be turned off.
30
+ */
31
+ userHasChangedSlide: boolean;
32
+ /**
33
+ * The transition type between the slides. "static" requires the user to navigate by clicking the navigation dots. "auto" will transition automatically after a calculated amount of time.
34
+ */
35
+ readonly transitionType: TransitionType;
36
+ /**
37
+ * The estimated amount of words per minute that the user requires to read a slide. This value is used to return the time each slide is freezed before transitioning to the next one. Only evaluated when transitionType is set to "auto".
38
+ */
39
+ readonly wordsPerMinute: number;
40
+ /**
41
+ * Callback invoked when the user closes the slider by pressing the close button.
42
+ */
43
+ readonly closeCallback: CloseCallback;
44
+ /**
45
+ * An array of slides, with the information that each slide requires. This slides appear after the first slide (Copyrights) that is defined inside the component.
46
+ */
47
+ readonly slides: SlideInfo[];
48
+ componentWillLoad(): Promise<void>;
49
+ componentDidLoad(): void;
50
+ render(): any;
51
+ }
52
+ export type SlideInfo = {
53
+ illustration: {
54
+ url: string;
55
+ alt: string;
56
+ };
57
+ title: string;
58
+ description?: string[];
59
+ descriptionAsChunks?: boolean;
60
+ listItems?: string[];
61
+ };
62
+ export type CloseCallback = () => Promise<void>;
63
+ export type TransitionType = "static" | "auto";