@turnipxenon/pineapple 2.4.72 → 2.4.73

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 (254) hide show
  1. package/.idea/shelf/Fix_attempt_for_slug/shelved.patch +63 -0
  2. package/.idea/shelf/Fix_attempt_for_slug.xml +4 -0
  3. package/.idea/workspace.xml +61 -45
  4. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte +36 -158
  5. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte.d.ts +6 -0
  6. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplateData.js +3 -9
  7. package/.svelte-kit/__package__/template/seaweed/entries/EntryProps.d.ts +6 -0
  8. package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte +143 -0
  9. package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte.d.ts +18 -0
  10. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte +2 -2
  11. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +1 -0
  12. package/.svelte-kit/ambient.d.ts +1 -12
  13. package/.svelte-kit/generated/client/app.js +1 -1
  14. package/.svelte-kit/generated/client-optimized/app.js +47 -0
  15. package/.svelte-kit/generated/client-optimized/matchers.js +1 -0
  16. package/.svelte-kit/generated/client-optimized/nodes/0.js +1 -0
  17. package/.svelte-kit/generated/client-optimized/nodes/1.js +1 -0
  18. package/.svelte-kit/generated/client-optimized/nodes/10.js +1 -0
  19. package/.svelte-kit/generated/client-optimized/nodes/11.js +1 -0
  20. package/.svelte-kit/generated/client-optimized/nodes/12.js +1 -0
  21. package/.svelte-kit/generated/client-optimized/nodes/13.js +3 -0
  22. package/.svelte-kit/generated/client-optimized/nodes/14.js +3 -0
  23. package/.svelte-kit/generated/client-optimized/nodes/15.js +3 -0
  24. package/.svelte-kit/generated/client-optimized/nodes/16.js +1 -0
  25. package/.svelte-kit/generated/client-optimized/nodes/2.js +1 -0
  26. package/.svelte-kit/generated/client-optimized/nodes/3.js +1 -0
  27. package/.svelte-kit/generated/client-optimized/nodes/4.js +1 -0
  28. package/.svelte-kit/generated/client-optimized/nodes/5.js +1 -0
  29. package/.svelte-kit/generated/client-optimized/nodes/6.js +1 -0
  30. package/.svelte-kit/generated/client-optimized/nodes/7.js +1 -0
  31. package/.svelte-kit/generated/client-optimized/nodes/8.js +1 -0
  32. package/.svelte-kit/generated/client-optimized/nodes/9.js +1 -0
  33. package/.svelte-kit/generated/server/internal.js +1 -1
  34. package/.svelte-kit/output/client/.vite/manifest.json +694 -0
  35. package/.svelte-kit/output/client/_app/immutable/assets/0.BZfguPbX.css +10 -0
  36. package/.svelte-kit/output/client/_app/immutable/assets/13.BIMIBpeM.css +1 -0
  37. package/.svelte-kit/output/client/_app/immutable/assets/4.ClTmhFiH.css +1 -0
  38. package/.svelte-kit/output/client/_app/immutable/assets/NavigationComponent.DcXBcmND.css +1 -0
  39. package/.svelte-kit/output/client/_app/immutable/assets/PineappleBaseLayout.BJNkM2lS.css +1 -0
  40. package/.svelte-kit/output/client/_app/immutable/assets/ProgressBar.Cirlo5Z8.css +1 -0
  41. package/.svelte-kit/output/client/_app/immutable/assets/_layout.BgClWDWR.css +10 -0
  42. package/.svelte-kit/output/client/_app/immutable/assets/_page.BIMIBpeM.css +1 -0
  43. package/.svelte-kit/output/client/_app/immutable/assets/_page.ClTmhFiH.css +1 -0
  44. package/.svelte-kit/output/client/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
  45. package/.svelte-kit/output/client/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
  46. package/.svelte-kit/output/client/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
  47. package/.svelte-kit/output/client/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
  48. package/.svelte-kit/output/client/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
  49. package/.svelte-kit/output/client/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
  50. package/.svelte-kit/output/client/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
  51. package/.svelte-kit/output/client/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
  52. package/.svelte-kit/output/client/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
  53. package/.svelte-kit/output/client/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
  54. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
  55. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
  56. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
  57. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
  58. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
  59. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
  60. package/.svelte-kit/output/client/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
  61. package/.svelte-kit/output/client/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
  62. package/.svelte-kit/output/client/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
  63. package/.svelte-kit/output/client/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
  64. package/.svelte-kit/output/client/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
  65. package/.svelte-kit/output/client/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
  66. package/.svelte-kit/output/client/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
  67. package/.svelte-kit/output/client/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
  68. package/.svelte-kit/output/client/_app/immutable/chunks/DialogManagerStore.uKBS8wDS.js +7 -0
  69. package/.svelte-kit/output/client/_app/immutable/chunks/NavigationComponent.svelte_svelte_type_style_lang.DfEIDspS.js +33 -0
  70. package/.svelte-kit/output/client/_app/immutable/chunks/PineappleBaseLayout.svelte_svelte_type_style_lang.DYXCZxRe.js +5 -0
  71. package/.svelte-kit/output/client/_app/immutable/chunks/PineappleSlideToggle.Cpnzq8nG.js +1 -0
  72. package/.svelte-kit/output/client/_app/immutable/chunks/ProgressBar.svelte_svelte_type_style_lang.gYVkR-Pp.js +1 -0
  73. package/.svelte-kit/output/client/_app/immutable/chunks/SeaweedTemplate.D8BMpFyR.js +42 -0
  74. package/.svelte-kit/output/client/_app/immutable/chunks/Toast.CfxCQiZJ.js +1 -0
  75. package/.svelte-kit/output/client/_app/immutable/chunks/_page.BCsXwAds.js +8 -0
  76. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CER3LJw4.js +8 -0
  77. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CJqYI1vC.js +7 -0
  78. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CRke_Vt-.js +8 -0
  79. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CdlE3ZqM.js +8 -0
  80. package/.svelte-kit/output/client/_app/immutable/chunks/_page.D8F_fKwN.js +8 -0
  81. package/.svelte-kit/output/client/_app/immutable/chunks/_page.DOjmKWLN.js +8 -0
  82. package/.svelte-kit/output/client/_app/immutable/chunks/_page.UybeXHGE.js +8 -0
  83. package/.svelte-kit/output/client/_app/immutable/chunks/close.BSBWitOq.js +1 -0
  84. package/.svelte-kit/output/client/_app/immutable/chunks/each.SQ7NrLlo.js +1 -0
  85. package/.svelte-kit/output/client/_app/immutable/chunks/entry.B9Zoh-6L.js +3 -0
  86. package/.svelte-kit/output/client/_app/immutable/chunks/index.BID2VU8k.js +4 -0
  87. package/.svelte-kit/output/client/_app/immutable/chunks/index.D_vqlE3X.js +1 -0
  88. package/.svelte-kit/output/client/_app/immutable/chunks/index.DbwYs1Xx.js +1 -0
  89. package/.svelte-kit/output/client/_app/immutable/chunks/index.lAcdadTB.js +1 -0
  90. package/.svelte-kit/output/client/_app/immutable/chunks/index.qztrOHW4.js +6 -0
  91. package/.svelte-kit/output/client/_app/immutable/chunks/preload-helper.BQ24v_F8.js +1 -0
  92. package/.svelte-kit/output/client/_app/immutable/chunks/scheduler.DsUDfRdB.js +1 -0
  93. package/.svelte-kit/output/client/_app/immutable/chunks/spread.CgU5AtxT.js +1 -0
  94. package/.svelte-kit/output/client/_app/immutable/chunks/store.yyGEKEAe.js +1 -0
  95. package/.svelte-kit/output/client/_app/immutable/chunks/stores.BVA7LtvQ.js +1 -0
  96. package/.svelte-kit/output/client/_app/immutable/chunks/stores.CYFggfyT.js +1 -0
  97. package/.svelte-kit/output/client/_app/immutable/chunks/stores.DEMC0xoI.js +1 -0
  98. package/.svelte-kit/output/client/_app/immutable/chunks/stores.UNf3hc21.js +1 -0
  99. package/.svelte-kit/output/client/_app/immutable/chunks/transitions.FXurGCgU.js +1 -0
  100. package/.svelte-kit/output/client/_app/immutable/chunks/util.CpV-3U2s.js +1 -0
  101. package/.svelte-kit/output/client/_app/immutable/entry/app.CsPg_tSG.js +7 -0
  102. package/.svelte-kit/output/client/_app/immutable/entry/start.BK4UymrI.js +1 -0
  103. package/.svelte-kit/output/client/_app/immutable/nodes/0.DpxE_iuA.js +2 -0
  104. package/.svelte-kit/output/client/_app/immutable/nodes/1.CfFtBDAU.js +4 -0
  105. package/.svelte-kit/output/client/_app/immutable/nodes/10.B_ssKps0.js +1 -0
  106. package/.svelte-kit/output/client/_app/immutable/nodes/11.B_ssKps0.js +1 -0
  107. package/.svelte-kit/output/client/_app/immutable/nodes/12.CnXaShb6.js +1 -0
  108. package/.svelte-kit/output/client/_app/immutable/nodes/13.D6l5S0uo.js +61 -0
  109. package/.svelte-kit/output/client/_app/immutable/nodes/14.D-06Eivu.js +1 -0
  110. package/.svelte-kit/output/client/_app/immutable/nodes/15.UZK1S76t.js +1 -0
  111. package/.svelte-kit/output/client/_app/immutable/nodes/16.C52UdDDz.js +1 -0
  112. package/.svelte-kit/output/client/_app/immutable/nodes/2.C_PeLfm6.js +5 -0
  113. package/.svelte-kit/output/client/_app/immutable/nodes/3.DRZNxJIx.js +1 -0
  114. package/.svelte-kit/output/client/_app/immutable/nodes/4.7r5Yp15Y.js +1 -0
  115. package/.svelte-kit/output/client/_app/immutable/nodes/5.B_ssKps0.js +1 -0
  116. package/.svelte-kit/output/client/_app/immutable/nodes/6.B_ssKps0.js +1 -0
  117. package/.svelte-kit/output/client/_app/immutable/nodes/7.B_ssKps0.js +1 -0
  118. package/.svelte-kit/output/client/_app/immutable/nodes/8.B_ssKps0.js +1 -0
  119. package/.svelte-kit/output/client/_app/immutable/nodes/9.B_ssKps0.js +1 -0
  120. package/.svelte-kit/output/client/_app/version.json +1 -0
  121. package/.svelte-kit/output/client/default-card.png +0 -0
  122. package/.svelte-kit/output/client/favicon.png +0 -0
  123. package/.svelte-kit/output/client/robots.txt +5 -0
  124. package/.svelte-kit/output/server/.vite/manifest.json +617 -0
  125. package/.svelte-kit/output/server/_app/immutable/assets/NavigationComponent.DcXBcmND.css +1 -0
  126. package/.svelte-kit/output/server/_app/immutable/assets/PineappleBaseLayout.BJNkM2lS.css +1 -0
  127. package/.svelte-kit/output/server/_app/immutable/assets/ProgressBar.Cirlo5Z8.css +1 -0
  128. package/.svelte-kit/output/server/_app/immutable/assets/_layout.BgClWDWR.css +10 -0
  129. package/.svelte-kit/output/server/_app/immutable/assets/_page.BIMIBpeM.css +1 -0
  130. package/.svelte-kit/output/server/_app/immutable/assets/_page.ClTmhFiH.css +1 -0
  131. package/.svelte-kit/output/server/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
  132. package/.svelte-kit/output/server/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
  133. package/.svelte-kit/output/server/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
  134. package/.svelte-kit/output/server/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
  135. package/.svelte-kit/output/server/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
  136. package/.svelte-kit/output/server/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
  137. package/.svelte-kit/output/server/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
  138. package/.svelte-kit/output/server/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
  139. package/.svelte-kit/output/server/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
  140. package/.svelte-kit/output/server/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
  141. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
  142. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
  143. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
  144. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
  145. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
  146. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
  147. package/.svelte-kit/output/server/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
  148. package/.svelte-kit/output/server/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
  149. package/.svelte-kit/output/server/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
  150. package/.svelte-kit/output/server/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
  151. package/.svelte-kit/output/server/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
  152. package/.svelte-kit/output/server/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
  153. package/.svelte-kit/output/server/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
  154. package/.svelte-kit/output/server/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
  155. package/.svelte-kit/output/server/chunks/CreateUrl.js +17 -0
  156. package/.svelte-kit/output/server/chunks/DialogManagerStore.js +1412 -0
  157. package/.svelte-kit/output/server/chunks/NavigationComponent.svelte_svelte_type_style_lang.js +272 -0
  158. package/.svelte-kit/output/server/chunks/PineappleBaseLayout.svelte_svelte_type_style_lang.js +50 -0
  159. package/.svelte-kit/output/server/chunks/PineappleSlideToggle.js +120 -0
  160. package/.svelte-kit/output/server/chunks/ProgressBar.svelte_svelte_type_style_lang.js +60 -0
  161. package/.svelte-kit/output/server/chunks/SeaweedTemplate.js +786 -0
  162. package/.svelte-kit/output/server/chunks/_page.js +4 -0
  163. package/.svelte-kit/output/server/chunks/_page2.js +4 -0
  164. package/.svelte-kit/output/server/chunks/_page3.js +4 -0
  165. package/.svelte-kit/output/server/chunks/_page4.js +4 -0
  166. package/.svelte-kit/output/server/chunks/_page5.js +4 -0
  167. package/.svelte-kit/output/server/chunks/_page6.js +4 -0
  168. package/.svelte-kit/output/server/chunks/_page7.js +4 -0
  169. package/.svelte-kit/output/server/chunks/_page8.js +4 -0
  170. package/.svelte-kit/output/server/chunks/client.js +12 -0
  171. package/.svelte-kit/output/server/chunks/close.js +262 -0
  172. package/.svelte-kit/output/server/chunks/exports.js +200 -0
  173. package/.svelte-kit/output/server/chunks/index.js +52 -0
  174. package/.svelte-kit/output/server/chunks/index2.js +34 -0
  175. package/.svelte-kit/output/server/chunks/index3.js +48 -0
  176. package/.svelte-kit/output/server/chunks/index4.js +12 -0
  177. package/.svelte-kit/output/server/chunks/internal.js +247 -0
  178. package/.svelte-kit/output/server/chunks/prod-ssr.js +6 -0
  179. package/.svelte-kit/output/server/chunks/ssr.js +322 -0
  180. package/.svelte-kit/output/server/chunks/stores.js +5 -0
  181. package/.svelte-kit/output/server/chunks/stores2.js +26 -0
  182. package/.svelte-kit/output/server/chunks/stores3.js +38 -0
  183. package/.svelte-kit/output/server/chunks/stores4.js +79 -0
  184. package/.svelte-kit/output/server/entries/endpoints/api/create-url/_server.ts.js +21 -0
  185. package/.svelte-kit/output/server/entries/endpoints/api/get-latest-blogs/_server.ts.js +11 -0
  186. package/.svelte-kit/output/server/entries/pages/(pineapple)/_layout.svelte.js +291 -0
  187. package/.svelte-kit/output/server/entries/pages/(pineapple)/_page.svelte.js +21 -0
  188. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page1/_page.svelte.js +20 -0
  189. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page2/_page.svelte.js +20 -0
  190. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/_page.svelte.js +20 -0
  191. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page5/_page.svelte.js +20 -0
  192. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page6/_page.svelte.js +20 -0
  193. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/_page.svelte.js +20 -0
  194. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page7/_page.svelte.js +20 -0
  195. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page4/_page.svelte.js +16 -0
  196. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(pineapple)/_page.svelte.js +333 -0
  197. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(pineapple)/_page.ts.js +9 -0
  198. package/.svelte-kit/output/server/entries/pages/(seaweed)/_layout.svelte.js +301 -0
  199. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/_page.svelte.js +19 -0
  200. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/_page.ts.js +9 -0
  201. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_page.svelte.js +23 -0
  202. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_page.ts.js +9 -0
  203. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_slug_/_page.server.ts.js +32 -0
  204. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_slug_/_page.svelte.js +39 -0
  205. package/.svelte-kit/output/server/entries/pages/_error.svelte.js +29 -0
  206. package/.svelte-kit/output/server/entries/pages/_layout.svelte.js +58 -0
  207. package/.svelte-kit/output/server/index.js +2955 -0
  208. package/.svelte-kit/output/server/internal.js +13 -0
  209. package/.svelte-kit/output/server/manifest-full.js +147 -0
  210. package/.svelte-kit/output/server/manifest.js +147 -0
  211. package/.svelte-kit/output/server/nodes/0.js +8 -0
  212. package/.svelte-kit/output/server/nodes/1.js +8 -0
  213. package/.svelte-kit/output/server/nodes/10.js +8 -0
  214. package/.svelte-kit/output/server/nodes/11.js +8 -0
  215. package/.svelte-kit/output/server/nodes/12.js +8 -0
  216. package/.svelte-kit/output/server/nodes/13.js +10 -0
  217. package/.svelte-kit/output/server/nodes/14.js +10 -0
  218. package/.svelte-kit/output/server/nodes/15.js +10 -0
  219. package/.svelte-kit/output/server/nodes/16.js +10 -0
  220. package/.svelte-kit/output/server/nodes/2.js +8 -0
  221. package/.svelte-kit/output/server/nodes/3.js +8 -0
  222. package/.svelte-kit/output/server/nodes/4.js +8 -0
  223. package/.svelte-kit/output/server/nodes/5.js +8 -0
  224. package/.svelte-kit/output/server/nodes/6.js +8 -0
  225. package/.svelte-kit/output/server/nodes/7.js +8 -0
  226. package/.svelte-kit/output/server/nodes/8.js +8 -0
  227. package/.svelte-kit/output/server/nodes/9.js +8 -0
  228. package/.svelte-kit/types/route_meta_data.json +1 -2
  229. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/$types.d.ts +2 -9
  230. package/dist/template/seaweed/SeaweedTemplate.svelte +36 -158
  231. package/dist/template/seaweed/SeaweedTemplate.svelte.d.ts +6 -0
  232. package/dist/template/seaweed/SeaweedTemplateData.js +3 -9
  233. package/dist/template/seaweed/entries/EntryProps.d.ts +6 -0
  234. package/dist/template/seaweed/entries/WorkExperience.svelte +143 -0
  235. package/dist/template/seaweed/entries/WorkExperience.svelte.d.ts +18 -0
  236. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +2 -2
  237. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +1 -0
  238. package/package.json +1 -2
  239. package/src/lib/template/seaweed/SeaweedTemplate.svelte +41 -161
  240. package/src/lib/template/seaweed/SeaweedTemplateData.ts +3 -9
  241. package/src/lib/template/seaweed/entries/EntryProps.ts +7 -0
  242. package/src/lib/template/seaweed/entries/WorkExperience.svelte +146 -0
  243. package/src/lib/template/seaweed/entry_order_config/EntryOrderConfig.svelte +1 -2
  244. package/src/routes/(seaweed)/portfolio/+page.svelte +12 -1
  245. package/src/routes/(seaweed)/portfolio/actual/+page.svelte +9 -0
  246. package/src/routes/(seaweed)/portfolio/actual/[slug]/+page.svelte +8 -0
  247. package/.env +0 -5
  248. package/.svelte-kit/__package__/scripts/SetDefaultEnvironment.d.ts +0 -1
  249. package/.svelte-kit/__package__/scripts/SetDefaultEnvironment.js +0 -41
  250. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/proxy+page.server.ts +0 -46
  251. package/dist/scripts/SetDefaultEnvironment.d.ts +0 -1
  252. package/dist/scripts/SetDefaultEnvironment.js +0 -41
  253. package/src/lib/scripts/SetDefaultEnvironment.ts +0 -45
  254. package/src/routes/(seaweed)/portfolio/+page.server.ts +0 -44
@@ -0,0 +1,786 @@
1
+ import { c as create_ssr_component, b as subscribe, s as setContext, e as escape, f as createEventDispatcher, i as getContext, a as add_attribute, j as compute_slots, d as each, v as validate_component, n as null_to_empty, m as missing_component } from "./ssr.js";
2
+ import { a as GetAllEntryFromGlobal, G as GetEntryFromGlobal, r as removeProxyWrapperOnString, b as GithubIcon, C as Chip } from "./NavigationComponent.svelte_svelte_type_style_lang.js";
3
+ import { C as CloseIcon, e as enableBackground, A as AppShell, a as AppBar, L as LightSwitch, R as RandomizedBackground } from "./close.js";
4
+ import { w as writable } from "./index.js";
5
+ import { p as prefersReducedMotionStore, a as autoModeWatcher } from "./ProgressBar.svelte_svelte_type_style_lang.js";
6
+ import { e as enableDialogueOverlay } from "./DialogManagerStore.js";
7
+ import { s as slide } from "./index3.js";
8
+ import { s as storeHighlightJs } from "./stores.js";
9
+ import { p as page } from "./stores2.js";
10
+ import { C as Card } from "./PineappleBaseLayout.svelte_svelte_type_style_lang.js";
11
+ import { C as CreateUrlResult } from "./CreateUrl.js";
12
+ import { g as getToastStore } from "./stores4.js";
13
+ import { P as PineappleSlideToggle } from "./PineappleSlideToggle.js";
14
+ import "./client.js";
15
+ const Accordion = create_ssr_component(($$result, $$props, $$bindings, slots) => {
16
+ let classesBase;
17
+ let $prefersReducedMotionStore, $$unsubscribe_prefersReducedMotionStore;
18
+ $$unsubscribe_prefersReducedMotionStore = subscribe(prefersReducedMotionStore, (value) => $prefersReducedMotionStore = value);
19
+ let { autocollapse = false } = $$props;
20
+ let { width = "w-full" } = $$props;
21
+ let { spacing = "space-y-1" } = $$props;
22
+ let { disabled = false } = $$props;
23
+ let { padding = "py-2 px-4" } = $$props;
24
+ let { hover = "hover:bg-primary-hover-token" } = $$props;
25
+ let { rounded = "rounded-container-token" } = $$props;
26
+ let { caretOpen = "rotate-180" } = $$props;
27
+ let { caretClosed = "" } = $$props;
28
+ let { regionControl = "" } = $$props;
29
+ let { regionPanel = "space-y-4" } = $$props;
30
+ let { regionCaret = "" } = $$props;
31
+ let { transitions = !$prefersReducedMotionStore } = $$props;
32
+ let { transitionIn = slide } = $$props;
33
+ let { transitionInParams = { duration: 200 } } = $$props;
34
+ let { transitionOut = slide } = $$props;
35
+ let { transitionOutParams = { duration: 200 } } = $$props;
36
+ const active = writable(null);
37
+ setContext("active", active);
38
+ setContext("autocollapse", autocollapse);
39
+ setContext("disabled", disabled);
40
+ setContext("padding", padding);
41
+ setContext("hover", hover);
42
+ setContext("rounded", rounded);
43
+ setContext("caretOpen", caretOpen);
44
+ setContext("caretClosed", caretClosed);
45
+ setContext("regionControl", regionControl);
46
+ setContext("regionPanel", regionPanel);
47
+ setContext("regionCaret", regionCaret);
48
+ setContext("transitions", transitions);
49
+ setContext("transitionIn", transitionIn);
50
+ setContext("transitionInParams", transitionInParams);
51
+ setContext("transitionOut", transitionOut);
52
+ setContext("transitionOutParams", transitionOutParams);
53
+ if ($$props.autocollapse === void 0 && $$bindings.autocollapse && autocollapse !== void 0)
54
+ $$bindings.autocollapse(autocollapse);
55
+ if ($$props.width === void 0 && $$bindings.width && width !== void 0)
56
+ $$bindings.width(width);
57
+ if ($$props.spacing === void 0 && $$bindings.spacing && spacing !== void 0)
58
+ $$bindings.spacing(spacing);
59
+ if ($$props.disabled === void 0 && $$bindings.disabled && disabled !== void 0)
60
+ $$bindings.disabled(disabled);
61
+ if ($$props.padding === void 0 && $$bindings.padding && padding !== void 0)
62
+ $$bindings.padding(padding);
63
+ if ($$props.hover === void 0 && $$bindings.hover && hover !== void 0)
64
+ $$bindings.hover(hover);
65
+ if ($$props.rounded === void 0 && $$bindings.rounded && rounded !== void 0)
66
+ $$bindings.rounded(rounded);
67
+ if ($$props.caretOpen === void 0 && $$bindings.caretOpen && caretOpen !== void 0)
68
+ $$bindings.caretOpen(caretOpen);
69
+ if ($$props.caretClosed === void 0 && $$bindings.caretClosed && caretClosed !== void 0)
70
+ $$bindings.caretClosed(caretClosed);
71
+ if ($$props.regionControl === void 0 && $$bindings.regionControl && regionControl !== void 0)
72
+ $$bindings.regionControl(regionControl);
73
+ if ($$props.regionPanel === void 0 && $$bindings.regionPanel && regionPanel !== void 0)
74
+ $$bindings.regionPanel(regionPanel);
75
+ if ($$props.regionCaret === void 0 && $$bindings.regionCaret && regionCaret !== void 0)
76
+ $$bindings.regionCaret(regionCaret);
77
+ if ($$props.transitions === void 0 && $$bindings.transitions && transitions !== void 0)
78
+ $$bindings.transitions(transitions);
79
+ if ($$props.transitionIn === void 0 && $$bindings.transitionIn && transitionIn !== void 0)
80
+ $$bindings.transitionIn(transitionIn);
81
+ if ($$props.transitionInParams === void 0 && $$bindings.transitionInParams && transitionInParams !== void 0)
82
+ $$bindings.transitionInParams(transitionInParams);
83
+ if ($$props.transitionOut === void 0 && $$bindings.transitionOut && transitionOut !== void 0)
84
+ $$bindings.transitionOut(transitionOut);
85
+ if ($$props.transitionOutParams === void 0 && $$bindings.transitionOutParams && transitionOutParams !== void 0)
86
+ $$bindings.transitionOutParams(transitionOutParams);
87
+ classesBase = `${width} ${spacing} ${$$props.class ?? ""}`;
88
+ $$unsubscribe_prefersReducedMotionStore();
89
+ return ` <div class="${"accordion " + escape(classesBase, true)}" data-testid="accordion">${slots.default ? slots.default({}) : ``}</div>`;
90
+ });
91
+ const cBase$1 = "";
92
+ const cControl = "text-start w-full flex items-center space-x-4";
93
+ const cControlIcons = "fill-current w-3 transition-transform duration-[200ms]";
94
+ const cPanel = "";
95
+ const AccordionItem = create_ssr_component(($$result, $$props, $$bindings, slots) => {
96
+ let openState;
97
+ let classesBase;
98
+ let classesControl;
99
+ let classesCaretState;
100
+ let classesControlCaret;
101
+ let classesControlIcons;
102
+ let classesPanel;
103
+ let $$slots = compute_slots(slots);
104
+ let $active, $$unsubscribe_active;
105
+ const dispatch = createEventDispatcher();
106
+ let { open = false } = $$props;
107
+ let { id = String(Math.random()) } = $$props;
108
+ let { autocollapse = getContext("autocollapse") } = $$props;
109
+ let { active = getContext("active") } = $$props;
110
+ $$unsubscribe_active = subscribe(active, (value) => $active = value);
111
+ let { disabled = getContext("disabled") } = $$props;
112
+ let { padding = getContext("padding") } = $$props;
113
+ let { hover = getContext("hover") } = $$props;
114
+ let { rounded = getContext("rounded") } = $$props;
115
+ let { caretOpen = getContext("caretOpen") } = $$props;
116
+ let { caretClosed = getContext("caretClosed") } = $$props;
117
+ let { regionControl = getContext("regionControl") } = $$props;
118
+ let { regionPanel = getContext("regionPanel") } = $$props;
119
+ let { regionCaret = getContext("regionCaret") } = $$props;
120
+ let { transitions = getContext("transitions") } = $$props;
121
+ let { transitionIn = getContext("transitionIn") } = $$props;
122
+ let { transitionInParams = getContext("transitionInParams") } = $$props;
123
+ let { transitionOut = getContext("transitionOut") } = $$props;
124
+ let { transitionOutParams = getContext("transitionOutParams") } = $$props;
125
+ const svgCaretIcon = `
126
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class={classesControlCaret}>
127
+ <path d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z" />
128
+ </svg>`;
129
+ function setActive(event) {
130
+ if (autocollapse === true) {
131
+ active.set(id);
132
+ } else {
133
+ open = !open;
134
+ }
135
+ onToggle(event);
136
+ }
137
+ function onToggle(event) {
138
+ const currentOpenState = autocollapse ? $active === id : open;
139
+ dispatch("toggle", {
140
+ event,
141
+ id,
142
+ panelId: `accordion-panel-${id}`,
143
+ open: currentOpenState,
144
+ autocollapse
145
+ });
146
+ }
147
+ if (autocollapse && open)
148
+ setActive();
149
+ if ($$props.open === void 0 && $$bindings.open && open !== void 0)
150
+ $$bindings.open(open);
151
+ if ($$props.id === void 0 && $$bindings.id && id !== void 0)
152
+ $$bindings.id(id);
153
+ if ($$props.autocollapse === void 0 && $$bindings.autocollapse && autocollapse !== void 0)
154
+ $$bindings.autocollapse(autocollapse);
155
+ if ($$props.active === void 0 && $$bindings.active && active !== void 0)
156
+ $$bindings.active(active);
157
+ if ($$props.disabled === void 0 && $$bindings.disabled && disabled !== void 0)
158
+ $$bindings.disabled(disabled);
159
+ if ($$props.padding === void 0 && $$bindings.padding && padding !== void 0)
160
+ $$bindings.padding(padding);
161
+ if ($$props.hover === void 0 && $$bindings.hover && hover !== void 0)
162
+ $$bindings.hover(hover);
163
+ if ($$props.rounded === void 0 && $$bindings.rounded && rounded !== void 0)
164
+ $$bindings.rounded(rounded);
165
+ if ($$props.caretOpen === void 0 && $$bindings.caretOpen && caretOpen !== void 0)
166
+ $$bindings.caretOpen(caretOpen);
167
+ if ($$props.caretClosed === void 0 && $$bindings.caretClosed && caretClosed !== void 0)
168
+ $$bindings.caretClosed(caretClosed);
169
+ if ($$props.regionControl === void 0 && $$bindings.regionControl && regionControl !== void 0)
170
+ $$bindings.regionControl(regionControl);
171
+ if ($$props.regionPanel === void 0 && $$bindings.regionPanel && regionPanel !== void 0)
172
+ $$bindings.regionPanel(regionPanel);
173
+ if ($$props.regionCaret === void 0 && $$bindings.regionCaret && regionCaret !== void 0)
174
+ $$bindings.regionCaret(regionCaret);
175
+ if ($$props.transitions === void 0 && $$bindings.transitions && transitions !== void 0)
176
+ $$bindings.transitions(transitions);
177
+ if ($$props.transitionIn === void 0 && $$bindings.transitionIn && transitionIn !== void 0)
178
+ $$bindings.transitionIn(transitionIn);
179
+ if ($$props.transitionInParams === void 0 && $$bindings.transitionInParams && transitionInParams !== void 0)
180
+ $$bindings.transitionInParams(transitionInParams);
181
+ if ($$props.transitionOut === void 0 && $$bindings.transitionOut && transitionOut !== void 0)
182
+ $$bindings.transitionOut(transitionOut);
183
+ if ($$props.transitionOutParams === void 0 && $$bindings.transitionOutParams && transitionOutParams !== void 0)
184
+ $$bindings.transitionOutParams(transitionOutParams);
185
+ {
186
+ if (open && autocollapse)
187
+ setActive();
188
+ }
189
+ openState = autocollapse ? $active === id : open;
190
+ classesBase = `${cBase$1} ${$$props.class ?? ""}`;
191
+ classesControl = `${cControl} ${padding} ${hover} ${rounded} ${regionControl}`;
192
+ classesCaretState = openState ? caretOpen : caretClosed;
193
+ classesControlCaret = `${cControlIcons} ${regionCaret} ${classesCaretState}`;
194
+ classesControlIcons = `${cControlIcons} ${regionCaret}`;
195
+ classesPanel = `${cPanel} ${padding} ${rounded} ${regionPanel}`;
196
+ $$unsubscribe_active();
197
+ return ` <div class="${"accordion-item " + escape(classesBase, true)}" data-testid="accordion-item"> <button type="button" class="${"accordion-control " + escape(classesControl, true)}"${add_attribute("id", id, 0)}${add_attribute("aria-expanded", openState, 0)} aria-controls="${"accordion-panel-" + escape(id, true)}" ${disabled ? "disabled" : ""}> ${$$slots.lead ? `<div class="accordion-lead">${slots.lead ? slots.lead({}) : ``}</div>` : ``} <div class="accordion-summary flex-1">${slots.summary ? slots.summary({}) : `(summary)`}</div> ${$$slots.iconClosed || $$slots.iconOpen ? ` <div class="${"accordion-summary-icons " + escape(classesControlIcons, true)}">${openState ? `${slots.iconClosed ? slots.iconClosed({}) : `<!-- HTML_TAG_START -->${svgCaretIcon}<!-- HTML_TAG_END -->`}` : `${slots.iconOpen ? slots.iconOpen({}) : `<!-- HTML_TAG_START -->${svgCaretIcon}<!-- HTML_TAG_END -->`}`}</div>` : ` <div class="${"accordion-summary-caret " + escape(classesControlCaret, true)}"><!-- HTML_TAG_START -->${svgCaretIcon}<!-- HTML_TAG_END --></div>`}</button> ${openState ? `<div class="${"accordion-panel " + escape(classesPanel, true)}" id="${"accordion-panel-" + escape(id, true)}" role="region"${add_attribute("aria-hidden", !openState, 0)}${add_attribute("aria-labelledby", id, 0)}>${slots.content ? slots.content({}) : `(content)`}</div>` : ``}</div>`;
198
+ });
199
+ const cBase = "overflow-hidden shadow";
200
+ const cHeader = "text-xs text-white/50 uppercase flex justify-between items-center p-2 pl-4";
201
+ const cPre = "whitespace-pre-wrap break-all p-4 pt-1";
202
+ function languageFormatter(lang) {
203
+ if (lang === "js")
204
+ return "javascript";
205
+ if (lang === "ts")
206
+ return "typescript";
207
+ if (lang === "shell")
208
+ return "terminal";
209
+ return lang;
210
+ }
211
+ const CodeBlock = create_ssr_component(($$result, $$props, $$bindings, slots) => {
212
+ let classesBase;
213
+ let $storeHighlightJs, $$unsubscribe_storeHighlightJs;
214
+ $$unsubscribe_storeHighlightJs = subscribe(storeHighlightJs, (value) => $storeHighlightJs = value);
215
+ createEventDispatcher();
216
+ let { language = "plaintext" } = $$props;
217
+ let { code = "" } = $$props;
218
+ let { lineNumbers = false } = $$props;
219
+ let { background = "bg-neutral-900/90" } = $$props;
220
+ let { blur = "" } = $$props;
221
+ let { text = "text-sm" } = $$props;
222
+ let { color = "text-white" } = $$props;
223
+ let { rounded = "rounded-container-token" } = $$props;
224
+ let { shadow = "shadow" } = $$props;
225
+ let { button = "btn btn-sm variant-soft !text-white" } = $$props;
226
+ let { buttonLabel = "Copy" } = $$props;
227
+ let { buttonCopied = "👍" } = $$props;
228
+ let formatted = false;
229
+ let displayCode = code;
230
+ if ($$props.language === void 0 && $$bindings.language && language !== void 0)
231
+ $$bindings.language(language);
232
+ if ($$props.code === void 0 && $$bindings.code && code !== void 0)
233
+ $$bindings.code(code);
234
+ if ($$props.lineNumbers === void 0 && $$bindings.lineNumbers && lineNumbers !== void 0)
235
+ $$bindings.lineNumbers(lineNumbers);
236
+ if ($$props.background === void 0 && $$bindings.background && background !== void 0)
237
+ $$bindings.background(background);
238
+ if ($$props.blur === void 0 && $$bindings.blur && blur !== void 0)
239
+ $$bindings.blur(blur);
240
+ if ($$props.text === void 0 && $$bindings.text && text !== void 0)
241
+ $$bindings.text(text);
242
+ if ($$props.color === void 0 && $$bindings.color && color !== void 0)
243
+ $$bindings.color(color);
244
+ if ($$props.rounded === void 0 && $$bindings.rounded && rounded !== void 0)
245
+ $$bindings.rounded(rounded);
246
+ if ($$props.shadow === void 0 && $$bindings.shadow && shadow !== void 0)
247
+ $$bindings.shadow(shadow);
248
+ if ($$props.button === void 0 && $$bindings.button && button !== void 0)
249
+ $$bindings.button(button);
250
+ if ($$props.buttonLabel === void 0 && $$bindings.buttonLabel && buttonLabel !== void 0)
251
+ $$bindings.buttonLabel(buttonLabel);
252
+ if ($$props.buttonCopied === void 0 && $$bindings.buttonCopied && buttonCopied !== void 0)
253
+ $$bindings.buttonCopied(buttonCopied);
254
+ {
255
+ if ($storeHighlightJs !== void 0) {
256
+ displayCode = $storeHighlightJs.highlight(code, { language }).value.trim();
257
+ formatted = true;
258
+ }
259
+ }
260
+ {
261
+ if (lineNumbers) {
262
+ displayCode = displayCode.replace(/^/gm, () => {
263
+ return '<span class="line"></span> ';
264
+ });
265
+ formatted = true;
266
+ }
267
+ }
268
+ classesBase = `${cBase} ${background} ${blur} ${text} ${color} ${rounded} ${shadow} ${$$props.class ?? ""}`;
269
+ $$unsubscribe_storeHighlightJs();
270
+ return ` ${language && code ? `<div class="${"codeblock " + escape(classesBase, true)}" data-testid="codeblock"> <header class="${"codeblock-header " + escape(cHeader, true)}"> <span class="codeblock-language">${escape(languageFormatter(language))}</span> <button type="button" class="${"codeblock-btn " + escape(button, true)}">${escape(buttonLabel)}</button></header> <pre class="${"codeblock-pre " + escape(cPre, true)}"><code class="${"codeblock-code language-" + escape(language, true) + " lineNumbers"}">${formatted ? `<!-- HTML_TAG_START -->${displayCode}<!-- HTML_TAG_END -->` : `${escape(code.trim())}`}</code></pre></div>` : ``}`;
271
+ });
272
+ const ComboBox = create_ssr_component(($$result, $$props, $$bindings, slots) => {
273
+ let { stringItems = ["Select item"] } = $$props;
274
+ let { selectedValue = "" } = $$props;
275
+ selectedValue = stringItems.length === 0 ? "" : stringItems[0];
276
+ if ($$props.stringItems === void 0 && $$bindings.stringItems && stringItems !== void 0)
277
+ $$bindings.stringItems(stringItems);
278
+ if ($$props.selectedValue === void 0 && $$bindings.selectedValue && selectedValue !== void 0)
279
+ $$bindings.selectedValue(selectedValue);
280
+ return `<select class="select">${each(stringItems, (item) => {
281
+ return `<option${add_attribute("value", item, 0)}>${escape(item)}</option>`;
282
+ })}</select>`;
283
+ });
284
+ const css$6 = {
285
+ code: ".combo-box-wrapper.svelte-5jp9bf{display:flex;gap:1em}",
286
+ map: null
287
+ };
288
+ const ComboBoxWithButton = create_ssr_component(($$result, $$props, $$bindings, slots) => {
289
+ let { selectedValue = "" } = $$props;
290
+ let { stringItems = [] } = $$props;
291
+ let { onClick = void 0 } = $$props;
292
+ if ($$props.selectedValue === void 0 && $$bindings.selectedValue && selectedValue !== void 0)
293
+ $$bindings.selectedValue(selectedValue);
294
+ if ($$props.stringItems === void 0 && $$bindings.stringItems && stringItems !== void 0)
295
+ $$bindings.stringItems(stringItems);
296
+ if ($$props.onClick === void 0 && $$bindings.onClick && onClick !== void 0)
297
+ $$bindings.onClick(onClick);
298
+ $$result.css.add(css$6);
299
+ let $$settled;
300
+ let $$rendered;
301
+ let previous_head = $$result.head;
302
+ do {
303
+ $$settled = true;
304
+ $$result.head = previous_head;
305
+ $$rendered = `<div class="combo-box-wrapper svelte-5jp9bf"><button class="combo-box-side-button btn variant-filled-primary" data-svelte-h="svelte-1e7q8gp">+ Add entry</button> ${validate_component(ComboBox, "ComboBox").$$render(
306
+ $$result,
307
+ { selectedValue, stringItems },
308
+ {
309
+ selectedValue: ($$value) => {
310
+ selectedValue = $$value;
311
+ $$settled = false;
312
+ },
313
+ stringItems: ($$value) => {
314
+ stringItems = $$value;
315
+ $$settled = false;
316
+ }
317
+ },
318
+ {}
319
+ )} </div>`;
320
+ } while (!$$settled);
321
+ return $$rendered;
322
+ });
323
+ const UpwardIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='24'%20viewBox='0%20-960%20960%20960'%20width='24'%3e%3cpath%20d='M440-160v-487L216-423l-56-57%20320-320%20320%20320-56%2057-224-224v487h-80Z'/%3e%3c/svg%3e";
324
+ const css$5 = {
325
+ code: ".advanced-setting-list.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{display:flex;flex-direction:column}.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559:is(.dark .btn-group-header){--tw-bg-opacity:1;background-color:rgb(var(--color-tertiary-500) / var(--tw-bg-opacity));color:rgb(var(--on-tertiary))}.btn-group-header.svelte-1fsf559>.svelte-1fsf559.svelte-1fsf559:disabled{cursor:not-allowed;opacity:0.5}.btn-group-header.svelte-1fsf559>.svelte-1fsf559.svelte-1fsf559:disabled:hover{--tw-brightness:brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.btn-group-header.svelte-1fsf559>.svelte-1fsf559.svelte-1fsf559:disabled:active{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-group-header.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{display:inline-flex;flex-direction:row;overflow:hidden;border-radius:var(--theme-rounded-base);isolation:isolate}.btn-group-header.svelte-1fsf559>.svelte-1fsf559:not([hidden])~.svelte-1fsf559:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.btn-group-header.svelte-1fsf559 button.svelte-1fsf559.svelte-1fsf559{font-size:1rem;line-height:1.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:9px;padding-bottom:9px;white-space:nowrap;text-align:center;display:inline-flex;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:inherit;text-decoration-line:none}.btn-group-header.svelte-1fsf559 button.svelte-1fsf559.svelte-1fsf559:hover{--tw-brightness:brightness(1.15);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);background-color:rgb(var(--color-surface-50) / 3%)}.btn-group-header.svelte-1fsf559 button.svelte-1fsf559.svelte-1fsf559:active{background-color:rgb(var(--color-surface-900) / 3%)}.btn-group-header.svelte-1fsf559>.svelte-1fsf559+.svelte-1fsf559{border-top-width:0px;border-left-width:1px;border-color:rgb(var(--color-surface-500) / 0.2)}.btn-group-header.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{--tw-bg-opacity:1;background-color:rgb(var(--color-tertiary-500) / var(--tw-bg-opacity));color:rgb(var(--on-tertiary))}.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559:is(.dark .btn-group-header){--tw-bg-opacity:1;background-color:rgb(var(--color-tertiary-500) / var(--tw-bg-opacity));color:rgb(var(--on-tertiary))}.btn-group-header.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{display:flex;align-items:center;margin-bottom:0.5lh}.btn-group-entry.svelte-1fsf559>.svelte-1fsf559.svelte-1fsf559:disabled{cursor:not-allowed;opacity:0.5}.btn-group-entry.svelte-1fsf559>.svelte-1fsf559.svelte-1fsf559:disabled:hover{--tw-brightness:brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.btn-group-entry.svelte-1fsf559>.svelte-1fsf559.svelte-1fsf559:disabled:active{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-group-entry.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{display:inline-flex;flex-direction:row;overflow:hidden;border-radius:var(--theme-rounded-base);isolation:isolate}.btn-group-entry.svelte-1fsf559>.svelte-1fsf559:not([hidden])~.svelte-1fsf559:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.btn-group-entry.svelte-1fsf559 button.svelte-1fsf559.svelte-1fsf559{font-size:1rem;line-height:1.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:9px;padding-bottom:9px;white-space:nowrap;text-align:center;display:inline-flex;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:inherit;text-decoration-line:none}.btn-group-entry.svelte-1fsf559 button.svelte-1fsf559.svelte-1fsf559:hover{--tw-brightness:brightness(1.15);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);background-color:rgb(var(--color-surface-50) / 3%)}.btn-group-entry.svelte-1fsf559 button.svelte-1fsf559.svelte-1fsf559:active{background-color:rgb(var(--color-surface-900) / 3%)}.btn-group-entry.svelte-1fsf559>.svelte-1fsf559+.svelte-1fsf559{border-top-width:0px;border-left-width:1px;border-color:rgb(var(--color-surface-500) / 0.2)}.btn-group-entry.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{display:flex;padding:0}.btn-group-entry.svelte-1fsf559>div.svelte-1fsf559.svelte-1fsf559{padding:1em}.flipped-vertically.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{transform:rotate(180deg)}.entry-group.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{border-radius:var(--theme-rounded-container);background-color:rgb(var(--color-surface-600));margin-top:1.5lh;margin-bottom:0.5lh;padding:0.5lh 0.5em}.entry-row.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{display:flex;align-items:center}.entry-name.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{flex-grow:1}tr.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559,td.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559,th.svelte-1fsf559.svelte-1fsf559.svelte-1fsf559{width:100%}tfoot.svelte-1fsf559>tr.svelte-1fsf559.svelte-1fsf559{display:flex}",
326
+ map: null
327
+ };
328
+ const EntryOrderConfig = create_ssr_component(($$result, $$props, $$bindings, slots) => {
329
+ let { seaweedTemplateData } = $$props;
330
+ let { seaweedEntries } = $$props;
331
+ let { orderUrl } = $$props;
332
+ let { updateUrl } = $$props;
333
+ const updateOrderQuery = () => {
334
+ orderUrl = "order=" + seaweedEntries.map((g) => {
335
+ const groupUrl = g.items.map((e) => removeProxyWrapperOnString(e.name)).join("|");
336
+ return `${g.name}:${groupUrl}:${g.gridClass}`;
337
+ }).join(",");
338
+ updateUrl(seaweedTemplateData);
339
+ };
340
+ const addEntry = (group) => {
341
+ return (selected) => {
342
+ const c = GetEntryFromGlobal(selected);
343
+ if (c) {
344
+ group.items.push(c);
345
+ seaweedEntries = seaweedEntries;
346
+ updateOrderQuery();
347
+ }
348
+ };
349
+ };
350
+ const allDefaultEntries = Array.from(GetAllEntryFromGlobal().keys());
351
+ if ($$props.seaweedTemplateData === void 0 && $$bindings.seaweedTemplateData && seaweedTemplateData !== void 0)
352
+ $$bindings.seaweedTemplateData(seaweedTemplateData);
353
+ if ($$props.seaweedEntries === void 0 && $$bindings.seaweedEntries && seaweedEntries !== void 0)
354
+ $$bindings.seaweedEntries(seaweedEntries);
355
+ if ($$props.orderUrl === void 0 && $$bindings.orderUrl && orderUrl !== void 0)
356
+ $$bindings.orderUrl(orderUrl);
357
+ if ($$props.updateUrl === void 0 && $$bindings.updateUrl && updateUrl !== void 0)
358
+ $$bindings.updateUrl(updateUrl);
359
+ $$result.css.add(css$5);
360
+ return `<br class="svelte-1fsf559"> <h2 class="svelte-1fsf559" data-svelte-h="svelte-rlwwg9">Site ordering</h2> <blockquote class="svelte-1fsf559" data-svelte-h="svelte-1bqhr49">Sorry! This part of the website is still WIP, but here it is anyway. As long as it functions</blockquote> <div class="advanced-setting-list svelte-1fsf559">${each(seaweedEntries, (group, groupIndex) => {
361
+ return `<div class="entry-group card svelte-1fsf559"><div class="btn-group-header svelte-1fsf559"><button${add_attribute("title", `Remove ${group.name}`, 0)} class="svelte-1fsf559"><img class="img-icon svelte-1fsf559"${add_attribute("src", CloseIcon, 0)}${add_attribute("alt", `Remove ${group.name}`, 0)}></button> <button${add_attribute("title", `Move group ${group.name} upwards`, 0)} ${groupIndex === 0 ? "disabled" : ""} class="svelte-1fsf559"><img class="img-icon svelte-1fsf559"${add_attribute("src", UpwardIcon, 0)}${add_attribute("alt", `Move group ${group.name} upwards`, 0)}></button> <button${add_attribute("title", `Move group ${group.name} downwards`, 0)} ${groupIndex === seaweedEntries.length - 1 ? "disabled" : ""} class="svelte-1fsf559"><img class="img-icon flipped-vertically svelte-1fsf559"${add_attribute("src", UpwardIcon, 0)}${add_attribute("alt", `Move group ${group.name} downwards`, 0)}></button> <h2 class="svelte-1fsf559">${escape(group.name)}</h2></div> <table class="advanced-setting-list table svelte-1fsf559"><thead class="svelte-1fsf559" data-svelte-h="svelte-pbksj"><tr class="svelte-1fsf559"><th class="svelte-1fsf559">Entries</th> </tr></thead> <tbody class="svelte-1fsf559">${each(group.items, (entry, entryIndex) => {
362
+ return `<tr class="entry-row svelte-1fsf559"><td class="btn-group-entry svelte-1fsf559"><button${add_attribute("title", `Remove ${entry.name}`, 0)} class="svelte-1fsf559"><img class="img-icon svelte-1fsf559"${add_attribute("src", CloseIcon, 0)}${add_attribute("alt", `Remove ${entry.name}`, 0)}></button> <button${add_attribute("title", `Move ${entry.name} upwards`, 0)} ${entryIndex === 0 ? "disabled" : ""} class="svelte-1fsf559"><img class="img-icon svelte-1fsf559"${add_attribute("src", UpwardIcon, 0)}${add_attribute("alt", `Move ${entry.name} upwards`, 0)}></button> <button${add_attribute("title", `Move ${entry.name} downwards`, 0)} ${entryIndex === group.items.length - 1 ? "disabled" : ""} class="svelte-1fsf559"><img class="img-icon flipped-vertically svelte-1fsf559"${add_attribute("src", UpwardIcon, 0)}${add_attribute("alt", `Move ${entry.name} downwards`, 0)}></button> <div class="entry-name svelte-1fsf559">${escape(entry.name)} </div></td> </tr>`;
363
+ })}</tbody> <tfoot class="svelte-1fsf559"><tr class="svelte-1fsf559"><td class="svelte-1fsf559">${validate_component(ComboBoxWithButton, "ComboBoxWithButton").$$render(
364
+ $$result,
365
+ {
366
+ stringItems: allDefaultEntries,
367
+ onClick: addEntry(group)
368
+ },
369
+ {},
370
+ {}
371
+ )} </td></tr> </tfoot></table> </div>`;
372
+ })} </div>`;
373
+ });
374
+ const MailIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='24'%20viewBox='0%20-960%20960%20960'%20width='24'%3e%3cpath%20d='M160-160q-33%200-56.5-23.5T80-240v-480q0-33%2023.5-56.5T160-800h640q33%200%2056.5%2023.5T880-720v480q0%2033-23.5%2056.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80%20320-200H160l320%20200ZM160-640v-80%20480-400Z'/%3e%3c/svg%3e";
375
+ const LinkedinIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19%200h-14c-2.761%200-5%202.239-5%205v14c0%202.761%202.239%205%205%205h14c2.762%200%205-2.239%205-5v-14c0-2.761-2.238-5-5-5zm-11%2019h-3v-11h3v11zm-1.5-12.268c-.966%200-1.75-.79-1.75-1.764s.784-1.764%201.75-1.764%201.75.79%201.75%201.764-.783%201.764-1.75%201.764zm13.5%2012.268h-3v-5.604c0-3.368-4-3.113-4%200v5.604h-3v-11h3v1.765c1.396-2.586%207-2.777%207%202.476v6.759z'/%3e%3c/svg%3e";
376
+ const css$4 = {
377
+ code: ".svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:is(.dark .social-button){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity));color:rgb(var(--on-primary))}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:disabled{cursor:not-allowed;opacity:0.5}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:disabled:hover{--tw-brightness:brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:disabled:active{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc{font-size:1rem;line-height:1.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:9px;padding-bottom:9px;white-space:nowrap;text-align:center;display:inline-flex;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;border-radius:var(--theme-rounded-base)}.social-button.svelte-urhqdc>.svelte-urhqdc:not([hidden])~.svelte-urhqdc:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:hover{--tw-brightness:brightness(1.15);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:active{--tw-scale-x:95%;--tw-scale-y:95%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.social-button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity));color:rgb(var(--on-primary))}.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc:is(.dark .social-button){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity));color:rgb(var(--on-primary))}button.svelte-urhqdc>img.svelte-urhqdc.svelte-urhqdc{max-height:1lh}button.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc{min-width:0;min-height:0}.socials.svelte-urhqdc.svelte-urhqdc.svelte-urhqdc{display:flex;flex-wrap:wrap;justify-content:var(--preferred-justify-content)}.socials.svelte-urhqdc>button.svelte-urhqdc.svelte-urhqdc{margin:0 0.5em var(--preferred-overall-margin-bottom)}.socials.isSmall.svelte-urhqdc>button.svelte-urhqdc.svelte-urhqdc{margin-left:0.25em;margin-right:0.25em}",
378
+ map: null
379
+ };
380
+ const SocialSection = create_ssr_component(($$result, $$props, $$bindings, slots) => {
381
+ let { isSmallVersion = false } = $$props;
382
+ let { email = "turnipxenon@gmail.com" } = $$props;
383
+ let { linkedinSlug = "turnip-xenon" } = $$props;
384
+ let { isSlot = false } = $$props;
385
+ let { allowLinkedIn = true } = $$props;
386
+ const style = `
387
+ --preferred-justify-content: ${isSlot ? "flex-start" : "center"};
388
+ --preferred-overall-margin-bottom: ${isSlot ? "0" : "0.75lh"};
389
+ `;
390
+ if ($$props.isSmallVersion === void 0 && $$bindings.isSmallVersion && isSmallVersion !== void 0)
391
+ $$bindings.isSmallVersion(isSmallVersion);
392
+ if ($$props.email === void 0 && $$bindings.email && email !== void 0)
393
+ $$bindings.email(email);
394
+ if ($$props.linkedinSlug === void 0 && $$bindings.linkedinSlug && linkedinSlug !== void 0)
395
+ $$bindings.linkedinSlug(linkedinSlug);
396
+ if ($$props.isSlot === void 0 && $$bindings.isSlot && isSlot !== void 0)
397
+ $$bindings.isSlot(isSlot);
398
+ if ($$props.allowLinkedIn === void 0 && $$bindings.allowLinkedIn && allowLinkedIn !== void 0)
399
+ $$bindings.allowLinkedIn(allowLinkedIn);
400
+ $$result.css.add(css$4);
401
+ return `<div class="${["socials svelte-urhqdc", isSmallVersion ? "isSmall" : ""].join(" ").trim()}"${add_attribute("style", style, 0)} data-nosnippet><button type="button" class="social-button turnip-button svelte-urhqdc" role="link" title="https://github.com/TurnipXenon"><img${add_attribute("src", GithubIcon, 0)} alt="github icon" class="svelte-urhqdc"> ${!isSmallVersion ? `<span class="svelte-urhqdc" data-svelte-h="svelte-1yx4gc2">TurnipXenon</span>` : ``}</button> ${allowLinkedIn ? `<button type="button" class="social-button turnip-button svelte-urhqdc" role="link"${add_attribute("title", `https://www.linkedin.com/in/${linkedinSlug}/`, 0)}><img${add_attribute("src", LinkedinIcon, 0)} alt="linkedin icon" class="svelte-urhqdc"> ${!isSmallVersion ? `<span class="svelte-urhqdc">${escape(linkedinSlug)}</span>` : ``}</button>` : ``} <button type="button" class="social-button turnip-button svelte-urhqdc" role="link"${add_attribute("title", `mailto:${email}`, 0)}><img${add_attribute("src", MailIcon, 0)} alt="mail icon" class="svelte-urhqdc"> ${!isSmallVersion ? `<span class="svelte-urhqdc">${escape(email)}</span>` : ``}</button> ${``} </div>`;
402
+ });
403
+ const css$3 = {
404
+ code: ":root{--dialog-start-pad:clamp(0em, 5vw, 2em);--dialog-box-width:min(calc(50em + 4em), calc(100vw - var(--dialog-start-pad) - var(--theme-border-base)));--dialog-box-height:clamp(15em, 50vw, 18em)}.default-page-container.svelte-17jndg7{max-width:2100px;margin:4em auto;flex-direction:column;z-index:0}.lead-slot-placeholder.svelte-17jndg7{height:3em;margin-inline-end:0.5em}",
405
+ map: null
406
+ };
407
+ const SeaweedBaseLayout = create_ssr_component(($$result, $$props, $$bindings, slots) => {
408
+ let $$slots = compute_slots(slots);
409
+ let { shouldDisplayLeadingIcons = false } = $$props;
410
+ let enableBackgroundValue = true;
411
+ enableBackground.subscribe((value) => {
412
+ enableBackgroundValue = value;
413
+ });
414
+ enableDialogueOverlay.set(false);
415
+ let shouldDisplaySocialIcons = writable(false);
416
+ if ($$props.shouldDisplayLeadingIcons === void 0 && $$bindings.shouldDisplayLeadingIcons && shouldDisplayLeadingIcons !== void 0)
417
+ $$bindings.shouldDisplayLeadingIcons(shouldDisplayLeadingIcons);
418
+ $$result.css.add(css$3);
419
+ return ` ${$$result.head += `<!-- HEAD_svelte-19or0ga_START --><!-- HTML_TAG_START -->${`<script>${autoModeWatcher.toString()} autoModeWatcher();<\/script>`}<!-- HTML_TAG_END --><!-- HEAD_svelte-19or0ga_END -->`, ""} ${validate_component(AppShell, "AppShell").$$render($$result, {}, {}, {
420
+ header: () => {
421
+ return ` ${validate_component(AppBar, "AppBar").$$render(
422
+ $$result,
423
+ {
424
+ slotDefault: "place-content-start",
425
+ background: "app-shell-token"
426
+ },
427
+ {},
428
+ {
429
+ trail: () => {
430
+ return `${validate_component(LightSwitch, "LightSwitch").$$render($$result, { bgLight: "bg-surface-400" }, {}, {})} `;
431
+ },
432
+ lead: () => {
433
+ return `<span class="lead-slot-placeholder svelte-17jndg7"></span> ${$$slots.extraLeadingIcons && shouldDisplayLeadingIcons ? `<div>${slots.extraLeadingIcons ? slots.extraLeadingIcons({}) : ``}</div>` : `${$$slots.extraLeadingIcons ? `<div hidden>${slots.s ? slots.s({}) : ``}</div>` : ``}`}`;
434
+ }
435
+ }
436
+ )} `;
437
+ },
438
+ default: () => {
439
+ return `${validate_component(RandomizedBackground, "RandomizedBackground").$$render($$result, { enable: enableBackgroundValue }, {}, {})} <div class="default-page-container svelte-17jndg7">${slots.default ? slots.default({ shouldDisplaySocialIcons }) : ``} <div class="footer-space"></div></div> `;
440
+ }
441
+ })}`;
442
+ });
443
+ const ElementVisbilityDetector = create_ssr_component(($$result, $$props, $$bindings, slots) => {
444
+ let { isVisible = true } = $$props;
445
+ let stickyElem;
446
+ if ($$props.isVisible === void 0 && $$bindings.isVisible && isVisible !== void 0)
447
+ $$bindings.isVisible(isVisible);
448
+ return `<span${add_attribute("this", stickyElem, 0)}>${slots.default ? slots.default({}) : ``}</span>`;
449
+ });
450
+ const css$2 = {
451
+ code: ".local-list.svelte-1od5o4z{display:flex;flex-direction:column;gap:0.25lh}.send-link.svelte-1od5o4z{margin-top:0.75lh}",
452
+ map: null
453
+ };
454
+ const CreateUrlForm = create_ssr_component(($$result, $$props, $$bindings, slots) => {
455
+ let { queryParams = "" } = $$props;
456
+ getToastStore();
457
+ let request = {
458
+ queryParams: "",
459
+ shortUrl: "",
460
+ password: ""
461
+ };
462
+ const failToast = { message: "Adding new url failed" };
463
+ /* @__PURE__ */ new Map([
464
+ [CreateUrlResult.Success, { message: "Successfully added new url" }],
465
+ [
466
+ CreateUrlResult.Duplicate,
467
+ {
468
+ message: "Short url already used; try again with another url"
469
+ }
470
+ ],
471
+ [CreateUrlResult.Fail, failToast]
472
+ ]);
473
+ if ($$props.queryParams === void 0 && $$bindings.queryParams && queryParams !== void 0)
474
+ $$bindings.queryParams(queryParams);
475
+ $$result.css.add(css$2);
476
+ request.queryParams = queryParams;
477
+ return `<div class="local-list svelte-1od5o4z"><label for="short-url" data-svelte-h="svelte-1pxy7if">Short URL for url shortener</label> <input name="short-url" class="input" type="text" placeholder="short-url"${add_attribute("value", request.shortUrl, 0)}> <label for="password" data-svelte-h="svelte-pepa0a">Password</label> <input name="password" class="input" type="password" placeholder="ILoveTurnips"${add_attribute("value", request.password, 0)}> <button class="send-link btn variant-filled svelte-1od5o4z" data-svelte-h="svelte-11pd0di">Send link</button> </div>`;
478
+ });
479
+ const css$1 = {
480
+ code: ".chum-bucket-item.svelte-1xlacc0{width:100%;display:flex;flex-direction:row;align-items:flex-start}.chum-bucket-image.svelte-1xlacc0{max-width:10em;height:auto;margin-top:0.5em;margin-inline-end:1em}.chum-bucket.svelte-1xlacc0{padding:1.5lh 2em;max-width:600px}.chum-bucket-grid.svelte-1xlacc0{display:flex;flex-direction:column;margin-top:0.5lh;gap:0.5lh}",
481
+ map: null
482
+ };
483
+ const ChumBucket = create_ssr_component(($$result, $$props, $$bindings, slots) => {
484
+ let pageMetaList = [];
485
+ $$result.css.add(css$1);
486
+ return `${validate_component(Card, "Card").$$render($$result, {}, {}, {
487
+ content: () => {
488
+ return `<div slot="content" class="chum-bucket svelte-1xlacc0"><h2 data-svelte-h="svelte-1b5qs2u">More about me...</h2> <p data-svelte-h="svelte-eux8tu">Check out the latest things I&#39;ve been rambling about at
489
+ <a href="https://turnipxenon.com" target="_blank">turnipxenon.com</a> or at
490
+ <a href="https://turnipxenon.com/blogs/coding-chagrin" target="_blank">turnipxenon.com/blogs/coding-chagrin.</a></p> ${pageMetaList.length > 0 ? `<h3 data-svelte-h="svelte-16xin8b"><b>My latest blogs (sounds too fancy)</b></h3>` : ``} <div class="chum-bucket-grid svelte-1xlacc0">${each(pageMetaList, (pageMeta) => {
491
+ return `<div class="chum-bucket-item svelte-1xlacc0">${pageMeta.imageUrl ? `<img${add_attribute("src", `https://turnipxenon.com${pageMeta.imageUrl}`, 0)} class="chum-bucket-image svelte-1xlacc0"${add_attribute("alt", pageMeta.imageAlt, 0)}>` : ``} <div><h3><a${add_attribute("href", `https://turnipxenon.com/${pageMeta.relativeLink}`, 0)}>${escape(pageMeta.title)}</a></h3> <p>${escape(pageMeta.description)}</p></div> </div>`;
492
+ })}</div></div>`;
493
+ }
494
+ })}`;
495
+ });
496
+ const css = {
497
+ code: ".advanced-setting.svelte-1r5yyuh{display:flex;flex-direction:column;gap:0.5lh}h3.svelte-1r5yyuh{font-size:1.5em;line-height:1.5lh}.query-term-grid.svelte-1r5yyuh{display:flex;gap:0.25em;flex-wrap:wrap}",
498
+ map: null
499
+ };
500
+ let additionalFontWeight = "";
501
+ const SeaweedTemplate = create_ssr_component(($$result, $$props, $$bindings, slots) => {
502
+ let isSocialsGone;
503
+ let $$unsubscribe_page;
504
+ $$unsubscribe_page = subscribe(page, (value) => value);
505
+ let { seaweedTemplateData } = $$props;
506
+ let { projectFirstGroupedEntries } = $$props;
507
+ let { getEntryFromGlobal } = $$props;
508
+ let { letChaos = true } = $$props;
509
+ let { name = "Turnip" } = $$props;
510
+ let { email = "turnipxenon@gmail.com" } = $$props;
511
+ let { linkedinSlug = "turnip-xenon" } = $$props;
512
+ let { domain = "http://localhost:5173/portfolio/actual/" } = $$props;
513
+ let { serverSideQueryParams = "" } = $$props;
514
+ const entryProps = { email };
515
+ let isVisible = true;
516
+ let isAdvanceSettingOn = false;
517
+ let qtfontWeight = "normal";
518
+ let chaosDone = false;
519
+ let mainVisibility = "visible";
520
+ const toggleTerm = (term) => {
521
+ seaweedTemplateData.queryTermMap.set(term, !seaweedTemplateData.queryTermMap.get(term));
522
+ seaweedTemplateData.queryTermMap = seaweedTemplateData.queryTermMap;
523
+ };
524
+ let orderUrl = "";
525
+ let advancedUrl = domain;
526
+ let advancedQuery = "";
527
+ const updateUrl = (seaweedTemplateData2) => {
528
+ if (seaweedTemplateData2 === void 0) {
529
+ return;
530
+ }
531
+ const queryParams = [];
532
+ if (orderUrl) {
533
+ queryParams.push(orderUrl);
534
+ }
535
+ const qtList = [];
536
+ seaweedTemplateData2.queryTermMap.forEach((shouldBold, term) => {
537
+ if (shouldBold) {
538
+ qtList.push(term);
539
+ }
540
+ });
541
+ if (qtList.length === 0) {
542
+ queryParams.push("qt=clear");
543
+ } else if (seaweedTemplateData2.queryTermMap.size !== qtList.length) {
544
+ queryParams.push(`qt=${qtList.map((t) => t.slice(3, t.length)).join(",")}`);
545
+ }
546
+ if (seaweedTemplateData2.shouldAddFunNote) {
547
+ queryParams.push("fun=true");
548
+ }
549
+ if (!seaweedTemplateData2.gameSectionFirst) {
550
+ queryParams.push("game-section-first=false");
551
+ }
552
+ if (queryParams.length > 0) {
553
+ advancedQuery = queryParams.join("&");
554
+ advancedUrl = `${domain}?${advancedQuery}`;
555
+ } else {
556
+ advancedUrl = domain;
557
+ }
558
+ };
559
+ if ($$props.seaweedTemplateData === void 0 && $$bindings.seaweedTemplateData && seaweedTemplateData !== void 0)
560
+ $$bindings.seaweedTemplateData(seaweedTemplateData);
561
+ if ($$props.projectFirstGroupedEntries === void 0 && $$bindings.projectFirstGroupedEntries && projectFirstGroupedEntries !== void 0)
562
+ $$bindings.projectFirstGroupedEntries(projectFirstGroupedEntries);
563
+ if ($$props.getEntryFromGlobal === void 0 && $$bindings.getEntryFromGlobal && getEntryFromGlobal !== void 0)
564
+ $$bindings.getEntryFromGlobal(getEntryFromGlobal);
565
+ if ($$props.letChaos === void 0 && $$bindings.letChaos && letChaos !== void 0)
566
+ $$bindings.letChaos(letChaos);
567
+ if ($$props.name === void 0 && $$bindings.name && name !== void 0)
568
+ $$bindings.name(name);
569
+ if ($$props.email === void 0 && $$bindings.email && email !== void 0)
570
+ $$bindings.email(email);
571
+ if ($$props.linkedinSlug === void 0 && $$bindings.linkedinSlug && linkedinSlug !== void 0)
572
+ $$bindings.linkedinSlug(linkedinSlug);
573
+ if ($$props.domain === void 0 && $$bindings.domain && domain !== void 0)
574
+ $$bindings.domain(domain);
575
+ if ($$props.serverSideQueryParams === void 0 && $$bindings.serverSideQueryParams && serverSideQueryParams !== void 0)
576
+ $$bindings.serverSideQueryParams(serverSideQueryParams);
577
+ $$result.css.add(css);
578
+ let $$settled;
579
+ let $$rendered;
580
+ let previous_head = $$result.head;
581
+ do {
582
+ $$settled = true;
583
+ $$result.head = previous_head;
584
+ isSocialsGone = !isVisible;
585
+ mainVisibility = letChaos && !chaosDone ? "hidden" : "visible";
586
+ {
587
+ updateUrl(seaweedTemplateData);
588
+ }
589
+ $$rendered = `${validate_component(SeaweedBaseLayout, "SeaweedBaseLayout").$$render(
590
+ $$result,
591
+ { shouldDisplayLeadingIcons: isSocialsGone },
592
+ {
593
+ shouldDisplayLeadingIcons: ($$value) => {
594
+ isSocialsGone = $$value;
595
+ $$settled = false;
596
+ }
597
+ },
598
+ {
599
+ extraLeadingIcons: () => {
600
+ return `${validate_component(SocialSection, "SocialSection").$$render(
601
+ $$result,
602
+ {
603
+ slot: "extraLeadingIcons",
604
+ isSlot: true,
605
+ email,
606
+ linkedinSlug,
607
+ isSmallVersion: true
608
+ },
609
+ {},
610
+ {}
611
+ )}`;
612
+ },
613
+ default: () => {
614
+ return ` <main${add_attribute(
615
+ "style",
616
+ `
617
+ --qt-font-weight: ${qtfontWeight};${additionalFontWeight};
618
+ visibility: ${mainVisibility};
619
+ `,
620
+ 0
621
+ )}><div class="experience-and-about-div"><div class="greater-about-div">${validate_component(Card, "Card").$$render($$result, { includeDataNoSnippet: false }, {}, {
622
+ content: () => {
623
+ return `<section class="section-card" slot="content"><h1 data-svelte-h="svelte-soqi9t">About</h1> <p>Hi! My name is ${escape(name)}! I work as a software developer. Outside of that, I like making games, and
624
+ trying to do everything in between required to make one. I have some showcased below, our visit
625
+ my itch.io page for more of them.</p> <p data-svelte-h="svelte-1htq5b8">I also graduated with BS Computing Science, Specializing in Software Practice, and a
626
+ certificate in Computer Game Development at University of Alberta.</p> ${seaweedTemplateData?.shouldAddFunNote ? `<p data-svelte-h="svelte-1cp5bb">I&#39;m inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
627
+ Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.</p>` : ``} </section>`;
628
+ }
629
+ })} ${validate_component(Card, "Card").$$render($$result, {}, {}, {
630
+ content: () => {
631
+ return `<section class="section-card" slot="content">${validate_component(SocialSection, "SocialSection").$$render($$result, { email, linkedinSlug }, {}, {})} ${validate_component(ElementVisbilityDetector, "ElementVisbilityDetector").$$render(
632
+ $$result,
633
+ { isVisible },
634
+ {
635
+ isVisible: ($$value) => {
636
+ isVisible = $$value;
637
+ $$settled = false;
638
+ }
639
+ },
640
+ {}
641
+ )}</section>`;
642
+ }
643
+ })}</div> ${validate_component(Card, "Card").$$render($$result, {}, {}, {
644
+ content: () => {
645
+ return `<section class="section-card" slot="content"><h1 data-svelte-h="svelte-1r6ig88">Experience</h1> <h2 data-svelte-h="svelte-vsxr46">Highlight</h2> <p data-svelte-h="svelte-1w8ipmn">Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
646
+ active users</b> at Twitch (an Amazon Web Services subsidiary)</p> <h2 data-svelte-h="svelte-a3jo9c">Software Engineer</h2> <div class="two-column-separated" data-svelte-h="svelte-l2tbyp"><div>July 2023 – January 2024</div> <div style="text-align: end">Twitch (Amazon Web Services), Remote</div></div> <ul data-svelte-h="svelte-1htsnlv"><li>Contributed to
647
+ <span class="qt-go">Golang</span>
648
+ microservices and
649
+ <span class="qt-ts">Typescript</span> <span class="qt-react">React</span> codebases, across several teams, to accommodate public-facing user safety features to better comply with EU’s Digital Services Act, which applies to no more than
650
+ <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
651
+ . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.</li> <li>Improved observability for upcoming features by setting up new AWS resources to integrate internal data platform tools with existing alarms in our team’s microservice, utilizing
652
+ <span class="qt-aws qt-observability">Cloudwatch</span>,
653
+ <span class="qt-aws qt-observability">Grafana</span>,
654
+ <span class="qt-aws">Kinesis Data Stream</span>,
655
+ <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
656
+ <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span></li></ul> <br> <h2 data-svelte-h="svelte-wd964g">Software Engineer Intern</h2> <div class="two-column-separated" data-svelte-h="svelte-xu6jnc"><div>May 2022 – Aug 2022</div> <div style="text-align: end">Twitch (Amazon Web Services), San Francisco</div></div> <ul data-svelte-h="svelte-1coh9hk"><li>Built a <span class="qt-infra">load testing service</span> that can be configured to generate different
657
+ message types at different volumes that can be easily extended to target different chat services</li> <li>Used Twitch’s set of custom tools, including Twitch’s custom RPC protocol, to create a backend
658
+ service with business logic written in <span class="qt-go">Go</span> and cloud infrastructure utilizing
659
+ <span class="qt-infra qt-aws">ECS on Fargate, Cloudwatch, and DynamoDB</span>
660
+ , defined in <span class="qt-ts">Typescript</span>-flavored CDK</li> <li>Wrote a technical specification document for the service’s MVP and possible future features, and
661
+ additional documentation on how to use the service and how to extend the load testing service to include
662
+ new services to test</li></ul> <br> ${validate_component(Accordion, "Accordion").$$render($$result, {}, {}, {
663
+ default: () => {
664
+ return `${validate_component(AccordionItem, "AccordionItem").$$render($$result, {}, {}, {
665
+ content: () => {
666
+ return `<section class="more-section">${!letChaos ? `<h2 data-svelte-h="svelte-wd964g">Software Engineer Intern</h2> <div class="two-column-separated" data-svelte-h="svelte-1uqeyxo"><div>May 2021 – Dec 2021</div> <div style="text-align: end">Twitch (Amazon Web Services), Remote</div></div> <ul data-svelte-h="svelte-1xnf9zz"><li>Implemented and wrote tests for a feature in Twitch’s
667
+ <span class="qt-go">Golang</span> backend authentication microservices and
668
+ <span class="qt-ts">Typescript</span> <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
669
+ <b>over 100k+ users daily</b></li></ul>` : `niko baikal seal from toba aquarium`} <br></section> `;
670
+ },
671
+ summary: () => {
672
+ return `<div slot="summary" data-svelte-h="svelte-jx0pzv"><h2 class="accordion-header">More experience</h2></div>`;
673
+ }
674
+ })}`;
675
+ }
676
+ })}</section>`;
677
+ }
678
+ })}</div> ${seaweedTemplateData ? `${each(seaweedTemplateData.groupedEntries, (group) => {
679
+ return `${group.items.length > 0 ? `${validate_component(Card, "Card").$$render($$result, {}, {}, {
680
+ content: () => {
681
+ return `<section class="section-card title-card" slot="content"><h1 class="text-center">${escape(group.name)}</h1> </section>`;
682
+ }
683
+ })} <section class="${escape(null_to_empty(group.gridClass), true) + " svelte-1r5yyuh"}">${each(group.items, (entry) => {
684
+ return `${validate_component(entry.component || missing_component, "svelte:component").$$render($$result, { props: entryProps }, {}, {})}`;
685
+ })} </section>` : ``}`;
686
+ })}` : ``} ${validate_component(ChumBucket, "ChumBucket").$$render($$result, {}, {}, {})} ${!letChaos ? `<div aria-hidden="true" style="height: 3lh"></div> ${validate_component(Card, "Card").$$render($$result, {}, {}, {
687
+ content: () => {
688
+ return `<div slot="content" class="default-card advanced-setting svelte-1r5yyuh"><h1 data-svelte-h="svelte-gt787v">Advanced settings</h1> <p data-svelte-h="svelte-2s1b5f">This one is for those curious how I customize this page.</p> ${validate_component(PineappleSlideToggle, "PineappleSlideToggle").$$render(
689
+ $$result,
690
+ {
691
+ name: "advanced-setting-slider",
692
+ checked: isAdvanceSettingOn
693
+ },
694
+ {
695
+ checked: ($$value) => {
696
+ isAdvanceSettingOn = $$value;
697
+ $$settled = false;
698
+ }
699
+ },
700
+ {
701
+ default: () => {
702
+ return `Advanced settings: ${escape(isAdvanceSettingOn ? "On" : "Off")}`;
703
+ }
704
+ }
705
+ )} ${isAdvanceSettingOn ? `${validate_component(PineappleSlideToggle, "PineappleSlideToggle").$$render(
706
+ $$result,
707
+ {
708
+ name: "game-section-slider",
709
+ checked: seaweedTemplateData.gameSectionFirst
710
+ },
711
+ {
712
+ checked: ($$value) => {
713
+ seaweedTemplateData.gameSectionFirst = $$value;
714
+ $$settled = false;
715
+ }
716
+ },
717
+ {
718
+ default: () => {
719
+ return `Should game section appear first over projects: ${escape(seaweedTemplateData.gameSectionFirst ? "On" : "Off")}`;
720
+ }
721
+ }
722
+ )} <p data-svelte-h="svelte-9e1iu1">Note: the above configuration was made before the dynamic entry list and to support links sent with that params, we will act like it only swaps the two groups, and nothing more dynamic if order query param does not exist. The configuration only happens during page load with query param, and it does not apply when changed here.</p> ${validate_component(PineappleSlideToggle, "PineappleSlideToggle").$$render(
723
+ $$result,
724
+ {
725
+ name: "fun-note-slider",
726
+ checked: seaweedTemplateData.shouldAddFunNote
727
+ },
728
+ {
729
+ checked: ($$value) => {
730
+ seaweedTemplateData.shouldAddFunNote = $$value;
731
+ $$settled = false;
732
+ }
733
+ },
734
+ {
735
+ default: () => {
736
+ return `Should add fun note in description: ${escape(seaweedTemplateData.shouldAddFunNote ? "On" : "Off")}`;
737
+ }
738
+ }
739
+ )} <h3 class="svelte-1r5yyuh" data-svelte-h="svelte-1bh8env">Query terms to bold</h3> <div class="query-term-grid svelte-1r5yyuh">${each(seaweedTemplateData.queryTermMap.entries(), ([term, shouldBold]) => {
740
+ return ` ${validate_component(Chip, "Chip").$$render(
741
+ $$result,
742
+ {
743
+ onClick: () => {
744
+ toggleTerm(term);
745
+ },
746
+ checked: shouldBold
747
+ },
748
+ {},
749
+ {
750
+ default: () => {
751
+ return ` <span${add_attribute("style", `font-weight: ${shouldBold ? "bold" : "normal"}`, 0)}>${shouldBold ? `✓` : ``} ${escape(term)}</span> `;
752
+ }
753
+ }
754
+ )}`;
755
+ })}</div> ${validate_component(EntryOrderConfig, "EntryOrderConfig").$$render(
756
+ $$result,
757
+ {
758
+ seaweedTemplateData,
759
+ updateUrl,
760
+ seaweedEntries: seaweedTemplateData.groupedEntries,
761
+ orderUrl
762
+ },
763
+ {
764
+ seaweedEntries: ($$value) => {
765
+ seaweedTemplateData.groupedEntries = $$value;
766
+ $$settled = false;
767
+ },
768
+ orderUrl: ($$value) => {
769
+ orderUrl = $$value;
770
+ $$settled = false;
771
+ }
772
+ },
773
+ {}
774
+ )} <br> <p data-svelte-h="svelte-1e17ji">Copy the url below and open a new page with it</p> ${validate_component(CodeBlock, "CodeBlock").$$render($$result, { language: "url", code: advancedUrl }, {}, {})} ${validate_component(CreateUrlForm, "UrlShortenerForm").$$render($$result, { queryParams: advancedQuery }, {}, {})}` : ``}</div>`;
775
+ }
776
+ })}` : ``}</main>`;
777
+ }
778
+ }
779
+ )}`;
780
+ } while (!$$settled);
781
+ $$unsubscribe_page();
782
+ return $$rendered;
783
+ });
784
+ export {
785
+ SeaweedTemplate as S
786
+ };