tiny-essentials 1.18.1 → 1.19.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.
Files changed (74) hide show
  1. package/README.md +17 -3
  2. package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -1
  3. package/dist/node_modules/firebase-functions/lib/logger/index.cjs +1 -0
  4. package/dist/v1/ColorSafeStringify.min.js +1 -1
  5. package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
  6. package/dist/v1/TinyBasicsEs.js +13 -6
  7. package/dist/v1/TinyBasicsEs.min.js +1 -1
  8. package/dist/v1/TinyClipboard.min.js +1 -1
  9. package/dist/v1/TinyColorConverter.js +617 -0
  10. package/dist/v1/TinyColorConverter.min.js +1 -0
  11. package/dist/v1/TinyDomReadyManager.min.js +1 -1
  12. package/dist/v1/TinyDragger.min.js +1 -1
  13. package/dist/v1/TinyEssentials.js +2635 -482
  14. package/dist/v1/TinyEssentials.min.js +1 -1
  15. package/dist/v1/TinyEvents.js +402 -0
  16. package/dist/v1/TinyEvents.min.js +1 -0
  17. package/dist/v1/TinyHtml.min.js +1 -1
  18. package/dist/v1/TinyLocalStorage.js +1292 -0
  19. package/dist/v1/TinyLocalStorage.min.js +1 -0
  20. package/dist/v1/TinyNotifications.min.js +1 -1
  21. package/dist/v1/TinyNotifyCenter.min.js +1 -1
  22. package/dist/v1/TinyPromiseQueue.min.js +1 -1
  23. package/dist/v1/TinyRateLimiter.js +2 -1
  24. package/dist/v1/TinyRateLimiter.min.js +1 -1
  25. package/dist/v1/TinySmartScroller.js +570 -52
  26. package/dist/v1/TinySmartScroller.min.js +1 -1
  27. package/dist/v1/TinyTextRangeEditor.min.js +1 -1
  28. package/dist/v1/TinyTimeout.js +233 -0
  29. package/dist/v1/TinyTimeout.min.js +1 -0
  30. package/dist/v1/TinyToastNotify.min.js +1 -1
  31. package/dist/v1/TinyUploadClicker.js +1457 -106
  32. package/dist/v1/TinyUploadClicker.min.js +1 -1
  33. package/dist/v1/UltraRandomMsgGen.min.js +1 -1
  34. package/dist/v1/basics/html.cjs +13 -6
  35. package/dist/v1/basics/html.d.mts +12 -4
  36. package/dist/v1/basics/html.mjs +13 -6
  37. package/dist/v1/build/TinyColorConverter.cjs +7 -0
  38. package/dist/v1/build/TinyColorConverter.d.mts +3 -0
  39. package/dist/v1/build/TinyColorConverter.mjs +2 -0
  40. package/dist/v1/build/TinyEvents.cjs +7 -0
  41. package/dist/v1/build/TinyEvents.d.mts +3 -0
  42. package/dist/v1/build/TinyEvents.mjs +2 -0
  43. package/dist/v1/build/TinyLocalStorage.cjs +7 -0
  44. package/dist/v1/build/TinyLocalStorage.d.mts +3 -0
  45. package/dist/v1/build/TinyLocalStorage.mjs +2 -0
  46. package/dist/v1/build/TinyTimeout.cjs +7 -0
  47. package/dist/v1/build/TinyTimeout.d.mts +3 -0
  48. package/dist/v1/build/TinyTimeout.mjs +2 -0
  49. package/dist/v1/index.cjs +8 -0
  50. package/dist/v1/index.d.mts +5 -1
  51. package/dist/v1/index.mjs +5 -1
  52. package/dist/v1/libs/TinyColorConverter.cjs +578 -0
  53. package/dist/v1/libs/TinyColorConverter.d.mts +396 -0
  54. package/dist/v1/libs/TinyColorConverter.mjs +520 -0
  55. package/dist/v1/libs/TinyEvents.cjs +363 -0
  56. package/dist/v1/libs/TinyEvents.d.mts +160 -0
  57. package/dist/v1/libs/TinyEvents.mjs +328 -0
  58. package/dist/v1/libs/TinyLocalStorage.cjs +847 -0
  59. package/dist/v1/libs/TinyLocalStorage.d.mts +407 -0
  60. package/dist/v1/libs/TinyLocalStorage.mjs +740 -0
  61. package/dist/v1/libs/TinySmartScroller.cjs +207 -52
  62. package/dist/v1/libs/TinySmartScroller.d.mts +164 -16
  63. package/dist/v1/libs/TinySmartScroller.mjs +181 -52
  64. package/dist/v1/libs/TinyTimeout.cjs +194 -0
  65. package/dist/v1/libs/TinyTimeout.d.mts +89 -0
  66. package/dist/v1/libs/TinyTimeout.mjs +179 -0
  67. package/dist/v1/libs/TinyUploadClicker.cjs +1 -0
  68. package/docs/v1/README.md +4 -0
  69. package/docs/v1/libs/TinyColorConverter.md +220 -0
  70. package/docs/v1/libs/TinyEvents.md +199 -0
  71. package/docs/v1/libs/TinyLocalStorage.md +350 -0
  72. package/docs/v1/libs/TinyRateLimiter.md +0 -3
  73. package/docs/v1/libs/TinyTimeout.md +190 -0
  74. package/package.json +28 -5
@@ -283,8 +283,8 @@ async function fetchBlob(url, allowedMimeTypes, options) {
283
283
  * @param {Element} [settings.element=document.body] - The element to receive visibility classes.
284
284
  * @param {string} [settings.hiddenClass='windowHidden'] - CSS class applied when the page is hidden.
285
285
  * @param {string} [settings.visibleClass='windowVisible'] - CSS class applied when the page is visible.
286
- * @param {() => void} [settings.onVisible] - Callback called when page becomes visible.
287
- * @param {() => void} [settings.onHidden] - Callback called when page becomes hidden.
286
+ * @param {(data: { type: string; oldType: string; oldClass: string; }) => void} [settings.onVisible] - Callback called when page becomes visible.
287
+ * @param {(data: { type: string; oldType: string; oldClass: string; }) => void} [settings.onHidden] - Callback called when page becomes hidden.
288
288
  * @returns {() => void} Function that removes all installed event listeners.
289
289
  * @throws {TypeError} If any provided setting is invalid.
290
290
  */
@@ -304,6 +304,8 @@ function installWindowHiddenScript({
304
304
  if (onHidden !== undefined && typeof onHidden !== 'function')
305
305
  throw new TypeError(`"onHidden" must be a function if provided.`);
306
306
 
307
+ let oldType = '';
308
+ let oldClass = '';
307
309
  const removeClass = () => {
308
310
  element.classList.remove(hiddenClass);
309
311
  element.classList.remove(visibleClass);
@@ -341,19 +343,24 @@ function installWindowHiddenScript({
341
343
 
342
344
  if (visibleEvents.includes(type)) {
343
345
  element.classList.add(visibleClass);
344
- onVisible?.();
346
+ onVisible?.({ type, oldClass, oldType });
347
+ oldClass = visibleClass;
345
348
  } else if (hiddenEvents.includes(type)) {
346
349
  element.classList.add(hiddenClass);
347
- onHidden?.();
350
+ onHidden?.({ type, oldClass, oldType });
351
+ oldClass = hiddenClass;
348
352
  } else {
349
353
  if (isHidden) {
350
354
  element.classList.add(hiddenClass);
351
- onHidden?.();
355
+ onHidden?.({ type, oldClass, oldType });
356
+ oldClass = hiddenClass;
352
357
  } else {
353
358
  element.classList.add(visibleClass);
354
- onVisible?.();
359
+ onVisible?.({ type, oldClass, oldType });
360
+ oldClass = visibleClass;
355
361
  }
356
362
  }
363
+ oldType = type;
357
364
  };
358
365
 
359
366
  /** @type {() => void} */
@@ -73,8 +73,8 @@ export function fetchBlob(url: string, allowedMimeTypes?: string[], options?: Ob
73
73
  * @param {Element} [settings.element=document.body] - The element to receive visibility classes.
74
74
  * @param {string} [settings.hiddenClass='windowHidden'] - CSS class applied when the page is hidden.
75
75
  * @param {string} [settings.visibleClass='windowVisible'] - CSS class applied when the page is visible.
76
- * @param {() => void} [settings.onVisible] - Callback called when page becomes visible.
77
- * @param {() => void} [settings.onHidden] - Callback called when page becomes hidden.
76
+ * @param {(data: { type: string; oldType: string; oldClass: string; }) => void} [settings.onVisible] - Callback called when page becomes visible.
77
+ * @param {(data: { type: string; oldType: string; oldClass: string; }) => void} [settings.onHidden] - Callback called when page becomes hidden.
78
78
  * @returns {() => void} Function that removes all installed event listeners.
79
79
  * @throws {TypeError} If any provided setting is invalid.
80
80
  */
@@ -82,8 +82,16 @@ export function installWindowHiddenScript({ element, hiddenClass, visibleClass,
82
82
  element?: Element | undefined;
83
83
  hiddenClass?: string | undefined;
84
84
  visibleClass?: string | undefined;
85
- onVisible?: (() => void) | undefined;
86
- onHidden?: (() => void) | undefined;
85
+ onVisible?: ((data: {
86
+ type: string;
87
+ oldType: string;
88
+ oldClass: string;
89
+ }) => void) | undefined;
90
+ onHidden?: ((data: {
91
+ type: string;
92
+ oldType: string;
93
+ oldClass: string;
94
+ }) => void) | undefined;
87
95
  }): () => void;
88
96
  export type FetchTemplateOptions = {
89
97
  /**
@@ -242,8 +242,8 @@ export async function fetchBlob(url, allowedMimeTypes, options) {
242
242
  * @param {Element} [settings.element=document.body] - The element to receive visibility classes.
243
243
  * @param {string} [settings.hiddenClass='windowHidden'] - CSS class applied when the page is hidden.
244
244
  * @param {string} [settings.visibleClass='windowVisible'] - CSS class applied when the page is visible.
245
- * @param {() => void} [settings.onVisible] - Callback called when page becomes visible.
246
- * @param {() => void} [settings.onHidden] - Callback called when page becomes hidden.
245
+ * @param {(data: { type: string; oldType: string; oldClass: string; }) => void} [settings.onVisible] - Callback called when page becomes visible.
246
+ * @param {(data: { type: string; oldType: string; oldClass: string; }) => void} [settings.onHidden] - Callback called when page becomes hidden.
247
247
  * @returns {() => void} Function that removes all installed event listeners.
248
248
  * @throws {TypeError} If any provided setting is invalid.
249
249
  */
@@ -258,6 +258,8 @@ export function installWindowHiddenScript({ element = document.body, hiddenClass
258
258
  throw new TypeError(`"onVisible" must be a function if provided.`);
259
259
  if (onHidden !== undefined && typeof onHidden !== 'function')
260
260
  throw new TypeError(`"onHidden" must be a function if provided.`);
261
+ let oldType = '';
262
+ let oldClass = '';
261
263
  const removeClass = () => {
262
264
  element.classList.remove(hiddenClass);
263
265
  element.classList.remove(visibleClass);
@@ -287,22 +289,27 @@ export function installWindowHiddenScript({ element = document.body, hiddenClass
287
289
  const hiddenEvents = ['blur', 'focusout', 'pagehide'];
288
290
  if (visibleEvents.includes(type)) {
289
291
  element.classList.add(visibleClass);
290
- onVisible?.();
292
+ onVisible?.({ type, oldClass, oldType });
293
+ oldClass = visibleClass;
291
294
  }
292
295
  else if (hiddenEvents.includes(type)) {
293
296
  element.classList.add(hiddenClass);
294
- onHidden?.();
297
+ onHidden?.({ type, oldClass, oldType });
298
+ oldClass = hiddenClass;
295
299
  }
296
300
  else {
297
301
  if (isHidden) {
298
302
  element.classList.add(hiddenClass);
299
- onHidden?.();
303
+ onHidden?.({ type, oldClass, oldType });
304
+ oldClass = hiddenClass;
300
305
  }
301
306
  else {
302
307
  element.classList.add(visibleClass);
303
- onVisible?.();
308
+ onVisible?.({ type, oldClass, oldType });
309
+ oldClass = visibleClass;
304
310
  }
305
311
  }
312
+ oldType = type;
306
313
  };
307
314
  /** @type {() => void} */
308
315
  let uninstall = () => { };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var TinyColorConverter = require('../libs/TinyColorConverter.cjs');
4
+
5
+
6
+
7
+ exports.TinyColorConverter = TinyColorConverter;
@@ -0,0 +1,3 @@
1
+ export { TinyColorConverter };
2
+ import TinyColorConverter from '../libs/TinyColorConverter.mjs';
3
+ //# sourceMappingURL=TinyColorConverter.d.mts.map
@@ -0,0 +1,2 @@
1
+ import TinyColorConverter from '../libs/TinyColorConverter.mjs';
2
+ export { TinyColorConverter };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var TinyEvents = require('../libs/TinyEvents.cjs');
4
+
5
+
6
+
7
+ exports.TinyEvents = TinyEvents;
@@ -0,0 +1,3 @@
1
+ export { TinyEvents };
2
+ import TinyEvents from '../libs/TinyEvents.mjs';
3
+ //# sourceMappingURL=TinyEvents.d.mts.map
@@ -0,0 +1,2 @@
1
+ import TinyEvents from '../libs/TinyEvents.mjs';
2
+ export { TinyEvents };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var TinyLocalStorage = require('../libs/TinyLocalStorage.cjs');
4
+
5
+
6
+
7
+ exports.TinyLocalStorage = TinyLocalStorage;
@@ -0,0 +1,3 @@
1
+ export { TinyLocalStorage };
2
+ import TinyLocalStorage from '../libs/TinyLocalStorage.mjs';
3
+ //# sourceMappingURL=TinyLocalStorage.d.mts.map
@@ -0,0 +1,2 @@
1
+ import TinyLocalStorage from '../libs/TinyLocalStorage.mjs';
2
+ export { TinyLocalStorage };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var TinyTimeout = require('../libs/TinyTimeout.cjs');
4
+
5
+
6
+
7
+ exports.TinyTimeout = TinyTimeout;
@@ -0,0 +1,3 @@
1
+ export { TinyTimeout };
2
+ import TinyTimeout from '../libs/TinyTimeout.mjs';
3
+ //# sourceMappingURL=TinyTimeout.d.mts.map
@@ -0,0 +1,2 @@
1
+ import TinyTimeout from '../libs/TinyTimeout.mjs';
2
+ export { TinyTimeout };
package/dist/v1/index.cjs CHANGED
@@ -30,6 +30,10 @@ var UltraRandomMsgGen = require('./libs/UltraRandomMsgGen.cjs');
30
30
  var TinySmartScroller = require('./libs/TinySmartScroller.cjs');
31
31
  var TinyTextRangeEditor = require('./libs/TinyTextRangeEditor.cjs');
32
32
  var TinyClipboard = require('./libs/TinyClipboard.cjs');
33
+ var TinyColorConverter = require('./libs/TinyColorConverter.cjs');
34
+ var TinyTimeout = require('./libs/TinyTimeout.cjs');
35
+ var TinyEvents = require('./libs/TinyEvents.cjs');
36
+ var TinyLocalStorage = require('./libs/TinyLocalStorage.cjs');
33
37
 
34
38
 
35
39
 
@@ -138,3 +142,7 @@ exports.UltraRandomMsgGen = UltraRandomMsgGen;
138
142
  exports.TinySmartScroller = TinySmartScroller;
139
143
  exports.TinyTextRangeEditor = TinyTextRangeEditor;
140
144
  exports.TinyClipboard = TinyClipboard;
145
+ exports.TinyColorConverter = TinyColorConverter;
146
+ exports.TinyTimeout = TinyTimeout;
147
+ exports.TinyEvents = TinyEvents;
148
+ exports.TinyLocalStorage = TinyLocalStorage;
@@ -1,3 +1,7 @@
1
+ import TinyLocalStorage from './libs/TinyLocalStorage.mjs';
2
+ import TinyEvents from './libs/TinyEvents.mjs';
3
+ import TinyTimeout from './libs/TinyTimeout.mjs';
4
+ import TinyColorConverter from './libs/TinyColorConverter.mjs';
1
5
  import TinyClipboard from './libs/TinyClipboard.mjs';
2
6
  import TinyTextRangeEditor from './libs/TinyTextRangeEditor.mjs';
3
7
  import TinySmartScroller from './libs/TinySmartScroller.mjs';
@@ -103,5 +107,5 @@ import { getTimeDuration } from './basics/clock.mjs';
103
107
  import { shuffleArray } from './basics/array.mjs';
104
108
  import { toTitleCase } from './basics/text.mjs';
105
109
  import { toTitleCaseLowerFirst } from './basics/text.mjs';
106
- export { TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, isInViewport, isScrolledIntoView, safeTextTrim, installWindowHiddenScript, genFibonacciSeq, isDirEmptyAsync, fileSizeAsync, dirSizeAsync, listFilesAsync, listDirsAsync, getHtmlElBorders, getHtmlElBordersWidth, getHtmlElMargin, getHtmlElPadding, getLatestBackupPath, fetchJson, readJsonBlob, readFileBlob, readBase64Blob, saveJsonFile, readJsonFile, writeJsonFile, ensureDirectory, clearDirectoryAsync, clearDirectory, fileExists, dirExists, isDirEmpty, ensureCopyFile, tryDeleteFile, writeTextFile, listFiles, listDirs, fileSize, dirSize, backupFile, restoreLatestBackup, renameFileBatch, renameFileRegex, renameFileAddPrefixSuffix, renameFileNormalizeCase, renameFilePadNumbers, documentIsFullScreen, isScreenFilled, requestFullScreen, exitFullScreen, isFullScreenMode, onFullScreenChange, offFullScreenChange, areHtmlElsColliding, isJsonObject, arraySortPositions, formatBytes, addAiMarkerShortcut, extendObjType, reorderObjTypeOrder, cloneObjTypeOrder, countObj, checkObj, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst };
110
+ export { TinyLocalStorage, TinyEvents, TinyTimeout, TinyColorConverter, TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, isInViewport, isScrolledIntoView, safeTextTrim, installWindowHiddenScript, genFibonacciSeq, isDirEmptyAsync, fileSizeAsync, dirSizeAsync, listFilesAsync, listDirsAsync, getHtmlElBorders, getHtmlElBordersWidth, getHtmlElMargin, getHtmlElPadding, getLatestBackupPath, fetchJson, readJsonBlob, readFileBlob, readBase64Blob, saveJsonFile, readJsonFile, writeJsonFile, ensureDirectory, clearDirectoryAsync, clearDirectory, fileExists, dirExists, isDirEmpty, ensureCopyFile, tryDeleteFile, writeTextFile, listFiles, listDirs, fileSize, dirSize, backupFile, restoreLatestBackup, renameFileBatch, renameFileRegex, renameFileAddPrefixSuffix, renameFileNormalizeCase, renameFilePadNumbers, documentIsFullScreen, isScreenFilled, requestFullScreen, exitFullScreen, isFullScreenMode, onFullScreenChange, offFullScreenChange, areHtmlElsColliding, isJsonObject, arraySortPositions, formatBytes, addAiMarkerShortcut, extendObjType, reorderObjTypeOrder, cloneObjTypeOrder, countObj, checkObj, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst };
107
111
  //# sourceMappingURL=index.d.mts.map
package/dist/v1/index.mjs CHANGED
@@ -28,4 +28,8 @@ import UltraRandomMsgGen from './libs/UltraRandomMsgGen.mjs';
28
28
  import TinySmartScroller from './libs/TinySmartScroller.mjs';
29
29
  import TinyTextRangeEditor from './libs/TinyTextRangeEditor.mjs';
30
30
  import TinyClipboard from './libs/TinyClipboard.mjs';
31
- export { TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, isInViewport, isScrolledIntoView, safeTextTrim, installWindowHiddenScript, genFibonacciSeq, isDirEmptyAsync, fileSizeAsync, dirSizeAsync, listFilesAsync, listDirsAsync, getHtmlElBorders, getHtmlElBordersWidth, getHtmlElMargin, getHtmlElPadding, getLatestBackupPath, fetchJson, readJsonBlob, readFileBlob, readBase64Blob, saveJsonFile, readJsonFile, writeJsonFile, ensureDirectory, clearDirectoryAsync, clearDirectory, fileExists, dirExists, isDirEmpty, ensureCopyFile, tryDeleteFile, writeTextFile, listFiles, listDirs, fileSize, dirSize, backupFile, restoreLatestBackup, renameFileBatch, renameFileRegex, renameFileAddPrefixSuffix, renameFileNormalizeCase, renameFilePadNumbers, documentIsFullScreen, isScreenFilled, requestFullScreen, exitFullScreen, isFullScreenMode, onFullScreenChange, offFullScreenChange, areHtmlElsColliding, isJsonObject, arraySortPositions, formatBytes, addAiMarkerShortcut, extendObjType, reorderObjTypeOrder, cloneObjTypeOrder, countObj, checkObj, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst, };
31
+ import TinyColorConverter from './libs/TinyColorConverter.mjs';
32
+ import TinyTimeout from './libs/TinyTimeout.mjs';
33
+ import TinyEvents from './libs/TinyEvents.mjs';
34
+ import TinyLocalStorage from './libs/TinyLocalStorage.mjs';
35
+ export { TinyLocalStorage, TinyEvents, TinyTimeout, TinyColorConverter, TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, isInViewport, isScrolledIntoView, safeTextTrim, installWindowHiddenScript, genFibonacciSeq, isDirEmptyAsync, fileSizeAsync, dirSizeAsync, listFilesAsync, listDirsAsync, getHtmlElBorders, getHtmlElBordersWidth, getHtmlElMargin, getHtmlElPadding, getLatestBackupPath, fetchJson, readJsonBlob, readFileBlob, readBase64Blob, saveJsonFile, readJsonFile, writeJsonFile, ensureDirectory, clearDirectoryAsync, clearDirectory, fileExists, dirExists, isDirEmpty, ensureCopyFile, tryDeleteFile, writeTextFile, listFiles, listDirs, fileSize, dirSize, backupFile, restoreLatestBackup, renameFileBatch, renameFileRegex, renameFileAddPrefixSuffix, renameFileNormalizeCase, renameFilePadNumbers, documentIsFullScreen, isScreenFilled, requestFullScreen, exitFullScreen, isFullScreenMode, onFullScreenChange, offFullScreenChange, areHtmlElsColliding, isJsonObject, arraySortPositions, formatBytes, addAiMarkerShortcut, extendObjType, reorderObjTypeOrder, cloneObjTypeOrder, countObj, checkObj, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst, };