tiny-essentials 1.18.1 → 1.19.1
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 +17 -3
- package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -1
- package/dist/node_modules/firebase-functions/lib/logger/index.cjs +1 -0
- package/dist/v1/ColorSafeStringify.min.js +1 -1
- package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
- package/dist/v1/TinyBasicsEs.js +13 -6
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- package/dist/v1/TinyClipboard.min.js +1 -1
- package/dist/v1/TinyColorConverter.js +617 -0
- package/dist/v1/TinyColorConverter.min.js +1 -0
- package/dist/v1/TinyDomReadyManager.min.js +1 -1
- package/dist/v1/TinyDragger.min.js +1 -1
- package/dist/v1/TinyEssentials.js +2635 -482
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyEvents.js +402 -0
- package/dist/v1/TinyEvents.min.js +1 -0
- package/dist/v1/TinyHtml.min.js +1 -1
- package/dist/v1/TinyLocalStorage.js +1292 -0
- package/dist/v1/TinyLocalStorage.min.js +1 -0
- package/dist/v1/TinyNotifications.min.js +1 -1
- package/dist/v1/TinyNotifyCenter.min.js +1 -1
- package/dist/v1/TinyPromiseQueue.min.js +1 -1
- package/dist/v1/TinyRateLimiter.js +2 -1
- package/dist/v1/TinyRateLimiter.min.js +1 -1
- package/dist/v1/TinySmartScroller.js +570 -52
- package/dist/v1/TinySmartScroller.min.js +1 -1
- package/dist/v1/TinyTextRangeEditor.min.js +1 -1
- package/dist/v1/TinyTimeout.js +233 -0
- package/dist/v1/TinyTimeout.min.js +1 -0
- package/dist/v1/TinyToastNotify.min.js +1 -1
- package/dist/v1/TinyUploadClicker.js +1457 -106
- package/dist/v1/TinyUploadClicker.min.js +1 -1
- package/dist/v1/UltraRandomMsgGen.min.js +1 -1
- package/dist/v1/basics/html.cjs +13 -6
- package/dist/v1/basics/html.d.mts +12 -4
- package/dist/v1/basics/html.mjs +13 -6
- package/dist/v1/build/TinyColorConverter.cjs +7 -0
- package/dist/v1/build/TinyColorConverter.d.mts +3 -0
- package/dist/v1/build/TinyColorConverter.mjs +2 -0
- package/dist/v1/build/TinyEvents.cjs +7 -0
- package/dist/v1/build/TinyEvents.d.mts +3 -0
- package/dist/v1/build/TinyEvents.mjs +2 -0
- package/dist/v1/build/TinyLocalStorage.cjs +7 -0
- package/dist/v1/build/TinyLocalStorage.d.mts +3 -0
- package/dist/v1/build/TinyLocalStorage.mjs +2 -0
- package/dist/v1/build/TinyTimeout.cjs +7 -0
- package/dist/v1/build/TinyTimeout.d.mts +3 -0
- package/dist/v1/build/TinyTimeout.mjs +2 -0
- package/dist/v1/index.cjs +8 -0
- package/dist/v1/index.d.mts +5 -1
- package/dist/v1/index.mjs +5 -1
- package/dist/v1/libs/TinyColorConverter.cjs +578 -0
- package/dist/v1/libs/TinyColorConverter.d.mts +396 -0
- package/dist/v1/libs/TinyColorConverter.mjs +520 -0
- package/dist/v1/libs/TinyEvents.cjs +363 -0
- package/dist/v1/libs/TinyEvents.d.mts +160 -0
- package/dist/v1/libs/TinyEvents.mjs +328 -0
- package/dist/v1/libs/TinyLocalStorage.cjs +847 -0
- package/dist/v1/libs/TinyLocalStorage.d.mts +407 -0
- package/dist/v1/libs/TinyLocalStorage.mjs +740 -0
- package/dist/v1/libs/TinySmartScroller.cjs +207 -52
- package/dist/v1/libs/TinySmartScroller.d.mts +164 -16
- package/dist/v1/libs/TinySmartScroller.mjs +181 -52
- package/dist/v1/libs/TinyTimeout.cjs +194 -0
- package/dist/v1/libs/TinyTimeout.d.mts +89 -0
- package/dist/v1/libs/TinyTimeout.mjs +179 -0
- package/dist/v1/libs/TinyUploadClicker.cjs +1 -0
- package/docs/v1/README.md +4 -0
- package/docs/v1/libs/TinyColorConverter.md +220 -0
- package/docs/v1/libs/TinyEvents.md +199 -0
- package/docs/v1/libs/TinyLocalStorage.md +350 -0
- package/docs/v1/libs/TinyRateLimiter.md +0 -3
- package/docs/v1/libs/TinyTimeout.md +190 -0
- package/package.json +28 -5
package/dist/v1/basics/html.cjs
CHANGED
|
@@ -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?: ((
|
|
86
|
-
|
|
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
|
/**
|
package/dist/v1/basics/html.mjs
CHANGED
|
@@ -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 = () => { };
|
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;
|
package/dist/v1/index.d.mts
CHANGED
|
@@ -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
|
-
|
|
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, };
|