@genexus/genexus-ide-ui 1.0.53 → 1.0.55
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.
- package/dist/cjs/{MERCURY_ASSETS-ac982891.js → MERCURY_ASSETS-36f04790.js} +2 -2
- package/dist/cjs/MERCURY_ASSETS-36f04790.js.map +1 -0
- package/dist/cjs/{code-render-a496a55b.js → code-render-43aa3faf.js} +2 -2
- package/dist/cjs/{code-render-a496a55b.js.map → code-render-43aa3faf.js.map} +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-chat-container.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +26 -13
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +395 -0
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +19 -0
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +19 -0
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +19 -0
- package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/shortcuts.json +15 -0
- package/dist/collection/components/select-kb-items/helpers.js +167 -0
- package/dist/collection/components/select-kb-items/helpers.js.map +1 -0
- package/dist/collection/components/select-kb-items/select-kb-items.css +24 -0
- package/dist/collection/components/select-kb-items/select-kb-items.js +480 -0
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -0
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +2 -2
- package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +8 -0
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +24 -11
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +3 -2
- package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +2 -1
- package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +2 -1
- package/dist/collection/testing/locale.e2e.js +1 -0
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/MERCURY_ASSETS.js +1 -1
- package/dist/components/MERCURY_ASSETS.js.map +1 -1
- package/dist/components/gx-ide-connect-gx-server.js +2 -2
- package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +25 -12
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-select-kb-items.d.ts +11 -0
- package/dist/components/gx-ide-select-kb-items.js +428 -0
- package/dist/components/gx-ide-select-kb-items.js.map +1 -0
- package/dist/esm/{MERCURY_ASSETS-9e4e8ebc.js → MERCURY_ASSETS-2455138c.js} +2 -2
- package/dist/esm/MERCURY_ASSETS-2455138c.js.map +1 -0
- package/dist/esm/{code-render-89a0d3ef.js → code-render-9ccc8dac.js} +2 -2
- package/dist/esm/{code-render-89a0d3ef.js.map → code-render-9ccc8dac.js.map} +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-ai-message.entry.js +1 -1
- package/dist/esm/gx-ide-chat-container.entry.js +1 -1
- package/dist/esm/gx-ide-connect-gx-server.entry.js +2 -2
- package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +26 -13
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +2 -2
- package/dist/esm/gx-ide-select-kb-items.entry.js +391 -0
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -0
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +3 -2
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +19 -0
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +19 -0
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +19 -0
- package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/shortcuts.json +15 -0
- package/dist/genexus-ide-ui/index.esm.js +2 -2
- package/dist/genexus-ide-ui/{p-f7d2a39a.entry.js → p-20cca16c.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c4c48a1e.entry.js → p-2320aa7a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-47d4ec9a.entry.js → p-291eb585.entry.js} +32 -32
- package/dist/genexus-ide-ui/{p-7be438dc.entry.js → p-3611f8b7.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-732941de.js → p-4b665a04.js} +2 -2
- package/dist/genexus-ide-ui/{p-e14affde.entry.js → p-4fc17d27.entry.js} +20 -20
- package/dist/genexus-ide-ui/{p-cfef5956.entry.js → p-562db47d.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-56ab7460.entry.js +465 -0
- package/dist/genexus-ide-ui/p-56ab7460.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-1ea6c3fe.entry.js → p-5707060d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1e29cd30.entry.js → p-57542159.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-36fecdcb.entry.js → p-5cb80ab8.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-9cfd7800.entry.js → p-7a3baebc.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-2145674e.entry.js → p-9c83ec17.entry.js} +55 -40
- package/dist/genexus-ide-ui/p-9c83ec17.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3ca45936.entry.js → p-a526d1f5.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-8942f4b6.entry.js → p-ae3102f4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-846c67a1.entry.js → p-c49885c3.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-c49885c3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ad5caf61.js → p-c9551186.js} +29 -1
- package/dist/genexus-ide-ui/p-c9551186.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b1eb312d.entry.js → p-cce8a91a.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-1a629aa9.entry.js → p-cff284a9.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-442e30e3.entry.js → p-de92ee84.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-c1791757.entry.js → p-e0db2615.entry.js} +19 -19
- package/dist/genexus-ide-ui/{p-2cefd33a.entry.js → p-e3711567.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-440742f3.entry.js → p-e9f2dd3f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-dd6bbdd5.entry.js → p-fdb45861.entry.js} +3 -3
- package/dist/types/components/select-kb-items/helpers.d.ts +9 -0
- package/dist/types/components/select-kb-items/select-kb-items.d.ts +100 -0
- package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +2 -2
- package/dist/types/components.d.ts +101 -2
- package/package.json +3 -3
- package/dist/cjs/MERCURY_ASSETS-ac982891.js.map +0 -1
- package/dist/esm/MERCURY_ASSETS-9e4e8ebc.js.map +0 -1
- package/dist/genexus-ide-ui/p-2145674e.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-846c67a1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ad5caf61.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-f7d2a39a.entry.js.map → p-20cca16c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c4c48a1e.entry.js.map → p-2320aa7a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-47d4ec9a.entry.js.map → p-291eb585.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-7be438dc.entry.js.map → p-3611f8b7.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-732941de.js.map → p-4b665a04.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e14affde.entry.js.map → p-4fc17d27.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cfef5956.entry.js.map → p-562db47d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1ea6c3fe.entry.js.map → p-5707060d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1e29cd30.entry.js.map → p-57542159.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-36fecdcb.entry.js.map → p-5cb80ab8.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-9cfd7800.entry.js.map → p-7a3baebc.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3ca45936.entry.js.map → p-a526d1f5.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-8942f4b6.entry.js.map → p-ae3102f4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-b1eb312d.entry.js.map → p-cce8a91a.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-1a629aa9.entry.js.map → p-cff284a9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-442e30e3.entry.js.map → p-de92ee84.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-c1791757.entry.js.map → p-e0db2615.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-2cefd33a.entry.js.map → p-e3711567.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-440742f3.entry.js.map → p-e9f2dd3f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-dd6bbdd5.entry.js.map → p-fdb45861.entry.js.map} +0 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import { r as registerInstance, a as getAssetPath, h, H as Host, g as getElement } from './index-93411ea2.js';
|
|
2
|
+
import { g as getIconPath } from './assets-manager-0d129105.js';
|
|
3
|
+
import './MERCURY_ASSETS-2455138c.js';
|
|
4
|
+
import { L as Locale } from './locale-e5107fad.js';
|
|
5
|
+
|
|
6
|
+
const convertItemsNodeListToFlattenedTreeViewModel = (itemsList, checkboxType) => {
|
|
7
|
+
const itemsListFlattenedTreeViewModel = [];
|
|
8
|
+
const processNode = (item) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const leaf = !((_a = item.nodes) === null || _a === void 0 ? void 0 : _a.length);
|
|
11
|
+
const checkbox = checkboxType === "all" ||
|
|
12
|
+
(checkboxType === "custom" && item.checkbox) ||
|
|
13
|
+
(checkboxType === "leaf" && leaf);
|
|
14
|
+
const metaData = JSON.stringify({
|
|
15
|
+
versionType: item.type
|
|
16
|
+
});
|
|
17
|
+
itemsListFlattenedTreeViewModel.push({
|
|
18
|
+
id: item.id.toString(),
|
|
19
|
+
metadata: metaData,
|
|
20
|
+
caption: item.name,
|
|
21
|
+
checked: item.checked,
|
|
22
|
+
checkbox: checkbox,
|
|
23
|
+
expanded: item.expanded,
|
|
24
|
+
startImgSrc: item.icon,
|
|
25
|
+
items: null,
|
|
26
|
+
leaf: leaf,
|
|
27
|
+
selected: item.selected
|
|
28
|
+
});
|
|
29
|
+
if (item.nodes) {
|
|
30
|
+
item.nodes.forEach(childNode => processNode(childNode));
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
itemsList.forEach(item => processNode(item));
|
|
34
|
+
return itemsListFlattenedTreeViewModel;
|
|
35
|
+
};
|
|
36
|
+
const convertItemsListToTreeViewModel = (itemsList, checkboxType) => {
|
|
37
|
+
const itemsListTreeViewModel = [];
|
|
38
|
+
itemsList.forEach(item => {
|
|
39
|
+
var _a;
|
|
40
|
+
const leaf = !((_a = item.nodes) === null || _a === void 0 ? void 0 : _a.length);
|
|
41
|
+
const expanded = item.expanded;
|
|
42
|
+
const icon = item.icon;
|
|
43
|
+
const order = parseInt(item.id);
|
|
44
|
+
const checkbox = checkboxType === "all" ||
|
|
45
|
+
(checkboxType === "custom" && item.checkbox) ||
|
|
46
|
+
(checkboxType === "leaf" && leaf);
|
|
47
|
+
const metaData = JSON.stringify({
|
|
48
|
+
versionType: item.type
|
|
49
|
+
});
|
|
50
|
+
itemsListTreeViewModel.push({
|
|
51
|
+
id: item.id.toString(),
|
|
52
|
+
metadata: metaData,
|
|
53
|
+
caption: item.name,
|
|
54
|
+
checkbox: checkbox,
|
|
55
|
+
checked: item.checked,
|
|
56
|
+
order: order,
|
|
57
|
+
selected: item.selected,
|
|
58
|
+
expanded: expanded,
|
|
59
|
+
startImgSrc: icon,
|
|
60
|
+
items: !leaf
|
|
61
|
+
? convertItemsListToTreeViewModel(item.nodes, checkboxType)
|
|
62
|
+
: null,
|
|
63
|
+
leaf: leaf
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
return itemsListTreeViewModel;
|
|
67
|
+
};
|
|
68
|
+
const findItemNode = (id, item) => {
|
|
69
|
+
if (item.id === id) {
|
|
70
|
+
return item;
|
|
71
|
+
}
|
|
72
|
+
if (item.nodes) {
|
|
73
|
+
for (const itemNode of item.nodes) {
|
|
74
|
+
const result = findItemNode(id, itemNode);
|
|
75
|
+
if (result) {
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
};
|
|
82
|
+
function findItemInArray(itemsNodes, id) {
|
|
83
|
+
for (const item of itemsNodes) {
|
|
84
|
+
const result = findItemNode(id, item);
|
|
85
|
+
if (result) {
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const setAllLeafsCheckedFalse = (itemsList) => {
|
|
92
|
+
const uncheck = (itemNode) => {
|
|
93
|
+
var _a;
|
|
94
|
+
itemNode.checked = false;
|
|
95
|
+
if ((_a = itemNode.nodes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
96
|
+
itemNode.nodes.forEach(childNode => uncheck(childNode));
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
itemsList.forEach(item => uncheck(item));
|
|
100
|
+
return itemsList;
|
|
101
|
+
};
|
|
102
|
+
const unselectAllNodes = (itemsList) => {
|
|
103
|
+
const unselect = (itemNode) => {
|
|
104
|
+
var _a;
|
|
105
|
+
itemNode.selected = false;
|
|
106
|
+
if ((_a = itemNode.nodes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
107
|
+
itemNode.nodes.forEach(childNode => unselect(childNode));
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
itemsList.forEach(item => unselect(item));
|
|
111
|
+
};
|
|
112
|
+
const checkItems = (itemsList, idsChecked) => {
|
|
113
|
+
setAllLeafsCheckedFalse(itemsList);
|
|
114
|
+
idsChecked.forEach(id => {
|
|
115
|
+
const itemFind = findItemInArray(itemsList, id);
|
|
116
|
+
if (itemFind) {
|
|
117
|
+
itemFind.checked = true;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
return itemsList;
|
|
121
|
+
};
|
|
122
|
+
const expandItems = (itemsList, idsChecked) => {
|
|
123
|
+
idsChecked.forEach(id => {
|
|
124
|
+
const itemFind = findItemInArray(itemsList, id);
|
|
125
|
+
if (itemFind) {
|
|
126
|
+
itemFind.expanded = true;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
return itemsList;
|
|
130
|
+
};
|
|
131
|
+
const selectItems = (itemsList, idsSelected) => {
|
|
132
|
+
idsSelected.forEach(id => {
|
|
133
|
+
const itemFind = findItemInArray(itemsList, id);
|
|
134
|
+
if (itemFind) {
|
|
135
|
+
itemFind.selected = true;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return itemsList;
|
|
139
|
+
};
|
|
140
|
+
function searchInNode(item, id) {
|
|
141
|
+
var _a;
|
|
142
|
+
// If the current node is the searched node, we return an empty list (it has no parents in this branch)
|
|
143
|
+
if (item.id === id) {
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
// We traverse each child looking for the target node
|
|
147
|
+
if ((_a = item.nodes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
148
|
+
for (const node of item.nodes) {
|
|
149
|
+
const parents = searchInNode(node, id);
|
|
150
|
+
if (parents !== null) {
|
|
151
|
+
// If we find it, we include the current node at the beginning of the path and return
|
|
152
|
+
return [item.id, ...parents];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
const searchParentsItems = (items, ids) => {
|
|
159
|
+
const parents = [];
|
|
160
|
+
for (const id of ids) {
|
|
161
|
+
for (const rootItem of items) {
|
|
162
|
+
const results = searchInNode(rootItem, id);
|
|
163
|
+
if (results !== null) {
|
|
164
|
+
results.forEach(result => {
|
|
165
|
+
parents.push(result);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return parents;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
const selectKbItemsCss = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}.view-mode__toggle-checkboxes{grid-template-columns:max-content max-content}.field__items-view-type{align-items:center}.field__items-view-type .label{margin-block-start:0 !important}.field__toggle-checkboxes .label{margin-block-start:0 !important}";
|
|
174
|
+
|
|
175
|
+
var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
176
|
+
if (kind === "m")
|
|
177
|
+
throw new TypeError("Private method is not writable");
|
|
178
|
+
if (kind === "a" && !f)
|
|
179
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
180
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
181
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
182
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
183
|
+
};
|
|
184
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
185
|
+
if (kind === "a" && !f)
|
|
186
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
187
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
188
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
189
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
190
|
+
};
|
|
191
|
+
var _GxIdeSelectKbItems__componentLocale, _GxIdeSelectKbItems_checkedNodesIds, _GxIdeSelectKbItems_chShortcutsEl, _GxIdeSelectKbItems_selectedNodesIds, _GxIdeSelectKbItems_shortcutsSrc, _GxIdeSelectKbItems_updatedModelList, _GxIdeSelectKbItems_viewItemsAsModel, _GxIdeSelectKbItems_treeViewRenderEl, _GxIdeSelectKbItems_cancelHandler, _GxIdeSelectKbItems_checkedItemsChangeHandler, _GxIdeSelectKbItems_confirmHandler, _GxIdeSelectKbItems_contextMenuHandler, _GxIdeSelectKbItems_executeDialogAction, _GxIdeSelectKbItems_patternSearchValueChangedHandler, _GxIdeSelectKbItems_renderActionButtons, _GxIdeSelectKbItems_renderFooter, _GxIdeSelectKbItems_selectedItemsChangeHandler, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, _GxIdeSelectKbItems_updateViews, _GxIdeSelectKbItems_viewItemsAsChangedHandler, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler;
|
|
192
|
+
const CSS_BUNDLES = [
|
|
193
|
+
"resets/box-sizing",
|
|
194
|
+
"chameleon/scrollbar",
|
|
195
|
+
"components/tooltip",
|
|
196
|
+
"components/tree-view",
|
|
197
|
+
"utils/form--full",
|
|
198
|
+
"utils/layout",
|
|
199
|
+
"utils/spacing",
|
|
200
|
+
"utils/typography"
|
|
201
|
+
];
|
|
202
|
+
const SYSTEM_SEARCH_ICON = getIconPath({
|
|
203
|
+
category: "system",
|
|
204
|
+
name: "search",
|
|
205
|
+
colorType: "on-surface"
|
|
206
|
+
});
|
|
207
|
+
const VIEW_AS_TREE_ID = "tree";
|
|
208
|
+
const VIEW_AS_LIST_ID = "list";
|
|
209
|
+
const TOGGLE_CHECKBOXES_CHECKED_VALUE = "on";
|
|
210
|
+
const GxIdeSelectKbItems = class {
|
|
211
|
+
constructor(hostRef) {
|
|
212
|
+
registerInstance(this, hostRef);
|
|
213
|
+
_GxIdeSelectKbItems__componentLocale.set(this, void 0);
|
|
214
|
+
_GxIdeSelectKbItems_checkedNodesIds.set(this, []);
|
|
215
|
+
_GxIdeSelectKbItems_chShortcutsEl.set(this, void 0);
|
|
216
|
+
_GxIdeSelectKbItems_selectedNodesIds.set(this, []);
|
|
217
|
+
_GxIdeSelectKbItems_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/select-kb-items/shortcuts.json`));
|
|
218
|
+
_GxIdeSelectKbItems_updatedModelList.set(this, []);
|
|
219
|
+
_GxIdeSelectKbItems_viewItemsAsModel.set(this, void 0);
|
|
220
|
+
_GxIdeSelectKbItems_treeViewRenderEl.set(this, void 0);
|
|
221
|
+
_GxIdeSelectKbItems_cancelHandler.set(this, () => {
|
|
222
|
+
if (this.cancelCallback) {
|
|
223
|
+
this.cancelCallback();
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
_GxIdeSelectKbItems_checkedItemsChangeHandler.set(this, async (e) => {
|
|
227
|
+
const checkedNodesIds = [];
|
|
228
|
+
e.detail.forEach(node => {
|
|
229
|
+
node.item.checked && checkedNodesIds.push(node.item.id);
|
|
230
|
+
});
|
|
231
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_checkedNodesIds, checkedNodesIds, "f");
|
|
232
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_updatedModelList, checkItems(this.itemsList, __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f")), "f");
|
|
233
|
+
if (this.checkedChanged) {
|
|
234
|
+
this.checkedChanged(__classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"));
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
_GxIdeSelectKbItems_confirmHandler.set(this, () => {
|
|
238
|
+
if (this.confirmCallback) {
|
|
239
|
+
this.confirmCallback(__classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"));
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
_GxIdeSelectKbItems_contextMenuHandler.set(this, async (e) => {
|
|
243
|
+
if (this.itemContextMenuCallback) {
|
|
244
|
+
let info;
|
|
245
|
+
const isSelected = __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f").find(id => id === e.detail.id);
|
|
246
|
+
if (!__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f").length || !isSelected) {
|
|
247
|
+
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"), { selected: false });
|
|
248
|
+
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties([e.detail.id], {
|
|
249
|
+
selected: true
|
|
250
|
+
});
|
|
251
|
+
info = {
|
|
252
|
+
clientX: e.detail.contextmenuEvent.clientX,
|
|
253
|
+
clientY: e.detail.contextmenuEvent.clientY,
|
|
254
|
+
selection: [e.detail.id]
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
info = {
|
|
259
|
+
clientX: e.detail.contextmenuEvent.clientX,
|
|
260
|
+
clientY: e.detail.contextmenuEvent.clientY,
|
|
261
|
+
selection: __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f")
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
this.itemContextMenuCallback(info);
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
_GxIdeSelectKbItems_executeDialogAction.set(this, (callback) => {
|
|
268
|
+
return () => {
|
|
269
|
+
callback(__classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"), __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
|
|
270
|
+
};
|
|
271
|
+
});
|
|
272
|
+
_GxIdeSelectKbItems_patternSearchValueChangedHandler.set(this, (event) => {
|
|
273
|
+
this.searchPatternValue = event.detail.toString();
|
|
274
|
+
});
|
|
275
|
+
_GxIdeSelectKbItems_renderActionButtons.set(this, () => {
|
|
276
|
+
return (h("div", null, this.dialogActions.map(action => {
|
|
277
|
+
return (h("button", { class: "button-tertiary", part: `button button-${action.name}`, onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_executeDialogAction, "f").call(this, action.callback) }, action.name));
|
|
278
|
+
})));
|
|
279
|
+
});
|
|
280
|
+
_GxIdeSelectKbItems_renderFooter.set(this, () => {
|
|
281
|
+
return (h("footer", { class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between" }, __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderActionButtons, "f").call(this), h("div", { class: "buttons-spacer " }, this.cancelCallback && (h("button", { class: "button-secondary", part: "cancel-button", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").footer.cancel)), this.confirmCallback && (h("button", { class: "button-primary", part: "confirm-button", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_confirmHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").footer.select)))));
|
|
282
|
+
});
|
|
283
|
+
_GxIdeSelectKbItems_selectedItemsChangeHandler.set(this, (e) => {
|
|
284
|
+
const selectedNodesIds = [];
|
|
285
|
+
unselectAllNodes(this.itemsList);
|
|
286
|
+
e.detail.forEach(node => {
|
|
287
|
+
selectedNodesIds.push(node.item.id);
|
|
288
|
+
});
|
|
289
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_selectedNodesIds, selectedNodesIds, "f");
|
|
290
|
+
if (this.selectionChanged) {
|
|
291
|
+
this.selectionChanged(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
|
|
292
|
+
}
|
|
293
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_updatedModelList, selectItems(this.itemsList, selectedNodesIds), "f");
|
|
294
|
+
});
|
|
295
|
+
_GxIdeSelectKbItems_toggleAndSelectNodesInModelItems.set(this, async (selectedItemsIds) => {
|
|
296
|
+
const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);
|
|
297
|
+
const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);
|
|
298
|
+
const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);
|
|
299
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsExpanded);
|
|
300
|
+
});
|
|
301
|
+
_GxIdeSelectKbItems_toggleCheckedNodesInModelItems.set(this, async (selectedItemsIds) => {
|
|
302
|
+
const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);
|
|
303
|
+
const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);
|
|
304
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsExpanded);
|
|
305
|
+
});
|
|
306
|
+
_GxIdeSelectKbItems_updateViews.set(this, (newItemsList) => {
|
|
307
|
+
this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(newItemsList, this.checkboxType);
|
|
308
|
+
this.nodeListFlattenedTreeModel =
|
|
309
|
+
convertItemsNodeListToFlattenedTreeViewModel(newItemsList, this.checkboxType);
|
|
310
|
+
});
|
|
311
|
+
_GxIdeSelectKbItems_viewItemsAsChangedHandler.set(this, async (event) => {
|
|
312
|
+
const selectedViewType = event.detail;
|
|
313
|
+
this.nodesVersionsViewType = selectedViewType;
|
|
314
|
+
if (this.nodesVersionsViewType === "tree") {
|
|
315
|
+
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
|
|
316
|
+
await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"));
|
|
317
|
+
}
|
|
318
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_updatedModelList, "f"));
|
|
319
|
+
});
|
|
320
|
+
_GxIdeSelectKbItems_toggleCheckboxesChangedHandler.set(this, (event) => {
|
|
321
|
+
this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;
|
|
322
|
+
});
|
|
323
|
+
this.nodeListFlattenedTreeModel = [];
|
|
324
|
+
this.nodesVersionsViewType = "tree";
|
|
325
|
+
this.nodeVersionsListTreeModel = [];
|
|
326
|
+
this.searchPatternValue = null;
|
|
327
|
+
this.toggleCheckboxes = true;
|
|
328
|
+
this.cancelCallback = undefined;
|
|
329
|
+
this.checkboxType = undefined;
|
|
330
|
+
this.checkedChanged = undefined;
|
|
331
|
+
this.confirmCallback = undefined;
|
|
332
|
+
this.dialogActions = [];
|
|
333
|
+
this.itemContextMenuCallback = undefined;
|
|
334
|
+
this.itemsList = [];
|
|
335
|
+
this.multiSelection = false;
|
|
336
|
+
this.selectionChanged = undefined;
|
|
337
|
+
}
|
|
338
|
+
watchNodeListHandler(newItemsList) {
|
|
339
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsList);
|
|
340
|
+
}
|
|
341
|
+
async componentWillLoad() {
|
|
342
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems__componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
343
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_viewItemsAsModel, [
|
|
344
|
+
{ value: VIEW_AS_TREE_ID, caption: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").main.tree },
|
|
345
|
+
{ value: VIEW_AS_LIST_ID, caption: "List" }
|
|
346
|
+
], "f");
|
|
347
|
+
this.watchNodeListHandler(this.itemsList);
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Suspends or reactivates the shortcuts
|
|
351
|
+
*/
|
|
352
|
+
async suspendShortcuts(suspendShortcuts) {
|
|
353
|
+
if (suspendShortcuts) {
|
|
354
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_chShortcutsEl, "f").suspend = true;
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_chShortcutsEl, "f").suspend = false;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Allow to update the selected items
|
|
362
|
+
*/
|
|
363
|
+
async updateSelection(selectedItemsIds) {
|
|
364
|
+
// first clear selected
|
|
365
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"), {
|
|
366
|
+
selected: false
|
|
367
|
+
});
|
|
368
|
+
// then select
|
|
369
|
+
__classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(selectedItemsIds, {
|
|
370
|
+
selected: true
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
render() {
|
|
374
|
+
return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeSelectKbItems_shortcutsSrc, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectKbItems_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { class: "control-header field-group spacing-body-block-start spacing-body-inline" }, h("div", { class: "field-group view-mode__toggle-checkboxes" }, h("div", { class: "field field-inline field__items-view-type" }, h("label", { class: "label", htmlFor: "view-mode" }, "Select view mode:"), h("ch-radio-group-render", { class: "radio-group", id: "view-mode", model: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f"), onChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f")[0].value })), h("div", { class: "field field-inline field__toggle-checkboxes" }, h("label", { class: "label", htmlFor: "control-id-1", htmlfor: "toggle-checkboxes" }, "Toggle Checkboxes"), h("ch-checkbox", { class: "checkbox", id: "toggle-checkboxes", checkedValue: TOGGLE_CHECKBOXES_CHECKED_VALUE, value: TOGGLE_CHECKBOXES_CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, "f") }))), h("ch-edit", { class: "input pattern-filter", placeholder: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.searchPatternPlaceholder, startImgSrc: SYSTEM_SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_patternSearchValueChangedHandler, "f") })), h("div", { class: "spacing-body-inline-start trees" }, h("ch-tree-view-render", { class: "tree-view", model: this.nodesVersionsViewType === "tree"
|
|
375
|
+
? this.nodeVersionsListTreeModel
|
|
376
|
+
: this.nodeListFlattenedTreeModel, "show-lines": this.nodesVersionsViewType === "tree" ? "all" : "none", expandableButton: this.nodesVersionsViewType === "tree" ? "decorative" : "no", onItemContextmenu: __classPrivateFieldGet(this, _GxIdeSelectKbItems_contextMenuHandler, "f"), onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedItemsChangeHandler, "f"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedItemsChangeHandler, "f"), multiSelection: this.multiSelection, filter: this.searchPatternValue, filterType: "caption", toggleCheckboxes: this.toggleCheckboxes, ref: (el) => {
|
|
377
|
+
__classPrivateFieldSet(this, _GxIdeSelectKbItems_treeViewRenderEl, el, "f");
|
|
378
|
+
} })), __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderFooter, "f").call(this))));
|
|
379
|
+
}
|
|
380
|
+
static get assetsDirs() { return ["gx-ide-assets/select-kb-items"]; }
|
|
381
|
+
get el() { return getElement(this); }
|
|
382
|
+
static get watchers() { return {
|
|
383
|
+
"itemsList": ["watchNodeListHandler"]
|
|
384
|
+
}; }
|
|
385
|
+
};
|
|
386
|
+
_GxIdeSelectKbItems__componentLocale = new WeakMap(), _GxIdeSelectKbItems_checkedNodesIds = new WeakMap(), _GxIdeSelectKbItems_chShortcutsEl = new WeakMap(), _GxIdeSelectKbItems_selectedNodesIds = new WeakMap(), _GxIdeSelectKbItems_shortcutsSrc = new WeakMap(), _GxIdeSelectKbItems_updatedModelList = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsModel = new WeakMap(), _GxIdeSelectKbItems_treeViewRenderEl = new WeakMap(), _GxIdeSelectKbItems_cancelHandler = new WeakMap(), _GxIdeSelectKbItems_checkedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_confirmHandler = new WeakMap(), _GxIdeSelectKbItems_contextMenuHandler = new WeakMap(), _GxIdeSelectKbItems_executeDialogAction = new WeakMap(), _GxIdeSelectKbItems_patternSearchValueChangedHandler = new WeakMap(), _GxIdeSelectKbItems_renderActionButtons = new WeakMap(), _GxIdeSelectKbItems_renderFooter = new WeakMap(), _GxIdeSelectKbItems_selectedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_toggleCheckedNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_updateViews = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsChangedHandler = new WeakMap(), _GxIdeSelectKbItems_toggleCheckboxesChangedHandler = new WeakMap();
|
|
387
|
+
GxIdeSelectKbItems.style = selectKbItemsCss;
|
|
388
|
+
|
|
389
|
+
export { GxIdeSelectKbItems as gx_ide_select_kb_items };
|
|
390
|
+
|
|
391
|
+
//# sourceMappingURL=gx-ide-select-kb-items.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"gx-ide-select-kb-items.entry.js","mappings":"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","names":[],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n id: item.id.toString(),\n metadata: metaData,\n caption: item.name,\n checked: item.checked,\n checkbox: checkbox,\n expanded: item.expanded,\n startImgSrc: item.icon,\n items: null,\n leaf: leaf,\n selected: item.selected\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const leaf = !item.nodes?.length;\n const expanded = item.expanded;\n const icon = item.icon;\n const order = parseInt(item.id);\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListTreeViewModel.push({\n id: item.id.toString(),\n metadata: metaData,\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n order: order,\n selected: item.selected,\n expanded: expanded,\n startImgSrc: icon,\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.view-mode__toggle-checkboxes {\n grid-template-columns: max-content max-content;\n}\n.field__items-view-type {\n align-items: center;\n .label {\n margin-block-start: 0 !important; // WA to center label with radio-group\n }\n}\n.field__toggle-checkboxes {\n .label {\n margin-block-start: 0 !important; // WA to center label with radio-group\n }\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n #checkedNodesIds: string[] = [];\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n\n #viewItemsAsModel: RadioGroupItemModel[];\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean = true;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Represents the itemLis list model\n */\n @Prop() readonly itemsList: ItemNode[] = [];\n\n @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n this.#updateViews(newItemsList);\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.watchNodeListHandler(this.itemsList);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n node.item.checked && checkedNodesIds.push(node.item.id);\n });\n this.#checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.#checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.#checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.#checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.#checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.#checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header class=\"control-header field-group spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group view-mode__toggle-checkboxes\">\n <div class=\"field field-inline field__items-view-type\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n <div class=\"field field-inline field__toggle-checkboxes\">\n <label\n class=\"label\"\n htmlFor=\"control-id-1\"\n htmlfor=\"toggle-checkboxes\"\n >\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n </div>\n </div>\n\n <ch-edit\n class=\"input pattern-filter\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n ></ch-edit>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n </div>\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n icon?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, a as getAssetPath, h, H as Host, g as getElement } from './index-93411ea2.js';
|
|
2
2
|
import { g as getIconPath } from './assets-manager-0d129105.js';
|
|
3
|
-
import './MERCURY_ASSETS-
|
|
3
|
+
import './MERCURY_ASSETS-2455138c.js';
|
|
4
4
|
import { c as config } from './config-1ef9d75a.js';
|
|
5
5
|
import { v as validateControls } from './form-validation-cd0215c6.js';
|
|
6
6
|
import { L as Locale } from './locale-e5107fad.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-93411ea2.js';
|
|
2
2
|
import { g as getIconPath } from './assets-manager-0d129105.js';
|
|
3
|
-
import './MERCURY_ASSETS-
|
|
3
|
+
import './MERCURY_ASSETS-2455138c.js';
|
|
4
4
|
import { L as Locale } from './locale-e5107fad.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as getAssetPath, r as registerInstance, h, H as Host, g as getElement } from './index-93411ea2.js';
|
|
2
2
|
import { g as getIconPath } from './assets-manager-0d129105.js';
|
|
3
|
-
import './MERCURY_ASSETS-
|
|
3
|
+
import './MERCURY_ASSETS-2455138c.js';
|
|
4
4
|
import { L as Locale } from './locale-e5107fad.js';
|
|
5
5
|
|
|
6
6
|
const welcomePageCss = ":host{--slide-header-block-padding:34px;--slide-footer-block:var(--mer-spacing--md) var(--mer-spacing--4xl);--slide-footer-block-last-slide:var(--mer-spacing--md) 42px;--slide-footer-navigation-hide-transition:var(--mer-timing--fast);display:grid;block-size:100%;inline-size:100%;overflow:auto;padding:var(--mer-spacing--lg);box-sizing:border-box;padding:var(--mer-spacing--xl)}.main{display:grid;place-self:center;inline-size:100%;max-inline-size:1100px;background-color:var(--mer-surface__elevation--01);border-radius:17px;overflow:hidden;border:var(--mer-border__width--sm) solid var(--mer-surface__elevation--01);inset-block-start:0;transition:opacity var(--slide-fade-duration);opacity:0;pointer-events:none}.main--border-glow{animation:borderColorCycle 2s infinite}.main--visible{pointer-events:visible;opacity:1}.slide{display:grid;block-size:100%;grid-template-areas:\"header header\" \"slide-wrapper slide-wrapper\" \"footer footer\";grid-template-rows:max-content 1fr max-content}.slide__header{padding-inline:18px;padding-block:24px 27px;display:flex;flex-direction:row-reverse;grid-area:header}.slide__container{display:contents}.slide__wrapper{display:grid;column-gap:var(--mer-spacing--3xl);grid-template-areas:\"header header\" \"illustration copy\" \"footer footer\";grid-template-rows:max-content 1fr max-content;grid-template-columns:1fr 1fr;grid-area:slide-wrapper;transition:var(--slide-fade-duration) opacity;transition:opacity 200ms;padding-inline:48px;opacity:1;z-index:1}.slide__wrapper:not(.active){opacity:0;z-index:0;pointer-events:none}.slide__illustration{position:relative;overflow:hidden;display:grid;grid-area:illustration;place-items:center;inline-size:100%}.slide__illustration-img{object-fit:contain;block-size:100%;inline-size:100%}.slide__copy{grid-area:copy;place-self:center;justify-self:flex-start}.slide__copy-container{display:grid;gap:var(--mer-spacing--md);max-inline-size:524px}.slide__copy-header{display:grid;gap:var(--mer-spacing--md)}.slide__copy-title{font-size:var(--mer-font__size--xl);color:var(--mer-text__on-surface);letter-spacing:0.02em;font-weight:var(--mer-font__weight--semi-bold)}.slide__copy-description{display:grid;gap:var(--mer-spacing--md);font-size:var(--mer-font__size--sm);font-weight:var(--mer-font__weight--light);line-height:var(--mer-line-height--spaced)}.slide__list{display:grid;gap:var(--mer-spacing--md);list-style:none;padding:0;margin:0}.slide__list-item-title{font-weight:var(--mer-font__weight--medium)}.slide__word{transition:var(--mer-timing--regular) opacity;opacity:0}.slide__word--visible{opacity:1}.slide__footer{grid-area:footer;display:grid;padding-block:var(--slide-footer-block);opacity:1}.slide__footer-last-slide{opacity:0;transition:calc(var(--mer-timing--fast) + 200ms) opacity;pointer-events:none;animation:footerPaddingBlockLastSlide var(--mer-timing--regular) ease-out forwards calc(var(--mer-timing--fast) + 200ms)}.slide__footer-wrapper{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--mer-spacing--md);align-items:center;justify-content:center;transition:var(--mer-timing--regular) opacity;opacity:1}.slide__footer-wrapper-hidden{opacity:0}.slide__dots{display:grid;gap:var(--mer-spacing--2xs);list-style:none;padding:0;margin:0;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:center}.slide__dots-inactive{pointer-events:none}.slide__dot{display:grid;padding:var(--mer-spacing--xs);cursor:pointer}.slide__dot::before{content:\"\";place-self:center;inline-size:var(--mer-spacing--sm);block-size:var(--mer-spacing--sm);border-radius:calc(var(--mer-spacing--sm) / 2);background-color:var(--mer-color__neutral-gray--500)}.slide__dot:hover::before{background-color:var(--mer-icon__on-primary--hover)}.slide__dot.active{cursor:auto}.slide__dot.active::before{background-color:var(--mer-accent__primary);cursor:auto}.slide__dot-inactive{pointer-events:none}.close-icon{transition:all var(--mer-timing--fast)}.close-icon:hover{filter:brightness(1.5)}.start-button{justify-self:start;margin-block-start:25px}@keyframes ellipseFadeInOut{0%{opacity:0.3}100%{opacity:0.7}}@keyframes ellipseRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes polygonRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes borderColorCycle{0%{border-color:var(--mer-surface__elevation--01)}50%{border-color:var(--mer-color__primary--400)}100%{border-color:var(--mer-surface__elevation--01)}}@keyframes footerPaddingBlockLastSlide{0%{padding-block:var(--slide-footer-block)}100%{padding-block:var(--slide-footer-block-last-slide)}}.fade-out{animation:fadeOut 0.5s forwards 0.3s}";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-93411ea2.js';
|
|
2
2
|
import { g as getIconPath } from './assets-manager-0d129105.js';
|
|
3
|
-
import './MERCURY_ASSETS-
|
|
3
|
+
import './MERCURY_ASSETS-2455138c.js';
|
|
4
4
|
import { c as config } from './config-1ef9d75a.js';
|
|
5
5
|
import { L as Locale } from './locale-e5107fad.js';
|
|
6
6
|
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { m as mercuryChatMessageRender, a as mercuryCodeRender } from './code-render-
|
|
1
|
+
export { m as mercuryChatMessageRender, a as mercuryCodeRender } from './code-render-9ccc8dac.js';
|
|
2
2
|
import './index-93411ea2.js';
|
|
3
|
-
import './MERCURY_ASSETS-
|
|
3
|
+
import './MERCURY_ASSETS-2455138c.js';
|
|
4
4
|
|
|
5
5
|
// Add types from Chameleon, without importing any JS in the final bundle.
|
|
6
6
|
// Don't use 'import "@genexus/chameleon-controls-library"'
|