@schukai/monster 3.52.1 → 3.54.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -1
  3. package/package.json +1 -1
  4. package/source/components/datatable/columnbar.mjs +2 -3
  5. package/source/components/datatable/dataset.mjs +3 -5
  6. package/source/components/datatable/datasource/dom.mjs +5 -8
  7. package/source/components/datatable/datasource/rest.mjs +12 -18
  8. package/source/components/datatable/datasource.mjs +1 -1
  9. package/source/components/datatable/datatable/header.mjs +3 -5
  10. package/source/components/datatable/datatable.mjs +13 -18
  11. package/source/components/datatable/filter/date-range.mjs +15 -27
  12. package/source/components/datatable/filter/input.mjs +3 -5
  13. package/source/components/datatable/filter/range.mjs +10 -17
  14. package/source/components/datatable/filter/settings.mjs +6 -7
  15. package/source/components/datatable/filter.mjs +14 -21
  16. package/source/components/datatable/pagination.mjs +5 -7
  17. package/source/components/datatable/util.mjs +1 -2
  18. package/source/components/form/action-button.mjs +2 -3
  19. package/source/components/form/api-button.mjs +5 -9
  20. package/source/components/form/button-bar.mjs +15 -27
  21. package/source/components/form/button.mjs +2 -2
  22. package/source/components/form/confirm-button.mjs +9 -12
  23. package/source/components/form/form.mjs +8 -14
  24. package/source/components/form/message-state-button.mjs +4 -5
  25. package/source/components/form/popper-button.mjs +7 -11
  26. package/source/components/form/popper.mjs +7 -11
  27. package/source/components/form/reload.mjs +5 -7
  28. package/source/components/form/select.mjs +50 -76
  29. package/source/components/form/tabs.mjs +41 -45
  30. package/source/components/form/template.mjs +6 -9
  31. package/source/components/form/tree-select.mjs +7 -10
  32. package/source/components/form/util/popper.mjs +1 -2
  33. package/source/components/host/call-button.mjs +4 -6
  34. package/source/components/host/collapse.mjs +14 -22
  35. package/source/components/host/config-manager.mjs +7 -9
  36. package/source/components/host/details.mjs +5 -8
  37. package/source/components/host/host.mjs +7 -12
  38. package/source/components/host/overlay.mjs +4 -6
  39. package/source/components/host/viewer.mjs +2 -3
  40. package/source/components/notify/message.mjs +10 -13
  41. package/source/components/notify/notify.mjs +4 -6
  42. package/source/components/state/log/entry.mjs +1 -1
  43. package/source/components/state/log.mjs +6 -11
  44. package/source/components/style/icons.pcss +110 -0
  45. package/source/components/style/mixin/icon.pcss +43 -0
  46. package/source/components/stylesheet/icons.mjs +27 -0
  47. package/source/components/tree-menu/tree-menu.mjs +9 -14
  48. package/source/data/transformer.mjs +9 -4
  49. package/source/dom/customelement.mjs +1 -1
  50. package/source/dom/util.mjs +4 -5
  51. package/source/monster.mjs +0 -1
  52. package/source/types/observer.mjs +4 -4
  53. package/source/types/version.mjs +1 -1
  54. package/source/util/clone.mjs +1 -1
  55. package/test/cases/monster.mjs +1 -1
  56. package/test/web/test.html +1 -1
@@ -179,8 +179,7 @@ class Host extends CustomElement {
179
179
  * @private
180
180
  * @fires Monster.Components.Host.Host#monster-host-disconnected
181
181
  */
182
- disconnectedCallback() {;
183
-
182
+ disconnectedCallback() {
184
183
  super.disconnectedCallback();
185
184
  document.documentElement.style.overflowY = "";
186
185
 
@@ -212,8 +211,7 @@ class Host extends CustomElement {
212
211
  *
213
212
  * @return {Monster.Components.Host.Host}
214
213
  */
215
- [assembleMethodSymbol]() {;
216
-
214
+ [assembleMethodSymbol]() {
217
215
  this[promisesSymbol] = [];
218
216
  this[promisesSymbol].push(windowReady);
219
217
 
@@ -253,8 +251,7 @@ class Host extends CustomElement {
253
251
  *
254
252
  * @return {Promise}
255
253
  */
256
- onReady() {;
257
-
254
+ onReady() {
258
255
  if (isIterable(this[promisesSymbol]) === false) {
259
256
  this[promisesSymbol] = [];
260
257
  }
@@ -356,7 +353,7 @@ class Host extends CustomElement {
356
353
  *
357
354
  * @param {string|Message} message
358
355
  */
359
- pushNotification(message) {;
356
+ pushNotification(message) {
360
357
  if (this[notifyElementSymbol] instanceof HTMLElement === false) {
361
358
  throw new Error("There is no notify element defined.");
362
359
  }
@@ -371,8 +368,7 @@ class Host extends CustomElement {
371
368
  * @return {Select}
372
369
  * @throws {Error} no shadow-root is defined
373
370
  */
374
- function initControlReferences() {;
375
-
371
+ function initControlReferences() {
376
372
  if (!this.shadowRoot) {
377
373
  throw new Error("no shadow-root is defined");
378
374
  }
@@ -384,8 +380,7 @@ function initControlReferences() {;
384
380
  );
385
381
  }
386
382
 
387
- function initTranslations() {;
388
-
383
+ function initTranslations() {
389
384
  if (isIterable(this[promisesSymbol]) === false) {
390
385
  this[promisesSymbol] = [];
391
386
  }
@@ -396,7 +391,7 @@ function initTranslations() {;
396
391
  /**
397
392
  * @private
398
393
  */
399
- function initEventHandler() {;
394
+ function initEventHandler() {
400
395
  return this;
401
396
  }
402
397
 
@@ -200,7 +200,7 @@ class Overlay extends CustomElement {
200
200
  * @fires Monster.Components.Host.Overlay.event:monster-overlay-before-close
201
201
  * @fires Monster.Components.Host.Overlay.event:monster-overlay-closed
202
202
  */
203
- open() {;
203
+ open() {
204
204
  fireCustomEvent(this, "monster-overlay-before-open", {});
205
205
 
206
206
  this[overlayElementSymbol].classList.remove("hide-empty");
@@ -218,7 +218,7 @@ class Overlay extends CustomElement {
218
218
  /**
219
219
  * @returns {Monster.Components.Host.Overlay}
220
220
  */
221
- close() {;
221
+ close() {
222
222
  fireCustomEvent(this, "monster-overlay-before-close", {});
223
223
  setTimeout(() => {
224
224
  this[overlayElementSymbol].classList.remove("open");
@@ -250,8 +250,7 @@ class Overlay extends CustomElement {
250
250
  * @return {Select}
251
251
  * @throws {Error} no shadow-root is defined
252
252
  */
253
- function initControlReferences() {;
254
-
253
+ function initControlReferences() {
255
254
  if (!this.shadowRoot) {
256
255
  throw new Error("no shadow-root is defined");
257
256
  }
@@ -268,8 +267,7 @@ function initControlReferences() {;
268
267
  /**
269
268
  * @private
270
269
  */
271
- function initEventHandler() {;
272
-
270
+ function initEventHandler() {
273
271
  /**
274
272
  * @param {Event} event
275
273
  */
@@ -279,8 +279,7 @@ function blobToText(blob) {
279
279
  * @return {Select}
280
280
  * @throws {Error} no shadow-root is defined
281
281
  */
282
- function initControlReferences() {;
283
-
282
+ function initControlReferences() {
284
283
  if (!this.shadowRoot) {
285
284
  throw new Error("no shadow-root is defined");
286
285
  }
@@ -291,7 +290,7 @@ function initControlReferences() {;
291
290
  /**
292
291
  * @private
293
292
  */
294
- function initEventHandler() {;
293
+ function initEventHandler() {
295
294
  return this;
296
295
  }
297
296
 
@@ -145,7 +145,7 @@ class Message extends CustomElement {
145
145
  * @return {Monster.Components.Notify.Message}
146
146
  */
147
147
  [assembleMethodSymbol]() {
148
- super[assembleMethodSymbol]();;
148
+ super[assembleMethodSymbol]();
149
149
  initControlReferences.call(this);
150
150
  initEventhandler.call(this);
151
151
  return this;
@@ -170,7 +170,7 @@ class Message extends CustomElement {
170
170
  /**
171
171
  *
172
172
  */
173
- [initMethodSymbol]() {;
173
+ [initMethodSymbol]() {
174
174
  super[initMethodSymbol]();
175
175
  }
176
176
 
@@ -178,7 +178,7 @@ class Message extends CustomElement {
178
178
  * @return {void}
179
179
  */
180
180
  connectedCallback() {
181
- super.connectedCallback();;
181
+ super.connectedCallback();
182
182
 
183
183
  if (this.getOption("features.disappear") === true) {
184
184
  startFadeout.call(this);
@@ -191,7 +191,7 @@ class Message extends CustomElement {
191
191
  */
192
192
  disconnectedCallback() {
193
193
  super.disconnectedCallback();
194
- stopFadeout.call(this);;
194
+ stopFadeout.call(this);
195
195
 
196
196
  if (this.getOption("features.disappear") === true) {
197
197
  this.removeEventListener(
@@ -209,7 +209,7 @@ class Message extends CustomElement {
209
209
  /**
210
210
  * @private
211
211
  */
212
- function startFadeout() {;
212
+ function startFadeout() {
213
213
  if (!this?.[timerSymbol]) {
214
214
  this[timerSymbol] = setTimeout(() => {
215
215
  removeSelf.call(this);
@@ -217,8 +217,7 @@ function startFadeout() {;
217
217
  }
218
218
  }
219
219
 
220
- function removeSelf() {;
221
-
220
+ function removeSelf() {
222
221
  stopFadeout();
223
222
  this.classList.add("fadeout");
224
223
 
@@ -230,7 +229,7 @@ function removeSelf() {;
230
229
  /**
231
230
  * @private
232
231
  */
233
- function stopFadeout() {;
232
+ function stopFadeout() {
234
233
  if (this?.[timerSymbol]) {
235
234
  clearTimeout(this[timerSymbol]);
236
235
  this[timerSymbol] = undefined;
@@ -243,7 +242,7 @@ function stopFadeout() {;
243
242
  * @private
244
243
  * @return {object}
245
244
  */
246
- function initOptionsFromArguments() {;
245
+ function initOptionsFromArguments() {
247
246
  const options = {};
248
247
 
249
248
  const timeout = this.getAttribute(ATTRIBUTE_PREFIX + "timeout");
@@ -266,8 +265,7 @@ function initOptionsFromArguments() {;
266
265
  * @return {Message}
267
266
  * @throws {Error} no shadow-root is defined
268
267
  */
269
- function initControlReferences() {;
270
-
268
+ function initControlReferences() {
271
269
  if (!this.shadowRoot) {
272
270
  throw new Error("no shadow-root is defined");
273
271
  }
@@ -283,8 +281,7 @@ function initControlReferences() {;
283
281
  /**
284
282
  * @private
285
283
  */
286
- function initEventhandler() {;
287
-
284
+ function initEventhandler() {
288
285
  /**
289
286
  * @param {Event} event
290
287
  */
@@ -123,7 +123,7 @@ class Notify extends CustomElement {
123
123
  * @return {Notify}
124
124
  */
125
125
  [assembleMethodSymbol]() {
126
- super[assembleMethodSymbol]();;
126
+ super[assembleMethodSymbol]();
127
127
  initControlReferences.call(this);
128
128
 
129
129
  if (this[containerElementSymbol]) {
@@ -156,8 +156,7 @@ class Notify extends CustomElement {
156
156
  * @param {Monster.Components.Notify.Massage|String} message
157
157
  * @return {Monster.Components.Notify.Notify}
158
158
  */
159
- push(message) {;
160
-
159
+ push(message) {
161
160
  let messageElement = message;
162
161
  if (!(message instanceof Message)) {
163
162
  const text = validateString(message);
@@ -193,7 +192,7 @@ class Notify extends CustomElement {
193
192
  * @private
194
193
  * @return {object}
195
194
  */
196
- function initOptionsFromArguments() {;
195
+ function initOptionsFromArguments() {
197
196
  const options = {};
198
197
 
199
198
  return options;
@@ -204,8 +203,7 @@ function initOptionsFromArguments() {;
204
203
  * @return {Select}
205
204
  * @throws {Error} no shadow-root is defined
206
205
  */
207
- function initControlReferences() {;
208
-
206
+ function initControlReferences() {
209
207
  if (!this.shadowRoot) {
210
208
  throw new Error("no shadow-root is defined");
211
209
  }
@@ -20,7 +20,7 @@ export { Entry };
20
20
  */
21
21
  class Entry extends Base {
22
22
  constructor({ title, message, user, date } = {}) {
23
- super();;
23
+ super();
24
24
 
25
25
  /**
26
26
  * - attachInternalObserver
@@ -107,7 +107,7 @@ class Log extends CustomElement {
107
107
  });
108
108
  }
109
109
 
110
- connectedCallback() {;
110
+ connectedCallback() {
111
111
  super.connectedCallback();
112
112
 
113
113
  const slottedElements = getSlottedElements.call(this);
@@ -121,15 +121,13 @@ class Log extends CustomElement {
121
121
  *
122
122
  * @return {Log}
123
123
  */
124
- clear() {;
125
-
124
+ clear() {
126
125
  this[logElementSymbol].innerHTML = "";
127
126
  this[emptyStateElementSymbol].style.display = "block";
128
127
  return this;
129
128
  }
130
129
 
131
- addEntry(entry) {;
132
-
130
+ addEntry(entry) {
133
131
  validateInstance(entry, Entry);
134
132
 
135
133
  const entries = this.getOption("entries");
@@ -147,8 +145,7 @@ class Log extends CustomElement {
147
145
  * @param {string} message
148
146
  * @return {Log}
149
147
  */
150
- addMessage(message, date) {;
151
-
148
+ addMessage(message, date) {
152
149
  if (!date) {
153
150
  date = new Date();
154
151
  }
@@ -184,8 +181,7 @@ class Log extends CustomElement {
184
181
  * @return {Select}
185
182
  * @throws {Error} no shadow-root is defined
186
183
  */
187
- function initControlReferences() {;
188
-
184
+ function initControlReferences() {
189
185
  if (!this.shadowRoot) {
190
186
  throw new Error("no shadow-root is defined");
191
187
  }
@@ -201,8 +197,7 @@ function initControlReferences() {;
201
197
  /**
202
198
  * @private
203
199
  */
204
- function initEventHandler() {;
205
-
200
+ function initEventHandler() {
206
201
  if (!this.shadowRoot) {
207
202
  throw new Error("no shadow-root is defined");
208
203
  }
@@ -0,0 +1,110 @@
1
+
2
+ @import "mixin/icon.pcss";
3
+
4
+ @mixin icon info {
5
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-info-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
6
+ }
7
+
8
+ @mixin icon positiv {
9
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-check-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z'/%3E%3C/svg%3E");
10
+ }
11
+
12
+ @mixin icon negativ {
13
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
14
+ }
15
+
16
+ @mixin icon warning {
17
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-exclamation-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z'/%3E%3C/svg%3E");
18
+ }
19
+
20
+ @mixin icon neutral {
21
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-exclamation-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z'/%3E%3C/svg%3E");
22
+ }
23
+
24
+ @mixin icon question {
25
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-question-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z'/%3E%3C/svg%3E");
26
+ }
27
+
28
+ @mixin icon plus {
29
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-plus-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3E%3C/svg%3E");
30
+ }
31
+
32
+ @mixin icon dash {
33
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-dash-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
34
+ }
35
+
36
+ @mixin icon gear {
37
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-gear' viewBox='0 0 16 16'%3E%3Cpath d='M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z'/%3E%3Cpath d='M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z'/%3E%3C/svg%3E");
38
+ }
39
+
40
+ @mixin icon home {
41
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-house' viewBox='0 0 16 16'%3E%3Cpath d='M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5ZM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5 5 5Z'/%3E%3C/svg%3E");
42
+ }
43
+
44
+ @mixin icon counterclockwise {
45
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-arrow-counterclockwise' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z'/%3E%3Cpath d='M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z'/%3E%3C/svg%3E");
46
+ }
47
+
48
+ @for $i from 2 to 3 {
49
+
50
+ .monster-icon-success-$i:before {
51
+ background-color: var(--monster-color-success-$i);
52
+ color: var(--monster-bg-color-success-$i);
53
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-check-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z'/%3E%3C/svg%3E");
54
+ }
55
+
56
+ .monster-icon-warning-$i:before {
57
+ background-color: var(--monster-color-warning-$i);
58
+ color: var(--monster-bg-color-warning-$i);
59
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-exclamation-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z'/%3E%3C/svg%3E");
60
+ }
61
+
62
+ .monster-icon-error-$i:before {
63
+ background-color: var(--monster-color-error-$i);
64
+ color: var(--monster-bg-color-error-$i);
65
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
66
+ }
67
+
68
+ .monster-icon-error-$i:before, .monster-icon-warning-$i:before, .monster-icon-success-$i:before {
69
+ content: "";
70
+ display: inline-block;
71
+ height: 1em;
72
+ width: 1em;
73
+ mask-position: center;
74
+ mask-repeat: no-repeat;
75
+ mask-size: contain;
76
+
77
+ }
78
+ }
79
+
80
+ @for $i from 1 to 4 by 3 {
81
+
82
+ .monster-icon-success-$i:before {
83
+ background-color: var(--monster-bg-color-success-$i);
84
+ color: var(--monster-color-success-$i);
85
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-check-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z'/%3E%3C/svg%3E");
86
+ }
87
+
88
+ .monster-icon-warning-$i:before {
89
+ background-color: var(--monster-bg-color-warning-$i);
90
+ color: var(--monster-color-warning-$i);
91
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-exclamation-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z'/%3E%3C/svg%3E");
92
+ }
93
+
94
+ .monster-icon-error-$i:before {
95
+ background-color: var(--monster-bg-color-error-$i);
96
+ color: var(--monster-color-error-$i);
97
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
98
+ }
99
+
100
+ .monster-icon-error-$i:before, .monster-icon-warning-$i:before, .monster-icon-success-$i:before {
101
+ content: "";
102
+ display: inline-block;
103
+ height: 1em;
104
+ width: 1em;
105
+ mask-position: center;
106
+ mask-repeat: no-repeat;
107
+ mask-size: contain;
108
+
109
+ }
110
+ }
@@ -0,0 +1,43 @@
1
+ @define-mixin icon $name {
2
+
3
+ @for $i from 1 to 4 {
4
+
5
+ .monster-icon-primary-$(i)-$(name)::before {
6
+ background-color: var(--monster-color-primary-$i);
7
+ color: var(--monster-bg-color-primary-$i);
8
+ }
9
+
10
+ .monster-icon-secondary-$(i)-$(name)::before {
11
+ background-color: var(--monster-color-secondary-$i);
12
+ color: var(--monster-bg-color-secondary-$i);
13
+ }
14
+
15
+ .monster-icon-tertiary-$(i)-$(name)::before {
16
+ background-color: var(--monster-color-tertiary-$i);
17
+ color: var(--monster-bg-color-tertiary-$i);
18
+ }
19
+
20
+ .monster-icon-secondary-$(i)-$(name)::before {
21
+ background-color: var(--monster-color-secondary-$i);
22
+ color: var(--monster-bg-color-secondary-$i);
23
+ }
24
+
25
+
26
+ .monster-icon-primary-$(i)-$(name)::before,
27
+ .monster-icon-secondary-$(i)-$(name)::before,
28
+ .monster-icon-tertiary-$(i)-$(name)::before {
29
+ content: "";
30
+ display: inline-block;
31
+ width: 1em;
32
+ height: 1em;
33
+ mask-repeat: no-repeat;
34
+ mask-position: center;
35
+ mask-size: contain;
36
+ @mixin-content;
37
+ }
38
+
39
+
40
+
41
+
42
+ }
43
+ }