@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.
Files changed (95) hide show
  1. package/dist/cjs/{index-2cfccbaa.js → index-c7a5e0c6.js} +22 -14
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mds-accordion-timer.cjs.entry.js +1 -1
  4. package/dist/cjs/mds-accordion-timer.cjs.js +2 -2
  5. package/dist/collection/collection-manifest.json +2 -2
  6. package/dist/collection/common/file.js +48 -0
  7. package/dist/collection/common/icon.js +15 -0
  8. package/dist/collection/common/unit.js +15 -3
  9. package/dist/collection/common/yugop/core.js +16 -0
  10. package/dist/collection/common/yugop/index.js +3 -0
  11. package/dist/collection/common/yugop/random-text.js +59 -0
  12. package/dist/collection/common/yugop/utils/math.js +11 -0
  13. package/dist/collection/common/yugop/utils/noop.js +1 -0
  14. package/dist/collection/common/yugop/utils/prng.js +21 -0
  15. package/dist/collection/common/yugop/utils/string.js +2 -0
  16. package/dist/collection/dictionary/file-extensions.js +64 -0
  17. package/dist/collection/dictionary/icon.js +6 -1
  18. package/dist/collection/dictionary/text.js +6 -0
  19. package/dist/collection/dictionary/variant.js +18 -1
  20. package/dist/collection/fixtures/filenames.js +57 -0
  21. package/dist/collection/type/file-types.js +1 -0
  22. package/dist/collection/type/text.js +1 -0
  23. package/dist/collection/type/variant-file-format.js +111 -0
  24. package/dist/documentation.d.ts +1 -21
  25. package/dist/documentation.json +3 -3
  26. package/dist/esm/{index-df0a164e.js → index-05afffb2.js} +22 -14
  27. package/dist/esm/loader.js +2 -2
  28. package/dist/esm/mds-accordion-timer.entry.js +1 -1
  29. package/dist/esm/mds-accordion-timer.js +3 -3
  30. package/dist/esm-es5/index-05afffb2.js +1 -0
  31. package/dist/esm-es5/loader.js +1 -1
  32. package/dist/esm-es5/mds-accordion-timer.entry.js +1 -1
  33. package/dist/esm-es5/mds-accordion-timer.js +1 -1
  34. package/dist/mds-accordion-timer/mds-accordion-timer.esm.js +1 -1
  35. package/dist/mds-accordion-timer/mds-accordion-timer.js +1 -1
  36. package/dist/mds-accordion-timer/{p-8dd76b31.system.js → p-0c153b11.system.js} +1 -1
  37. package/dist/mds-accordion-timer/{p-e57978cc.entry.js → p-25b4e062.entry.js} +1 -1
  38. package/{www/build/p-09cc1589.system.entry.js → dist/mds-accordion-timer/p-8a701c9c.system.entry.js} +1 -1
  39. package/dist/mds-accordion-timer/p-ba38686d.system.js +2 -0
  40. package/dist/mds-accordion-timer/p-d3af5915.js +2 -0
  41. package/dist/stats.json +72 -30
  42. package/dist/types/common/file.d.ts +12 -0
  43. package/dist/types/common/icon.d.ts +5 -0
  44. package/dist/types/common/unit.d.ts +2 -1
  45. package/dist/types/common/yugop/core.d.ts +10 -0
  46. package/dist/types/common/yugop/index.d.ts +1 -0
  47. package/dist/types/common/yugop/random-text.d.ts +31 -0
  48. package/dist/types/common/yugop/utils/math.d.ts +3 -0
  49. package/dist/types/common/yugop/utils/noop.d.ts +1 -0
  50. package/dist/types/common/yugop/utils/prng.d.ts +8 -0
  51. package/dist/types/common/yugop/utils/string.d.ts +1 -0
  52. package/dist/types/dictionary/file-extensions.d.ts +11 -0
  53. package/dist/types/dictionary/icon.d.ts +2 -1
  54. package/dist/types/dictionary/text.d.ts +2 -0
  55. package/dist/types/dictionary/variant.d.ts +2 -1
  56. package/dist/types/fixtures/filenames.d.ts +2 -0
  57. package/dist/types/type/file-types.d.ts +1 -0
  58. package/dist/types/type/text.d.ts +1 -0
  59. package/dist/types/type/variant-file-format.d.ts +11 -0
  60. package/dist/types/type/variant.d.ts +1 -0
  61. package/documentation.json +47 -12
  62. package/package.json +4 -4
  63. package/src/common/file.ts +63 -0
  64. package/src/common/icon.ts +25 -0
  65. package/src/common/unit.ts +21 -2
  66. package/src/common/yugop/core.ts +47 -0
  67. package/src/common/yugop/index.ts +4 -0
  68. package/src/common/yugop/random-text.ts +95 -0
  69. package/src/common/yugop/utils/math.ts +21 -0
  70. package/src/common/yugop/utils/noop.ts +1 -0
  71. package/src/common/yugop/utils/prng.ts +35 -0
  72. package/src/common/yugop/utils/string.ts +4 -0
  73. package/src/dictionary/file-extensions.ts +81 -0
  74. package/src/dictionary/icon.ts +6 -0
  75. package/src/dictionary/text.ts +9 -0
  76. package/src/dictionary/variant.ts +19 -0
  77. package/src/fixtures/filenames.ts +60 -0
  78. package/src/fixtures/icons.json +10 -0
  79. package/src/fixtures/iconsauce.json +3 -0
  80. package/src/type/file-types.ts +55 -0
  81. package/src/type/text.ts +4 -0
  82. package/src/type/variant-file-format.ts +128 -0
  83. package/src/type/variant.ts +17 -0
  84. package/www/build/mds-accordion-timer.esm.js +1 -1
  85. package/www/build/mds-accordion-timer.js +1 -1
  86. package/www/build/{p-8dd76b31.system.js → p-0c153b11.system.js} +1 -1
  87. package/www/build/{p-e57978cc.entry.js → p-25b4e062.entry.js} +1 -1
  88. package/{dist/mds-accordion-timer/p-09cc1589.system.entry.js → www/build/p-8a701c9c.system.entry.js} +1 -1
  89. package/www/build/p-ba38686d.system.js +2 -0
  90. package/www/build/p-d3af5915.js +2 -0
  91. package/dist/esm-es5/index-df0a164e.js +0 -1
  92. package/dist/mds-accordion-timer/p-0da95646.system.js +0 -2
  93. package/dist/mds-accordion-timer/p-36be1c3e.js +0 -2
  94. package/www/build/p-0da95646.system.js +0 -2
  95. 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;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-2cfccbaa.js');
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-2cfccbaa.js');
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-2cfccbaa.js');
5
+ const index = require('./index-c7a5e0c6.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v4.8.0 | MIT Licensed | https://stenciljs.com
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));
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.8.0",
8
- "typescriptVersion": "5.2.2"
7
+ "version": "4.10.0",
8
+ "typescriptVersion": "5.3.3"
9
9
  },
10
10
  "collections": [],
11
11
  "bundles": []
@@ -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
- if (duration.includes('ms')) {
6
- return Number(duration.replace('s', ''));
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,3 @@
1
+ // taken from https://github.com/zenoplex/random-text
2
+ // @flow
3
+ export { default } from './random-text';
@@ -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,2 @@
1
+ // export const strToCharCodeArray: string => number[] = str => str.split('').map(item => item.charCodeAt(0));
2
+ export const strToCharCodeArray = str => str.split('').map(item => item.charCodeAt(0));
@@ -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
- export { iconsDictionary, mggIconsDictionary, };
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, };
@@ -0,0 +1,6 @@
1
+ const truncateDictionary = [
2
+ 'all',
3
+ 'none',
4
+ 'word',
5
+ ];
6
+ export { truncateDictionary, };
@@ -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 {};