@supersoniks/concorde 1.1.42 → 1.1.44
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/components.js +2 -3
- package/concorde-core.bundle.js +37 -35
- package/concorde-core.es.js +5283 -4453
- package/core/_types/types.d.ts +31 -0
- package/core/_types/types.js +2 -0
- package/core/components/functional/date/date.d.ts +13 -5
- package/core/components/functional/date/date.js +57 -38
- package/core/components/functional/example/example.d.ts +1 -1
- package/core/components/functional/example/example.js +1 -1
- package/core/components/functional/fetch/fetch.d.ts +45 -6
- package/core/components/functional/fetch/fetch.js +2 -6
- package/core/components/functional/functional.d.ts +2 -0
- package/core/components/functional/functional.js +2 -0
- package/core/components/functional/if/if.d.ts +3 -0
- package/core/components/functional/if/if.js +6 -12
- package/core/components/functional/if/if.test.d.ts +1 -0
- package/core/components/functional/if/if.test.js +44 -0
- package/core/components/functional/list/list.d.ts +44 -12
- package/core/components/functional/list/list.js +54 -49
- package/core/components/functional/mix/mix.d.ts +22 -0
- package/core/components/functional/mix/mix.js +102 -0
- package/core/components/functional/queue/queue.d.ts +27 -5
- package/core/components/functional/queue/queue.js +88 -26
- package/core/components/functional/router/redirect.d.ts +11 -2
- package/core/components/functional/router/redirect.js +7 -12
- package/core/components/functional/router/router.d.ts +15 -1
- package/core/components/functional/router/router.js +11 -16
- package/core/components/functional/sdui/SDUIDescriptorTransformer.d.ts +1 -2
- package/core/components/functional/sdui/SDUIDescriptorTransformer.js +56 -45
- package/core/components/functional/sdui/default-library.json +108 -0
- package/core/components/functional/sdui/sdui-utils.d.ts +5 -0
- package/core/components/functional/sdui/sdui-utils.js +63 -0
- package/core/components/functional/sdui/sdui.d.ts +21 -13
- package/core/components/functional/sdui/sdui.js +70 -44
- package/core/components/functional/sdui/types.d.ts +10 -8
- package/core/components/functional/states/states.d.ts +20 -4
- package/core/components/functional/states/states.js +15 -20
- package/core/components/functional/submit/submit.d.ts +16 -1
- package/core/components/functional/submit/submit.js +95 -25
- package/core/components/functional/subscriber/subscriber.d.ts +4 -1
- package/core/components/functional/subscriber/subscriber.js +1 -6
- package/core/components/functional/value/value.d.ts +7 -0
- package/core/components/functional/value/value.js +26 -0
- package/core/components/ui/_css/scroll.js +6 -7
- package/core/components/ui/_css/size.d.ts +1 -0
- package/core/components/ui/_css/size.js +3 -1
- package/core/components/ui/alert/alert.d.ts +2 -2
- package/core/components/ui/alert/alert.js +11 -16
- package/core/components/ui/badge/badge.d.ts +3 -1
- package/core/components/ui/badge/badge.js +36 -22
- package/core/components/ui/button/button.d.ts +28 -23
- package/core/components/ui/button/button.js +60 -43
- package/core/components/ui/captcha/captcha.d.ts +14 -2
- package/core/components/ui/captcha/captcha.js +18 -13
- package/core/components/ui/card/card-footer.js +1 -8
- package/core/components/ui/card/card-header-descripton.js +3 -9
- package/core/components/ui/card/card-header.js +6 -7
- package/core/components/ui/card/card-main.js +0 -5
- package/core/components/ui/card/card.d.ts +1 -1
- package/core/components/ui/card/card.js +30 -12
- package/core/components/ui/divider/divider.d.ts +2 -0
- package/core/components/ui/divider/divider.js +43 -16
- package/core/components/ui/form/checkbox/checkbox.d.ts +86 -25
- package/core/components/ui/form/checkbox/checkbox.js +53 -28
- package/core/components/ui/form/css/form-control.d.ts +2 -0
- package/core/components/ui/form/css/form-control.js +145 -67
- package/core/components/ui/form/fieldset/fieldset.d.ts +8 -1
- package/core/components/ui/form/fieldset/fieldset.js +45 -8
- package/core/components/ui/form/fieldset/legend-description.js +0 -5
- package/core/components/ui/form/fieldset/legend.js +3 -6
- package/core/components/ui/form/form-actions/form-actions.d.ts +2 -0
- package/core/components/ui/form/form-actions/form-actions.js +26 -11
- package/core/components/ui/form/form-layout/form-layout.d.ts +5 -2
- package/core/components/ui/form/form-layout/form-layout.js +31 -9
- package/core/components/ui/form/input/input.d.ts +26 -24
- package/core/components/ui/form/input/input.js +87 -52
- package/core/components/ui/form/input/password-helper.d.ts +1 -1
- package/core/components/ui/form/input/password-helper.js +4 -3
- package/core/components/ui/form/input/same-value-helper.d.ts +1 -1
- package/core/components/ui/form/input/same-value-helper.js +3 -2
- package/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +2 -3
- package/core/components/ui/form/input-autocomplete/input-autocomplete.js +2 -6
- package/core/components/ui/form/radio/radio.d.ts +6 -0
- package/core/components/ui/form/radio/radio.js +7 -12
- package/core/components/ui/form/select/select.d.ts +25 -8
- package/core/components/ui/form/select/select.js +72 -41
- package/core/components/ui/form/textarea/textarea.d.ts +21 -19
- package/core/components/ui/form/textarea/textarea.js +29 -36
- package/core/components/ui/group/group.d.ts +11 -1
- package/core/components/ui/group/group.js +79 -17
- package/core/components/ui/icon/icon.d.ts +10 -3
- package/core/components/ui/icon/icon.js +16 -15
- package/core/components/ui/icon/icons.js +25 -20
- package/core/components/ui/icon/icons.json +1 -1
- package/core/components/ui/image/image.js +0 -5
- package/core/components/ui/link/link.d.ts +1 -1
- package/core/components/ui/link/link.js +2 -6
- package/core/components/ui/loader/loader.d.ts +1 -1
- package/core/components/ui/loader/loader.js +3 -9
- package/core/components/ui/menu/menu-item.js +4 -9
- package/core/components/ui/menu/menu.d.ts +9 -1
- package/core/components/ui/menu/menu.js +182 -27
- package/core/components/ui/modal/modal-actions.js +1 -6
- package/core/components/ui/modal/modal-close.d.ts +1 -0
- package/core/components/ui/modal/modal-close.js +14 -10
- package/core/components/ui/modal/modal-content.js +0 -5
- package/core/components/ui/modal/modal-subtitle.js +2 -6
- package/core/components/ui/modal/modal-title.js +0 -5
- package/core/components/ui/modal/modal.d.ts +7 -7
- package/core/components/ui/modal/modal.js +37 -37
- package/core/components/ui/pop/pop.d.ts +6 -5
- package/core/components/ui/pop/pop.js +57 -57
- package/core/components/ui/progress/progress.js +34 -32
- package/core/components/ui/table/table-caption.js +5 -10
- package/core/components/ui/table/table-tbody.js +10 -14
- package/core/components/ui/table/table-td.d.ts +2 -0
- package/core/components/ui/table/table-td.js +8 -5
- package/core/components/ui/table/table-tfoot.js +5 -7
- package/core/components/ui/table/table-th.d.ts +2 -0
- package/core/components/ui/table/table-th.js +12 -9
- package/core/components/ui/table/table-thead.js +1 -6
- package/core/components/ui/table/table-tr.js +4 -6
- package/core/components/ui/table/table.d.ts +0 -3
- package/core/components/ui/table/table.js +14 -31
- package/core/components/ui/theme/theme-collection/core-variables.js +13 -11
- package/core/components/ui/theme/theme-collection/dark.js +1 -1
- package/core/components/ui/theme/theme.d.ts +1 -6
- package/core/components/ui/theme/theme.js +19 -46
- package/core/components/ui/toast/message-subscriber.d.ts +16 -7
- package/core/components/ui/toast/message-subscriber.js +10 -8
- package/core/components/ui/toast/toast-item.js +1 -1
- package/core/components/ui/toast/toast.d.ts +3 -2
- package/core/components/ui/toast/toast.js +33 -19
- package/core/components/ui/toast/types.d.ts +3 -2
- package/core/components/ui/tooltip/tooltip.d.ts +1 -0
- package/core/components/ui/tooltip/tooltip.js +36 -15
- package/core/components/ui/ui.d.ts +1 -1
- package/core/components/ui/ui.js +1 -4
- package/core/core.js +5 -6
- package/core/mixins/Fetcher.d.ts +20 -13
- package/core/mixins/Fetcher.js +44 -19
- package/core/mixins/FormCheckable.d.ts +25 -13
- package/core/mixins/FormCheckable.js +180 -23
- package/core/mixins/FormElement.d.ts +17 -9
- package/core/mixins/FormElement.js +56 -39
- package/core/mixins/FormInput.d.ts +22 -12
- package/core/mixins/FormInput.js +4 -3
- package/core/mixins/Subscriber.d.ts +12 -8
- package/core/mixins/Subscriber.js +51 -48
- package/core/mixins/TemplatesContainer.d.ts +2 -1
- package/core/mixins/TemplatesContainer.js +2 -2
- package/core/utils/Arrays.d.ts +15 -15
- package/core/utils/Arrays.js +12 -9
- package/core/utils/DataBindObserver.d.ts +18 -11
- package/core/utils/DataBindObserver.js +47 -54
- package/core/utils/Electron.d.ts +5 -1
- package/core/utils/Electron.js +4 -2
- package/core/utils/HTML.d.ts +9 -2
- package/core/utils/HTML.js +24 -5
- package/core/utils/LocationHandler.d.ts +6 -5
- package/core/utils/LocationHandler.js +27 -16
- package/core/utils/Objects.d.ts +7 -4
- package/core/utils/Objects.js +37 -9
- package/core/utils/{PublisherProxy.d.mts → PublisherProxy.d.ts} +49 -34
- package/core/utils/{PublisherProxy.mjs → PublisherProxy.js} +107 -77
- package/core/utils/Utils.d.ts +3 -0
- package/core/utils/Utils.js +18 -0
- package/core/utils/api.d.ts +26 -9
- package/core/utils/api.js +62 -45
- package/img/concorde-logo.svg +1 -0
- package/img/concorde.png +0 -0
- package/img/concorde_def.png +0 -0
- package/mixins.d.ts +53 -29
- package/mixins.js +3 -4
- package/package.json +51 -12
- package/svg/regular/plane.svg +1 -0
- package/svg/solid/plane.svg +1 -0
- package/test-utils/TestUtils.d.ts +4 -0
- package/test-utils/TestUtils.js +12 -0
- package/utils.d.ts +3 -1
- package/utils.js +7 -5
- package/core/components/functional/configuration/configuration.d.ts +0 -5
- package/core/components/functional/configuration/configuration.js +0 -22
- package/core/components/ui/tabs/tab.d.ts +0 -6
- package/core/components/ui/tabs/tab.js +0 -46
- package/core/components/ui/tabs/tabs.d.ts +0 -15
- package/core/components/ui/tabs/tabs.js +0 -129
- package/core/components/ui/taxonomy/taxonomy.d.ts +0 -41
- package/core/components/ui/taxonomy/taxonomy.js +0 -115
|
@@ -4,17 +4,18 @@ 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
|
-
import { PublisherManager } from "@supersoniks/concorde/core/utils/PublisherProxy.mjs";
|
|
8
7
|
import { html, LitElement, css } from "lit";
|
|
9
8
|
import { customElement, property, queryAssignedNodes, state } from "lit/decorators.js";
|
|
10
9
|
import { classMap } from "lit/directives/class-map.js";
|
|
11
10
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
12
11
|
import { repeat } from "lit/directives/repeat.js";
|
|
13
|
-
import { formControl } from "@supersoniks/concorde/core/components/ui/form/css/form-control";
|
|
12
|
+
import { formControl, label, description } from "@supersoniks/concorde/core/components/ui/form/css/form-control";
|
|
14
13
|
import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
|
|
15
14
|
import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
|
|
16
15
|
import "@supersoniks/concorde/core/components/ui/icon/icon";
|
|
17
16
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
17
|
+
import { fontSize } from "@supersoniks/concorde/core/components/ui/_css/size";
|
|
18
|
+
const tagName = "sonic-select";
|
|
18
19
|
/**
|
|
19
20
|
* #### FormElement :
|
|
20
21
|
* * La propriété value est remplie automatiquement a l'aide de l'attribut name renseigné, ceci en prenant la valeur de la propriété du même nom dans les données du dataprovider associé.
|
|
@@ -22,7 +23,6 @@ import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
|
22
23
|
* * On peut cependant décider de mettre à jour la donnée à une autre adresse en renseigne l'attribut *formDataProvider*.
|
|
23
24
|
* * Par conséquent on peut par exemple le lier à un composant *queue* (via sa propriété *dataFilterProvider*) de manière à appeller en auto une api avec des filtres.
|
|
24
25
|
*/
|
|
25
|
-
const tagName = "sonic-select";
|
|
26
26
|
let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
27
27
|
constructor() {
|
|
28
28
|
super(...arguments);
|
|
@@ -30,6 +30,7 @@ let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
|
30
30
|
this.wordingKey = "wording";
|
|
31
31
|
this.multiple = false;
|
|
32
32
|
this._options = [];
|
|
33
|
+
this.hasDoneFirstUpdate = false;
|
|
33
34
|
this._value = "";
|
|
34
35
|
/*
|
|
35
36
|
* TODO
|
|
@@ -41,9 +42,15 @@ let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
|
41
42
|
this.hasSuffix = false;
|
|
42
43
|
this.hasPrefix = false;
|
|
43
44
|
}
|
|
44
|
-
set options(
|
|
45
|
-
this._options =
|
|
46
|
-
|
|
45
|
+
set options(options) {
|
|
46
|
+
this._options = options;
|
|
47
|
+
for (const option of options) {
|
|
48
|
+
if (option.selected) {
|
|
49
|
+
this.value = option.value || "";
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const value = this.value || this.getAttribute("value");
|
|
53
|
+
if (!value && this._options.length > 0) {
|
|
47
54
|
this.value = this._options[0][this.valueKey];
|
|
48
55
|
}
|
|
49
56
|
this.requestUpdate();
|
|
@@ -51,32 +58,39 @@ let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
|
51
58
|
get options() {
|
|
52
59
|
return this._options;
|
|
53
60
|
}
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
firstUpdated() {
|
|
62
|
+
this.hasDoneFirstUpdate = true;
|
|
56
63
|
}
|
|
57
64
|
set value(value) {
|
|
58
|
-
if (!
|
|
65
|
+
if (value == null && !this.hasDoneFirstUpdate)
|
|
59
66
|
return;
|
|
67
|
+
if (!value)
|
|
68
|
+
value = "";
|
|
60
69
|
if (this._value == value)
|
|
61
70
|
return;
|
|
62
71
|
this._value = value;
|
|
63
|
-
|
|
64
|
-
this.formDataProvider = this.getAncestorAttributeValue("formDataProvider");
|
|
65
|
-
if (this.formDataProvider) {
|
|
66
|
-
PublisherManager.getInstance().get(this.formDataProvider)[this._name] = value;
|
|
67
|
-
}
|
|
68
|
-
else if (this.publisher)
|
|
69
|
-
this.publisher[this._name] = value;
|
|
72
|
+
this.updateFormPublisherValue();
|
|
70
73
|
this.requestUpdate();
|
|
71
74
|
}
|
|
75
|
+
get value() {
|
|
76
|
+
return this._value;
|
|
77
|
+
}
|
|
78
|
+
updateFormPublisherValue() {
|
|
79
|
+
const formPublisher = this.getFormPublisher();
|
|
80
|
+
if (formPublisher) {
|
|
81
|
+
formPublisher[this.name] = this.value;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
72
84
|
connectedCallback() {
|
|
73
85
|
super.connectedCallback();
|
|
74
|
-
|
|
86
|
+
this.hasSlotOrProps();
|
|
87
|
+
const options = this.querySelectorAll("option");
|
|
75
88
|
if (options.length > 0) {
|
|
76
89
|
this.options = Array.from(options).map((option) => {
|
|
77
90
|
return {
|
|
78
91
|
value: option.value,
|
|
79
92
|
wording: option.text,
|
|
93
|
+
selected: option.hasAttribute("selected"),
|
|
80
94
|
};
|
|
81
95
|
});
|
|
82
96
|
}
|
|
@@ -99,23 +113,26 @@ let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
|
99
113
|
this._label = value;
|
|
100
114
|
this.requestUpdate();
|
|
101
115
|
}
|
|
102
|
-
|
|
116
|
+
willUpdate(changedProperties) {
|
|
117
|
+
this.hasSlotOrProps();
|
|
118
|
+
super.willUpdate(changedProperties);
|
|
119
|
+
}
|
|
120
|
+
hasSlotOrProps() {
|
|
103
121
|
var _a, _b, _c, _d;
|
|
104
122
|
this.hasLabel = this.label || ((_a = this.slotLabelNodes) === null || _a === void 0 ? void 0 : _a.length) ? true : false;
|
|
105
123
|
this.hasDescription = this.description || ((_b = this.slotDescriptionNodes) === null || _b === void 0 ? void 0 : _b.length) ? true : false;
|
|
106
124
|
this.hasSuffix = ((_c = this.slotSuffixNodes) === null || _c === void 0 ? void 0 : _c.length) ? true : false;
|
|
107
125
|
this.hasPrefix = ((_d = this.slotPrefixNodes) === null || _d === void 0 ? void 0 : _d.length) ? true : false;
|
|
108
126
|
}
|
|
109
|
-
onSlotChange() {
|
|
110
|
-
this.requestUpdate();
|
|
111
|
-
}
|
|
112
127
|
validateFormElement() {
|
|
113
128
|
var _a;
|
|
114
|
-
const
|
|
115
|
-
const select = (_a = that.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("select");
|
|
129
|
+
const select = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("select");
|
|
116
130
|
if (!select || select.checkValidity())
|
|
117
131
|
return;
|
|
118
|
-
this.getFormPublisher()
|
|
132
|
+
const formPublisher = this.getFormPublisher();
|
|
133
|
+
if (formPublisher) {
|
|
134
|
+
formPublisher.isFormValid = false;
|
|
135
|
+
}
|
|
119
136
|
select.reportValidity();
|
|
120
137
|
}
|
|
121
138
|
render() {
|
|
@@ -128,50 +145,69 @@ let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
|
128
145
|
<label for="form-element" class="${this.hasLabel ? "form-label" : "hidden"}"
|
|
129
146
|
>${this.label ? unsafeHTML(this.label /*+ labelStarSuffix*/) : ""}<slot
|
|
130
147
|
name="label"
|
|
131
|
-
@slotchange=${this.
|
|
148
|
+
@slotchange=${this.hasSlotOrProps}
|
|
132
149
|
></slot
|
|
133
150
|
></label>
|
|
134
151
|
|
|
135
152
|
<div class="form-control ${classMap(slotClasses)}">
|
|
136
|
-
<slot name="prefix" @slotchange=${this.
|
|
153
|
+
<slot name="prefix" @slotchange=${this.hasSlotOrProps}></slot>
|
|
137
154
|
<div class="form-select-wrapper">
|
|
138
155
|
<select
|
|
156
|
+
id="form-element"
|
|
139
157
|
@change=${this.handleChange}
|
|
140
158
|
@blur=${this.handleBlur}
|
|
141
|
-
disabled=${
|
|
159
|
+
?disabled=${this.disabled}
|
|
142
160
|
?required=${this.required}
|
|
143
161
|
?multiple=${this.multiple}
|
|
144
162
|
size=${ifDefined(this.selectSize)}
|
|
145
163
|
?autofocus=${this.autofocus}
|
|
146
164
|
.value="${this.value}"
|
|
147
165
|
class="form-element"
|
|
166
|
+
aria-label=${ifDefined(this.ariaLabel)}
|
|
167
|
+
aria-labelledby=${ifDefined(this.ariaLabelledby)}
|
|
148
168
|
>
|
|
149
169
|
${repeat(this.options, (option) => option[this.valueKey], (option) => {
|
|
150
|
-
const isSelected = this.value == option[this.valueKey] ?
|
|
151
|
-
return html `<option selected=${
|
|
170
|
+
const isSelected = this.value == option[this.valueKey] ? true : false;
|
|
171
|
+
return html `<option ?selected=${isSelected} value="${option[this.valueKey]}">
|
|
152
172
|
${option[this.wordingKey]}
|
|
153
173
|
</option>`;
|
|
154
174
|
})}
|
|
155
175
|
<slot></slot>
|
|
156
176
|
</select>
|
|
157
|
-
<sonic-icon class="select-chevron" name="nav-arrow-down" size
|
|
177
|
+
<sonic-icon class="select-chevron" name="nav-arrow-down" .size=${this.size}></sonic-icon>
|
|
158
178
|
</div>
|
|
159
|
-
<slot name="suffix" @slotchange=${this.
|
|
179
|
+
<slot name="suffix" @slotchange=${this.hasSlotOrProps}></slot>
|
|
160
180
|
</div>
|
|
161
181
|
|
|
162
|
-
<slot
|
|
182
|
+
<slot
|
|
183
|
+
name="description"
|
|
184
|
+
@slotchange=${this.hasSlotOrProps}
|
|
185
|
+
class="${this.hasDescription ? "form-description" : "hidden"}"
|
|
186
|
+
>
|
|
163
187
|
${this.description ? html `${unsafeHTML(this.description)}` : ""}
|
|
164
188
|
</slot>
|
|
165
189
|
`;
|
|
166
190
|
}
|
|
167
191
|
};
|
|
168
192
|
Select.styles = [
|
|
193
|
+
fontSize,
|
|
169
194
|
formControl,
|
|
195
|
+
label,
|
|
196
|
+
description,
|
|
170
197
|
css `
|
|
171
198
|
.form-element {
|
|
172
199
|
appearance: none;
|
|
173
|
-
padding-right: 2.5em;
|
|
174
200
|
}
|
|
201
|
+
|
|
202
|
+
:host([disabled]) sonic-icon {
|
|
203
|
+
opacity: 0;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* Désactive padding right pour les sélecteur désactivé avec une option*/
|
|
207
|
+
:host(:not([disabled])) .form-element:not(:has(option:only-child)) {
|
|
208
|
+
padding-right: max(1em, calc(0.8 * var(--sc-input-px)));
|
|
209
|
+
}
|
|
210
|
+
|
|
175
211
|
.form-select-wrapper {
|
|
176
212
|
position: relative;
|
|
177
213
|
width: 100%;
|
|
@@ -179,11 +215,11 @@ Select.styles = [
|
|
|
179
215
|
|
|
180
216
|
sonic-icon {
|
|
181
217
|
position: absolute;
|
|
182
|
-
right:
|
|
218
|
+
right: calc(0.8 * var(--sc-input-px));
|
|
183
219
|
top: 50%;
|
|
184
220
|
pointer-events: none;
|
|
185
221
|
transform: translateY(-50%);
|
|
186
|
-
color: var(--sc-input-
|
|
222
|
+
color: var(--sc-input-c);
|
|
187
223
|
}
|
|
188
224
|
|
|
189
225
|
option {
|
|
@@ -212,7 +248,7 @@ __decorate([
|
|
|
212
248
|
property({ type: Array })
|
|
213
249
|
], Select.prototype, "options", null);
|
|
214
250
|
__decorate([
|
|
215
|
-
property()
|
|
251
|
+
property({ reflect: true })
|
|
216
252
|
], Select.prototype, "value", null);
|
|
217
253
|
__decorate([
|
|
218
254
|
property({ type: Boolean })
|
|
@@ -251,8 +287,3 @@ Select = __decorate([
|
|
|
251
287
|
customElement(tagName)
|
|
252
288
|
], Select);
|
|
253
289
|
export { Select };
|
|
254
|
-
//Ajout pour Storybook
|
|
255
|
-
try {
|
|
256
|
-
customElements.define(tagName, Select);
|
|
257
|
-
}
|
|
258
|
-
catch (e) { }
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { LitElement } from "lit";
|
|
1
|
+
import { LitElement, PropertyValues } from "lit";
|
|
2
2
|
declare const Textarea_base: {
|
|
3
3
|
new (...args: any[]): {
|
|
4
4
|
validateFormElement(): void;
|
|
5
5
|
forceAutoFill: boolean;
|
|
6
|
-
_type: "number" | "search" | "file" | "button" | "
|
|
7
|
-
type: "number" | "search" | "file" | "button" | "
|
|
6
|
+
_type: "number" | "search" | "file" | "button" | "url" | "color" | "hidden" | "time" | "image" | "text" | "reset" | "submit" | "month" | "week" | "checkbox" | "radio" | "range" | "tel" | "email" | "date" | "datetime-local" | "password";
|
|
7
|
+
type: "number" | "search" | "file" | "button" | "url" | "color" | "hidden" | "time" | "image" | "text" | "reset" | "submit" | "month" | "week" | "checkbox" | "radio" | "range" | "tel" | "email" | "date" | "datetime-local" | "password";
|
|
8
8
|
_description?: string | undefined;
|
|
9
9
|
description: string | undefined;
|
|
10
10
|
_label?: string | undefined;
|
|
@@ -13,21 +13,27 @@ declare const Textarea_base: {
|
|
|
13
13
|
autocomplete?: "url" | "name" | "language" | "on" | "tel" | "email" | "honorific-prefix" | "given-name" | "additional-name" | "family-name" | "honorific-suffix" | "nickname" | "username" | "new-password" | "current-password" | "one-time-code" | "organization-title" | "organization" | "street-address" | "address-line1" | "address-line2" | "address-line3" | "address-level4" | "address-level3" | "address-level2" | "address-level1" | "country" | "country-name" | "postal-code" | "cc-name" | "cc-given-name" | "cc-additional-name" | "cc-family-name" | "cc-number" | "cc-exp" | "cc-exp-month" | "cc-exp-year" | "cc-csc" | "cc-type" | "transaction-currency" | "transaction-amount" | "bday" | "bday-day" | "bday-month" | "bday-year" | "sex" | "tel-country-code" | "tel-national" | "tel-area-code" | "tel-local" | "tel-extension" | "impp" | "photo" | undefined;
|
|
14
14
|
getFormPublisher(): any;
|
|
15
15
|
updateDataValue(): void;
|
|
16
|
-
handleChange(e?:
|
|
17
|
-
handleBlur(e?:
|
|
18
|
-
getValueForFormPublisher():
|
|
16
|
+
handleChange(e?: Event | undefined): void;
|
|
17
|
+
handleBlur(e?: Event | undefined): void;
|
|
18
|
+
getValueForFormPublisher(): string | object | string[] | null | undefined;
|
|
19
|
+
focus?: (() => void) | undefined;
|
|
20
|
+
shadowRoot?: ShadowRoot | undefined;
|
|
19
21
|
error: boolean;
|
|
20
22
|
autofocus: boolean;
|
|
21
23
|
required: boolean;
|
|
22
24
|
disabled: true | null;
|
|
23
25
|
formDataProvider: string;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
ariaLabelledby?: string | undefined;
|
|
27
|
+
ariaLabel?: string | undefined;
|
|
28
|
+
_value: string | object | string[] | null | undefined;
|
|
29
|
+
value: string | object | string[] | null | undefined;
|
|
26
30
|
_name: string;
|
|
27
31
|
name: string;
|
|
28
|
-
props:
|
|
29
|
-
propertyMap:
|
|
32
|
+
props: import("../../../../_types/types").CoreJSType;
|
|
33
|
+
propertyMap: object;
|
|
30
34
|
isConnected: boolean;
|
|
35
|
+
children: HTMLCollection;
|
|
36
|
+
appendChild(node: Node): Node;
|
|
31
37
|
getAncestorAttributeValue(attributeName: string): string;
|
|
32
38
|
hasAncestorAttribute(attributeName: string): boolean;
|
|
33
39
|
querySelectorAll(selector: string): NodeListOf<Element>;
|
|
@@ -47,10 +53,10 @@ declare const Textarea_base: {
|
|
|
47
53
|
connectedCallback(): void;
|
|
48
54
|
requestUpdate(): void;
|
|
49
55
|
getAttribute(name: string): string;
|
|
50
|
-
hasAttribute(attributeName:
|
|
56
|
+
hasAttribute(attributeName: string): boolean;
|
|
51
57
|
disconnectedCallback(): void;
|
|
52
58
|
};
|
|
53
|
-
} & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/FormElement").FormElementInterface) & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/Subscriber").SubscriberInterface) & typeof LitElement;
|
|
59
|
+
} & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/FormElement").FormElementInterface) & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/Subscriber").SubscriberInterface<import("../../../../_types/types").CoreJSType>) & typeof LitElement;
|
|
54
60
|
export declare class Textarea extends Textarea_base {
|
|
55
61
|
static styles: import("lit").CSSResult[];
|
|
56
62
|
size: "" | "xs" | "sm" | "lg";
|
|
@@ -63,15 +69,11 @@ export declare class Textarea extends Textarea_base {
|
|
|
63
69
|
placeholder?: string;
|
|
64
70
|
slotLabelNodes: Array<Node>;
|
|
65
71
|
slotDescriptionNodes: Array<Node>;
|
|
66
|
-
slotSuffixNodes: Array<Node>;
|
|
67
|
-
slotPrefixNodes: Array<Node>;
|
|
68
72
|
hasDescription: boolean;
|
|
69
73
|
hasLabel: boolean;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
updated(): void;
|
|
74
|
-
onSlotChange(): void;
|
|
74
|
+
connectedCallback(): void;
|
|
75
|
+
willUpdate(changedProperties: PropertyValues): void;
|
|
76
|
+
hasSlotOrProps(): void;
|
|
75
77
|
validateFormElement(): void;
|
|
76
78
|
render(): import("lit-html").TemplateResult<1>;
|
|
77
79
|
}
|
|
@@ -7,12 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { html, LitElement, css } from "lit";
|
|
8
8
|
import { customElement, property, state, queryAssignedNodes } from "lit/decorators.js";
|
|
9
9
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
10
|
-
import { formControl } from "@supersoniks/concorde/core/components/ui/form/css/form-control";
|
|
10
|
+
import { formControl, label, description } from "@supersoniks/concorde/core/components/ui/form/css/form-control";
|
|
11
11
|
import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
|
|
12
12
|
import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
|
|
13
13
|
import FormInput from "@supersoniks/concorde/core/mixins/FormInput";
|
|
14
14
|
import { customScroll } from "@supersoniks/concorde/core/components/ui/_css/scroll";
|
|
15
15
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
16
|
+
import { fontSize } from "@supersoniks/concorde/core/components/ui/_css/size";
|
|
16
17
|
const tagName = "sonic-textarea";
|
|
17
18
|
let Textarea = class Textarea extends FormInput(FormElement(Subscriber(LitElement))) {
|
|
18
19
|
constructor() {
|
|
@@ -24,27 +25,29 @@ let Textarea = class Textarea extends FormInput(FormElement(Subscriber(LitElemen
|
|
|
24
25
|
this.readonly = false;
|
|
25
26
|
this.hasDescription = false;
|
|
26
27
|
this.hasLabel = false;
|
|
27
|
-
this.hasSuffix = false;
|
|
28
|
-
this.hasPrefix = false;
|
|
29
|
-
this.slotClasses = {};
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
super.connectedCallback();
|
|
31
|
+
this.hasSlotOrProps();
|
|
32
|
+
}
|
|
33
|
+
willUpdate(changedProperties) {
|
|
34
|
+
this.hasSlotOrProps();
|
|
35
|
+
super.willUpdate(changedProperties);
|
|
36
|
+
}
|
|
37
|
+
hasSlotOrProps() {
|
|
38
|
+
var _a, _b;
|
|
33
39
|
this.hasLabel = this.label || ((_a = this.slotLabelNodes) === null || _a === void 0 ? void 0 : _a.length) ? true : false;
|
|
34
40
|
this.hasDescription = this.description || ((_b = this.slotDescriptionNodes) === null || _b === void 0 ? void 0 : _b.length) ? true : false;
|
|
35
|
-
this.hasSuffix = ((_c = this.slotSuffixNodes) === null || _c === void 0 ? void 0 : _c.length) ? true : false;
|
|
36
|
-
this.hasPrefix = ((_d = this.slotPrefixNodes) === null || _d === void 0 ? void 0 : _d.length) ? true : false;
|
|
37
|
-
}
|
|
38
|
-
onSlotChange() {
|
|
39
|
-
this.requestUpdate();
|
|
40
41
|
}
|
|
41
42
|
validateFormElement() {
|
|
42
43
|
var _a;
|
|
43
|
-
const
|
|
44
|
-
const textarea = (_a = that.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("textarea");
|
|
44
|
+
const textarea = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("textarea");
|
|
45
45
|
if (!textarea || textarea.checkValidity())
|
|
46
46
|
return;
|
|
47
|
-
this.getFormPublisher()
|
|
47
|
+
const formPublisher = this.getFormPublisher();
|
|
48
|
+
if (formPublisher) {
|
|
49
|
+
formPublisher.isFormValid = false;
|
|
50
|
+
}
|
|
48
51
|
textarea.reportValidity();
|
|
49
52
|
}
|
|
50
53
|
render() {
|
|
@@ -53,12 +56,13 @@ let Textarea = class Textarea extends FormInput(FormElement(Subscriber(LitElemen
|
|
|
53
56
|
<label for="form-element" class="${this.hasLabel ? "form-label" : "hidden"}"
|
|
54
57
|
>${this.label ? unsafeHTML(this.label /*+ labelStarSuffix*/) : ""}<slot
|
|
55
58
|
name="label"
|
|
56
|
-
@slotchange=${this.
|
|
59
|
+
@slotchange=${this.hasSlotOrProps}
|
|
57
60
|
></slot
|
|
58
61
|
></label>
|
|
59
62
|
|
|
60
63
|
<div class="form-control">
|
|
61
64
|
<textarea
|
|
65
|
+
id="form-element"
|
|
62
66
|
@input=${this.handleChange}
|
|
63
67
|
@blur=${this.handleBlur}
|
|
64
68
|
disabled=${ifDefined(this.disabled)}
|
|
@@ -75,19 +79,28 @@ let Textarea = class Textarea extends FormInput(FormElement(Subscriber(LitElemen
|
|
|
75
79
|
wrap=${ifDefined(this.wrap)}
|
|
76
80
|
placeholder="${this.placeholder}"
|
|
77
81
|
class="form-element textarea custom-scroll"
|
|
82
|
+
aria-label=${ifDefined(this.ariaLabel)}
|
|
83
|
+
aria-labelledby=${ifDefined(this.ariaLabelledby)}
|
|
78
84
|
>
|
|
79
85
|
${this.value}</textarea
|
|
80
86
|
>
|
|
81
87
|
</div>
|
|
82
88
|
|
|
83
|
-
<slot
|
|
89
|
+
<slot
|
|
90
|
+
name="description"
|
|
91
|
+
@slotchange=${this.hasSlotOrProps}
|
|
92
|
+
class="${this.hasDescription ? "form-description" : "hidden"}"
|
|
93
|
+
>
|
|
84
94
|
${this.description ? html `${unsafeHTML(this.description)}` : ""}
|
|
85
95
|
</slot>
|
|
86
96
|
`;
|
|
87
97
|
}
|
|
88
98
|
};
|
|
89
99
|
Textarea.styles = [
|
|
100
|
+
fontSize,
|
|
90
101
|
formControl,
|
|
102
|
+
label,
|
|
103
|
+
description,
|
|
91
104
|
customScroll,
|
|
92
105
|
css `
|
|
93
106
|
textarea {
|
|
@@ -125,33 +138,13 @@ __decorate([
|
|
|
125
138
|
__decorate([
|
|
126
139
|
queryAssignedNodes({ slot: "description" })
|
|
127
140
|
], Textarea.prototype, "slotDescriptionNodes", void 0);
|
|
128
|
-
__decorate([
|
|
129
|
-
queryAssignedNodes({ slot: "suffix" })
|
|
130
|
-
], Textarea.prototype, "slotSuffixNodes", void 0);
|
|
131
|
-
__decorate([
|
|
132
|
-
queryAssignedNodes({ slot: "prefix" })
|
|
133
|
-
], Textarea.prototype, "slotPrefixNodes", void 0);
|
|
134
141
|
__decorate([
|
|
135
142
|
state()
|
|
136
143
|
], Textarea.prototype, "hasDescription", void 0);
|
|
137
144
|
__decorate([
|
|
138
145
|
state()
|
|
139
146
|
], Textarea.prototype, "hasLabel", void 0);
|
|
140
|
-
__decorate([
|
|
141
|
-
state()
|
|
142
|
-
], Textarea.prototype, "hasSuffix", void 0);
|
|
143
|
-
__decorate([
|
|
144
|
-
state()
|
|
145
|
-
], Textarea.prototype, "hasPrefix", void 0);
|
|
146
|
-
__decorate([
|
|
147
|
-
property()
|
|
148
|
-
], Textarea.prototype, "slotClasses", void 0);
|
|
149
147
|
Textarea = __decorate([
|
|
150
148
|
customElement(tagName)
|
|
151
149
|
], Textarea);
|
|
152
150
|
export { Textarea };
|
|
153
|
-
//Ajout pour Storybook
|
|
154
|
-
try {
|
|
155
|
-
customElements.define(tagName, Textarea);
|
|
156
|
-
}
|
|
157
|
-
catch (e) { }
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
import { LitElement } from "lit";
|
|
1
|
+
import { LitElement, PropertyValues } from "lit";
|
|
2
2
|
export declare class Group extends LitElement {
|
|
3
|
+
alignItems: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
slotLabelNodes: Array<Node>;
|
|
7
|
+
slotDescriptionNodes: Array<Node>;
|
|
8
|
+
hasDescription: boolean;
|
|
9
|
+
hasLabel: boolean;
|
|
3
10
|
static styles: import("lit").CSSResult[];
|
|
4
11
|
updated(): void;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
willUpdate(changedProperties: PropertyValues): void;
|
|
14
|
+
hasSlotOrProps(): void;
|
|
5
15
|
render(): import("lit-html").TemplateResult<1>;
|
|
6
16
|
}
|
|
@@ -5,54 +5,116 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement, css } from "lit";
|
|
8
|
-
import {
|
|
8
|
+
import { styleMap } from "lit/directives/style-map.js";
|
|
9
|
+
import { customElement, property, state, queryAssignedNodes } from "lit/decorators.js";
|
|
10
|
+
import { label, description } from "@supersoniks/concorde/core/components/ui/form/css/form-control";
|
|
11
|
+
import { fontSize } from "@supersoniks/concorde/core/components/ui/_css/size";
|
|
12
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
9
13
|
const tagName = "sonic-group";
|
|
10
14
|
let Group = class Group extends LitElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.alignItems = "center";
|
|
18
|
+
this.hasDescription = false;
|
|
19
|
+
this.hasLabel = false;
|
|
20
|
+
}
|
|
11
21
|
updated() {
|
|
12
22
|
const children = this.querySelectorAll("sonic-input, sonic-button");
|
|
13
23
|
const nbChildren = children.length;
|
|
14
24
|
if (nbChildren > 1) {
|
|
15
25
|
children.forEach((item, index) => {
|
|
26
|
+
const htmlElement = item;
|
|
16
27
|
if (index === 0) {
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
htmlElement.style.setProperty("--sc-item-rounded-tr", "0");
|
|
29
|
+
htmlElement.style.setProperty("--sc-item-rounded-br", "0");
|
|
19
30
|
}
|
|
20
31
|
else if (index === nbChildren - 1) {
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
htmlElement.style.setProperty("--sc-item-rounded-tl", "0");
|
|
33
|
+
htmlElement.style.setProperty("--sc-item-rounded-bl", "0");
|
|
23
34
|
}
|
|
24
35
|
else {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
36
|
+
htmlElement.style.setProperty("--sc-item-rounded-tr", "0");
|
|
37
|
+
htmlElement.style.setProperty("--sc-item-rounded-br", "0");
|
|
38
|
+
htmlElement.style.setProperty("--sc-item-rounded-tl", "0");
|
|
39
|
+
htmlElement.style.setProperty("--sc-item-rounded-bl", "0");
|
|
29
40
|
}
|
|
30
41
|
});
|
|
31
42
|
}
|
|
32
43
|
}
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
super.connectedCallback();
|
|
46
|
+
this.hasSlotOrProps();
|
|
47
|
+
}
|
|
48
|
+
willUpdate(changedProperties) {
|
|
49
|
+
this.hasSlotOrProps();
|
|
50
|
+
super.willUpdate(changedProperties);
|
|
51
|
+
}
|
|
52
|
+
hasSlotOrProps() {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
this.hasLabel = this.label || ((_a = this.slotLabelNodes) === null || _a === void 0 ? void 0 : _a.length) ? true : false;
|
|
55
|
+
this.hasDescription = this.description || ((_b = this.slotDescriptionNodes) === null || _b === void 0 ? void 0 : _b.length) ? true : false;
|
|
56
|
+
}
|
|
33
57
|
render() {
|
|
34
|
-
|
|
58
|
+
const slotStyle = {
|
|
59
|
+
alignItems: this.alignItems,
|
|
60
|
+
};
|
|
61
|
+
return html `<span class="${this.hasLabel ? "form-label" : "hidden"}"
|
|
62
|
+
>${this.label ? unsafeHTML(this.label /*+ labelStarSuffix*/) : ""}<slot
|
|
63
|
+
name="label"
|
|
64
|
+
@slotchange=${this.hasSlotOrProps}
|
|
65
|
+
></slot
|
|
66
|
+
></span>
|
|
67
|
+
<slot class="main-slot" style=${styleMap(slotStyle)}></slot>
|
|
68
|
+
<slot
|
|
69
|
+
name="description"
|
|
70
|
+
@slotchange=${this.hasSlotOrProps}
|
|
71
|
+
class="${this.hasDescription ? "form-description" : "hidden"}"
|
|
72
|
+
>
|
|
73
|
+
${this.description ? html `${unsafeHTML(this.description)}` : ""}
|
|
74
|
+
</slot>`;
|
|
35
75
|
}
|
|
36
76
|
};
|
|
37
77
|
Group.styles = [
|
|
78
|
+
fontSize,
|
|
79
|
+
label,
|
|
80
|
+
description,
|
|
38
81
|
css `
|
|
39
82
|
:host {
|
|
40
|
-
display: inline-
|
|
83
|
+
display: inline-block;
|
|
41
84
|
vertical-align: middle;
|
|
42
85
|
}
|
|
43
86
|
|
|
44
|
-
slot {
|
|
87
|
+
.main-slot {
|
|
45
88
|
width: 100%;
|
|
46
89
|
display: flex;
|
|
47
|
-
|
|
90
|
+
}
|
|
91
|
+
.hidden {
|
|
92
|
+
display: none;
|
|
48
93
|
}
|
|
49
94
|
`,
|
|
50
95
|
];
|
|
96
|
+
__decorate([
|
|
97
|
+
property({ type: String })
|
|
98
|
+
], Group.prototype, "alignItems", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
property({ type: String })
|
|
101
|
+
], Group.prototype, "label", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
property({ type: String })
|
|
104
|
+
], Group.prototype, "description", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
queryAssignedNodes({ slot: "label" })
|
|
107
|
+
], Group.prototype, "slotLabelNodes", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
queryAssignedNodes({ slot: "description" })
|
|
110
|
+
], Group.prototype, "slotDescriptionNodes", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
state()
|
|
113
|
+
], Group.prototype, "hasDescription", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
state()
|
|
116
|
+
], Group.prototype, "hasLabel", void 0);
|
|
51
117
|
Group = __decorate([
|
|
52
118
|
customElement(tagName)
|
|
53
119
|
], Group);
|
|
54
120
|
export { Group };
|
|
55
|
-
try {
|
|
56
|
-
customElements.define(tagName, Group);
|
|
57
|
-
}
|
|
58
|
-
catch (e) { }
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
import { DirectiveResult } from "lit/directive";
|
|
3
|
+
import { UnsafeHTMLDirective } from "lit/directives/unsafe-html";
|
|
4
|
+
/**
|
|
5
|
+
* Afficher l'icone choisie parmis une liste prédéfinie dans icons.json
|
|
6
|
+
* les tailles suivantes sont disponible via l'attribut *size* : 2xs,xs,sm,"",lg,xl,2xl
|
|
7
|
+
*/
|
|
2
8
|
export declare class Icon extends LitElement {
|
|
3
9
|
static styles: import("lit").CSSResult;
|
|
4
|
-
|
|
5
|
-
|
|
10
|
+
renderId: number;
|
|
11
|
+
updateIcon(): void;
|
|
12
|
+
iconText: DirectiveResult<typeof UnsafeHTMLDirective> | string;
|
|
6
13
|
/**
|
|
7
14
|
* Nom identifiant l'icone ex : *info*
|
|
8
15
|
*/
|
|
@@ -21,5 +28,5 @@ export declare class Icon extends LitElement {
|
|
|
21
28
|
private _library;
|
|
22
29
|
get library(): string;
|
|
23
30
|
set library(newLibrary: string);
|
|
24
|
-
render():
|
|
31
|
+
render(): DirectiveResult<typeof UnsafeHTMLDirective>;
|
|
25
32
|
}
|