@schukai/monster 3.114.7 → 3.115.1
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/CHANGELOG.md +16 -0
- package/package.json +1 -1
- package/source/components/content/camera.mjs +1 -1
- package/source/components/content/fetch-box.mjs +339 -0
- package/source/components/content/style/fetch-box.pcss +36 -0
- package/source/components/content/stylesheet/fetch-box.mjs +38 -0
- package/source/components/style/mixin/skeleton.pcss +12 -14
- package/source/components/style/skeleton.css +25 -31
- package/source/components/style/skeleton.pcss +7 -13
- package/source/components/style/typography.css +8 -4
- package/source/components/stylesheet/skeleton.mjs +1 -1
- package/source/monster.mjs +1 -0
- package/source/types/version.mjs +1 -1
- package/test/cases/monster.mjs +1 -1
- package/test/web/test.html +2 -2
- package/test/web/tests.js +19 -19
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,22 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
## [3.115.1] - 2025-04-01
|
6
|
+
|
7
|
+
### Bug Fixes
|
8
|
+
|
9
|
+
- update test and monster.mjs [#303](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/303)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## [3.115.0] - 2025-04-01
|
14
|
+
|
15
|
+
### Add Features
|
16
|
+
|
17
|
+
- new fetch-box control [#303](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/303)
|
18
|
+
|
19
|
+
|
20
|
+
|
5
21
|
## [3.114.7] - 2025-03-30
|
6
22
|
|
7
23
|
### Bug Fixes
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.13","@popperjs/core":"^2.11.8","buffer":"^6.0.3"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"3.
|
1
|
+
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.13","@popperjs/core":"^2.11.8","buffer":"^6.0.3"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"3.115.1"}
|
@@ -69,7 +69,7 @@ const emptyHistoryStateElementSymbol = Symbol("emptyHistoryStateElement");
|
|
69
69
|
*
|
70
70
|
* @fragments /fragments/components/content/camera-capture/
|
71
71
|
*
|
72
|
-
* @example /examples/components/content/camera-capture/
|
72
|
+
* @example /examples/components/content/camera-capture-simple/
|
73
73
|
*
|
74
74
|
* @since 3.111.0
|
75
75
|
* @copyright schukai GmbH
|
@@ -0,0 +1,339 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
|
3
|
+
* Node module: @schukai/monster
|
4
|
+
*
|
5
|
+
* This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
|
6
|
+
* The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
|
7
|
+
*
|
8
|
+
* For those who do not wish to adhere to the AGPLv3, a commercial license is available.
|
9
|
+
* Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
|
10
|
+
* For more information about purchasing a commercial license, please contact schukai GmbH.
|
11
|
+
*/
|
12
|
+
|
13
|
+
import { instanceSymbol } from "../../constants.mjs";
|
14
|
+
import { ATTRIBUTE_ROLE } from "../../dom/constants.mjs";
|
15
|
+
import { CustomElement } from "../../dom/customelement.mjs";
|
16
|
+
import {
|
17
|
+
assembleMethodSymbol,
|
18
|
+
registerCustomElement,
|
19
|
+
} from "../../dom/customelement.mjs";
|
20
|
+
import { isString } from "../../types/is.mjs";
|
21
|
+
import { FetchBoxStyleSheet } from "./stylesheet/fetch-box.mjs";
|
22
|
+
import { addErrorAttribute } from "../../dom/error.mjs";
|
23
|
+
import { Formatter } from "../../text/formatter.mjs";
|
24
|
+
|
25
|
+
export { FetchBox };
|
26
|
+
|
27
|
+
/**
|
28
|
+
* @private
|
29
|
+
* @type {symbol}
|
30
|
+
*/
|
31
|
+
export const fetchBoxElementSymbol = Symbol("fetchBoxElement");
|
32
|
+
|
33
|
+
/**
|
34
|
+
* A FetchBox
|
35
|
+
*
|
36
|
+
* @fragments /fragments/components/content/fetch-box/
|
37
|
+
*
|
38
|
+
* @example /examples/components/content/fetch-box-simple
|
39
|
+
*
|
40
|
+
* @since 3.115.0
|
41
|
+
* @copyright schukai GmbH
|
42
|
+
* @summary A beautiful FetchBox that can make your life easier and also looks good. Its like a box, but it fetches data from a URL.
|
43
|
+
*/
|
44
|
+
class FetchBox extends CustomElement {
|
45
|
+
/**
|
46
|
+
* This method is called by the `instanceof` operator.
|
47
|
+
* @returns {symbol}
|
48
|
+
*/
|
49
|
+
static get [instanceSymbol]() {
|
50
|
+
return Symbol.for(
|
51
|
+
"@schukai/monster/components/content/fetch-box@@instance",
|
52
|
+
);
|
53
|
+
}
|
54
|
+
|
55
|
+
/**
|
56
|
+
*
|
57
|
+
* @return {Components.Content.FetchBox
|
58
|
+
*/
|
59
|
+
[assembleMethodSymbol]() {
|
60
|
+
super[assembleMethodSymbol]();
|
61
|
+
initControlReferences.call(this);
|
62
|
+
return this;
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Handles the component's connection to the DOM.
|
67
|
+
* Determines the styling of the component based on its parent's tag name.
|
68
|
+
* Fetches necessary data for the component.
|
69
|
+
*
|
70
|
+
* @return {void} This method does not return a value.
|
71
|
+
*/
|
72
|
+
connectedCallback() {
|
73
|
+
super.connectedCallback();
|
74
|
+
|
75
|
+
const parent = this.parentElement;
|
76
|
+
|
77
|
+
if (parent) {
|
78
|
+
const blockLevelElements = [
|
79
|
+
"DIV",
|
80
|
+
"SECTION",
|
81
|
+
"ARTICLE",
|
82
|
+
"HEADER",
|
83
|
+
"FOOTER",
|
84
|
+
"MAIN",
|
85
|
+
"NAV",
|
86
|
+
"ASIDE",
|
87
|
+
];
|
88
|
+
const isBlockLevel = blockLevelElements.includes(parent.tagName);
|
89
|
+
|
90
|
+
if (isBlockLevel) {
|
91
|
+
this.style.display = "block";
|
92
|
+
this.style.width = "100%";
|
93
|
+
this.style.height = "100%";
|
94
|
+
} else {
|
95
|
+
this.style.display = "inline-flex";
|
96
|
+
this.style.height = "100%";
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
this.fetch();
|
101
|
+
}
|
102
|
+
|
103
|
+
/**
|
104
|
+
* To set the options via the HTML Tag, the attribute `data-monster-options` must be used.
|
105
|
+
* @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
|
106
|
+
*
|
107
|
+
* The individual configuration values can be found in the table.
|
108
|
+
*
|
109
|
+
* @property {Object} templates Template definitions
|
110
|
+
* @property {string} templates.main Main template
|
111
|
+
* @property {Object} classes CSS classes
|
112
|
+
* @property {string} classes.default CSS class for the main template
|
113
|
+
* @property {string} classes.loading CSS class for the loading template
|
114
|
+
* @property {string} classes.error CSS class for the error template
|
115
|
+
* @property {string} classes.empty CSS class for the empty template
|
116
|
+
* @property {Object} fetch fetch options for the request
|
117
|
+
* @property {string} fetch.redirect error, follow, manual
|
118
|
+
* @property {string} fetch.method GET, POST, PUT, DELETE
|
119
|
+
* @property {string} fetch.mode same-origin, cors, no-cors, navigate
|
120
|
+
* @property {string} fetch.credentials omit, same-origin, include
|
121
|
+
* @property {Object} fetch.headers
|
122
|
+
* @property {string} fetch.headers.accept text/html, application/json
|
123
|
+
* @property {string} fetch.headers.content-type application/json
|
124
|
+
* @property {string} parameter value for the data url
|
125
|
+
* @property {Object} formatter
|
126
|
+
* @property {Object} formatter.marker
|
127
|
+
* @property {string} formatter.marker.open marker for the url
|
128
|
+
* @property {string} formatter.marker.close marker for the url
|
129
|
+
* @property {string} url url to fetch
|
130
|
+
*/
|
131
|
+
get defaults() {
|
132
|
+
return Object.assign({}, super.defaults, {
|
133
|
+
templates: {
|
134
|
+
main: getTemplate(),
|
135
|
+
},
|
136
|
+
classes: {
|
137
|
+
default: "monster-fetch-box-default",
|
138
|
+
loading: "loading",
|
139
|
+
error: "error",
|
140
|
+
empty: "empty",
|
141
|
+
},
|
142
|
+
data: {},
|
143
|
+
url: null,
|
144
|
+
fetch: {
|
145
|
+
redirect: "error",
|
146
|
+
method: "GET",
|
147
|
+
mode: "same-origin",
|
148
|
+
credentials: "same-origin",
|
149
|
+
headers: {
|
150
|
+
accept: "text/html",
|
151
|
+
},
|
152
|
+
},
|
153
|
+
|
154
|
+
content: {
|
155
|
+
// <slot name="loading"></slot>
|
156
|
+
loading: `<div class="monster-skeleton-animated monster-skeleton-col-100"></div>`,
|
157
|
+
error: `<slot name="error"></slot>`,
|
158
|
+
empty: `<slot name="empty"></slot>`,
|
159
|
+
},
|
160
|
+
visible: "loading",
|
161
|
+
parameter: null,
|
162
|
+
|
163
|
+
formatter: {
|
164
|
+
marker: {
|
165
|
+
open: null,
|
166
|
+
close: null,
|
167
|
+
},
|
168
|
+
},
|
169
|
+
});
|
170
|
+
}
|
171
|
+
|
172
|
+
/**
|
173
|
+
* @return {string}
|
174
|
+
*/
|
175
|
+
static getTag() {
|
176
|
+
return "monster-fetch-box";
|
177
|
+
}
|
178
|
+
|
179
|
+
/**
|
180
|
+
* @return {CSSStyleSheet[]}
|
181
|
+
*/
|
182
|
+
static getCSSStyleSheet() {
|
183
|
+
return [FetchBoxStyleSheet];
|
184
|
+
}
|
185
|
+
|
186
|
+
/**
|
187
|
+
* load content from url
|
188
|
+
*/
|
189
|
+
fetch() {
|
190
|
+
try {
|
191
|
+
return loadContent
|
192
|
+
.call(this)
|
193
|
+
.then((obj) => {
|
194
|
+
if (obj.type !== "application/json") {
|
195
|
+
this.setOption("visible", "error");
|
196
|
+
throw new Error("not a json response");
|
197
|
+
}
|
198
|
+
|
199
|
+
try {
|
200
|
+
const content = obj.content;
|
201
|
+
if (!isString(content) || content === "") {
|
202
|
+
this.setOption("visible", "empty");
|
203
|
+
return;
|
204
|
+
}
|
205
|
+
|
206
|
+
const jsonContent = JSON.parse(content);
|
207
|
+
if (jsonContent === null) {
|
208
|
+
this.setOption("visible", "empty");
|
209
|
+
return;
|
210
|
+
}
|
211
|
+
|
212
|
+
this.setOption("data", jsonContent);
|
213
|
+
this.setOption("visible", "default");
|
214
|
+
} catch (e) {
|
215
|
+
this.setOption("visible", "error");
|
216
|
+
throw e;
|
217
|
+
}
|
218
|
+
})
|
219
|
+
.catch((e) => {
|
220
|
+
this.setOption("visible", "error");
|
221
|
+
addErrorAttribute(this, e);
|
222
|
+
});
|
223
|
+
} catch (e) {
|
224
|
+
addErrorAttribute(this, e);
|
225
|
+
this.setOption("visible", "error");
|
226
|
+
return Promise.reject(e);
|
227
|
+
}
|
228
|
+
}
|
229
|
+
}
|
230
|
+
|
231
|
+
/**
|
232
|
+
* @private
|
233
|
+
* @throws {Error} missing url
|
234
|
+
* @throws {Error} we won't be able to read the data
|
235
|
+
* @throws {Error} request failed
|
236
|
+
* @return {Promise}
|
237
|
+
*/
|
238
|
+
function loadContent() {
|
239
|
+
let url = this.getOption("url");
|
240
|
+
|
241
|
+
if (url instanceof URL) {
|
242
|
+
url = url.toString();
|
243
|
+
}
|
244
|
+
|
245
|
+
if (!isString(url) || url === "") {
|
246
|
+
throw new Error("missing url");
|
247
|
+
}
|
248
|
+
|
249
|
+
let p = this.getOption("parameter", null);
|
250
|
+
if (p === null) {
|
251
|
+
p = "";
|
252
|
+
}
|
253
|
+
|
254
|
+
const data = {
|
255
|
+
parameter: p,
|
256
|
+
};
|
257
|
+
|
258
|
+
const formatter = new Formatter(data);
|
259
|
+
|
260
|
+
if (this.getOption("formatter.marker.open")) {
|
261
|
+
const open = this.getOption("formatter.marker.open");
|
262
|
+
if (!isString(open)) {
|
263
|
+
throw new TypeError("open is not a string");
|
264
|
+
}
|
265
|
+
|
266
|
+
const close = this.getOption("formatter.marker.close");
|
267
|
+
if (close !== undefined && !isString(close)) {
|
268
|
+
throw new TypeError("close is not a string");
|
269
|
+
}
|
270
|
+
|
271
|
+
formatter.setMarker(open, close);
|
272
|
+
}
|
273
|
+
|
274
|
+
const formattedUrl = formatter.format(url);
|
275
|
+
|
276
|
+
const options = this.getOption("fetch", {});
|
277
|
+
|
278
|
+
return fetch(formattedUrl, options).then((response) => {
|
279
|
+
if (!response.ok) {
|
280
|
+
if (["error", "opaque", "opaqueredirect"].includes(response.type)) {
|
281
|
+
throw new Error(`we won't be able to read the data (${response.type})`);
|
282
|
+
}
|
283
|
+
|
284
|
+
const statusClass = String(response.status).charAt(0);
|
285
|
+
if (statusClass === "4") {
|
286
|
+
throw new Error(`client error ${response.statusText}`);
|
287
|
+
}
|
288
|
+
throw new Error(
|
289
|
+
`undefined status (${response.status} / ${response.statusText}) or type (${response.type})`,
|
290
|
+
);
|
291
|
+
}
|
292
|
+
|
293
|
+
return response.text().then((content) => ({
|
294
|
+
content,
|
295
|
+
type: response.headers.get("Content-Type"),
|
296
|
+
}));
|
297
|
+
});
|
298
|
+
}
|
299
|
+
|
300
|
+
/**
|
301
|
+
* @private
|
302
|
+
* @return {void}
|
303
|
+
*/
|
304
|
+
function initControlReferences() {
|
305
|
+
this[fetchBoxElementSymbol] = this.shadowRoot.querySelector(
|
306
|
+
`[${ATTRIBUTE_ROLE}="control"]`,
|
307
|
+
);
|
308
|
+
}
|
309
|
+
|
310
|
+
/**
|
311
|
+
* @private
|
312
|
+
* @return {string}
|
313
|
+
*/
|
314
|
+
function getTemplate() {
|
315
|
+
// language=HTML
|
316
|
+
return `
|
317
|
+
<div data-monster-role="control" part="control">
|
318
|
+
<div
|
319
|
+
data-monster-attributes="class path:classes.default,
|
320
|
+
data-monster-visible path:visible | equals:default | ?:true:false
|
321
|
+
">
|
322
|
+
<slot></slot>
|
323
|
+
</div>
|
324
|
+
<div
|
325
|
+
data-monster-attributes="class path:classes.loading,
|
326
|
+
data-monster-visible path:visible | equals:loading | ?:true:false"
|
327
|
+
data-monster-replace="path:content.loading"></div>
|
328
|
+
<div
|
329
|
+
data-monster-attributes="class path:classes.error,
|
330
|
+
data-monster-visible path:visible | equals:error | ?:true:false"
|
331
|
+
data-monster-replace="path:content.error"></div>
|
332
|
+
<div
|
333
|
+
data-monster-attributes="class path:classes.empty,
|
334
|
+
data-monster-visible path:visible | equals:empty | ?:true:false"
|
335
|
+
data-monster-replace="path:content.empty"></div>
|
336
|
+
</div>`;
|
337
|
+
}
|
338
|
+
|
339
|
+
registerCustomElement(FetchBox);
|
@@ -0,0 +1,36 @@
|
|
1
|
+
@import "../../style/control.pcss";
|
2
|
+
@import "../../style/property.pcss";
|
3
|
+
@import "../../style/skeleton.pcss";
|
4
|
+
|
5
|
+
|
6
|
+
[data-monster-role="control"] {
|
7
|
+
display: flex;
|
8
|
+
flex-direction: column;
|
9
|
+
height: 100%;
|
10
|
+
width: 100%;
|
11
|
+
min-height: 1rem;
|
12
|
+
min-width: 1rem;
|
13
|
+
box-sizing: border-box;
|
14
|
+
}
|
15
|
+
|
16
|
+
[data-monster-visible="false"] {
|
17
|
+
display: none;
|
18
|
+
}
|
19
|
+
|
20
|
+
[data-monster-visible="true"] {
|
21
|
+
height: 100%;
|
22
|
+
}
|
23
|
+
|
24
|
+
:host {
|
25
|
+
display: inline-block;;
|
26
|
+
min-width: 1rem;
|
27
|
+
min-height: 1rem;
|
28
|
+
height: 100%;
|
29
|
+
box-sizing: border-box;
|
30
|
+
}
|
31
|
+
|
32
|
+
.monster-skeleton-animated {
|
33
|
+
height: 100%;
|
34
|
+
min-height: 1rem;
|
35
|
+
}
|
36
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright © schukai GmbH and all contributing authors, 2025. All rights reserved.
|
3
|
+
* Node module: @schukai/monster
|
4
|
+
*
|
5
|
+
* This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
|
6
|
+
* The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
|
7
|
+
*
|
8
|
+
* For those who do not wish to adhere to the AGPLv3, a commercial license is available.
|
9
|
+
* Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
|
10
|
+
* For more information about purchasing a commercial license, please contact schukai GmbH.
|
11
|
+
*/
|
12
|
+
|
13
|
+
import { addAttributeToken } from "../../../dom/attributes.mjs";
|
14
|
+
import { ATTRIBUTE_ERRORMESSAGE } from "../../../dom/constants.mjs";
|
15
|
+
|
16
|
+
export { FetchBoxStyleSheet };
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @private
|
20
|
+
* @type {CSSStyleSheet}
|
21
|
+
*/
|
22
|
+
const FetchBoxStyleSheet = new CSSStyleSheet();
|
23
|
+
|
24
|
+
try {
|
25
|
+
FetchBoxStyleSheet.insertRule(
|
26
|
+
`
|
27
|
+
@layer fetchbox {
|
28
|
+
[data-monster-role=control]{outline:none}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}:host{display:block}:after,:before,:root{--monster-font-family:-apple-system,BlinkMacSystemFont,\"Quicksand\",\"Segoe UI\",\"Roboto\",\"Oxygen\",\"Ubuntu\",\"Cantarell\",\"Fira Sans\",\"Droid Sans\",\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";--monster-font-family-monospace:\"Consolas\",\"Courier New\",\"Roboto Mono\",\"Source Code Pro\",\"Fira Mono\",monospace;--monster-color-primary-1:var(--monster-color-gray-6);--monster-color-primary-2:var(--monster-color-gray-6);--monster-color-primary-3:var(--monster-color-cinnamon-1);--monster-color-primary-4:var(--monster-color-cinnamon-1);--monster-bg-color-primary-1:var(--monster-color-gray-1);--monster-bg-color-primary-2:var(--monster-color-gray-2);--monster-bg-color-primary-3:var(--monster-color-gray-6);--monster-bg-color-primary-4:var(--monster-color-gray-4)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-primary-1:var(--monster-color-gray-1);--monster-color-primary-2:var(--monster-color-gray-1);--monster-color-primary-3:var(--monster-color-gray-6);--monster-color-primary-4:var(--monster-color-gray-6);--monster-bg-color-primary-1:var(--monster-color-gray-6);--monster-bg-color-primary-2:var(--monster-color-gray-3);--monster-bg-color-primary-3:var(--monster-color-gray-2);--monster-bg-color-primary-4:var(--monster-color-gray-1)}}:after,:before,:root{--monster-color-secondary-1:var(--monster-color-red-4);--monster-color-secondary-2:var(--monster-color-red-4);--monster-color-secondary-3:var(--monster-color-red-1);--monster-color-secondary-4:var(--monster-color-red-1);--monster-bg-color-secondary-1:var(--monster-color-gray-1);--monster-bg-color-secondary-2:var(--monster-color-red-2);--monster-bg-color-secondary-3:var(--monster-color-red-3);--monster-bg-color-secondary-4:var(--monster-color-red-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-secondary-1:var(--monster-color-red-1);--monster-color-secondary-2:var(--monster-color-red-1);--monster-color-secondary-3:var(--monster-color-red-6);--monster-color-secondary-4:var(--monster-color-red-4);--monster-bg-color-secondary-1:var(--monster-color-gray-6);--monster-bg-color-secondary-2:var(--monster-color-red-3);--monster-bg-color-secondary-3:var(--monster-color-red-2);--monster-bg-color-secondary-4:var(--monster-color-red-1)}}:after,:before,:root{--monster-color-tertiary-1:var(--monster-color-magenta-4);--monster-color-tertiary-2:var(--monster-color-magenta-4);--monster-color-tertiary-3:var(--monster-color-magenta-6);--monster-color-tertiary-4:var(--monster-color-magenta-1);--monster-bg-color-tertiary-1:var(--monster-color-gray-1);--monster-bg-color-tertiary-2:var(--monster-color-magenta-1);--monster-bg-color-tertiary-3:var(--monster-color-magenta-2);--monster-bg-color-tertiary-4:var(--monster-color-magenta-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-tertiary-1:var(--monster-color-magenta-1);--monster-color-tertiary-2:var(--monster-color-magenta-6);--monster-color-tertiary-3:var(--monster-color-magenta-4);--monster-color-tertiary-4:var(--monster-color-magenta-4);--monster-bg-color-tertiary-1:var(--monster-color-gray-6);--monster-bg-color-tertiary-2:var(--monster-color-magenta-2);--monster-bg-color-tertiary-3:var(--monster-color-magenta-1);--monster-bg-color-tertiary-4:var(--monster-color-magenta-1)}}:after,:before,:root{--monster-color-destructive-1:var(--monster-color-red-1);--monster-color-destructive-2:var(--monster-color-red-4);--monster-color-destructive-3:var(--monster-color-red-6);--monster-color-destructive-4:var(--monster-color-red-1);--monster-bg-color-destructive-1:var(--monster-color-red-4);--monster-bg-color-destructive-2:var(--monster-color-gray-1);--monster-bg-color-destructive-3:var(--monster-color-red-2);--monster-bg-color-destructive-4:var(--monster-color-red-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-destructive-1:var(--monster-color-red-1);--monster-color-destructive-2:var(--monster-color-red-3);--monster-color-destructive-3:var(--monster-color-red-4);--monster-color-destructive-4:var(--monster-color-red-1);--monster-bg-color-destructive-1:var(--monster-color-red-5);--monster-bg-color-destructive-2:var(--monster-color-gray-6);--monster-bg-color-destructive-3:var(--monster-color-red-1);--monster-bg-color-destructive-4:var(--monster-color-red-4)}}:after,:before,:root{--monster-color-success-1:var(--monster-color-green-1);--monster-color-success-2:var(--monster-color-green-4);--monster-color-success-3:var(--monster-color-green-6);--monster-color-success-4:var(--monster-color-green-1);--monster-bg-color-success-1:var(--monster-color-green-3);--monster-bg-color-success-2:var(--monster-color-gray-1);--monster-bg-color-success-3:var(--monster-color-green-2);--monster-bg-color-success-4:var(--monster-color-green-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-success-1:var(--monster-color-green-1);--monster-color-success-2:var(--monster-color-green-2);--monster-color-success-3:var(--monster-color-green-4);--monster-color-success-4:var(--monster-color-green-1);--monster-bg-color-success-1:var(--monster-color-green-5);--monster-bg-color-success-2:var(--monster-color-gray-6);--monster-bg-color-success-3:var(--monster-color-green-1);--monster-bg-color-success-4:var(--monster-color-green-3)}}:after,:before,:root{--monster-color-warning-1:var(--monster-color-orange-1);--monster-color-warning-2:var(--monster-color-orange-4);--monster-color-warning-3:var(--monster-color-orange-6);--monster-color-warning-4:var(--monster-color-orange-1);--monster-bg-color-warning-1:var(--monster-color-orange-3);--monster-bg-color-warning-2:var(--monster-color-gray-1);--monster-bg-color-warning-3:var(--monster-color-orange-2);--monster-bg-color-warning-4:var(--monster-color-orange-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-warning-1:var(--monster-color-orange-1);--monster-color-warning-2:var(--monster-color-orange-3);--monster-color-warning-3:var(--monster-color-orange-4);--monster-color-warning-4:var(--monster-color-orange-1);--monster-bg-color-warning-1:var(--monster-color-orange-5);--monster-bg-color-warning-2:var(--monster-color-gray-6);--monster-bg-color-warning-3:var(--monster-color-orange-1);--monster-bg-color-warning-4:var(--monster-color-orange-3)}}:after,:before,:root{--monster-color-error-1:var(--monster-color-red-1);--monster-color-error-2:var(--monster-color-red-4);--monster-color-error-3:var(--monster-color-red-6);--monster-color-error-4:var(--monster-color-red-1);--monster-bg-color-error-1:var(--monster-color-red-4);--monster-bg-color-error-2:var(--monster-color-gray-1);--monster-bg-color-error-3:var(--monster-color-red-2);--monster-bg-color-error-4:var(--monster-color-red-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-error-1:var(--monster-color-red-1);--monster-color-error-2:var(--monster-color-red-3);--monster-color-error-3:var(--monster-color-red-4);--monster-color-error-4:var(--monster-color-red-1);--monster-bg-color-error-1:var(--monster-color-red-5);--monster-bg-color-error-2:var(--monster-color-gray-6);--monster-bg-color-error-3:var(--monster-color-red-1);--monster-bg-color-error-4:var(--monster-color-red-4)}}:after,:before,:root{--monster-color-selection-1:var(--monster-color-gray-6);--monster-color-selection-2:var(--monster-color-gray-6);--monster-color-selection-3:var(--monster-color-gray-6);--monster-color-selection-4:var(--monster-color-gray-1);--monster-bg-color-selection-1:var(--monster-color-yellow-2);--monster-bg-color-selection-2:var(--monster-color-yellow-1);--monster-bg-color-selection-3:var(--monster-color-yellow-2);--monster-bg-color-selection-4:var(--monster-color-yellow-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-selection-1:var(--monster-color-gray-6);--monster-color-selection-2:var(--monster-color-gray-6);--monster-color-selection-3:var(--monster-color-gray-6);--monster-color-selection-4:var(--monster-color-gray-1);--monster-bg-color-selection-1:var(--monster-color-yellow-2);--monster-bg-color-selection-2:var(--monster-color-yellow-1);--monster-bg-color-selection-3:var(--monster-color-yellow-2);--monster-bg-color-selection-4:var(--monster-color-yellow-6)}}:after,:before,:root{--monster-color-primary-disabled-1:var(--monster-color-gray-4);--monster-color-primary-disabled-2:var(--monster-color-gray-4);--monster-color-primary-disabled-3:var(--monster-color-gray-4);--monster-color-primary-disabled-4:var(--monster-color-gray-4);--monster-bg-color-primary-disabled-1:var(--monster-color-gray-1);--monster-bg-color-primary-disabled-2:var(--monster-color-gray-2);--monster-bg-color-primary-disabled-3:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-4:var(--monster-color-gray-6);--monster-color-gradient-1:#833ab4;--monster-color-gradient-2:#fd1d1d;--monster-color-gradient-3:#fcb045}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-primary-disabled-1:var(--monster-color-gray-4);--monster-color-primary-disabled-2:var(--monster-color-gray-4);--monster-color-primary-disabled-3:var(--monster-color-gray-3);--monster-color-primary-disabled-4:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-1:var(--monster-color-gray-6);--monster-bg-color-primary-disabled-2:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-3:var(--monster-color-gray-2);--monster-bg-color-primary-disabled-4:var(--monster-color-gray-1);--monster-color-gradient-1:#ffe0b2;--monster-color-gradient-2:#ad8275;--monster-color-gradient-3:#771ba3}}:after,:before,:root{--monster-box-shadow-1:none;--monster-box-shadow-2:-1px 1px 10px 1px hsla(0,0%,76%,.61);--monster-text-shadow:none;--monster-theme-control-bg-color:var(--monster-color-seashell-1);--monster-theme-control-color:var(--monster-color-seashell-6);--monster-theme-control-hover-color:var(--monster-color-seashell-6);--monster-theme-control-hover-bg-color:var(--monster-color-seashell-2);--monster-theme-control-border-width:2px;--monster-theme-control-border-style:solid;--monster-theme-control-border-radius:0;--monster-theme-control-border-color:var(--monster-color-primary-1)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-theme-control-bg-color:var(--monster-color-gray-5);--monster-theme-control-color:var(--monster-color-gray-1);--monster-theme-control-border-color:var(--monster-color-gray-3);--monster-theme-control-hover-color:var(--monster-color-gray-1);--monster-theme-control-hover-bg-color:var(--monster-color-gray-6)}}:after,:before,:root{--monster-theme-on-color:var(--monster-color-green-1);--monster-theme-on-bg-color:var(--monster-color-green-5);--monster-theme-off-color:var(--monster-color-gray-1);--monster-theme-off-bg-color:var(--monster-color-gray-4)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-theme-on-color:var(--monster-color-gray-6);--monster-theme-on-bg-color:var(--monster-color-gray-1);--monster-theme-off-color:var(--monster-color-gray-1);--monster-theme-off-bg-color:var(--monster-color-gray-5)}}:after,:before,:root{--monster-border-style:solid;--monster-border-width:3px;--monster-border-radius:0;--monster-outline-width:1px;--monster-popper-witharrrow-distance:-4px;--monster-z-index-default:0;--monster-z-index-outline:10;--monster-z-index-dropdown:200;--monster-z-index-dropdown-overlay:210;--monster-z-index-sticky:300;--monster-z-index-sticky-overlay:310;--monster-z-index-fixed:400;--monster-z-index-fixed-overlay:410;--monster-z-index-modal-backdrop:500;--monster-z-index-modal-backdrop-overlay:510;--monster-z-index-offcanvas:600;--monster-z-index-offcanvas-overlay:610;--monster-z-index-modal:700;--monster-z-index-modal-overlay:710;--monster-z-index-popover:800;--monster-z-index-popover-overlay:810;--monster-z-index-tooltip:800;--monster-z-index-tooltip-overlay:910;--monster-space-0:0;--monster-space-1:2px;--monster-space-2:4px;--monster-space-3:6px;--monster-space-4:10px;--monster-space-5:16px;--monster-space-6:26px;--monster-space-7:42px;--monster-breakpoint-0:480px;--monster-breakpoint-4:480px;--monster-breakpoint-7:768px;--monster-breakpoint-9:992px;--monster-breakpoint-12:1200px;--monster-dragger-width:2px;--monster-dragger-handle-width:4px;--monster-dragger-handle-height:50px}.monster-skeleton-col-10{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:10%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-10,.monster-skeleton-col-20{background-image:var(--monster-skeleton);background-position:0 0;background-repeat:no-repeat;background-size:var(--monster-skeleton-width) var(--monster-skeleton-height);color:var(--monster-skeleton-color);min-height:1px}.monster-skeleton-col-20{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:20%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-30{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:30%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-30,.monster-skeleton-col-40{background-image:var(--monster-skeleton);background-position:0 0;background-repeat:no-repeat;background-size:var(--monster-skeleton-width) var(--monster-skeleton-height);color:var(--monster-skeleton-color);min-height:1px}.monster-skeleton-col-40{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:40%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-50{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:50%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-50,.monster-skeleton-col-60{background-image:var(--monster-skeleton);background-position:0 0;background-repeat:no-repeat;background-size:var(--monster-skeleton-width) var(--monster-skeleton-height);color:var(--monster-skeleton-color);min-height:1px}.monster-skeleton-col-60{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:60%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-70{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:70%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-70,.monster-skeleton-col-80{background-image:var(--monster-skeleton);background-position:0 0;background-repeat:no-repeat;background-size:var(--monster-skeleton-width) var(--monster-skeleton-height);color:var(--monster-skeleton-color);min-height:1px}.monster-skeleton-col-80{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:80%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-90{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:90%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-col-100,.monster-skeleton-col-90{background-image:var(--monster-skeleton);background-position:0 0;background-repeat:no-repeat;background-size:var(--monster-skeleton-width) var(--monster-skeleton-height);color:var(--monster-skeleton-color);min-height:1px}.monster-skeleton-col-100{--monster-skeleton-color:var(--monster-color-pink-2);--monster-skeleton-color-50:rgba(from var(--monster-color-pink-2) 255 255 255/0.5);--monster-skeleton-height:100%;--monster-skeleton-width:100%;--monster-skeleton:linear-gradient(99deg,var(--monster-skeleton-color) 0%,var(--monster-skeleton-color-50) 40%,transparent 70%)}.monster-skeleton-animated{animation:shimmer 4.25s linear infinite forwards;border-radius:4px}@keyframes shimmer{0%,to{filter:brightness(.81)}50%{filter:brightness(.45)}}[data-monster-role=control]{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:1rem;min-width:1rem;width:100%}[data-monster-visible=false]{display:none}[data-monster-visible=true]{height:100%}:host{box-sizing:border-box;display:inline-block;height:100%;min-height:1rem;min-width:1rem}.monster-skeleton-animated{height:100%;min-height:1rem}
|
29
|
+
}`,
|
30
|
+
0,
|
31
|
+
);
|
32
|
+
} catch (e) {
|
33
|
+
addAttributeToken(
|
34
|
+
document.getRootNode().querySelector("html"),
|
35
|
+
ATTRIBUTE_ERRORMESSAGE,
|
36
|
+
e + "",
|
37
|
+
);
|
38
|
+
}
|
@@ -1,26 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
@define-mixin skeleton $width, $color:var(--monster-color-gray-3), $height:100% {
|
1
|
+
@define-mixin skeleton $width, $color, $height:100% {
|
4
2
|
--monster-skeleton-color: $color;
|
3
|
+
--monster-skeleton-color-50: rgba(from $color 255 255 255 / 0.5);
|
5
4
|
--monster-skeleton-height: $height;
|
6
5
|
--monster-skeleton-width: $width;
|
7
|
-
--monster-skeleton: linear-gradient(
|
6
|
+
--monster-skeleton: linear-gradient(
|
7
|
+
99deg,
|
8
|
+
var(--monster-skeleton-color) 0%,
|
9
|
+
var(--monster-skeleton-color-50) 40%,
|
10
|
+
transparent 70%
|
11
|
+
);
|
8
12
|
|
9
|
-
background-image:
|
10
|
-
var(--monster-skeleton);
|
13
|
+
background-image: var(--monster-skeleton);
|
11
14
|
|
12
|
-
background-size:
|
13
|
-
var(--monster-skeleton-width) var(--monster-skeleton-height);
|
15
|
+
background-size: var(--monster-skeleton-width) var(--monster-skeleton-height);
|
14
16
|
|
15
|
-
background-repeat:
|
16
|
-
no-repeat;
|
17
|
+
background-repeat: no-repeat;
|
17
18
|
|
18
|
-
background-position:
|
19
|
-
0 0;
|
19
|
+
background-position: 0 0;
|
20
20
|
|
21
21
|
color: var(--monster-skeleton-color);
|
22
22
|
|
23
23
|
min-height: 1px;
|
24
|
-
|
25
|
-
|
26
24
|
}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/** generated from skeleton.pcss **/
|
2
2
|
.monster-skeleton-col-10 {
|
3
|
-
--monster-skeleton-color: var(--monster-color-
|
3
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
4
4
|
--monster-skeleton-height: 100%;
|
5
5
|
--monster-skeleton-width: 10%;
|
6
6
|
--monster-skeleton: linear-gradient(
|
7
|
-
|
7
|
+
99deg,
|
8
8
|
var(--monster-skeleton-color) 0,
|
9
9
|
transparent var(--monster-skeleton-width)
|
10
10
|
);
|
@@ -19,21 +19,21 @@
|
|
19
19
|
min-height: 1px;
|
20
20
|
}
|
21
21
|
.monster-skeleton-col-20 {
|
22
|
-
--monster-skeleton-color: var(--monster-color-
|
22
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
23
23
|
--monster-skeleton-height: 100%;
|
24
24
|
--monster-skeleton-width: 20%;
|
25
25
|
--monster-skeleton: linear-gradient(
|
26
|
-
|
26
|
+
99deg,
|
27
27
|
var(--monster-skeleton-color) 0,
|
28
28
|
transparent var(--monster-skeleton-width)
|
29
29
|
);
|
30
30
|
}
|
31
31
|
.monster-skeleton-col-30 {
|
32
|
-
--monster-skeleton-color: var(--monster-color-
|
32
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
33
33
|
--monster-skeleton-height: 100%;
|
34
34
|
--monster-skeleton-width: 30%;
|
35
35
|
--monster-skeleton: linear-gradient(
|
36
|
-
|
36
|
+
99deg,
|
37
37
|
var(--monster-skeleton-color) 0,
|
38
38
|
transparent var(--monster-skeleton-width)
|
39
39
|
);
|
@@ -48,21 +48,21 @@
|
|
48
48
|
min-height: 1px;
|
49
49
|
}
|
50
50
|
.monster-skeleton-col-40 {
|
51
|
-
--monster-skeleton-color: var(--monster-color-
|
51
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
52
52
|
--monster-skeleton-height: 100%;
|
53
53
|
--monster-skeleton-width: 40%;
|
54
54
|
--monster-skeleton: linear-gradient(
|
55
|
-
|
55
|
+
99deg,
|
56
56
|
var(--monster-skeleton-color) 0,
|
57
57
|
transparent var(--monster-skeleton-width)
|
58
58
|
);
|
59
59
|
}
|
60
60
|
.monster-skeleton-col-50 {
|
61
|
-
--monster-skeleton-color: var(--monster-color-
|
61
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
62
62
|
--monster-skeleton-height: 100%;
|
63
63
|
--monster-skeleton-width: 50%;
|
64
64
|
--monster-skeleton: linear-gradient(
|
65
|
-
|
65
|
+
99deg,
|
66
66
|
var(--monster-skeleton-color) 0,
|
67
67
|
transparent var(--monster-skeleton-width)
|
68
68
|
);
|
@@ -77,21 +77,21 @@
|
|
77
77
|
min-height: 1px;
|
78
78
|
}
|
79
79
|
.monster-skeleton-col-60 {
|
80
|
-
--monster-skeleton-color: var(--monster-color-
|
80
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
81
81
|
--monster-skeleton-height: 100%;
|
82
82
|
--monster-skeleton-width: 60%;
|
83
83
|
--monster-skeleton: linear-gradient(
|
84
|
-
|
84
|
+
99deg,
|
85
85
|
var(--monster-skeleton-color) 0,
|
86
86
|
transparent var(--monster-skeleton-width)
|
87
87
|
);
|
88
88
|
}
|
89
89
|
.monster-skeleton-col-70 {
|
90
|
-
--monster-skeleton-color: var(--monster-color-
|
90
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
91
91
|
--monster-skeleton-height: 100%;
|
92
92
|
--monster-skeleton-width: 70%;
|
93
93
|
--monster-skeleton: linear-gradient(
|
94
|
-
|
94
|
+
99deg,
|
95
95
|
var(--monster-skeleton-color) 0,
|
96
96
|
transparent var(--monster-skeleton-width)
|
97
97
|
);
|
@@ -106,21 +106,21 @@
|
|
106
106
|
min-height: 1px;
|
107
107
|
}
|
108
108
|
.monster-skeleton-col-80 {
|
109
|
-
--monster-skeleton-color: var(--monster-color-
|
109
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
110
110
|
--monster-skeleton-height: 100%;
|
111
111
|
--monster-skeleton-width: 80%;
|
112
112
|
--monster-skeleton: linear-gradient(
|
113
|
-
|
113
|
+
99deg,
|
114
114
|
var(--monster-skeleton-color) 0,
|
115
115
|
transparent var(--monster-skeleton-width)
|
116
116
|
);
|
117
117
|
}
|
118
118
|
.monster-skeleton-col-90 {
|
119
|
-
--monster-skeleton-color: var(--monster-color-
|
119
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
120
120
|
--monster-skeleton-height: 100%;
|
121
121
|
--monster-skeleton-width: 90%;
|
122
122
|
--monster-skeleton: linear-gradient(
|
123
|
-
|
123
|
+
99deg,
|
124
124
|
var(--monster-skeleton-color) 0,
|
125
125
|
transparent var(--monster-skeleton-width)
|
126
126
|
);
|
@@ -135,31 +135,25 @@
|
|
135
135
|
min-height: 1px;
|
136
136
|
}
|
137
137
|
.monster-skeleton-col-100 {
|
138
|
-
--monster-skeleton-color: var(--monster-color-
|
138
|
+
--monster-skeleton-color: var(--monster-color-pink-2);
|
139
139
|
--monster-skeleton-height: 100%;
|
140
140
|
--monster-skeleton-width: 100%;
|
141
141
|
--monster-skeleton: linear-gradient(
|
142
|
-
|
142
|
+
99deg,
|
143
143
|
var(--monster-skeleton-color) 0,
|
144
144
|
transparent var(--monster-skeleton-width)
|
145
145
|
);
|
146
146
|
}
|
147
147
|
.monster-skeleton-animated {
|
148
|
-
animation
|
149
|
-
animation-fill-mode: forwards;
|
150
|
-
animation-iteration-count: infinite;
|
151
|
-
animation-name: shimmer;
|
152
|
-
animation-timing-function: linear;
|
148
|
+
animation: shimmer 4.25s linear infinite forwards;
|
153
149
|
border-radius: 4px;
|
154
150
|
}
|
155
151
|
@keyframes shimmer {
|
156
|
-
0
|
157
|
-
|
152
|
+
0%,
|
153
|
+
to {
|
154
|
+
filter: brightness(0.81);
|
158
155
|
}
|
159
156
|
50% {
|
160
|
-
filter: brightness(
|
161
|
-
}
|
162
|
-
to {
|
163
|
-
filter: brightness(1);
|
157
|
+
filter: brightness(0.45);
|
164
158
|
}
|
165
159
|
}
|