tiny-essentials 1.20.0 → 1.20.2

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.
Files changed (55) hide show
  1. package/README.md +5 -0
  2. package/dist/v1/TinyBasicsEs.min.js +1 -1
  3. package/dist/v1/TinyDragger.min.js +1 -1
  4. package/dist/v1/TinyEssentials.min.js +1 -1
  5. package/dist/v1/TinyHtml.min.js +1 -1
  6. package/dist/v1/TinySmartScroller.min.js +1 -1
  7. package/dist/v1/TinyUploadClicker.min.js +1 -1
  8. package/dist/v1/basics/html.cjs +33 -2
  9. package/dist/v1/basics/html.d.mts +14 -4
  10. package/dist/v1/basics/html.mjs +27 -2
  11. package/dist/v1/basics/index.cjs +2 -0
  12. package/dist/v1/basics/index.d.mts +3 -1
  13. package/dist/v1/basics/index.mjs +3 -3
  14. package/dist/v1/basics/simpleMath.cjs +23 -4
  15. package/dist/v1/basics/simpleMath.d.mts +18 -4
  16. package/dist/v1/basics/simpleMath.mjs +22 -4
  17. package/dist/v1/index.cjs +2 -0
  18. package/dist/v1/index.d.mts +3 -1
  19. package/dist/v1/index.mjs +3 -3
  20. package/dist/v1/libs/TinyDragger.cjs +1 -1
  21. package/dist/v1/libs/TinyDragger.mjs +1 -1
  22. package/dist/v1/libs/TinyHtml.cjs +500 -105
  23. package/dist/v1/libs/TinyHtml.d.mts +251 -42
  24. package/dist/v1/libs/TinyHtml.mjs +448 -96
  25. package/dist/v1/libs/TinyIframeEvents.cjs +2 -1
  26. package/dist/v1/libs/TinyNewWinEvents.cjs +4 -2
  27. package/docs/v1/basics/html.md +78 -22
  28. package/docs/v1/basics/simpleMath.md +22 -4
  29. package/docs/v1/libs/TinyHtml.md +268 -6
  30. package/package.json +1 -1
  31. package/dist/v1/ColorSafeStringify.js +0 -235
  32. package/dist/v1/TinyAfterScrollWatcher.js +0 -219
  33. package/dist/v1/TinyBasicsEs.js +0 -9334
  34. package/dist/v1/TinyClipboard.js +0 -459
  35. package/dist/v1/TinyColorConverter.js +0 -617
  36. package/dist/v1/TinyDomReadyManager.js +0 -213
  37. package/dist/v1/TinyDragDropDetector.js +0 -307
  38. package/dist/v1/TinyDragger.js +0 -6569
  39. package/dist/v1/TinyEssentials.js +0 -20792
  40. package/dist/v1/TinyEvents.js +0 -402
  41. package/dist/v1/TinyHtml.js +0 -5545
  42. package/dist/v1/TinyIframeEvents.js +0 -854
  43. package/dist/v1/TinyLevelUp.js +0 -291
  44. package/dist/v1/TinyLocalStorage.js +0 -1440
  45. package/dist/v1/TinyNewWinEvents.js +0 -888
  46. package/dist/v1/TinyNotifications.js +0 -408
  47. package/dist/v1/TinyNotifyCenter.js +0 -493
  48. package/dist/v1/TinyPromiseQueue.js +0 -299
  49. package/dist/v1/TinyRateLimiter.js +0 -611
  50. package/dist/v1/TinySmartScroller.js +0 -7039
  51. package/dist/v1/TinyTextRangeEditor.js +0 -497
  52. package/dist/v1/TinyTimeout.js +0 -233
  53. package/dist/v1/TinyToastNotify.js +0 -441
  54. package/dist/v1/TinyUploadClicker.js +0 -14353
  55. package/dist/v1/UltraRandomMsgGen.js +0 -995
@@ -1,291 +0,0 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/ // The require scope
4
- /******/ var __webpack_require__ = {};
5
- /******/
6
- /************************************************************************/
7
- /******/ /* webpack/runtime/define property getters */
8
- /******/ (() => {
9
- /******/ // define getter functions for harmony exports
10
- /******/ __webpack_require__.d = (exports, definition) => {
11
- /******/ for(var key in definition) {
12
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
13
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
14
- /******/ }
15
- /******/ }
16
- /******/ };
17
- /******/ })();
18
- /******/
19
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
20
- /******/ (() => {
21
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
22
- /******/ })();
23
- /******/
24
- /************************************************************************/
25
- var __webpack_exports__ = {};
26
-
27
- // EXPORTS
28
- __webpack_require__.d(__webpack_exports__, {
29
- TinyLevelUp: () => (/* reexport */ userLevel)
30
- });
31
-
32
- ;// ./src/legacy/libs/userLevel.mjs
33
- /**
34
- * Represents a user object used.
35
- *
36
- * @typedef {Object} UserEditor
37
- * @property {number} exp - Current experience points of the user.
38
- * @property {number} level - Current level of the user.
39
- * @property {number} totalExp - Total accumulated experience.
40
- */
41
-
42
- /**
43
- * Class to manage user level-up logic based on experience points.
44
- */
45
- class TinyLevelUp {
46
- /**
47
- * Constructor
48
- * @param {number} giveExp - Base experience value for random experience generation.
49
- * @param {number} expLevel - Base experience needed to level up (per level).
50
- */
51
- constructor(giveExp, expLevel) {
52
- if (typeof giveExp !== 'number' || Number.isNaN(giveExp))
53
- throw new Error('giveExp must be a valid number');
54
- if (typeof expLevel !== 'number' || Number.isNaN(expLevel))
55
- throw new Error('expLevel must be a valid number');
56
- this.giveExp = giveExp;
57
- this.expLevel = expLevel;
58
- }
59
-
60
- /**
61
- * Creates a new user object starting at level 0 with 0 experience.
62
- * @returns {UserEditor} A fresh user object.
63
- */
64
- createUser() {
65
- return {
66
- exp: 0,
67
- level: 1,
68
- totalExp: 0,
69
- };
70
- }
71
-
72
- /**
73
- * Validates if the given user object has valid numeric properties.
74
- * Throws an error if any property is invalid.
75
- *
76
- * @param {UserEditor} user - The user object to validate.
77
- * @throws {Error} If any property (exp, level, totalExp) is not a valid number.
78
- */
79
- validateUser(user) {
80
- if (typeof user.exp !== 'number' || Number.isNaN(user.exp))
81
- throw new Error('exp must be a valid number');
82
- if (typeof user.level !== 'number' || Number.isNaN(user.level))
83
- throw new Error('level must be a valid number');
84
- if (user.level < 1) throw new Error('level must be at least 1');
85
- if (typeof user.totalExp !== 'number' || Number.isNaN(user.totalExp))
86
- throw new Error('totalExp must be a valid number');
87
- }
88
-
89
- /**
90
- * Checks if the given user object is valid by verifying its numeric properties.
91
- *
92
- * @param {UserEditor} user - The user object to check.
93
- * @returns {boolean} `true` if all properties (exp, level, totalExp) are valid numbers; otherwise `false`.
94
- */
95
- isValidUser(user) {
96
- if (typeof user.exp !== 'number' || Number.isNaN(user.exp)) return false;
97
- if (typeof user.level !== 'number' || Number.isNaN(user.level)) return false;
98
- if (user.level < 1) return false;
99
- if (typeof user.totalExp !== 'number' || Number.isNaN(user.totalExp)) return false;
100
- return true;
101
- }
102
-
103
- /**
104
- * Returns the base experience value used for random experience generation.
105
- * Throws an error if the internal giveExp value is not a valid number.
106
- *
107
- * @returns {number} The base experience value.
108
- * @throws {Error} If giveExp is not a valid number.
109
- */
110
- getGiveExpBase() {
111
- if (typeof this.giveExp !== 'number' || Number.isNaN(this.giveExp))
112
- throw new Error('giveExp must be a valid number');
113
- return this.giveExp;
114
- }
115
-
116
- /**
117
- * Returns the base experience required to level up.
118
- * Throws an error if the internal expLevel value is not a valid number.
119
- *
120
- * @returns {number} The base experience needed per level.
121
- * @throws {Error} If expLevel is not a valid number.
122
- */
123
- getExpLevelBase() {
124
- if (typeof this.expLevel !== 'number' || Number.isNaN(this.expLevel))
125
- throw new Error('expLevel must be a valid number');
126
- return this.expLevel;
127
- }
128
-
129
- /**
130
- * Validates and adjusts the user's level based on their current experience.
131
- * @param {UserEditor} user - The user object containing experience and level properties.
132
- * @returns {UserEditor} The updated user object.
133
- * @throws {Error} If any property (exp, level, totalExp) is not a valid number.
134
- */
135
- expValidator(user) {
136
- const expLevel = this.getExpLevelBase();
137
- this.validateUser(user);
138
-
139
- let extraValue = 0;
140
- const nextLevelExp = expLevel * user.level;
141
-
142
- // Level Up
143
- if (user.exp >= nextLevelExp) {
144
- user.level++;
145
- extraValue = user.exp - nextLevelExp;
146
- user.exp = 0;
147
-
148
- if (extraValue > 0) return this.give(user, extraValue, 'extra');
149
- }
150
-
151
- // Level Down
152
- if (user.exp < 1 && user.level > 1) {
153
- user.level--;
154
- extraValue = Math.abs(user.exp);
155
- user.exp = expLevel * user.level;
156
-
157
- if (extraValue > 0) return this.remove(user, extraValue, 'extra');
158
- }
159
-
160
- return user;
161
- }
162
-
163
- /**
164
- * Calculates the total experience based on the user's level.
165
- * @param {UserEditor} user - The user object containing experience and level properties.
166
- * @returns {number} The total experience of the user.
167
- * @throws {Error} If any property (exp, level, totalExp) is not a valid number.
168
- */
169
- getTotalExp(user) {
170
- this.validateUser(user);
171
- let totalExp = 0;
172
- for (let p = 1; p <= user.level; p++) totalExp += this.getExpLevelBase() * p;
173
- totalExp += user.exp;
174
- return totalExp;
175
- }
176
-
177
- /**
178
- * Generates random experience points based on the configured multiplier.
179
- * @param {number} [multi] - A multiplier for the generated experience.
180
- * @returns {number} The generated experience points.
181
- */
182
- expGenerator(multi = 1) {
183
- if (typeof multi !== 'number' || Number.isNaN(multi))
184
- throw new Error('multi must be a valid number');
185
- return Math.floor(Math.random() * this.getGiveExpBase()) * multi;
186
- }
187
-
188
- /**
189
- * Calculates how much experience is missing to next level.
190
- * @param {UserEditor} user
191
- * @returns {number}
192
- * @throws {Error} If any property (exp, level, totalExp) is not a valid number.
193
- */
194
- getMissingExp(user) {
195
- return this.getProgress(user) - user.exp;
196
- }
197
-
198
- /**
199
- * Gets the experience points required to reach the next level.
200
- * @param {UserEditor} user - The user object containing the level.
201
- * @returns {number} The experience required for the next level.
202
- * @throws {Error} If any property (exp, level, totalExp) is not a valid number.
203
- */
204
- progress(user) {
205
- return this.getProgress(user);
206
- }
207
-
208
- /**
209
- * Gets the experience points required to reach the next level.
210
- * @param {UserEditor} user - The user object containing the level.
211
- * @returns {number} The experience required for the next level.
212
- * @throws {Error} If any property (exp, level, totalExp) is not a valid number.
213
- */
214
- getProgress(user) {
215
- this.validateUser(user);
216
- return this.getExpLevelBase() * user.level;
217
- }
218
-
219
- /**
220
- * Sets the experience value for the user, adjusting their level if necessary.
221
- * @param {UserEditor} user - The user object.
222
- * @param {number} value - The new experience value to set.
223
- * @returns {UserEditor} The updated user object.
224
- */
225
- set(user, value) {
226
- if (typeof value !== 'number' || Number.isNaN(value))
227
- throw new Error('value must be a valid number');
228
-
229
- user.exp = value;
230
- this.expValidator(user);
231
- user.totalExp = this.getTotalExp(user);
232
- return user;
233
- }
234
-
235
- /**
236
- * Adds experience to the user, adjusting their level if necessary.
237
- * @param {UserEditor} user - The user object.
238
- * @param {number} [extraExp] - Additional experience to be added.
239
- * @param {'add' | 'extra'} [type] - Type of addition ('add' or 'extra').
240
- * @param {number} [multi] - Multiplier for experience generation.
241
- * @returns {UserEditor} The updated user object.
242
- */
243
- give(user, extraExp = 0, type = 'add', multi = 1) {
244
- if (typeof multi !== 'number' || Number.isNaN(multi))
245
- throw new Error('multi must be a valid number');
246
- if (typeof extraExp !== 'number' || Number.isNaN(extraExp))
247
- throw new Error('extraExp must be a valid number');
248
- if (typeof type !== 'string') throw new Error('type must be a valid string');
249
-
250
- if (type === 'add') user.exp += this.expGenerator(multi) + extraExp;
251
- else if (type === 'extra') user.exp += extraExp;
252
-
253
- this.expValidator(user);
254
- user.totalExp = this.getTotalExp(user);
255
- return user;
256
- }
257
-
258
- /**
259
- * Removes experience from the user, adjusting their level if necessary.
260
- * @param {UserEditor} user - The user object.
261
- * @param {number} [extraExp] - Additional experience to remove.
262
- * @param {'add' | 'extra'} [type] - Type of removal ('add' or 'extra').
263
- * @param {number} [multi] - Multiplier for experience generation.
264
- * @returns {UserEditor} The updated user object.
265
- */
266
- remove(user, extraExp = 0, type = 'add', multi = 1) {
267
- if (typeof multi !== 'number' || Number.isNaN(multi))
268
- throw new Error('multi must be a valid number');
269
- if (typeof extraExp !== 'number' || Number.isNaN(extraExp))
270
- throw new Error('extraExp must be a valid number');
271
- if (typeof type !== 'string') throw new Error('type must be a valid string');
272
-
273
- if (type === 'add') user.exp -= this.expGenerator(multi) + extraExp;
274
- else if (type === 'extra') user.exp -= extraExp;
275
-
276
- this.expValidator(user);
277
- user.totalExp = this.getTotalExp(user);
278
- return user;
279
- }
280
- }
281
-
282
- /* harmony default export */ const userLevel = (TinyLevelUp);
283
-
284
- ;// ./src/v1/build/TinyLevelUp.mjs
285
-
286
-
287
-
288
-
289
- window.TinyLevelUp = __webpack_exports__.TinyLevelUp;
290
- /******/ })()
291
- ;