@supersoniks/concorde 1.0.7 → 1.0.8
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/README.md +16 -8
- package/cli.js +69 -0
- package/core/components/functional/date/date.d.ts +34 -0
- package/core/components/functional/date/date.js +187 -0
- package/core/components/functional/example/example.d.ts +7 -0
- package/core/components/functional/example/example.js +25 -0
- package/core/components/functional/fetch/fetch.d.ts +49 -0
- package/core/components/functional/fetch/fetch.js +38 -0
- package/core/components/functional/functional.d.ts +11 -0
- package/core/components/functional/functional.js +11 -0
- package/core/components/functional/if/if.d.ts +12 -0
- package/core/components/functional/if/if.js +43 -0
- package/core/components/functional/list/list.d.ts +67 -0
- package/core/components/functional/list/list.js +132 -0
- package/core/components/functional/queue/queue.d.ts +42 -0
- package/core/components/functional/queue/queue.js +184 -0
- package/core/components/functional/router/redirect.d.ts +18 -0
- package/core/components/functional/router/redirect.js +57 -0
- package/core/components/functional/router/router.d.ts +26 -0
- package/core/components/functional/router/router.js +104 -0
- package/core/components/functional/states/states.d.ts +28 -0
- package/core/components/functional/states/states.js +139 -0
- package/core/components/functional/submit/submit.d.ts +24 -0
- package/core/components/functional/submit/submit.js +108 -0
- package/{types/core/components → core/components/functional/subscriber}/subscriber.d.ts +5 -1
- package/core/components/functional/subscriber/subscriber.js +30 -0
- package/core/components/ui/alert/alert.d.ts +20 -0
- package/core/components/ui/alert/alert.js +150 -0
- package/core/components/ui/badge/badge.d.ts +24 -0
- package/core/components/ui/badge/badge.js +177 -0
- package/core/components/ui/button/button.d.ts +125 -0
- package/core/components/ui/button/button.js +558 -0
- package/core/components/ui/divider/divider.d.ts +11 -0
- package/core/components/ui/divider/divider.js +144 -0
- package/core/components/ui/form/checkbox/checkbox.d.ts +120 -0
- package/core/components/ui/form/checkbox/checkbox.js +203 -0
- package/core/components/ui/form/css/form-control.d.ts +1 -0
- package/core/components/ui/form/css/form-control.js +219 -0
- package/core/components/ui/form/fieldset/fieldset.d.ts +15 -0
- package/core/components/ui/form/fieldset/fieldset.js +70 -0
- package/core/components/ui/form/fieldset/legend.d.ts +11 -0
- package/core/components/ui/form/fieldset/legend.js +92 -0
- package/core/components/ui/form/form-layout/form-actions.d.ts +6 -0
- package/core/components/ui/form/form-layout/form-actions.js +23 -0
- package/core/components/ui/form/form-layout/form-layout.d.ts +9 -0
- package/core/components/ui/form/form-layout/form-layout.js +58 -0
- package/core/components/ui/form/input/input.d.ts +84 -0
- package/core/components/ui/form/input/input.js +180 -0
- package/core/components/ui/form/radio/radio.d.ts +12 -0
- package/core/components/ui/form/radio/radio.js +55 -0
- package/core/components/ui/form/select/select.d.ts +39 -0
- package/core/components/ui/form/select/select.js +220 -0
- package/core/components/ui/form/textarea/textarea.d.ts +69 -0
- package/core/components/ui/form/textarea/textarea.js +150 -0
- package/core/components/ui/group/group.d.ts +6 -0
- package/core/components/ui/group/group.js +57 -0
- package/core/components/ui/icon/icon.d.ts +17 -0
- package/core/components/ui/icon/icon.js +93 -0
- package/core/components/ui/icon/icons.d.ts +13 -0
- package/core/components/ui/icon/icons.js +25 -0
- package/core/components/ui/icon/icons.json +1 -0
- package/core/components/ui/image/image.d.ts +14 -0
- package/core/components/ui/image/image.js +152 -0
- package/core/components/ui/link/link.d.ts +16 -0
- package/core/components/ui/link/link.js +70 -0
- package/core/components/ui/loader/loader.d.ts +20 -0
- package/core/components/ui/loader/loader.js +94 -0
- package/{types → core}/components/ui/loader/styles/fixed.d.ts +0 -0
- package/core/components/ui/loader/styles/fixed.js +57 -0
- package/{types → core}/components/ui/loader/styles/inline.d.ts +0 -0
- package/core/components/ui/loader/styles/inline.js +71 -0
- package/core/components/ui/menu/menu-item.d.ts +5 -0
- package/core/components/ui/menu/menu-item.js +37 -0
- package/core/components/ui/menu/menu.d.ts +26 -0
- package/core/components/ui/menu/menu.js +125 -0
- package/core/components/ui/modal/modal-actions.d.ts +7 -0
- package/core/components/ui/modal/modal-actions.js +46 -0
- package/core/components/ui/modal/modal-close.d.ts +6 -0
- package/core/components/ui/modal/modal-close.js +38 -0
- package/core/components/ui/modal/modal-content.d.ts +5 -0
- package/core/components/ui/modal/modal-content.js +29 -0
- package/core/components/ui/modal/modal-subtitle.d.ts +5 -0
- package/core/components/ui/modal/modal-subtitle.js +33 -0
- package/core/components/ui/modal/modal-title.d.ts +5 -0
- package/core/components/ui/modal/modal-title.js +33 -0
- package/core/components/ui/modal/modal.d.ts +36 -0
- package/core/components/ui/modal/modal.js +325 -0
- package/core/components/ui/pop/pop.d.ts +28 -0
- package/core/components/ui/pop/pop.js +223 -0
- package/core/components/ui/tabs/tab.d.ts +6 -0
- package/core/components/ui/tabs/tab.js +46 -0
- package/core/components/ui/tabs/tabs.d.ts +14 -0
- package/core/components/ui/tabs/tabs.js +127 -0
- package/core/components/ui/taxonomy/taxonomy.d.ts +41 -0
- package/core/components/ui/taxonomy/taxonomy.js +113 -0
- package/core/components/ui/theme/css/tailwind.css +3 -0
- package/core/components/ui/theme/css/tailwind.d.ts +2 -0
- package/core/components/ui/theme/theme-collection/core-variables.d.ts +1 -0
- package/core/components/ui/theme/theme-collection/core-variables.js +50 -0
- package/{types/components → core/components/ui}/theme/theme-collection/dark.d.ts +0 -0
- package/core/components/ui/theme/theme-collection/dark.js +41 -0
- package/{types/components → core/components/ui}/theme/theme-collection/light.d.ts +0 -0
- package/core/components/ui/theme/theme-collection/light.js +35 -0
- package/core/components/ui/theme/theme.d.ts +11 -0
- package/core/components/ui/theme/theme.js +105 -0
- package/core/components/ui/toast/message-subscriber.d.ts +17 -0
- package/core/components/ui/toast/message-subscriber.js +85 -0
- package/{types → core}/components/ui/toast/toast.d.ts +10 -8
- package/core/components/ui/toast/toast.js +260 -0
- package/core/components/ui/tooltip/tooltip.d.ts +7 -0
- package/core/components/ui/tooltip/tooltip.js +68 -0
- package/core/components/ui/ui.d.ts +27 -0
- package/core/components/ui/ui.js +34 -0
- package/core/core.d.ts +3 -0
- package/core/core.js +7 -0
- package/core/mixins/Fetcher.d.ts +69 -0
- package/core/mixins/Fetcher.js +147 -0
- package/core/mixins/FormCheckable.d.ts +72 -0
- package/core/mixins/FormCheckable.js +144 -0
- package/core/mixins/FormElement.d.ts +21 -0
- package/core/mixins/FormElement.js +229 -0
- package/core/mixins/FormInput.d.ts +49 -0
- package/core/mixins/FormInput.js +33 -0
- package/core/mixins/Subscriber.d.ts +30 -0
- package/core/mixins/Subscriber.js +379 -0
- package/core/mixins/TemplatesContainer.d.ts +12 -0
- package/core/mixins/TemplatesContainer.js +60 -0
- package/core/mixins/mixins.d.ts +6 -0
- package/core/mixins/mixins.js +6 -0
- package/core/utils/Arrays.d.ts +97 -0
- package/core/utils/Arrays.js +136 -0
- package/core/utils/DataBindObserver.d.ts +74 -0
- package/core/utils/DataBindObserver.js +252 -0
- package/core/utils/Format.d.ts +11 -0
- package/core/utils/Format.js +22 -0
- package/core/utils/HTML.d.ts +13 -0
- package/core/utils/HTML.js +26 -0
- package/core/utils/LocationHandler.d.ts +44 -0
- package/core/utils/LocationHandler.js +96 -0
- package/core/utils/Objects.d.ts +23 -0
- package/core/utils/Objects.js +63 -0
- package/core/utils/PublisherProxy.d.mts +110 -0
- package/core/utils/PublisherProxy.mjs +365 -0
- package/core/utils/api.d.ts +66 -0
- package/core/utils/api.js +145 -0
- package/package.json +179 -21
- package/LICENSE +0 -43
- package/dist/concorde.bundle.js +0 -3620
- package/types/components/event/event-card/event-card.d.ts +0 -10
- package/types/components/event/event-title/event-title.d.ts +0 -7
- package/types/components/event/event.d.ts +0 -8
- package/types/components/giftcards/giftcard/giftcard.d.ts +0 -15
- package/types/components/illustration/illustration.d.ts +0 -16
- package/types/components/product/prices-form/price-button/price-button.d.ts +0 -25
- package/types/components/product/prices-form/prices-form.d.ts +0 -23
- package/types/components/theme/theme-collection/bootstrap5.d.ts +0 -1
- package/types/components/theme/theme-collection/dracula.d.ts +0 -1
- package/types/components/theme/theme.d.ts +0 -8
- package/types/components/ui/button/button.d.ts +0 -13
- package/types/components/ui/loader/loader.d.ts +0 -15
- package/types/components/ui/modal/modal.d.ts +0 -17
- package/types/components/ui/tooltip/tooltip.d.ts +0 -9
- package/types/core/components/fetch.d.ts +0 -6
- package/types/core/components/list.d.ts +0 -9
- package/types/core/components/queue.d.ts +0 -15
- package/types/core/components/taxonomy.d.ts +0 -13
- package/types/core/components/text-formatted.d.ts +0 -15
- package/types/core/components/text.d.ts +0 -9
- package/types/core/core.d.ts +0 -7
- package/types/core/mixins/Fetcher.d.ts +0 -9
- package/types/core/mixins/Subscriber.d.ts +0 -13
- package/types/core/utils/api.d.ts +0 -16
- package/types/index.d.ts +0 -12
- package/types/styles/button/button.d.ts +0 -1
- package/types/styles/prose/prose.d.ts +0 -2
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { PublisherManager } from "@supersoniks/concorde/core/utils/PublisherProxy.mjs";
|
|
8
|
+
import { html, LitElement, css } from "lit";
|
|
9
|
+
import { customElement, property, queryAssignedNodes, state } from "lit/decorators.js";
|
|
10
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
11
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
12
|
+
import { repeat } from "lit/directives/repeat.js";
|
|
13
|
+
import { formControl } from "../css/form-control";
|
|
14
|
+
import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
|
|
15
|
+
import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
|
|
16
|
+
import "@supersoniks/concorde/core/components/ui/icon/icon";
|
|
17
|
+
/**
|
|
18
|
+
* #### FormElement :
|
|
19
|
+
* * 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é.
|
|
20
|
+
* * Par défault lorsque l'on édite l'input, la valeur est également mise à jour via le même dataprovider
|
|
21
|
+
* * On peut cependant décider de mettre à jour la donnée à une autre adresse en renseigne l'attribut *formDataProvider*.
|
|
22
|
+
* * 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.
|
|
23
|
+
*/
|
|
24
|
+
let Select = class Select extends FormElement(Subscriber(LitElement)) {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.valueKey = "value";
|
|
28
|
+
this.wordingKey = "wording";
|
|
29
|
+
this.multiple = null;
|
|
30
|
+
this.size = "";
|
|
31
|
+
this.selectSize = null;
|
|
32
|
+
this._options = [];
|
|
33
|
+
this._value = "";
|
|
34
|
+
/*
|
|
35
|
+
* TODO
|
|
36
|
+
* Mutualiser avec le composant select
|
|
37
|
+
*/
|
|
38
|
+
this.label = "";
|
|
39
|
+
this.description = "";
|
|
40
|
+
this.hasDescription = false;
|
|
41
|
+
this.hasLabel = false;
|
|
42
|
+
this.hasSuffix = false;
|
|
43
|
+
this.hasPrefix = false;
|
|
44
|
+
}
|
|
45
|
+
set options(value) {
|
|
46
|
+
this._options = value;
|
|
47
|
+
if (!this.value && this._options.length > 0) {
|
|
48
|
+
this.value = this._options[0][this.valueKey];
|
|
49
|
+
}
|
|
50
|
+
this.requestUpdate();
|
|
51
|
+
}
|
|
52
|
+
get options() {
|
|
53
|
+
return this._options;
|
|
54
|
+
}
|
|
55
|
+
get value() {
|
|
56
|
+
return this._value;
|
|
57
|
+
}
|
|
58
|
+
set value(value) {
|
|
59
|
+
if (!value)
|
|
60
|
+
return;
|
|
61
|
+
if (this._value == value)
|
|
62
|
+
return;
|
|
63
|
+
this._value = value;
|
|
64
|
+
if (!this.formDataProvider)
|
|
65
|
+
this.formDataProvider = this.getAncestorAttributeValue("formDataProvider");
|
|
66
|
+
if (this.formDataProvider) {
|
|
67
|
+
PublisherManager.getInstance().get(this.formDataProvider)[this._name] = value;
|
|
68
|
+
}
|
|
69
|
+
else if (this.publisher)
|
|
70
|
+
this.publisher[this._name] = value;
|
|
71
|
+
this.requestUpdate();
|
|
72
|
+
}
|
|
73
|
+
connectedCallback() {
|
|
74
|
+
super.connectedCallback();
|
|
75
|
+
let options = this.querySelectorAll("option");
|
|
76
|
+
if (options.length > 0) {
|
|
77
|
+
this.options = Array.from(options).map((option) => {
|
|
78
|
+
return {
|
|
79
|
+
value: option.value,
|
|
80
|
+
wording: option.text,
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
updated() {
|
|
86
|
+
var _a, _b, _c, _d;
|
|
87
|
+
this.hasLabel = this.label || ((_a = this.slotLabelNodes) === null || _a === void 0 ? void 0 : _a.length) ? true : false;
|
|
88
|
+
this.hasDescription = this.description || ((_b = this.slotDescriptionNodes) === null || _b === void 0 ? void 0 : _b.length) ? true : false;
|
|
89
|
+
this.hasSuffix = ((_c = this.slotSuffixNodes) === null || _c === void 0 ? void 0 : _c.length) ? true : false;
|
|
90
|
+
this.hasPrefix = ((_d = this.slotPrefixNodes) === null || _d === void 0 ? void 0 : _d.length) ? true : false;
|
|
91
|
+
}
|
|
92
|
+
onSlotChange() {
|
|
93
|
+
this.requestUpdate();
|
|
94
|
+
}
|
|
95
|
+
render() {
|
|
96
|
+
const slotClasses = {
|
|
97
|
+
"has-prefix": this.hasPrefix,
|
|
98
|
+
"has-suffix": this.hasSuffix,
|
|
99
|
+
};
|
|
100
|
+
return html `
|
|
101
|
+
<label for="form-element" class="${this.hasLabel ? "form-label" : "hidden"}"
|
|
102
|
+
>${this.label ? this.label : ""}<slot name="label" @slotchange=${this.onSlotChange}></slot
|
|
103
|
+
></label>
|
|
104
|
+
|
|
105
|
+
<div class="form-control ${classMap(slotClasses)}">
|
|
106
|
+
<slot name="prefix" @slotchange=${this.onSlotChange}></slot>
|
|
107
|
+
<div class="form-select-wrapper">
|
|
108
|
+
<select
|
|
109
|
+
@change=${this.handleChange}
|
|
110
|
+
disabled=${ifDefined(this.multiple)}
|
|
111
|
+
size=${ifDefined(this.selectSize)}
|
|
112
|
+
autofocus=${ifDefined(this.autofocus)}
|
|
113
|
+
required=${ifDefined(this.required)}
|
|
114
|
+
.value="${this.value}"
|
|
115
|
+
class="form-element"
|
|
116
|
+
>
|
|
117
|
+
${repeat(this.options, (option) => option[this.valueKey], (option) => {
|
|
118
|
+
const isSelected = this.value == option[this.valueKey] ? "selected" : null;
|
|
119
|
+
return html `<option selected=${ifDefined(isSelected)} value="${option[this.valueKey]}">
|
|
120
|
+
${option[this.wordingKey]}
|
|
121
|
+
</option>`;
|
|
122
|
+
})}
|
|
123
|
+
<slot></slot>
|
|
124
|
+
</select>
|
|
125
|
+
<sonic-icon prefix="iconoir" name="nav-arrow-down" size="${this.size}"></sonic-icon>
|
|
126
|
+
</div>
|
|
127
|
+
<slot name="suffix" @slotchange=${this.onSlotChange}></slot>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<slot name="description" class=" ${this.hasDescription ? "form-description" : "hidden"}">
|
|
131
|
+
${this.description ? html `${this.description}` : ""}
|
|
132
|
+
</slot>
|
|
133
|
+
`;
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
Select.styles = [
|
|
137
|
+
formControl,
|
|
138
|
+
css `
|
|
139
|
+
.form-element {
|
|
140
|
+
appearance: none;
|
|
141
|
+
}
|
|
142
|
+
.form-select-wrapper {
|
|
143
|
+
position: relative;
|
|
144
|
+
width: 100%;
|
|
145
|
+
}
|
|
146
|
+
sonic-icon {
|
|
147
|
+
position: absolute;
|
|
148
|
+
right: 1em;
|
|
149
|
+
top: 50%;
|
|
150
|
+
pointer-events: none;
|
|
151
|
+
transform: translateY(-50%);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
option {
|
|
155
|
+
padding: 0.1rem 5rem;
|
|
156
|
+
color: var(--sc-base-content);
|
|
157
|
+
background: var(--sc-base);
|
|
158
|
+
}
|
|
159
|
+
`,
|
|
160
|
+
];
|
|
161
|
+
__decorate([
|
|
162
|
+
property({ type: String })
|
|
163
|
+
], Select.prototype, "valueKey", void 0);
|
|
164
|
+
__decorate([
|
|
165
|
+
property({ type: String })
|
|
166
|
+
], Select.prototype, "wordingKey", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
property({ type: Boolean })
|
|
169
|
+
], Select.prototype, "multiple", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
property({ type: String })
|
|
172
|
+
], Select.prototype, "size", void 0);
|
|
173
|
+
__decorate([
|
|
174
|
+
property({ type: String })
|
|
175
|
+
], Select.prototype, "selectSize", void 0);
|
|
176
|
+
__decorate([
|
|
177
|
+
property({ type: Array })
|
|
178
|
+
], Select.prototype, "options", null);
|
|
179
|
+
__decorate([
|
|
180
|
+
property()
|
|
181
|
+
], Select.prototype, "value", null);
|
|
182
|
+
__decorate([
|
|
183
|
+
property({ type: String })
|
|
184
|
+
], Select.prototype, "label", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
property({ type: String })
|
|
187
|
+
], Select.prototype, "description", void 0);
|
|
188
|
+
__decorate([
|
|
189
|
+
queryAssignedNodes({ slot: "label" })
|
|
190
|
+
], Select.prototype, "slotLabelNodes", void 0);
|
|
191
|
+
__decorate([
|
|
192
|
+
queryAssignedNodes({ slot: "description" })
|
|
193
|
+
], Select.prototype, "slotDescriptionNodes", void 0);
|
|
194
|
+
__decorate([
|
|
195
|
+
queryAssignedNodes({ slot: "suffix" })
|
|
196
|
+
], Select.prototype, "slotSuffixNodes", void 0);
|
|
197
|
+
__decorate([
|
|
198
|
+
queryAssignedNodes({ slot: "prefix" })
|
|
199
|
+
], Select.prototype, "slotPrefixNodes", void 0);
|
|
200
|
+
__decorate([
|
|
201
|
+
state()
|
|
202
|
+
], Select.prototype, "hasDescription", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
state()
|
|
205
|
+
], Select.prototype, "hasLabel", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
state()
|
|
208
|
+
], Select.prototype, "hasSuffix", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
state()
|
|
211
|
+
], Select.prototype, "hasPrefix", void 0);
|
|
212
|
+
Select = __decorate([
|
|
213
|
+
customElement("sonic-select")
|
|
214
|
+
], Select);
|
|
215
|
+
export { Select };
|
|
216
|
+
//Ajout pour Storybook
|
|
217
|
+
try {
|
|
218
|
+
customElements.define("sonic-select", Select);
|
|
219
|
+
}
|
|
220
|
+
catch (e) { }
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
declare const Textarea_base: {
|
|
3
|
+
new (...args: any[]): {
|
|
4
|
+
type: "number" | "search" | "file" | "button" | "password" | "url" | "color" | "hidden" | "time" | "image" | "text" | "reset" | "submit" | "month" | "week" | "checkbox" | "radio" | "range" | "tel" | "email" | "date" | "datetime-local";
|
|
5
|
+
tabindex: string | null;
|
|
6
|
+
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" | null;
|
|
7
|
+
getFormPublisher(): any;
|
|
8
|
+
updateDataValue(): void;
|
|
9
|
+
handleChange(e?: any): void;
|
|
10
|
+
getValueForFormPublisher(): any;
|
|
11
|
+
error: true | null;
|
|
12
|
+
autofocus: true | null;
|
|
13
|
+
disabled: true | null;
|
|
14
|
+
required: true | null;
|
|
15
|
+
formDataProvider: string;
|
|
16
|
+
_value: any;
|
|
17
|
+
value: any;
|
|
18
|
+
_name: string;
|
|
19
|
+
name: string;
|
|
20
|
+
props: any;
|
|
21
|
+
getAncestorAttributeValue(attributeName: string): string;
|
|
22
|
+
hasAncestorAttribute(attributeName: string): boolean;
|
|
23
|
+
querySelectorAll(selector: string): NodeListOf<Element>;
|
|
24
|
+
publisher: any;
|
|
25
|
+
dataProvider: String;
|
|
26
|
+
noShadowDom: string | null;
|
|
27
|
+
debug: HTMLElement | null;
|
|
28
|
+
defferedDebug: boolean | null;
|
|
29
|
+
makeShadow(props: Record<string, any>, value: any): any;
|
|
30
|
+
dispatchEvent(event: Event): void;
|
|
31
|
+
setAttribute(name: string, value: string): void;
|
|
32
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
|
|
33
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
|
|
34
|
+
removeAttribute(name: string): void;
|
|
35
|
+
initPublisher(): void;
|
|
36
|
+
getApiConfiguration(): import("../../../../utils/api").APIConfiguration;
|
|
37
|
+
connectedCallback(): void;
|
|
38
|
+
requestUpdate(): void;
|
|
39
|
+
getAttribute(name: string): string;
|
|
40
|
+
hasAttribute(attributeName: String): boolean;
|
|
41
|
+
disconnectedCallback(): void;
|
|
42
|
+
};
|
|
43
|
+
} & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/FormElement").FormElementInterface) & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/Subscriber").SubscriberInterface) & typeof LitElement;
|
|
44
|
+
export declare class Textarea extends Textarea_base {
|
|
45
|
+
static styles: import("lit").CSSResult[];
|
|
46
|
+
size: "" | "xs" | "sm" | "lg";
|
|
47
|
+
rows: string;
|
|
48
|
+
cols: string;
|
|
49
|
+
maxlength: string;
|
|
50
|
+
minlength: string;
|
|
51
|
+
wrap: "hard" | "soft" | null;
|
|
52
|
+
readonly: boolean | null;
|
|
53
|
+
placeholder: string;
|
|
54
|
+
label: string;
|
|
55
|
+
description: string;
|
|
56
|
+
slotLabelNodes: Array<Node>;
|
|
57
|
+
slotDescriptionNodes: Array<Node>;
|
|
58
|
+
slotSuffixNodes: Array<Node>;
|
|
59
|
+
slotPrefixNodes: Array<Node>;
|
|
60
|
+
hasDescription: true | false;
|
|
61
|
+
hasLabel: true | false;
|
|
62
|
+
hasSuffix: true | false;
|
|
63
|
+
hasPrefix: true | false;
|
|
64
|
+
slotClasses: {};
|
|
65
|
+
updated(): void;
|
|
66
|
+
onSlotChange(): void;
|
|
67
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, LitElement, css } from "lit";
|
|
8
|
+
import { customElement, property, state, queryAssignedNodes } from "lit/decorators.js";
|
|
9
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
10
|
+
import { formControl } from "../css/form-control";
|
|
11
|
+
import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
|
|
12
|
+
import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
|
|
13
|
+
import FormInput from "@supersoniks/concorde/core/mixins/FormInput";
|
|
14
|
+
let Textarea = class Textarea extends FormInput(FormElement(Subscriber(LitElement))) {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
// @property({ type: String })
|
|
18
|
+
// type: "" | "primary" | "warning" | "danger" | "success" | "info" = "";
|
|
19
|
+
// @property({ type: String }) variant: "" | "ghost" | "outline" = "";
|
|
20
|
+
this.size = "";
|
|
21
|
+
this.rows = "";
|
|
22
|
+
this.cols = "";
|
|
23
|
+
this.maxlength = "";
|
|
24
|
+
this.minlength = "";
|
|
25
|
+
this.wrap = null;
|
|
26
|
+
this.readonly = null;
|
|
27
|
+
this.placeholder = "";
|
|
28
|
+
/*
|
|
29
|
+
* TODO
|
|
30
|
+
* Mutualiser avec le composant select
|
|
31
|
+
*/
|
|
32
|
+
this.label = "";
|
|
33
|
+
this.description = "";
|
|
34
|
+
this.hasDescription = false;
|
|
35
|
+
this.hasLabel = false;
|
|
36
|
+
this.hasSuffix = false;
|
|
37
|
+
this.hasPrefix = false;
|
|
38
|
+
this.slotClasses = {};
|
|
39
|
+
}
|
|
40
|
+
updated() {
|
|
41
|
+
var _a, _b, _c, _d;
|
|
42
|
+
this.hasLabel = this.label || ((_a = this.slotLabelNodes) === null || _a === void 0 ? void 0 : _a.length) ? true : false;
|
|
43
|
+
this.hasDescription = this.description || ((_b = this.slotDescriptionNodes) === null || _b === void 0 ? void 0 : _b.length) ? true : false;
|
|
44
|
+
this.hasSuffix = ((_c = this.slotSuffixNodes) === null || _c === void 0 ? void 0 : _c.length) ? true : false;
|
|
45
|
+
this.hasPrefix = ((_d = this.slotPrefixNodes) === null || _d === void 0 ? void 0 : _d.length) ? true : false;
|
|
46
|
+
}
|
|
47
|
+
onSlotChange() {
|
|
48
|
+
this.requestUpdate();
|
|
49
|
+
}
|
|
50
|
+
render() {
|
|
51
|
+
return html `
|
|
52
|
+
<label for="form-element" class="${this.hasLabel ? "form-label" : "hidden"}"
|
|
53
|
+
>${this.label ? this.label : ""}<slot name="label" @slotchange=${this.onSlotChange}></slot
|
|
54
|
+
></label>
|
|
55
|
+
|
|
56
|
+
<div class="form-control">
|
|
57
|
+
<textarea
|
|
58
|
+
@input=${this.handleChange}
|
|
59
|
+
disabled=${ifDefined(this.disabled)}
|
|
60
|
+
autocomplete=${ifDefined(this.autocomplete)}
|
|
61
|
+
autofocus=${ifDefined(this.autofocus)}
|
|
62
|
+
rows=${ifDefined(this.rows)}
|
|
63
|
+
cols=${ifDefined(this.cols)}
|
|
64
|
+
maxlength=${ifDefined(this.maxlength)}
|
|
65
|
+
minlength=${ifDefined(this.minlength)}
|
|
66
|
+
readonly=${ifDefined(this.readonly)}
|
|
67
|
+
spellcheck=${ifDefined(this.spellcheck)}
|
|
68
|
+
wrap=${ifDefined(this.wrap)}
|
|
69
|
+
class="form-element textarea"
|
|
70
|
+
placeholder="${this.placeholder}"
|
|
71
|
+
>
|
|
72
|
+
${this.value}</textarea
|
|
73
|
+
>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<slot name="description" class=" ${this.hasDescription ? "form-description" : "hidden"}">
|
|
77
|
+
${this.description ? html `${this.description}` : ""}
|
|
78
|
+
</slot>
|
|
79
|
+
`;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
Textarea.styles = [
|
|
83
|
+
formControl,
|
|
84
|
+
css `
|
|
85
|
+
textarea {
|
|
86
|
+
font-size: inherit;
|
|
87
|
+
}
|
|
88
|
+
`,
|
|
89
|
+
];
|
|
90
|
+
__decorate([
|
|
91
|
+
property({ type: String })
|
|
92
|
+
], Textarea.prototype, "size", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
property({ type: String })
|
|
95
|
+
], Textarea.prototype, "rows", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
property({ type: String })
|
|
98
|
+
], Textarea.prototype, "cols", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
property({ type: String })
|
|
101
|
+
], Textarea.prototype, "maxlength", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
property({ type: String })
|
|
104
|
+
], Textarea.prototype, "minlength", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
property({ type: String })
|
|
107
|
+
], Textarea.prototype, "wrap", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
property({ type: Boolean })
|
|
110
|
+
], Textarea.prototype, "readonly", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
property({ type: String })
|
|
113
|
+
], Textarea.prototype, "placeholder", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
property({ type: String })
|
|
116
|
+
], Textarea.prototype, "label", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
property({ type: String })
|
|
119
|
+
], Textarea.prototype, "description", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
queryAssignedNodes({ slot: "label" })
|
|
122
|
+
], Textarea.prototype, "slotLabelNodes", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
queryAssignedNodes({ slot: "description" })
|
|
125
|
+
], Textarea.prototype, "slotDescriptionNodes", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
queryAssignedNodes({ slot: "suffix" })
|
|
128
|
+
], Textarea.prototype, "slotSuffixNodes", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
queryAssignedNodes({ slot: "prefix" })
|
|
131
|
+
], Textarea.prototype, "slotPrefixNodes", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
state()
|
|
134
|
+
], Textarea.prototype, "hasDescription", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
state()
|
|
137
|
+
], Textarea.prototype, "hasLabel", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
state()
|
|
140
|
+
], Textarea.prototype, "hasSuffix", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
state()
|
|
143
|
+
], Textarea.prototype, "hasPrefix", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
property()
|
|
146
|
+
], Textarea.prototype, "slotClasses", void 0);
|
|
147
|
+
Textarea = __decorate([
|
|
148
|
+
customElement("sonic-textarea")
|
|
149
|
+
], Textarea);
|
|
150
|
+
export { Textarea };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, LitElement, css } from "lit";
|
|
8
|
+
import { customElement } from "lit/decorators.js";
|
|
9
|
+
let Group = class Group extends LitElement {
|
|
10
|
+
updated() {
|
|
11
|
+
const children = this.querySelectorAll("sonic-input, sonic-button");
|
|
12
|
+
const nbChildren = children.length;
|
|
13
|
+
if (nbChildren > 1) {
|
|
14
|
+
children.forEach((item, index) => {
|
|
15
|
+
if (index === 0) {
|
|
16
|
+
item.style.setProperty("--sc-item-rounded-tr", "0");
|
|
17
|
+
item.style.setProperty("--sc-item-rounded-br", "0");
|
|
18
|
+
}
|
|
19
|
+
else if (index === nbChildren - 1) {
|
|
20
|
+
item.style.setProperty("--sc-item-rounded-tl", "0");
|
|
21
|
+
item.style.setProperty("--sc-item-rounded-bl", "0");
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
item.style.setProperty("--sc-item-rounded-tr", "0");
|
|
25
|
+
item.style.setProperty("--sc-item-rounded-br", "0");
|
|
26
|
+
item.style.setProperty("--sc-item-rounded-tl", "0");
|
|
27
|
+
item.style.setProperty("--sc-item-rounded-bl", "0");
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
render() {
|
|
33
|
+
return html `<slot></slot>`;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
Group.styles = [
|
|
37
|
+
css `
|
|
38
|
+
:host {
|
|
39
|
+
display: inline-flex;
|
|
40
|
+
vertical-align: middle;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
slot {
|
|
44
|
+
width: 100%;
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: flex-end;
|
|
47
|
+
}
|
|
48
|
+
`,
|
|
49
|
+
];
|
|
50
|
+
Group = __decorate([
|
|
51
|
+
customElement("sonic-group")
|
|
52
|
+
], Group);
|
|
53
|
+
export { Group };
|
|
54
|
+
try {
|
|
55
|
+
customElements.define("sonic-group", Group);
|
|
56
|
+
}
|
|
57
|
+
catch (e) { }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LitElement, nothing } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Afficher l'icone choisie parmis une liste prédéfinie dans icons.json
|
|
4
|
+
* les tailles suivantes sont disponible via l'attribut *size* : 2xs,xs,sm,"",lg,xl,2xl
|
|
5
|
+
*/
|
|
6
|
+
export declare class Icon extends LitElement {
|
|
7
|
+
static styles: import("lit").CSSResult;
|
|
8
|
+
/**
|
|
9
|
+
* Nom identifiant l'icone ex : *info*
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* prefix de l'icone si nécessaire ex: *solid*. La valeur par défaut est "" qui est mappée sur *regular*
|
|
14
|
+
*/
|
|
15
|
+
prefix: string;
|
|
16
|
+
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
17
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, LitElement, css, nothing } from "lit";
|
|
8
|
+
import { customElement, property } from "lit/decorators.js";
|
|
9
|
+
import Icons from "./icons";
|
|
10
|
+
/**
|
|
11
|
+
* Afficher l'icone choisie parmis une liste prédéfinie dans icons.json
|
|
12
|
+
* les tailles suivantes sont disponible via l'attribut *size* : 2xs,xs,sm,"",lg,xl,2xl
|
|
13
|
+
*/
|
|
14
|
+
let Icon = class Icon extends LitElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
/**
|
|
18
|
+
* Nom identifiant l'icone ex : *info*
|
|
19
|
+
*/
|
|
20
|
+
this.name = "";
|
|
21
|
+
/**
|
|
22
|
+
* prefix de l'icone si nécessaire ex: *solid*. La valeur par défaut est "" qui est mappée sur *regular*
|
|
23
|
+
*/
|
|
24
|
+
this.prefix = "";
|
|
25
|
+
}
|
|
26
|
+
render() {
|
|
27
|
+
if (!this.name) {
|
|
28
|
+
this.style.display = "none";
|
|
29
|
+
return nothing;
|
|
30
|
+
}
|
|
31
|
+
this.style.removeProperty("display");
|
|
32
|
+
return html `${Icons.default.get({ name: this.name, prefix: this.prefix })}`;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
Icon.styles = css `
|
|
36
|
+
:host {
|
|
37
|
+
line-height: 0;
|
|
38
|
+
width: fit-content;
|
|
39
|
+
height: fit-content;
|
|
40
|
+
vertical-align: -0.125em;
|
|
41
|
+
}
|
|
42
|
+
svg {
|
|
43
|
+
height: var(--sc-icon-size, 1em);
|
|
44
|
+
width: var(--sc-icon-size, 1em);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
svg:not([fill="none"]){
|
|
48
|
+
fill: currentColor;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
svg[fill="none"]{
|
|
52
|
+
stroke-width: 2;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:host([size="2xs"]) svg {
|
|
56
|
+
--sc-icon-size: 0.625em;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:host([size="xs"]) svg {
|
|
60
|
+
--sc-icon-size: 0.75em;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:host([size="sm"]) svg {
|
|
64
|
+
--sc-icon-size: 0.875em;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
:host([size="lg"]) svg {
|
|
68
|
+
--sc-icon-size: 1.25em;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:host([size="xl"]) svg {
|
|
72
|
+
--sc-icon-size: 1.5em;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:host([size="2xl"]) svg {
|
|
76
|
+
--sc-icon-size: 2em;
|
|
77
|
+
}
|
|
78
|
+
`;
|
|
79
|
+
__decorate([
|
|
80
|
+
property({ type: String })
|
|
81
|
+
], Icon.prototype, "name", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
property({ type: String })
|
|
84
|
+
], Icon.prototype, "prefix", void 0);
|
|
85
|
+
Icon = __decorate([
|
|
86
|
+
customElement("sonic-icon")
|
|
87
|
+
], Icon);
|
|
88
|
+
export { Icon };
|
|
89
|
+
//Ajout pour la creation du cem notamment pour Storybook
|
|
90
|
+
try {
|
|
91
|
+
customElements.define("sonic-icon", Icon);
|
|
92
|
+
}
|
|
93
|
+
catch (e) { }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare type IconConf = {
|
|
2
|
+
name: string;
|
|
3
|
+
prefix?: string;
|
|
4
|
+
};
|
|
5
|
+
export default class Icons {
|
|
6
|
+
static fontAwesomeNext: {
|
|
7
|
+
get: (params: IconConf) => import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-html").UnsafeHTMLDirective>;
|
|
8
|
+
};
|
|
9
|
+
static registerIcons(newIcons: Record<string, Record<string, string>>): void;
|
|
10
|
+
static default: {
|
|
11
|
+
get: (params: IconConf) => import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-html").UnsafeHTMLDirective>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
2
|
+
import icons from "./icons.json";
|
|
3
|
+
;
|
|
4
|
+
export default class Icons {
|
|
5
|
+
static registerIcons(newIcons) {
|
|
6
|
+
const record = icons;
|
|
7
|
+
for (let prefix in newIcons) {
|
|
8
|
+
const newObj = newIcons[prefix];
|
|
9
|
+
const currentRecord = record[prefix] || {};
|
|
10
|
+
for (let name in newObj) {
|
|
11
|
+
currentRecord[name] = newObj[name];
|
|
12
|
+
}
|
|
13
|
+
record[prefix] = currentRecord;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
Icons.fontAwesomeNext = {
|
|
18
|
+
get: (params) => {
|
|
19
|
+
var _a;
|
|
20
|
+
let prefix = ((_a = params.prefix) === null || _a === void 0 ? void 0 : _a.replace("far", "regular").replace("fas", "solid")) || "regular";
|
|
21
|
+
let record = icons;
|
|
22
|
+
return unsafeHTML(record[prefix][params.name] || "");
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
Icons.default = Icons.fontAwesomeNext;
|
|
@@ -0,0 +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","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"}}
|