@aussieljk/forkbook 0.0.0-stage → 0.0.1-1

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 (598) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +77 -2
  3. package/assets/addon-vitest/templates/vitest.config.4.template.ts +36 -0
  4. package/assets/browser/favicon-wrapper.svg +46 -0
  5. package/assets/browser/favicon.svg +1 -0
  6. package/assets/browser/nunito-sans-bold-italic.woff2 +0 -0
  7. package/assets/browser/nunito-sans-bold.woff2 +0 -0
  8. package/assets/browser/nunito-sans-italic.woff2 +0 -0
  9. package/assets/browser/nunito-sans-regular.woff2 +0 -0
  10. package/assets/builder-vite/iframe.html +99 -0
  11. package/assets/create/rendererAssets/.eslintrc.json +16 -0
  12. package/assets/create/rendererAssets/common/Configure.mdx +388 -0
  13. package/assets/create/rendererAssets/common/assets/accessibility.png +0 -0
  14. package/assets/create/rendererAssets/common/assets/accessibility.svg +1 -0
  15. package/assets/create/rendererAssets/common/assets/addon-library.png +0 -0
  16. package/assets/create/rendererAssets/common/assets/assets.png +0 -0
  17. package/assets/create/rendererAssets/common/assets/avif-test-image.avif +0 -0
  18. package/assets/create/rendererAssets/common/assets/context.png +0 -0
  19. package/assets/create/rendererAssets/common/assets/discord.svg +1 -0
  20. package/assets/create/rendererAssets/common/assets/docs.png +0 -0
  21. package/assets/create/rendererAssets/common/assets/figma-plugin.png +0 -0
  22. package/assets/create/rendererAssets/common/assets/github.svg +1 -0
  23. package/assets/create/rendererAssets/common/assets/share.png +0 -0
  24. package/assets/create/rendererAssets/common/assets/styling.png +0 -0
  25. package/assets/create/rendererAssets/common/assets/testing.png +0 -0
  26. package/assets/create/rendererAssets/common/assets/theming.png +0 -0
  27. package/assets/create/rendererAssets/common/assets/tutorials.svg +1 -0
  28. package/assets/create/rendererAssets/common/assets/youtube.svg +1 -0
  29. package/assets/create/rendererAssets/common/button.css +30 -0
  30. package/assets/create/rendererAssets/common/header.css +32 -0
  31. package/assets/create/rendererAssets/common/page.css +68 -0
  32. package/assets/create/templates/react-native/index.expo.js +20 -0
  33. package/assets/create/templates/react-native/index.js +25 -0
  34. package/assets/docs/addon-backgrounds.gif +0 -0
  35. package/assets/docs/addon-controls-args-annotated.png +0 -0
  36. package/assets/docs/addon-controls-args-background-color.png +0 -0
  37. package/assets/docs/addon-controls-args-background-string.png +0 -0
  38. package/assets/docs/addon-controls-args-docs.png +0 -0
  39. package/assets/docs/addon-controls-args-logging.png +0 -0
  40. package/assets/docs/addon-controls-args-no-annotation.png +0 -0
  41. package/assets/docs/addon-controls-args-reflow-slider.png +0 -0
  42. package/assets/docs/addon-controls-args-reflow.png +0 -0
  43. package/assets/docs/addon-controls-args-template.png +0 -0
  44. package/assets/docs/addon-controls-expanded.png +0 -0
  45. package/assets/docs/addon-controls-hero.gif +0 -0
  46. package/assets/docs/addon-controls-install.png +0 -0
  47. package/assets/docs/hero.gif +0 -0
  48. package/assets/docs/highlight.png +0 -0
  49. package/assets/docs/message-reference.png +0 -0
  50. package/assets/docs/viewport.png +0 -0
  51. package/assets/react-native/metro-env.d.ts +69 -0
  52. package/assets/server/addon.tsconfig.json +6 -0
  53. package/assets/server/base-preview-body.html +116 -0
  54. package/assets/server/base-preview-head.html +494 -0
  55. package/assets/server/openBrowser.applescript +94 -0
  56. package/assets/server/template.ejs +87 -0
  57. package/dist/.build-stamp +0 -0
  58. package/dist/_browser-chunks/Color-OEKZ7XSW.js +1025 -0
  59. package/dist/_browser-chunks/DocsRenderer-JXND3PVQ.js +10 -0
  60. package/dist/_browser-chunks/WithTooltip-GZSSFOG3.js +1619 -0
  61. package/dist/_browser-chunks/chunk-2JDQ35OA.js +247 -0
  62. package/dist/_browser-chunks/chunk-2JT76G3E.js +104 -0
  63. package/dist/_browser-chunks/chunk-2MEPHP35.js +17 -0
  64. package/dist/_browser-chunks/chunk-2SCZVUKW.js +24 -0
  65. package/dist/_browser-chunks/chunk-46Z7NGAS.js +41 -0
  66. package/dist/_browser-chunks/chunk-4ATQOMJB.js +30 -0
  67. package/dist/_browser-chunks/chunk-52CW7FF7.js +49 -0
  68. package/dist/_browser-chunks/chunk-5I7E4GMO.js +62 -0
  69. package/dist/_browser-chunks/chunk-5P4QA6MY.js +20 -0
  70. package/dist/_browser-chunks/chunk-5WMXI5GW.js +816 -0
  71. package/dist/_browser-chunks/chunk-66OCZ54D.js +2604 -0
  72. package/dist/_browser-chunks/chunk-6SXYJQST.js +253 -0
  73. package/dist/_browser-chunks/chunk-73OX2G56.js +2943 -0
  74. package/dist/_browser-chunks/chunk-AYRF6EJB.js +36 -0
  75. package/dist/_browser-chunks/chunk-B4AUNNU4.js +156 -0
  76. package/dist/_browser-chunks/chunk-BCP2FFXF.js +369 -0
  77. package/dist/_browser-chunks/chunk-C3D4HEFY.js +3396 -0
  78. package/dist/_browser-chunks/chunk-CFAOWGL7.js +43 -0
  79. package/dist/_browser-chunks/chunk-CFWWCCZV.js +223 -0
  80. package/dist/_browser-chunks/chunk-CNED6RYH.js +18 -0
  81. package/dist/_browser-chunks/chunk-DRQKCCAG.js +136 -0
  82. package/dist/_browser-chunks/chunk-ECQ75MKQ.js +0 -0
  83. package/dist/_browser-chunks/chunk-EIYAKDGP.js +302 -0
  84. package/dist/_browser-chunks/chunk-ENKK74N4.js +12 -0
  85. package/dist/_browser-chunks/chunk-FENFYI4X.js +698 -0
  86. package/dist/_browser-chunks/chunk-FJGWSWL5.js +155 -0
  87. package/dist/_browser-chunks/chunk-FVSEPWWX.js +2810 -0
  88. package/dist/_browser-chunks/chunk-GNZY6LOW.js +10116 -0
  89. package/dist/_browser-chunks/chunk-IE4ULIOQ.js +14 -0
  90. package/dist/_browser-chunks/chunk-IMSF75WX.js +42 -0
  91. package/dist/_browser-chunks/chunk-IWQGIXJS.js +14 -0
  92. package/dist/_browser-chunks/chunk-JMC7AIKT.js +108 -0
  93. package/dist/_browser-chunks/chunk-JPUOQJUI.js +8 -0
  94. package/dist/_browser-chunks/chunk-JSBKXXXF.js +218 -0
  95. package/dist/_browser-chunks/chunk-JWSKPMPC.js +73 -0
  96. package/dist/_browser-chunks/chunk-KBK7GKBN.js +35 -0
  97. package/dist/_browser-chunks/chunk-LAWXTSXK.js +18 -0
  98. package/dist/_browser-chunks/chunk-LE2LTDW3.js +14 -0
  99. package/dist/_browser-chunks/chunk-LEVSOOLQ.js +48 -0
  100. package/dist/_browser-chunks/chunk-LV5PIKV4.js +93 -0
  101. package/dist/_browser-chunks/chunk-MDOL7KML.js +56 -0
  102. package/dist/_browser-chunks/chunk-MFMDGWP6.js +34 -0
  103. package/dist/_browser-chunks/chunk-MLBOOZL4.js +67 -0
  104. package/dist/_browser-chunks/chunk-NQUD4B7H.js +91 -0
  105. package/dist/_browser-chunks/chunk-NULBREPZ.js +43 -0
  106. package/dist/_browser-chunks/chunk-NZMVUW5T.js +7 -0
  107. package/dist/_browser-chunks/chunk-OD6IBQCC.js +117 -0
  108. package/dist/_browser-chunks/chunk-ODVJ3XZJ.js +157 -0
  109. package/dist/_browser-chunks/chunk-OQWFVDIN.js +386 -0
  110. package/dist/_browser-chunks/chunk-OVH3USFB.js +20 -0
  111. package/dist/_browser-chunks/chunk-OZZPSYQR.js +14 -0
  112. package/dist/_browser-chunks/chunk-PFRNG3UC.js +22 -0
  113. package/dist/_browser-chunks/chunk-PJSMZ27A.js +13 -0
  114. package/dist/_browser-chunks/chunk-PP4R7USA.js +2167 -0
  115. package/dist/_browser-chunks/chunk-QC4HFS6K.js +41 -0
  116. package/dist/_browser-chunks/chunk-QDXFODK4.js +274 -0
  117. package/dist/_browser-chunks/chunk-RBCHTR7C.js +28 -0
  118. package/dist/_browser-chunks/chunk-RMYQ3QN3.js +294 -0
  119. package/dist/_browser-chunks/chunk-RNTIV5CE.js +411 -0
  120. package/dist/_browser-chunks/chunk-RSPAQWVJ.js +80 -0
  121. package/dist/_browser-chunks/chunk-S6TK43XQ.js +836 -0
  122. package/dist/_browser-chunks/chunk-SC67XZST.js +18 -0
  123. package/dist/_browser-chunks/chunk-SFVA4SBT.js +683 -0
  124. package/dist/_browser-chunks/chunk-SZYFOQMT.js +25 -0
  125. package/dist/_browser-chunks/chunk-TBJCJXK4.js +18 -0
  126. package/dist/_browser-chunks/chunk-UMDO3KB7.js +205 -0
  127. package/dist/_browser-chunks/chunk-V2G23FV7.js +11 -0
  128. package/dist/_browser-chunks/chunk-V5M7Q4HT.js +88 -0
  129. package/dist/_browser-chunks/chunk-VVWPND3J.js +108 -0
  130. package/dist/_browser-chunks/chunk-W5M6NPS3.js +198 -0
  131. package/dist/_browser-chunks/chunk-W7NE2JXW.js +84 -0
  132. package/dist/_browser-chunks/chunk-WGVAAM43.js +1110 -0
  133. package/dist/_browser-chunks/chunk-WHQRNHXD.js +8 -0
  134. package/dist/_browser-chunks/chunk-WOSOWBCA.js +12 -0
  135. package/dist/_browser-chunks/chunk-WZ7KR7SH.js +85 -0
  136. package/dist/_browser-chunks/chunk-YEKO6BHJ.js +20 -0
  137. package/dist/_browser-chunks/chunk-YI2IBIQS.js +7 -0
  138. package/dist/_browser-chunks/chunk-YTIT5NA5.js +1966 -0
  139. package/dist/_browser-chunks/chunk-ZEHRUHTA.js +6 -0
  140. package/dist/_browser-chunks/chunk-ZTQ5MEJ5.js +203 -0
  141. package/dist/_browser-chunks/matchers-YLBYSYAF.js +1263 -0
  142. package/dist/_browser-chunks/react-dom-client-4OHE3QDV.js +9 -0
  143. package/dist/_node-chunks/attached-runtime-O4YTVUKE.js +282 -0
  144. package/dist/_node-chunks/builder-manager-FPV2L36T.js +1661 -0
  145. package/dist/_node-chunks/chunk-2BJIHWOK.js +25 -0
  146. package/dist/_node-chunks/chunk-2JSABFAM.js +148 -0
  147. package/dist/_node-chunks/chunk-2QTI45JU.js +1094 -0
  148. package/dist/_node-chunks/chunk-2UG3IYCC.js +26 -0
  149. package/dist/_node-chunks/chunk-2XDUXZGI.js +153 -0
  150. package/dist/_node-chunks/chunk-356LV3NX.js +36 -0
  151. package/dist/_node-chunks/chunk-3CLITGI2.js +121 -0
  152. package/dist/_node-chunks/chunk-4PK3LUHM.js +82 -0
  153. package/dist/_node-chunks/chunk-4TV3Z3S3.js +20 -0
  154. package/dist/_node-chunks/chunk-5BTU7UZ5.js +1877 -0
  155. package/dist/_node-chunks/chunk-5GN5N22E.js +989 -0
  156. package/dist/_node-chunks/chunk-5J3BMBMY.js +51 -0
  157. package/dist/_node-chunks/chunk-5J3O7EDY.js +21 -0
  158. package/dist/_node-chunks/chunk-5RNOGGO6.js +35 -0
  159. package/dist/_node-chunks/chunk-5WHA37KG.js +1297 -0
  160. package/dist/_node-chunks/chunk-6APBQVEX.js +611 -0
  161. package/dist/_node-chunks/chunk-6EJ5NPEM.js +98 -0
  162. package/dist/_node-chunks/chunk-7BVUZZIY.js +56 -0
  163. package/dist/_node-chunks/chunk-7DCDBICW.js +415 -0
  164. package/dist/_node-chunks/chunk-7LLQDMVS.js +223 -0
  165. package/dist/_node-chunks/chunk-7TSL7D5D.js +26 -0
  166. package/dist/_node-chunks/chunk-A724RK5H.js +168 -0
  167. package/dist/_node-chunks/chunk-AANHLH5M.js +87 -0
  168. package/dist/_node-chunks/chunk-ASJFOW6O.js +1133 -0
  169. package/dist/_node-chunks/chunk-AWJOXJAZ.js +144 -0
  170. package/dist/_node-chunks/chunk-AWXGCPW6.js +92 -0
  171. package/dist/_node-chunks/chunk-B6SKX4JF.js +414 -0
  172. package/dist/_node-chunks/chunk-BCRWDMAU.js +11 -0
  173. package/dist/_node-chunks/chunk-BE6ULVPN.js +662 -0
  174. package/dist/_node-chunks/chunk-BENYUF74.js +2107 -0
  175. package/dist/_node-chunks/chunk-CDRLLNRQ.js +209 -0
  176. package/dist/_node-chunks/chunk-CSXS6LVI.js +29 -0
  177. package/dist/_node-chunks/chunk-CWD5A6NI.js +45 -0
  178. package/dist/_node-chunks/chunk-CXLL2F6O.js +7162 -0
  179. package/dist/_node-chunks/chunk-CYPPELO4.js +1011 -0
  180. package/dist/_node-chunks/chunk-DUOXRUVQ.js +18 -0
  181. package/dist/_node-chunks/chunk-DWE36J35.js +3767 -0
  182. package/dist/_node-chunks/chunk-EWXASIWR.js +60 -0
  183. package/dist/_node-chunks/chunk-FUYZNTIS.js +23 -0
  184. package/dist/_node-chunks/chunk-G5OYQQDY.js +21 -0
  185. package/dist/_node-chunks/chunk-G6PUNHCI.js +33 -0
  186. package/dist/_node-chunks/chunk-GP5YLBNS.js +499 -0
  187. package/dist/_node-chunks/chunk-GSWBRZLU.js +110 -0
  188. package/dist/_node-chunks/chunk-GT5EHMNM.js +90 -0
  189. package/dist/_node-chunks/chunk-GVSFRNWZ.js +110 -0
  190. package/dist/_node-chunks/chunk-HKQEE62W.js +1193 -0
  191. package/dist/_node-chunks/chunk-HKUNJELN.js +132 -0
  192. package/dist/_node-chunks/chunk-I2ANCID7.js +3787 -0
  193. package/dist/_node-chunks/chunk-ICADUNQM.js +155 -0
  194. package/dist/_node-chunks/chunk-IJL5JOLL.js +95 -0
  195. package/dist/_node-chunks/chunk-ILVD64RB.js +844 -0
  196. package/dist/_node-chunks/chunk-ILWHW4HU.js +1218 -0
  197. package/dist/_node-chunks/chunk-IZISFDKM.js +7032 -0
  198. package/dist/_node-chunks/chunk-JBCKN6P4.js +59 -0
  199. package/dist/_node-chunks/chunk-JE6JEGXA.js +115 -0
  200. package/dist/_node-chunks/chunk-JEC2OK5B.js +5468 -0
  201. package/dist/_node-chunks/chunk-JVQYQTTM.js +1094 -0
  202. package/dist/_node-chunks/chunk-KGOAOPKR.js +35 -0
  203. package/dist/_node-chunks/chunk-M2BRIUUP.js +25 -0
  204. package/dist/_node-chunks/chunk-MDKFZRYG.js +80 -0
  205. package/dist/_node-chunks/chunk-MJ2UD7FU.js +26 -0
  206. package/dist/_node-chunks/chunk-NIHZECYO.js +48 -0
  207. package/dist/_node-chunks/chunk-NKAUZU4C.js +63 -0
  208. package/dist/_node-chunks/chunk-NZ3GOT7V.js +68 -0
  209. package/dist/_node-chunks/chunk-PBMWZVLD.js +49 -0
  210. package/dist/_node-chunks/chunk-PEIAGMSR.js +23 -0
  211. package/dist/_node-chunks/chunk-QMU5ODXZ.js +47 -0
  212. package/dist/_node-chunks/chunk-QVMUIU7S.js +40 -0
  213. package/dist/_node-chunks/chunk-R5FYRP6X.js +74 -0
  214. package/dist/_node-chunks/chunk-R7CY5LX6.js +33 -0
  215. package/dist/_node-chunks/chunk-RHG33T7C.js +688 -0
  216. package/dist/_node-chunks/chunk-RJUHZH32.js +20 -0
  217. package/dist/_node-chunks/chunk-RJXEPYEN.js +2700 -0
  218. package/dist/_node-chunks/chunk-RQVK2TOI.js +298 -0
  219. package/dist/_node-chunks/chunk-SRXCCL2O.js +194 -0
  220. package/dist/_node-chunks/chunk-SVZ6Q3CS.js +40 -0
  221. package/dist/_node-chunks/chunk-TB6Y6NSL.js +3837 -0
  222. package/dist/_node-chunks/chunk-U4GKV7GZ.js +4744 -0
  223. package/dist/_node-chunks/chunk-ULW4SLMN.js +2034 -0
  224. package/dist/_node-chunks/chunk-URRTQ2QM.js +104 -0
  225. package/dist/_node-chunks/chunk-US7L4S72.js +45 -0
  226. package/dist/_node-chunks/chunk-VQEQ7ZLS.js +4731 -0
  227. package/dist/_node-chunks/chunk-VXDWOVWD.js +52345 -0
  228. package/dist/_node-chunks/chunk-WQ7PSP6H.js +19 -0
  229. package/dist/_node-chunks/chunk-WVCU34IS.js +23 -0
  230. package/dist/_node-chunks/chunk-X6OWHTYE.js +20 -0
  231. package/dist/_node-chunks/chunk-XCGMRAV5.js +33 -0
  232. package/dist/_node-chunks/chunk-XJSYJTBD.js +59 -0
  233. package/dist/_node-chunks/chunk-XTTAS346.js +25 -0
  234. package/dist/_node-chunks/chunk-XURIZ7IC.js +32 -0
  235. package/dist/_node-chunks/chunk-Y2DEKWVE.js +3008 -0
  236. package/dist/_node-chunks/chunk-Y2GH4XO7.js +884 -0
  237. package/dist/_node-chunks/chunk-YWMICX2T.js +1986 -0
  238. package/dist/_node-chunks/chunk-ZBAIFZNB.js +5414 -0
  239. package/dist/_node-chunks/chunk-ZMEGPR47.js +79 -0
  240. package/dist/_node-chunks/dist-ZGSN23B7.js +16 -0
  241. package/dist/_node-chunks/globby-HWZL7XSQ.js +2884 -0
  242. package/dist/_node-chunks/jiti-GNDCTFYU.js +3848 -0
  243. package/dist/_node-chunks/lib-DI662U2R.js +366 -0
  244. package/dist/_node-chunks/local-runtime-4UNT5EZJ.js +78 -0
  245. package/dist/_node-chunks/mdx-plugin-ZY6XLLA4.js +5680 -0
  246. package/dist/_node-chunks/monorepo-B65J4UFS.js +121 -0
  247. package/dist/_node-chunks/monorepo-optimized-tests-relaxed-limits-no-story-deletion-45ZTNWJS.js +121 -0
  248. package/dist/_node-chunks/optimized-tests-ZMNICF4R.js +22 -0
  249. package/dist/_node-chunks/pattern-copy-play-LOHSM7ID.js +807 -0
  250. package/dist/_node-chunks/postinstallAddon-NT5XE7IT.js +20 -0
  251. package/dist/_node-chunks/rehype-external-links-22ZBI6K4.js +121 -0
  252. package/dist/_node-chunks/rehype-slug-ROZVEEFZ.js +52 -0
  253. package/dist/_node-chunks/relaxed-limits-EDE2B34G.js +117 -0
  254. package/dist/_node-chunks/run-372BSBV5.js +4532 -0
  255. package/dist/_node-chunks/run-IR3BRDJV.js +103 -0
  256. package/dist/_node-chunks/session-id-OO2WQF5N.js +23 -0
  257. package/dist/_node-chunks/setup-6TMCKUTA.js +278 -0
  258. package/dist/_node-chunks/vitest.config.4.template-QJBEVCKG.js +54 -0
  259. package/dist/actions/decorator.d.ts +7 -0
  260. package/dist/actions/decorator.js +43 -0
  261. package/dist/actions/index.d.ts +67 -0
  262. package/dist/actions/index.js +28 -0
  263. package/dist/addon-a11y/index.d.ts +52 -0
  264. package/dist/addon-a11y/index.js +16 -0
  265. package/dist/addon-a11y/manager.js +1429 -0
  266. package/dist/addon-a11y/preset.js +18 -0
  267. package/dist/addon-a11y/preview.d.ts +17 -0
  268. package/dist/addon-a11y/preview.js +15 -0
  269. package/dist/addon-docs/blocks.d.ts +1061 -0
  270. package/dist/addon-docs/blocks.js +2461 -0
  271. package/dist/addon-docs/index.d.ts +236 -0
  272. package/dist/addon-docs/index.js +16 -0
  273. package/dist/addon-docs/manager.js +90 -0
  274. package/dist/addon-docs/mdx-react-shim.d.ts +1 -0
  275. package/dist/addon-docs/mdx-react-shim.js +2 -0
  276. package/dist/addon-docs/preset.js +378 -0
  277. package/dist/addon-docs/preview.d.ts +4 -0
  278. package/dist/addon-docs/preview.js +7 -0
  279. package/dist/addon-links/index.d.ts +22 -0
  280. package/dist/addon-links/index.js +20 -0
  281. package/dist/addon-links/manager.js +14 -0
  282. package/dist/addon-links/preview.d.ts +6 -0
  283. package/dist/addon-links/preview.js +9 -0
  284. package/dist/addon-links/react/index.d.ts +25 -0
  285. package/dist/addon-links/react/index.js +52 -0
  286. package/dist/addon-mcp/preset.js +1345 -0
  287. package/dist/addon-mcp/preview.js +29 -0
  288. package/dist/addon-mcp/tools/preview-stories/preview-stories-app-script.js +1174 -0
  289. package/dist/addon-ondevice-actions/index.d.ts +4 -0
  290. package/dist/addon-ondevice-actions/index.js +7 -0
  291. package/dist/addon-ondevice-actions/register.js +7 -0
  292. package/dist/addon-ondevice-controls/index.d.ts +6 -0
  293. package/dist/addon-ondevice-controls/index.js +14 -0
  294. package/dist/addon-ondevice-controls/register.js +10 -0
  295. package/dist/addon-pseudo-states/index.d.ts +35 -0
  296. package/dist/addon-pseudo-states/index.js +15 -0
  297. package/dist/addon-pseudo-states/manager.js +53 -0
  298. package/dist/addon-pseudo-states/preview.d.ts +9 -0
  299. package/dist/addon-pseudo-states/preview.js +10 -0
  300. package/dist/addon-themes/index.d.ts +80 -0
  301. package/dist/addon-themes/index.js +104 -0
  302. package/dist/addon-themes/manager.js +97 -0
  303. package/dist/addon-themes/postinstall.js +33 -0
  304. package/dist/addon-themes/preview.d.ts +6 -0
  305. package/dist/addon-themes/preview.js +8 -0
  306. package/dist/addon-vitest/constants.d.ts +132 -0
  307. package/dist/addon-vitest/constants.js +66 -0
  308. package/dist/addon-vitest/index.d.ts +4 -0
  309. package/dist/addon-vitest/index.js +8 -0
  310. package/dist/addon-vitest/manager.js +665 -0
  311. package/dist/addon-vitest/node/coverage-reporter.js +1284 -0
  312. package/dist/addon-vitest/node/vitest.js +674 -0
  313. package/dist/addon-vitest/postinstall.js +24 -0
  314. package/dist/addon-vitest/preset.js +943 -0
  315. package/dist/addon-vitest/vitest-plugin/global-setup.js +162 -0
  316. package/dist/addon-vitest/vitest-plugin/index.d.ts +56 -0
  317. package/dist/addon-vitest/vitest-plugin/index.js +463 -0
  318. package/dist/addon-vitest/vitest-plugin/setup-file-with-project-annotations.js +9 -0
  319. package/dist/addon-vitest/vitest-plugin/setup-file.browser.4.js +20 -0
  320. package/dist/addon-vitest/vitest-plugin/setup-file.js +50 -0
  321. package/dist/addon-vitest/vitest-plugin/test-utils.js +128 -0
  322. package/dist/babel/index.d.ts +2301 -0
  323. package/dist/babel/index.js +61 -0
  324. package/dist/backgrounds/index.d.ts +6 -0
  325. package/dist/backgrounds/index.js +15 -0
  326. package/dist/bin/core.js +1705 -0
  327. package/dist/bin/dispatcher.js +43 -0
  328. package/dist/bin/loader.js +115 -0
  329. package/dist/builder-vite/index.d.ts +50 -0
  330. package/dist/builder-vite/index.js +245 -0
  331. package/dist/builder-vite/preset.js +27 -0
  332. package/dist/channels/index.d.ts +2 -0
  333. package/dist/channels/index.js +352 -0
  334. package/dist/chunk-B2t1tGRh.d.ts +284 -0
  335. package/dist/chunk-BCoJQE-f.d.ts +602 -0
  336. package/dist/chunk-BGkgZp-H.d.ts +214 -0
  337. package/dist/chunk-BTVrWliM.d.ts +115 -0
  338. package/dist/chunk-BXLImeLy.d.ts +197 -0
  339. package/dist/chunk-BfBzpgct.d.ts +916 -0
  340. package/dist/chunk-Bpi2tz-6.d.ts +511 -0
  341. package/dist/chunk-BxWufQms.d.ts +142 -0
  342. package/dist/chunk-C-bavsOH.d.ts +34 -0
  343. package/dist/chunk-C2p5r3Vt.d.ts +13001 -0
  344. package/dist/chunk-C6PAgHLT.d.ts +12 -0
  345. package/dist/chunk-CMeX4WRe.d.ts +179 -0
  346. package/dist/chunk-Ct9xd6IM.d.ts +65 -0
  347. package/dist/chunk-CwQKNaYL.d.ts +15 -0
  348. package/dist/chunk-D7DwV41f.d.ts +3622 -0
  349. package/dist/chunk-DEVFdzxR.d.ts +253 -0
  350. package/dist/chunk-DaVb55-_.d.ts +124 -0
  351. package/dist/chunk-DgRNfmj_.d.ts +40 -0
  352. package/dist/chunk-DoIGKY33.d.ts +666 -0
  353. package/dist/chunk-Dr3R0DXk.d.ts +40 -0
  354. package/dist/chunk-DtHByo32.d.ts +55 -0
  355. package/dist/chunk-Dw1z1Pki.d.ts +933 -0
  356. package/dist/chunk-DzuY9DXg.d.ts +79 -0
  357. package/dist/chunk-FjDVzZTj.d.ts +62 -0
  358. package/dist/chunk-Kt1tW-D1.d.ts +59 -0
  359. package/dist/chunk-XP8oHzpE.d.ts +6 -0
  360. package/dist/chunk-gCX81nOr.d.ts +61 -0
  361. package/dist/chunk-pcFXCimE.d.ts +741 -0
  362. package/dist/cli/index.d.ts +1174 -0
  363. package/dist/cli/index.js +5613 -0
  364. package/dist/cli/skills/content/index.d.ts +72 -0
  365. package/dist/cli/skills/content/index.js +335 -0
  366. package/dist/cli/tools/sdk/child-host.d.ts +61 -0
  367. package/dist/cli/tools/sdk/child-host.js +131 -0
  368. package/dist/cli/tools/sdk/index.d.ts +137 -0
  369. package/dist/cli/tools/sdk/index.js +44 -0
  370. package/dist/cli-commands/bin/index.js +25 -0
  371. package/dist/client-logger/index.d.ts +31 -0
  372. package/dist/client-logger/index.js +63 -0
  373. package/dist/common/index.d.ts +1103 -0
  374. package/dist/common/index.js +364 -0
  375. package/dist/components/index.d.ts +1924 -0
  376. package/dist/components/index.js +13759 -0
  377. package/dist/core-events/index.d.ts +155 -0
  378. package/dist/core-events/index.js +136 -0
  379. package/dist/core-server/index.d.ts +2200 -0
  380. package/dist/core-server/index.js +4165 -0
  381. package/dist/core-server/presets/common-manager.css +170 -0
  382. package/dist/core-server/presets/common-manager.js +4168 -0
  383. package/dist/core-server/presets/common-override-preset.js +81 -0
  384. package/dist/core-server/presets/common-preset.js +2187 -0
  385. package/dist/create/bin/index.js +23 -0
  386. package/dist/create/index.js +25 -0
  387. package/dist/csf/csf-utils.d.ts +2 -0
  388. package/dist/csf/csf-utils.js +19 -0
  389. package/dist/csf/index.d.ts +7 -0
  390. package/dist/csf/index.js +2142 -0
  391. package/dist/csf-tools/index.d.ts +1157 -0
  392. package/dist/csf-tools/index.js +736 -0
  393. package/dist/docs-tools/index.d.ts +197 -0
  394. package/dist/docs-tools/index.js +61 -0
  395. package/dist/highlight/index.d.ts +10 -0
  396. package/dist/highlight/index.js +15 -0
  397. package/dist/instrumenter/index.d.ts +113 -0
  398. package/dist/instrumenter/index.js +2595 -0
  399. package/dist/manager/_manager-chunks/globals-runtime-8HkdnU2F.js +6144 -0
  400. package/dist/manager/_manager-chunks/globals-runtime-B0I9dSVs.js +5564 -0
  401. package/dist/manager/_manager-chunks/globals-runtime-BIKBO23x.js +3389 -0
  402. package/dist/manager/_manager-chunks/globals-runtime-BQCkfH1B.js +121 -0
  403. package/dist/manager/_manager-chunks/globals-runtime-BdGkqNEt.js +45 -0
  404. package/dist/manager/_manager-chunks/globals-runtime-BmphMP6z.js +1190 -0
  405. package/dist/manager/_manager-chunks/globals-runtime-BvM-NY2g.js +13307 -0
  406. package/dist/manager/_manager-chunks/globals-runtime-C02fvgcd.js +9243 -0
  407. package/dist/manager/_manager-chunks/globals-runtime-CXoVXiJA.js +4468 -0
  408. package/dist/manager/_manager-chunks/globals-runtime-DkAPXCvc.js +9766 -0
  409. package/dist/manager/_manager-chunks/globals-runtime-DtcOnYHR.js +5357 -0
  410. package/dist/manager/_manager-chunks/globals-runtime-DwFqpqya.js +722 -0
  411. package/dist/manager/_manager-chunks/globals-runtime-FC201B7s.js +6837 -0
  412. package/dist/manager/_manager-chunks/globals-runtime-ZHrQFa3-.js +10463 -0
  413. package/dist/manager/_manager-chunks/globals-runtime-eLPTIfX-.js +7759 -0
  414. package/dist/manager/_manager-chunks/globals-runtime-f5oIrim0.js +5102 -0
  415. package/dist/manager/_manager-chunks/runtime-B1L9TH89.js +452 -0
  416. package/dist/manager/_manager-chunks/runtime-Bly6WJLN.js +998 -0
  417. package/dist/manager/_manager-chunks/runtime-Bry1Biu7.js +8936 -0
  418. package/dist/manager/_manager-chunks/runtime-D94Vq3oR.js +4014 -0
  419. package/dist/manager/_manager-chunks/runtime-DMig8mT7.js +77 -0
  420. package/dist/manager/_manager-chunks/runtime-DcJBhKG9.js +1408 -0
  421. package/dist/manager/_manager-chunks/runtime-DpgBAFGf.js +22 -0
  422. package/dist/manager/_manager-chunks/runtime-DtyerpFe.js +979 -0
  423. package/dist/manager/_manager-chunks/runtime-EITvVbkG.js +46 -0
  424. package/dist/manager/_manager-chunks/runtime-eDVAYF7N.js +6860 -0
  425. package/dist/manager/_manager-chunks/runtime-i-PDAHLR.js +2493 -0
  426. package/dist/manager/globals-runtime.js +2 -0
  427. package/dist/manager/globals.d.ts +23 -0
  428. package/dist/manager/globals.js +26 -0
  429. package/dist/manager/manager-stores.d.ts +2 -0
  430. package/dist/manager/manager-stores.js +19 -0
  431. package/dist/manager/runtime.js +2 -0
  432. package/dist/manager-api/index.d.ts +2 -0
  433. package/dist/manager-api/index.js +3257 -0
  434. package/dist/manager-errors.d.ts +89 -0
  435. package/dist/manager-errors.js +20 -0
  436. package/dist/mcp/index.d.ts +270 -0
  437. package/dist/mcp/index.js +305 -0
  438. package/dist/mocking-utils/index.d.ts +689 -0
  439. package/dist/mocking-utils/index.js +521 -0
  440. package/dist/mocking-utils/mocker-runtime.js +1254 -0
  441. package/dist/nextjs-vite/config/preview.js +3 -0
  442. package/dist/nextjs-vite/export-mocks/cache/index.d.ts +25 -0
  443. package/dist/nextjs-vite/export-mocks/cache/index.js +29 -0
  444. package/dist/nextjs-vite/export-mocks/headers/index.d.ts +37 -0
  445. package/dist/nextjs-vite/export-mocks/headers/index.js +54 -0
  446. package/dist/nextjs-vite/export-mocks/link/index.d.ts +9 -0
  447. package/dist/nextjs-vite/export-mocks/link/index.js +59 -0
  448. package/dist/nextjs-vite/export-mocks/navigation/index.d.ts +28 -0
  449. package/dist/nextjs-vite/export-mocks/navigation/index.js +58 -0
  450. package/dist/nextjs-vite/export-mocks/router/index.d.ts +34 -0
  451. package/dist/nextjs-vite/export-mocks/router/index.js +63 -0
  452. package/dist/nextjs-vite/index.d.ts +92 -0
  453. package/dist/nextjs-vite/index.js +58 -0
  454. package/dist/nextjs-vite/node/index.d.ts +6 -0
  455. package/dist/nextjs-vite/node/index.js +20 -0
  456. package/dist/nextjs-vite/preset.js +648 -0
  457. package/dist/nextjs-vite/preview.d.ts +20 -0
  458. package/dist/nextjs-vite/preview.js +11 -0
  459. package/dist/nextjs-vite/vite-plugin/index.d.ts +6 -0
  460. package/dist/nextjs-vite/vite-plugin/index.js +19 -0
  461. package/dist/nextjs-vite-plugin/index.d.ts +28 -0
  462. package/dist/nextjs-vite-plugin/index.js +923 -0
  463. package/dist/nextjs-vite-plugin/mocks/storybook.global.js +29 -0
  464. package/dist/nextjs-vite-plugin/plugins/next-image/alias/image-context.js +8 -0
  465. package/dist/nextjs-vite-plugin/plugins/next-image/alias/image-default-loader.js +23 -0
  466. package/dist/nextjs-vite-plugin/plugins/next-image/alias/next-image.js +28 -0
  467. package/dist/nextjs-vite-plugin/plugins/next-image/alias/next-legacy-image.js +17 -0
  468. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/cache/index.js +29 -0
  469. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/dynamic/index.js +40 -0
  470. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/headers/index.js +55 -0
  471. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/link/index.js +63 -0
  472. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/navigation/index.js +71 -0
  473. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/router/index.js +74 -0
  474. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/rsc/server-only.js +7 -0
  475. package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/safe-stable-stringify/index.js +13 -0
  476. package/dist/nextjs-vite-plugin/plugins/next-mocks/compatibility/draft-mode.compat.js +7 -0
  477. package/dist/node-logger/index.d.ts +495 -0
  478. package/dist/node-logger/index.js +42 -0
  479. package/dist/oxc-parser/index.d.ts +99 -0
  480. package/dist/oxc-parser/index.js +275 -0
  481. package/dist/oxc-parser/worker.js +37 -0
  482. package/dist/preview/_chunks/runtime-BIzIdDbb.js +10263 -0
  483. package/dist/preview/_chunks/runtime-BTPtVY1p.js +1102 -0
  484. package/dist/preview/_chunks/runtime-BZSnICCg.js +8484 -0
  485. package/dist/preview/_chunks/runtime-BdGkqNEt.js +45 -0
  486. package/dist/preview/_chunks/runtime-BwSxqk3t.js +63 -0
  487. package/dist/preview/_chunks/runtime-CqHxptiK.js +6143 -0
  488. package/dist/preview/_chunks/runtime-CsV4HZPV.js +5064 -0
  489. package/dist/preview/_chunks/runtime-CxZK_Ln3.js +284 -0
  490. package/dist/preview/_chunks/runtime-DZToXfvO.js +9767 -0
  491. package/dist/preview/_chunks/runtime-DrTjJkPY.js +3872 -0
  492. package/dist/preview/_chunks/runtime-DuHdxMFA.js +387 -0
  493. package/dist/preview/_chunks/runtime-iXdo8CR8.js +3635 -0
  494. package/dist/preview/_chunks/runtime-q3wt0e_N.js +6838 -0
  495. package/dist/preview/globals.d.ts +16 -0
  496. package/dist/preview/globals.js +20 -0
  497. package/dist/preview/runtime.js +6 -0
  498. package/dist/preview-api/index.d.ts +4 -0
  499. package/dist/preview-api/index.js +147 -0
  500. package/dist/preview-errors.d.ts +186 -0
  501. package/dist/preview-errors.js +56 -0
  502. package/dist/react/docgen/docgen-worker.js +38 -0
  503. package/dist/react/entry-preview-argtypes.js +9 -0
  504. package/dist/react/entry-preview-docs.js +12 -0
  505. package/dist/react/entry-preview-rsc.js +11 -0
  506. package/dist/react/entry-preview.js +21 -0
  507. package/dist/react/index.d.ts +119 -0
  508. package/dist/react/index.js +26 -0
  509. package/dist/react/preset.js +301 -0
  510. package/dist/react/preview.d.ts +2 -0
  511. package/dist/react/preview.js +11 -0
  512. package/dist/react-native/bin/get-stories.js +34 -0
  513. package/dist/react-native/index.d.ts +160 -0
  514. package/dist/react-native/index.js +1547 -0
  515. package/dist/react-native/metro/node.d.ts +83 -0
  516. package/dist/react-native/metro/node.js +21 -0
  517. package/dist/react-native/metro/withStorybook.d.ts +2269 -0
  518. package/dist/react-native/metro/withStorybook.js +138 -0
  519. package/dist/react-native/preview.d.ts +6 -0
  520. package/dist/react-native/preview.js +20 -0
  521. package/dist/react-native/scripts/generate.d.ts +22 -0
  522. package/dist/react-native/scripts/generate.js +18 -0
  523. package/dist/react-native/stub.js +20 -0
  524. package/dist/react-native-theming/index.d.ts +175 -0
  525. package/dist/react-native-theming/index.js +2591 -0
  526. package/dist/react-native-ui/index.d.ts +130 -0
  527. package/dist/react-native-ui/index.js +1865 -0
  528. package/dist/react-native-ui-common/index.d.ts +230 -0
  529. package/dist/react-native-ui-common/index.js +514 -0
  530. package/dist/react-vite/index.d.ts +4 -0
  531. package/dist/react-vite/index.js +8 -0
  532. package/dist/react-vite/node/index.d.ts +6 -0
  533. package/dist/react-vite/node/index.js +20 -0
  534. package/dist/react-vite/preset.d.ts +6 -0
  535. package/dist/react-vite/preset.js +21 -0
  536. package/dist/router/index.d.ts +141 -0
  537. package/dist/router/index.js +1217 -0
  538. package/dist/server-errors.d.ts +2 -0
  539. package/dist/server-errors.js +149 -0
  540. package/dist/shared/open-service/index.d.ts +3 -0
  541. package/dist/shared/open-service/index.js +115 -0
  542. package/dist/shared/open-service/services/docgen/worker/docgen-worker.js +75 -0
  543. package/dist/shared/open-service/toolsets/docs/public.d.ts +1296 -0
  544. package/dist/shared/open-service/toolsets/docs/public.js +991 -0
  545. package/dist/telemetry/index.d.ts +314 -0
  546. package/dist/telemetry/index.js +103 -0
  547. package/dist/test/index.d.ts +158 -0
  548. package/dist/test/index.js +19421 -0
  549. package/dist/theming/create.d.ts +15 -0
  550. package/dist/theming/create.js +11 -0
  551. package/dist/theming/index.d.ts +54 -0
  552. package/dist/theming/index.js +511 -0
  553. package/dist/types/index.d.ts +2 -0
  554. package/dist/types/index.js +48 -0
  555. package/dist/viewport/index.d.ts +275 -0
  556. package/dist/viewport/index.js +21 -0
  557. package/package.json +1075 -4
  558. package/template/nextjs-vite/cli/.eslintrc.json +6 -0
  559. package/template/nextjs-vite/cli/js/Button.jsx +42 -0
  560. package/template/nextjs-vite/cli/js/Button.stories.js +49 -0
  561. package/template/nextjs-vite/cli/js/Configure.mdx +470 -0
  562. package/template/nextjs-vite/cli/js/Header.jsx +58 -0
  563. package/template/nextjs-vite/cli/js/Header.stories.js +30 -0
  564. package/template/nextjs-vite/cli/js/Page.jsx +68 -0
  565. package/template/nextjs-vite/cli/js/Page.stories.js +28 -0
  566. package/template/nextjs-vite/cli/ts/Button.stories.ts +54 -0
  567. package/template/nextjs-vite/cli/ts/Button.tsx +39 -0
  568. package/template/nextjs-vite/cli/ts/Configure.mdx +446 -0
  569. package/template/nextjs-vite/cli/ts/Header.stories.ts +34 -0
  570. package/template/nextjs-vite/cli/ts/Header.tsx +54 -0
  571. package/template/nextjs-vite/cli/ts/Page.stories.ts +33 -0
  572. package/template/nextjs-vite/cli/ts/Page.tsx +73 -0
  573. package/template/react/cli/.eslintrc.json +5 -0
  574. package/template/react/cli/js/Button.jsx +39 -0
  575. package/template/react/cli/js/Button.stories.js +49 -0
  576. package/template/react/cli/js/Header.jsx +56 -0
  577. package/template/react/cli/js/Header.stories.js +29 -0
  578. package/template/react/cli/js/Page.jsx +69 -0
  579. package/template/react/cli/js/Page.stories.js +28 -0
  580. package/template/react/cli/ts/Button.stories.ts +54 -0
  581. package/template/react/cli/ts/Button.tsx +37 -0
  582. package/template/react/cli/ts/Header.stories.ts +34 -0
  583. package/template/react/cli/ts/Header.tsx +56 -0
  584. package/template/react/cli/ts/Page.stories.ts +33 -0
  585. package/template/react/cli/ts/Page.tsx +73 -0
  586. package/template/react-vite/cli/.eslintrc.json +5 -0
  587. package/template/react-vite/cli/js/Button.jsx +39 -0
  588. package/template/react-vite/cli/js/Button.stories.js +49 -0
  589. package/template/react-vite/cli/js/Header.jsx +56 -0
  590. package/template/react-vite/cli/js/Header.stories.js +29 -0
  591. package/template/react-vite/cli/js/Page.jsx +69 -0
  592. package/template/react-vite/cli/js/Page.stories.js +28 -0
  593. package/template/react-vite/cli/ts/Button.stories.ts +54 -0
  594. package/template/react-vite/cli/ts/Button.tsx +37 -0
  595. package/template/react-vite/cli/ts/Header.stories.ts +34 -0
  596. package/template/react-vite/cli/ts/Header.tsx +56 -0
  597. package/template/react-vite/cli/ts/Page.stories.ts +33 -0
  598. package/template/react-vite/cli/ts/Page.tsx +73 -0
@@ -0,0 +1,979 @@
1
+ import { n as __esmMin, o as __toESM } from "./runtime-EITvVbkG.js";
2
+ import { $t as CloseIcon, At as shortcutToHumanString, B as Loader, Bn as CHANNEL_CREATED, Gt as CheckIcon, L as Form, Lt as useStorybookApi, Qn as init_channels, Rt as useStorybookState, Sr as useState, Tt as init_manager_api, U as ScrollArea, Vn as CHANNEL_WS_DISCONNECT, Xn as init_core_events, Z as StorybookLogo, Zn as createBrowserChannel, Zt as CircleIcon, _ as Route, _t as Consumer, a as init_types, an as DocumentIcon, bt as eventToShortcut, dn as EyeIcon, er as Component, et as TabsView, fn as FailedIcon, fr as useCallback, gn as HeartIcon, gt as useTheme, hr as useEffect, i as REVIEW_STATUS_TYPE_ID, it as TooltipProvider, j as Button, jt as types, kt as shortcutMatchesShortcut, lr as init__storybook_global_react, m as Location, mn as GithubIcon, mt as init_theming, n as CHANGE_DETECTION_STATUS_TYPE_ID, nr as _storybook_global_react_default, nt as Tooltip, ot as init_components, r as NON_AGGREGATED_STATUS_TYPE_IDS, t as Addon_TypesEnum, tr as Fragment, un as EyeCloseIcon, ut as color, v as init_router, yr as useMemo, yt as addons, z as Link, zn as init_icons, zt as AlertIcon } from "./runtime-Bly6WJLN.js";
3
+ import { S as scope, x as init_dist } from "./runtime-eDVAYF7N.js";
4
+ import { A as useCopyButton, F as ToolbarManager, I as init_ToolbarManager, L as TOOLBAR_ID, R as init_constants, k as init_useCopyButton } from "./runtime-DcJBhKG9.js";
5
+ import { a as curriedTransparentize$1, o as init_polished_esm, s as require_memoizerific } from "./runtime-i-PDAHLR.js";
6
+ import { c as clsx, l as init_clsx } from "./runtime-D94Vq3oR.js";
7
+ import { c as UseSymbol, d as menuTool, f as UpgradeBlock, i as init_Sidebar, l as init_IconSymbols, n as renderStorybookUI, p as init_UpgradeBlock, t as init_manager, u as init_menu } from "./runtime-Bry1Biu7.js";
8
+ //#region src/manager/utils/tree.ts
9
+ function getPath(item, ref) {
10
+ const parent = item.type !== "root" && item.parent ? ref.index[item.parent] : null;
11
+ if (parent) return [...getPath(parent, ref), parent.name];
12
+ return ref.id === "storybook_internal" ? [] : [ref.title || ref.id];
13
+ }
14
+ function cycle(array, index, delta) {
15
+ let next = index + delta % array.length;
16
+ if (next < 0) next = array.length + next;
17
+ if (next >= array.length) next -= array.length;
18
+ return next;
19
+ }
20
+ var import_memoizerific$1, document$3, globalWindow, createId, getLink, get, getParent, getParents, getAncestorIds, getDescendantIds, searchItem, scrollIntoView, getStateType, isAncestor, removeNoiseFromName, isStoryHoistable;
21
+ function init_tree() {
22
+ return (init_tree = __esmMin((() => {
23
+ init_dist();
24
+ import_memoizerific$1 = /* @__PURE__ */ __toESM(require_memoizerific(), 1);
25
+ init_Sidebar();
26
+ ({document: document$3, window: globalWindow} = scope);
27
+ createId = (itemId, refId) => !refId || refId === "storybook_internal" ? itemId : `${refId}_${itemId}`;
28
+ getLink = (item, refId) => {
29
+ return `${document$3.location.pathname}?path=/${item.type}/${createId(item.id, refId)}`;
30
+ };
31
+ get = (0, import_memoizerific$1.default)(1e3)((id, dataset) => dataset[id]);
32
+ getParent = (0, import_memoizerific$1.default)(1e3)((id, dataset) => {
33
+ const item = get(id, dataset);
34
+ return item && item.type !== "root" ? get(item.parent, dataset) : void 0;
35
+ });
36
+ getParents = (0, import_memoizerific$1.default)(1e3)((id, dataset) => {
37
+ const parent = getParent(id, dataset);
38
+ return parent ? [parent, ...getParents(parent.id, dataset)] : [];
39
+ });
40
+ getAncestorIds = (0, import_memoizerific$1.default)(1e3)((data, id) => getParents(id, data).map((item) => item.id));
41
+ getDescendantIds = (0, import_memoizerific$1.default)(1e3)((data, id, skipLeafs) => {
42
+ const entry = data[id];
43
+ if (!entry || !("children" in entry) || !entry.children) return [];
44
+ return entry.children.reduce((acc, childId) => {
45
+ const child = data[childId];
46
+ if (!child || skipLeafs && (child.type === "story" || child.type === "docs")) return acc;
47
+ acc.push(childId, ...getDescendantIds(data, childId, skipLeafs));
48
+ return acc;
49
+ }, []);
50
+ });
51
+ searchItem = (item, ref) => {
52
+ return {
53
+ ...item,
54
+ refId: ref.id,
55
+ path: getPath(item, ref)
56
+ };
57
+ };
58
+ scrollIntoView = (element, center = false) => {
59
+ if (!element) return;
60
+ const { top, bottom } = element.getBoundingClientRect();
61
+ if (!top || !bottom) return;
62
+ if (bottom > (document$3?.querySelector("#sidebar-bottom-wrapper")?.getBoundingClientRect().top || globalWindow.innerHeight || document$3.documentElement.clientHeight)) element.scrollIntoView({ block: center ? "center" : "nearest" });
63
+ };
64
+ getStateType = (isLoading, isAuthRequired, isError, isEmpty) => {
65
+ switch (true) {
66
+ case isAuthRequired: return "auth";
67
+ case isError: return "error";
68
+ case isLoading: return "loading";
69
+ case isEmpty: return "empty";
70
+ default: return "ready";
71
+ }
72
+ };
73
+ isAncestor = (element, maybeAncestor) => {
74
+ if (!element || !maybeAncestor) return false;
75
+ if (element === maybeAncestor) return true;
76
+ return isAncestor(element.parentElement || void 0, maybeAncestor);
77
+ };
78
+ removeNoiseFromName = (storyName) => storyName.replaceAll(/(\s|-|_)/gi, "");
79
+ isStoryHoistable = (storyName, componentName) => removeNoiseFromName(storyName) === removeNoiseFromName(componentName);
80
+ })))();
81
+ }
82
+ //#endregion
83
+ //#region src/manager/utils/status.module.css
84
+ var id$5, status_module_default;
85
+ function init_status_module() {
86
+ return (init_status_module = __esmMin((() => {
87
+ id$5 = "core/src/manager/utils/status.module.css";
88
+ if (typeof document !== "undefined" && !document.querySelector(`style[data-sb-css="${id$5}"]`)) {
89
+ const style = document.createElement("style");
90
+ style.setAttribute("data-sb-css", id$5);
91
+ style.textContent = ".sb-HwMO1a-loadingIcon.sb-HwMO1a-loadingIcon.sb-HwMO1a-loadingIcon{width:6px;height:6px}.sb-HwMO1a-loadingIcon{animation:1.5s ease-in-out infinite sb-HwMO1a-glow}@keyframes sb-HwMO1a-glow{0%,to{opacity:1}50%{opacity:.4}}";
92
+ document.head.appendChild(style);
93
+ }
94
+ status_module_default = {
95
+ "loadingIcon": "sb-HwMO1a-loadingIcon",
96
+ "glow": "sb-HwMO1a-glow"
97
+ };
98
+ })))();
99
+ }
100
+ //#endregion
101
+ //#region src/manager/utils/status.tsx
102
+ /** Matches the status icon shown on a sidebar row before hover. */
103
+ function getSidebarVisibleStatus({ theme, item, statuses, groupDualStatus, isModifiedFilterActive }) {
104
+ const statusByType = statuses ?? {};
105
+ if (item.type === "group" || item.type === "component" || item.type === "story" && item.children && item.children.length > 0) {
106
+ const { changeStatus: localChange, testStatus: localTest } = getChangeDetectionStatus(statusByType);
107
+ const groupDual = groupDualStatus?.[item.id] ?? {
108
+ change: "status-value:unknown",
109
+ test: "status-value:unknown"
110
+ };
111
+ const branchChange = getMostCriticalStatusValue([localChange, groupDual.change]);
112
+ const branchTest = getMostCriticalStatusValue([localTest, groupDual.test]);
113
+ if (shouldShowChangeStatus(branchChange, isModifiedFilterActive)) return {
114
+ icon: getStatus(theme, branchChange).icon,
115
+ status: branchChange
116
+ };
117
+ return {
118
+ icon: getStatus(theme, branchTest).icon,
119
+ status: branchTest
120
+ };
121
+ }
122
+ if (item.type === "story" && !(item.children && item.children.length > 0) && item.subtype !== "test" || item.type === "docs") {
123
+ const { changeStatus, testStatus } = getChangeDetectionStatus(statusByType);
124
+ if (shouldShowChangeStatus(changeStatus, isModifiedFilterActive)) return {
125
+ icon: getStatus(theme, changeStatus).icon,
126
+ status: changeStatus
127
+ };
128
+ return {
129
+ icon: getStatus(theme, testStatus).icon,
130
+ status: testStatus
131
+ };
132
+ }
133
+ const leafStatuses = Object.values(statusByType).filter((status) => isAggregatedTestStatus(status) || status.value === "status-value:new");
134
+ const leafStatus = getMostCriticalStatusValue(leafStatuses.map((s) => s.value));
135
+ return {
136
+ icon: getStatus(theme, leafStatus).icon,
137
+ status: leafStatus
138
+ };
139
+ }
140
+ function getChangeDetectionStatus(statuses) {
141
+ const changeValues = Object.values(statuses).filter((status) => status.typeId === CHANGE_DETECTION_STATUS_TYPE_ID).map((status) => status.value);
142
+ const testValues = Object.values(statuses).filter(isAggregatedTestStatus).map((status) => status.value);
143
+ return {
144
+ changeStatus: getMostCriticalStatusValue(changeValues),
145
+ testStatus: getMostCriticalStatusValue(testValues)
146
+ };
147
+ }
148
+ function getGroupStatus(collapsedData, allStatuses) {
149
+ return Object.values(collapsedData).reduce((acc, item) => {
150
+ if (item.type === "group" || item.type === "component" || item.type === "story") {
151
+ const leafs = getDescendantIds(collapsedData, item.id, false).map((id) => collapsedData[id]).filter((i) => i.type === "story");
152
+ const combinedStatus = getMostCriticalStatusValue(statusesExcludingReview(leafs.flatMap((story) => Object.values(allStatuses[story.id] || {}))).map((s) => s.value));
153
+ if (combinedStatus) acc[item.id] = combinedStatus;
154
+ }
155
+ return acc;
156
+ }, {});
157
+ }
158
+ function getGroupDualStatus(collapsedData, allStatuses) {
159
+ return Object.values(collapsedData).reduce((acc, item) => {
160
+ if (item.type === "group" || item.type === "component" || item.type === "story") {
161
+ const allDescendantStatuses = getDescendantIds(collapsedData, item.id, false).map((id) => collapsedData[id]).filter((i) => i.type === "story").flatMap((story) => Object.values(allStatuses[story.id] || {}));
162
+ const changeValues = allDescendantStatuses.filter((s) => s.typeId === CHANGE_DETECTION_STATUS_TYPE_ID).map((s) => s.value);
163
+ const testValues = allDescendantStatuses.filter(isAggregatedTestStatus).map((s) => s.value);
164
+ acc[item.id] = {
165
+ change: getMostCriticalStatusValue(changeValues),
166
+ test: getMostCriticalStatusValue(testValues)
167
+ };
168
+ }
169
+ return acc;
170
+ }, {});
171
+ }
172
+ var import_memoizerific, statusPriority, getStatus, shouldShowChangeStatus, isAggregatedTestStatus, getMostCriticalStatusValue, statusesExcludingReview;
173
+ function init_status() {
174
+ return (init_status = __esmMin((() => {
175
+ init__storybook_global_react();
176
+ init_types();
177
+ init_icons();
178
+ import_memoizerific = /* @__PURE__ */ __toESM(require_memoizerific(), 1);
179
+ init_polished_esm();
180
+ init_IconSymbols();
181
+ init_tree();
182
+ init_status_module();
183
+ statusPriority = [
184
+ "status-value:unknown",
185
+ "status-value:pending",
186
+ "status-value:success",
187
+ "status-value:affected",
188
+ "status-value:reviewing",
189
+ "status-value:modified",
190
+ "status-value:new",
191
+ "status-value:warning",
192
+ "status-value:error"
193
+ ];
194
+ getStatus = (0, import_memoizerific.default)(10)((theme, status) => {
195
+ const defaultIconColor = theme.base === "light" ? curriedTransparentize$1(.3, theme.color.defaultText) : curriedTransparentize$1(.6, theme.color.defaultText);
196
+ return {
197
+ "status-value:unknown": {
198
+ icon: null,
199
+ iconColor: defaultIconColor,
200
+ textColor: null
201
+ },
202
+ "status-value:pending": {
203
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement(CircleIcon, {
204
+ key: "icon",
205
+ className: status_module_default.loadingIcon
206
+ }),
207
+ iconColor: defaultIconColor,
208
+ textColor: "currentColor"
209
+ },
210
+ "status-value:success": {
211
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
212
+ key: "icon",
213
+ viewBox: "0 0 14 14",
214
+ width: "14",
215
+ height: "14"
216
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "success" })),
217
+ iconColor: theme.color.positive,
218
+ textColor: "currentColor"
219
+ },
220
+ "status-value:new": {
221
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
222
+ key: "icon",
223
+ viewBox: "0 0 14 14",
224
+ width: "14",
225
+ height: "14"
226
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "new" })),
227
+ iconColor: theme.fgColor.accent,
228
+ textColor: null
229
+ },
230
+ "status-value:modified": {
231
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
232
+ key: "icon",
233
+ viewBox: "0 0 14 14",
234
+ width: "14",
235
+ height: "14"
236
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "modified" })),
237
+ iconColor: theme.fgColor.accent,
238
+ textColor: null
239
+ },
240
+ "status-value:affected": {
241
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
242
+ key: "icon",
243
+ viewBox: "0 0 14 14",
244
+ width: "14",
245
+ height: "14"
246
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "affected" })),
247
+ iconColor: theme.fgColor.accent,
248
+ textColor: null
249
+ },
250
+ "status-value:reviewing": {
251
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
252
+ key: "icon",
253
+ viewBox: "0 0 14 14",
254
+ width: "14",
255
+ height: "14"
256
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "reviewing" })),
257
+ iconColor: theme.fgColor.agentic,
258
+ textColor: null
259
+ },
260
+ "status-value:warning": {
261
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
262
+ key: "icon",
263
+ viewBox: "0 0 14 14",
264
+ width: "14",
265
+ height: "14"
266
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "warning" })),
267
+ iconColor: theme.color.warning,
268
+ textColor: theme.fgColor.warning
269
+ },
270
+ "status-value:error": {
271
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement("svg", {
272
+ key: "icon",
273
+ viewBox: "0 0 14 14",
274
+ width: "14",
275
+ height: "14"
276
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(UseSymbol, { type: "error" })),
277
+ iconColor: theme.color.negative,
278
+ textColor: theme.fgColor.negative
279
+ }
280
+ }[status];
281
+ });
282
+ shouldShowChangeStatus = (changeStatus, isModifiedFilterActive) => changeStatus !== "status-value:unknown" && changeStatus !== "status-value:affected" && (changeStatus !== "status-value:modified" || isModifiedFilterActive);
283
+ isAggregatedTestStatus = (status) => !NON_AGGREGATED_STATUS_TYPE_IDS.includes(status.typeId);
284
+ getMostCriticalStatusValue = (statusValues) => {
285
+ return statusPriority.reduce((acc, value) => statusValues.includes(value) ? value : acc, "status-value:unknown");
286
+ };
287
+ statusesExcludingReview = (statuses) => statuses.filter((status) => status.typeId !== REVIEW_STATUS_TYPE_ID);
288
+ })))();
289
+ }
290
+ //#endregion
291
+ //#region src/manager/keybinding.ts
292
+ var codeToKeyMap, allFalse, matchesModifiers, matchesKeyCode;
293
+ function init_keybinding() {
294
+ return (init_keybinding = __esmMin((() => {
295
+ codeToKeyMap = {
296
+ Space: " ",
297
+ Slash: "/",
298
+ ArrowLeft: "ArrowLeft",
299
+ ArrowUp: "ArrowUp",
300
+ ArrowRight: "ArrowRight",
301
+ ArrowDown: "ArrowDown",
302
+ Escape: "Escape",
303
+ Enter: "Enter"
304
+ };
305
+ allFalse = {
306
+ alt: false,
307
+ ctrl: false,
308
+ meta: false,
309
+ shift: false
310
+ };
311
+ matchesModifiers = (modifiers, event) => {
312
+ const { alt, ctrl, meta, shift } = modifiers === false ? allFalse : modifiers;
313
+ if (typeof alt === "boolean" && alt !== event.altKey) return false;
314
+ if (typeof ctrl === "boolean" && ctrl !== event.ctrlKey) return false;
315
+ if (typeof meta === "boolean" && meta !== event.metaKey) return false;
316
+ if (typeof shift === "boolean" && shift !== event.shiftKey) return false;
317
+ return true;
318
+ };
319
+ matchesKeyCode = (code, event) => {
320
+ return event.code ? event.code === code : event.key === codeToKeyMap[code];
321
+ };
322
+ })))();
323
+ }
324
+ //#endregion
325
+ //#region src/manager/provider.ts
326
+ var Provider;
327
+ function init_provider() {
328
+ return (init_provider = __esmMin((() => {
329
+ Provider = class {
330
+ getElements(_type) {
331
+ throw new Error("Provider.getElements() is not implemented!");
332
+ }
333
+ handleAPI(_api) {
334
+ throw new Error("Provider.handleAPI() is not implemented!");
335
+ }
336
+ getConfig() {
337
+ console.error("Provider.getConfig() is not implemented!");
338
+ return {};
339
+ }
340
+ };
341
+ })))();
342
+ }
343
+ //#endregion
344
+ //#region src/manager/settings/About.module.css
345
+ var id$4, About_module_default;
346
+ function init_About_module() {
347
+ return (init_About_module = __esmMin((() => {
348
+ id$4 = "core/src/manager/settings/About.module.css";
349
+ if (typeof document !== "undefined" && !document.querySelector(`style[data-sb-css="${id$4}"]`)) {
350
+ const style = document.createElement("style");
351
+ style.setAttribute("data-sb-css", id$4);
352
+ style.textContent = ".sb-v5QLGG-container{flex-direction:column;align-items:center;margin-top:40px;display:flex}.sb-v5QLGG-header{align-items:center;margin-bottom:32px;display:flex;&>svg{width:auto;height:48px;margin-right:8px}}.sb-v5QLGG-footer{color:var(--sb-color-dark);font-weight:var(--sb-weight-regular);font-size:var(--sb-size-s2);flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.sb-v5QLGG-actions{flex-direction:row;align-items:center;gap:16px;margin-top:24px;margin-bottom:24px;display:flex}.sb-v5QLGG-link.sb-v5QLGG-link{font-weight:var(--sb-weight-bold);color:var(--sb-color-dark)}.sb-v5QLGG-link:hover{color:var(--sb-color-darkest)}:where([data-sb-theme=dark]){& .sb-v5QLGG-footer{color:var(--sb-color-lightest)}& .sb-v5QLGG-link.sb-v5QLGG-link{color:var(--sb-color-light)}& .sb-v5QLGG-link:hover{color:var(--sb-color-lightest)}}";
353
+ document.head.appendChild(style);
354
+ }
355
+ About_module_default = {
356
+ "container": "sb-v5QLGG-container",
357
+ "footer": "sb-v5QLGG-footer",
358
+ "link": "sb-v5QLGG-link",
359
+ "header": "sb-v5QLGG-header",
360
+ "actions": "sb-v5QLGG-actions"
361
+ };
362
+ })))();
363
+ }
364
+ //#endregion
365
+ //#region src/manager/settings/About.tsx
366
+ var AboutScreen;
367
+ function init_About() {
368
+ return (init_About = __esmMin((() => {
369
+ init__storybook_global_react();
370
+ init_components();
371
+ init_icons();
372
+ init_UpgradeBlock();
373
+ init_About_module();
374
+ AboutScreen = ({ onNavigateToWhatsNew }) => {
375
+ return /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: About_module_default.container }, /* @__PURE__ */ _storybook_global_react_default.createElement("header", { className: About_module_default.header }, /* @__PURE__ */ _storybook_global_react_default.createElement(StorybookLogo, { alt: "Forkbook" })), /* @__PURE__ */ _storybook_global_react_default.createElement(UpgradeBlock, { onNavigateToWhatsNew }), /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: About_module_default.footer }, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: About_module_default.actions }, /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
376
+ ariaLabel: false,
377
+ asChild: true
378
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement("a", { href: "https://github.com/storybookjs/storybook" }, /* @__PURE__ */ _storybook_global_react_default.createElement(GithubIcon, null), "GitHub")), /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
379
+ ariaLabel: false,
380
+ asChild: true
381
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement("a", { href: "https://storybook.js.org/docs?ref=ui" }, /* @__PURE__ */ _storybook_global_react_default.createElement(DocumentIcon, { style: {
382
+ display: "inline",
383
+ marginRight: 5
384
+ } }), "Documentation"))), /* @__PURE__ */ _storybook_global_react_default.createElement("div", null, "Open source software maintained by", " ", /* @__PURE__ */ _storybook_global_react_default.createElement(Link, {
385
+ className: About_module_default.link,
386
+ href: "https://www.chromatic.com/"
387
+ }, "Chromatic"), " ", "and the", " ", /* @__PURE__ */ _storybook_global_react_default.createElement(Link, {
388
+ className: About_module_default.link,
389
+ href: "https://github.com/storybookjs/storybook/graphs/contributors"
390
+ }, "Forkbook Community"))));
391
+ };
392
+ })))();
393
+ }
394
+ //#endregion
395
+ //#region src/manager/settings/AboutPage.tsx
396
+ var NotificationClearer, AboutPage;
397
+ function init_AboutPage() {
398
+ return (init_AboutPage = __esmMin((() => {
399
+ init__storybook_global_react();
400
+ init_manager_api();
401
+ init_About();
402
+ NotificationClearer = class extends Component {
403
+ componentDidMount() {
404
+ const { api, notificationId } = this.props;
405
+ api.clearNotification(notificationId);
406
+ }
407
+ render() {
408
+ const { children } = this.props;
409
+ return children;
410
+ }
411
+ };
412
+ AboutPage = () => {
413
+ const api = useStorybookApi();
414
+ const state = useStorybookState();
415
+ const onNavigateToWhatsNew = useCallback(() => {
416
+ api.changeSettingsTab("whats-new");
417
+ }, [api]);
418
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(NotificationClearer, {
419
+ api,
420
+ notificationId: "update"
421
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(AboutScreen, { onNavigateToWhatsNew: state.whatsNewData?.status === "SUCCESS" ? onNavigateToWhatsNew : void 0 }));
422
+ };
423
+ })))();
424
+ }
425
+ //#endregion
426
+ //#region src/manager/settings/SettingsFooter.module.css
427
+ var id$3, SettingsFooter_module_default;
428
+ function init_SettingsFooter_module() {
429
+ return (init_SettingsFooter_module = __esmMin((() => {
430
+ id$3 = "core/src/manager/settings/SettingsFooter.module.css";
431
+ if (typeof document !== "undefined" && !document.querySelector(`style[data-sb-css="${id$3}"]`)) {
432
+ const style = document.createElement("style");
433
+ style.setAttribute("data-sb-css", id$3);
434
+ style.textContent = ".sb-17hQlG-footer{border-top:1px solid var(--sb-app-border-color);font-weight:var(--sb-weight-bold);margin-top:20px;padding-top:20px;display:flex;&>*+*{margin-left:20px}}";
435
+ document.head.appendChild(style);
436
+ }
437
+ SettingsFooter_module_default = { "footer": "sb-17hQlG-footer" };
438
+ })))();
439
+ }
440
+ //#endregion
441
+ //#region src/manager/settings/SettingsFooter.tsx
442
+ var SettingsFooter;
443
+ function init_SettingsFooter() {
444
+ return (init_SettingsFooter = __esmMin((() => {
445
+ init__storybook_global_react();
446
+ init_components();
447
+ init_clsx();
448
+ init_SettingsFooter_module();
449
+ SettingsFooter = ({ className, ...props }) => /* @__PURE__ */ _storybook_global_react_default.createElement("div", {
450
+ className: clsx(SettingsFooter_module_default.footer, className),
451
+ ...props
452
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(Link, {
453
+ secondary: true,
454
+ href: "https://storybook.js.org?ref=ui",
455
+ cancel: false,
456
+ target: "_blank"
457
+ }, "Docs"), /* @__PURE__ */ _storybook_global_react_default.createElement(Link, {
458
+ secondary: true,
459
+ href: "https://github.com/storybookjs/storybook",
460
+ cancel: false,
461
+ target: "_blank"
462
+ }, "GitHub"), /* @__PURE__ */ _storybook_global_react_default.createElement(Link, {
463
+ secondary: true,
464
+ href: "https://storybook.js.org/community?ref=ui#support",
465
+ cancel: false,
466
+ target: "_blank"
467
+ }, "Support"));
468
+ })))();
469
+ }
470
+ //#endregion
471
+ //#region src/manager/settings/shortcuts.module.css
472
+ var id$2, shortcuts_module_default;
473
+ function init_shortcuts_module() {
474
+ return (init_shortcuts_module = __esmMin((() => {
475
+ id$2 = "core/src/manager/settings/shortcuts.module.css";
476
+ if (typeof document !== "undefined" && !document.querySelector(`style[data-sb-css="${id$2}"]`)) {
477
+ const style = document.createElement("style");
478
+ style.setAttribute("data-sb-css", id$2);
479
+ style.textContent = ".sb-5Bi54W-header{font-size:var(--sb-size-m3);font-weight:var(--sb-weight-bold);align-items:center;margin-bottom:20px;display:flex}.sb-5Bi54W-headerItem{font-weight:var(--sb-weight-bold)}.sb-5Bi54W-gridHeaderRow{grid-template-columns:1fr 1fr 12px;align-self:flex-end;margin:10px 0;display:grid;&>:last-of-type{grid-area:1/2/auto/2;justify-self:flex-end}}.sb-5Bi54W-row{border-top:1px solid var(--sb-app-border-color);grid-template-columns:1fr 1fr 0;padding:6px 0;display:grid}.sb-5Bi54W-gridWrapper{grid-template-columns:1fr;grid-auto-rows:minmax(auto,auto);margin-bottom:20px;display:grid}.sb-5Bi54W-description{align-self:center}.sb-5Bi54W-textInput{text-align:center;flex-direction:column;justify-self:flex-end;width:80px;padding-left:4px;padding-right:4px;display:flex;&[data-valid=error]{animation:.7s ease-out sb-5Bi54W-jiggle}}.sb-5Bi54W-successIcon{opacity:0;align-self:center;width:14px;height:14px;margin-left:10px;display:flex;&[data-valid=valid]{opacity:1;color:var(--sb-color-positive);animation:2s forwards sb-5Bi54W-fade}}.sb-5Bi54W-container{font-size:var(--sb-size-s2);max-width:600px;margin:0 auto;padding:3rem 20px}@keyframes sb-5Bi54W-fade{0%,to{opacity:0}50%{opacity:1}}@keyframes sb-5Bi54W-jiggle{0%,to{transform:translate(0,0)}12.5%,62.5%{transform:translate(-4px)}37.5%,87.5%{transform:translate(4px)}}";
480
+ document.head.appendChild(style);
481
+ }
482
+ shortcuts_module_default = {
483
+ "row": "sb-5Bi54W-row",
484
+ "fade": "sb-5Bi54W-fade",
485
+ "container": "sb-5Bi54W-container",
486
+ "jiggle": "sb-5Bi54W-jiggle",
487
+ "description": "sb-5Bi54W-description",
488
+ "gridHeaderRow": "sb-5Bi54W-gridHeaderRow",
489
+ "textInput": "sb-5Bi54W-textInput",
490
+ "header": "sb-5Bi54W-header",
491
+ "headerItem": "sb-5Bi54W-headerItem",
492
+ "successIcon": "sb-5Bi54W-successIcon",
493
+ "gridWrapper": "sb-5Bi54W-gridWrapper"
494
+ };
495
+ })))();
496
+ }
497
+ //#endregion
498
+ //#region src/manager/settings/shortcuts.tsx
499
+ function toShortcutState(shortcutKeys) {
500
+ const state = {};
501
+ for (const key of Object.keys(shortcutKeys)) state[key] = {
502
+ shortcut: shortcutKeys[key],
503
+ error: false,
504
+ hardcoded: hardcodedShortcuts.includes(key)
505
+ };
506
+ return state;
507
+ }
508
+ var TextInput, shortcutLabels, hardcodedShortcuts, ShortcutsScreen;
509
+ function init_shortcuts() {
510
+ return (init_shortcuts = __esmMin((() => {
511
+ init__storybook_global_react();
512
+ init_components();
513
+ init_icons();
514
+ init_manager_api();
515
+ init_clsx();
516
+ init_SettingsFooter();
517
+ init_shortcuts_module();
518
+ TextInput = ({ valid, className, ...props }) => /* @__PURE__ */ _storybook_global_react_default.createElement(Form.Input, {
519
+ className: clsx(shortcuts_module_default.textInput, className),
520
+ "data-valid": valid,
521
+ ...props
522
+ });
523
+ shortcutLabels = {
524
+ fullScreen: "Go full screen",
525
+ togglePanel: "Toggle addons",
526
+ panelPosition: "Toggle addons orientation",
527
+ toggleNav: "Toggle sidebar",
528
+ toolbar: "Toggle toolbar",
529
+ search: "Focus search",
530
+ focusNav: "Focus sidebar",
531
+ focusIframe: "Focus canvas",
532
+ focusPanel: "Focus addons",
533
+ prevComponent: "Previous component",
534
+ nextComponent: "Next component",
535
+ prevStory: "Previous story",
536
+ nextStory: "Next story",
537
+ shortcutsPage: "Go to shortcuts page",
538
+ aboutPage: "Go to about page",
539
+ collapseAll: "Collapse all items on sidebar",
540
+ expandAll: "Expand all items on sidebar",
541
+ remount: "Reload story",
542
+ openInEditor: "Open story in editor",
543
+ openInIsolation: "Open story in isolation",
544
+ copyStoryLink: "Copy story link to clipboard",
545
+ goToPreviousLandmark: "Go to previous landmark",
546
+ goToNextLandmark: "Go to next landmark"
547
+ };
548
+ hardcodedShortcuts = ["goToPreviousLandmark", "goToNextLandmark"];
549
+ ShortcutsScreen = class extends Component {
550
+ constructor(props) {
551
+ super(props);
552
+ this.onKeyDown = (e) => {
553
+ const { activeFeature, shortcutKeys } = this.state;
554
+ if (e.key === "Backspace") return this.restoreDefault();
555
+ const shortcut = eventToShortcut(e);
556
+ if (!shortcut) return false;
557
+ const normalizedShortcut = shortcut.map((key) => Array.isArray(key) ? key.at(-1) : key);
558
+ const error = normalizedShortcut.length === 1 && normalizedShortcut[0] === "escape" || !!Object.entries(shortcutKeys).find(([feature, { shortcut: existingShortcut }]) => feature !== activeFeature && existingShortcut && shortcutMatchesShortcut(normalizedShortcut, existingShortcut));
559
+ return this.setState({ shortcutKeys: {
560
+ ...shortcutKeys,
561
+ [activeFeature]: {
562
+ shortcut: normalizedShortcut,
563
+ error
564
+ }
565
+ } });
566
+ };
567
+ this.onFocus = (focusedInput) => () => {
568
+ const { shortcutKeys } = this.state;
569
+ this.setState({
570
+ activeFeature: focusedInput,
571
+ shortcutKeys: {
572
+ ...shortcutKeys,
573
+ [focusedInput]: {
574
+ shortcut: null,
575
+ error: false
576
+ }
577
+ }
578
+ });
579
+ };
580
+ this.onBlur = async () => {
581
+ const { shortcutKeys, activeFeature } = this.state;
582
+ if (shortcutKeys[activeFeature]) {
583
+ const { shortcut, error } = shortcutKeys[activeFeature];
584
+ if (!shortcut || error) return this.restoreDefault();
585
+ return this.saveShortcut();
586
+ }
587
+ return false;
588
+ };
589
+ this.saveShortcut = async () => {
590
+ const { activeFeature, shortcutKeys } = this.state;
591
+ const { setShortcut } = this.props;
592
+ await setShortcut(activeFeature, shortcutKeys[activeFeature].shortcut);
593
+ this.setState({ successField: activeFeature });
594
+ };
595
+ this.restoreDefaults = async () => {
596
+ const { restoreAllDefaultShortcuts } = this.props;
597
+ const defaultShortcuts = await restoreAllDefaultShortcuts();
598
+ return this.setState({ shortcutKeys: toShortcutState(defaultShortcuts) });
599
+ };
600
+ this.restoreDefault = async () => {
601
+ const { activeFeature, shortcutKeys } = this.state;
602
+ const { restoreDefaultShortcut } = this.props;
603
+ const defaultShortcut = await restoreDefaultShortcut(activeFeature);
604
+ return this.setState({ shortcutKeys: {
605
+ ...shortcutKeys,
606
+ ...toShortcutState({ [activeFeature]: defaultShortcut })
607
+ } });
608
+ };
609
+ this.displaySuccessMessage = (activeElement) => {
610
+ const { successField, shortcutKeys } = this.state;
611
+ return activeElement === successField && shortcutKeys[activeElement].error === false ? "valid" : void 0;
612
+ };
613
+ this.displayError = (activeElement) => {
614
+ const { activeFeature, shortcutKeys } = this.state;
615
+ return activeElement === activeFeature && shortcutKeys[activeElement].error === true ? "error" : void 0;
616
+ };
617
+ this.renderKeyInput = () => {
618
+ const { shortcutKeys, addonsShortcutLabels } = this.state;
619
+ return Object.entries(shortcutKeys).filter(([feature]) => shortcutLabels[feature] !== void 0 || addonsShortcutLabels && addonsShortcutLabels[feature]).map(([feature, { shortcut, hardcoded }]) => /* @__PURE__ */ _storybook_global_react_default.createElement("div", {
620
+ className: shortcuts_module_default.row,
621
+ key: feature
622
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: shortcuts_module_default.description }, shortcutLabels[feature] || addonsShortcutLabels[feature]), hardcoded ? /* @__PURE__ */ _storybook_global_react_default.createElement(_storybook_global_react_default.Fragment, null, /* @__PURE__ */ _storybook_global_react_default.createElement(TooltipProvider, {
623
+ tooltip: /* @__PURE__ */ _storybook_global_react_default.createElement(Tooltip, { hasChrome: true }, "This shortcut cannot be changed."),
624
+ placement: "right"
625
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(TextInput, {
626
+ "aria-disabled": true,
627
+ readOnly: true,
628
+ valid: void 0,
629
+ value: shortcut ? shortcutToHumanString(shortcut) : ""
630
+ }))) : /* @__PURE__ */ _storybook_global_react_default.createElement(TextInput, {
631
+ spellCheck: "false",
632
+ valid: this.displayError(feature),
633
+ className: "modalInput",
634
+ onBlur: this.onBlur,
635
+ onFocus: this.onFocus(feature),
636
+ onKeyDown: this.onKeyDown,
637
+ value: shortcut ? shortcutToHumanString(shortcut) : "",
638
+ placeholder: "Type keys",
639
+ readOnly: true
640
+ }), /* @__PURE__ */ _storybook_global_react_default.createElement(CheckIcon, {
641
+ className: shortcuts_module_default.successIcon,
642
+ "data-valid": this.displaySuccessMessage(feature)
643
+ })));
644
+ };
645
+ this.renderKeyForm = () => /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: shortcuts_module_default.gridWrapper }, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: shortcuts_module_default.gridHeaderRow }, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: shortcuts_module_default.headerItem }, "Commands"), /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: shortcuts_module_default.headerItem }, "Shortcut")), this.renderKeyInput());
646
+ this.state = {
647
+ activeFeature: void 0,
648
+ successField: void 0,
649
+ shortcutKeys: toShortcutState(props.shortcutKeys),
650
+ addonsShortcutLabels: props.addonsShortcutLabels
651
+ };
652
+ }
653
+ render() {
654
+ const layout = this.renderKeyForm();
655
+ return /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: shortcuts_module_default.container }, /* @__PURE__ */ _storybook_global_react_default.createElement("header", { className: shortcuts_module_default.header }, "Keyboard shortcuts"), layout, /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
656
+ ariaLabel: false,
657
+ variant: "outline",
658
+ size: "small",
659
+ id: "restoreDefaultsHotkeys",
660
+ onClick: this.restoreDefaults
661
+ }, "Restore defaults"), /* @__PURE__ */ _storybook_global_react_default.createElement(SettingsFooter, null));
662
+ }
663
+ };
664
+ })))();
665
+ }
666
+ //#endregion
667
+ //#region src/manager/settings/ShortcutsPage.tsx
668
+ var ShortcutsPage;
669
+ function init_ShortcutsPage() {
670
+ return (init_ShortcutsPage = __esmMin((() => {
671
+ init__storybook_global_react();
672
+ init_manager_api();
673
+ init_shortcuts();
674
+ ShortcutsPage = () => /* @__PURE__ */ _storybook_global_react_default.createElement(Consumer, null, ({ api: { getShortcutKeys, getAddonsShortcutLabels, setShortcut, restoreDefaultShortcut, restoreAllDefaultShortcuts } }) => /* @__PURE__ */ _storybook_global_react_default.createElement(ShortcutsScreen, {
675
+ shortcutKeys: getShortcutKeys(),
676
+ addonsShortcutLabels: getAddonsShortcutLabels(),
677
+ setShortcut,
678
+ restoreDefaultShortcut,
679
+ restoreAllDefaultShortcuts
680
+ }));
681
+ })))();
682
+ }
683
+ //#endregion
684
+ //#region src/manager/settings/whats_new.module.css
685
+ var id$1, whats_new_module_default;
686
+ function init_whats_new_module() {
687
+ return (init_whats_new_module = __esmMin((() => {
688
+ id$1 = "core/src/manager/settings/whats_new.module.css";
689
+ if (typeof document !== "undefined" && !document.querySelector(`style[data-sb-css="${id$1}"]`)) {
690
+ const style = document.createElement("style");
691
+ style.setAttribute("data-sb-css", id$1);
692
+ style.textContent = ".sb-wRVF8a-centered{text-align:center;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.sb-wRVF8a-loaderWrapper{height:32px;position:relative}.sb-wRVF8a-message{color:var(--sb-text-muted-color);max-width:295px;font-size:var(--sb-size-s1);margin:0 auto;padding-top:12px;line-height:16px}.sb-wRVF8a-footer{background:var(--sb-background-bar);width:100%;height:40px;font-size:var(--sb-size-s2);border-top:1px solid var(--sb-color-border);justify-content:space-between;align-items:center;padding:0 10px 0 15px;display:flex;position:absolute;bottom:0}.sb-wRVF8a-iframe{visibility:hidden;background:#fff;border:0;width:100%;height:calc(100% - 40px);margin:0;padding:0;position:absolute;inset:0;&[data-loaded]{visibility:visible}}.sb-wRVF8a-alertIcon{color:var(--sb-text-muted-color);width:32px;height:32px;margin:0 auto}";
693
+ document.head.appendChild(style);
694
+ }
695
+ whats_new_module_default = {
696
+ "message": "sb-wRVF8a-message",
697
+ "centered": "sb-wRVF8a-centered",
698
+ "loaderWrapper": "sb-wRVF8a-loaderWrapper",
699
+ "alertIcon": "sb-wRVF8a-alertIcon",
700
+ "footer": "sb-wRVF8a-footer",
701
+ "iframe": "sb-wRVF8a-iframe"
702
+ };
703
+ })))();
704
+ }
705
+ //#endregion
706
+ //#region src/manager/settings/whats_new.tsx
707
+ var WhatsNewFooter, WhatsNewLoader, MaxWaitTimeMessaging, PureWhatsNewScreen, MAX_WAIT_TIME, WhatsNewScreen;
708
+ function init_whats_new() {
709
+ return (init_whats_new = __esmMin((() => {
710
+ init__storybook_global_react();
711
+ init_components();
712
+ init_dist();
713
+ init_icons();
714
+ init_manager_api();
715
+ init_theming();
716
+ init_useCopyButton();
717
+ init_whats_new_module();
718
+ WhatsNewFooter = ({ isNotificationsEnabled, onToggleNotifications, copyContent }) => {
719
+ const theme = useTheme();
720
+ const { children: copyText, buttonProps: copyButtonProps } = useCopyButton({
721
+ children: "Copy Link",
722
+ content: copyContent
723
+ });
724
+ return /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: whats_new_module_default.footer }, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { style: {
725
+ display: "flex",
726
+ alignItems: "center",
727
+ gap: 10
728
+ } }, /* @__PURE__ */ _storybook_global_react_default.createElement(HeartIcon, { color: theme.color.mediumdark }), /* @__PURE__ */ _storybook_global_react_default.createElement("div", null, "Share this with your team."), /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
729
+ size: "small",
730
+ variant: "ghost",
731
+ ...copyButtonProps
732
+ }, copyText)), isNotificationsEnabled ? /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
733
+ ariaLabel: false,
734
+ size: "small",
735
+ variant: "ghost",
736
+ onClick: onToggleNotifications
737
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(EyeCloseIcon, null), "Hide notifications") : /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
738
+ ariaLabel: false,
739
+ size: "small",
740
+ variant: "ghost",
741
+ onClick: onToggleNotifications
742
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(EyeIcon, null), "Show notifications"));
743
+ };
744
+ WhatsNewLoader = () => /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: whats_new_module_default.centered }, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: whats_new_module_default.loaderWrapper }, /* @__PURE__ */ _storybook_global_react_default.createElement(Loader, null)), /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: whats_new_module_default.message }, "Loading..."));
745
+ MaxWaitTimeMessaging = () => /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: whats_new_module_default.centered }, /* @__PURE__ */ _storybook_global_react_default.createElement(AlertIcon, { className: whats_new_module_default.alertIcon }), /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: whats_new_module_default.message }, "The page couldn't be loaded. Check your internet connection and try again."));
746
+ PureWhatsNewScreen = ({ didHitMaxWaitTime, isLoaded, onLoad, url, copyContent, onToggleNotifications, isNotificationsEnabled }) => /* @__PURE__ */ _storybook_global_react_default.createElement(Fragment, null, !isLoaded && !didHitMaxWaitTime && /* @__PURE__ */ _storybook_global_react_default.createElement(WhatsNewLoader, null), didHitMaxWaitTime ? /* @__PURE__ */ _storybook_global_react_default.createElement(MaxWaitTimeMessaging, null) : /* @__PURE__ */ _storybook_global_react_default.createElement(_storybook_global_react_default.Fragment, null, /* @__PURE__ */ _storybook_global_react_default.createElement("iframe", {
747
+ className: whats_new_module_default.iframe,
748
+ "data-loaded": isLoaded || void 0,
749
+ onLoad,
750
+ src: url,
751
+ title: `What's new?`
752
+ }), /* @__PURE__ */ _storybook_global_react_default.createElement(WhatsNewFooter, {
753
+ isNotificationsEnabled,
754
+ onToggleNotifications,
755
+ copyContent
756
+ })));
757
+ MAX_WAIT_TIME = 1e4;
758
+ WhatsNewScreen = () => {
759
+ const api = useStorybookApi();
760
+ const { whatsNewData } = useStorybookState();
761
+ const [isLoaded, setLoaded] = useState(false);
762
+ const [didHitMaxWaitTime, setDidHitMaxWaitTime] = useState(false);
763
+ useEffect(() => {
764
+ const timer = setTimeout(() => !isLoaded && setDidHitMaxWaitTime(true), MAX_WAIT_TIME);
765
+ return () => clearTimeout(timer);
766
+ }, [isLoaded]);
767
+ if (whatsNewData?.status !== "SUCCESS") return null;
768
+ const isNotificationsEnabled = !whatsNewData.disableWhatsNewNotifications;
769
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(PureWhatsNewScreen, {
770
+ didHitMaxWaitTime,
771
+ isLoaded,
772
+ onLoad: () => {
773
+ api.whatsNewHasBeenRead();
774
+ setLoaded(true);
775
+ },
776
+ url: whatsNewData.url,
777
+ isNotificationsEnabled,
778
+ copyContent: whatsNewData.blogUrl ?? whatsNewData.url,
779
+ onToggleNotifications: () => {
780
+ if (isNotificationsEnabled) {
781
+ if (scope.confirm("All update notifications will no longer be shown. Are you sure?")) api.toggleWhatsNewNotifications();
782
+ } else api.toggleWhatsNewNotifications();
783
+ }
784
+ });
785
+ };
786
+ })))();
787
+ }
788
+ //#endregion
789
+ //#region src/manager/settings/whats_new_page.tsx
790
+ var WhatsNewPage;
791
+ function init_whats_new_page() {
792
+ return (init_whats_new_page = __esmMin((() => {
793
+ init__storybook_global_react();
794
+ init_whats_new();
795
+ WhatsNewPage = () => {
796
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(WhatsNewScreen, null);
797
+ };
798
+ })))();
799
+ }
800
+ //#endregion
801
+ //#region src/manager/settings/index.module.css
802
+ var id, index_module_default;
803
+ function init_index_module() {
804
+ return (init_index_module = __esmMin((() => {
805
+ id = "core/src/manager/settings/index.module.css";
806
+ if (typeof document !== "undefined" && !document.querySelector(`style[data-sb-css="${id}"]`)) {
807
+ const style = document.createElement("style");
808
+ style.setAttribute("data-sb-css", id);
809
+ style.textContent = ".sb-eGKmTG-content{background:var(--sb-background-content)}.sb-eGKmTG-sidebarToggle.sb-eGKmTG-sidebarToggle:has(*){order:0;align-items:center;gap:6px;margin-left:10px;margin-right:6px;display:flex}";
810
+ document.head.appendChild(style);
811
+ }
812
+ index_module_default = {
813
+ "content": "sb-eGKmTG-content",
814
+ "sidebarToggle": "sb-eGKmTG-sidebarToggle"
815
+ };
816
+ })))();
817
+ }
818
+ //#endregion
819
+ //#region src/manager/settings/index.tsx
820
+ var document$2, RouteWrapper, Pages, SettingsPages, settingsPageAddon;
821
+ function init_settings() {
822
+ return (init_settings = __esmMin((() => {
823
+ init__storybook_global_react();
824
+ init_components();
825
+ init_router();
826
+ init_types();
827
+ init_dist();
828
+ init_icons();
829
+ init_manager_api();
830
+ init_menu();
831
+ init_keybinding();
832
+ init_AboutPage();
833
+ init_ShortcutsPage();
834
+ init_whats_new_page();
835
+ init_index_module();
836
+ ({document: document$2} = scope);
837
+ RouteWrapper = ({ children, path }) => {
838
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(ScrollArea, {
839
+ className: index_module_default.content,
840
+ vertical: true,
841
+ horizontal: false
842
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(Route, { path }, children));
843
+ };
844
+ Pages = ({ changeTab, onClose, enableShortcuts = true, enableWhatsNew }) => {
845
+ _storybook_global_react_default.useEffect(() => {
846
+ const handleEscape = (event) => {
847
+ if (!enableShortcuts || event.repeat) return;
848
+ if (matchesModifiers(false, event) && matchesKeyCode("Escape", event)) {
849
+ event.preventDefault();
850
+ onClose();
851
+ }
852
+ };
853
+ document$2.addEventListener("keydown", handleEscape);
854
+ return () => document$2.removeEventListener("keydown", handleEscape);
855
+ }, [enableShortcuts, onClose]);
856
+ const api = useStorybookApi();
857
+ const toolsExtra = Object.values(api.getElements(Addon_TypesEnum.TOOLEXTRA));
858
+ const tabs = useMemo(() => {
859
+ const tabsToInclude = [{
860
+ id: "about",
861
+ title: "About",
862
+ children: /* @__PURE__ */ _storybook_global_react_default.createElement(RouteWrapper, { path: "about" }, /* @__PURE__ */ _storybook_global_react_default.createElement(AboutPage, { key: "about" }))
863
+ }];
864
+ tabsToInclude.push({
865
+ id: "shortcuts",
866
+ title: "Keyboard shortcuts",
867
+ children: /* @__PURE__ */ _storybook_global_react_default.createElement(RouteWrapper, { path: "shortcuts" }, /* @__PURE__ */ _storybook_global_react_default.createElement(ShortcutsPage, { key: "shortcuts" }))
868
+ });
869
+ if (enableWhatsNew) tabsToInclude.push({
870
+ id: "whats-new",
871
+ title: "What's new?",
872
+ children: /* @__PURE__ */ _storybook_global_react_default.createElement(RouteWrapper, { path: "whats-new" }, /* @__PURE__ */ _storybook_global_react_default.createElement(WhatsNewPage, { key: "whats-new" }))
873
+ });
874
+ return tabsToInclude;
875
+ }, [enableWhatsNew]);
876
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(Location, null, ({ path }) => {
877
+ const selected = tabs.find((tab) => path.includes(`settings/${tab.id}`))?.id;
878
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(TabsView, {
879
+ tabs,
880
+ tools: /* @__PURE__ */ _storybook_global_react_default.createElement(_storybook_global_react_default.Fragment, null, /* @__PURE__ */ _storybook_global_react_default.createElement("div", { className: index_module_default.sidebarToggle }, menuTool.render({})), toolsExtra.map((item) => /* @__PURE__ */ _storybook_global_react_default.createElement(_storybook_global_react_default.Fragment, { key: item.id }, item.render({}))), /* @__PURE__ */ _storybook_global_react_default.createElement(Button, {
881
+ padding: "small",
882
+ variant: "ghost",
883
+ onClick: (e) => {
884
+ e.preventDefault();
885
+ return onClose();
886
+ },
887
+ ariaLabel: "Close settings page"
888
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(CloseIcon, null))),
889
+ selected,
890
+ onSelectionChange: changeTab
891
+ });
892
+ });
893
+ };
894
+ SettingsPages = () => {
895
+ const api = useStorybookApi();
896
+ const state = useStorybookState();
897
+ const changeTab = (tab) => api.changeSettingsTab(tab);
898
+ return /* @__PURE__ */ _storybook_global_react_default.createElement(Pages, {
899
+ enableWhatsNew: state.whatsNewData?.status === "SUCCESS",
900
+ enableShortcuts: state.ui.enableShortcuts,
901
+ changeTab,
902
+ onClose: api.closeSettings
903
+ });
904
+ };
905
+ settingsPageAddon = {
906
+ id: "settings",
907
+ url: "/settings/",
908
+ title: "Settings",
909
+ type: types.experimental_PAGE,
910
+ render: () => /* @__PURE__ */ _storybook_global_react_default.createElement(Route, {
911
+ path: "/settings/",
912
+ startsWith: true
913
+ }, /* @__PURE__ */ _storybook_global_react_default.createElement(SettingsPages, null))
914
+ };
915
+ })))();
916
+ }
917
+ //#endregion
918
+ //#region src/manager/runtime.tsx
919
+ var WS_DISCONNECTED_NOTIFICATION_ID, channel, ReactProvider, document$1, rootEl;
920
+ function init_runtime() {
921
+ return (init_runtime = __esmMin((() => {
922
+ init__storybook_global_react();
923
+ init_channels();
924
+ init_core_events();
925
+ init_dist();
926
+ init_icons();
927
+ init_manager_api();
928
+ init_theming();
929
+ init_ToolbarManager();
930
+ init_constants();
931
+ init_manager();
932
+ init_provider();
933
+ WS_DISCONNECTED_NOTIFICATION_ID = "CORE/WS_DISCONNECTED";
934
+ addons.register(TOOLBAR_ID, () => addons.add(TOOLBAR_ID, {
935
+ title: TOOLBAR_ID,
936
+ type: types.TOOL,
937
+ render: () => /* @__PURE__ */ _storybook_global_react_default.createElement(ToolbarManager, null)
938
+ }));
939
+ channel = createBrowserChannel({ page: "manager" });
940
+ addons.setChannel(channel);
941
+ channel.emit(CHANNEL_CREATED);
942
+ ReactProvider = class extends Provider {
943
+ constructor(..._args) {
944
+ super(..._args);
945
+ this.addons = addons;
946
+ this.channel = channel;
947
+ this.wsDisconnected = false;
948
+ }
949
+ getElements(type) {
950
+ return this.addons.getElements(type);
951
+ }
952
+ getConfig() {
953
+ return this.addons.getConfig();
954
+ }
955
+ handleAPI(api) {
956
+ this.addons.loadAddons(api);
957
+ this.channel.on(CHANNEL_WS_DISCONNECT, () => {
958
+ this.wsDisconnected = true;
959
+ api.addNotification({
960
+ id: WS_DISCONNECTED_NOTIFICATION_ID,
961
+ content: {
962
+ headline: "Connection lost",
963
+ subHeadline: "Please restart your Forkbook server and reload the page"
964
+ },
965
+ icon: /* @__PURE__ */ _storybook_global_react_default.createElement(FailedIcon, { color: color.negative }),
966
+ link: void 0
967
+ });
968
+ });
969
+ }
970
+ };
971
+ ({document: document$1} = scope);
972
+ rootEl = document$1.getElementById("root");
973
+ setTimeout(() => {
974
+ renderStorybookUI(rootEl, new ReactProvider());
975
+ }, 0);
976
+ })))();
977
+ }
978
+ //#endregion
979
+ export { getStateType as C, scrollIntoView as D, isStoryHoistable as E, searchItem as O, getLink as S, isAncestor as T, statusPriority as _, init_provider as a, getAncestorIds as b, matchesModifiers as c, getGroupStatus as d, getMostCriticalStatusValue as f, shouldShowChangeStatus as g, init_status as h, Provider as i, getChangeDetectionStatus as l, getStatus as m, init_settings as n, init_keybinding as o, getSidebarVisibleStatus as p, settingsPageAddon as r, matchesKeyCode as s, init_runtime as t, getGroupDualStatus as u, createId as v, init_tree as w, getDescendantIds as x, cycle as y };