@maggioli-design-system/mds-modal 4.7.3 → 4.9.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 (94) hide show
  1. package/dist/cjs/mds-modal.cjs.entry.js +2 -2
  2. package/dist/cjs/mds-modal.cjs.js +1 -1
  3. package/dist/collection/collection-manifest.json +2 -2
  4. package/dist/collection/common/file.js +48 -0
  5. package/dist/collection/common/icon.js +15 -0
  6. package/dist/collection/common/unit.js +15 -3
  7. package/dist/collection/common/yugop/core.js +16 -0
  8. package/dist/collection/common/yugop/index.js +3 -0
  9. package/dist/collection/common/yugop/random-text.js +59 -0
  10. package/dist/collection/common/yugop/utils/math.js +11 -0
  11. package/dist/collection/common/yugop/utils/noop.js +1 -0
  12. package/dist/collection/common/yugop/utils/prng.js +21 -0
  13. package/dist/collection/common/yugop/utils/string.js +2 -0
  14. package/dist/collection/components/mds-modal/mds-modal.css +152 -24
  15. package/dist/collection/components/mds-modal/mds-modal.js +1 -1
  16. package/dist/collection/components/mds-modal/test/mds-modal.e2e.js +1 -21
  17. package/dist/collection/components/mds-modal/test/mds-modal.stories.js +1 -1
  18. package/dist/collection/dictionary/file-extensions.js +64 -0
  19. package/dist/collection/dictionary/icon.js +6 -1
  20. package/dist/collection/dictionary/text.js +6 -0
  21. package/dist/collection/dictionary/variant.js +18 -1
  22. package/dist/collection/fixtures/filenames.js +57 -0
  23. package/dist/collection/type/file-types.js +1 -0
  24. package/dist/collection/type/text.js +1 -0
  25. package/dist/collection/type/variant-file-format.js +111 -0
  26. package/dist/components/mds-modal.js +2 -2
  27. package/dist/documentation.json +3 -3
  28. package/dist/esm/mds-modal.entry.js +2 -2
  29. package/dist/esm/mds-modal.js +1 -1
  30. package/dist/esm-es5/mds-modal.entry.js +1 -1
  31. package/dist/mds-modal/mds-modal.esm.js +1 -1
  32. package/dist/mds-modal/mds-modal.js +1 -1
  33. package/dist/mds-modal/p-444a6a47.system.entry.js +1 -0
  34. package/{www/build/p-88c57c56.system.js → dist/mds-modal/p-5cf75b06.system.js} +1 -1
  35. package/dist/mds-modal/p-83ebb238.entry.js +1 -0
  36. package/dist/stats.json +65 -23
  37. package/dist/types/common/file.d.ts +12 -0
  38. package/dist/types/common/icon.d.ts +5 -0
  39. package/dist/types/common/unit.d.ts +2 -1
  40. package/dist/types/common/yugop/core.d.ts +10 -0
  41. package/dist/types/common/yugop/index.d.ts +1 -0
  42. package/dist/types/common/yugop/random-text.d.ts +31 -0
  43. package/dist/types/common/yugop/utils/math.d.ts +3 -0
  44. package/dist/types/common/yugop/utils/noop.d.ts +1 -0
  45. package/dist/types/common/yugop/utils/prng.d.ts +8 -0
  46. package/dist/types/common/yugop/utils/string.d.ts +1 -0
  47. package/dist/types/dictionary/file-extensions.d.ts +11 -0
  48. package/dist/types/dictionary/icon.d.ts +2 -1
  49. package/dist/types/dictionary/text.d.ts +2 -0
  50. package/dist/types/dictionary/variant.d.ts +2 -1
  51. package/dist/types/fixtures/filenames.d.ts +2 -0
  52. package/dist/types/type/file-types.d.ts +1 -0
  53. package/dist/types/type/text.d.ts +1 -0
  54. package/dist/types/type/variant-file-format.d.ts +11 -0
  55. package/dist/types/type/variant.d.ts +1 -0
  56. package/documentation.json +58 -13
  57. package/package.json +4 -3
  58. package/readme.md +8 -0
  59. package/src/common/file.ts +63 -0
  60. package/src/common/icon.ts +25 -0
  61. package/src/common/unit.ts +21 -2
  62. package/src/common/yugop/core.ts +47 -0
  63. package/src/common/yugop/index.ts +4 -0
  64. package/src/common/yugop/random-text.ts +95 -0
  65. package/src/common/yugop/utils/math.ts +21 -0
  66. package/src/common/yugop/utils/noop.ts +1 -0
  67. package/src/common/yugop/utils/prng.ts +35 -0
  68. package/src/common/yugop/utils/string.ts +4 -0
  69. package/src/components/mds-modal/css/mds-modal-animate-left.css +4 -4
  70. package/src/components/mds-modal/css/mds-modal-animate-right.css +4 -4
  71. package/src/components/mds-modal/mds-modal.css +12 -7
  72. package/src/components/mds-modal/mds-modal.tsx +1 -1
  73. package/src/components/mds-modal/test/mds-modal.e2e.ts +1 -23
  74. package/src/components/mds-modal/test/mds-modal.stories.tsx +9 -9
  75. package/src/dictionary/file-extensions.ts +81 -0
  76. package/src/dictionary/icon.ts +6 -0
  77. package/src/dictionary/text.ts +9 -0
  78. package/src/dictionary/variant.ts +19 -0
  79. package/src/fixtures/filenames.ts +60 -0
  80. package/src/fixtures/icons.json +10 -0
  81. package/src/fixtures/iconsauce.json +3 -0
  82. package/src/type/file-types.ts +55 -0
  83. package/src/type/text.ts +4 -0
  84. package/src/type/variant-file-format.ts +128 -0
  85. package/src/type/variant.ts +17 -0
  86. package/www/build/mds-modal.esm.js +1 -1
  87. package/www/build/mds-modal.js +1 -1
  88. package/www/build/p-444a6a47.system.entry.js +1 -0
  89. package/{dist/mds-modal/p-88c57c56.system.js → www/build/p-5cf75b06.system.js} +1 -1
  90. package/www/build/p-83ebb238.entry.js +1 -0
  91. package/dist/mds-modal/p-59a0095c.system.entry.js +0 -1
  92. package/dist/mds-modal/p-6086db8a.entry.js +0 -1
  93. package/www/build/p-59a0095c.system.entry.js +0 -1
  94. package/www/build/p-6086db8a.entry.js +0 -1
@@ -49,7 +49,7 @@ class KeyboardManager {
49
49
  }
50
50
  }
51
51
 
52
- const mdsModalCss = "@-webkit-keyframes focus-bounce{0%,75%,100%{outline-offset:var(--magma-outline-focus-offset)}50%{outline-offset:var(--magma-outline-blur-offset)}}@keyframes focus-bounce{0%,75%,100%{outline-offset:var(--magma-outline-focus-offset)}50%{outline-offset:var(--magma-outline-blur-offset)}}@tailwind components; @tailwind utilities; .svg{display:-ms-flexbox;display:flex}.svg svg{aspect-ratio:1/1;height:100%;width:100%}.animate-right-intro,.animate-right-outro{-webkit-transform:translateX(calc(100% + 50px));transform:translateX(calc(100% + 50px))}.fixed{position:fixed}.absolute{position:absolute}.ml-auto{margin-left:auto}.flex{display:-ms-flexbox;display:flex}.min-w-0{min-width:0rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.items-center{-ms-flex-align:center;align-items:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-tone-neutral-09{--tw-border-opacity:1;border-color:rgb(var(--tone-neutral-09) / var(--tw-border-opacity))}.bg-transparent{background-color:transparent}.text-tone-neutral-02{--tw-text-opacity:1;color:rgb(var(--tone-neutral-02) / var(--tw-text-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgb(var(--tone-neutral-04) / var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host{--mds-modal-overlay-color:var(--magma-overlay-color, 0 0 0);--mds-modal-overlay-opacity:var(--magma-overlay-opacity, 0.5);--mds-modal-window-background:rgb(var(--tone-neutral));--mds-modal-window-overflow:auto;--mds-modal-window-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);--mds-modal-z-index:var(--magma-modal-z-index);-webkit-transition-duration:700ms;transition-duration:700ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1);-ms-flex-align:center;align-items:center;background-color:rgba(var(--mds-modal-overlay-color) / 0);display:-ms-flexbox;display:flex;fill:rgb(var(--tone-neutral));inset:0;-ms-flex-pack:center;justify-content:center;-webkit-perspective:600px;perspective:600px;pointer-events:none;position:fixed;z-index:var(--mds-modal-z-index, 1000)}:host([position=\"top\"]){-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}:host([position=\"bottom\"]){-ms-flex-align:end;align-items:flex-end;-ms-flex-pack:center;justify-content:center}:host(.to-bottom-opened),:host(.to-center-opened),:host(.to-left-opened),:host(.to-right-opened),:host(.to-top-opened){-webkit-transition-duration:500ms;transition-duration:500ms;background-color:rgba(var(--mds-modal-overlay-color) / var(--mds-modal-overlay-opacity));pointer-events:auto}.close{top:0rem;height:2.25rem;width:2.25rem;border-radius:9999px;font-size:3rem;opacity:0;-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(0.77, 0, 0.175, 1);transition-timing-function:cubic-bezier(0.77, 0, 0.175, 1);cursor:pointer;fill:inherit;position:absolute;-webkit-transform:translate(0, 24px) rotate(90deg);transform:translate(0, 24px) rotate(90deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, outline, outline-offset, -webkit-transform;transition-property:opacity, outline, outline-offset, -webkit-transform;transition-property:opacity, outline, outline-offset, transform;transition-property:opacity, outline, outline-offset, transform, -webkit-transform}.window{height:100%;gap:0rem;background-color:var(--mds-modal-window-background);-webkit-box-shadow:var(--mds-modal-window-shadow);box-shadow:var(--mds-modal-window-shadow);display:grid;grid-template-rows:1fr;max-width:calc(100vw - 80px);overflow:var(--mds-modal-window-overflow)}.window--top{grid-template-rows:auto 1fr}.window--bottom{grid-template-rows:1fr auto}.window--top-bottom{grid-template-rows:auto 1fr auto}:host(.to-bottom){padding:2rem}@media (max-width: 767px){:host(.to-bottom){padding:1rem}}:host(.to-bottom){-ms-flex-pack:center;justify-content:center}:host(.to-bottom) .window,:host(.to-bottom)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-bottom-intro) .window,:host(.to-bottom-intro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(40%);transform:rotateX(-22deg) scale(0.5) translateY(40%)}:host(.to-bottom-opened.to-bottom-outro) .window,:host(.to-bottom-opened.to-bottom-outro)>::slotted([slot=\"window\"]),:host(.to-bottom-opened) .window,:host(.to-bottom-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:rotateX(0) scale(1) translateY(0);transform:rotateX(0) scale(1) translateY(0)}:host(.to-bottom-outro) .window,:host(.to-bottom-outro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(-40%);transform:rotateX(-22deg) scale(0.5) translateY(-40%)}:host(.to-center){padding:2rem}@media (max-width: 767px){:host(.to-center){padding:1rem}}:host(.to-center){-ms-flex-pack:center;justify-content:center}:host(.to-center) .window,:host(.to-center)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-center-intro) .window,:host(.to-center-intro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(40%);transform:rotateX(-22deg) scale(0.5) translateY(40%)}:host(.to-center-opened.to-center-outro) .window,:host(.to-center-opened.to-center-outro)>::slotted([slot=\"window\"]),:host(.to-center-opened) .window,:host(.to-center-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:rotateX(0) scale(1) translateY(0);transform:rotateX(0) scale(1) translateY(0)}:host(.to-center-outro) .window,:host(.to-center-outro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(-40%);transform:rotateX(-22deg) scale(0.5) translateY(-40%)}:host(.to-left){-ms-flex-pack:start;justify-content:flex-start}:host(.to-left) .window,:host(.to-left)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-left-intro) .window,:host(.to-left-intro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(-100% - 50px));transform:translateX(calc(-100% - 50px))}:host(.to-left-opened.to-left-outro) .window,:host(.to-left-opened.to-left-outro)>::slotted([slot=\"window\"]),:host(.to-left-opened) .window,:host(.to-left-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}:host(.to-left-opened) .close,:host(.to-left-opened.to-left-outro) .close{opacity:1;-webkit-transform:translate(-24px, 24px) rotate(0);transform:translate(-24px, 24px) rotate(0)}:host(.to-left-outro) .window,:host(.to-left-outro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(-100% - 50px));transform:translateX(calc(-100% - 50px))}:host(.to-left-outro) .close{-webkit-transform:translate(24px, 24px) rotate(-90deg);transform:translate(24px, 24px) rotate(-90deg)}:host(.to-left) .close{right:0rem;-webkit-transform:translate(36px, 24px) rotate(90deg);transform:translate(36px, 24px) rotate(90deg)}:host(.to-right){-ms-flex-pack:end;justify-content:flex-end}:host(.to-right) .window,:host(.to-right)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-right-intro) .window,:host(.to-right-intro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(100% + 50px));transform:translateX(calc(100% + 50px))}:host(.to-right-opened.to-right-outro) .window,:host(.to-right-opened.to-right-outro)>::slotted([slot=\"window\"]),:host(.to-right-opened) .window,:host(.to-right-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}:host(.to-right-opened) .close,:host(.to-right-opened.to-right-outro) .close{opacity:1;-webkit-transform:translate(24px, 24px) rotate(0);transform:translate(24px, 24px) rotate(0)}:host(.to-right-outro) .window,:host(.to-right-outro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(100% + 50px));transform:translateX(calc(100% + 50px))}:host(.to-right-outro) .close{-webkit-transform:translate(-24px, 24px) rotate(90deg);transform:translate(-24px, 24px) rotate(90deg)}:host(.to-right) .close{left:0rem;-webkit-transform:translate(-36px, 24px) rotate(-90deg);transform:translate(-36px, 24px) rotate(-90deg)}:host(.to-top){padding:2rem}@media (max-width: 767px){:host(.to-top){padding:1rem}}:host(.to-top){-ms-flex-pack:center;justify-content:center}:host(.to-top) .window,:host(.to-top)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-top-intro) .window,:host(.to-top-intro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(40%);transform:rotateX(-22deg) scale(0.5) translateY(40%)}:host(.to-top-opened.to-top-outro) .window,:host(.to-top-opened.to-top-outro)>::slotted([slot=\"window\"]),:host(.to-top-opened) .window,:host(.to-top-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:rotateX(0) scale(1) translateY(0);transform:rotateX(0) scale(1) translateY(0)}:host(.to-top-outro) .window,:host(.to-top-outro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(-40%);transform:rotateX(-22deg) scale(0.5) translateY(-40%)}";
52
+ const mdsModalCss = "@-webkit-keyframes focus-bounce{0%,75%,100%{outline-offset:var(--magma-outline-focus-offset, 6px)}50%{outline-offset:var(--magma-outline-blur-offset, 2px)}}@keyframes focus-bounce{0%,75%,100%{outline-offset:var(--magma-outline-focus-offset, 6px)}50%{outline-offset:var(--magma-outline-blur-offset, 2px)}}@tailwind components; @tailwind utilities; .svg{display:-ms-flexbox;display:flex}.svg svg{aspect-ratio:1/1;height:100%;width:100%}.animate-right-intro,.animate-right-outro{-webkit-transform:translateX(calc(100% + 50px));transform:translateX(calc(100% + 50px))}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.flex{display:-ms-flexbox;display:flex}.w-1600{width:4rem}.min-w-0{min-width:0rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.flex-grow{-ms-flex-positive:1;flex-grow:1}.items-center{-ms-flex-align:center;align-items:center}.gap-400{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.border-0{border-width:0rem}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-tone-neutral-09{--tw-border-opacity:1;border-color:rgb(var(--tone-neutral-09) / var(--tw-border-opacity))}.bg-label-amaranth-10{--tw-bg-opacity:1;background-color:rgb(var(--label-amaranth-10) / var(--tw-bg-opacity))}.bg-label-aqua-10{--tw-bg-opacity:1;background-color:rgb(var(--label-aqua-10) / var(--tw-bg-opacity))}.bg-label-blue-10{--tw-bg-opacity:1;background-color:rgb(var(--label-blue-10) / var(--tw-bg-opacity))}.bg-label-green-10{--tw-bg-opacity:1;background-color:rgb(var(--label-green-10) / var(--tw-bg-opacity))}.bg-label-lime-10{--tw-bg-opacity:1;background-color:rgb(var(--label-lime-10) / var(--tw-bg-opacity))}.bg-label-orange-10{--tw-bg-opacity:1;background-color:rgb(var(--label-orange-10) / var(--tw-bg-opacity))}.bg-label-orchid-10{--tw-bg-opacity:1;background-color:rgb(var(--label-orchid-10) / var(--tw-bg-opacity))}.bg-label-violet-10{--tw-bg-opacity:1;background-color:rgb(var(--label-violet-10) / var(--tw-bg-opacity))}.bg-label-yellow-10{--tw-bg-opacity:1;background-color:rgb(var(--label-yellow-10) / var(--tw-bg-opacity))}.bg-tone-neutral-10{--tw-bg-opacity:1;background-color:rgb(var(--tone-neutral-10) / var(--tw-bg-opacity))}.fill-label-amaranth-04{fill:rgb(var(--label-amaranth-04))}.fill-label-aqua-04{fill:rgb(var(--label-aqua-04))}.fill-label-blue-04{fill:rgb(var(--label-blue-04))}.fill-label-green-04{fill:rgb(var(--label-green-04))}.fill-label-lime-04{fill:rgb(var(--label-lime-04))}.fill-label-orange-04{fill:rgb(var(--label-orange-04))}.fill-label-orchid-04{fill:rgb(var(--label-orchid-04))}.fill-label-violet-04{fill:rgb(var(--label-violet-04))}.fill-label-yellow-04{fill:rgb(var(--label-yellow-04))}.fill-tone-neutral-04{fill:rgb(var(--tone-neutral-04))}.p-800{padding:2rem}.text-label-amaranth-04{--tw-text-opacity:1;color:rgb(var(--label-amaranth-04) / var(--tw-text-opacity))}.text-label-aqua-04{--tw-text-opacity:1;color:rgb(var(--label-aqua-04) / var(--tw-text-opacity))}.text-label-blue-04{--tw-text-opacity:1;color:rgb(var(--label-blue-04) / var(--tw-text-opacity))}.text-label-green-04{--tw-text-opacity:1;color:rgb(var(--label-green-04) / var(--tw-text-opacity))}.text-label-lime-04{--tw-text-opacity:1;color:rgb(var(--label-lime-04) / var(--tw-text-opacity))}.text-label-orange-04{--tw-text-opacity:1;color:rgb(var(--label-orange-04) / var(--tw-text-opacity))}.text-label-orchid-04{--tw-text-opacity:1;color:rgb(var(--label-orchid-04) / var(--tw-text-opacity))}.text-label-violet-04{--tw-text-opacity:1;color:rgb(var(--label-violet-04) / var(--tw-text-opacity))}.text-label-yellow-04{--tw-text-opacity:1;color:rgb(var(--label-yellow-04) / var(--tw-text-opacity))}.text-tone-neutral-02{--tw-text-opacity:1;color:rgb(var(--tone-neutral-02) / var(--tw-text-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgb(var(--tone-neutral-04) / var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host{--mds-modal-overlay-color:var(--magma-overlay-color, 0 0 0);--mds-modal-overlay-opacity:var(--magma-overlay-opacity, 0.5);--mds-modal-window-background:rgb(var(--tone-neutral));--mds-modal-window-overflow:auto;--mds-modal-window-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);--mds-modal-z-index:var(--magma-modal-z-index);-webkit-transition-duration:700ms;transition-duration:700ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1);-ms-flex-align:center;align-items:center;background-color:rgba(var(--mds-modal-overlay-color) / 0);display:-ms-flexbox;display:flex;fill:rgb(var(--tone-neutral));inset:0;-ms-flex-pack:center;justify-content:center;-webkit-perspective:600px;perspective:600px;pointer-events:none;position:fixed;z-index:var(--mds-modal-z-index, 1000)}:host([position=\"top\"]){-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}:host([position=\"bottom\"]){-ms-flex-align:end;align-items:flex-end;-ms-flex-pack:center;justify-content:center}:host(.to-bottom-opened),:host(.to-center-opened),:host(.to-left-opened),:host(.to-right-opened),:host(.to-top-opened){-webkit-transition-duration:500ms;transition-duration:500ms;background-color:rgba(var(--mds-modal-overlay-color) / var(--mds-modal-overlay-opacity));pointer-events:auto}.button-close{top:0rem;border-radius:9999px;opacity:0;-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(0.77, 0, 0.175, 1);transition-timing-function:cubic-bezier(0.77, 0, 0.175, 1);--mds-button-icon-color:rgb(var(--tone-neutral));--mds-button-background:transparent;height:auto;position:absolute;-webkit-transform:translate(0, 24px) rotate(90deg);transform:translate(0, 24px) rotate(90deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, outline, outline-offset, -webkit-transform;transition-property:opacity, outline, outline-offset, -webkit-transform;transition-property:opacity, outline, outline-offset, transform;transition-property:opacity, outline, outline-offset, transform, -webkit-transform}.button-close::part(icon){height:2.25rem;width:2.25rem}.window{height:100%;gap:0rem;background-color:var(--mds-modal-window-background);-webkit-box-shadow:var(--mds-modal-window-shadow);box-shadow:var(--mds-modal-window-shadow);display:grid;grid-template-rows:1fr;max-width:calc(100vw - 80px);overflow:var(--mds-modal-window-overflow)}.window--top{grid-template-rows:auto 1fr}.window--bottom{grid-template-rows:1fr auto}.window--top-bottom{grid-template-rows:auto 1fr auto}:host(.to-bottom){padding:2rem}@media (max-width: 767px){:host(.to-bottom){padding:1rem}}:host(.to-bottom){-ms-flex-pack:center;justify-content:center}:host(.to-bottom) .window,:host(.to-bottom)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-bottom-intro) .window,:host(.to-bottom-intro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(40%);transform:rotateX(-22deg) scale(0.5) translateY(40%)}:host(.to-bottom-opened.to-bottom-outro) .window,:host(.to-bottom-opened.to-bottom-outro)>::slotted([slot=\"window\"]),:host(.to-bottom-opened) .window,:host(.to-bottom-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:rotateX(0) scale(1) translateY(0);transform:rotateX(0) scale(1) translateY(0)}:host(.to-bottom-outro) .window,:host(.to-bottom-outro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(-40%);transform:rotateX(-22deg) scale(0.5) translateY(-40%)}:host(.to-center){padding:2rem}@media (max-width: 767px){:host(.to-center){padding:1rem}}:host(.to-center){-ms-flex-pack:center;justify-content:center}:host(.to-center) .window,:host(.to-center)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-center-intro) .window,:host(.to-center-intro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(40%);transform:rotateX(-22deg) scale(0.5) translateY(40%)}:host(.to-center-opened.to-center-outro) .window,:host(.to-center-opened.to-center-outro)>::slotted([slot=\"window\"]),:host(.to-center-opened) .window,:host(.to-center-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:rotateX(0) scale(1) translateY(0);transform:rotateX(0) scale(1) translateY(0)}:host(.to-center-outro) .window,:host(.to-center-outro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(-40%);transform:rotateX(-22deg) scale(0.5) translateY(-40%)}:host(.to-left){-ms-flex-pack:start;justify-content:flex-start}:host(.to-left) .window,:host(.to-left)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-left-intro) .window,:host(.to-left-intro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(-100% - 50px));transform:translateX(calc(-100% - 50px))}:host(.to-left-opened.to-left-outro) .window,:host(.to-left-opened.to-left-outro)>::slotted([slot=\"window\"]),:host(.to-left-opened) .window,:host(.to-left-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}:host(.to-left-opened) .button-close,:host(.to-left-opened.to-left-outro) .button-close{opacity:1;-webkit-transform:translate(-24px, 24px) rotate(0);transform:translate(-24px, 24px) rotate(0)}:host(.to-left-outro) .window,:host(.to-left-outro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(-100% - 50px));transform:translateX(calc(-100% - 50px))}:host(.to-left-outro) .button-close{-webkit-transform:translate(24px, 24px) rotate(-90deg);transform:translate(24px, 24px) rotate(-90deg)}:host(.to-left) .button-close{right:0rem;-webkit-transform:translate(36px, 24px) rotate(90deg);transform:translate(36px, 24px) rotate(90deg)}:host(.to-right){-ms-flex-pack:end;justify-content:flex-end}:host(.to-right) .window,:host(.to-right)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-right-intro) .window,:host(.to-right-intro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(100% + 50px));transform:translateX(calc(100% + 50px))}:host(.to-right-opened.to-right-outro) .window,:host(.to-right-opened.to-right-outro)>::slotted([slot=\"window\"]),:host(.to-right-opened) .window,:host(.to-right-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}:host(.to-right-opened) .button-close,:host(.to-right-opened.to-right-outro) .button-close{opacity:1;-webkit-transform:translate(24px, 24px) rotate(0);transform:translate(24px, 24px) rotate(0)}:host(.to-right-outro) .window,:host(.to-right-outro)>::slotted([slot=\"window\"]){-webkit-transform:translateX(calc(100% + 50px));transform:translateX(calc(100% + 50px))}:host(.to-right-outro) .button-close{-webkit-transform:translate(-24px, 24px) rotate(90deg);transform:translate(-24px, 24px) rotate(90deg)}:host(.to-right) .button-close{left:0rem;-webkit-transform:translate(-36px, 24px) rotate(-90deg);transform:translate(-36px, 24px) rotate(-90deg)}:host(.to-top){padding:2rem}@media (max-width: 767px){:host(.to-top){padding:1rem}}:host(.to-top){-ms-flex-pack:center;justify-content:center}:host(.to-top) .window,:host(.to-top)>::slotted([slot=\"window\"]){opacity:0;-webkit-transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, height, margin, opacity, padding, width, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width;transition-property:background-color, border-color, box-shadow, color, fill, height, margin, opacity, padding, transform, width, -webkit-box-shadow, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(1, 0, 0, 1);transition-timing-function:cubic-bezier(1, 0, 0, 1)}:host(.to-top-intro) .window,:host(.to-top-intro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(40%);transform:rotateX(-22deg) scale(0.5) translateY(40%)}:host(.to-top-opened.to-top-outro) .window,:host(.to-top-opened.to-top-outro)>::slotted([slot=\"window\"]),:host(.to-top-opened) .window,:host(.to-top-opened)>::slotted([slot=\"window\"]){opacity:1;-webkit-transform:rotateX(0) scale(1) translateY(0);transform:rotateX(0) scale(1) translateY(0)}:host(.to-top-outro) .window,:host(.to-top-outro)>::slotted([slot=\"window\"]){-webkit-transform:rotateX(-22deg) scale(0.5) translateY(-40%);transform:rotateX(-22deg) scale(0.5) translateY(-40%)}@media (max-width: 767px){.mobile\\:w-1200{width:3rem}}";
53
53
 
54
54
  const MdsModal = class {
55
55
  constructor(hostRef) {
@@ -136,7 +136,7 @@ const MdsModal = class {
136
136
  ? index.h("slot", { name: "window" })
137
137
  : index.h("div", { class: clsx('window', (this.top || this.bottom) && `window-${this.top ? '-top' : ''}${this.bottom ? '-bottom' : ''}`), role: "dialog", part: "window" }, this.top &&
138
138
  index.h("slot", { name: "top" }), index.h("slot", null), this.bottom &&
139
- index.h("slot", { name: "bottom" })), !this.window && index.h("i", { innerHTML: miBaselineClose, tabindex: "0", onClick: (e) => { this.closeModal(e); }, class: "svg close focus-bounce-light" })));
139
+ index.h("slot", { name: "bottom" })), !this.window && index.h("mds-button", { icon: miBaselineClose, onClick: (e) => { this.closeModal(e); }, class: "button-close" })));
140
140
  }
141
141
  get host() { return index.getElement(this); }
142
142
  static get watchers() { return {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-b3e2062a.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v4.9.1 | 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-modal.cjs.js', document.baseURI).href));
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.9.1",
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));
@@ -1,10 +1,10 @@
1
1
  @keyframes focus-bounce {
2
2
  0%, 75%, 100% {
3
- outline-offset: var(--magma-outline-focus-offset);
3
+ outline-offset: var(--magma-outline-focus-offset, 6px);
4
4
  }
5
5
 
6
6
  50% {
7
- outline-offset: var(--magma-outline-blur-offset);
7
+ outline-offset: var(--magma-outline-blur-offset, 2px);
8
8
  }
9
9
  }
10
10
  /* included for focus effect */
@@ -28,18 +28,21 @@
28
28
  .animate-right-outro {
29
29
  transform: translateX(calc(100% + 50px));
30
30
  }
31
+ .static {
32
+ position: static;
33
+ }
31
34
  .fixed {
32
35
  position: fixed;
33
36
  }
34
37
  .absolute {
35
38
  position: absolute;
36
39
  }
37
- .ml-auto {
38
- margin-left: auto;
39
- }
40
40
  .flex {
41
41
  display: flex;
42
42
  }
43
+ .w-1600 {
44
+ width: 4rem;
45
+ }
43
46
  .min-w-0 {
44
47
  min-width: 0rem;
45
48
  }
@@ -49,32 +52,147 @@
49
52
  .max-w-xl {
50
53
  max-width: 36rem;
51
54
  }
55
+ .flex-grow {
56
+ flex-grow: 1;
57
+ }
52
58
  .items-center {
53
59
  align-items: center;
54
60
  }
61
+ .gap-400 {
62
+ gap: 1rem;
63
+ }
55
64
  .truncate {
56
65
  overflow: hidden;
57
66
  text-overflow: ellipsis;
58
67
  white-space: nowrap;
59
68
  }
60
- .rounded-full {
61
- border-radius: 9999px;
62
- }
63
69
  .border {
64
70
  border-width: 1px;
65
71
  }
72
+ .border-0 {
73
+ border-width: 0rem;
74
+ }
66
75
  .border-b {
67
76
  border-bottom-width: 1px;
68
77
  }
69
78
  .border-t {
70
79
  border-top-width: 1px;
71
80
  }
81
+ .border-solid {
82
+ border-style: solid;
83
+ }
72
84
  .border-tone-neutral-09 {
73
85
  --tw-border-opacity: 1;
74
86
  border-color: rgb(var(--tone-neutral-09) / var(--tw-border-opacity));
75
87
  }
76
- .bg-transparent {
77
- background-color: transparent;
88
+ .bg-label-amaranth-10 {
89
+ --tw-bg-opacity: 1;
90
+ background-color: rgb(var(--label-amaranth-10) / var(--tw-bg-opacity));
91
+ }
92
+ .bg-label-aqua-10 {
93
+ --tw-bg-opacity: 1;
94
+ background-color: rgb(var(--label-aqua-10) / var(--tw-bg-opacity));
95
+ }
96
+ .bg-label-blue-10 {
97
+ --tw-bg-opacity: 1;
98
+ background-color: rgb(var(--label-blue-10) / var(--tw-bg-opacity));
99
+ }
100
+ .bg-label-green-10 {
101
+ --tw-bg-opacity: 1;
102
+ background-color: rgb(var(--label-green-10) / var(--tw-bg-opacity));
103
+ }
104
+ .bg-label-lime-10 {
105
+ --tw-bg-opacity: 1;
106
+ background-color: rgb(var(--label-lime-10) / var(--tw-bg-opacity));
107
+ }
108
+ .bg-label-orange-10 {
109
+ --tw-bg-opacity: 1;
110
+ background-color: rgb(var(--label-orange-10) / var(--tw-bg-opacity));
111
+ }
112
+ .bg-label-orchid-10 {
113
+ --tw-bg-opacity: 1;
114
+ background-color: rgb(var(--label-orchid-10) / var(--tw-bg-opacity));
115
+ }
116
+ .bg-label-violet-10 {
117
+ --tw-bg-opacity: 1;
118
+ background-color: rgb(var(--label-violet-10) / var(--tw-bg-opacity));
119
+ }
120
+ .bg-label-yellow-10 {
121
+ --tw-bg-opacity: 1;
122
+ background-color: rgb(var(--label-yellow-10) / var(--tw-bg-opacity));
123
+ }
124
+ .bg-tone-neutral-10 {
125
+ --tw-bg-opacity: 1;
126
+ background-color: rgb(var(--tone-neutral-10) / var(--tw-bg-opacity));
127
+ }
128
+ .fill-label-amaranth-04 {
129
+ fill: rgb(var(--label-amaranth-04));
130
+ }
131
+ .fill-label-aqua-04 {
132
+ fill: rgb(var(--label-aqua-04));
133
+ }
134
+ .fill-label-blue-04 {
135
+ fill: rgb(var(--label-blue-04));
136
+ }
137
+ .fill-label-green-04 {
138
+ fill: rgb(var(--label-green-04));
139
+ }
140
+ .fill-label-lime-04 {
141
+ fill: rgb(var(--label-lime-04));
142
+ }
143
+ .fill-label-orange-04 {
144
+ fill: rgb(var(--label-orange-04));
145
+ }
146
+ .fill-label-orchid-04 {
147
+ fill: rgb(var(--label-orchid-04));
148
+ }
149
+ .fill-label-violet-04 {
150
+ fill: rgb(var(--label-violet-04));
151
+ }
152
+ .fill-label-yellow-04 {
153
+ fill: rgb(var(--label-yellow-04));
154
+ }
155
+ .fill-tone-neutral-04 {
156
+ fill: rgb(var(--tone-neutral-04));
157
+ }
158
+ .p-800 {
159
+ padding: 2rem;
160
+ }
161
+ .text-label-amaranth-04 {
162
+ --tw-text-opacity: 1;
163
+ color: rgb(var(--label-amaranth-04) / var(--tw-text-opacity));
164
+ }
165
+ .text-label-aqua-04 {
166
+ --tw-text-opacity: 1;
167
+ color: rgb(var(--label-aqua-04) / var(--tw-text-opacity));
168
+ }
169
+ .text-label-blue-04 {
170
+ --tw-text-opacity: 1;
171
+ color: rgb(var(--label-blue-04) / var(--tw-text-opacity));
172
+ }
173
+ .text-label-green-04 {
174
+ --tw-text-opacity: 1;
175
+ color: rgb(var(--label-green-04) / var(--tw-text-opacity));
176
+ }
177
+ .text-label-lime-04 {
178
+ --tw-text-opacity: 1;
179
+ color: rgb(var(--label-lime-04) / var(--tw-text-opacity));
180
+ }
181
+ .text-label-orange-04 {
182
+ --tw-text-opacity: 1;
183
+ color: rgb(var(--label-orange-04) / var(--tw-text-opacity));
184
+ }
185
+ .text-label-orchid-04 {
186
+ --tw-text-opacity: 1;
187
+ color: rgb(var(--label-orchid-04) / var(--tw-text-opacity));
188
+ }
189
+ .text-label-violet-04 {
190
+ --tw-text-opacity: 1;
191
+ color: rgb(var(--label-violet-04) / var(--tw-text-opacity));
192
+ }
193
+ .text-label-yellow-04 {
194
+ --tw-text-opacity: 1;
195
+ color: rgb(var(--label-yellow-04) / var(--tw-text-opacity));
78
196
  }
79
197
  .text-tone-neutral-02 {
80
198
  --tw-text-opacity: 1;
@@ -143,24 +261,28 @@
143
261
  pointer-events: auto;
144
262
  }
145
263
 
146
- .close {
264
+ .button-close {
147
265
  top: 0rem;
148
- height: 2.25rem;
149
- width: 2.25rem;
150
266
  border-radius: 9999px;
151
- font-size: 3rem;
152
267
  opacity: 0;
153
268
  transition-duration: 500ms;
154
269
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
155
270
 
156
- cursor: pointer;
157
- fill: inherit;
271
+ --mds-button-icon-color: rgb(var(--tone-neutral));
272
+ --mds-button-background: transparent;
273
+
274
+ height: auto;
158
275
  position: absolute;
159
276
  transform: translate(0, 24px) rotate(90deg);
160
277
  transform-origin: center;
161
278
  transition-property: opacity, outline, outline-offset, transform;
162
279
  }
163
280
 
281
+ .button-close::part(icon) {
282
+ height: 2.25rem;
283
+ width: 2.25rem;
284
+ }
285
+
164
286
  .window {
165
287
  height: 100%;
166
288
  gap: 0rem;
@@ -298,8 +420,8 @@
298
420
  transform: translateX(0);
299
421
  }
300
422
 
301
- :host( .to-left-opened ) .close,
302
- :host( .to-left-opened.to-left-outro ) .close {
423
+ :host( .to-left-opened ) .button-close,
424
+ :host( .to-left-opened.to-left-outro ) .button-close {
303
425
  opacity: 1;
304
426
 
305
427
  transform: translate(-24px, 24px) rotate(0);
@@ -310,11 +432,11 @@
310
432
  transform: translateX(calc(-100% - 50px));
311
433
  }
312
434
 
313
- :host( .to-left-outro ) .close {
435
+ :host( .to-left-outro ) .button-close {
314
436
  transform: translate(24px, 24px) rotate(-90deg);
315
437
  }
316
438
 
317
- :host( .to-left ) .close {
439
+ :host( .to-left ) .button-close {
318
440
  right: 0rem;
319
441
 
320
442
  transform: translate(36px, 24px) rotate(90deg);
@@ -347,8 +469,8 @@
347
469
  transform: translateX(0);
348
470
  }
349
471
 
350
- :host( .to-right-opened ) .close,
351
- :host( .to-right-opened.to-right-outro ) .close {
472
+ :host( .to-right-opened ) .button-close,
473
+ :host( .to-right-opened.to-right-outro ) .button-close {
352
474
  opacity: 1;
353
475
 
354
476
  transform: translate(24px, 24px) rotate(0);
@@ -359,11 +481,11 @@
359
481
  transform: translateX(calc(100% + 50px));
360
482
  }
361
483
 
362
- :host( .to-right-outro ) .close {
484
+ :host( .to-right-outro ) .button-close {
363
485
  transform: translate(-24px, 24px) rotate(90deg);
364
486
  }
365
487
 
366
- :host( .to-right ) .close {
488
+ :host( .to-right ) .button-close {
367
489
  left: 0rem;
368
490
 
369
491
  transform: translate(-36px, 24px) rotate(-90deg);
@@ -412,4 +534,10 @@
412
534
  transform: rotateX(-22deg) scale(0.5) translateY(-40%);
413
535
  }
414
536
 
537
+ @media (max-width: 767px) {
538
+ .mobile\:w-1200 {
539
+ width: 3rem;
540
+ }
541
+ }
542
+
415
543
 
@@ -91,7 +91,7 @@ export class MdsModal {
91
91
  ? h("slot", { name: "window" })
92
92
  : h("div", { class: clsx('window', (this.top || this.bottom) && `window-${this.top ? '-top' : ''}${this.bottom ? '-bottom' : ''}`), role: "dialog", part: "window" }, this.top &&
93
93
  h("slot", { name: "top" }), h("slot", null), this.bottom &&
94
- h("slot", { name: "bottom" })), !this.window && h("i", { innerHTML: miBaselineClose, tabindex: "0", onClick: (e) => { this.closeModal(e); }, class: "svg close focus-bounce-light" })));
94
+ h("slot", { name: "bottom" })), !this.window && h("mds-button", { icon: miBaselineClose, onClick: (e) => { this.closeModal(e); }, class: "button-close" })));
95
95
  }
96
96
  static get is() { return "mds-modal"; }
97
97
  static get encapsulation() { return "shadow"; }
@@ -11,32 +11,12 @@ describe('mds-modal', () => {
11
11
  expect(element).toHaveAttribute('position');
12
12
  expect(element.getAttribute('position')).toBe('right');
13
13
  expect(element).not.toHaveAttribute('opened');
14
- expect(element.shadowRoot).toEqualHtml(`
15
- <div class="window" part="window" role="dialog">
16
- <slot></slot>
17
- </div>
18
- <i class="close focus-bounce-light svg" tabindex="0">
19
- <svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
20
- <path d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"></path>
21
- </svg>
22
- </i>
23
- `);
24
14
  });
25
15
  it('renders opened', async () => {
26
16
  const page = await newE2EPage();
27
17
  await page.setContent('<mds-modal opened="true"></mds-modal>');
28
18
  const element = await page.find('mds-modal');
29
- expect(element.getAttribute('opened')).not.toBe('false');
30
- expect(element.shadowRoot).toEqualHtml(`
31
- <div class="window" part="window" role="dialog">
32
- <slot></slot>
33
- </div>
34
- <i class="close focus-bounce-light svg" tabindex="0">
35
- <svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
36
- <path d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"></path>
37
- </svg>
38
- </i>
39
- `);
19
+ expect(element).toHaveAttribute('opened');
40
20
  });
41
21
  it('can be closed', async () => {
42
22
  const page = await newE2EPage();