@design-edito/tools 0.1.45 → 0.1.47
Sign up to get free protection for your applications and to get access to all the features.
- package/agnostic/css/index.js +11 -11
- package/agnostic/html/hyper-json/cast/index.js +4 -4
- package/agnostic/html/hyper-json/index.js +5 -5
- package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +4 -4
- package/agnostic/html/hyper-json/tree/index.d.ts +0 -21
- package/agnostic/html/hyper-json/tree/index.js +4 -4
- package/agnostic/html/hyper-json/utils/index.js +4 -4
- package/agnostic/html/index.js +13 -13
- package/agnostic/misc/index.js +8 -8
- package/agnostic/misc/lorem-ipsum/index.js +3 -3
- package/agnostic/numbers/index.js +3 -3
- package/agnostic/objects/index.js +11 -11
- package/agnostic/strings/index.js +10 -10
- package/agnostic/time/dates/format-date/index.d.ts +1 -0
- package/agnostic/time/dates/format-date/index.js +6 -0
- package/agnostic/time/dates/index.d.ts +4 -0
- package/agnostic/time/dates/index.js +7 -0
- package/agnostic/time/index.d.ts +2 -0
- package/agnostic/time/index.js +9 -4
- package/chunks/chunk-3OMANUYH.js +211 -0
- package/chunks/chunk-44XPTCIO.js +49 -0
- package/chunks/chunk-4HPUOADZ.js +37 -0
- package/chunks/chunk-7NO34XJI.js +26 -0
- package/chunks/chunk-CK73EBO5.js +35 -0
- package/chunks/chunk-CRZMH2K5.js +2369 -0
- package/chunks/chunk-DZME4OQW.js +2369 -0
- package/chunks/chunk-FDPPGRBY.js +211 -0
- package/chunks/chunk-IMR3ZNXR.js +211 -0
- package/chunks/chunk-JKWNIKHN.js +37 -0
- package/chunks/chunk-KQZK54ZT.js +2369 -0
- package/chunks/chunk-M737IMZM.js +37 -0
- package/chunks/chunk-MQPY7A3O.js +211 -0
- package/chunks/chunk-PJDZMLNG.js +127 -0
- package/chunks/chunk-TAVCC26N.js +37 -0
- package/chunks/chunk-WFED6NDN.js +28 -0
- package/chunks/chunk-WJMBLQRX.js +29 -0
- package/chunks/chunk-WKW34B3A.js +2369 -0
- package/chunks/chunk-ZGYU6F7Q.js +13 -0
- package/node/files/index.js +3 -3
- package/package.json +1 -1
package/agnostic/time/index.d.ts
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
+
import { Dates as DatesNamespace } from './dates';
|
1
2
|
import { Duration as DurationNamespace } from './duration';
|
2
3
|
import { timeout as timeoutFunc } from './timeout';
|
3
4
|
import { Transitions as TransitionsNamespace } from './transitions';
|
4
5
|
import { wait as waitFunc } from './wait';
|
5
6
|
export declare namespace Time {
|
7
|
+
export import Dates = DatesNamespace;
|
6
8
|
export import Duration = DurationNamespace;
|
7
9
|
const timeout: typeof timeoutFunc;
|
8
10
|
export import Transitions = TransitionsNamespace;
|
package/agnostic/time/index.js
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
import {
|
2
|
-
|
3
|
-
} from "../../chunks/chunk-
|
2
|
+
Transitions
|
3
|
+
} from "../../chunks/chunk-ENMBK6H7.js";
|
4
4
|
import {
|
5
5
|
timeout
|
6
6
|
} from "../../chunks/chunk-Z7ZDDBV5.js";
|
7
7
|
import {
|
8
|
-
|
9
|
-
} from "../../chunks/chunk-
|
8
|
+
Dates
|
9
|
+
} from "../../chunks/chunk-ZGYU6F7Q.js";
|
10
|
+
import "../../chunks/chunk-44XPTCIO.js";
|
11
|
+
import {
|
12
|
+
Duration
|
13
|
+
} from "../../chunks/chunk-6NYUQXJT.js";
|
10
14
|
import {
|
11
15
|
wait
|
12
16
|
} from "../../chunks/chunk-4CIS3R7T.js";
|
@@ -14,6 +18,7 @@ import {
|
|
14
18
|
// src/agnostic/time/index.ts
|
15
19
|
var Time;
|
16
20
|
((Time2) => {
|
21
|
+
Time2.Dates = Dates;
|
17
22
|
Time2.Duration = Duration;
|
18
23
|
Time2.timeout = timeout;
|
19
24
|
Time2.Transitions = Transitions;
|
@@ -0,0 +1,211 @@
|
|
1
|
+
import {
|
2
|
+
findDuplicates
|
3
|
+
} from "./chunk-YS6WMSWC.js";
|
4
|
+
import {
|
5
|
+
make
|
6
|
+
} from "./chunk-RLAZR3NL.js";
|
7
|
+
import {
|
8
|
+
isArrayOf
|
9
|
+
} from "./chunk-6RGDWX4A.js";
|
10
|
+
import {
|
11
|
+
randomPick,
|
12
|
+
randomPickMany
|
13
|
+
} from "./chunk-AQBJ6HNB.js";
|
14
|
+
import {
|
15
|
+
Random
|
16
|
+
} from "./chunk-S32K7POB.js";
|
17
|
+
|
18
|
+
// src/agnostic/arrays/index.tsx
|
19
|
+
var Arrays;
|
20
|
+
((Arrays2) => {
|
21
|
+
Arrays2.findDuplicates = findDuplicates;
|
22
|
+
Arrays2.isArrayOf = isArrayOf;
|
23
|
+
Arrays2.make = make;
|
24
|
+
Arrays2.randomPick = randomPick;
|
25
|
+
Arrays2.randomPickMany = randomPickMany;
|
26
|
+
})(Arrays || (Arrays = {}));
|
27
|
+
|
28
|
+
// src/agnostic/misc/lorem-ipsum/index.ts
|
29
|
+
var LoremIpsum;
|
30
|
+
((LoremIpsum2) => {
|
31
|
+
LoremIpsum2.words = [
|
32
|
+
"a",
|
33
|
+
"ac",
|
34
|
+
"accumsan",
|
35
|
+
"adipiscing",
|
36
|
+
"aenean",
|
37
|
+
"aliquam",
|
38
|
+
"aliquet",
|
39
|
+
"amet",
|
40
|
+
"ante",
|
41
|
+
"arcu",
|
42
|
+
"at",
|
43
|
+
"auctor",
|
44
|
+
"augue",
|
45
|
+
"bibendum",
|
46
|
+
"blandit",
|
47
|
+
"condimentum",
|
48
|
+
"consectetur",
|
49
|
+
"consequat",
|
50
|
+
"convallis",
|
51
|
+
"cras",
|
52
|
+
"curabitur",
|
53
|
+
"cursus",
|
54
|
+
"dapibus",
|
55
|
+
"diam",
|
56
|
+
"dictum",
|
57
|
+
"dictumst",
|
58
|
+
"dignissim",
|
59
|
+
"dolor",
|
60
|
+
"donec",
|
61
|
+
"dui",
|
62
|
+
"duis",
|
63
|
+
"efficitur",
|
64
|
+
"egestas",
|
65
|
+
"eget",
|
66
|
+
"eleifend",
|
67
|
+
"elementum",
|
68
|
+
"elit",
|
69
|
+
"enim",
|
70
|
+
"erat",
|
71
|
+
"eros",
|
72
|
+
"est",
|
73
|
+
"et",
|
74
|
+
"eu",
|
75
|
+
"euismod",
|
76
|
+
"ex",
|
77
|
+
"facilisis",
|
78
|
+
"faucibus",
|
79
|
+
"felis",
|
80
|
+
"feugiat",
|
81
|
+
"finibus",
|
82
|
+
"fringilla",
|
83
|
+
"fusce",
|
84
|
+
"gravida",
|
85
|
+
"habitasse",
|
86
|
+
"hac",
|
87
|
+
"hendrerit",
|
88
|
+
"iaculis",
|
89
|
+
"id",
|
90
|
+
"imperdiet",
|
91
|
+
"in",
|
92
|
+
"integer",
|
93
|
+
"interdum",
|
94
|
+
"ipsum",
|
95
|
+
"justo",
|
96
|
+
"lacinia",
|
97
|
+
"lacus",
|
98
|
+
"laoreet",
|
99
|
+
"lectus",
|
100
|
+
"leo",
|
101
|
+
"libero",
|
102
|
+
"ligula",
|
103
|
+
"lobortis",
|
104
|
+
"lorem",
|
105
|
+
"luctus",
|
106
|
+
"maecenas",
|
107
|
+
"magna",
|
108
|
+
"malesuada",
|
109
|
+
"massa",
|
110
|
+
"mattis",
|
111
|
+
"mauris",
|
112
|
+
"maximus",
|
113
|
+
"metus",
|
114
|
+
"mi",
|
115
|
+
"molestie",
|
116
|
+
"mollis",
|
117
|
+
"morbi",
|
118
|
+
"nam",
|
119
|
+
"nec",
|
120
|
+
"neque",
|
121
|
+
"nibh",
|
122
|
+
"nisi",
|
123
|
+
"nisl",
|
124
|
+
"non",
|
125
|
+
"nulla",
|
126
|
+
"nullam",
|
127
|
+
"nunc",
|
128
|
+
"odio",
|
129
|
+
"orci",
|
130
|
+
"ornare",
|
131
|
+
"pellentesque",
|
132
|
+
"pharetra",
|
133
|
+
"phasellus",
|
134
|
+
"placerat",
|
135
|
+
"platea",
|
136
|
+
"porta",
|
137
|
+
"porttitor",
|
138
|
+
"posuere",
|
139
|
+
"praesent",
|
140
|
+
"pulvinar",
|
141
|
+
"purus",
|
142
|
+
"quam",
|
143
|
+
"quis",
|
144
|
+
"quisque",
|
145
|
+
"risus",
|
146
|
+
"rutrum",
|
147
|
+
"sagittis",
|
148
|
+
"sapien",
|
149
|
+
"sed",
|
150
|
+
"sem",
|
151
|
+
"semper",
|
152
|
+
"sit",
|
153
|
+
"sodales",
|
154
|
+
"sollicitudin",
|
155
|
+
"suscipit",
|
156
|
+
"suspendisse",
|
157
|
+
"tellus",
|
158
|
+
"tempor",
|
159
|
+
"tempus",
|
160
|
+
"tincidunt",
|
161
|
+
"tortor",
|
162
|
+
"tristique",
|
163
|
+
"turpis",
|
164
|
+
"ultrices",
|
165
|
+
"ultricies",
|
166
|
+
"urna",
|
167
|
+
"ut",
|
168
|
+
"vehicula",
|
169
|
+
"vel",
|
170
|
+
"velit",
|
171
|
+
"venenatis",
|
172
|
+
"vestibulum",
|
173
|
+
"vitae",
|
174
|
+
"vivamus",
|
175
|
+
"viverra",
|
176
|
+
"volutpat",
|
177
|
+
"vulputate"
|
178
|
+
];
|
179
|
+
LoremIpsum2.generateSentence = (wordCount) => {
|
180
|
+
const resultArr = [];
|
181
|
+
let currentWordCound = wordCount;
|
182
|
+
for (let i = 0; i < currentWordCound; i++) {
|
183
|
+
const picked = Arrays.randomPick(LoremIpsum2.words);
|
184
|
+
if (typeof picked === "string") resultArr.push(picked);
|
185
|
+
else {
|
186
|
+
currentWordCound += 1;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
const [firstWord, ...otherWords] = resultArr;
|
190
|
+
if (firstWord === void 0) return "";
|
191
|
+
const capFirstLetter = firstWord?.charAt(0).toUpperCase();
|
192
|
+
const restOfFirstWord = firstWord?.slice(1);
|
193
|
+
const sentence = [
|
194
|
+
`${capFirstLetter}${restOfFirstWord}`,
|
195
|
+
...otherWords
|
196
|
+
].join(" ");
|
197
|
+
return `${sentence}.`;
|
198
|
+
};
|
199
|
+
LoremIpsum2.generateSentences = (sentencesCount, maxSentenceLength = 12, minSentenceLength = 4) => {
|
200
|
+
const sentences = [];
|
201
|
+
for (let i = 0; i < sentencesCount; i++) {
|
202
|
+
const length = Random.randomInt(maxSentenceLength, minSentenceLength) ?? 8;
|
203
|
+
sentences.push((0, LoremIpsum2.generateSentence)(length));
|
204
|
+
}
|
205
|
+
return sentences;
|
206
|
+
};
|
207
|
+
})(LoremIpsum || (LoremIpsum = {}));
|
208
|
+
|
209
|
+
export {
|
210
|
+
LoremIpsum
|
211
|
+
};
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// src/agnostic/time/dates/format-date/index.ts
|
2
|
+
function formatDate(date, format, locale = "en") {
|
3
|
+
try {
|
4
|
+
new Intl.DateTimeFormat(locale);
|
5
|
+
} catch {
|
6
|
+
locale = "en";
|
7
|
+
}
|
8
|
+
const day = date.getDate();
|
9
|
+
const dayOfWeek = date.getDay();
|
10
|
+
const month = date.getMonth();
|
11
|
+
const year = date.getFullYear();
|
12
|
+
const hours = date.getHours();
|
13
|
+
const minutes = date.getMinutes();
|
14
|
+
const seconds = date.getSeconds();
|
15
|
+
const isPM = hours >= 12;
|
16
|
+
const shortDateNames = [...Array(7)].map((_, i) => new Intl.DateTimeFormat(locale, { weekday: "short" }).format(new Date(2023, 0, i + 1)));
|
17
|
+
const dateNames = [...Array(7)].map((_, i) => new Intl.DateTimeFormat(locale, { weekday: "long" }).format(new Date(2023, 0, i + 1)));
|
18
|
+
const shortMonthNames = [...Array(12)].map((_, i) => new Intl.DateTimeFormat(locale, { month: "short" }).format(new Date(2023, i, 1)));
|
19
|
+
const monthNames = [...Array(12)].map((_, i) => new Intl.DateTimeFormat(locale, { month: "long" }).format(new Date(2023, i, 1)));
|
20
|
+
const replacements = {
|
21
|
+
"DD": () => String(day).padStart(2, "0"),
|
22
|
+
"D": () => String(day),
|
23
|
+
"dd": () => dateNames[dayOfWeek],
|
24
|
+
"d": () => shortDateNames[dayOfWeek],
|
25
|
+
"MM": () => String(month + 1).padStart(2, "0"),
|
26
|
+
"M": () => String(month + 1),
|
27
|
+
"MMMM": () => monthNames[month],
|
28
|
+
"MMM": () => shortMonthNames[month],
|
29
|
+
"YYYY": () => String(year),
|
30
|
+
"YY": () => String(year).slice(-2),
|
31
|
+
"hh": () => String(hours % 12 || 12).padStart(2, "0"),
|
32
|
+
"h": () => String(hours % 12 || 12),
|
33
|
+
"HH": () => String(hours).padStart(2, "0"),
|
34
|
+
"H": () => String(hours),
|
35
|
+
"mm": () => String(minutes).padStart(2, "0"),
|
36
|
+
"m": () => String(minutes),
|
37
|
+
"ss": () => String(seconds).padStart(2, "0"),
|
38
|
+
"s": () => String(seconds),
|
39
|
+
"A": () => isPM ? "PM" : "AM",
|
40
|
+
"a": () => isPM ? "pm" : "am"
|
41
|
+
};
|
42
|
+
return format.replace(/{{(DD|D|dd|d|MM|M|MMMM|MMM|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a)}}/g, (match, token) => {
|
43
|
+
return replacements[token]?.() || match;
|
44
|
+
});
|
45
|
+
}
|
46
|
+
|
47
|
+
export {
|
48
|
+
formatDate
|
49
|
+
};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import {
|
2
|
+
Cast,
|
3
|
+
Tree,
|
4
|
+
Utils
|
5
|
+
} from "./chunk-CRZMH2K5.js";
|
6
|
+
import {
|
7
|
+
Serialize
|
8
|
+
} from "./chunk-SXRWMH3U.js";
|
9
|
+
import {
|
10
|
+
SmartTags
|
11
|
+
} from "./chunk-UT2J62LH.js";
|
12
|
+
import {
|
13
|
+
Transformer
|
14
|
+
} from "./chunk-BKO7GLC2.js";
|
15
|
+
import {
|
16
|
+
Method
|
17
|
+
} from "./chunk-RW7VAKJW.js";
|
18
|
+
import {
|
19
|
+
Types
|
20
|
+
} from "./chunk-XEQ2PBT2.js";
|
21
|
+
|
22
|
+
// src/agnostic/html/hyper-json/index.ts
|
23
|
+
var HyperJson;
|
24
|
+
((HyperJson2) => {
|
25
|
+
HyperJson2.Cast = Cast;
|
26
|
+
HyperJson2.Method = Method;
|
27
|
+
HyperJson2.Serialize = Serialize;
|
28
|
+
HyperJson2.SmartTags = SmartTags;
|
29
|
+
HyperJson2.Transformer = Transformer;
|
30
|
+
HyperJson2.Tree = Tree;
|
31
|
+
HyperJson2.Types = Types;
|
32
|
+
HyperJson2.Utils = Utils;
|
33
|
+
})(HyperJson || (HyperJson = {}));
|
34
|
+
|
35
|
+
export {
|
36
|
+
HyperJson
|
37
|
+
};
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import {
|
2
|
+
Crossenv
|
3
|
+
} from "./chunk-GGT2PUZH.js";
|
4
|
+
import {
|
5
|
+
Errors
|
6
|
+
} from "./chunk-2KT7AKRW.js";
|
7
|
+
|
8
|
+
// src/shared/errors/index.ts
|
9
|
+
var register = Errors.Register.from({
|
10
|
+
["no-window-document-on-runtime" /* NO_DOCUMENT */]: {
|
11
|
+
message: `Runtime '${Crossenv.detectRuntime()}' does not provide a Document object, cannot complete.`,
|
12
|
+
detailsMaker: () => void 0
|
13
|
+
},
|
14
|
+
["no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */]: {
|
15
|
+
message: `Please provide a Document object since none are found on runtime '${Crossenv.detectRuntime()}'`,
|
16
|
+
detailsMaker: (tips) => tips
|
17
|
+
},
|
18
|
+
["impossible-to-pick-in-array" /* IMPOSSIBLE_TO_PICK_IN_ARRAY */]: {
|
19
|
+
message: "Impossible to pick",
|
20
|
+
detailsMaker: (array) => array.length === 0 ? "Array cannot be empty" : "Too many exclusions"
|
21
|
+
}
|
22
|
+
});
|
23
|
+
|
24
|
+
export {
|
25
|
+
register
|
26
|
+
};
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import {
|
2
|
+
register
|
3
|
+
} from "./chunk-7NO34XJI.js";
|
4
|
+
|
5
|
+
// src/agnostic/html/selector-to-element/index.ts
|
6
|
+
function selectorToElement(selector, documentObj) {
|
7
|
+
const actualDocument = documentObj ?? window.document;
|
8
|
+
if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "The optional second parameter expects a Document object");
|
9
|
+
const tagRegexp = /^[A-Za-z]+/;
|
10
|
+
const idRegexp = /#[A-Za-z]+[\w\-\:]*/;
|
11
|
+
const classRegexp = /\.[A-Za-z]+[\w\-]*/;
|
12
|
+
const attributeRegexp = /\[[A-Za-z]+[\w\-]*(="[\w\-]+")?\]/;
|
13
|
+
const matchedTags = selector.match(tagRegexp) ?? [];
|
14
|
+
const matchedIds = selector.match(idRegexp) ?? [];
|
15
|
+
const matchedClasses = selector.match(classRegexp) ?? [];
|
16
|
+
const matchedAttrs = selector.match(attributeRegexp) ?? [];
|
17
|
+
const tag = matchedTags[matchedTags.length - 1] ?? "div";
|
18
|
+
const id = matchedIds[matchedIds.length - 1] ?? null;
|
19
|
+
const classes = matchedClasses.map((matchedClass) => matchedClass.replace(/^\./, ""));
|
20
|
+
const attributes = matchedAttrs.map((matchedAttr) => matchedAttr.replace(/^\[/, "").replace(/\]$/, "").split("="));
|
21
|
+
const element = actualDocument.createElement(tag);
|
22
|
+
if (id !== null) {
|
23
|
+
element.id = id;
|
24
|
+
}
|
25
|
+
element.classList.add(...classes);
|
26
|
+
attributes.forEach(([name, value = ""]) => {
|
27
|
+
if (name === void 0) return;
|
28
|
+
element.setAttribute(name, value);
|
29
|
+
});
|
30
|
+
return element;
|
31
|
+
}
|
32
|
+
|
33
|
+
export {
|
34
|
+
selectorToElement
|
35
|
+
};
|