@supersoniks/concorde 1.1.11 → 1.1.13
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/core/components/functional/queue/queue.d.ts +1 -1
- package/core/components/functional/queue/queue.js +7 -2
- package/core/components/functional/submit/submit.js +4 -3
- package/core/components/ui/alert/alert.js +4 -5
- package/core/components/ui/button/button.d.ts +2 -1
- package/core/components/ui/button/button.js +9 -4
- package/core/components/ui/icon/icon.d.ts +16 -4
- package/core/components/ui/icon/icon.js +52 -6
- package/core/components/ui/icon/icons.d.ts +3 -2
- package/core/components/ui/icon/icons.js +78 -7
- package/core/components/ui/icon/icons.json +1 -1
- package/core/components/ui/link/link.d.ts +3 -1
- package/core/components/ui/link/link.js +11 -2
- package/core/components/ui/menu/menu.d.ts +11 -5
- package/core/components/ui/menu/menu.js +81 -35
- package/core/components/ui/pop/pop.js +9 -6
- package/core/components/ui/progress/progress.d.ts +3 -1
- package/core/components/ui/progress/progress.js +78 -3
- package/core/components/ui/tabs/tabs.d.ts +1 -0
- package/core/components/ui/tabs/tabs.js +7 -3
- package/core/components/ui/ui.d.ts +0 -3
- package/core/components/ui/ui.js +2 -3
- package/core/utils/Electron.d.ts +3 -0
- package/core/utils/Electron.js +8 -0
- package/core/utils/LocationHandler.js +15 -0
- package/core/utils/api.d.ts +4 -4
- package/core/utils/api.js +10 -7
- package/package.json +3 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement, nothing } from "lit";
|
|
2
|
-
import '
|
|
2
|
+
import '@supersoniks/concorde/core/components/functional/list/list';
|
|
3
3
|
import { PublisherProxy } from "@supersoniks/concorde/core/utils/PublisherProxy.mjs";
|
|
4
4
|
declare const Queue_base: (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/Subscriber").SubscriberInterface) & typeof LitElement;
|
|
5
5
|
/**
|
|
@@ -11,7 +11,7 @@ import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
|
|
|
11
11
|
import { repeat } from 'lit/directives/repeat.js';
|
|
12
12
|
import { PublisherManager } from "@supersoniks/concorde/core/utils/PublisherProxy.mjs";
|
|
13
13
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
14
|
-
import '
|
|
14
|
+
import '@supersoniks/concorde/core/components/functional/list/list';
|
|
15
15
|
/**
|
|
16
16
|
*### Une Queue charge du contenu par lot selon l'expression renseignée dans l'attribut *dataProviderExpression*.
|
|
17
17
|
* * Chaque lot est chargé par un composant [List](./?path=/docs/core-components-functional-list-list--basic) dont le dataProvider créé à partir de l'attribut dataProviderExpression
|
|
@@ -58,13 +58,15 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement) {
|
|
|
58
58
|
this.configFilter();
|
|
59
59
|
super.connectedCallback();
|
|
60
60
|
this.key = this.getAttribute("key");
|
|
61
|
-
this.templates
|
|
61
|
+
if (!this.templates)
|
|
62
|
+
this.templates = Array.from(this.querySelectorAll("template"));
|
|
62
63
|
this.lastRequestTime = new Date().getTime();
|
|
63
64
|
this.next();
|
|
64
65
|
}
|
|
65
66
|
configFilter() {
|
|
66
67
|
var _a;
|
|
67
68
|
let dataFilterProvider = this.getAncestorAttributeValue("dataFilterProvider");
|
|
69
|
+
console.log(dataFilterProvider);
|
|
68
70
|
if (!dataFilterProvider)
|
|
69
71
|
return;
|
|
70
72
|
this.filterPublisher = PublisherManager.getInstance().get(dataFilterProvider);
|
|
@@ -168,6 +170,9 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement) {
|
|
|
168
170
|
}
|
|
169
171
|
};
|
|
170
172
|
Queue.instanceCounter = 0;
|
|
173
|
+
__decorate([
|
|
174
|
+
property({ type: Array })
|
|
175
|
+
], Queue.prototype, "templates", void 0);
|
|
171
176
|
__decorate([
|
|
172
177
|
property({ type: Object })
|
|
173
178
|
], Queue.prototype, "itemPropertyMap", void 0);
|
|
@@ -59,22 +59,23 @@ let Submit = class Submit extends Subscriber(LitElement) {
|
|
|
59
59
|
this.publisher.disabled = true;
|
|
60
60
|
let method = ((_a = this.getAttribute("method")) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) || "post";
|
|
61
61
|
let postData = PublisherManager.getInstance().get(this.getAncestorAttributeValue("formDataProvider")).get();
|
|
62
|
+
let headersData = PublisherManager.getInstance().get(this.getAncestorAttributeValue("headersDataProvider")).get();
|
|
62
63
|
let result = null;
|
|
63
64
|
let dataProvider = this.getAncestorAttributeValue("dataProvider");
|
|
64
65
|
let endPoint = this.endPoint || dataProvider;
|
|
65
66
|
Loader.show();
|
|
66
67
|
switch (method) {
|
|
67
68
|
case "put":
|
|
68
|
-
result = yield ((_b = this.api) === null || _b === void 0 ? void 0 : _b.put(endPoint, postData));
|
|
69
|
+
result = yield ((_b = this.api) === null || _b === void 0 ? void 0 : _b.put(endPoint, postData, headersData));
|
|
69
70
|
break;
|
|
70
71
|
case "delete":
|
|
71
|
-
result = yield ((_c = this.api) === null || _c === void 0 ? void 0 : _c.delete(endPoint, postData));
|
|
72
|
+
result = yield ((_c = this.api) === null || _c === void 0 ? void 0 : _c.delete(endPoint, postData, headersData));
|
|
72
73
|
break;
|
|
73
74
|
case "get":
|
|
74
75
|
result = yield ((_d = this.api) === null || _d === void 0 ? void 0 : _d.get(endPoint));
|
|
75
76
|
break;
|
|
76
77
|
default:
|
|
77
|
-
result = yield ((_e = this.api) === null || _e === void 0 ? void 0 : _e.post(endPoint, postData));
|
|
78
|
+
result = yield ((_e = this.api) === null || _e === void 0 ? void 0 : _e.post(endPoint, postData, headersData));
|
|
78
79
|
break;
|
|
79
80
|
}
|
|
80
81
|
Loader.hide();
|
|
@@ -73,17 +73,16 @@ Alert.styles = [
|
|
|
73
73
|
font-weight: var(--sc-alert-title-fw);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
:host([status="warning"])
|
|
76
|
+
:host([status="warning"]) {
|
|
77
77
|
--sc-alert-color: var(--sc-warning);
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
:host([status="error"]) .alert {
|
|
79
|
+
:host([status="error"]) {
|
|
81
80
|
--sc-alert-color: var(--sc-danger);
|
|
82
81
|
}
|
|
83
|
-
:host([status="info"])
|
|
82
|
+
:host([status="info"]) {
|
|
84
83
|
--sc-alert-color: var(--sc-info);
|
|
85
84
|
}
|
|
86
|
-
:host([status="success"])
|
|
85
|
+
:host([status="success"]) {
|
|
87
86
|
--sc-alert-color: var(--sc-success);
|
|
88
87
|
}
|
|
89
88
|
|
|
@@ -121,12 +121,13 @@ export declare class Button extends Button_base {
|
|
|
121
121
|
private _href;
|
|
122
122
|
set href(value: string);
|
|
123
123
|
get href(): string;
|
|
124
|
+
goBack: string | null;
|
|
124
125
|
/**
|
|
125
126
|
* Si présent on passe en mode pushstate
|
|
126
127
|
*/
|
|
127
128
|
pushState: null;
|
|
128
129
|
active: boolean;
|
|
129
|
-
|
|
130
|
+
handleNavigation(e: Event): void;
|
|
130
131
|
handleChange(e?: any): void;
|
|
131
132
|
connectedCallback(): void;
|
|
132
133
|
setCheckedValue(checked: true | null): void;
|
|
@@ -81,6 +81,7 @@ let Button = class Button extends FormCheckable(FormElement(Subscriber(LitElemen
|
|
|
81
81
|
* L'url
|
|
82
82
|
*/
|
|
83
83
|
this._href = "";
|
|
84
|
+
this.goBack = null;
|
|
84
85
|
/**
|
|
85
86
|
* Si présent on passe en mode pushstate
|
|
86
87
|
*/
|
|
@@ -101,13 +102,13 @@ let Button = class Button extends FormCheckable(FormElement(Subscriber(LitElemen
|
|
|
101
102
|
get href() {
|
|
102
103
|
return this._href;
|
|
103
104
|
}
|
|
104
|
-
|
|
105
|
+
handleNavigation(e) {
|
|
105
106
|
e.preventDefault();
|
|
106
107
|
LocationHandler.changeFromComponent(this);
|
|
107
108
|
}
|
|
108
109
|
handleChange(e) {
|
|
109
110
|
super.handleChange(e);
|
|
110
|
-
if (this.pushState) {
|
|
111
|
+
if (this.pushState || this.goBack !== null) {
|
|
111
112
|
e.preventDefault();
|
|
112
113
|
e.stopPropagation();
|
|
113
114
|
LocationHandler.changeFromComponent(this);
|
|
@@ -155,7 +156,7 @@ let Button = class Button extends FormCheckable(FormElement(Subscriber(LitElemen
|
|
|
155
156
|
</button>
|
|
156
157
|
`;
|
|
157
158
|
return this.href
|
|
158
|
-
? html `<a href="${this.href}" target=${ifDefined(this.target)} @click=${this.pushState ? this.
|
|
159
|
+
? html `<a href="${this.href}" target=${ifDefined(this.target)} @click=${this.pushState || this.goBack !== null ? this.handleNavigation : null}>${btn}</a>`
|
|
159
160
|
: html `${btn}`;
|
|
160
161
|
}
|
|
161
162
|
onSlotChange() {
|
|
@@ -221,7 +222,7 @@ Button.styles = [
|
|
|
221
222
|
|
|
222
223
|
cursor: pointer;
|
|
223
224
|
text-align: center;
|
|
224
|
-
line-height: 1.
|
|
225
|
+
line-height: 1.1;
|
|
225
226
|
border-radius: var(--sc-item-rounded-tl) var(--sc-item-rounded-tr) var(--sc-item-rounded-br)
|
|
226
227
|
var(--sc-item-rounded-bl);
|
|
227
228
|
|
|
@@ -399,6 +400,7 @@ Button.styles = [
|
|
|
399
400
|
padding: 0;
|
|
400
401
|
align-items: center;
|
|
401
402
|
justify-content: 0;
|
|
403
|
+
text-align:center !important;
|
|
402
404
|
}
|
|
403
405
|
|
|
404
406
|
:host([shape="block"]),
|
|
@@ -549,6 +551,9 @@ __decorate([
|
|
|
549
551
|
__decorate([
|
|
550
552
|
property({ type: String })
|
|
551
553
|
], Button.prototype, "href", null);
|
|
554
|
+
__decorate([
|
|
555
|
+
property({ type: String })
|
|
556
|
+
], Button.prototype, "goBack", void 0);
|
|
552
557
|
__decorate([
|
|
553
558
|
property({ type: Boolean })
|
|
554
559
|
], Button.prototype, "pushState", void 0);
|
|
@@ -1,17 +1,29 @@
|
|
|
1
|
-
import { LitElement
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
2
|
/**
|
|
3
3
|
* Afficher l'icone choisie parmis une liste prédéfinie dans icons.json
|
|
4
4
|
* les tailles suivantes sont disponible via l'attribut *size* : 2xs,xs,sm,"",lg,xl,2xl
|
|
5
5
|
*/
|
|
6
6
|
export declare class Icon extends LitElement {
|
|
7
7
|
static styles: import("lit").CSSResult;
|
|
8
|
+
updateIcon(): Promise<void>;
|
|
9
|
+
iconText: any;
|
|
8
10
|
/**
|
|
9
11
|
* Nom identifiant l'icone ex : *info*
|
|
10
12
|
*/
|
|
11
|
-
|
|
13
|
+
private _name;
|
|
14
|
+
get name(): string;
|
|
15
|
+
set name(newName: string);
|
|
12
16
|
/**
|
|
13
17
|
* prefix de l'icone si nécessaire ex: *solid*. La valeur par défaut est "" qui est mappée sur *regular*
|
|
14
18
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
private _prefix;
|
|
20
|
+
get prefix(): string;
|
|
21
|
+
set prefix(newPrefix: string);
|
|
22
|
+
/**
|
|
23
|
+
* library de l'icone url vers un dossier en lign conenant des icônes
|
|
24
|
+
*/
|
|
25
|
+
private _library;
|
|
26
|
+
get library(): string;
|
|
27
|
+
set library(newLibrary: string);
|
|
28
|
+
render(): any;
|
|
17
29
|
}
|
|
@@ -4,7 +4,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
import { LitElement, css, nothing } from "lit";
|
|
8
17
|
import { customElement, property } from "lit/decorators.js";
|
|
9
18
|
import Icons from "./icons";
|
|
10
19
|
/**
|
|
@@ -14,14 +23,48 @@ import Icons from "./icons";
|
|
|
14
23
|
let Icon = class Icon extends LitElement {
|
|
15
24
|
constructor() {
|
|
16
25
|
super(...arguments);
|
|
26
|
+
this.iconText = "";
|
|
17
27
|
/**
|
|
18
28
|
* Nom identifiant l'icone ex : *info*
|
|
19
29
|
*/
|
|
20
|
-
this.
|
|
30
|
+
this._name = "";
|
|
21
31
|
/**
|
|
22
32
|
* prefix de l'icone si nécessaire ex: *solid*. La valeur par défaut est "" qui est mappée sur *regular*
|
|
23
33
|
*/
|
|
24
|
-
this.
|
|
34
|
+
this._prefix = "";
|
|
35
|
+
/**
|
|
36
|
+
* library de l'icone url vers un dossier en lign conenant des icônes
|
|
37
|
+
*/
|
|
38
|
+
this._library = "";
|
|
39
|
+
}
|
|
40
|
+
updateIcon() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (!this.name)
|
|
43
|
+
return;
|
|
44
|
+
this.iconText = yield Icons.default.get({ name: this.name, prefix: this.prefix, library: this.library });
|
|
45
|
+
this.requestUpdate();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
get name() {
|
|
49
|
+
return this._name;
|
|
50
|
+
}
|
|
51
|
+
set name(newName) {
|
|
52
|
+
this._name = newName;
|
|
53
|
+
this.updateIcon();
|
|
54
|
+
}
|
|
55
|
+
get prefix() {
|
|
56
|
+
return this._prefix;
|
|
57
|
+
}
|
|
58
|
+
set prefix(newPrefix) {
|
|
59
|
+
this._prefix = newPrefix;
|
|
60
|
+
this.updateIcon();
|
|
61
|
+
}
|
|
62
|
+
get library() {
|
|
63
|
+
return this._library;
|
|
64
|
+
}
|
|
65
|
+
set library(newLibrary) {
|
|
66
|
+
this._library = newLibrary;
|
|
67
|
+
this.updateIcon();
|
|
25
68
|
}
|
|
26
69
|
render() {
|
|
27
70
|
if (!this.name) {
|
|
@@ -29,7 +72,7 @@ let Icon = class Icon extends LitElement {
|
|
|
29
72
|
return nothing;
|
|
30
73
|
}
|
|
31
74
|
this.style.removeProperty("display");
|
|
32
|
-
return
|
|
75
|
+
return this.iconText;
|
|
33
76
|
}
|
|
34
77
|
};
|
|
35
78
|
Icon.styles = css `
|
|
@@ -78,10 +121,13 @@ Icon.styles = css `
|
|
|
78
121
|
`;
|
|
79
122
|
__decorate([
|
|
80
123
|
property({ type: String })
|
|
81
|
-
], Icon.prototype, "name",
|
|
124
|
+
], Icon.prototype, "name", null);
|
|
125
|
+
__decorate([
|
|
126
|
+
property({ type: String })
|
|
127
|
+
], Icon.prototype, "prefix", null);
|
|
82
128
|
__decorate([
|
|
83
129
|
property({ type: String })
|
|
84
|
-
], Icon.prototype, "
|
|
130
|
+
], Icon.prototype, "library", null);
|
|
85
131
|
Icon = __decorate([
|
|
86
132
|
customElement("sonic-icon")
|
|
87
133
|
], Icon);
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export declare type IconConf = {
|
|
2
2
|
name: string;
|
|
3
3
|
prefix?: string;
|
|
4
|
+
library?: string;
|
|
4
5
|
};
|
|
5
6
|
export default class Icons {
|
|
6
7
|
static fontAwesomeNext: {
|
|
7
|
-
get: (params: IconConf) => import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-html").UnsafeHTMLDirective
|
|
8
|
+
get: (params: IconConf) => Promise<import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-html").UnsafeHTMLDirective>>;
|
|
8
9
|
};
|
|
9
10
|
static registerIcons(newIcons: Record<string, Record<string, string>>): void;
|
|
10
11
|
static default: {
|
|
11
|
-
get: (params: IconConf) => import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-html").UnsafeHTMLDirective
|
|
12
|
+
get: (params: IconConf) => Promise<import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-html").UnsafeHTMLDirective>>;
|
|
12
13
|
};
|
|
13
14
|
}
|
|
@@ -1,6 +1,32 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var _a;
|
|
1
11
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
2
12
|
import icons from "./icons.json";
|
|
3
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Ce tableau static permet de ne pas appeler plusieurs fois le même service lors d'appel concurrents en GET.
|
|
15
|
+
*/
|
|
16
|
+
const loadingGetPromises = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* Les librairies en ligne.
|
|
19
|
+
* Pour chaque identifiant de librairie a une template d'url de chargement
|
|
20
|
+
* Les propriétés name et prefix de sonic-icon servent à remplir le template.
|
|
21
|
+
* la propriété library de sonic-icon correspond à une clef de librairies.
|
|
22
|
+
*/
|
|
23
|
+
const libraries = {
|
|
24
|
+
heroicons: "https://cdn.jsdelivr.net/npm/heroicons@2.0.4/24/$prefix/$name.svg",
|
|
25
|
+
iconoir: "https://cdnjs.cloudflare.com/ajax/libs/iconoir/5.1.4/icons/$name.svg",
|
|
26
|
+
feathers: "https://cdn.jsdelivr.net/npm/feather-icons@4.29.0/dist/icons/$name.svg",
|
|
27
|
+
material: "https://cdn.jsdelivr.net/npm/@material-icons/svg@1.0.5/svg/$name/$prefix.svg",
|
|
28
|
+
fontAwesome: "https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.1/svgs/$prefix/$name.svg",
|
|
29
|
+
};
|
|
4
30
|
export default class Icons {
|
|
5
31
|
static registerIcons(newIcons) {
|
|
6
32
|
const record = icons;
|
|
@@ -14,12 +40,57 @@ export default class Icons {
|
|
|
14
40
|
}
|
|
15
41
|
}
|
|
16
42
|
}
|
|
43
|
+
_a = Icons;
|
|
17
44
|
Icons.fontAwesomeNext = {
|
|
18
|
-
get: (params) => {
|
|
19
|
-
var
|
|
20
|
-
let prefix = ((
|
|
21
|
-
let
|
|
22
|
-
|
|
23
|
-
|
|
45
|
+
get: (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
var _b;
|
|
47
|
+
let prefix = ((_b = params.prefix) === null || _b === void 0 ? void 0 : _b.replace("far", "regular").replace("fas", "solid")) || "regular";
|
|
48
|
+
let library = params.library;
|
|
49
|
+
let name = params.name || "";
|
|
50
|
+
const iconsAsRecord = icons;
|
|
51
|
+
/**
|
|
52
|
+
* SVGS en ligne
|
|
53
|
+
*/
|
|
54
|
+
if (library && libraries[library]) {
|
|
55
|
+
let libIcons = iconsAsRecord[library];
|
|
56
|
+
if (!libIcons)
|
|
57
|
+
libIcons = iconsAsRecord[library] = {};
|
|
58
|
+
/**
|
|
59
|
+
* Si l'icone a déjà été chargée on ne la recharge pas
|
|
60
|
+
*/
|
|
61
|
+
if (libIcons[name])
|
|
62
|
+
return unsafeHTML(libIcons[name]);
|
|
63
|
+
let url = libraries[library].replace("$prefix", params.prefix).replace("$name", name);
|
|
64
|
+
/**
|
|
65
|
+
* on utilise une promise mutualisée pour ne pas faire plusieurs appels concurents d'une même icone
|
|
66
|
+
*/
|
|
67
|
+
if (libIcons[name])
|
|
68
|
+
return unsafeHTML(libIcons[name]);
|
|
69
|
+
if (!loadingGetPromises.has(url)) {
|
|
70
|
+
let promise = new Promise((resolve) => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
+
let result = yield fetch(url);
|
|
72
|
+
try {
|
|
73
|
+
let text = yield result.text();
|
|
74
|
+
resolve(text);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
resolve(null);
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
loadingGetPromises.set(url, promise);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Chargement de l'icone.
|
|
84
|
+
*/
|
|
85
|
+
let result = yield loadingGetPromises.get(url);
|
|
86
|
+
loadingGetPromises.delete(url);
|
|
87
|
+
libIcons[name] = result;
|
|
88
|
+
return unsafeHTML(result);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* svgs "locaux"
|
|
92
|
+
*/
|
|
93
|
+
return unsafeHTML(iconsAsRecord[prefix][params.name] || "");
|
|
94
|
+
}),
|
|
24
95
|
};
|
|
25
96
|
Icons.default = Icons.fontAwesomeNext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"iconoir":{"cancel":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6.75827 17.2426L12.0009 12M17.2435 6.75736L12.0009 12M12.0009 12L6.75827 6.75736M12.0009 12L17.2435 17.2426\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","check-circled-outline":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7 12.5L10 15.5L17 8.5\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","check":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5 13L9 17L19 7\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","emoji-think-left":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M10 15H7M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M8.5 9C8.22386 9 8 8.77614 8 8.5C8 8.22386 8.22386 8 8.5 8C8.77614 8 9 8.22386 9 8.5C9 8.77614 8.77614 9 8.5 9Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M15.5 9C15.2239 9 15 8.77614 15 8.5C15 8.22386 15.2239 8 15.5 8C15.7761 8 16 8.22386 16 8.5C16 8.77614 15.7761 9 15.5 9Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","info-empty":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 11.5V16.5\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 7.51L12.01 7.49889\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","loader":"","more-vert":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 12.5C12.2761 12.5 12.5 12.2761 12.5 12C12.5 11.7239 12.2761 11.5 12 11.5C11.7239 11.5 11.5 11.7239 11.5 12C11.5 12.2761 11.7239 12.5 12 12.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 18.5C12.2761 18.5 12.5 18.2761 12.5 18C12.5 17.7239 12.2761 17.5 12 17.5C11.7239 17.5 11.5 17.7239 11.5 18C11.5 18.2761 11.7239 18.5 12 18.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 6.5C12.2761 6.5 12.5 6.27614 12.5 6C12.5 5.72386 12.2761 5.5 12 5.5C11.7239 5.5 11.5 5.72386 11.5 6C11.5 6.27614 11.7239 6.5 12 6.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","nav-arrow-down":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","warning-circled-outline":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 7L12 13\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 17.01L12.01 16.9989\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n"}}
|
|
1
|
+
{"iconoir":{"cancel":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6.75827 17.2426L12.0009 12M17.2435 6.75736L12.0009 12M12.0009 12L6.75827 6.75736M12.0009 12L17.2435 17.2426\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","check-circled-outline":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7 12.5L10 15.5L17 8.5\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","check":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5 13L9 17L19 7\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","emoji-think-left":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M10 15H7M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M8.5 9C8.22386 9 8 8.77614 8 8.5C8 8.22386 8.22386 8 8.5 8C8.77614 8 9 8.22386 9 8.5C9 8.77614 8.77614 9 8.5 9Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M15.5 9C15.2239 9 15 8.77614 15 8.5C15 8.22386 15.2239 8 15.5 8C15.7761 8 16 8.22386 16 8.5C16 8.77614 15.7761 9 15.5 9Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","info-empty":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 11.5V16.5\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 7.51L12.01 7.49889\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","loader":"","more-horiz":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M18 12.5C18.2761 12.5 18.5 12.2761 18.5 12C18.5 11.7239 18.2761 11.5 18 11.5C17.7239 11.5 17.5 11.7239 17.5 12C17.5 12.2761 17.7239 12.5 18 12.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 12.5C12.2761 12.5 12.5 12.2761 12.5 12C12.5 11.7239 12.2761 11.5 12 11.5C11.7239 11.5 11.5 11.7239 11.5 12C11.5 12.2761 11.7239 12.5 12 12.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M6 12.5C6.27614 12.5 6.5 12.2761 6.5 12C6.5 11.7239 6.27614 11.5 6 11.5C5.72386 11.5 5.5 11.7239 5.5 12C5.5 12.2761 5.72386 12.5 6 12.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","more-vert":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 12.5C12.2761 12.5 12.5 12.2761 12.5 12C12.5 11.7239 12.2761 11.5 12 11.5C11.7239 11.5 11.5 11.7239 11.5 12C11.5 12.2761 11.7239 12.5 12 12.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 18.5C12.2761 18.5 12.5 18.2761 12.5 18C12.5 17.7239 12.2761 17.5 12 17.5C11.7239 17.5 11.5 17.7239 11.5 18C11.5 18.2761 11.7239 18.5 12 18.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 6.5C12.2761 6.5 12.5 6.27614 12.5 6C12.5 5.72386 12.2761 5.5 12 5.5C11.7239 5.5 11.5 5.72386 11.5 6C11.5 6.27614 11.7239 6.5 12 6.5Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","nav-arrow-down":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","warning-circled-outline":"<svg width=\"24\" height=\"24\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 7L12 13\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 17.01L12.01 16.9989\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n"}}
|
|
@@ -14,7 +14,9 @@ export declare class Link extends LitElement {
|
|
|
14
14
|
autoActive: "strict" | "partial" | "disabled";
|
|
15
15
|
connectedCallback(): void;
|
|
16
16
|
disconnectedCallback(): void;
|
|
17
|
-
|
|
17
|
+
private _target;
|
|
18
|
+
set target(newTarget: string | null);
|
|
19
|
+
get target(): string | null;
|
|
18
20
|
/**
|
|
19
21
|
* Si présent on passe en mode pushstate
|
|
20
22
|
*/
|
|
@@ -8,6 +8,7 @@ import LocationHandler from "@supersoniks/concorde/core/utils/LocationHandler";
|
|
|
8
8
|
import { html, LitElement, css } from "lit";
|
|
9
9
|
import { customElement, property } from "lit/decorators.js";
|
|
10
10
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
11
|
+
import Electron from "@supersoniks/concorde/core/utils/Electron";
|
|
11
12
|
let Link = class Link extends LitElement {
|
|
12
13
|
constructor() {
|
|
13
14
|
super(...arguments);
|
|
@@ -20,7 +21,7 @@ let Link = class Link extends LitElement {
|
|
|
20
21
|
* - disabled : aucune activation / désactivation
|
|
21
22
|
*/
|
|
22
23
|
this.autoActive = "partial";
|
|
23
|
-
this.
|
|
24
|
+
this._target = null;
|
|
24
25
|
/**
|
|
25
26
|
* Si présent on passe en mode pushstate
|
|
26
27
|
*/
|
|
@@ -44,6 +45,14 @@ let Link = class Link extends LitElement {
|
|
|
44
45
|
LocationHandler.offChange(this);
|
|
45
46
|
super.disconnectedCallback();
|
|
46
47
|
}
|
|
48
|
+
set target(newTarget) {
|
|
49
|
+
this._target = newTarget;
|
|
50
|
+
Electron.fixBlankLink(this);
|
|
51
|
+
this.requestUpdate();
|
|
52
|
+
}
|
|
53
|
+
get target() {
|
|
54
|
+
return this._target;
|
|
55
|
+
}
|
|
47
56
|
handlePushState(e) {
|
|
48
57
|
e.preventDefault();
|
|
49
58
|
LocationHandler.changeFromComponent(this);
|
|
@@ -75,7 +84,7 @@ __decorate([
|
|
|
75
84
|
], Link.prototype, "autoActive", void 0);
|
|
76
85
|
__decorate([
|
|
77
86
|
property({ type: String })
|
|
78
|
-
], Link.prototype, "target",
|
|
87
|
+
], Link.prototype, "target", null);
|
|
79
88
|
__decorate([
|
|
80
89
|
property({ type: Boolean })
|
|
81
90
|
], Link.prototype, "pushState", void 0);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement, PropertyValues } from "lit";
|
|
2
|
+
import "./menu-item";
|
|
2
3
|
export declare class MenuItems extends LitElement {
|
|
3
4
|
static styles: import("lit").CSSResult[];
|
|
4
5
|
/**
|
|
@@ -7,20 +8,25 @@ export declare class MenuItems extends LitElement {
|
|
|
7
8
|
*/
|
|
8
9
|
size: "" | "xs" | "sm" | "lg";
|
|
9
10
|
/**
|
|
10
|
-
* Direction
|
|
11
|
+
* Direction
|
|
11
12
|
*/
|
|
12
|
-
direction: "
|
|
13
|
+
direction: "row" | "column";
|
|
14
|
+
align: "center" | "left" | "right";
|
|
13
15
|
/**
|
|
14
16
|
* Ombre
|
|
15
17
|
*/
|
|
16
|
-
shadow: "" | "none" | "sm" | "md";
|
|
18
|
+
shadow: "" | "none" | "sm" | "md" | 'lg' | "xl";
|
|
19
|
+
moreShape: "square" | "circle";
|
|
17
20
|
/**
|
|
18
21
|
* Propriété min-width du bouton
|
|
19
22
|
*/
|
|
20
23
|
minWidth: string;
|
|
21
24
|
menuChildren: Array<HTMLElement>;
|
|
22
|
-
|
|
25
|
+
moreElements: Array<HTMLElement>;
|
|
26
|
+
hasMoreElements: boolean;
|
|
27
|
+
checkIfMore(): void;
|
|
23
28
|
updated(_changedProperties: PropertyValues): void;
|
|
24
|
-
|
|
29
|
+
mainSlotChange(): void;
|
|
30
|
+
setChildrenSize(menuItems: Array<HTMLElement>): void;
|
|
25
31
|
render(): import("lit-html").TemplateResult<1>;
|
|
26
32
|
}
|
|
@@ -6,7 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement, css } from "lit";
|
|
8
8
|
import { styleMap } from "lit/directives/style-map.js";
|
|
9
|
-
import { customElement, property, queryAssignedElements,
|
|
9
|
+
import { customElement, property, queryAssignedElements, state } from "lit/decorators.js";
|
|
10
|
+
import "./menu-item";
|
|
10
11
|
let MenuItems = class MenuItems extends LitElement {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
@@ -16,50 +17,80 @@ let MenuItems = class MenuItems extends LitElement {
|
|
|
16
17
|
*/
|
|
17
18
|
this.size = "";
|
|
18
19
|
/**
|
|
19
|
-
* Direction
|
|
20
|
+
* Direction
|
|
20
21
|
*/
|
|
21
22
|
this.direction = "column";
|
|
23
|
+
this.align = "left";
|
|
22
24
|
/**
|
|
23
25
|
* Ombre
|
|
24
26
|
*/
|
|
25
27
|
this.shadow = "none";
|
|
28
|
+
this.moreShape = "circle";
|
|
26
29
|
/**
|
|
27
30
|
* Propriété min-width du bouton
|
|
28
31
|
*/
|
|
29
32
|
this.minWidth = "0";
|
|
33
|
+
this.hasMoreElements = false;
|
|
30
34
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
updated(_changedProperties) {
|
|
35
|
-
super.updated(_changedProperties);
|
|
36
|
-
this._setChildrenSize();
|
|
35
|
+
checkIfMore() {
|
|
36
|
+
var _a;
|
|
37
|
+
this.hasMoreElements = !!((_a = this.moreElements) === null || _a === void 0 ? void 0 : _a.length);
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (!elt.hasAttribute("size")) {
|
|
43
|
-
elt.setAttribute("size", this.size);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
39
|
+
updated(_changedProperties) {
|
|
40
|
+
const moreBtn = this.querySelector('.more-btn');
|
|
41
|
+
if (this.size && moreBtn) {
|
|
42
|
+
moreBtn.setAttribute("size", this.size);
|
|
46
43
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
44
|
+
const dividers = this.querySelectorAll("sonic-divider");
|
|
45
|
+
dividers.forEach((elt) => {
|
|
49
46
|
if (!elt.hasAttribute("size")) {
|
|
50
47
|
elt.setAttribute("size", "xs");
|
|
51
48
|
}
|
|
52
49
|
});
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
super.updated(_changedProperties);
|
|
51
|
+
}
|
|
52
|
+
mainSlotChange() {
|
|
53
|
+
this.setChildrenSize(this.menuChildren);
|
|
54
|
+
}
|
|
55
|
+
setChildrenSize(menuItems) {
|
|
56
|
+
menuItems.forEach((elt) => {
|
|
57
|
+
if (this.size) {
|
|
58
|
+
elt.setAttribute("size", this.size);
|
|
59
|
+
}
|
|
60
|
+
if (this.align) {
|
|
61
|
+
elt.setAttribute("textAlign", this.align);
|
|
62
|
+
}
|
|
63
|
+
if (this.direction == "row") {
|
|
64
|
+
if (elt.getAttribute('shape') == "block") {
|
|
65
|
+
elt.setAttribute("shape", "default");
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
57
69
|
}
|
|
58
70
|
render() {
|
|
59
71
|
const menuStyles = {
|
|
60
72
|
minWidth: this.minWidth,
|
|
73
|
+
flexDirection: this.direction,
|
|
74
|
+
};
|
|
75
|
+
const isMenuRow = this.direction == "row";
|
|
76
|
+
const popStyles = {
|
|
77
|
+
display: 'block',
|
|
78
|
+
alignSelf: isMenuRow ? 'center' : 'flex-start',
|
|
79
|
+
justifySelf: 'center',
|
|
80
|
+
flexDirection: this.direction
|
|
61
81
|
};
|
|
62
|
-
|
|
82
|
+
const popBtnStyles = {
|
|
83
|
+
marginLeft: isMenuRow ? '' : '.55em'
|
|
84
|
+
};
|
|
85
|
+
return html `<menu part="menu" class="shadowable" style=${styleMap(menuStyles)}>
|
|
86
|
+
<slot @slotchange=${this.mainSlotChange}></slot>
|
|
87
|
+
<sonic-pop style=${styleMap(popStyles)} class=${!this.hasMoreElements ? 'hidden' : ''}>
|
|
88
|
+
<sonic-menu-item style=${styleMap(popBtnStyles)} class="more-btn" shape=${this.moreShape} textAlign="center" >
|
|
89
|
+
<sonic-icon prefix="iconoir" size="xl" name=${isMenuRow ? "more-vert" : "more-horiz"} ></sonic-icon>
|
|
90
|
+
</sonic-menu-item>
|
|
91
|
+
<slot name="more" @slotchange=${this.checkIfMore} slot="content"></slot>
|
|
92
|
+
</sonic-pop>
|
|
93
|
+
</menu>`;
|
|
63
94
|
}
|
|
64
95
|
};
|
|
65
96
|
MenuItems.styles = [
|
|
@@ -67,33 +98,39 @@ MenuItems.styles = [
|
|
|
67
98
|
:host {
|
|
68
99
|
display: block;
|
|
69
100
|
}
|
|
101
|
+
|
|
70
102
|
:host > menu {
|
|
71
103
|
display: flex;
|
|
72
|
-
flex-direction: column;
|
|
73
104
|
border-radius: min(calc(var(--sc-btn-rounded) * 2), 0.4em);
|
|
74
105
|
margin: 0;
|
|
75
106
|
padding: 0.35em;
|
|
76
107
|
gap: 0.15rem;
|
|
77
108
|
}
|
|
109
|
+
|
|
110
|
+
.hidden {
|
|
111
|
+
display:none !important;
|
|
112
|
+
}
|
|
78
113
|
|
|
79
114
|
/*OMBRE*/
|
|
80
|
-
:host([shadow])
|
|
81
|
-
:host([shadow="md"])
|
|
82
|
-
:host([shadow="true"])
|
|
115
|
+
:host([shadow]) .shadowable,
|
|
116
|
+
:host([shadow="md"]) .shadowable,
|
|
117
|
+
:host([shadow="true"]) .shadowable {
|
|
83
118
|
box-shadow: var(--sc-shadow);
|
|
84
119
|
}
|
|
85
120
|
|
|
86
|
-
:host([shadow="sm"])
|
|
121
|
+
:host([shadow="sm"]) .shadowable {
|
|
87
122
|
box-shadow: var(--sc-shadow-sm);
|
|
88
123
|
}
|
|
89
124
|
|
|
90
|
-
:host([shadow="
|
|
125
|
+
:host([shadow="lg"]) .shadowable {
|
|
126
|
+
box-shadow: var(--sc-shadow-lg);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:host([shadow="none"]) .shadowable {
|
|
91
130
|
box-shadow: none;
|
|
92
131
|
}
|
|
93
132
|
|
|
94
|
-
|
|
95
|
-
box-shadow: var(--sc-shadow-lg);
|
|
96
|
-
}
|
|
133
|
+
|
|
97
134
|
`,
|
|
98
135
|
];
|
|
99
136
|
__decorate([
|
|
@@ -102,18 +139,27 @@ __decorate([
|
|
|
102
139
|
__decorate([
|
|
103
140
|
property({ type: String, reflect: true })
|
|
104
141
|
], MenuItems.prototype, "direction", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
property({ type: String, reflect: true })
|
|
144
|
+
], MenuItems.prototype, "align", void 0);
|
|
105
145
|
__decorate([
|
|
106
146
|
property({ type: String, reflect: true })
|
|
107
147
|
], MenuItems.prototype, "shadow", void 0);
|
|
148
|
+
__decorate([
|
|
149
|
+
property({ type: String })
|
|
150
|
+
], MenuItems.prototype, "moreShape", void 0);
|
|
108
151
|
__decorate([
|
|
109
152
|
property({ type: String })
|
|
110
153
|
], MenuItems.prototype, "minWidth", void 0);
|
|
111
154
|
__decorate([
|
|
112
|
-
queryAssignedElements({
|
|
155
|
+
queryAssignedElements({ selector: "sonic-menu-item" })
|
|
113
156
|
], MenuItems.prototype, "menuChildren", void 0);
|
|
114
157
|
__decorate([
|
|
115
|
-
|
|
116
|
-
], MenuItems.prototype, "
|
|
158
|
+
queryAssignedElements({ slot: "more", selector: "*" })
|
|
159
|
+
], MenuItems.prototype, "moreElements", void 0);
|
|
160
|
+
__decorate([
|
|
161
|
+
state()
|
|
162
|
+
], MenuItems.prototype, "hasMoreElements", void 0);
|
|
117
163
|
MenuItems = __decorate([
|
|
118
164
|
customElement("sonic-menu")
|
|
119
165
|
], MenuItems);
|
|
@@ -53,11 +53,11 @@ let Pop = Pop_1 = class Pop extends LitElement {
|
|
|
53
53
|
this.positioningRuns = false;
|
|
54
54
|
}
|
|
55
55
|
_handleClosePop(e) {
|
|
56
|
-
let
|
|
56
|
+
let path = e.composedPath();
|
|
57
|
+
let target = path[0];
|
|
57
58
|
Pop_1.pops.forEach((pop) => {
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
const popContentContainsTarget = (_a = pop.querySelector('[slot="content"]')) === null || _a === void 0 ? void 0 : _a.contains(target);
|
|
59
|
+
const popContainsTarget = path.includes(pop);
|
|
60
|
+
const popContentContainsTarget = path.includes(pop.querySelector('[slot="content"]'));
|
|
61
61
|
const isCloseManual = HTML.getAncestorAttributeValue(target, "data-on-select") === "keep";
|
|
62
62
|
if (e.type == "pointerdown" && popContainsTarget)
|
|
63
63
|
return;
|
|
@@ -163,7 +163,9 @@ Pop.styles = [
|
|
|
163
163
|
transform: translateY(1rem) scale(0.95);
|
|
164
164
|
opacity: 0;
|
|
165
165
|
pointer-events: none;
|
|
166
|
-
transition: 0.
|
|
166
|
+
transition-duration: 0.15s ;
|
|
167
|
+
transition-timing-function: ease;
|
|
168
|
+
transition-property:all;
|
|
167
169
|
border-radius: min(calc(var(--sc-btn-rounded) * 2), 0.4em);
|
|
168
170
|
}
|
|
169
171
|
|
|
@@ -171,7 +173,8 @@ Pop.styles = [
|
|
|
171
173
|
transform: translateY(0) scale(1);
|
|
172
174
|
opacity: 1;
|
|
173
175
|
pointer-events: auto;
|
|
174
|
-
transition:
|
|
176
|
+
transition-property:scale, opacity;
|
|
177
|
+
transition-timing-function: cubic-bezier(0.25, 0.25, 0.42, 1.225);
|
|
175
178
|
}
|
|
176
179
|
|
|
177
180
|
/*OMBRE*/
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
export declare class Progress extends LitElement {
|
|
3
3
|
static styles: import("lit").CSSResult[];
|
|
4
|
-
value
|
|
4
|
+
value?: number;
|
|
5
5
|
max: number;
|
|
6
|
+
type: "default" | "primary" | "warning" | "danger" | "success" | "info";
|
|
7
|
+
size: "xs" | "sm" | "md" | "lg" | "xl";
|
|
6
8
|
render(): import("lit-html").TemplateResult<1>;
|
|
7
9
|
}
|
|
@@ -6,14 +6,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement, css } from "lit";
|
|
8
8
|
import { customElement, property } from "lit/decorators.js";
|
|
9
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
9
10
|
let Progress = class Progress extends LitElement {
|
|
10
11
|
constructor() {
|
|
11
12
|
super(...arguments);
|
|
12
13
|
this.max = 100;
|
|
14
|
+
this.type = "default";
|
|
15
|
+
this.size = "md";
|
|
13
16
|
}
|
|
14
17
|
render() {
|
|
15
18
|
return html `
|
|
16
|
-
<progress value=${this.value} max=${this.max}></progress>
|
|
19
|
+
<progress value=${ifDefined(this.value)} max=${this.max}></progress>
|
|
20
|
+
<slot></slot>
|
|
17
21
|
`;
|
|
18
22
|
}
|
|
19
23
|
};
|
|
@@ -21,10 +25,18 @@ Progress.styles = [
|
|
|
21
25
|
css `
|
|
22
26
|
|
|
23
27
|
:host {
|
|
24
|
-
--sc-progress-bg: var(--sc-input-bg, var(--sc-base, #
|
|
28
|
+
--sc-progress-bg: var(--sc-input-bg, var(--sc-base-100, #f5f5f5));
|
|
25
29
|
--sc-progress-color: var(--sc-base-content, #1f2937);
|
|
26
30
|
--sc-progress-height: .6rem;
|
|
31
|
+
--sc-progress-fs: 1rem;
|
|
32
|
+
--sc-progress-fw: 500;
|
|
33
|
+
--sc-progress-rounded: var(--sc-rounded-lg);
|
|
34
|
+
font-weight:var(--sc-progress-fw);
|
|
27
35
|
display: flex;
|
|
36
|
+
flex-wrap: wrap;
|
|
37
|
+
line-height: 1.2;
|
|
38
|
+
font-size:var(--sc-progress-fs);
|
|
39
|
+
color:var(--sc-progress-color);
|
|
28
40
|
}
|
|
29
41
|
|
|
30
42
|
progress {
|
|
@@ -34,21 +46,78 @@ Progress.styles = [
|
|
|
34
46
|
appearance: none;
|
|
35
47
|
overflow: hidden;
|
|
36
48
|
height: var(--sc-progress-height);
|
|
37
|
-
border-radius: var(--rounded
|
|
49
|
+
border-radius: var(--sc-progress-rounded);
|
|
38
50
|
background-color: var(--sc-progress-bg);
|
|
39
51
|
color: var(--sc-progress-color);
|
|
40
52
|
border:none;
|
|
41
53
|
}
|
|
42
54
|
progress::-moz-progress-bar {
|
|
43
55
|
background-color: var(--sc-progress-color);
|
|
56
|
+
border-radius: var(--sc-progress-rounded);
|
|
44
57
|
}
|
|
58
|
+
|
|
45
59
|
progress::-webkit-progress-bar {
|
|
46
60
|
background-color: var(--sc-progress-bg);
|
|
47
61
|
}
|
|
48
62
|
progress::-webkit-progress-value {
|
|
49
63
|
background-color: var(--sc-progress-color);
|
|
64
|
+
border-radius: var(--sc-progress-rounded);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
progress:indeterminate:after {
|
|
68
|
+
background-color: var(--sc-progress-color);
|
|
69
|
+
content: "";
|
|
70
|
+
position: absolute;
|
|
71
|
+
top: 0;
|
|
72
|
+
bottom: 0;
|
|
73
|
+
left: -40%;
|
|
74
|
+
width: 33.333333%;
|
|
75
|
+
border-radius: var(--sc-progress-rounded);
|
|
76
|
+
animation: progress-loading 3s infinite ease-in-out;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@keyframes progress-loading {
|
|
80
|
+
50% {
|
|
81
|
+
left: 107%;
|
|
82
|
+
}
|
|
50
83
|
}
|
|
51
84
|
|
|
85
|
+
/* COLOR TYPES */
|
|
86
|
+
:host([type="warning"]) {
|
|
87
|
+
--sc-progress-color: var(--sc-warning);
|
|
88
|
+
}
|
|
89
|
+
:host([type="danger"]) {
|
|
90
|
+
--sc-progress-color: var(--sc-danger);
|
|
91
|
+
}
|
|
92
|
+
:host([type="info"]) {
|
|
93
|
+
--sc-progress-color: var(--sc-info);
|
|
94
|
+
}
|
|
95
|
+
:host([type="success"]) {
|
|
96
|
+
--sc-progress-color: var(--sc-success);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* SIZES */
|
|
100
|
+
:host([size="xs"]) {
|
|
101
|
+
--sc-progress-height:.25rem;
|
|
102
|
+
--sc-progress-fs: 0.68rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:host([size="sm"]) {
|
|
106
|
+
--sc-progress-height:.4rem;
|
|
107
|
+
--sc-progress-fs: 0.85rem;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
:host([size="lg"]) {
|
|
111
|
+
--sc-progress-height:1rem;
|
|
112
|
+
--sc-progress-fs: 1.25rem;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
:host([size="xl"]) {
|
|
116
|
+
--sc-progress-height:1.5rem;
|
|
117
|
+
--sc-progress-fs: 1.5rem;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
52
121
|
`
|
|
53
122
|
];
|
|
54
123
|
__decorate([
|
|
@@ -57,6 +126,12 @@ __decorate([
|
|
|
57
126
|
__decorate([
|
|
58
127
|
property({ type: Number })
|
|
59
128
|
], Progress.prototype, "max", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
property({ type: String, reflect: true })
|
|
131
|
+
], Progress.prototype, "type", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
property({ type: String, reflect: true })
|
|
134
|
+
], Progress.prototype, "size", void 0);
|
|
60
135
|
Progress = __decorate([
|
|
61
136
|
customElement("sonic-progress")
|
|
62
137
|
], Progress);
|
|
@@ -5,6 +5,7 @@ export declare class Tabs extends LitElement {
|
|
|
5
5
|
size: "md" | "xs" | "sm" | "lg";
|
|
6
6
|
direction: "" | "row" | "column";
|
|
7
7
|
icon: boolean;
|
|
8
|
+
moreShape: "square" | "circle";
|
|
8
9
|
menu: HTMLElement;
|
|
9
10
|
_resizeController: ResizeController;
|
|
10
11
|
updated(_changedProperties: PropertyValues): void;
|
|
@@ -14,6 +14,7 @@ let Tabs = class Tabs extends LitElement {
|
|
|
14
14
|
this.size = "md";
|
|
15
15
|
this.direction = "column";
|
|
16
16
|
this.icon = false;
|
|
17
|
+
this.moreShape = "circle";
|
|
17
18
|
this._resizeController = new ResizeController(this, {});
|
|
18
19
|
}
|
|
19
20
|
updated(_changedProperties) {
|
|
@@ -62,9 +63,9 @@ let Tabs = class Tabs extends LitElement {
|
|
|
62
63
|
return html `<menu part="tabs"
|
|
63
64
|
><slot></slot>
|
|
64
65
|
<sonic-pop class="flex" >
|
|
65
|
-
<sonic-
|
|
66
|
+
<sonic-menu-item shape="square">
|
|
66
67
|
<sonic-icon prefix="iconoir" class="my-auto" size="xl" name="more-vert"></sonic-icon>
|
|
67
|
-
</sonic-
|
|
68
|
+
</sonic-menu-item>
|
|
68
69
|
<sonic-menu slot="content"></sonic-menu>
|
|
69
70
|
<sonic-pop>
|
|
70
71
|
</menu>`;
|
|
@@ -111,8 +112,11 @@ __decorate([
|
|
|
111
112
|
property({ type: String, reflect: true })
|
|
112
113
|
], Tabs.prototype, "direction", void 0);
|
|
113
114
|
__decorate([
|
|
114
|
-
property({ type: Boolean
|
|
115
|
+
property({ type: Boolean })
|
|
115
116
|
], Tabs.prototype, "icon", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
property({ type: String })
|
|
119
|
+
], Tabs.prototype, "moreShape", void 0);
|
|
116
120
|
__decorate([
|
|
117
121
|
query("menu")
|
|
118
122
|
], Tabs.prototype, "menu", void 0);
|
|
@@ -17,9 +17,6 @@ import "./image/image";
|
|
|
17
17
|
import "./loader/loader";
|
|
18
18
|
import "./taxonomy/taxonomy";
|
|
19
19
|
import "./menu/menu";
|
|
20
|
-
import "./menu/menu-item";
|
|
21
|
-
import "./tabs/tabs";
|
|
22
|
-
import "./tabs/tab";
|
|
23
20
|
import "./modal/modal";
|
|
24
21
|
import "./alert/alert";
|
|
25
22
|
import "./toast/toast";
|
package/core/components/ui/ui.js
CHANGED
|
@@ -22,10 +22,9 @@ import "./loader/loader";
|
|
|
22
22
|
import "./taxonomy/taxonomy";
|
|
23
23
|
//Menu
|
|
24
24
|
import "./menu/menu";
|
|
25
|
-
import "./menu/menu-item";
|
|
26
25
|
//Tabs
|
|
27
|
-
import "./tabs/tabs";
|
|
28
|
-
import "./tabs/tab";
|
|
26
|
+
// import "./tabs/tabs";
|
|
27
|
+
// import "./tabs/tab";
|
|
29
28
|
// Misc
|
|
30
29
|
import "./modal/modal";
|
|
31
30
|
import "./alert/alert";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default class Electron {
|
|
2
|
+
static fixBlankLink(link) {
|
|
3
|
+
const electron = typeof require == 'undefined' ? null : require("electron");
|
|
4
|
+
if (typeof electron && link.target == "_blank") {
|
|
5
|
+
link.addEventListener("click", () => { electron === null || electron === void 0 ? void 0 : electron.shell.openExternal(link.href); });
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -47,6 +47,21 @@ export default class LocationHandler {
|
|
|
47
47
|
* Voir link et button pour les exemples d'implémentation
|
|
48
48
|
**/
|
|
49
49
|
static changeFromComponent(component) {
|
|
50
|
+
if (component.goBack !== null) {
|
|
51
|
+
const origin = document.location.origin;
|
|
52
|
+
let urlDest = component.goBack || origin;
|
|
53
|
+
if ((document.referrer.indexOf("http") != 0 || new URL(document.referrer).origin != origin) && urlDest != document.location.href) {
|
|
54
|
+
let state = history.state || {};
|
|
55
|
+
state.concorde = state.concorde || {};
|
|
56
|
+
state.concorde.hasDoneHistoryBack = true; // maybe for debugging
|
|
57
|
+
history.pushState(state, document.title);
|
|
58
|
+
history.back();
|
|
59
|
+
document.location.replace(urlDest);
|
|
60
|
+
}
|
|
61
|
+
else
|
|
62
|
+
history.back();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
50
65
|
let to = component.getAttribute("to");
|
|
51
66
|
if (!to)
|
|
52
67
|
to = component.href;
|
package/core/utils/api.d.ts
CHANGED
|
@@ -49,18 +49,18 @@ declare class API {
|
|
|
49
49
|
* Concatène le serviceURL et le endpoint donné en paramètre
|
|
50
50
|
*/
|
|
51
51
|
computeURL(path: String): string;
|
|
52
|
-
send(path: String, data: any, method?: string): Promise<any>;
|
|
52
|
+
send(path: String, data: any, method?: string, additionalHeaders?: HeadersInit): Promise<any>;
|
|
53
53
|
/**
|
|
54
54
|
* Appel send en utilisant le méthode PUT
|
|
55
55
|
*/
|
|
56
|
-
put(path: String, data: any): Promise<any>;
|
|
56
|
+
put(path: String, data: any, additionalHeaders?: HeadersInit): Promise<any>;
|
|
57
57
|
/**
|
|
58
58
|
* Appel send en utilisant le méthode POST
|
|
59
59
|
*/
|
|
60
|
-
post(path: String, data: any): Promise<any>;
|
|
60
|
+
post(path: String, data: any, additionalHeaders?: HeadersInit): Promise<any>;
|
|
61
61
|
/**
|
|
62
62
|
* Appel send en utilisant le méthode delete
|
|
63
63
|
*/
|
|
64
|
-
delete(path: String, data: any): Promise<any>;
|
|
64
|
+
delete(path: String, data: any, additionalHeaders?: HeadersInit): Promise<any>;
|
|
65
65
|
}
|
|
66
66
|
export default API;
|
package/core/utils/api.js
CHANGED
|
@@ -89,12 +89,15 @@ class API {
|
|
|
89
89
|
/*
|
|
90
90
|
* Envoie des données au endPoint passé en paramètre. par défaut en POST
|
|
91
91
|
*/
|
|
92
|
-
send(path, data, method = "POST") {
|
|
92
|
+
send(path, data, method = "POST", additionalHeaders) {
|
|
93
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
94
|
yield this.auth();
|
|
95
95
|
let headers = yield this.createHeaders();
|
|
96
96
|
headers["Accept"] = "application/json";
|
|
97
97
|
headers["Content-Type"] = "application/json";
|
|
98
|
+
if (additionalHeaders) {
|
|
99
|
+
Object.assign(headers, additionalHeaders);
|
|
100
|
+
}
|
|
98
101
|
let result = yield fetch(this.computeURL(path), {
|
|
99
102
|
headers: headers,
|
|
100
103
|
method: method,
|
|
@@ -112,25 +115,25 @@ class API {
|
|
|
112
115
|
/**
|
|
113
116
|
* Appel send en utilisant le méthode PUT
|
|
114
117
|
*/
|
|
115
|
-
put(path, data) {
|
|
118
|
+
put(path, data, additionalHeaders) {
|
|
116
119
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
return this.send(path, data, "PUT");
|
|
120
|
+
return this.send(path, data, "PUT", additionalHeaders);
|
|
118
121
|
});
|
|
119
122
|
}
|
|
120
123
|
/**
|
|
121
124
|
* Appel send en utilisant le méthode POST
|
|
122
125
|
*/
|
|
123
|
-
post(path, data) {
|
|
126
|
+
post(path, data, additionalHeaders) {
|
|
124
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
return this.send(path, data, "POST");
|
|
128
|
+
return this.send(path, data, "POST", additionalHeaders);
|
|
126
129
|
});
|
|
127
130
|
}
|
|
128
131
|
/**
|
|
129
132
|
* Appel send en utilisant le méthode delete
|
|
130
133
|
*/
|
|
131
|
-
delete(path, data) {
|
|
134
|
+
delete(path, data, additionalHeaders) {
|
|
132
135
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
return this.send(path, data, "
|
|
136
|
+
return this.send(path, data, "delete", additionalHeaders);
|
|
134
137
|
});
|
|
135
138
|
}
|
|
136
139
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supersoniks/concorde",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.13",
|
|
4
4
|
"customElements": "custom-elements.json",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -191,6 +191,8 @@
|
|
|
191
191
|
"./utils/Arrays": "./core/utils/Arrays",
|
|
192
192
|
"./core/utils/DataBindObserver": "./core/utils/DataBindObserver",
|
|
193
193
|
"./utils/DataBindObserver": "./core/utils/DataBindObserver",
|
|
194
|
+
"./core/utils/Electron": "./core/utils/Electron",
|
|
195
|
+
"./utils/Electron": "./core/utils/Electron",
|
|
194
196
|
"./core/utils/Format": "./core/utils/Format",
|
|
195
197
|
"./utils/Format": "./core/utils/Format",
|
|
196
198
|
"./core/utils/HTML": "./core/utils/HTML",
|