@genexus/genexus-ide-ui 0.0.12 → 0.0.13

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 (270) hide show
  1. package/dist/cjs/ch-grid-action-refresh_6.cjs.entry.js +359 -0
  2. package/dist/cjs/ch-grid-rowset-legend_2.cjs.entry.js +51 -0
  3. package/dist/cjs/{ch-grid_9.cjs.entry.js → ch-grid_7.cjs.entry.js} +130 -332
  4. package/dist/cjs/ch-suggest-list-item.cjs.entry.js +11 -16
  5. package/dist/cjs/ch-suggest-list.cjs.entry.js +10 -10
  6. package/dist/cjs/ch-suggest.cjs.entry.js +51 -47
  7. package/dist/cjs/form-validation-87e3749d.js +68 -0
  8. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  9. package/dist/cjs/{gxg-combo-box_8.cjs.entry.js → gx-ide-container_10.cjs.entry.js} +334 -231
  10. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +118 -0
  12. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +36 -87
  13. package/dist/cjs/gx-ide-template.cjs.entry.js +11 -12
  14. package/dist/cjs/gxg-breadcrumb.cjs.entry.js +0 -1
  15. package/dist/cjs/gxg-button-group.cjs.entry.js +1 -1
  16. package/dist/cjs/gxg-button.cjs.entry.js +2 -2
  17. package/dist/cjs/gxg-container.cjs.entry.js +215 -0
  18. package/dist/cjs/gxg-date-picker.cjs.entry.js +1 -1
  19. package/dist/cjs/gxg-drop-down.cjs.entry.js +1 -1
  20. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +3 -1
  21. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +76 -36
  22. package/dist/cjs/gxg-form-text.cjs.entry.js +17 -5
  23. package/dist/cjs/gxg-form-textarea.cjs.entry.js +1 -1
  24. package/dist/cjs/gxg-list-box.cjs.entry.js +3 -2
  25. package/dist/cjs/gxg-menu-item.cjs.entry.js +59 -12
  26. package/dist/cjs/gxg-menu-list.cjs.entry.js +28 -0
  27. package/dist/cjs/gxg-menu.cjs.entry.js +228 -12
  28. package/dist/cjs/gxg-option.cjs.entry.js +1 -1
  29. package/dist/cjs/gxg-paginator.cjs.entry.js +1 -1
  30. package/dist/cjs/gxg-select.cjs.entry.js +1 -1
  31. package/dist/cjs/gxg-suggest.cjs.entry.js +26 -3
  32. package/dist/cjs/gxg-test.cjs.entry.js +36 -10
  33. package/dist/cjs/gxg-text.cjs.entry.js +23 -11
  34. package/dist/cjs/gxg-title.cjs.entry.js +11 -7
  35. package/dist/cjs/gxg-tree-item.cjs.entry.js +30 -43
  36. package/dist/cjs/gxg-tree.cjs.entry.js +0 -4
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/cjs/{repositionScroll-e3ae1947.js → reposition-scroll-accee84c.js} +3 -15
  39. package/dist/cjs/types-e04c9098.js +12 -0
  40. package/dist/collection/collection-manifest.json +6 -1
  41. package/dist/collection/common/common.js +6 -6
  42. package/dist/collection/common/form-validation.js +17 -0
  43. package/dist/collection/common/interfaces.js +3 -1
  44. package/dist/collection/components/_template/gx-ide-assets/template/langs/template.lang.en.json +1 -1
  45. package/dist/collection/components/_template/template.css +90 -6
  46. package/dist/collection/components/_template/template.js +26 -23
  47. package/dist/{node_modules/@genexus/gemini/dist/collection/components/suggest/gxg-suggest.css → collection/components/container/container.css} +118 -120
  48. package/dist/collection/components/container/container.js +535 -0
  49. package/dist/collection/components/entity-selector/entity-selector.css +1 -1
  50. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +26 -0
  51. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +3 -0
  52. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +3 -0
  53. package/dist/collection/components/new-environment/new-environment.css +219 -0
  54. package/dist/collection/components/new-environment/new-environment.js +355 -0
  55. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +1 -0
  56. package/dist/collection/components/new-kb/new-kb.css +100 -8
  57. package/dist/collection/components/new-kb/new-kb.js +88 -84
  58. package/dist/collection/components/top-bar/top-bar.css +17 -0
  59. package/dist/collection/components/top-bar/top-bar.js +62 -0
  60. package/dist/collection/pages/assets/common.js +28 -8
  61. package/dist/components/button-group.js +1 -1
  62. package/dist/components/button.js +2 -2
  63. package/dist/components/ch-grid-rowset-legend.js +1 -32
  64. package/dist/components/ch-grid-rowset-legend2.js +34 -0
  65. package/dist/components/ch-grid2.js +1 -1
  66. package/dist/components/ch-suggest-list-item.js +15 -18
  67. package/dist/components/ch-suggest-list.js +10 -10
  68. package/dist/components/ch-suggest.js +58 -48
  69. package/dist/components/combo-box-item.js +6 -1
  70. package/dist/components/combo-box.js +72 -11
  71. package/dist/components/container.js +83 -156
  72. package/dist/components/form-checkbox.js +4 -2
  73. package/dist/components/form-radio-group.js +244 -0
  74. package/dist/components/form-radio.js +13 -22
  75. package/dist/components/form-text.js +20 -6
  76. package/dist/components/form-validation.js +64 -0
  77. package/dist/components/gx-ide-container.d.ts +11 -0
  78. package/dist/components/gx-ide-container.js +6 -0
  79. package/dist/components/gx-ide-entity-selector.js +1 -1
  80. package/dist/components/gx-ide-new-environment.d.ts +11 -0
  81. package/dist/components/gx-ide-new-environment.js +258 -0
  82. package/dist/components/gx-ide-new-kb.js +55 -93
  83. package/dist/components/gx-ide-template.js +67 -14
  84. package/dist/components/gx-ide-top-bar.d.ts +11 -0
  85. package/dist/components/gx-ide-top-bar.js +6 -0
  86. package/dist/components/gxg-breadcrumb.js +0 -1
  87. package/dist/components/gxg-container.js +251 -1
  88. package/dist/components/gxg-date-picker.js +1 -1
  89. package/dist/components/gxg-drop-down.js +1 -1
  90. package/dist/components/gxg-form-checkbox-group.js +6 -0
  91. package/dist/components/gxg-form-checkbox-group2.js +109 -0
  92. package/dist/components/gxg-form-radio-group.js +1 -202
  93. package/dist/components/gxg-form-textarea.js +1 -1
  94. package/dist/components/gxg-grid.js +1 -44
  95. package/dist/components/gxg-grid2.js +46 -0
  96. package/dist/components/gxg-list-box.js +2 -2
  97. package/dist/components/gxg-menu-item.js +64 -15
  98. package/dist/components/gxg-menu-list.js +50 -0
  99. package/dist/components/gxg-menu.js +233 -14
  100. package/dist/components/gxg-option.js +1 -1
  101. package/dist/components/gxg-paginator.js +1 -1
  102. package/dist/components/gxg-select.js +1 -1
  103. package/dist/components/gxg-suggest.js +32 -4
  104. package/dist/components/gxg-test.js +110 -16
  105. package/dist/components/gxg-text.js +27 -12
  106. package/dist/components/gxg-tree-item2.js +31 -43
  107. package/dist/components/gxg-tree2.js +0 -4
  108. package/dist/components/index.d.ts +3 -0
  109. package/dist/components/index.js +5 -0
  110. package/dist/{esm/repositionScroll-9d3ee138.js → components/reposition-scroll.js} +2 -13
  111. package/dist/components/tab-button.js +1 -1
  112. package/dist/components/tab.js +17 -2
  113. package/dist/components/title.js +13 -8
  114. package/dist/components/top-bar.js +74 -0
  115. package/dist/components/types.js +10 -0
  116. package/dist/esm/ch-grid-action-refresh_6.entry.js +350 -0
  117. package/dist/esm/ch-grid-rowset-legend_2.entry.js +46 -0
  118. package/dist/esm/{ch-grid_9.entry.js → ch-grid_7.entry.js} +125 -325
  119. package/dist/esm/ch-suggest-list-item.entry.js +11 -16
  120. package/dist/esm/ch-suggest-list.entry.js +10 -10
  121. package/dist/esm/ch-suggest.entry.js +51 -47
  122. package/dist/esm/form-validation-a6686ca1.js +64 -0
  123. package/dist/esm/genexus-ide-ui.js +1 -1
  124. package/dist/esm/{gxg-combo-box_8.entry.js → gx-ide-container_10.entry.js} +325 -224
  125. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  126. package/dist/esm/gx-ide-new-environment.entry.js +114 -0
  127. package/dist/esm/gx-ide-new-kb.entry.js +36 -87
  128. package/dist/esm/gx-ide-template.entry.js +11 -12
  129. package/dist/esm/gxg-breadcrumb.entry.js +0 -1
  130. package/dist/esm/gxg-button-group.entry.js +1 -1
  131. package/dist/esm/gxg-button.entry.js +2 -2
  132. package/dist/esm/gxg-container.entry.js +211 -0
  133. package/dist/esm/gxg-date-picker.entry.js +1 -1
  134. package/dist/esm/gxg-drop-down.entry.js +1 -1
  135. package/dist/esm/gxg-form-checkbox.entry.js +4 -2
  136. package/dist/esm/gxg-form-radio-group.entry.js +77 -37
  137. package/dist/esm/gxg-form-text.entry.js +17 -5
  138. package/dist/esm/gxg-form-textarea.entry.js +1 -1
  139. package/dist/esm/gxg-list-box.entry.js +3 -2
  140. package/dist/esm/gxg-menu-item.entry.js +60 -13
  141. package/dist/esm/gxg-menu-list.entry.js +24 -0
  142. package/dist/esm/gxg-menu.entry.js +228 -12
  143. package/dist/esm/gxg-option.entry.js +1 -1
  144. package/dist/esm/gxg-paginator.entry.js +1 -1
  145. package/dist/esm/gxg-select.entry.js +1 -1
  146. package/dist/esm/gxg-suggest.entry.js +26 -3
  147. package/dist/esm/gxg-test.entry.js +36 -10
  148. package/dist/esm/gxg-text.entry.js +23 -11
  149. package/dist/esm/gxg-title.entry.js +11 -7
  150. package/dist/esm/gxg-tree-item.entry.js +30 -43
  151. package/dist/esm/gxg-tree.entry.js +0 -4
  152. package/dist/esm/loader.js +1 -1
  153. package/dist/{components/repositionScroll.js → esm/reposition-scroll-3478b46f.js} +2 -13
  154. package/dist/esm/types-02481dff.js +10 -0
  155. package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -2
  156. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  157. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +26 -0
  158. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +3 -0
  159. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +3 -0
  160. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +1 -0
  161. package/dist/genexus-ide-ui/gx-ide-assets/template/langs/template.lang.en.json +1 -1
  162. package/dist/genexus-ide-ui/{p-7e7af90d.entry.js → p-01e9d3aa.entry.js} +1 -1
  163. package/dist/genexus-ide-ui/p-05ad8cad.js +1 -0
  164. package/dist/genexus-ide-ui/p-0a8bd33f.entry.js +1 -0
  165. package/dist/genexus-ide-ui/p-0a954e0f.entry.js +1 -0
  166. package/dist/genexus-ide-ui/{p-9292edf8.entry.js → p-18936375.entry.js} +1 -1
  167. package/dist/genexus-ide-ui/p-203ea363.entry.js +1 -0
  168. package/dist/genexus-ide-ui/p-20a45778.entry.js +1 -0
  169. package/dist/genexus-ide-ui/{p-fed1d2ba.entry.js → p-23d4b295.entry.js} +1 -1
  170. package/dist/genexus-ide-ui/p-408bdfc6.entry.js +1 -0
  171. package/dist/genexus-ide-ui/p-4198315e.entry.js +1 -0
  172. package/dist/genexus-ide-ui/{p-944e787a.entry.js → p-41e8442b.entry.js} +1 -1
  173. package/dist/genexus-ide-ui/p-4d572963.entry.js +1 -0
  174. package/dist/genexus-ide-ui/p-4e78d56d.entry.js +1 -0
  175. package/dist/genexus-ide-ui/p-5463844e.entry.js +1 -0
  176. package/dist/genexus-ide-ui/p-6a84b339.js +1 -0
  177. package/dist/genexus-ide-ui/p-6bee904e.entry.js +1 -0
  178. package/dist/genexus-ide-ui/{p-1cedf0b2.entry.js → p-7137b4cf.entry.js} +1 -1
  179. package/dist/genexus-ide-ui/p-75961324.entry.js +1 -0
  180. package/dist/genexus-ide-ui/p-7a5e0988.entry.js +1 -0
  181. package/dist/genexus-ide-ui/p-7c2068c2.entry.js +1 -0
  182. package/dist/genexus-ide-ui/{p-c0360787.entry.js → p-7fa78be9.entry.js} +1 -1
  183. package/dist/genexus-ide-ui/p-89d0ef14.entry.js +1 -0
  184. package/dist/genexus-ide-ui/p-925cb9fe.js +1 -0
  185. package/dist/genexus-ide-ui/p-9e32e006.entry.js +1 -0
  186. package/dist/genexus-ide-ui/{p-8eb472e6.entry.js → p-a985b448.entry.js} +1 -1
  187. package/dist/genexus-ide-ui/p-ad9fe469.entry.js +1 -0
  188. package/dist/genexus-ide-ui/p-ae1871e4.entry.js +1 -0
  189. package/dist/genexus-ide-ui/{p-8ae0846e.entry.js → p-af0ac52d.entry.js} +1 -1
  190. package/dist/genexus-ide-ui/p-b3727324.entry.js +1 -0
  191. package/dist/genexus-ide-ui/p-b4e4fc69.entry.js +1 -0
  192. package/dist/genexus-ide-ui/p-c670dcba.entry.js +1 -0
  193. package/dist/genexus-ide-ui/p-e377e5be.entry.js +1 -0
  194. package/dist/genexus-ide-ui/p-eb8e9655.entry.js +1 -0
  195. package/dist/genexus-ide-ui/p-ecedca13.entry.js +1 -0
  196. package/dist/genexus-ide-ui/p-f5aa333b.entry.js +1 -0
  197. package/dist/genexus-ide-ui/{p-01795e05.entry.js → p-f6536bbc.entry.js} +1 -1
  198. package/dist/genexus-ide-ui/{p-f739d5dc.entry.js → p-ff877c22.entry.js} +1 -1
  199. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.css +28 -6
  200. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.css +6 -0
  201. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.css +13 -0
  202. package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +1 -1
  203. package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +1 -1
  204. package/dist/node_modules/@genexus/gemini/dist/collection/components/drop-down/drop-down.css +1 -1
  205. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +14 -1
  206. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox-group/gxg-form-checkbox-group.css +336 -0
  207. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-option/option.css +1 -1
  208. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio/form-radio.css +2 -2
  209. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +2 -2
  210. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-select/select.css +1 -1
  211. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +1 -1
  212. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +1 -1
  213. package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +344 -10
  214. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +1 -1
  215. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu.css +31 -23
  216. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-item/menu-item.css +35 -11
  217. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-list/menu-list.css +340 -0
  218. package/dist/node_modules/@genexus/gemini/dist/collection/components/paginator/gxg-paginator.css +1 -1
  219. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +617 -0
  220. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +10 -0
  221. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +1 -1
  222. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +35 -9
  223. package/dist/node_modules/@genexus/gemini/dist/collection/components/title/title.css +27 -0
  224. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +1 -1
  225. package/dist/types/common/common.d.ts +4 -4
  226. package/dist/types/common/form-validation.d.ts +2 -0
  227. package/dist/types/common/interfaces.d.ts +0 -3
  228. package/dist/types/common/types.d.ts +10 -18
  229. package/dist/types/components/_template/template.d.ts +5 -5
  230. package/dist/types/components/container/container.d.ts +117 -0
  231. package/dist/types/components/new-environment/new-environment.d.ts +91 -0
  232. package/dist/types/components/new-kb/new-kb.d.ts +43 -38
  233. package/dist/types/components/top-bar/top-bar.d.ts +14 -0
  234. package/dist/types/components.d.ts +345 -35
  235. package/package.json +5 -2
  236. package/dist/cjs/ch-grid-column-resize_2.cjs.entry.js +0 -94
  237. package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +0 -23
  238. package/dist/cjs/ch-grid-settings_2.cjs.entry.js +0 -62
  239. package/dist/cjs/gxg-grid.cjs.entry.js +0 -34
  240. package/dist/cjs/helpers-00cb4402.js +0 -12
  241. package/dist/esm/ch-grid-column-resize_2.entry.js +0 -89
  242. package/dist/esm/ch-grid-rowset-legend.entry.js +0 -19
  243. package/dist/esm/ch-grid-settings_2.entry.js +0 -57
  244. package/dist/esm/gxg-grid.entry.js +0 -30
  245. package/dist/esm/helpers-78ca0d8a.js +0 -10
  246. package/dist/genexus-ide-ui/p-161b5c92.entry.js +0 -1
  247. package/dist/genexus-ide-ui/p-18c86754.entry.js +0 -1
  248. package/dist/genexus-ide-ui/p-215a6957.entry.js +0 -1
  249. package/dist/genexus-ide-ui/p-26000a72.entry.js +0 -1
  250. package/dist/genexus-ide-ui/p-26b1d9c2.entry.js +0 -1
  251. package/dist/genexus-ide-ui/p-3182ba74.entry.js +0 -1
  252. package/dist/genexus-ide-ui/p-3c6099ff.entry.js +0 -1
  253. package/dist/genexus-ide-ui/p-421bd2fb.entry.js +0 -1
  254. package/dist/genexus-ide-ui/p-783b8e55.entry.js +0 -1
  255. package/dist/genexus-ide-ui/p-7b79281c.entry.js +0 -1
  256. package/dist/genexus-ide-ui/p-7dead490.entry.js +0 -1
  257. package/dist/genexus-ide-ui/p-847aca21.entry.js +0 -1
  258. package/dist/genexus-ide-ui/p-84a47196.entry.js +0 -1
  259. package/dist/genexus-ide-ui/p-8f89e354.entry.js +0 -1
  260. package/dist/genexus-ide-ui/p-a04ce551.entry.js +0 -1
  261. package/dist/genexus-ide-ui/p-ad1b71a0.js +0 -1
  262. package/dist/genexus-ide-ui/p-b31a9621.entry.js +0 -1
  263. package/dist/genexus-ide-ui/p-b7a03c38.js +0 -1
  264. package/dist/genexus-ide-ui/p-b7c204b2.entry.js +0 -1
  265. package/dist/genexus-ide-ui/p-c3c9f7a2.entry.js +0 -1
  266. package/dist/genexus-ide-ui/p-c714cf27.entry.js +0 -1
  267. package/dist/genexus-ide-ui/p-da94ba10.entry.js +0 -1
  268. package/dist/genexus-ide-ui/p-de120e4b.entry.js +0 -1
  269. package/dist/genexus-ide-ui/p-e82e2182.entry.js +0 -1
  270. package/dist/genexus-ide-ui/p-e9d84bbe.entry.js +0 -1
@@ -1,5 +1,4 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f0a5746.js';
2
- import { m as mouseEventModifierKey } from './helpers-78ca0d8a.js';
3
2
 
4
3
  /**
5
4
  * The `ch-grid-row` component represents a grid row.
@@ -283,7 +282,7 @@ class HTMLChGridRowsetElement extends HTMLElement {
283
282
  }
284
283
  hasLegend() {
285
284
  var _a;
286
- return ((_a = this.firstElementChild) === null || _a === void 0 ? void 0 : _a.tagName) === "ch-grid-rowset-legend";
285
+ return ((_a = this.firstElementChild) === null || _a === void 0 ? void 0 : _a.tagName) === "CH-GRID-ROWSET-LEGEND";
287
286
  }
288
287
  isNestedRow() {
289
288
  return this.parentElement.tagName === "CH-GRID-ROW";
@@ -1803,6 +1802,15 @@ class ChGridManager {
1803
1802
  }
1804
1803
  }
1805
1804
 
1805
+ function mouseEventModifierKey(eventInfo) {
1806
+ if (navigator.userAgent.includes("Mac")) {
1807
+ return eventInfo.metaKey;
1808
+ }
1809
+ else {
1810
+ return eventInfo.ctrlKey;
1811
+ }
1812
+ }
1813
+
1806
1814
  const chGridCss = ":host{display:flex;position:relative;flex-direction:column;--ch-grid-cell-active-layer:calc(var(--ch-grid-base-layer) * 1);--ch-grid-column-header-layer:calc(var(--ch-grid-base-layer) * 2);--ch-grid-column-freeze-layer:calc(var(--ch-grid-base-layer) * 4);--ch-grid-column-active-layer:calc(var(--ch-grid-base-layer) * 8);--ch-grid-settings-layer:calc(var(--ch-grid-base-layer) * 16)}.main{display:none;grid-auto-flow:dense;overflow-x:auto;user-select:none}";
1807
1815
 
1808
1816
  const ChGrid = class {
@@ -2367,54 +2375,6 @@ const ChGrid = class {
2367
2375
  };
2368
2376
  ChGrid.style = chGridCss;
2369
2377
 
2370
- const chGridActionRefreshCss = "@layer ch-grid {\n ch-grid-action-refresh[disabled] {\n pointer-events: none;\n }\n}";
2371
-
2372
- const ChGridActionRefresh = class {
2373
- constructor(hostRef) {
2374
- registerInstance(this, hostRef);
2375
- this.refreshClicked = createEvent(this, "refreshClicked", 7);
2376
- }
2377
- pressedHandler(eventInfo) {
2378
- if (!eventInfo.key || eventInfo.key === "Enter" || eventInfo.key === " ") {
2379
- this.refreshClicked.emit();
2380
- eventInfo.stopPropagation();
2381
- }
2382
- }
2383
- render() {
2384
- return h(Host, { role: "button", tabindex: "0", disabled: this.disabled });
2385
- }
2386
- };
2387
- ChGridActionRefresh.style = chGridActionRefreshCss;
2388
-
2389
- const chGridActionSettingsCss = "@layer ch-grid {\n ch-grid-action-settings[disabled] {\n pointer-events: none;\n }\n}";
2390
-
2391
- const ChGridActionSettings = class {
2392
- constructor(hostRef) {
2393
- registerInstance(this, hostRef);
2394
- this.settingsShowClicked = createEvent(this, "settingsShowClicked", 7);
2395
- }
2396
- pressedHandler(eventInfo) {
2397
- if (!eventInfo.key || eventInfo.key === "Enter" || eventInfo.key === " ") {
2398
- this.settingsShowClicked.emit();
2399
- eventInfo.stopPropagation();
2400
- }
2401
- }
2402
- render() {
2403
- return h(Host, { role: "button", tabindex: "0", disabled: this.disabled });
2404
- }
2405
- };
2406
- ChGridActionSettings.style = chGridActionSettingsCss;
2407
-
2408
- const chGridActionbarCss = "";
2409
-
2410
- const ChGridActionbar = class {
2411
- constructor(hostRef) {
2412
- registerInstance(this, hostRef);
2413
- }
2414
- get el() { return getElement(this); }
2415
- };
2416
- ChGridActionbar.style = chGridActionbarCss;
2417
-
2418
2378
  const chGridColumnCss = ":host{display:flex;position:sticky;top:0}:host{background-color:inherit;margin-block-start:inherit;margin-block-end:inherit;border-block-start:inherit;border-block-end:inherit;padding-block-start:inherit;padding-block-end:inherit;transition:transform var(--column-drag-transition-duration, 0.2s)}:host{--ch-grid-column-z-index-head:var(--ch-grid-column-header-layer)}:host([show-settings]),:host([resizing]){--ch-grid-column-z-index-active:var(--ch-grid-column-active-layer)}:host([sort-direction=asc]) .bar .sort .sort-asc{visibility:visible}:host([sort-direction=desc]) .bar .sort .sort-desc{visibility:visible}.bar{list-style-type:none;margin:0;padding:0;display:flex;align-items:center}.bar .selector{overflow:hidden;order:0}.bar .selector:not([hidden]){display:flex}.bar .name{display:flex;overflow:hidden;order:1}.bar .name .name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar .sort{position:relative;align-items:center;order:2}.bar .sort:not([hidden]){display:flex}.bar .sort .sort-asc{visibility:hidden;animation-fill-mode:forwards}.bar .sort .sort-desc{position:absolute;visibility:hidden;animation-fill-mode:forwards}.bar .settings{order:3}.bar .resize{align-self:stretch;margin-left:auto;order:4}@keyframes column-sort{0%{opacity:0}10%{opacity:1}90%{opacity:1}100%{opacity:0}}";
2419
2379
 
2420
2380
  const ChGridColumn = class {
@@ -2617,321 +2577,161 @@ const ChGridColumn = class {
2617
2577
  };
2618
2578
  ChGridColumn.style = chGridColumnCss;
2619
2579
 
2620
- const chGridColumnsetCss = "@layer ch-grid {\n ch-grid-columnset {\n display: contents;\n }\n}\n@layer ch-grid {\n ch-grid-row {\n display: contents;\n }\n\n ch-grid-row[collapsed] > ch-grid-rowset {\n display: none;\n }\n\n ch-grid-row:is([leaf=\"false\"], :has(> ch-grid-rowset)) > ch-grid-cell::part(caret) {\n visibility: visible;\n }\n\n ch-grid-row[dragging] {\n display: flex;\n position: fixed;\n pointer-events: none;\n box-shadow: rgba(0, 0, 0, 0.7) 0px 5px 15px;\n z-index: 1000;\n transition: top var(--row-drag-transition-duration, 0.1s);\n }\n}\n@layer ch-grid {\n ch-grid-rowset {\n display: contents;\n }\n\n ch-grid-rowset[collapsed] > :not(ch-grid-rowset-legend) {\n display: none;\n }\n}\n@layer ch-grid {\n ch-grid-cell {\n position: sticky;\n grid-column: var(--grid-column);\n transition: transform var(--column-drag-transition-duration, 0.2s);\n }\n\n ch-grid-cell[selected] {\n --ch-grid-cell-z-index-active: var(--ch-grid-cell-active-layer);\n }\n\n ch-grid-cell,\nch-grid-row[selected] > ch-grid-cell,\nch-grid-row[highlighted] > ch-grid-cell {\n background-color: inherit;\n margin-block-start: inherit;\n margin-block-end: inherit;\n border-block-start: inherit;\n border-block-end: inherit;\n padding-block-start: inherit;\n padding-block-end: inherit;\n }\n\n ch-grid-cell:before {\n margin-inline-start: calc(var(--indent) * var(--level));\n }\n\n ch-grid-cell::part(indent) {\n width: calc(var(--indent) * var(--level));\n }\n\n ch-grid-cell::part(caret) {\n visibility: hidden;\n }\n}";
2580
+ const chGridColumnResizeCss = ":host{display:block;min-width:1px;height:100%;cursor:ew-resize}.resize-mask{position:fixed;inset:0}";
2621
2581
 
2622
- const ChGridColumnset = class {
2582
+ const ChGridColumnResize = class {
2623
2583
  constructor(hostRef) {
2624
2584
  registerInstance(this, hostRef);
2625
- }
2626
- columnSortChangedHandler(eventInfo) {
2627
- const columns = Array.from(this.el.querySelectorAll("ch-grid-column"));
2628
- columns.forEach(column => {
2629
- if (column.columnId !== eventInfo.detail.columnId) {
2630
- column.sortDirection = null;
2631
- }
2632
- });
2633
- }
2634
- get el() { return getElement(this); }
2635
- };
2636
- ChGridColumnset.style = chGridColumnsetCss;
2637
-
2638
- const chPaginatorCss = ":host{display:flex}";
2639
-
2640
- const ChPaginator = class {
2641
- constructor(hostRef) {
2642
- registerInstance(this, hostRef);
2643
- this.activePageChanged = createEvent(this, "activePageChanged", 7);
2644
- this.pageNavigationRequested = createEvent(this, "pageNavigationRequested", 7);
2645
- /**
2646
- * The active page number.
2647
- */
2648
- this.activePage = 1;
2649
- /**
2650
- * The total number of pages.
2651
- * Use -1 if not known and 'hasNextPage' property to indicate
2652
- * that the end has been reached.
2653
- */
2654
- this.totalPages = 1;
2585
+ this.columnResizeStarted = createEvent(this, "columnResizeStarted", 7);
2586
+ this.columnResizeFinished = createEvent(this, "columnResizeFinished", 7);
2587
+ this.mousemoveFn = this.mousemoveHandler.bind(this);
2655
2588
  /**
2656
- * Indicates that the end has been reached.
2657
- * Use when total pages are not known (totalPages = -1).
2589
+ * Whether the component is currently resizing the column.
2658
2590
  */
2659
- this.hasNextPage = false;
2660
- }
2661
- activePageHandler() {
2662
- this.activePageChanged.emit({ activePage: this.activePage });
2591
+ this.resizing = false;
2663
2592
  }
2664
- componentWillLoad() {
2665
- this.loadElements();
2593
+ componentDidLoad() {
2594
+ this.el.addEventListener("mousedown", this.mousedownHandler.bind(this));
2666
2595
  }
2667
- navigateClickedHandler(eventInfo) {
2596
+ clickHandler(eventInfo) {
2668
2597
  eventInfo.stopPropagation();
2669
- switch (eventInfo.detail.type) {
2670
- case "first":
2671
- this.first();
2672
- break;
2673
- case "previous":
2674
- this.previous();
2675
- break;
2676
- case "next":
2677
- this.next();
2678
- break;
2679
- case "last":
2680
- this.last();
2681
- break;
2682
- }
2683
- this.pageNavigationRequested.emit({ type: eventInfo.detail.type });
2684
2598
  }
2685
- pageChangedHandler(eventInfo) {
2599
+ dblclickHandler(eventInfo) {
2686
2600
  eventInfo.stopPropagation();
2687
- const emitPageNavigationRequested = this.activePage !== eventInfo.detail.page;
2688
- this.activePage = eventInfo.detail.page;
2689
- if (emitPageNavigationRequested) {
2690
- this.pageNavigationRequested.emit({
2691
- type: "goto",
2692
- page: eventInfo.detail.page
2693
- });
2601
+ if (mouseEventModifierKey(eventInfo)) {
2602
+ this.column.size = "auto";
2603
+ }
2604
+ else {
2605
+ this.column.size = "max-content";
2694
2606
  }
2695
2607
  }
2696
- loadElements() {
2697
- this.elPages = this.el.querySelector("ch-paginator-pages");
2698
- this.elFirst = this.el.querySelector("ch-paginator-navigate[type='first']");
2699
- this.elPrevious = this.el.querySelector("ch-paginator-navigate[type='previous']");
2700
- this.elNext = this.el.querySelector("ch-paginator-navigate[type='next']");
2701
- this.elLast = this.el.querySelector("ch-paginator-navigate[type='last']");
2608
+ columnResizeStartedHandler() {
2609
+ this.resizing = true;
2702
2610
  }
2703
- keyDownHandler(eventInfo) {
2704
- switch (eventInfo.key) {
2705
- case "Home":
2706
- this.first();
2707
- this.elFirst.focus();
2708
- break;
2709
- case "PageUp":
2710
- this.previous();
2711
- this.elPrevious.focus();
2712
- break;
2713
- case "PageDown":
2714
- this.next();
2715
- this.elNext.focus();
2716
- break;
2717
- case "End":
2718
- this.last();
2719
- this.elLast.focus();
2720
- break;
2611
+ columnResizeFinishedHandler() {
2612
+ this.resizing = false;
2613
+ }
2614
+ mousedownHandler(eventInfo) {
2615
+ eventInfo.stopPropagation();
2616
+ eventInfo.preventDefault();
2617
+ this.startPageX = eventInfo.pageX;
2618
+ this.startColumnWidth = this.column.getBoundingClientRect().width;
2619
+ document.addEventListener("mousemove", this.mousemoveFn, { passive: true });
2620
+ document.addEventListener("mouseup", this.mouseupHandler.bind(this), {
2621
+ once: true
2622
+ });
2623
+ this.columnResizeStarted.emit();
2624
+ }
2625
+ mousemoveHandler(eventInfo) {
2626
+ const columnSize = this.startColumnWidth - (this.startPageX - eventInfo.pageX);
2627
+ if (columnSize >= 0) {
2628
+ this.column.size = `minmax(min-content, ${columnSize}px)`;
2721
2629
  }
2722
2630
  }
2723
- first() {
2724
- this.activePage = 1;
2631
+ mouseupHandler() {
2632
+ document.removeEventListener("mousemove", this.mousemoveFn);
2633
+ this.columnResizeFinished.emit();
2725
2634
  }
2726
- previous() {
2727
- this.activePage = Math.max(this.activePage - 1, 1);
2635
+ render() {
2636
+ return h("div", { class: "resize-mask", hidden: !this.resizing });
2637
+ }
2638
+ get el() { return getElement(this); }
2639
+ };
2640
+ ChGridColumnResize.style = chGridColumnResizeCss;
2641
+
2642
+ const chGridColumnSettingsCss = ":host{display:contents}";
2643
+
2644
+ const ChGridColumnSettings = class {
2645
+ constructor(hostRef) {
2646
+ registerInstance(this, hostRef);
2647
+ /**
2648
+ * Indicates whether the settings window is currently shown or not.
2649
+ */
2650
+ this.show = false;
2728
2651
  }
2729
- next() {
2730
- this.activePage =
2731
- this.totalPages < 0
2732
- ? this.activePage + 1
2733
- : Math.min(this.activePage + 1, this.totalPages);
2652
+ windowClosedHandler(eventInfo) {
2653
+ eventInfo.stopPropagation();
2654
+ this.column.showSettings = false;
2734
2655
  }
2735
- last() {
2736
- this.activePage = this.totalPages;
2656
+ columnSettingsChangedHandler() {
2657
+ this.column.showSettings = false;
2737
2658
  }
2738
2659
  render() {
2739
- if (this.elPages) {
2740
- this.elPages.totalPages = this.totalPages;
2741
- this.elPages.page = this.activePage;
2742
- }
2743
- if (this.elFirst) {
2744
- this.elFirst.disabled = this.activePage === 1;
2745
- }
2746
- if (this.elPrevious) {
2747
- this.elPrevious.disabled = this.activePage === 1;
2748
- }
2749
- if (this.elNext) {
2750
- this.elNext.disabled =
2751
- this.activePage === this.totalPages ||
2752
- (this.totalPages < 0 && !this.hasNextPage);
2753
- }
2754
- if (this.elLast) {
2755
- this.elLast.disabled =
2756
- this.activePage === this.totalPages ||
2757
- (this.totalPages < 0 && !this.hasNextPage);
2758
- }
2660
+ return (h(Host, null, h("ch-window", { modal: true, container: this.column, xAlign: "inside-start", yAlign: "outside-end", caption: this.column.columnName, closeText: "Close", closeOnOutsideClick: true, closeOnEscape: true, allowDrag: "header", hidden: !this.show, exportparts: "mask,window,header,caption,close,main,footer" }, h("slot", null))));
2661
+ }
2662
+ };
2663
+ ChGridColumnSettings.style = chGridColumnSettingsCss;
2664
+
2665
+ const chGridColumnsetCss = "@layer ch-grid {\n ch-grid-columnset {\n display: contents;\n }\n}\n@layer ch-grid {\n ch-grid-row {\n display: contents;\n }\n\n ch-grid-row[collapsed] > ch-grid-rowset {\n display: none;\n }\n\n ch-grid-row:is([leaf=\"false\"], :has(> ch-grid-rowset)) > ch-grid-cell::part(caret) {\n visibility: visible;\n }\n\n ch-grid-row[dragging] {\n display: flex;\n position: fixed;\n pointer-events: none;\n box-shadow: rgba(0, 0, 0, 0.7) 0px 5px 15px;\n z-index: 1000;\n transition: top var(--row-drag-transition-duration, 0.1s);\n }\n}\n@layer ch-grid {\n ch-grid-rowset {\n display: contents;\n }\n\n ch-grid-rowset[collapsed] > :not(ch-grid-rowset-legend) {\n display: none;\n }\n}\n@layer ch-grid {\n ch-grid-cell {\n position: sticky;\n grid-column: var(--grid-column);\n transition: transform var(--column-drag-transition-duration, 0.2s);\n }\n\n ch-grid-cell[selected] {\n --ch-grid-cell-z-index-active: var(--ch-grid-cell-active-layer);\n }\n\n ch-grid-cell,\nch-grid-row[selected] > ch-grid-cell,\nch-grid-row[highlighted] > ch-grid-cell {\n background-color: inherit;\n margin-block-start: inherit;\n margin-block-end: inherit;\n border-block-start: inherit;\n border-block-end: inherit;\n padding-block-start: inherit;\n padding-block-end: inherit;\n }\n\n ch-grid-cell:before {\n margin-inline-start: calc(var(--indent) * var(--level));\n }\n\n ch-grid-cell::part(indent) {\n width: calc(var(--indent) * var(--level));\n }\n\n ch-grid-cell::part(caret) {\n visibility: hidden;\n }\n}";
2666
+
2667
+ const ChGridColumnset = class {
2668
+ constructor(hostRef) {
2669
+ registerInstance(this, hostRef);
2670
+ }
2671
+ columnSortChangedHandler(eventInfo) {
2672
+ const columns = Array.from(this.el.querySelectorAll("ch-grid-column"));
2673
+ columns.forEach(column => {
2674
+ if (column.columnId !== eventInfo.detail.columnId) {
2675
+ column.sortDirection = null;
2676
+ }
2677
+ });
2759
2678
  }
2760
2679
  get el() { return getElement(this); }
2761
- static get watchers() { return {
2762
- "activePage": ["activePageHandler"]
2763
- }; }
2764
2680
  };
2765
- ChPaginator.style = chPaginatorCss;
2681
+ ChGridColumnset.style = chGridColumnsetCss;
2766
2682
 
2767
- const chPaginatorNavigateCss = "ch-paginator-navigate[disabled]{pointer-events:none}";
2683
+ const chGridSettingsCss = ":host{display:contents;--ch-window-mask-z-index:var(--ch-grid-settings-layer)}";
2768
2684
 
2769
- const ChPaginatorNavigate = class {
2685
+ const ChGridSettings = class {
2770
2686
  constructor(hostRef) {
2771
2687
  registerInstance(this, hostRef);
2772
- this.navigateClicked = createEvent(this, "navigateClicked", 7);
2688
+ this.settingsCloseClicked = createEvent(this, "settingsCloseClicked", 7);
2689
+ /**
2690
+ * Indicates whether the settings window is currently shown or not.
2691
+ */
2692
+ this.show = false;
2773
2693
  }
2774
- pressedHandler(eventInfo) {
2775
- if (!eventInfo.key || eventInfo.key === "Enter" || eventInfo.key === " ") {
2776
- this.navigateClicked.emit({ type: this.type });
2777
- eventInfo.stopPropagation();
2778
- }
2694
+ windowClosedHandler(eventInfo) {
2695
+ eventInfo.stopPropagation();
2696
+ this.show = false;
2697
+ this.settingsCloseClicked.emit();
2779
2698
  }
2780
2699
  render() {
2781
- return h(Host, { role: "button", tabindex: "0", disabled: this.disabled });
2700
+ return (h(Host, null, h("ch-window", { modal: true, container: this.grid, caption: "Options", closeText: "Close", closeOnOutsideClick: true, closeOnEscape: true, allowDrag: "header", hidden: !this.show, exportparts: "mask,window,header,caption,close,main,footer" }, h("slot", null))));
2782
2701
  }
2783
2702
  };
2784
- ChPaginatorNavigate.style = chPaginatorNavigateCss;
2785
-
2786
- var GxControlType;
2787
- (function (GxControlType) {
2788
- GxControlType[GxControlType["EDIT"] = 1] = "EDIT";
2789
- GxControlType[GxControlType["RADIO"] = 4] = "RADIO";
2790
- GxControlType[GxControlType["COMBO"] = 5] = "COMBO";
2791
- GxControlType[GxControlType["CHECK"] = 7] = "CHECK";
2792
- })(GxControlType || (GxControlType = {}));
2793
- var GxControlDataType;
2794
- (function (GxControlDataType) {
2795
- GxControlDataType[GxControlDataType["NUMBER"] = 0] = "NUMBER";
2796
- GxControlDataType[GxControlDataType["CHAR"] = 1] = "CHAR";
2797
- GxControlDataType[GxControlDataType["DATE"] = 2] = "DATE";
2798
- GxControlDataType[GxControlDataType["DATETIME"] = 3] = "DATETIME";
2799
- GxControlDataType[GxControlDataType["VARCHAR"] = 5] = "VARCHAR";
2800
- GxControlDataType[GxControlDataType["LONGVARCHAR"] = 6] = "LONGVARCHAR";
2801
- GxControlDataType[GxControlDataType["BOOLEAN"] = 7] = "BOOLEAN";
2802
- })(GxControlDataType || (GxControlDataType = {}));
2703
+ ChGridSettings.style = chGridSettingsCss;
2803
2704
 
2804
- const gxGridChameleonColumnFilterCss = "";
2705
+ const chGridSettingsColumnsCss = ":host{display:flex;flex-direction:column}ul{display:contents;list-style-type:none}";
2805
2706
 
2806
- const GridChameleonColumnFilter = class {
2707
+ const ChGridSettingsColumns = class {
2807
2708
  constructor(hostRef) {
2808
2709
  registerInstance(this, hostRef);
2809
- this.columnSettingsChanged = createEvent(this, "columnSettingsChanged", 7);
2810
- this.filterEnum = [];
2811
- this.applyClickHandler = () => {
2812
- this.equal = this.getControlValue(this.inputEqual);
2813
- this.less = this.getControlValue(this.inputLess);
2814
- this.greater = this.getControlValue(this.inputGreater);
2815
- this.columnSettingsChanged.emit({
2816
- column: this.column,
2817
- equal: this.equal,
2818
- less: this.less,
2819
- greater: this.greater
2820
- });
2821
- };
2822
- this.resetClickHandler = () => {
2823
- this.equal = "";
2824
- this.less = "";
2825
- this.greater = "";
2826
- this.columnSettingsChanged.emit({
2827
- column: this.column,
2828
- equal: this.equal,
2829
- less: this.less,
2830
- greater: this.greater
2831
- });
2710
+ this.handleClick = (eventInfo) => {
2711
+ const checkbox = eventInfo.target;
2712
+ const column = this.columns.find(column => column.columnId === checkbox.name);
2713
+ column.hidden = !checkbox.checked;
2714
+ eventInfo.stopPropagation();
2832
2715
  };
2833
2716
  }
2834
- componentWillLoad() {
2835
- if (Array.isArray(this.column.FilterEnum) &&
2836
- this.column.FilterEnum.length > 0) {
2837
- this.filterEnum = this.column.FilterEnum;
2838
- }
2839
- }
2840
- getControlValue(input) {
2841
- var _a;
2842
- const value = (_a = input === null || input === void 0 ? void 0 : input.value) !== null && _a !== void 0 ? _a : "";
2843
- let dataType = this.column.gxControl.dataType;
2844
- if (dataType === GxControlDataType.DATETIME &&
2845
- this.column.FilterDateTimeAsDate === -1) {
2846
- dataType = GxControlDataType.DATE;
2847
- }
2848
- switch (dataType) {
2849
- case GxControlDataType.DATE:
2850
- return gx.date.ctod(value, "Y4MD").toString();
2851
- case GxControlDataType.DATETIME:
2852
- return gx.date.ctot(value, "Y4MD").toString();
2853
- default:
2854
- return value;
2855
- }
2856
- }
2857
- toControlValue(value) {
2858
- let dataType = this.column.gxControl.dataType;
2859
- if (!value) {
2860
- return "";
2861
- }
2862
- if (dataType === GxControlDataType.DATETIME &&
2863
- this.column.FilterDateTimeAsDate === -1) {
2864
- dataType = GxControlDataType.DATE;
2865
- }
2866
- switch (dataType) {
2867
- case GxControlDataType.DATE:
2868
- return this.convertGxDateToISO(gx.date.ctod(value), false);
2869
- case GxControlDataType.DATETIME:
2870
- return this.convertGxDateToISO(gx.date.ctot(value), true);
2871
- default:
2872
- return value;
2873
- }
2874
- }
2875
- convertGxDateToISO(gxdate, isDateTime) {
2876
- const pad = (n) => n.toString().padStart(2, "0");
2877
- const date = gxdate.Value;
2878
- if (gx.date.isNullDate(date)) {
2879
- return "";
2880
- }
2881
- if (isDateTime) {
2882
- return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(date.getMinutes())}`;
2883
- }
2884
- else {
2885
- return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
2886
- }
2887
- }
2888
- getFilterInputType(dataType) {
2889
- switch (dataType) {
2890
- case GxControlDataType.BOOLEAN:
2891
- return "checkbox";
2892
- case GxControlDataType.CHAR:
2893
- case GxControlDataType.VARCHAR:
2894
- case GxControlDataType.LONGVARCHAR:
2895
- return "text";
2896
- case GxControlDataType.DATE:
2897
- return "date";
2898
- case GxControlDataType.DATETIME:
2899
- return "datetime-local";
2900
- case GxControlDataType.NUMBER:
2901
- return "number";
2902
- default:
2903
- return "text";
2904
- }
2905
- }
2906
- renderColumnFilterControl(input, type, dataType, possibleValues, label, value) {
2907
- const part = input.replace("input", "").toLowerCase();
2908
- if (this.filterEnum.length > 0) {
2909
- type = GxControlType.COMBO;
2910
- possibleValues = this.filterEnum.map(filter => [
2911
- filter.Value,
2912
- filter.Description
2913
- ]);
2914
- }
2915
- if (dataType === GxControlDataType.DATETIME &&
2916
- this.column.FilterDateTimeAsDate === -1) {
2917
- dataType = GxControlDataType.DATE;
2918
- }
2919
- switch (type) {
2920
- case GxControlType.EDIT:
2921
- case GxControlType.CHECK:
2922
- return (h("label", { part: `label ${part}` }, label, h("input", { type: this.getFilterInputType(dataType), value: this.toControlValue(value), ref: el => (this[input] = el), part: `field ${part}` })));
2923
- case GxControlType.COMBO:
2924
- return (h("label", { part: `label ${part}` }, label, h("select", { ref: el => (this[input] = el), part: `field ${part}` }, possibleValues.map(([optionValue, optionDescription]) => (h("option", { value: optionValue, selected: optionValue === value }, optionDescription))))));
2925
- }
2717
+ getColumnsSorted() {
2718
+ return [...this.columns].sort((a, b) => {
2719
+ if (a.order < b.order) {
2720
+ return -1;
2721
+ }
2722
+ if (a.order > b.order) {
2723
+ return 1;
2724
+ }
2725
+ return 0;
2726
+ });
2926
2727
  }
2927
2728
  render() {
2928
- return (h(Host, null, h("fieldset", { part: "main" }, h("caption", { part: "caption" }, this.column.FilterCaption), this.column.FilterMode === "single" &&
2929
- this.renderColumnFilterControl("inputEqual", this.column.gxControl.type, this.column.gxControl.dataType, this.column.gxControl.possibleValues, this.column.FilterLabelEqual, this.equal), this.column.FilterMode === "range" &&
2930
- this.renderColumnFilterControl("inputGreater", this.column.gxControl.type, this.column.gxControl.dataType, this.column.gxControl.possibleValues, this.column.FilterLabelGreater, this.greater), this.column.FilterMode === "range" &&
2931
- this.renderColumnFilterControl("inputLess", this.column.gxControl.type, this.column.gxControl.dataType, this.column.gxControl.possibleValues, this.column.FilterLabelLess, this.less)), h("section", { part: "footer" }, h("button", { part: "button reset", onClick: this.resetClickHandler }, this.buttonResetText), h("button", { part: "button apply", onClick: this.applyClickHandler }, this.buttonApplyText))));
2729
+ const columnsSorted = this.getColumnsSorted();
2730
+ return (h("ul", null, columnsSorted.map(column => (h("li", { part: "column" }, h("label", { part: "column-label" }, h("input", { part: !column.hidden
2731
+ ? "column-visible column-visible-checked"
2732
+ : "column-visible", type: "checkbox", checked: !column.hidden, disabled: !column.hideable, name: column.columnId, onClick: this.handleClick }), column.columnName))))));
2932
2733
  }
2933
- get el() { return getElement(this); }
2934
2734
  };
2935
- GridChameleonColumnFilter.style = gxGridChameleonColumnFilterCss;
2735
+ ChGridSettingsColumns.style = chGridSettingsColumnsCss;
2936
2736
 
2937
- export { ChGrid as ch_grid, ChGridActionRefresh as ch_grid_action_refresh, ChGridActionSettings as ch_grid_action_settings, ChGridActionbar as ch_grid_actionbar, ChGridColumn as ch_grid_column, ChGridColumnset as ch_grid_columnset, ChPaginator as ch_paginator, ChPaginatorNavigate as ch_paginator_navigate, GridChameleonColumnFilter as gx_grid_chameleon_column_filter };
2737
+ export { ChGrid as ch_grid, ChGridColumn as ch_grid_column, ChGridColumnResize as ch_grid_column_resize, ChGridColumnSettings as ch_grid_column_settings, ChGridColumnset as ch_grid_columnset, ChGridSettings as ch_grid_settings, ChGridSettingsColumns as ch_grid_settings_columns };
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f0a5746.js';
2
2
 
3
- const chSuggestListItemCss = ":host{display:flex}";
3
+ const chSuggestListItemCss = ":host{display:block}:where(button){all:unset;display:flex;width:100%;cursor:pointer}*,::after,::before{box-sizing:border-box}";
4
4
 
5
5
  const ARROW_DOWN = "ArrowDown";
6
6
  const ARROW_UP = "ArrowUp";
@@ -9,24 +9,18 @@ const ChSuggestListItem = class {
9
9
  registerInstance(this, hostRef);
10
10
  this.itemSelected = createEvent(this, "itemSelected", 7);
11
11
  this.focusChangeAttempt = createEvent(this, "focusChangeAttempt", 7);
12
- // / 6.COMPONENT LIFECYCLE EVENTS ///
13
- // / 7.LISTENERS ///
14
- // / 8.PUBLIC METHODS API ///
15
- // / 9.LOCAL METHODS ///
12
+ // 6.COMPONENT LIFECYCLE EVENTS //
13
+ // 7.LISTENERS //
14
+ // 8.PUBLIC METHODS API //
15
+ // 9.LOCAL METHODS //
16
16
  this.handleClick = () => {
17
17
  this.itemSelected.emit({
18
- el: this.el,
19
- value: this.el.innerText
18
+ value: this.value || this.el.innerText,
19
+ description: this.description
20
20
  });
21
21
  };
22
22
  this.handleKeyDown = (e) => {
23
- if (e.code === "Enter") {
24
- this.itemSelected.emit({
25
- el: this.el,
26
- value: this.el.innerText
27
- });
28
- }
29
- else if (e.code === ARROW_UP || e.code === ARROW_DOWN) {
23
+ if (e.code === ARROW_UP || e.code === ARROW_DOWN) {
30
24
  e.preventDefault();
31
25
  this.focusChangeAttempt.emit({
32
26
  el: this.el,
@@ -35,10 +29,11 @@ const ChSuggestListItem = class {
35
29
  }
36
30
  };
37
31
  }
38
- // / 10.RENDER() FUNCTION ///
32
+ // 10.RENDER() FUNCTION //
39
33
  render() {
40
- return (h(Host, { role: "listitem", tabindex: "0", onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("slot", { name: "icon" }), h("div", { class: "content-wrapper" }, h("slot", null))));
34
+ return (h(Host, { role: "listitem", onKeyDown: this.handleKeyDown }, h("button", { part: "button", onClick: this.handleClick }, h("slot", { name: "icon" }), h("div", { class: "content-wrapper", part: "content-wrapper" }, h("slot", null), this.description && (h("span", { part: "description" }, this.description))))));
41
35
  }
36
+ static get delegatesFocus() { return true; }
42
37
  get el() { return getElement(this); }
43
38
  };
44
39
  ChSuggestListItem.style = chSuggestListItemCss;
@@ -1,20 +1,20 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-4f0a5746.js';
2
2
 
3
- const chSuggestListCss = ":host{display:block}.title{margin:0;font:inherit}.list{margin:0;padding:0}";
3
+ const chSuggestListCss = "*,::after,::before{box-sizing:border-box}:host{display:block}.title{margin:0;font:inherit}.list{margin:0;padding:0}";
4
4
 
5
5
  const ChSuggestList = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
- // / 2.REFERENCE TO ELEMENTS ///
10
- // / 3.STATE() VARIABLES ///
11
- // / 4.PUBLIC PROPERTY API ///
12
- // / 5.EVENTS (EMIT) ///
13
- // / 6.COMPONENT LIFECYCLE EVENTS ///
14
- // / 7.LISTENERS ///
15
- // / 8.PUBLIC METHODS API ///
16
- // / 9.LOCAL METHODS ///
17
- // / 10.RENDER() FUNCTION ///
9
+ // 2.REFERENCE TO ELEMENTS //
10
+ // 3.STATE() VARIABLES //
11
+ // 4.PUBLIC PROPERTY API / WATCH'S //
12
+ // 5.EVENTS (EMIT) //
13
+ // 6.COMPONENT LIFECYCLE EVENTS //
14
+ // 7.LISTENERS //
15
+ // 8.PUBLIC METHODS API //
16
+ // 9.LOCAL METHODS //
17
+ // 10.RENDER() FUNCTION //
18
18
  render() {
19
19
  return (h(Host, null, this.label && (h("h2", { id: "heading", part: "title", class: "title" }, this.label)), h("ul", { "aria-labelledby": this.label ? "heading" : undefined, part: "list", class: "list" }, h("slot", null))));
20
20
  }