@genexus/genexus-ide-ui 0.0.56 → 0.0.58

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 (171) hide show
  1. package/dist/cjs/{ch-checkbox_4.cjs.entry.js → ch-checkbox_3.cjs.entry.js} +90 -65
  2. package/dist/cjs/{ch-grid-action-refresh_6.cjs.entry.js → ch-grid-action-refresh_7.cjs.entry.js} +168 -4
  3. package/dist/cjs/ch-icon_2.cjs.entry.js +1 -0
  4. package/dist/cjs/ch-suggest_4.cjs.entry.js +7 -3
  5. package/dist/cjs/ch-test-suggest.cjs.entry.js +84 -0
  6. package/dist/cjs/ch-test-tree-x.cjs.entry.js +83 -43
  7. package/dist/cjs/ch-tooltip.cjs.entry.js +85 -0
  8. package/dist/cjs/config-082c7c76.js +9 -0
  9. package/dist/cjs/{form-a22de8f3.js → form-a2de5b1c.js} +14 -0
  10. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  11. package/dist/cjs/gx-grid-chameleon.cjs.entry.js +21 -3
  12. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +10 -9
  13. package/dist/cjs/gx-ide-new-object.cjs.entry.js +2 -1
  14. package/dist/cjs/gx-ide-references.cjs.entry.js +76 -116
  15. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +3 -2
  16. package/dist/cjs/gx-ide-test.cjs.entry.js +51 -5
  17. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +9 -4
  18. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-form-text.cjs.entry.js +19 -4
  22. package/dist/cjs/gxg-form-textarea.cjs.entry.js +8 -4
  23. package/dist/cjs/gxg-label_2.cjs.entry.js +40 -2
  24. package/dist/cjs/gxg-list-box_2.cjs.entry.js +2 -2
  25. package/dist/cjs/gxg-select.cjs.entry.js +1 -1
  26. package/dist/cjs/gxg-test.cjs.entry.js +1 -16
  27. package/dist/cjs/gxg-tree-view.cjs.entry.js +108 -45
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/collection/collection-manifest.json +2 -1
  30. package/dist/collection/common/config.js +5 -0
  31. package/dist/collection/common/helpers.js +3 -0
  32. package/dist/collection/components/new-kb/new-kb.js +10 -9
  33. package/dist/collection/components/new-object/new-object.js +2 -1
  34. package/dist/collection/components/references/helpers.js +16 -19
  35. package/dist/collection/components/references/references.css +8 -0
  36. package/dist/collection/components/references/references.js +60 -98
  37. package/dist/collection/components/share-kb/share-kb.js +3 -2
  38. package/dist/components/ch-paginator-pages.js +1 -171
  39. package/dist/{esm/ch-paginator-pages.entry.js → components/ch-paginator-pages2.js} +29 -8
  40. package/dist/components/ch-paginator2.js +18 -4
  41. package/dist/components/ch-suggest2.js +6 -2
  42. package/dist/components/ch-test-suggest.js +119 -0
  43. package/dist/components/ch-test-tree-x.js +96 -58
  44. package/dist/components/ch-tooltip.js +115 -0
  45. package/dist/components/checkbox.js +1 -1
  46. package/dist/components/combo-box.js +10 -4
  47. package/dist/components/config.js +7 -0
  48. package/dist/components/form-checkbox.js +1 -1
  49. package/dist/components/form-text.js +20 -4
  50. package/dist/components/form-textarea.js +9 -4
  51. package/dist/components/form.js +14 -1
  52. package/dist/components/gx-grid-chameleon.js +52 -28
  53. package/dist/components/gx-ide-new-kb.js +10 -9
  54. package/dist/components/gx-ide-new-object.js +2 -1
  55. package/dist/components/gx-ide-references.js +122 -150
  56. package/dist/components/gx-ide-share-kb.js +3 -2
  57. package/dist/components/gx-ide-test.js +48 -2
  58. package/dist/components/gxg-test.js +25 -22
  59. package/dist/components/gxg-tree-view.js +2 -389
  60. package/dist/components/icon2.js +1 -0
  61. package/dist/components/index.js +2 -1
  62. package/dist/components/list-box.js +1 -1
  63. package/dist/components/suggest.js +1 -1
  64. package/dist/components/tooltip.js +45 -3
  65. package/dist/components/tree-view.js +453 -0
  66. package/dist/components/tree-x-list-item.js +59 -32
  67. package/dist/components/tree-x.js +34 -17
  68. package/dist/esm/{ch-checkbox_4.entry.js → ch-checkbox_3.entry.js} +92 -66
  69. package/dist/esm/{ch-grid-action-refresh_6.entry.js → ch-grid-action-refresh_7.entry.js} +168 -5
  70. package/dist/esm/ch-icon_2.entry.js +1 -0
  71. package/dist/esm/ch-suggest_4.entry.js +7 -3
  72. package/dist/esm/ch-test-suggest.entry.js +80 -0
  73. package/dist/esm/ch-test-tree-x.entry.js +84 -44
  74. package/dist/esm/ch-tooltip.entry.js +81 -0
  75. package/dist/esm/config-94445cc2.js +7 -0
  76. package/dist/esm/{form-5e68671c.js → form-9c41f579.js} +14 -1
  77. package/dist/esm/genexus-ide-ui.js +1 -1
  78. package/dist/esm/gx-grid-chameleon.entry.js +21 -3
  79. package/dist/esm/gx-ide-new-kb.entry.js +10 -9
  80. package/dist/esm/gx-ide-new-object.entry.js +2 -1
  81. package/dist/esm/gx-ide-references.entry.js +76 -116
  82. package/dist/esm/gx-ide-share-kb.entry.js +3 -2
  83. package/dist/esm/gx-ide-test.entry.js +48 -2
  84. package/dist/esm/gxg-combo-box_2.entry.js +9 -4
  85. package/dist/esm/gxg-form-checkbox-group.entry.js +1 -1
  86. package/dist/esm/gxg-form-checkbox.entry.js +2 -2
  87. package/dist/esm/gxg-form-radio-group.entry.js +1 -1
  88. package/dist/esm/gxg-form-text.entry.js +19 -4
  89. package/dist/esm/gxg-form-textarea.entry.js +8 -4
  90. package/dist/esm/gxg-label_2.entry.js +41 -3
  91. package/dist/esm/gxg-list-box_2.entry.js +2 -2
  92. package/dist/esm/gxg-select.entry.js +1 -1
  93. package/dist/esm/gxg-test.entry.js +1 -16
  94. package/dist/esm/gxg-tree-view.entry.js +109 -46
  95. package/dist/esm/loader.js +1 -1
  96. package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -2
  97. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  98. package/dist/genexus-ide-ui/icon-assets/gemini-tools/error.svg +1 -1
  99. package/dist/genexus-ide-ui/icon-assets/gemini-tools/success.svg +1 -1
  100. package/dist/genexus-ide-ui/icon-assets/gemini-tools/warning.svg +1 -1
  101. package/dist/genexus-ide-ui/{p-afe9515e.entry.js → p-0268cc45.entry.js} +1 -1
  102. package/dist/genexus-ide-ui/p-0aa11d6f.entry.js +1 -0
  103. package/dist/genexus-ide-ui/p-0f4fe7ad.js +1 -0
  104. package/dist/genexus-ide-ui/p-109209dc.entry.js +1 -0
  105. package/dist/genexus-ide-ui/p-123b8351.entry.js +1 -0
  106. package/dist/genexus-ide-ui/{p-a440a73f.entry.js → p-1294d220.entry.js} +1 -1
  107. package/dist/genexus-ide-ui/{p-4eaffd02.entry.js → p-2096031c.entry.js} +1 -1
  108. package/dist/genexus-ide-ui/{p-f3a1dc7c.entry.js → p-2537b4d6.entry.js} +1 -1
  109. package/dist/genexus-ide-ui/p-3657924a.entry.js +1 -0
  110. package/dist/genexus-ide-ui/p-3ec2f036.entry.js +1 -0
  111. package/dist/genexus-ide-ui/p-4923cffa.entry.js +1 -0
  112. package/dist/genexus-ide-ui/p-4e81926d.entry.js +1 -0
  113. package/dist/genexus-ide-ui/p-71c6da54.entry.js +1 -0
  114. package/dist/genexus-ide-ui/p-86b98a99.entry.js +1 -0
  115. package/dist/genexus-ide-ui/{p-e586d05e.entry.js → p-875e5979.entry.js} +1 -1
  116. package/dist/genexus-ide-ui/p-9e428123.entry.js +1 -0
  117. package/dist/genexus-ide-ui/p-a8b8baf9.entry.js +1 -0
  118. package/dist/genexus-ide-ui/p-cd00ba19.entry.js +1 -0
  119. package/dist/genexus-ide-ui/p-ce9fef1a.entry.js +1 -0
  120. package/dist/genexus-ide-ui/p-d47ed4e3.entry.js +1 -0
  121. package/dist/genexus-ide-ui/p-d7b452ef.entry.js +1 -0
  122. package/dist/genexus-ide-ui/{p-5cb871e3.entry.js → p-ebcdef37.entry.js} +1 -1
  123. package/dist/genexus-ide-ui/p-f1ff6b48.entry.js +1 -0
  124. package/dist/genexus-ide-ui/p-f62d9b6d.entry.js +1 -0
  125. package/dist/genexus-ide-ui/p-f82f25e2.js +1 -0
  126. package/dist/genexus-ide-ui/p-f9f1d95d.entry.js +1 -0
  127. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/checkbox/checkbox.css +3 -3
  128. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-suggest/test-suggest.css +114 -0
  129. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +1 -47
  130. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tooltip/tooltip.css +120 -0
  131. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x → tree-view/tree-x}/tree-x.css +4 -5
  132. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x-list-item → tree-view/tree-x-list-item}/tree-x-list-item.css +8 -9
  133. package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +5 -0
  134. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +18 -0
  135. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +37 -0
  136. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +22 -0
  137. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +18 -0
  138. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +18 -0
  139. package/dist/node_modules/@genexus/gemini/dist/collection/components/tooltip/tooltip.css +58 -3
  140. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +68 -13
  141. package/dist/types/common/config.d.ts +3 -0
  142. package/dist/types/common/helpers.d.ts +1 -0
  143. package/dist/types/components/references/helpers.d.ts +3 -3
  144. package/dist/types/components/references/references.d.ts +7 -19
  145. package/package.json +3 -3
  146. package/dist/cjs/ch-paginator-pages.cjs.entry.js +0 -156
  147. package/dist/cjs/update-tree-model-8b154db1.js +0 -53
  148. package/dist/components/ch-tree-x-list.js +0 -6
  149. package/dist/components/tree-x-list.js +0 -37
  150. package/dist/components/update-tree-model.js +0 -50
  151. package/dist/esm/update-tree-model-6c612f05.js +0 -50
  152. package/dist/genexus-ide-ui/p-01406cbc.js +0 -1
  153. package/dist/genexus-ide-ui/p-03efca69.entry.js +0 -1
  154. package/dist/genexus-ide-ui/p-1d7c22d5.entry.js +0 -1
  155. package/dist/genexus-ide-ui/p-395a65de.entry.js +0 -1
  156. package/dist/genexus-ide-ui/p-3b4fca51.entry.js +0 -1
  157. package/dist/genexus-ide-ui/p-447c3a31.entry.js +0 -1
  158. package/dist/genexus-ide-ui/p-46d393f5.entry.js +0 -1
  159. package/dist/genexus-ide-ui/p-58f882c6.entry.js +0 -1
  160. package/dist/genexus-ide-ui/p-60bea19c.entry.js +0 -1
  161. package/dist/genexus-ide-ui/p-64cbe277.entry.js +0 -1
  162. package/dist/genexus-ide-ui/p-71ecc7fd.js +0 -1
  163. package/dist/genexus-ide-ui/p-9a6cb543.entry.js +0 -1
  164. package/dist/genexus-ide-ui/p-a2fa3132.entry.js +0 -1
  165. package/dist/genexus-ide-ui/p-a708db45.entry.js +0 -1
  166. package/dist/genexus-ide-ui/p-c0edbeb5.entry.js +0 -1
  167. package/dist/genexus-ide-ui/p-c7425416.entry.js +0 -1
  168. package/dist/genexus-ide-ui/p-cd5482fa.entry.js +0 -1
  169. package/dist/genexus-ide-ui/p-d312fe25.entry.js +0 -1
  170. package/dist/genexus-ide-ui/p-e6ae0460.entry.js +0 -1
  171. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-x-list/tree-x-list.css +0 -6
@@ -1,24 +1,25 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { L as Locale } from './locale.js';
3
- import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model.js';
4
3
  import { r as renderSuggestLists } from './render-suggest.js';
5
- import { d as defineCustomElement$i } from './icon.js';
6
- import { d as defineCustomElement$h } from './ch-suggest2.js';
7
- import { d as defineCustomElement$g } from './ch-suggest-list2.js';
8
- import { d as defineCustomElement$f } from './ch-suggest-list-item2.js';
9
- import { d as defineCustomElement$e } from './ch-window2.js';
10
- import { d as defineCustomElement$d } from './ch-window-close2.js';
11
- import { d as defineCustomElement$c } from './container.js';
12
- import { d as defineCustomElement$b } from './button.js';
13
- import { d as defineCustomElement$a } from './form-checkbox.js';
14
- import { d as defineCustomElement$9 } from './icon2.js';
15
- import { d as defineCustomElement$8 } from './gxg-label2.js';
16
- import { d as defineCustomElement$7 } from './suggest.js';
17
- import { d as defineCustomElement$6 } from './text.js';
18
- import { d as defineCustomElement$5 } from './title.js';
19
- import { d as defineCustomElement$4 } from './tooltip.js';
20
- import { d as defineCustomElement$3 } from './gxg-tree2.js';
21
- import { d as defineCustomElement$2 } from './gxg-tree-item2.js';
4
+ import { d as defineCustomElement$k } from './checkbox.js';
5
+ import { d as defineCustomElement$j } from './icon.js';
6
+ import { d as defineCustomElement$i } from './ch-suggest2.js';
7
+ import { d as defineCustomElement$h } from './ch-suggest-list2.js';
8
+ import { d as defineCustomElement$g } from './ch-suggest-list-item2.js';
9
+ import { d as defineCustomElement$f } from './tree-x.js';
10
+ import { d as defineCustomElement$e } from './tree-x-list-item.js';
11
+ import { d as defineCustomElement$d } from './ch-window2.js';
12
+ import { d as defineCustomElement$c } from './ch-window-close2.js';
13
+ import { d as defineCustomElement$b } from './container.js';
14
+ import { d as defineCustomElement$a } from './button.js';
15
+ import { d as defineCustomElement$9 } from './form-checkbox.js';
16
+ import { d as defineCustomElement$8 } from './icon2.js';
17
+ import { d as defineCustomElement$7 } from './gxg-label2.js';
18
+ import { d as defineCustomElement$6 } from './suggest.js';
19
+ import { d as defineCustomElement$5 } from './text.js';
20
+ import { d as defineCustomElement$4 } from './title.js';
21
+ import { d as defineCustomElement$3 } from './tooltip.js';
22
+ import { d as defineCustomElement$2 } from './tree-view.js';
22
23
 
23
24
  /**
24
25
  * @description This function converts SelectorCategoryData[] SuggestData
@@ -47,35 +48,32 @@ const convertObjectDataToSuggestData = (selectorCategoriesData) => {
47
48
  }
48
49
  return suggestData;
49
50
  };
51
+ const convertToTreeItem = (item) => {
52
+ var _a;
53
+ return ({
54
+ caption: item.description,
55
+ id: item.id,
56
+ items: ((_a = item.items) !== null && _a !== void 0 ? _a : []).map(convertToTreeItem),
57
+ lazy: item.hasChildren && (item.items == null || item.items.length === 0),
58
+ leaf: item.hasChildren === false,
59
+ leftImgSrc: item.icon
60
+ });
61
+ };
50
62
  /**
51
- * @description This function converts ReferenceData[] data to GxgTreeItemData[]
63
+ * @description This function converts ReferenceData[] data to TreeItemData[]
52
64
  */
53
- const convertReferenceDataToTreeData = (referencedBy) => {
65
+ const convertReferenceDataToTreeViewData = (referenceData) => {
54
66
  const treeData = [];
55
- if (!referencedBy) {
67
+ if (!referenceData) {
56
68
  return treeData;
57
69
  }
58
- const convertItem = (item) => {
59
- var _a;
60
- const treeItem = {
61
- description: item.description,
62
- lazy: item.hasChildren,
63
- icon: item.icon,
64
- id: item.id,
65
- label: item.name
66
- };
67
- if (((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
68
- treeItem.items = item.items.map(child => convertItem(child));
69
- }
70
- return treeItem;
71
- };
72
- referencedBy.forEach(item => {
73
- treeData.push(convertItem(item));
70
+ referenceData.forEach(item => {
71
+ treeData.push(convertToTreeItem(item));
74
72
  });
75
73
  return treeData;
76
74
  };
77
75
 
78
- const referencesCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}:host{display:block}.header{}.header__top{grid-template-columns:min-content auto 1fr min-content;grid-template-rows:1fr;grid-template-areas:\"hide-bar-button suggest-label gxg-suggest selector-dialog-button\"}.header__top .hide-bar-button{grid-area:hide-bar-button}.header__top .suggest-label{grid-area:suggest-label}.header__top gxg-suggest{grid-area:gxg-suggest}.header__top .selector-dialog-button{grid-area:selector-dialog-button}.header__bottom{display:grid;grid-template-rows:1fr;transition:var(--gx-ide-timing-super-fast-ms) grid-template-rows}.header__bottom--hidden{grid-template-rows:0fr}.header__bottom .outer-wrapper{overflow:hidden}.header__bottom .inner-wrapper{padding-top:var(--gx-ide-grid-row-gap);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.header__bottom .inner-wrapper__left{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.header-hidden .first-row{grid-template-columns:auto 1fr auto}.header-hidden .first-row>:nth-child(3){align-self:end}.header-hidden .second-row{display:none}.main{grid-template-columns:1fr 1fr;grid-template-rows:1fr;grid-template-areas:\"is-referenced has-references\";height:100%;gap:0}.main>*:first-child{border-right:1px solid var(--gx-ide-container-border-color)}.main .is-referenced{grid-area:is-referenced}.main .has-references{grid-area:has-references}";
76
+ const referencesCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}:host{display:block}.header{}.header__top{grid-template-columns:min-content auto 1fr min-content;grid-template-rows:1fr;grid-template-areas:\"hide-bar-button suggest-label gxg-suggest selector-dialog-button\"}.header__top .hide-bar-button{grid-area:hide-bar-button}.header__top .suggest-label{grid-area:suggest-label}.header__top gxg-suggest{grid-area:gxg-suggest}.header__top .selector-dialog-button{grid-area:selector-dialog-button}.header__bottom{display:grid;grid-template-rows:1fr;transition:var(--gx-ide-timing-super-fast-ms) grid-template-rows}.header__bottom--hidden{grid-template-rows:0fr}.header__bottom .outer-wrapper{overflow:hidden}.header__bottom .inner-wrapper{padding-top:var(--gx-ide-grid-row-gap);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.header__bottom .inner-wrapper__left{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.header-hidden .first-row{grid-template-columns:auto 1fr auto}.header-hidden .first-row>:nth-child(3){align-self:end}.header-hidden .second-row{display:none}.main{grid-template-columns:1fr 1fr;grid-template-rows:1fr;grid-template-areas:\"is-referenced has-references\";height:100%;gap:0}.main .reference-container{min-height:300px}.main .reference-container--no-references{display:flex;align-items:center;justify-content:center}.main>*:first-child{border-right:1px solid var(--gx-ide-container-border-color)}.main .is-referenced{grid-area:is-referenced}.main .has-references{grid-area:has-references}";
79
77
 
80
78
  const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
81
79
  constructor() {
@@ -94,16 +92,28 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
94
92
  // 7.LISTENERS //
95
93
  // 8.PUBLIC METHODS API //
96
94
  // 9.LOCAL METHODS //
95
+ this.attachTreeEvents = () => {
96
+ // this.referencedByTreeEl.addEventListener(
97
+ // "expandedItemChange",
98
+ // (item: CustomEvent<{ id: string; expanded: boolean }>) => {
99
+ // console.log(item.detail.id);
100
+ // }
101
+ // );
102
+ // this.referencesToTreeEl.addEventListener(
103
+ // "expandedItemChange",
104
+ // (item: CustomEvent<{ id: string; expanded: boolean }>) => {
105
+ // console.log(item.detail.id);
106
+ // }
107
+ // );
108
+ };
97
109
  /**
98
110
  * It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
99
111
  */
100
- this.attachSelectObjectListener = () => {
101
- this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
102
- const categoryIndex = e.detail.indexes.listIndex;
103
- const itemIndex = e.detail.indexes.itemIndex;
104
- this.selectedObject =
105
- this.selectorCategoryData[categoryIndex].items[itemIndex];
106
- });
112
+ this.selectObjectSelectionChanged = (e) => {
113
+ const categoryIndex = e.detail.indexes.listIndex;
114
+ const itemIndex = e.detail.indexes.itemIndex;
115
+ this.selectedObject =
116
+ this.selectorCategoryData[categoryIndex].items[itemIndex];
107
117
  };
108
118
  /**
109
119
  * This handler gets fired every time the value of the 'Select Object' ch-suggest changes.
@@ -149,26 +159,16 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
149
159
  */
150
160
  this.loadReferencesHandler = async (id, to = false) => {
151
161
  if (this.loadReferencesCallback) {
152
- /* is referenced by*/
153
- if (!to) {
154
- this.loadReferencesCallback(id, false)
155
- .then(result => {
156
- this.referencedByTreeData = convertReferenceDataToTreeData(result);
157
- })
158
- .catch(() => {
159
- /* To do*/
160
- });
161
- }
162
- /* is referenced by*/
163
- if (to) {
164
- this.loadReferencesCallback(id, true)
165
- .then(result => {
166
- this.referencesToTreeData = convertReferenceDataToTreeData(result);
167
- })
168
- .catch(() => {
169
- /* To do*/
170
- });
171
- }
162
+ this.loadReferencesCallback(id, to).then(result => {
163
+ if (to) {
164
+ this.referencesToTreeData =
165
+ convertReferenceDataToTreeViewData(result);
166
+ }
167
+ else {
168
+ this.referencedByTreeData =
169
+ convertReferenceDataToTreeViewData(result);
170
+ }
171
+ });
172
172
  }
173
173
  };
174
174
  /**
@@ -177,71 +177,27 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
177
177
  this.hideBarButtonClickedHandler = () => {
178
178
  this.barHidden = !this.barHidden;
179
179
  };
180
- /**
181
- * Simple helper function to get 'this.referencedByTreeData' or 'this.referencesToTreeData'
182
- */
183
- this.getRef = (to = false) => {
184
- if (!to) {
185
- /* referenced by*/
186
- return this.referencedByTreeData;
187
- }
188
- else {
189
- /* references to*/
190
- return this.referencesToTreeData;
191
- }
192
- };
193
- /**
194
- * Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
195
- */
196
- this.updateRef = (to = false, updatedData) => {
197
- if (!to) {
198
- /* referenced by*/
199
- this.referencedByTreeData = updatedData;
200
- }
201
- else {
202
- /* references to*/
203
- this.referencesToTreeData = updatedData;
180
+ this.referencesLazyLoadCallbackHandler = (ref) => async (treeItemId) => {
181
+ if (this.loadReferencesCallback) {
182
+ const to = ref === "references-to";
183
+ const referencesLazyChildren = await this.loadReferencesCallback(treeItemId, to);
184
+ const treeLazyChildren = convertReferenceDataToTreeViewData(referencesLazyChildren);
185
+ return new Promise(resolve => {
186
+ resolve(treeLazyChildren);
187
+ });
204
188
  }
189
+ return new Promise(resolve => {
190
+ resolve([]);
191
+ });
205
192
  };
206
- /**
207
- * Handles changes on any of the references (by or to). Used to:
208
- * 1) Keep the models updated.
209
- * 2) call the openObjectCallback.
210
- * 3) call the loadReferencesCallback if a lazy node was toggled.
211
- */
212
- this.referencesPanelStateChangedHandler = (to = false) => (e) => {
213
- const event = e.detail.emittedBy;
214
- const nodeData = e.detail.itemData;
215
- const nodeId = e.detail.itemData.id;
216
- const nodeLabel = e.detail.itemData.label;
217
- /* tree item was selected*/
218
- if (event === "selectionChanged") {
219
- this.selectReferenceCallback(nodeId);
220
- /* Returns void Promise*/
221
- }
222
- /* tree item was double-clicked.*/
223
- if (event === "doubleClicked") {
224
- this.openObjectCallback(nodeId);
225
- }
226
- let updatedTreeModel = [];
227
- const lazy = nodeData.lazy;
228
- if (lazy) {
229
- // loadReferencesCallback
230
- let children = [];
231
- this.loadReferencesCallback(nodeId, to)
232
- .then(result => {
233
- children = convertReferenceDataToTreeData(result);
234
- // Then update model
235
- updatedTreeModel = updateTreeModel(this.getRef(to), { id: nodeId, label: nodeLabel, items: children }, nodeId);
236
- this.updateRef(to, updatedTreeModel);
237
- })
238
- .catch(() => {
239
- /* To do*/
193
+ this.referenceSelectedHandler = (selectedItem) => {
194
+ if (this.selectReferenceCallback) {
195
+ const selectedItems = [];
196
+ selectedItem.detail.forEach(item => {
197
+ selectedItems.push(item.id);
240
198
  });
241
- }
242
- else {
243
- updatedTreeModel = updateTreeModel(this.getRef(to), nodeData, nodeId);
244
- this.updateRef(to, updatedTreeModel);
199
+ this.selectReferenceCallback(selectedItems[0]);
200
+ // returns void
245
201
  }
246
202
  };
247
203
  this.referencedByTreeData = undefined;
@@ -271,22 +227,28 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
271
227
  this.evaluateInitialReferenceData();
272
228
  }
273
229
  componentDidLoad() {
274
- this.attachSelectObjectListener();
230
+ this.attachTreeEvents();
275
231
  }
276
232
  componentDidRender() {
277
233
  this.componentDidRenderEvent.emit(this._componentLocale.componentName);
278
234
  }
279
235
  // 10.RENDER() FUNCTION //
280
236
  render() {
281
- var _a, _b, _c, _d, _e, _f;
282
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.name, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
237
+ var _a, _b, _c, _d, _e, _f, _g, _h;
238
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.name, onValueChanged: this.selectObjectValueChangedHandler, onSelectionChanged: this.selectObjectSelectionChanged, part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
283
239
  "header__bottom": true,
284
240
  "header__bottom--hidden": this.barHidden
285
- } }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid gxi-full-height gxi-overflow-auto" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, fullHeight: true, noContentPadding: true, class: "gxi-overflow-auto", part: "referenced-by-container" }, h("gxg-tree", { class: { "gxi-hidden": !((_a = this.referencedByTreeData) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: false, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(false), part: "referenced-by-tree" }, renderTreeItems(this.referencedByTreeData)), !((_b = this.referencedByTreeData) === null || _b === void 0 ? void 0 : _b.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_c = this.referencedByTreeData) === null || _c === void 0 ? void 0 : _c.length) === 0
241
+ } }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid gxi-full-height gxi-overflow-auto" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, fullHeight: true, class: "gxi-overflow-auto", part: "referenced-by-container" }, h("div", { class: {
242
+ "reference-container": true,
243
+ "reference-container--no-references": !((_a = this.referencedByTreeData) === null || _a === void 0 ? void 0 : _a.length)
244
+ } }, h("gxg-tree-view", { class: { "gxi-hidden": !((_b = this.referencedByTreeData) === null || _b === void 0 ? void 0 : _b.length) }, part: "referenced-by-tree", treeModel: this.referencedByTreeData, lazyLoadTreeItemsCallback: this.referencesLazyLoadCallbackHandler("referenced-by"), onSelectedItemsChange: this.referenceSelectedHandler, dragDisabled: true, dropDisabled: true }), !((_c = this.referencedByTreeData) === null || _c === void 0 ? void 0 : _c.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_d = this.referencedByTreeData) === null || _d === void 0 ? void 0 : _d.length) === 0
286
245
  ? this._componentLocale.main.isReferencedByEmpty
287
- : this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, fullHeight: true, noContentPadding: true, class: "gxi-overflow-auto", part: "references-to-container" }, h("gxg-tree", { class: { "gxi-hidden": !((_d = this.referencesToTreeData) === null || _d === void 0 ? void 0 : _d.length) }, checkbox: false, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(true), part: "references-to-tree" }, renderTreeItems(this.referencesToTreeData)), !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_f = this.referencesToTreeData) === null || _f === void 0 ? void 0 : _f.length) === 0
246
+ : this._componentLocale.main.isReferencedByError)))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, fullHeight: true, class: "gxi-overflow-auto", part: "references-to-container" }, h("div", { class: {
247
+ "reference-container": true,
248
+ "reference-container--no-references": !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length)
249
+ } }, h("gxg-tree-view", { class: { "gxi-hidden": !((_f = this.referencesToTreeData) === null || _f === void 0 ? void 0 : _f.length) }, part: "referenced-to-tree", treeModel: this.referencesToTreeData, lazyLoadTreeItemsCallback: this.referencesLazyLoadCallbackHandler("references-to"), onSelectedItemsChange: this.referenceSelectedHandler }), !((_g = this.referencesToTreeData) === null || _g === void 0 ? void 0 : _g.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_h = this.referencesToTreeData) === null || _h === void 0 ? void 0 : _h.length) === 0
288
250
  ? this._componentLocale.main.hasReferencesEmpty
289
- : this._componentLocale.main.hasReferencesToError)))))));
251
+ : this._componentLocale.main.hasReferencesToError))))))));
290
252
  }
291
253
  static get assetsDirs() { return ["gx-ide-assets/references"]; }
292
254
  get el() { return this; }
@@ -312,94 +274,104 @@ function defineCustomElement$1() {
312
274
  if (typeof customElements === "undefined") {
313
275
  return;
314
276
  }
315
- const components = ["gx-ide-references", "ch-icon", "ch-suggest", "ch-suggest-list", "ch-suggest-list-item", "ch-window", "ch-window-close", "gx-ide-container", "gxg-button", "gxg-form-checkbox", "gxg-icon", "gxg-label", "gxg-suggest", "gxg-text", "gxg-title", "gxg-tooltip", "gxg-tree", "gxg-tree-item"];
277
+ const components = ["gx-ide-references", "ch-checkbox", "ch-icon", "ch-suggest", "ch-suggest-list", "ch-suggest-list-item", "ch-tree-x", "ch-tree-x-list-item", "ch-window", "ch-window-close", "gx-ide-container", "gxg-button", "gxg-form-checkbox", "gxg-icon", "gxg-label", "gxg-suggest", "gxg-text", "gxg-title", "gxg-tooltip", "gxg-tree-view"];
316
278
  components.forEach(tagName => { switch (tagName) {
317
279
  case "gx-ide-references":
318
280
  if (!customElements.get(tagName)) {
319
281
  customElements.define(tagName, GxIdeReferences$1);
320
282
  }
321
283
  break;
284
+ case "ch-checkbox":
285
+ if (!customElements.get(tagName)) {
286
+ defineCustomElement$k();
287
+ }
288
+ break;
322
289
  case "ch-icon":
323
290
  if (!customElements.get(tagName)) {
324
- defineCustomElement$i();
291
+ defineCustomElement$j();
325
292
  }
326
293
  break;
327
294
  case "ch-suggest":
328
295
  if (!customElements.get(tagName)) {
329
- defineCustomElement$h();
296
+ defineCustomElement$i();
330
297
  }
331
298
  break;
332
299
  case "ch-suggest-list":
333
300
  if (!customElements.get(tagName)) {
334
- defineCustomElement$g();
301
+ defineCustomElement$h();
335
302
  }
336
303
  break;
337
304
  case "ch-suggest-list-item":
305
+ if (!customElements.get(tagName)) {
306
+ defineCustomElement$g();
307
+ }
308
+ break;
309
+ case "ch-tree-x":
338
310
  if (!customElements.get(tagName)) {
339
311
  defineCustomElement$f();
340
312
  }
341
313
  break;
342
- case "ch-window":
314
+ case "ch-tree-x-list-item":
343
315
  if (!customElements.get(tagName)) {
344
316
  defineCustomElement$e();
345
317
  }
346
318
  break;
347
- case "ch-window-close":
319
+ case "ch-window":
348
320
  if (!customElements.get(tagName)) {
349
321
  defineCustomElement$d();
350
322
  }
351
323
  break;
352
- case "gx-ide-container":
324
+ case "ch-window-close":
353
325
  if (!customElements.get(tagName)) {
354
326
  defineCustomElement$c();
355
327
  }
356
328
  break;
357
- case "gxg-button":
329
+ case "gx-ide-container":
358
330
  if (!customElements.get(tagName)) {
359
331
  defineCustomElement$b();
360
332
  }
361
333
  break;
362
- case "gxg-form-checkbox":
334
+ case "gxg-button":
363
335
  if (!customElements.get(tagName)) {
364
336
  defineCustomElement$a();
365
337
  }
366
338
  break;
367
- case "gxg-icon":
339
+ case "gxg-form-checkbox":
368
340
  if (!customElements.get(tagName)) {
369
341
  defineCustomElement$9();
370
342
  }
371
343
  break;
372
- case "gxg-label":
344
+ case "gxg-icon":
373
345
  if (!customElements.get(tagName)) {
374
346
  defineCustomElement$8();
375
347
  }
376
348
  break;
377
- case "gxg-suggest":
349
+ case "gxg-label":
378
350
  if (!customElements.get(tagName)) {
379
351
  defineCustomElement$7();
380
352
  }
381
353
  break;
382
- case "gxg-text":
354
+ case "gxg-suggest":
383
355
  if (!customElements.get(tagName)) {
384
356
  defineCustomElement$6();
385
357
  }
386
358
  break;
387
- case "gxg-title":
359
+ case "gxg-text":
388
360
  if (!customElements.get(tagName)) {
389
361
  defineCustomElement$5();
390
362
  }
391
363
  break;
392
- case "gxg-tooltip":
364
+ case "gxg-title":
393
365
  if (!customElements.get(tagName)) {
394
366
  defineCustomElement$4();
395
367
  }
396
368
  break;
397
- case "gxg-tree":
369
+ case "gxg-tooltip":
398
370
  if (!customElements.get(tagName)) {
399
371
  defineCustomElement$3();
400
372
  }
401
373
  break;
402
- case "gxg-tree-item":
374
+ case "gxg-tree-view":
403
375
  if (!customElements.get(tagName)) {
404
376
  defineCustomElement$2();
405
377
  }
@@ -1,5 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { L as Locale } from './locale.js';
3
+ import { c as config } from './config.js';
3
4
  import { f as formSubmitValidation } from './form-validation.js';
4
5
  import { r as renderFormItems } from './common.js';
5
6
  import { d as defineCustomElement$d } from './icon.js';
@@ -55,13 +56,13 @@ const GxIdeShareKb$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
55
56
  // 9.LOCAL METHODS //
56
57
  // 10.RENDER() FUNCTION //
57
58
  render() {
58
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gxg-container", { footerJustify: "end" }, h("main", { class: "main grid" }, h("gxg-label", { labelPosition: "start", class: "kb-label", noMargin: true }, this._componentLocale.main.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "server-url-label", noMargin: true }, this._componentLocale.main.serverUrl), h("gxg-combo-box", { disableFilter: !this.enableCustomServer, labelPosition: "start", placeholder: "https://myexampleserver.com", strict: true, "max-width": "100%", value: this.serverUrls[0], ref: (el) => (this.serverUrlEl = el), part: "server-url", class: "server-url-input" }, renderFormItems("gxg-combo-box-item", this.serverUrls.map((item) => ({
59
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gxg-container", { footerJustify: "end" }, h("main", { class: "main grid" }, h("gxg-label", { labelPosition: "start", class: "kb-label", noMargin: true }, this._componentLocale.main.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, toolTip: config.tooltip, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "server-url-label", noMargin: true }, this._componentLocale.main.serverUrl), h("gxg-combo-box", { disableFilter: !this.enableCustomServer, labelPosition: "start", placeholder: "https://myexampleserver.com", strict: true, toolTip: config.tooltip, "max-width": "100%", value: this.serverUrls[0], ref: (el) => (this.serverUrlEl = el), part: "server-url", class: "server-url-input" }, renderFormItems("gxg-combo-box-item", this.serverUrls.map((item) => ({
59
60
  id: item,
60
61
  label: item
61
62
  })), "server-url")), h("gxg-combo-box", { labelPosition: "start", placeholder: "https://myexampleserver.com", "max-width": "100%", value: AUTHENTICATION_TYPE[0], ref: (el) => (this.authTypeEl = el), part: "auth-type", class: "auth-type-input" }, renderFormItems("gxg-combo-box-item", AUTHENTICATION_TYPE.map((item) => ({
62
63
  id: item,
63
64
  label: item
64
- })), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer", type: "primary-text-only", onClick: this.createKBCallbackHandler }, this._componentLocale.footer.shareBtn)))));
65
+ })), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", toolTip: config.tooltip, ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, toolTip: config.tooltip, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer", type: "primary-text-only", onClick: this.createKBCallbackHandler }, this._componentLocale.footer.shareBtn)))));
65
66
  }
66
67
  static get assetsDirs() { return ["gx-ide-assets/share-kb"]; }
67
68
  get el() { return this; }
@@ -1,5 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model.js';
1
+ import { h, proxyCustomElement, HTMLElement, Host } from '@stencil/core/internal/client';
3
2
  import { d as defineCustomElement$9 } from './icon.js';
4
3
  import { d as defineCustomElement$8 } from './button.js';
5
4
  import { d as defineCustomElement$7 } from './form-checkbox.js';
@@ -9,6 +8,53 @@ import { d as defineCustomElement$4 } from './tooltip.js';
9
8
  import { d as defineCustomElement$3 } from './gxg-tree2.js';
10
9
  import { d as defineCustomElement$2 } from './gxg-tree-item2.js';
11
10
 
11
+ /* eslint-disable @typescript-eslint/no-use-before-define */
12
+ const renderTreeItems = (treeItemsModel, firstCall = true) => {
13
+ if (treeItemsModel === null || treeItemsModel === void 0 ? void 0 : treeItemsModel.length) {
14
+ if (firstCall) {
15
+ return treeItemsModel.map((item) => {
16
+ return renderTreeItem(item);
17
+ });
18
+ }
19
+ else {
20
+ return (h("gxg-tree", { slot: "tree" }, treeItemsModel.map((item) => {
21
+ return renderTreeItem(item);
22
+ })));
23
+ }
24
+ }
25
+ return [];
26
+ };
27
+ const renderTreeItem = (item) => {
28
+ var _a;
29
+ const childrenLength = item.items ? item.items.length : 0;
30
+ const isLeaf = !!(childrenLength === 0 || item.leaf);
31
+ const lazy = !!item.lazy;
32
+ return (h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, description: item.description, disabled: item.disabled, icon: item.icon, indeterminate: item.indeterminate, id: item.id, key: `tree-item-${item.id}`, label: item.label, leaf: isLeaf && !lazy, numberOfChildren: childrenLength, opened: item.opened, selected: item.selected }, [item.label, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) && renderTreeItems(item.items, false)]));
33
+ };
34
+
35
+ const updateNodeById = (actualModel, nodeUpdatedState, updatedNodeId) => {
36
+ return actualModel.map(nodeActualState => {
37
+ if (nodeActualState.id === updatedNodeId) {
38
+ return Object.assign(Object.assign({}, nodeActualState), nodeUpdatedState);
39
+ }
40
+ else if (nodeActualState.items) {
41
+ return Object.assign(Object.assign({}, nodeActualState), { items: updateNodeById(nodeActualState.items, nodeUpdatedState, updatedNodeId) });
42
+ }
43
+ else {
44
+ return nodeActualState;
45
+ }
46
+ });
47
+ };
48
+ const updateTreeModel = (actualModel, updatedNodeModel, updatedNodeId) => {
49
+ if (actualModel.length && updatedNodeModel && updatedNodeId) {
50
+ return updateNodeById(actualModel, updatedNodeModel, updatedNodeId);
51
+ }
52
+ else {
53
+ /* If no newItemModel was passed, at least return the actualModel, to avoid having an updated empty tree */
54
+ return actualModel;
55
+ }
56
+ };
57
+
12
58
  const testCss = ":host{display:block}";
13
59
 
14
60
  const GxIdeTest$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -1,7 +1,10 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$4 } from './icon.js';
3
- import { d as defineCustomElement$3 } from './combo-box-item.js';
4
- import { d as defineCustomElement$2 } from './icon2.js';
2
+ import { d as defineCustomElement$7 } from './icon.js';
3
+ import { d as defineCustomElement$6 } from './combo-box-item.js';
4
+ import { d as defineCustomElement$5 } from './form-text.js';
5
+ import { d as defineCustomElement$4 } from './icon2.js';
6
+ import { d as defineCustomElement$3 } from './gxg-label2.js';
7
+ import { d as defineCustomElement$2 } from './tooltip.js';
5
8
 
6
9
  const testCss = ".tree-buttons{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}";
7
10
 
@@ -171,22 +174,7 @@ const GxgTest$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
171
174
  };
172
175
  }
173
176
  render() {
174
- return [
175
- // <gxg-combo-box
176
- // id="combo-fruits"
177
- // placeholder="Select item"
178
- // max-width="100%"
179
- // label-position="start"
180
- // center-label
181
- // cursor-end
182
- // value={this.getSelectedGxOption(this.comboValues)}
183
- // onValueChanged={this.valueChangedHandler}
184
- // >
185
- // {this.renderComboBoxItems(this.comboValues)}
186
- // </gxg-combo-box>,
187
- // <button onClick={this.updateFrontEnds}>update</button>,
188
- // <gxg-tree-view treeModel={this.model}></gxg-tree-view>,
189
- ];
177
+ return (h("div", { class: "form-text-container" }, h("gxg-form-text", { label: "Label above", "label-position": "above", class: "form-component", value: "This is a text", "tool-tip": true, id: "form-text-label-above", validationMessage: "Success! Your masterpiece is complete. \uD83C\uDF89\uD83D\uDC4F", validationStatus: "error" }), h("gxg-form-text", { label: "Label before", class: "form-component", value: "This is a text", "tool-tip": true, id: "form-text-label-before" })));
190
178
  }
191
179
  get el() { return this; }
192
180
  static get style() { return testCss; }
@@ -197,7 +185,7 @@ function defineCustomElement$1() {
197
185
  if (typeof customElements === "undefined") {
198
186
  return;
199
187
  }
200
- const components = ["gxg-test", "ch-icon", "gxg-combo-box-item", "gxg-icon"];
188
+ const components = ["gxg-test", "ch-icon", "gxg-combo-box-item", "gxg-form-text", "gxg-icon", "gxg-label", "gxg-tooltip"];
201
189
  components.forEach(tagName => { switch (tagName) {
202
190
  case "gxg-test":
203
191
  if (!customElements.get(tagName)) {
@@ -206,15 +194,30 @@ function defineCustomElement$1() {
206
194
  break;
207
195
  case "ch-icon":
208
196
  if (!customElements.get(tagName)) {
209
- defineCustomElement$4();
197
+ defineCustomElement$7();
210
198
  }
211
199
  break;
212
200
  case "gxg-combo-box-item":
213
201
  if (!customElements.get(tagName)) {
214
- defineCustomElement$3();
202
+ defineCustomElement$6();
203
+ }
204
+ break;
205
+ case "gxg-form-text":
206
+ if (!customElements.get(tagName)) {
207
+ defineCustomElement$5();
215
208
  }
216
209
  break;
217
210
  case "gxg-icon":
211
+ if (!customElements.get(tagName)) {
212
+ defineCustomElement$4();
213
+ }
214
+ break;
215
+ case "gxg-label":
216
+ if (!customElements.get(tagName)) {
217
+ defineCustomElement$3();
218
+ }
219
+ break;
220
+ case "gxg-tooltip":
218
221
  if (!customElements.get(tagName)) {
219
222
  defineCustomElement$2();
220
223
  }