@upstart.gg/sdk 0.0.78 → 0.0.80

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 (296) hide show
  1. package/dist/node/cli/api.js +3 -3
  2. package/dist/node/cli/commands/build/cmd-build.js +1 -1
  3. package/dist/node/cli/commands/login/cmd-login.js +8 -8
  4. package/dist/node/cli/commands/logout/cmd-logout.js +3 -3
  5. package/dist/node/cli/commands/publish/cmd-publish.js +19 -19
  6. package/dist/node/cli/commands/publish/parse-gitignore.d.ts +1 -1
  7. package/dist/node/cli/commands/publish/parse-gitignore.js +2 -2
  8. package/dist/node/cli/commands/publish/uploader.js +6 -6
  9. package/dist/node/cli/constants.d.ts +2 -2
  10. package/dist/node/cli/constants.d.ts.map +1 -1
  11. package/dist/node/cli/constants.js +2 -2
  12. package/dist/node/cli/is-logged-in.js +3 -3
  13. package/dist/node/cli/program.js +16 -16
  14. package/dist/node/cli/store.js +2 -2
  15. package/dist/node/cli/types.js +1 -1
  16. package/dist/node/cli/utils.js +1 -1
  17. package/dist/node/shared/config.d.ts +1 -1
  18. package/dist/node/shared/config.d.ts.map +1 -1
  19. package/dist/node/shared/config.js +6 -6
  20. package/dist/node/shared/logger.d.ts +2 -2
  21. package/dist/node/shared/logger.d.ts.map +1 -1
  22. package/dist/node/shared/logger.js +3 -3
  23. package/dist/shared/ajv.d.ts +1 -0
  24. package/dist/shared/ajv.d.ts.map +1 -1
  25. package/dist/shared/ajv.js +2 -2
  26. package/dist/shared/analytics/init.js +1 -1
  27. package/dist/shared/analytics/track.js +1 -1
  28. package/dist/shared/analytics/types.js +1 -1
  29. package/dist/shared/attributes.d.ts +18 -13
  30. package/dist/shared/attributes.d.ts.map +1 -1
  31. package/dist/shared/attributes.js +2 -2
  32. package/dist/shared/brick-manifest.d.ts +95 -46
  33. package/dist/shared/brick-manifest.d.ts.map +1 -1
  34. package/dist/shared/brick-manifest.js +2 -2
  35. package/dist/shared/bricks/manifests/all-manifests.d.ts +2 -3
  36. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  37. package/dist/shared/bricks/manifests/all-manifests.js +2 -2
  38. package/dist/shared/bricks/manifests/button.manifest.d.ts +43 -124
  39. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/button.manifest.js +2 -2
  41. package/dist/shared/bricks/manifests/card.manifest.d.ts +76 -137
  42. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  43. package/dist/shared/bricks/manifests/card.manifest.js +2 -2
  44. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +40 -124
  45. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  46. package/dist/shared/bricks/manifests/carousel.manifest.js +2 -2
  47. package/dist/shared/bricks/manifests/container.manifest.d.ts +205 -123
  48. package/dist/shared/bricks/manifests/container.manifest.d.ts.map +1 -1
  49. package/dist/shared/bricks/manifests/container.manifest.js +2 -2
  50. package/dist/shared/bricks/manifests/countdown.manifest.d.ts +40 -76
  51. package/dist/shared/bricks/manifests/countdown.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/countdown.manifest.js +2 -2
  53. package/dist/shared/bricks/manifests/footer.manifest.d.ts +64 -75
  54. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  55. package/dist/shared/bricks/manifests/footer.manifest.js +2 -2
  56. package/dist/shared/bricks/manifests/form.manifest.d.ts +40 -78
  57. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  58. package/dist/shared/bricks/manifests/form.manifest.js +2 -2
  59. package/dist/shared/bricks/manifests/generic-component.manifest.d.ts +43 -124
  60. package/dist/shared/bricks/manifests/generic-component.manifest.d.ts.map +1 -1
  61. package/dist/shared/bricks/manifests/generic-component.manifest.js +2 -2
  62. package/dist/shared/bricks/manifests/header.manifest.d.ts +257 -75
  63. package/dist/shared/bricks/manifests/header.manifest.d.ts.map +1 -1
  64. package/dist/shared/bricks/manifests/header.manifest.js +2 -2
  65. package/dist/shared/bricks/manifests/hero.manifest.d.ts +100 -113
  66. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  67. package/dist/shared/bricks/manifests/hero.manifest.js +2 -2
  68. package/dist/shared/bricks/manifests/icon.manifest.d.ts +40 -76
  69. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  70. package/dist/shared/bricks/manifests/icon.manifest.js +2 -2
  71. package/dist/shared/bricks/manifests/image.manifest.d.ts +84 -77
  72. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  73. package/dist/shared/bricks/manifests/image.manifest.js +2 -2
  74. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +184 -0
  75. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -0
  76. package/dist/shared/bricks/manifests/images-gallery.manifest.js +3 -0
  77. package/dist/shared/bricks/manifests/map.manifest.d.ts +40 -74
  78. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  79. package/dist/shared/bricks/manifests/map.manifest.js +2 -2
  80. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +57 -0
  81. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -0
  82. package/dist/shared/bricks/manifests/sidebar.manifest.js +3 -0
  83. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +40 -76
  84. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  85. package/dist/shared/bricks/manifests/social-links.manifest.js +2 -2
  86. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts +2 -0
  87. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts.map +1 -0
  88. package/dist/shared/bricks/manifests/text.manifest.d.ts +87 -118
  89. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  90. package/dist/shared/bricks/manifests/text.manifest.js +2 -2
  91. package/dist/shared/bricks/manifests/video.manifest.d.ts +40 -78
  92. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  93. package/dist/shared/bricks/manifests/video.manifest.js +2 -2
  94. package/dist/shared/bricks/props/_docs-common-styles.d.ts +59 -0
  95. package/dist/shared/bricks/props/_docs-common-styles.d.ts.map +1 -0
  96. package/dist/shared/bricks/props/_docs-common-styles.js +3 -0
  97. package/dist/shared/bricks/props/_style-presets.d.ts +18 -0
  98. package/dist/shared/bricks/props/_style-presets.d.ts.map +1 -0
  99. package/dist/shared/bricks/props/_style-presets.js +3 -0
  100. package/dist/shared/bricks/props/align.d.ts +15 -0
  101. package/dist/shared/bricks/props/align.d.ts.map +1 -0
  102. package/dist/shared/bricks/props/align.js +3 -0
  103. package/dist/shared/bricks/props/background.d.ts +23 -0
  104. package/dist/shared/bricks/props/background.d.ts.map +1 -0
  105. package/dist/shared/bricks/props/background.js +3 -0
  106. package/dist/shared/bricks/props/boolean.d.ts +4 -0
  107. package/dist/shared/bricks/props/boolean.d.ts.map +1 -0
  108. package/dist/shared/bricks/props/boolean.js +3 -0
  109. package/dist/shared/bricks/props/border.d.ts +27 -0
  110. package/dist/shared/bricks/props/border.d.ts.map +1 -0
  111. package/dist/shared/bricks/props/border.js +3 -0
  112. package/dist/shared/bricks/props/common.d.ts +5 -39
  113. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  114. package/dist/shared/bricks/props/common.js +2 -2
  115. package/dist/shared/bricks/props/container.d.ts +73 -0
  116. package/dist/shared/bricks/props/container.d.ts.map +1 -0
  117. package/dist/shared/bricks/props/container.js +3 -0
  118. package/dist/shared/bricks/props/datasource.d.ts +18 -0
  119. package/dist/shared/bricks/props/datasource.d.ts.map +1 -0
  120. package/dist/shared/bricks/props/datasource.js +3 -0
  121. package/dist/shared/bricks/props/effects.d.ts +39 -0
  122. package/dist/shared/bricks/props/effects.d.ts.map +1 -0
  123. package/dist/shared/bricks/props/effects.js +3 -0
  124. package/dist/shared/bricks/props/helpers.d.ts +29 -0
  125. package/dist/shared/bricks/props/helpers.d.ts.map +1 -0
  126. package/dist/shared/bricks/props/helpers.js +3 -0
  127. package/dist/shared/bricks/props/image.d.ts +15 -0
  128. package/dist/shared/bricks/props/image.d.ts.map +1 -0
  129. package/dist/shared/bricks/props/image.js +3 -0
  130. package/dist/shared/bricks/props/number.d.ts +6 -0
  131. package/dist/shared/bricks/props/number.d.ts.map +1 -0
  132. package/dist/shared/bricks/props/number.js +3 -0
  133. package/dist/shared/bricks/props/padding.d.ts +4 -0
  134. package/dist/shared/bricks/props/padding.d.ts.map +1 -0
  135. package/dist/shared/bricks/props/padding.js +3 -0
  136. package/dist/shared/bricks/props/position.d.ts +6 -0
  137. package/dist/shared/bricks/props/position.d.ts.map +1 -0
  138. package/dist/shared/bricks/props/position.js +3 -0
  139. package/dist/shared/bricks/props/string.d.ts +11 -0
  140. package/dist/shared/bricks/props/string.d.ts.map +1 -0
  141. package/dist/shared/bricks/props/string.js +3 -0
  142. package/dist/shared/bricks/props/tests/align.test.d.ts +2 -0
  143. package/dist/shared/bricks/props/tests/align.test.d.ts.map +1 -0
  144. package/dist/shared/bricks/props/tests/background.test.d.ts +2 -0
  145. package/dist/shared/bricks/props/tests/background.test.d.ts.map +1 -0
  146. package/dist/shared/bricks/props/tests/border.test.d.ts +2 -0
  147. package/dist/shared/bricks/props/tests/border.test.d.ts.map +1 -0
  148. package/dist/shared/bricks/props/tests/container.test.d.ts +2 -0
  149. package/dist/shared/bricks/props/tests/container.test.d.ts.map +1 -0
  150. package/dist/shared/bricks/props/tests/effects.test.d.ts +2 -0
  151. package/dist/shared/bricks/props/tests/effects.test.d.ts.map +1 -0
  152. package/dist/shared/bricks/props/tests/helpers.test.d.ts +2 -0
  153. package/dist/shared/bricks/props/tests/helpers.test.d.ts.map +1 -0
  154. package/dist/shared/bricks/props/tests/image.test.d.ts +2 -0
  155. package/dist/shared/bricks/props/tests/image.test.d.ts.map +1 -0
  156. package/dist/shared/bricks/props/tests/padding.d.ts +2 -0
  157. package/dist/shared/bricks/props/tests/padding.d.ts.map +1 -0
  158. package/dist/shared/bricks/props/tests/string.test.d.ts +2 -0
  159. package/dist/shared/bricks/props/tests/string.test.d.ts.map +1 -0
  160. package/dist/shared/bricks/props/text.d.ts +14 -0
  161. package/dist/shared/bricks/props/text.d.ts.map +1 -0
  162. package/dist/shared/bricks/props/text.js +3 -0
  163. package/dist/shared/bricks/props/types.d.ts +43 -0
  164. package/dist/shared/bricks/props/types.d.ts.map +1 -0
  165. package/dist/shared/bricks/props/types.js +2 -0
  166. package/dist/shared/bricks.d.ts +88 -1527
  167. package/dist/shared/bricks.d.ts.map +1 -1
  168. package/dist/shared/bricks.js +2 -2
  169. package/dist/shared/chunk-3CY6AZG7.js +3 -0
  170. package/dist/shared/chunk-3YDMOB7M.js +3 -0
  171. package/dist/shared/{chunk-X7ABR5GQ.js → chunk-6GYFUI5C.js} +2 -2
  172. package/dist/shared/chunk-6I4PY5WS.js +3 -0
  173. package/dist/shared/{chunk-KXVIWTJN.js → chunk-7XTKGW6E.js} +1 -1
  174. package/dist/shared/chunk-AZ63RF3K.js +3 -0
  175. package/dist/shared/chunk-BK6LBWDI.js +3 -0
  176. package/dist/shared/chunk-BMDB2V7J.js +3 -0
  177. package/dist/shared/chunk-CSBX76ZN.js +3 -0
  178. package/dist/shared/chunk-DAPQ4JPP.js +3 -0
  179. package/dist/shared/chunk-EFJQECVB.js +3 -0
  180. package/dist/shared/chunk-F2ZVIFHO.js +3 -0
  181. package/dist/shared/chunk-FGU4BGP4.js +3 -0
  182. package/dist/shared/chunk-H6L4KRCJ.js +3 -0
  183. package/dist/shared/chunk-HIZPJNEM.js +3 -0
  184. package/dist/shared/chunk-HW5TY2QW.js +3 -0
  185. package/dist/shared/chunk-IWSVY2VC.js +3 -0
  186. package/dist/shared/chunk-JVDUEZYO.js +3 -0
  187. package/dist/shared/chunk-KB4HY432.js +3 -0
  188. package/dist/shared/chunk-LDOM2LJF.js +3 -0
  189. package/dist/shared/chunk-NFU5BF6G.js +3 -0
  190. package/dist/shared/{chunk-A3ACTIE3.js → chunk-NNVPTAAH.js} +1 -1
  191. package/dist/shared/chunk-P5FVZ5PL.js +3 -0
  192. package/dist/shared/chunk-P7WL7MYK.js +3 -0
  193. package/dist/shared/chunk-PD7P5KSV.js +3 -0
  194. package/dist/shared/chunk-PJ6HA55L.js +3 -0
  195. package/dist/shared/chunk-PSSJMWGU.js +3 -0
  196. package/dist/shared/chunk-Q4MXTCE4.js +8 -0
  197. package/dist/shared/chunk-QRBMK5UX.js +3 -0
  198. package/dist/shared/chunk-RBYYMUOZ.js +3 -0
  199. package/dist/shared/chunk-SO5M7CYA.js +3 -0
  200. package/dist/shared/chunk-SQVL4WSX.js +3 -0
  201. package/dist/shared/chunk-TQ23UATQ.js +3 -0
  202. package/dist/shared/chunk-U44NTSIO.js +3 -0
  203. package/dist/shared/chunk-U4R5EGBK.js +3 -0
  204. package/dist/shared/chunk-WJ5CDDXW.js +3 -0
  205. package/dist/shared/chunk-WOEBR25A.js +3 -0
  206. package/dist/shared/chunk-WPTVLIYS.js +3 -0
  207. package/dist/shared/{chunk-XGI243DO.js → chunk-WXKRIUTA.js} +1 -1
  208. package/dist/shared/chunk-XBX6II3M.js +3 -0
  209. package/dist/shared/chunk-XEQ2XZLQ.js +3 -0
  210. package/dist/shared/chunk-XGCBIXOO.js +3 -0
  211. package/dist/shared/chunk-XYID4ZEA.js +3 -0
  212. package/dist/shared/chunk-ZWVJMSTT.js +3 -0
  213. package/dist/shared/datarecords/external/google/oauth/config.js +1 -1
  214. package/dist/shared/datarecords/types.d.ts +2 -2
  215. package/dist/shared/datarecords/types.js +1 -1
  216. package/dist/shared/datarecords.js +1 -1
  217. package/dist/shared/datasources/external/meta/oauth/config.js +2 -2
  218. package/dist/shared/datasources/external/tiktok/oauth/config.js +2 -2
  219. package/dist/shared/datasources/external/youtube/oauth/config.js +2 -2
  220. package/dist/shared/datasources/internal/job-board/schema.d.ts +87 -0
  221. package/dist/shared/datasources/internal/job-board/schema.d.ts.map +1 -0
  222. package/dist/shared/datasources/schemas.js +2 -2
  223. package/dist/shared/datasources/types.d.ts +2 -2
  224. package/dist/shared/datasources/types.js +2 -2
  225. package/dist/shared/datasources.js +1 -1
  226. package/dist/shared/env.d.ts +6 -6
  227. package/dist/shared/env.d.ts.map +1 -1
  228. package/dist/shared/env.js +1 -1
  229. package/dist/shared/errors.js +1 -1
  230. package/dist/shared/layout-constants.js +2 -2
  231. package/dist/shared/oauth.js +2 -2
  232. package/dist/shared/page.d.ts +155 -2331
  233. package/dist/shared/page.d.ts.map +1 -1
  234. package/dist/shared/page.js +2 -2
  235. package/dist/shared/responsive.js +1 -1
  236. package/dist/shared/template.d.ts +31 -0
  237. package/dist/shared/template.d.ts.map +1 -0
  238. package/dist/shared/template.js +3 -0
  239. package/dist/shared/tests/test-config.d.ts +1 -1
  240. package/dist/shared/tests/test-config.d.ts.map +1 -1
  241. package/dist/shared/theme.d.ts.map +1 -1
  242. package/dist/shared/theme.js +2 -2
  243. package/dist/shared/themes/all-themes.js +1 -1
  244. package/dist/shared/themes/color-system.d.ts +3 -5
  245. package/dist/shared/themes/color-system.d.ts.map +1 -1
  246. package/dist/shared/themes/color-system.js +2 -2
  247. package/dist/shared/utils/canvas-data-uri.d.ts +2 -0
  248. package/dist/shared/utils/canvas-data-uri.d.ts.map +1 -0
  249. package/dist/shared/utils/invariant.js +2 -2
  250. package/dist/shared/utils/merge.d.ts +2 -0
  251. package/dist/shared/utils/merge.d.ts.map +1 -0
  252. package/dist/shared/utils/merge.js +3 -0
  253. package/dist/shared/utils/object-hash.d.ts +2 -0
  254. package/dist/shared/utils/object-hash.d.ts.map +1 -0
  255. package/dist/shared/utils/try-catch.d.ts +7 -0
  256. package/dist/shared/utils/try-catch.d.ts.map +1 -0
  257. package/package.json +6 -5
  258. package/dist/shared/bricks/manifests/images-wall.manifest.d.ts +0 -95
  259. package/dist/shared/bricks/manifests/images-wall.manifest.d.ts.map +0 -1
  260. package/dist/shared/bricks/manifests/images-wall.manifest.js +0 -3
  261. package/dist/shared/bricks/manifests/loop.manifest.d.ts +0 -105
  262. package/dist/shared/bricks/manifests/loop.manifest.d.ts.map +0 -1
  263. package/dist/shared/bricks/manifests/loop.manifest.js +0 -3
  264. package/dist/shared/bricks/props/style-presets.d.ts +0 -10
  265. package/dist/shared/bricks/props/style-presets.d.ts.map +0 -1
  266. package/dist/shared/bricks/props/style-presets.js +0 -3
  267. package/dist/shared/bricks/props/style-props.d.ts +0 -90
  268. package/dist/shared/bricks/props/style-props.d.ts.map +0 -1
  269. package/dist/shared/bricks/props/style-props.js +0 -3
  270. package/dist/shared/chunk-3PPIJUXG.js +0 -32
  271. package/dist/shared/chunk-3T2OW4FE.js +0 -14
  272. package/dist/shared/chunk-5PE57DBS.js +0 -15
  273. package/dist/shared/chunk-6G2OUITX.js +0 -3
  274. package/dist/shared/chunk-6PCNIIO5.js +0 -3
  275. package/dist/shared/chunk-AVHF4FLR.js +0 -3
  276. package/dist/shared/chunk-G42AE2ZC.js +0 -13
  277. package/dist/shared/chunk-G4K7GJZO.js +0 -3
  278. package/dist/shared/chunk-GBKDJDGW.js +0 -3
  279. package/dist/shared/chunk-GUOQD446.js +0 -22
  280. package/dist/shared/chunk-MEMG6QPT.js +0 -3
  281. package/dist/shared/chunk-NYPOZ5T2.js +0 -13
  282. package/dist/shared/chunk-PXAK7ZJ3.js +0 -3
  283. package/dist/shared/chunk-PZCWP77P.js +0 -3
  284. package/dist/shared/chunk-QQ7YEIHB.js +0 -3
  285. package/dist/shared/chunk-RRTB52G4.js +0 -9
  286. package/dist/shared/chunk-UIKVMZNI.js +0 -13
  287. package/dist/shared/chunk-WGWJHVOE.js +0 -20
  288. package/dist/shared/chunk-WX4P2YIR.js +0 -11
  289. package/dist/shared/chunk-WXSQ2ZEK.js +0 -16
  290. package/dist/shared/chunk-XS5WCEA6.js +0 -16
  291. package/dist/shared/chunk-Y3TOGUNY.js +0 -9
  292. package/dist/shared/chunk-YSMFNK4R.js +0 -20
  293. package/dist/shared/chunk-YXGFGLKH.js +0 -16
  294. package/dist/shared/chunk-ZDZXB45C.js +0 -7
  295. package/dist/shared/chunk-ZWYM64YA.js +0 -8
  296. package/dist/shared/chunk-ZYVXEGAM.js +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/shared/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/shared/page.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as l}from"./chunk-XGI243DO.js";import{b as f}from"./chunk-G4K7GJZO.js";import{b as c}from"./chunk-6G2OUITX.js";import{b as u}from"./chunk-X7ABR5GQ.js";import"./chunk-KXVIWTJN.js";import"./chunk-WX4P2YIR.js";import{c as g,d as m}from"./chunk-AVHF4FLR.js";import"./chunk-6PCNIIO5.js";import"./chunk-GBKDJDGW.js";import"./chunk-G42AE2ZC.js";import"./chunk-WXSQ2ZEK.js";import"./chunk-YSMFNK4R.js";import"./chunk-ZDZXB45C.js";import"./chunk-GUOQD446.js";import"./chunk-3PPIJUXG.js";import"./chunk-WGWJHVOE.js";import"./chunk-XS5WCEA6.js";import"./chunk-ZWYM64YA.js";import"./chunk-3T2OW4FE.js";import"./chunk-Y3TOGUNY.js";import"./chunk-ZYVXEGAM.js";import"./chunk-RRTB52G4.js";import"./chunk-NYPOZ5T2.js";import"./chunk-YXGFGLKH.js";import"./chunk-5PE57DBS.js";import"./chunk-UIKVMZNI.js";import"./chunk-QQ7YEIHB.js";import"./chunk-PXAK7ZJ3.js";import"./chunk-PZCWP77P.js";import"./chunk-MEMG6QPT.js";import{Type as a}from"@sinclair/typebox";import{Type as t}from"@sinclair/typebox";var d=t.Object({id:t.Optional(t.String({title:"Template ID",description:"A unique identifier for the template. Can be any string, but should be unique."})),name:t.String({title:"Template Name"}),description:t.Optional(t.String({title:"Show template description"})),readme:t.Optional(t.Record(t.RegExp(/^[a-z]{2}$/),t.String(),{title:"Readme texts.",description:"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'."})),tags:t.Optional(t.Array(t.String(),{title:"Tags"})),author:t.Optional(t.String({title:"Author name"})),thumbnail:t.Optional(t.String({title:"Thumbnail",description:"A URL to the thumbnail image for the template."})),homepage:t.Optional(t.String({title:"Homepage",description:"A URL to the homepage of the template."}))});import{customAlphabet as b}from"nanoid";var y=b("1234567890abcdefghijklmnopqrstuvwxyz",7);function w(e){return{attributes:e.attributes,attr:e.attr,manifest:e.manifest,pages:e.pages,themes:e.themes,...e.datasources?{datasources:e.datasources}:{}}}function S(e,s="/",o=!1){let r=e.pages.find(p=>p.path===s);l(r,`createPageConfigFromTemplateConfig: No page config found for path ${s}`);let n=r.bricks;return{id:typeof o=="boolean"?crypto.randomUUID():o,label:r.label,tags:r.tags,path:s,bricks:n,...r.attributes?{attributes:r.attributes,attr:{...m(r.attributes),...r.attr??{}}}:{}}}function U(e,s={label:"New site"},o=!1){let r=o?"00000000-0000-0000-0000-000000000001":crypto.randomUUID(),n=`${y()}.upstart.gg`,p=e.pages.map((i,h)=>S(e,i.path,o?`00000000-0000-0000-0000-00000000000${h}`:!1));return{site:{id:r,label:s.label,hostname:n,attributes:e.attributes,attr:{...m(e.attributes),...e.attr??{}},datasources:e.datasources,themes:e.themes,theme:e.themes[0],pagesMap:p.map(i=>({id:i.id,label:i.label,path:i.path,tags:i.tags}))},pages:p}}var T=a.Object({label:a.String(),path:a.String(),bricks:a.Array(c),tags:a.Array(a.String())}),x=a.Composite([a.Omit(T,["tags"]),a.Object({tags:a.Optional(a.Array(a.String()))})]),B=a.Object({manifest:d,themes:a.Array(f),datasources:a.Optional(u),attributes:a.Optional(g),pages:a.Array(x)},{title:"Template schema",description:"The template configuration schema"});export{w as defineConfig,x as definedTemplatePage,S as getNewPageConfig,U as getNewSiteConfig,T as templatePageSchema,B as templateSchema};
3
+ import{a as f}from"./chunk-WXKRIUTA.js";import{b as d}from"./chunk-H6L4KRCJ.js";import{b as m,d as l}from"./chunk-3YDMOB7M.js";import"./chunk-WJ5CDDXW.js";import{b as h}from"./chunk-6GYFUI5C.js";import"./chunk-7XTKGW6E.js";import{d as g,e as p}from"./chunk-P7WL7MYK.js";import"./chunk-ZWVJMSTT.js";import"./chunk-CSBX76ZN.js";import"./chunk-TQ23UATQ.js";import"./chunk-XYID4ZEA.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-6I4PY5WS.js";import"./chunk-3CY6AZG7.js";import"./chunk-HW5TY2QW.js";import"./chunk-AZ63RF3K.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-HIZPJNEM.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-QRBMK5UX.js";import"./chunk-JVDUEZYO.js";import"./chunk-FGU4BGP4.js";import"./chunk-XGCBIXOO.js";import"./chunk-SQVL4WSX.js";import"./chunk-XBX6II3M.js";import"./chunk-XEQ2XZLQ.js";import"./chunk-RBYYMUOZ.js";import"./chunk-SO5M7CYA.js";import"./chunk-IWSVY2VC.js";import"./chunk-F2ZVIFHO.js";import"./chunk-NFU5BF6G.js";import"./chunk-EFJQECVB.js";import"./chunk-U44NTSIO.js";import"./chunk-P5FVZ5PL.js";import"./chunk-LDOM2LJF.js";import"./chunk-PD7P5KSV.js";import"./chunk-WPTVLIYS.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";import{Type as t}from"@sinclair/typebox";import{Type as e}from"@sinclair/typebox";var u=e.Object({id:e.Optional(e.String({title:"Template ID",description:"A unique identifier for the template. Can be any string, but should be unique."})),name:e.String({title:"Template Name"}),description:e.Optional(e.String({title:"Show template description"})),readme:e.Optional(e.Record(e.RegExp(/^[a-z]{2}$/),e.String(),{title:"Readme texts.",description:"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'."})),tags:e.Optional(e.Array(e.String(),{title:"Tags"})),author:e.Optional(e.String({title:"Author name"})),thumbnail:e.Optional(e.String({title:"Thumbnail",description:"A URL to the thumbnail image for the template."})),homepage:e.Optional(e.String({title:"Homepage",description:"A URL to the homepage of the template."}))});import{customAlphabet as y}from"nanoid";var S=y("1234567890abcdefghijklmnopqrstuvwxyz",7);function T(i,o="/",s=!1){let a=i.pages.find(n=>n.path===o);return f(a,`createPageConfigFromTemplateConfig: No page config found for path ${o}`),{id:typeof s=="boolean"?crypto.randomUUID():s,label:a.label,tags:a.tags,path:o,sections:a.sections,bricks:a.bricks,...a.attributes?{attributes:a.attributes,attr:{...p(a.attributes),...a.attr??{}}}:{}}}function q(i,o={label:"New site"},s=!1){let a=s?"00000000-0000-0000-0000-000000000001":crypto.randomUUID(),n=`${S()}.upstart.do`,c=i.pages.map((r,b)=>T(i,r.path,s?`00000000-0000-0000-0000-00000000000${b}`:!1));return{site:{id:a,label:o.label,hostname:n,attributes:i.attributes,attr:{...p(i.attributes),...i.attr??{}},datasources:i.datasources,themes:i.themes,theme:i.themes[0],pagesMap:c.map(r=>({id:r.id,label:r.label,path:r.path,tags:r.tags}))},pages:c}}var P=t.Object({label:t.String({description:"The label (name) of the page"}),path:t.String({description:"The path of the page in the URL. Should be unique"}),sections:t.Array(l,{description:"The sections of the page. See the Section schema","doc:type":"Array of `Section` objects"}),bricks:t.Array(m,{description:"The bricks of the page. See the various bricks available below","doc:type":"Array of `Brick` objects"}),tags:t.Array(t.String(),{description:"The tags of the page, used for organizating and filtering pages"})}),A=t.Composite([t.Omit(P,["tags"]),t.Object({tags:t.Optional(t.Array(t.String()))})]),G=t.Object({manifest:u,themes:t.Array(d),datasources:t.Optional(h),attributes:t.Optional(g),pages:t.Array(A)},{title:"Template schema",description:"The template configuration schema"});export{A as definedTemplatePage,T as getNewPageConfig,q as getNewSiteConfig,P as templatePageSchema,G as templateSchema};
@@ -1,3 +1,3 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
3
  import e from"zod";var p=e.enum(["mobile","desktop"]);export{p as responsiveMode};
@@ -0,0 +1,31 @@
1
+ import type { TObject, TProperties } from "@sinclair/typebox";
2
+ import { type Attributes } from "./attributes";
3
+ import type { DatasourcesMap } from "./datasources/types";
4
+ import type { TemplateManifest } from "./manifest";
5
+ import type { TemplatePage } from "./page";
6
+ import type { Theme } from "./theme";
7
+ export declare function defineConfig(config: TemplateConfig): TemplateConfig;
8
+ export type TemplateConfig = {
9
+ /**
10
+ * The template manifest and settings
11
+ */
12
+ manifest?: TemplateManifest;
13
+ /**
14
+ * The attributes declared for the template
15
+ */
16
+ attributes: TObject<TProperties>;
17
+ attr?: Partial<Attributes>;
18
+ /**
19
+ * The datasources declared for the template
20
+ */
21
+ datasources?: DatasourcesMap;
22
+ /**
23
+ * The Pages
24
+ */
25
+ pages: TemplatePage[];
26
+ /**
27
+ * The themes declared by the site.
28
+ */
29
+ themes: Theme[];
30
+ };
31
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/shared/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CASnE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{b as t}from"./chunk-P7WL7MYK.js";import"./chunk-ZWVJMSTT.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";function r(e){return{attributes:t(e.attributes),attr:e.attr,manifest:e.manifest,pages:e.pages,themes:e.themes,...e.datasources?{datasources:e.datasources}:{}}}export{r as defineConfig};
@@ -1,3 +1,3 @@
1
- declare const _default: import("../page").TemplateConfig;
1
+ declare const _default: import("../template").TemplateConfig;
2
2
  export default _default;
3
3
  //# sourceMappingURL=test-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-config.d.ts","sourceRoot":"","sources":["../../../src/shared/tests/test-config.ts"],"names":[],"mappings":";AAiMA,wBAkBG"}
1
+ {"version":3,"file":"test-config.d.ts","sourceRoot":"","sources":["../../../src/shared/tests/test-config.ts"],"names":[],"mappings":";AAwSA,wBA0BG"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/shared/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,UAAU;;;GAgBtB,CAAC;AA4CF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DvB,CAAC;AAEF;;GAEG;AAyCH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAC/C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA0B,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/shared/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,UAAU;;;GAgBtB,CAAC;AA4CF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DvB,CAAC;AAEF;;GAEG;AAyCH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAC/C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA0B,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a,b,c}from"./chunk-G4K7GJZO.js";export{a as fontStacks,c as themeArray,b as themeSchema};
3
+ import{a,b,c}from"./chunk-H6L4KRCJ.js";export{a as fontStacks,c as themeArray,b as themeSchema};
@@ -1,3 +1,3 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
3
  var e=[{id:"beacon",name:"Beacon",description:"Clear, guiding design for analytics platforms",tags:["analytics","tech","professional","data","clean","precise","modern"],colors:{primary:"#0f766e",secondary:"#0d9488",accent:"#f43f5e",neutral:"#4b5563"},typography:{base:16,heading:{type:"stack",family:"monospace-code"},body:{type:"stack",family:"system-ui"}}},{id:"apex",name:"Apex",description:"Peak performance design for optimization tools",tags:["tech","performance","professional","bold","modern","powerful","focused"],colors:{primary:"#1e1b4b",secondary:"#312e81",accent:"#22c55e",neutral:"#4b5563"},typography:{base:16,heading:{type:"stack",family:"industrial"},body:{type:"stack",family:"neo-grotesque"}}},{id:"nova",name:"Nova",description:"Brilliant design for innovative solutions",tags:["creative","modern","vibrant","bold","innovative","dynamic","energetic"],colors:{primary:"#be185d",secondary:"#db2777",accent:"#0ea5e9",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"system-ui"}}},{id:"heritage",name:"Heritage",description:"Authentic and timeless design with natural character",tags:["traditional","natural","rustic","authentic","earthy","timeless","organic"],colors:{primary:"#854d0e",secondary:"#a16207",accent:"#4d7c0f",neutral:"#57534e"},typography:{base:16,heading:{type:"stack",family:"slab-serif"},body:{type:"stack",family:"transitional"}}},{id:"power",name:"Power",description:"Strong and decisive design with bold presence",tags:["bold","dynamic","strong","modern","energetic","powerful","decisive"],colors:{primary:"#dc2626",secondary:"#171717",accent:"#eab308",neutral:"#404040"},typography:{base:16,heading:{type:"stack",family:"industrial"},body:{type:"stack",family:"neo-grotesque"}}},{id:"frost",name:"Frost",description:"Modern glassmorphic design with ethereal transparency and depth",tags:["glassmorphic","modern","light","tech","minimal","clean","elegant"],colors:{primary:"#0ea5e9",secondary:"#38bdf8",accent:"#f0f9ff",neutral:"#94a3b8"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"synapse",name:"Synapse",description:"Neural network-inspired design for tech innovators",tags:["tech","ai","modern","bold","innovative","dynamic","scientific"],colors:{primary:"#4c1d95",secondary:"#6d28d9",accent:"#2dd4bf",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"industrial"},body:{type:"stack",family:"geometric-humanist"}}},{id:"helios",name:"Helios",description:"Bright, energetic design for breakthrough products",tags:["energetic","bright","modern","tech","professional","bold","dynamic"],colors:{primary:"#0369a1",secondary:"#0891b2",accent:"#eab308",neutral:"#94a3b8"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"system-ui"}}},{id:"vault",name:"Vault",description:"Secure, trustworthy design for fintech",tags:["fintech","corporate","professional","secure","trustworthy","serious","business"],colors:{primary:"#0f172a",secondary:"#1e293b",accent:"#059669",neutral:"#475569"},typography:{base:16,heading:{type:"stack",family:"classical-humanist"},body:{type:"stack",family:"transitional"}}},{id:"covalent",name:"Covalent",description:"Connected design for collaboration platforms",tags:["collaboration","modern","tech","professional","connected","clean","startup"],colors:{primary:"#7c3aed",secondary:"#8b5cf6",accent:"#14b8a6",neutral:"#71717a"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"geometric-humanist"}}},{id:"prime",name:"Prime",description:"Premium design for high-end B2B solutions",tags:["corporate","premium","business","professional","elegant","serious","enterprise"],colors:{primary:"#0c4a6e",secondary:"#075985",accent:"#ca8a04",neutral:"#64748b"},typography:{base:16,heading:{type:"stack",family:"transitional"},body:{type:"stack",family:"system-ui"}}},{id:"flux",name:"Flux",description:"Adaptive design for transformative platforms",tags:["dynamic","modern","tech","startup","bold","innovative","energetic"],colors:{primary:"#581c87",secondary:"#7e22ce",accent:"#f59e0b",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"vivid",name:"Vivid",tags:["bold","energetic","vibrant","creative","modern","gradient","startup"],description:"Bold and expressive design with dynamic color combinations",colors:{primary:"#8b5cf6",secondary:"#ec4899",accent:"#f43f5e",neutral:"#71717a"},typography:{base:18,heading:{type:"stack",family:"transitional"},body:{type:"stack",family:"geometric-humanist"}}},{id:"serene",name:"Serene",description:"Balanced and harmonious design with natural undertones",tags:["organic","calm","earthy","healthcare","light","wellness","minimal"],colors:{primary:"#059669",secondary:"#10b981",accent:"#f59e0b",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"humanist"},body:{type:"stack",family:"humanist"}}},{id:"authority",name:"Authority",description:"Strong and reliable design with established presence",tags:["professional","corporate","serious","dark","finance","classic","business"],colors:{primary:"#1e40af",secondary:"#0369a1",accent:"#b91c1c",neutral:"#4b5563"},typography:{base:16,heading:{type:"stack",family:"classical-humanist"},body:{type:"stack",family:"transitional"}}},{id:"prestige",name:"Prestige",description:"Refined and sophisticated design with subtle luxury",tags:["luxury","elegant","dark","fashion","professional","premium","minimal"],colors:{primary:"#18181b",secondary:"#27272a",accent:"#c2855a",neutral:"#71717a"},typography:{base:16,heading:{type:"stack",family:"didone"},body:{type:"stack",family:"transitional"}}},{id:"momentum",name:"Momentum",description:"Dynamic and progressive design with forward movement",tags:["modern","energetic","vibrant","startup","tech","gradient","bold"],colors:{primary:"#7c3aed",secondary:"#2dd4bf",accent:"#f43f5e",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"tranquil",name:"Tranquil",description:"Peaceful and balanced design with gentle flow",tags:["calm","minimal","light","wellness","healthcare","professional","clean"],colors:{primary:"#0891b2",secondary:"#14b8a6",accent:"#f97316",neutral:"#78716c"},typography:{base:16,heading:{type:"stack",family:"humanist"},body:{type:"stack",family:"geometric-humanist"}}},{id:"wisdom",name:"Wisdom",description:"Engaging and insightful design with clear hierarchy",tags:["professional","education","modern","light","clean","minimal","academic"],colors:{primary:"#3b82f6",secondary:"#6366f1",accent:"#22c55e",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"system-ui"}}},{id:"warmth",name:"Warmth",description:"Rich and welcoming design with comfortable presence",tags:["organic","friendly","earthy","hospitality","welcoming","restaurant","warm"],colors:{primary:"#b91c1c",secondary:"#c2855a",accent:"#059669",neutral:"#78716c"},typography:{base:18,heading:{type:"stack",family:"transitional"},body:{type:"stack",family:"humanist"}}},{id:"trust",name:"Trust",description:"Stable and confident design with professional appeal",tags:["corporate","professional","serious","finance","business","classic","reliable"],colors:{primary:"#0c4a6e",secondary:"#475569",accent:"#84cc16",neutral:"#64748b"},typography:{base:16,heading:{type:"stack",family:"classical-humanist"},body:{type:"stack",family:"system-ui"}}},{id:"energy",name:"Energy",description:"Bold and dynamic design with vibrant intensity",tags:["bold","vibrant","modern","startup","tech","gradient","dynamic"],colors:{primary:"#6d28d9",secondary:"#22d3ee",accent:"#dc2626",neutral:"#1f2937"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"geometric-humanist"}}},{id:"elegance",name:"Elegance",description:"Graceful and refined design with subtle sophistication",tags:["luxury","elegant","fashion","premium","sophisticated","modern","refined"],colors:{primary:"#831843",secondary:"#581c87",accent:"#ca8a04",neutral:"#404040"},typography:{base:16,heading:{type:"stack",family:"didone"},body:{type:"stack",family:"transitional"}}},{id:"playful",name:"Playful",description:"Cheerful and lively design with joyful spirit",tags:["friendly","creative","vibrant","education","startup","modern","fun"],colors:{primary:"#f97316",secondary:"#4ade80",accent:"#f43f5e",neutral:"#737373"},typography:{base:16,heading:{type:"stack",family:"rounded-sans"},body:{type:"stack",family:"geometric-humanist"}}},{id:"pulse",name:"Pulse",description:"Rhythmic and engaging design with dynamic flow",tags:["dynamic","modern","creative","tech","startup","vibrant","bold"],colors:{primary:"#7e22ce",secondary:"#f43f5e",accent:"#eab308",neutral:"#525252"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"system-ui"}}},{id:"clarity-plus",name:"Clarity Plus",description:"Precise and reassuring design with professional confidence",tags:["professional","clean","modern","tech","corporate","minimal","precise"],colors:{primary:"#0891b2",secondary:"#0284c7",accent:"#6366f1",neutral:"#4b5563"},typography:{base:16,heading:{type:"stack",family:"humanist"},body:{type:"stack",family:"system-ui"}}},{id:"elevate",name:"Elevate",description:"Bold and optimistic design for ambitious startups",tags:["startup","modern","bold","professional","tech","energetic","ambitious"],colors:{primary:"#6366f1",secondary:"#818cf8",accent:"#f43f5e",neutral:"#64748b"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"scale",name:"Scale",description:"Growth-focused design with data-friendly aesthetics",tags:["professional","data","tech","growth","clean","modern","analytical"],colors:{primary:"#0f766e",secondary:"#14b8a6",accent:"#f59e0b",neutral:"#4b5563"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"system-ui"}}},{id:"vertex",name:"Vertex",description:"Sharp, decisive design for tech innovators",tags:["tech","professional","modern","bold","innovative","sharp","decisive"],colors:{primary:"#1e293b",secondary:"#334155",accent:"#06b6d4",neutral:"#94a3b8"},typography:{base:16,heading:{type:"stack",family:"industrial"},body:{type:"stack",family:"geometric-humanist"}}},{id:"launch",name:"Launch",description:"High-energy design for product launches",tags:["startup","energetic","dynamic","modern","bold","tech","vibrant"],colors:{primary:"#4f46e5",secondary:"#6366f1",accent:"#22c55e",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"system-ui"}}},{id:"pulse-pro",name:"Pulse Pro",description:"Dynamic design for SaaS and analytics platforms",tags:["tech","analytics","professional","modern","dynamic","data","saas"],colors:{primary:"#2e1065",secondary:"#4c1d95",accent:"#10b981",neutral:"#4b5563"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"horizon",name:"Horizon",description:"Forward-looking design for innovative platforms",tags:["innovative","modern","tech","professional","forward","clean","bold"],colors:{primary:"#0c4a6e",secondary:"#0369a1",accent:"#ec4899",neutral:"#64748b"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"system-ui"}}},{id:"nexus",name:"Nexus",description:"Connected design for platform startups",tags:["tech","startup","modern","professional","connected","dark","sleek"],colors:{primary:"#18181b",secondary:"#27272a",accent:"#3b82f6",neutral:"#52525b"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"spark",name:"Spark",description:"Creative design for innovative solutions",tags:["creative","modern","innovative","vibrant","dynamic","bold","tech"],colors:{primary:"#db2777",secondary:"#ec4899",accent:"#0ea5e9",neutral:"#6b7280"},typography:{base:16,heading:{type:"stack",family:"industrial"},body:{type:"stack",family:"geometric-humanist"}}},{id:"fusion",name:"Fusion",description:"Seamless design for integrated platforms",tags:["tech","modern","integrated","professional","clean","sophisticated","seamless"],colors:{primary:"#7c3aed",secondary:"#8b5cf6",accent:"#f59e0b",neutral:"#71717a"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"system-ui"}}},{id:"metric",name:"Metric",description:"Data-driven design for analytics startups",tags:["data","analytics","tech","professional","precise","modern","structured"],colors:{primary:"#0f172a",secondary:"#1e293b",accent:"#22c55e",neutral:"#475569"},typography:{base:16,heading:{type:"stack",family:"monospace-code"},body:{type:"stack",family:"neo-grotesque"}}},{id:"radius",name:"Radius",description:"Approachable design for community platforms",tags:["community","friendly","modern","approachable","clean","professional","social"],colors:{primary:"#0284c7",secondary:"#0ea5e9",accent:"#f43f5e",neutral:"#94a3b8"},typography:{base:16,heading:{type:"stack",family:"rounded-sans"},body:{type:"stack",family:"geometric-humanist"}}},{id:"swift",name:"Swift",description:"High-performance design for tech products",tags:["tech","performance","modern","professional","dark","sleek","powerful"],colors:{primary:"#020617",secondary:"#0f172a",accent:"#10b981",neutral:"#334155"},typography:{base:16,heading:{type:"stack",family:"industrial"},body:{type:"stack",family:"neo-grotesque"}}},{id:"accelerate",name:"Accelerate",description:"High-velocity design for fast-growing startups",tags:["startup","tech","modern","dynamic","professional","bold","energetic"],colors:{primary:"#3b82f6",secondary:"#60a5fa",accent:"#f43f5e",neutral:"#475569"},typography:{base:16,heading:{type:"stack",family:"geometric-humanist"},body:{type:"stack",family:"neo-grotesque"}}},{id:"nucleus-pro",name:"Nucleus Pro",description:"Core-focused design for enterprise solutions",tags:["tech","corporate","professional","modern","clean","enterprise","focused"],colors:{primary:"#1e40af",secondary:"#2563eb",accent:"#22c55e",neutral:"#64748b"},typography:{base:16,heading:{type:"stack",family:"neo-grotesque"},body:{type:"stack",family:"system-ui"}}},{id:"quantum-edge",name:"Quantum Edge",description:"Cutting-edge design for AI/ML startups",tags:["tech","ai","modern","dark","futuristic","innovative","cutting-edge"],colors:{primary:"#18181b",secondary:"#27272a",accent:"#06b6d4",neutral:"#52525b"},typography:{base:16,heading:{type:"stack",family:"monospace-code"},body:{type:"stack",family:"neo-grotesque"}}}];export{e as themes};
@@ -1,7 +1,7 @@
1
1
  import type { Theme } from "../theme";
2
2
  export { default as chroma } from "chroma-js";
3
3
  export type ColorType = "primary" | "secondary" | "accent" | "neutral";
4
- export type ElementColorType = "page-background" | "background" | "text" | "page-text" | "border" | "shadow" | "accent";
4
+ export type ElementColorType = "page-background" | "background" | "text" | "border" | "shadow";
5
5
  export type HarmonyType = "complementary" | "analogous" | "triadic" | "split-complementary" | "tetradic";
6
6
  export declare const colorAdjustments: readonly ["pastel", "soft", "default", "bold", "vibrant", "muted", "deep"];
7
7
  export declare const colorAdjustmentsLuminous: readonly ["pastel", "soft", "default", "bold", "vibrant"];
@@ -21,11 +21,9 @@ interface ContrastRequirements {
21
21
  preferredContrast: number;
22
22
  }
23
23
  export declare function isStandardColor(color: unknown): boolean;
24
- /**
25
- * @deprecated Not working well with gradients
26
- */
27
- export declare const generateReadableTextColor: (backgroundColor: string, requirements?: ContrastRequirements) => string;
24
+ export declare function getTextContrastedColor(element: HTMLElement): "#FFFFFF" | "#000000";
28
25
  export declare function propToStyle(prop: string | number | undefined, cssAttr: string): string | undefined;
26
+ export declare function propToClass(value: string | number | undefined, classPrefix: string): string | undefined;
29
27
  export declare function generateColorsVars(theme: Theme): Record<string, string>;
30
28
  interface TextColors {
31
29
  base: string;
@@ -1 +1 @@
1
- {"version":3,"file":"color-system.d.ts","sourceRoot":"","sources":["../../../src/shared/themes/color-system.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AACvE,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,YAAY,GACZ,MAAM,GACN,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAEzG,eAAO,MAAM,gBAAgB,4EAA6E,CAAC;AAC3G,eAAO,MAAM,wBAAwB,2DAA4D,CAAC;AAClG,eAAO,MAAM,uBAAuB,4BAA6B,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,MAAM,gFAAiF,CAAC;AAGrG,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAGlC,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,YAAa,MAAM,eAAe,WAAW,aAa1E,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,YAiBjF;AAED,eAAO,MAAM,cAAc,cAAe,MAAM,2BAsF/C,CAAC;AAEF,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOvD;AAOD;;GAEG;AACH,eAAO,MAAM,yBAAyB,oBACnB,MAAM,iBACT,oBAAoB,KACjC,MAsCF,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,sBAM7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,0BA6B9C;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,oBACZ,MAAM,iBACT,oBAAoB,KACjC,UA+DF,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FhB,CAAC;AAGX,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAyIzF,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,CAAC;AAuJZ,eAAO,MAAM,sBAAsB,YAAa,YAAY,aAAa,SAAS;;;;;;;;;;;;;;;;;CA4BjF,CAAC"}
1
+ {"version":3,"file":"color-system.d.ts","sourceRoot":"","sources":["../../../src/shared/themes/color-system.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import a from"chroma-js";import{default as Q}from"chroma-js";import{colors as g,css as M,tx as B}from"@upstart.gg/style-system/twind";var P=["pastel","soft","default","bold","vibrant","muted","deep"],V=["pastel","soft","default","bold","vibrant"],I=["muted","deep"],q=["900","800","700","600","500","400","300","200","100","50"],w=(e,n)=>{switch(n){case"complementary":return[e,(e+180)%360];case"analogous":return[(e-30+360)%360,e,(e+30)%360];case"triadic":return[e,(e+120)%360,(e+240)%360];case"split-complementary":return[e,(e+150)%360,(e+210)%360];case"tetradic":return[e,(e+90)%360,(e+180)%360,(e+270)%360]}};function W(e,n){let t=typeof e=="string"?a(e).get("hsl.h"):e,i=[...Object.values(n.colors).map(c=>a(c).get("hsl.h")),t];return Array.from(new Set([...w(t,"complementary"),...w(t,"analogous"),...w(t,"triadic"),...w(t,"tetradic"),...w(t,"split-complementary")])).sort().filter(c=>i.includes(c)===!1).slice(0,8)}var L=e=>{let n=a(e).oklab(),[t,s,i]=n,c=Math.sqrt(s*s+i*i),r=Math.atan2(i,s),u={50:[.52,.1],100:[.45,.2],200:[.35,.35],300:[.2,.8],400:[.1,.8],500:[0,1],600:[-.05,1.1],700:[-.1,1.2],800:[-.15,1.3],900:[-.2,1.4]},o={},m=new Set;return Object.entries(u).forEach(([l,[C,y]])=>{try{let b=Math.max(.01,Math.min(.99,t+C)),h=c*y,f=h*Math.cos(r),d=h*Math.sin(r),p=a.oklab(b,f,d).hex(),v=parseInt(l,10);if(m.has(p)){let $=b+(v>500?-.02:.02),x=h*(v>500?1.05:.95),T=x*Math.cos(r),F=x*Math.sin(r);o[l]=a.oklab($,T,F).hex()}else o[l]=p;m.add(o[l])}catch(b){console.error(`Error generating shade ${l}:`,b),o[l]=e}}),new Set(Object.values(o)).size!==Object.keys(u).length&&Object.entries(o).forEach(([l,C],y)=>{if(y>0&&o[Object.keys(o)[y-1]]===C){let[b,h]=u[l],f=t+b*1.2,d=c*(h*1.1),p=d*Math.cos(r),v=d*Math.sin(r);o[l]=a.oklab(f,p,v).hex()}}),o};function S(e){return typeof e!="string"?!1:e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("#")||e.startsWith("var(--")}function R(e){let n=e.match(/\s((from|to-)[\S]+)/);return n?n[1]:e}var E=(e,n={minContrast:4.5,preferredContrast:7})=>{if(!S(e)){e=R(e),console.log("backgroundColor rewrite to",e);let t=document.querySelector(`.${e}`);if(!t)return console.warn("No matching element:",e),"#000000";e=window.getComputedStyle(t).backgroundColor,console.log("backgroundColor from element",e)}try{let t=a(e).luminance(),s=a.contrast(e,"#000000"),i=a.contrast(e,"#FFFFFF");return i>=n.minContrast||s>=n.minContrast?i>s?"#FFFFFF":"#000000":t>.5?"#FFFFFF":"#000000"}catch{return console.warn("Invalid color provided:",e),"#000000"}};function G(e,n){if(!(typeof e>"u"))return S(e)||typeof e=="number"?M({[n]:e}):B(e)}function Y(e){let n=Object.entries(e.colors).reduce((t,[s,i])=>{t[`color-${s}`]=i;for(let[c,r]of Object.entries(L(i))){t[`color-${s}-${c}`]=r;for(let[u,o]of Object.entries(j(r)))u==="base"?t[`text-${s}-${c}`]=o:t[`text-${s}-${c}-${u}`]=o}return t},{});return n["color-gray-50"]=g.gray[50],n["color-gray-100"]=g.gray[100],n["color-gray-200"]=g.gray[200],n["color-gray-300"]=g.gray[300],n["color-gray-400"]=g.gray[400],n["color-gray-500"]=g.gray[500],n["color-gray-600"]=g.gray[600],n["color-gray-700"]=g.gray[700],n["color-gray-800"]=g.gray[800],n["color-gray-900"]=g.gray[900],n}var j=(e,n={minContrast:4.5,preferredContrast:7})=>{try{let t=a(e),s=t.luminance(),[i,c,r]=t.hsl(),u=s>.5?"#000000":"#FFFFFF",o={base:u,subtle:a.mix(e,u,.4).hex(),strong:a.mix(e,u,.9).hex()},m=f=>{let d=c,p=a.hsl(i,d,f);for(;a.contrast(e,p)<n.minContrast&&d<1;)d=Math.min(1,d+.1),p=a.hsl(i,d,f);return p.hex()},k=m(Math.min(.95,r+.4)),l=m(Math.max(.05,r-.4)),C=a.contrast(e,k),y=a.contrast(e,l),h={tonal:C>y?k:l,"tonal-subtle":s>.5?m(Math.max(.1,r-.2)):m(Math.min(.9,r+.2)),"tonal-strong":s>.5?m(Math.max(.05,r-.6)):m(Math.min(.95,r+.6))};return{...o,...h}}catch{return console.warn("Invalid color provided:",e),{base:"#000000",subtle:"#000000",strong:"#000000",tonal:"#000000","tonal-subtle":"#000000","tonal-strong":"#000000"}}},z={Reds:[{name:"Red",base:0,description:"Pure red"},{name:"Vermilion",base:5,description:"Bright red-orange"},{name:"Scarlet",base:10,description:"Bright orange-red"},{name:"Carmine",base:345,description:"Deep red with purple"},{name:"Ruby",base:350,description:"Deep, rich red"},{name:"Cherry",base:355,description:"Deep red with slight blue"}],Pinks:[{name:"Coral",base:15,description:"Orange-pink"},{name:"Rose",base:330,description:"Deep pink"},{name:"Hot Pink",base:335,description:"Vivid pink"},{name:"Pink",base:340,description:"True pink"},{name:"Rose Gold",base:345,description:"Metallic pink"},{name:"Fuchsia",base:320,description:"Vivid purple-pink"},{name:"Magenta",base:300,description:"Pure magenta"}],Purples:[{name:"Purple",base:270,description:"True purple"},{name:"Lavender",base:275,description:"Light purple"},{name:"Violet",base:280,description:"Blue-purple"},{name:"Mauve",base:285,description:"Muted purple"},{name:"Plum",base:290,description:"Deep purple"},{name:"Orchid",base:295,description:"Light violet-purple"}],Blues:[{name:"Arctic",base:200,description:"Icy blue"},{name:"Cerulean",base:205,description:"Sky-ocean blue"},{name:"Blue",base:210,description:"True blue"},{name:"Cobalt",base:215,description:"Pure deep blue"},{name:"Navy",base:220,description:"Dark blue"},{name:"Indigo",base:230,description:"Deep blue-purple"}],Cyans:[{name:"Aquamarine",base:160,description:"Light blue-green"},{name:"Teal",base:170,description:"Dark blue-green"},{name:"Turquoise",base:175,description:"Blue-green"},{name:"Cyan",base:180,description:"Pure cyan"},{name:"Ocean",base:185,description:"Deep water blue"},{name:"Aqua",base:190,description:"Light blue-green"}],Greens:[{name:"Lime",base:90,description:"Yellow-tinted green"},{name:"Olive",base:110,description:"Yellow-green"},{name:"Green",base:120,description:"True green"},{name:"Jade",base:130,description:"Rich medium green"},{name:"Sage",base:135,description:"Muted green"},{name:"Emerald",base:140,description:"Bright green"},{name:"Forest",base:150,description:"Dark green"},{name:"Mint",base:160,description:"Light cool green"}],Yellows:[{name:"Honey",base:43,description:"Warm yellow"},{name:"Gold",base:45,description:"Yellow-orange"},{name:"Banana",base:52,description:"Warm light yellow"},{name:"Butter",base:55,description:"Soft yellow"},{name:"Lemon",base:58,description:"Light yellow"},{name:"Yellow",base:60,description:"True yellow"}],Oranges:[{name:"Rust",base:20,description:"Dark orange-brown"},{name:"Tangerine",base:25,description:"Bright orange"},{name:"Orange",base:30,description:"True orange"},{name:"Marigold",base:35,description:"Deep yellow-orange"}],Browns:[{name:"Sienna",base:20,description:"Reddish brown"},{name:"Cedar",base:22,description:"Red-tinted brown"},{name:"Brown",base:25,description:"True brown"},{name:"Sepia",base:30,description:"Warm dark brown"},{name:"Tan",base:34,description:"Light brown"},{name:"Khaki",base:37,description:"Yellow-brown"}],Grays:[{name:"Charcoal",base:200,description:"Dark gray",lowSaturation:!0},{name:"Silver",base:210,description:"Light metallic gray",lowSaturation:!0},{name:"Slate",base:215,description:"Blue-gray",lowSaturation:!0},{name:"Gray",base:220,description:"True gray",lowSaturation:!0},{name:"Steel",base:225,description:"Cool gray",lowSaturation:!0}]},K={default:{primary:{saturation:65,lightness:50},secondary:{saturation:65,lightness:50},accent:{saturation:65,lightness:50},neutral:{saturation:10,lightness:50}},pastel:{primary:{saturation:55,lightness:68},secondary:{saturation:55,lightness:68},accent:{saturation:55,lightness:68},neutral:{saturation:5,lightness:68}},soft:{primary:{saturation:45,lightness:60},secondary:{saturation:45,lightness:60},accent:{saturation:45,lightness:60},neutral:{saturation:8,lightness:60}},bold:{primary:{saturation:70,lightness:45},secondary:{saturation:70,lightness:45},accent:{saturation:70,lightness:45},neutral:{saturation:12,lightness:45}},deep:{primary:{saturation:60,lightness:40},secondary:{saturation:60,lightness:40},accent:{saturation:60,lightness:40},neutral:{saturation:10,lightness:40}},vibrant:{primary:{saturation:75,lightness:55},secondary:{saturation:75,lightness:55},accent:{saturation:75,lightness:55},neutral:{saturation:15,lightness:55}},muted:{primary:{saturation:37,lightness:48},secondary:{saturation:37,lightness:48},accent:{saturation:37,lightness:48},neutral:{saturation:8,lightness:48}}},D={surface:{background:{base:"50",hover:"100",active:"200",disabled:"50"},content:{useContrast:!0,useTonal:!1},description:"Light backgrounds for large surfaces and containers",usage:["Page backgrounds","Cards","Containers","Panels","Sidebars"]},filled:{background:{base:"600",hover:"700",active:"800",disabled:"400"},content:{useContrast:!0,useTonal:!1},description:"Solid colored backgrounds with contrasting content",usage:["Primary buttons","Call-to-action elements","Selected states","Important UI elements","Navigation items"]},soft:{background:{base:"100",hover:"200",active:"300",disabled:"50"},content:{useContrast:!1,useTonal:!0},description:"Subtle, gentle color application for secondary elements",usage:["Secondary buttons","Background highlights","Selected items","Tags","Chips"]},ghost:{background:{base:"transparent",hover:"50",active:"100",disabled:"transparent"},content:{useContrast:!1,useTonal:!0},description:"Transparent background with colored content",usage:["Text buttons","Links","Menu items","Low-emphasis actions","Inline elements"]},outlined:{background:{base:"transparent",hover:"50",active:"100",disabled:"transparent"},content:{useContrast:!1,useTonal:!0},description:"Bordered elements with optional light background on interaction",usage:["Secondary buttons","Selectable cards","Input fields","Dropdown triggers","Menu items"]},faded:{background:{base:"50",hover:"100",active:"100",disabled:"50"},content:{useContrast:!1,useTonal:!0},description:"Very light, subtle color application",usage:["Background accents","Disabled states","Inactive elements","Secondary information","Subtle indicators"]},glazed:{background:{base:"100",hover:"200",active:"300",disabled:"50"},content:{useContrast:!0,useTonal:!1},description:"Semi-transparent color application with blur effect",usage:["Modal backgrounds","Overlay panels","Floating elements","Tooltips","Context menus"]},solid:{background:{base:"500",hover:"600",active:"700",disabled:"300"},content:{useContrast:!0,useTonal:!1},description:"Full solid color application with medium emphasis",usage:["Headers","Navigation bars","Important sections","Progress indicators","Status indicators"]}},J=(e,n)=>{let t=D[e];return{base:{background:`bg-${n}-${t.background.base}`,content:t.content.useTonal?`text-${n}-${t.background.base}-tonal`:`text-${n}-${t.background.base}-base`},hover:{background:`hover:bg-${n}-${t.background.hover}`,content:t.content.useTonal?`hover:text-${n}-${t.background.hover}-tonal`:`hover:text-${n}-${t.background.hover}-base`},active:{background:`active:bg-${n}-${t.background.active}`,content:t.content.useTonal?`active:text-${n}-${t.background.active}-tonal`:`active:text-${n}-${t.background.active}-base`},disabled:{background:`bg-${n}-${t.background.disabled}`,content:t.content.useTonal?`text-${n}-${t.background.disabled}-tonal`:`text-${n}-${t.background.disabled}-base`}}};export{Q as chroma,K as colorAdjustmentBaseValues,P as colorAdjustments,V as colorAdjustmentsLuminous,I as colorAdjustmentsSubdued,z as colorFamilies,Y as generateColorsVars,E as generateReadableTextColor,L as generateShades,j as generateTextColors,J as generateVariantClasses,W as getColorsSuggestions,w as getHarmoniousHues,S as isStandardColor,G as propToStyle,q as shades};
3
+ import s from"chroma-js";import{default as X}from"chroma-js";import{colors as p,css as F,tx as L}from"@upstart.gg/style-system/twind";var V=["pastel","soft","default","bold","vibrant","muted","deep"],I=["pastel","soft","default","bold","vibrant"],q=["muted","deep"],E=["900","800","700","600","500","400","300","200","100","50"],k=(e,t)=>{switch(t){case"complementary":return[e,(e+180)%360];case"analogous":return[(e-30+360)%360,e,(e+30)%360];case"triadic":return[e,(e+120)%360,(e+240)%360];case"split-complementary":return[e,(e+150)%360,(e+210)%360];case"tetradic":return[e,(e+90)%360,(e+180)%360,(e+270)%360]}};function W(e,t){let n=typeof e=="string"?s(e).get("hsl.h"):e,r=[...Object.values(t.colors).map(c=>s(c).get("hsl.h")),n];return Array.from(new Set([...k(n,"complementary"),...k(n,"analogous"),...k(n,"triadic"),...k(n,"tetradic"),...k(n,"split-complementary")])).sort().filter(c=>r.includes(c)===!1).slice(0,8)}var R=e=>{let t=s(e).oklab(),[n,i,r]=t,c=Math.sqrt(i*i+r*r),a=Math.atan2(r,i),l={50:[.52,.1],100:[.45,.2],200:[.35,.35],300:[.2,.8],400:[.1,.8],500:[0,1],600:[-.05,1.1],700:[-.1,1.2],800:[-.15,1.3],900:[-.2,1.4]},o={},u=new Set;return Object.entries(l).forEach(([d,[C,y]])=>{try{let m=Math.max(.01,Math.min(.99,n+C)),h=c*y,f=h*Math.cos(a),g=h*Math.sin(a),b=s.oklab(m,f,g).hex(),w=parseInt(d,10);if(u.has(b)){let $=m+(w>500?-.02:.02),v=h*(w>500?1.05:.95),M=v*Math.cos(a),B=v*Math.sin(a);o[d]=s.oklab($,M,B).hex()}else o[d]=b;u.add(o[d])}catch(m){console.error(`Error generating shade ${d}:`,m),o[d]=e}}),new Set(Object.values(o)).size!==Object.keys(l).length&&Object.entries(o).forEach(([d,C],y)=>{if(y>0&&o[Object.keys(o)[y-1]]===C){let[m,h]=l[d],f=n+m*1.2,g=c*(h*1.1),b=g*Math.cos(a),w=g*Math.sin(a);o[d]=s.oklab(f,b,w).hex()}}),o};function T(e){return typeof e!="string"?!1:e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("#")||e.startsWith("var(--")}var S={minContrast:4,preferredContrast:7};function j(e){let t=window.getComputedStyle(e),{backgroundColor:n,backgroundImage:i}=t,r=s(n);if(r.alpha()<.7){if(i!=="none"){let l=i.match(/(rgb|hsl)\(.*?\)/g);if(l)for(let o of l){let u=s(o);(u.luminance()<r.luminance()||!r.luminance())&&(r=u)}}if(r.alpha()<.7){let l=e.parentElement;if(l)return j(l)}}let c=s.contrast(r,"#000000"),a=s.contrast(r,"#FFFFFF");return(a>=S.minContrast||c>=S.minContrast)&&(a>c||c-a<2)?"#FFFFFF":"#000000"}function G(e,t){if(!(typeof e>"u"))return T(e)||typeof e=="number"?F({[t]:e}):L(e)}function Y(e,t){if(!(typeof e>"u"))return T(e)||typeof e=="number"?`${t}-[${e}]`:e}function z(e){let t=Object.entries(e.colors).reduce((n,[i,r])=>{n[`color-${i}`]=r;for(let[c,a]of Object.entries(R(r))){n[`color-${i}-${c}`]=a;for(let[l,o]of Object.entries(D(a)))l==="base"?n[`text-${i}-${c}`]=o:n[`text-${i}-${c}-${l}`]=o}return n},{});return t["color-gray-50"]=p.gray[50],t["color-gray-100"]=p.gray[100],t["color-gray-200"]=p.gray[200],t["color-gray-300"]=p.gray[300],t["color-gray-400"]=p.gray[400],t["color-gray-500"]=p.gray[500],t["color-gray-600"]=p.gray[600],t["color-gray-700"]=p.gray[700],t["color-gray-800"]=p.gray[800],t["color-gray-900"]=p.gray[900],t}var D=(e,t={minContrast:4.5,preferredContrast:7})=>{try{let n=s(e),i=n.luminance(),[r,c,a]=n.hsl(),l=i>.5?"#000000":"#FFFFFF",o={base:l,subtle:s.mix(e,l,.4).hex(),strong:s.mix(e,l,.9).hex()},u=f=>{let g=c,b=s.hsl(r,g,f);for(;s.contrast(e,b)<t.minContrast&&g<1;)g=Math.min(1,g+.1),b=s.hsl(r,g,f);return b.hex()},x=u(Math.min(.95,a+.4)),d=u(Math.max(.05,a-.4)),C=s.contrast(e,x),y=s.contrast(e,d),h={tonal:C>y?x:d,"tonal-subtle":i>.5?u(Math.max(.1,a-.2)):u(Math.min(.9,a+.2)),"tonal-strong":i>.5?u(Math.max(.05,a-.6)):u(Math.min(.95,a+.6))};return{...o,...h}}catch{return console.warn("Invalid color provided:",e),{base:"#000000",subtle:"#000000",strong:"#000000",tonal:"#000000","tonal-subtle":"#000000","tonal-strong":"#000000"}}},K={Reds:[{name:"Red",base:0,description:"Pure red"},{name:"Vermilion",base:5,description:"Bright red-orange"},{name:"Scarlet",base:10,description:"Bright orange-red"},{name:"Carmine",base:345,description:"Deep red with purple"},{name:"Ruby",base:350,description:"Deep, rich red"},{name:"Cherry",base:355,description:"Deep red with slight blue"}],Pinks:[{name:"Coral",base:15,description:"Orange-pink"},{name:"Rose",base:330,description:"Deep pink"},{name:"Hot Pink",base:335,description:"Vivid pink"},{name:"Pink",base:340,description:"True pink"},{name:"Rose Gold",base:345,description:"Metallic pink"},{name:"Fuchsia",base:320,description:"Vivid purple-pink"},{name:"Magenta",base:300,description:"Pure magenta"}],Purples:[{name:"Purple",base:270,description:"True purple"},{name:"Lavender",base:275,description:"Light purple"},{name:"Violet",base:280,description:"Blue-purple"},{name:"Mauve",base:285,description:"Muted purple"},{name:"Plum",base:290,description:"Deep purple"},{name:"Orchid",base:295,description:"Light violet-purple"}],Blues:[{name:"Arctic",base:200,description:"Icy blue"},{name:"Cerulean",base:205,description:"Sky-ocean blue"},{name:"Blue",base:210,description:"True blue"},{name:"Cobalt",base:215,description:"Pure deep blue"},{name:"Navy",base:220,description:"Dark blue"},{name:"Indigo",base:230,description:"Deep blue-purple"}],Cyans:[{name:"Aquamarine",base:160,description:"Light blue-green"},{name:"Teal",base:170,description:"Dark blue-green"},{name:"Turquoise",base:175,description:"Blue-green"},{name:"Cyan",base:180,description:"Pure cyan"},{name:"Ocean",base:185,description:"Deep water blue"},{name:"Aqua",base:190,description:"Light blue-green"}],Greens:[{name:"Lime",base:90,description:"Yellow-tinted green"},{name:"Olive",base:110,description:"Yellow-green"},{name:"Green",base:120,description:"True green"},{name:"Jade",base:130,description:"Rich medium green"},{name:"Sage",base:135,description:"Muted green"},{name:"Emerald",base:140,description:"Bright green"},{name:"Forest",base:150,description:"Dark green"},{name:"Mint",base:160,description:"Light cool green"}],Yellows:[{name:"Honey",base:43,description:"Warm yellow"},{name:"Gold",base:45,description:"Yellow-orange"},{name:"Banana",base:52,description:"Warm light yellow"},{name:"Butter",base:55,description:"Soft yellow"},{name:"Lemon",base:58,description:"Light yellow"},{name:"Yellow",base:60,description:"True yellow"}],Oranges:[{name:"Rust",base:20,description:"Dark orange-brown"},{name:"Tangerine",base:25,description:"Bright orange"},{name:"Orange",base:30,description:"True orange"},{name:"Marigold",base:35,description:"Deep yellow-orange"}],Browns:[{name:"Sienna",base:20,description:"Reddish brown"},{name:"Cedar",base:22,description:"Red-tinted brown"},{name:"Brown",base:25,description:"True brown"},{name:"Sepia",base:30,description:"Warm dark brown"},{name:"Tan",base:34,description:"Light brown"},{name:"Khaki",base:37,description:"Yellow-brown"}],Grays:[{name:"Charcoal",base:200,description:"Dark gray",lowSaturation:!0},{name:"Silver",base:210,description:"Light metallic gray",lowSaturation:!0},{name:"Slate",base:215,description:"Blue-gray",lowSaturation:!0},{name:"Gray",base:220,description:"True gray",lowSaturation:!0},{name:"Steel",base:225,description:"Cool gray",lowSaturation:!0}]},J={default:{primary:{saturation:65,lightness:50},secondary:{saturation:65,lightness:50},accent:{saturation:65,lightness:50},neutral:{saturation:10,lightness:50}},pastel:{primary:{saturation:55,lightness:68},secondary:{saturation:55,lightness:68},accent:{saturation:55,lightness:68},neutral:{saturation:5,lightness:68}},soft:{primary:{saturation:45,lightness:60},secondary:{saturation:45,lightness:60},accent:{saturation:45,lightness:60},neutral:{saturation:8,lightness:60}},bold:{primary:{saturation:70,lightness:45},secondary:{saturation:70,lightness:45},accent:{saturation:70,lightness:45},neutral:{saturation:12,lightness:45}},deep:{primary:{saturation:60,lightness:40},secondary:{saturation:60,lightness:40},accent:{saturation:60,lightness:40},neutral:{saturation:10,lightness:40}},vibrant:{primary:{saturation:75,lightness:55},secondary:{saturation:75,lightness:55},accent:{saturation:75,lightness:55},neutral:{saturation:15,lightness:55}},muted:{primary:{saturation:37,lightness:48},secondary:{saturation:37,lightness:48},accent:{saturation:37,lightness:48},neutral:{saturation:8,lightness:48}}},A={surface:{background:{base:"50",hover:"100",active:"200",disabled:"50"},content:{useContrast:!0,useTonal:!1},description:"Light backgrounds for large surfaces and containers",usage:["Page backgrounds","Cards","Containers","Panels","Sidebars"]},filled:{background:{base:"600",hover:"700",active:"800",disabled:"400"},content:{useContrast:!0,useTonal:!1},description:"Solid colored backgrounds with contrasting content",usage:["Primary buttons","Call-to-action elements","Selected states","Important UI elements","Navigation items"]},soft:{background:{base:"100",hover:"200",active:"300",disabled:"50"},content:{useContrast:!1,useTonal:!0},description:"Subtle, gentle color application for secondary elements",usage:["Secondary buttons","Background highlights","Selected items","Tags","Chips"]},ghost:{background:{base:"transparent",hover:"50",active:"100",disabled:"transparent"},content:{useContrast:!1,useTonal:!0},description:"Transparent background with colored content",usage:["Text buttons","Links","Menu items","Low-emphasis actions","Inline elements"]},outlined:{background:{base:"transparent",hover:"50",active:"100",disabled:"transparent"},content:{useContrast:!1,useTonal:!0},description:"Bordered elements with optional light background on interaction",usage:["Secondary buttons","Selectable cards","Input fields","Dropdown triggers","Menu items"]},faded:{background:{base:"50",hover:"100",active:"100",disabled:"50"},content:{useContrast:!1,useTonal:!0},description:"Very light, subtle color application",usage:["Background accents","Disabled states","Inactive elements","Secondary information","Subtle indicators"]},glazed:{background:{base:"100",hover:"200",active:"300",disabled:"50"},content:{useContrast:!0,useTonal:!1},description:"Semi-transparent color application with blur effect",usage:["Modal backgrounds","Overlay panels","Floating elements","Tooltips","Context menus"]},solid:{background:{base:"500",hover:"600",active:"700",disabled:"300"},content:{useContrast:!0,useTonal:!1},description:"Full solid color application with medium emphasis",usage:["Headers","Navigation bars","Important sections","Progress indicators","Status indicators"]}},U=(e,t)=>{let n=A[e];return{base:{background:`bg-${t}-${n.background.base}`,content:n.content.useTonal?`text-${t}-${n.background.base}-tonal`:`text-${t}-${n.background.base}-base`},hover:{background:`hover:bg-${t}-${n.background.hover}`,content:n.content.useTonal?`hover:text-${t}-${n.background.hover}-tonal`:`hover:text-${t}-${n.background.hover}-base`},active:{background:`active:bg-${t}-${n.background.active}`,content:n.content.useTonal?`active:text-${t}-${n.background.active}-tonal`:`active:text-${t}-${n.background.active}-base`},disabled:{background:`bg-${t}-${n.background.disabled}`,content:n.content.useTonal?`text-${t}-${n.background.disabled}-tonal`:`text-${t}-${n.background.disabled}-base`}}};export{X as chroma,J as colorAdjustmentBaseValues,V as colorAdjustments,I as colorAdjustmentsLuminous,q as colorAdjustmentsSubdued,K as colorFamilies,z as generateColorsVars,R as generateShades,D as generateTextColors,U as generateVariantClasses,W as getColorsSuggestions,k as getHarmoniousHues,j as getTextContrastedColor,T as isStandardColor,Y as propToClass,G as propToStyle,E as shades};
@@ -0,0 +1,2 @@
1
+ export declare const canvasDataURI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTYwMCA5MDAiIGlkPSJsYW5kc2NhcGUtc2NlbmUiPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMTE5My44NCIgeDI9IjExMjAuMTYiIHkxPSIyNzcuOCIgeTI9IjcyOC41NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYiPjwvc3RvcD4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNjY2Ij48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNjIiBpZD0iaCIgeDE9IjMzNC41NSIgeDI9IjU5My43NSIgeTE9IjE4MyIgeTI9Ijk2MC42Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJxIiB4MT0iNzgzLjUzIiB4Mj0iODEyLjMzIiB5MT0iLTU4LjM2IiB5Mj0iNTUyLjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNzFhZGQyIj48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiI+PC9zdG9wPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iaSIgeDE9IjExOTMuODQiIHgyPSIxMTIwLjE2IiB5MT0iMjc3LjgiIHkyPSI3MjguNTUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZjJmMmYyIj48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzlhYmRkYiI+PC9zdG9wPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjaSIgaWQ9InQiIHgxPSIzMzQuNTUiIHgyPSI1OTMuNzUiIHkxPSIxODMiIHkyPSI5NjAuNiI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iayIgeDE9IjQ2Ni4zMyIgeDI9IjQ1Ny42OSIgeTE9IjIxOS40IiB5Mj0iOTI3Ljg4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzliZTZlZSI+PC9zdG9wPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNkMWU1ZmYiPjwvc3RvcD4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImoiIHgxPSI0NjYuMzEiIHgyPSI0NTcuNzIiIHkxPSIyMjEuNDQiIHkyPSI5MjUuNDEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjOTFlZWVjIj48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2QxZTVmZiI+PC9zdG9wPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0idSIgeDE9IjEwMDkuMTYiIHgyPSIxMDAxLjc1IiB5MT0iMjYwLjc1IiB5Mj0iODY4LjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzc5ZGRlOCI+PC9zdG9wPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNkMWU1ZmYiPjwvc3RvcD4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2oiIGlkPSJ2IiB4MT0iMTAwOS4xNiIgeDI9IjEwMDEuNzUiIHkxPSIyNjAuNzUiIHkyPSI4NjguNTYiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2siIGlkPSJ3IiB4MT0iNzY0LjQ3IiB4Mj0iODA3LjY3IiB5MT0iMzAwLjI3IiB5Mj0iMTEyMS4wNyI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjaiIgaWQ9IngiIHgxPSI2NTEuMTEiIHgyPSI2ODcuNzEiIHkxPSIzMTQuMzMiIHkyPSIxMDA5LjgzIj48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJ5IiB4MT0iOTM1LjcyIiB4Mj0iOTUyLjA3IiB5MT0iMjUxLjUyIiB5Mj0iNzIwLjEyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2VjZmM3MSI+PC9zdG9wPgogICAgICA8c3RvcCBvZmZzZXQ9Ii45IiBzdG9wLWNvbG9yPSIjOTlmMjhmIj48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJ6IiB4MT0iOTM2LjQiIHgyPSI5NTEuMTgiIHkxPSIyNzAuOTgiIHkyPSI2OTQuNjkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZWNmYzcxIj48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iLjkiIHN0b3AtY29sb3I9IiNiMmYyYWIiPjwvc3RvcD4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImwiIHgxPSI5NjIuMjUiIHgyPSI5NDQuMzYiIHkxPSI1MjUuNDkiIHkyPSI1NjIuNjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjYTY3ZTFiIj48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iLjk4IiBzdG9wLWNvbG9yPSIjYjU2ZDJlIj48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJtIiB4MT0iMTAwMS4wNCIgeDI9IjkyNi4xNiIgeTE9IjM0NS41MyIgeTI9IjUwMS4wNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzODg4MzAiPjwvc3RvcD4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNGZkMTQxIj48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNsIiBpZD0iQSIgeDE9IjEwNjUuODYiIHgyPSIxMDQ3Ljk3IiB5MT0iNTQ4LjI3IiB5Mj0iNTg1LjQ0Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNtIiBpZD0iQiIgeDE9IjEwOTMuMDUiIHgyPSIxMDM1LjQ2IiB5MT0iNDEzLjI3IiB5Mj0iNTMyLjg4Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNsIiBpZD0iQyIgeDE9IjM3OS42MSIgeDI9IjM2Ni4zMiIgeTE9IjQ3NC41MSIgeTI9IjUwMi4xIj48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNtIiBpZD0iRCIgeDE9IjM5Ni4yOCIgeDI9IjM1OC44NCIgeTE9IjM4OC4wOSIgeTI9IjQ2NS44NSI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iRSIgeDE9IjU3Mi4xNSIgeDI9IjU4Mi4zOCIgeTE9IjgzOC4xNCIgeTI9IjUxMC43MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM3MWU5NjAiPjwvc3RvcD4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZWZmYzhiIj48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJGIiB4MT0iNTc5LjMxIiB4Mj0iNTgyLjMyIiB5MT0iNjA5LjA2IiB5Mj0iNTEyLjYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNzhlOTY4Ij48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2VjZmM3MSI+PC9zdG9wPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibiIgeDE9IjgzOC4zNCIgeDI9Ijg2NS4zMSIgeTE9IjU0MC41MyIgeTI9IjkxOC4xIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2IwZDk2OCI+PC9zdG9wPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0ZmQxNDEiPjwvc3RvcD4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI24iIGlkPSJHIiB4MT0iODQ3LjMxIiB4Mj0iODU0LjI3IiB5MT0iNTkxLjg5IiB5Mj0iNjg5LjMyIj48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJvIiB4MT0iODEyLjQ3IiB4Mj0iNzk5LjU2IiB5MT0iOTA1Ljk1IiB5Mj0iNjEzLjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjYmJhZjUxIj48L3N0b3A+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZjZWI2YyI+PC9zdG9wPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjbSIgaWQ9IkgiIHgxPSI1MjIuNzYiIHgyPSI1MjcuOTgiIHkxPSI4MTcuMDIiIHkyPSI2OTkuMTUiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI20iIGlkPSJJIiB4MT0iNzg2LjYxIiB4Mj0iODA3LjYyIiB5MT0iMTExMy4xMSIgeTI9IjYzOC4zMyI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjbyIgaWQ9IkoiIHgxPSIxMzA5LjQ2IiB4Mj0iMTMzMy44OSIgeTE9Ijc0Ny43MiIgeTI9IjkwMy44MiI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iSyIgeDE9IjQ5MC44MyIgeDI9IjYzMS43MyIgeTE9Ijk4MS40NSIgeTI9IjcwMi4zNiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM1MWI4NDYiPjwvc3RvcD4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNDU4ODNmIj48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNtIiBpZD0iTCIgeDE9IjIzMC43IiB4Mj0iMjM5LjkyIiB5MT0iNzA4LjEzIiB5Mj0iNzgwLjA5Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNsIiBpZD0iTSIgeDE9IjI0Ni41OSIgeDI9IjI0OS4zIiB5MT0iNjg3LjA5IiB5Mj0iNzQ0LjQ1Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNsIiBpZD0iTiIgeDE9IjI0MS42MSIgeDI9IjI0NC4zIiB5MT0iNjg3LjMzIiB5Mj0iNzQ0LjM0Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwIiB4MT0iLTI2NzAuNjEiIHgyPSItMjYzNC4yNiIgeTE9IjQwNC43OCIgeTI9IjYzNyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAtMjM5MC44OCAwKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM1OWI4NGYiPjwvc3RvcD4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzg4ODMwIj48L3N0b3A+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNwIiBpZD0iTyIgeDE9IjIxMS4yMSIgeDI9IjI0Ny41MSIgeTE9IjQwNS45IiB5Mj0iNjM3Ljg3Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNwIiBpZD0iUCIgeDE9IjI2NC41OSIgeDI9IjI3Ni40MiIgeTE9IjU3Ni42NyIgeTI9IjYxMi4xNyI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9IlEiIHgxPSIyNjMuNjUiIHgyPSIyNjQuMzYiIHkxPSI0NjAuMzQiIHkyPSI0MzcuNzEiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI20iIGlkPSJSIiB4MT0iMTQ5NS4yNCIgeDI9IjE1MDQuMzQiIHkxPSI3NjIuOTMiIHkyPSI4MzMuOTIiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2wiIGlkPSJTIiB4MT0iMTU0NS40OCIgeDI9IjEzNTUuMDgiIHkxPSI3MjMuOTQiIHkyPSI3MjMuOTQiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2wiIGlkPSJUIiB4MT0iMTQ5OC4yMiIgeDI9IjE0MTQuMTUiIHkxPSI2NjguNDgiIHkyPSI2NjguNDgiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2wiIGlkPSJVIiB4MT0iMTUzMS4wOCIgeDI9IjE0MjcuMDkiIHkxPSI3MjguNzUiIHkyPSI3MjguNzUiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI3AiIGlkPSJWIiB4MT0iMTQ0NC4zIiB4Mj0iMTUwMy40OSIgeTE9IjIwNy44MyIgeTI9IjY3My45MyI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9IlciIHgxPSIxNDY0LjI3IiB4Mj0iMTUyMy40NiIgeTE9IjIwNS4zMSIgeTI9IjY3MS40MSI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9IlgiIHgxPSIxNDQ1LjQyIiB4Mj0iMTQ3OS43NyIgeTE9IjQwNy44MyIgeTI9IjU3MS4zMSI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9IlkiIHgxPSIxNDU2LjY4IiB4Mj0iMTQ1OS43NCIgeTE9IjI5MS4yNCIgeTI9IjM3OC44MiI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjbSIgaWQ9IloiIHgxPSIxMzMwLjg1IiB4Mj0iMTMzOS45NSIgeTE9Ijc2Mi45MyIgeTI9IjgzMy45MiI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjbCIgaWQ9ImFhIiB4MT0iMTMzMy4yNiIgeDI9IjEzMTIuMzkiIHkxPSI3MjIuMzYiIHkyPSI4NTAuMDYiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2wiIGlkPSJhYiIgeDE9IjEzMzMuMzIiIHgyPSIxMzEyLjg0IiB5MT0iNzIyIiB5Mj0iODQ3LjMzIj48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNwIiBpZD0iYWMiIHgxPSIxMjcxLjMyIiB4Mj0iMTM1Ny43OSIgeTE9IjMyMS4wNyIgeTI9IjcwOC40NiI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9ImFkIiB4MT0iMTI4Ni42IiB4Mj0iMTM3My4wNyIgeTE9IjMxNy42NyIgeTI9IjcwNS4wNSI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9ImFlIiB4MT0iNDU3LjgzIiB4Mj0iMzYzLjE0IiB5MT0iNTguMzkiIHkyPSI1OC4zOSIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSgyNi40OCAtMTE1LjMwNyAyMTAzLjI5MSkiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI3AiIGlkPSJhZiIgeDE9IjEzMzkuNDUiIHgyPSIxMjQ0Ljc2IiB5MT0iNDI2LjY2IiB5Mj0iNDI2LjY2Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNwIiBpZD0iYWciIHgxPSIxMzIyLjM2IiB4Mj0iMTI0MC41NyIgeTE9IjQ0Mi42NyIgeTI9IjQ0Mi42NyI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjbSIgaWQ9ImFoIiB4MT0iOTUuMjkiIHgyPSIxMDQuNTIiIHkxPSI3MTguMjMiIHkyPSI3OTAuMTkiPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI3AiIGlkPSJhaSIgeDE9IjE3OC4zIiB4Mj0iMjAxLjU5IiB5MT0iMTA4LjQxIiB5Mj0iNzc2IiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjkuNzEgLTczLjczKSI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9ImFqIiB4MT0iNzEuOTIiIHgyPSI5NS4yOSIgeTE9IjIwLjI4IiB5Mj0iNjg5Ljk2Ij48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNwIiBpZD0iYWsiIHgxPSIxMzEuNzciIHgyPSIxMzQuODUiIHkxPSIzOTcuNjEiIHkyPSI0ODUuNzciPjwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgeGxpbms6aHJlZj0iI2wiIGlkPSJhbCIgeDE9IjkxLjM3IiB4Mj0iMTUwLjQ1IiB5MT0iNjU2LjQ3IiB5Mj0iODMzLjcyIj48L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNwIiBpZD0iYW0iIHgxPSIyNDIxLjEiIHgyPSIyNDIxLjUiIHkxPSI5NTUuMDciIHkyPSI5NDIuNTEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLjQ3IC0uMTQgLjMxIC45OSAtMTMxOC4yMSAtMTUzLjQ0KSI+PC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4bGluazpocmVmPSIjcCIgaWQ9ImFuIiB4MT0iNzg1Ljc4IiB4Mj0iNzg2LjA2IiB5MT0iMTMyMC41OSIgeTI9IjEzMTEuNjQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLjg2IC0uMzIgLjQ4IDEuMzIgLTEyMDcuNTcgLTEwNzkuNTgpIj48L2xpbmVhckdyYWRpZW50PgogICAgPGZpbHRlciBpZD0iYSIgd2lkdGg9Ijc5Ni41MSIgaGVpZ2h0PSIzMjc2NiIgeD0iNzc1LjU4IiB5PSItODY0MiIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iI2ZmZiIgcmVzdWx0PSJiZyI+PC9mZUZsb29kPgogICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJiZyI+PC9mZUJsZW5kPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyIGlkPSJiIiB3aWR0aD0iNzYyLjA3IiBoZWlnaHQ9IjMyNzY2IiB4PSIzNy45MyIgeT0iLTg2NDIiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiNmZmYiIHJlc3VsdD0iYmciPjwvZmVGbG9vZD4KICAgICAgPGZlQmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iYmciPjwvZmVCbGVuZD4KICAgIDwvZmlsdGVyPgogICAgPGZpbHRlciBpZD0iZSIgd2lkdGg9Ijc5Ni41MSIgaGVpZ2h0PSIzODkuMTUiIHg9Ijc3NS41OCIgeT0iMTgwLjkiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiNmZmYiIHJlc3VsdD0iYmciPjwvZmVGbG9vZD4KICAgICAgPGZlQmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iYmciPjwvZmVCbGVuZD4KICAgIDwvZmlsdGVyPgogICAgPGZpbHRlciBpZD0iZyIgd2lkdGg9Ijc2Mi4wNyIgaGVpZ2h0PSIzNzMuNTUiIHg9IjM3LjkzIiB5PSIxNjMuNyIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iI2ZmZiIgcmVzdWx0PSJiZyI+PC9mZUZsb29kPgogICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJiZyI+PC9mZUJsZW5kPgogICAgPC9maWx0ZXI+CiAgICA8bWFzayBpZD0iciIgd2lkdGg9Ijc5Ni41MSIgaGVpZ2h0PSIzODkuMTUiIHg9Ijc3NS41OCIgeT0iMTgwLjkiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZSkiIG1hc2s9InVybCgjZCkiPgogICAgICAgIDxwYXRoIGZpbGw9InVybCgjYykiIGQ9Ik0xNDUyLDMzMGExMjAuNzksMTIwLjc5LDAsMCwwLTE5LjgsMS42NCwxMjAuMTYsMTIwLjE2LDAsMCwwLTEzNS40Mi02Mi4zNCwxNTguMjksMTU4LjI5LDAsMCwwLTE5NC4yNS00MSwxMDIuNjcsMTAyLjY3LDAsMCwwLTE3Ni40NSw1LjgzLDEyMC4yNiwxMjAuMjYsMCwxLDAtMzAuMjksMjM2LjY1YzU0LDAsMTk2Ljc3LDU2Ljc3LDI3OC40NSw1Ni43N2ExNTcuNTksMTU3LjU5LDAsMCwwLDk3Ljg0LTMzLjg3LDEyMC4yNCwxMjAuMjQsMCwwLDAsNzIuODUsMTAuN0ExMjAuMDYsMTIwLjA2LDAsMSwwLDE0NTIsMzMwWiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvbWFzaz4KICAgIDxtYXNrIGlkPSJzIiB3aWR0aD0iNzYyLjA3IiBoZWlnaHQ9IjM3My41NSIgeD0iMzcuOTMiIHk9IjE2My43IiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPGcgZmlsdGVyPSJ1cmwoI2cpIiBtYXNrPSJ1cmwoI2YpIj4KICAgICAgICA8cGF0aCBmaWxsPSJ1cmwoI2gpIiBkPSJNODAwLDQxNC41OGE5Mi42Niw5Mi42NiwwLDAsMC0xMTEuODEtOTAuNjVBMTQ0LjE1LDE0NC4xNSwwLDAsMCw0ODIuOTIsMjEyLjU5YTExNC40NSwxMTQuNDUsMCwwLDAtMjA1LjE3LDM5LjE2LDEzNC43OSwxMzQuNzksMCwwLDAtMTQuNDMtLjc4QTEzMi43NSwxMzIuNzUsMCwwLDAsMTMwLjU3LDM4My43MmMwLC41NSwwLDEuMSwwLDEuNjZhNzYuNzcsNzYuNzcsMCwxLDAtMTUuOSwxNTEuODhINzI3LjE0djBhNDQsNDQsMCwwLDAsNDIuMi01My44NEE5Mi4zOCw5Mi4zOCwwLDAsMCw4MDAsNDE0LjU4WiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvbWFzaz4KICA8L2RlZnM+CiAgPGc+CiAgICA8cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI1ODAuMzkiIHk9Ii42NCIgZmlsbD0idXJsKCNxKSI+PC9yZWN0PgogICAgPGcgbWFzaz0idXJsKCNyKSI+CiAgICAgIDxwYXRoIGZpbGw9InVybCgjaSkiIGQ9Ik0xNDUyLDMzMGExMjAuNzksMTIwLjc5LDAsMCwwLTE5LjgsMS42NCwxMjAuMTYsMTIwLjE2LDAsMCwwLTEzNS40Mi02Mi4zNCwxNTguMjksMTU4LjI5LDAsMCwwLTE5NC4yNS00MSwxMDIuNjcsMTAyLjY3LDAsMCwwLTE3Ni40NSw1LjgzLDEyMC4yNiwxMjAuMjYsMCwxLDAtMzAuMjksMjM2LjY1YzU0LDAsMTk2Ljc3LDU2Ljc3LDI3OC40NSw1Ni43N2ExNTcuNTksMTU3LjU5LDAsMCwwLDk3Ljg0LTMzLjg3LDEyMC4yNCwxMjAuMjQsMCwwLDAsNzIuODUsMTAuN0ExMjAuMDYsMTIwLjA2LDAsMSwwLDE0NTIsMzMwWiI+PC9wYXRoPgogICAgPC9nPgogICAgPGcgbWFzaz0idXJsKCNzKSI+CiAgICAgIDxwYXRoIGZpbGw9InVybCgjdCkiIGQ9Ik04MDAsNDE0LjU4YTkyLjY2LDkyLjY2LDAsMCwwLTExMS44MS05MC42NUExNDQuMTUsMTQ0LjE1LDAsMCwwLDQ4Mi45MiwyMTIuNTlhMTE0LjQ1LDExNC40NSwwLDAsMC0yMDUuMTcsMzkuMTYsMTM0Ljc5LDEzNC43OSwwLDAsMC0xNC40My0uNzhBMTMyLjc1LDEzMi43NSwwLDAsMCwxMzAuNTcsMzgzLjcyYzAsLjU1LDAsMS4xLDAsMS42NmE3Ni43Nyw3Ni43NywwLDEsMC0xNS45LDE1MS44OEg3MjcuMTR2MGE0NCw0NCwwLDAsMCw0Mi4yLTUzLjg0QTkyLjM4LDkyLjM4LDAsMCwwLDgwMCw0MTQuNThaIj48L3BhdGg+CiAgICA8L2c+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2spIiBkPSJNMTQ5LjIyLDUzNi45MXMyNzcuNi0xNDgsMzI5LjQ0LTE2Ni4zNCwyOTcsMTY4LjE3LDI5NywxNjguMTdaIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2opIiBkPSJNMjUxLjMsNTM2LjkxUzQxOSw1NTMuMzMsNDUwLjM3LDQzMC43N2MtMjguNDMtMTMuNjQsNDAuNjYtNjQuNTcsMjguMjktNjAuMi01MS44NCwxOC4zMi0zMjkuNDQsMTY2LjM0LTMyOS40NCwxNjYuMzRsNjI2LjQ2LDEuODMtLjQtLjNaIiBvcGFjaXR5PSIuNzIiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjdSkiIGQ9Ik03MzcuMTEsNTMzLjE1czIzOC4xNS0xMjcsMjgyLjYzLTE0Mi43LDI1NC44MSwxNDQuMjcsMjU0LjgxLDE0NC4yN1oiPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjdikiIGQ9Ik05MTQuNjksNDk0czc1LjM2LTkwLjY1LDE1MC40LTkzLjc3Yy0yMC04Ljc1LTM2LjE5LTEzLTQ1LjM1LTkuNzQtNDQuNDgsMTUuNzItMjgyLjYzLDE0Mi43LTI4Mi42MywxNDIuN2w1MzcuNDQsMS41Ny0uMjctLjJaIiBvcGFjaXR5PSIuNzIiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjdykiIGQ9Ik00NjIuNDUsNTEyLjQxczI2My43Ni0xNjMsMzA5Ljc5LTE1OS4zNGMxNy4yMywxLjM2LDYxLDM5LjQ4LDgwLjA3LDUzLjQzUzkyNiw0MzQuMzcsOTY0LjA3LDQ0NC42MSwxMDg4LjcsNTEwLDEwODguNyw1MTBsLTMzMyw0My4zMloiPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjeCkiIGQ9Ik03NzIuMjQsMzczYzE3LjIzLDEuMzYsOTkuMTUsNDcuNDUsODAuMDcsMzMuNXMtNjIuODQtNTIuMDctODAuMDctNTMuNDNjLTQ2LTMuNjMtMzA5Ljc5LDE1OS4zNC0zMDkuNzksMTU5LjM0bDkxLjA5LDIxLjA5QzgzMiw1MTEsNzM1LjIxLDM3MC4wOCw3NzIuMjQsMzczWiIgb3BhY2l0eT0iLjcyIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6c2NyZWVuIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI3kpIiBkPSJNMTYwMCw0MzYuNTFzLTQyMi43Mi0xNC4yMS04MDAsODMuNzFTMjkzLjQ2LDY5Ny43NiwyOTMuNDYsNjk3Ljc2TDE2MDAsNjc1LjU1WiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCN6KSIgZD0iTTgwMCw1MjAuMjJDNDIyLjcyLDYxOC4xNCwyOTMuNDYsNjk3Ljc2LDI5My40Niw2OTcuNzZoMEMzMzguNTYsNjc0LjI3LDQ5OC4wNiw2MDcuMzUsODAwLDUyOWMzNzcuMjgtOTcuOTIsODAwLTkyLjQ3LDgwMC05Mi40N2gwUzExNzcuMjgsNDIyLjMsODAwLDUyMC4yMloiIG9wYWNpdHk9Ii40NiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOnNjcmVlbiI+PC9wYXRoPgogICAgPHJlY3Qgd2lkdGg9IjguMTUiIGhlaWdodD0iNDEuNTciIHg9Ijk0Ni43MyIgeT0iNTI4LjQ4IiBmaWxsPSJ1cmwoI2wpIj48L3JlY3Q+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI20pIiBkPSJNOTMyLjc1LDM3My4zcy0xNy42NCw2MS4xNy0xMi4wNiwxMDMuNTQsMTguNTQsNzAuNTQsNDAuMTQsNTcuMzIsMjItNjEuODksMjAuNzctODAuMTYtMTIuMTMtNTEuNDItMTIuMTMtNTEuNDItNC45My01Ny40NC0xOC42Ny01Mi4yMVM5MzIuNzUsMzczLjMsOTMyLjc1LDM3My4zWiI+PC9wYXRoPgogICAgPHJlY3Qgd2lkdGg9IjguMTUiIGhlaWdodD0iNDEuNTciIHg9IjEwNTAuMzQiIHk9IjU1MS4yNiIgZmlsbD0idXJsKCNBKSI+PC9yZWN0PgogICAgPHBhdGggZmlsbD0idXJsKCNCKSIgZD0iTTEwNDAuNTMsNDM0LjYzcy0xMy41Niw0Ny4wNS05LjI3LDc5LjYzLDE0LjI1LDU0LjI2LDMwLjg3LDQ0LjA5LDE2Ljk0LTQ3LjYsMTYtNjEuNjUtOS4zMy0zOS41NS05LjMzLTM5LjU1UzEwNjUsNDEzLDEwNTQuNDIsNDE3LDEwNDAuNTMsNDM0LjYzLDEwNDAuNTMsNDM0LjYzWiI+PC9wYXRoPgogICAgPHJlY3Qgd2lkdGg9IjYuMDUiIGhlaWdodD0iMzAuODYiIHg9IjM2OC4wOCIgeT0iNDc2LjczIiBmaWxsPSJ1cmwoI0MpIj48L3JlY3Q+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI0QpIiBkPSJNMzYyLjEzLDQwMnMtOC44MiwzMC41OC02LDUxLjc3LDkuMjcsMzUuMjcsMjAuMDcsMjguNjYsMTEtMzEsMTAuMzktNDAuMDgtNi4wNy0yNS43MS02LjA3LTI1LjcxLTIuNDYtMjguNzItOS4zMy0yNi4xMVMzNjIuMTMsNDAyLDM2Mi4xMyw0MDJaIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI0UpIiBkPSJNMCw1MDUuODFzMTExLjM3LTksNDMxLjQ2LDMuMWM0MDYuMDgsMTUuMzIsNzMwLjEyLDEwOC40NSw3MzAuMTIsMTA4LjQ1TDAsNzg2LjY0WiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNGKSIgZD0iTTQzMS40Niw1MTdjMzQ3LjYsMTMuMTIsNjU0LjUyLDgwLjQsNzMwLjEyLDEwMC4zM2gwcy0zMjQtOTMuMTMtNzMwLjEyLTEwOC40NUMxMTEuMzcsNDk2LjgzLDAsNTA1LjgxLDAsNTA1LjgxSDBTMTExLjM3LDUwNSw0MzEuNDYsNTE3WiIgb3BhY2l0eT0iLjQiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjbikiIGQ9Ik0xMDguNTgsNzUxLjQ1UzQ3Miw2MzMuNzEsODU0LjI5LDYwOS41NiwxNjAwLDYyNy42NywxNjAwLDYyNy42N1Y5MDBIMTA4LjU4WiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNHKSIgZD0iTTg1NC4yOSw2MDkuNTZDNDcyLDYzMy43MSwxMDguNTgsNzUxLjQ1LDEwOC41OCw3NTEuNDVoMFM0NzIsNjQ2LjM0LDg1NC4yOSw2MjIuMTksMTYwMCw2MjcuNjcsMTYwMCw2MjcuNjdoMFMxMjM2LjYzLDU4NS40MSw4NTQuMjksNjA5LjU2WiIgb3BhY2l0eT0iLjM4IiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6c2NyZWVuIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI28pIiBkPSJNNjc1LjA5LDYyNy4yOGw2Ni41Mi03LjY1czc3LjkyLTEuOTQsMTQ1Ljk1LDUzLjUzYzc2LjkxLDYyLjcyLDI2Ljc2LDExMy40OCwyNi43NiwxMTMuNDhsLTg2LjIxLDIzLjg0Uzg3NS43LDc1MS45Miw4NDYuOTIsNzAwQzgxNi4xOSw2NDQuNjIsNjc1LjA5LDYyNy4yOCw2NzUuMDksNjI3LjI4WiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNIKSIgZD0iTTEwNTAuNTIsNzk2LjExUzc3OS4xMiw3MjAuOSw0MTIuNiw3MjAuOUguMThzOTYuOTEsNi44Niw0MTkuNjIsNi44NmMzNjYuNTIsMCw2MzAuNzIsNjguMzUsNjMwLjcyLDY4LjM1WiIgb3BhY2l0eT0iLjY1IiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6c2NyZWVuIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI0kpIiBkPSJNMCw3MjFINDEyLjQyYzM2Ni41MiwwLDYzNy45Miw3NS4yLDYzNy45Miw3NS4yczE0NS40NC0xNy44MSwzMTEtMTguNlMxNjAwLDc5MC4zNiwxNjAwLDc5MC4zNlY5MDBIMFoiPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjSikiIGQ9Ik0xMDUwLjM0LDc5Ni4xNmgwYTExMDguNTYsMTEwOC41NiwwLDAsMSwyNDMuMTUsODAuNTFMMTM0My42Myw5MDBIMTYwMGwtMTY2LjUyLTQ2LjA2YTIyMDguNTIsMjIwOC41MiwwLDAsMC0zMjMuODctNjRoMFoiPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjSykiIGQ9Ik0zMDcuMzgsNzIwLjkyczQwLjQ0LTI0Ljc3LDgyLjY0LTI3LjI3YTYyLjMzLDYyLjMzLDAsMCwxLDM5LjQ2LDExLjA5YzE3LjE2LDExLjY4LDQwLjIyLDE1LjU2LDYxLjI3LDkuODVhMTQ3LjY5LDE0Ny42OSwwLDAsMSw3Ni0uODVjMjYuMzUsNi44Miw0MC4xOSwxOC4yNCw0Ny4zNiwyOS4zMiwxMC4yMiwxNS44MywzMCwyNS43Myw1MS41MSwyNSwxNi40NS0uNTQsMzUuODIuNjcsNTUuMjUsNkM3NzEsNzg4LDc4MC42Myw4NDUuNyw3ODAuNjMsODQ1LjdMODQ2LjkyLDkwMEg3MTguMDhTNjA2LjI5LDc1MS42MSwzMDcuMzgsNzIwLjkyWiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNMKSIgZD0iTTI3MC40MSw3MzcuNDFjMjEuNTIsNy43Ny0xLjYsMTIuNzctMjkuODksMTIuODksMCwwLTIzLjE2LDAtMzUuMTgtNC44Mi02LjE2LTIuNDctMjkuMzMtMTMuMDgtMS0xMy4wOEMyMTguMDgsNzMyLjQsMjY0LjA5LDczNS4xMywyNzAuNDEsNzM3LjQxWiIgb3BhY2l0eT0iLjMyIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6bXVsdGlwbHkiPjwvcGF0aD4KICAgIDxwb2x5Z29uIGZpbGw9InVybCgjTSkiIHBvaW50cz0iMjU2Ljc1IDc1MC4zIDI0MC41MiA3NTAuMyAyNDIuNTIgNjg5LjM1IDI1NS43NSA2ODkuMzUgMjU2Ljc1IDc1MC4zIj48L3BvbHlnb24+CiAgICA8cG9seWdvbiBmaWxsPSJ1cmwoI04pIiBwb2ludHM9IjI0Mi41MiA2ODkuMzUgMjQwLjUyIDc1MC4zIDI0OC42MyA3NTAuMyAyNDUuNTggNjg5LjM1IDI0Mi41MiA2ODkuMzUiIG9wYWNpdHk9Ii4yNyIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BvbHlnb24+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI3ApIiBkPSJNMjQ4Ljc3LDY5My41MWMxOS40Ny0uNjcsNDMuMzItMTEuODIsNDMuMTYtNjQuODdMMjgwLjA2LDUxOGwtNC4yLTE2LjU3LTguMjEtNjVjLS45MS04LjE3LTYuODUtMTUuMTUtMTcuMzUtMTUuMTVsLS44OC05LjQ4Yy0xMC40LDAtMTguNzIsMTYtMjIuNDgsMzcuMDgtMywxNy03LjU1LDY5LjE1LTcuNTUsNjkuMTVzLTUuMzYtNC4wNi01Ljg3LTIuMjNjLTUsMTguMDctNy44NiwxMTIuNDYtNy44NiwxMTIuNDZDMjAzLjEzLDY0OC4xNSwyMTUuNTQsNjk0LjY2LDI0OC43Nyw2OTMuNTFaIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI08pIiBkPSJNMjI1LjgyLDYyOC4yMnMyLjg3LTk0LjM5LDcuODYtMTEyLjQ2Yy41MS0xLjgzLDUuODcsMi4yMyw1Ljg3LDIuMjNzNC41Mi01Mi4xMSw3LjU1LTY5LjE1YzEuOTEtMTAuNzQsNS0yMC4xNCw5LTI2Ljc5YTIwLjIyLDIwLjIyLDAsMCwwLTUuNzUtLjgxbC0uODgtOS40OGMtMTAuNCwwLTE4LjcyLDE2LTIyLjQ4LDM3LjA4LTMsMTctNy41NSw2OS4xNS03LjU1LDY5LjE1cy01LjM2LTQuMDYtNS44Ny0yLjIzYy01LDE4LjA3LTcuODYsMTEyLjQ2LTcuODYsMTEyLjQ2LTIuNTMsMTkuOTMsOS44OCw2Ni40NCw0My4xMSw2NS4yOWE0Ny44MSw0Ny44MSwwLDAsMCw5Ljc3LTEuMzFDMjMzLjExLDY4NC41NywyMjMuNTcsNjQ1LjkxLDIyNS44Miw2MjguMjJaIiBvcGFjaXR5PSIuMjkiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTptdWx0aXBseSI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNQKSIgZD0iTTI1NS4xNSw1NzkuNDhhMjkuMTEsMjkuMTEsMCwwLDEsMTIuMjEsMGM2LjY2LDEuNDQsMTMuMjMsMTQuMSwxMy4yMywxNC4xQTU1LjM4LDU1LjM4LDAsMCwwLDI1NS4xNSw1NzkuNDhaIiBvcGFjaXR5PSIuNTMiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjUSkiIGQ9Ik0yNjguNTQsNDQzLjQxbDEuODcsMTQuODJzLTgtMTcuNzEtMTEuODctMTkuNjNTMjY0LjY0LDQzNy42NSwyNjguNTQsNDQzLjQxWiIgb3BhY2l0eT0iLjUzIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6c2NyZWVuIj48L3BhdGg+CiAgICA8ZWxsaXBzZSBjeD0iMTQ5OS4zIiBjeT0iNzk0LjYxIiBmaWxsPSJ1cmwoI1IpIiBvcGFjaXR5PSIuMzIiIHJ4PSI1OC43NiIgcnk9IjkuNiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L2VsbGlwc2U+CiAgICA8cG9seWdvbiBmaWxsPSJ1cmwoI1MpIiBwb2ludHM9IjE0OTcuOTUgNzkyLjI1IDE0NzAuNDcgNzkyLjI1IDE0NzUuOTcgNjg0LjcyIDE0NjAuODYgNjU1LjYzIDE0ODQuMjEgNjgxLjMzIDE1MTMuNzUgNjY1LjI1IDE0OTcuOTUgNjgxLjMzIDE0OTcuOTUgNzkyLjI1Ij48L3BvbHlnb24+CiAgICA8ZyBvcGFjaXR5PSIuMyIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij4KICAgICAgPHBvbHlnb24gZmlsbD0idXJsKCNUKSIgcG9pbnRzPSIxNDg0LjIxIDY4MS4zMyAxNDYwLjg2IDY1NS42MyAxNDczLjUzIDY4MC4wMiAxNDg0LjIxIDY4MS4zMyI+PC9wb2x5Z29uPgogICAgICA8cGF0aCBmaWxsPSJ1cmwoI1UpIiBkPSJNMTQ5MC4zLDY4NC45M3MzLjQ1LDIxLjQyLDMuNzYsMjguNjNjMi4wNiw0OC43Ny05LjIsNzguNjktOS4yLDc4LjY5SDE0OThWNjgxLjMzbDE1LjgtMTYuMDhaIj48L3BhdGg+CiAgICA8L2c+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI1YpIiBkPSJNMTQ4OSw2NzkuOTJjLTIxLjIyLS43OC01Ni4zMi0xNC42Ny02NC4wOS03OC01Ljk0LTQ4LjQ3LTQuNzMtMTA1LjUzLDAtMTU2LDEuMjUtMTMuMzQsOS4yMS0zLjY0LDEwLjk1LTE3LjM0LDMuNDMtMjcsNy44OC01NC40NCwxMy42NC04MS4xOSwyLTkuNDcsNi4zMS0xMS40NCw2LjgyLTIxLDIuMDgtMzkuMTYsMTguNzEtNzAuNSwzMi05Ny41OCwwLDAsMTIuNzEsMjcuNTksMjEuNzksNTQuNTgsNi42OSwxOS44OSw0LjMyLDMyLjI4LDUuNTIsMzcuNDEsMiw4LjY1LDcuODgsMTEuMzksOS43NywyMy45LDMuNzcsMjQuODUsMTMuMTIsMzkuODgsMTYuMjQsODkuMTIsMS40OCwyMy4zOC0uMTUsMzgsLjE0LDY3LjI3LDAsMCwxMS42Mi0yLjM3LDExLjMsNDhhMjY2LjA5LDI2Ni4wOSwwLDAsMS00LjU2LDQ2LjcyQzE1NDkuNzMsNjM0LjUzLDE1MTcuODMsNjgxLDE0ODksNjc5LjkyWiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNXKSIgZD0iTTE1NDEuOSw1MDFjLS4yOS0yOS4zMSwxLjM0LTQzLjg5LS4xNC02Ny4yNy0zLjEyLTQ5LjI0LTEyLjQ3LTY0LjI3LTE2LjI0LTg5LjEyLTEuODktMTIuNTEtNy43Ni0xNS4yNS05Ljc3LTIzLjktMS4yLTUuMTMsMS4xNy0xNy41Mi01LjUyLTM3LjQxLTkuMDgtMjctMjEuNzktNTQuNTgtMjEuNzktNTQuNTgtNC41Niw5LjMtOS41MiwxOS4xMS0xNC4xNSwyOS41NiwzLjEsNy44LDE0LjE1LTI5LjU2LDIyLjI5LDEzLjM3LDMuOSwyMC42MS0xMC4wNiw0NC40NC03LjU0LDQ5LjA2LDI0LjcxLDQ1LjE0LTMuNjMsMzguNTMtMS43NCw1MSwzLjc3LDI0Ljg1LDI3LjQ4LDQ0Ljg0LDM2Ljc1LDk4LjQyLDQsMjMuMDgtOS4xNSwxLjUzLTguODYsMzAuODRhMzEyLjU4LDMxMi41OCwwLDAsMS0xLjQ4LDg3Yy0zLjYsMjIuMDYsMTItNS4xNCwxNC43Myw4LjI2LDEyLDU5LjQxLTM5LDc1LjYyLTUzLjQ0LDgxLjM1YTU2LjM2LDU2LjM2LDAsMCwwLDE0LjEyLDIuMzVjMjguODMsMS4wNiw2MC43My00NS4zOSw1OS41Mi04NC4yQTI2Ni4wOSwyNjYuMDksMCwwLDAsMTU1My4yLDU0OUMxNTUzLjUyLDQ5OC42NCwxNTQxLjksNTAxLDE1NDEuOSw1MDFaIiBvcGFjaXR5PSIuNDkiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTptdWx0aXBseSI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNYKSIgZD0iTTE0MzUuODcsNDI4LjUzczE1LjM3LDMuNjgsMjUsMTEuOTIsMjYuNDQsMzEuMSwyNi40NCwzMS4xLTIzLjUzLTIxLjQyLTM4LjgxLTI4LjctMjMuNTcsMy0yMy41NywzQTIzLjcyLDIzLjcyLDAsMCwwLDE0MzUuODcsNDI4LjUzWiIgb3BhY2l0eT0iLjQ5IiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6bXVsdGlwbHkiPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjWSkiIGQ9Ik0xNDU2LjExLDMzNS41NHMtNS4zNSw1Ljg1LTYuNiwxMS44LTUuNTEsMjcuOTMtNS41MSwyNy45MywxOC4yOC00MC4yOCwyOS42MS00Ni40NkMxNDczLjYxLDMyOC44MSwxNDY5LjIzLDMyNy4zLDE0NTYuMTEsMzM1LjU0WiIgb3BhY2l0eT0iLjUzIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6c2NyZWVuIj48L3BhdGg+CiAgICA8ZWxsaXBzZSBjeD0iMTMzNC45MSIgY3k9Ijc5NC42MSIgZmlsbD0idXJsKCNaKSIgb3BhY2l0eT0iLjMyIiByeD0iNTguNzYiIHJ5PSI5LjYiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTptdWx0aXBseSI+PC9lbGxpcHNlPgogICAgPHBvbHlnb24gZmlsbD0idXJsKCNhYSkiIHBvaW50cz0iMTMzNy43NyA3OTIuMzcgMTMxNy42OSA3OTIuMzcgMTMyMC41NiA3MDIuNTMgMTMzNy43NyA3MDMuNDggMTMzNy43NyA3OTIuMzciPjwvcG9seWdvbj4KICAgIDxwYXRoIGZpbGw9InVybCgjYWIpIiBkPSJNMTMyMC41Niw3MDIuNTNsMCwuMzNzMTIuNzYsMTEuMzksMTMuMjIsMjguOGMuNCwxNS4yMy01LjU2LDYwLjcxLTUuNTYsNjAuNzFoOS41N1Y3MDMuNDhaIiBvcGFjaXR5PSIuMjkiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTptdWx0aXBseSI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNhYykiIGQ9Ik0xMzEyLjg5LDMzNi4xNWE1MC40OSw1MC40OSwwLDAsMC02LjY1LDEzLjY3Yy05LjExLDMwLjU5LTM2LjEsMTIzLjUxLTM2LDE1MCwuMDksMzEuODctOS4xNyw5Ljg0LTkuMTcsNjEuNDNzMTUuMDksMTMyLjk0LDU0LDE0My44Niw3MS43Ny0yOC4zOCw3MS4yNi05Mi41M2MtLjE2LTE5Ljc5LTExLjc0LTIzLjgxLTExLjc0LTIzLjgxcy0zLjMxLTY2LjQtNC41OC0xMTQuNjZjLTIuMy04Ny4xMy00MS4yOC0xNzYuNTYtNDEuMjgtMTc2LjU2cy0xNC45LDIyLjE3LTEzLjc2LDMwQTEyLDEyLDAsMCwxLDEzMTIuODksMzM2LjE1WiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNhZCkiIGQ9Ik0xMzc0LjU1LDU4OC43OHMtMy4zMS02Ni4zOS00LjU4LTExNC42NWMtMi4zLTg3LjE0LTQxLjI4LTE3Ni41Ny00MS4yOC0xNzYuNTdzLTUsMjUuNTEsNy4xMSw0Ny4xNGM1LjgsMTUuODQtNS4zLDEzLjUyLDEuMjksNDAuNzIsMywxMi4yMiwxNC44NiwyLjU2LDE0Ljg2LDQwLjY3LDAsMTYuNTcsMS42LDMxLjYtMi4xNCw0OC0xMC4yMSw0NC43OC01LjU5LDc5LS44Nyw5Ny45MSwxLjEsNC40My0xMi4xLDE3LjkzLTExLjE3LDIwLjYzczguMzYtLjExLDEzLTIuMTZBNy40Niw3LjQ2LDAsMCwxLDEzNTksNTkyYzMuMjUsMy4yMSw3LDkuMzcsNy4xMywyMC42NC40LDUxLjEtMjAuMzgsODYuNDQtNDguNTIsOTMuMTcsMzcuNzUsOC41MSw2OS4xOC0zMC40NSw2OC42OC05My4xN0MxMzg2LjEzLDU5Mi44MSwxMzc0LjU1LDU4OC43OCwxMzc0LjU1LDU4OC43OFoiIG9wYWNpdHk9Ii40OSIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2FlKSIgZD0iTTEzMDAuMjMsNTExLjY4cy0yNS41NSwyLjI0LTMxLjUzLDcuMzFTMTI3NS42Niw0OTguMTgsMTMwMC4yMyw1MTEuNjhaIiBvcGFjaXR5PSIuNTMiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjYWYpIiBkPSJNMTI5OC43MSw0MzYuNGMzLjA5LTcuMjEsMjUtMjAuNiwyNS0yMC42QzEyOTUuNjYsNDE0LjY2LDEyOTUuNjIsNDQzLjYyLDEyOTguNzEsNDM2LjRaIiBvcGFjaXR5PSIuNTMiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjYWcpIiBkPSJNMTI4Nyw0NDcuNDhjMy45My00LjM2LDIxLjcyLTguNSwyMS43Mi04LjVDMTI5MC44MSw0MzEuMzMsMTI4My4wOCw0NTEuODMsMTI4Nyw0NDcuNDhaIiBvcGFjaXR5PSIuNTMiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9InVybCgjYWgpIiBkPSJNMTM1LDc0Ny41MWMyMS41MSw3Ljc3LTEuNiwxMi43Ny0yOS44OSwxMi44OSwwLDAtMjMuMTYsMC0zNS4xOC00LjgyLTYuMTctMi40Ny0yOS4zNC0xMy4wOC0xLTEzLjA4QzgyLjY4LDc0Mi41LDEyOC42OSw3NDUuMjMsMTM1LDc0Ny41MVoiIG9wYWNpdHk9Ii4zMiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2FpKSIgZD0iTTk4LDMxMnMtNS4zNCwzNC42NC0xMS44NSw3Ny4yM0M4NSwzOTYuNTQsNzUuMTksNDA0LjEsNzQsNDExLjc2Yy03LjUzLDQ5LjQ0LTYuOTQsMTAzLTkuODUsMTI0LjE3LTYsNDMuNTEtNC42Nyw3NS42LDYsOTcuNTksNy4wNywxNC41NiwzNC4zMiw0MS45Myw2NC4wNiw5LjQzczE2LjYyLTEzMy42OCwxNi42Mi0xMzMuNjhMMTM4LjczLDQ4MS41UzEyMy45MSwyODcuNzYsOTgsMzEyWiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0idXJsKCNhaikiIGQ9Ik04Miw1OTMuNThjMi4xOC0yNC4zNS42LTM2LjYsMTMtNTguODYsMy41OS02LjQyLTExLjI4LTczLjUyLTMuNzUtMTIzLDEuMTctNy42NiwxNy4yOCwwLDEyLjEyLTIyLjU1LTYuMjgtMjcuNCwzLjc2LTcwLjQxLDEwLjA5LTY1Ljc5LTQuNi0xMS40OS05Ljc5LTE2Ljc5LTE1LjUyLTExLjQ0LDAsMC01LjM0LDM0LjY0LTExLjg1LDc3LjIzQzg1LDM5Ni41NCw3NS4xOSw0MDQuMSw3NCw0MTEuNzZjLTcuNTMsNDkuNDQtNi45NCwxMDMtOS44NSwxMjQuMTctNiw0My41MS00LjY3LDc1LjYsNiw5Ny41OSw1LjQsMTEuMTQsMjIuNiwyOS43NSw0My43LDIzLjM4QzEwMSw2NTMsNzcuNDYsNjQ0LjA4LDgyLDU5My41OFoiIG9wYWNpdHk9Ii4yOSIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2FrKSIgZD0iTTEzOC43Myw0ODEuNWgwYTMzLjM4LDMzLjM4LDAsMCwxLTgtMzAuMDhsMy41OC0xNS42M1oiIG9wYWNpdHk9Ii4yOSIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOm11bHRpcGx5Ij48L3BhdGg+CiAgICA8cG9seWdvbiBmaWxsPSJ1cmwoI2FsKSIgcG9pbnRzPSIxMTcuODYgNzU4LjcxIDk5LjMxIDc1OC43MSAxMDEuMzEgNjUxLjQ5IDExNS44NiA2NTEuNDkgMTE3Ljg2IDc1OC43MSI+PC9wb2x5Z29uPgogICAgPHBhdGggZmlsbD0idXJsKCNhbSkiIGQ9Ik05Mi42Niw0MjkuMDdzNC0zLjU3LDctMi4xOCw4LjkyLDguOSw4LjkyLDguOVM5OS40NSw0MjcuMjgsOTIuNjYsNDI5LjA3WiIgb3BhY2l0eT0iLjUzIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6c2NyZWVuIj48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSJ1cmwoI2FuKSIgZD0iTTkzLjY1LDQxMC42NHMxMC4zNi04LDE1Ljc3LTYuNThjOC42NCwyLjI4LDExLjI5LDcuMTIsMTEuMjksNy4xMlMxMDYuMTgsNDA2LjQ5LDkzLjY1LDQxMC42NFoiIG9wYWNpdHk9Ii41MyIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOnNjcmVlbiI+PC9wYXRoPgogIDwvZz4KPC9zdmc+";
2
+ //# sourceMappingURL=canvas-data-uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-data-uri.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/canvas-data-uri.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,256BACg46B,CAAC"}
@@ -1,3 +1,3 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a}from"../chunk-XGI243DO.js";export{a as default};
3
+ import{a}from"../chunk-WXKRIUTA.js";export{a as default};
@@ -0,0 +1,2 @@
1
+ export declare function mergeIgnoringArrays<T>(target: T, ...sources: T[]): T;
2
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/merge.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAEpE"}
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{mergeWith as e,isArray as i}from"lodash-es";function m(r,...n){return e(r,...n,t)}function t(r,n){if(i(r))return n}export{m as mergeIgnoringArrays};
@@ -0,0 +1,2 @@
1
+ export declare function getObjectHash(obj: unknown): Promise<string>;
2
+ //# sourceMappingURL=object-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-hash.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/object-hash.ts"],"names":[],"mappings":"AAAA,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAMjE"}
@@ -0,0 +1,7 @@
1
+ type Result<T, E = Error> = [E | null, T | null];
2
+ /**
3
+ * Try catch wrapper for async functions
4
+ */
5
+ export declare function tryCatch<T, E extends Error>(promise: Promise<T>): Promise<Result<T>>;
6
+ export {};
7
+ //# sourceMappingURL=try-catch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"try-catch.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/try-catch.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAEjD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAM1F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@upstart.gg/sdk",
3
- "version": "0.0.78",
3
+ "version": "0.0.80",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -72,14 +72,14 @@
72
72
  "usehooks-ts": "3.1.0",
73
73
  "zod": "3.23.8",
74
74
  "zod-validation-error": "3.3.1",
75
- "zundo": "2.1.0",
75
+ "zundo": "2.3.0",
76
76
  "zustand": "4.5.5",
77
- "@upstart.gg/style-system": "0.0.34"
77
+ "@upstart.gg/style-system": "0.0.36"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "react": "18.3.0-canary-3d9b20132-20240124",
81
81
  "react-dom": "18.3.0-canary-3d9b20132-20240124",
82
- "@upstart.gg/style-system": "0.0.34"
82
+ "@upstart.gg/style-system": "0.0.36"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@cloudflare/workers-types": "4.20240806.0",
@@ -115,6 +115,7 @@
115
115
  "sizetest": "pnpm build && du -sh dist",
116
116
  "lint": "biome check --write . && tsc --noEmit",
117
117
  "ci:lint": "tsc --noEmit",
118
- "test": "vitest"
118
+ "test": "vitest",
119
+ "gen-ia-docs": "tsx scripts/generate-ia-docs.ts"
119
120
  }
120
121
  }
@@ -1,95 +0,0 @@
1
- import { type Static } from "@sinclair/typebox";
2
- export declare const manifest: import("@sinclair/typebox").TObject<{
3
- props: import("@sinclair/typebox").TObject<{
4
- content: import("@sinclair/typebox").TString;
5
- id: import("@sinclair/typebox").TString;
6
- className: import("@sinclair/typebox").TString;
7
- lastTouched: import("@sinclair/typebox").TNumber;
8
- editable: import("@sinclair/typebox").TBoolean;
9
- stylePreset: import("@sinclair/typebox").TObject<{
10
- style: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"ghost">, import("@sinclair/typebox").TLiteral<"plain">, import("@sinclair/typebox").TLiteral<"plain2">, import("@sinclair/typebox").TLiteral<"plain3">, import("@sinclair/typebox").TLiteral<"modern">, import("@sinclair/typebox").TLiteral<"modern2">, import("@sinclair/typebox").TLiteral<"soft">, import("@sinclair/typebox").TLiteral<"glass">, import("@sinclair/typebox").TLiteral<"elevated">, import("@sinclair/typebox").TLiteral<"outlined">, import("@sinclair/typebox").TLiteral<"paper">, import("@sinclair/typebox").TLiteral<"gradient">, import("@sinclair/typebox").TLiteral<"gradient2">, import("@sinclair/typebox").TLiteral<"gradient3">, import("@sinclair/typebox").TLiteral<"gradient4">, import("@sinclair/typebox").TLiteral<"gradient5">, import("@sinclair/typebox").TLiteral<"gradient6">, import("@sinclair/typebox").TLiteral<"callout">]>;
11
- variant: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"secondary">, import("@sinclair/typebox").TLiteral<"accent">, import("@sinclair/typebox").TLiteral<"neutral">]>;
12
- }>;
13
- container: import("@sinclair/typebox").TBoolean;
14
- }>;
15
- datarecord?: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties> | undefined;
16
- datasource?: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties> | undefined;
17
- type: import("@sinclair/typebox").TLiteral<"image-wall">;
18
- kind: import("@sinclair/typebox").TLiteral<string>;
19
- title: import("@sinclair/typebox").TLiteral<"Images wall">;
20
- description: import("@sinclair/typebox").TLiteral<"An image collection">;
21
- icon: import("@sinclair/typebox").TLiteral<"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <!-- Main container -->\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n\n <!-- Image rectangles in masonry layout -->\n <rect x=\"5\" y=\"5\" width=\"6\" height=\"5\" rx=\"1\"></rect>\n <rect x=\"13\" y=\"5\" width=\"6\" height=\"7\" rx=\"1\"></rect>\n <rect x=\"5\" y=\"12\" width=\"6\" height=\"7\" rx=\"1\"></rect>\n <rect x=\"13\" y=\"14\" width=\"6\" height=\"5\" rx=\"1\"></rect>\n</svg>\n ">;
22
- hideInLibrary: import("@sinclair/typebox").TBoolean;
23
- isContainer: import("@sinclair/typebox").TBoolean;
24
- preferredWidth: import("@sinclair/typebox").TObject<{
25
- mobile: import("@sinclair/typebox").TNumber;
26
- desktop: import("@sinclair/typebox").TNumber;
27
- }>;
28
- preferredHeight: import("@sinclair/typebox").TObject<{
29
- mobile: import("@sinclair/typebox").TNumber;
30
- desktop: import("@sinclair/typebox").TNumber;
31
- }>;
32
- minWidth: import("@sinclair/typebox").TObject<{
33
- mobile: import("@sinclair/typebox").TNumber;
34
- desktop: import("@sinclair/typebox").TNumber;
35
- }>;
36
- maxWidth: import("@sinclair/typebox").TObject<{
37
- mobile: import("@sinclair/typebox").TNumber;
38
- desktop: import("@sinclair/typebox").TNumber;
39
- }>;
40
- minHeight: import("@sinclair/typebox").TObject<{
41
- mobile: import("@sinclair/typebox").TNumber;
42
- desktop: import("@sinclair/typebox").TNumber;
43
- }>;
44
- }>;
45
- export type Manifest = Static<typeof manifest>;
46
- export declare const defaults: {
47
- description: "An image collection";
48
- title: "Images wall";
49
- type: "image-wall";
50
- maxWidth: {
51
- mobile: number;
52
- desktop: number;
53
- };
54
- minHeight: {
55
- mobile: number;
56
- desktop: number;
57
- };
58
- minWidth: {
59
- mobile: number;
60
- desktop: number;
61
- };
62
- icon: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <!-- Main container -->\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n\n <!-- Image rectangles in masonry layout -->\n <rect x=\"5\" y=\"5\" width=\"6\" height=\"5\" rx=\"1\"></rect>\n <rect x=\"13\" y=\"5\" width=\"6\" height=\"7\" rx=\"1\"></rect>\n <rect x=\"5\" y=\"12\" width=\"6\" height=\"7\" rx=\"1\"></rect>\n <rect x=\"13\" y=\"14\" width=\"6\" height=\"5\" rx=\"1\"></rect>\n</svg>\n ";
63
- kind: string;
64
- preferredWidth: {
65
- mobile: number;
66
- desktop: number;
67
- };
68
- preferredHeight: {
69
- mobile: number;
70
- desktop: number;
71
- };
72
- props: {
73
- id: string;
74
- content: string;
75
- container: boolean;
76
- className: string;
77
- lastTouched: number;
78
- editable: boolean;
79
- stylePreset: {
80
- style: "soft" | "ghost" | "outlined" | "plain" | "plain2" | "plain3" | "modern" | "modern2" | "glass" | "elevated" | "paper" | "gradient" | "gradient2" | "gradient3" | "gradient4" | "gradient5" | "gradient6" | "callout";
81
- variant: "primary" | "secondary" | "accent" | "neutral";
82
- };
83
- };
84
- datasource: {
85
- [x: string]: unknown;
86
- [x: number]: unknown;
87
- };
88
- datarecord: {
89
- [x: string]: unknown;
90
- [x: number]: unknown;
91
- };
92
- isContainer: boolean;
93
- hideInLibrary: boolean;
94
- };
95
- //# sourceMappingURL=images-wall.manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images-wall.manifest.d.ts","sourceRoot":"","sources":["../../../../src/shared/bricks/manifests/images-wall.manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMtD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC/C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC"}
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/enpage/enpage/blob/main/LICENSE */
2
-
3
- import{a,b}from"../../chunk-G42AE2ZC.js";import"../../chunk-QQ7YEIHB.js";import"../../chunk-PXAK7ZJ3.js";import"../../chunk-PZCWP77P.js";export{b as defaults,a as manifest};