@maggioli-design-system/mds-accordion-timer 3.6.3 → 3.7.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.
- package/dist/cjs/{index-2cfccbaa.js → index-c7a5e0c6.js} +22 -14
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mds-accordion-timer.cjs.entry.js +1 -1
- package/dist/cjs/mds-accordion-timer.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/common/file.js +48 -0
- package/dist/collection/common/icon.js +15 -0
- package/dist/collection/common/unit.js +15 -3
- package/dist/collection/common/yugop/core.js +16 -0
- package/dist/collection/common/yugop/index.js +3 -0
- package/dist/collection/common/yugop/random-text.js +59 -0
- package/dist/collection/common/yugop/utils/math.js +11 -0
- package/dist/collection/common/yugop/utils/noop.js +1 -0
- package/dist/collection/common/yugop/utils/prng.js +21 -0
- package/dist/collection/common/yugop/utils/string.js +2 -0
- package/dist/collection/dictionary/file-extensions.js +64 -0
- package/dist/collection/dictionary/icon.js +6 -1
- package/dist/collection/dictionary/text.js +6 -0
- package/dist/collection/dictionary/variant.js +18 -1
- package/dist/collection/fixtures/filenames.js +57 -0
- package/dist/collection/type/file-types.js +1 -0
- package/dist/collection/type/text.js +1 -0
- package/dist/collection/type/variant-file-format.js +111 -0
- package/dist/documentation.d.ts +1 -21
- package/dist/documentation.json +3 -3
- package/dist/esm/{index-df0a164e.js → index-05afffb2.js} +22 -14
- package/dist/esm/loader.js +2 -2
- package/dist/esm/mds-accordion-timer.entry.js +1 -1
- package/dist/esm/mds-accordion-timer.js +3 -3
- package/dist/esm-es5/index-05afffb2.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mds-accordion-timer.entry.js +1 -1
- package/dist/esm-es5/mds-accordion-timer.js +1 -1
- package/dist/mds-accordion-timer/mds-accordion-timer.esm.js +1 -1
- package/dist/mds-accordion-timer/mds-accordion-timer.js +1 -1
- package/dist/mds-accordion-timer/{p-8dd76b31.system.js → p-0c153b11.system.js} +1 -1
- package/dist/mds-accordion-timer/{p-e57978cc.entry.js → p-25b4e062.entry.js} +1 -1
- package/{www/build/p-09cc1589.system.entry.js → dist/mds-accordion-timer/p-8a701c9c.system.entry.js} +1 -1
- package/dist/mds-accordion-timer/p-ba38686d.system.js +2 -0
- package/dist/mds-accordion-timer/p-d3af5915.js +2 -0
- package/dist/stats.json +72 -30
- package/dist/types/common/file.d.ts +12 -0
- package/dist/types/common/icon.d.ts +5 -0
- package/dist/types/common/unit.d.ts +2 -1
- package/dist/types/common/yugop/core.d.ts +10 -0
- package/dist/types/common/yugop/index.d.ts +1 -0
- package/dist/types/common/yugop/random-text.d.ts +31 -0
- package/dist/types/common/yugop/utils/math.d.ts +3 -0
- package/dist/types/common/yugop/utils/noop.d.ts +1 -0
- package/dist/types/common/yugop/utils/prng.d.ts +8 -0
- package/dist/types/common/yugop/utils/string.d.ts +1 -0
- package/dist/types/dictionary/file-extensions.d.ts +11 -0
- package/dist/types/dictionary/icon.d.ts +2 -1
- package/dist/types/dictionary/text.d.ts +2 -0
- package/dist/types/dictionary/variant.d.ts +2 -1
- package/dist/types/fixtures/filenames.d.ts +2 -0
- package/dist/types/type/file-types.d.ts +1 -0
- package/dist/types/type/text.d.ts +1 -0
- package/dist/types/type/variant-file-format.d.ts +11 -0
- package/dist/types/type/variant.d.ts +1 -0
- package/documentation.json +47 -12
- package/package.json +4 -4
- package/src/common/file.ts +63 -0
- package/src/common/icon.ts +25 -0
- package/src/common/unit.ts +21 -2
- package/src/common/yugop/core.ts +47 -0
- package/src/common/yugop/index.ts +4 -0
- package/src/common/yugop/random-text.ts +95 -0
- package/src/common/yugop/utils/math.ts +21 -0
- package/src/common/yugop/utils/noop.ts +1 -0
- package/src/common/yugop/utils/prng.ts +35 -0
- package/src/common/yugop/utils/string.ts +4 -0
- package/src/dictionary/file-extensions.ts +81 -0
- package/src/dictionary/icon.ts +6 -0
- package/src/dictionary/text.ts +9 -0
- package/src/dictionary/variant.ts +19 -0
- package/src/fixtures/filenames.ts +60 -0
- package/src/fixtures/icons.json +10 -0
- package/src/fixtures/iconsauce.json +3 -0
- package/src/type/file-types.ts +55 -0
- package/src/type/text.ts +4 -0
- package/src/type/variant-file-format.ts +128 -0
- package/src/type/variant.ts +17 -0
- package/www/build/mds-accordion-timer.esm.js +1 -1
- package/www/build/mds-accordion-timer.js +1 -1
- package/www/build/{p-8dd76b31.system.js → p-0c153b11.system.js} +1 -1
- package/www/build/{p-e57978cc.entry.js → p-25b4e062.entry.js} +1 -1
- package/{dist/mds-accordion-timer/p-09cc1589.system.entry.js → www/build/p-8a701c9c.system.entry.js} +1 -1
- package/www/build/p-ba38686d.system.js +2 -0
- package/www/build/p-d3af5915.js +2 -0
- package/dist/esm-es5/index-df0a164e.js +0 -1
- package/dist/mds-accordion-timer/p-0da95646.system.js +0 -2
- package/dist/mds-accordion-timer/p-36be1c3e.js +0 -2
- package/www/build/p-0da95646.system.js +0 -2
- package/www/build/p-36be1c3e.js +0 -2
|
@@ -328,6 +328,9 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
+
// This needs to always happen so we can hide nodes that are projected
|
|
332
|
+
// to another component but don't end up in a slot
|
|
333
|
+
elm['s-hn'] = hostTagName;
|
|
331
334
|
return elm;
|
|
332
335
|
};
|
|
333
336
|
/**
|
|
@@ -451,8 +454,9 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
|
451
454
|
* @param oldCh the old children of the parent node
|
|
452
455
|
* @param newVNode the new VNode which will replace the parent
|
|
453
456
|
* @param newCh the new children of the parent node
|
|
457
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
|
454
458
|
*/
|
|
455
|
-
const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
459
|
+
const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
|
|
456
460
|
let oldStartIdx = 0;
|
|
457
461
|
let newStartIdx = 0;
|
|
458
462
|
let oldEndIdx = oldCh.length - 1;
|
|
@@ -476,25 +480,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
476
480
|
else if (newEndVnode == null) {
|
|
477
481
|
newEndVnode = newCh[--newEndIdx];
|
|
478
482
|
}
|
|
479
|
-
else if (isSameVnode(oldStartVnode, newStartVnode)) {
|
|
483
|
+
else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
|
|
480
484
|
// if the start nodes are the same then we should patch the new VNode
|
|
481
485
|
// onto the old one, and increment our `newStartIdx` and `oldStartIdx`
|
|
482
486
|
// indices to reflect that. We don't need to move any DOM Nodes around
|
|
483
487
|
// since things are matched up in order.
|
|
484
|
-
patch(oldStartVnode, newStartVnode);
|
|
488
|
+
patch(oldStartVnode, newStartVnode, isInitialRender);
|
|
485
489
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
486
490
|
newStartVnode = newCh[++newStartIdx];
|
|
487
491
|
}
|
|
488
|
-
else if (isSameVnode(oldEndVnode, newEndVnode)) {
|
|
492
|
+
else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
|
|
489
493
|
// likewise, if the end nodes are the same we patch new onto old and
|
|
490
494
|
// decrement our end indices, and also likewise in this case we don't
|
|
491
495
|
// need to move any DOM Nodes.
|
|
492
|
-
patch(oldEndVnode, newEndVnode);
|
|
496
|
+
patch(oldEndVnode, newEndVnode, isInitialRender);
|
|
493
497
|
oldEndVnode = oldCh[--oldEndIdx];
|
|
494
498
|
newEndVnode = newCh[--newEndIdx];
|
|
495
499
|
}
|
|
496
|
-
else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
|
497
|
-
patch(oldStartVnode, newEndVnode);
|
|
500
|
+
else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
|
|
501
|
+
patch(oldStartVnode, newEndVnode, isInitialRender);
|
|
498
502
|
// We need to move the element for `oldStartVnode` into a position which
|
|
499
503
|
// will be appropriate for `newEndVnode`. For this we can use
|
|
500
504
|
// `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
|
|
@@ -516,8 +520,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
516
520
|
oldStartVnode = oldCh[++oldStartIdx];
|
|
517
521
|
newEndVnode = newCh[--newEndIdx];
|
|
518
522
|
}
|
|
519
|
-
else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
|
520
|
-
patch(oldEndVnode, newStartVnode);
|
|
523
|
+
else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
|
|
524
|
+
patch(oldEndVnode, newStartVnode, isInitialRender);
|
|
521
525
|
// We've already checked above if `oldStartVnode` and `newStartVnode` are
|
|
522
526
|
// the same node, so since we're here we know that they are not. Thus we
|
|
523
527
|
// can move the element for `oldEndVnode` _before_ the element for
|
|
@@ -571,9 +575,10 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
571
575
|
*
|
|
572
576
|
* @param leftVNode the first VNode to check
|
|
573
577
|
* @param rightVNode the second VNode to check
|
|
578
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
|
574
579
|
* @returns whether they're equal or not
|
|
575
580
|
*/
|
|
576
|
-
const isSameVnode = (leftVNode, rightVNode) => {
|
|
581
|
+
const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
|
|
577
582
|
// compare if two vnode to see if they're "technically" the same
|
|
578
583
|
// need to have the same element tag, and same key to be the same
|
|
579
584
|
if (leftVNode.$tag$ === rightVNode.$tag$) {
|
|
@@ -588,8 +593,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
|
|
|
588
593
|
*
|
|
589
594
|
* @param oldVNode an old VNode whose DOM element and children we want to update
|
|
590
595
|
* @param newVNode a new VNode representing an updated version of the old one
|
|
596
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
|
591
597
|
*/
|
|
592
|
-
const patch = (oldVNode, newVNode) => {
|
|
598
|
+
const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
|
593
599
|
const elm = (newVNode.$elm$ = oldVNode.$elm$);
|
|
594
600
|
const oldChildren = oldVNode.$children$;
|
|
595
601
|
const newChildren = newVNode.$children$;
|
|
@@ -597,7 +603,7 @@ const patch = (oldVNode, newVNode) => {
|
|
|
597
603
|
if (oldChildren !== null && newChildren !== null) {
|
|
598
604
|
// looks like there's child vnodes for both the old and new vnodes
|
|
599
605
|
// so we need to call `updateChildren` to reconcile them
|
|
600
|
-
updateChildren(elm, oldChildren, newVNode, newChildren);
|
|
606
|
+
updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
|
|
601
607
|
}
|
|
602
608
|
else if (newChildren !== null) {
|
|
603
609
|
// add the new vnode children
|
|
@@ -661,7 +667,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
|
661
667
|
scopeId = hostElm['s-sc'];
|
|
662
668
|
}
|
|
663
669
|
// synchronous patch
|
|
664
|
-
patch(oldVNode, rootVnode);
|
|
670
|
+
patch(oldVNode, rootVnode, isInitialLoad);
|
|
665
671
|
};
|
|
666
672
|
const attachToAncestor = (hostRef, ancestorComponent) => {
|
|
667
673
|
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
|
@@ -1313,12 +1319,14 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1313
1319
|
// If we have styles, add them to the DOM
|
|
1314
1320
|
if (dataStyles.innerHTML.length) {
|
|
1315
1321
|
dataStyles.setAttribute('data-styles', '');
|
|
1316
|
-
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
1317
1322
|
// Apply CSP nonce to the style tag if it exists
|
|
1318
1323
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
1319
1324
|
if (nonce != null) {
|
|
1320
1325
|
dataStyles.setAttribute('nonce', nonce);
|
|
1321
1326
|
}
|
|
1327
|
+
// Insert the styles into the document head
|
|
1328
|
+
// NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
|
|
1329
|
+
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
1322
1330
|
}
|
|
1323
1331
|
// Process deferred connectedCallbacks now all components have been registered
|
|
1324
1332
|
isBootstrapping = false;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-c7a5e0c6.js');
|
|
6
6
|
|
|
7
7
|
const defineCustomElements = (win, options) => {
|
|
8
8
|
if (typeof window === 'undefined') return undefined;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-c7a5e0c6.js');
|
|
6
6
|
|
|
7
7
|
const mdsAccordionTimerCss = ":host{--mds-accordion-timer-progress-bar-color:rgb(var(--tone-neutral-03));--mds-accordion-timer-progress-bar-background:rgb(var(--tone-neutral-08));--mds-accordion-timer-progress-bar-thickness:0.25rem;--mds-accordion-timer-duration:500ms;display:block}";
|
|
8
8
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-c7a5e0c6.js');
|
|
6
6
|
|
|
7
7
|
/*
|
|
8
|
-
Stencil Client Patch Browser v4.
|
|
8
|
+
Stencil Client Patch Browser v4.10.0 | MIT Licensed | https://stenciljs.com
|
|
9
9
|
*/
|
|
10
10
|
const patchBrowser = () => {
|
|
11
11
|
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('mds-accordion-timer.cjs.js', document.baseURI).href));
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { fileExtensionsDictionary } from "../dictionary/file-extensions";
|
|
2
|
+
import { fileFormatsVariant } from "../type/variant-file-format";
|
|
3
|
+
const sanitizeFilename = (filename, error = 'Attribute "filename" is undefined.') => {
|
|
4
|
+
var _a;
|
|
5
|
+
if (filename === undefined) {
|
|
6
|
+
throw console.error(error);
|
|
7
|
+
}
|
|
8
|
+
if (filename.includes('/')) {
|
|
9
|
+
return (_a = filename.split('/').pop()) !== null && _a !== void 0 ? _a : '';
|
|
10
|
+
}
|
|
11
|
+
return filename;
|
|
12
|
+
};
|
|
13
|
+
const sanitizeSuffix = (rawFilename) => {
|
|
14
|
+
var _a;
|
|
15
|
+
const filename = sanitizeFilename(rawFilename);
|
|
16
|
+
if (filename.includes('.')) {
|
|
17
|
+
return (_a = filename.split('.').pop()) !== null && _a !== void 0 ? _a : '';
|
|
18
|
+
}
|
|
19
|
+
return filename;
|
|
20
|
+
};
|
|
21
|
+
const getName = (rawFilename) => {
|
|
22
|
+
var _a;
|
|
23
|
+
const filename = sanitizeFilename(rawFilename);
|
|
24
|
+
if (filename.includes('.')) {
|
|
25
|
+
return (_a = filename.split('.')[0]) !== null && _a !== void 0 ? _a : '';
|
|
26
|
+
}
|
|
27
|
+
return filename;
|
|
28
|
+
};
|
|
29
|
+
const getSuffix = (rawFilename, suffixOverride) => {
|
|
30
|
+
const suffix = sanitizeSuffix(rawFilename);
|
|
31
|
+
const filename = sanitizeFilename(rawFilename);
|
|
32
|
+
if (suffixOverride !== null && suffixOverride !== undefined) {
|
|
33
|
+
return suffixOverride.toLowerCase();
|
|
34
|
+
}
|
|
35
|
+
if (suffix !== filename) {
|
|
36
|
+
return suffix;
|
|
37
|
+
}
|
|
38
|
+
return 'default';
|
|
39
|
+
};
|
|
40
|
+
const getExtensionInfos = (rawFilename, suffixOverride) => {
|
|
41
|
+
var _a;
|
|
42
|
+
const suffix = getSuffix(rawFilename, suffixOverride).toLocaleLowerCase();
|
|
43
|
+
return (_a = fileExtensionsDictionary[suffix]) !== null && _a !== void 0 ? _a : fileExtensionsDictionary.default;
|
|
44
|
+
};
|
|
45
|
+
const getFormatsVariant = (rawFilename, suffixOverride) => {
|
|
46
|
+
return fileFormatsVariant[getExtensionInfos(rawFilename, suffixOverride).format];
|
|
47
|
+
};
|
|
48
|
+
export { getExtensionInfos, getFormatsVariant, getSuffix, getName, };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const BASE64_SVG_ICON = 'data:image/svg+xml;base64,';
|
|
2
|
+
const MARKUP_SVG_ICON = '<svg ';
|
|
3
|
+
const isIconFormatIsBase64 = (icon) => {
|
|
4
|
+
if (!icon) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
return icon.startsWith(BASE64_SVG_ICON);
|
|
8
|
+
};
|
|
9
|
+
const isIconFormatIsSVG = (icon) => {
|
|
10
|
+
if (!icon) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
return icon.startsWith(MARKUP_SVG_ICON);
|
|
14
|
+
};
|
|
15
|
+
export { isIconFormatIsBase64, isIconFormatIsSVG, BASE64_SVG_ICON, MARKUP_SVG_ICON, };
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
const cssDurationToMilliseconds = (duration, defaultValue = 1000) => {
|
|
2
|
+
if (duration.includes('ms')) {
|
|
3
|
+
return Number(duration.replace('ms', ''));
|
|
4
|
+
}
|
|
2
5
|
if (duration.includes('s')) {
|
|
3
6
|
return Number(duration.replace('s', '')) * 1000;
|
|
4
7
|
}
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
return defaultValue;
|
|
9
|
+
};
|
|
10
|
+
const cssSizeToNumber = (size, defaultValue = 0) => {
|
|
11
|
+
if (size.includes('px')) {
|
|
12
|
+
return Number(size.replace('px', ''));
|
|
13
|
+
}
|
|
14
|
+
if (size.includes('rem')) {
|
|
15
|
+
return Number(size.replace('rem', '')) * 16;
|
|
16
|
+
}
|
|
17
|
+
if (size.includes('em')) {
|
|
18
|
+
return Number(size.replace('em', '')) * 16;
|
|
7
19
|
}
|
|
8
20
|
return defaultValue;
|
|
9
21
|
};
|
|
10
|
-
export { cssDurationToMilliseconds, };
|
|
22
|
+
export { cssDurationToMilliseconds, cssSizeToNumber, };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { generator } from "./utils/prng";
|
|
2
|
+
import { strToCharCodeArray } from "./utils/string";
|
|
3
|
+
import { randomSign, minMaxLooped } from "./utils/math";
|
|
4
|
+
const rand = generator();
|
|
5
|
+
const random = (base, offset) => () => (base + rand.range(0, offset)) * randomSign();
|
|
6
|
+
export const generateRandomCharCodeArray = (base, offset) => str => strToCharCodeArray(str).map(random(base, offset));
|
|
7
|
+
export const charCodeArrayToString = ({ str, minCharCode, maxCharCode, placeholderChar, charStep, }) => charCodes => charCodes.reduce((acc, item, index) => {
|
|
8
|
+
if (item !== 0) {
|
|
9
|
+
if (Math.abs(item) > charStep) {
|
|
10
|
+
return acc + placeholderChar;
|
|
11
|
+
}
|
|
12
|
+
return (acc +
|
|
13
|
+
String.fromCharCode(minMaxLooped(minCharCode, maxCharCode)(str.charCodeAt(index) + item)));
|
|
14
|
+
}
|
|
15
|
+
return acc + str.charAt(index);
|
|
16
|
+
}, '');
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { generateRandomCharCodeArray, charCodeArrayToString } from "./core";
|
|
2
|
+
import { noop } from "./utils/noop";
|
|
3
|
+
class RandomText {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this.start = () => {
|
|
6
|
+
const { frameOffset, charOffset, str, speed } = this;
|
|
7
|
+
const randoms = generateRandomCharCodeArray(frameOffset, charOffset)(str);
|
|
8
|
+
this.stop();
|
|
9
|
+
this.rafId = requestAnimationFrame(() => {
|
|
10
|
+
this.step(randoms, speed, speed);
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
Object.assign(this, Object.assign(Object.assign({}, RandomText.defaults), options));
|
|
14
|
+
}
|
|
15
|
+
stop() {
|
|
16
|
+
cancelAnimationFrame(this.rafId);
|
|
17
|
+
}
|
|
18
|
+
step(randoms, stepCount, speed) {
|
|
19
|
+
const { str, charStep, minCharCode, maxCharCode, placeholderChar, onProgress, onComplete, } = this;
|
|
20
|
+
const stepArray = randoms.slice(0, stepCount);
|
|
21
|
+
const steppedArray = stepArray.map(item => {
|
|
22
|
+
if (item > 0)
|
|
23
|
+
return item - 1;
|
|
24
|
+
if (item < 0)
|
|
25
|
+
return item + 1;
|
|
26
|
+
return 0;
|
|
27
|
+
});
|
|
28
|
+
const output = charCodeArrayToString({
|
|
29
|
+
str,
|
|
30
|
+
minCharCode,
|
|
31
|
+
maxCharCode,
|
|
32
|
+
placeholderChar,
|
|
33
|
+
charStep,
|
|
34
|
+
})(steppedArray);
|
|
35
|
+
const updatedRandoms = [...steppedArray, ...randoms.slice(stepCount)];
|
|
36
|
+
onProgress(output);
|
|
37
|
+
if (output !== str) {
|
|
38
|
+
this.rafId = requestAnimationFrame(() => {
|
|
39
|
+
this.step(updatedRandoms, stepCount + speed, speed);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
onComplete(output);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
RandomText.defaults = {
|
|
48
|
+
str: '',
|
|
49
|
+
speed: 2,
|
|
50
|
+
placeholderChar: '_',
|
|
51
|
+
frameOffset: 30,
|
|
52
|
+
charOffset: 20,
|
|
53
|
+
charStep: 10,
|
|
54
|
+
minCharCode: 32,
|
|
55
|
+
maxCharCode: 122,
|
|
56
|
+
onProgress: noop,
|
|
57
|
+
onComplete: noop,
|
|
58
|
+
};
|
|
59
|
+
export default RandomText;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { generator } from "./prng";
|
|
2
|
+
const rand = generator();
|
|
3
|
+
export const randomSign = () => (Math.round(Math.random()) - 0.5) * 2;
|
|
4
|
+
export const generateRandomNumbers = base => charOffset => length => [...Array(length)].map(() => (base + rand.range(0, charOffset)) * randomSign());
|
|
5
|
+
export const minMaxLooped = (min, max) => value => {
|
|
6
|
+
if (value > max)
|
|
7
|
+
return min + (value - max);
|
|
8
|
+
if (value < min)
|
|
9
|
+
return max + (value - min);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const noop = () => { };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const int32 = 2147483647;
|
|
2
|
+
const gen = v => (v * 16807) % int32;
|
|
3
|
+
const randomFloat = v => gen(v) / int32;
|
|
4
|
+
const randomInt = v => gen(v);
|
|
5
|
+
export const generator = (seed = 1) => {
|
|
6
|
+
let value = seed < 1 ? 1 : seed;
|
|
7
|
+
const next = () => {
|
|
8
|
+
value = randomInt(value);
|
|
9
|
+
return value;
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
random: () => next(),
|
|
13
|
+
randomFloat: () => randomFloat(next()),
|
|
14
|
+
range: (min, max) => {
|
|
15
|
+
const minimum = min - 0.4999;
|
|
16
|
+
const maximum = max + 0.4999;
|
|
17
|
+
return Math.round(minimum + (maximum - minimum) * randomFloat(next()));
|
|
18
|
+
},
|
|
19
|
+
rangeFloat: (min, max) => min + (max - min) * randomFloat(next()),
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const fileExtensionsDictionary = {
|
|
2
|
+
'7z': { format: 'archive', description: 'Archivio compresso' },
|
|
3
|
+
ace: { format: 'archive', description: 'Archivio compresso' },
|
|
4
|
+
ai: { format: 'vector', description: 'Vettoriale Adobe Illustrator' },
|
|
5
|
+
dart: { format: 'code', description: 'Dart' },
|
|
6
|
+
db: { format: 'data', description: 'File di database' },
|
|
7
|
+
default: { format: 'attachment', description: 'Formato sconosciuto' },
|
|
8
|
+
dmg: { format: 'executable', description: 'Apple Disk Image' },
|
|
9
|
+
doc: { format: 'text', description: 'Documento Microsoft Word' },
|
|
10
|
+
docm: { format: 'text', description: 'Documento Microsoft Word' },
|
|
11
|
+
docx: { format: 'text', description: 'Documento Microsoft Word Compresso' },
|
|
12
|
+
eml: { format: 'email', description: 'E-mail di posta elettronica' },
|
|
13
|
+
eps: { format: 'vector', description: 'Vettoriale Corel Draw' },
|
|
14
|
+
exe: { format: 'executable', description: 'File eseguibile Windows' },
|
|
15
|
+
flac: { format: 'audio', description: 'Audio non compresso' },
|
|
16
|
+
gif: { format: 'image', description: 'Immagine compressa', preview: true },
|
|
17
|
+
htm: { format: 'markup', description: 'Pagina web' },
|
|
18
|
+
heic: { format: 'image', description: 'High Efficiency Image File Format' },
|
|
19
|
+
html: { format: 'markup', description: 'Pagina web' },
|
|
20
|
+
jpe: { format: 'image', description: 'Immagine compressa', preview: true },
|
|
21
|
+
jpeg: { format: 'image', description: 'Immagine compressa', preview: true },
|
|
22
|
+
jpg: { format: 'image', description: 'Immagine compressa', preview: true },
|
|
23
|
+
js: { format: 'code', description: 'JavaScript' },
|
|
24
|
+
json: { format: 'data', description: 'JavaScript Object Notation' },
|
|
25
|
+
jsx: { format: 'code', description: 'JavaScript' },
|
|
26
|
+
m2v: { format: 'video', description: 'Filmato SD' },
|
|
27
|
+
mp2: { format: 'audio', description: 'Audio compresso' },
|
|
28
|
+
mp3: { format: 'audio', description: 'Audio compresso' },
|
|
29
|
+
mp4: { format: 'video', description: 'Filmato HD' },
|
|
30
|
+
mp4v: { format: 'video', description: 'Filmato HD' },
|
|
31
|
+
mpeg: { format: 'video', description: 'Filmato SD' },
|
|
32
|
+
mpg4: { format: 'video', description: 'Filmato SD' },
|
|
33
|
+
mpg: { format: 'video', description: 'Filmato SD' },
|
|
34
|
+
mpga: { format: 'audio', description: 'Audio compresso' },
|
|
35
|
+
odp: { format: 'slide', description: 'Slide di presentazione LibreOffice' },
|
|
36
|
+
ods: { format: 'spreadsheet', description: 'Foglio di calcolo LibreOffice' },
|
|
37
|
+
odt: { format: 'text', description: 'File di testo LibreOffice' },
|
|
38
|
+
pdf: { format: 'document', description: 'Documento Adobe' },
|
|
39
|
+
php: { format: 'code', description: 'Hypertext Preprocessor' },
|
|
40
|
+
png: { format: 'image', description: 'Immagine Portable Network Graphics', preview: true },
|
|
41
|
+
ppt: { format: 'slide', description: 'Slide di presentazione PowerPoint' },
|
|
42
|
+
rar: { format: 'archive', description: 'Archivio compresso' },
|
|
43
|
+
rtf: { format: 'text', description: 'Documento di testo Rich Text Format' },
|
|
44
|
+
sass: { format: 'code', description: 'Syntactically Awesome StyleSheets' },
|
|
45
|
+
shtml: { format: 'markup', description: 'Pagina web' },
|
|
46
|
+
svg: { format: 'vector', description: 'Scalable Vector Graphics', preview: true },
|
|
47
|
+
tar: { format: 'archive', description: 'Archivio non compresso' },
|
|
48
|
+
tiff: { format: 'image', description: 'Tag Image File Format' },
|
|
49
|
+
ts: { format: 'code', description: 'TypeScript' },
|
|
50
|
+
tsx: { format: 'code', description: 'TypeScript Extended Syntax' },
|
|
51
|
+
txt: { format: 'text', description: 'Documento di testo non formattato' },
|
|
52
|
+
wav: { format: 'audio', description: 'Audio non compresso' },
|
|
53
|
+
webp: { format: 'image', description: 'Immagine Web Picture', preview: true },
|
|
54
|
+
xar: { format: 'archive', description: 'Archivio compresso' },
|
|
55
|
+
xls: { format: 'spreadsheet', description: 'Foglio di calcolo Office' },
|
|
56
|
+
xlsx: { format: 'spreadsheet', description: 'Foglio di calcolo Office' },
|
|
57
|
+
zip: { format: 'archive', description: 'Archivio compresso' },
|
|
58
|
+
};
|
|
59
|
+
const genericMimeToExt = new Map([
|
|
60
|
+
['image', ['.png', '.jpg', '.jpeg', '.tiff', '.webp', '.jpe', '.gif', '.heic']],
|
|
61
|
+
['audio', ['.mp2', '.mp3', '.mpga', '.wav', '.flac']],
|
|
62
|
+
['video', ['.mv2', '.mp4', '.mp4v', '.mpeg', '.mpg4', '.mpg']],
|
|
63
|
+
]);
|
|
64
|
+
export { fileExtensionsDictionary, genericMimeToExt, };
|
|
@@ -2,4 +2,9 @@ import jsonIconsDictionary from "../fixtures/icons.json";
|
|
|
2
2
|
import jsonMggIconsDictionary from "../fixtures/iconsauce.json";
|
|
3
3
|
const iconsDictionary = jsonIconsDictionary;
|
|
4
4
|
const mggIconsDictionary = jsonMggIconsDictionary;
|
|
5
|
-
|
|
5
|
+
const svgIconsDictionary = [
|
|
6
|
+
`${location.origin}/svg/mi/baseline/email.svg`,
|
|
7
|
+
'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Im0yMzMtODAgNjUtMjgxTDgwLTU1MGwyODgtMjUgMTEyLTI2NSAxMTIgMjY1IDI4OCAyNS0yMTggMTg5IDY1IDI4MS0yNDctMTQ5TDIzMy04MFoiLz48L3N2Zz4=',
|
|
8
|
+
'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6s-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8s-3.58-8-8-8z"/></svg>',
|
|
9
|
+
];
|
|
10
|
+
export { iconsDictionary, mggIconsDictionary, svgIconsDictionary, };
|
|
@@ -35,6 +35,23 @@ const themeFullVariantDictionary = [
|
|
|
35
35
|
'warning',
|
|
36
36
|
'yellow',
|
|
37
37
|
];
|
|
38
|
+
const themeFullVariantAvatarDictionary = [
|
|
39
|
+
'amaranth',
|
|
40
|
+
'aqua',
|
|
41
|
+
'blue',
|
|
42
|
+
'error',
|
|
43
|
+
'green',
|
|
44
|
+
'info',
|
|
45
|
+
'lime',
|
|
46
|
+
'orange',
|
|
47
|
+
'orchid',
|
|
48
|
+
'primary',
|
|
49
|
+
'sky',
|
|
50
|
+
'success',
|
|
51
|
+
'violet',
|
|
52
|
+
'warning',
|
|
53
|
+
'yellow',
|
|
54
|
+
];
|
|
38
55
|
const themeLabelVariantDictionary = [
|
|
39
56
|
'amaranth',
|
|
40
57
|
'aqua',
|
|
@@ -70,4 +87,4 @@ const toneMinimalVariantDictionary = [
|
|
|
70
87
|
'strong',
|
|
71
88
|
'weak',
|
|
72
89
|
];
|
|
73
|
-
export { themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneVariantDictionary, };
|
|
90
|
+
export { themeFullVariantAvatarDictionary, themeFullVariantDictionary, themeLabelVariantDictionary, themeLuminanceVariantDictionary, themeStatusVariantDictionary, themeVariantDictionary, toneActionVariantDictionary, toneMinimalVariantDictionary, toneSimpleVariantDictionary, toneVariantDictionary, };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const filesList = [
|
|
2
|
+
'alarm_circuit_plastic.eps',
|
|
3
|
+
'awesome_orchestration.png',
|
|
4
|
+
'b2c_tan_sports.svg',
|
|
5
|
+
'bedfordshire_iceland_identity.txt',
|
|
6
|
+
'books_monetize_arizona.htm',
|
|
7
|
+
'brand.shtml',
|
|
8
|
+
'brunei_logistical.eml',
|
|
9
|
+
'buckinghamshire_macao.jpg',
|
|
10
|
+
'calculating.json',
|
|
11
|
+
'complexity_deposit.mpg',
|
|
12
|
+
'compressing_black_colorado.ods',
|
|
13
|
+
'connect_local_visualize.pdf',
|
|
14
|
+
'copying.default',
|
|
15
|
+
'explicit.mp2',
|
|
16
|
+
'fish.php',
|
|
17
|
+
'flexibility_auto_money.html',
|
|
18
|
+
'foreground_overriding.ai',
|
|
19
|
+
'forge_face.ts',
|
|
20
|
+
'forges.doc',
|
|
21
|
+
'frozen_haptic.7z',
|
|
22
|
+
'gorgeous_manager_savings.ppt',
|
|
23
|
+
'graphic_frozen_bedfordshire.tar',
|
|
24
|
+
'hdd_navigate_panama.xlsx',
|
|
25
|
+
'https://i2.wp.com/clipart.info/images/ccovers/1495750818Apple-PNG-Clip-Art.png',
|
|
26
|
+
'impactful_alarm_handmade.mpeg',
|
|
27
|
+
'initiatives_group.gif',
|
|
28
|
+
'intelligent_radical.jpe',
|
|
29
|
+
'interface_bedfordshire_solid.m2v',
|
|
30
|
+
'iowa_installation.jpeg',
|
|
31
|
+
'liaison_panel_central.flac',
|
|
32
|
+
'matrix_black_hat.db',
|
|
33
|
+
'metrics_lempira_account.xls',
|
|
34
|
+
'monitor.js',
|
|
35
|
+
'nebraska.mp4',
|
|
36
|
+
'needs_based_solid.odp',
|
|
37
|
+
'officer_somalia.docm',
|
|
38
|
+
'open_source.webp',
|
|
39
|
+
'open_source_gorgeous.sass',
|
|
40
|
+
'optimization_radical.mp3',
|
|
41
|
+
'ports_copy_granite.mpga',
|
|
42
|
+
'pound.rtf',
|
|
43
|
+
'protocol_designer.dmg',
|
|
44
|
+
'reduced_regional_greenland.mp4v',
|
|
45
|
+
'revolutionize.mpg4',
|
|
46
|
+
'rss_systematic_avon.exe',
|
|
47
|
+
'salad_compressing.odt',
|
|
48
|
+
'sky_marketing.ace',
|
|
49
|
+
'synergistic.wav',
|
|
50
|
+
'this_is_an_extensionless_file',
|
|
51
|
+
'tuna_table_fall.zip',
|
|
52
|
+
'unbranded.rar',
|
|
53
|
+
'upgradable_gold.docx',
|
|
54
|
+
'wisconsin_bypassing_small.xar',
|
|
55
|
+
'wooden.jsx',
|
|
56
|
+
];
|
|
57
|
+
export { filesList, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|