@genexus/genexus-ide-ui 0.0.108 → 0.0.110

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 (265) hide show
  1. package/dist/cjs/ch-dropdown_2.cjs.entry.js +1 -1
  2. package/dist/cjs/ch-dropdown_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ch-grid_8.cjs.entry.js +339 -321
  4. package/dist/cjs/ch-grid_8.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -1
  6. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ch-suggest_4.cjs.entry.js +1 -1
  8. package/dist/cjs/ch-suggest_4.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ch-tree-view_5.cjs.entry.js +41 -20
  10. package/dist/cjs/ch-tree-view_5.cjs.entry.js.map +1 -1
  11. package/dist/cjs/{common-103f62f6.js → common-2e355c7d.js} +31 -1
  12. package/dist/cjs/common-2e355c7d.js.map +1 -0
  13. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  14. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +47 -4
  15. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  17. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +98 -0
  19. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +1 -0
  20. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
  21. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  22. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +311 -0
  26. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -0
  27. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +76 -0
  31. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -0
  32. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  33. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +184 -0
  34. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -0
  35. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
  36. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
  37. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
  38. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
  40. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
  42. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/collection/collection-manifest.json +2 -0
  45. package/dist/collection/common/common.js +21 -0
  46. package/dist/collection/common/common.js.map +1 -1
  47. package/dist/collection/components/_helpers/container/container.css +6 -0
  48. package/dist/collection/components/_helpers/container/container.js +40 -0
  49. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  50. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  51. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  52. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
  53. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
  54. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  55. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  56. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  57. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  58. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  59. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +560 -0
  60. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js +251 -0
  61. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +1 -0
  62. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  63. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  64. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  65. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  66. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  67. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  68. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +744 -0
  69. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +501 -0
  70. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -0
  71. package/dist/collection/components/modules/types.js +2 -0
  72. package/dist/collection/components/modules/types.js.map +1 -0
  73. package/dist/collection/pages/assets/common.js +7 -0
  74. package/dist/components/buttons-container.js +8 -3
  75. package/dist/components/buttons-container.js.map +1 -1
  76. package/dist/components/card.js.map +1 -1
  77. package/dist/components/ch-grid-column2.js +4 -1
  78. package/dist/components/ch-grid-column2.js.map +1 -1
  79. package/dist/components/ch-grid2.js +342 -322
  80. package/dist/components/ch-grid2.js.map +1 -1
  81. package/dist/components/combo-box.js +1 -0
  82. package/dist/components/combo-box.js.map +1 -1
  83. package/dist/components/common.js +30 -1
  84. package/dist/components/common.js.map +1 -1
  85. package/dist/components/container.js +7 -1
  86. package/dist/components/container.js.map +1 -1
  87. package/dist/components/dropdown.js +1 -1
  88. package/dist/components/dropdown.js.map +1 -1
  89. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  90. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  91. package/dist/components/gx-ide-edit-module-servers.d.ts +11 -0
  92. package/dist/components/gx-ide-edit-module-servers.js +186 -0
  93. package/dist/components/gx-ide-edit-module-servers.js.map +1 -0
  94. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  95. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  96. package/dist/components/gx-ide-manage-module-references.d.ts +11 -0
  97. package/dist/components/gx-ide-manage-module-references.js +515 -0
  98. package/dist/components/gx-ide-manage-module-references.js.map +1 -0
  99. package/dist/components/gx-ide-status-buttons2.js +5 -15
  100. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  101. package/dist/components/gxg-top-state-bar2.js +17 -8
  102. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  103. package/dist/components/icon2.js +3 -1
  104. package/dist/components/icon2.js.map +1 -1
  105. package/dist/components/ide-loader.js +6 -15
  106. package/dist/components/ide-loader.js.map +1 -1
  107. package/dist/components/suggest.js +1 -1
  108. package/dist/components/suggest.js.map +1 -1
  109. package/dist/components/tabs.js +1 -1
  110. package/dist/components/tabs.js.map +1 -1
  111. package/dist/components/tree-view-item.js +8 -2
  112. package/dist/components/tree-view-item.js.map +1 -1
  113. package/dist/components/tree-view2.js +32 -15
  114. package/dist/components/tree-view2.js.map +1 -1
  115. package/dist/esm/ch-dropdown_2.entry.js +1 -1
  116. package/dist/esm/ch-dropdown_2.entry.js.map +1 -1
  117. package/dist/esm/ch-grid_8.entry.js +339 -321
  118. package/dist/esm/ch-grid_8.entry.js.map +1 -1
  119. package/dist/esm/ch-icon_5.entry.js +3 -1
  120. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  121. package/dist/esm/ch-suggest_4.entry.js +1 -1
  122. package/dist/esm/ch-suggest_4.entry.js.map +1 -1
  123. package/dist/esm/ch-tree-view_5.entry.js +41 -20
  124. package/dist/esm/ch-tree-view_5.entry.js.map +1 -1
  125. package/dist/esm/{common-f2983db2.js → common-aaad5759.js} +31 -2
  126. package/dist/esm/common-aaad5759.js.map +1 -0
  127. package/dist/esm/genexus-ide-ui.js +1 -1
  128. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +47 -5
  129. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  130. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  131. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  132. package/dist/esm/gx-ide-edit-module-servers.entry.js +94 -0
  133. package/dist/esm/gx-ide-edit-module-servers.entry.js.map +1 -0
  134. package/dist/esm/gx-ide-empty-state.entry.js +66 -0
  135. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  136. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  137. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  138. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  139. package/dist/esm/gx-ide-manage-module-references.entry.js +307 -0
  140. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -0
  141. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  142. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  143. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  144. package/dist/esm/gx-ide-status-buttons.entry.js +72 -0
  145. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -0
  146. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  147. package/dist/esm/gxg-buttons-container_2.entry.js +179 -0
  148. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -0
  149. package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
  150. package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
  151. package/dist/esm/gxg-combo-box_2.entry.js +1 -0
  152. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  153. package/dist/esm/gxg-ide-loader.entry.js +4 -15
  154. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  155. package/dist/esm/gxg-tab_4.entry.js +1 -1
  156. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  157. package/dist/esm/loader.js +1 -1
  158. package/dist/genexus-ide-ui/genexus-ide-ui.css +9 -6
  159. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  160. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  161. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  162. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  163. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  164. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  165. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  166. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  167. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
  168. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
  169. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js → p-0c0c3f1d.entry.js} +53 -53
  170. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js.map → p-0c0c3f1d.entry.js.map} +1 -1
  171. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js → p-0df39b62.entry.js} +5 -2
  172. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js.map → p-0df39b62.entry.js.map} +1 -1
  173. package/dist/genexus-ide-ui/{p-419b2877.entry.js → p-1cb2d0df.entry.js} +80 -47
  174. package/dist/genexus-ide-ui/p-1cb2d0df.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/p-350f49ac.js +101 -0
  176. package/dist/genexus-ide-ui/p-350f49ac.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-ca7233a5.entry.js → p-39337325.entry.js} +81 -10
  178. package/dist/genexus-ide-ui/p-39337325.entry.js.map +1 -0
  179. package/dist/genexus-ide-ui/{p-001e085a.entry.js → p-51e86542.entry.js} +2 -2
  180. package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
  181. package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
  182. package/dist/genexus-ide-ui/p-5fe20f47.entry.js +211 -0
  183. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
  184. package/dist/genexus-ide-ui/{p-d14b5546.entry.js → p-6f5b13a7.entry.js} +4 -2
  185. package/dist/genexus-ide-ui/{p-d14b5546.entry.js.map → p-6f5b13a7.entry.js.map} +1 -1
  186. package/dist/genexus-ide-ui/p-713ad05d.entry.js +441 -0
  187. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
  188. package/dist/genexus-ide-ui/{p-94015503.entry.js → p-786e5448.entry.js} +374 -380
  189. package/dist/genexus-ide-ui/p-786e5448.entry.js.map +1 -0
  190. package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
  191. package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
  192. package/dist/genexus-ide-ui/{p-afce38d4.entry.js → p-b2099890.entry.js} +2 -2
  193. package/dist/genexus-ide-ui/{p-513ec2ad.entry.js → p-b4e526d6.entry.js} +2 -2
  194. package/dist/genexus-ide-ui/p-b7d0697f.entry.js +138 -0
  195. package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +1 -0
  196. package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
  197. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
  198. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js → p-c14b6b77.entry.js} +2 -2
  199. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js.map → p-c14b6b77.entry.js.map} +1 -1
  200. package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
  201. package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
  202. package/dist/genexus-ide-ui/{p-2c733995.entry.js → p-d5903356.entry.js} +2 -2
  203. package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
  204. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
  205. package/dist/genexus-ide-ui/{p-05102700.entry.js → p-df72101e.entry.js} +2 -2
  206. package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
  207. package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
  208. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/dropdown/dropdown.css +28 -28
  209. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +0 -2
  210. package/dist/node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.css +11 -0
  211. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
  212. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +1 -0
  213. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
  214. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +51 -62
  215. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +37 -54
  216. package/dist/types/common/common.d.ts +2 -0
  217. package/dist/types/components/_helpers/container/container.d.ts +8 -0
  218. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
  219. package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +60 -0
  220. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +110 -0
  221. package/dist/types/components/modules/types.d.ts +41 -0
  222. package/dist/types/components.d.ts +226 -80
  223. package/package.json +3 -3
  224. package/dist/cjs/common-103f62f6.js.map +0 -1
  225. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  226. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +0 -187
  227. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +0 -1
  228. package/dist/cjs/gxg-buttons-container.cjs.entry.js +0 -65
  229. package/dist/cjs/gxg-buttons-container.cjs.entry.js.map +0 -1
  230. package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
  231. package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
  232. package/dist/cjs/gxg-title.cjs.entry.js +0 -47
  233. package/dist/cjs/gxg-title.cjs.entry.js.map +0 -1
  234. package/dist/esm/common-f2983db2.js.map +0 -1
  235. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  236. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  237. package/dist/esm/gx-ide-status-buttons_2.entry.js +0 -182
  238. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +0 -1
  239. package/dist/esm/gxg-buttons-container.entry.js +0 -61
  240. package/dist/esm/gxg-buttons-container.entry.js.map +0 -1
  241. package/dist/esm/gxg-title-editable.entry.js +0 -124
  242. package/dist/esm/gxg-title-editable.entry.js.map +0 -1
  243. package/dist/esm/gxg-title.entry.js +0 -43
  244. package/dist/esm/gxg-title.entry.js.map +0 -1
  245. package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
  246. package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
  247. package/dist/genexus-ide-ui/p-419b2877.entry.js.map +0 -1
  248. package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
  249. package/dist/genexus-ide-ui/p-67406b36.entry.js +0 -71
  250. package/dist/genexus-ide-ui/p-67406b36.entry.js.map +0 -1
  251. package/dist/genexus-ide-ui/p-67ea84e8.js +0 -74
  252. package/dist/genexus-ide-ui/p-67ea84e8.js.map +0 -1
  253. package/dist/genexus-ide-ui/p-94015503.entry.js.map +0 -1
  254. package/dist/genexus-ide-ui/p-ca7233a5.entry.js.map +0 -1
  255. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js +0 -270
  256. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js.map +0 -1
  257. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js +0 -67
  258. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js.map +0 -1
  259. package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
  260. package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
  261. /package/dist/genexus-ide-ui/{p-001e085a.entry.js.map → p-51e86542.entry.js.map} +0 -0
  262. /package/dist/genexus-ide-ui/{p-afce38d4.entry.js.map → p-b2099890.entry.js.map} +0 -0
  263. /package/dist/genexus-ide-ui/{p-513ec2ad.entry.js.map → p-b4e526d6.entry.js.map} +0 -0
  264. /package/dist/genexus-ide-ui/{p-2c733995.entry.js.map → p-d5903356.entry.js.map} +0 -0
  265. /package/dist/genexus-ide-ui/{p-05102700.entry.js.map → p-df72101e.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"gx-ide-container.gx-ide-title.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/_helpers/container/container.scss?tag=gx-ide-container&encapsulation=shadow","src/components/_helpers/container/container.tsx","src/components/_helpers/title/title.scss?tag=gx-ide-title&encapsulation=shadow","src/components/_helpers/title/title.tsx"],"sourcesContent":["@import \"../../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n\n/*******************************\nHOST / GENERAL\n********************************/\n:host {\n --gx-ide-container-elements-spacing: var(--mer-spacing--xs);\n display: block;\n height: 100%;\n box-sizing: border-box;\n}\n.container {\n display: grid;\n height: 100%;\n grid-template-rows: auto 1fr auto;\n box-sizing: border-box;\n}\n.heading,\n.content,\n.footer,\n.footer-above {\n padding: var(--gx-ide-container__padding);\n}\n/*PADDING*/\n.container--padding-s {\n --gx-ide-container__padding: var(--mer-spacing--xs);\n}\n.container--padding-m {\n --gx-ide-container__padding: var(--mer-spacing--sm);\n}\n.container--padding-l {\n --gx-ide-container__padding: var(--mer-spacing--md);\n}\n/*BORDERS*/\n.container--display-border {\n border: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-top {\n border-top: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-bottom {\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-start {\n border-inline-start: 1px solid var(--gx-ide-container-border-color);\n}\n.container--overflow-hidden-y {\n overflow-y: hidden;\n}\n/*******************************\nHEADING\n********************************/\n.heading {\n // @include gxg-flex-justify();\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-container__padding);\n width: 100%;\n box-sizing: border-box;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--no-border {\n border-bottom: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--inactive {\n color: var(--gxg-color--disabled);\n }\n &--padding-top {\n padding: var(--gx-ide-container__padding) 0 0 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--form-text-height {\n .heading__title {\n min-height: var(--gxg-form-text-height);\n justify-content: center;\n }\n }\n &--flex-row {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n}\n/*******************************\nCONTENT\n********************************/\n.content {\n overflow-x: auto;\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-form-items-gap);\n box-sizing: border-box;\n @include gxg-scrollbar();\n\n &--no-padding {\n padding: 0;\n }\n &--no-border-top {\n border-top: none;\n }\n &--flex {\n display: flex;\n }\n &--no-gap {\n gap: 0;\n }\n &--align-items-start {\n align-items: start;\n }\n &--align-items-center {\n align-items: center;\n }\n &--align-items-end {\n align-items: end;\n }\n &--justify-content-start {\n justify-content: start;\n }\n &--justify-content-center {\n justify-content: center;\n }\n &--justify-content-end {\n justify-content: end;\n }\n &--border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n/*only content*/\n.container--only-content {\n grid-template-rows: 1fr;\n}\n/*no header, but has footer*/\n.container--no-header:not(.container--only-content) {\n grid-template-rows: 1fr auto;\n}\n/*no footer, but has header*/\n.container--no-footer:not(.container--only-content) {\n grid-template-rows: auto 1fr;\n}\n/*******************************\nFOOTER\n********************************/\n/*ABOVE*/\n.footer-above {\n border-top: 1px solid var(--gx-ide-container-border-color);\n &--no-border-top {\n border-top: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--no-padding {\n padding: 0;\n }\n}\n/*START and END*/\n.footer {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n border-top: 1px solid var(--gx-ide-container-border-color);\n &__start,\n &__end {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n }\n &--no-border {\n border-top: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\nimport { TitleAlignment } from \"@genexus/gemini/dist/types/common/types\";\nimport { TitleType } from \"../title/title\";\n@Component({\n tag: \"gx-ide-container\",\n styleUrl: \"container.scss\",\n shadow: true\n})\nexport class GxIdeContainer {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /* GENERAL */\n\n /**\n * By setting the title to inactive, the color will be gray instead of black.\n */\n @Prop() readonly inactiveTitle: boolean = false;\n\n /**\n * The title of the container\n */\n @Prop() readonly containerTitle: string;\n\n /**\n * The title of the container\n */\n @Prop() readonly titleType: TitleType = \"primary\";\n\n /**\n * Displays a border all around the container\n */\n @Prop() readonly displayBorder: boolean = false;\n\n /**\n * Displays a border on the top\n */\n @Prop() readonly displayBorderTop: boolean = false;\n\n /**\n * Displays a border at the end\n */\n @Prop() readonly displayBorderEnd: boolean = false;\n\n /**\n * Displays a border at on the bottom\n */\n @Prop() readonly displayBorderBottom: boolean = false;\n\n /**\n * Displays a border at the start\n */\n @Prop() readonly displayBorderStart: boolean = false;\n\n /**\n * The container general padding (applies to .heading, .content, and .footer)\n */\n @Prop() readonly sectionsPadding: SectionsPadding = \"m\";\n\n /* HEADING*/\n\n /**\n * Title alignment\n */\n @Prop() readonly titleAlignment: TitleAlignment = \"center\";\n\n /**\n * Removes the border bottom from the heading\n */\n @Prop() readonly noHeadingBorder: boolean = false;\n\n /**\n * Removes the padding from the heading\n */\n @Prop() readonly noHeadingPadding: boolean = false;\n\n /**\n * Adds padding to the top of the heading\n */\n @Prop() readonly headingPaddingTop: boolean = false;\n\n /**\n * The heading justification\n */\n @Prop() readonly headingJustify: HeadingJustify = \"center\";\n\n /**\n * It forces the .heading__title min-height to be as tall as the gxg-form-text height. This is useful when you are displaying two gx-ide-container's on the same row, both of them display a title, and one of them displays a gxg-form-text in the header (usually used to filter content). Without this property set to true, the .heading without a gxg-from-text would be shorter. At the time of writing, this is used on ww-images.\n */\n @Prop() readonly titleHeightAsInput: boolean = false;\n\n /**\n * Makes the header (.heading) display flex:row, instad of the default flex:column.\n */\n @Prop() readonly flexRow: boolean = false;\n\n /* CONTENT */\n\n /**\n * Makes the content a flex container\n */\n @Prop() readonly flexContent: boolean = false;\n\n /**\n * Removes the border-top from the content\n */\n @Prop() readonly noContentBorderTop: boolean = false;\n\n /**\n * Removes the padding from the content\n */\n @Prop() readonly noContentPadding: boolean = false;\n\n /**\n * Removes the gap from the content\n */\n @Prop() readonly noContentGap: boolean = false;\n\n /**\n * Align items\n */\n @Prop() readonly alignItems: AlignItems = undefined;\n\n /**\n * Justify content\n */\n @Prop() readonly justifyContent: JustifyContent = undefined;\n\n /**\n * Display border end on the content\n */\n @Prop() readonly contentBorderEnd: boolean = false;\n\n /* FOOTER ABOVE */\n\n /**\n * Makes the above footer vertical padding slimmer\n */\n @Prop() readonly slimmerAboveFooter: boolean = false;\n\n /**\n * Removes the above padding from the footer\n */\n @Prop() readonly noAboveFooterPadding: boolean = false;\n\n /**\n * Removes the above border top\n */\n @Prop() readonly noBorderAboveFooter: boolean = false;\n\n /* FOOTER > START and FOOTER > END*/\n\n /**\n * Makes the footer vertical padding slimmer\n */\n @Prop() readonly slimmerFooter: boolean = false;\n\n /**\n * Removes the padding from the footer\n */\n @Prop() readonly noFooterPadding: boolean = false;\n\n /**\n * The footer justification\n */\n @Prop() readonly footerJustify: FooterJustify = \"end\";\n\n /**\n * Removes the border top from the footer\n */\n @Prop() readonly noBorderFooter: boolean = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeContainerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'header' slot\n */\n @State() hasHeaderSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content slotted content (regular slotted content, without 'slot' attribute)\n */\n @State() hasSlottedContent = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasFooterSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasAboveFooterSlot = false;\n\n /**\n * A boolean variable indicating that the container only has the heading section\n */\n @State() hasOnlyHeading = false;\n\n /**\n * A boolean variable indicating that the container only has the content section\n */\n @State() hasOnlyContent = false;\n\n /**\n * A boolean variable indicating that the container only has the footer section\n */\n @State() hasOnlyFooter = false;\n\n // 4.PUBLIC PROPERTY API //\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentWillLoad() {\n this.evaluateSlots();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateSlots() {\n // header\n const headerSlot = this.el.querySelectorAll(':scope > [slot=\"header\"]');\n if (headerSlot.length) {\n this.hasHeaderSlot = true;\n }\n // content\n const slottedContent = this.el.querySelectorAll(\":scope > :not([slot])\");\n if (slottedContent.length) {\n this.hasSlottedContent = true;\n }\n // footer\n const footerAboveSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-above\"]'\n );\n const footerStartSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-start\"]'\n );\n const footerEndSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-end\"]'\n );\n if (footerStartSlot.length || footerEndSlot.length) {\n this.hasFooterSlot = true;\n }\n if (footerAboveSlot.length) {\n this.hasAboveFooterSlot = true;\n }\n }\n\n private evaluateSections() {\n // has only heading\n if (\n !this.hasSlottedContent &&\n !this.hasFooterSlot &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyHeading = true;\n }\n // has only content\n if (\n this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasHeaderSlot &&\n !this.hasAboveFooterSlot &&\n !this.hasFooterSlot\n ) {\n this.hasOnlyContent = true;\n }\n // has only footer\n if (\n !this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyFooter = true;\n }\n }\n\n private headingClasses = (): string | { [className: string]: boolean } => {\n return {\n \"heading\": true,\n \"heading--inactive\": this.inactiveTitle,\n \"heading--slimmer\": this.titleType === \"secondary\",\n \"heading--no-border\": this.noHeadingBorder || this.hasOnlyHeading,\n [`heading--justify-${this.headingJustify}`]: true,\n \"heading--no-padding\": this.noHeadingPadding,\n \"heading--padding-top\":\n this.headingPaddingTop && this.containerTitle?.length > 0,\n \"heading--form-text-height\": this.titleHeightAsInput,\n \"heading--flex-row\": this.flexRow\n };\n };\n\n private contentClasses = (): string | { [className: string]: boolean } => {\n return {\n \"content\": true,\n \"content--flex\": this.flexContent,\n \"content--no-padding\": this.noContentPadding,\n \"content--no-gap\": this.noContentGap,\n \"content--no-border-top\": this.noContentBorderTop,\n \"content--border-end\": this.contentBorderEnd,\n [`content--align-items-${this.alignItems}`]:\n this.alignItems !== undefined,\n [`content--justify-content-${this.justifyContent}`]:\n this.justifyContent !== undefined\n };\n };\n\n private aboveFooter = (): JSX.Element | null => {\n return this.hasAboveFooterSlot ? (\n <footer\n class={{\n \"footer-above\": true,\n \"footer-above--no-border-top\": this.noBorderAboveFooter,\n \"footer-above--no-padding\": this.noAboveFooterPadding,\n \"footer-above--slimmer\": this.slimmerFooter\n }}\n >\n <slot name=\"footer-above\"></slot>\n </footer>\n ) : null;\n };\n\n private footer = (): JSX.Element | null => {\n return this.hasFooterSlot ? (\n <footer\n class={{\n \"footer\": true,\n \"footer--no-border\":\n this.hasOnlyFooter ||\n !this.hasSlottedContent ||\n this.noBorderFooter,\n [`footer--justify-${this.footerJustify}`]: true,\n [`footer--justify-${this.footerJustify}`]: true,\n \"footer--no-padding\": this.noFooterPadding,\n \"footer--slimmer\": this.slimmerFooter\n }}\n >\n <div class=\"footer__start\">\n <slot name=\"footer-start\"></slot>\n </div>\n <div class=\"footer__end\">\n <slot name=\"footer-end\"></slot>\n </div>\n </footer>\n ) : null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n this.evaluateSections();\n const result = [\n this.containerTitle || this.hasHeaderSlot ? (\n <header class={this.headingClasses()}>\n {this.containerTitle ? (\n <gx-ide-title\n class=\"heading__title\"\n type={this.titleType}\n alignment={this.titleAlignment as any}\n >\n {this.containerTitle}\n </gx-ide-title>\n ) : null}\n {this.hasHeaderSlot ? (\n <div class=\"heading__inner-wrapper\">\n <slot name=\"header\"></slot>\n </div>\n ) : null}\n </header>\n ) : null,\n this.hasSlottedContent ? (\n <div class={this.contentClasses()} part=\"content\">\n <slot></slot>\n </div>\n ) : null,\n this.aboveFooter(),\n this.footer()\n ];\n\n return (\n <Host>\n <div\n class={{\n \"container\": true,\n [`container--padding-${this.sectionsPadding}`]: true,\n \"container--display-border\": this.displayBorder,\n \"container--display-border-top\": this.displayBorderTop,\n \"container--display-border-end\": this.displayBorderEnd,\n \"container--display-border-bottom\": this.displayBorderBottom,\n \"container--display-border-start\": this.displayBorderStart,\n \"container--only-content\": this.hasOnlyContent,\n \"container--no-header\": !this.hasHeaderSlot && !this.containerTitle,\n \"container--no-footer\": !this.hasFooterSlot\n }}\n >\n {result}\n </div>\n </Host>\n );\n }\n}\n\nexport type HeadingJustify = \"start\" | \"center\" | \"end\";\nexport type FooterJustify = \"start\" | \"center\" | \"end\";\nexport type SectionsPadding = \"s\" | \"m\" | \"l\";\nexport type AlignItems = \"start\" | \"center\" | \"end\";\nexport type JustifyContent = \"start\" | \"center\" | \"end\";\n",":host {\n --gx-ide-title-padding: var(--gx-ide-container--padding, --mer-spacing--sm);\n display: flex;\n flex-direction: column;\n color: var(--gx-ide-component-text-color);\n font-family: var(--mer-font-family--primary);\n line-height: 1.6em;\n background-color: transparent;\n padding: 0;\n}\n/*alignment*/\n:host(.alignment--start) {\n align-items: start;\n}\n:host(.alignment--center) {\n align-items: center;\n}\n/*padding*/\n:host(.alignment--start) {\n text-align: start;\n}\n:host([padding]) {\n padding: var(--gx-ide-title-padding);\n}\n:host([no-padding-bottom]) {\n padding-bottom: 0;\n}\n/*border*/\n:host([border]) {\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n}\n/*type*/\n:host(.title-type--primary) {\n}\n:host(.title-type--secondary) {\n //a little subtle\n color: var(--gray-06);\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { TitleType as GeminiTitleType } from \"@genexus/gemini/dist/types/components/title/title\";\n\n@Component({\n tag: \"gx-ide-title\",\n styleUrl: \"title.scss\",\n shadow: true\n})\nexport class GxIdeTitle {\n /**\n * Description: This helper component has been created for using as a title for the dialogs sections.\n */\n\n private geminiType: GeminiTitleType;\n\n /**\n * The title caption (the title)\n */\n @Prop() readonly titleCaption: string;\n\n /**\n * The title caption (the title)\n */\n @Prop() readonly type: TitleType = \"primary\";\n\n /**\n * The title alignment\n */\n @Prop() readonly alignment: TitleAlignment = \"start\";\n\n /**\n * Disables the padding\n */\n @Prop({ reflect: true }) readonly padding: boolean = false;\n\n /**\n * Disables the padding on the bottom\n */\n @Prop({ reflect: true }) readonly noPaddingBottom: boolean = false;\n\n /**\n * Displays a border on the bottom\n */\n @Prop({ reflect: true }) readonly border: boolean = false;\n\n componentWillLoad() {\n if (this.type === \"primary\") {\n this.geminiType = \"title-04\";\n } else if (this.type === \"secondary\") {\n this.geminiType = \"title-05\";\n }\n }\n\n render() {\n return (\n <Host\n class={{\n [`alignment--${this.alignment}`]: true,\n [`title-type--${this.type}`]: true\n }}\n >\n <gxg-title type={this.geminiType} alignment={this.alignment}>\n <slot></slot>\n </gxg-title>\n </Host>\n );\n }\n}\n\nexport type TitleType = \"primary\" | \"secondary\";\n\nexport type TitleAlignment = \"start\" | \"center\";\n"],"version":3}
@@ -1,187 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-5ab4492a.js');
6
- const locale = require('./locale-bf43b87c.js');
7
-
8
- const gxIdeStatusButtonsCss = ":host{display:block;border:1px solid var(--gx-ide-container-border-color);border-radius:var(--ds-form-control-border-radius);--status-buttons-label-color:var(--mer-text__on-surface)}gx-ide-list-selector::part(list){display:flex;flex-direction:row}gx-ide-list-selector-item{border-block-start:none !important;flex:1;text-align:center;}gx-ide-list-selector-item.not-zero{font-weight:var(--mer-font__weight--semi-bold)}gx-ide-list-selector-item:not(:last-child){border-inline-end:1px solid var(--gx-ide-container-border-color)}gx-ide-list-selector-item .label__wrapper{display:inline-flex;width:auto;min-height:0}gx-ide-list-selector-item .label__description{color:var(--status-buttons-label-color);margin-inline-start:var(--mer-spacing--xxs)}gx-ide-list-selector-item .active-indicator{display:inline-block;width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border:1px solid var(--mer-border-color__dim);border-radius:calc(var(--mer-spacing--xs) / 2);background-color:var(--mer-border-color__dim)}gx-ide-list-selector-item input:checked+.label{--status-buttons-label-color:var(--mer-text__on-surface);background-color:inherit}gx-ide-list-selector-item input:checked+.label .active-indicator{background-color:var(--mer-icon__primary);border-color:var(--mer-icon__primary)}gx-ide-list-selector-item:hover input:checked+.label{background-color:var(--ds-item-background-color--hover) !important}:host([compact]) gx-ide-list-selector-item{font-size:var(--mer-font__size--xxs)}:host([compact]) .label__wrapper{gap:var(--mer-spacing--xxs);padding:var(--mer-spacing--xxxs) var(--mer-spacing--xs) var(--mer-spacing--xxxs) var(--mer-spacing--xxs)}:host([compact]) .label__universal-slot{margin-inline-end:var(--mer-spacing--xxxs)}:host([no-border]){border:none}:host([no-border-top]){border-top:none}:host([no-border-end]){border-inline-end:none}:host([no-border-bottom]){border-bottom:none}:host([no-border-start]){border-inline-start:none}:host([no-inner-borders]) gx-ide-list-selector-item{border-inline-end:none}";
9
-
10
- const GxIdeStatusButtons = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.selectionChanged = index.createEvent(this, "selectionChanged", 7);
14
- // 7.LISTENERS //
15
- // 8.PUBLIC METHODS API //
16
- // 9.LOCAL METHODS //
17
- this.evaluateIconsSize = () => {
18
- if (this.compact) {
19
- this.iconsSize = "small";
20
- }
21
- };
22
- this.evaluateLabel = (type) => {
23
- const amount = this[type];
24
- if (this.minimal) {
25
- return `${amount}`;
26
- }
27
- else {
28
- const singular = amount === 1;
29
- return singular
30
- ? `${amount} ${this._componentLocale[type]["singular"]}`
31
- : `${amount} ${this._componentLocale[type]["plural"]}`;
32
- }
33
- };
34
- this.selectionChangedHandler = (e) => {
35
- e.stopPropagation();
36
- this.selectionChanged.emit(e.detail);
37
- };
38
- this.active = false;
39
- this.errors = 0;
40
- this.hideError = false;
41
- this.warnings = 0;
42
- this.hideWarning = false;
43
- this.successes = 0;
44
- this.hideSuccess = false;
45
- this.messages = 0;
46
- this.hideMessage = false;
47
- this.minimal = false;
48
- this.compact = false;
49
- this.noBorder = false;
50
- this.noInnerBorders = false;
51
- this.noBorderTop = false;
52
- this.noBorderEnd = false;
53
- this.noBorderBottom = false;
54
- this.noBorderStart = false;
55
- this.iconsSize = "small";
56
- }
57
- // 6.COMPONENT LIFECYCLE METHODS //
58
- async componentWillLoad() {
59
- this._componentLocale = await locale.Locale.getComponentStrings(this.el);
60
- this.evaluateIconsSize();
61
- }
62
- // 10.RENDER() FUNCTION //
63
- render() {
64
- return (index.h(index.Host, null, index.h("gx-ide-list-selector", { type: "multi-selection", listName: "status-buttons", noListBorder: true, ellipsis: true, iconsSize: this.iconsSize, onSelectionChanged: this.selectionChangedHandler }, !this.hideError ? (index.h("gx-ide-list-selector-item", { itemId: "errors", itemValue: this.evaluateLabel("errors"), icon: "gx-test/result-exception", iconColor: this.errors === 0 ? "disabled" : "auto", class: { "error": true, "not-zero": this.errors !== 0 }, itemChecked: true }, index.h("span", { slot: "universal", class: {
65
- "active-indicator": true
66
- } }))) : null, !this.hideWarning ? (index.h("gx-ide-list-selector-item", { itemId: "warnings", itemValue: this.evaluateLabel("warnings"), icon: "gx-test/result-warning", iconColor: this.warnings === 0 ? "disabled" : "auto", class: { "warning": true, "not-zero": this.warnings !== 0 }, itemChecked: true }, index.h("span", { slot: "universal", class: {
67
- "active-indicator": true
68
- } }))) : null, !this.hideSuccess ? (index.h("gx-ide-list-selector-item", { itemId: "successes", itemValue: this.evaluateLabel("successes"), icon: "gx-test/result-ok", iconColor: this.successes === 0 ? "disabled" : "auto", class: { "success": true, "not-zero": this.successes !== 0 }, itemChecked: true }, index.h("span", { slot: "universal", class: {
69
- "active-indicator": true
70
- } }))) : null, !this.hideMessage ? (index.h("gx-ide-list-selector-item", { itemId: "messages", itemValue: this.evaluateLabel("messages"), icon: "gx-test/screenshot-viewer", iconColor: this.messages === 0 ? "disabled" : "auto", class: { "message": true, "not-zero": this.messages !== 0 }, itemChecked: true }, index.h("span", { slot: "universal", class: {
71
- "active-indicator": true
72
- } }))) : null)));
73
- }
74
- static get assetsDirs() { return ["gx-ide-assets/status-buttons"]; }
75
- get el() { return index.getElement(this); }
76
- };
77
- GxIdeStatusButtons.style = gxIdeStatusButtonsCss;
78
-
79
- const gxgTopStateBarCss = ":host{--top-bar-progress:0%;display:grid;grid-template-rows:0fr;transition:200ms grid-template-rows}:host>*{overflow:hidden}:host(.visible){grid-template-rows:1fr}.top-state-bar{position:relative;border-radius:var(--mer-border__width--lg);list-style:var(--mer-font__size--xxs);display:flex;opacity:0;transition:150ms opacity;}.top-state-bar:before{content:\"\";width:100%;height:100%;position:absolute;background-color:var(--mer-color__elevation--04);z-index:-1}.top-state-bar:after{content:\"\";left:var(--mer-border__width--sm);top:var(--mer-border__width--sm);width:calc(100% - var(--mer-border__width--sm) * 2);height:calc(100% - var(--mer-border__width--sm) * 2);position:absolute;background-color:var(--mer-color__surface);z-index:0;border-radius:var(--mer-border__width--lg)}.top-state-bar>*{position:relative;z-index:1}.top-state-bar__wrapper{flex:1;display:flex;flex-direction:column;gap:var(--mer-spacing--xs);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.top-state-bar__caption{color:var(--mer-text__on-message);font-family:var(--ds-base-font-family-primary);font-size:var(--mer-font__size--xxs);line-height:var(--mer-font__size--xxs);font-weight:var(--mer-font__weight--regular);display:flex;align-items:baseline;font-style:italic}.top-state-bar__progress-wrapper{height:var(--mer-spacing--xxs);background-color:var(--mer-color__elevation--04)}.top-state-bar__close-wrapper{cursor:pointer;border-inline-start:1px solid var(--mer-color__elevation--04);display:flex;align-items:center;transition:200ms background-color}.top-state-bar__close-wrapper:hover .top-state-bar__close{opacity:0.75}.top-state-bar__close-wrapper:active .top-state-bar__close{opacity:0.5}.top-state-bar--accent .progress-bar{background-color:var(--mer-accent__primary)}.top-state-bar--accent .top-state-bar__caption{color:var(--mer-accent__primary)}.top-state-bar--success .progress-bar{background-color:var(--mer-color__message-green--100)}.top-state-bar--success .top-state-bar__caption{color:var(--mer-color__message-green--100)}.top-state-bar--warning .progress-bar{background-color:var(--mer-color__message-yellow--100)}.top-state-bar--warning .top-state-bar__caption{color:var(--mer-color__message-yellow--100)}.top-state-bar--error .progress-bar{background-color:var(--mer-color__message-red--100)}.top-state-bar--error .top-state-bar__caption{color:var(--mer-color__message-red--100)}.top-state-bar--in-progress:before{height:0;width:120%;padding-top:60%;padding-bottom:60%;background:linear-gradient(90deg, #5ba7ff 0%, #3fa89b 100%);top:50%;left:50%;transform:translate(-50%, -50%);-webkit-animation:inProgressBackgroundColor 1s linear infinite;animation:inProgressBackgroundColor 1s linear infinite}.top-state-bar--in-progress .top-state-bar__close-wrapper{border-inline-start-color:#3fa89b;-webkit-animation:inProgressBorderColor 1s linear infinite;animation:inProgressBorderColor 1s linear infinite}.top-state-bar--in-progress .progress-bar{position:relative;overflow:hidden;z-index:1}.top-state-bar--in-progress .progress-bar:after{content:\"\";position:absolute;z-index:0;width:300%;height:100%;left:0;background:linear-gradient(90deg, #93f5eb 0%, #1aa3ff 33%, #93f5eb 66%, #1aa3ff 100%);animation-name:inProgressBar;animation-duration:2s;animation-iteration-count:infinite}.top-state-bar--in-progress .top-state-bar__caption{color:#3fa89b}.top-state-bar--visible{opacity:1}@-webkit-keyframes inProgressBorderColor{0%{border-inline-start-color:#3fa89b}100%{border-inline-start-color:#5ba7ff}}@-webkit-keyframes inProgressBackgroundColor{0%{transform:translate(-50%, -50%) rotate(0)}100%{transform:translate(-50%, -50%) rotate(1turn)}}@-webkit-keyframes inProgressBar{0%{left:0%}100%{left:-200%}}@-moz-keyframes inProgressBar{0%{left:0%}100%{left:200%}}@keyframes inProgressBar{0%{left:0%}100%{left:-200%}}.progress-bar{display:block;transition:all 200ms;width:var(--top-bar-progress);border-radius:calc(var(--mer-spacing--xxs) / 2);height:100%}:host([no-border]) .top-state-bar{position:relative}:host([no-border]) .top-state-bar:before,:host([no-border]) .top-state-bar:after{display:none}:host([no-border]) .top-state-bar__close-wrapper{border-inline-start:none}";
80
-
81
- const GxgTopStateBar = class {
82
- constructor(hostRef) {
83
- // 7.LISTENERS //
84
- // 8.PUBLIC METHODS API //
85
- // 9.LOCAL METHODS //
86
- this.evaluateInitialProgress = () => {
87
- if (this.progress === undefined &&
88
- (this.stateType === "error" ||
89
- this.stateType === "warning" ||
90
- this.stateType === "success")) {
91
- this.progress = 100;
92
- }
93
- else if (this.progress === undefined &&
94
- this.stateType === "in-progress") {
95
- this.progress = 0;
96
- }
97
- this.el.style.setProperty("--top-bar-progress", `${this.progress}%`);
98
- };
99
- this.evaluateWithAction = () => {
100
- if (this.withClose === undefined &&
101
- (this.stateType === "error" ||
102
- this.stateType === "warning" ||
103
- this.stateType === "success")) {
104
- this.withClose = true;
105
- }
106
- };
107
- this.closeButtonHandler = () => {
108
- this.active = false;
109
- };
110
- index.registerInstance(this, hostRef);
111
- this.topStateBarVisible = false;
112
- this.visible = false;
113
- this.caption = undefined;
114
- this.minimal = false;
115
- this.active = false;
116
- this.stateType = "in-progress";
117
- this.progress = undefined;
118
- this.withClose = undefined;
119
- this.autoClose = false;
120
- this.noBorder = false;
121
- this.closedCallback = false;
122
- }
123
- get el() { return index.getElement(this); }
124
- watchActiveHandler(active) {
125
- if (active) {
126
- this.visible = true;
127
- setTimeout(() => {
128
- this.topStateBarVisible = true;
129
- }, 300);
130
- }
131
- else {
132
- this.topStateBarVisible = false;
133
- setTimeout(() => {
134
- this.visible = false;
135
- }, 300);
136
- }
137
- }
138
- watchStateTypeHandler() {
139
- this.evaluateWithAction();
140
- }
141
- watchProgressHandler(progress) {
142
- if (progress => 0 ) {
143
- this.el.style.setProperty("--top-bar-progress", `${progress}%`);
144
- }
145
- if (progress === 100 && this.autoClose) {
146
- setTimeout(() => {
147
- this.active = false;
148
- }, 200);
149
- }
150
- }
151
- // 5.EVENTS (EMIT) //
152
- // 6.COMPONENT LIFECYCLE EVENTS //
153
- componentWillLoad() {
154
- this.evaluateWithAction();
155
- this.evaluateInitialProgress();
156
- if (this.active) {
157
- this.visible = true;
158
- this.topStateBarVisible = true;
159
- }
160
- }
161
- // 10.RENDER() FUNCTION //
162
- render() {
163
- return (index.h(index.Host, { class: { visible: this.visible }, "aria-hidden": !this.active }, index.h("div", { role: "status", "aria-labelledby": "label", "aria-hidden": !this.active, class: {
164
- "top-state-bar": true,
165
- [`top-state-bar--${this.stateType}`]: true,
166
- "top-state-bar--with-close": this.withClose,
167
- "top-state-bar--visible": this.topStateBarVisible
168
- } }, index.h("div", { class: "top-state-bar__wrapper" }, !this.minimal ? (index.h("label", { id: "label", class: {
169
- "top-state-bar__caption": true
170
- }, part: "label" }, this.caption)) : null, index.h("div", { class: {
171
- "top-state-bar__progress-wrapper": true
172
- }, part: "progress-wrapper" }, index.h("span", { class: "progress-bar" }))), this.withClose && !this.minimal ? (index.h("div", { class: "top-state-bar__close-wrapper", onClick: this.closeButtonHandler }, index.h("gxg-icon", { class: {
173
- "top-state-bar__close": true
174
- }, role: "button", "aria-label": "close", type: "gemini-tools/close", color: "mercury-primary", tabIndex: 0 }))) : null)));
175
- }
176
- static get watchers() { return {
177
- "active": ["watchActiveHandler"],
178
- "stateType": ["watchStateTypeHandler"],
179
- "progress": ["watchProgressHandler"]
180
- }; }
181
- };
182
- GxgTopStateBar.style = gxgTopStateBarCss;
183
-
184
- exports.gx_ide_status_buttons = GxIdeStatusButtons;
185
- exports.gxg_top_state_bar = GxgTopStateBar;
186
-
187
- //# sourceMappingURL=gx-ide-status-buttons_2.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"gx-ide-status-buttons.gxg-top-state-bar.entry.cjs.js","mappings":"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","names":["Locale","h","Host"],"sources":["src/components/_helpers/status-buttons/gx-ide-status-buttons.scss?tag=gx-ide-status-buttons&encapsulation=shadow","src/components/_helpers/status-buttons/gx-ide-status-buttons.tsx","node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css?tag=gxg-top-state-bar&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.js"],"sourcesContent":[":host {\n display: block;\n border: 1px solid var(--gx-ide-container-border-color);\n border-radius: var(--ds-form-control-border-radius);\n --status-buttons-label-color: var(--mer-text__on-surface);\n}\n/*list-selector*/\ngx-ide-list-selector::part(list) {\n display: flex;\n flex-direction: row;\n}\n/*list-selector-items*/\ngx-ide-list-selector-item {\n border-block-start: none !important; //reset\n\n &.not-zero {\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &:not(:last-child) {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n flex: 1;\n text-align: center;\n\n .label {\n &__wrapper {\n display: inline-flex;\n width: auto;\n min-height: 0;\n }\n &__description {\n color: var(--status-buttons-label-color);\n margin-inline-start: var(--mer-spacing--xxs);\n }\n }\n\n /*active indicator*/\n .active-indicator {\n display: inline-block;\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border: 1px solid var(--mer-border-color__dim);\n border-radius: calc(var(--mer-spacing--xs) / 2);\n background-color: var(--mer-border-color__dim);\n }\n input:checked {\n + .label {\n --status-buttons-label-color: var(--mer-text__on-surface);\n background-color: inherit;\n\n .active-indicator {\n background-color: var(--mer-icon__primary);\n border-color: var(--mer-icon__primary);\n }\n }\n }\n\n /*hover*/\n &:hover {\n input:checked + .label {\n background-color: var(--ds-item-background-color--hover) !important;\n }\n }\n}\n\n/*--------------------\nCompact size\n--------------------*/\n:host([compact]) {\n gx-ide-list-selector-item {\n font-size: var(--mer-font__size--xxs);\n }\n .label__wrapper {\n gap: var(--mer-spacing--xxs);\n padding: var(--mer-spacing--xxxs) var(--mer-spacing--xs)\n var(--mer-spacing--xxxs) var(--mer-spacing--xxs);\n }\n .label__universal-slot {\n margin-inline-end: var(--mer-spacing--xxxs);\n }\n}\n\n/*--------------------\nAll about borders\n--------------------*/\n:host([no-border]) {\n border: none;\n}\n:host([no-border-top]) {\n border-top: none;\n}\n:host([no-border-end]) {\n border-inline-end: none;\n}\n:host([no-border-bottom]) {\n border-bottom: none;\n}\n:host([no-border-start]) {\n border-inline-start: none;\n}\n:host([no-inner-borders]) {\n gx-ide-list-selector-item {\n border-inline-end: none;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Size } from \"@genexus/gemini/dist/types/components/icon/icon\";\n/* CUSTOM IMPORTS */\nimport { CheckedItemsInfo } from \"../list-selector/list-selector\";\nimport { Locale } from \"../../../common/locale\";\n@Component({\n tag: \"gx-ide-status-buttons\",\n styleUrl: \"gx-ide-status-buttons.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/status-buttons\"]\n})\nexport class GxIdeStatusButtons {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n /**\n * Whether or not the buttons are active\n */\n @Prop() readonly active: boolean = false;\n\n /**\n * The errors amount\n */\n @Prop() readonly errors: number = 0;\n\n /**\n * Hide the errors button\n */\n @Prop() readonly hideError: boolean = false;\n\n /**\n * The warnings amount\n */\n @Prop() readonly warnings: number = 0;\n\n /**\n * Hide the warnings button\n */\n @Prop() readonly hideWarning: boolean = false;\n\n /**\n * The successes amount\n */\n @Prop() readonly successes: number = 0;\n\n /**\n * Hide the successes button\n */\n @Prop() readonly hideSuccess: boolean = false;\n\n /**\n * The messages amount\n */\n @Prop() readonly messages: number = 0;\n\n /**\n * Hide the messages button\n */\n @Prop() readonly hideMessage: boolean = false;\n\n /**\n * Display only the number\n */\n @Prop() readonly minimal: boolean = false;\n\n /**\n * If present will make the component look smaller.\n */\n @Prop({ reflect: true }) readonly compact: boolean = false;\n\n /**\n * No border all around\n */\n @Prop({ reflect: true }) readonly noBorder: boolean = false;\n\n /**\n * No inner borders\n */\n @Prop({ reflect: true }) readonly noInnerBorders: boolean = false;\n\n /**\n * No border on the top\n */\n @Prop({ reflect: true }) readonly noBorderTop: boolean = false;\n\n /**\n * No border on the end\n */\n @Prop({ reflect: true }) readonly noBorderEnd: boolean = false;\n\n /**\n * No border on the bottom\n */\n @Prop({ reflect: true }) readonly noBorderBottom: boolean = false;\n\n /**\n * No border on the start\n */\n @Prop({ reflect: true }) readonly noBorderStart: boolean = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeStatusButtonsElement;\n\n // 3.STATE() VARIABLES //\n\n @State() iconsSize: Size = \"small\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n // 5.EVENTS (EMIT) //\n\n /**\n * Emits the actual selection\n */\n @Event() selectionChanged: EventEmitter<CheckedItemsInfo>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateIconsSize();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateIconsSize = () => {\n if (this.compact) {\n this.iconsSize = \"small\";\n }\n };\n\n private evaluateLabel = (\n type: \"errors\" | \"warnings\" | \"successes\" | \"messages\"\n ): string => {\n const amount = this[type];\n if (this.minimal) {\n return `${amount}`;\n } else {\n const singular: boolean = amount === 1;\n return singular\n ? `${amount} ${this._componentLocale[type][\"singular\"]}`\n : `${amount} ${this._componentLocale[type][\"plural\"]}`;\n }\n };\n\n private selectionChangedHandler = (e: CustomEvent<CheckedItemsInfo>) => {\n e.stopPropagation();\n this.selectionChanged.emit(e.detail);\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <gx-ide-list-selector\n type=\"multi-selection\"\n listName=\"status-buttons\"\n noListBorder\n ellipsis\n iconsSize={this.iconsSize}\n onSelectionChanged={this.selectionChangedHandler}\n >\n {!this.hideError ? (\n <gx-ide-list-selector-item\n itemId=\"errors\"\n itemValue={this.evaluateLabel(\"errors\")}\n icon=\"gx-test/result-exception\"\n iconColor={this.errors === 0 ? \"disabled\" : \"auto\"}\n class={{ \"error\": true, \"not-zero\": this.errors !== 0 }}\n itemChecked\n >\n <span\n slot=\"universal\"\n class={{\n \"active-indicator\": true\n }}\n ></span>\n </gx-ide-list-selector-item>\n ) : null}\n {!this.hideWarning ? (\n <gx-ide-list-selector-item\n itemId=\"warnings\"\n itemValue={this.evaluateLabel(\"warnings\")}\n icon=\"gx-test/result-warning\"\n iconColor={this.warnings === 0 ? \"disabled\" : \"auto\"}\n class={{ \"warning\": true, \"not-zero\": this.warnings !== 0 }}\n itemChecked\n >\n <span\n slot=\"universal\"\n class={{\n \"active-indicator\": true\n }}\n ></span>\n </gx-ide-list-selector-item>\n ) : null}\n {!this.hideSuccess ? (\n <gx-ide-list-selector-item\n itemId=\"successes\"\n itemValue={this.evaluateLabel(\"successes\")}\n icon=\"gx-test/result-ok\"\n iconColor={this.successes === 0 ? \"disabled\" : \"auto\"}\n class={{ \"success\": true, \"not-zero\": this.successes !== 0 }}\n itemChecked\n >\n <span\n slot=\"universal\"\n class={{\n \"active-indicator\": true\n }}\n ></span>\n </gx-ide-list-selector-item>\n ) : null}\n {!this.hideMessage ? (\n <gx-ide-list-selector-item\n itemId=\"messages\"\n itemValue={this.evaluateLabel(\"messages\")}\n icon=\"gx-test/screenshot-viewer\"\n iconColor={this.messages === 0 ? \"disabled\" : \"auto\"}\n class={{ \"message\": true, \"not-zero\": this.messages !== 0 }}\n itemChecked\n >\n <span\n slot=\"universal\"\n class={{\n \"active-indicator\": true\n }}\n ></span>\n </gx-ide-list-selector-item>\n ) : null}\n </gx-ide-list-selector>\n </Host>\n );\n }\n}\n",":host {\n --top-bar-progress: 0%;\n display: grid;\n grid-template-rows: 0fr;\n transition: 200ms grid-template-rows;\n}\n:host > * {\n overflow: hidden;\n}\n\n:host(.visible) {\n grid-template-rows: 1fr;\n}\n\n.top-state-bar {\n position: relative;\n border-radius: var(--mer-border__width--lg);\n list-style: var(--mer-font__size--xxs);\n display: flex;\n opacity: 0;\n transition: 150ms opacity;\n /*states*/\n}\n.top-state-bar:before {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n background-color: var(--mer-color__elevation--04);\n z-index: -1;\n}\n.top-state-bar:after {\n content: \"\";\n left: var(--mer-border__width--sm);\n top: var(--mer-border__width--sm);\n width: calc(100% - var(--mer-border__width--sm) * 2);\n height: calc(100% - var(--mer-border__width--sm) * 2);\n position: absolute;\n background-color: var(--mer-color__surface);\n z-index: 0;\n border-radius: var(--mer-border__width--lg);\n}\n.top-state-bar > * {\n position: relative;\n z-index: 1;\n}\n.top-state-bar__wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n padding: var(--mer-spacing--sm) var(--mer-spacing--sm);\n}\n.top-state-bar__caption {\n color: var(--mer-text__on-message);\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--mer-font__size--xxs);\n line-height: var(--mer-font__size--xxs);\n font-weight: var(--mer-font__weight--regular);\n display: flex;\n align-items: baseline;\n font-style: italic;\n}\n.top-state-bar__progress-wrapper {\n height: var(--mer-spacing--xxs);\n background-color: var(--mer-color__elevation--04);\n}\n.top-state-bar__close-wrapper {\n cursor: pointer;\n border-inline-start: 1px solid var(--mer-color__elevation--04);\n display: flex;\n align-items: center;\n transition: 200ms background-color;\n}\n.top-state-bar__close-wrapper:hover .top-state-bar__close {\n opacity: 0.75;\n}\n.top-state-bar__close-wrapper:active .top-state-bar__close {\n opacity: 0.5;\n}\n.top-state-bar--accent .progress-bar {\n background-color: var(--mer-accent__primary);\n}\n.top-state-bar--accent .top-state-bar__caption {\n color: var(--mer-accent__primary);\n}\n.top-state-bar--success .progress-bar {\n background-color: var(--mer-color__message-green--100);\n}\n.top-state-bar--success .top-state-bar__caption {\n color: var(--mer-color__message-green--100);\n}\n.top-state-bar--warning .progress-bar {\n background-color: var(--mer-color__message-yellow--100);\n}\n.top-state-bar--warning .top-state-bar__caption {\n color: var(--mer-color__message-yellow--100);\n}\n.top-state-bar--error .progress-bar {\n background-color: var(--mer-color__message-red--100);\n}\n.top-state-bar--error .top-state-bar__caption {\n color: var(--mer-color__message-red--100);\n}\n.top-state-bar--in-progress:before {\n height: 0;\n width: 120%;\n padding-top: 60%;\n padding-bottom: 60%;\n background: linear-gradient(90deg, #5ba7ff 0%, #3fa89b 100%);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n -webkit-animation: inProgressBackgroundColor 1s linear infinite;\n animation: inProgressBackgroundColor 1s linear infinite;\n}\n.top-state-bar--in-progress .top-state-bar__close-wrapper {\n border-inline-start-color: #3fa89b;\n -webkit-animation: inProgressBorderColor 1s linear infinite;\n animation: inProgressBorderColor 1s linear infinite;\n}\n.top-state-bar--in-progress .progress-bar {\n position: relative;\n overflow: hidden;\n z-index: 1;\n}\n.top-state-bar--in-progress .progress-bar:after {\n content: \"\";\n position: absolute;\n z-index: 0;\n width: 300%;\n height: 100%;\n left: 0;\n background: linear-gradient(90deg, #93f5eb 0%, #1aa3ff 33%, #93f5eb 66%, #1aa3ff 100%);\n animation-name: inProgressBar;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n}\n.top-state-bar--in-progress .top-state-bar__caption {\n color: #3fa89b;\n}\n.top-state-bar--visible {\n opacity: 1;\n}\n\n/*in progress animation*/\n@-webkit-keyframes inProgressBorderColor {\n 0% {\n border-inline-start-color: #3fa89b;\n }\n 100% {\n border-inline-start-color: #5ba7ff;\n }\n}\n@-webkit-keyframes inProgressBackgroundColor {\n 0% {\n transform: translate(-50%, -50%) rotate(0);\n }\n 100% {\n transform: translate(-50%, -50%) rotate(1turn);\n }\n}\n@-webkit-keyframes inProgressBar {\n 0% {\n left: 0%;\n }\n 100% {\n left: -200%;\n }\n}\n@-moz-keyframes inProgressBar {\n 0% {\n left: 0%;\n }\n 100% {\n left: 200%;\n }\n}\n@keyframes inProgressBar {\n 0% {\n left: 0%;\n }\n 100% {\n left: -200%;\n }\n}\n.progress-bar {\n display: block;\n transition: all 200ms;\n width: var(--top-bar-progress);\n border-radius: calc(var(--mer-spacing--xxs) / 2);\n height: 100%;\n}\n\n:host([no-border]) .top-state-bar {\n position: relative;\n}\n:host([no-border]) .top-state-bar:before, :host([no-border]) .top-state-bar:after {\n display: none;\n}\n:host([no-border]) .top-state-bar__close-wrapper {\n border-inline-start: none;\n}","import { Host, h } from \"@stencil/core\";\nexport class GxgTopStateBar {\n constructor() {\n this.topStateBarVisible = false;\n this.visible = false;\n this.caption = undefined;\n this.minimal = false;\n this.active = false;\n this.stateType = \"in-progress\";\n this.progress = undefined;\n this.withClose = undefined;\n this.autoClose = false;\n this.noBorder = false;\n this.closedCallback = false;\n }\n /*\n INDEX:\n 1.OWN PROPERTIES\n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE METHODS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTION\n */\n // 1.OWN PROPERTIES //\n // 2. REFERENCE TO ELEMENTS //\n el;\n watchActiveHandler(active) {\n if (active) {\n this.visible = true;\n setTimeout(() => {\n this.topStateBarVisible = true;\n }, 300);\n }\n else {\n this.topStateBarVisible = false;\n setTimeout(() => {\n this.visible = false;\n }, 300);\n }\n }\n watchStateTypeHandler() {\n this.evaluateWithAction();\n }\n watchProgressHandler(progress) {\n if (progress => 0 && progress <= 100) {\n this.el.style.setProperty(\"--top-bar-progress\", `${progress}%`);\n }\n if (progress === 100 && this.autoClose) {\n setTimeout(() => {\n this.active = false;\n }, 200);\n }\n }\n // 5.EVENTS (EMIT) //\n // 6.COMPONENT LIFECYCLE EVENTS //\n componentWillLoad() {\n this.evaluateWithAction();\n this.evaluateInitialProgress();\n if (this.active) {\n this.visible = true;\n this.topStateBarVisible = true;\n }\n }\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n evaluateInitialProgress = () => {\n if (this.progress === undefined &&\n (this.stateType === \"error\" ||\n this.stateType === \"warning\" ||\n this.stateType === \"success\")) {\n this.progress = 100;\n }\n else if (this.progress === undefined &&\n this.stateType === \"in-progress\") {\n this.progress = 0;\n }\n this.el.style.setProperty(\"--top-bar-progress\", `${this.progress}%`);\n };\n evaluateWithAction = () => {\n if (this.withClose === undefined &&\n (this.stateType === \"error\" ||\n this.stateType === \"warning\" ||\n this.stateType === \"success\")) {\n this.withClose = true;\n }\n };\n closeButtonHandler = () => {\n this.active = false;\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, { class: { visible: this.visible }, \"aria-hidden\": !this.active }, h(\"div\", { role: \"status\", \"aria-labelledby\": \"label\", \"aria-hidden\": !this.active, class: {\n \"top-state-bar\": true,\n [`top-state-bar--${this.stateType}`]: true,\n \"top-state-bar--with-close\": this.withClose,\n \"top-state-bar--visible\": this.topStateBarVisible\n } }, h(\"div\", { class: \"top-state-bar__wrapper\" }, !this.minimal ? (h(\"label\", { id: \"label\", class: {\n \"top-state-bar__caption\": true\n }, part: \"label\" }, this.caption)) : null, h(\"div\", { class: {\n \"top-state-bar__progress-wrapper\": true\n }, part: \"progress-wrapper\" }, h(\"span\", { class: \"progress-bar\" }))), this.withClose && !this.minimal ? (h(\"div\", { class: \"top-state-bar__close-wrapper\", onClick: this.closeButtonHandler }, h(\"gxg-icon\", { class: {\n \"top-state-bar__close\": true\n }, role: \"button\", \"aria-label\": \"close\", type: \"gemini-tools/close\", color: \"mercury-primary\", tabIndex: 0 }))) : null)));\n }\n static get is() { return \"gxg-top-state-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"gxg-top-state-bar.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"gxg-top-state-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"caption\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The top-bar title\"\n },\n \"attribute\": \"caption\",\n \"reflect\": false\n },\n \"minimal\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"It will only display the bar (no title, no close button)\"\n },\n \"attribute\": \"minimal\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"active\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The top-bar active state. If false it will be hidden\"\n },\n \"attribute\": \"active\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"stateType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"topStateBarType\",\n \"resolved\": \"\\\"accent\\\" | \\\"error\\\" | \\\"in-progress\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"topStateBarType\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/top-state-bar/gxg-top-state-bar.tsx\",\n \"id\": \"src/components/top-state-bar/gxg-top-state-bar.tsx::topStateBarType\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The top-bar title\"\n },\n \"attribute\": \"state-type\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"in-progress\\\"\"\n },\n \"progress\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The progress bar progress\"\n },\n \"attribute\": \"progress\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"withClose\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"It will display a close action button\"\n },\n \"attribute\": \"with-close\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"autoClose\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"It true, it will auto-close when the progress is 100\"\n },\n \"attribute\": \"auto-close\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"noBorder\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"It removes the border (actually is box shadow)\"\n },\n \"attribute\": \"no-border\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"closedCallback\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A callback that gets called when the top-state-bar is closed\"\n },\n \"attribute\": \"closed-callback\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"topStateBarVisible\": {},\n \"visible\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"active\",\n \"methodName\": \"watchActiveHandler\"\n }, {\n \"propName\": \"stateType\",\n \"methodName\": \"watchStateTypeHandler\"\n }, {\n \"propName\": \"progress\",\n \"methodName\": \"watchProgressHandler\"\n }];\n }\n}\n//# sourceMappingURL=gxg-top-state-bar.js.map\n"],"version":3}
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-5ab4492a.js');
6
-
7
- const buttonsContainerCss = ":host{--ds-background-color-disabled:transparent;--ds-border-color-disabled:transparent;display:block}:host .container{background-color:var(--mer-elevation__background-color--01);border:var(--mer-elevation__border-01);box-shadow:var(--mer-elevation__box-shadow--01);box-shadow:none;display:inline-flex;align-items:center;padding:var(--gxg-buttons-group__padding);box-sizing:border-box;gap:var(--gxg-buttons-group__gap);border-radius:var(--gxg-buttons-group__border-radius);border:1px solid var(--mer-color__elevation__03)}:host .container--reduced{height:calc(var(--gxg-form-text-height) + 2px);--gxg-button-height:100%}:host .container--reduced ::slotted(gxg-button){height:100%}:host ::slotted(.button--unselected){--gxg-button-primary-border-color:transparent;--gxg-button-primary-bg-color:var(\n --gxg-button-unselected-bg-color--enabled\n );--gxg-button-primary-color:var(--gxg-button-unselected-color--enabled)}";
8
-
9
- const GxgButtonsContainer = class {
10
- constructor(hostRef) {
11
- // 7.LISTENERS //
12
- // 8.PUBLIC METHODS API //
13
- // 9.LOCAL METHODS //
14
- this.setSelectedButton = (event) => {
15
- const tagName = event.target.tagName;
16
- if (tagName !== "GXG-BUTTON") {
17
- //clicked button is disabled
18
- return;
19
- }
20
- else {
21
- const clickedButton = event.target;
22
- if (clickedButton.disabled || clickedButton.selected) {
23
- //button is disabled or is the current selected
24
- return;
25
- }
26
- const gxgButtonsHtmlCollection = this.el.children;
27
- Array.from(gxgButtonsHtmlCollection).forEach(function (button) {
28
- if (button.selected) {
29
- button.selected = false;
30
- }
31
- });
32
- clickedButton.selected = true;
33
- this.selectedButtonChanged.emit(clickedButton.id);
34
- this.updateSelectedButtonId();
35
- }
36
- };
37
- this.updateSelectedButtonId = () => {
38
- const gxgButtonsHtmlCollection = this.el.children;
39
- const selectedButton = Array.from(gxgButtonsHtmlCollection).find((button) => {
40
- return button.selected && !button.disabled;
41
- });
42
- if (selectedButton) {
43
- this.selectedButtonId = selectedButton.id;
44
- }
45
- };
46
- index.registerInstance(this, hostRef);
47
- this.selectedButtonChanged = index.createEvent(this, "selectedButtonChanged", 7);
48
- this.selectedButtonId = undefined;
49
- this.reduced = false;
50
- }
51
- get el() { return index.getElement(this); }
52
- // 6.COMPONENT LIFECYCLE METHODS //
53
- componentDidLoad() {
54
- this.updateSelectedButtonId();
55
- }
56
- // 10.RENDER() FUNCTION //
57
- render() {
58
- return (index.h(index.Host, null, index.h("div", { class: { container: true, "container--reduced": this.reduced }, ref: el => (this.containerEl = el), onClick: this.setSelectedButton }, index.h("slot", null))));
59
- }
60
- };
61
- GxgButtonsContainer.style = buttonsContainerCss;
62
-
63
- exports.gxg_buttons_container = GxgButtonsContainer;
64
-
65
- //# sourceMappingURL=gxg-buttons-container.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"gxg-buttons-container.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,mBAAmB,GAAG,25BAA25B;;MCC16B,mBAAmB;IAC5B;;;;QAkBA,sBAAiB,GAAG,CAAC,KAAK;YACtB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,IAAI,OAAO,KAAK,YAAY,EAAE;;gBAE1B,OAAO;aACV;iBACI;gBACD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;gBACnC,IAAI,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,EAAE;;oBAElD,OAAO;iBACV;gBACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;oBACzD,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACjB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;qBAC3B;iBACJ,CAAC,CAAC;gBACH,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;SACJ,CAAC;QACF,2BAAsB,GAAG;YACrB,MAAM,wBAAwB,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;YAClD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;gBACpE,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC9C,CAAC,CAAC;YACH,IAAI,cAAc,EAAE;gBAChB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;aAC7C;SACJ,CAAC;;;QAhDE,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACxB;;;IASD,gBAAgB;QACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAqCD,MAAM;QACF,QAAQA,OAAC,CAACC,UAAI,EAAE,IAAI,EAAED,OAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAEA,OAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;KAC9L;;;;;;","names":["h","Host"],"sources":["node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.css?tag=gxg-buttons-container&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.js"],"sourcesContent":["/*--- Elevation ---*/\n:host {\n --ds-background-color-disabled: transparent;\n --ds-border-color-disabled: transparent;\n display: block;\n}\n:host .container {\n background-color: var(--mer-elevation__background-color--01);\n border: var(--mer-elevation__border-01);\n box-shadow: var(--mer-elevation__box-shadow--01);\n box-shadow: none;\n display: inline-flex;\n align-items: center;\n padding: var(--gxg-buttons-group__padding);\n box-sizing: border-box;\n gap: var(--gxg-buttons-group__gap);\n border-radius: var(--gxg-buttons-group__border-radius);\n border: 1px solid var(--mer-color__elevation__03);\n}\n:host .container--reduced {\n height: calc(var(--gxg-form-text-height) + 2px);\n --gxg-button-height: 100%;\n}\n:host .container--reduced ::slotted(gxg-button) {\n height: 100%;\n}\n:host ::slotted(.button--unselected) {\n --gxg-button-primary-border-color: transparent;\n --gxg-button-primary-bg-color: var(\n --gxg-button-unselected-bg-color--enabled\n );\n --gxg-button-primary-color: var(--gxg-button-unselected-color--enabled);\n}","import { Host, h } from \"@stencil/core\";\nexport class GxgButtonsContainer {\n constructor() {\n this.selectedButtonId = undefined;\n this.reduced = false;\n }\n el;\n containerEl;\n // 2. REFERENCE TO ELEMENTS //\n // 3.STATE() VARIABLES //\n // 4.PUBLIC PROPERTY API | WATCH'S //\n // 5.EVENTS (EMIT) //\n selectedButtonChanged;\n // 6.COMPONENT LIFECYCLE METHODS //\n componentDidLoad() {\n this.updateSelectedButtonId();\n }\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n setSelectedButton = (event) => {\n const tagName = event.target.tagName;\n if (tagName !== \"GXG-BUTTON\") {\n //clicked button is disabled\n return;\n }\n else {\n const clickedButton = event.target;\n if (clickedButton.disabled || clickedButton.selected) {\n //button is disabled or is the current selected\n return;\n }\n const gxgButtonsHtmlCollection = this.el.children;\n Array.from(gxgButtonsHtmlCollection).forEach(function (button) {\n if (button.selected) {\n button.selected = false;\n }\n });\n clickedButton.selected = true;\n this.selectedButtonChanged.emit(clickedButton.id);\n this.updateSelectedButtonId();\n }\n };\n updateSelectedButtonId = () => {\n const gxgButtonsHtmlCollection = this.el.children;\n const selectedButton = Array.from(gxgButtonsHtmlCollection).find((button) => {\n return button.selected && !button.disabled;\n });\n if (selectedButton) {\n this.selectedButtonId = selectedButton.id;\n }\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, null, h(\"div\", { class: { container: true, \"container--reduced\": this.reduced }, ref: el => (this.containerEl = el), onClick: this.setSelectedButton }, h(\"slot\", null))));\n }\n static get is() { return \"gxg-buttons-container\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"buttons-container.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"buttons-container.css\"]\n };\n }\n static get properties() {\n return {\n \"selectedButtonId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The id of the currently selected button, or null if all are disabled\"\n },\n \"attribute\": \"selected-button-id\",\n \"reflect\": false\n },\n \"reduced\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Used to reduce the height when the button-container is next to a form-text\"\n },\n \"attribute\": \"reduced\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"selectedButtonChanged\",\n \"name\": \"selectedButtonChanged\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=buttons-container.js.map\n"],"version":3}
@@ -1,128 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-5ab4492a.js');
6
- const form = require('./form-487189d7.js');
7
- const classesNames = require('./classesNames-789a05af.js');
8
- const detectClickOutside = require('./detect-click-outside-995ccc90.js');
9
-
10
- const titleEditableCss = ":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(.gxg-validation--warning) .form-element{border-color:var(--ds-border-color--warning)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--ds-border-color--warning);border-color:var(--ds-border-color--warning)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--warning)}:host(.gxg-validation--error) .form-element{border-color:var(--ds-border-color--error)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--ds-border-color--error);border-color:var(--ds-border-color--error)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--error)}:host(.gxg-validation--success) .form-element{border-color:var(--ds-border-color--success)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--ds-border-color--success);border-color:var(--ds-border-color--success)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--success)}.tooltip-outer-wrapper{display:grid;grid-template-columns:0fr;transition:grid-template-columns var(--timing-02)}:host(.tooltip--visible) .tooltip-outer-wrapper{grid-template-columns:1fr}.tooltip-inner-wrapper{--margin-inline-start:6px;overflow:hidden;transition:150ms width;width:0}.tooltip-inner-wrapper gxg-icon{display:flex;position:relative !important;top:0 !important;transform:none !important;margin-inline-start:var(--margin-inline-start);box-sizing:border-box}.tooltip-inner-wrapper--visible{width:calc(var(--ds-icon-size-box--small) + var(--margin-inline-start))}.tooltip-inner-wrapper--hidden{display:none}:host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--ds-background-color-disabled) !important;color:var(--ds-color--disabled) !important;border-color:var(--ds-border-color-disabled) !important;cursor:default !important}:host{display:block;color:var(--gxg-title-editable__color)}:host .wrapper{font-family:var(--ds-base-font-family-primary);position:relative;max-width:100%}:host input{font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;color:inherit;background-color:transparent;border:none;padding:0;box-sizing:border-box;flex-grow:1;cursor:auto;border-bottom:2px solid transparent}:host input:focus{outline:none}.wrapper{display:flex;align-items:center;gap:var(--gxg-title-editable-wrapper__gap);font-weight:var(--gxg-title-editable__font-weight)}:host(:not([editing])) input{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([click-to-edit]:not([disable-edition])) .wrapper,:host([click-to-edit]:not([disable-edition])) input{cursor:pointer}:host([title-type=h1]) .wrapper{font-size:var(--gxg-title-editable-h1__font-size);text-transform:capitalize}:host([title-type=h2]) .wrapper{font-size:var(--gxg-title-editable-h2__font-size)}:host([fluid]) .wrapper{display:inline-flex}:host(.focus--text.editing) input{color:var(--gxg-title-editable__color--editing)}:host(.focus--line.editing) input{border-bottom-color:var(--gxg-title-editable__color--editing)}.ghost{font-family:inherit;font-size:inherit;position:fixed;visibility:hidden;height:auto;width:auto;white-space:nowrap;bottom:0;left:0;transform:translate(-100%, -100%)}.right-wrapper{display:flex;align-items:center}";
11
-
12
- const GxgTitleEditable = class {
13
- constructor(hostRef) {
14
- /*PRIVATE METHODS*/
15
- this.edit = () => {
16
- this.editing = true;
17
- this.positionCursorAtTheEnd();
18
- };
19
- this.wrapperClickedHandler = () => {
20
- this.editing = true;
21
- };
22
- this.positionCursorAtTheEnd = () => {
23
- this.textInput.selectionStart = this.textInput.selectionEnd =
24
- this.textInput.value.length;
25
- this.textInput.focus();
26
- };
27
- this.inputKeyDownHandler = (e) => {
28
- if (e.key === "Enter" || e.key === "Escape") {
29
- e.preventDefault();
30
- this.editing = false;
31
- this.editButtonEl.focus();
32
- }
33
- else if (this.fluid) {
34
- this.setInputWidth();
35
- }
36
- };
37
- this.detectClickOutsideFunc = (e) => {
38
- const clickedOutside = detectClickOutside.detectClickOutside(e, this.wrapperEl);
39
- if (clickedOutside) {
40
- this.editing = false;
41
- }
42
- };
43
- this.setInputWidth = () => {
44
- this.textInput.style.width = this.value.length + 1 + "ch";
45
- };
46
- this.inputInputHandler = () => {
47
- this.value = this.textInput.value;
48
- if (this.fluid) {
49
- this.ghostDiv.innerText = this.value;
50
- this.updateInputWidth();
51
- }
52
- };
53
- this.updateInputWidth = () => {
54
- if (this.fluid) {
55
- const ghostDivWidth = this.ghostDiv.getBoundingClientRect().width;
56
- this.textInput.style.width = `${ghostDivWidth}px`;
57
- }
58
- };
59
- index.registerInstance(this, hostRef);
60
- this.valueChanged = index.createEvent(this, "valueChanged", 7);
61
- this.value = undefined;
62
- this.titleType = "h1";
63
- this.disableEdition = false;
64
- this.debounce = false;
65
- this.debounceDelay = 800;
66
- this.disabled = false;
67
- this.clickToEdit = false;
68
- this.fluid = false;
69
- this.focusType = undefined;
70
- this.validationStatus = "indeterminate";
71
- this.validationMessage = undefined;
72
- this.hideTooltip = false;
73
- this.editing = false;
74
- }
75
- get el() { return index.getElement(this); }
76
- watchValueHandler(newValue) {
77
- if (this.debounce) {
78
- clearTimeout(this.timeoutReference);
79
- this.timeoutReference = setTimeout(() => {
80
- this.valueChanged.emit(newValue);
81
- }, this.debounceDelay);
82
- }
83
- else {
84
- this.valueChanged.emit(newValue);
85
- }
86
- }
87
- watchEditingHandler(editing) {
88
- if (editing) {
89
- document.addEventListener("click", this.detectClickOutsideFunc);
90
- }
91
- else {
92
- document.removeEventListener("click", this.detectClickOutsideFunc);
93
- }
94
- }
95
- /*COMPONENT LIFECYCLE METHODS*/
96
- componentDidLoad() {
97
- if (this.fluid) {
98
- this.inputInputHandler();
99
- }
100
- }
101
- /*RENDER*/
102
- render() {
103
- return (index.h(index.Host, { class: {
104
- editing: this.editing,
105
- "focus--text": this.focusType === "text",
106
- "focus--line": this.focusType === "line",
107
- [classesNames.formClasses["VALIDATION_INDETERMINATE_CLASS"]]: this.validationStatus === "indeterminate",
108
- [classesNames.formClasses["VALIDATION_WARNING_CLASS"]]: this.validationStatus === "warning",
109
- [classesNames.formClasses["VALIDATION_ERROR_CLASS"]]: this.validationStatus === "error",
110
- [classesNames.formClasses["VALIDATION_SUCCESS_CLASS"]]: this.validationStatus === "success",
111
- [classesNames.commonClassesNames["DISABLED_CLASS"]]: this.disabled
112
- } }, index.h("div", { onMouseUp: this.clickToEdit &&
113
- !this.editing &&
114
- !this.disableEdition &&
115
- this.wrapperClickedHandler, class: {
116
- wrapper: true
117
- }, ref: el => (this.wrapperEl = el) }, this.fluid ? (index.h("div", { class: "ghost", ref: el => (this.ghostDiv = el) })) : null, index.h("input", { type: "text", value: this.value, readOnly: !this.editing, ref: el => (this.textInput = el), onKeyDown: this.inputKeyDownHandler, onInput: this.inputInputHandler, tabIndex: this.editing ? 0 : -1 }), index.h("div", { class: "right-wrapper" }, !this.disableEdition ? (index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/edit", onClick: this.edit, ref: el => (this.editButtonEl = el) })) : null, form.formTooltipLogic(this, this.hideTooltip)))));
118
- }
119
- static get watchers() { return {
120
- "value": ["watchValueHandler"],
121
- "editing": ["watchEditingHandler"]
122
- }; }
123
- };
124
- GxgTitleEditable.style = titleEditableCss;
125
-
126
- exports.gxg_title_editable = GxgTitleEditable;
127
-
128
- //# sourceMappingURL=gxg-title-editable.cjs.entry.js.map