@genexus/genexus-ide-ui 0.0.60 → 0.0.61

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 (139) hide show
  1. package/dist/cjs/ch-checkbox.cjs.entry.js +93 -0
  2. package/dist/cjs/{ch-checkbox_3.cjs.entry.js → ch-tree-x_3.cjs.entry.js} +475 -87
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-container.cjs.entry.js +13 -5
  5. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +47 -0
  6. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +11 -9
  7. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +343 -0
  8. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +236 -0
  9. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -9
  10. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  12. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +148 -0
  13. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  14. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  15. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  17. package/dist/cjs/{helpers-9523495a.js → helpers-b62ea39c.js} +12 -0
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +4 -1
  20. package/dist/collection/common/helpers.js +11 -0
  21. package/dist/collection/components/_template/template.js +1 -1
  22. package/dist/collection/components/container/container.css +24 -16
  23. package/dist/collection/components/container/container.js +66 -22
  24. package/dist/collection/components/file-selector/file-selector.css +366 -0
  25. package/dist/collection/components/file-selector/file-selector.js +185 -0
  26. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
  27. package/dist/collection/components/kb-manager-export/helpers.js +0 -1
  28. package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -2
  29. package/dist/collection/components/kb-manager-export/kb-manager-export.js +12 -9
  30. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
  31. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
  32. package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
  33. package/dist/collection/components/kb-manager-import/helpers.js +128 -0
  34. package/dist/collection/components/kb-manager-import/kb-manager-import.css +233 -0
  35. package/dist/collection/components/kb-manager-import/kb-manager-import.js +415 -0
  36. package/dist/collection/components/list-selector/list-selector-item/list-selector-item.css +51 -14
  37. package/dist/collection/components/list-selector/list-selector-item/list-selector-item.js +160 -24
  38. package/dist/collection/components/list-selector/list-selector.css +6 -0
  39. package/dist/collection/components/list-selector/list-selector.js +234 -33
  40. package/dist/collection/components/new-kb/new-kb.css +13 -0
  41. package/dist/collection/components/new-kb/new-kb.js +7 -8
  42. package/dist/collection/components/references/references.js +2 -2
  43. package/dist/collection/components/status-buttons/gx-ide-status-buttons.css +93 -0
  44. package/dist/collection/components/status-buttons/gx-ide-status-buttons.js +325 -0
  45. package/dist/collection/components/team-dev-commit/team-dev-commit.js +1 -1
  46. package/dist/collection/components/team-dev-update/team-dev-update.js +1 -1
  47. package/dist/components/container.js +16 -6
  48. package/dist/components/form-text.js +1 -1
  49. package/dist/components/gx-ide-file-selector.d.ts +11 -0
  50. package/dist/components/gx-ide-file-selector.js +105 -0
  51. package/dist/components/gx-ide-kb-manager-export.js +13 -11
  52. package/dist/components/gx-ide-kb-manager-import.d.ts +11 -0
  53. package/dist/components/gx-ide-kb-manager-import.js +499 -0
  54. package/dist/components/gx-ide-list-selector-item.js +1 -102
  55. package/dist/components/gx-ide-list-selector.js +1 -73
  56. package/dist/components/gx-ide-new-kb.js +8 -9
  57. package/dist/components/gx-ide-references.js +2 -2
  58. package/dist/components/gx-ide-status-buttons.d.ts +11 -0
  59. package/dist/components/gx-ide-status-buttons.js +6 -0
  60. package/dist/components/gx-ide-status-buttons2.js +131 -0
  61. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js +1 -1
  63. package/dist/components/gx-ide-template.js +1 -1
  64. package/dist/components/gxg-ide-loader.js +1 -111
  65. package/dist/components/helpers2.js +12 -1
  66. package/dist/{esm/gxg-ide-loader.entry.js → components/ide-loader.js} +46 -7
  67. package/dist/components/index.d.ts +3 -0
  68. package/dist/components/index.js +3 -0
  69. package/dist/components/list-selector-item.js +158 -0
  70. package/dist/components/list-selector.js +146 -0
  71. package/dist/esm/ch-checkbox.entry.js +89 -0
  72. package/dist/esm/{ch-checkbox_3.entry.js → ch-tree-x_3.entry.js} +476 -88
  73. package/dist/esm/genexus-ide-ui.js +1 -1
  74. package/dist/esm/gx-ide-container.entry.js +13 -5
  75. package/dist/esm/gx-ide-file-selector.entry.js +43 -0
  76. package/dist/esm/gx-ide-kb-manager-export.entry.js +11 -9
  77. package/dist/esm/gx-ide-kb-manager-import.entry.js +339 -0
  78. package/dist/esm/gx-ide-list-selector_2.entry.js +231 -0
  79. package/dist/esm/gx-ide-new-kb.entry.js +8 -9
  80. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  81. package/dist/esm/gx-ide-references.entry.js +2 -2
  82. package/dist/esm/gx-ide-status-buttons_2.entry.js +143 -0
  83. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  84. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  85. package/dist/esm/gx-ide-template.entry.js +1 -1
  86. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  87. package/dist/esm/{helpers-b99024f5.js → helpers-c29a9591.js} +12 -1
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  90. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
  92. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
  93. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
  94. package/dist/genexus-ide-ui/p-163a93a4.entry.js +1 -0
  95. package/dist/genexus-ide-ui/p-1ff3cf87.entry.js +1 -0
  96. package/dist/genexus-ide-ui/p-2142874f.entry.js +1 -0
  97. package/dist/genexus-ide-ui/p-2b7d4cca.entry.js +1 -0
  98. package/dist/genexus-ide-ui/p-481312bc.entry.js +1 -0
  99. package/dist/genexus-ide-ui/p-8738b63b.entry.js +1 -0
  100. package/dist/genexus-ide-ui/p-9e530c7d.entry.js +1 -0
  101. package/dist/genexus-ide-ui/{p-c63d5b08.js → p-9ee8b615.js} +1 -1
  102. package/dist/genexus-ide-ui/{p-cef1a182.entry.js → p-a3171fdf.entry.js} +1 -1
  103. package/dist/genexus-ide-ui/p-ac3b8e90.entry.js +1 -0
  104. package/dist/genexus-ide-ui/{p-750c726a.entry.js → p-b2ea372b.entry.js} +1 -1
  105. package/dist/genexus-ide-ui/p-b685ffba.entry.js +1 -0
  106. package/dist/genexus-ide-ui/p-c7e11c6b.entry.js +1 -0
  107. package/dist/genexus-ide-ui/p-d04d634e.entry.js +1 -0
  108. package/dist/genexus-ide-ui/{p-462a8f83.entry.js → p-d8096d40.entry.js} +1 -1
  109. package/dist/genexus-ide-ui/p-f83093aa.entry.js +1 -0
  110. package/dist/types/common/helpers.d.ts +2 -0
  111. package/dist/types/common/types.d.ts +16 -0
  112. package/dist/types/components/container/container.d.ts +12 -4
  113. package/dist/types/components/file-selector/file-selector.d.ts +38 -0
  114. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +3 -2
  115. package/dist/types/components/kb-manager-import/helpers.d.ts +10 -0
  116. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +110 -0
  117. package/dist/types/components/list-selector/list-selector-item/list-selector-item.d.ts +38 -7
  118. package/dist/types/components/list-selector/list-selector.d.ts +47 -8
  119. package/dist/types/components/status-buttons/gx-ide-status-buttons.d.ts +63 -0
  120. package/dist/types/components.d.ts +410 -28
  121. package/package.json +3 -3
  122. package/dist/cjs/gx-ide-list-selector-item.cjs.entry.js +0 -89
  123. package/dist/cjs/gx-ide-list-selector.cjs.entry.js +0 -51
  124. package/dist/cjs/gxg-ide-loader.cjs.entry.js +0 -78
  125. package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -481
  126. package/dist/esm/gx-ide-list-selector-item.entry.js +0 -85
  127. package/dist/esm/gx-ide-list-selector.entry.js +0 -47
  128. package/dist/esm/gxg-tree-view.entry.js +0 -477
  129. package/dist/genexus-ide-ui/p-00ee4c20.entry.js +0 -1
  130. package/dist/genexus-ide-ui/p-16d35368.entry.js +0 -1
  131. package/dist/genexus-ide-ui/p-3e16a46a.entry.js +0 -1
  132. package/dist/genexus-ide-ui/p-83f6db54.entry.js +0 -1
  133. package/dist/genexus-ide-ui/p-845f47ff.entry.js +0 -1
  134. package/dist/genexus-ide-ui/p-85164984.entry.js +0 -1
  135. package/dist/genexus-ide-ui/p-a4b359b1.entry.js +0 -1
  136. package/dist/genexus-ide-ui/p-a5833100.entry.js +0 -1
  137. package/dist/genexus-ide-ui/p-cddb793a.entry.js +0 -1
  138. package/dist/genexus-ide-ui/p-dd676f91.entry.js +0 -1
  139. package/dist/genexus-ide-ui/p-ffddd3ad.entry.js +0 -1
@@ -4,7 +4,9 @@ export { GxIdeContainer as GxIdeContainer } from '../types/components/container/
4
4
  export { GxIdeCreateKbFromServer as GxIdeCreateKbFromServer } from '../types/components/create-kb-from-server/create-kb-from-server';
5
5
  export { GxIdeDirectorySelector as GxIdeDirectorySelector } from '../types/components/directory-selector/directory-selector';
6
6
  export { GxIdeEntitySelector as GxIdeEntitySelector } from '../types/components/entity-selector/entity-selector';
7
+ export { GxIdeFileSelector as GxIdeFileSelector } from '../types/components/file-selector/file-selector';
7
8
  export { GxIdeKbManagerExport as GxIdeKbManagerExport } from '../types/components/kb-manager-export/kb-manager-export';
9
+ export { GxIdeKbManagerImport as GxIdeKbManagerImport } from '../types/components/kb-manager-import/kb-manager-import';
8
10
  export { GxIdeListSelector as GxIdeListSelector } from '../types/components/list-selector/list-selector';
9
11
  export { GxIdeListSelectorItem as GxIdeListSelectorItem } from '../types/components/list-selector/list-selector-item/list-selector-item';
10
12
  export { GxIdeNewEnvironment as GxIdeNewEnvironment } from '../types/components/new-environment/new-environment';
@@ -13,6 +15,7 @@ export { GxIdeNewObject as GxIdeNewObject } from '../types/components/new-object
13
15
  export { GxIdeObjectSelector as GxIdeObjectSelector } from '../types/components/object-selector/object-selector';
14
16
  export { GxIdeReferences as GxIdeReferences } from '../types/components/references/references';
15
17
  export { GxIdeShareKb as GxIdeShareKb } from '../types/components/share-kb/share-kb';
18
+ export { GxIdeStatusButtons as GxIdeStatusButtons } from '../types/components/status-buttons/gx-ide-status-buttons';
16
19
  export { GxIdeTeamDevCommit as GxIdeTeamDevCommit } from '../types/components/team-dev-commit/team-dev-commit';
17
20
  export { GxIdeTeamDevSelectRecentComment as GxIdeTeamDevSelectRecentComment } from '../types/components/team-dev-select-recent-comment/team-dev-select-recent-comment';
18
21
  export { GxIdeTeamDevUpdate as GxIdeTeamDevUpdate } from '../types/components/team-dev-update/team-dev-update';
@@ -67,7 +67,9 @@ export { GxIdeContainer, defineCustomElement as defineCustomElementGxIdeContaine
67
67
  export { GxIdeCreateKbFromServer, defineCustomElement as defineCustomElementGxIdeCreateKbFromServer } from './gx-ide-create-kb-from-server.js';
68
68
  export { GxIdeDirectorySelector, defineCustomElement as defineCustomElementGxIdeDirectorySelector } from './gx-ide-directory-selector.js';
69
69
  export { GxIdeEntitySelector, defineCustomElement as defineCustomElementGxIdeEntitySelector } from './gx-ide-entity-selector.js';
70
+ export { GxIdeFileSelector, defineCustomElement as defineCustomElementGxIdeFileSelector } from './gx-ide-file-selector.js';
70
71
  export { GxIdeKbManagerExport, defineCustomElement as defineCustomElementGxIdeKbManagerExport } from './gx-ide-kb-manager-export.js';
72
+ export { GxIdeKbManagerImport, defineCustomElement as defineCustomElementGxIdeKbManagerImport } from './gx-ide-kb-manager-import.js';
71
73
  export { GxIdeListSelector, defineCustomElement as defineCustomElementGxIdeListSelector } from './gx-ide-list-selector.js';
72
74
  export { GxIdeListSelectorItem, defineCustomElement as defineCustomElementGxIdeListSelectorItem } from './gx-ide-list-selector-item.js';
73
75
  export { GxIdeNewEnvironment, defineCustomElement as defineCustomElementGxIdeNewEnvironment } from './gx-ide-new-environment.js';
@@ -76,6 +78,7 @@ export { GxIdeNewObject, defineCustomElement as defineCustomElementGxIdeNewObjec
76
78
  export { GxIdeObjectSelector, defineCustomElement as defineCustomElementGxIdeObjectSelector } from './gx-ide-object-selector.js';
77
79
  export { GxIdeReferences, defineCustomElement as defineCustomElementGxIdeReferences } from './gx-ide-references.js';
78
80
  export { GxIdeShareKb, defineCustomElement as defineCustomElementGxIdeShareKb } from './gx-ide-share-kb.js';
81
+ export { GxIdeStatusButtons, defineCustomElement as defineCustomElementGxIdeStatusButtons } from './gx-ide-status-buttons.js';
79
82
  export { GxIdeTeamDevCommit, defineCustomElement as defineCustomElementGxIdeTeamDevCommit } from './gx-ide-team-dev-commit.js';
80
83
  export { GxIdeTeamDevSelectRecentComment, defineCustomElement as defineCustomElementGxIdeTeamDevSelectRecentComment } from './gx-ide-team-dev-select-recent-comment.js';
81
84
  export { GxIdeTeamDevUpdate, defineCustomElement as defineCustomElementGxIdeTeamDevUpdate } from './gx-ide-team-dev-update.js';
@@ -0,0 +1,158 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$2 } from './icon.js';
3
+ import { d as defineCustomElement$1 } from './icon2.js';
4
+
5
+ const listSelectorItemCss = "*,::after,::before{box-sizing:border-box}gx-ide-list-selector-item{display:block;max-width:100%;display:flex;font-size:inherit}gx-ide-list-selector-item:hover .label{background-color:var(--gxg-background-color--hover);cursor:pointer}gx-ide-list-selector-item:hover input:checked+.label{background-color:var(--gxg-background-color--selected-hover)}gx-ide-list-selector-item:not(:first-child){border-block-start:1px solid var(--gx-ide-container-border-color)}gx-ide-list-selector-item:not(:first-child):has(input:checked){border-block-color:var(--gxg-border-color--selected)}gx-ide-list-selector-item[readonly]:not([readonly=false]) .label{pointer-events:none;background-color:transparent}gx-ide-list-selector-item[ellipsis]:not([ellipsis=false]) .label__description{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}input{width:0;height:0;opacity:0;margin:0}input:focus+.label{outline:var(--border-width-md) solid var(--color-primary-active);outline-offset:-2px}input:checked+.label{background-color:var(--gxg-background-color--selected)}.label{width:100%}.label__wrapper{display:flex;min-height:28px;align-items:center;gap:var(--spacing-comp-02);padding:var(--spacing-comp-01) var(--spacing-comp-02);width:100%}.label__wrapper__description{flex:1}gx-ide-list-selector-item[no-border]{border-block-start:none}.label__universal-slot{display:flex;align-items:center;justify-content:center}";
6
+
7
+ const GxIdeListSelectorItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.itemSelectionChanged = createEvent(this, "itemSelectionChanged", 7);
12
+ this.hasUniversalSlot = false;
13
+ // 6.COMPONENT LIFECYCLE METHODS //
14
+ // 7.LISTENERS //
15
+ // 8.PUBLIC METHODS API //
16
+ // 9.LOCAL METHODS //
17
+ /**
18
+ * Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference
19
+ */
20
+ this.evaluateParentIsListSelector = () => {
21
+ const parentList = this.el.parentElement;
22
+ this.parentIsListSelector = (parentList === null || parentList === void 0 ? void 0 : parentList.nodeName) === "GX-IDE-LIST-SELECTOR";
23
+ this.parentIsListSelector && (this.parentList = parentList);
24
+ };
25
+ /**
26
+ * Determines the type of item, based on the parent list-selector 'type' property value
27
+ */
28
+ this.evaluateType = () => {
29
+ const parentList = this.el
30
+ .parentElement;
31
+ this.type = parentList.type === "single-selection" ? "radio" : "checkbox";
32
+ };
33
+ /**
34
+ * Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item
35
+ */
36
+ this.evaluateSelectable = () => {
37
+ if (this.readonly === undefined && this.parentIsListSelector) {
38
+ this.readonly = this.parentList.readonly;
39
+ }
40
+ };
41
+ /**
42
+ * Evaluates if text should truncate with ellipsis, considering the parent list-selector 'ellipsis' property value, only if it is undefined on this item
43
+ */
44
+ this.evaluateEllipsis = () => {
45
+ if (this.ellipsis === undefined && this.parentIsListSelector) {
46
+ this.ellipsis = this.parentList.ellipsis;
47
+ }
48
+ };
49
+ /**
50
+ * Evaluates if this item should be initially checked, only if the parent list-selector listValue equals this item value.
51
+ */
52
+ this.evaluateChecked = () => {
53
+ if (this.checked === undefined &&
54
+ this.parentIsListSelector &&
55
+ this.parentList.value !== undefined &&
56
+ this.parentList.value === this.itemValue) {
57
+ this.checked = true;
58
+ }
59
+ };
60
+ this.evaluateBorder = () => {
61
+ if (this.parentIsListSelector) {
62
+ this.noBorder = this.parentList.noItemsBorder;
63
+ }
64
+ };
65
+ this.evaluateUniversalSlot = () => {
66
+ this.hasUniversalSlot = !!this.el.querySelector("[slot=universal]");
67
+ };
68
+ /**
69
+ * Gets the listName required value, that is needed for the list selection to properly work
70
+ */
71
+ this.assignName = () => {
72
+ this.parentIsListSelector &&
73
+ this.parentList.listName &&
74
+ (this.name = this.parentList.listName);
75
+ };
76
+ this.evaluateIconColor = () => {
77
+ this.parentIsListSelector &&
78
+ this.parentList.iconsColor &&
79
+ this.iconColor === undefined &&
80
+ (this.iconColor = this.parentList.iconsColor);
81
+ };
82
+ this.evaluateIconSize = () => {
83
+ this.parentIsListSelector &&
84
+ this.parentList.iconsSize &&
85
+ (this.iconSize = this.parentList.iconsSize);
86
+ };
87
+ this.onChangeHandler = (e) => {
88
+ this.itemChecked = e.target.checked;
89
+ this.itemSelectionChanged.emit({
90
+ itemId: this.itemId,
91
+ itemValue: this.itemValue
92
+ });
93
+ };
94
+ this.itemId = undefined;
95
+ this.itemValue = undefined;
96
+ this.itemChecked = false;
97
+ this.readonly = undefined;
98
+ this.ellipsis = undefined;
99
+ this.icon = undefined;
100
+ this.iconColor = undefined;
101
+ this.iconSize = undefined;
102
+ this.noBorder = false;
103
+ }
104
+ // 5.EVENTS (EMIT) //
105
+ componentWillLoad() {
106
+ this.evaluateParentIsListSelector();
107
+ this.evaluateType();
108
+ this.evaluateSelectable();
109
+ this.evaluateEllipsis();
110
+ this.evaluateChecked();
111
+ this.evaluateIconColor();
112
+ this.evaluateIconSize();
113
+ this.evaluateBorder();
114
+ this.evaluateUniversalSlot();
115
+ this.assignName();
116
+ }
117
+ // 10.RENDER() FUNCTION //
118
+ render() {
119
+ return (h(Host, { role: "listitem" }, h("input", { type: this.type, id: this.itemId, name: this.name, value: this.itemValue, checked: this.itemChecked, onChange: this.onChangeHandler, disabled: this.readonly, part: "input" }), h("label", { class: "label", htmlFor: this.itemId, part: "label" }, h("div", { class: "label__wrapper" }, this.icon ? (h("gxg-icon", { class: "label__icon", type: this.icon, size: this.iconSize, color: this.iconColor, part: "icon" })) : null, this.hasUniversalSlot ? (h("span", { class: "label__universal-slot", part: "universal-slot" }, h("slot", { name: "universal" }))) : null, h("span", { class: "label__description", part: "description" }, this.itemValue)))));
120
+ }
121
+ get el() { return this; }
122
+ static get style() { return listSelectorItemCss; }
123
+ }, [4, "gx-ide-list-selector-item", {
124
+ "itemId": [513, "item-id"],
125
+ "itemValue": [1, "item-value"],
126
+ "itemChecked": [1028, "item-checked"],
127
+ "readonly": [1540],
128
+ "ellipsis": [1540],
129
+ "icon": [1],
130
+ "iconColor": [1025, "icon-color"],
131
+ "iconSize": [1025, "icon-size"],
132
+ "noBorder": [1540, "no-border"]
133
+ }]);
134
+ function defineCustomElement() {
135
+ if (typeof customElements === "undefined") {
136
+ return;
137
+ }
138
+ const components = ["gx-ide-list-selector-item", "ch-icon", "gxg-icon"];
139
+ components.forEach(tagName => { switch (tagName) {
140
+ case "gx-ide-list-selector-item":
141
+ if (!customElements.get(tagName)) {
142
+ customElements.define(tagName, GxIdeListSelectorItem);
143
+ }
144
+ break;
145
+ case "ch-icon":
146
+ if (!customElements.get(tagName)) {
147
+ defineCustomElement$2();
148
+ }
149
+ break;
150
+ case "gxg-icon":
151
+ if (!customElements.get(tagName)) {
152
+ defineCustomElement$1();
153
+ }
154
+ break;
155
+ } });
156
+ }
157
+
158
+ export { GxIdeListSelectorItem as G, defineCustomElement as d };
@@ -0,0 +1,146 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$1 } from './title.js';
3
+
4
+ const listSelectorCss = "*,::after,::before{box-sizing:border-box}:host{display:flex;flex-direction:column;max-height:100%;font-family:var(--font-family-primary)}gxg-title{display:block;margin-block-end:var(--gxg-label-margin-vertical)}.list{background-color:unset;border:none;color:inherit;font:inherit;margin:0;padding:0;outline:0;list-style-type:none;margin:0;padding:0;color:var(--gx-ide-component-text-color);background-color:var(--gx-ide-component-background-color);font-size:var(--gx-ide-component-text-size);font-weight:var(--font-weight-regular);display:block;background-color:var(--color-background);max-height:100%;overflow-y:auto;border:1px solid var(--gx-ide-container-border-color)}.list::-webkit-scrollbar{width:6px;height:6px}.list::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.list::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.list::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.list .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}:host([no-list-border]) .list{border:none}";
5
+
6
+ const GxIdeListSelector = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.selectionChanged = createEvent(this, "selectionChanged", 7);
12
+ // 8.PUBLIC METHODS API //
13
+ // 9.LOCAL METHODS //
14
+ /**
15
+ * It evaluates the checked items, and checks or unchecks if needed
16
+ */
17
+ this.evaluateChecked = () => {
18
+ const allListItems = Array.from(this.el.querySelectorAll("gx-ide-list-selector-item"));
19
+ const checkedItems = allListItems.filter(item => item.itemChecked);
20
+ /**
21
+ * INDEX
22
+ * 1.required and no one checked
23
+ * 2.single-selection, and more than one checked
24
+ */
25
+ /* 1.required and no one checked*/
26
+ if (this.required && checkedItems.length === 0) {
27
+ allListItems[0].itemChecked = true;
28
+ }
29
+ else if (this.type === "single-selection" && checkedItems.length > 1) {
30
+ /* 2.single-selection, and more than one checked*/
31
+ checkedItems.forEach((item, i) => {
32
+ if (i !== 0) {
33
+ item.itemChecked = false;
34
+ }
35
+ });
36
+ }
37
+ };
38
+ /**
39
+ * It evaluates the initial value/s
40
+ */
41
+ this.evaluateInitialValue = () => {
42
+ const checkedItems = this.getChecked();
43
+ if (this.type === "single-selection" && checkedItems.length > 0) {
44
+ this.value = checkedItems[0].itemValue;
45
+ }
46
+ else if (this.type === "multi-selection" && checkedItems.length > 0) {
47
+ const values = [];
48
+ checkedItems.forEach(checked => {
49
+ values.push(checked.itemValue);
50
+ });
51
+ this.value = values;
52
+ }
53
+ };
54
+ this.getChecked = () => {
55
+ const checkedItems = [];
56
+ const allItems = this.el.querySelectorAll("gx-ide-list-selector-item");
57
+ allItems.forEach(item => {
58
+ if (item.itemChecked) {
59
+ checkedItems.push(item);
60
+ }
61
+ });
62
+ return checkedItems;
63
+ };
64
+ this.listTitle = undefined;
65
+ this.ordered = false;
66
+ this.readonly = false;
67
+ this.type = "single-selection";
68
+ this.required = false;
69
+ this.ellipsis = false;
70
+ this.value = undefined;
71
+ this.iconsColor = "auto";
72
+ this.iconsSize = "regular";
73
+ this.listName = undefined;
74
+ this.noItemsBorder = false;
75
+ this.noListBorder = false;
76
+ }
77
+ // 6.COMPONENT LIFECYCLE METHODS //
78
+ componentWillLoad() {
79
+ this.evaluateChecked();
80
+ this.evaluateInitialValue();
81
+ }
82
+ // 7.LISTENERS //
83
+ itemSelectionChangedHandler(event) {
84
+ event.stopPropagation();
85
+ const checkedItemsInfo = [];
86
+ const checkedItems = this.getChecked();
87
+ const newValue = [];
88
+ checkedItems.forEach(item => {
89
+ const value = item.itemValue;
90
+ newValue.push(value);
91
+ checkedItemsInfo.push({
92
+ itemId: item.itemId,
93
+ itemValue: value
94
+ });
95
+ });
96
+ /* update this.value*/
97
+ if (this.type === "single-selection" && newValue.length > 0) {
98
+ this.value = newValue[0] || undefined;
99
+ }
100
+ else {
101
+ /* multi-selection*/
102
+ this.value = newValue;
103
+ }
104
+ /* emit selectionChanged*/
105
+ this.selectionChanged.emit(checkedItemsInfo);
106
+ }
107
+ // 10.RENDER() FUNCTION //
108
+ render() {
109
+ return (h(Host, { exportparts: "input:input" }, this.listTitle ? (h("gxg-title", { type: "title-04" }, this.listTitle)) : null, this.ordered ? (h("ol", { class: "list", part: "list" }, h("slot", null))) : (h("ul", { class: "list", part: "list" }, h("slot", null)))));
110
+ }
111
+ get el() { return this; }
112
+ static get style() { return listSelectorCss; }
113
+ }, [1, "gx-ide-list-selector", {
114
+ "listTitle": [1, "list-title"],
115
+ "ordered": [4],
116
+ "readonly": [4],
117
+ "type": [1],
118
+ "required": [4],
119
+ "ellipsis": [4],
120
+ "value": [1025],
121
+ "iconsColor": [1, "icons-color"],
122
+ "iconsSize": [1, "icons-size"],
123
+ "listName": [1, "list-name"],
124
+ "noItemsBorder": [4, "no-items-border"],
125
+ "noListBorder": [516, "no-list-border"]
126
+ }, [[2, "itemSelectionChanged", "itemSelectionChangedHandler"]]]);
127
+ function defineCustomElement() {
128
+ if (typeof customElements === "undefined") {
129
+ return;
130
+ }
131
+ const components = ["gx-ide-list-selector", "gxg-title"];
132
+ components.forEach(tagName => { switch (tagName) {
133
+ case "gx-ide-list-selector":
134
+ if (!customElements.get(tagName)) {
135
+ customElements.define(tagName, GxIdeListSelector);
136
+ }
137
+ break;
138
+ case "gxg-title":
139
+ if (!customElements.get(tagName)) {
140
+ defineCustomElement$1();
141
+ }
142
+ break;
143
+ } });
144
+ }
145
+
146
+ export { GxIdeListSelector as G, defineCustomElement as d };
@@ -0,0 +1,89 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-0da01575.js';
2
+ import { D as DISABLED_CLASS } from './reserverd-names-2a2d0fb3.js';
3
+
4
+ const checkboxCss = "*,::before,::after{box-sizing:border-box}:host{display:flex;align-items:center;align-self:stretch;outline:unset;touch-action:manipulation;user-select:none}:host(.ch-checkbox--actionable) :is(.input,.label){cursor:pointer}.container{position:relative;width:min(1em, 20px);height:min(1em, 20px);border:1px solid var(--option-border-color, currentColor);border-radius:18.75%}.container--checked{background-color:var(--option-checked-color, #ffffff00)}.container:focus-within{box-shadow:0 0 1px 1px color-mix(in srgb, currentColor 25%, transparent)}.input{display:flex;width:100%;height:100%;opacity:0;margin:0;padding:0}.option{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:50%;height:50%;background-color:currentColor;opacity:0;pointer-events:none}.option--checked{opacity:1;-webkit-mask:url(\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' %3E%3Cpath fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z' /%3E%3C/svg%3E\")}.option--indeterminate{opacity:1}.label{margin-inline-start:min(0.35em, 7px)}";
5
+
6
+ const CHECKBOX_ID = "checkbox";
7
+ const PARTS = (checked, indeterminate) => `${checked ? " checked" : ""}${indeterminate ? " indeterminate" : ""}`;
8
+ const CheckBox = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.click = createEvent(this, "click", 7);
12
+ this.input = createEvent(this, "input", 7);
13
+ /**
14
+ * This attribute lets you specify if the element is disabled.
15
+ * If disabled, it will not fire any user interaction related event
16
+ * (for example, click event).
17
+ */
18
+ this.disabled = false;
19
+ /**
20
+ * True to highlight control when an action is fired.
21
+ */
22
+ this.highlightable = false;
23
+ /**
24
+ * `true` if the control's value is indeterminate.
25
+ */
26
+ this.indeterminate = false;
27
+ /**
28
+ * This attribute indicates that the user cannot modify the value of the control.
29
+ * Same as [readonly](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly)
30
+ * attribute for `input` elements.
31
+ */
32
+ this.readonly = false;
33
+ this.getValue = (checked) => checked ? this.checkedValue : this.unCheckedValue;
34
+ /**
35
+ * Checks if it is necessary to prevent the click from bubbling
36
+ */
37
+ this.handleClick = (event) => {
38
+ if (this.readonly || this.disabled) {
39
+ return;
40
+ }
41
+ event.stopPropagation();
42
+ };
43
+ this.handleChange = (event) => {
44
+ event.stopPropagation();
45
+ const inputRef = event.target;
46
+ const checked = inputRef.checked;
47
+ const value = this.getValue(checked);
48
+ this.checked = checked;
49
+ this.value = value;
50
+ inputRef.value = value; // Update input's value before emitting the event
51
+ this.input.emit(event);
52
+ if (this.highlightable) {
53
+ this.click.emit();
54
+ }
55
+ };
56
+ }
57
+ valueChanged() {
58
+ this.checked = this.value === this.checkedValue;
59
+ }
60
+ componentWillLoad() {
61
+ this.checked = this.value === this.checkedValue;
62
+ }
63
+ render() {
64
+ var _a;
65
+ const additionalParts = PARTS(this.checked, this.indeterminate);
66
+ return (h(Host, { class: {
67
+ [DISABLED_CLASS]: this.disabled,
68
+ "ch-checkbox--actionable": (!this.readonly && !this.disabled) ||
69
+ (this.readonly && this.highlightable)
70
+ } }, h("div", { class: {
71
+ container: true,
72
+ "container--checked": this.checked
73
+ }, part: `container${additionalParts}` }, h("input", { "aria-label": ((_a = this.accessibleName) === null || _a === void 0 ? void 0 : _a.trim()) !== "" &&
74
+ this.accessibleName !== this.caption
75
+ ? this.accessibleName
76
+ : null, id: this.caption ? CHECKBOX_ID : null, class: "input", part: "input", type: "checkbox", checked: this.checked, disabled: this.disabled || this.readonly, indeterminate: this.indeterminate, value: this.value, onClick: this.handleClick, onInput: this.handleChange }), h("div", { class: {
77
+ option: true,
78
+ "option--checked": this.checked && !this.indeterminate,
79
+ "option--indeterminate": this.indeterminate
80
+ }, part: `option${additionalParts}`, "aria-hidden": "true" })), this.caption && (h("label", { class: "label", part: "label", htmlFor: CHECKBOX_ID, onClick: this.handleClick }, this.caption))));
81
+ }
82
+ get element() { return getElement(this); }
83
+ static get watchers() { return {
84
+ "value": ["valueChanged"]
85
+ }; }
86
+ };
87
+ CheckBox.style = checkboxCss;
88
+
89
+ export { CheckBox as ch_checkbox };