@genexus/genexus-ide-ui 0.0.62 → 0.0.63

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 (113) hide show
  1. package/dist/cjs/{ch-tree-x_3.cjs.entry.js → ch-checkbox_4.cjs.entry.js} +277 -71
  2. package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +242 -0
  3. package/dist/cjs/{ch-next-data-modeling-item.cjs.entry.js → ch-next-data-modeling_2.cjs.entry.js} +20 -1
  4. package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +160 -0
  5. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  6. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +41 -39
  7. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +23 -11
  8. package/dist/cjs/gx-ide-test.cjs.entry.js +107 -122
  9. package/dist/cjs/gxg-color-picker.cjs.entry.js +2 -2
  10. package/dist/cjs/gxg-title-editable.cjs.entry.js +11 -4
  11. package/dist/cjs/{gxg-tree_2.cjs.entry.js → gxg-tree-item.cjs.entry.js} +0 -212
  12. package/dist/cjs/gxg-tree-view.cjs.entry.js +165 -0
  13. package/dist/cjs/gxg-tree.cjs.entry.js +218 -0
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/collection-manifest.json +5 -3
  16. package/dist/collection/components/_test/test.css +5 -0
  17. package/dist/collection/components/_test/test.js +109 -220
  18. package/dist/collection/components/kb-manager-export/helpers.js +7 -23
  19. package/dist/collection/components/kb-manager-export/kb-manager-export.css +20 -0
  20. package/dist/collection/components/kb-manager-export/kb-manager-export.js +42 -22
  21. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -0
  22. package/dist/collection/components/kb-manager-import/kb-manager-import.js +23 -11
  23. package/dist/components/ch-next-data-modeling-item.js +1 -457
  24. package/dist/components/ch-next-data-modeling-render.js +295 -0
  25. package/dist/components/ch-next-data-modeling.js +1 -27
  26. package/dist/components/ch-tree-view-item.js +6 -0
  27. package/dist/components/ch-tree-view-render-wrapper.js +224 -0
  28. package/dist/components/ch-tree-view-render.js +6 -0
  29. package/dist/components/ch-tree-view.js +6 -0
  30. package/dist/components/gx-ide-kb-manager-export.js +75 -73
  31. package/dist/components/gx-ide-kb-manager-import.js +38 -20
  32. package/dist/components/gx-ide-references.js +21 -15
  33. package/dist/components/gx-ide-test.js +120 -160
  34. package/dist/components/gxg-color-picker.js +2 -2
  35. package/dist/components/gxg-title-editable.js +12 -4
  36. package/dist/components/gxg-tree-item.js +614 -1
  37. package/dist/components/gxg-tree-view.js +2 -2
  38. package/dist/components/gxg-tree.js +236 -1
  39. package/dist/components/index.js +5 -3
  40. package/dist/components/next-data-modeling-item.js +466 -0
  41. package/dist/{esm/ch-next-data-modeling.entry.js → components/next-data-modeling.js} +21 -7
  42. package/dist/components/{tree-x-list-item.js → tree-view-item.js} +9 -9
  43. package/dist/components/{ch-test-tree-x.js → tree-view-render.js} +168 -28
  44. package/dist/components/tree-view.js +410 -435
  45. package/dist/components/tree-view2.js +226 -0
  46. package/dist/esm/{ch-tree-x_3.entry.js → ch-checkbox_4.entry.js} +275 -70
  47. package/dist/esm/ch-next-data-modeling-render.entry.js +238 -0
  48. package/dist/esm/{ch-next-data-modeling-item.entry.js → ch-next-data-modeling_2.entry.js} +21 -3
  49. package/dist/esm/ch-tree-view-render-wrapper.entry.js +156 -0
  50. package/dist/esm/genexus-ide-ui.js +1 -1
  51. package/dist/esm/gx-ide-kb-manager-export.entry.js +41 -39
  52. package/dist/esm/gx-ide-kb-manager-import.entry.js +23 -11
  53. package/dist/esm/gx-ide-test.entry.js +108 -123
  54. package/dist/esm/gxg-color-picker.entry.js +2 -2
  55. package/dist/esm/gxg-title-editable.entry.js +11 -4
  56. package/dist/{components/gxg-tree-item2.js → esm/gxg-tree-item.entry.js} +9 -79
  57. package/dist/esm/gxg-tree-view.entry.js +161 -0
  58. package/dist/{components/gxg-tree2.js → esm/gxg-tree.entry.js} +8 -32
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  61. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  62. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -0
  63. package/dist/genexus-ide-ui/p-13177896.entry.js +1 -0
  64. package/dist/genexus-ide-ui/p-19fef562.entry.js +1 -0
  65. package/dist/genexus-ide-ui/p-2781b92a.entry.js +1 -0
  66. package/dist/genexus-ide-ui/p-2c17e71d.entry.js +1 -0
  67. package/dist/genexus-ide-ui/p-40a57a36.entry.js +1 -0
  68. package/dist/genexus-ide-ui/p-636d02fa.entry.js +1 -0
  69. package/dist/genexus-ide-ui/p-7b63be93.entry.js +1 -0
  70. package/dist/genexus-ide-ui/p-8a7c4561.entry.js +1 -0
  71. package/dist/genexus-ide-ui/p-a2cb0e6b.entry.js +1 -0
  72. package/dist/genexus-ide-ui/p-a9c8b373.entry.js +1 -0
  73. package/dist/genexus-ide-ui/p-b819706e.entry.js +1 -0
  74. package/dist/genexus-ide-ui/p-bacd879c.entry.js +1 -0
  75. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/next/data-modeling-render/next-data-modeling-render.css +3 -0
  76. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.css +3 -0
  77. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-view/tree-view-render-wrapper.css +0 -0
  78. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view/tree-view.css +45 -0
  79. package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +17 -3
  80. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +5 -2
  81. package/dist/types/common/helpers.d.ts +2 -2
  82. package/dist/types/components/_test/test.d.ts +3 -35
  83. package/dist/types/components/kb-manager-export/helpers.d.ts +4 -4
  84. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +10 -5
  85. package/dist/types/components/kb-manager-import/helpers.d.ts +3 -3
  86. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +7 -6
  87. package/dist/types/components/references/helpers.d.ts +2 -2
  88. package/dist/types/components/references/references.d.ts +3 -3
  89. package/dist/types/components.d.ts +3 -60
  90. package/package.json +3 -3
  91. package/dist/cjs/ch-checkbox.cjs.entry.js +0 -93
  92. package/dist/cjs/ch-next-data-modeling.cjs.entry.js +0 -19
  93. package/dist/cjs/ch-test-tree-x.cjs.entry.js +0 -458
  94. package/dist/components/ch-tree-x-list-item.js +0 -6
  95. package/dist/components/ch-tree-x.js +0 -6
  96. package/dist/components/tree-x.js +0 -504
  97. package/dist/esm/ch-checkbox.entry.js +0 -89
  98. package/dist/esm/ch-test-tree-x.entry.js +0 -454
  99. package/dist/esm/gxg-tree_2.entry.js +0 -757
  100. package/dist/genexus-ide-ui/p-092ccacd.entry.js +0 -1
  101. package/dist/genexus-ide-ui/p-1ad68b23.entry.js +0 -3
  102. package/dist/genexus-ide-ui/p-3442d19a.entry.js +0 -1
  103. package/dist/genexus-ide-ui/p-39968306.entry.js +0 -1
  104. package/dist/genexus-ide-ui/p-5755f985.entry.js +0 -1
  105. package/dist/genexus-ide-ui/p-85597097.entry.js +0 -1
  106. package/dist/genexus-ide-ui/p-9e530c7d.entry.js +0 -1
  107. package/dist/genexus-ide-ui/p-ad5040e4.entry.js +0 -1
  108. package/dist/genexus-ide-ui/p-aeb3b032.entry.js +0 -1
  109. package/dist/genexus-ide-ui/p-c53522c9.entry.js +0 -1
  110. package/dist/genexus-ide-ui/p-d104f9a4.entry.js +0 -1
  111. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +0 -3
  112. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-x/tree-x.css +0 -45
  113. /package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/{tree-x-list-item/tree-x-list-item.css → tree-view-item/tree-view-item.css} +0 -0
@@ -1,4 +1,239 @@
1
- import { G as GxgTree$1, d as defineCustomElement$1 } from './gxg-tree2.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const gxgTreeCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host{display:block;--gxg-tree-item-inner-spacing:var(--spacing-comp-01);overflow:auto;height:100%}:host::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}:host::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}:host::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}:host::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host ul{margin:0;padding-left:0;width:100%}";
4
+
5
+ const GxgTree$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.treeItemStateChanged = createEvent(this, "treeItemStateChanged", 7);
11
+ /*
12
+ INDEX:
13
+ 1.OWN PROPERTIES
14
+ 2.REFERENCE TO ELEMENTS
15
+ 3.STATE() VARIABLES
16
+ 4.PUBLIC PROPERTY API | WATCH'S
17
+ 5.EVENTS (EMIT)
18
+ 6.COMPONENT LIFECYCLE METHODS
19
+ 7.LISTENERS
20
+ 8.PUBLIC METHODS API
21
+ 9.LOCAL METHODS
22
+ 10.RENDER() FUNCTION
23
+ */
24
+ // 1.OWN PROPERTIES //
25
+ this.masterTree = false;
26
+ // 3.STATE() VARIABLES //
27
+ // 4.PUBLIC PROPERTY API | WATCH'S //
28
+ /**
29
+ * Set this attribute if you want all the items to have a checkbox.
30
+ */
31
+ this.checkbox = true;
32
+ /**
33
+ * Set this attribute if you want all the items to be checked by default.
34
+ */
35
+ this.checked = false;
36
+ /**
37
+ * Set this attribute if you want all the items to be opened by default.
38
+ */
39
+ this.opened = true;
40
+ /**
41
+ * Set this attribute if you want all the items checkboxes to be toggled when the parent tree item checkbox is toggled.
42
+ */
43
+ this.toggleCheckboxes = false;
44
+ /**
45
+ * Set this attribute if you want to allow multi selection of the items. This property should only be set on the master tree.
46
+ */
47
+ this.multiSelection = false;
48
+ // 9.LOCAL METHODS //
49
+ /**
50
+ * This method evaluates if this tree is the master tree
51
+ */
52
+ this.evaluateIsMasterTree = () => {
53
+ var _a;
54
+ const grandFather = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
55
+ if (grandFather === undefined || grandFather.nodeName !== "GXG-TREE") {
56
+ this.masterTree = true;
57
+ }
58
+ };
59
+ this.initialConfig = () => {
60
+ const parent = this.el.parentElement;
61
+ if ((parent === null || parent === void 0 ? void 0 : parent.tagName) === "GXG-TREE-ITEM") {
62
+ const treeItem = parent;
63
+ this.checkbox =
64
+ treeItem.checkbox !== undefined ? treeItem.checkbox : this.checkbox;
65
+ this.checked =
66
+ treeItem.checked !== undefined ? treeItem.checked : this.checked;
67
+ this.opened =
68
+ treeItem.opened !== undefined ? treeItem.opened : this.opened;
69
+ this.toggleCheckboxes =
70
+ treeItem.toggleCheckboxes !== undefined
71
+ ? treeItem.toggleCheckboxes
72
+ : this.toggleCheckboxes;
73
+ }
74
+ };
75
+ /**
76
+ * @description This functions is supposed to be called from any of the listeners that are attached to the tree-item events that are emitted when the state changes (toggleIconClicked, selectionChanged, checkboxToggled). When an item state is changed, this function emits the update item data, so that the host can update the tree model, if any, if desired.
77
+ */
78
+ this.emitTreeItemNewState = (itemData, emittedBy) => {
79
+ this.treeItemStateChanged.emit({ itemData, emittedBy: emittedBy });
80
+ };
81
+ }
82
+ // 6.COMPONENT LIFECYCLE METHODS //
83
+ componentWillLoad() {
84
+ this.initialConfig();
85
+ this.evaluateIsMasterTree();
86
+ }
87
+ // 7.LISTENERS //
88
+ checkboxToggledHandler(e) {
89
+ const itemData = e.detail;
90
+ if (this.masterTree) {
91
+ this.emitTreeItemNewState(itemData, "checkboxToggled");
92
+ }
93
+ }
94
+ doubleClickedHandler(e) {
95
+ const itemData = e.detail;
96
+ if (this.masterTree) {
97
+ this.emitTreeItemNewState(itemData, "doubleClicked");
98
+ }
99
+ }
100
+ selectionChangedHandler(e) {
101
+ //Unselect all items, except the one that triggered this event. This action should be done once, by the master tree.
102
+ const allChildren = this.el.querySelectorAll("gxg-tree-item");
103
+ if ((this.masterTree && this.multiSelection && !e.detail.ctrl) ||
104
+ (this.masterTree && !this.multiSelection)) {
105
+ Array.from(allChildren).forEach((item) => {
106
+ if (item !== e.detail.ref) {
107
+ item.selected = false;
108
+ }
109
+ });
110
+ }
111
+ const itemData = e.detail;
112
+ if (this.masterTree) {
113
+ this.emitTreeItemNewState(itemData, "selectionChanged");
114
+ }
115
+ }
116
+ toggleIconClickedHandler(e) {
117
+ const itemData = e.detail;
118
+ if (this.masterTree) {
119
+ this.emitTreeItemNewState(itemData, "toggleIconClicked");
120
+ }
121
+ }
122
+ // 8.PUBLIC METHODS API //
123
+ /**
124
+ * Returns an array of the selected tree-items, providing the id, checked status, selected status, and label.
125
+ */
126
+ async getCheckedItems(idsArray) {
127
+ const allTreeItems = Array.from(this.el.querySelectorAll("gxg-tree-item"));
128
+ const checkedTreeItems = [];
129
+ if (idsArray === null || idsArray === void 0 ? void 0 : idsArray.length) {
130
+ idsArray.forEach((id) => {
131
+ const found = allTreeItems.find((item) => id === item.id);
132
+ found &&
133
+ checkedTreeItems.push({
134
+ id: found.id,
135
+ label: found.label,
136
+ checked: found.checked,
137
+ selected: found.selected,
138
+ });
139
+ });
140
+ }
141
+ else {
142
+ allTreeItems.forEach((item) => {
143
+ item.checked &&
144
+ checkedTreeItems.push({
145
+ id: item.id,
146
+ label: item.label,
147
+ checked: item.checked,
148
+ selected: item.selected,
149
+ });
150
+ });
151
+ }
152
+ return checkedTreeItems;
153
+ }
154
+ /**
155
+ * Returns an array of the selected tree-items, providing the id, checked status, selected status, and label.
156
+ */
157
+ async getSelectedItems() {
158
+ const selectedItems = [];
159
+ const allItems = this.el.querySelectorAll("gxg-tree-item");
160
+ if (allItems === null || allItems === void 0 ? void 0 : allItems.length) {
161
+ Array.from(allItems).forEach((item) => {
162
+ if (item.selected) {
163
+ selectedItems.push({
164
+ id: item.id,
165
+ label: item.label,
166
+ checked: item.checked,
167
+ selected: item.selected,
168
+ });
169
+ }
170
+ });
171
+ }
172
+ return selectedItems;
173
+ }
174
+ /**
175
+ * @param ids: An array id the tree items to be toggled.
176
+ * @param open: A boolean indicating that the tree item should be opened or closed. (optional)
177
+ * @description This method is used to toggle a tree-item by the tree-item id/ids.
178
+ * @returns a boolean value indicating if the selected tree-item is open or not, after the method was called.
179
+ */
180
+ async toggleItems(ids, open) {
181
+ if (!(ids === null || ids === void 0 ? void 0 : ids.length)) {
182
+ return [];
183
+ }
184
+ const allTreeItems = Array.from(this.el.querySelectorAll("gxg-tree-item"));
185
+ const toggledTreeItems = [];
186
+ ids.forEach((id) => {
187
+ const found = allTreeItems.find((item) => id === item.id);
188
+ if (found && open === undefined) {
189
+ found.opened = !found.opened;
190
+ }
191
+ else if (found && open && !found.opened) {
192
+ found.opened = true;
193
+ }
194
+ else if (found && !open && found.opened) {
195
+ found.opened = false;
196
+ }
197
+ if (found) {
198
+ toggledTreeItems.push({
199
+ id: found.id,
200
+ opened: found.opened,
201
+ });
202
+ }
203
+ });
204
+ return toggledTreeItems;
205
+ }
206
+ // 10.RENDER() FUNCTION //
207
+ render() {
208
+ return (h(Host, null, h("div", { class: {
209
+ tree: true,
210
+ } }, h("ul", { ref: (el) => (this.ulTree = el) }, h("slot", null)))));
211
+ }
212
+ get el() { return this; }
213
+ static get style() { return gxgTreeCss; }
214
+ }, [1, "gxg-tree", {
215
+ "checkbox": [1028],
216
+ "checked": [1540],
217
+ "opened": [4],
218
+ "toggleCheckboxes": [4, "toggle-checkboxes"],
219
+ "multiSelection": [4, "multi-selection"],
220
+ "getCheckedItems": [64],
221
+ "getSelectedItems": [64],
222
+ "toggleItems": [64]
223
+ }, [[0, "checkboxToggled", "checkboxToggledHandler"], [0, "doubleClicked", "doubleClickedHandler"], [0, "selectionChanged", "selectionChangedHandler"], [0, "toggleIconClicked", "toggleIconClickedHandler"]]]);
224
+ function defineCustomElement$1() {
225
+ if (typeof customElements === "undefined") {
226
+ return;
227
+ }
228
+ const components = ["gxg-tree"];
229
+ components.forEach(tagName => { switch (tagName) {
230
+ case "gxg-tree":
231
+ if (!customElements.get(tagName)) {
232
+ customElements.define(tagName, GxgTree$1);
233
+ }
234
+ break;
235
+ } });
236
+ }
2
237
 
3
238
  const GxgTree = GxgTree$1;
4
239
  const defineCustomElement = defineCustomElement$1;
@@ -29,6 +29,7 @@ export { ChIcon, defineCustomElement as defineCustomElementChIcon } from './ch-i
29
29
  export { ChIntersectionObserver, defineCustomElement as defineCustomElementChIntersectionObserver } from './ch-intersection-observer.js';
30
30
  export { ChNextDataModeling, defineCustomElement as defineCustomElementChNextDataModeling } from './ch-next-data-modeling.js';
31
31
  export { ChNextDataModelingItem, defineCustomElement as defineCustomElementChNextDataModelingItem } from './ch-next-data-modeling-item.js';
32
+ export { ChNextDataModelingRender, defineCustomElement as defineCustomElementChNextDataModelingRender } from './ch-next-data-modeling-render.js';
32
33
  export { ChNextProgressBar, defineCustomElement as defineCustomElementChNextProgressBar } from './ch-next-progress-bar.js';
33
34
  export { ChNotifications, defineCustomElement as defineCustomElementChNotifications } from './ch-notifications.js';
34
35
  export { ChNotificationsItem, defineCustomElement as defineCustomElementChNotificationsItem } from './ch-notifications-item.js';
@@ -50,14 +51,15 @@ export { ChSuggestListItem, defineCustomElement as defineCustomElementChSuggestL
50
51
  export { ChTestActionGroup, defineCustomElement as defineCustomElementChTestActionGroup } from './ch-test-action-group.js';
51
52
  export { ChTestDropdown, defineCustomElement as defineCustomElementChTestDropdown } from './ch-test-dropdown.js';
52
53
  export { ChTestSuggest, defineCustomElement as defineCustomElementChTestSuggest } from './ch-test-suggest.js';
53
- export { ChTestTreeX, defineCustomElement as defineCustomElementChTestTreeX } from './ch-test-tree-x.js';
54
54
  export { ChTextblock, defineCustomElement as defineCustomElementChTextblock } from './ch-textblock.js';
55
55
  export { ChTimer, defineCustomElement as defineCustomElementChTimer } from './ch-timer.js';
56
56
  export { ChTooltip, defineCustomElement as defineCustomElementChTooltip } from './ch-tooltip.js';
57
57
  export { ChTree, defineCustomElement as defineCustomElementChTree } from './ch-tree.js';
58
58
  export { ChTreeItem, defineCustomElement as defineCustomElementChTreeItem } from './ch-tree-item.js';
59
- export { ChTreeX, defineCustomElement as defineCustomElementChTreeX } from './ch-tree-x.js';
60
- export { ChTreeXListItem, defineCustomElement as defineCustomElementChTreeXListItem } from './ch-tree-x-list-item.js';
59
+ export { ChTreeView, defineCustomElement as defineCustomElementChTreeView } from './ch-tree-view.js';
60
+ export { ChTreeViewItem, defineCustomElement as defineCustomElementChTreeViewItem } from './ch-tree-view-item.js';
61
+ export { ChTreeViewRender, defineCustomElement as defineCustomElementChTreeViewRender } from './ch-tree-view-render.js';
62
+ export { ChTreeViewRenderWrapper, defineCustomElement as defineCustomElementChTreeViewRenderWrapper } from './ch-tree-view-render-wrapper.js';
61
63
  export { ChWindow, defineCustomElement as defineCustomElementChWindow } from './ch-window.js';
62
64
  export { ChWindowClose, defineCustomElement as defineCustomElementChWindowClose } from './ch-window-close.js';
63
65
  export { GxGridChameleon, defineCustomElement as defineCustomElementGxGridChameleon } from './gx-grid-chameleon.js';