@design-edito/tools 0.1.66 → 0.1.68
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/agnostic/arrays/index.js +8 -8
- package/agnostic/arrays/random-pick/index.js +6 -6
- package/agnostic/colors/index.js +6 -6
- package/agnostic/css/index.js +17 -17
- package/agnostic/css/styles-set/index.js +6 -6
- package/agnostic/errors/index.js +2 -2
- package/agnostic/html/hyper-json/cast/index.js +2 -2
- package/agnostic/html/hyper-json/index.js +3 -3
- package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
- package/agnostic/html/hyper-json/tree/index.js +2 -2
- package/agnostic/html/hyper-json/utils/index.js +2 -2
- package/agnostic/html/index.js +19 -19
- package/agnostic/html/sanitize/index.js +6 -6
- package/agnostic/html/selector-to-element/index.js +6 -6
- package/agnostic/html/string-to-nodes/index.js +7 -7
- package/agnostic/misc/assert/index.js +3 -3
- package/agnostic/misc/crossenv/index.js +2 -2
- package/agnostic/misc/index.js +29 -29
- package/agnostic/misc/lorem-ipsum/index.js +13 -13
- package/agnostic/numbers/index.js +8 -8
- package/agnostic/objects/index.js +6 -6
- package/agnostic/strings/index.js +6 -6
- package/chunks/chunk-236C4IHT.js +98 -0
- package/chunks/chunk-2HU2AWWJ.js +35 -0
- package/chunks/chunk-3CZNTEF7.js +151 -0
- package/chunks/chunk-4ARTWFW5.js +164 -0
- package/chunks/chunk-4PJWXOLA.js +16 -0
- package/chunks/chunk-4QHGUANF.js +19 -0
- package/chunks/chunk-65YZMVWZ.js +35 -0
- package/chunks/chunk-6Z6GDMOR.js +28 -0
- package/chunks/chunk-72NLUT3X.js +29 -0
- package/chunks/chunk-72U4TDEB.js +127 -0
- package/chunks/chunk-7OK5NZTY.js +18 -0
- package/chunks/chunk-7YW5HL6N.js +168 -0
- package/chunks/chunk-B4XUXE7E.js +18 -0
- package/chunks/chunk-BZHH4R64.js +20 -0
- package/chunks/chunk-C4Q4PC53.js +63 -0
- package/chunks/chunk-CHA42BGS.js +48 -0
- package/chunks/chunk-E6HDM2M4.js +191 -0
- package/chunks/chunk-FHHXI6WC.js +31 -0
- package/chunks/chunk-FRP47Y6H.js +2456 -0
- package/chunks/chunk-GE7DNPF6.js +63 -0
- package/chunks/chunk-GGT2PUZH.js +21 -0
- package/chunks/chunk-GOTTGEXI.js +23 -0
- package/chunks/chunk-HFIE4SBE.js +16 -0
- package/chunks/chunk-IYV3EEYX.js +20 -0
- package/chunks/chunk-J35QFU6O.js +21 -0
- package/chunks/chunk-JQRLQUMJ.js +16 -0
- package/chunks/chunk-JR76DLSV.js +151 -0
- package/chunks/chunk-JX45LILQ.js +164 -0
- package/chunks/chunk-KL6EJPC3.js +35 -0
- package/chunks/chunk-LH6Z6NJY.js +191 -0
- package/chunks/chunk-MFK63FMI.js +31 -0
- package/chunks/chunk-MKHTR43Q.js +231 -0
- package/chunks/chunk-MTT7TVR3.js +127 -0
- package/chunks/chunk-MW3KNVTG.js +29 -0
- package/chunks/chunk-NA7PT2KE.js +21 -0
- package/chunks/chunk-NFIEXASV.js +164 -0
- package/chunks/chunk-Q2ZS3QNB.js +151 -0
- package/chunks/chunk-SAFV7TBT.js +31 -0
- package/chunks/chunk-SJLH36CH.js +26 -0
- package/chunks/chunk-SLCGLOYM.js +37 -0
- package/chunks/chunk-SUWMOLXI.js +191 -0
- package/chunks/chunk-SY65O2JU.js +98 -0
- package/chunks/chunk-T6IC7JVI.js +37 -0
- package/chunks/chunk-TP6V6CBV.js +177 -0
- package/chunks/chunk-U3L3X27Q.js +177 -0
- package/chunks/chunk-U5WEI3QA.js +18 -0
- package/chunks/chunk-UERX6XGZ.js +21 -0
- package/chunks/chunk-UFKH5WD2.js +21 -0
- package/chunks/chunk-UODICVLG.js +173 -0
- package/chunks/chunk-UUU6DWRQ.js +79 -0
- package/chunks/chunk-VDT6ODFV.js +20 -0
- package/chunks/chunk-VHPX7UA3.js +177 -0
- package/chunks/chunk-VR5JHUKK.js +32 -0
- package/chunks/chunk-VSBRIQPH.js +48 -0
- package/chunks/chunk-WC2LQPQP.js +26 -0
- package/chunks/chunk-WH5V6GK7.js +56 -0
- package/chunks/chunk-WIJBRYJ6.js +20 -0
- package/chunks/chunk-WP7L5ZFP.js +173 -0
- package/chunks/chunk-WTILPGGX.js +69 -0
- package/chunks/chunk-X34YXAEL.js +31 -0
- package/chunks/chunk-X6WCMUOP.js +18 -0
- package/chunks/chunk-XB3ZOIHH.js +2456 -0
- package/chunks/chunk-XQMUFSLU.js +16 -0
- package/chunks/chunk-XTOAQTLP.js +98 -0
- package/chunks/chunk-Y7YEYHRZ.js +69 -0
- package/chunks/chunk-YLJBKSLO.js +56 -0
- package/chunks/chunk-YMRGCRQ4.js +48 -0
- package/chunks/chunk-Z2CU55CF.js +20 -0
- package/chunks/chunk-ZNPRJEP5.js +28 -0
- package/chunks/chunk-ZQ7ZC7TZ.js +56 -0
- package/chunks/chunk-ZVBMPJLH.js +48 -0
- package/node/@aws-s3/index.js +3 -3
- package/node/@aws-s3/storage/file/index.js +4 -4
- package/node/@aws-s3/storage/index.js +3 -3
- package/node/@google-cloud/index.js +8 -8
- package/node/@google-cloud/storage/file/index.js +16 -16
- package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +2 -2
- package/node/@google-cloud/storage/index.js +8 -8
- package/node/cloud-storage/index.js +15 -15
- package/node/cloud-storage/operations/download/index.js +3 -3
- package/node/cloud-storage/operations/index.js +11 -11
- package/node/cloud-storage/operations/upload/index.js +3 -3
- package/node/files/index.js +3 -3
- package/node/ftps/file/index.js +4 -4
- package/node/ftps/index.js +2 -2
- package/node/images/index.js +21 -21
- package/node/images/prepare/index.js +21 -21
- package/node/images/transform/frame/index.js +2 -2
- package/node/images/transform/index.js +20 -20
- package/node/images/transform/operations/_utils/frame/backgrounds/create-line-background/index.js +2 -2
- package/node/images/transform/operations/_utils/frame/backgrounds/create-tile-background/index.js +2 -2
- package/node/images/transform/operations/_utils/frame/create-color-palette/index.js +2 -2
- package/node/images/transform/operations/_utils/frame/index.js +6 -6
- package/node/sftp/file/index.js +4 -4
- package/node/sftp/index.js +2 -2
- package/package.json +2 -2
@@ -0,0 +1,191 @@
|
|
1
|
+
import {
|
2
|
+
Random
|
3
|
+
} from "./chunk-S32K7POB.js";
|
4
|
+
import {
|
5
|
+
Arrays
|
6
|
+
} from "./chunk-FHHXI6WC.js";
|
7
|
+
|
8
|
+
// src/agnostic/misc/lorem-ipsum/index.ts
|
9
|
+
var LoremIpsum;
|
10
|
+
((LoremIpsum2) => {
|
11
|
+
LoremIpsum2.words = [
|
12
|
+
"a",
|
13
|
+
"ac",
|
14
|
+
"accumsan",
|
15
|
+
"adipiscing",
|
16
|
+
"aenean",
|
17
|
+
"aliquam",
|
18
|
+
"aliquet",
|
19
|
+
"amet",
|
20
|
+
"ante",
|
21
|
+
"arcu",
|
22
|
+
"at",
|
23
|
+
"auctor",
|
24
|
+
"augue",
|
25
|
+
"bibendum",
|
26
|
+
"blandit",
|
27
|
+
"condimentum",
|
28
|
+
"consectetur",
|
29
|
+
"consequat",
|
30
|
+
"convallis",
|
31
|
+
"cras",
|
32
|
+
"curabitur",
|
33
|
+
"cursus",
|
34
|
+
"dapibus",
|
35
|
+
"diam",
|
36
|
+
"dictum",
|
37
|
+
"dictumst",
|
38
|
+
"dignissim",
|
39
|
+
"dolor",
|
40
|
+
"donec",
|
41
|
+
"dui",
|
42
|
+
"duis",
|
43
|
+
"efficitur",
|
44
|
+
"egestas",
|
45
|
+
"eget",
|
46
|
+
"eleifend",
|
47
|
+
"elementum",
|
48
|
+
"elit",
|
49
|
+
"enim",
|
50
|
+
"erat",
|
51
|
+
"eros",
|
52
|
+
"est",
|
53
|
+
"et",
|
54
|
+
"eu",
|
55
|
+
"euismod",
|
56
|
+
"ex",
|
57
|
+
"facilisis",
|
58
|
+
"faucibus",
|
59
|
+
"felis",
|
60
|
+
"feugiat",
|
61
|
+
"finibus",
|
62
|
+
"fringilla",
|
63
|
+
"fusce",
|
64
|
+
"gravida",
|
65
|
+
"habitasse",
|
66
|
+
"hac",
|
67
|
+
"hendrerit",
|
68
|
+
"iaculis",
|
69
|
+
"id",
|
70
|
+
"imperdiet",
|
71
|
+
"in",
|
72
|
+
"integer",
|
73
|
+
"interdum",
|
74
|
+
"ipsum",
|
75
|
+
"justo",
|
76
|
+
"lacinia",
|
77
|
+
"lacus",
|
78
|
+
"laoreet",
|
79
|
+
"lectus",
|
80
|
+
"leo",
|
81
|
+
"libero",
|
82
|
+
"ligula",
|
83
|
+
"lobortis",
|
84
|
+
"lorem",
|
85
|
+
"luctus",
|
86
|
+
"maecenas",
|
87
|
+
"magna",
|
88
|
+
"malesuada",
|
89
|
+
"massa",
|
90
|
+
"mattis",
|
91
|
+
"mauris",
|
92
|
+
"maximus",
|
93
|
+
"metus",
|
94
|
+
"mi",
|
95
|
+
"molestie",
|
96
|
+
"mollis",
|
97
|
+
"morbi",
|
98
|
+
"nam",
|
99
|
+
"nec",
|
100
|
+
"neque",
|
101
|
+
"nibh",
|
102
|
+
"nisi",
|
103
|
+
"nisl",
|
104
|
+
"non",
|
105
|
+
"nulla",
|
106
|
+
"nullam",
|
107
|
+
"nunc",
|
108
|
+
"odio",
|
109
|
+
"orci",
|
110
|
+
"ornare",
|
111
|
+
"pellentesque",
|
112
|
+
"pharetra",
|
113
|
+
"phasellus",
|
114
|
+
"placerat",
|
115
|
+
"platea",
|
116
|
+
"porta",
|
117
|
+
"porttitor",
|
118
|
+
"posuere",
|
119
|
+
"praesent",
|
120
|
+
"pulvinar",
|
121
|
+
"purus",
|
122
|
+
"quam",
|
123
|
+
"quis",
|
124
|
+
"quisque",
|
125
|
+
"risus",
|
126
|
+
"rutrum",
|
127
|
+
"sagittis",
|
128
|
+
"sapien",
|
129
|
+
"sed",
|
130
|
+
"sem",
|
131
|
+
"semper",
|
132
|
+
"sit",
|
133
|
+
"sodales",
|
134
|
+
"sollicitudin",
|
135
|
+
"suscipit",
|
136
|
+
"suspendisse",
|
137
|
+
"tellus",
|
138
|
+
"tempor",
|
139
|
+
"tempus",
|
140
|
+
"tincidunt",
|
141
|
+
"tortor",
|
142
|
+
"tristique",
|
143
|
+
"turpis",
|
144
|
+
"ultrices",
|
145
|
+
"ultricies",
|
146
|
+
"urna",
|
147
|
+
"ut",
|
148
|
+
"vehicula",
|
149
|
+
"vel",
|
150
|
+
"velit",
|
151
|
+
"venenatis",
|
152
|
+
"vestibulum",
|
153
|
+
"vitae",
|
154
|
+
"vivamus",
|
155
|
+
"viverra",
|
156
|
+
"volutpat",
|
157
|
+
"vulputate"
|
158
|
+
];
|
159
|
+
LoremIpsum2.generateSentence = (wordCount) => {
|
160
|
+
const resultArr = [];
|
161
|
+
let currentWordCound = wordCount;
|
162
|
+
for (let i = 0; i < currentWordCound; i++) {
|
163
|
+
const picked = Arrays.randomPick(LoremIpsum2.words);
|
164
|
+
if (typeof picked === "string") resultArr.push(picked);
|
165
|
+
else {
|
166
|
+
currentWordCound += 1;
|
167
|
+
}
|
168
|
+
}
|
169
|
+
const [firstWord, ...otherWords] = resultArr;
|
170
|
+
if (firstWord === void 0) return "";
|
171
|
+
const capFirstLetter = firstWord?.charAt(0).toUpperCase();
|
172
|
+
const restOfFirstWord = firstWord?.slice(1);
|
173
|
+
const sentence = [
|
174
|
+
`${capFirstLetter}${restOfFirstWord}`,
|
175
|
+
...otherWords
|
176
|
+
].join(" ");
|
177
|
+
return `${sentence}.`;
|
178
|
+
};
|
179
|
+
LoremIpsum2.generateSentences = (sentencesCount, maxSentenceLength = 12, minSentenceLength = 4) => {
|
180
|
+
const sentences = [];
|
181
|
+
for (let i = 0; i < sentencesCount; i++) {
|
182
|
+
const length = Random.randomInt(maxSentenceLength, minSentenceLength) ?? 8;
|
183
|
+
sentences.push((0, LoremIpsum2.generateSentence)(length));
|
184
|
+
}
|
185
|
+
return sentences;
|
186
|
+
};
|
187
|
+
})(LoremIpsum || (LoremIpsum = {}));
|
188
|
+
|
189
|
+
export {
|
190
|
+
LoremIpsum
|
191
|
+
};
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import {
|
2
|
+
colorSchema
|
3
|
+
} from "./chunk-U7R6TPHR.js";
|
4
|
+
import {
|
5
|
+
esm_default
|
6
|
+
} from "./chunk-YE67BQQN.js";
|
7
|
+
import {
|
8
|
+
OperationNames
|
9
|
+
} from "./chunk-MOVLLUDL.js";
|
10
|
+
|
11
|
+
// src/node/images/transform/extend/index.ts
|
12
|
+
var extendSchema = esm_default.object({
|
13
|
+
name: esm_default.literal(OperationNames.Extend),
|
14
|
+
params: esm_default.object({
|
15
|
+
top: esm_default.number(),
|
16
|
+
left: esm_default.number(),
|
17
|
+
right: esm_default.number(),
|
18
|
+
bottom: esm_default.number(),
|
19
|
+
background: colorSchema,
|
20
|
+
extendWith: esm_default.optional(esm_default.enum([
|
21
|
+
"background",
|
22
|
+
"copy",
|
23
|
+
"repeat",
|
24
|
+
"mirror"
|
25
|
+
]))
|
26
|
+
})
|
27
|
+
});
|
28
|
+
|
29
|
+
export {
|
30
|
+
extendSchema
|
31
|
+
};
|
@@ -0,0 +1,231 @@
|
|
1
|
+
import {
|
2
|
+
Transitions
|
3
|
+
} from "./chunk-ENMBK6H7.js";
|
4
|
+
import {
|
5
|
+
clamp
|
6
|
+
} from "./chunk-OSAXBA7G.js";
|
7
|
+
import {
|
8
|
+
shuffle
|
9
|
+
} from "./chunk-VJJIYJMY.js";
|
10
|
+
import {
|
11
|
+
randomInt
|
12
|
+
} from "./chunk-D3ERTRDW.js";
|
13
|
+
|
14
|
+
// src/node/images/transform/operations/_utils/frame/backgrounds/create-tile-background/index.ts
|
15
|
+
var DEFAULT_CREATE_BACKGROUND_TILE_PARAMS = {
|
16
|
+
coverageRatio: 0.5,
|
17
|
+
densityA: { min: 0, max: 0 },
|
18
|
+
densityB: { min: 0, max: 0 },
|
19
|
+
format: "random",
|
20
|
+
xEasing: "linear",
|
21
|
+
yEasing: "linear"
|
22
|
+
};
|
23
|
+
async function createTileBackground(background, dimensions, imageCoordinates, colorPalette) {
|
24
|
+
background = {
|
25
|
+
...background,
|
26
|
+
params: {
|
27
|
+
...DEFAULT_CREATE_BACKGROUND_TILE_PARAMS,
|
28
|
+
...background.params
|
29
|
+
}
|
30
|
+
};
|
31
|
+
const tileCoordinatesList = getPackedTilesCoordinatesList(
|
32
|
+
{
|
33
|
+
x: imageCoordinates.x,
|
34
|
+
y: imageCoordinates.y,
|
35
|
+
w: imageCoordinates.w,
|
36
|
+
h: imageCoordinates.h
|
37
|
+
},
|
38
|
+
dimensions,
|
39
|
+
background.params.coverageRatio,
|
40
|
+
{
|
41
|
+
A: background.params.densityA,
|
42
|
+
B: background.params.densityB
|
43
|
+
},
|
44
|
+
{
|
45
|
+
X: background.params.xEasing,
|
46
|
+
Y: background.params.yEasing
|
47
|
+
},
|
48
|
+
background.params.format
|
49
|
+
);
|
50
|
+
return createSharpOverlaysFromCoordinatesList(
|
51
|
+
tileCoordinatesList,
|
52
|
+
colorPalette
|
53
|
+
);
|
54
|
+
}
|
55
|
+
function getPackedTilesCoordinatesList(coordinatesToAvoid, dimensions, tileCoverageRatio, tileDensity, tileEasing, tileFormat) {
|
56
|
+
const areaCoordinatesList = [];
|
57
|
+
const baseFormat = {
|
58
|
+
nbCells: 9,
|
59
|
+
cellAvoidIndex: 4,
|
60
|
+
nbRows: 3,
|
61
|
+
nbColumns: 3
|
62
|
+
};
|
63
|
+
const positionsToAvoid = {
|
64
|
+
top: Math.ceil(coordinatesToAvoid.y),
|
65
|
+
bottom: Math.ceil(coordinatesToAvoid.y + coordinatesToAvoid.h),
|
66
|
+
left: Math.ceil(coordinatesToAvoid.x),
|
67
|
+
right: Math.ceil(coordinatesToAvoid.x + coordinatesToAvoid.w)
|
68
|
+
};
|
69
|
+
for (let i = 0; i < baseFormat.nbCells; i++) {
|
70
|
+
if (i === baseFormat.cellAvoidIndex) {
|
71
|
+
continue;
|
72
|
+
}
|
73
|
+
const middleColumn = i % baseFormat.nbColumns === 1;
|
74
|
+
const rightColumn = i % baseFormat.nbColumns === 2;
|
75
|
+
const topRow = i < baseFormat.nbRows;
|
76
|
+
const middleRow = !topRow && i < baseFormat.nbRows * 2;
|
77
|
+
const bottomRow = !topRow && !middleRow;
|
78
|
+
areaCoordinatesList[i] = { x: 0, y: 0, w: positionsToAvoid.left, h: positionsToAvoid.top };
|
79
|
+
if (middleColumn) {
|
80
|
+
areaCoordinatesList[i].x = positionsToAvoid.left;
|
81
|
+
areaCoordinatesList[i].w = coordinatesToAvoid.w;
|
82
|
+
}
|
83
|
+
if (rightColumn) {
|
84
|
+
areaCoordinatesList[i].x = positionsToAvoid.right;
|
85
|
+
}
|
86
|
+
if (middleRow) {
|
87
|
+
areaCoordinatesList[i].y = positionsToAvoid.top;
|
88
|
+
areaCoordinatesList[i].h = coordinatesToAvoid.h;
|
89
|
+
}
|
90
|
+
if (bottomRow) {
|
91
|
+
areaCoordinatesList[i].y = positionsToAvoid.bottom;
|
92
|
+
areaCoordinatesList[i].h = dimensions.heightPx - positionsToAvoid.bottom;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
const filteredAreaCoordinatesList = shuffle(areaCoordinatesList.filter((areaCoordinate) => areaCoordinate.w !== 0 && areaCoordinate.h !== 0));
|
96
|
+
const subTiles = [];
|
97
|
+
const nbAreas = filteredAreaCoordinatesList.length;
|
98
|
+
const nbAreasToCover = Math.round(nbAreas * tileCoverageRatio);
|
99
|
+
if (tileDensity.A.min > 1 || tileDensity.A.max > 1 || tileDensity.B.min > 1 || tileDensity.B.max > 1) {
|
100
|
+
filteredAreaCoordinatesList.forEach((areaCoordinates, index) => {
|
101
|
+
if (index > nbAreasToCover) {
|
102
|
+
subTiles.push(areaCoordinates);
|
103
|
+
return;
|
104
|
+
}
|
105
|
+
const { nbRows, nbColumns } = getNbRowsAndColumnsForFormat(
|
106
|
+
randomInt(tileDensity.A.min, tileDensity.A.max) || 0,
|
107
|
+
randomInt(tileDensity.B.min, tileDensity.B.max) || 0,
|
108
|
+
{ widthPx: areaCoordinates.w, heightPx: areaCoordinates.h },
|
109
|
+
tileFormat
|
110
|
+
);
|
111
|
+
const XEasingFunc = (tileEasing.X && tileEasing.X in Transitions.easings ? Transitions.easings[tileEasing.X] : Transitions.easings.linear) || function(x) {
|
112
|
+
return x;
|
113
|
+
};
|
114
|
+
const YEasingFunc = (tileEasing.Y in Transitions.easings ? Transitions.easings[tileEasing.Y] : Transitions.easings.linear) || function(x) {
|
115
|
+
return x;
|
116
|
+
};
|
117
|
+
const tiles = [];
|
118
|
+
for (let i = 0; i < nbRows; i++) {
|
119
|
+
for (let j = 0; j < nbColumns; j++) {
|
120
|
+
const columnI = j;
|
121
|
+
const rowI = i;
|
122
|
+
const x = Math.ceil(areaCoordinates.w * XEasingFunc(columnI / nbColumns));
|
123
|
+
const y = Math.ceil(areaCoordinates.h * YEasingFunc(rowI / nbRows));
|
124
|
+
tiles.push({
|
125
|
+
x: areaCoordinates.x + x,
|
126
|
+
y: areaCoordinates.y + y
|
127
|
+
});
|
128
|
+
}
|
129
|
+
}
|
130
|
+
const nbTiles = tiles.length;
|
131
|
+
tiles.forEach((subTileCoord, i) => {
|
132
|
+
const tileNum = i + 1;
|
133
|
+
const nextTileX = tileNum % nbColumns > 0 ? tiles[i + 1] : null;
|
134
|
+
const nextTileY = i + nbColumns < nbTiles ? tiles[i + nbColumns] : null;
|
135
|
+
const subTileBounds = {
|
136
|
+
x: nextTileX ? nextTileX.x : areaCoordinates.x + areaCoordinates.w,
|
137
|
+
y: nextTileY ? nextTileY.y : areaCoordinates.y + areaCoordinates.h
|
138
|
+
};
|
139
|
+
subTiles.push({
|
140
|
+
x: subTileCoord.x,
|
141
|
+
y: subTileCoord.y,
|
142
|
+
w: subTileBounds.x - subTileCoord.x,
|
143
|
+
h: subTileBounds.y - subTileCoord.y
|
144
|
+
});
|
145
|
+
});
|
146
|
+
});
|
147
|
+
}
|
148
|
+
return (subTiles.length ? subTiles : filteredAreaCoordinatesList).map((tile) => ({
|
149
|
+
w: clamp(tile.w, 0, dimensions.widthPx),
|
150
|
+
h: clamp(tile.h, 0, dimensions.heightPx),
|
151
|
+
x: clamp(tile.x, 0, dimensions.widthPx),
|
152
|
+
y: clamp(tile.y, 0, dimensions.heightPx)
|
153
|
+
})).filter((tile) => tile.w > 0 && tile.h > 0);
|
154
|
+
}
|
155
|
+
function getNbRowsAndColumnsForFormat(tileDensityA, tileDensityB, tileDimensions, tileFormat) {
|
156
|
+
switch (tileFormat) {
|
157
|
+
case "random":
|
158
|
+
const random = Math.random() > Math.random();
|
159
|
+
return {
|
160
|
+
nbRows: random ? tileDensityA : tileDensityB,
|
161
|
+
nbColumns: random ? tileDensityB : tileDensityA
|
162
|
+
};
|
163
|
+
case "portrait":
|
164
|
+
return {
|
165
|
+
nbRows: tileDensityA,
|
166
|
+
nbColumns: tileDensityB
|
167
|
+
};
|
168
|
+
case "landscape":
|
169
|
+
return {
|
170
|
+
nbRows: tileDensityB,
|
171
|
+
nbColumns: tileDensityA
|
172
|
+
};
|
173
|
+
default:
|
174
|
+
return {
|
175
|
+
nbRows: tileDimensions.widthPx > tileDimensions.heightPx ? tileDensityA : tileDensityB,
|
176
|
+
nbColumns: tileDimensions.widthPx > tileDimensions.heightPx ? tileDensityB : tileDensityA
|
177
|
+
};
|
178
|
+
}
|
179
|
+
}
|
180
|
+
function createSharpOverlaysFromCoordinatesList(tileCoordinatesList, colorPalette) {
|
181
|
+
let usedColorsIndexes = [];
|
182
|
+
const colorPaletteLength = colorPalette.length;
|
183
|
+
const getRGBColor = () => {
|
184
|
+
const getUnusedColorIndex = () => {
|
185
|
+
const paletteIndex = randomInt(0, colorPaletteLength) || 0;
|
186
|
+
resetUnusedColorIndexesIfNeeded();
|
187
|
+
if (usedColorsIndexes.includes(paletteIndex)) {
|
188
|
+
return getUnusedColorIndex();
|
189
|
+
}
|
190
|
+
usedColorsIndexes.push(paletteIndex);
|
191
|
+
return paletteIndex;
|
192
|
+
};
|
193
|
+
const resetUnusedColorIndexesIfNeeded = () => {
|
194
|
+
if (usedColorsIndexes.length !== colorPaletteLength) {
|
195
|
+
return;
|
196
|
+
}
|
197
|
+
usedColorsIndexes = [];
|
198
|
+
};
|
199
|
+
const colorPaletteIndex = getUnusedColorIndex();
|
200
|
+
const RGBColor = colorPalette[colorPaletteIndex];
|
201
|
+
if (!RGBColor) {
|
202
|
+
return [0, 0, 0];
|
203
|
+
}
|
204
|
+
return RGBColor;
|
205
|
+
};
|
206
|
+
return tileCoordinatesList.map((tileCoordinates) => {
|
207
|
+
const RGBColor = getRGBColor();
|
208
|
+
return {
|
209
|
+
top: Math.floor(tileCoordinates.y),
|
210
|
+
left: Math.floor(tileCoordinates.x),
|
211
|
+
input: {
|
212
|
+
create: {
|
213
|
+
width: Math.round(tileCoordinates.w),
|
214
|
+
height: Math.round(tileCoordinates.h),
|
215
|
+
channels: 4,
|
216
|
+
background: {
|
217
|
+
r: RGBColor[0],
|
218
|
+
g: RGBColor[1],
|
219
|
+
b: RGBColor[2],
|
220
|
+
alpha: 1
|
221
|
+
}
|
222
|
+
}
|
223
|
+
}
|
224
|
+
};
|
225
|
+
});
|
226
|
+
}
|
227
|
+
|
228
|
+
export {
|
229
|
+
DEFAULT_CREATE_BACKGROUND_TILE_PARAMS,
|
230
|
+
createTileBackground
|
231
|
+
};
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import {
|
2
|
+
register
|
3
|
+
} from "./chunk-WC2LQPQP.js";
|
4
|
+
|
5
|
+
// src/agnostic/html/sanitize/index.ts
|
6
|
+
var Sanitize;
|
7
|
+
((Sanitize2) => {
|
8
|
+
Sanitize2.defaultOptions = { depth: 20 };
|
9
|
+
function sanitize(inputStr, options = Sanitize2.defaultOptions) {
|
10
|
+
const actualDocument = options.documentObj ?? window.document;
|
11
|
+
if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "See documentObj in the options object");
|
12
|
+
const wrapperDiv = actualDocument.createElement("div");
|
13
|
+
const { inputFreeTransform } = options;
|
14
|
+
wrapperDiv.innerHTML = inputFreeTransform !== void 0 ? inputFreeTransform(inputStr) : inputStr;
|
15
|
+
const sanitizedWrapper = sanitizeElement(wrapperDiv, options);
|
16
|
+
const returned = sanitizedWrapper?.innerHTML;
|
17
|
+
return returned ?? "";
|
18
|
+
}
|
19
|
+
Sanitize2.sanitize = sanitize;
|
20
|
+
function sanitizeElement(element, options = Sanitize2.defaultOptions) {
|
21
|
+
const actualDocument = options.documentObj ?? window.document;
|
22
|
+
if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "See documentObj in the options object");
|
23
|
+
const { tagName, attributes, childNodes } = element;
|
24
|
+
const {
|
25
|
+
allowedTags = [],
|
26
|
+
allowedAttributes = {},
|
27
|
+
forbiddenTags = [],
|
28
|
+
forbiddenAttributes = {},
|
29
|
+
depth = 20,
|
30
|
+
verbose = false
|
31
|
+
} = options;
|
32
|
+
if (depth <= 0) {
|
33
|
+
console.warn("Max depth reached");
|
34
|
+
return null;
|
35
|
+
}
|
36
|
+
const normalizedTagName = tagName.toLowerCase().trim();
|
37
|
+
const tagIsInForbidden = forbiddenTags.includes("*") || forbiddenTags.includes(normalizedTagName);
|
38
|
+
if (tagIsInForbidden) {
|
39
|
+
if (verbose === true) console.warn(tagName, "tag is forbidden");
|
40
|
+
return null;
|
41
|
+
}
|
42
|
+
const tagIsInAllowed = allowedTags.includes("*") || allowedTags.includes(normalizedTagName);
|
43
|
+
if (!tagIsInAllowed) {
|
44
|
+
if (verbose === true) console.warn(tagName, "tag is not allowed");
|
45
|
+
return null;
|
46
|
+
}
|
47
|
+
const returnedElement = actualDocument.createElement(tagName);
|
48
|
+
const returnedAttributes = Array.from(attributes).filter(({ name: attributeName, value: attributeValue }) => {
|
49
|
+
const allTagsForbiddenAttributes = forbiddenAttributes["*"] ?? [];
|
50
|
+
const thisTagForbiddenAttributes = forbiddenAttributes[normalizedTagName] ?? [];
|
51
|
+
const mergedForbiddenAttributes = [...allTagsForbiddenAttributes, ...thisTagForbiddenAttributes];
|
52
|
+
const isInForbidden = mergedForbiddenAttributes.some(({
|
53
|
+
attributeName: nameTester,
|
54
|
+
attributeValues: valTesters
|
55
|
+
}) => {
|
56
|
+
if (typeof nameTester === "string" && nameTester !== "*" && attributeName !== nameTester) return false;
|
57
|
+
if (typeof nameTester !== "string" && !nameTester.test(attributeName)) return false;
|
58
|
+
if (valTesters === void 0) {
|
59
|
+
if (verbose === true) console.warn(attributeName, "attribute on", tagName, "tag is forbidden");
|
60
|
+
return true;
|
61
|
+
}
|
62
|
+
if (valTesters.includes("*")) {
|
63
|
+
if (verbose === true) console.warn(attributeName, "attribute on", tagName, "tag is forbidden");
|
64
|
+
return true;
|
65
|
+
}
|
66
|
+
return valTesters.some((valTester) => {
|
67
|
+
if (typeof valTester === "string" && attributeValue === valTester) {
|
68
|
+
if (verbose === true) console.warn(attributeValue, "value for", attributeName, "attribute on", tagName, "tag is forbidden. Rule:", valTester);
|
69
|
+
return true;
|
70
|
+
}
|
71
|
+
if (typeof valTester !== "string" && valTester.test(attributeValue)) {
|
72
|
+
if (verbose === true) console.warn(attributeValue, "value for", attributeName, "attribute on", tagName, "tag is forbidden. Rule:", valTester);
|
73
|
+
return true;
|
74
|
+
}
|
75
|
+
return false;
|
76
|
+
});
|
77
|
+
});
|
78
|
+
if (isInForbidden) return false;
|
79
|
+
const allTagsAllowedAttributes = allowedAttributes["*"] ?? [];
|
80
|
+
const thisTagAllowedAttributes = allowedAttributes[normalizedTagName] ?? [];
|
81
|
+
const mergedAllowedAttributes = [...allTagsAllowedAttributes, ...thisTagAllowedAttributes];
|
82
|
+
let latestNotAllowedReason = [tagName, "has no allowed attributes"];
|
83
|
+
const isInAllowed = mergedAllowedAttributes.some(({
|
84
|
+
attributeName: nameTester,
|
85
|
+
attributeValues: valTesters
|
86
|
+
}) => {
|
87
|
+
if (typeof nameTester === "string" && nameTester !== "*" && attributeName !== nameTester) {
|
88
|
+
latestNotAllowedReason = [attributeName, "attribute on", tagName, "tag is not allowed"];
|
89
|
+
return false;
|
90
|
+
}
|
91
|
+
if (typeof nameTester !== "string" && !nameTester.test(attributeName)) {
|
92
|
+
latestNotAllowedReason = [attributeName, "attribute on", tagName, "tag is not allowed"];
|
93
|
+
return false;
|
94
|
+
}
|
95
|
+
if (valTesters === void 0) return true;
|
96
|
+
if (valTesters.includes("*")) return true;
|
97
|
+
return valTesters.some((valTester) => {
|
98
|
+
if (typeof valTester === "string" && attributeValue === valTester) return true;
|
99
|
+
if (typeof valTester !== "string" && valTester.test(attributeValue)) return true;
|
100
|
+
latestNotAllowedReason = [attributeValue, "value for", attributeName, "attribute on", tagName, "tag is not allowed"];
|
101
|
+
return false;
|
102
|
+
});
|
103
|
+
});
|
104
|
+
if (!isInAllowed) {
|
105
|
+
if (verbose === true) console.warn(...latestNotAllowedReason);
|
106
|
+
return false;
|
107
|
+
}
|
108
|
+
return true;
|
109
|
+
});
|
110
|
+
returnedAttributes.forEach(({ name, value }) => {
|
111
|
+
returnedElement.setAttribute(name, value);
|
112
|
+
});
|
113
|
+
const sanitizedChildNodes = Array.from(childNodes).map((node) => {
|
114
|
+
if (node.nodeType === Node.ELEMENT_NODE) return sanitizeElement(node, { ...options, depth: depth - 1 });
|
115
|
+
else if (node.nodeType === Node.TEXT_NODE) return node;
|
116
|
+
else if (options.keepComments === true && node.nodeType === Node.COMMENT_NODE) return node;
|
117
|
+
return null;
|
118
|
+
}).filter((elt) => elt !== null);
|
119
|
+
returnedElement.replaceChildren(...sanitizedChildNodes);
|
120
|
+
return returnedElement;
|
121
|
+
}
|
122
|
+
Sanitize2.sanitizeElement = sanitizeElement;
|
123
|
+
})(Sanitize || (Sanitize = {}));
|
124
|
+
|
125
|
+
export {
|
126
|
+
Sanitize
|
127
|
+
};
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import {
|
2
|
+
register
|
3
|
+
} from "./chunk-WC2LQPQP.js";
|
4
|
+
|
5
|
+
// src/agnostic/arrays/random-pick/index.ts
|
6
|
+
function randomPick(arr, exclude = []) {
|
7
|
+
const filteredArr = [...arr].filter((elt) => !exclude.includes(elt));
|
8
|
+
const length = filteredArr.length;
|
9
|
+
if (length === 0) throw register.getError("impossible-to-pick-in-array" /* IMPOSSIBLE_TO_PICK_IN_ARRAY */, arr);
|
10
|
+
const pos = Math.floor(Math.random() * length);
|
11
|
+
const found = filteredArr[pos];
|
12
|
+
return found;
|
13
|
+
}
|
14
|
+
function randomPickMany(howMuch, arr, exclude = []) {
|
15
|
+
const grindedArr = [...arr];
|
16
|
+
const pickedSelection = [];
|
17
|
+
for (let i = 0; i < howMuch; i++) {
|
18
|
+
const picked = randomPick(grindedArr, exclude);
|
19
|
+
const indexOfPicked = grindedArr.indexOf(picked);
|
20
|
+
grindedArr.splice(indexOfPicked, 1);
|
21
|
+
pickedSelection.push(picked);
|
22
|
+
}
|
23
|
+
return pickedSelection;
|
24
|
+
}
|
25
|
+
|
26
|
+
export {
|
27
|
+
randomPick,
|
28
|
+
randomPickMany
|
29
|
+
};
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import {
|
2
|
+
esm_default
|
3
|
+
} from "./chunk-YE67BQQN.js";
|
4
|
+
import {
|
5
|
+
OperationNames
|
6
|
+
} from "./chunk-MOVLLUDL.js";
|
7
|
+
|
8
|
+
// src/node/images/transform/extract/index.ts
|
9
|
+
var extractSchema = esm_default.object({
|
10
|
+
name: esm_default.literal(OperationNames.Extract),
|
11
|
+
params: esm_default.object({
|
12
|
+
width: esm_default.number(),
|
13
|
+
height: esm_default.number(),
|
14
|
+
left: esm_default.number(),
|
15
|
+
top: esm_default.number()
|
16
|
+
})
|
17
|
+
});
|
18
|
+
|
19
|
+
export {
|
20
|
+
extractSchema
|
21
|
+
};
|