@genexus/genexus-ide-ui 0.0.13 → 0.0.14

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 (77) hide show
  1. package/dist/cjs/ch-suggest_5.cjs.entry.js +388 -0
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/gx-ide-container_2.cjs.entry.js +168 -0
  4. package/dist/cjs/gx-ide-references.cjs.entry.js +299 -0
  5. package/dist/cjs/gx-ide-test.cjs.entry.js +2 -25
  6. package/dist/cjs/{gx-ide-container_10.cjs.entry.js → gxg-combo-box_8.cjs.entry.js} +0 -162
  7. package/dist/cjs/{gxg-tree-item.cjs.entry.js → gxg-tree_2.cjs.entry.js} +167 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/render-tree-25d5b8a1.js +29 -0
  10. package/dist/collection/collection-manifest.json +1 -0
  11. package/dist/collection/common/render-suggest.js +18 -0
  12. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.en.json +15 -0
  13. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
  14. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
  15. package/dist/collection/components/references/helpers.js +76 -0
  16. package/dist/collection/components/references/references.css +194 -0
  17. package/dist/collection/components/references/references.js +377 -0
  18. package/dist/collection/index.js +1 -0
  19. package/dist/components/ch-suggest-list-item.js +1 -58
  20. package/dist/{esm/ch-suggest-list-item.entry.js → components/ch-suggest-list-item2.js} +27 -8
  21. package/dist/components/ch-suggest-list.js +1 -39
  22. package/dist/components/ch-suggest-list2.js +41 -0
  23. package/dist/components/ch-suggest.js +1 -259
  24. package/dist/{esm/ch-suggest.entry.js → components/ch-suggest2.js} +47 -8
  25. package/dist/components/gx-ide-references.d.ts +11 -0
  26. package/dist/components/gx-ide-references.js +433 -0
  27. package/dist/components/gx-ide-test.js +2 -25
  28. package/dist/components/gxg-suggest.js +1 -55
  29. package/dist/components/gxg-text.js +1 -88
  30. package/dist/components/index.d.ts +1 -0
  31. package/dist/components/index.js +1 -0
  32. package/dist/components/render-tree.js +27 -0
  33. package/dist/{esm/gxg-suggest.entry.js → components/suggest.js} +29 -10
  34. package/dist/{esm/gxg-text.entry.js → components/text.js} +30 -8
  35. package/dist/esm/ch-suggest_5.entry.js +380 -0
  36. package/dist/esm/genexus-ide-ui.js +1 -1
  37. package/dist/esm/gx-ide-container_2.entry.js +163 -0
  38. package/dist/esm/gx-ide-references.entry.js +295 -0
  39. package/dist/esm/gx-ide-test.entry.js +2 -25
  40. package/dist/esm/{gx-ide-container_10.entry.js → gxg-combo-box_8.entry.js} +2 -162
  41. package/dist/esm/{gxg-tree-item.entry.js → gxg-tree_2.entry.js} +168 -2
  42. package/dist/esm/loader.js +1 -1
  43. package/dist/esm/render-tree-fc8636a3.js +27 -0
  44. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  45. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.en.json +15 -0
  46. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
  47. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
  48. package/dist/genexus-ide-ui/p-1e412d88.entry.js +1 -0
  49. package/dist/genexus-ide-ui/p-62814082.entry.js +1 -0
  50. package/dist/genexus-ide-ui/p-8cdad9e1.entry.js +1 -0
  51. package/dist/genexus-ide-ui/p-92b75873.entry.js +1 -0
  52. package/dist/genexus-ide-ui/p-a5fee36d.entry.js +1 -0
  53. package/dist/genexus-ide-ui/p-abee8c7b.js +1 -0
  54. package/dist/genexus-ide-ui/p-be9406e7.entry.js +1 -0
  55. package/dist/types/common/render-suggest.d.ts +2 -0
  56. package/dist/types/components/references/helpers.d.ts +17 -0
  57. package/dist/types/components/references/references.d.ts +125 -0
  58. package/dist/types/components.d.ts +78 -0
  59. package/dist/types/index.d.ts +1 -0
  60. package/package.json +1 -1
  61. package/dist/cjs/ch-suggest-list-item.cjs.entry.js +0 -45
  62. package/dist/cjs/ch-suggest-list.cjs.entry.js +0 -28
  63. package/dist/cjs/ch-suggest.cjs.entry.js +0 -226
  64. package/dist/cjs/gxg-suggest.cjs.entry.js +0 -42
  65. package/dist/cjs/gxg-text.cjs.entry.js +0 -72
  66. package/dist/cjs/gxg-tree.cjs.entry.js +0 -173
  67. package/dist/esm/ch-suggest-list.entry.js +0 -24
  68. package/dist/esm/gxg-tree.entry.js +0 -169
  69. package/dist/genexus-ide-ui/p-0a954e0f.entry.js +0 -1
  70. package/dist/genexus-ide-ui/p-20a45778.entry.js +0 -1
  71. package/dist/genexus-ide-ui/p-23d4b295.entry.js +0 -1
  72. package/dist/genexus-ide-ui/p-5463844e.entry.js +0 -1
  73. package/dist/genexus-ide-ui/p-5faaf0e5.entry.js +0 -1
  74. package/dist/genexus-ide-ui/p-7a5e0988.entry.js +0 -1
  75. package/dist/genexus-ide-ui/p-a985b448.entry.js +0 -1
  76. package/dist/genexus-ide-ui/p-ad9fe469.entry.js +0 -1
  77. package/dist/genexus-ide-ui/p-b3727324.entry.js +0 -1
@@ -0,0 +1,194 @@
1
+ /* Helper Classes */
2
+ .gxi-hidden {
3
+ display: none !important;
4
+ }
5
+
6
+ .gxi-full-height {
7
+ height: 100%;
8
+ }
9
+
10
+ .align-start {
11
+ display: flex;
12
+ align-items: start;
13
+ }
14
+
15
+ .align-center {
16
+ display: flex;
17
+ align-items: center;
18
+ }
19
+
20
+ .align-end {
21
+ display: flex;
22
+ align-items: end;
23
+ }
24
+
25
+ /* Grids */
26
+ .grid {
27
+ display: grid;
28
+ grid-row-gap: var(--gx-ide-grid-row-gap);
29
+ grid-column-gap: var(--gx-ide-grid-column-gap);
30
+ grid-template-rows: auto;
31
+ }
32
+
33
+ /*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/
34
+ :host(.gx-ide-component) {
35
+ box-shadow: var(--box-shadow-01) !important;
36
+ height: 100% !important;
37
+ display: flex !important;
38
+ flex-direction: column !important;
39
+ }
40
+
41
+ /*stylize the top bar*/
42
+ :host(:focus-within) gx-ide-top-bar::part(wrapper) {
43
+ background-color: var(--color-secondary-enabled);
44
+ }
45
+
46
+ /* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */
47
+ .gx-ide-main-wrapper {
48
+ color: var(--gx-ide-component-text-color);
49
+ font-weight: var(--font-weight-regular);
50
+ font-size: var(--font-size-lg);
51
+ line-height: 1.6em;
52
+ height: 100%;
53
+ background-color: var(--gx-ide-component-background-color);
54
+ display: flex;
55
+ flex-direction: column;
56
+ flex-grow: 1;
57
+ }
58
+
59
+ /*This is the main element. This is the one that take the remaining vertical space*/
60
+ .gx-ide-main {
61
+ flex-grow: 1;
62
+ overflow-y: auto;
63
+ /* Track */
64
+ /* Handle */
65
+ /* Handle on hover */
66
+ }
67
+ .gx-ide-main::-webkit-scrollbar {
68
+ width: 6px;
69
+ height: 6px;
70
+ }
71
+ .gx-ide-main::-webkit-scrollbar-track {
72
+ background-color: var(--gray-02);
73
+ border-radius: 10px;
74
+ }
75
+ .gx-ide-main::-webkit-scrollbar-thumb {
76
+ background: var(--gray-05);
77
+ border-radius: 10px;
78
+ }
79
+ .gx-ide-main::-webkit-scrollbar-thumb:hover {
80
+ background: var(--gray-04);
81
+ cursor: pointer;
82
+ }
83
+ .gx-ide-main .gxg-scroll {
84
+ display: block;
85
+ overflow-y: auto;
86
+ padding-right: 2px;
87
+ }
88
+
89
+ .gx-ide-overflow {
90
+ overflow-y: auto;
91
+ /* Track */
92
+ /* Handle */
93
+ /* Handle on hover */
94
+ }
95
+ .gx-ide-overflow::-webkit-scrollbar {
96
+ width: 6px;
97
+ height: 6px;
98
+ }
99
+ .gx-ide-overflow::-webkit-scrollbar-track {
100
+ background-color: var(--gray-02);
101
+ border-radius: 10px;
102
+ }
103
+ .gx-ide-overflow::-webkit-scrollbar-thumb {
104
+ background: var(--gray-05);
105
+ border-radius: 10px;
106
+ }
107
+ .gx-ide-overflow::-webkit-scrollbar-thumb:hover {
108
+ background: var(--gray-04);
109
+ cursor: pointer;
110
+ }
111
+ .gx-ide-overflow .gxg-scroll {
112
+ display: block;
113
+ overflow-y: auto;
114
+ padding-right: 2px;
115
+ }
116
+
117
+ :host {
118
+ display: block;
119
+ }
120
+
121
+ /*HEADER*/
122
+ .header {
123
+ /*Top*/
124
+ /*Bottom*/
125
+ }
126
+ .header__top {
127
+ grid-template-columns: min-content auto 1fr min-content;
128
+ grid-template-rows: 1fr;
129
+ grid-template-areas: "hide-bar-button suggest-label gxg-suggest selector-dialog-button";
130
+ }
131
+ .header__top .hide-bar-button {
132
+ grid-area: hide-bar-button;
133
+ }
134
+ .header__top .suggest-label {
135
+ grid-area: suggest-label;
136
+ }
137
+ .header__top gxg-suggest {
138
+ grid-area: gxg-suggest;
139
+ }
140
+ .header__top .selector-dialog-button {
141
+ grid-area: selector-dialog-button;
142
+ }
143
+ .header__bottom {
144
+ display: grid;
145
+ grid-template-rows: 1fr;
146
+ transition: var(--gx-ide-timing-super-fast-ms) grid-template-rows;
147
+ }
148
+ .header__bottom--hidden {
149
+ grid-template-rows: 0fr;
150
+ }
151
+ .header__bottom .outer-wrapper {
152
+ overflow: hidden;
153
+ }
154
+ .header__bottom .inner-wrapper {
155
+ padding-top: var(--gx-ide-grid-row-gap);
156
+ display: flex;
157
+ flex-direction: row;
158
+ align-items: center;
159
+ justify-content: space-between;
160
+ }
161
+ .header__bottom .inner-wrapper__left {
162
+ display: flex;
163
+ align-items: center;
164
+ gap: var(--gx-ide-grid-row-gap);
165
+ }
166
+
167
+ /*Header hidable*/
168
+ .header-hidden .first-row {
169
+ grid-template-columns: auto 1fr auto;
170
+ }
171
+ .header-hidden .first-row > :nth-child(3) {
172
+ align-self: end;
173
+ }
174
+ .header-hidden .second-row {
175
+ display: none;
176
+ }
177
+
178
+ /*MAIN*/
179
+ .main {
180
+ grid-template-columns: 1fr 1fr;
181
+ grid-template-rows: 1fr;
182
+ grid-template-areas: "is-referenced has-references";
183
+ height: 100%;
184
+ gap: 0;
185
+ }
186
+ .main > *:first-child {
187
+ border-right: 1px solid var(--gx-ide-container-border-color);
188
+ }
189
+ .main .is-referenced {
190
+ grid-area: is-referenced;
191
+ }
192
+ .main .has-references {
193
+ grid-area: has-references;
194
+ }
@@ -0,0 +1,377 @@
1
+ /* STENCIL IMPORTS */
2
+ import { Host, h } from "@stencil/core";
3
+ /* OTHER LIBRARIES IMPORTS */
4
+ /* CUSTOM IMPORTS */
5
+ import { Locale } from "../../common/locale";
6
+ import { renderTreeItems } from "../../common/render-tree";
7
+ import { renderSuggestLists } from "../../common/render-suggest";
8
+ import { convertObjectDataToSuggestData, convertReferenceDataToTreeData, updateSuggestedObjects } from "./helpers";
9
+ export class GxIdeReferences {
10
+ constructor() {
11
+ /**
12
+ * Keeps an array of the last suggested objects, returned by selectorSourceCallback
13
+ */
14
+ this.suggestedObjects = [];
15
+ /**
16
+ * The references messages max. width that appear if the tree is empty or could not be retrieved.
17
+ */
18
+ this.referencesMessagesMaxWidth = "200px";
19
+ // 7.LISTENERS //
20
+ // 8.PUBLIC METHODS API //
21
+ // 9.LOCAL METHODS //
22
+ /**
23
+ * @description It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
24
+ */
25
+ this.attachSelectObjectListener = () => {
26
+ this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
27
+ const itemValue = e.detail.value;
28
+ this.selectedObject = this.suggestedObjects.find(item => {
29
+ return item.id === itemValue;
30
+ });
31
+ });
32
+ };
33
+ /**
34
+ * @description It attaches several events on the 'referencedByEl' element, which is a tree.
35
+ */
36
+ this.attachReferencedByListeners = () => {
37
+ /* 'toggleIconClicked' Event: This events gets fired when the user clicks on the toggle icon, that opens/close a tree. Here we only use it to check if the item has lazy items to be loaded. */
38
+ this.referencedByEl.addEventListener("toggleIconClicked", async (e) => {
39
+ if (e.detail.lazy && e.detail.id) {
40
+ this.loadReferencesCallback(e.detail.id, false)
41
+ .then(result => {
42
+ this.referencedBy = result;
43
+ })
44
+ .catch(() => {
45
+ // to do
46
+ });
47
+ }
48
+ });
49
+ /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
50
+ this.referencedByEl.addEventListener("selectionChanged", (e) => {
51
+ this.selectReferenceCallback(e.detail.id);
52
+ /* Returns void Promise*/
53
+ });
54
+ /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
55
+ this.referencedByEl.addEventListener("doubleClicked", (e) => {
56
+ this.openObjectCallback(e.detail.id);
57
+ /* Returns void Promise*/
58
+ });
59
+ };
60
+ /**
61
+ * @description It attaches several events on the 'referencesToEl' element, which is a tree.
62
+ */
63
+ this.attachReferencesToListeners = () => {
64
+ /* 'toggleIconClicked' Event: (Read description on 'attachReferencedByListeners' as it does the same)*/
65
+ this.referencesToEl.addEventListener("toggleIconClicked", async (e) => {
66
+ if (e.detail.lazy && e.detail.id) {
67
+ this.loadReferencesCallback(e.detail.id, true)
68
+ .then(result => {
69
+ this.referencesTo = result;
70
+ })
71
+ .catch(() => {
72
+ // to do
73
+ });
74
+ }
75
+ });
76
+ /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
77
+ this.referencesToEl.addEventListener("selectionChanged", (e) => {
78
+ this.selectReferenceCallback(e.detail.id);
79
+ /* Returns void Promise*/
80
+ });
81
+ /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
82
+ this.referencesToEl.addEventListener("doubleClicked", (e) => {
83
+ this.openObjectCallback(e.detail.id);
84
+ /* Returns void Promise*/
85
+ });
86
+ };
87
+ /**
88
+ * @description This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
89
+ */
90
+ this.selectObjectValueChangedHandler = async (e) => {
91
+ const value = e.detail;
92
+ this.selectorSourceCallback(value)
93
+ .then(result => {
94
+ /* update selected objects state*/
95
+ this.suggestedObjects = updateSuggestedObjects(result);
96
+ /* show suggestions*/
97
+ this.objectsSuggestions = convertObjectDataToSuggestData(result);
98
+ })
99
+ .catch(() => {
100
+ // to do
101
+ });
102
+ };
103
+ this.openObjectCallbackHandler = async () => {
104
+ this.openObjectCallback(this.selectedObject.id);
105
+ /* Returns an empty Promise*/
106
+ };
107
+ /**
108
+ * @description handler that gets fired when the use clicks on the ch-suggest button (...)
109
+ */
110
+ this.openSelectorDialogCallbackHandler = async () => {
111
+ this.selectedObject = await this.openSelectorDialogCallback();
112
+ };
113
+ /**
114
+ * @description It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
115
+ */
116
+ this.evaluateInitialReferenceData = () => {
117
+ var _a;
118
+ const selectedObjectId = (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.id;
119
+ selectedObjectId && this.loadReferencesHandler(selectedObjectId);
120
+ };
121
+ /**
122
+ * @description This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels.
123
+ */
124
+ this.loadReferencesHandler = async (id) => {
125
+ /* Referenced By*/
126
+ if (this.loadReferencesCallback) {
127
+ this.loadReferencesCallback(id, false)
128
+ .then(result => {
129
+ this.referencedBy = result;
130
+ })
131
+ .catch(() => {
132
+ /* To do*/
133
+ });
134
+ }
135
+ /* References To*/
136
+ if (this.loadReferencesCallback) {
137
+ this.loadReferencesCallback(id, true)
138
+ .then(result => {
139
+ this.referencesTo = result;
140
+ })
141
+ .catch(() => {
142
+ /* To do*/
143
+ });
144
+ }
145
+ };
146
+ /**
147
+ * @description It hides/show the bar (The header bottom section).
148
+ */
149
+ this.hideBarButtonClickedHandler = () => {
150
+ this.barHidden = !this.barHidden;
151
+ };
152
+ this.barHidden = false;
153
+ this.objectsSuggestions = undefined;
154
+ this.referencedBy = undefined;
155
+ this.referencesTo = undefined;
156
+ this.hideTopBar = false;
157
+ this.selectedObject = undefined;
158
+ this.selectorSourceCallback = undefined;
159
+ this.loadReferencesCallback = undefined;
160
+ this.openObjectCallback = undefined;
161
+ this.openSelectorDialogCallback = undefined;
162
+ this.selectReferenceCallback = undefined;
163
+ }
164
+ selectedObjectHandler(newSelectedObject) {
165
+ this.loadReferencesHandler(newSelectedObject.id);
166
+ }
167
+ // 6.COMPONENT LIFECYCLE EVENTS //
168
+ async componentWillLoad() {
169
+ this._componentLocale = await Locale.getComponentStrings(this.el);
170
+ this.evaluateInitialReferenceData();
171
+ }
172
+ componentDidLoad() {
173
+ this.attachSelectObjectListener();
174
+ this.attachReferencedByListeners();
175
+ this.attachReferencesToListeners();
176
+ }
177
+ componentDidRender() {
178
+ this.componentDidRenderEvent.emit(this._componentLocale.componentName);
179
+ }
180
+ // 10.RENDER() FUNCTION //
181
+ render() {
182
+ var _a, _b, _c, _d, _e, _f;
183
+ return (h(Host, { class: "gx-ide-component" }, !this.hideTopBar ? (h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, 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.id, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest" }, 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: {
184
+ "header__bottom": true,
185
+ "header__bottom--hidden": this.barHidden
186
+ } }, 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" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", part: "referenced-by-container" }, h("gxg-tree", { ref: el => (this.referencedByEl = el), class: { "gxi-hidden": !((_a = this.referencedBy) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: false, part: "referenced-by-tree" }, renderTreeItems(convertReferenceDataToTreeData(this.referencedBy))), !((_b = this.referencedBy) === 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.referencedBy) === null || _c === void 0 ? void 0 : _c.length) === 0
187
+ ? this._componentLocale.main.isReferencedByEmpty
188
+ : this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", part: "references-to-container" }, h("gxg-tree", { ref: el => (this.referencesToEl = el), class: { "gxi-hidden": !((_d = this.referencesTo) === null || _d === void 0 ? void 0 : _d.length) }, checkbox: false, part: "references-to-tree" }, renderTreeItems(convertReferenceDataToTreeData(this.referencesTo))), !((_e = this.referencesTo) === 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.referencesTo) === null || _f === void 0 ? void 0 : _f.length) === 0
189
+ ? this._componentLocale.main.hasReferencesEmpty
190
+ : this._componentLocale.main.hasReferencesToError)))))));
191
+ }
192
+ static get is() { return "gx-ide-references"; }
193
+ static get encapsulation() { return "shadow"; }
194
+ static get originalStyleUrls() {
195
+ return {
196
+ "$": ["references.scss"]
197
+ };
198
+ }
199
+ static get styleUrls() {
200
+ return {
201
+ "$": ["references.css"]
202
+ };
203
+ }
204
+ static get assetsDirs() { return ["gx-ide-assets/references"]; }
205
+ static get properties() {
206
+ return {
207
+ "hideTopBar": {
208
+ "type": "boolean",
209
+ "mutable": false,
210
+ "complexType": {
211
+ "original": "false",
212
+ "resolved": "boolean",
213
+ "references": {}
214
+ },
215
+ "required": false,
216
+ "optional": false,
217
+ "docs": {
218
+ "tags": [],
219
+ "text": "If true, will hide the top-bar"
220
+ },
221
+ "attribute": "hide-top-bar",
222
+ "reflect": false,
223
+ "defaultValue": "false"
224
+ },
225
+ "selectedObject": {
226
+ "type": "unknown",
227
+ "mutable": true,
228
+ "complexType": {
229
+ "original": "ObjectData",
230
+ "resolved": "{ id: string; icon: string; name: string; description?: string; }",
231
+ "references": {
232
+ "ObjectData": {
233
+ "location": "local"
234
+ }
235
+ }
236
+ },
237
+ "required": false,
238
+ "optional": true,
239
+ "docs": {
240
+ "tags": [],
241
+ "text": "Currently selected object"
242
+ }
243
+ },
244
+ "selectorSourceCallback": {
245
+ "type": "unknown",
246
+ "mutable": false,
247
+ "complexType": {
248
+ "original": "SelectorSourceCallback",
249
+ "resolved": "(prefix: string) => Promise<SelectorCategoryData[]>",
250
+ "references": {
251
+ "SelectorSourceCallback": {
252
+ "location": "local"
253
+ }
254
+ }
255
+ },
256
+ "required": false,
257
+ "optional": true,
258
+ "docs": {
259
+ "tags": [],
260
+ "text": "Callback invoked when user writes on object selector input, return possible options to show in autocomplete list"
261
+ }
262
+ },
263
+ "loadReferencesCallback": {
264
+ "type": "unknown",
265
+ "mutable": false,
266
+ "complexType": {
267
+ "original": "LoadReferencesCallback",
268
+ "resolved": "(id: string, to: boolean) => Promise<ReferenceData[]>",
269
+ "references": {
270
+ "LoadReferencesCallback": {
271
+ "location": "local"
272
+ }
273
+ }
274
+ },
275
+ "required": false,
276
+ "optional": true,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": "Callback invoked when a node is expanded in any of the references panels"
280
+ }
281
+ },
282
+ "openObjectCallback": {
283
+ "type": "unknown",
284
+ "mutable": false,
285
+ "complexType": {
286
+ "original": "OpenObjectCallback",
287
+ "resolved": "(id: string) => Promise<void>",
288
+ "references": {
289
+ "OpenObjectCallback": {
290
+ "location": "local"
291
+ }
292
+ }
293
+ },
294
+ "required": false,
295
+ "optional": true,
296
+ "docs": {
297
+ "tags": [],
298
+ "text": "Callback invoked when user wants to open an object"
299
+ }
300
+ },
301
+ "openSelectorDialogCallback": {
302
+ "type": "unknown",
303
+ "mutable": false,
304
+ "complexType": {
305
+ "original": "OpenSelectorDialogCallback",
306
+ "resolved": "() => Promise<ObjectData>",
307
+ "references": {
308
+ "OpenSelectorDialogCallback": {
309
+ "location": "local"
310
+ }
311
+ }
312
+ },
313
+ "required": false,
314
+ "optional": true,
315
+ "docs": {
316
+ "tags": [],
317
+ "text": "Callback invoked when user wants to show object selection dialog"
318
+ }
319
+ },
320
+ "selectReferenceCallback": {
321
+ "type": "unknown",
322
+ "mutable": false,
323
+ "complexType": {
324
+ "original": "SelectReferenceCallback",
325
+ "resolved": "(id: string) => Promise<void>",
326
+ "references": {
327
+ "SelectReferenceCallback": {
328
+ "location": "local"
329
+ }
330
+ }
331
+ },
332
+ "required": false,
333
+ "optional": true,
334
+ "docs": {
335
+ "tags": [],
336
+ "text": "Callback invoked when any item from the references panels is selected"
337
+ }
338
+ }
339
+ };
340
+ }
341
+ static get states() {
342
+ return {
343
+ "barHidden": {},
344
+ "objectsSuggestions": {},
345
+ "referencedBy": {},
346
+ "referencesTo": {}
347
+ };
348
+ }
349
+ static get events() {
350
+ return [{
351
+ "method": "componentDidRenderEvent",
352
+ "name": "componentDidRenderEvent",
353
+ "bubbles": true,
354
+ "cancelable": true,
355
+ "composed": true,
356
+ "docs": {
357
+ "tags": [{
358
+ "name": "description",
359
+ "text": "Gets fired when the component has rendered for the first time."
360
+ }],
361
+ "text": ""
362
+ },
363
+ "complexType": {
364
+ "original": "string",
365
+ "resolved": "string",
366
+ "references": {}
367
+ }
368
+ }];
369
+ }
370
+ static get elementRef() { return "el"; }
371
+ static get watchers() {
372
+ return [{
373
+ "propName": "selectedObject",
374
+ "methodName": "selectedObjectHandler"
375
+ }];
376
+ }
377
+ }
@@ -1,2 +1,3 @@
1
1
  import "@genexus/gemini";
2
2
  export * from "./components";
3
+ import "@genexus/chameleon-controls-library";
@@ -1,61 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
-
3
- const chSuggestListItemCss = ":host{display:block}:where(button){all:unset;display:flex;width:100%;cursor:pointer}*,::after,::before{box-sizing:border-box}";
4
-
5
- const ARROW_DOWN = "ArrowDown";
6
- const ARROW_UP = "ArrowUp";
7
- const ChSuggestListItem$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
- constructor() {
9
- super();
10
- this.__registerHost();
11
- this.__attachShadow();
12
- this.itemSelected = createEvent(this, "itemSelected", 7);
13
- this.focusChangeAttempt = createEvent(this, "focusChangeAttempt", 7);
14
- // 6.COMPONENT LIFECYCLE EVENTS //
15
- // 7.LISTENERS //
16
- // 8.PUBLIC METHODS API //
17
- // 9.LOCAL METHODS //
18
- this.handleClick = () => {
19
- this.itemSelected.emit({
20
- value: this.value || this.el.innerText,
21
- description: this.description
22
- });
23
- };
24
- this.handleKeyDown = (e) => {
25
- if (e.code === ARROW_UP || e.code === ARROW_DOWN) {
26
- e.preventDefault();
27
- this.focusChangeAttempt.emit({
28
- el: this.el,
29
- code: e.code
30
- });
31
- }
32
- };
33
- }
34
- // 10.RENDER() FUNCTION //
35
- render() {
36
- 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))))));
37
- }
38
- static get delegatesFocus() { return true; }
39
- get el() { return this; }
40
- static get style() { return chSuggestListItemCss; }
41
- }, [17, "ch-suggest-list-item", {
42
- "iconSrc": [1, "icon-src"],
43
- "description": [1],
44
- "value": [8]
45
- }]);
46
- function defineCustomElement$1() {
47
- if (typeof customElements === "undefined") {
48
- return;
49
- }
50
- const components = ["ch-suggest-list-item"];
51
- components.forEach(tagName => { switch (tagName) {
52
- case "ch-suggest-list-item":
53
- if (!customElements.get(tagName)) {
54
- customElements.define(tagName, ChSuggestListItem$1);
55
- }
56
- break;
57
- } });
58
- }
1
+ import { C as ChSuggestListItem$1, d as defineCustomElement$1 } from './ch-suggest-list-item2.js';
59
2
 
60
3
  const ChSuggestListItem = ChSuggestListItem$1;
61
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,12 +1,14 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f0a5746.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
 
3
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";
7
- const ChSuggestListItem = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
7
+ const ChSuggestListItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.__attachShadow();
10
12
  this.itemSelected = createEvent(this, "itemSelected", 7);
11
13
  this.focusChangeAttempt = createEvent(this, "focusChangeAttempt", 7);
12
14
  // 6.COMPONENT LIFECYCLE EVENTS //
@@ -34,8 +36,25 @@ const ChSuggestListItem = class {
34
36
  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))))));
35
37
  }
36
38
  static get delegatesFocus() { return true; }
37
- get el() { return getElement(this); }
38
- };
39
- ChSuggestListItem.style = chSuggestListItemCss;
39
+ get el() { return this; }
40
+ static get style() { return chSuggestListItemCss; }
41
+ }, [17, "ch-suggest-list-item", {
42
+ "iconSrc": [1, "icon-src"],
43
+ "description": [1],
44
+ "value": [8]
45
+ }]);
46
+ function defineCustomElement() {
47
+ if (typeof customElements === "undefined") {
48
+ return;
49
+ }
50
+ const components = ["ch-suggest-list-item"];
51
+ components.forEach(tagName => { switch (tagName) {
52
+ case "ch-suggest-list-item":
53
+ if (!customElements.get(tagName)) {
54
+ customElements.define(tagName, ChSuggestListItem);
55
+ }
56
+ break;
57
+ } });
58
+ }
40
59
 
41
- export { ChSuggestListItem as ch_suggest_list_item };
60
+ export { ChSuggestListItem as C, defineCustomElement as d };