@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.
- package/dist/cjs/ch-checkbox.cjs.entry.js +93 -0
- package/dist/cjs/{ch-checkbox_3.cjs.entry.js → ch-tree-x_3.cjs.entry.js} +475 -87
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-container.cjs.entry.js +13 -5
- package/dist/cjs/gx-ide-file-selector.cjs.entry.js +47 -0
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +11 -9
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +343 -0
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +236 -0
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -9
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +148 -0
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-9523495a.js → helpers-b62ea39c.js} +12 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/common/helpers.js +11 -0
- package/dist/collection/components/_template/template.js +1 -1
- package/dist/collection/components/container/container.css +24 -16
- package/dist/collection/components/container/container.js +66 -22
- package/dist/collection/components/file-selector/file-selector.css +366 -0
- package/dist/collection/components/file-selector/file-selector.js +185 -0
- package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
- package/dist/collection/components/kb-manager-export/helpers.js +0 -1
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -2
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +12 -9
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
- package/dist/collection/components/kb-manager-import/helpers.js +128 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +233 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +415 -0
- package/dist/collection/components/list-selector/list-selector-item/list-selector-item.css +51 -14
- package/dist/collection/components/list-selector/list-selector-item/list-selector-item.js +160 -24
- package/dist/collection/components/list-selector/list-selector.css +6 -0
- package/dist/collection/components/list-selector/list-selector.js +234 -33
- package/dist/collection/components/new-kb/new-kb.css +13 -0
- package/dist/collection/components/new-kb/new-kb.js +7 -8
- package/dist/collection/components/references/references.js +2 -2
- package/dist/collection/components/status-buttons/gx-ide-status-buttons.css +93 -0
- package/dist/collection/components/status-buttons/gx-ide-status-buttons.js +325 -0
- package/dist/collection/components/team-dev-commit/team-dev-commit.js +1 -1
- package/dist/collection/components/team-dev-update/team-dev-update.js +1 -1
- package/dist/components/container.js +16 -6
- package/dist/components/form-text.js +1 -1
- package/dist/components/gx-ide-file-selector.d.ts +11 -0
- package/dist/components/gx-ide-file-selector.js +105 -0
- package/dist/components/gx-ide-kb-manager-export.js +13 -11
- package/dist/components/gx-ide-kb-manager-import.d.ts +11 -0
- package/dist/components/gx-ide-kb-manager-import.js +499 -0
- package/dist/components/gx-ide-list-selector-item.js +1 -102
- package/dist/components/gx-ide-list-selector.js +1 -73
- package/dist/components/gx-ide-new-kb.js +8 -9
- package/dist/components/gx-ide-references.js +2 -2
- package/dist/components/gx-ide-status-buttons.d.ts +11 -0
- package/dist/components/gx-ide-status-buttons.js +6 -0
- package/dist/components/gx-ide-status-buttons2.js +131 -0
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js +1 -1
- package/dist/components/gx-ide-template.js +1 -1
- package/dist/components/gxg-ide-loader.js +1 -111
- package/dist/components/helpers2.js +12 -1
- package/dist/{esm/gxg-ide-loader.entry.js → components/ide-loader.js} +46 -7
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/list-selector-item.js +158 -0
- package/dist/components/list-selector.js +146 -0
- package/dist/esm/ch-checkbox.entry.js +89 -0
- package/dist/esm/{ch-checkbox_3.entry.js → ch-tree-x_3.entry.js} +476 -88
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-container.entry.js +13 -5
- package/dist/esm/gx-ide-file-selector.entry.js +43 -0
- package/dist/esm/gx-ide-kb-manager-export.entry.js +11 -9
- package/dist/esm/gx-ide-kb-manager-import.entry.js +339 -0
- package/dist/esm/gx-ide-list-selector_2.entry.js +231 -0
- package/dist/esm/gx-ide-new-kb.entry.js +8 -9
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js +2 -2
- package/dist/esm/gx-ide-status-buttons_2.entry.js +143 -0
- package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/{helpers-b99024f5.js → helpers-c29a9591.js} +12 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/p-163a93a4.entry.js +1 -0
- package/dist/genexus-ide-ui/p-1ff3cf87.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2142874f.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2b7d4cca.entry.js +1 -0
- package/dist/genexus-ide-ui/p-481312bc.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8738b63b.entry.js +1 -0
- package/dist/genexus-ide-ui/p-9e530c7d.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-c63d5b08.js → p-9ee8b615.js} +1 -1
- package/dist/genexus-ide-ui/{p-cef1a182.entry.js → p-a3171fdf.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-ac3b8e90.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-750c726a.entry.js → p-b2ea372b.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-b685ffba.entry.js +1 -0
- package/dist/genexus-ide-ui/p-c7e11c6b.entry.js +1 -0
- package/dist/genexus-ide-ui/p-d04d634e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-462a8f83.entry.js → p-d8096d40.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-f83093aa.entry.js +1 -0
- package/dist/types/common/helpers.d.ts +2 -0
- package/dist/types/common/types.d.ts +16 -0
- package/dist/types/components/container/container.d.ts +12 -4
- package/dist/types/components/file-selector/file-selector.d.ts +38 -0
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +3 -2
- package/dist/types/components/kb-manager-import/helpers.d.ts +10 -0
- package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +110 -0
- package/dist/types/components/list-selector/list-selector-item/list-selector-item.d.ts +38 -7
- package/dist/types/components/list-selector/list-selector.d.ts +47 -8
- package/dist/types/components/status-buttons/gx-ide-status-buttons.d.ts +63 -0
- package/dist/types/components.d.ts +410 -28
- package/package.json +3 -3
- package/dist/cjs/gx-ide-list-selector-item.cjs.entry.js +0 -89
- package/dist/cjs/gx-ide-list-selector.cjs.entry.js +0 -51
- package/dist/cjs/gxg-ide-loader.cjs.entry.js +0 -78
- package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -481
- package/dist/esm/gx-ide-list-selector-item.entry.js +0 -85
- package/dist/esm/gx-ide-list-selector.entry.js +0 -47
- package/dist/esm/gxg-tree-view.entry.js +0 -477
- package/dist/genexus-ide-ui/p-00ee4c20.entry.js +0 -1
- package/dist/genexus-ide-ui/p-16d35368.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3e16a46a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-83f6db54.entry.js +0 -1
- package/dist/genexus-ide-ui/p-845f47ff.entry.js +0 -1
- package/dist/genexus-ide-ui/p-85164984.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a4b359b1.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a5833100.entry.js +0 -1
- package/dist/genexus-ide-ui/p-cddb793a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-dd676f91.entry.js +0 -1
- 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';
|
package/dist/components/index.js
CHANGED
|
@@ -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 };
|