@genexus/genexus-ide-ui 0.0.77 → 0.0.78

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 (38) hide show
  1. package/dist/cjs/ch-shortcuts_2.cjs.entry.js +230 -0
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +7 -2
  4. package/dist/cjs/gxg-form-text.cjs.entry.js +3 -5
  5. package/dist/cjs/gxg-test.cjs.entry.js +7 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/collection-manifest.json +1 -0
  8. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/shortcuts.json +21 -0
  9. package/dist/collection/components/new-environment/new-environment.js +8 -3
  10. package/dist/components/ch-shortcuts.js +1 -236
  11. package/dist/{esm/ch-shortcuts.entry.js → components/ch-shortcuts2.js} +40 -9
  12. package/dist/components/form-text.js +3 -5
  13. package/dist/components/gx-ide-new-environment.js +58 -29
  14. package/dist/components/gxg-shortcuts.js +6 -0
  15. package/dist/components/gxg-test.js +32 -2
  16. package/dist/components/index.js +1 -0
  17. package/dist/components/shortcuts.js +58 -0
  18. package/dist/esm/ch-shortcuts_2.entry.js +225 -0
  19. package/dist/esm/genexus-ide-ui.js +1 -1
  20. package/dist/esm/gx-ide-new-environment.entry.js +8 -3
  21. package/dist/esm/gxg-form-text.entry.js +3 -5
  22. package/dist/esm/gxg-test.entry.js +7 -1
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  25. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/shortcuts.json +21 -0
  26. package/dist/genexus-ide-ui/p-0967fafc.entry.js +1 -0
  27. package/dist/genexus-ide-ui/p-0b6d53e1.entry.js +1 -0
  28. package/dist/genexus-ide-ui/p-2d77e2a3.entry.js +1 -0
  29. package/dist/genexus-ide-ui/p-4bceda48.entry.js +1 -0
  30. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +1 -1
  31. package/dist/node_modules/@genexus/gemini/dist/collection/components/shortcuts/shortcuts.css +366 -0
  32. package/dist/types/components/new-environment/new-environment.d.ts +2 -0
  33. package/package.json +3 -3
  34. package/dist/cjs/ch-shortcuts.cjs.entry.js +0 -211
  35. package/dist/genexus-ide-ui/p-2e7d1eef.entry.js +0 -1
  36. package/dist/genexus-ide-ui/p-72fad9dd.entry.js +0 -1
  37. package/dist/genexus-ide-ui/p-9f4e169e.entry.js +0 -1
  38. package/dist/genexus-ide-ui/p-f13a59cc.entry.js +0 -1
@@ -0,0 +1,366 @@
1
+ :root {
2
+ --ui-animaton-speed: 0.2s;
3
+ }
4
+
5
+ /*ALIGNMENT*/
6
+ /*Ellipsis*/
7
+ /*****************************************************
8
+ TYPOGRAPHY
9
+ *****************************************************/
10
+ /*Title 01 (Positive)*/
11
+ .gxg-title-01 {
12
+ font-family: var(--font-family-primary);
13
+ font-weight: var(--font-weight-bold);
14
+ font-size: var(--font-size-md);
15
+ letter-spacing: var(--letter-spacing-md);
16
+ color: var(--color-on-background);
17
+ text-align: start;
18
+ line-height: 1.455em;
19
+ }
20
+
21
+ /*Title 01 (Negative)*/
22
+ .gxg-title-01--negative {
23
+ font-family: var(--font-family-primary);
24
+ font-weight: var(--font-weight-bold);
25
+ font-size: var(--font-size-md);
26
+ letter-spacing: var(--letter-spacing-md);
27
+ color: var(--color-on-background);
28
+ text-align: start;
29
+ line-height: 1.455em;
30
+ color: var(--color-on-primary);
31
+ }
32
+
33
+ /*Title 02 (Positive)*/
34
+ .gxg-title-02 {
35
+ font-family: var(--font-family-primary);
36
+ font-weight: var(--font-weight-bold);
37
+ font-size: var(--font-size-sm);
38
+ letter-spacing: var(--letter-spacing-sm);
39
+ color: var(--color-on-background);
40
+ text-align: start;
41
+ text-transform: uppercase;
42
+ line-height: 1.556em;
43
+ }
44
+
45
+ .gxg-title-02--negative {
46
+ font-family: var(--font-family-primary);
47
+ font-weight: var(--font-weight-bold);
48
+ font-size: var(--font-size-sm);
49
+ letter-spacing: var(--letter-spacing-sm);
50
+ color: var(--color-on-background);
51
+ text-align: start;
52
+ text-transform: uppercase;
53
+ line-height: 1.556em;
54
+ color: var(--color-on-primary);
55
+ }
56
+
57
+ /*Title 03*/
58
+ .gxg-title-03 {
59
+ font-family: var(--font-family-primary);
60
+ font-weight: var(--font-weight-regular);
61
+ font-size: var(--font-size-xs);
62
+ letter-spacing: var(--letter-spacing-sm);
63
+ color: var(--color-on-background);
64
+ text-align: start;
65
+ text-transform: uppercase;
66
+ line-height: 1.556em;
67
+ }
68
+
69
+ .gxg-title-03--negative {
70
+ font-family: var(--font-family-primary);
71
+ font-weight: var(--font-weight-regular);
72
+ font-size: var(--font-size-xs);
73
+ letter-spacing: var(--letter-spacing-sm);
74
+ color: var(--color-on-background);
75
+ text-align: start;
76
+ text-transform: uppercase;
77
+ line-height: 1.556em;
78
+ color: var(--color-on-primary);
79
+ }
80
+
81
+ /*Title 04*/
82
+ .gxg-title-04 {
83
+ font-family: var(--font-family-primary);
84
+ font-weight: var(--font-weight-semibold);
85
+ font-size: var(--font-size-md);
86
+ letter-spacing: var(--letter-spacing-md);
87
+ color: var(--color-on-background);
88
+ text-align: start;
89
+ line-height: 1.455em;
90
+ }
91
+
92
+ .gxg-title-04--negative {
93
+ font-family: var(--font-family-primary);
94
+ font-weight: var(--font-weight-semibold);
95
+ font-size: var(--font-size-md);
96
+ letter-spacing: var(--letter-spacing-md);
97
+ color: var(--color-on-background);
98
+ text-align: start;
99
+ line-height: 1.455em;
100
+ color: var(--color-on-primary);
101
+ }
102
+
103
+ /*Title 05*/
104
+ .gxg-title-05 {
105
+ font-family: var(--font-family-primary);
106
+ font-weight: var(--font-weight-semibold);
107
+ font-size: var(--font-size-sm);
108
+ letter-spacing: var(--letter-spacing-sm);
109
+ color: var(--color-on-background);
110
+ text-align: start;
111
+ line-height: 1.556em;
112
+ }
113
+
114
+ .gxg-title-05--negative {
115
+ font-family: var(--font-family-primary);
116
+ font-weight: var(--font-weight-semibold);
117
+ font-size: var(--font-size-sm);
118
+ letter-spacing: var(--letter-spacing-sm);
119
+ color: var(--color-on-background);
120
+ text-align: start;
121
+ line-height: 1.556em;
122
+ color: var(--color-on-primary);
123
+ }
124
+
125
+ /*Text*/
126
+ .gxg-text {
127
+ font-family: var(--font-family-primary);
128
+ font-weight: var(--font-weight-regular);
129
+ font-size: var(--font-size-sm);
130
+ letter-spacing: var(--letter-spacing-xs);
131
+ color: var(--color-on-background);
132
+ text-align: start;
133
+ line-height: 1.455em;
134
+ }
135
+
136
+ .gxg-text--negative {
137
+ font-family: var(--font-family-primary);
138
+ font-weight: var(--font-weight-regular);
139
+ font-size: var(--font-size-sm);
140
+ letter-spacing: var(--letter-spacing-xs);
141
+ color: var(--color-on-background);
142
+ text-align: start;
143
+ line-height: 1.455em;
144
+ color: var(--color-on-primary);
145
+ }
146
+
147
+ .gxg-text--gray {
148
+ font-family: var(--font-family-primary);
149
+ font-weight: var(--font-weight-regular);
150
+ font-size: var(--font-size-sm);
151
+ letter-spacing: var(--letter-spacing-xs);
152
+ color: var(--color-on-background);
153
+ text-align: start;
154
+ line-height: 1.455em;
155
+ color: var(--gray-05);
156
+ }
157
+
158
+ /*Quote*/
159
+ .gxg-quote {
160
+ font-family: var(--font-family-primary);
161
+ font-weight: var(--font-weight-regular);
162
+ font-size: var(--font-size-sm);
163
+ letter-spacing: var(--letter-spacing-xs);
164
+ color: var(--color-on-background);
165
+ text-align: start;
166
+ line-height: 1.455em;
167
+ font-style: italic;
168
+ }
169
+
170
+ .gxg-quote--negative {
171
+ color: var(--color-on-primary);
172
+ }
173
+
174
+ /*Link*/
175
+ .gxg-link {
176
+ font-family: var(--font-family-primary);
177
+ font-weight: var(--font-weight-regular);
178
+ font-size: var(--font-size-sm);
179
+ letter-spacing: var(--letter-spacing-xs);
180
+ color: var(--color-on-background);
181
+ text-align: start;
182
+ line-height: 1.455em;
183
+ color: var(--color-primary);
184
+ text-decoration: underline;
185
+ cursor: pointer;
186
+ display: inline-block;
187
+ }
188
+ .gxg-link:hover {
189
+ color: var(--color-primary-hover);
190
+ }
191
+ .gxg-link:active {
192
+ color: var(--color-primary-active);
193
+ }
194
+
195
+ .gxg-link-gray {
196
+ font-family: var(--font-family-primary);
197
+ font-weight: var(--font-weight-regular);
198
+ font-size: var(--font-size-sm);
199
+ letter-spacing: var(--letter-spacing-xs);
200
+ color: var(--color-on-background);
201
+ text-align: start;
202
+ line-height: 1.455em;
203
+ color: var(--color-primary);
204
+ text-decoration: underline;
205
+ cursor: pointer;
206
+ display: inline-block;
207
+ color: var(--gray-04);
208
+ }
209
+ .gxg-link-gray:hover {
210
+ font-family: var(--font-family-primary);
211
+ font-weight: var(--font-weight-regular);
212
+ font-size: var(--font-size-sm);
213
+ letter-spacing: var(--letter-spacing-xs);
214
+ color: var(--color-on-background);
215
+ text-align: start;
216
+ line-height: 1.455em;
217
+ color: var(--color-primary);
218
+ text-decoration: underline;
219
+ cursor: pointer;
220
+ display: inline-block;
221
+ color: var(--gray-04);
222
+ color: var(--gray-06);
223
+ }
224
+
225
+ /*Alerts*/
226
+ .gxg-alert-error {
227
+ font-family: var(--font-family-primary);
228
+ font-weight: var(--font-weight-regular);
229
+ font-size: var(--font-size-sm);
230
+ letter-spacing: var(--letter-spacing-xs);
231
+ color: var(--color-on-background);
232
+ text-align: start;
233
+ line-height: 1.455em;
234
+ color: var(--color-error-dark);
235
+ display: inline-block;
236
+ }
237
+
238
+ .gxg-alert-warning {
239
+ font-family: var(--font-family-primary);
240
+ font-weight: var(--font-weight-regular);
241
+ font-size: var(--font-size-sm);
242
+ letter-spacing: var(--letter-spacing-xs);
243
+ color: var(--color-on-background);
244
+ text-align: start;
245
+ line-height: 1.455em;
246
+ color: var(--color-warning-dark);
247
+ display: inline-block;
248
+ }
249
+
250
+ .gxg-alert-success {
251
+ font-family: var(--font-family-primary);
252
+ font-weight: var(--font-weight-regular);
253
+ font-size: var(--font-size-sm);
254
+ letter-spacing: var(--letter-spacing-xs);
255
+ color: var(--color-on-background);
256
+ text-align: start;
257
+ line-height: 1.455em;
258
+ color: var(--color-success-dark);
259
+ display: inline-block;
260
+ }
261
+
262
+ /*Tab*/
263
+ .gxg-tab--disabled {
264
+ color: var(--color-primary-disabled);
265
+ pointer-events: none;
266
+ }
267
+ .gxg-tab--disabled[disabled] {
268
+ color: var(--color-primary-disabled);
269
+ pointer-events: none;
270
+ }
271
+
272
+ /*Label*/
273
+ .gxg-label {
274
+ font-family: var(--font-family-primary) !important;
275
+ font-weight: var(--font-weight-semibold);
276
+ font-size: var(--font-size-sm) !important;
277
+ letter-spacing: var(--letter-spacing-xs);
278
+ color: var(--color-primary-enabled);
279
+ text-align: center;
280
+ line-height: 1.455em;
281
+ }
282
+ .gxg-label:hover {
283
+ color: var(--color-primary-hover);
284
+ }
285
+ .gxg-label:focus {
286
+ color: var(--color-primary-active);
287
+ }
288
+ .gxg-label:active {
289
+ color: var(--color-primary-active);
290
+ }
291
+ .gxg-label[disabled] {
292
+ color: var(--color-primary-disabled);
293
+ }
294
+
295
+ .gxg-label--negative {
296
+ color: var(--color-on-primary);
297
+ }
298
+ .gxg-label--negative[disabled] {
299
+ color: var(--color-on-disabled);
300
+ }
301
+
302
+ /*****************************************************
303
+ GXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES
304
+ *****************************************************/
305
+ .gxg-button-styles {
306
+ font-family: var(--font-family-primary) !important;
307
+ font-weight: var(--font-weight-semibold);
308
+ font-size: var(--font-size-sm) !important;
309
+ letter-spacing: var(--letter-spacing-xs);
310
+ color: var(--color-primary-enabled);
311
+ text-align: center;
312
+ line-height: 1.455em;
313
+ }
314
+
315
+ /*****************************************************
316
+ FORM ELEMENTS
317
+ *****************************************************/
318
+ .gxg-scrollbar {
319
+ /* Track */
320
+ /* Handle */
321
+ /* Handle on hover */
322
+ cursor: initial;
323
+ }
324
+ .gxg-scrollbar::-webkit-scrollbar {
325
+ width: var(--gxg-scrollbar-width, 6px);
326
+ height: var(--gxg-scrollbar-width, 6px);
327
+ }
328
+ .gxg-scrollbar::-webkit-scrollbar-track {
329
+ background-color: var(--gxg-scrollbar-track-background, --gray-02);
330
+ border-radius: var(--gxg-scrollbar-track-border-radius, 10px);
331
+ }
332
+ .gxg-scrollbar::-webkit-scrollbar-thumb {
333
+ background-color: var(--gxg-scrollbar-track-thumb-background, --gray-05);
334
+ border-radius: var(--gxg-scrollbar-track-thumb-radius, 10px);
335
+ border: var(--gxg-scrollbar-track-thumb-border);
336
+ background-clip: padding-box;
337
+ }
338
+ .gxg-scrollbar::-webkit-scrollbar-thumb:hover {
339
+ background-color: var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);
340
+ }
341
+
342
+ :host {
343
+ display: block;
344
+ }
345
+
346
+ ch-shortcuts::part(tooltip) {
347
+ font-family: monospace;
348
+ background-color: var(--gray-06);
349
+ color: var(--gray-01);
350
+ padding: var(--spacing-comp-00) var(--spacing-comp-01);
351
+ font-size: var(--font-size-sm);
352
+ border-radius: var(--border-radius-sm);
353
+ position: relative;
354
+ top: -2.5px;
355
+ right: -2px;
356
+ }
357
+
358
+ ch-shortcuts::part(element) {
359
+ outline: var(--border-width-md) solid var(--gxg-border-color--focused);
360
+ outline-offset: -2px;
361
+ outline-color: var(--gray-06);
362
+ }
363
+
364
+ :host([show-tooltip]) ch-shortcuts::part(tooltip) {
365
+ opacity: 1;
366
+ }
@@ -12,6 +12,7 @@ export declare class GxIdeNewEnvironment {
12
12
  private selectedLanguageId;
13
13
  private selectedDataStoreId;
14
14
  private envNameModifiedByUser;
15
+ private shortcutsSrc;
15
16
  el: HTMLGxIdeNewEnvironmentElement;
16
17
  private environmentNameEl;
17
18
  private languageEl;
@@ -99,6 +100,7 @@ export declare class GxIdeNewEnvironment {
99
100
  private updateFrontEnds;
100
101
  private updateEnvironmentName;
101
102
  private evaluateSingleRuntimeIcon;
103
+ private keyDownHandler;
102
104
  private renderTabBasic;
103
105
  private renderTabAdvanced;
104
106
  render(): any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "0.0.77",
4
+ "version": "0.0.78",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -36,10 +36,10 @@
36
36
  "@types/react": "^18.2.8"
37
37
  },
38
38
  "peerDependencies": {
39
- "@genexus/gemini": "*0.2.41"
39
+ "@genexus/gemini": "*0.2.44"
40
40
  },
41
41
  "devDependencies": {
42
- "@genexus/gemini": "*0.2.41",
42
+ "@genexus/gemini": "*0.2.44",
43
43
  "@stencil-community/eslint-plugin": "^0.5.0",
44
44
  "@stencil/core": "^2.17.0",
45
45
  "@stencil/sass": "^2.0.1",
@@ -1,211 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-f9bb1815.js');
6
- const helpers = require('./helpers-291cb1cb.js');
7
-
8
- const SHORTCUTS = new Map();
9
- let LATEST_SHORTCUT;
10
- function loadShortcuts(name, root, shortcuts) {
11
- shortcuts.forEach(shortcut => {
12
- const keyShortcuts = parseKeyShortcuts(shortcut.keyShortcuts);
13
- keyShortcuts.forEach(keyShortcut => {
14
- SHORTCUTS.set(normalize(keyShortcut.ctrl, keyShortcut.alt, keyShortcut.shift, keyShortcut.meta, keyShortcut.key), {
15
- name,
16
- root,
17
- shortcut
18
- });
19
- });
20
- });
21
- addListener();
22
- }
23
- function unloadShortcuts(name) {
24
- const removeKeyShortcuts = [];
25
- SHORTCUTS.forEach((shortcutMap, key) => {
26
- if (shortcutMap.name === name) {
27
- removeKeyShortcuts.push(key);
28
- }
29
- });
30
- removeKeyShortcuts.forEach(key => SHORTCUTS.delete(key));
31
- removeListener();
32
- }
33
- function getShortcuts() {
34
- return Array.from(SHORTCUTS.values())
35
- .filter(shortcutMap => {
36
- var _a;
37
- return !((_a = shortcutMap.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.focusInclude);
38
- })
39
- .map(shortcutMap => ({
40
- element: querySelectorPlus(shortcutMap.shortcut.selector, shortcutMap.root),
41
- keyShortcuts: shortcutMap.shortcut.keyShortcuts,
42
- legendPosition: shortcutMap.shortcut.legendPosition
43
- }));
44
- }
45
- function addListener() {
46
- if (SHORTCUTS.size > 0) {
47
- window.addEventListener("keydown", keydownHandler, { capture: true });
48
- }
49
- }
50
- function removeListener() {
51
- if (SHORTCUTS.size === 0) {
52
- window.removeEventListener("keydown", keydownHandler, { capture: true });
53
- }
54
- }
55
- function keydownHandler(eventInfo) {
56
- var _a;
57
- if (!eventInfo.repeat ||
58
- (eventInfo.repeat && ((_a = LATEST_SHORTCUT === null || LATEST_SHORTCUT === void 0 ? void 0 : LATEST_SHORTCUT.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.allowRepeat))) {
59
- LATEST_SHORTCUT = triggerShortcut(eventInfo);
60
- }
61
- }
62
- function triggerShortcut(eventInfo) {
63
- const shortcutMap = SHORTCUTS.get(normalize(eventInfo.ctrlKey, eventInfo.altKey, eventInfo.shiftKey, eventInfo.metaKey, eventInfo.key));
64
- if (shortcutMap && conditions(shortcutMap)) {
65
- const element = querySelectorPlus(shortcutMap.shortcut.selector, shortcutMap.root);
66
- if (element) {
67
- switch (shortcutMap.shortcut.action) {
68
- case "click":
69
- element.dispatchEvent(new Event("click"));
70
- break;
71
- default:
72
- element.focus();
73
- }
74
- if (shortcutMap.shortcut.preventDefault !== false) {
75
- eventInfo.preventDefault();
76
- }
77
- }
78
- }
79
- return shortcutMap;
80
- }
81
- function parseKeyShortcuts(value = "") {
82
- return value.split(" ").map(item => {
83
- return item.split("+").reduce((keyShortcut, key) => {
84
- switch (key.toLowerCase()) {
85
- case "ctrl":
86
- keyShortcut.ctrl = true;
87
- break;
88
- case "alt":
89
- keyShortcut.alt = true;
90
- break;
91
- case "shift":
92
- keyShortcut.shift = true;
93
- break;
94
- case "meta":
95
- keyShortcut.meta = true;
96
- break;
97
- default:
98
- keyShortcut.key = key;
99
- }
100
- return keyShortcut;
101
- }, {
102
- ctrl: false,
103
- alt: false,
104
- shift: false,
105
- meta: false,
106
- key: ""
107
- });
108
- });
109
- }
110
- function normalize(ctrl, alt, shift, meta, key) {
111
- return [
112
- ctrl ? "Ctrl" : null,
113
- alt ? "Alt" : null,
114
- shift ? "Shift" : null,
115
- meta ? "Meta" : null,
116
- key ? key.charAt(0).toUpperCase() + key.slice(1) : null
117
- ]
118
- .filter(element => {
119
- return element !== null;
120
- })
121
- .join("+");
122
- }
123
- function conditions(shortcutMap) {
124
- var _a, _b, _c, _d;
125
- const focus = helpers.focusComposedPath();
126
- if ((_a = shortcutMap.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.focusInclude) {
127
- return Array.from(shortcutMap.root.querySelectorAll((_b = shortcutMap.shortcut.conditions) === null || _b === void 0 ? void 0 : _b.focusInclude)).some((el) => focus.includes(el));
128
- }
129
- if ((_c = shortcutMap.shortcut.conditions) === null || _c === void 0 ? void 0 : _c.focusExclude) {
130
- return !Array.from(shortcutMap.root.querySelectorAll((_d = shortcutMap.shortcut.conditions) === null || _d === void 0 ? void 0 : _d.focusExclude)).some((el) => focus.includes(el));
131
- }
132
- return true;
133
- }
134
- function querySelectorPlus(selector, root) {
135
- const querySelectorDeep = (element, parts) => {
136
- const shadow = element.shadowRoot;
137
- const partList = parts.split(" ");
138
- const partElement = shadow.querySelector(partList.map(partName => `[part~="${partName}"]`).join(""));
139
- if (partElement) {
140
- return partElement;
141
- }
142
- const exportPartElement = shadow.querySelector(partList.map(partName => `[exportparts*="${partName}"]`).join(""));
143
- if (exportPartElement) {
144
- const exportPartList = [];
145
- const exportparts = exportPartElement.getAttribute("exportparts");
146
- partList.forEach(partItem => {
147
- const exportPartName = exportparts.match(`(?:([\\w-]+):)?(${partItem})`)[1];
148
- if (exportPartName) {
149
- exportPartList.push(exportPartName);
150
- }
151
- });
152
- if (partList.length === exportPartList.length) {
153
- return querySelectorDeep(exportPartElement, exportPartList.join(" "));
154
- }
155
- }
156
- return null;
157
- };
158
- if (selector.includes("::part")) {
159
- const selectorItems = selector.match("(.*)::part\\(([^)]+)\\)");
160
- const entity = selectorItems[1];
161
- const partName = selectorItems[2];
162
- return querySelectorDeep(root.querySelector(entity), partName);
163
- }
164
- else {
165
- return root.querySelector(selector);
166
- }
167
- }
168
-
169
- const chShortcutsCss = ":host{display:contents}";
170
-
171
- const ChShortcuts = class {
172
- constructor(hostRef) {
173
- index.registerInstance(this, hostRef);
174
- this.showShortcuts = false;
175
- this.showKey = "F10";
176
- this.windowClosedHandler = () => {
177
- this.showShortcuts = false;
178
- };
179
- }
180
- componentDidLoad() {
181
- if (this.src) {
182
- fetch(this.src).then(response => {
183
- if (response.ok) {
184
- response.json().then(json => {
185
- const root = this.el.getRootNode();
186
- loadShortcuts(this.src, root, json);
187
- });
188
- }
189
- });
190
- }
191
- }
192
- disconnectedCallback() {
193
- unloadShortcuts(this.src);
194
- }
195
- windowKeyDownHandler(eventInfo) {
196
- if (eventInfo.key === this.showKey) {
197
- this.showShortcuts = !this.showShortcuts;
198
- eventInfo.preventDefault();
199
- }
200
- }
201
- renderShortcuts() {
202
- return getShortcuts().map(shortcut => (index.h("ch-window", { container: shortcut.element, modal: false, hidden: false, closeOnEscape: true, closeOnOutsideClick: true, xAlign: "outside-end", yAlign: "inside-start", onWindowClosed: this.windowClosedHandler, exportparts: "mask:element" }, index.h("span", { part: "tooltip" }, shortcut.keyShortcuts))));
203
- }
204
- render() {
205
- return index.h(index.Host, null, this.showShortcuts && this.renderShortcuts());
206
- }
207
- get el() { return index.getElement(this); }
208
- };
209
- ChShortcuts.style = chShortcutsCss;
210
-
211
- exports.ch_shortcuts = ChShortcuts;
@@ -1 +0,0 @@
1
- import{r as t,h as n,H as r,g as o}from"./p-0906fb46.js";import{f as e}from"./p-b374d112.js";const i=new Map;let s;function l(t){var n;(!t.repeat||t.repeat&&(null===(n=null==s?void 0:s.shortcut.conditions)||void 0===n?void 0:n.allowRepeat))&&(s=function(t){const n=i.get(c(t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.key));if(n&&function(t){var n,r,o,i;const s=e();return(null===(n=t.shortcut.conditions)||void 0===n?void 0:n.focusInclude)?Array.from(t.root.querySelectorAll(null===(r=t.shortcut.conditions)||void 0===r?void 0:r.focusInclude)).some((t=>s.includes(t))):!(null===(o=t.shortcut.conditions)||void 0===o?void 0:o.focusExclude)||!Array.from(t.root.querySelectorAll(null===(i=t.shortcut.conditions)||void 0===i?void 0:i.focusExclude)).some((t=>s.includes(t)))}(n)){const r=a(n.shortcut.selector,n.root);r&&("click"===n.shortcut.action?r.dispatchEvent(new Event("click")):r.focus(),!1!==n.shortcut.preventDefault&&t.preventDefault())}return n}(t))}function c(t,n,r,o,e){return[t?"Ctrl":null,n?"Alt":null,r?"Shift":null,o?"Meta":null,e?e.charAt(0).toUpperCase()+e.slice(1):null].filter((t=>null!==t)).join("+")}function a(t,n){const r=(t,n)=>{const o=t.shadowRoot,e=n.split(" "),i=o.querySelector(e.map((t=>`[part~="${t}"]`)).join(""));if(i)return i;const s=o.querySelector(e.map((t=>`[exportparts*="${t}"]`)).join(""));if(s){const t=[],n=s.getAttribute("exportparts");if(e.forEach((r=>{const o=n.match(`(?:([\\w-]+):)?(${r})`)[1];o&&t.push(o)})),e.length===t.length)return r(s,t.join(" "))}return null};if(t.includes("::part")){const o=t.match("(.*)::part\\(([^)]+)\\)"),e=o[2];return r(n.querySelector(o[1]),e)}return n.querySelector(t)}const u=class{constructor(n){t(this,n),this.showShortcuts=!1,this.showKey="F10",this.windowClosedHandler=()=>{this.showShortcuts=!1}}componentDidLoad(){this.src&&fetch(this.src).then((t=>{t.ok&&t.json().then((t=>{const n=this.el.getRootNode();!function(t,n,r){r.forEach((r=>{(function(t=""){return t.split(" ").map((t=>t.split("+").reduce(((t,n)=>{switch(n.toLowerCase()){case"ctrl":t.ctrl=!0;break;case"alt":t.alt=!0;break;case"shift":t.shift=!0;break;case"meta":t.meta=!0;break;default:t.key=n}return t}),{ctrl:!1,alt:!1,shift:!1,meta:!1,key:""})))})(r.keyShortcuts).forEach((o=>{i.set(c(o.ctrl,o.alt,o.shift,o.meta,o.key),{name:t,root:n,shortcut:r})}))})),i.size>0&&window.addEventListener("keydown",l,{capture:!0})}(this.src,n,t)}))}))}disconnectedCallback(){!function(t){const n=[];i.forEach(((r,o)=>{r.name===t&&n.push(o)})),n.forEach((t=>i.delete(t))),0===i.size&&window.removeEventListener("keydown",l,{capture:!0})}(this.src)}windowKeyDownHandler(t){t.key===this.showKey&&(this.showShortcuts=!this.showShortcuts,t.preventDefault())}renderShortcuts(){return Array.from(i.values()).filter((t=>{var n;return!(null===(n=t.shortcut.conditions)||void 0===n?void 0:n.focusInclude)})).map((t=>({element:a(t.shortcut.selector,t.root),keyShortcuts:t.shortcut.keyShortcuts,legendPosition:t.shortcut.legendPosition}))).map((t=>n("ch-window",{container:t.element,modal:!1,hidden:!1,closeOnEscape:!0,closeOnOutsideClick:!0,xAlign:"outside-end",yAlign:"inside-start",onWindowClosed:this.windowClosedHandler,exportparts:"mask:element"},n("span",{part:"tooltip"},t.keyShortcuts))))}render(){return n(r,null,this.showShortcuts&&this.renderShortcuts())}get el(){return o(this)}};u.style=":host{display:contents}";export{u as ch_shortcuts}
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as e,H as o,g as a}from"./p-0906fb46.js";import{L as r}from"./p-26957490.js";import{s}from"./p-64d3885f.js";import{c as n}from"./p-13ffa7c0.js";import{r as d}from"./p-6bb17c51.js";import{f as l}from"./p-daf4eb69.js";const h=class{constructor(o){i(this,o),this.componentDidRenderFirstTime=t(this,"componentDidRenderFirstTime",7),this.renderedFirstTime=!1,this.selectedFrontEndsIds=[],this.envNameModifiedByUser=!1,this.initialSetup=()=>{this.updateSelectedFrontEndsIds(),this.setInitialRuntimeId(),this.setInitialLanguageId(),this.setInitialDataStoreId()},this.evaluateSelectedRuntimeEnvironmentId=()=>{1===this.runtimes.length&&(this.selectedRuntimeEnvironmentId=this.runtimes[0].id)},this.setInitialRuntimeId=()=>{var i;if(null===(i=this.runtimeEnvironmentEl)||void 0===i?void 0:i.value){const i=this.runtimes.find((i=>{var t;return i.value===(null===(t=this.runtimeEnvironmentEl)||void 0===t?void 0:t.value)}));i&&(this.selectedRuntimeEnvironmentId=i.id)}},this.setInitialLanguageId=()=>{var i;if(null===(i=this.languageEl)||void 0===i?void 0:i.value){const i=this.languages.find((i=>{var t;return i.id===(null===(t=this.languageEl)||void 0===t?void 0:t.value)}));i&&(this.selectedLanguageId=i.id)}},this.setInitialDataStoreId=()=>{var i;if(null===(i=this.dataStoreEl)||void 0===i?void 0:i.value){const i=this.dataStores.find((i=>{var t;return i.id===(null===(t=this.dataStoreEl)||void 0===t?void 0:t.value)}));i&&(this.selectedDataStoreId=i.id)}},this.envNameInputHandler=i=>{const t=(i.detail+"").trim();t!==this.environmentName&&(this.environmentName=t,this.envNameModifiedByUser=!0)},this.updateSelectedFrontEndsIds=()=>{this.selectedFrontEndsIds=[],this.frontEndsEl.getValues().then((i=>{i.forEach((i=>{i.value&&this.selectedFrontEndsIds.push(i.id)}))}))},this.setEnvironmentHandler=async()=>{this.createCallback&&this.createCallback({setAsCurrent:this.setAsCurrentEnvironmentEl.checked,name:this.environmentNameEl.value,runtime:this.selectedRuntimeEnvironmentId,language:this.languageEl.value,dataStores:this.dataStoreEl.value,frontEnds:this.selectedFrontEndsIds}).then((i=>{l(i,this)}))},this.cancelButtonClickedHandler=async()=>{await this.cancelCallback()},this.runtimeEnvironmentChangedHandler=i=>{this.selectedRuntimeEnvironmentId=i.detail.id,this.updateDataSources()},this.languageValueChangedHandler=()=>{this.selectedLanguageId=this.languageEl.value,this.updateDataSources(),this.updateFrontEnds(),this.updateEnvironmentName()},this.dataStoreValueChangedHandler=()=>{this.selectedDataStoreId=this.dataStoreEl.value,this.updateEnvironmentName()},this.updateDataSources=async()=>{if(this.getDataSourcesCallback){const i=await this.getDataSourcesCallback(this.selectedLanguageId,this.selectedRuntimeEnvironmentId);(null==i?void 0:i.length)>0&&(this.dataStores=i)}},this.updateFrontEnds=async()=>{if(this.getFrontEndsCallback){const i=await this.getFrontEndsCallback(this.selectedLanguageId);(null==i?void 0:i.length)>0&&(this.frontEnds=i)}},this.updateEnvironmentName=async()=>{if(this.getEnvironmentNameCallback&&this.environmentNameEl&&this.envNameModifiedByUser){const i=await this.getEnvironmentNameCallback(this.selectedLanguageId,this.selectedDataStoreId);i&&(this.environmentName=i)}},this.evaluateSingleRuntimeIcon=()=>"local"===this.runtimes[0].id?"window-tools/rol":"window-tools/genexus-cloud",this.renderTabBasic=()=>e("gxg-tab",{tab:"basic","no-padding":!0,flexContainer:!0,class:"tab tab__basic",isSelected:!this.isAdvanced},e("gx-ide-container",{containerTitle:this._componentLocale.runtime,noContentPadding:!0,displayBorderBottom:!0,flexRow:1===this.runtimes.length},this.runtimes.length>1?e("gxg-form-radio-group",{slot:"header",ref:i=>this.runtimeEnvironmentEl=i,row:!0,center:!0,onChange:this.runtimeEnvironmentChangedHandler},d("gxg-form-radio",this.runtimes,"runtime-environment")):[e("div",{class:"tab__basic__single-runtime",slot:"header"},e("gxg-icon",{color:"disabled",type:this.evaluateSingleRuntimeIcon()}),e("gxg-text",{textAlign:"center"},this.runtimes[0].label))],e("div",{class:"basic-main"},e("gx-ide-container",{"container-title":this._componentLocale.tabBasic.backEnd.backEndLabel,class:"basic-main__back-end",contentBorderEnd:!0,titleType:"secondary"},e("gxg-combo-box",{"disable-filter":!0,label:this._componentLocale.tabBasic.backEnd.language,value:s(this.languages),ref:i=>this.languageEl=i,toolTip:n.tooltip,onValueChanged:this.languageValueChangedHandler,part:"language"},d("gxg-combo-box-item",this.languages)),e("gxg-combo-box",{"disable-filter":!0,label:this._componentLocale.tabBasic.backEnd.dataStores,value:s(this.dataStores),ref:i=>this.dataStoreEl=i,onValueChanged:this.dataStoreValueChangedHandler,toolTip:n.tooltip,part:"data-store"},d("gxg-combo-box-item",this.dataStores))),e("gx-ide-container",{"container-title":this._componentLocale.tabBasic.frontEnd.frontEndLabel,class:"basic-main__front-end",titleType:"secondary"},e("gxg-form-checkbox-group",{ref:i=>this.frontEndsEl=i,onGroupValuesChanged:this.updateSelectedFrontEndsIds},d("gxg-form-checkbox",this.frontEnds)))))),this.renderTabAdvanced=()=>e("gxg-tab",{tab:"advanced","no-padding":!0},e("gx-ide-container",null,e("slot",{name:"property-grid"}))),this.displayTitle=!1,this.cancelCallback=void 0,this.createCallback=void 0,this.dataStores=void 0,this.disableAdvanced=!1,this.environmentName=void 0,this.frontEnds=void 0,this.getEnvironmentNameCallback=void 0,this.getFrontEndsCallback=void 0,this.getDataSourcesCallback=void 0,this.isAdvanced=!1,this.languages=void 0,this.runtimes=void 0,this.setAsTarget=!0}async componentWillLoad(){this._componentLocale=await r.getComponentStrings(this.el),this.evaluateSelectedRuntimeEnvironmentId()}componentDidLoad(){this.initialSetup()}componentDidRender(){this.renderedFirstTime||(this.componentDidRenderFirstTime.emit(this._componentLocale.componentName),this.renderedFirstTime=!0)}render(){return e(o,{class:"gx-ide-component"},e("div",{class:"gx-ide-main-wrapper"},e("gx-ide-container",{containerTitle:this.displayTitle?this._componentLocale.componentName:null,noContentPadding:!0,noBorderFooter:!0,slimmerFooter:n.gxIdeContainer.slimmerFooter},e("header",{class:"header",slot:"header"},e("gxg-label",{labelPosition:"start",class:"header__label"},this._componentLocale.name),e("gxg-form-text",{"label-position":"start",placeholder:"New Environment","max-width":"100%",value:this.environmentName,ref:i=>this.environmentNameEl=i,onInput:!this.envNameModifiedByUser&&this.envNameInputHandler,toolTip:n.tooltip,class:"header__text",part:"environment-name"})),e("main",{class:"main"},e("gxg-tabs",{class:"gxg-tabs"},this.isAdvanced?e("gxg-tab-bar",{slot:"tab-bar-container",displayBorder:!0},e("gxg-tab-button",{slot:"tab-bar","tab-label":this._componentLocale.tabBasic.tabLabel,tab:"basic","is-selected":!0}),this.isAdvanced?e("gxg-tab-button",{slot:"tab-bar","tab-label":this._componentLocale.tabAdvanced.tabLabel,tab:"advanced",disabled:this.disableAdvanced}):null):null,this.renderTabBasic(),this.isAdvanced&&this.renderTabAdvanced())),e("gxg-form-checkbox",{label:this._componentLocale.footer.setAsCurrentEnvironment,ref:i=>this.setAsCurrentEnvironmentEl=i,checked:this.setAsTarget,part:"set-as-current-environment",slot:"footer-start"}),e("gxg-button",{id:"button-cancel",slot:"footer-end",type:"outlined",onClick:this.cancelButtonClickedHandler,part:"gxg-button gxg-button--cancel"},this._componentLocale.footer.btnCancel),e("gxg-button",{id:"button-create",slot:"footer-end",type:"primary-text-only",onClick:this.setEnvironmentHandler,part:"gxg-button gxg-button--create"},this._componentLocale.footer.btnSetNewEnvironment))))}static get assetsDirs(){return["gx-ide-assets/new-environment"]}get el(){return a(this)}};h.style=".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--gray-01)}ch-grid-column:first-child{padding-inline-start:var(--gxg-container--padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gxg-container--padding) !important}ch-grid-cell{--spacing-comp-02:var(--gxg-container--padding)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);font-family:var(--font-family-primary);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--color-background)}:host(.gxi-new-environment--shadow){border:none;box-shadow:var(--box-shadow-01)}.header{display:flex}.header__label{flex:none}.main{height:100%}.gxg-tabs{margin-top:0;box-shadow:none}.tab__basic__single-runtime{display:flex;align-items:center;justify-content:center;gap:var(--spacing-comp-01)}.basic-main{display:flex;height:100%}.basic-main__back-end{flex:1}.basic-main__front-end{flex:1}.advanced-second-row{grid-template-columns:repeat(2, 1fr);grid-template-rows:1fr}.advanced-second-row>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left{grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(4, 1fr);grid-template-columns:1fr auto}.advanced-second-row-col-left>*{display:flex;align-items:self-end}.advanced-second-row-col-left>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-left>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left>*:nth-child(3){grid-area:2/1/3/2}.advanced-second-row-col-left>*:nth-child(4){grid-area:2/2/3/3}.advanced-second-row-col-left>*:nth-child(5){grid-area:3/1/4/2}.advanced-second-row-col-left>*:nth-child(6){grid-area:3/2/4/3}.advanced-second-row-col-left>*:nth-child(7){grid-area:4/1/5/2}.advanced-second-row-col-left>*:nth-child(8){grid-area:4/2/5/3}.advanced-second-row-col-right{grid-template-columns:1fr;grid-template-rows:repeat(4, 1fr);grid-auto-rows:1fr}.advanced-second-row-col-right *:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-right *:nth-child(2){grid-area:2/1/3/2}.advanced-second-row-col-right *:nth-child(3){grid-area:3/1/4/2}.advanced-second-row-col-right *:nth-child(4){grid-area:4/1/5/2}";export{h as gx_ide_new_environment}