@stacksjs/stx 0.2.95 → 0.2.96

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 (612) hide show
  1. package/dist/a11y.js +598 -2
  2. package/dist/analytics.js +159 -2
  3. package/dist/analyzer.js +240 -2
  4. package/dist/animation.js +688 -2
  5. package/dist/app-shell.js +220 -2
  6. package/dist/app.js +79 -2
  7. package/dist/assets.js +155 -2
  8. package/dist/ast.js +630 -2
  9. package/dist/async-components.js +428 -2
  10. package/dist/auth.js +12 -2
  11. package/dist/broadcasting.js +102 -2
  12. package/dist/browser-composables.js +565 -2
  13. package/dist/build-assets.js +29 -2
  14. package/dist/build-mode-detector.js +50 -2
  15. package/dist/build-optimizer.js +433 -2
  16. package/dist/build-views.js +180 -2
  17. package/dist/build.js +33 -2
  18. package/dist/builtins/drawer.js +37 -2
  19. package/dist/builtins/escape.js +3 -2
  20. package/dist/builtins/icon.js +83 -2
  21. package/dist/builtins/index.js +34 -2
  22. package/dist/builtins/modal.js +38 -2
  23. package/dist/builtins/safe-image.js +51 -2
  24. package/dist/builtins/stx-image.js +200 -2
  25. package/dist/builtins/stx-link.js +41 -2
  26. package/dist/builtins/stx-loading-indicator.js +35 -2
  27. package/dist/builtins/suspense.js +24 -2
  28. package/dist/builtins/toast.js +42 -2
  29. package/dist/builtins/tooltip.js +106 -2
  30. package/dist/builtins/transition-group.js +22 -2
  31. package/dist/bundle-analyzer/collector.js +233 -2
  32. package/dist/bundle-analyzer/index.js +82 -2
  33. package/dist/bundle-analyzer/report.js +318 -2
  34. package/dist/bundle-analyzer/treemap.js +594 -2
  35. package/dist/caching.js +131 -2
  36. package/dist/cli.js +11317 -10982
  37. package/dist/client/directive.js +14 -2
  38. package/dist/client/index.js +2 -2
  39. package/dist/client-helpers.js +312 -2
  40. package/dist/client-script-bundler.js +216 -6
  41. package/dist/client-script.js +754 -2
  42. package/dist/client.js +73 -4
  43. package/dist/component-hmr.js +585 -2
  44. package/dist/component-library.d.ts +6 -0
  45. package/dist/component-library.js +683 -0
  46. package/dist/component-processing.js +613 -2
  47. package/dist/component-registry.js +90 -2
  48. package/dist/component-renderer.js +660 -2
  49. package/dist/components.js +213 -2
  50. package/dist/composables/index.js +220 -2
  51. package/dist/composables/use-battery.js +101 -2
  52. package/dist/composables/use-broadcast-channel.js +80 -2
  53. package/dist/composables/use-channel.js +124 -2
  54. package/dist/composables/use-clipboard.js +79 -2
  55. package/dist/composables/use-color-mode.js +131 -2
  56. package/dist/composables/use-cookie.js +86 -2
  57. package/dist/composables/use-device-orientation.js +181 -2
  58. package/dist/composables/use-event-listener.js +27 -2
  59. package/dist/composables/use-event-source.js +166 -2
  60. package/dist/composables/use-eye-dropper.js +142 -2
  61. package/dist/composables/use-fetch.js +223 -2
  62. package/dist/composables/use-fullscreen.js +110 -2
  63. package/dist/composables/use-geolocation.js +101 -2
  64. package/dist/composables/use-idle.js +182 -2
  65. package/dist/composables/use-intersection-observer.js +168 -2
  66. package/dist/composables/use-keyboard.js +224 -2
  67. package/dist/composables/use-media-query.js +62 -2
  68. package/dist/composables/use-meta.js +48 -2
  69. package/dist/composables/use-mouse.js +286 -2
  70. package/dist/composables/use-mutation-observer.js +129 -2
  71. package/dist/composables/use-network.js +85 -2
  72. package/dist/composables/use-notification.js +94 -2
  73. package/dist/composables/use-permissions.js +132 -2
  74. package/dist/composables/use-query.js +0 -1
  75. package/dist/composables/use-resize-observer.js +157 -2
  76. package/dist/composables/use-router.js +51 -2
  77. package/dist/composables/use-share.js +104 -2
  78. package/dist/composables/use-speech.js +294 -2
  79. package/dist/composables/use-storage.js +130 -2
  80. package/dist/composables/use-text-selection.js +205 -4
  81. package/dist/composables/use-timer.js +183 -2
  82. package/dist/composables/use-utilities.js +176 -2
  83. package/dist/composables/use-wake-lock.js +122 -2
  84. package/dist/composables/use-websocket.js +165 -2
  85. package/dist/composables/use-window.js +163 -2
  86. package/dist/composables.js +552 -2
  87. package/dist/composition-api.js +190 -2
  88. package/dist/computed.js +376 -8
  89. package/dist/conditionals.js +599 -2
  90. package/dist/config.js +751 -2
  91. package/dist/craft-bridge.js +432 -2
  92. package/dist/craft-compiler.js +810 -2
  93. package/dist/craft-components.js +945 -2
  94. package/dist/craft-entry.js +5 -2
  95. package/dist/craft-ssr.js +559 -2
  96. package/dist/csp.js +220 -2
  97. package/dist/csrf.js +38 -2
  98. package/dist/custom-directives.js +136 -2
  99. package/dist/defer.js +156 -2
  100. package/dist/deploy/config-generators.js +214 -2
  101. package/dist/deploy/index.js +203 -2
  102. package/dist/deploy/netlify.js +167 -2
  103. package/dist/dev-server/crosswind.js +379 -2
  104. package/dist/dev-server/index.js +7 -2
  105. package/dist/dev-server/keyboard-shortcuts.js +81 -2
  106. package/dist/dev-server/native-window.js +91 -2
  107. package/dist/dev-server/port-utils.js +40 -2
  108. package/dist/dev-server/serve-app.js +682 -2
  109. package/dist/dev-server/serve-file.js +439 -2
  110. package/dist/dev-server/serve-markdown.js +281 -2
  111. package/dist/dev-server/serve-multi.js +579 -2
  112. package/dist/dev-server/terminal-colors.js +45 -2
  113. package/dist/dev-server/theme-selector.js +111 -2
  114. package/dist/dev-server/types.js +43 -2
  115. package/dist/dev-server.js +4 -2
  116. package/dist/devtools.js +462 -18
  117. package/dist/directive-api.js +355 -2
  118. package/dist/docs.js +567 -2
  119. package/dist/doctor.js +123 -2
  120. package/dist/document-shell.js +105 -2
  121. package/dist/dynamic-components.js +78 -2
  122. package/dist/edge-runtime.js +539 -2
  123. package/dist/env.js +9 -2
  124. package/dist/error-boundaries.js +62 -12
  125. package/dist/error-handling.js +1 -2
  126. package/dist/errors/codes.js +97 -2
  127. package/dist/errors/formatter.js +196 -2
  128. package/dist/errors/index.js +44 -2
  129. package/dist/errors/logger.js +250 -2
  130. package/dist/errors/sanitizer.js +181 -2
  131. package/dist/errors/types.js +86 -2
  132. package/dist/events.js +382 -2
  133. package/dist/expressions.js +650 -2
  134. package/dist/formatter.js +265 -2
  135. package/dist/forms-validation.js +510 -4
  136. package/dist/forms.js +709 -2
  137. package/dist/head.js +224 -2
  138. package/dist/heatmap.js +566 -2
  139. package/dist/hot-reload.js +367 -2
  140. package/dist/html-masking.js +73 -2
  141. package/dist/hydration-runtime.js +195 -2
  142. package/dist/hydration.js +654 -2
  143. package/dist/i18n.js +633 -2
  144. package/dist/image-optimization/auto-sibling.js +88 -2
  145. package/dist/image-optimization/build-plugin.js +241 -2
  146. package/dist/image-optimization/component.js +244 -2
  147. package/dist/image-optimization/directive.js +203 -2
  148. package/dist/image-optimization/index.js +54 -2
  149. package/dist/image-optimization/processor.js +262 -2
  150. package/dist/image-optimization/serve.js +102 -2
  151. package/dist/includes.js +733 -2
  152. package/dist/index.d.ts +1 -0
  153. package/dist/index.js +134 -2
  154. package/dist/init.js +505 -2
  155. package/dist/inline-assets.js +82 -2
  156. package/dist/interactive.js +383 -2
  157. package/dist/internal-markdown.js +141 -2
  158. package/dist/island-chunking.js +52 -2
  159. package/dist/js-ts.js +57 -2
  160. package/dist/jsx-runtime.js +289 -2
  161. package/dist/keep-alive.js +421 -2
  162. package/dist/lazy-loader.js +245 -2
  163. package/dist/loading-indicator.js +322 -2
  164. package/dist/loops.js +643 -2
  165. package/dist/manifest.js +31 -2
  166. package/dist/markdown.js +68 -2
  167. package/dist/media/client/blur-up.js +217 -2
  168. package/dist/media/client/index.js +53 -2
  169. package/dist/media/client/lazy-load.js +283 -2
  170. package/dist/media/client/upload-handler.js +354 -2
  171. package/dist/media/image/component.js +574 -2
  172. package/dist/media/image/directive.js +160 -2
  173. package/dist/media/image/editing.js +193 -2
  174. package/dist/media/image/index.js +80 -2
  175. package/dist/media/image/placeholder.js +188 -2
  176. package/dist/media/image/processor/cache.js +51 -2
  177. package/dist/media/image/processor/index.js +3 -2
  178. package/dist/media/image/processor/optimizer.js +202 -2
  179. package/dist/media/image/processor/responsive.js +162 -2
  180. package/dist/media/image/srcset.js +194 -2
  181. package/dist/media/index.js +198 -2
  182. package/dist/media/manager/embed.js +253 -2
  183. package/dist/media/protected/component.js +235 -2
  184. package/dist/media/protected/index.js +20 -2
  185. package/dist/media/protected/signature.js +205 -2
  186. package/dist/media/shared/cache.js +132 -2
  187. package/dist/media/shared/hash.js +35 -2
  188. package/dist/media/shared/index.js +2 -2
  189. package/dist/media/types.js +0 -1
  190. package/dist/media/upload/component.js +320 -2
  191. package/dist/media/upload/index.js +1 -2
  192. package/dist/media/video/directive.js +142 -2
  193. package/dist/media/video/index.js +583 -2
  194. package/dist/media/video/processor/cache.js +52 -2
  195. package/dist/media/video/processor/index.js +4 -2
  196. package/dist/media/video/processor/streaming.js +197 -2
  197. package/dist/media/video/processor/thumbnail.js +134 -2
  198. package/dist/media/video/processor/transcoder.js +283 -2
  199. package/dist/method-spoofing.js +17 -2
  200. package/dist/middleware.js +40 -2
  201. package/dist/misc-directives.js +222 -2
  202. package/dist/native-build.js +511 -2
  203. package/dist/parser/directive-parser.js +239 -2
  204. package/dist/parser/expression-parser.js +358 -2
  205. package/dist/parser/index.js +23 -2
  206. package/dist/parser/tokenizer.js +534 -2
  207. package/dist/partial-hydration.js +427 -2
  208. package/dist/performance-utils.js +430 -2
  209. package/dist/placeholder.js +35 -2
  210. package/dist/plugin-system.js +214 -2
  211. package/dist/plugin.js +173 -2
  212. package/dist/precompiler.js +660 -81
  213. package/dist/process.js +711 -2
  214. package/dist/production-build.js +596 -2
  215. package/dist/production-builder.js +132 -2
  216. package/dist/production-server.js +188 -2
  217. package/dist/props.js +224 -2
  218. package/dist/public-env.js +19 -2
  219. package/dist/pwa/audit.js +255 -2
  220. package/dist/pwa/directives.js +332 -2
  221. package/dist/pwa/icons.js +109 -2
  222. package/dist/pwa/index.js +47 -2
  223. package/dist/pwa/inject.js +102 -2
  224. package/dist/pwa/manifest.js +186 -2
  225. package/dist/pwa/offline.js +259 -2
  226. package/dist/pwa/precache.js +116 -2
  227. package/dist/pwa/service-worker.js +860 -2
  228. package/dist/pwa/workbox-strategies.js +167 -2
  229. package/dist/pwa/workbox.js +382 -2
  230. package/dist/pwa.js +427 -427
  231. package/dist/reactive-bindings.js +266 -2
  232. package/dist/reactive.js +569 -2
  233. package/dist/reactivity.js +559 -2
  234. package/dist/release.js +1 -2
  235. package/dist/render.js +165 -2
  236. package/dist/route-middleware.js +17 -2
  237. package/dist/router.js +9 -2
  238. package/dist/routes.js +14 -2
  239. package/dist/runtime-injection.js +120 -2
  240. package/dist/runtime.js +94 -2
  241. package/dist/safe-evaluator.js +444 -2
  242. package/dist/scaffolding.js +897 -2
  243. package/dist/screenshot.js +87 -2
  244. package/dist/script-classifier.js +32 -2
  245. package/dist/script-validation.js +158 -2
  246. package/dist/seo.js +457 -2
  247. package/dist/serve.js +237 -2
  248. package/dist/server-bindings.js +108 -2
  249. package/dist/server-components.js +338 -11
  250. package/dist/signal-processing.js +946 -2
  251. package/dist/signals-api.js +154 -2
  252. package/dist/signals.js +5287 -2
  253. package/dist/site-builder/build.js +224 -2
  254. package/dist/site-builder/i18n.js +140 -2
  255. package/dist/site-builder/index.js +15 -2
  256. package/dist/site-builder/robots.js +26 -2
  257. package/dist/site-builder/router.js +27 -2
  258. package/dist/site-builder/seo.js +36 -2
  259. package/dist/site-builder/sitemap.js +26 -2
  260. package/dist/site-builder/theme.js +33 -2
  261. package/dist/site-builder/types.js +0 -1
  262. package/dist/slots.js +201 -2
  263. package/dist/source-maps.js +350 -2
  264. package/dist/spa-shell.js +34 -2
  265. package/dist/ssg.js +389 -389
  266. package/dist/ssr.js +355 -2
  267. package/dist/state-management.js +533 -2
  268. package/dist/store-imports.js +13 -2
  269. package/dist/store-loader.js +72 -5
  270. package/dist/stores-client.js +132 -2
  271. package/dist/story/addons.js +261 -2
  272. package/dist/story/analytics.js +235 -2
  273. package/dist/story/auto-stories.js +158 -2
  274. package/dist/story/bookmarks.js +277 -2
  275. package/dist/story/bun-test.js +102 -2
  276. package/dist/story/cli.js +155 -2
  277. package/dist/story/collect/analyzer.js +305 -2
  278. package/dist/story/collect/index.js +27 -2
  279. package/dist/story/collect/parser.js +129 -2
  280. package/dist/story/collect/scanner.js +101 -2
  281. package/dist/story/collect/tree.js +110 -2
  282. package/dist/story/commands/build.js +172 -2
  283. package/dist/story/commands/dev.js +78 -2
  284. package/dist/story/commands/index.js +3 -2
  285. package/dist/story/commands/preview.js +56 -2
  286. package/dist/story/compiled-output.js +151 -2
  287. package/dist/story/composition.js +261 -2
  288. package/dist/story/config-watcher.js +67 -2
  289. package/dist/story/config.js +64 -2
  290. package/dist/story/context.js +27 -2
  291. package/dist/story/controls/index.js +320 -2
  292. package/dist/story/crosswind.js +189 -2
  293. package/dist/story/desktop-preview.js +105 -2
  294. package/dist/story/docs-generator.js +186 -2
  295. package/dist/story/errors.js +239 -2
  296. package/dist/story/figma-export.js +224 -2
  297. package/dist/story/generator.js +165 -2
  298. package/dist/story/hmr.js +131 -2
  299. package/dist/story/hot-swap.js +207 -2
  300. package/dist/story/index.js +49 -2
  301. package/dist/story/interactions.js +225 -2
  302. package/dist/story/keyboard-shortcuts.js +345 -2
  303. package/dist/story/output.js +153 -2
  304. package/dist/story/performance.js +252 -2
  305. package/dist/story/presets.js +289 -2
  306. package/dist/story/props-validation.js +215 -2
  307. package/dist/story/renderer.js +209 -2
  308. package/dist/story/search-index.js +106 -2
  309. package/dist/story/search.js +140 -2
  310. package/dist/story/server.js +965 -2
  311. package/dist/story/setup.js +78 -2
  312. package/dist/story/snapshots.js +170 -2
  313. package/dist/story/testing.js +163 -2
  314. package/dist/story/theme.js +170 -2
  315. package/dist/story/types.js +0 -2
  316. package/dist/story/ui/code-panel.js +175 -2
  317. package/dist/story/ui/controls-panel.js +168 -2
  318. package/dist/story/ui/index.js +4 -2
  319. package/dist/story/ui/navigation.js +250 -2
  320. package/dist/story/ui/preview.js +251 -2
  321. package/dist/story/visual-testing.js +247 -2
  322. package/dist/streaming.js +537 -2
  323. package/dist/strict-lint.js +288 -2
  324. package/dist/style-scoping.js +50 -2
  325. package/dist/suspense.js +398 -2
  326. package/dist/teleport.js +109 -2
  327. package/dist/template-compiler.js +63 -2
  328. package/dist/template-hydrator.js +82 -2
  329. package/dist/template-tag-balance.js +93 -2
  330. package/dist/testing.js +581 -2
  331. package/dist/transitions.js +443 -2
  332. package/dist/type-checker.js +581 -2
  333. package/dist/types/component-types.d.ts +54 -0
  334. package/dist/types/component-types.js +0 -1
  335. package/dist/types/config-types.js +0 -1
  336. package/dist/types/context-types.js +0 -1
  337. package/dist/types/csp-types.js +0 -1
  338. package/dist/types/directive-types.js +3 -2
  339. package/dist/types/index.d.ts +5 -0
  340. package/dist/types/index.js +1 -2
  341. package/dist/types/pwa-types.js +0 -1
  342. package/dist/types.js +1 -2
  343. package/dist/typescript-templates.js +386 -4
  344. package/dist/utils.js +942 -2
  345. package/dist/validator.js +171 -2
  346. package/dist/variable-extractor.js +1094 -2
  347. package/dist/view-composers.js +29 -2
  348. package/dist/virtual-scrolling.js +454 -2
  349. package/dist/visual-editor.js +688 -28
  350. package/dist/vue-template.js +475 -2
  351. package/dist/web-components/css-scoping.js +177 -2
  352. package/dist/web-components/index.js +13 -2
  353. package/dist/web-components/reactive-generator.js +121 -56
  354. package/dist/web-components.js +1447 -2
  355. package/dist/x-element.js +17 -5
  356. package/package.json +5 -6
  357. package/dist/chunk-04n64bnt.js +0 -5
  358. package/dist/chunk-06w68hyg.js +0 -7
  359. package/dist/chunk-07y6m5xx.js +0 -3
  360. package/dist/chunk-095s3972.js +0 -99
  361. package/dist/chunk-09k66d8a.js +0 -3
  362. package/dist/chunk-0a61y94n.js +0 -24
  363. package/dist/chunk-0b9w2w1y.js +0 -1
  364. package/dist/chunk-0dx4q6yq.js +0 -3
  365. package/dist/chunk-0dz85jrp.js +0 -3
  366. package/dist/chunk-0jd0pndq.js +0 -3
  367. package/dist/chunk-0p0nyq50.js +0 -6
  368. package/dist/chunk-0p1h3p3w.js +0 -3
  369. package/dist/chunk-0qakwen3.js +0 -1
  370. package/dist/chunk-0qnz93q2.js +0 -3
  371. package/dist/chunk-10debkj5.js +0 -71
  372. package/dist/chunk-15nesxgt.js +0 -5224
  373. package/dist/chunk-1sr54zp8.js +0 -3
  374. package/dist/chunk-1v49fwr5.js +0 -3
  375. package/dist/chunk-1xz0w746.js +0 -1539
  376. package/dist/chunk-1z5nhbjt.js +0 -90
  377. package/dist/chunk-1zgsgk4b.js +0 -1
  378. package/dist/chunk-20swzkx3.js +0 -216
  379. package/dist/chunk-27zsyhrd.js +0 -4
  380. package/dist/chunk-29y0hk5z.js +0 -3
  381. package/dist/chunk-2cdvw21b.js +0 -274
  382. package/dist/chunk-2j21d3ka.js +0 -161
  383. package/dist/chunk-2jxbwnkz.js +0 -2
  384. package/dist/chunk-31dr4bys.js +0 -6
  385. package/dist/chunk-35faj94w.js +0 -15
  386. package/dist/chunk-39gm08bn.js +0 -39
  387. package/dist/chunk-3a4qsygv.js +0 -51
  388. package/dist/chunk-3te20hqw.js +0 -3
  389. package/dist/chunk-43t7faps.js +0 -24
  390. package/dist/chunk-44hd3kab.js +0 -1
  391. package/dist/chunk-47kpewks.js +0 -71
  392. package/dist/chunk-4aj7ftqb.js +0 -1
  393. package/dist/chunk-4d2y57k7.js +0 -3
  394. package/dist/chunk-4deg33rw.js +0 -57
  395. package/dist/chunk-4k7d8p8d.js +0 -188
  396. package/dist/chunk-4qcy5tx6.js +0 -53
  397. package/dist/chunk-4x7kae4j.js +0 -3
  398. package/dist/chunk-55nwdnsd.js +0 -3
  399. package/dist/chunk-55yp0q8t.js +0 -201
  400. package/dist/chunk-5f43yz6z.js +0 -12
  401. package/dist/chunk-5shey2e4.js +0 -3
  402. package/dist/chunk-6b5k6w2q.js +0 -7
  403. package/dist/chunk-6djzdes9.js +0 -14
  404. package/dist/chunk-6e4c6g46.js +0 -3
  405. package/dist/chunk-6eqbxcrd.js +0 -8
  406. package/dist/chunk-7074g241.js +0 -3
  407. package/dist/chunk-7b6s3g65.js +0 -179
  408. package/dist/chunk-7cgmq685.js +0 -33
  409. package/dist/chunk-7dkz6z2s.js +0 -3
  410. package/dist/chunk-7ed3tean.js +0 -3
  411. package/dist/chunk-7gd339hd.js +0 -109
  412. package/dist/chunk-7j5e8sdj.js +0 -3
  413. package/dist/chunk-7n8g0nfn.js +0 -38
  414. package/dist/chunk-7sqdeqsw.js +0 -1
  415. package/dist/chunk-80g54ncj.js +0 -3
  416. package/dist/chunk-8a5bxece.js +0 -4
  417. package/dist/chunk-8ahwt6a4.js +0 -721
  418. package/dist/chunk-8b3z0zd5.js +0 -8
  419. package/dist/chunk-8dhdpa5h.js +0 -4
  420. package/dist/chunk-8n9nnqr6.js +0 -3
  421. package/dist/chunk-8qc1bsym.js +0 -3
  422. package/dist/chunk-8va64c9n.js +0 -3
  423. package/dist/chunk-8vtm0m84.js +0 -3
  424. package/dist/chunk-8xj7c3mf.js +0 -8
  425. package/dist/chunk-988dw6q3.js +0 -9
  426. package/dist/chunk-9b6cec0v.js +0 -321
  427. package/dist/chunk-9cf97f9p.js +0 -3
  428. package/dist/chunk-9ecv8aqj.js +0 -14
  429. package/dist/chunk-9eq3ht5f.js +0 -8
  430. package/dist/chunk-9jtj77jx.js +0 -3
  431. package/dist/chunk-9t14se2t.js +0 -83
  432. package/dist/chunk-9wmq2272.js +0 -3
  433. package/dist/chunk-9zbk5zx5.js +0 -57
  434. package/dist/chunk-a2g2qb2y.js +0 -386
  435. package/dist/chunk-a3hyn4we.js +0 -79
  436. package/dist/chunk-a87qqft6.js +0 -194
  437. package/dist/chunk-ah88wzbg.js +0 -10
  438. package/dist/chunk-akf1r75r.js +0 -102
  439. package/dist/chunk-amaa1bev.js +0 -2
  440. package/dist/chunk-avx8aydt.js +0 -3
  441. package/dist/chunk-ay9qf4zj.js +0 -6
  442. package/dist/chunk-aywxfqev.js +0 -3
  443. package/dist/chunk-azkegjd8.js +0 -61
  444. package/dist/chunk-b77wjyn7.js +0 -84
  445. package/dist/chunk-baf1hfwh.js +0 -231
  446. package/dist/chunk-bdk6g1vj.js +0 -3
  447. package/dist/chunk-bhqgmyqw.js +0 -36
  448. package/dist/chunk-bk3j0n82.js +0 -341
  449. package/dist/chunk-bndmdahk.js +0 -3
  450. package/dist/chunk-bpgg59wa.js +0 -3
  451. package/dist/chunk-bs3gmfxz.js +0 -5
  452. package/dist/chunk-bxc7kjsk.js +0 -32
  453. package/dist/chunk-c7jg8w13.js +0 -3
  454. package/dist/chunk-ckxjqqn9.js +0 -3
  455. package/dist/chunk-cn8az1b4.js +0 -1
  456. package/dist/chunk-d0zjtdw4.js +0 -29
  457. package/dist/chunk-d1qh1x2g.js +0 -3
  458. package/dist/chunk-djddhmcc.js +0 -60
  459. package/dist/chunk-dqn9gyhb.js +0 -21
  460. package/dist/chunk-drjq2zwg.js +0 -3
  461. package/dist/chunk-dvfs1h3c.js +0 -117
  462. package/dist/chunk-e2q9c5vq.js +0 -8
  463. package/dist/chunk-e98v1bc6.js +0 -12
  464. package/dist/chunk-ejayeex8.js +0 -2
  465. package/dist/chunk-ejh8fyak.js +0 -3
  466. package/dist/chunk-ek2w6zvy.js +0 -4
  467. package/dist/chunk-ewa88139.js +0 -6
  468. package/dist/chunk-fjk3x41y.js +0 -3
  469. package/dist/chunk-frg705zq.js +0 -302
  470. package/dist/chunk-fzm3y0r3.js +0 -267
  471. package/dist/chunk-g1vt329s.js +0 -21
  472. package/dist/chunk-g4ps1dj8.js +0 -140
  473. package/dist/chunk-gkzq8zw4.js +0 -23
  474. package/dist/chunk-gz5fmp3q.js +0 -3
  475. package/dist/chunk-h0hjy0kn.js +0 -292
  476. package/dist/chunk-h5jxydqq.js +0 -147
  477. package/dist/chunk-h5wa62ek.js +0 -145
  478. package/dist/chunk-h7aq56qj.js +0 -28
  479. package/dist/chunk-h82kjdr4.js +0 -83
  480. package/dist/chunk-hbehnm18.js +0 -3
  481. package/dist/chunk-hbgxbgam.js +0 -58
  482. package/dist/chunk-hc2mf5h6.js +0 -4
  483. package/dist/chunk-hjm2xab3.js +0 -3
  484. package/dist/chunk-hjv76kcw.js +0 -1
  485. package/dist/chunk-hrnnh4tq.js +0 -142
  486. package/dist/chunk-ht43ds42.js +0 -236
  487. package/dist/chunk-hxx3za24.js +0 -62
  488. package/dist/chunk-hy8820vc.js +0 -6
  489. package/dist/chunk-j447q024.js +0 -28
  490. package/dist/chunk-j58vh0w6.js +0 -314
  491. package/dist/chunk-j8tn8enq.js +0 -3
  492. package/dist/chunk-jc0fc4ht.js +0 -11
  493. package/dist/chunk-jcs0ymw7.js +0 -3
  494. package/dist/chunk-jjamhxpm.js +0 -139
  495. package/dist/chunk-jjb05d21.js +0 -3
  496. package/dist/chunk-jjdq01dv.js +0 -128
  497. package/dist/chunk-jnmgm2xw.js +0 -5
  498. package/dist/chunk-jpndqst5.js +0 -3
  499. package/dist/chunk-jt0ezawy.js +0 -351
  500. package/dist/chunk-jz73j3qs.js +0 -169
  501. package/dist/chunk-k21df0pg.js +0 -10
  502. package/dist/chunk-k848dzsa.js +0 -429
  503. package/dist/chunk-kdfe4t91.js +0 -3
  504. package/dist/chunk-keawsbpn.js +0 -5
  505. package/dist/chunk-kgym7ch9.js +0 -8
  506. package/dist/chunk-khdn7jwe.js +0 -3
  507. package/dist/chunk-km25cwz6.js +0 -3
  508. package/dist/chunk-knm8a8yx.js +0 -398
  509. package/dist/chunk-krqn0ddk.js +0 -3
  510. package/dist/chunk-ktkmvaa8.js +0 -1
  511. package/dist/chunk-kx6eb6ma.js +0 -4
  512. package/dist/chunk-kypas8vy.js +0 -4
  513. package/dist/chunk-m167kjhv.js +0 -4
  514. package/dist/chunk-m491r0rj.js +0 -358
  515. package/dist/chunk-m8448qby.js +0 -11
  516. package/dist/chunk-mgj88zeq.js +0 -64
  517. package/dist/chunk-mhgk632d.js +0 -3
  518. package/dist/chunk-mv4fb50w.js +0 -1
  519. package/dist/chunk-n5kg7fpx.js +0 -7
  520. package/dist/chunk-n98x35xd.js +0 -8
  521. package/dist/chunk-n9dhs1dw.js +0 -106
  522. package/dist/chunk-nd9rmddh.js +0 -6
  523. package/dist/chunk-ngxfwzq3.js +0 -3
  524. package/dist/chunk-nhv099jv.js +0 -19
  525. package/dist/chunk-nm15ccsg.js +0 -5
  526. package/dist/chunk-npfmdb6y.js +0 -71
  527. package/dist/chunk-nvwb4x04.js +0 -3
  528. package/dist/chunk-nw34xajc.js +0 -8
  529. package/dist/chunk-p077sw22.js +0 -3
  530. package/dist/chunk-p1h8065h.js +0 -3
  531. package/dist/chunk-p3e0cqtt.js +0 -34
  532. package/dist/chunk-p3fpb79v.js +0 -477
  533. package/dist/chunk-p52yzjq6.js +0 -498
  534. package/dist/chunk-p73meypx.js +0 -134
  535. package/dist/chunk-pa9zb7ty.js +0 -4
  536. package/dist/chunk-payfb24w.js +0 -207
  537. package/dist/chunk-pcm1vd8w.js +0 -3
  538. package/dist/chunk-pcntd9h4.js +0 -3
  539. package/dist/chunk-pg1fvqb9.js +0 -167
  540. package/dist/chunk-psc3wfcf.js +0 -1115
  541. package/dist/chunk-pznnww6k.js +0 -6
  542. package/dist/chunk-q6zhd9yf.js +0 -3
  543. package/dist/chunk-qa59zejf.js +0 -246
  544. package/dist/chunk-qvrbjpdc.js +0 -3
  545. package/dist/chunk-qygvvygy.js +0 -12
  546. package/dist/chunk-r0jcmpv6.js +0 -68
  547. package/dist/chunk-r5m9xtm7.js +0 -3
  548. package/dist/chunk-rh80q1nd.js +0 -1
  549. package/dist/chunk-rkffm9sy.js +0 -128
  550. package/dist/chunk-rpx5fa65.js +0 -3
  551. package/dist/chunk-rqxf5hns.js +0 -3
  552. package/dist/chunk-rtr974rc.js +0 -30
  553. package/dist/chunk-rvptcndz.js +0 -3
  554. package/dist/chunk-rw26rpek.js +0 -171
  555. package/dist/chunk-rw7937v4.js +0 -19
  556. package/dist/chunk-rwrv9wbf.js +0 -3
  557. package/dist/chunk-rz2ec6g7.js +0 -347
  558. package/dist/chunk-s6ja2bdg.js +0 -66
  559. package/dist/chunk-scpkdrdb.js +0 -4
  560. package/dist/chunk-shv88d2d.js +0 -10
  561. package/dist/chunk-t0c9wvpr.js +0 -3
  562. package/dist/chunk-tffh3b1e.js +0 -35
  563. package/dist/chunk-tg2f1mzq.js +0 -11
  564. package/dist/chunk-trfswy66.js +0 -77
  565. package/dist/chunk-tzwtg722.js +0 -3
  566. package/dist/chunk-v7f8jj15.js +0 -4
  567. package/dist/chunk-v8j49spx.js +0 -3
  568. package/dist/chunk-v97390pe.js +0 -1
  569. package/dist/chunk-vcr5pzpx.js +0 -233
  570. package/dist/chunk-veeerpwa.js +0 -3
  571. package/dist/chunk-vg5kt6az.js +0 -4
  572. package/dist/chunk-vgv7jvyz.js +0 -219
  573. package/dist/chunk-vjbefncc.js +0 -3
  574. package/dist/chunk-vmxjghsm.js +0 -3
  575. package/dist/chunk-vw7vqd76.js +0 -3
  576. package/dist/chunk-vx22he47.js +0 -1
  577. package/dist/chunk-w3b6m427.js +0 -45
  578. package/dist/chunk-wazkqv7n.js +0 -3
  579. package/dist/chunk-wf7zrjsw.js +0 -138
  580. package/dist/chunk-wfg2gm11.js +0 -3
  581. package/dist/chunk-wg9k6h8w.js +0 -12
  582. package/dist/chunk-wkz2vwkr.js +0 -81
  583. package/dist/chunk-wvef3ngh.js +0 -127
  584. package/dist/chunk-wvf31nzs.js +0 -3
  585. package/dist/chunk-x05nxhyv.js +0 -262
  586. package/dist/chunk-x0770gt9.js +0 -4
  587. package/dist/chunk-x24s4heg.js +0 -1166
  588. package/dist/chunk-x3r64r0c.js +0 -6
  589. package/dist/chunk-x5g9w4hh.js +0 -5
  590. package/dist/chunk-xgkv66q5.js +0 -2230
  591. package/dist/chunk-xqq1vxb6.js +0 -1
  592. package/dist/chunk-xs03kc1h.js +0 -196
  593. package/dist/chunk-xv34zbp4.js +0 -3
  594. package/dist/chunk-xw36p73h.js +0 -90
  595. package/dist/chunk-xyg1r5w0.js +0 -4
  596. package/dist/chunk-xys2sxh6.js +0 -16
  597. package/dist/chunk-y0qg6rrv.js +0 -3
  598. package/dist/chunk-y1k17c8b.js +0 -21
  599. package/dist/chunk-y5xz0jc4.js +0 -141
  600. package/dist/chunk-y6xsqe9a.js +0 -10
  601. package/dist/chunk-yb1t2h8h.js +0 -11
  602. package/dist/chunk-ygvyc6wv.js +0 -90
  603. package/dist/chunk-yj4x5ehw.js +0 -21
  604. package/dist/chunk-yn38c15w.js +0 -4
  605. package/dist/chunk-ynhngsdh.js +0 -3
  606. package/dist/chunk-yrsb6j3z.js +0 -3
  607. package/dist/chunk-yywfvfph.js +0 -2
  608. package/dist/chunk-zcxzdrn7.js +0 -5
  609. package/dist/chunk-zen6ax1y.js +0 -27
  610. package/dist/chunk-zf2pek72.js +0 -3
  611. package/dist/chunk-zk3d0jjf.js +0 -7
  612. package/dist/chunk-zy3rp1ab.js +0 -93
@@ -1,6 +0,0 @@
1
- // @bun
2
- import{oB as $}from"./chunk-xv34zbp4.js";import M from"fs";import Q from"path";function B(j){let w=0;for(let k=0;k<j.length;k++){let q=j[k];w=(w<<5)-w+q,w=w&w}return Math.abs(w).toString(16).padStart(8,"0")}function C(j,w){let k=Q.basename(j);for(let q of w)if(q.startsWith("*.")){let H=q.slice(1);if(k.endsWith(H))return!0}else if(q.includes("*")){let H=new RegExp(`^${q.replace(/\*/g,".*")}$`);if(H.test(k)||H.test(j))return!0}else if(k===q||j.includes(q))return!0;return!1}function L(j,w,k){let q=Q.extname(j).toLowerCase(),H=A[q],K=(k.maxFileSizeKB||500)*1024;if(w>K)return!1;if(k.exclude&&C(j,k.exclude))return!1;if(k.include&&k.include.length>0){for(let J of k.include)if(J.startsWith("*.")){if(j.endsWith(J.slice(1)))return!0}else if(j.includes(J))return!0}if(H&&k[H]===!0)return!0;if(!H)return!1;return!1}function W(j,w,k,q){let H=M.readdirSync(j,{withFileTypes:!0});for(let K of H){let J=Q.join(j,K.name);if(K.isDirectory()){if(["node_modules",".git",".stx"].includes(K.name))continue;W(J,w,k,q)}else if(K.isFile()){let U=M.statSync(J),V=Q.relative(w,J);if(L(V,U.size,k)){let X=M.readFileSync(J),Y=B(X),Z=`/${V.replace(/\\/g,"/")}`;q.push({url:Z,revision:Y,size:U.size})}}}}function F(j,w){let k=w.pwa?.precache,q=[];if(!k?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!M.existsSync(j))return{entries:[],totalSize:0,fileCount:0};W(j,j,k,q),q.sort((K,J)=>K.url.localeCompare(J.url));let H=q.reduce((K,J)=>K+J.size,0);return{entries:q,totalSize:H,fileCount:q.length}}function G(j){if(j.entries.length===0)return"[]";return`[
3
- ${j.entries.map((k)=>` { url: '${k.url}', revision: '${k.revision}' }`).join(`,
4
- `)}
5
- ]`}function R(j){if(j<1024)return`${j} B`;if(j<1048576)return`${(j/1024).toFixed(1)} KB`;return`${(j/1048576).toFixed(2)} MB`}var A;var O=$(()=>{A={".html":"includeHtml",".htm":"includeHtml",".js":"includeJs",".mjs":"includeJs",".css":"includeCss",".png":"includeImages",".jpg":"includeImages",".jpeg":"includeImages",".gif":"includeImages",".webp":"includeImages",".svg":"includeImages",".ico":"includeImages",".woff":"includeFonts",".woff2":"includeFonts",".ttf":"includeFonts",".eot":"includeFonts",".otf":"includeFonts"}});
6
- export{F as jf,G as kf,R as lf,O as mf};
@@ -1,3 +0,0 @@
1
- // @bun
2
- var j=[{label:"Mobile (Small)",width:320,height:568},{label:"Mobile (Medium)",width:375,height:667},{label:"Mobile (Large)",width:414,height:896},{label:"Tablet",width:768,height:1024},{label:"Laptop",width:1024},{label:"Desktop",width:1280},{label:"Desktop (Large)",width:1920}],q=[{label:"Transparent",color:"transparent",contrastColor:"#333"},{label:"White",color:"#ffffff",contrastColor:"#333"},{label:"Light Gray",color:"#f5f5f5",contrastColor:"#333"},{label:"Dark Gray",color:"#333333",contrastColor:"#fff"},{label:"Black",color:"#000000",contrastColor:"#fff"}],w={file:"title",order:"asc",groups:[]},z={enabled:!0,outDir:".stx/dist/story",storyMatch:["**/*.story.stx"],storyIgnored:["**/node_modules/**","**/dist/**","**/.stx/**"],tree:w,theme:{title:"STX Components",defaultColorScheme:"auto",darkClass:"dark"},responsivePresets:j,backgroundPresets:q,autoApplyContrastColor:!1,port:6006};function D(A){let b={...z,...A};return{enabled:b.enabled??!0,outDir:b.outDir??".stx/dist/story",storyMatch:b.storyMatch??["**/*.story.stx"],storyIgnored:b.storyIgnored??["**/node_modules/**","**/dist/**","**/.stx/**"],tree:{...w,...b.tree},theme:{title:"STX Components",defaultColorScheme:"auto",darkClass:"dark",...b.theme},responsivePresets:b.responsivePresets??j,backgroundPresets:b.backgroundPresets??q,autoApplyContrastColor:b.autoApplyContrastColor??!1,setupFile:b.setupFile,port:b.port??6006}}function E(){return{...z}}
3
- export{j as ie,q as je,w as ke,z as le,D as me,E as ne};
@@ -1,19 +0,0 @@
1
- // @bun
2
- var S="<style data-stx-cloak>[x-cloak]{display:none !important}</style>";function b(q){if(q.includes("data-stx-cloak"))return q;let K=q.lastIndexOf("</head>");if(K===-1)return q;return`${q.slice(0,K)}<style data-stx-cloak>[x-cloak]{display:none !important}</style>
3
- ${q.slice(K)}`}function A(q,K={},F={}){let{title:Z="stx App",lang:_="en",meta:$=[],link:U=[],script:N=[],headRaw:G="",bodyClass:z="",bodyAttrs:J={}}=K,O=F.title||Z,M=[...[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],...$].map((B)=>{return` <meta ${Object.entries(B).map(([Q,V])=>`${Q}="${V}"`).join(" ")}>`}).join(`
4
- `),Y=U.map((B)=>{return` <link ${Object.entries(B).map(([Q,V])=>`${Q}="${V}"`).join(" ")}>`}).join(`
5
- `),j=N.map((B)=>{if(B.src)return` <script ${Object.entries(B).filter(([Q])=>Q!=="content").map(([Q,V])=>`${Q}="${V}"`).join(" ")}></script>`;if(B.content)return` <script>${B.content}</script>`;return""}).filter(Boolean).join(`
6
- `),L=Object.entries(J).map(([B,X])=>` ${B}="${X}"`).join(""),P=z?` class="${z}"`:"",W=[M,` <title>${O}</title>`," <style data-stx-cloak>[x-cloak]{display:none !important}</style>",Y,j,G?` ${G}`:"",...(F.styles||[]).map((B)=>` ${B}`),...(F.headScripts||[]).map((B)=>` ${B}`),F.headStack||""].filter(Boolean),D=[q,...(F.bodyScripts||[]).map((B)=>B),F.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
7
- <html lang="${_}">
8
- <head>
9
- ${W.join(`
10
- `)}
11
- </head>
12
- <body${P}${L}>
13
- ${D.join(`
14
- `)}
15
- </body>
16
- </html>`}function H(q){return/<!DOCTYPE\b/i.test(q)||/<html[\s>]/i.test(q)}function w(q,K={}){let F=q.lastIndexOf("</head>");if(F===-1)return q;let{meta:Z=[],link:_=[],script:$=[],headRaw:U=""}=K,N=q.slice(0,F),G=[];for(let z of Z){let J=z.name?`name="${z.name}"`:z.property?`property="${z.property}"`:z.charset!=null?"charset=":z["http-equiv"]?`http-equiv="${z["http-equiv"]}"`:"";if(J&&N.includes(J))continue;G.push(` <meta ${Object.entries(z).map(([O,E])=>`${O}="${E}"`).join(" ")}>`)}for(let z of _){if(z.href&&N.includes(`href="${z.href}"`))continue;G.push(` <link ${Object.entries(z).map(([J,O])=>`${J}="${O}"`).join(" ")}>`)}for(let z of $)if(z.src){if(N.includes(`src="${z.src}"`))continue;G.push(` <script ${Object.entries(z).filter(([J])=>J!=="content").map(([J,O])=>`${J}="${O}"`).join(" ")}></script>`)}else if(z.content){if(N.includes(z.content))continue;G.push(` <script>${z.content}</script>`)}if(U&&!N.includes(U))G.push(` ${U}`);if(G.length===0)return q;return`${q.slice(0,F)}${G.join(`
17
- `)}
18
- ${q.slice(F)}`}function x(q,K={},F={}){if(H(q))return q;return A(q,K,F)}
19
- export{S as Cw,b as Dw,A as Ew,H as Fw,w as Gw,x as Hw};
@@ -1,5 +0,0 @@
1
- // @bun
2
- import{Sw as g}from"./chunk-0dx4q6yq.js";function A(){console.log(`
3
- Keyboard shortcuts:`),console.log(` ${g.cyan}o${g.reset} + Enter - Open in browser`),console.log(` ${g.cyan}c${g.reset} + Enter - Clear console`),console.log(` ${g.cyan}q${g.reset} + Enter (or ${g.cyan}Ctrl+C${g.reset}) - Quit server`),console.log(` ${g.cyan}h${g.reset} + Enter - Show this help`)}function F(q){console.log(`${g.green}Server running at ${g.cyan}${q}${g.reset}`),console.log(`Press ${g.cyan}Ctrl+C${g.reset} to stop the server`),A()}function G(q){console.log(`${g.dim}Opening ${g.cyan}${q}${g.dim} in your browser...${g.reset}`),Bun.spawn(["open",q],{stderr:"inherit"})}function L(q,x,z){if(!process.stdin.isTTY)return;process.stdin.setRawMode(!0),process.stdin.setEncoding("utf8"),process.stdin.resume(),A();let j="";process.stdin.on("data",(D)=>{if(D==="\x03"){if(z?.onQuit)z.onQuit();x(),process.exit(0)}if(j+=D,j.endsWith("\r")||j.endsWith(`
4
- `)){let E=j.trim().toLowerCase();j="",J(E,q,x,z)}})}function J(q,x,z,j){switch(q){case"o":if(j?.onOpen)j.onOpen();else G(x);break;case"c":if(j?.onClear)j.onClear();else console.clear(),F(x);break;case"q":if(j?.onQuit)j.onQuit();console.log(`${g.yellow}Stopping server...${g.reset}`),z(),process.exit(0);break;case"h":if(j?.onHelp)j.onHelp();else A();break;default:break}}function M(){if(process.stdin.isTTY)process.stdin.setRawMode(!1),process.stdin.pause()}
5
- export{A as so,F as to,G as uo,L as vo,M as wo};
@@ -1,71 +0,0 @@
1
- // @bun
2
- import{pB as B}from"./chunk-xv34zbp4.js";async function K(){try{return typeof(await import("@stacksjs/desktop")).createWindowWithHTML==="function"}catch{return!1}}async function N(q,b,u,f={}){try{let z=await import("@stacksjs/desktop"),A=b.story?.variants.find((C)=>C.id===u);if(!A)return null;let D=f.title||`${b.fileName} - ${A.title}`,E=F(q,b,A),J=await z.createWindowWithHTML(E,{title:D,width:f.width||800,height:f.height||600});return{close:()=>{},reload:()=>{},update:(C)=>{}}}catch(z){return console.warn("Desktop preview not available:",z),null}}function F(q,b,u){let{theme:f}=q.config;return`<!DOCTYPE html>
3
- <html lang="en">
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>${b.fileName} - ${u.title}</title>
8
- <style>
9
- * { box-sizing: border-box; margin: 0; padding: 0; }
10
- body {
11
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
12
- padding: 24px;
13
- background: ${f.defaultColorScheme==="dark"?"#1a1a1a":"#ffffff"};
14
- color: ${f.defaultColorScheme==="dark"?"#ffffff":"#333333"};
15
- }
16
- .preview-header {
17
- margin-bottom: 16px;
18
- padding-bottom: 16px;
19
- border-bottom: 1px solid ${f.defaultColorScheme==="dark"?"#404040":"#e0e0e0"};
20
- }
21
- .preview-title {
22
- font-size: 14px;
23
- font-weight: 600;
24
- }
25
- .preview-subtitle {
26
- font-size: 12px;
27
- color: ${f.defaultColorScheme==="dark"?"#a0a0a0":"#666666"};
28
- }
29
- .preview-content {
30
- padding: 16px;
31
- }
32
- </style>
33
- </head>
34
- <body>
35
- <div class="preview-header">
36
- <div class="preview-title">${b.fileName}</div>
37
- <div class="preview-subtitle">${u.title}</div>
38
- </div>
39
- <div class="preview-content">
40
- ${u.source||"<!-- No source -->"}
41
- </div>
42
- <script>
43
- window.__stxProps = ${JSON.stringify(u.state||{})};
44
- </script>
45
- </body>
46
- </html>`}function O(q,b){return`
47
- <button
48
- class="stx-desktop-preview-btn"
49
- onclick="window.__stxStory.openDesktopPreview('${q}', '${b}')"
50
- title="Open in native window"
51
- >
52
- \uD83D\uDDA5\uFE0F Desktop
53
- </button>
54
- `}function Q(){return`
55
- .stx-desktop-preview-btn {
56
- padding: 6px 12px;
57
- border: 1px solid var(--border);
58
- border-radius: 4px;
59
- background: var(--bg);
60
- color: var(--text);
61
- font-size: 12px;
62
- cursor: pointer;
63
- display: flex;
64
- align-items: center;
65
- gap: 4px;
66
- }
67
- .stx-desktop-preview-btn:hover {
68
- background: var(--bg-secondary);
69
- }
70
- `}
71
- export{K as va,N as wa,O as xa,Q as ya};
@@ -1,3 +0,0 @@
1
- // @bun
2
- import E from"fs";async function j(B){let q=await E.promises.readFile(B,"utf-8");return F(q,B)}function F(B,q){let H=B.match(/<Story\s+([^>]*)>([\s\S]*?)<\/Story>/i);if(!H)return null;let G=H[1],J=H[2],Q=K(G,"title")||V(q),U=z(Q),W=K(G,"group"),Y=K(G,"icon"),Z=K(G,"icon-color")||K(G,"iconColor"),_=K(G,"docs-only")==="true"||K(G,"docsOnly")==="true",X=w(G),$=T(J);return{id:U,title:Q,group:W,variants:$,layout:X,icon:Y,iconColor:Z,docsOnly:_}}function T(B){let q=[],H=/<Variant\s+([^>]*)>([\s\S]*?)<\/Variant>/gi,G=H.exec(B);while(G!==null){let J=G[1],Q=G[2],U=K(J,"title")||"Default",W=z(U),Y=K(J,"icon"),Z=K(J,"icon-color")||K(J,"iconColor"),_=K(J,"responsive-disabled")==="true",X=K(J,":init-state")||K(J,"init-state"),$=X?I(B,X):{},D=O(Q);q.push({id:W,title:U,icon:Y,iconColor:Z,state:$,source:D,responsiveDisabled:_}),G=H.exec(B)}if(q.length===0)q.push({id:"default",title:"Default",state:{}});return q}function K(B,q){let H=[new RegExp(`:${q}\\s*=\\s*["']([^"']+)["']`,"i"),new RegExp(`${q}\\s*=\\s*["']([^"']+)["']`,"i"),new RegExp(`:${q}\\s*=\\s*"([^"]+)"`,"i"),new RegExp(`${q}\\s*=\\s*"([^"]+)"`,"i")];for(let G of H){let J=B.match(G);if(J)return J[1]}return}function w(B){let q=K(B,":layout")||K(B,"layout");if(!q)return;try{let H=q.replace(/'/g,'"').replace(/(\w+):/g,'"$1":');return JSON.parse(H)}catch{return{type:"single"}}}function I(B,q){let H=B.match(/<script[^>]*>([\s\S]*?)<\/script>/i);if(!H)return{};let G=H[1],J=new RegExp(`function\\s+${q}\\s*\\(\\)\\s*\\{([\\s\\S]*?)\\breturn\\s*\\{([\\s\\S]*?)\\}`,"i"),Q=G.match(J);if(!Q){let U=new RegExp(`(?:const|let|var)\\s+${q}\\s*=\\s*\\(\\)\\s*=>\\s*\\(\\{([\\s\\S]*?)\\}\\)`,"i"),W=G.match(U);if(W)return k(W[1]);return{}}return k(Q[2])}function k(B){let q={},H=/(\w+)\s*:\s*([^,\n]+)/g,G=H.exec(B);while(G!==null){let J=G[1],Q=G[2].trim();q[J]=L(Q),G=H.exec(B)}return q}function L(B){let q=B.trim();if(q==="true")return!0;if(q==="false")return!1;if(q==="null")return null;if(q==="undefined")return;if(/^-?\d+(?:\.\d+)?$/.test(q))return Number(q);if(/^['"].*['"]$/.test(q))return q.slice(1,-1);return q}function O(B){let q=B;return q=q.replace(/<template\s+#default[^>]*>([\s\S]*?)<\/template>/gi,"$1"),q=q.replace(/<template\s+#controls[^>]*>[\s\S]*?<\/template>/gi,""),q=q.trim(),q}function V(B){return(B.split("/").pop()||B).replace(/\.story\.stx$/i,"").replace(/([A-Z])/g," $1").trim()}function z(B){return B.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function R(B){let q=B.match(/<script[^>]*>([\s\S]*?)<\/script>/i);return q?q[1]:""}function C(B){return B.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,"").trim()}
3
- export{j as vb,F as wb,R as xb,C as yb};
@@ -1,8 +0,0 @@
1
- // @bun
2
- import Q from"fs";import U from"path";function W(H){let v=[],j=H.pwa;if(v.push({id:"pwa-enabled",name:"PWA Enabled",category:"required",passed:j?.enabled===!0,message:j?.enabled?"PWA is enabled":"PWA is not enabled in config"}),!j?.enabled)return v;v.push({id:"manifest-name",name:"App Name",category:"required",passed:Boolean(j.manifest?.name),message:j.manifest?.name?`App name: "${j.manifest.name}"`:"Missing required manifest name"}),v.push({id:"manifest-short-name",name:"Short Name",category:"recommended",passed:Boolean(j.manifest?.shortName),message:j.manifest?.shortName?`Short name: "${j.manifest.shortName}"`:"Short name not set (will use full name)"}),v.push({id:"manifest-description",name:"App Description",category:"recommended",passed:Boolean(j.manifest?.description),message:j.manifest?.description?"Description is set":"App description not provided"}),v.push({id:"manifest-theme-color",name:"Theme Color",category:"required",passed:Boolean(j.manifest?.themeColor),message:j.manifest?.themeColor?`Theme color: ${j.manifest.themeColor}`:"Theme color not set"}),v.push({id:"manifest-background-color",name:"Background Color",category:"required",passed:Boolean(j.manifest?.backgroundColor),message:j.manifest?.backgroundColor?`Background color: ${j.manifest.backgroundColor}`:"Background color not set"}),v.push({id:"manifest-display",name:"Display Mode",category:"required",passed:["standalone","fullscreen","minimal-ui"].includes(j.manifest?.display||""),message:j.manifest?.display?`Display mode: ${j.manifest.display}`:"Display mode should be standalone, fullscreen, or minimal-ui"}),v.push({id:"manifest-start-url",name:"Start URL",category:"required",passed:Boolean(j.manifest?.startUrl),message:j.manifest?.startUrl?`Start URL: ${j.manifest.startUrl}`:"Start URL not set"}),v.push({id:"icons-source",name:"Icon Source",category:"required",passed:Boolean(j.icons?.src),message:j.icons?.src?`Icon source: ${j.icons.src}`:"No icon source configured"});let J=j.icons?.sizes||[];v.push({id:"icons-192",name:"192x192 Icon",category:"required",passed:J.includes(192),message:J.includes(192)?"192x192 icon will be generated":"Missing 192x192 icon (required for Android)"}),v.push({id:"icons-512",name:"512x512 Icon",category:"required",passed:J.includes(512),message:J.includes(512)?"512x512 icon will be generated":"Missing 512x512 icon (required for splash screen)"}),v.push({id:"icons-maskable",name:"Maskable Icon",category:"recommended",passed:j.icons?.purpose?.includes("maskable")||!1,message:j.icons?.purpose?.includes("maskable")?"Maskable icon purpose is set":"Consider adding maskable icon purpose for adaptive icons"}),v.push({id:"sw-configured",name:"Service Worker",category:"required",passed:Boolean(j.serviceWorker),message:j.serviceWorker?"Service worker is configured":"Service worker configuration missing"}),v.push({id:"sw-cache-version",name:"Cache Version",category:"recommended",passed:Boolean(j.serviceWorker?.cacheVersion),message:j.serviceWorker?.cacheVersion?`Cache version: ${j.serviceWorker.cacheVersion}`:"Set cache version for proper cache busting"}),v.push({id:"offline-enabled",name:"Offline Support",category:"required",passed:j.offline?.enabled===!0,message:j.offline?.enabled?"Offline support is enabled":"Offline support is disabled"});let L=j.routes||[];return v.push({id:"caching-strategies",name:"Caching Strategies",category:"recommended",passed:L.length>0,message:L.length>0?`${L.length} route caching strategies configured`:"No custom caching strategies defined"}),v.push({id:"push-config",name:"Push Notifications",category:"optional",passed:!j.push?.enabled||Boolean(j.push?.vapidPublicKey),message:j.push?.enabled?j.push?.vapidPublicKey?"Push notifications configured with VAPID key":"Push enabled but missing VAPID key":"Push notifications not enabled"}),v.push({id:"share-target",name:"Share Target",category:"optional",passed:!0,message:j.shareTarget?.enabled?`Share target enabled at ${j.shareTarget.action}`:"Share target not enabled"}),v.push({id:"auto-inject",name:"Auto-injection",category:"recommended",passed:j.autoInject!==!1,message:j.autoInject!==!1?"PWA tags will be auto-injected":"Auto-injection disabled - manual tag insertion required"}),v}function X(H){let v=[],j=U.join(H,"manifest.json"),J=Q.existsSync(j);if(v.push({id:"build-manifest",name:"Manifest File",category:"required",passed:J,message:J?"manifest.json exists":"manifest.json not found in build output"}),J)try{let M=JSON.parse(Q.readFileSync(j,"utf-8"));v.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!0,message:"Manifest is valid JSON"}),v.push({id:"build-manifest-icons",name:"Manifest Icons",category:"required",passed:Array.isArray(M.icons)&&M.icons.length>0,message:M.icons?.length?`${M.icons.length} icons defined in manifest`:"No icons defined in manifest"})}catch{v.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!1,message:"Manifest is not valid JSON"})}let L=U.join(H,"sw.js"),N=Q.existsSync(L);v.push({id:"build-sw",name:"Service Worker File",category:"required",passed:N,message:N?"Service worker (sw.js) exists":"Service worker not found in build output"});let K=U.join(H,"offline.html"),T=Q.existsSync(K);v.push({id:"build-offline",name:"Offline Page",category:"recommended",passed:T,message:T?"Offline page exists":"No offline.html found"});let I=U.join(H,"pwa-icons");if(Q.existsSync(I)){let M=Q.readdirSync(I).filter((V)=>V.endsWith(".png")||V.endsWith(".webp"));v.push({id:"build-icons",name:"Generated Icons",category:"required",passed:M.length>0,message:M.length>0?`${M.length} icon files generated`:"No icon files found"})}else v.push({id:"build-icons",name:"Generated Icons",category:"required",passed:!1,message:"Icons directory not found"});return v}function Y(H){let v=H.filter((I)=>I.category==="required"),j=H.filter((I)=>I.category==="recommended"),J=v.filter((I)=>I.passed).length,L=j.filter((I)=>I.passed).length,N=v.length>0?J/v.length*70:70,K=j.length>0?L/j.length*30:30;return{score:Math.round(N+K),passed:H.filter((I)=>I.passed).length,failed:H.filter((I)=>!I.passed&&I.category==="required").length,warnings:H.filter((I)=>!I.passed&&I.category!=="required").length,checks:H}}function A(H,v){let j=W(H),J=v&&Q.existsSync(v)?X(v):[];return Y([...j,...J])}function B(H){let v=[];v.push(`
3
- === PWA Audit Report ===
4
- `);let j=H.score>=90?"32":H.score>=70?"33":"31";v.push(`Score: \x1B[${j}m${H.score}/100\x1B[0m`),v.push(`Passed: ${H.passed} | Failed: ${H.failed} | Warnings: ${H.warnings}
5
- `);let J=["required","recommended","optional"];for(let L of J){let N=H.checks.filter((K)=>K.category===L);if(N.length===0)continue;v.push(`
6
- ${L.toUpperCase()}:`);for(let K of N){let T=K.passed?"\x1B[32m\u2713\x1B[0m":"\x1B[31m\u2717\x1B[0m";if(v.push(` ${T} ${K.name}: ${K.message}`),K.details)v.push(` ${K.details}`)}}return v.push(""),v.join(`
7
- `)}
8
- export{W as we,X as xe,Y as ye,A as ze,B as Ae};
@@ -1,3 +0,0 @@
1
- // @bun
2
- function W(C){let{token:J,baseUrl:K="https://api.netlify.com/api/v1"}=C;async function E(A,j,F={}){let L=`${K}${j}`,O={Authorization:`Bearer ${J}`,"User-Agent":"stx-deploy/1.0"},M;if(F.rawBody)O["Content-Type"]=F.contentType||"application/octet-stream",M=F.rawBody;else if(F.body)O["Content-Type"]="application/json",M=JSON.stringify(F.body);let D=await fetch(L,{method:A,headers:O,body:M});if(!D.ok){let Q=Error(`Netlify API error: ${D.status} ${D.statusText}`);Q.status=D.status;try{let R=await D.json();Q.message=R.message||Q.message,Q.code=R.code,Q.details=R}catch{}throw Q}let H=await D.text();if(!H)return{};return JSON.parse(H)}return{async getSite(A){return E("GET",`/sites/${A}`)},async listSites(){return E("GET","/sites")},async createSite(A){let j={};if(A)j.name=A;return E("POST","/sites",{body:j})},async createDeploy(A,j){let F={files:j.files,draft:j.draft??!0,async:j.async??!0};if(j.title)F.title=j.title;if(j.branch)F.branch=j.branch;if(j.functions)F.functions=j.functions;return E("POST",`/sites/${A}/deploys`,{body:F})},async uploadFile(A,j,F){let L=j.startsWith("/")?j.slice(1):j;await E("PUT",`/deploys/${A}/files/${L}`,{rawBody:F,contentType:"application/octet-stream"})},async uploadFiles(A,j){let L=[...j],O=async()=>{while(L.length>0){let D=L.shift();if(D)await this.uploadFile(A,D.path,D.content)}},M=Array.from({length:Math.min(5,j.length)},()=>O());await Promise.all(M)},async getDeploy(A){return E("GET",`/deploys/${A}`)},async waitForDeploy(A,j={}){let{timeout:F=300000,pollInterval:L=2000,onProgress:O}=j,M=Date.now();while(!0){let D=await this.getDeploy(A);if(O)O(D);if(D.state==="ready")return D;if(D.state==="error"){let H=Error(`Deploy failed: ${D.error_message||"Unknown error"}`);throw H.status=500,H.details=D,H}if(Date.now()-M>F){let H=Error(`Deploy timed out after ${F}ms`);throw H.status=408,H.details=D,H}await new Promise((H)=>setTimeout(H,L))}},async lockDeploy(A){return E("POST",`/deploys/${A}/lock`)},async unlockDeploy(A){return E("POST",`/deploys/${A}/unlock`)}}}async function V(C){let J=await crypto.subtle.digest("SHA-1",C);return Array.from(new Uint8Array(J)).map((E)=>E.toString(16).padStart(2,"0")).join("")}async function X(C,J={}){let{ignore:K=["node_modules",".git",".env*","*.map"]}=J,E=[],A=new Bun.Glob("**/*");for await(let j of A.scan({cwd:C,onlyFiles:!0,dot:!1})){if(K.some((H)=>{if(H.includes("*"))return new RegExp(`^${H.replace(/\*/g,".*")}$`).test(j);return j.includes(H)}))continue;let L=`${C}/${j}`,M=await Bun.file(L).arrayBuffer(),D=await V(M);E.push({path:j,content:new Uint8Array(M),sha1:D})}return E}function Y(C){let J={};for(let K of C)J[`/${K.path}`]=K.sha1;return J}function Z(C,J){let K=new Set(J.map((E)=>E.startsWith("/")?E.slice(1):E));return C.filter((E)=>K.has(E.path))}function _(C){if(C<1024)return`${C} B`;if(C<1048576)return`${(C/1024).toFixed(1)} KB`;if(C<1073741824)return`${(C/1048576).toFixed(1)} MB`;return`${(C/1073741824).toFixed(1)} GB`}function $(C){return C.reduce((J,K)=>J+K.content.byteLength,0)}
3
- export{W as Wn,V as Xn,X as Yn,Y as Zn,Z as _n,_ as $n,$ as ao};
@@ -1,3 +0,0 @@
1
- // @bun
2
- import{$m as T,Mm as F,Nm as v,Om as S,Pm as b,Qm as B,Rm as _,Ym as k,_m as y}from"./chunk-4d2y57k7.js";import W from"fs";import L from"path";function m(K={}){let{inputDirs:j=["public","src/assets","assets"],outputDir:G="dist/images",baseUrl:J="/images",formats:C=v,widths:X=F,quality:Z=S,placeholder:R="none",concurrency:z=4,cache:U=!0,cacheDir:w=".stx/image-cache",referencedOnly:E=!1,verbose:Q=!1}=K,N={imageReferences:new Set,processedImages:new Map,stats:{totalImages:0,optimizedImages:0,savedBytes:0,variants:0}};return{name:"stx-image-optimization",async setup(H){if(!await B()){console.warn("[stx-images] no image backend available, optimization disabled");return}if(U)await W.promises.mkdir(w,{recursive:!0});if(Q){let V=await b();console.log("[stx-images] Plugin initialized"),console.log(` Backend: ${V?"sharp (native fast path) + ts-images":"ts-images (pure TS)"}`),console.log(` Input dirs: ${j.join(", ")}`),console.log(` Output dir: ${G}`),console.log(` Formats: ${C.join(", ")}`),console.log(` Widths: ${X.join(", ")}`)}},async buildStart(){N.imageReferences.clear(),N.processedImages.clear(),N.stats={totalImages:0,optimizedImages:0,savedBytes:0,variants:0}},async transform(H,M){if(M.endsWith(".html")||M.endsWith(".stx")){let V=f(H);for(let $ of V)N.imageReferences.add($)}if(H.includes("<Image")||H.includes("@image"))return await l(H,{formats:C,widths:X,quality:Z,placeholder:R,outputDir:G,baseUrl:J,processedImages:N.processedImages});return H},async buildEnd(H){if(!await B())return;await W.promises.mkdir(G,{recursive:!0});let V=[];for(let O of j){if(!W.existsSync(O))continue;let Y=await x(O);V.push(...Y)}let $=E?V.filter((O)=>d(O,N.imageReferences)):V;if(N.stats.totalImages=$.length,Q)console.log(`[stx-images] Processing ${$.length} images...`);let I=A($,z);for(let O of I)await Promise.all(O.map(async(Y)=>{try{let q=await _(Y,{formats:C,widths:X,quality:Z,placeholder:R,outputDir:G,baseUrl:J});N.processedImages.set(Y,q),N.stats.optimizedImages++,N.stats.variants+=q.variants.length;let D=W.statSync(Y).size,P=y(q.variants);if(N.stats.savedBytes+=Math.max(0,D-P/q.variants.length),Q)console.log(` \u2713 ${L.basename(Y)} \u2192 ${q.variants.length} variants`)}catch(q){console.error(`[stx-images] Error processing ${Y}:`,q)}}));if(console.log("[stx-images] Optimization complete:"),console.log(` Images: ${N.stats.optimizedImages}/${N.stats.totalImages}`),console.log(` Variants: ${N.stats.variants}`),N.stats.savedBytes>0)console.log(` Saved: ~${T(N.stats.savedBytes)}`)}}}function f(K){let j=[],G=/src=["']([^"']+\.(jpg|jpeg|png|webp|avif|gif))["']/gi,J;while((J=G.exec(K))!==null)j.push(J[1]);let C=/<Image[^>]+src=["']([^"']+)["']/gi;while((J=C.exec(K))!==null)j.push(J[1]);let X=/@image\s*\(\s*['"]([^'"]+)['"]/gi;while((J=X.exec(K))!==null)j.push(J[1]);let Z=/background(?:-image)?:\s*url\(["']?([^"')]+\.(jpg|jpeg|png|webp|avif|gif))["']?\)/gi;while((J=Z.exec(K))!==null)j.push(J[1]);return j}function d(K,j){let G=L.basename(K);for(let J of j)if(J.endsWith(G)||J.includes(G))return!0;return!1}async function l(K,j){return K}async function x(K){let j=[];async function G(J){let C=await W.promises.readdir(J,{withFileTypes:!0});for(let X of C){let Z=L.join(J,X.name);if(X.isDirectory())await G(Z);else if(X.isFile()&&k(Z))j.push(Z)}}return await G(K),j}function A(K,j){let G=[];for(let J=0;J<K.length;J+=j)G.push(K.slice(J,J+j));return G}async function n(K,j,G={}){if(!await B())throw Error("No image backend available \u2014 install sharp or ensure ts-images is bundled");return _(K,{...G,outputDir:j})}async function o(K,j,G={}){let{formats:J=v,widths:C=F,quality:X=S,placeholder:Z="none",concurrency:R=4,verbose:z=!1}=G;if(!await B())throw Error("No image backend available \u2014 install sharp or ensure ts-images is bundled");await W.promises.mkdir(j,{recursive:!0});let w=await x(K),E=[],Q={totalImages:w.length,optimizedImages:0,savedBytes:0,variants:0},N=A(w,R);for(let H of N){let M=await Promise.all(H.map(async(V)=>{try{let $=await _(V,{formats:J,widths:C,quality:X,placeholder:Z,outputDir:j,baseUrl:"/"});if(Q.optimizedImages++,Q.variants+=$.variants.length,z)console.log(` \u2713 ${L.basename(V)}`);return $}catch($){return console.error(`Error processing ${V}:`,$),null}}));E.push(...M.filter((V)=>V!==null))}return{processed:E,stats:Q}}function p(K){let j={};for(let G of K)j[G.src]={variants:G.variants,placeholder:G.placeholder};return j}async function c(K,j){let G=p(K);await Bun.write(j,JSON.stringify(G,null,2))}
3
- export{m as Em,n as Fm,o as Gm,p as Hm,c as Im};
@@ -1,34 +0,0 @@
1
- // @bun
2
- import{Mm as T,Nm as b,Om as v,Um as n,Vm as I,Wm as d,Xm as c,Zm as w}from"./chunk-4d2y57k7.js";function GG(K,B={}){let{src:X,alt:G,width:x,height:Z,sizes:q="100vw",loading:$="lazy",priority:O=!1,quality:W=v,placeholder:J="none",formats:Y=b,widths:M=T,decoding:C="async",fetchpriority:k,objectFit:U,objectPosition:D}=K,Q=K.class,E=K.style,{processedImage:P,variants:_,optimize:H=!0,isDev:R=!1}=B;if(_&&_.length>0)return p(K,_,P);if(R||!H)return s(K);return r(K)}function p(K,B,X){let{src:G,alt:x,width:Z,height:q,sizes:$="100vw",loading:O="lazy",priority:W=!1,decoding:J="async",fetchpriority:Y,objectFit:M,objectPosition:C,placeholder:k="none"}=K,U=K.class,D=K.style,Q=c(B),E=d(B),P=typeof $==="object"?I($):$,_=X?X.aspectRatio:Z&&q?Number(Z)/Number(q):void 0,H=[];if(_)H.push(`aspect-ratio: ${_}`);if(M)H.push(`object-fit: ${M}`);if(C)H.push(`object-position: ${C}`);if(D)H.push(D);let R=H.length>0?` style="${H.join("; ")}"`:"",z=U?` class="${U}"`:"",j=W?"":` loading="${O}"`,S=` decoding="${J}"`,L=Y?` fetchpriority="${Y}"`:W?' fetchpriority="high"':"",y=["avif","webp","jpeg","png"],A=[];for(let N of y){let V=Q.get(N);if(V&&V.length>0){let F=n(V),o=w(N);A.push(` <source type="${o}" srcset="${F}" sizes="${P}" />`)}}let g="",m="",f;if(k!=="none"&&X?.placeholder){let N=`img-${Math.random().toString(36).slice(2,8)}`;if(g=`<div class="stx-image-wrapper" id="${N}">`,m="</div>",k==="blur")f=`
3
- #${N} {
4
- position: relative;
5
- background-image: url('${X.placeholder}');
6
- background-size: cover;
7
- background-position: center;
8
- }
9
- #${N} img {
10
- transition: opacity 0.3s ease;
11
- }
12
- #${N}.loaded img {
13
- opacity: 1;
14
- }
15
- `.trim();else if(k==="color")f=`
16
- #${N} {
17
- background-color: ${X.placeholder};
18
- }
19
- `.trim()}let l=Z?` width="${Z}"`:X?` width="${X.width}"`:"",i=q?` height="${q}"`:X?` height="${X.height}"`:"",a=`${g}<picture>
20
- ${A.join(`
21
- `)}
22
- <img
23
- src="${E?.url||G}"
24
- alt="${u(x)}"${l}${i}${z}${R}${j}${S}${L}
25
- />
26
- </picture>${m}`,h;if(W&&E){let N=Q.get("webp"),V=N?.[Math.floor(N.length/2)]||E,F=w(V.format);h=`<link rel="preload" as="image" href="${V.url}" type="${F}" />`}return{html:a,preloadLink:h,placeholderCss:f}}function s(K){let{src:B,alt:X,width:G,height:x,loading:Z="lazy",decoding:q="async",priority:$=!1,fetchpriority:O,objectFit:W,objectPosition:J}=K,Y=K.class,M=K.style,C=[];if(W)C.push(`object-fit: ${W}`);if(J)C.push(`object-position: ${J}`);if(M)C.push(M);let k=C.length>0?` style="${C.join("; ")}"`:"",U=Y?` class="${Y}"`:"",D=G?` width="${G}"`:"",Q=x?` height="${x}"`:"",E=$?"":` loading="${Z}"`,P=` decoding="${q}"`,_=O?` fetchpriority="${O}"`:$?' fetchpriority="high"':"";return{html:`<img src="${B}" alt="${u(X)}"${D}${Q}${U}${k}${E}${P}${_} />`}}function r(K){let{src:B,alt:X,width:G,height:x,sizes:Z="100vw",loading:q="lazy",priority:$=!1,quality:O=v,formats:W=b,widths:J=T,decoding:Y="async",fetchpriority:M,objectFit:C,objectPosition:k}=K,U=K.class,D=K.style,Q=[];if(C)Q.push(`object-fit: ${C}`);if(k)Q.push(`object-position: ${k}`);if(D)Q.push(D);let E=Q.length>0?` style="${Q.join("; ")}"`:"",P=U?` class="${U}"`:"",_=G?` width="${G}"`:"",H=x?` height="${x}"`:"",R=$?"":` loading="${q}"`,z=` decoding="${Y}"`,j=M?` fetchpriority="${M}"`:$?' fetchpriority="high"':"",S=typeof Z==="object"?I(Z):Z,L=`
27
- data-stx-image
28
- data-src="${B}"
29
- data-sizes="${S}"
30
- data-quality="${O}"
31
- data-formats="${W.join(",")}"
32
- data-widths="${J.join(",")}"
33
- `.replace(/\s+/g," ").trim();return{html:`<img src="${B}" alt="${u(X)}"${_}${H}${P}${E}${R}${z}${j} ${L} />`}}function t(K){let B=K.match(/<Image\s+([^>]*?)\/?>/);if(!B)return null;let X=B[1],G={},x=/(\w+)(?:=(?:"([^"]*)"|'([^']*)'|(\{[^}]+\})))?/g,Z;while((Z=x.exec(X))!==null){let[,q,$,O,W]=Z,J=$??O??W??!0;switch(q){case"src":G.src=String(J);break;case"alt":G.alt=String(J);break;case"width":G.width=Number(J)||J;break;case"height":G.height=Number(J)||J;break;case"sizes":G.sizes=String(J);break;case"loading":G.loading=J;break;case"priority":G.priority=J===!0||J==="true";break;case"quality":G.quality=Number(J);break;case"placeholder":G.placeholder=J;break;case"class":G.class=String(J);break;case"style":G.style=String(J);break;case"decoding":G.decoding=J;break;case"fetchpriority":G.fetchpriority=J;break;case"objectFit":G.objectFit=J;break;case"objectPosition":G.objectPosition=String(J);break}}if(!G.src||!G.alt)return null;return G}async function JG(K,B){let X=/<Image\s+[^>]*?\/?>/g,G=[],x=[],Z=K,q,$=[];while((q=X.exec(K))!==null)$.push({match:q[0],index:q.index});for(let O=$.length-1;O>=0;O--){let{match:W}=$[O],J=t(W);if(J){let Y=await B(J);if(Z=Z.replace(W,Y.html),Y.preloadLink)G.push(Y.preloadLink);if(Y.placeholderCss)x.push(Y.placeholderCss)}}return{html:Z,preloadLinks:G,styles:x}}function u(K){return K.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}
34
- export{GG as Jm,t as Km,JG as Lm};