@skeletonizer/utils 1.2.0 → 1.3.0
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
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
# `@skeletonizer/utils`
|
|
2
|
+
[](https://codecov.io/github/lukaVarga/skeletonizer?style=for-the-badge)
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
|
|
2
6
|
This is the general utility package for the Skeletonizer project. It should be used together with every adapter (eg. Vue, Angular) package.
|
|
3
7
|
Roughly speaking, the usage of skeleton in the template boils down to the following steps:
|
|
4
8
|
- surrounding the content you want to skeletonize with the `skeletonizer-skeleton` component and passing it through via content projection
|
|
@@ -62,6 +66,10 @@ This can be used for chaining the `SchemaItem().foo()` methods if `foo` returns
|
|
|
62
66
|
Generates a random date within the range specified by the `config` parameter.
|
|
63
67
|
This can be used eg. for simulating dates of birth, dates of creation, etc.
|
|
64
68
|
|
|
69
|
+
### `timeOfDay(config: Partial<{ use12HourFormat: boolean; showSeconds: boolean; showAmPm: boolean }> = {})`
|
|
70
|
+
Generates a random time of day, using the formatting specified by the `config` parameter.
|
|
71
|
+
It can be chained to the `date` method should you wish to further restrict available times (eg. by providing a min and max date to the `date` method that are on the same day within the desired time range).
|
|
72
|
+
|
|
65
73
|
### `uuid()`
|
|
66
74
|
Increments a global `uuid` variable and sets the current value of the `SchemaItem` instance to this new value.
|
|
67
75
|
This can be used eg. for simulating user ids, etc.
|
|
@@ -17,6 +17,11 @@ export declare class SchemaItem<T = never> {
|
|
|
17
17
|
max: Date;
|
|
18
18
|
min: Date;
|
|
19
19
|
}>): TSchemaInstance<Date>;
|
|
20
|
+
timeOfDay(this: TSchemaInstance<Date | undefined>, config?: Partial<{
|
|
21
|
+
use12HourFormat: boolean;
|
|
22
|
+
showSeconds: boolean;
|
|
23
|
+
showAmPm: boolean;
|
|
24
|
+
}>): TSchemaInstance<string>;
|
|
20
25
|
uuid(this: TSchemaInstance<number | undefined>): TSchemaInstance<number>;
|
|
21
26
|
boolean(this: TSchemaInstance<boolean | undefined>): TSchemaInstance<boolean>;
|
|
22
27
|
symbol(this: TSchemaInstance<symbol | undefined>, val?: string | number): TSchemaInstance<symbol>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-item.model.d.ts","sourceRoot":"","sources":["../../../src/models/schema-item.model.ts"],"names":[],"mappings":"AAKA,KAAK,eAAe,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,qBAAa,UAAU,CAAC,CAAC,GAAG,KAAK;;IAC/B,IAAW,KAAK,IAAI,CAAC,CAEpB;IAIM,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAexF,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAsB7F,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,GAAE,MAAU,EAAE,GAAG,GAAE,MAAa,GAAG,eAAe,CAAC,MAAM,CAAC;IAO/G,QAAQ,CACb,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EACtC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,UAAU,CAAC,CAAA;KAAE,GAC3G,eAAe,CAAC,MAAM,CAAC;IAWnB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAOpF,IAAI,CACT,IAAI,EAAE,eAAe,CAAC,IAAI,GAAG,SAAS,CAAC,EACvC,MAAM,GAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAM,GACjF,eAAe,CAAC,IAAI,CAAC;IAiBjB,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;IAQxE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC;IAO7E,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,GAAE,MAAM,GAAG,MAAU,GAAG,eAAe,CAAC,MAAM,CAAC;IAOpG,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;IAUnF,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAOvF,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAOvF,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAO1F,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,eAAe;CAKxB"}
|
|
1
|
+
{"version":3,"file":"schema-item.model.d.ts","sourceRoot":"","sources":["../../../src/models/schema-item.model.ts"],"names":[],"mappings":"AAKA,KAAK,eAAe,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,qBAAa,UAAU,CAAC,CAAC,GAAG,KAAK;;IAC/B,IAAW,KAAK,IAAI,CAAC,CAEpB;IAIM,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAexF,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAsB7F,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,GAAE,MAAU,EAAE,GAAG,GAAE,MAAa,GAAG,eAAe,CAAC,MAAM,CAAC;IAO/G,QAAQ,CACb,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EACtC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,UAAU,CAAC,CAAA;KAAE,GAC3G,eAAe,CAAC,MAAM,CAAC;IAWnB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAOpF,IAAI,CACT,IAAI,EAAE,eAAe,CAAC,IAAI,GAAG,SAAS,CAAC,EACvC,MAAM,GAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAM,GACjF,eAAe,CAAC,IAAI,CAAC;IAiBjB,SAAS,CACd,IAAI,EAAE,eAAe,CAAC,IAAI,GAAG,SAAS,CAAC,EACvC,MAAM,GAAE,OAAO,CAAC;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAM,GAC1F,eAAe,CAAC,MAAM,CAAC;IAwBnB,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;IAQxE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC;IAO7E,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,GAAE,MAAM,GAAG,MAAU,GAAG,eAAe,CAAC,MAAM,CAAC;IAOpG,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;IAUnF,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAOvF,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAOvF,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAO1F,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,eAAe;CAKxB"}
|
package/dist/utils.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var
|
|
1
|
+
var f = (s) => {
|
|
2
2
|
throw TypeError(s);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var y = (s, e, t) => e.has(s) || f("Cannot " + t);
|
|
5
|
+
var l = (s, e, t) => (y(s, e, "read from private field"), t ? t.call(s) : e.get(s)), T = (s, e, t) => e.has(s) ? f("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), r = (s, e, t, i) => (y(s, e, "write to private field"), i ? i.call(s, t) : e.set(s, t), t);
|
|
6
6
|
const q = [
|
|
7
7
|
"Lorem",
|
|
8
8
|
"ipsum",
|
|
@@ -498,8 +498,8 @@ const q = [
|
|
|
498
498
|
"hendrerit",
|
|
499
499
|
"dolor."
|
|
500
500
|
];
|
|
501
|
-
var
|
|
502
|
-
class
|
|
501
|
+
var c = /* @__PURE__ */ ((s) => (s.Text = "text", s.Input = "input", s.Image = "image", s.Video = "video", s.WrapperElement = "wrapper-element", s))(c || {}), b = /* @__PURE__ */ ((s) => (s.PrimaryColor = "rgba(100, 100, 100, .6)", s.SecondaryColor = "rgba(100, 100, 100, .3)", s))(b || {});
|
|
502
|
+
class v {
|
|
503
503
|
static daysInMs(e) {
|
|
504
504
|
return e * 24 * 60 * 60 * 1e3;
|
|
505
505
|
}
|
|
@@ -507,72 +507,78 @@ class g {
|
|
|
507
507
|
return new Date(e.getTime() + Math.random() * (t.getTime() - e.getTime()));
|
|
508
508
|
}
|
|
509
509
|
}
|
|
510
|
-
let
|
|
510
|
+
let M = 0;
|
|
511
511
|
var a;
|
|
512
512
|
class x {
|
|
513
513
|
constructor() {
|
|
514
|
-
|
|
514
|
+
T(this, a);
|
|
515
515
|
}
|
|
516
516
|
get value() {
|
|
517
|
-
return
|
|
517
|
+
return l(this, a);
|
|
518
518
|
}
|
|
519
519
|
words(e) {
|
|
520
520
|
this.assertType();
|
|
521
521
|
let t = "", i = 0;
|
|
522
522
|
for (; i < e; )
|
|
523
523
|
t += this.randomLoremWord() + " ", i++;
|
|
524
|
-
return
|
|
524
|
+
return r(this, a, t.trim()), this;
|
|
525
525
|
}
|
|
526
526
|
paragraphs(e) {
|
|
527
527
|
this.assertType();
|
|
528
528
|
let t = "", i = 0;
|
|
529
|
-
const
|
|
529
|
+
const m = 50;
|
|
530
530
|
for (; i < e; ) {
|
|
531
|
-
const o =
|
|
531
|
+
const o = m - Math.round(m * Math.random() * 0.2) * (Math.random() < 0.5 ? -1 : 1);
|
|
532
532
|
t += this.words(o).value, i !== e - 1 && (t += `
|
|
533
533
|
`), i++;
|
|
534
534
|
}
|
|
535
|
-
return
|
|
535
|
+
return r(this, a, t), this;
|
|
536
536
|
}
|
|
537
537
|
number(e = 0, t = 1e3) {
|
|
538
|
-
return this.assertType(),
|
|
538
|
+
return this.assertType(), r(this, a, Math.ceil(Math.random() * (t - e)) + e), this;
|
|
539
539
|
}
|
|
540
540
|
currency(e) {
|
|
541
|
-
return this.assertType(),
|
|
541
|
+
return this.assertType(), r(this, a, new Intl.NumberFormat(
|
|
542
542
|
e.locale,
|
|
543
543
|
{ ...e.options, style: "currency", currency: e.currency }
|
|
544
|
-
).format(+
|
|
544
|
+
).format(+l(this, a))), this;
|
|
545
545
|
}
|
|
546
546
|
multiply(e) {
|
|
547
|
-
return this.assertType(),
|
|
547
|
+
return this.assertType(), r(this, a, l(this, a) * e), this;
|
|
548
548
|
}
|
|
549
549
|
date(e = {}) {
|
|
550
550
|
this.assertType();
|
|
551
551
|
let t = e.max ?? /* @__PURE__ */ new Date("2100-01-01"), i = e.min ?? /* @__PURE__ */ new Date("1970-01-01");
|
|
552
|
-
return e.isFuture ? i = new Date(Date.now() +
|
|
552
|
+
return e.isFuture ? i = new Date(Date.now() + v.daysInMs(1)) : e.isPast && (t = new Date(Date.now() - v.daysInMs(1))), r(this, a, v.dateBetween(i, t)), this;
|
|
553
|
+
}
|
|
554
|
+
timeOfDay(e = {}) {
|
|
555
|
+
const t = l(this, a) ?? this.date().value;
|
|
556
|
+
this.assertType();
|
|
557
|
+
const i = (e.use12HourFormat ? t.getUTCHours() % 12 : t.getUTCHours()).toString().padStart(2, "0"), m = t.getMinutes().toString().padStart(2, "0"), o = t.getSeconds().toString().padStart(2, "0"), d = this;
|
|
558
|
+
return r(d, a, e.showSeconds ? `${i}:${m}:${o}` : `${i}:${m}`), e.showAmPm && r(d, a, l(d, a) + (t.getUTCHours() >= 12 ? " PM" : " AM")), d;
|
|
553
559
|
}
|
|
554
560
|
uuid() {
|
|
555
|
-
return
|
|
561
|
+
return M++, this.assertType(), r(this, a, M), this;
|
|
556
562
|
}
|
|
557
563
|
boolean() {
|
|
558
|
-
return this.assertType(),
|
|
564
|
+
return this.assertType(), r(this, a, Math.random() <= 0.5), this;
|
|
559
565
|
}
|
|
560
566
|
symbol(e = 0) {
|
|
561
|
-
return this.assertType(),
|
|
567
|
+
return this.assertType(), r(this, a, Symbol(e)), this;
|
|
562
568
|
}
|
|
563
569
|
randomItem(e) {
|
|
564
570
|
this.assertType();
|
|
565
571
|
const t = Math.floor(Math.random() * e.length);
|
|
566
|
-
return
|
|
572
|
+
return r(this, a, e[t]), this;
|
|
567
573
|
}
|
|
568
574
|
prefix(e) {
|
|
569
|
-
return this.assertType(),
|
|
575
|
+
return this.assertType(), r(this, a, `${e}${l(this, a)}`), this;
|
|
570
576
|
}
|
|
571
577
|
suffix(e) {
|
|
572
|
-
return this.assertType(),
|
|
578
|
+
return this.assertType(), r(this, a, `${l(this, a)}${e}`), this;
|
|
573
579
|
}
|
|
574
580
|
identical(e) {
|
|
575
|
-
return this.assertType(),
|
|
581
|
+
return this.assertType(), r(this, a, e), this;
|
|
576
582
|
}
|
|
577
583
|
assertType() {
|
|
578
584
|
}
|
|
@@ -583,9 +589,9 @@ class x {
|
|
|
583
589
|
}
|
|
584
590
|
a = new WeakMap();
|
|
585
591
|
let I = 0;
|
|
586
|
-
class
|
|
592
|
+
class h {
|
|
587
593
|
constructor(e) {
|
|
588
|
-
this.generator = e, this.uuid = I++, this.viewModel = this.generator(), this.val =
|
|
594
|
+
this.generator = e, this.uuid = I++, this.viewModel = this.generator(), this.val = h.modelToValue(this.viewModel);
|
|
589
595
|
}
|
|
590
596
|
get value() {
|
|
591
597
|
return this.val;
|
|
@@ -598,7 +604,7 @@ class c {
|
|
|
598
604
|
{
|
|
599
605
|
const t = {};
|
|
600
606
|
return Object.keys(e).forEach((i) => {
|
|
601
|
-
t[i] =
|
|
607
|
+
t[i] = h.modelToValue(
|
|
602
608
|
e[i]
|
|
603
609
|
);
|
|
604
610
|
}), t;
|
|
@@ -611,10 +617,10 @@ class P {
|
|
|
611
617
|
// - that all properties / methods accessed from within skeletonized part of the view are a part of skeletonSchema
|
|
612
618
|
// - that typescript understands correct type of each property / method accessed from within the skeletonized part of the view
|
|
613
619
|
proxy(e) {
|
|
614
|
-
return e instanceof
|
|
620
|
+
return e instanceof h ? e.value : e;
|
|
615
621
|
}
|
|
616
622
|
}
|
|
617
|
-
class
|
|
623
|
+
class D {
|
|
618
624
|
constructor() {
|
|
619
625
|
this.config = null, this.viewModels = [];
|
|
620
626
|
}
|
|
@@ -622,18 +628,18 @@ class N {
|
|
|
622
628
|
setupModels() {
|
|
623
629
|
if (this.config) {
|
|
624
630
|
const e = this.config.schemaGenerator;
|
|
625
|
-
this.viewModels = Array.from({ length: this.config.repeat }, () => new
|
|
631
|
+
this.viewModels = Array.from({ length: this.config.repeat }, () => new h(e));
|
|
626
632
|
}
|
|
627
633
|
}
|
|
628
634
|
}
|
|
629
635
|
const n = class n {
|
|
630
636
|
static skeletonizeProjectedTemplate(e, t) {
|
|
631
|
-
const i = (t == null ? void 0 : t.primaryColor) ?? b.PrimaryColor,
|
|
637
|
+
const i = (t == null ? void 0 : t.primaryColor) ?? b.PrimaryColor, m = (t == null ? void 0 : t.secondaryColor) ?? b.SecondaryColor;
|
|
632
638
|
e.setAttribute(
|
|
633
639
|
"style",
|
|
634
|
-
`--skeletonizer-primary-color: ${i}; --skeletonizer-secondary-color: ${
|
|
640
|
+
`--skeletonizer-primary-color: ${i}; --skeletonizer-secondary-color: ${m};`
|
|
635
641
|
), Array.from(e.querySelectorAll("*:not(svg, [data-skeletonizer])")).forEach((o) => {
|
|
636
|
-
const
|
|
642
|
+
const d = [
|
|
637
643
|
"br",
|
|
638
644
|
"b",
|
|
639
645
|
"strong",
|
|
@@ -645,37 +651,37 @@ const n = class n {
|
|
|
645
651
|
"ins",
|
|
646
652
|
"sub",
|
|
647
653
|
"sup"
|
|
648
|
-
],
|
|
649
|
-
o.childNodes.forEach((
|
|
650
|
-
switch (
|
|
654
|
+
], g = Array.from(o.childNodes).map((u) => u.nodeName.toLowerCase()).filter((u) => !d.includes(u)), A = g.length > 0 && g.some((u) => u !== g[0]);
|
|
655
|
+
o.childNodes.forEach((u) => {
|
|
656
|
+
switch (u.nodeName.toLowerCase()) {
|
|
651
657
|
case "#text": {
|
|
652
|
-
if (this.assertAs(
|
|
658
|
+
if (this.assertAs(u), u.wholeText.trim())
|
|
653
659
|
if (A) {
|
|
654
|
-
const
|
|
655
|
-
|
|
656
|
-
n.skeletonizedSpanGenerator(
|
|
660
|
+
const p = document.createElement("span");
|
|
661
|
+
p.innerText = u.cloneNode().wholeText, p.innerText.length && u.replaceWith(
|
|
662
|
+
n.skeletonizedSpanGenerator(p.innerText, c.Text)
|
|
657
663
|
);
|
|
658
664
|
} else {
|
|
659
|
-
const
|
|
660
|
-
o.innerHTML =
|
|
665
|
+
const p = n.skeletonizedSpanGenerator(o.innerHTML, c.Text);
|
|
666
|
+
o.innerHTML = p.outerHTML;
|
|
661
667
|
}
|
|
662
668
|
break;
|
|
663
669
|
}
|
|
664
670
|
case "input": {
|
|
665
|
-
|
|
671
|
+
u.setAttribute(n.dataAttr, c.Input);
|
|
666
672
|
break;
|
|
667
673
|
}
|
|
668
674
|
case "img": {
|
|
669
|
-
|
|
675
|
+
u.setAttribute(n.dataAttr, c.Image);
|
|
670
676
|
break;
|
|
671
677
|
}
|
|
672
678
|
case "video": {
|
|
673
|
-
|
|
679
|
+
u.setAttribute(n.dataAttr, c.Video);
|
|
674
680
|
break;
|
|
675
681
|
}
|
|
676
682
|
}
|
|
677
683
|
});
|
|
678
|
-
}), e.setAttribute(n.dataAttr,
|
|
684
|
+
}), e.setAttribute(n.dataAttr, c.WrapperElement);
|
|
679
685
|
}
|
|
680
686
|
static skeletonizedSpanGenerator(e, t) {
|
|
681
687
|
const i = document.createElement("span");
|
|
@@ -685,11 +691,11 @@ const n = class n {
|
|
|
685
691
|
}
|
|
686
692
|
};
|
|
687
693
|
n.dataAttr = "data-skeletonizer";
|
|
688
|
-
let
|
|
694
|
+
let w = n;
|
|
689
695
|
export {
|
|
690
|
-
|
|
696
|
+
h as Schema,
|
|
691
697
|
x as SchemaItem,
|
|
692
698
|
P as SkeletonAbstractComponent,
|
|
693
|
-
|
|
694
|
-
|
|
699
|
+
D as SkeletonAdapterComponent,
|
|
700
|
+
w as SkeletonDirective
|
|
695
701
|
};
|
package/dist/utils.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(s,
|
|
2
|
-
`),
|
|
1
|
+
(function(s,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(s=typeof globalThis<"u"?globalThis:s||self,r(s["@skeletonizer/utils"]={}))})(this,function(s){"use strict";var A=s=>{throw TypeError(s)};var w=(s,r,n)=>r.has(s)||A("Cannot "+n);var c=(s,r,n)=>(w(s,r,"read from private field"),n?n.call(s):r.get(s)),x=(s,r,n)=>r.has(s)?A("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(s):r.set(s,n),u=(s,r,n,g)=>(w(s,r,"write to private field"),g?g.call(s,n):r.set(s,n),n);var i;const r=["Lorem","ipsum","dolor","sit","amet,","consectetur","adipiscing","elit.","Mauris","posuere","tincidunt","purus,","id","laoreet","mauris","cursus","nec.","Quisque","id","ante","id","tellus","aliquam","pulvinar","eget","eu","dolor.","Donec","egestas","dapibus","massa,","vel","finibus","lectus","congue","eu.","Morbi","quis","erat","condimentum,","molestie","ex","a,","sollicitudin","metus.","Vestibulum","orci","metus,","sagittis","a","sagittis","a,","varius","id","diam.","Cras","egestas","eros","vestibulum,","tempus","ipsum","pellentesque,","dictum","justo.","Quisque","sed","justo","metus.","Suspendisse","id","felis","vitae","nunc","auctor","tristique","eu","sit","amet","mi.","Ut","luctus","posuere","viverra.","Nunc","sed","augue","a","velit","sodales","iaculis.","Sed","at","arcu","non","massa","hendrerit","scelerisque.","Nunc","commodo","vulputate","vestibulum.","Duis","ut","leo","nisi.","Mauris","dignissim","quis","sem","non","blandit.","Suspendisse","id","elit","eget","leo","efficitur","maximus.","Ut","eu","auctor","ligula.","Nulla","in","leo","luctus,","tempor","justo","vitae,","condimentum","massa.","Quisque","venenatis","elementum","posuere.","Sed","bibendum","bibendum","enim,","in","faucibus","ante.","Aliquam","pretium","sapien","ac","eleifend","suscipit.","Duis","lacinia","justo","quis","diam","elementum,","vitae","fringilla","lectus","faucibus.","Integer","dictum","commodo","diam","a","tempus.","Aenean","elementum","egestas","quam,","eget","feugiat","ligula","imperdiet","vitae.","Morbi","mattis","dui","sed","elementum","mollis.","In","interdum","viverra","urna,","at","scelerisque","sapien.","Sed","molestie","blandit","risus","nec","ornare.","Integer","pharetra","massa","purus,","ut","fringilla","augue","sollicitudin","in.","Pellentesque","eu","leo","pharetra,","hendrerit","lectus","id,","dapibus","ipsum.","Quisque","tincidunt","euismod","venenatis.","Sed","lacus","ex,","pulvinar","at","dui","vitae,","condimentum","rutrum","eros.","Nunc","viverra","cursus","ante,","ac","dapibus","ligula","volutpat","nec.","Integer","commodo","in","tortor","eget","aliquet.","Nam","bibendum","lectus","vitae","ligula","interdum","scelerisque.","Morbi","sit","amet","augue","diam.","Etiam","purus","lorem,","sodales","sed","sodales","ac,","dignissim","a","tellus.","Nunc","vehicula","nibh","in","erat","rhoncus","ullamcorper.","Orci","varius","natoque","penatibus","et","magnis","dis","parturient","montes,","nascetur","ridiculus","mus.","Aliquam","augue","nunc,","fringilla","at","dictum","quis,","luctus","sit","amet","nisl.","Nam","lectus","felis,","egestas","nec","lacinia","non,","auctor","eget","lorem.","Nunc","vel","velit","quis","magna","hendrerit","volutpat","in","nec","leo.","Aenean","tempor","lectus","tortor,","nec","bibendum","elit","aliquam","at.","In","id","libero","tincidunt,","interdum","libero","sit","amet,","gravida","est.","Morbi","ut","ipsum","enim.","Duis","vel","posuere","ante.","Praesent","sollicitudin","lacus","sit","amet","luctus","euismod.","Phasellus","lorem","elit,","auctor","sed","risus","a,","faucibus","tempor","lacus.","Integer","id","tellus","ut","eros","congue","ornare.","Cras","vitae","ornare","sem.","Cras","tincidunt","arcu","efficitur","mauris","molestie,","eu","eleifend","eros","mattis.","Integer","id","diam","mauris.","Duis","suscipit","enim","risus,","non","dignissim","nulla","imperdiet","hendrerit.","Vestibulum","sed","dignissim","erat.","Aliquam","erat","volutpat.","Nunc","mattis","auctor","justo,","non","fringilla","dolor","blandit","a.","Donec","et","velit","tristique","lacus","varius","aliquam.","Praesent","ac","molestie","quam,","vitae","scelerisque","tellus.","Praesent","eleifend","sed","diam","in","gravida.","Donec","tristique","sapien","ante,","in","egestas","diam","porta","ac.","Proin","ac","justo","eleifend,","consequat","ante","vitae,","laoreet","augue.","Mauris","scelerisque","arcu","dolor,","quis","lobortis","risus","pellentesque","eu.","Praesent","in","enim","a","elit","feugiat","dapibus.","Duis","quis","bibendum","mi.","Vestibulum","lacinia,","sem","at","efficitur","volutpat,","velit","ligula","vulputate","nisi,","sit","amet","dapibus","risus","metus","sed","est.","Sed","in","venenatis","ante.","Pellentesque","vel","ipsum","pharetra,","efficitur","quam","ut,","hendrerit","dolor."];var n=(o=>(o.Text="text",o.Input="input",o.Image="image",o.Video="video",o.WrapperElement="wrapper-element",o))(n||{}),g=(o=>(o.PrimaryColor="rgba(100, 100, 100, .6)",o.SecondaryColor="rgba(100, 100, 100, .3)",o))(g||{});class f{static daysInMs(e){return e*24*60*60*1e3}static dateBetween(e,t){return new Date(e.getTime()+Math.random()*(t.getTime()-e.getTime()))}}let M=0;class q{constructor(){x(this,i)}get value(){return c(this,i)}words(e){this.assertType();let t="",a=0;for(;a<e;)t+=this.randomLoremWord()+" ",a++;return u(this,i,t.trim()),this}paragraphs(e){this.assertType();let t="",a=0;const p=50;for(;a<e;){const d=p-Math.round(p*Math.random()*.2)*(Math.random()<.5?-1:1);t+=this.words(d).value,a!==e-1&&(t+=`
|
|
2
|
+
`),a++}return u(this,i,t),this}number(e=0,t=1e3){return this.assertType(),u(this,i,Math.ceil(Math.random()*(t-e))+e),this}currency(e){return this.assertType(),u(this,i,new Intl.NumberFormat(e.locale,{...e.options,style:"currency",currency:e.currency}).format(+c(this,i))),this}multiply(e){return this.assertType(),u(this,i,c(this,i)*e),this}date(e={}){this.assertType();let t=e.max??new Date("2100-01-01"),a=e.min??new Date("1970-01-01");return e.isFuture?a=new Date(Date.now()+f.daysInMs(1)):e.isPast&&(t=new Date(Date.now()-f.daysInMs(1))),u(this,i,f.dateBetween(a,t)),this}timeOfDay(e={}){const t=c(this,i)??this.date().value;this.assertType();const a=(e.use12HourFormat?t.getUTCHours()%12:t.getUTCHours()).toString().padStart(2,"0"),p=t.getMinutes().toString().padStart(2,"0"),d=t.getSeconds().toString().padStart(2,"0"),h=this;return u(h,i,e.showSeconds?`${a}:${p}:${d}`:`${a}:${p}`),e.showAmPm&&u(h,i,c(h,i)+(t.getUTCHours()>=12?" PM":" AM")),h}uuid(){return M++,this.assertType(),u(this,i,M),this}boolean(){return this.assertType(),u(this,i,Math.random()<=.5),this}symbol(e=0){return this.assertType(),u(this,i,Symbol(e)),this}randomItem(e){this.assertType();const t=Math.floor(Math.random()*e.length);return u(this,i,e[t]),this}prefix(e){return this.assertType(),u(this,i,`${e}${c(this,i)}`),this}suffix(e){return this.assertType(),u(this,i,`${c(this,i)}${e}`),this}identical(e){return this.assertType(),u(this,i,e),this}assertType(){}randomLoremWord(){const e=Math.floor(Math.random()*r.length);return r[e]??"lorem"}}i=new WeakMap;let C=0;class b{constructor(e){this.generator=e,this.uuid=C++,this.viewModel=this.generator(),this.val=b.modelToValue(this.viewModel)}get value(){return this.val}static modelToValue(e){if(e instanceof q)return e.value;if(Array.isArray(e))return e.map(this.modelToValue);{const t={};return Object.keys(e).forEach(a=>{t[a]=b.modelToValue(e[a])}),t}}}class I{proxy(e){return e instanceof b?e.value:e}}class P{constructor(){this.config=null,this.viewModels=[]}setupModels(){if(this.config){const e=this.config.schemaGenerator;this.viewModels=Array.from({length:this.config.repeat},()=>new b(e))}}}const m=class m{static skeletonizeProjectedTemplate(e,t){const a=(t==null?void 0:t.primaryColor)??g.PrimaryColor,p=(t==null?void 0:t.secondaryColor)??g.SecondaryColor;e.setAttribute("style",`--skeletonizer-primary-color: ${a}; --skeletonizer-secondary-color: ${p};`),Array.from(e.querySelectorAll("*:not(svg, [data-skeletonizer])")).forEach(d=>{const h=["br","b","strong","i","em","mark","small","del","ins","sub","sup"],T=Array.from(d.childNodes).map(l=>l.nodeName.toLowerCase()).filter(l=>!h.includes(l)),S=T.length>0&&T.some(l=>l!==T[0]);d.childNodes.forEach(l=>{switch(l.nodeName.toLowerCase()){case"#text":{if(this.assertAs(l),l.wholeText.trim())if(S){const v=document.createElement("span");v.innerText=l.cloneNode().wholeText,v.innerText.length&&l.replaceWith(m.skeletonizedSpanGenerator(v.innerText,n.Text))}else{const v=m.skeletonizedSpanGenerator(d.innerHTML,n.Text);d.innerHTML=v.outerHTML}break}case"input":{l.setAttribute(m.dataAttr,n.Input);break}case"img":{l.setAttribute(m.dataAttr,n.Image);break}case"video":{l.setAttribute(m.dataAttr,n.Video);break}}})}),e.setAttribute(m.dataAttr,n.WrapperElement)}static skeletonizedSpanGenerator(e,t){const a=document.createElement("span");return a.innerHTML=e,a.setAttribute(m.dataAttr,t),a}static assertAs(e){}};m.dataAttr="data-skeletonizer";let y=m;s.Schema=b,s.SchemaItem=q,s.SkeletonAbstractComponent=I,s.SkeletonAdapterComponent=P,s.SkeletonDirective=y,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skeletonizer/utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Utils for all skeletonizer packages",
|
|
5
5
|
"author": "Luka Varga",
|
|
6
6
|
"license": "MIT",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"vite-plugin-dts": "^4.3.0",
|
|
56
56
|
"vitest": "2.1.4"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "f92c5f202d62cb226317cf0c9a0a59e0921f5470"
|
|
59
59
|
}
|