@genexus/genexus-ide-ui 0.0.73 → 0.0.74

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 (397) hide show
  1. package/dist/cjs/ch-grid_8.cjs.entry.js +1 -1
  2. package/dist/cjs/ch-suggest_4.cjs.entry.js +1 -1
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +160 -32
  5. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +75 -0
  6. package/dist/cjs/gx-ide-container_3.cjs.entry.js +253 -0
  7. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +1 -1
  10. package/dist/cjs/gxg-accordion-item.cjs.entry.js +1 -1
  11. package/dist/cjs/gxg-accordion.cjs.entry.js +1 -1
  12. package/dist/cjs/gxg-alert.cjs.entry.js +1 -1
  13. package/dist/cjs/gxg-box.cjs.entry.js +2 -2
  14. package/dist/cjs/gxg-button-group_3.cjs.entry.js +2 -2
  15. package/dist/cjs/gxg-button_2.cjs.entry.js +2 -2
  16. package/dist/cjs/gxg-card.cjs.entry.js +1 -1
  17. package/dist/cjs/gxg-color-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/gxg-column.cjs.entry.js +1 -1
  19. package/dist/cjs/gxg-columns.cjs.entry.js +1 -1
  20. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-container.cjs.entry.js +1 -1
  22. package/dist/cjs/gxg-contextual-menu-item.cjs.entry.js +1 -1
  23. package/dist/cjs/gxg-contextual-menu-submenu.cjs.entry.js +1 -1
  24. package/dist/cjs/gxg-contextual-menu.cjs.entry.js +1 -1
  25. package/dist/cjs/gxg-demo.cjs.entry.js +1 -1
  26. package/dist/cjs/gxg-drag-box.cjs.entry.js +1 -1
  27. package/dist/cjs/gxg-drag-container.cjs.entry.js +1 -1
  28. package/dist/cjs/gxg-drop-down.cjs.entry.js +1 -1
  29. package/dist/cjs/gxg-filter.cjs.entry.js +1 -1
  30. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +1 -1
  31. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/gxg-form-message.cjs.entry.js +1 -1
  33. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +1 -1
  34. package/dist/cjs/gxg-form-radio.cjs.entry.js +1 -1
  35. package/dist/cjs/gxg-form-text.cjs.entry.js +422 -0
  36. package/dist/cjs/gxg-form-textarea.cjs.entry.js +12 -8
  37. package/dist/cjs/gxg-label_2.cjs.entry.js +2 -2
  38. package/dist/cjs/gxg-list-box_2.cjs.entry.js +2 -2
  39. package/dist/cjs/gxg-loader.cjs.entry.js +1 -1
  40. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  41. package/dist/cjs/gxg-menu-slim-item.cjs.entry.js +1 -1
  42. package/dist/cjs/gxg-menu-slim-list.cjs.entry.js +1 -1
  43. package/dist/cjs/gxg-menu-slim.cjs.entry.js +1 -1
  44. package/dist/cjs/gxg-menu.cjs.entry.js +1 -1
  45. package/dist/cjs/gxg-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/gxg-more-info.cjs.entry.js +1 -1
  47. package/dist/cjs/gxg-option.cjs.entry.js +1 -1
  48. package/dist/cjs/gxg-options.cjs.entry.js +1 -1
  49. package/dist/cjs/gxg-pill.cjs.entry.js +1 -1
  50. package/dist/cjs/gxg-progress-bar.cjs.entry.js +1 -1
  51. package/dist/cjs/gxg-scroll.cjs.entry.js +1 -1
  52. package/dist/cjs/gxg-select.cjs.entry.js +1 -1
  53. package/dist/cjs/gxg-separator.cjs.entry.js +1 -1
  54. package/dist/cjs/gxg-slider.cjs.entry.js +1 -1
  55. package/dist/cjs/gxg-spacer-layout.cjs.entry.js +1 -1
  56. package/dist/cjs/gxg-spacer-one.cjs.entry.js +1 -1
  57. package/dist/cjs/gxg-stack.cjs.entry.js +1 -1
  58. package/dist/cjs/gxg-stepper.cjs.entry.js +1 -1
  59. package/dist/cjs/gxg-tab_4.cjs.entry.js +4 -4
  60. package/dist/cjs/gxg-test.cjs.entry.js +2 -2
  61. package/dist/cjs/gxg-text.cjs.entry.js +1 -1
  62. package/dist/cjs/gxg-title-editable.cjs.entry.js +45 -3
  63. package/dist/cjs/gxg-toggle.cjs.entry.js +1 -1
  64. package/dist/cjs/gxg-toolbar-item.cjs.entry.js +1 -1
  65. package/dist/cjs/gxg-toolbar.cjs.entry.js +1 -1
  66. package/dist/cjs/gxg-tree-item.cjs.entry.js +1 -1
  67. package/dist/cjs/gxg-tree.cjs.entry.js +1 -1
  68. package/dist/cjs/gxg-window.cjs.entry.js +1 -1
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/collection/collection-manifest.json +2 -1
  71. package/dist/collection/components/_helpers/container/container.css +10 -6
  72. package/dist/collection/components/_helpers/directory-selector/directory-selector.css +5 -3
  73. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +5 -3
  74. package/dist/collection/components/ai-assistant/ai-assistant.css +404 -138
  75. package/dist/collection/components/ai-assistant/ai-assistant.js +204 -37
  76. package/dist/collection/components/ai-assistant/ai-message.css +186 -0
  77. package/dist/collection/components/ai-assistant/ai-message.js +160 -0
  78. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +2 -1
  79. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +4 -0
  80. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +3 -0
  81. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +3 -0
  82. package/dist/collection/components/file-selector/file-selector.css +5 -3
  83. package/dist/components/ai-message.js +105 -0
  84. package/dist/components/button-group.js +1 -1
  85. package/dist/components/button.js +1 -1
  86. package/dist/components/combo-box.js +1 -1
  87. package/dist/components/container.js +1 -1
  88. package/dist/components/date-picker.js +1 -1
  89. package/dist/components/entity-selector.js +1 -1
  90. package/dist/components/form-checkbox.js +1 -1
  91. package/dist/components/form-radio-group.js +1 -1
  92. package/dist/components/form-radio.js +1 -1
  93. package/dist/components/form-text.js +3 -3
  94. package/dist/components/form-textarea.js +14 -10
  95. package/dist/components/gx-ide-ai-assistant.js +198 -38
  96. package/dist/components/gx-ide-ai-message.d.ts +11 -0
  97. package/dist/components/gx-ide-ai-message.js +6 -0
  98. package/dist/components/gx-ide-directory-selector.js +1 -1
  99. package/dist/components/gx-ide-file-selector.js +1 -1
  100. package/dist/components/gxg-accordion-item.js +1 -1
  101. package/dist/components/gxg-accordion.js +1 -1
  102. package/dist/components/gxg-alert.js +1 -1
  103. package/dist/components/gxg-box.js +2 -2
  104. package/dist/components/gxg-card.js +1 -1
  105. package/dist/components/gxg-color-picker.js +1 -1
  106. package/dist/components/gxg-column.js +1 -1
  107. package/dist/components/gxg-columns.js +1 -1
  108. package/dist/components/gxg-container.js +1 -1
  109. package/dist/components/gxg-contextual-menu-item.js +1 -1
  110. package/dist/components/gxg-contextual-menu-submenu.js +1 -1
  111. package/dist/components/gxg-contextual-menu.js +1 -1
  112. package/dist/components/gxg-demo.js +1 -1
  113. package/dist/components/gxg-drag-box.js +1 -1
  114. package/dist/components/gxg-drag-container.js +1 -1
  115. package/dist/components/gxg-drop-down.js +1 -1
  116. package/dist/components/gxg-filter.js +1 -1
  117. package/dist/components/gxg-form-checkbox-group2.js +1 -1
  118. package/dist/components/gxg-form-message.js +1 -1
  119. package/dist/components/gxg-grid2.js +1 -1
  120. package/dist/components/gxg-label2.js +1 -1
  121. package/dist/components/gxg-loader.js +1 -1
  122. package/dist/components/gxg-menu-item.js +1 -1
  123. package/dist/components/gxg-menu-slim-item.js +1 -1
  124. package/dist/components/gxg-menu-slim-list.js +1 -1
  125. package/dist/components/gxg-menu-slim.js +1 -1
  126. package/dist/components/gxg-menu.js +1 -1
  127. package/dist/components/gxg-modal.js +1 -1
  128. package/dist/components/gxg-more-info.js +1 -1
  129. package/dist/components/gxg-option.js +1 -1
  130. package/dist/components/gxg-options.js +1 -1
  131. package/dist/components/gxg-pill.js +1 -1
  132. package/dist/components/gxg-progress-bar.js +1 -1
  133. package/dist/components/gxg-scroll.js +1 -1
  134. package/dist/components/gxg-select.js +1 -1
  135. package/dist/components/gxg-separator.js +1 -1
  136. package/dist/components/gxg-slider.js +1 -1
  137. package/dist/components/gxg-spacer-layout.js +1 -1
  138. package/dist/components/gxg-spacer-one.js +1 -1
  139. package/dist/components/gxg-stack.js +1 -1
  140. package/dist/components/gxg-stepper.js +1 -1
  141. package/dist/components/gxg-test.js +3 -81
  142. package/dist/components/gxg-toggle.js +1 -1
  143. package/dist/components/gxg-toolbar-item.js +1 -1
  144. package/dist/components/gxg-toolbar.js +1 -1
  145. package/dist/components/gxg-tree-item.js +1 -1
  146. package/dist/components/gxg-tree.js +1 -1
  147. package/dist/components/gxg-window.js +1 -1
  148. package/dist/components/icon2.js +1 -1
  149. package/dist/components/index.d.ts +1 -0
  150. package/dist/components/index.js +1 -0
  151. package/dist/components/list-box-item.js +1 -1
  152. package/dist/components/list-box.js +1 -1
  153. package/dist/components/suggest.js +1 -1
  154. package/dist/components/tab-bar.js +1 -1
  155. package/dist/components/tab-button.js +1 -1
  156. package/dist/components/tab.js +1 -1
  157. package/dist/components/tabs.js +1 -1
  158. package/dist/components/text.js +1 -1
  159. package/dist/components/title-editable.js +53 -5
  160. package/dist/components/title2.js +1 -1
  161. package/dist/components/tooltip.js +1 -1
  162. package/dist/components/tree-view2.js +1 -1
  163. package/dist/esm/ch-grid_8.entry.js +1 -1
  164. package/dist/esm/ch-suggest_4.entry.js +2 -2
  165. package/dist/esm/{form-1e8f483d.js → form-397b839e.js} +1 -1
  166. package/dist/esm/genexus-ide-ui.js +1 -1
  167. package/dist/esm/gx-ide-ai-assistant.entry.js +160 -32
  168. package/dist/esm/gx-ide-ai-message.entry.js +71 -0
  169. package/dist/esm/gx-ide-container_3.entry.js +247 -0
  170. package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
  171. package/dist/esm/gx-ide-entity-selector_2.entry.js +2 -2
  172. package/dist/esm/gx-ide-file-selector.entry.js +1 -1
  173. package/dist/esm/gxg-accordion-item.entry.js +1 -1
  174. package/dist/esm/gxg-accordion.entry.js +1 -1
  175. package/dist/esm/gxg-alert.entry.js +1 -1
  176. package/dist/esm/gxg-box.entry.js +2 -2
  177. package/dist/esm/gxg-button-group_3.entry.js +2 -2
  178. package/dist/esm/gxg-button_2.entry.js +2 -2
  179. package/dist/esm/gxg-card.entry.js +1 -1
  180. package/dist/esm/gxg-color-picker.entry.js +1 -1
  181. package/dist/esm/gxg-column.entry.js +1 -1
  182. package/dist/esm/gxg-columns.entry.js +1 -1
  183. package/dist/esm/gxg-combo-box_2.entry.js +2 -2
  184. package/dist/esm/gxg-container.entry.js +1 -1
  185. package/dist/esm/gxg-contextual-menu-item.entry.js +1 -1
  186. package/dist/esm/gxg-contextual-menu-submenu.entry.js +1 -1
  187. package/dist/esm/gxg-contextual-menu.entry.js +1 -1
  188. package/dist/esm/gxg-demo.entry.js +1 -1
  189. package/dist/esm/gxg-drag-box.entry.js +1 -1
  190. package/dist/esm/gxg-drag-container.entry.js +1 -1
  191. package/dist/esm/gxg-drop-down.entry.js +1 -1
  192. package/dist/esm/gxg-filter.entry.js +1 -1
  193. package/dist/esm/gxg-form-checkbox-group.entry.js +2 -2
  194. package/dist/esm/gxg-form-checkbox.entry.js +2 -2
  195. package/dist/esm/gxg-form-message.entry.js +1 -1
  196. package/dist/esm/gxg-form-radio-group.entry.js +2 -2
  197. package/dist/esm/gxg-form-radio.entry.js +1 -1
  198. package/dist/esm/gxg-form-text.entry.js +418 -0
  199. package/dist/esm/gxg-form-textarea.entry.js +13 -9
  200. package/dist/esm/gxg-label_2.entry.js +2 -2
  201. package/dist/esm/gxg-list-box_2.entry.js +3 -3
  202. package/dist/esm/gxg-loader.entry.js +1 -1
  203. package/dist/esm/gxg-menu-item.entry.js +1 -1
  204. package/dist/esm/gxg-menu-slim-item.entry.js +1 -1
  205. package/dist/esm/gxg-menu-slim-list.entry.js +1 -1
  206. package/dist/esm/gxg-menu-slim.entry.js +1 -1
  207. package/dist/esm/gxg-menu.entry.js +1 -1
  208. package/dist/esm/gxg-modal.entry.js +1 -1
  209. package/dist/esm/gxg-more-info.entry.js +1 -1
  210. package/dist/esm/gxg-option.entry.js +1 -1
  211. package/dist/esm/gxg-options.entry.js +1 -1
  212. package/dist/esm/gxg-pill.entry.js +1 -1
  213. package/dist/esm/gxg-progress-bar.entry.js +1 -1
  214. package/dist/esm/gxg-scroll.entry.js +1 -1
  215. package/dist/esm/gxg-select.entry.js +2 -2
  216. package/dist/esm/gxg-separator.entry.js +1 -1
  217. package/dist/esm/gxg-slider.entry.js +1 -1
  218. package/dist/esm/gxg-spacer-layout.entry.js +1 -1
  219. package/dist/esm/gxg-spacer-one.entry.js +1 -1
  220. package/dist/esm/gxg-stack.entry.js +1 -1
  221. package/dist/esm/gxg-stepper.entry.js +1 -1
  222. package/dist/esm/gxg-tab_4.entry.js +4 -4
  223. package/dist/esm/gxg-test.entry.js +2 -2
  224. package/dist/esm/gxg-text.entry.js +1 -1
  225. package/dist/esm/gxg-title-editable.entry.js +46 -4
  226. package/dist/esm/gxg-toggle.entry.js +1 -1
  227. package/dist/esm/gxg-toolbar-item.entry.js +1 -1
  228. package/dist/esm/gxg-toolbar.entry.js +1 -1
  229. package/dist/esm/gxg-tree-item.entry.js +1 -1
  230. package/dist/esm/gxg-tree.entry.js +1 -1
  231. package/dist/esm/gxg-window.entry.js +1 -1
  232. package/dist/esm/loader.js +1 -1
  233. package/dist/genexus-ide-ui/genexus-ide-ui.css +3 -3
  234. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  235. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +2 -1
  236. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +4 -0
  237. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +3 -0
  238. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +3 -0
  239. package/dist/genexus-ide-ui/p-00b9fa56.entry.js +1 -0
  240. package/dist/genexus-ide-ui/{p-4fd8f05d.entry.js → p-02b723c8.entry.js} +1 -1
  241. package/dist/genexus-ide-ui/{p-fa19f9f9.entry.js → p-0e131900.entry.js} +1 -1
  242. package/dist/genexus-ide-ui/{p-9c74efcb.entry.js → p-106da9bc.entry.js} +1 -1
  243. package/dist/genexus-ide-ui/{p-23d67598.entry.js → p-1204b3c2.entry.js} +1 -1
  244. package/dist/genexus-ide-ui/{p-e4e483c5.entry.js → p-1cff8129.entry.js} +1 -1
  245. package/dist/genexus-ide-ui/{p-26ba3122.entry.js → p-1dd70cd6.entry.js} +1 -1
  246. package/dist/genexus-ide-ui/{p-f35b21ac.entry.js → p-1f16cdf9.entry.js} +1 -1
  247. package/dist/genexus-ide-ui/{p-61a11353.entry.js → p-1fb6b784.entry.js} +1 -1
  248. package/dist/genexus-ide-ui/{p-bd518392.entry.js → p-23a7d86e.entry.js} +1 -1
  249. package/dist/genexus-ide-ui/{p-0e79f520.entry.js → p-2bb4d53b.entry.js} +1 -1
  250. package/dist/genexus-ide-ui/p-352674d9.entry.js +1 -0
  251. package/dist/genexus-ide-ui/{p-b2a8954c.entry.js → p-36267f2e.entry.js} +1 -1
  252. package/dist/genexus-ide-ui/{p-9cfa8ee3.entry.js → p-37852e10.entry.js} +1 -1
  253. package/dist/genexus-ide-ui/p-38dacc01.entry.js +1 -0
  254. package/dist/genexus-ide-ui/{p-08a5060a.entry.js → p-4165015f.entry.js} +1 -1
  255. package/dist/genexus-ide-ui/p-44551a36.entry.js +1 -0
  256. package/dist/genexus-ide-ui/p-47f3b15b.entry.js +1 -0
  257. package/dist/genexus-ide-ui/{p-78c1b06a.entry.js → p-48422a80.entry.js} +1 -1
  258. package/dist/genexus-ide-ui/p-5bb2b052.entry.js +1 -0
  259. package/dist/genexus-ide-ui/{p-40ce4d65.entry.js → p-5c169ad9.entry.js} +1 -1
  260. package/dist/genexus-ide-ui/{p-11050768.entry.js → p-5e50df3c.entry.js} +1 -1
  261. package/dist/genexus-ide-ui/{p-6da4e64b.entry.js → p-5f778d2f.entry.js} +1 -1
  262. package/dist/genexus-ide-ui/{p-f11b6055.entry.js → p-607ab2bf.entry.js} +1 -1
  263. package/dist/genexus-ide-ui/{p-d65cf085.entry.js → p-6506e89d.entry.js} +1 -1
  264. package/dist/genexus-ide-ui/{p-4302c1ff.entry.js → p-65e6b24f.entry.js} +1 -1
  265. package/dist/genexus-ide-ui/{p-d97fee10.entry.js → p-67869d00.entry.js} +1 -1
  266. package/dist/genexus-ide-ui/{p-200558c9.entry.js → p-6888e0a4.entry.js} +1 -1
  267. package/dist/genexus-ide-ui/p-68f2bdb2.entry.js +1 -0
  268. package/dist/genexus-ide-ui/{p-54ff4b12.entry.js → p-70bc1bfa.entry.js} +1 -1
  269. package/dist/genexus-ide-ui/{p-6d67e9fa.entry.js → p-71132a3c.entry.js} +1 -1
  270. package/dist/genexus-ide-ui/p-711613dc.entry.js +1 -0
  271. package/dist/genexus-ide-ui/{p-e5a703f6.entry.js → p-732c9fc6.entry.js} +1 -1
  272. package/dist/genexus-ide-ui/{p-f93f90ec.entry.js → p-7450ea04.entry.js} +1 -1
  273. package/dist/genexus-ide-ui/{p-81f1d83f.entry.js → p-77f0c5cf.entry.js} +1 -1
  274. package/dist/genexus-ide-ui/{p-cb5af458.entry.js → p-7a4ff1fe.entry.js} +1 -1
  275. package/dist/genexus-ide-ui/{p-4e82148e.entry.js → p-802392b1.entry.js} +1 -1
  276. package/dist/genexus-ide-ui/p-8dab6b19.entry.js +1 -0
  277. package/dist/genexus-ide-ui/p-8edc2bbc.entry.js +1 -0
  278. package/dist/genexus-ide-ui/{p-71bf0bb1.entry.js → p-92a4add2.entry.js} +1 -1
  279. package/dist/genexus-ide-ui/{p-c3895c79.entry.js → p-991a8b38.entry.js} +1 -1
  280. package/dist/genexus-ide-ui/{p-a00c2e50.entry.js → p-9af7152b.entry.js} +1 -1
  281. package/dist/genexus-ide-ui/p-9f4e169e.entry.js +1 -0
  282. package/dist/genexus-ide-ui/{p-b9fca59c.js → p-a2469a76.js} +1 -1
  283. package/dist/genexus-ide-ui/{p-11db551c.entry.js → p-a31b18e7.entry.js} +1 -1
  284. package/dist/genexus-ide-ui/{p-510b9439.entry.js → p-a5bbf490.entry.js} +1 -1
  285. package/dist/genexus-ide-ui/{p-c159c96c.entry.js → p-aba66e3a.entry.js} +1 -1
  286. package/dist/genexus-ide-ui/{p-f58c5030.entry.js → p-b3e90cfc.entry.js} +1 -1
  287. package/dist/genexus-ide-ui/{p-f54b419e.entry.js → p-b53fa192.entry.js} +1 -1
  288. package/dist/genexus-ide-ui/p-b71f6a1f.entry.js +1 -0
  289. package/dist/genexus-ide-ui/p-ba7e56ce.entry.js +1 -0
  290. package/dist/genexus-ide-ui/{p-397b14bb.entry.js → p-c4f18a9c.entry.js} +1 -1
  291. package/dist/genexus-ide-ui/p-cc27eafc.entry.js +1 -0
  292. package/dist/genexus-ide-ui/{p-dec4f598.entry.js → p-cec13765.entry.js} +1 -1
  293. package/dist/genexus-ide-ui/{p-fa430911.entry.js → p-cf341ae3.entry.js} +1 -1
  294. package/dist/genexus-ide-ui/{p-38391520.entry.js → p-d3f83278.entry.js} +1 -1
  295. package/dist/genexus-ide-ui/{p-05e09e49.entry.js → p-d50430db.entry.js} +1 -1
  296. package/dist/genexus-ide-ui/{p-a7c5d74f.entry.js → p-d83dea7c.entry.js} +1 -1
  297. package/dist/genexus-ide-ui/{p-7215e405.entry.js → p-dbf324cc.entry.js} +1 -1
  298. package/dist/genexus-ide-ui/{p-a267f1af.entry.js → p-e318f082.entry.js} +1 -1
  299. package/dist/genexus-ide-ui/p-e452e69d.entry.js +1 -0
  300. package/dist/genexus-ide-ui/{p-6a727690.entry.js → p-ec953297.entry.js} +1 -1
  301. package/dist/genexus-ide-ui/{p-97286a41.entry.js → p-f0387fa6.entry.js} +1 -1
  302. package/dist/genexus-ide-ui/p-f13a59cc.entry.js +1 -0
  303. package/dist/genexus-ide-ui/{p-542509ff.entry.js → p-f49a970a.entry.js} +1 -1
  304. package/dist/genexus-ide-ui/{p-9620b1e3.entry.js → p-f9b3ec44.entry.js} +1 -1
  305. package/dist/genexus-ide-ui/{p-716ea17b.entry.js → p-faeb4ee2.entry.js} +1 -1
  306. package/dist/genexus-ide-ui/p-fb4409c1.entry.js +1 -0
  307. package/dist/node_modules/@genexus/gemini/dist/collection/components/accordion/accordion.css +5 -3
  308. package/dist/node_modules/@genexus/gemini/dist/collection/components/accordion-item/accordion-item.css +5 -3
  309. package/dist/node_modules/@genexus/gemini/dist/collection/components/alert/alert.css +5 -3
  310. package/dist/node_modules/@genexus/gemini/dist/collection/components/box/box.css +42 -30
  311. package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +5 -3
  312. package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +5 -3
  313. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +30 -25
  314. package/dist/node_modules/@genexus/gemini/dist/collection/components/color-picker/color-picker.css +5 -3
  315. package/dist/node_modules/@genexus/gemini/dist/collection/components/column/column.css +5 -3
  316. package/dist/node_modules/@genexus/gemini/dist/collection/components/columns/columns.css +5 -3
  317. package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +30 -22
  318. package/dist/node_modules/@genexus/gemini/dist/collection/components/container/container.css +5 -3
  319. package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu/contextual-menu.css +5 -3
  320. package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu-item/contextual-menu-item.css +5 -3
  321. package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu-submenu/contextual-menu-submenu.css +5 -3
  322. package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +5 -3
  323. package/dist/node_modules/@genexus/gemini/dist/collection/components/demo/demo.css +5 -3
  324. package/dist/node_modules/@genexus/gemini/dist/collection/components/drag-box/drag-box.css +5 -3
  325. package/dist/node_modules/@genexus/gemini/dist/collection/components/drag-container/drag-container.css +5 -3
  326. package/dist/node_modules/@genexus/gemini/dist/collection/components/drop-down/drop-down.css +31 -23
  327. package/dist/node_modules/@genexus/gemini/dist/collection/components/filter/gxg-filter.css +31 -23
  328. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +5 -3
  329. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox-group/gxg-form-checkbox-group.css +5 -3
  330. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-message/form-message.css +5 -3
  331. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-option/option.css +5 -3
  332. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio/form-radio.css +5 -3
  333. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +5 -3
  334. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-select/select.css +20 -15
  335. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +5 -3
  336. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +49 -35
  337. package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +10 -6
  338. package/dist/node_modules/@genexus/gemini/dist/collection/components/icon/icon.css +5 -3
  339. package/dist/node_modules/@genexus/gemini/dist/collection/components/label/gxg-label.css +5 -3
  340. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +27 -22
  341. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +5 -3
  342. package/dist/node_modules/@genexus/gemini/dist/collection/components/loader-gxg/loader.css +5 -3
  343. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu/menu.css +5 -3
  344. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu-item/menu-item.css +5 -3
  345. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/item/item.css +5 -3
  346. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/list/list.css +5 -3
  347. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/menu/menu.css +5 -3
  348. package/dist/node_modules/@genexus/gemini/dist/collection/components/modal/modal.css +5 -3
  349. package/dist/node_modules/@genexus/gemini/dist/collection/components/more-info/more-info.css +5 -3
  350. package/dist/node_modules/@genexus/gemini/dist/collection/components/options/gxg-options.css +36 -26
  351. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +5 -3
  352. package/dist/node_modules/@genexus/gemini/dist/collection/components/progress-bar/progress-bar.css +5 -3
  353. package/dist/node_modules/@genexus/gemini/dist/collection/components/scroll/scroll.css +5 -3
  354. package/dist/node_modules/@genexus/gemini/dist/collection/components/separator/separator.css +5 -3
  355. package/dist/node_modules/@genexus/gemini/dist/collection/components/slider/slider.css +5 -3
  356. package/dist/node_modules/@genexus/gemini/dist/collection/components/spacer-layout/spacer-layout.css +5 -3
  357. package/dist/node_modules/@genexus/gemini/dist/collection/components/spacer-one/spacer-one.css +5 -3
  358. package/dist/node_modules/@genexus/gemini/dist/collection/components/stack/stack.css +5 -3
  359. package/dist/node_modules/@genexus/gemini/dist/collection/components/stepper/stepper.css +5 -3
  360. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +15 -9
  361. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +31 -23
  362. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +5 -3
  363. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +5 -3
  364. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +5 -3
  365. package/dist/node_modules/@genexus/gemini/dist/collection/components/test/test.css +360 -12
  366. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +5 -3
  367. package/dist/node_modules/@genexus/gemini/dist/collection/components/title/title.css +5 -3
  368. package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +416 -0
  369. package/dist/node_modules/@genexus/gemini/dist/collection/components/toggle/toggle.css +5 -3
  370. package/dist/node_modules/@genexus/gemini/dist/collection/components/toolbar/toolbar.css +5 -3
  371. package/dist/node_modules/@genexus/gemini/dist/collection/components/toolbar-item/toolbar-item.css +5 -3
  372. package/dist/node_modules/@genexus/gemini/dist/collection/components/tooltip/tooltip.css +5 -3
  373. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree/gxg-tree.css +10 -6
  374. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +5 -3
  375. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +10 -6
  376. package/dist/node_modules/@genexus/gemini/dist/collection/components/window/window.css +10 -6
  377. package/dist/types/components/ai-assistant/ai-assistant.d.ts +33 -9
  378. package/dist/types/components/ai-assistant/ai-message.d.ts +38 -0
  379. package/dist/types/components.d.ts +62 -0
  380. package/package.json +3 -3
  381. package/dist/cjs/gx-ide-container_4.cjs.entry.js +0 -668
  382. package/dist/esm/gx-ide-container_4.entry.js +0 -661
  383. package/dist/genexus-ide-ui/p-0c6067a8.entry.js +0 -1
  384. package/dist/genexus-ide-ui/p-217df34b.entry.js +0 -1
  385. package/dist/genexus-ide-ui/p-3cb1b400.entry.js +0 -1
  386. package/dist/genexus-ide-ui/p-3d4f66ee.entry.js +0 -1
  387. package/dist/genexus-ide-ui/p-446c0831.entry.js +0 -1
  388. package/dist/genexus-ide-ui/p-5c4a5d78.entry.js +0 -1
  389. package/dist/genexus-ide-ui/p-61038141.entry.js +0 -1
  390. package/dist/genexus-ide-ui/p-65c787f5.entry.js +0 -1
  391. package/dist/genexus-ide-ui/p-7dd3a391.entry.js +0 -1
  392. package/dist/genexus-ide-ui/p-8f37931a.entry.js +0 -1
  393. package/dist/genexus-ide-ui/p-9ad14edd.entry.js +0 -1
  394. package/dist/genexus-ide-ui/p-bc978dbb.entry.js +0 -1
  395. package/dist/genexus-ide-ui/p-c39d122b.entry.js +0 -1
  396. package/dist/genexus-ide-ui/p-cd5e7a90.entry.js +0 -1
  397. package/dist/genexus-ide-ui/p-fb5cec1b.entry.js +0 -1
@@ -0,0 +1,418 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-0aa3977d.js';
2
+ import { b as formMessageLogic, r as requiredLabel, a as formTooltipLogic } from './form-397b839e.js';
3
+ import { f as formClasses, c as commonClassesNames } from './classesNames-6cd8fadb.js';
4
+ import { s as state } from './store-eca88b9a.js';
5
+ import { e as exportParts } from './export-parts-7f208d57.js';
6
+
7
+ const formTextCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);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(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.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-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{cursor:initial}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}:host(.gxg-validation--warning) .form-element{border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-warning-dark)}:host(.gxg-validation--error) .form-element{border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-error-dark)}:host(.gxg-validation--success) .form-element{border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-success-dark)}.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{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(--spacing-comp-01)}.tooltip-inner-wrapper--visible{width:24px}.tooltip-inner-wrapper--hidden{display:none}:host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--gxg-background-color--disabled) !important;color:var(--gxg-color--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}:host{display:flex;flex-direction:column;width:100%}:host .outer-wrapper{position:relative;width:100%}:host .inner-wrapper{display:flex;flex-direction:column;position:relative;flex:1}:host .inner-wrapper gxg-icon{position:absolute}:host(.tooltip) .inner-wrapper{flex-direction:row;align-items:center;justify-content:center}:host(.tooltip) .tooltip-container{width:0;overflow:hidden;transition:width --timing-01}:host(.tooltip--visible) .tooltip-container{width:20px}:host label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;align-items:center;cursor:default}:host label .required{padding-inline-start:2px}:host input{position:relative;width:100%}:host([label-position=start]) .outer-wrapper{display:flex;flex-direction:row}:host input[type=text],:host input[type=password]{border-width:var(--border-width-sm);border-color:var(--gray-02);border-style:var(--border-style-regular);border-radius:var(--border-radius-sm);padding-left:var(--spacing-comp-01);padding-right:var(--spacing-comp-01);color:var(--color-on-background);background-color:var(--color-background);height:var(--gxg-form-text-height);box-sizing:border-box}:host input[type=text]:focus,:host input[type=password]:focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host input[disabled]{background-color:var(--gray-01);color:var(--color-on-disabled)}:host input[disabled]::-webkit-input-placeholder{color:var(--gray-04)}:host .input--borderless{border-color:transparent !important}:host input[readonly]{cursor:default}:host([minimal]) input[type=text]:not(:focus),:host([minimal]) input[type=password]:not(:focus){border-color:transparent;background-color:transparent}:host([minimal]) input.cursor-inside{border-color:var(--gray-02) !important;background-color:var(--color-background)}:host([minimal]) input[type=text]:focus,:host([minimal]) input[type=password]:focus{border-color:transparent}:host([minimal]:not([icon-position=start])) input[type=text],:host([minimal]:not([icon-position=start])) input[type=password]{padding-inline-start:0}:host([minimal]:not([icon-position=start])) input.cursor-inside{padding-inline-start:var(--spacing-comp-01)}:host([minimal]:not([icon-position=start])) input[type=text]:focus,:host([minimal]:not([icon-position=start])) input[type=password]:focus{padding-inline-start:var(--spacing-comp-01)}:host([minimal][over-dark-background]) input[type=text]:not(:focus),:host([minimal][over-dark-background]) input[type=password]:not(:focus){color:var(--color-on-primary)}:host gxg-icon{top:50%;transform:translateY(-50%)}:host([icon-position=end]) .clear-button gxg-icon:not(.clear-button){right:16px}:host(.has-icon[icon-position=start]) input{padding-inline-start:20px}:host([icon-position=end]) input{padding-inline-end:20px}:host([icon-position=end]) .inner-wrapper{flex-direction:row-reverse}:host gxg-icon.clear-button{left:auto;opacity:0.5;cursor:pointer}:host gxg-icon.clear-button:hover{opacity:1}:host([clear-button][icon-position=end]) gxg-icon:not(.clear-button){right:16px}:host([clear-button][icon-position=end]) input{padding-inline-end:36px}.custom-icon:has(+.clear-button){}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host([text-style=regular]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}:host([text-style=quote]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}:host([text-style=title-01]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}:host([text-style=title-02]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}:host([text-style=title-03]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}:host([text-style=title-04]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}:host([text-style=title-05]) input{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}:host(.file) .input{user-select:none;cursor:pointer}:host(.rtl[icon-position=start]) gxg-icon{right:0;left:auto}:host(.rtl[icon-position=end]) gxg-icon{right:auto;left:0}:host(.large) label{font-size:var(--font-size-lg)}:host(.large) input{font-size:var(--font-size-lg)}:host(.large) input[type=text],:host(.large) input[type=password]{padding-left:7px;padding-right:7px}:host(.large.has-icon[icon-position=start]) input{padding-inline-start:var(--spacing-comp-05)}:host(.large.has-icon[icon-position=start]) input .inner-wrapper gxg-icon{left:2px}:host(.large[icon-position=end]) input{padding-inline-end:var(--spacing-comp-05)}:host(.large[icon-position=start]) .inner-wrapper gxg-icon{left:2px}:host(.large[icon-position=end]) .inner-wrapper gxg-icon{right:4px;left:auto}:host(.large) gxg-icon.clear-button{right:5px !important;left:auto !important}:host(.large[icon-position=end][clear-button]) .inner-wrapper gxg-icon{right:26px}:host(.large.has-icon[icon-position=start][clear-button]) input{padding-inline-end:26px}:host(.large[icon-position=end][clear-button]) input{padding-inline-end:48px}";
8
+
9
+ const GxgFormText = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.input = createEvent(this, "input", 7);
13
+ this.change = createEvent(this, "change", 7);
14
+ this.clearButtonClicked = createEvent(this, "clearButtonClicked", 7);
15
+ this.valueChanged = createEvent(this, "valueChanged", 7);
16
+ this.fileSelected = createEvent(this, "fileSelected", 7);
17
+ this.parts = {
18
+ input: "input",
19
+ };
20
+ /**
21
+ * The presence of this attribute disables the tooltip. Useful for the combo-box.
22
+ */
23
+ this.hideTooltip = false;
24
+ /**
25
+ * The presence of this attribute displays a tooltip message, instead of a block message below the control
26
+ */
27
+ this.toolTip = false;
28
+ /**
29
+ * The presence of this attribute displays a clear (cross) button-icon on the right side
30
+ */
31
+ this.clearButton = false;
32
+ /**
33
+ * The presence of this attribute activates a debounce for the valueChanged event. This will cause the event to be emitted after 'debounceDelay' time.
34
+ */
35
+ this.debounce = false;
36
+ /**
37
+ * The debounce delay value. Only applies if 'debounce' is true.
38
+ */
39
+ this.debounceDelay = 800;
40
+ /**
41
+ * The presence of this attribute makes the input disabled
42
+ */
43
+ this.disabled = false;
44
+ /**
45
+ * The presence of this attribute makes the input readonly
46
+ */
47
+ this.readonly = false;
48
+ /**
49
+ * The input icon (optional)
50
+ */
51
+ this.icon = null;
52
+ /**
53
+ * If true, it will position the cursor at the end when the input is focused.
54
+ */
55
+ this.cursorEnd = false;
56
+ /**
57
+ * The input icon side
58
+ */
59
+ this.iconPosition = null;
60
+ /**
61
+ * The label position
62
+ */
63
+ this.labelPosition = "start";
64
+ /**
65
+ * The presence of this attribute hides the border.
66
+ */
67
+ this.borderless = false;
68
+ /**
69
+ * The presence of this attribute hides the border, and sets the background to transparent when the element has no focus
70
+ */
71
+ this.minimal = false;
72
+ /**
73
+ * The presence of this attribute sets the text color to white. Usefull when "minimal" attribute is applied and the background behind the input is dark
74
+ */
75
+ this.overDarkBackground = false;
76
+ /**
77
+ * The presence of this attribute makes this input required
78
+ */
79
+ this.required = false;
80
+ /**
81
+ * Centers the label
82
+ */
83
+ this.centerLabel = false;
84
+ /**
85
+ * The type of input
86
+ */
87
+ this.type = "text";
88
+ /**
89
+ * Allows multiple files if type is "file"
90
+ */
91
+ this.multiple = false;
92
+ /**
93
+ * Prevent "valueChanged" event from being emitted (helpful for cases where the event causes a conflict )
94
+ */
95
+ this.preventValueChangedEmit = false;
96
+ /* VALIDATION */
97
+ /**
98
+ * The validation status
99
+ *
100
+ */
101
+ this.validationStatus = "indeterminate";
102
+ /**
103
+ * The input max. width
104
+ */
105
+ this.maxWidth = "100%";
106
+ /**
107
+ * The input width
108
+ */
109
+ this.width = "100%";
110
+ /**
111
+ * The text style
112
+ */
113
+ this.textStyle = "regular";
114
+ /**
115
+ * The presence of this attribute sets the input type as password
116
+ */
117
+ this.password = false;
118
+ /**
119
+ * The input max. length
120
+ */
121
+ this.maxLength = undefined;
122
+ /**
123
+ * The input min. length
124
+ */
125
+ this.minLength = undefined;
126
+ this.cursorInside = false;
127
+ this.inputSize = "auto";
128
+ this.mouseCoordinates = {
129
+ x: null,
130
+ y: null,
131
+ };
132
+ /**
133
+ * Reading direction
134
+ */
135
+ this.rtl = false;
136
+ this.attachExportParts = () => {
137
+ const part = this.el.getAttribute("part");
138
+ const exportPartsResult = exportParts(part, this.parts);
139
+ exportPartsResult.length && (this.exportparts = exportPartsResult);
140
+ };
141
+ this.evaluateIcon = () => {
142
+ if (this.type === "file") {
143
+ this.icon = "controls/file-upload";
144
+ this.iconPosition = "start";
145
+ this.placeholder = this.placeholder || "Select a file";
146
+ }
147
+ };
148
+ this.evaluateLabelAlignment = () => {
149
+ if (this.labelPosition === "start") {
150
+ this.centerLabel = true;
151
+ }
152
+ };
153
+ this.handleClick = () => {
154
+ this.openFile();
155
+ };
156
+ this.handleKeyDown = (e) => {
157
+ if (e.key === "Enter" && this.type === "file") {
158
+ this.textInput.click();
159
+ }
160
+ };
161
+ this.inputFileChangedHandler = (e) => {
162
+ const selectedFiles = e.target.files;
163
+ this.fileList = selectedFiles;
164
+ this.fileSelected.emit(selectedFiles);
165
+ if (selectedFiles.length > 1) {
166
+ this.value = `${selectedFiles.length} files chosen`;
167
+ }
168
+ else {
169
+ this.value = selectedFiles[0].name;
170
+ }
171
+ };
172
+ this.renderInputFile = () => {
173
+ if (this.type === "file") {
174
+ return (h("input", { class: "input-file", type: "file", multiple: this.multiple, accept: this.acceptFile, ref: (el) => (this.fileInputEl = el), onChange: this.inputFileChangedHandler, style: { display: "none" } }));
175
+ }
176
+ };
177
+ }
178
+ watchValueHandler(newValue) {
179
+ if (!this.preventValueChangedEmit && this.debounce) {
180
+ clearTimeout(this.timeoutReference);
181
+ this.timeoutReference = setTimeout(() => {
182
+ this.valueChanged.emit(newValue);
183
+ }, this.debounceDelay);
184
+ }
185
+ else if (!this.preventValueChangedEmit && !this.debounce) {
186
+ this.valueChanged.emit(newValue);
187
+ }
188
+ if (this.minimal) {
189
+ this.updateGhostSpan();
190
+ }
191
+ if (this.minimal) {
192
+ this.updateGhostSpan();
193
+ }
194
+ }
195
+ async selectInputText() {
196
+ this.textInput.focus();
197
+ this.textInput.select();
198
+ }
199
+ async openFile() {
200
+ if (this.type === "file") {
201
+ this.fileInputEl.click();
202
+ }
203
+ }
204
+ async clearInput() {
205
+ this.clearButtonFunc();
206
+ }
207
+ componentWillLoad() {
208
+ this.evaluateIcon();
209
+ this.attachExportParts();
210
+ this.evaluateLabelAlignment();
211
+ }
212
+ /*********************************
213
+ METHODS
214
+ *********************************/
215
+ iconPositionFunc() {
216
+ if (this.iconPosition !== null && this.icon !== null) {
217
+ return this.iconPosition;
218
+ }
219
+ }
220
+ inputIcon() {
221
+ const iconSize = this.iconSize();
222
+ if (this.iconPosition !== null && this.icon !== null) {
223
+ if (this.validationStatus === "warning") {
224
+ return (h("gxg-icon", { class: "custom-icon", type: this.icon, size: iconSize, color: "warning" }));
225
+ }
226
+ if (this.validationStatus === "error") {
227
+ return (h("gxg-icon", { class: "custom-icon", type: this.icon, size: iconSize, color: "error" }));
228
+ }
229
+ return (h("gxg-icon", { class: "custom-icon", type: this.icon, size: iconSize, color: this.disabled ? "disabled" : "auto" }));
230
+ }
231
+ }
232
+ handleInput(e) {
233
+ e.stopPropagation();
234
+ const target = e.target;
235
+ this.value = target.value;
236
+ this.input.emit(target.value);
237
+ }
238
+ handleChange(e) {
239
+ e.stopPropagation();
240
+ const target = e.target;
241
+ this.value = target.value;
242
+ this.change.emit(target.value);
243
+ }
244
+ onFocusHandler() {
245
+ if (this.cursorEnd) {
246
+ this.textInput.setSelectionRange(this.textInput.value.length, this.textInput.value.length);
247
+ }
248
+ }
249
+ clearButtonFunc() {
250
+ this.clearButtonClicked.emit({ prevValue: this.value });
251
+ this.value = "";
252
+ if (this.type === "file") {
253
+ this.fileList = null;
254
+ this.fileInputEl.value = "";
255
+ }
256
+ }
257
+ updateGhostSpan() {
258
+ if (this.minimal) {
259
+ //Update ghost span content, and then get and apply the width from the ghost span
260
+ const ghostSpan = this.el.shadowRoot.querySelector(".ghost-span");
261
+ ghostSpan.innerHTML = this.value;
262
+ //Then get the ghost span width
263
+ const ghostSpanWidth = ghostSpan.offsetWidth + 5;
264
+ const input = this.el.shadowRoot.querySelector(".input");
265
+ //Finally set that width to the input!
266
+ input.style.width = ghostSpanWidth + "px";
267
+ }
268
+ }
269
+ mouseEnterHandler() {
270
+ setTimeout(function () {
271
+ const inputText = this.el.shadowRoot.querySelector(".input");
272
+ //Contextual menu coordinates
273
+ const inputTextArea = inputText.getBoundingClientRect();
274
+ if (this.mouseCoordinates.x > inputTextArea.left &&
275
+ this.mouseCoordinates.x < inputTextArea.right &&
276
+ this.mouseCoordinates.y > inputTextArea.top &&
277
+ this.mouseCoordinates.y < inputTextArea.bottom) {
278
+ //Mouse pointer is inside the input text
279
+ this.cursorInside = true;
280
+ }
281
+ }.bind(this), 500);
282
+ }
283
+ mouseOutHandler() {
284
+ this.cursorInside = false;
285
+ }
286
+ mouseMoveHandler(e) {
287
+ this.mouseCoordinates["x"] = e.clientX;
288
+ this.mouseCoordinates["y"] = e.clientY;
289
+ }
290
+ componentDidLoad() {
291
+ if (this.minimal) {
292
+ document.addEventListener("mousemove", this.mouseMoveHandler.bind(this));
293
+ /**************
294
+ GHOST SPAN
295
+ Ghost span for the "minimal" type input, in order to make the input width fit the content
296
+ **************/
297
+ const intersectionObserver = new IntersectionObserver(function (entries) {
298
+ // If intersectionRatio is 0, the target is out of view
299
+ // and we do not need to do anything.
300
+ if (entries[0].intersectionRatio <= 0)
301
+ return;
302
+ const input = this.el.shadowRoot.querySelector(".input");
303
+ const inputComputedStyles = window.getComputedStyle(input);
304
+ const ghostSpan = this.el.shadowRoot.querySelector(".ghost-span");
305
+ //Set ghostSpan outside of the visible area
306
+ ghostSpan.style.position = "fixed";
307
+ ghostSpan.style.left = "-1000px";
308
+ ghostSpan.style.top = "-1000px";
309
+ ghostSpan.style.zIndex = "-1000";
310
+ ghostSpan.style.opacity = "0";
311
+ //Set input styles that affect the width to the ghost span
312
+ ghostSpan.style.fontSize = inputComputedStyles.fontSize;
313
+ ghostSpan.style.fontFamily = inputComputedStyles.fontFamily;
314
+ ghostSpan.style.textTransform = inputComputedStyles.textTransform;
315
+ ghostSpan.style.display = "inline-block";
316
+ ghostSpan.style.paddingLeft = inputComputedStyles.paddingRight;
317
+ ghostSpan.style.paddingRight = inputComputedStyles.paddingRight;
318
+ ghostSpan.style.letterSpacing = inputComputedStyles.letterSpacing;
319
+ ghostSpan.style.fontWeight = inputComputedStyles.fontWeight;
320
+ //Then get the ghost span width
321
+ const ghostSpanWidth = ghostSpan.offsetWidth + 5;
322
+ input.style.width = "0px";
323
+ //get inner-wrapper width
324
+ const innerWrapperWidth = this.el.shadowRoot.querySelector(".inner-wrapper")
325
+ .offsetWidth - 5;
326
+ //Finally set that width to the input!
327
+ input.style.width = ghostSpanWidth + "px";
328
+ input.style.maxWidth = innerWrapperWidth + "px";
329
+ //Listen to resizeObserver to set the new max-width value on the on the input
330
+ const resizeObserver = new ResizeObserver(() => {
331
+ input.style.width = "0px";
332
+ const innerWrapperWidth = this.el.shadowRoot.querySelector(".inner-wrapper").offsetWidth - 5;
333
+ input.style.maxWidth = innerWrapperWidth + "px";
334
+ input.style.width = ghostSpanWidth + "px";
335
+ });
336
+ const innerWrapper = this.el.shadowRoot.querySelector(".inner-wrapper");
337
+ resizeObserver.observe(innerWrapper);
338
+ }.bind(this));
339
+ // start observing
340
+ intersectionObserver.observe(this.el.shadowRoot.querySelector(".input"));
341
+ } // if (this.minimal)
342
+ //Reading Direction
343
+ const dirHtml = document
344
+ .getElementsByTagName("html")[0]
345
+ .getAttribute("dir");
346
+ const dirBody = document
347
+ .getElementsByTagName("body")[0]
348
+ .getAttribute("dir");
349
+ if (dirHtml === "rtl" || dirBody === "rtl") {
350
+ this.rtl = true;
351
+ }
352
+ }
353
+ componentDidUnload() {
354
+ if (this.minimal) {
355
+ document.removeEventListener("mousemove", this.mouseMoveHandler);
356
+ }
357
+ }
358
+ iconSize() {
359
+ if (state.large) {
360
+ return "regular";
361
+ }
362
+ else {
363
+ return "small";
364
+ }
365
+ }
366
+ evaluateType() {
367
+ if (this.password) {
368
+ return "password";
369
+ }
370
+ else {
371
+ return "text";
372
+ }
373
+ }
374
+ render() {
375
+ return (h(Host, { role: "textbox", "aria-label": this.label, "icon-position": this.iconPositionFunc(), style: {
376
+ width: this.width,
377
+ maxWidth: this.maxWidth,
378
+ }, class: {
379
+ rtl: this.rtl,
380
+ large: state.large,
381
+ mercury: state.mercury,
382
+ borderless: this.borderless,
383
+ file: this.type === "file",
384
+ tooltip: this.toolTip,
385
+ "has-icon": this.icon,
386
+ [formClasses["VALIDATION_INDETERMINATE_CLASS"]]: this.validationStatus === "indeterminate",
387
+ [formClasses["VALIDATION_WARNING_CLASS"]]: this.validationStatus === "warning",
388
+ [formClasses["VALIDATION_ERROR_CLASS"]]: this.validationStatus === "error",
389
+ [formClasses["VALIDATION_SUCCESS_CLASS"]]: this.validationStatus === "success",
390
+ [commonClassesNames["DISABLED_CLASS"]]: this.disabled,
391
+ }, exportParts: this.exportparts ? this.exportparts : null }, this.minimal ? h("span", { class: "ghost-span" }, this.value) : null, h("div", { class: {
392
+ "outer-wrapper": true,
393
+ } }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label, requiredLabel(this))) : (""), h("div", { class: {
394
+ "inner-wrapper": true,
395
+ "clear-button": this.clearButton === true,
396
+ } }, h("input", { part: this.parts.input, type: this.evaluateType(), value: this.value, class: {
397
+ input: true,
398
+ "form-element": true,
399
+ "cursor-inside": this.cursorInside,
400
+ "clear-button": this.clearButton === true,
401
+ "custom-icon": this.icon,
402
+ "custom-icon--end": this.iconPosition === "end",
403
+ "input--borderless": this.borderless,
404
+ }, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly || this.type === "file" , onClick: this.handleClick, onInput: this.handleInput.bind(this), onKeyDown: this.handleKeyDown, onChange: this.handleChange.bind(this), onFocus: this.onFocusHandler.bind(this), required: this.required, onMouseEnter: this.mouseEnterHandler.bind(this), onMouseOut: this.mouseOutHandler.bind(this), ref: (el) => (this.textInput = el), maxLength: this.maxLength ? parseInt(this.maxLength) : null, minLength: this.minLength ? parseInt(this.minLength) : null }), this.inputIcon(), this.clearButton ? (h("gxg-icon", { class: "clear-button", type: "gemini-tools/close", size: this.iconSize(), color: "onbackground", onClick: this.clearButtonFunc.bind(this) })) : null, this.toolTip ? formTooltipLogic(this, this.hideTooltip) : null, this.labelPosition === "start" && !this.toolTip
405
+ ? formMessageLogic(this)
406
+ : null, this.renderInputFile())), this.labelPosition === "above" && !this.toolTip
407
+ ? formMessageLogic(this)
408
+ : null));
409
+ }
410
+ static get delegatesFocus() { return true; }
411
+ get el() { return getElement(this); }
412
+ static get watchers() { return {
413
+ "value": ["watchValueHandler"]
414
+ }; }
415
+ };
416
+ GxgFormText.style = formTextCss;
417
+
418
+ export { GxgFormText as gxg_form_text };
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-0aa3977d.js';
2
- import { a as formMessageLogic, b as formTooltipLogic, r as requiredLabel } from './form-1e8f483d.js';
2
+ import { b as formMessageLogic, a as formTooltipLogic, r as requiredLabel } from './form-397b839e.js';
3
3
  import { s as state } from './store-eca88b9a.js';
4
4
  import { f as formClasses, c as commonClassesNames } from './classesNames-6cd8fadb.js';
5
5
  import { e as exportParts } from './export-parts-7f208d57.js';
6
6
 
7
- const formTextareaCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);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(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.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-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host(.gxg-validation--warning) .form-element{border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-warning-dark)}:host(.gxg-validation--error) .form-element{border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-error-dark)}:host(.gxg-validation--success) .form-element{border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-success-dark)}.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{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(--spacing-comp-01)}.tooltip-inner-wrapper--visible{width:24px}.tooltip-inner-wrapper--hidden{display:none}:host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--gxg-background-color--disabled) !important;color:var(--gxg-color--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}:host{display:flex;flex-direction:column;width:100%}:host .form-element-wrapper{position:relative;width:100%}:host label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;align-items:center;cursor:default}:host label .required{padding-left:2px}:host textarea{transition:height 200ms;width:100%;font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}:host .textarea-wrapper{display:flex;gap:var(--spacing-comp-01);flex:1}:host textarea{resize:none;border-width:var(--border-width-sm);border-color:var(--gray-02);border-style:var(--border-style-regular);border-radius:var(--border-radius-sm);padding-left:var(--spacing-comp-01);padding-right:var(--spacing-comp-01);color:var(--color-on-background);background-color:var(--color-background)}:host textarea::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}:host textarea::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}:host textarea::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}:host textarea::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host textarea:focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host textarea--resize{resize:both}:host textarea[disabled]{background-color:var(--gray-01);color:var(--color-on-disabled)}:host textarea.textarea--error{border-color:var(--color-error-dark);background-color:var(--color-error-light);margin-bottom:0}:host textarea.textarea--error:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host textarea.textarea--warning{border-color:var(--color-warning-dark);background-color:var(--color-warning-light);margin-bottom:0}:host textarea.textarea--warning:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.shrink[single-line]) .textarea{box-sizing:border-box;height:24px !important;overflow:hidden}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.large) label,:host(.large) textarea{font-size:var(--font-size-lg);padding:var(--spacing-comp-01) var(--spacing-comp-02)}:host(.mercury){font-size:var(--mc-font-size-xs)}:host(.mercury) .textarea-wrapper{font-family:var(--font-family-primary);font-size:var(--mc-font-size-xs);color:var(--gray-03);line-height:var(--line-height-default);font-weight:var(--font-weight-regular);box-sizing:border-box;font-size:inherit;border:var(--border-width-sm) solid var(--gray-05);border-radius:var(--border-radius-sm);padding:var(--spacing-comp-02) var(--spacing-comp-03)}:host(.mercury) .textarea-wrapper:focus-within{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host(.mercury) textarea{border:none;padding:0;font-size:inherit;font-family:inherit;line-height:inherit;padding-inline-end:var(--spacing-comp-02);background-color:transparent}:host(.mercury) textarea:focus{outline:none}:host([grow].mercury) textarea{box-sizing:border-box;resize:none}";
7
+ const formTextareaCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);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(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.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-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{cursor:initial}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}:host(.gxg-validation--warning) .form-element{border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-warning-dark)}:host(.gxg-validation--error) .form-element{border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-error-dark)}:host(.gxg-validation--success) .form-element{border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-success-dark)}.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{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(--spacing-comp-01)}.tooltip-inner-wrapper--visible{width:24px}.tooltip-inner-wrapper--hidden{display:none}:host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--gxg-background-color--disabled) !important;color:var(--gxg-color--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}:host{display:flex;flex-direction:column;width:100%}:host .form-element-wrapper{position:relative;width:100%}:host label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;align-items:center;cursor:default}:host label .required{padding-left:2px}:host textarea{transition:height 200ms;width:100%;font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}:host textarea{resize:none;border-width:var(--border-width-sm);border-color:var(--gray-02);border-style:var(--border-style-regular);border-radius:var(--border-radius-sm);padding-left:var(--spacing-comp-01);padding-right:var(--spacing-comp-01);color:var(--color-on-background);background-color:var(--color-background)}:host textarea:focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host textarea--resize{resize:both}:host textarea[disabled]{background-color:var(--gray-01);color:var(--color-on-disabled)}:host textarea.textarea--error{border-color:var(--color-error-dark);background-color:var(--color-error-light);margin-bottom:0}:host textarea.textarea--error:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host textarea.textarea--warning{border-color:var(--color-warning-dark);background-color:var(--color-warning-light);margin-bottom:0}:host textarea.textarea--warning:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.shrink[single-line]) .textarea{box-sizing:border-box;height:24px !important;overflow:hidden}.textarea{overflow:auto;height:100%;cursor:initial}.textarea::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.textarea::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.textarea::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.textarea::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}.textarea-wrapper{display:flex;gap:var(--spacing-comp-01);flex:1}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.large) label,:host(.large) .textarea-wrapper{font-size:var(--font-size-lg);box-sizing:border-box}:host(.large) .textarea{padding:var(--spacing-comp-01) var(--spacing-comp-02)}:host(.mercury){font-size:var(--mc-font-size-xs)}:host(.mercury) .textarea-wrapper{font-family:var(--font-family-primary);font-size:var(--mc-font-size-xs);color:var(--gray-03);line-height:var(--line-height-default);font-weight:var(--font-weight-regular);box-sizing:border-box;font-size:inherit;border:var(--border-width-sm) solid var(--gray-05);border-radius:var(--border-radius-sm)}:host(.mercury) .textarea-wrapper:focus-within{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host(.mercury) .textarea{border:none;padding:0;padding:var(--spacing-comp-02) var(--spacing-comp-03);font-size:inherit;font-family:inherit;line-height:23px;background-color:transparent}:host(.mercury) .textarea:focus{outline:none}:host([ai].mercury) textarea{box-sizing:border-box;resize:none;height:auto}";
8
8
 
9
9
  const GxgFormTextarea = class {
10
10
  constructor(hostRef) {
@@ -12,6 +12,7 @@ const GxgFormTextarea = class {
12
12
  this.input = createEvent(this, "input", 7);
13
13
  this.change = createEvent(this, "change", 7);
14
14
  this.enter = createEvent(this, "enter", 7);
15
+ this.arrowUpPressed = createEvent(this, "arrowUpPressed", 7);
15
16
  this.parts = {
16
17
  textarea: "textarea",
17
18
  };
@@ -19,13 +20,13 @@ const GxgFormTextarea = class {
19
20
  PROPERTIES & STATE
20
21
  *********************************/
21
22
  /**
22
- * The presence of this attribute forces the textarea to be as tall as an input text. When the textarea gets focus, it grows as tall as the "height: property.
23
+ * The presence of this attribute forces the textarea to be as tall as an input text. When the textarea gets focus, it ais as tall as the "height: property.
23
24
  */
24
25
  this.singleLine = false;
25
26
  /**
26
- * It will show the textarea with a single line, and grow in height as the text overflows, or the user hits shift + enter. This property will be ignored if "shrink" is true
27
+ * This property it is for using the textarea for the ai-assistant in ide-web (Mercury).
27
28
  */
28
- this.grow = false;
29
+ this.ai = false;
29
30
  /**
30
31
  * The presence of this attribute displays a tooltip message, instead of a block message below the control
31
32
  */
@@ -98,7 +99,7 @@ const GxgFormTextarea = class {
98
99
  const target = e.target;
99
100
  this.value = target.value;
100
101
  this.input.emit(this.value);
101
- if (state.mercury && this.grow) {
102
+ if (state.mercury && this.ai) {
102
103
  const offset = this.textArea.offsetHeight - this.textArea.clientHeight;
103
104
  this.textArea.style.height = "auto";
104
105
  this.textArea.style.height = this.textArea.scrollHeight + offset + "px";
@@ -115,11 +116,13 @@ const GxgFormTextarea = class {
115
116
  }
116
117
  };
117
118
  this.keyDownHandler = (e) => {
118
- if (e.key === "Enter" && !e.shiftKey) {
119
+ if (e.key === "Enter" && !e.shiftKey && this.ai) {
119
120
  e.preventDefault();
120
121
  this.enter.emit(this.textArea.value);
121
122
  this.textArea.style.height = "auto";
122
- this.value = "";
123
+ }
124
+ else if (e.key === "ArrowUp" && this.ai) {
125
+ this.arrowUpPressed.emit();
123
126
  }
124
127
  };
125
128
  }
@@ -154,8 +157,9 @@ const GxgFormTextarea = class {
154
157
  "form-element": true,
155
158
  textarea: true,
156
159
  "textarea--resize": this.resize,
157
- }, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onChange: this.handleChange.bind(this), value: this.value, rows: state.mercury && this.grow ? 1 : this.rows, required: this.required, style: { height: this.height, maxHeight: this.maxHeight }, part: "textarea", onFocus: this.focusHandler, onBlur: this.blurHandler, onKeyDown: this.keyDownHandler }), this.toolTip ? formTooltipLogic(this, true) : null), !this.toolTip ? formMessageLogic(this) : null));
160
+ }, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onChange: this.handleChange.bind(this), value: this.value, rows: state.mercury && this.ai ? 1 : this.rows, required: this.required, style: { height: this.height, maxHeight: this.maxHeight }, part: "textarea", onFocus: this.focusHandler, onBlur: this.blurHandler, onKeyDown: this.keyDownHandler }), this.toolTip ? formTooltipLogic(this, true) : null), !this.toolTip ? formMessageLogic(this) : null));
158
161
  }
162
+ static get delegatesFocus() { return true; }
159
163
  get el() { return getElement(this); }
160
164
  };
161
165
  GxgFormTextarea.style = formTextareaCss;