@usecapsule/core-components 3.14.0 → 3.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. package/dist/capsule/capsule.esm.js +1 -1
  2. package/dist/capsule/capsule.esm.js.map +1 -1
  3. package/dist/capsule/index.esm.js +1 -1
  4. package/dist/capsule/index.esm.js.map +1 -1
  5. package/dist/capsule/{p-41bc3c58.entry.js → p-0a4c8cdc.entry.js} +2 -2
  6. package/dist/capsule/p-0a4c8cdc.entry.js.map +1 -0
  7. package/dist/capsule/{p-52bb30d8.entry.js → p-438442c7.entry.js} +2 -2
  8. package/dist/capsule/p-438442c7.entry.js.map +1 -0
  9. package/dist/capsule/{p-286db996.js → p-497acb43.js} +2 -2
  10. package/dist/capsule/{p-286db996.js.map → p-497acb43.js.map} +1 -1
  11. package/dist/capsule/p-982a7ebe.entry.js +28 -0
  12. package/dist/capsule/p-982a7ebe.entry.js.map +1 -0
  13. package/dist/capsule/{p-7dff759e.entry.js → p-d239d40d.entry.js} +2 -2
  14. package/dist/capsule/{p-7dff759e.entry.js.map → p-d239d40d.entry.js.map} +1 -1
  15. package/dist/capsule/p-f2393be6.js.map +1 -1
  16. package/dist/cjs/capsule.cjs.js +1 -1
  17. package/dist/cjs/constants-9b1b01bb.js.map +1 -1
  18. package/dist/cjs/cpsl-alert_34.cjs.entry.js +29 -23
  19. package/dist/cjs/cpsl-alert_34.cjs.entry.js.map +1 -1
  20. package/dist/cjs/cpsl-col.cjs.entry.js +1 -1
  21. package/dist/cjs/cpsl-col.cjs.entry.js.map +1 -1
  22. package/dist/cjs/cpsl-hero.cjs.entry.js +2 -2
  23. package/dist/cjs/cpsl-hero.cjs.entry.js.map +1 -1
  24. package/dist/cjs/cpsl-identicon.cjs.entry.js +2 -2
  25. package/dist/cjs/cpsl-identicon.cjs.entry.js.map +1 -1
  26. package/dist/cjs/index.cjs.js +1 -1
  27. package/dist/cjs/index.cjs.js.map +1 -1
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/cjs/{prand-a35ea6b2.js → prand-76d9999c.js} +3 -4
  30. package/dist/cjs/prand-76d9999c.js.map +1 -0
  31. package/dist/collection/assets/icons/capsule-black-bg.svg +5 -5
  32. package/dist/collection/components/cpsl-alert/cpsl-alert.js +2 -2
  33. package/dist/collection/components/cpsl-alert/cpsl-alert.js.map +1 -1
  34. package/dist/collection/components/cpsl-auth-modal/cpsl-auth-modal.js +1 -1
  35. package/dist/collection/components/cpsl-auth-modal/cpsl-auth-modal.js.map +1 -1
  36. package/dist/collection/components/cpsl-button/cpsl-button.stories.js.map +1 -1
  37. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js +3 -3
  38. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js.map +1 -1
  39. package/dist/collection/components/cpsl-col/cpsl-col.js +2 -2
  40. package/dist/collection/components/cpsl-col/cpsl-col.js.map +1 -1
  41. package/dist/collection/components/cpsl-drawer/cpsl-drawer.js +3 -3
  42. package/dist/collection/components/cpsl-drawer/cpsl-drawer.js.map +1 -1
  43. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js +5 -5
  44. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js.map +1 -1
  45. package/dist/collection/components/cpsl-dropdown/dropdown-interface.js.map +1 -1
  46. package/dist/collection/components/cpsl-hero/cpsl-hero.js +3 -3
  47. package/dist/collection/components/cpsl-hero/cpsl-hero.js.map +1 -1
  48. package/dist/collection/components/cpsl-hero/cpsl-hero.stories.js.map +1 -1
  49. package/dist/collection/components/cpsl-icon/cpsl-icon.js +3 -3
  50. package/dist/collection/components/cpsl-icon/cpsl-icon.js.map +1 -1
  51. package/dist/collection/components/cpsl-icon-group/cpsl-icon-group.js +3 -3
  52. package/dist/collection/components/cpsl-icon-group/cpsl-icon-group.js.map +1 -1
  53. package/dist/collection/components/cpsl-identicon/cpsl-identicon.js +3 -3
  54. package/dist/collection/components/cpsl-identicon/cpsl-identicon.js.map +1 -1
  55. package/dist/collection/components/cpsl-identicon/cpsl-identicon.stories.js.map +1 -1
  56. package/dist/collection/components/cpsl-input/cpsl-input.js +29 -6
  57. package/dist/collection/components/cpsl-input/cpsl-input.js.map +1 -1
  58. package/dist/collection/components/cpsl-popover/cpsl-popover.js +2 -2
  59. package/dist/collection/components/cpsl-popover/cpsl-popover.js.map +1 -1
  60. package/dist/collection/components/cpsl-progress-indicator/cpsl-progress-indicator.js.map +1 -1
  61. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js +3 -3
  62. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js.map +1 -1
  63. package/dist/collection/components/cpsl-select/cpsl-select.js +3 -3
  64. package/dist/collection/components/cpsl-select/cpsl-select.js.map +1 -1
  65. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js +3 -3
  66. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js.map +1 -1
  67. package/dist/collection/components/cpsl-tab/cpsl-tab.js +3 -3
  68. package/dist/collection/components/cpsl-tab/cpsl-tab.js.map +1 -1
  69. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js +3 -3
  70. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js.map +1 -1
  71. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js +2 -2
  72. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js.map +1 -1
  73. package/dist/collection/constants.js.map +1 -1
  74. package/dist/collection/index.js +4 -3
  75. package/dist/collection/index.js.map +1 -1
  76. package/dist/collection/interface.js.map +1 -1
  77. package/dist/collection/utils/prand.js +1 -1
  78. package/dist/collection/utils/prand.js.map +1 -1
  79. package/dist/collection/utils/theme/generateBorderRadii.js +1 -1
  80. package/dist/collection/utils/theme/generateBorderRadii.js.map +1 -1
  81. package/dist/collection/utils/theme/generateFont.js.map +1 -1
  82. package/dist/collection/utils/theme/generatePalette.js +2 -2
  83. package/dist/collection/utils/theme/generatePalette.js.map +1 -1
  84. package/dist/collection/utils/theme/generateTheme.js +4 -4
  85. package/dist/collection/utils/theme/generateTheme.js.map +1 -1
  86. package/dist/collection/utils/theme/utils.js.map +1 -1
  87. package/dist/esm/capsule.js +1 -1
  88. package/dist/esm/constants-fce138fa.js.map +1 -1
  89. package/dist/esm/cpsl-alert_34.entry.js +29 -23
  90. package/dist/esm/cpsl-alert_34.entry.js.map +1 -1
  91. package/dist/esm/cpsl-col.entry.js +1 -1
  92. package/dist/esm/cpsl-col.entry.js.map +1 -1
  93. package/dist/esm/cpsl-hero.entry.js +2 -2
  94. package/dist/esm/cpsl-hero.entry.js.map +1 -1
  95. package/dist/esm/cpsl-identicon.entry.js +2 -2
  96. package/dist/esm/cpsl-identicon.entry.js.map +1 -1
  97. package/dist/esm/index.js +1 -1
  98. package/dist/esm/index.js.map +1 -1
  99. package/dist/esm/loader.js +1 -1
  100. package/dist/esm/{prand-c8323494.js → prand-4c0d6ea7.js} +3 -4
  101. package/dist/esm/prand-4c0d6ea7.js.map +1 -0
  102. package/dist/index.js +2 -1
  103. package/dist/loader/package.json +3 -7
  104. package/dist/scripts/appendLoaderExports.js +52 -0
  105. package/dist/scripts/appendLoaderExports.js.map +1 -0
  106. package/dist/types/Users/norwood/capsule-repos/web-sdk/packages/core-components/.stencil/scripts/appendLoaderExports.d.ts +0 -0
  107. package/dist/types/components/cpsl-alert/cpsl-alert.d.ts +1 -1
  108. package/dist/types/components/cpsl-button/cpsl-button.stories.d.ts +1 -1
  109. package/dist/types/components/cpsl-code-input/cpsl-code-input.d.ts +1 -1
  110. package/dist/types/components/cpsl-dropdown/cpsl-dropdown.d.ts +1 -1
  111. package/dist/types/components/cpsl-dropdown/dropdown-interface.d.ts +1 -1
  112. package/dist/types/components/cpsl-hero/cpsl-hero.stories.d.ts +1 -1
  113. package/dist/types/components/cpsl-icon/cpsl-icon.d.ts +1 -1
  114. package/dist/types/components/cpsl-icon-group/cpsl-icon-group.d.ts +1 -1
  115. package/dist/types/components/cpsl-identicon/cpsl-identicon.stories.d.ts +1 -1
  116. package/dist/types/components/cpsl-input/cpsl-input.d.ts +6 -2
  117. package/dist/types/components/cpsl-qr-code/cpsl-qr-code.d.ts +1 -1
  118. package/dist/types/components/cpsl-select/cpsl-select.d.ts +1 -1
  119. package/dist/types/components/cpsl-slide-button/cpsl-slide-button.d.ts +1 -1
  120. package/dist/types/components/cpsl-tab/cpsl-tab.d.ts +2 -2
  121. package/dist/types/components/cpsl-tabs/cpsl-tabs.d.ts +2 -2
  122. package/dist/types/components/cpsl-tile-button/cpsl-tile-button.d.ts +1 -1
  123. package/dist/types/components.d.ts +20 -12
  124. package/dist/types/constants.d.ts +1 -1
  125. package/dist/types/index.d.ts +6 -4
  126. package/dist/types/interface.d.ts +2 -2
  127. package/dist/types/utils/theme/generateBorderRadii.d.ts +1 -1
  128. package/dist/types/utils/theme/generateFont.d.ts +1 -1
  129. package/dist/types/utils/theme/generatePalette.d.ts +1 -1
  130. package/dist/types/utils/theme/generateTheme.d.ts +1 -1
  131. package/dist/types/utils/theme/utils.d.ts +1 -1
  132. package/package.json +15 -7
  133. package/dist/capsule/p-07d8431a.entry.js +0 -28
  134. package/dist/capsule/p-07d8431a.entry.js.map +0 -1
  135. package/dist/capsule/p-41bc3c58.entry.js.map +0 -1
  136. package/dist/capsule/p-52bb30d8.entry.js.map +0 -1
  137. package/dist/cjs/prand-a35ea6b2.js.map +0 -1
  138. package/dist/esm/prand-c8323494.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Prando","constructor","seed","this","_value","NaN","_seed","hashCode","getSafeSeed","MIN","Math","floor","MAX","random","reset","next","min","pseudoMax","recalculate","map","nextInt","max","nextString","length","chars","str","nextChar","substr","nextArrayItem","array","nextBoolean","skip","iterations","xorshift","value","val","minFrom","maxFrom","minTo","maxTo","hash","l","i","charCodeAt","COLORS","GRADIENTS","red","orange","yellow","green","blue","purple","getPseudoRandomBackground","rng","start","stop"],"sources":["src/lib/prando.ts","src/utils/prand.ts"],"sourcesContent":["/*\n * This file contains code from prando, which is licensed under the MIT License:\n *\n * Copyright (c) 2016 Zeh Fernando\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nexport default class Prando {\n private static readonly MIN: number = -2147483648; // Int32 min\n private static readonly MAX: number = 2147483647; // Int32 max\n\n private _seed: number;\n private _value = NaN;\n\n // ================================================================================================================\n // CONSTRUCTOR ----------------------------------------------------------------------------------------------------\n\n /**\n * Generate a new Prando pseudo-random number generator.\n *\n * @param seed - A number or string seed that determines which pseudo-random number sequence will be created. Defaults to a random seed based on `Math.random()`.\n */\n constructor(seed?: number | string) {\n if (typeof seed === 'string') {\n // String seed\n this._seed = this.hashCode(seed);\n } else if (typeof seed === 'number') {\n // Numeric seed\n this._seed = this.getSafeSeed(seed);\n } else {\n // Pseudo-random seed\n this._seed = this.getSafeSeed(Prando.MIN + Math.floor((Prando.MAX - Prando.MIN) * Math.random()));\n }\n this.reset();\n }\n\n // ================================================================================================================\n // PUBLIC INTERFACE -----------------------------------------------------------------------------------------------\n\n /**\n * Generates a pseudo-random number between a lower (inclusive) and a higher (exclusive) bounds.\n *\n * @param min - The minimum number that can be randomly generated.\n * @param pseudoMax - The maximum number that can be randomly generated (exclusive).\n * @return The generated pseudo-random number.\n */\n public next(min = 0, pseudoMax = 1): number {\n this.recalculate();\n return this.map(this._value, Prando.MIN, Prando.MAX, min, pseudoMax);\n }\n\n /**\n * Generates a pseudo-random integer number in a range (inclusive).\n *\n * @param min - The minimum number that can be randomly generated.\n * @param max - The maximum number that can be randomly generated.\n * @return The generated pseudo-random number.\n */\n public nextInt(min = 10, max = 100): number {\n this.recalculate();\n return Math.floor(this.map(this._value, Prando.MIN, Prando.MAX, min, max + 1));\n }\n\n /**\n * Generates a pseudo-random string sequence of a particular length from a specific character range.\n *\n * Note: keep in mind that creating a random string sequence does not guarantee uniqueness; there is always a\n * 1 in (char_length^string_length) chance of collision. For real unique string ids, always check for\n * pre-existing ids, or employ a robust GUID/UUID generator.\n *\n * @param length - Length of the string to be generated.\n * @param chars - Characters that are used when creating the random string. Defaults to all alphanumeric chars (A-Z, a-z, 0-9).\n * @return The generated string sequence.\n */\n public nextString(length = 16, chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'): string {\n let str = '';\n while (str.length < length) {\n str += this.nextChar(chars);\n }\n return str;\n }\n\n /**\n * Generates a pseudo-random string of 1 character specific character range.\n *\n * @param chars - Characters that are used when creating the random string. Defaults to all alphanumeric chars (A-Z, a-z, 0-9).\n * @return The generated character.\n */\n public nextChar(chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'): string {\n return chars.substr(this.nextInt(0, chars.length - 1), 1);\n }\n\n /**\n * Picks a pseudo-random item from an array. The array is left unmodified.\n *\n * Note: keep in mind that while the returned item will be random enough, picking one item from the array at a time\n * does not guarantee nor imply that a sequence of random non-repeating items will be picked. If you want to\n * *pick items in a random order* from an array, instead of *pick one random item from an array*, it's best to\n * apply a *shuffle* transformation to the array instead, then read it linearly.\n *\n * @param array - Array of any type containing one or more candidates for random picking.\n * @return An item from the array.\n */\n public nextArrayItem<T>(array: T[]): T {\n return array[this.nextInt(0, array.length - 1)];\n }\n\n /**\n * Generates a pseudo-random boolean.\n *\n * @return A value of true or false.\n */\n public nextBoolean(): boolean {\n this.recalculate();\n return this._value > 0.5;\n }\n\n /**\n * Skips ahead in the sequence of numbers that are being generated. This is equivalent to\n * calling next() a specified number of times, but faster since it doesn't need to map the\n * new random numbers to a range and return it.\n *\n * @param iterations - The number of items to skip ahead.\n */\n public skip(iterations = 1): void {\n while (iterations-- > 0) {\n this.recalculate();\n }\n }\n\n /**\n * Reset the pseudo-random number sequence back to its starting seed. Further calls to next()\n * will then produce the same sequence of numbers it had produced before. This is equivalent to\n * creating a new Prando instance with the same seed as another Prando instance.\n *\n * Example:\n * let rng = new Prando(12345678);\n * console.log(rng.next()); // 0.6177754114889017\n * console.log(rng.next()); // 0.5784605181725837\n * rng.reset();\n * console.log(rng.next()); // 0.6177754114889017 again\n * console.log(rng.next()); // 0.5784605181725837 again\n */\n public reset(): void {\n this._value = this._seed;\n }\n\n // ================================================================================================================\n // PRIVATE INTERFACE ----------------------------------------------------------------------------------------------\n\n private recalculate(): void {\n this._value = this.xorshift(this._value);\n }\n\n private xorshift(value: number): number {\n // Xorshift*32\n // Based on George Marsaglia's work: http://www.jstatsoft.org/v08/i14/paper\n value ^= value << 13;\n value ^= value >> 17;\n value ^= value << 5;\n return value;\n }\n\n private map(val: number, minFrom: number, maxFrom: number, minTo: number, maxTo: number): number {\n return ((val - minFrom) / (maxFrom - minFrom)) * (maxTo - minTo) + minTo;\n }\n\n private hashCode(str: string): number {\n let hash = 0;\n if (str) {\n const l = str.length;\n for (let i = 0; i < l; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash |= 0;\n hash = this.xorshift(hash);\n }\n }\n return this.getSafeSeed(hash);\n }\n\n private getSafeSeed(seed: number): number {\n if (seed === 0) return 1;\n return seed;\n }\n}\n","import Prando from '../lib/prando';\n\nexport type Color = 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple';\n\nexport const COLORS: Color[] = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'];\n\nconst GRADIENTS = {\n red: ['#FF4270', '#FF7C7C'],\n orange: ['#F45532', '#FF9B63'],\n yellow: ['#FFA756', '#FBFF47'],\n green: ['#0CAE60', '#7BFFD0'],\n blue: ['#476FFF', '#47C8FF'],\n purple: ['#9747FF', '#DA47FF'],\n};\n\nexport function getPseudoRandomBackground(seed: string): string {\n const rng = new Prando(seed);\n\n const [start, stop] = GRADIENTS[COLORS[rng.nextInt(0, COLORS.length - 1)]];\n\n return `linear-gradient(136deg, ${start} 6.86%, ${stop} 93.78%)`;\n}\n"],"mappings":"AAwBA,MAAqBA,EAenB,WAAAC,CAAYC,GAVJC,KAAAC,OAASC,IAWf,UAAWH,IAAS,SAAU,CAE5BC,KAAKG,MAAQH,KAAKI,SAASL,E,MACtB,UAAWA,IAAS,SAAU,CAEnCC,KAAKG,MAAQH,KAAKK,YAAYN,E,KACzB,CAELC,KAAKG,MAAQH,KAAKK,YAAYR,EAAOS,IAAMC,KAAKC,OAAOX,EAAOY,IAAMZ,EAAOS,KAAOC,KAAKG,U,CAEzFV,KAAKW,O,CAaA,IAAAC,CAAKC,EAAM,EAAGC,EAAY,GAC/Bd,KAAKe,cACL,OAAOf,KAAKgB,IAAIhB,KAAKC,OAAQJ,EAAOS,IAAKT,EAAOY,IAAKI,EAAKC,E,CAUrD,OAAAG,CAAQJ,EAAM,GAAIK,EAAM,KAC7BlB,KAAKe,cACL,OAAOR,KAAKC,MAAMR,KAAKgB,IAAIhB,KAAKC,OAAQJ,EAAOS,IAAKT,EAAOY,IAAKI,EAAKK,EAAM,G,CActE,UAAAC,CAAWC,EAAS,GAAIC,EAAQ,kEACrC,IAAIC,EAAM,GACV,MAAOA,EAAIF,OAASA,EAAQ,CAC1BE,GAAOtB,KAAKuB,SAASF,E,CAEvB,OAAOC,C,CASF,QAAAC,CAASF,EAAQ,kEACtB,OAAOA,EAAMG,OAAOxB,KAAKiB,QAAQ,EAAGI,EAAMD,OAAS,GAAI,E,CAclD,aAAAK,CAAiBC,GACtB,OAAOA,EAAM1B,KAAKiB,QAAQ,EAAGS,EAAMN,OAAS,G,CAQvC,WAAAO,GACL3B,KAAKe,cACL,OAAOf,KAAKC,OAAS,E,CAUhB,IAAA2B,CAAKC,EAAa,GACvB,MAAOA,KAAe,EAAG,CACvB7B,KAAKe,a,EAiBF,KAAAJ,GACLX,KAAKC,OAASD,KAAKG,K,CAMb,WAAAY,GACNf,KAAKC,OAASD,KAAK8B,SAAS9B,KAAKC,O,CAG3B,QAAA6B,CAASC,GAGfA,GAASA,GAAS,GAClBA,GAASA,GAAS,GAClBA,GAASA,GAAS,EAClB,OAAOA,C,CAGD,GAAAf,CAAIgB,EAAaC,EAAiBC,EAAiBC,EAAeC,GACxE,OAASJ,EAAMC,IAAYC,EAAUD,IAAaG,EAAQD,GAASA,C,CAG7D,QAAA/B,CAASkB,GACf,IAAIe,EAAO,EACX,GAAIf,EAAK,CACP,MAAMgB,EAAIhB,EAAIF,OACd,IAAK,IAAImB,EAAI,EAAGA,EAAID,EAAGC,IAAK,CAC1BF,GAAQA,GAAQ,GAAKA,EAAOf,EAAIkB,WAAWD,GAC3CF,GAAQ,EACRA,EAAOrC,KAAK8B,SAASO,E,EAGzB,OAAOrC,KAAKK,YAAYgC,E,CAGlB,WAAAhC,CAAYN,GAClB,GAAIA,IAAS,EAAG,OAAO,EACvB,OAAOA,C,EA9KeF,EAAAS,KAAe,WACfT,EAAAY,IAAc,W,QAFnBZ,E,MCpBR4C,EAAkB,CAAC,MAAO,SAAU,SAAU,QAAS,OAAQ,UAE5E,MAAMC,EAAY,CAChBC,IAAK,CAAC,UAAW,WACjBC,OAAQ,CAAC,UAAW,WACpBC,OAAQ,CAAC,UAAW,WACpBC,MAAO,CAAC,UAAW,WACnBC,KAAM,CAAC,UAAW,WAClBC,OAAQ,CAAC,UAAW,Y,SAGNC,EAA0BlD,GACxC,MAAMmD,EAAM,IAAIrD,EAAOE,GAEvB,MAAOoD,EAAOC,GAAQV,EAAUD,EAAOS,EAAIjC,QAAQ,EAAGwB,EAAOrB,OAAS,KAEtE,MAAO,2BAA2B+B,YAAgBC,WACpD,Q","ignoreList":[]}
1
+ {"version":3,"names":["Prando","constructor","seed","this","_value","NaN","_seed","hashCode","getSafeSeed","MIN","Math","floor","MAX","random","reset","next","min","pseudoMax","recalculate","map","nextInt","max","nextString","length","chars","str","nextChar","substr","nextArrayItem","array","nextBoolean","skip","iterations","xorshift","value","val","minFrom","maxFrom","minTo","maxTo","hash","l","i","charCodeAt","COLORS","GRADIENTS","red","orange","yellow","green","blue","purple","getPseudoRandomBackground","rng","start","stop"],"sources":["src/lib/prando.ts","src/utils/prand.ts"],"sourcesContent":["/*\n * This file contains code from prando, which is licensed under the MIT License:\n *\n * Copyright (c) 2016 Zeh Fernando\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nexport default class Prando {\n private static readonly MIN: number = -2147483648; // Int32 min\n private static readonly MAX: number = 2147483647; // Int32 max\n\n private _seed: number;\n private _value = NaN;\n\n // ================================================================================================================\n // CONSTRUCTOR ----------------------------------------------------------------------------------------------------\n\n /**\n * Generate a new Prando pseudo-random number generator.\n *\n * @param seed - A number or string seed that determines which pseudo-random number sequence will be created. Defaults to a random seed based on `Math.random()`.\n */\n constructor(seed?: number | string) {\n if (typeof seed === 'string') {\n // String seed\n this._seed = this.hashCode(seed);\n } else if (typeof seed === 'number') {\n // Numeric seed\n this._seed = this.getSafeSeed(seed);\n } else {\n // Pseudo-random seed\n this._seed = this.getSafeSeed(Prando.MIN + Math.floor((Prando.MAX - Prando.MIN) * Math.random()));\n }\n this.reset();\n }\n\n // ================================================================================================================\n // PUBLIC INTERFACE -----------------------------------------------------------------------------------------------\n\n /**\n * Generates a pseudo-random number between a lower (inclusive) and a higher (exclusive) bounds.\n *\n * @param min - The minimum number that can be randomly generated.\n * @param pseudoMax - The maximum number that can be randomly generated (exclusive).\n * @return The generated pseudo-random number.\n */\n public next(min = 0, pseudoMax = 1): number {\n this.recalculate();\n return this.map(this._value, Prando.MIN, Prando.MAX, min, pseudoMax);\n }\n\n /**\n * Generates a pseudo-random integer number in a range (inclusive).\n *\n * @param min - The minimum number that can be randomly generated.\n * @param max - The maximum number that can be randomly generated.\n * @return The generated pseudo-random number.\n */\n public nextInt(min = 10, max = 100): number {\n this.recalculate();\n return Math.floor(this.map(this._value, Prando.MIN, Prando.MAX, min, max + 1));\n }\n\n /**\n * Generates a pseudo-random string sequence of a particular length from a specific character range.\n *\n * Note: keep in mind that creating a random string sequence does not guarantee uniqueness; there is always a\n * 1 in (char_length^string_length) chance of collision. For real unique string ids, always check for\n * pre-existing ids, or employ a robust GUID/UUID generator.\n *\n * @param length - Length of the string to be generated.\n * @param chars - Characters that are used when creating the random string. Defaults to all alphanumeric chars (A-Z, a-z, 0-9).\n * @return The generated string sequence.\n */\n public nextString(length = 16, chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'): string {\n let str = '';\n while (str.length < length) {\n str += this.nextChar(chars);\n }\n return str;\n }\n\n /**\n * Generates a pseudo-random string of 1 character specific character range.\n *\n * @param chars - Characters that are used when creating the random string. Defaults to all alphanumeric chars (A-Z, a-z, 0-9).\n * @return The generated character.\n */\n public nextChar(chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'): string {\n return chars.substr(this.nextInt(0, chars.length - 1), 1);\n }\n\n /**\n * Picks a pseudo-random item from an array. The array is left unmodified.\n *\n * Note: keep in mind that while the returned item will be random enough, picking one item from the array at a time\n * does not guarantee nor imply that a sequence of random non-repeating items will be picked. If you want to\n * *pick items in a random order* from an array, instead of *pick one random item from an array*, it's best to\n * apply a *shuffle* transformation to the array instead, then read it linearly.\n *\n * @param array - Array of any type containing one or more candidates for random picking.\n * @return An item from the array.\n */\n public nextArrayItem<T>(array: T[]): T {\n return array[this.nextInt(0, array.length - 1)];\n }\n\n /**\n * Generates a pseudo-random boolean.\n *\n * @return A value of true or false.\n */\n public nextBoolean(): boolean {\n this.recalculate();\n return this._value > 0.5;\n }\n\n /**\n * Skips ahead in the sequence of numbers that are being generated. This is equivalent to\n * calling next() a specified number of times, but faster since it doesn't need to map the\n * new random numbers to a range and return it.\n *\n * @param iterations - The number of items to skip ahead.\n */\n public skip(iterations = 1): void {\n while (iterations-- > 0) {\n this.recalculate();\n }\n }\n\n /**\n * Reset the pseudo-random number sequence back to its starting seed. Further calls to next()\n * will then produce the same sequence of numbers it had produced before. This is equivalent to\n * creating a new Prando instance with the same seed as another Prando instance.\n *\n * Example:\n * let rng = new Prando(12345678);\n * console.log(rng.next()); // 0.6177754114889017\n * console.log(rng.next()); // 0.5784605181725837\n * rng.reset();\n * console.log(rng.next()); // 0.6177754114889017 again\n * console.log(rng.next()); // 0.5784605181725837 again\n */\n public reset(): void {\n this._value = this._seed;\n }\n\n // ================================================================================================================\n // PRIVATE INTERFACE ----------------------------------------------------------------------------------------------\n\n private recalculate(): void {\n this._value = this.xorshift(this._value);\n }\n\n private xorshift(value: number): number {\n // Xorshift*32\n // Based on George Marsaglia's work: http://www.jstatsoft.org/v08/i14/paper\n value ^= value << 13;\n value ^= value >> 17;\n value ^= value << 5;\n return value;\n }\n\n private map(val: number, minFrom: number, maxFrom: number, minTo: number, maxTo: number): number {\n return ((val - minFrom) / (maxFrom - minFrom)) * (maxTo - minTo) + minTo;\n }\n\n private hashCode(str: string): number {\n let hash = 0;\n if (str) {\n const l = str.length;\n for (let i = 0; i < l; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash |= 0;\n hash = this.xorshift(hash);\n }\n }\n return this.getSafeSeed(hash);\n }\n\n private getSafeSeed(seed: number): number {\n if (seed === 0) return 1;\n return seed;\n }\n}\n","import Prando from '../lib/prando.js';\n\nexport type Color = 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple';\n\nexport const COLORS: Color[] = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'];\n\nconst GRADIENTS = {\n red: ['#FF4270', '#FF7C7C'],\n orange: ['#F45532', '#FF9B63'],\n yellow: ['#FFA756', '#FBFF47'],\n green: ['#0CAE60', '#7BFFD0'],\n blue: ['#476FFF', '#47C8FF'],\n purple: ['#9747FF', '#DA47FF'],\n};\n\nexport function getPseudoRandomBackground(seed: string): string {\n const rng = new Prando(seed);\n\n const [start, stop] = GRADIENTS[COLORS[rng.nextInt(0, COLORS.length - 1)]];\n\n return `linear-gradient(136deg, ${start} 6.86%, ${stop} 93.78%)`;\n}\n"],"mappings":"AAwBA,MAAqBA,EAenB,WAAAC,CAAYC,GAVJC,KAAAC,OAASC,IAWf,UAAWH,IAAS,SAAU,CAE5BC,KAAKG,MAAQH,KAAKI,SAASL,E,MACtB,UAAWA,IAAS,SAAU,CAEnCC,KAAKG,MAAQH,KAAKK,YAAYN,E,KACzB,CAELC,KAAKG,MAAQH,KAAKK,YAAYR,EAAOS,IAAMC,KAAKC,OAAOX,EAAOY,IAAMZ,EAAOS,KAAOC,KAAKG,U,CAEzFV,KAAKW,O,CAaA,IAAAC,CAAKC,EAAM,EAAGC,EAAY,GAC/Bd,KAAKe,cACL,OAAOf,KAAKgB,IAAIhB,KAAKC,OAAQJ,EAAOS,IAAKT,EAAOY,IAAKI,EAAKC,E,CAUrD,OAAAG,CAAQJ,EAAM,GAAIK,EAAM,KAC7BlB,KAAKe,cACL,OAAOR,KAAKC,MAAMR,KAAKgB,IAAIhB,KAAKC,OAAQJ,EAAOS,IAAKT,EAAOY,IAAKI,EAAKK,EAAM,G,CActE,UAAAC,CAAWC,EAAS,GAAIC,EAAQ,kEACrC,IAAIC,EAAM,GACV,MAAOA,EAAIF,OAASA,EAAQ,CAC1BE,GAAOtB,KAAKuB,SAASF,E,CAEvB,OAAOC,C,CASF,QAAAC,CAASF,EAAQ,kEACtB,OAAOA,EAAMG,OAAOxB,KAAKiB,QAAQ,EAAGI,EAAMD,OAAS,GAAI,E,CAclD,aAAAK,CAAiBC,GACtB,OAAOA,EAAM1B,KAAKiB,QAAQ,EAAGS,EAAMN,OAAS,G,CAQvC,WAAAO,GACL3B,KAAKe,cACL,OAAOf,KAAKC,OAAS,E,CAUhB,IAAA2B,CAAKC,EAAa,GACvB,MAAOA,KAAe,EAAG,CACvB7B,KAAKe,a,EAiBF,KAAAJ,GACLX,KAAKC,OAASD,KAAKG,K,CAMb,WAAAY,GACNf,KAAKC,OAASD,KAAK8B,SAAS9B,KAAKC,O,CAG3B,QAAA6B,CAASC,GAGfA,GAASA,GAAS,GAClBA,GAASA,GAAS,GAClBA,GAASA,GAAS,EAClB,OAAOA,C,CAGD,GAAAf,CAAIgB,EAAaC,EAAiBC,EAAiBC,EAAeC,GACxE,OAASJ,EAAMC,IAAYC,EAAUD,IAAaG,EAAQD,GAASA,C,CAG7D,QAAA/B,CAASkB,GACf,IAAIe,EAAO,EACX,GAAIf,EAAK,CACP,MAAMgB,EAAIhB,EAAIF,OACd,IAAK,IAAImB,EAAI,EAAGA,EAAID,EAAGC,IAAK,CAC1BF,GAAQA,GAAQ,GAAKA,EAAOf,EAAIkB,WAAWD,GAC3CF,GAAQ,EACRA,EAAOrC,KAAK8B,SAASO,E,EAGzB,OAAOrC,KAAKK,YAAYgC,E,CAGlB,WAAAhC,CAAYN,GAClB,GAAIA,IAAS,EAAG,OAAO,EACvB,OAAOA,C,EA9KeF,EAAAS,KAAe,WACfT,EAAAY,IAAc,W,MCtB3BgC,EAAkB,CAAC,MAAO,SAAU,SAAU,QAAS,OAAQ,UAE5E,MAAMC,EAAY,CAChBC,IAAK,CAAC,UAAW,WACjBC,OAAQ,CAAC,UAAW,WACpBC,OAAQ,CAAC,UAAW,WACpBC,MAAO,CAAC,UAAW,WACnBC,KAAM,CAAC,UAAW,WAClBC,OAAQ,CAAC,UAAW,Y,SAGNC,EAA0BlD,GACxC,MAAMmD,EAAM,IAAIrD,EAAOE,GAEvB,MAAOoD,EAAOC,GAAQV,EAAUD,EAAOS,EAAIjC,QAAQ,EAAGwB,EAAOrB,OAAS,KAEtE,MAAO,2BAA2B+B,YAAgBC,WACpD,Q","ignoreList":[]}