@genexus/genexus-ide-ui 0.0.47 → 0.0.48
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-icon.cjs.entry.js +116 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +61 -0
- package/dist/cjs/{gxg-button.cjs.entry.js → gxg-button_2.cjs.entry.js} +61 -0
- package/dist/cjs/gxg-form-text.cjs.entry.js +51 -4
- package/dist/cjs/gxg-ide-loader.cjs.entry.js +79 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +12 -0
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +3 -0
- package/dist/collection/components/share-kb/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +3 -0
- package/dist/collection/components/share-kb/share-kb.css +183 -0
- package/dist/collection/components/share-kb/share-kb.js +157 -0
- package/dist/components/form-text.js +55 -4
- package/dist/components/gx-ide-share-kb.d.ts +11 -0
- package/dist/components/gx-ide-share-kb.js +152 -0
- package/dist/components/gxg-ide-loader.js +117 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +2 -0
- package/dist/esm/ch-icon.entry.js +112 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +57 -0
- package/dist/esm/{gxg-button.entry.js → gxg-button_2.entry.js} +62 -2
- package/dist/esm/gxg-form-text.entry.js +51 -4
- package/dist/esm/gxg-ide-loader.entry.js +75 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.en.json +12 -0
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/share-kb/langs/share-kb.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/p-510330c9.entry.js +1 -0
- package/dist/genexus-ide-ui/p-5ad757f4.entry.js +1 -0
- package/dist/genexus-ide-ui/p-6e232a6f.entry.js +1 -0
- package/dist/genexus-ide-ui/p-9943e7db.entry.js +1 -0
- package/dist/genexus-ide-ui/p-d8d00971.entry.js +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +8 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +89 -0
- package/dist/types/common/types.d.ts +1 -0
- package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +2 -3
- package/dist/types/components/share-kb/share-kb.d.ts +46 -0
- package/dist/types/components.d.ts +54 -0
- package/package.json +3 -3
- package/dist/cjs/ch-icon_2.cjs.entry.js +0 -177
- package/dist/esm/ch-icon_2.entry.js +0 -172
- package/dist/genexus-ide-ui/p-54d15f4d.entry.js +0 -1
- package/dist/genexus-ide-ui/p-98c6b820.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a708db45.entry.js +0 -1
package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
:host(.gxg--disabled) .form-element,
|
|
2
|
+
:host(.gxg--disabled.form-element) {
|
|
3
|
+
pointer-events: none;
|
|
4
|
+
background-color: var(--gxg-background-color--disabled) !important;
|
|
5
|
+
color: var(--gxg-color--disabled) !important;
|
|
6
|
+
border-color: var(--gxg-border-color--disabled) !important;
|
|
7
|
+
cursor: default !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
display: block;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
ch-window::part(mask) {
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
ch-window::part(main) {
|
|
19
|
+
height: 100%;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
ch-window::part(window) {
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.loader-wrapper {
|
|
28
|
+
opacity: 0;
|
|
29
|
+
transition: var(--show-transition) opacity;
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: 100%;
|
|
32
|
+
display: flex;
|
|
33
|
+
background-color: rgba(var(--color-background--rgb), 0.45);
|
|
34
|
+
backdrop-filter: blur(15px);
|
|
35
|
+
padding: var(--spacing-comp-05);
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
gap: var(--spacing-comp-04);
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
-webkit-animation: wrapper 0.6s infinite alternate;
|
|
42
|
+
animation: wrapper 0.6s infinite alternate;
|
|
43
|
+
color: var(--color-on-secondary);
|
|
44
|
+
}
|
|
45
|
+
.loader-wrapper--visible {
|
|
46
|
+
opacity: 1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.loader-spinner {
|
|
50
|
+
border: 2px var(--gray-01) solid;
|
|
51
|
+
border-top: 2px var(--color-primary-enabled) solid;
|
|
52
|
+
border-radius: 50%;
|
|
53
|
+
-webkit-animation: spinner 0.6s infinite linear;
|
|
54
|
+
animation: spinner 0.6s infinite linear;
|
|
55
|
+
width: 30px;
|
|
56
|
+
height: 30px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.loader-description {
|
|
60
|
+
max-width: 400px;
|
|
61
|
+
text-align: center;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/*background color animation*/
|
|
65
|
+
@keyframes wrapper {
|
|
66
|
+
from {
|
|
67
|
+
background-color: rgba(var(--color-background--rgb), 0.45);
|
|
68
|
+
}
|
|
69
|
+
to {
|
|
70
|
+
background-color: rgba(var(--gray-02--rgb), 0.25);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/*spinner animation*/
|
|
74
|
+
@-webkit-keyframes spinner {
|
|
75
|
+
from {
|
|
76
|
+
-webkit-transform: rotate(0deg);
|
|
77
|
+
}
|
|
78
|
+
to {
|
|
79
|
+
-webkit-transform: rotate(359deg);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
@keyframes spinner {
|
|
83
|
+
from {
|
|
84
|
+
transform: rotate(0deg);
|
|
85
|
+
}
|
|
86
|
+
to {
|
|
87
|
+
transform: rotate(359deg);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "../../stencil-public-runtime";
|
|
2
|
-
import { FormSubmitResult } from "../../common/types";
|
|
2
|
+
import { FormSubmitResult, GxServerAuthenticationType } from "../../common/types";
|
|
3
3
|
export declare class GxIdeCreateKbFromServer {
|
|
4
4
|
[key: string]: any;
|
|
5
5
|
/**
|
|
@@ -71,7 +71,7 @@ export declare class GxIdeCreateKbFromServer {
|
|
|
71
71
|
}
|
|
72
72
|
export interface GXServerConnectionData {
|
|
73
73
|
serverUrl: string;
|
|
74
|
-
authenticationType:
|
|
74
|
+
authenticationType: GxServerAuthenticationType;
|
|
75
75
|
user: string;
|
|
76
76
|
password: string;
|
|
77
77
|
}
|
|
@@ -87,4 +87,3 @@ export interface CreateKBData {
|
|
|
87
87
|
id: string;
|
|
88
88
|
name: string;
|
|
89
89
|
}
|
|
90
|
-
export type AuthenticationType = "genexus" | "local";
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EventEmitter } from "../../stencil-public-runtime";
|
|
2
|
+
import { FormSubmitResult, GxServerAuthenticationType } from "../../common/types";
|
|
3
|
+
export declare class GxIdeShareKb {
|
|
4
|
+
/**
|
|
5
|
+
* The component hard-coded strings translations.
|
|
6
|
+
*/
|
|
7
|
+
private _componentLocale;
|
|
8
|
+
el: HTMLGxIdeShareKbElement;
|
|
9
|
+
private kbNameEl;
|
|
10
|
+
private serverUrlEl;
|
|
11
|
+
private authTypeEl;
|
|
12
|
+
private userNameEl;
|
|
13
|
+
private passwordEl;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the kb
|
|
16
|
+
*/
|
|
17
|
+
readonly kbName: string;
|
|
18
|
+
/**
|
|
19
|
+
* Urls array of cataloged servers to be shown on combo
|
|
20
|
+
*/
|
|
21
|
+
readonly serverUrls: string[];
|
|
22
|
+
/**
|
|
23
|
+
* True if user can introduce server url manually
|
|
24
|
+
*/
|
|
25
|
+
readonly enableCustomServer: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Callback invoked when Share button is pressed
|
|
28
|
+
*/
|
|
29
|
+
readonly createKBCallback: CreateKBCallback;
|
|
30
|
+
/**
|
|
31
|
+
* @description Gets fired when the component has rendered for the first time.
|
|
32
|
+
*/
|
|
33
|
+
componentDidRenderEvent: EventEmitter<string>;
|
|
34
|
+
componentWillLoad(): Promise<void>;
|
|
35
|
+
componentDidRender(): void;
|
|
36
|
+
private createKBCallbackHandler;
|
|
37
|
+
render(): any;
|
|
38
|
+
}
|
|
39
|
+
export type CreateKBCallback = (data: ShareKBData) => Promise<FormSubmitResult>;
|
|
40
|
+
export type ShareKBData = {
|
|
41
|
+
name: string;
|
|
42
|
+
serverUrl: string;
|
|
43
|
+
authenticationType: GxServerAuthenticationType;
|
|
44
|
+
user: string;
|
|
45
|
+
password: string;
|
|
46
|
+
};
|
|
@@ -18,6 +18,7 @@ import { CancelCallback as CancelCallback1, CreateCallback as CreateCallback1, G
|
|
|
18
18
|
import { CancelCallback as CancelCallback2, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
|
|
19
19
|
import { CancelCallback as CancelCallback3, LoadCallback, NewObjectCallback, ObjectType, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback1 } from "./components/object-selector/object-selector";
|
|
20
20
|
import { LoadReferencesCallback, ObjectData, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
|
|
21
|
+
import { CreateKBCallback } from "./components/share-kb/share-kb";
|
|
21
22
|
import { CommitCallback, CommitSelectCallback, GetRecentComment, LoadCallback as LoadCallback1, ObjectsContextMenuCallback, PendingItemsCheckedCallback } from "./components/team-dev-commit/team-dev-commit";
|
|
22
23
|
import { cancelCallback, confirmCallback } from "./components/team-dev-select-recent-comment/team-dev-select-recent-comment";
|
|
23
24
|
import { ConfirmCallback, GridContextMenuCallback, LoadCallback as LoadCallback2, ObjectsContextMenuCallback as ObjectsContextMenuCallback1, PendingItemsCheckedCallback as PendingItemsCheckedCallback1, UpdateCallback, UpdateFromData, UpdateSelectCallback } from "./components/team-dev-update/team-dev-update";
|
|
@@ -504,6 +505,24 @@ export namespace Components {
|
|
|
504
505
|
*/
|
|
505
506
|
"selectorSourceCallback"?: SelectorSourceCallback;
|
|
506
507
|
}
|
|
508
|
+
interface GxIdeShareKb {
|
|
509
|
+
/**
|
|
510
|
+
* Callback invoked when Share button is pressed
|
|
511
|
+
*/
|
|
512
|
+
"createKBCallback": CreateKBCallback;
|
|
513
|
+
/**
|
|
514
|
+
* True if user can introduce server url manually
|
|
515
|
+
*/
|
|
516
|
+
"enableCustomServer": boolean;
|
|
517
|
+
/**
|
|
518
|
+
* The name of the kb
|
|
519
|
+
*/
|
|
520
|
+
"kbName": string;
|
|
521
|
+
/**
|
|
522
|
+
* Urls array of cataloged servers to be shown on combo
|
|
523
|
+
*/
|
|
524
|
+
"serverUrls": string[];
|
|
525
|
+
}
|
|
507
526
|
interface GxIdeTeamDevCommit {
|
|
508
527
|
/**
|
|
509
528
|
* Possible values for Categories filter
|
|
@@ -819,6 +838,10 @@ export interface GxIdeReferencesCustomEvent<T> extends CustomEvent<T> {
|
|
|
819
838
|
detail: T;
|
|
820
839
|
target: HTMLGxIdeReferencesElement;
|
|
821
840
|
}
|
|
841
|
+
export interface GxIdeShareKbCustomEvent<T> extends CustomEvent<T> {
|
|
842
|
+
detail: T;
|
|
843
|
+
target: HTMLGxIdeShareKbElement;
|
|
844
|
+
}
|
|
822
845
|
export interface GxIdeTeamDevCommitCustomEvent<T> extends CustomEvent<T> {
|
|
823
846
|
detail: T;
|
|
824
847
|
target: HTMLGxIdeTeamDevCommitElement;
|
|
@@ -914,6 +937,12 @@ declare global {
|
|
|
914
937
|
prototype: HTMLGxIdeReferencesElement;
|
|
915
938
|
new (): HTMLGxIdeReferencesElement;
|
|
916
939
|
};
|
|
940
|
+
interface HTMLGxIdeShareKbElement extends Components.GxIdeShareKb, HTMLStencilElement {
|
|
941
|
+
}
|
|
942
|
+
var HTMLGxIdeShareKbElement: {
|
|
943
|
+
prototype: HTMLGxIdeShareKbElement;
|
|
944
|
+
new (): HTMLGxIdeShareKbElement;
|
|
945
|
+
};
|
|
917
946
|
interface HTMLGxIdeTeamDevCommitElement extends Components.GxIdeTeamDevCommit, HTMLStencilElement {
|
|
918
947
|
}
|
|
919
948
|
var HTMLGxIdeTeamDevCommitElement: {
|
|
@@ -980,6 +1009,7 @@ declare global {
|
|
|
980
1009
|
"gx-ide-new-object": HTMLGxIdeNewObjectElement;
|
|
981
1010
|
"gx-ide-object-selector": HTMLGxIdeObjectSelectorElement;
|
|
982
1011
|
"gx-ide-references": HTMLGxIdeReferencesElement;
|
|
1012
|
+
"gx-ide-share-kb": HTMLGxIdeShareKbElement;
|
|
983
1013
|
"gx-ide-team-dev-commit": HTMLGxIdeTeamDevCommitElement;
|
|
984
1014
|
"gx-ide-team-dev-select-recent-comment": HTMLGxIdeTeamDevSelectRecentCommentElement;
|
|
985
1015
|
"gx-ide-team-dev-update": HTMLGxIdeTeamDevUpdateElement;
|
|
@@ -1514,6 +1544,28 @@ declare namespace LocalJSX {
|
|
|
1514
1544
|
*/
|
|
1515
1545
|
"selectorSourceCallback"?: SelectorSourceCallback;
|
|
1516
1546
|
}
|
|
1547
|
+
interface GxIdeShareKb {
|
|
1548
|
+
/**
|
|
1549
|
+
* Callback invoked when Share button is pressed
|
|
1550
|
+
*/
|
|
1551
|
+
"createKBCallback": CreateKBCallback;
|
|
1552
|
+
/**
|
|
1553
|
+
* True if user can introduce server url manually
|
|
1554
|
+
*/
|
|
1555
|
+
"enableCustomServer"?: boolean;
|
|
1556
|
+
/**
|
|
1557
|
+
* The name of the kb
|
|
1558
|
+
*/
|
|
1559
|
+
"kbName": string;
|
|
1560
|
+
/**
|
|
1561
|
+
* @description Gets fired when the component has rendered for the first time.
|
|
1562
|
+
*/
|
|
1563
|
+
"onComponentDidRenderEvent"?: (event: GxIdeShareKbCustomEvent<string>) => void;
|
|
1564
|
+
/**
|
|
1565
|
+
* Urls array of cataloged servers to be shown on combo
|
|
1566
|
+
*/
|
|
1567
|
+
"serverUrls": string[];
|
|
1568
|
+
}
|
|
1517
1569
|
interface GxIdeTeamDevCommit {
|
|
1518
1570
|
/**
|
|
1519
1571
|
* Possible values for Categories filter
|
|
@@ -1820,6 +1872,7 @@ declare namespace LocalJSX {
|
|
|
1820
1872
|
"gx-ide-new-object": GxIdeNewObject;
|
|
1821
1873
|
"gx-ide-object-selector": GxIdeObjectSelector;
|
|
1822
1874
|
"gx-ide-references": GxIdeReferences;
|
|
1875
|
+
"gx-ide-share-kb": GxIdeShareKb;
|
|
1823
1876
|
"gx-ide-team-dev-commit": GxIdeTeamDevCommit;
|
|
1824
1877
|
"gx-ide-team-dev-select-recent-comment": GxIdeTeamDevSelectRecentComment;
|
|
1825
1878
|
"gx-ide-team-dev-update": GxIdeTeamDevUpdate;
|
|
@@ -1846,6 +1899,7 @@ declare module "@stencil/core" {
|
|
|
1846
1899
|
"gx-ide-new-object": LocalJSX.GxIdeNewObject & JSXBase.HTMLAttributes<HTMLGxIdeNewObjectElement>;
|
|
1847
1900
|
"gx-ide-object-selector": LocalJSX.GxIdeObjectSelector & JSXBase.HTMLAttributes<HTMLGxIdeObjectSelectorElement>;
|
|
1848
1901
|
"gx-ide-references": LocalJSX.GxIdeReferences & JSXBase.HTMLAttributes<HTMLGxIdeReferencesElement>;
|
|
1902
|
+
"gx-ide-share-kb": LocalJSX.GxIdeShareKb & JSXBase.HTMLAttributes<HTMLGxIdeShareKbElement>;
|
|
1849
1903
|
"gx-ide-team-dev-commit": LocalJSX.GxIdeTeamDevCommit & JSXBase.HTMLAttributes<HTMLGxIdeTeamDevCommitElement>;
|
|
1850
1904
|
"gx-ide-team-dev-select-recent-comment": LocalJSX.GxIdeTeamDevSelectRecentComment & JSXBase.HTMLAttributes<HTMLGxIdeTeamDevSelectRecentCommentElement>;
|
|
1851
1905
|
"gx-ide-team-dev-update": LocalJSX.GxIdeTeamDevUpdate & JSXBase.HTMLAttributes<HTMLGxIdeTeamDevUpdateElement>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genexus/genexus-ide-ui",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.48",
|
|
5
5
|
"description": "GeneXus IDE UI components",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"@types/react": "^18.2.8"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@genexus/gemini": "*0.1.
|
|
39
|
+
"@genexus/gemini": "*0.1.481"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@genexus/gemini": "*0.1.
|
|
42
|
+
"@genexus/gemini": "*0.1.481",
|
|
43
43
|
"@stencil-community/eslint-plugin": "^0.5.0",
|
|
44
44
|
"@stencil/core": "^2.17.0",
|
|
45
45
|
"@stencil/sass": "^2.0.1",
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const index = require('./index-5a32426a.js');
|
|
6
|
-
|
|
7
|
-
const iconContent = new Map();
|
|
8
|
-
const requests = new Map();
|
|
9
|
-
function getSvgContent(url) {
|
|
10
|
-
// see if we already have a request for this url
|
|
11
|
-
let request = requests.get(url);
|
|
12
|
-
if (!request) {
|
|
13
|
-
// we don't already have a request
|
|
14
|
-
request = fetch(url).then(response => {
|
|
15
|
-
if (response.ok) {
|
|
16
|
-
return response.text().then(svgContent => {
|
|
17
|
-
iconContent.set(url, svgContent);
|
|
18
|
-
return svgContent;
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
iconContent.set(url, "");
|
|
22
|
-
});
|
|
23
|
-
// cache for the same requests
|
|
24
|
-
requests.set(url, request);
|
|
25
|
-
}
|
|
26
|
-
return request;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const iconCss$1 = ":host(:not([auto-color])){}:host(:not([auto-color])) svg *{fill:var(--icon-color) !important}:host(:not([auto-color])) path.icons01{fill:var(--icons01-enabled)}:host(:not([auto-color])) path.icons02{fill:var(--icons02-enabled)}:host(:not([auto-color])) path.icons03{fill:var(--icons03-enabled)}:host(:not([auto-color])) path.icons04{fill:var(--icons04-enabled)}:host(:not([auto-color])) path.icons05{fill:var(--icons05-enabled)}:host(:not([auto-color])) path.icons06{fill:var(--icons06-enabled)}:host(:not([auto-color])) path.icons07{fill:var(--icons07-enabled)}:host(:not([auto-color])) path.icons08{fill:var(--icons08-enabled)}:host(:not([auto-color])) path.icons09{fill:var(--icons09-enabled)}:host{display:inline-flex;line-height:0}:host svg{width:var(--icon-size);height:var(--icon-size)}";
|
|
30
|
-
|
|
31
|
-
const ChIcon = class {
|
|
32
|
-
constructor(hostRef) {
|
|
33
|
-
index.registerInstance(this, hostRef);
|
|
34
|
-
/**
|
|
35
|
-
* If enabled, the icon will be loaded lazily when it's visible in the viewport.
|
|
36
|
-
*/
|
|
37
|
-
this.lazy = false;
|
|
38
|
-
/**
|
|
39
|
-
* If enabled, the icon will display its inherent/natural color
|
|
40
|
-
*/
|
|
41
|
-
this.autoColor = false;
|
|
42
|
-
/**
|
|
43
|
-
* The URL of the icon.
|
|
44
|
-
*/
|
|
45
|
-
this.src = "";
|
|
46
|
-
/**
|
|
47
|
-
* The size of the icon. Possible values: regular, small.
|
|
48
|
-
*/
|
|
49
|
-
this.size = "regular";
|
|
50
|
-
this.isVisible = false;
|
|
51
|
-
}
|
|
52
|
-
/** *******************************
|
|
53
|
-
METHODS
|
|
54
|
-
*********************************/
|
|
55
|
-
connectedCallback() {
|
|
56
|
-
// purposely do not return the promise here because loading
|
|
57
|
-
// the svg file should not hold up loading the app
|
|
58
|
-
// only load the svg if it's visible
|
|
59
|
-
this.waitUntilVisible(this.element, "50px", () => {
|
|
60
|
-
this.isVisible = true;
|
|
61
|
-
this.getIcon();
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
disconnectedCallback() {
|
|
65
|
-
if (this.io !== undefined) {
|
|
66
|
-
this.io.disconnect();
|
|
67
|
-
this.io = undefined;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
waitUntilVisible(el, rootMargin, callback) {
|
|
71
|
-
if (this.lazy &&
|
|
72
|
-
typeof window !== "undefined" &&
|
|
73
|
-
window.IntersectionObserver) {
|
|
74
|
-
const io = (this.io = new window.IntersectionObserver((data) => {
|
|
75
|
-
if (data[0].isIntersecting) {
|
|
76
|
-
io.disconnect();
|
|
77
|
-
this.io = undefined;
|
|
78
|
-
callback();
|
|
79
|
-
}
|
|
80
|
-
}, { rootMargin }));
|
|
81
|
-
io.observe(el);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
// browser doesn't support IntersectionObserver
|
|
85
|
-
// so just fallback to always show it
|
|
86
|
-
callback();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async getIcon() {
|
|
90
|
-
if (this.isVisible) {
|
|
91
|
-
if (this.src) {
|
|
92
|
-
if (iconContent.has(this.src)) {
|
|
93
|
-
this.svgContent = iconContent.get(this.src);
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
this.svgContent = await getSvgContent(this.src);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this.svgContent = "";
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
render() {
|
|
106
|
-
return index.h("div", { innerHTML: this.svgContent });
|
|
107
|
-
}
|
|
108
|
-
static get assetsDirs() { return ["ch-icon-assets"]; }
|
|
109
|
-
get element() { return index.getElement(this); }
|
|
110
|
-
static get watchers() { return {
|
|
111
|
-
"src": ["getIcon"]
|
|
112
|
-
}; }
|
|
113
|
-
};
|
|
114
|
-
ChIcon.style = iconCss$1;
|
|
115
|
-
|
|
116
|
-
const iconCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:6px;height:6px}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}:host{display:inline-block;line-height:0;height:20px;width:20px;display:inline-flex;align-items:center;justify-content:center}";
|
|
117
|
-
|
|
118
|
-
/*********************************
|
|
119
|
-
CONSTANTS
|
|
120
|
-
*********************************/
|
|
121
|
-
const COLOR_MAPPINGS = {
|
|
122
|
-
alwaysblack: "color-always-black",
|
|
123
|
-
disabled: "color-primary-disabled",
|
|
124
|
-
ondisabled: "color-on-disabled",
|
|
125
|
-
error: "color-error-dark",
|
|
126
|
-
negative: "color-on-primary",
|
|
127
|
-
onbackground: "color-on-background",
|
|
128
|
-
"primary-enabled": "color-primary-enabled",
|
|
129
|
-
"primary-active": "color-primary-active",
|
|
130
|
-
"primary-hover": "color-primary-hover",
|
|
131
|
-
success: "color-success-dark",
|
|
132
|
-
warning: "color-warning-dark",
|
|
133
|
-
};
|
|
134
|
-
const GxgIcon = class {
|
|
135
|
-
constructor(hostRef) {
|
|
136
|
-
index.registerInstance(this, hostRef);
|
|
137
|
-
/**
|
|
138
|
-
* The size of the icon. Possible values: regular, small.
|
|
139
|
-
*/
|
|
140
|
-
this.size = "regular";
|
|
141
|
-
}
|
|
142
|
-
/*********************************
|
|
143
|
-
METHODS
|
|
144
|
-
*********************************/
|
|
145
|
-
getSrcPath() {
|
|
146
|
-
return index.getAssetPath(`./icon-assets/${this.type}.svg`);
|
|
147
|
-
}
|
|
148
|
-
iconSize() {
|
|
149
|
-
if (this.size === "regular") {
|
|
150
|
-
return "16px";
|
|
151
|
-
}
|
|
152
|
-
else if (this.size === "small") {
|
|
153
|
-
return "12px";
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
render() {
|
|
157
|
-
return (index.h(index.Host, null, index.h("ch-icon", { style: {
|
|
158
|
-
"--icon-color": this.mapColorToCssVar(COLOR_MAPPINGS[this.color]),
|
|
159
|
-
"--icon-size": this.iconSize(),
|
|
160
|
-
}, "auto-color": this.color === "auto", src: this.getSrcPath(), part: "ch-icon" })));
|
|
161
|
-
}
|
|
162
|
-
mapColorToCssVar(color) {
|
|
163
|
-
if (color) {
|
|
164
|
-
return `var(--${color})`;
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
//default color
|
|
168
|
-
return `var(--color-on-background)`;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
static get assetsDirs() { return ["icon-assets"]; }
|
|
172
|
-
get element() { return index.getElement(this); }
|
|
173
|
-
};
|
|
174
|
-
GxgIcon.style = iconCss;
|
|
175
|
-
|
|
176
|
-
exports.ch_icon = ChIcon;
|
|
177
|
-
exports.gxg_icon = GxgIcon;
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, g as getElement, a as getAssetPath, H as Host } from './index-0da01575.js';
|
|
2
|
-
|
|
3
|
-
const iconContent = new Map();
|
|
4
|
-
const requests = new Map();
|
|
5
|
-
function getSvgContent(url) {
|
|
6
|
-
// see if we already have a request for this url
|
|
7
|
-
let request = requests.get(url);
|
|
8
|
-
if (!request) {
|
|
9
|
-
// we don't already have a request
|
|
10
|
-
request = fetch(url).then(response => {
|
|
11
|
-
if (response.ok) {
|
|
12
|
-
return response.text().then(svgContent => {
|
|
13
|
-
iconContent.set(url, svgContent);
|
|
14
|
-
return svgContent;
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
iconContent.set(url, "");
|
|
18
|
-
});
|
|
19
|
-
// cache for the same requests
|
|
20
|
-
requests.set(url, request);
|
|
21
|
-
}
|
|
22
|
-
return request;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const iconCss$1 = ":host(:not([auto-color])){}:host(:not([auto-color])) svg *{fill:var(--icon-color) !important}:host(:not([auto-color])) path.icons01{fill:var(--icons01-enabled)}:host(:not([auto-color])) path.icons02{fill:var(--icons02-enabled)}:host(:not([auto-color])) path.icons03{fill:var(--icons03-enabled)}:host(:not([auto-color])) path.icons04{fill:var(--icons04-enabled)}:host(:not([auto-color])) path.icons05{fill:var(--icons05-enabled)}:host(:not([auto-color])) path.icons06{fill:var(--icons06-enabled)}:host(:not([auto-color])) path.icons07{fill:var(--icons07-enabled)}:host(:not([auto-color])) path.icons08{fill:var(--icons08-enabled)}:host(:not([auto-color])) path.icons09{fill:var(--icons09-enabled)}:host{display:inline-flex;line-height:0}:host svg{width:var(--icon-size);height:var(--icon-size)}";
|
|
26
|
-
|
|
27
|
-
const ChIcon = class {
|
|
28
|
-
constructor(hostRef) {
|
|
29
|
-
registerInstance(this, hostRef);
|
|
30
|
-
/**
|
|
31
|
-
* If enabled, the icon will be loaded lazily when it's visible in the viewport.
|
|
32
|
-
*/
|
|
33
|
-
this.lazy = false;
|
|
34
|
-
/**
|
|
35
|
-
* If enabled, the icon will display its inherent/natural color
|
|
36
|
-
*/
|
|
37
|
-
this.autoColor = false;
|
|
38
|
-
/**
|
|
39
|
-
* The URL of the icon.
|
|
40
|
-
*/
|
|
41
|
-
this.src = "";
|
|
42
|
-
/**
|
|
43
|
-
* The size of the icon. Possible values: regular, small.
|
|
44
|
-
*/
|
|
45
|
-
this.size = "regular";
|
|
46
|
-
this.isVisible = false;
|
|
47
|
-
}
|
|
48
|
-
/** *******************************
|
|
49
|
-
METHODS
|
|
50
|
-
*********************************/
|
|
51
|
-
connectedCallback() {
|
|
52
|
-
// purposely do not return the promise here because loading
|
|
53
|
-
// the svg file should not hold up loading the app
|
|
54
|
-
// only load the svg if it's visible
|
|
55
|
-
this.waitUntilVisible(this.element, "50px", () => {
|
|
56
|
-
this.isVisible = true;
|
|
57
|
-
this.getIcon();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
disconnectedCallback() {
|
|
61
|
-
if (this.io !== undefined) {
|
|
62
|
-
this.io.disconnect();
|
|
63
|
-
this.io = undefined;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
waitUntilVisible(el, rootMargin, callback) {
|
|
67
|
-
if (this.lazy &&
|
|
68
|
-
typeof window !== "undefined" &&
|
|
69
|
-
window.IntersectionObserver) {
|
|
70
|
-
const io = (this.io = new window.IntersectionObserver((data) => {
|
|
71
|
-
if (data[0].isIntersecting) {
|
|
72
|
-
io.disconnect();
|
|
73
|
-
this.io = undefined;
|
|
74
|
-
callback();
|
|
75
|
-
}
|
|
76
|
-
}, { rootMargin }));
|
|
77
|
-
io.observe(el);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
// browser doesn't support IntersectionObserver
|
|
81
|
-
// so just fallback to always show it
|
|
82
|
-
callback();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async getIcon() {
|
|
86
|
-
if (this.isVisible) {
|
|
87
|
-
if (this.src) {
|
|
88
|
-
if (iconContent.has(this.src)) {
|
|
89
|
-
this.svgContent = iconContent.get(this.src);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.svgContent = await getSvgContent(this.src);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
this.svgContent = "";
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
render() {
|
|
102
|
-
return h("div", { innerHTML: this.svgContent });
|
|
103
|
-
}
|
|
104
|
-
static get assetsDirs() { return ["ch-icon-assets"]; }
|
|
105
|
-
get element() { return getElement(this); }
|
|
106
|
-
static get watchers() { return {
|
|
107
|
-
"src": ["getIcon"]
|
|
108
|
-
}; }
|
|
109
|
-
};
|
|
110
|
-
ChIcon.style = iconCss$1;
|
|
111
|
-
|
|
112
|
-
const iconCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:6px;height:6px}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}:host{display:inline-block;line-height:0;height:20px;width:20px;display:inline-flex;align-items:center;justify-content:center}";
|
|
113
|
-
|
|
114
|
-
/*********************************
|
|
115
|
-
CONSTANTS
|
|
116
|
-
*********************************/
|
|
117
|
-
const COLOR_MAPPINGS = {
|
|
118
|
-
alwaysblack: "color-always-black",
|
|
119
|
-
disabled: "color-primary-disabled",
|
|
120
|
-
ondisabled: "color-on-disabled",
|
|
121
|
-
error: "color-error-dark",
|
|
122
|
-
negative: "color-on-primary",
|
|
123
|
-
onbackground: "color-on-background",
|
|
124
|
-
"primary-enabled": "color-primary-enabled",
|
|
125
|
-
"primary-active": "color-primary-active",
|
|
126
|
-
"primary-hover": "color-primary-hover",
|
|
127
|
-
success: "color-success-dark",
|
|
128
|
-
warning: "color-warning-dark",
|
|
129
|
-
};
|
|
130
|
-
const GxgIcon = class {
|
|
131
|
-
constructor(hostRef) {
|
|
132
|
-
registerInstance(this, hostRef);
|
|
133
|
-
/**
|
|
134
|
-
* The size of the icon. Possible values: regular, small.
|
|
135
|
-
*/
|
|
136
|
-
this.size = "regular";
|
|
137
|
-
}
|
|
138
|
-
/*********************************
|
|
139
|
-
METHODS
|
|
140
|
-
*********************************/
|
|
141
|
-
getSrcPath() {
|
|
142
|
-
return getAssetPath(`./icon-assets/${this.type}.svg`);
|
|
143
|
-
}
|
|
144
|
-
iconSize() {
|
|
145
|
-
if (this.size === "regular") {
|
|
146
|
-
return "16px";
|
|
147
|
-
}
|
|
148
|
-
else if (this.size === "small") {
|
|
149
|
-
return "12px";
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
render() {
|
|
153
|
-
return (h(Host, null, h("ch-icon", { style: {
|
|
154
|
-
"--icon-color": this.mapColorToCssVar(COLOR_MAPPINGS[this.color]),
|
|
155
|
-
"--icon-size": this.iconSize(),
|
|
156
|
-
}, "auto-color": this.color === "auto", src: this.getSrcPath(), part: "ch-icon" })));
|
|
157
|
-
}
|
|
158
|
-
mapColorToCssVar(color) {
|
|
159
|
-
if (color) {
|
|
160
|
-
return `var(--${color})`;
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
//default color
|
|
164
|
-
return `var(--color-on-background)`;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
static get assetsDirs() { return ["icon-assets"]; }
|
|
168
|
-
get element() { return getElement(this); }
|
|
169
|
-
};
|
|
170
|
-
GxgIcon.style = iconCss;
|
|
171
|
-
|
|
172
|
-
export { ChIcon as ch_icon, GxgIcon as gxg_icon };
|