@aussieljk/forkbook 0.0.1-1 → 0.0.1-10

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 (455) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +35 -53
  3. package/assets/addon-vitest/templates/vitest.config.4.template.ts +2 -2
  4. package/assets/browser/favicon-wrapper.svg +4 -4
  5. package/assets/browser/favicon.svg +1 -1
  6. package/assets/browser/inter-LICENSE.txt +92 -0
  7. package/assets/browser/inter-variable-italic.woff2 +0 -0
  8. package/assets/browser/inter-variable.woff2 +0 -0
  9. package/assets/browser/mirror-ball.png +0 -0
  10. package/assets/builder-vite/iframe.html +8 -24
  11. package/assets/create/rendererAssets/common/Configure.mdx +100 -100
  12. package/assets/create/rendererAssets/common/button.css +1 -1
  13. package/assets/create/rendererAssets/common/header.css +1 -1
  14. package/assets/create/rendererAssets/common/page.css +2 -2
  15. package/assets/create/templates/react-native/index.expo.js +4 -4
  16. package/assets/create/templates/react-native/index.js +5 -5
  17. package/assets/server/base-preview-body.html +32 -32
  18. package/assets/server/base-preview-head.html +86 -86
  19. package/assets/server/template.ejs +24 -26
  20. package/dist/_browser-chunks/{Color-OEKZ7XSW.js → Color-X63I7FHI.js} +8 -8
  21. package/dist/_browser-chunks/WithTooltip-5S6F2P7L.js +198 -0
  22. package/dist/_browser-chunks/{chunk-66OCZ54D.js → chunk-3HM3VWJS.js} +1 -1
  23. package/dist/_browser-chunks/{chunk-CFAOWGL7.js → chunk-3M5T7BW4.js} +1 -1
  24. package/dist/_browser-chunks/{chunk-2MEPHP35.js → chunk-4KIQBRD2.js} +1 -1
  25. package/dist/_browser-chunks/{chunk-OQWFVDIN.js → chunk-5H4KFI44.js} +1 -1
  26. package/dist/_browser-chunks/{chunk-VVWPND3J.js → chunk-5Z65SURM.js} +12 -12
  27. package/dist/_browser-chunks/chunk-6AKCRYVX.js +6 -0
  28. package/dist/_browser-chunks/{chunk-PFRNG3UC.js → chunk-6ELMKWKX.js} +5 -5
  29. package/dist/_browser-chunks/{chunk-6SXYJQST.js → chunk-76222HQR.js} +1 -1
  30. package/dist/_browser-chunks/{chunk-JSBKXXXF.js → chunk-7DQREF4S.js} +1 -1
  31. package/dist/_browser-chunks/{chunk-RSPAQWVJ.js → chunk-BNP234B4.js} +1 -1
  32. package/dist/_browser-chunks/chunk-C5TKXHTM.js +82 -0
  33. package/dist/_browser-chunks/chunk-DNJ3OSLB.js +6021 -0
  34. package/dist/_browser-chunks/{chunk-PP4R7USA.js → chunk-DS2WQZGO.js} +222 -433
  35. package/dist/_browser-chunks/{chunk-FJGWSWL5.js → chunk-DYNTDJ3O.js} +3 -3
  36. package/dist/_browser-chunks/{chunk-CFWWCCZV.js → chunk-EQKMUQF3.js} +5 -4
  37. package/dist/_browser-chunks/{chunk-LV5PIKV4.js → chunk-FRAOQJDI.js} +5 -3
  38. package/dist/_browser-chunks/{chunk-ODVJ3XZJ.js → chunk-GRO2ZYEJ.js} +2 -2
  39. package/dist/_browser-chunks/{chunk-MFMDGWP6.js → chunk-I4ATZPNZ.js} +1 -1
  40. package/dist/_browser-chunks/chunk-IFADVEQE.js +669 -0
  41. package/dist/_browser-chunks/{chunk-YTIT5NA5.js → chunk-KYSD26D6.js} +3 -3
  42. package/dist/_browser-chunks/{chunk-73OX2G56.js → chunk-LTCXWKZO.js} +100 -108
  43. package/dist/_browser-chunks/{chunk-RNTIV5CE.js → chunk-LYYXDWR2.js} +9 -9
  44. package/dist/_browser-chunks/{chunk-V5M7Q4HT.js → chunk-MJIDTL3X.js} +4 -14
  45. package/dist/_browser-chunks/{chunk-OD6IBQCC.js → chunk-N3NRW5XX.js} +2 -2
  46. package/dist/_browser-chunks/{chunk-V2G23FV7.js → chunk-N5WQGLI7.js} +1 -1
  47. package/dist/_browser-chunks/{chunk-EIYAKDGP.js → chunk-NA4ITZTK.js} +127 -105
  48. package/dist/_browser-chunks/chunk-NGMQJMCY.js +53 -0
  49. package/dist/_browser-chunks/chunk-NPNIBOPF.js +18 -0
  50. package/dist/_browser-chunks/{chunk-52CW7FF7.js → chunk-NTUHL5NS.js} +8 -3
  51. package/dist/_browser-chunks/{chunk-MDOL7KML.js → chunk-O24AZJZ7.js} +1 -1
  52. package/dist/_browser-chunks/{chunk-YEKO6BHJ.js → chunk-ONTSNQON.js} +1 -1
  53. package/dist/_browser-chunks/chunk-OOETBSA7.js +502 -0
  54. package/dist/_browser-chunks/chunk-PZQRXPVR.js +21 -0
  55. package/dist/_browser-chunks/{chunk-C3D4HEFY.js → chunk-TTBPZQ24.js} +282 -127
  56. package/dist/_browser-chunks/{chunk-ZTQ5MEJ5.js → chunk-UMGDO2ZM.js} +3 -37
  57. package/dist/_browser-chunks/{chunk-2SCZVUKW.js → chunk-V5U45XXZ.js} +1 -1
  58. package/dist/_browser-chunks/chunk-XKTORVEQ.js +255 -0
  59. package/dist/_browser-chunks/{chunk-FVSEPWWX.js → chunk-XTQCLWVH.js} +325 -1635
  60. package/dist/_browser-chunks/{chunk-W5M6NPS3.js → chunk-ZHKZKFY4.js} +7 -6
  61. package/dist/_node-chunks/{attached-runtime-O4YTVUKE.js → attached-runtime-PDBJ2EGV.js} +30 -30
  62. package/dist/_node-chunks/builder-manager-VLL26RPG.js +1139 -0
  63. package/dist/_node-chunks/{chunk-GP5YLBNS.js → chunk-3CSGIJKG.js} +8 -8
  64. package/dist/_node-chunks/chunk-3W4KR5GX.js +2609 -0
  65. package/dist/_node-chunks/{chunk-SRXCCL2O.js → chunk-5NRWU7S2.js} +7 -7
  66. package/dist/_node-chunks/{chunk-GSWBRZLU.js → chunk-5SMIGUYF.js} +9 -17
  67. package/dist/_node-chunks/{chunk-JVQYQTTM.js → chunk-63LPGIV4.js} +42 -87
  68. package/dist/_node-chunks/{chunk-5RNOGGO6.js → chunk-6DHTL5G2.js} +6 -6
  69. package/dist/_node-chunks/{chunk-RQVK2TOI.js → chunk-6DRVJCYP.js} +14 -13
  70. package/dist/_node-chunks/chunk-7CV4VEA2.js +620 -0
  71. package/dist/_node-chunks/{chunk-ZMEGPR47.js → chunk-7KD5DKGZ.js} +6 -6
  72. package/dist/_node-chunks/{chunk-4PK3LUHM.js → chunk-7O2UIVID.js} +7 -7
  73. package/dist/_node-chunks/{chunk-GT5EHMNM.js → chunk-7OY4VMAT.js} +7 -7
  74. package/dist/_node-chunks/{chunk-YWMICX2T.js → chunk-AAL6X7YG.js} +12 -12
  75. package/dist/_node-chunks/{chunk-XURIZ7IC.js → chunk-ACSO4HQP.js} +8 -8
  76. package/dist/_node-chunks/{chunk-6EJ5NPEM.js → chunk-BDU3ZUMK.js} +7 -7
  77. package/dist/_node-chunks/chunk-BMJPOQ2S.js +11 -0
  78. package/dist/_node-chunks/chunk-BNEC3EBC.js +28 -0
  79. package/dist/_node-chunks/chunk-BPL3ERBH.js +347 -0
  80. package/dist/_node-chunks/{chunk-VXDWOVWD.js → chunk-BXDMSX3D.js} +29843 -51588
  81. package/dist/_node-chunks/chunk-C3PLG47Q.js +25 -0
  82. package/dist/_node-chunks/{chunk-R5FYRP6X.js → chunk-CEDR5CNM.js} +7 -7
  83. package/dist/_node-chunks/{chunk-7TSL7D5D.js → chunk-CKE4R4NL.js} +6 -6
  84. package/dist/_node-chunks/{chunk-5J3O7EDY.js → chunk-CSFNS7HA.js} +6 -6
  85. package/dist/_node-chunks/{chunk-7LLQDMVS.js → chunk-CZ3V3HHK.js} +6 -6
  86. package/dist/_node-chunks/{chunk-G6PUNHCI.js → chunk-DNV3LPV3.js} +6 -6
  87. package/dist/_node-chunks/{chunk-XCGMRAV5.js → chunk-DPILYJH4.js} +7 -7
  88. package/dist/_node-chunks/{chunk-2BJIHWOK.js → chunk-DQ44ZAEM.js} +6 -6
  89. package/dist/_node-chunks/{chunk-URRTQ2QM.js → chunk-DR7NW2MI.js} +8 -8
  90. package/dist/_node-chunks/{chunk-CDRLLNRQ.js → chunk-DRCP3DQF.js} +11 -11
  91. package/dist/_node-chunks/{chunk-5WHA37KG.js → chunk-EBWZKN2I.js} +39 -39
  92. package/dist/_node-chunks/{chunk-AWXGCPW6.js → chunk-ECOW63CV.js} +6 -6
  93. package/dist/_node-chunks/chunk-ENBDAHOV.js +18 -0
  94. package/dist/_node-chunks/{chunk-SVZ6Q3CS.js → chunk-FAEOR2AW.js} +6 -6
  95. package/dist/_node-chunks/{chunk-MDKFZRYG.js → chunk-FERXOKZY.js} +8 -8
  96. package/dist/_node-chunks/chunk-FJFB7TWU.js +495 -0
  97. package/dist/_node-chunks/{chunk-NKAUZU4C.js → chunk-FQGQ5KHN.js} +6 -6
  98. package/dist/_node-chunks/{chunk-CWD5A6NI.js → chunk-FR2ZDWKJ.js} +7 -7
  99. package/dist/_node-chunks/{chunk-JBCKN6P4.js → chunk-FRBE7ES4.js} +6 -6
  100. package/dist/_node-chunks/chunk-FWAF5NBL.js +20 -0
  101. package/dist/_node-chunks/{chunk-IZISFDKM.js → chunk-FXBZWUW3.js} +54 -42
  102. package/dist/_node-chunks/chunk-FZ453CHY.js +25 -0
  103. package/dist/_node-chunks/{chunk-NZ3GOT7V.js → chunk-G2ZUFOHU.js} +6 -6
  104. package/dist/_node-chunks/{chunk-PEIAGMSR.js → chunk-GBVWRZHP.js} +6 -6
  105. package/dist/_node-chunks/{chunk-3CLITGI2.js → chunk-GGE7TBVX.js} +6 -6
  106. package/dist/_node-chunks/{chunk-QMU5ODXZ.js → chunk-GJSYGBI5.js} +7 -7
  107. package/dist/_node-chunks/{chunk-U4GKV7GZ.js → chunk-GKHLTHYM.js} +10 -10
  108. package/dist/_node-chunks/{chunk-I2ANCID7.js → chunk-GQYATLH6.js} +66 -145
  109. package/dist/_node-chunks/{chunk-RJXEPYEN.js → chunk-HCP5DG52.js} +64 -21
  110. package/dist/_node-chunks/chunk-HVOSLI2K.js +20 -0
  111. package/dist/_node-chunks/{chunk-A724RK5H.js → chunk-ID3WA6WR.js} +9 -6
  112. package/dist/_node-chunks/{chunk-IJL5JOLL.js → chunk-IGOX6TUG.js} +7 -7
  113. package/dist/_node-chunks/{chunk-2JSABFAM.js → chunk-IL7YA7QJ.js} +10 -10
  114. package/dist/_node-chunks/{chunk-RHG33T7C.js → chunk-IUPE4SU2.js} +10 -10
  115. package/dist/_node-chunks/{chunk-CXLL2F6O.js → chunk-JVWXCB3L.js} +25 -8
  116. package/dist/_node-chunks/chunk-K4O2ZAMU.js +57 -0
  117. package/dist/_node-chunks/{chunk-XTTAS346.js → chunk-KRWR44KT.js} +6 -6
  118. package/dist/_node-chunks/{chunk-HKUNJELN.js → chunk-KWNBN3DV.js} +8 -8
  119. package/dist/_node-chunks/{chunk-4TV3Z3S3.js → chunk-LG3NMXCM.js} +6 -6
  120. package/dist/_node-chunks/{chunk-CYPPELO4.js → chunk-LH5QBX2U.js} +22 -32
  121. package/dist/_node-chunks/{chunk-XJSYJTBD.js → chunk-LX2XSPPL.js} +7 -7
  122. package/dist/_node-chunks/{chunk-G5OYQQDY.js → chunk-M4QNXI37.js} +6 -6
  123. package/dist/_node-chunks/{chunk-ILWHW4HU.js → chunk-MBPHOLXB.js} +15 -15
  124. package/dist/_node-chunks/{chunk-2UG3IYCC.js → chunk-MIWBXEUH.js} +6 -6
  125. package/dist/_node-chunks/{chunk-HKQEE62W.js → chunk-MKUA4ZCG.js} +8 -8
  126. package/dist/_node-chunks/{chunk-JEC2OK5B.js → chunk-MQC7ZY6L.js} +7 -7
  127. package/dist/_node-chunks/{chunk-NIHZECYO.js → chunk-MRCPS4S3.js} +6 -6
  128. package/dist/_node-chunks/{chunk-2XDUXZGI.js → chunk-MY7UVHPL.js} +8 -8
  129. package/dist/_node-chunks/{chunk-R7CY5LX6.js → chunk-ND323XCC.js} +6 -6
  130. package/dist/_node-chunks/{chunk-5GN5N22E.js → chunk-NGFFEW2B.js} +131 -148
  131. package/dist/_node-chunks/{chunk-ULW4SLMN.js → chunk-OPG46TLN.js} +34 -949
  132. package/dist/_node-chunks/chunk-PEL4YXU6.js +19 -0
  133. package/dist/_node-chunks/{chunk-JE6JEGXA.js → chunk-QFXAGOIO.js} +9 -9
  134. package/dist/_node-chunks/{chunk-GVSFRNWZ.js → chunk-QGC3UWR5.js} +6 -6
  135. package/dist/_node-chunks/{chunk-B6SKX4JF.js → chunk-QGVU7IFS.js} +7 -7
  136. package/dist/_node-chunks/{chunk-Y2GH4XO7.js → chunk-QOFBJXPH.js} +650 -9
  137. package/dist/_node-chunks/chunk-QVLHVO4X.js +532 -0
  138. package/dist/_node-chunks/{chunk-EWXASIWR.js → chunk-R2ZCFA7I.js} +7 -7
  139. package/dist/_node-chunks/{chunk-MJ2UD7FU.js → chunk-RC4HPD5Q.js} +7 -7
  140. package/dist/_node-chunks/{chunk-7DCDBICW.js → chunk-RJXAXHDJ.js} +13 -13
  141. package/dist/_node-chunks/{chunk-2QTI45JU.js → chunk-SGEPJMTU.js} +35 -35
  142. package/dist/_node-chunks/{chunk-KGOAOPKR.js → chunk-SYUOBOB5.js} +6 -6
  143. package/dist/_node-chunks/{chunk-QVMUIU7S.js → chunk-T5VZYRL2.js} +6 -6
  144. package/dist/_node-chunks/chunk-T6IU66AM.js +69 -0
  145. package/dist/_node-chunks/{chunk-6APBQVEX.js → chunk-THDTJJMO.js} +7 -7
  146. package/dist/_node-chunks/{chunk-ASJFOW6O.js → chunk-TNFH4Y4G.js} +8 -8
  147. package/dist/_node-chunks/{chunk-ICADUNQM.js → chunk-TY2ZY7AO.js} +6 -6
  148. package/dist/_node-chunks/{chunk-PBMWZVLD.js → chunk-TZIT6SZP.js} +6 -6
  149. package/dist/_node-chunks/{chunk-US7L4S72.js → chunk-VG2KFIOW.js} +9 -9
  150. package/dist/_node-chunks/{chunk-7BVUZZIY.js → chunk-VSHYJR23.js} +7 -7
  151. package/dist/_node-chunks/{chunk-ILVD64RB.js → chunk-VUMGWJ6Y.js} +8 -8
  152. package/dist/_node-chunks/{chunk-DWE36J35.js → chunk-WVRM6DQU.js} +7 -7
  153. package/dist/_node-chunks/{chunk-AANHLH5M.js → chunk-YU5TVYPS.js} +6 -6
  154. package/dist/_node-chunks/{chunk-BENYUF74.js → chunk-ZBWAA2EY.js} +77 -78
  155. package/dist/_node-chunks/chunk-ZD5TUA6I.js +20 -0
  156. package/dist/_node-chunks/{chunk-AWJOXJAZ.js → chunk-ZFLK7MY5.js} +8 -8
  157. package/dist/_node-chunks/dist-7OJKTBKL.js +27 -0
  158. package/dist/_node-chunks/dist-MWP6WLW4.js +16 -0
  159. package/dist/_node-chunks/{local-runtime-4UNT5EZJ.js → local-runtime-V5YTRN24.js} +20 -20
  160. package/dist/_node-chunks/{mdx-plugin-ZY6XLLA4.js → mdx-plugin-CBOD52VP.js} +2263 -130
  161. package/dist/_node-chunks/{monorepo-B65J4UFS.js → monorepo-GF6H53U4.js} +12 -12
  162. package/dist/_node-chunks/{monorepo-optimized-tests-relaxed-limits-no-story-deletion-45ZTNWJS.js → monorepo-optimized-tests-relaxed-limits-no-story-deletion-K4TTV2DQ.js} +12 -12
  163. package/dist/_node-chunks/optimized-tests-KOTSVWTN.js +22 -0
  164. package/dist/_node-chunks/{pattern-copy-play-LOHSM7ID.js → pattern-copy-play-M2QNC4IZ.js} +12 -12
  165. package/dist/_node-chunks/postinstallAddon-WXKJL6DP.js +20 -0
  166. package/dist/_node-chunks/{rehype-external-links-22ZBI6K4.js → rehype-external-links-3IDE4CYH.js} +9 -9
  167. package/dist/_node-chunks/{rehype-slug-ROZVEEFZ.js → rehype-slug-GKB3WS3U.js} +9 -9
  168. package/dist/_node-chunks/{relaxed-limits-EDE2B34G.js → relaxed-limits-C6QU365N.js} +12 -12
  169. package/dist/_node-chunks/{run-372BSBV5.js → run-TMVS3KKA.js} +273 -13
  170. package/dist/_node-chunks/{run-IR3BRDJV.js → run-XWBUPXLN.js} +17 -17
  171. package/dist/_node-chunks/session-id-VMH57SKN.js +23 -0
  172. package/dist/_node-chunks/{setup-6TMCKUTA.js → setup-KEEJK4WI.js} +9 -9
  173. package/dist/_node-chunks/{vitest.config.4.template-QJBEVCKG.js → vitest.config.4.template-74HEE4WJ.js} +9 -9
  174. package/dist/actions/decorator.js +3 -2
  175. package/dist/actions/index.d.ts +1 -1
  176. package/dist/actions/index.js +3 -2
  177. package/dist/addon-a11y/index.d.ts +3 -3
  178. package/dist/addon-a11y/index.js +2 -1
  179. package/dist/addon-a11y/manager.js +40 -37
  180. package/dist/addon-a11y/preset.js +7 -7
  181. package/dist/addon-a11y/preview.js +2 -1
  182. package/dist/addon-docs/blocks.d.ts +20 -1
  183. package/dist/addon-docs/blocks.js +150 -74
  184. package/dist/addon-docs/index.d.ts +19 -19
  185. package/dist/addon-docs/manager.js +6 -6
  186. package/dist/addon-docs/preset.js +10 -10
  187. package/dist/addon-links/index.js +5 -2
  188. package/dist/addon-links/preview.d.ts +1 -1
  189. package/dist/addon-links/preview.js +5 -2
  190. package/dist/addon-links/react/index.js +4 -1
  191. package/dist/addon-mcp/preset.js +29 -21
  192. package/dist/addon-mcp/tools/preview-stories/preview-stories-app-script.js +37 -82
  193. package/dist/addon-ondevice-actions/index.js +5 -1
  194. package/dist/addon-ondevice-actions/register.js +5 -1
  195. package/dist/addon-ondevice-controls/index.js +1 -1
  196. package/dist/addon-ondevice-controls/register.js +1 -1
  197. package/dist/addon-pseudo-states/index.d.ts +1 -1
  198. package/dist/addon-pseudo-states/manager.js +2 -2
  199. package/dist/addon-pseudo-states/preview.d.ts +1 -1
  200. package/dist/addon-themes/index.d.ts +1 -1
  201. package/dist/addon-themes/index.js +2 -2
  202. package/dist/addon-themes/manager.js +4 -4
  203. package/dist/addon-themes/postinstall.js +7 -7
  204. package/dist/addon-themes/preview.js +2 -2
  205. package/dist/addon-vitest/constants.js +8 -8
  206. package/dist/addon-vitest/manager.js +21 -21
  207. package/dist/addon-vitest/node/coverage-reporter.js +8 -8
  208. package/dist/addon-vitest/node/vitest.js +17 -17
  209. package/dist/addon-vitest/postinstall.js +10 -10
  210. package/dist/addon-vitest/preset.js +15 -16
  211. package/dist/addon-vitest/vitest-plugin/global-setup.js +8 -8
  212. package/dist/addon-vitest/vitest-plugin/index.js +23 -23
  213. package/dist/addon-vitest/vitest-plugin/setup-file-with-project-annotations.js +3 -3
  214. package/dist/addon-vitest/vitest-plugin/setup-file.js +1 -1
  215. package/dist/babel/index.d.ts +91 -842
  216. package/dist/babel/index.js +13 -19
  217. package/dist/backgrounds/index.d.ts +1 -1
  218. package/dist/bin/core.js +65 -64
  219. package/dist/bin/dispatcher.js +18 -16
  220. package/dist/bin/loader.js +17 -16
  221. package/dist/builder-vite/index.js +17 -17
  222. package/dist/builder-vite/preset.js +13 -13
  223. package/dist/channels/index.js +6 -6
  224. package/dist/{chunk-BTVrWliM.d.ts → chunk-BGhyFTJO.d.ts} +2 -2
  225. package/dist/{chunk-DtHByo32.d.ts → chunk-CFk6djyM.d.ts} +5 -5
  226. package/dist/{chunk-CwQKNaYL.d.ts → chunk-CNqjcOmK.d.ts} +1 -1
  227. package/dist/{chunk-CMeX4WRe.d.ts → chunk-CT2iXaHz.d.ts} +1 -1
  228. package/dist/chunk-CV4-Z2pn.d.ts +30 -0
  229. package/dist/{chunk-B2t1tGRh.d.ts → chunk-CYuvV2sR.d.ts} +11 -13
  230. package/dist/{chunk-DEVFdzxR.d.ts → chunk-D0NUmzXp.d.ts} +1 -1
  231. package/dist/{chunk-DzuY9DXg.d.ts → chunk-DDd8BhTY.d.ts} +2 -2
  232. package/dist/{chunk-Dw1z1Pki.d.ts → chunk-DROZ9oel.d.ts} +50 -314
  233. package/dist/{chunk-gCX81nOr.d.ts → chunk-DgzPaTw9.d.ts} +3 -3
  234. package/dist/{chunk-Kt1tW-D1.d.ts → chunk-Dm-iHJ-s.d.ts} +3 -3
  235. package/dist/{chunk-C-bavsOH.d.ts → chunk-Dw_4ad2Y.d.ts} +6 -6
  236. package/dist/{chunk-C2p5r3Vt.d.ts → chunk-Fg1Fm__9.d.ts} +119 -29
  237. package/dist/chunk-Susgfkap.d.ts +20 -0
  238. package/dist/cli/index.d.ts +13 -866
  239. package/dist/cli/index.js +44 -4954
  240. package/dist/cli/skills/content/index.d.ts +1 -1
  241. package/dist/cli/skills/content/index.js +2 -2
  242. package/dist/cli/tools/sdk/child-host.d.ts +1 -1
  243. package/dist/cli/tools/sdk/child-host.js +17 -17
  244. package/dist/cli/tools/sdk/index.d.ts +1 -1
  245. package/dist/cli/tools/sdk/index.js +18 -18
  246. package/dist/cli-commands/bin/index.js +7 -7
  247. package/dist/client-logger/index.js +3 -1
  248. package/dist/common/index.d.ts +17 -29
  249. package/dist/common/index.js +36 -42
  250. package/dist/components/index.d.ts +41 -238
  251. package/dist/components/index.js +2738 -8515
  252. package/dist/core-events/index.d.ts +4 -3
  253. package/dist/core-events/index.js +3 -1
  254. package/dist/core-server/index.d.ts +6 -6
  255. package/dist/core-server/index.js +661 -249
  256. package/dist/core-server/presets/common-manager.js +603 -1027
  257. package/dist/core-server/presets/common-override-preset.js +12 -10
  258. package/dist/core-server/presets/common-preset.js +55 -48
  259. package/dist/create/bin/index.js +7 -7
  260. package/dist/create/index.js +15 -15
  261. package/dist/csf/index.d.ts +5 -5
  262. package/dist/csf/index.js +55 -120
  263. package/dist/csf-tools/index.d.ts +17 -13
  264. package/dist/csf-tools/index.js +17 -15
  265. package/dist/docs-tools/index.js +2 -2
  266. package/dist/highlight/index.d.ts +1 -1
  267. package/dist/instrumenter/index.js +8 -6
  268. package/dist/manager/_manager-chunks/{globals-runtime-B0I9dSVs.js → globals-runtime-BKQscPdC.js} +824 -727
  269. package/dist/manager/_manager-chunks/globals-runtime-BY3epqww.js +1807 -0
  270. package/dist/manager/_manager-chunks/globals-runtime-Bj5KDUJi.js +8935 -0
  271. package/dist/manager/_manager-chunks/{globals-runtime-ZHrQFa3-.js → globals-runtime-Bs75QQ_I.js} +77 -553
  272. package/dist/manager/_manager-chunks/{globals-runtime-FC201B7s.js → globals-runtime-BweHuXkK.js} +2 -1
  273. package/dist/manager/_manager-chunks/{globals-runtime-eLPTIfX-.js → globals-runtime-CA8AuIRT.js} +3 -145
  274. package/dist/manager/_manager-chunks/globals-runtime-CBviMKtt.js +446 -0
  275. package/dist/manager/_manager-chunks/{globals-runtime-CXoVXiJA.js → globals-runtime-CJL1dQtn.js} +324 -118
  276. package/dist/manager/_manager-chunks/{globals-runtime-BQCkfH1B.js → globals-runtime-CfurFwS_.js} +1 -1
  277. package/dist/manager/_manager-chunks/{globals-runtime-BmphMP6z.js → globals-runtime-CvIgTRVu.js} +10 -10
  278. package/dist/manager/_manager-chunks/{globals-runtime-f5oIrim0.js → globals-runtime-DBba3I9c.js} +394 -189
  279. package/dist/manager/_manager-chunks/{globals-runtime-BvM-NY2g.js → globals-runtime-DvV_TF3-.js} +638 -1731
  280. package/dist/manager/_manager-chunks/{globals-runtime-C02fvgcd.js → globals-runtime-NwJK8t0T.js} +410 -379
  281. package/dist/manager/_manager-chunks/{globals-runtime-8HkdnU2F.js → globals-runtime-WZKaeKm9.js} +93 -2146
  282. package/dist/manager/_manager-chunks/globals-runtime-wjkxyMn0.js +5283 -0
  283. package/dist/manager/_manager-chunks/runtime-5B2mWjEm.js +294 -0
  284. package/dist/manager/_manager-chunks/{runtime-DMig8mT7.js → runtime-5o_11Jae.js} +4 -3
  285. package/dist/manager/_manager-chunks/runtime-B_nqedQW.js +197 -0
  286. package/dist/manager/_manager-chunks/{runtime-EITvVbkG.js → runtime-BdGkqNEt.js} +1 -2
  287. package/dist/manager/_manager-chunks/{runtime-DcJBhKG9.js → runtime-Bs3bEhuy.js} +200 -376
  288. package/dist/manager/_manager-chunks/{runtime-i-PDAHLR.js → runtime-CBQsKmch.js} +5 -147
  289. package/dist/manager/_manager-chunks/runtime-DG61zYUm.js +1158 -0
  290. package/dist/manager/_manager-chunks/{runtime-eDVAYF7N.js → runtime-DtCVCy4G.js} +10 -29
  291. package/dist/manager/_manager-chunks/runtime-P663lpsR.js +528 -0
  292. package/dist/manager/_manager-chunks/{runtime-Bry1Biu7.js → runtime-eBAgOym6.js} +989 -915
  293. package/dist/manager/_manager-chunks/{runtime-DtyerpFe.js → runtime-j9yqh0tr.js} +124 -80
  294. package/dist/manager/_manager-chunks/{runtime-D94Vq3oR.js → runtime-jj8qYc2n.js} +5 -531
  295. package/dist/manager/globals-runtime.js +1 -1
  296. package/dist/manager/globals.d.ts +12 -12
  297. package/dist/manager/globals.js +12 -12
  298. package/dist/manager/runtime.js +1 -1
  299. package/dist/manager-api/index.d.ts +1 -1
  300. package/dist/manager-api/index.js +72 -82
  301. package/dist/manager-errors.d.ts +1 -1
  302. package/dist/manager-errors.js +2 -2
  303. package/dist/mcp/index.js +8 -8
  304. package/dist/mocking-utils/index.d.ts +2 -2
  305. package/dist/mocking-utils/index.js +22 -17
  306. package/dist/mocking-utils/mocker-runtime.js +2 -2
  307. package/dist/nextjs-vite/index.d.ts +2 -2
  308. package/dist/nextjs-vite/index.js +4 -3
  309. package/dist/nextjs-vite/node/index.d.ts +2 -2
  310. package/dist/nextjs-vite/node/index.js +7 -7
  311. package/dist/nextjs-vite/node-stand-ins/index.d.ts +68 -0
  312. package/dist/nextjs-vite/node-stand-ins/index.js +145 -0
  313. package/dist/nextjs-vite/preset.js +93 -14
  314. package/dist/nextjs-vite/preview.js +1 -1
  315. package/dist/nextjs-vite/vite-plugin/index.js +7 -7
  316. package/dist/nextjs-vite-plugin/index.d.ts +2 -3
  317. package/dist/nextjs-vite-plugin/index.js +15 -30
  318. package/dist/nextjs-vite-plugin/mocks/storybook.global.js +8 -8
  319. package/dist/nextjs-vite-plugin/plugins/next-image/alias/next-image.js +2 -2
  320. package/dist/nextjs-vite-plugin/plugins/next-image/alias/next-legacy-image.js +2 -2
  321. package/dist/node-logger/index.d.ts +65 -72
  322. package/dist/node-logger/index.js +11 -12
  323. package/dist/oxc-parser/index.js +11 -13
  324. package/dist/oxc-parser/worker.js +10 -10
  325. package/dist/preview/_chunks/{runtime-DrTjJkPY.js → runtime-BJwGQok8.js} +77 -76
  326. package/dist/preview/_chunks/{runtime-BIzIdDbb.js → runtime-BPwAnlRx.js} +482 -334
  327. package/dist/preview/_chunks/{runtime-q3wt0e_N.js → runtime-BUnOhg9h.js} +2 -2
  328. package/dist/preview/_chunks/{runtime-CxZK_Ln3.js → runtime-BZ4pNS3g.js} +2 -2
  329. package/dist/preview/_chunks/runtime-Bcv1hJky.js +6305 -0
  330. package/dist/preview/_chunks/{runtime-iXdo8CR8.js → runtime-BgPhfM5P.js} +54 -8
  331. package/dist/preview/_chunks/{runtime-CsV4HZPV.js → runtime-BhSZ1Mwt.js} +335 -137
  332. package/dist/preview/_chunks/{runtime-BwSxqk3t.js → runtime-BsMjBzuq.js} +6 -16
  333. package/dist/preview/_chunks/{runtime-CqHxptiK.js → runtime-C1jgT6tJ.js} +93 -2145
  334. package/dist/preview/_chunks/{runtime-DuHdxMFA.js → runtime-CkOhMcXf.js} +8 -8
  335. package/dist/preview/_chunks/{runtime-BZSnICCg.js → runtime-WapFVPAh.js} +29 -29
  336. package/dist/preview/globals.d.ts +10 -10
  337. package/dist/preview/globals.js +10 -10
  338. package/dist/preview/runtime.js +1 -1
  339. package/dist/preview-api/index.d.ts +1 -1
  340. package/dist/preview-api/index.js +11 -9
  341. package/dist/preview-errors.d.ts +1 -1
  342. package/dist/preview-errors.js +2 -2
  343. package/dist/react/docgen/docgen-worker.js +11 -12
  344. package/dist/react/entry-preview.js +2 -1
  345. package/dist/react/index.d.ts +4 -4
  346. package/dist/react/index.js +6 -4
  347. package/dist/react/preset.js +13 -14
  348. package/dist/react/preview.d.ts +1 -1
  349. package/dist/react/preview.js +3 -2
  350. package/dist/react-native/bin/get-stories.js +12 -12
  351. package/dist/react-native/index.d.ts +11 -11
  352. package/dist/react-native/index.js +46 -231
  353. package/dist/react-native/metro/node.d.ts +2 -2
  354. package/dist/react-native/metro/node.js +10 -9
  355. package/dist/react-native/metro/{withStorybook.d.ts → withForkbook.d.ts} +11 -11
  356. package/dist/react-native/metro/{withStorybook.js → withForkbook.js} +22 -21
  357. package/dist/react-native/scripts/generate.d.ts +1 -1
  358. package/dist/react-native/scripts/generate.js +8 -8
  359. package/dist/react-native/stub.js +1 -1
  360. package/dist/react-native-theming/index.d.ts +2 -58
  361. package/dist/react-native-theming/index.js +63 -2338
  362. package/dist/react-native-ui/index.d.ts +6 -7
  363. package/dist/react-native-ui/index.js +207 -624
  364. package/dist/react-native-ui-common/index.d.ts +2 -3
  365. package/dist/react-vite/index.d.ts +2 -2
  366. package/dist/react-vite/node/index.d.ts +3 -3
  367. package/dist/react-vite/node/index.js +7 -7
  368. package/dist/react-vite/preset.js +7 -7
  369. package/dist/router/index.d.ts +69 -1
  370. package/dist/router/index.js +52 -10
  371. package/dist/server-errors.d.ts +1 -1
  372. package/dist/server-errors.js +9 -9
  373. package/dist/shared/open-service/index.d.ts +1 -1
  374. package/dist/shared/open-service/index.js +2 -2
  375. package/dist/shared/open-service/services/docgen/worker/docgen-worker.js +9 -9
  376. package/dist/shared/open-service/toolsets/docs/public.d.ts +21 -21
  377. package/dist/telemetry/index.d.ts +3 -3
  378. package/dist/telemetry/index.js +43 -45
  379. package/dist/test/index.js +810 -575
  380. package/dist/theming/create.js +2 -1
  381. package/dist/theming/index.d.ts +5 -5
  382. package/dist/theming/index.js +41 -16
  383. package/dist/types/index.d.ts +2 -2
  384. package/dist/types/index.js +5 -5
  385. package/dist/viewport/index.d.ts +1 -1
  386. package/package.json +36 -81
  387. package/template/nextjs-vite/cli/js/Button.stories.js +6 -6
  388. package/template/nextjs-vite/cli/js/Configure.mdx +100 -100
  389. package/template/nextjs-vite/cli/js/Header.stories.js +2 -2
  390. package/template/nextjs-vite/cli/js/Page.jsx +2 -2
  391. package/template/nextjs-vite/cli/js/Page.stories.js +2 -2
  392. package/template/nextjs-vite/cli/ts/Button.stories.ts +6 -6
  393. package/template/nextjs-vite/cli/ts/Configure.mdx +84 -84
  394. package/template/nextjs-vite/cli/ts/Header.stories.ts +2 -2
  395. package/template/nextjs-vite/cli/ts/Page.stories.ts +2 -2
  396. package/template/nextjs-vite/cli/ts/Page.tsx +2 -2
  397. package/template/react/cli/js/Button.stories.js +6 -6
  398. package/template/react/cli/js/Header.stories.js +2 -2
  399. package/template/react/cli/js/Page.jsx +2 -2
  400. package/template/react/cli/js/Page.stories.js +2 -2
  401. package/template/react/cli/ts/Button.stories.ts +6 -6
  402. package/template/react/cli/ts/Header.stories.ts +2 -2
  403. package/template/react/cli/ts/Page.stories.ts +2 -2
  404. package/template/react/cli/ts/Page.tsx +2 -2
  405. package/template/react-vite/cli/js/Button.stories.js +6 -6
  406. package/template/react-vite/cli/js/Header.stories.js +2 -2
  407. package/template/react-vite/cli/js/Page.jsx +2 -2
  408. package/template/react-vite/cli/js/Page.stories.js +2 -2
  409. package/template/react-vite/cli/ts/Button.stories.ts +6 -6
  410. package/template/react-vite/cli/ts/Header.stories.ts +2 -2
  411. package/template/react-vite/cli/ts/Page.stories.ts +2 -2
  412. package/template/react-vite/cli/ts/Page.tsx +2 -2
  413. package/assets/browser/nunito-sans-bold-italic.woff2 +0 -0
  414. package/assets/browser/nunito-sans-bold.woff2 +0 -0
  415. package/assets/browser/nunito-sans-italic.woff2 +0 -0
  416. package/assets/browser/nunito-sans-regular.woff2 +0 -0
  417. package/dist/_browser-chunks/WithTooltip-GZSSFOG3.js +0 -1619
  418. package/dist/_browser-chunks/chunk-5P4QA6MY.js +0 -20
  419. package/dist/_browser-chunks/chunk-JMC7AIKT.js +0 -108
  420. package/dist/_node-chunks/builder-manager-FPV2L36T.js +0 -1661
  421. package/dist/_node-chunks/chunk-356LV3NX.js +0 -36
  422. package/dist/_node-chunks/chunk-5BTU7UZ5.js +0 -1877
  423. package/dist/_node-chunks/chunk-5J3BMBMY.js +0 -51
  424. package/dist/_node-chunks/chunk-BCRWDMAU.js +0 -11
  425. package/dist/_node-chunks/chunk-BE6ULVPN.js +0 -662
  426. package/dist/_node-chunks/chunk-CSXS6LVI.js +0 -29
  427. package/dist/_node-chunks/chunk-DUOXRUVQ.js +0 -18
  428. package/dist/_node-chunks/chunk-FUYZNTIS.js +0 -23
  429. package/dist/_node-chunks/chunk-M2BRIUUP.js +0 -25
  430. package/dist/_node-chunks/chunk-RJUHZH32.js +0 -20
  431. package/dist/_node-chunks/chunk-TB6Y6NSL.js +0 -3837
  432. package/dist/_node-chunks/chunk-VQEQ7ZLS.js +0 -4731
  433. package/dist/_node-chunks/chunk-WQ7PSP6H.js +0 -19
  434. package/dist/_node-chunks/chunk-WVCU34IS.js +0 -23
  435. package/dist/_node-chunks/chunk-X6OWHTYE.js +0 -20
  436. package/dist/_node-chunks/chunk-Y2DEKWVE.js +0 -3008
  437. package/dist/_node-chunks/chunk-ZBAIFZNB.js +0 -5414
  438. package/dist/_node-chunks/dist-ZGSN23B7.js +0 -16
  439. package/dist/_node-chunks/globby-HWZL7XSQ.js +0 -2884
  440. package/dist/_node-chunks/jiti-GNDCTFYU.js +0 -3848
  441. package/dist/_node-chunks/lib-DI662U2R.js +0 -366
  442. package/dist/_node-chunks/optimized-tests-ZMNICF4R.js +0 -22
  443. package/dist/_node-chunks/postinstallAddon-NT5XE7IT.js +0 -20
  444. package/dist/_node-chunks/session-id-OO2WQF5N.js +0 -23
  445. package/dist/chunk-BfBzpgct.d.ts +0 -916
  446. package/dist/chunk-BxWufQms.d.ts +0 -142
  447. package/dist/core-server/presets/common-manager.css +0 -170
  448. package/dist/manager/_manager-chunks/globals-runtime-BIKBO23x.js +0 -3389
  449. package/dist/manager/_manager-chunks/globals-runtime-DkAPXCvc.js +0 -9766
  450. package/dist/manager/_manager-chunks/globals-runtime-DtcOnYHR.js +0 -5357
  451. package/dist/manager/_manager-chunks/runtime-B1L9TH89.js +0 -452
  452. package/dist/manager/_manager-chunks/runtime-Bly6WJLN.js +0 -998
  453. package/dist/manager/_manager-chunks/runtime-DpgBAFGf.js +0 -22
  454. package/dist/preview/_chunks/runtime-BTPtVY1p.js +0 -1102
  455. package/dist/preview/_chunks/runtime-DZToXfvO.js +0 -9767
@@ -1,27 +1,17 @@
1
1
  import { a as __toESM, n as __esmMin, r as __exportAll } from "./globals-runtime-BdGkqNEt.js";
2
- import { A as unknown, C as object, D as safeInteger, E as record, O as safeParse, S as number, T as pipe, U as dedent, W as init_esm, _ as custom, b as minLength, f as T, g as check, h as array, j as variant, k as string, p as init_dist$1, v as init_dist, w as optional, x as minValue, y as literal } from "./globals-runtime-eLPTIfX-.js";
3
- import { $ as once, Q as logger, Y as init_core_events, Z as init_client_logger, c as init_channel_slot, et as Channel, h as NAVIGATE_URL, o as init_channels, s as getChannel } from "./globals-runtime-B0I9dSVs.js";
4
- import { C as init_dist$2, w as scope } from "./globals-runtime-DtcOnYHR.js";
5
- import { E as parse, S as init_main$1, _ as curriedOpacify$1, b as init_index_browser, c as Link$1, d as Router, g as curriedLighten$1, h as curriedDarken$1, j as require_react, l as init_dist$4, m as useNavigate$1, p as useLocation, s as BrowserRouter, u as MemoryRouter$1, v as init_polished_esm, w as stringify, x as nanoid, y as rgba } from "./globals-runtime-ZHrQFa3-.js";
6
- import { C as Assertion, D as use, E as init_chai, K as init_isEqual, M as init_deepsignal_core_module, N as l, O as utils_exports, T as expect$2, X as require_memoizerific, Y as isPlainObject$2, j as g, n as deletedDiff, q as isEqual, r as init_deleted, w as assert } from "./globals-runtime-BvM-NY2g.js";
7
- import { _ as n, f, h as j, m as init_signals_core_module, p as g$1, v as y } from "./globals-runtime-BIKBO23x.js";
8
- import { a as customMatchers, c as setState, d as isMockFunction, f as mocks, i as JestExtend, l as fn$1, n as JestAsymmetricMatchers, o as getState, p as spyOn$1, r as JestChaiExpect, s as init_dist$5, t as GLOBAL_EXPECT, u as init_dist$6 } from "./globals-runtime-FC201B7s.js";
9
- import { a as matchers_exports, i as init_matchers, r as userEvent$1, t as init_esm$1 } from "./globals-runtime-8HkdnU2F.js";
10
- import { r as init_dom_esm, t as dom_esm_exports } from "./globals-runtime-DkAPXCvc.js";
11
- import { C as init_manager_errors, S as UniversalStoreFollowerTimeoutError, _ as StatusTypeIdMismatchError$2, b as OpenServiceStaticSnapshotLoadError, c as init_instrumenter, i as init_manager_api, l as instrument, m as addons, v as init_preview_errors, x as StatusTypeIdMismatchError$1, y as OpenServiceStaticSnapshotInvalidError } from "./globals-runtime-CXoVXiJA.js";
2
+ import { C as pipe, D as string, E as safeParse, H as init_esm, O as unknown, S as optional, T as safeInteger, V as dedent, _ as literal, b as number, d as init_dist$1, g as init_dist, h as custom, k as variant, m as check, p as array, u as T, v as minLength, w as record, x as object, y as minValue } from "./globals-runtime-CA8AuIRT.js";
3
+ import { $ as once, Q as logger, Y as init_core_events, Z as init_client_logger, c as init_channel_slot, et as Channel, h as NAVIGATE_URL, o as init_channels, s as getChannel } from "./globals-runtime-BKQscPdC.js";
4
+ import { S as stringify, _ as curriedOpacify$1, b as init_main$1, c as Link$1, d as Router, g as curriedLighten$1, h as curriedDarken$1, k as require_react, l as init_dist$3, m as useNavigate$1, p as useLocation, s as BrowserRouter, u as MemoryRouter$1, v as init_polished_esm, w as parse, y as rgba } from "./globals-runtime-Bs75QQ_I.js";
5
+ import { C as use, D as l, E as init_deepsignal_core_module, R as init_isEqual, S as init_chai, T as g, V as isPlainObject$2, b as assert, n as deletedDiff, r as init_deleted, w as utils_exports, x as expect$2, y as Assertion, z as isEqual } from "./globals-runtime-DvV_TF3-.js";
6
+ import { d as g$1, f as init_signals_core_module, g as y, h as n, p as j, u as f } from "./globals-runtime-BY3epqww.js";
7
+ import { Ws as require_memoizerific, o as init_index_browser, s as nanoid } from "./globals-runtime-Bj5KDUJi.js";
8
+ import { a as customMatchers, c as setState, d as isMockFunction, f as mocks, i as JestExtend, l as fn$1, n as JestAsymmetricMatchers, o as getState, p as spyOn$1, r as JestChaiExpect, s as init_dist$4, t as GLOBAL_EXPECT, u as init_dist$5 } from "./globals-runtime-BweHuXkK.js";
9
+ import { a as matchers_exports, i as init_matchers, r as init_dom_esm, t as dom_esm_exports } from "./globals-runtime-wjkxyMn0.js";
10
+ import { r as userEvent$1, t as init_esm$1 } from "./globals-runtime-WZKaeKm9.js";
11
+ import { C as init_manager_errors, S as UniversalStoreFollowerTimeoutError, _ as StatusTypeIdMismatchError$2, b as OpenServiceStaticSnapshotLoadError, c as init_instrumenter, f as init_csf_utils, i as init_manager_api, l as instrument, m as addons, p as sanitize, v as init_preview_errors, x as StatusTypeIdMismatchError$1, y as OpenServiceStaticSnapshotInvalidError } from "./globals-runtime-CJL1dQtn.js";
12
12
  //#region src/storybook-error.ts
13
13
  function parseErrorCode({ code, category }) {
14
- return `SB_${category}_${String(code).padStart(4, "0")}`;
15
- }
16
- function appendErrorRef(url) {
17
- if (/^(?!.*storybook\.js\.org)|[?&]ref=error\b/.test(url)) return url;
18
- try {
19
- const urlObj = new URL(url);
20
- urlObj.searchParams.set("ref", "error");
21
- return urlObj.toString();
22
- } catch {
23
- return url;
24
- }
14
+ return `FB_${category}_${String(code).padStart(4, "0")}`;
25
15
  }
26
16
  var StorybookError;
27
17
  function init_storybook_error() {
@@ -33,7 +23,7 @@ function init_storybook_error() {
33
23
  category: this.category
34
24
  });
35
25
  }
36
- /** Overrides the default `Error.name` property in the format: SB_<CATEGORY>_<CODE>. */
26
+ /** Overrides the default `Error.name` property in the format: FB_<CATEGORY>_<CODE>. */
37
27
  get name() {
38
28
  const errorName = this._name || this.constructor.name;
39
29
  return `${this.fullErrorCode} (${errorName})`;
@@ -58,12 +48,12 @@ function init_storybook_error() {
58
48
  /** Generates the error message along with additional documentation link (if applicable). */
59
49
  static getFullMessage({ documentation, code, category, message }) {
60
50
  let page;
61
- if (documentation === true) page = `https://storybook.js.org/error/${parseErrorCode({
51
+ if (documentation === true) page = `https://forkbook.ljk.dev/error/${parseErrorCode({
62
52
  code,
63
53
  category
64
- })}?ref=error`;
65
- else if (typeof documentation === "string") page = appendErrorRef(documentation);
66
- else if (Array.isArray(documentation)) page = `\n${documentation.map((doc) => `\t- ${appendErrorRef(doc)}`).join("\n")}`;
54
+ })}`;
55
+ else if (typeof documentation === "string") page = documentation;
56
+ else if (Array.isArray(documentation)) page = `\n${documentation.map((doc) => `\t- ${doc}`).join("\n")}`;
67
57
  return `${message}${page != null ? `\n\nMore info: ${page}\n` : ""}`;
68
58
  }
69
59
  };
@@ -500,6 +490,14 @@ function init_universal_store() {
500
490
  })))();
501
491
  }
502
492
  //#endregion
493
+ //#region src/shared/global.ts
494
+ var global;
495
+ function init_global() {
496
+ return (init_global = __esmMin((() => {
497
+ global = globalThis;
498
+ })))();
499
+ }
500
+ //#endregion
503
501
  //#region src/shared/utils/local-hosts.ts
504
502
  var LOOPBACK_HOSTNAMES, matchesHostname;
505
503
  function init_local_hosts() {
@@ -566,12 +564,12 @@ function init_announce() {
566
564
  //#endregion
567
565
  //#region src/shared/useCopyButton.ts
568
566
  function useCopyButton({ children = "Copy", childrenOnCopy = "Copied!", content, onCopy, ariaLabel = false, ariaLabelOnCopy = false, duration = 3e3 }) {
569
- const [copied, setCopied] = (0, import_react$5.useState)(false);
570
- const timerRef = (0, import_react$5.useRef)(null);
571
- (0, import_react$5.useEffect)(() => () => {
567
+ const [copied, setCopied] = (0, import_react$6.useState)(false);
568
+ const timerRef = (0, import_react$6.useRef)(null);
569
+ (0, import_react$6.useEffect)(() => () => {
572
570
  if (timerRef.current) clearTimeout(timerRef.current);
573
571
  }, []);
574
- const handleClick = (0, import_react$5.useCallback)((e) => {
572
+ const handleClick = (0, import_react$6.useCallback)((e) => {
575
573
  if (timerRef.current) clearTimeout(timerRef.current);
576
574
  const announcement = typeof ariaLabelOnCopy === "string" ? ariaLabelOnCopy : "Copied to clipboard";
577
575
  navigator.clipboard?.writeText(content).then(() => {
@@ -592,7 +590,7 @@ function useCopyButton({ children = "Copy", childrenOnCopy = "Copied!", content,
592
590
  ]);
593
591
  return {
594
592
  children: copied ? childrenOnCopy : children,
595
- buttonProps: (0, import_react$5.useMemo)(() => ({
593
+ buttonProps: (0, import_react$6.useMemo)(() => ({
596
594
  onClick: handleClick,
597
595
  ariaLabel: copied ? ariaLabelOnCopy : ariaLabel
598
596
  }), [
@@ -603,10 +601,10 @@ function useCopyButton({ children = "Copy", childrenOnCopy = "Copied!", content,
603
601
  ])
604
602
  };
605
603
  }
606
- var import_react$5;
604
+ var import_react$6;
607
605
  function init_useCopyButton() {
608
606
  return (init_useCopyButton = __esmMin((() => {
609
- import_react$5 = require_react();
607
+ import_react$6 = require_react();
610
608
  init_announce();
611
609
  })))();
612
610
  }
@@ -3583,7 +3581,7 @@ var expect$1;
3583
3581
  function init_expect() {
3584
3582
  return (init_expect = __esmMin((() => {
3585
3583
  init_matchers();
3586
- init_dist$5();
3584
+ init_dist$4();
3587
3585
  init_chai();
3588
3586
  expect$1 = createExpect();
3589
3587
  // @vitest/expect expects this to be set
@@ -3653,9 +3651,9 @@ function mocked(item, _options = {}) {
3653
3651
  var moduleMockSpies, listeners, spyOn;
3654
3652
  function init_spy() {
3655
3653
  return (init_spy = __esmMin((() => {
3656
- init_dist$6();
3654
+ init_dist$5();
3657
3655
  init_dist$1();
3658
- moduleMockSpies = globalThis.__STORYBOOK_MODULE_MOCK_SPIES__ ??= /* @__PURE__ */ new Set();
3656
+ moduleMockSpies = globalThis.__FORKBOOK_MODULE_MOCK_SPIES__ ??= /* @__PURE__ */ new Set();
3659
3657
  listeners = /* @__PURE__ */ new Set();
3660
3658
  spyOn = ((...args) => {
3661
3659
  return reactiveMock(spyOn$1(...args));
@@ -3680,7 +3678,7 @@ function init_testing_library() {
3680
3678
  if (typeof window !== "undefined" && globalThis.location?.href?.includes("viewMode=docs")) once.warn(dedent`
3681
3679
  You are using Testing Library's \`screen\` object while the story is rendered in docs mode. This will likely lead to issues, as multiple stories are rendered in the same page and therefore screen will potentially find multiple elements. Use the \`canvas\` utility from the story context instead, which will scope the queries to each story's canvas.
3682
3680
 
3683
- More info: https://storybook.js.org/docs/writing-tests/interaction-testing?ref=error#querying-the-canvas
3681
+ More info: https://forkbook.ljk.dev/docs/writing-tests/interaction-testing#querying-the-canvas
3684
3682
  `);
3685
3683
  return Reflect.get(target, prop, receiver);
3686
3684
  } });
@@ -3820,52 +3818,53 @@ function init_base() {
3820
3818
  return (init_base = __esmMin((() => {
3821
3819
  easing = { rubber: "cubic-bezier(0.175, 0.885, 0.335, 1.05)" };
3822
3820
  color = {
3823
- primary: "#FF4785",
3824
- secondary: "#006DEB",
3825
- tertiary: "#FAFBFC",
3826
- ancillary: "#22a699",
3827
- orange: "#FC521F",
3828
- gold: "#FFAE00",
3829
- green: "#66BF3C",
3830
- seafoam: "#37D5D3",
3831
- purple: "#6F2CAC",
3832
- ultraviolet: "#2A0481",
3821
+ primary: "#007AFF",
3822
+ secondary: "#007AFF",
3823
+ tertiary: "#F2F2F7",
3824
+ ancillary: "#30B0C7",
3825
+ orange: "#FF9500",
3826
+ gold: "#FFCC00",
3827
+ green: "#34C759",
3828
+ seafoam: "#32ADE6",
3829
+ purple: "#AF52DE",
3830
+ ultraviolet: "#5856D6",
3833
3831
  lightest: "#FFFFFF",
3834
- lighter: "#F6F9FC",
3835
- light: "#EEF2F6",
3836
- mediumlight: "#ECF2F9",
3837
- medium: "#D9E5F2",
3838
- mediumdark: "#737F8C",
3839
- dark: "#5C6570",
3840
- darker: "#454C54",
3841
- darkest: "#2E3338",
3842
- border: "hsl(212 50% 30% / 0.15)",
3843
- positive: "#66BF3C",
3844
- warning: "#E69D00",
3845
- negative: "#FF4400",
3832
+ lighter: "#F2F2F7",
3833
+ light: "#E5E5EA",
3834
+ mediumlight: "#E5E5EA",
3835
+ medium: "#D1D1D6",
3836
+ mediumdark: "#8E8E93",
3837
+ dark: "#636366",
3838
+ darker: "#48484A",
3839
+ darkest: "#1C1C1E",
3840
+ border: "rgba(60, 60, 67, 0.18)",
3841
+ positive: "#34C759",
3842
+ warning: "#FF9500",
3843
+ negative: "#FF3B30",
3846
3844
  critical: "#FFFFFF",
3847
- defaultText: "#2E3338",
3845
+ defaultText: "#1C1C1E",
3848
3846
  inverseText: "#FFFFFF",
3849
- positiveText: "#427C27",
3850
- warningText: "#955B1E",
3851
- negativeText: "#C23400"
3847
+ positiveText: "#248A3D",
3848
+ warningText: "#C93400",
3849
+ negativeText: "#D70015"
3852
3850
  };
3853
3851
  background = {
3854
- app: "#F6F9FC",
3852
+ app: "#F2F2F7",
3855
3853
  bar: color.lightest,
3856
3854
  content: color.lightest,
3857
3855
  preview: color.lightest,
3858
3856
  gridCellSize: 10,
3859
- hoverable: "#DBECFF",
3860
- positive: "#F1FFEB",
3861
- warning: "#FFF9EB",
3862
- negative: "#FFF0EB",
3863
- critical: "#D13800"
3857
+ hoverable: "#E5E5EA",
3858
+ positive: "#EAF9EE",
3859
+ warning: "#FFF4E5",
3860
+ negative: "#FFEBEA",
3861
+ critical: "#D70015"
3864
3862
  };
3865
3863
  typography = {
3866
3864
  fonts: {
3867
3865
  base: [
3868
- "\"Nunito Sans\"",
3866
+ "\"Inter Variable\"",
3867
+ "Inter",
3869
3868
  "-apple-system",
3870
3869
  "\".SFNSText-Regular\"",
3871
3870
  "\"San Francisco\"",
@@ -3913,62 +3912,62 @@ function init_base() {
3913
3912
  muted: color.dark,
3914
3913
  accent: color.secondary,
3915
3914
  inverse: color.lightest,
3916
- positive: "#427C27",
3917
- warning: "#7A4100",
3918
- negative: "#C23400",
3915
+ positive: "#248A3D",
3916
+ warning: "#C93400",
3917
+ negative: "#D70015",
3919
3918
  critical: "#FFFFFF",
3920
- agentic: "#723aa6"
3919
+ agentic: "#8944AB"
3921
3920
  },
3922
3921
  bgColor: {
3923
3922
  default: color.lightest,
3924
3923
  muted: background.app,
3925
- positive: "#F1FFEB",
3926
- warning: "#FFF7EB",
3927
- negative: "#FFF0EB",
3928
- critical: "#D13800",
3929
- agentic: "#f5f0fa"
3924
+ positive: "#EAF9EE",
3925
+ warning: "#FFF4E5",
3926
+ negative: "#FFEBEA",
3927
+ critical: "#D70015",
3928
+ agentic: "#F7EEFC"
3930
3929
  },
3931
3930
  borderColor: {
3932
3931
  default: color.border,
3933
- muted: "hsl(0 0% 0% / 0.1)",
3934
- inverse: "hsl(0 0% 100% / 0.1)",
3935
- positive: "#BFE7AC",
3936
- warning: "#FFCE85",
3937
- negative: "#FFC3AD",
3938
- critical: "hsl(16 100% 100% / 0)",
3939
- agentic: "#e1d2ef"
3932
+ muted: "rgba(0, 0, 0, 0.1)",
3933
+ inverse: "rgba(255, 255, 255, 0.1)",
3934
+ positive: "#B4E9C1",
3935
+ warning: "#FFD9A3",
3936
+ negative: "#FFC2BE",
3937
+ critical: "rgba(255, 255, 255, 0)",
3938
+ agentic: "#E5CCF4"
3940
3939
  }
3941
3940
  },
3942
3941
  dark: {
3943
3942
  fgColor: {
3944
- default: "#C9CCCF",
3945
- muted: "#95999D",
3946
- accent: "#479DFF",
3947
- inverse: "#1B1C1D",
3948
- positive: "#86CE64",
3949
- warning: "#FFAD33",
3950
- negative: "#FF6933",
3951
- critical: "#FF6933",
3952
- agentic: "#b07fdc"
3943
+ default: "#F2F2F7",
3944
+ muted: "#98989F",
3945
+ accent: "#0A84FF",
3946
+ inverse: "#1C1C1E",
3947
+ positive: "#30D158",
3948
+ warning: "#FF9F0A",
3949
+ negative: "#FF453A",
3950
+ critical: "#FF453A",
3951
+ agentic: "#BF5AF2"
3953
3952
  },
3954
3953
  bgColor: {
3955
- default: "#222325",
3956
- muted: "#1B1C1D",
3957
- positive: "hsl(101 100% 100% / 0)",
3958
- warning: "hsl(101 100% 100% / 0)",
3959
- negative: "hsl(101 100% 100% / 0)",
3960
- critical: "hsl(101 100% 100% / 0)",
3961
- agentic: "rgba(114,58,166,0.15)"
3954
+ default: "#1C1C1E",
3955
+ muted: "#000000",
3956
+ positive: "rgba(48, 209, 88, 0)",
3957
+ warning: "rgba(255, 159, 10, 0)",
3958
+ negative: "rgba(255, 69, 58, 0)",
3959
+ critical: "rgba(255, 69, 58, 0)",
3960
+ agentic: "rgba(191, 90, 242, 0.15)"
3962
3961
  },
3963
3962
  borderColor: {
3964
- default: "hsl(0 0% 100% / 0.1)",
3965
- muted: "hsl(0 0% 100% / 0.5)",
3966
- inverse: "hsl(0 0% 0% / 0.1)",
3967
- positive: "hsl(101 52% 64% / 0.15)",
3968
- warning: "hsl(36 100% 64% / 0.15)",
3969
- negative: "hsl(16 100% 64% / 0.15)",
3970
- critical: "#FF6933",
3971
- agentic: "rgba(114,58,166,0.35)"
3963
+ default: "rgba(84, 84, 88, 0.6)",
3964
+ muted: "rgba(255, 255, 255, 0.5)",
3965
+ inverse: "rgba(0, 0, 0, 0.1)",
3966
+ positive: "rgba(48, 209, 88, 0.2)",
3967
+ warning: "rgba(255, 159, 10, 0.2)",
3968
+ negative: "rgba(255, 69, 58, 0.2)",
3969
+ critical: "#FF453A",
3970
+ agentic: "rgba(191, 90, 242, 0.35)"
3972
3971
  }
3973
3972
  }
3974
3973
  };
@@ -3976,36 +3975,37 @@ function init_base() {
3976
3975
  }
3977
3976
  //#endregion
3978
3977
  //#region src/theming/themes/dark.ts
3979
- var theme$1;
3978
+ var border, theme$1;
3980
3979
  function init_dark() {
3981
3980
  return (init_dark = __esmMin((() => {
3982
3981
  init_base();
3982
+ border = "rgba(84, 84, 88, 0.6)";
3983
3983
  theme$1 = {
3984
3984
  base: "dark",
3985
- colorPrimary: "#FF4785",
3986
- colorSecondary: "#479DFF",
3987
- appBg: "#1B1C1D",
3988
- appContentBg: "#222325",
3989
- appHoverBg: "#233952",
3985
+ colorPrimary: "#0A84FF",
3986
+ colorSecondary: "#0A84FF",
3987
+ appBg: "#000000",
3988
+ appContentBg: "#1C1C1E",
3989
+ appHoverBg: "#2C2C2E",
3990
3990
  appPreviewBg: color.lightest,
3991
- appBorderColor: "hsl(0 0% 100% / 0.1)",
3991
+ appBorderColor: border,
3992
3992
  appBorderRadius: 4,
3993
3993
  fontBase: typography.fonts.base,
3994
3994
  fontCode: typography.fonts.mono,
3995
- textColor: "#C9CCCF",
3996
- textInverseColor: "#1B1C1D",
3997
- textMutedColor: "#95999D",
3998
- barTextColor: "#95999D",
3999
- barHoverColor: "#70B3FF",
4000
- barSelectedColor: "#479DFF",
4001
- barBg: "#222325",
4002
- buttonBg: "#1B1C1D",
4003
- buttonBorder: "hsl(0 0% 100% / 0.1)",
4004
- booleanBg: "#1B1C1D",
4005
- booleanSelectedBg: "#292B2E",
4006
- inputBg: "#1B1C1D",
4007
- inputBorder: "hsl(0 0% 100% / 0.1)",
4008
- inputTextColor: "#C9CCCF",
3995
+ textColor: "#F2F2F7",
3996
+ textInverseColor: "#1C1C1E",
3997
+ textMutedColor: "#98989F",
3998
+ barTextColor: "#98989F",
3999
+ barHoverColor: "#F2F2F7",
4000
+ barSelectedColor: "#0A84FF",
4001
+ barBg: "#1C1C1E",
4002
+ buttonBg: "#2C2C2E",
4003
+ buttonBorder: border,
4004
+ booleanBg: "#2C2C2E",
4005
+ booleanSelectedBg: "#3A3A3C",
4006
+ inputBg: "#2C2C2E",
4007
+ inputBorder: border,
4008
+ inputTextColor: "#F2F2F7",
4009
4009
  inputBorderRadius: 4
4010
4010
  };
4011
4011
  })))();
@@ -4022,7 +4022,7 @@ function init_light() {
4022
4022
  colorSecondary: color.secondary,
4023
4023
  appBg: background.app,
4024
4024
  appContentBg: color.lightest,
4025
- appHoverBg: "#DBECFF",
4025
+ appHoverBg: background.hoverable,
4026
4026
  appPreviewBg: color.lightest,
4027
4027
  appBorderColor: color.border,
4028
4028
  appBorderRadius: 4,
@@ -4032,8 +4032,8 @@ function init_light() {
4032
4032
  textInverseColor: color.lightest,
4033
4033
  textMutedColor: color.dark,
4034
4034
  barTextColor: color.dark,
4035
- barHoverColor: "#005CC7",
4036
- barSelectedColor: "#0063D6",
4035
+ barHoverColor: color.darkest,
4036
+ barSelectedColor: color.secondary,
4037
4037
  barBg: color.lightest,
4038
4038
  buttonBg: background.app,
4039
4039
  buttonBorder: color.medium,
@@ -4052,9 +4052,9 @@ var globalWindow, isColorString, isValidColorForPolished, applyPolished, colorFa
4052
4052
  function init_utils() {
4053
4053
  return (init_utils = __esmMin((() => {
4054
4054
  init_client_logger();
4055
- init_dist$2();
4055
+ init_global();
4056
4056
  init_polished_esm();
4057
- ({window: globalWindow} = scope);
4057
+ ({window: globalWindow} = global);
4058
4058
  isColorString = (color) => {
4059
4059
  if (typeof color !== "string") {
4060
4060
  logger.warn(`Color passed to theme object should be a string. Instead ${color}(${typeof color}) was passed.`);
@@ -4233,7 +4233,7 @@ function init_utils$1() {
4233
4233
  once.warn(dedent`
4234
4234
  Omitted potentially unsafe URL args.
4235
4235
 
4236
- More info: https://storybook.js.org/docs/writing-stories/args?ref=error#setting-args-through-the-url
4236
+ More info: https://forkbook.ljk.dev/docs/writing-stories/args#setting-args-through-the-url
4237
4237
  `);
4238
4238
  return acc;
4239
4239
  }, {});
@@ -4265,9 +4265,93 @@ function init_utils$1() {
4265
4265
  })))();
4266
4266
  }
4267
4267
  //#endregion
4268
+ //#region src/router/story-paths.ts
4269
+ var APP_ROUTE_SEGMENTS, HOME_PATH, ALL_STORIES_PATH, isRootPageEnabled, RESERVED_URL_PATHS, firstSegment, isReservedUrlPath, trimTrailingSlash, entryUrlPath, buildStoryPathMap, currentMap, setStoryPathEntries, storyRouteRegex, toUrlPath, fromUrlPath, buildManagerHref, urlPathDepth;
4270
+ function init_story_paths() {
4271
+ return (init_story_paths = __esmMin((() => {
4272
+ init_csf_utils();
4273
+ APP_ROUTE_SEGMENTS = /* @__PURE__ */ new Set(["settings", "review"]);
4274
+ HOME_PATH = "/home/";
4275
+ ALL_STORIES_PATH = "/all/";
4276
+ isRootPageEnabled = () => globalThis.FORKBOOK_ROOT?.enabled === true;
4277
+ RESERVED_URL_PATHS = ["/", "/all"];
4278
+ firstSegment = (path) => path.split("/").filter(Boolean)[0] ?? "";
4279
+ isReservedUrlPath = (urlPath) => {
4280
+ const path = trimTrailingSlash(urlPath.toLowerCase());
4281
+ if (RESERVED_URL_PATHS.includes(path)) return true;
4282
+ const first = firstSegment(path);
4283
+ return APP_ROUTE_SEGMENTS.has(first) || first.startsWith("_");
4284
+ };
4285
+ trimTrailingSlash = (path) => path.length > 1 ? path.replace(/\/+$/, "") : path;
4286
+ entryUrlPath = (entry) => {
4287
+ const segments = [...entry.title.split("/"), entry.name].map(sanitize).filter(Boolean);
4288
+ if (segments.length < 2) return;
4289
+ const path = `/${segments.join("/")}`;
4290
+ return isReservedUrlPath(path) ? void 0 : path;
4291
+ };
4292
+ buildStoryPathMap = (entries) => {
4293
+ const map = {
4294
+ byId: /* @__PURE__ */ new Map(),
4295
+ byUrl: /* @__PURE__ */ new Map()
4296
+ };
4297
+ for (const entry of entries) {
4298
+ if (entry.type !== "story" && entry.type !== "docs") continue;
4299
+ const urlPath = entryUrlPath(entry);
4300
+ if (!urlPath || map.byUrl.has(urlPath)) continue;
4301
+ map.byId.set(entry.id, urlPath);
4302
+ map.byUrl.set(urlPath, {
4303
+ id: entry.id,
4304
+ viewMode: entry.type === "docs" ? "docs" : "story"
4305
+ });
4306
+ }
4307
+ return map;
4308
+ };
4309
+ currentMap = buildStoryPathMap([]);
4310
+ setStoryPathEntries = (entries) => {
4311
+ currentMap = buildStoryPathMap(entries);
4312
+ };
4313
+ storyRouteRegex = /^\/(story|docs)\/(.+)$/;
4314
+ toUrlPath = (internalPath, map = currentMap) => {
4315
+ if (!internalPath || internalPath === "/" || internalPath === "/home/") return "/";
4316
+ if (internalPath === "/all/") return "/all";
4317
+ const match = internalPath.match(storyRouteRegex);
4318
+ if (!match) return internalPath;
4319
+ const [, viewMode, id] = match;
4320
+ const urlPath = map.byId.get(id);
4321
+ if (urlPath && map.byUrl.get(urlPath)?.viewMode === viewMode) return urlPath;
4322
+ return `/_${viewMode}/${id}`;
4323
+ };
4324
+ fromUrlPath = (urlPath, map = currentMap) => {
4325
+ let path = urlPath || "/";
4326
+ try {
4327
+ path = decodeURI(path);
4328
+ } catch {}
4329
+ path = path.toLowerCase();
4330
+ if (path === "/index.html") path = "/";
4331
+ const first = firstSegment(path);
4332
+ if (APP_ROUTE_SEGMENTS.has(first)) return path;
4333
+ const trimmed = trimTrailingSlash(path);
4334
+ if (trimmed === "/all") return ALL_STORIES_PATH;
4335
+ if (trimmed === "/") return isRootPageEnabled() ? HOME_PATH : "/";
4336
+ const escaped = trimmed.match(/^\/_(story|docs)\/(.+)$/);
4337
+ if (escaped) return `/${escaped[1]}/${escaped[2]}`;
4338
+ const known = map.byUrl.get(trimmed);
4339
+ if (known) return `/${known.viewMode}/${known.id}`;
4340
+ const segments = trimmed.split("/").filter(Boolean);
4341
+ if (segments.length < 2) return "/";
4342
+ const name = segments[segments.length - 1];
4343
+ return `/${name === "docs" ? "docs" : "story"}/${segments.slice(0, -1).join("-")}--${name}`;
4344
+ };
4345
+ buildManagerHref = (base, internalPath, query = "") => {
4346
+ return `${base.endsWith("/") ? base : `${base}/`}${toUrlPath(internalPath).slice(1)}${query ? `?${query}` : ""}`;
4347
+ };
4348
+ urlPathDepth = (urlPath) => urlPath.split("/").filter(Boolean).length;
4349
+ })))();
4350
+ }
4351
+ //#endregion
4268
4352
  //#region src/router/router.tsx
4269
4353
  function Match({ children, path: targetPath, startsWith = false }) {
4270
- return /* @__PURE__ */ import_react$4.default.createElement(Location, null, ({ path: urlPath, ...rest }) => children({
4354
+ return /* @__PURE__ */ import_react$5.default.createElement(Location, null, ({ path: urlPath, ...rest }) => children({
4271
4355
  match: getMatch(urlPath, targetPath, startsWith),
4272
4356
  ...rest
4273
4357
  }));
@@ -4276,27 +4360,42 @@ function Route(input) {
4276
4360
  const { children, ...rest } = input;
4277
4361
  if (rest.startsWith === void 0) rest.startsWith = false;
4278
4362
  const matchProps = rest;
4279
- return /* @__PURE__ */ import_react$4.default.createElement(Match, matchProps, ({ match }) => match ? children : null);
4363
+ return /* @__PURE__ */ import_react$5.default.createElement(Match, matchProps, ({ match }) => match ? children : null);
4280
4364
  }
4281
- var import_react$4, document$1, getBase, useNavigate, Link, Location, LocationProvider, BaseLocationProvider, MemoryRouter;
4365
+ var import_react$5, document$1, getBasename, toRouterUrl, useNavigate, Link, Location, LocationProvider, BaseLocationProvider, MemoryRouter;
4282
4366
  function init_router() {
4283
4367
  return (init_router = __esmMin((() => {
4284
- import_react$4 = /* @__PURE__ */ __toESM(require_react(), 1);
4285
- init_dist$2();
4286
- init_dist$4();
4368
+ import_react$5 = /* @__PURE__ */ __toESM(require_react(), 1);
4369
+ init_global();
4370
+ init_dist$3();
4287
4371
  init_core_events();
4288
4372
  init_manager_api();
4373
+ init_story_paths();
4289
4374
  init_utils$1();
4290
- ({document: document$1} = scope);
4291
- getBase = () => `${document$1.location.pathname}?`;
4375
+ ({document: document$1} = global);
4376
+ getBasename = () => {
4377
+ try {
4378
+ return new URL(".", document$1.baseURI).pathname.replace(/\/+$/, "");
4379
+ } catch {
4380
+ return "";
4381
+ }
4382
+ };
4383
+ toRouterUrl = (target) => {
4384
+ const [beforeHash, afterHash] = target.split(/#(.*)/s);
4385
+ const [path, ...queryParts] = beforeHash.split("&");
4386
+ const [hash, ...hashQueryParts] = afterHash === void 0 ? [] : afterHash.split("&");
4387
+ const query = [...queryParts, ...hashQueryParts].join("&");
4388
+ return `${toUrlPath(path || "/")}${query ? `?${query}` : ""}${hash ? `#${hash}` : ""}`;
4389
+ };
4292
4390
  useNavigate = () => {
4293
4391
  const navigate = useNavigate$1();
4294
- return (0, import_react$4.useCallback)((to, { plain, ...options } = {}) => {
4392
+ return (0, import_react$5.useCallback)((to, { plain, ...options } = {}) => {
4295
4393
  if (typeof to === "string" && to.startsWith("#")) return navigate(`${document$1.location.search}${to === "#" ? "" : to}`, options);
4296
4394
  if (typeof to === "string") {
4297
- const target = plain ? to : `?path=${to}`;
4298
- const [search, hash] = target.split("#");
4299
- if (search === document$1.location.search && hash) {
4395
+ const target = plain ? to : toRouterUrl(to);
4396
+ const [url, hash] = target.split("#");
4397
+ const current = `${document$1.location.pathname}${document$1.location.search}`;
4398
+ if ((plain ? url === document$1.location.search : `${getBasename()}${url}` === current) && hash) {
4300
4399
  addons.getChannel().emit(NAVIGATE_URL, `#${hash}`);
4301
4400
  return;
4302
4401
  }
@@ -4305,16 +4404,21 @@ function init_router() {
4305
4404
  if (typeof to === "number") return navigate(to);
4306
4405
  }, []);
4307
4406
  };
4308
- Link = ({ to, children, ...rest }) => /* @__PURE__ */ import_react$4.default.createElement(Link$1, {
4309
- to: `${getBase()}path=${to}`,
4407
+ Link = ({ to, children, ...rest }) => /* @__PURE__ */ import_react$5.default.createElement(Link$1, {
4408
+ to: toRouterUrl(to),
4310
4409
  ...rest
4311
4410
  }, children);
4312
4411
  Link.displayName = "QueryLink";
4313
4412
  Location = ({ children }) => {
4314
4413
  const location = useLocation();
4315
- const { path = "", singleStory } = queryFromLocation(location);
4414
+ const navigate = useNavigate$1();
4415
+ const { path: legacyPath, singleStory, ...otherQuery } = queryFromLocation(location);
4416
+ const path = legacyPath || fromUrlPath(location.pathname);
4316
4417
  const { viewMode, storyId, refId } = parsePath(path);
4317
- return /* @__PURE__ */ import_react$4.default.createElement(import_react$4.default.Fragment, null, children({
4418
+ (0, import_react$5.useEffect)(() => {
4419
+ if (legacyPath) navigate(`${toUrlPath(legacyPath)}${stringifyQuery(otherQuery)}${location.hash}`, { replace: true });
4420
+ }, [legacyPath]);
4421
+ return /* @__PURE__ */ import_react$5.default.createElement(import_react$5.default.Fragment, null, children({
4318
4422
  path: path || "/",
4319
4423
  location,
4320
4424
  viewMode,
@@ -4326,7 +4430,10 @@ function init_router() {
4326
4430
  Location.displayName = "QueryLocation";
4327
4431
  Match.displayName = "QueryMatch";
4328
4432
  Route.displayName = "Route";
4329
- LocationProvider = (...args) => BrowserRouter(...args);
4433
+ LocationProvider = (props) => BrowserRouter({
4434
+ basename: getBasename() || void 0,
4435
+ ...props
4436
+ });
4330
4437
  BaseLocationProvider = (...args) => Router(...args);
4331
4438
  MemoryRouter = (...args) => MemoryRouter$1(...args);
4332
4439
  })))();
@@ -4334,38 +4441,52 @@ function init_router() {
4334
4441
  //#endregion
4335
4442
  //#region src/router/index.ts
4336
4443
  var router_exports = /* @__PURE__ */ __exportAll({
4444
+ ALL_STORIES_PATH: () => ALL_STORIES_PATH,
4337
4445
  BaseLocationProvider: () => BaseLocationProvider,
4338
4446
  DEEPLY_EQUAL: () => DEEPLY_EQUAL,
4447
+ HOME_PATH: () => HOME_PATH,
4339
4448
  Link: () => Link,
4340
4449
  Location: () => Location,
4341
4450
  LocationProvider: () => LocationProvider,
4342
4451
  Match: () => Match,
4343
4452
  MemoryRouter: () => MemoryRouter,
4453
+ RESERVED_URL_PATHS: () => RESERVED_URL_PATHS,
4344
4454
  Route: () => Route,
4345
4455
  buildArgsParam: () => buildArgsParam,
4456
+ buildManagerHref: () => buildManagerHref,
4457
+ buildStoryPathMap: () => buildStoryPathMap,
4346
4458
  deepDiff: () => deepDiff,
4459
+ entryUrlPath: () => entryUrlPath,
4460
+ fromUrlPath: () => fromUrlPath,
4461
+ getBasename: () => getBasename,
4347
4462
  getMatch: () => getMatch,
4463
+ isReservedUrlPath: () => isReservedUrlPath,
4348
4464
  parsePath: () => parsePath,
4349
4465
  queryFromLocation: () => queryFromLocation,
4466
+ setStoryPathEntries: () => setStoryPathEntries,
4350
4467
  stringifyQuery: () => stringifyQuery,
4468
+ toRouterUrl: () => toRouterUrl,
4469
+ toUrlPath: () => toUrlPath,
4470
+ urlPathDepth: () => urlPathDepth,
4351
4471
  useNavigate: () => useNavigate
4352
4472
  });
4353
4473
  function init_router$1() {
4354
4474
  return (init_router$1 = __esmMin((() => {
4355
4475
  init_utils$1();
4356
4476
  init_router();
4477
+ init_story_paths();
4357
4478
  })))();
4358
4479
  }
4359
4480
  //#endregion
4360
4481
  //#region src/shared/universal-store/use-universal-store-manager.ts
4361
- var import_react$3, useUniversalStore;
4482
+ var import_react$4, useUniversalStore;
4362
4483
  function init_use_universal_store_manager() {
4363
4484
  return (init_use_universal_store_manager = __esmMin((() => {
4364
- import_react$3 = /* @__PURE__ */ __toESM(require_react(), 1);
4485
+ import_react$4 = /* @__PURE__ */ __toESM(require_react(), 1);
4365
4486
  init_isEqual();
4366
4487
  useUniversalStore = (universalStore, selector) => {
4367
- const snapshotRef = import_react$3.useRef(selector ? selector(universalStore.getState()) : universalStore.getState());
4368
- const subscribe = import_react$3.useCallback((listener) => universalStore.onStateChange((state, previousState) => {
4488
+ const snapshotRef = import_react$4.useRef(selector ? selector(universalStore.getState()) : universalStore.getState());
4489
+ const subscribe = import_react$4.useCallback((listener) => universalStore.onStateChange((state, previousState) => {
4369
4490
  if (!selector) {
4370
4491
  snapshotRef.current = state;
4371
4492
  listener();
@@ -4378,14 +4499,14 @@ function init_use_universal_store_manager() {
4378
4499
  listener();
4379
4500
  }
4380
4501
  }), [universalStore, selector]);
4381
- const getSnapshot = import_react$3.useCallback(() => {
4502
+ const getSnapshot = import_react$4.useCallback(() => {
4382
4503
  const currentState = universalStore.getState();
4383
4504
  const selectedState = selector ? selector(currentState) : currentState;
4384
4505
  if (isEqual(selectedState, snapshotRef.current)) return snapshotRef.current;
4385
4506
  snapshotRef.current = selectedState;
4386
4507
  return snapshotRef.current;
4387
4508
  }, [universalStore, selector]);
4388
- return [import_react$3.useSyncExternalStore(subscribe, getSnapshot), universalStore.setState];
4509
+ return [import_react$4.useSyncExternalStore(subscribe, getSnapshot), universalStore.setState];
4389
4510
  };
4390
4511
  })))();
4391
4512
  }
@@ -4528,19 +4649,19 @@ function init_test_provider_store() {
4528
4649
  * ```
4529
4650
  */
4530
4651
  function useServiceCommand(service, commandName) {
4531
- return import_react$2.useMemo(() => service.commands[commandName], [service, commandName]);
4652
+ return import_react$3.useMemo(() => service.commands[commandName], [service, commandName]);
4532
4653
  }
4533
- var import_react$2;
4654
+ var import_react$3;
4534
4655
  function init_use_service_command() {
4535
4656
  return (init_use_service_command = __esmMin((() => {
4536
- import_react$2 = /* @__PURE__ */ __toESM(require_react(), 1);
4657
+ import_react$3 = /* @__PURE__ */ __toESM(require_react(), 1);
4537
4658
  })))();
4538
4659
  }
4539
4660
  //#endregion
4540
4661
  //#region src/shared/open-service/use-service-query.ts
4541
4662
  function useServiceQuery(query, input, selector) {
4542
- const subscriptionKeyRef = import_react$1.useRef(null);
4543
- const snapshotRef = import_react$1.useRef(void 0);
4663
+ const subscriptionKeyRef = import_react$2.useRef(null);
4664
+ const snapshotRef = import_react$2.useRef(void 0);
4544
4665
  if (subscriptionKeyRef.current === null || subscriptionKeyRef.current.query !== query || !isEqual(subscriptionKeyRef.current.input, input) || subscriptionKeyRef.current.selector !== selector) {
4545
4666
  subscriptionKeyRef.current = {
4546
4667
  query,
@@ -4550,7 +4671,7 @@ function useServiceQuery(query, input, selector) {
4550
4671
  snapshotRef.current = selector ? seedQueryState(query, input, selector) : seedQueryState(query, input);
4551
4672
  }
4552
4673
  const subscriptionKey = subscriptionKeyRef.current;
4553
- const subscribe = import_react$1.useCallback((listener) => {
4674
+ const subscribe = import_react$2.useCallback((listener) => {
4554
4675
  const { query: q, input: i, selector: s } = subscriptionKey;
4555
4676
  const onQueryState = (queryState) => {
4556
4677
  snapshotRef.current = queryState;
@@ -4558,15 +4679,15 @@ function useServiceQuery(query, input, selector) {
4558
4679
  };
4559
4680
  return s ? q.subscribe(i, s, onQueryState) : q.subscribe(i, onQueryState);
4560
4681
  }, [subscriptionKey]);
4561
- const getSnapshot = import_react$1.useCallback(() => {
4682
+ const getSnapshot = import_react$2.useCallback(() => {
4562
4683
  return snapshotRef.current;
4563
4684
  }, []);
4564
- return import_react$1.useSyncExternalStore(subscribe, getSnapshot);
4685
+ return import_react$2.useSyncExternalStore(subscribe, getSnapshot);
4565
4686
  }
4566
- var import_react$1;
4687
+ var import_react$2;
4567
4688
  function init_use_service_query() {
4568
4689
  return (init_use_service_query = __esmMin((() => {
4569
- import_react$1 = /* @__PURE__ */ __toESM(require_react(), 1);
4690
+ import_react$2 = /* @__PURE__ */ __toESM(require_react(), 1);
4570
4691
  init_isEqual();
4571
4692
  })))();
4572
4693
  }
@@ -4596,6 +4717,66 @@ function init_manager() {
4596
4717
  })))();
4597
4718
  }
4598
4719
  //#endregion
4720
+ //#region src/shared/use-sync-external-store/shim.ts
4721
+ function init_shim() {
4722
+ return (init_shim = __esmMin((() => {})))();
4723
+ }
4724
+ //#endregion
4725
+ //#region src/shared/use-sync-external-store/with-selector.ts
4726
+ function useSyncExternalStoreWithSelector(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
4727
+ const instRef = (0, import_react$1.useRef)(null);
4728
+ if (instRef.current === null) instRef.current = {
4729
+ hasValue: false,
4730
+ value: null
4731
+ };
4732
+ const inst = instRef.current;
4733
+ const [getSelection, getServerSelection] = (0, import_react$1.useMemo)(() => {
4734
+ let hasMemo = false;
4735
+ let memoizedSnapshot;
4736
+ let memoizedSelection;
4737
+ const memoizedSelector = (nextSnapshot) => {
4738
+ if (!hasMemo) {
4739
+ hasMemo = true;
4740
+ memoizedSnapshot = nextSnapshot;
4741
+ const nextSelection = selector(nextSnapshot);
4742
+ if (isEqual !== void 0 && inst.hasValue) {
4743
+ const currentSelection = inst.value;
4744
+ if (isEqual(currentSelection, nextSelection)) return memoizedSelection = currentSelection;
4745
+ }
4746
+ return memoizedSelection = nextSelection;
4747
+ }
4748
+ const currentSelection = memoizedSelection;
4749
+ if (Object.is(memoizedSnapshot, nextSnapshot)) return currentSelection;
4750
+ const nextSelection = selector(nextSnapshot);
4751
+ if (isEqual !== void 0 && isEqual(currentSelection, nextSelection)) {
4752
+ memoizedSnapshot = nextSnapshot;
4753
+ return currentSelection;
4754
+ }
4755
+ memoizedSnapshot = nextSnapshot;
4756
+ return memoizedSelection = nextSelection;
4757
+ };
4758
+ return [() => memoizedSelector(getSnapshot()), getServerSnapshot == null ? void 0 : () => memoizedSelector(getServerSnapshot())];
4759
+ }, [
4760
+ getSnapshot,
4761
+ getServerSnapshot,
4762
+ selector,
4763
+ isEqual
4764
+ ]);
4765
+ const value = (0, import_react$1.useSyncExternalStore)(subscribe, getSelection, getServerSelection);
4766
+ (0, import_react$1.useEffect)(() => {
4767
+ inst.hasValue = true;
4768
+ inst.value = value;
4769
+ }, [value]);
4770
+ (0, import_react$1.useDebugValue)(value);
4771
+ return value;
4772
+ }
4773
+ var import_react$1;
4774
+ function init_with_selector() {
4775
+ return (init_with_selector = __esmMin((() => {
4776
+ import_react$1 = require_react();
4777
+ })))();
4778
+ }
4779
+ //#endregion
4599
4780
  //#region src/theming/modules/syntax.ts
4600
4781
  var chromeDark, chromeLight, create;
4601
4782
  function init_syntax() {
@@ -4843,7 +5024,7 @@ function init_css_vars() {
4843
5024
  kebab = (key) => key.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
4844
5025
  px = (value) => typeof value === "number" ? `${value}px` : value;
4845
5026
  addGroup = (vars, prefix, group, unit = String) => {
4846
- for (const [key, value] of Object.entries(group ?? {})) if (typeof value === "string" || typeof value === "number") vars[`--sb-${prefix}-${kebab(key)}`] = unit(value);
5027
+ for (const [key, value] of Object.entries(group ?? {})) if (typeof value === "string" || typeof value === "number") vars[`--fb-${prefix}-${kebab(key)}`] = unit(value);
4847
5028
  };
4848
5029
  themeToCssVars = (theme) => {
4849
5030
  const vars = {};
@@ -4894,7 +5075,7 @@ function init_ThemeProvider() {
4894
5075
  ...themeToCssVars(theme)
4895
5076
  }), [theme]);
4896
5077
  return /* @__PURE__ */ import_react.default.createElement(ThemeContext.Provider, { value: theme }, /* @__PURE__ */ import_react.default.createElement("div", {
4897
- "data-sb-theme": theme.base,
5078
+ "data-fb-theme": theme.base,
4898
5079
  style
4899
5080
  }, children));
4900
5081
  };
@@ -4903,8 +5084,8 @@ function init_ThemeProvider() {
4903
5084
  //#endregion
4904
5085
  //#region src/theming/global.ts
4905
5086
  var resetCss, globalCss;
4906
- function init_global() {
4907
- return (init_global = __esmMin((() => {
5087
+ function init_global$1() {
5088
+ return (init_global$1 = __esmMin((() => {
4908
5089
  init_base();
4909
5090
  resetCss = `
4910
5091
  body {
@@ -4921,6 +5102,30 @@ body {
4921
5102
  box-sizing: border-box;
4922
5103
  }
4923
5104
 
5105
+ /* 1px neutral scrollbars everywhere (panels, docs, code blocks).
5106
+ Chrome ignores the ::-webkit-scrollbar rules when scrollbar-width is set,
5107
+ so only Firefox gets scrollbar-width. */
5108
+ @supports (-moz-appearance: none) {
5109
+ * {
5110
+ scrollbar-width: thin;
5111
+ scrollbar-color: rgb(120 120 128 / 0.45) transparent;
5112
+ }
5113
+ }
5114
+
5115
+ ::-webkit-scrollbar {
5116
+ width: 1px;
5117
+ height: 1px;
5118
+ }
5119
+
5120
+ ::-webkit-scrollbar-track,
5121
+ ::-webkit-scrollbar-corner {
5122
+ background: transparent;
5123
+ }
5124
+
5125
+ ::-webkit-scrollbar-thumb {
5126
+ background: rgb(120 120 128 / 0.6);
5127
+ }
5128
+
4924
5129
  h1, h2, h3, h4, h5, h6 {
4925
5130
  font-weight: ${typography.weight.regular};
4926
5131
  margin: 0;
@@ -4981,24 +5186,24 @@ pre {
4981
5186
  ${resetCss}
4982
5187
 
4983
5188
  body {
4984
- font-family: var(--sb-font-base);
5189
+ font-family: var(--fb-font-base);
4985
5190
  position: fixed;
4986
5191
  width: 100vw;
4987
5192
  height: 100vh;
4988
5193
  overflow: hidden;
4989
- color: var(--sb-color-default-text);
4990
- background: var(--sb-background-app);
5194
+ color: var(--fb-color-default-text);
5195
+ background: var(--fb-background-app);
4991
5196
  }
4992
5197
 
4993
5198
  code, pre {
4994
- font-family: var(--sb-font-mono);
5199
+ font-family: var(--fb-font-mono);
4995
5200
  }
4996
5201
 
4997
5202
  hr {
4998
- border-top: 1px solid var(--sb-color-border);
5203
+ border-top: 1px solid var(--fb-color-border);
4999
5204
  }
5000
5205
 
5001
- .sb-sr-only, .sb-hidden-until-focus:not(:focus) {
5206
+ .fb-sr-only, .fb-hidden-until-focus:not(:focus) {
5002
5207
  position: absolute;
5003
5208
  width: 1px;
5004
5209
  height: 1px;
@@ -5011,29 +5216,29 @@ hr {
5011
5216
  border: 0;
5012
5217
  }
5013
5218
 
5014
- .sb-hidden-until-focus {
5219
+ .fb-hidden-until-focus {
5015
5220
  opacity: 0;
5016
5221
  transition: opacity 150ms ease-out;
5017
5222
  }
5018
5223
 
5019
- .sb-hidden-until-focus:focus {
5224
+ .fb-hidden-until-focus:focus {
5020
5225
  opacity: 1;
5021
5226
  }
5022
5227
 
5023
- [data-sb-landmark] {
5228
+ [data-fb-landmark] {
5024
5229
  position: relative;
5025
5230
  }
5026
5231
 
5027
- [data-sb-landmark]:focus-visible {
5232
+ [data-fb-landmark]:focus-visible {
5028
5233
  outline: none;
5029
5234
  }
5030
5235
 
5031
- [data-sb-landmark]:focus-visible::after {
5032
- outline: 2px solid var(--sb-color-primary);
5236
+ [data-fb-landmark]:focus-visible::after {
5237
+ outline: 2px solid var(--fb-color-primary);
5033
5238
  outline-offset: -2px;
5034
5239
  }
5035
5240
 
5036
- [data-sb-landmark]::after {
5241
+ [data-fb-landmark]::after {
5037
5242
  content: '';
5038
5243
  position: absolute;
5039
5244
  inset: 0;
@@ -5091,7 +5296,7 @@ function init_theming() {
5091
5296
  init_base();
5092
5297
  init_ThemeProvider();
5093
5298
  init_css_vars();
5094
- init_global();
5299
+ init_global$1();
5095
5300
  init_create();
5096
5301
  init_convert();
5097
5302
  init_ensure();
@@ -5099,4 +5304,4 @@ function init_theming() {
5099
5304
  })))();
5100
5305
  }
5101
5306
  //#endregion
5102
- export { clearAnnouncer as $, create_exports as A, init_events as B, router_exports as C, init_routes as D, queryFromLocation as E, Tag as F, countStatusesByValue as G, NON_AGGREGATED_STATUS_TYPE_IDS as H, USER_TAG_FILTER as I, statusValueShortName as J, createStatusStore as K, init_tags as L, init_test as M, test_exports as N, isReviewManagerRoute as O, BUILT_IN_FILTERS as P, announce as Q, REVIEW_EVENTS as R, init_router$1 as S, init_utils$1 as T, REVIEW_STATUS_TYPE_ID as U, CHANGE_DETECTION_STATUS_TYPE_ID as V, UNIVERSAL_STATUS_STORE_OPTIONS as W, init_useCopyButton as X, toStatusValue as Y, useCopyButton as Z, init_test_provider_store as _, useTheme as a, UniversalStore as at, init_use_universal_store_manager as b, getService as c, init_storybook_error as ct, init_use_service_query as d, destroyAnnouncer as et, useServiceQuery as f, createTestProviderStore as g, UNIVERSAL_TEST_PROVIDER_STORE_OPTIONS as h, init_ThemeProvider as i, matchesHostname as it, init_create as j, create$1 as k, init_manager as l, useServiceCommand as m, theming_exports as n, LOOPBACK_HOSTNAMES as nt, init_css_vars as o, init_universal_store as ot, init_use_service_command as p, init_status_store as q, ThemeProvider as r, init_local_hosts as rt, themeToCssVars as s, StorybookError as st, init_theming as t, init_announce as tt, registerService as u, MockUniversalStore as v, buildArgsParam as w, useUniversalStore as x, init_mock as y, REVIEW_NAMESPACE as z };
5307
+ export { countStatusesByValue as $, setStoryPathEntries as A, init_test as B, init_use_universal_store_manager as C, buildManagerHref as D, router_exports as E, init_routes as F, init_tags as G, BUILT_IN_FILTERS as H, isReviewManagerRoute as I, init_events as J, REVIEW_EVENTS as K, create$1 as L, buildArgsParam as M, init_utils$1 as N, fromUrlPath as O, queryFromLocation as P, UNIVERSAL_STATUS_STORE_OPTIONS as Q, create_exports as R, init_mock as S, init_router$1 as T, Tag as U, test_exports as V, USER_TAG_FILTER as W, NON_AGGREGATED_STATUS_TYPE_IDS as X, CHANGE_DETECTION_STATUS_TYPE_ID as Y, REVIEW_STATUS_TYPE_ID as Z, useServiceCommand as _, StorybookError as _t, useTheme as a, useCopyButton as at, init_test_provider_store as b, init_with_selector as c, destroyAnnouncer as ct, getService as d, init_local_hosts as dt, createStatusStore as et, init_manager as f, matchesHostname as ft, init_use_service_command as g, init_universal_store as gt, useServiceQuery as h, UniversalStore as ht, init_ThemeProvider as i, init_useCopyButton as it, toUrlPath as j, init_story_paths as k, useSyncExternalStoreWithSelector as l, init_announce as lt, init_use_service_query as m, init_global as mt, theming_exports as n, statusValueShortName as nt, init_css_vars as o, announce as ot, registerService as p, global as pt, REVIEW_NAMESPACE as q, ThemeProvider as r, toStatusValue as rt, themeToCssVars as s, clearAnnouncer as st, init_theming as t, init_status_store as tt, init_shim as u, LOOPBACK_HOSTNAMES as ut, UNIVERSAL_TEST_PROVIDER_STORE_OPTIONS as v, init_storybook_error as vt, useUniversalStore as w, MockUniversalStore as x, createTestProviderStore as y, init_create as z };