@castlabs/ui 8.2.0 → 8.4.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 (218) hide show
  1. package/dist/NotDef.86cde725.ttf +0 -0
  2. package/dist/assets/NotoSansCL/noto-sans-arabic-300.woff2 +0 -0
  3. package/dist/assets/NotoSansCL/noto-sans-arabic-400.woff2 +0 -0
  4. package/dist/assets/NotoSansCL/noto-sans-arabic-500.woff2 +0 -0
  5. package/dist/assets/NotoSansCL/noto-sans-arabic-700.woff2 +0 -0
  6. package/dist/assets/NotoSansCL/noto-sans-armenian-300.woff2 +0 -0
  7. package/dist/assets/NotoSansCL/noto-sans-armenian-400.woff2 +0 -0
  8. package/dist/assets/NotoSansCL/noto-sans-armenian-500.woff2 +0 -0
  9. package/dist/assets/NotoSansCL/noto-sans-armenian-700.woff2 +0 -0
  10. package/dist/assets/NotoSansCL/noto-sans-bengali-300.woff2 +0 -0
  11. package/dist/assets/NotoSansCL/noto-sans-bengali-400.woff2 +0 -0
  12. package/dist/assets/NotoSansCL/noto-sans-bengali-500.woff2 +0 -0
  13. package/dist/assets/NotoSansCL/noto-sans-bengali-700.woff2 +0 -0
  14. package/dist/assets/NotoSansCL/noto-sans-core-400.woff2 +0 -0
  15. package/dist/assets/NotoSansCL/noto-sans-core-700.woff2 +0 -0
  16. package/dist/assets/NotoSansCL/noto-sans-devanagari-300.woff2 +0 -0
  17. package/dist/assets/NotoSansCL/noto-sans-devanagari-400.woff2 +0 -0
  18. package/dist/assets/NotoSansCL/noto-sans-devanagari-500.woff2 +0 -0
  19. package/dist/assets/NotoSansCL/noto-sans-devanagari-700.woff2 +0 -0
  20. package/dist/assets/NotoSansCL/noto-sans-ethiopic-300.woff2 +0 -0
  21. package/dist/assets/NotoSansCL/noto-sans-ethiopic-400.woff2 +0 -0
  22. package/dist/assets/NotoSansCL/noto-sans-ethiopic-500.woff2 +0 -0
  23. package/dist/assets/NotoSansCL/noto-sans-ethiopic-700.woff2 +0 -0
  24. package/dist/assets/NotoSansCL/noto-sans-georgian-300.woff2 +0 -0
  25. package/dist/assets/NotoSansCL/noto-sans-georgian-400.woff2 +0 -0
  26. package/dist/assets/NotoSansCL/noto-sans-georgian-500.woff2 +0 -0
  27. package/dist/assets/NotoSansCL/noto-sans-georgian-700.woff2 +0 -0
  28. package/dist/assets/NotoSansCL/noto-sans-hebrew-300.woff2 +0 -0
  29. package/dist/assets/NotoSansCL/noto-sans-hebrew-400.woff2 +0 -0
  30. package/dist/assets/NotoSansCL/noto-sans-hebrew-500.woff2 +0 -0
  31. package/dist/assets/NotoSansCL/noto-sans-hebrew-700.woff2 +0 -0
  32. package/dist/assets/NotoSansCL/noto-sans-kr-300.woff2 +0 -0
  33. package/dist/assets/NotoSansCL/noto-sans-kr-400.woff2 +0 -0
  34. package/dist/assets/NotoSansCL/noto-sans-kr-500.woff2 +0 -0
  35. package/dist/assets/NotoSansCL/noto-sans-kr-700.woff2 +0 -0
  36. package/dist/assets/NotoSansCL/noto-sans-mono-core-300.woff2 +0 -0
  37. package/dist/assets/NotoSansCL/noto-sans-mono-core-400.woff2 +0 -0
  38. package/dist/assets/NotoSansCL/noto-sans-mono-core-500.woff2 +0 -0
  39. package/dist/assets/NotoSansCL/noto-sans-myanmar-300.woff2 +0 -0
  40. package/dist/assets/NotoSansCL/noto-sans-myanmar-400.woff2 +0 -0
  41. package/dist/assets/NotoSansCL/noto-sans-myanmar-500.woff2 +0 -0
  42. package/dist/assets/NotoSansCL/noto-sans-myanmar-700.woff2 +0 -0
  43. package/dist/assets/NotoSansCL/noto-sans-sc-300.woff2 +0 -0
  44. package/dist/assets/NotoSansCL/noto-sans-sc-400.woff2 +0 -0
  45. package/dist/assets/NotoSansCL/noto-sans-sc-500.woff2 +0 -0
  46. package/dist/assets/NotoSansCL/noto-sans-sc-700.woff2 +0 -0
  47. package/dist/assets/NotoSansCL/noto-sans-symbols-300.woff2 +0 -0
  48. package/dist/assets/NotoSansCL/noto-sans-symbols-400.woff2 +0 -0
  49. package/dist/assets/NotoSansCL/noto-sans-symbols-500.woff2 +0 -0
  50. package/dist/assets/NotoSansCL/noto-sans-symbols-700.woff2 +0 -0
  51. package/dist/assets/NotoSansCL/noto-sans-symbols2-300.woff2 +0 -0
  52. package/dist/assets/NotoSansCL/noto-sans-symbols2-400.woff2 +0 -0
  53. package/dist/assets/NotoSansCL/noto-sans-symbols2-500.woff2 +0 -0
  54. package/dist/assets/NotoSansCL/noto-sans-symbols2-700.woff2 +0 -0
  55. package/dist/assets/NotoSansCL/noto-sans-tamil-300.woff2 +0 -0
  56. package/dist/assets/NotoSansCL/noto-sans-tamil-400.woff2 +0 -0
  57. package/dist/assets/NotoSansCL/noto-sans-tamil-500.woff2 +0 -0
  58. package/dist/assets/NotoSansCL/noto-sans-tamil-700.woff2 +0 -0
  59. package/dist/assets/NotoSansCL/noto-sans-telugu-300.woff2 +0 -0
  60. package/dist/assets/NotoSansCL/noto-sans-telugu-400.woff2 +0 -0
  61. package/dist/assets/NotoSansCL/noto-sans-telugu-500.woff2 +0 -0
  62. package/dist/assets/NotoSansCL/noto-sans-telugu-700.woff2 +0 -0
  63. package/dist/assets/NotoSansCL/noto-sans-thai-300.woff2 +0 -0
  64. package/dist/assets/NotoSansCL/noto-sans-thai-400.woff2 +0 -0
  65. package/dist/assets/NotoSansCL/noto-sans-thai-500.woff2 +0 -0
  66. package/dist/assets/NotoSansCL/noto-sans-thai-700.woff2 +0 -0
  67. package/dist/castlabs-ui-editor.common.js +22 -22
  68. package/dist/castlabs-ui-editor.common.js.map +1 -1
  69. package/dist/castlabs-ui-editor.css +1 -1
  70. package/dist/castlabs-ui-editor.umd.js +19 -19
  71. package/dist/castlabs-ui-editor.umd.js.map +1 -1
  72. package/dist/castlabs-ui.common.js +151 -3
  73. package/dist/castlabs-ui.common.js.map +1 -1
  74. package/dist/castlabs-ui.core.js +13 -5
  75. package/dist/castlabs-ui.css +1 -1
  76. package/dist/castlabs-ui.module.d.ts +1 -0
  77. package/dist/castlabs-ui.module.js +13 -5
  78. package/dist/castlabs-ui.umd.js +164 -4
  79. package/dist/castlabs-ui.umd.js.map +1 -1
  80. package/dist/fonts/noto-sans-arabic-300.2c6216bb.woff2 +0 -0
  81. package/dist/fonts/noto-sans-arabic-400.13d11de5.woff2 +0 -0
  82. package/dist/fonts/noto-sans-arabic-500.3f67bab7.woff2 +0 -0
  83. package/dist/fonts/noto-sans-arabic-700.140e3825.woff2 +0 -0
  84. package/dist/fonts/noto-sans-armenian-300.1e3480f5.woff2 +0 -0
  85. package/dist/fonts/noto-sans-armenian-400.da269e7b.woff2 +0 -0
  86. package/dist/fonts/noto-sans-armenian-500.59a1e25e.woff2 +0 -0
  87. package/dist/fonts/noto-sans-armenian-700.11cd1de0.woff2 +0 -0
  88. package/dist/fonts/noto-sans-bengali-300.56109820.woff2 +0 -0
  89. package/dist/fonts/noto-sans-bengali-400.b22dcbf2.woff2 +0 -0
  90. package/dist/fonts/noto-sans-bengali-500.30ca5089.woff2 +0 -0
  91. package/dist/fonts/noto-sans-bengali-700.5978a669.woff2 +0 -0
  92. package/dist/fonts/noto-sans-core-400.f8427ddd.woff2 +0 -0
  93. package/dist/fonts/noto-sans-core-700.7d873249.woff2 +0 -0
  94. package/dist/fonts/noto-sans-devanagari-300.3819d227.woff2 +0 -0
  95. package/dist/fonts/noto-sans-devanagari-400.14842f10.woff2 +0 -0
  96. package/dist/fonts/noto-sans-devanagari-500.d28b95cb.woff2 +0 -0
  97. package/dist/fonts/noto-sans-ethiopic-300.c343930c.woff2 +0 -0
  98. package/dist/fonts/noto-sans-ethiopic-400.752c3a00.woff2 +0 -0
  99. package/dist/fonts/noto-sans-ethiopic-500.1d4bce45.woff2 +0 -0
  100. package/dist/fonts/noto-sans-ethiopic-700.21a55d03.woff2 +0 -0
  101. package/dist/fonts/noto-sans-georgian-300.4d99cb47.woff2 +0 -0
  102. package/dist/fonts/noto-sans-georgian-400.b87d4734.woff2 +0 -0
  103. package/dist/fonts/noto-sans-georgian-500.c73e72bb.woff2 +0 -0
  104. package/dist/fonts/noto-sans-georgian-700.e1943f57.woff2 +0 -0
  105. package/dist/fonts/noto-sans-hebrew-300.d97a2547.woff2 +0 -0
  106. package/dist/fonts/noto-sans-hebrew-400.1c07c79d.woff2 +0 -0
  107. package/dist/fonts/noto-sans-hebrew-500.1a0e5897.woff2 +0 -0
  108. package/dist/fonts/noto-sans-hebrew-700.e3811eb7.woff2 +0 -0
  109. package/dist/fonts/noto-sans-kr-300.b7b7c4ee.woff2 +0 -0
  110. package/dist/fonts/noto-sans-kr-400.a68c9cff.woff2 +0 -0
  111. package/dist/fonts/noto-sans-kr-500.654e6d91.woff2 +0 -0
  112. package/dist/fonts/noto-sans-kr-700.ef9c3cd2.woff2 +0 -0
  113. package/dist/fonts/noto-sans-mono-core-300.96abde55.woff2 +0 -0
  114. package/dist/fonts/noto-sans-mono-core-400.919d7c6d.woff2 +0 -0
  115. package/dist/fonts/noto-sans-mono-core-500.6231b6d7.woff2 +0 -0
  116. package/dist/fonts/noto-sans-myanmar-300.045b535d.woff2 +0 -0
  117. package/dist/fonts/noto-sans-myanmar-400.70c75818.woff2 +0 -0
  118. package/dist/fonts/noto-sans-myanmar-500.fdcda261.woff2 +0 -0
  119. package/dist/fonts/noto-sans-myanmar-700.aeb8a6c3.woff2 +0 -0
  120. package/dist/fonts/noto-sans-sc-300.18af5eb7.woff2 +0 -0
  121. package/dist/fonts/noto-sans-sc-400.5aede3a4.woff2 +0 -0
  122. package/dist/fonts/noto-sans-sc-500.33fe2ae6.woff2 +0 -0
  123. package/dist/fonts/noto-sans-sc-700.e8533881.woff2 +0 -0
  124. package/dist/fonts/noto-sans-symbols-300.f893d0ae.woff2 +0 -0
  125. package/dist/fonts/noto-sans-symbols-400.4d383cea.woff2 +0 -0
  126. package/dist/fonts/noto-sans-symbols-500.f5724292.woff2 +0 -0
  127. package/dist/fonts/noto-sans-symbols-700.870a8002.woff2 +0 -0
  128. package/dist/fonts/noto-sans-symbols2-300.eeb47930.woff2 +0 -0
  129. package/dist/fonts/noto-sans-tamil-300.c092488b.woff2 +0 -0
  130. package/dist/fonts/noto-sans-tamil-400.45a68c23.woff2 +0 -0
  131. package/dist/fonts/noto-sans-tamil-500.fa5f690d.woff2 +0 -0
  132. package/dist/fonts/noto-sans-tamil-700.cd7b4854.woff2 +0 -0
  133. package/dist/fonts/noto-sans-telugu-300.86593899.woff2 +0 -0
  134. package/dist/fonts/noto-sans-telugu-400.cb069e5f.woff2 +0 -0
  135. package/dist/fonts/noto-sans-telugu-500.d3b8011a.woff2 +0 -0
  136. package/dist/fonts/noto-sans-telugu-700.f11bba74.woff2 +0 -0
  137. package/dist/fonts/noto-sans-thai-300.f20863a7.woff2 +0 -0
  138. package/dist/fonts/noto-sans-thai-400.f077f1b7.woff2 +0 -0
  139. package/dist/fonts/noto-sans-thai-500.2b774849.woff2 +0 -0
  140. package/dist/fonts/noto-sans-thai-700.c58c4b83.woff2 +0 -0
  141. package/dist/magic-string.es-3690a1eb.js +11 -0
  142. package/dist/magic-string.es-3690a1eb.js.map +1 -0
  143. package/package.json +17 -16
  144. package/src/components/form/ClFieldGroup/style.scss +4 -0
  145. package/src/components/text/ClValue/style.scss +12 -0
  146. package/src/styles/abstracts/responsive.scss +11 -7
  147. package/src/styles/abstracts/typography.scss +3 -1
  148. package/src/styles/fonts/NotDef/index.scss +55 -0
  149. package/src/styles/fonts/NotoSansCL/index.scss +152 -0
  150. package/src/styles/fonts/NotoSansCL/noto-sans-arabic-300.woff2 +0 -0
  151. package/src/styles/fonts/NotoSansCL/noto-sans-arabic-400.woff2 +0 -0
  152. package/src/styles/fonts/NotoSansCL/noto-sans-arabic-500.woff2 +0 -0
  153. package/src/styles/fonts/NotoSansCL/noto-sans-arabic-700.woff2 +0 -0
  154. package/src/styles/fonts/NotoSansCL/noto-sans-armenian-300.woff2 +0 -0
  155. package/src/styles/fonts/NotoSansCL/noto-sans-armenian-400.woff2 +0 -0
  156. package/src/styles/fonts/NotoSansCL/noto-sans-armenian-500.woff2 +0 -0
  157. package/src/styles/fonts/NotoSansCL/noto-sans-armenian-700.woff2 +0 -0
  158. package/src/styles/fonts/NotoSansCL/noto-sans-bengali-300.woff2 +0 -0
  159. package/src/styles/fonts/NotoSansCL/noto-sans-bengali-400.woff2 +0 -0
  160. package/src/styles/fonts/NotoSansCL/noto-sans-bengali-500.woff2 +0 -0
  161. package/src/styles/fonts/NotoSansCL/noto-sans-bengali-700.woff2 +0 -0
  162. package/src/styles/fonts/NotoSansCL/noto-sans-core-400.woff2 +0 -0
  163. package/src/styles/fonts/NotoSansCL/noto-sans-core-700.woff2 +0 -0
  164. package/src/styles/fonts/NotoSansCL/noto-sans-devanagari-300.woff2 +0 -0
  165. package/src/styles/fonts/NotoSansCL/noto-sans-devanagari-400.woff2 +0 -0
  166. package/src/styles/fonts/NotoSansCL/noto-sans-devanagari-500.woff2 +0 -0
  167. package/src/styles/fonts/NotoSansCL/noto-sans-devanagari-700.woff2 +0 -0
  168. package/src/styles/fonts/NotoSansCL/noto-sans-ethiopic-300.woff2 +0 -0
  169. package/src/styles/fonts/NotoSansCL/noto-sans-ethiopic-400.woff2 +0 -0
  170. package/src/styles/fonts/NotoSansCL/noto-sans-ethiopic-500.woff2 +0 -0
  171. package/src/styles/fonts/NotoSansCL/noto-sans-ethiopic-700.woff2 +0 -0
  172. package/src/styles/fonts/NotoSansCL/noto-sans-georgian-300.woff2 +0 -0
  173. package/src/styles/fonts/NotoSansCL/noto-sans-georgian-400.woff2 +0 -0
  174. package/src/styles/fonts/NotoSansCL/noto-sans-georgian-500.woff2 +0 -0
  175. package/src/styles/fonts/NotoSansCL/noto-sans-georgian-700.woff2 +0 -0
  176. package/src/styles/fonts/NotoSansCL/noto-sans-hebrew-300.woff2 +0 -0
  177. package/src/styles/fonts/NotoSansCL/noto-sans-hebrew-400.woff2 +0 -0
  178. package/src/styles/fonts/NotoSansCL/noto-sans-hebrew-500.woff2 +0 -0
  179. package/src/styles/fonts/NotoSansCL/noto-sans-hebrew-700.woff2 +0 -0
  180. package/src/styles/fonts/NotoSansCL/noto-sans-kr-300.woff2 +0 -0
  181. package/src/styles/fonts/NotoSansCL/noto-sans-kr-400.woff2 +0 -0
  182. package/src/styles/fonts/NotoSansCL/noto-sans-kr-500.woff2 +0 -0
  183. package/src/styles/fonts/NotoSansCL/noto-sans-kr-700.woff2 +0 -0
  184. package/src/styles/fonts/NotoSansCL/noto-sans-mono-core-300.woff2 +0 -0
  185. package/src/styles/fonts/NotoSansCL/noto-sans-mono-core-400.woff2 +0 -0
  186. package/src/styles/fonts/NotoSansCL/noto-sans-mono-core-500.woff2 +0 -0
  187. package/src/styles/fonts/NotoSansCL/noto-sans-myanmar-300.woff2 +0 -0
  188. package/src/styles/fonts/NotoSansCL/noto-sans-myanmar-400.woff2 +0 -0
  189. package/src/styles/fonts/NotoSansCL/noto-sans-myanmar-500.woff2 +0 -0
  190. package/src/styles/fonts/NotoSansCL/noto-sans-myanmar-700.woff2 +0 -0
  191. package/src/styles/fonts/NotoSansCL/noto-sans-sc-300.woff2 +0 -0
  192. package/src/styles/fonts/NotoSansCL/noto-sans-sc-400.woff2 +0 -0
  193. package/src/styles/fonts/NotoSansCL/noto-sans-sc-500.woff2 +0 -0
  194. package/src/styles/fonts/NotoSansCL/noto-sans-sc-700.woff2 +0 -0
  195. package/src/styles/fonts/NotoSansCL/noto-sans-symbols-300.woff2 +0 -0
  196. package/src/styles/fonts/NotoSansCL/noto-sans-symbols-400.woff2 +0 -0
  197. package/src/styles/fonts/NotoSansCL/noto-sans-symbols-500.woff2 +0 -0
  198. package/src/styles/fonts/NotoSansCL/noto-sans-symbols-700.woff2 +0 -0
  199. package/src/styles/fonts/NotoSansCL/noto-sans-symbols2-300.woff2 +0 -0
  200. package/src/styles/fonts/NotoSansCL/noto-sans-symbols2-400.woff2 +0 -0
  201. package/src/styles/fonts/NotoSansCL/noto-sans-symbols2-500.woff2 +0 -0
  202. package/src/styles/fonts/NotoSansCL/noto-sans-symbols2-700.woff2 +0 -0
  203. package/src/styles/fonts/NotoSansCL/noto-sans-tamil-300.woff2 +0 -0
  204. package/src/styles/fonts/NotoSansCL/noto-sans-tamil-400.woff2 +0 -0
  205. package/src/styles/fonts/NotoSansCL/noto-sans-tamil-500.woff2 +0 -0
  206. package/src/styles/fonts/NotoSansCL/noto-sans-tamil-700.woff2 +0 -0
  207. package/src/styles/fonts/NotoSansCL/noto-sans-telugu-300.woff2 +0 -0
  208. package/src/styles/fonts/NotoSansCL/noto-sans-telugu-400.woff2 +0 -0
  209. package/src/styles/fonts/NotoSansCL/noto-sans-telugu-500.woff2 +0 -0
  210. package/src/styles/fonts/NotoSansCL/noto-sans-telugu-700.woff2 +0 -0
  211. package/src/styles/fonts/NotoSansCL/noto-sans-thai-300.woff2 +0 -0
  212. package/src/styles/fonts/NotoSansCL/noto-sans-thai-400.woff2 +0 -0
  213. package/src/styles/fonts/NotoSansCL/noto-sans-thai-500.woff2 +0 -0
  214. package/src/styles/fonts/NotoSansCL/noto-sans-thai-700.woff2 +0 -0
  215. package/src/styles/layout/meta.scss +1 -1
  216. package/src/styles/layout/typography.scss +11 -0
  217. package/types/castlabs-ui.module.d.ts +1 -0
  218. package/types/index.d.ts +48 -6
@@ -0,0 +1,11 @@
1
+ var e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,t=new Uint8Array(64),n=new Uint8Array(128);for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t[r]=i,n[i]=r}function r(e,n){do{let r=n&31;n>>>=5,n>0&&(r|=32),e.write(t[r])}while(n>0)}function i(e){return e<0?-e<<1|1:e<<1}var a=16384,o=typeof TextDecoder<`u`?new TextDecoder:typeof Buffer<`u`?{decode(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}}:{decode(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},s=class{constructor(){this.pos=0,this.out=``,this.buffer=new Uint8Array(a)}write(e){let{buffer:t}=this;t[this.pos++]=e,this.pos===a&&(this.out+=o.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+o.decode(e.subarray(0,n)):t}};function c(e){let t=new s,n=0,a=0,o=0,c=0;for(let s=0;s<e.length;s++){let l=e[s];if(s>0&&t.write(59),l.length===0)continue;let u=0;for(let e=0;e<l.length;e++){let s=l[e];e>0&&t.write(44),r(t,i(s[0]-u)),u=s[0],s.length!==1&&(r(t,i(s[1]-n)),r(t,i(s[2]-a)),r(t,i(s[3]-o)),n=s[1],a=s[2],o=s[3],s.length!==4&&(r(t,i(s[4]-c)),c=s[4]))}}return t.flush()}var l=class e{constructor(t){this.bits=t instanceof e?t.bits.slice():[]}add(e){this.bits[e>>5]|=1<<(e&31)}has(e){return!!(this.bits[e>>5]&1<<(e&31))}},u=class e{constructor(e,t,n){this.start=e,this.end=t,this.original=n,this.intro=``,this.outro=``,this.content=n,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(e){this.outro+=e}appendRight(e){this.intro+=e}clone(){let t=new e(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(e){return this.start<e&&e<this.end}eachNext(e){let t=this;for(;t;)e(t),t=t.next}eachPrevious(e){let t=this;for(;t;)e(t),t=t.previous}edit(e,t,n){return this.content=e,n||(this.intro=``,this.outro=``),this.storeName=t,this.edited=!0,this}prependLeft(e){this.outro=e+this.outro}prependRight(e){this.intro=e+this.intro}reset(){this.intro=``,this.outro=``,this.edited&&=(this.content=this.original,this.storeName=!1,!1)}split(t){let n=t-this.start,r=this.original.slice(0,n),i=this.original.slice(n);this.original=r;let a=new e(t,this.end,i);return a.outro=this.outro,this.outro=``,this.end=t,this.edited?(a.edit(``,!1),this.content=``):this.content=r,a.next=this.next,a.next&&(a.next.previous=a),a.previous=this,this.next=a,a}toString(){return this.intro+this.content+this.outro}trimEnd(e){if(this.outro=this.outro.replace(e,``),this.outro.length)return!0;let t=this.content.replace(e,``);if(t.length)return t!==this.content&&(this.split(this.start+t.length).edit(``,void 0,!0),this.edited&&this.edit(t,this.storeName,!0)),!0;if(this.edit(``,void 0,!0),this.intro=this.intro.replace(e,``),this.intro.length)return!0}trimStart(e){if(this.intro=this.intro.replace(e,``),this.intro.length)return!0;let t=this.content.replace(e,``);if(t.length){if(t!==this.content){let e=this.split(this.end-t.length);this.edited&&e.edit(t,this.storeName,!0),this.edit(``,void 0,!0)}return!0}if(this.edit(``,void 0,!0),this.outro=this.outro.replace(e,``),this.outro.length)return!0}};function d(){return typeof globalThis<`u`&&typeof globalThis.btoa==`function`?e=>globalThis.btoa(unescape(encodeURIComponent(e))):typeof Buffer==`function`?e=>Buffer.from(e,`utf-8`).toString(`base64`):()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}var f=d(),p=class{constructor(e){this.version=3,this.file=e.file,this.sources=e.sources,this.sourcesContent=e.sourcesContent,this.names=e.names,this.mappings=c(e.mappings),e.x_google_ignoreList!==void 0&&(this.x_google_ignoreList=e.x_google_ignoreList),e.debugId!==void 0&&(this.debugId=e.debugId)}toString(){return JSON.stringify(this)}toUrl(){return`data:application/json;charset=utf-8;base64,`+f(this.toString())}};function m(e){let t=e.split(`
2
+ `),n=t.filter(e=>/^\t+/.test(e)),r=t.filter(e=>/^ {2,}/.test(e));if(n.length===0&&r.length===0)return null;if(n.length>=r.length)return` `;let i=r.reduce((e,t)=>{let n=/^ +/.exec(t)[0].length;return Math.min(n,e)},1/0);return Array(i+1).join(` `)}function h(e,t){let n=e.split(/[/\\]/),r=t.split(/[/\\]/);for(n.pop();n[0]===r[0];)n.shift(),r.shift();if(n.length){let e=n.length;for(;e--;)n[e]=`..`}return n.concat(r).join(`/`)}var g=Object.prototype.toString;function _(e){return g.call(e)===`[object Object]`}function v(e){let t=e.split(`
3
+ `),n=[];for(let e=0,r=0;e<t.length;e++)n.push(r),r+=t[e].length+1;return function(e){let t=0,r=n.length;for(;t<r;){let i=t+r>>1;e<n[i]?r=i:t=i+1}let i=t-1;return{line:i,column:e-n[i]}}}var y=/\w/,b=class{constructor(e){this.hires=e,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(e,t,n,r){if(t.length){let i=t.length-1,a=t.indexOf(`
4
+ `,0),o=-1;for(;a>=0&&i>a;){let i=[this.generatedCodeColumn,e,n.line,n.column];r>=0&&i.push(r),this.rawSegments.push(i),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,o=a,a=t.indexOf(`
5
+ `,a+1)}let s=[this.generatedCodeColumn,e,n.line,n.column];r>=0&&s.push(r),this.rawSegments.push(s),this.advance(t.slice(o+1))}else this.pending&&(this.rawSegments.push(this.pending),this.advance(t));this.pending=null}addUneditedChunk(e,t,n,r,i){let a=t.start,o=!0,s=!1;for(;a<t.end;){if(n[a]===`
6
+ `)r.line+=1,r.column=0,this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,o=!0,s=!1;else{if(this.hires||o||i.has(a)){let t=[this.generatedCodeColumn,e,r.line,r.column];this.hires===`boundary`?y.test(n[a])?s||=(this.rawSegments.push(t),!0):(this.rawSegments.push(t),s=!1):this.rawSegments.push(t)}r.column+=1,this.generatedCodeColumn+=1,o=!1}a+=1}this.pending=null}advance(e){if(!e)return;let t=e.split(`
7
+ `);if(t.length>1){for(let e=0;e<t.length-1;e++)this.generatedCodeLine++,this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0}this.generatedCodeColumn+=t[t.length-1].length}},x=`
8
+ `,S={insertLeft:!1,insertRight:!1,storeName:!1},C=class e{constructor(e,t={}){let n=new u(0,e.length,e);Object.defineProperties(this,{original:{writable:!0,value:e},outro:{writable:!0,value:``},intro:{writable:!0,value:``},firstChunk:{writable:!0,value:n},lastChunk:{writable:!0,value:n},lastSearchedChunk:{writable:!0,value:n},byStart:{writable:!0,value:{}},byEnd:{writable:!0,value:{}},filename:{writable:!0,value:t.filename},indentExclusionRanges:{writable:!0,value:t.indentExclusionRanges},sourcemapLocations:{writable:!0,value:new l},storedNames:{writable:!0,value:{}},indentStr:{writable:!0,value:void 0},ignoreList:{writable:!0,value:t.ignoreList},offset:{writable:!0,value:t.offset||0}}),this.byStart[0]=n,this.byEnd[e.length]=n}addSourcemapLocation(e){this.sourcemapLocations.add(e)}append(e){if(typeof e!=`string`)throw TypeError(`outro content must be a string`);return this.outro+=e,this}appendLeft(e,t){if(e+=this.offset,typeof t!=`string`)throw TypeError(`inserted content must be a string`);this._split(e);let n=this.byEnd[e];return n?n.appendLeft(t):this.intro+=t,this}appendRight(e,t){if(e+=this.offset,typeof t!=`string`)throw TypeError(`inserted content must be a string`);this._split(e);let n=this.byStart[e];return n?n.appendRight(t):this.outro+=t,this}clone(){let t=new e(this.original,{filename:this.filename,offset:this.offset}),n=this.firstChunk,r=t.firstChunk=t.lastSearchedChunk=n.clone();for(;n;){t.byStart[r.start]=r,t.byEnd[r.end]=r;let e=n.next,i=e&&e.clone();i&&(r.next=i,i.previous=r,r=i),n=e}return t.lastChunk=r,this.indentExclusionRanges&&(t.indentExclusionRanges=this.indentExclusionRanges.slice()),t.sourcemapLocations=new l(this.sourcemapLocations),t.intro=this.intro,t.outro=this.outro,t}generateDecodedMap(e){e||={};let t=Object.keys(this.storedNames),n=new b(e.hires),r=v(this.original);return this.intro&&n.advance(this.intro),this.firstChunk.eachNext(e=>{let i=r(e.start);e.intro.length&&n.advance(e.intro),e.edited?n.addEdit(0,e.content,i,e.storeName?t.indexOf(e.original):-1):n.addUneditedChunk(0,e,this.original,i,this.sourcemapLocations),e.outro.length&&n.advance(e.outro)}),this.outro&&n.advance(this.outro),{file:e.file?e.file.split(/[/\\]/).pop():void 0,sources:[e.source?h(e.file||``,e.source):e.file||``],sourcesContent:e.includeContent?[this.original]:void 0,names:t,mappings:n.raw,x_google_ignoreList:this.ignoreList?[0]:void 0}}generateMap(e){return new p(this.generateDecodedMap(e))}_ensureindentStr(){this.indentStr===void 0&&(this.indentStr=m(this.original))}_getRawIndentString(){return this._ensureindentStr(),this.indentStr}getIndentString(){return this._ensureindentStr(),this.indentStr===null?` `:this.indentStr}indent(e,t){let n=/^[^\r\n]/gm;if(_(e)&&(t=e,e=void 0),e===void 0&&(this._ensureindentStr(),e=this.indentStr||` `),e===``)return this;t||={};let r={};t.exclude&&(typeof t.exclude[0]==`number`?[t.exclude]:t.exclude).forEach(e=>{for(let t=e[0];t<e[1];t+=1)r[t]=!0});let i=t.indentStart!==!1,a=t=>i?`${e}${t}`:(i=!0,t);this.intro=this.intro.replace(n,a);let o=0,s=this.firstChunk;for(;s;){let t=s.end;if(s.edited)r[o]||(s.content=s.content.replace(n,a),s.content.length&&(i=s.content[s.content.length-1]===`
9
+ `));else for(o=s.start;o<t;){if(!r[o]){let t=this.original[o];t===`
10
+ `?i=!0:t!==`\r`&&i&&(i=!1,o===s.start?s.prependRight(e):(this._splitChunk(s,o),s=s.next,s.prependRight(e)))}o+=1}o=s.end,s=s.next}return this.outro=this.outro.replace(n,a),this}insert(){throw Error(`magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)`)}insertLeft(e,t){return S.insertLeft||=(console.warn(`magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead`),!0),this.appendLeft(e,t)}insertRight(e,t){return S.insertRight||=(console.warn(`magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead`),!0),this.prependRight(e,t)}move(e,t,n){if(e+=this.offset,t+=this.offset,n+=this.offset,n>=e&&n<=t)throw Error(`Cannot move a selection inside itself`);this._split(e),this._split(t),this._split(n);let r=this.byStart[e],i=this.byEnd[t],a=r.previous,o=i.next,s=this.byStart[n];if(!s&&i===this.lastChunk)return this;let c=s?s.previous:this.lastChunk;return a&&(a.next=o),o&&(o.previous=a),c&&(c.next=r),s&&(s.previous=i),r.previous||(this.firstChunk=i.next),i.next||(this.lastChunk=r.previous,this.lastChunk.next=null),r.previous=c,i.next=s||null,c||(this.firstChunk=r),s||(this.lastChunk=i),this}overwrite(e,t,n,r){return r||={},this.update(e,t,n,{...r,overwrite:!r.contentOnly})}update(e,t,n,r){if(e+=this.offset,t+=this.offset,typeof n!=`string`)throw TypeError(`replacement content must be a string`);if(this.original.length!==0){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length}if(t>this.original.length)throw Error(`end is out of bounds`);if(e===t)throw Error(`Cannot overwrite a zero-length range – use appendLeft or prependRight instead`);this._split(e),this._split(t),r===!0&&(S.storeName||=(console.warn(`The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string`),!0),r={storeName:!0});let i=r!==void 0&&r.storeName,a=r!==void 0&&r.overwrite;if(i){let n=this.original.slice(e,t);Object.defineProperty(this.storedNames,n,{writable:!0,value:!0,enumerable:!0})}let o=this.byStart[e],s=this.byEnd[t];if(o){let e=o;for(;e!==s;){if(e.next!==this.byStart[e.end])throw Error(`Cannot overwrite across a split point`);e=e.next,e.edit(``,!1)}o.edit(n,i,!a)}else{let r=new u(e,t,``).edit(n,i);s.next=r,r.previous=s}return this}prepend(e){if(typeof e!=`string`)throw TypeError(`outro content must be a string`);return this.intro=e+this.intro,this}prependLeft(e,t){if(e+=this.offset,typeof t!=`string`)throw TypeError(`inserted content must be a string`);this._split(e);let n=this.byEnd[e];return n?n.prependLeft(t):this.intro=t+this.intro,this}prependRight(e,t){if(e+=this.offset,typeof t!=`string`)throw TypeError(`inserted content must be a string`);this._split(e);let n=this.byStart[e];return n?n.prependRight(t):this.outro=t+this.outro,this}remove(e,t){if(e+=this.offset,t+=this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length}if(e===t)return this;if(e<0||t>this.original.length)throw Error(`Character is out of bounds`);if(e>t)throw Error(`end must be greater than start`);this._split(e),this._split(t);let n=this.byStart[e];for(;n;)n.intro=``,n.outro=``,n.edit(``),n=t>n.end?this.byStart[n.end]:null;return this}reset(e,t){if(e+=this.offset,t+=this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length}if(e===t)return this;if(e<0||t>this.original.length)throw Error(`Character is out of bounds`);if(e>t)throw Error(`end must be greater than start`);this._split(e),this._split(t);let n=this.byStart[e];for(;n;)n.reset(),n=t>n.end?this.byStart[n.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let e=this.lastChunk;do{if(e.outro.length)return e.outro[e.outro.length-1];if(e.content.length)return e.content[e.content.length-1];if(e.intro.length)return e.intro[e.intro.length-1]}while(e=e.previous);return this.intro.length?this.intro[this.intro.length-1]:``}lastLine(){let e=this.outro.lastIndexOf(x);if(e!==-1)return this.outro.substr(e+1);let t=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(e=n.outro.lastIndexOf(x),e!==-1)return n.outro.substr(e+1)+t;t=n.outro+t}if(n.content.length>0){if(e=n.content.lastIndexOf(x),e!==-1)return n.content.substr(e+1)+t;t=n.content+t}if(n.intro.length>0){if(e=n.intro.lastIndexOf(x),e!==-1)return n.intro.substr(e+1)+t;t=n.intro+t}}while(n=n.previous);return e=this.intro.lastIndexOf(x),e===-1?this.intro+t:this.intro.substr(e+1)+t}slice(e=0,t=this.original.length-this.offset){if(e+=this.offset,t+=this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length}let n=``,r=this.firstChunk;for(;r&&(r.start>e||r.end<=e);){if(r.start<t&&r.end>=t)return n;r=r.next}if(r&&r.edited&&r.start!==e)throw Error(`Cannot use replaced character ${e} as slice start anchor.`);let i=r;for(;r;){r.intro&&(i!==r||r.start===e)&&(n+=r.intro);let a=r.start<t&&r.end>=t;if(a&&r.edited&&r.end!==t)throw Error(`Cannot use replaced character ${t} as slice end anchor.`);let o=i===r?e-r.start:0,s=a?r.content.length+t-r.end:r.content.length;if(n+=r.content.slice(o,s),r.outro&&(!a||r.end===t)&&(n+=r.outro),a)break;r=r.next}return n}snip(e,t){let n=this.clone();return n.remove(0,e),n.remove(t,n.original.length),n}_split(e){if(this.byStart[e]||this.byEnd[e])return;let t=this.lastSearchedChunk,n=t,r=e>t.end;for(;t;){if(t.contains(e))return this._splitChunk(t,e);if(t=r?this.byStart[t.end]:this.byEnd[t.start],t===n)return;n=t}}_splitChunk(e,t){if(e.edited&&e.content.length){let n=v(this.original)(t);throw Error(`Cannot split a chunk that has already been edited (${n.line}:${n.column} – "${e.original}")`)}let n=e.split(t);return this.byEnd[t]=e,this.byStart[t]=n,this.byEnd[n.end]=n,e===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=e,!0}toString(){let e=this.intro,t=this.firstChunk;for(;t;)e+=t.toString(),t=t.next;return e+this.outro}isEmpty(){let e=this.firstChunk;do if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1;while(e=e.next);return!0}length(){let e=this.firstChunk,t=0;do t+=e.intro.length+e.content.length+e.outro.length;while(e=e.next);return t}trimLines(){return this.trim(`[\\r\\n]`)}trim(e){return this.trimStart(e).trimEnd(e)}trimEndAborted(e){let t=RegExp((e||`\\s`)+`+$`);if(this.outro=this.outro.replace(t,``),this.outro.length)return!0;let n=this.lastChunk;do{let e=n.end,r=n.trimEnd(t);if(n.end!==e&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.previous}while(n);return!1}trimEnd(e){return this.trimEndAborted(e),this}trimStartAborted(e){let t=RegExp(`^`+(e||`\\s`)+`+`);if(this.intro=this.intro.replace(t,``),this.intro.length)return!0;let n=this.firstChunk;do{let e=n.end,r=n.trimStart(t);if(n.end!==e&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.next}while(n);return!1}trimStart(e){return this.trimStartAborted(e),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(e,t){function n(e,n){return typeof t==`string`?t.replace(/\$(\$|&|\d+)/g,(t,n)=>n===`$`?`$`:n===`&`?e[0]:+n<e.length?e[+n]:`$${n}`):t(...e,e.index,n,e.groups)}function r(e,t){let n,r=[];for(;n=e.exec(t);)r.push(n);return r}if(e.global)r(e,this.original).forEach(e=>{if(e.index!=null){let t=n(e,this.original);t!==e[0]&&this.overwrite(e.index,e.index+e[0].length,t)}});else{let t=this.original.match(e);if(t&&t.index!=null){let e=n(t,this.original);e!==t[0]&&this.overwrite(t.index,t.index+t[0].length,e)}}return this}_replaceString(e,t){let{original:n}=this,r=n.indexOf(e);return r!==-1&&(typeof t==`function`&&(t=t(e,r,n)),e!==t&&this.overwrite(r,r+e.length,t)),this}replace(e,t){return typeof e==`string`?this._replaceString(e,t):this._replaceRegexp(e,t)}_replaceAllString(e,t){let{original:n}=this,r=e.length;for(let i=n.indexOf(e);i!==-1;i=n.indexOf(e,i+r)){let e=n.slice(i,i+r),a=t;typeof t==`function`&&(a=t(e,i,n)),e!==a&&this.overwrite(i,i+r,a)}return this}replaceAll(e,t){if(typeof e==`string`)return this._replaceAllString(e,t);if(!e.global)throw TypeError(`MagicString.prototype.replaceAll called with a non-global RegExp argument`);return this._replaceRegexp(e,t)}};exports.default=C;
11
+ //# sourceMappingURL=magic-string.es-3690a1eb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic-string.es-3690a1eb.js","names":[],"sources":["../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../node_modules/magic-string/dist/magic-string.es.mjs"],"sourcesContent":["// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n return value;\n}\nfunction decodeSign(num) {\n return num & 1 ? -2147483648 | -(num >>> 1) : num >>> 1;\n}\nfunction encodeInteger(builder, num) {\n do {\n let clamped = num & 31;\n num >>>= 5;\n if (num > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (num > 0);\n}\nfunction encodeSign(num) {\n return num < 0 ? -num << 1 | 1 : num << 1;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line += decodeSign(decodeInteger(reader));\n const column = decodeSign(decodeInteger(reader));\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeSign(decodeInteger(reader));\n const fields = decodeSign(decodeInteger(reader));\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeSign(decodeInteger(reader))] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeSign(decodeInteger(reader));\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n encodeInteger(writer, encodeSign(startLine - state[0]));\n state[0] = startLine;\n encodeInteger(writer, encodeSign(startColumn));\n encodeInteger(writer, encodeSign(kind));\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, encodeSign(fields));\n if (scope.length === 6) encodeInteger(writer, encodeSign(scope[5]));\n for (const v of vars) {\n encodeInteger(writer, encodeSign(v));\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n encodeInteger(writer, encodeSign(endLine - state[0]));\n state[0] = endLine;\n encodeInteger(writer, encodeSign(endColumn));\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn += decodeSign(decodeInteger(reader));\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeSign(decodeInteger(reader));\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = definitionSourcesIndex + decodeSign(decodeInteger(reader));\n definitionScopeIndex = decodeSign(decodeInteger(reader)) + (definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex += decodeSign(decodeInteger(reader));\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = (sameSource ? callsiteLine : 0) + decodeSign(decodeInteger(reader));\n callsiteColumn = (sameSource && prevLine === callsiteLine ? callsiteColumn : 0) + decodeSign(decodeInteger(reader));\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeSign(decodeInteger(reader));\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeSign(decodeInteger(reader))]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine += decodeSign(decodeInteger(reader));\n bindingColumn = (bindingLine === prevBl ? bindingColumn : 0) + decodeSign(decodeInteger(reader));\n const expression = decodeSign(decodeInteger(reader));\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n encodeInteger(writer, encodeSign(range[1] - state[1]));\n state[1] = range[1];\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, encodeSign(fields));\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n encodeInteger(writer, encodeSign(sourcesIndex - state[2]));\n state[2] = sourcesIndex;\n encodeInteger(writer, encodeSign(scopesIndex - state[3]));\n state[3] = scopesIndex;\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n encodeInteger(writer, encodeSign(sourcesIndex - state[4]));\n state[4] = sourcesIndex;\n encodeInteger(writer, encodeSign(callLine - state[5]));\n state[5] = callLine;\n encodeInteger(writer, encodeSign(callColumn - state[6]));\n state[6] = callColumn;\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, encodeSign(-binding.length));\n const expression = binding[0][0];\n encodeInteger(writer, encodeSign(expression));\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n encodeInteger(writer, encodeSign(expRange[1] - bindingStartLine));\n bindingStartLine = expRange[1];\n encodeInteger(writer, encodeSign(expRange[2] - bindingStartColumn));\n bindingStartColumn = expRange[2];\n encodeInteger(writer, encodeSign(expRange[0]));\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n encodeInteger(writer, encodeSign(endColumn - state[1]));\n state[1] = endColumn;\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/range-mappings.ts\nfunction decodeRangeMappings(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const rangeMappings = [];\n do {\n const semi = reader.indexOf(\";\");\n const indices = [];\n let index = 0;\n while (reader.pos < semi) {\n index += decodeInteger(reader);\n indices.push(index);\n }\n rangeMappings.push(indices);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return rangeMappings;\n}\nfunction encodeRangeMappings(decoded) {\n if (decoded.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < decoded.length; i++) {\n const indices = decoded[i];\n if (i > 0) writer.write(semicolon);\n let index = 0;\n for (let j = 0; j < indices.length; j++) {\n const offset = indices[j];\n encodeInteger(writer, offset - index);\n index = offset;\n }\n }\n return writer.flush();\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn += decodeSign(decodeInteger(reader));\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex += decodeSign(decodeInteger(reader));\n sourceLine += decodeSign(decodeInteger(reader));\n sourceColumn += decodeSign(decodeInteger(reader));\n if (hasMoreVlq(reader, semi)) {\n namesIndex += decodeSign(decodeInteger(reader));\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n encodeInteger(writer, encodeSign(segment[0] - genColumn));\n genColumn = segment[0];\n if (segment.length === 1) continue;\n encodeInteger(writer, encodeSign(segment[1] - sourcesIndex));\n encodeInteger(writer, encodeSign(segment[2] - sourceLine));\n encodeInteger(writer, encodeSign(segment[3] - sourceColumn));\n sourcesIndex = segment[1];\n sourceLine = segment[2];\n sourceColumn = segment[3];\n if (segment.length === 4) continue;\n encodeInteger(writer, encodeSign(segment[4] - namesIndex));\n namesIndex = segment[4];\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n decodeRangeMappings,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes,\n encodeRangeMappings\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@castlabs/ui",
3
- "version": "8.2.0",
3
+ "version": "8.4.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/castlabs/ui-styleguide.git"
@@ -42,43 +42,44 @@
42
42
  "simplebar": "6.3.3"
43
43
  },
44
44
  "optionalDependencies": {
45
- "@rollup/rollup-linux-x64-gnu": "4.62.4"
45
+ "@rollup/rollup-linux-x64-gnu": "4.63.1"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@castlabs/ui-editor": "file:../castlabs-ui-editor",
49
- "@tsconfig/node24": "24.0.4",
50
- "@types/jsdom": "28.0.3",
51
- "@types/node": "26.1.2",
49
+ "@tsconfig/node24": "24.0.5",
50
+ "@types/jsdom": "30.0.0",
51
+ "@types/node": "26.5.0",
52
52
  "@vitejs/plugin-vue": "6.0.8",
53
- "@vitest/eslint-plugin": "1.6.26",
53
+ "@vitest/eslint-plugin": "1.6.27",
54
54
  "@vue/eslint-config-prettier": "10.2.0",
55
55
  "@vue/eslint-config-typescript": "14.9.0",
56
- "@vue/test-utils": "2.4.11",
56
+ "@vue/test-utils": "2.5.0",
57
57
  "@vue/tsconfig": "0.9.1",
58
- "core-js": "3.49.0",
58
+ "core-js": "3.50.0",
59
59
  "dree": "5.1.5",
60
- "eslint": "10.8.0",
61
- "eslint-plugin-n": "18.2.2",
60
+ "eslint": "10.10.0",
61
+ "eslint-plugin-n": "18.3.0",
62
62
  "eslint-plugin-promise": "^7.3.0",
63
- "eslint-plugin-vue": "10.10.0",
63
+ "eslint-plugin-vue": "10.11.0",
64
64
  "gulp": "5.0.1",
65
65
  "gulp-concat": "2.6.1",
66
66
  "gulp-replace": "1.1.4",
67
67
  "jsdom": "30.0.1",
68
68
  "npm-run-all": "4.1.5",
69
69
  "prettier": "3.9.6",
70
- "sass": "1.102.0",
70
+ "sass": "1.104.0",
71
71
  "stylelint-config-sass-guidelines": "13.0.0",
72
72
  "stylelint-config-standard": "40.0.0",
73
73
  "stylelint-config-standard-vue": "2.0.0",
74
74
  "stylelint-order": "8.1.1",
75
75
  "stylelint-scss": "7.2.0",
76
76
  "typescript": "6.0.3",
77
- "vite": "8.2.0",
78
- "vitest": "4.1.10",
79
- "vue": "3.5.41",
77
+ "vite": "8.2.2",
78
+ "vitest": "4.1.11",
79
+ "vue": "3.5.42",
80
80
  "vue-eslint-parser": "10.4.1",
81
- "vue-tsc": "3.3.9"
81
+ "vue-router": "5.3.1",
82
+ "vue-tsc": "3.3.11"
82
83
  },
83
84
  "overrides": {
84
85
  "glob": "^13"
@@ -89,6 +89,10 @@
89
89
  }
90
90
  }
91
91
 
92
+ > .input-group-text {
93
+ line-height: 1.75em;
94
+ }
95
+
92
96
  &:not(.cl-no-wrap) {
93
97
  @include media-breakpoint-up(sm) {
94
98
  > .form-control,
@@ -0,0 +1,12 @@
1
+ ////
2
+ /// @group components
3
+ /// @access public
4
+ ////
5
+
6
+ // This file defines custom role styles.
7
+
8
+ @use '../../../styles/global' as *;
9
+
10
+ .cl-value-faded {
11
+ color: var(--cl-color-text-faded) !important;
12
+ }
@@ -84,13 +84,17 @@ $grid-table-responsive: sm;
84
84
  @media (min-width: $min) and (max-width: $max) {
85
85
  @content;
86
86
  }
87
- } @else if $max == null {
88
- @include media-breakpoint-up($breakpoint) {
89
- @content;
90
- }
91
- } @else if $min == null {
92
- @include media-breakpoint-down($next) {
93
- @content;
87
+ } @else {
88
+ @if $max == null {
89
+ @include media-breakpoint-up($breakpoint) {
90
+ @content;
91
+ }
92
+ } @else {
93
+ @if $min == null {
94
+ @include media-breakpoint-down($next) {
95
+ @content;
96
+ }
97
+ }
94
98
  }
95
99
  }
96
100
  }
@@ -24,6 +24,7 @@
24
24
 
25
25
  $typography-sans-font-list:
26
26
  'NonNaturalGroteskInktrap',
27
+ 'Noto Sans CL',
27
28
  arial,
28
29
  -apple-system,
29
30
  blinkmacsystemfont,
@@ -38,7 +39,8 @@ $typography-sans-font-list:
38
39
  $typography-sans-line-height: 1.4;
39
40
 
40
41
  $typography-monospace-font-list:
41
- 'DM Mono', sfmono-regular, menlo, monaco, consolas, 'Liberation Mono', 'Courier New', monospace;
42
+ 'DM Mono', 'Noto Sans Mono CL', sfmono-regular, menlo, monaco, consolas, 'Liberation Mono',
43
+ 'Courier New', monospace;
42
44
  $typography-monospace-line-height: 1.375;
43
45
 
44
46
  // --- helpers -----------------------------------------------------------------
@@ -0,0 +1,55 @@
1
+ // stylelint-disable at-rule-descriptor-value-no-unknown
2
+
3
+ $cl-url-prefix: '' !default;
4
+ $cl-url-postfix: '' !default;
5
+
6
+ @mixin NotDef {
7
+ @font-face {
8
+ font-family: NotDef;
9
+ font-style: normal;
10
+ font-weight: 100;
11
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
12
+ }
13
+ @font-face {
14
+ font-family: NotDef;
15
+ font-style: normal;
16
+ font-weight: 200;
17
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
18
+ }
19
+ @font-face {
20
+ font-family: NotDef;
21
+ font-style: normal;
22
+ font-weight: 300;
23
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
24
+ }
25
+ @font-face {
26
+ font-family: NotDef;
27
+ font-style: normal;
28
+ font-weight: 400;
29
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
30
+ }
31
+ @font-face {
32
+ font-family: NotDef;
33
+ font-style: normal;
34
+ font-weight: 500;
35
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
36
+ }
37
+ @font-face {
38
+ font-family: NotDef;
39
+ font-style: normal;
40
+ font-weight: 600;
41
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
42
+ }
43
+ @font-face {
44
+ font-family: NotDef;
45
+ font-style: normal;
46
+ font-weight: 700;
47
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('otf');
48
+ }
49
+ @font-face {
50
+ font-family: NotDef;
51
+ font-style: normal;
52
+ font-weight: 800;
53
+ src: url('#{$cl-url-prefix}NotDef.ttf#{$cl-url-postfix}') format('woff2');
54
+ }
55
+ }