@genexus/genexus-ide-ui 1.1.14 → 1.1.16

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 (26) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +121 -40
  3. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/collection/components/data-type-selector/data-type-selector.css +6 -0
  6. package/dist/collection/components/data-type-selector/data-type-selector.js +165 -43
  7. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  8. package/dist/collection/components/data-type-selector/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  9. package/dist/collection/components/data-type-selector/helpers.js +2 -0
  10. package/dist/collection/components/data-type-selector/helpers.js.map +1 -1
  11. package/dist/components/gx-ide-data-type-selector.js +126 -42
  12. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  13. package/dist/esm/genexus-ide-ui.js +1 -1
  14. package/dist/esm/gx-ide-data-type-selector.entry.js +121 -40
  15. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  16. package/dist/esm/loader.js +1 -1
  17. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  18. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  19. package/dist/genexus-ide-ui/gx-ide-assets/data-type-selector/langs/data-type-selector.lang.en.json +1 -1
  20. package/dist/genexus-ide-ui/p-7cece7a8.entry.js +344 -0
  21. package/dist/genexus-ide-ui/p-7cece7a8.entry.js.map +1 -0
  22. package/dist/types/components/data-type-selector/data-type-selector.d.ts +16 -12
  23. package/dist/types/components.d.ts +20 -4
  24. package/package.json +1 -1
  25. package/dist/genexus-ide-ui/p-ca6eb9fd.entry.js +0 -255
  26. package/dist/genexus-ide-ui/p-ca6eb9fd.entry.js.map +0 -1
@@ -1,255 +0,0 @@
1
- import { r as t, h as e, H as s, a as i } from "./p-25a9f1d7.js";
2
-
3
- import { g as o } from "./p-2987a259.js";
4
-
5
- import { L as n } from "./p-311eedf3.js";
6
-
7
- const mapCategoryToListItemGroup = t => {
8
- const e = {
9
- caption: t.name,
10
- id: t.name,
11
- type: "group",
12
- expanded: true,
13
- expandable: true,
14
- items: t.types.map((t => ({
15
- caption: t.name,
16
- id: t.name,
17
- additionalInformation: {
18
- "stretch-start": {
19
- center: [ {
20
- imgSrc: t.icon
21
- } ]
22
- }
23
- },
24
- type: "actionable"
25
- })))
26
- };
27
- return e;
28
- };
29
-
30
- const mapDataTypesToList = t => t.map(((t, e) => ({
31
- caption: t.name,
32
- id: t.name,
33
- additionalInformation: {
34
- "stretch-start": {
35
- center: [ {
36
- imgSrc: t.icon || undefined
37
- } ]
38
- }
39
- },
40
- type: "actionable",
41
- order: e
42
- })));
43
-
44
- const a = ":host{position:relative;display:grid;block-size:100%;overflow:auto;grid-template-rows:1fr max-content;--control__border-width:var(--mer-border__width--sm);--control__border-radius:var(--mer-border__radius--sm)}.main{display:contents}.selected-category{margin:0;text-transform:capitalize;margin-inline-start:var(--mer-spacing--md);white-space:nowrap}.footer{overflow:auto}";
45
-
46
- var r = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
47
- if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
48
- if (typeof e === "function" ? t !== e || !i : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
49
- return s === "m" ? i : s === "a" ? i.call(t) : i ? i.value : e.get(t);
50
- };
51
-
52
- var c = undefined && undefined.__classPrivateFieldSet || function(t, e, s, i, o) {
53
- if (i === "m") throw new TypeError("Private method is not writable");
54
- if (i === "a" && !o) throw new TypeError("Private accessor was defined without a setter");
55
- if (typeof e === "function" ? t !== e || !o : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
56
- return i === "a" ? o.call(t, s) : o ? o.value = s : e.set(t, s), s;
57
- };
58
-
59
- var h, l, d, f, p, u, m, b;
60
-
61
- const y = [ "resets/box-sizing", "components/tab", "components/tooltip", "components/list-box", "components/tree-view", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "chameleon/scrollbar" ];
62
-
63
- const g = "all";
64
-
65
- const w = "recenttly-used";
66
-
67
- const v = o({
68
- category: "system",
69
- name: "time",
70
- colorType: "primary"
71
- });
72
-
73
- const k = class {
74
- constructor(s) {
75
- t(this, s);
76
- h.set(this, void 0);
77
- l.set(this, false);
78
- d.set(this, new Map);
79
- f.set(this, (t => {
80
- var e;
81
- const s = (e = t.detail[0]) === null || e === void 0 ? void 0 : e.item.type;
82
- if (s === "actionable") {
83
- const e = t.detail[0].item.caption;
84
- const s = t.detail[0].item.additionalInformation["stretch-start"].center[0];
85
- const i = s.imgSrc;
86
- this.dataTypeSelectedCallback({
87
- name: e,
88
- icon: i
89
- });
90
- r(this, p, "f").call(this, t.detail[0].item.caption, "actionable");
91
- } else if (s === "group") {
92
- r(this, p, "f").call(this, t.detail[0].item.caption, "group");
93
- }
94
- }));
95
- p.set(this, ((t, e) => {
96
- if (this.selectedCategory === w) {
97
- this.recentlyUsedActionListModel.forEach((t => {
98
- // clear selected
99
- t.selected = false;
100
- }));
101
- const e = this.recentlyUsed.findIndex((e => e.name === t));
102
- if (e !== -1) {
103
- this.recentlyUsedActionListModel[e].selected = true;
104
- }
105
- } else if (e === "group" && r(this, d, "f").has(t)) {
106
- const e = r(this, d, "f").get(t);
107
- const s = Object.assign(Object.assign({}, e), {
108
- expanded: e.expanded
109
- });
110
- r(this, d, "f").set(t, s);
111
- }
112
- }));
113
- u.set(this, (() => {
114
- if (!r(this, l, "f")) {
115
- const t = [];
116
- let e = 1;
117
- const s = r(this, d, "f").size;
118
- for (const i of r(this, d, "f").keys()) {
119
- t.push(r(this, d, "f").get(i));
120
- if (e !== s) {
121
- t.push({
122
- type: "separator"
123
- });
124
- }
125
- e++;
126
- }
127
- this.categoriesListBoxModel = t;
128
- c(this, l, true, "f");
129
- this.selectedCategory = g;
130
- }
131
- }));
132
- m.set(this, (() => {
133
- c(this, l, false, "f");
134
- this.categoriesListBoxModel = this.recentlyUsedActionListModel;
135
- this.selectedCategory = w;
136
- }));
137
- this.selectedCategoryHandler = t => {
138
- this.selectedCategory = t.currentTarget.dataset.name;
139
- const e = [ r(this, d, "f").get(this.selectedCategory) ];
140
- this.categoriesListBoxModel = e;
141
- c(this, l, false, "f");
142
- };
143
- b.set(this, (() => {
144
- const t = this.selectedCategory === w ? "button-secondary" : "button-tertiary";
145
- const s = this.selectedCategory === g ? "button-secondary" : "button-tertiary";
146
- let i = this.selectedCategory;
147
- if (this.selectedCategory === w) {
148
- i = r(this, h, "f").fixedTypes.recentlyUsed;
149
- } else if (this.selectedCategory === g) {
150
- i = r(this, h, "f").fixedTypes.all;
151
- } else {
152
- i = this.selectedCategory;
153
- }
154
- return e("footer", {
155
- class: "footer control-footer control-footer-start spacing-body-inline spacing-body-block scrollable\n "
156
- }, e("div", {
157
- class: "buttons-spacer"
158
- }, this.recentlyUsed && this.recentlyUsed.length > 0 && e("button", {
159
- class: `button-icon-only ${t}`,
160
- "aria-label": `${r(this, h, "f").select} ${r(this, h, "f").fixedTypes.recentlyUsed}`,
161
- title: `${r(this, h, "f").select} ${r(this, h, "f").fixedTypes.recentlyUsed}`,
162
- onClick: r(this, m, "f")
163
- }, e("ch-image", {
164
- class: "icon-md",
165
- src: v
166
- })), e("button", {
167
- class: `button-icon-only ${s}`,
168
- onClick: r(this, u, "f"),
169
- "aria-label": `${r(this, h, "f").select} ${r(this, h, "f").fixedTypes.all}`,
170
- title: `${r(this, h, "f").select} ${r(this, h, "f").fixedTypes.all}`
171
- }, "[*]"), this.categories.map((t => {
172
- const s = t.name === this.selectedCategory ? "button-secondary" : "button-tertiary";
173
- return e("button", {
174
- class: `button-icon-only ${s}`,
175
- "aria-label": t.name,
176
- title: t.name,
177
- onClick: this.selectedCategoryHandler,
178
- "data-name": t.name
179
- }, e("ch-image", {
180
- class: "icon-md",
181
- src: t.icon
182
- }));
183
- }))), e("p", {
184
- class: "body-regular-s selected-category"
185
- }, i));
186
- }));
187
- this.categoriesListBoxModel = [];
188
- this.selectedCategory = undefined;
189
- this.statusInfo = [];
190
- this.recentlyUsedActionListModel = [];
191
- this.loading = true;
192
- this.categories = undefined;
193
- this.dataTypeSelectedCallback = undefined;
194
- this.recentlyUsed = [];
195
- }
196
- categoriesChanged(t) {
197
- if (!(t === null || t === void 0 ? void 0 : t.length)) {
198
- return;
199
- }
200
- r(this, d, "f").clear();
201
- t.forEach((t => {
202
- const e = mapCategoryToListItemGroup(t);
203
- r(this, d, "f").set(t.name, e);
204
- }));
205
- this.loading = false;
206
- r(this, u, "f").call(this);
207
- }
208
- recentlyUsedChanged(t) {
209
- this.recentlyUsedActionListModel = null;
210
- this.recentlyUsedActionListModel = mapDataTypesToList(t);
211
- }
212
- async componentWillLoad() {
213
- c(this, h, await n.getComponentStrings(this.el), "f");
214
- // initialize models
215
- this.recentlyUsed.length && this.recentlyUsedChanged(this.recentlyUsed);
216
- }
217
- render() {
218
- return e(s, {
219
- class: "widget"
220
- }, e("ch-theme", {
221
- model: y
222
- }), this.loading ? e("gx-ide-loader", {
223
- loaderTitle: r(this, h, "f").loader.title,
224
- description: r(this, h, "f").loader.description,
225
- show: true
226
- }) : e("section", {
227
- class: "main"
228
- }, e("ch-action-list-render", {
229
- class: "list-box",
230
- model: this.categoriesListBoxModel,
231
- selection: "single",
232
- onSelectedItemsChange: r(this, f, "f")
233
- }), r(this, b, "f").call(this)));
234
- }
235
- static get assetsDirs() {
236
- return [ "gx-ide-assets/data-type-selector" ];
237
- }
238
- get el() {
239
- return i(this);
240
- }
241
- static get watchers() {
242
- return {
243
- categories: [ "categoriesChanged" ],
244
- recentlyUsed: [ "recentlyUsedChanged" ]
245
- };
246
- }
247
- };
248
-
249
- h = new WeakMap, l = new WeakMap, d = new WeakMap, f = new WeakMap, p = new WeakMap,
250
- u = new WeakMap, m = new WeakMap, b = new WeakMap;
251
-
252
- k.style = a;
253
-
254
- export { k as gx_ide_data_type_selector };
255
- //# sourceMappingURL=p-ca6eb9fd.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["mapCategoryToListItemGroup","category","categoryGroup","caption","name","id","type","expanded","expandable","items","types","map","additionalInformation","center","imgSrc","icon","mapDataTypesToList","dataTypes","dataType","index","undefined","order","dataTypeSelectorCss","CSS_BUNDLES","ALL_CATEGORY_ID","RECENTLY_USED_CATEGORY_ID","CLOCK_ICON","getIconPath","colorType","GxIdeKbManagerImport","_GxIdeKbManagerImport__componentLocale","set","this","_GxIdeKbManagerImport_showAll","_GxIdeKbManagerImport_categoriesActionListItemGroupMap","Map","_GxIdeKbManagerImport_handleSelectionChange","event","eventType","_a","detail","item","itemAdditionalBase","dataTypeSelectedCallback","__classPrivateFieldGet","_GxIdeKbManagerImport_updateListBoxModelState","call","selectedCategory","recentlyUsedActionListModel","forEach","selected","selectedItemIndex","recentlyUsed","findIndex","has","group","get","groupUpdated","Object","assign","_GxIdeKbManagerImport_showAllObjects","allCategoriesActionListModel","counter","mapLength","size","key","keys","push","categoriesListBoxModel","__classPrivateFieldSet","_GxIdeKbManagerImport_showRecentlyObjects","selectedCategoryHandler","e","currentTarget","dataset","newSelectedCategory","_GxIdeKbManagerImport_renderFooter","recentlyUsedBtnClass","allBtnClass","selectedCategoryDescription","fixedTypes","all","h","class","length","select","title","onClick","src","categories","buttonClass","categoriesChanged","newCategories","clear","categoryListBoxModel","loading","recentlyUsedChanged","newRecentlyUsed","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","loaderTitle","loader","description","show","selection","onSelectedItemsChange"],"sources":["src/components/data-type-selector/helpers.ts","src/components/data-type-selector/data-type-selector.scss?tag=gx-ide-data-type-selector&encapsulation=shadow","src/components/data-type-selector/data-type-selector.tsx"],"sourcesContent":["import { DataTypeCategoryData, DataTypeData } from \"./data-type-selector\";\nimport {\n ActionListItemGroup,\n ActionListModel\n} from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\n\nexport const mapCategoryToListItemGroup = (\n category: DataTypeCategoryData\n): ActionListItemGroup => {\n const categoryGroup: ActionListItemGroup = {\n caption: category.name,\n id: category.name,\n type: \"group\",\n expanded: true,\n expandable: true,\n items: category.types.map(type => {\n return {\n caption: type.name,\n id: type.name,\n additionalInformation: {\n \"stretch-start\": {\n center: [{ imgSrc: type.icon }]\n }\n },\n type: \"actionable\"\n };\n })\n };\n return categoryGroup;\n};\n\nexport const mapDataTypesToList = (\n dataTypes: DataTypeData[]\n): ActionListModel => {\n return dataTypes.map((dataType, index) => {\n return {\n caption: dataType.name,\n id: dataType.name,\n additionalInformation: {\n \"stretch-start\": {\n center: [{ imgSrc: dataType.icon || undefined }]\n }\n },\n type: \"actionable\",\n order: index\n };\n });\n};\n",":host {\n position: relative;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: 1fr max-content;\n\n // WA: Prevent a custom css rule on genexus-web from overriding --control__border-width value.\n // TDOO: remove this when the custom style is removed from genexus-web.\n // custom stlye is: .gx-struct-editor .tabular-grid-cell {\n // --control__border-width: 0;\n // }\n\n --control__border-width: var(--mer-border__width--sm);\n --control__border-radius: var(--mer-border__radius--sm);\n}\n\n.main {\n display: contents;\n}\n\n.selected-category {\n margin: 0;\n text-transform: capitalize;\n margin-inline-start: var(\n --mer-spacing--md\n ); // TODO: Create a semantic class in Mercury for this case.\n white-space: nowrap;\n}\n\n.footer {\n overflow: auto;\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ActionListItemType,\n ActionListModel\n} from \"@genexus/chameleon-controls-library\";\nimport {\n ActionListItemAdditionalBase,\n ActionListItemGroup\n} from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\n// Gx Ide Ui\nimport { Locale } from \"../../common/locale\";\nimport { mapCategoryToListItemGroup, mapDataTypesToList } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"components/list-box\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst ALL_CATEGORY_ID = \"all\";\nconst RECENTLY_USED_CATEGORY_ID = \"recenttly-used\";\n\nconst CLOCK_ICON = getIconPath({\n category: \"system\",\n name: \"time\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-data-type-selector\",\n styleUrl: \"data-type-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/data-type-selector\"]\n})\nexport class GxIdeKbManagerImport {\n #_componentLocale: any;\n #showAll: boolean = false;\n #categoriesActionListItemGroupMap: Map<string, ActionListItemGroup> = new Map<\n string,\n ActionListItemGroup\n >();\n\n @Element() el: HTMLGxIdeDataTypeSelectorElement;\n\n @State() categoriesListBoxModel: ActionListItemModel[] = [];\n @State() selectedCategory: string;\n @State() statusInfo: StatusInfo[] = [];\n @State() recentlyUsedActionListModel: ActionListModel = [];\n @State() loading: boolean = true;\n\n /**\n * All possible types and its category\n */\n @Prop() readonly categories: DataTypeCategoryData[] = undefined;\n @Watch(\"categories\")\n categoriesChanged(newCategories: DataTypeCategoryData[]) {\n if (!newCategories?.length) {\n return;\n }\n this.#categoriesActionListItemGroupMap.clear();\n newCategories.forEach(category => {\n const categoryListBoxModel = mapCategoryToListItemGroup(category);\n this.#categoriesActionListItemGroupMap.set(\n category.name,\n categoryListBoxModel\n );\n });\n this.loading = false;\n this.#showAllObjects();\n }\n\n /**\n * Callback invoked when user select an item type\n */\n @Prop() readonly dataTypeSelectedCallback: DataTypeSelectedCallback;\n\n /**\n * All recently used types list\n */\n @Prop() readonly recentlyUsed: DataTypeData[] = [];\n @Watch(\"recentlyUsed\")\n recentlyUsedChanged(newRecentlyUsed: DataTypeData[]) {\n this.recentlyUsedActionListModel = null;\n this.recentlyUsedActionListModel = mapDataTypesToList(newRecentlyUsed);\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n // initialize models\n this.recentlyUsed.length && this.recentlyUsedChanged(this.recentlyUsed);\n }\n\n #handleSelectionChange = (\n event: CustomEvent<ActionListItemModelExtended[]>\n ) => {\n const eventType = event.detail[0]?.item.type;\n if (eventType === \"actionable\") {\n const name = event.detail[0].item.caption;\n\n const itemAdditionalBase = event.detail[0].item.additionalInformation[\n \"stretch-start\"\n ].center[0] as ActionListItemAdditionalBase;\n const icon = itemAdditionalBase.imgSrc;\n\n this.dataTypeSelectedCallback({\n name: name,\n icon: icon\n });\n\n this.#updateListBoxModelState(event.detail[0].item.caption, \"actionable\");\n } else if (eventType === \"group\") {\n this.#updateListBoxModelState(event.detail[0].item.caption, \"group\");\n }\n };\n\n #updateListBoxModelState = (name: string, type: ActionListItemType) => {\n if (this.selectedCategory === RECENTLY_USED_CATEGORY_ID) {\n this.recentlyUsedActionListModel.forEach(item => {\n // clear selected\n (item as ActionListItemActionable).selected = false;\n });\n const selectedItemIndex = this.recentlyUsed.findIndex(\n item => item.name === name\n );\n if (selectedItemIndex !== -1) {\n (\n this.recentlyUsedActionListModel[\n selectedItemIndex\n ] as ActionListItemActionable\n ).selected = true;\n }\n } else if (\n type === \"group\" &&\n this.#categoriesActionListItemGroupMap.has(name)\n ) {\n const group = this.#categoriesActionListItemGroupMap.get(\n name\n ) as ActionListItemGroup;\n const groupUpdated = { ...group, expanded: group.expanded };\n this.#categoriesActionListItemGroupMap.set(name, groupUpdated);\n }\n };\n\n #showAllObjects = () => {\n if (!this.#showAll) {\n const allCategoriesActionListModel: ActionListItemModel[] = [];\n let counter = 1;\n const mapLength = this.#categoriesActionListItemGroupMap.size;\n for (const key of this.#categoriesActionListItemGroupMap.keys()) {\n allCategoriesActionListModel.push(\n this.#categoriesActionListItemGroupMap.get(key)\n );\n if (counter !== mapLength) {\n allCategoriesActionListModel.push({ type: \"separator\" });\n }\n counter++;\n }\n this.categoriesListBoxModel = allCategoriesActionListModel;\n this.#showAll = true;\n this.selectedCategory = ALL_CATEGORY_ID;\n }\n };\n\n #showRecentlyObjects = () => {\n this.#showAll = false;\n this.categoriesListBoxModel = this.recentlyUsedActionListModel;\n this.selectedCategory = RECENTLY_USED_CATEGORY_ID;\n };\n\n private selectedCategoryHandler = (e: MouseEvent) => {\n this.selectedCategory = (e.currentTarget as HTMLButtonElement).dataset.name;\n const newSelectedCategory = [\n this.#categoriesActionListItemGroupMap.get(this.selectedCategory)\n ];\n this.categoriesListBoxModel = newSelectedCategory;\n this.#showAll = false;\n };\n\n #renderFooter = () => {\n const recentlyUsedBtnClass =\n this.selectedCategory === RECENTLY_USED_CATEGORY_ID\n ? \"button-secondary\"\n : \"button-tertiary\";\n const allBtnClass =\n this.selectedCategory === ALL_CATEGORY_ID\n ? \"button-secondary\"\n : \"button-tertiary\";\n let selectedCategoryDescription = this.selectedCategory;\n if (this.selectedCategory === RECENTLY_USED_CATEGORY_ID) {\n selectedCategoryDescription =\n this.#_componentLocale.fixedTypes.recentlyUsed;\n } else if (this.selectedCategory === ALL_CATEGORY_ID) {\n selectedCategoryDescription = this.#_componentLocale.fixedTypes.all;\n } else {\n selectedCategoryDescription = this.selectedCategory;\n }\n\n return (\n <footer\n class=\"footer control-footer control-footer-start spacing-body-inline spacing-body-block scrollable\n \"\n >\n <div class=\"buttons-spacer\">\n {this.recentlyUsed && this.recentlyUsed.length > 0 && (\n <button\n class={`button-icon-only ${recentlyUsedBtnClass}`}\n aria-label={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.recentlyUsed\n }`}\n title={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.recentlyUsed\n }`}\n onClick={this.#showRecentlyObjects}\n >\n <ch-image class=\"icon-md\" src={CLOCK_ICON}></ch-image>\n </button>\n )}\n <button\n class={`button-icon-only ${allBtnClass}`}\n onClick={this.#showAllObjects}\n aria-label={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.all\n }`}\n title={`${this.#_componentLocale.select} ${\n this.#_componentLocale.fixedTypes.all\n }`}\n >\n [*]\n </button>\n {this.categories.map(category => {\n const buttonClass =\n category.name === this.selectedCategory\n ? \"button-secondary\"\n : \"button-tertiary\";\n\n return (\n <button\n class={`button-icon-only ${buttonClass}`}\n aria-label={category.name}\n title={category.name}\n onClick={this.selectedCategoryHandler}\n data-name={category.name}\n >\n <ch-image class=\"icon-md\" src={category.icon}></ch-image>\n </button>\n );\n })}\n </div>\n <p class=\"body-regular-s selected-category\">\n {selectedCategoryDescription}\n </p>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <section class=\"main\">\n <ch-action-list-render\n class=\"list-box\"\n model={this.categoriesListBoxModel}\n selection=\"single\"\n onSelectedItemsChange={this.#handleSelectionChange}\n ></ch-action-list-render>\n {this.#renderFooter()}\n </section>\n )}\n </Host>\n );\n }\n}\n\ntype StatusInfo = {\n [key: string]: {\n display: boolean;\n };\n};\n\nexport type DataTypeCategoryData = {\n name: string;\n icon: string;\n types: DataTypeData[];\n};\nexport type DataTypeData = {\n name: string;\n icon: string;\n};\n\nexport type DataTypeSelectedCallback = (data: {\n name: string;\n icon: string;\n}) => Promise<void>;\n"],"mappings":"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"}