@genexus/genexus-ide-ui 3.0.0 → 3.0.2
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/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-breadcrumb-item.cjs.entry.js +97 -0
- package/dist/cjs/gx-ide-breadcrumb-item.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-breadcrumb.cjs.entry.js +85 -0
- package/dist/cjs/gx-ide-breadcrumb.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -5
- package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.css +179 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +302 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.css +141 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +267 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/collection/components/breadcrumb/types.js +2 -0
- package/dist/collection/components/breadcrumb/types.js.map +1 -0
- package/dist/collection/components/ww-files/ww-files.js +1 -5
- package/dist/collection/components/ww-files/ww-files.js.map +1 -1
- package/dist/collection/testing/locale.e2e.js +6 -2
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/breadcrumb-item.js +120 -0
- package/dist/components/breadcrumb-item.js.map +1 -0
- package/dist/components/gx-ide-breadcrumb-item.d.ts +11 -0
- package/dist/components/gx-ide-breadcrumb-item.js +8 -0
- package/dist/components/gx-ide-breadcrumb-item.js.map +1 -0
- package/dist/components/gx-ide-breadcrumb.d.ts +11 -0
- package/dist/components/gx-ide-breadcrumb.js +113 -0
- package/dist/components/gx-ide-breadcrumb.js.map +1 -0
- package/dist/components/gx-ide-ww-files.js +1 -5
- package/dist/components/gx-ide-ww-files.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-breadcrumb-item.entry.js +93 -0
- package/dist/esm/gx-ide-breadcrumb-item.entry.js.map +1 -0
- package/dist/esm/gx-ide-breadcrumb.entry.js +81 -0
- package/dist/esm/gx-ide-breadcrumb.entry.js.map +1 -0
- package/dist/esm/gx-ide-ww-files.entry.js +1 -5
- package/dist/esm/gx-ide-ww-files.entry.js.map +1 -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/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/{p-60db2f02.entry.js → p-50dae653.entry.js} +154 -154
- package/dist/genexus-ide-ui/p-50dae653.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-7452f3e9.entry.js +105 -0
- package/dist/genexus-ide-ui/p-7452f3e9.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-be7a6b7f.entry.js +145 -0
- package/dist/genexus-ide-ui/p-be7a6b7f.entry.js.map +1 -0
- package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +49 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +44 -0
- package/dist/types/components/breadcrumb/types.d.ts +48 -0
- package/dist/types/components.d.ts +196 -0
- package/package.json +2 -1
- package/dist/genexus-ide-ui/p-60db2f02.entry.js.map +0 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/* - - - - - - - - - - - - - - - - -
|
|
2
|
+
New classes for Chameleon + Mercury
|
|
3
|
+
- - - - - - - - - - - - - - - - - */
|
|
4
|
+
:host {
|
|
5
|
+
display: grid;
|
|
6
|
+
block-size: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.opacity-0 {
|
|
10
|
+
opacity: 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.gxi-hidden {
|
|
14
|
+
display: none !important;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.align-center {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.align-end {
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: end;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.overflow-auto {
|
|
28
|
+
overflow: auto;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/
|
|
32
|
+
:host(.gx-ide-component) {
|
|
33
|
+
height: 100% !important;
|
|
34
|
+
display: flex !important;
|
|
35
|
+
flex-direction: column !important;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */
|
|
39
|
+
.gx-ide-main-wrapper {
|
|
40
|
+
color: var(--gx-ide-component-text-color);
|
|
41
|
+
font-weight: var(--font-style-regular);
|
|
42
|
+
font-size: var(--font-size-body-m);
|
|
43
|
+
font-family: var(--font-family-body);
|
|
44
|
+
height: 100%;
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
flex-grow: 1;
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
52
|
+
New : For Mercury
|
|
53
|
+
- - - - - - - - - - - - - - - - - - */
|
|
54
|
+
.buttons-container {
|
|
55
|
+
display: flex;
|
|
56
|
+
gap: var(--spacing-gap-m);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
60
|
+
Pill
|
|
61
|
+
- - - - - - - - - - - - - - - - - - */
|
|
62
|
+
.giu-static-pill-icon-and-text, .giu-static-pill {
|
|
63
|
+
background-color: var(--elevation-background-color, var(--color-accent-surface-elevation-1));
|
|
64
|
+
padding-inline: var(--spacing-padding-m);
|
|
65
|
+
color: var(--color-text-neutral-default);
|
|
66
|
+
font-size: var(--font-size-body-s);
|
|
67
|
+
line-height: var(--line-height-relaxed);
|
|
68
|
+
font-weight: var(--font-style-regular);
|
|
69
|
+
border-radius: 4px;
|
|
70
|
+
min-block-size: 25px;
|
|
71
|
+
display: inline-grid;
|
|
72
|
+
align-items: center;
|
|
73
|
+
pointer-events: none;
|
|
74
|
+
inline-size: max-content;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.giu-static-pill-icon-and-text {
|
|
78
|
+
display: inline-grid;
|
|
79
|
+
grid-auto-flow: column;
|
|
80
|
+
grid-auto-columns: max-content;
|
|
81
|
+
gap: var(--spacing-gap-m);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
85
|
+
Tab
|
|
86
|
+
- - - - - - - - - - - - - - - - - - */
|
|
87
|
+
.tab-full-width-buttons::part(tab-list block-start),
|
|
88
|
+
.tab-full-width-buttons::part(tab-list block-end) {
|
|
89
|
+
grid-auto-columns: 1fr;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.tab-full-width-buttons::part(tab block-start) {
|
|
93
|
+
justify-content: center;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
97
|
+
Tree
|
|
98
|
+
- - - - - - - - - - - - - - - - - - */
|
|
99
|
+
/* Now the tree-view warning icon, looks gray on disabled items. This is a workaround to change the color to the enabled color, until this is resolved on Mercury. The solution might be to add a colorType for warning, error or success, that is static, meanning, it looks alwaws as "enabled", even if it is disabled. */
|
|
100
|
+
.tree-view::part(item__header) {
|
|
101
|
+
--icon__system_warning_warning--disabled: var(
|
|
102
|
+
--icon__system_warning_warning--enabled
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
107
|
+
Tabular Grid
|
|
108
|
+
- - - - - - - - - - - - - - - - - - */
|
|
109
|
+
.tabular-grid {
|
|
110
|
+
--focus-outline-width: 1px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
:host {
|
|
114
|
+
display: inline-grid;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.item-content {
|
|
118
|
+
display: inline-flex;
|
|
119
|
+
align-items: center;
|
|
120
|
+
gap: var(--spacing-gap-xs);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.action {
|
|
124
|
+
display: inline-flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
gap: var(--spacing-gap-xs);
|
|
127
|
+
padding-block: var(--spacing-padding-xxs);
|
|
128
|
+
padding-inline: var(--spacing-padding-xs);
|
|
129
|
+
border: none;
|
|
130
|
+
border-radius: 4px;
|
|
131
|
+
background: transparent;
|
|
132
|
+
text-decoration: none;
|
|
133
|
+
cursor: pointer;
|
|
134
|
+
font: inherit;
|
|
135
|
+
/* Color for button only; links use Mercury .link-primary */
|
|
136
|
+
}
|
|
137
|
+
.action:not(a) {
|
|
138
|
+
color: var(--color-text-interactive-default);
|
|
139
|
+
}
|
|
140
|
+
.action:hover:not(.disabled) {
|
|
141
|
+
background-color: var(--color-accent-surface-elevation-1-hover);
|
|
142
|
+
}
|
|
143
|
+
.action:not(a):hover:not(.disabled) {
|
|
144
|
+
color: var(--color-text-interactive-hover);
|
|
145
|
+
}
|
|
146
|
+
.action:focus-visible {
|
|
147
|
+
outline: 2px solid var(--color-border-focus-default);
|
|
148
|
+
outline-offset: -2px;
|
|
149
|
+
}
|
|
150
|
+
.action.disabled {
|
|
151
|
+
color: var(--color-text-neutral-disabled);
|
|
152
|
+
cursor: not-allowed;
|
|
153
|
+
}
|
|
154
|
+
.action.selected {
|
|
155
|
+
color: var(--color-text-primary-default);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.caption {
|
|
159
|
+
white-space: nowrap;
|
|
160
|
+
overflow: hidden;
|
|
161
|
+
text-overflow: ellipsis;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.item__img {
|
|
165
|
+
flex-shrink: 0;
|
|
166
|
+
background-size: contain;
|
|
167
|
+
background-repeat: no-repeat;
|
|
168
|
+
background-position: center;
|
|
169
|
+
}
|
|
170
|
+
.item__img:not(.item__img-icon) {
|
|
171
|
+
inline-size: var(--icon-s);
|
|
172
|
+
block-size: var(--icon-s);
|
|
173
|
+
}
|
|
174
|
+
.item__img--mask {
|
|
175
|
+
background-color: currentColor;
|
|
176
|
+
background-size: contain;
|
|
177
|
+
background-repeat: no-repeat;
|
|
178
|
+
background-position: center;
|
|
179
|
+
}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f)
|
|
3
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
5
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
6
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
7
|
+
};
|
|
8
|
+
var _GxIdeBreadcrumbItem_resolveImageSrc, _GxIdeBreadcrumbItem_getCaption, _GxIdeBreadcrumbItem_getAccessibleName, _GxIdeBreadcrumbItem_renderStartImage;
|
|
9
|
+
import { Host, h } from "@stencil/core";
|
|
10
|
+
export class GxIdeBreadcrumbItem {
|
|
11
|
+
constructor() {
|
|
12
|
+
_GxIdeBreadcrumbItem_resolveImageSrc.set(this, () => {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
if (this.getImagePathCallback) {
|
|
15
|
+
const result = this.getImagePathCallback(this.model);
|
|
16
|
+
if (result === null || result === void 0 ? void 0 : result.base)
|
|
17
|
+
return result.base;
|
|
18
|
+
}
|
|
19
|
+
return (_a = this.startImgSrc) !== null && _a !== void 0 ? _a : (_b = this.model) === null || _b === void 0 ? void 0 : _b.startImgSrc;
|
|
20
|
+
});
|
|
21
|
+
_GxIdeBreadcrumbItem_getCaption.set(this, () => { var _a, _b, _c; return (_c = (_a = this.caption) !== null && _a !== void 0 ? _a : (_b = this.model) === null || _b === void 0 ? void 0 : _b.caption) !== null && _c !== void 0 ? _c : ""; });
|
|
22
|
+
_GxIdeBreadcrumbItem_getAccessibleName.set(this, () => {
|
|
23
|
+
var _a, _b, _c, _d;
|
|
24
|
+
return (_d = (_c = (_a = this.accessibleName) !== null && _a !== void 0 ? _a : (_b = this.model) === null || _b === void 0 ? void 0 : _b.accessibleName) !== null && _c !== void 0 ? _c : __classPrivateFieldGet(this, _GxIdeBreadcrumbItem_getCaption, "f").call(this)) !== null && _d !== void 0 ? _d : "";
|
|
25
|
+
});
|
|
26
|
+
_GxIdeBreadcrumbItem_renderStartImage.set(this, () => {
|
|
27
|
+
var _a, _b;
|
|
28
|
+
const src = __classPrivateFieldGet(this, _GxIdeBreadcrumbItem_resolveImageSrc, "f").call(this);
|
|
29
|
+
if (!src)
|
|
30
|
+
return undefined;
|
|
31
|
+
const type = (_a = this.startImgType) !== null && _a !== void 0 ? _a : (_b = this.model) === null || _b === void 0 ? void 0 : _b.startImgType;
|
|
32
|
+
const isUrl = src.trim().toLowerCase().startsWith("url(");
|
|
33
|
+
if (isUrl && (type === "background" || type === "mask")) {
|
|
34
|
+
return (h("span", { class: {
|
|
35
|
+
"item__img": true,
|
|
36
|
+
"item__img--background": type === "background",
|
|
37
|
+
"item__img--mask": type === "mask"
|
|
38
|
+
}, style: type === "background"
|
|
39
|
+
? { backgroundImage: src }
|
|
40
|
+
: { maskImage: src, WebkitMaskImage: src }, "aria-hidden": "true" }));
|
|
41
|
+
}
|
|
42
|
+
return (h("ch-image", { class: "item__img item__img-icon icon-m", src: src, "aria-hidden": "true" }));
|
|
43
|
+
});
|
|
44
|
+
this.model = undefined;
|
|
45
|
+
this.caption = undefined;
|
|
46
|
+
this.accessibleName = undefined;
|
|
47
|
+
this.disabled = undefined;
|
|
48
|
+
this.link = undefined;
|
|
49
|
+
this.selected = false;
|
|
50
|
+
this.selectedLinkIndicator = false;
|
|
51
|
+
this.startImgSrc = undefined;
|
|
52
|
+
this.startImgType = undefined;
|
|
53
|
+
this.getImagePathCallback = undefined;
|
|
54
|
+
this.itemId = undefined;
|
|
55
|
+
}
|
|
56
|
+
render() {
|
|
57
|
+
var _a, _b, _c, _d, _e;
|
|
58
|
+
const caption = __classPrivateFieldGet(this, _GxIdeBreadcrumbItem_getCaption, "f").call(this);
|
|
59
|
+
const ariaLabel = __classPrivateFieldGet(this, _GxIdeBreadcrumbItem_getAccessibleName, "f").call(this);
|
|
60
|
+
const isDisabled = (_c = (_a = this.disabled) !== null && _a !== void 0 ? _a : (_b = this.model) === null || _b === void 0 ? void 0 : _b.disabled) !== null && _c !== void 0 ? _c : false;
|
|
61
|
+
const hasLink = ((_d = this.link) === null || _d === void 0 ? void 0 : _d.url) !== undefined && ((_e = this.link) === null || _e === void 0 ? void 0 : _e.url) !== "";
|
|
62
|
+
const imgContent = __classPrivateFieldGet(this, _GxIdeBreadcrumbItem_renderStartImage, "f").call(this);
|
|
63
|
+
const captionClass = {
|
|
64
|
+
"caption": true,
|
|
65
|
+
"body-regular-s": !this.selected || !this.selectedLinkIndicator,
|
|
66
|
+
"body-semi-bold-s": this.selected && this.selectedLinkIndicator
|
|
67
|
+
};
|
|
68
|
+
const content = (h("span", { class: "item-content" }, imgContent, caption ? (h("span", { class: captionClass, part: "item-caption" }, caption)) : null));
|
|
69
|
+
const actionClass = {
|
|
70
|
+
"action": true,
|
|
71
|
+
"disabled": isDisabled,
|
|
72
|
+
"selected": this.selected && this.selectedLinkIndicator,
|
|
73
|
+
"not-selected": !this.selected
|
|
74
|
+
};
|
|
75
|
+
if (hasLink && !isDisabled) {
|
|
76
|
+
return (h(Host, { role: "listitem", "data-item-id": this.itemId, "data-has-link": "true", part: "item-action item-link" }, h("a", { class: Object.assign(Object.assign({}, actionClass), { "link-primary": true }), href: this.link.url, "aria-current": this.selected ? "page" : undefined, "aria-label": ariaLabel || undefined, part: "item-link" }, content)));
|
|
77
|
+
}
|
|
78
|
+
if (hasLink && isDisabled) {
|
|
79
|
+
return (h(Host, { role: "listitem", "data-item-id": this.itemId, "data-has-link": "true", part: "item-action disabled" }, h("span", { class: actionClass, "aria-disabled": "true", "aria-label": ariaLabel || undefined, part: "item-link disabled" }, content)));
|
|
80
|
+
}
|
|
81
|
+
return (h(Host, { role: "listitem", "data-item-id": this.itemId, "data-has-link": "false", part: "item-action item-button" }, h("button", { type: "button", class: actionClass, disabled: isDisabled, "aria-label": ariaLabel || undefined, part: "item-button" }, content)));
|
|
82
|
+
}
|
|
83
|
+
static get is() { return "gx-ide-breadcrumb-item"; }
|
|
84
|
+
static get encapsulation() { return "shadow"; }
|
|
85
|
+
static get originalStyleUrls() {
|
|
86
|
+
return {
|
|
87
|
+
"$": ["breadcrumb-item.scss"]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
static get styleUrls() {
|
|
91
|
+
return {
|
|
92
|
+
"$": ["breadcrumb-item.css"]
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
static get properties() {
|
|
96
|
+
return {
|
|
97
|
+
"model": {
|
|
98
|
+
"type": "unknown",
|
|
99
|
+
"mutable": false,
|
|
100
|
+
"complexType": {
|
|
101
|
+
"original": "BreadcrumbItemModel",
|
|
102
|
+
"resolved": "BreadcrumbItemModel",
|
|
103
|
+
"references": {
|
|
104
|
+
"BreadcrumbItemModel": {
|
|
105
|
+
"location": "import",
|
|
106
|
+
"path": "../types",
|
|
107
|
+
"id": "src/components/breadcrumb/types.ts::BreadcrumbItemModel"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"required": true,
|
|
112
|
+
"optional": false,
|
|
113
|
+
"docs": {
|
|
114
|
+
"tags": [],
|
|
115
|
+
"text": "Model of the item (used for image resolution and data)."
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"caption": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"mutable": false,
|
|
121
|
+
"complexType": {
|
|
122
|
+
"original": "string",
|
|
123
|
+
"resolved": "string",
|
|
124
|
+
"references": {}
|
|
125
|
+
},
|
|
126
|
+
"required": false,
|
|
127
|
+
"optional": true,
|
|
128
|
+
"docs": {
|
|
129
|
+
"tags": [],
|
|
130
|
+
"text": "Visible text. Falls back to model.caption when not set."
|
|
131
|
+
},
|
|
132
|
+
"attribute": "caption",
|
|
133
|
+
"reflect": false
|
|
134
|
+
},
|
|
135
|
+
"accessibleName": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"mutable": false,
|
|
138
|
+
"complexType": {
|
|
139
|
+
"original": "string",
|
|
140
|
+
"resolved": "string",
|
|
141
|
+
"references": {}
|
|
142
|
+
},
|
|
143
|
+
"required": false,
|
|
144
|
+
"optional": true,
|
|
145
|
+
"docs": {
|
|
146
|
+
"tags": [],
|
|
147
|
+
"text": "aria-label for the item. Falls back to accessibleName or caption when not set."
|
|
148
|
+
},
|
|
149
|
+
"attribute": "accessible-name",
|
|
150
|
+
"reflect": false
|
|
151
|
+
},
|
|
152
|
+
"disabled": {
|
|
153
|
+
"type": "boolean",
|
|
154
|
+
"mutable": false,
|
|
155
|
+
"complexType": {
|
|
156
|
+
"original": "boolean",
|
|
157
|
+
"resolved": "boolean",
|
|
158
|
+
"references": {}
|
|
159
|
+
},
|
|
160
|
+
"required": false,
|
|
161
|
+
"optional": true,
|
|
162
|
+
"docs": {
|
|
163
|
+
"tags": [],
|
|
164
|
+
"text": "Whether the item is disabled."
|
|
165
|
+
},
|
|
166
|
+
"attribute": "disabled",
|
|
167
|
+
"reflect": false
|
|
168
|
+
},
|
|
169
|
+
"link": {
|
|
170
|
+
"type": "unknown",
|
|
171
|
+
"mutable": false,
|
|
172
|
+
"complexType": {
|
|
173
|
+
"original": "ItemLink",
|
|
174
|
+
"resolved": "ItemLink",
|
|
175
|
+
"references": {
|
|
176
|
+
"ItemLink": {
|
|
177
|
+
"location": "import",
|
|
178
|
+
"path": "../types",
|
|
179
|
+
"id": "src/components/breadcrumb/types.ts::ItemLink"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"required": false,
|
|
184
|
+
"optional": true,
|
|
185
|
+
"docs": {
|
|
186
|
+
"tags": [],
|
|
187
|
+
"text": "When set, the item renders as an anchor; otherwise as a button."
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
"selected": {
|
|
191
|
+
"type": "boolean",
|
|
192
|
+
"mutable": false,
|
|
193
|
+
"complexType": {
|
|
194
|
+
"original": "boolean",
|
|
195
|
+
"resolved": "boolean",
|
|
196
|
+
"references": {}
|
|
197
|
+
},
|
|
198
|
+
"required": false,
|
|
199
|
+
"optional": false,
|
|
200
|
+
"docs": {
|
|
201
|
+
"tags": [],
|
|
202
|
+
"text": "Whether this item is the current page (selected)."
|
|
203
|
+
},
|
|
204
|
+
"attribute": "selected",
|
|
205
|
+
"reflect": false,
|
|
206
|
+
"defaultValue": "false"
|
|
207
|
+
},
|
|
208
|
+
"selectedLinkIndicator": {
|
|
209
|
+
"type": "boolean",
|
|
210
|
+
"mutable": false,
|
|
211
|
+
"complexType": {
|
|
212
|
+
"original": "boolean",
|
|
213
|
+
"resolved": "boolean",
|
|
214
|
+
"references": {}
|
|
215
|
+
},
|
|
216
|
+
"required": false,
|
|
217
|
+
"optional": false,
|
|
218
|
+
"docs": {
|
|
219
|
+
"tags": [],
|
|
220
|
+
"text": "Whether to show visual indicator when selected is true."
|
|
221
|
+
},
|
|
222
|
+
"attribute": "selected-link-indicator",
|
|
223
|
+
"reflect": false,
|
|
224
|
+
"defaultValue": "false"
|
|
225
|
+
},
|
|
226
|
+
"startImgSrc": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"mutable": false,
|
|
229
|
+
"complexType": {
|
|
230
|
+
"original": "string",
|
|
231
|
+
"resolved": "string",
|
|
232
|
+
"references": {}
|
|
233
|
+
},
|
|
234
|
+
"required": false,
|
|
235
|
+
"optional": true,
|
|
236
|
+
"docs": {
|
|
237
|
+
"tags": [],
|
|
238
|
+
"text": "Image source (URL or CSS url())."
|
|
239
|
+
},
|
|
240
|
+
"attribute": "start-img-src",
|
|
241
|
+
"reflect": false
|
|
242
|
+
},
|
|
243
|
+
"startImgType": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"mutable": false,
|
|
246
|
+
"complexType": {
|
|
247
|
+
"original": "\"background\" | \"mask\"",
|
|
248
|
+
"resolved": "\"background\" | \"mask\"",
|
|
249
|
+
"references": {}
|
|
250
|
+
},
|
|
251
|
+
"required": false,
|
|
252
|
+
"optional": true,
|
|
253
|
+
"docs": {
|
|
254
|
+
"tags": [],
|
|
255
|
+
"text": "How to render the start image: \"background\" or \"mask\"."
|
|
256
|
+
},
|
|
257
|
+
"attribute": "start-img-type",
|
|
258
|
+
"reflect": false
|
|
259
|
+
},
|
|
260
|
+
"getImagePathCallback": {
|
|
261
|
+
"type": "unknown",
|
|
262
|
+
"mutable": false,
|
|
263
|
+
"complexType": {
|
|
264
|
+
"original": "GetImagePathCallback",
|
|
265
|
+
"resolved": "(item: BreadcrumbItemModel) => GxImageMultiState",
|
|
266
|
+
"references": {
|
|
267
|
+
"GetImagePathCallback": {
|
|
268
|
+
"location": "import",
|
|
269
|
+
"path": "../types",
|
|
270
|
+
"id": "src/components/breadcrumb/types.ts::GetImagePathCallback"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"required": false,
|
|
275
|
+
"optional": true,
|
|
276
|
+
"docs": {
|
|
277
|
+
"tags": [],
|
|
278
|
+
"text": "Optional callback to resolve image path for this item."
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"itemId": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"mutable": false,
|
|
284
|
+
"complexType": {
|
|
285
|
+
"original": "string",
|
|
286
|
+
"resolved": "string",
|
|
287
|
+
"references": {}
|
|
288
|
+
},
|
|
289
|
+
"required": true,
|
|
290
|
+
"optional": false,
|
|
291
|
+
"docs": {
|
|
292
|
+
"tags": [],
|
|
293
|
+
"text": "Item id used by the container for click delegation (data-item-id)."
|
|
294
|
+
},
|
|
295
|
+
"attribute": "item-id",
|
|
296
|
+
"reflect": false
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
_GxIdeBreadcrumbItem_resolveImageSrc = new WeakMap(), _GxIdeBreadcrumbItem_getCaption = new WeakMap(), _GxIdeBreadcrumbItem_getAccessibleName = new WeakMap(), _GxIdeBreadcrumbItem_renderStartImage = new WeakMap();
|
|
302
|
+
//# sourceMappingURL=breadcrumb-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-item.js","sourceRoot":"","sources":["../../../../src/components/breadcrumb/breadcrumb-item/breadcrumb-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h } from \"@stencil/core\";\nimport type {\n BreadcrumbItemModel,\n ItemLink,\n GetImagePathCallback\n} from \"../types\";\n\n@Component({\n tag: \"gx-ide-breadcrumb-item\",\n styleUrl: \"breadcrumb-item.scss\",\n shadow: true\n})\nexport class GxIdeBreadcrumbItem {\n /**\n * Model of the item (used for image resolution and data).\n */\n @Prop() readonly model!: BreadcrumbItemModel;\n\n /**\n * Visible text. Falls back to model.caption when not set.\n */\n @Prop() readonly caption?: string;\n\n /**\n * aria-label for the item. Falls back to accessibleName or caption when not set.\n */\n @Prop() readonly accessibleName?: string;\n\n /**\n * Whether the item is disabled.\n */\n @Prop() readonly disabled?: boolean;\n\n /**\n * When set, the item renders as an anchor; otherwise as a button.\n */\n @Prop() readonly link?: ItemLink;\n\n /**\n * Whether this item is the current page (selected).\n */\n @Prop() readonly selected: boolean = false;\n\n /**\n * Whether to show visual indicator when selected is true.\n */\n @Prop() readonly selectedLinkIndicator: boolean = false;\n\n /**\n * Image source (URL or CSS url()).\n */\n @Prop() readonly startImgSrc?: string;\n\n /**\n * How to render the start image: \"background\" or \"mask\".\n */\n @Prop() readonly startImgType?: \"background\" | \"mask\";\n\n /**\n * Optional callback to resolve image path for this item.\n */\n @Prop() readonly getImagePathCallback?: GetImagePathCallback;\n\n /**\n * Item id used by the container for click delegation (data-item-id).\n */\n @Prop() readonly itemId!: string;\n\n #resolveImageSrc = (): string | undefined => {\n if (this.getImagePathCallback) {\n const result = this.getImagePathCallback(this.model);\n if (result?.base) return result.base;\n }\n return this.startImgSrc ?? this.model?.startImgSrc;\n };\n\n #getCaption = (): string => this.caption ?? this.model?.caption ?? \"\";\n\n #getAccessibleName = (): string =>\n this.accessibleName ??\n this.model?.accessibleName ??\n this.#getCaption() ??\n \"\";\n\n #renderStartImage = (): ReturnType<typeof h> | string | undefined => {\n const src = this.#resolveImageSrc();\n if (!src) return undefined;\n\n const type = this.startImgType ?? this.model?.startImgType;\n const isUrl = src.trim().toLowerCase().startsWith(\"url(\");\n\n if (isUrl && (type === \"background\" || type === \"mask\")) {\n return (\n <span\n class={{\n \"item__img\": true,\n \"item__img--background\": type === \"background\",\n \"item__img--mask\": type === \"mask\"\n }}\n style={\n type === \"background\"\n ? { backgroundImage: src }\n : { maskImage: src, WebkitMaskImage: src }\n }\n aria-hidden=\"true\"\n />\n );\n }\n\n return (\n <ch-image\n class=\"item__img item__img-icon icon-m\"\n src={src}\n aria-hidden=\"true\"\n />\n );\n };\n\n render() {\n const caption = this.#getCaption();\n const ariaLabel = this.#getAccessibleName();\n const isDisabled = this.disabled ?? this.model?.disabled ?? false;\n const hasLink = this.link?.url !== undefined && this.link?.url !== \"\";\n const imgContent = this.#renderStartImage();\n\n const captionClass = {\n \"caption\": true,\n \"body-regular-s\": !this.selected || !this.selectedLinkIndicator,\n \"body-semi-bold-s\": this.selected && this.selectedLinkIndicator\n };\n const content = (\n <span class=\"item-content\">\n {imgContent}\n {caption ? (\n <span class={captionClass} part=\"item-caption\">\n {caption}\n </span>\n ) : null}\n </span>\n );\n\n const actionClass = {\n \"action\": true,\n \"disabled\": isDisabled,\n \"selected\": this.selected && this.selectedLinkIndicator,\n \"not-selected\": !this.selected\n };\n\n if (hasLink && !isDisabled) {\n return (\n <Host\n role=\"listitem\"\n data-item-id={this.itemId}\n data-has-link=\"true\"\n part=\"item-action item-link\"\n >\n <a\n class={{ ...actionClass, \"link-primary\": true }}\n href={this.link!.url}\n aria-current={this.selected ? \"page\" : undefined}\n aria-label={ariaLabel || undefined}\n part=\"item-link\"\n >\n {content}\n </a>\n </Host>\n );\n }\n\n if (hasLink && isDisabled) {\n return (\n <Host\n role=\"listitem\"\n data-item-id={this.itemId}\n data-has-link=\"true\"\n part=\"item-action disabled\"\n >\n <span\n class={actionClass}\n aria-disabled=\"true\"\n aria-label={ariaLabel || undefined}\n part=\"item-link disabled\"\n >\n {content}\n </span>\n </Host>\n );\n }\n\n return (\n <Host\n role=\"listitem\"\n data-item-id={this.itemId}\n data-has-link=\"false\"\n part=\"item-action item-button\"\n >\n <button\n type=\"button\"\n class={actionClass}\n disabled={isDisabled}\n aria-label={ariaLabel || undefined}\n part=\"item-button\"\n >\n {content}\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/* - - - - - - - - - - - - - - - - -
|
|
2
|
+
New classes for Chameleon + Mercury
|
|
3
|
+
- - - - - - - - - - - - - - - - - */
|
|
4
|
+
:host {
|
|
5
|
+
display: grid;
|
|
6
|
+
block-size: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.opacity-0 {
|
|
10
|
+
opacity: 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.gxi-hidden {
|
|
14
|
+
display: none !important;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.align-center {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.align-end {
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: end;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.overflow-auto {
|
|
28
|
+
overflow: auto;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/
|
|
32
|
+
:host(.gx-ide-component) {
|
|
33
|
+
height: 100% !important;
|
|
34
|
+
display: flex !important;
|
|
35
|
+
flex-direction: column !important;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */
|
|
39
|
+
.gx-ide-main-wrapper {
|
|
40
|
+
color: var(--gx-ide-component-text-color);
|
|
41
|
+
font-weight: var(--font-style-regular);
|
|
42
|
+
font-size: var(--font-size-body-m);
|
|
43
|
+
font-family: var(--font-family-body);
|
|
44
|
+
height: 100%;
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
flex-grow: 1;
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
52
|
+
New : For Mercury
|
|
53
|
+
- - - - - - - - - - - - - - - - - - */
|
|
54
|
+
.buttons-container {
|
|
55
|
+
display: flex;
|
|
56
|
+
gap: var(--spacing-gap-m);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
60
|
+
Pill
|
|
61
|
+
- - - - - - - - - - - - - - - - - - */
|
|
62
|
+
.giu-static-pill-icon-and-text, .giu-static-pill {
|
|
63
|
+
background-color: var(--elevation-background-color, var(--color-accent-surface-elevation-1));
|
|
64
|
+
padding-inline: var(--spacing-padding-m);
|
|
65
|
+
color: var(--color-text-neutral-default);
|
|
66
|
+
font-size: var(--font-size-body-s);
|
|
67
|
+
line-height: var(--line-height-relaxed);
|
|
68
|
+
font-weight: var(--font-style-regular);
|
|
69
|
+
border-radius: 4px;
|
|
70
|
+
min-block-size: 25px;
|
|
71
|
+
display: inline-grid;
|
|
72
|
+
align-items: center;
|
|
73
|
+
pointer-events: none;
|
|
74
|
+
inline-size: max-content;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.giu-static-pill-icon-and-text {
|
|
78
|
+
display: inline-grid;
|
|
79
|
+
grid-auto-flow: column;
|
|
80
|
+
grid-auto-columns: max-content;
|
|
81
|
+
gap: var(--spacing-gap-m);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
85
|
+
Tab
|
|
86
|
+
- - - - - - - - - - - - - - - - - - */
|
|
87
|
+
.tab-full-width-buttons::part(tab-list block-start),
|
|
88
|
+
.tab-full-width-buttons::part(tab-list block-end) {
|
|
89
|
+
grid-auto-columns: 1fr;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.tab-full-width-buttons::part(tab block-start) {
|
|
93
|
+
justify-content: center;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
97
|
+
Tree
|
|
98
|
+
- - - - - - - - - - - - - - - - - - */
|
|
99
|
+
/* Now the tree-view warning icon, looks gray on disabled items. This is a workaround to change the color to the enabled color, until this is resolved on Mercury. The solution might be to add a colorType for warning, error or success, that is static, meanning, it looks alwaws as "enabled", even if it is disabled. */
|
|
100
|
+
.tree-view::part(item__header) {
|
|
101
|
+
--icon__system_warning_warning--disabled: var(
|
|
102
|
+
--icon__system_warning_warning--enabled
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* - - - - - - - - - - - - - - - - - -
|
|
107
|
+
Tabular Grid
|
|
108
|
+
- - - - - - - - - - - - - - - - - - */
|
|
109
|
+
.tabular-grid {
|
|
110
|
+
--focus-outline-width: 1px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
:host(.breadcrumb) {
|
|
114
|
+
display: flex;
|
|
115
|
+
flex-wrap: wrap;
|
|
116
|
+
align-items: center;
|
|
117
|
+
gap: var(--spacing-gap-xs);
|
|
118
|
+
margin: 0;
|
|
119
|
+
padding-block: var(--spacing-padding-xs);
|
|
120
|
+
padding-inline: 0;
|
|
121
|
+
list-style: none;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.list {
|
|
125
|
+
display: contents;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.list-item {
|
|
129
|
+
display: inline-flex;
|
|
130
|
+
align-items: center;
|
|
131
|
+
gap: var(--spacing-gap-xs);
|
|
132
|
+
list-style: none;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.separator {
|
|
136
|
+
color: var(--color-text-neutral-subtle);
|
|
137
|
+
padding-inline: var(--spacing-padding-xs);
|
|
138
|
+
user-select: none;
|
|
139
|
+
pointer-events: none;
|
|
140
|
+
opacity: 0.85;
|
|
141
|
+
}
|