@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
@@ -1,4 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$5 } from './ch-shortcuts2.js';
3
+ import { d as defineCustomElement$4 } from './ch-window2.js';
4
+ import { d as defineCustomElement$3 } from './ch-window-close2.js';
5
+ import { d as defineCustomElement$2 } from './shortcuts.js';
2
6
 
3
7
  const testCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{cursor:initial}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}.card{overflow:auto;cursor:initial;height:100px}.card::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.card::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.card::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.card::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}";
4
8
 
@@ -7,9 +11,15 @@ const GxgTest$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
11
  super();
8
12
  this.__registerHost();
9
13
  this.__attachShadow();
14
+ this.sendClickHandler = () => {
15
+ console.log("clicked");
16
+ };
10
17
  }
11
18
  render() {
12
- return (h("div", { class: "card" }, h("p", null, "The universe is incredibly vast and mysterious. One interesting fact is that there are more stars in the observable universe than there are grains of sand on all the beaches on Earth. It's mind-boggling! \uD83C\uDF0C\uD83C\uDF1F"), h("p", null, "The universe is about 13.8 billion years old, but we can only observe a tiny fraction of it due to the speed of light."), h("p", null, "Black holes can be both incredibly massive and incredibly small. Some are as tiny as a single atom but contain the mass of a mountain!"), h("p", null, "There's a phenomenon called \"dark matter,\" which makes up about 27% of the universe's mass, yet we can't see or detect it directly. It's a big cosmic mystery."), h("p", null, "The Hubble Space Telescope has captured images of galaxies that are billions of light-years away, showing us what they looked like in the distant past.")));
19
+ return [
20
+ h("div", { class: "container" }, h("section", { class: "section-dev", "data-title": "shortcut" }, h("h2", null, "Formulario de Contacto"), h("div", null, h("label", { htmlFor: "nombre" }, "Nombre:"), h("input", { type: "text", id: "nombre", name: "nombre", "data-shortcut": "Alt+N" })), h("div", null, h("label", { htmlFor: "email" }, "Correo Electr\u00F3nico:"), h("input", { type: "email", id: "email", name: "email", "data-shortcut": "Alt+E", "data-shortcut-prevent": "Enter", "aria-keyshortcuts": "Alt+E" })), h("div", null, h("label", { htmlFor: "mensaje" }, "Mensaje:"), h("textarea", { id: "mensaje", name: "mensaje", "data-shortcut": "Alt+M" })), h("div", null, h("button", { id: "enviar", "data-shortcut": "Enter", "data-shortcut-action": "click", onClick: this.sendClickHandler }, "Enviar")))),
21
+ h("gxg-shortcuts", { src: "../assets/json/shortcuts.json" }),
22
+ ];
13
23
  }
14
24
  get el() { return this; }
15
25
  static get style() { return testCss; }
@@ -18,13 +28,33 @@ function defineCustomElement$1() {
18
28
  if (typeof customElements === "undefined") {
19
29
  return;
20
30
  }
21
- const components = ["gxg-test"];
31
+ const components = ["gxg-test", "ch-shortcuts", "ch-window", "ch-window-close", "gxg-shortcuts"];
22
32
  components.forEach(tagName => { switch (tagName) {
23
33
  case "gxg-test":
24
34
  if (!customElements.get(tagName)) {
25
35
  customElements.define(tagName, GxgTest$1);
26
36
  }
27
37
  break;
38
+ case "ch-shortcuts":
39
+ if (!customElements.get(tagName)) {
40
+ defineCustomElement$5();
41
+ }
42
+ break;
43
+ case "ch-window":
44
+ if (!customElements.get(tagName)) {
45
+ defineCustomElement$4();
46
+ }
47
+ break;
48
+ case "ch-window-close":
49
+ if (!customElements.get(tagName)) {
50
+ defineCustomElement$3();
51
+ }
52
+ break;
53
+ case "gxg-shortcuts":
54
+ if (!customElements.get(tagName)) {
55
+ defineCustomElement$2();
56
+ }
57
+ break;
28
58
  } });
29
59
  }
30
60
 
@@ -154,6 +154,7 @@ export { GxgScroll, defineCustomElement as defineCustomElementGxgScroll } from '
154
154
  export { GxgSelect, defineCustomElement as defineCustomElementGxgSelect } from './gxg-select.js';
155
155
  export { GxgSelectV2, defineCustomElement as defineCustomElementGxgSelectV2 } from './gxg-select-v2.js';
156
156
  export { GxgSeparator, defineCustomElement as defineCustomElementGxgSeparator } from './gxg-separator.js';
157
+ export { GxgShortcuts, defineCustomElement as defineCustomElementGxgShortcuts } from './gxg-shortcuts.js';
157
158
  export { GxgSlider, defineCustomElement as defineCustomElementGxgSlider } from './gxg-slider.js';
158
159
  export { GxgSpacerLayout, defineCustomElement as defineCustomElementGxgSpacerLayout } from './gxg-spacer-layout.js';
159
160
  export { GxgSpacerOne, defineCustomElement as defineCustomElementGxgSpacerOne } from './gxg-spacer-one.js';
@@ -0,0 +1,58 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$3 } from './ch-shortcuts2.js';
3
+ import { d as defineCustomElement$2 } from './ch-window2.js';
4
+ import { d as defineCustomElement$1 } from './ch-window-close2.js';
5
+
6
+ const shortcutsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{cursor:initial}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}:host{display:block}ch-shortcuts::part(tooltip){font-family:monospace;background-color:var(--gray-06);color:var(--gray-01);padding:var(--spacing-comp-00) var(--spacing-comp-01);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);position:relative;top:-2.5px;right:-2px}ch-shortcuts::part(element){outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px;outline-color:var(--gray-06)}:host([show-tooltip]) ch-shortcuts::part(tooltip){opacity:1}";
7
+
8
+ const GxgShortcuts = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.showKey = "F10";
13
+ this.showTooltip = false;
14
+ this.show = false;
15
+ }
16
+ componentDidLoad() {
17
+ this.showTooltip = true;
18
+ }
19
+ render() {
20
+ return (h(Host, null, h("ch-shortcuts", { src: this.src, showKey: this.showKey })));
21
+ }
22
+ static get style() { return shortcutsCss; }
23
+ }, [0, "gxg-shortcuts", {
24
+ "src": [1],
25
+ "showKey": [1, "show-key"],
26
+ "showTooltip": [1540, "show-tooltip"],
27
+ "show": [32]
28
+ }]);
29
+ function defineCustomElement() {
30
+ if (typeof customElements === "undefined") {
31
+ return;
32
+ }
33
+ const components = ["gxg-shortcuts", "ch-shortcuts", "ch-window", "ch-window-close"];
34
+ components.forEach(tagName => { switch (tagName) {
35
+ case "gxg-shortcuts":
36
+ if (!customElements.get(tagName)) {
37
+ customElements.define(tagName, GxgShortcuts);
38
+ }
39
+ break;
40
+ case "ch-shortcuts":
41
+ if (!customElements.get(tagName)) {
42
+ defineCustomElement$3();
43
+ }
44
+ break;
45
+ case "ch-window":
46
+ if (!customElements.get(tagName)) {
47
+ defineCustomElement$2();
48
+ }
49
+ break;
50
+ case "ch-window-close":
51
+ if (!customElements.get(tagName)) {
52
+ defineCustomElement$1();
53
+ }
54
+ break;
55
+ } });
56
+ }
57
+
58
+ export { GxgShortcuts as G, defineCustomElement as d };
@@ -0,0 +1,225 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-0aa3977d.js';
2
+ import { f as focusComposedPath } from './helpers-1ecd5e26.js';
3
+
4
+ const SHORTCUTS = new Map();
5
+ let LATEST_SHORTCUT;
6
+ function loadShortcuts(name, root, shortcuts) {
7
+ shortcuts.forEach(shortcut => {
8
+ const keyShortcuts = parseKeyShortcuts(shortcut.keyShortcuts);
9
+ keyShortcuts.forEach(keyShortcut => {
10
+ SHORTCUTS.set(normalize(keyShortcut.ctrl, keyShortcut.alt, keyShortcut.shift, keyShortcut.meta, keyShortcut.key), {
11
+ name,
12
+ root,
13
+ shortcut
14
+ });
15
+ });
16
+ });
17
+ addListener();
18
+ }
19
+ function unloadShortcuts(name) {
20
+ const removeKeyShortcuts = [];
21
+ SHORTCUTS.forEach((shortcutMap, key) => {
22
+ if (shortcutMap.name === name) {
23
+ removeKeyShortcuts.push(key);
24
+ }
25
+ });
26
+ removeKeyShortcuts.forEach(key => SHORTCUTS.delete(key));
27
+ removeListener();
28
+ }
29
+ function getShortcuts() {
30
+ return Array.from(SHORTCUTS.values())
31
+ .filter(shortcutMap => {
32
+ var _a;
33
+ return !((_a = shortcutMap.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.focusInclude);
34
+ })
35
+ .map(shortcutMap => ({
36
+ element: querySelectorPlus(shortcutMap.shortcut.selector, shortcutMap.root),
37
+ keyShortcuts: shortcutMap.shortcut.keyShortcuts,
38
+ legendPosition: shortcutMap.shortcut.legendPosition
39
+ }));
40
+ }
41
+ function addListener() {
42
+ if (SHORTCUTS.size > 0) {
43
+ window.addEventListener("keydown", keydownHandler, { capture: true });
44
+ }
45
+ }
46
+ function removeListener() {
47
+ if (SHORTCUTS.size === 0) {
48
+ window.removeEventListener("keydown", keydownHandler, { capture: true });
49
+ }
50
+ }
51
+ function keydownHandler(eventInfo) {
52
+ var _a;
53
+ if (!eventInfo.repeat ||
54
+ (eventInfo.repeat && ((_a = LATEST_SHORTCUT === null || LATEST_SHORTCUT === void 0 ? void 0 : LATEST_SHORTCUT.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.allowRepeat))) {
55
+ LATEST_SHORTCUT = triggerShortcut(eventInfo);
56
+ }
57
+ }
58
+ function triggerShortcut(eventInfo) {
59
+ const shortcutMap = SHORTCUTS.get(normalize(eventInfo.ctrlKey, eventInfo.altKey, eventInfo.shiftKey, eventInfo.metaKey, eventInfo.key));
60
+ if (shortcutMap && conditions(shortcutMap)) {
61
+ const element = querySelectorPlus(shortcutMap.shortcut.selector, shortcutMap.root);
62
+ if (element) {
63
+ switch (shortcutMap.shortcut.action) {
64
+ case "click":
65
+ element.dispatchEvent(new Event("click"));
66
+ break;
67
+ default:
68
+ element.focus();
69
+ }
70
+ if (shortcutMap.shortcut.preventDefault !== false) {
71
+ eventInfo.preventDefault();
72
+ }
73
+ }
74
+ }
75
+ return shortcutMap;
76
+ }
77
+ function parseKeyShortcuts(value = "") {
78
+ return value.split(" ").map(item => {
79
+ return item.split("+").reduce((keyShortcut, key) => {
80
+ switch (key.toLowerCase()) {
81
+ case "ctrl":
82
+ keyShortcut.ctrl = true;
83
+ break;
84
+ case "alt":
85
+ keyShortcut.alt = true;
86
+ break;
87
+ case "shift":
88
+ keyShortcut.shift = true;
89
+ break;
90
+ case "meta":
91
+ keyShortcut.meta = true;
92
+ break;
93
+ default:
94
+ keyShortcut.key = key;
95
+ }
96
+ return keyShortcut;
97
+ }, {
98
+ ctrl: false,
99
+ alt: false,
100
+ shift: false,
101
+ meta: false,
102
+ key: ""
103
+ });
104
+ });
105
+ }
106
+ function normalize(ctrl, alt, shift, meta, key) {
107
+ return [
108
+ ctrl ? "Ctrl" : null,
109
+ alt ? "Alt" : null,
110
+ shift ? "Shift" : null,
111
+ meta ? "Meta" : null,
112
+ key ? key.charAt(0).toUpperCase() + key.slice(1) : null
113
+ ]
114
+ .filter(element => {
115
+ return element !== null;
116
+ })
117
+ .join("+");
118
+ }
119
+ function conditions(shortcutMap) {
120
+ var _a, _b, _c, _d;
121
+ const focus = focusComposedPath();
122
+ if ((_a = shortcutMap.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.focusInclude) {
123
+ return Array.from(shortcutMap.root.querySelectorAll((_b = shortcutMap.shortcut.conditions) === null || _b === void 0 ? void 0 : _b.focusInclude)).some((el) => focus.includes(el));
124
+ }
125
+ if ((_c = shortcutMap.shortcut.conditions) === null || _c === void 0 ? void 0 : _c.focusExclude) {
126
+ return !Array.from(shortcutMap.root.querySelectorAll((_d = shortcutMap.shortcut.conditions) === null || _d === void 0 ? void 0 : _d.focusExclude)).some((el) => focus.includes(el));
127
+ }
128
+ return true;
129
+ }
130
+ function querySelectorPlus(selector, root) {
131
+ const querySelectorDeep = (element, parts) => {
132
+ const shadow = element.shadowRoot;
133
+ const partList = parts.split(" ");
134
+ const partElement = shadow.querySelector(partList.map(partName => `[part~="${partName}"]`).join(""));
135
+ if (partElement) {
136
+ return partElement;
137
+ }
138
+ const exportPartElement = shadow.querySelector(partList.map(partName => `[exportparts*="${partName}"]`).join(""));
139
+ if (exportPartElement) {
140
+ const exportPartList = [];
141
+ const exportparts = exportPartElement.getAttribute("exportparts");
142
+ partList.forEach(partItem => {
143
+ const exportPartName = exportparts.match(`(?:([\\w-]+):)?(${partItem})`)[1];
144
+ if (exportPartName) {
145
+ exportPartList.push(exportPartName);
146
+ }
147
+ });
148
+ if (partList.length === exportPartList.length) {
149
+ return querySelectorDeep(exportPartElement, exportPartList.join(" "));
150
+ }
151
+ }
152
+ return null;
153
+ };
154
+ if (selector.includes("::part")) {
155
+ const selectorItems = selector.match("(.*)::part\\(([^)]+)\\)");
156
+ const entity = selectorItems[1];
157
+ const partName = selectorItems[2];
158
+ return querySelectorDeep(root.querySelector(entity), partName);
159
+ }
160
+ else {
161
+ return root.querySelector(selector);
162
+ }
163
+ }
164
+
165
+ const chShortcutsCss = ":host{display:contents}";
166
+
167
+ const ChShortcuts = class {
168
+ constructor(hostRef) {
169
+ registerInstance(this, hostRef);
170
+ this.showShortcuts = false;
171
+ this.showKey = "F10";
172
+ this.windowClosedHandler = () => {
173
+ this.showShortcuts = false;
174
+ };
175
+ }
176
+ componentDidLoad() {
177
+ if (this.src) {
178
+ fetch(this.src).then(response => {
179
+ if (response.ok) {
180
+ response.json().then(json => {
181
+ const root = this.el.getRootNode();
182
+ loadShortcuts(this.src, root, json);
183
+ });
184
+ }
185
+ });
186
+ }
187
+ }
188
+ disconnectedCallback() {
189
+ unloadShortcuts(this.src);
190
+ }
191
+ windowKeyDownHandler(eventInfo) {
192
+ if (eventInfo.key === this.showKey) {
193
+ this.showShortcuts = !this.showShortcuts;
194
+ eventInfo.preventDefault();
195
+ }
196
+ }
197
+ renderShortcuts() {
198
+ return getShortcuts().map(shortcut => (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" }, h("span", { part: "tooltip" }, shortcut.keyShortcuts))));
199
+ }
200
+ render() {
201
+ return h(Host, null, this.showShortcuts && this.renderShortcuts());
202
+ }
203
+ get el() { return getElement(this); }
204
+ };
205
+ ChShortcuts.style = chShortcutsCss;
206
+
207
+ const shortcutsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{cursor:initial}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px);border:var(--gxg-scrollbar-track-thumb-border);background-clip:padding-box}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04)}:host{display:block}ch-shortcuts::part(tooltip){font-family:monospace;background-color:var(--gray-06);color:var(--gray-01);padding:var(--spacing-comp-00) var(--spacing-comp-01);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);position:relative;top:-2.5px;right:-2px}ch-shortcuts::part(element){outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px;outline-color:var(--gray-06)}:host([show-tooltip]) ch-shortcuts::part(tooltip){opacity:1}";
208
+
209
+ const GxgShortcuts = class {
210
+ constructor(hostRef) {
211
+ registerInstance(this, hostRef);
212
+ this.showKey = "F10";
213
+ this.showTooltip = false;
214
+ this.show = false;
215
+ }
216
+ componentDidLoad() {
217
+ this.showTooltip = true;
218
+ }
219
+ render() {
220
+ return (h(Host, null, h("ch-shortcuts", { src: this.src, showKey: this.showKey })));
221
+ }
222
+ };
223
+ GxgShortcuts.style = shortcutsCss;
224
+
225
+ export { ChShortcuts as ch_shortcuts, GxgShortcuts as gxg_shortcuts };